@larksuite/openclaw-lark 2026.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +10 -0
- package/README.md +283 -0
- package/index.d.ts +37 -0
- package/index.d.ts.map +1 -0
- package/index.js +119 -0
- package/index.js.map +1 -0
- package/openclaw.plugin.json +10 -0
- package/package.json +47 -0
- package/skills/feishu-bitable/SKILL.md +248 -0
- package/skills/feishu-bitable/references/examples.md +813 -0
- package/skills/feishu-bitable/references/field-properties.md +763 -0
- package/skills/feishu-bitable/references/record-values.md +911 -0
- package/skills/feishu-calendar/SKILL.md +244 -0
- package/skills/feishu-channel-rules/SKILL.md +18 -0
- package/skills/feishu-channel-rules/references/markdown-syntax.md +138 -0
- package/skills/feishu-create-doc/SKILL.md +719 -0
- package/skills/feishu-fetch-doc/SKILL.md +93 -0
- package/skills/feishu-im-read/SKILL.md +163 -0
- package/skills/feishu-task/SKILL.md +293 -0
- package/skills/feishu-troubleshoot/SKILL.md +70 -0
- package/skills/feishu-update-doc/SKILL.md +285 -0
- package/src/card/builder.d.ts +100 -0
- package/src/card/builder.d.ts.map +1 -0
- package/src/card/builder.js +381 -0
- package/src/card/builder.js.map +1 -0
- package/src/card/cardkit.d.ts +91 -0
- package/src/card/cardkit.d.ts.map +1 -0
- package/src/card/cardkit.js +182 -0
- package/src/card/cardkit.js.map +1 -0
- package/src/card/flush-controller.d.ts +46 -0
- package/src/card/flush-controller.d.ts.map +1 -0
- package/src/card/flush-controller.js +135 -0
- package/src/card/flush-controller.js.map +1 -0
- package/src/card/markdown-style.d.ts +17 -0
- package/src/card/markdown-style.d.ts.map +1 -0
- package/src/card/markdown-style.js +98 -0
- package/src/card/markdown-style.js.map +1 -0
- package/src/card/reply-dispatcher-types.d.ts +121 -0
- package/src/card/reply-dispatcher-types.d.ts.map +1 -0
- package/src/card/reply-dispatcher-types.js +58 -0
- package/src/card/reply-dispatcher-types.js.map +1 -0
- package/src/card/reply-dispatcher.d.ts +16 -0
- package/src/card/reply-dispatcher.d.ts.map +1 -0
- package/src/card/reply-dispatcher.js +293 -0
- package/src/card/reply-dispatcher.js.map +1 -0
- package/src/card/reply-mode.d.ts +39 -0
- package/src/card/reply-mode.d.ts.map +1 -0
- package/src/card/reply-mode.js +66 -0
- package/src/card/reply-mode.js.map +1 -0
- package/src/card/streaming-card-controller.d.ts +88 -0
- package/src/card/streaming-card-controller.d.ts.map +1 -0
- package/src/card/streaming-card-controller.js +717 -0
- package/src/card/streaming-card-controller.js.map +1 -0
- package/src/card/unavailable-guard.d.ts +36 -0
- package/src/card/unavailable-guard.d.ts.map +1 -0
- package/src/card/unavailable-guard.js +84 -0
- package/src/card/unavailable-guard.js.map +1 -0
- package/src/channel/abort-detect.d.ts +35 -0
- package/src/channel/abort-detect.d.ts.map +1 -0
- package/src/channel/abort-detect.js +125 -0
- package/src/channel/abort-detect.js.map +1 -0
- package/src/channel/chat-queue.d.ts +42 -0
- package/src/channel/chat-queue.d.ts.map +1 -0
- package/src/channel/chat-queue.js +59 -0
- package/src/channel/chat-queue.js.map +1 -0
- package/src/channel/config-adapter.d.ts +24 -0
- package/src/channel/config-adapter.d.ts.map +1 -0
- package/src/channel/config-adapter.js +102 -0
- package/src/channel/config-adapter.js.map +1 -0
- package/src/channel/directory.d.ts +58 -0
- package/src/channel/directory.d.ts.map +1 -0
- package/src/channel/directory.js +192 -0
- package/src/channel/directory.js.map +1 -0
- package/src/channel/event-handlers.d.ts +16 -0
- package/src/channel/event-handlers.d.ts.map +1 -0
- package/src/channel/event-handlers.js +222 -0
- package/src/channel/event-handlers.js.map +1 -0
- package/src/channel/monitor.d.ts +18 -0
- package/src/channel/monitor.d.ts.map +1 -0
- package/src/channel/monitor.js +128 -0
- package/src/channel/monitor.js.map +1 -0
- package/src/channel/onboarding-config.d.ts +18 -0
- package/src/channel/onboarding-config.d.ts.map +1 -0
- package/src/channel/onboarding-config.js +89 -0
- package/src/channel/onboarding-config.js.map +1 -0
- package/src/channel/onboarding-migrate.d.ts +26 -0
- package/src/channel/onboarding-migrate.d.ts.map +1 -0
- package/src/channel/onboarding-migrate.js +68 -0
- package/src/channel/onboarding-migrate.js.map +1 -0
- package/src/channel/onboarding.d.ts +13 -0
- package/src/channel/onboarding.d.ts.map +1 -0
- package/src/channel/onboarding.js +297 -0
- package/src/channel/onboarding.js.map +1 -0
- package/src/channel/plugin.d.ts +14 -0
- package/src/channel/plugin.d.ts.map +1 -0
- package/src/channel/plugin.js +279 -0
- package/src/channel/plugin.js.map +1 -0
- package/src/channel/probe.d.ts +15 -0
- package/src/channel/probe.d.ts.map +1 -0
- package/src/channel/probe.js +22 -0
- package/src/channel/probe.js.map +1 -0
- package/src/channel/types.d.ts +37 -0
- package/src/channel/types.d.ts.map +1 -0
- package/src/channel/types.js +8 -0
- package/src/channel/types.js.map +1 -0
- package/src/commands/auth.d.ts +16 -0
- package/src/commands/auth.d.ts.map +1 -0
- package/src/commands/auth.js +85 -0
- package/src/commands/auth.js.map +1 -0
- package/src/commands/diagnose.d.ts +70 -0
- package/src/commands/diagnose.d.ts.map +1 -0
- package/src/commands/diagnose.js +808 -0
- package/src/commands/diagnose.js.map +1 -0
- package/src/commands/doctor.d.ts +18 -0
- package/src/commands/doctor.d.ts.map +1 -0
- package/src/commands/doctor.js +439 -0
- package/src/commands/doctor.js.map +1 -0
- package/src/commands/index.d.ts +9 -0
- package/src/commands/index.d.ts.map +1 -0
- package/src/commands/index.js +208 -0
- package/src/commands/index.js.map +1 -0
- package/src/core/accounts.d.ts +38 -0
- package/src/core/accounts.d.ts.map +1 -0
- package/src/core/accounts.js +179 -0
- package/src/core/accounts.js.map +1 -0
- package/src/core/agent-config.d.ts +101 -0
- package/src/core/agent-config.d.ts.map +1 -0
- package/src/core/agent-config.js +140 -0
- package/src/core/agent-config.js.map +1 -0
- package/src/core/api-error.d.ts +49 -0
- package/src/core/api-error.d.ts.map +1 -0
- package/src/core/api-error.js +113 -0
- package/src/core/api-error.js.map +1 -0
- package/src/core/app-owner-fallback.d.ts +22 -0
- package/src/core/app-owner-fallback.d.ts.map +1 -0
- package/src/core/app-owner-fallback.js +39 -0
- package/src/core/app-owner-fallback.js.map +1 -0
- package/src/core/app-scope-checker.d.ts +88 -0
- package/src/core/app-scope-checker.d.ts.map +1 -0
- package/src/core/app-scope-checker.js +191 -0
- package/src/core/app-scope-checker.js.map +1 -0
- package/src/core/auth-errors.d.ts +143 -0
- package/src/core/auth-errors.d.ts.map +1 -0
- package/src/core/auth-errors.js +156 -0
- package/src/core/auth-errors.js.map +1 -0
- package/src/core/chat-info-cache.d.ts +58 -0
- package/src/core/chat-info-cache.d.ts.map +1 -0
- package/src/core/chat-info-cache.js +153 -0
- package/src/core/chat-info-cache.js.map +1 -0
- package/src/core/config-schema.d.ts +449 -0
- package/src/core/config-schema.d.ts.map +1 -0
- package/src/core/config-schema.js +201 -0
- package/src/core/config-schema.js.map +1 -0
- package/src/core/device-flow.d.ts +78 -0
- package/src/core/device-flow.d.ts.map +1 -0
- package/src/core/device-flow.js +213 -0
- package/src/core/device-flow.js.map +1 -0
- package/src/core/feishu-fetch.d.ts +19 -0
- package/src/core/feishu-fetch.d.ts.map +1 -0
- package/src/core/feishu-fetch.js +26 -0
- package/src/core/feishu-fetch.js.map +1 -0
- package/src/core/footer-config.d.ts +25 -0
- package/src/core/footer-config.d.ts.map +1 -0
- package/src/core/footer-config.js +40 -0
- package/src/core/footer-config.js.map +1 -0
- package/src/core/lark-client.d.ts +109 -0
- package/src/core/lark-client.d.ts.map +1 -0
- package/src/core/lark-client.js +354 -0
- package/src/core/lark-client.js.map +1 -0
- package/src/core/lark-logger.d.ts +24 -0
- package/src/core/lark-logger.d.ts.map +1 -0
- package/src/core/lark-logger.js +155 -0
- package/src/core/lark-logger.js.map +1 -0
- package/src/core/lark-ticket.d.ts +30 -0
- package/src/core/lark-ticket.d.ts.map +1 -0
- package/src/core/lark-ticket.js +36 -0
- package/src/core/lark-ticket.js.map +1 -0
- package/src/core/message-unavailable.d.ts +54 -0
- package/src/core/message-unavailable.d.ts.map +1 -0
- package/src/core/message-unavailable.js +131 -0
- package/src/core/message-unavailable.js.map +1 -0
- package/src/core/owner-policy.d.ts +32 -0
- package/src/core/owner-policy.d.ts.map +1 -0
- package/src/core/owner-policy.js +53 -0
- package/src/core/owner-policy.js.map +1 -0
- package/src/core/permission-url.d.ts +23 -0
- package/src/core/permission-url.d.ts.map +1 -0
- package/src/core/permission-url.js +73 -0
- package/src/core/permission-url.js.map +1 -0
- package/src/core/raw-request.d.ts +28 -0
- package/src/core/raw-request.d.ts.map +1 -0
- package/src/core/raw-request.js +63 -0
- package/src/core/raw-request.js.map +1 -0
- package/src/core/scope-manager.d.ts +169 -0
- package/src/core/scope-manager.d.ts.map +1 -0
- package/src/core/scope-manager.js +214 -0
- package/src/core/scope-manager.js.map +1 -0
- package/src/core/security-check.d.ts +73 -0
- package/src/core/security-check.d.ts.map +1 -0
- package/src/core/security-check.js +175 -0
- package/src/core/security-check.js.map +1 -0
- package/src/core/shutdown-hooks.d.ts +23 -0
- package/src/core/shutdown-hooks.d.ts.map +1 -0
- package/src/core/shutdown-hooks.js +57 -0
- package/src/core/shutdown-hooks.js.map +1 -0
- package/src/core/targets.d.ts +50 -0
- package/src/core/targets.d.ts.map +1 -0
- package/src/core/targets.js +128 -0
- package/src/core/targets.js.map +1 -0
- package/src/core/token-store.d.ts +55 -0
- package/src/core/token-store.d.ts.map +1 -0
- package/src/core/token-store.js +315 -0
- package/src/core/token-store.js.map +1 -0
- package/src/core/tool-client.d.ts +177 -0
- package/src/core/tool-client.d.ts.map +1 -0
- package/src/core/tool-client.js +381 -0
- package/src/core/tool-client.js.map +1 -0
- package/src/core/tool-scopes.d.ts +154 -0
- package/src/core/tool-scopes.d.ts.map +1 -0
- package/src/core/tool-scopes.js +326 -0
- package/src/core/tool-scopes.js.map +1 -0
- package/src/core/tools-config.d.ts +35 -0
- package/src/core/tools-config.d.ts.map +1 -0
- package/src/core/tools-config.js +88 -0
- package/src/core/tools-config.js.map +1 -0
- package/src/core/types.d.ts +88 -0
- package/src/core/types.d.ts.map +1 -0
- package/src/core/types.js +12 -0
- package/src/core/types.js.map +1 -0
- package/src/core/uat-client.d.ts +47 -0
- package/src/core/uat-client.d.ts.map +1 -0
- package/src/core/uat-client.js +173 -0
- package/src/core/uat-client.js.map +1 -0
- package/src/core/version.d.ts +26 -0
- package/src/core/version.d.ts.map +1 -0
- package/src/core/version.js +50 -0
- package/src/core/version.js.map +1 -0
- package/src/messaging/converters/audio.d.ts +9 -0
- package/src/messaging/converters/audio.d.ts.map +1 -0
- package/src/messaging/converters/audio.js +22 -0
- package/src/messaging/converters/audio.js.map +1 -0
- package/src/messaging/converters/calendar.d.ts +14 -0
- package/src/messaging/converters/calendar.d.ts.map +1 -0
- package/src/messaging/converters/calendar.js +51 -0
- package/src/messaging/converters/calendar.js.map +1 -0
- package/src/messaging/converters/content-converter.d.ts +42 -0
- package/src/messaging/converters/content-converter.d.ts.map +1 -0
- package/src/messaging/converters/content-converter.js +107 -0
- package/src/messaging/converters/content-converter.js.map +1 -0
- package/src/messaging/converters/file.d.ts +9 -0
- package/src/messaging/converters/file.d.ts.map +1 -0
- package/src/messaging/converters/file.js +21 -0
- package/src/messaging/converters/file.js.map +1 -0
- package/src/messaging/converters/folder.d.ts +9 -0
- package/src/messaging/converters/folder.d.ts.map +1 -0
- package/src/messaging/converters/folder.js +21 -0
- package/src/messaging/converters/folder.js.map +1 -0
- package/src/messaging/converters/hongbao.d.ts +9 -0
- package/src/messaging/converters/hongbao.d.ts.map +1 -0
- package/src/messaging/converters/hongbao.js +17 -0
- package/src/messaging/converters/hongbao.js.map +1 -0
- package/src/messaging/converters/image.d.ts +9 -0
- package/src/messaging/converters/image.d.ts.map +1 -0
- package/src/messaging/converters/image.js +19 -0
- package/src/messaging/converters/image.js.map +1 -0
- package/src/messaging/converters/index.d.ts +9 -0
- package/src/messaging/converters/index.d.ts.map +1 -0
- package/src/messaging/converters/index.js +51 -0
- package/src/messaging/converters/index.js.map +1 -0
- package/src/messaging/converters/interactive/card-converter.d.ts +77 -0
- package/src/messaging/converters/interactive/card-converter.d.ts.map +1 -0
- package/src/messaging/converters/interactive/card-converter.js +1174 -0
- package/src/messaging/converters/interactive/card-converter.js.map +1 -0
- package/src/messaging/converters/interactive/card-utils.d.ts +10 -0
- package/src/messaging/converters/interactive/card-utils.d.ts.map +1 -0
- package/src/messaging/converters/interactive/card-utils.js +43 -0
- package/src/messaging/converters/interactive/card-utils.js.map +1 -0
- package/src/messaging/converters/interactive/index.d.ts +9 -0
- package/src/messaging/converters/interactive/index.d.ts.map +1 -0
- package/src/messaging/converters/interactive/index.js +22 -0
- package/src/messaging/converters/interactive/index.js.map +1 -0
- package/src/messaging/converters/interactive/legacy.d.ts +12 -0
- package/src/messaging/converters/interactive/legacy.d.ts.map +1 -0
- package/src/messaging/converters/interactive/legacy.js +58 -0
- package/src/messaging/converters/interactive/legacy.js.map +1 -0
- package/src/messaging/converters/interactive/types.d.ts +24 -0
- package/src/messaging/converters/interactive/types.d.ts.map +1 -0
- package/src/messaging/converters/interactive/types.js +25 -0
- package/src/messaging/converters/interactive/types.js.map +1 -0
- package/src/messaging/converters/location.d.ts +9 -0
- package/src/messaging/converters/location.d.ts.map +1 -0
- package/src/messaging/converters/location.js +20 -0
- package/src/messaging/converters/location.js.map +1 -0
- package/src/messaging/converters/merge-forward.d.ts +33 -0
- package/src/messaging/converters/merge-forward.d.ts.map +1 -0
- package/src/messaging/converters/merge-forward.js +226 -0
- package/src/messaging/converters/merge-forward.js.map +1 -0
- package/src/messaging/converters/post.d.ts +12 -0
- package/src/messaging/converters/post.d.ts.map +1 -0
- package/src/messaging/converters/post.js +136 -0
- package/src/messaging/converters/post.js.map +1 -0
- package/src/messaging/converters/share.d.ts +10 -0
- package/src/messaging/converters/share.d.ts.map +1 -0
- package/src/messaging/converters/share.js +24 -0
- package/src/messaging/converters/share.js.map +1 -0
- package/src/messaging/converters/sticker.d.ts +9 -0
- package/src/messaging/converters/sticker.d.ts.map +1 -0
- package/src/messaging/converters/sticker.js +19 -0
- package/src/messaging/converters/sticker.js.map +1 -0
- package/src/messaging/converters/system.d.ts +13 -0
- package/src/messaging/converters/system.d.ts.map +1 -0
- package/src/messaging/converters/system.js +33 -0
- package/src/messaging/converters/system.js.map +1 -0
- package/src/messaging/converters/text.d.ts +9 -0
- package/src/messaging/converters/text.d.ts.map +1 -0
- package/src/messaging/converters/text.js +15 -0
- package/src/messaging/converters/text.js.map +1 -0
- package/src/messaging/converters/todo.d.ts +9 -0
- package/src/messaging/converters/todo.d.ts.map +1 -0
- package/src/messaging/converters/todo.js +42 -0
- package/src/messaging/converters/todo.js.map +1 -0
- package/src/messaging/converters/types.d.ts +108 -0
- package/src/messaging/converters/types.d.ts.map +1 -0
- package/src/messaging/converters/types.js +8 -0
- package/src/messaging/converters/types.js.map +1 -0
- package/src/messaging/converters/unknown.d.ts +9 -0
- package/src/messaging/converters/unknown.d.ts.map +1 -0
- package/src/messaging/converters/unknown.js +17 -0
- package/src/messaging/converters/unknown.js.map +1 -0
- package/src/messaging/converters/utils.d.ts +23 -0
- package/src/messaging/converters/utils.d.ts.map +1 -0
- package/src/messaging/converters/utils.js +52 -0
- package/src/messaging/converters/utils.js.map +1 -0
- package/src/messaging/converters/video-chat.d.ts +9 -0
- package/src/messaging/converters/video-chat.d.ts.map +1 -0
- package/src/messaging/converters/video-chat.js +24 -0
- package/src/messaging/converters/video-chat.js.map +1 -0
- package/src/messaging/converters/video.d.ts +9 -0
- package/src/messaging/converters/video.d.ts.map +1 -0
- package/src/messaging/converters/video.js +33 -0
- package/src/messaging/converters/video.js.map +1 -0
- package/src/messaging/converters/vote.d.ts +9 -0
- package/src/messaging/converters/vote.d.ts.map +1 -0
- package/src/messaging/converters/vote.js +25 -0
- package/src/messaging/converters/vote.js.map +1 -0
- package/src/messaging/inbound/dedup.d.ts +60 -0
- package/src/messaging/inbound/dedup.d.ts.map +1 -0
- package/src/messaging/inbound/dedup.js +117 -0
- package/src/messaging/inbound/dedup.js.map +1 -0
- package/src/messaging/inbound/dispatch-builders.d.ts +84 -0
- package/src/messaging/inbound/dispatch-builders.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch-builders.js +153 -0
- package/src/messaging/inbound/dispatch-builders.js.map +1 -0
- package/src/messaging/inbound/dispatch-commands.d.ts +28 -0
- package/src/messaging/inbound/dispatch-commands.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch-commands.js +113 -0
- package/src/messaging/inbound/dispatch-commands.js.map +1 -0
- package/src/messaging/inbound/dispatch-context.d.ts +68 -0
- package/src/messaging/inbound/dispatch-context.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch-context.js +137 -0
- package/src/messaging/inbound/dispatch-context.js.map +1 -0
- package/src/messaging/inbound/dispatch.d.ts +48 -0
- package/src/messaging/inbound/dispatch.d.ts.map +1 -0
- package/src/messaging/inbound/dispatch.js +193 -0
- package/src/messaging/inbound/dispatch.js.map +1 -0
- package/src/messaging/inbound/enrich.d.ts +103 -0
- package/src/messaging/inbound/enrich.d.ts.map +1 -0
- package/src/messaging/inbound/enrich.js +228 -0
- package/src/messaging/inbound/enrich.js.map +1 -0
- package/src/messaging/inbound/gate-effects.d.ts +24 -0
- package/src/messaging/inbound/gate-effects.d.ts.map +1 -0
- package/src/messaging/inbound/gate-effects.js +44 -0
- package/src/messaging/inbound/gate-effects.js.map +1 -0
- package/src/messaging/inbound/gate.d.ts +61 -0
- package/src/messaging/inbound/gate.d.ts.map +1 -0
- package/src/messaging/inbound/gate.js +234 -0
- package/src/messaging/inbound/gate.js.map +1 -0
- package/src/messaging/inbound/handler.d.ts +36 -0
- package/src/messaging/inbound/handler.d.ts.map +1 -0
- package/src/messaging/inbound/handler.js +174 -0
- package/src/messaging/inbound/handler.js.map +1 -0
- package/src/messaging/inbound/media-resolver.d.ts +33 -0
- package/src/messaging/inbound/media-resolver.d.ts.map +1 -0
- package/src/messaging/inbound/media-resolver.js +88 -0
- package/src/messaging/inbound/media-resolver.js.map +1 -0
- package/src/messaging/inbound/mention.d.ts +40 -0
- package/src/messaging/inbound/mention.d.ts.map +1 -0
- package/src/messaging/inbound/mention.js +82 -0
- package/src/messaging/inbound/mention.js.map +1 -0
- package/src/messaging/inbound/parse-io.d.ts +51 -0
- package/src/messaging/inbound/parse-io.d.ts.map +1 -0
- package/src/messaging/inbound/parse-io.js +82 -0
- package/src/messaging/inbound/parse-io.js.map +1 -0
- package/src/messaging/inbound/parse.d.ts +29 -0
- package/src/messaging/inbound/parse.d.ts.map +1 -0
- package/src/messaging/inbound/parse.js +107 -0
- package/src/messaging/inbound/parse.js.map +1 -0
- package/src/messaging/inbound/permission.d.ts +18 -0
- package/src/messaging/inbound/permission.d.ts.map +1 -0
- package/src/messaging/inbound/permission.js +41 -0
- package/src/messaging/inbound/permission.js.map +1 -0
- package/src/messaging/inbound/policy.d.ts +95 -0
- package/src/messaging/inbound/policy.d.ts.map +1 -0
- package/src/messaging/inbound/policy.js +161 -0
- package/src/messaging/inbound/policy.js.map +1 -0
- package/src/messaging/inbound/reaction-handler.d.ts +62 -0
- package/src/messaging/inbound/reaction-handler.d.ts.map +1 -0
- package/src/messaging/inbound/reaction-handler.js +221 -0
- package/src/messaging/inbound/reaction-handler.js.map +1 -0
- package/src/messaging/inbound/user-name-cache.d.ts +83 -0
- package/src/messaging/inbound/user-name-cache.d.ts.map +1 -0
- package/src/messaging/inbound/user-name-cache.js +242 -0
- package/src/messaging/inbound/user-name-cache.js.map +1 -0
- package/src/messaging/outbound/actions.d.ts +17 -0
- package/src/messaging/outbound/actions.d.ts.map +1 -0
- package/src/messaging/outbound/actions.js +310 -0
- package/src/messaging/outbound/actions.js.map +1 -0
- package/src/messaging/outbound/chat-manage.d.ts +65 -0
- package/src/messaging/outbound/chat-manage.d.ts.map +1 -0
- package/src/messaging/outbound/chat-manage.js +112 -0
- package/src/messaging/outbound/chat-manage.js.map +1 -0
- package/src/messaging/outbound/deliver.d.ts +156 -0
- package/src/messaging/outbound/deliver.d.ts.map +1 -0
- package/src/messaging/outbound/deliver.js +299 -0
- package/src/messaging/outbound/deliver.js.map +1 -0
- package/src/messaging/outbound/fetch.d.ts +13 -0
- package/src/messaging/outbound/fetch.d.ts.map +1 -0
- package/src/messaging/outbound/fetch.js +13 -0
- package/src/messaging/outbound/fetch.js.map +1 -0
- package/src/messaging/outbound/forward.d.ts +27 -0
- package/src/messaging/outbound/forward.d.ts.map +1 -0
- package/src/messaging/outbound/forward.js +49 -0
- package/src/messaging/outbound/forward.js.map +1 -0
- package/src/messaging/outbound/media-url-utils.d.ts +30 -0
- package/src/messaging/outbound/media-url-utils.d.ts.map +1 -0
- package/src/messaging/outbound/media-url-utils.js +131 -0
- package/src/messaging/outbound/media-url-utils.js.map +1 -0
- package/src/messaging/outbound/media.d.ts +256 -0
- package/src/messaging/outbound/media.d.ts.map +1 -0
- package/src/messaging/outbound/media.js +749 -0
- package/src/messaging/outbound/media.js.map +1 -0
- package/src/messaging/outbound/outbound.d.ts +90 -0
- package/src/messaging/outbound/outbound.d.ts.map +1 -0
- package/src/messaging/outbound/outbound.js +112 -0
- package/src/messaging/outbound/outbound.js.map +1 -0
- package/src/messaging/outbound/reactions.d.ts +125 -0
- package/src/messaging/outbound/reactions.d.ts.map +1 -0
- package/src/messaging/outbound/reactions.js +379 -0
- package/src/messaging/outbound/reactions.js.map +1 -0
- package/src/messaging/outbound/send.d.ts +136 -0
- package/src/messaging/outbound/send.d.ts.map +1 -0
- package/src/messaging/outbound/send.js +289 -0
- package/src/messaging/outbound/send.js.map +1 -0
- package/src/messaging/outbound/typing.d.ts +61 -0
- package/src/messaging/outbound/typing.d.ts.map +1 -0
- package/src/messaging/outbound/typing.js +136 -0
- package/src/messaging/outbound/typing.js.map +1 -0
- package/src/messaging/shared/message-lookup.d.ts +55 -0
- package/src/messaging/shared/message-lookup.d.ts.map +1 -0
- package/src/messaging/shared/message-lookup.js +118 -0
- package/src/messaging/shared/message-lookup.js.map +1 -0
- package/src/messaging/types.d.ts +177 -0
- package/src/messaging/types.d.ts.map +1 -0
- package/src/messaging/types.js +11 -0
- package/src/messaging/types.js.map +1 -0
- package/src/tools/auto-auth.d.ts +57 -0
- package/src/tools/auto-auth.d.ts.map +1 -0
- package/src/tools/auto-auth.js +925 -0
- package/src/tools/auto-auth.js.map +1 -0
- package/src/tools/helpers.d.ts +220 -0
- package/src/tools/helpers.d.ts.map +1 -0
- package/src/tools/helpers.js +298 -0
- package/src/tools/helpers.js.map +1 -0
- package/src/tools/mcp/doc/create.d.ts +13 -0
- package/src/tools/mcp/doc/create.d.ts.map +1 -0
- package/src/tools/mcp/doc/create.js +45 -0
- package/src/tools/mcp/doc/create.js.map +1 -0
- package/src/tools/mcp/doc/fetch.d.ts +13 -0
- package/src/tools/mcp/doc/fetch.d.ts.map +1 -0
- package/src/tools/mcp/doc/fetch.js +37 -0
- package/src/tools/mcp/doc/fetch.js.map +1 -0
- package/src/tools/mcp/doc/index.d.ts +13 -0
- package/src/tools/mcp/doc/index.d.ts.map +1 -0
- package/src/tools/mcp/doc/index.js +42 -0
- package/src/tools/mcp/doc/index.js.map +1 -0
- package/src/tools/mcp/doc/update.d.ts +13 -0
- package/src/tools/mcp/doc/update.d.ts.map +1 -0
- package/src/tools/mcp/doc/update.js +62 -0
- package/src/tools/mcp/doc/update.js.map +1 -0
- package/src/tools/mcp/shared.d.ts +58 -0
- package/src/tools/mcp/shared.d.ts.map +1 -0
- package/src/tools/mcp/shared.js +224 -0
- package/src/tools/mcp/shared.js.map +1 -0
- package/src/tools/oapi/bitable/app-table-field.d.ts +17 -0
- package/src/tools/oapi/bitable/app-table-field.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table-field.js +224 -0
- package/src/tools/oapi/bitable/app-table-field.js.map +1 -0
- package/src/tools/oapi/bitable/app-table-record.d.ts +21 -0
- package/src/tools/oapi/bitable/app-table-record.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table-record.js +449 -0
- package/src/tools/oapi/bitable/app-table-record.js.map +1 -0
- package/src/tools/oapi/bitable/app-table-view.d.ts +18 -0
- package/src/tools/oapi/bitable/app-table-view.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table-view.js +197 -0
- package/src/tools/oapi/bitable/app-table-view.js.map +1 -0
- package/src/tools/oapi/bitable/app-table.d.ts +20 -0
- package/src/tools/oapi/bitable/app-table.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app-table.js +249 -0
- package/src/tools/oapi/bitable/app-table.js.map +1 -0
- package/src/tools/oapi/bitable/app.d.ts +19 -0
- package/src/tools/oapi/bitable/app.d.ts.map +1 -0
- package/src/tools/oapi/bitable/app.js +188 -0
- package/src/tools/oapi/bitable/app.js.map +1 -0
- package/src/tools/oapi/bitable/index.d.ts +10 -0
- package/src/tools/oapi/bitable/index.d.ts.map +1 -0
- package/src/tools/oapi/bitable/index.js +10 -0
- package/src/tools/oapi/bitable/index.js.map +1 -0
- package/src/tools/oapi/calendar/calendar.d.ts +16 -0
- package/src/tools/oapi/calendar/calendar.d.ts.map +1 -0
- package/src/tools/oapi/calendar/calendar.js +124 -0
- package/src/tools/oapi/calendar/calendar.js.map +1 -0
- package/src/tools/oapi/calendar/event-attendee.d.ts +17 -0
- package/src/tools/oapi/calendar/event-attendee.d.ts.map +1 -0
- package/src/tools/oapi/calendar/event-attendee.js +275 -0
- package/src/tools/oapi/calendar/event-attendee.js.map +1 -0
- package/src/tools/oapi/calendar/event.d.ts +17 -0
- package/src/tools/oapi/calendar/event.d.ts.map +1 -0
- package/src/tools/oapi/calendar/event.js +721 -0
- package/src/tools/oapi/calendar/event.js.map +1 -0
- package/src/tools/oapi/calendar/freebusy.d.ts +14 -0
- package/src/tools/oapi/calendar/freebusy.d.ts.map +1 -0
- package/src/tools/oapi/calendar/freebusy.js +113 -0
- package/src/tools/oapi/calendar/freebusy.js.map +1 -0
- package/src/tools/oapi/calendar/index.d.ts +9 -0
- package/src/tools/oapi/calendar/index.d.ts.map +1 -0
- package/src/tools/oapi/calendar/index.js +9 -0
- package/src/tools/oapi/calendar/index.js.map +1 -0
- package/src/tools/oapi/chat/chat.d.ts +17 -0
- package/src/tools/oapi/chat/chat.d.ts.map +1 -0
- package/src/tools/oapi/chat/chat.js +126 -0
- package/src/tools/oapi/chat/chat.js.map +1 -0
- package/src/tools/oapi/chat/index.d.ts +11 -0
- package/src/tools/oapi/chat/index.d.ts.map +1 -0
- package/src/tools/oapi/chat/index.js +16 -0
- package/src/tools/oapi/chat/index.js.map +1 -0
- package/src/tools/oapi/chat/members.d.ts +12 -0
- package/src/tools/oapi/chat/members.d.ts.map +1 -0
- package/src/tools/oapi/chat/members.js +83 -0
- package/src/tools/oapi/chat/members.js.map +1 -0
- package/src/tools/oapi/common/get-user.d.ts +13 -0
- package/src/tools/oapi/common/get-user.d.ts.map +1 -0
- package/src/tools/oapi/common/get-user.js +108 -0
- package/src/tools/oapi/common/get-user.js.map +1 -0
- package/src/tools/oapi/common/index.d.ts +7 -0
- package/src/tools/oapi/common/index.d.ts.map +1 -0
- package/src/tools/oapi/common/index.js +7 -0
- package/src/tools/oapi/common/index.js.map +1 -0
- package/src/tools/oapi/common/search-user.d.ts +12 -0
- package/src/tools/oapi/common/search-user.d.ts.map +1 -0
- package/src/tools/oapi/common/search-user.js +75 -0
- package/src/tools/oapi/common/search-user.js.map +1 -0
- package/src/tools/oapi/drive/doc-comments.d.ts +16 -0
- package/src/tools/oapi/drive/doc-comments.d.ts.map +1 -0
- package/src/tools/oapi/drive/doc-comments.js +288 -0
- package/src/tools/oapi/drive/doc-comments.js.map +1 -0
- package/src/tools/oapi/drive/doc-media.d.ts +20 -0
- package/src/tools/oapi/drive/doc-media.d.ts.map +1 -0
- package/src/tools/oapi/drive/doc-media.js +337 -0
- package/src/tools/oapi/drive/doc-media.js.map +1 -0
- package/src/tools/oapi/drive/file.d.ts +20 -0
- package/src/tools/oapi/drive/file.d.ts.map +1 -0
- package/src/tools/oapi/drive/file.js +485 -0
- package/src/tools/oapi/drive/file.js.map +1 -0
- package/src/tools/oapi/drive/index.d.ts +13 -0
- package/src/tools/oapi/drive/index.d.ts.map +1 -0
- package/src/tools/oapi/drive/index.js +37 -0
- package/src/tools/oapi/drive/index.js.map +1 -0
- package/src/tools/oapi/helpers.d.ts +174 -0
- package/src/tools/oapi/helpers.d.ts.map +1 -0
- package/src/tools/oapi/helpers.js +341 -0
- package/src/tools/oapi/helpers.js.map +1 -0
- package/src/tools/oapi/im/format-messages.d.ts +51 -0
- package/src/tools/oapi/im/format-messages.d.ts.map +1 -0
- package/src/tools/oapi/im/format-messages.js +166 -0
- package/src/tools/oapi/im/format-messages.js.map +1 -0
- package/src/tools/oapi/im/index.d.ts +11 -0
- package/src/tools/oapi/im/index.d.ts.map +1 -0
- package/src/tools/oapi/im/index.js +18 -0
- package/src/tools/oapi/im/index.js.map +1 -0
- package/src/tools/oapi/im/message-read.d.ts +14 -0
- package/src/tools/oapi/im/message-read.d.ts.map +1 -0
- package/src/tools/oapi/im/message-read.js +412 -0
- package/src/tools/oapi/im/message-read.js.map +1 -0
- package/src/tools/oapi/im/message.d.ts +17 -0
- package/src/tools/oapi/im/message.d.ts.map +1 -0
- package/src/tools/oapi/im/message.js +171 -0
- package/src/tools/oapi/im/message.js.map +1 -0
- package/src/tools/oapi/im/resource.d.ts +14 -0
- package/src/tools/oapi/im/resource.d.ts.map +1 -0
- package/src/tools/oapi/im/resource.js +152 -0
- package/src/tools/oapi/im/resource.js.map +1 -0
- package/src/tools/oapi/im/time-utils.d.ts +47 -0
- package/src/tools/oapi/im/time-utils.d.ts.map +1 -0
- package/src/tools/oapi/im/time-utils.js +202 -0
- package/src/tools/oapi/im/time-utils.js.map +1 -0
- package/src/tools/oapi/im/user-name-uat.d.ts +24 -0
- package/src/tools/oapi/im/user-name-uat.d.ts.map +1 -0
- package/src/tools/oapi/im/user-name-uat.js +128 -0
- package/src/tools/oapi/im/user-name-uat.js.map +1 -0
- package/src/tools/oapi/index.d.ts +12 -0
- package/src/tools/oapi/index.d.ts.map +1 -0
- package/src/tools/oapi/index.js +59 -0
- package/src/tools/oapi/index.js.map +1 -0
- package/src/tools/oapi/sdk-types.d.ts +97 -0
- package/src/tools/oapi/sdk-types.d.ts.map +1 -0
- package/src/tools/oapi/sdk-types.js +13 -0
- package/src/tools/oapi/sdk-types.js.map +1 -0
- package/src/tools/oapi/search/doc-search.d.ts +14 -0
- package/src/tools/oapi/search/doc-search.d.ts.map +1 -0
- package/src/tools/oapi/search/doc-search.js +203 -0
- package/src/tools/oapi/search/doc-search.js.map +1 -0
- package/src/tools/oapi/search/index.d.ts +13 -0
- package/src/tools/oapi/search/index.d.ts.map +1 -0
- package/src/tools/oapi/search/index.js +34 -0
- package/src/tools/oapi/search/index.js.map +1 -0
- package/src/tools/oapi/sheets/index.d.ts +13 -0
- package/src/tools/oapi/sheets/index.d.ts.map +1 -0
- package/src/tools/oapi/sheets/index.js +32 -0
- package/src/tools/oapi/sheets/index.js.map +1 -0
- package/src/tools/oapi/sheets/sheet.d.ts +17 -0
- package/src/tools/oapi/sheets/sheet.d.ts.map +1 -0
- package/src/tools/oapi/sheets/sheet.js +652 -0
- package/src/tools/oapi/sheets/sheet.js.map +1 -0
- package/src/tools/oapi/task/comment.d.ts +16 -0
- package/src/tools/oapi/task/comment.d.ts.map +1 -0
- package/src/tools/oapi/task/comment.js +142 -0
- package/src/tools/oapi/task/comment.js.map +1 -0
- package/src/tools/oapi/task/index.d.ts +9 -0
- package/src/tools/oapi/task/index.d.ts.map +1 -0
- package/src/tools/oapi/task/index.js +9 -0
- package/src/tools/oapi/task/index.js.map +1 -0
- package/src/tools/oapi/task/subtask.d.ts +15 -0
- package/src/tools/oapi/task/subtask.d.ts.map +1 -0
- package/src/tools/oapi/task/subtask.js +164 -0
- package/src/tools/oapi/task/subtask.js.map +1 -0
- package/src/tools/oapi/task/task.d.ts +17 -0
- package/src/tools/oapi/task/task.d.ts.map +1 -0
- package/src/tools/oapi/task/task.js +346 -0
- package/src/tools/oapi/task/task.js.map +1 -0
- package/src/tools/oapi/task/tasklist.d.ts +22 -0
- package/src/tools/oapi/task/tasklist.d.ts.map +1 -0
- package/src/tools/oapi/task/tasklist.js +323 -0
- package/src/tools/oapi/task/tasklist.js.map +1 -0
- package/src/tools/oapi/wiki/index.d.ts +13 -0
- package/src/tools/oapi/wiki/index.d.ts.map +1 -0
- package/src/tools/oapi/wiki/index.js +35 -0
- package/src/tools/oapi/wiki/index.js.map +1 -0
- package/src/tools/oapi/wiki/space-node.d.ts +18 -0
- package/src/tools/oapi/wiki/space-node.d.ts.map +1 -0
- package/src/tools/oapi/wiki/space-node.js +253 -0
- package/src/tools/oapi/wiki/space-node.js.map +1 -0
- package/src/tools/oapi/wiki/space.d.ts +16 -0
- package/src/tools/oapi/wiki/space.d.ts.map +1 -0
- package/src/tools/oapi/wiki/space.js +132 -0
- package/src/tools/oapi/wiki/space.js.map +1 -0
- package/src/tools/oauth-batch-auth.d.ts +12 -0
- package/src/tools/oauth-batch-auth.d.ts.map +1 -0
- package/src/tools/oauth-batch-auth.js +142 -0
- package/src/tools/oauth-batch-auth.js.map +1 -0
- package/src/tools/oauth-cards.d.ts +27 -0
- package/src/tools/oauth-cards.d.ts.map +1 -0
- package/src/tools/oauth-cards.js +251 -0
- package/src/tools/oauth-cards.js.map +1 -0
- package/src/tools/oauth.d.ts +48 -0
- package/src/tools/oauth.d.ts.map +1 -0
- package/src/tools/oauth.js +619 -0
- package/src/tools/oauth.js.map +1 -0
- package/src/tools/onboarding-auth.d.ts +28 -0
- package/src/tools/onboarding-auth.d.ts.map +1 -0
- package/src/tools/onboarding-auth.js +131 -0
- package/src/tools/onboarding-auth.js.map +1 -0
- package/src/tools/tat/im/index.d.ts +16 -0
- package/src/tools/tat/im/index.d.ts.map +1 -0
- package/src/tools/tat/im/index.js +19 -0
- package/src/tools/tat/im/index.js.map +1 -0
- package/src/tools/tat/im/resource.d.ts +16 -0
- package/src/tools/tat/im/resource.d.ts.map +1 -0
- package/src/tools/tat/im/resource.js +158 -0
- package/src/tools/tat/im/resource.js.map +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardkit.js","sourceRoot":"","sources":["../../../src/card/cardkit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Generic throttled flush controller.
|
|
6
|
+
*
|
|
7
|
+
* A pure scheduling primitive that manages timer-based throttling,
|
|
8
|
+
* mutex-guarded flushing, and reflush-on-conflict. Contains no
|
|
9
|
+
* business logic — the actual flush work is provided via a callback.
|
|
10
|
+
*/
|
|
11
|
+
export declare class FlushController {
|
|
12
|
+
private readonly doFlush;
|
|
13
|
+
private flushInProgress;
|
|
14
|
+
private flushResolvers;
|
|
15
|
+
private needsReflush;
|
|
16
|
+
private pendingFlushTimer;
|
|
17
|
+
private lastUpdateTime;
|
|
18
|
+
private isCompleted;
|
|
19
|
+
constructor(doFlush: () => Promise<void>);
|
|
20
|
+
/** Mark the controller as completed — no more flushes after current one. */
|
|
21
|
+
complete(): void;
|
|
22
|
+
/** Cancel any pending deferred flush timer. */
|
|
23
|
+
cancelPendingFlush(): void;
|
|
24
|
+
/** Wait for any in-progress flush to finish. */
|
|
25
|
+
waitForFlush(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Execute a flush (mutex-guarded, with reflush on conflict).
|
|
28
|
+
*
|
|
29
|
+
* If a flush is already in progress, marks needsReflush so a
|
|
30
|
+
* follow-up flush fires immediately after the current one completes.
|
|
31
|
+
*/
|
|
32
|
+
flush(): Promise<void>;
|
|
33
|
+
/**
|
|
34
|
+
* Throttled update entry point.
|
|
35
|
+
*
|
|
36
|
+
* @param throttleMs - Minimum interval between flushes (varies by
|
|
37
|
+
* CardKit vs IM patch mode). Passed in by the caller so this
|
|
38
|
+
* controller remains business-logic-free.
|
|
39
|
+
*/
|
|
40
|
+
throttledUpdate(throttleMs: number): Promise<void>;
|
|
41
|
+
/** Overridable gate: subclasses / consumers can set via setCardMessageReady. */
|
|
42
|
+
private _cardMessageReady;
|
|
43
|
+
cardMessageReady(): boolean;
|
|
44
|
+
setCardMessageReady(ready: boolean): void;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=flush-controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flush-controller.d.ts","sourceRoot":"","sources":["../../../src/card/flush-controller.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,qBAAa,eAAe;IAQd,OAAO,CAAC,QAAQ,CAAC,OAAO;IAPpC,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAyB;IAC/C,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,WAAW,CAAS;gBAEC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;IAEzD,4EAA4E;IAC5E,QAAQ,IAAI,IAAI;IAIhB,+CAA+C;IAC/C,kBAAkB,IAAI,IAAI;IAO1B,gDAAgD;IAChD,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA+B5B;;;;;;OAMG;IACG,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiCxD,gFAAgF;IAChF,OAAO,CAAC,iBAAiB,CAAS;IAElC,gBAAgB,IAAI,OAAO;IAI3B,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;CAS1C"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Generic throttled flush controller.
|
|
6
|
+
*
|
|
7
|
+
* A pure scheduling primitive that manages timer-based throttling,
|
|
8
|
+
* mutex-guarded flushing, and reflush-on-conflict. Contains no
|
|
9
|
+
* business logic — the actual flush work is provided via a callback.
|
|
10
|
+
*/
|
|
11
|
+
import { THROTTLE_CONSTANTS } from './reply-dispatcher-types';
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// FlushController
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
export class FlushController {
|
|
16
|
+
doFlush;
|
|
17
|
+
flushInProgress = false;
|
|
18
|
+
flushResolvers = [];
|
|
19
|
+
needsReflush = false;
|
|
20
|
+
pendingFlushTimer = null;
|
|
21
|
+
lastUpdateTime = 0;
|
|
22
|
+
isCompleted = false;
|
|
23
|
+
constructor(doFlush) {
|
|
24
|
+
this.doFlush = doFlush;
|
|
25
|
+
}
|
|
26
|
+
/** Mark the controller as completed — no more flushes after current one. */
|
|
27
|
+
complete() {
|
|
28
|
+
this.isCompleted = true;
|
|
29
|
+
}
|
|
30
|
+
/** Cancel any pending deferred flush timer. */
|
|
31
|
+
cancelPendingFlush() {
|
|
32
|
+
if (this.pendingFlushTimer) {
|
|
33
|
+
clearTimeout(this.pendingFlushTimer);
|
|
34
|
+
this.pendingFlushTimer = null;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/** Wait for any in-progress flush to finish. */
|
|
38
|
+
waitForFlush() {
|
|
39
|
+
if (!this.flushInProgress)
|
|
40
|
+
return Promise.resolve();
|
|
41
|
+
return new Promise((resolve) => this.flushResolvers.push(resolve));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Execute a flush (mutex-guarded, with reflush on conflict).
|
|
45
|
+
*
|
|
46
|
+
* If a flush is already in progress, marks needsReflush so a
|
|
47
|
+
* follow-up flush fires immediately after the current one completes.
|
|
48
|
+
*/
|
|
49
|
+
async flush() {
|
|
50
|
+
if (!this.cardMessageReady() || this.flushInProgress || this.isCompleted) {
|
|
51
|
+
if (this.flushInProgress && !this.isCompleted)
|
|
52
|
+
this.needsReflush = true;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
this.flushInProgress = true;
|
|
56
|
+
this.needsReflush = false;
|
|
57
|
+
// Update timestamp BEFORE the API call to prevent concurrent callers
|
|
58
|
+
// from also entering the flush (race condition fix).
|
|
59
|
+
this.lastUpdateTime = Date.now();
|
|
60
|
+
try {
|
|
61
|
+
await this.doFlush();
|
|
62
|
+
this.lastUpdateTime = Date.now();
|
|
63
|
+
}
|
|
64
|
+
finally {
|
|
65
|
+
this.flushInProgress = false;
|
|
66
|
+
const resolvers = this.flushResolvers;
|
|
67
|
+
this.flushResolvers = [];
|
|
68
|
+
for (const resolve of resolvers)
|
|
69
|
+
resolve();
|
|
70
|
+
// If events arrived while the API call was in flight,
|
|
71
|
+
// schedule an immediate follow-up flush.
|
|
72
|
+
if (this.needsReflush && !this.isCompleted && !this.pendingFlushTimer) {
|
|
73
|
+
this.needsReflush = false;
|
|
74
|
+
this.pendingFlushTimer = setTimeout(() => {
|
|
75
|
+
this.pendingFlushTimer = null;
|
|
76
|
+
void this.flush();
|
|
77
|
+
}, 0);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Throttled update entry point.
|
|
83
|
+
*
|
|
84
|
+
* @param throttleMs - Minimum interval between flushes (varies by
|
|
85
|
+
* CardKit vs IM patch mode). Passed in by the caller so this
|
|
86
|
+
* controller remains business-logic-free.
|
|
87
|
+
*/
|
|
88
|
+
async throttledUpdate(throttleMs) {
|
|
89
|
+
if (!this.cardMessageReady())
|
|
90
|
+
return;
|
|
91
|
+
const now = Date.now();
|
|
92
|
+
const elapsed = now - this.lastUpdateTime;
|
|
93
|
+
if (elapsed >= throttleMs) {
|
|
94
|
+
this.cancelPendingFlush();
|
|
95
|
+
if (elapsed > THROTTLE_CONSTANTS.LONG_GAP_THRESHOLD_MS) {
|
|
96
|
+
// After a long gap, batch briefly so the first visible update
|
|
97
|
+
// contains meaningful text rather than just 1-2 characters.
|
|
98
|
+
this.lastUpdateTime = now;
|
|
99
|
+
this.pendingFlushTimer = setTimeout(() => {
|
|
100
|
+
this.pendingFlushTimer = null;
|
|
101
|
+
void this.flush();
|
|
102
|
+
}, THROTTLE_CONSTANTS.BATCH_AFTER_GAP_MS);
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
await this.flush();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
else if (!this.pendingFlushTimer) {
|
|
109
|
+
// Inside throttle window — schedule a deferred flush
|
|
110
|
+
const delay = throttleMs - elapsed;
|
|
111
|
+
this.pendingFlushTimer = setTimeout(() => {
|
|
112
|
+
this.pendingFlushTimer = null;
|
|
113
|
+
void this.flush();
|
|
114
|
+
}, delay);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
// ------------------------------------------------------------------
|
|
118
|
+
// Internal
|
|
119
|
+
// ------------------------------------------------------------------
|
|
120
|
+
/** Overridable gate: subclasses / consumers can set via setCardMessageReady. */
|
|
121
|
+
_cardMessageReady = false;
|
|
122
|
+
cardMessageReady() {
|
|
123
|
+
return this._cardMessageReady;
|
|
124
|
+
}
|
|
125
|
+
setCardMessageReady(ready) {
|
|
126
|
+
this._cardMessageReady = ready;
|
|
127
|
+
if (ready) {
|
|
128
|
+
// Initialize the timestamp so the first throttledUpdate sees a
|
|
129
|
+
// small elapsed time (matching original behavior where
|
|
130
|
+
// lastCardUpdateTime = Date.now() was set during card creation).
|
|
131
|
+
this.lastUpdateTime = Date.now();
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=flush-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flush-controller.js","sourceRoot":"","sources":["../../../src/card/flush-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Markdown 样式优化工具
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 优化 Markdown 样式:
|
|
9
|
+
* - 标题降级:H1 → H4,H2~H6 → H5
|
|
10
|
+
* - 表格前后增加段落间距
|
|
11
|
+
* - 有序列表:序号后确保只有一个空格
|
|
12
|
+
* - 无序列表:"- " 格式规范化(跳过分隔线 ---)
|
|
13
|
+
* - 表格:单元格前后补空格,分隔符行规范化,表格前后加空行
|
|
14
|
+
* - 代码块内容不受影响
|
|
15
|
+
*/
|
|
16
|
+
export declare function optimizeMarkdownStyle(text: string, cardVersion?: number): string;
|
|
17
|
+
//# sourceMappingURL=markdown-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-style.d.ts","sourceRoot":"","sources":["../../../src/card/markdown-style.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,SAAI,GAAG,MAAM,CAQ3E"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Markdown 样式优化工具
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* 优化 Markdown 样式:
|
|
9
|
+
* - 标题降级:H1 → H4,H2~H6 → H5
|
|
10
|
+
* - 表格前后增加段落间距
|
|
11
|
+
* - 有序列表:序号后确保只有一个空格
|
|
12
|
+
* - 无序列表:"- " 格式规范化(跳过分隔线 ---)
|
|
13
|
+
* - 表格:单元格前后补空格,分隔符行规范化,表格前后加空行
|
|
14
|
+
* - 代码块内容不受影响
|
|
15
|
+
*/
|
|
16
|
+
export function optimizeMarkdownStyle(text, cardVersion = 2) {
|
|
17
|
+
try {
|
|
18
|
+
let r = _optimizeMarkdownStyle(text, cardVersion);
|
|
19
|
+
r = stripInvalidImageKeys(r);
|
|
20
|
+
return r;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
return text;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
function _optimizeMarkdownStyle(text, cardVersion = 2) {
|
|
27
|
+
// ── 1. 提取代码块,用占位符保护,处理后再还原 ─────────────────────
|
|
28
|
+
const MARK = '___CB_';
|
|
29
|
+
const codeBlocks = [];
|
|
30
|
+
let r = text.replace(/```[\s\S]*?```/g, (m) => {
|
|
31
|
+
return `${MARK}${codeBlocks.push(m) - 1}___`;
|
|
32
|
+
});
|
|
33
|
+
// ── 2. 标题降级 ────────────────────────────────────────────────────
|
|
34
|
+
// 只有当原文档包含 h1~h3 标题时才执行降级
|
|
35
|
+
// 先处理 H2~H6 → H5,再处理 H1 → H4
|
|
36
|
+
// 顺序不能颠倒:若先 H1→H4,H4(####)会被后面的 #{2,6} 再次匹配成 H5
|
|
37
|
+
const hasH1toH3 = /^#{1,3} /m.test(text);
|
|
38
|
+
if (hasH1toH3) {
|
|
39
|
+
r = r.replace(/^#{2,6} (.+)$/gm, '##### $1'); // H2~H6 → H5
|
|
40
|
+
r = r.replace(/^# (.+)$/gm, '#### $1'); // H1 → H4
|
|
41
|
+
}
|
|
42
|
+
if (cardVersion >= 2) {
|
|
43
|
+
// ── 3. 连续标题间增加段落间距 ───────────────────────────────────────
|
|
44
|
+
r = r.replace(/^(#{4,5} .+)\n{1,2}(#{4,5} )/gm, '$1\n<br>\n$2');
|
|
45
|
+
// ── 4. 表格前后增加段落间距 ─────────────────────────────────────────
|
|
46
|
+
// 4a. 非表格行直接跟表格行时,先补一个空行
|
|
47
|
+
r = r.replace(/^([^|\n].*)\n(\|.+\|)/gm, '$1\n\n$2');
|
|
48
|
+
// 4b. 表格前:在空行之前插入 <br>(即 \n\n| → \n<br>\n\n| )
|
|
49
|
+
r = r.replace(/\n\n((?:\|.+\|[^\S\n]*\n?)+)/g, '\n\n<br>\n\n$1');
|
|
50
|
+
// 4c. 表格后:在表格块末尾追加 <br>
|
|
51
|
+
r = r.replace(/((?:^\|.+\|[^\S\n]*\n?)+)/gm, '$1\n<br>\n');
|
|
52
|
+
// 4d. 表格前是普通文本(非标题、非加粗行)时,只需 <br>,去掉多余空行
|
|
53
|
+
// "text\n\n<br>\n\n|" → "text\n<br>\n|"
|
|
54
|
+
r = r.replace(/^((?!#{4,5} )(?!\*\*).+)\n\n(<br>)\n\n(\|)/gm, '$1\n$2\n$3');
|
|
55
|
+
// 4d2. 表格前是加粗行时,<br> 紧贴加粗行,空行保留在后面
|
|
56
|
+
// "**bold**\n\n<br>\n\n|" → "**bold**\n<br>\n\n|"
|
|
57
|
+
r = r.replace(/^(\*\*.+)\n\n(<br>)\n\n(\|)/gm, '$1\n$2\n\n$3');
|
|
58
|
+
// 4e. 表格后是普通文本(非标题、非加粗行)时,只需 <br>,去掉多余空行
|
|
59
|
+
// "| row |\n\n<br>\ntext" → "| row |\n<br>\ntext"
|
|
60
|
+
r = r.replace(/(\|[^\n]*\n)\n(<br>\n)((?!#{4,5} )(?!\*\*))/gm, '$1$2$3');
|
|
61
|
+
// ── 5. 还原代码块,并在前后追加 <br> ──────────────────────────────
|
|
62
|
+
codeBlocks.forEach((block, i) => {
|
|
63
|
+
r = r.replace(`${MARK}${i}___`, `\n<br>\n${block}\n<br>\n`);
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
// ── 5. 还原代码块(无 <br>)───────────────────────────────────────
|
|
68
|
+
codeBlocks.forEach((block, i) => {
|
|
69
|
+
r = r.replace(`${MARK}${i}___`, block);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
// ── 6. 压缩多余空行(3 个以上连续换行 → 2 个)────────────────────
|
|
73
|
+
r = r.replace(/\n{3,}/g, '\n\n');
|
|
74
|
+
return r;
|
|
75
|
+
}
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// stripInvalidImageKeys
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
/** Matches complete markdown image syntax: `` */
|
|
80
|
+
const IMAGE_RE = /!\[([^\]]*)\]\(([^)\s]+)\)/g;
|
|
81
|
+
/**
|
|
82
|
+
* Strip `` where value is not a valid Feishu image key
|
|
83
|
+
* (`img_xxx`) or remote URL. Prevents CardKit error 200570.
|
|
84
|
+
*/
|
|
85
|
+
function stripInvalidImageKeys(text) {
|
|
86
|
+
if (!text.includes('!['))
|
|
87
|
+
return text;
|
|
88
|
+
return text.replace(IMAGE_RE, (fullMatch, _alt, value) => {
|
|
89
|
+
if (value.startsWith('img_'))
|
|
90
|
+
return fullMatch;
|
|
91
|
+
if (value.startsWith('http://'))
|
|
92
|
+
return fullMatch;
|
|
93
|
+
if (value.startsWith('https://'))
|
|
94
|
+
return fullMatch;
|
|
95
|
+
return value;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=markdown-style.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-style.js","sourceRoot":"","sources":["../../../src/card/markdown-style.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for the Feishu reply dispatcher subsystem.
|
|
6
|
+
*
|
|
7
|
+
* Consolidates all interfaces, state shapes, and constants used across
|
|
8
|
+
* reply-dispatcher.ts, streaming-card-controller.ts, flush-controller.ts,
|
|
9
|
+
* and unavailable-guard.ts.
|
|
10
|
+
*/
|
|
11
|
+
import type { ClawdbotConfig, ReplyPayload } from 'openclaw/plugin-sdk';
|
|
12
|
+
import type { FeishuFooterConfig } from '../core/types';
|
|
13
|
+
export declare const CARD_PHASES: {
|
|
14
|
+
readonly idle: "idle";
|
|
15
|
+
readonly creating: "creating";
|
|
16
|
+
readonly streaming: "streaming";
|
|
17
|
+
readonly completed: "completed";
|
|
18
|
+
readonly aborted: "aborted";
|
|
19
|
+
readonly terminated: "terminated";
|
|
20
|
+
readonly creation_failed: "creation_failed";
|
|
21
|
+
};
|
|
22
|
+
export type CardPhase = (typeof CARD_PHASES)[keyof typeof CARD_PHASES];
|
|
23
|
+
export declare const TERMINAL_PHASES: ReadonlySet<CardPhase>;
|
|
24
|
+
/**
|
|
25
|
+
* Why a terminal phase was entered.
|
|
26
|
+
*
|
|
27
|
+
* - `normal` — streaming completed successfully (onIdle).
|
|
28
|
+
* - `error` — an error occurred during reply generation (onError).
|
|
29
|
+
* - `abort` — explicitly cancelled by the caller (abortCard).
|
|
30
|
+
* - `unavailable` — source message was deleted/recalled (UnavailableGuard).
|
|
31
|
+
* - `creation_failed` — card creation failed, falling back to static delivery.
|
|
32
|
+
*/
|
|
33
|
+
export type TerminalReason = 'normal' | 'error' | 'abort' | 'unavailable' | 'creation_failed';
|
|
34
|
+
export declare const PHASE_TRANSITIONS: Record<CardPhase, ReadonlySet<CardPhase>>;
|
|
35
|
+
export interface ReasoningState {
|
|
36
|
+
accumulatedReasoningText: string;
|
|
37
|
+
reasoningStartTime: number | null;
|
|
38
|
+
reasoningElapsedMs: number;
|
|
39
|
+
isReasoningPhase: boolean;
|
|
40
|
+
}
|
|
41
|
+
export interface StreamingTextState {
|
|
42
|
+
accumulatedText: string;
|
|
43
|
+
completedText: string;
|
|
44
|
+
streamingPrefix: string;
|
|
45
|
+
lastPartialText: string;
|
|
46
|
+
}
|
|
47
|
+
export interface CardKitState {
|
|
48
|
+
cardKitCardId: string | null;
|
|
49
|
+
originalCardKitCardId: string | null;
|
|
50
|
+
cardKitSequence: number;
|
|
51
|
+
cardMessageId: string | null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Throttle intervals for card updates.
|
|
55
|
+
*
|
|
56
|
+
* - `CARDKIT_MS`: CardKit `cardElement.content()` — designed for streaming,
|
|
57
|
+
* low throttle is fine.
|
|
58
|
+
* - `PATCH_MS`: `im.message.patch` — strict rate limits (code 230020).
|
|
59
|
+
* - `LONG_GAP_THRESHOLD_MS`: After a long idle gap (tool call / LLM thinking),
|
|
60
|
+
* defer the first flush briefly.
|
|
61
|
+
* - `BATCH_AFTER_GAP_MS`: Batching window after a long gap.
|
|
62
|
+
*/
|
|
63
|
+
export declare const THROTTLE_CONSTANTS: {
|
|
64
|
+
readonly CARDKIT_MS: 100;
|
|
65
|
+
readonly PATCH_MS: 1500;
|
|
66
|
+
readonly LONG_GAP_THRESHOLD_MS: 2000;
|
|
67
|
+
readonly BATCH_AFTER_GAP_MS: 300;
|
|
68
|
+
};
|
|
69
|
+
export declare const EMPTY_REPLY_FALLBACK_TEXT = "Done.";
|
|
70
|
+
export interface CreateFeishuReplyDispatcherParams {
|
|
71
|
+
cfg: ClawdbotConfig;
|
|
72
|
+
agentId: string;
|
|
73
|
+
chatId: string;
|
|
74
|
+
replyToMessageId?: string;
|
|
75
|
+
/** Account ID for multi-account support. */
|
|
76
|
+
accountId?: string;
|
|
77
|
+
/** Chat type for scene-aware reply mode selection. */
|
|
78
|
+
chatType?: 'p2p' | 'group';
|
|
79
|
+
/** When true, typing indicators are suppressed entirely. */
|
|
80
|
+
skipTyping?: boolean;
|
|
81
|
+
/** When true, replies are sent into the thread instead of main chat. */
|
|
82
|
+
replyInThread?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Manual mirror of the SDK-internal ReplyDispatcher type
|
|
86
|
+
* (from openclaw/plugin-sdk auto-reply/reply/reply-dispatcher.d.ts).
|
|
87
|
+
*
|
|
88
|
+
* Must be kept in sync when the SDK updates the dispatcher signature.
|
|
89
|
+
*/
|
|
90
|
+
export interface ReplyDispatcher {
|
|
91
|
+
sendToolResult: (payload: ReplyPayload) => boolean;
|
|
92
|
+
sendBlockReply: (payload: ReplyPayload) => boolean;
|
|
93
|
+
sendFinalReply: (payload: ReplyPayload) => boolean;
|
|
94
|
+
waitForIdle: () => Promise<void>;
|
|
95
|
+
getQueuedCounts: () => Record<string, number>;
|
|
96
|
+
markComplete: () => void;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* The structured return type of createFeishuReplyDispatcher.
|
|
100
|
+
*
|
|
101
|
+
* `replyOptions` is typed as `Record<string, unknown>` because the consumer
|
|
102
|
+
* (`dispatchReplyFromConfig`) accepts the SDK-internal `GetReplyOptions`
|
|
103
|
+
* which is not re-exported from `openclaw/plugin-sdk`. The record type
|
|
104
|
+
* is compatible with spread-assignment into `dispatchReplyFromConfig`.
|
|
105
|
+
*/
|
|
106
|
+
export interface FeishuReplyDispatcherResult {
|
|
107
|
+
dispatcher: ReplyDispatcher;
|
|
108
|
+
replyOptions: Record<string, unknown>;
|
|
109
|
+
markDispatchIdle: () => void;
|
|
110
|
+
markFullyComplete: () => void;
|
|
111
|
+
abortCard: () => Promise<void>;
|
|
112
|
+
}
|
|
113
|
+
export interface StreamingCardDeps {
|
|
114
|
+
cfg: ClawdbotConfig;
|
|
115
|
+
accountId: string | undefined;
|
|
116
|
+
chatId: string;
|
|
117
|
+
replyToMessageId: string | undefined;
|
|
118
|
+
replyInThread: boolean | undefined;
|
|
119
|
+
resolvedFooter: Required<FeishuFooterConfig>;
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=reply-dispatcher-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reply-dispatcher-types.d.ts","sourceRoot":"","sources":["../../../src/card/reply-dispatcher-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for the Feishu reply dispatcher subsystem.
|
|
6
|
+
*
|
|
7
|
+
* Consolidates all interfaces, state shapes, and constants used across
|
|
8
|
+
* reply-dispatcher.ts, streaming-card-controller.ts, flush-controller.ts,
|
|
9
|
+
* and unavailable-guard.ts.
|
|
10
|
+
*/
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
// CardPhase — explicit state machine replacing boolean flags
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
export const CARD_PHASES = {
|
|
15
|
+
idle: 'idle',
|
|
16
|
+
creating: 'creating',
|
|
17
|
+
streaming: 'streaming',
|
|
18
|
+
completed: 'completed',
|
|
19
|
+
aborted: 'aborted',
|
|
20
|
+
terminated: 'terminated',
|
|
21
|
+
creation_failed: 'creation_failed',
|
|
22
|
+
};
|
|
23
|
+
export const TERMINAL_PHASES = new Set([
|
|
24
|
+
'completed',
|
|
25
|
+
'aborted',
|
|
26
|
+
'terminated',
|
|
27
|
+
'creation_failed',
|
|
28
|
+
]);
|
|
29
|
+
export const PHASE_TRANSITIONS = {
|
|
30
|
+
idle: new Set(['creating', 'aborted', 'terminated']),
|
|
31
|
+
creating: new Set(['streaming', 'creation_failed', 'aborted', 'terminated']),
|
|
32
|
+
streaming: new Set(['completed', 'aborted', 'terminated']),
|
|
33
|
+
completed: new Set(),
|
|
34
|
+
aborted: new Set(),
|
|
35
|
+
terminated: new Set(),
|
|
36
|
+
creation_failed: new Set(),
|
|
37
|
+
};
|
|
38
|
+
// ---------------------------------------------------------------------------
|
|
39
|
+
// Throttle constants
|
|
40
|
+
// ---------------------------------------------------------------------------
|
|
41
|
+
/**
|
|
42
|
+
* Throttle intervals for card updates.
|
|
43
|
+
*
|
|
44
|
+
* - `CARDKIT_MS`: CardKit `cardElement.content()` — designed for streaming,
|
|
45
|
+
* low throttle is fine.
|
|
46
|
+
* - `PATCH_MS`: `im.message.patch` — strict rate limits (code 230020).
|
|
47
|
+
* - `LONG_GAP_THRESHOLD_MS`: After a long idle gap (tool call / LLM thinking),
|
|
48
|
+
* defer the first flush briefly.
|
|
49
|
+
* - `BATCH_AFTER_GAP_MS`: Batching window after a long gap.
|
|
50
|
+
*/
|
|
51
|
+
export const THROTTLE_CONSTANTS = {
|
|
52
|
+
CARDKIT_MS: 100,
|
|
53
|
+
PATCH_MS: 1500,
|
|
54
|
+
LONG_GAP_THRESHOLD_MS: 2000,
|
|
55
|
+
BATCH_AFTER_GAP_MS: 300,
|
|
56
|
+
};
|
|
57
|
+
export const EMPTY_REPLY_FALLBACK_TEXT = 'Done.';
|
|
58
|
+
//# sourceMappingURL=reply-dispatcher-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reply-dispatcher-types.js","sourceRoot":"","sources":["../../../src/card/reply-dispatcher-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,8EAA8E;AAC9E,6DAA6D;AAC7D,8EAA8E;AAE9E,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,SAAS,EAAE,WAAW;IACtB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,eAAe,EAAE,iBAAiB;CAC1B,CAAC;AAIX,MAAM,CAAC,MAAM,eAAe,GAA2B,IAAI,GAAG,CAAC;IAC7D,WAAW;IACX,SAAS;IACT,YAAY;IACZ,iBAAiB;CAClB,CAAC,CAAC;AAaH,MAAM,CAAC,MAAM,iBAAiB,GAA8C;IAC1E,IAAI,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IACpD,QAAQ,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,iBAAiB,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC5E,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAC1D,SAAS,EAAE,IAAI,GAAG,EAAE;IACpB,OAAO,EAAE,IAAI,GAAG,EAAE;IAClB,UAAU,EAAE,IAAI,GAAG,EAAE;IACrB,eAAe,EAAE,IAAI,GAAG,EAAE;CAC3B,CAAC;AA2BF,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,IAAI;IACd,qBAAqB,EAAE,IAAI;IAC3B,kBAAkB,EAAE,GAAG;CACf,CAAC;AAEX,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026 ByteDance Ltd. and/or its affiliates
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*
|
|
5
|
+
* Reply dispatcher factory for the Feishu/Lark channel plugin.
|
|
6
|
+
*
|
|
7
|
+
* Thin factory function that:
|
|
8
|
+
* 1. Resolves account, reply mode, and typing indicator config
|
|
9
|
+
* 2. In streaming mode, delegates to StreamingCardController
|
|
10
|
+
* 3. In static mode, delivers via sendMessageFeishu / sendMarkdownCardFeishu
|
|
11
|
+
* 4. Assembles and returns FeishuReplyDispatcherResult
|
|
12
|
+
*/
|
|
13
|
+
import type { CreateFeishuReplyDispatcherParams, FeishuReplyDispatcherResult } from './reply-dispatcher-types';
|
|
14
|
+
export type { CreateFeishuReplyDispatcherParams } from './reply-dispatcher-types';
|
|
15
|
+
export declare function createFeishuReplyDispatcher(params: CreateFeishuReplyDispatcherParams): FeishuReplyDispatcherResult;
|
|
16
|
+
//# sourceMappingURL=reply-dispatcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reply-dispatcher.d.ts","sourceRoot":"","sources":["../../../src/card/reply-dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,OAAO,KAAK,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAK/G,YAAY,EAAE,iCAAiC,EAAE,MAAM,0BAA0B,CAAC;AAMlF,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,iCAAiC,GAAG,2BAA2B,CA6RlH"}
|