genaicode 2.14.0 → 2.16.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 +32 -0
- package/README.md +70 -0
- package/dist/agents/drivers/claude.d.ts +5 -0
- package/dist/agents/drivers/claude.js +12 -4
- package/dist/agents/drivers/claude.js.map +1 -1
- package/dist/agents/drivers/codex.d.ts +34 -2
- package/dist/agents/drivers/codex.js +83 -8
- package/dist/agents/drivers/codex.js.map +1 -1
- package/dist/agents/drivers/copilot.d.ts +13 -0
- package/dist/agents/drivers/copilot.js +26 -1
- package/dist/agents/drivers/copilot.js.map +1 -1
- package/dist/agents/drivers/mcp-isolation.d.ts +9 -0
- package/dist/agents/drivers/mcp-isolation.js +24 -0
- package/dist/agents/drivers/mcp-isolation.js.map +1 -0
- package/dist/agents/prepare.d.ts +2 -0
- package/dist/agents/prepare.js +2 -1
- package/dist/agents/prepare.js.map +1 -1
- package/dist/agents/session.d.ts +12 -2
- package/dist/agents/session.js +53 -9
- package/dist/agents/session.js.map +1 -1
- package/dist/app-agent/app-agent.d.ts +139 -0
- package/dist/app-agent/app-agent.js +683 -0
- package/dist/app-agent/app-agent.js.map +1 -0
- package/dist/app-agent/git.d.ts +25 -0
- package/dist/app-agent/git.js +286 -0
- package/dist/app-agent/git.js.map +1 -0
- package/dist/app-agent/http.d.ts +41 -0
- package/dist/app-agent/http.js +228 -0
- package/dist/app-agent/http.js.map +1 -0
- package/dist/app-agent/json.d.ts +7 -0
- package/dist/app-agent/json.js +62 -0
- package/dist/app-agent/json.js.map +1 -0
- package/dist/app-agent/mcp.d.ts +15 -0
- package/dist/app-agent/mcp.js +53 -0
- package/dist/app-agent/mcp.js.map +1 -0
- package/dist/app-agent/policy.d.ts +13 -0
- package/dist/app-agent/policy.js +99 -0
- package/dist/app-agent/policy.js.map +1 -0
- package/dist/app-agent/state.d.ts +75 -0
- package/dist/app-agent/state.js +10 -0
- package/dist/app-agent/state.js.map +1 -0
- package/dist/app-agent.d.ts +8 -0
- package/dist/app-agent.js +5 -0
- package/dist/app-agent.js.map +1 -0
- package/dist/react/agent-chat.css +137 -0
- package/dist/react/app-agent-chat.d.ts +62 -0
- package/dist/react/app-agent-chat.js +230 -0
- package/dist/react/app-agent-chat.js.map +1 -0
- package/dist/react.d.ts +4 -0
- package/dist/react.js +2 -0
- package/dist/react.js.map +1 -1
- package/dist/ui/index.js +59 -59
- package/dist/ui/web-client.js +148 -11
- package/package.json +5 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { AgentTask } from '../types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Names of the MCP servers an agent CLI would load on its own (user, workspace and plugin
|
|
4
|
+
* config), from its `mcp list --json`, so a run can switch off every server but the task's.
|
|
5
|
+
* Throws when the list cannot be read: a run that must be isolated does not start without it.
|
|
6
|
+
*/
|
|
7
|
+
export declare function configuredMcpServers<T extends string | {
|
|
8
|
+
name: string;
|
|
9
|
+
}>(command: string, task: AgentTask, servers: (listing: unknown) => T[]): Promise<T[]>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { execFile } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* Names of the MCP servers an agent CLI would load on its own (user, workspace and plugin
|
|
4
|
+
* config), from its `mcp list --json`, so a run can switch off every server but the task's.
|
|
5
|
+
* Throws when the list cannot be read: a run that must be isolated does not start without it.
|
|
6
|
+
*/
|
|
7
|
+
export function configuredMcpServers(command, task, servers) {
|
|
8
|
+
return new Promise((resolve, reject) => {
|
|
9
|
+
// `task.env` replaces the environment, as it does for the run itself: what the caller left out stays out.
|
|
10
|
+
execFile(command, ['mcp', 'list', '--json'], { cwd: task.cwd, env: task.env ?? process.env, timeout: 30_000, maxBuffer: 8 * 1024 * 1024 }, (error, stdout) => {
|
|
11
|
+
if (error)
|
|
12
|
+
return reject(new Error(`could not list ${command}'s MCP servers: ${error.message}`));
|
|
13
|
+
try {
|
|
14
|
+
const own = new Set((task.mcpServers ?? []).map((server) => server.name));
|
|
15
|
+
const nameOf = (server) => (typeof server === 'string' ? server : server.name);
|
|
16
|
+
resolve(servers(JSON.parse(String(stdout))).filter((server) => !own.has(nameOf(server))));
|
|
17
|
+
}
|
|
18
|
+
catch (parseError) {
|
|
19
|
+
reject(new Error(`could not read ${command}'s MCP server list: ${parseError.message}`));
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=mcp-isolation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-isolation.js","sourceRoot":"","sources":["../../../src/agents/drivers/mcp-isolation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,IAAe,EACf,OAAkC;IAElC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,0GAA0G;QAC1G,QAAQ,CACN,OAAO,EACP,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EACzB,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,EAC5F,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAChB,IAAI,KAAK;gBAAE,OAAO,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,OAAO,mBAAmB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1E,MAAM,MAAM,GAAG,CAAC,MAAS,EAAE,EAAE,CAAC,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAY,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,KAAK,CAAC,kBAAkB,OAAO,uBAAwB,UAAoB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACrG,CAAC;QACH,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/dist/agents/prepare.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface PrepareContext {
|
|
|
14
14
|
/** Aborts once the task is over: the process exited, or it was stopped before it started. */
|
|
15
15
|
readonly signal: AbortSignal;
|
|
16
16
|
}
|
|
17
|
+
/** MCP server names every driver accepts. */
|
|
18
|
+
export declare const MCP_NAME: RegExp;
|
|
17
19
|
/** Reject a task the agent cannot honor before anything is spawned. */
|
|
18
20
|
export declare function unsupportedTask(name: string, capabilities: AgentCapabilities, task: AgentTask): string | undefined;
|
|
19
21
|
export declare function isHttpServer(server: McpServer): server is Extract<McpServer, {
|
package/dist/agents/prepare.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { unsupportedPermissions } from './permissions.js';
|
|
2
|
-
|
|
2
|
+
/** MCP server names every driver accepts. */
|
|
3
|
+
export const MCP_NAME = /^[A-Za-z0-9_-]+$/;
|
|
3
4
|
/** Reject a task the agent cannot honor before anything is spawned. */
|
|
4
5
|
export function unsupportedTask(name, capabilities, task) {
|
|
5
6
|
const servers = task.mcpServers ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/agents/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAoB1D,MAAM,QAAQ,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"prepare.js","sourceRoot":"","sources":["../../src/agents/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAoB1D,6CAA6C;AAC7C,MAAM,CAAC,MAAM,QAAQ,GAAG,kBAAkB,CAAC;AAE3C,uEAAuE;AACvE,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,YAA+B,EAAE,IAAe;IAC5F,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,YAAY,CAAC,MAAM;QAAE,OAAO,GAAG,IAAI,0CAA0C,CAAC;IAChH,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,kCAAkC,CAAC;IAChG,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG;QAAE,OAAO,GAAG,IAAI,+CAA+C,CAAC;IACvG,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,4BAA4B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;QACnG,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;YAAE,OAAO,8BAA8B,MAAM,CAAC,IAAI,GAAG,CAAC;QAChF,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,sBAAsB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAiB;IAC5C,OAAO,KAAK,IAAI,MAAM,CAAC;AACzB,CAAC;AAcD,oFAAoF;AACpF,MAAM,UAAU,SAAS,CAAC,UAA2B,EAAE,IAAe,EAAE,QAA4B;IAClG,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC;IAClG,IAAI,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAED,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,UAEC,EACD,IAAe,EACf,QAA4B,EAC5B,OAAuB;IAEvB,MAAM,OAAO,GAAG,eAAe,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE,EAAE,IAAI,CAAC,IAAI,QAAQ,CAAC;IAClG,IAAI,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChH,OAAO,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACtF,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAChB,UAAwC,EACxC,IAAe,EACf,QAAqB;IAErB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnF,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO;QACL,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG;QACH,OAAO;YACL,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC;gBACP,uEAAuE;YACzE,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/agents/session.d.ts
CHANGED
|
@@ -54,6 +54,8 @@ export interface SessionState {
|
|
|
54
54
|
turns: SessionTurn[];
|
|
55
55
|
/** Prompts waiting for the running turn to end. */
|
|
56
56
|
queued: string[];
|
|
57
|
+
/** Host notes (`send(text, { note: true })`) waiting for a turn; they run before `queued`. */
|
|
58
|
+
notes?: string[];
|
|
57
59
|
/** Approval requests waiting for `approve()`. */
|
|
58
60
|
approvals: ApprovalRequest[];
|
|
59
61
|
usage: TokenUsage;
|
|
@@ -97,8 +99,16 @@ export interface AgentSessionOptions {
|
|
|
97
99
|
export interface AgentSession {
|
|
98
100
|
get(): SessionState;
|
|
99
101
|
subscribe(listener: (state: SessionState) => void): () => void;
|
|
100
|
-
/**
|
|
101
|
-
|
|
102
|
+
/**
|
|
103
|
+
* Start, steer, or queue a prompt. Empty text is ignored. `note` marks a message from the
|
|
104
|
+
* host app (an action's outcome): it is never steered, runs before the queued prompts, and is
|
|
105
|
+
* kept when the user stops the turn, to run before their next prompt. `queue` waits for its
|
|
106
|
+
* own turn instead of steering a running one.
|
|
107
|
+
*/
|
|
108
|
+
send(text: string, options?: {
|
|
109
|
+
note?: boolean;
|
|
110
|
+
queue?: boolean;
|
|
111
|
+
}): void;
|
|
102
112
|
/** Stop the running turn and drop queued prompts. */
|
|
103
113
|
stop(): void;
|
|
104
114
|
/** Answer a pending approval request. Returns false when no such request is pending. */
|
package/dist/agents/session.js
CHANGED
|
@@ -12,6 +12,7 @@ export function createAgentSession(options) {
|
|
|
12
12
|
status: 'idle',
|
|
13
13
|
turns: [],
|
|
14
14
|
queued: [],
|
|
15
|
+
notes: [],
|
|
15
16
|
approvals: [],
|
|
16
17
|
usage: {},
|
|
17
18
|
canSteer: false,
|
|
@@ -27,6 +28,17 @@ export function createAgentSession(options) {
|
|
|
27
28
|
let explicitResume = options.resume;
|
|
28
29
|
// `reset()` during a turn: forget the session that turn reports when it ends.
|
|
29
30
|
let forgetAfterTurn = false;
|
|
31
|
+
// After a user stop, `state.notes` wait for the user's next prompt instead of starting a turn.
|
|
32
|
+
let holdNotes = false;
|
|
33
|
+
// A note's turn that a stop cuts short puts the note back: the agent may not have heard it.
|
|
34
|
+
let nextIsNote = false;
|
|
35
|
+
let noteTurn;
|
|
36
|
+
const shiftNote = () => {
|
|
37
|
+
const [next, ...rest] = state.notes ?? [];
|
|
38
|
+
nextIsNote = true;
|
|
39
|
+
set({ notes: rest });
|
|
40
|
+
return next;
|
|
41
|
+
};
|
|
30
42
|
// Usage of finished turns; the running turn's latest report is added on top.
|
|
31
43
|
let pastUsage = {};
|
|
32
44
|
let pastCost;
|
|
@@ -169,7 +181,10 @@ export function createAgentSession(options) {
|
|
|
169
181
|
resolve();
|
|
170
182
|
};
|
|
171
183
|
const startTurn = (prompt) => {
|
|
184
|
+
holdNotes = false;
|
|
172
185
|
const turnId = nextTurnId++;
|
|
186
|
+
noteTurn = nextIsNote ? { id: turnId, text: prompt } : undefined;
|
|
187
|
+
nextIsNote = false;
|
|
173
188
|
const turn = { id: turnId, agent: agent.name, prompt, entries: [], startedAt: Date.now() };
|
|
174
189
|
const resume = explicitResume !== undefined
|
|
175
190
|
? explicitResume
|
|
@@ -213,6 +228,8 @@ export function createAgentSession(options) {
|
|
|
213
228
|
addEntry(turnId, { kind: 'error', message: error instanceof Error ? error.message : String(error) });
|
|
214
229
|
}
|
|
215
230
|
const result = await current.result;
|
|
231
|
+
if (noteTurn?.id === turnId)
|
|
232
|
+
noteTurn = undefined;
|
|
216
233
|
denyPending();
|
|
217
234
|
run = undefined;
|
|
218
235
|
controller = undefined;
|
|
@@ -234,9 +251,8 @@ export function createAgentSession(options) {
|
|
|
234
251
|
}
|
|
235
252
|
else if (result.sessionId)
|
|
236
253
|
set({ sessionId: result.sessionId });
|
|
237
|
-
const
|
|
238
|
-
if (next !== undefined
|
|
239
|
-
set({ queued: rest });
|
|
254
|
+
const next = closed ? undefined : takeNext();
|
|
255
|
+
if (next !== undefined) {
|
|
240
256
|
startTurn(next);
|
|
241
257
|
}
|
|
242
258
|
else {
|
|
@@ -245,24 +261,46 @@ export function createAgentSession(options) {
|
|
|
245
261
|
}
|
|
246
262
|
})();
|
|
247
263
|
};
|
|
264
|
+
const takeNext = () => {
|
|
265
|
+
if (state.notes?.length && !holdNotes)
|
|
266
|
+
return shiftNote();
|
|
267
|
+
const [next, ...rest] = state.queued;
|
|
268
|
+
if (next !== undefined)
|
|
269
|
+
set({ queued: rest });
|
|
270
|
+
return next;
|
|
271
|
+
};
|
|
248
272
|
return {
|
|
249
273
|
get: () => state,
|
|
250
274
|
subscribe(listener) {
|
|
251
275
|
listeners.add(listener);
|
|
252
276
|
return () => listeners.delete(listener);
|
|
253
277
|
},
|
|
254
|
-
send(text) {
|
|
278
|
+
send(text, sendOptions) {
|
|
255
279
|
const prompt = text.trim();
|
|
256
280
|
if (!prompt || closed)
|
|
257
281
|
return;
|
|
258
|
-
if (
|
|
259
|
-
|
|
282
|
+
if (sendOptions?.note) {
|
|
283
|
+
set({ notes: [...(state.notes ?? []), prompt] });
|
|
284
|
+
// A new note releases the held ones, oldest first: now, or as the running turn ends.
|
|
285
|
+
holdNotes = false;
|
|
286
|
+
if (state.status === 'idle')
|
|
287
|
+
return startTurn(shiftNote());
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
holdNotes = false;
|
|
291
|
+
if (state.status === 'idle') {
|
|
292
|
+
// Held notes go first: the agent hears what happened before the user's next words.
|
|
293
|
+
if (!state.notes?.length)
|
|
294
|
+
return startTurn(prompt);
|
|
295
|
+
set({ queued: [...state.queued, prompt] });
|
|
296
|
+
return startTurn(shiftNote());
|
|
297
|
+
}
|
|
260
298
|
const current = run;
|
|
261
299
|
const turnId = state.turns.at(-1)?.id;
|
|
262
300
|
const turnController = controller;
|
|
263
301
|
// Transform only what is steered now; a queued prompt is transformed when its turn starts.
|
|
264
302
|
let steerText;
|
|
265
|
-
if (current?.steer && state.canSteer && turnId !== undefined) {
|
|
303
|
+
if (current?.steer && state.canSteer && turnId !== undefined && !sendOptions?.queue) {
|
|
266
304
|
try {
|
|
267
305
|
steerText = toAgent(prompt);
|
|
268
306
|
}
|
|
@@ -279,8 +317,7 @@ export function createAgentSession(options) {
|
|
|
279
317
|
return;
|
|
280
318
|
set({ queued: [...state.queued, prompt] });
|
|
281
319
|
if (state.status === 'idle') {
|
|
282
|
-
const
|
|
283
|
-
set({ queued: rest });
|
|
320
|
+
const next = takeNext();
|
|
284
321
|
if (next !== undefined)
|
|
285
322
|
startTurn(next);
|
|
286
323
|
}
|
|
@@ -292,6 +329,11 @@ export function createAgentSession(options) {
|
|
|
292
329
|
stop() {
|
|
293
330
|
if (state.queued.length)
|
|
294
331
|
set({ queued: [] });
|
|
332
|
+
if (noteTurn) {
|
|
333
|
+
set({ notes: [noteTurn.text, ...(state.notes ?? [])] });
|
|
334
|
+
noteTurn = undefined;
|
|
335
|
+
}
|
|
336
|
+
holdNotes = true;
|
|
295
337
|
denyPending();
|
|
296
338
|
controller?.abort();
|
|
297
339
|
run?.abort();
|
|
@@ -331,6 +373,8 @@ export function createAgentSession(options) {
|
|
|
331
373
|
},
|
|
332
374
|
close() {
|
|
333
375
|
closed = true;
|
|
376
|
+
if (state.notes?.length)
|
|
377
|
+
set({ notes: [] });
|
|
334
378
|
this.stop();
|
|
335
379
|
listeners.clear();
|
|
336
380
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agents/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agents/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import type { ApprovalDecision, CodingAgent } from '../agents/types.js';
|
|
2
|
+
import type { McpTool } from './mcp.js';
|
|
3
|
+
import { type AppAgentMode, type AppAgentState, type TreeChanges } from './state.js';
|
|
4
|
+
export interface AppTool {
|
|
5
|
+
name: string;
|
|
6
|
+
description: string;
|
|
7
|
+
/** JSON Schema of the arguments. Default: no arguments. */
|
|
8
|
+
inputSchema?: Record<string, unknown>;
|
|
9
|
+
/** Needs the user's approval. The agent also passes `approval_summary`, which `run` never sees. */
|
|
10
|
+
write?: boolean;
|
|
11
|
+
/** Throw to refuse a call. Write tools check here, before an action is created. */
|
|
12
|
+
validate?(args: Record<string, unknown>): void;
|
|
13
|
+
/** What the tool returns to the agent (read tools) or the outcome of an approved action (write tools). */
|
|
14
|
+
run(args: Record<string, unknown>): Promise<string> | string;
|
|
15
|
+
}
|
|
16
|
+
export interface AppAgentOptions {
|
|
17
|
+
/** How the agent should call the app, e.g. "the gamedev.pl operator console". */
|
|
18
|
+
name: string;
|
|
19
|
+
/** Added to the briefing the first prompt carries. */
|
|
20
|
+
instructions?: string | ((mode: AppAgentMode) => string);
|
|
21
|
+
tools?: readonly AppTool[];
|
|
22
|
+
/** Paths of the app's pages. Turns on page context and the `app_view`, `app_links` and `app_open` tools. */
|
|
23
|
+
pages?: () => readonly string[];
|
|
24
|
+
/** Turns on `dev` mode: the agent edits the app's code in `cwd` and proposes a commit. */
|
|
25
|
+
dev?: {
|
|
26
|
+
cwd: string;
|
|
27
|
+
/** Git repository the commit goes to. Default `cwd`. */
|
|
28
|
+
repo?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Commands the agent may run there, each with any arguments, e.g. `npm test`; anything
|
|
31
|
+
* else, git included, goes through the agent CLI's own permission prompt.
|
|
32
|
+
* Claude and Copilot enforce the list; Codex only has its `workspace-write` sandbox.
|
|
33
|
+
*/
|
|
34
|
+
commands?: readonly string[];
|
|
35
|
+
instructions?: string;
|
|
36
|
+
};
|
|
37
|
+
/** Agents offered in each mode. Default `defaultAppAgents(mode, dev.commands)`. */
|
|
38
|
+
agents?: (mode: AppAgentMode) => readonly CodingAgent[];
|
|
39
|
+
/** Agent to start with. Default: the first installed one. */
|
|
40
|
+
agent?: string;
|
|
41
|
+
/** Where the agent reaches the app's MCP endpoint (`<basePath>/mcp` of the handler). */
|
|
42
|
+
mcpUrl: string | (() => string);
|
|
43
|
+
/** MCP server name the agent sees (letters, digits, `_`, `-`); its tools show as `mcp__<name>__<tool>`. Default `app`. */
|
|
44
|
+
serverName?: string;
|
|
45
|
+
env?: NodeJS.ProcessEnv;
|
|
46
|
+
/** Every prompt, tool call, decision and finished turn, e.g. to append to a JSONL log. */
|
|
47
|
+
trace?: (record: AppAgentTrace) => void;
|
|
48
|
+
now?: () => number;
|
|
49
|
+
/** How long an approved commit waits for the turn it stops to end; past it the commit fails. Default 10 s. */
|
|
50
|
+
stopTimeoutMs?: number;
|
|
51
|
+
}
|
|
52
|
+
/** One line of the trace. Long texts are clipped. */
|
|
53
|
+
export type AppAgentTrace = {
|
|
54
|
+
kind: 'session';
|
|
55
|
+
agent: string;
|
|
56
|
+
mode: AppAgentMode;
|
|
57
|
+
} | {
|
|
58
|
+
kind: 'prompt';
|
|
59
|
+
agent: string;
|
|
60
|
+
mode: AppAgentMode;
|
|
61
|
+
view: string | null;
|
|
62
|
+
text: string;
|
|
63
|
+
} | {
|
|
64
|
+
kind: 'note';
|
|
65
|
+
text: string;
|
|
66
|
+
} | {
|
|
67
|
+
kind: 'mcp';
|
|
68
|
+
tool: string;
|
|
69
|
+
args: Record<string, unknown>;
|
|
70
|
+
ok: boolean;
|
|
71
|
+
ms: number;
|
|
72
|
+
result?: string;
|
|
73
|
+
error?: string;
|
|
74
|
+
} | {
|
|
75
|
+
kind: 'decision';
|
|
76
|
+
action: string;
|
|
77
|
+
summary: string;
|
|
78
|
+
decision: 'approve' | 'reject';
|
|
79
|
+
} | {
|
|
80
|
+
kind: 'turn';
|
|
81
|
+
agent: string;
|
|
82
|
+
mode: AppAgentMode;
|
|
83
|
+
turn: number;
|
|
84
|
+
status: string;
|
|
85
|
+
ok: boolean;
|
|
86
|
+
error?: string;
|
|
87
|
+
ms: number;
|
|
88
|
+
costUsd?: number;
|
|
89
|
+
entries: unknown[];
|
|
90
|
+
};
|
|
91
|
+
export interface AppAgent {
|
|
92
|
+
get(): AppAgentState;
|
|
93
|
+
subscribe(listener: (state: AppAgentState) => void): () => void;
|
|
94
|
+
/** A message from the user. Carries the open page when the app reports one. */
|
|
95
|
+
send(text: string): void;
|
|
96
|
+
/**
|
|
97
|
+
* A note from the app, e.g. a background job a tool started has finished. It reaches the
|
|
98
|
+
* agent ahead of queued prompts but never starts a conversation. Right after an agent or mode
|
|
99
|
+
* switch the next agent hears it in its briefing; with no conversation at all it is dropped.
|
|
100
|
+
*/
|
|
101
|
+
notify(text: string): void;
|
|
102
|
+
stop(): void;
|
|
103
|
+
/** Drop the conversation, history and chips; the next message starts fresh. */
|
|
104
|
+
reset(): void;
|
|
105
|
+
/**
|
|
106
|
+
* Switch agent or mode between turns. Throws while a turn runs. The transcript so far moves
|
|
107
|
+
* to `history`, and the next agent's first prompt carries a short version of it.
|
|
108
|
+
*/
|
|
109
|
+
configure(change: {
|
|
110
|
+
agent?: string;
|
|
111
|
+
mode?: AppAgentMode;
|
|
112
|
+
}): void;
|
|
113
|
+
/** The app reports which page is open. */
|
|
114
|
+
setView(path: string): void;
|
|
115
|
+
decide(id: string, decision: 'approve' | 'reject'): void;
|
|
116
|
+
/** Answer a permission prompt of the agent CLI itself (`session.approvals`). */
|
|
117
|
+
approve(id: string, decision: ApprovalDecision): void;
|
|
118
|
+
/** The diff a proposed commit would land. */
|
|
119
|
+
changes(id: string): Promise<TreeChanges>;
|
|
120
|
+
/** The tools the agent currently sees over MCP. */
|
|
121
|
+
mcpTools(): McpTool[];
|
|
122
|
+
/** Bearer the current session's agent sends to the MCP endpoint; a new one with every session. */
|
|
123
|
+
readonly mcpToken: string;
|
|
124
|
+
readonly serverName: string;
|
|
125
|
+
close(): void;
|
|
126
|
+
}
|
|
127
|
+
export declare class AppAgentError extends Error {
|
|
128
|
+
readonly status: number;
|
|
129
|
+
constructor(message: string, status: number);
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* A coding agent inside a local app: the user chats with an agent CLI from their machine
|
|
133
|
+
* (Claude Code, Codex, Copilot...), the agent uses the app through tools the app serves over
|
|
134
|
+
* MCP, writes wait for the user's approval, and in `dev` mode the agent also changes the
|
|
135
|
+
* app's code and proposes a commit of exactly the reviewed tree.
|
|
136
|
+
*
|
|
137
|
+
* This is the state and logic only; `createAppAgentHandler` serves it over HTTP.
|
|
138
|
+
*/
|
|
139
|
+
export declare function createAppAgent(options: AppAgentOptions): AppAgent;
|