agency-lang 0.6.5 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/dist/lib/agents/agency-agent/agent.agency +704 -57
  2. package/dist/lib/agents/agency-agent/agent.js +5429 -2028
  3. package/dist/lib/agents/agency-agent/images/images.js +36 -15
  4. package/dist/lib/agents/agency-agent/lib/attachments.agency +115 -0
  5. package/dist/lib/agents/agency-agent/lib/attachments.js +791 -0
  6. package/dist/lib/agents/agency-agent/lib/config.agency +7 -0
  7. package/dist/lib/agents/agency-agent/lib/config.js +58 -15
  8. package/dist/lib/agents/agency-agent/lib/defaultPolicy.agency +134 -1
  9. package/dist/lib/agents/agency-agent/lib/defaultPolicy.js +828 -19
  10. package/dist/lib/agents/agency-agent/lib/modelFilters.agency +29 -0
  11. package/dist/lib/agents/agency-agent/lib/modelFilters.js +353 -0
  12. package/dist/lib/agents/agency-agent/lib/models.agency +214 -30
  13. package/dist/lib/agents/agency-agent/lib/models.js +1296 -278
  14. package/dist/lib/agents/agency-agent/lib/resolution.agency +191 -0
  15. package/dist/lib/agents/agency-agent/lib/resolution.js +1538 -0
  16. package/dist/lib/agents/agency-agent/lib/search.agency +471 -0
  17. package/dist/lib/agents/agency-agent/lib/search.js +2647 -0
  18. package/dist/lib/agents/agency-agent/lib/settings.agency +147 -0
  19. package/dist/lib/agents/agency-agent/lib/settings.js +956 -0
  20. package/dist/lib/agents/agency-agent/lib/slots.agency +34 -0
  21. package/dist/lib/agents/agency-agent/lib/slots.js +602 -0
  22. package/dist/lib/agents/agency-agent/lib/utils.js +39 -22
  23. package/dist/lib/agents/agency-agent/prompts/codeSample.agency +8 -4
  24. package/dist/lib/agents/agency-agent/prompts/codeSample.js +77 -45
  25. package/dist/lib/agents/agency-agent/prompts/design.md +13 -7
  26. package/dist/lib/agents/agency-agent/shared.agency +187 -27
  27. package/dist/lib/agents/agency-agent/shared.js +1399 -148
  28. package/dist/lib/agents/agency-agent/subagents/code.agency +46 -15
  29. package/dist/lib/agents/agency-agent/subagents/code.js +89 -49
  30. package/dist/lib/agents/agency-agent/subagents/explorer.agency +4 -2
  31. package/dist/lib/agents/agency-agent/subagents/explorer.js +58 -44
  32. package/dist/lib/agents/agency-agent/subagents/oracle.agency +4 -2
  33. package/dist/lib/agents/agency-agent/subagents/oracle.js +58 -44
  34. package/dist/lib/agents/agency-agent/subagents/research.agency +9 -10
  35. package/dist/lib/agents/agency-agent/subagents/research.js +56 -40
  36. package/dist/lib/agents/agency-agent/subagents/review.js +45 -28
  37. package/dist/lib/agents/agency-agent/subagents/shell.js +446 -0
  38. package/dist/lib/agents/agency-agent/tests/agentTurn.agency +222 -1
  39. package/dist/lib/agents/agency-agent/tests/agentTurn.js +2303 -30
  40. package/dist/lib/agents/agency-agent/tests/agentTurn.test.json +17 -1
  41. package/dist/lib/agents/agency-agent/tests/attachments.agency +187 -0
  42. package/dist/lib/agents/agency-agent/tests/attachments.js +3736 -0
  43. package/dist/lib/agents/agency-agent/tests/attachments.test.json +254 -0
  44. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.agency +65 -0
  45. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +1032 -0
  46. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.test.json +110 -0
  47. package/dist/lib/agents/agency-agent/tests/execPolicy.js +47 -25
  48. package/dist/lib/agents/agency-agent/tests/gitPolicy.agency +53 -0
  49. package/dist/lib/agents/agency-agent/tests/gitPolicy.js +694 -0
  50. package/dist/lib/agents/agency-agent/tests/gitPolicy.test.json +7 -0
  51. package/dist/lib/agents/agency-agent/tests/imageTool.agency +51 -0
  52. package/dist/lib/agents/agency-agent/tests/imageTool.js +1111 -0
  53. package/dist/lib/agents/agency-agent/tests/imageTool.test.json +81 -0
  54. package/dist/lib/agents/agency-agent/tests/modelFilters.agency +32 -0
  55. package/dist/lib/agents/agency-agent/tests/modelFilters.js +723 -0
  56. package/dist/lib/agents/agency-agent/tests/modelFilters.test.json +7 -0
  57. package/dist/lib/agents/agency-agent/tests/models.agency +114 -0
  58. package/dist/lib/agents/agency-agent/tests/models.js +2143 -0
  59. package/dist/lib/agents/agency-agent/tests/models.test.json +49 -0
  60. package/dist/lib/agents/agency-agent/tests/resolution.agency +184 -0
  61. package/dist/lib/agents/agency-agent/tests/resolution.js +1498 -0
  62. package/dist/lib/agents/agency-agent/tests/resolution.test.json +13 -0
  63. package/dist/lib/agents/agency-agent/tests/search.agency +101 -0
  64. package/dist/lib/agents/agency-agent/tests/search.js +2095 -0
  65. package/dist/lib/agents/agency-agent/tests/search.test.json +19 -0
  66. package/dist/lib/agents/agency-agent/tests/settings.agency +87 -0
  67. package/dist/lib/agents/agency-agent/tests/settings.js +978 -0
  68. package/dist/lib/agents/agency-agent/tests/settings.test.json +26 -0
  69. package/dist/lib/agents/agency-agent/tests/slots.agency +22 -0
  70. package/dist/lib/agents/agency-agent/tests/slots.js +648 -0
  71. package/dist/lib/agents/agency-agent/tests/slots.test.json +10 -0
  72. package/dist/lib/agents/agency-agent/tests/toolWiring.js +41 -15
  73. package/dist/lib/agents/agency-agent/tests/turnFailure.agency +35 -0
  74. package/dist/lib/agents/agency-agent/tests/turnFailure.js +694 -0
  75. package/dist/lib/agents/agency-agent/tests/turnFailure.test.json +34 -0
  76. package/dist/lib/agents/docs/cli/editor-integration.md +1 -1
  77. package/dist/lib/agents/docs/cli/local.md +92 -0
  78. package/dist/lib/agents/docs/cli/models.md +63 -0
  79. package/dist/lib/agents/docs/cli/optimize.md +33 -1
  80. package/dist/lib/agents/docs/cli/run.md +0 -29
  81. package/dist/lib/agents/docs/guide/agency-config-file.md +205 -3
  82. package/dist/lib/agents/docs/guide/agency-packages.md +54 -0
  83. package/dist/lib/agents/docs/guide/agency-stdlib.md +14 -0
  84. package/dist/lib/agents/docs/guide/agency-vs-typescript.md +33 -0
  85. package/dist/lib/agents/docs/guide/attachments.md +56 -0
  86. package/dist/lib/agents/docs/guide/basic-syntax.md +204 -72
  87. package/dist/lib/agents/docs/guide/blocks.md +64 -34
  88. package/dist/lib/agents/docs/guide/build-integration.md +99 -0
  89. package/dist/lib/agents/docs/{appendix/appendix → guide}/builtins.md +27 -4
  90. package/dist/lib/agents/docs/{appendix/appendix → guide}/callbacks.md +43 -36
  91. package/dist/lib/agents/docs/guide/checkpointing.md +56 -27
  92. package/dist/lib/agents/docs/guide/cli-args.md +1 -1
  93. package/dist/lib/agents/docs/guide/common-functions.md +36 -0
  94. package/dist/lib/agents/docs/guide/compiling-and-running.md +62 -0
  95. package/dist/lib/agents/docs/guide/concurrency.md +49 -92
  96. package/dist/lib/agents/docs/guide/cross-thread-context.md +5 -7
  97. package/dist/lib/agents/docs/guide/custom-providers.md +195 -0
  98. package/dist/lib/agents/docs/guide/debugging.md +67 -0
  99. package/dist/lib/agents/docs/guide/developer-tools.md +90 -0
  100. package/dist/lib/agents/docs/guide/effects-and-raises.md +73 -92
  101. package/dist/lib/agents/docs/guide/effects.md +100 -0
  102. package/dist/lib/agents/docs/guide/error-handling.md +56 -44
  103. package/dist/lib/agents/docs/guide/exercise-1.md +32 -0
  104. package/dist/lib/agents/docs/guide/functions.md +71 -10
  105. package/dist/lib/agents/docs/guide/getting-started.md +5 -12
  106. package/dist/lib/agents/docs/guide/global-var-initialization.md +70 -0
  107. package/dist/lib/agents/docs/guide/global-vs-static.md +29 -34
  108. package/dist/lib/agents/docs/guide/guards.md +57 -108
  109. package/dist/lib/agents/docs/guide/handlers.md +109 -205
  110. package/dist/lib/agents/docs/guide/image-generation.md +113 -0
  111. package/dist/lib/agents/docs/guide/imports-and-packages.md +35 -95
  112. package/dist/lib/agents/docs/guide/interrupts-from-typescript.md +84 -0
  113. package/dist/lib/agents/docs/guide/interrupts-part-2.md +54 -0
  114. package/dist/lib/agents/docs/guide/interrupts.md +98 -58
  115. package/dist/lib/agents/docs/guide/llm-part-2.md +111 -0
  116. package/dist/lib/agents/docs/guide/llm.md +53 -144
  117. package/dist/lib/agents/docs/guide/memory.md +262 -249
  118. package/dist/lib/agents/docs/guide/message-threads.md +111 -0
  119. package/dist/lib/agents/docs/guide/nodes.md +32 -17
  120. package/dist/lib/agents/docs/guide/observability.md +11 -4
  121. package/dist/lib/agents/docs/guide/partial-application.md +40 -132
  122. package/dist/lib/agents/docs/guide/pattern-matching.md +216 -43
  123. package/dist/lib/agents/docs/guide/policies.md +11 -4
  124. package/dist/lib/agents/docs/guide/schemas.md +22 -9
  125. package/dist/lib/agents/docs/guide/state-isolation.md +139 -0
  126. package/dist/lib/agents/docs/guide/streaming.md +28 -0
  127. package/dist/lib/agents/docs/guide/tags.md +72 -0
  128. package/dist/lib/agents/docs/guide/testing.md +167 -7
  129. package/dist/lib/agents/docs/guide/troubleshooting.md +2 -53
  130. package/dist/lib/agents/docs/{appendix/appendix → guide}/ts-helpers.md +48 -0
  131. package/dist/lib/agents/docs/guide/ts-interop.md +16 -129
  132. package/dist/lib/agents/docs/guide/type-validation.md +30 -172
  133. package/dist/lib/agents/docs/guide/types.md +69 -84
  134. package/dist/lib/agents/docs/guide/{guide/ts-interop.md → unused.md} +42 -49
  135. package/dist/lib/agents/docs/guide/unused2.md +258 -0
  136. package/dist/lib/agents/docs/guide/value-parameterized-types.md +186 -0
  137. package/dist/lib/agents/docs/guide/vscode-extension.md +33 -0
  138. package/dist/lib/agents/docs/guide/why-agency.md +323 -0
  139. package/dist/lib/agents/eval/goalJudge.js +35 -14
  140. package/dist/lib/agents/eval/judge.js +35 -14
  141. package/dist/lib/agents/eval/judgePairwise.agency +2 -2
  142. package/dist/lib/agents/eval/judgePairwise.js +35 -14
  143. package/dist/lib/agents/optimize/gepaReflect.js +35 -14
  144. package/dist/lib/agents/optimize/mutatePrompt.agency +2 -0
  145. package/dist/lib/agents/optimize/mutatePrompt.js +38 -15
  146. package/dist/lib/agents/policy/agent.agency +2 -2
  147. package/dist/lib/agents/policy/agent.js +94 -58
  148. package/dist/lib/agents/review/agent.js +44 -22
  149. package/dist/lib/backends/agencyGenerator.d.ts +14 -2
  150. package/dist/lib/backends/agencyGenerator.js +158 -53
  151. package/dist/lib/backends/agencyGenerator.matchBlock.test.js +106 -0
  152. package/dist/lib/backends/agencyGenerator.test.js +148 -0
  153. package/dist/lib/backends/effectDeclarationFormat.test.d.ts +1 -0
  154. package/dist/lib/backends/effectDeclarationFormat.test.js +32 -0
  155. package/dist/lib/backends/llmAttachmentCodegen.test.d.ts +1 -0
  156. package/dist/lib/backends/llmAttachmentCodegen.test.js +24 -0
  157. package/dist/lib/backends/llmNamedArgsCodegen.test.d.ts +1 -0
  158. package/dist/lib/backends/llmNamedArgsCodegen.test.js +40 -0
  159. package/dist/lib/backends/providerModules.codegen.test.d.ts +1 -0
  160. package/dist/lib/backends/{anthropicApiKey.codegen.test.js → providerModules.codegen.test.js} +12 -15
  161. package/dist/lib/backends/smoltalkDefaults.codegen.test.d.ts +1 -0
  162. package/dist/lib/backends/smoltalkDefaults.codegen.test.js +65 -0
  163. package/dist/lib/backends/typescriptBuilder.d.ts +82 -0
  164. package/dist/lib/backends/typescriptBuilder.integration.test.js +94 -4
  165. package/dist/lib/backends/typescriptBuilder.js +499 -158
  166. package/dist/lib/backends/typescriptGenerator/typeToString.js +8 -2
  167. package/dist/lib/backends/typescriptGenerator/typeToZodSchema.js +25 -28
  168. package/dist/lib/backends/typescriptGenerator/typeToZodSchema.test.js +73 -0
  169. package/dist/lib/cli/commands.d.ts +28 -0
  170. package/dist/lib/cli/commands.js +53 -4
  171. package/dist/lib/cli/doc.js +19 -0
  172. package/dist/lib/cli/doc.test.js +27 -1
  173. package/dist/lib/cli/fetchMockResolve.d.ts +6 -0
  174. package/dist/lib/cli/fetchMockResolve.js +51 -0
  175. package/dist/lib/cli/fetchMockResolve.test.d.ts +1 -0
  176. package/dist/lib/cli/fetchMockResolve.test.js +36 -0
  177. package/dist/lib/cli/hostedModels.d.ts +10 -0
  178. package/dist/lib/cli/hostedModels.js +61 -0
  179. package/dist/lib/cli/hostedModels.test.d.ts +1 -0
  180. package/dist/lib/cli/hostedModels.test.js +105 -0
  181. package/dist/lib/cli/local.d.ts +19 -0
  182. package/dist/lib/cli/local.js +109 -0
  183. package/dist/lib/cli/local.test.d.ts +1 -0
  184. package/dist/lib/cli/local.test.js +50 -0
  185. package/dist/lib/cli/pack.test.js +18 -0
  186. package/dist/lib/cli/precompile.d.ts +22 -0
  187. package/dist/lib/cli/precompile.js +125 -0
  188. package/dist/lib/cli/precompile.test.d.ts +1 -0
  189. package/dist/lib/cli/precompile.test.js +172 -0
  190. package/dist/lib/cli/test.js +55 -5
  191. package/dist/lib/cli/util.d.ts +8 -2
  192. package/dist/lib/cli/util.js +23 -6
  193. package/dist/lib/compiler/compile.js +5 -1
  194. package/dist/lib/compiler/compile.test.js +54 -1
  195. package/dist/lib/compiler/compileClosure.js +8 -9
  196. package/dist/lib/compiler/typecheck.js +10 -3
  197. package/dist/lib/config.d.ts +114 -6
  198. package/dist/lib/config.js +39 -3
  199. package/dist/lib/config.modelAliases.test.d.ts +1 -0
  200. package/dist/lib/config.modelAliases.test.js +11 -0
  201. package/dist/lib/config.providerModules.test.d.ts +1 -0
  202. package/dist/lib/config.providerModules.test.js +16 -0
  203. package/dist/lib/config.test.js +12 -0
  204. package/dist/lib/constants.d.ts +12 -0
  205. package/dist/lib/constants.js +12 -0
  206. package/dist/lib/effectDeclCollection.test.d.ts +1 -0
  207. package/dist/lib/effectDeclCollection.test.js +56 -0
  208. package/dist/lib/importPaths.d.ts +31 -1
  209. package/dist/lib/importPaths.js +88 -32
  210. package/dist/lib/importPaths.test.js +47 -4
  211. package/dist/lib/ir/builders.d.ts +6 -1
  212. package/dist/lib/ir/builders.js +3 -0
  213. package/dist/lib/ir/prettyPrint.js +56 -10
  214. package/dist/lib/ir/prettyPrint.test.js +70 -7
  215. package/dist/lib/ir/tsIR.d.ts +12 -2
  216. package/dist/lib/logsViewer/render.js +2 -0
  217. package/dist/lib/logsViewer/summary.js +13 -0
  218. package/dist/lib/logsViewer/summary.test.js +6 -0
  219. package/dist/lib/logsViewer/tree.js +38 -0
  220. package/dist/lib/logsViewer/tree.test.js +19 -0
  221. package/dist/lib/lowering/loweringError.d.ts +10 -0
  222. package/dist/lib/lowering/loweringError.js +13 -0
  223. package/dist/lib/lowering/patternLowering.ifExpr.test.d.ts +1 -0
  224. package/dist/lib/lowering/patternLowering.ifExpr.test.js +59 -0
  225. package/dist/lib/lowering/patternLowering.js +504 -30
  226. package/dist/lib/lowering/patternLowering.matchExpr.test.d.ts +1 -0
  227. package/dist/lib/lowering/patternLowering.matchExpr.test.js +572 -0
  228. package/dist/lib/lowering/patternLowering.test.js +102 -10
  229. package/dist/lib/lsp/codeAction.js +3 -3
  230. package/dist/lib/lsp/codeAction.test.js +13 -10
  231. package/dist/lib/lsp/completion.js +2 -2
  232. package/dist/lib/lsp/diagnostics.js +11 -4
  233. package/dist/lib/lsp/diagnostics.test.js +30 -0
  234. package/dist/lib/matchVal.d.ts +18 -0
  235. package/dist/lib/matchVal.js +26 -0
  236. package/dist/lib/optimize/artifacts.test.js +4 -1
  237. package/dist/lib/optimize/baseOptimizer.js +9 -1
  238. package/dist/lib/optimize/baseOptimizer.test.js +4 -1
  239. package/dist/lib/optimize/baseOptimizer.workdir.test.js +1 -1
  240. package/dist/lib/optimize/constraint.d.ts +45 -0
  241. package/dist/lib/optimize/constraint.js +78 -0
  242. package/dist/lib/optimize/constraint.test.d.ts +1 -0
  243. package/dist/lib/optimize/constraint.test.js +133 -0
  244. package/dist/lib/optimize/grading/scorecard.d.ts +6 -0
  245. package/dist/lib/optimize/grading/scorecard.js +8 -0
  246. package/dist/lib/optimize/mutator.js +2 -0
  247. package/dist/lib/optimize/mutator.test.js +37 -0
  248. package/dist/lib/optimize/optimizers/example.d.ts +4 -1
  249. package/dist/lib/optimize/optimizers/example.js +11 -12
  250. package/dist/lib/optimize/optimizers/example.test.js +2 -1
  251. package/dist/lib/optimize/optimizers/gepa.js +4 -0
  252. package/dist/lib/optimize/optimizers/gepa.test.js +2 -1
  253. package/dist/lib/optimize/optimizers/greedyReflective.js +3 -0
  254. package/dist/lib/optimize/optimizers/greedyReflective.test.js +100 -1
  255. package/dist/lib/optimize/reporter.test.js +2 -0
  256. package/dist/lib/optimize/sourceMutator.d.ts +8 -4
  257. package/dist/lib/optimize/sourceMutator.js +63 -13
  258. package/dist/lib/optimize/sourceMutator.test.js +117 -0
  259. package/dist/lib/optimize/targets.d.ts +16 -3
  260. package/dist/lib/optimize/targets.js +106 -10
  261. package/dist/lib/optimize/targets.test.js +79 -5
  262. package/dist/lib/optimize/types.d.ts +8 -1
  263. package/dist/lib/optimize/workspace.test.js +1 -0
  264. package/dist/lib/parseCache.d.ts +10 -0
  265. package/dist/lib/parseCache.js +58 -0
  266. package/dist/lib/parseCache.test.d.ts +1 -0
  267. package/dist/lib/parseCache.test.js +113 -0
  268. package/dist/lib/parser.js +27 -2
  269. package/dist/lib/parsers/dataStructures.test.js +86 -0
  270. package/dist/lib/parsers/debugMessagesLeak.test.d.ts +1 -0
  271. package/dist/lib/parsers/debugMessagesLeak.test.js +31 -0
  272. package/dist/lib/parsers/effectDeclaration.test.d.ts +1 -0
  273. package/dist/lib/parsers/effectDeclaration.test.js +107 -0
  274. package/dist/lib/parsers/function.test.js +39 -2
  275. package/dist/lib/parsers/ifExpression.test.d.ts +1 -0
  276. package/dist/lib/parsers/ifExpression.test.js +45 -0
  277. package/dist/lib/parsers/importStatement.test.js +49 -0
  278. package/dist/lib/parsers/literals.test.js +52 -0
  279. package/dist/lib/parsers/matchBlock.test.js +298 -59
  280. package/dist/lib/parsers/parsers.d.ts +21 -2
  281. package/dist/lib/parsers/parsers.js +232 -100
  282. package/dist/lib/parsers/pattern.test.js +10 -10
  283. package/dist/lib/parsers/typeHints.test.js +70 -0
  284. package/dist/lib/preprocessors/importResolver.d.ts +3 -1
  285. package/dist/lib/preprocessors/importResolver.js +37 -7
  286. package/dist/lib/preprocessors/importResolver.test.js +82 -0
  287. package/dist/lib/preprocessors/injectSchemaArgs.js +1 -2
  288. package/dist/lib/preprocessors/liftCallbacks.js +1 -1
  289. package/dist/lib/preprocessors/parallelDesugar.js +3 -2
  290. package/dist/lib/preprocessors/parallelDesugar.test.js +3 -2
  291. package/dist/lib/preprocessors/prunePreludeShadows.d.ts +22 -0
  292. package/dist/lib/preprocessors/prunePreludeShadows.js +55 -0
  293. package/dist/lib/preprocessors/prunePreludeShadows.test.d.ts +1 -0
  294. package/dist/lib/preprocessors/prunePreludeShadows.test.js +112 -0
  295. package/dist/lib/preprocessors/typescriptPreprocessor.core.test.js +25 -0
  296. package/dist/lib/preprocessors/typescriptPreprocessor.js +7 -5
  297. package/dist/lib/runtime/__tests__/testHelpers.js +0 -1
  298. package/dist/lib/runtime/agency.d.ts +3 -1
  299. package/dist/lib/runtime/agency.js +6 -7
  300. package/dist/lib/runtime/agencyFunction.js +13 -4
  301. package/dist/lib/runtime/agencyFunction.test.js +52 -0
  302. package/dist/lib/runtime/agencyInterrupt.test.js +91 -6
  303. package/dist/lib/runtime/agencyLlm.d.ts +6 -2
  304. package/dist/lib/runtime/agencyLlm.test.js +17 -0
  305. package/dist/lib/runtime/callDepth.d.ts +36 -0
  306. package/dist/lib/runtime/callDepth.js +76 -0
  307. package/dist/lib/runtime/callDepth.test.d.ts +1 -0
  308. package/dist/lib/runtime/callDepth.test.js +67 -0
  309. package/dist/lib/runtime/callbackForwarding.d.ts +47 -0
  310. package/dist/lib/runtime/callbackForwarding.js +76 -0
  311. package/dist/lib/runtime/callbackForwarding.test.d.ts +1 -0
  312. package/dist/lib/runtime/callbackForwarding.test.js +72 -0
  313. package/dist/lib/runtime/configOverrides.d.ts +17 -5
  314. package/dist/lib/runtime/configOverrides.js +28 -6
  315. package/dist/lib/runtime/configOverrides.test.js +33 -0
  316. package/dist/lib/runtime/cost.d.ts +10 -0
  317. package/dist/lib/runtime/cost.js +17 -0
  318. package/dist/lib/runtime/costTelemetry.d.ts +24 -0
  319. package/dist/lib/runtime/costTelemetry.js +39 -0
  320. package/dist/lib/runtime/costTelemetry.test.d.ts +1 -0
  321. package/dist/lib/runtime/costTelemetry.test.js +92 -0
  322. package/dist/lib/runtime/deterministicClient.d.ts +9 -2
  323. package/dist/lib/runtime/deterministicClient.js +21 -1
  324. package/dist/lib/runtime/deterministicClient.test.js +29 -0
  325. package/dist/lib/runtime/eq.d.ts +12 -0
  326. package/dist/lib/runtime/eq.js +14 -0
  327. package/dist/lib/runtime/eq.test.d.ts +1 -0
  328. package/dist/lib/runtime/eq.test.js +32 -0
  329. package/dist/lib/runtime/errors.d.ts +17 -0
  330. package/dist/lib/runtime/errors.js +23 -0
  331. package/dist/lib/runtime/errors.test.js +10 -0
  332. package/dist/lib/runtime/fetchMock.d.ts +12 -0
  333. package/dist/lib/runtime/fetchMock.js +167 -0
  334. package/dist/lib/runtime/fetchMock.test.d.ts +1 -0
  335. package/dist/lib/runtime/fetchMock.test.js +145 -0
  336. package/dist/lib/runtime/hooks.d.ts +9 -3
  337. package/dist/lib/runtime/hooks.js +19 -0
  338. package/dist/lib/runtime/hooks.test.js +39 -2
  339. package/dist/lib/runtime/image-client.test.d.ts +1 -0
  340. package/dist/lib/runtime/image-client.test.js +22 -0
  341. package/dist/lib/runtime/index.d.ts +4 -1
  342. package/dist/lib/runtime/index.js +3 -1
  343. package/dist/lib/runtime/interrupts.d.ts +50 -0
  344. package/dist/lib/runtime/interrupts.js +206 -126
  345. package/dist/lib/runtime/interrupts.test.js +110 -1
  346. package/dist/lib/runtime/ipc.configOverrides.test.js +35 -17
  347. package/dist/lib/runtime/ipc.d.ts +238 -21
  348. package/dist/lib/runtime/ipc.js +622 -95
  349. package/dist/lib/runtime/ipc.test.js +453 -2
  350. package/dist/lib/runtime/llmClient.d.ts +25 -3
  351. package/dist/lib/runtime/llmClient.hostedTools.test.d.ts +1 -0
  352. package/dist/lib/runtime/llmClient.hostedTools.test.js +45 -0
  353. package/dist/lib/runtime/llmClient.js +28 -12
  354. package/dist/lib/runtime/llmClient.test.js +48 -1
  355. package/dist/lib/runtime/memory/manager.d.ts +25 -0
  356. package/dist/lib/runtime/memory/manager.js +115 -14
  357. package/dist/lib/runtime/memory/manager.test.js +60 -21
  358. package/dist/lib/runtime/memory/types.d.ts +7 -0
  359. package/dist/lib/runtime/node.js +10 -1
  360. package/dist/lib/runtime/prompt.attachments.test.d.ts +1 -0
  361. package/dist/lib/runtime/prompt.attachments.test.js +41 -0
  362. package/dist/lib/runtime/prompt.d.ts +16 -1
  363. package/dist/lib/runtime/prompt.js +120 -25
  364. package/dist/lib/runtime/promptRunner.d.ts +1 -1
  365. package/dist/lib/runtime/promptRunner.js +1 -1
  366. package/dist/lib/runtime/providerModules.d.ts +27 -0
  367. package/dist/lib/runtime/providerModules.js +87 -0
  368. package/dist/lib/runtime/providerModules.test.d.ts +1 -0
  369. package/dist/lib/runtime/providerModules.test.js +90 -0
  370. package/dist/lib/runtime/redactForStatelog.d.ts +20 -0
  371. package/dist/lib/runtime/redactForStatelog.js +32 -0
  372. package/dist/lib/runtime/redactForStatelog.test.d.ts +1 -0
  373. package/dist/lib/runtime/redactForStatelog.test.js +84 -0
  374. package/dist/lib/runtime/replyAttachments.d.ts +46 -0
  375. package/dist/lib/runtime/replyAttachments.js +143 -0
  376. package/dist/lib/runtime/replyAttachments.test.d.ts +1 -0
  377. package/dist/lib/runtime/replyAttachments.test.js +205 -0
  378. package/dist/lib/runtime/result.js +8 -0
  379. package/dist/lib/runtime/revivers/index.js +2 -0
  380. package/dist/lib/runtime/revivers/taggedReviver.d.ts +8 -0
  381. package/dist/lib/runtime/revivers/taggedReviver.js +30 -0
  382. package/dist/lib/runtime/revivers/taggedReviver.test.d.ts +1 -0
  383. package/dist/lib/runtime/revivers/taggedReviver.test.js +42 -0
  384. package/dist/lib/runtime/runBatch.js +33 -16
  385. package/dist/lib/runtime/runBatch.test.js +62 -0
  386. package/dist/lib/runtime/runner.d.ts +27 -5
  387. package/dist/lib/runtime/runner.js +149 -54
  388. package/dist/lib/runtime/runner.test.js +217 -1
  389. package/dist/lib/runtime/simpleOpenAIClient.js +1 -1
  390. package/dist/lib/runtime/state/context.d.ts +22 -12
  391. package/dist/lib/runtime/state/context.js +43 -14
  392. package/dist/lib/runtime/state/context.providerModules.test.d.ts +1 -0
  393. package/dist/lib/runtime/state/context.providerModules.test.js +38 -0
  394. package/dist/lib/runtime/state/globalStore.d.ts +42 -0
  395. package/dist/lib/runtime/state/globalStore.js +187 -2
  396. package/dist/lib/runtime/state/globalStore.tags.test.d.ts +1 -0
  397. package/dist/lib/runtime/state/globalStore.tags.test.js +211 -0
  398. package/dist/lib/runtime/state/stateStack.d.ts +34 -0
  399. package/dist/lib/runtime/state/stateStack.js +46 -0
  400. package/dist/lib/runtime/state/tagSymbol.d.ts +6 -0
  401. package/dist/lib/runtime/state/tagSymbol.js +49 -0
  402. package/dist/lib/runtime/state/tagSymbol.test.d.ts +1 -0
  403. package/dist/lib/runtime/state/tagSymbol.test.js +60 -0
  404. package/dist/lib/runtime/streaming.d.ts +7 -2
  405. package/dist/lib/runtime/streaming.js +31 -8
  406. package/dist/lib/runtime/subprocess-bootstrap.js +90 -35
  407. package/dist/lib/runtime/subprocessRunInfo.d.ts +46 -0
  408. package/dist/lib/runtime/subprocessRunInfo.js +53 -0
  409. package/dist/lib/runtime/subprocessRunInfo.test.d.ts +1 -0
  410. package/dist/lib/runtime/subprocessRunInfo.test.js +32 -0
  411. package/dist/lib/runtime/topsortCycleErrors.test.js +69 -0
  412. package/dist/lib/runtime/utils.d.ts +16 -2
  413. package/dist/lib/runtime/utils.js +13 -4
  414. package/dist/lib/runtime/utils.test.js +27 -0
  415. package/dist/lib/statelogClient.d.ts +40 -1
  416. package/dist/lib/statelogClient.js +98 -1
  417. package/dist/lib/statelogClient.redaction.test.d.ts +1 -0
  418. package/dist/lib/statelogClient.redaction.test.js +131 -0
  419. package/dist/lib/statelogClient.test.js +13 -0
  420. package/dist/lib/stdlib/abortable.d.ts +6 -0
  421. package/dist/lib/stdlib/abortable.js +26 -1
  422. package/dist/lib/stdlib/agency.d.ts +7 -2
  423. package/dist/lib/stdlib/agency.js +17 -13
  424. package/dist/lib/stdlib/agencyEval.js +7 -1
  425. package/dist/lib/stdlib/args.d.ts +4 -1
  426. package/dist/lib/stdlib/args.js +68 -0
  427. package/dist/lib/stdlib/builtins.d.ts +2 -1
  428. package/dist/lib/stdlib/builtins.js +22 -13
  429. package/dist/lib/stdlib/cli.d.ts +65 -0
  430. package/dist/lib/stdlib/cli.js +217 -39
  431. package/dist/lib/stdlib/git.d.ts +29 -0
  432. package/dist/lib/stdlib/git.js +80 -0
  433. package/dist/lib/stdlib/gitCore.d.ts +132 -0
  434. package/dist/lib/stdlib/gitCore.js +231 -0
  435. package/dist/lib/stdlib/gitParse.d.ts +17 -0
  436. package/dist/lib/stdlib/gitParse.js +259 -0
  437. package/dist/lib/stdlib/http.d.ts +5 -4
  438. package/dist/lib/stdlib/http.js +42 -1
  439. package/dist/lib/stdlib/image.d.ts +7 -0
  440. package/dist/lib/stdlib/image.js +80 -0
  441. package/dist/lib/stdlib/layout/ansi.js +35 -3
  442. package/dist/lib/stdlib/layout/axis.js +14 -5
  443. package/dist/lib/stdlib/layout/barchart.js +5 -5
  444. package/dist/lib/stdlib/layout/block.js +2 -2
  445. package/dist/lib/stdlib/layout/border.js +2 -2
  446. package/dist/lib/stdlib/layout/box.js +12 -4
  447. package/dist/lib/stdlib/layout/nodes.d.ts +0 -1
  448. package/dist/lib/stdlib/layout/nodes.js +40 -17
  449. package/dist/lib/stdlib/layout/render.js +7 -3
  450. package/dist/lib/stdlib/layout/sizing.d.ts +1 -0
  451. package/dist/lib/stdlib/layout/sizing.js +1 -1
  452. package/dist/lib/stdlib/layout/table.js +11 -11
  453. package/dist/lib/stdlib/layout.js +1 -1
  454. package/dist/lib/stdlib/llm.d.ts +48 -0
  455. package/dist/lib/stdlib/llm.js +104 -0
  456. package/dist/lib/stdlib/localModels.d.ts +209 -0
  457. package/dist/lib/stdlib/localModels.js +904 -0
  458. package/dist/lib/stdlib/mediaPathScan.d.ts +31 -0
  459. package/dist/lib/stdlib/mediaPathScan.js +79 -0
  460. package/dist/lib/stdlib/providers/llama-cpp.mjs +79 -0
  461. package/dist/lib/stdlib/providers/llamaModelConfig.d.ts +7 -0
  462. package/dist/lib/stdlib/providers/llamaModelConfig.js +7 -0
  463. package/dist/lib/stdlib/search.d.ts +7 -0
  464. package/dist/lib/stdlib/search.js +40 -0
  465. package/dist/lib/stdlib/shell.d.ts +1 -1
  466. package/dist/lib/stdlib/shell.js +4 -2
  467. package/dist/lib/stdlib/tag.d.ts +17 -0
  468. package/dist/lib/stdlib/tag.js +49 -0
  469. package/dist/lib/stdlib/thread.d.ts +38 -3
  470. package/dist/lib/stdlib/thread.js +71 -2
  471. package/dist/lib/stdlib/threads.d.ts +12 -0
  472. package/dist/lib/stdlib/threads.js +48 -17
  473. package/dist/lib/stdlib/version.d.ts +1 -1
  474. package/dist/lib/stdlib/version.js +1 -1
  475. package/dist/lib/symbolTable.d.ts +10 -1
  476. package/dist/lib/symbolTable.js +27 -7
  477. package/dist/lib/templates/backends/agency/template.d.ts +1 -1
  478. package/dist/lib/templates/backends/agency/template.js +1 -1
  479. package/dist/lib/templates/backends/typescriptGenerator/imports.d.ts +1 -1
  480. package/dist/lib/templates/backends/typescriptGenerator/imports.js +14 -2
  481. package/dist/lib/templates/backends/typescriptGenerator/runnerIfElse.d.ts +2 -1
  482. package/dist/lib/templates/backends/typescriptGenerator/runnerIfElse.js +1 -1
  483. package/dist/lib/typeChecker/assignability.d.ts +8 -0
  484. package/dist/lib/typeChecker/assignability.js +26 -4
  485. package/dist/lib/typeChecker/assignability.test.js +59 -1
  486. package/dist/lib/typeChecker/attachments.test.d.ts +1 -0
  487. package/dist/lib/typeChecker/attachments.test.js +45 -0
  488. package/dist/lib/typeChecker/builtinNamedArgs.test.js +30 -0
  489. package/dist/lib/typeChecker/builtins.js +134 -62
  490. package/dist/lib/typeChecker/checker.d.ts +25 -0
  491. package/dist/lib/typeChecker/checker.js +41 -4
  492. package/dist/lib/typeChecker/definiteReturns.d.ts +16 -0
  493. package/dist/lib/typeChecker/definiteReturns.js +52 -0
  494. package/dist/lib/typeChecker/definiteReturns.test.d.ts +1 -0
  495. package/dist/lib/typeChecker/definiteReturns.test.js +203 -0
  496. package/dist/lib/typeChecker/effectPayloadCheck.d.ts +17 -0
  497. package/dist/lib/typeChecker/effectPayloadCheck.js +181 -0
  498. package/dist/lib/typeChecker/effectPayloadCheck.test.d.ts +1 -0
  499. package/dist/lib/typeChecker/effectPayloadCheck.test.js +192 -0
  500. package/dist/lib/typeChecker/flow.d.ts +131 -0
  501. package/dist/lib/typeChecker/flow.js +248 -0
  502. package/dist/lib/typeChecker/flow.test.d.ts +1 -0
  503. package/dist/lib/typeChecker/flow.test.js +467 -0
  504. package/dist/lib/typeChecker/flowAssignments.test.d.ts +1 -0
  505. package/dist/lib/typeChecker/flowAssignments.test.js +84 -0
  506. package/dist/lib/typeChecker/flowBuilder.d.ts +32 -0
  507. package/dist/lib/typeChecker/flowBuilder.js +337 -0
  508. package/dist/lib/typeChecker/flowBuilder.test.d.ts +1 -0
  509. package/dist/lib/typeChecker/flowBuilder.test.js +215 -0
  510. package/dist/lib/typeChecker/flowNarrowing.test.d.ts +1 -0
  511. package/dist/lib/typeChecker/flowNarrowing.test.js +96 -0
  512. package/dist/lib/typeChecker/handlerBodyInterrupts.test.js +1 -1
  513. package/dist/lib/typeChecker/handlerParamTyping.d.ts +31 -0
  514. package/dist/lib/typeChecker/handlerParamTyping.js +108 -0
  515. package/dist/lib/typeChecker/handlerParamTyping.test.d.ts +1 -0
  516. package/dist/lib/typeChecker/handlerParamTyping.test.js +379 -0
  517. package/dist/lib/typeChecker/ifExpression.test.d.ts +1 -0
  518. package/dist/lib/typeChecker/ifExpression.test.js +49 -0
  519. package/dist/lib/typeChecker/index.js +43 -3
  520. package/dist/lib/typeChecker/inference.d.ts +6 -0
  521. package/dist/lib/typeChecker/inference.js +1 -1
  522. package/dist/lib/typeChecker/interruptAnalysis.d.ts +9 -0
  523. package/dist/lib/typeChecker/interruptAnalysis.js +21 -13
  524. package/dist/lib/typeChecker/literalType.d.ts +9 -0
  525. package/dist/lib/typeChecker/literalType.js +18 -0
  526. package/dist/lib/typeChecker/matchArmNarrowing.test.d.ts +1 -0
  527. package/dist/lib/typeChecker/matchArmNarrowing.test.js +172 -0
  528. package/dist/lib/typeChecker/matchExhaustiveness.d.ts +9 -0
  529. package/dist/lib/typeChecker/matchExhaustiveness.js +238 -0
  530. package/dist/lib/typeChecker/matchExhaustiveness.test.d.ts +1 -0
  531. package/dist/lib/typeChecker/matchExhaustiveness.test.js +404 -0
  532. package/dist/lib/typeChecker/matchExprTypes.d.ts +37 -0
  533. package/dist/lib/typeChecker/matchExprTypes.js +143 -0
  534. package/dist/lib/typeChecker/matchExpression.test.d.ts +1 -0
  535. package/dist/lib/typeChecker/matchExpression.test.js +240 -0
  536. package/dist/lib/typeChecker/memberPathNarrowing.test.d.ts +1 -0
  537. package/dist/lib/typeChecker/memberPathNarrowing.test.js +419 -0
  538. package/dist/lib/typeChecker/narrowing.d.ts +113 -0
  539. package/dist/lib/typeChecker/narrowing.js +396 -0
  540. package/dist/lib/typeChecker/narrowing.test.d.ts +1 -0
  541. package/dist/lib/typeChecker/narrowing.test.js +930 -0
  542. package/dist/lib/typeChecker/neverType.test.d.ts +1 -0
  543. package/dist/lib/typeChecker/neverType.test.js +19 -0
  544. package/dist/lib/typeChecker/nullNarrowing.test.d.ts +1 -0
  545. package/dist/lib/typeChecker/nullNarrowing.test.js +246 -0
  546. package/dist/lib/typeChecker/nullish.test.d.ts +1 -0
  547. package/dist/lib/typeChecker/nullish.test.js +16 -0
  548. package/dist/lib/typeChecker/pathSegments.d.ts +56 -0
  549. package/dist/lib/typeChecker/pathSegments.js +73 -0
  550. package/dist/lib/typeChecker/primitiveMembers.d.ts +2 -2
  551. package/dist/lib/typeChecker/primitiveMembers.js +5 -5
  552. package/dist/lib/typeChecker/primitives.d.ts +2 -1
  553. package/dist/lib/typeChecker/primitives.js +2 -1
  554. package/dist/lib/typeChecker/recordLike.d.ts +18 -0
  555. package/dist/lib/typeChecker/recordLike.js +27 -0
  556. package/dist/lib/typeChecker/resolveCall.js +4 -0
  557. package/dist/lib/typeChecker/resultUnion.d.ts +8 -0
  558. package/dist/lib/typeChecker/resultUnion.js +43 -0
  559. package/dist/lib/typeChecker/scope.d.ts +9 -1
  560. package/dist/lib/typeChecker/scope.js +25 -4
  561. package/dist/lib/typeChecker/scope.test.js +15 -0
  562. package/dist/lib/typeChecker/scopeVisibility.test.d.ts +1 -0
  563. package/dist/lib/typeChecker/scopeVisibility.test.js +138 -0
  564. package/dist/lib/typeChecker/scopes.d.ts +7 -0
  565. package/dist/lib/typeChecker/scopes.js +164 -113
  566. package/dist/lib/typeChecker/strictMemberAccess.test.d.ts +1 -0
  567. package/dist/lib/typeChecker/strictMemberAccess.test.js +221 -0
  568. package/dist/lib/typeChecker/synthesizer.js +257 -47
  569. package/dist/lib/typeChecker/typeCases.d.ts +28 -0
  570. package/dist/lib/typeChecker/typeCases.js +122 -0
  571. package/dist/lib/typeChecker/typeCases.test.d.ts +1 -0
  572. package/dist/lib/typeChecker/typeCases.test.js +150 -0
  573. package/dist/lib/typeChecker/types.d.ts +26 -0
  574. package/dist/lib/typeChecker/utils.d.ts +19 -0
  575. package/dist/lib/typeChecker/utils.js +50 -10
  576. package/dist/lib/typeChecker.test.js +351 -34
  577. package/dist/lib/types/dataStructures.d.ts +18 -1
  578. package/dist/lib/types/effectDeclaration.d.ts +11 -0
  579. package/dist/lib/types/effectDeclaration.js +1 -0
  580. package/dist/lib/types/ifElse.d.ts +4 -0
  581. package/dist/lib/types/importStatement.d.ts +4 -0
  582. package/dist/lib/types/matchBlock.d.ts +15 -3
  583. package/dist/lib/types/matchYield.d.ts +16 -0
  584. package/dist/lib/types/matchYield.js +1 -0
  585. package/dist/lib/types.d.ts +54 -3
  586. package/dist/lib/types.js +37 -0
  587. package/dist/lib/utils/mapBodies.js +1 -1
  588. package/dist/lib/utils/node.d.ts +30 -0
  589. package/dist/lib/utils/node.js +160 -3
  590. package/dist/lib/utils/termcolors.d.ts +1 -1
  591. package/dist/lib/utils/termcolors.js +1 -1
  592. package/dist/scripts/agency.js +27 -0
  593. package/dist/scripts/genModelHashes.d.ts +10 -0
  594. package/dist/scripts/genModelHashes.js +88 -0
  595. package/package.json +4 -2
  596. package/stdlib/agency/eval.agency +31 -59
  597. package/stdlib/agency/eval.js +57 -85
  598. package/stdlib/agency/local.agency +189 -0
  599. package/stdlib/agency/local.js +1685 -0
  600. package/stdlib/agency.agency +169 -98
  601. package/stdlib/agency.js +279 -287
  602. package/stdlib/agent.agency +77 -79
  603. package/stdlib/agent.js +354 -53
  604. package/stdlib/args.agency +30 -53
  605. package/stdlib/args.js +44 -20
  606. package/stdlib/array.agency +21 -221
  607. package/stdlib/array.js +116 -416
  608. package/stdlib/{keyring.agency → auth/keyring.agency} +17 -17
  609. package/stdlib/{keyring.js → auth/keyring.js} +69 -52
  610. package/stdlib/{oauth.agency → auth/oauth.agency} +24 -27
  611. package/stdlib/{oauth.js → auth/oauth.js} +75 -54
  612. package/stdlib/calendar.agency +29 -88
  613. package/stdlib/calendar.js +40 -25
  614. package/stdlib/capabilities.agency +7 -3
  615. package/stdlib/capabilities.js +41 -18
  616. package/stdlib/clipboard.agency +19 -2
  617. package/stdlib/clipboard.js +40 -19
  618. package/stdlib/concurrency.agency +34 -22
  619. package/stdlib/concurrency.js +45 -38
  620. package/stdlib/data/finance/dbnomics.agency +115 -0
  621. package/stdlib/data/finance/dbnomics.js +934 -0
  622. package/stdlib/data/finance/edgar.agency +172 -0
  623. package/stdlib/data/finance/edgar.js +1598 -0
  624. package/stdlib/data/finance/fred.agency +215 -0
  625. package/stdlib/data/finance/fred.js +2028 -0
  626. package/stdlib/data/finance/gdelt.agency +98 -0
  627. package/stdlib/data/finance/gdelt.js +873 -0
  628. package/stdlib/data/people/littlesis.agency +322 -0
  629. package/stdlib/data/people/littlesis.js +3221 -0
  630. package/stdlib/data/tech/hackernews.agency +344 -0
  631. package/stdlib/data/tech/hackernews.js +3814 -0
  632. package/stdlib/data/tech/yc.agency +253 -0
  633. package/stdlib/data/tech/yc.js +2913 -0
  634. package/stdlib/date.agency +34 -81
  635. package/stdlib/date.js +53 -39
  636. package/stdlib/fs.agency +44 -16
  637. package/stdlib/fs.js +50 -37
  638. package/stdlib/git.agency +327 -0
  639. package/stdlib/git.js +3724 -0
  640. package/stdlib/http.agency +39 -14
  641. package/stdlib/http.js +39 -27
  642. package/stdlib/image.agency +44 -0
  643. package/stdlib/{search.js → image.js} +125 -131
  644. package/stdlib/index.agency +318 -116
  645. package/stdlib/index.js +1762 -517
  646. package/stdlib/llm.agency +115 -16
  647. package/stdlib/llm.js +727 -37
  648. package/stdlib/markdown.agency +38 -55
  649. package/stdlib/markdown.js +59 -67
  650. package/stdlib/math.agency +16 -0
  651. package/stdlib/math.js +175 -20
  652. package/stdlib/memory.agency +82 -90
  653. package/stdlib/memory.js +69 -116
  654. package/stdlib/{email.agency → messaging/email.agency} +11 -15
  655. package/stdlib/{email.js → messaging/email.js} +61 -43
  656. package/stdlib/{imessage.agency → messaging/imessage.agency} +7 -8
  657. package/stdlib/{imessage.js → messaging/imessage.js} +47 -27
  658. package/stdlib/{sms.agency → messaging/sms.agency} +8 -8
  659. package/stdlib/{sms.js → messaging/sms.js} +47 -27
  660. package/stdlib/object.agency +52 -5
  661. package/stdlib/object.js +414 -31
  662. package/stdlib/path.agency +29 -4
  663. package/stdlib/path.js +54 -30
  664. package/stdlib/policy.agency +136 -205
  665. package/stdlib/policy.js +255 -168
  666. package/stdlib/shell.agency +51 -27
  667. package/stdlib/shell.js +75 -53
  668. package/stdlib/skills.agency +41 -20
  669. package/stdlib/skills.js +82 -44
  670. package/stdlib/speech.agency +42 -24
  671. package/stdlib/speech.js +46 -42
  672. package/stdlib/statelog.agency +64 -46
  673. package/stdlib/statelog.js +165 -66
  674. package/stdlib/strategy.agency +27 -0
  675. package/stdlib/strategy.js +161 -23
  676. package/stdlib/syntax.agency +34 -27
  677. package/stdlib/syntax.js +46 -46
  678. package/stdlib/system.agency +62 -23
  679. package/stdlib/system.js +210 -49
  680. package/stdlib/tag.agency +62 -0
  681. package/stdlib/{threads.js → tag.js} +351 -415
  682. package/stdlib/thread.agency +282 -67
  683. package/stdlib/thread.js +1522 -263
  684. package/stdlib/{chart.agency → ui/chart.agency} +41 -48
  685. package/stdlib/{chart.js → ui/chart.js} +86 -65
  686. package/stdlib/ui/cli.agency +119 -0
  687. package/stdlib/{cli.js → ui/cli.js} +198 -85
  688. package/stdlib/{layout.agency → ui/layout.agency} +110 -178
  689. package/stdlib/{layout.js → ui/layout.js} +242 -148
  690. package/stdlib/{table.agency → ui/table.agency} +49 -50
  691. package/stdlib/{table.js → ui/table.js} +95 -69
  692. package/stdlib/ui.agency +194 -316
  693. package/stdlib/ui.js +445 -367
  694. package/stdlib/validation.agency +197 -0
  695. package/stdlib/{validators.js → validation.js} +199 -88
  696. package/stdlib/weather.agency +27 -4
  697. package/stdlib/weather.js +39 -21
  698. package/stdlib/web/browser.agency +52 -0
  699. package/stdlib/{browser.js → web/browser.js} +53 -33
  700. package/stdlib/web/search.agency +101 -0
  701. package/stdlib/web/search.js +638 -0
  702. package/stdlib/wikipedia.agency +28 -3
  703. package/stdlib/wikipedia.js +46 -21
  704. package/dist/lib/agents/docs/appendix/agency-stdlib.md +0 -25
  705. package/dist/lib/agents/docs/appendix/agency-vs-typescript.md +0 -14
  706. package/dist/lib/agents/docs/appendix/appendix/advanced-types.md +0 -26
  707. package/dist/lib/agents/docs/appendix/appendix/agency-stdlib.md +0 -25
  708. package/dist/lib/agents/docs/appendix/appendix/agency-vs-typescript.md +0 -14
  709. package/dist/lib/agents/docs/appendix/appendix/vscode-extension.md +0 -11
  710. package/dist/lib/agents/docs/appendix/builtins.md +0 -61
  711. package/dist/lib/agents/docs/appendix/callbacks.md +0 -162
  712. package/dist/lib/agents/docs/appendix/schema-parameter-injection.md +0 -101
  713. package/dist/lib/agents/docs/appendix/ts-helpers.md +0 -511
  714. package/dist/lib/agents/docs/appendix/vscode-extension.md +0 -11
  715. package/dist/lib/agents/docs/cli/cli/agent.md +0 -16
  716. package/dist/lib/agents/docs/cli/cli/compile.md +0 -21
  717. package/dist/lib/agents/docs/cli/cli/coverage.md +0 -112
  718. package/dist/lib/agents/docs/cli/cli/debug.md +0 -41
  719. package/dist/lib/agents/docs/cli/cli/doc.md +0 -98
  720. package/dist/lib/agents/docs/cli/cli/editor-integration.md +0 -44
  721. package/dist/lib/agents/docs/cli/cli/eval-judge.md +0 -72
  722. package/dist/lib/agents/docs/cli/cli/eval.md +0 -194
  723. package/dist/lib/agents/docs/cli/cli/format.md +0 -23
  724. package/dist/lib/agents/docs/cli/cli/index.md +0 -7
  725. package/dist/lib/agents/docs/cli/cli/optimize.md +0 -306
  726. package/dist/lib/agents/docs/cli/cli/pack.md +0 -56
  727. package/dist/lib/agents/docs/cli/cli/policy.md +0 -23
  728. package/dist/lib/agents/docs/cli/cli/preprocess-and-ast.md +0 -21
  729. package/dist/lib/agents/docs/cli/cli/review.md +0 -16
  730. package/dist/lib/agents/docs/cli/cli/run.md +0 -108
  731. package/dist/lib/agents/docs/cli/cli/schedule.md +0 -89
  732. package/dist/lib/agents/docs/cli/cli/serve.md +0 -52
  733. package/dist/lib/agents/docs/cli/cli/test.md +0 -44
  734. package/dist/lib/agents/docs/cli/cli/trace-and-bundle.md +0 -75
  735. package/dist/lib/agents/docs/cli/cli/typecheck.md +0 -19
  736. package/dist/lib/agents/docs/guide/agents-101.md +0 -212
  737. package/dist/lib/agents/docs/guide/execution-model.md +0 -130
  738. package/dist/lib/agents/docs/guide/guide/agency-config-file.md +0 -10
  739. package/dist/lib/agents/docs/guide/guide/agents-101.md +0 -212
  740. package/dist/lib/agents/docs/guide/guide/basic-syntax.md +0 -218
  741. package/dist/lib/agents/docs/guide/guide/blocks.md +0 -104
  742. package/dist/lib/agents/docs/guide/guide/checkpointing.md +0 -72
  743. package/dist/lib/agents/docs/guide/guide/cli-args.md +0 -190
  744. package/dist/lib/agents/docs/guide/guide/concurrency.md +0 -151
  745. package/dist/lib/agents/docs/guide/guide/cross-thread-context.md +0 -228
  746. package/dist/lib/agents/docs/guide/guide/effects-and-raises.md +0 -156
  747. package/dist/lib/agents/docs/guide/guide/error-handling.md +0 -149
  748. package/dist/lib/agents/docs/guide/guide/execution-model.md +0 -130
  749. package/dist/lib/agents/docs/guide/guide/functions.md +0 -33
  750. package/dist/lib/agents/docs/guide/guide/getting-started.md +0 -42
  751. package/dist/lib/agents/docs/guide/guide/global-vs-static.md +0 -81
  752. package/dist/lib/agents/docs/guide/guide/guards.md +0 -185
  753. package/dist/lib/agents/docs/guide/guide/handlers.md +0 -292
  754. package/dist/lib/agents/docs/guide/guide/imports-and-packages.md +0 -160
  755. package/dist/lib/agents/docs/guide/guide/interrupts.md +0 -99
  756. package/dist/lib/agents/docs/guide/guide/llm.md +0 -200
  757. package/dist/lib/agents/docs/guide/guide/mcp.md +0 -295
  758. package/dist/lib/agents/docs/guide/guide/memory.md +0 -388
  759. package/dist/lib/agents/docs/guide/guide/message-history-and-threads.md +0 -88
  760. package/dist/lib/agents/docs/guide/guide/nodes.md +0 -35
  761. package/dist/lib/agents/docs/guide/guide/observability.md +0 -92
  762. package/dist/lib/agents/docs/guide/guide/odds-and-ends.md +0 -41
  763. package/dist/lib/agents/docs/guide/guide/partial-application.md +0 -188
  764. package/dist/lib/agents/docs/guide/guide/pattern-matching.md +0 -193
  765. package/dist/lib/agents/docs/guide/guide/policies.md +0 -60
  766. package/dist/lib/agents/docs/guide/guide/schemas.md +0 -86
  767. package/dist/lib/agents/docs/guide/guide/serving.md +0 -165
  768. package/dist/lib/agents/docs/guide/guide/structured-interrupts.md +0 -49
  769. package/dist/lib/agents/docs/guide/guide/testing.md +0 -27
  770. package/dist/lib/agents/docs/guide/guide/troubleshooting.md +0 -137
  771. package/dist/lib/agents/docs/guide/guide/type-validation.md +0 -329
  772. package/dist/lib/agents/docs/guide/guide/types.md +0 -196
  773. package/dist/lib/agents/docs/guide/message-history-and-threads.md +0 -88
  774. package/dist/lib/agents/docs/guide/odds-and-ends.md +0 -41
  775. package/dist/lib/agents/docs/guide/structured-interrupts.md +0 -49
  776. package/stdlib/browser.agency +0 -47
  777. package/stdlib/cli.agency +0 -132
  778. package/stdlib/schemas.agency +0 -37
  779. package/stdlib/schemas.js +0 -213
  780. package/stdlib/search.agency +0 -57
  781. package/stdlib/threads.agency +0 -198
  782. package/stdlib/types.agency +0 -58
  783. package/stdlib/types.js +0 -212
  784. package/stdlib/validators.agency +0 -150
  785. /package/dist/lib/agents/docs/{appendix → guide}/advanced-types.md +0 -0
  786. /package/dist/lib/agents/docs/{appendix/appendix → guide}/schema-parameter-injection.md +0 -0
  787. /package/dist/lib/backends/{anthropicApiKey.codegen.test.d.ts → agencyGenerator.matchBlock.test.d.ts} +0 -0
