cli-jaw 2.17.44 → 2.17.45
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.ja.md +5 -7
- package/README.ko.md +5 -7
- package/README.md +19 -7
- package/README.zh-CN.md +5 -7
- package/dist/bin/commands/dispatch.js +93 -18
- package/dist/bin/commands/dispatch.js.map +1 -1
- package/dist/bin/commands/doctor.js +0 -70
- package/dist/bin/commands/doctor.js.map +1 -1
- package/dist/bin/commands/provider.js +16 -28
- package/dist/bin/commands/provider.js.map +1 -1
- package/dist/bin/commands/slack.js +65 -2
- package/dist/bin/commands/slack.js.map +1 -1
- package/dist/bin/commands/tui/slash-command-runner.js +1 -1
- package/dist/bin/commands/tui/slash-command-runner.js.map +1 -1
- package/dist/bin/commands/tui/types.js +0 -4
- package/dist/bin/commands/tui/types.js.map +1 -1
- package/dist/scripts/fresh-install-smoke.js +1 -1
- package/dist/scripts/fresh-install-smoke.js.map +1 -1
- package/dist/server.js +5 -3
- package/dist/server.js.map +1 -1
- package/dist/src/agent/args.js +1 -176
- package/dist/src/agent/args.js.map +1 -1
- package/dist/src/agent/claude-runtime-pool.js +11 -7
- package/dist/src/agent/claude-runtime-pool.js.map +1 -1
- package/dist/src/agent/cli-helpers.js +1 -3
- package/dist/src/agent/cli-helpers.js.map +1 -1
- package/dist/src/agent/error-classifier.js +1 -1
- package/dist/src/agent/error-classifier.js.map +1 -1
- package/dist/src/agent/error-cooldown.js +1 -3
- package/dist/src/agent/error-cooldown.js.map +1 -1
- package/dist/src/agent/events/claude.js +4 -56
- package/dist/src/agent/events/claude.js.map +1 -1
- package/dist/src/agent/events/helpers.js +3 -5
- package/dist/src/agent/events/helpers.js.map +1 -1
- package/dist/src/agent/events/index.js +12 -18
- package/dist/src/agent/events/index.js.map +1 -1
- package/dist/src/agent/kiro-runtime.js +3 -16
- package/dist/src/agent/kiro-runtime.js.map +1 -1
- package/dist/src/agent/lifecycle-handler.js +17 -12
- package/dist/src/agent/lifecycle-handler.js.map +1 -1
- package/dist/src/agent/native-runtime-run.js +7 -2
- package/dist/src/agent/native-runtime-run.js.map +1 -1
- package/dist/src/agent/prompt-context.js +4 -5
- package/dist/src/agent/prompt-context.js.map +1 -1
- package/dist/src/agent/resume-classifier.js +0 -5
- package/dist/src/agent/resume-classifier.js.map +1 -1
- package/dist/src/agent/runtime/acp/cursor-session.js +21 -3
- package/dist/src/agent/runtime/acp/cursor-session.js.map +1 -1
- package/dist/src/agent/runtime-pool.js +127 -51
- package/dist/src/agent/runtime-pool.js.map +1 -1
- package/dist/src/agent/session-persistence.js +1 -6
- package/dist/src/agent/session-persistence.js.map +1 -1
- package/dist/src/agent/spawn/resume.js +3 -3
- package/dist/src/agent/spawn/resume.js.map +1 -1
- package/dist/src/agent/spawn.js +27 -96
- package/dist/src/agent/spawn.js.map +1 -1
- package/dist/src/cli/claude-models.js +1 -1
- package/dist/src/cli/claude-models.js.map +1 -1
- package/dist/src/cli/cli-status-worker.js +1 -8
- package/dist/src/cli/cli-status-worker.js.map +1 -1
- package/dist/src/cli/compact.js +2 -6
- package/dist/src/cli/compact.js.map +1 -1
- package/dist/src/cli/employee-handler.js +4 -0
- package/dist/src/cli/employee-handler.js.map +1 -1
- package/dist/src/cli/handlers-completions.js +1 -1
- package/dist/src/cli/handlers-completions.js.map +1 -1
- package/dist/src/cli/handlers-runtime.js +18 -8
- package/dist/src/cli/handlers-runtime.js.map +1 -1
- package/dist/src/cli/handlers.js +3 -31
- package/dist/src/cli/handlers.js.map +1 -1
- package/dist/src/cli/opencodex-models.js +0 -5
- package/dist/src/cli/opencodex-models.js.map +1 -1
- package/dist/src/cli/readiness.js +1 -20
- package/dist/src/cli/readiness.js.map +1 -1
- package/dist/src/cli/registry-live.js +1 -51
- package/dist/src/cli/registry-live.js.map +1 -1
- package/dist/src/cli/registry.js +0 -64
- package/dist/src/cli/registry.js.map +1 -1
- package/dist/src/core/chat-sessions.js +3 -2
- package/dist/src/core/chat-sessions.js.map +1 -1
- package/dist/src/core/cli-detection.js +2 -178
- package/dist/src/core/cli-detection.js.map +1 -1
- package/dist/src/core/compact.js +2 -4
- package/dist/src/core/compact.js.map +1 -1
- package/dist/src/core/config.js +5 -4
- package/dist/src/core/config.js.map +1 -1
- package/dist/src/core/runtime-settings.js +5 -20
- package/dist/src/core/runtime-settings.js.map +1 -1
- package/dist/src/core/session-ops.js +4 -6
- package/dist/src/core/session-ops.js.map +1 -1
- package/dist/src/core/windows-launch-spec.js +1 -1
- package/dist/src/http/full-access.js +42 -0
- package/dist/src/http/full-access.js.map +1 -0
- package/dist/src/manager/proxy.js +1 -0
- package/dist/src/manager/proxy.js.map +1 -1
- package/dist/src/messaging/send.js +30 -8
- package/dist/src/messaging/send.js.map +1 -1
- package/dist/src/orchestrator/dispatch-admission.js +424 -0
- package/dist/src/orchestrator/dispatch-admission.js.map +1 -0
- package/dist/src/orchestrator/distribute.js +63 -21
- package/dist/src/orchestrator/distribute.js.map +1 -1
- package/dist/src/orchestrator/gateway.js +6 -4
- package/dist/src/orchestrator/gateway.js.map +1 -1
- package/dist/src/orchestrator/worker-registry.js +8 -1
- package/dist/src/orchestrator/worker-registry.js.map +1 -1
- package/dist/src/prompt/builder.js +40 -16
- package/dist/src/prompt/builder.js.map +1 -1
- package/dist/src/prompt/templates/employee.md +4 -4
- package/dist/src/routes/messaging.js +34 -18
- package/dist/src/routes/messaging.js.map +1 -1
- package/dist/src/routes/orchestrate.js +139 -64
- package/dist/src/routes/orchestrate.js.map +1 -1
- package/dist/src/routes/settings.js +1 -30
- package/dist/src/routes/settings.js.map +1 -1
- package/dist/src/routes/slack-tools.js +6 -4
- package/dist/src/routes/slack-tools.js.map +1 -1
- package/dist/src/security/path-guards.js +15 -1
- package/dist/src/security/path-guards.js.map +1 -1
- package/dist/src/slack/search-quote.js +9 -5
- package/dist/src/slack/search-quote.js.map +1 -1
- package/dist/src/slack/send-handler.js +1 -25
- package/dist/src/slack/send-handler.js.map +1 -1
- package/dist/src/slack/slack-file.js +105 -53
- package/dist/src/slack/slack-file.js.map +1 -1
- package/dist/src/slack/tool-access.js +10 -2
- package/dist/src/slack/tool-access.js.map +1 -1
- package/dist/src/slack/tool-capabilities.js +16 -8
- package/dist/src/slack/tool-capabilities.js.map +1 -1
- package/dist/src/types/cli-engine.js +26 -3
- package/dist/src/types/cli-engine.js.map +1 -1
- package/dist/src/types/cli-events.js +1 -1
- package/dist/src/types/cli-events.js.map +1 -1
- package/dist/src/workflows/employee-boundary.js +9 -5
- package/dist/src/workflows/employee-boundary.js.map +1 -1
- package/dist/src/workflows/scope-sandbox.js +5 -2
- package/dist/src/workflows/scope-sandbox.js.map +1 -1
- package/package.json +2 -6
- package/public/dist/.vite/manifest.json +115 -115
- package/public/dist/assets/Agent-CKX93LQ8.js +1 -0
- package/public/dist/assets/Employees-BuFw6-fT.js +1 -0
- package/public/dist/assets/Heartbeat-BmkZshEU.js +1 -0
- package/public/dist/assets/Memory-DsK_yOCW.js +1 -0
- package/public/dist/assets/ModelProvider-L_hW6YWJ.js +1 -0
- package/public/dist/assets/agent-meta-CkRJlOmN.js +1 -0
- package/public/dist/assets/{app-9OQNfmqw.js → app-B_JTnXIY.js} +4 -4
- package/public/dist/assets/{bgtask-badge-BvxHqMGi.js → bgtask-badge-BLdI7Ara.js} +1 -1
- package/public/dist/assets/bgtask-badge-DOhTsE9l.js +1 -0
- package/public/dist/assets/cli-engine-NdU0lzs_.js +1 -0
- package/public/dist/assets/constants-DmRtjRj3.js +1 -0
- package/public/dist/assets/{employees-CkUqN4oh.js → employees-DGoVBWQd.js} +1 -1
- package/public/dist/assets/iframe-renderer-Dw5vTqFX.js +1 -0
- package/public/dist/assets/{iframe-renderer-C2gchtOj.js → iframe-renderer-mBjdW5ZV.js} +2 -2
- package/public/dist/assets/{manager-rb5X-4DJ.js → manager-iX7KosWI.js} +1 -1
- package/public/dist/assets/memory-DuHc2no-.js +1 -0
- package/public/dist/assets/{memory-BiWzpoBq.js → memory-Hq9y-GQB.js} +1 -1
- package/public/dist/assets/message-history-DT0VaJRd.js +1 -0
- package/public/dist/assets/{message-history-CuFefS02.js → message-history-H7G4apTo.js} +1 -1
- package/public/dist/assets/{provider-icons-Det0fC-4.js → provider-icons-Bge6teOj.js} +1 -1
- package/public/dist/assets/{render-DUGqq9Mu.js → render-OT0puqo3.js} +1 -1
- package/public/dist/assets/settings-BW8q_Rnq.js +1 -0
- package/public/dist/assets/{settings-DQ1fLygB.js → settings-DjCtFSpd.js} +3 -3
- package/public/dist/assets/{settings-BqUHavbH.js → settings-KIPNUOIV.js} +1 -1
- package/public/dist/assets/settings-core-CVO3_bn9.js +1 -0
- package/public/dist/assets/settings-core-DiStY7KC.js +2 -0
- package/public/dist/assets/{settings-embedding-BAKFrVLV.js → settings-embedding-DIqST-91.js} +1 -1
- package/public/dist/assets/{sidebar-CvGbp9x5.js → sidebar-DiS6dGEP.js} +3 -3
- package/public/dist/assets/{skills-abLMqY5_.js → skills-D_mbeyb3.js} +1 -1
- package/public/dist/assets/skills-NzM-geDj.js +1 -0
- package/public/dist/assets/slash-commands-DUk5bLQ1.js +1 -0
- package/public/dist/assets/{slash-commands-D8o9pqOS.js → slash-commands-PWDX9hXL.js} +1 -1
- package/public/dist/assets/{trace-drawer-C6RvkUAd.js → trace-drawer-DSn3xg8f.js} +1 -1
- package/public/dist/assets/{ui-Bxapl_Eu.js → ui-Dzebjyzl.js} +1 -1
- package/public/dist/assets/ui-TcZtZTFR.js +1 -0
- package/public/dist/index.html +1 -3
- package/public/dist/manager/index.html +1 -1
- package/public/dist/settings/index.html +1 -1
- package/public/index.html +0 -2
- package/public/js/constants.ts +1 -46
- package/public/js/features/employees.ts +1 -1
- package/public/js/features/retired-runtime-option.ts +2 -2
- package/public/js/features/settings-channel.ts +4 -2
- package/public/js/features/settings-cli-status-render.ts +2 -2
- package/public/js/features/settings-cli-status.ts +0 -2
- package/public/js/provider-icons.ts +1 -3
- package/public/manager/src/settings/pages/Heartbeat.tsx +2 -2
- package/public/manager/src/settings/pages/Memory.tsx +2 -2
- package/public/manager/src/settings/pages/ModelProvider.tsx +7 -4
- package/public/manager/src/settings/pages/components/agent/FlushAgentSection.tsx +2 -2
- package/public/manager/src/settings/pages/components/agent/RuntimeEmployeeRow.tsx +2 -2
- package/public/manager/src/settings/pages/components/agent/RuntimeHeader.tsx +2 -2
- package/public/manager/src/settings/pages/components/agent/agent-meta.ts +4 -35
- package/public/manager/src/settings/pages/components/employees-helpers.ts +0 -2
- package/public/manager/src/settings/pages/components/heartbeat-helpers.ts +0 -2
- package/scripts/bundle-sidecar.sh +0 -24
- package/scripts/check-electron-sidecar-no-jwc.cjs +12 -4
- package/scripts/fresh-install-smoke.ts +1 -1
- package/scripts/install.sh +0 -5
- package/scripts/retired-runtime-package-smoke.mjs +2 -12
- package/scripts/verify-fresh-install.sh +0 -14
- package/dist/src/agent/claude-e-runtime.js +0 -44
- package/dist/src/agent/claude-e-runtime.js.map +0 -1
- package/public/dist/assets/Agent-CNad_A6t.js +0 -1
- package/public/dist/assets/Employees-B6uviPeN.js +0 -1
- package/public/dist/assets/Heartbeat-C3S3d8xW.js +0 -1
- package/public/dist/assets/Memory-BgeIbQSr.js +0 -1
- package/public/dist/assets/ModelProvider-AnxBVYws.js +0 -1
- package/public/dist/assets/agent-meta-BWHASq1a.js +0 -1
- package/public/dist/assets/bgtask-badge-DeSZJGNN.js +0 -1
- package/public/dist/assets/cli-engine-Bw0QTAVX.js +0 -1
- package/public/dist/assets/constants-D8XAqfHk.js +0 -1
- package/public/dist/assets/iframe-renderer-DfvACXIn.js +0 -1
- package/public/dist/assets/memory-Ckp1Eq5a.js +0 -1
- package/public/dist/assets/message-history-Bv0l_t7O.js +0 -1
- package/public/dist/assets/settings-C81Kf9uX.js +0 -1
- package/public/dist/assets/settings-core-CzdXfoOK.js +0 -2
- package/public/dist/assets/settings-core-DO_5M7Lv.js +0 -1
- package/public/dist/assets/skills-DFpPmMUR.js +0 -1
- package/public/dist/assets/slash-commands-BU58xYih.js +0 -1
- package/public/dist/assets/ui-CUB4iwz3.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CodexAppClient, isRecoverableResumeError } from './codex-app-client.js';
|
|
2
2
|
import { resolveCodexAppLaneKey } from './args.js';
|
|
3
3
|
import { realpathSync } from 'node:fs';
|
|
4
|
-
import { createHash } from 'node:crypto';
|
|
4
|
+
import { createHash, randomBytes } from 'node:crypto';
|
|
5
5
|
import { createCursorSession } from './runtime/acp/cursor-session.js';
|
|
6
6
|
import { createGrokSession } from './runtime/acp/grok-session.js';
|
|
7
7
|
import { grokAcpArgs } from './runtime/acp/grok-options.js';
|
|
@@ -514,13 +514,14 @@ function cursorRuntime(session) {
|
|
|
514
514
|
return () => { session.child.off('exit', listener); };
|
|
515
515
|
} };
|
|
516
516
|
}
|
|
517
|
-
function makeCursorLease(store, key, entry, reused) {
|
|
517
|
+
function makeCursorLease(store, key, entry, reused, requestLifetime = false) {
|
|
518
518
|
const runtime = entry.runtime;
|
|
519
519
|
const token = Symbol('cursor-lease');
|
|
520
520
|
entry.leaseOwner = token;
|
|
521
521
|
let released = false;
|
|
522
522
|
const owns = () => store.entries.get(key) === entry && entry.leaseOwner === token;
|
|
523
523
|
return { runtime, session: runtime.session, sessionId: runtime.session.nativeSessionId, reused,
|
|
524
|
+
...(requestLifetime ? { retireOnFinish: true } : {}),
|
|
524
525
|
release() {
|
|
525
526
|
if (released)
|
|
526
527
|
return;
|
|
@@ -530,7 +531,7 @@ function makeCursorLease(store, key, entry, reused) {
|
|
|
530
531
|
delete entry.leaseOwner;
|
|
531
532
|
entry.busy = false;
|
|
532
533
|
entry.lastUsedAt = Date.now();
|
|
533
|
-
if (entry.cursorRetirement || entry.dead || !runtime.alive || !runtime.session.idle) {
|
|
534
|
+
if (requestLifetime || entry.cursorRetirement || entry.dead || !runtime.alive || !runtime.session.idle) {
|
|
534
535
|
void retireCursorEntry(store, key, entry, new Error('cursor runtime released before idle'));
|
|
535
536
|
return;
|
|
536
537
|
}
|
|
@@ -555,76 +556,143 @@ function makeCursorLease(store, key, entry, reused) {
|
|
|
555
556
|
},
|
|
556
557
|
};
|
|
557
558
|
}
|
|
559
|
+
function unknownAcpCleanup(error) {
|
|
560
|
+
return error instanceof Error && ['cursor_acp_startup_cleanup_failed', 'grok_acp_startup_cleanup_failed',
|
|
561
|
+
'acp_reap_timeout'].includes(error.message);
|
|
562
|
+
}
|
|
563
|
+
/** A factory-returned, uninstalled candidate stays owned until close or its exact exit. */
|
|
564
|
+
function closeAcpCandidate(session) {
|
|
565
|
+
return new Promise(resolve => {
|
|
566
|
+
const child = session.child;
|
|
567
|
+
let closed = false;
|
|
568
|
+
const complete = () => {
|
|
569
|
+
if (closed)
|
|
570
|
+
return;
|
|
571
|
+
closed = true;
|
|
572
|
+
child.off('exit', complete);
|
|
573
|
+
resolve();
|
|
574
|
+
};
|
|
575
|
+
const failed = () => { if (!closed)
|
|
576
|
+
console.warn('[runtime-pool] acp_creation_cleanup_unknown'); };
|
|
577
|
+
child.on('exit', complete);
|
|
578
|
+
if (child.exitCode != null || child.signalCode != null)
|
|
579
|
+
complete();
|
|
580
|
+
try {
|
|
581
|
+
session.retire(new Error('cursor runtime creation discarded'));
|
|
582
|
+
void Promise.resolve(session.close()).then(complete, failed);
|
|
583
|
+
}
|
|
584
|
+
catch {
|
|
585
|
+
failed();
|
|
586
|
+
}
|
|
587
|
+
});
|
|
588
|
+
}
|
|
558
589
|
async function createCursorEntry(store, key, creating, opts, deadline, check) {
|
|
559
590
|
const controller = new AbortController();
|
|
560
591
|
let rejectAbort;
|
|
561
592
|
const interrupted = new Promise((_resolve, reject) => { rejectAbort = reject; });
|
|
562
593
|
void interrupted.catch(() => undefined);
|
|
563
|
-
let abandoned = false,
|
|
594
|
+
let abandoned = false, candidate = null, installedLease;
|
|
595
|
+
let cleanupStarted = false, resolveCleanup;
|
|
596
|
+
creating.acpCreation = new Promise(resolve => { resolveCleanup = resolve; });
|
|
597
|
+
const complete = () => {
|
|
598
|
+
drainWaiters(creating, 'wake');
|
|
599
|
+
if (store.entries.get(key) === creating)
|
|
600
|
+
removeRetiredCursorEntry(store, key, creating);
|
|
601
|
+
delete creating.abortCreate;
|
|
602
|
+
resolveCleanup();
|
|
603
|
+
};
|
|
564
604
|
const abort = (error) => {
|
|
565
605
|
if (controller.signal.aborted)
|
|
566
606
|
return;
|
|
607
|
+
abandoned = true;
|
|
567
608
|
controller.abort(error);
|
|
568
609
|
rejectAbort(error);
|
|
569
|
-
removeEntry(store, key, creating, error);
|
|
570
610
|
};
|
|
571
611
|
creating.abortCreate = () => abort(new Error('cursor runtime creation replaced'));
|
|
572
612
|
const onAbort = () => abort(new Error('cursor runtime acquire aborted'));
|
|
573
613
|
const timer = setTimeout(() => abort(new Error('cursor runtime acquire timed out')), Math.max(1, deadline - performance.now()));
|
|
574
614
|
opts.signal?.addEventListener('abort', onAbort, { once: true });
|
|
575
|
-
const
|
|
576
|
-
|
|
577
|
-
|
|
615
|
+
const cleanup = (error) => {
|
|
616
|
+
if (cleanupStarted)
|
|
617
|
+
return;
|
|
618
|
+
cleanupStarted = true;
|
|
619
|
+
if (installedLease) {
|
|
620
|
+
const retiring = installedLease.retire(new Error('cursor runtime admission invalidated'));
|
|
621
|
+
installedLease.release();
|
|
622
|
+
// Physical ownership has transferred to the ready-entry retirement fence.
|
|
623
|
+
complete();
|
|
624
|
+
void retiring.catch(() => { });
|
|
625
|
+
}
|
|
626
|
+
else if (candidate) {
|
|
627
|
+
void closeAcpCandidate(candidate).then(complete);
|
|
628
|
+
}
|
|
629
|
+
else if (!unknownAcpCleanup(error))
|
|
630
|
+
complete();
|
|
578
631
|
};
|
|
579
|
-
const
|
|
580
|
-
if (
|
|
581
|
-
onAbort();
|
|
582
|
-
if (controller.signal.aborted)
|
|
632
|
+
const verify = () => {
|
|
633
|
+
if (abandoned || controller.signal.aborted)
|
|
583
634
|
throw new Error('cursor runtime acquire aborted');
|
|
584
635
|
check();
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
636
|
+
};
|
|
637
|
+
const creation = Promise.resolve().then(async () => {
|
|
638
|
+
try {
|
|
639
|
+
if (opts.signal?.aborted)
|
|
640
|
+
onAbort();
|
|
641
|
+
verify();
|
|
642
|
+
const session = candidate = await (opts.createSession ?? createCursorSession)({ binary: opts.binary, env: opts.env, cwd: opts.key.cwd,
|
|
643
|
+
permissions: opts.key.permissions, model: opts.key.model, effort: opts.key.effort,
|
|
644
|
+
promptTimeoutMs: opts.promptTimeoutMs, signal: controller.signal,
|
|
645
|
+
...(opts.forceNew || !opts.storedSessionId ? {} : { resumeSessionId: opts.storedSessionId }) });
|
|
646
|
+
verify();
|
|
647
|
+
if (controller.signal.aborted || store.entries.get(key) !== creating || !session.alive || !session.idle) {
|
|
648
|
+
throw new Error('cursor runtime creation superseded');
|
|
649
|
+
}
|
|
650
|
+
const runtime = cursorRuntime(session);
|
|
651
|
+
const ready = { state: 'ready', scopeKey: opts.key.scopeKey, runtime,
|
|
652
|
+
sessionId: session.nativeSessionId, busy: true, dead: false, waiters: [], lastUsedAt: Date.now(),
|
|
653
|
+
disposeExit: () => { }, nativeOwner: opts.persistenceOwner };
|
|
654
|
+
store.entries.set(key, ready);
|
|
655
|
+
installedLease = makeCursorLease(store, key, ready, false, opts.lifetime === 'request');
|
|
656
|
+
ready.disposeExit = runtime.onExit(() => {
|
|
657
|
+
if (store.entries.get(key) !== ready)
|
|
658
|
+
return;
|
|
659
|
+
ready.dead = true;
|
|
660
|
+
if (ready.cursorRetirement || !ready.busy)
|
|
661
|
+
removeRetiredCursorEntry(store, key, ready);
|
|
662
|
+
else
|
|
663
|
+
drainWaiters(ready, 'wake');
|
|
664
|
+
});
|
|
665
|
+
verify();
|
|
666
|
+
if (ready.dead || !runtime.alive || !session.idle)
|
|
667
|
+
throw new Error('cursor runtime creation superseded');
|
|
668
|
+
complete();
|
|
669
|
+
return installedLease;
|
|
670
|
+
}
|
|
671
|
+
catch (error) {
|
|
672
|
+
abort(error instanceof Error ? error : new Error('cursor runtime creation failed'));
|
|
673
|
+
cleanup(error);
|
|
674
|
+
throw error;
|
|
675
|
+
}
|
|
676
|
+
});
|
|
591
677
|
try {
|
|
592
|
-
const
|
|
593
|
-
|
|
594
|
-
if (
|
|
678
|
+
const lease = await Promise.race([creation, interrupted]);
|
|
679
|
+
verify();
|
|
680
|
+
if (!lease.runtime.alive)
|
|
595
681
|
throw new Error('cursor runtime creation superseded');
|
|
596
|
-
|
|
597
|
-
const runtime = cursorRuntime(session);
|
|
598
|
-
let ready;
|
|
599
|
-
const disposeExit = runtime.onExit(() => {
|
|
600
|
-
if (store.entries.get(key) !== ready)
|
|
601
|
-
return;
|
|
602
|
-
ready.dead = true;
|
|
603
|
-
if (ready.cursorRetirement || !ready.busy)
|
|
604
|
-
removeRetiredCursorEntry(store, key, ready);
|
|
605
|
-
else
|
|
606
|
-
drainWaiters(ready, 'wake');
|
|
607
|
-
});
|
|
608
|
-
ready = { state: 'ready', scopeKey: opts.key.scopeKey, runtime, sessionId: session.nativeSessionId,
|
|
609
|
-
busy: true, dead: false, waiters: [], lastUsedAt: Date.now(), disposeExit,
|
|
610
|
-
nativeOwner: { ...opts.persistenceOwner } };
|
|
611
|
-
store.entries.set(key, ready);
|
|
612
|
-
installed = true;
|
|
613
|
-
drainWaiters(creating, 'wake');
|
|
614
|
-
return makeCursorLease(store, key, ready, false);
|
|
682
|
+
return lease;
|
|
615
683
|
}
|
|
616
684
|
catch (error) {
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
if (
|
|
620
|
-
|
|
621
|
-
removeEntry(store, key, creating, error instanceof Error ? error : new Error('cursor runtime creation failed'));
|
|
685
|
+
abort(error instanceof Error ? error : new Error('cursor runtime creation failed'));
|
|
686
|
+
// A still-pending factory retains its sentinel; only the operation can classify its result.
|
|
687
|
+
if (installedLease)
|
|
688
|
+
cleanup(error);
|
|
622
689
|
throw error;
|
|
623
690
|
}
|
|
624
691
|
finally {
|
|
625
692
|
clearTimeout(timer);
|
|
626
693
|
opts.signal?.removeEventListener('abort', onAbort);
|
|
627
|
-
|
|
694
|
+
if (store.entries.get(key) !== creating)
|
|
695
|
+
delete creating.abortCreate;
|
|
628
696
|
}
|
|
629
697
|
}
|
|
630
698
|
export async function acquireCursorRuntime(input) {
|
|
@@ -639,6 +707,11 @@ export async function acquireGrokRuntime(input) {
|
|
|
639
707
|
return acquireAcpRuntime(opts, 'grok', authFingerprint);
|
|
640
708
|
}
|
|
641
709
|
async function acquireAcpRuntime(input, engine, authFingerprint) {
|
|
710
|
+
input = { ...input, key: { ...input.key }, env: { ...input.env },
|
|
711
|
+
persistenceOwner: Object.freeze({ ...input.persistenceOwner }) };
|
|
712
|
+
if (input.lifetime !== undefined && input.lifetime !== 'pooled' && input.lifetime !== 'request') {
|
|
713
|
+
throw new Error('cursor runtime invalid lifetime');
|
|
714
|
+
}
|
|
642
715
|
if (typeof input.canAcquire !== 'function')
|
|
643
716
|
throw new Error('cursor runtime caller admission required');
|
|
644
717
|
const waitMs = input.waitMs ?? DEFAULT_POOL_WAIT_MS;
|
|
@@ -657,7 +730,8 @@ async function acquireAcpRuntime(input, engine, authFingerprint) {
|
|
|
657
730
|
throw new Error('cursor runtime invalid ownership');
|
|
658
731
|
}
|
|
659
732
|
const deadline = performance.now() + waitMs;
|
|
660
|
-
const owner =
|
|
733
|
+
const owner = input.persistenceOwner;
|
|
734
|
+
const permissions = normalizeNativePermissions(input.key.permissions);
|
|
661
735
|
const isCurrentOwner = input.isCurrentOwner, canAcquire = input.canAcquire, signal = input.signal;
|
|
662
736
|
const check = () => {
|
|
663
737
|
let current = false;
|
|
@@ -672,13 +746,14 @@ async function acquireAcpRuntime(input, engine, authFingerprint) {
|
|
|
672
746
|
};
|
|
673
747
|
check();
|
|
674
748
|
const opts = { ...input, persistenceOwner: owner,
|
|
675
|
-
key: { ...input.key, cwd: realpathSync(input.key.cwd), permissions
|
|
749
|
+
key: { ...input.key, cwd: realpathSync(input.key.cwd), permissions } };
|
|
676
750
|
check();
|
|
677
751
|
startPoolReaper();
|
|
678
752
|
const store = storeFor(engine);
|
|
679
753
|
const key = JSON.stringify([engine, opts.key.scopeKey, opts.key.cwd, opts.binary,
|
|
680
754
|
opts.key.model, opts.key.effort, opts.key.permissions, 'native',
|
|
681
|
-
...(engine === 'grok' ? [authFingerprint] : [])
|
|
755
|
+
...(engine === 'grok' ? [authFingerprint] : []),
|
|
756
|
+
...(opts.lifetime === 'request' ? ['request', randomBytes(32).toString('hex')] : [])]);
|
|
682
757
|
// forceNew invalidates the captured entries only, never a borrower admitted after an await.
|
|
683
758
|
const forced = new Set(opts.forceNew
|
|
684
759
|
? [...(store.scopeIndex.get(opts.key.scopeKey) ?? [])].map(k => store.entries.get(k)) : []);
|
|
@@ -694,9 +769,10 @@ async function acquireAcpRuntime(input, engine, authFingerprint) {
|
|
|
694
769
|
|| candidate.nativeOwner?.scope !== owner.scope;
|
|
695
770
|
if (candidate.state === 'creating') {
|
|
696
771
|
if (invalidated)
|
|
697
|
-
|
|
698
|
-
|
|
772
|
+
candidate.abortCreate?.();
|
|
773
|
+
if (store.entries.get(scopeKey) === candidate) {
|
|
699
774
|
await waitForEntry(candidate, Math.max(1, deadline - performance.now()), signal);
|
|
775
|
+
}
|
|
700
776
|
}
|
|
701
777
|
else if (candidate.cursorRetirement) {
|
|
702
778
|
await waitForEntry(candidate, Math.max(1, deadline - performance.now()), signal);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-pool.js","sourceRoot":"","sources":["../../../src/agent/runtime-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runtime-pool.js","sourceRoot":"","sources":["../../../src/agent/runtime-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,16 +42,11 @@ export function shouldPersistMainSession(input) {
|
|
|
42
42
|
return false;
|
|
43
43
|
if (input.forceNew || input.employeeSessionId || !input.sessionId || input.isFallback)
|
|
44
44
|
return false;
|
|
45
|
-
if (input.cli === 'ai-e' && input.provider !== 'claude' && input.provider !== 'kiro' && input.provider !== 'codex' && input.provider !== 'grok')
|
|
46
|
-
return false;
|
|
47
45
|
// User-initiated kill (SIGTERM/SIGKILL) yields exit codes like 143/137/1 depending on
|
|
48
46
|
// the CLI's signal handler. Allow persistence when wasKilled=true so resume works for
|
|
49
47
|
// CLIs (claude, copilot) that don't translate SIGTERM to exit 0.
|
|
50
|
-
// claude-e and ai-e's Claude PTY provider use exit code 2 for graceful SIGINT interrupt.
|
|
51
|
-
const isGracefulInterrupt = input.code === 2
|
|
52
|
-
&& (input.cli === 'claude-e' || (input.cli === 'ai-e' && (input.provider === 'claude' || input.provider === 'codex' || input.provider === 'grok')));
|
|
53
48
|
if (input.code !== undefined && input.code !== null && input.code !== 0
|
|
54
|
-
&& !input.wasKilled
|
|
49
|
+
&& !input.wasKilled)
|
|
55
50
|
return false;
|
|
56
51
|
return isCurrentSessionOwner(input.persistenceOwner, input.scopeKey);
|
|
57
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-persistence.js","sourceRoot":"","sources":["../../../src/agent/session-persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA4B5G,IAAI,gBAAgB,GAAG,CAAC,CAAC;AACzB,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;AAEnD,MAAM,UAAU,6BAA6B,CAAC,QAAgB;IAC1D,OAAO;QACH,MAAM,EAAE,gBAAgB;QACxB,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;KAC7C,CAAC;AACN,CAAC;AAED,MAAM,UAAU,8BAA8B;IAC1C,gBAAgB,IAAI,CAAC,CAAC;IACtB,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAAgB;IACvD,MAAM,cAAc,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACjE,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;IAC/C,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,uFAAuF;AACvF,qFAAqF;AACrF,sFAAsF;AACtF,qFAAqF;AACrF,mDAAmD;AACnD,MAAM,UAAU,kCAAkC;IAC9C,MAAM,KAAK,GAAG,mBAAmB,EAAE,EAAE,KAAK,CAAC;IAC3C,OAAO,KAAK,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,8BAA8B,EAAE,CAAC;AACxF,CAAC;AAED,MAAM,UAAU,sCAAsC;IAClD,gBAAgB,GAAG,CAAC,CAAC;IACrB,gBAAgB,CAAC,KAAK,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAwB,EAAE,QAAgB;IAC5E,OAAO,KAAK,CAAC,MAAM,KAAK,gBAAgB;WACjC,KAAK,CAAC,KAAK,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,KAA8B;IACnE,IAAI,KAAK,CAAC,kBAAkB;QAAE,OAAO,KAAK,CAAC;IAC3C,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IACpG,
|
|
1
|
+
{"version":3,"file":"session-persistence.js","sourceRoot":"","sources":["../../../src/agent/session-persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ export function shouldEmitHeartbeat(lastVisibleTs, heartbeatSent, gateMs = DEFAU
|
|
|
10
10
|
return false;
|
|
11
11
|
return (now - lastVisibleTs) > gateMs;
|
|
12
12
|
}
|
|
13
|
-
export function shouldResumeBucketSession(cli, requestedModel, bucketModel, requestedResumeKey, bucketResumeKey, bucketUpdatedAt, nowMs = Date.now(),
|
|
13
|
+
export function shouldResumeBucketSession(cli, requestedModel, bucketModel, requestedResumeKey, bucketResumeKey, bucketUpdatedAt, nowMs = Date.now(), _effectiveProvider) {
|
|
14
14
|
if (cli === 'copilot' && bucketModel) {
|
|
15
15
|
return normalizeModelForCli(cli, requestedModel) === normalizeModelForCli(cli, bucketModel);
|
|
16
16
|
}
|
|
@@ -19,7 +19,7 @@ export function shouldResumeBucketSession(cli, requestedModel, bucketModel, requ
|
|
|
19
19
|
return false;
|
|
20
20
|
return normalizeModelForCli(cli, requestedModel) === normalizeModelForCli(cli, bucketModel);
|
|
21
21
|
}
|
|
22
|
-
if (cli === 'kiro-code'
|
|
22
|
+
if (cli === 'kiro-code') {
|
|
23
23
|
if (!bucketModel)
|
|
24
24
|
return false;
|
|
25
25
|
return normalizeModelForCli('kiro-code', requestedModel) === normalizeModelForCli('kiro-code', bucketModel);
|
|
@@ -84,7 +84,7 @@ export function shouldClearHighTurnSessionBucket(cli, turns) {
|
|
|
84
84
|
}
|
|
85
85
|
/** AGY owns compaction for its native conversation and does not need refresh-by-turn. */
|
|
86
86
|
export function shouldUseTurnCountRefresh(cli) {
|
|
87
|
-
return cli !== 'claude' && cli !== '
|
|
87
|
+
return cli !== 'claude' && cli !== 'agy';
|
|
88
88
|
}
|
|
89
89
|
function parseBucketUpdatedAt(value) {
|
|
90
90
|
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/agent/spawn/resume.ts"],"names":[],"mappings":"AAAA,sFAAsF;AAEtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,wDAAwD;AACxD,kDAAkD;AAClD,iEAAiE;AACjE,yDAAyD;AACzD,MAAM,yBAAyB,GAAG,MAAM,CAAC;AAEzC,MAAM,UAAU,mBAAmB,CAC/B,aAAqB,EACrB,aAAsB,EACtB,SAAiB,yBAAyB,EAC1C,MAAc,IAAI,CAAC,GAAG,EAAE;IAExB,IAAI,aAAa;QAAE,OAAO,KAAK,CAAC;IAChC,OAAO,CAAC,GAAG,GAAG,aAAa,CAAC,GAAG,MAAM,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,yBAAyB,CACrC,GAAW,EACX,cAAsB,EACtB,WAAsC,EACtC,kBAAkC,EAClC,eAA+B,EAC/B,eAAwC,EACxC,QAAgB,IAAI,CAAC,GAAG,EAAE,EAC1B,
|
|
1
|
+
{"version":3,"file":"resume.js","sourceRoot":"","sources":["../../../../src/agent/spawn/resume.ts"],"names":[],"mappings":"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"}
|