# Third-party notices

Original pi-dingtalk code is distributed under the MIT license in LICENSE. Third-party portions retain the notices below. No OpenClaw runtime is bundled.

## soimy/openclaw-channel-dingtalk

Fixed source: version 3.8.1, commit `8a73a59fd8513a89e5f2219adaec61c7c4ceab9a`.
`src/transport/text-api.mjs` adapts OAuth and group-send payload shapes from platform/auth.ts and messaging/send-service.ts. Lifecycle, session routing, journals and execution are implemented independently.
`src/card-chunker.mjs` reuses our previously validated adaptation of shared/message-chunker.ts. `src/card-output.mjs` reuses our validated DingTalkApi createCard/streamCard V2 payload and final-state blockList contract, originally derived from card/card-service.ts and card/card-callback-service.ts. The fixed V2 template is `675cde2f-f526-40cb-b828-f5b2b57b8b77.schema`; Pi journal/lifecycle integration is independent.
`src/form-card.mjs` and `src/transport/form-api.mjs` reuse the original validated form contract adapted from card/ask-user-question.ts: fixed template c2a6355b-9724-4f7e-9653-d33fcb3311bb.schema, typed field rendering/decoding, and metadata-only completion updates. Actor/space/account/original-tool guards are our independent Pi integration; no OpenClaw lifecycle is imported.
`src/transport/text-api.mjs` also reuses the validated multipart image upload and native sampleImageMsg payloads from messaging/media-utils.ts and messaging/send-service.ts. `src/image-output-boundary.mjs` reuses our verified local MediaBoundary; lifecycle, account locking and ImageOutbox effects remain independent Pi code. Only PNG/JPEG image sending is connected, not audio/video or image generation.
Original Pi source also adapts the verified file multipart/type=file and sampleFile native payloads from the same media implementations. File storage, source-scoped artifact tooling, quote cache and effect journals are independently authored. Image generation is delegated to the user's host tools; the package does not include an image-generation client or SVG renderer.
Copyright (c) 2026 YM Shen and contributors. MIT license: licenses/soimy-MIT.txt.

## dingtalk-stream

Pinned dependency: dingtalk-stream 2.1.5 (package metadata v2.1.5).
Uses the official subscription registry, SYSTEM handling and callback ACK protocol. Our RobotStream owns endpoint/socket lifecycle instead of invoking the SDK's uncontrolled connection retry timers.
Copyright (c) 2023 钉钉开放平台团队. MIT license: licenses/dingtalk-stream-MIT.txt.

## ws

Pinned dependency: ws 8.22.0. Uses the WebSocket client, TLS validation and socket close events.
Copyright (c) 2011 Einar Otto Stangvik; (c) 2013 Arnout Kazemier and contributors; (c) 2016 Luigi Pinca and contributors. MIT license: licenses/ws-MIT.txt.

Dependencies are not vendored into the extension source. Their own license notices must remain with installed dependencies. Existing SDK/AI modules are host-provided peer dependencies, not bundled copies.
