agency-lang 0.7.7 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (577) hide show
  1. package/dist/lib/agents/agency-agent/agent.agency +571 -47
  2. package/dist/lib/agents/agency-agent/agent.js +4752 -1555
  3. package/dist/lib/agents/agency-agent/lib/attachments.js +16 -20
  4. package/dist/lib/agents/agency-agent/lib/capabilities.agency +464 -0
  5. package/dist/lib/agents/agency-agent/lib/capabilities.js +2549 -0
  6. package/dist/lib/agents/agency-agent/lib/config.agency +32 -1
  7. package/dist/lib/agents/agency-agent/lib/config.js +165 -6
  8. package/dist/lib/agents/agency-agent/lib/defaultPolicy.js +92 -96
  9. package/dist/lib/agents/agency-agent/lib/modelFilters.js +9 -8
  10. package/dist/lib/agents/agency-agent/lib/models.agency +46 -12
  11. package/dist/lib/agents/agency-agent/lib/models.js +382 -89
  12. package/dist/lib/agents/agency-agent/lib/resolution.agency +22 -7
  13. package/dist/lib/agents/agency-agent/lib/resolution.js +140 -90
  14. package/dist/lib/agents/agency-agent/lib/search.js +91 -112
  15. package/dist/lib/agents/agency-agent/lib/settings.agency +36 -4
  16. package/dist/lib/agents/agency-agent/lib/settings.js +361 -55
  17. package/dist/lib/agents/agency-agent/lib/slots.js +19 -21
  18. package/dist/lib/agents/agency-agent/lib/utils.js +37 -39
  19. package/dist/lib/agents/agency-agent/prompts/codeSample.js +2 -2
  20. package/dist/lib/agents/agency-agent/shared.agency +218 -18
  21. package/dist/lib/agents/agency-agent/shared.js +1898 -270
  22. package/dist/lib/agents/agency-agent/subagents/code.agency +54 -4
  23. package/dist/lib/agents/agency-agent/subagents/code.js +136 -75
  24. package/dist/lib/agents/agency-agent/subagents/explorer.agency +3 -3
  25. package/dist/lib/agents/agency-agent/subagents/explorer.js +20 -37
  26. package/dist/lib/agents/agency-agent/subagents/oracle.agency +3 -3
  27. package/dist/lib/agents/agency-agent/subagents/oracle.js +20 -37
  28. package/dist/lib/agents/agency-agent/subagents/research.agency +8 -14
  29. package/dist/lib/agents/agency-agent/subagents/research.js +23 -42
  30. package/dist/lib/agents/agency-agent/subagents/review.agency +27 -130
  31. package/dist/lib/agents/agency-agent/subagents/review.js +49 -800
  32. package/dist/lib/agents/agency-agent/subagents/verify.agency +112 -0
  33. package/dist/lib/agents/agency-agent/subagents/verify.js +906 -0
  34. package/dist/lib/agents/agency-agent/tests/agentDir.agency +20 -0
  35. package/dist/lib/agents/agency-agent/tests/agentDir.js +343 -0
  36. package/dist/lib/agents/agency-agent/tests/agentDir.test.json +15 -0
  37. package/dist/lib/agents/agency-agent/tests/agentTurn.agency +163 -1
  38. package/dist/lib/agents/agency-agent/tests/agentTurn.js +1383 -176
  39. package/dist/lib/agents/agency-agent/tests/agentTurn.test.json +261 -19
  40. package/dist/lib/agents/agency-agent/tests/attachments.js +100 -211
  41. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +17 -40
  42. package/dist/lib/agents/agency-agent/tests/capabilities.agency +233 -0
  43. package/dist/lib/agents/agency-agent/tests/capabilities.js +2168 -0
  44. package/dist/lib/agents/agency-agent/tests/capabilities.test.json +165 -0
  45. package/dist/lib/agents/agency-agent/tests/execPolicy.agency +2 -2
  46. package/dist/lib/agents/agency-agent/tests/execPolicy.js +13 -19
  47. package/dist/lib/agents/agency-agent/tests/gitPolicy.agency +2 -2
  48. package/dist/lib/agents/agency-agent/tests/gitPolicy.js +15 -34
  49. package/dist/lib/agents/agency-agent/tests/imageTool.js +13 -39
  50. package/dist/lib/agents/agency-agent/tests/mcpGating.agency +42 -0
  51. package/dist/lib/agents/agency-agent/tests/mcpGating.js +670 -0
  52. package/dist/lib/agents/agency-agent/tests/mcpGating.test.json +22 -0
  53. package/dist/lib/agents/agency-agent/tests/memoryWiring.agency +148 -0
  54. package/dist/lib/agents/agency-agent/tests/memoryWiring.js +1288 -0
  55. package/dist/lib/agents/agency-agent/tests/memoryWiring.test.json +75 -0
  56. package/dist/lib/agents/agency-agent/tests/modelFilters.js +0 -5
  57. package/dist/lib/agents/agency-agent/tests/models.js +7 -26
  58. package/dist/lib/agents/agency-agent/tests/oneShotRounds.js +0 -4
  59. package/dist/lib/agents/agency-agent/tests/resolution.agency +52 -0
  60. package/dist/lib/agents/agency-agent/tests/resolution.js +380 -24
  61. package/dist/lib/agents/agency-agent/tests/resolution.test.json +110 -8
  62. package/dist/lib/agents/agency-agent/tests/search.js +27 -43
  63. package/dist/lib/agents/agency-agent/tests/settings.agency +109 -0
  64. package/dist/lib/agents/agency-agent/tests/settings.js +1001 -121
  65. package/dist/lib/agents/agency-agent/tests/settings.test.json +105 -6
  66. package/dist/lib/agents/agency-agent/tests/slots.js +0 -5
  67. package/dist/lib/agents/agency-agent/tests/toolWiring.js +7 -7
  68. package/dist/lib/agents/agency-agent/tests/turnFailure.agency +4 -0
  69. package/dist/lib/agents/agency-agent/tests/turnFailure.js +92 -6
  70. package/dist/lib/agents/agency-agent/tests/turnFailure.test.json +6 -0
  71. package/dist/lib/agents/eval/goalJudge.js +2 -2
  72. package/dist/lib/agents/policy/agent.js +65 -74
  73. package/dist/lib/agents/review/agent.js +4 -5
  74. package/dist/lib/backends/agencyGenerator.d.ts +14 -0
  75. package/dist/lib/backends/agencyGenerator.js +49 -35
  76. package/dist/lib/backends/agencyGenerator.test.js +137 -0
  77. package/dist/lib/backends/raisesFormat.test.js +24 -0
  78. package/dist/lib/backends/recursiveAliases.codegen.test.d.ts +1 -0
  79. package/dist/lib/backends/recursiveAliases.codegen.test.js +229 -0
  80. package/dist/lib/backends/signatureOf.test.d.ts +1 -0
  81. package/dist/lib/backends/signatureOf.test.js +34 -0
  82. package/dist/lib/backends/typeOperators.codegen.test.d.ts +1 -0
  83. package/dist/lib/backends/typeOperators.codegen.test.js +126 -0
  84. package/dist/lib/backends/typescriptBuilder/nameClassifier.d.ts +19 -4
  85. package/dist/lib/backends/typescriptBuilder/nameClassifier.js +40 -14
  86. package/dist/lib/backends/typescriptBuilder/scopeManager.d.ts +6 -6
  87. package/dist/lib/backends/typescriptBuilder/scopeManager.js +9 -9
  88. package/dist/lib/backends/typescriptBuilder.d.ts +21 -0
  89. package/dist/lib/backends/typescriptBuilder.integration.test.js +50 -28
  90. package/dist/lib/backends/typescriptBuilder.js +186 -40
  91. package/dist/lib/backends/typescriptGenerator/recursiveSchemaJson.test.d.ts +1 -0
  92. package/dist/lib/backends/typescriptGenerator/recursiveSchemaJson.test.js +32 -0
  93. package/dist/lib/backends/typescriptGenerator/typeToString.d.ts +6 -0
  94. package/dist/lib/backends/typescriptGenerator/typeToString.js +47 -2
  95. package/dist/lib/backends/typescriptGenerator/typeToZodSchema.d.ts +1 -1
  96. package/dist/lib/backends/typescriptGenerator/typeToZodSchema.js +19 -7
  97. package/dist/lib/backends/typescriptGenerator/validationDescriptor.d.ts +1 -1
  98. package/dist/lib/backends/typescriptGenerator/validationDescriptor.js +41 -20
  99. package/dist/lib/backends/valueParamCycle.d.ts +22 -0
  100. package/dist/lib/backends/valueParamCycle.js +41 -0
  101. package/dist/lib/cli/commands.d.ts +4 -1
  102. package/dist/lib/cli/commands.js +22 -6
  103. package/dist/lib/cli/doc.js +2 -13
  104. package/dist/lib/cli/doc.test.js +13 -0
  105. package/dist/lib/cli/mcp.d.ts +13 -0
  106. package/dist/lib/cli/mcp.js +66 -0
  107. package/dist/lib/cli/mcp.test.d.ts +1 -0
  108. package/dist/lib/cli/mcp.test.js +70 -0
  109. package/dist/lib/cli/runBundledAgent.d.ts +10 -0
  110. package/dist/lib/cli/runBundledAgent.js +47 -18
  111. package/dist/lib/cli/runBundledAgent.test.js +37 -1
  112. package/dist/lib/cli/runPolicy.d.ts +11 -0
  113. package/dist/lib/cli/runPolicy.js +67 -0
  114. package/dist/lib/cli/runPolicy.spawn.test.d.ts +1 -0
  115. package/dist/lib/cli/runPolicy.spawn.test.js +198 -0
  116. package/dist/lib/cli/runPolicy.test.d.ts +1 -0
  117. package/dist/lib/cli/runPolicy.test.js +96 -0
  118. package/dist/lib/cli/serve.js +1 -1
  119. package/dist/lib/cli/test.js +9 -0
  120. package/dist/lib/cli/util.js +14 -0
  121. package/dist/lib/compilationUnit.d.ts +9 -1
  122. package/dist/lib/compilationUnit.js +25 -8
  123. package/dist/lib/compilationUnit.test.js +67 -1
  124. package/dist/lib/compiler/buildManifest.d.ts +40 -0
  125. package/dist/lib/compiler/buildManifest.js +210 -0
  126. package/dist/lib/compiler/buildManifest.test.d.ts +1 -0
  127. package/dist/lib/compiler/buildManifest.test.js +179 -0
  128. package/dist/lib/compiler/buildSession.d.ts +29 -12
  129. package/dist/lib/compiler/buildSession.js +179 -34
  130. package/dist/lib/compiler/buildSession.test.js +206 -22
  131. package/dist/lib/compiler/compile.d.ts +1 -1
  132. package/dist/lib/compiler/compile.js +2 -2
  133. package/dist/lib/compiler/compileClosure.d.ts +10 -0
  134. package/dist/lib/compiler/compileClosure.js +18 -1
  135. package/dist/lib/compiler/compileClosure.test.js +24 -2
  136. package/dist/lib/compiler/manifestTracker.d.ts +33 -0
  137. package/dist/lib/compiler/manifestTracker.js +112 -0
  138. package/dist/lib/compiler/manifestTracker.test.d.ts +1 -0
  139. package/dist/lib/compiler/manifestTracker.test.js +98 -0
  140. package/dist/lib/compiler/typecheck.d.ts +17 -3
  141. package/dist/lib/compiler/typecheck.getEffects.test.d.ts +1 -0
  142. package/dist/lib/compiler/typecheck.getEffects.test.js +35 -0
  143. package/dist/lib/compiler/typecheck.js +43 -11
  144. package/dist/lib/config.d.ts +11 -0
  145. package/dist/lib/config.js +1 -0
  146. package/dist/lib/constants.d.ts +14 -0
  147. package/dist/lib/constants.js +17 -0
  148. package/dist/lib/debugger/driver.test.js +0 -1
  149. package/dist/lib/formatter.test.js +5 -5
  150. package/dist/lib/logsViewer/summary.js +19 -0
  151. package/dist/lib/logsViewer/summary.test.js +61 -0
  152. package/dist/lib/logsViewer/tree.d.ts +10 -0
  153. package/dist/lib/logsViewer/tree.js +58 -4
  154. package/dist/lib/logsViewer/tree.test.js +107 -0
  155. package/dist/lib/lowering/patternLowering.test.js +33 -0
  156. package/dist/lib/lsp/diagnostics.js +0 -1
  157. package/dist/lib/lsp/diagnostics.test.js +1 -1
  158. package/dist/lib/optimize/constraint.js +2 -1
  159. package/dist/lib/optimize/constraint.test.js +9 -7
  160. package/dist/lib/parsers/exportFromStatement.test.js +18 -9
  161. package/dist/lib/parsers/exportNode.test.js +6 -6
  162. package/dist/lib/parsers/expression.test.js +103 -0
  163. package/dist/lib/parsers/function.test.js +60 -68
  164. package/dist/lib/parsers/importStatement.test.js +76 -21
  165. package/dist/lib/parsers/intersectionParsing.test.d.ts +1 -0
  166. package/dist/lib/parsers/intersectionParsing.test.js +90 -0
  167. package/dist/lib/parsers/parsers.d.ts +52 -2
  168. package/dist/lib/parsers/parsers.js +208 -61
  169. package/dist/lib/parsers/typeOperatorParsing.test.d.ts +1 -0
  170. package/dist/lib/parsers/typeOperatorParsing.test.js +107 -0
  171. package/dist/lib/preprocessors/importResolver.js +27 -16
  172. package/dist/lib/preprocessors/importResolver.test.js +6 -11
  173. package/dist/lib/preprocessors/prunePreludeShadows.js +14 -1
  174. package/dist/lib/preprocessors/resolveReExports.js +4 -2
  175. package/dist/lib/preprocessors/resolveReExports.test.js +9 -16
  176. package/dist/lib/runtime/agencyFunction.d.ts +20 -2
  177. package/dist/lib/runtime/agencyFunction.js +39 -9
  178. package/dist/lib/runtime/agencyFunction.test.js +26 -0
  179. package/dist/lib/runtime/agencyInterrupt.d.ts +4 -0
  180. package/dist/lib/runtime/agencyInterrupt.js +1 -1
  181. package/dist/lib/runtime/builtinPolicies.d.ts +11 -0
  182. package/dist/lib/runtime/builtinPolicies.js +139 -0
  183. package/dist/lib/runtime/builtinPolicies.test.d.ts +1 -0
  184. package/dist/lib/runtime/builtinPolicies.test.js +54 -0
  185. package/dist/lib/runtime/call.js +17 -0
  186. package/dist/lib/runtime/configOverrides.d.ts +2 -0
  187. package/dist/lib/runtime/configOverrides.js +5 -0
  188. package/dist/lib/runtime/configOverrides.test.js +24 -0
  189. package/dist/lib/runtime/failurePropagation.d.ts +65 -0
  190. package/dist/lib/runtime/failurePropagation.js +205 -0
  191. package/dist/lib/runtime/failurePropagation.test.d.ts +1 -0
  192. package/dist/lib/runtime/failurePropagation.test.js +381 -0
  193. package/dist/lib/runtime/index.d.ts +5 -3
  194. package/dist/lib/runtime/index.js +4 -2
  195. package/dist/lib/runtime/interrupts.d.ts +16 -7
  196. package/dist/lib/runtime/interrupts.js +24 -2
  197. package/dist/lib/runtime/interrupts.test.js +36 -0
  198. package/dist/lib/runtime/ipc.d.ts +2 -0
  199. package/dist/lib/runtime/ipc.js +3 -8
  200. package/dist/lib/runtime/llmRetry.d.ts +55 -3
  201. package/dist/lib/runtime/llmRetry.js +72 -2
  202. package/dist/lib/runtime/llmRetry.test.js +85 -2
  203. package/dist/lib/runtime/memory/manager.js +0 -2
  204. package/dist/lib/runtime/node.js +6 -0
  205. package/dist/lib/runtime/policy.d.ts +11 -0
  206. package/dist/lib/runtime/policy.js +10 -2
  207. package/dist/lib/runtime/policy.test.js +25 -0
  208. package/dist/lib/runtime/prompt.d.ts +30 -0
  209. package/dist/lib/runtime/prompt.js +453 -267
  210. package/dist/lib/runtime/prompt.test.js +81 -5
  211. package/dist/lib/runtime/result.d.ts +42 -2
  212. package/dist/lib/runtime/result.js +36 -1
  213. package/dist/lib/runtime/result.test.js +45 -6
  214. package/dist/lib/runtime/runPolicyHandler.d.ts +27 -0
  215. package/dist/lib/runtime/runPolicyHandler.js +222 -0
  216. package/dist/lib/runtime/runPolicyHandler.test.d.ts +1 -0
  217. package/dist/lib/runtime/runPolicyHandler.test.js +363 -0
  218. package/dist/lib/runtime/runner.js +37 -30
  219. package/dist/lib/runtime/state/context.d.ts +2 -0
  220. package/dist/lib/runtime/state/context.js +7 -0
  221. package/dist/lib/runtime/threadEndHooksEvents.d.ts +28 -0
  222. package/dist/lib/runtime/threadEndHooksEvents.js +49 -0
  223. package/dist/lib/runtime/threadEndHooksEvents.test.d.ts +1 -0
  224. package/dist/lib/runtime/threadEndHooksEvents.test.js +71 -0
  225. package/dist/lib/runtime/toolBlockDiagnostics.d.ts +3 -1
  226. package/dist/lib/runtime/toolBlockDiagnostics.js +19 -8
  227. package/dist/lib/runtime/truncate.d.ts +6 -0
  228. package/dist/lib/runtime/truncate.js +26 -0
  229. package/dist/lib/runtime/types.d.ts +1 -0
  230. package/dist/lib/runtime/utils.d.ts +8 -0
  231. package/dist/lib/runtime/utils.js +55 -21
  232. package/dist/lib/runtime/utils.test.js +26 -1
  233. package/dist/lib/runtime/validateChain.d.ts +12 -0
  234. package/dist/lib/runtime/validateChain.js +23 -1
  235. package/dist/lib/runtime/validateChain.test.js +77 -0
  236. package/dist/lib/serve/discovery.test.js +0 -2
  237. package/dist/lib/serve/http/adapter.js +4 -1
  238. package/dist/lib/serve/http/adapter.test.js +36 -3
  239. package/dist/lib/serve/mcp/adapter.js +16 -6
  240. package/dist/lib/serve/mcp/adapter.test.js +42 -5
  241. package/dist/lib/serve/mcp/httpTransport.test.js +0 -1
  242. package/dist/lib/statelogClient.d.ts +66 -4
  243. package/dist/lib/statelogClient.js +76 -2
  244. package/dist/lib/statelogClient.test.js +71 -3
  245. package/dist/lib/stdlib/agency.d.ts +1 -0
  246. package/dist/lib/stdlib/agency.js +4 -1
  247. package/dist/lib/stdlib/builtins.js +16 -0
  248. package/dist/lib/stdlib/http.d.ts +6 -6
  249. package/dist/lib/stdlib/http.js +52 -26
  250. package/dist/lib/stdlib/localModels.d.ts +6 -0
  251. package/dist/lib/stdlib/localModels.js +1 -1
  252. package/dist/lib/stdlib/mcp.d.ts +39 -0
  253. package/dist/lib/stdlib/mcp.js +223 -0
  254. package/dist/lib/stdlib/mcpBridge.mjs +71 -0
  255. package/dist/lib/stdlib/mcpGate.d.ts +9 -0
  256. package/dist/lib/stdlib/mcpGate.js +23 -0
  257. package/dist/lib/stdlib/mcpResolver.d.ts +12 -0
  258. package/dist/lib/stdlib/mcpResolver.js +46 -0
  259. package/dist/lib/stdlib/policy.d.ts +1 -0
  260. package/dist/lib/stdlib/policy.js +4 -0
  261. package/dist/lib/stdlib/shell.js +41 -12
  262. package/dist/lib/stdlib/skills.d.ts +7 -0
  263. package/dist/lib/stdlib/skills.js +10 -0
  264. package/dist/lib/stdlib/thread.js +6 -3
  265. package/dist/lib/stdlib/threads.js +13 -0
  266. package/dist/lib/symbolTable.d.ts +2 -2
  267. package/dist/lib/symbolTable.js +22 -10
  268. package/dist/lib/symbolTable.test.js +12 -12
  269. package/dist/lib/templates/backends/typescriptGenerator/functionCatchFailure.d.ts +1 -1
  270. package/dist/lib/templates/backends/typescriptGenerator/functionCatchFailure.js +1 -2
  271. package/dist/lib/templates/backends/typescriptGenerator/imports.d.ts +1 -1
  272. package/dist/lib/templates/backends/typescriptGenerator/imports.js +2 -2
  273. package/dist/lib/templates/backends/typescriptGenerator/interruptAssignment.d.ts +1 -1
  274. package/dist/lib/templates/backends/typescriptGenerator/interruptAssignment.js +5 -5
  275. package/dist/lib/templates/backends/typescriptGenerator/interruptReturn.d.ts +1 -1
  276. package/dist/lib/templates/backends/typescriptGenerator/interruptReturn.js +4 -4
  277. package/dist/lib/typeChecker/assignability.js +87 -68
  278. package/dist/lib/typeChecker/builtinGenerics.d.ts +64 -0
  279. package/dist/lib/typeChecker/builtinGenerics.js +226 -0
  280. package/dist/lib/typeChecker/builtinGenerics.test.d.ts +1 -0
  281. package/dist/lib/typeChecker/builtinGenerics.test.js +540 -0
  282. package/dist/lib/typeChecker/builtinNamedArgs.test.js +12 -0
  283. package/dist/lib/typeChecker/builtins.js +3 -0
  284. package/dist/lib/typeChecker/callbackCallEffects.test.d.ts +1 -0
  285. package/dist/lib/typeChecker/callbackCallEffects.test.js +42 -0
  286. package/dist/lib/typeChecker/checker.d.ts +3 -3
  287. package/dist/lib/typeChecker/checker.js +51 -67
  288. package/dist/lib/typeChecker/conflictingMarkers.d.ts +9 -0
  289. package/dist/lib/typeChecker/conflictingMarkers.js +17 -0
  290. package/dist/lib/typeChecker/conflictingMarkers.test.d.ts +1 -0
  291. package/dist/lib/typeChecker/conflictingMarkers.test.js +22 -0
  292. package/dist/lib/typeChecker/definiteReturns.js +3 -6
  293. package/dist/lib/typeChecker/diagnosticLocations.test.d.ts +1 -0
  294. package/dist/lib/typeChecker/diagnosticLocations.test.js +41 -0
  295. package/dist/lib/typeChecker/diagnostics.d.ts +483 -0
  296. package/dist/lib/typeChecker/diagnostics.js +486 -0
  297. package/dist/lib/typeChecker/diagnostics.test.d.ts +1 -0
  298. package/dist/lib/typeChecker/diagnostics.test.js +83 -0
  299. package/dist/lib/typeChecker/effectPayloadCheck.js +9 -37
  300. package/dist/lib/typeChecker/flow.d.ts +34 -19
  301. package/dist/lib/typeChecker/flow.js +32 -14
  302. package/dist/lib/typeChecker/flow.test.js +104 -3
  303. package/dist/lib/typeChecker/flowBuilder.js +15 -2
  304. package/dist/lib/typeChecker/flowBuilder.test.js +29 -3
  305. package/dist/lib/typeChecker/formatErrors.test.d.ts +1 -0
  306. package/dist/lib/typeChecker/formatErrors.test.js +64 -0
  307. package/dist/lib/typeChecker/functionTypeRaises.d.ts +18 -0
  308. package/dist/lib/typeChecker/functionTypeRaises.js +141 -0
  309. package/dist/lib/typeChecker/functionTypeRaises.test.d.ts +1 -0
  310. package/dist/lib/typeChecker/functionTypeRaises.test.js +94 -0
  311. package/dist/lib/typeChecker/functionValueEffects.d.ts +14 -0
  312. package/dist/lib/typeChecker/functionValueEffects.js +60 -0
  313. package/dist/lib/typeChecker/handlerParamTyping.js +12 -3
  314. package/dist/lib/typeChecker/handlerParamTyping.test.js +7 -0
  315. package/dist/lib/typeChecker/index.d.ts +31 -1
  316. package/dist/lib/typeChecker/index.js +164 -112
  317. package/dist/lib/typeChecker/interruptAnalysis.js +36 -27
  318. package/dist/lib/typeChecker/matchExhaustiveness.js +2 -5
  319. package/dist/lib/typeChecker/matchExprTypes.js +11 -7
  320. package/dist/lib/typeChecker/matchExpression.test.js +36 -0
  321. package/dist/lib/typeChecker/nullLiteralSynth.test.d.ts +1 -0
  322. package/dist/lib/typeChecker/nullLiteralSynth.test.js +36 -0
  323. package/dist/lib/typeChecker/paramAcceptsFailure.test.d.ts +1 -0
  324. package/dist/lib/typeChecker/paramAcceptsFailure.test.js +35 -0
  325. package/dist/lib/typeChecker/raisesDiagnostic.js +3 -12
  326. package/dist/lib/typeChecker/recursiveAssignability.test.d.ts +1 -0
  327. package/dist/lib/typeChecker/recursiveAssignability.test.js +94 -0
  328. package/dist/lib/typeChecker/resultUnion.js +19 -1
  329. package/dist/lib/typeChecker/schemaType.test.js +26 -0
  330. package/dist/lib/typeChecker/scope.d.ts +25 -1
  331. package/dist/lib/typeChecker/scope.js +37 -2
  332. package/dist/lib/typeChecker/scope.test.js +56 -0
  333. package/dist/lib/typeChecker/scopes.js +13 -36
  334. package/dist/lib/typeChecker/staticInitRules.d.ts +1 -24
  335. package/dist/lib/typeChecker/staticInitRules.js +43 -28
  336. package/dist/lib/typeChecker/strictMemberAccess.test.js +34 -0
  337. package/dist/lib/typeChecker/suppression.d.ts +19 -10
  338. package/dist/lib/typeChecker/suppression.js +64 -14
  339. package/dist/lib/typeChecker/suppression.test.js +80 -13
  340. package/dist/lib/typeChecker/synthesizer.js +86 -72
  341. package/dist/lib/typeChecker/toolBlockBinding.d.ts +0 -23
  342. package/dist/lib/typeChecker/toolBlockBinding.js +44 -14
  343. package/dist/lib/typeChecker/typeKey.d.ts +24 -0
  344. package/dist/lib/typeChecker/typeKey.js +90 -0
  345. package/dist/lib/typeChecker/typeKey.test.d.ts +1 -0
  346. package/dist/lib/typeChecker/typeKey.test.js +165 -0
  347. package/dist/lib/typeChecker/typeOperators.d.ts +37 -0
  348. package/dist/lib/typeChecker/typeOperators.js +110 -0
  349. package/dist/lib/typeChecker/typeOperators.test.d.ts +1 -0
  350. package/dist/lib/typeChecker/typeOperators.test.js +491 -0
  351. package/dist/lib/typeChecker/typeWalker.js +21 -0
  352. package/dist/lib/typeChecker/types.d.ts +14 -5
  353. package/dist/lib/typeChecker/undefinedFunctionDiagnostic.js +13 -24
  354. package/dist/lib/typeChecker/undefinedVariableDiagnostic.js +3 -4
  355. package/dist/lib/typeChecker/utils.d.ts +17 -1
  356. package/dist/lib/typeChecker/utils.js +54 -23
  357. package/dist/lib/typeChecker/validate.js +48 -50
  358. package/dist/lib/typeChecker/validateStaticInit.js +1 -1
  359. package/dist/lib/typeChecker/valueParamSubstitution.js +27 -0
  360. package/dist/lib/typeChecker/variadicNamedBinding.test.js +5 -5
  361. package/dist/lib/typeChecker.test.js +60 -62
  362. package/dist/lib/types/exportFromStatement.d.ts +4 -2
  363. package/dist/lib/types/function.d.ts +12 -1
  364. package/dist/lib/types/importStatement.d.ts +5 -2
  365. package/dist/lib/types/importStatement.js +0 -3
  366. package/dist/lib/types/typeHints.d.ts +51 -3
  367. package/dist/lib/utils/bodySlots.d.ts +36 -0
  368. package/dist/lib/utils/bodySlots.js +120 -0
  369. package/dist/lib/utils/formatType.js +48 -3
  370. package/dist/lib/utils/formatType.test.d.ts +1 -0
  371. package/dist/lib/utils/formatType.test.js +65 -0
  372. package/dist/lib/utils/mapBodies.d.ts +10 -10
  373. package/dist/lib/utils/mapBodies.js +11 -45
  374. package/dist/lib/utils/node.js +35 -50
  375. package/dist/scripts/agency.js +57 -4
  376. package/dist/scripts/stage-agents.test.d.ts +1 -0
  377. package/dist/scripts/stage-agents.test.js +74 -0
  378. package/dist/scripts/stdlib-stamp.d.ts +1 -0
  379. package/dist/scripts/stdlib-stamp.js +31 -0
  380. package/package.json +2 -4
  381. package/stdlib/agency/eval.js +91 -87
  382. package/stdlib/agency/local.js +73 -96
  383. package/stdlib/agency.agency +436 -38
  384. package/stdlib/agency.js +3023 -350
  385. package/stdlib/agent.agency +6 -6
  386. package/stdlib/agent.js +97 -107
  387. package/stdlib/args.agency +74 -0
  388. package/stdlib/args.js +8 -9
  389. package/stdlib/array.js +107 -118
  390. package/stdlib/auth/keyring.agency +4 -4
  391. package/stdlib/auth/keyring.js +47 -39
  392. package/stdlib/auth/oauth.agency +2 -2
  393. package/stdlib/auth/oauth.js +50 -42
  394. package/stdlib/calendar.agency +4 -4
  395. package/stdlib/calendar.js +94 -71
  396. package/stdlib/capabilities.agency +1 -1
  397. package/stdlib/capabilities.js +1 -1
  398. package/stdlib/clipboard.agency +2 -2
  399. package/stdlib/clipboard.js +20 -19
  400. package/stdlib/concurrency.js +13 -11
  401. package/stdlib/data/finance/dbnomics.agency +4 -4
  402. package/stdlib/data/finance/dbnomics.js +35 -34
  403. package/stdlib/data/finance/edgar.agency +7 -7
  404. package/stdlib/data/finance/edgar.js +73 -66
  405. package/stdlib/data/finance/fred.agency +9 -9
  406. package/stdlib/data/finance/fred.js +97 -90
  407. package/stdlib/data/finance/gdelt.agency +4 -4
  408. package/stdlib/data/finance/gdelt.js +35 -34
  409. package/stdlib/data/people/littlesis.agency +19 -19
  410. package/stdlib/data/people/littlesis.js +137 -148
  411. package/stdlib/data/tech/hackernews.agency +23 -23
  412. package/stdlib/data/tech/hackernews.js +173 -182
  413. package/stdlib/data/tech/yc.agency +19 -19
  414. package/stdlib/data/tech/yc.js +119 -140
  415. package/stdlib/data/usaspending.agency +263 -0
  416. package/stdlib/data/usaspending.js +2281 -0
  417. package/stdlib/data/wikidata.agency +17 -17
  418. package/stdlib/data/wikidata.js +121 -131
  419. package/stdlib/date.agency +15 -15
  420. package/stdlib/date.js +117 -118
  421. package/stdlib/docs/cli/agent.md +32 -0
  422. package/stdlib/docs/guide/agency-vs-typescript.md +30 -0
  423. package/stdlib/docs/guide/build-integration.md +106 -0
  424. package/{dist/lib/agents → stdlib}/docs/guide/builtins.md +6 -7
  425. package/stdlib/docs/guide/cross-thread-context.md +178 -0
  426. package/{dist/lib/agents → stdlib}/docs/guide/custom-providers.md +8 -1
  427. package/{dist/lib/agents → stdlib}/docs/guide/error-handling.md +21 -0
  428. package/stdlib/docs/guide/llm-part-2.md +145 -0
  429. package/{dist/lib/agents → stdlib}/docs/guide/mcp.md +13 -45
  430. package/{dist/lib/agents → stdlib}/docs/guide/memory.md +2 -0
  431. package/{dist/lib/agents/docs/guide/advanced-types.md → stdlib/docs/guide/notes-on-types.md} +2 -2
  432. package/{dist/lib/agents → stdlib}/docs/guide/policies.md +27 -1
  433. package/{dist/lib/agents → stdlib}/docs/guide/schema-parameter-injection.md +2 -0
  434. package/{dist/lib/agents → stdlib}/docs/guide/serving.md +23 -35
  435. package/stdlib/docs/guide/tags.md +66 -0
  436. package/{dist/lib/agents → stdlib}/docs/guide/ts-helpers.md +2 -0
  437. package/{dist/lib/agents → stdlib}/docs/guide/types.md +93 -0
  438. package/{dist/lib/agents → stdlib}/docs/guide/vscode-extension.md +2 -2
  439. package/stdlib/fs.agency +6 -6
  440. package/stdlib/fs.js +152 -97
  441. package/stdlib/git.agency +17 -17
  442. package/stdlib/git.js +293 -245
  443. package/stdlib/http.agency +31 -15
  444. package/stdlib/http.js +154 -58
  445. package/stdlib/image.js +21 -15
  446. package/stdlib/index.agency +12 -12
  447. package/stdlib/index.js +244 -226
  448. package/stdlib/llm.agency +5 -2
  449. package/stdlib/llm.js +57 -71
  450. package/stdlib/markdown.agency +4 -4
  451. package/stdlib/markdown.js +27 -29
  452. package/stdlib/math.agency +5 -5
  453. package/stdlib/math.js +41 -40
  454. package/stdlib/mcp.agency +53 -0
  455. package/stdlib/mcp.js +811 -0
  456. package/stdlib/memory.agency +23 -9
  457. package/stdlib/memory.js +128 -112
  458. package/stdlib/messaging/email.agency +3 -3
  459. package/stdlib/messaging/email.js +104 -62
  460. package/stdlib/messaging/imessage.agency +1 -1
  461. package/stdlib/messaging/imessage.js +20 -13
  462. package/stdlib/messaging/sms.agency +1 -1
  463. package/stdlib/messaging/sms.js +26 -16
  464. package/stdlib/object.agency +3 -3
  465. package/stdlib/object.js +59 -61
  466. package/stdlib/path.agency +7 -7
  467. package/stdlib/path.js +47 -51
  468. package/stdlib/policy.agency +36 -0
  469. package/stdlib/policy.js +523 -142
  470. package/stdlib/shell.agency +8 -8
  471. package/stdlib/shell.js +160 -112
  472. package/stdlib/skills.agency +34 -12
  473. package/stdlib/skills.js +368 -118
  474. package/stdlib/speech.js +41 -38
  475. package/stdlib/statelog.agency +5 -5
  476. package/stdlib/statelog.js +51 -55
  477. package/stdlib/strategy.js +53 -51
  478. package/stdlib/syntax.agency +4 -4
  479. package/stdlib/syntax.js +63 -47
  480. package/stdlib/system.agency +6 -6
  481. package/stdlib/system.js +87 -100
  482. package/stdlib/tag.js +45 -52
  483. package/stdlib/thread.agency +20 -14
  484. package/stdlib/thread.js +132 -130
  485. package/stdlib/ui/chart.agency +1 -1
  486. package/stdlib/ui/chart.js +53 -42
  487. package/stdlib/ui/cli.agency +2 -2
  488. package/stdlib/ui/cli.js +47 -56
  489. package/stdlib/ui/layout.agency +9 -9
  490. package/stdlib/ui/layout.js +259 -201
  491. package/stdlib/ui/table.agency +1 -1
  492. package/stdlib/ui/table.js +83 -69
  493. package/stdlib/ui.agency +6 -6
  494. package/stdlib/ui.js +649 -596
  495. package/stdlib/validation.agency +11 -11
  496. package/stdlib/validation.js +77 -82
  497. package/stdlib/weather.agency +3 -3
  498. package/stdlib/weather.js +23 -24
  499. package/stdlib/web/browser.js +21 -15
  500. package/stdlib/web/search.agency +2 -2
  501. package/stdlib/web/search.js +37 -28
  502. package/stdlib/wikipedia.agency +3 -3
  503. package/stdlib/wikipedia.js +27 -28
  504. package/dist/lib/agents/agency-agent/lib/defaultPolicy.agency +0 -227
  505. package/dist/lib/agents/docs/cli/agent.md +0 -16
  506. package/dist/lib/agents/docs/guide/agency-vs-typescript.md +0 -33
  507. package/dist/lib/agents/docs/guide/build-integration.md +0 -99
  508. package/dist/lib/agents/docs/guide/cli-args.md +0 -190
  509. package/dist/lib/agents/docs/guide/cross-thread-context.md +0 -226
  510. package/dist/lib/agents/docs/guide/llm-part-2.md +0 -111
  511. package/dist/lib/agents/docs/guide/tags.md +0 -72
  512. /package/{dist/lib/agents → stdlib}/docs/cli/compile.md +0 -0
  513. /package/{dist/lib/agents → stdlib}/docs/cli/coverage.md +0 -0
  514. /package/{dist/lib/agents → stdlib}/docs/cli/debug.md +0 -0
  515. /package/{dist/lib/agents → stdlib}/docs/cli/doc.md +0 -0
  516. /package/{dist/lib/agents → stdlib}/docs/cli/editor-integration.md +0 -0
  517. /package/{dist/lib/agents → stdlib}/docs/cli/eval-judge.md +0 -0
  518. /package/{dist/lib/agents → stdlib}/docs/cli/eval.md +0 -0
  519. /package/{dist/lib/agents → stdlib}/docs/cli/format.md +0 -0
  520. /package/{dist/lib/agents → stdlib}/docs/cli/index.md +0 -0
  521. /package/{dist/lib/agents → stdlib}/docs/cli/local.md +0 -0
  522. /package/{dist/lib/agents → stdlib}/docs/cli/models.md +0 -0
  523. /package/{dist/lib/agents → stdlib}/docs/cli/optimize.md +0 -0
  524. /package/{dist/lib/agents → stdlib}/docs/cli/pack.md +0 -0
  525. /package/{dist/lib/agents → stdlib}/docs/cli/policy.md +0 -0
  526. /package/{dist/lib/agents → stdlib}/docs/cli/preprocess-and-ast.md +0 -0
  527. /package/{dist/lib/agents → stdlib}/docs/cli/review.md +0 -0
  528. /package/{dist/lib/agents → stdlib}/docs/cli/run.md +0 -0
  529. /package/{dist/lib/agents → stdlib}/docs/cli/schedule.md +0 -0
  530. /package/{dist/lib/agents → stdlib}/docs/cli/serve.md +0 -0
  531. /package/{dist/lib/agents → stdlib}/docs/cli/test.md +0 -0
  532. /package/{dist/lib/agents → stdlib}/docs/cli/trace-and-bundle.md +0 -0
  533. /package/{dist/lib/agents → stdlib}/docs/cli/typecheck.md +0 -0
  534. /package/{dist/lib/agents → stdlib}/docs/guide/agency-config-file.md +0 -0
  535. /package/{dist/lib/agents → stdlib}/docs/guide/agency-packages.md +0 -0
  536. /package/{dist/lib/agents → stdlib}/docs/guide/agency-stdlib.md +0 -0
  537. /package/{dist/lib/agents → stdlib}/docs/guide/attachments.md +0 -0
  538. /package/{dist/lib/agents → stdlib}/docs/guide/basic-syntax.md +0 -0
  539. /package/{dist/lib/agents → stdlib}/docs/guide/blocks.md +0 -0
  540. /package/{dist/lib/agents → stdlib}/docs/guide/callbacks.md +0 -0
  541. /package/{dist/lib/agents → stdlib}/docs/guide/checkpointing.md +0 -0
  542. /package/{dist/lib/agents → stdlib}/docs/guide/common-functions.md +0 -0
  543. /package/{dist/lib/agents → stdlib}/docs/guide/compiling-and-running.md +0 -0
  544. /package/{dist/lib/agents → stdlib}/docs/guide/concurrency.md +0 -0
  545. /package/{dist/lib/agents → stdlib}/docs/guide/debugging.md +0 -0
  546. /package/{dist/lib/agents → stdlib}/docs/guide/developer-tools.md +0 -0
  547. /package/{dist/lib/agents → stdlib}/docs/guide/effects-and-raises.md +0 -0
  548. /package/{dist/lib/agents → stdlib}/docs/guide/effects.md +0 -0
  549. /package/{dist/lib/agents → stdlib}/docs/guide/exercise-1.md +0 -0
  550. /package/{dist/lib/agents → stdlib}/docs/guide/functions.md +0 -0
  551. /package/{dist/lib/agents → stdlib}/docs/guide/getting-started.md +0 -0
  552. /package/{dist/lib/agents → stdlib}/docs/guide/global-var-initialization.md +0 -0
  553. /package/{dist/lib/agents → stdlib}/docs/guide/global-vs-static.md +0 -0
  554. /package/{dist/lib/agents → stdlib}/docs/guide/guards.md +0 -0
  555. /package/{dist/lib/agents → stdlib}/docs/guide/handlers.md +0 -0
  556. /package/{dist/lib/agents → stdlib}/docs/guide/image-generation.md +0 -0
  557. /package/{dist/lib/agents → stdlib}/docs/guide/imports-and-packages.md +0 -0
  558. /package/{dist/lib/agents → stdlib}/docs/guide/interrupts-from-typescript.md +0 -0
  559. /package/{dist/lib/agents → stdlib}/docs/guide/interrupts-part-2.md +0 -0
  560. /package/{dist/lib/agents → stdlib}/docs/guide/interrupts.md +0 -0
  561. /package/{dist/lib/agents → stdlib}/docs/guide/llm.md +0 -0
  562. /package/{dist/lib/agents → stdlib}/docs/guide/message-threads.md +0 -0
  563. /package/{dist/lib/agents → stdlib}/docs/guide/nodes.md +0 -0
  564. /package/{dist/lib/agents → stdlib}/docs/guide/observability.md +0 -0
  565. /package/{dist/lib/agents → stdlib}/docs/guide/partial-application.md +0 -0
  566. /package/{dist/lib/agents → stdlib}/docs/guide/pattern-matching.md +0 -0
  567. /package/{dist/lib/agents → stdlib}/docs/guide/schemas.md +0 -0
  568. /package/{dist/lib/agents → stdlib}/docs/guide/state-isolation.md +0 -0
  569. /package/{dist/lib/agents → stdlib}/docs/guide/streaming.md +0 -0
  570. /package/{dist/lib/agents → stdlib}/docs/guide/testing.md +0 -0
  571. /package/{dist/lib/agents → stdlib}/docs/guide/troubleshooting.md +0 -0
  572. /package/{dist/lib/agents → stdlib}/docs/guide/ts-interop.md +0 -0
  573. /package/{dist/lib/agents → stdlib}/docs/guide/type-validation.md +0 -0
  574. /package/{dist/lib/agents → stdlib}/docs/guide/unused.md +0 -0
  575. /package/{dist/lib/agents → stdlib}/docs/guide/unused2.md +0 -0
  576. /package/{dist/lib/agents → stdlib}/docs/guide/value-parameterized-types.md +0 -0
  577. /package/{dist/lib/agents → stdlib}/docs/guide/why-agency.md +0 -0
