agency-lang 0.17.0 → 0.18.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 (565) hide show
  1. package/dist/lib/agents/agency-agent/agent.agency +58 -30
  2. package/dist/lib/agents/agency-agent/agent.js +292 -173
  3. package/dist/lib/agents/agency-agent/brains/brain.agency +3 -0
  4. package/dist/lib/agents/agency-agent/brains/brain.js +3 -1
  5. package/dist/lib/agents/agency-agent/brains/coordinator/README.md +5 -3
  6. package/dist/lib/agents/agency-agent/brains/coordinator/coordinator.agency +68 -17
  7. package/dist/lib/agents/agency-agent/brains/coordinator/coordinator.js +674 -18
  8. package/dist/lib/agents/agency-agent/brains/coordinator/lib/announce.agency +29 -0
  9. package/dist/lib/agents/agency-agent/{tests/threadText.js → brains/coordinator/lib/announce.js} +125 -150
  10. package/dist/lib/agents/agency-agent/brains/coordinator/lib/budgets.agency +60 -0
  11. package/dist/lib/agents/agency-agent/brains/coordinator/lib/budgets.js +874 -0
  12. package/dist/lib/agents/agency-agent/brains/coordinator/prompts/code.md +11 -4
  13. package/dist/lib/agents/agency-agent/brains/coordinator/prompts/codeSample.js +7 -5
  14. package/dist/lib/agents/agency-agent/brains/coordinator/prompts/main-large.md +87 -104
  15. package/dist/lib/agents/agency-agent/brains/coordinator/prompts/main-small.md +41 -10
  16. package/dist/lib/agents/agency-agent/{tests/agentName.js → brains/coordinator/subagents/announce.js} +133 -87
  17. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/brainstorm.js +14 -12
  18. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/code.agency +10 -1
  19. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/code.js +90 -52
  20. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/context.js +533 -0
  21. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/explorer.agency +36 -35
  22. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/explorer.js +162 -94
  23. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/oracle.agency +41 -30
  24. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/oracle.js +167 -89
  25. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/research.agency +31 -21
  26. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/research.js +197 -82
  27. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/review.agency +3 -0
  28. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/review.js +31 -12
  29. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/rewrite.agency +3 -0
  30. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/rewrite.js +24 -5
  31. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/supervisor.js +15 -13
  32. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/writing.agency +3 -0
  33. package/dist/lib/agents/agency-agent/brains/coordinator/subagents/writing.js +23 -4
  34. package/dist/lib/agents/agency-agent/brains/registry.agency +0 -9
  35. package/dist/lib/agents/agency-agent/brains/registry.js +5 -139
  36. package/dist/lib/agents/agency-agent/brains/simple/simple.agency +1 -0
  37. package/dist/lib/agents/agency-agent/brains/simple/simple.js +6 -3
  38. package/dist/lib/agents/agency-agent/images/images.js +2 -0
  39. package/dist/lib/agents/agency-agent/lib/agentName.js +3 -1
  40. package/dist/lib/agents/agency-agent/lib/args.agency +137 -102
  41. package/dist/lib/agents/agency-agent/lib/args.js +207 -25
  42. package/dist/lib/agents/agency-agent/lib/attachments.agency +8 -5
  43. package/dist/lib/agents/agency-agent/lib/attachments.js +59 -21
  44. package/dist/lib/agents/agency-agent/lib/budget.agency +17 -201
  45. package/dist/lib/agents/agency-agent/lib/budget.js +52 -1168
  46. package/dist/lib/agents/agency-agent/lib/capabilities.js +13 -11
  47. package/dist/lib/agents/agency-agent/lib/capabilitiesUi.js +11 -9
  48. package/dist/lib/agents/agency-agent/lib/commandPalette.agency +1 -0
  49. package/dist/lib/agents/agency-agent/lib/commandPalette.js +6 -3
  50. package/dist/lib/agents/agency-agent/lib/config.agency +0 -75
  51. package/dist/lib/agents/agency-agent/lib/config.js +5 -62
  52. package/dist/lib/agents/agency-agent/lib/grounding.agency +42 -24
  53. package/dist/lib/agents/agency-agent/lib/grounding.js +161 -126
  54. package/dist/lib/agents/agency-agent/lib/header.agency +94 -19
  55. package/dist/lib/agents/agency-agent/lib/header.js +831 -107
  56. package/dist/lib/agents/agency-agent/lib/images.js +5 -3
  57. package/dist/lib/agents/agency-agent/lib/mcp.js +8 -6
  58. package/dist/lib/agents/agency-agent/lib/modelFilters.js +3 -1
  59. package/dist/lib/agents/agency-agent/lib/models.agency +2 -2
  60. package/dist/lib/agents/agency-agent/lib/models.js +14 -12
  61. package/dist/lib/agents/agency-agent/lib/policy.agency +42 -20
  62. package/dist/lib/agents/agency-agent/lib/policy.js +240 -150
  63. package/dist/lib/agents/agency-agent/lib/projectContext.agency +44 -0
  64. package/dist/lib/agents/agency-agent/lib/projectContext.js +571 -0
  65. package/dist/lib/agents/agency-agent/lib/repl.agency +33 -8
  66. package/dist/lib/agents/agency-agent/lib/repl.js +434 -97
  67. package/dist/lib/agents/agency-agent/lib/resolution.js +9 -7
  68. package/dist/lib/agents/agency-agent/lib/resume.agency +221 -0
  69. package/dist/lib/agents/agency-agent/lib/resume.js +1929 -0
  70. package/dist/lib/agents/agency-agent/lib/search.js +18 -16
  71. package/dist/lib/agents/agency-agent/lib/session.js +9 -7
  72. package/dist/lib/agents/agency-agent/lib/sessionTitle.agency +98 -0
  73. package/dist/lib/agents/agency-agent/lib/sessionTitle.js +1209 -0
  74. package/dist/lib/agents/agency-agent/lib/sessions.agency +108 -0
  75. package/dist/lib/agents/agency-agent/lib/sessions.js +1729 -0
  76. package/dist/lib/agents/agency-agent/lib/settings.js +8 -6
  77. package/dist/lib/agents/agency-agent/lib/slots.js +5 -3
  78. package/dist/lib/agents/agency-agent/lib/trace.js +15 -13
  79. package/dist/lib/agents/agency-agent/lib/transcript.agency +25 -0
  80. package/dist/lib/agents/agency-agent/{tests/mcpGating.js → lib/transcript.js} +265 -345
  81. package/dist/lib/agents/agency-agent/lib/turn.agency +22 -48
  82. package/dist/lib/agents/agency-agent/lib/turn.js +83 -258
  83. package/dist/lib/agents/agency-agent/lib/utils/renderLLMCallResponse.js +3 -1
  84. package/dist/lib/agents/agency-agent/lib/utils.js +11 -9
  85. package/dist/lib/agents/agency-agent/shared.agency +8 -4
  86. package/dist/lib/agents/agency-agent/shared.js +34 -28
  87. package/dist/lib/agents/eval/goalJudge.js +3 -1
  88. package/dist/lib/agents/eval/judge.js +3 -1
  89. package/dist/lib/agents/eval/judgePairwise.js +3 -1
  90. package/dist/lib/agents/eval/rubricJudge.js +3 -1
  91. package/dist/lib/agents/optimize/gepaReflect.js +3 -1
  92. package/dist/lib/agents/optimize/mutatePrompt.js +3 -1
  93. package/dist/lib/agents/policy/agent.js +13 -11
  94. package/dist/lib/agents/review/agent.js +4 -2
  95. package/dist/lib/backends/agencyGenerator.js +9 -6
  96. package/dist/lib/backends/typescriptBuilder/sectionAssembler.d.ts +2 -0
  97. package/dist/lib/backends/typescriptBuilder/sectionAssembler.js +3 -0
  98. package/dist/lib/backends/typescriptBuilder.d.ts +2 -0
  99. package/dist/lib/backends/typescriptBuilder.js +29 -18
  100. package/dist/lib/backends/typescriptGenerator.d.ts +1 -1
  101. package/dist/lib/backends/typescriptGenerator.js +15 -2
  102. package/dist/lib/cli/commands.d.ts +7 -0
  103. package/dist/lib/cli/commands.js +15 -1
  104. package/dist/lib/cli/effects.d.ts +26 -0
  105. package/dist/lib/cli/effects.js +108 -0
  106. package/dist/lib/cli/eval/upload.d.ts +8 -2
  107. package/dist/lib/cli/eval/upload.js +24 -21
  108. package/dist/lib/cli/runPolicy.js +4 -25
  109. package/dist/lib/cli/statelog/spendTypes.d.ts +4 -4
  110. package/dist/lib/cli/testReport.d.ts +3 -3
  111. package/dist/lib/compiler/buildSession.js +1 -1
  112. package/dist/lib/compiler/closureValidator.js +4 -3
  113. package/dist/lib/compiler/compileSandboxed.d.ts +3 -0
  114. package/dist/lib/compiler/compileSandboxed.js +6 -2
  115. package/dist/lib/compiler/compileValidatedClosure.d.ts +8 -1
  116. package/dist/lib/compiler/compileValidatedClosure.js +17 -2
  117. package/dist/lib/config.d.ts +13 -0
  118. package/dist/lib/config.js +1 -0
  119. package/dist/lib/debugger/uiState.d.ts +1 -11
  120. package/dist/lib/logsViewer/conversation.d.ts +1 -1
  121. package/dist/lib/logsViewer/conversation.js +46 -15
  122. package/dist/lib/logsViewer/search.js +2 -2
  123. package/dist/lib/logsViewer/treeRows.d.ts +0 -1
  124. package/dist/lib/logsViewer/treeRows.js +11 -36
  125. package/dist/lib/logsViewer/wrapLine.d.ts +4 -0
  126. package/dist/lib/logsViewer/wrapLine.js +20 -0
  127. package/dist/lib/lowering/patternLowering.js +41 -6
  128. package/dist/lib/parsers/messages.d.ts +11 -0
  129. package/dist/lib/parsers/messages.js +49 -0
  130. package/dist/lib/parsers/onClauseHandler.d.ts +39 -0
  131. package/dist/lib/parsers/onClauseHandler.js +140 -0
  132. package/dist/lib/parsers/parsers.d.ts +8 -1
  133. package/dist/lib/parsers/parsers.js +267 -47
  134. package/dist/lib/preprocessors/importResolver.js +7 -0
  135. package/dist/lib/runsExplorer/views/verdictScreen.js +1 -1
  136. package/dist/lib/runtime/agencyFunction.d.ts +5 -2
  137. package/dist/lib/runtime/alwaysScope.d.ts +29 -0
  138. package/dist/lib/runtime/alwaysScope.js +70 -0
  139. package/dist/lib/runtime/builtinPolicies.js +7 -8
  140. package/dist/lib/runtime/checkpoint.d.ts +2 -2
  141. package/dist/lib/runtime/checkpoint.js +6 -1
  142. package/dist/lib/runtime/checkpointChecksum.d.ts +16 -0
  143. package/dist/lib/runtime/checkpointChecksum.js +91 -0
  144. package/dist/lib/runtime/effectSets.d.ts +23 -0
  145. package/dist/lib/runtime/effectSets.js +111 -0
  146. package/dist/lib/runtime/errors.d.ts +7 -0
  147. package/dist/lib/runtime/errors.js +15 -0
  148. package/dist/lib/runtime/handoff.d.ts +29 -0
  149. package/dist/lib/runtime/handoff.js +87 -0
  150. package/dist/lib/runtime/index.d.ts +6 -2
  151. package/dist/lib/runtime/index.js +5 -1
  152. package/dist/lib/runtime/interruptResolution.d.ts +5 -3
  153. package/dist/lib/runtime/interruptResolution.js +6 -4
  154. package/dist/lib/runtime/interrupts.js +12 -6
  155. package/dist/lib/runtime/invocationOptions.d.ts +13 -0
  156. package/dist/lib/runtime/invocationOptions.js +19 -2
  157. package/dist/lib/runtime/ipc.d.ts +6 -7
  158. package/dist/lib/runtime/ipc.js +6 -0
  159. package/dist/lib/runtime/moduleFingerprintRegistry.d.ts +14 -0
  160. package/dist/lib/runtime/moduleFingerprintRegistry.js +31 -0
  161. package/dist/lib/runtime/node.js +17 -31
  162. package/dist/lib/runtime/policy.d.ts +8 -0
  163. package/dist/lib/runtime/policy.js +28 -3
  164. package/dist/lib/runtime/policyFlags.d.ts +23 -0
  165. package/dist/lib/runtime/policyFlags.js +96 -0
  166. package/dist/lib/runtime/prompt.d.ts +3 -0
  167. package/dist/lib/runtime/prompt.js +334 -101
  168. package/dist/lib/runtime/referencedModules.d.ts +10 -0
  169. package/dist/lib/runtime/referencedModules.js +43 -0
  170. package/dist/lib/runtime/result.d.ts +8 -0
  171. package/dist/lib/runtime/result.js +1 -0
  172. package/dist/lib/runtime/resumableScope.js +1 -1
  173. package/dist/lib/runtime/rewind.js +7 -0
  174. package/dist/lib/runtime/runPolicyHandler.d.ts +1 -1
  175. package/dist/lib/runtime/runPolicyHandler.js +15 -11
  176. package/dist/lib/runtime/state/checkpointStore.d.ts +23 -11
  177. package/dist/lib/runtime/state/checkpointStore.js +41 -5
  178. package/dist/lib/runtime/state/messageThread.d.ts +9 -1
  179. package/dist/lib/runtime/state/messageThread.js +20 -1
  180. package/dist/lib/runtime/state/schemas.d.ts +178 -0
  181. package/dist/lib/runtime/state/schemas.js +50 -0
  182. package/dist/lib/runtime/state/stateStack.d.ts +7 -1
  183. package/dist/lib/runtime/state/stateStack.js +29 -1
  184. package/dist/lib/runtime/state/threadStore.d.ts +7 -0
  185. package/dist/lib/runtime/state/threadStore.js +16 -0
  186. package/dist/lib/serve/http/adapter.js +7 -1
  187. package/dist/lib/serve/mcp/interruptLoop.js +4 -1
  188. package/dist/lib/serve/policyStore.d.ts +2 -0
  189. package/dist/lib/serve/policyStore.js +37 -8
  190. package/dist/lib/statelog/agentName.d.ts +6 -6
  191. package/dist/lib/statelog/agentName.js +6 -6
  192. package/dist/lib/stdlib/agency.d.ts +3 -3
  193. package/dist/lib/stdlib/agency.js +34 -60
  194. package/dist/lib/stdlib/agentSessions.d.ts +47 -0
  195. package/dist/lib/stdlib/agentSessions.js +148 -0
  196. package/dist/lib/stdlib/assertContained.d.ts +13 -27
  197. package/dist/lib/stdlib/assertContained.js +28 -97
  198. package/dist/lib/stdlib/builtins.d.ts +11 -7
  199. package/dist/lib/stdlib/builtins.js +16 -33
  200. package/dist/lib/stdlib/cli.d.ts +4 -0
  201. package/dist/lib/stdlib/cli.js +14 -2
  202. package/dist/lib/stdlib/contained.d.ts +88 -0
  203. package/dist/lib/stdlib/contained.js +476 -0
  204. package/dist/lib/stdlib/expandPath.d.ts +10 -16
  205. package/dist/lib/stdlib/expandPath.js +10 -16
  206. package/dist/lib/stdlib/fs.d.ts +3 -3
  207. package/dist/lib/stdlib/fs.js +39 -58
  208. package/dist/lib/stdlib/git.js +4 -7
  209. package/dist/lib/stdlib/github/args.d.ts +13 -0
  210. package/dist/lib/stdlib/github/args.js +31 -0
  211. package/dist/lib/stdlib/github/credential.d.ts +20 -0
  212. package/dist/lib/stdlib/github/credential.js +103 -0
  213. package/dist/lib/stdlib/github/errors.d.ts +3 -0
  214. package/dist/lib/stdlib/github/errors.js +50 -0
  215. package/dist/lib/stdlib/github/issues.d.ts +57 -0
  216. package/dist/lib/stdlib/github/issues.js +173 -0
  217. package/dist/lib/stdlib/github/prs.d.ts +242 -0
  218. package/dist/lib/stdlib/github/prs.js +290 -0
  219. package/dist/lib/stdlib/github/repo.d.ts +22 -0
  220. package/dist/lib/stdlib/github/repo.js +92 -0
  221. package/dist/lib/stdlib/github/request.d.ts +30 -0
  222. package/dist/lib/stdlib/github/request.js +113 -0
  223. package/dist/lib/stdlib/github/testUtils.d.ts +5 -0
  224. package/dist/lib/stdlib/github/testUtils.js +31 -0
  225. package/dist/lib/stdlib/gitignore.d.ts +38 -0
  226. package/dist/lib/stdlib/gitignore.js +133 -0
  227. package/dist/lib/stdlib/grepQuery.d.ts +29 -0
  228. package/dist/lib/stdlib/grepQuery.js +65 -0
  229. package/dist/lib/stdlib/keyring.d.ts +6 -1
  230. package/dist/lib/stdlib/keyring.js +17 -16
  231. package/dist/lib/stdlib/layout/border.d.ts +4 -2
  232. package/dist/lib/stdlib/layout/border.js +21 -1
  233. package/dist/lib/stdlib/layout/box.js +5 -2
  234. package/dist/lib/stdlib/layout/table.d.ts +1 -1
  235. package/dist/lib/stdlib/layout/table.js +66 -31
  236. package/dist/lib/stdlib/layout.d.ts +1 -1
  237. package/dist/lib/stdlib/mediaPathScan.js +7 -1
  238. package/dist/lib/stdlib/policy.d.ts +3 -1
  239. package/dist/lib/stdlib/policy.js +11 -7
  240. package/dist/lib/stdlib/prepareContainedPath.d.ts +14 -9
  241. package/dist/lib/stdlib/prepareContainedPath.js +29 -80
  242. package/dist/lib/stdlib/resolveDir.d.ts +14 -16
  243. package/dist/lib/stdlib/resolveDir.js +14 -16
  244. package/dist/lib/stdlib/shell.d.ts +32 -5
  245. package/dist/lib/stdlib/shell.js +190 -157
  246. package/dist/lib/stdlib/skills.d.ts +15 -0
  247. package/dist/lib/stdlib/skills.js +15 -0
  248. package/dist/lib/stdlib/speech.js +26 -16
  249. package/dist/lib/stdlib/spill.d.ts +11 -0
  250. package/dist/lib/stdlib/spill.js +82 -0
  251. package/dist/lib/stdlib/system.d.ts +5 -0
  252. package/dist/lib/stdlib/system.js +14 -5
  253. package/dist/lib/stdlib/template.js +3 -4
  254. package/dist/lib/stdlib/thread.d.ts +3 -0
  255. package/dist/lib/stdlib/thread.js +10 -0
  256. package/dist/lib/stdlib/threads.d.ts +3 -0
  257. package/dist/lib/stdlib/threads.js +10 -0
  258. package/dist/lib/symbolTable.js +2 -5
  259. package/dist/lib/templates/backends/typescriptGenerator/blockSetup.d.ts +2 -2
  260. package/dist/lib/templates/backends/typescriptGenerator/blockSetup.js +1 -1
  261. package/dist/lib/templates/backends/typescriptGenerator/forkBlockSetup.d.ts +2 -2
  262. package/dist/lib/templates/backends/typescriptGenerator/forkBlockSetup.js +1 -1
  263. package/dist/lib/templates/backends/typescriptGenerator/imports.d.ts +1 -1
  264. package/dist/lib/templates/backends/typescriptGenerator/imports.js +2 -1
  265. package/dist/lib/templates/backends/typescriptGenerator/interruptAssignment.d.ts +1 -1
  266. package/dist/lib/templates/backends/typescriptGenerator/interruptAssignment.js +5 -5
  267. package/dist/lib/templates/backends/typescriptGenerator/interruptReturn.d.ts +1 -1
  268. package/dist/lib/templates/backends/typescriptGenerator/interruptReturn.js +4 -4
  269. package/dist/lib/tui/elements.d.ts +2 -0
  270. package/dist/lib/tui/render/ansi.js +3 -0
  271. package/dist/lib/tui/render/html.js +2 -0
  272. package/dist/lib/tui/render/renderer.js +4 -2
  273. package/dist/lib/tui/styleParser.d.ts +1 -0
  274. package/dist/lib/tui/styleParser.js +14 -3
  275. package/dist/lib/tui/table.d.ts +1 -1
  276. package/dist/lib/tui/utils.js +1 -1
  277. package/dist/lib/typeChecker/diagnosticExplanations.js +32 -0
  278. package/dist/lib/typeChecker/diagnostics.d.ts +30 -0
  279. package/dist/lib/typeChecker/diagnostics.js +30 -0
  280. package/dist/lib/typeChecker/effectPayloadCheck.js +68 -6
  281. package/dist/lib/typeChecker/index.js +5 -0
  282. package/dist/lib/typeChecker/matchExhaustiveness.js +65 -1
  283. package/dist/lib/typeChecker/resolveCall.d.ts +29 -4
  284. package/dist/lib/typeChecker/resolveCall.js +81 -9
  285. package/dist/lib/typeChecker/resolveVariable.d.ts +4 -0
  286. package/dist/lib/typeChecker/resolveVariable.js +1 -1
  287. package/dist/lib/typeChecker/resultUnion.js +1 -0
  288. package/dist/lib/typeChecker/sandboxNameCheck.d.ts +18 -0
  289. package/dist/lib/typeChecker/sandboxNameCheck.js +234 -0
  290. package/dist/lib/typeChecker/synthesizer.js +1 -0
  291. package/dist/lib/typeChecker/undefinedFunctionDiagnostic.js +23 -13
  292. package/dist/lib/typeChecker/undefinedVariableDiagnostic.js +17 -6
  293. package/dist/lib/types/function.d.ts +17 -4
  294. package/dist/lib/types/function.js +11 -0
  295. package/dist/lib/types/pattern.d.ts +8 -3
  296. package/dist/lib/types.d.ts +2 -2
  297. package/dist/lib/utils/alwaysTag.d.ts +21 -0
  298. package/dist/lib/utils/alwaysTag.js +53 -0
  299. package/dist/lib/utils/identifierSlots.js +1 -0
  300. package/dist/lib/utils/tagsAbove.d.ts +22 -0
  301. package/dist/lib/utils/tagsAbove.js +36 -0
  302. package/dist/lib/utils/topLevel.js +1 -0
  303. package/dist/scripts/agency.js +20 -10
  304. package/package.json +3 -3
  305. package/stdlib/agency/eval.js +5 -3
  306. package/stdlib/agency/local.js +14 -12
  307. package/stdlib/agency.agency +12 -5
  308. package/stdlib/agency.js +129 -81
  309. package/stdlib/agent.js +9 -7
  310. package/stdlib/agents/agency/coding.agency +5 -1
  311. package/stdlib/agents/agency/coding.js +19 -13
  312. package/stdlib/agents/agency/expert.js +6 -4
  313. package/stdlib/agents/agency/researcher.agency +11 -20
  314. package/stdlib/agents/agency/researcher.js +64 -84
  315. package/stdlib/agents/agency/review.js +10 -8
  316. package/stdlib/agents/agency/verifier.js +7 -5
  317. package/stdlib/agents/coding.js +6 -4
  318. package/stdlib/agents/composable/promptRewriter.js +3 -1
  319. package/stdlib/agents/composable/researcher.js +4 -2
  320. package/stdlib/agents/composable/utils.js +5 -3
  321. package/stdlib/agents/data.js +6 -4
  322. package/stdlib/agents/expert.js +6 -4
  323. package/stdlib/agents/explorer.agency +16 -18
  324. package/stdlib/agents/explorer.js +74 -107
  325. package/stdlib/agents/lib/expertGuidance.js +6 -4
  326. package/stdlib/agents/lib/feedback.js +9 -7
  327. package/stdlib/agents/lib/search.js +8 -6
  328. package/stdlib/agents/lib/shared.js +5 -3
  329. package/stdlib/agents/lib/toolkits.agency +9 -3
  330. package/stdlib/agents/lib/toolkits.js +28 -17
  331. package/stdlib/agents/oracle.agency +17 -20
  332. package/stdlib/agents/oracle.js +77 -111
  333. package/stdlib/agents/planner.js +19 -17
  334. package/stdlib/agents/researcher.agency +16 -15
  335. package/stdlib/agents/researcher.js +68 -63
  336. package/stdlib/agents/review.js +6 -4
  337. package/stdlib/agents/typescript/review.js +7 -5
  338. package/stdlib/agents/verifier.js +8 -6
  339. package/stdlib/agents/writing/review.js +15 -13
  340. package/stdlib/agents/writing/rewrite.agency +2 -1
  341. package/stdlib/agents/writing/rewrite.js +36 -16
  342. package/stdlib/args.js +3 -1
  343. package/stdlib/array.js +15 -13
  344. package/stdlib/auth/keyring.agency +3 -0
  345. package/stdlib/auth/keyring.js +17 -11
  346. package/stdlib/auth/oauth.agency +3 -0
  347. package/stdlib/auth/oauth.js +17 -11
  348. package/stdlib/aws/s3.js +20 -18
  349. package/stdlib/calendar.agency +3 -0
  350. package/stdlib/calendar.js +23 -17
  351. package/stdlib/capabilities.agency +16 -1
  352. package/stdlib/capabilities.js +13 -1
  353. package/stdlib/clipboard.js +8 -6
  354. package/stdlib/concurrency.js +6 -4
  355. package/stdlib/data/connector.js +7 -5
  356. package/stdlib/data/finance/dbnomics.js +9 -7
  357. package/stdlib/data/finance/edgar.js +16 -14
  358. package/stdlib/data/finance/fred.js +17 -15
  359. package/stdlib/data/news/gdelt.js +9 -7
  360. package/stdlib/data/people/littlesis.js +30 -28
  361. package/stdlib/data/social/bluesky.js +23 -21
  362. package/stdlib/data/tech/hackernews.js +31 -29
  363. package/stdlib/data/tech/yc.js +31 -29
  364. package/stdlib/data/usaspending.js +19 -17
  365. package/stdlib/data/wikidata.js +30 -28
  366. package/stdlib/date.js +19 -17
  367. package/stdlib/docs/cli/agent.md +17 -0
  368. package/stdlib/docs/cli/effects.md +80 -0
  369. package/stdlib/docs/cli/policy.md +31 -0
  370. package/stdlib/docs/diagnostics/effects.md +66 -0
  371. package/stdlib/docs/diagnostics/index.md +6 -0
  372. package/stdlib/docs/diagnostics/names.md +8 -0
  373. package/stdlib/docs/guide/checkpointing.md +20 -1
  374. package/stdlib/docs/guide/functions.md +63 -1
  375. package/stdlib/docs/guide/match-expressions.md +38 -0
  376. package/stdlib/docs/guide/policies.md +20 -0
  377. package/stdlib/docs/stdlib/agency.md +54 -51
  378. package/stdlib/docs/stdlib/agents/agency/coding.md +2 -2
  379. package/stdlib/docs/stdlib/agents/agency/researcher.md +1 -1
  380. package/stdlib/docs/stdlib/agents/explorer.md +8 -6
  381. package/stdlib/docs/stdlib/agents/lib/toolkits.md +19 -14
  382. package/stdlib/docs/stdlib/agents/oracle.md +9 -8
  383. package/stdlib/docs/stdlib/agents/researcher.md +2 -2
  384. package/stdlib/docs/stdlib/auth/keyring.md +10 -7
  385. package/stdlib/docs/stdlib/auth/oauth.md +10 -7
  386. package/stdlib/docs/stdlib/calendar.md +14 -11
  387. package/stdlib/docs/stdlib/capabilities.md +65 -10
  388. package/stdlib/docs/stdlib/fs.md +17 -12
  389. package/stdlib/docs/stdlib/git.md +55 -38
  390. package/stdlib/docs/stdlib/github.md +1126 -0
  391. package/stdlib/docs/stdlib/http.md +10 -7
  392. package/stdlib/docs/stdlib/index.md +61 -33
  393. package/stdlib/docs/stdlib/mcp.md +7 -6
  394. package/stdlib/docs/stdlib/messaging/email.md +5 -4
  395. package/stdlib/docs/stdlib/messaging/imessage.md +3 -2
  396. package/stdlib/docs/stdlib/messaging/sms.md +3 -2
  397. package/stdlib/docs/stdlib/notes/apple.md +19 -13
  398. package/stdlib/docs/stdlib/policy.md +120 -64
  399. package/stdlib/docs/stdlib/safeBash/actions.md +15 -42
  400. package/stdlib/docs/stdlib/safeBash.md +9 -2
  401. package/stdlib/docs/stdlib/shell.md +53 -25
  402. package/stdlib/docs/stdlib/skills.md +292 -77
  403. package/stdlib/docs/stdlib/speech.md +8 -11
  404. package/stdlib/docs/stdlib/spill.md +172 -0
  405. package/stdlib/docs/stdlib/system.md +22 -18
  406. package/stdlib/docs/stdlib/thread.md +63 -22
  407. package/stdlib/docs/stdlib/toolbox.md +103 -45
  408. package/stdlib/docs/stdlib/ui/cli.md +26 -6
  409. package/stdlib/docs/stdlib/ui/layout.md +5 -3
  410. package/stdlib/docs/stdlib/ui/table.md +8 -1
  411. package/stdlib/fs.agency +40 -11
  412. package/stdlib/fs.js +316 -50
  413. package/stdlib/git.agency +17 -0
  414. package/stdlib/git.js +76 -56
  415. package/stdlib/github.agency +854 -0
  416. package/stdlib/github.js +5103 -0
  417. package/stdlib/http.agency +3 -0
  418. package/stdlib/http.js +16 -10
  419. package/stdlib/image.js +3 -1
  420. package/stdlib/index.agency +16 -0
  421. package/stdlib/index.js +49 -41
  422. package/stdlib/llm.js +11 -9
  423. package/stdlib/markdown.js +7 -5
  424. package/stdlib/math.js +7 -5
  425. package/stdlib/mcp.agency +1 -0
  426. package/stdlib/mcp.js +10 -6
  427. package/stdlib/memory.js +21 -19
  428. package/stdlib/messaging/email.agency +1 -0
  429. package/stdlib/messaging/email.js +14 -10
  430. package/stdlib/messaging/imessage.agency +1 -0
  431. package/stdlib/messaging/imessage.js +8 -4
  432. package/stdlib/messaging/sms.agency +1 -0
  433. package/stdlib/messaging/sms.js +8 -4
  434. package/stdlib/notes/apple.agency +6 -0
  435. package/stdlib/notes/apple.js +33 -24
  436. package/stdlib/object.js +10 -8
  437. package/stdlib/path.js +9 -7
  438. package/stdlib/policy.agency +172 -66
  439. package/stdlib/policy.js +1010 -127
  440. package/stdlib/safeBash/actions.agency +4 -16
  441. package/stdlib/safeBash/actions.js +13 -165
  442. package/stdlib/safeBash.agency +16 -9
  443. package/stdlib/safeBash.js +89 -66
  444. package/stdlib/shell.agency +75 -19
  445. package/stdlib/shell.js +312 -71
  446. package/stdlib/skills.agency +477 -90
  447. package/stdlib/skills.js +3498 -313
  448. package/stdlib/speech.agency +35 -7
  449. package/stdlib/speech.js +306 -37
  450. package/stdlib/spill.agency +199 -0
  451. package/stdlib/spill.js +1814 -0
  452. package/stdlib/statelog.js +10 -8
  453. package/stdlib/strategy.js +11 -9
  454. package/stdlib/supervise.js +4 -2
  455. package/stdlib/syntax.js +6 -4
  456. package/stdlib/system.agency +20 -4
  457. package/stdlib/system.js +224 -38
  458. package/stdlib/tag.js +8 -6
  459. package/stdlib/thread.agency +24 -0
  460. package/stdlib/thread.js +295 -21
  461. package/stdlib/toolbox.agency +270 -106
  462. package/stdlib/toolbox.js +3605 -1757
  463. package/stdlib/ui/chart.js +6 -4
  464. package/stdlib/ui/cli.agency +10 -1
  465. package/stdlib/ui/cli.js +140 -11
  466. package/stdlib/ui/layout.agency +4 -2
  467. package/stdlib/ui/layout.js +25 -21
  468. package/stdlib/ui/table.agency +9 -2
  469. package/stdlib/ui/table.js +34 -13
  470. package/stdlib/ui.js +64 -62
  471. package/stdlib/validation.js +15 -13
  472. package/stdlib/weather.js +7 -5
  473. package/stdlib/web/browser.js +5 -3
  474. package/stdlib/web/search.js +8 -6
  475. package/stdlib/wikipedia.js +11 -9
  476. package/dist/lib/agents/agency-agent/brains/coordinator/tests/agentTurn.agency +0 -436
  477. package/dist/lib/agents/agency-agent/brains/coordinator/tests/agentTurn.js +0 -4853
  478. package/dist/lib/agents/agency-agent/brains/coordinator/tests/agentTurn.test.json +0 -310
  479. package/dist/lib/agents/agency-agent/brains/coordinator/tests/attachmentsTurn.agency +0 -55
  480. package/dist/lib/agents/agency-agent/brains/coordinator/tests/attachmentsTurn.js +0 -801
  481. package/dist/lib/agents/agency-agent/brains/coordinator/tests/attachmentsTurn.test.json +0 -47
  482. package/dist/lib/agents/agency-agent/brains/coordinator/tests/brainstorm.agency +0 -94
  483. package/dist/lib/agents/agency-agent/brains/coordinator/tests/brainstorm.js +0 -1270
  484. package/dist/lib/agents/agency-agent/brains/coordinator/tests/brainstorm.test.json +0 -59
  485. package/dist/lib/agents/agency-agent/brains/coordinator/tests/supervisor.agency +0 -197
  486. package/dist/lib/agents/agency-agent/brains/coordinator/tests/supervisor.js +0 -2798
  487. package/dist/lib/agents/agency-agent/brains/coordinator/tests/supervisor.test.json +0 -169
  488. package/dist/lib/agents/agency-agent/brains/coordinator/tests/toolWiring.agency +0 -79
  489. package/dist/lib/agents/agency-agent/brains/coordinator/tests/toolWiring.js +0 -1064
  490. package/dist/lib/agents/agency-agent/brains/coordinator/tests/toolWiring.test.json +0 -46
  491. package/dist/lib/agents/agency-agent/brains/simple/tests/simpleTurn.agency +0 -17
  492. package/dist/lib/agents/agency-agent/brains/simple/tests/simpleTurn.js +0 -386
  493. package/dist/lib/agents/agency-agent/brains/simple/tests/simpleTurn.test.json +0 -13
  494. package/dist/lib/agents/agency-agent/tests/agentDir.agency +0 -20
  495. package/dist/lib/agents/agency-agent/tests/agentDir.js +0 -382
  496. package/dist/lib/agents/agency-agent/tests/agentDir.test.json +0 -15
  497. package/dist/lib/agents/agency-agent/tests/agentName.agency +0 -10
  498. package/dist/lib/agents/agency-agent/tests/agentName.test.json +0 -6
  499. package/dist/lib/agents/agency-agent/tests/agentTurn.js +0 -4154
  500. package/dist/lib/agents/agency-agent/tests/attachments.agency +0 -192
  501. package/dist/lib/agents/agency-agent/tests/attachments.js +0 -3840
  502. package/dist/lib/agents/agency-agent/tests/attachments.test.json +0 -254
  503. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +0 -926
  504. package/dist/lib/agents/agency-agent/tests/brainstorm.js +0 -1065
  505. package/dist/lib/agents/agency-agent/tests/capabilities.agency +0 -233
  506. package/dist/lib/agents/agency-agent/tests/capabilities.js +0 -2443
  507. package/dist/lib/agents/agency-agent/tests/capabilities.test.json +0 -165
  508. package/dist/lib/agents/agency-agent/tests/execPolicy.agency +0 -46
  509. package/dist/lib/agents/agency-agent/tests/execPolicy.js +0 -980
  510. package/dist/lib/agents/agency-agent/tests/execPolicy.test.json +0 -34
  511. package/dist/lib/agents/agency-agent/tests/gitPolicy.agency +0 -53
  512. package/dist/lib/agents/agency-agent/tests/gitPolicy.js +0 -796
  513. package/dist/lib/agents/agency-agent/tests/gitPolicy.test.json +0 -7
  514. package/dist/lib/agents/agency-agent/tests/imageTool.agency +0 -51
  515. package/dist/lib/agents/agency-agent/tests/imageTool.js +0 -1233
  516. package/dist/lib/agents/agency-agent/tests/imageTool.test.json +0 -81
  517. package/dist/lib/agents/agency-agent/tests/mcpGating.agency +0 -42
  518. package/dist/lib/agents/agency-agent/tests/mcpGating.test.json +0 -22
  519. package/dist/lib/agents/agency-agent/tests/memoryWiring.agency +0 -148
  520. package/dist/lib/agents/agency-agent/tests/memoryWiring.js +0 -1414
  521. package/dist/lib/agents/agency-agent/tests/memoryWiring.test.json +0 -75
  522. package/dist/lib/agents/agency-agent/tests/modelFilters.agency +0 -32
  523. package/dist/lib/agents/agency-agent/tests/modelFilters.js +0 -809
  524. package/dist/lib/agents/agency-agent/tests/modelFilters.test.json +0 -7
  525. package/dist/lib/agents/agency-agent/tests/models.agency +0 -114
  526. package/dist/lib/agents/agency-agent/tests/models.js +0 -2324
  527. package/dist/lib/agents/agency-agent/tests/models.test.json +0 -49
  528. package/dist/lib/agents/agency-agent/tests/oneShotRounds.agency +0 -20
  529. package/dist/lib/agents/agency-agent/tests/oneShotRounds.js +0 -646
  530. package/dist/lib/agents/agency-agent/tests/oneShotRounds.test.json +0 -9
  531. package/dist/lib/agents/agency-agent/tests/readPolicy.agency +0 -44
  532. package/dist/lib/agents/agency-agent/tests/readPolicy.js +0 -1035
  533. package/dist/lib/agents/agency-agent/tests/readPolicy.test.json +0 -22
  534. package/dist/lib/agents/agency-agent/tests/registry.agency +0 -26
  535. package/dist/lib/agents/agency-agent/tests/registry.js +0 -698
  536. package/dist/lib/agents/agency-agent/tests/registry.test.json +0 -9
  537. package/dist/lib/agents/agency-agent/tests/resolution.agency +0 -236
  538. package/dist/lib/agents/agency-agent/tests/resolution.js +0 -2315
  539. package/dist/lib/agents/agency-agent/tests/resolution.test.json +0 -115
  540. package/dist/lib/agents/agency-agent/tests/search.agency +0 -101
  541. package/dist/lib/agents/agency-agent/tests/search.js +0 -2509
  542. package/dist/lib/agents/agency-agent/tests/search.test.json +0 -19
  543. package/dist/lib/agents/agency-agent/tests/settings.agency +0 -216
  544. package/dist/lib/agents/agency-agent/tests/settings.js +0 -2281
  545. package/dist/lib/agents/agency-agent/tests/settings.test.json +0 -145
  546. package/dist/lib/agents/agency-agent/tests/slots.agency +0 -22
  547. package/dist/lib/agents/agency-agent/tests/slots.js +0 -685
  548. package/dist/lib/agents/agency-agent/tests/slots.test.json +0 -10
  549. package/dist/lib/agents/agency-agent/tests/stubBrains.agency +0 -143
  550. package/dist/lib/agents/agency-agent/tests/stubBrains.js +0 -2376
  551. package/dist/lib/agents/agency-agent/tests/stubPolicy.json +0 -4
  552. package/dist/lib/agents/agency-agent/tests/subagentFailure.js +0 -749
  553. package/dist/lib/agents/agency-agent/tests/supervisor.js +0 -2437
  554. package/dist/lib/agents/agency-agent/tests/threadText.agency +0 -29
  555. package/dist/lib/agents/agency-agent/tests/toolWiring.js +0 -948
  556. package/dist/lib/agents/agency-agent/tests/turn.agency +0 -194
  557. package/dist/lib/agents/agency-agent/tests/turn.js +0 -2818
  558. package/dist/lib/agents/agency-agent/tests/turn.test.json +0 -29
  559. package/dist/lib/agents/agency-agent/tests/turnFailure.agency +0 -44
  560. package/dist/lib/agents/agency-agent/tests/turnFailure.js +0 -881
  561. package/dist/lib/agents/agency-agent/tests/turnFailure.test.json +0 -40
  562. package/dist/lib/stdlib/resolvePath.d.ts +0 -12
  563. package/dist/lib/stdlib/resolvePath.js +0 -21
  564. package/dist/lib/utils/readContainedFile.d.ts +0 -6
  565. package/dist/lib/utils/readContainedFile.js +0 -49
