@nac3/forge-cli 1.0.49 → 1.0.51
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/chat/agent_scope.d.ts +41 -0
- package/dist/chat/agent_scope.d.ts.map +1 -0
- package/dist/chat/agent_scope.js +80 -0
- package/dist/chat/agent_scope.js.map +1 -0
- package/dist/chat/agent_session.d.ts +46 -0
- package/dist/chat/agent_session.d.ts.map +1 -0
- package/dist/chat/agent_session.js +169 -0
- package/dist/chat/agent_session.js.map +1 -0
- package/dist/chat/bridge.d.ts +8 -0
- package/dist/chat/bridge.d.ts.map +1 -1
- package/dist/chat/bridge.js +8 -3
- package/dist/chat/bridge.js.map +1 -1
- package/dist/chat/claude_cli.d.ts.map +1 -1
- package/dist/chat/claude_cli.js +7 -0
- package/dist/chat/claude_cli.js.map +1 -1
- package/dist/chat/doctrine_digest.d.ts +6 -1
- package/dist/chat/doctrine_digest.d.ts.map +1 -1
- package/dist/chat/doctrine_digest.js +7 -2
- package/dist/chat/doctrine_digest.js.map +1 -1
- package/dist/chat/panel.d.ts.map +1 -1
- package/dist/chat/panel.js +104 -7
- package/dist/chat/panel.js.map +1 -1
- package/dist/chat/server.d.ts +20 -1
- package/dist/chat/server.d.ts.map +1 -1
- package/dist/chat/server.js +58 -7
- package/dist/chat/server.js.map +1 -1
- package/dist/chat/tools/nac3_invoke.d.ts.map +1 -1
- package/dist/chat/tools/nac3_invoke.js +57 -1
- package/dist/chat/tools/nac3_invoke.js.map +1 -1
- package/dist/chat/tools/session_verbs.d.ts +39 -0
- package/dist/chat/tools/session_verbs.d.ts.map +1 -0
- package/dist/chat/tools/session_verbs.js +299 -0
- package/dist/chat/tools/session_verbs.js.map +1 -0
- package/dist/chat/tools.d.ts.map +1 -1
- package/dist/chat/tools.js +16 -0
- package/dist/chat/tools.js.map +1 -1
- package/dist/commands/chat.d.ts +14 -0
- package/dist/commands/chat.d.ts.map +1 -1
- package/dist/commands/chat.js +80 -1
- package/dist/commands/chat.js.map +1 -1
- package/dist/core/limits_config.d.ts +10 -0
- package/dist/core/limits_config.d.ts.map +1 -1
- package/dist/core/limits_config.js +9 -0
- package/dist/core/limits_config.js.map +1 -1
- package/dist/docs/doctrine/session-orchestration.md +86 -0
- package/dist/nac3/internal_manifest.d.ts.map +1 -1
- package/dist/nac3/internal_manifest.js +103 -0
- package/dist/nac3/internal_manifest.js.map +1 -1
- package/dist/nac3/manifest_lazy.d.ts +5 -0
- package/dist/nac3/manifest_lazy.d.ts.map +1 -1
- package/dist/nac3/manifest_lazy.js +3 -3
- package/dist/nac3/manifest_lazy.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/docs/doctrine/session-orchestration.md +86 -0
- package/package.json +1 -1
- package/src/i18n/catalogs/ar.json +1 -0
- package/src/i18n/catalogs/de.json +1 -0
- package/src/i18n/catalogs/en.json +1 -0
- package/src/i18n/catalogs/es.json +1 -0
- package/src/i18n/catalogs/fr.json +1 -0
- package/src/i18n/catalogs/hi.json +1 -0
- package/src/i18n/catalogs/it.json +1 -0
- package/src/i18n/catalogs/ja.json +1 -0
- package/src/i18n/catalogs/pt.json +1 -0
- package/src/i18n/catalogs/zh.json +1 -0
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent_scope -- verb-scope gate for headless agent sub-sessions
|
|
3
|
+
* (Pablo 2026-06-28, yujin.session.*).
|
|
4
|
+
*
|
|
5
|
+
* A sub-session launched by yujin.session.spawn runs `yf chat --agent` with
|
|
6
|
+
* the env flag YF_AGENT_MODE=1. There is no panel and no human to approve an
|
|
7
|
+
* R8 modal, so the normal approval flow would simply STALL on any approval-
|
|
8
|
+
* gated verb. This gate replaces that stall with an explicit, bounded policy
|
|
9
|
+
* that matches the agreed child scope (decision #3):
|
|
10
|
+
*
|
|
11
|
+
* - read / search / query the project, graph, pending, reader -> pass
|
|
12
|
+
* - write files in the project root (write-project-file, mkdir) -> auto-approve
|
|
13
|
+
* - run a SAFE shell command -> auto-approve
|
|
14
|
+
* - run a NON-safe shell command -> reject
|
|
15
|
+
* - git push/commit, github.*, fs.move, project re-anchor,
|
|
16
|
+
* workflow/pending/keys mutation, spawning grandchildren,
|
|
17
|
+
* lifecycle servers, live-UI / MCP mutation -> reject
|
|
18
|
+
*
|
|
19
|
+
* The shell classification is done by the caller (nac3_invoke already imports
|
|
20
|
+
* the shell classifier), so this module returns 'classify_shell' for
|
|
21
|
+
* yujin.shell.exec and stays dependency-free.
|
|
22
|
+
*
|
|
23
|
+
* ASCII-only.
|
|
24
|
+
*/
|
|
25
|
+
export type AgentGateAction = 'pass' | 'auto_approve' | 'reject' | 'classify_shell';
|
|
26
|
+
export interface AgentGateDecision {
|
|
27
|
+
action: AgentGateAction;
|
|
28
|
+
reason?: string;
|
|
29
|
+
}
|
|
30
|
+
/** True when this process is a headless agent sub-session. */
|
|
31
|
+
export declare function isAgentMode(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Decide what a sub-session may do with a verb. `policy` is the verb's Nac3
|
|
34
|
+
* policy string. Returns:
|
|
35
|
+
* - 'reject' -> caller returns a denial envelope (do not dispatch)
|
|
36
|
+
* - 'auto_approve' -> caller skips the R8 modal and dispatches directly
|
|
37
|
+
* - 'classify_shell' -> caller classifies the shell command (safe -> approve)
|
|
38
|
+
* - 'pass' -> caller continues normally (unrestricted verbs run)
|
|
39
|
+
*/
|
|
40
|
+
export declare function agentModeVerbGate(verbId: string, policy: string): AgentGateDecision;
|
|
41
|
+
//# sourceMappingURL=agent_scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_scope.d.ts","sourceRoot":"","sources":["../../src/chat/agent_scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAkCH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,cAAc,GAAG,QAAQ,GAAG,gBAAgB,CAAC;AAEpF,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,8DAA8D;AAC9D,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAYnF"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent_scope -- verb-scope gate for headless agent sub-sessions
|
|
3
|
+
* (Pablo 2026-06-28, yujin.session.*).
|
|
4
|
+
*
|
|
5
|
+
* A sub-session launched by yujin.session.spawn runs `yf chat --agent` with
|
|
6
|
+
* the env flag YF_AGENT_MODE=1. There is no panel and no human to approve an
|
|
7
|
+
* R8 modal, so the normal approval flow would simply STALL on any approval-
|
|
8
|
+
* gated verb. This gate replaces that stall with an explicit, bounded policy
|
|
9
|
+
* that matches the agreed child scope (decision #3):
|
|
10
|
+
*
|
|
11
|
+
* - read / search / query the project, graph, pending, reader -> pass
|
|
12
|
+
* - write files in the project root (write-project-file, mkdir) -> auto-approve
|
|
13
|
+
* - run a SAFE shell command -> auto-approve
|
|
14
|
+
* - run a NON-safe shell command -> reject
|
|
15
|
+
* - git push/commit, github.*, fs.move, project re-anchor,
|
|
16
|
+
* workflow/pending/keys mutation, spawning grandchildren,
|
|
17
|
+
* lifecycle servers, live-UI / MCP mutation -> reject
|
|
18
|
+
*
|
|
19
|
+
* The shell classification is done by the caller (nac3_invoke already imports
|
|
20
|
+
* the shell classifier), so this module returns 'classify_shell' for
|
|
21
|
+
* yujin.shell.exec and stays dependency-free.
|
|
22
|
+
*
|
|
23
|
+
* ASCII-only.
|
|
24
|
+
*/
|
|
25
|
+
/** Approval policies that would otherwise open an R8 modal. */
|
|
26
|
+
const NEEDS_APPROVAL = new Set(['destructive', 'approval-required']);
|
|
27
|
+
/** Approval-gated verbs a sub-session MAY run autonomously within its project
|
|
28
|
+
* root. shell.exec is handled separately via the classifier. */
|
|
29
|
+
const CHILD_AUTO_APPROVE = new Set([
|
|
30
|
+
'yujin.fs.write-project-file',
|
|
31
|
+
'yujin.fs.mkdir',
|
|
32
|
+
]);
|
|
33
|
+
/** Verbs ALWAYS blocked in a sub-session, regardless of policy: outward /
|
|
34
|
+
* irreversible actions, identity / registry / workflow mutation, project
|
|
35
|
+
* re-anchoring, spawning grandchildren, lifecycle servers, and live-UI / MCP
|
|
36
|
+
* mutation (a headless child has no panel to render those anyway). */
|
|
37
|
+
const CHILD_BLOCKED = new Set([
|
|
38
|
+
'yujin.git.commit', 'yujin.git.push',
|
|
39
|
+
'yujin.github.create-repo', 'yujin.github.clone-repo',
|
|
40
|
+
'yujin.fs.move',
|
|
41
|
+
'yujin.project.init', 'yujin.project.set-root',
|
|
42
|
+
'yujin.keys.set',
|
|
43
|
+
'yujin.design.override', 'yujin.design.select-variant',
|
|
44
|
+
'yujin.workflow.set', 'yujin.workflow.run-step', 'yujin.workflow.log-step',
|
|
45
|
+
'yujin.workflow.start', 'yujin.workflow.add-task', 'yujin.workflow.configure',
|
|
46
|
+
'yujin.pending.add', 'yujin.pending.close', 'yujin.pending.edit', 'yujin.pending.discover',
|
|
47
|
+
'yujin.session.spawn', 'yujin.session.stop',
|
|
48
|
+
'yujin.lifecycle.run-app', 'yujin.lifecycle.stop-app', 'yujin.lifecycle.restart-app',
|
|
49
|
+
'yujin.mcp.toggle', 'yujin.mcp.set-creds', 'yujin.mcp.invoke-tool',
|
|
50
|
+
'yujin.mcp.block-endpoint', 'yujin.mcp.unblock-endpoint',
|
|
51
|
+
'yujin.agent.delegate',
|
|
52
|
+
'office.excel.write', 'office.excel.update-cell', 'office.excel.append-sheet', 'office.word.write',
|
|
53
|
+
]);
|
|
54
|
+
/** True when this process is a headless agent sub-session. */
|
|
55
|
+
export function isAgentMode() {
|
|
56
|
+
return process.env.YF_AGENT_MODE === '1';
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Decide what a sub-session may do with a verb. `policy` is the verb's Nac3
|
|
60
|
+
* policy string. Returns:
|
|
61
|
+
* - 'reject' -> caller returns a denial envelope (do not dispatch)
|
|
62
|
+
* - 'auto_approve' -> caller skips the R8 modal and dispatches directly
|
|
63
|
+
* - 'classify_shell' -> caller classifies the shell command (safe -> approve)
|
|
64
|
+
* - 'pass' -> caller continues normally (unrestricted verbs run)
|
|
65
|
+
*/
|
|
66
|
+
export function agentModeVerbGate(verbId, policy) {
|
|
67
|
+
if (CHILD_BLOCKED.has(verbId)) {
|
|
68
|
+
return { action: 'reject', reason: 'verb "' + verbId + '" is not permitted inside an agent sub-session' };
|
|
69
|
+
}
|
|
70
|
+
if (verbId === 'yujin.shell.exec') {
|
|
71
|
+
return { action: 'classify_shell' };
|
|
72
|
+
}
|
|
73
|
+
if (NEEDS_APPROVAL.has(policy)) {
|
|
74
|
+
if (CHILD_AUTO_APPROVE.has(verbId))
|
|
75
|
+
return { action: 'auto_approve' };
|
|
76
|
+
return { action: 'reject', reason: 'approval-gated verb "' + verbId + '" needs a human approver, which a headless sub-session does not have' };
|
|
77
|
+
}
|
|
78
|
+
return { action: 'pass' };
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=agent_scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_scope.js","sourceRoot":"","sources":["../../src/chat/agent_scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,+DAA+D;AAC/D,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAErE;iEACiE;AACjE,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS;IACzC,6BAA6B;IAC7B,gBAAgB;CACjB,CAAC,CAAC;AAEH;;;uEAGuE;AACvE,MAAM,aAAa,GAAG,IAAI,GAAG,CAAS;IACpC,kBAAkB,EAAE,gBAAgB;IACpC,0BAA0B,EAAE,yBAAyB;IACrD,eAAe;IACf,oBAAoB,EAAE,wBAAwB;IAC9C,gBAAgB;IAChB,uBAAuB,EAAE,6BAA6B;IACtD,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB;IAC1E,sBAAsB,EAAE,yBAAyB,EAAE,0BAA0B;IAC7E,mBAAmB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,wBAAwB;IAC1F,qBAAqB,EAAE,oBAAoB;IAC3C,yBAAyB,EAAE,0BAA0B,EAAE,6BAA6B;IACpF,kBAAkB,EAAE,qBAAqB,EAAE,uBAAuB;IAClE,0BAA0B,EAAE,4BAA4B;IACxD,sBAAsB;IACtB,oBAAoB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,mBAAmB;CACnG,CAAC,CAAC;AASH,8DAA8D;AAC9D,MAAM,UAAU,WAAW;IACzB,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,MAAc;IAC9D,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,GAAG,gDAAgD,EAAE,CAAC;IAC5G,CAAC;IACD,IAAI,MAAM,KAAK,kBAAkB,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IACtC,CAAC;IACD,IAAI,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QACtE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,uBAAuB,GAAG,MAAM,GAAG,sEAAsE,EAAE,CAAC;IACjJ,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { BridgeHandle } from './bridge.js';
|
|
2
|
+
/** Terminal marker the sub-session must emit when the task is complete. */
|
|
3
|
+
export declare const SESSION_DONE_MARKER = "[SESSION_DONE]";
|
|
4
|
+
export interface AgentSessionOpts {
|
|
5
|
+
/** The child server's own loopback port (drive /api/chat here). */
|
|
6
|
+
port: number;
|
|
7
|
+
/** The task the parent handed down. */
|
|
8
|
+
task: string;
|
|
9
|
+
/** Correlation handle (the parent generated it; echoed in the reply). */
|
|
10
|
+
handle: string;
|
|
11
|
+
/** Parent bridge selfId -- the directed target for the typed reply. */
|
|
12
|
+
replyTo: string;
|
|
13
|
+
/** The child's bridge handle (from startChatServer). Null = bridge off:
|
|
14
|
+
* the result is still written to disk, but the parent cannot poll it. */
|
|
15
|
+
bridge: BridgeHandle | null | undefined;
|
|
16
|
+
/** Soft token budget across all turns. Default 120000. */
|
|
17
|
+
budgetTokens?: number;
|
|
18
|
+
/** Hard cap on turns. Default 6. */
|
|
19
|
+
maxTurns?: number;
|
|
20
|
+
/** Injected fetch (tests). Defaults to global fetch. */
|
|
21
|
+
fetchImpl?: typeof fetch;
|
|
22
|
+
/** Progress log sink. */
|
|
23
|
+
log?: (m: string) => void;
|
|
24
|
+
}
|
|
25
|
+
export type AgentSessionStatus = 'done' | 'budget' | 'maxturns' | 'error';
|
|
26
|
+
export interface AgentSessionResult {
|
|
27
|
+
handle: string;
|
|
28
|
+
status: AgentSessionStatus;
|
|
29
|
+
/** Final assistant text (marker stripped). */
|
|
30
|
+
reply: string;
|
|
31
|
+
turns: number;
|
|
32
|
+
tokens_in: number;
|
|
33
|
+
tokens_out: number;
|
|
34
|
+
result_path: string | null;
|
|
35
|
+
error?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Where a sub-session's full result is persisted (the bridge signal carries
|
|
38
|
+
* only a summary + this path, so a large deliverable is never truncated by
|
|
39
|
+
* the 4 KB bus cap). */
|
|
40
|
+
export declare function sessionResultPath(handle: string): string;
|
|
41
|
+
/**
|
|
42
|
+
* Run the sub-session task to completion (or budget/turn cap), persist the
|
|
43
|
+
* result, and publish the typed reply to the parent over the bridge.
|
|
44
|
+
*/
|
|
45
|
+
export declare function runAgentSession(opts: AgentSessionOpts): Promise<AgentSessionResult>;
|
|
46
|
+
//# sourceMappingURL=agent_session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_session.d.ts","sourceRoot":"","sources":["../../src/chat/agent_session.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,2EAA2E;AAC3E,eAAO,MAAM,mBAAmB,mBAAmB,CAAC;AAEpD,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,OAAO,EAAE,MAAM,CAAC;IAChB;8EAC0E;IAC1E,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,CAAC;IACxC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;IACzB,yBAAyB;IACzB,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3B;AAED,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAE1E,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAQD;;yBAEyB;AACzB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxD;AAoDD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwFzF"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* agent_session -- the autonomous runner for a headless `yf chat` sub-session
|
|
3
|
+
* (Pablo 2026-06-28, yujin.session.*).
|
|
4
|
+
*
|
|
5
|
+
* The parent session launches a child `yf chat --agent --task ...` via the
|
|
6
|
+
* yujin.session.spawn verb. The child boots the full chat server headless
|
|
7
|
+
* (agentMode: no browser, no registry mutation, no relay consumer) and then
|
|
8
|
+
* runs THIS loop: it drives its own /api/chat loopback with the task, up to a
|
|
9
|
+
* bounded number of turns / a token budget, until the brain closes with the
|
|
10
|
+
* [SESSION_DONE] marker. It then writes the full result to disk and publishes
|
|
11
|
+
* a compact signal on the bridge's typed 'session_reply' lane (directed to the
|
|
12
|
+
* parent), which the parent reads on demand via yujin.session.collect.
|
|
13
|
+
*
|
|
14
|
+
* The child's VERB scope (read/write/safe-shell/graph, no push/destructive,
|
|
15
|
+
* no grandchildren) is enforced separately in nac3_invoke via the
|
|
16
|
+
* YF_AGENT_MODE env flag -- not here. This module is pure orchestration.
|
|
17
|
+
*
|
|
18
|
+
* ASCII-only.
|
|
19
|
+
*/
|
|
20
|
+
import path from 'node:path';
|
|
21
|
+
import os from 'node:os';
|
|
22
|
+
import fs from 'node:fs/promises';
|
|
23
|
+
/** Terminal marker the sub-session must emit when the task is complete. */
|
|
24
|
+
export const SESSION_DONE_MARKER = '[SESSION_DONE]';
|
|
25
|
+
function configDir() {
|
|
26
|
+
const home = process.env.HOME || process.env.USERPROFILE || os.homedir();
|
|
27
|
+
const dir = process.env.YF_CONFIG_DIR || path.join(home, '.yujin-forge');
|
|
28
|
+
return dir.endsWith('.yujin-forge') ? dir : path.join(dir, '.yujin-forge');
|
|
29
|
+
}
|
|
30
|
+
/** Where a sub-session's full result is persisted (the bridge signal carries
|
|
31
|
+
* only a summary + this path, so a large deliverable is never truncated by
|
|
32
|
+
* the 4 KB bus cap). */
|
|
33
|
+
export function sessionResultPath(handle) {
|
|
34
|
+
const safe = handle.replace(/[^a-zA-Z0-9_.-]/g, '_').slice(0, 80);
|
|
35
|
+
return path.join(configDir(), 'sessions', safe + '.json');
|
|
36
|
+
}
|
|
37
|
+
/** Wrap the raw task with the sub-session contract: scope reminder + the
|
|
38
|
+
* mandatory terminal marker so the runner knows when it is done. */
|
|
39
|
+
function wrapTask(task) {
|
|
40
|
+
return [
|
|
41
|
+
'Sos una SUB-SESION de Forge en MODO AGENTE, lanzada por la sesion principal',
|
|
42
|
+
'para una tarea acotada. Trabajas sola y headless (sin panel, sin usuario que',
|
|
43
|
+
'apruebe modales en vivo).',
|
|
44
|
+
'',
|
|
45
|
+
'SCOPE: podes leer/buscar/escribir archivos del proyecto, correr comandos',
|
|
46
|
+
'shell SEGUROS, y consultar el grafo / pendientes / lector. NO podes hacer',
|
|
47
|
+
'git push/commit, ni acciones destructivas, ni lanzar otras sub-sesiones --',
|
|
48
|
+
'esas llamadas te seran rechazadas automaticamente, no insistas.',
|
|
49
|
+
'',
|
|
50
|
+
'Cuando termines, entrega un RESUMEN FINAL claro y accionable de lo que',
|
|
51
|
+
'encontraste o hiciste, y cerra el mensaje EXACTAMENTE con el marcador',
|
|
52
|
+
SESSION_DONE_MARKER + ' en una linea propia.',
|
|
53
|
+
'',
|
|
54
|
+
'TAREA:',
|
|
55
|
+
task,
|
|
56
|
+
].join('\n');
|
|
57
|
+
}
|
|
58
|
+
async function postTurn(fetchImpl, port, content, sessionId) {
|
|
59
|
+
const resp = await fetchImpl('http://127.0.0.1:' + port + '/api/chat', {
|
|
60
|
+
method: 'POST',
|
|
61
|
+
headers: { 'content-type': 'application/json' },
|
|
62
|
+
body: JSON.stringify({
|
|
63
|
+
messages: [{ role: 'user', content }],
|
|
64
|
+
session_id: sessionId,
|
|
65
|
+
/* origin 'bridge' keeps the turn out of the mobile/relay echo path. */
|
|
66
|
+
origin: 'bridge',
|
|
67
|
+
}),
|
|
68
|
+
});
|
|
69
|
+
const j = await resp.json();
|
|
70
|
+
if (!j || j.ok === false)
|
|
71
|
+
throw new Error(j?.error || 'turn failed');
|
|
72
|
+
return {
|
|
73
|
+
text: String(j.message?.text ?? ''),
|
|
74
|
+
tokensIn: Number(j.tokens?.in ?? 0),
|
|
75
|
+
tokensOut: Number(j.tokens?.out ?? 0),
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Run the sub-session task to completion (or budget/turn cap), persist the
|
|
80
|
+
* result, and publish the typed reply to the parent over the bridge.
|
|
81
|
+
*/
|
|
82
|
+
export async function runAgentSession(opts) {
|
|
83
|
+
const fetchImpl = opts.fetchImpl ?? fetch;
|
|
84
|
+
const maxTurns = Math.max(1, Math.min(20, opts.maxTurns ?? 6));
|
|
85
|
+
const budget = Math.max(0, opts.budgetTokens ?? 120_000);
|
|
86
|
+
const log = opts.log ?? (() => undefined);
|
|
87
|
+
const sessionId = 'agent-' + opts.handle;
|
|
88
|
+
let turns = 0;
|
|
89
|
+
let tokIn = 0;
|
|
90
|
+
let tokOut = 0;
|
|
91
|
+
let lastReply = '';
|
|
92
|
+
let status = 'maxturns';
|
|
93
|
+
let error;
|
|
94
|
+
try {
|
|
95
|
+
let nextMsg = wrapTask(opts.task);
|
|
96
|
+
while (turns < maxTurns) {
|
|
97
|
+
const r = await postTurn(fetchImpl, opts.port, nextMsg, sessionId);
|
|
98
|
+
turns += 1;
|
|
99
|
+
tokIn += r.tokensIn;
|
|
100
|
+
tokOut += r.tokensOut;
|
|
101
|
+
lastReply = r.text;
|
|
102
|
+
log('[session ' + opts.handle + '] turn ' + turns + ' (+' + (r.tokensIn + r.tokensOut) + ' tok)');
|
|
103
|
+
if (new RegExp(SESSION_DONE_MARKER.replace(/[[\]]/g, '\\$&'), 'i').test(r.text)) {
|
|
104
|
+
status = 'done';
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
if (budget > 0 && tokIn + tokOut >= budget) {
|
|
108
|
+
status = 'budget';
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
nextMsg = 'Continua la tarea. Cuando termines, da un resumen final y cierra'
|
|
112
|
+
+ ' con ' + SESSION_DONE_MARKER + '.';
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch (err) {
|
|
116
|
+
status = 'error';
|
|
117
|
+
error = err instanceof Error ? err.message : String(err);
|
|
118
|
+
log('[session ' + opts.handle + '] error: ' + error);
|
|
119
|
+
}
|
|
120
|
+
const reply = lastReply.replace(SESSION_DONE_MARKER, '').trim();
|
|
121
|
+
/* Persist the full result to disk (no bus-cap truncation). */
|
|
122
|
+
let resultPath = null;
|
|
123
|
+
try {
|
|
124
|
+
const p = sessionResultPath(opts.handle);
|
|
125
|
+
await fs.mkdir(path.dirname(p), { recursive: true });
|
|
126
|
+
await fs.writeFile(p, JSON.stringify({
|
|
127
|
+
handle: opts.handle,
|
|
128
|
+
status,
|
|
129
|
+
reply,
|
|
130
|
+
turns,
|
|
131
|
+
tokens_in: tokIn,
|
|
132
|
+
tokens_out: tokOut,
|
|
133
|
+
finished_at: new Date().toISOString(),
|
|
134
|
+
...(error ? { error } : {}),
|
|
135
|
+
}, null, 2), 'utf-8');
|
|
136
|
+
resultPath = p;
|
|
137
|
+
}
|
|
138
|
+
catch (err) {
|
|
139
|
+
log('[session ' + opts.handle + '] persist failed: ' + (err instanceof Error ? err.message : String(err)));
|
|
140
|
+
}
|
|
141
|
+
/* Publish the compact signal on the typed lane (directed to the parent).
|
|
142
|
+
* The summary is bounded; the parent loads result_path for the full text. */
|
|
143
|
+
if (opts.bridge) {
|
|
144
|
+
try {
|
|
145
|
+
const summary = reply.slice(0, 1500);
|
|
146
|
+
const signal = JSON.stringify({
|
|
147
|
+
v: 1,
|
|
148
|
+
handle: opts.handle,
|
|
149
|
+
status,
|
|
150
|
+
summary,
|
|
151
|
+
result_path: resultPath,
|
|
152
|
+
turns,
|
|
153
|
+
tokens_in: tokIn,
|
|
154
|
+
tokens_out: tokOut,
|
|
155
|
+
...(error ? { error } : {}),
|
|
156
|
+
});
|
|
157
|
+
await opts.bridge.send(signal, { to: opts.replyTo, kind: 'session_reply' });
|
|
158
|
+
log('[session ' + opts.handle + '] reply -> ' + opts.replyTo + ' (' + status + ')');
|
|
159
|
+
}
|
|
160
|
+
catch (err) {
|
|
161
|
+
log('[session ' + opts.handle + '] reply send failed: ' + (err instanceof Error ? err.message : String(err)));
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
log('[session ' + opts.handle + '] bridge off -- result on disk only at ' + (resultPath || '?'));
|
|
166
|
+
}
|
|
167
|
+
return { handle: opts.handle, status, reply, turns, tokens_in: tokIn, tokens_out: tokOut, result_path: resultPath, ...(error ? { error } : {}) };
|
|
168
|
+
}
|
|
169
|
+
//# sourceMappingURL=agent_session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent_session.js","sourceRoot":"","sources":["../../src/chat/agent_session.ts"],"names":[],"mappings":"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"}
|
package/dist/chat/bridge.d.ts
CHANGED
|
@@ -19,6 +19,13 @@ export interface BridgeMessage {
|
|
|
19
19
|
to?: string;
|
|
20
20
|
/** Hop counter for loop control across a directed chain (capped). */
|
|
21
21
|
hop?: number;
|
|
22
|
+
/** Message lane. Absent / 'chat' = a coordination chat message (directed
|
|
23
|
+
* ones get injected as a chat turn on the target). Any other value is a
|
|
24
|
+
* TYPED lane that is NOT auto-injected -- it stays in the ring for the
|
|
25
|
+
* target to POLL on demand (e.g. 'session_reply', a spawned sub-session's
|
|
26
|
+
* result for yujin.session.collect). Keeps autonomous replies from
|
|
27
|
+
* spending a chat turn on the parent. */
|
|
28
|
+
kind?: string;
|
|
22
29
|
}
|
|
23
30
|
export interface BridgeState {
|
|
24
31
|
instances: BridgeInstance[];
|
|
@@ -40,6 +47,7 @@ export interface BridgeHandle {
|
|
|
40
47
|
send(text: string, opts?: {
|
|
41
48
|
to?: string;
|
|
42
49
|
hop?: number;
|
|
50
|
+
kind?: string;
|
|
43
51
|
}): Promise<void>;
|
|
44
52
|
state(): Promise<BridgeState>;
|
|
45
53
|
stop(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/chat/bridge.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,WAAW,QAA6C,CAAC;AAYtE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX;;gEAE4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../src/chat/bridge.ts"],"names":[],"mappings":"AAwBA,eAAO,MAAM,WAAW,QAA6C,CAAC;AAYtE,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX;;gEAE4D;IAC5D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;;8CAK0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,+EAA+E;IAC/E,IAAI,IAAI,MAAM,GAAG,QAAQ,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AA0LD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAoEhG"}
|
package/dist/chat/bridge.js
CHANGED
|
@@ -177,15 +177,19 @@ function makeHostServer() {
|
|
|
177
177
|
const from_name = String(b.from_name || '');
|
|
178
178
|
const to = b.to ? String(b.to).slice(0, 120) : undefined;
|
|
179
179
|
const hop = Math.max(0, Math.min(MAX_HOP + 1, Number(b.hop) || 0));
|
|
180
|
+
const kind = b.kind ? String(b.kind).slice(0, 40) : undefined;
|
|
180
181
|
seq.n += 1;
|
|
181
182
|
messages.push({
|
|
182
183
|
seq: seq.n, from, from_name, text, ts: Date.now(),
|
|
183
|
-
...(to ? { to } : {}), hop,
|
|
184
|
+
...(to ? { to } : {}), hop, ...(kind ? { kind } : {}),
|
|
184
185
|
});
|
|
185
186
|
while (messages.length > MSG_RING)
|
|
186
187
|
messages.shift();
|
|
187
|
-
/* Directed -> push-deliver to the target's inbox (fire-and-forget)
|
|
188
|
-
|
|
188
|
+
/* Directed -> push-deliver to the target's inbox (fire-and-forget),
|
|
189
|
+
* but ONLY for the chat lane. A typed lane (kind='session_reply',
|
|
190
|
+
* etc.) must NOT be injected as a chat turn -- it rides the ring for
|
|
191
|
+
* the target to poll. */
|
|
192
|
+
if (to && (!kind || kind === 'chat'))
|
|
189
193
|
deliverDirected({ from, from_name, text, to, hop });
|
|
190
194
|
send(200, { ok: true, seq: seq.n, directed: !!to });
|
|
191
195
|
});
|
|
@@ -276,6 +280,7 @@ export async function startBridge(self, portOverride) {
|
|
|
276
280
|
from: self.id, from_name: self.project_name, text: t,
|
|
277
281
|
...(opts?.to ? { to: opts.to } : {}),
|
|
278
282
|
...(typeof opts?.hop === 'number' ? { hop: opts.hop } : {}),
|
|
283
|
+
...(opts?.kind ? { kind: opts.kind } : {}),
|
|
279
284
|
});
|
|
280
285
|
}
|
|
281
286
|
async function state() {
|
package/dist/chat/bridge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/chat/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../src/chat/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude_cli.d.ts","sourceRoot":"","sources":["../../src/chat/claude_cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,EAAkB,KAAK,aAAa,EAAoB,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAgBpI,MAAM,WAAW,sBAAsB;IACrC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;0EACsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;mCAC+B;IAC/B,cAAc,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;+DAI2D;IAC3D,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C;wEACoE;IACpE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,YAAY,CAAC;CAC1F;AAoGD;;;oBAGoB;AACpB,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED;;;0DAG0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAO7D;AAED,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAMnB;IAEF,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAuB;IAC5C,gEAAgE;IAChE,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;uDAGmD;IACnD,OAAO,CAAC,qBAAqB;gBAUjB,IAAI,GAAE,sBAA2B;IAa7C;;;2DAGuD;IACvD,OAAO,CAAC,eAAe;IAkCvB;mDAC+C;IAC/C,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"claude_cli.d.ts","sourceRoot":"","sources":["../../src/chat/claude_cli.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAK9D,OAAO,EAA6B,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrF,OAAO,EAAkB,KAAK,aAAa,EAAoB,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAgBpI,MAAM,WAAW,sBAAsB;IACrC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;0EACsE;IACtE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB;mCAC+B;IAC/B,cAAc,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACjD,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;+DAI2D;IAC3D,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C;wEACoE;IACpE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,YAAY,CAAC;CAC1F;AAoGD;;;oBAGoB;AACpB,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED;;;0DAG0D;AAC1D,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAO7D;AAED,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,QAAQ,CAAC,IAAI,CAMnB;IAEF,6DAA6D;IAC7D,OAAO,CAAC,aAAa,CAAuB;IAC5C,gEAAgE;IAChE,OAAO,CAAC,gBAAgB,CAAuB;IAE/C;;;uDAGmD;IACnD,OAAO,CAAC,qBAAqB;gBAUjB,IAAI,GAAE,sBAA2B;IAa7C;;;2DAGuD;IACvD,OAAO,CAAC,eAAe;IAkCvB;mDAC+C;IAC/C,SAAS,CAAC,GAAG,EAAE,iBAAiB,GAAG,MAAM,EAAE;IA8DrC,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwRhE;AAED;;;4DAG4D;AAC5D;;;;oEAIoE;AACpE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,iBAAiB,GAAG,MAAM,GAAG,MAAM,CAkCxG;AAED;;;+DAG+D;AAC/D,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IACzF,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,IAAI,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1C,iEAAiE;IACjE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB;AAWD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAsC1E;AAED;;;;sDAIsD;AACtD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,UAAU,CAuB5E;AAED;;;;;;;yBAOyB;AACzB,wBAAsB,cAAc,CAAC,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC;IAC/E,EAAE,EAAgB,OAAO,CAAC;IAC1B,YAAY,CAAC,EAAK,MAAM,CAAC;IACzB,KAAK,CAAC,EAAY,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAS,MAAM,CAAC;IACzB,KAAK,CAAC,EAAY,MAAM,CAAC;CAC1B,CAAC,CAkDD"}
|
package/dist/chat/claude_cli.js
CHANGED
|
@@ -228,6 +228,13 @@ export class ClaudeCliClient {
|
|
|
228
228
|
if (allowed.length > 0) {
|
|
229
229
|
args.push('--allowed-tools', allowed.join(' '));
|
|
230
230
|
}
|
|
231
|
+
/* `claude -p` is NON-INTERACTIVE: AskUserQuestion cannot prompt the user,
|
|
232
|
+
* so the model would call it, get nothing, and proceed on an assumption
|
|
233
|
+
* ("no me pregunta, sigue de largo"). Disable it so the model is forced to
|
|
234
|
+
* ask in plain prose AS ITS FINAL MESSAGE instead (see R9 in the system
|
|
235
|
+
* prompt) -- that surfaces in the chat and the user answers next turn.
|
|
236
|
+
* Pablo also rejects the popup modal, so this is doubly aligned. */
|
|
237
|
+
args.push('--disallowed-tools', 'AskUserQuestion');
|
|
231
238
|
for (const dir of this.opts.addDirs) {
|
|
232
239
|
args.push('--add-dir', dir);
|
|
233
240
|
}
|