@zhivex-ai/core 1.18.0 → 1.19.1

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.
Files changed (255) hide show
  1. package/README.md +4 -0
  2. package/dist/agent/approvals.d.ts +7 -0
  3. package/dist/agent/approvals.d.ts.map +1 -0
  4. package/dist/agent/approvals.js +97 -0
  5. package/dist/agent/approvals.js.map +1 -0
  6. package/dist/agent/cancellation.d.ts +4 -0
  7. package/dist/agent/cancellation.d.ts.map +1 -0
  8. package/dist/agent/cancellation.js +69 -0
  9. package/dist/agent/cancellation.js.map +1 -0
  10. package/dist/agent/common.d.ts +20 -0
  11. package/dist/agent/common.d.ts.map +1 -0
  12. package/dist/agent/common.js +150 -0
  13. package/dist/agent/common.js.map +1 -0
  14. package/dist/agent/compaction.d.ts +6 -0
  15. package/dist/agent/compaction.d.ts.map +1 -0
  16. package/dist/agent/compaction.js +156 -0
  17. package/dist/agent/compaction.js.map +1 -0
  18. package/dist/agent/context.d.ts +58 -0
  19. package/dist/agent/context.d.ts.map +1 -0
  20. package/dist/agent/context.js +267 -0
  21. package/dist/agent/context.js.map +1 -0
  22. package/dist/agent/definition.d.ts +4 -0
  23. package/dist/agent/definition.d.ts.map +1 -0
  24. package/dist/agent/definition.js +35 -0
  25. package/dist/agent/definition.js.map +1 -0
  26. package/dist/agent/execution.d.ts +14 -0
  27. package/dist/agent/execution.d.ts.map +1 -0
  28. package/dist/agent/execution.js +1062 -0
  29. package/dist/agent/execution.js.map +1 -0
  30. package/dist/agent/groups.d.ts +3 -0
  31. package/dist/agent/groups.d.ts.map +1 -0
  32. package/dist/agent/groups.js +130 -0
  33. package/dist/agent/groups.js.map +1 -0
  34. package/dist/agent/guardrails.d.ts +4 -0
  35. package/dist/agent/guardrails.d.ts.map +1 -0
  36. package/dist/agent/guardrails.js +29 -0
  37. package/dist/agent/guardrails.js.map +1 -0
  38. package/dist/agent/instance.d.ts +42 -0
  39. package/dist/agent/instance.d.ts.map +1 -0
  40. package/dist/agent/instance.js +82 -0
  41. package/dist/agent/instance.js.map +1 -0
  42. package/dist/agent/lifecycle.d.ts +31 -0
  43. package/dist/agent/lifecycle.d.ts.map +1 -0
  44. package/dist/agent/lifecycle.js +184 -0
  45. package/dist/agent/lifecycle.js.map +1 -0
  46. package/dist/agent/state.d.ts +6 -0
  47. package/dist/agent/state.d.ts.map +1 -0
  48. package/dist/agent/state.js +119 -0
  49. package/dist/agent/state.js.map +1 -0
  50. package/dist/agent/telemetry.d.ts +12 -0
  51. package/dist/agent/telemetry.d.ts.map +1 -0
  52. package/dist/agent/telemetry.js +176 -0
  53. package/dist/agent/telemetry.js.map +1 -0
  54. package/dist/agent/tool-execution.d.ts +6 -0
  55. package/dist/agent/tool-execution.d.ts.map +1 -0
  56. package/dist/agent/tool-execution.js +176 -0
  57. package/dist/agent/tool-execution.js.map +1 -0
  58. package/dist/agent-run-view.d.ts +9 -0
  59. package/dist/agent-run-view.d.ts.map +1 -0
  60. package/dist/agent-run-view.js +42 -0
  61. package/dist/agent-run-view.js.map +1 -0
  62. package/dist/agent-store/file.d.ts +11 -0
  63. package/dist/agent-store/file.d.ts.map +1 -0
  64. package/dist/agent-store/file.js +534 -0
  65. package/dist/agent-store/file.js.map +1 -0
  66. package/dist/agent-store/memory.d.ts +9 -0
  67. package/dist/agent-store/memory.d.ts.map +1 -0
  68. package/dist/agent-store/memory.js +198 -0
  69. package/dist/agent-store/memory.js.map +1 -0
  70. package/dist/agent-store/postgres.d.ts +4 -0
  71. package/dist/agent-store/postgres.d.ts.map +1 -0
  72. package/dist/agent-store/postgres.js +374 -0
  73. package/dist/agent-store/postgres.js.map +1 -0
  74. package/dist/agent-store/shared.d.ts +19 -0
  75. package/dist/agent-store/shared.d.ts.map +1 -0
  76. package/dist/agent-store/shared.js +137 -0
  77. package/dist/agent-store/shared.js.map +1 -0
  78. package/dist/agent-store/sqlite.d.ts +4 -0
  79. package/dist/agent-store/sqlite.d.ts.map +1 -0
  80. package/dist/agent-store/sqlite.js +362 -0
  81. package/dist/agent-store/sqlite.js.map +1 -0
  82. package/dist/agent-store.d.ts +5 -21
  83. package/dist/agent-store.d.ts.map +1 -1
  84. package/dist/agent-store.js +5 -1588
  85. package/dist/agent-store.js.map +1 -1
  86. package/dist/agent.d.ts +6 -57
  87. package/dist/agent.d.ts.map +1 -1
  88. package/dist/agent.js +6 -2631
  89. package/dist/agent.js.map +1 -1
  90. package/dist/agents-entry.d.ts +19 -0
  91. package/dist/agents-entry.d.ts.map +1 -0
  92. package/dist/agents-entry.js +14 -0
  93. package/dist/agents-entry.js.map +1 -0
  94. package/dist/artifact/file.d.ts +6 -0
  95. package/dist/artifact/file.d.ts.map +1 -0
  96. package/dist/artifact/file.js +380 -0
  97. package/dist/artifact/file.js.map +1 -0
  98. package/dist/artifact/memory.d.ts +3 -0
  99. package/dist/artifact/memory.d.ts.map +1 -0
  100. package/dist/artifact/memory.js +80 -0
  101. package/dist/artifact/memory.js.map +1 -0
  102. package/dist/artifact/postgres.d.ts +3 -0
  103. package/dist/artifact/postgres.d.ts.map +1 -0
  104. package/dist/artifact/postgres.js +283 -0
  105. package/dist/artifact/postgres.js.map +1 -0
  106. package/dist/artifact/shared.d.ts +208 -0
  107. package/dist/artifact/shared.d.ts.map +1 -0
  108. package/dist/artifact/shared.js +523 -0
  109. package/dist/artifact/shared.js.map +1 -0
  110. package/dist/artifact/sqlite.d.ts +3 -0
  111. package/dist/artifact/sqlite.d.ts.map +1 -0
  112. package/dist/artifact/sqlite.js +283 -0
  113. package/dist/artifact/sqlite.js.map +1 -0
  114. package/dist/artifact.d.ts +6 -186
  115. package/dist/artifact.d.ts.map +1 -1
  116. package/dist/artifact.js +6 -1536
  117. package/dist/artifact.js.map +1 -1
  118. package/dist/catalog-contracts.d.ts +52 -0
  119. package/dist/catalog-contracts.d.ts.map +1 -0
  120. package/dist/catalog-contracts.js +250 -0
  121. package/dist/catalog-contracts.js.map +1 -0
  122. package/dist/catalog.d.ts +3 -52
  123. package/dist/catalog.d.ts.map +1 -1
  124. package/dist/catalog.js +3 -249
  125. package/dist/catalog.js.map +1 -1
  126. package/dist/generate-cache-file.d.ts +11 -0
  127. package/dist/generate-cache-file.d.ts.map +1 -0
  128. package/dist/generate-cache-file.js +124 -0
  129. package/dist/generate-cache-file.js.map +1 -0
  130. package/dist/generate-text.d.ts +2 -5
  131. package/dist/generate-text.d.ts.map +1 -1
  132. package/dist/generate-text.js +3 -18
  133. package/dist/generate-text.js.map +1 -1
  134. package/dist/generation-entry.d.ts +6 -0
  135. package/dist/generation-entry.d.ts.map +1 -0
  136. package/dist/generation-entry.js +6 -0
  137. package/dist/generation-entry.js.map +1 -0
  138. package/dist/middleware-runtime.d.ts +35 -0
  139. package/dist/middleware-runtime.d.ts.map +1 -0
  140. package/dist/middleware-runtime.js +532 -0
  141. package/dist/middleware-runtime.js.map +1 -0
  142. package/dist/middleware.d.ts +3 -43
  143. package/dist/middleware.d.ts.map +1 -1
  144. package/dist/middleware.js +3 -653
  145. package/dist/middleware.js.map +1 -1
  146. package/dist/normalize-messages.d.ts +3 -0
  147. package/dist/normalize-messages.d.ts.map +1 -0
  148. package/dist/normalize-messages.js +16 -0
  149. package/dist/normalize-messages.js.map +1 -0
  150. package/dist/provider-entry.d.ts +17 -0
  151. package/dist/provider-entry.d.ts.map +1 -0
  152. package/dist/provider-entry.js +13 -0
  153. package/dist/provider-entry.js.map +1 -0
  154. package/dist/realtime.d.ts +2 -0
  155. package/dist/realtime.d.ts.map +1 -1
  156. package/dist/realtime.js +6 -0
  157. package/dist/realtime.js.map +1 -1
  158. package/dist/store-key.d.ts +3 -0
  159. package/dist/store-key.d.ts.map +1 -0
  160. package/dist/store-key.js +5 -0
  161. package/dist/store-key.js.map +1 -0
  162. package/dist/store-security.d.ts +1 -2
  163. package/dist/store-security.d.ts.map +1 -1
  164. package/dist/store-security.js +2 -4
  165. package/dist/store-security.js.map +1 -1
  166. package/dist/types/agent-state.d.ts +236 -0
  167. package/dist/types/agent-state.d.ts.map +1 -0
  168. package/dist/types/agent-state.js +2 -0
  169. package/dist/types/agent-state.js.map +1 -0
  170. package/dist/types/agents.d.ts +429 -0
  171. package/dist/types/agents.d.ts.map +1 -0
  172. package/dist/types/agents.js +2 -0
  173. package/dist/types/agents.js.map +1 -0
  174. package/dist/types/common.d.ts +179 -0
  175. package/dist/types/common.d.ts.map +1 -0
  176. package/dist/types/common.js +2 -0
  177. package/dist/types/common.js.map +1 -0
  178. package/dist/types/generation.d.ts +109 -0
  179. package/dist/types/generation.d.ts.map +1 -0
  180. package/dist/types/generation.js +2 -0
  181. package/dist/types/generation.js.map +1 -0
  182. package/dist/types/media-data.d.ts +65 -0
  183. package/dist/types/media-data.d.ts.map +1 -0
  184. package/dist/types/media-data.js +2 -0
  185. package/dist/types/media-data.js.map +1 -0
  186. package/dist/types/media.d.ts +141 -0
  187. package/dist/types/media.d.ts.map +1 -0
  188. package/dist/types/media.js +2 -0
  189. package/dist/types/media.js.map +1 -0
  190. package/dist/types/messages.d.ts +82 -0
  191. package/dist/types/messages.d.ts.map +1 -0
  192. package/dist/types/messages.js +2 -0
  193. package/dist/types/messages.js.map +1 -0
  194. package/dist/types/middleware.d.ts +130 -0
  195. package/dist/types/middleware.d.ts.map +1 -0
  196. package/dist/types/middleware.js +2 -0
  197. package/dist/types/middleware.js.map +1 -0
  198. package/dist/types/model-tools.d.ts +409 -0
  199. package/dist/types/model-tools.d.ts.map +1 -0
  200. package/dist/types/model-tools.js +2 -0
  201. package/dist/types/model-tools.js.map +1 -0
  202. package/dist/types/persistence.d.ts +168 -0
  203. package/dist/types/persistence.d.ts.map +1 -0
  204. package/dist/types/persistence.js +2 -0
  205. package/dist/types/persistence.js.map +1 -0
  206. package/dist/types/provider-resources.d.ts +336 -0
  207. package/dist/types/provider-resources.d.ts.map +1 -0
  208. package/dist/types/provider-resources.js +2 -0
  209. package/dist/types/provider-resources.js.map +1 -0
  210. package/dist/types/provider.d.ts +23 -0
  211. package/dist/types/provider.d.ts.map +1 -0
  212. package/dist/types/provider.js +2 -0
  213. package/dist/types/provider.js.map +1 -0
  214. package/dist/types/resource-options.d.ts +88 -0
  215. package/dist/types/resource-options.d.ts.map +1 -0
  216. package/dist/types/resource-options.js +2 -0
  217. package/dist/types/resource-options.js.map +1 -0
  218. package/dist/types/stream.d.ts +70 -0
  219. package/dist/types/stream.d.ts.map +1 -0
  220. package/dist/types/stream.js +2 -0
  221. package/dist/types/stream.js.map +1 -0
  222. package/dist/types/ui.d.ts +110 -0
  223. package/dist/types/ui.d.ts.map +1 -0
  224. package/dist/types/ui.js +2 -0
  225. package/dist/types/ui.js.map +1 -0
  226. package/dist/types.d.ts +16 -2480
  227. package/dist/types.d.ts.map +1 -1
  228. package/dist/ui.d.ts.map +1 -1
  229. package/dist/ui.js +2 -0
  230. package/dist/ui.js.map +1 -1
  231. package/dist/workflow-state-service/file.d.ts +5 -0
  232. package/dist/workflow-state-service/file.d.ts.map +1 -0
  233. package/dist/workflow-state-service/file.js +142 -0
  234. package/dist/workflow-state-service/file.js.map +1 -0
  235. package/dist/workflow-state-service/memory.d.ts +3 -0
  236. package/dist/workflow-state-service/memory.d.ts.map +1 -0
  237. package/dist/workflow-state-service/memory.js +27 -0
  238. package/dist/workflow-state-service/memory.js.map +1 -0
  239. package/dist/workflow-state-service/postgres.d.ts +4 -0
  240. package/dist/workflow-state-service/postgres.d.ts.map +1 -0
  241. package/dist/workflow-state-service/postgres.js +179 -0
  242. package/dist/workflow-state-service/postgres.js.map +1 -0
  243. package/dist/workflow-state-service/shared.d.ts +43 -0
  244. package/dist/workflow-state-service/shared.d.ts.map +1 -0
  245. package/dist/workflow-state-service/shared.js +107 -0
  246. package/dist/workflow-state-service/shared.js.map +1 -0
  247. package/dist/workflow-state-service/sqlite.d.ts +4 -0
  248. package/dist/workflow-state-service/sqlite.d.ts.map +1 -0
  249. package/dist/workflow-state-service/sqlite.js +183 -0
  250. package/dist/workflow-state-service/sqlite.js.map +1 -0
  251. package/dist/workflow-state-service.d.ts +6 -33
  252. package/dist/workflow-state-service.d.ts.map +1 -1
  253. package/dist/workflow-state-service.js +6 -626
  254. package/dist/workflow-state-service.js.map +1 -1
  255. package/package.json +17 -1
