@yielded/agent 0.1.0-beta.172 → 0.1.0-beta.174

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 (226) hide show
  1. package/dist/{Admin-BX9ns28E.d.mts → Admin-BHmp2V9p.d.mts} +25 -16
  2. package/dist/{Agent-9aBoIi74.d.mts → Agent-B39jRnFv.d.mts} +2 -2
  3. package/dist/{Agent-0WvBWWbM.mjs → Agent-BiRbr73L.mjs} +7 -6
  4. package/dist/Agent-BiRbr73L.mjs.map +1 -0
  5. package/dist/{AgentRuntime-CQ-qcETl.mjs → AgentRuntime-B6qZlD3f.mjs} +199 -191
  6. package/dist/AgentRuntime-B6qZlD3f.mjs.map +1 -0
  7. package/dist/{AgentRuntime-BfP14534.d.mts → AgentRuntime-BD3ZHAMq.d.mts} +10 -10
  8. package/dist/{Digest-DCuPlhNk.mjs → Digest-EpeqWEdv.mjs} +41 -14
  9. package/dist/Digest-EpeqWEdv.mjs.map +1 -0
  10. package/dist/{DurableAgentRuntime-BAmSkWYr.mjs → DurableAgentRuntime-CBBjRNJN.mjs} +1447 -1424
  11. package/dist/DurableAgentRuntime-CBBjRNJN.mjs.map +1 -0
  12. package/dist/{EventSource-BwliwQz9.d.mts → EventSource-C9aaJaXT.d.mts} +2 -2
  13. package/dist/{MessageDelivery-CeSDfHZa.d.mts → MessageDelivery-BGDm-c46.d.mts} +4 -4
  14. package/dist/{Messaging-C_6OOg_s.d.mts → Messaging-SVu6rWV8.d.mts} +12 -6
  15. package/dist/{MessagingHost-B8oKM7AC.d.mts → MessagingHost-C6SOAcoG.d.mts} +2 -2
  16. package/dist/{Output-Dsx6k52t.d.mts → Output-CRamN1Fy.d.mts} +2 -2
  17. package/dist/{PreparedInputAdmission-CxSJSiTl.d.mts → PreparedInputAdmission-BvDqlgiP.d.mts} +3 -3
  18. package/dist/{RunContinuation-DHYNAQFi.mjs → RunContinuation-4ZATcVLB.mjs} +113 -56
  19. package/dist/RunContinuation-4ZATcVLB.mjs.map +1 -0
  20. package/dist/{RunContinuation-FHM7XPjq.d.mts → RunContinuation-CTJ1jGrO.d.mts} +6 -6
  21. package/dist/{RunJournal-kfKVxJj7.mjs → RunJournal-CNZqA3Ge.mjs} +33 -5
  22. package/dist/RunJournal-CNZqA3Ge.mjs.map +1 -0
  23. package/dist/{RunOptions-D8zxFIrZ.d.mts → RunOptions-Be77lKVZ.d.mts} +2 -2
  24. package/dist/{RunStorage-uqPxps09.mjs → RunStorage-BHjuuERI.mjs} +9 -6
  25. package/dist/RunStorage-BHjuuERI.mjs.map +1 -0
  26. package/dist/{Scheduling-CVyfXlBR.mjs → Scheduling-NG8slKdI.mjs} +11 -11
  27. package/dist/Scheduling-NG8slKdI.mjs.map +1 -0
  28. package/dist/{Subagent-vpffemql.mjs → Subagent-CTIpnzlB.mjs} +53 -40
  29. package/dist/Subagent-CTIpnzlB.mjs.map +1 -0
  30. package/dist/{Subagent-E6tvd7-k.d.mts → Subagent-DKhZA72u.d.mts} +19 -8
  31. package/dist/{SubagentHost-B6w2m-SI.d.mts → SubagentHost-D1xBgn9g.d.mts} +2 -2
  32. package/dist/{Subscription-DONig54Q.d.mts → Subscription-BNg9VCRl.d.mts} +2 -2
  33. package/dist/{SubscriptionInput-mJIRxWJM.d.mts → SubscriptionInput-BUoXv-_K.d.mts} +2 -2
  34. package/dist/{ThreadImport-CoQTZywm.d.mts → ThreadImport-CMgzttvr.d.mts} +43 -43
  35. package/dist/{ThreadImport-DckUMEqJ.mjs → ThreadImport-CodYoJoa.mjs} +7 -7
  36. package/dist/ThreadImport-CodYoJoa.mjs.map +1 -0
  37. package/dist/{ThreadStore-CEekRa80.mjs → ThreadStore-59uDGXul.mjs} +163 -84
  38. package/dist/ThreadStore-59uDGXul.mjs.map +1 -0
  39. package/dist/{ThreadTransfer-B4gTQLIl.mjs → ThreadTransfer-3jigUl3g.mjs} +3 -3
  40. package/dist/{ThreadTransfer-B4gTQLIl.mjs.map → ThreadTransfer-3jigUl3g.mjs.map} +1 -1
  41. package/dist/{WorkerAdmission-DFVbbVh2.mjs → WorkerAdmission-DDYJdOsU.mjs} +4 -4
  42. package/dist/{WorkerAdmission-DFVbbVh2.mjs.map → WorkerAdmission-DDYJdOsU.mjs.map} +1 -1
  43. package/dist/{agent-registration-ByMZ_cK5.mjs → agent-registration-DRbyhAu-.mjs} +69 -56
  44. package/dist/agent-registration-DRbyhAu-.mjs.map +1 -0
  45. package/dist/capabilities/Approval.mjs +2 -2
  46. package/dist/capabilities/Approval.mjs.map +1 -1
  47. package/dist/capabilities/BrowserUse.d.mts +102 -1867
  48. package/dist/capabilities/BrowserUse.mjs +74 -798
  49. package/dist/capabilities/BrowserUse.mjs.map +1 -1
  50. package/dist/capabilities/Budget.mjs +3 -1
  51. package/dist/capabilities/Budget.mjs.map +1 -1
  52. package/dist/capabilities/CodeMode.d.mts +1 -1
  53. package/dist/capabilities/CodeMode.mjs +16 -9
  54. package/dist/capabilities/CodeMode.mjs.map +1 -1
  55. package/dist/capabilities/Commands.d.mts +1 -1
  56. package/dist/capabilities/McpClient.mjs +1 -1
  57. package/dist/capabilities/McpClient.mjs.map +1 -1
  58. package/dist/capabilities/Messaging.d.mts +1 -1
  59. package/dist/capabilities/Messaging.mjs +4 -4
  60. package/dist/capabilities/Messaging.mjs.map +1 -1
  61. package/dist/capabilities/ModelContext.mjs +7 -5
  62. package/dist/capabilities/ModelContext.mjs.map +1 -1
  63. package/dist/capabilities/Redaction.mjs +49 -19
  64. package/dist/capabilities/Redaction.mjs.map +1 -1
  65. package/dist/capabilities/RunHooks.d.mts +1 -1
  66. package/dist/capabilities/RunHooks.mjs +1 -1
  67. package/dist/capabilities/RunHooks.mjs.map +1 -1
  68. package/dist/capabilities/Subagent.d.mts +1 -1
  69. package/dist/capabilities/Subagent.mjs +1 -1
  70. package/dist/capabilities/SubagentReservations.mjs +3 -1
  71. package/dist/capabilities/SubagentReservations.mjs.map +1 -1
  72. package/dist/capabilities/WebCapture.mjs.map +1 -1
  73. package/dist/capabilities/WebSearch.mjs +7 -7
  74. package/dist/capabilities/WebSearch.mjs.map +1 -1
  75. package/dist/core/Agent.d.mts +1 -1
  76. package/dist/core/Agent.mjs +1 -1
  77. package/dist/core/AgentUpdates.mjs +8 -8
  78. package/dist/core/AgentUpdates.mjs.map +1 -1
  79. package/dist/core/Thread.mjs +1 -1
  80. package/dist/core/Thread.mjs.map +1 -1
  81. package/dist/core/Usage.mjs +2 -2
  82. package/dist/core/Usage.mjs.map +1 -1
  83. package/dist/durable/Admin.d.mts +1 -1
  84. package/dist/durable/AgentRegistration.d.mts +1 -1
  85. package/dist/durable/AgentRegistration.mjs +1 -1
  86. package/dist/durable/Certification.d.mts +1 -1
  87. package/dist/durable/CommittedActivity.d.mts +1 -1
  88. package/dist/durable/CommittedActivity.mjs +2 -2
  89. package/dist/durable/Digest.mjs +1 -1
  90. package/dist/durable/DurableAgentRuntime.d.mts +1 -1
  91. package/dist/durable/DurableAgentRuntime.mjs +2 -2
  92. package/dist/durable/EventSource.d.mts +1 -1
  93. package/dist/durable/EventSource.mjs +6 -6
  94. package/dist/durable/EventSource.mjs.map +1 -1
  95. package/dist/durable/GitHubWorkflowSource.d.mts +3 -3
  96. package/dist/durable/LifecyclePublication.d.mts +1 -1
  97. package/dist/durable/LifecyclePublication.mjs +1 -1
  98. package/dist/durable/MessageDelivery.d.mts +1 -1
  99. package/dist/durable/MessageDelivery.mjs +1 -1
  100. package/dist/durable/MessageDeliveryStoreConformance.d.mts +2 -2
  101. package/dist/durable/MessageDeliveryStoreConformance.mjs +1 -1
  102. package/dist/durable/PersistentHistory.d.mts +1 -1
  103. package/dist/durable/PersistentHistory.mjs +3 -3
  104. package/dist/durable/PreparedInputAdmission.d.mts +1 -1
  105. package/dist/durable/RecordFormat.mjs +2 -2
  106. package/dist/durable/RecordFormat.mjs.map +1 -1
  107. package/dist/durable/Recovery.d.mts +1 -1
  108. package/dist/durable/RunContinuation.d.mts +2 -2
  109. package/dist/durable/RunContinuation.mjs +2 -2
  110. package/dist/durable/RunJournal.d.mts +1 -1
  111. package/dist/durable/RunJournal.mjs +1 -1
  112. package/dist/durable/RunStorage.d.mts +1 -1
  113. package/dist/durable/RunStorage.mjs +1 -1
  114. package/dist/durable/Scheduling.d.mts +1 -1
  115. package/dist/durable/Scheduling.mjs +1 -1
  116. package/dist/durable/SettlementPublisher.d.mts +1 -1
  117. package/dist/durable/SettlementPublisher.mjs +2 -2
  118. package/dist/durable/SubmissionLedger.d.mts +1 -1
  119. package/dist/durable/SubmissionLedger.mjs +5 -1
  120. package/dist/durable/SubmissionLedger.mjs.map +1 -1
  121. package/dist/durable/SubmissionLedgerConformance.d.mts +1 -1
  122. package/dist/durable/SubmissionLedgerConformance.mjs +4 -4
  123. package/dist/durable/SubmissionStatus.d.mts +1 -1
  124. package/dist/durable/Subscription.d.mts +1 -1
  125. package/dist/durable/SubscriptionInput.d.mts +1 -1
  126. package/dist/durable/SubscriptionInput.mjs +3 -3
  127. package/dist/durable/SubscriptionInput.mjs.map +1 -1
  128. package/dist/durable/SubscriptionStoreConformance.d.mts +1 -1
  129. package/dist/durable/SubscriptionStoreConformance.mjs +2 -2
  130. package/dist/durable/SubscriptionStoreConformance.mjs.map +1 -1
  131. package/dist/durable/SubscriptionTools.d.mts +2 -2
  132. package/dist/durable/SubscriptionTransition.d.mts +1 -1
  133. package/dist/durable/Subscriptions.d.mts +5 -5
  134. package/dist/durable/Subscriptions.mjs +2 -2
  135. package/dist/durable/Subscriptions.mjs.map +1 -1
  136. package/dist/durable/ThreadArchiveRange.d.mts +1 -1
  137. package/dist/durable/ThreadContextHistory.d.mts +1 -1
  138. package/dist/durable/ThreadContextHistory.mjs +1 -1
  139. package/dist/durable/ThreadImport.d.mts +1 -1
  140. package/dist/durable/ThreadImport.mjs +1 -1
  141. package/dist/durable/ThreadInvariants.d.mts +3 -3
  142. package/dist/durable/ThreadInvariants.mjs +4 -4
  143. package/dist/durable/ThreadInvariants.mjs.map +1 -1
  144. package/dist/durable/ThreadProjectionMaintenance.d.mts +1 -1
  145. package/dist/durable/ThreadReader.d.mts +1 -1
  146. package/dist/durable/ThreadReader.mjs +1 -1
  147. package/dist/durable/ThreadStore.d.mts +1 -1
  148. package/dist/durable/ThreadStore.mjs +1 -1
  149. package/dist/durable/ThreadStoreConformance.d.mts +1 -1
  150. package/dist/durable/ThreadStoreConformance.mjs +3 -3
  151. package/dist/durable/ThreadTransfer.d.mts +1 -1
  152. package/dist/durable/ThreadTransfer.mjs +1 -1
  153. package/dist/durable/ThreadWork.d.mts +1 -1
  154. package/dist/durable/ThreadWork.mjs +4 -4
  155. package/dist/durable/ThreadWork.mjs.map +1 -1
  156. package/dist/durable/WorkerAdmission.d.mts +1 -1
  157. package/dist/durable/WorkerAdmission.mjs +1 -1
  158. package/dist/durable/WorkerHost.d.mts +2 -2
  159. package/dist/engine/AgentRuntime.d.mts +1 -1
  160. package/dist/engine/AgentRuntime.mjs +1 -1
  161. package/dist/engine/MessagingHost.d.mts +1 -1
  162. package/dist/engine/Output.d.mts +1 -1
  163. package/dist/engine/RunOptions.d.mts +1 -1
  164. package/dist/engine/SubagentHost.d.mts +1 -1
  165. package/dist/index.d.mts +19 -19
  166. package/dist/index.mjs +14 -14
  167. package/dist/{run-context-reader-OcsZr4bk.d.mts → run-context-reader-CC7ZD95F.d.mts} +2 -2
  168. package/package.json +1 -1
  169. package/src/capabilities/Approval.ts +58 -60
  170. package/src/capabilities/BrowserUse.ts +89 -944
  171. package/src/capabilities/Budget.ts +8 -1
  172. package/src/capabilities/CodeMode.ts +57 -33
  173. package/src/capabilities/McpClient.ts +2 -2
  174. package/src/capabilities/Messaging.ts +51 -55
  175. package/src/capabilities/ModelContext.ts +5 -2
  176. package/src/capabilities/Redaction.ts +64 -34
  177. package/src/capabilities/RunHooks.ts +52 -55
  178. package/src/capabilities/Subagent.ts +33 -33
  179. package/src/capabilities/SubagentReservations.ts +9 -1
  180. package/src/capabilities/WebCapture.ts +6 -0
  181. package/src/capabilities/WebSearch.ts +10 -7
  182. package/src/capabilities/internal/subagent-background.ts +202 -158
  183. package/src/core/Agent.ts +11 -6
  184. package/src/core/AgentUpdates.ts +8 -8
  185. package/src/core/Thread.ts +9 -10
  186. package/src/core/Usage.ts +7 -8
  187. package/src/core/internal/agent-updates.ts +1 -0
  188. package/src/durable/DurableAgentRuntime.ts +645 -625
  189. package/src/durable/EventSource.ts +15 -9
  190. package/src/durable/RecordFormat.ts +5 -3
  191. package/src/durable/RunContinuation.ts +233 -81
  192. package/src/durable/RunJournal.ts +10 -9
  193. package/src/durable/RunStorage.ts +122 -124
  194. package/src/durable/Scheduling.ts +639 -651
  195. package/src/durable/SubmissionLedger.ts +4 -0
  196. package/src/durable/SubscriptionInput.ts +5 -3
  197. package/src/durable/SubscriptionStoreConformance.ts +23 -23
  198. package/src/durable/Subscriptions.ts +18 -19
  199. package/src/durable/ThreadImport.ts +18 -19
  200. package/src/durable/ThreadInvariants.ts +2 -1
  201. package/src/durable/ThreadStore.ts +215 -111
  202. package/src/durable/ThreadWork.ts +1 -2
  203. package/src/durable/internal/StorageOwner.ts +10 -4
  204. package/src/durable/internal/agent-registration.ts +96 -89
  205. package/src/durable/internal/canonical-json.ts +61 -20
  206. package/src/durable/internal/prompt-history-cache.ts +13 -4
  207. package/src/durable/internal/record-encoding.ts +120 -64
  208. package/src/durable/internal/schedule-time.ts +6 -6
  209. package/src/durable/internal/usage-totals.ts +38 -0
  210. package/src/durable/internal/worker-host.ts +69 -74
  211. package/src/engine/internal/agent-runtime.ts +1067 -1018
  212. package/src/engine/internal/provisional-text.ts +12 -10
  213. package/src/engine/internal/tool-exposure.ts +22 -18
  214. package/src/engine/internal/tool-telemetry.ts +12 -7
  215. package/dist/Agent-0WvBWWbM.mjs.map +0 -1
  216. package/dist/AgentRuntime-CQ-qcETl.mjs.map +0 -1
  217. package/dist/Digest-DCuPlhNk.mjs.map +0 -1
  218. package/dist/DurableAgentRuntime-BAmSkWYr.mjs.map +0 -1
  219. package/dist/RunContinuation-DHYNAQFi.mjs.map +0 -1
  220. package/dist/RunJournal-kfKVxJj7.mjs.map +0 -1
  221. package/dist/RunStorage-uqPxps09.mjs.map +0 -1
  222. package/dist/Scheduling-CVyfXlBR.mjs.map +0 -1
  223. package/dist/Subagent-vpffemql.mjs.map +0 -1
  224. package/dist/ThreadImport-DckUMEqJ.mjs.map +0 -1
  225. package/dist/ThreadStore-CEekRa80.mjs.map +0 -1
  226. package/dist/agent-registration-ByMZ_cK5.mjs.map +0 -1
