agency-lang 0.9.0 → 0.11.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 (1208) hide show
  1. package/dist/lib/agentTarget.d.ts +52 -0
  2. package/dist/lib/agentTarget.js +83 -0
  3. package/dist/lib/agentTarget.test.js +76 -0
  4. package/dist/lib/agents/agency-agent/agent.agency +19 -534
  5. package/dist/lib/agents/agency-agent/agent.js +491 -5004
  6. package/dist/lib/agents/agency-agent/images/images.js +12 -6
  7. package/dist/lib/agents/agency-agent/lib/args.js +32 -11
  8. package/dist/lib/agents/agency-agent/lib/attachments.js +71 -23
  9. package/dist/lib/agents/agency-agent/lib/budget.agency +213 -0
  10. package/dist/lib/agents/agency-agent/lib/budget.js +1504 -0
  11. package/dist/lib/agents/agency-agent/lib/capabilities.js +123 -48
  12. package/dist/lib/agents/agency-agent/lib/capabilitiesUi.js +422 -115
  13. package/dist/lib/agents/agency-agent/lib/commandPalette.js +15 -6
  14. package/dist/lib/agents/agency-agent/lib/config.js +22 -11
  15. package/dist/lib/agents/agency-agent/lib/coordinator.agency +373 -0
  16. package/dist/lib/agents/agency-agent/lib/coordinator.js +2377 -0
  17. package/dist/lib/agents/agency-agent/lib/header.js +68 -23
  18. package/dist/lib/agents/agency-agent/lib/images.js +121 -36
  19. package/dist/lib/agents/agency-agent/lib/mcp.js +258 -86
  20. package/dist/lib/agents/agency-agent/lib/modelFilters.js +14 -6
  21. package/dist/lib/agents/agency-agent/lib/models.agency +6 -4
  22. package/dist/lib/agents/agency-agent/lib/models.js +194 -72
  23. package/dist/lib/agents/agency-agent/lib/policy.js +205 -96
  24. package/dist/lib/agents/agency-agent/lib/repl.agency +415 -0
  25. package/dist/lib/agents/agency-agent/lib/repl.js +3174 -0
  26. package/dist/lib/agents/agency-agent/lib/resolution.js +158 -54
  27. package/dist/lib/agents/agency-agent/lib/search.js +216 -62
  28. package/dist/lib/agents/agency-agent/lib/session.js +342 -155
  29. package/dist/lib/agents/agency-agent/lib/settings.js +116 -40
  30. package/dist/lib/agents/agency-agent/lib/slots.js +49 -14
  31. package/dist/lib/agents/agency-agent/lib/trace.agency +150 -0
  32. package/dist/lib/agents/agency-agent/lib/trace.js +2057 -0
  33. package/dist/lib/agents/agency-agent/lib/utils/renderLLMCallResponse.js +14 -6
  34. package/dist/lib/agents/agency-agent/lib/utils.agency +12 -0
  35. package/dist/lib/agents/agency-agent/lib/utils.js +252 -52
  36. package/dist/lib/agents/agency-agent/prompts/code.md +268 -0
  37. package/dist/lib/agents/agency-agent/prompts/codeSample.js +27 -21
  38. package/dist/lib/agents/agency-agent/prompts/main-large.md +4 -0
  39. package/dist/lib/agents/agency-agent/prompts/main-small.md +4 -0
  40. package/dist/lib/agents/agency-agent/prompts/oneShot.md +21 -0
  41. package/dist/lib/agents/agency-agent/shared.agency +1 -1
  42. package/dist/lib/agents/agency-agent/shared.js +264 -82
  43. package/dist/lib/agents/agency-agent/subagents/brainstorm.agency +201 -0
  44. package/dist/lib/agents/agency-agent/subagents/brainstorm.js +1652 -0
  45. package/dist/lib/agents/agency-agent/subagents/code.agency +328 -478
  46. package/dist/lib/agents/agency-agent/subagents/code.js +2742 -679
  47. package/dist/lib/agents/agency-agent/subagents/explorer.agency +18 -130
  48. package/dist/lib/agents/agency-agent/subagents/explorer.js +91 -228
  49. package/dist/lib/agents/agency-agent/subagents/oracle.agency +22 -102
  50. package/dist/lib/agents/agency-agent/subagents/oracle.js +91 -208
  51. package/dist/lib/agents/agency-agent/subagents/research.agency +57 -140
  52. package/dist/lib/agents/agency-agent/subagents/research.js +158 -196
  53. package/dist/lib/agents/agency-agent/subagents/review.agency +21 -40
  54. package/dist/lib/agents/agency-agent/subagents/review.js +229 -316
  55. package/dist/lib/agents/agency-agent/subagents/supervisor.agency +378 -0
  56. package/dist/lib/agents/agency-agent/subagents/supervisor.js +2486 -0
  57. package/dist/lib/agents/agency-agent/subagents/verify.js +37 -71
  58. package/dist/lib/agents/agency-agent/tests/agentDir.js +15 -9
  59. package/dist/lib/agents/agency-agent/tests/agentTurn.agency +1 -1
  60. package/dist/lib/agents/agency-agent/tests/agentTurn.js +517 -229
  61. package/dist/lib/agents/agency-agent/tests/agentTurn.test.json +3 -3
  62. package/dist/lib/agents/agency-agent/tests/attachments.js +85 -86
  63. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.agency +1 -1
  64. package/dist/lib/agents/agency-agent/tests/attachmentsTurn.js +130 -46
  65. package/dist/lib/agents/agency-agent/tests/brainstorm.agency +94 -0
  66. package/dist/lib/agents/agency-agent/tests/brainstorm.js +1235 -0
  67. package/dist/lib/agents/agency-agent/tests/brainstorm.test.json +59 -0
  68. package/dist/lib/agents/agency-agent/tests/capabilities.js +190 -87
  69. package/dist/lib/agents/agency-agent/tests/execPolicy.js +206 -62
  70. package/dist/lib/agents/agency-agent/tests/gitPolicy.js +130 -40
  71. package/dist/lib/agents/agency-agent/tests/imageTool.js +82 -37
  72. package/dist/lib/agents/agency-agent/tests/mcpGating.js +39 -20
  73. package/dist/lib/agents/agency-agent/tests/memoryWiring.js +27 -27
  74. package/dist/lib/agents/agency-agent/tests/modelFilters.js +86 -42
  75. package/dist/lib/agents/agency-agent/tests/models.js +181 -96
  76. package/dist/lib/agents/agency-agent/tests/models.test.json +4 -4
  77. package/dist/lib/agents/agency-agent/tests/oneShotRounds.js +99 -39
  78. package/dist/lib/agents/agency-agent/tests/resolution.js +487 -141
  79. package/dist/lib/agents/agency-agent/tests/resolution.test.json +2 -2
  80. package/dist/lib/agents/agency-agent/tests/search.js +462 -144
  81. package/dist/lib/agents/agency-agent/tests/settings.js +57 -48
  82. package/dist/lib/agents/agency-agent/tests/slots.js +23 -21
  83. package/dist/lib/agents/agency-agent/tests/subagentFailure.js +749 -0
  84. package/dist/lib/agents/agency-agent/tests/supervisor.agency +197 -0
  85. package/dist/lib/agents/agency-agent/tests/supervisor.js +2713 -0
  86. package/dist/lib/agents/agency-agent/tests/supervisor.test.json +169 -0
  87. package/dist/lib/agents/agency-agent/tests/toolWiring.agency +23 -4
  88. package/dist/lib/agents/agency-agent/tests/toolWiring.js +296 -28
  89. package/dist/lib/agents/agency-agent/tests/toolWiring.test.json +14 -0
  90. package/dist/lib/agents/agency-agent/tests/turnFailure.js +91 -45
  91. package/dist/lib/agents/eval/goalJudge.agency +4 -2
  92. package/dist/lib/agents/eval/goalJudge.js +22 -12
  93. package/dist/lib/agents/eval/judge.agency +4 -2
  94. package/dist/lib/agents/eval/judge.js +17 -11
  95. package/dist/lib/agents/eval/judgePairwise.js +15 -9
  96. package/dist/lib/agents/optimize/gepaReflect.js +15 -9
  97. package/dist/lib/agents/optimize/mutatePrompt.js +15 -9
  98. package/dist/lib/agents/policy/agent.agency +5 -4
  99. package/dist/lib/agents/policy/agent.js +158 -53
  100. package/dist/lib/agents/review/agent.agency +2 -2
  101. package/dist/lib/agents/review/agent.js +26 -14
  102. package/dist/lib/analysis/bodyFacts.d.ts +52 -0
  103. package/dist/lib/analysis/bodyFacts.js +87 -0
  104. package/dist/lib/analysis/closure.d.ts +26 -0
  105. package/dist/lib/analysis/closure.js +99 -0
  106. package/dist/lib/analysis/closure.test.js +43 -0
  107. package/dist/lib/analysis/effectPropagation.test.js +167 -0
  108. package/dist/lib/analysis/effects.d.ts +66 -0
  109. package/dist/lib/analysis/effects.js +238 -0
  110. package/dist/lib/analysis/effects.test.js +247 -0
  111. package/dist/lib/analysis/effectsOracle.test.js +74 -0
  112. package/dist/lib/analysis/imports.d.ts +10 -0
  113. package/dist/lib/analysis/imports.js +25 -0
  114. package/dist/lib/analysis/interrupts.js +6 -1
  115. package/dist/lib/backends/agencyGenerator.d.ts +54 -7
  116. package/dist/lib/backends/agencyGenerator.hole.test.d.ts +1 -0
  117. package/dist/lib/backends/agencyGenerator.hole.test.js +61 -0
  118. package/dist/lib/backends/agencyGenerator.js +283 -32
  119. package/dist/lib/backends/agencyGenerator.matchBlock.test.js +100 -0
  120. package/dist/lib/backends/agencyGenerator.roundtrip.test.js +267 -0
  121. package/dist/lib/backends/agencyGenerator.splice.test.js +43 -0
  122. package/dist/lib/backends/agencyGenerator.test.js +44 -1
  123. package/dist/lib/backends/docstringInterpolationRuntime.test.js +1 -1
  124. package/dist/lib/backends/draftSchemaCodegen.test.js +32 -0
  125. package/dist/lib/backends/frameClaims.test.js +58 -0
  126. package/dist/lib/backends/holeRefusal.test.js +58 -0
  127. package/dist/lib/backends/topLevelRefusal.test.js +40 -0
  128. package/dist/lib/backends/typescriptBuilder/directRunArgsCheck.d.ts +11 -0
  129. package/dist/lib/backends/typescriptBuilder/directRunArgsCheck.js +19 -0
  130. package/dist/lib/backends/typescriptBuilder/nameClassifier.d.ts +7 -0
  131. package/dist/lib/backends/typescriptBuilder/nameClassifier.js +3 -2
  132. package/dist/lib/backends/typescriptBuilder/scopeManager.d.ts +8 -6
  133. package/dist/lib/backends/typescriptBuilder/scopeManager.js +17 -13
  134. package/dist/lib/backends/typescriptBuilder/scopeManager.test.js +36 -0
  135. package/dist/lib/backends/typescriptBuilder/sectionAssembler.js +11 -11
  136. package/dist/lib/backends/typescriptBuilder.d.ts +7 -0
  137. package/dist/lib/backends/typescriptBuilder.js +206 -66
  138. package/dist/lib/backends/typescriptGenerator/typeToString.js +1 -1
  139. package/dist/lib/backends/typescriptGenerator/validationDescriptor.js +42 -16
  140. package/dist/lib/cli/bundle.test.js +2 -2
  141. package/dist/lib/cli/commands.d.ts +5 -24
  142. package/dist/lib/cli/commands.js +8 -49
  143. package/dist/lib/cli/coverage.js +1 -1
  144. package/dist/lib/cli/debug.js +1 -1
  145. package/dist/lib/cli/definition.js +3 -2
  146. package/dist/lib/cli/diagnosticsDocs.js +46 -2
  147. package/dist/lib/cli/diagnosticsDocs.test.js +24 -2
  148. package/dist/lib/cli/doc.d.ts +1 -0
  149. package/dist/lib/cli/doc.js +50 -14
  150. package/dist/lib/cli/doc.test.js +134 -5
  151. package/dist/lib/cli/eval/grade.d.ts +15 -0
  152. package/dist/lib/cli/eval/grade.js +33 -0
  153. package/dist/lib/cli/eval/grade.test.js +89 -0
  154. package/dist/lib/cli/eval/graders.d.ts +12 -0
  155. package/dist/lib/cli/eval/graders.js +33 -0
  156. package/dist/lib/cli/eval/logs.d.ts +7 -0
  157. package/dist/lib/cli/eval/logs.js +42 -0
  158. package/dist/lib/cli/eval/logs.test.js +42 -0
  159. package/dist/lib/cli/eval/optimize.js +20 -42
  160. package/dist/lib/cli/eval/optimize.test.js +13 -18
  161. package/dist/lib/cli/eval/run.d.ts +23 -57
  162. package/dist/lib/cli/eval/run.js +99 -214
  163. package/dist/lib/cli/eval/run.test.js +230 -21
  164. package/dist/lib/cli/evalExtract.js +11 -0
  165. package/dist/lib/cli/evalJudge.d.ts +1 -1
  166. package/dist/lib/cli/evalJudge.js +8 -34
  167. package/dist/lib/cli/evalJudge.test.js +10 -29
  168. package/dist/lib/cli/events.test.js +2 -1
  169. package/dist/lib/cli/expectedCompileError.d.ts +30 -0
  170. package/dist/lib/cli/expectedCompileError.js +58 -0
  171. package/dist/lib/cli/expectedCompileError.test.js +81 -0
  172. package/dist/lib/cli/explain.js +37 -0
  173. package/dist/lib/cli/explain.test.js +28 -2
  174. package/dist/lib/cli/lint.d.ts +4 -0
  175. package/dist/lib/cli/lint.js +11 -0
  176. package/dist/lib/cli/lint.test.js +18 -0
  177. package/dist/lib/cli/literate.d.ts +1 -1
  178. package/dist/lib/cli/literate.js +90 -10
  179. package/dist/lib/cli/literate.test.js +96 -1
  180. package/dist/lib/cli/pack.js +1 -1
  181. package/dist/lib/cli/policy.d.ts +2 -0
  182. package/dist/lib/cli/policy.js +1 -1
  183. package/dist/lib/cli/policyCrossModule.test.js +30 -0
  184. package/dist/lib/cli/precompile.js +16 -7
  185. package/dist/lib/cli/precompile.test.js +22 -0
  186. package/dist/lib/cli/runAgencyAgent.js +4 -3
  187. package/dist/lib/cli/runBundledAgent.js +9 -4
  188. package/dist/lib/cli/runBundledAgent.test.js +21 -0
  189. package/dist/lib/cli/serve.js +2 -1
  190. package/dist/lib/cli/test.d.ts +8 -2
  191. package/dist/lib/cli/test.js +199 -12
  192. package/dist/lib/cli/test.test.js +76 -0
  193. package/dist/lib/cli/util.d.ts +3 -15
  194. package/dist/lib/cli/util.js +14 -63
  195. package/dist/lib/cli/validatorInterrupts.spawn.test.js +167 -0
  196. package/dist/lib/cli/watch.js +1 -1
  197. package/dist/lib/cli/watch.test.js +2 -2
  198. package/dist/lib/compilationUnit.js +3 -2
  199. package/dist/lib/compiler/buildSession.js +16 -2
  200. package/dist/lib/compiler/buildSession.test.js +1 -1
  201. package/dist/lib/compiler/compile.js +25 -2
  202. package/dist/lib/compiler/compileClosure.d.ts +14 -1
  203. package/dist/lib/compiler/compileClosure.js +13 -1
  204. package/dist/lib/compiler/defaultSession.d.ts +24 -0
  205. package/dist/lib/compiler/defaultSession.js +45 -0
  206. package/dist/lib/compiler/initDepGraph.js +3 -2
  207. package/dist/lib/compiler/splice/cache.d.ts +60 -0
  208. package/dist/lib/compiler/splice/cache.js +126 -0
  209. package/dist/lib/compiler/splice/cache.test.js +124 -0
  210. package/dist/lib/compiler/splice/eligibility.d.ts +114 -0
  211. package/dist/lib/compiler/splice/eligibility.js +253 -0
  212. package/dist/lib/compiler/splice/eligibility.test.js +153 -0
  213. package/dist/lib/compiler/splice/generatorEffects.d.ts +18 -0
  214. package/dist/lib/compiler/splice/generatorEffects.js +210 -0
  215. package/dist/lib/compiler/splice/rebuild.test.js +124 -0
  216. package/dist/lib/compiler/splice/report.d.ts +12 -0
  217. package/dist/lib/compiler/splice/report.js +20 -0
  218. package/dist/lib/compiler/splice/runGenerator.d.ts +43 -0
  219. package/dist/lib/compiler/splice/runGenerator.js +385 -0
  220. package/dist/lib/compiler/splice/runGenerator.test.js +216 -0
  221. package/dist/lib/compiler/splice/types.d.ts +28 -0
  222. package/dist/lib/compiler/typecheck.d.ts +10 -0
  223. package/dist/lib/compiler/typecheck.js +28 -7
  224. package/dist/lib/compiler/typecheckEffects.test.d.ts +1 -0
  225. package/dist/lib/compiler/typecheckEffects.test.js +35 -0
  226. package/dist/lib/config.d.ts +50 -0
  227. package/dist/lib/config.js +29 -1
  228. package/dist/lib/constants.d.ts +12 -0
  229. package/dist/lib/constants.js +12 -0
  230. package/dist/lib/debugger/driver.test.js +1 -1
  231. package/dist/lib/debugger/exportFrames.test.js +1 -1
  232. package/dist/lib/debugger/testSession.test.js +1 -1
  233. package/dist/lib/debugger/thread.test.js +1 -1
  234. package/dist/lib/debugger/trace.test.js +1 -1
  235. package/dist/lib/debugger/uiState.test.js +1 -0
  236. package/dist/lib/eval/extract.d.ts +0 -6
  237. package/dist/lib/eval/extract.js +23 -43
  238. package/dist/lib/eval/extract.test.js +97 -29
  239. package/dist/lib/eval/grading/agencyRunner.test.d.ts +1 -0
  240. package/dist/lib/eval/grading/aggregate.test.d.ts +1 -0
  241. package/dist/lib/eval/grading/baseGrader.test.d.ts +1 -0
  242. package/dist/lib/{optimize → eval}/grading/baseGrader.test.js +3 -2
  243. package/dist/lib/{optimize → eval}/grading/functionGrader.d.ts +5 -0
  244. package/dist/lib/{optimize → eval}/grading/functionGrader.js +8 -2
  245. package/dist/lib/eval/grading/functionGrader.test.d.ts +1 -0
  246. package/dist/lib/{optimize → eval}/grading/functionGrader.test.js +7 -6
  247. package/dist/lib/eval/grading/getPath.test.d.ts +1 -0
  248. package/dist/lib/{optimize → eval/grading}/goalJudgeFile.js +1 -1
  249. package/dist/lib/eval/grading/goalJudgeFile.test.d.ts +1 -0
  250. package/dist/lib/eval/grading/grade.test.d.ts +1 -0
  251. package/dist/lib/eval/grading/gradeBreakdown.d.ts +54 -0
  252. package/dist/lib/eval/grading/gradeBreakdown.js +83 -0
  253. package/dist/lib/eval/grading/gradeBreakdown.test.d.ts +1 -0
  254. package/dist/lib/{optimize → eval/grading}/gradeBreakdown.test.js +5 -4
  255. package/dist/lib/eval/grading/gradeRun.d.ts +44 -0
  256. package/dist/lib/eval/grading/gradeRun.js +180 -0
  257. package/dist/lib/eval/grading/gradeRun.test.d.ts +1 -0
  258. package/dist/lib/eval/grading/gradeRun.test.js +175 -0
  259. package/dist/lib/eval/grading/gradeSuite.d.ts +10 -0
  260. package/dist/lib/eval/grading/gradeSuite.js +27 -0
  261. package/dist/lib/eval/grading/graders/builtinGraders.test.d.ts +1 -0
  262. package/dist/lib/{optimize → eval}/grading/graders/builtinGraders.test.js +7 -6
  263. package/dist/lib/{optimize → eval}/grading/graders/humanGrader.js +1 -1
  264. package/dist/lib/eval/grading/graders/humanGrader.test.d.ts +1 -0
  265. package/dist/lib/{optimize → eval}/grading/graders/humanGrader.test.js +3 -2
  266. package/dist/lib/{optimize → eval}/grading/graders/llmJudge.js +1 -1
  267. package/dist/lib/eval/grading/graders/llmJudge.test.d.ts +1 -0
  268. package/dist/lib/{optimize → eval}/grading/graders/llmJudge.test.js +6 -5
  269. package/dist/lib/{optimize → eval/grading}/gradingModule.d.ts +2 -2
  270. package/dist/lib/{optimize → eval/grading}/gradingModule.js +24 -3
  271. package/dist/lib/eval/grading/gradingModule.test.d.ts +1 -0
  272. package/dist/lib/{optimize → eval/grading}/gradingModule.test.js +1 -1
  273. package/dist/lib/eval/grading/recordGrading.d.ts +12 -0
  274. package/dist/lib/eval/grading/recordGrading.js +27 -0
  275. package/dist/lib/{optimize → eval}/grading/scorecard.d.ts +5 -2
  276. package/dist/lib/eval/grading/scorecard.test.d.ts +1 -0
  277. package/dist/lib/{optimize → eval}/grading/scorecard.test.js +14 -13
  278. package/dist/lib/eval/grading/testUtils.d.ts +7 -0
  279. package/dist/lib/eval/grading/testUtils.js +31 -0
  280. package/dist/lib/{optimize → eval}/grading/types.d.ts +9 -3
  281. package/dist/lib/eval/grading/types.js +1 -0
  282. package/dist/lib/eval/judge/suite.d.ts +4 -5
  283. package/dist/lib/eval/judge/suite.js +41 -23
  284. package/dist/lib/eval/judge/suite.test.js +42 -20
  285. package/dist/lib/eval/judge/types.d.ts +4 -0
  286. package/dist/lib/eval/loadInputs.d.ts +9 -0
  287. package/dist/lib/eval/loadInputs.js +138 -21
  288. package/dist/lib/eval/loadInputs.test.js +192 -16
  289. package/dist/lib/eval/normalize.d.ts +4 -0
  290. package/dist/lib/eval/normalize.js +2 -1
  291. package/dist/lib/eval/public.d.ts +12 -0
  292. package/dist/lib/eval/public.js +10 -0
  293. package/dist/lib/eval/public.test.d.ts +1 -0
  294. package/dist/lib/eval/public.test.js +49 -0
  295. package/dist/lib/eval/readRun.js +43 -4
  296. package/dist/lib/eval/readRun.test.js +37 -3
  297. package/dist/lib/eval/run/commandLine.d.ts +9 -0
  298. package/dist/lib/eval/run/commandLine.js +54 -0
  299. package/dist/lib/eval/run/commandLine.test.d.ts +1 -0
  300. package/dist/lib/eval/run/commandLine.test.js +34 -0
  301. package/dist/lib/eval/run/costTail.d.ts +8 -0
  302. package/dist/lib/eval/run/costTail.js +26 -0
  303. package/dist/lib/eval/run/extract.d.ts +24 -0
  304. package/dist/lib/eval/run/extract.js +36 -0
  305. package/dist/lib/eval/run/runAgent.d.ts +68 -0
  306. package/dist/lib/eval/run/runAgent.js +205 -0
  307. package/dist/lib/eval/run/runAgent.test.d.ts +1 -0
  308. package/dist/lib/eval/run/runAgent.test.js +193 -0
  309. package/dist/lib/eval/run/runSuite.d.ts +52 -0
  310. package/dist/lib/eval/run/runSuite.js +247 -0
  311. package/dist/lib/eval/run/runSuite.test.d.ts +1 -0
  312. package/dist/lib/eval/run/runSuite.test.js +321 -0
  313. package/dist/lib/eval/run/seed.d.ts +40 -0
  314. package/dist/lib/eval/run/seed.js +101 -0
  315. package/dist/lib/eval/run/seed.test.d.ts +1 -0
  316. package/dist/lib/eval/run/seed.test.js +118 -0
  317. package/dist/lib/eval/run/spawnRunner.d.ts +27 -0
  318. package/dist/lib/eval/run/spawnRunner.js +208 -0
  319. package/dist/lib/eval/run/spawnRunner.test.d.ts +1 -0
  320. package/dist/lib/eval/run/spawnRunner.test.js +149 -0
  321. package/dist/lib/eval/run/statusBoard.d.ts +22 -0
  322. package/dist/lib/eval/run/statusBoard.js +78 -0
  323. package/dist/lib/eval/run/subprocess.d.ts +54 -0
  324. package/dist/lib/eval/run/subprocess.js +170 -0
  325. package/dist/lib/eval/run/subprocess.test.d.ts +1 -0
  326. package/dist/lib/eval/run/subprocess.test.js +64 -0
  327. package/dist/lib/eval/runArtifacts.d.ts +55 -14
  328. package/dist/lib/eval/runArtifacts.js +76 -52
  329. package/dist/lib/eval/runArtifacts.test.js +11 -30
  330. package/dist/lib/eval/runTypes.d.ts +59 -21
  331. package/dist/lib/eval/sources.d.ts +26 -0
  332. package/dist/lib/eval/sources.js +148 -0
  333. package/dist/lib/eval/sources.test.d.ts +1 -0
  334. package/dist/lib/eval/sources.test.js +96 -0
  335. package/dist/lib/eval/testUtils.d.ts +7 -0
  336. package/dist/lib/eval/testUtils.js +22 -0
  337. package/dist/lib/eval/types.d.ts +32 -24
  338. package/dist/lib/formatter.comprehension.test.d.ts +1 -0
  339. package/dist/lib/formatter.comprehension.test.js +34 -0
  340. package/dist/lib/formatter.test.js +36 -0
  341. package/dist/lib/importPaths.d.ts +3 -0
  342. package/dist/lib/importPaths.js +23 -18
  343. package/dist/lib/ir/builders.js +4 -8
  344. package/dist/lib/linter/diagnosticExplanations.d.ts +3 -0
  345. package/dist/lib/linter/diagnosticExplanations.js +20 -0
  346. package/dist/lib/linter/diagnostics.d.ts +35 -0
  347. package/dist/lib/linter/diagnostics.js +43 -0
  348. package/dist/lib/linter/diagnostics.test.d.ts +1 -0
  349. package/dist/lib/linter/diagnostics.test.js +23 -0
  350. package/dist/lib/linter/registry.d.ts +14 -0
  351. package/dist/lib/linter/registry.js +28 -0
  352. package/dist/lib/linter/registry.test.d.ts +1 -0
  353. package/dist/lib/linter/registry.test.js +23 -0
  354. package/dist/lib/linter/rules/importFixes.d.ts +8 -0
  355. package/dist/lib/linter/rules/importFixes.js +71 -0
  356. package/dist/lib/linter/rules/missingDocstring.d.ts +2 -0
  357. package/dist/lib/linter/rules/missingDocstring.js +27 -0
  358. package/dist/lib/linter/rules/missingDocstring.test.d.ts +1 -0
  359. package/dist/lib/linter/rules/missingDocstring.test.js +62 -0
  360. package/dist/lib/linter/rules/redundantPreludeImport.d.ts +2 -0
  361. package/dist/lib/linter/rules/redundantPreludeImport.js +50 -0
  362. package/dist/lib/linter/rules/redundantPreludeImport.test.d.ts +1 -0
  363. package/dist/lib/linter/rules/redundantPreludeImport.test.js +74 -0
  364. package/dist/lib/linter/rules/unusedImports.d.ts +26 -0
  365. package/dist/lib/linter/rules/unusedImports.fix.test.d.ts +1 -0
  366. package/dist/lib/linter/rules/unusedImports.fix.test.js +86 -0
  367. package/dist/lib/linter/rules/unusedImports.js +102 -0
  368. package/dist/lib/linter/rules/unusedImports.test.d.ts +1 -0
  369. package/dist/lib/linter/rules/unusedImports.test.js +107 -0
  370. package/dist/lib/linter/rules/util.d.ts +36 -0
  371. package/dist/lib/linter/rules/util.js +93 -0
  372. package/dist/lib/linter/rules/util.test.d.ts +1 -0
  373. package/dist/lib/linter/rules/util.test.js +37 -0
  374. package/dist/lib/linter/types.d.ts +41 -0
  375. package/dist/lib/linter/types.js +1 -0
  376. package/dist/lib/logsViewer/follow.js +14 -59
  377. package/dist/lib/logsViewer/parse.d.ts +1 -11
  378. package/dist/lib/logsViewer/parse.js +5 -61
  379. package/dist/lib/lowering/comprehensionDesugar.d.ts +26 -0
  380. package/dist/lib/lowering/comprehensionDesugar.js +228 -0
  381. package/dist/lib/lowering/comprehensionDesugar.locations.test.d.ts +1 -0
  382. package/dist/lib/lowering/comprehensionDesugar.locations.test.js +57 -0
  383. package/dist/lib/lowering/comprehensionDesugar.test.d.ts +1 -0
  384. package/dist/lib/lowering/comprehensionDesugar.test.js +171 -0
  385. package/dist/lib/lowering/patternGuards.tripwire.test.d.ts +27 -0
  386. package/dist/lib/lowering/patternGuards.tripwire.test.js +362 -0
  387. package/dist/lib/lowering/patternLowering.js +311 -29
  388. package/dist/lib/lowering/patternLowering.test.js +131 -12
  389. package/dist/lib/lsp/codeAction.d.ts +13 -1
  390. package/dist/lib/lsp/codeAction.js +70 -1
  391. package/dist/lib/lsp/codeAction.test.js +86 -0
  392. package/dist/lib/lsp/completion.js +2 -1
  393. package/dist/lib/lsp/diagnostics.d.ts +4 -0
  394. package/dist/lib/lsp/diagnostics.js +116 -18
  395. package/dist/lib/lsp/diagnostics.test.js +254 -0
  396. package/dist/lib/lsp/documentState.d.ts +10 -0
  397. package/dist/lib/lsp/documentStateCache.d.ts +50 -0
  398. package/dist/lib/lsp/documentStateCache.js +47 -0
  399. package/dist/lib/lsp/documentStateCache.test.d.ts +1 -0
  400. package/dist/lib/lsp/documentStateCache.test.js +95 -0
  401. package/dist/lib/lsp/documentSymbol.js +3 -2
  402. package/dist/lib/lsp/scopeResolution.d.ts +17 -0
  403. package/dist/lib/lsp/scopeResolution.js +42 -22
  404. package/dist/lib/lsp/semanticTokens.d.ts +32 -0
  405. package/dist/lib/lsp/semanticTokens.js +220 -0
  406. package/dist/lib/lsp/semanticTokens.test.d.ts +1 -0
  407. package/dist/lib/lsp/semanticTokens.test.js +338 -0
  408. package/dist/lib/lsp/semantics.js +7 -6
  409. package/dist/lib/lsp/server.js +136 -13
  410. package/dist/lib/optimize/baseOptimizer.d.ts +15 -25
  411. package/dist/lib/optimize/baseOptimizer.js +50 -60
  412. package/dist/lib/optimize/baseOptimizer.test.js +12 -14
  413. package/dist/lib/optimize/baseOptimizer.workdir.test.js +18 -18
  414. package/dist/lib/optimize/evalCache.d.ts +2 -3
  415. package/dist/lib/optimize/evalCache.js +1 -1
  416. package/dist/lib/optimize/evalCache.test.js +6 -4
  417. package/dist/lib/optimize/gepaReflect.d.ts +1 -1
  418. package/dist/lib/optimize/gepaReflect.test.js +1 -1
  419. package/dist/lib/optimize/mutator.test.js +2 -2
  420. package/dist/lib/optimize/optimizer.d.ts +2 -2
  421. package/dist/lib/optimize/optimizers/example.d.ts +2 -2
  422. package/dist/lib/optimize/optimizers/example.js +1 -1
  423. package/dist/lib/optimize/optimizers/example.test.js +7 -5
  424. package/dist/lib/optimize/optimizers/gepa.d.ts +2 -2
  425. package/dist/lib/optimize/optimizers/gepa.js +1 -1
  426. package/dist/lib/optimize/optimizers/gepa.test.js +7 -5
  427. package/dist/lib/optimize/optimizers/greedyReflective.d.ts +1 -1
  428. package/dist/lib/optimize/optimizers/greedyReflective.test.js +22 -19
  429. package/dist/lib/optimize/public.d.ts +2 -12
  430. package/dist/lib/optimize/public.js +4 -10
  431. package/dist/lib/optimize/reflectionFeedback.d.ts +1 -1
  432. package/dist/lib/optimize/reflectionFeedback.js +6 -15
  433. package/dist/lib/optimize/reflectionFeedback.test.js +18 -20
  434. package/dist/lib/optimize/report.js +1 -1
  435. package/dist/lib/optimize/report.test.js +3 -3
  436. package/dist/lib/optimize/reporter.d.ts +2 -62
  437. package/dist/lib/optimize/reporter.js +0 -100
  438. package/dist/lib/optimize/reporter.test.js +2 -172
  439. package/dist/lib/optimize/sourceMutator.js +2 -1
  440. package/dist/lib/optimize/targets.d.ts +0 -6
  441. package/dist/lib/optimize/targets.js +7 -59
  442. package/dist/lib/optimize/testUtils.d.ts +11 -0
  443. package/dist/lib/optimize/testUtils.js +64 -0
  444. package/dist/lib/optimize/types.d.ts +1 -35
  445. package/dist/lib/optimize/validationSplit.test.js +1 -1
  446. package/dist/lib/optimize/workspace.d.ts +4 -4
  447. package/dist/lib/optimize/workspace.js +2 -2
  448. package/dist/lib/optimize/workspace.test.js +1 -1
  449. package/dist/lib/parseCache.d.ts +10 -0
  450. package/dist/lib/parseCache.js +13 -0
  451. package/dist/lib/parseCache.test.js +26 -1
  452. package/dist/lib/parser.d.ts +1 -1
  453. package/dist/lib/parser.js +67 -8
  454. package/dist/lib/parser.test.js +12 -3
  455. package/dist/lib/parsers/body.test.js +101 -0
  456. package/dist/lib/parsers/chainNewlineBoundary.test.d.ts +1 -0
  457. package/dist/lib/parsers/chainNewlineBoundary.test.js +121 -0
  458. package/dist/lib/parsers/codeLiteral.test.d.ts +1 -0
  459. package/dist/lib/parsers/codeLiteral.test.js +331 -0
  460. package/dist/lib/parsers/comprehension.test.d.ts +1 -0
  461. package/dist/lib/parsers/comprehension.test.js +325 -0
  462. package/dist/lib/parsers/hashRemoved.test.d.ts +1 -0
  463. package/dist/lib/parsers/hashRemoved.test.js +11 -0
  464. package/dist/lib/parsers/hole.test.d.ts +1 -0
  465. package/dist/lib/parsers/hole.test.js +171 -0
  466. package/dist/lib/parsers/literalDelimiter.test.d.ts +1 -0
  467. package/dist/lib/parsers/literalDelimiter.test.js +60 -0
  468. package/dist/lib/parsers/matchBlock.test.js +100 -0
  469. package/dist/lib/parsers/objectTypeTags.test.js +0 -13
  470. package/dist/lib/parsers/parsers.d.ts +83 -7
  471. package/dist/lib/parsers/parsers.js +860 -55
  472. package/dist/lib/parsers/pattern.test.js +235 -4
  473. package/dist/lib/parsers/splice.test.d.ts +1 -0
  474. package/dist/lib/parsers/splice.test.js +105 -0
  475. package/dist/lib/parsers/typeHints.test.js +1 -300
  476. package/dist/lib/perf/compile.perf.test.d.ts +1 -0
  477. package/dist/lib/perf/compile.perf.test.js +76 -0
  478. package/dist/lib/perf/doc.perf.test.d.ts +1 -0
  479. package/dist/lib/perf/doc.perf.test.js +30 -0
  480. package/dist/lib/perf/fixtures.d.ts +25 -0
  481. package/dist/lib/perf/fixtures.js +100 -0
  482. package/dist/lib/perf/fixtures.test.d.ts +1 -0
  483. package/dist/lib/perf/fixtures.test.js +37 -0
  484. package/dist/lib/perf/fmt.perf.test.d.ts +1 -0
  485. package/dist/lib/perf/fmt.perf.test.js +16 -0
  486. package/dist/lib/perf/harness.d.ts +31 -0
  487. package/dist/lib/perf/harness.js +114 -0
  488. package/dist/lib/perf/harness.perf.test.d.ts +1 -0
  489. package/dist/lib/perf/harness.perf.test.js +45 -0
  490. package/dist/lib/perf/harness.test.d.ts +1 -0
  491. package/dist/lib/perf/harness.test.js +79 -0
  492. package/dist/lib/perf/lint.perf.test.d.ts +1 -0
  493. package/dist/lib/perf/lint.perf.test.js +76 -0
  494. package/dist/lib/perf/lsp.perf.test.d.ts +1 -0
  495. package/dist/lib/perf/lsp.perf.test.js +60 -0
  496. package/dist/lib/perf/parse.perf.test.d.ts +1 -0
  497. package/dist/lib/perf/parse.perf.test.js +20 -0
  498. package/dist/lib/perf/symbolTable.perf.test.d.ts +1 -0
  499. package/dist/lib/perf/symbolTable.perf.test.js +63 -0
  500. package/dist/lib/perf/typecheck.perf.test.d.ts +1 -0
  501. package/dist/lib/perf/typecheck.perf.test.js +35 -0
  502. package/dist/lib/prelude.d.ts +27 -0
  503. package/dist/lib/prelude.js +62 -0
  504. package/dist/lib/prelude.test.d.ts +1 -0
  505. package/dist/lib/prelude.test.js +41 -0
  506. package/dist/lib/preprocessors/expandSplices.d.ts +14 -0
  507. package/dist/lib/preprocessors/expandSplices.js +496 -0
  508. package/dist/lib/preprocessors/expandSplices.test.d.ts +1 -0
  509. package/dist/lib/preprocessors/expandSplices.test.js +337 -0
  510. package/dist/lib/preprocessors/guardDesugar.d.ts +16 -3
  511. package/dist/lib/preprocessors/guardDesugar.js +63 -34
  512. package/dist/lib/preprocessors/guardDesugar.test.js +110 -0
  513. package/dist/lib/preprocessors/hoistCalls.d.ts +83 -0
  514. package/dist/lib/preprocessors/hoistCalls.js +354 -0
  515. package/dist/lib/preprocessors/hoistCalls.test.d.ts +1 -0
  516. package/dist/lib/preprocessors/hoistCalls.test.js +385 -0
  517. package/dist/lib/preprocessors/importResolver.d.ts +13 -0
  518. package/dist/lib/preprocessors/importResolver.js +188 -102
  519. package/dist/lib/preprocessors/importResolver.test.js +115 -0
  520. package/dist/lib/preprocessors/liftCallbacks.js +5 -3
  521. package/dist/lib/preprocessors/liftCallbacks.test.js +1 -1
  522. package/dist/lib/preprocessors/prunePreludeShadows.js +7 -3
  523. package/dist/lib/preprocessors/typescriptPreprocessor.js +26 -7
  524. package/dist/lib/runtime/__tests__/testHelpers.js +1 -0
  525. package/dist/lib/runtime/agency.test.js +9 -0
  526. package/dist/lib/runtime/agencyFunction.d.ts +8 -0
  527. package/dist/lib/runtime/agencyFunction.js +14 -0
  528. package/dist/lib/runtime/agencyInterrupt.js +1 -0
  529. package/dist/lib/runtime/agencyInterrupt.test.js +79 -53
  530. package/dist/lib/runtime/asyncContext.d.ts +1 -25
  531. package/dist/lib/runtime/asyncContext.js +1 -12
  532. package/dist/lib/runtime/asyncContext.test.js +1 -25
  533. package/dist/lib/runtime/blockNames.d.ts +17 -0
  534. package/dist/lib/runtime/blockNames.js +19 -0
  535. package/dist/lib/runtime/blockNames.test.js +15 -1
  536. package/dist/lib/runtime/clock.d.ts +48 -0
  537. package/dist/lib/runtime/clock.js +71 -0
  538. package/dist/lib/runtime/clock.test.d.ts +1 -0
  539. package/dist/lib/runtime/clock.test.js +118 -0
  540. package/dist/lib/runtime/configOverrides.d.ts +17 -0
  541. package/dist/lib/runtime/configOverrides.js +26 -0
  542. package/dist/lib/runtime/configOverrides.test.js +26 -1
  543. package/dist/lib/runtime/crossModuleInitRegistry.d.ts +24 -0
  544. package/dist/lib/runtime/crossModuleInitRegistry.js +32 -0
  545. package/dist/lib/runtime/crossModuleInitRegistry.test.d.ts +1 -0
  546. package/dist/lib/runtime/crossModuleInitRegistry.test.js +31 -0
  547. package/dist/lib/runtime/effectMerge.test.js +4 -3
  548. package/dist/lib/runtime/executingHandlers.d.ts +7 -0
  549. package/dist/lib/runtime/executingHandlers.js +47 -0
  550. package/dist/lib/runtime/executingHandlers.test.d.ts +1 -0
  551. package/dist/lib/runtime/executingHandlers.test.js +51 -0
  552. package/dist/lib/runtime/guard.clock.test.d.ts +1 -0
  553. package/dist/lib/runtime/guard.clock.test.js +78 -0
  554. package/dist/lib/runtime/guard.d.ts +10 -4
  555. package/dist/lib/runtime/guard.js +35 -10
  556. package/dist/lib/runtime/guard.test.js +28 -0
  557. package/dist/lib/runtime/guardTripInterrupt.inHandler.test.d.ts +1 -0
  558. package/dist/lib/runtime/guardTripInterrupt.inHandler.test.js +47 -0
  559. package/dist/lib/runtime/guardTripInterrupt.js +22 -0
  560. package/dist/lib/runtime/index.d.ts +5 -2
  561. package/dist/lib/runtime/index.js +5 -2
  562. package/dist/lib/runtime/initPlanWorkedExamples.test.js +1 -1
  563. package/dist/lib/runtime/interrupts.d.ts +0 -2
  564. package/dist/lib/runtime/interrupts.executingHandlers.test.d.ts +1 -0
  565. package/dist/lib/runtime/interrupts.executingHandlers.test.js +112 -0
  566. package/dist/lib/runtime/interrupts.js +107 -15
  567. package/dist/lib/runtime/interrupts.test.js +38 -9
  568. package/dist/lib/runtime/intrinsicTools.d.ts +4 -1
  569. package/dist/lib/runtime/ipc.d.ts +30 -1
  570. package/dist/lib/runtime/ipc.js +30 -1
  571. package/dist/lib/runtime/ipc.test.js +28 -1
  572. package/dist/lib/runtime/jsonValue.d.ts +15 -0
  573. package/dist/lib/runtime/jsonValue.js +66 -0
  574. package/dist/lib/runtime/jsonValue.test.d.ts +1 -0
  575. package/dist/lib/runtime/jsonValue.test.js +52 -0
  576. package/dist/lib/runtime/memory/cacheEntry.d.ts +10 -0
  577. package/dist/lib/runtime/memory/cacheEntry.js +10 -0
  578. package/dist/lib/runtime/memory/compaction.d.ts +8 -3
  579. package/dist/lib/runtime/memory/compaction.js +10 -4
  580. package/dist/lib/runtime/memory/compaction.test.js +32 -18
  581. package/dist/lib/runtime/memory/manager.js +23 -5
  582. package/dist/lib/runtime/memory/manager.test.js +91 -0
  583. package/dist/lib/runtime/node.d.ts +2 -6
  584. package/dist/lib/runtime/node.js +16 -21
  585. package/dist/lib/runtime/prompt.js +49 -79
  586. package/dist/lib/runtime/promptRunner.js +1 -0
  587. package/dist/lib/runtime/promptRunner.test.js +3 -3
  588. package/dist/lib/runtime/requireLength.d.ts +15 -0
  589. package/dist/lib/runtime/requireLength.js +21 -0
  590. package/dist/lib/runtime/resumableScope.js +4 -4
  591. package/dist/lib/runtime/revivers/functionRefReviver.d.ts +7 -1
  592. package/dist/lib/runtime/revivers/functionRefReviver.js +168 -18
  593. package/dist/lib/runtime/revivers/functionRefReviver.test.js +230 -6
  594. package/dist/lib/runtime/rewind.d.ts +0 -2
  595. package/dist/lib/runtime/rewind.js +3 -4
  596. package/dist/lib/runtime/runBatch.js +22 -5
  597. package/dist/lib/runtime/runBatch.test.js +30 -1
  598. package/dist/lib/runtime/runner.js +33 -13
  599. package/dist/lib/runtime/runner.test.js +80 -0
  600. package/dist/lib/runtime/saveDraftTool.d.ts +8 -6
  601. package/dist/lib/runtime/saveDraftTool.js +12 -10
  602. package/dist/lib/runtime/saveDraftTool.test.js +11 -2
  603. package/dist/lib/runtime/state/checkpointStore.test.js +1 -0
  604. package/dist/lib/runtime/state/context.clock.test.d.ts +1 -0
  605. package/dist/lib/runtime/state/context.clock.test.js +47 -0
  606. package/dist/lib/runtime/state/context.d.ts +24 -0
  607. package/dist/lib/runtime/state/context.js +42 -2
  608. package/dist/lib/runtime/state/context.test.js +24 -0
  609. package/dist/lib/runtime/state/globalStore.js +7 -0
  610. package/dist/lib/runtime/state/messageThread.d.ts +60 -1
  611. package/dist/lib/runtime/state/messageThread.js +100 -1
  612. package/dist/lib/runtime/state/messageThread.test.js +98 -0
  613. package/dist/lib/runtime/state/pendingPromiseStore.d.ts +10 -1
  614. package/dist/lib/runtime/state/pendingPromiseStore.js +22 -1
  615. package/dist/lib/runtime/state/pendingPromiseStore.test.js +41 -0
  616. package/dist/lib/runtime/state/schemas.d.ts +3 -0
  617. package/dist/lib/runtime/state/schemas.js +3 -0
  618. package/dist/lib/runtime/state/stateStack.d.ts +59 -0
  619. package/dist/lib/runtime/state/stateStack.executingHandlers.test.d.ts +1 -0
  620. package/dist/lib/runtime/state/stateStack.executingHandlers.test.js +42 -0
  621. package/dist/lib/runtime/state/stateStack.js +97 -0
  622. package/dist/lib/runtime/state/stateStack.tripwire.test.d.ts +1 -0
  623. package/dist/lib/runtime/state/stateStack.tripwire.test.js +47 -0
  624. package/dist/lib/runtime/staticInit.crossModule.test.js +1 -1
  625. package/dist/lib/runtime/subprocess-bootstrap.js +9 -4
  626. package/dist/lib/runtime/template/aliasTable.d.ts +10 -0
  627. package/dist/lib/runtime/template/aliasTable.js +35 -0
  628. package/dist/lib/runtime/template/code.d.ts +19 -0
  629. package/dist/lib/runtime/template/code.js +12 -0
  630. package/dist/lib/runtime/template/codeLiteral.d.ts +10 -0
  631. package/dist/lib/runtime/template/codeLiteral.js +40 -0
  632. package/dist/lib/runtime/template/combine.test.d.ts +1 -0
  633. package/dist/lib/runtime/template/combine.test.js +97 -0
  634. package/dist/lib/runtime/template/escaping.test.d.ts +1 -0
  635. package/dist/lib/runtime/template/escaping.test.js +107 -0
  636. package/dist/lib/runtime/template/explainMismatch.d.ts +14 -0
  637. package/dist/lib/runtime/template/explainMismatch.js +49 -0
  638. package/dist/lib/runtime/template/fill.d.ts +19 -0
  639. package/dist/lib/runtime/template/fill.js +304 -0
  640. package/dist/lib/runtime/template/fill.test.d.ts +1 -0
  641. package/dist/lib/runtime/template/fill.test.js +783 -0
  642. package/dist/lib/runtime/template/hygiene.d.ts +89 -0
  643. package/dist/lib/runtime/template/hygiene.js +426 -0
  644. package/dist/lib/runtime/template/hygiene.test.d.ts +1 -0
  645. package/dist/lib/runtime/template/hygiene.test.js +253 -0
  646. package/dist/lib/runtime/template/lift.d.ts +14 -0
  647. package/dist/lib/runtime/template/lift.js +51 -0
  648. package/dist/lib/runtime/template/literals.d.ts +17 -0
  649. package/dist/lib/runtime/template/literals.js +44 -0
  650. package/dist/lib/runtime/template/origin.d.ts +30 -0
  651. package/dist/lib/runtime/template/origin.js +47 -0
  652. package/dist/lib/runtime/template/synthesizeType.d.ts +31 -0
  653. package/dist/lib/runtime/template/synthesizeType.js +118 -0
  654. package/dist/lib/runtime/template/synthesizeType.test.d.ts +1 -0
  655. package/dist/lib/runtime/template/synthesizeType.test.js +111 -0
  656. package/dist/lib/runtime/threadRepair.d.ts +76 -5
  657. package/dist/lib/runtime/threadRepair.js +153 -31
  658. package/dist/lib/runtime/threadRepair.test.js +177 -3
  659. package/dist/lib/runtime/toolMessageProvider.test.d.ts +1 -0
  660. package/dist/lib/runtime/toolMessageProvider.test.js +69 -0
  661. package/dist/lib/runtime/toolSchemaSize.d.ts +70 -0
  662. package/dist/lib/runtime/toolSchemaSize.js +87 -0
  663. package/dist/lib/runtime/toolSchemaSize.test.d.ts +1 -0
  664. package/dist/lib/runtime/toolSchemaSize.test.js +88 -0
  665. package/dist/lib/runtime/topsortCycleErrors.test.js +1 -1
  666. package/dist/lib/runtime/trace/eventLog.d.ts +1 -0
  667. package/dist/lib/runtime/trace/eventLog.js +2 -0
  668. package/dist/lib/runtime/trace/eventLog.test.js +29 -25
  669. package/dist/lib/runtime/trace/traceReader.test.js +4 -3
  670. package/dist/lib/runtime/trace/traceWriter.test.js +2 -2
  671. package/dist/lib/runtime/turnBoundary.d.ts +81 -0
  672. package/dist/lib/runtime/turnBoundary.js +89 -0
  673. package/dist/lib/runtime/turnBoundary.test.d.ts +1 -0
  674. package/dist/lib/runtime/turnBoundary.test.js +191 -0
  675. package/dist/lib/runtime/typeTest.d.ts +5 -0
  676. package/dist/lib/runtime/typeTest.js +21 -0
  677. package/dist/lib/runtime/typeTest.test.d.ts +1 -0
  678. package/dist/lib/runtime/typeTest.test.js +43 -0
  679. package/dist/lib/runtime/utils.d.ts +7 -0
  680. package/dist/lib/runtime/utils.js +83 -13
  681. package/dist/lib/runtime/utils.test.js +182 -7
  682. package/dist/lib/runtime/validateChain.d.ts +16 -3
  683. package/dist/lib/runtime/validateChain.js +56 -4
  684. package/dist/lib/runtime/validateChain.test.js +113 -5
  685. package/dist/lib/serve/http/functionFrame.integration.test.js +1 -1
  686. package/dist/lib/serve/public.d.ts +1 -0
  687. package/dist/lib/serve/public.js +4 -0
  688. package/dist/lib/sourceIsText.test.d.ts +1 -0
  689. package/dist/lib/sourceIsText.test.js +40 -0
  690. package/dist/lib/statelog/appendReader.d.ts +20 -0
  691. package/dist/lib/statelog/appendReader.js +53 -0
  692. package/dist/lib/statelog/parse.d.ts +11 -0
  693. package/dist/lib/statelog/parse.js +61 -0
  694. package/dist/lib/statelog/tail.d.ts +12 -0
  695. package/dist/lib/statelog/tail.js +21 -0
  696. package/dist/lib/statelogClient.d.ts +23 -4
  697. package/dist/lib/statelogClient.js +15 -2
  698. package/dist/lib/stdlib/abortable.js +34 -0
  699. package/dist/lib/stdlib/agency.d.ts +27 -0
  700. package/dist/lib/stdlib/agency.js +207 -2
  701. package/dist/lib/stdlib/agencyEval.d.ts +1 -62
  702. package/dist/lib/stdlib/agencyEval.js +1 -125
  703. package/dist/lib/stdlib/assertContained.js +3 -4
  704. package/dist/lib/stdlib/builtins.d.ts +20 -0
  705. package/dist/lib/stdlib/builtins.js +57 -6
  706. package/dist/lib/stdlib/cli.d.ts +149 -0
  707. package/dist/lib/stdlib/cli.js +478 -76
  708. package/dist/lib/stdlib/date.d.ts +15 -12
  709. package/dist/lib/stdlib/date.js +131 -122
  710. package/dist/lib/stdlib/expandPath.d.ts +5 -3
  711. package/dist/lib/stdlib/expandPath.js +5 -3
  712. package/dist/lib/stdlib/fs.js +7 -7
  713. package/dist/lib/stdlib/imessage.js +24 -23
  714. package/dist/lib/stdlib/jsonValue.d.ts +5 -0
  715. package/dist/lib/stdlib/jsonValue.js +12 -0
  716. package/dist/lib/stdlib/layout/table.js +22 -4
  717. package/dist/lib/stdlib/llm.d.ts +19 -0
  718. package/dist/lib/stdlib/llm.js +44 -2
  719. package/dist/lib/stdlib/memory.d.ts +2 -2
  720. package/dist/lib/stdlib/memory.js +2 -2
  721. package/dist/lib/stdlib/policy.js +1 -1
  722. package/dist/lib/stdlib/resolveDir.d.ts +9 -8
  723. package/dist/lib/stdlib/resolveDir.js +13 -13
  724. package/dist/lib/stdlib/resolvePath.d.ts +8 -16
  725. package/dist/lib/stdlib/resolvePath.js +10 -52
  726. package/dist/lib/stdlib/safeBash.d.ts +1 -0
  727. package/dist/lib/stdlib/safeBash.js +1 -0
  728. package/dist/lib/stdlib/shell.js +36 -14
  729. package/dist/lib/stdlib/skills.d.ts +22 -16
  730. package/dist/lib/stdlib/skills.js +32 -20
  731. package/dist/lib/stdlib/speech.js +3 -3
  732. package/dist/lib/stdlib/statelog.js +1 -1
  733. package/dist/lib/stdlib/system.d.ts +0 -8
  734. package/dist/lib/stdlib/system.js +2 -12
  735. package/dist/lib/stdlib/template.d.ts +32 -0
  736. package/dist/lib/stdlib/template.js +81 -0
  737. package/dist/lib/stdlib/thread.d.ts +13 -0
  738. package/dist/lib/stdlib/thread.js +51 -0
  739. package/dist/lib/symbolTable.d.ts +8 -1
  740. package/dist/lib/symbolTable.js +66 -13
  741. package/dist/lib/symbolTable.test.js +68 -8
  742. package/dist/lib/templates/backends/agency/template.d.ts +2 -1
  743. package/dist/lib/templates/backends/agency/template.js +1 -1
  744. package/dist/lib/templates/backends/typescriptGenerator/blockSetup.d.ts +2 -2
  745. package/dist/lib/templates/backends/typescriptGenerator/blockSetup.js +3 -0
  746. package/dist/lib/templates/backends/typescriptGenerator/directRunArgsCheck.d.ts +7 -0
  747. package/dist/lib/templates/backends/typescriptGenerator/directRunArgsCheck.js +13 -0
  748. package/dist/lib/templates/backends/typescriptGenerator/forkBlockSetup.d.ts +2 -2
  749. package/dist/lib/templates/backends/typescriptGenerator/forkBlockSetup.js +3 -0
  750. package/dist/lib/templates/backends/typescriptGenerator/imports.d.ts +1 -1
  751. package/dist/lib/templates/backends/typescriptGenerator/imports.js +8 -9
  752. package/dist/lib/typeChecker/assignability.js +74 -5
  753. package/dist/lib/typeChecker/builtinGenerics.js +13 -6
  754. package/dist/lib/typeChecker/builtinGenerics.test.js +13 -1
  755. package/dist/lib/typeChecker/builtinVariables.test.d.ts +1 -0
  756. package/dist/lib/typeChecker/builtinVariables.test.js +53 -0
  757. package/dist/lib/typeChecker/builtins.d.ts +6 -0
  758. package/dist/lib/typeChecker/builtins.js +13 -4
  759. package/dist/lib/typeChecker/callbackCallEffects.test.js +4 -15
  760. package/dist/lib/typeChecker/codeLiteral.test.d.ts +1 -0
  761. package/dist/lib/typeChecker/codeLiteral.test.js +160 -0
  762. package/dist/lib/typeChecker/conflictingMarkers.js +2 -1
  763. package/dist/lib/typeChecker/crossModuleEffectDiagnostics.test.d.ts +1 -0
  764. package/dist/lib/typeChecker/crossModuleEffectDiagnostics.test.js +80 -0
  765. package/dist/lib/typeChecker/definiteReturns.js +7 -0
  766. package/dist/lib/typeChecker/diagnosticExplanations.js +96 -2
  767. package/dist/lib/typeChecker/diagnostics.d.ts +96 -1
  768. package/dist/lib/typeChecker/diagnostics.js +93 -1
  769. package/dist/lib/typeChecker/flow.d.ts +10 -0
  770. package/dist/lib/typeChecker/flowBuilder.js +44 -4
  771. package/dist/lib/typeChecker/flowNarrowing.test.js +259 -0
  772. package/dist/lib/typeChecker/forkRaceReturnTypes.test.d.ts +1 -0
  773. package/dist/lib/typeChecker/forkRaceReturnTypes.test.js +260 -0
  774. package/dist/lib/typeChecker/handlerParamTyping.d.ts +1 -1
  775. package/dist/lib/typeChecker/handlerParamTyping.js +1 -1
  776. package/dist/lib/typeChecker/handlerParamTyping.test.js +7 -7
  777. package/dist/lib/typeChecker/holes.test.d.ts +1 -0
  778. package/dist/lib/typeChecker/holes.test.js +75 -0
  779. package/dist/lib/typeChecker/index.js +24 -5
  780. package/dist/lib/typeChecker/inference.js +4 -3
  781. package/dist/lib/typeChecker/interruptAnalysis.d.ts +0 -17
  782. package/dist/lib/typeChecker/interruptAnalysis.js +40 -120
  783. package/dist/lib/typeChecker/matchArmNarrowing.test.js +200 -0
  784. package/dist/lib/typeChecker/matchExhaustiveness.js +64 -2
  785. package/dist/lib/typeChecker/matchExhaustiveness.test.js +71 -0
  786. package/dist/lib/typeChecker/missingImportDiagnostic.js +1 -1
  787. package/dist/lib/typeChecker/narrowing.d.ts +3 -0
  788. package/dist/lib/typeChecker/narrowing.js +32 -4
  789. package/dist/lib/typeChecker/raisesDiagnostic.d.ts +2 -2
  790. package/dist/lib/typeChecker/raisesDiagnostic.js +2 -2
  791. package/dist/lib/typeChecker/resolveType.test.js +92 -1
  792. package/dist/lib/typeChecker/resolveVariable.d.ts +4 -2
  793. package/dist/lib/typeChecker/resolveVariable.js +7 -2
  794. package/dist/lib/typeChecker/scopes.js +36 -4
  795. package/dist/lib/typeChecker/spliceDiagnostics.test.d.ts +1 -0
  796. package/dist/lib/typeChecker/spliceDiagnostics.test.js +69 -0
  797. package/dist/lib/typeChecker/strictMemberAccess.test.js +62 -0
  798. package/dist/lib/typeChecker/synthesizer.d.ts +3 -0
  799. package/dist/lib/typeChecker/synthesizer.js +222 -33
  800. package/dist/lib/typeChecker/templateHoles.d.ts +17 -0
  801. package/dist/lib/typeChecker/templateHoles.js +30 -0
  802. package/dist/lib/typeChecker/testUtils.d.ts +2 -1
  803. package/dist/lib/typeChecker/testUtils.js +3 -3
  804. package/dist/lib/typeChecker/toolArgArrayType.test.d.ts +1 -0
  805. package/dist/lib/typeChecker/toolArgArrayType.test.js +128 -0
  806. package/dist/lib/typeChecker/topLevelStatements.d.ts +8 -0
  807. package/dist/lib/typeChecker/topLevelStatements.js +20 -0
  808. package/dist/lib/typeChecker/topLevelStatements.test.d.ts +1 -0
  809. package/dist/lib/typeChecker/topLevelStatements.test.js +83 -0
  810. package/dist/lib/typeChecker/typePatterns.test.d.ts +1 -0
  811. package/dist/lib/typeChecker/typePatterns.test.js +238 -0
  812. package/dist/lib/typeChecker/undefinedFunctionDiagnostic.js +4 -0
  813. package/dist/lib/typeChecker/undefinedFunctionDiagnostic.test.js +43 -0
  814. package/dist/lib/typeChecker.test.js +37 -19
  815. package/dist/lib/types/base.d.ts +8 -0
  816. package/dist/lib/types/blockArgument.d.ts +8 -1
  817. package/dist/lib/types/codeLiteral.d.ts +13 -0
  818. package/dist/lib/types/codeLiteral.js +1 -0
  819. package/dist/lib/types/comprehension.d.ts +55 -0
  820. package/dist/lib/types/comprehension.js +32 -0
  821. package/dist/lib/types/function.d.ts +15 -1
  822. package/dist/lib/types/graphNode.d.ts +4 -1
  823. package/dist/lib/types/hole.d.ts +26 -0
  824. package/dist/lib/types/hole.js +18 -0
  825. package/dist/lib/types/importStatement.d.ts +4 -1
  826. package/dist/lib/types/importStatement.js +9 -2
  827. package/dist/lib/types/matchBlock.d.ts +5 -0
  828. package/dist/lib/types/pattern.d.ts +14 -4
  829. package/dist/lib/types/splice.d.ts +20 -0
  830. package/dist/lib/types/splice.js +1 -0
  831. package/dist/lib/types/typeHints.d.ts +11 -0
  832. package/dist/lib/types.d.ts +15 -3
  833. package/dist/lib/types.js +9 -0
  834. package/dist/lib/utils/agencyTempDir.d.ts +19 -0
  835. package/dist/lib/utils/agencyTempDir.js +26 -0
  836. package/dist/lib/utils/bodySlots.d.ts +17 -1
  837. package/dist/lib/utils/bodySlots.js +33 -4
  838. package/dist/lib/utils/bodySlots.test.js +16 -0
  839. package/dist/lib/utils/docStringText.d.ts +7 -0
  840. package/dist/lib/utils/docStringText.js +7 -0
  841. package/dist/lib/utils/expressionSlots.d.ts +91 -0
  842. package/dist/lib/utils/expressionSlots.js +322 -0
  843. package/dist/lib/utils/expressionSlots.test.d.ts +1 -0
  844. package/dist/lib/utils/expressionSlots.test.js +505 -0
  845. package/dist/lib/utils/findRecursively.d.ts +5 -0
  846. package/dist/lib/utils/findRecursively.js +31 -0
  847. package/dist/lib/utils/hash.d.ts +1 -0
  848. package/dist/lib/utils/hash.js +4 -0
  849. package/dist/lib/utils/holes.d.ts +44 -0
  850. package/dist/lib/utils/holes.js +77 -0
  851. package/dist/lib/utils/identifierSlots.d.ts +71 -0
  852. package/dist/lib/utils/identifierSlots.js +173 -0
  853. package/dist/lib/utils/identifierSlots.test.d.ts +1 -0
  854. package/dist/lib/utils/identifierSlots.test.js +148 -0
  855. package/dist/lib/utils/iteration.d.ts +37 -0
  856. package/dist/lib/utils/iteration.js +9 -0
  857. package/dist/lib/utils/iteration.test.d.ts +1 -0
  858. package/dist/lib/utils/iteration.test.js +26 -0
  859. package/dist/lib/utils/moduleDoc.d.ts +18 -0
  860. package/dist/lib/utils/moduleDoc.js +56 -0
  861. package/dist/lib/utils/node.js +101 -87
  862. package/dist/lib/utils/topLevel.d.ts +10 -0
  863. package/dist/lib/utils/topLevel.js +138 -0
  864. package/dist/lib/utils/topLevel.test.d.ts +1 -0
  865. package/dist/lib/utils/topLevel.test.js +151 -0
  866. package/dist/scripts/agency.js +173 -31
  867. package/dist/scripts/agency.test.js +30 -1
  868. package/package.json +11 -4
  869. package/stdlib/agency/eval.agency +16 -214
  870. package/stdlib/agency/eval.js +22 -693
  871. package/stdlib/agency/local.agency +1 -0
  872. package/stdlib/agency/local.js +41 -10
  873. package/stdlib/agency.agency +195 -359
  874. package/stdlib/agency.js +799 -2522
  875. package/stdlib/agent.agency +1 -0
  876. package/stdlib/agent.js +19 -7
  877. package/stdlib/agents/agency/coding.agency +313 -0
  878. package/stdlib/agents/agency/coding.js +2345 -0
  879. package/stdlib/agents/agency/expert.agency +98 -0
  880. package/stdlib/agents/agency/expert.js +967 -0
  881. package/stdlib/agents/agency/researcher.agency +109 -0
  882. package/stdlib/agents/agency/researcher.js +976 -0
  883. package/stdlib/agents/agency/review.agency +143 -0
  884. package/stdlib/agents/agency/review.js +1602 -0
  885. package/stdlib/agents/agency/verifier.agency +131 -0
  886. package/stdlib/agents/agency/verifier.js +1241 -0
  887. package/stdlib/agents/coding.agency +132 -50
  888. package/stdlib/agents/coding.js +686 -219
  889. package/stdlib/agents/composable/promptRewriter.agency +27 -0
  890. package/stdlib/agents/composable/promptRewriter.js +393 -0
  891. package/stdlib/agents/composable/researcher.agency +52 -0
  892. package/stdlib/agents/composable/researcher.js +591 -0
  893. package/stdlib/agents/composable/utils.agency +7 -0
  894. package/stdlib/agents/composable/utils.js +353 -0
  895. package/stdlib/agents/data.agency +150 -0
  896. package/stdlib/agents/data.js +1017 -0
  897. package/stdlib/agents/expert.agency +89 -175
  898. package/stdlib/agents/expert.js +372 -1230
  899. package/stdlib/agents/explorer.agency +199 -0
  900. package/stdlib/agents/explorer.js +1098 -0
  901. package/stdlib/agents/lib/expertGuidance.agency +40 -0
  902. package/stdlib/agents/lib/expertGuidance.js +644 -0
  903. package/stdlib/agents/lib/feedback.agency +89 -0
  904. package/stdlib/agents/lib/feedback.js +1216 -0
  905. package/stdlib/agents/lib/search.agency +78 -0
  906. package/{dist/lib/agents/agency-agent/lib/defaultPolicy.js → stdlib/agents/lib/search.js} +300 -455
  907. package/stdlib/agents/lib/shared.agency +59 -0
  908. package/stdlib/agents/{shared.js → lib/shared.js} +161 -71
  909. package/stdlib/agents/lib/toolkits.agency +198 -0
  910. package/stdlib/agents/lib/toolkits.js +1720 -0
  911. package/stdlib/agents/oracle.agency +172 -0
  912. package/stdlib/agents/oracle.js +1081 -0
  913. package/stdlib/agents/planner.agency +144 -36
  914. package/stdlib/agents/planner.js +808 -266
  915. package/stdlib/agents/researcher.agency +169 -0
  916. package/stdlib/agents/researcher.js +1380 -0
  917. package/stdlib/agents/review.agency +117 -0
  918. package/stdlib/agents/review.js +1040 -0
  919. package/stdlib/agents/skills/coding/gh-auth.md +65 -0
  920. package/stdlib/agents/skills/coding/gh-pr-and-issues.md +150 -0
  921. package/stdlib/agents/skills/coding/gh-repos-and-releases.md +87 -0
  922. package/stdlib/agents/skills/data/finding-identifiers.md +26 -0
  923. package/stdlib/agents/verifier.agency +155 -0
  924. package/stdlib/agents/verifier.js +1247 -0
  925. package/stdlib/args.js +14 -6
  926. package/stdlib/array.agency +1 -0
  927. package/stdlib/array.js +20 -6
  928. package/stdlib/auth/keyring.js +17 -6
  929. package/stdlib/auth/oauth.agency +1 -0
  930. package/stdlib/auth/oauth.js +18 -7
  931. package/stdlib/calendar.js +19 -6
  932. package/stdlib/capabilities.js +12 -6
  933. package/stdlib/clipboard.js +15 -6
  934. package/stdlib/concurrency.agency +52 -0
  935. package/stdlib/concurrency.js +304 -7
  936. package/stdlib/data/finance/dbnomics.js +100 -37
  937. package/stdlib/data/finance/edgar.agency +1 -0
  938. package/stdlib/data/finance/edgar.js +159 -52
  939. package/stdlib/data/finance/fred.agency +1 -0
  940. package/stdlib/data/finance/fred.js +308 -104
  941. package/stdlib/data/finance/gdelt.js +105 -42
  942. package/stdlib/data/people/littlesis.agency +2 -2
  943. package/stdlib/data/people/littlesis.js +446 -153
  944. package/stdlib/data/tech/hackernews.js +578 -193
  945. package/stdlib/data/tech/yc.js +424 -136
  946. package/stdlib/data/usaspending.agency +1 -0
  947. package/stdlib/data/usaspending.js +321 -132
  948. package/stdlib/data/wikidata.js +408 -153
  949. package/stdlib/date.agency +136 -87
  950. package/stdlib/date.js +690 -388
  951. package/stdlib/docs/agent/index.md +105 -0
  952. package/stdlib/docs/agent/mcp.md +134 -0
  953. package/stdlib/docs/agent/memory.md +58 -0
  954. package/stdlib/docs/agent/models.md +85 -0
  955. package/stdlib/docs/agent/project-context.md +28 -0
  956. package/stdlib/docs/cli/editor-integration.md +23 -0
  957. package/stdlib/docs/cli/eval-judge.md +3 -4
  958. package/stdlib/docs/cli/eval.md +270 -18
  959. package/stdlib/docs/cli/format.md +2 -0
  960. package/stdlib/docs/cli/lint.md +42 -0
  961. package/stdlib/docs/cli/optimize.md +10 -9
  962. package/stdlib/docs/cli/run.md +26 -1
  963. package/stdlib/docs/diagnostics/effects.md +20 -10
  964. package/stdlib/docs/diagnostics/index.md +34 -3
  965. package/stdlib/docs/diagnostics/lint.md +48 -0
  966. package/stdlib/docs/diagnostics/match.md +10 -0
  967. package/stdlib/docs/diagnostics/templates.md +184 -0
  968. package/stdlib/docs/diagnostics/types-aliases.md +10 -0
  969. package/stdlib/docs/guide/agency-config-file.md +1 -0
  970. package/stdlib/docs/guide/basic-syntax.md +27 -2
  971. package/stdlib/docs/guide/builtins.md +13 -0
  972. package/stdlib/docs/guide/comprehensions.md +111 -0
  973. package/stdlib/docs/guide/concurrency.md +4 -2
  974. package/stdlib/docs/guide/handlers.md +32 -2
  975. package/stdlib/docs/guide/llm.md +5 -3
  976. package/stdlib/docs/guide/match-expressions.md +208 -0
  977. package/stdlib/docs/guide/memory.md +3 -3
  978. package/stdlib/docs/guide/partial-results.md +9 -0
  979. package/stdlib/docs/guide/pattern-matching.md +227 -194
  980. package/stdlib/docs/guide/splices.md +94 -0
  981. package/stdlib/docs/guide/state-isolation.md +10 -4
  982. package/stdlib/docs/guide/template-agency.md +381 -0
  983. package/stdlib/docs/guide/ts-helpers.md +26 -0
  984. package/stdlib/docs/guide/type-validation.md +21 -16
  985. package/stdlib/docs/guide/types.md +18 -2
  986. package/stdlib/docs/stdlib/agency/eval.md +288 -0
  987. package/stdlib/docs/stdlib/agency/local.md +319 -0
  988. package/stdlib/docs/stdlib/agency.md +974 -0
  989. package/stdlib/docs/stdlib/agent.md +121 -0
  990. package/stdlib/docs/stdlib/agents/agency/coding.md +118 -0
  991. package/stdlib/docs/stdlib/agents/agency/expert.md +78 -0
  992. package/stdlib/docs/stdlib/agents/agency/researcher.md +75 -0
  993. package/stdlib/docs/stdlib/agents/agency/review.md +96 -0
  994. package/stdlib/docs/stdlib/agents/agency/verifier.md +75 -0
  995. package/stdlib/docs/stdlib/agents/coding.md +81 -0
  996. package/stdlib/docs/stdlib/agents/composable/promptRewriter.md +26 -0
  997. package/stdlib/docs/stdlib/agents/composable/researcher.md +39 -0
  998. package/stdlib/docs/stdlib/agents/composable/utils.md +25 -0
  999. package/stdlib/docs/stdlib/agents/data.md +75 -0
  1000. package/stdlib/docs/stdlib/agents/expert.md +80 -0
  1001. package/stdlib/docs/stdlib/agents/explorer.md +81 -0
  1002. package/stdlib/docs/stdlib/agents/lib/expertGuidance.md +87 -0
  1003. package/stdlib/docs/stdlib/agents/lib/feedback.md +127 -0
  1004. package/stdlib/docs/stdlib/agents/lib/search.md +65 -0
  1005. package/stdlib/docs/stdlib/agents/lib/shared.md +83 -0
  1006. package/stdlib/docs/stdlib/agents/lib/toolkits.md +192 -0
  1007. package/stdlib/docs/stdlib/agents/oracle.md +83 -0
  1008. package/stdlib/docs/stdlib/agents/planner.md +168 -0
  1009. package/stdlib/docs/stdlib/agents/researcher.md +77 -0
  1010. package/stdlib/docs/stdlib/agents/review.md +77 -0
  1011. package/stdlib/docs/stdlib/agents/verifier.md +77 -0
  1012. package/stdlib/docs/stdlib/args.md +235 -0
  1013. package/stdlib/docs/stdlib/array.md +11 -0
  1014. package/stdlib/docs/stdlib/auth/keyring.md +149 -0
  1015. package/stdlib/docs/stdlib/auth/oauth.md +183 -0
  1016. package/stdlib/docs/stdlib/calendar.md +279 -0
  1017. package/stdlib/docs/stdlib/capabilities.md +193 -0
  1018. package/stdlib/docs/stdlib/clipboard.md +71 -0
  1019. package/stdlib/docs/stdlib/concurrency.md +94 -0
  1020. package/stdlib/docs/stdlib/data/finance/dbnomics.md +112 -0
  1021. package/stdlib/docs/stdlib/data/finance/edgar.md +133 -0
  1022. package/stdlib/docs/stdlib/data/finance/fred.md +224 -0
  1023. package/stdlib/docs/stdlib/data/finance/gdelt.md +99 -0
  1024. package/stdlib/docs/stdlib/data/people/littlesis.md +219 -0
  1025. package/stdlib/docs/stdlib/data/tech/hackernews.md +219 -0
  1026. package/stdlib/docs/stdlib/data/tech/yc.md +206 -0
  1027. package/stdlib/docs/stdlib/data/usaspending.md +174 -0
  1028. package/stdlib/docs/stdlib/data/wikidata.md +168 -0
  1029. package/stdlib/docs/stdlib/date.md +433 -0
  1030. package/stdlib/docs/stdlib/fs.md +283 -0
  1031. package/stdlib/docs/stdlib/git.md +916 -0
  1032. package/stdlib/docs/stdlib/http.md +207 -0
  1033. package/stdlib/docs/stdlib/image.md +68 -0
  1034. package/stdlib/docs/stdlib/index.md +746 -0
  1035. package/stdlib/docs/stdlib/llm.md +260 -0
  1036. package/stdlib/docs/stdlib/markdown.md +605 -0
  1037. package/stdlib/docs/stdlib/math.md +109 -0
  1038. package/stdlib/docs/stdlib/mcp.md +128 -0
  1039. package/stdlib/docs/stdlib/memory.md +310 -0
  1040. package/stdlib/docs/stdlib/messaging/email.md +226 -0
  1041. package/stdlib/docs/stdlib/messaging/imessage.md +69 -0
  1042. package/stdlib/docs/stdlib/messaging/sms.md +79 -0
  1043. package/stdlib/docs/stdlib/notes/apple.md +428 -0
  1044. package/stdlib/docs/stdlib/object.md +195 -0
  1045. package/stdlib/docs/stdlib/path.md +165 -0
  1046. package/stdlib/docs/stdlib/policy.md +727 -0
  1047. package/stdlib/docs/stdlib/safeBash/actions.md +236 -0
  1048. package/stdlib/docs/stdlib/safeBash.md +398 -0
  1049. package/stdlib/docs/stdlib/shell.md +405 -0
  1050. package/stdlib/docs/stdlib/skills.md +239 -0
  1051. package/stdlib/docs/stdlib/speech.md +160 -0
  1052. package/stdlib/docs/stdlib/statelog.md +249 -0
  1053. package/stdlib/docs/stdlib/strategy.md +195 -0
  1054. package/stdlib/docs/stdlib/supervise.md +87 -0
  1055. package/stdlib/docs/stdlib/syntax.md +312 -0
  1056. package/stdlib/docs/stdlib/system.md +293 -0
  1057. package/stdlib/docs/stdlib/tag.md +150 -0
  1058. package/stdlib/docs/stdlib/thread.md +430 -0
  1059. package/stdlib/docs/stdlib/ui/chart.md +147 -0
  1060. package/stdlib/docs/stdlib/ui/cli.md +154 -0
  1061. package/stdlib/docs/stdlib/ui/layout.md +408 -0
  1062. package/stdlib/docs/stdlib/ui/table.md +194 -0
  1063. package/stdlib/docs/stdlib/ui.md +883 -0
  1064. package/stdlib/docs/stdlib/validation.md +613 -0
  1065. package/stdlib/docs/stdlib/weather.md +109 -0
  1066. package/stdlib/docs/stdlib/web/browser.md +80 -0
  1067. package/stdlib/docs/stdlib/web/search.md +132 -0
  1068. package/stdlib/docs/stdlib/wikipedia.md +123 -0
  1069. package/stdlib/fs.agency +1 -0
  1070. package/stdlib/fs.js +20 -7
  1071. package/stdlib/git.agency +1 -0
  1072. package/stdlib/git.js +467 -141
  1073. package/stdlib/http.js +16 -6
  1074. package/stdlib/image.agency +3 -1
  1075. package/stdlib/image.js +15 -7
  1076. package/stdlib/index.agency +48 -4
  1077. package/stdlib/index.js +658 -65
  1078. package/stdlib/llm.agency +1 -0
  1079. package/stdlib/llm.js +23 -7
  1080. package/stdlib/markdown.agency +1 -0
  1081. package/stdlib/markdown.js +19 -7
  1082. package/stdlib/math.agency +4 -0
  1083. package/stdlib/math.js +23 -11
  1084. package/stdlib/mcp.agency +6 -6
  1085. package/stdlib/mcp.js +24 -11
  1086. package/stdlib/memory.agency +1 -0
  1087. package/stdlib/memory.js +92 -28
  1088. package/stdlib/messaging/email.agency +1 -0
  1089. package/stdlib/messaging/email.js +17 -7
  1090. package/stdlib/messaging/imessage.js +14 -6
  1091. package/stdlib/messaging/sms.js +14 -6
  1092. package/stdlib/notes/apple.agency +1 -0
  1093. package/stdlib/notes/apple.js +165 -53
  1094. package/stdlib/object.js +158 -47
  1095. package/stdlib/path.js +20 -6
  1096. package/stdlib/policy.agency +25 -3
  1097. package/stdlib/policy.js +182 -65
  1098. package/stdlib/safeBash/actions.agency +166 -0
  1099. package/stdlib/safeBash/actions.js +805 -0
  1100. package/stdlib/safeBash.agency +959 -0
  1101. package/stdlib/safeBash.js +6908 -0
  1102. package/stdlib/shell.agency +9 -4
  1103. package/stdlib/shell.js +26 -10
  1104. package/stdlib/skills.agency +59 -19
  1105. package/stdlib/skills.js +412 -110
  1106. package/stdlib/speech.js +16 -6
  1107. package/stdlib/statelog.agency +1 -0
  1108. package/stdlib/statelog.js +21 -7
  1109. package/stdlib/strategy.agency +40 -0
  1110. package/stdlib/strategy.js +284 -14
  1111. package/stdlib/supervise.agency +116 -0
  1112. package/stdlib/supervise.js +501 -0
  1113. package/stdlib/syntax.agency +19 -12
  1114. package/stdlib/syntax.js +24 -11
  1115. package/stdlib/system.agency +0 -21
  1116. package/stdlib/system.js +26 -113
  1117. package/stdlib/tag.js +19 -6
  1118. package/stdlib/thread.agency +38 -0
  1119. package/stdlib/thread.js +347 -16
  1120. package/stdlib/ui/chart.agency +1 -0
  1121. package/stdlib/ui/chart.js +54 -25
  1122. package/stdlib/ui/cli.agency +35 -0
  1123. package/stdlib/ui/cli.js +244 -10
  1124. package/stdlib/ui/layout.js +160 -75
  1125. package/stdlib/ui/table.agency +1 -0
  1126. package/stdlib/ui/table.js +87 -46
  1127. package/stdlib/ui.agency +1 -0
  1128. package/stdlib/ui.js +560 -253
  1129. package/stdlib/validation.agency +38 -0
  1130. package/stdlib/validation.js +300 -7
  1131. package/stdlib/weather.agency +2 -0
  1132. package/stdlib/weather.js +19 -9
  1133. package/stdlib/web/browser.js +14 -6
  1134. package/stdlib/web/search.js +15 -6
  1135. package/stdlib/wikipedia.js +16 -6
  1136. package/dist/lib/agents/agency-agent/subagents/verify.agency +0 -58
  1137. package/dist/lib/cli/eval/run.workdir.test.js +0 -111
  1138. package/dist/lib/eval/runEvalInput.d.ts +0 -63
  1139. package/dist/lib/eval/runEvalInput.js +0 -79
  1140. package/dist/lib/eval/runWorkdir.d.ts +0 -25
  1141. package/dist/lib/eval/runWorkdir.js +0 -46
  1142. package/dist/lib/eval/runWorkdir.test.js +0 -42
  1143. package/dist/lib/optimize/artifacts.d.ts +0 -46
  1144. package/dist/lib/optimize/artifacts.js +0 -151
  1145. package/dist/lib/optimize/artifacts.test.js +0 -181
  1146. package/dist/lib/optimize/gradeBreakdown.d.ts +0 -22
  1147. package/dist/lib/optimize/gradeBreakdown.js +0 -20
  1148. package/dist/lib/optimize/history.d.ts +0 -16
  1149. package/dist/lib/optimize/history.js +0 -29
  1150. package/dist/lib/optimize/history.test.js +0 -37
  1151. package/dist/lib/optimize/inputs.d.ts +0 -2
  1152. package/dist/lib/optimize/inputs.js +0 -9
  1153. package/dist/lib/optimize/inputs.test.js +0 -17
  1154. package/dist/lib/optimize/loop.d.ts +0 -24
  1155. package/dist/lib/optimize/loop.js +0 -330
  1156. package/dist/lib/optimize/loop.test.js +0 -377
  1157. package/dist/lib/typeChecker/handlerBodyInterrupts.test.js +0 -171
  1158. package/dist/lib/utils/projectTree.d.ts +0 -13
  1159. package/dist/lib/utils/projectTree.js +0 -42
  1160. package/dist/lib/utils/projectTree.test.js +0 -49
  1161. package/stdlib/agents/agency.agency +0 -88
  1162. package/stdlib/agents/agency.js +0 -1415
  1163. package/stdlib/agents/research.agency +0 -64
  1164. package/stdlib/agents/research.js +0 -744
  1165. package/stdlib/agents/shared.agency +0 -21
  1166. /package/dist/lib/{cli/eval/run.workdir.test.d.ts → agentTarget.test.d.ts} +0 -0
  1167. /package/dist/lib/{eval/runWorkdir.test.d.ts → analysis/closure.test.d.ts} +0 -0
  1168. /package/dist/lib/{optimize/artifacts.test.d.ts → analysis/effectPropagation.test.d.ts} +0 -0
  1169. /package/dist/lib/{optimize/goalJudgeFile.test.d.ts → analysis/effects.test.d.ts} +0 -0
  1170. /package/dist/lib/{optimize/gradeBreakdown.test.d.ts → analysis/effectsOracle.test.d.ts} +0 -0
  1171. /package/dist/lib/{optimize/grading/agencyRunner.test.d.ts → backends/agencyGenerator.roundtrip.test.d.ts} +0 -0
  1172. /package/dist/lib/{optimize/grading/aggregate.test.d.ts → backends/agencyGenerator.splice.test.d.ts} +0 -0
  1173. /package/dist/lib/{optimize/grading/baseGrader.test.d.ts → backends/frameClaims.test.d.ts} +0 -0
  1174. /package/dist/lib/{optimize/grading/functionGrader.test.d.ts → backends/holeRefusal.test.d.ts} +0 -0
  1175. /package/dist/lib/{optimize/grading/getPath.test.d.ts → backends/topLevelRefusal.test.d.ts} +0 -0
  1176. /package/dist/lib/{optimize/grading → cli/eval}/grade.test.d.ts +0 -0
  1177. /package/dist/lib/{optimize/grading/graders/builtinGraders.test.d.ts → cli/eval/logs.test.d.ts} +0 -0
  1178. /package/dist/lib/{optimize/grading/graders/humanGrader.test.d.ts → cli/expectedCompileError.test.d.ts} +0 -0
  1179. /package/dist/lib/{optimize/grading/graders/llmJudge.test.d.ts → cli/lint.test.d.ts} +0 -0
  1180. /package/dist/lib/{optimize/grading/scorecard.test.d.ts → cli/policyCrossModule.test.d.ts} +0 -0
  1181. /package/dist/lib/{optimize/grading/types.js → cli/test.test.d.ts} +0 -0
  1182. /package/dist/lib/{optimize/gradingModule.test.d.ts → cli/validatorInterrupts.spawn.test.d.ts} +0 -0
  1183. /package/dist/lib/{optimize/history.test.d.ts → compiler/splice/cache.test.d.ts} +0 -0
  1184. /package/dist/lib/{optimize/inputs.test.d.ts → compiler/splice/eligibility.test.d.ts} +0 -0
  1185. /package/dist/lib/{optimize/loop.test.d.ts → compiler/splice/rebuild.test.d.ts} +0 -0
  1186. /package/dist/lib/{typeChecker/handlerBodyInterrupts.test.d.ts → compiler/splice/runGenerator.test.d.ts} +0 -0
  1187. /package/dist/lib/{utils/projectTree.test.d.ts → compiler/splice/types.js} +0 -0
  1188. /package/dist/lib/{optimize → eval}/grading/agencyRunner.d.ts +0 -0
  1189. /package/dist/lib/{optimize → eval}/grading/agencyRunner.js +0 -0
  1190. /package/dist/lib/{optimize → eval}/grading/agencyRunner.test.js +0 -0
  1191. /package/dist/lib/{optimize → eval}/grading/aggregate.d.ts +0 -0
  1192. /package/dist/lib/{optimize → eval}/grading/aggregate.js +0 -0
  1193. /package/dist/lib/{optimize → eval}/grading/aggregate.test.js +0 -0
  1194. /package/dist/lib/{optimize → eval}/grading/baseGrader.d.ts +0 -0
  1195. /package/dist/lib/{optimize → eval}/grading/baseGrader.js +0 -0
  1196. /package/dist/lib/{optimize → eval}/grading/getPath.d.ts +0 -0
  1197. /package/dist/lib/{optimize → eval}/grading/getPath.js +0 -0
  1198. /package/dist/lib/{optimize → eval}/grading/getPath.test.js +0 -0
  1199. /package/dist/lib/{optimize → eval/grading}/goalJudgeFile.d.ts +0 -0
  1200. /package/dist/lib/{optimize → eval/grading}/goalJudgeFile.test.js +0 -0
  1201. /package/dist/lib/{optimize → eval}/grading/grade.d.ts +0 -0
  1202. /package/dist/lib/{optimize → eval}/grading/grade.js +0 -0
  1203. /package/dist/lib/{optimize → eval}/grading/grade.test.js +0 -0
  1204. /package/dist/lib/{optimize → eval}/grading/graders/builtinGraders.d.ts +0 -0
  1205. /package/dist/lib/{optimize → eval}/grading/graders/builtinGraders.js +0 -0
  1206. /package/dist/lib/{optimize → eval}/grading/graders/humanGrader.d.ts +0 -0
  1207. /package/dist/lib/{optimize → eval}/grading/graders/llmJudge.d.ts +0 -0
  1208. /package/dist/lib/{optimize → eval}/grading/scorecard.js +0 -0
