@namzu/cli 32.0.0 → 33.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/dist/browser/commands.js +11 -7
- package/dist/browser/commands.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +21 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/archive.d.ts +4 -0
- package/dist/commands/archive.d.ts.map +1 -0
- package/dist/commands/archive.js +62 -0
- package/dist/commands/archive.js.map +1 -0
- package/dist/commands/login.d.ts +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +33 -11
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/mcp-oauth-login.d.ts +19 -0
- package/dist/commands/mcp-oauth-login.d.ts.map +1 -0
- package/dist/commands/mcp-oauth-login.js +213 -0
- package/dist/commands/mcp-oauth-login.js.map +1 -0
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +288 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +60 -5
- package/dist/commands/skills.js.map +1 -1
- package/dist/commands/types.d.ts +2 -0
- package/dist/commands/types.d.ts.map +1 -1
- package/dist/commands/worktree.d.ts +6 -0
- package/dist/commands/worktree.d.ts.map +1 -0
- package/dist/commands/worktree.js +85 -0
- package/dist/commands/worktree.js.map +1 -0
- package/dist/config/user-config.d.ts +2 -0
- package/dist/config/user-config.d.ts.map +1 -1
- package/dist/config/user-config.js +76 -6
- package/dist/config/user-config.js.map +1 -1
- package/dist/doctor/checks/credentials.d.ts.map +1 -1
- package/dist/doctor/checks/credentials.js +2 -0
- package/dist/doctor/checks/credentials.js.map +1 -1
- package/dist/integrations/mcp/oauth-store.d.ts +40 -0
- package/dist/integrations/mcp/oauth-store.d.ts.map +1 -0
- package/dist/integrations/mcp/oauth-store.js +549 -0
- package/dist/integrations/mcp/oauth-store.js.map +1 -0
- package/dist/integrations/mcp/servers.d.ts.map +1 -1
- package/dist/integrations/mcp/servers.js +155 -2
- package/dist/integrations/mcp/servers.js.map +1 -1
- package/dist/integrations/mcp/user-config.d.ts +25 -0
- package/dist/integrations/mcp/user-config.d.ts.map +1 -0
- package/dist/integrations/mcp/user-config.js +92 -0
- package/dist/integrations/mcp/user-config.js.map +1 -0
- package/dist/integrations/providers/credential-store.d.ts +8 -0
- package/dist/integrations/providers/credential-store.d.ts.map +1 -1
- package/dist/integrations/providers/credential-store.js +111 -22
- package/dist/integrations/providers/credential-store.js.map +1 -1
- package/dist/integrations/providers/discover.d.ts +11 -5
- package/dist/integrations/providers/discover.d.ts.map +1 -1
- package/dist/integrations/providers/discover.js +26 -12
- package/dist/integrations/providers/discover.js.map +1 -1
- package/dist/integrations/providers/index.d.ts +1 -1
- package/dist/integrations/providers/index.d.ts.map +1 -1
- package/dist/integrations/providers/index.js +1 -1
- package/dist/integrations/providers/index.js.map +1 -1
- package/dist/integrations/sessions/store.d.ts +23 -5
- package/dist/integrations/sessions/store.d.ts.map +1 -1
- package/dist/integrations/sessions/store.js +164 -24
- package/dist/integrations/sessions/store.js.map +1 -1
- package/dist/integrations/subagents/runtime.d.ts +4 -2
- package/dist/integrations/subagents/runtime.d.ts.map +1 -1
- package/dist/integrations/subagents/runtime.js +62 -8
- package/dist/integrations/subagents/runtime.js.map +1 -1
- package/dist/integrations/subagents/worktree-driver.d.ts +17 -0
- package/dist/integrations/subagents/worktree-driver.d.ts.map +1 -0
- package/dist/integrations/subagents/worktree-driver.js +72 -0
- package/dist/integrations/subagents/worktree-driver.js.map +1 -0
- package/dist/integrations/worktrees/managed.d.ts +49 -0
- package/dist/integrations/worktrees/managed.d.ts.map +1 -0
- package/dist/integrations/worktrees/managed.js +231 -0
- package/dist/integrations/worktrees/managed.js.map +1 -0
- package/dist/schedule/fire/fire.d.ts.map +1 -1
- package/dist/schedule/fire/fire.js +5 -0
- package/dist/schedule/fire/fire.js.map +1 -1
- package/dist/skills/audit.d.ts +31 -0
- package/dist/skills/audit.d.ts.map +1 -0
- package/dist/skills/audit.js +75 -0
- package/dist/skills/audit.js.map +1 -0
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +245 -46
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/Picker.d.ts.map +1 -1
- package/dist/tui/Picker.js +18 -3
- package/dist/tui/Picker.js.map +1 -1
- package/dist/tui/ResumePicker.d.ts +2 -1
- package/dist/tui/ResumePicker.d.ts.map +1 -1
- package/dist/tui/ResumePicker.js +3 -3
- package/dist/tui/ResumePicker.js.map +1 -1
- package/dist/tui/agent.d.ts.map +1 -1
- package/dist/tui/agent.js +14 -5
- package/dist/tui/agent.js.map +1 -1
- package/dist/tui/browser-notices.d.ts.map +1 -1
- package/dist/tui/browser-notices.js +6 -1
- package/dist/tui/browser-notices.js.map +1 -1
- package/dist/tui/credential-entry.d.ts +4 -29
- package/dist/tui/credential-entry.d.ts.map +1 -1
- package/dist/tui/credential-entry.js +7 -29
- package/dist/tui/credential-entry.js.map +1 -1
- package/dist/tui/login-prompt.d.ts +3 -1
- package/dist/tui/login-prompt.d.ts.map +1 -1
- package/dist/tui/login-prompt.js +11 -0
- package/dist/tui/login-prompt.js.map +1 -1
- package/dist/tui/provider-list.d.ts.map +1 -1
- package/dist/tui/provider-list.js +3 -1
- package/dist/tui/provider-list.js.map +1 -1
- package/dist/tui/slashCommands.d.ts +10 -1
- package/dist/tui/slashCommands.d.ts.map +1 -1
- package/dist/tui/slashCommands.js +16 -3
- package/dist/tui/slashCommands.js.map +1 -1
- package/dist/tui/turn-interruption.d.ts.map +1 -1
- package/dist/tui/turn-interruption.js +4 -0
- package/dist/tui/turn-interruption.js.map +1 -1
- package/package.json +6 -5
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
*/
|
|
20
20
|
import { createHash, randomUUID } from 'node:crypto';
|
|
21
21
|
import { mkdirSync } from 'node:fs';
|
|
22
|
-
import { realpath } from 'node:fs/promises';
|
|
22
|
+
import { readdir, realpath } from 'node:fs/promises';
|
|
23
23
|
import { basename, resolve } from 'node:path';
|
|
24
24
|
import { join } from 'node:path';
|
|
25
25
|
import { isDeepStrictEqual } from 'node:util';
|
|
@@ -353,16 +353,72 @@ export async function requireWritableConversation(s, sessionId, op = 'continue c
|
|
|
353
353
|
}
|
|
354
354
|
}
|
|
355
355
|
/**
|
|
356
|
-
*
|
|
357
|
-
*
|
|
358
|
-
*
|
|
356
|
+
* Change the archive flag while holding the session's writer lease. The
|
|
357
|
+
* earlier scope check prevents a missing log from being created by a lease
|
|
358
|
+
* claim; the second check is the authoritative one after competing writers
|
|
359
|
+
* have settled. An open turn, including one parked for a human, is not a
|
|
360
|
+
* stable boundary to archive. Older versions could archive such a turn; a
|
|
361
|
+
* restore must be allowed so the owner can resume or abandon it explicitly.
|
|
359
362
|
*/
|
|
360
|
-
|
|
361
|
-
const
|
|
362
|
-
|
|
363
|
-
|
|
363
|
+
async function setConversationArchived(s, sessionId, archived) {
|
|
364
|
+
const op = archived ? 'archive conversation' : 'restore conversation';
|
|
365
|
+
await requireConversationInScope(s, sessionId, op);
|
|
366
|
+
const log = openConversationLog(s, sessionId);
|
|
367
|
+
const lease = await claimLease(log, op);
|
|
368
|
+
let changed = false;
|
|
369
|
+
try {
|
|
370
|
+
const facts = await requireConversationInScope(s, sessionId, op);
|
|
371
|
+
if (facts.archived === archived) {
|
|
372
|
+
throw new Error(`Conversation ${sessionId} is already ${archived ? 'archived' : 'active'}.`);
|
|
373
|
+
}
|
|
374
|
+
if (archived && facts.activeTurn) {
|
|
375
|
+
throw new Error(`Conversation ${sessionId} has an open turn — ${op} rejected. Resume or abandon that turn first.`);
|
|
376
|
+
}
|
|
377
|
+
await log.append(lease, { type: 'session_updated', archived });
|
|
378
|
+
changed = true;
|
|
379
|
+
}
|
|
380
|
+
finally {
|
|
381
|
+
await log.release(lease);
|
|
364
382
|
}
|
|
365
|
-
|
|
383
|
+
if (changed) {
|
|
384
|
+
try {
|
|
385
|
+
await refreshIndex(s, sessionId);
|
|
386
|
+
}
|
|
387
|
+
catch (refreshCause) {
|
|
388
|
+
// The append is already durable. A full sync can repair a failed
|
|
389
|
+
// incremental refresh without telling the operator the transition did
|
|
390
|
+
// not happen. If even that fails, name the actual durable state.
|
|
391
|
+
try {
|
|
392
|
+
await s.index.sync(s.root);
|
|
393
|
+
}
|
|
394
|
+
catch (syncCause) {
|
|
395
|
+
throw new ConversationIndexRefreshError(sessionId, archived, refreshCause, syncCause);
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
/** The log changed durably, but the rebuildable listing index could not catch up. */
|
|
401
|
+
export class ConversationIndexRefreshError extends Error {
|
|
402
|
+
sessionId;
|
|
403
|
+
archived;
|
|
404
|
+
refreshCause;
|
|
405
|
+
syncCause;
|
|
406
|
+
constructor(sessionId, archived, refreshCause, syncCause) {
|
|
407
|
+
super(`Conversation ${sessionId} was ${archived ? 'archived' : 'restored'} in its durable log, but the list index could not refresh. Restart Namzu to rebuild the list, then inspect its state.`);
|
|
408
|
+
this.sessionId = sessionId;
|
|
409
|
+
this.archived = archived;
|
|
410
|
+
this.refreshCause = refreshCause;
|
|
411
|
+
this.syncCause = syncCause;
|
|
412
|
+
this.name = 'ConversationIndexRefreshError';
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
/** Make a settled conversation read-only while preserving its log. */
|
|
416
|
+
export async function archiveConversation(s, sessionId) {
|
|
417
|
+
await setConversationArchived(s, sessionId, true);
|
|
418
|
+
}
|
|
419
|
+
/** Restore one archived conversation so the ordinary resume gate admits it. */
|
|
420
|
+
export async function unarchiveConversation(s, sessionId) {
|
|
421
|
+
await setConversationArchived(s, sessionId, false);
|
|
366
422
|
}
|
|
367
423
|
/** Load a conversation's folded message history. */
|
|
368
424
|
export async function loadConversation(s, sessionId) {
|
|
@@ -387,16 +443,75 @@ export async function activeConversationTurn(s, sessionId) {
|
|
|
387
443
|
}
|
|
388
444
|
/** Recent non-empty conversations, newest first — for the `/resume` list. */
|
|
389
445
|
export async function listRecent(s, limit = 20) {
|
|
390
|
-
|
|
446
|
+
return listConversations(s, false, limit);
|
|
447
|
+
}
|
|
448
|
+
/** Archived root conversations in this project, newest first. Empty ones remain discoverable. */
|
|
449
|
+
export async function listArchived(s, limit = 100, offset = 0) {
|
|
450
|
+
await refreshProjectArchiveIndex(s);
|
|
451
|
+
return listConversations(s, true, limit, offset);
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* The scan backend is a per-process snapshot. Another CLI process may have
|
|
455
|
+
* archived a conversation after this handle opened; querying its old rows
|
|
456
|
+
* alone would claim there are no archives. Refresh only root logs in the
|
|
457
|
+
* selected project, and coalesce overlapping picker/list requests against
|
|
458
|
+
* this index. Unchanged logs cost a head check, not another full fold.
|
|
459
|
+
*/
|
|
460
|
+
const archiveListingRefreshes = new WeakMap();
|
|
461
|
+
async function refreshProjectArchiveIndex(s) {
|
|
462
|
+
if (s.index.backend !== 'scan')
|
|
463
|
+
return;
|
|
464
|
+
let pending = archiveListingRefreshes.get(s.index);
|
|
465
|
+
if (!pending) {
|
|
466
|
+
pending = (async () => {
|
|
467
|
+
const entries = await readdir(s.paths.projectDir(), { withFileTypes: true });
|
|
468
|
+
for (const entry of entries) {
|
|
469
|
+
if (!entry.isFile() || !entry.name.endsWith('.jsonl'))
|
|
470
|
+
continue;
|
|
471
|
+
const rawId = entry.name.slice(0, -'.jsonl'.length);
|
|
472
|
+
if (!isEntityId(rawId, 'session'))
|
|
473
|
+
continue;
|
|
474
|
+
const sessionId = asSessionId(rawId);
|
|
475
|
+
await s.index.refresh({
|
|
476
|
+
slug: s.slug,
|
|
477
|
+
logPath: conversationLogPath(s, sessionId),
|
|
478
|
+
sessionId,
|
|
479
|
+
});
|
|
480
|
+
}
|
|
481
|
+
})().finally(() => {
|
|
482
|
+
archiveListingRefreshes.delete(s.index);
|
|
483
|
+
});
|
|
484
|
+
archiveListingRefreshes.set(s.index, pending);
|
|
485
|
+
}
|
|
486
|
+
await pending;
|
|
487
|
+
}
|
|
488
|
+
async function listConversations(s, archived, limit, offset = 0) {
|
|
489
|
+
const boundedLimit = Number.isFinite(limit) ? Math.max(0, Math.min(Math.floor(limit), 100)) : 100;
|
|
490
|
+
const boundedOffset = Number.isSafeInteger(offset) && offset > 0 ? offset : 0;
|
|
491
|
+
if (boundedLimit === 0)
|
|
492
|
+
return [];
|
|
493
|
+
// The index is rebuilt from logs on open and refreshed on every transition.
|
|
494
|
+
// Filter there before reading a full log: an installation with thousands of
|
|
495
|
+
// archived conversations must not fold them all to draw /resume. Recheck
|
|
496
|
+
// each candidate's actual log and owner before exposing it.
|
|
497
|
+
const rows = (await s.index.listSessions({
|
|
498
|
+
slug: s.slug,
|
|
499
|
+
rootsOnly: true,
|
|
500
|
+
includeArchived: archived,
|
|
501
|
+
}))
|
|
502
|
+
.filter((row) => row.projectId === s.projectId && row.archived === archived)
|
|
503
|
+
.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt))
|
|
504
|
+
.slice(boundedOffset, boundedOffset + Math.max(100, boundedLimit * 5));
|
|
391
505
|
const out = [];
|
|
392
506
|
for (const row of rows) {
|
|
393
|
-
if (row.projectId !== s.projectId || row.archived)
|
|
394
|
-
continue;
|
|
395
507
|
let facts;
|
|
396
508
|
let messages;
|
|
397
509
|
try {
|
|
398
510
|
facts = await readConversationFacts(s, row.id, 'tolerant');
|
|
399
|
-
if (!facts ||
|
|
511
|
+
if (!facts ||
|
|
512
|
+
facts.archived !== archived ||
|
|
513
|
+
facts.started.projectId !== s.projectId ||
|
|
514
|
+
(facts.started.tenantId !== undefined && facts.started.tenantId !== s.tenantId))
|
|
400
515
|
continue;
|
|
401
516
|
messages = await foldConversation(s, row.id, facts.records);
|
|
402
517
|
}
|
|
@@ -404,7 +519,7 @@ export async function listRecent(s, limit = 20) {
|
|
|
404
519
|
// A log this process cannot read is not a row a person can resume.
|
|
405
520
|
continue;
|
|
406
521
|
}
|
|
407
|
-
if (messages.length === 0)
|
|
522
|
+
if (!archived && messages.length === 0)
|
|
408
523
|
continue;
|
|
409
524
|
const everything = recordedMessages(facts.records);
|
|
410
525
|
out.push({
|
|
@@ -424,8 +539,10 @@ export async function listRecent(s, limit = 20) {
|
|
|
424
539
|
updatedAt: facts.updatedAt,
|
|
425
540
|
count: messages.length,
|
|
426
541
|
});
|
|
542
|
+
if (out.length >= boundedLimit)
|
|
543
|
+
break;
|
|
427
544
|
}
|
|
428
|
-
return out.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt))
|
|
545
|
+
return out.sort((a, b) => b.updatedAt.localeCompare(a.updatedAt));
|
|
429
546
|
}
|
|
430
547
|
/** The name a person gave this conversation, or `undefined`. */
|
|
431
548
|
export async function titleOf(s, sessionId) {
|
|
@@ -491,7 +608,30 @@ export async function forkConversation(s, sourceId) {
|
|
|
491
608
|
// that shows up in `/resume` forever and answers no question.
|
|
492
609
|
throw new Error('There is nothing to fork yet — this conversation has no messages.');
|
|
493
610
|
}
|
|
494
|
-
const { id, title } = await writeFork(s, sourceId, messages, messages);
|
|
611
|
+
const { id, title } = await writeFork(s, s, sourceId, messages, messages);
|
|
612
|
+
return { id, title, copied: messages.length };
|
|
613
|
+
}
|
|
614
|
+
/**
|
|
615
|
+
* Copy a settled conversation into another checkout's Project under the same
|
|
616
|
+
* Namzu installation. A managed worktree is a distinct Project, so a normal
|
|
617
|
+
* same-Project fork cannot be resumed there.
|
|
618
|
+
*/
|
|
619
|
+
export async function forkConversationInto(source, target, sourceId) {
|
|
620
|
+
if (source.root !== target.root || source.tenantId !== target.tenantId) {
|
|
621
|
+
throw new Error('A conversation can only be forked within the same Namzu installation.');
|
|
622
|
+
}
|
|
623
|
+
const facts = await requireConversationInScope(source, sourceId, 'fork conversation to worktree');
|
|
624
|
+
if (facts.archived) {
|
|
625
|
+
throw new Error(`Conversation ${sourceId} is archived and cannot be forked.`);
|
|
626
|
+
}
|
|
627
|
+
if (facts.activeTurn) {
|
|
628
|
+
throw new Error('Wait for the current turn to finish before forking to a worktree.');
|
|
629
|
+
}
|
|
630
|
+
const messages = await loadConversation(source, sourceId);
|
|
631
|
+
if (messages.length === 0) {
|
|
632
|
+
throw new Error('There is nothing to fork yet — this conversation has no messages.');
|
|
633
|
+
}
|
|
634
|
+
const { id, title } = await writeFork(source, target, sourceId, messages, messages);
|
|
495
635
|
return { id, title, copied: messages.length };
|
|
496
636
|
}
|
|
497
637
|
/**
|
|
@@ -545,23 +685,23 @@ export async function forkConversationBeforeUser(s, sourceId, userOrdinal, expec
|
|
|
545
685
|
throw new Error('The conversation changed after the prompt was selected. Nothing was forked; open the editor again from the current history.');
|
|
546
686
|
}
|
|
547
687
|
const prefix = messages.slice(0, messageIndex);
|
|
548
|
-
const { id, title } = await writeFork(s, sourceId, messages, prefix);
|
|
688
|
+
const { id, title } = await writeFork(s, s, sourceId, messages, prefix);
|
|
549
689
|
return { id, title, messages: prefix, selected };
|
|
550
690
|
}
|
|
551
691
|
/** Create, seed and name one fork after every boundary decision has been validated. */
|
|
552
|
-
async function writeFork(
|
|
553
|
-
const sourceFacts = await readConversationFacts(
|
|
692
|
+
async function writeFork(sourceStore, targetStore, sourceId, sourceMessages, copiedMessages) {
|
|
693
|
+
const sourceFacts = await readConversationFacts(sourceStore, sourceId, 'tolerant');
|
|
554
694
|
const source = sourceFacts?.title !== undefined && sourceFacts.title.length > 0
|
|
555
695
|
? sourceFacts.title
|
|
556
696
|
: conversationTitle(sourceFacts ? recordedMessages(sourceFacts.records) : sourceMessages);
|
|
557
|
-
const id = await startConversation(
|
|
558
|
-
await seedConversationHistory(
|
|
559
|
-
const copiedBack = await loadConversation(
|
|
697
|
+
const id = await startConversation(targetStore);
|
|
698
|
+
await seedConversationHistory(targetStore, id, copiedMessages);
|
|
699
|
+
const copiedBack = await loadConversation(targetStore, id);
|
|
560
700
|
if (!sameMessageSequence(copiedBack, copiedMessages)) {
|
|
561
701
|
throw new Error(`The forked conversation did not preserve its exact copied history (${id}).`);
|
|
562
702
|
}
|
|
563
|
-
const title = nextForkName(await takenTitles(
|
|
564
|
-
await setTitle(
|
|
703
|
+
const title = nextForkName(await takenTitles(targetStore), source);
|
|
704
|
+
await setTitle(targetStore, id, title);
|
|
565
705
|
return { id, title };
|
|
566
706
|
}
|
|
567
707
|
/** Every title in use among this project's conversations, keyed by session id. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/integrations/sessions/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/integrations/sessions/store.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,8 @@ export interface SubagentRuntimeOptions {
|
|
|
53
53
|
/** Resolve the actual invoking turn; reject calls whose parent no longer exists. */
|
|
54
54
|
readonly resolveParent: (turnId: TurnId) => Promise<SubagentParent>;
|
|
55
55
|
readonly cwd: string;
|
|
56
|
+
/** CLI state root used for retained worktrees, including ephemeral turns. */
|
|
57
|
+
readonly worktreeStateRoot?: string;
|
|
56
58
|
/**
|
|
57
59
|
* The saved agents of one parent conversation, read back from the session
|
|
58
60
|
* index and the child logs (`createSavedAgentHistory`). Absent: the
|
|
@@ -128,7 +130,7 @@ export interface SubagentRuntimeOptions {
|
|
|
128
130
|
/** The parent's `QueryParams.sandboxEscape`. */
|
|
129
131
|
readonly sandboxEscape?: 'refuse' | 'review';
|
|
130
132
|
/** A fresh drain cursor over the session's shared project-policy state. */
|
|
131
|
-
readonly projectInstructionContext?: () => ProjectInstructionContext;
|
|
133
|
+
readonly projectInstructionContext?: (cwd: string) => ProjectInstructionContext;
|
|
132
134
|
/**
|
|
133
135
|
* Produces the "where and when" block for a child, at the moment the child
|
|
134
136
|
* is built rather than once for the session.
|
|
@@ -138,7 +140,7 @@ export interface SubagentRuntimeOptions {
|
|
|
138
140
|
* out a branch since it started. A string captured at startup would hand
|
|
139
141
|
* every later sub-agent a confident, stale answer.
|
|
140
142
|
*/
|
|
141
|
-
readonly readEnvironment?: () => Promise<string>;
|
|
143
|
+
readonly readEnvironment?: (cwd: string) => Promise<string>;
|
|
142
144
|
/** Receives the child's session events (lineage-stamped) — for the tree view. */
|
|
143
145
|
readonly onEvent?: (event: SessionEvent) => void;
|
|
144
146
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAGN,KAAK,mBAAmB,EAIxB,KAAK,uBAAuB,EAI5B,eAAe,EAWf,KAAK,WAAW,EAEhB,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,uBAAuB,EAG5B,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EAEnB,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,MAAM,EAaX,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAI9D,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAMN,KAAK,sBAAsB,EAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/subagents/runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAGN,KAAK,mBAAmB,EAIxB,KAAK,uBAAuB,EAI5B,eAAe,EAWf,KAAK,WAAW,EAEhB,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,uBAAuB,EAG5B,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EAEnB,KAAK,OAAO,EACZ,KAAK,KAAK,EAIV,KAAK,MAAM,EAaX,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAI9D,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC5E,OAAO,EAMN,KAAK,sBAAsB,EAC3B,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGjF;;;;;;;;;GASG;AACH,eAAO,MAAM,mBAAmB,iBAAiB,CAAA;AAYjD,eAAO,MAAM,wBAAwB,oBAAoB,CAAA;AACzD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,YAAmB,CAAA;AA+ChD,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;CAC7B;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAA;CACjC;AAED,MAAM,WAAW,sBAAsB;IACtC,oFAAoF;IACpF,QAAQ,CAAC,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;IACnE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,iBAAiB,CAAA;IAClE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,iFAAiF;IACjF,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,CAAA;IACzE,6EAA6E;IAC7E,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,6EAA6E;IAC7E,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;;OAMG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,YAAY,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,uBAAuB,CAAA;IACnD,iFAAiF;IACjF,QAAQ,CAAC,gBAAgB,CAAC,EAAE,mBAAmB,GAAG,WAAW,CAAA;IAC7D,wFAAwF;IACxF,QAAQ,CAAC,aAAa,EAAE,CACvB,eAAe,CAAC,EAAE,SAAS,EAC3B,SAAS,CAAC,EAAE,cAAc,KACtB,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IACvC;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,CAAA;IAC1E,QAAQ,CAAC,YAAY,CAAC,EAAE,CACvB,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAC9D,MAAM,EAAE,WAAW,KACf,OAAO,CAAC,cAAc,CAAC,CAAA;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7E,gEAAgE;IAChE,QAAQ,CAAC,UAAU,EAAE,MAAM,SAAS,OAAO,EAAE,CAAA;IAC7C,kFAAkF;IAClF,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAC7B,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,SAAS,OAAO,EAAE,KACxB,mBAAmB,CAAC,WAAW,CAAC,CAAA;IACrC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,uBAAuB,CAAA;IACpD;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,KAAK,aAAa,GAAG,SAAS,CAAA;IAC5F;;;;;;;OAOG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS,CAAA;IACpF,8EAA8E;IAC9E,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAChC,MAAM,EAAE,MAAM,KACV,CAAC,CAAC,MAAM,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAA;IACzD,kEAAkE;IAClE,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,sEAAsE;IACtE,QAAQ,CAAC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IAC1C,uFAAuF;IACvF,QAAQ,CAAC,iBAAiB,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAChD,gDAAgD;IAChD,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAA;IAC5C,2EAA2E;IAC3E,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,yBAAyB,CAAA;IAC/E;;;;;;;;OAQG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3D,iFAAiF;IACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAA;IAChD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAA;CACrD;AAED,MAAM,WAAW,eAAe;IAC/B,8DAA8D;IAC9D,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;IACtD,wEAAwE;IACxE,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;IAChE,qFAAqF;IACrF,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,cAAc,CAAA;IAC5C,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAA;IAClC,6DAA6D;IAC7D,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAA;IACxC,QAAQ,CAAC,iBAAiB,EAAE,cAAc,CAAA;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAA;IACxC,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAA;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,EAAE,cAAc,CAAA;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C;;;;;;;;;;;;;;OAcG;IACH,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;IAC9C,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAA;IACzC,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AA0DD;;;GAGG;AACH,wBAAsB,qBAAqB,CAC1C,IAAI,EAAE,sBAAsB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAyhC1B"}
|
|
@@ -24,6 +24,7 @@ import { NamzuCliAgent } from './NamzuCliAgent.js';
|
|
|
24
24
|
import { MAX_AGENT_ACTIVITY_LABEL_CODE_UNITS, MAX_AGENT_PHASE_ORDER, MAX_NARRATION_CODE_UNITS, MAX_RETAINED_NARRATION, SubagentActivityMonitor, } from './activity.js';
|
|
25
25
|
import { CLI_INTERACTIVE_TURN_TIMEOUT_MS } from './policy.js';
|
|
26
26
|
import { SAVED_AGENTS_GUIDANCE } from './saved-agents.js';
|
|
27
|
+
import { DelegatedWorktreeDriver } from './worktree-driver.js';
|
|
27
28
|
/**
|
|
28
29
|
* The parent's narration tool, named once.
|
|
29
30
|
*
|
|
@@ -171,6 +172,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
171
172
|
.join('; ');
|
|
172
173
|
const parents = new Map();
|
|
173
174
|
const sessions = new Map();
|
|
175
|
+
const worktreeDriver = new DelegatedWorktreeDriver(opts.cwd, opts.worktreeStateRoot);
|
|
174
176
|
// A ledger this runtime keeps for itself, when neither a shared store nor a
|
|
175
177
|
// project layout was given. Process-local: it bounds the children of one
|
|
176
178
|
// root turn, and the parent's own spend is counted wherever the parent
|
|
@@ -205,16 +207,21 @@ export async function createSubagentRuntime(opts) {
|
|
|
205
207
|
currentActor: parentActor,
|
|
206
208
|
}, tenantId);
|
|
207
209
|
await store.updateSession({ ...session, status: 'active' }, tenantId);
|
|
210
|
+
const workspaceRegistry = new WorkspaceBackendRegistry();
|
|
211
|
+
// The driver resolves Git lazily: ordinary shared children work outside a
|
|
212
|
+
// repository and never create a checkout or touch Git state.
|
|
213
|
+
workspaceRegistry.register(worktreeDriver);
|
|
208
214
|
const manager = new AgentManager(registry, {
|
|
209
215
|
childTimeoutMs: opts.timeoutMs ?? CLI_INTERACTIVE_TURN_TIMEOUT_MS,
|
|
210
216
|
capacityBehavior: 'queue',
|
|
217
|
+
workspaceDefault: 'shared',
|
|
211
218
|
}, {
|
|
212
219
|
sessionStore: store,
|
|
213
220
|
summaryMaterializer: new SessionSummaryMaterializer({
|
|
214
221
|
store,
|
|
215
222
|
generateSummaryId,
|
|
216
223
|
}),
|
|
217
|
-
workspaceRegistry
|
|
224
|
+
workspaceRegistry,
|
|
218
225
|
capacity: new DefaultCapacityValidator(store),
|
|
219
226
|
topicManager: new TopicManager({ topicStore, sessionStore: store }),
|
|
220
227
|
});
|
|
@@ -393,6 +400,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
393
400
|
'For a request to run multiple independent tasks in parallel, issue all Agent calls together in one response, or set run_in_background: true on each launch before waiting. A single blocking Agent call followed by another call runs them sequentially.',
|
|
394
401
|
'Pick `subagent_type: "explore"` for anything that only needs to look — where is X defined, which files reference Y, how does Z work — it has reading and searching tools only and never asks for permission.',
|
|
395
402
|
'Use the default "general-purpose" when the task must change files or run commands.',
|
|
403
|
+
'Set `workspace: "worktree"` when the child needs its own Git checkout. It starts from this checkout\'s committed HEAD; uncommitted parent changes are absent. The checkout and its edits remain after the child ends, so report its path and branch to the operator.',
|
|
396
404
|
'Define a specialist inline with `role` — a system prompt describing who the sub-agent is and how to behave (e.g.',
|
|
397
405
|
'"You are a security auditor; flag vulnerabilities and rate severity"); with `subagent_type: "explore"` the role keeps the read-only roster.',
|
|
398
406
|
'Omit `role` for the plain sub-agent.',
|
|
@@ -419,6 +427,11 @@ export async function createSubagentRuntime(opts) {
|
|
|
419
427
|
type: 'boolean',
|
|
420
428
|
description: 'Return after launch so the parent can continue independent work. Defaults to false.',
|
|
421
429
|
},
|
|
430
|
+
workspace: {
|
|
431
|
+
type: 'string',
|
|
432
|
+
enum: ['shared', 'worktree'],
|
|
433
|
+
description: 'Use a separate Git worktree for this child; defaults to shared. The worktree is kept on completion or cancellation.',
|
|
434
|
+
},
|
|
422
435
|
subagent_type: {
|
|
423
436
|
type: 'string',
|
|
424
437
|
enum: agentTypeIds,
|
|
@@ -481,7 +494,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
481
494
|
concurrencySafe: true,
|
|
482
495
|
timeoutMs: opts.resolveLimits ? 0 : (opts.timeoutMs ?? CLI_INTERACTIVE_TURN_TIMEOUT_MS),
|
|
483
496
|
async execute(input, context) {
|
|
484
|
-
const { description, prompt, subagent_type, role, workflow, phase, phase_order, phase_detail, run_in_background, model: requestedModel, provider: requestedProvider, effort: requestedEffort, } = input;
|
|
497
|
+
const { description, prompt, subagent_type, role, workflow, phase, phase_order, phase_detail, run_in_background, workspace, model: requestedModel, provider: requestedProvider, effort: requestedEffort, } = input;
|
|
485
498
|
if (!requestedModel && (requestedProvider || requestedEffort))
|
|
486
499
|
throw new Error('Supply model when selecting a child provider or effort.');
|
|
487
500
|
const explore = subagent_type === EXPLORE_SUBAGENT;
|
|
@@ -583,6 +596,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
583
596
|
};
|
|
584
597
|
try {
|
|
585
598
|
const completionInbox = await completionInboxForTurn(context.turnId);
|
|
599
|
+
const subdirectory = workspace === 'worktree' ? await worktreeDriver.selectedSubdirectory() : undefined;
|
|
586
600
|
// Nothing is saved here: the SDK records the child's spawn and its
|
|
587
601
|
// ending in the parent's log, and the child's own log beside it.
|
|
588
602
|
const outcome = await runBlockingAgentTask({
|
|
@@ -603,6 +617,14 @@ export async function createSubagentRuntime(opts) {
|
|
|
603
617
|
agentId,
|
|
604
618
|
prompt,
|
|
605
619
|
workingDirectory: opts.cwd,
|
|
620
|
+
workspace: workspace === 'worktree'
|
|
621
|
+
? {
|
|
622
|
+
mode: 'isolated',
|
|
623
|
+
backend: 'git-worktree',
|
|
624
|
+
retention: 'retain',
|
|
625
|
+
...(subdirectory ? { subdirectory } : {}),
|
|
626
|
+
}
|
|
627
|
+
: { mode: 'shared' },
|
|
606
628
|
// The same labels the monitor was seeded with, sent down so the
|
|
607
629
|
// child's `agent_pending` carries them: a listener or SSE
|
|
608
630
|
// consumer outside this process then groups the child the way
|
|
@@ -627,10 +649,11 @@ export async function createSubagentRuntime(opts) {
|
|
|
627
649
|
const progress = outcome.handle.state === 'pending' ? 'queued for an available slot' : 'still running';
|
|
628
650
|
return {
|
|
629
651
|
success: true,
|
|
630
|
-
output: `Sub-agent ${agentId} for task ${JSON.stringify(description)} is ${progress} as task ${outcome.handle.taskId}; it has not completed. ${run_in_background ? 'Continue independent work while this task runs in the background.' : 'Waiting was released because the operator sent a message. Answer their question or status request before making further tool calls; preserve existing work unless they ask to cancel or change it.'} Its actual result will arrive as a task notification; do not launch the same work again.`,
|
|
652
|
+
output: `Sub-agent ${agentId} for task ${JSON.stringify(description)} is ${progress} as task ${outcome.handle.taskId}; it has not completed.${workspaceNote(outcome.handle)} ${run_in_background ? 'Continue independent work while this task runs in the background.' : 'Waiting was released because the operator sent a message. Answer their question or status request before making further tool calls; preserve existing work unless they ask to cancel or change it.'} Its actual result will arrive as a task notification; do not launch the same work again.`,
|
|
631
653
|
data: {
|
|
632
654
|
task_id: outcome.handle.taskId,
|
|
633
655
|
state: outcome.handle.state,
|
|
656
|
+
...workspaceData(outcome.handle),
|
|
634
657
|
wait_released: run_in_background ? 'background' : 'operator_input',
|
|
635
658
|
},
|
|
636
659
|
};
|
|
@@ -654,7 +677,10 @@ export async function createSubagentRuntime(opts) {
|
|
|
654
677
|
description: 'List the agent invocations launched by this turn and their current status, without waiting or starting work. Use this for agent progress questions. task_list contains planning items, not agent invocations. Use wait_for_task with a live ID for its result. Set history: true to inspect agents saved from earlier turns of this conversation, optionally session_id for one saved result; saved agents are not live.',
|
|
655
678
|
inputSchema: mcpJsonSchemaToZod({
|
|
656
679
|
type: 'object',
|
|
657
|
-
properties: {
|
|
680
|
+
properties: {
|
|
681
|
+
history: { type: 'boolean' },
|
|
682
|
+
session_id: { type: 'string' },
|
|
683
|
+
},
|
|
658
684
|
additionalProperties: false,
|
|
659
685
|
}),
|
|
660
686
|
category: 'custom',
|
|
@@ -693,6 +719,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
693
719
|
agent: task.agentId,
|
|
694
720
|
state: task.state,
|
|
695
721
|
status: agentTaskOutcome(task),
|
|
722
|
+
...workspaceData(task),
|
|
696
723
|
...(task.result?.stopReason ? { stop_reason: task.result.stopReason } : {}),
|
|
697
724
|
}));
|
|
698
725
|
return {
|
|
@@ -769,6 +796,7 @@ export async function createSubagentRuntime(opts) {
|
|
|
769
796
|
data: {
|
|
770
797
|
task_id: taskId,
|
|
771
798
|
state: outcome.handle.state,
|
|
799
|
+
...workspaceData(outcome.handle),
|
|
772
800
|
wait_released: 'operator_input',
|
|
773
801
|
},
|
|
774
802
|
};
|
|
@@ -930,7 +958,11 @@ export async function createSubagentRuntime(opts) {
|
|
|
930
958
|
// has none — see the host's own suppression, which cites this tool by
|
|
931
959
|
// name), and `narrate_work({"line":"…"})` beside the refusal would show
|
|
932
960
|
// the sentence that was never shown.
|
|
933
|
-
presentCall: () => ({
|
|
961
|
+
presentCall: () => ({
|
|
962
|
+
kind: 'generic',
|
|
963
|
+
label: 'Narrating',
|
|
964
|
+
presentation: 'activity',
|
|
965
|
+
}),
|
|
934
966
|
async execute(input, context) {
|
|
935
967
|
context.abortSignal.throwIfAborted();
|
|
936
968
|
const { line } = input;
|
|
@@ -1008,6 +1040,8 @@ export async function createSubagentRuntime(opts) {
|
|
|
1008
1040
|
if (typeof input !== 'object' || input === null)
|
|
1009
1041
|
return false;
|
|
1010
1042
|
const fields = input;
|
|
1043
|
+
if (fields.workspace === 'worktree')
|
|
1044
|
+
return false;
|
|
1011
1045
|
if (fields.provider !== undefined || fields.effort !== undefined)
|
|
1012
1046
|
return false;
|
|
1013
1047
|
const inherits = (model) => model === undefined || model === opts.model;
|
|
@@ -1127,6 +1161,18 @@ function agentTaskOutcome(task) {
|
|
|
1127
1161
|
return 'incomplete';
|
|
1128
1162
|
return task.state;
|
|
1129
1163
|
}
|
|
1164
|
+
function workspaceData(task) {
|
|
1165
|
+
const meta = task.workspace?.meta;
|
|
1166
|
+
return meta?.backend === 'git-worktree'
|
|
1167
|
+
? { workspace_path: meta.worktreePath, workspace_branch: meta.branch }
|
|
1168
|
+
: {};
|
|
1169
|
+
}
|
|
1170
|
+
function workspaceNote(task) {
|
|
1171
|
+
const data = workspaceData(task);
|
|
1172
|
+
return data.workspace_path
|
|
1173
|
+
? ` Its worktree is ${data.workspace_path} on ${data.workspace_branch}; the checkout is kept after this task ends.`
|
|
1174
|
+
: '';
|
|
1175
|
+
}
|
|
1130
1176
|
/** Lifecycle completion is not proof the requested task finished successfully. */
|
|
1131
1177
|
function completedAgentResult(completed) {
|
|
1132
1178
|
const turn = completed.result;
|
|
@@ -1151,7 +1197,11 @@ function completedAgentResult(completed) {
|
|
|
1151
1197
|
// ToolResult.data is host metadata, not necessarily model-visible content.
|
|
1152
1198
|
// Keep the handle and terminal status separate from arbitrary child output
|
|
1153
1199
|
// (which may itself contain UUIDs or text such as "Task 1").
|
|
1154
|
-
const
|
|
1200
|
+
const workspace = workspaceData(completed);
|
|
1201
|
+
const workspaceLines = workspace.workspace_path && workspace.workspace_branch
|
|
1202
|
+
? `\nworkspace: ${workspace.workspace_path}\nbranch: ${workspace.workspace_branch}\nThe worktree is kept for review.`
|
|
1203
|
+
: '';
|
|
1204
|
+
const output = `task_id: ${completed.taskId}\nstatus: ${status}${workspaceLines}\n\nAgent result:\n${stopNote}${resultText || '(sub-agent returned no text)'}`;
|
|
1155
1205
|
return {
|
|
1156
1206
|
success: succeeded,
|
|
1157
1207
|
output,
|
|
@@ -1164,6 +1214,7 @@ function completedAgentResult(completed) {
|
|
|
1164
1214
|
task_id: completed.taskId,
|
|
1165
1215
|
state: completed.state,
|
|
1166
1216
|
status,
|
|
1217
|
+
...workspaceData(completed),
|
|
1167
1218
|
...(turn?.stopReason ? { stop_reason: turn.stopReason } : {}),
|
|
1168
1219
|
},
|
|
1169
1220
|
};
|
|
@@ -1208,7 +1259,8 @@ model = opts.model, selection) {
|
|
|
1208
1259
|
// what day it is and which branch is checked out can both have changed
|
|
1209
1260
|
// since the parent started, and a sub-agent asserting the stale answer
|
|
1210
1261
|
// is worse than one that was never told.
|
|
1211
|
-
const
|
|
1262
|
+
const childCwd = options.workingDirectory ?? opts.cwd;
|
|
1263
|
+
const environment = opts.readEnvironment ? await opts.readEnvironment(childCwd) : null;
|
|
1212
1264
|
// AgentManager supplies the actual parent turn before it stamps the child's
|
|
1213
1265
|
// own Session ID. All delegated work shares that invoking conversation's
|
|
1214
1266
|
// upstream billing session, even after the TUI moves to another one.
|
|
@@ -1243,7 +1295,9 @@ model = opts.model, selection) {
|
|
|
1243
1295
|
.filter(Boolean)
|
|
1244
1296
|
.join('\n\n'),
|
|
1245
1297
|
...(opts.projectInstructionContext
|
|
1246
|
-
? {
|
|
1298
|
+
? {
|
|
1299
|
+
projectInstructionContext: opts.projectInstructionContext(childCwd),
|
|
1300
|
+
}
|
|
1247
1301
|
: {}),
|
|
1248
1302
|
...(opts.authorizationGate ? { authorizationGate: opts.authorizationGate } : {}),
|
|
1249
1303
|
...(opts.sandboxProvider ? { sandboxProvider: opts.sandboxProvider } : {}),
|