@@ -10,15 +10,15 @@ import { a as FailureDiagnostic_d_exports, r as Diagnostic } from "./FailureDiag
10
10
  import { o as AgentInputError } from "./AgentError-CBH7_MjG.mjs";
11
11
  import { t as ToolParameterRejection } from "./ToolResult-5SdG8FE2.mjs";
12
12
  import { t as AgentPolicy } from "./AgentPolicy-B4lbCU2T.mjs";
13
- import { E as RunDispositionDeclaration, _ as InstructionSource, c as Definition, m as InputPromptSource, n as Any, r as AnyDefinition, t as Agent_d_exports, y as ModelServices } from "./Agent-9aBoIi74.mjs";
13
+ import { E as RunDispositionDeclaration, _ as InstructionSource, c as Definition, m as InputPromptSource, n as Any, r as AnyDefinition, t as Agent_d_exports, y as ModelServices } from "./Agent-B39jRnFv.mjs";
14
14
  import { t as RunPolicyUsage } from "./RunPolicyUsage-QmYVw9z8.mjs";
15
15
  import { c as WorkerError, f as WorkerRef, n as AssignmentTerminal } from "./Worker-CHRaIsWu.mjs";
16
- import { G as RunToolAuthorization, O as RunCostEstimator, h as RunApprovalHook, ot as RunTurnToolResult, x as RunContextPreparation } from "./RunOptions-D8zxFIrZ.mjs";
16
+ import { G as RunToolAuthorization, O as RunCostEstimator, h as RunApprovalHook, ot as RunTurnToolResult, x as RunContextPreparation } from "./RunOptions-Be77lKVZ.mjs";
17
17
  import { o as MessagingError, r as InputMessage } from "./Messaging-DF_IWnxV.mjs";
18
- import { t as MessagingHost } from "./MessagingHost-B8oKM7AC.mjs";
19
- import "./Messaging-C_6OOg_s.mjs";
20
- import { d as WorkerReportPreparationFailure, f as WorkerReporting, o as SubagentHost } from "./SubagentHost-B6w2m-SI.mjs";
21
- import { p as RuntimeBinding, r as AgentCompletionProjectionRequirements, s as AgentRuntimeRequirements } from "./AgentRuntime-BfP14534.mjs";
18
+ import { t as MessagingHost } from "./MessagingHost-C6SOAcoG.mjs";
19
+ import "./Messaging-SVu6rWV8.mjs";
20
+ import { d as WorkerReportPreparationFailure, f as WorkerReporting, o as SubagentHost } from "./SubagentHost-D1xBgn9g.mjs";
21
+ import { p as RuntimeBinding, r as AgentCompletionProjectionRequirements, s as AgentRuntimeRequirements } from "./AgentRuntime-BD3ZHAMq.mjs";
22
22
  import { $ as RecordEnvelope, Ct as ToolApprovalDecided, Dt as ToolCallSettled, H as ModelResponseRecorded, It as WorkerInputCompleted, K as PersistedJson, Mt as UserInputRecorded, Pt as WorkerAdmission, Rt as WorkerInputRequested, W as PROMPT_EVIDENCE_TAGS, Wt as WorkerStopRequested, Y as PromptRecordEnvelope, _t as SubagentRequested, a as BatchId, b as DefinitionDigests, bt as SubmissionSettledRecord, d as CanonicalRecordEnvelope, et as RecordId, ft as RunStartedRecord, ht as SubagentJoined, i as ApprovalDecision, l as CanonicalBatch, m as CompactionCreated, p as CanonicalSequence, pt as SettlementFailureDiagnostic, q as ProducerId, r as AgentUpdateEmitted, st as RunContinuation, t as AbortRequested, tt as RecordJson, v as DeclaredToolCall, vt as SubagentStarted, wt as ToolApprovalRequested, x as DeploymentId, y as DefinitionDigestInput, yt as SubmissionSettled } from "./Records-BTnGRdcf.mjs";