@@ -4,20 +4,18 @@ import { setLlmOptions } from "std::llm"
4
4
  import { evalOutput, evalValue, setAgentName } from "std::statelog"
5
5
  import { cwd, env, isTTY, readStdin, setTitle } from "std::system"
6
6
  import { getCost } from "std::thread"
7
- import {
8
- clearMessages,
9
- pushMessage,
10
- repl,
11
- clearScreen,
12
- } from "std::ui/cli"
7
+ import { setSlashPalette } from "std::ui/cli"
8
+ import { clearMessages, pushMessage, repl, clearScreen } from "std::ui/cli"
13
9
 
14
- import { brainByName, allBrains, brainFlagHelp } from "./brains/registry.agency"
10
+ import { brainByName, allBrains } from "./brains/registry.agency"
15
11
  import { agentNameFor } from "./lib/agentName.agency"
16
12
  import { parseAgentArgs } from "./lib/args.agency"
13
+ import { mergedPalette } from "./lib/commandPalette.agency"
17
14
  import { getHeader } from "./lib/header.agency"
18
15
  import { maybeLoadMcp } from "./lib/mcp.agency"
19
16
  import { printPolicyHelp } from "./lib/policy.agency"
20
- import { startInteractive } from "./lib/repl.agency"
17
+ import { installSessionHooks, startInteractive } from "./lib/repl.agency"
18
+ import { chooseSession, startSession } from "./lib/resume.agency"
21
19
  import { pickModelsForAgent, maybeEnableMemory } from "./lib/session.agency"
