goatchain 0.0.29 → 0.0.31

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.
@@ -0,0 +1,10 @@
1
+ import type { Message } from '../types';
2
+ import type { ACPMessage } from './types';
3
+ export type NormalizeAcpHistoryOptions = Readonly<{
4
+ dropTrailingPendingUserInput?: boolean;
5
+ }>;
6
+ type SessionLikeMessage = Exclude<Message, {
7
+ role: 'system';
8
+ }>;
9
+ export declare function normalizeAcpHistoryToSessionMessages(acpMessages: readonly ACPMessage[], options?: NormalizeAcpHistoryOptions): SessionLikeMessage[];
10
+ export {};
@@ -7,6 +7,8 @@
7
7
  * @packageDocumentation
8
8
  */
9
9
  export { ACPAgent } from './ACPAgent';
10
+ export { normalizeAcpHistoryToSessionMessages } from './history-normalizer';
11
+ export type { NormalizeAcpHistoryOptions } from './history-normalizer';
10
12
  export { ProtocolConverter } from './ProtocolConverter';
11
13
  export { SessionRouter } from './SessionRouter';
12
14
  export type { ACPAgentOptions, ACPContent, ACPMessage, ACPMetadata, ACPRole, ACPToolCall, ExtendedAgentEvent, SessionContext, SubagentMetadata, } from './types';
