orquesta-agent 0.2.200 → 0.2.201
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/executor.d.ts +2 -0
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +68 -27
- package/dist/executor.js.map +1 -1
- package/dist/index.js +55 -2
- package/dist/index.js.map +1 -1
- package/dist/supabase.d.ts +4 -0
- package/dist/supabase.d.ts.map +1 -1
- package/dist/supabase.js +8 -0
- package/dist/supabase.js.map +1 -1
- package/dist/ui/public/app.js +19 -0
- package/dist/ui/public/index.html +10 -4
- package/dist/ui/server.d.ts.map +1 -1
- package/dist/ui/server.js +64 -1
- package/dist/ui/server.js.map +1 -1
- package/package.json +1 -1
package/dist/executor.d.ts
CHANGED
|
@@ -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;
|
package/dist/executor.d.ts.map
CHANGED
|
@@ -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
|
|
@@ -1503,7 +1515,7 @@ export async function execute(options) {
|
|
|
1503
1515
|
// Build full prompt with settings, agent instructions, and attachments
|
|
1504
1516
|
let fullContent = content + attachmentContext;
|
|
1505
1517
|
const settingsHeader = generateSettingsHeader();
|
|
1506
|
-
const browserBlock = BROWSER_TOOLS_PROMPT_BLOCK;
|
|
1518
|
+
const browserBlock = globalBrowserEnabled ? BROWSER_TOOLS_PROMPT_BLOCK : '';
|
|
1507
1519
|
const coordinationBlock = await fetchCoordinationContextBlock();
|
|
1508
1520
|
const capabilitiesBlock = `${ORQUESTA_CAPABILITIES_PROMPT_BLOCK}${coordinationBlock}`;
|
|
1509
1521
|
// Auto-inject any rogerthat phone messages received since the last prompt /
|
|
@@ -1516,43 +1528,35 @@ export async function execute(options) {
|
|
|
1516
1528
|
const userRequestBody = phoneBlock
|
|
1517
1529
|
? `${phoneBlock}\n${content}${attachmentContext}`
|
|
1518
1530
|
: `${content}${attachmentContext}`;
|
|
1531
|
+
// Assemble the static context (settings + agent instructions + capabilities +
|
|
1532
|
+
// browser) separately from the user request, so we can hoist it into the CLI
|
|
1533
|
+
// system prompt below — where the downstream model caches it across the agentic
|
|
1534
|
+
// loop's tool-use turns — instead of paying for it in every user turn.
|
|
1535
|
+
// fullContent keeps the exact inline shape it had before, as the fallback.
|
|
1536
|
+
let staticHeader = '';
|
|
1519
1537
|
if (agentInstructions && agentInstructions.trim()) {
|
|
1520
|
-
|
|
1521
|
-
fullContent = `[Orquesta Configuration]
|
|
1538
|
+
staticHeader = `[Orquesta Configuration]
|
|
1522
1539
|
${settingsHeader}
|
|
1523
1540
|
[Agent Instructions from Orquesta]
|
|
1524
1541
|
${agentInstructions}
|
|
1525
1542
|
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
${browserBlock}
|
|
1529
|
-
|
|
1530
|
-
[User Request]
|
|
1531
|
-
${userRequestBody}`;
|
|
1543
|
+
`;
|
|
1532
1544
|
logger.info('Including settings and agent instructions in prompt');
|
|
1533
1545
|
}
|
|
1534
1546
|
else if (settingsHeader) {
|
|
1535
|
-
|
|
1536
|
-
fullContent = `[Orquesta Configuration]
|
|
1547
|
+
staticHeader = `[Orquesta Configuration]
|
|
1537
1548
|
${settingsHeader}
|
|
1538
1549
|
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
${browserBlock}
|
|
1542
|
-
|
|
1543
|
-
[User Request]
|
|
1544
|
-
${userRequestBody}`;
|
|
1550
|
+
`;
|
|
1545
1551
|
logger.info('Including settings in prompt');
|
|
1546
1552
|
}
|
|
1547
|
-
|
|
1548
|
-
// No settings — still include capabilities + browser blocks.
|
|
1549
|
-
fullContent = `${capabilitiesBlock}
|
|
1553
|
+
const staticSystemBlock = `${staticHeader}${capabilitiesBlock}
|
|
1550
1554
|
|
|
1551
|
-
${browserBlock}
|
|
1555
|
+
${browserBlock}`;
|
|
1556
|
+
fullContent = `${staticSystemBlock}
|
|
1552
1557
|
|
|
1553
1558
|
[User Request]
|
|
1554
1559
|
${userRequestBody}`;
|
|
1555
|
-
}
|
|
1556
1560
|
// Build environment with authentication
|
|
1557
1561
|
const env = {
|
|
1558
1562
|
...process.env,
|
|
@@ -1612,8 +1616,31 @@ ${userRequestBody}`;
|
|
|
1612
1616
|
const cwd = workingDirectory || process.cwd();
|
|
1613
1617
|
logger.info(`CLI Selection: ${cliCommand} (${reason})`);
|
|
1614
1618
|
logger.info(`Spawning: ${cliBinary} -p "${fullContent.slice(0, 50)}..." in ${cwd}`);
|
|
1619
|
+
// Hoist the static block into the CLI system prompt (claude/orquesta support
|
|
1620
|
+
// --append-system-prompt-file; kimi has no such flag and stays inline). On any
|
|
1621
|
+
// write failure we fall back to the inline fullContent, so a dispatched prompt
|
|
1622
|
+
// can never regress to a worse state than before.
|
|
1623
|
+
let promptContent = fullContent;
|
|
1624
|
+
let sysPromptFilePath = null;
|
|
1625
|
+
if (cliCommand !== 'kimi') {
|
|
1626
|
+
try {
|
|
1627
|
+
const promptDir = process.platform === 'win32'
|
|
1628
|
+
? os.tmpdir()
|
|
1629
|
+
: path.join(os.homedir(), '.orquesta-agent', 'sysprompts');
|
|
1630
|
+
fs.mkdirSync(promptDir, { recursive: true });
|
|
1631
|
+
const f = path.join(promptDir, `dispatch-sysprompt-${commandId}.txt`);
|
|
1632
|
+
fs.writeFileSync(f, staticSystemBlock, { encoding: 'utf-8', mode: 0o600 });
|
|
1633
|
+
sysPromptFilePath = f;
|
|
1634
|
+
promptContent = userRequestBody;
|
|
1635
|
+
}
|
|
1636
|
+
catch {
|
|
1637
|
+
promptContent = fullContent;
|
|
1638
|
+
sysPromptFilePath = null;
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
const sysPromptArgs = sysPromptFilePath ? ['--append-system-prompt-file', sysPromptFilePath] : [];
|
|
1615
1642
|
// Escape content for shell - replace single quotes
|
|
1616
|
-
const escapedContent =
|
|
1643
|
+
const escapedContent = promptContent.replace(/'/g, "'\\''");
|
|
1617
1644
|
// Build command based on permission mode
|
|
1618
1645
|
// Use stream-json format to get structured output including thinking
|
|
1619
1646
|
let command;
|
|
@@ -1635,10 +1662,14 @@ ${userRequestBody}`;
|
|
|
1635
1662
|
// shell-wrapped (Linux) path; pushed as a separate arg on Win/macOS below.
|
|
1636
1663
|
const useEndpoint = cliCommand === 'orquesta' && !!globalCliEndpoint;
|
|
1637
1664
|
const endpointFlag = useEndpoint ? `--endpoint '${globalCliEndpoint.replace(/'/g, "'\\''")}'` : '';
|
|
1665
|
+
// Static context hoisted to the CLI system prompt (Linux shell-string form).
|
|
1666
|
+
const sysPromptFlag = sysPromptFilePath
|
|
1667
|
+
? `--append-system-prompt-file '${sysPromptFilePath.replace(/'/g, "'\\''")}'`
|
|
1668
|
+
: '';
|
|
1638
1669
|
// Claude CLI's headless `-p` mode does not accept positional file args as
|
|
1639
1670
|
// attachments — image refs are surfaced inline in the prompt as absolute
|
|
1640
1671
|
// paths so Claude's Read tool can pick them up.
|
|
1641
|
-
command = `${cliBinary} -p '${escapedContent}' ${permFlags} ${baseFlags} ${endpointFlag}`;
|
|
1672
|
+
command = `${cliBinary} -p '${escapedContent}' ${permFlags} ${baseFlags} ${endpointFlag} ${sysPromptFlag}`;
|
|
1642
1673
|
if (imageReferences.length > 0) {
|
|
1643
1674
|
logger.info(`Image attachments referenced inline: ${imageReferences.length}`);
|
|
1644
1675
|
}
|
|
@@ -1659,13 +1690,15 @@ ${userRequestBody}`;
|
|
|
1659
1690
|
// via stdin instead (bare `-p` → the CLI reads stdin). macOS has a high arg
|
|
1660
1691
|
// limit (and spawns without a shell), so keep the prompt inline there.
|
|
1661
1692
|
if (!isWindows)
|
|
1662
|
-
args.push(
|
|
1693
|
+
args.push(promptContent);
|
|
1663
1694
|
if (permFlags)
|
|
1664
1695
|
args.push(...permFlags.split(/\s+/).filter(Boolean));
|
|
1665
1696
|
if (baseFlags)
|
|
1666
1697
|
args.push(...baseFlags.split(/\s+/).filter(Boolean));
|
|
1667
1698
|
if (useEndpoint)
|
|
1668
1699
|
args.push('--endpoint', globalCliEndpoint);
|
|
1700
|
+
if (sysPromptArgs.length)
|
|
1701
|
+
args.push(...sysPromptArgs);
|
|
1669
1702
|
claude = spawn(cliBinary, args, {
|
|
1670
1703
|
cwd,
|
|
1671
1704
|
env,
|
|
@@ -1674,7 +1707,7 @@ ${userRequestBody}`;
|
|
|
1674
1707
|
});
|
|
1675
1708
|
if (isWindows) {
|
|
1676
1709
|
try {
|
|
1677
|
-
claude.stdin?.write(
|
|
1710
|
+
claude.stdin?.write(promptContent);
|
|
1678
1711
|
claude.stdin?.end();
|
|
1679
1712
|
}
|
|
1680
1713
|
catch { /* stdin closed early — failure surfaces via exit code */ }
|
|
@@ -2130,6 +2163,13 @@ ${userRequestBody}`;
|
|
|
2130
2163
|
// Handle completion
|
|
2131
2164
|
claude.on('close', async (code) => {
|
|
2132
2165
|
runningProcesses.delete(commandId);
|
|
2166
|
+
// Remove the hoisted system-prompt temp file now that the CLI has read it.
|
|
2167
|
+
if (sysPromptFilePath) {
|
|
2168
|
+
try {
|
|
2169
|
+
fs.unlinkSync(sysPromptFilePath);
|
|
2170
|
+
}
|
|
2171
|
+
catch { /* already gone */ }
|
|
2172
|
+
}
|
|
2133
2173
|
if (promptId)
|
|
2134
2174
|
promptIdToCommandId.delete(promptId);
|
|
2135
2175
|
pendingSupervisionCallbacks.delete(commandId);
|
|
@@ -3024,7 +3064,8 @@ export async function startSession(options) {
|
|
|
3024
3064
|
}
|
|
3025
3065
|
catch { /* file not found — try next */ }
|
|
3026
3066
|
}
|
|
3027
|
-
const
|
|
3067
|
+
const browserBlockPart = globalBrowserEnabled ? `${BROWSER_TOOLS_PROMPT_BLOCK}\n\n` : '';
|
|
3068
|
+
const systemPromptBlock = `${browserBlockPart}${ORQUESTA_CAPABILITIES_PROMPT_BLOCK}${liveCoordination}${projectMdContent}`;
|
|
3028
3069
|
// On Windows the prompt (~38KB) + a big CLAUDE.md can exceed CreateProcess's
|
|
3029
3070
|
// 32767-char command-line cap and the interactive session fails to spawn. Both
|
|
3030
3071
|
// orquesta-cli and claude support --append-system-prompt-file, so we ALWAYS write
|