@stratusagent/core 0.2.2 → 0.3.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/dist/index.d.ts +150 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +216 -33
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
package/dist/index.d.ts
CHANGED
|
@@ -79,10 +79,66 @@ export type ProviderPart = {
|
|
|
79
79
|
type: 'tool-call';
|
|
80
80
|
call: ToolCall;
|
|
81
81
|
};
|
|
82
|
+
/**
|
|
83
|
+
* A streamed fragment of an in-progress provider response. Text deltas carry
|
|
84
|
+
* output as it is generated; tool-call deltas announce that the model has
|
|
85
|
+
* started emitting a call (input may still be incomplete). A reset delta
|
|
86
|
+
* tells consumers to DISCARD every fragment streamed so far for this
|
|
87
|
+
* response — emitted when a provider abandons a partial attempt (e.g. a
|
|
88
|
+
* fallback wrapper retrying after the primary failed mid-stream), so
|
|
89
|
+
* renderers never fuse two attempts into one message.
|
|
90
|
+
*/
|
|
91
|
+
export type ProviderDelta = {
|
|
92
|
+
type: 'text';
|
|
93
|
+
text: string;
|
|
94
|
+
} | {
|
|
95
|
+
type: 'tool-call';
|
|
96
|
+
toolName: string;
|
|
97
|
+
inputFragment?: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* The model is reasoning: a content-free progress signal so activity
|
|
101
|
+
* watchdogs see a healthy turn during long thinking stretches. The
|
|
102
|
+
* reasoning itself is deliberately never carried here.
|
|
103
|
+
*/
|
|
104
|
+
| {
|
|
105
|
+
type: 'thinking';
|
|
106
|
+
} | {
|
|
107
|
+
type: 'reset';
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* How much damage an invocation of this tool could do, coarse on purpose:
|
|
111
|
+
* a policy needs to separate "let it run unattended" from "a human decides"
|
|
112
|
+
* without understanding what any particular tool does.
|
|
113
|
+
*
|
|
114
|
+
* - `safe` — contained: reads, work inside the fleet, and writes the agent
|
|
115
|
+
* already owns (its own memory).
|
|
116
|
+
* - `gated` — a human should decide when nobody is watching: anything that
|
|
117
|
+
* acts on the world outside Stratus — the filesystem, the network,
|
|
118
|
+
* another service — or writes where other people read.
|
|
119
|
+
* - `dangerous` — destructive or hard to undo.
|
|
120
|
+
*
|
|
121
|
+
* Provider spend is deliberately not the line. Every turn spends: a message
|
|
122
|
+
* arriving in Slack causes a provider call nobody approved, so a policy
|
|
123
|
+
* that gated on cost would have to gate the conversation itself. What is
|
|
124
|
+
* worth a human's attention is effects that outlive the turn and reach
|
|
125
|
+
* past Stratus — which is also what containment (later) would isolate.
|
|
126
|
+
*
|
|
127
|
+
* Undeclared is not `safe`. `resolveToolRisk` treats a missing risk as
|
|
128
|
+
* `gated`, so a tool added without thinking about this is held back rather
|
|
129
|
+
* than waved through — the failure mode of forgetting should be a prompt,
|
|
130
|
+
* not an unattended shell command.
|
|
131
|
+
*/
|
|
132
|
+
export type ToolRisk = 'safe' | 'gated' | 'dangerous';
|
|
133
|
+
export declare const DEFAULT_TOOL_RISK: ToolRisk;
|
|
134
|
+
/** The declared risk, or the fail-closed default for a tool that omits it. */
|
|
135
|
+
export declare const resolveToolRisk: (tool: Pick<Tool, "risk"> | undefined) => ToolRisk;
|
|
82
136
|
export interface ToolDescriptor {
|
|
83
137
|
name: string;
|
|
84
138
|
description?: string;
|
|
85
139
|
parameters?: JsonObject;
|
|
140
|
+
/** Carried so providers hosting their own loop can see it too. */
|
|
141
|
+
risk?: ToolRisk;
|
|
86
142
|
}
|
|
87
143
|
/**
|
|
88
144
|
* One remembered fact. Memory is keyed by agent, never by session or
|
|
@@ -126,6 +182,22 @@ export interface ProviderRequest {
|
|
|
126
182
|
tools?: ToolDescriptor[];
|
|
127
183
|
/** Agent-scoped long-term memory, newest last. */
|
|
128
184
|
memory?: MemoryEntry[];
|
|
185
|
+
/**
|
|
186
|
+
* Streaming sink. Adapters that stream call this per fragment and MUST
|
|
187
|
+
* await the returned promise before the next call (backpressure); the
|
|
188
|
+
* runner drains every pending delta before emitting the final
|
|
189
|
+
* provider.response, so a delta can never arrive after the response.
|
|
190
|
+
* A single-promise generate() cannot stream on its own — this is the
|
|
191
|
+
* provider-to-runner streaming contract. Optional on both sides:
|
|
192
|
+
* non-streaming adapters ignore it.
|
|
193
|
+
*/
|
|
194
|
+
onDelta?: (delta: ProviderDelta) => void | Promise<void>;
|
|
195
|
+
/**
|
|
196
|
+
* Abort signal for the turn. Adapters MUST cancel their underlying
|
|
197
|
+
* operation (HTTP request, SDK query) when it fires — racing the promise
|
|
198
|
+
* is not cancellation; the underlying work has to stop.
|
|
199
|
+
*/
|
|
200
|
+
signal?: AbortSignal;
|
|
129
201
|
}
|
|
130
202
|
export interface ProviderResponse {
|
|
131
203
|
parts: ProviderPart[];
|
|
@@ -134,19 +206,44 @@ export interface ModelProvider {
|
|
|
134
206
|
name: string;
|
|
135
207
|
generate(request: ProviderRequest): Promise<ProviderResponse>;
|
|
136
208
|
}
|
|
209
|
+
/**
|
|
210
|
+
* Ambient context for one tool execution. The abort signal is the turn's:
|
|
211
|
+
* executors kill in-flight subprocesses on abort, and long-running tools
|
|
212
|
+
* should observe it too.
|
|
213
|
+
*/
|
|
214
|
+
export interface ExecutionContext {
|
|
215
|
+
signal?: AbortSignal;
|
|
216
|
+
}
|
|
137
217
|
export interface Tool {
|
|
138
218
|
name: string;
|
|
139
219
|
description?: string;
|
|
140
220
|
/** JSON Schema describing the tool's input, advertised to model providers. */
|
|
141
221
|
parameters?: JsonObject;
|
|
142
|
-
|
|
222
|
+
/** See ToolRisk. Omitted means `gated`, never `safe`. */
|
|
223
|
+
risk?: ToolRisk;
|
|
224
|
+
execute(input: JsonObject, session: Session, context?: ExecutionContext): Promise<JsonValue>;
|
|
143
225
|
}
|
|
144
226
|
export interface Executor {
|
|
145
|
-
execute(call: ToolCall, tool: Tool, session: Session): Promise<ToolResult>;
|
|
227
|
+
execute(call: ToolCall, tool: Tool, session: Session, context?: ExecutionContext): Promise<ToolResult>;
|
|
146
228
|
}
|
|
147
229
|
export interface ApprovalContext {
|
|
148
230
|
session: Session;
|
|
149
231
|
call: ToolCall;
|
|
232
|
+
/**
|
|
233
|
+
* The resolved tool, and the risk the policy should judge by. A call name
|
|
234
|
+
* alone cannot classify an invocation — the policy would have to guess
|
|
235
|
+
* from a string — so the runner resolves the tool before asking, and a
|
|
236
|
+
* call naming no registered tool never reaches a policy at all.
|
|
237
|
+
*/
|
|
238
|
+
tool: Tool;
|
|
239
|
+
risk: ToolRisk;
|
|
240
|
+
/**
|
|
241
|
+
* The turn's abort signal. A policy that waits on a human MUST observe it:
|
|
242
|
+
* an aborted turn rejects the in-flight wait and invalidates its pending
|
|
243
|
+
* request, so a later approval can never execute a tool for a cancelled
|
|
244
|
+
* turn.
|
|
245
|
+
*/
|
|
246
|
+
signal?: AbortSignal;
|
|
150
247
|
}
|
|
151
248
|
export interface ApprovalPolicy {
|
|
152
249
|
approve(context: ApprovalContext): Promise<boolean>;
|
|
@@ -159,6 +256,10 @@ export type StratusEvent = {
|
|
|
159
256
|
type: 'session.updated';
|
|
160
257
|
sessionId: string;
|
|
161
258
|
status: SessionStatus;
|
|
259
|
+
} | {
|
|
260
|
+
type: 'provider.delta';
|
|
261
|
+
sessionId: string;
|
|
262
|
+
delta: ProviderDelta;
|
|
162
263
|
} | {
|
|
163
264
|
type: 'provider.response';
|
|
164
265
|
sessionId: string;
|
|
@@ -188,11 +289,21 @@ export interface EventBusOptions {
|
|
|
188
289
|
/** Called when a subscriber throws. Handler errors never interrupt the run. */
|
|
189
290
|
onError?: (error: unknown, event: StratusEvent) => void;
|
|
190
291
|
}
|
|
292
|
+
export interface SubscribeOptions {
|
|
293
|
+
/**
|
|
294
|
+
* Run this handler before previously registered ones. Emission awaits
|
|
295
|
+
* handlers in order, so a slow consumer delays everyone after it — a
|
|
296
|
+
* liveness observer (an activity watchdog) must sit in front, or the
|
|
297
|
+
* activity it exists to notice reaches it only after the delay it is
|
|
298
|
+
* timing against.
|
|
299
|
+
*/
|
|
300
|
+
prepend?: boolean;
|
|
301
|
+
}
|
|
191
302
|
export declare class EventBus {
|
|
192
303
|
private handlers;
|
|
193
304
|
private readonly onError;
|
|
194
305
|
constructor(options?: EventBusOptions);
|
|
195
|
-
subscribe(handler: EventHandler): () => void;
|
|
306
|
+
subscribe(handler: EventHandler, options?: SubscribeOptions): () => void;
|
|
196
307
|
emit(event: StratusEvent): Promise<void>;
|
|
197
308
|
}
|
|
198
309
|
export interface SessionStore {
|
|
@@ -227,7 +338,7 @@ export declare class ToolRegistry {
|
|
|
227
338
|
describe(): ToolDescriptor[];
|
|
228
339
|
}
|
|
229
340
|
export declare class DefaultExecutor implements Executor {
|
|
230
|
-
execute(call: ToolCall, tool: Tool, session: Session): Promise<ToolResult>;
|
|
341
|
+
execute(call: ToolCall, tool: Tool, session: Session, context?: ExecutionContext): Promise<ToolResult>;
|
|
231
342
|
}
|
|
232
343
|
export declare class AllowAllApprovalPolicy implements ApprovalPolicy {
|
|
233
344
|
approve(): Promise<boolean>;
|
|
@@ -237,10 +348,22 @@ export interface RunInput {
|
|
|
237
348
|
agent: AgentDescriptor;
|
|
238
349
|
userMessage: string;
|
|
239
350
|
metadata?: JsonObject;
|
|
351
|
+
/** Aborting fails the turn cleanly; see RunAbortedError. */
|
|
352
|
+
signal?: AbortSignal;
|
|
240
353
|
}
|
|
241
354
|
export interface ResumeInput {
|
|
242
355
|
sessionId: string;
|
|
243
356
|
userMessage: string;
|
|
357
|
+
/** Aborting fails the turn cleanly; see RunAbortedError. */
|
|
358
|
+
signal?: AbortSignal;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Thrown when a run is stopped by its abort signal. The session ends up
|
|
362
|
+
* `failed` with this error's message as `lastError`, so an aborted turn is
|
|
363
|
+
* distinguishable from a genuine failure.
|
|
364
|
+
*/
|
|
365
|
+
export declare class RunAbortedError extends Error {
|
|
366
|
+
constructor(message?: string);
|
|
244
367
|
}
|
|
245
368
|
export interface AgentRunnerOptions {
|
|
246
369
|
provider: ModelProvider;
|
|
@@ -256,6 +379,13 @@ export interface AgentRunnerOptions {
|
|
|
256
379
|
memory?: AgentMemoryStore;
|
|
257
380
|
/** Maximum provider turns per run before the session fails. */
|
|
258
381
|
maxTurns?: number;
|
|
382
|
+
/**
|
|
383
|
+
* When true, the runner hands providers a delta sink and re-emits their
|
|
384
|
+
* fragments as provider.delta events. Off by default: streaming is
|
|
385
|
+
* additive, and consumers that render only final responses (one-shot CLI
|
|
386
|
+
* runs, tests) keep the simpler non-streaming provider path.
|
|
387
|
+
*/
|
|
388
|
+
streaming?: boolean;
|
|
259
389
|
}
|
|
260
390
|
export declare class AgentRunner {
|
|
261
391
|
readonly bus: EventBus;
|
|
@@ -267,14 +397,30 @@ export declare class AgentRunner {
|
|
|
267
397
|
readonly agents: AgentRegistry;
|
|
268
398
|
readonly memory: AgentMemoryStore | undefined;
|
|
269
399
|
readonly maxTurns: number;
|
|
400
|
+
readonly streaming: boolean;
|
|
270
401
|
private readonly options;
|
|
271
402
|
constructor(options: AgentRunnerOptions);
|
|
272
403
|
initialize(): Promise<void>;
|
|
273
404
|
run(input: RunInput): Promise<Session>;
|
|
274
405
|
resume(input: ResumeInput): Promise<Session>;
|
|
406
|
+
/**
|
|
407
|
+
* Appends a synthetic failed result directly after every tool call that
|
|
408
|
+
* has none — the durable trace of a turn interrupted between the call's
|
|
409
|
+
* save and its result's. The model sees an honest record ("interrupted,
|
|
410
|
+
* never ran to completion") instead of a wire-format violation, and a
|
|
411
|
+
* resume can decide to retry rather than assume the side effect landed.
|
|
412
|
+
*/
|
|
413
|
+
private reconcileInterruptedToolCalls;
|
|
275
414
|
/** Tool names this session's agent may use, or undefined for no limit. */
|
|
276
415
|
private allowedToolsFor;
|
|
277
416
|
private executeTurns;
|
|
417
|
+
/**
|
|
418
|
+
* Executes one tool call with this runner's allowlist, approval policy,
|
|
419
|
+
* events, and executor — for providers that drive their own inner loop
|
|
420
|
+
* (e.g. the Claude Code runtime) but must run Stratus tools exactly as
|
|
421
|
+
* if the kernel loop had called them.
|
|
422
|
+
*/
|
|
423
|
+
executeHostedToolCall(session: Session, call: ToolCall, context?: ExecutionContext): Promise<ToolResult>;
|
|
278
424
|
private executeToolCall;
|
|
279
425
|
}
|
|
280
426
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,UAAU,GAAG,SAAS,EAAE,CAAC;AACpF,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACxE,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,uEAAuE;IACvE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAsC;IAEpD,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,eAAe;IAKjD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAI5C;;;;;OAKG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAUpD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,eAAe;IAQpC,IAAI,IAAI,eAAe,EAAE;CAG1B;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,eAAe,CAAC;IACvB,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAE1C,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -31,6 +31,9 @@ export class AgentRegistry {
|
|
|
31
31
|
return [...this.agents.values()];
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
export const DEFAULT_TOOL_RISK = 'gated';
|
|
35
|
+
/** The declared risk, or the fail-closed default for a tool that omits it. */
|
|
36
|
+
export const resolveToolRisk = (tool) => tool?.risk ?? DEFAULT_TOOL_RISK;
|
|
34
37
|
export class InMemoryAgentMemoryStore {
|
|
35
38
|
entries = new Map();
|
|
36
39
|
counter = 0;
|
|
@@ -75,17 +78,27 @@ export const scopeCredentials = (agent, resolver) => ({
|
|
|
75
78
|
},
|
|
76
79
|
});
|
|
77
80
|
export class EventBus {
|
|
78
|
-
handlers =
|
|
81
|
+
handlers = [];
|
|
79
82
|
onError;
|
|
80
83
|
constructor(options = {}) {
|
|
81
84
|
this.onError = options.onError;
|
|
82
85
|
}
|
|
83
|
-
subscribe(handler) {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
subscribe(handler, options = {}) {
|
|
87
|
+
if (options.prepend) {
|
|
88
|
+
this.handlers.unshift(handler);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
this.handlers.push(handler);
|
|
92
|
+
}
|
|
93
|
+
return () => {
|
|
94
|
+
const index = this.handlers.indexOf(handler);
|
|
95
|
+
if (index >= 0) {
|
|
96
|
+
this.handlers.splice(index, 1);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
86
99
|
}
|
|
87
100
|
async emit(event) {
|
|
88
|
-
for (const handler of this.handlers) {
|
|
101
|
+
for (const handler of [...this.handlers]) {
|
|
89
102
|
try {
|
|
90
103
|
await handler(event);
|
|
91
104
|
}
|
|
@@ -137,13 +150,14 @@ export class ToolRegistry {
|
|
|
137
150
|
name: tool.name,
|
|
138
151
|
...(tool.description ? { description: tool.description } : {}),
|
|
139
152
|
...(tool.parameters ? { parameters: tool.parameters } : {}),
|
|
153
|
+
risk: resolveToolRisk(tool),
|
|
140
154
|
}));
|
|
141
155
|
}
|
|
142
156
|
}
|
|
143
157
|
export class DefaultExecutor {
|
|
144
|
-
async execute(call, tool, session) {
|
|
158
|
+
async execute(call, tool, session, context) {
|
|
145
159
|
try {
|
|
146
|
-
const output = await tool.execute(call.input, session);
|
|
160
|
+
const output = await tool.execute(call.input, session, context);
|
|
147
161
|
return { callId: call.id, toolName: call.toolName, ok: true, output };
|
|
148
162
|
}
|
|
149
163
|
catch (error) {
|
|
@@ -162,6 +176,22 @@ export class AllowAllApprovalPolicy {
|
|
|
162
176
|
return true;
|
|
163
177
|
}
|
|
164
178
|
}
|
|
179
|
+
/**
|
|
180
|
+
* Thrown when a run is stopped by its abort signal. The session ends up
|
|
181
|
+
* `failed` with this error's message as `lastError`, so an aborted turn is
|
|
182
|
+
* distinguishable from a genuine failure.
|
|
183
|
+
*/
|
|
184
|
+
export class RunAbortedError extends Error {
|
|
185
|
+
constructor(message = 'Run aborted') {
|
|
186
|
+
super(message);
|
|
187
|
+
this.name = 'RunAbortedError';
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
const throwIfAborted = (signal) => {
|
|
191
|
+
if (signal?.aborted) {
|
|
192
|
+
throw new RunAbortedError();
|
|
193
|
+
}
|
|
194
|
+
};
|
|
165
195
|
const DEFAULT_MAX_TURNS = 8;
|
|
166
196
|
export class AgentRunner {
|
|
167
197
|
bus;
|
|
@@ -173,6 +203,7 @@ export class AgentRunner {
|
|
|
173
203
|
agents;
|
|
174
204
|
memory;
|
|
175
205
|
maxTurns;
|
|
206
|
+
streaming;
|
|
176
207
|
options;
|
|
177
208
|
constructor(options) {
|
|
178
209
|
this.options = options;
|
|
@@ -185,6 +216,7 @@ export class AgentRunner {
|
|
|
185
216
|
this.agents = options.agents ?? new AgentRegistry();
|
|
186
217
|
this.memory = options.memory;
|
|
187
218
|
this.maxTurns = options.maxTurns ?? DEFAULT_MAX_TURNS;
|
|
219
|
+
this.streaming = options.streaming ?? false;
|
|
188
220
|
}
|
|
189
221
|
async initialize() {
|
|
190
222
|
await this.plugins.loadAll({ bus: this.bus, tools: this.tools });
|
|
@@ -209,13 +241,19 @@ export class AgentRunner {
|
|
|
209
241
|
const session = await this.store.create(sessionInput);
|
|
210
242
|
await this.bus.emit({ type: 'session.created', sessionId: session.id, agentId: session.agent.id });
|
|
211
243
|
await this.bus.emit({ type: 'session.updated', sessionId: session.id, status: session.status });
|
|
212
|
-
return this.executeTurns(session);
|
|
244
|
+
return this.executeTurns(session, input.signal);
|
|
213
245
|
}
|
|
214
246
|
async resume(input) {
|
|
215
247
|
const session = await this.store.get(input.sessionId);
|
|
216
248
|
if (!session) {
|
|
217
249
|
throw new Error(`Session not found: ${input.sessionId}`);
|
|
218
250
|
}
|
|
251
|
+
// Mid-turn saves make tool calls durable before their results; a
|
|
252
|
+
// daemon killed in between leaves a call with no result, and provider
|
|
253
|
+
// wire formats reject a tool call that is never answered. Close each
|
|
254
|
+
// dangling call with an explicit interrupted result so the durable
|
|
255
|
+
// conversation stays resumable.
|
|
256
|
+
this.reconcileInterruptedToolCalls(session);
|
|
219
257
|
session.status = 'running';
|
|
220
258
|
delete session.lastError;
|
|
221
259
|
session.messages.push({
|
|
@@ -224,8 +262,66 @@ export class AgentRunner {
|
|
|
224
262
|
content: input.userMessage,
|
|
225
263
|
createdAt: new Date().toISOString(),
|
|
226
264
|
});
|
|
227
|
-
|
|
228
|
-
|
|
265
|
+
// The accepted input is durable BEFORE any provider work: a crash
|
|
266
|
+
// mid-turn must not silently lose a message the caller believes was
|
|
267
|
+
// received — restarting with the same session id recovers it.
|
|
268
|
+
await this.store.save(session);
|
|
269
|
+
const stored = await this.store.get(session.id);
|
|
270
|
+
const working = stored ?? session;
|
|
271
|
+
await this.bus.emit({ type: 'session.updated', sessionId: working.id, status: working.status });
|
|
272
|
+
return this.executeTurns(working, input.signal);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Appends a synthetic failed result directly after every tool call that
|
|
276
|
+
* has none — the durable trace of a turn interrupted between the call's
|
|
277
|
+
* save and its result's. The model sees an honest record ("interrupted,
|
|
278
|
+
* never ran to completion") instead of a wire-format violation, and a
|
|
279
|
+
* resume can decide to retry rather than assume the side effect landed.
|
|
280
|
+
*/
|
|
281
|
+
reconcileInterruptedToolCalls(session) {
|
|
282
|
+
// Matched by OCCURRENCE, not by id alone: providers can reuse ids
|
|
283
|
+
// (the OpenAI-compatible adapter synthesizes tool-call-1 whenever an
|
|
284
|
+
// endpoint omits them), and an earlier answered occurrence must not
|
|
285
|
+
// make a later dangling one look answered. The nth call with an id
|
|
286
|
+
// needs the nth result with that id, in transcript order.
|
|
287
|
+
const resultsAvailable = new Map();
|
|
288
|
+
for (const message of session.messages) {
|
|
289
|
+
if (message.role === 'tool' && message.toolResult) {
|
|
290
|
+
const id = message.toolResult.callId;
|
|
291
|
+
resultsAvailable.set(id, (resultsAvailable.get(id) ?? 0) + 1);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
const callsSeen = new Map();
|
|
295
|
+
for (let index = 0; index < session.messages.length; index += 1) {
|
|
296
|
+
const message = session.messages[index];
|
|
297
|
+
if (message?.role !== 'assistant' || !message.toolCalls) {
|
|
298
|
+
continue;
|
|
299
|
+
}
|
|
300
|
+
for (const call of message.toolCalls) {
|
|
301
|
+
const occurrence = (callsSeen.get(call.id) ?? 0) + 1;
|
|
302
|
+
callsSeen.set(call.id, occurrence);
|
|
303
|
+
if (occurrence <= (resultsAvailable.get(call.id) ?? 0)) {
|
|
304
|
+
continue;
|
|
305
|
+
}
|
|
306
|
+
resultsAvailable.set(call.id, occurrence);
|
|
307
|
+
const result = {
|
|
308
|
+
callId: call.id,
|
|
309
|
+
toolName: call.toolName,
|
|
310
|
+
ok: false,
|
|
311
|
+
output: null,
|
|
312
|
+
error: 'Tool execution was interrupted before a result was recorded; it may not have run to completion.',
|
|
313
|
+
};
|
|
314
|
+
index += 1;
|
|
315
|
+
session.messages.splice(index, 0, {
|
|
316
|
+
id: `${session.id}:tool:${call.id}`,
|
|
317
|
+
role: 'tool',
|
|
318
|
+
name: call.toolName,
|
|
319
|
+
content: JSON.stringify(result),
|
|
320
|
+
createdAt: new Date().toISOString(),
|
|
321
|
+
toolResult: result,
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
}
|
|
229
325
|
}
|
|
230
326
|
/** Tool names this session's agent may use, or undefined for no limit. */
|
|
231
327
|
allowedToolsFor(session) {
|
|
@@ -235,7 +331,7 @@ export class AgentRunner {
|
|
|
235
331
|
const tools = sessionAgent.tools ?? this.agents.get(session.agent.id)?.tools;
|
|
236
332
|
return tools ? new Set(tools) : undefined;
|
|
237
333
|
}
|
|
238
|
-
async executeTurns(initialSession) {
|
|
334
|
+
async executeTurns(initialSession, signal) {
|
|
239
335
|
let session = initialSession;
|
|
240
336
|
try {
|
|
241
337
|
const allowedTools = this.allowedToolsFor(session);
|
|
@@ -243,17 +339,39 @@ export class AgentRunner {
|
|
|
243
339
|
.describe()
|
|
244
340
|
.filter((tool) => allowedTools === undefined || allowedTools.has(tool.name));
|
|
245
341
|
for (let turn = 1;; turn += 1) {
|
|
342
|
+
throwIfAborted(signal);
|
|
246
343
|
if (turn > this.maxTurns) {
|
|
247
344
|
throw new Error(`Session exceeded the maximum of ${this.maxTurns} provider turns.`);
|
|
248
345
|
}
|
|
249
346
|
const memory = this.memory ? await this.memory.list(session.agent.id) : [];
|
|
347
|
+
// Deltas re-emit on the bus through a serial chain that is drained
|
|
348
|
+
// before the final provider.response goes out — a delta arriving
|
|
349
|
+
// after the response would let a late edit overwrite final output.
|
|
350
|
+
let deltaChain = Promise.resolve();
|
|
351
|
+
const onDelta = (delta) => {
|
|
352
|
+
const emission = deltaChain.then(() => this.bus.emit({ type: 'provider.delta', sessionId: session.id, delta }));
|
|
353
|
+
deltaChain = emission;
|
|
354
|
+
return emission;
|
|
355
|
+
};
|
|
250
356
|
const response = await this.options.provider.generate({
|
|
251
357
|
session,
|
|
252
358
|
...(tools.length > 0 ? { tools } : {}),
|
|
253
359
|
...(memory.length > 0 ? { memory } : {}),
|
|
360
|
+
...(this.streaming ? { onDelta } : {}),
|
|
361
|
+
...(signal ? { signal } : {}),
|
|
254
362
|
});
|
|
255
|
-
|
|
256
|
-
|
|
363
|
+
throwIfAborted(signal);
|
|
364
|
+
await deltaChain;
|
|
365
|
+
// Record and SAVE the entire response — text and every tool call —
|
|
366
|
+
// before anything else happens with it. Two consumers depend on
|
|
367
|
+
// that order: provider replay state (the Anthropic raw-turn cache)
|
|
368
|
+
// carries the complete response, so a partially persisted call set
|
|
369
|
+
// would replay tool_use blocks that resume-time reconciliation
|
|
370
|
+
// cannot answer; and provider.response subscribers may publish the
|
|
371
|
+
// answer externally (a channel edit) the moment the event fires —
|
|
372
|
+
// an answer a user has seen must already be durable, or a crash
|
|
373
|
+
// resumes with history that contradicts what was delivered.
|
|
374
|
+
const calls = [];
|
|
257
375
|
for (const part of response.parts) {
|
|
258
376
|
if (part.type === 'text') {
|
|
259
377
|
session.messages.push({
|
|
@@ -264,7 +382,7 @@ export class AgentRunner {
|
|
|
264
382
|
});
|
|
265
383
|
continue;
|
|
266
384
|
}
|
|
267
|
-
|
|
385
|
+
calls.push(part.call);
|
|
268
386
|
session.messages.push({
|
|
269
387
|
id: `${session.id}:assistant:${session.messages.length + 1}`,
|
|
270
388
|
role: 'assistant',
|
|
@@ -272,7 +390,15 @@ export class AgentRunner {
|
|
|
272
390
|
createdAt: new Date().toISOString(),
|
|
273
391
|
toolCalls: [part.call],
|
|
274
392
|
});
|
|
275
|
-
|
|
393
|
+
}
|
|
394
|
+
const sawToolCall = calls.length > 0;
|
|
395
|
+
await this.store.save(session);
|
|
396
|
+
await this.bus.emit({ type: 'provider.response', sessionId: session.id, parts: response.parts });
|
|
397
|
+
for (const call of calls) {
|
|
398
|
+
throwIfAborted(signal);
|
|
399
|
+
const result = await this.executeToolCall(session, call, signal);
|
|
400
|
+
// The result lands immediately after execution, so side effects
|
|
401
|
+
// are never durable without their record.
|
|
276
402
|
session.messages.push({
|
|
277
403
|
id: `${session.id}:tool:${result.callId}`,
|
|
278
404
|
role: 'tool',
|
|
@@ -281,6 +407,7 @@ export class AgentRunner {
|
|
|
281
407
|
createdAt: new Date().toISOString(),
|
|
282
408
|
toolResult: result,
|
|
283
409
|
});
|
|
410
|
+
await this.store.save(session);
|
|
284
411
|
}
|
|
285
412
|
if (!sawToolCall) {
|
|
286
413
|
break;
|
|
@@ -294,7 +421,13 @@ export class AgentRunner {
|
|
|
294
421
|
await this.bus.emit({ type: 'session.completed', sessionId: session.id });
|
|
295
422
|
return session;
|
|
296
423
|
}
|
|
297
|
-
catch (
|
|
424
|
+
catch (caught) {
|
|
425
|
+
// An abort can surface first from any layer (the provider's cancelled
|
|
426
|
+
// request, an executor, this loop's own checks) — normalize so an
|
|
427
|
+
// aborted turn is always distinguishable from a genuine failure.
|
|
428
|
+
const error = signal?.aborted && !(caught instanceof RunAbortedError)
|
|
429
|
+
? new RunAbortedError()
|
|
430
|
+
: caught;
|
|
298
431
|
const lastError = error instanceof Error ? error.message : String(error);
|
|
299
432
|
session.status = 'failed';
|
|
300
433
|
session.lastError = lastError;
|
|
@@ -306,18 +439,77 @@ export class AgentRunner {
|
|
|
306
439
|
throw error;
|
|
307
440
|
}
|
|
308
441
|
}
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
442
|
+
/**
|
|
443
|
+
* Executes one tool call with this runner's allowlist, approval policy,
|
|
444
|
+
* events, and executor — for providers that drive their own inner loop
|
|
445
|
+
* (e.g. the Claude Code runtime) but must run Stratus tools exactly as
|
|
446
|
+
* if the kernel loop had called them.
|
|
447
|
+
*/
|
|
448
|
+
async executeHostedToolCall(session, call, context) {
|
|
449
|
+
// Persistence is part of this seam's contract, not a courtesy: a
|
|
450
|
+
// provider-driven loop consumes tool results internally and returns
|
|
451
|
+
// only final text, so without recording here the durable session would
|
|
452
|
+
// omit every hosted tool action — including its side effects. The
|
|
453
|
+
// paired messages match what the kernel loop writes, in the same
|
|
454
|
+
// order: the call is saved before it runs and the result immediately
|
|
455
|
+
// after, so a daemon killed mid-tool never holds a session whose side
|
|
456
|
+
// effects happened without a recorded attempt.
|
|
457
|
+
session.messages.push({
|
|
458
|
+
id: `${session.id}:assistant:${session.messages.length + 1}`,
|
|
459
|
+
role: 'assistant',
|
|
460
|
+
content: '',
|
|
461
|
+
createdAt: new Date().toISOString(),
|
|
462
|
+
toolCalls: [call],
|
|
463
|
+
});
|
|
464
|
+
await this.store.save(session);
|
|
465
|
+
const result = await this.executeToolCall(session, call, context?.signal);
|
|
466
|
+
session.messages.push({
|
|
467
|
+
id: `${session.id}:tool:${result.callId}`,
|
|
468
|
+
role: 'tool',
|
|
469
|
+
name: result.toolName,
|
|
470
|
+
content: JSON.stringify(result),
|
|
471
|
+
createdAt: new Date().toISOString(),
|
|
472
|
+
toolResult: result,
|
|
473
|
+
});
|
|
474
|
+
await this.store.save(session);
|
|
475
|
+
return result;
|
|
476
|
+
}
|
|
477
|
+
async executeToolCall(session, call, signal) {
|
|
478
|
+
// Every tool call settles with exactly one event — tool.completed
|
|
479
|
+
// (executed or rejected, the result says which) or tool.denied. Event
|
|
480
|
+
// consumers tracking a response's outstanding calls (the gateway's
|
|
481
|
+
// phase-aware watchdog) count on rejected calls settling too.
|
|
482
|
+
const rejected = async (error) => {
|
|
483
|
+
const result = {
|
|
313
484
|
callId: call.id,
|
|
314
485
|
toolName: call.toolName,
|
|
315
486
|
ok: false,
|
|
316
487
|
output: null,
|
|
317
|
-
error
|
|
488
|
+
error,
|
|
318
489
|
};
|
|
490
|
+
await this.bus.emit({ type: 'tool.completed', sessionId: session.id, result });
|
|
491
|
+
return result;
|
|
492
|
+
};
|
|
493
|
+
const allowedTools = this.allowedToolsFor(session);
|
|
494
|
+
if (allowedTools !== undefined && !allowedTools.has(call.toolName)) {
|
|
495
|
+
return rejected(`Tool not permitted for agent ${session.agent.id}: ${call.toolName}`);
|
|
319
496
|
}
|
|
320
|
-
|
|
497
|
+
// Resolved before the policy is asked, not after: a policy classifies
|
|
498
|
+
// an invocation by the tool's declared risk, and a call name is not
|
|
499
|
+
// enough to look that up on the policy's side. It also stops an unknown
|
|
500
|
+
// tool from reaching a human — a call naming nothing registered is a
|
|
501
|
+
// model mistake, and prompting someone to approve it is noise.
|
|
502
|
+
const tool = this.tools.get(call.toolName);
|
|
503
|
+
if (!tool) {
|
|
504
|
+
return rejected(`Tool not found: ${call.toolName}`);
|
|
505
|
+
}
|
|
506
|
+
const approved = await this.approvals.approve({
|
|
507
|
+
session,
|
|
508
|
+
call,
|
|
509
|
+
tool,
|
|
510
|
+
risk: resolveToolRisk(tool),
|
|
511
|
+
...(signal ? { signal } : {}),
|
|
512
|
+
});
|
|
321
513
|
if (!approved) {
|
|
322
514
|
await this.bus.emit({ type: 'tool.denied', sessionId: session.id, call });
|
|
323
515
|
return {
|
|
@@ -328,18 +520,9 @@ export class AgentRunner {
|
|
|
328
520
|
error: `Tool call denied by approval policy: ${call.toolName}`,
|
|
329
521
|
};
|
|
330
522
|
}
|
|
331
|
-
|
|
332
|
-
if (!tool) {
|
|
333
|
-
return {
|
|
334
|
-
callId: call.id,
|
|
335
|
-
toolName: call.toolName,
|
|
336
|
-
ok: false,
|
|
337
|
-
output: null,
|
|
338
|
-
error: `Tool not found: ${call.toolName}`,
|
|
339
|
-
};
|
|
340
|
-
}
|
|
523
|
+
throwIfAborted(signal);
|
|
341
524
|
await this.bus.emit({ type: 'tool.called', sessionId: session.id, call });
|
|
342
|
-
const result = await this.executor.execute(call, tool, session);
|
|
525
|
+
const result = await this.executor.execute(call, tool, session, signal ? { signal } : undefined);
|
|
343
526
|
await this.bus.emit({ type: 'tool.completed', sessionId: session.id, result });
|
|
344
527
|
return result;
|
|
345
528
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratusagent/core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
"files": [
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=22.13 <23 || >=23.4"
|
|
18
|
+
},
|
|
16
19
|
"devDependencies": {
|
|
17
20
|
"typescript": "^5.9.3"
|
|
18
21
|
},
|