botmux 3.10.0 → 3.11.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/dist/.runtime-build-id +1 -1
- package/dist/adapters/backend/herdr-backend.d.ts +4 -3
- package/dist/adapters/backend/herdr-backend.d.ts.map +1 -1
- package/dist/adapters/backend/herdr-backend.js +11 -8
- package/dist/adapters/backend/herdr-backend.js.map +1 -1
- package/dist/adapters/backend/pty-backend.d.ts +1 -1
- package/dist/adapters/backend/pty-backend.d.ts.map +1 -1
- package/dist/adapters/backend/pty-backend.js +4 -1
- package/dist/adapters/backend/pty-backend.js.map +1 -1
- package/dist/adapters/backend/riff-backend.d.ts +29 -5
- package/dist/adapters/backend/riff-backend.d.ts.map +1 -1
- package/dist/adapters/backend/riff-backend.js +302 -31
- package/dist/adapters/backend/riff-backend.js.map +1 -1
- package/dist/adapters/backend/sandbox.d.ts +6 -0
- package/dist/adapters/backend/sandbox.d.ts.map +1 -1
- package/dist/adapters/backend/sandbox.js +7 -0
- package/dist/adapters/backend/sandbox.js.map +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts +1 -1
- package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-backend.js +4 -1
- package/dist/adapters/backend/tmux-backend.js.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js +1 -1
- package/dist/adapters/backend/tmux-pipe-backend.js.map +1 -1
- package/dist/adapters/backend/types.d.ts +37 -3
- package/dist/adapters/backend/types.d.ts.map +1 -1
- package/dist/adapters/backend/types.js.map +1 -1
- package/dist/adapters/backend/zellij-backend.d.ts +3 -3
- package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zellij-backend.js +9 -3
- package/dist/adapters/backend/zellij-backend.js.map +1 -1
- package/dist/adapters/backend/zellij-observe-backend.d.ts +3 -3
- package/dist/adapters/backend/zellij-observe-backend.d.ts.map +1 -1
- package/dist/adapters/backend/zellij-observe-backend.js +12 -7
- package/dist/adapters/backend/zellij-observe-backend.js.map +1 -1
- package/dist/adapters/cli/codex-app.d.ts.map +1 -1
- package/dist/adapters/cli/codex-app.js +11 -2
- package/dist/adapters/cli/codex-app.js.map +1 -1
- package/dist/adapters/cli/read-isolation.d.ts +35 -2
- package/dist/adapters/cli/read-isolation.d.ts.map +1 -1
- package/dist/adapters/cli/read-isolation.js +88 -7
- package/dist/adapters/cli/read-isolation.js.map +1 -1
- package/dist/adapters/cli/runner-input.d.ts +15 -14
- package/dist/adapters/cli/runner-input.d.ts.map +1 -1
- package/dist/adapters/cli/runner-input.js +64 -26
- package/dist/adapters/cli/runner-input.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +20 -5
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/bot-registry.d.ts +24 -0
- package/dist/bot-registry.d.ts.map +1 -1
- package/dist/bot-registry.js +110 -5
- package/dist/bot-registry.js.map +1 -1
- package/dist/cli/fleet-shutdown.d.ts +47 -0
- package/dist/cli/fleet-shutdown.d.ts.map +1 -0
- package/dist/cli/fleet-shutdown.js +387 -0
- package/dist/cli/fleet-shutdown.js.map +1 -0
- package/dist/cli/pm2-descriptor-guard.d.ts +19 -0
- package/dist/cli/pm2-descriptor-guard.d.ts.map +1 -0
- package/dist/cli/pm2-descriptor-guard.js +122 -0
- package/dist/cli/pm2-descriptor-guard.js.map +1 -0
- package/dist/cli/pm2-exact-start.d.ts +16 -0
- package/dist/cli/pm2-exact-start.d.ts.map +1 -0
- package/dist/cli/pm2-exact-start.js +63 -0
- package/dist/cli/pm2-exact-start.js.map +1 -0
- package/dist/cli/pm2-god-admission.d.ts +8 -0
- package/dist/cli/pm2-god-admission.d.ts.map +1 -0
- package/dist/cli/pm2-god-admission.js +25 -0
- package/dist/cli/pm2-god-admission.js.map +1 -0
- package/dist/cli/pm2-jlist.d.ts +13 -0
- package/dist/cli/pm2-jlist.d.ts.map +1 -0
- package/dist/cli/pm2-jlist.js +108 -0
- package/dist/cli/pm2-jlist.js.map +1 -0
- package/dist/cli/pm2-preflight.d.ts +10 -0
- package/dist/cli/pm2-preflight.d.ts.map +1 -0
- package/dist/cli/pm2-preflight.js +23 -0
- package/dist/cli/pm2-preflight.js.map +1 -0
- package/dist/cli/pm2-shutdown-capability.d.ts +27 -0
- package/dist/cli/pm2-shutdown-capability.d.ts.map +1 -0
- package/dist/cli/pm2-shutdown-capability.js +161 -0
- package/dist/cli/pm2-shutdown-capability.js.map +1 -0
- package/dist/cli/pm2-start-transaction.d.ts +55 -0
- package/dist/cli/pm2-start-transaction.d.ts.map +1 -0
- package/dist/cli/pm2-start-transaction.js +220 -0
- package/dist/cli/pm2-start-transaction.js.map +1 -0
- package/dist/cli/send-dispatch.d.ts +12 -0
- package/dist/cli/send-dispatch.d.ts.map +1 -1
- package/dist/cli/send-dispatch.js +31 -4
- package/dist/cli/send-dispatch.js.map +1 -1
- package/dist/cli/session-list-liveness.d.ts +1 -0
- package/dist/cli/session-list-liveness.d.ts.map +1 -1
- package/dist/cli/session-list-liveness.js +6 -0
- package/dist/cli/session-list-liveness.js.map +1 -1
- package/dist/cli/session-picker-layout.d.ts +26 -0
- package/dist/cli/session-picker-layout.d.ts.map +1 -0
- package/dist/cli/session-picker-layout.js +123 -0
- package/dist/cli/session-picker-layout.js.map +1 -0
- package/dist/cli/session-picker-viewport.d.ts +49 -0
- package/dist/cli/session-picker-viewport.d.ts.map +1 -0
- package/dist/cli/session-picker-viewport.js +46 -0
- package/dist/cli/session-picker-viewport.js.map +1 -0
- package/dist/cli/supervisor-shutdown-client.d.ts +31 -0
- package/dist/cli/supervisor-shutdown-client.d.ts.map +1 -0
- package/dist/cli/supervisor-shutdown-client.js +146 -0
- package/dist/cli/supervisor-shutdown-client.js.map +1 -0
- package/dist/cli/terminal-width.d.ts +48 -0
- package/dist/cli/terminal-width.d.ts.map +1 -0
- package/dist/cli/terminal-width.js +119 -0
- package/dist/cli/terminal-width.js.map +1 -0
- package/dist/cli/vc-agent.d.ts.map +1 -1
- package/dist/cli/vc-agent.js +1 -1
- package/dist/cli/vc-agent.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +2269 -716
- package/dist/cli.js.map +1 -1
- package/dist/codex-app-runner.js +1630 -125
- package/dist/codex-app-runner.js.map +1 -1
- package/dist/core/ask-api.d.ts +8 -1
- package/dist/core/ask-api.d.ts.map +1 -1
- package/dist/core/ask-api.js +18 -0
- package/dist/core/ask-api.js.map +1 -1
- package/dist/core/ask-broker.d.ts +20 -0
- package/dist/core/ask-broker.d.ts.map +1 -1
- package/dist/core/ask-broker.js +467 -47
- package/dist/core/ask-broker.js.map +1 -1
- package/dist/core/ask-persist-store.d.ts +126 -0
- package/dist/core/ask-persist-store.d.ts.map +1 -0
- package/dist/core/ask-persist-store.js +188 -0
- package/dist/core/ask-persist-store.js.map +1 -0
- package/dist/core/ask-types.d.ts +80 -0
- package/dist/core/ask-types.d.ts.map +1 -1
- package/dist/core/ask-types.js +62 -0
- package/dist/core/ask-types.js.map +1 -1
- package/dist/core/cli-session-id-publisher.d.ts +20 -0
- package/dist/core/cli-session-id-publisher.d.ts.map +1 -0
- package/dist/core/cli-session-id-publisher.js +21 -0
- package/dist/core/cli-session-id-publisher.js.map +1 -0
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +427 -255
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/cost-calculator.d.ts +13 -0
- package/dist/core/cost-calculator.d.ts.map +1 -1
- package/dist/core/cost-calculator.js +385 -26
- package/dist/core/cost-calculator.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +9 -0
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +842 -288
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/explicit-session-backing-cleanup.d.ts +49 -0
- package/dist/core/explicit-session-backing-cleanup.d.ts.map +1 -0
- package/dist/core/explicit-session-backing-cleanup.js +76 -0
- package/dist/core/explicit-session-backing-cleanup.js.map +1 -0
- package/dist/core/idle-worker-sweeper.d.ts +20 -0
- package/dist/core/idle-worker-sweeper.d.ts.map +1 -1
- package/dist/core/idle-worker-sweeper.js +18 -0
- package/dist/core/idle-worker-sweeper.js.map +1 -1
- package/dist/core/inflight-input-tracker.d.ts +10 -0
- package/dist/core/inflight-input-tracker.d.ts.map +1 -1
- package/dist/core/inflight-input-tracker.js +7 -0
- package/dist/core/inflight-input-tracker.js.map +1 -1
- package/dist/core/managed-origin-attestation.d.ts +51 -0
- package/dist/core/managed-origin-attestation.d.ts.map +1 -0
- package/dist/core/managed-origin-attestation.js +208 -0
- package/dist/core/managed-origin-attestation.js.map +1 -0
- package/dist/core/managed-origin-capability.d.ts +62 -3
- package/dist/core/managed-origin-capability.d.ts.map +1 -1
- package/dist/core/managed-origin-capability.js +419 -9
- package/dist/core/managed-origin-capability.js.map +1 -1
- package/dist/core/pending-repo-journal.d.ts +6 -0
- package/dist/core/pending-repo-journal.d.ts.map +1 -0
- package/dist/core/pending-repo-journal.js +85 -0
- package/dist/core/pending-repo-journal.js.map +1 -0
- package/dist/core/persistent-backend.d.ts +6 -1
- package/dist/core/persistent-backend.d.ts.map +1 -1
- package/dist/core/persistent-backend.js +12 -6
- package/dist/core/persistent-backend.js.map +1 -1
- package/dist/core/process-start-identity.d.ts +3 -0
- package/dist/core/process-start-identity.d.ts.map +1 -0
- package/dist/core/process-start-identity.js +62 -0
- package/dist/core/process-start-identity.js.map +1 -0
- package/dist/core/raw-command-writer.d.ts +34 -0
- package/dist/core/raw-command-writer.d.ts.map +1 -0
- package/dist/core/raw-command-writer.js +48 -0
- package/dist/core/raw-command-writer.js.map +1 -0
- package/dist/core/reply-target.d.ts +85 -22
- package/dist/core/reply-target.d.ts.map +1 -1
- package/dist/core/reply-target.js +267 -32
- package/dist/core/reply-target.js.map +1 -1
- package/dist/core/resource-monitor/runtime.d.ts.map +1 -1
- package/dist/core/resource-monitor/runtime.js +4 -1
- package/dist/core/resource-monitor/runtime.js.map +1 -1
- package/dist/core/restart-report.d.ts +6 -1
- package/dist/core/restart-report.d.ts.map +1 -1
- package/dist/core/restart-report.js +22 -4
- package/dist/core/restart-report.js.map +1 -1
- package/dist/core/riff-shutdown-detach.d.ts +164 -0
- package/dist/core/riff-shutdown-detach.d.ts.map +1 -0
- package/dist/core/riff-shutdown-detach.js +787 -0
- package/dist/core/riff-shutdown-detach.js.map +1 -0
- package/dist/core/riff-worker-shutdown-readiness.d.ts +17 -0
- package/dist/core/riff-worker-shutdown-readiness.d.ts.map +1 -0
- package/dist/core/riff-worker-shutdown-readiness.js +21 -0
- package/dist/core/riff-worker-shutdown-readiness.js.map +1 -0
- package/dist/core/session-manager.d.ts +6 -6
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +1227 -594
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-marker.d.ts +1 -1
- package/dist/core/session-marker.d.ts.map +1 -1
- package/dist/core/session-marker.js +2 -2
- package/dist/core/session-marker.js.map +1 -1
- package/dist/core/session-mutation-guard.d.ts +17 -0
- package/dist/core/session-mutation-guard.d.ts.map +1 -0
- package/dist/core/session-mutation-guard.js +33 -0
- package/dist/core/session-mutation-guard.js.map +1 -0
- package/dist/core/shutdown-budgets.d.ts +27 -0
- package/dist/core/shutdown-budgets.d.ts.map +1 -0
- package/dist/core/shutdown-budgets.js +47 -0
- package/dist/core/shutdown-budgets.js.map +1 -0
- package/dist/core/supervisor-shutdown-ipc.d.ts +10 -0
- package/dist/core/supervisor-shutdown-ipc.d.ts.map +1 -0
- package/dist/core/supervisor-shutdown-ipc.js +10 -0
- package/dist/core/supervisor-shutdown-ipc.js.map +1 -0
- package/dist/core/supervisor-shutdown-protocol.d.ts +16 -0
- package/dist/core/supervisor-shutdown-protocol.d.ts.map +1 -0
- package/dist/core/supervisor-shutdown-protocol.js +16 -0
- package/dist/core/supervisor-shutdown-protocol.js.map +1 -0
- package/dist/core/trigger-final-suppression.d.ts +4 -0
- package/dist/core/trigger-final-suppression.d.ts.map +1 -1
- package/dist/core/trigger-final-suppression.js +6 -11
- package/dist/core/trigger-final-suppression.js.map +1 -1
- package/dist/core/trigger-session.d.ts +70 -0
- package/dist/core/trigger-session.d.ts.map +1 -1
- package/dist/core/trigger-session.js +923 -145
- package/dist/core/trigger-session.js.map +1 -1
- package/dist/core/types.d.ts +94 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +194 -13
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +2597 -547
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts +76 -2
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +2255 -773
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/bot-payload.d.ts +20 -0
- package/dist/dashboard/bot-payload.d.ts.map +1 -1
- package/dist/dashboard/bot-payload.js +24 -0
- package/dist/dashboard/bot-payload.js.map +1 -1
- package/dist/dashboard/feed-groups.d.ts +17 -0
- package/dist/dashboard/feed-groups.d.ts.map +1 -0
- package/dist/dashboard/feed-groups.js +75 -0
- package/dist/dashboard/feed-groups.js.map +1 -0
- package/dist/dashboard/session-card-model.d.ts +1 -1
- package/dist/dashboard/session-card-model.d.ts.map +1 -1
- package/dist/dashboard/session-card-model.js +8 -5
- package/dist/dashboard/session-card-model.js.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.d.ts +4 -0
- package/dist/dashboard/web/bot-defaults-page.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults-page.js +139 -46
- package/dist/dashboard/web/bot-defaults-page.js.map +1 -1
- package/dist/dashboard/web/bot-defaults.d.ts +4 -0
- package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
- package/dist/dashboard/web/bot-defaults.js.map +1 -1
- package/dist/dashboard/web/connectors-page.d.ts.map +1 -1
- package/dist/dashboard/web/connectors-page.js +40 -3
- package/dist/dashboard/web/connectors-page.js.map +1 -1
- package/dist/dashboard/web/groups-page.d.ts.map +1 -1
- package/dist/dashboard/web/groups-page.js +95 -2
- package/dist/dashboard/web/groups-page.js.map +1 -1
- package/dist/dashboard/web/i18n.d.ts.map +1 -1
- package/dist/dashboard/web/i18n.js +86 -40
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/kanban-model.js +1 -1
- package/dist/dashboard/web/kanban-model.js.map +1 -1
- package/dist/dashboard/web/overview-page.d.ts.map +1 -1
- package/dist/dashboard/web/overview-page.js +3 -2
- package/dist/dashboard/web/overview-page.js.map +1 -1
- package/dist/dashboard/web/overview.d.ts +3 -0
- package/dist/dashboard/web/overview.d.ts.map +1 -1
- package/dist/dashboard/web/overview.js +2 -0
- package/dist/dashboard/web/overview.js.map +1 -1
- package/dist/dashboard/web/sessions-kanban.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-kanban.js +2 -0
- package/dist/dashboard/web/sessions-kanban.js.map +1 -1
- package/dist/dashboard/web/sessions-page.d.ts.map +1 -1
- package/dist/dashboard/web/sessions-page.js +103 -2
- package/dist/dashboard/web/sessions-page.js.map +1 -1
- package/dist/dashboard/web/sessions.d.ts.map +1 -1
- package/dist/dashboard/web/sessions.js +3 -2
- package/dist/dashboard/web/sessions.js.map +1 -1
- package/dist/dashboard/web/ui.d.ts +8 -0
- package/dist/dashboard/web/ui.d.ts.map +1 -1
- package/dist/dashboard/web/ui.js +15 -0
- package/dist/dashboard/web/ui.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-GED4FEMS.js +10 -0
- package/dist/dashboard-web/chunks/chunk-6J5LS5AU.js +51 -0
- package/dist/dashboard-web/chunks/{chunk-ZU3UUKAR.js → chunk-HK7NIBJG.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-3UE7S77S.js → chunk-KRHWZEXU.js} +1 -1
- package/dist/dashboard-web/chunks/chunk-VBXJOJFH.js +1 -0
- package/dist/dashboard-web/chunks/connectors-page-EELM66G3.js +1 -0
- package/dist/dashboard-web/chunks/groups-page-WKUV6E42.js +8 -0
- package/dist/dashboard-web/chunks/{insights-page-T2ZX2RWL.js → insights-page-54UBPPOC.js} +1 -1
- package/dist/dashboard-web/chunks/{monitor-room-YNVBAGR6.js → monitor-room-PORHVKRH.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-LHM55YWN.js → monitoring-page-XGA7AXNL.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-ATXVP7PW.js → office-page-AO3AFG45.js} +1 -1
- package/dist/dashboard-web/chunks/overview-page-F5BUTYR6.js +1 -0
- package/dist/dashboard-web/chunks/{roles-page-56VWM6CD.js → roles-page-M5GIASJU.js} +1 -1
- package/dist/dashboard-web/chunks/{schedules-page-S5K6U4EO.js → schedules-page-O232WQRR.js} +1 -1
- package/dist/dashboard-web/chunks/sessions-page-YFRPSTIL.js +6 -0
- package/dist/dashboard-web/chunks/{settings-page-QUZDQARR.js → settings-page-OJAZLZQT.js} +1 -1
- package/dist/dashboard-web/chunks/{skills-page-IFY7AEND.js → skills-page-EFZQPWV4.js} +1 -1
- package/dist/dashboard-web/chunks/{team-federation-page-C7FJQPFZ.js → team-federation-page-ZJVAP7HW.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-2LMF3WWR.js → v3-page-GYWTRGO2.js} +1 -1
- package/dist/dashboard-web/chunks/{whiteboards-page-3XC6QRMY.js → whiteboards-page-MSDAG6P7.js} +1 -1
- package/dist/dashboard-web/style.css +255 -0
- package/dist/dashboard.js +172 -7
- package/dist/dashboard.js.map +1 -1
- package/dist/desktop/renderer/app.js +21 -0
- package/dist/desktop/renderer/app.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +35 -9
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +35 -9
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/ask-card.d.ts +23 -0
- package/dist/im/lark/ask-card.d.ts.map +1 -1
- package/dist/im/lark/ask-card.js +94 -4
- package/dist/im/lark/ask-card.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +6 -1
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +112 -15
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +496 -310
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +7 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +39 -26
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/doc-comment.d.ts +7 -4
- package/dist/im/lark/doc-comment.d.ts.map +1 -1
- package/dist/im/lark/doc-comment.js +19 -6
- package/dist/im/lark/doc-comment.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +16 -0
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +88 -23
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/forward-followup-content.d.ts.map +1 -1
- package/dist/im/lark/forward-followup-content.js +9 -1
- package/dist/im/lark/forward-followup-content.js.map +1 -1
- package/dist/im/lark/grant-command.d.ts.map +1 -1
- package/dist/im/lark/grant-command.js +7 -4
- package/dist/im/lark/grant-command.js.map +1 -1
- package/dist/im/lark/md-card.d.ts +11 -0
- package/dist/im/lark/md-card.d.ts.map +1 -1
- package/dist/im/lark/md-card.js +46 -0
- package/dist/im/lark/md-card.js.map +1 -1
- package/dist/im/lark/message-parser.d.ts +23 -2
- package/dist/im/lark/message-parser.d.ts.map +1 -1
- package/dist/im/lark/message-parser.js +58 -3
- package/dist/im/lark/message-parser.js.map +1 -1
- package/dist/im/lark/overview-card.d.ts.map +1 -1
- package/dist/im/lark/overview-card.js +2 -1
- package/dist/im/lark/overview-card.js.map +1 -1
- package/dist/services/async-trigger-state.d.ts +6 -1
- package/dist/services/async-trigger-state.d.ts.map +1 -1
- package/dist/services/async-trigger-state.js +21 -0
- package/dist/services/async-trigger-state.js.map +1 -1
- package/dist/services/async-trigger-store.d.ts +23 -1
- package/dist/services/async-trigger-store.d.ts.map +1 -1
- package/dist/services/async-trigger-store.js +96 -13
- package/dist/services/async-trigger-store.js.map +1 -1
- package/dist/services/bridge-fallback-gate.d.ts +40 -0
- package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
- package/dist/services/bridge-fallback-gate.js +124 -24
- package/dist/services/bridge-fallback-gate.js.map +1 -1
- package/dist/services/codex-app-runner-protocol.d.ts +8 -0
- package/dist/services/codex-app-runner-protocol.d.ts.map +1 -1
- package/dist/services/codex-app-runner-protocol.js +9 -2
- package/dist/services/codex-app-runner-protocol.js.map +1 -1
- package/dist/services/codex-bridge-queue.d.ts +1 -0
- package/dist/services/codex-bridge-queue.d.ts.map +1 -1
- package/dist/services/codex-bridge-queue.js +1 -0
- package/dist/services/codex-bridge-queue.js.map +1 -1
- package/dist/services/codex-service-tier.d.ts +2 -0
- package/dist/services/codex-service-tier.d.ts.map +1 -1
- package/dist/services/codex-service-tier.js +1 -0
- package/dist/services/codex-service-tier.js.map +1 -1
- package/dist/services/codex-transcript.d.ts +27 -0
- package/dist/services/codex-transcript.d.ts.map +1 -1
- package/dist/services/codex-transcript.js +340 -2
- package/dist/services/codex-transcript.js.map +1 -1
- package/dist/services/grant-policy.d.ts +3 -0
- package/dist/services/grant-policy.d.ts.map +1 -1
- package/dist/services/grant-policy.js +5 -0
- package/dist/services/grant-policy.js.map +1 -1
- package/dist/services/grant-prefs-store.d.ts +6 -3
- package/dist/services/grant-prefs-store.d.ts.map +1 -1
- package/dist/services/grant-prefs-store.js +42 -12
- package/dist/services/grant-prefs-store.js.map +1 -1
- package/dist/services/hook-runner.d.ts +20 -1
- package/dist/services/hook-runner.d.ts.map +1 -1
- package/dist/services/hook-runner.js +17 -13
- package/dist/services/hook-runner.js.map +1 -1
- package/dist/services/idempotency-store.d.ts +134 -0
- package/dist/services/idempotency-store.d.ts.map +1 -0
- package/dist/services/idempotency-store.js +299 -0
- package/dist/services/idempotency-store.js.map +1 -0
- package/dist/services/jsonl-cursor.d.ts +7 -3
- package/dist/services/jsonl-cursor.d.ts.map +1 -1
- package/dist/services/jsonl-cursor.js +55 -31
- package/dist/services/jsonl-cursor.js.map +1 -1
- package/dist/services/open-platform-rename.d.ts.map +1 -1
- package/dist/services/open-platform-rename.js +1 -108
- package/dist/services/open-platform-rename.js.map +1 -1
- package/dist/services/restart-intent-store.d.ts +22 -2
- package/dist/services/restart-intent-store.d.ts.map +1 -1
- package/dist/services/restart-intent-store.js +160 -18
- package/dist/services/restart-intent-store.js.map +1 -1
- package/dist/services/sandbox-store.d.ts +22 -0
- package/dist/services/sandbox-store.d.ts.map +1 -1
- package/dist/services/sandbox-store.js +37 -8
- package/dist/services/sandbox-store.js.map +1 -1
- package/dist/services/send-policy.d.ts +41 -33
- package/dist/services/send-policy.d.ts.map +1 -1
- package/dist/services/send-policy.js +39 -40
- package/dist/services/send-policy.js.map +1 -1
- package/dist/services/session-store.d.ts +66 -0
- package/dist/services/session-store.d.ts.map +1 -1
- package/dist/services/session-store.js +403 -67
- package/dist/services/session-store.js.map +1 -1
- package/dist/services/submit-notification.d.ts +3 -0
- package/dist/services/submit-notification.d.ts.map +1 -0
- package/dist/services/submit-notification.js +15 -0
- package/dist/services/submit-notification.js.map +1 -0
- package/dist/services/traex-transcript.d.ts +25 -2
- package/dist/services/traex-transcript.d.ts.map +1 -1
- package/dist/services/traex-transcript.js +133 -1
- package/dist/services/traex-transcript.js.map +1 -1
- package/dist/services/trigger-types.d.ts +13 -1
- package/dist/services/trigger-types.d.ts.map +1 -1
- package/dist/services/trigger-types.js +39 -0
- package/dist/services/trigger-types.js.map +1 -1
- package/dist/services/voice/index.d.ts +3 -2
- package/dist/services/voice/index.d.ts.map +1 -1
- package/dist/services/voice/index.js +5 -5
- package/dist/services/voice/index.js.map +1 -1
- package/dist/services/voice/openai.d.ts +2 -1
- package/dist/services/voice/openai.d.ts.map +1 -1
- package/dist/services/voice/openai.js +2 -1
- package/dist/services/voice/openai.js.map +1 -1
- package/dist/services/voice/sami.d.ts +5 -2
- package/dist/services/voice/sami.d.ts.map +1 -1
- package/dist/services/voice/sami.js +19 -4
- package/dist/services/voice/sami.js.map +1 -1
- package/dist/setup/bots-store.d.ts.map +1 -1
- package/dist/setup/bots-store.js +10 -4
- package/dist/setup/bots-store.js.map +1 -1
- package/dist/setup/lark-scopes.json +2 -0
- package/dist/setup/open-platform-automation.d.ts +9 -1
- package/dist/setup/open-platform-automation.d.ts.map +1 -1
- package/dist/setup/open-platform-automation.js +44 -15
- package/dist/setup/open-platform-automation.js.map +1 -1
- package/dist/setup/open-platform-visibility.d.ts +42 -0
- package/dist/setup/open-platform-visibility.d.ts.map +1 -0
- package/dist/setup/open-platform-visibility.js +133 -0
- package/dist/setup/open-platform-visibility.js.map +1 -0
- package/dist/setup/verify-permissions.d.ts.map +1 -1
- package/dist/setup/verify-permissions.js +6 -0
- package/dist/setup/verify-permissions.js.map +1 -1
- package/dist/skills/definitions.js +2 -2
- package/dist/types.d.ts +290 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/bot-routing.d.ts +1 -0
- package/dist/utils/bot-routing.d.ts.map +1 -1
- package/dist/utils/bot-routing.js +1 -1
- package/dist/utils/bot-routing.js.map +1 -1
- package/dist/utils/child-env.d.ts +1 -1
- package/dist/utils/child-env.d.ts.map +1 -1
- package/dist/utils/child-env.js +9 -0
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/codex-app-control.d.ts +438 -0
- package/dist/utils/codex-app-control.d.ts.map +1 -0
- package/dist/utils/codex-app-control.js +2336 -0
- package/dist/utils/codex-app-control.js.map +1 -0
- package/dist/utils/codex-app-dispatch-ledger.d.ts +78 -0
- package/dist/utils/codex-app-dispatch-ledger.d.ts.map +1 -0
- package/dist/utils/codex-app-dispatch-ledger.js +149 -0
- package/dist/utils/codex-app-dispatch-ledger.js.map +1 -0
- package/dist/utils/codex-app-turn-dispatch.d.ts +77 -0
- package/dist/utils/codex-app-turn-dispatch.d.ts.map +1 -0
- package/dist/utils/codex-app-turn-dispatch.js +141 -0
- package/dist/utils/codex-app-turn-dispatch.js.map +1 -0
- package/dist/utils/codex-app-turn-liveness.d.ts +125 -0
- package/dist/utils/codex-app-turn-liveness.d.ts.map +1 -0
- package/dist/utils/codex-app-turn-liveness.js +301 -0
- package/dist/utils/codex-app-turn-liveness.js.map +1 -0
- package/dist/utils/idle-detector.d.ts +12 -0
- package/dist/utils/idle-detector.d.ts.map +1 -1
- package/dist/utils/idle-detector.js +19 -0
- package/dist/utils/idle-detector.js.map +1 -1
- package/dist/utils/input-gate.d.ts +87 -0
- package/dist/utils/input-gate.d.ts.map +1 -1
- package/dist/utils/input-gate.js +86 -0
- package/dist/utils/input-gate.js.map +1 -1
- package/dist/utils/lark-upload.d.ts.map +1 -1
- package/dist/utils/lark-upload.js +52 -1
- package/dist/utils/lark-upload.js.map +1 -1
- package/dist/utils/pending-input-queue.d.ts +15 -0
- package/dist/utils/pending-input-queue.d.ts.map +1 -1
- package/dist/utils/pending-input-queue.js +5 -1
- package/dist/utils/pending-input-queue.js.map +1 -1
- package/dist/utils/user-token.d.ts.map +1 -1
- package/dist/utils/user-token.js +53 -2
- package/dist/utils/user-token.js.map +1 -1
- package/dist/worker-ipc-preload.d.ts +12 -0
- package/dist/worker-ipc-preload.d.ts.map +1 -0
- package/dist/worker-ipc-preload.js +44 -0
- package/dist/worker-ipc-preload.js.map +1 -0
- package/dist/worker.js +2604 -325
- package/dist/worker.js.map +1 -1
- package/dist/workflows/v3/session-relay-client.d.ts +1 -0
- package/dist/workflows/v3/session-relay-client.d.ts.map +1 -1
- package/dist/workflows/v3/session-relay-client.js +12 -3
- package/dist/workflows/v3/session-relay-client.js.map +1 -1
- package/package.json +1 -1
- package/dist/dashboard-web/chunks/bot-defaults-page-LTVOUDIS.js +0 -10
- package/dist/dashboard-web/chunks/chunk-DCS35UMD.js +0 -1
- package/dist/dashboard-web/chunks/chunk-MFQPCVHY.js +0 -51
- package/dist/dashboard-web/chunks/connectors-page-5KWDIMKC.js +0 -1
- package/dist/dashboard-web/chunks/groups-page-FHOKYXMW.js +0 -8
- package/dist/dashboard-web/chunks/overview-page-QYI3KBDD.js +0 -1
- package/dist/dashboard-web/chunks/sessions-page-WBP4N7D2.js +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle-detector.js","sourceRoot":"","sources":["../../src/utils/idle-detector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"idle-detector.js","sourceRoot":"","sources":["../../src/utils/idle-detector.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,93 @@ export declare function shouldWaitForPostSessionStartPromptEvidence(state: {
|
|
|
48
48
|
isPromptReady: boolean;
|
|
49
49
|
alreadyWaiting: boolean;
|
|
50
50
|
}): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether the "accept a prompt that is ALREADY on screen" fallback
|
|
53
|
+
* (decidePostHookPromptEvidence) may be armed for THIS SessionStart signal.
|
|
54
|
+
*
|
|
55
|
+
* The fallback exists only for `source=startup`: a brand-new session paints its
|
|
56
|
+
* prompt before the hooks finish and never redraws, so the fresh-evidence fence
|
|
57
|
+
* would otherwise wait out the full first-prompt timeout. Every OTHER source
|
|
58
|
+
* (resume/clear/compact) replays or reprints its transcript AFTER the boundary,
|
|
59
|
+
* so a genuinely fresh ❯ redraw arrives on its own in ~2s — the fence resolves
|
|
60
|
+
* without help. Arming the fallback there would instead let a >2s pause over a
|
|
61
|
+
* REPLAYED historical ❯ (still on the viewport during replay) satisfy the quiet
|
|
62
|
+
* gate and accept a pre-boundary prompt, defeating the very fence resume relies
|
|
63
|
+
* on. So the fallback is startup-only; the fence itself stays for all sources.
|
|
64
|
+
*
|
|
65
|
+
* Fail-safe: an unknown/absent source is NOT startup, so it does not arm — the
|
|
66
|
+
* signal simply falls back to the existing first-prompt timeout (status quo),
|
|
67
|
+
* never a new premature-delivery path.
|
|
68
|
+
*/
|
|
69
|
+
export declare function shouldArmPostHookPromptEvidenceFallback(state: {
|
|
70
|
+
/** shouldWaitForPostSessionStartPromptEvidence already said we're fencing. */
|
|
71
|
+
waitingForPostHookPrompt: boolean;
|
|
72
|
+
/** The SessionStart hook payload's `source` field (Claude: startup/resume/…). */
|
|
73
|
+
source: string | undefined;
|
|
74
|
+
}): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* How long after the SessionStart boundary the fallback starts polling.
|
|
77
|
+
*
|
|
78
|
+
* The boundary also resets the quiescence baseline (`lastPtyOutputAtMs`), so the
|
|
79
|
+
* quiet window can never be satisfied before `POST_HOOK_EVIDENCE_QUIET_MS` has
|
|
80
|
+
* passed — polling earlier than that only burns a wakeup. Polling LATER just
|
|
81
|
+
* adds dead time to every new session, so this tracks the quiet threshold.
|
|
82
|
+
*/
|
|
83
|
+
export declare const POST_HOOK_EVIDENCE_FALLBACK_MS = 2000;
|
|
84
|
+
/** PTY must be silent at least this long before the screen is trusted. */
|
|
85
|
+
export declare const POST_HOOK_EVIDENCE_QUIET_MS = 2000;
|
|
86
|
+
/** Past this the fallback gives up and hands back to the first-prompt timeout. */
|
|
87
|
+
export declare const POST_HOOK_EVIDENCE_MAX_WAIT_MS = 10000;
|
|
88
|
+
/** Re-poll delay when the PTY is quiet enough but the prompt isn't on screen yet. */
|
|
89
|
+
export declare const POST_HOOK_EVIDENCE_RETRY_MS = 500;
|
|
90
|
+
/**
|
|
91
|
+
* SessionStart boundary fallback — accept a prompt that is ALREADY on screen.
|
|
92
|
+
*
|
|
93
|
+
* At the boundary `resetReadyEvidence()` drops old evidence and waits for a
|
|
94
|
+
* freshly rendered ❯. Resume replays its transcript, so it redraws and the real
|
|
95
|
+
* evidence arrives in ~2s. A `source=startup` session does not redraw at all:
|
|
96
|
+
* the prompt was painted before the hooks finished and the TUI has no reason to
|
|
97
|
+
* paint it again. `!readySeen` then suppresses the idle detector's quiescence
|
|
98
|
+
* strategy permanently and every new topic waits out the full first-prompt
|
|
99
|
+
* timeout before its first message is forced in.
|
|
100
|
+
*
|
|
101
|
+
* So the wait window gets a second, independent criterion: the screen has been
|
|
102
|
+
* quiet long enough AND the prompt is visible on the CURRENT screen — no longer
|
|
103
|
+
* depending on a redraw that may never happen.
|
|
104
|
+
*
|
|
105
|
+
* What keeps a startup selector's look-alike ❯ out is NOT the quiet window — a
|
|
106
|
+
* selector sitting there waiting for a keypress is perfectly quiet. It is the
|
|
107
|
+
* arming point: the caller only arms this fallback once the SessionStart ready
|
|
108
|
+
* signal has arrived, and that hook does not fire while the selector is still
|
|
109
|
+
* up. Outside that window the fallback never runs at all.
|
|
110
|
+
*
|
|
111
|
+
* The caller must read the prompt from the rendered viewport
|
|
112
|
+
* (`renderer.rawSnapshot()`), NOT from the appended PTY log: after ANSI erase
|
|
113
|
+
* sequences are stripped, a ❯ the TUI already wiped still matches, which would
|
|
114
|
+
* accept a prompt that is no longer there.
|
|
115
|
+
*
|
|
116
|
+
* Returns the action for the polling timer:
|
|
117
|
+
* - `accept` — seed the ready evidence; the idle detector still runs a full
|
|
118
|
+
* quiescence check (spinner guard included) on top of it.
|
|
119
|
+
* - `retry` — re-arm after `retryInMs`.
|
|
120
|
+
* - `stop` — real evidence won the race, or the window expired; hand back
|
|
121
|
+
* to the existing first-prompt timeout rather than poll forever.
|
|
122
|
+
*/
|
|
123
|
+
export declare function decidePostHookPromptEvidence(state: {
|
|
124
|
+
/** The worker is still waiting for post-boundary prompt evidence. */
|
|
125
|
+
stillWaiting: boolean;
|
|
126
|
+
/** Milliseconds since the fallback was armed at the SessionStart boundary. */
|
|
127
|
+
elapsedMs: number;
|
|
128
|
+
/** Milliseconds since the last PTY byte. */
|
|
129
|
+
quietMs: number;
|
|
130
|
+
/** The CURRENT rendered screen matches the adapter's readyPattern. */
|
|
131
|
+
screenHasReadyPattern: boolean;
|
|
132
|
+
maxWaitMs?: number;
|
|
133
|
+
quietThresholdMs?: number;
|
|
134
|
+
}): {
|
|
135
|
+
action: 'accept' | 'retry' | 'stop';
|
|
136
|
+
retryInMs?: number;
|
|
137
|
+
};
|
|
51
138
|
export declare function shouldReleaseFirstPromptTimeout(state: {
|
|
52
139
|
/** Adapter wants the soft timeout to wait for a real readyPattern. */
|
|
53
140
|
deferFirstPromptTimeoutUntilReady: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-gate.d.ts","sourceRoot":"","sources":["../../src/utils/input-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,sCAAsC;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAKV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB,GAAG,OAAO,CAMV;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,sEAAsE;IACtE,iCAAiC,EAAE,OAAO,CAAC;IAC3C,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAIV;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,sBAAsB,EAAE,OAAO,CAAC;IAChC,+BAA+B,EAAE,OAAO,CAAC;IACzC,0BAA0B,EAAE,OAAO,CAAC;CACrC,GAAG,OAAO,CAEV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,CAE1F"}
|
|
1
|
+
{"version":3,"file":"input-gate.d.ts","sourceRoot":"","sources":["../../src/utils/input-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,sCAAsC;IACtC,aAAa,EAAE,OAAO,CAAC;IACvB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,oEAAoE;IACpE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,sFAAsF;IACtF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,4EAA4E;IAC5E,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,OAAO,CAKV;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,2CAA2C,CAAC,KAAK,EAAE;IACjE,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;CACzB,GAAG,OAAO,CAMV;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,uCAAuC,CAAC,KAAK,EAAE;IAC7D,8EAA8E;IAC9E,wBAAwB,EAAE,OAAO,CAAC;IAClC,iFAAiF;IACjF,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,GAAG,OAAO,CAEV;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,OAAQ,CAAC;AACpD,0EAA0E;AAC1E,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AACjD,kFAAkF;AAClF,eAAO,MAAM,8BAA8B,QAAS,CAAC;AACrD,qFAAqF;AACrF,eAAO,MAAM,2BAA2B,MAAM,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE;IAClD,qEAAqE;IACrE,YAAY,EAAE,OAAO,CAAC;IACtB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,qBAAqB,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG;IAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAa9D;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE;IACrD,sEAAsE;IACtE,iCAAiC,EAAE,OAAO,CAAC;IAC3C,8EAA8E;IAC9E,eAAe,EAAE,OAAO,CAAC;IACzB,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,OAAO,CAIV;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,sBAAsB,EAAE,OAAO,CAAC;IAChC,+BAA+B,EAAE,OAAO,CAAC;IACzC,0BAA0B,EAAE,OAAO,CAAC;CACrC,GAAG,OAAO,CAEV;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,iBAAiB,EAAE,OAAO,GAAG,OAAO,GAAG,YAAY,CAE1F"}
|
package/dist/utils/input-gate.js
CHANGED
|
@@ -44,6 +44,92 @@ export function shouldWaitForPostSessionStartPromptEvidence(state) {
|
|
|
44
44
|
&& !state.isPromptReady
|
|
45
45
|
&& !state.alreadyWaiting;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Whether the "accept a prompt that is ALREADY on screen" fallback
|
|
49
|
+
* (decidePostHookPromptEvidence) may be armed for THIS SessionStart signal.
|
|
50
|
+
*
|
|
51
|
+
* The fallback exists only for `source=startup`: a brand-new session paints its
|
|
52
|
+
* prompt before the hooks finish and never redraws, so the fresh-evidence fence
|
|
53
|
+
* would otherwise wait out the full first-prompt timeout. Every OTHER source
|
|
54
|
+
* (resume/clear/compact) replays or reprints its transcript AFTER the boundary,
|
|
55
|
+
* so a genuinely fresh ❯ redraw arrives on its own in ~2s — the fence resolves
|
|
56
|
+
* without help. Arming the fallback there would instead let a >2s pause over a
|
|
57
|
+
* REPLAYED historical ❯ (still on the viewport during replay) satisfy the quiet
|
|
58
|
+
* gate and accept a pre-boundary prompt, defeating the very fence resume relies
|
|
59
|
+
* on. So the fallback is startup-only; the fence itself stays for all sources.
|
|
60
|
+
*
|
|
61
|
+
* Fail-safe: an unknown/absent source is NOT startup, so it does not arm — the
|
|
62
|
+
* signal simply falls back to the existing first-prompt timeout (status quo),
|
|
63
|
+
* never a new premature-delivery path.
|
|
64
|
+
*/
|
|
65
|
+
export function shouldArmPostHookPromptEvidenceFallback(state) {
|
|
66
|
+
return state.waitingForPostHookPrompt && state.source === 'startup';
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* How long after the SessionStart boundary the fallback starts polling.
|
|
70
|
+
*
|
|
71
|
+
* The boundary also resets the quiescence baseline (`lastPtyOutputAtMs`), so the
|
|
72
|
+
* quiet window can never be satisfied before `POST_HOOK_EVIDENCE_QUIET_MS` has
|
|
73
|
+
* passed — polling earlier than that only burns a wakeup. Polling LATER just
|
|
74
|
+
* adds dead time to every new session, so this tracks the quiet threshold.
|
|
75
|
+
*/
|
|
76
|
+
export const POST_HOOK_EVIDENCE_FALLBACK_MS = 2_000;
|
|
77
|
+
/** PTY must be silent at least this long before the screen is trusted. */
|
|
78
|
+
export const POST_HOOK_EVIDENCE_QUIET_MS = 2_000;
|
|
79
|
+
/** Past this the fallback gives up and hands back to the first-prompt timeout. */
|
|
80
|
+
export const POST_HOOK_EVIDENCE_MAX_WAIT_MS = 10_000;
|
|
81
|
+
/** Re-poll delay when the PTY is quiet enough but the prompt isn't on screen yet. */
|
|
82
|
+
export const POST_HOOK_EVIDENCE_RETRY_MS = 500;
|
|
83
|
+
/**
|
|
84
|
+
* SessionStart boundary fallback — accept a prompt that is ALREADY on screen.
|
|
85
|
+
*
|
|
86
|
+
* At the boundary `resetReadyEvidence()` drops old evidence and waits for a
|
|
87
|
+
* freshly rendered ❯. Resume replays its transcript, so it redraws and the real
|
|
88
|
+
* evidence arrives in ~2s. A `source=startup` session does not redraw at all:
|
|
89
|
+
* the prompt was painted before the hooks finished and the TUI has no reason to
|
|
90
|
+
* paint it again. `!readySeen` then suppresses the idle detector's quiescence
|
|
91
|
+
* strategy permanently and every new topic waits out the full first-prompt
|
|
92
|
+
* timeout before its first message is forced in.
|
|
93
|
+
*
|
|
94
|
+
* So the wait window gets a second, independent criterion: the screen has been
|
|
95
|
+
* quiet long enough AND the prompt is visible on the CURRENT screen — no longer
|
|
96
|
+
* depending on a redraw that may never happen.
|
|
97
|
+
*
|
|
98
|
+
* What keeps a startup selector's look-alike ❯ out is NOT the quiet window — a
|
|
99
|
+
* selector sitting there waiting for a keypress is perfectly quiet. It is the
|
|
100
|
+
* arming point: the caller only arms this fallback once the SessionStart ready
|
|
101
|
+
* signal has arrived, and that hook does not fire while the selector is still
|
|
102
|
+
* up. Outside that window the fallback never runs at all.
|
|
103
|
+
*
|
|
104
|
+
* The caller must read the prompt from the rendered viewport
|
|
105
|
+
* (`renderer.rawSnapshot()`), NOT from the appended PTY log: after ANSI erase
|
|
106
|
+
* sequences are stripped, a ❯ the TUI already wiped still matches, which would
|
|
107
|
+
* accept a prompt that is no longer there.
|
|
108
|
+
*
|
|
109
|
+
* Returns the action for the polling timer:
|
|
110
|
+
* - `accept` — seed the ready evidence; the idle detector still runs a full
|
|
111
|
+
* quiescence check (spinner guard included) on top of it.
|
|
112
|
+
* - `retry` — re-arm after `retryInMs`.
|
|
113
|
+
* - `stop` — real evidence won the race, or the window expired; hand back
|
|
114
|
+
* to the existing first-prompt timeout rather than poll forever.
|
|
115
|
+
*/
|
|
116
|
+
export function decidePostHookPromptEvidence(state) {
|
|
117
|
+
const maxWaitMs = state.maxWaitMs ?? POST_HOOK_EVIDENCE_MAX_WAIT_MS;
|
|
118
|
+
const quietThresholdMs = state.quietThresholdMs ?? POST_HOOK_EVIDENCE_QUIET_MS;
|
|
119
|
+
// Real evidence arrived — the fallback steps aside.
|
|
120
|
+
if (!state.stillWaiting)
|
|
121
|
+
return { action: 'stop' };
|
|
122
|
+
if (state.elapsedMs >= maxWaitMs)
|
|
123
|
+
return { action: 'stop' };
|
|
124
|
+
if (state.quietMs < quietThresholdMs) {
|
|
125
|
+
// Wait out the remainder of the quiet window, plus a small margin so the
|
|
126
|
+
// next poll lands after the threshold rather than exactly on it.
|
|
127
|
+
return { action: 'retry', retryInMs: quietThresholdMs - state.quietMs + 100 };
|
|
128
|
+
}
|
|
129
|
+
if (!state.screenHasReadyPattern)
|
|
130
|
+
return { action: 'retry', retryInMs: POST_HOOK_EVIDENCE_RETRY_MS };
|
|
131
|
+
return { action: 'accept' };
|
|
132
|
+
}
|
|
47
133
|
export function shouldReleaseFirstPromptTimeout(state) {
|
|
48
134
|
if (!state.deferFirstPromptTimeoutUntilReady)
|
|
49
135
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input-gate.js","sourceRoot":"","sources":["../../src/utils/input-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAAC,KAW9B;IACC,IAAI,KAAK,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACzD,kEAAkE;IAClE,OAAO,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2CAA2C,CAAC,KAM3D;IACC,OAAO,KAAK,CAAC,cAAc;WACtB,KAAK,CAAC,eAAe;WACrB,KAAK,CAAC,mBAAmB;WACzB,CAAC,KAAK,CAAC,aAAa;WACpB,CAAC,KAAK,CAAC,cAAc,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAS/C;IACC,IAAI,CAAC,KAAK,CAAC,iCAAiC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,CAAC,KAAK,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAIrC;IACC,OAAO,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,+BAA+B,IAAI,KAAK,CAAC,0BAA0B,CAAC;AACnH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,iBAA0B;IAChE,OAAO,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AACpD,CAAC"}
|
|
1
|
+
{"version":3,"file":"input-gate.js","sourceRoot":"","sources":["../../src/utils/input-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,cAAc,CAAC,KAW9B;IACC,IAAI,KAAK,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACzD,kEAAkE;IAClE,OAAO,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;AAC/D,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2CAA2C,CAAC,KAM3D;IACC,OAAO,KAAK,CAAC,cAAc;WACtB,KAAK,CAAC,eAAe;WACrB,KAAK,CAAC,mBAAmB;WACzB,CAAC,KAAK,CAAC,aAAa;WACpB,CAAC,KAAK,CAAC,cAAc,CAAC;AAC7B,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,uCAAuC,CAAC,KAKvD;IACC,OAAO,KAAK,CAAC,wBAAwB,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC;AACtE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,CAAC;AACpD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AACjD,kFAAkF;AAClF,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AACrD,qFAAqF;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,4BAA4B,CAAC,KAW5C;IACC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,8BAA8B,CAAC;IACpE,MAAM,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,IAAI,2BAA2B,CAAC;IAC/E,oDAAoD;IACpD,IAAI,CAAC,KAAK,CAAC,YAAY;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACnD,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5D,IAAI,KAAK,CAAC,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACrC,yEAAyE;QACzE,iEAAiE;QACjE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,gBAAgB,GAAG,KAAK,CAAC,OAAO,GAAG,GAAG,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,qBAAqB;QAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,2BAA2B,EAAE,CAAC;IACrG,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,KAS/C;IACC,IAAI,CAAC,KAAK,CAAC,iCAAiC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,CAAC,KAAK,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAIrC;IACC,OAAO,KAAK,CAAC,sBAAsB,IAAI,KAAK,CAAC,+BAA+B,IAAI,KAAK,CAAC,0BAA0B,CAAC;AACnH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,uBAAuB,CAAC,iBAA0B;IAChE,OAAO,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;AACpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-upload.d.ts","sourceRoot":"","sources":["../../src/utils/lark-upload.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lark-upload.d.ts","sourceRoot":"","sources":["../../src/utils/lark-upload.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,0BAA0B,CAAC;AAgEjE,wBAAsB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAQ5H"}
|
|
@@ -4,17 +4,68 @@
|
|
|
4
4
|
* the daemon's init message (see worker-pool.ts forkWorker / worker.ts init).
|
|
5
5
|
*/
|
|
6
6
|
import { Client, LoggerLevel } from '@larksuiteoapi/node-sdk';
|
|
7
|
+
import * as Lark from '@larksuiteoapi/node-sdk';
|
|
7
8
|
import { sdkDomain } from '../im/lark/lark-hosts.js';
|
|
9
|
+
/** Screenshot/media uploads move real bytes and must not inherit an interactive
|
|
10
|
+
* request bound. The worker's client currently has no timeout applied, but pin
|
|
11
|
+
* an explicit generous ceiling on a dedicated http instance so this stays true
|
|
12
|
+
* even if a future bound is added — mirrors bot-registry's upload client. */
|
|
13
|
+
const UPLOAD_TIMEOUT_MS = 120_000;
|
|
14
|
+
let cachedUploadHttpInstance;
|
|
15
|
+
function uploadHttpInstance() {
|
|
16
|
+
if (cachedUploadHttpInstance !== undefined)
|
|
17
|
+
return cachedUploadHttpInstance;
|
|
18
|
+
let base;
|
|
19
|
+
try {
|
|
20
|
+
// Namespace access (not a named import): a stripped/mocked SDK that omits
|
|
21
|
+
// this export must yield undefined here, not throw before the guard below.
|
|
22
|
+
base = Lark.defaultHttpInstance;
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
base = undefined;
|
|
26
|
+
}
|
|
27
|
+
if (!base || typeof base.create !== 'function') {
|
|
28
|
+
cachedUploadHttpInstance = null;
|
|
29
|
+
return cachedUploadHttpInstance;
|
|
30
|
+
}
|
|
31
|
+
const instance = base.create({ timeout: UPLOAD_TIMEOUT_MS });
|
|
32
|
+
try {
|
|
33
|
+
for (const handler of base.interceptors?.request?.handlers ?? []) {
|
|
34
|
+
if (handler) {
|
|
35
|
+
instance.interceptors.request.use(handler.fulfilled, handler.rejected, {
|
|
36
|
+
synchronous: handler.synchronous,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
for (const handler of base.interceptors?.response?.handlers ?? []) {
|
|
41
|
+
if (handler)
|
|
42
|
+
instance.interceptors.response.use(handler.fulfilled, handler.rejected);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
cachedUploadHttpInstance = null;
|
|
47
|
+
return cachedUploadHttpInstance;
|
|
48
|
+
}
|
|
49
|
+
cachedUploadHttpInstance = instance;
|
|
50
|
+
return cachedUploadHttpInstance;
|
|
51
|
+
}
|
|
8
52
|
let cached = null;
|
|
9
53
|
function getClient(appId, secret, brand) {
|
|
10
54
|
// 缓存 key 含 brand:同 appId 不同 brand 不复用打错域的客户端。
|
|
11
55
|
if (cached && cached.appId === appId && cached.brand === brand)
|
|
12
56
|
return cached.client;
|
|
57
|
+
const httpInstance = uploadHttpInstance();
|
|
13
58
|
cached = {
|
|
14
59
|
appId,
|
|
15
60
|
brand,
|
|
16
61
|
// brand → 域名。Lark bot 截图上传必须打 larksuite.com,否则 image.create 失败。
|
|
17
|
-
client: new Client({
|
|
62
|
+
client: new Client({
|
|
63
|
+
appId,
|
|
64
|
+
appSecret: secret,
|
|
65
|
+
domain: sdkDomain(brand),
|
|
66
|
+
loggerLevel: LoggerLevel.error,
|
|
67
|
+
...(httpInstance ? { httpInstance } : {}),
|
|
68
|
+
}),
|
|
18
69
|
};
|
|
19
70
|
return cached.client;
|
|
20
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lark-upload.js","sourceRoot":"","sources":["../../src/utils/lark-upload.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAc,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAEjE,IAAI,MAAM,GAAwD,IAAI,CAAC;AAEvE,SAAS,SAAS,CAAC,KAAa,EAAE,MAAc,EAAE,KAAY;IAC5D,8CAA8C;IAC9C,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC;IACrF,MAAM,GAAG;QACP,KAAK;QACL,KAAK;QACL,gEAAgE;QAChE,MAAM,EAAE,IAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"lark-upload.js","sourceRoot":"","sources":["../../src/utils/lark-upload.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,23 @@ export interface PendingCliInput {
|
|
|
6
6
|
* receives `content`. */
|
|
7
7
|
logicalContent?: string;
|
|
8
8
|
turnId?: string;
|
|
9
|
+
replyTurnId?: string;
|
|
9
10
|
dispatchAttempt?: number;
|
|
11
|
+
codexAppDispatchId?: string;
|
|
12
|
+
/** Explicit positive steer authorization copied from the daemon ledger entry
|
|
13
|
+
* (plain-human-interactive turns only). Missing/false ⇒ forced serial. */
|
|
14
|
+
codexAppSteerable?: true;
|
|
15
|
+
queuedActivationToken?: string;
|
|
10
16
|
vcMeetingImTurnOrigin?: VcMeetingImTurnOrigin;
|
|
11
17
|
codexAppInput?: CodexAppTurnInput;
|
|
18
|
+
/** Per-item at-most-once marker: an input carrying this must NEVER be replayed
|
|
19
|
+
* onto an auto-restarted CLI — excluded from both the pendingMessages drain and
|
|
20
|
+
* the InflightInputTracker carry-over (codex #776 round-7 finding #1). Set on
|
|
21
|
+
* the KEYED idempotency-lease init prompt (from init.atMostOnce); scoped
|
|
22
|
+
* per-item so a later PLAIN follow-up turn folded into the same http_async_
|
|
23
|
+
* session is NOT dropped (codex #776 round-8). The worker's CLI-exit carry
|
|
24
|
+
* predicate and pending-drop both honor it. */
|
|
25
|
+
noReplay?: boolean;
|
|
12
26
|
}
|
|
13
27
|
/**
|
|
14
28
|
* Run a synchronous CLI/backend reset without losing inputs that have not yet
|
|
@@ -42,6 +56,7 @@ export declare function shouldDeferArgsBakedDurablePrompt(opts: {
|
|
|
42
56
|
passesInitialPromptViaArgs: boolean;
|
|
43
57
|
adoptMode: boolean;
|
|
44
58
|
dispatchAttempt?: number;
|
|
59
|
+
queuedActivationToken?: string;
|
|
45
60
|
}): boolean;
|
|
46
61
|
/** Some backends (tmux in particular) reject long launch command strings before
|
|
47
62
|
* the spawned CLI ever sees argv. For adapters that normally bake the first
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending-input-queue.d.ts","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAE5E,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB;;6BAEyB;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,aAAa,CAAC,EAAE,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"pending-input-queue.d.ts","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -44,6 +44,8 @@ export function mergeQueuedCliInput(pending, next) {
|
|
|
44
44
|
// per-message attribution/context, so concatenating only their visible text
|
|
45
45
|
// would drop or mis-attach the sidecar.
|
|
46
46
|
if (tail.dispatchAttempt !== undefined || next.dispatchAttempt !== undefined
|
|
47
|
+
|| tail.codexAppDispatchId || next.codexAppDispatchId
|
|
48
|
+
|| tail.queuedActivationToken || next.queuedActivationToken
|
|
47
49
|
|| tail.vcMeetingImTurnOrigin || next.vcMeetingImTurnOrigin
|
|
48
50
|
|| tail.codexAppInput || next.codexAppInput
|
|
49
51
|
|| tail.logicalContent || next.logicalContent)
|
|
@@ -69,7 +71,7 @@ export function pendingInputAllowsTypeAhead(adapterSupportsTypeAhead, durableTur
|
|
|
69
71
|
export function shouldDeferArgsBakedDurablePrompt(opts) {
|
|
70
72
|
return opts.passesInitialPromptViaArgs
|
|
71
73
|
&& !opts.adoptMode
|
|
72
|
-
&& opts.dispatchAttempt !== undefined;
|
|
74
|
+
&& (opts.dispatchAttempt !== undefined || !!opts.queuedActivationToken);
|
|
73
75
|
}
|
|
74
76
|
/** Some backends (tmux in particular) reject long launch command strings before
|
|
75
77
|
* the spawned CLI ever sees argv. For adapters that normally bake the first
|
|
@@ -154,6 +156,8 @@ export function shouldArmSpawnArgvInitialPromptBusy(opts) {
|
|
|
154
156
|
export function shouldStopPendingBatch(written, next) {
|
|
155
157
|
return written.dispatchAttempt !== undefined
|
|
156
158
|
|| next?.dispatchAttempt !== undefined
|
|
159
|
+
|| !!written.queuedActivationToken
|
|
160
|
+
|| !!next?.queuedActivationToken
|
|
157
161
|
|| !!written.vcMeetingImTurnOrigin
|
|
158
162
|
|| !!next?.vcMeetingImTurnOrigin;
|
|
159
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pending-input-queue.js","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pending-input-queue.js","sourceRoot":"","sources":["../../src/utils/pending-input-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-token.d.ts","sourceRoot":"","sources":["../../src/utils/user-token.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"user-token.d.ts","sourceRoot":"","sources":["../../src/utils/user-token.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,KAAK,EAAa,MAAM,0BAA0B,CAAC;AAoBjE,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAmKD;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuBxH;AAWD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,UAMpC,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,EAAE,WAAW,GAAE,MAAM,EAAO,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAmCzJ;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA8D3E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,KAAgB,GAAG,MAAM,CAgB7E"}
|
package/dist/utils/user-token.js
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* OAuth login via /login command writes to botmux's own token file.
|
|
9
9
|
* Auto-refreshes expired access_token using refresh_token.
|
|
10
10
|
*/
|
|
11
|
-
import { readFileSync, mkdirSync, existsSync } from 'node:fs';
|
|
11
|
+
import { readFileSync, mkdirSync, existsSync, unlinkSync, readdirSync } from 'node:fs';
|
|
12
12
|
import { atomicWriteFileSync } from './atomic-write.js';
|
|
13
13
|
import { join, dirname } from 'node:path';
|
|
14
14
|
import { homedir } from 'node:os';
|
|
@@ -17,6 +17,7 @@ import { logger } from './logger.js';
|
|
|
17
17
|
import { larkHosts } from '../im/lark/lark-hosts.js';
|
|
18
18
|
// ─── Token paths ──────────────────────────────────────────────────────────────
|
|
19
19
|
const TOKEN_DIR = join(homedir(), '.botmux', 'data');
|
|
20
|
+
const PENDING_DIR = join(TOKEN_DIR, 'oauth-pending');
|
|
20
21
|
/** 旧版单文件(升级前都是单 feishu bot)。仅作向后兼容读取,不再写入。 */
|
|
21
22
|
const LEGACY_TOKEN_PATH = join(TOKEN_DIR, 'user-token.json');
|
|
22
23
|
const BUFFER_MS = 60_000; // 60s safety margin before expiry
|
|
@@ -28,6 +29,53 @@ function tokenPathForApp(appId) {
|
|
|
28
29
|
return join(TOKEN_DIR, `user-token-${appId}.json`);
|
|
29
30
|
}
|
|
30
31
|
const pendingLogins = new Map(); // keyed by state
|
|
32
|
+
function pendingPath(state) {
|
|
33
|
+
return /^[a-f0-9]{64}$/.test(state) ? join(PENDING_DIR, `${state}.json`) : null;
|
|
34
|
+
}
|
|
35
|
+
/** Persist pending OAuth state so Dashboard and daemon processes can finish
|
|
36
|
+
* each other's authorization flow. Files contain app credentials and are
|
|
37
|
+
* therefore always mode 0600 and removed immediately after consumption. */
|
|
38
|
+
function savePendingLogin(pending) {
|
|
39
|
+
const path = pendingPath(pending.state);
|
|
40
|
+
if (!path)
|
|
41
|
+
return;
|
|
42
|
+
mkdirSync(PENDING_DIR, { recursive: true, mode: 0o700 });
|
|
43
|
+
atomicWriteFileSync(path, JSON.stringify(pending), { mode: 0o600 });
|
|
44
|
+
}
|
|
45
|
+
function loadPendingLogin(state) {
|
|
46
|
+
const path = pendingPath(state);
|
|
47
|
+
if (!path)
|
|
48
|
+
return null;
|
|
49
|
+
try {
|
|
50
|
+
const pending = JSON.parse(readFileSync(path, 'utf8'));
|
|
51
|
+
if (pending.state !== state || Date.now() - pending.createdAt > 5 * 60_000)
|
|
52
|
+
return null;
|
|
53
|
+
return pending;
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function removePendingLogin(state) {
|
|
60
|
+
const path = pendingPath(state);
|
|
61
|
+
if (!path)
|
|
62
|
+
return;
|
|
63
|
+
try {
|
|
64
|
+
unlinkSync(path);
|
|
65
|
+
}
|
|
66
|
+
catch { /* already absent */ }
|
|
67
|
+
}
|
|
68
|
+
function cleanupPendingLogins() {
|
|
69
|
+
try {
|
|
70
|
+
for (const name of readdirSync(PENDING_DIR)) {
|
|
71
|
+
const state = name.endsWith('.json') ? name.slice(0, -5) : '';
|
|
72
|
+
const pending = loadPendingLogin(state);
|
|
73
|
+
if (!pending)
|
|
74
|
+
removePendingLogin(state);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
catch { /* directory absent */ }
|
|
78
|
+
}
|
|
31
79
|
// ─── Token I/O ────────────────────────────────────────────────────────────────
|
|
32
80
|
function loadTokenFromPath(path) {
|
|
33
81
|
try {
|
|
@@ -201,11 +249,13 @@ export function generateAuthUrl(appId, appSecret, brand = 'feishu', extraScopes
|
|
|
201
249
|
brand,
|
|
202
250
|
createdAt: Date.now(),
|
|
203
251
|
});
|
|
252
|
+
savePendingLogin(pendingLogins.get(state));
|
|
204
253
|
// Clean up stale pending logins
|
|
205
254
|
for (const [s, p] of pendingLogins) {
|
|
206
255
|
if (Date.now() - p.createdAt > 5 * 60_000)
|
|
207
256
|
pendingLogins.delete(s);
|
|
208
257
|
}
|
|
258
|
+
cleanupPendingLogins();
|
|
209
259
|
return { authUrl, state };
|
|
210
260
|
}
|
|
211
261
|
/**
|
|
@@ -220,11 +270,12 @@ export async function handleCallbackUrl(url) {
|
|
|
220
270
|
return null;
|
|
221
271
|
const code = decodeURIComponent(match[1]);
|
|
222
272
|
const state = decodeURIComponent(stateMatch[1]);
|
|
223
|
-
const pending = pendingLogins.get(state);
|
|
273
|
+
const pending = pendingLogins.get(state) ?? loadPendingLogin(state);
|
|
224
274
|
if (!pending) {
|
|
225
275
|
return '❌ 授权失败:state 不匹配或已过期,请重新执行 /login';
|
|
226
276
|
}
|
|
227
277
|
pendingLogins.delete(state);
|
|
278
|
+
removePendingLogin(state);
|
|
228
279
|
// Exchange code for token
|
|
229
280
|
try {
|
|
230
281
|
const res = await fetch(`${larkHosts(pending.brand).openApi}/open-apis/authen/v2/oauth/token`, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-token.js","sourceRoot":"","sources":["../../src/utils/user-token.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user-token.js","sourceRoot":"","sources":["../../src/utils/user-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { EventEmitter } from 'node:events';
|
|
2
|
+
export declare const WORKER_IPC_HANDLER_READY_EVENT = "botmux:worker-ipc-handler-ready";
|
|
3
|
+
type IpcHost = Pick<EventEmitter, 'emit' | 'prependListener' | 'removeListener' | 'once'> & {
|
|
4
|
+
send?: (message: unknown) => unknown;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* 完整 Worker 加载前暂存父进程消息,并为已由当前进程持有的首轮输入回执。
|
|
8
|
+
* Worker 注册正式处理器后再按原顺序重放,保持后续提交确认语义不变。
|
|
9
|
+
*/
|
|
10
|
+
export declare function installWorkerIpcPreload(host: IpcHost): void;
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=worker-ipc-preload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-ipc-preload.d.ts","sourceRoot":"","sources":["../src/worker-ipc-preload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,8BAA8B,oCAAoC,CAAC;AAEhF,KAAK,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,MAAM,CAAC,GAAG;IAC1F,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC;CACtC,CAAC;AAmBF;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAmB3D"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export const WORKER_IPC_HANDLER_READY_EVENT = 'botmux:worker-ipc-handler-ready';
|
|
2
|
+
function ordinaryColdStartTurnId(raw) {
|
|
3
|
+
if (!raw || typeof raw !== 'object')
|
|
4
|
+
return undefined;
|
|
5
|
+
const message = raw;
|
|
6
|
+
if (message.type !== 'init'
|
|
7
|
+
|| message.adoptMode === true
|
|
8
|
+
|| message.dispatchAttempt !== undefined
|
|
9
|
+
|| typeof message.prompt !== 'string'
|
|
10
|
+
|| message.prompt.length === 0
|
|
11
|
+
|| typeof message.turnId !== 'string'
|
|
12
|
+
|| !message.turnId.startsWith('om_')) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
return message.turnId;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* 完整 Worker 加载前暂存父进程消息,并为已由当前进程持有的首轮输入回执。
|
|
19
|
+
* Worker 注册正式处理器后再按原顺序重放,保持后续提交确认语义不变。
|
|
20
|
+
*/
|
|
21
|
+
export function installWorkerIpcPreload(host) {
|
|
22
|
+
const bufferedMessages = [];
|
|
23
|
+
let replaying = false;
|
|
24
|
+
const bufferMessage = (raw) => {
|
|
25
|
+
if (replaying)
|
|
26
|
+
return;
|
|
27
|
+
bufferedMessages.push(raw);
|
|
28
|
+
const turnId = ordinaryColdStartTurnId(raw);
|
|
29
|
+
if (turnId)
|
|
30
|
+
host.send?.({ type: 'turn_input_received', turnId });
|
|
31
|
+
};
|
|
32
|
+
host.prependListener('message', bufferMessage);
|
|
33
|
+
host.once(WORKER_IPC_HANDLER_READY_EVENT, () => {
|
|
34
|
+
host.removeListener('message', bufferMessage);
|
|
35
|
+
replaying = true;
|
|
36
|
+
for (const message of bufferedMessages)
|
|
37
|
+
host.emit('message', message);
|
|
38
|
+
bufferedMessages.length = 0;
|
|
39
|
+
replaying = false;
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
if (typeof process.send === 'function')
|
|
43
|
+
installWorkerIpcPreload(process);
|
|
44
|
+
//# sourceMappingURL=worker-ipc-preload.js.map
|