@@ -1,43 +1,37 @@
1
- import { LayoutNode, Width, Alignment, BorderStyle } from "std::layout"
1
+ import { LayoutNode, Width, Alignment, BorderStyle } from "std::ui/layout"
2
2
 
3
3
  /** @module
4
- ## Module: std::table
5
-
6
- Tabular layout for terminal output. Columns line up across header /
7
- body / footer; the outer frame uses the same `BorderStyle` enum as
8
- `std::layout`'s `box`. Two construction styles, same result:
9
-
10
- - **Data form (LLM-callable, JSON-friendly):** pass `header`, `body`,
11
- `footer` as nested arrays of strings or `LayoutNode`s.
12
-
13
- ```ts
14
- import { table } from "std::table"
15
- import { render } from "std::layout"
16
-
17
- const t = table(
18
- title: "Employees",
19
- header: ["ID", "Name", "Balance"],
20
- body: [
21
- ["1", "Dave", "100"],
22
- ["2", "Alice", "-50"],
23
- ],
24
- footer: [["", "Total", "50"]],
25
- )
26
- print(render(t))
27
- ```
28
-
29
- - **Block form (Agency-author ergonomics):**
30
-
31
- ```ts
32
- const t = table(title: "Employees") as t {
33
- t.header("ID", "Name", "Balance")
34
- t.row("1", "Dave", "100")
35
- t.footer("", "Total", "50")
36
- }
37
- ```
38
-
39
- Render a table with `render`, imported from `std::layout`:
40
- `import { render } from "std::layout"`.
4
+ Draws tables for terminal output. `table(...)` returns a layout node whose
5
+ columns line up across header, body, and footer. Render it with `render`
6
+ from `std::ui/layout`, so a table nests inside `box` / `row` / `column`.
7
+ Pass the rows directly (data form, JSON-friendly and LLM-callable) or build
8
+ them up in a trailing block.
9
+
10
+ ```ts
11
+ import { table } from "std::ui/table"
12
+ import { render } from "std::ui/layout"
13
+
14
+ const t = table(
15
+ title: "Employees",
16
+ header: ["ID", "Name", "Balance"],
17
+ body: [
18
+ ["1", "Dave", "100"],
19
+ ["2", "Alice", "-50"],
20
+ ],
21
+ footer: [["", "Total", "50"]],
22
+ )
23
+ print(render(t))
24
+ ```
25
+
26
+ The block form builds the same table imperatively:
27
+
28
+ ```ts
29
+ const t = table(title: "Employees") as t {
30
+ t.header("ID", "Name", "Balance")
31
+ t.row("1", "Dave", "100")
32
+ t.footer("", "Total", "50")
33
+ }
34
+ ```
41
35
  */
