orquesta-agent 0.2.200 → 0.2.202

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.
@@ -69,6 +69,8 @@ export type CliPreference = 'auto' | 'orquesta' | 'claude' | 'kimi';
69
69
  export declare function setCliPreference(preference: CliPreference): void;
70
70
  export declare function setCliEndpoint(endpoint: string): void;
71
71
  export declare function getCliEndpoint(): string;
72
+ export declare function setBrowserEnabled(enabled: boolean): void;
73
+ export declare function getBrowserEnabled(): boolean;
72
74
  export declare function isOrquestaCliAvailable(): boolean;
73
75
  export declare function isClaudeCliAvailable(): boolean;
74
76
  export declare function resolveKimiBinary(): string | null;
@@ -157,6 +159,12 @@ export interface StartSessionOptions {
157
159
  /** Workstream (sub-agent) this session belongs to. undefined = default slot. */
158
160
  subAgentId?: string;
159
161
  subAgentName?: string;
162
+ /**
163
+ * Resume the most recent conversation in this working directory instead of
164
+ * starting fresh (dashboard "Resume" button). Maps to the CLI's --continue
165
+ * flag. Supported by claude + orquesta-cli; ignored for kimi (no such flag).
166
+ */
167
+ resume?: boolean;
160
168
  }
161
169
  /**
162
170
  * Start an interactive Claude CLI session.
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
package/dist/executor.js CHANGED
@@ -546,6 +546,18 @@ export function setCliEndpoint(endpoint) {
546
546
  logger.info(`CLI endpoint override set to: ${next || '(org default)'}`);
547
547
  }
548
548
  export function getCliEndpoint() { return globalCliEndpoint; }
549
+ // Per-project browser-tools toggle (Settings → Agent). Default OFF: the browser
550
+ // bridge prompt block is only injected when a project explicitly enables it, so
551
+ // projects that never use it don't carry ~690 tokens of browser instructions.
552
+ let globalBrowserEnabled = false;
553
+ export function setBrowserEnabled(enabled) {
554
+ const next = !!enabled;
555
+ if (next === globalBrowserEnabled)
556
+ return;
557
+ globalBrowserEnabled = next;
558
+ logger.info(`Browser tools ${next ? 'enabled' : 'disabled'} for this project`);
559
+ }
560
+ export function getBrowserEnabled() { return globalBrowserEnabled; }
549
561
  // Cache CLI availability for 5 minutes. The binary doesn't appear/disappear
550
562
  // between prompts, and `<cli> --version` can be slow on cold start. Combined
551
563
  // with a busy event loop this used to fail-stop scheduled prompts: the 5s
@@ -848,8 +860,16 @@ export async function gitCommitAndPush(targetDir, message) {
848
860
  // ============================================
849
861
  // Attachment Processing
850
862
  // ============================================
851
- // Temp directory for downloaded attachments
852
- const ATTACHMENT_TEMP_DIR = path.join(os.tmpdir(), 'orquesta-attachments');
863
+ // Temp directory for downloaded attachments.
864
+ //
865
+ // MUST live under ~/.cache (not os.tmpdir()/'/tmp'): the agent downloads the
866
+ // file here OUTSIDE the sandbox, then hands the CLI the absolute path to Read it
867
+ // from INSIDE the sandbox. In strict mode the sandbox gets a PRIVATE /tmp tmpfs
868
+ // (sandbox.ts), so anything the agent writes to the host /tmp is invisible to the
869
+ // spawned CLI — attachments silently never reach it. ~/.cache is re-bound rw into
870
+ // the strict jail (see userWritable in sandbox.ts), so the same path resolves to
871
+ // the same file both outside and inside, in every mode.
872
+ const ATTACHMENT_TEMP_DIR = path.join(os.homedir(), '.cache', 'orquesta-attachments');
853
873
  /**
854
874
  * Download an attachment from URL and save to temp file.
855
875
  * Returns the local file path.
@@ -1503,7 +1523,7 @@ export async function execute(options) {
1503
1523
  // Build full prompt with settings, agent instructions, and attachments
1504
1524
  let fullContent = content + attachmentContext;
1505
1525
  const settingsHeader = generateSettingsHeader();
1506
- const browserBlock = BROWSER_TOOLS_PROMPT_BLOCK;
1526
+ const browserBlock = globalBrowserEnabled ? BROWSER_TOOLS_PROMPT_BLOCK : '';
1507
1527
  const coordinationBlock = await fetchCoordinationContextBlock();
1508
1528
  const capabilitiesBlock = `${ORQUESTA_CAPABILITIES_PROMPT_BLOCK}${coordinationBlock}`;
1509
1529
  // Auto-inject any rogerthat phone messages received since the last prompt /
@@ -1516,43 +1536,35 @@ export async function execute(options) {
1516
1536
  const userRequestBody = phoneBlock
1517
1537
  ? `${phoneBlock}\n${content}${attachmentContext}`
1518
1538
  : `${content}${attachmentContext}`;
1539
+ // Assemble the static context (settings + agent instructions + capabilities +
1540
+ // browser) separately from the user request, so we can hoist it into the CLI
1541
+ // system prompt below — where the downstream model caches it across the agentic
1542
+ // loop's tool-use turns — instead of paying for it in every user turn.
1543
+ // fullContent keeps the exact inline shape it had before, as the fallback.
1544
+ let staticHeader = '';
1519
1545
  if (agentInstructions && agentInstructions.trim()) {
1520
- // Prepend settings + agent instructions to the prompt
1521
- fullContent = `[Orquesta Configuration]
1546
+ staticHeader = `[Orquesta Configuration]
1522
1547
  ${settingsHeader}
1523
1548
  [Agent Instructions from Orquesta]
1524
1549
  ${agentInstructions}
1525
1550
 
1526
- ${capabilitiesBlock}
1527
-
1528
- ${browserBlock}
1529
-
1530
- [User Request]
1531
- ${userRequestBody}`;
1551
+ `;
1532
1552
  logger.info('Including settings and agent instructions in prompt');
1533
1553
  }
1534
1554
  else if (settingsHeader) {
1535
- // Just settings, no agent instructions
1536
- fullContent = `[Orquesta Configuration]
1555
+ staticHeader = `[Orquesta Configuration]
1537
1556
  ${settingsHeader}
1538
1557
 
1539
- ${capabilitiesBlock}
1540
-
1541
- ${browserBlock}
1542
-
1543
- [User Request]
1544
- ${userRequestBody}`;
1558
+ `;
1545
1559
  logger.info('Including settings in prompt');
1546
1560
  }
1547
- else {
1548
- // No settings — still include capabilities + browser blocks.
1549
- fullContent = `${capabilitiesBlock}
1561
+ const staticSystemBlock = `${staticHeader}${capabilitiesBlock}
1550
1562
 
1551
- ${browserBlock}
1563
+ ${browserBlock}`;
1564
+ fullContent = `${staticSystemBlock}
1552
1565
 
1553
1566
  [User Request]
1554
1567
  ${userRequestBody}`;
1555
- }
1556
1568
  // Build environment with authentication
1557
1569
  const env = {
1558
1570
  ...process.env,
@@ -1612,8 +1624,31 @@ ${userRequestBody}`;
1612
1624
  const cwd = workingDirectory || process.cwd();
1613
1625
  logger.info(`CLI Selection: ${cliCommand} (${reason})`);
1614
1626
  logger.info(`Spawning: ${cliBinary} -p "${fullContent.slice(0, 50)}..." in ${cwd}`);
1627
+ // Hoist the static block into the CLI system prompt (claude/orquesta support
1628
+ // --append-system-prompt-file; kimi has no such flag and stays inline). On any
1629
+ // write failure we fall back to the inline fullContent, so a dispatched prompt
1630
+ // can never regress to a worse state than before.
1631
+ let promptContent = fullContent;
1632
+ let sysPromptFilePath = null;
1633
+ if (cliCommand !== 'kimi') {
1634
+ try {
1635
+ const promptDir = process.platform === 'win32'
1636
+ ? os.tmpdir()
1637
+ : path.join(os.homedir(), '.orquesta-agent', 'sysprompts');
1638
+ fs.mkdirSync(promptDir, { recursive: true });
1639
+ const f = path.join(promptDir, `dispatch-sysprompt-${commandId}.txt`);
1640
+ fs.writeFileSync(f, staticSystemBlock, { encoding: 'utf-8', mode: 0o600 });
1641
+ sysPromptFilePath = f;
1642
+ promptContent = userRequestBody;
1643
+ }
1644
+ catch {
1645
+ promptContent = fullContent;
1646
+ sysPromptFilePath = null;
1647
+ }
1648
+ }
1649
+ const sysPromptArgs = sysPromptFilePath ? ['--append-system-prompt-file', sysPromptFilePath] : [];
1615
1650
  // Escape content for shell - replace single quotes
1616
- const escapedContent = fullContent.replace(/'/g, "'\\''");
1651
+ const escapedContent = promptContent.replace(/'/g, "'\\''");
1617
1652
  // Build command based on permission mode
1618
1653
  // Use stream-json format to get structured output including thinking
1619
1654
  let command;
@@ -1635,10 +1670,14 @@ ${userRequestBody}`;
1635
1670
  // shell-wrapped (Linux) path; pushed as a separate arg on Win/macOS below.
1636
1671
  const useEndpoint = cliCommand === 'orquesta' && !!globalCliEndpoint;
1637
1672
  const endpointFlag = useEndpoint ? `--endpoint '${globalCliEndpoint.replace(/'/g, "'\\''")}'` : '';
1673
+ // Static context hoisted to the CLI system prompt (Linux shell-string form).
1674
+ const sysPromptFlag = sysPromptFilePath
1675
+ ? `--append-system-prompt-file '${sysPromptFilePath.replace(/'/g, "'\\''")}'`
1676
+ : '';
1638
1677
  // Claude CLI's headless `-p` mode does not accept positional file args as
1639
1678
  // attachments — image refs are surfaced inline in the prompt as absolute
1640
1679
  // paths so Claude's Read tool can pick them up.
1641
- command = `${cliBinary} -p '${escapedContent}' ${permFlags} ${baseFlags} ${endpointFlag}`;
1680
+ command = `${cliBinary} -p '${escapedContent}' ${permFlags} ${baseFlags} ${endpointFlag} ${sysPromptFlag}`;
1642
1681
  if (imageReferences.length > 0) {
1643
1682
  logger.info(`Image attachments referenced inline: ${imageReferences.length}`);
1644
1683
  }
@@ -1659,13 +1698,15 @@ ${userRequestBody}`;
1659
1698
  // via stdin instead (bare `-p` → the CLI reads stdin). macOS has a high arg
1660
1699
  // limit (and spawns without a shell), so keep the prompt inline there.
1661
1700
  if (!isWindows)
1662
- args.push(fullContent);
1701
+ args.push(promptContent);
1663
1702
  if (permFlags)
1664
1703
  args.push(...permFlags.split(/\s+/).filter(Boolean));
1665
1704
  if (baseFlags)
1666
1705
  args.push(...baseFlags.split(/\s+/).filter(Boolean));
1667
1706
  if (useEndpoint)
1668
1707
  args.push('--endpoint', globalCliEndpoint);
1708
+ if (sysPromptArgs.length)
1709
+ args.push(...sysPromptArgs);
1669
1710
  claude = spawn(cliBinary, args, {
1670
1711
  cwd,
1671
1712
  env,
@@ -1674,7 +1715,7 @@ ${userRequestBody}`;
1674
1715
  });
1675
1716
  if (isWindows) {
1676
1717
  try {
1677
- claude.stdin?.write(fullContent);
1718
+ claude.stdin?.write(promptContent);
1678
1719
  claude.stdin?.end();
1679
1720
  }
1680
1721
  catch { /* stdin closed early — failure surfaces via exit code */ }