22
20
  import { loadSettings } from "./lib/settings.agency"
23
21
  import { setDebug, setVerbose, setInteractive } from "./lib/trace.agency"
@@ -32,7 +30,6 @@ import {
32
30
  import { formatTurnFailure } from "./lib/utils.agency"
33
31
  import { resolveMaxToolCallRounds, getCapabilities } from "./shared.agency"
34
32
 
35
-
36
33
  // UI mode select — one-line swap between the alt-screen TUI and the
37
34
  // line-mode REPL. Both modules expose the same `repl` / `pushMessage`
38
35
  // / `clearMessages` surface (line mode re-exports `pushMessage` and
@@ -69,7 +66,7 @@ It means that agent starts with an initial prompt already there to respond to. *
69
66
  node main() {
70
67
  // Parse CLI flags first — `parseArgs` exits on --help / --version /
71
68
  // usage errors, before any handlers or the TUI are installed.
72
- const args = parseAgentArgs(brainFlagHelp())
69
+ const args = parseAgentArgs()
73
70
 
74
71
  // NOTE: --trace / --log / --agent-home are declared here only for
75
72
  // --help and so parseArgs accepts them. runBundledAgent extracts them from
@@ -91,7 +88,11 @@ node main() {
91
88
  printPolicyHelp()
92
89
  process.exit(0)
93
90
  }
94
- setPolicyArg(args.flags.policy ?? "")
91
+ setPolicyArg(
92
+ args.flags.policy ?? "",
93
+ approve: args.flags.approve ?? "",
94
+ reject: args.flags.reject ?? "",
95
+ )
95
96
 
96
97
  const brainName = resolveBrainName(args.flags.brain ?? null, loadSettings())
97
98
  const brain = brainByName(brainName)
@@ -102,6 +103,19 @@ node main() {
102
103
  return
103
104
  }
104
105
  setBrain(brain)
106
+
107
+ // Positional args (everything after flags) are joined with spaces to
108
+ // form the starting prompt. `--` ends flag parsing if a positional
109
+ // would otherwise look like a flag.
110
+ const positionalQuery = args.positionals.join(" ")
111
+ const hasQuery = positionalQuery != ""
112
+ const wantInteractive = args.flags.interactive
113
+
114
+ // Seeded interactive: run the prompt as the first turn, then hand over the
115
+ // REPL (needs a TTY + query, and not --print). Everything else is one-shot.
116
+ const seededInteractive = wantInteractive && hasQuery && isTTY() && !args.flags.print
117
+ const isOneShot = !seededInteractive && (args.flags.print || hasQuery || !isTTY())
118
+
105
119
  // Group this trace under its brain wherever runs are compared.
106
120
  setAgentName(agentNameFor(brain))
107
121
 
@@ -111,7 +125,11 @@ node main() {
111
125
  let startAgent = ""
112
126
  if (resolvedStartTarget == null) {
113
127
  const validTargets = ["main", ...brain.startTargets].join(", ")
114
- print(color.red("Unknown --agent value: ${requestedStartTarget}. Valid for the ${brain.name} brain: ${validTargets}"))
128
+ print(
129
+ color.red(
130
+ "Unknown --agent value: ${requestedStartTarget}. Valid for the ${brain.name} brain: ${validTargets}",
131
+ ),
132
+ )
115
133
  process.exit(1)
116
134
  return
117
135
  } else {
@@ -128,28 +146,13 @@ node main() {
128
146
  // coordinator. Must run before the first turn (mcpTools ordering contract).
129
147
  maybeLoadMcp(loadSettings())
130
148
 
131
- // Positional args (everything after flags) are joined with spaces to
132
- // form the starting prompt. `--` ends flag parsing if a positional
133
- // would otherwise look like a flag.
134
- const positionalQuery = args.positionals.join(" ")
135
- const hasQuery = positionalQuery != ""
136
-
137
- const wantInteractive = args.flags.interactive
138
-
139
- // Seeded interactive: run the prompt as the first turn, then hand over the
140
- // REPL (needs a TTY + query, and not --print). Everything else is one-shot.
141
- const seededInteractive = wantInteractive && hasQuery && isTTY() && !args.flags.print
142
- const isOneShot = !seededInteractive && (args.flags.print || hasQuery || !isTTY())
143
-
144
149
  const maxRounds = resolveMaxToolCallRounds(
145
150
  args.flags["max-tool-call-rounds"] ?? null,
146
151
  isOneShot,
147
152
  )
148
- if (maxRounds != null) {
149
- setLlmOptions({
150
- maxToolCallRounds: maxRounds
151
- })
152
- }
153
+ setLlmOptions({
154
+ maxToolCallRounds: maxRounds
155
+ })
153
156
  const maxResultChars = args.flags["max-tool-result-chars"]
154
157
  if (maxResultChars != null) {
155
158
  setLlmOptions({
@@ -166,6 +169,31 @@ node main() {
166
169
 
167
170
  setAgentCwd(cwd())
168
171
 
172
+ // Interactive runs are saved per turn, and a resumed one restores its
173
+ // checkpoint here, after the setup above and before the session starts.
174
+ // One-shot runs are not saved, so a resume flag on one is a mistake
175
+ // rather than something to ignore.
176
+ if (isOneShot && (args.flags.continue || args.flags.resume != null)) {
177
+ print(
178
+ color.red(
179
+ "--continue and --resume need an interactive session; one-shot runs are not saved.",
180
+ ),
181
+ )
182
+ process.exit(1)
183
+ }
184
+ // Everything above is process-level: model resolution feeds the memory
185
+ // layer, and memory, MCP, and the settings reads behind them must run
186
+ // before the policy handler exists or they prompt. A restore keeps
187
+ // those TypeScript-side effects and replaces only the Agency state.
188
+ if (!isOneShot) {
189
+ installSessionHooks()
190
+ setSlashPalette(mergedPalette())
191
+ startSession(
192
+ chooseSession(args.flags.continue, args.flags.resume ?? null),
193
+ brain,
194
+ )
195
+ }
196
+
169
197
  if (isOneShot) {
170
198
  let prompt = positionalQuery
171
199
  if (!hasQuery) {