23
23
  import { t as DigestError } from "./Digest-DjUgS5PG.mjs";
24
24
  import { n as DurableRuntimeFailpoint, r as DurableRuntimeFailpointError } from "./DurableFailpoint-BugHZKvJ.mjs";
@@ -146,7 +146,7 @@ type EntryWorkerRequirements<Entry> = Entry extends {
146
146
  }> : never;
147
147
  type AttemptLayerRequirements<Requirements, AttemptLayer> = AttemptLayer extends ((context: AgentAttemptContext) => Layer.Layer<infer Provides, never, infer Requires>) ? Exclude<Requirements, Provides> | Requires : Requirements;
148
148
  type EntryRequirements<Entry> = Entry extends unknown ? AttemptLayerRequirements<EntryWorkerRequirements<Entry>, "attemptLayer" extends keyof Entry ? Entry["attemptLayer"] : undefined> : never;
149
- type RegistrationRequirements<Entries extends ReadonlyArray<AgentRegistration>> = [Entries[number]] extends [never] ? never : EntryRequirements<Entries[number]>;
149
+ type RegistrationRequirements<Entries extends ReadonlyArray<AgentRegistration>> = EntryRequirements<Entries[number]>;
150
150
  /** Compile heterogeneous Agent descriptors into exact, dependency-closed worker registrations. */
151
151
  declare const compileRegistrations: <const Entries extends ReadonlyArray<AgentRegistration>>(entries: Entries) => Effect.Effect<ReadonlyArray<ResolvedBinding>, DigestError, Crypto.Crypto | RegistrationRequirements<Entries>>;