42
36
 
43
37
  /**
@@ -48,19 +42,19 @@ import { LayoutNode, Width, Alignment, BorderStyle } from "std::layout"
48
42
  export type Cell = string | LayoutNode
49
43
 
50
44
  // Row alias for table body / footer. The parser doesn't currently
51
- // accept `Cell[][]` directly where `Cell` is a union; aliasing the
52
- // row type first sidesteps that.
45
+ // accept `Cell[][]` directly where `Cell` is a union, so aliasing
46
+ // the row type first sidesteps that.
53
47
  export type CellRow = Cell[]
54
48
 
55
49
  /**
56
- * Per-column configuration for a `table`. All fields are optional;
57
- * omitted columns default to start-aligned with no minimum width.
50
+ * Per-column configuration for a `table`. All fields are optional.
51
+ * Omitted columns default to start-aligned with no minimum width.
58
52
  *
59
53
  * @param align - Horizontal alignment of every cell in this column
60
54
  * @param minWidth - Lower bound on column width; widens narrow columns
61
55
  * @param width - Optional per-column constraint. A number caps the
62
56
  * column's content width in cells. `"X%"` takes a percentage of the
63
- * table's remaining inner width; `"full"` is treated as `"100%"`.
57
+ * table's remaining inner width. `"full"` counts as `"100%"`.
64
58
  * @param fgColor - Default foreground color for every cell in this
65
59
  * column that doesn't carry its own `fgColor`.
66
60
  */