@@ -0,0 +1,52 @@
1
+ /**
2
+ * How an agent target string is parsed and resolved. A target names an agent
3
+ * entry point: `path`, `path:node`, or a directory (meaning its main.agency).
4
+ * Consumed by the eval commands, the optimizer, and `agency test`.
5
+ */
6
+ export declare function parseTarget(target: string): {
7
+ filename: string;
8
+ nodeName: string;
9
+ };
10
+ /** Resolve a target into the agent file, node (default "main"), and the
11
+ * display label run results carry. */
12
+ export declare function resolveEvalRunTarget(target: string): {
13
+ agentFile: string;
14
+ node: string;
15
+ label: string;
16
+ };
17
+ /** What runs as the agent, and what evidence it produces. `file` is the
18
+ * classic seeded-and-compiled .agency target; `command` is a CLI run in the
19
+ * workdir (Agency CLIs only — the statelog is the evidence contract). A
20
+ * future non-Agency variant would be a third kind with a weaker record. */
21
+ export type EvalTarget = {
22
+ kind: "file";
23
+ agentFile: string;
24
+ node: string;
25
+ label: string;
26
+ } | {
27
+ kind: "command";
28
+ tokens: string[];
29
+ label: string;
30
+ };
31
+ /** Resolve the runner-side agent choice. Exactly one of --agent /
32
+ * --agent-cmd; the command's {task} placeholder is validated here, before
33
+ * any run. Commands come ONLY from these flags, never from suite content —
34
+ * suites can be remote git sources, and a suite that named its own command
35
+ * would be remote code execution. */
36
+ export declare function resolveEvalTarget(opts: {
37
+ agent?: string;
38
+ agentCmd?: string;
39
+ }): EvalTarget;
40
+ /**
41
+ * Fail fast when the entry node cannot receive a task: eval delivers the
42
+ * input's task as the node's single positional parameter, so the node must
43
+ * take exactly one. The subprocess bootstrap enforces the same rule at run
44
+ * time (resolveNodeCallArgs), but by then a workdir has been seeded and the
45
+ * agent compiled — and the optimizer would pay that once per candidate.
46
+ * A misconfigured agent should cost one error, not a suite of run failures.
47
+ *
48
+ * Best-effort: an unreadable or unparseable file, or a node defined
49
+ * elsewhere than the entry file, is left for compile/run to report with
50
+ * better errors than a pre-parse could.
51
+ */
52
+ export declare function assertEvalEntryNodeTakesOneParameter(agentFile: string, node: string): void;
@@ -0,0 +1,83 @@
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import { MISSING_TASK_PLACEHOLDER_ERROR, TASK_PLACEHOLDER, tokenizeCommand } from "./eval/run/commandLine.js";
4
+ import { parseAgency } from "./parser.js";
5
+ /**
6
+ * How an agent target string is parsed and resolved. A target names an agent
7
+ * entry point: `path`, `path:node`, or a directory (meaning its main.agency).
8
+ * Consumed by the eval commands, the optimizer, and `agency test`.
9
+ */
10
+ export function parseTarget(target) {
11
+ const colonIndex = target.lastIndexOf(":");
12
+ if (colonIndex === -1) {
13
+ return { filename: target, nodeName: "" };
14
+ }
15
+ const filename = target.slice(0, colonIndex);
16
+ const nodeName = target.slice(colonIndex + 1);
17
+ return { filename, nodeName };
18
+ }
19
+ /** Resolve a target into the agent file, node (default "main"), and the
20
+ * display label run results carry. */
21
+ export function resolveEvalRunTarget(target) {
22
+ const parsed = parseTarget(target);
23
+ const resolved = path.resolve(parsed.filename);
24
+ const agentFile = fs.existsSync(resolved) && fs.statSync(resolved).isDirectory()
25
+ ? path.join(resolved, "main.agency")
26
+ : resolved;
27
+ const node = parsed.nodeName || "main";
28
+ return { agentFile, node, label: `${agentFile}:${node}` };
29
+ }
30
+ /** Resolve the runner-side agent choice. Exactly one of --agent /
31
+ * --agent-cmd; the command's {task} placeholder is validated here, before
32
+ * any run. Commands come ONLY from these flags, never from suite content —
33
+ * suites can be remote git sources, and a suite that named its own command
34
+ * would be remote code execution. */
35
+ export function resolveEvalTarget(opts) {
36
+ if ((opts.agent ? 1 : 0) + (opts.agentCmd ? 1 : 0) !== 1) {
37
+ throw new Error("Provide exactly one of --agent or --agent-cmd");
38
+ }
39
+ if (opts.agentCmd) {
40
+ const tokens = tokenizeCommand(opts.agentCmd);
41
+ if (!tokens.some((t) => t.includes(TASK_PLACEHOLDER))) {
42
+ throw new Error(MISSING_TASK_PLACEHOLDER_ERROR);
43
+ }
44
+ return { kind: "command", tokens, label: opts.agentCmd };
45
+ }
46
+ return { kind: "file", ...resolveEvalRunTarget(opts.agent) };
47
+ }
48
+ /**
49
+ * Fail fast when the entry node cannot receive a task: eval delivers the
50
+ * input's task as the node's single positional parameter, so the node must
51
+ * take exactly one. The subprocess bootstrap enforces the same rule at run
52
+ * time (resolveNodeCallArgs), but by then a workdir has been seeded and the
53
+ * agent compiled — and the optimizer would pay that once per candidate.
54
+ * A misconfigured agent should cost one error, not a suite of run failures.
55
+ *
56
+ * Best-effort: an unreadable or unparseable file, or a node defined
57
+ * elsewhere than the entry file, is left for compile/run to report with
58
+ * better errors than a pre-parse could.
59
+ */
60
+ export function assertEvalEntryNodeTakesOneParameter(agentFile, node) {
61
+ let source;
62
+ try {
63
+ source = fs.readFileSync(agentFile, "utf-8");
64
+ }
65
+ catch {
66
+ return;
67
+ }
68
+ const parsed = parseAgency(source, {}, false);
69
+ if (!parsed.success)
70
+ return;
71
+ for (const candidate of parsed.result.nodes) {
72
+ if (candidate.type !== "graphNode" || candidate.nodeName !== node)
73
+ continue;
74
+ const count = candidate.parameters.length;
75
+ if (count !== 1) {
76
+ const detail = count === 0
77
+ ? `takes none — add one (it may go unused: \`node ${node}(task: string) { ... }\`)`
78
+ : `takes ${count} (${candidate.parameters.map((p) => p.name).join(", ")}) — add a one-parameter adapter node`;
79
+ throw new Error(`eval delivers the input's task as the entry node's single parameter, ` +
80
+ `but node "${node}" in ${agentFile} ${detail}.`);
81
+ }
82
+ }
83
+ }
@@ -0,0 +1,76 @@
1
+ import * as fs from "fs";
2
+ import * as os from "os";
3
+ import * as path from "path";
4
+ import { afterEach, describe, expect, it } from "vitest";
5
+ import { assertEvalEntryNodeTakesOneParameter, parseTarget, resolveEvalRunTarget, resolveEvalTarget } from "./agentTarget.js";
6
+ const dirs = [];
7
+ afterEach(() => {
8
+ // Raw rmSync, not safeDelete: mkdtemp paths sit outside any project root,
9
+ // which safeDelete refuses by design. Same reasoning as runArtifacts.ts.
10
+ for (const tempDir of dirs.splice(0)) {
11
+ fs.rmSync(tempDir, { recursive: true, force: true });
12
+ }
13
+ });
14
+ describe("agent targets", () => {
15
+ it("splits path from node on the last colon", () => {
16
+ expect(parseTarget("a.agency:main")).toEqual({ filename: "a.agency", nodeName: "main" });
17
+ expect(parseTarget("a.agency")).toEqual({ filename: "a.agency", nodeName: "" });
18
+ });
19
+ it("resolves file and directory agent targets", () => {
20
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "agent-target-"));
21
+ dirs.push(tmpDir);
22
+ const file = path.join(tmpDir, "agent.agency");
23
+ fs.writeFileSync(file, "node main() {}\n");
24
+ const dir = path.join(tmpDir, "agent-dir");
25
+ fs.mkdirSync(dir);
26
+ fs.writeFileSync(path.join(dir, "main.agency"), "node main() {}\n");
27
+ expect(resolveEvalRunTarget(`${file}:evalMain`)).toEqual({ agentFile: file, node: "evalMain", label: `${file}:evalMain` });
28
+ expect(resolveEvalRunTarget(file)).toEqual({ agentFile: file, node: "main", label: `${file}:main` });
29
+ expect(resolveEvalRunTarget(dir)).toEqual({ agentFile: path.join(dir, "main.agency"), node: "main", label: `${path.join(dir, "main.agency")}:main` });
30
+ });
31
+ });
32
+ describe("resolveEvalTarget", () => {
33
+ it("resolves --agent into a file target", () => {
34
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "target-"));
35
+ dirs.push(tmpDir);
36
+ const file = path.join(tmpDir, "a.agency");
37
+ fs.writeFileSync(file, "node main(task: string) {}\n");
38
+ expect(resolveEvalTarget({ agent: `${file}:main` }))
39
+ .toEqual({ kind: "file", agentFile: file, node: "main", label: `${file}:main` });
40
+ });
41
+ it("resolves --agent-cmd into a command target with the placeholder intact", () => {
42
+ expect(resolveEvalTarget({ agentCmd: `agency agent -p -- {task}` }))
43
+ .toEqual({ kind: "command", tokens: ["agency", "agent", "-p", "--", "{task}"], label: "agency agent -p -- {task}" });
44
+ });
45
+ it("rejects both, neither, and a command without {task}", () => {
46
+ expect(() => resolveEvalTarget({ agent: "a.agency", agentCmd: "x {task}" })).toThrow(/exactly one of/);
47
+ expect(() => resolveEvalTarget({})).toThrow(/exactly one of/);
48
+ expect(() => resolveEvalTarget({ agentCmd: "agency agent -p hello" })).toThrow(/\{task\}/);
49
+ });
50
+ });
51
+ describe("assertEvalEntryNodeTakesOneParameter", () => {
52
+ function agentWith(source) {
53
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "agent-shape-"));
54
+ dirs.push(tmpDir);
55
+ const file = path.join(tmpDir, "agent.agency");
56
+ fs.writeFileSync(file, source);
57
+ return file;
58
+ }
59
+ it("accepts a one-parameter node, default value or not", () => {
60
+ expect(() => assertEvalEntryNodeTakesOneParameter(agentWith("node main(task: string) {}\n"), "main")).not.toThrow();
61
+ expect(() => assertEvalEntryNodeTakesOneParameter(agentWith('node main(task: string = "") {}\n'), "main")).not.toThrow();
62
+ });
63
+ it("rejects a zero-parameter node with the add-one hint", () => {
64
+ expect(() => assertEvalEntryNodeTakesOneParameter(agentWith("node main() {}\n"), "main"))
65
+ .toThrow(/takes none — add one/);
66
+ });
67
+ it("rejects a two-parameter node, naming the parameters", () => {
68
+ expect(() => assertEvalEntryNodeTakesOneParameter(agentWith("node main(a: string, b: string) {}\n"), "main"))
69
+ .toThrow(/takes 2 \(a, b\)/);
70
+ });
71
+ it("stays quiet on unparseable files and absent nodes — compile/run report those better", () => {
72
+ expect(() => assertEvalEntryNodeTakesOneParameter(agentWith("this is not agency"), "main")).not.toThrow();
73
+ expect(() => assertEvalEntryNodeTakesOneParameter(agentWith("node other(x: string) {}\n"), "main")).not.toThrow();
74
+ expect(() => assertEvalEntryNodeTakesOneParameter(path.join(os.tmpdir(), "does-not-exist.agency"), "main")).not.toThrow();
75
+ });
76
+ });