@@ -0,0 +1,409 @@
1
+ import type { z, ZodTypeAny } from "zod";
2
+ import type { AgentStatus, AgentStoreScope, AudioFrame, JsonValue, MediaFrame, ModelCapabilities, ProviderOptions, ReasoningConfig, RetryOptions, StructuredOutputConfig } from "./common.js";
3
+ import type { ModelMessage, ToolCall, ToolChoice, ToolExecutionResult } from "./messages.js";
4
+ import type { GenerateResult, StreamEvent } from "./stream.js";
5
+ export interface ToolExecutionOptions {
6
+ parallel?: boolean;
7
+ /** Only explicitly independent ordinary tools may overlap; all others form serial barriers. */
8
+ independentOnly?: boolean;
9
+ maxConcurrency?: number;
10
+ timeoutMs?: number;
11
+ stopOnError?: boolean;
12
+ /** Return sanitized schema errors to the model; strict rejection is the default. maxSteps bounds corrections. */
13
+ validationErrorMode?: "throw" | "tool-result";
14
+ /** Recover only names absent from the exact registry; never resolves aliases or bypasses availability. */
15
+ unknownToolMode?: "throw" | "tool-result";
16
+ }
17
+ export type ToolApprovalMode = "policy" | "interrupt";
18
+ export interface ToolApprovalSigner {
19
+ sign(payload: string): string | Promise<string>;
20
+ verify?(payload: string, signature: string): boolean | Promise<boolean>;
21
+ }
22
+ export interface ToolGuardrailTrigger {
23
+ triggered: true;
24
+ reason?: string;
25
+ metadata?: Record<string, JsonValue>;
26
+ }
27
+ export interface ToolRuntimeContext<TContext = any> {
28
+ context?: TContext;
29
+ /** Durable run that owns this execution, when invoked by the agent runtime. */
30
+ runId?: string;
31
+ agentId?: string;
32
+ /** Human-readable, low-cardinality agent name used for telemetry. */
33
+ agentName?: string;
34
+ scope?: AgentStoreScope;
35
+ metadata?: Record<string, JsonValue>;
36
+ /** Acquired execution boundary for this run. Callbacks and secrets are never persisted. */
37
+ executionEnvironment?: AgentExecutionEnvironmentSession<TContext>;
38
+ }
39
+ export type AgentExecutionEnvironmentBackend = "host" | "process" | "container" | "microvm" | "remote" | "custom";
40
+ export interface AgentExecutionEnvironmentManifest {
41
+ schemaVersion: 1;
42
+ id: string;
43
+ version?: string;
44
+ backend: AgentExecutionEnvironmentBackend;
45
+ assurance: "best-effort" | "enforced";
46
+ isolation: "shared" | "per-run" | "per-tool-call";
47
+ workspace?: {
48
+ id?: string;
49
+ root: string;
50
+ cwd?: string;
51
+ access: "read-only" | "read-write";
52
+ followSymlinks?: boolean;
53
+ readablePaths?: string[];
54
+ writablePaths?: string[];
55
+ };
56
+ permissions?: {
57
+ undeclaredTools?: "allow" | "deny";
58
+ filesystem?: "deny" | "read-only" | "read-write";
59
+ network?: {
60
+ mode: "deny" | "allowlist";
61
+ allowedDomains?: string[];
62
+ allowedPorts?: number[];
63
+ allowPrivateNetworks?: boolean;
64
+ };
65
+ process?: {
66
+ shell: "deny" | "allowlist" | "allow";
67
+ allowedCommands?: string[];
68
+ };
69
+ environment?: {
70
+ inheritedVariables?: string[];
71
+ };
72
+ };
73
+ limits?: {
74
+ maxProcessRuntimeMs?: number;
75
+ maxProcessOutputBytes?: number;
76
+ maxConcurrentProcesses?: number;
77
+ maxMemoryMb?: number;
78
+ maxWorkspaceBytes?: number;
79
+ maxFileWriteBytes?: number;
80
+ maxNetworkRequests?: number;
81
+ maxNetworkBytes?: number;
82
+ };
83
+ metadata?: Record<string, JsonValue>;
84
+ }
85
+ export interface AgentExecutionEnvironmentBinding {
86
+ environmentId: string;
87
+ environmentVersion?: string;
88
+ fingerprint: string;
89
+ workspaceId?: string;
90
+ }
91
+ export interface AgentExecutionEnvironmentAcquireRequest<TContext = any> {
92
+ runId: string;
93
+ agentId?: string;
94
+ scope?: AgentStoreScope;
95
+ context?: TContext;
96
+ metadata?: Record<string, JsonValue>;
97
+ abortSignal?: AbortSignal;
98
+ }
99
+ export interface AgentExecutionAuthorizationRequest<TContext = any> {
100
+ manifest: AgentExecutionEnvironmentManifest;
101
+ binding: AgentExecutionEnvironmentBinding;
102
+ tool: ToolDefinition;
103
+ toolCall: ToolCall;
104
+ input: unknown;
105
+ context: ToolExecutionContext<TContext>;
106
+ phase: "preflight" | "execute";
107
+ }
108
+ export type AgentExecutionAuthorizationDecision = {
109
+ decision: "allow";
110
+ metadata?: Record<string, JsonValue>;
111
+ } | {
112
+ decision: "deny";
113
+ reason: string;
114
+ metadata?: Record<string, JsonValue>;
115
+ };
116
+ export interface AgentExecutionEnvironmentSession<TContext = any> {
117
+ readonly manifest: AgentExecutionEnvironmentManifest;
118
+ readonly binding: AgentExecutionEnvironmentBinding;
119
+ authorize(request: AgentExecutionAuthorizationRequest<TContext>): AgentExecutionAuthorizationDecision | Promise<AgentExecutionAuthorizationDecision>;
120
+ execute<TResult>(request: AgentExecutionAuthorizationRequest<TContext>, operation: () => TResult | Promise<TResult>): TResult | Promise<TResult>;
121
+ release?(result: {
122
+ status: AgentStatus;
123
+ error?: {
124
+ message: string;
125
+ };
126
+ }): void | Promise<void>;
127
+ }
128
+ export interface AgentExecutionEnvironment<TContext = any> {
129
+ readonly manifest: AgentExecutionEnvironmentManifest;
130
+ acquire(request: AgentExecutionEnvironmentAcquireRequest<TContext>): AgentExecutionEnvironmentSession<TContext> | Promise<AgentExecutionEnvironmentSession<TContext>>;
131
+ }
132
+ export interface ModelGenerateInput<TProviderOptions extends ProviderOptions = ProviderOptions> extends RetryOptions {
133
+ messages: ModelMessage[];
134
+ /** Opt-in discriminated JSON tool outputs: { output } on success, { error } on failure.
135
+ * Only use with models advertising toolHistory: "json"; legacy serialization is the default.
136
+ */
137
+ toolResultFormat?: "raw" | "envelope";
138
+ tools?: ToolSet;
139
+ toolChoice?: ToolChoice;
140
+ toolExecution?: ToolExecutionOptions;
141
+ temperature?: number;
142
+ maxTokens?: number;
143
+ reasoning?: ReasoningConfig;
144
+ providerOptions?: TProviderOptions;
145
+ structuredOutput?: StructuredOutputConfig;
146
+ }
147
+ export interface LanguageModel<TProviderOptions extends ProviderOptions = ProviderOptions> {
148
+ readonly provider: string;
149
+ readonly modelId: string;
150
+ readonly capabilities: ModelCapabilities;
151
+ generate(input: ModelGenerateInput<TProviderOptions>): Promise<GenerateResult>;
152
+ stream?(input: ModelGenerateInput<TProviderOptions>): Promise<AsyncIterable<StreamEvent>>;
153
+ }
154
+ export interface RealtimeConnectOptions {
155
+ /** Maximum time allowed to establish the provider transport. */
156
+ timeoutMs?: number;
157
+ /** Cancels connection establishment and is passed to the transport for session-lifetime cancellation. */
158
+ signal?: AbortSignal;
159
+ subprotocols?: string[];
160
+ /** Maximum accepted inbound WebSocket frame size. */
161
+ maxIncomingFrameBytes?: number;
162
+ }
163
+ export interface RealtimeSessionConfig {
164
+ /** Backend execution is owned by the application, separately from speech. */
165
+ delegation?: {
166
+ type: "client";
167
+ };
168
+ mode?: "conversation" | "translation" | "transcription";
169
+ instructions?: string;
170
+ voice?: string;
171
+ tools?: ToolCollection;
172
+ toolChoice?: ToolChoice;
173
+ reasoning?: ReasoningConfig;
174
+ inputTranscription?: {
175
+ model?: string;
176
+ language?: string;
177
+ prompt?: string;
178
+ includeLogprobs?: boolean;
179
+ delay?: "minimal" | "low" | "medium" | "high" | "xhigh";
180
+ };
181
+ inputAudioTranscription?: boolean | Record<string, unknown>;
182
+ /** Enable this when an audio-output model must also produce `outputText`. */
183
+ outputAudioTranscription?: boolean | Record<string, unknown>;
184
+ translation?: {
185
+ targetLanguage: string;
186
+ sourceLanguage?: string;
187
+ instructions?: string;
188
+ };
189
+ inputAudioMediaType?: string;
190
+ outputAudioMediaType?: string;
191
+ inputSampleRateHz?: number;
192
+ outputSampleRateHz?: number;
193
+ channels?: number;
194
+ turnDetection?: Record<string, unknown> | null;
195
+ noiseReduction?: Record<string, unknown> | null;
196
+ mediaResolution?: string;
197
+ affectiveDialog?: boolean;
198
+ proactiveAudio?: boolean;
199
+ providerOptions?: ProviderOptions;
200
+ metadata?: Record<string, JsonValue>;
201
+ autoResponse?: boolean;
202
+ }
203
+ export interface RealtimeTokenResult {
204
+ value: string;
205
+ expiresAtMs?: number;
206
+ rawResponse?: unknown;
207
+ }
208
+ export interface RealtimeSessionStartedEvent {
209
+ type: "realtime-start";
210
+ sessionId?: string;
211
+ providerMetadata?: Record<string, JsonValue>;
212
+ }
213
+ export interface RealtimeTextDeltaEvent {
214
+ type: "realtime-text-delta";
215
+ textDelta: string;
216
+ itemId?: string;
217
+ responseId?: string;
218
+ role?: "assistant";
219
+ providerMetadata?: Record<string, JsonValue>;
220
+ }
221
+ export interface RealtimeAudioOutputEvent {
222
+ type: "realtime-audio-output";
223
+ audio: Uint8Array;
224
+ mediaType: string;
225
+ sampleRateHz?: number;
226
+ channels?: number;
227
+ itemId?: string;
228
+ responseId?: string;
229
+ providerMetadata?: Record<string, JsonValue>;
230
+ }
231
+ export interface RealtimeTranscriptEvent {
232
+ type: "realtime-transcript";
233
+ /** Complete transcript when `isFinal` is true; otherwise an incremental chunk. */
234
+ text: string;
235
+ role: "user" | "assistant";
236
+ /** Explicit provider signal that no more transcript chunks remain for this item. */
237
+ isFinal: boolean;
238
+ /** Provider session timeline, not wall-clock time or playback completion. */
239
+ startMs?: number;
240
+ endMs?: number;
241
+ itemId?: string;
242
+ responseId?: string;
243
+ providerMetadata?: Record<string, JsonValue>;
244
+ }
245
+ export interface RealtimeToolCallEvent {
246
+ type: "realtime-tool-call";
247
+ toolCall: ToolCall;
248
+ }
249
+ export interface RealtimeDelegationEvent {
250
+ type: "realtime-delegation";
251
+ /** Opaque provider ID. A delegation does not contain task text or tool arguments. */
252
+ delegationId: string;
253
+ offsetMs?: number;
254
+ providerMetadata?: Record<string, JsonValue>;
255
+ }
256
+ export interface RealtimeContextUpdate {
257
+ kind: "instructions" | "context" | "commentary";
258
+ content: string;
259
+ /** Omit for session-wide context. Only known client delegation IDs are valid. */
260
+ delegationId?: string;
261
+ eventId?: string;
262
+ }
263
+ export interface RealtimeToolResultEvent {
264
+ type: "realtime-tool-result";
265
+ toolResult: ToolExecutionResult;
266
+ }
267
+ export interface RealtimeProviderDataEvent {
268
+ type: "realtime-provider-data";
269
+ provider: string;
270
+ data: JsonValue;
271
+ }
272
+ export interface RealtimeResponseCompleteEvent {
273
+ type: "realtime-response-complete";
274
+ reason?: string;
275
+ providerMetadata?: Record<string, JsonValue>;
276
+ }
277
+ export interface RealtimeSessionResumptionEvent {
278
+ type: "realtime-session-resumption";
279
+ handle?: string;
280
+ resumable?: boolean;
281
+ providerMetadata?: Record<string, JsonValue>;
282
+ }
283
+ export interface RealtimeGoAwayEvent {
284
+ type: "realtime-go-away";
285
+ timeLeftMs?: number;
286
+ providerMetadata?: Record<string, JsonValue>;
287
+ }
288
+ export interface RealtimeSessionEndedEvent {
289
+ type: "realtime-end";
290
+ reason?: string;
291
+ providerMetadata?: Record<string, JsonValue>;
292
+ }
293
+ export interface RealtimeErrorEvent {
294
+ type: "realtime-error";
295
+ error?: Error;
296
+ message?: string;
297
+ providerMetadata?: Record<string, JsonValue>;
298
+ }
299
+ export type RealtimeEvent = RealtimeSessionStartedEvent | RealtimeDelegationEvent | RealtimeTextDeltaEvent | RealtimeAudioOutputEvent | RealtimeTranscriptEvent | RealtimeToolCallEvent | RealtimeToolResultEvent | RealtimeProviderDataEvent | RealtimeResponseCompleteEvent | RealtimeSessionResumptionEvent | RealtimeGoAwayEvent | RealtimeSessionEndedEvent | RealtimeErrorEvent;
300
+ export interface RealtimeSession {
301
+ readonly provider: string;
302
+ readonly modelId: string;
303
+ readonly capabilities: ModelCapabilities;
304
+ readonly config: RealtimeSessionConfig;
305
+ sendAudio(frame: AudioFrame): Promise<void>;
306
+ sendMedia(frame: MediaFrame): Promise<void>;
307
+ sendText(text: string): Promise<void>;
308
+ sendToolResult(result: ToolExecutionResult): Promise<void>;
309
+ appendContext?(update: RealtimeContextUpdate): Promise<void>;
310
+ setInputMuted?(muted: boolean): Promise<void>;
311
+ /** Cancel current provider inference without closing the session, when supported. */
312
+ interrupt?(): Promise<void>;
313
+ update(config: Partial<RealtimeSessionConfig>): Promise<void>;
314
+ eventStream(): AsyncIterable<RealtimeEvent>;
315
+ close(): Promise<void>;
316
+ }
317
+ export interface RealtimeModel {
318
+ readonly provider: string;
319
+ readonly modelId: string;
320
+ readonly capabilities: ModelCapabilities;
321
+ connect(config?: RealtimeSessionConfig, options?: RealtimeConnectOptions): Promise<RealtimeSession>;
322
+ createBrowserToken?(config?: RealtimeSessionConfig, options?: RealtimeConnectOptions): Promise<RealtimeTokenResult>;
323
+ }
324
+ export interface ToolDefinition<TSchema extends ZodTypeAny = any, TResult = JsonValue, TContext = any> {
325
+ name: string;
326
+ /** Application assertion that this tool may overlap with other independent tools. */
327
+ independent?: boolean;
328
+ description?: string;
329
+ schema: TSchema;
330
+ metadata?: Record<string, JsonValue>;
331
+ requiresApproval?: boolean;
332
+ /**
333
+ * "policy" preserves the immediate allow/deny policy behavior. "interrupt"
334
+ * creates a resumable local approval request before any tool side effect.
335
+ */
336
+ approvalMode?: ToolApprovalMode;
337
+ /** Bump when approval-relevant tool behavior changes so stale approvals cannot be replayed. */
338
+ approvalVersion?: string;
339
+ isEnabled?: (input: z.infer<TSchema>, context: ToolExecutionContext<TContext>) => boolean | Promise<boolean>;
340
+ inputGuardrails?: ToolInputGuardrail<TSchema, TContext>[];
341
+ outputGuardrails?: ToolOutputGuardrail<TSchema, TResult, TContext>[];
342
+ onError?: ToolErrorHandler<TSchema, TResult, TContext>;
343
+ execute: (input: z.infer<TSchema>, context?: ToolExecutionContext<TContext>) => Promise<TResult> | TResult;
344
+ }
345
+ export interface ToolExecutionContext<TContext = any> extends ToolRuntimeContext<TContext> {
346
+ abortSignal?: AbortSignal;
347
+ toolCall: ToolCall;
348
+ step: number;
349
+ model: LanguageModel | RealtimeModel;
350
+ /** Forward this key to side-effecting APIs to make retries externally idempotent. */
351
+ idempotencyKey?: string;
352
+ request?: ModelGenerateInput;
353
+ realtimeConfig?: RealtimeSessionConfig;
354
+ }
355
+ export interface ToolInputGuardrailRequest<TSchema extends ZodTypeAny = any, TContext = any> {
356
+ tool: ToolDefinition;
357
+ input: z.infer<TSchema>;
358
+ context: ToolExecutionContext<TContext>;
359
+ }
360
+ export interface ToolOutputGuardrailRequest<TSchema extends ZodTypeAny = any, TResult = JsonValue, TContext = any> extends ToolInputGuardrailRequest<TSchema, TContext> {
361
+ output: TResult;
362
+ }
363
+ export type ToolInputGuardrail<TSchema extends ZodTypeAny = any, TContext = any> = (request: ToolInputGuardrailRequest<TSchema, TContext>) => ToolGuardrailTrigger | void | Promise<ToolGuardrailTrigger | void>;
364
+ export type ToolOutputGuardrail<TSchema extends ZodTypeAny = any, TResult = JsonValue, TContext = any> = (request: ToolOutputGuardrailRequest<TSchema, TResult, TContext>) => ToolGuardrailTrigger | void | Promise<ToolGuardrailTrigger | void>;
365
+ export type ToolErrorHandler<TSchema extends ZodTypeAny = any, TResult = JsonValue, TContext = any> = (error: Error, request: ToolInputGuardrailRequest<TSchema, TContext>) => TResult | void | Promise<TResult | void>;
366
+ export type HostedToolClass = "web-search" | "file-search" | "remote-mcp" | "computer-use" | "code-execution" | "shell" | "apply-patch" | "tool-search" | "web-extraction" | "skill" | "toolset" | "custom";
367
+ export interface HostedToolDefinition<TConfig extends JsonValue = JsonValue> {
368
+ kind: "hosted";
369
+ name: string;
370
+ provider?: string;
371
+ type: string;
372
+ config?: TConfig;
373
+ toolClass?: HostedToolClass;
374
+ requiresApproval?: boolean;
375
+ metadata?: Record<string, JsonValue>;
376
+ }
377
+ export type AnyToolDefinition = ToolDefinition<any, any, any> | HostedToolDefinition;
378
+ export type ToolSet = Record<string, AnyToolDefinition>;
379
+ export interface ToolRegistryLike {
380
+ get(name: string): AnyToolDefinition | undefined;
381
+ has(name: string): boolean;
382
+ entries(): Iterable<[string, AnyToolDefinition]>;
383
+ toToolSet(): ToolSet;
384
+ }
385
+ export type ToolCollection = ToolSet | ToolRegistryLike;
386
+ export interface ToolApprovalRequest<TContext = any> {
387
+ toolCall: ToolCall;
388
+ tool: ToolDefinition;
389
+ input: JsonValue;
390
+ step: number;
391
+ model: LanguageModel | RealtimeModel;
392
+ request?: ModelGenerateInput;
393
+ executionContext?: ToolExecutionContext<TContext>;
394
+ realtimeConfig?: RealtimeSessionConfig;
395
+ }
396
+ export interface ToolApprovalDecision {
397
+ approved: boolean;
398
+ /** Requests resumable human approval instead of treating approved:false as a final denial. */
399
+ approvalRequired?: boolean;
400
+ reason?: string;
401
+ metadata?: Record<string, JsonValue>;
402
+ }
403
+ export interface ToolApprovalEvent {
404
+ request: ToolApprovalRequest;
405
+ decision: ToolApprovalDecision;
406
+ }
407
+ export type ToolApprovalPolicy<TContext = any> = (request: ToolApprovalRequest<TContext>) => ToolApprovalDecision | boolean | Promise<ToolApprovalDecision | boolean>;
408
+ export type ToolApprovalObserver = (event: ToolApprovalEvent) => void | Promise<void>;
409
+ //# sourceMappingURL=model-tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-tools.d.ts","sourceRoot":"","sources":["../../src/types/model-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-tools.js","sourceRoot":"","sources":["../../src/types/model-tools.ts"],"names":[],"mappings":""}
@@ -0,0 +1,168 @@
1
+ import type { AgentStatus, AgentStoreScope, JsonValue } from "./common.js";
2
+ import type { ModelMessage } from "./messages.js";
3
+ import type { AgentRunState, AgentToolReconciliationRecord } from "./agent-state.js";
4
+ export interface AgentRunStoreScopeOptions {
5
+ /** Fixed scope applied to every key handled by this store instance. */
6
+ scope?: AgentStoreScope;
7
+ }
8
+ export interface AgentRunLease {
9
+ runId: string;
10
+ ownerId: string;
11
+ expiresAt: number;
12
+ }
13
+ export interface AgentRunLeaseOptions {
14
+ ownerId: string;
15
+ ttlMs: number;
16
+ /** Injectable clock used by deterministic workers and tests. */
17
+ now?: number;
18
+ }
19
+ export type AgentToolCallJournalStatus = "pending" | "running" | "completed" | "failed";
20
+ export interface AgentToolCallJournalEntry {
21
+ providerToolCallId?: string;
22
+ reconciliation?: AgentToolReconciliationRecord;
23
+ runId: string;
24
+ scope?: AgentStoreScope;
25
+ toolCallId: string;
26
+ toolName: string;
27
+ status: AgentToolCallJournalStatus;
28
+ /** Stable key that must also be forwarded to side-effecting integrations. */
29
+ idempotencyKey: string;
30
+ revision: number;
31
+ input?: JsonValue;
32
+ output?: JsonValue;
33
+ error?: {
34
+ message: string;
35
+ };
36
+ startedAt?: number;
37
+ completedAt?: number;
38
+ updatedAt: number;
39
+ }
40
+ export interface AgentToolCallJournalSaveOptions {
41
+ leaseOwnerId?: string;
42
+ expectedRevision?: number;
43
+ }
44
+ export interface AgentToolExecutionClaimResult {
45
+ claimed: boolean;
46
+ entry: AgentToolCallJournalEntry;
47
+ }
48
+ export interface AgentRunListOptions {
49
+ agentId?: string;
50
+ parentRunId?: string;
51
+ statuses?: AgentStatus[];
52
+ updatedAfter?: number;
53
+ updatedBefore?: number;
54
+ limit?: number;
55
+ /** Opaque cursor returned by the previous page. */
56
+ cursor?: string;
57
+ }
58
+ export interface AgentRunPage {
59
+ items: AgentRunState[];
60
+ nextCursor?: string;
61
+ }
62
+ export interface AgentRunRetentionOptions {
63
+ before: number;
64
+ statuses?: AgentStatus[];
65
+ limit?: number;
66
+ }
67
+ export interface AgentRunSaveOptions {
68
+ leaseOwnerId?: string;
69
+ expectedRevision?: number;
70
+ }
71
+ export interface AgentRunClaimResult {
72
+ claimed: boolean;
73
+ state: AgentRunState;
74
+ }
75
+ export interface AgentRunStore {
76
+ /** Lease ownership is checked atomically with reconciliation writes. */
77
+ reconciliationFencing?: boolean;
78
+ load(runId: string, scope?: AgentStoreScope): Promise<AgentRunState | undefined> | AgentRunState | undefined;
79
+ findByIdempotencyKey?(idempotencyKey: string, scope?: AgentStoreScope): Promise<AgentRunState | undefined> | AgentRunState | undefined;
80
+ findByParentRunId?(parentRunId: string, scope?: AgentStoreScope): Promise<AgentRunState[]> | AgentRunState[];
81
+ /**
82
+ * Atomically reserves an idempotency key for a fresh run. Returns the
83
+ * caller's state when the reservation succeeds, or the already-reserved
84
+ * state when another caller owns the key.
85
+ */
86
+ claimIdempotencyKey?(state: AgentRunState & {
87
+ idempotencyKey: string;
88
+ }): Promise<AgentRunClaimResult> | AgentRunClaimResult;
89
+ save(state: AgentRunState, options?: AgentRunSaveOptions): Promise<void> | void;
90
+ delete?(runId: string, scope?: AgentStoreScope): Promise<void> | void;
91
+ list?(options?: AgentRunListOptions, scope?: AgentStoreScope): Promise<AgentRunPage> | AgentRunPage;
92
+ deleteExpired?(options: AgentRunRetentionOptions, scope?: AgentStoreScope): Promise<number> | number;
93
+ acquireLease?(runId: string, options: AgentRunLeaseOptions, scope?: AgentStoreScope): Promise<AgentRunLease | undefined> | AgentRunLease | undefined;
94
+ renewLease?(runId: string, options: AgentRunLeaseOptions, scope?: AgentStoreScope): Promise<AgentRunLease | undefined> | AgentRunLease | undefined;
95
+ releaseLease?(runId: string, ownerId: string, scope?: AgentStoreScope): Promise<boolean> | boolean;
96
+ loadToolCall?(runId: string, toolCallId: string, scope?: AgentStoreScope): Promise<AgentToolCallJournalEntry | undefined> | AgentToolCallJournalEntry | undefined;
97
+ loadToolExecution?(runId: string, toolCallId: string, scope?: AgentStoreScope): Promise<AgentToolCallJournalEntry | undefined> | AgentToolCallJournalEntry | undefined;
98
+ listToolCalls?(runId: string, scope?: AgentStoreScope): Promise<AgentToolCallJournalEntry[]> | AgentToolCallJournalEntry[];
99
+ saveToolCall?(entry: AgentToolCallJournalEntry, options?: AgentToolCallJournalSaveOptions): Promise<AgentToolCallJournalEntry> | AgentToolCallJournalEntry;
100
+ claimToolExecution?(entry: AgentToolCallJournalEntry): Promise<AgentToolExecutionClaimResult> | AgentToolExecutionClaimResult;
101
+ completeToolExecution?(entry: AgentToolCallJournalEntry, options: AgentToolCallJournalSaveOptions & {
102
+ expectedRevision: number;
103
+ }): Promise<AgentToolCallJournalEntry> | AgentToolCallJournalEntry;
104
+ }
105
+ export interface AgentRunCancellationOptions {
106
+ reason?: string;
107
+ cascade?: boolean;
108
+ mode?: "request" | "final";
109
+ scope?: AgentStoreScope;
110
+ }
111
+ export interface AgentRunTreeCancellationResult {
112
+ parent?: AgentRunState;
113
+ children: AgentRunState[];
114
+ }
115
+ export interface AgentMemoryContext {
116
+ runId: string;
117
+ agentId?: string;
118
+ scope?: AgentStoreScope;
119
+ state?: AgentRunState;
120
+ metadata?: Record<string, JsonValue>;
121
+ }
122
+ export interface AgentMemoryStore {
123
+ load(context: AgentMemoryContext): Promise<ModelMessage[]> | ModelMessage[];
124
+ save?(context: AgentMemoryContext & {
125
+ state: AgentRunState;
126
+ }): Promise<void> | void;
127
+ }
128
+ export interface SqliteStatementLike<TResult extends Record<string, unknown> = Record<string, unknown>> {
129
+ run(params?: readonly unknown[] | Record<string, unknown>): unknown;
130
+ get(params?: readonly unknown[] | Record<string, unknown>): TResult | undefined;
131
+ all?(params?: readonly unknown[] | Record<string, unknown>): TResult[];
132
+ }
133
+ export interface SqliteDatabaseLike {
134
+ exec(sql: string): unknown;
135
+ prepare?<TResult extends Record<string, unknown> = Record<string, unknown>>(sql: string): SqliteStatementLike<TResult>;
136
+ query?<TResult extends Record<string, unknown> = Record<string, unknown>>(sql: string): SqliteStatementLike<TResult>;
137
+ }
138
+ export interface SqliteAgentRunStoreOptions {
139
+ db: SqliteDatabaseLike;
140
+ tableName?: string;
141
+ scope?: AgentStoreScope;
142
+ }
143
+ export interface SqliteAgentMemoryStoreOptions {
144
+ db: SqliteDatabaseLike;
145
+ tableName?: string;
146
+ key?: (context: AgentMemoryContext) => string;
147
+ selectMessages?: (state: AgentRunState) => ModelMessage[];
148
+ scope?: AgentStoreScope;
149
+ }
150
+ export interface PostgresQueryResultLike<TResult extends Record<string, unknown> = Record<string, unknown>> {
151
+ rows: TResult[];
152
+ }
153
+ export interface PostgresClientLike {
154
+ query<TResult extends Record<string, unknown> = Record<string, unknown>>(sql: string, params?: readonly unknown[]): Promise<PostgresQueryResultLike<TResult>> | PostgresQueryResultLike<TResult>;
155
+ }
156
+ export interface PostgresAgentRunStoreOptions {
157
+ client: PostgresClientLike;
158
+ tableName?: string;
159
+ scope?: AgentStoreScope;
160
+ }
161
+ export interface PostgresAgentMemoryStoreOptions {
162
+ client: PostgresClientLike;
163
+ tableName?: string;
164
+ key?: (context: AgentMemoryContext) => string;
165
+ selectMessages?: (state: AgentRunState) => ModelMessage[];
166
+ scope?: AgentStoreScope;
167
+ }
168
+ //# sourceMappingURL=persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../src/types/persistence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/types/persistence.ts"],"names":[],"mappings":""}