@@ -138,20 +132,25 @@ export safe def table(
138
132
  block: (TableBuilder) -> void = null,
139
133
  ): LayoutNode {
140
134
  """
141
- Render data as a bordered table layout node. When calling this as an
142
- LLM tool, use the data form: pass `header`, `body`, and `footer` as
143
- arrays of cells (every row must have the same number of cells).
144
- Render the result with `render`.
135
+ Build a bordered table as a layout node. Pass the data form: `header`,
136
+ `body`, and `footer` as arrays of cells, where every row has the same
137
+ number of cells. Render the returned node to display it.
145
138
 
146
139
  @param title - Title shown in the top border
140
+ @param titleColor - Color of the title text
141
+ @param borderStyle - Frame style
142
+ @param borderColor - Color of the border characters
147
143
  @param caption - Caption shown beneath the table
144
+ @param cellPadding - Horizontal padding inside each cell, in cells
145
+ @param width - Table width in cells, or "full" / "N%"
148
146
  @param columns - Per-column configuration (alignment, width, color)
149
147
  @param header - Header cells
150
148
  @param body - Body rows, each an array of cells
151
149
  @param footer - Footer rows, each an array of cells
152
- @param borderStyle - Frame style: "rounded", "heavy", "double", or "light"
153
- @param cellPadding - Horizontal padding inside each cell, in cells
154
- @param width - Table width in cells, or "full" / "N%"
150
+ @param headerDivider - Draw a divider line beneath the header
151
+ @param footerDivider - Draw a divider line above the footer
152
+ @param rowDividers - Draw a divider between every body row
153
+ @param columnDividers - Draw vertical dividers between columns
155
154
  """
156
155
  const bodyArr: any[] = []
157
156
  if (body != null) {
@@ -1,7 +1,8 @@
1
- import { print, printJSON, parseJSON, input, sleep, round, read, write, readImage, notify, range, mostCommon, keys, values, entries, emit, callback } from "agency-lang/stdlib/index.js";
2
- import { LayoutNode, Width, Alignment, BorderStyle } from "agency-lang/stdlib/layout.js";
1
+ import { print, printJSON, input, sleep, read, write, writeBinary, readBinary, range, callback, map, filter, exclude, find, findIndex, reduce, flatMap, every, some, count, sortBy, unique, groupBy } from "agency-lang/stdlib/index.js";
2
+ import { LayoutNode, Width, Alignment, BorderStyle } from "agency-lang/stdlib/ui/layout.js";
3
3
  import { fileURLToPath } from "url";
4
4
  import __process from "process";
5
+ import { readFileSync } from "fs";
5
6
  import { z } from "agency-lang/zod";
6
7
  import { nanoid } from "agency-lang";
7
8
  import path from "path";
@@ -26,6 +27,7 @@ import {
26
27
  __registerGlobalsInit,
27
28
  failure,
28
29
  isFailure,
30
+ __eq,
29
31
  AgencyFunction as __AgencyFunction,
30
32
  UNSET as __UNSET,
31
33
  __call,
@@ -36,6 +38,7 @@ import {
36
38
  agencyStore,
37
39
  functionRefReviver as __functionRefReviver,
38
40
  DeterministicClient as __DeterministicClient,
41
+ installFetchMock as __installFetchMock,
39
42
  createLogger as __createLogger
40
43
  } from "agency-lang/runtime";
41
44
  const __filename = fileURLToPath(import.meta.url);
@@ -52,9 +55,19 @@ const __globalCtx = new RuntimeContext({
52
55
  logFile: "log.jsonl"
53
56
  },
54
57
  smoltalkDefaults: {
55
- openAiApiKey: __process.env["OPENAI_API_KEY"] || "",
56
- googleApiKey: __process.env["GEMINI_API_KEY"] || "",
57
- anthropicApiKey: __process.env["ANTHROPIC_API_KEY"] || "",
58
+ apiKey: {
59
+ openAi: __process.env["OPENAI_API_KEY"] || "",
60
+ google: __process.env["GEMINI_API_KEY"] || "",
61
+ anthropic: __process.env["ANTHROPIC_API_KEY"] || "",
62
+ openRouter: __process.env["OPENROUTER_API_KEY"] || "",
63
+ deepInfra: __process.env["DEEPINFRA_API_KEY"] || "",
64
+ liteLlm: __process.env["LITELLM_API_KEY"] || "",
65
+ openAiCompat: __process.env["OPENAI_COMPAT_API_KEY"] || ""
66
+ },
67
+ baseUrl: {
68
+ liteLlm: __process.env["LITELLM_BASE_URL"] || "",
69
+ openAiCompat: __process.env["OPENAI_COMPAT_BASE_URL"] || ""
70
+ },
58
71
  model: "gpt-4o-mini",
59
72
  logLevel: "warn",
60
73
  statelog: {
@@ -67,7 +80,7 @@ const __globalCtx = new RuntimeContext({
67
80
  dirname: __dirname,
68
81
  logLevel: "info",
69
82
  traceConfig: {
70
- program: "stdlib/table.agency"
83
+ program: "stdlib/ui/table.agency"
71
84
  }
72
85
  });
73
86
  const graph = __globalCtx.graph;
@@ -98,6 +111,9 @@ if (__process.env.AGENCY_LLM_MOCKS) {
98
111
  new __DeterministicClient(JSON.parse(__process.env.AGENCY_LLM_MOCKS))
99
112
  );
100
113
  }
114
+ if (__process.env.AGENCY_FETCH_MOCKS_FILE) {
115
+ __installFetchMock(JSON.parse(readFileSync(__process.env.AGENCY_FETCH_MOCKS_FILE, "utf-8")));
116
+ }
101
117
  const __toolRegistry = __functionRefReviver.registry ??= {};
102
118
  function __registerTool(value, _aliasName) {
103
119
  if (__AgencyFunction.isAgencyFunction(value)) {
@@ -107,7 +123,7 @@ function __registerTool(value, _aliasName) {
107
123
  const checkpoint = __AgencyFunction.create({ name: "checkpoint", module: "__runtime", fn: __checkpoint_impl, params: [], toolDefinition: null }, __toolRegistry);
108
124
  const getCheckpoint = __AgencyFunction.create({ name: "getCheckpoint", module: "__runtime", fn: __getCheckpoint_impl, params: [{ name: "checkpointId", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
109
125
  const restore = __AgencyFunction.create({ name: "restore", module: "__runtime", fn: __restore_impl, params: [{ name: "checkpointIdOrCheckpoint", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "options", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
110
- const _run = __AgencyFunction.create({ name: "_run", module: "__runtime", fn: __runtime_run_impl, params: [{ name: "compiled", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "node", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "args", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "wallClock", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "memory", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "ipcPayload", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "stdout", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "configOverrides", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "cwd", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
126
+ const _run = __AgencyFunction.create({ name: "_run", module: "__runtime", fn: __runtime_run_impl, params: [{ name: "compiled", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "node", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "args", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "wallClock", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "memory", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "ipcPayload", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "stdout", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "configOverrides", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "cwd", hasDefault: false, defaultValue: void 0, variadic: false }, { name: "maxDepth", hasDefault: false, defaultValue: void 0, variadic: false }], toolDefinition: null }, __toolRegistry);
111
127
  function setLLMClient(client) {
112
128
  __globalCtx.setLLMClient(client);
113
129
  }
@@ -120,39 +136,45 @@ function registerTools(tools) {
120
136
  }
121
137
  __registerTool(print);
122
138
  __registerTool(printJSON);
123
- __registerTool(parseJSON);
124
139
  __registerTool(input);
125
140
  __registerTool(sleep);
126
- __registerTool(round);
127
141
  __registerTool(read);
128
142
  __registerTool(write);
129
- __registerTool(readImage);
130
- __registerTool(notify);
143
+ __registerTool(writeBinary);
144
+ __registerTool(readBinary);
131
145
  __registerTool(range);
132
- __registerTool(mostCommon);
133
- __registerTool(keys);
134
- __registerTool(values);
135
- __registerTool(entries);
136
- __registerTool(emit);
137
146
  __registerTool(callback);
147
+ __registerTool(map);
148
+ __registerTool(filter);
149
+ __registerTool(exclude);
150
+ __registerTool(find);
151
+ __registerTool(findIndex);
152
+ __registerTool(reduce);
153
+ __registerTool(flatMap);
154
+ __registerTool(every);
155
+ __registerTool(some);
156
+ __registerTool(count);
157
+ __registerTool(sortBy);
158
+ __registerTool(unique);
159
+ __registerTool(groupBy);
138
160
  __registerTool(LayoutNode);
139
161
  __registerTool(Width);
140
162
  __registerTool(Alignment);
141
163
  __registerTool(BorderStyle);
142
164
  async function __initializeGlobals(__ctx) {
143
- if (__ctx.globals.isInitialized("stdlib/table.agency")) {
165
+ if (__ctx.globals.isInitialized("stdlib/ui/table.agency")) {
144
166
  return;
145
167
  }
146
- __ctx.globals.markInitialized("stdlib/table.agency");
168
+ __ctx.globals.markInitialized("stdlib/ui/table.agency");
147
169
  }
148
- __registerGlobalsInit("stdlib/table.agency", __initializeGlobals);
170
+ __registerGlobalsInit("stdlib/ui/table.agency", __initializeGlobals);
149
171
  async function __registerTopLevelCallbacks(__ctx) {
150
172
  __ctx.topLevelCallbacks = [];
151
173
  }
152
174
  __functionRefReviver.registry = __toolRegistry;
153
175
  const Cell = z.union([z.string(), LayoutNode]);
154
176
  const CellRow = z.array(Cell);
155
- const ColumnSpec = z.object({ "align": z.union([Alignment, z.null()]), "minWidth": z.union([z.number(), z.null()]), "width": z.union([Width, z.null()]), "fgColor": z.union([z.string(), z.null()]) });
177
+ const ColumnSpec = z.object({ "align": z.union([Alignment, z.null()]).optional().default(null), "minWidth": z.union([z.number(), z.null()]).optional().default(null), "width": z.union([Width, z.null()]).optional().default(null), "fgColor": z.union([z.string(), z.null()]).optional().default(null) });
156
178
  const TableBuilder = z.object({ "columns": z.any(), "caption": z.any(), "header": z.any(), "row": z.any(), "footer": z.any() });
157
179
  async function ___setTableColumns_impl(state, specs) {
158
180
  const __setupData = setupFunction();
@@ -162,14 +184,14 @@ async function ___setTableColumns_impl(state, specs) {
162
184
  const __ctx = getRuntimeContext().ctx;
163
185
  let __forked;
164
186
  let __functionCompleted = false;
165
- if (!__globals().isInitialized("stdlib/table.agency")) {
187
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
166
188
  await __initializeGlobals(__ctx);
167
189
  }
168
190
  let __funcStartTime = performance.now();
169
191
  __stack.args["state"] = state;
170
192
  __stack.args["specs"] = specs;
171
193
  __self.__retryable = __self.__retryable ?? true;
172
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "_setTableColumns", threads: __setupData.threads });
194
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "_setTableColumns", threads: __setupData.threads });
173
195
  let __resultCheckpointId = -1;
174
196
  if (__ctx._pendingArgOverrides) {
175
197
  const __overrides = __ctx._pendingArgOverrides;
@@ -199,8 +221,7 @@ async function ___setTableColumns_impl(state, specs) {
199
221
  state,
200
222
  specs
201
223
  },
202
- isBuiltin: false,
203
- moduleId: "stdlib/table.agency"
224
+ moduleId: "stdlib/ui/table.agency"
204
225
  }
205
226
  });
206
227
  });
@@ -263,7 +284,7 @@ async function ___setTableColumns_impl(state, specs) {
263
284
  }
264
285
  const _setTableColumns = __AgencyFunction.create({
265
286
  name: "_setTableColumns",
266
- module: "stdlib/table.agency",
287
+ module: "stdlib/ui/table.agency",
267
288
  fn: ___setTableColumns_impl,
268
289
  params: [{
269
290
  name: "state",
@@ -294,14 +315,14 @@ async function ___setTableCaption_impl(state, text) {
294
315
  const __ctx = getRuntimeContext().ctx;
295
316
  let __forked;
296
317
  let __functionCompleted = false;
297
- if (!__globals().isInitialized("stdlib/table.agency")) {
318
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
298
319
  await __initializeGlobals(__ctx);
299
320
  }
300
321
  let __funcStartTime = performance.now();
301
322
  __stack.args["state"] = state;
302
323
  __stack.args["text"] = text;
303
324
  __self.__retryable = __self.__retryable ?? true;
304
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "_setTableCaption", threads: __setupData.threads });
325
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "_setTableCaption", threads: __setupData.threads });
305
326
  let __resultCheckpointId = -1;
306
327
  if (__ctx._pendingArgOverrides) {
307
328
  const __overrides = __ctx._pendingArgOverrides;
@@ -331,8 +352,7 @@ async function ___setTableCaption_impl(state, text) {
331
352
  state,
332
353
  text
333
354
  },
334
- isBuiltin: false,
335
- moduleId: "stdlib/table.agency"
355
+ moduleId: "stdlib/ui/table.agency"
336
356
  }
337
357
  });
338
358
  });
@@ -395,7 +415,7 @@ async function ___setTableCaption_impl(state, text) {
395
415
  }
396
416
  const _setTableCaption = __AgencyFunction.create({
397
417
  name: "_setTableCaption",
398
- module: "stdlib/table.agency",
418
+ module: "stdlib/ui/table.agency",
399
419
  fn: ___setTableCaption_impl,
400
420
  params: [{
401
421
  name: "state",
@@ -426,14 +446,14 @@ async function ___setTableHeader_impl(state, cells) {
426
446
  const __ctx = getRuntimeContext().ctx;
427
447
  let __forked;
428
448
  let __functionCompleted = false;
429
- if (!__globals().isInitialized("stdlib/table.agency")) {
449
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
430
450
  await __initializeGlobals(__ctx);
431
451
  }
432
452
  let __funcStartTime = performance.now();
433
453
  __stack.args["state"] = state;
434
454
  __stack.args["cells"] = cells;
435
455
  __self.__retryable = __self.__retryable ?? true;
436
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "_setTableHeader", threads: __setupData.threads });
456
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "_setTableHeader", threads: __setupData.threads });
437
457
  let __resultCheckpointId = -1;
438
458
  if (__ctx._pendingArgOverrides) {
439
459
  const __overrides = __ctx._pendingArgOverrides;
@@ -463,8 +483,7 @@ async function ___setTableHeader_impl(state, cells) {
463
483
  state,
464
484
  cells
465
485
  },
466
- isBuiltin: false,
467
- moduleId: "stdlib/table.agency"
486
+ moduleId: "stdlib/ui/table.agency"
468
487
  }
469
488
  });
470
489
  });
@@ -527,7 +546,7 @@ async function ___setTableHeader_impl(state, cells) {
527
546
  }
528
547
  const _setTableHeader = __AgencyFunction.create({
529
548
  name: "_setTableHeader",
530
- module: "stdlib/table.agency",
549
+ module: "stdlib/ui/table.agency",
531
550
  fn: ___setTableHeader_impl,
532
551
  params: [{
533
552
  name: "state",
@@ -558,14 +577,14 @@ async function ___addTableRow_impl(state, cells) {
558
577
  const __ctx = getRuntimeContext().ctx;
559
578
  let __forked;
560
579
  let __functionCompleted = false;
561
- if (!__globals().isInitialized("stdlib/table.agency")) {
580
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
562
581
  await __initializeGlobals(__ctx);
563
582
  }
564
583
  let __funcStartTime = performance.now();
565
584
  __stack.args["state"] = state;
566
585
  __stack.args["cells"] = cells;
567
586
  __self.__retryable = __self.__retryable ?? true;
568
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "_addTableRow", threads: __setupData.threads });
587
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "_addTableRow", threads: __setupData.threads });
569
588
  let __resultCheckpointId = -1;
570
589
  if (__ctx._pendingArgOverrides) {
571
590
  const __overrides = __ctx._pendingArgOverrides;
@@ -595,8 +614,7 @@ async function ___addTableRow_impl(state, cells) {
595
614
  state,
596
615
  cells
597
616
  },
598
- isBuiltin: false,
599
- moduleId: "stdlib/table.agency"
617
+ moduleId: "stdlib/ui/table.agency"
600
618
  }
601
619
  });
602
620
  });
@@ -662,7 +680,7 @@ async function ___addTableRow_impl(state, cells) {
662
680
  }
663
681
  const _addTableRow = __AgencyFunction.create({
664
682
  name: "_addTableRow",
665
- module: "stdlib/table.agency",
683
+ module: "stdlib/ui/table.agency",
666
684
  fn: ___addTableRow_impl,
667
685
  params: [{
668
686
  name: "state",
@@ -693,14 +711,14 @@ async function ___addTableFooter_impl(state, cells) {
693
711
  const __ctx = getRuntimeContext().ctx;
694
712
  let __forked;
695
713
  let __functionCompleted = false;
696
- if (!__globals().isInitialized("stdlib/table.agency")) {
714
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
697
715
  await __initializeGlobals(__ctx);
698
716
  }
699
717
  let __funcStartTime = performance.now();
700
718
  __stack.args["state"] = state;
701
719
  __stack.args["cells"] = cells;
702
720
  __self.__retryable = __self.__retryable ?? true;
703
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "_addTableFooter", threads: __setupData.threads });
721
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "_addTableFooter", threads: __setupData.threads });
704
722
  let __resultCheckpointId = -1;
705
723
  if (__ctx._pendingArgOverrides) {
706
724
  const __overrides = __ctx._pendingArgOverrides;
@@ -730,8 +748,7 @@ async function ___addTableFooter_impl(state, cells) {
730
748
  state,
731
749
  cells
732
750
  },
733
- isBuiltin: false,
734
- moduleId: "stdlib/table.agency"
751
+ moduleId: "stdlib/ui/table.agency"
735
752
  }
736
753
  });
737
754
  });
@@ -797,7 +814,7 @@ async function ___addTableFooter_impl(state, cells) {
797
814
  }
798
815
  const _addTableFooter = __AgencyFunction.create({
799
816
  name: "_addTableFooter",
800
- module: "stdlib/table.agency",
817
+ module: "stdlib/ui/table.agency",
801
818
  fn: ___addTableFooter_impl,
802
819
  params: [{
803
820
  name: "state",
@@ -828,13 +845,13 @@ async function ___makeTableBuilder_impl(state) {
828
845
  const __ctx = getRuntimeContext().ctx;
829
846
  let __forked;
830
847
  let __functionCompleted = false;
831
- if (!__globals().isInitialized("stdlib/table.agency")) {
848
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
832
849
  await __initializeGlobals(__ctx);
833
850
  }
834
851
  let __funcStartTime = performance.now();
835
852
  __stack.args["state"] = state;
836
853
  __self.__retryable = __self.__retryable ?? true;
837
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "_makeTableBuilder", threads: __setupData.threads });
854
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "_makeTableBuilder", threads: __setupData.threads });
838
855
  let __resultCheckpointId = -1;
839
856
  if (__ctx._pendingArgOverrides) {
840
857
  const __overrides = __ctx._pendingArgOverrides;
@@ -859,8 +876,7 @@ async function ___makeTableBuilder_impl(state) {
859
876
  args: {
860
877
  state
861
878
  },
862
- isBuiltin: false,
863
- moduleId: "stdlib/table.agency"
879
+ moduleId: "stdlib/ui/table.agency"
864
880
  }
865
881
  });
866
882
  });
@@ -956,7 +972,7 @@ async function ___makeTableBuilder_impl(state) {
956
972
  }
957
973
  const _makeTableBuilder = __AgencyFunction.create({
958
974
  name: "_makeTableBuilder",
959
- module: "stdlib/table.agency",
975
+ module: "stdlib/ui/table.agency",
960
976
  fn: ___makeTableBuilder_impl,
961
977
  params: [{
962
978
  name: "state",
@@ -981,7 +997,7 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
981
997
  const __ctx = getRuntimeContext().ctx;
982
998
  let __forked;
983
999
  let __functionCompleted = false;
984
- if (!__globals().isInitialized("stdlib/table.agency")) {
1000
+ if (!__globals().isInitialized("stdlib/ui/table.agency")) {
985
1001
  await __initializeGlobals(__ctx);
986
1002
  }
987
1003
  let __funcStartTime = performance.now();
@@ -1002,7 +1018,7 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1002
1018
  __stack.args["columnDividers"] = columnDividers === __UNSET ? true : columnDividers;
1003
1019
  __stack.args["block"] = block === __UNSET ? null : block;
1004
1020
  __self.__retryable = __self.__retryable ?? true;
1005
- const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/table.agency", scopeName: "table", threads: __setupData.threads });
1021
+ const runner = new Runner(__ctx, __stack, { state: __stack, moduleId: "stdlib/ui/table.agency", scopeName: "table", threads: __setupData.threads });
1006
1022
  let __resultCheckpointId = -1;
1007
1023
  if (__ctx._pendingArgOverrides) {
1008
1024
  const __overrides = __ctx._pendingArgOverrides;
@@ -1102,8 +1118,7 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1102
1118
  columnDividers,
1103
1119
  block
1104
1120
  },
1105
- isBuiltin: false,
1106
- moduleId: "stdlib/table.agency"
1121
+ moduleId: "stdlib/ui/table.agency"
1107
1122
  }
1108
1123
  });
1109
1124
  });
@@ -1112,9 +1127,9 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1112
1127
  });
