botmux 3.9.2 → 3.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +1 -1
- package/README.md +1 -1
- package/dist/.runtime-build-id +1 -1
- package/dist/adapters/cli/codex.d.ts.map +1 -1
- package/dist/adapters/cli/codex.js +6 -0
- package/dist/adapters/cli/codex.js.map +1 -1
- package/dist/adapters/cli/opencode.d.ts.map +1 -1
- package/dist/adapters/cli/opencode.js +7 -1
- package/dist/adapters/cli/opencode.js.map +1 -1
- package/dist/adapters/cli/reasonix.d.ts +35 -0
- package/dist/adapters/cli/reasonix.d.ts.map +1 -0
- package/dist/adapters/cli/reasonix.js +236 -0
- package/dist/adapters/cli/reasonix.js.map +1 -0
- package/dist/adapters/cli/registry.d.ts +2 -1
- package/dist/adapters/cli/registry.d.ts.map +1 -1
- package/dist/adapters/cli/registry.js +4 -1
- package/dist/adapters/cli/registry.js.map +1 -1
- package/dist/adapters/cli/types.d.ts +5 -1
- package/dist/adapters/cli/types.d.ts.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +168 -62
- package/dist/cli.js.map +1 -1
- package/dist/core/command-handler.d.ts +18 -4
- package/dist/core/command-handler.d.ts.map +1 -1
- package/dist/core/command-handler.js +234 -26
- package/dist/core/command-handler.js.map +1 -1
- package/dist/core/dashboard-ipc-server.d.ts +1 -0
- package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
- package/dist/core/dashboard-ipc-server.js +27 -3
- package/dist/core/dashboard-ipc-server.js.map +1 -1
- package/dist/core/dispatch.d.ts +54 -24
- package/dist/core/dispatch.d.ts.map +1 -1
- package/dist/core/dispatch.js +81 -27
- package/dist/core/dispatch.js.map +1 -1
- package/dist/core/input-turn-dedupe.d.ts +20 -0
- package/dist/core/input-turn-dedupe.d.ts.map +1 -0
- package/dist/core/input-turn-dedupe.js +57 -0
- package/dist/core/input-turn-dedupe.js.map +1 -0
- package/dist/core/local-terminal-opener.d.ts.map +1 -1
- package/dist/core/local-terminal-opener.js +10 -1
- package/dist/core/local-terminal-opener.js.map +1 -1
- package/dist/core/passthrough-commands.d.ts.map +1 -1
- package/dist/core/passthrough-commands.js +1 -1
- package/dist/core/passthrough-commands.js.map +1 -1
- package/dist/core/plugins/pm2.d.ts.map +1 -1
- package/dist/core/plugins/pm2.js +7 -1
- package/dist/core/plugins/pm2.js.map +1 -1
- package/dist/core/resource-monitor/attribution.d.ts.map +1 -1
- package/dist/core/resource-monitor/attribution.js +17 -1
- package/dist/core/resource-monitor/attribution.js.map +1 -1
- package/dist/core/resource-monitor/darwin.d.ts +145 -0
- package/dist/core/resource-monitor/darwin.d.ts.map +1 -0
- package/dist/core/resource-monitor/darwin.js +360 -0
- package/dist/core/resource-monitor/darwin.js.map +1 -0
- package/dist/core/resource-monitor/procfs.d.ts.map +1 -1
- package/dist/core/resource-monitor/procfs.js +6 -0
- package/dist/core/resource-monitor/procfs.js.map +1 -1
- package/dist/core/resource-monitor/types.d.ts +1 -1
- package/dist/core/resource-monitor/types.d.ts.map +1 -1
- package/dist/core/scheduler.d.ts.map +1 -1
- package/dist/core/scheduler.js +5 -2
- package/dist/core/scheduler.js.map +1 -1
- package/dist/core/session-discovery.d.ts.map +1 -1
- package/dist/core/session-discovery.js +3 -0
- package/dist/core/session-discovery.js.map +1 -1
- package/dist/core/session-manager.d.ts +3 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +46 -0
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/session-marker.d.ts +1 -8
- package/dist/core/session-marker.d.ts.map +1 -1
- package/dist/core/session-marker.js +2 -50
- package/dist/core/session-marker.js.map +1 -1
- package/dist/core/types.d.ts +3 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js.map +1 -1
- package/dist/core/worker-pool.d.ts +17 -0
- package/dist/core/worker-pool.d.ts.map +1 -1
- package/dist/core/worker-pool.js +292 -9
- package/dist/core/worker-pool.js.map +1 -1
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +27 -12
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/daemon-internal-api.d.ts.map +1 -1
- package/dist/dashboard/daemon-internal-api.js +11 -2
- package/dist/dashboard/daemon-internal-api.js.map +1 -1
- package/dist/dashboard/groups-action-helpers.d.ts +2 -0
- package/dist/dashboard/groups-action-helpers.d.ts.map +1 -1
- package/dist/dashboard/groups-action-helpers.js +9 -0
- package/dist/dashboard/groups-action-helpers.js.map +1 -1
- package/dist/dashboard/groups-matrix-snapshot.d.ts +56 -0
- package/dist/dashboard/groups-matrix-snapshot.d.ts.map +1 -0
- package/dist/dashboard/groups-matrix-snapshot.js +127 -0
- package/dist/dashboard/groups-matrix-snapshot.js.map +1 -0
- package/dist/dashboard/resource-monitor-service.d.ts.map +1 -1
- package/dist/dashboard/resource-monitor-service.js +18 -2
- package/dist/dashboard/resource-monitor-service.js.map +1 -1
- package/dist/dashboard/web/app.d.ts.map +1 -1
- package/dist/dashboard/web/app.js +45 -4
- package/dist/dashboard/web/app.js.map +1 -1
- package/dist/dashboard/web/groups-api.js +1 -1
- package/dist/dashboard/web/groups-api.js.map +1 -1
- package/dist/dashboard/web/i18n.js +10 -10
- package/dist/dashboard/web/i18n.js.map +1 -1
- package/dist/dashboard/web/roles-page.d.ts.map +1 -1
- package/dist/dashboard/web/roles-page.js +26 -11
- package/dist/dashboard/web/roles-page.js.map +1 -1
- package/dist/dashboard-web/app.js +1 -1
- package/dist/dashboard-web/chunks/{bot-defaults-page-BHTQEWCH.js → bot-defaults-page-LTVOUDIS.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-KLZCQAHF.js → chunk-3UE7S77S.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-W77TPKZH.js → chunk-DCS35UMD.js} +1 -1
- package/dist/dashboard-web/chunks/{chunk-E3HZZXK5.js → chunk-MFQPCVHY.js} +4 -4
- package/dist/dashboard-web/chunks/{chunk-EZH56JCI.js → chunk-ZU3UUKAR.js} +1 -1
- package/dist/dashboard-web/chunks/{connectors-page-BP255CAX.js → connectors-page-5KWDIMKC.js} +1 -1
- package/dist/dashboard-web/chunks/{groups-page-CDHVXBUT.js → groups-page-FHOKYXMW.js} +1 -1
- package/dist/dashboard-web/chunks/{insights-page-57BFE6GT.js → insights-page-T2ZX2RWL.js} +1 -1
- package/dist/dashboard-web/chunks/{monitor-room-UTOYGQVF.js → monitor-room-YNVBAGR6.js} +1 -1
- package/dist/dashboard-web/chunks/{monitoring-page-WTHYAIUM.js → monitoring-page-LHM55YWN.js} +1 -1
- package/dist/dashboard-web/chunks/{office-page-JSMIB353.js → office-page-ATXVP7PW.js} +1 -1
- package/dist/dashboard-web/chunks/{overview-page-3VDBOH7L.js → overview-page-QYI3KBDD.js} +1 -1
- package/dist/dashboard-web/chunks/roles-page-56VWM6CD.js +1 -0
- package/dist/dashboard-web/chunks/{schedules-page-HHN736H6.js → schedules-page-S5K6U4EO.js} +1 -1
- package/dist/dashboard-web/chunks/{sessions-page-EIWOZD7A.js → sessions-page-WBP4N7D2.js} +1 -1
- package/dist/dashboard-web/chunks/{settings-page-2IUT5LS4.js → settings-page-QUZDQARR.js} +1 -1
- package/dist/dashboard-web/chunks/{skills-page-JKFKMUEM.js → skills-page-IFY7AEND.js} +1 -1
- package/dist/dashboard-web/chunks/{team-federation-page-Q2PXC3UY.js → team-federation-page-C7FJQPFZ.js} +1 -1
- package/dist/dashboard-web/chunks/{v3-page-EBQCD4AO.js → v3-page-2LMF3WWR.js} +1 -1
- package/dist/dashboard-web/chunks/{whiteboards-page-QZRMVNZN.js → whiteboards-page-3XC6QRMY.js} +1 -1
- package/dist/dashboard-web/style.css +2 -4
- package/dist/dashboard.js +65 -9
- package/dist/dashboard.js.map +1 -1
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +33 -7
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/zh.d.ts.map +1 -1
- package/dist/i18n/zh.js +31 -7
- package/dist/i18n/zh.js.map +1 -1
- package/dist/im/lark/card-builder.d.ts +7 -0
- package/dist/im/lark/card-builder.d.ts.map +1 -1
- package/dist/im/lark/card-builder.js +56 -0
- package/dist/im/lark/card-builder.js.map +1 -1
- package/dist/im/lark/card-handler.d.ts.map +1 -1
- package/dist/im/lark/card-handler.js +42 -19
- package/dist/im/lark/card-handler.js.map +1 -1
- package/dist/im/lark/client.d.ts +10 -0
- package/dist/im/lark/client.d.ts.map +1 -1
- package/dist/im/lark/client.js +79 -0
- package/dist/im/lark/client.js.map +1 -1
- package/dist/im/lark/event-dispatcher.d.ts +14 -1
- package/dist/im/lark/event-dispatcher.d.ts.map +1 -1
- package/dist/im/lark/event-dispatcher.js +171 -15
- package/dist/im/lark/event-dispatcher.js.map +1 -1
- package/dist/im/lark/lark-hosts.d.ts +5 -0
- package/dist/im/lark/lark-hosts.d.ts.map +1 -1
- package/dist/im/lark/lark-hosts.js +10 -0
- package/dist/im/lark/lark-hosts.js.map +1 -1
- package/dist/im/lark/message-parser.d.ts.map +1 -1
- package/dist/im/lark/message-parser.js +24 -7
- package/dist/im/lark/message-parser.js.map +1 -1
- package/dist/pm2-graceful-exit.d.ts +28 -0
- package/dist/pm2-graceful-exit.d.ts.map +1 -0
- package/dist/pm2-graceful-exit.js +39 -0
- package/dist/pm2-graceful-exit.js.map +1 -0
- package/dist/services/bridge-fallback-gate.d.ts +9 -2
- package/dist/services/bridge-fallback-gate.d.ts.map +1 -1
- package/dist/services/bridge-fallback-gate.js +31 -19
- package/dist/services/bridge-fallback-gate.js.map +1 -1
- package/dist/services/message-listener-store.d.ts +18 -0
- package/dist/services/message-listener-store.d.ts.map +1 -1
- package/dist/services/message-listener-store.js +35 -10
- package/dist/services/message-listener-store.js.map +1 -1
- package/dist/services/message-listener.d.ts +17 -0
- package/dist/services/message-listener.d.ts.map +1 -1
- package/dist/services/message-listener.js +26 -0
- package/dist/services/message-listener.js.map +1 -1
- package/dist/setup/bot-config-editor.d.ts.map +1 -1
- package/dist/setup/bot-config-editor.js +2 -0
- package/dist/setup/bot-config-editor.js.map +1 -1
- package/dist/setup/lark-scopes.json +1 -0
- package/dist/setup/verify-permissions.d.ts.map +1 -1
- package/dist/setup/verify-permissions.js +8 -0
- package/dist/setup/verify-permissions.js.map +1 -1
- package/dist/types.d.ts +34 -0
- package/dist/types.d.ts.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 +13 -0
- package/dist/utils/child-env.js.map +1 -1
- package/dist/utils/file-lock.d.ts.map +1 -1
- package/dist/utils/file-lock.js +1 -1
- package/dist/utils/file-lock.js.map +1 -1
- package/dist/utils/global-install.d.ts.map +1 -1
- package/dist/utils/global-install.js +56 -10
- package/dist/utils/global-install.js.map +1 -1
- package/dist/utils/idle-detector.d.ts +4 -0
- package/dist/utils/idle-detector.d.ts.map +1 -1
- package/dist/utils/idle-detector.js +25 -0
- package/dist/utils/idle-detector.js.map +1 -1
- package/dist/utils/process-identity.d.ts +7 -0
- package/dist/utils/process-identity.d.ts.map +1 -0
- package/dist/utils/process-identity.js +62 -0
- package/dist/utils/process-identity.js.map +1 -0
- package/dist/worker.js +123 -9
- package/dist/worker.js.map +1 -1
- package/dist/workflows/events/payloads.d.ts +10 -10
- package/dist/workflows/events/schema.d.ts +28 -28
- package/dist/workflows/hostExecutors/registry.d.ts +2 -7
- package/dist/workflows/hostExecutors/registry.d.ts.map +1 -1
- package/dist/workflows/hostExecutors/registry.js.map +1 -1
- package/dist/workflows/shared/provider-reconciler.d.ts +1 -30
- package/dist/workflows/shared/provider-reconciler.d.ts.map +1 -1
- package/dist/workflows/shared/provider-reconciler.js.map +1 -1
- package/dist/workflows/v3/artifact-contract.d.ts +41 -0
- package/dist/workflows/v3/artifact-contract.d.ts.map +1 -0
- package/dist/workflows/v3/artifact-contract.js +20 -0
- package/dist/workflows/v3/artifact-contract.js.map +1 -0
- package/dist/workflows/v3/botmux-attempt-lease.d.ts +7 -0
- package/dist/workflows/v3/botmux-attempt-lease.d.ts.map +1 -0
- package/dist/workflows/v3/botmux-attempt-lease.js +189 -0
- package/dist/workflows/v3/botmux-attempt-lease.js.map +1 -0
- package/dist/workflows/v3/botmux-host-policy.d.ts +7 -0
- package/dist/workflows/v3/botmux-host-policy.d.ts.map +1 -0
- package/dist/workflows/v3/botmux-host-policy.js +34 -0
- package/dist/workflows/v3/botmux-host-policy.js.map +1 -0
- package/dist/workflows/v3/cli-run.d.ts +1 -1
- package/dist/workflows/v3/cli-run.d.ts.map +1 -1
- package/dist/workflows/v3/cli-run.js +1 -1
- package/dist/workflows/v3/cli-run.js.map +1 -1
- package/dist/workflows/v3/contract.d.ts +8 -89
- package/dist/workflows/v3/contract.d.ts.map +1 -1
- package/dist/workflows/v3/contract.js +2 -8
- package/dist/workflows/v3/contract.js.map +1 -1
- package/dist/workflows/v3/core-control.d.ts +16 -0
- package/dist/workflows/v3/core-control.d.ts.map +1 -0
- package/dist/workflows/v3/core-control.js +60 -0
- package/dist/workflows/v3/core-control.js.map +1 -0
- package/dist/workflows/v3/daemon-run.d.ts.map +1 -1
- package/dist/workflows/v3/daemon-run.js +2 -1
- package/dist/workflows/v3/daemon-run.js.map +1 -1
- package/dist/workflows/v3/dag-loader.d.ts +5 -0
- package/dist/workflows/v3/dag-loader.d.ts.map +1 -0
- package/dist/workflows/v3/dag-loader.js +22 -0
- package/dist/workflows/v3/dag-loader.js.map +1 -0
- package/dist/workflows/v3/dag.d.ts +2 -6
- package/dist/workflows/v3/dag.d.ts.map +1 -1
- package/dist/workflows/v3/dag.js +2 -24
- package/dist/workflows/v3/dag.js.map +1 -1
- package/dist/workflows/v3/ephemeral-pool.d.ts.map +1 -1
- package/dist/workflows/v3/ephemeral-pool.js +22 -12
- package/dist/workflows/v3/ephemeral-pool.js.map +1 -1
- package/dist/workflows/v3/event-contract.d.ts +273 -0
- package/dist/workflows/v3/event-contract.d.ts.map +1 -0
- package/dist/workflows/v3/event-contract.js +8 -0
- package/dist/workflows/v3/event-contract.js.map +1 -0
- package/dist/workflows/v3/gate-policy.d.ts +12 -0
- package/dist/workflows/v3/gate-policy.d.ts.map +1 -0
- package/dist/workflows/v3/gate-policy.js +20 -0
- package/dist/workflows/v3/gate-policy.js.map +1 -0
- package/dist/workflows/v3/gate-wait-store.d.ts +99 -0
- package/dist/workflows/v3/gate-wait-store.d.ts.map +1 -0
- package/dist/workflows/v3/gate-wait-store.js +263 -0
- package/dist/workflows/v3/gate-wait-store.js.map +1 -0
- package/dist/workflows/v3/host.js +1 -1
- package/dist/workflows/v3/host.js.map +1 -1
- package/dist/workflows/v3/human-gate.d.ts +4 -99
- package/dist/workflows/v3/human-gate.d.ts.map +1 -1
- package/dist/workflows/v3/human-gate.js +4 -275
- package/dist/workflows/v3/human-gate.js.map +1 -1
- package/dist/workflows/v3/in-process-attempt-lease.d.ts +10 -0
- package/dist/workflows/v3/in-process-attempt-lease.d.ts.map +1 -0
- package/dist/workflows/v3/in-process-attempt-lease.js +47 -0
- package/dist/workflows/v3/in-process-attempt-lease.js.map +1 -0
- package/dist/workflows/v3/journal.d.ts +2 -275
- package/dist/workflows/v3/journal.d.ts.map +1 -1
- package/dist/workflows/v3/journal.js.map +1 -1
- package/dist/workflows/v3/library-service.js +1 -1
- package/dist/workflows/v3/library-service.js.map +1 -1
- package/dist/workflows/v3/orchestrator.d.ts +1 -2
- package/dist/workflows/v3/orchestrator.d.ts.map +1 -1
- package/dist/workflows/v3/orchestrator.js.map +1 -1
- package/dist/workflows/v3/portable-artifact-snapshot.d.ts +15 -0
- package/dist/workflows/v3/portable-artifact-snapshot.d.ts.map +1 -0
- package/dist/workflows/v3/portable-artifact-snapshot.js +76 -0
- package/dist/workflows/v3/portable-artifact-snapshot.js.map +1 -0
- package/dist/workflows/v3/portable-final-outputs.d.ts +37 -0
- package/dist/workflows/v3/portable-final-outputs.d.ts.map +1 -0
- package/dist/workflows/v3/portable-final-outputs.js +137 -0
- package/dist/workflows/v3/portable-final-outputs.js.map +1 -0
- package/dist/workflows/v3/portable-run-snapshot.d.ts +14 -0
- package/dist/workflows/v3/portable-run-snapshot.d.ts.map +1 -0
- package/dist/workflows/v3/portable-run-snapshot.js +176 -0
- package/dist/workflows/v3/portable-run-snapshot.js.map +1 -0
- package/dist/workflows/v3/portable-runtime.d.ts +83 -0
- package/dist/workflows/v3/portable-runtime.d.ts.map +1 -0
- package/dist/workflows/v3/portable-runtime.js +135 -0
- package/dist/workflows/v3/portable-runtime.js.map +1 -0
- package/dist/workflows/v3/runtime-host-contract.d.ts +182 -0
- package/dist/workflows/v3/runtime-host-contract.d.ts.map +1 -0
- package/dist/workflows/v3/runtime-host-contract.js +9 -0
- package/dist/workflows/v3/runtime-host-contract.js.map +1 -0
- package/dist/workflows/v3/runtime.d.ts +12 -226
- package/dist/workflows/v3/runtime.d.ts.map +1 -1
- package/dist/workflows/v3/runtime.js +14 -3173
- package/dist/workflows/v3/runtime.js.map +1 -1
- package/dist/workflows/v3/shared-node-runtime.d.ts +203 -0
- package/dist/workflows/v3/shared-node-runtime.d.ts.map +1 -0
- package/dist/workflows/v3/shared-node-runtime.js +2978 -0
- package/dist/workflows/v3/shared-node-runtime.js.map +1 -0
- package/dist/workflows/v3/shared-runtime.d.ts +17 -0
- package/dist/workflows/v3/shared-runtime.d.ts.map +1 -0
- package/dist/workflows/v3/shared-runtime.js +12 -0
- package/dist/workflows/v3/shared-runtime.js.map +1 -0
- package/package.json +4 -1
- package/dist/dashboard-web/chunks/roles-page-LHVAU2BI.js +0 -1
package/dist/core/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,7 @@ type WorkerStartupState = {
|
|
|
48
48
|
initTurnId?: string;
|
|
49
49
|
initDispatchAttempt?: number;
|
|
50
50
|
};
|
|
51
|
+
export declare const TRANSFER_DETACH_FENCE_PICKER_MS = 8000;
|
|
51
52
|
export interface WorkerSessionReplyOptions {
|
|
52
53
|
uuid?: string;
|
|
53
54
|
quoteMessageId?: string;
|
|
@@ -488,6 +489,7 @@ export declare function rollbackRejectedSessionAndGetWinner(map: Map<string, Dae
|
|
|
488
489
|
type TransferBufferedInput = Extract<DaemonToWorker, {
|
|
489
490
|
type: 'message' | 'raw_input' | 'inject_command' | 'coco_drive_picker' | 'set_display_mode' | 'refresh_screen' | 'term_action';
|
|
490
491
|
}>;
|
|
492
|
+
export declare function __testOnly_resetOrdinaryImDeliveries(): void;
|
|
491
493
|
export declare function isSessionTransferring(ds: DaemonSession): boolean;
|
|
492
494
|
/** Register follow-up work that must run only after the relay gate is fully
|
|
493
495
|
* released. Returns false when no transfer is active, so callers can proceed
|
|
@@ -562,6 +564,14 @@ targetScope: 'thread' | 'chat', opts?: {
|
|
|
562
564
|
/** @internal Override for tests — mirror of forkWorkerImpl for the
|
|
563
565
|
* transfer-only worker detach path. */
|
|
564
566
|
detachWorkerImpl?: (ds: DaemonSession) => boolean | void | Promise<boolean | void>;
|
|
567
|
+
/** Detach-fence budget (ms) for the observer teardown handshake. Defaults
|
|
568
|
+
* to the tight TRANSFER_DETACH_FENCE_MS, which the cross-daemon peer path
|
|
569
|
+
* needs to stay inside the leader's 5s HTTP abort. In-process callers with
|
|
570
|
+
* no HTTP ceiling (the picker relay_confirm) pass a larger value
|
|
571
|
+
* (TRANSFER_DETACH_FENCE_PICKER_MS) so a slightly-slow-but-clean teardown
|
|
572
|
+
* is not misclassified as a failure. Ignored when detachWorkerImpl is set
|
|
573
|
+
* (test doubles don't observe a real fence). */
|
|
574
|
+
detachTimeoutMs?: number;
|
|
565
575
|
}): Promise<{
|
|
566
576
|
ok: true;
|
|
567
577
|
} | {
|
|
@@ -593,6 +603,13 @@ export declare function isForkCapableSession(ds: DaemonSession): boolean;
|
|
|
593
603
|
*/
|
|
594
604
|
export declare function forkSession(sessionId: string, targetChatId: string, targetRootMessageId: string, targetChatType: 'group' | 'p2p', targetScope: 'thread' | 'chat', opts?: {
|
|
595
605
|
forkWorkerImpl?: typeof forkWorker;
|
|
606
|
+
childTitle?: string;
|
|
607
|
+
forkTaskText?: string;
|
|
608
|
+
larkThreadId?: string;
|
|
609
|
+
buildInitialPrompt?: (childSessionId: string) => string | CliTurnPayload;
|
|
610
|
+
turnId?: string;
|
|
611
|
+
senderOpenId?: string;
|
|
612
|
+
senderIsBot?: boolean;
|
|
596
613
|
}): Promise<{
|
|
597
614
|
ok: true;
|
|
598
615
|
childSessionId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker-pool.d.ts","sourceRoot":"","sources":["../../src/core/worker-pool.ts"],"names":[],"mappings":"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"}
|
package/dist/core/worker-pool.js
CHANGED
|
@@ -210,9 +210,39 @@ const WORKER_SIGKILL_BACKSTOP_MS = 7_000;
|
|
|
210
210
|
const CLOSE_FENCE_WARN_MS = 8_000;
|
|
211
211
|
// Peer relay waits 5s for the whole transfer request. Tmux observer detach has
|
|
212
212
|
// its own 3s command timeout, so this fence leaves headroom for routing/fork.
|
|
213
|
+
// This tight default is load-bearing ONLY for the cross-daemon `/relay --create`
|
|
214
|
+
// peer path (dashboard-ipc-server migrate-to-chat), whose transfer must finish
|
|
215
|
+
// inside the leader's 5s HTTP abort — otherwise the peer commits the move after
|
|
216
|
+
// the leader already reported failure (split-brain; see the busy-refuse comment
|
|
217
|
+
// in transferSession). In-process callers have no such ceiling.
|
|
213
218
|
const TRANSFER_DETACH_FENCE_MS = 3_500;
|
|
219
|
+
// In-process picker relay (card-handler relay_confirm) runs with no HTTP abort
|
|
220
|
+
// above it — its card ACK already degrades to a background "处理中" toast at 2.5s
|
|
221
|
+
// and the real result is delivered as a visible message. So it can afford a
|
|
222
|
+
// larger fence as a last-resort safety net. The COMMON hang, however, is not a
|
|
223
|
+
// slow teardown — it's the worker ACKing the detach in ~9ms but then wedging in
|
|
224
|
+
// node-pty's native process-exit teardown (a still-open web-terminal client PTY
|
|
225
|
+
// blocks `process.exit()` in the reader-thread join; the JS event loop is
|
|
226
|
+
// already stopped so the worker cannot self-rescue). We handle that below by
|
|
227
|
+
// force-killing the worker once its ACK proves the observer already detached, so
|
|
228
|
+
// this fence only bounds the pathological "no ACK at all" case.
|
|
229
|
+
export const TRANSFER_DETACH_FENCE_PICKER_MS = 8_000;
|
|
230
|
+
// Grace after the worker's transfer_detached ACK before the daemon force-kills
|
|
231
|
+
// it. The ACK proves killCli({preserveSandbox:true}) already ran — backend
|
|
232
|
+
// detached, CLI/tmux/sandbox left intact for the replacement — so the ACKed
|
|
233
|
+
// worker process is disposable. Give it a brief window to exit cleanly on its
|
|
234
|
+
// own; if node-pty's exit teardown wedges it (the real bug), SIGKILL it rather
|
|
235
|
+
// than stranding the transfer behind the full fence. Short because a healthy
|
|
236
|
+
// worker exits within a few ms of the ACK.
|
|
237
|
+
const TRANSFER_DETACH_POST_ACK_KILL_MS = 300;
|
|
214
238
|
const TRANSFER_FORCE_EXIT_MS = 500;
|
|
215
|
-
|
|
239
|
+
// Keys the daemon must NOT propagate into a forked worker. GH tokens are the
|
|
240
|
+
// bot's, not the agent's. BOTMUX_PM2_GRACEFUL_EXIT_CODE is pm2's private
|
|
241
|
+
// graceful-exit sentinel for the daemon/dashboard cores only (see
|
|
242
|
+
// pm2-graceful-exit.ts): a worker (or the CLI child it forks — redactChildEnv
|
|
243
|
+
// strips it there too) that inherited it would exit 90 instead of 0 on a
|
|
244
|
+
// clean foreground stop, which a supervisor reads as a crash.
|
|
245
|
+
const WORKER_REDACTED_ENV_KEYS = ['GITHUB_TOKEN', 'GH_TOKEN', 'BOTMUX_PM2_GRACEFUL_EXIT_CODE'];
|
|
216
246
|
function workerForkEnv(base) {
|
|
217
247
|
const env = { ...base };
|
|
218
248
|
for (const key of WORKER_REDACTED_ENV_KEYS)
|
|
@@ -1578,15 +1608,41 @@ export async function detachWorkerForTransfer(ds, opts = {}) {
|
|
|
1578
1608
|
if (acked && exited)
|
|
1579
1609
|
finish(true);
|
|
1580
1610
|
};
|
|
1611
|
+
// Once the worker ACKs, its observer is already detached (killCli ran); the
|
|
1612
|
+
// process itself is disposable. A healthy worker exits within a few ms, but a
|
|
1613
|
+
// web-terminal client PTY makes node-pty's process.exit() teardown wedge the
|
|
1614
|
+
// process for the whole fence (JS loop already stopped → it can't self-kill).
|
|
1615
|
+
// So on ACK, arm a short grace timer, then SIGKILL — turning an 8s stall into
|
|
1616
|
+
// a ~300ms one. Cleared if the worker exits on its own first.
|
|
1617
|
+
let postAckKillTimer;
|
|
1618
|
+
const armPostAckKill = () => {
|
|
1619
|
+
if (postAckKillTimer || exited)
|
|
1620
|
+
return;
|
|
1621
|
+
postAckKillTimer = setTimeout(() => {
|
|
1622
|
+
if (exited)
|
|
1623
|
+
return;
|
|
1624
|
+
logger.info(`[${tag(ds)}] Detach ACK received but worker still alive after ${TRANSFER_DETACH_POST_ACK_KILL_MS}ms (node-pty exit wedge); SIGKILL`);
|
|
1625
|
+
try {
|
|
1626
|
+
w.kill('SIGKILL');
|
|
1627
|
+
}
|
|
1628
|
+
catch { /* already gone */ }
|
|
1629
|
+
}, TRANSFER_DETACH_POST_ACK_KILL_MS);
|
|
1630
|
+
postAckKillTimer.unref?.();
|
|
1631
|
+
};
|
|
1581
1632
|
const onMessage = (raw) => {
|
|
1582
1633
|
const msg = raw;
|
|
1583
1634
|
if (msg.type !== 'transfer_detached' || msg.requestId !== requestId)
|
|
1584
1635
|
return;
|
|
1585
1636
|
acked = true;
|
|
1637
|
+
armPostAckKill();
|
|
1586
1638
|
maybeFinish();
|
|
1587
1639
|
};
|
|
1588
1640
|
const onExit = () => {
|
|
1589
1641
|
exited = true;
|
|
1642
|
+
if (postAckKillTimer) {
|
|
1643
|
+
clearTimeout(postAckKillTimer);
|
|
1644
|
+
postAckKillTimer = undefined;
|
|
1645
|
+
}
|
|
1590
1646
|
maybeFinish();
|
|
1591
1647
|
};
|
|
1592
1648
|
w.on('message', onMessage);
|
|
@@ -1598,6 +1654,10 @@ export async function detachWorkerForTransfer(ds, opts = {}) {
|
|
|
1598
1654
|
void sendWorkerIpc(w, { type: 'detach_for_transfer', requestId })
|
|
1599
1655
|
.catch(() => finish(false));
|
|
1600
1656
|
const completed = await completion;
|
|
1657
|
+
if (postAckKillTimer) {
|
|
1658
|
+
clearTimeout(postAckKillTimer);
|
|
1659
|
+
postAckKillTimer = undefined;
|
|
1660
|
+
}
|
|
1601
1661
|
// A timed-out detach request may still be queued in Node's IPC channel and
|
|
1602
1662
|
// arrive later. Never hand new input back to that uncertain worker. SIGKILL
|
|
1603
1663
|
// skips its ordinary process-exit cleanup, preserving sandbox state and the
|
|
@@ -2385,6 +2445,165 @@ const transferInputGates = new WeakMap();
|
|
|
2385
2445
|
// Only this module can mark the synchronous replacement fork. External callers
|
|
2386
2446
|
// cannot forge an option that bypasses the transfer gate.
|
|
2387
2447
|
const transferReplacementForkBypass = new WeakSet();
|
|
2448
|
+
const ORDINARY_IM_RECEIPT_TIMEOUT_MS = 2_000;
|
|
2449
|
+
const ORDINARY_IM_MAX_ATTEMPTS = 2;
|
|
2450
|
+
/** Exact ordinary-IM turns awaiting the worker's synchronous receipt ACK. The
|
|
2451
|
+
* daemon event has already been claimed by Lark dedup at this point, so losing
|
|
2452
|
+
* this in-memory delivery without retry would permanently drop the message. */
|
|
2453
|
+
const pendingOrdinaryImDeliveries = new Map();
|
|
2454
|
+
function ordinaryImDeliveryKey(ds, turnId, workerGeneration) {
|
|
2455
|
+
return `${ds.session.sessionId}:${workerGeneration}:${turnId}`;
|
|
2456
|
+
}
|
|
2457
|
+
function clearOrdinaryImDelivery(record) {
|
|
2458
|
+
if (record.timer)
|
|
2459
|
+
clearTimeout(record.timer);
|
|
2460
|
+
record.timer = undefined;
|
|
2461
|
+
if (pendingOrdinaryImDeliveries.get(record.key) === record) {
|
|
2462
|
+
pendingOrdinaryImDeliveries.delete(record.key);
|
|
2463
|
+
}
|
|
2464
|
+
}
|
|
2465
|
+
function clearOrdinaryImDeliveryTimer(record) {
|
|
2466
|
+
if (record.timer)
|
|
2467
|
+
clearTimeout(record.timer);
|
|
2468
|
+
record.timer = undefined;
|
|
2469
|
+
}
|
|
2470
|
+
function failOrdinaryImDelivery(record, reason) {
|
|
2471
|
+
if (pendingOrdinaryImDeliveries.get(record.key) !== record)
|
|
2472
|
+
return;
|
|
2473
|
+
clearOrdinaryImDelivery(record);
|
|
2474
|
+
logger.error(`[${tag(record.ds)}] Ordinary IM worker delivery failed `
|
|
2475
|
+
+ `turn=${record.turnId.substring(0, 16)} generation=${record.workerGeneration} `
|
|
2476
|
+
+ `attempts=${record.attempt} reason=${reason}`);
|
|
2477
|
+
if (record.ds.session.vcMeetingReceiver || isSilentScheduledTurn(record.ds, record.turnId))
|
|
2478
|
+
return;
|
|
2479
|
+
const loc = botLocale(getBot(record.ds.larkAppId).config);
|
|
2480
|
+
void requireCallbacks().sessionReply(sessionAnchorId(record.ds), tr('worker.input_delivery_failed', { turnId: record.turnId.substring(0, 16) }, loc), 'text', record.ds.larkAppId, record.turnId).catch(err => logger.error(`[${tag(record.ds)}] Failed to report ordinary IM worker delivery failure: `
|
|
2481
|
+
+ `${err instanceof Error ? err.message : String(err)}`));
|
|
2482
|
+
}
|
|
2483
|
+
function retryOrFailOrdinaryImDelivery(record, reason) {
|
|
2484
|
+
if (pendingOrdinaryImDeliveries.get(record.key) !== record)
|
|
2485
|
+
return;
|
|
2486
|
+
if (record.attempt < ORDINARY_IM_MAX_ATTEMPTS
|
|
2487
|
+
&& record.ds.worker === record.worker
|
|
2488
|
+
&& !record.worker.killed
|
|
2489
|
+
&& record.ds.workerGeneration === record.workerGeneration
|
|
2490
|
+
&& record.ds.session.workerGeneration === record.workerGeneration) {
|
|
2491
|
+
logger.warn(`[${tag(record.ds)}] Ordinary IM input missing worker receipt; retrying exact turn `
|
|
2492
|
+
+ `${record.turnId.substring(0, 16)} on generation ${record.workerGeneration} `
|
|
2493
|
+
+ `(reason=${reason})`);
|
|
2494
|
+
sendOrdinaryImDeliveryAttempt(record);
|
|
2495
|
+
return;
|
|
2496
|
+
}
|
|
2497
|
+
failOrdinaryImDelivery(record, reason);
|
|
2498
|
+
}
|
|
2499
|
+
function sendOrdinaryImDeliveryAttempt(record) {
|
|
2500
|
+
if (pendingOrdinaryImDeliveries.get(record.key) !== record)
|
|
2501
|
+
return false;
|
|
2502
|
+
if (record.ds.worker !== record.worker
|
|
2503
|
+
|| record.worker.killed
|
|
2504
|
+
|| record.ds.workerGeneration !== record.workerGeneration
|
|
2505
|
+
|| record.ds.session.workerGeneration !== record.workerGeneration) {
|
|
2506
|
+
failOrdinaryImDelivery(record, 'worker_generation_changed');
|
|
2507
|
+
return false;
|
|
2508
|
+
}
|
|
2509
|
+
if (record.timer)
|
|
2510
|
+
clearTimeout(record.timer);
|
|
2511
|
+
record.timer = undefined;
|
|
2512
|
+
const attempt = ++record.attempt;
|
|
2513
|
+
try {
|
|
2514
|
+
record.worker.send(record.message, (err) => {
|
|
2515
|
+
if (pendingOrdinaryImDeliveries.get(record.key) !== record || record.attempt !== attempt)
|
|
2516
|
+
return;
|
|
2517
|
+
if (err) {
|
|
2518
|
+
retryOrFailOrdinaryImDelivery(record, `ipc_callback:${err.message}`);
|
|
2519
|
+
return;
|
|
2520
|
+
}
|
|
2521
|
+
logger.info(`[${tag(record.ds)}] Ordinary IM input enqueued to worker IPC `
|
|
2522
|
+
+ `turn=${record.turnId.substring(0, 16)} generation=${record.workerGeneration} attempt=${attempt}`);
|
|
2523
|
+
});
|
|
2524
|
+
}
|
|
2525
|
+
catch (err) {
|
|
2526
|
+
queueMicrotask(() => retryOrFailOrdinaryImDelivery(record, `ipc_throw:${err instanceof Error ? err.message : String(err)}`));
|
|
2527
|
+
return true;
|
|
2528
|
+
}
|
|
2529
|
+
// The worker ACKs synchronously when its IPC handler claims the exact turn.
|
|
2530
|
+
// Slow CLI startup/processing therefore does not extend this transport-only
|
|
2531
|
+
// timeout; the later committed ACK retains input-queue semantics.
|
|
2532
|
+
if (pendingOrdinaryImDeliveries.get(record.key) === record) {
|
|
2533
|
+
record.timer = setTimeout(() => {
|
|
2534
|
+
retryOrFailOrdinaryImDelivery(record, 'receipt_timeout');
|
|
2535
|
+
}, ORDINARY_IM_RECEIPT_TIMEOUT_MS);
|
|
2536
|
+
record.timer.unref?.();
|
|
2537
|
+
}
|
|
2538
|
+
return true;
|
|
2539
|
+
}
|
|
2540
|
+
function sendOrdinaryImDeliveryTracked(ds, message) {
|
|
2541
|
+
const turnId = message.turnId;
|
|
2542
|
+
const worker = ds.worker;
|
|
2543
|
+
const workerGeneration = ds.workerGeneration;
|
|
2544
|
+
if (!turnId || !worker || worker.killed || !Number.isSafeInteger(workerGeneration) || (workerGeneration ?? 0) <= 0) {
|
|
2545
|
+
return false;
|
|
2546
|
+
}
|
|
2547
|
+
const key = ordinaryImDeliveryKey(ds, turnId, workerGeneration);
|
|
2548
|
+
if (pendingOrdinaryImDeliveries.has(key))
|
|
2549
|
+
return true;
|
|
2550
|
+
const record = {
|
|
2551
|
+
key,
|
|
2552
|
+
ds,
|
|
2553
|
+
worker,
|
|
2554
|
+
workerGeneration: workerGeneration,
|
|
2555
|
+
message,
|
|
2556
|
+
turnId,
|
|
2557
|
+
attempt: 0,
|
|
2558
|
+
};
|
|
2559
|
+
pendingOrdinaryImDeliveries.set(key, record);
|
|
2560
|
+
return sendOrdinaryImDeliveryAttempt(record);
|
|
2561
|
+
}
|
|
2562
|
+
function shouldTrackOrdinaryImDelivery(ds, message) {
|
|
2563
|
+
return !!message.turnId?.startsWith('om_')
|
|
2564
|
+
&& message.dispatchAttempt === undefined
|
|
2565
|
+
&& (message.type !== 'init' || (!!message.prompt && !message.adoptMode))
|
|
2566
|
+
&& !ds.adoptedFrom
|
|
2567
|
+
&& !ds.session.vcMeetingReceiver
|
|
2568
|
+
&& Number.isSafeInteger(ds.workerGeneration)
|
|
2569
|
+
&& (ds.workerGeneration ?? 0) > 0
|
|
2570
|
+
&& ds.session.workerGeneration === ds.workerGeneration;
|
|
2571
|
+
}
|
|
2572
|
+
function acknowledgeOrdinaryImDeliveryReceipt(ds, turnId, workerGeneration) {
|
|
2573
|
+
const key = ordinaryImDeliveryKey(ds, turnId, workerGeneration);
|
|
2574
|
+
const record = pendingOrdinaryImDeliveries.get(key);
|
|
2575
|
+
if (!record)
|
|
2576
|
+
return;
|
|
2577
|
+
clearOrdinaryImDeliveryTimer(record);
|
|
2578
|
+
logger.info(`[${tag(ds)}] Ordinary IM input received by worker `
|
|
2579
|
+
+ `turn=${turnId.substring(0, 16)} generation=${workerGeneration} attempt=${record.attempt}`);
|
|
2580
|
+
}
|
|
2581
|
+
function completeOrdinaryImDelivery(ds, turnId, workerGeneration) {
|
|
2582
|
+
const key = ordinaryImDeliveryKey(ds, turnId, workerGeneration);
|
|
2583
|
+
const record = pendingOrdinaryImDeliveries.get(key);
|
|
2584
|
+
if (record)
|
|
2585
|
+
clearOrdinaryImDelivery(record);
|
|
2586
|
+
}
|
|
2587
|
+
function rejectOrdinaryImDelivery(ds, turnId, workerGeneration, reason) {
|
|
2588
|
+
const key = ordinaryImDeliveryKey(ds, turnId, workerGeneration);
|
|
2589
|
+
const record = pendingOrdinaryImDeliveries.get(key);
|
|
2590
|
+
if (!record)
|
|
2591
|
+
return;
|
|
2592
|
+
retryOrFailOrdinaryImDelivery(record, `worker_rejected:${reason}`);
|
|
2593
|
+
}
|
|
2594
|
+
function abandonOrdinaryImDeliveriesForWorker(worker) {
|
|
2595
|
+
for (const record of pendingOrdinaryImDeliveries.values()) {
|
|
2596
|
+
if (record.worker === worker)
|
|
2597
|
+
clearOrdinaryImDelivery(record);
|
|
2598
|
+
}
|
|
2599
|
+
}
|
|
2600
|
+
export function __testOnly_resetOrdinaryImDeliveries() {
|
|
2601
|
+
for (const record of pendingOrdinaryImDeliveries.values()) {
|
|
2602
|
+
if (record.timer)
|
|
2603
|
+
clearTimeout(record.timer);
|
|
2604
|
+
}
|
|
2605
|
+
pendingOrdinaryImDeliveries.clear();
|
|
2606
|
+
}
|
|
2388
2607
|
export function isSessionTransferring(ds) {
|
|
2389
2608
|
return transferInputGates.has(ds);
|
|
2390
2609
|
}
|
|
@@ -2523,7 +2742,19 @@ function releaseTransferInputGate(ds, gate, forkWorkerImpl, waitForWorkerExit) {
|
|
|
2523
2742
|
while (gate.messages.length > 0) {
|
|
2524
2743
|
const message = gate.messages[0];
|
|
2525
2744
|
try {
|
|
2526
|
-
|
|
2745
|
+
if (message.type === 'message'
|
|
2746
|
+
&& shouldTrackOrdinaryImDelivery(ds, message)) {
|
|
2747
|
+
// The transfer gate owns buffering/order; once a replacement
|
|
2748
|
+
// generation exists, ordinary IM delivery returns to the same exact
|
|
2749
|
+
// receipt protocol as steady-state input. The watchdog remains valid
|
|
2750
|
+
// after the gate itself settles.
|
|
2751
|
+
if (!sendOrdinaryImDeliveryTracked(ds, message)) {
|
|
2752
|
+
throw new Error('replacement worker rejected tracked IM delivery');
|
|
2753
|
+
}
|
|
2754
|
+
}
|
|
2755
|
+
else {
|
|
2756
|
+
worker.send(message);
|
|
2757
|
+
}
|
|
2527
2758
|
gate.messages.shift();
|
|
2528
2759
|
}
|
|
2529
2760
|
catch (err) {
|
|
@@ -2733,7 +2964,13 @@ targetScope, opts) {
|
|
|
2733
2964
|
return { ok: false, error: 'worker_busy' };
|
|
2734
2965
|
}
|
|
2735
2966
|
const fkw = opts?.forkWorkerImpl ?? forkWorker;
|
|
2736
|
-
|
|
2967
|
+
// The default detach observes a real fence and takes a per-call timeout; a
|
|
2968
|
+
// test double only takes `ds`. Bind the requested fence onto the real impl
|
|
2969
|
+
// only — a test double never observes a fence, so the budget is irrelevant
|
|
2970
|
+
// (and its narrower signature wouldn't accept it).
|
|
2971
|
+
const detachTimeoutMs = opts?.detachTimeoutMs ?? TRANSFER_DETACH_FENCE_MS;
|
|
2972
|
+
const detach = opts?.detachWorkerImpl
|
|
2973
|
+
?? ((d) => detachWorkerForTransfer(d, { timeoutMs: detachTimeoutMs }));
|
|
2737
2974
|
const transferGate = beginTransferInputGate(ds);
|
|
2738
2975
|
if (!transferGate)
|
|
2739
2976
|
return { ok: false, error: 'worker_busy' };
|
|
@@ -2932,7 +3169,7 @@ targetScope, opts) {
|
|
|
2932
3169
|
* byte-level fork we can reproduce — they are refused. Riff / other pure-remote
|
|
2933
3170
|
* backends have no local rollout to fork either. */
|
|
2934
3171
|
const FORK_CAPABLE_CLI_IDS = new Set([
|
|
2935
|
-
'claude-code', 'seed', 'relay', '
|
|
3172
|
+
'claude-code', 'seed', 'relay', 'codex',
|
|
2936
3173
|
]);
|
|
2937
3174
|
/** True when this session can be byte-level forked via a CLI-native primitive.
|
|
2938
3175
|
* Refuses codex-app outright, and refuses a plain `codex` session that is
|
|
@@ -3040,16 +3277,23 @@ export async function forkSession(sessionId, targetChatId, targetRootMessageId,
|
|
|
3040
3277
|
}
|
|
3041
3278
|
// ── Mint the child session row (new botmux sessionId) ──
|
|
3042
3279
|
const parentTitle = ds.session.title || '';
|
|
3043
|
-
const childTitle =
|
|
3280
|
+
const childTitle = opts?.childTitle?.trim()
|
|
3281
|
+
|| (parentTitle ? `🔱 ${parentTitle}` : '🔱 分身');
|
|
3044
3282
|
const childSession = sessionStore.createSession(targetChatId, targetRootMessageId, childTitle, targetChatType, targetScope);
|
|
3045
3283
|
// Provenance + fork wiring. cliSessionId points at the SOURCE's CLI id: the
|
|
3046
3284
|
// child's first spawn resumes it and forks forward (pendingForkSession), then
|
|
3047
3285
|
// the worker persists the child's own new id and clears the marker.
|
|
3048
3286
|
childSession.forkedFrom = ds.session.sessionId;
|
|
3287
|
+
childSession.forkTaskText = opts?.forkTaskText;
|
|
3288
|
+
childSession.larkThreadId = opts?.larkThreadId;
|
|
3289
|
+
childSession.lastCallerOpenId = opts?.senderOpenId;
|
|
3290
|
+
childSession.quoteTargetId = opts?.turnId;
|
|
3291
|
+
childSession.quoteTargetSenderOpenId = opts?.senderOpenId;
|
|
3292
|
+
childSession.quoteTargetSenderIsBot = opts?.senderIsBot;
|
|
3049
3293
|
childSession.pendingForkSession = true;
|
|
3050
3294
|
childSession.cliSessionId = srcCliSessionId;
|
|
3051
3295
|
childSession.cliId = ds.session.cliId;
|
|
3052
|
-
childSession.workingDir = ds.session.workingDir;
|
|
3296
|
+
childSession.workingDir = ds.workingDir ?? ds.session.workingDir;
|
|
3053
3297
|
childSession.ownerOpenId = ds.session.ownerOpenId;
|
|
3054
3298
|
childSession.backendType = ds.session.backendType;
|
|
3055
3299
|
// Bot identity on the PERSISTED row. Every other createSession caller sets
|
|
@@ -3090,6 +3334,9 @@ export async function forkSession(sessionId, targetChatId, targetRootMessageId,
|
|
|
3090
3334
|
childSession.sandboxNetwork = ds.session.sandboxNetwork;
|
|
3091
3335
|
childSession.model = ds.session.model;
|
|
3092
3336
|
childSession.reasoningEffort = ds.session.reasoningEffort;
|
|
3337
|
+
childSession.cliRuntime = ds.session.cliRuntime
|
|
3338
|
+
? { ...ds.session.cliRuntime, update: { ...ds.session.cliRuntime.update } }
|
|
3339
|
+
: undefined;
|
|
3093
3340
|
childSession.cliPathOverride = ds.session.cliPathOverride;
|
|
3094
3341
|
childSession.wrapperCli = ds.session.wrapperCli;
|
|
3095
3342
|
childSession.agentFrozen = ds.session.agentFrozen;
|
|
@@ -3111,7 +3358,7 @@ export async function forkSession(sessionId, targetChatId, targetRootMessageId,
|
|
|
3111
3358
|
cliVersion: getCurrentCliVersion(),
|
|
3112
3359
|
lastMessageAt: Date.now(),
|
|
3113
3360
|
hasHistory: true, // forked child resumes (forks) prior history on first spawn
|
|
3114
|
-
workingDir: ds.session.workingDir,
|
|
3361
|
+
workingDir: ds.workingDir ?? ds.session.workingDir,
|
|
3115
3362
|
ownerOpenId: ds.session.ownerOpenId,
|
|
3116
3363
|
// Fresh card in the target anchor — never inherit the source's card id.
|
|
3117
3364
|
streamCardId: undefined,
|
|
@@ -3144,7 +3391,11 @@ export async function forkSession(sessionId, targetChatId, targetRootMessageId,
|
|
|
3144
3391
|
// codex fork). The SOURCE ds is never touched.
|
|
3145
3392
|
const fkw = opts?.forkWorkerImpl ?? forkWorker;
|
|
3146
3393
|
try {
|
|
3147
|
-
|
|
3394
|
+
const initialPrompt = opts?.buildInitialPrompt?.(childSession.sessionId) ?? '';
|
|
3395
|
+
if (initialPrompt) {
|
|
3396
|
+
rememberLastCliInput(childDs, opts?.forkTaskText ?? (typeof initialPrompt === 'string' ? initialPrompt : initialPrompt.content), initialPrompt);
|
|
3397
|
+
}
|
|
3398
|
+
fkw(childDs, initialPrompt, opts?.turnId ? { resume: true, turnId: opts.turnId } : true);
|
|
3148
3399
|
}
|
|
3149
3400
|
catch (err) {
|
|
3150
3401
|
logger.error(`[${childSession.sessionId.substring(0, 8)}] fork child worker spawn failed: `
|
|
@@ -3233,6 +3484,9 @@ export function sendWorkerInput(ds, payload, turnId, opts = {}) {
|
|
|
3233
3484
|
? { vcMeetingImTurnOrigin }
|
|
3234
3485
|
: {}),
|
|
3235
3486
|
};
|
|
3487
|
+
if (!transferGate && shouldTrackOrdinaryImDelivery(ds, message)) {
|
|
3488
|
+
return sendOrdinaryImDeliveryTracked(ds, message);
|
|
3489
|
+
}
|
|
3236
3490
|
return sendWorkerSessionInput(ds, message);
|
|
3237
3491
|
}
|
|
3238
3492
|
export function forkWorker(ds, promptInput, resumeOrTurnId = false) {
|
|
@@ -3655,7 +3909,6 @@ export function forkWorker(ds, promptInput, resumeOrTurnId = false) {
|
|
|
3655
3909
|
sessionStore.updateSession(ds.session);
|
|
3656
3910
|
}
|
|
3657
3911
|
}
|
|
3658
|
-
worker.send(initMsg);
|
|
3659
3912
|
ds.initConfig = initMsg;
|
|
3660
3913
|
// Stamp cliId on the persisted session so the dashboard can show a CLI badge
|
|
3661
3914
|
// even after the session is closed. Do this before installing worker handlers:
|
|
@@ -3679,6 +3932,12 @@ export function forkWorker(ds, promptInput, resumeOrTurnId = false) {
|
|
|
3679
3932
|
// Use shared handler for IPC messages and exit
|
|
3680
3933
|
setupWorkerHandlers(ds, worker, startupState, workerGeneration);
|
|
3681
3934
|
ds.worker = worker;
|
|
3935
|
+
if (shouldTrackOrdinaryImDelivery(ds, initMsg)) {
|
|
3936
|
+
sendOrdinaryImDeliveryTracked(ds, initMsg);
|
|
3937
|
+
}
|
|
3938
|
+
else {
|
|
3939
|
+
worker.send(initMsg);
|
|
3940
|
+
}
|
|
3682
3941
|
ds.spawnedAt = Date.now();
|
|
3683
3942
|
ds.cliVersion = getCurrentCliVersion(runtimeInstallationKey({
|
|
3684
3943
|
cliId: agentCfg.cliId,
|
|
@@ -3939,6 +4198,26 @@ function setupWorkerHandlers(ds, worker, startupState = { ready: false, failureN
|
|
|
3939
4198
|
sessionStore.updateSession(ds.session);
|
|
3940
4199
|
break;
|
|
3941
4200
|
}
|
|
4201
|
+
case 'turn_input_received': {
|
|
4202
|
+
if (ds.worker !== worker
|
|
4203
|
+
|| ds.workerGeneration !== workerGeneration
|
|
4204
|
+
|| ds.session.workerGeneration !== workerGeneration) {
|
|
4205
|
+
logger.warn(`[${t}] Ignored turn_input_received from stale worker generation`);
|
|
4206
|
+
break;
|
|
4207
|
+
}
|
|
4208
|
+
acknowledgeOrdinaryImDeliveryReceipt(ds, msg.turnId, workerGeneration);
|
|
4209
|
+
break;
|
|
4210
|
+
}
|
|
4211
|
+
case 'turn_input_rejected': {
|
|
4212
|
+
if (ds.worker !== worker
|
|
4213
|
+
|| ds.workerGeneration !== workerGeneration
|
|
4214
|
+
|| ds.session.workerGeneration !== workerGeneration) {
|
|
4215
|
+
logger.warn(`[${t}] Ignored turn_input_rejected from stale worker generation`);
|
|
4216
|
+
break;
|
|
4217
|
+
}
|
|
4218
|
+
rejectOrdinaryImDelivery(ds, msg.turnId, workerGeneration, msg.reason);
|
|
4219
|
+
break;
|
|
4220
|
+
}
|
|
3942
4221
|
case 'turn_input_committed': {
|
|
3943
4222
|
// Bind the receipt to the exact live worker generation. A late ACK
|
|
3944
4223
|
// from a replaced worker cannot make the replacement appear to have
|
|
@@ -3949,6 +4228,9 @@ function setupWorkerHandlers(ds, worker, startupState = { ready: false, failureN
|
|
|
3949
4228
|
logger.warn(`[${t}] Ignored turn_input_committed from stale worker generation`);
|
|
3950
4229
|
break;
|
|
3951
4230
|
}
|
|
4231
|
+
// Compatibility/fallback: a commit also proves receipt if the earlier
|
|
4232
|
+
// receipt ACK was delayed or dropped on the reverse IPC channel.
|
|
4233
|
+
completeOrdinaryImDelivery(ds, msg.turnId, workerGeneration);
|
|
3952
4234
|
if (recordDispatchInputCommit(ds.session, msg.turnId, workerGeneration)) {
|
|
3953
4235
|
sessionStore.updateSession(ds.session);
|
|
3954
4236
|
if (msg.turnId.startsWith('mlrp_turn_')) {
|
|
@@ -5344,6 +5626,7 @@ function setupWorkerHandlers(ds, worker, startupState = { ready: false, failureN
|
|
|
5344
5626
|
}
|
|
5345
5627
|
});
|
|
5346
5628
|
worker.on('exit', (code, signal) => {
|
|
5629
|
+
abandonOrdinaryImDeliveriesForWorker(worker);
|
|
5347
5630
|
const transferRetirement = transferRetiringWorkers.has(worker);
|
|
5348
5631
|
transferRetiringWorkers.delete(worker);
|
|
5349
5632
|
clearLifecycleRetirement(ds, worker);
|