package/stdlib/memory.js CHANGED
@@ -30,8 +30,11 @@ import {
30
30
  AgencyAbort,
31
31
  __registerGlobalsInit,
32
32
  failure,
33
+ isSuccess,
33
34
  isFailure,
35
+ stampFailureBoundary,
34
36
  __tryCall,
37
+ __validateType,
35
38
  AgencyFunction as __AgencyFunction,
36
39
  UNSET as __UNSET,
37
40
  __call,
@@ -174,7 +177,7 @@ async function __registerTopLevelCallbacks(__ctx) {
174
177
  __functionRefReviver.registry = __toolRegistry;
175
178
  const ExtractionResult = z.object({ "entities": z.array(z.object({ "name": z.string(), "type": z.string(), "observations": z.array(z.string()) })), "relations": z.array(z.object({ "from": z.string(), "to": z.string(), "type": z.string() })), "expirations": z.array(z.object({ "entityName": z.string(), "observationContent": z.string() })) });
176
179
  const ForgetResult = z.object({ "observations": z.array(z.object({ "entityName": z.string(), "observationContent": z.string() })), "relations": z.array(z.object({ "fromName": z.string(), "toName": z.string(), "type": z.string() })) });
177
- const MemoryConfig = z.object({ "dir": z.string(), "model": z.union([z.string(), z.null()]).optional().default(null), "autoExtract": z.union([z.object({ "interval": z.union([z.number(), z.null()]).optional().default(null) }), z.null()]).optional().default(null), "compaction": z.union([z.object({ "trigger": z.union([z.literal("token"), z.literal("messages"), z.null()]).optional().default(null), "threshold": z.union([z.number(), z.null()]).optional().default(null) }), z.null()]).optional().default(null), "embeddings": z.union([z.object({ "model": z.union([z.string(), z.null()]).optional().default(null) }), z.null()]).optional().default(null) });
180
+ const MemoryConfig = z.object({ "dir": z.string(), "model": z.union([z.string(), z.null()]).optional().default(null), "autoExtract": z.union([z.object({ "interval": z.union([z.number(), z.null()]).optional().default(null) }), z.null()]).optional().default(null), "compaction": z.union([z.object({ "trigger": z.union([z.literal("token"), z.literal("messages"), z.null()]).optional().default(null), "threshold": z.union([z.number(), z.null()]).optional().default(null) }), z.null()]).optional().default(null), "embeddings": z.union([z.object({ "model": z.union([z.string(), z.null()]).optional().default(null), "provider": z.union([z.string(), z.null()]).optional().default(null) }), z.null()]).optional().default(null) });
178
181
  async function __isMemoryActive_impl() {
179
182
  const __setupData = setupFunction();
180
183
  const __stack = __setupData.stack;
@@ -187,7 +190,7 @@ async function __isMemoryActive_impl() {
187
190
  await __initializeGlobals(__ctx);
188
191
  }
189
192
  let __funcStartTime = performance.now();
190
- __self.__retryable = __self.__retryable ?? true;
193
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
191
194
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "isMemoryActive", threads: __setupData.threads });
192
195
  let __resultCheckpointId = -1;
193
196
  if (__ctx._pendingArgOverrides) {
@@ -222,7 +225,7 @@ async function __isMemoryActive_impl() {
222
225
  });
223
226
  if (runner.halted) {
224
227
  if (isFailure(runner.haltResult)) {
225
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
228
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
226
229
  }
227
230
  return runner.haltResult;
228
231
  }
@@ -242,15 +245,14 @@ async function __isMemoryActive_impl() {
242
245
  __ctx.statelogClient?.error?.({
243
246
  errorType: "runtimeError",
244
247
  message: __errMsg,
245
- functionName: "isMemoryActive",
246
- retryable: __self.__retryable
248
+ functionName: "isMemoryActive"
247
249
  });
248
250
  }
249
251
  return failure(
250
252
  __error instanceof Error ? __error.message : String(__error),
251
253
  {
252
254
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
253
- retryable: __self.__retryable,
255
+ destructiveRan: __self.__destructiveRan,
254
256
  functionName: "isMemoryActive",
255
257
  args: __stack.args
256
258
  }
@@ -280,7 +282,6 @@ const isMemoryActive = __AgencyFunction.create({
280
282
  enabled, was turned off, or the call is outside any runtime frame.`,
281
283
  schema: z.object({})
282
284
  },
283
- safe: true,
284
285
  exported: true
285
286
  }, __toolRegistry);
286
287
  async function __setMemoryId_impl(id) {
@@ -296,7 +297,7 @@ async function __setMemoryId_impl(id) {
296
297
  }
297
298
  let __funcStartTime = performance.now();
298
299
  __stack.args["id"] = id;
299
- __self.__retryable = __self.__retryable ?? true;
300
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
300
301
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "setMemoryId", threads: __setupData.threads });
301
302
  let __resultCheckpointId = -1;
302
303
  if (__ctx._pendingArgOverrides) {
@@ -327,7 +328,6 @@ async function __setMemoryId_impl(id) {
327
328
  });
328
329
  });
329
330
  await runner.step(1, async (runner2) => {
330
- __self.__retryable = false;
331
331
  const __funcResult = await __call(_setMemoryId, {
332
332
  type: "positional",
333
333
  args: [__stack.args.id]
@@ -341,7 +341,7 @@ async function __setMemoryId_impl(id) {
341
341
  });
342
342
  if (runner.halted) {
343
343
  if (isFailure(runner.haltResult)) {
344
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
344
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
345
345
  }
346
346
  return runner.haltResult;
347
347
  }
@@ -361,15 +361,14 @@ async function __setMemoryId_impl(id) {
361
361
  __ctx.statelogClient?.error?.({
362
362
  errorType: "runtimeError",
363
363
  message: __errMsg,
364
- functionName: "setMemoryId",
365
- retryable: __self.__retryable
364
+ functionName: "setMemoryId"
366
365
  });
367
366
  }
368
367
  return failure(
369
368
  __error instanceof Error ? __error.message : String(__error),
370
369
  {
371
370
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
372
- retryable: __self.__retryable,
371
+ destructiveRan: __self.__destructiveRan,
373
372
  functionName: "setMemoryId",
374
373
  args: __stack.args
375
374
  }
@@ -396,7 +395,8 @@ const setMemoryId = __AgencyFunction.create({
396
395
  hasDefault: false,
397
396
  defaultValue: void 0,
398
397
  variadic: false,
399
- isFunctionTyped: false
398
+ isFunctionTyped: false,
399
+ acceptsResult: false
400
400
  }],
401
401
  toolDefinition: {
402
402
  name: "setMemoryId",
@@ -408,7 +408,6 @@ const setMemoryId = __AgencyFunction.create({
408
408
  @param id - A unique identifier for the memory scope (e.g. user ID)`,
409
409
  schema: z.object({ "id": z.string() })
410
410
  },
411
- safe: false,
412
411
  exported: true
413
412
  }, __toolRegistry);
414
413
  async function __getMemoryId_impl() {
@@ -423,7 +422,7 @@ async function __getMemoryId_impl() {
423
422
  await __initializeGlobals(__ctx);
424
423
  }
425
424
  let __funcStartTime = performance.now();
426
- __self.__retryable = __self.__retryable ?? true;
425
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
427
426
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "getMemoryId", threads: __setupData.threads });
428
427
  let __resultCheckpointId = -1;
