@earendil-works/pi-agent-core 0.83.0 → 0.84.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/README.md +9 -3
- package/dist/agent.d.ts +3 -1
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +6 -0
- package/dist/agent.js.map +1 -1
- package/dist/harness/agent-harness.d.ts +452 -85
- package/dist/harness/agent-harness.d.ts.map +1 -1
- package/dist/harness/agent-harness.js +204 -917
- package/dist/harness/agent-harness.js.map +1 -1
- package/dist/harness/compaction/branch-summarization.d.ts +13 -6
- package/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
- package/dist/harness/compaction/branch-summarization.js +11 -15
- package/dist/harness/compaction/branch-summarization.js.map +1 -1
- package/dist/harness/compaction/compaction.d.ts +14 -17
- package/dist/harness/compaction/compaction.d.ts.map +1 -1
- package/dist/harness/compaction/compaction.js +23 -36
- package/dist/harness/compaction/compaction.js.map +1 -1
- package/dist/harness/env/nodejs.d.ts +1 -0
- package/dist/harness/env/nodejs.d.ts.map +1 -1
- package/dist/harness/env/nodejs.js +23 -7
- package/dist/harness/env/nodejs.js.map +1 -1
- package/dist/harness/messages.d.ts +3 -3
- package/dist/harness/messages.d.ts.map +1 -1
- package/dist/harness/messages.js +3 -3
- package/dist/harness/messages.js.map +1 -1
- package/dist/harness/prompt-templates.d.ts.map +1 -1
- package/dist/harness/prompt-templates.js +4 -9
- package/dist/harness/prompt-templates.js.map +1 -1
- package/dist/harness/reducer.d.ts +100 -0
- package/dist/harness/reducer.d.ts.map +1 -0
- package/dist/harness/reducer.js +415 -0
- package/dist/harness/reducer.js.map +1 -0
- package/dist/harness/result.d.ts +40 -0
- package/dist/harness/result.d.ts.map +1 -0
- package/dist/harness/result.js +41 -0
- package/dist/harness/result.js.map +1 -0
- package/dist/harness/session/context.d.ts +22 -0
- package/dist/harness/session/context.d.ts.map +1 -0
- package/dist/harness/session/context.js +67 -0
- package/dist/harness/session/context.js.map +1 -0
- package/dist/harness/session/index.d.ts +7 -0
- package/dist/harness/session/index.d.ts.map +1 -0
- package/dist/harness/session/index.js +6 -0
- package/dist/harness/session/index.js.map +1 -0
- package/dist/harness/session/jsonl/codec.d.ts +8 -0
- package/dist/harness/session/jsonl/codec.d.ts.map +1 -0
- package/dist/harness/session/jsonl/codec.js +190 -0
- package/dist/harness/session/jsonl/codec.js.map +1 -0
- package/dist/harness/session/jsonl/errors.d.ts +5 -0
- package/dist/harness/session/jsonl/errors.d.ts.map +1 -0
- package/dist/harness/session/jsonl/errors.js +11 -0
- package/dist/harness/session/jsonl/errors.js.map +1 -0
- package/dist/harness/session/jsonl/repo.d.ts +23 -0
- package/dist/harness/session/jsonl/repo.d.ts.map +1 -0
- package/dist/harness/session/jsonl/repo.js +132 -0
- package/dist/harness/session/jsonl/repo.js.map +1 -0
- package/dist/harness/session/jsonl/storage.d.ts +43 -0
- package/dist/harness/session/jsonl/storage.d.ts.map +1 -0
- package/dist/harness/session/jsonl/storage.js +208 -0
- package/dist/harness/session/jsonl/storage.js.map +1 -0
- package/dist/harness/session/jsonl/types.d.ts +38 -0
- package/dist/harness/session/jsonl/types.d.ts.map +1 -0
- package/dist/harness/session/jsonl/types.js +2 -0
- package/dist/harness/session/jsonl/types.js.map +1 -0
- package/dist/harness/session/jsonl.d.ts +3 -0
- package/dist/harness/session/jsonl.d.ts.map +1 -0
- package/dist/harness/session/jsonl.js +2 -0
- package/dist/harness/session/jsonl.js.map +1 -0
- package/dist/harness/session/memory.d.ts +44 -0
- package/dist/harness/session/memory.d.ts.map +1 -0
- package/dist/harness/session/memory.js +141 -0
- package/dist/harness/session/memory.js.map +1 -0
- package/dist/harness/session/search.d.ts +19 -0
- package/dist/harness/session/search.d.ts.map +1 -0
- package/dist/harness/session/search.js +42 -0
- package/dist/harness/session/search.js.map +1 -0
- package/dist/harness/session/session.d.ts +43 -42
- package/dist/harness/session/session.d.ts.map +1 -1
- package/dist/harness/session/session.js +187 -228
- package/dist/harness/session/session.js.map +1 -1
- package/dist/harness/session/state.d.ts +65 -0
- package/dist/harness/session/state.d.ts.map +1 -0
- package/dist/harness/session/state.js +319 -0
- package/dist/harness/session/state.js.map +1 -0
- package/dist/harness/session/testing/conformance.d.ts +4 -0
- package/dist/harness/session/testing/conformance.d.ts.map +1 -0
- package/dist/harness/session/testing/conformance.js +743 -0
- package/dist/harness/session/testing/conformance.js.map +1 -0
- package/dist/harness/session/testing/index.d.ts +3 -0
- package/dist/harness/session/testing/index.d.ts.map +1 -0
- package/dist/harness/session/testing/index.js +2 -0
- package/dist/harness/session/testing/index.js.map +1 -0
- package/dist/harness/session/testing/types.d.ts +14 -0
- package/dist/harness/session/testing/types.d.ts.map +1 -0
- package/dist/harness/session/testing/types.js +2 -0
- package/dist/harness/session/testing/types.js.map +1 -0
- package/dist/harness/session/types.d.ts +333 -0
- package/dist/harness/session/types.d.ts.map +1 -0
- package/dist/harness/session/types.js +10 -0
- package/dist/harness/session/types.js.map +1 -0
- package/dist/harness/skills.d.ts.map +1 -1
- package/dist/harness/skills.js +21 -19
- package/dist/harness/skills.js.map +1 -1
- package/dist/harness/telemetry.d.ts +1221 -0
- package/dist/harness/telemetry.d.ts.map +1 -0
- package/dist/harness/telemetry.js +508 -0
- package/dist/harness/telemetry.js.map +1 -0
- package/dist/harness/types.d.ts +6 -459
- package/dist/harness/types.d.ts.map +1 -1
- package/dist/harness/types.js +0 -19
- package/dist/harness/types.js.map +1 -1
- package/dist/index.d.ts +10 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -8
- package/dist/index.js.map +1 -1
- package/dist/proxy.d.ts +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +1 -0
- package/dist/proxy.js.map +1 -1
- package/package.json +9 -2
- package/dist/harness/session/jsonl-repo.d.ts +0 -26
- package/dist/harness/session/jsonl-repo.d.ts.map +0 -1
- package/dist/harness/session/jsonl-repo.js +0 -103
- package/dist/harness/session/jsonl-repo.js.map +0 -1
- package/dist/harness/session/jsonl-storage.d.ts +0 -42
- package/dist/harness/session/jsonl-storage.d.ts.map +0 -1
- package/dist/harness/session/jsonl-storage.js +0 -293
- package/dist/harness/session/jsonl-storage.js.map +0 -1
- package/dist/harness/session/memory-repo.d.ts +0 -18
- package/dist/harness/session/memory-repo.d.ts.map +0 -1
- package/dist/harness/session/memory-repo.js +0 -42
- package/dist/harness/session/memory-repo.js.map +0 -1
- package/dist/harness/session/memory-storage.d.ts +0 -33
- package/dist/harness/session/memory-storage.d.ts.map +0 -1
- package/dist/harness/session/memory-storage.js +0 -168
- package/dist/harness/session/memory-storage.js.map +0 -1
- package/dist/harness/session/repo-utils.d.ts +0 -11
- package/dist/harness/session/repo-utils.d.ts.map +0 -1
- package/dist/harness/session/repo-utils.js +0 -39
- package/dist/harness/session/repo-utils.js.map +0 -1
package/dist/harness/types.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { SimpleStreamOptions, Transport } from "@earendil-works/pi-ai";
|
|
2
2
|
import type { Static, TSchema } from "typebox";
|
|
3
|
-
import type {
|
|
4
|
-
import type { Session } from "./session/session.ts";
|
|
3
|
+
import type { AgentTool, AgentToolResult, AgentToolUpdateCallback } from "../types.ts";
|
|
5
4
|
/** Result of a fallible operation. Expected failures are returned as `ok: false` instead of thrown. */
|
|
6
5
|
export type Result<TValue, TError> = {
|
|
7
6
|
ok: true;
|
|
@@ -106,7 +105,7 @@ export declare class ExecutionError extends Error {
|
|
|
106
105
|
constructor(code: ExecutionErrorCode, message: string, cause?: Error);
|
|
107
106
|
}
|
|
108
107
|
/** Stable compaction error codes returned by compaction helpers. */
|
|
109
|
-
export type CompactionErrorCode = "aborted" | "summarization_failed"
|
|
108
|
+
export type CompactionErrorCode = "aborted" | "summarization_failed";
|
|
110
109
|
/** Error returned by compaction helpers. */
|
|
111
110
|
export declare class CompactionError extends Error {
|
|
112
111
|
/** Backend-independent error code. */
|
|
@@ -114,26 +113,13 @@ export declare class CompactionError extends Error {
|
|
|
114
113
|
constructor(code: CompactionErrorCode, message: string, cause?: Error);
|
|
115
114
|
}
|
|
116
115
|
/** Stable branch-summary error codes returned by branch summarization helpers. */
|
|
117
|
-
export type BranchSummaryErrorCode = "aborted" | "summarization_failed"
|
|
116
|
+
export type BranchSummaryErrorCode = "aborted" | "summarization_failed";
|
|
118
117
|
/** Error returned by branch summarization helpers. */
|
|
119
118
|
export declare class BranchSummaryError extends Error {
|
|
120
119
|
/** Backend-independent error code. */
|
|
121
120
|
code: BranchSummaryErrorCode;
|
|
122
121
|
constructor(code: BranchSummaryErrorCode, message: string, cause?: Error);
|
|
123
122
|
}
|
|
124
|
-
export type SessionErrorCode = "not_found" | "invalid_session" | "invalid_entry" | "invalid_fork_target" | "storage" | "unknown";
|
|
125
|
-
/** Error thrown by session storage, repositories, and session tree operations. */
|
|
126
|
-
export declare class SessionError extends Error {
|
|
127
|
-
/** Session subsystem error code. */
|
|
128
|
-
code: SessionErrorCode;
|
|
129
|
-
constructor(code: SessionErrorCode, message: string, cause?: Error);
|
|
130
|
-
}
|
|
131
|
-
export type AgentHarnessErrorCode = "busy" | "invalid_state" | "invalid_argument" | "session" | "hook" | "auth" | "compaction" | "branch_summary" | "unknown";
|
|
132
|
-
/** Public AgentHarness failure with a stable top-level classification. */
|
|
133
|
-
export declare class AgentHarnessError extends Error {
|
|
134
|
-
code: AgentHarnessErrorCode;
|
|
135
|
-
constructor(code: AgentHarnessErrorCode, message: string, cause?: Error);
|
|
136
|
-
}
|
|
137
123
|
/** Metadata for one filesystem object in a {@link FileSystem}. */
|
|
138
124
|
export interface FileInfo {
|
|
139
125
|
/** Basename of {@link path}. */
|
|
@@ -176,6 +162,8 @@ export interface FileSystem {
|
|
|
176
162
|
writeFile(path: string, content: string | Uint8Array, abortSignal?: AbortSignal): Promise<Result<void, FileError>>;
|
|
177
163
|
/** Create or append to a file, creating parent directories when supported. */
|
|
178
164
|
appendFile(path: string, content: string | Uint8Array, abortSignal?: AbortSignal): Promise<Result<void, FileError>>;
|
|
165
|
+
/** Atomically rename a file, replacing the destination when it exists. Does not copy across filesystems. */
|
|
166
|
+
renameFile(sourcePath: string, destinationPath: string, abortSignal?: AbortSignal): Promise<Result<void, FileError>>;
|
|
179
167
|
/** Return metadata for the addressed path without following symlinks. */
|
|
180
168
|
fileInfo(path: string, abortSignal?: AbortSignal): Promise<Result<FileInfo, FileError>>;
|
|
181
169
|
/** List direct children of a directory without following symlinks. */
|
|
@@ -237,445 +225,4 @@ export interface Shell {
|
|
|
237
225
|
/** Filesystem and process execution environment used by the harness. */
|
|
238
226
|
export interface ExecutionEnv extends FileSystem, Shell {
|
|
239
227
|
}
|
|
240
|
-
export interface SessionTreeEntryBase {
|
|
241
|
-
type: string;
|
|
242
|
-
id: string;
|
|
243
|
-
parentId: string | null;
|
|
244
|
-
timestamp: string;
|
|
245
|
-
}
|
|
246
|
-
export interface MessageEntry extends SessionTreeEntryBase {
|
|
247
|
-
type: "message";
|
|
248
|
-
message: AgentMessage;
|
|
249
|
-
}
|
|
250
|
-
export interface ThinkingLevelChangeEntry extends SessionTreeEntryBase {
|
|
251
|
-
type: "thinking_level_change";
|
|
252
|
-
thinkingLevel: string;
|
|
253
|
-
}
|
|
254
|
-
export interface ModelChangeEntry extends SessionTreeEntryBase {
|
|
255
|
-
type: "model_change";
|
|
256
|
-
provider: string;
|
|
257
|
-
modelId: string;
|
|
258
|
-
}
|
|
259
|
-
export interface ActiveToolsChangeEntry extends SessionTreeEntryBase {
|
|
260
|
-
type: "active_tools_change";
|
|
261
|
-
activeToolNames: string[];
|
|
262
|
-
}
|
|
263
|
-
export interface CompactionEntry<T = unknown> extends SessionTreeEntryBase {
|
|
264
|
-
type: "compaction";
|
|
265
|
-
summary: string;
|
|
266
|
-
firstKeptEntryId?: string;
|
|
267
|
-
tokensBefore: number;
|
|
268
|
-
retainedTail?: AgentMessage[];
|
|
269
|
-
details?: T;
|
|
270
|
-
usage?: Usage;
|
|
271
|
-
fromHook?: boolean;
|
|
272
|
-
}
|
|
273
|
-
export interface BranchSummaryEntry<T = unknown> extends SessionTreeEntryBase {
|
|
274
|
-
type: "branch_summary";
|
|
275
|
-
fromId: string;
|
|
276
|
-
summary: string;
|
|
277
|
-
details?: T;
|
|
278
|
-
usage?: Usage;
|
|
279
|
-
fromHook?: boolean;
|
|
280
|
-
}
|
|
281
|
-
export interface CustomEntry<T = unknown> extends SessionTreeEntryBase {
|
|
282
|
-
type: "custom";
|
|
283
|
-
customType: string;
|
|
284
|
-
data?: T;
|
|
285
|
-
}
|
|
286
|
-
export interface CustomMessageEntry<T = unknown> extends SessionTreeEntryBase {
|
|
287
|
-
type: "custom_message";
|
|
288
|
-
customType: string;
|
|
289
|
-
content: string | (TextContent | ImageContent)[];
|
|
290
|
-
details?: T;
|
|
291
|
-
display: boolean;
|
|
292
|
-
}
|
|
293
|
-
export interface LabelEntry extends SessionTreeEntryBase {
|
|
294
|
-
type: "label";
|
|
295
|
-
targetId: string;
|
|
296
|
-
label: string | undefined;
|
|
297
|
-
}
|
|
298
|
-
export interface SessionInfoEntry extends SessionTreeEntryBase {
|
|
299
|
-
type: "session_info";
|
|
300
|
-
name?: string;
|
|
301
|
-
}
|
|
302
|
-
export interface LeafEntry extends SessionTreeEntryBase {
|
|
303
|
-
type: "leaf";
|
|
304
|
-
targetId: string | null;
|
|
305
|
-
}
|
|
306
|
-
export type SessionTreeEntry = MessageEntry | ThinkingLevelChangeEntry | ModelChangeEntry | ActiveToolsChangeEntry | CompactionEntry | BranchSummaryEntry | CustomEntry | CustomMessageEntry | LabelEntry | SessionInfoEntry | LeafEntry;
|
|
307
|
-
export interface SessionContext {
|
|
308
|
-
messages: AgentMessage[];
|
|
309
|
-
thinkingLevel: string;
|
|
310
|
-
model: {
|
|
311
|
-
provider: string;
|
|
312
|
-
modelId: string;
|
|
313
|
-
} | null;
|
|
314
|
-
activeToolNames: string[] | null;
|
|
315
|
-
}
|
|
316
|
-
export interface SessionStats {
|
|
317
|
-
messageCount: number;
|
|
318
|
-
cachedTokens: number;
|
|
319
|
-
uncachedTokens: number;
|
|
320
|
-
totalTokens: number;
|
|
321
|
-
costTotal: number;
|
|
322
|
-
}
|
|
323
|
-
export interface SessionMetadata {
|
|
324
|
-
id: string;
|
|
325
|
-
createdAt: string;
|
|
326
|
-
}
|
|
327
|
-
export interface JsonlSessionMetadata extends SessionMetadata {
|
|
328
|
-
cwd: string;
|
|
329
|
-
path: string;
|
|
330
|
-
parentSessionPath?: string;
|
|
331
|
-
metadata?: Record<string, unknown>;
|
|
332
|
-
}
|
|
333
|
-
export interface SessionEntryCursorOptions {
|
|
334
|
-
afterEntrySeq?: number;
|
|
335
|
-
limit?: number;
|
|
336
|
-
}
|
|
337
|
-
export interface SessionStorage<TMetadata extends SessionMetadata = SessionMetadata> {
|
|
338
|
-
getMetadata(): Promise<TMetadata>;
|
|
339
|
-
getLeafId(): Promise<string | null>;
|
|
340
|
-
/** Persist a leaf entry that records the active session-tree leaf. */
|
|
341
|
-
setLeafId(leafId: string | null): Promise<void>;
|
|
342
|
-
createEntryId(): Promise<string>;
|
|
343
|
-
appendEntry(entry: SessionTreeEntry): Promise<void>;
|
|
344
|
-
getEntry(id: string): Promise<SessionTreeEntry | undefined>;
|
|
345
|
-
findEntries<TType extends SessionTreeEntry["type"]>(type: TType): Promise<Array<Extract<SessionTreeEntry, {
|
|
346
|
-
type: TType;
|
|
347
|
-
}>>>;
|
|
348
|
-
getLabel(id: string): Promise<string | undefined>;
|
|
349
|
-
getSessionName(): Promise<string | undefined>;
|
|
350
|
-
getSessionStats(): Promise<SessionStats>;
|
|
351
|
-
getPathToRootOrCompaction(leafId: string | null): Promise<SessionTreeEntry[]>;
|
|
352
|
-
getEntries(options?: SessionEntryCursorOptions): Promise<SessionTreeEntry[]>;
|
|
353
|
-
}
|
|
354
|
-
export type { Session } from "./session/session.ts";
|
|
355
|
-
export interface SessionCreateOptions {
|
|
356
|
-
id?: string;
|
|
357
|
-
}
|
|
358
|
-
export interface SessionForkOptions {
|
|
359
|
-
entryId?: string;
|
|
360
|
-
position?: "before" | "at";
|
|
361
|
-
id?: string;
|
|
362
|
-
}
|
|
363
|
-
export interface SessionRepo<TMetadata extends SessionMetadata = SessionMetadata, TCreateOptions extends SessionCreateOptions = SessionCreateOptions, TListOptions = void> {
|
|
364
|
-
create(options: TCreateOptions): Promise<Session<TMetadata>>;
|
|
365
|
-
open(metadata: TMetadata): Promise<Session<TMetadata>>;
|
|
366
|
-
list(options?: TListOptions): Promise<TMetadata[]>;
|
|
367
|
-
delete(metadata: TMetadata): Promise<void>;
|
|
368
|
-
fork(source: TMetadata, options: SessionForkOptions & TCreateOptions): Promise<Session<TMetadata>>;
|
|
369
|
-
}
|
|
370
|
-
export interface JsonlSessionCreateOptions extends SessionCreateOptions {
|
|
371
|
-
cwd: string;
|
|
372
|
-
parentSessionPath?: string;
|
|
373
|
-
metadata?: Record<string, unknown>;
|
|
374
|
-
}
|
|
375
|
-
export interface JsonlSessionListOptions {
|
|
376
|
-
cwd?: string;
|
|
377
|
-
}
|
|
378
|
-
export interface JsonlSessionRepoApi extends SessionRepo<JsonlSessionMetadata, JsonlSessionCreateOptions, JsonlSessionListOptions> {
|
|
379
|
-
}
|
|
380
|
-
export type AgentHarnessPhase = "idle" | "turn" | "compaction" | "branch_summary" | "retry";
|
|
381
|
-
export type PendingSessionWrite = SessionTreeEntry extends infer TEntry ? TEntry extends SessionTreeEntry ? Omit<TEntry, "id" | "parentId" | "timestamp"> : never : never;
|
|
382
|
-
export interface QueueUpdateEvent {
|
|
383
|
-
type: "queue_update";
|
|
384
|
-
steer: AgentMessage[];
|
|
385
|
-
followUp: AgentMessage[];
|
|
386
|
-
nextTurn: AgentMessage[];
|
|
387
|
-
}
|
|
388
|
-
export interface SavePointEvent {
|
|
389
|
-
type: "save_point";
|
|
390
|
-
hadPendingMutations: boolean;
|
|
391
|
-
}
|
|
392
|
-
export interface AbortEvent {
|
|
393
|
-
type: "abort";
|
|
394
|
-
clearedSteer: AgentMessage[];
|
|
395
|
-
clearedFollowUp: AgentMessage[];
|
|
396
|
-
}
|
|
397
|
-
export interface SettledEvent {
|
|
398
|
-
type: "settled";
|
|
399
|
-
nextTurnCount: number;
|
|
400
|
-
}
|
|
401
|
-
export interface BeforeAgentStartEvent<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> {
|
|
402
|
-
type: "before_agent_start";
|
|
403
|
-
prompt: string;
|
|
404
|
-
images?: ImageContent[];
|
|
405
|
-
systemPrompt: string;
|
|
406
|
-
resources: AgentHarnessResources<TSkill, TPromptTemplate>;
|
|
407
|
-
}
|
|
408
|
-
export interface ContextEvent {
|
|
409
|
-
type: "context";
|
|
410
|
-
messages: AgentMessage[];
|
|
411
|
-
}
|
|
412
|
-
export interface BeforeProviderRequestEvent {
|
|
413
|
-
type: "before_provider_request";
|
|
414
|
-
model: Model<any>;
|
|
415
|
-
sessionId: string;
|
|
416
|
-
streamOptions: AgentHarnessStreamOptions;
|
|
417
|
-
}
|
|
418
|
-
export interface BeforeProviderPayloadEvent {
|
|
419
|
-
type: "before_provider_payload";
|
|
420
|
-
model: Model<any>;
|
|
421
|
-
payload: unknown;
|
|
422
|
-
}
|
|
423
|
-
export interface AfterProviderResponseEvent {
|
|
424
|
-
type: "after_provider_response";
|
|
425
|
-
status: number;
|
|
426
|
-
headers: Record<string, string>;
|
|
427
|
-
}
|
|
428
|
-
export interface ToolCallEvent {
|
|
429
|
-
type: "tool_call";
|
|
430
|
-
toolCallId: string;
|
|
431
|
-
toolName: string;
|
|
432
|
-
input: Record<string, unknown>;
|
|
433
|
-
}
|
|
434
|
-
export interface ToolResultEvent {
|
|
435
|
-
type: "tool_result";
|
|
436
|
-
toolCallId: string;
|
|
437
|
-
toolName: string;
|
|
438
|
-
input: Record<string, unknown>;
|
|
439
|
-
content: Array<TextContent | ImageContent>;
|
|
440
|
-
details: unknown;
|
|
441
|
-
isError: boolean;
|
|
442
|
-
usage?: Usage;
|
|
443
|
-
}
|
|
444
|
-
export interface SessionBeforeCompactEvent {
|
|
445
|
-
type: "session_before_compact";
|
|
446
|
-
preparation: CompactionPreparation;
|
|
447
|
-
branchEntries: SessionTreeEntry[];
|
|
448
|
-
customInstructions?: string;
|
|
449
|
-
signal: AbortSignal;
|
|
450
|
-
}
|
|
451
|
-
export interface SessionCompactEvent {
|
|
452
|
-
type: "session_compact";
|
|
453
|
-
compactionEntry: CompactionEntry;
|
|
454
|
-
fromHook: boolean;
|
|
455
|
-
}
|
|
456
|
-
export interface SessionBeforeTreeEvent {
|
|
457
|
-
type: "session_before_tree";
|
|
458
|
-
preparation: TreePreparation;
|
|
459
|
-
signal: AbortSignal;
|
|
460
|
-
}
|
|
461
|
-
export interface SessionTreeEvent {
|
|
462
|
-
type: "session_tree";
|
|
463
|
-
newLeafId: string | null;
|
|
464
|
-
oldLeafId: string | null;
|
|
465
|
-
summaryEntry?: BranchSummaryEntry;
|
|
466
|
-
fromHook?: boolean;
|
|
467
|
-
}
|
|
468
|
-
export interface RetryScheduledEvent {
|
|
469
|
-
type: "retry_scheduled";
|
|
470
|
-
operation: "compaction" | "branch_summary";
|
|
471
|
-
attempt: number;
|
|
472
|
-
maxAttempts: number;
|
|
473
|
-
delayMs: number;
|
|
474
|
-
errorMessage: string;
|
|
475
|
-
}
|
|
476
|
-
export interface RetryAttemptStartEvent {
|
|
477
|
-
type: "retry_attempt_start";
|
|
478
|
-
operation: "compaction" | "branch_summary";
|
|
479
|
-
}
|
|
480
|
-
export interface RetryFinishedEvent {
|
|
481
|
-
type: "retry_finished";
|
|
482
|
-
operation: "compaction" | "branch_summary";
|
|
483
|
-
}
|
|
484
|
-
export interface ModelUpdateEvent {
|
|
485
|
-
type: "model_update";
|
|
486
|
-
model: Model<any>;
|
|
487
|
-
previousModel: Model<any> | undefined;
|
|
488
|
-
source: "set" | "restore";
|
|
489
|
-
}
|
|
490
|
-
export interface ThinkingLevelUpdateEvent {
|
|
491
|
-
type: "thinking_level_update";
|
|
492
|
-
level: ThinkingLevel;
|
|
493
|
-
previousLevel: ThinkingLevel;
|
|
494
|
-
}
|
|
495
|
-
export interface ToolsUpdateEvent {
|
|
496
|
-
type: "tools_update";
|
|
497
|
-
toolNames: string[];
|
|
498
|
-
previousToolNames: string[];
|
|
499
|
-
activeToolNames: string[];
|
|
500
|
-
previousActiveToolNames: string[];
|
|
501
|
-
source: "set" | "restore";
|
|
502
|
-
}
|
|
503
|
-
export interface ResourcesUpdateEvent<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> {
|
|
504
|
-
type: "resources_update";
|
|
505
|
-
resources: AgentHarnessResources<TSkill, TPromptTemplate>;
|
|
506
|
-
previousResources: AgentHarnessResources<TSkill, TPromptTemplate>;
|
|
507
|
-
}
|
|
508
|
-
export type AgentHarnessOwnEvent<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> = QueueUpdateEvent | SavePointEvent | AbortEvent | SettledEvent | BeforeAgentStartEvent<TSkill, TPromptTemplate> | ContextEvent | BeforeProviderRequestEvent | BeforeProviderPayloadEvent | AfterProviderResponseEvent | ToolCallEvent | ToolResultEvent | SessionBeforeCompactEvent | SessionCompactEvent | SessionBeforeTreeEvent | SessionTreeEvent | RetryScheduledEvent | RetryAttemptStartEvent | RetryFinishedEvent | ModelUpdateEvent | ThinkingLevelUpdateEvent | ResourcesUpdateEvent<TSkill, TPromptTemplate> | ToolsUpdateEvent;
|
|
509
|
-
export type AgentHarnessEvent<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> = AgentEvent | AgentHarnessOwnEvent<TSkill, TPromptTemplate>;
|
|
510
|
-
export interface BeforeAgentStartResult {
|
|
511
|
-
messages?: AgentMessage[];
|
|
512
|
-
systemPrompt?: string;
|
|
513
|
-
}
|
|
514
|
-
export interface ContextResult {
|
|
515
|
-
messages: AgentMessage[];
|
|
516
|
-
}
|
|
517
|
-
export interface BeforeProviderRequestResult {
|
|
518
|
-
streamOptions?: AgentHarnessStreamOptionsPatch;
|
|
519
|
-
}
|
|
520
|
-
export interface BeforeProviderPayloadResult {
|
|
521
|
-
payload: unknown;
|
|
522
|
-
}
|
|
523
|
-
export interface ToolCallResult {
|
|
524
|
-
block?: boolean;
|
|
525
|
-
reason?: string;
|
|
526
|
-
}
|
|
527
|
-
export interface ToolResultPatch {
|
|
528
|
-
content?: Array<TextContent | ImageContent>;
|
|
529
|
-
details?: unknown;
|
|
530
|
-
isError?: boolean;
|
|
531
|
-
usage?: Usage;
|
|
532
|
-
terminate?: boolean;
|
|
533
|
-
}
|
|
534
|
-
export interface SessionBeforeCompactResult {
|
|
535
|
-
cancel?: boolean;
|
|
536
|
-
compaction?: CompactResult;
|
|
537
|
-
}
|
|
538
|
-
export interface SessionBeforeTreeResult {
|
|
539
|
-
cancel?: boolean;
|
|
540
|
-
summary?: {
|
|
541
|
-
summary: string;
|
|
542
|
-
details?: unknown;
|
|
543
|
-
/** Usage from the LLM call that generated this summary, if available. */
|
|
544
|
-
usage?: Usage;
|
|
545
|
-
};
|
|
546
|
-
customInstructions?: string;
|
|
547
|
-
replaceInstructions?: boolean;
|
|
548
|
-
label?: string;
|
|
549
|
-
}
|
|
550
|
-
export type AgentHarnessEventResultMap = {
|
|
551
|
-
before_agent_start: BeforeAgentStartResult | undefined;
|
|
552
|
-
context: ContextResult | undefined;
|
|
553
|
-
before_provider_request: BeforeProviderRequestResult | undefined;
|
|
554
|
-
before_provider_payload: BeforeProviderPayloadResult | undefined;
|
|
555
|
-
after_provider_response: undefined;
|
|
556
|
-
tool_call: ToolCallResult | undefined;
|
|
557
|
-
tool_result: ToolResultPatch | undefined;
|
|
558
|
-
session_before_compact: SessionBeforeCompactResult | undefined;
|
|
559
|
-
session_compact: undefined;
|
|
560
|
-
session_before_tree: SessionBeforeTreeResult | undefined;
|
|
561
|
-
session_tree: undefined;
|
|
562
|
-
retry_scheduled: undefined;
|
|
563
|
-
retry_attempt_start: undefined;
|
|
564
|
-
retry_finished: undefined;
|
|
565
|
-
model_update: undefined;
|
|
566
|
-
thinking_level_update: undefined;
|
|
567
|
-
resources_update: undefined;
|
|
568
|
-
tools_update: undefined;
|
|
569
|
-
queue_update: undefined;
|
|
570
|
-
save_point: undefined;
|
|
571
|
-
abort: undefined;
|
|
572
|
-
settled: undefined;
|
|
573
|
-
};
|
|
574
|
-
export interface AgentHarnessPromptOptions {
|
|
575
|
-
images?: ImageContent[];
|
|
576
|
-
}
|
|
577
|
-
export interface AbortResult {
|
|
578
|
-
clearedSteer: AgentMessage[];
|
|
579
|
-
clearedFollowUp: AgentMessage[];
|
|
580
|
-
}
|
|
581
|
-
export interface CompactResult {
|
|
582
|
-
summary: string;
|
|
583
|
-
firstKeptEntryId?: string;
|
|
584
|
-
tokensBefore: number;
|
|
585
|
-
/** Usage from the LLM call(s) that generated this summary, if available. */
|
|
586
|
-
usage?: Usage;
|
|
587
|
-
retainedTail?: AgentMessage[];
|
|
588
|
-
details?: unknown;
|
|
589
|
-
}
|
|
590
|
-
export interface NavigateTreeResult {
|
|
591
|
-
cancelled: boolean;
|
|
592
|
-
editorText?: string;
|
|
593
|
-
summaryEntry?: BranchSummaryEntry;
|
|
594
|
-
}
|
|
595
|
-
export interface CompactionSettings {
|
|
596
|
-
enabled: boolean;
|
|
597
|
-
reserveTokens: number;
|
|
598
|
-
keepRecentTokens: number;
|
|
599
|
-
}
|
|
600
|
-
export interface CompactionPreparation {
|
|
601
|
-
firstKeptEntryId: string;
|
|
602
|
-
messagesToSummarize: AgentMessage[];
|
|
603
|
-
turnPrefixMessages: AgentMessage[];
|
|
604
|
-
retainedTail: AgentMessage[];
|
|
605
|
-
isSplitTurn: boolean;
|
|
606
|
-
tokensBefore: number;
|
|
607
|
-
previousSummary?: string;
|
|
608
|
-
fileOps: FileOperations;
|
|
609
|
-
settings: CompactionSettings;
|
|
610
|
-
}
|
|
611
|
-
export interface FileOperations {
|
|
612
|
-
read: Set<string>;
|
|
613
|
-
written: Set<string>;
|
|
614
|
-
edited: Set<string>;
|
|
615
|
-
}
|
|
616
|
-
export interface TreePreparation {
|
|
617
|
-
targetId: string;
|
|
618
|
-
oldLeafId: string | null;
|
|
619
|
-
commonAncestorId: string | null;
|
|
620
|
-
entriesToSummarize: SessionTreeEntry[];
|
|
621
|
-
userWantsSummary: boolean;
|
|
622
|
-
customInstructions?: string;
|
|
623
|
-
replaceInstructions?: boolean;
|
|
624
|
-
label?: string;
|
|
625
|
-
}
|
|
626
|
-
export interface GenerateBranchSummaryOptions {
|
|
627
|
-
model: Model<any>;
|
|
628
|
-
apiKey: string;
|
|
629
|
-
headers?: Record<string, string>;
|
|
630
|
-
signal: AbortSignal;
|
|
631
|
-
customInstructions?: string;
|
|
632
|
-
replaceInstructions?: boolean;
|
|
633
|
-
reserveTokens?: number;
|
|
634
|
-
}
|
|
635
|
-
export interface BranchSummaryResult {
|
|
636
|
-
summary: string;
|
|
637
|
-
usage?: Usage;
|
|
638
|
-
readFiles: string[];
|
|
639
|
-
modifiedFiles: string[];
|
|
640
|
-
}
|
|
641
|
-
export type AgentHarnessSystemPrompt<TContext extends object | undefined = undefined, TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate, TTool extends AgentHarnessTool<TContext> = AgentHarnessTool<TContext>> = string | ((context: {
|
|
642
|
-
session: Session;
|
|
643
|
-
model: Model<any>;
|
|
644
|
-
thinkingLevel: ThinkingLevel;
|
|
645
|
-
activeTools: TTool[];
|
|
646
|
-
resources: AgentHarnessResources<TSkill, TPromptTemplate>;
|
|
647
|
-
}) => string | Promise<string>);
|
|
648
|
-
interface AgentHarnessOptionsBase<TContext extends object | undefined, TSkill extends Skill, TPromptTemplate extends PromptTemplate, TTool extends AgentHarnessTool<TContext>> {
|
|
649
|
-
session: Session;
|
|
650
|
-
/**
|
|
651
|
-
* Provider collection used for all model requests (turn streaming,
|
|
652
|
-
* compaction, branch summarization). Auth resolves through the providers'
|
|
653
|
-
* auth.
|
|
654
|
-
*/
|
|
655
|
-
models: Models;
|
|
656
|
-
tools?: TTool[];
|
|
657
|
-
/**
|
|
658
|
-
* Concrete resources available to explicit invocation methods and system-prompt callbacks.
|
|
659
|
-
* Applications own loading/reloading resources and should call `setResources()` with new values.
|
|
660
|
-
*/
|
|
661
|
-
resources?: AgentHarnessResources<TSkill, TPromptTemplate>;
|
|
662
|
-
systemPrompt?: AgentHarnessSystemPrompt<TContext, TSkill, TPromptTemplate, TTool>;
|
|
663
|
-
/** Curated stream/provider request options. Snapshotted at turn start. */
|
|
664
|
-
streamOptions?: AgentHarnessStreamOptions;
|
|
665
|
-
/** Optional retry policy for generated compaction and branch-summary requests. */
|
|
666
|
-
retry?: RetryPolicy;
|
|
667
|
-
model: Model<any>;
|
|
668
|
-
thinkingLevel?: ThinkingLevel;
|
|
669
|
-
activeToolNames?: string[];
|
|
670
|
-
steeringMode?: QueueMode;
|
|
671
|
-
followUpMode?: QueueMode;
|
|
672
|
-
}
|
|
673
|
-
export type AgentHarnessOptions<TContext extends object | undefined = undefined, TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate, TTool extends AgentHarnessTool<TContext> = AgentHarnessTool<TContext>> = AgentHarnessOptionsBase<TContext, TSkill, TPromptTemplate, TTool> & ([TContext] extends [undefined] ? {
|
|
674
|
-
/** Context-free harnesses do not need a tool context. */
|
|
675
|
-
toolContext?: undefined;
|
|
676
|
-
} : {
|
|
677
|
-
/** Static context or zero-argument context provider resolved for each turn snapshot. */
|
|
678
|
-
toolContext: AgentHarnessToolContextSource<TContext>;
|
|
679
|
-
});
|
|
680
|
-
export type { AgentHarness } from "./agent-harness.ts";
|
|
681
228
|
//# sourceMappingURL=types.d.ts.map
|