@0xmaxma/claude-gateway 1.8.13 → 2.0.0
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 +28 -1605
- package/config.template.json +7 -1
- package/dist/agent/runner.d.ts +394 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +867 -38
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/skill-learning/index.d.ts +6 -4
- package/dist/agent/skill-learning/index.d.ts.map +1 -1
- package/dist/agent/skill-learning/index.js +3 -3
- package/dist/agent/skill-learning/index.js.map +1 -1
- package/dist/agent/skill-learning/notifier.d.ts +3 -4
- package/dist/agent/skill-learning/notifier.d.ts.map +1 -1
- package/dist/agent/skill-learning/notifier.js +15 -13
- package/dist/agent/skill-learning/notifier.js.map +1 -1
- package/dist/agent/skill-learning/reviewer.d.ts.map +1 -1
- package/dist/agent/skill-learning/reviewer.js +3 -1
- package/dist/agent/skill-learning/reviewer.js.map +1 -1
- package/dist/api/connectors-router.d.ts.map +1 -1
- package/dist/api/connectors-router.js +110 -4
- package/dist/api/connectors-router.js.map +1 -1
- package/dist/api/gateway-router.d.ts +1 -0
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +13 -1
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/line-webhook-router.d.ts +2 -2
- package/dist/api/line-webhook-router.d.ts.map +1 -1
- package/dist/api/line-webhook-router.js +264 -230
- package/dist/api/line-webhook-router.js.map +1 -1
- package/dist/api/router.d.ts.map +1 -1
- package/dist/api/router.js +372 -11
- package/dist/api/router.js.map +1 -1
- package/dist/api/share-router.d.ts.map +1 -1
- package/dist/api/share-router.js +29 -10
- package/dist/api/share-router.js.map +1 -1
- package/dist/api/slack-client.d.ts +2 -0
- package/dist/api/slack-client.d.ts.map +1 -1
- package/dist/api/slack-client.js +6 -2
- package/dist/api/slack-client.js.map +1 -1
- package/dist/api/slack-webhook-router.d.ts +3 -0
- package/dist/api/slack-webhook-router.d.ts.map +1 -1
- package/dist/api/slack-webhook-router.js +226 -131
- package/dist/api/slack-webhook-router.js.map +1 -1
- package/dist/api/voice-router.d.ts +21 -0
- package/dist/api/voice-router.d.ts.map +1 -0
- package/dist/api/voice-router.js +372 -0
- package/dist/api/voice-router.js.map +1 -0
- package/dist/api/voice-settings-router.d.ts +5 -0
- package/dist/api/voice-settings-router.d.ts.map +1 -0
- package/dist/api/voice-settings-router.js +318 -0
- package/dist/api/voice-settings-router.js.map +1 -0
- package/dist/api/wechat-access.d.ts +45 -0
- package/dist/api/wechat-access.d.ts.map +1 -0
- package/dist/api/wechat-access.js +48 -0
- package/dist/api/wechat-access.js.map +1 -0
- package/dist/apps/agent-container-migration.d.ts +11 -0
- package/dist/apps/agent-container-migration.d.ts.map +1 -0
- package/dist/apps/agent-container-migration.js +85 -0
- package/dist/apps/agent-container-migration.js.map +1 -0
- package/dist/apps/installer.d.ts +1 -1
- package/dist/apps/installer.d.ts.map +1 -1
- package/dist/apps/installer.js +2 -1
- package/dist/apps/installer.js.map +1 -1
- package/dist/cli/commands/tasks.d.ts +5 -0
- package/dist/cli/commands/tasks.d.ts.map +1 -0
- package/dist/cli/commands/tasks.js +92 -0
- package/dist/cli/commands/tasks.js.map +1 -0
- package/dist/cli/http-client.d.ts +2 -0
- package/dist/cli/http-client.d.ts.map +1 -1
- package/dist/cli/http-client.js +8 -3
- package/dist/cli/http-client.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +5 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/config/config-write-lock.d.ts +2 -0
- package/dist/config/config-write-lock.d.ts.map +1 -1
- package/dist/config/config-write-lock.js +5 -0
- package/dist/config/config-write-lock.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +87 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/migrator.d.ts.map +1 -1
- package/dist/config/migrator.js +12 -1
- package/dist/config/migrator.js.map +1 -1
- package/dist/config/watcher.d.ts.map +1 -1
- package/dist/config/watcher.js +6 -0
- package/dist/config/watcher.js.map +1 -1
- package/dist/connectors/resolve.d.ts.map +1 -1
- package/dist/connectors/resolve.js +3 -1
- package/dist/connectors/resolve.js.map +1 -1
- package/dist/connectors/types.d.ts +8 -0
- package/dist/connectors/types.d.ts.map +1 -1
- package/dist/cron/manager.d.ts.map +1 -1
- package/dist/cron/manager.js +21 -2
- package/dist/cron/manager.js.map +1 -1
- package/dist/discord/receiver.d.ts +2 -1
- package/dist/discord/receiver.d.ts.map +1 -1
- package/dist/discord/receiver.js +5 -1
- package/dist/discord/receiver.js.map +1 -1
- package/dist/history/db.d.ts +3 -0
- package/dist/history/db.d.ts.map +1 -1
- package/dist/history/db.js +21 -1
- package/dist/history/db.js.map +1 -1
- package/dist/history/types.d.ts +12 -1
- package/dist/history/types.d.ts.map +1 -1
- package/dist/history/types.js +10 -1
- package/dist/history/types.js.map +1 -1
- package/dist/index.js +48 -9
- package/dist/index.js.map +1 -1
- package/dist/orchestration/bounded-queue.d.ts +15 -0
- package/dist/orchestration/bounded-queue.d.ts.map +1 -0
- package/dist/orchestration/bounded-queue.js +58 -0
- package/dist/orchestration/bounded-queue.js.map +1 -0
- package/dist/orchestration/bridge.d.ts +55 -0
- package/dist/orchestration/bridge.d.ts.map +1 -0
- package/dist/orchestration/bridge.js +234 -0
- package/dist/orchestration/bridge.js.map +1 -0
- package/dist/orchestration/browser-routing.d.ts +7 -0
- package/dist/orchestration/browser-routing.d.ts.map +1 -0
- package/dist/orchestration/browser-routing.js +22 -0
- package/dist/orchestration/browser-routing.js.map +1 -0
- package/dist/orchestration/capabilities.d.ts +49 -0
- package/dist/orchestration/capabilities.d.ts.map +1 -0
- package/dist/orchestration/capabilities.js +417 -0
- package/dist/orchestration/capabilities.js.map +1 -0
- package/dist/orchestration/capacity.d.ts +14 -0
- package/dist/orchestration/capacity.d.ts.map +1 -0
- package/dist/orchestration/capacity.js +52 -0
- package/dist/orchestration/capacity.js.map +1 -0
- package/dist/orchestration/channel-activity.d.ts +21 -0
- package/dist/orchestration/channel-activity.d.ts.map +1 -0
- package/dist/orchestration/channel-activity.js +72 -0
- package/dist/orchestration/channel-activity.js.map +1 -0
- package/dist/orchestration/channel-controls.d.ts +32 -0
- package/dist/orchestration/channel-controls.d.ts.map +1 -0
- package/dist/orchestration/channel-controls.js +105 -0
- package/dist/orchestration/channel-controls.js.map +1 -0
- package/dist/orchestration/channel-input-media.d.ts +11 -0
- package/dist/orchestration/channel-input-media.d.ts.map +1 -0
- package/dist/orchestration/channel-input-media.js +54 -0
- package/dist/orchestration/channel-input-media.js.map +1 -0
- package/dist/orchestration/channel-media.d.ts +4 -0
- package/dist/orchestration/channel-media.d.ts.map +1 -0
- package/dist/orchestration/channel-media.js +70 -0
- package/dist/orchestration/channel-media.js.map +1 -0
- package/dist/orchestration/channel-speech.d.ts +7 -0
- package/dist/orchestration/channel-speech.d.ts.map +1 -0
- package/dist/orchestration/channel-speech.js +65 -0
- package/dist/orchestration/channel-speech.js.map +1 -0
- package/dist/orchestration/cli-skills.d.ts +12 -0
- package/dist/orchestration/cli-skills.d.ts.map +1 -0
- package/dist/orchestration/cli-skills.js +132 -0
- package/dist/orchestration/cli-skills.js.map +1 -0
- package/dist/orchestration/config.d.ts +256 -0
- package/dist/orchestration/config.d.ts.map +1 -0
- package/dist/orchestration/config.js +110 -0
- package/dist/orchestration/config.js.map +1 -0
- package/dist/orchestration/container.d.ts +21 -0
- package/dist/orchestration/container.d.ts.map +1 -0
- package/dist/orchestration/container.js +195 -0
- package/dist/orchestration/container.js.map +1 -0
- package/dist/orchestration/control-delivery.d.ts +5 -0
- package/dist/orchestration/control-delivery.d.ts.map +1 -0
- package/dist/orchestration/control-delivery.js +50 -0
- package/dist/orchestration/control-delivery.js.map +1 -0
- package/dist/orchestration/conversation-intake.d.ts +32 -0
- package/dist/orchestration/conversation-intake.d.ts.map +1 -0
- package/dist/orchestration/conversation-intake.js +92 -0
- package/dist/orchestration/conversation-intake.js.map +1 -0
- package/dist/orchestration/decisions.d.ts +27 -0
- package/dist/orchestration/decisions.d.ts.map +1 -0
- package/dist/orchestration/decisions.js +148 -0
- package/dist/orchestration/decisions.js.map +1 -0
- package/dist/orchestration/delivery.d.ts +30 -0
- package/dist/orchestration/delivery.d.ts.map +1 -0
- package/dist/orchestration/delivery.js +219 -0
- package/dist/orchestration/delivery.js.map +1 -0
- package/dist/orchestration/display-stream.d.ts +4 -0
- package/dist/orchestration/display-stream.d.ts.map +1 -0
- package/dist/orchestration/display-stream.js +77 -0
- package/dist/orchestration/display-stream.js.map +1 -0
- package/dist/orchestration/events.d.ts +30 -0
- package/dist/orchestration/events.d.ts.map +1 -0
- package/dist/orchestration/events.js +65 -0
- package/dist/orchestration/events.js.map +1 -0
- package/dist/orchestration/execution-observation.d.ts +38 -0
- package/dist/orchestration/execution-observation.d.ts.map +1 -0
- package/dist/orchestration/execution-observation.js +25 -0
- package/dist/orchestration/execution-observation.js.map +1 -0
- package/dist/orchestration/file-delivery.d.ts +16 -0
- package/dist/orchestration/file-delivery.d.ts.map +1 -0
- package/dist/orchestration/file-delivery.js +139 -0
- package/dist/orchestration/file-delivery.js.map +1 -0
- package/dist/orchestration/gateway-config.d.ts +17 -0
- package/dist/orchestration/gateway-config.d.ts.map +1 -0
- package/dist/orchestration/gateway-config.js +128 -0
- package/dist/orchestration/gateway-config.js.map +1 -0
- package/dist/orchestration/history.d.ts +13 -0
- package/dist/orchestration/history.d.ts.map +1 -0
- package/dist/orchestration/history.js +48 -0
- package/dist/orchestration/history.js.map +1 -0
- package/dist/orchestration/identity.d.ts +6 -0
- package/dist/orchestration/identity.d.ts.map +1 -0
- package/dist/orchestration/identity.js +13 -0
- package/dist/orchestration/identity.js.map +1 -0
- package/dist/orchestration/inference-errors.d.ts +3 -0
- package/dist/orchestration/inference-errors.d.ts.map +1 -0
- package/dist/orchestration/inference-errors.js +16 -0
- package/dist/orchestration/inference-errors.js.map +1 -0
- package/dist/orchestration/input-images.d.ts +12 -0
- package/dist/orchestration/input-images.d.ts.map +1 -0
- package/dist/orchestration/input-images.js +66 -0
- package/dist/orchestration/input-images.js.map +1 -0
- package/dist/orchestration/instance-lock.d.ts +5 -0
- package/dist/orchestration/instance-lock.d.ts.map +1 -0
- package/dist/orchestration/instance-lock.js +33 -0
- package/dist/orchestration/instance-lock.js.map +1 -0
- package/dist/orchestration/line-loading.d.ts +21 -0
- package/dist/orchestration/line-loading.d.ts.map +1 -0
- package/dist/orchestration/line-loading.js +89 -0
- package/dist/orchestration/line-loading.js.map +1 -0
- package/dist/orchestration/media.d.ts +3 -0
- package/dist/orchestration/media.d.ts.map +1 -0
- package/dist/orchestration/media.js +46 -0
- package/dist/orchestration/media.js.map +1 -0
- package/dist/orchestration/migrations/schema.d.ts +3 -0
- package/dist/orchestration/migrations/schema.d.ts.map +1 -0
- package/dist/orchestration/migrations/schema.js +80 -0
- package/dist/orchestration/migrations/schema.js.map +1 -0
- package/dist/orchestration/notification-mailbox.d.ts +5 -0
- package/dist/orchestration/notification-mailbox.d.ts.map +1 -0
- package/dist/orchestration/notification-mailbox.js +29 -0
- package/dist/orchestration/notification-mailbox.js.map +1 -0
- package/dist/orchestration/process-activity.d.ts +23 -0
- package/dist/orchestration/process-activity.d.ts.map +1 -0
- package/dist/orchestration/process-activity.js +95 -0
- package/dist/orchestration/process-activity.js.map +1 -0
- package/dist/orchestration/process-supervisor.d.ts +15 -0
- package/dist/orchestration/process-supervisor.d.ts.map +1 -0
- package/dist/orchestration/process-supervisor.js +92 -0
- package/dist/orchestration/process-supervisor.js.map +1 -0
- package/dist/orchestration/process-turn.d.ts +35 -0
- package/dist/orchestration/process-turn.d.ts.map +1 -0
- package/dist/orchestration/process-turn.js +246 -0
- package/dist/orchestration/process-turn.js.map +1 -0
- package/dist/orchestration/progress-review.d.ts +28 -0
- package/dist/orchestration/progress-review.d.ts.map +1 -0
- package/dist/orchestration/progress-review.js +48 -0
- package/dist/orchestration/progress-review.js.map +1 -0
- package/dist/orchestration/recovery.d.ts +8 -0
- package/dist/orchestration/recovery.d.ts.map +1 -0
- package/dist/orchestration/recovery.js +35 -0
- package/dist/orchestration/recovery.js.map +1 -0
- package/dist/orchestration/reply-context.d.ts +7 -0
- package/dist/orchestration/reply-context.d.ts.map +1 -0
- package/dist/orchestration/reply-context.js +54 -0
- package/dist/orchestration/reply-context.js.map +1 -0
- package/dist/orchestration/runtime.d.ts +232 -0
- package/dist/orchestration/runtime.d.ts.map +1 -0
- package/dist/orchestration/runtime.js +962 -0
- package/dist/orchestration/runtime.js.map +1 -0
- package/dist/orchestration/skills.d.ts +17 -0
- package/dist/orchestration/skills.d.ts.map +1 -0
- package/dist/orchestration/skills.js +32 -0
- package/dist/orchestration/skills.js.map +1 -0
- package/dist/orchestration/source-policy.d.ts +6 -0
- package/dist/orchestration/source-policy.d.ts.map +1 -0
- package/dist/orchestration/source-policy.js +16 -0
- package/dist/orchestration/source-policy.js.map +1 -0
- package/dist/orchestration/speech.d.ts +24 -0
- package/dist/orchestration/speech.d.ts.map +1 -0
- package/dist/orchestration/speech.js +61 -0
- package/dist/orchestration/speech.js.map +1 -0
- package/dist/orchestration/stop-controls.d.ts +30 -0
- package/dist/orchestration/stop-controls.d.ts.map +1 -0
- package/dist/orchestration/stop-controls.js +79 -0
- package/dist/orchestration/stop-controls.js.map +1 -0
- package/dist/orchestration/store.d.ts +86 -0
- package/dist/orchestration/store.d.ts.map +1 -0
- package/dist/orchestration/store.js +275 -0
- package/dist/orchestration/store.js.map +1 -0
- package/dist/orchestration/task-controls.d.ts +130 -0
- package/dist/orchestration/task-controls.d.ts.map +1 -0
- package/dist/orchestration/task-controls.js +55 -0
- package/dist/orchestration/task-controls.js.map +1 -0
- package/dist/orchestration/task-files.d.ts +29 -0
- package/dist/orchestration/task-files.d.ts.map +1 -0
- package/dist/orchestration/task-files.js +200 -0
- package/dist/orchestration/task-files.js.map +1 -0
- package/dist/orchestration/task-report.d.ts +7 -0
- package/dist/orchestration/task-report.d.ts.map +1 -0
- package/dist/orchestration/task-report.js +33 -0
- package/dist/orchestration/task-report.js.map +1 -0
- package/dist/orchestration/tasks/checkpoint-hook.d.ts +19 -0
- package/dist/orchestration/tasks/checkpoint-hook.d.ts.map +1 -0
- package/dist/orchestration/tasks/checkpoint-hook.js +49 -0
- package/dist/orchestration/tasks/checkpoint-hook.js.map +1 -0
- package/dist/orchestration/tasks/cleanup.d.ts +18 -0
- package/dist/orchestration/tasks/cleanup.d.ts.map +1 -0
- package/dist/orchestration/tasks/cleanup.js +113 -0
- package/dist/orchestration/tasks/cleanup.js.map +1 -0
- package/dist/orchestration/tasks/driver.d.ts +23 -0
- package/dist/orchestration/tasks/driver.d.ts.map +1 -0
- package/dist/orchestration/tasks/driver.js +209 -0
- package/dist/orchestration/tasks/driver.js.map +1 -0
- package/dist/orchestration/tasks/failure.d.ts +5 -0
- package/dist/orchestration/tasks/failure.d.ts.map +1 -0
- package/dist/orchestration/tasks/failure.js +17 -0
- package/dist/orchestration/tasks/failure.js.map +1 -0
- package/dist/orchestration/tasks/pool.d.ts +18 -0
- package/dist/orchestration/tasks/pool.d.ts.map +1 -0
- package/dist/orchestration/tasks/pool.js +73 -0
- package/dist/orchestration/tasks/pool.js.map +1 -0
- package/dist/orchestration/tasks/scheduler.d.ts +38 -0
- package/dist/orchestration/tasks/scheduler.d.ts.map +1 -0
- package/dist/orchestration/tasks/scheduler.js +160 -0
- package/dist/orchestration/tasks/scheduler.js.map +1 -0
- package/dist/orchestration/tasks/service.d.ts +109 -0
- package/dist/orchestration/tasks/service.d.ts.map +1 -0
- package/dist/orchestration/tasks/service.js +697 -0
- package/dist/orchestration/tasks/service.js.map +1 -0
- package/dist/orchestration/tasks/shared-workspace.d.ts +25 -0
- package/dist/orchestration/tasks/shared-workspace.d.ts.map +1 -0
- package/dist/orchestration/tasks/shared-workspace.js +162 -0
- package/dist/orchestration/tasks/shared-workspace.js.map +1 -0
- package/dist/orchestration/tasks/task-directive.d.ts +6 -0
- package/dist/orchestration/tasks/task-directive.d.ts.map +1 -0
- package/dist/orchestration/tasks/task-directive.js +41 -0
- package/dist/orchestration/tasks/task-directive.js.map +1 -0
- package/dist/orchestration/tasks/timing.d.ts +15 -0
- package/dist/orchestration/tasks/timing.d.ts.map +1 -0
- package/dist/orchestration/tasks/timing.js +48 -0
- package/dist/orchestration/tasks/timing.js.map +1 -0
- package/dist/orchestration/tasks/tool-repetition.d.ts +3 -0
- package/dist/orchestration/tasks/tool-repetition.d.ts.map +1 -0
- package/dist/orchestration/tasks/tool-repetition.js +30 -0
- package/dist/orchestration/tasks/tool-repetition.js.map +1 -0
- package/dist/orchestration/tasks/workspace.d.ts +24 -0
- package/dist/orchestration/tasks/workspace.d.ts.map +1 -0
- package/dist/orchestration/tasks/workspace.js +147 -0
- package/dist/orchestration/tasks/workspace.js.map +1 -0
- package/dist/orchestration/telegram-speech.d.ts +17 -0
- package/dist/orchestration/telegram-speech.d.ts.map +1 -0
- package/dist/orchestration/telegram-speech.js +55 -0
- package/dist/orchestration/telegram-speech.js.map +1 -0
- package/dist/orchestration/telegram-tool-status.d.ts +23 -0
- package/dist/orchestration/telegram-tool-status.d.ts.map +1 -0
- package/dist/orchestration/telegram-tool-status.js +207 -0
- package/dist/orchestration/telegram-tool-status.js.map +1 -0
- package/dist/orchestration/telegram-voices.d.ts +42 -0
- package/dist/orchestration/telegram-voices.d.ts.map +1 -0
- package/dist/orchestration/telegram-voices.js +70 -0
- package/dist/orchestration/telegram-voices.js.map +1 -0
- package/dist/orchestration/tool-activity.d.ts +10 -0
- package/dist/orchestration/tool-activity.d.ts.map +1 -0
- package/dist/orchestration/tool-activity.js +38 -0
- package/dist/orchestration/tool-activity.js.map +1 -0
- package/dist/orchestration/types.d.ts +177 -0
- package/dist/orchestration/types.d.ts.map +1 -0
- package/dist/orchestration/types.js +13 -0
- package/dist/orchestration/types.js.map +1 -0
- package/dist/orchestration/voice-reply-policy.d.ts +8 -0
- package/dist/orchestration/voice-reply-policy.d.ts.map +1 -0
- package/dist/orchestration/voice-reply-policy.js +46 -0
- package/dist/orchestration/voice-reply-policy.js.map +1 -0
- package/dist/orchestration/worker-shares.d.ts +8 -0
- package/dist/orchestration/worker-shares.d.ts.map +1 -0
- package/dist/orchestration/worker-shares.js +59 -0
- package/dist/orchestration/worker-shares.js.map +1 -0
- package/dist/orchestration/workflow.d.ts +121 -0
- package/dist/orchestration/workflow.d.ts.map +1 -0
- package/dist/orchestration/workflow.js +69 -0
- package/dist/orchestration/workflow.js.map +1 -0
- package/dist/session/input-image.d.ts +10 -0
- package/dist/session/input-image.d.ts.map +1 -0
- package/dist/session/input-image.js +3 -0
- package/dist/session/input-image.js.map +1 -0
- package/dist/session/process.d.ts +15 -3
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +144 -35
- package/dist/session/process.js.map +1 -1
- package/dist/session/runtime-profile.d.ts +36 -0
- package/dist/session/runtime-profile.d.ts.map +1 -0
- package/dist/session/runtime-profile.js +63 -0
- package/dist/session/runtime-profile.js.map +1 -0
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +23 -1
- package/dist/session/store.js.map +1 -1
- package/dist/share/share-store.d.ts +3 -1
- package/dist/share/share-store.d.ts.map +1 -1
- package/dist/share/share-store.js +13 -2
- package/dist/share/share-store.js.map +1 -1
- package/dist/shared/line-request-order.d.ts +2 -0
- package/dist/shared/line-request-order.d.ts.map +1 -0
- package/dist/shared/line-request-order.js +16 -0
- package/dist/shared/line-request-order.js.map +1 -0
- package/dist/shared/task-elapsed.d.ts +3 -0
- package/dist/shared/task-elapsed.d.ts.map +1 -0
- package/dist/shared/task-elapsed.js +12 -0
- package/dist/shared/task-elapsed.js.map +1 -0
- package/dist/shared/task-updated-time.d.ts +3 -0
- package/dist/shared/task-updated-time.d.ts.map +1 -0
- package/dist/shared/task-updated-time.js +15 -0
- package/dist/shared/task-updated-time.js.map +1 -0
- package/dist/skills/loader.d.ts +2 -0
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js.map +1 -1
- package/dist/telegram/chunks.d.ts +19 -0
- package/dist/telegram/chunks.d.ts.map +1 -0
- package/dist/telegram/chunks.js +129 -0
- package/dist/telegram/chunks.js.map +1 -0
- package/dist/telegram/markdown.d.ts.map +1 -1
- package/dist/telegram/markdown.js +18 -3
- package/dist/telegram/markdown.js.map +1 -1
- package/dist/telegram/receiver.d.ts +2 -1
- package/dist/telegram/receiver.d.ts.map +1 -1
- package/dist/telegram/receiver.js +6 -1
- package/dist/telegram/receiver.js.map +1 -1
- package/dist/types.d.ts +54 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/ui/web-ui.d.ts.map +1 -1
- package/dist/ui/web-ui.js +31 -5
- package/dist/ui/web-ui.js.map +1 -1
- package/dist/voice/diagnostics.d.ts +29 -0
- package/dist/voice/diagnostics.d.ts.map +1 -0
- package/dist/voice/diagnostics.js +37 -0
- package/dist/voice/diagnostics.js.map +1 -0
- package/dist/voice/errors.d.ts +19 -0
- package/dist/voice/errors.d.ts.map +1 -0
- package/dist/voice/errors.js +133 -0
- package/dist/voice/errors.js.map +1 -0
- package/dist/voice/line-audio.d.ts +4 -0
- package/dist/voice/line-audio.d.ts.map +1 -0
- package/dist/voice/line-audio.js +27 -0
- package/dist/voice/line-audio.js.map +1 -0
- package/dist/voice/managed-quota.d.ts +5 -0
- package/dist/voice/managed-quota.d.ts.map +1 -0
- package/dist/voice/managed-quota.js +35 -0
- package/dist/voice/managed-quota.js.map +1 -0
- package/dist/voice/mp3.d.ts +3 -0
- package/dist/voice/mp3.d.ts.map +1 -0
- package/dist/voice/mp3.js +30 -0
- package/dist/voice/mp3.js.map +1 -0
- package/dist/voice/notes.d.ts +9 -0
- package/dist/voice/notes.d.ts.map +1 -0
- package/dist/voice/notes.js +68 -0
- package/dist/voice/notes.js.map +1 -0
- package/dist/voice/playback.d.ts +22 -0
- package/dist/voice/playback.d.ts.map +1 -0
- package/dist/voice/playback.js +52 -0
- package/dist/voice/playback.js.map +1 -0
- package/dist/voice/preview.d.ts +6 -0
- package/dist/voice/preview.d.ts.map +1 -0
- package/dist/voice/preview.js +44 -0
- package/dist/voice/preview.js.map +1 -0
- package/dist/voice/protocol.d.ts +10 -0
- package/dist/voice/protocol.d.ts.map +1 -0
- package/dist/voice/protocol.js +30 -0
- package/dist/voice/protocol.js.map +1 -0
- package/dist/voice/providers/cartesia-tts.d.ts +26 -0
- package/dist/voice/providers/cartesia-tts.d.ts.map +1 -0
- package/dist/voice/providers/cartesia-tts.js +95 -0
- package/dist/voice/providers/cartesia-tts.js.map +1 -0
- package/dist/voice/providers/deepgram-stt.d.ts +20 -0
- package/dist/voice/providers/deepgram-stt.d.ts.map +1 -0
- package/dist/voice/providers/deepgram-stt.js +66 -0
- package/dist/voice/providers/deepgram-stt.js.map +1 -0
- package/dist/voice/providers/elevenlabs-stt.d.ts +20 -0
- package/dist/voice/providers/elevenlabs-stt.d.ts.map +1 -0
- package/dist/voice/providers/elevenlabs-stt.js +92 -0
- package/dist/voice/providers/elevenlabs-stt.js.map +1 -0
- package/dist/voice/providers/elevenlabs-tts.d.ts +26 -0
- package/dist/voice/providers/elevenlabs-tts.d.ts.map +1 -0
- package/dist/voice/providers/elevenlabs-tts.js +82 -0
- package/dist/voice/providers/elevenlabs-tts.js.map +1 -0
- package/dist/voice/providers/encoded-audio-tts.d.ts +21 -0
- package/dist/voice/providers/encoded-audio-tts.d.ts.map +1 -0
- package/dist/voice/providers/encoded-audio-tts.js +175 -0
- package/dist/voice/providers/encoded-audio-tts.js.map +1 -0
- package/dist/voice/providers/fake.d.ts +39 -0
- package/dist/voice/providers/fake.d.ts.map +1 -0
- package/dist/voice/providers/fake.js +41 -0
- package/dist/voice/providers/fake.js.map +1 -0
- package/dist/voice/providers/gemini-live-stt.d.ts +21 -0
- package/dist/voice/providers/gemini-live-stt.d.ts.map +1 -0
- package/dist/voice/providers/gemini-live-stt.js +158 -0
- package/dist/voice/providers/gemini-live-stt.js.map +1 -0
- package/dist/voice/providers/gemini.d.ts +60 -0
- package/dist/voice/providers/gemini.d.ts.map +1 -0
- package/dist/voice/providers/gemini.js +124 -0
- package/dist/voice/providers/gemini.js.map +1 -0
- package/dist/voice/providers/model-ref.d.ts +9 -0
- package/dist/voice/providers/model-ref.d.ts.map +1 -0
- package/dist/voice/providers/model-ref.js +31 -0
- package/dist/voice/providers/model-ref.js.map +1 -0
- package/dist/voice/providers/openrouter.d.ts +39 -0
- package/dist/voice/providers/openrouter.d.ts.map +1 -0
- package/dist/voice/providers/openrouter.js +154 -0
- package/dist/voice/providers/openrouter.js.map +1 -0
- package/dist/voice/providers/paxalabs-stt.d.ts +12 -0
- package/dist/voice/providers/paxalabs-stt.d.ts.map +1 -0
- package/dist/voice/providers/paxalabs-stt.js +41 -0
- package/dist/voice/providers/paxalabs-stt.js.map +1 -0
- package/dist/voice/providers/paxalabs-tts.d.ts +23 -0
- package/dist/voice/providers/paxalabs-tts.d.ts.map +1 -0
- package/dist/voice/providers/paxalabs-tts.js +80 -0
- package/dist/voice/providers/paxalabs-tts.js.map +1 -0
- package/dist/voice/providers/recorded-stt.d.ts +34 -0
- package/dist/voice/providers/recorded-stt.d.ts.map +1 -0
- package/dist/voice/providers/recorded-stt.js +59 -0
- package/dist/voice/providers/recorded-stt.js.map +1 -0
- package/dist/voice/providers/registry.d.ts +10 -0
- package/dist/voice/providers/registry.d.ts.map +1 -0
- package/dist/voice/providers/registry.js +77 -0
- package/dist/voice/providers/registry.js.map +1 -0
- package/dist/voice/providers/socket.d.ts +10 -0
- package/dist/voice/providers/socket.d.ts.map +1 -0
- package/dist/voice/providers/socket.js +91 -0
- package/dist/voice/providers/socket.js.map +1 -0
- package/dist/voice/providers/upstream.d.ts +9 -0
- package/dist/voice/providers/upstream.d.ts.map +1 -0
- package/dist/voice/providers/upstream.js +51 -0
- package/dist/voice/providers/upstream.js.map +1 -0
- package/dist/voice/providers/voice-catalog.d.ts +17 -0
- package/dist/voice/providers/voice-catalog.d.ts.map +1 -0
- package/dist/voice/providers/voice-catalog.js +167 -0
- package/dist/voice/providers/voice-catalog.js.map +1 -0
- package/dist/voice/queue.d.ts +2 -0
- package/dist/voice/queue.d.ts.map +1 -0
- package/dist/voice/queue.js +6 -0
- package/dist/voice/queue.js.map +1 -0
- package/dist/voice/session.d.ts +86 -0
- package/dist/voice/session.d.ts.map +1 -0
- package/dist/voice/session.js +464 -0
- package/dist/voice/session.js.map +1 -0
- package/dist/voice/turn-manager.d.ts +27 -0
- package/dist/voice/turn-manager.d.ts.map +1 -0
- package/dist/voice/turn-manager.js +75 -0
- package/dist/voice/turn-manager.js.map +1 -0
- package/dist/voice/types.d.ts +78 -0
- package/dist/voice/types.d.ts.map +1 -0
- package/dist/voice/types.js +18 -0
- package/dist/voice/types.js.map +1 -0
- package/dist/voice/wav.d.ts +2 -0
- package/dist/voice/wav.d.ts.map +1 -0
- package/dist/voice/wav.js +21 -0
- package/dist/voice/wav.js.map +1 -0
- package/dist/wechat/ilink-client.d.ts +207 -0
- package/dist/wechat/ilink-client.d.ts.map +1 -0
- package/dist/wechat/ilink-client.js +660 -0
- package/dist/wechat/ilink-client.js.map +1 -0
- package/dist/wechat/manager.d.ts +93 -0
- package/dist/wechat/manager.d.ts.map +1 -0
- package/dist/wechat/manager.js +409 -0
- package/dist/wechat/manager.js.map +1 -0
- package/dist/whatsapp/manager.d.ts.map +1 -1
- package/dist/whatsapp/manager.js +51 -1
- package/dist/whatsapp/manager.js.map +1 -1
- package/mcp/capability-catalog.ts +206 -0
- package/mcp/modules.ts +56 -0
- package/mcp/server.ts +18 -35
- package/mcp/tools/browser/module.ts +1 -1
- package/mcp/tools/browser/skills/open-browser/SKILL.md +5 -3
- package/mcp/tools/discord/commands.ts +17 -1
- package/mcp/tools/discord/inbound.ts +11 -0
- package/mcp/tools/discord/module.ts +42 -2
- package/mcp/tools/discord/receiver-server.ts +10 -0
- package/mcp/tools/discord/types.ts +4 -1
- package/mcp/tools/image/module.ts +3 -1
- package/mcp/tools/receiver-spool.test.ts +28 -0
- package/mcp/tools/receiver-spool.ts +56 -0
- package/mcp/tools/share-file/module.ts +9 -1
- package/mcp/tools/shared/share-client.ts +19 -0
- package/mcp/tools/tasks/module.ts +35 -0
- package/mcp/tools/telegram/media-group.ts +21 -0
- package/mcp/tools/telegram/receiver-server.ts +232 -11
- package/mcp/tools/telegram/selection-confirmation.ts +20 -0
- package/mcp/tools/telegram/task-browser.ts +117 -0
- package/mcp/tools/telegram/task-detail.ts +36 -0
- package/mcp/tools/telegram/task-elapsed.ts +1 -0
- package/mcp/tools/telegram/typing.ts +6 -116
- package/mcp/tools/video/module.ts +1 -1
- package/mcp/tools/wechat/client.ts +49 -0
- package/mcp/tools/wechat/module.ts +88 -0
- package/mcp/types.ts +5 -0
- package/package.json +2 -1
- package/resource/claude_gateway.jpeg +0 -0
- package/scripts/orchestration/bench-store.cjs +30 -0
- package/scripts/orchestration/inspect.cjs +16 -0
- package/scripts/orchestration/probe-profile.cjs +67 -0
- package/scripts/orchestration/reconcile.cjs +21 -0
- package/scripts/orchestration/smoke-elevenlabs.cjs +90 -0
- package/scripts/orchestration/smoke-media.cjs +70 -0
- package/scripts/orchestration/smoke-text.cjs +101 -0
- package/scripts/orchestration/smoke-vision.cjs +49 -0
package/dist/types.d.ts
CHANGED
|
@@ -78,6 +78,9 @@ export interface WhatsAppAccountConfig {
|
|
|
78
78
|
reactionLevel?: 'off' | 'ack';
|
|
79
79
|
}
|
|
80
80
|
export interface AgentConfig {
|
|
81
|
+
/** Opt-in conversation/task/voice runtime; absent preserves legacy behavior. */
|
|
82
|
+
orchestration?: import('./orchestration/config').OrchestrationConfig;
|
|
83
|
+
voice?: import('./orchestration/config').AgentVoiceConfig;
|
|
81
84
|
id: string;
|
|
82
85
|
description: string;
|
|
83
86
|
/** Editable display name shown in the UI instead of `id`. null/absent falls back to `id`. */
|
|
@@ -283,6 +286,46 @@ export interface AgentConfig {
|
|
|
283
286
|
*/
|
|
284
287
|
templatesEnabled?: boolean;
|
|
285
288
|
};
|
|
289
|
+
/**
|
|
290
|
+
* WeChat — a single personal account, linked via QR through Tencent's
|
|
291
|
+
* iLink Bot API bridge (see src/wechat/manager.ts's doc comment). No
|
|
292
|
+
* credential fields here (unlike telegram/discord/line/slack): the link
|
|
293
|
+
* flow is device-pairing, not a typed-in token, so there is nothing to
|
|
294
|
+
* store except the access-control policy. DM-only — no groupPolicy/
|
|
295
|
+
* groupAllowlist/requireMention fields exist because the bridge cannot
|
|
296
|
+
* reliably deliver WeChat group events at all (confirmed by both the
|
|
297
|
+
* Hermes-agent and OpenClaw source docs this channel was researched
|
|
298
|
+
* from), unlike every other allowlisted channel above.
|
|
299
|
+
*/
|
|
300
|
+
wechat?: {
|
|
301
|
+
/**
|
|
302
|
+
* DM access policy (mirrors `line.dmPolicy`/`slack.dmPolicy` exactly).
|
|
303
|
+
* Closed by default: when absent, only senders in `dmAllowlist` may
|
|
304
|
+
* reach the agent.
|
|
305
|
+
*/
|
|
306
|
+
dmPolicy?: 'open' | 'allowlist' | 'disabled';
|
|
307
|
+
/** iLink sender ids allowed under allowlist / closed-default. */
|
|
308
|
+
dmAllowlist?: string[];
|
|
309
|
+
/**
|
|
310
|
+
* Pairing aid for the allowlist (mirrors `line.pairing`/`slack.pairing`
|
|
311
|
+
* exactly — same orthogonal-boolean shape). When on, an un-allowlisted
|
|
312
|
+
* sender gets a one-time pairing code, and the same code shows in the
|
|
313
|
+
* UI "pending" row so an admin can visually match it before clicking
|
|
314
|
+
* "+ Add". Default true (absent ⇒ on). Only has an effect under
|
|
315
|
+
* `allowlist` (closed-default).
|
|
316
|
+
*/
|
|
317
|
+
pairing?: boolean;
|
|
318
|
+
/**
|
|
319
|
+
* `base_info.bot_agent` — a short, sanitized identity string sent with
|
|
320
|
+
* every iLink request (protocol.md: "self-declared identity of the
|
|
321
|
+
* upstream bot/app, analogous to HTTP User-Agent... not used for
|
|
322
|
+
* authentication or routing"). Mirrors `channels.openclaw-weixin.botAgent`
|
|
323
|
+
* in `Tencent/openclaw-weixin`'s own config — this gateway has no single
|
|
324
|
+
* fixed product identity, so each deployer sets their own here rather
|
|
325
|
+
* than one being hardcoded. Defaults to this package's own name when unset.
|
|
326
|
+
*/
|
|
327
|
+
botAgent?: string;
|
|
328
|
+
};
|
|
286
329
|
claude: {
|
|
287
330
|
model: string;
|
|
288
331
|
/** @deprecated --dangerously-skip-permissions is always passed now; this field is ignored. */
|
|
@@ -328,6 +371,8 @@ export interface WatchHandle {
|
|
|
328
371
|
ready: Promise<void>;
|
|
329
372
|
}
|
|
330
373
|
export interface ApiKey {
|
|
374
|
+
/** Stable service identity. Never use a display description as an identity. */
|
|
375
|
+
id?: string;
|
|
331
376
|
key: string;
|
|
332
377
|
description?: string;
|
|
333
378
|
agents: string[] | '*';
|
|
@@ -362,6 +407,13 @@ export interface LogsConfig {
|
|
|
362
407
|
}
|
|
363
408
|
export interface GatewayConfig {
|
|
364
409
|
gateway: {
|
|
410
|
+
/** One switch for every Agent/channel; object form supplies shared defaults. */
|
|
411
|
+
orchestration?: import('./orchestration/gateway-config').GatewayOrchestration;
|
|
412
|
+
/** Main Claude process cap shared by legacy, conversation and worker roles. */
|
|
413
|
+
processLimits?: {
|
|
414
|
+
maxTotal?: number;
|
|
415
|
+
reservedAgent?: number;
|
|
416
|
+
};
|
|
365
417
|
logDir: string;
|
|
366
418
|
/** Log verbosity, rotation and retention. Absent = LOGS_DEFAULTS. */
|
|
367
419
|
logs?: LogsConfig;
|
|
@@ -667,6 +719,8 @@ export interface LoadedWorkspace {
|
|
|
667
719
|
skillRegistry?: import('./skills').SkillRegistry;
|
|
668
720
|
}
|
|
669
721
|
export interface Message {
|
|
722
|
+
/** Internal append idempotency marker; optional for existing history files. */
|
|
723
|
+
operationId?: string;
|
|
670
724
|
role: 'user' | 'assistant' | 'system';
|
|
671
725
|
content: string;
|
|
672
726
|
ts: number;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/ui/web-ui.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-ui.d.ts","sourceRoot":"","sources":["../../src/ui/web-ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"web-ui.d.ts","sourceRoot":"","sources":["../../src/ui/web-ui.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAkgE9C;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,SAAK,GAAG,MAAM,CAiF7D"}
|
package/dist/ui/web-ui.js
CHANGED
|
@@ -175,6 +175,7 @@ function generateDashboardHtml() {
|
|
|
175
175
|
.proc-tree .proc-orphan { color: #fc8181; }
|
|
176
176
|
.proc-tree .proc-label { color: #718096; }
|
|
177
177
|
.proc-tree .proc-summary { color: #f6e05e; font-weight: 600; }
|
|
178
|
+
.session-modes { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
|
|
178
179
|
.session-id {
|
|
179
180
|
font-family: monospace;
|
|
180
181
|
font-size: 0.75rem;
|
|
@@ -858,8 +859,18 @@ function generateDashboardHtml() {
|
|
|
858
859
|
document.getElementById('pty-refresh-btn').addEventListener('click', function() { void refreshPtyViewer(); });
|
|
859
860
|
document.getElementById('pty-mode-toggle-btn').addEventListener('click', togglePtyInputMode);
|
|
860
861
|
|
|
862
|
+
const expandedSessionRows = new Set();
|
|
861
863
|
// Event delegation for Live buttons (avoids inline onclick + HTML injection)
|
|
862
864
|
document.getElementById('sessions-tbody').addEventListener('click', function(e) {
|
|
865
|
+
const toggle = e.target.closest('.btn-workers');
|
|
866
|
+
if (toggle) {
|
|
867
|
+
const key=toggle.getAttribute('data-expand-key'), open=!expandedSessionRows.has(key);
|
|
868
|
+
if(open)expandedSessionRows.add(key);else expandedSessionRows.delete(key);
|
|
869
|
+
toggle.setAttribute('aria-expanded',String(open));
|
|
870
|
+
toggle.textContent=(open ? '▾ ' : '▸ ')+toggle.getAttribute('data-label');
|
|
871
|
+
const detail=document.getElementById(toggle.getAttribute('aria-controls'));if(detail)detail.hidden=!open;
|
|
872
|
+
return;
|
|
873
|
+
}
|
|
863
874
|
const btn = e.target.closest('.btn-stream');
|
|
864
875
|
if (btn) void openPtyViewer(btn.getAttribute('data-agent-id'), btn.getAttribute('data-session-id'));
|
|
865
876
|
});
|
|
@@ -947,7 +958,7 @@ function generateDashboardHtml() {
|
|
|
947
958
|
const rows = [];
|
|
948
959
|
agents.forEach(function(a) {
|
|
949
960
|
(a.sessions || []).forEach(function(s) {
|
|
950
|
-
const statusBadge = s.isRunning
|
|
961
|
+
const statusBadge = s.orchestration ? '<span class="badge '+(['thinking','working'].includes(s.status) ? 'badge-green' : 'badge-gray')+'">'+escHtml(s.status)+'</span>' : s.isRunning
|
|
951
962
|
? '<span class="badge badge-green">running</span>'
|
|
952
963
|
: '<span class="badge badge-gray">stopped</span>';
|
|
953
964
|
const uptime = s.isRunning ? fmtUptime(s.uptimeSec || 0) : '<span class="ts">—</span>';
|
|
@@ -960,13 +971,17 @@ function generateDashboardHtml() {
|
|
|
960
971
|
const liveBtn = (s.hasPtyStream && s.isRunning && s.mode === 'pty-shell')
|
|
961
972
|
? '<button class="btn-stream" data-agent-id="' + escHtml(a.id) + '" data-session-id="' + escHtml(s.sessionId || '') + '">💻 View</button>'
|
|
962
973
|
: '<span class="ts">—</span>';
|
|
974
|
+
const key=a.id+':'+s.sessionId, detailId='workers-'+encodeURIComponent(key), open=expandedSessionRows.has(key);
|
|
975
|
+
const childTasks=s.tasks||[], count=childTasks.length;
|
|
976
|
+
const label='Workers / tasks ('+count+')';
|
|
977
|
+
const expand=s.orchestration ? '<br><button class="btn-stream btn-workers" data-expand-key="'+escHtml(key)+'" data-label="'+escHtml(label)+'" aria-expanded="'+open+'" aria-controls="'+escHtml(detailId)+'">'+(open?'▾ ':'▸ ')+escHtml(label)+'</button>' : '';
|
|
963
978
|
rows.push(
|
|
964
|
-
'<tr class="session-row">' +
|
|
979
|
+
'<tr class="session-row" data-agent="'+escHtml(a.id)+'" data-session="'+escHtml(s.sessionId)+'">' +
|
|
965
980
|
'<td><span style="color:#90cdf4;font-weight:600;">' + escHtml(a.id) + '</span></td>' +
|
|
966
|
-
'<td>' + sessId + '</td>' +
|
|
981
|
+
'<td>' + sessId + expand + '</td>' +
|
|
967
982
|
'<td>' + chatCell + '</td>' +
|
|
968
983
|
'<td>' + sourceBadge(s.source) + '</td>' +
|
|
969
|
-
'<td>' + modeBadge(s.mode) + '</td>' +
|
|
984
|
+
'<td><div class="session-modes">' + (s.orchestration ? '<span class="badge badge-purple">orchestration</span>' : '') + modeBadge(s.mode) + '</div></td>' +
|
|
970
985
|
'<td>' + fmtModel(s.model) + '</td>' +
|
|
971
986
|
'<td>' + fmtTokens(s.tokens) + '</td>' +
|
|
972
987
|
'<td>' + statusBadge + '</td>' +
|
|
@@ -975,6 +990,17 @@ function generateDashboardHtml() {
|
|
|
975
990
|
'<td>' + liveBtn + '</td>' +
|
|
976
991
|
'</tr>'
|
|
977
992
|
);
|
|
993
|
+
if (s.orchestration) {
|
|
994
|
+
const pool=a.orchestration.workerPool, slots=pool ? pool.workers.filter(w => (s.workerIds||[]).includes(w.workerId)) : [];
|
|
995
|
+
let content='<div style="padding:12px 20px;border-left:3px solid #805ad5"><div class="ts">'+escHtml(a.orchestration.workspaceMode)+(a.container ? ' · '+escHtml(a.container) : '')+(pool ? ' · Agent pool '+pool.workers.length+'/'+pool.maxWorkers+' · idle TTL '+Math.round(pool.idleTtlMs/60000)+' min' : '')+'</div>';
|
|
996
|
+
slots.forEach(function(w){content+='<div class="worker-slot">'+escHtml(w.state)+' · Worker '+escHtml(w.workerId)+' · session '+escHtml(w.sessionId)+(w.expiresAt ? ' · expires '+escHtml(new Date(w.expiresAt).toLocaleTimeString()) : '')+'</div>';});
|
|
997
|
+
if (count) {
|
|
998
|
+
content+='<table class="worker-tasks"><thead><tr><th>Worker / Session</th><th>Task</th><th>Status</th><th>Tool</th><th>Process</th></tr></thead><tbody>';
|
|
999
|
+
childTasks.forEach(function(t){content+='<tr data-task="'+escHtml(t.taskId)+'"><td>'+escHtml(t.workerId||'Unassigned')+'<br><span class="ts">'+escHtml(t.workerSessionId||'')+(t.resumed?' · resumed':'')+'</span></td><td>'+escHtml(t.title)+'<br><span class="ts">'+escHtml(t.taskId)+(t.continueTaskId?' · follows '+escHtml(t.continueTaskId):'')+'</span></td><td>'+escHtml(t.state)+'</td><td>'+escHtml(t.lastTool ? t.lastTool.name+' · '+t.lastTool.type+(t.lastTool.is_error?' (error)':'') : '—')+'</td><td>'+escHtml(t.hostProcessId ? String(t.hostProcessId)+(t.container?' (docker exec)':'') : '—')+'</td></tr>';});
|
|
1000
|
+
content+='</tbody></table>';
|
|
1001
|
+
} else content+='<div class="ts">No worker tasks in this session</div>';
|
|
1002
|
+
rows.push('<tr class="session-workers" id="'+escHtml(detailId)+'"'+(open?'':' hidden')+'><td colspan="11">'+content+'</div></td></tr>');
|
|
1003
|
+
}
|
|
978
1004
|
});
|
|
979
1005
|
});
|
|
980
1006
|
|
|
@@ -1028,7 +1054,7 @@ function generateDashboardHtml() {
|
|
|
1028
1054
|
|
|
1029
1055
|
function cat(p) {
|
|
1030
1056
|
const a = p.args;
|
|
1031
|
-
if (a.includes('node') && a.includes('dist/index')) return 'orchestrator';
|
|
1057
|
+
if (a.includes('node') && (a.includes('dist/index') || a.includes('dist/entry'))) return 'orchestrator';
|
|
1032
1058
|
if (a.includes('claude-pty-shell')) return 'pty';
|
|
1033
1059
|
if (a.includes('bun') && a.includes('mcp/server')) return 'mcp';
|
|
1034
1060
|
if (a.includes('bun') && a.includes('telegram') && a.includes('receiver')) return 'telegram';
|
package/dist/ui/web-ui.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web-ui.js","sourceRoot":"","sources":["../../src/ui/web-ui.ts"],"names":[],"mappings":";;AAIA,
|
|
1
|
+
{"version":3,"file":"web-ui.js","sourceRoot":"","sources":["../../src/ui/web-ui.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type VoiceDiagnostic = {
|
|
2
|
+
operation: 'stt' | 'tts';
|
|
3
|
+
operationId: string;
|
|
4
|
+
phase: string;
|
|
5
|
+
elapsedMs: number;
|
|
6
|
+
responseId?: string;
|
|
7
|
+
utteranceId?: string;
|
|
8
|
+
httpStatus?: number;
|
|
9
|
+
code?: string;
|
|
10
|
+
};
|
|
11
|
+
export type VoiceDiagnosticSink = (event: VoiceDiagnostic) => void;
|
|
12
|
+
/** Only bounded metadata is accepted: never transcript, audio, URL or credentials. */
|
|
13
|
+
export declare function voiceTrace(operation: 'stt' | 'tts', sink?: VoiceDiagnosticSink, ids?: {
|
|
14
|
+
responseId?: string;
|
|
15
|
+
utteranceId?: string;
|
|
16
|
+
}): {
|
|
17
|
+
emit: (phase: string, details?: {
|
|
18
|
+
httpStatus?: number;
|
|
19
|
+
code?: string;
|
|
20
|
+
}) => void;
|
|
21
|
+
run: <T>(fn: () => T) => T;
|
|
22
|
+
};
|
|
23
|
+
export declare function voiceTiming(phase: string, details?: {
|
|
24
|
+
httpStatus?: number;
|
|
25
|
+
code?: string;
|
|
26
|
+
}): void;
|
|
27
|
+
/** Async generators execute on next(), not when created. Preserve request context. */
|
|
28
|
+
export declare function tracedAudio<T>(source: AsyncIterable<T>, trace: ReturnType<typeof voiceTrace>): AsyncGenerator<T>;
|
|
29
|
+
//# sourceMappingURL=diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../src/voice/diagnostics.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,eAAe,GAAG;IAAE,SAAS,EAAE,KAAK,GAAG,KAAK,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AACjM,MAAM,MAAM,mBAAmB,GAAG,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;AAEnE,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,SAAS,EAAE,KAAK,GAAG,KAAK,EAAE,IAAI,CAAC,EAAE,mBAAmB,EAAE,GAAG,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAO;kBAEjH,MAAM,YAAW;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;UAGvD,CAAC,MAAM,MAAM,CAAC,KAAG,CAAC;EACxC;AACD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAA0C;AAC5I,sFAAsF;AACtF,wBAAuB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAIvH"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.voiceTrace = voiceTrace;
|
|
4
|
+
exports.voiceTiming = voiceTiming;
|
|
5
|
+
exports.tracedAudio = tracedAudio;
|
|
6
|
+
const async_hooks_1 = require("async_hooks");
|
|
7
|
+
const crypto_1 = require("crypto");
|
|
8
|
+
const perf_hooks_1 = require("perf_hooks");
|
|
9
|
+
const context = new async_hooks_1.AsyncLocalStorage();
|
|
10
|
+
/** Only bounded metadata is accepted: never transcript, audio, URL or credentials. */
|
|
11
|
+
function voiceTrace(operation, sink, ids = {}) {
|
|
12
|
+
const started = perf_hooks_1.performance.now(), operationId = (0, crypto_1.randomUUID)();
|
|
13
|
+
const emit = (phase, details = {}) => {
|
|
14
|
+
try {
|
|
15
|
+
sink?.({ operation, operationId, ...ids, phase, elapsedMs: Math.round(perf_hooks_1.performance.now() - started), ...details });
|
|
16
|
+
}
|
|
17
|
+
catch { /* Diagnostics cannot interrupt speech. */ }
|
|
18
|
+
};
|
|
19
|
+
return { emit, run: (fn) => context.run(emit, fn) };
|
|
20
|
+
}
|
|
21
|
+
function voiceTiming(phase, details) { context.getStore()?.(phase, details); }
|
|
22
|
+
/** Async generators execute on next(), not when created. Preserve request context. */
|
|
23
|
+
async function* tracedAudio(source, trace) {
|
|
24
|
+
const iterator = source[Symbol.asyncIterator]();
|
|
25
|
+
try {
|
|
26
|
+
while (true) {
|
|
27
|
+
const item = await trace.run(() => iterator.next());
|
|
28
|
+
if (item.done)
|
|
29
|
+
return;
|
|
30
|
+
yield item.value;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
await trace.run(() => iterator.return?.());
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../src/voice/diagnostics.ts"],"names":[],"mappings":";;AAQA,gCAMC;AACD,kCAA4I;AAE5I,kCAIC;AArBD,6CAAgD;AAChD,mCAAoC;AACpC,2CAAyC;AAIzC,MAAM,OAAO,GAAG,IAAI,+BAAiB,EAA6E,CAAC;AACnH,sFAAsF;AACtF,SAAgB,UAAU,CAAC,SAAwB,EAAE,IAA0B,EAAE,MAAqD,EAAE;IACtI,MAAM,OAAO,GAAG,wBAAW,CAAC,GAAG,EAAE,EAAE,WAAW,GAAG,IAAA,mBAAU,GAAE,CAAC;IAC9D,MAAM,IAAI,GAAG,CAAC,KAAa,EAAE,UAAkD,EAAE,EAAE,EAAE;QACnF,IAAI,CAAC;YAAC,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,wBAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,0CAA0C,CAAC,CAAC;IACjL,CAAC,CAAC;IACF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAI,EAAW,EAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACrE,CAAC;AACD,SAAgB,WAAW,CAAC,KAAa,EAAE,OAAgD,IAAU,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;AAC5I,sFAAsF;AAC/E,KAAK,SAAS,CAAC,CAAC,WAAW,CAAI,MAAwB,EAAE,KAAoC;IAClG,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC;IAChD,IAAI,CAAC;QAAC,OAAO,IAAI,EAAE,CAAC;YAAC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAAC,IAAI,IAAI,CAAC,IAAI;gBAAE,OAAO;YAAC,MAAM,IAAI,CAAC,KAAK,CAAC;QAAC,CAAC;IAAC,CAAC;YAC9G,CAAC;QAAC,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAAC,CAAC;AACzD,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { VoiceError } from './types';
|
|
2
|
+
type Category = 'payment' | 'authentication' | 'permission' | 'quota' | 'daily_quota' | 'rate_limit' | 'unavailable' | 'language' | 'model' | 'timeout' | 'network' | 'cancelled' | 'invalid_response' | 'invalid_request' | 'unknown';
|
|
3
|
+
export declare function providerVoiceError(prefix: 'STT' | 'TTS' | 'VOICE', status?: number, payload?: unknown): VoiceError;
|
|
4
|
+
/** Limit error-body reads; no raw provider body is retained or returned to clients. */
|
|
5
|
+
export declare function providerHttpError(prefix: 'STT' | 'TTS' | 'VOICE', response: Response): Promise<VoiceError>;
|
|
6
|
+
export declare function describeVoiceError(error: unknown): {
|
|
7
|
+
category: string;
|
|
8
|
+
message: string;
|
|
9
|
+
retryable: boolean;
|
|
10
|
+
httpStatus: number;
|
|
11
|
+
} | {
|
|
12
|
+
httpStatus?: number | undefined;
|
|
13
|
+
category: Category;
|
|
14
|
+
message: string;
|
|
15
|
+
retryable: boolean;
|
|
16
|
+
};
|
|
17
|
+
export declare function voiceProviderRequest(url: URL | string, init: RequestInit, request?: typeof fetch): Promise<Response>;
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/voice/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,KAAK,QAAQ,GAAG,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,OAAO,GAAG,aAAa,GAAG,YAAY,GAAG,aAAa,GAAG,UAAU,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,SAAS,CAAC;AA8BvO,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,UAAU,CAalH;AACD,uFAAuF;AACvF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBhH;AACD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO;;;;;;;;;;EAsBhD;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,GAAE,OAAO,KAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,CASjI"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.providerVoiceError = providerVoiceError;
|
|
4
|
+
exports.providerHttpError = providerHttpError;
|
|
5
|
+
exports.describeVoiceError = describeVoiceError;
|
|
6
|
+
exports.voiceProviderRequest = voiceProviderRequest;
|
|
7
|
+
const diagnostics_1 = require("./diagnostics");
|
|
8
|
+
const types_1 = require("./types");
|
|
9
|
+
const descriptions = {
|
|
10
|
+
payment: ['The voice provider requires payment. Check provider credits or billing before trying again.', false],
|
|
11
|
+
authentication: ['No API key is configured or the voice provider rejected it. Check the connected API key.', false],
|
|
12
|
+
permission: ['The voice provider denied access. Check API key permissions and model access.', false],
|
|
13
|
+
daily_quota: ['The voice provider daily quota is exhausted. Wait for the quota to reset or check provider billing before trying again.', false],
|
|
14
|
+
quota: ['The voice provider quota is exhausted. Check provider usage or billing before trying again.', false],
|
|
15
|
+
rate_limit: ['The voice provider is receiving too many requests. Wait before trying again.', true],
|
|
16
|
+
unavailable: ['The voice provider is temporarily unavailable. Please try again later.', true],
|
|
17
|
+
language: ['The selected voice model does not support this language. Choose another language or model.', false],
|
|
18
|
+
model: ['The selected model or voice is unavailable. Check the voice settings and provider access.', false],
|
|
19
|
+
timeout: ['The voice provider did not respond in time. Please try again.', true],
|
|
20
|
+
network: ['Could not connect to the voice provider. Check the connection and try again.', true],
|
|
21
|
+
cancelled: ['The voice request was cancelled.', false],
|
|
22
|
+
invalid_response: ['The voice provider returned incomplete or invalid audio or transcription. Please try again.', true],
|
|
23
|
+
invalid_request: ['The voice provider rejected the request. Check the selected model, language and voice settings.', false],
|
|
24
|
+
unknown: ['The voice request failed without a recognized diagnostic. Use the reference ID when reporting this problem.', false],
|
|
25
|
+
};
|
|
26
|
+
// Explicit provider codes only. Never infer causes from free-form messages.
|
|
27
|
+
const providerCodes = {
|
|
28
|
+
insufficient_credits: 'payment', insufficient_balance: 'payment', payment_required: 'payment',
|
|
29
|
+
quota_exceeded: 'quota', insufficient_quota: 'quota',
|
|
30
|
+
rate_limit_exceeded: 'rate_limit', too_many_requests: 'rate_limit', too_many_concurrent_requests: 'rate_limit',
|
|
31
|
+
invalid_api_key: 'authentication', unauthenticated: 'authentication', permission_denied: 'permission',
|
|
32
|
+
unsupported_language: 'language', language_not_supported: 'language',
|
|
33
|
+
model_not_found: 'model', voice_not_found: 'model', model_not_supported: 'model',
|
|
34
|
+
};
|
|
35
|
+
function object(value) {
|
|
36
|
+
return value !== null && typeof value === 'object' ? value : {};
|
|
37
|
+
}
|
|
38
|
+
function providerVoiceError(prefix, status, payload) {
|
|
39
|
+
const body = object(payload), error = object(body.error), detail = object(body.detail);
|
|
40
|
+
const candidates = [error.code, error.status, detail.code, detail.status, body.code, body.err_code, body.status, body.error, body.detail];
|
|
41
|
+
if (candidates.includes('MANAGED_VOICE_QUOTA_EXHAUSTED'))
|
|
42
|
+
return new types_1.VoiceError('MANAGED_VOICE_QUOTA_EXHAUSTED');
|
|
43
|
+
const dailyQuota = status === 429 && Array.isArray(error.details) && error.details.some(value => {
|
|
44
|
+
const quota = object(value);
|
|
45
|
+
return quota['@type'] === 'type.googleapis.com/google.rpc.QuotaFailure' && Array.isArray(quota.violations) && quota.violations.some(value => {
|
|
46
|
+
const violation = object(value);
|
|
47
|
+
return typeof violation.quotaId === 'string' && /(?:Requests|Tokens)PerDay(?:Per|$|-)/.test(violation.quotaId);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
const category = dailyQuota ? 'daily_quota' : candidates.map(v => typeof v === 'string' && Object.prototype.hasOwnProperty.call(providerCodes, v.toLowerCase()) ? providerCodes[v.toLowerCase()] : undefined).find(Boolean);
|
|
51
|
+
return new types_1.VoiceError(`${prefix}_PROVIDER_ERROR${status ? `_HTTP_${status}` : ''}${category ? `_REASON_${category.toUpperCase()}` : ''}`);
|
|
52
|
+
}
|
|
53
|
+
/** Limit error-body reads; no raw provider body is retained or returned to clients. */
|
|
54
|
+
async function providerHttpError(prefix, response) {
|
|
55
|
+
let payload;
|
|
56
|
+
const reader = response.body?.getReader();
|
|
57
|
+
if (reader) {
|
|
58
|
+
const timer = setTimeout(() => { void reader.cancel().catch(() => { }); }, 2000);
|
|
59
|
+
try {
|
|
60
|
+
const parts = [];
|
|
61
|
+
let size = 0;
|
|
62
|
+
while (true) {
|
|
63
|
+
const chunk = await reader.read();
|
|
64
|
+
if (chunk.done)
|
|
65
|
+
break;
|
|
66
|
+
size += chunk.value.length;
|
|
67
|
+
if (size > 16384)
|
|
68
|
+
break;
|
|
69
|
+
parts.push(chunk.value);
|
|
70
|
+
}
|
|
71
|
+
if (size <= 16384)
|
|
72
|
+
payload = JSON.parse(Buffer.concat(parts).toString('utf8'));
|
|
73
|
+
}
|
|
74
|
+
catch { /* Preserve status even if the body is not JSON. */ }
|
|
75
|
+
finally {
|
|
76
|
+
clearTimeout(timer);
|
|
77
|
+
await reader.cancel().catch(() => { });
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return providerVoiceError(prefix, response.status, payload);
|
|
81
|
+
}
|
|
82
|
+
function describeVoiceError(error) {
|
|
83
|
+
const code = error instanceof Error ? error.message : typeof error === 'string' ? error : '';
|
|
84
|
+
const httpStatus = Number(code.match(/_HTTP_(\d{3})/)?.[1]) || undefined;
|
|
85
|
+
const explicit = code.match(/_REASON_([A-Z_]+)$/)?.[1]?.toLowerCase();
|
|
86
|
+
let category = explicit && Object.prototype.hasOwnProperty.call(descriptions, explicit) ? explicit : 'unknown';
|
|
87
|
+
if (category === 'unknown') {
|
|
88
|
+
if (httpStatus === 402)
|
|
89
|
+
category = 'payment';
|
|
90
|
+
else if (httpStatus === 401 || /CREDENTIALS_MISSING/.test(code))
|
|
91
|
+
category = 'authentication';
|
|
92
|
+
else if (httpStatus === 403)
|
|
93
|
+
category = 'permission';
|
|
94
|
+
// A bare 429 cannot reliably distinguish an exhausted quota from a rate limit.
|
|
95
|
+
else if (httpStatus === 429)
|
|
96
|
+
return { category: 'quota_or_rate_limit', message: 'The voice provider rate limit or quota was reached (HTTP 429). Check provider usage before retrying.', retryable: false, httpStatus };
|
|
97
|
+
else if (httpStatus === 408 || httpStatus === 504 || /TIMEOUT|TimeoutError/.test(code))
|
|
98
|
+
category = 'timeout';
|
|
99
|
+
else if ((httpStatus && httpStatus >= 500) || code === 'MANAGED_VOICE_USAGE_UNAVAILABLE')
|
|
100
|
+
category = 'unavailable';
|
|
101
|
+
else if (/LANGUAGE_UNSUPPORTED|UNSUPPORTED_LANGUAGE/.test(code))
|
|
102
|
+
category = 'language';
|
|
103
|
+
else if (/INVALID_VOICE_MODEL|UNKNOWN_TTS_PROVIDER|UNKNOWN_STT_PROVIDER|TTS_FILE_UNSUPPORTED/.test(code))
|
|
104
|
+
category = 'model';
|
|
105
|
+
else if (httpStatus && httpStatus >= 400)
|
|
106
|
+
category = 'invalid_request';
|
|
107
|
+
else if (/STT_CONNECTION_CLOSED|PROVIDER_CONNECTION|PROVIDER_SEND|fetch failed|ECONN|ENOTFOUND/.test(code))
|
|
108
|
+
category = 'network';
|
|
109
|
+
else if (/PROVIDER_ABORTED|AbortError/.test(code))
|
|
110
|
+
category = 'cancelled';
|
|
111
|
+
else if (/INVALID_SPEECH_AUDIO|INCOMPLETE|INVALID_RESPONSE|INVALID_PROVIDER_MESSAGE|DECODE|UNSUPPORTED_AUDIO_FORMAT|No audio/.test(code))
|
|
112
|
+
category = 'invalid_response';
|
|
113
|
+
}
|
|
114
|
+
const [message, retryable] = descriptions[category];
|
|
115
|
+
return { category, message: message + (httpStatus ? ` (HTTP ${httpStatus})` : ''), retryable, ...(httpStatus ? { httpStatus } : {}) };
|
|
116
|
+
}
|
|
117
|
+
async function voiceProviderRequest(url, init, request = fetch) {
|
|
118
|
+
(0, diagnostics_1.voiceTiming)('provider_request_started');
|
|
119
|
+
try {
|
|
120
|
+
const response = await request(url, init);
|
|
121
|
+
(0, diagnostics_1.voiceTiming)('provider_headers_received', { httpStatus: response.status });
|
|
122
|
+
return response;
|
|
123
|
+
}
|
|
124
|
+
catch (error) {
|
|
125
|
+
const reason = init.signal?.reason;
|
|
126
|
+
if (reason?.name === 'TimeoutError' || (error instanceof Error && error.name === 'TimeoutError'))
|
|
127
|
+
throw new types_1.VoiceError('PROVIDER_TIMEOUT');
|
|
128
|
+
if (init.signal?.aborted)
|
|
129
|
+
throw new types_1.VoiceError('PROVIDER_ABORTED');
|
|
130
|
+
throw new types_1.VoiceError('PROVIDER_CONNECTION_FAILED');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/voice/errors.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** LINE's native player receives an AAC-LC M4A with metadata before media data.
|
|
2
|
+
* No shell, metadata, artwork, video tracks or provider container assumptions. */
|
|
3
|
+
export declare function convertLineAudio(input: string, output: string): Promise<number>;
|
|
4
|
+
//# sourceMappingURL=line-audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-audio.d.ts","sourceRoot":"","sources":["../../src/voice/line-audio.ts"],"names":[],"mappings":"AAIA;kFACkF;AAClF,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBrF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertLineAudio = convertLineAudio;
|
|
4
|
+
const child_process_1 = require("child_process");
|
|
5
|
+
const util_1 = require("util");
|
|
6
|
+
const promises_1 = require("fs/promises");
|
|
7
|
+
/** LINE's native player receives an AAC-LC M4A with metadata before media data.
|
|
8
|
+
* No shell, metadata, artwork, video tracks or provider container assumptions. */
|
|
9
|
+
async function convertLineAudio(input, output) {
|
|
10
|
+
const run = (0, util_1.promisify)(child_process_1.execFile);
|
|
11
|
+
await run('ffmpeg', ['-nostdin', '-hide_banner', '-loglevel', 'error', '-y',
|
|
12
|
+
'-i', input, '-map', '0:a:0', '-vn', '-map_metadata', '-1',
|
|
13
|
+
'-c:a', 'aac', '-profile:a', 'aac_low', '-b:a', '96k', '-ar', '44100', '-ac', '1',
|
|
14
|
+
'-movflags', '+faststart', '-f', 'ipod', output], { timeout: 30000, maxBuffer: 65536 });
|
|
15
|
+
const size = (await (0, promises_1.stat)(output)).size;
|
|
16
|
+
if (!size || size > 5 * 1024 * 1024)
|
|
17
|
+
throw new Error('LINE_AUDIO_SIZE_INVALID');
|
|
18
|
+
const { stdout } = await run('ffprobe', ['-v', 'error', '-show_entries',
|
|
19
|
+
'format=duration:stream=codec_name,profile,channels,sample_rate', '-of', 'json', output], { timeout: 5000, maxBuffer: 16384 });
|
|
20
|
+
const info = JSON.parse(stdout), stream = info.streams?.[0], duration = Number(info.format?.duration);
|
|
21
|
+
if (info.streams?.length !== 1 || stream.codec_name !== 'aac' || stream.profile !== 'LC' ||
|
|
22
|
+
stream.channels !== 1 || Number(stream.sample_rate) !== 44100 || !Number.isFinite(duration) || duration <= 0 || duration > 600) {
|
|
23
|
+
throw new Error('LINE_AUDIO_FORMAT_INVALID');
|
|
24
|
+
}
|
|
25
|
+
return Math.ceil(duration * 1000);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=line-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"line-audio.js","sourceRoot":"","sources":["../../src/voice/line-audio.ts"],"names":[],"mappings":";;AAMA,4CAiBC;AAvBD,iDAAyC;AACzC,+BAAiC;AACjC,0CAAmC;AAEnC;kFACkF;AAC3E,KAAK,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAc;IAClE,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,wBAAQ,CAAC,CAAC;IAChC,MAAM,GAAG,CAAC,QAAQ,EAAE,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI;QACzE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI;QAC1D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG;QACjF,WAAW,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1F,MAAM,IAAI,GAAG,CAAC,MAAM,IAAA,eAAI,EAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,IAAI,CAAC,IAAI,IAAI,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAChF,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe;QACrE,gEAAgE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EACxF,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtG,IAAI,IAAI,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;QACtF,MAAM,CAAC,QAAQ,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;QACjI,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const MANAGED_VOICE_QUOTA_EXHAUSTED = "MANAGED_VOICE_QUOTA_EXHAUSTED";
|
|
2
|
+
/** Consult the user's wallet through the existing authenticated provider route.
|
|
3
|
+
* Never cache an exhausted wallet across a reset or a plan/credit adjustment. */
|
|
4
|
+
export declare function requireManagedVoiceCredit(provider: string, request?: typeof fetch, signal?: AbortSignal): Promise<void>;
|
|
5
|
+
//# sourceMappingURL=managed-quota.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-quota.d.ts","sourceRoot":"","sources":["../../src/voice/managed-quota.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAC7E;iFACiF;AACjF,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,KAAa,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAmBpI"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MANAGED_VOICE_QUOTA_EXHAUSTED = void 0;
|
|
4
|
+
exports.requireManagedVoiceCredit = requireManagedVoiceCredit;
|
|
5
|
+
const upstream_1 = require("./providers/upstream");
|
|
6
|
+
const types_1 = require("./types");
|
|
7
|
+
exports.MANAGED_VOICE_QUOTA_EXHAUSTED = 'MANAGED_VOICE_QUOTA_EXHAUSTED';
|
|
8
|
+
/** Consult the user's wallet through the existing authenticated provider route.
|
|
9
|
+
* Never cache an exhausted wallet across a reset or a plan/credit adjustment. */
|
|
10
|
+
async function requireManagedVoiceCredit(provider, request = fetch, signal) {
|
|
11
|
+
if (!provider.startsWith('managed:'))
|
|
12
|
+
return;
|
|
13
|
+
const { base, key } = (0, upstream_1.upstreamVoiceConnection)('elevenlabs', true);
|
|
14
|
+
let usage;
|
|
15
|
+
try {
|
|
16
|
+
const timeout = AbortSignal.timeout(5000);
|
|
17
|
+
const effectiveSignal = signal ? AbortSignal.any([signal, timeout]) : timeout;
|
|
18
|
+
effectiveSignal.throwIfAborted();
|
|
19
|
+
const response = await request(new URL('../usage', base), {
|
|
20
|
+
headers: { Authorization: `Bearer ${key}` }, signal: effectiveSignal, redirect: 'error',
|
|
21
|
+
});
|
|
22
|
+
if (!response.ok)
|
|
23
|
+
throw new types_1.VoiceError('MANAGED_VOICE_USAGE_UNAVAILABLE');
|
|
24
|
+
usage = await response.json();
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
throw new types_1.VoiceError(signal?.aborted ? 'PROVIDER_ABORTED' : 'MANAGED_VOICE_USAGE_UNAVAILABLE');
|
|
28
|
+
}
|
|
29
|
+
const remaining = usage && typeof usage === 'object' ? usage.remaining : undefined;
|
|
30
|
+
if (typeof remaining !== 'number' || !Number.isFinite(remaining))
|
|
31
|
+
throw new types_1.VoiceError('MANAGED_VOICE_USAGE_UNAVAILABLE');
|
|
32
|
+
if (remaining <= 0)
|
|
33
|
+
throw new types_1.VoiceError(exports.MANAGED_VOICE_QUOTA_EXHAUSTED);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=managed-quota.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-quota.js","sourceRoot":"","sources":["../../src/voice/managed-quota.ts"],"names":[],"mappings":";;;AAMA,8DAmBC;AAzBD,mDAA+D;AAC/D,mCAAqC;AAExB,QAAA,6BAA6B,GAAG,+BAA+B,CAAC;AAC7E;iFACiF;AAC1E,KAAK,UAAU,yBAAyB,CAAC,QAAgB,EAAE,UAAwB,KAAK,EAAE,MAAoB;IACnH,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO;IAC7C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAA,kCAAuB,EAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAClE,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,MAAM,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9E,eAAe,CAAC,cAAc,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE;YACxD,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO;SACxF,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,kBAAU,CAAC,iCAAiC,CAAC,CAAC;QAC1E,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,kBAAU,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC;IACjG,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAE,KAAiC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAChH,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,kBAAU,CAAC,iCAAiC,CAAC,CAAC;IAC1H,IAAI,SAAS,IAAI,CAAC;QAAE,MAAM,IAAI,kBAAU,CAAC,qCAA6B,CAAC,CAAC;AAC1E,CAAC"}
|