429
428
  if (__ctx._pendingArgOverrides) {
@@ -458,7 +457,7 @@ async function __getMemoryId_impl() {
458
457
  });
459
458
  if (runner.halted) {
460
459
  if (isFailure(runner.haltResult)) {
461
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
460
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
462
461
  }
463
462
  return runner.haltResult;
464
463
  }
@@ -478,15 +477,14 @@ async function __getMemoryId_impl() {
478
477
  __ctx.statelogClient?.error?.({
479
478
  errorType: "runtimeError",
480
479
  message: __errMsg,
481
- functionName: "getMemoryId",
482
- retryable: __self.__retryable
480
+ functionName: "getMemoryId"
483
481
  });
484
482
  }
485
483
  return failure(
486
484
  __error instanceof Error ? __error.message : String(__error),
487
485
  {
488
486
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
489
- retryable: __self.__retryable,
487
+ destructiveRan: __self.__destructiveRan,
490
488
  functionName: "getMemoryId",
491
489
  args: __stack.args
492
490
  }
@@ -517,7 +515,6 @@ const getMemoryId = __AgencyFunction.create({
517
515
  @returns The active memory scope id`,
518
516
  schema: z.object({})
519
517
  },
520
- safe: true,
521
518
  exported: true
522
519
  }, __toolRegistry);
523
520
  async function __enableMemory_impl(config) {
@@ -533,7 +530,7 @@ async function __enableMemory_impl(config) {
533
530
  }
534
531
  let __funcStartTime = performance.now();
535
532
  __stack.args["config"] = config;
536
- __self.__retryable = __self.__retryable ?? true;
533
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
537
534
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "enableMemory", threads: __setupData.threads });
538
535
  let __resultCheckpointId = -1;
539
536
  if (__ctx._pendingArgOverrides) {
@@ -568,7 +565,7 @@ async function __enableMemory_impl(config) {
568
565
  if (__response) {
569
566
  if (__response.type === "approve") {
570
567
  } else if (__response.type === "reject") {
571
- runner2.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
568
+ runner2.halt(failure("interrupt rejected", { checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
572
569
  return;
573
570
  }
574
571
  } else {
@@ -576,7 +573,7 @@ async function __enableMemory_impl(config) {
576
573
  "dir": __stack.args.config.dir
577
574
  }, "std::memory", __ctx, __stateStack());
578
575
  if (isRejected(__handlerResult)) {
579
- runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
576
+ runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
580
577
  return;
581
578
  }
582
579
  if (!isApproved(__handlerResult)) {
@@ -590,7 +587,6 @@ async function __enableMemory_impl(config) {
590
587
  }
591
588
  });
592
589
  await runner.step(2, async (runner2) => {
593
- __self.__retryable = false;
594
590
  const __funcResult = await __call(_enableMemory, {
595
591
  type: "positional",
596
592
  args: [__stack.args.config]
@@ -604,7 +600,7 @@ async function __enableMemory_impl(config) {
604
600
  });
605
601
  if (runner.halted) {
606
602
  if (isFailure(runner.haltResult)) {
607
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
603
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
608
604
  }
609
605
  return runner.haltResult;
610
606
  }
@@ -624,15 +620,14 @@ async function __enableMemory_impl(config) {
624
620
  __ctx.statelogClient?.error?.({
625
621
  errorType: "runtimeError",
626
622
  message: __errMsg,
627
- functionName: "enableMemory",
628
- retryable: __self.__retryable
623
+ functionName: "enableMemory"
629
624
  });
630
625
  }
631
626
  return failure(
632
627
  __error instanceof Error ? __error.message : String(__error),
633
628
  {
634
629
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
635
- retryable: __self.__retryable,
630
+ destructiveRan: __self.__destructiveRan,
636
631
  functionName: "enableMemory",
637
632
  args: __stack.args
638
633
  }
@@ -659,7 +654,8 @@ const enableMemory = __AgencyFunction.create({
659
654
  hasDefault: false,
660
655
  defaultValue: void 0,
661
656
  variadic: false,
662
- isFunctionTyped: false
657
+ isFunctionTyped: false,
658
+ acceptsResult: false
663
659
  }],
664
660
  toolDefinition: {
665
661
  name: "enableMemory",
@@ -670,7 +666,6 @@ const enableMemory = __AgencyFunction.create({
670
666
  @param config - Memory configuration with \`dir\` required`,
671
667
  schema: z.object({ "config": MemoryConfig })
672
668
  },
673
- safe: false,
674
669
  exported: true
675
670
  }, __toolRegistry);