152
152
  declare namespace AgentRegistration_d_exports {
@@ -241,7 +241,7 @@ declare const workerOriginRecordId: (threadId: ThreadId) => RecordId;
241
241
  declare const workerReportRecordId: (messageId: IdempotencyKey) => RecordId;
242
242
  declare const peerMessageRecordId: (messageId: IdempotencyKey) => RecordId;
243
243
  /** Same immutable tuple used by native update admission; callers never parse its hash. */
244
- declare const agentUpdateRecordId: (threadId: string & Brand.Brand<"@effect-agent/core/ThreadId">, runId: string & Brand.Brand<"@effect-agent/core/RunId">, updateId: string & Brand.Brand<"@effect-agent/thread/IdempotencyKey">) => Effect.Effect<string & Brand.Brand<"@effect-agent/thread/RecordId">, DigestError, Crypto.Crypto>;
244
+ declare const agentUpdateRecordId: (threadId: string & Brand.Brand<"@effect-agent/core/ThreadId">, runId: string & Brand.Brand<"@effect-agent/core/RunId">, updateId: string & Brand.Brand<"@effect-agent/thread/IdempotencyKey">) => Effect.Effect<string & Brand.Brand<"@effect-agent/thread/RecordId">, DigestError, import("effect/Crypto").Crypto>;
245
245
  /** Deterministic batch identity of one Turn's `ToolCallUnknown` marking append. */
246
246
  declare const markUnknownBatchId: (submissionId: SubmissionId, turn: number) => BatchId;
247
247
  /** Deterministic canonical record identity of one Tool Call's `ToolCallUnknown` record. */
@@ -479,7 +479,7 @@ interface TurnCommitInput {
479
479
  * joins the response in the same atomic batch. Other application Turns split into
480
480
  * `turnResponseBatch` + `turnResultsBatch` before execution.
481
481
  */
482
- declare const turnCanonicalBatch: (input: TurnCommitInput) => Effect.Effect<CanonicalBatch, DigestError | RunJournalError, Crypto.Crypto>;
482
+ declare const turnCanonicalBatch: (input: TurnCommitInput) => Effect.Effect<CanonicalBatch, RunJournalError, never>;
483
483
  /**
484
484
  * Commit the normalized response and original operation contracts before application Tools
485
485
  * execute, or promote a deferred readonly response before a persisted call-scoped capability.
@@ -487,14 +487,14 @@ declare const turnCanonicalBatch: (input: TurnCommitInput) => Effect.Effect<Cano
487
487
  * loss; approvals and the dispatch fence remain separate execution requirements. Provider
488
488
  * results stay in assistant content. Application outcomes belong to the results commit.
489
489
  */
490
- declare const turnResponseBatch: (input: TurnCommitInput) => Effect.Effect<CanonicalBatch, DigestError | RunJournalError, Crypto.Crypto>;
490
+ declare const turnResponseBatch: (input: TurnCommitInput) => Effect.Effect<CanonicalBatch, RunJournalError, never>;
491
491
  /**
492
492
  * Commit 5 of a tool-declaring Turn (plan §2.1): the Turn's `ToolCallSettled` records in
493
493
  * declaration order under batch identity `turn-results:{runId}:{turn}` — the batch becomes
494
494
  * model-visible atomically. A completion after already committed Tool results gets its own
495
495
  * terminal batch; it never rewrites or repeats the earlier Tool outcomes.
496
496
  */
497
- declare const turnResultsBatch: (input: TurnCommitInput) => Effect.Effect<CanonicalBatch, DigestError | RunJournalError, Crypto.Crypto>;
497
+ declare const turnResultsBatch: (input: TurnCommitInput) => Effect.Effect<CanonicalBatch, RunJournalError, never>;
498
498
  //#endregion
499
499
  //#region src/durable/internal/StorageOwner.d.ts
500
500
  type MutationGate = <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>;
@@ -1923,7 +1923,7 @@ declare const decodeWorkCursor: (request: {
1923
1923
  readonly threadDigest: string & import("effect/Brand").Brand<"@effect-agent/thread/Digest">;
1924
1924
  readonly source: "admissions" | "canonical" | "deliveries";
1925
1925
  readonly after?: string | undefined;
1926
- }, ThreadStoreError, Crypto.Crypto>;
1926
+ }, ThreadStoreError, import("effect/Crypto").Crypto>;
1927
1927
  declare const encodeWorkCursor: (input: {
1928
1928
  readonly version: 3;
1929
1929
  readonly threadDigest: string & import("effect/Brand").Brand<"@effect-agent/thread/Digest">;
@@ -2123,7 +2123,7 @@ type WorkIndexChange = {
2123
2123
  * these changes with the source batch. Rebuild folds the same rules in sequence order; it may
2124
2124
  * suppress a delivery handoff only after its authoritative delivery row exists.
2125
2125
  */
2126
- declare const workIndexChanges: (envelope: CanonicalRecordEnvelope, reporting: WorkerReportingMode) => Effect.Effect<readonly WorkIndexChange[], ThreadStoreError, Crypto.Crypto>;
2126
+ declare const workIndexChanges: (envelope: CanonicalRecordEnvelope, reporting: WorkerReportingMode) => Effect.Effect<readonly WorkIndexChange[], ThreadStoreError, never>;
2127
2127
  /** Backfill is chronological. A state's creation identity never changes on later updates. */
2128
2128
  declare const advanceWorkEntry: (previous: CanonicalWorkEntry | undefined, next: CanonicalWorkEntry) => CanonicalWorkEntry;
2129
2129
  declare namespace ThreadStore_d_exports {
@@ -2311,8 +2311,13 @@ interface PreparedAppend extends AppendRequest {
2311
2311
  readonly canonical: CanonicalBatch["records"][number];
2312
2312
  }>;
2313
2313
  }
2314
+ interface CapturedAppend extends PreparedAppend {
2315
+ readonly records: ReadonlyArray<Omit<PreparedAppend["records"][number], "wire"> & {
2316
+ readonly wire: typeof RecordEnvelope.Encoded;
2317
+ }>;
2318
+ }
2314
2319
  declare const PreparedAppend: {
2315
- capture: (input: AppendRequest) => Effect.Effect<PreparedAppend, ThreadStoreError>;
2320
+ capture: (input: AppendRequest) => Effect.Effect<CapturedAppend, ThreadStoreError>;
2316
2321
  };
2317
2322
  declare const AppendResult_base: Schema.Class<AppendResult, Schema.Struct<{
2318
2323
  readonly firstSequence: Schema.brand<Schema.Natural, "@effect-agent/thread/CanonicalSequence">;
@@ -3876,7 +3881,7 @@ declare class DurableAgentRuntime extends DurableAgentRuntime_base {
3876
3881
  * Every claimed head must select exactly one current registered Definition. Worker calls
3877
3882
  * cannot replace these registrations or their captured services. Tool authorization is required.
3878
3883
  */
3879
- static layerRegistered<const Entries extends ReadonlyArray<AgentRegistration>>(registrations: Entries): Layer.Layer<DurableAgentRuntime, DigestError, Crypto.Crypto | DurableRuntimeConfig | DurableRuntimeFailpoint | RunStorage | RunToolAuthorization | StorageOwner | SubmissionLedger | ThreadStore | ToolReconciler | WakeScheduler | Exclude<[Entries[number]] extends [never] ? never : Entries[number] extends (infer T) ? T extends Entries[number] ? T extends unknown ? ("attemptLayer" extends keyof T ? T[keyof T & "attemptLayer"] : undefined) extends (infer T_1) ? T_1 extends ("attemptLayer" extends keyof T ? T[keyof T & "attemptLayer"] : undefined) ? T_1 extends ((context: AgentAttemptContext) => Layer.Layer<infer Provides, never, infer Requires>) ? Requires | Exclude<T extends {
3884
+ static layerRegistered<const Entries extends ReadonlyArray<AgentRegistration>>(registrations: Entries): Layer.Layer<DurableAgentRuntime, DigestError, Crypto.Crypto | DurableRuntimeConfig | DurableRuntimeFailpoint | RunStorage | RunToolAuthorization | StorageOwner | SubmissionLedger | ThreadStore | ToolReconciler | WakeScheduler | Exclude<Entries[number] extends (infer T) ? T extends Entries[number] ? T extends unknown ? ("attemptLayer" extends keyof T ? T[keyof T & "attemptLayer"] : undefined) extends (infer T_1) ? T_1 extends ("attemptLayer" extends keyof T ? T[keyof T & "attemptLayer"] : undefined) ? T_1 extends ((context: AgentAttemptContext) => Layer.Layer<infer Provides, never, infer Requires>) ? Requires | Exclude<T extends {
3880
3885
  readonly agent: infer A extends ExecutableAgentBinding;
3881
3886
  } ? DurableWorkerRequirements<A> : T extends {
3882
3887
  readonly agent: infer D extends Definition<Schema.Top, Schema.Top, unknown, import("effect/ai/Toolkit").Any, RunDispositionDeclaration<never, Schema.Top> | undefined, unknown, Schema.Top | undefined> & {
@@ -4196,6 +4201,10 @@ declare const SubmissionSnapshot_base: Schema.Class<SubmissionSnapshot, Schema.S
4196
4201
  readonly inputPayload: Schema.declare<Schema.Json, Schema.Json>;
4197
4202
  readonly inputDigest: Schema.brand<Schema.String, "@effect-agent/thread/Digest">;
4198
4203
  readonly settledOutcome: Schema.optionalKey<Schema.Literals<readonly ["completed", "failed", "aborted"]>>;
4204
+ /** First committed finalization time; paired with settledRecordId by native adapters. */
4205
+ readonly settledAt: Schema.optionalKey<Schema.DateTimeUtcFromString>;
4206
+ /** Exact canonical settlement behind the finalized projection; not a substitute for reading it. */
4207
+ readonly settledRecordId: Schema.optionalKey<Schema.brand<Schema.NonEmptyString, "@effect-agent/thread/RecordId">>;
4199
4208
  readonly createdAt: Schema.DateTimeUtcFromString;
4200
4209
  readonly readyAt: Schema.optionalKey<Schema.DateTimeUtcFromString>;
4201
4210
  readonly admissionGroup: Schema.optionalKey<Schema.NonEmptyString>;
@@ -5771,4 +5780,4 @@ declare const RetryRefused_base: Schema.Class<RetryRefused, Schema.TaggedStruct<
5771
5780
  declare class RetryRefused extends RetryRefused_base {}
5772
5781
  //#endregion
5773
5782
  export { ResumeFromTurnBoundary as $, ThreadArchiveRangeRequest as $a, ThreadWorkerCapacityRequest as $i, DurableAwaitFailure as $n, subagentRequestedBatchId as $o, ExecutionCheckpoint as $r, RecoverySnapshotRequest as $t, AwaitHostSettlement as A, WorkOwner as Aa, ThreadIdentityRequest as Ai, WaitingChild as An, childIdempotencyKeyFor as Ao, SubmissionStatus_d_exports as Ar, DurableBindingFailure as As, ChildReservationConflict as At, NoAction as B, operationEvidence as Ba, ThreadResolutionFact as Bi, submissionSettlementBatchId as Bn, projectRunJournal as Bo, SettlementPublication as Br, FundingOwnerRequest as Bt, renderRecoveryExplanation as C, ThreadWorkStorage as Ca, ThreadExportCursor as Ci, SuspensionReason as Cn, RunJournalError as Co, recoveryRepairBatchId as Cr, toolCallSettledRecordId as Cs, ApprovalDecisionIntent as Ct, AwaitApprovalDecision as D, WorkIndexChange as Da, ThreadExportSnapshot as Di, UnknownResolutionConflict as Dn, TurnCommitInput as Do, PendingSubmission as Dr, BindingSelection as Ds, ChildAttachmentSnapshot as Dt, ApplyUnknownResolutions as E, WorkDiscoveryUnavailable as Ea, ThreadExportRequest as Ei, UnknownResolutionCommand as En, RunJournal_d_exports as Eo, threadCreatedRecordId as Er, AgentRegistration as Es, BeginChildBudgetReleaseRequest as Et, DeclaredPendingBatchEvidence as F, admissionWork as Fa, ThreadPromptRead as Fi, settlementFailureFromRecord as Fn, markUnknownBatchId as Fo, RunStorageSession as Fr, compileBindingContracts as Fs, Claim as Ft, RecoveryDecision as G, MAX_ARCHIVE_RANGE_BYTES as Ga, ThreadStoreError as Gi, workerTerminalFromRecord as Gn, runDurationRecordId as Go, validateCanonicalSettlement as Gr, LedgerError as Gt, OpenToolCallEvidence as H, validateWorkPage as Ha, ThreadSelection as Hi, submissionSettlementRecordId as Hn, promptFromCanonicalRecords as Ho, SettlementPublicationFailure as Hr, JoinSnapshot as Ht, DelegationAdmissionEvidence as I, advanceWorkEntry as Ia, ThreadRead as Ii, submissionAbortBatchId as In, modelResponseInterruptedBatchId as Io, RunWriter as Ir, compileRegistrations as Is, ClaimHandoff as It, ReleaseOrphanChildReservation as J, MAX_CANONICAL_BATCH_BYTES as Ja, ThreadTail as Ji, DurableAgentRuntime as Jn, runStartedRecordId as Jo, AppendConflict as Jr, MarkReadyRequest as Jt, RecoveryEvidence as K, MAX_ARCHIVE_RANGE_PAGE as Ka, ThreadStoreFailure as Ki, ApprovalSuspensionError as Kn, runIdForSubmission as Ko, validateJoinedSettlement as Kr, MarkInputAppliedRequest as Kt, EnsureWaitingForChild as L, decodeWorkCursor as La, ThreadReadRequest as Li, submissionAbortRecordId as Ln, modelResponseInterruptedRecordId as Lo, layer as Lr, definitionDigestsEqual as Ls, ClaimJoiningRequest as Lt, AwaitUnknownResolution as M, WorkThreadsPage as Ma, ThreadNotMaterialized as Mi, WorkerLedgerState as Mn, compactionBatchId as Mo, RunChildBudgetReservation as Mr, ExecutableAgentBinding as Ms, ChildReservationStatus as Mt, CompleteChildAdmission as N, WorkThreadsRequest as Na, ThreadObservation as Ni, WorkerStopCommand as Nn, compactionRecordId as No, RunOwnership as Nr, ReplayVersions as Ns, ChildSettledNotification as Nt, AwaitChildAdmissionResolution as O, WorkIndexProgress as Oa, ThreadExportSource as Oi, UnknownResolutionIntent as On, agentUpdateRecordId as Oo, SettledSubmission as Or, BindingUnavailable as Os, ChildBudgetReservationRequest as Ot, CompleteMaterialization as P, WorkerReportingMode as Pa, ThreadPeerCountRequest as Pi, approvalDecisionsCover as Pn, firstWorkerInputRecordId as Po, RunStorage as Pr, ResolvedBinding as Ps, ChildSettledOutcome as Pt, RepairSubagentStartLink as Q, ThreadArchiveRangeRead as Qa, ThreadWorkerCapacity as Qi, DurableApprovalSuspension as Qn, subagentLineageRecordId as Qo, CommitBatch as Qr, RecoverySnapshot as Qt, FinalizeLedgerFromHistory as R, deliveryPredecessor as Ra, ThreadReader as Ri, submissionInputBatchId as Rn, modelResponseRecordId as Ro, make as Rr, ClaimRequest as Rt, recoveryDecisionMeaning as S, ThreadWorkRequest as Sa, ThreadExportBatch as Si, SuspensionOutcome as Sn, RunJournalContext as So, isolateRecovery as Sr, JournalRecordEnvelope as Ss, ApprovalDecisionCommand as St, ApplyJoinAccounting as T, WORK_INDEX_VERSION as Ta, ThreadExportRejected as Ti, UnknownResolution as Tn, RunJournalUsage as To, threadCreatedBatchId as Tr, AgentAttemptContext as Ts, AttachChildToReservationRequest as Tt, PendingApprovalEvidence as U, workId as Ua, ThreadStore as Ui, unknownResolutionKind as Un, runCompletedRecordId as Uo, SettlementPublicationResult as Ur, JoiningClaim as Ut, OpenDelegationCallEvidence as V, resolveWorkEvidence as Va, ThreadRunInputRequest as Vi, submissionSettlementId as Vn, projectRunJournalStream as Vo, SettlementPublicationAuthority as Vr, InputAppliedMarker as Vt, PropagateChildAbort as W, workIndexChanges as Wa, ThreadStoreDiagnostic as Wi, unknownResolutionMatchesResult as Wn, runDurationBatchId as Wo, SettlementPublisher as Wr, LedgerCapabilities as Wt, RepairJoinMarker as X, ThreadArchiveRangePage as Xa, ThreadVerificationRequest as Xi, DurableApprovalFailure as Xn, subagentJoinedRecordId as Xo, AppendResult as Xr, OwnershipLost as Xt, RepairInputMarker as Y, ThreadArchiveRange as Ya, ThreadTailRequest as Yi, DurableAgentRuntime_d_exports as Yn, subagentJoinBatchId as Yo, AppendRequest as Yr, MarkUnknownRequest as Yt, RepairReadiness as Z, ThreadArchiveRangePublish as Za, ThreadVerificationStorage as Zi, DurableApprovalResolver as Zn, subagentLineageBatchId as Zo, CheckpointRejected as Zr, ParentLinkage as Zt, RetryCommand as _, MAX_WORK_REBUILD_RECORDS as _a, ThreadApprovalFact as _i, SubmissionScheduling as _n, OwnerGeneration as _o, RecoverySweepOptions as _r, turnResultsBatch as _s, AdmissionPolicyError as _t, IntegrityCheck as a, makeTransferFactCheck as aa, MAX_THREAD_EXPORT_CURSOR_CHARS as ai, ResolutionSafeToRetry as an, LifecyclePublicationConfig as ao, DurableRetryFailure as ar, toolCallResolutionBatchId as as, SettleJoinedWithHost as at, obligationSeverityOf as b, ThreadWorkEntry as ba, ThreadCommands as bi, SubmissionWorkItem as bn, makeStorageOwner as bo, WorkRecoveryRequest as br, workerOriginRecordId as bs, AdmissionResult as bt, IntegrityReport as c, transferPageFits as ca, PreparedAppend as ci, SettlementConflict as cn, LifecyclePublicationHandler as co, DurableSubmitAgent as cr, toolCallUnknownRecordId as cs, AbortCommand as ct, ObligationReport as d, MAX_RECOVERY_WORK_ITEMS as da, PromptCheckpointRead as di, SubmissionLedger as dn, LifecyclePublication_d_exports as do, DurableVerifyFailure as dr, turnApprovalsBatchId as ds, AdmissionAdmitted as dt, ThreadWorkerSeal as ea, ExecutionRead as ei, ReleaseChildBudgetRequest as en, ThreadArchiveRangeSeal as eo, DurableExplainFailure as er, subagentRequestedRecordId as es, ResumePendingToolBatch as et, ObligationSeverity as f, MAX_WORK_CURSOR_CHARS as fa, PromptCheckpoints as fi, SubmissionLedgerFailure as fn, drainLifecyclePublications as fo, DurableWorkerFailure as fr, turnBatchId as fs, AdmissionConflict as ft, RecoveryExplanation as g, MAX_WORK_REBUILD_BYTES as ga, ThreadAdmission as gi, SubmissionLookupByKey as gn, MutationGate as go, RecoveryReport as gr, turnResponseBatchId as gs, AdmissionNotAdmitted as gt, RecoveryDisposition as h, MAX_WORK_PAGE_ENTRIES as ha, ThreadAbortFact as hi, SubmissionLookupById as hn, ProgressAppendRecord as ho, RecoveryFailure as hr, turnResponseBatch as hs, AdmissionIndeterminate as ht, ExplainedUnknownCall as i, getRunInput as ia, MAX_PROMPT_CHECKPOINT_RUNS as ii, ResolutionNeverHappened as in, LifecyclePublicationBatch as io, DurableResolveFailure as ir, toolApprovalRequestRecordId as is, SettleAborted as it, AwaitParentEstablishment as j, WorkStateReference as ja, ThreadMaterialization as ji, WaitingForChildSuspension as jn, childThreadIdFor as jo, RunChildAttachment as jr, DurableWorkerBinding as js, ChildReservationId as jt, AwaitChildSettlement as k, WorkIndexRebuildRequest as ka, ThreadIdentity as ki, UnknownResolutionKind as kn, approvalDecisionBatchId as ko, SubmissionStatus as kr, CurrentBindingSelection as ks, ChildBudgetReservationSnapshot as kt, ObligationBlockedOn as l, CanonicalWorkEntry as la, PromptCheckpoint as li, SettlementFinalization as ln, LifecyclePublicationSource as lo, DurableSubmitFailure as lr, toolStepSettledBatchId as ls, AbortIntent as lt, RECOVERY_DECISION_MEANINGS as m, MAX_WORK_PAGE_BYTES as ma, SelectedThreadRead as mi, SubmissionLookup as mn, lifecyclePublicationLayer as mo, RecoveryBlocked as mr, turnIdForRun as ms, AdmissionGroup as mt, ExplainedEvidence as n, canonicalBatchFitsTransfer as na, LoadCheckpointRequest as ni, ResolutionAbortSubmission as nn, ThreadArchiveStorage as no, DurableObserveOptions as nr, subagentStartedRecordId as ns, ResumeWaitingParent as nt, IntegrityCheckName as o, readWorkerState as oa, MAX_THREAD_EXPORT_PAGE_BYTES as oi, RevertJoiningRequest as on, LifecyclePublicationError as oo, DurableRuntimeConfig as or, toolCallResolvedRecordId as os, classifyRecovery as ot, ObligationThresholds as p, MAX_WORK_ENTRY_BYTES as pa, SaveCheckpointRequest as pi, SubmissionLedger_d_exports as pn, lifecyclePublicationBatchMaxFacts as po, DurableWorkerRequirements as pr, turnCanonicalBatch as ps, AdmissionFence as pt, Recovery_d_exports as q, MAX_ARCHIVE_RANGE_RECORDS as qa, ThreadStore_d_exports as qi, DurableAbortFailure as qn, runStartedBatchId as qo, validatePublication as qr, MarkJoinedRequest as qt, ExplainedSubmission as r, getRecord as ra, MAX_PROMPT_CHECKPOINT_BYTES as ri, ResolutionCompletedWithResult as rn, LifecyclePublication as ro, DurableProgressFailure as rr, toolApprovalDecisionRecordId as rs, RevertJoining as rt, IntegrityCheckStatus as s, streamExport as sa, MAX_THREAD_EXPORT_PAGE_RECORDS as si, Settlement as sn, LifecyclePublicationFact as so, DurableRuntimeConfigOptions as sr, toolCallResultBatchId as ss, pendingApprovalForRecovery as st, Admin_d_exports as t, ThreadWorkerStateRequest as ta, ExecutionUpdate as ti, ReservedChildBudget as tn, ThreadArchiveRange_d_exports as to, DurableObligationFailure as tr, subagentStartedBatchId as ts, ResumeSuspended as tt, ObligationEntry as u, MAX_RECOVERY_PAGES as ua, PromptCheckpointHead as ui, SubmissionAdmissionFence as un, LifecyclePublicationStorage as uo, DurableSubmitOptions as ur, toolStepSettledRecordId as us, AbortIntentRequest as ut, RetryRefusalReason as v, ThreadWorkCursor as va, ThreadCheckpoint as vi, SubmissionSnapshot as vn, StorageOwner as vo, RecoverySweepResult as vr, turnResultsBatchId as vs, AdmissionRequest as vt, ApplyInput as w, ThreadWork_d_exports as wa, ThreadExportRecord as wi, SuspensionSnapshot as wn, RunJournalProjection as wo, recoveryRepairRecordId as wr, AgentRegistration_d_exports as ws, ApprovalPendingSuspension as wt, predictRecoveryDisposition as x, ThreadWorkPage as xa, ThreadExport as xi, SuspendRequest as xn, JournalBoundary as xo, childReservationIdFor as xr, workerReportRecordId as xs, ApprovalConflict as xt, RetryRefused as y, ThreadWorkDiscovery as ya, ThreadCheckpoints as yi, SubmissionState as yn, StorageOwnerService as yo, WorkRecoveryReport as yr, workerInputRecordId as ys, AdmissionResolution as yt, MarkUnknown as z, encodeWorkCursor as za, ThreadRecordRequest as zi, submissionInputRecordId as zn, peerMessageRecordId as zo, makeRunWriter as zr, FundingOwner as zt };
5774
- //# sourceMappingURL=Admin-BX9ns28E.d.mts.map
5783
+ //# sourceMappingURL=Admin-BHmp2V9p.d.mts.map
@@ -264,7 +264,7 @@ declare function make<const Name extends string, InputSchema extends Schema.Top,
264
264
  readonly id: AgentId & Name;
265
265
  };
266
266
  /** Bind a native model or thread resolver without acquiring or hiding its requirements. */
267
- declare const withModel: <DefinitionValue extends AnyDefinition, ModelValue>(definition: DefinitionValue, model: NativeModel<ModelValue>) => Binding<DefinitionValue, ModelValue>;
267
+ declare function withModel<DefinitionValue extends AnyDefinition, ModelValue>(definition: DefinitionValue, model: NativeModel<ModelValue>): Binding<DefinitionValue, ModelValue>;
268
268
  //#endregion
269
269
  export { ToolUnion as A, OutputSchema as C, RunDispositionFailure as D, RunDispositionDeclaration as E, isModelResolver as F, make as I, withModel as L, Update as M, UpdatesSchema as N, RunDispositionSchema as O, inspectTools as P, Output as S, RunDisposition as T, InstructionSource as _, CompletionFromToolDeclaration as a, Name as b, Definition as c, EncodedInput as d, Failure as f, InstructionResult as g, InputSchema as h, Binding as i, Tools as j, ToolInspection as k, DefinitionOptions as l, InputPromptSource as m, Any as n, CompletionProjectionInput as o, Input as p, AnyDefinition as r, CompletionToolDeclaration as s, Agent_d_exports as t, DefinitionRequirements as u, ModelResolver as v, Requirements as w, NativeModel as x, ModelServices as y };
270
- //# sourceMappingURL=Agent-9aBoIi74.d.mts.map
270
+ //# sourceMappingURL=Agent-B39jRnFv.d.mts.map
@@ -82,12 +82,13 @@ function make(id, options) {
82
82
  runDisposition: options.runDisposition === void 0 ? void 0 : Object.freeze({ ...options.runDisposition })
83
83
  });
84
84
  }
85
- /** Bind a native model or thread resolver without acquiring or hiding its requirements. */
86
- const withModel = (definition, model) => Object.freeze({
87
- definition,
88
- model
89
- });
85
+ function withModel(definition, model) {
86
+ return Object.freeze({
87
+ definition,
88
+ model
89
+ });
90
+ }
90
91
  //#endregion
91
92
  export { make as a, isModelResolver as i, ToolInspection as n, withModel as o, inspectTools as r, Agent_exports as t };
92
93
 
93
- //# sourceMappingURL=Agent-0WvBWWbM.mjs.map
94
+ //# sourceMappingURL=Agent-BiRbr73L.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Agent-BiRbr73L.mjs","names":["S"],"sources":["../src/core/internal/agent-updates.ts","../src/core/Agent.ts"],"sourcesContent":["import * as Tool from \"effect/ai/Tool\";\nimport * as Toolkit from \"effect/ai/Toolkit\";\nimport * as Schema from \"effect/Schema\";\n\nimport { Emitter, UpdateError } from \"../AgentUpdates.ts\";\n\n/** Definition-owned native Tool. Runtime supplies its handler under the same identity. */\nexport const updateTool = <S extends Schema.Top>(schema: S) =>\n Tool.make(\"emit_update\", {\n description:\n \"Emit a structured intermediate update. Success acknowledges acceptance by this Run; \" +\n \"parent delivery and processing are separate. This does not complete the task.\",\n parameters: Schema.Struct({ value: schema }),\n success: Schema.Struct({ emitted: Schema.Literal(true) }),\n failure: UpdateError,\n failureMode: \"return\",\n }).addDependency(Emitter);\n\nexport type UpdateToolkit<\n T extends Toolkit.Any,\n S extends Schema.Top | undefined,\n> = S extends Schema.Top\n ? Toolkit.Toolkit<T[\"tools\"] & { readonly emit_update: ReturnType<typeof updateTool<S>> }>\n : T;\n\nexport const withUpdateTool = (\n toolkit: Toolkit.Any,\n schema: Schema.Top | undefined,\n): Toolkit.Any => {\n if (schema === undefined) return toolkit;\n if (Object.hasOwn(toolkit.tools, \"emit_update\"))\n // oxlint-disable-next-line effect/no-untyped-throw, effect/no-native-error -- Agent.make synchronously rejects a toolkit that occupies the reserved update Tool name.\n throw new TypeError(\"emit_update is reserved for Agent updates\");\n\n return Toolkit.make(...Object.values(toolkit.tools), updateTool(schema));\n};\n","import type { Effect, Layer, Option, Schema } from \"effect\";\nimport type { AiError, LanguageModel, Model, Prompt } from \"effect/ai\";\nimport * as Tool from \"effect/ai/Tool\";\nimport * as Toolkit from \"effect/ai/Toolkit\";\nimport * as S from \"effect/Schema\";\n\nimport type {\n AgentInputDecodeError,\n AgentInputError,\n AgentOutputError,\n AgentRunDispositionError,\n} from \"./AgentError.ts\";\nimport { AgentPolicy, type AgentPolicyInput } from \"./AgentPolicy.ts\";\nimport { AgentId } from \"./Identifiers.ts\";\nimport { type UpdateToolkit, withUpdateTool } from \"./internal/agent-updates.ts\";\nimport type { Configuration } from \"./ToolExposure.ts\";\n\n/** Prompt input produced directly or by an Effect that preserves its failure and requirements. */\nexport type InstructionResult<E = never, R = never> =\n | Prompt.RawInput\n | Effect.Effect<Prompt.RawInput, E, R>;\n\n/** Static prompt input or an input-dependent source evaluated once while preparing a run. */\nexport type InstructionSource<Input, E = never, R = never> =\n | Prompt.RawInput\n | ((input: Input) => InstructionResult<E, R>);\n\n/** Definition-owned projection from decoded Agent input to model-visible prompt content. */\nexport type InputPromptSource<Input, E = never, R = never> = (\n input: Input,\n) => InstructionResult<E, R>;\n\n/** Native services needed to execute and identify model calls. */\nexport type ModelServices = LanguageModel.LanguageModel | Model.ProviderName | Model.ModelName;\n\n/**\n * An optional capability on a provided LanguageModel service. The runtime supplies\n * only model-visible task context and eligible Tool descriptions after validating input.\n * The resolver owns retaining one choice per Thread, including across Runs and\n * recovery; it captures client requirements and returns a closed native Layer\n * that the interpreter acquires for the Run. Context hooks may prepare prompts\n * but cannot replace this model through a per-Turn modelCall.\n * Selection failures remain AiError values and all selector/client services stay in R.\n */\nexport interface ModelResolver extends LanguageModel.LanguageModel {\n readonly resolve: (request: {\n readonly threadId: string;\n readonly state: Schema.JsonObject;\n }) => Effect.Effect<Layer.Layer<ModelServices>, AiError.AiError>;\n}\n\n/** Detect the deferred resolver capability on a trusted, host-provided model service. */\nexport const isModelResolver = (model: LanguageModel.LanguageModel): model is ModelResolver =>\n \"resolve\" in model && typeof model.resolve === \"function\";\n\n/** Accepts native model Layers that provide generation and model identity. */\nexport type NativeModel<ModelValue> =\n ModelValue extends Layer.Layer<infer Provides, never, infer _Requires>\n ? ModelServices extends Provides\n ? ModelValue\n : never\n : never;\n\n/** Definition-owned boundary for selecting and validating an application run disposition. */\nexport interface RunDispositionDeclaration<Output, DispositionSchema extends Schema.Top> {\n /**\n * Opt background workers into one retained assignment. The encoded disposition must be\n * Worker.AssignmentDisposition: completed seals the worker, waiting leaves it steerable.\n * Failures and exhausted Runs seal as failed; aborting an active Run seals as cancelled.\n * The worker origin retains this choice. Omission preserves reusable workers.\n */\n readonly workerLifecycle?: \"assignment\" | undefined;\n /** Canonical Schema used to validate and encode the selected disposition. */\n readonly schema: DispositionSchema;\n /** Pure selection from decoded output. `undefined` declares none, except for assignments. */\n readonly fromOutput: (output: Output) => unknown;\n}\n\n/** Values available to a Definition-owned completion Tool projector after canonical decoding. */\nexport interface CompletionProjectionInput<Parameters = unknown, Result = unknown> {\n readonly parameters: Parameters;\n readonly result: Result;\n}\n\n/**\n * One application Tool whose successful result can complete its owning Agent when it is the\n * only application call. Provider-executed calls may accompany it only with terminal results.\n * Mixed, wholly unexecuted application batches are rejected with failed Tool results so the\n * model can correct them within ordinary Run budgets; completed provider results are retained.\n * Missing provider results and invalid pending resumed batches fail closed. The completion\n * designation never permits side-effect replay.\n */\nexport interface CompletionToolDeclaration<\n Parameters = unknown,\n Result = unknown,\n Output = unknown,\n> {\n readonly tool: string;\n /** Require native Tool use on every model Turn and this Tool for final completion. */\n readonly required?: boolean | undefined;\n /**\n * Pure, deterministic projection: recovery may reevaluate a recorded Tool result before\n * RunCompleted commits. Once committed, that stored output wins across later code changes.\n */\n readonly project: (input: CompletionProjectionInput<Parameters, Result>) => Output;\n}\n\ntype CompletionToolFor<ToolkitValue extends Toolkit.Any, Output> = {\n readonly [Name in keyof ToolkitValue[\"tools\"] & string]: CompletionToolDeclaration<\n Tool.Parameters<ToolkitValue[\"tools\"][Name]>,\n Tool.Success<ToolkitValue[\"tools\"][Name]>,\n Output\n > & { readonly tool: Name };\n}[keyof ToolkitValue[\"tools\"] & string];\n\n/**\n * An ordinary action Tool whose canonical success may satisfy the whole request.\n * Projectors must be pure and deterministic: recovery re-evaluates them. None preserves\n * ordinary continuation; Some is validated as the Agent output. These Tools must be the sole\n * application call; terminal provider results may accompany them. They never receive the\n * required completion Tool's exhaustion allowance.\n */\nexport interface CompletionFromToolDeclaration<\n Parameters = unknown,\n Result = unknown,\n Output = unknown,\n> {\n readonly tool: string;\n readonly project: (input: CompletionProjectionInput<Parameters, Result>) => Option.Option<Output>;\n}\n\ntype CompletionFromToolFor<ToolkitValue extends Toolkit.Any, Output> = {\n readonly [Name in keyof ToolkitValue[\"tools\"] & string]: CompletionFromToolDeclaration<\n Tool.Parameters<ToolkitValue[\"tools\"][Name]>,\n Tool.Success<ToolkitValue[\"tools\"][Name]>,\n Output\n > & { readonly tool: Name };\n}[keyof ToolkitValue[\"tools\"] & string];\n\n/** Immutable, model-agnostic schemas, behavior, tools, and bounds for an agent. */\nexport interface Definition<\n InputSchema extends Schema.Top,\n OutputSchema extends Schema.Top,\n Instructions,\n ToolkitValue extends Toolkit.Any,\n RunDispositionValue = undefined,\n InputPromptValue = undefined,\n UpdatesSchema extends Schema.Top | undefined = undefined,\n> {\n /** Stable agent identity; changing it creates a distinct definition identity. */\n readonly id: AgentId;\n /** Canonical Schema for intermediate updates emitted by this Agent. */\n readonly updates?: UpdatesSchema;\n /** Canonical schema used to decode and encode run input. */\n readonly input: InputSchema;\n /** Canonical schema used to decode the final model output. */\n readonly output: OutputSchema;\n /**\n * Evaluated once while preparing each Run. OpenAI, xAI and native adapters advertising support\n * preserve chronological system messages, omitting exact repeats only when no distinct system\n * instruction intervenes. The actual selected model determines support on each call. Other\n * adapters group systems first and keep the last exact repeat, including provider options;\n * Anthropic requires an upstream adapter with mid-conversation system-message support.\n * Stored history is unchanged.\n */\n readonly instructions: Instructions;\n /**\n * Optional projection from decoded input to model-visible native Effect AI prompt content.\n * This controls disclosure only: durable admission retains the complete input and Tool\n * authorization receives it. A projection failure never falls back to sending full input.\n */\n readonly inputPrompt?: InputPromptValue | undefined;\n /** Native Effect AI toolkit whose failures and requirements remain visible. */\n readonly toolkit: ToolkitValue;\n readonly toolExposure?: Configuration | undefined;\n /** Finite execution bounds enforced by the runtime. */\n readonly policy: AgentPolicy;\n /** Explicit policy fields, retained so delegated runs can inherit omitted fields. */\n readonly policyOverrides?: Partial<AgentPolicyInput> | undefined;\n /** Optional successful Tool result that projects directly to the Agent output and settles. */\n readonly completion?: CompletionToolDeclaration | undefined;\n readonly completionFromTools?: ReadonlyArray<CompletionFromToolDeclaration> | undefined;\n readonly runDisposition?: RunDispositionValue | undefined;\n readonly description?: string | undefined;\n readonly metadata?: Readonly<Record<string, string>> | undefined;\n}\n\n/** Options for a model-agnostic agent definition. */\nexport interface DefinitionOptions<\n InputSchema extends Schema.Top,\n OutputSchema extends Schema.Top,\n Instructions extends InstructionSource<InputSchema[\"Type\"], unknown, unknown>,\n ToolkitValue extends Toolkit.Any,\n RunDispositionValue extends\n | RunDispositionDeclaration<OutputSchema[\"Type\"], Schema.Top>\n | undefined = undefined,\n InputPromptValue extends InputPromptSource<InputSchema[\"Type\"], unknown, unknown> | undefined =\n undefined,\n UpdatesSchema extends Schema.Top | undefined = undefined,\n> {\n readonly updates?: UpdatesSchema;\n readonly input: InputSchema;\n readonly output: OutputSchema;\n readonly instructions: Instructions;\n readonly inputPrompt?: InputPromptValue | undefined;\n readonly toolkit: ToolkitValue;\n readonly toolExposure?: Configuration | undefined;\n readonly policy?: Partial<AgentPolicyInput> | undefined;\n readonly completion?: CompletionToolFor<ToolkitValue, OutputSchema[\"Type\"]> | undefined;\n readonly completionFromTools?:\n | ReadonlyArray<CompletionFromToolFor<ToolkitValue, OutputSchema[\"Type\"]>>\n | undefined;\n readonly runDisposition?: RunDispositionValue | undefined;\n readonly description?: string | undefined;\n readonly metadata?: Readonly<Record<string, string>> | undefined;\n}\n\ntype AnyDefinitionShape = Definition<\n Schema.Top,\n Schema.Top,\n unknown,\n Toolkit.Any,\n RunDispositionDeclaration<never, Schema.Top> | undefined,\n unknown,\n Schema.Top | undefined\n>;\n\n/** Immutable pairing of an agent definition with a native model Layer or thread resolver. */\nexport interface Binding<DefinitionValue extends AnyDefinitionShape, ModelValue> {\n readonly definition: DefinitionValue;\n readonly model: NativeModel<ModelValue>;\n}\n\ntype InstructionEffect<Instructions, Input> = Instructions extends (input: Input) => infer Result\n ? Result\n : Instructions;\n\ntype InputPromptEffect<InputPrompt, Input> = InputPrompt extends (input: Input) => infer Result\n ? Result\n : never;\n\ntype EffectError<Value> =\n Value extends Effect.Effect<infer _Success, infer Error, infer _Services> ? Error : never;\n\ntype EffectServices<Value> =\n Value extends Effect.Effect<infer _Success, infer _Error, infer Services> ? Services : never;\n\ntype ModelRequirements<Value> =\n Value extends Layer.Layer<infer _Provides, infer _Error, infer Services> ? Services : never;\n\n/** Constructors and type projections for definitions and runnable model bindings. */\n\n/** Type-erased definition used at generic framework boundaries. */\nexport type AnyDefinition = AnyDefinitionShape;\n\n/** Read-only interpreter program or binding used at inspection and projection boundaries. */\nexport interface Any {\n readonly definition: AnyDefinition;\n readonly model?: unknown;\n}\n\n/** Native Tool configuration for inspection; it does not predict an invocation's outcome. */\nexport const ToolInspection = S.Struct({\n name: S.String,\n failureMode: S.Literals([\"error\", \"return\"]),\n /** False for provider-executed Tools, whose results do not pass through local handlers. */\n requiresHandler: S.Boolean,\n});\n\nexport type ToolInspection = typeof ToolInspection.Type;\n\n/**\n * Inspect registered native Tools in declaration order without acquiring handlers or a Model.\n * This is the full Definition toolkit, before run-specific visibility or exposure filtering.\n * `failureMode` is Effect AI's configured mode, including its `\"error\"` default. Handler-level\n * recovery, programmatic invocation and Subagent containment can change where failures go;\n * consult execution diagnostics for the actual route. No arguments, results or services are read.\n */\nexport const inspectTools = (agent: AnyDefinition | Any): ReadonlyArray<ToolInspection> => {\n const definition = \"definition\" in agent ? agent.definition : agent;\n\n return Object.values(definition.toolkit.tools).map((tool) =>\n ToolInspection.make({\n name: tool.name,\n failureMode: tool.failureMode,\n requiresHandler: !Tool.isProviderDefined(tool) || tool.requiresHandler,\n }),\n );\n};\n\ntype DefinitionOf<AgentValue extends AnyDefinition | Any> = AgentValue extends {\n readonly definition: infer DefinitionValue extends AnyDefinition;\n}\n ? DefinitionValue\n : AgentValue;\n\ntype RunDispositionSchemaOf<DefinitionValue extends AnyDefinition> = [\n Exclude<DefinitionValue[\"runDisposition\"], undefined>,\n] extends [never]\n ? never\n : Exclude<DefinitionValue[\"runDisposition\"], undefined> extends RunDispositionDeclaration<\n never,\n infer DispositionSchema\n >\n ? DispositionSchema\n : never;\n\n/** Literal Agent ID, retained by Agent.make. */\nexport type Name<A extends AnyDefinition | Any> = DefinitionOf<A>[\"id\"] extends AgentId &\n (infer N extends string)\n ? N\n : string;\n\n/** Declared update Schema, or never for Agents without updates. */\nexport type UpdatesSchema<A extends AnyDefinition | Any> = Exclude<\n DefinitionOf<A>[\"updates\"],\n undefined\n>;\n\n/** Decoded intermediate update value. */\nexport type Update<A extends AnyDefinition | Any> = UpdatesSchema<A>[\"Type\"];\n\n/** Decoded input type of a definition or binding. */\nexport type Input<AgentValue extends AnyDefinition | Any> =\n DefinitionOf<AgentValue>[\"input\"][\"Type\"];\n\n/** Encoded input accepted by the primary execution operations. */\nexport type EncodedInput<AgentValue extends AnyDefinition | Any> =\n DefinitionOf<AgentValue>[\"input\"][\"Encoded\"];\n\n/** Decoded output type of a definition or binding. */\nexport type Output<AgentValue extends AnyDefinition | Any> =\n DefinitionOf<AgentValue>[\"output\"][\"Type\"];\n\n/** Input Schema carried by a definition or binding. */\nexport type InputSchema<AgentValue extends AnyDefinition | Any> = DefinitionOf<AgentValue>[\"input\"];\n\n/** Output Schema carried by a definition or binding. */\nexport type OutputSchema<AgentValue extends AnyDefinition | Any> =\n DefinitionOf<AgentValue>[\"output\"];\n\n/** Application run-disposition Schema carried by a definition or binding, or `never`. */\nexport type RunDispositionSchema<AgentValue extends AnyDefinition | Any> = RunDispositionSchemaOf<\n DefinitionOf<AgentValue>\n>;\n\n/** Decoded application run disposition declared by a definition or binding. */\nexport type RunDisposition<AgentValue extends AnyDefinition | Any> = [\n RunDispositionSchema<AgentValue>,\n] extends [never]\n ? never\n : RunDispositionSchema<AgentValue>[\"Type\"];\n\n/** Validation failure admitted only by definitions that declare a run disposition. */\nexport type RunDispositionFailure<AgentValue extends AnyDefinition | Any> = [\n RunDispositionSchemaOf<DefinitionOf<AgentValue>>,\n] extends [never]\n ? never\n : AgentRunDispositionError;\n\n/** Effect AI tool map carried by a definition or binding. */\nexport type Tools<AgentValue extends AnyDefinition | Any> = Toolkit.Tools<\n DefinitionOf<AgentValue>[\"toolkit\"]\n>;\n\ntype ApplicationTools<A extends AnyDefinition> = [UpdatesSchema<A>] extends [never]\n ? Tools<A>\n : Omit<Tools<A>, \"emit_update\">;\n\ntype ToolMapValues<ToolMap extends Record<string, Tool.Any>> = ToolMap extends unknown\n ? ToolMap[keyof ToolMap]\n : never;\n\n/** All possible tools, including keys present in only one definition or binding branch. */\nexport type ToolUnion<AgentValue extends AnyDefinition | Any> = ToolMapValues<Tools<AgentValue>>;\n\n/** Instruction, tool-handler, and Schema services required before a Model is bound. */\nexport type DefinitionRequirements<DefinitionValue extends AnyDefinition> =\n DefinitionValue extends unknown\n ?\n | EffectServices<InstructionEffect<DefinitionValue[\"instructions\"], Input<DefinitionValue>>>\n | EffectServices<InputPromptEffect<DefinitionValue[\"inputPrompt\"], Input<DefinitionValue>>>\n | Tool.HandlersFor<ApplicationTools<DefinitionValue>>\n | Tool.HandlerServices<ToolMapValues<ApplicationTools<DefinitionValue>>>\n // The interpreter canonically re-encodes decoded Tool parameters before recording them.\n | Tool.ParametersSchema<ToolUnion<DefinitionValue>>[\"EncodingServices\"]\n | Tool.SuccessSchema<ToolUnion<DefinitionValue>>[\"DecodingServices\"]\n | DefinitionValue[\"input\"][\"DecodingServices\"]\n | DefinitionValue[\"input\"][\"EncodingServices\"]\n | DefinitionValue[\"output\"][\"DecodingServices\"]\n | DefinitionValue[\"output\"][\"EncodingServices\"]\n | UpdatesSchema<DefinitionValue>[\"DecodingServices\"]\n | UpdatesSchema<DefinitionValue>[\"EncodingServices\"]\n | RunDispositionSchemaOf<DefinitionValue>[\"DecodingServices\"]\n | RunDispositionSchemaOf<DefinitionValue>[\"EncodingServices\"]\n : never;\n\n/** Definition services plus native model services, or a binding's model Layer requirements. */\nexport type Requirements<AgentValue extends AnyDefinition | Any> =\n | DefinitionRequirements<DefinitionOf<AgentValue>>\n | (AgentValue extends { readonly model: infer ModelValue }\n ? ModelRequirements<ModelValue>\n : ModelServices);\n\n// Distribute after unwrapping bindings too: withModel may itself contain a definition union.\ntype DefinitionFailure<DefinitionValue extends AnyDefinition> = DefinitionValue extends unknown\n ?\n | EffectError<InstructionEffect<DefinitionValue[\"instructions\"], Input<DefinitionValue>>>\n | EffectError<InputPromptEffect<DefinitionValue[\"inputPrompt\"], Input<DefinitionValue>>>\n | Tool.HandlerError<ToolUnion<DefinitionValue>>\n : never;\n\n/** Failures from every possible definition, preserving each branch's instruction input type. */\nexport type Failure<AgentValue extends AnyDefinition | Any> =\n | DefinitionFailure<DefinitionOf<AgentValue>>\n | AiError.AiError\n | AgentInputDecodeError\n | AgentInputError\n | AgentOutputError\n | RunDispositionFailure<AgentValue>;\n\n/** Validate an agent ID and return a shallowly frozen, model-agnostic definition. */\nexport function make<\n const Name extends string,\n InputSchema extends Schema.Top,\n OutputSchema extends Schema.Top,\n Instructions extends InstructionSource<InputSchema[\"Type\"], unknown, unknown>,\n ToolkitValue extends Toolkit.Any,\n DispositionSchema extends Schema.Top,\n InputPromptValue extends InputPromptSource<InputSchema[\"Type\"], unknown, unknown> | undefined,\n UpdatesSchema extends Schema.Top | undefined = undefined,\n>(\n id: Name,\n options: DefinitionOptions<\n InputSchema,\n OutputSchema,\n Instructions,\n ToolkitValue,\n RunDispositionDeclaration<OutputSchema[\"Type\"], DispositionSchema>,\n InputPromptValue,\n UpdatesSchema\n > & {\n readonly runDisposition: RunDispositionDeclaration<OutputSchema[\"Type\"], DispositionSchema>;\n readonly inputPrompt: InputPromptValue;\n },\n): Definition<\n InputSchema,\n OutputSchema,\n Instructions,\n UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,\n RunDispositionDeclaration<OutputSchema[\"Type\"], DispositionSchema>,\n InputPromptValue,\n NoInfer<UpdatesSchema>\n> & { readonly id: AgentId & Name };\n\nexport function make<\n const Name extends string,\n InputSchema extends Schema.Top,\n OutputSchema extends Schema.Top,\n Instructions extends InstructionSource<InputSchema[\"Type\"], unknown, unknown>,\n ToolkitValue extends Toolkit.Any,\n DispositionSchema extends Schema.Top,\n UpdatesSchema extends Schema.Top | undefined = undefined,\n>(\n id: Name,\n options: DefinitionOptions<\n InputSchema,\n OutputSchema,\n Instructions,\n ToolkitValue,\n RunDispositionDeclaration<OutputSchema[\"Type\"], DispositionSchema>,\n undefined,\n UpdatesSchema\n > & {\n readonly runDisposition: RunDispositionDeclaration<OutputSchema[\"Type\"], DispositionSchema>;\n readonly inputPrompt?: undefined;\n },\n): Definition<\n InputSchema,\n OutputSchema,\n Instructions,\n UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,\n RunDispositionDeclaration<OutputSchema[\"Type\"], DispositionSchema>,\n undefined,\n NoInfer<UpdatesSchema>\n> & { readonly id: AgentId & Name };\n\nexport function make<\n const Name extends string,\n InputSchema extends Schema.Top,\n OutputSchema extends Schema.Top,\n Instructions extends InstructionSource<InputSchema[\"Type\"], unknown, unknown>,\n ToolkitValue extends Toolkit.Any,\n InputPromptValue extends InputPromptSource<InputSchema[\"Type\"], unknown, unknown> | undefined,\n UpdatesSchema extends Schema.Top | undefined = undefined,\n>(\n id: Name,\n options: DefinitionOptions<\n InputSchema,\n OutputSchema,\n Instructions,\n ToolkitValue,\n undefined,\n InputPromptValue,\n UpdatesSchema\n > & {\n readonly inputPrompt: InputPromptValue;\n readonly runDisposition?: undefined;\n },\n): Definition<\n InputSchema,\n OutputSchema,\n Instructions,\n UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,\n undefined,\n InputPromptValue,\n NoInfer<UpdatesSchema>\n> & { readonly id: AgentId & Name };\n\nexport function make<\n const Name extends string,\n InputSchema extends Schema.Top,\n OutputSchema extends Schema.Top,\n Instructions extends InstructionSource<InputSchema[\"Type\"], unknown, unknown>,\n ToolkitValue extends Toolkit.Any,\n UpdatesSchema extends Schema.Top | undefined = undefined,\n>(\n id: Name,\n options: DefinitionOptions<\n InputSchema,\n OutputSchema,\n Instructions,\n ToolkitValue,\n undefined,\n undefined,\n UpdatesSchema\n > & {\n readonly inputPrompt?: undefined;\n readonly runDisposition?: undefined;\n },\n): Definition<\n InputSchema,\n OutputSchema,\n Instructions,\n UpdateToolkit<ToolkitValue, NoInfer<UpdatesSchema>>,\n undefined,\n undefined,\n NoInfer<UpdatesSchema>\n> & { readonly id: AgentId & Name };\n\nexport function make(\n id: string,\n options: {\n readonly updates?: Schema.Top | undefined;\n readonly input: Schema.Top;\n readonly output: Schema.Top;\n readonly instructions: unknown;\n readonly inputPrompt?: unknown;\n readonly toolkit: Toolkit.Any;\n readonly toolExposure?: Configuration | undefined;\n readonly policy?: Partial<AgentPolicyInput> | undefined;\n readonly completion?: CompletionToolDeclaration | undefined;\n readonly completionFromTools?: ReadonlyArray<CompletionFromToolDeclaration> | undefined;\n readonly runDisposition?: RunDispositionDeclaration<never, Schema.Top> | undefined;\n readonly description?: string | undefined;\n readonly metadata?: Readonly<Record<string, string>> | undefined;\n },\n): AnyDefinition {\n const completionNames = new Set<string>();\n\n for (const declaration of options.completionFromTools ?? []) {\n if (declaration.tool === options.completion?.tool || completionNames.has(declaration.tool)) {\n // oxlint-disable-next-line effect/no-untyped-throw, effect/no-native-error -- Agent.make synchronously rejects duplicate completion declarations before constructing the Definition.\n throw new Error(`Tool ${declaration.tool} has more than one completion declaration`);\n }\n if (!Object.hasOwn(options.toolkit.tools, declaration.tool)) {\n // oxlint-disable-next-line effect/no-untyped-throw, effect/no-native-error -- Agent.make synchronously rejects completion declarations for absent Tools.\n throw new Error(`Unknown completion Tool ${declaration.tool}`);\n }\n completionNames.add(declaration.tool);\n }\n\n const tools = Object.values(options.toolkit.tools);\n\n const readonlyTools = tools.map((tool) =>\n Tool.isProviderDefined(tool) &&\n !tool.requiresHandler &&\n [\"web_search\", \"web_search_preview\", \"file_search\"].includes(tool.providerName)\n ? tool.annotate(Tool.Readonly, true)\n : tool,\n );\n\n const toolkit = readonlyTools.some((tool, index) => tool !== tools[index])\n ? Toolkit.make(...readonlyTools)\n : options.toolkit;\n\n return Object.freeze({\n ...options,\n toolkit: withUpdateTool(toolkit, options.updates),\n policy: AgentPolicy.resolve(options.policy),\n policyOverrides: Object.freeze({ ...options.policy }),\n toolExposure:\n options.toolExposure === undefined\n ? undefined\n : Object.freeze({\n ...options.toolExposure,\n initialToolNames: Object.freeze([...(options.toolExposure.initialToolNames ?? [])]),\n }),\n id: S.decodeSync(AgentId)(id),\n metadata: options.metadata === undefined ? undefined : Object.freeze({ ...options.metadata }),\n completion:\n options.completion === undefined ? undefined : Object.freeze({ ...options.completion }),\n completionFromTools:\n options.completionFromTools === undefined\n ? undefined\n : Object.freeze(\n options.completionFromTools.map((declaration) => Object.freeze({ ...declaration })),\n ),\n runDisposition:\n options.runDisposition === undefined\n ? undefined\n : Object.freeze({ ...options.runDisposition }),\n });\n}\n\n/** Bind a native model or thread resolver without acquiring or hiding its requirements. */\nexport function withModel<DefinitionValue extends AnyDefinition, ModelValue>(\n definition: DefinitionValue,\n model: NativeModel<ModelValue>,\n): Binding<DefinitionValue, ModelValue>;\n\nexport function withModel<DefinitionValue extends AnyDefinition, ModelValue>(\n definition: DefinitionValue,\n model: ModelValue,\n) {\n return Object.freeze({ definition, model });\n}\n"],"mappings":";;;;;;;;;AAOA,MAAa,cAAoC,WAC/C,KAAK,KAAK,eAAe;CACvB,aACE;CAEF,YAAY,OAAO,OAAO,EAAE,OAAO,OAAO,CAAC;CAC3C,SAAS,OAAO,OAAO,EAAE,SAAS,OAAO,QAAQ,IAAI,EAAE,CAAC;CACxD,SAAS;CACT,aAAa;AACf,CAAC,CAAC,CAAC,cAAc,OAAO;AAS1B,MAAa,kBACX,SACA,WACgB;CAChB,IAAI,WAAW,KAAA,GAAW,OAAO;CACjC,IAAI,OAAO,OAAO,QAAQ,OAAO,aAAa,GAE5C,MAAM,IAAI,UAAU,2CAA2C;CAEjE,OAAO,QAAQ,KAAK,GAAG,OAAO,OAAO,QAAQ,KAAK,GAAG,WAAW,MAAM,CAAC;AACzE;;;;;;;;;;;ACiBA,MAAa,mBAAmB,UAC9B,aAAa,SAAS,OAAO,MAAM,YAAY;;AAiNjD,MAAa,iBAAiBA,OAAE,OAAO;CACrC,MAAMA,OAAE;CACR,aAAaA,OAAE,SAAS,CAAC,SAAS,QAAQ,CAAC;;CAE3C,iBAAiBA,OAAE;AACrB,CAAC;;;;;;;;AAWD,MAAa,gBAAgB,UAA8D;CACzF,MAAM,aAAa,gBAAgB,QAAQ,MAAM,aAAa;CAE9D,OAAO,OAAO,OAAO,WAAW,QAAQ,KAAK,CAAC,CAAC,KAAK,SAClD,eAAe,KAAK;EAClB,MAAM,KAAK;EACX,aAAa,KAAK;EAClB,iBAAiB,CAAC,KAAK,kBAAkB,IAAI,KAAK,KAAK;CACzD,CAAC,CACH;AACF;AAsQA,SAAgB,KACd,IACA,SAee;CACf,MAAM,kCAAkB,IAAI,IAAY;CAExC,KAAK,MAAM,eAAe,QAAQ,uBAAuB,CAAC,GAAG;EAC3D,IAAI,YAAY,SAAS,QAAQ,YAAY,QAAQ,gBAAgB,IAAI,YAAY,IAAI,GAEvF,MAAM,IAAI,MAAM,QAAQ,YAAY,KAAK,0CAA0C;EAErF,IAAI,CAAC,OAAO,OAAO,QAAQ,QAAQ,OAAO,YAAY,IAAI,GAExD,MAAM,IAAI,MAAM,2BAA2B,YAAY,MAAM;EAE/D,gBAAgB,IAAI,YAAY,IAAI;CACtC;CAEA,MAAM,QAAQ,OAAO,OAAO,QAAQ,QAAQ,KAAK;CAEjD,MAAM,gBAAgB,MAAM,KAAK,SAC/B,KAAK,kBAAkB,IAAI,KAC3B,CAAC,KAAK,mBACN;EAAC;EAAc;EAAsB;CAAa,CAAC,CAAC,SAAS,KAAK,YAAY,IAC1E,KAAK,SAAS,KAAK,UAAU,IAAI,IACjC,IACN;CAEA,MAAM,UAAU,cAAc,MAAM,MAAM,UAAU,SAAS,MAAM,MAAM,IACrE,QAAQ,KAAK,GAAG,aAAa,IAC7B,QAAQ;CAEZ,OAAO,OAAO,OAAO;EACnB,GAAG;EACH,SAAS,eAAe,SAAS,QAAQ,OAAO;EAChD,QAAQ,YAAY,QAAQ,QAAQ,MAAM;EAC1C,iBAAiB,OAAO,OAAO,EAAE,GAAG,QAAQ,OAAO,CAAC;EACpD,cACE,QAAQ,iBAAiB,KAAA,IACrB,KAAA,IACA,OAAO,OAAO;GACZ,GAAG,QAAQ;GACX,kBAAkB,OAAO,OAAO,CAAC,GAAI,QAAQ,aAAa,oBAAoB,CAAC,CAAE,CAAC;EACpF,CAAC;EACP,IAAIA,OAAE,WAAW,OAAO,CAAC,CAAC,EAAE;EAC5B,UAAU,QAAQ,aAAa,KAAA,IAAY,KAAA,IAAY,OAAO,OAAO,EAAE,GAAG,QAAQ,SAAS,CAAC;EAC5F,YACE,QAAQ,eAAe,KAAA,IAAY,KAAA,IAAY,OAAO,OAAO,EAAE,GAAG,QAAQ,WAAW,CAAC;EACxF,qBACE,QAAQ,wBAAwB,KAAA,IAC5B,KAAA,IACA,OAAO,OACL,QAAQ,oBAAoB,KAAK,gBAAgB,OAAO,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CACpF;EACN,gBACE,QAAQ,mBAAmB,KAAA,IACvB,KAAA,IACA,OAAO,OAAO,EAAE,GAAG,QAAQ,eAAe,CAAC;CACnD,CAAC;AACH;AAQA,SAAgB,UACd,YACA,OACA;CACA,OAAO,OAAO,OAAO;EAAE;EAAY;CAAM,CAAC;AAC5C"}