1113
1128
  await runner.ifElse(2, [
1114
1129
  {
1115
- condition: async () => __stack.args.body !== null,
1130
+ condition: async () => !__eq(__stack.args.body, null),
1116
1131
  body: async (runner2) => {
1117
- await runner2.loop(0, __stack.args.body, async (r, _, runner3) => {
1132
+ await runner2.loop(0, async () => __stack.args.body, async (r, _, runner3) => {
1118
1133
  await runner3.step(0, async (runner4) => {
1119
1134
  await __callMethod(__stack.locals.bodyArr, "push", {
1120
1135
  type: "positional",
@@ -1130,9 +1145,9 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1130
1145
  });
1131
1146
  await runner.ifElse(4, [
1132
1147
  {
1133
- condition: async () => __stack.args.footer !== null,
1148
+ condition: async () => !__eq(__stack.args.footer, null),
1134
1149
  body: async (runner2) => {
1135
- await runner2.loop(0, __stack.args.footer, async (r, _, runner3) => {
1150
+ await runner2.loop(0, async () => __stack.args.footer, async (r, _, runner3) => {
1136
1151
  await runner3.step(0, async (runner4) => {
1137
1152
  await __callMethod(__stack.locals.footerArr, "push", {
1138
1153
  type: "positional",
@@ -1154,7 +1169,7 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1154
1169
  });
1155
1170
  await runner.ifElse(6, [
1156
1171
  {
1157
- condition: async () => __stack.args.block !== null,
1172
+ condition: async () => !__eq(__stack.args.block, null),
1158
1173
  body: async (runner2) => {
1159
1174
  await runner2.step(0, async (runner3) => {
1160
1175
  const __funcResult = await __call(__stack.args.block, {
@@ -1193,7 +1208,7 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1193
1208
  });
1194
1209
  await runner.ifElse(8, [
1195
1210
  {
1196
- condition: async () => __stack.args.width !== null,
1211
+ condition: async () => !__eq(__stack.args.width, null),
1197
1212
  body: async (runner2) => {
1198
1213
  await runner2.step(0, async (runner3) => {
1199
1214
  __stack.locals.attrs.width = __stack.args.width;
@@ -1261,7 +1276,7 @@ async function __table_impl(title = __UNSET, titleColor = __UNSET, borderStyle =
1261
1276
  }
1262
1277
  const table = __AgencyFunction.create({
1263
1278
  name: "table",
1264
- module: "stdlib/table.agency",
1279
+ module: "stdlib/ui/table.agency",
1265
1280
  fn: __table_impl,
1266
1281
  params: [{
1267
1282
  name: "title",
@@ -1362,27 +1377,32 @@ const table = __AgencyFunction.create({
1362
1377
  }],
1363
1378
  toolDefinition: {
1364
1379
  name: "table",
1365
- description: `Render data as a bordered table layout node. When calling this as an
1366
- LLM tool, use the data form: pass \`header\`, \`body\`, and \`footer\` as
1367
- arrays of cells (every row must have the same number of cells).
1368
- Render the result with \`render\`.
1380
+ description: `Build a bordered table as a layout node. Pass the data form: \`header\`,
1381
+ \`body\`, and \`footer\` as arrays of cells, where every row has the same
1382
+ number of cells. Render the returned node to display it.
1369
1383
 
1370
1384
  @param title - Title shown in the top border
1385
+ @param titleColor - Color of the title text
1386
+ @param borderStyle - Frame style
1387
+ @param borderColor - Color of the border characters
1371
1388
  @param caption - Caption shown beneath the table
1389
+ @param cellPadding - Horizontal padding inside each cell, in cells
1390
+ @param width - Table width in cells, or "full" / "N%"
1372
1391
  @param columns - Per-column configuration (alignment, width, color)
1373
1392
  @param header - Header cells
1374
1393
  @param body - Body rows, each an array of cells
1375
1394
  @param footer - Footer rows, each an array of cells
1376
- @param borderStyle - Frame style: "rounded", "heavy", "double", or "light"
1377
- @param cellPadding - Horizontal padding inside each cell, in cells
1378
- @param width - Table width in cells, or "full" / "N%"`,
1395
+ @param headerDivider - Draw a divider line beneath the header
1396
+ @param footerDivider - Draw a divider line above the footer
1397
+ @param rowDividers - Draw a divider between every body row
1398
+ @param columnDividers - Draw vertical dividers between columns`,
1379
1399
  schema: z.object({ "title": z.string().nullable().describe("Default: "), "titleColor": z.string().nullable().describe("Default: "), "borderStyle": BorderStyle.nullable().describe("Default: rounded"), "borderColor": z.string().nullable().describe("Default: "), "caption": z.string().nullable().describe("Default: "), "cellPadding": z.number().nullable().describe("Default: 1"), "width": Width.nullable().describe("Default: null"), "columns": z.array(ColumnSpec).nullable().describe("Default: null"), "header": z.array(Cell).nullable().describe("Default: null"), "body": z.array(CellRow).nullable().describe("Default: null"), "footer": z.array(CellRow).nullable().describe("Default: null"), "headerDivider": z.boolean().nullable().describe("Default: true"), "footerDivider": z.boolean().nullable().describe("Default: true"), "rowDividers": z.boolean().nullable().describe("Default: false"), "columnDividers": z.boolean().nullable().describe("Default: true") })
1380
1400
  },
1381
1401
  safe: true,
1382
1402
  exported: true
1383
1403
  }, __toolRegistry);
1384
1404
  var stdin_default = graph;
1385
- const __sourceMap = { "stdlib/table.agency:_setTableColumns": { "1": { "line": 87, "col": 2 }, "2": { "line": 88, "col": 2 } }, "stdlib/table.agency:_setTableCaption": { "1": { "line": 92, "col": 2 }, "2": { "line": 93, "col": 2 } }, "stdlib/table.agency:_setTableHeader": { "1": { "line": 97, "col": 2 }, "2": { "line": 98, "col": 2 } }, "stdlib/table.agency:_addTableRow": { "1": { "line": 102, "col": 2 }, "2": { "line": 103, "col": 2 } }, "stdlib/table.agency:_addTableFooter": { "1": { "line": 107, "col": 2 }, "2": { "line": 108, "col": 2 } }, "stdlib/table.agency:_makeTableBuilder": { "1": { "line": 112, "col": 2 } }, "stdlib/table.agency:table": { "1": { "line": 155, "col": 2 }, "2": { "line": 156, "col": 2 }, "3": { "line": 161, "col": 2 }, "4": { "line": 162, "col": 2 }, "5": { "line": 167, "col": 2 }, "6": { "line": 174, "col": 2 }, "7": { "line": 177, "col": 2 }, "8": { "line": 193, "col": 2 }, "9": { "line": 196, "col": 2 }, "2.0.0": { "line": 158, "col": 6 }, "2.0": { "line": 157, "col": 4 }, "4.0.0": { "line": 164, "col": 6 }, "4.0": { "line": 163, "col": 4 }, "6.0": { "line": 175, "col": 4 }, "8.0": { "line": 194, "col": 4 } } };
1405
+ const __sourceMap = { "stdlib/ui/table.agency:_setTableColumns": { "1": { "line": 81, "col": 2 }, "2": { "line": 82, "col": 2 } }, "stdlib/ui/table.agency:_setTableCaption": { "1": { "line": 86, "col": 2 }, "2": { "line": 87, "col": 2 } }, "stdlib/ui/table.agency:_setTableHeader": { "1": { "line": 91, "col": 2 }, "2": { "line": 92, "col": 2 } }, "stdlib/ui/table.agency:_addTableRow": { "1": { "line": 96, "col": 2 }, "2": { "line": 97, "col": 2 } }, "stdlib/ui/table.agency:_addTableFooter": { "1": { "line": 101, "col": 2 }, "2": { "line": 102, "col": 2 } }, "stdlib/ui/table.agency:_makeTableBuilder": { "1": { "line": 106, "col": 2 } }, "stdlib/ui/table.agency:table": { "1": { "line": 154, "col": 2 }, "2": { "line": 155, "col": 2 }, "3": { "line": 160, "col": 2 }, "4": { "line": 161, "col": 2 }, "5": { "line": 166, "col": 2 }, "6": { "line": 173, "col": 2 }, "7": { "line": 176, "col": 2 }, "8": { "line": 192, "col": 2 }, "9": { "line": 195, "col": 2 }, "2.0.0": { "line": 157, "col": 6 }, "2.0": { "line": 156, "col": 4 }, "4.0.0": { "line": 163, "col": 6 }, "4.0": { "line": 162, "col": 4 }, "6.0": { "line": 174, "col": 4 }, "8.0": { "line": 193, "col": 4 } } };
1386
1406
  export {
1387
1407
  Cell,
1388
1408
  CellRow,
@@ -1395,6 +1415,12 @@ export {
1395
1415
  __setTraceFile,
1396
1416
  __sourceMap,
1397
1417
  __toolRegistry,
1418
+ _addTableFooter,
1419
+ _addTableRow,
1420
+ _makeTableBuilder,
1421
+ _setTableCaption,
1422
+ _setTableColumns,
1423
+ _setTableHeader,
1398
1424
  approve,
1399
1425
  stdin_default as default,
1400
1426
  hasInterrupts,