676
671
  async function __disableMemory_impl() {
@@ -685,7 +680,7 @@ async function __disableMemory_impl() {
685
680
  await __initializeGlobals(__ctx);
686
681
  }
687
682
  let __funcStartTime = performance.now();
688
- __self.__retryable = __self.__retryable ?? true;
683
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
689
684
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "disableMemory", threads: __setupData.threads });
690
685
  let __resultCheckpointId = -1;
691
686
  if (__ctx._pendingArgOverrides) {
@@ -714,13 +709,13 @@ async function __disableMemory_impl() {
714
709
  if (__response) {
715
710
  if (__response.type === "approve") {
716
711
  } else if (__response.type === "reject") {
717
- runner2.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
712
+ runner2.halt(failure("interrupt rejected", { checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
718
713
  return;
719
714
  }
720
715
  } else {
721
716
  const __handlerResult = await interruptWithHandlers("std::memory::disableMemory", `Are you sure you want to disable memory (pop the top memory frame)?`, {}, "std::memory", __ctx, __stateStack());
722
717
  if (isRejected(__handlerResult)) {
723
- runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
718
+ runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
724
719
  return;
725
720
  }
726
721
  if (!isApproved(__handlerResult)) {
@@ -734,7 +729,6 @@ async function __disableMemory_impl() {
734
729
  }
735
730
  });
736
731
  await runner.step(2, async (runner2) => {
737
- __self.__retryable = false;
738
732
  const __funcResult = await __call(_disableMemory, {
739
733
  type: "positional",
740
734
  args: []
@@ -748,7 +742,7 @@ async function __disableMemory_impl() {
748
742
  });
749
743
  if (runner.halted) {
750
744
  if (isFailure(runner.haltResult)) {
751
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
745
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
752
746
  }
753
747
  return runner.haltResult;
754
748
  }
@@ -768,15 +762,14 @@ async function __disableMemory_impl() {
768
762
  __ctx.statelogClient?.error?.({
769
763
  errorType: "runtimeError",
770
764
  message: __errMsg,
771
- functionName: "disableMemory",
772
- retryable: __self.__retryable
765
+ functionName: "disableMemory"
773
766
  });
774
767
  }
775
768
  return failure(
776
769
  __error instanceof Error ? __error.message : String(__error),
777
770
  {
778
771
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
779
- retryable: __self.__retryable,
772
+ destructiveRan: __self.__destructiveRan,
780
773
  functionName: "disableMemory",
781
774
  args: __stack.args
782
775
  }
@@ -805,7 +798,6 @@ const disableMemory = __AgencyFunction.create({
805
798
  enabled memory configuration.`,
806
799
  schema: z.object({})
807
800
  },
808
- safe: false,
809
801
  exported: true
810
802
  }, __toolRegistry);
811
803
  async function __memory_impl(config, block = __UNSET) {
@@ -822,7 +814,7 @@ async function __memory_impl(config, block = __UNSET) {
822
814
  let __funcStartTime = performance.now();
823
815
  __stack.args["config"] = config;
824
816
  __stack.args["block"] = block === __UNSET ? null : block;
825
- __self.__retryable = __self.__retryable ?? true;
817
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
826
818
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "memory", threads: __setupData.threads });
827
819
  let __resultCheckpointId = -1;
828
820
  if (__ctx._pendingArgOverrides) {
@@ -858,7 +850,6 @@ async function __memory_impl(config, block = __UNSET) {
858
850
  });
859
851
  });
860
852
  await runner.step(1, async (runner2) => {
861
- __self.__retryable = false;
862
853
  __stack.locals.pushed = await __call(_pushMemoryFrame, {
863
854
  type: "positional",
864
855
  args: [__stack.args.config]
@@ -889,7 +880,6 @@ async function __memory_impl(config, block = __UNSET) {
889
880
  condition: async () => __stack.locals.pushed,
890
881
  body: async (runner2) => {
891
882
  await runner2.step(0, async (runner3) => {
892
- __self.__retryable = false;
893
883
  const __funcResult = await __call(_popMemoryFrame, {
894
884
  type: "positional",
895
885
  args: []
@@ -904,9 +894,6 @@ async function __memory_impl(config, block = __UNSET) {
904
894
  }
905
895
  ]);
906
896
  await runner.step(4, async (runner2) => {
907
- __self.__retryable = false;
908
- });
909
- await runner.step(5, async (runner2) => {
910
897
  __functionCompleted = true;
911
898
  runner2.halt(__stack.locals.result);
912
899
  return;
@@ -914,7 +901,7 @@ async function __memory_impl(config, block = __UNSET) {
914
901
  });
915
902
  if (runner.halted) {
916
903
  if (isFailure(runner.haltResult)) {
917
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
904
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
918
905
  }
919
906
  return runner.haltResult;
920
907
  }
@@ -934,15 +921,14 @@ async function __memory_impl(config, block = __UNSET) {
934
921
  __ctx.statelogClient?.error?.({
935
922
  errorType: "runtimeError",
936
923
  message: __errMsg,
937
- functionName: "memory",
938
- retryable: __self.__retryable
924
+ functionName: "memory"
939
925
  });
940
926
  }
941
927
  return failure(
942
928
  __error instanceof Error ? __error.message : String(__error),
943
929
  {
944
930
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
945
- retryable: __self.__retryable,
931
+ destructiveRan: __self.__destructiveRan,
946
932
  functionName: "memory",
947
933
  args: __stack.args
948
934
  }
@@ -969,13 +955,15 @@ const memory = __AgencyFunction.create({
969
955
  hasDefault: false,
970
956
  defaultValue: void 0,
971
957
  variadic: false,
972
- isFunctionTyped: false
958
+ isFunctionTyped: false,
959
+ acceptsResult: false
973
960
  }, {
974
961
  name: "block",
975
962
  hasDefault: true,
976
963
  defaultValue: void 0,
977
964
  variadic: false,
978
- isFunctionTyped: true
965
+ isFunctionTyped: true,
966
+ acceptsResult: false
979
967
  }],
980
968
  toolDefinition: {
981
969
  name: "memory",
@@ -993,7 +981,6 @@ const memory = __AgencyFunction.create({
993
981
  @param block - The code to run with the configuration active`,
994
982
  schema: z.object({ "config": MemoryConfig })
995
983
  },
996
- safe: false,
997
984
  exported: true
998
985
  }, __toolRegistry);
999
986
  async function __remember_impl(content) {
@@ -1009,7 +996,7 @@ async function __remember_impl(content) {
1009
996
  }
1010
997
  let __funcStartTime = performance.now();
1011
998
  __stack.args["content"] = content;
1012
- __self.__retryable = __self.__retryable ?? true;
999
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
1013
1000
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "remember", threads: __setupData.threads });
1014
1001
  let __resultCheckpointId = -1;
1015
1002
  if (__ctx._pendingArgOverrides) {
@@ -1051,7 +1038,7 @@ async function __remember_impl(content) {
1051
1038
  if (__response) {
1052
1039
  if (__response.type === "approve") {
1053
1040
  } else if (__response.type === "reject") {
1054
- runner3.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
1041
+ runner3.halt(failure("interrupt rejected", { checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
1055
1042
  return;
1056
1043
  }
1057
1044
  } else {
@@ -1059,7 +1046,7 @@ async function __remember_impl(content) {
1059
1046
  "contentLength": __stack.args.content.length
1060
1047
  }, "std::memory", __ctx, __stateStack());
1061
1048
  if (isRejected(__handlerResult)) {
1062
- runner3.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
1049
+ runner3.halt(failure(__handlerResult.value ?? "interrupt rejected", { checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
1063
1050
  return;
1064
1051
  }
1065
1052
  if (!isApproved(__handlerResult)) {
@@ -1074,7 +1061,7 @@ async function __remember_impl(content) {
1074
1061
  });
1075
1062
  await runner2.thread(1, "create", async () => ({}), async (runner3) => {
1076
1063
  await runner3.step(0, async (runner4) => {
1077
- __self.__retryable = false;
1064
+ __self.__destructiveRan = true;
1078
1065
  __stack.locals.prompt = await __call(_buildExtractionPrompt, {
1079
1066
  type: "positional",
1080
1067
  args: [__stack.args.content]
@@ -1103,33 +1090,53 @@ async function __remember_impl(content) {
1103
1090
  runner4.halt(__stack.locals.result);
1104
1091
  return;
1105
1092
  }
1093
+ __stack.locals.result = __validateType(__stack.locals.result, ExtractionResult);
1106
1094
  });
1107
- await runner3.step(2, async (runner4) => {
1108
- __self.__retryable = false;
1109
- const __funcResult = await __call(_applyExtractionResult, {
1110
- type: "positional",
1111
- args: [__stack.locals.result]
1112
- });
1113
- if (hasInterrupts(__funcResult)) {
1114
- await getRuntimeContext().ctx.pendingPromises.awaitAll();
1115
- runner4.halt(__funcResult);
1116
- return;
1095
+ await runner3.ifElse(2, [
1096
+ {
1097
+ condition: async () => await isSuccess(__stack.locals.result),
1098
+ body: async (runner4) => {
1099
+ await runner4.step(0, async (runner5) => {
1100
+ __stack.locals.extraction = __stack.locals.result.value;
1101
+ });
1102
+ await runner4.step(1, async (runner5) => {
1103
+ __self.__destructiveRan = true;
1104
+ const __funcResult = await __call(_applyExtractionResult, {
1105
+ type: "positional",
1106
+ args: [__stack.locals.extraction]
1107
+ });
1108
+ if (hasInterrupts(__funcResult)) {
1109
+ await getRuntimeContext().ctx.pendingPromises.awaitAll();
1110
+ runner5.halt(__funcResult);
1111
+ return;
1112
+ }
1113
+ });
1114
+ }
1117
1115
  }
1116
+ ], async (runner4) => {
1117
+ await runner4.step(2, async (runner5) => {
1118
+ __functionCompleted = true;
1119
+ runner5.halt(__stack.locals.result);
1120
+ return;
1121
+ });
1122
+ });
1123
+ await runner3.step(3, async (runner4) => {
1124
+ __self.__destructiveRan = true;
1118
1125
  });
1119
1126
  });
1120
1127
  await runner2.step(2, async (runner3) => {
1121
- __self.__retryable = false;
1128
+ __self.__destructiveRan = true;
1122
1129
  });
1123
1130
  }
1124
1131
  }
1125
1132
  ]);
1126
1133
  await runner.step(2, async (runner2) => {
1127
- __self.__retryable = false;
1134
+ __self.__destructiveRan = true;
1128
1135
  });
1129
1136
  });
1130
1137
  if (runner.halted) {
1131
1138
  if (isFailure(runner.haltResult)) {
1132
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
1139
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
1133
1140
  }
1134
1141
  return runner.haltResult;
1135
1142
  }
@@ -1149,15 +1156,14 @@ async function __remember_impl(content) {
1149
1156
  __ctx.statelogClient?.error?.({
1150
1157
  errorType: "runtimeError",
1151
1158
  message: __errMsg,
1152
- functionName: "remember",
1153
- retryable: __self.__retryable
1159
+ functionName: "remember"
1154
1160
  });
1155
1161
  }
1156
1162
  return failure(
1157
1163
  __error instanceof Error ? __error.message : String(__error),
1158
1164
  {
1159
1165
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
1160
- retryable: __self.__retryable,
1166
+ destructiveRan: __self.__destructiveRan,
1161
1167
  functionName: "remember",
1162
1168
  args: __stack.args
1163
1169
  }
@@ -1184,7 +1190,8 @@ const remember = __AgencyFunction.create({
1184
1190
  hasDefault: false,
1185
1191
  defaultValue: void 0,
1186
1192
  variadic: false,
1187
- isFunctionTyped: false
1193
+ isFunctionTyped: false,
1194
+ acceptsResult: false
1188
1195
  }],
1189
1196
  toolDefinition: {
1190
1197
  name: "remember",
@@ -1194,8 +1201,10 @@ const remember = __AgencyFunction.create({
1194
1201
  @param content - Natural language text containing facts to remember`,
1195
1202
  schema: z.object({ "content": z.string() })
1196
1203
  },
1197
- safe: false,
1198
- exported: true
1204
+ exported: true,
1205
+ markers: {
1206
+ destructive: true
1207
+ }
1199
1208
  }, __toolRegistry);
1200
1209
  async function __recall_impl(query) {
1201
1210
  const __setupData = setupFunction();
@@ -1210,7 +1219,7 @@ async function __recall_impl(query) {
1210
1219
  }
1211
1220
  let __funcStartTime = performance.now();
1212
1221
  __stack.args["query"] = query;
1213
- __self.__retryable = __self.__retryable ?? true;
1222
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
1214
1223
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "recall", threads: __setupData.threads });
1215
1224
  let __resultCheckpointId = -1;
1216
1225
  if (__ctx._pendingArgOverrides) {
@@ -1245,7 +1254,7 @@ async function __recall_impl(query) {
1245
1254
  if (__response) {
1246
1255
  if (__response.type === "approve") {
1247
1256
  } else if (__response.type === "reject") {
1248
- runner2.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
1257
+ runner2.halt(failure("interrupt rejected", { checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
1249
1258
  return;
1250
1259
  }
1251
1260
  } else {
@@ -1253,7 +1262,7 @@ async function __recall_impl(query) {
1253
1262
  "query": __stack.args.query
1254
1263
  }, "std::memory", __ctx, __stateStack());
1255
1264
  if (isRejected(__handlerResult)) {
1256
- runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
1265
+ runner2.halt(failure(__handlerResult.value ?? "interrupt rejected", { checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
1257
1266
  return;
1258
1267
  }
1259
1268
  if (!isApproved(__handlerResult)) {
@@ -1277,7 +1286,7 @@ async function __recall_impl(query) {
1277
1286
  });
1278
1287
  if (runner.halted) {
1279
1288
  if (isFailure(runner.haltResult)) {
1280
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
1289
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
1281
1290
  }
1282
1291
  return runner.haltResult;
1283
1292
  }
@@ -1297,15 +1306,14 @@ async function __recall_impl(query) {
1297
1306
  __ctx.statelogClient?.error?.({
1298
1307
  errorType: "runtimeError",
1299
1308
  message: __errMsg,
1300
- functionName: "recall",
1301
- retryable: __self.__retryable
1309
+ functionName: "recall"
1302
1310
  });
1303
1311
  }
1304
1312
  return failure(
1305
1313
  __error instanceof Error ? __error.message : String(__error),
1306
1314
  {
1307
1315
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
1308
- retryable: __self.__retryable,
1316
+ destructiveRan: __self.__destructiveRan,
1309
1317
  functionName: "recall",
1310
1318
  args: __stack.args
1311
1319
  }
@@ -1332,7 +1340,8 @@ const recall = __AgencyFunction.create({
1332
1340
  hasDefault: false,
1333
1341
  defaultValue: void 0,
1334
1342
  variadic: false,
1335
- isFunctionTyped: false
1343
+ isFunctionTyped: false,
1344
+ acceptsResult: false
1336
1345
  }],
1337
1346
  toolDefinition: {
1338
1347
  name: "recall",
@@ -1346,7 +1355,6 @@ const recall = __AgencyFunction.create({
1346
1355
  @param query - A natural language query describing what to recall`,
1347
1356
  schema: z.object({ "query": z.string() })
1348
1357
  },
1349
- safe: true,
1350
1358
  exported: true
1351
1359
  }, __toolRegistry);
1352
1360
  async function __forget_impl(query) {
@@ -1362,7 +1370,7 @@ async function __forget_impl(query) {
1362
1370
  }
1363
1371
  let __funcStartTime = performance.now();
1364
1372
  __stack.args["query"] = query;
1365
- __self.__retryable = __self.__retryable ?? true;
1373
+ __self.__destructiveRan = __self.__destructiveRan ?? false;
1366
1374
  const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/memory.agency", scopeName: "forget", threads: __setupData.threads });
1367
1375
  let __resultCheckpointId = -1;
1368
1376
  if (__ctx._pendingArgOverrides) {
@@ -1404,7 +1412,7 @@ async function __forget_impl(query) {
1404
1412
  if (__response) {
1405
1413
  if (__response.type === "approve") {
1406
1414
  } else if (__response.type === "reject") {
1407
- runner3.halt(failure("interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
1415
+ runner3.halt(failure("interrupt rejected", { checkpoint: getRuntimeContext().ctx.getResultCheckpoint() }));
1408
1416
  return;
1409
1417
  }
1410
1418
  } else {
@@ -1412,7 +1420,7 @@ async function __forget_impl(query) {
1412
1420
  "query": __stack.args.query
1413
1421
  }, "std::memory", __ctx, __stateStack());
1414
1422
  if (isRejected(__handlerResult)) {
1415
- runner3.halt(failure(__handlerResult.value ?? "interrupt rejected", { retryable: false, checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
1423
+ runner3.halt(failure(__handlerResult.value ?? "interrupt rejected", { checkpoint: getRuntimeContext().ctx.checkpoints.get(__resultCheckpointId) }));
1416
1424
  return;
1417
1425
  }
1418
1426
  if (!isApproved(__handlerResult)) {
@@ -1427,7 +1435,6 @@ async function __forget_impl(query) {
1427
1435
  });
1428
1436
  await runner2.thread(1, "create", async () => ({}), async (runner3) => {
1429
1437
  await runner3.step(0, async (runner4) => {
1430
- __self.__retryable = false;
1431
1438
  __stack.locals.prompt = await __call(_buildForgetPrompt, {
1432
1439
  type: "positional",
1433
1440
  args: [__stack.args.query]
@@ -1456,33 +1463,43 @@ async function __forget_impl(query) {
1456
1463
  runner4.halt(__stack.locals.result);
1457
1464
  return;
1458
1465
  }
1466
+ __stack.locals.result = __validateType(__stack.locals.result, ForgetResult);
1459
1467
  });
1460
- await runner3.step(2, async (runner4) => {
1461
- __self.__retryable = false;
1462
- const __funcResult = await __call(_applyForgetResult, {
1463
- type: "positional",
1464
- args: [__stack.locals.result]
1465
- });
1466
- if (hasInterrupts(__funcResult)) {
1467
- await getRuntimeContext().ctx.pendingPromises.awaitAll();
1468
- runner4.halt(__funcResult);
1469
- return;
1468
+ await runner3.ifElse(2, [
1469
+ {
1470
+ condition: async () => await isSuccess(__stack.locals.result),
1471
+ body: async (runner4) => {
1472
+ await runner4.step(0, async (runner5) => {
1473
+ __stack.locals.forgetPlan = __stack.locals.result.value;
1474
+ });
1475
+ await runner4.step(1, async (runner5) => {
1476
+ const __funcResult = await __call(_applyForgetResult, {
1477
+ type: "positional",
1478
+ args: [__stack.locals.forgetPlan]
1479
+ });
1480
+ if (hasInterrupts(__funcResult)) {
1481
+ await getRuntimeContext().ctx.pendingPromises.awaitAll();
1482
+ runner5.halt(__funcResult);
1483
+ return;
1484
+ }
1485
+ });
1486
+ }
1470
1487
  }
1488
+ ], async (runner4) => {
1489
+ await runner4.step(2, async (runner5) => {
1490
+ __functionCompleted = true;
1491
+ runner5.halt(__stack.locals.result);
1492
+ return;
1493
+ });
1471
1494
  });
1472
1495
  });
1473
- await runner2.step(2, async (runner3) => {
1474
- __self.__retryable = false;
1475
- });
1476
1496
  }
1477
1497
  }
1478
1498
  ]);
1479
- await runner.step(2, async (runner2) => {
1480
- __self.__retryable = false;
1481
- });
1482
1499
  });
1483
1500
  if (runner.halted) {
1484
1501
  if (isFailure(runner.haltResult)) {
1485
- runner.haltResult.retryable = runner.haltResult.retryable && __self.__retryable;
1502
+ stampFailureBoundary(runner.haltResult, __self.__destructiveRan);
1486
1503
  }
1487
1504
  return runner.haltResult;
1488
1505
  }
@@ -1502,15 +1519,14 @@ async function __forget_impl(query) {
1502
1519
  __ctx.statelogClient?.error?.({
1503
1520
  errorType: "runtimeError",
1504
1521
  message: __errMsg,
1505
- functionName: "forget",
1506
- retryable: __self.__retryable
1522
+ functionName: "forget"
1507
1523
  });
1508
1524
  }
1509
1525
  return failure(
1510
1526
  __error instanceof Error ? __error.message : String(__error),
1511
1527
  {
1512
1528
  checkpoint: getRuntimeContext().ctx.getResultCheckpoint(),
1513
- retryable: __self.__retryable,
1529
+ destructiveRan: __self.__destructiveRan,
1514
1530
  functionName: "forget",
1515
1531
  args: __stack.args
1516
1532
  }
@@ -1537,7 +1553,8 @@ const forget = __AgencyFunction.create({
1537
1553
  hasDefault: false,
1538
1554
  defaultValue: void 0,
1539
1555
  variadic: false,
1540
- isFunctionTyped: false
1556
+ isFunctionTyped: false,
1557
+ acceptsResult: false
1541
1558
  }],
1542
1559
  toolDefinition: {
1543
1560
  name: "forget",
@@ -1548,11 +1565,10 @@ const forget = __AgencyFunction.create({
1548
1565
  @param query - A natural language description of what to forget`,
1549
1566
  schema: z.object({ "query": z.string() })
1550
1567
  },
1551
- safe: false,
1552
1568
  exported: true
1553
1569
  }, __toolRegistry);
1554
1570
  var stdin_default = graph;
1555
- const __sourceMap = { "stdlib/memory.agency:isMemoryActive": { "1": { "line": 84, "col": 2 } }, "stdlib/memory.agency:setMemoryId": { "1": { "line": 101, "col": 2 } }, "stdlib/memory.agency:getMemoryId": { "1": { "line": 111, "col": 2 } }, "stdlib/memory.agency:enableMemory": { "1": { "line": 136, "col": 2 }, "2": { "line": 140, "col": 2 } }, "stdlib/memory.agency:disableMemory": { "1": { "line": 154, "col": 2 }, "2": { "line": 156, "col": 2 } }, "stdlib/memory.agency:memory": { "1": { "line": 174, "col": 2 }, "2": { "line": 175, "col": 2 }, "3": { "line": 176, "col": 2 }, "5": { "line": 179, "col": 2 }, "3.0": { "line": 177, "col": 4 } }, "stdlib/memory.agency:remember": { "1": { "line": 189, "col": 2 }, "1.0": { "line": 190, "col": 4 }, "1.1.0": { "line": 195, "col": 6 }, "1.1.1": { "line": 196, "col": 6 }, "1.1.2": { "line": 197, "col": 6 }, "1.1": { "line": 194, "col": 4 } }, "stdlib/memory.agency:recall": { "1": { "line": 213, "col": 2 }, "2": { "line": 217, "col": 2 } }, "stdlib/memory.agency:forget": { "1": { "line": 228, "col": 2 }, "1.0": { "line": 229, "col": 4 }, "1.1.0": { "line": 234, "col": 6 }, "1.1.1": { "line": 235, "col": 6 }, "1.1.2": { "line": 236, "col": 6 }, "1.1": { "line": 233, "col": 4 } } };
1571
+ const __sourceMap = { "stdlib/memory.agency:isMemoryActive": { "1": { "line": 84, "col": 2 } }, "stdlib/memory.agency:setMemoryId": { "1": { "line": 101, "col": 2 } }, "stdlib/memory.agency:getMemoryId": { "1": { "line": 111, "col": 2 } }, "stdlib/memory.agency:enableMemory": { "1": { "line": 136, "col": 2 }, "2": { "line": 140, "col": 2 } }, "stdlib/memory.agency:disableMemory": { "1": { "line": 154, "col": 2 }, "2": { "line": 156, "col": 2 } }, "stdlib/memory.agency:memory": { "1": { "line": 174, "col": 2 }, "2": { "line": 175, "col": 2 }, "3": { "line": 176, "col": 2 }, "4": { "line": 179, "col": 2 }, "3.0": { "line": 177, "col": 4 } }, "stdlib/memory.agency:remember": { "1": { "line": 189, "col": 2 }, "1.0": { "line": 190, "col": 4 }, "1.1.0": { "line": 195, "col": 6 }, "1.1.1": { "line": 200, "col": 6 }, "1.1.2.0": { "line": 201, "col": 6 }, "1.1.2.1": { "line": 202, "col": 8 }, "1.1.2.2": { "line": 204, "col": 8 }, "1.1.2": { "line": 201, "col": 6 }, "1.1": { "line": 194, "col": 4 } }, "stdlib/memory.agency:recall": { "1": { "line": 221, "col": 2 }, "2": { "line": 225, "col": 2 } }, "stdlib/memory.agency:forget": { "1": { "line": 236, "col": 2 }, "1.0": { "line": 237, "col": 4 }, "1.1.0": { "line": 242, "col": 6 }, "1.1.1": { "line": 245, "col": 6 }, "1.1.2.0": { "line": 246, "col": 6 }, "1.1.2.1": { "line": 247, "col": 8 }, "1.1.2.2": { "line": 249, "col": 8 }, "1.1.2": { "line": 246, "col": 6 }, "1.1": { "line": 241, "col": 4 } } };
1556
1572
  export {
1557
1573
  MemoryConfig,
1558
1574
  __getCheckpoints,