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
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as sessionStore from '../services/session-store.js';
|
|
2
|
+
export function stagePendingRepoSetup(ds, args) {
|
|
3
|
+
const prior = {
|
|
4
|
+
queued: ds.session.queued,
|
|
5
|
+
queuedPrompt: ds.session.queuedPrompt,
|
|
6
|
+
queuedCodexAppText: ds.session.queuedCodexAppText,
|
|
7
|
+
queuedCodexAppMessageContext: ds.session.queuedCodexAppMessageContext,
|
|
8
|
+
pendingRepoSetup: ds.session.pendingRepoSetup,
|
|
9
|
+
};
|
|
10
|
+
const setup = {
|
|
11
|
+
mode: args.mode,
|
|
12
|
+
prompt: ds.pendingPrompt ?? '',
|
|
13
|
+
...(ds.pendingRawInput ? { rawInput: ds.pendingRawInput } : {}),
|
|
14
|
+
...(args.turnId ? { turnId: args.turnId } : {}),
|
|
15
|
+
...(args.baseDir ? { baseDir: args.baseDir } : {}),
|
|
16
|
+
...(ds.pendingCodexAppText !== undefined ? { codexAppText: ds.pendingCodexAppText } : {}),
|
|
17
|
+
...(ds.pendingCodexAppApplicationContext
|
|
18
|
+
? { codexAppApplicationContext: ds.pendingCodexAppApplicationContext }
|
|
19
|
+
: {}),
|
|
20
|
+
...(ds.pendingCodexAppMessageContext
|
|
21
|
+
? { codexAppMessageContext: ds.pendingCodexAppMessageContext }
|
|
22
|
+
: {}),
|
|
23
|
+
...(ds.pendingAttachments?.length
|
|
24
|
+
? { attachments: ds.pendingAttachments.map(attachment => ({ ...attachment })) }
|
|
25
|
+
: {}),
|
|
26
|
+
...(ds.pendingMentions?.length
|
|
27
|
+
? { mentions: ds.pendingMentions.map(mention => ({ ...mention })) }
|
|
28
|
+
: {}),
|
|
29
|
+
...(ds.pendingSubstituteTrigger
|
|
30
|
+
? { substituteTrigger: structuredClone(ds.pendingSubstituteTrigger) }
|
|
31
|
+
: {}),
|
|
32
|
+
...(ds.pendingSender ? { sender: { ...ds.pendingSender } } : {}),
|
|
33
|
+
};
|
|
34
|
+
ds.session.queued = true;
|
|
35
|
+
ds.session.queuedPrompt = setup.prompt;
|
|
36
|
+
ds.session.queuedCodexAppText = setup.codexAppText;
|
|
37
|
+
ds.session.queuedCodexAppMessageContext = setup.codexAppMessageContext;
|
|
38
|
+
ds.session.pendingRepoSetup = setup;
|
|
39
|
+
try {
|
|
40
|
+
sessionStore.updateSession(ds.session);
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
ds.session.queued = prior.queued;
|
|
44
|
+
ds.session.queuedPrompt = prior.queuedPrompt;
|
|
45
|
+
ds.session.queuedCodexAppText = prior.queuedCodexAppText;
|
|
46
|
+
ds.session.queuedCodexAppMessageContext = prior.queuedCodexAppMessageContext;
|
|
47
|
+
ds.session.pendingRepoSetup = prior.pendingRepoSetup;
|
|
48
|
+
throw err;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
export function persistPendingRepoCardMessageId(ds, messageId) {
|
|
52
|
+
const setup = ds.session.pendingRepoSetup;
|
|
53
|
+
if (!setup)
|
|
54
|
+
return;
|
|
55
|
+
const prior = setup.repoCardMessageId;
|
|
56
|
+
setup.repoCardMessageId = messageId;
|
|
57
|
+
try {
|
|
58
|
+
sessionStore.updateSession(ds.session);
|
|
59
|
+
}
|
|
60
|
+
catch (err) {
|
|
61
|
+
setup.repoCardMessageId = prior;
|
|
62
|
+
throw err;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
export function restorePendingRepoRuntime(ds) {
|
|
66
|
+
const setup = ds.session.pendingRepoSetup;
|
|
67
|
+
if (!setup || ds.session.queuedActivationPending)
|
|
68
|
+
return false;
|
|
69
|
+
ds.pendingRepo = true;
|
|
70
|
+
ds.pendingPrompt = setup.prompt;
|
|
71
|
+
ds.pendingRawInput = setup.rawInput;
|
|
72
|
+
ds.pendingCodexAppText = setup.codexAppText;
|
|
73
|
+
ds.pendingCodexAppApplicationContext = setup.codexAppApplicationContext;
|
|
74
|
+
ds.pendingCodexAppMessageContext = setup.codexAppMessageContext;
|
|
75
|
+
ds.pendingAttachments = setup.attachments?.map(attachment => ({ ...attachment }));
|
|
76
|
+
ds.pendingMentions = setup.mentions?.map(mention => ({ ...mention }));
|
|
77
|
+
ds.pendingSubstituteTrigger = setup.substituteTrigger
|
|
78
|
+
? structuredClone(setup.substituteTrigger)
|
|
79
|
+
: undefined;
|
|
80
|
+
ds.pendingSender = setup.sender ? { ...setup.sender } : undefined;
|
|
81
|
+
ds.repoCardMessageId = setup.repoCardMessageId;
|
|
82
|
+
ds.initialStartPending = false;
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=pending-repo-journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pending-repo-journal.js","sourceRoot":"","sources":["../../src/core/pending-repo-journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,6 +57,11 @@ export declare function reconcileRiffBackendType(cliId: string, resolved: Backen
|
|
|
57
57
|
* Riff CLI/backend pairing. Keep spawn-time callers on this single helper so
|
|
58
58
|
* worktree push decisions cannot drift from the backend forkWorker will use. */
|
|
59
59
|
export declare function resolvePairedSpawnBackendType(cliId: string, sessionStamp: BackendType | undefined, botType: BackendType | undefined, defaultType: BackendType): BackendType;
|
|
60
|
+
/** Whether the live/persisted session is frozen onto the remote Riff backend.
|
|
61
|
+
* Restart guards must use the session stamp rather than the bot's mutable
|
|
62
|
+
* current config: changing a bot later must not make an existing Riff
|
|
63
|
+
* generation look locally restartable. */
|
|
64
|
+
export declare function isRiffBackendSession(ds: DaemonSession): boolean;
|
|
60
65
|
/**
|
|
61
66
|
* How a session's worker is torn down at daemon shutdown, branched on the
|
|
62
67
|
* session's FROZEN backend (via getSessionPersistentBackendType), NOT live config:
|
|
@@ -66,7 +71,7 @@ export declare function resolvePairedSpawnBackendType(cliId: string, sessionStam
|
|
|
66
71
|
* Freezing here stops a live backendType edit from changing how a running session
|
|
67
72
|
* tears down — e.g. detach-preserving a "herdr" session whose real pane is tmux.
|
|
68
73
|
*/
|
|
69
|
-
export declare function shutdownBackendDisposition(ds: DaemonSession): 'detach' | 'close';
|
|
74
|
+
export declare function shutdownBackendDisposition(ds: DaemonSession): 'riff-drain-detach' | 'detach' | 'close';
|
|
70
75
|
/** Deterministic backing-session name (`bmx-<sid8>`, same rule across backends). */
|
|
71
76
|
export declare function persistentSessionName(backendType: PersistentBackendType, sessionId: string): string;
|
|
72
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-backend.d.ts","sourceRoot":"","sources":["../../src/core/persistent-backend.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACvG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC;AAE9F;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CACjD,WAAW,EAAE,qBAAqB,EAClC,KAAK,EAAE,YAAY,GAClB,OAAO,CAET;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,WAAW,GAAG,SAAS,GACnC,WAAW,IAAI,qBAAqB,CAEtC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,+BAA+B,CAAC,EAAE,EAAE,aAAa,GAAG,qBAAqB,GAAG,SAAS,CAQpG;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,WAAW,EAAE,WAAW,GACvB,WAAW,CAEb;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,WAAW,EACrB,WAAW,EAAE,WAAW,GACvB,WAAW,CAKb;AAED;;gFAEgF;AAChF,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,WAAW,GAAG,SAAS,EACrC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,WAAW,EAAE,WAAW,GACvB,WAAW,CAMb;AAED;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,aAAa,GAAG,QAAQ,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"persistent-backend.d.ts","sourceRoot":"","sources":["../../src/core/persistent-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -95,6 +95,13 @@ export function reconcileRiffBackendType(cliId, resolved, defaultType) {
|
|
|
95
95
|
export function resolvePairedSpawnBackendType(cliId, sessionStamp, botType, defaultType) {
|
|
96
96
|
return reconcileRiffBackendType(cliId, resolveSpawnBackendType(sessionStamp, botType, defaultType), defaultType);
|
|
97
97
|
}
|
|
98
|
+
/** Whether the live/persisted session is frozen onto the remote Riff backend.
|
|
99
|
+
* Restart guards must use the session stamp rather than the bot's mutable
|
|
100
|
+
* current config: changing a bot later must not make an existing Riff
|
|
101
|
+
* generation look locally restartable. */
|
|
102
|
+
export function isRiffBackendSession(ds) {
|
|
103
|
+
return (ds.initConfig?.backendType ?? ds.session.backendType) === 'riff';
|
|
104
|
+
}
|
|
98
105
|
/**
|
|
99
106
|
* How a session's worker is torn down at daemon shutdown, branched on the
|
|
100
107
|
* session's FROZEN backend (via getSessionPersistentBackendType), NOT live config:
|
|
@@ -105,12 +112,11 @@ export function resolvePairedSpawnBackendType(cliId, sessionStamp, botType, defa
|
|
|
105
112
|
* tears down — e.g. detach-preserving a "herdr" session whose real pane is tmux.
|
|
106
113
|
*/
|
|
107
114
|
export function shutdownBackendDisposition(ds) {
|
|
108
|
-
//
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return 'detach';
|
|
115
|
+
// Riff 不能落进普通 detach 的直接 SIGTERM:create/follow-up 最长 10s 才返回
|
|
116
|
+
// task id,而 worker SIGTERM 会立即 exit,丢掉唯一血缘。独立 disposition 迫使
|
|
117
|
+
// daemon 先走 drain → durable ACK → commit 协议;类型检查防止未来回归。
|
|
118
|
+
if (isRiffBackendSession(ds))
|
|
119
|
+
return 'riff-drain-detach';
|
|
114
120
|
return getSessionPersistentBackendType(ds) ? 'detach' : 'close';
|
|
115
121
|
}
|
|
116
122
|
/** Deterministic backing-session name (`bmx-<sid8>`, same rule across backends). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistent-backend.js","sourceRoot":"","sources":["../../src/core/persistent-backend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AAOhE;;;;;;;GAOG;AACH,MAAM,UAAU,mCAAmC,CACjD,WAAkC,EAClC,KAAmB;IAEnB,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,WAAW,KAAK,KAAK,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,WAAoC;IAEpC,OAAO,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,QAAQ,IAAI,WAAW,KAAK,KAAK,CAAC;AAChH,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,+BAA+B,CAAC,EAAiB;IAC/D,IAAI,WAAW,GAA4B,EAAE,CAAC,UAAU,EAAE,WAAW,IAAI,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;IAChG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,IAAI,CAAC;YACH,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;QACxD,CAAC;QAAC,MAAM,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,wBAAwB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CACrC,YAAqC,EACrC,OAAgC,EAChC,WAAwB;IAExB,OAAO,YAAY,IAAI,OAAO,IAAI,WAAW,CAAC;AAChD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,KAAa,EACb,QAAqB,EACrB,WAAwB;IAExB,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IACpC,oDAAoD;IACpD,IAAI,QAAQ,KAAK,MAAM;QAAE,OAAO,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;gFAEgF;AAChF,MAAM,UAAU,6BAA6B,CAC3C,KAAa,EACb,YAAqC,EACrC,OAAgC,EAChC,WAAwB;IAExB,OAAO,wBAAwB,CAC7B,KAAK,EACL,uBAAuB,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,EAC3D,WAAW,CACZ,CAAC;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"persistent-backend.js","sourceRoot":"","sources":["../../src/core/persistent-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-start-identity.d.ts","sourceRoot":"","sources":["../../src/core/process-start-identity.ts"],"names":[],"mappings":"AAUA,2EAA2E;AAC3E,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAwClF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
3
|
+
function systemPsBin() {
|
|
4
|
+
for (const candidate of ['/usr/bin/ps', '/bin/ps']) {
|
|
5
|
+
if (existsSync(candidate))
|
|
6
|
+
return candidate;
|
|
7
|
+
}
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
/** Stable process-birth identity used by supervisor mutation authority. */
|
|
11
|
+
export function readSupervisorProcessStartIdentity(pid) {
|
|
12
|
+
if (!Number.isSafeInteger(pid) || pid <= 1)
|
|
13
|
+
return undefined;
|
|
14
|
+
if (process.platform === 'linux') {
|
|
15
|
+
try {
|
|
16
|
+
const raw = readFileSync(`/proc/${pid}/stat`, 'utf8');
|
|
17
|
+
const closeParen = raw.lastIndexOf(')');
|
|
18
|
+
if (closeParen >= 0) {
|
|
19
|
+
const fields = raw.slice(closeParen + 2).trim().split(/\s+/);
|
|
20
|
+
if (fields[19])
|
|
21
|
+
return fields[19];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch { /* exited or unreadable */ }
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
if (process.platform === 'win32') {
|
|
28
|
+
try {
|
|
29
|
+
const value = execFileSync('powershell.exe', [
|
|
30
|
+
'-NoProfile',
|
|
31
|
+
'-NonInteractive',
|
|
32
|
+
'-Command',
|
|
33
|
+
`$p = Get-CimInstance Win32_Process -Filter \"ProcessId = ${pid}\"; `
|
|
34
|
+
+ 'if ($p) { $p.CreationDate.ToUniversalTime().Ticks }',
|
|
35
|
+
], {
|
|
36
|
+
encoding: 'utf8',
|
|
37
|
+
timeout: 2_000,
|
|
38
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
39
|
+
}).trim();
|
|
40
|
+
return value || undefined;
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const ps = systemPsBin();
|
|
47
|
+
if (!ps)
|
|
48
|
+
return undefined;
|
|
49
|
+
try {
|
|
50
|
+
const value = execFileSync(ps, ['-o', 'lstart=', '-p', String(pid)], {
|
|
51
|
+
encoding: 'utf8',
|
|
52
|
+
timeout: 2_000,
|
|
53
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
54
|
+
env: { PATH: '/usr/bin:/bin', LANG: 'C' },
|
|
55
|
+
}).trim();
|
|
56
|
+
return value || undefined;
|
|
57
|
+
}
|
|
58
|
+
catch {
|
|
59
|
+
return undefined;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=process-start-identity.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process-start-identity.js","sourceRoot":"","sources":["../../src/core/process-start-identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnD,SAAS,WAAW;IAClB,KAAK,MAAM,SAAS,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,EAAE,CAAC;QACnD,IAAI,UAAU,CAAC,SAAS,CAAC;YAAE,OAAO,SAAS,CAAC;IAC9C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,kCAAkC,CAAC,GAAW;IAC5D,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,YAAY,CAAC,SAAS,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACxC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7D,IAAI,MAAM,CAAC,EAAE,CAAC;oBAAE,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,0BAA0B,CAAC,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,YAAY,CAAC,gBAAgB,EAAE;gBAC3C,YAAY;gBACZ,iBAAiB;gBACjB,UAAU;gBACV,4DAA4D,GAAG,MAAM;sBACnE,qDAAqD;aACxD,EAAE;gBACD,QAAQ,EAAE,MAAM;gBAChB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;aACpC,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,IAAI,SAAS,CAAC;QAC5B,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,SAAS,CAAC;QAAC,CAAC;IAC/B,CAAC;IACD,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,EAAE,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;YACnE,QAAQ,EAAE,MAAM;YAChB,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,GAAG,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,EAAE;SAC1C,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,IAAI,SAAS,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/** Minimal write surface shared by PTY/session backends for literal slash
|
|
2
|
+
* commands. Historical backends return void on success; guarded backends
|
|
3
|
+
* return false when the target pane/process is already unavailable. */
|
|
4
|
+
export interface RawCommandWriter {
|
|
5
|
+
write(data: string): void | boolean;
|
|
6
|
+
sendText?: (text: string) => void | boolean;
|
|
7
|
+
sendSpecialKeys?: (...keys: string[]) => void | boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface RawCommandWriteOptions {
|
|
10
|
+
coco?: boolean;
|
|
11
|
+
cocoThrottleMs?: number;
|
|
12
|
+
submitBeatMs?: number;
|
|
13
|
+
delay?: (ms: number) => Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
/** Type one literal input line and report whether both the text and submit
|
|
16
|
+
* writes were accepted by the backend. `undefined` remains legacy success;
|
|
17
|
+
* explicit false is a proven drop and must never produce an activation ACK. */
|
|
18
|
+
export declare function writeRawCommandLine(backend: RawCommandWriter, content: string, opts?: RawCommandWriteOptions): Promise<boolean>;
|
|
19
|
+
export interface RawCommandDeliveryFinalizer {
|
|
20
|
+
accepted: boolean;
|
|
21
|
+
durableActivation: boolean;
|
|
22
|
+
acknowledgeActivation: boolean;
|
|
23
|
+
hasFollowUp: boolean;
|
|
24
|
+
onAccepted: () => void;
|
|
25
|
+
onFollowUp: () => void;
|
|
26
|
+
onActivationAck: () => void;
|
|
27
|
+
onDurableFailure: () => void;
|
|
28
|
+
}
|
|
29
|
+
/** Apply the raw-input side effects at the acceptance boundary. A rejected
|
|
30
|
+
* text/Enter write can neither enqueue the follower nor ACK the durable head;
|
|
31
|
+
* it must retire the worker generation so daemon exit recovery keeps the exact
|
|
32
|
+
* journal routable. */
|
|
33
|
+
export declare function finalizeRawCommandDelivery(args: RawCommandDeliveryFinalizer): boolean;
|
|
34
|
+
//# sourceMappingURL=raw-command-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-command-writer.d.ts","sourceRoot":"","sources":["../../src/core/raw-command-writer.ts"],"names":[],"mappings":"AAAA;;uEAEuE;AACvE,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC;IAC5C,eAAe,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,GAAG,OAAO,CAAC;CACzD;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvC;AAED;;+EAE+E;AAC/E,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,gBAAgB,EACzB,OAAO,EAAE,MAAM,EACf,IAAI,GAAE,sBAA2B,GAChC,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED;;;uBAGuB;AACvB,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CASrF"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/** Type one literal input line and report whether both the text and submit
|
|
2
|
+
* writes were accepted by the backend. `undefined` remains legacy success;
|
|
3
|
+
* explicit false is a proven drop and must never produce an activation ACK. */
|
|
4
|
+
export async function writeRawCommandLine(backend, content, opts = {}) {
|
|
5
|
+
const delay = opts.delay ?? (ms => new Promise(resolve => setTimeout(resolve, ms)));
|
|
6
|
+
const beatMs = opts.submitBeatMs ?? 200;
|
|
7
|
+
const sendText = backend.sendText?.bind(backend);
|
|
8
|
+
const sendSpecialKeys = backend.sendSpecialKeys?.bind(backend);
|
|
9
|
+
if (sendText && sendSpecialKeys) {
|
|
10
|
+
if (opts.coco) {
|
|
11
|
+
const cmd = content.trim();
|
|
12
|
+
const typed = cmd.includes(' ') ? cmd : `${cmd} `;
|
|
13
|
+
for (const ch of typed) {
|
|
14
|
+
if (sendText(ch) === false)
|
|
15
|
+
return false;
|
|
16
|
+
await delay(opts.cocoThrottleMs ?? 40);
|
|
17
|
+
}
|
|
18
|
+
await delay(beatMs);
|
|
19
|
+
return sendSpecialKeys('Enter') !== false;
|
|
20
|
+
}
|
|
21
|
+
if (sendText(content) === false)
|
|
22
|
+
return false;
|
|
23
|
+
await delay(beatMs);
|
|
24
|
+
return sendSpecialKeys('Enter') !== false;
|
|
25
|
+
}
|
|
26
|
+
if (backend.write(content) === false)
|
|
27
|
+
return false;
|
|
28
|
+
await delay(beatMs);
|
|
29
|
+
return backend.write('\r') !== false;
|
|
30
|
+
}
|
|
31
|
+
/** Apply the raw-input side effects at the acceptance boundary. A rejected
|
|
32
|
+
* text/Enter write can neither enqueue the follower nor ACK the durable head;
|
|
33
|
+
* it must retire the worker generation so daemon exit recovery keeps the exact
|
|
34
|
+
* journal routable. */
|
|
35
|
+
export function finalizeRawCommandDelivery(args) {
|
|
36
|
+
if (!args.accepted) {
|
|
37
|
+
if (args.durableActivation)
|
|
38
|
+
args.onDurableFailure();
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
args.onAccepted();
|
|
42
|
+
if (args.hasFollowUp)
|
|
43
|
+
args.onFollowUp();
|
|
44
|
+
if (args.acknowledgeActivation)
|
|
45
|
+
args.onActivationAck();
|
|
46
|
+
return true;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=raw-command-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raw-command-writer.js","sourceRoot":"","sources":["../../src/core/raw-command-writer.ts"],"names":[],"mappings":"AAgBA;;+EAE+E;AAC/E,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAyB,EACzB,OAAe,EACf,OAA+B,EAAE;IAEjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;IACxC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAE/D,IAAI,QAAQ,IAAI,eAAe,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;YAClD,KAAK,MAAM,EAAE,IAAI,KAAK,EAAE,CAAC;gBACvB,IAAI,QAAQ,CAAC,EAAE,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;gBACzC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;YACpB,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC;QAC5C,CAAC;QACD,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC9C,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;QACpB,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC;IAC5C,CAAC;IAED,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IACnD,MAAM,KAAK,CAAC,MAAM,CAAC,CAAC;IACpB,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC;AACvC,CAAC;AAaD;;;uBAGuB;AACvB,MAAM,UAAU,0BAA0B,CAAC,IAAiC;IAC1E,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,iBAAiB;YAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;IAClB,IAAI,IAAI,CAAC,WAAW;QAAE,IAAI,CAAC,UAAU,EAAE,CAAC;IACxC,IAAI,IAAI,CAAC,qBAAqB;QAAE,IAAI,CAAC,eAAe,EAAE,CAAC;IACvD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
import type { DaemonSession } from './types.js';
|
|
2
|
-
import type { Session } from '../types.js';
|
|
2
|
+
import type { FrozenSessionReplyContext, LarkMention, ReplyTargetEntry, Session, TurnParticipant } from '../types.js';
|
|
3
|
+
/** Merge participants by open_id, keeping the richest label (a later entry can
|
|
4
|
+
* fill a missing name / promote isBot). Order-stable on first appearance so a
|
|
5
|
+
* candidate list reads in arrival order. */
|
|
6
|
+
export declare function dedupeParticipants(list: TurnParticipant[]): TurnParticipant[];
|
|
7
|
+
/** Pure core of a message's turn-window contribution (daemon wraps it with live
|
|
8
|
+
* deps). Its sender plus everyone it @-mentioned, excluding the answering bot
|
|
9
|
+
* (by `selfOpenId` OR `selfAppId` — a self @ often arrives in app_id form, so
|
|
10
|
+
* open_id alone would miss it and wrongly mark a plain 1v1 incomplete).
|
|
11
|
+
* `participants` holds ONLY executable receiver-scoped open_id candidates (so
|
|
12
|
+
* `botmux send` can hand them back as `--mention <open_id>`), each labelled bot
|
|
13
|
+
* (`isMentionBot` proves a known peer, or sender is a platform-stamped bot) /
|
|
14
|
+
* unknown (NOT provably human — `isMentionBot=false` does not prove a person; a
|
|
15
|
+
* third-party bot isn't in the cross-ref). Returns `incomplete: true` when a
|
|
16
|
+
* real, NON-self @-mention could not be reduced to a usable open_id (app_id /
|
|
17
|
+
* user_id / union_id form — parser leaves `openId` undefined): that counterpart
|
|
18
|
+
* is NOT listed as a candidate but forces the window ambiguous so the gate
|
|
19
|
+
* demands an explicit decision rather than risk a wrong single-target @. Sender
|
|
20
|
+
* name is best-effort — omitted when unknown. */
|
|
21
|
+
export declare function buildTurnParticipantsFrom(sender: {
|
|
22
|
+
openId?: string;
|
|
23
|
+
isBot?: boolean;
|
|
24
|
+
name?: string;
|
|
25
|
+
}, mentions: LarkMention[] | undefined, selfOpenId: string | undefined, isMentionBot: (openId: string) => boolean, selfAppId?: string): {
|
|
26
|
+
participants: TurnParticipant[];
|
|
27
|
+
incomplete: boolean;
|
|
28
|
+
};
|
|
3
29
|
export type SessionReplyTarget = {
|
|
4
30
|
mode: 'plain';
|
|
5
31
|
chatId: string;
|
|
@@ -10,28 +36,32 @@ export type SessionReplyTarget = {
|
|
|
10
36
|
mode: 'quote';
|
|
11
37
|
rootMessageId: string;
|
|
12
38
|
};
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
export declare function
|
|
25
|
-
|
|
39
|
+
/** Bound on `Session.replyTargets`: long-lived sessions could otherwise grow
|
|
40
|
+
* without limit. An evicted turn may use a legacy slot only when its turnId
|
|
41
|
+
* still matches exactly; it never borrows a later turn's sender. */
|
|
42
|
+
export declare const REPLY_TARGETS_MAX = 32;
|
|
43
|
+
/** Prune `targets` down to REPLY_TARGETS_MAX oldest-first, IN PLACE, and return
|
|
44
|
+
* the new prune high-water mark = max(existing watermark, latest `updatedAt`
|
|
45
|
+
* among the entries actually evicted). Both replyTargets writers
|
|
46
|
+
* (beginReplyTargetTurn + trigger-final-suppression's inheritTriggerReplyAnchor)
|
|
47
|
+
* MUST route eviction through here so a pruned sibling can never silently
|
|
48
|
+
* under-count a turn's participant window — `botmux send` compares the returned
|
|
49
|
+
* watermark against the turn window to decide incompleteness. */
|
|
50
|
+
export declare function pruneReplyTargets(targets: Record<string, ReplyTargetEntry>, prevPrunedThrough: string | undefined): string | undefined;
|
|
51
|
+
export interface TurnReplyTarget extends Omit<ReplyTargetEntry, 'updatedAt'> {
|
|
26
52
|
turnId: string;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
53
|
+
updatedAt?: string;
|
|
54
|
+
}
|
|
55
|
+
/** Reply context for one exact turn. The per-turn entry is authoritative. Old
|
|
56
|
+
* persisted sessions may fall back to the single slots only when those slots
|
|
57
|
+
* explicitly identify the requested turn. */
|
|
58
|
+
export declare function pickTurnReplyTarget(s: Pick<Session, 'replyTargets' | 'currentReplyTarget' | 'quoteTargetId' | 'quoteTargetSenderOpenId'>, currentTurnId: string | undefined): TurnReplyTarget | undefined;
|
|
59
|
+
/** Whether `turnId` is a chat-scope substitute turn that disables the
|
|
60
|
+
* streaming card. Thread-scope substitute turns keep their normal card. With
|
|
61
|
+
* no turn context, falls back to the latest-accepted chat turn's flag; callers
|
|
62
|
+
* with a turnId get an exact per-turn answer so queued normal/substitute turns
|
|
63
|
+
* cannot inherit each other's card state. */
|
|
64
|
+
export declare function isSubstituteTurn(ds: Pick<DaemonSession, 'scope' | 'session' | 'currentReplyTarget'>, turnId?: string): boolean;
|
|
35
65
|
export declare function resolveSessionReplyTarget(ds: Pick<DaemonSession, 'scope' | 'chatId' | 'session' | 'currentReplyTarget'>, turnId?: string): SessionReplyTarget;
|
|
36
66
|
export declare function resolveSendTarget(opts: {
|
|
37
67
|
into?: string;
|
|
@@ -47,7 +77,40 @@ export declare function resolveSendTarget(opts: {
|
|
|
47
77
|
export declare function beginReplyTargetTurn(ds: DaemonSession, replyRootId: string | undefined, turnId: string, nowIso?: string, opts?: {
|
|
48
78
|
quoteOnly?: boolean;
|
|
49
79
|
substitute?: boolean;
|
|
80
|
+
senderOpenId?: string;
|
|
81
|
+
participants?: TurnParticipant[];
|
|
82
|
+
participantsIncomplete?: boolean;
|
|
50
83
|
}): void;
|
|
84
|
+
/** Resolve a turn's immutable inbound destination, falling back only for
|
|
85
|
+
* legacy/non-Lark turns that predate the bounded registry. */
|
|
86
|
+
export declare function frozenReplyContextForTurn(ds: Pick<DaemonSession, 'scope' | 'chatId' | 'session' | 'currentReplyTarget'>, turnId?: string): FrozenSessionReplyContext;
|
|
87
|
+
/** Window within which sibling turn records are treated as the SAME turn for
|
|
88
|
+
* --mention-back ambiguity. Type-ahead follow-ups each land as their own
|
|
89
|
+
* per-turn record (distinct message_id), and the model may resolve
|
|
90
|
+
* BOTMUX_TURN_ID to whichever was processed last — so `botmux send` unions the
|
|
91
|
+
* participants of every record updated within this window of the resolved
|
|
92
|
+
* turn. Deliberate conservative approximation: uncertainty (an incomplete
|
|
93
|
+
* window, a pruned sibling, no window at all) fails toward explicit addressing,
|
|
94
|
+
* and erring wide can only over-suggest an explicit --mention, never wrongly
|
|
95
|
+
* auto-@ the wrong single counterpart. 90s comfortably spans a busy CLI batch
|
|
96
|
+
* while not bleeding into an unrelated later conversation. */
|
|
97
|
+
export declare const TURN_WINDOW_MS = 90000;
|
|
98
|
+
export interface TurnWindow {
|
|
99
|
+
/** Executable receiver-scoped open_id candidates in the window (deduped). */
|
|
100
|
+
participants: TurnParticipant[];
|
|
101
|
+
/** True when the set may be UNDER-counted — a non-open_id @ we couldn't
|
|
102
|
+
* resolve, a window-relevant sibling pruned by the bounded map, or the turn
|
|
103
|
+
* window itself is unknown. Callers must fail toward an explicit --mention. */
|
|
104
|
+
incomplete: boolean;
|
|
105
|
+
}
|
|
106
|
+
/** The turn-window counterpart set for `currentTurnId`: the resolved turn's own
|
|
107
|
+
* participants unioned with those of any sibling turn record updated within
|
|
108
|
+
* TURN_WINDOW_MS (covers type-ahead follow-ups that folded into this model
|
|
109
|
+
* turn under different message_ids). `incomplete` is set when the set can't be
|
|
110
|
+
* proven complete — no anchor, a window record self-marked incomplete
|
|
111
|
+
* (unresolved @), or the prune watermark reaches into the window (a pruned
|
|
112
|
+
* sibling may have carried an unseen counterpart). */
|
|
113
|
+
export declare function collectTurnWindowParticipants(s: Pick<Session, 'replyTargets' | 'replyTargetsPrunedThrough'>, currentTurnId: string | undefined): TurnWindow;
|
|
51
114
|
/**
|
|
52
115
|
* Effective turnId for a daemon-side message. Callers that know their turn
|
|
53
116
|
* (worker final_output, placeholder cards) pass it explicitly and the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reply-target.d.ts","sourceRoot":"","sources":["../../src/core/reply-target.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"reply-target.d.ts","sourceRoot":"","sources":["../../src/core/reply-target.ts"],"names":[],"mappings":"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"}
|