@@ -40,6 +40,10 @@ export interface ACPMessage {
40
40
  */
41
41
  export interface ACPMetadata {
42
42
  session_id?: string;
43
+ stream_id?: string;
44
+ run_id?: string;
45
+ seq?: number;
46
+ replayed?: boolean;
43
47
  signal?: AbortSignal;
44
48
  [key: string]: unknown;
45
49
  }
@@ -95,8 +95,11 @@ export declare class Agent {
95
95
  * Middleware follows an immutable pattern - it receives state and returns new state via next().
96
96
  *
97
97
  * If the middleware provides a `__createTools` function, the tools will be automatically
98
- * registered with a namespace prefix (`<middlewareName>_<toolName>`) and automatically
99
- * unregistered when the middleware is removed.
98
+ * registered with a namespace prefix (`<middlewareName>_<toolName>`) by default and
99
+ * automatically unregistered when the middleware is removed.
100
+ *
101
+ * If middleware sets `__toolNamespacePrefix = false`, tools are registered with their
102
+ * original names (`tool.name`) without `<middlewareName>_` prefix.
100
103
  *
101
104
  * @param fn - Middleware function
102
105
  * @param name - Optional name for the middleware. If not provided:
@@ -120,13 +123,21 @@ export declare class Agent {
120
123
  * // Override default name
121
124
  * await agent.use(createPlanModeMiddleware(), 'my_plan_mode');
122
125
  *
123
- * // Middleware with tools (auto-registers tools with namespace)
126
+ * // Middleware with tools (auto-registers tools with namespace by default)
124
127
  * const middleware: Middleware = async (state, next) => next(state);
125
128
  * middleware.__middlewareName = 'plan_mode';
126
129
  * middleware.__createTools = async () => [new EnterPlanModeTool()];
127
130
  * await agent.use(middleware);
128
131
  * // Tool registered as: 'plan_mode_EnterPlanMode'
129
132
  *
133
+ * // Register middleware tool without prefix
134
+ * const subagentMiddleware: Middleware = async (state, next) => next(state);
135
+ * subagentMiddleware.__middlewareName = 'parallel_subagent';
136
+ * subagentMiddleware.__toolNamespacePrefix = false;
137
+ * subagentMiddleware.__createTools = async () => [new TaskTool()];
138
+ * await agent.use(subagentMiddleware);
139
+ * // Tool registered as: 'Task'
140
+ *
130
141
  * // Anonymous middleware (auto-named)
131
142
  * const unsubscribe = await agent.use(async (state, next) => {
132
143
  * const compressed = { ...state, messages: compress(state.messages) };
@@ -1,2 +1,2 @@
1
1
  export { HookManager } from './manager';
2
- export type { AgentHooks, BaseHookContext, PermissionRequestHook, PermissionRequestResult, PostToolUseFailureHook, PostToolUseHook, PreToolUseHook, PreToolUseResult, SessionEndContext, SessionEndHook, SessionStartContext, SessionStartHook, StopContext, StopHook, SubagentStartContext, SubagentStartHook, SubagentStopContext, SubagentStopHook, ToolHookContext, ToolHooks, UserPromptSubmitContext, UserPromptSubmitHook, UserPromptSubmitResult, } from './types';
2
+ export type { AgentHooks, BaseHookContext, PermissionRequestHook, PermissionRequestHookEntry, PermissionRequestResult, PostToolUseFailureHook, PostToolUseFailureHookEntry, PostToolUseHook, PostToolUseHookEntry, PreToolUseHook, PreToolUseHookEntry, PreToolUseResult, PromptHookEntry, SessionEndContext, SessionEndHook, SessionStartContext, SessionStartHook, StopContext, StopHook, SubagentStartContext, SubagentStartHook, SubagentStopContext, SubagentStopHook, SubagentStopHookEntry, ToolHookContext, ToolHooks, UserPromptSubmitContext, UserPromptSubmitHook, UserPromptSubmitHookEntry, UserPromptSubmitResult, } from './types';
@@ -1,8 +1,24 @@
1
1
  import type { AgentHooks, PermissionRequestResult, PreToolUseResult, SessionEndContext, SessionStartContext, SubagentStartContext, StopContext, SubagentStopContext, ToolHookContext, UserPromptSubmitContext, UserPromptSubmitResult } from './types';
2
+ import type { ModelClient } from '../../model/types';
3
+ import type { HookEvaluationEvent } from '../../types';
4
+ interface HookManagerOptions {
5
+ modelClient?: ModelClient;
6
+ emitEvent?: (event: Omit<HookEvaluationEvent, 'sessionId'>) => void;
7
+ getSessionMetadata?: () => Record<string, unknown>;
8
+ }
2
9
  export declare class HookManager {
3
10
  private readonly hooks;
4
- constructor(hooks?: AgentHooks);
11
+ private readonly modelClient?;
12
+ private readonly emitEvent?;
13
+ private readonly getSessionMetadata?;
14
+ constructor(hooks?: AgentHooks, options?: HookManagerOptions);
15
+ hasPermissionRequestFunction(): boolean;
16
+ private toCompactUsage;
17
+ private getToolCallIdFromInput;
18
+ private recordEvaluation;
19
+ private evaluatePromptHook;
5
20
  executePermissionRequest(context: ToolHookContext): Promise<PermissionRequestResult>;
21
+ evaluatePermissionRequestPrompt(context: ToolHookContext): Promise<void>;
6
22
  executePreToolUse(context: ToolHookContext): Promise<PreToolUseResult | void>;
7
23
  executeUserPromptSubmit(context: UserPromptSubmitContext): Promise<UserPromptSubmitResult>;
8
24
  executeSessionStart(context: SessionStartContext): Promise<void>;
@@ -13,3 +29,4 @@ export declare class HookManager {
13
29
  executeSubagentStart(context: SubagentStartContext): Promise<void>;
14
30
  executeSubagentStop(context: SubagentStopContext): Promise<void>;
15
31
  }
32
+ export {};
@@ -0,0 +1,28 @@
1
+ import type { ModelClient } from '../../model/types';
2
+ import type { HookEvaluationEvent, Usage } from '../../types';
3
+ import type { PromptHookEntry } from './types';
4
+ export type PromptEvaluableHookName = 'permissionRequest' | 'preToolUse' | 'postToolUse' | 'postToolUseFailure' | 'subagentStop' | 'userPromptSubmit';
5
+ export interface ExecutePromptHookOptions {
6
+ hookName: PromptEvaluableHookName;
7
+ sessionId: string;
8
+ input: unknown;
9
+ entry: PromptHookEntry;
10
+ modelClient?: ModelClient;
11
+ toolCallId?: string;
12
+ emitEvent?: (event: Omit<HookEvaluationEvent, 'sessionId'>) => void;
13
+ }
14
+ export interface PromptHookExecutionResult {
15
+ evaluationId: string;
16
+ hookName: PromptEvaluableHookName;
17
+ renderedPrompt: string;
18
+ status: 'success' | 'error' | 'timeout';
19
+ durationMs: number;
20
+ rawResponse?: string;
21
+ result?: unknown;
22
+ usage?: Usage;
23
+ error?: {
24
+ code?: string;
25
+ message: string;
26
+ };
27
+ }
28
+ export declare function executePromptHook(options: ExecutePromptHookOptions): Promise<PromptHookExecutionResult>;
@@ -1,4 +1,5 @@
1
1
  import type { ModelStopReason } from '../../model/types';
2
+ import type { ModelRef } from '../../model/types';
2
3
  import type { ToolExecutionContext } from '../../tool';
3
4
  import type { Message, MessageContent, ToolCall, Usage } from '../../types';
4
5
  export interface BaseHookContext {
@@ -81,6 +82,25 @@ export interface UserPromptSubmitResult {
81
82
  allow: boolean;
82
83
  modifiedInput?: MessageContent;
83
84
  }
85
+ export interface PromptHookEntry {
86
+ type: 'prompt';
87
+ /**
88
+ * Prompt template used for evaluation.
89
+ * `$ARGUMENTS` (if present) will be replaced with serialized hook input.
90
+ * If absent, serialized hook input is appended to the end of the prompt.
91
+ */
92
+ prompt: string;
93
+ /**
94
+ * Optional model override for this hook evaluation.
95
+ * Defaults to the session's configured model.
96
+ */
97
+ model?: ModelRef;
98
+ /**
99
+ * Optional timeout in milliseconds for this evaluation.
100
+ * Defaults to 30_000ms.
101
+ */
102
+ timeoutMs?: number;
103
+ }
84
104
  export type PermissionRequestHook = (ctx: ToolHookContext) => Promise<PermissionRequestResult>;
85
105
  export type PreToolUseHook = (ctx: ToolHookContext) => Promise<PreToolUseResult | void>;
86
106
  export type PostToolUseHook = (ctx: ToolHookContext, result: unknown) => Promise<void>;
@@ -91,17 +111,23 @@ export type SessionEndHook = (ctx: SessionEndContext) => Promise<void>;
91
111
  export type SubagentStartHook = (ctx: SubagentStartContext) => Promise<void>;
92
112
  export type SubagentStopHook = (ctx: SubagentStopContext) => Promise<void>;
93
113
  export type UserPromptSubmitHook = (ctx: UserPromptSubmitContext) => Promise<UserPromptSubmitResult>;
114
+ export type PermissionRequestHookEntry = PermissionRequestHook | PromptHookEntry;
115
+ export type PreToolUseHookEntry = PreToolUseHook | PromptHookEntry;
116
+ export type PostToolUseHookEntry = PostToolUseHook | PromptHookEntry;
117
+ export type PostToolUseFailureHookEntry = PostToolUseFailureHook | PromptHookEntry;
118
+ export type SubagentStopHookEntry = SubagentStopHook | PromptHookEntry;
119
+ export type UserPromptSubmitHookEntry = UserPromptSubmitHook | PromptHookEntry;
94
120
  export interface AgentHooks {
95
121
  sessionStart?: SessionStartHook;
96
- permissionRequest?: PermissionRequestHook;
97
- preToolUse?: PreToolUseHook;
98
- postToolUse?: PostToolUseHook;
99
- postToolUseFailure?: PostToolUseFailureHook;
122
+ permissionRequest?: PermissionRequestHookEntry | PermissionRequestHookEntry[];
123
+ preToolUse?: PreToolUseHookEntry | PreToolUseHookEntry[];
124
+ postToolUse?: PostToolUseHookEntry | PostToolUseHookEntry[];
125
+ postToolUseFailure?: PostToolUseFailureHookEntry | PostToolUseFailureHookEntry[];
100
126
  sessionEnd?: SessionEndHook;
101
127
  stop?: StopHook;
102
128
  subagentStart?: SubagentStartHook;
103
- subagentStop?: SubagentStopHook;
104
- userPromptSubmit?: UserPromptSubmitHook;
129
+ subagentStop?: SubagentStopHookEntry | SubagentStopHookEntry[];
130
+ userPromptSubmit?: UserPromptSubmitHookEntry | UserPromptSubmitHookEntry[];
105
131
  }
106
132
  /** @deprecated Use `AgentHooks` instead. Kept for backward compatibility. */
107
133
  export type ToolHooks = AgentHooks;
@@ -6,7 +6,7 @@ export type { ToCheckpointOptions } from '../session/handlers/CheckpointManager'
6
6
  export { Agent } from './agent';
7
7
  export { AgentAbortError, AgentMaxIterationsError, AgentPauseError, ensureNotAborted } from './errors';
8
8
  export { HookManager } from './hooks';
9
- export type { AgentHooks, BaseHookContext, PermissionRequestHook, PermissionRequestResult, PostToolUseFailureHook, PostToolUseHook, PreToolUseHook, PreToolUseResult, SessionEndContext, SessionEndHook, SessionStartContext, SessionStartHook, StopContext, StopHook, SubagentStartContext, SubagentStartHook, SubagentStopContext, SubagentStopHook, ToolHookContext, ToolHooks, UserPromptSubmitContext, UserPromptSubmitHook, UserPromptSubmitResult, } from './hooks';
9
+ export type { AgentHooks, BaseHookContext, PermissionRequestHook, PermissionRequestHookEntry, PermissionRequestResult, PostToolUseFailureHook, PostToolUseFailureHookEntry, PostToolUseHook, PostToolUseHookEntry, PreToolUseHook, PreToolUseHookEntry, PreToolUseResult, PromptHookEntry, SessionEndContext, SessionEndHook, SessionStartContext, SessionStartHook, StopContext, StopHook, SubagentStartContext, SubagentStartHook, SubagentStopContext, SubagentStopHook, SubagentStopHookEntry, ToolHookContext, ToolHooks, UserPromptSubmitContext, UserPromptSubmitHook, UserPromptSubmitHookEntry, UserPromptSubmitResult, } from './hooks';
10
10
  export { compose } from './middleware';
11
11
  export type { Middleware, NamedMiddleware, NextFunction } from './middleware';
12
12
  export { countContentTokens, countMessagesTokens, countMessageTokens, countTokens, createCachedTokenCounter, estimateMessagesTokens, estimateTokens, } from './tokenCounter';
@@ -49,9 +49,11 @@ export interface Middleware<State = AgentLoopState> {
49
49
  /**
50
50
  * Optional factory function that creates tools to be registered with this middleware.
51
51
  * When the middleware is registered via agent.use(), this function will be called
52
- * and the returned tools will be automatically registered with a namespace prefix.
52
+ * and the returned tools will be automatically registered with a namespace prefix
53
+ * by default.
53
54
  *
54
- * Tools will be namespaced as: `<middlewareName>_<toolName>`
55
+ * Tools will be namespaced as: `<middlewareName>_<toolName>`.
56
+ * If `__toolNamespacePrefix === false`, tools are registered with original `tool.name`.
55
57
  * When the middleware is removed, all associated tools are automatically unregistered.
56
58
  *
57
59
  * Can be synchronous or asynchronous to support dynamic tool creation.
@@ -70,6 +72,12 @@ export interface Middleware<State = AgentLoopState> {
70
72
  * ```
71
73
  */
72
74
  __createTools?: () => BaseTool[] | Promise<BaseTool[]>;
75
+ /**
76
+ * Optional flag to control middleware tool namespace prefixing.
77
+ * Defaults to true/undefined, which registers tools as `<middlewareName>_<toolName>`.
78
+ * Set to false to register tools with their original `tool.name` (no middleware prefix).
79
+ */
80
+ __toolNamespacePrefix?: boolean;
73
81
  /**
74
82
  * Optional function that returns a list of tool names to block for the given state.
75
83
  * This allows middleware to dynamically control which tools should be unavailable
@@ -1,6 +1,7 @@
1
1
  import type { McpServerConfig } from '../mcp-client';
2
2
  import type { ModelClient, ModelRef } from '../model';
3
3
  import type { ModelStopReason } from '../model/types';
4
+ import type { MessageQueueConfig } from '../session/types';
4
5
  import type { StateStore } from '../state';
5
6
  import type { ToolExecutionContextInput, ToolRegistry } from '../tool';
6
7
  import type { CheckpointRequestParams, Message, MessageContent, ToolCall, Usage } from '../types';
@@ -294,10 +295,21 @@ export interface CreateSessionOptions extends SessionHandleOptions {
294
295
  * This value is persisted in session snapshots and restored on resume.
295
296
  */
296
297
  cwd?: string;
298
+ /**
299
+ * Optional message queue configuration for this session.
300
+ */
301
+ messageQueueConfig?: Partial<MessageQueueConfig>;
297
302
  }
298
303
  export interface SendOptions {
299
304
  /**
300
305
  * Optional tool execution context input
301
306
  */
302
307
  toolContext?: ToolExecutionContextInput;
308
+ /**
309
+ * Controls how receive() handles existing checkpoints.
310
+ * - auto: preserve current behavior
311
+ * - explicit_only: do not auto-resume a pending checkpoint
312
+ * - force_resume: require resuming from checkpoint flow first
313
+ */
314
+ resumeMode?: 'auto' | 'explicit_only' | 'force_resume';
303
315
  }
package/dist/index.d.ts CHANGED
@@ -1,16 +1,20 @@
1
1
  export * from './acp-adapter';
2
2
  export { Agent, AgentAbortError, AgentMaxIterationsError, compose, compressSessionManually, createContextCompressionMiddleware, createInitialLoopState, ensureNotAborted, extractPersistentMetadata, extractPersistentState, fromLoopCheckpoint, HookManager, toLoopCheckpoint, } from './agent';
3
- export type { AgentHooks, AgentInput, AgentLoopState, AgentOptions, BaseHookContext, CompressionStats, ContextCompressionOptions, CreateSessionOptions, ManualCompressionOptions, ManualCompressionResult, Middleware, NextFunction, PermissionRequestHook, PermissionRequestResult, PostToolUseFailureHook, PostToolUseHook, PreToolUseHook, PreToolUseResult, SessionEndContext, SessionEndHook, SessionStartContext, SessionStartHook, SendOptions, SessionHandleOptions, StopContext, StopHook, SubagentStartContext, SubagentStartHook, SubagentStopContext, SubagentStopHook, ToCheckpointOptions, ToolCallWithResult, ToolHookContext, ToolHooks, UserPromptSubmitContext, UserPromptSubmitHook, UserPromptSubmitResult, } from './agent';
3
+ export type { AgentHooks, AgentInput, AgentLoopState, AgentOptions, BaseHookContext, CompressionStats, ContextCompressionOptions, CreateSessionOptions, ManualCompressionOptions, ManualCompressionResult, Middleware, NextFunction, PermissionRequestHook, PermissionRequestHookEntry, PermissionRequestResult, PostToolUseFailureHook, PostToolUseFailureHookEntry, PostToolUseHook, PostToolUseHookEntry, PreToolUseHook, PreToolUseHookEntry, PreToolUseResult, PromptHookEntry, SendOptions, SessionEndContext, SessionEndHook, SessionHandleOptions, SessionStartContext, SessionStartHook, StopContext, StopHook, SubagentStartContext, SubagentStartHook, SubagentStopContext, SubagentStopHook, SubagentStopHookEntry, ToCheckpointOptions, ToolCallWithResult, ToolHookContext, ToolHooks, UserPromptSubmitContext, UserPromptSubmitHook, UserPromptSubmitHookEntry, UserPromptSubmitResult, } from './agent';
4
4
  export { applyCcMockSystemPrompt, CCMOCK_SYSTEM_PROMPT_PREFIX, isCcMockEnabled, readCcMockFlag, } from './ccmock';
5
+ export { cacheTextToSessionBlob, cleanupExpiredSessionCaches, cleanupSessionCache, deleteSessionBlobByPath, normalizeSessionId, readBlobMeta, relocateSessionBlobPath, resolveBlobPathFromFileId, resolveSessionCacheDir, resolveStateDir, writeSessionBlob, } from './lib/session-blob';
6
+ export type { BlobLogger, SessionBlobWriteResult } from './lib/session-blob';
5
7
  export * from './mcp-client';
6
8
  export { createAgentRulesMiddleware } from './middleware/agentRulesMiddleware';
7
9
  export type { AgentRulesMiddlewareOptions } from './middleware/agentRulesMiddleware';
8
- export { createCommitModeMiddleware } from './middleware/commitModeMiddleware';
9
- export type { CommitModeMiddlewareOptions } from './middleware/commitModeMiddleware';
10
10
  export { createAttachmentMiddleware } from './middleware/attachmentMiddleware';
11
11
  export type { AttachmentMiddlewareOptions } from './middleware/attachmentMiddleware';
12
+ export { createCommitModeMiddleware } from './middleware/commitModeMiddleware';
13
+ export type { CommitModeMiddlewareOptions } from './middleware/commitModeMiddleware';
12
14
  export { createEnvInfoMiddleware } from './middleware/envInfoMiddleware';
13
15
  export type { EnvInfoMiddlewareOptions } from './middleware/envInfoMiddleware';
16
+ export { createLongRunningMiddleware } from './middleware/longRunningMiddleware';
17
+ export type { LongRunningMiddlewareOptions, SelfReflectionOptions } from './middleware/longRunningMiddleware';
14
18
  export { createParallelSubagentMiddleware } from './middleware/parallelSubagentMiddleware';
15
19
  export type { ParallelSubagentMiddlewareOptions } from './middleware/parallelSubagentMiddleware';
16
20
  export { createPlanModeMiddleware } from './middleware/planModeMiddleware';
@@ -19,8 +23,6 @@ export { createReviewModeMiddleware } from './middleware/reviewMiddleware';
19
23
  export type { ReviewModeMiddlewareOptions } from './middleware/reviewMiddleware';
20
24
  export { createSkillsMiddleware, parseSkillFile, scanMultipleSkillsDirectories, scanSkillsDirectory } from './middleware/skillsMiddleware';
21
25
  export type { ParsedSkill, SkillsMiddlewareOptions } from './middleware/skillsMiddleware';
22
- export { createLongRunningMiddleware } from './middleware/longRunningMiddleware';
23
- export type { LongRunningMiddlewareOptions, SelfReflectionOptions } from './middleware/longRunningMiddleware';
24
26
  export { injectSystemReminderToLastUserMessage, } from './middleware/utils';
25
27
  export * from './model';
26
28
  export type { OpenAITool } from './model';
@@ -31,10 +33,8 @@ export { FileStateStore, InMemoryStateStore, StateKeys, StateStore, } from './st
31
33
  export type { CompressionState, FileStateStoreOptions, StateKey, StateStoreOptions, } from './state';
32
34
  export * from './subagent';
33
35
  export { BaseTool, errorContent, FilteredToolRegistry, imageContent, textContent, ToolRegistry } from './tool';
34
- export { AskUserTool, BashTool, EditTool, GlobTool, GrepTool, ReadTool, TodoPlanTool, TodoWriteTool, softWrapLines, WebFetchTool, WebSearchTool, WriteTool, } from './tool';
36
+ export { AskUserTool, BashTool, EditTool, GlobTool, GrepTool, ReadTool, softWrapLines, TodoPlanTool, TodoWriteTool, WebFetchTool, WebSearchTool, WriteTool, } from './tool';
35
37
  export type { BashArgs, BashResult, RiskLevel, ToolApprovalResult, ToolApprovalSettings, ToolApprovalStrategy, ToolExecutionContext, ToolExecutionContextInput, ToolRunUsage, } from './tool';
36
- export type { AskUserArgs, AskUserResult, EditArgs, EditResult, DeliveryMode, FetchFormat, GlobArgs, GlobResult, GrepArgs, GrepOutputMode, GrepResult, Question, QuestionOption, ReadArgs, ReadResult, TodoItem, TodoPlanArgs, TodoPlanResult, TodoStatus, TodoWriteArgs, TodoWriteResult, WebFetchArgs, WebFetchResult, WebSearchArgs, WebSearchResult, WriteArgs, WriteResult, } from './tool';
38
+ export type { AskUserArgs, AskUserResult, DeliveryMode, EditArgs, EditResult, FetchFormat, GlobArgs, GlobResult, GrepArgs, GrepOutputMode, GrepResult, Question, QuestionOption, ReadArgs, ReadResult, TodoItem, TodoPlanArgs, TodoPlanResult, TodoStatus, TodoWriteArgs, TodoWriteResult, WebFetchArgs, WebFetchResult, WebSearchArgs, WebSearchResult, WriteArgs, WriteResult, } from './tool';
37
39
  export * from './tool/converters';
38
- export { cacheTextToSessionBlob, cleanupExpiredSessionCaches, cleanupSessionCache, deleteSessionBlobByPath, normalizeSessionId, readBlobMeta, relocateSessionBlobPath, resolveBlobPathFromFileId, resolveSessionCacheDir, resolveStateDir, writeSessionBlob, } from './lib/session-blob';
39
- export type { BlobLogger, SessionBlobWriteResult } from './lib/session-blob';
40
- export type { AgentEvent, AgentEventType, AgentLoopCheckpoint, AssistantMessage, BaseEvent, CallToolResult, CompletionAssessedEvent, CompressionEndEvent, CompressionStartEvent, ContentBlock, DoneEvent, ImageContent, IterationEndEvent, IterationStartEvent, JSONSchemaProperty, Message, MessageContent, MessageRole, SystemMessage, TextContent, TextDeltaEvent, TextEndEvent, TextStartEvent, ThinkingDeltaEvent, Tool, ToolCall, ToolCallDeltaEvent, ToolCallEndEvent, ToolCallStartEvent, ToolMessage, ToolResultEvent, Usage, UserMessage, } from './types';
40
+ export type { AgentEvent, AgentEventType, AgentLoopCheckpoint, AssistantMessage, BaseEvent, CallModelOnceOptions, CallModelOnceResult, CallToolResult, CompletionAssessedEvent, CompressionEndEvent, CompressionStartEvent, ContentBlock, DoneEvent, HookEvaluationEvent, ImageContent, IterationEndEvent, IterationStartEvent, JSONSchemaProperty, Message, MessageContent, MessageRole, SessionSnapshot, SystemMessage, TextContent, TextDeltaEvent, TextEndEvent, TextStartEvent, ThinkingDeltaEvent, Tool, ToolCall, ToolCallDeltaEvent, ToolCallEndEvent, ToolCallStartEvent, ToolMessage, ToolResultEvent, Usage, UserMessage, } from './types';