@@ -2130,6 +2171,13 @@ ${userRequestBody}`;
2130
2171
  // Handle completion
2131
2172
  claude.on('close', async (code) => {
2132
2173
  runningProcesses.delete(commandId);
2174
+ // Remove the hoisted system-prompt temp file now that the CLI has read it.
2175
+ if (sysPromptFilePath) {
2176
+ try {
2177
+ fs.unlinkSync(sysPromptFilePath);
2178
+ }
2179
+ catch { /* already gone */ }
2180
+ }
2133
2181
  if (promptId)
2134
2182
  promptIdToCommandId.delete(promptId);
2135
2183
  pendingSupervisionCallbacks.delete(commandId);
@@ -2930,7 +2978,7 @@ export function setOnSessionEnded(cb) {
2930
2978
  * The session runs with --dangerously-skip-permissions for uninterrupted interaction.
2931
2979
  */
2932
2980
  export async function startSession(options) {
2933
- const { sessionId, workingDirectory, channel, cols = 120, rows = 40, subAgentId, subAgentName } = options;
2981
+ const { sessionId, workingDirectory, channel, cols = 120, rows = 40, subAgentId, subAgentName, resume } = options;
2934
2982
  // If this exact sessionId is already live, terminate it before re-creating.
2935
2983
  // Sessions on OTHER workstreams are left untouched — they run concurrently.
2936
2984
  if (sessions.has(sessionId)) {
@@ -3024,7 +3072,8 @@ export async function startSession(options) {
3024
3072
  }
3025
3073
  catch { /* file not found — try next */ }
3026
3074
  }
3027
- const systemPromptBlock = `${BROWSER_TOOLS_PROMPT_BLOCK}\n\n${ORQUESTA_CAPABILITIES_PROMPT_BLOCK}${liveCoordination}${projectMdContent}`;
3075
+ const browserBlockPart = globalBrowserEnabled ? `${BROWSER_TOOLS_PROMPT_BLOCK}\n\n` : '';
3076
+ const systemPromptBlock = `${browserBlockPart}${ORQUESTA_CAPABILITIES_PROMPT_BLOCK}${liveCoordination}${projectMdContent}`;
3028
3077
  // On Windows the prompt (~38KB) + a big CLAUDE.md can exceed CreateProcess's
3029
3078
  // 32767-char command-line cap and the interactive session fails to spawn. Both
3030
3079
  // orquesta-cli and claude support --append-system-prompt-file, so we ALWAYS write
@@ -3071,6 +3120,15 @@ export async function startSession(options) {
3071
3120
  ? ['--dangerously-skip-permissions', '--append-system-prompt-file', sysPromptFile]
3072
3121
  : ['--dangerously-skip-permissions', '--append-system-prompt', systemPromptBlock];
3073
3122
  }
3123
+ // Resume the most recent conversation in this cwd when requested (dashboard
3124
+ // "Resume" button). claude (-c/--continue) and orquesta-cli (--continue, see
3125
+ // cli.ts) both reattach the latest session non-interactively; kimi has no
3126
+ // resume flag, so the option is silently ignored there. Prepended so it's an
3127
+ // unambiguous standalone flag, separate from --append-system-prompt's value.
3128
+ if (resume && cliCommand !== 'kimi') {
3129
+ ptyArgs.unshift('--continue');
3130
+ logger.info(`[Session] Resuming most recent conversation (--continue) for ${cliCommand}`);
3131
+ }
3074
3132
  // Per-project endpoint override (only the orquesta CLI understands --endpoint).
3075
3133
  if (cliCommand === 'orquesta' && globalCliEndpoint) {
3076
3134
  ptyArgs.push('--endpoint', globalCliEndpoint);