@xgjktech/xg_cwork_im 1.19.41 → 1.19.43
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/README.md +488 -488
- package/dist/src/account-connection.d.ts +37 -0
- package/dist/src/account-connection.d.ts.map +1 -0
- package/dist/src/account-connection.js +437 -0
- package/dist/src/account-connection.js.map +1 -0
- package/dist/src/account-reconciler.d.ts +55 -0
- package/dist/src/account-reconciler.d.ts.map +1 -0
- package/dist/src/account-reconciler.js +294 -0
- package/dist/src/account-reconciler.js.map +1 -0
- package/dist/src/account-reconciler.test.d.ts +2 -0
- package/dist/src/account-reconciler.test.d.ts.map +1 -0
- package/dist/src/account-reconciler.test.js +148 -0
- package/dist/src/account-reconciler.test.js.map +1 -0
- package/dist/src/action-run-event.d.ts +20 -0
- package/dist/src/action-run-event.d.ts.map +1 -0
- package/dist/src/action-run-event.js +62 -0
- package/dist/src/action-run-event.js.map +1 -0
- package/dist/src/action-run-event.test.d.ts +2 -0
- package/dist/src/action-run-event.test.d.ts.map +1 -0
- package/dist/src/action-run-event.test.js +83 -0
- package/dist/src/action-run-event.test.js.map +1 -0
- package/dist/src/action-store-access.d.ts +27 -0
- package/dist/src/action-store-access.d.ts.map +1 -0
- package/dist/src/action-store-access.js +74 -0
- package/dist/src/action-store-access.js.map +1 -0
- package/dist/src/active-round-registry.d.ts +29 -0
- package/dist/src/active-round-registry.d.ts.map +1 -0
- package/dist/src/active-round-registry.js +60 -0
- package/dist/src/active-round-registry.js.map +1 -0
- package/dist/src/active-round-registry.test.d.ts +2 -0
- package/dist/src/active-round-registry.test.d.ts.map +1 -0
- package/dist/src/active-round-registry.test.js +62 -0
- package/dist/src/active-round-registry.test.js.map +1 -0
- package/dist/src/agent-context-types.d.ts +205 -0
- package/dist/src/agent-context-types.d.ts.map +1 -0
- package/dist/src/agent-context-types.js +132 -0
- package/dist/src/agent-context-types.js.map +1 -0
- package/dist/src/agent-context-types.test.d.ts +2 -0
- package/dist/src/agent-context-types.test.d.ts.map +1 -0
- package/dist/src/agent-context-types.test.js +123 -0
- package/dist/src/agent-context-types.test.js.map +1 -0
- package/dist/src/agent-stream-client-registry.d.ts +6 -0
- package/dist/src/agent-stream-client-registry.d.ts.map +1 -0
- package/dist/src/agent-stream-client-registry.js +14 -0
- package/dist/src/agent-stream-client-registry.js.map +1 -0
- package/dist/src/apply-sync-mapping.d.ts +15 -0
- package/dist/src/apply-sync-mapping.d.ts.map +1 -0
- package/dist/src/apply-sync-mapping.js +98 -0
- package/dist/src/apply-sync-mapping.js.map +1 -0
- package/dist/src/auth.d.ts +30 -0
- package/dist/src/auth.d.ts.map +1 -0
- package/dist/src/auth.js +66 -0
- package/dist/src/auth.js.map +1 -0
- package/dist/src/auto-model-router.d.ts +36 -0
- package/dist/src/auto-model-router.d.ts.map +1 -0
- package/dist/src/auto-model-router.js +60 -0
- package/dist/src/auto-model-router.js.map +1 -0
- package/dist/src/auto-model-router.test.d.ts +2 -0
- package/dist/src/auto-model-router.test.d.ts.map +1 -0
- package/dist/src/auto-model-router.test.js +99 -0
- package/dist/src/auto-model-router.test.js.map +1 -0
- package/dist/src/block-streaming-config.test.d.ts +2 -0
- package/dist/src/block-streaming-config.test.d.ts.map +1 -0
- package/dist/src/block-streaming-config.test.js +85 -0
- package/dist/src/block-streaming-config.test.js.map +1 -0
- package/dist/src/build-project-prompt.d.ts +40 -0
- package/dist/src/build-project-prompt.d.ts.map +1 -0
- package/dist/src/build-project-prompt.js +183 -0
- package/dist/src/build-project-prompt.js.map +1 -0
- package/dist/src/build-project-prompt.test.d.ts +2 -0
- package/dist/src/build-project-prompt.test.d.ts.map +1 -0
- package/dist/src/build-project-prompt.test.js +100 -0
- package/dist/src/build-project-prompt.test.js.map +1 -0
- package/dist/src/channel-config.d.ts +650 -0
- package/dist/src/channel-config.d.ts.map +1 -0
- package/dist/src/channel-config.js +372 -0
- package/dist/src/channel-config.js.map +1 -0
- package/dist/src/channel-config.test.d.ts +2 -0
- package/dist/src/channel-config.test.d.ts.map +1 -0
- package/dist/src/channel-config.test.js +56 -0
- package/dist/src/channel-config.test.js.map +1 -0
- package/dist/src/channel-disabled-account.test.d.ts +2 -0
- package/dist/src/channel-disabled-account.test.d.ts.map +1 -0
- package/dist/src/channel-disabled-account.test.js +44 -0
- package/dist/src/channel-disabled-account.test.js.map +1 -0
- package/dist/src/channel-log.d.ts +17 -0
- package/dist/src/channel-log.d.ts.map +1 -0
- package/dist/src/channel-log.js +45 -0
- package/dist/src/channel-log.js.map +1 -0
- package/dist/src/channel.d.ts +16 -0
- package/dist/src/channel.d.ts.map +1 -0
- package/dist/src/channel.js +149 -0
- package/dist/src/channel.js.map +1 -0
- package/dist/src/connection.d.ts +82 -0
- package/dist/src/connection.d.ts.map +1 -0
- package/dist/src/connection.js +386 -0
- package/dist/src/connection.js.map +1 -0
- package/dist/src/deliver-text.d.ts +30 -0
- package/dist/src/deliver-text.d.ts.map +1 -0
- package/dist/src/deliver-text.js +88 -0
- package/dist/src/deliver-text.js.map +1 -0
- package/dist/src/deliver-text.test.d.ts +2 -0
- package/dist/src/deliver-text.test.d.ts.map +1 -0
- package/dist/src/deliver-text.test.js +117 -0
- package/dist/src/deliver-text.test.js.map +1 -0
- package/dist/src/delivery/deliver-text.test.js +22 -22
- package/dist/src/delivery/turn-deliver-buffer.test.js +25 -25
- package/dist/src/delivery/user-facing-errors.d.ts +1 -0
- package/dist/src/delivery/user-facing-errors.d.ts.map +1 -1
- package/dist/src/delivery/user-facing-errors.js +7 -0
- package/dist/src/delivery/user-facing-errors.js.map +1 -1
- package/dist/src/delivery/user-facing-errors.test.js +12 -1
- package/dist/src/delivery/user-facing-errors.test.js.map +1 -1
- package/dist/src/dispatch-mentioned-reply.d.ts +42 -0
- package/dist/src/dispatch-mentioned-reply.d.ts.map +1 -0
- package/dist/src/dispatch-mentioned-reply.js +822 -0
- package/dist/src/dispatch-mentioned-reply.js.map +1 -0
- package/dist/src/gateway-session-queue.d.ts +41 -0
- package/dist/src/gateway-session-queue.d.ts.map +1 -0
- package/dist/src/gateway-session-queue.js +29 -0
- package/dist/src/gateway-session-queue.js.map +1 -0
- package/dist/src/group-history-tool.d.ts +31 -0
- package/dist/src/group-history-tool.d.ts.map +1 -0
- package/dist/src/group-history-tool.js +177 -0
- package/dist/src/group-history-tool.js.map +1 -0
- package/dist/src/im-tool-progress.d.ts +4 -0
- package/dist/src/im-tool-progress.d.ts.map +1 -0
- package/dist/src/im-tool-progress.js +87 -0
- package/dist/src/im-tool-progress.js.map +1 -0
- package/dist/src/inbound-archive.d.ts +4 -0
- package/dist/src/inbound-archive.d.ts.map +1 -0
- package/dist/src/inbound-archive.js +105 -0
- package/dist/src/inbound-archive.js.map +1 -0
- package/dist/src/inbound-attachment-meta.d.ts +13 -0
- package/dist/src/inbound-attachment-meta.d.ts.map +1 -0
- package/dist/src/inbound-attachment-meta.js +39 -0
- package/dist/src/inbound-attachment-meta.js.map +1 -0
- package/dist/src/inbound-chat-type.d.ts +33 -0
- package/dist/src/inbound-chat-type.d.ts.map +1 -0
- package/dist/src/inbound-chat-type.js +52 -0
- package/dist/src/inbound-chat-type.js.map +1 -0
- package/dist/src/inbound-display.d.ts +41 -0
- package/dist/src/inbound-display.d.ts.map +1 -0
- package/dist/src/inbound-display.js +169 -0
- package/dist/src/inbound-display.js.map +1 -0
- package/dist/src/inbound-file-download.d.ts +15 -0
- package/dist/src/inbound-file-download.d.ts.map +1 -0
- package/dist/src/inbound-file-download.js +48 -0
- package/dist/src/inbound-file-download.js.map +1 -0
- package/dist/src/inbound-input-media.d.ts +43 -0
- package/dist/src/inbound-input-media.d.ts.map +1 -0
- package/dist/src/inbound-input-media.js +230 -0
- package/dist/src/inbound-input-media.js.map +1 -0
- package/dist/src/inbound-media-local.d.ts +49 -0
- package/dist/src/inbound-media-local.d.ts.map +1 -0
- package/dist/src/inbound-media-local.js +194 -0
- package/dist/src/inbound-media-local.js.map +1 -0
- package/dist/src/inbound-model.d.ts +30 -0
- package/dist/src/inbound-model.d.ts.map +1 -0
- package/dist/src/inbound-model.js +40 -0
- package/dist/src/inbound-model.js.map +1 -0
- package/dist/src/inbound-model.test.d.ts +2 -0
- package/dist/src/inbound-model.test.d.ts.map +1 -0
- package/dist/src/inbound-model.test.js +66 -0
- package/dist/src/inbound-model.test.js.map +1 -0
- package/dist/src/inbound-terminal-delivery.d.ts +77 -0
- package/dist/src/inbound-terminal-delivery.d.ts.map +1 -0
- package/dist/src/inbound-terminal-delivery.js +251 -0
- package/dist/src/inbound-terminal-delivery.js.map +1 -0
- package/dist/src/inbound-terminal-state.d.ts +66 -0
- package/dist/src/inbound-terminal-state.d.ts.map +1 -0
- package/dist/src/inbound-terminal-state.js +180 -0
- package/dist/src/inbound-terminal-state.js.map +1 -0
- package/dist/src/inbound-terminal-state.test.d.ts +2 -0
- package/dist/src/inbound-terminal-state.test.d.ts.map +1 -0
- package/dist/src/inbound-terminal-state.test.js +224 -0
- package/dist/src/inbound-terminal-state.test.js.map +1 -0
- package/dist/src/interrupt-round.d.ts +9 -0
- package/dist/src/interrupt-round.d.ts.map +1 -0
- package/dist/src/interrupt-round.js +44 -0
- package/dist/src/interrupt-round.js.map +1 -0
- package/dist/src/interrupt-round.test.d.ts +2 -0
- package/dist/src/interrupt-round.test.d.ts.map +1 -0
- package/dist/src/interrupt-round.test.js +133 -0
- package/dist/src/interrupt-round.test.js.map +1 -0
- package/dist/src/item-event-guard.d.ts +28 -0
- package/dist/src/item-event-guard.d.ts.map +1 -0
- package/dist/src/item-event-guard.js +22 -0
- package/dist/src/item-event-guard.js.map +1 -0
- package/dist/src/item-event-guard.test.d.ts +2 -0
- package/dist/src/item-event-guard.test.d.ts.map +1 -0
- package/dist/src/item-event-guard.test.js +55 -0
- package/dist/src/item-event-guard.test.js.map +1 -0
- package/dist/src/modified-file-push-tracker.d.ts +24 -0
- package/dist/src/modified-file-push-tracker.d.ts.map +1 -0
- package/dist/src/modified-file-push-tracker.js +125 -0
- package/dist/src/modified-file-push-tracker.js.map +1 -0
- package/dist/src/nas-volumes.d.ts +43 -0
- package/dist/src/nas-volumes.d.ts.map +1 -0
- package/dist/src/nas-volumes.js +307 -0
- package/dist/src/nas-volumes.js.map +1 -0
- package/dist/src/nas-volumes.test.d.ts +2 -0
- package/dist/src/nas-volumes.test.d.ts.map +1 -0
- package/dist/src/nas-volumes.test.js +229 -0
- package/dist/src/nas-volumes.test.js.map +1 -0
- package/dist/src/per-message-fallback-notice.d.ts +43 -0
- package/dist/src/per-message-fallback-notice.d.ts.map +1 -0
- package/dist/src/per-message-fallback-notice.js +93 -0
- package/dist/src/per-message-fallback-notice.js.map +1 -0
- package/dist/src/per-message-fallback-notice.test.d.ts +2 -0
- package/dist/src/per-message-fallback-notice.test.d.ts.map +1 -0
- package/dist/src/per-message-fallback-notice.test.js +47 -0
- package/dist/src/per-message-fallback-notice.test.js.map +1 -0
- package/dist/src/per-message-model-pending.d.ts +17 -0
- package/dist/src/per-message-model-pending.d.ts.map +1 -0
- package/dist/src/per-message-model-pending.js +45 -0
- package/dist/src/per-message-model-pending.js.map +1 -0
- package/dist/src/plan/action-dispatch-event-compat.test.d.ts +2 -0
- package/dist/src/plan/action-dispatch-event-compat.test.d.ts.map +1 -0
- package/dist/src/plan/action-dispatch-event-compat.test.js +81 -0
- package/dist/src/plan/action-dispatch-event-compat.test.js.map +1 -0
- package/dist/src/plan/action-store-lifecycle.test.js +5 -5
- package/dist/src/plan/plan-core-db.test.js +9 -9
- package/dist/src/plan/plan-core-snapshot.test.js +9 -9
- package/dist/src/plan-blocked-notice.d.ts +14 -0
- package/dist/src/plan-blocked-notice.d.ts.map +1 -0
- package/dist/src/plan-blocked-notice.js +41 -0
- package/dist/src/plan-blocked-notice.js.map +1 -0
- package/dist/src/plan-blocked-notice.test.d.ts +2 -0
- package/dist/src/plan-blocked-notice.test.d.ts.map +1 -0
- package/dist/src/plan-blocked-notice.test.js +96 -0
- package/dist/src/plan-blocked-notice.test.js.map +1 -0
- package/dist/src/plan-event-subscription.d.ts +36 -0
- package/dist/src/plan-event-subscription.d.ts.map +1 -0
- package/dist/src/plan-event-subscription.js +57 -0
- package/dist/src/plan-event-subscription.js.map +1 -0
- package/dist/src/plan-event-subscription.test.d.ts +2 -0
- package/dist/src/plan-event-subscription.test.d.ts.map +1 -0
- package/dist/src/plan-event-subscription.test.js +167 -0
- package/dist/src/plan-event-subscription.test.js.map +1 -0
- package/dist/src/plan-stat-event.d.ts +28 -0
- package/dist/src/plan-stat-event.d.ts.map +1 -0
- package/dist/src/plan-stat-event.js +74 -0
- package/dist/src/plan-stat-event.js.map +1 -0
- package/dist/src/plan-stat-event.test.d.ts +2 -0
- package/dist/src/plan-stat-event.test.d.ts.map +1 -0
- package/dist/src/plan-stat-event.test.js +248 -0
- package/dist/src/plan-stat-event.test.js.map +1 -0
- package/dist/src/plan-store-access.d.ts +23 -0
- package/dist/src/plan-store-access.d.ts.map +1 -0
- package/dist/src/plan-store-access.js +96 -0
- package/dist/src/plan-store-access.js.map +1 -0
- package/dist/src/plan-store-access.test.d.ts +2 -0
- package/dist/src/plan-store-access.test.d.ts.map +1 -0
- package/dist/src/plan-store-access.test.js +207 -0
- package/dist/src/plan-store-access.test.js.map +1 -0
- package/dist/src/plan-tool-middleware.d.ts +27 -0
- package/dist/src/plan-tool-middleware.d.ts.map +1 -0
- package/dist/src/plan-tool-middleware.js +112 -0
- package/dist/src/plan-tool-middleware.js.map +1 -0
- package/dist/src/plan-tool-middleware.test.d.ts +2 -0
- package/dist/src/plan-tool-middleware.test.d.ts.map +1 -0
- package/dist/src/plan-tool-middleware.test.js +623 -0
- package/dist/src/plan-tool-middleware.test.js.map +1 -0
- package/dist/src/plan-tool-result.d.ts +18 -0
- package/dist/src/plan-tool-result.d.ts.map +1 -0
- package/dist/src/plan-tool-result.js +77 -0
- package/dist/src/plan-tool-result.js.map +1 -0
- package/dist/src/plan-tool-result.test.d.ts +2 -0
- package/dist/src/plan-tool-result.test.d.ts.map +1 -0
- package/dist/src/plan-tool-result.test.js +129 -0
- package/dist/src/plan-tool-result.test.js.map +1 -0
- package/dist/src/plan-ws-registry.d.ts +11 -0
- package/dist/src/plan-ws-registry.d.ts.map +1 -0
- package/dist/src/plan-ws-registry.js +27 -0
- package/dist/src/plan-ws-registry.js.map +1 -0
- package/dist/src/plan-ws-registry.test.d.ts +2 -0
- package/dist/src/plan-ws-registry.test.d.ts.map +1 -0
- package/dist/src/plan-ws-registry.test.js +43 -0
- package/dist/src/plan-ws-registry.test.js.map +1 -0
- package/dist/src/progress-display.d.ts +77 -0
- package/dist/src/progress-display.d.ts.map +1 -0
- package/dist/src/progress-display.js +420 -0
- package/dist/src/progress-display.js.map +1 -0
- package/dist/src/project-path-normalize.d.ts +30 -0
- package/dist/src/project-path-normalize.d.ts.map +1 -0
- package/dist/src/project-path-normalize.js +101 -0
- package/dist/src/project-path-normalize.js.map +1 -0
- package/dist/src/recommended-system-prompt.d.ts +3 -0
- package/dist/src/recommended-system-prompt.d.ts.map +1 -0
- package/dist/src/recommended-system-prompt.js +8 -0
- package/dist/src/recommended-system-prompt.js.map +1 -0
- package/dist/src/register-per-message-model-hook.d.ts +6 -0
- package/dist/src/register-per-message-model-hook.d.ts.map +1 -0
- package/dist/src/register-per-message-model-hook.js +22 -0
- package/dist/src/register-per-message-model-hook.js.map +1 -0
- package/dist/src/resolve-inbound-group-prompt.d.ts +21 -0
- package/dist/src/resolve-inbound-group-prompt.d.ts.map +1 -0
- package/dist/src/resolve-inbound-group-prompt.js +43 -0
- package/dist/src/resolve-inbound-group-prompt.js.map +1 -0
- package/dist/src/resource-file.d.ts +119 -0
- package/dist/src/resource-file.d.ts.map +1 -0
- package/dist/src/resource-file.js +533 -0
- package/dist/src/resource-file.js.map +1 -0
- package/dist/src/resource-file.test.d.ts +2 -0
- package/dist/src/resource-file.test.d.ts.map +1 -0
- package/dist/src/resource-file.test.js +64 -0
- package/dist/src/resource-file.test.js.map +1 -0
- package/dist/src/run-usage-session.d.ts +10 -0
- package/dist/src/run-usage-session.d.ts.map +1 -0
- package/dist/src/run-usage-session.js +29 -0
- package/dist/src/run-usage-session.js.map +1 -0
- package/dist/src/run-usage.d.ts +52 -0
- package/dist/src/run-usage.d.ts.map +1 -0
- package/dist/src/run-usage.js +93 -0
- package/dist/src/run-usage.js.map +1 -0
- package/dist/src/run-usage.test.d.ts +2 -0
- package/dist/src/run-usage.test.d.ts.map +1 -0
- package/dist/src/run-usage.test.js +90 -0
- package/dist/src/run-usage.test.js.map +1 -0
- package/dist/src/send-file-event.d.ts +26 -0
- package/dist/src/send-file-event.d.ts.map +1 -0
- package/dist/src/send-file-event.js +33 -0
- package/dist/src/send-file-event.js.map +1 -0
- package/dist/src/send-file-event.test.d.ts +2 -0
- package/dist/src/send-file-event.test.d.ts.map +1 -0
- package/dist/src/send-file-event.test.js +86 -0
- package/dist/src/send-file-event.test.js.map +1 -0
- package/dist/src/send-file-tool.d.ts +81 -0
- package/dist/src/send-file-tool.d.ts.map +1 -0
- package/dist/src/send-file-tool.js +363 -0
- package/dist/src/send-file-tool.js.map +1 -0
- package/dist/src/send-file-tool.test.d.ts +2 -0
- package/dist/src/send-file-tool.test.d.ts.map +1 -0
- package/dist/src/send-file-tool.test.js +176 -0
- package/dist/src/send-file-tool.test.js.map +1 -0
- package/dist/src/send-group-message-tool.d.ts +17 -0
- package/dist/src/send-group-message-tool.d.ts.map +1 -0
- package/dist/src/send-group-message-tool.js +82 -0
- package/dist/src/send-group-message-tool.js.map +1 -0
- package/dist/src/send-service.d.ts +83 -0
- package/dist/src/send-service.d.ts.map +1 -0
- package/dist/src/send-service.js +324 -0
- package/dist/src/send-service.js.map +1 -0
- package/dist/src/send-service.test.d.ts +2 -0
- package/dist/src/send-service.test.d.ts.map +1 -0
- package/dist/src/send-service.test.js +40 -0
- package/dist/src/send-service.test.js.map +1 -0
- package/dist/src/session/build-project-prompt.test.js +18 -18
- package/dist/src/session-im-context.d.ts +13 -0
- package/dist/src/session-im-context.d.ts.map +1 -0
- package/dist/src/session-im-context.js +45 -0
- package/dist/src/session-im-context.js.map +1 -0
- package/dist/src/subagent-delivery-phase.d.ts +10 -0
- package/dist/src/subagent-delivery-phase.d.ts.map +1 -0
- package/dist/src/subagent-delivery-phase.js +4 -0
- package/dist/src/subagent-delivery-phase.js.map +1 -0
- package/dist/src/subagent-delivery-phase.test.d.ts +2 -0
- package/dist/src/subagent-delivery-phase.test.d.ts.map +1 -0
- package/dist/src/subagent-delivery-phase.test.js +12 -0
- package/dist/src/subagent-delivery-phase.test.js.map +1 -0
- package/dist/src/subagent-monitor.d.ts +32 -0
- package/dist/src/subagent-monitor.d.ts.map +1 -0
- package/dist/src/subagent-monitor.js +370 -0
- package/dist/src/subagent-monitor.js.map +1 -0
- package/dist/src/subagent-monitor.test.d.ts +2 -0
- package/dist/src/subagent-monitor.test.d.ts.map +1 -0
- package/dist/src/subagent-monitor.test.js +214 -0
- package/dist/src/subagent-monitor.test.js.map +1 -0
- package/dist/src/sync-mapping-types.d.ts +220 -0
- package/dist/src/sync-mapping-types.d.ts.map +1 -0
- package/dist/src/sync-mapping-types.js +55 -0
- package/dist/src/sync-mapping-types.js.map +1 -0
- package/dist/src/sync-service-client.d.ts +29 -0
- package/dist/src/sync-service-client.d.ts.map +1 -0
- package/dist/src/sync-service-client.js +72 -0
- package/dist/src/sync-service-client.js.map +1 -0
- package/dist/src/thinking-ws-progress.d.ts +24 -0
- package/dist/src/thinking-ws-progress.d.ts.map +1 -0
- package/dist/src/thinking-ws-progress.js +45 -0
- package/dist/src/thinking-ws-progress.js.map +1 -0
- package/dist/src/thinking-ws-progress.test.d.ts +2 -0
- package/dist/src/thinking-ws-progress.test.d.ts.map +1 -0
- package/dist/src/thinking-ws-progress.test.js +38 -0
- package/dist/src/thinking-ws-progress.test.js.map +1 -0
- package/dist/src/tool-json-result.d.ts +14 -0
- package/dist/src/tool-json-result.d.ts.map +1 -0
- package/dist/src/tool-json-result.js +20 -0
- package/dist/src/tool-json-result.js.map +1 -0
- package/dist/src/turn/turn-agent-event-subscription.d.ts.map +1 -1
- package/dist/src/turn/turn-agent-event-subscription.js +14 -0
- package/dist/src/turn/turn-agent-event-subscription.js.map +1 -1
- package/dist/src/turn-deliver-buffer.d.ts +60 -0
- package/dist/src/turn-deliver-buffer.d.ts.map +1 -0
- package/dist/src/turn-deliver-buffer.js +133 -0
- package/dist/src/turn-deliver-buffer.js.map +1 -0
- package/dist/src/turn-deliver-buffer.test.d.ts +2 -0
- package/dist/src/turn-deliver-buffer.test.d.ts.map +1 -0
- package/dist/src/turn-deliver-buffer.test.js +184 -0
- package/dist/src/turn-deliver-buffer.test.js.map +1 -0
- package/dist/src/types.d.ts +386 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +32 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/user-facing-errors.d.ts +32 -0
- package/dist/src/user-facing-errors.d.ts.map +1 -0
- package/dist/src/user-facing-errors.js +120 -0
- package/dist/src/user-facing-errors.js.map +1 -0
- package/dist/src/user-facing-errors.test.d.ts +2 -0
- package/dist/src/user-facing-errors.test.d.ts.map +1 -0
- package/dist/src/user-facing-errors.test.js +102 -0
- package/dist/src/user-facing-errors.test.js.map +1 -0
- package/dist/src/workspace/nas-volumes.test.js +3 -2
- package/dist/src/workspace/nas-volumes.test.js.map +1 -1
- package/dist/src/ws-inbound-schema.d.ts +14 -0
- package/dist/src/ws-inbound-schema.d.ts.map +1 -0
- package/dist/src/ws-inbound-schema.js +67 -0
- package/dist/src/ws-inbound-schema.js.map +1 -0
- package/dist/src/ws-run-event-unmapped.d.ts +10 -0
- package/dist/src/ws-run-event-unmapped.d.ts.map +1 -0
- package/dist/src/ws-run-event-unmapped.js +16 -0
- package/dist/src/ws-run-event-unmapped.js.map +1 -0
- package/dist/src/ws-run-event-unmapped.test.d.ts +2 -0
- package/dist/src/ws-run-event-unmapped.test.d.ts.map +1 -0
- package/dist/src/ws-run-event-unmapped.test.js +15 -0
- package/dist/src/ws-run-event-unmapped.test.js.map +1 -0
- package/openclaw.plugin.json +30 -30
- package/package.json +83 -83
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* deliver 正文预处理:剥离 OpenClaw MEDIA 指令行、用量 footer、同轮重复纯文本抑制。
|
|
3
|
+
*/
|
|
4
|
+
/** 从用户可见正文中移除 `MEDIA:<path>` 独立行(OpenClaw 媒体指令不应出现在 IM 正文里)。 */
|
|
5
|
+
export declare function stripMediaDirectiveLines(text: string): string;
|
|
6
|
+
/** 移除模型用量 footer / Usage 行(仅用于同轮去重比较,不用于改写发给 IM 的正文)。 */
|
|
7
|
+
export declare function stripModelUsageFooter(text: string): string;
|
|
8
|
+
/**
|
|
9
|
+
* 用于同轮去重的正文归一化:剥 MEDIA / footer,折叠空白与空行差异。
|
|
10
|
+
* footer 在发给用户时保留;去重时忽略 footer 差异。
|
|
11
|
+
*/
|
|
12
|
+
export declare function normalizeDeliverComparableText(text: string): string;
|
|
13
|
+
/** 同轮内:若本条与上一条已发正文相同且本条无媒体,则视为重复 deliver,应跳过。 */
|
|
14
|
+
export declare function shouldSuppressDuplicateTextDeliver(args: {
|
|
15
|
+
textPart: string;
|
|
16
|
+
hasMedia: boolean;
|
|
17
|
+
lastDeliveredText: string;
|
|
18
|
+
lastDeliveredHadMedia: boolean;
|
|
19
|
+
}): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* 带附件 deliver:若 caption 与同轮已发纯文归一化后相同,则只发文件、省略重复 caption。
|
|
22
|
+
* 典型:先 HTTP 纯文 (#3),再文+附件 (#4) → 用户只应看到「说明 + 文件」,而非说明两次。
|
|
23
|
+
*/
|
|
24
|
+
export declare function shouldOmitDuplicateFileCaption(args: {
|
|
25
|
+
textPart: string;
|
|
26
|
+
hasMedia: boolean;
|
|
27
|
+
lastDeliveredText: string;
|
|
28
|
+
lastDeliveredHadMedia: boolean;
|
|
29
|
+
}): boolean;
|
|
30
|
+
//# sourceMappingURL=deliver-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliver-text.d.ts","sourceRoot":"","sources":["../../src/deliver-text.ts"],"names":[],"mappings":"AAAA;;GAEG;AA6BH,gEAAgE;AAChE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAO7D;AASD,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI1D;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASnE;AAED,iDAAiD;AACjD,wBAAgB,kCAAkC,CAAC,IAAI,EAAE;IACrD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;CAClC,GAAG,OAAO,CAQV;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,IAAI,EAAE;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;CAClC,GAAG,OAAO,CAQV"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* deliver 正文预处理:剥离 OpenClaw MEDIA 指令行、用量 footer、同轮重复纯文本抑制。
|
|
3
|
+
*/
|
|
4
|
+
const MEDIA_LINE_RE = /^\s*MEDIA:\s*.+/i;
|
|
5
|
+
/**
|
|
6
|
+
* 通用用量 footer 行(emoji 中文 and/or 英文格式)。
|
|
7
|
+
*
|
|
8
|
+
* 匹配模式:
|
|
9
|
+
* `🟢 ↑111k ↓164 · 63%ctx · openai/gpt-5.5`
|
|
10
|
+
* `_🟢 输入1.2k 输出226 · 上下文23% · openai/gpt-5.6-sol_`
|
|
11
|
+
* `Usage: 111k in / 164 out · est $0.01`
|
|
12
|
+
*/
|
|
13
|
+
const USAGE_FOOTER_LINE_RE = /^\s*_?\s*[🟢🟡🔴]?\s*(?:↑|输入)\s*[\d.]+[kmKM]?\s*(?:↓|输出)\s*[\d.]+[kmKM]?\s*·\s*(?:上下文[\d.]+%|ctx[\d.]+%|[\d.]+%)?.+$/u;
|
|
14
|
+
/** `tokens` 模式:`Usage: 111k in / 164 out · est $0.01` */
|
|
15
|
+
const USAGE_LINE_RE = /^\s*Usage:\s*.+\bin\s*\/\s*.+\bout\b/iu;
|
|
16
|
+
/** OpenClaw 2026.6.9+ `/usage full` 内置 bar(含 `↕️ 1.2k/89`) */
|
|
17
|
+
const USAGE_BAR_LINE_RE = /↕️\s*[\d.?]+[kmKM]?/u;
|
|
18
|
+
function isUsageFooterLine(line) {
|
|
19
|
+
return (USAGE_FOOTER_LINE_RE.test(line) ||
|
|
20
|
+
USAGE_LINE_RE.test(line) ||
|
|
21
|
+
USAGE_BAR_LINE_RE.test(line));
|
|
22
|
+
}
|
|
23
|
+
/** 从用户可见正文中移除 `MEDIA:<path>` 独立行(OpenClaw 媒体指令不应出现在 IM 正文里)。 */
|
|
24
|
+
export function stripMediaDirectiveLines(text) {
|
|
25
|
+
const lines = text.split(/\r?\n/);
|
|
26
|
+
const kept = lines.filter((line) => !MEDIA_LINE_RE.test(line));
|
|
27
|
+
return kept
|
|
28
|
+
.join("\n")
|
|
29
|
+
.replace(/\n{3,}/g, "\n\n")
|
|
30
|
+
.trim();
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 内联用量 footer(同一行内被其他内容包围时匹配,如 markdown 表格行)。
|
|
34
|
+
* `_🟢 输入1.2k 输出226 · 上下文23% · openai/gpt-5.6-sol_`
|
|
35
|
+
*/
|
|
36
|
+
const USAGE_FOOTER_INLINE_RE = /_?[🟢🟡🔴]?\s*(?:↑|输入)\s*[\d.]+[kmKM]?\s*(?:↓|输出)\s*[\d.]+[kmKM]?\s*·\s*(?:上下文[\d.]+%|ctx[\d.]+%|[\d.]+%)?\s*·\s*.+?_?\s*/gu;
|
|
37
|
+
/** 移除模型用量 footer / Usage 行(仅用于同轮去重比较,不用于改写发给 IM 的正文)。 */
|
|
38
|
+
export function stripModelUsageFooter(text) {
|
|
39
|
+
const lines = text.split(/\r?\n/);
|
|
40
|
+
const kept = lines.filter((line) => !isUsageFooterLine(line));
|
|
41
|
+
return kept.join("\n").replace(USAGE_FOOTER_INLINE_RE, "").trim();
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* 用于同轮去重的正文归一化:剥 MEDIA / footer,折叠空白与空行差异。
|
|
45
|
+
* footer 在发给用户时保留;去重时忽略 footer 差异。
|
|
46
|
+
*/
|
|
47
|
+
export function normalizeDeliverComparableText(text) {
|
|
48
|
+
let t = stripModelUsageFooter(stripMediaDirectiveLines(text));
|
|
49
|
+
t = t.replace(/\r\n/g, "\n");
|
|
50
|
+
t = t
|
|
51
|
+
.split("\n")
|
|
52
|
+
.map((line) => line.replace(/[ \t]+/g, " ").trim())
|
|
53
|
+
.filter((line) => line.length > 0 && !/^-{3,}$/.test(line))
|
|
54
|
+
.join("\n");
|
|
55
|
+
return t.trim();
|
|
56
|
+
}
|
|
57
|
+
/** 同轮内:若本条与上一条已发正文相同且本条无媒体,则视为重复 deliver,应跳过。 */
|
|
58
|
+
export function shouldSuppressDuplicateTextDeliver(args) {
|
|
59
|
+
if (args.hasMedia)
|
|
60
|
+
return false;
|
|
61
|
+
const text = normalizeDeliverComparableText(args.textPart);
|
|
62
|
+
if (!text)
|
|
63
|
+
return false;
|
|
64
|
+
if (!args.lastDeliveredText)
|
|
65
|
+
return false;
|
|
66
|
+
const last = normalizeDeliverComparableText(args.lastDeliveredText);
|
|
67
|
+
if (text !== last)
|
|
68
|
+
return false;
|
|
69
|
+
return args.lastDeliveredHadMedia || text.length > 0;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* 带附件 deliver:若 caption 与同轮已发纯文归一化后相同,则只发文件、省略重复 caption。
|
|
73
|
+
* 典型:先 HTTP 纯文 (#3),再文+附件 (#4) → 用户只应看到「说明 + 文件」,而非说明两次。
|
|
74
|
+
*/
|
|
75
|
+
export function shouldOmitDuplicateFileCaption(args) {
|
|
76
|
+
if (!args.hasMedia)
|
|
77
|
+
return false;
|
|
78
|
+
const caption = normalizeDeliverComparableText(args.textPart);
|
|
79
|
+
if (caption.length < 16)
|
|
80
|
+
return false;
|
|
81
|
+
if (!args.lastDeliveredText)
|
|
82
|
+
return false;
|
|
83
|
+
const last = normalizeDeliverComparableText(args.lastDeliveredText);
|
|
84
|
+
if (!last)
|
|
85
|
+
return false;
|
|
86
|
+
return caption === last;
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=deliver-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliver-text.js","sourceRoot":"","sources":["../../src/deliver-text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,aAAa,GAAG,kBAAkB,CAAC;AAEzC;;;;;;;GAOG;AACH,MAAM,oBAAoB,GACtB,uHAAuH,CAAC;AAE5H,yDAAyD;AACzD,MAAM,aAAa,GAAG,wCAAwC,CAAC;AAE/D,8DAA8D;AAC9D,MAAM,iBAAiB,GAAG,sBAAsB,CAAC;AAEjD,SAAS,iBAAiB,CAAC,IAAY;IACnC,OAAO,CACH,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;QACxB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;AACN,CAAC;AAED,gEAAgE;AAChE,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,OAAO,IAAI;SACN,IAAI,CAAC,IAAI,CAAC;SACV,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,sBAAsB,GACxB,6HAA6H,CAAC;AAElI,yDAAyD;AACzD,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAAY;IACvD,IAAI,CAAC,GAAG,qBAAqB,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9D,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC7B,CAAC,GAAG,CAAC;SACA,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;SAClD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1D,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;AACpB,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,kCAAkC,CAAC,IAKlD;IACG,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChC,MAAM,IAAI,GAAG,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3D,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,IAAI,GAAG,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpE,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACzD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,8BAA8B,CAAC,IAK9C;IACG,IAAI,CAAC,IAAI,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACjC,MAAM,OAAO,GAAG,8BAA8B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC9D,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,CAAC,IAAI,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC1C,MAAM,IAAI,GAAG,8BAA8B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACpE,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,OAAO,KAAK,IAAI,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliver-text.test.d.ts","sourceRoot":"","sources":["../../src/deliver-text.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import assert from "node:assert/strict";
|
|
2
|
+
import { describe, it } from "node:test";
|
|
3
|
+
import { normalizeDeliverComparableText, shouldOmitDuplicateFileCaption, shouldSuppressDuplicateTextDeliver, stripMediaDirectiveLines, stripModelUsageFooter, } from "./deliver-text.js";
|
|
4
|
+
// 生产 incident 回归:侯桐 2026-07-10 终态三连发(空行/footer 微差)
|
|
5
|
+
const HOUTONG_BODY_LOOSE = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
6
|
+
|
|
7
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
8
|
+
|
|
9
|
+
- 不用 SVG
|
|
10
|
+
- 不用 Mermaid
|
|
11
|
+
- 不用图片
|
|
12
|
+
- 全部用 Markdown 表格 + 文本流程图 + 状态表表达
|
|
13
|
+
|
|
14
|
+
这样在 IM 文件预览里也能直接看懂完整流程。
|
|
15
|
+
|
|
16
|
+
新文件:
|
|
17
|
+
|
|
18
|
+
-----`;
|
|
19
|
+
const HOUTONG_BODY_TIGHT = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
20
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
21
|
+
- 不用 SVG
|
|
22
|
+
- 不用 Mermaid
|
|
23
|
+
- 不用图片
|
|
24
|
+
- 全部用 Markdown 表格 + 文本流程图 + 状态表表达
|
|
25
|
+
这样在 IM 文件预览里也能直接看懂完整流程。
|
|
26
|
+
新文件:`;
|
|
27
|
+
const HOUTONG_BODY_WITH_FOOTER = `${HOUTONG_BODY_TIGHT}
|
|
28
|
+
|
|
29
|
+
_🟡 ↑111k ↓164 · 63%ctx · openai/gpt-5.5_`;
|
|
30
|
+
describe("stripMediaDirectiveLines", () => {
|
|
31
|
+
it("removes MEDIA directive lines", () => {
|
|
32
|
+
const input = "文件在这里\nMEDIA:./xg-cwork-im/report.md\n";
|
|
33
|
+
assert.equal(stripMediaDirectiveLines(input), "文件在这里");
|
|
34
|
+
});
|
|
35
|
+
it("keeps usage footer in user-visible text (footer only stripped for dedup)", () => {
|
|
36
|
+
const withFooter = "正文\n\n_🟡 ↑111k ↓164 · 63%ctx · openai/gpt-5.5_";
|
|
37
|
+
assert.equal(stripMediaDirectiveLines(withFooter), withFooter);
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
describe("stripModelUsageFooter", () => {
|
|
41
|
+
it("removes emoji usage footer line", () => {
|
|
42
|
+
assert.equal(stripModelUsageFooter("正文\n\n_🟡 ↑111k ↓164 · 63%ctx · openai/gpt-5.5_"), "正文");
|
|
43
|
+
});
|
|
44
|
+
it("removes OpenClaw Usage: in/out line for comparable text", () => {
|
|
45
|
+
assert.equal(stripModelUsageFooter("正文\nUsage: 1.2k in / 89 out · est $0.01"), "正文");
|
|
46
|
+
});
|
|
47
|
+
it("removes OpenClaw 2026.6.9 full usage bar for comparable text", () => {
|
|
48
|
+
assert.equal(stripModelUsageFooter("正文\nopenai🤖 gpt5.5 | 📚 [⣿⣿⣿]272k ↕️ 1.2k/89 💰0.01"), "正文");
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
describe("normalizeDeliverComparableText", () => {
|
|
52
|
+
it("treats loose vs tight newlines as same (Houtong case)", () => {
|
|
53
|
+
assert.equal(normalizeDeliverComparableText(HOUTONG_BODY_LOOSE), normalizeDeliverComparableText(HOUTONG_BODY_TIGHT));
|
|
54
|
+
});
|
|
55
|
+
it("ignores emoji usage footer when comparing", () => {
|
|
56
|
+
assert.equal(normalizeDeliverComparableText(HOUTONG_BODY_TIGHT), normalizeDeliverComparableText(HOUTONG_BODY_WITH_FOOTER));
|
|
57
|
+
});
|
|
58
|
+
it("ignores Usage: line when comparing", () => {
|
|
59
|
+
assert.equal(normalizeDeliverComparableText("最终答复"), normalizeDeliverComparableText("最终答复\nUsage: 111k in / 164 out"));
|
|
60
|
+
});
|
|
61
|
+
it("ignores full usage bar when comparing", () => {
|
|
62
|
+
assert.equal(normalizeDeliverComparableText("最终答复"), normalizeDeliverComparableText("最终答复\nopenai🤖 gpt5.5 ↕️ 111k/164"));
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe("shouldSuppressDuplicateTextDeliver", () => {
|
|
66
|
+
it("suppresses duplicate text after file caption", () => {
|
|
67
|
+
assert.equal(shouldSuppressDuplicateTextDeliver({
|
|
68
|
+
textPart: "文件在这里",
|
|
69
|
+
hasMedia: false,
|
|
70
|
+
lastDeliveredText: "文件在这里",
|
|
71
|
+
lastDeliveredHadMedia: true,
|
|
72
|
+
}), true);
|
|
73
|
+
});
|
|
74
|
+
it("does not suppress when media present", () => {
|
|
75
|
+
assert.equal(shouldSuppressDuplicateTextDeliver({
|
|
76
|
+
textPart: "文件在这里",
|
|
77
|
+
hasMedia: true,
|
|
78
|
+
lastDeliveredText: "文件在这里",
|
|
79
|
+
lastDeliveredHadMedia: true,
|
|
80
|
+
}), false);
|
|
81
|
+
});
|
|
82
|
+
it("suppresses third pure-text burst after text+file (Houtong #5)", () => {
|
|
83
|
+
assert.equal(shouldSuppressDuplicateTextDeliver({
|
|
84
|
+
textPart: HOUTONG_BODY_TIGHT,
|
|
85
|
+
hasMedia: false,
|
|
86
|
+
lastDeliveredText: HOUTONG_BODY_WITH_FOOTER,
|
|
87
|
+
lastDeliveredHadMedia: true,
|
|
88
|
+
}), true);
|
|
89
|
+
});
|
|
90
|
+
it("does not suppress distinct tool-before progress", () => {
|
|
91
|
+
assert.equal(shouldSuppressDuplicateTextDeliver({
|
|
92
|
+
textPart: "我先读一下原文档",
|
|
93
|
+
hasMedia: false,
|
|
94
|
+
lastDeliveredText: HOUTONG_BODY_TIGHT,
|
|
95
|
+
lastDeliveredHadMedia: false,
|
|
96
|
+
}), false);
|
|
97
|
+
});
|
|
98
|
+
});
|
|
99
|
+
describe("shouldOmitDuplicateFileCaption", () => {
|
|
100
|
+
it("omits caption when same text was just sent as RICH_TEXT (#4 after #3)", () => {
|
|
101
|
+
assert.equal(shouldOmitDuplicateFileCaption({
|
|
102
|
+
textPart: HOUTONG_BODY_WITH_FOOTER,
|
|
103
|
+
hasMedia: true,
|
|
104
|
+
lastDeliveredText: HOUTONG_BODY_LOOSE,
|
|
105
|
+
lastDeliveredHadMedia: false,
|
|
106
|
+
}), true);
|
|
107
|
+
});
|
|
108
|
+
it("keeps caption when preceding text differed", () => {
|
|
109
|
+
assert.equal(shouldOmitDuplicateFileCaption({
|
|
110
|
+
textPart: HOUTONG_BODY_TIGHT,
|
|
111
|
+
hasMedia: true,
|
|
112
|
+
lastDeliveredText: "现在生成一个纯 Markdown 版本",
|
|
113
|
+
lastDeliveredHadMedia: false,
|
|
114
|
+
}), false);
|
|
115
|
+
});
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=deliver-text.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deliver-text.test.js","sourceRoot":"","sources":["../../src/deliver-text.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,30 +2,30 @@ import assert from "node:assert/strict";
|
|
|
2
2
|
import { describe, it } from "node:test";
|
|
3
3
|
import { normalizeDeliverComparableText, shouldOmitDuplicateFileCaption, shouldSuppressDuplicateTextDeliver, stripMediaDirectiveLines, stripModelUsageFooter, } from "./deliver-text.js";
|
|
4
4
|
// 生产 incident 回归:侯桐 2026-07-10 终态三连发(空行/footer 微差)
|
|
5
|
-
const HOUTONG_BODY_LOOSE = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
6
|
-
|
|
7
|
-
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
8
|
-
|
|
9
|
-
- 不用 SVG
|
|
10
|
-
- 不用 Mermaid
|
|
11
|
-
- 不用图片
|
|
12
|
-
- 全部用 Markdown 表格 + 文本流程图 + 状态表表达
|
|
13
|
-
|
|
14
|
-
这样在 IM 文件预览里也能直接看懂完整流程。
|
|
15
|
-
|
|
16
|
-
新文件:
|
|
17
|
-
|
|
5
|
+
const HOUTONG_BODY_LOOSE = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
6
|
+
|
|
7
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
8
|
+
|
|
9
|
+
- 不用 SVG
|
|
10
|
+
- 不用 Mermaid
|
|
11
|
+
- 不用图片
|
|
12
|
+
- 全部用 Markdown 表格 + 文本流程图 + 状态表表达
|
|
13
|
+
|
|
14
|
+
这样在 IM 文件预览里也能直接看懂完整流程。
|
|
15
|
+
|
|
16
|
+
新文件:
|
|
17
|
+
|
|
18
18
|
-----`;
|
|
19
|
-
const HOUTONG_BODY_TIGHT = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
20
|
-
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
21
|
-
- 不用 SVG
|
|
22
|
-
- 不用 Mermaid
|
|
23
|
-
- 不用图片
|
|
24
|
-
- 全部用 Markdown 表格 + 文本流程图 + 状态表表达
|
|
25
|
-
这样在 IM 文件预览里也能直接看懂完整流程。
|
|
19
|
+
const HOUTONG_BODY_TIGHT = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
20
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
21
|
+
- 不用 SVG
|
|
22
|
+
- 不用 Mermaid
|
|
23
|
+
- 不用图片
|
|
24
|
+
- 全部用 Markdown 表格 + 文本流程图 + 状态表表达
|
|
25
|
+
这样在 IM 文件预览里也能直接看懂完整流程。
|
|
26
26
|
新文件:`;
|
|
27
|
-
const HOUTONG_BODY_WITH_FOOTER = `${HOUTONG_BODY_TIGHT}
|
|
28
|
-
|
|
27
|
+
const HOUTONG_BODY_WITH_FOOTER = `${HOUTONG_BODY_TIGHT}
|
|
28
|
+
|
|
29
29
|
_🟡 ↑111k ↓164 · 63%ctx · openai/gpt-5.5_`;
|
|
30
30
|
describe("stripMediaDirectiveLines", () => {
|
|
31
31
|
it("removes MEDIA directive lines", () => {
|
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import { describe, it } from "node:test";
|
|
3
3
|
import { isDeliverPayloadSendable, isDeliverTextRevision, snapshotSupersedesBufferText, TurnDeliverBuffer, } from "./turn-deliver-buffer.js";
|
|
4
|
-
const HOUTONG_BODY_LOOSE = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
5
|
-
|
|
6
|
-
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
7
|
-
|
|
8
|
-
- 不用 SVG
|
|
9
|
-
新文件:
|
|
10
|
-
|
|
4
|
+
const HOUTONG_BODY_LOOSE = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
5
|
+
|
|
6
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
7
|
+
|
|
8
|
+
- 不用 SVG
|
|
9
|
+
新文件:
|
|
10
|
+
|
|
11
11
|
-----`;
|
|
12
|
-
const HOUTONG_BODY_TIGHT = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
13
|
-
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
14
|
-
- 不用 SVG
|
|
12
|
+
const HOUTONG_BODY_TIGHT = `确实是这个问题:昨天那版虽然用了内嵌 SVG,但你现在的文档预览器没有把 SVG 正常渲染出来,所以流程看不到。
|
|
13
|
+
我已经重新生成了一版**纯 Markdown 可读版**:
|
|
14
|
+
- 不用 SVG
|
|
15
15
|
新文件:`;
|
|
16
|
-
const WORLD_CUP_PARTIAL = `| 场次 | 时间 |
|
|
17
|
-
| --- | --- |
|
|
18
|
-
| 1 | 21:00 |
|
|
16
|
+
const WORLD_CUP_PARTIAL = `| 场次 | 时间 |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| 1 | 21:00 |
|
|
19
19
|
| 2 |`;
|
|
20
|
-
const WORLD_CUP_FULL = `| 场次 | 时间 |
|
|
21
|
-
| --- | --- |
|
|
22
|
-
| 1 | 21:00 |
|
|
23
|
-
| 2 | 00:00 |
|
|
20
|
+
const WORLD_CUP_FULL = `| 场次 | 时间 |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| 1 | 21:00 |
|
|
23
|
+
| 2 | 00:00 |
|
|
24
24
|
| 3 | 03:00 |`;
|
|
25
|
-
const RT002_PART1 = `BEGIN_123
|
|
26
|
-
|
|
27
|
-
## 一、背景
|
|
28
|
-
|
|
25
|
+
const RT002_PART1 = `BEGIN_123
|
|
26
|
+
|
|
27
|
+
## 一、背景
|
|
28
|
+
|
|
29
29
|
随着人工智能技术的快速发展,企业级AI助手在提升工作效率中发挥着日益重要的作用。`;
|
|
30
|
-
const RT002_PART2 = `- 工具调用的完整日志必须被记录,包括调用时间、调用者、工具名称。
|
|
31
|
-
|
|
32
|
-
## 六、审计
|
|
33
|
-
|
|
30
|
+
const RT002_PART2 = `- 工具调用的完整日志必须被记录,包括调用时间、调用者、工具名称。
|
|
31
|
+
|
|
32
|
+
## 六、审计
|
|
33
|
+
|
|
34
34
|
审计是AI助手治理的监督机制。`;
|
|
35
35
|
function entry(textPart, hasMedia = false) {
|
|
36
36
|
return {
|
|
@@ -16,6 +16,7 @@ export type FirstReplyTimeoutCause = "never_started" | "in_progress" | "ended_wi
|
|
|
16
16
|
export declare function isAttachmentBlockedErrorMessage(message: string): boolean;
|
|
17
17
|
export declare function isWebSocketNotReadyErrorMessage(message: string): boolean;
|
|
18
18
|
export declare function isContextOverflowErrorMessage(message: string): boolean;
|
|
19
|
+
export declare function isGatewayDrainingErrorMessage(message: string): boolean;
|
|
19
20
|
export declare function isNasVolumeErrorMessage(message: string): boolean;
|
|
20
21
|
/**
|
|
21
22
|
* 上游错误 → IM 正文:确认白名单译人话,否则透传截断原文;无内容则空串。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-facing-errors.d.ts","sourceRoot":"","sources":["../../../src/delivery/user-facing-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG/E,MAAM,MAAM,sBAAsB,GAAG;IACjC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACzC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,aAAa,GAAG,0BAA0B,CAAC;AAIlG,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQxE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAatE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGhE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"user-facing-errors.d.ts","sourceRoot":"","sources":["../../../src/delivery/user-facing-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG/E,MAAM,MAAM,sBAAsB,GAAG;IACjC,4BAA4B;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACzC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,MAAM,sBAAsB,GAAG,eAAe,GAAG,aAAa,GAAG,0BAA0B,CAAC;AAIlG,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAQxE;AAED,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGxE;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAatE;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGtE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGhE;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAoBrE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACpC,KAAK,EAAE,aAAa,EACpB,OAAO,CAAC,EAAE,sBAAsB,GACjC,MAAM,CAiBR;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,GAAE,MAAM,EAAO,GAAG,MAAM,CAgChG"}
|
|
@@ -26,6 +26,10 @@ export function isContextOverflowErrorMessage(message) {
|
|
|
26
26
|
lower.includes("promptbudget") ||
|
|
27
27
|
(lower.includes("precheck") && lower.includes("overflow")));
|
|
28
28
|
}
|
|
29
|
+
export function isGatewayDrainingErrorMessage(message) {
|
|
30
|
+
const lower = message.trim().toLowerCase();
|
|
31
|
+
return lower.includes("gateway is draining") || lower.includes("gateway draining");
|
|
32
|
+
}
|
|
29
33
|
export function isNasVolumeErrorMessage(message) {
|
|
30
34
|
const trimmed = message.trim();
|
|
31
35
|
return trimmed.includes("NAS_VOLUME_") || trimmed.includes("nasVolumes.dockerDir");
|
|
@@ -43,6 +47,9 @@ export function formatConfirmedUpstreamErrorForIm(raw) {
|
|
|
43
47
|
if (isWebSocketNotReadyErrorMessage(t)) {
|
|
44
48
|
return "网络不太稳定,请稍后再试。";
|
|
45
49
|
}
|
|
50
|
+
if (isGatewayDrainingErrorMessage(t)) {
|
|
51
|
+
return "升级插件,暂时无法使用,请稍后……";
|
|
52
|
+
}
|
|
46
53
|
if (isContextOverflowErrorMessage(t)) {
|
|
47
54
|
return "当前对话上下文过大,处理失败。";
|
|
48
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-facing-errors.js","sourceRoot":"","sources":["../../../src/delivery/user-facing-errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user-facing-errors.js","sourceRoot":"","sources":["../../../src/delivery/user-facing-errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import assert from "node:assert/strict";
|
|
2
2
|
import { describe, it } from "node:test";
|
|
3
|
-
import { buildTerminalUserMessage, formatConfirmedUpstreamErrorForIm, formatUserFacingMediaDeliverError, isAttachmentBlockedErrorMessage, isContextOverflowErrorMessage, isNasVolumeErrorMessage, isWebSocketNotReadyErrorMessage, } from "./user-facing-errors.js";
|
|
3
|
+
import { buildTerminalUserMessage, formatConfirmedUpstreamErrorForIm, formatUserFacingMediaDeliverError, isAttachmentBlockedErrorMessage, isContextOverflowErrorMessage, isGatewayDrainingErrorMessage, isNasVolumeErrorMessage, isWebSocketNotReadyErrorMessage, } from "./user-facing-errors.js";
|
|
4
4
|
describe("isContextOverflowErrorMessage", () => {
|
|
5
5
|
it("detects context-overflow-precheck log style", () => {
|
|
6
6
|
assert.equal(isContextOverflowErrorMessage("[context-overflow-precheck] overflowTokens=72970 estimatedPromptTokens=328586"), true);
|
|
@@ -19,6 +19,13 @@ describe("isWebSocketNotReadyErrorMessage", () => {
|
|
|
19
19
|
assert.equal(isWebSocketNotReadyErrorMessage("Some other error"), false);
|
|
20
20
|
});
|
|
21
21
|
});
|
|
22
|
+
describe("isGatewayDrainingErrorMessage", () => {
|
|
23
|
+
it("detects GatewayDrainingError default message", () => {
|
|
24
|
+
assert.equal(isGatewayDrainingErrorMessage("Gateway is draining; new tasks are not accepted"), true);
|
|
25
|
+
assert.equal(isGatewayDrainingErrorMessage("gateway is draining for restart"), true);
|
|
26
|
+
assert.equal(isGatewayDrainingErrorMessage("Some other error"), false);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
22
29
|
describe("formatConfirmedUpstreamErrorForIm", () => {
|
|
23
30
|
it("maps overflow and attachment; passthrough unknown", () => {
|
|
24
31
|
assert.ok(formatConfirmedUpstreamErrorForIm("[context-overflow-precheck] overflowTokens=100").includes("上下文过大"));
|
|
@@ -32,6 +39,10 @@ describe("formatConfirmedUpstreamErrorForIm", () => {
|
|
|
32
39
|
assert.ok(!msg.includes("[cwork_im:"));
|
|
33
40
|
assert.ok(!msg.includes("WebSocket"));
|
|
34
41
|
});
|
|
42
|
+
it("maps Gateway draining to upgrade notice", () => {
|
|
43
|
+
const msg = formatConfirmedUpstreamErrorForIm("Gateway is draining; new tasks are not accepted");
|
|
44
|
+
assert.equal(msg, "升级插件,暂时无法使用,请稍后……");
|
|
45
|
+
});
|
|
35
46
|
it("hides NAS host paths and configuration details", () => {
|
|
36
47
|
const raw = "NAS_VOLUME_SOURCE_FORBIDDEN: realDir 不在允许根内: /data/touqian/secret";
|
|
37
48
|
assert.equal(isNasVolumeErrorMessage(raw), true);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-facing-errors.test.js","sourceRoot":"","sources":["../../../src/delivery/user-facing-errors.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user-facing-errors.test.js","sourceRoot":"","sources":["../../../src/delivery/user-facing-errors.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @ 触发的单轮回复:WebSocket BEGIN、OpenClaw dispatchReplyWithBufferedBlockDispatcher、HTTP deliver、RUN_USAGE、FINISHED。
|
|
3
|
+
*/
|
|
4
|
+
import type { OpenClawConfig } from "openclaw/plugin-sdk";
|
|
5
|
+
import type { ImStreamClient } from "./connection.js";
|
|
6
|
+
import type { Logger } from "./channel-log.js";
|
|
7
|
+
import { type InboundTrigger } from "./inbound-chat-type.js";
|
|
8
|
+
import type { AutoRouteResult } from "./auto-model-router.js";
|
|
9
|
+
import type { BotIdentity, WsMessageParams, XgImConfig } from "./types.js";
|
|
10
|
+
import type { NasVolume } from "./agent-context-types.js";
|
|
11
|
+
/** 流式 BEGIN → dispatch → 可选 RUN_USAGE → 必发 FINISHED;首包超时仅日志(不对 IM 发超时话术) */
|
|
12
|
+
export declare function dispatchMentionedReply(args: {
|
|
13
|
+
accountId: string;
|
|
14
|
+
rt: any;
|
|
15
|
+
cfg: OpenClawConfig;
|
|
16
|
+
config: XgImConfig;
|
|
17
|
+
log: Logger;
|
|
18
|
+
logPrefix: string;
|
|
19
|
+
route: {
|
|
20
|
+
sessionKey: string;
|
|
21
|
+
agentId: string;
|
|
22
|
+
};
|
|
23
|
+
inboundCtx: unknown;
|
|
24
|
+
params: WsMessageParams;
|
|
25
|
+
currentIdentity: BotIdentity;
|
|
26
|
+
streamClient: ImStreamClient;
|
|
27
|
+
/** Agent 在宿主机的 workspace 绝对路径,用于解析 /workspace/ 沙箱路径 */
|
|
28
|
+
agentWorkspaceDir?: string;
|
|
29
|
+
/** agentContext.nasVolumes;在 dispatch 前注入当前 session 的 Docker binds。 */
|
|
30
|
+
nasVolumes?: NasVolume[];
|
|
31
|
+
/** 单轮模型覆盖(msgContent.ext.ai_model → OpenClaw replyOptions.modelOverride) */
|
|
32
|
+
modelOverride?: string;
|
|
33
|
+
/** 单轮推理等级覆盖(Auto Router / 模型默认;用户显式 /think 时由入站侧置空) */
|
|
34
|
+
thinkingLevelOverride?: string;
|
|
35
|
+
/** Auto Router 结果元数据(仅日志/监控,不参与 dispatch 语义) */
|
|
36
|
+
autoRouteMeta?: AutoRouteResult;
|
|
37
|
+
/** 入站触发源(用户 / runtime continue 等) */
|
|
38
|
+
inboundTrigger?: InboundTrigger;
|
|
39
|
+
/** 严格匹配 `/stop` 的控制轮次:仍交给 OpenClaw fast-abort,但不创建 IM 流生命周期。 */
|
|
40
|
+
isStopControl?: boolean;
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
//# sourceMappingURL=dispatch-mentioned-reply.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch-mentioned-reply.d.ts","sourceRoot":"","sources":["../../src/dispatch-mentioned-reply.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAqBtG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AA4B9D,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA8B1D,4EAA4E;AAC5E,wBAAsB,sBAAsB,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,GAAG,CAAC;IACR,GAAG,EAAE,cAAc,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/C,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,WAAW,CAAC;IAC7B,YAAY,EAAE,cAAc,CAAC;IAC7B,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uEAAuE;IACvE,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IACzB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uDAAuD;IACvD,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,gDAAgD;IAChD,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,qCAAqC;IACrC,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gEAAgE;IAChE,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,GAAG,OAAO,CAAC,IAAI,CAAC,CAk+BhB"}
|