@goah/cli 0.13.0 → 0.13.2

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 (236) hide show
  1. package/dist/LICENSE +201 -0
  2. package/dist/THIRD-PARTY-NOTICES.md +2319 -0
  3. package/dist/anthropic-messages-WBFOHES5.js +7214 -0
  4. package/dist/azure-openai-responses-NZFH3PO6.js +253 -0
  5. package/dist/chunk-25XSBFX6.js +639 -0
  6. package/dist/chunk-2QBQZGXF.js +110 -0
  7. package/dist/chunk-2ZP2NBW3.js +345 -0
  8. package/dist/chunk-4KA63VNZ.js +2 -0
  9. package/dist/chunk-4M6TXTT5.js +86 -0
  10. package/dist/chunk-4US7ZHT3.js +20 -0
  11. package/dist/chunk-6M3OOCKO.js +11809 -0
  12. package/dist/chunk-7AXAFDPG.js +17 -0
  13. package/dist/chunk-7E7V6OIU.js +920 -0
  14. package/dist/chunk-BXA47DTF.js +548 -0
  15. package/dist/chunk-D2DVAH37.js +25 -0
  16. package/dist/chunk-FSBUS2BI.js +26 -0
  17. package/dist/chunk-GKDRAHLI.js +4787 -0
  18. package/dist/chunk-H462EFJP.js +89 -0
  19. package/dist/chunk-IIJQ3DW4.js +35 -0
  20. package/dist/chunk-JQD5EWJY.js +34 -0
  21. package/dist/chunk-K26BVR6O.js +61 -0
  22. package/dist/chunk-KAO7WIXG.js +31 -0
  23. package/dist/chunk-KJ4HJCTK.js +1178 -0
  24. package/dist/chunk-LBKI23CC.js +9810 -0
  25. package/dist/chunk-LKBKZEHT.js +41 -0
  26. package/dist/chunk-MD7TLTXZ.js +18 -0
  27. package/dist/chunk-MPXK7QBL.js +868 -0
  28. package/dist/chunk-NRLGWZJC.js +11 -0
  29. package/dist/chunk-QBD6EJ2Z.js +1746 -0
  30. package/dist/chunk-R6I3VKME.js +132 -0
  31. package/dist/chunk-TJON22J4.js +87 -0
  32. package/dist/chunk-ULY36ME4.js +33097 -0
  33. package/dist/chunk-XALZLRYK.js +9221 -0
  34. package/dist/chunk-XPQKM3L7.js +57 -0
  35. package/dist/chunk-YH6YJ2IB.js +1773 -0
  36. package/dist/cli.d.ts +0 -2
  37. package/dist/cli.js +13716 -580
  38. package/dist/console/assets/{index-Rtc_B7cs.js → index-B1vGMXKr.js} +11 -11
  39. package/dist/console/assets/{index-Rtc_B7cs.js.map → index-B1vGMXKr.js.map} +1 -1
  40. package/dist/console/index.html +1 -1
  41. package/dist/dist-65MDQA4Q.js +1126 -0
  42. package/dist/dist-KNR2XL6J.js +39 -0
  43. package/dist/execution.d.ts +557 -2
  44. package/dist/execution.js +37 -2
  45. package/dist/faux-runner-worker.js +128 -0
  46. package/dist/google-generative-ai-YMHXZSFE.js +422 -0
  47. package/dist/google-vertex-X6DB3ZQ6.js +471 -0
  48. package/dist/index.d.ts +853 -25
  49. package/dist/index.js +84 -385
  50. package/dist/kernel.d.ts +39 -2
  51. package/dist/kernel.js +21 -2
  52. package/dist/mistral-conversations-TY3MMD6G.js +718 -0
  53. package/dist/multipart-parser-F6M4NJZU.js +373 -0
  54. package/dist/openai-codex-responses-BRDUMLN5.js +1374 -0
  55. package/dist/openai-completions-CX634XN3.js +1139 -0
  56. package/dist/openai-responses-HMCXJIHT.js +300 -0
  57. package/dist/openrouter-images-KTWET2H2.js +148 -0
  58. package/dist/pi-messages-XL5OEC4K.js +307 -0
  59. package/dist/pi-worker.js +671 -0
  60. package/dist/runner-pi.d.ts +342 -2
  61. package/dist/runner-pi.js +46 -2
  62. package/dist/runner-registry-GD4BYCQC.js +22 -0
  63. package/dist/sqlite.d.ts +446 -2
  64. package/dist/sqlite.js +15 -2
  65. package/dist/src-F2KBSV4T.js +1398 -0
  66. package/dist/supervisor.d.ts +625 -2
  67. package/dist/supervisor.js +39 -2
  68. package/dist/testkit.d.ts +564 -2
  69. package/dist/testkit.js +127 -2
  70. package/dist/transcript.d.ts +84 -2
  71. package/dist/transcript.js +25 -2
  72. package/dist/verification-worker.js +72 -0
  73. package/package.json +2 -26
  74. package/dist/cli.d.ts.map +0 -1
  75. package/dist/cli.js.map +0 -1
  76. package/dist/control.d.ts +0 -106
  77. package/dist/control.d.ts.map +0 -1
  78. package/dist/control.js +0 -242
  79. package/dist/control.js.map +0 -1
  80. package/dist/execution.d.ts.map +0 -1
  81. package/dist/execution.js.map +0 -1
  82. package/dist/index.d.ts.map +0 -1
  83. package/dist/index.js.map +0 -1
  84. package/dist/kernel.d.ts.map +0 -1
  85. package/dist/kernel.js.map +0 -1
  86. package/dist/live-config.d.ts +0 -10
  87. package/dist/live-config.d.ts.map +0 -1
  88. package/dist/live-config.js +0 -44
  89. package/dist/live-config.js.map +0 -1
  90. package/dist/prompt-queue.d.ts +0 -13
  91. package/dist/prompt-queue.d.ts.map +0 -1
  92. package/dist/prompt-queue.js +0 -35
  93. package/dist/prompt-queue.js.map +0 -1
  94. package/dist/runner-pi.d.ts.map +0 -1
  95. package/dist/runner-pi.js.map +0 -1
  96. package/dist/runner-registry.d.ts +0 -8
  97. package/dist/runner-registry.d.ts.map +0 -1
  98. package/dist/runner-registry.js +0 -12
  99. package/dist/runner-registry.js.map +0 -1
  100. package/dist/searchable-select.d.ts +0 -24
  101. package/dist/searchable-select.d.ts.map +0 -1
  102. package/dist/searchable-select.js +0 -61
  103. package/dist/searchable-select.js.map +0 -1
  104. package/dist/secret-input.d.ts +0 -8
  105. package/dist/secret-input.d.ts.map +0 -1
  106. package/dist/secret-input.js +0 -14
  107. package/dist/secret-input.js.map +0 -1
  108. package/dist/setup-wizard.d.ts +0 -22
  109. package/dist/setup-wizard.d.ts.map +0 -1
  110. package/dist/setup-wizard.js +0 -154
  111. package/dist/setup-wizard.js.map +0 -1
  112. package/dist/sqlite.d.ts.map +0 -1
  113. package/dist/sqlite.js.map +0 -1
  114. package/dist/supervisor.d.ts.map +0 -1
  115. package/dist/supervisor.js.map +0 -1
  116. package/dist/testkit.d.ts.map +0 -1
  117. package/dist/testkit.js.map +0 -1
  118. package/dist/thread-inspect.d.ts +0 -47
  119. package/dist/thread-inspect.d.ts.map +0 -1
  120. package/dist/thread-inspect.js +0 -78
  121. package/dist/thread-inspect.js.map +0 -1
  122. package/dist/transcript.d.ts.map +0 -1
  123. package/dist/transcript.js.map +0 -1
  124. package/dist/tui-theme.d.ts +0 -17
  125. package/dist/tui-theme.d.ts.map +0 -1
  126. package/dist/tui-theme.js +0 -19
  127. package/dist/tui-theme.js.map +0 -1
  128. package/dist/tui.d.ts +0 -24
  129. package/dist/tui.d.ts.map +0 -1
  130. package/dist/tui.js +0 -784
  131. package/dist/tui.js.map +0 -1
  132. package/dist/update.d.ts +0 -16
  133. package/dist/update.d.ts.map +0 -1
  134. package/dist/update.js +0 -67
  135. package/dist/update.js.map +0 -1
  136. package/dist/web-console.d.ts +0 -33
  137. package/dist/web-console.d.ts.map +0 -1
  138. package/dist/web-console.js +0 -242
  139. package/dist/web-console.js.map +0 -1
  140. package/dist/welcome.d.ts +0 -30
  141. package/dist/welcome.d.ts.map +0 -1
  142. package/dist/welcome.js +0 -69
  143. package/dist/welcome.js.map +0 -1
  144. package/node_modules/goah-ledger-contract/dist/execution.d.ts +0 -544
  145. package/node_modules/goah-ledger-contract/dist/execution.d.ts.map +0 -1
  146. package/node_modules/goah-ledger-contract/dist/execution.js +0 -52
  147. package/node_modules/goah-ledger-contract/dist/execution.js.map +0 -1
  148. package/node_modules/goah-ledger-contract/dist/index.d.ts +0 -4
  149. package/node_modules/goah-ledger-contract/dist/index.d.ts.map +0 -1
  150. package/node_modules/goah-ledger-contract/dist/index.js +0 -4
  151. package/node_modules/goah-ledger-contract/dist/index.js.map +0 -1
  152. package/node_modules/goah-ledger-contract/dist/kernel.d.ts +0 -37
  153. package/node_modules/goah-ledger-contract/dist/kernel.d.ts.map +0 -1
  154. package/node_modules/goah-ledger-contract/dist/kernel.js +0 -8
  155. package/node_modules/goah-ledger-contract/dist/kernel.js.map +0 -1
  156. package/node_modules/goah-ledger-contract/dist/transcript.d.ts +0 -63
  157. package/node_modules/goah-ledger-contract/dist/transcript.d.ts.map +0 -1
  158. package/node_modules/goah-ledger-contract/dist/transcript.js +0 -115
  159. package/node_modules/goah-ledger-contract/dist/transcript.js.map +0 -1
  160. package/node_modules/goah-ledger-contract/package.json +0 -28
  161. package/node_modules/goah-ledger-sqlite/dist/index.d.ts +0 -86
  162. package/node_modules/goah-ledger-sqlite/dist/index.d.ts.map +0 -1
  163. package/node_modules/goah-ledger-sqlite/dist/index.js +0 -1254
  164. package/node_modules/goah-ledger-sqlite/dist/index.js.map +0 -1
  165. package/node_modules/goah-ledger-sqlite/package.json +0 -26
  166. package/node_modules/goah-runner-pi/dist/configurator.d.ts +0 -20
  167. package/node_modules/goah-runner-pi/dist/configurator.d.ts.map +0 -1
  168. package/node_modules/goah-runner-pi/dist/configurator.js +0 -423
  169. package/node_modules/goah-runner-pi/dist/configurator.js.map +0 -1
  170. package/node_modules/goah-runner-pi/dist/credential-store.d.ts +0 -14
  171. package/node_modules/goah-runner-pi/dist/credential-store.d.ts.map +0 -1
  172. package/node_modules/goah-runner-pi/dist/credential-store.js +0 -163
  173. package/node_modules/goah-runner-pi/dist/credential-store.js.map +0 -1
  174. package/node_modules/goah-runner-pi/dist/env-spec.d.ts +0 -17
  175. package/node_modules/goah-runner-pi/dist/env-spec.d.ts.map +0 -1
  176. package/node_modules/goah-runner-pi/dist/env-spec.js +0 -95
  177. package/node_modules/goah-runner-pi/dist/env-spec.js.map +0 -1
  178. package/node_modules/goah-runner-pi/dist/index.d.ts +0 -76
  179. package/node_modules/goah-runner-pi/dist/index.d.ts.map +0 -1
  180. package/node_modules/goah-runner-pi/dist/index.js +0 -326
  181. package/node_modules/goah-runner-pi/dist/index.js.map +0 -1
  182. package/node_modules/goah-runner-pi/dist/model-provider.d.ts +0 -30
  183. package/node_modules/goah-runner-pi/dist/model-provider.d.ts.map +0 -1
  184. package/node_modules/goah-runner-pi/dist/model-provider.js +0 -96
  185. package/node_modules/goah-runner-pi/dist/model-provider.js.map +0 -1
  186. package/node_modules/goah-runner-pi/dist/pi-worker.d.ts +0 -31
  187. package/node_modules/goah-runner-pi/dist/pi-worker.d.ts.map +0 -1
  188. package/node_modules/goah-runner-pi/dist/pi-worker.js +0 -579
  189. package/node_modules/goah-runner-pi/dist/pi-worker.js.map +0 -1
  190. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.d.ts +0 -2
  191. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.d.ts.map +0 -1
  192. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.js +0 -3
  193. package/node_modules/goah-runner-pi/dist/steering-no-ack.test-fixture.js.map +0 -1
  194. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.d.ts +0 -2
  195. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.d.ts.map +0 -1
  196. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.js +0 -5
  197. package/node_modules/goah-runner-pi/dist/steering-reject.test-fixture.js.map +0 -1
  198. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.d.ts +0 -2
  199. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.d.ts.map +0 -1
  200. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.js +0 -5
  201. package/node_modules/goah-runner-pi/dist/steering-worker.test-fixture.js.map +0 -1
  202. package/node_modules/goah-runner-pi/dist/test-helpers.d.ts +0 -4
  203. package/node_modules/goah-runner-pi/dist/test-helpers.d.ts.map +0 -1
  204. package/node_modules/goah-runner-pi/dist/test-helpers.js +0 -13
  205. package/node_modules/goah-runner-pi/dist/test-helpers.js.map +0 -1
  206. package/node_modules/goah-runner-pi/dist/verification-worker.d.ts +0 -2
  207. package/node_modules/goah-runner-pi/dist/verification-worker.d.ts.map +0 -1
  208. package/node_modules/goah-runner-pi/dist/verification-worker.js +0 -46
  209. package/node_modules/goah-runner-pi/dist/verification-worker.js.map +0 -1
  210. package/node_modules/goah-runner-pi/package.json +0 -28
  211. package/node_modules/goah-supervisor/dist/context-view.d.ts +0 -30
  212. package/node_modules/goah-supervisor/dist/context-view.d.ts.map +0 -1
  213. package/node_modules/goah-supervisor/dist/context-view.js +0 -58
  214. package/node_modules/goah-supervisor/dist/context-view.js.map +0 -1
  215. package/node_modules/goah-supervisor/dist/index.d.ts +0 -96
  216. package/node_modules/goah-supervisor/dist/index.d.ts.map +0 -1
  217. package/node_modules/goah-supervisor/dist/index.js +0 -1075
  218. package/node_modules/goah-supervisor/dist/index.js.map +0 -1
  219. package/node_modules/goah-supervisor/dist/roles.d.ts +0 -4
  220. package/node_modules/goah-supervisor/dist/roles.d.ts.map +0 -1
  221. package/node_modules/goah-supervisor/dist/roles.js +0 -29
  222. package/node_modules/goah-supervisor/dist/roles.js.map +0 -1
  223. package/node_modules/goah-supervisor/dist/verification.d.ts +0 -61
  224. package/node_modules/goah-supervisor/dist/verification.d.ts.map +0 -1
  225. package/node_modules/goah-supervisor/dist/verification.js +0 -135
  226. package/node_modules/goah-supervisor/dist/verification.js.map +0 -1
  227. package/node_modules/goah-supervisor/package.json +0 -26
  228. package/node_modules/goah-testkit/dist/faux-runner-worker.d.ts +0 -2
  229. package/node_modules/goah-testkit/dist/faux-runner-worker.d.ts.map +0 -1
  230. package/node_modules/goah-testkit/dist/faux-runner-worker.js +0 -82
  231. package/node_modules/goah-testkit/dist/faux-runner-worker.js.map +0 -1
  232. package/node_modules/goah-testkit/dist/index.d.ts +0 -49
  233. package/node_modules/goah-testkit/dist/index.d.ts.map +0 -1
  234. package/node_modules/goah-testkit/dist/index.js +0 -96
  235. package/node_modules/goah-testkit/dist/index.js.map +0 -1
  236. package/node_modules/goah-testkit/package.json +0 -29
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { AgentRole, TurnContext } from "goah-ledger-contract";
2
- export declare function defaultRolePrompt(role: AgentRole): string;
3
- export declare function defaultTurnPrompt(role: AgentRole, agent: string, turn: TurnContext): string;
4
- //# sourceMappingURL=roles.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roles.d.ts","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAenE,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAA0B;AAEpF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,MAAM,CAW3F"}
@@ -1,29 +0,0 @@
1
- const prompts = {
2
- child: "Own the assigned Child Goal. Follow its observation method, verify completion with its verification method, inspect shared Work Records, cite Ledger evidence, update this Goal's Work Record every Turn, and hand off an explicit outcome. Handoff is declarative: use mail.send to notify or escalate, setting its typed goalId route to the parent Goal when it should wake a parent Goal Turn; use schedule.set to request future motion and send a completion_proposed Mail when the parent should review completion. You are not a task-only worker and cannot redefine or complete your own Goal.",
3
- ceo: `You are the user's sole operating interface and the durable CEO identity for this Goal tree. You organize work; you do not impersonate child execution.
4
-
5
- On the first wake for a root with no observation method, operationalize the goal before claiming measurable progress: inspect the current directory with read/edit/write/bash; read project documentation, configuration, code, scripts, local CLIs, and existing ledger evidence; clarify the objective, constraints, baseline, and meaning of success; identify the data source or qualitative inspection protocol; define freshness, cadence, time zone, sustain window, and missing-data behavior when relevant; list the exact access required; then propose a textual observation method to the human. Ask only for facts or permissions that cannot be discovered locally. Continue safe reversible exploration while waiting. Never invent a baseline, data source, permission, success criterion, or observation result.
6
-
7
- On every wake: (1) orient from the root and descendants, each current observation method and revision, Team motion, incoming mail, handoffs, blockers, unknown Tool Calls, and recovery facts; (2) diagnose every active child's motion, ownership, and adherence to its authoritative observation method; (3) decide whether to keep, delegate, revise the objective/method pair, reassign, pause, resume, complete, or escalate; (4) apply organization changes only through the high-level atomic tools; (5) repair every idle_unplanned child and every child missing an observation method before handoff; (6) close with active child motion plus a CEO review, an explicit wait/blocker, a human request, or a completion recommendation carrying evidence produced under the current method.
8
-
9
- Use goal.delegate rather than separate goal/mail/schedule calls. Execute ambiguous or exploratory work yourself until a stream has a bounded objective, independent observation and verification methods, and a reviewable result; only then create a distinct Goal-owning Agent. Use team.list as the roster source of truth. Read the shared Work Record index, update the bound Goal's Work Record every Turn, and treat it as the durable semantic timeline. Handoff is declarative: use mail.send for explicit organization communication, schedule.set for future motion, and human.request when Human authority is required. Never claim authority to confirm Root methods, complete, or materially change a Root Goal: request the Human instead.`,
10
- verifier: "Verify one Turn's handoff claims against its trace and runner facts. Do not trust self-report. Persist concise findings with exact evidence sequences.",
11
- audit: "Independently reconstruct outcomes from durable facts and external observations. Persist independent audit judgment with memory_append; it never substitutes for fresh evidence.",
12
- };
13
- export function defaultRolePrompt(role) { return prompts[role]; }
14
- export function defaultTurnPrompt(role, agent, turn) {
15
- if (turn.goalBinding) {
16
- if (role === "verifier" || role === "audit")
17
- throw new Error("specialist Turns cannot bind a Goal");
18
- return defaultRolePrompt(role);
19
- }
20
- if (turn.source.kind === "human") {
21
- if (role !== "ceo" || agent !== "ceo")
22
- throw new Error("only the primary Agent may run a Human Turn");
23
- return "You are Goah's primary Agent. Respond naturally to the Human and use tools when useful. Do not create a Goal for routine single-turn work. When the Human expresses durable intent, use the available Goal creation or Goal work tool, then maintain the bound Goal's Work Record and finish with a Handoff.";
24
- }
25
- if (role !== "verifier" && role !== "audit")
26
- throw new Error("Goal-owning Agents cannot run an unbound system Turn");
27
- return `${defaultRolePrompt(role)} You are Goah specialist ${agent}. Inspect the supplied system context and finish with an ordinary response.`;
28
- }
29
- //# sourceMappingURL=roles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"roles.js","sourceRoot":"","sources":["../src/roles.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAA8B;IACzC,KAAK,EAAE,0kBAA0kB;IACjlB,GAAG,EAAE;;;;;;0tBAMmtB;IACxtB,QAAQ,EAAE,wJAAwJ;IAClK,KAAK,EAAE,kLAAkL;CAC1L,CAAC;AAEF,MAAM,UAAU,iBAAiB,CAAC,IAAe,IAAY,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEpF,MAAM,UAAU,iBAAiB,CAAC,IAAe,EAAE,KAAa,EAAE,IAAiB;IACjF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACpG,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QACjC,IAAI,IAAI,KAAK,KAAK,IAAI,KAAK,KAAK,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACtG,OAAO,8SAA8S,CAAC;IACxT,CAAC;IACD,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;IACrH,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,4BAA4B,KAAK,6EAA6E,CAAC;AAClJ,CAAC"}
@@ -1,61 +0,0 @@
1
- import { type EventRecord, type JsonValue, type Ledger } from "goah-ledger-contract";
2
- import type { Supervisor } from "./index.js";
3
- export interface VerificationFinding {
4
- id: string;
5
- body: JsonValue;
6
- evidence: number[];
7
- riskWeight: number;
8
- }
9
- export interface VerificationResult {
10
- findings: VerificationFinding[];
11
- tokensUsed: number;
12
- }
13
- export interface VerifierModel {
14
- verifyTurn(input: {
15
- turnId: string;
16
- handoff: JsonValue | null;
17
- trace: EventRecord[];
18
- }): Promise<VerificationResult>;
19
- blindAudit(facts: EventRecord[]): Promise<VerificationResult>;
20
- }
21
- export interface VerifierProcessSpec {
22
- command: string;
23
- args: string[];
24
- env?: Record<string, string>;
25
- timeoutMs?: number;
26
- }
27
- export declare class ProcessVerifierModel implements VerifierModel {
28
- #private;
29
- readonly spec: VerifierProcessSpec;
30
- constructor(spec: VerifierProcessSpec);
31
- verifyTurn(input: {
32
- turnId: string;
33
- handoff: JsonValue | null;
34
- trace: EventRecord[];
35
- }): Promise<VerificationResult>;
36
- blindAudit(facts: EventRecord[]): Promise<VerificationResult>;
37
- }
38
- export declare class VerificationPlane {
39
- #private;
40
- readonly ledger: Ledger;
41
- readonly supervisor: Supervisor;
42
- readonly model: VerifierModel;
43
- constructor(ledger: Ledger, supervisor: Supervisor, model: VerifierModel);
44
- verifyTurn(turnId: string): Promise<VerificationResult>;
45
- auditGlobal(sinceSeq?: number): Promise<VerificationResult>;
46
- }
47
- export interface VerificationLabel {
48
- id: string;
49
- shouldFlag: boolean;
50
- riskWeight: number;
51
- }
52
- export interface ScoredPrediction {
53
- id: string;
54
- score: number;
55
- }
56
- export declare function evaluateVerification(labels: VerificationLabel[], predictedIds: string[]): {
57
- precision: number;
58
- riskWeightedRecall: number;
59
- };
60
- export declare function calibrateVerificationThreshold(labels: VerificationLabel[], predictions: ScoredPrediction[], minimumPrecision: number): number;
61
- //# sourceMappingURL=verification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../src/verification.ts"],"names":[],"mappings":"AACA,OAAO,EAAiD,KAAK,WAAW,EAAC,KAAK,SAAS,EAAC,KAAK,MAAM,EAAoB,MAAM,sBAAsB,CAAC;AAEpJ,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IAAG,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAC3F,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,WAAW,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpH,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,mBAAmB;IAAG,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AAE1H,qBAAa,oBAAqB,YAAW,aAAa;;IAC5C,QAAQ,CAAC,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB;IAC9C,UAAU,CAAC,KAAK,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,WAAW,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IACnH,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAmB9D;AAED,qBAAa,iBAAiB;;IAChB,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,UAAU,EAAE,UAAU;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa;gBAA9E,MAAM,EAAE,MAAM,EAAW,UAAU,EAAE,UAAU,EAAW,KAAK,EAAE,aAAa;IAE7F,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWvD,WAAW,CAAC,QAAQ,SAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAa7D;AAED,MAAM,WAAW,iBAAiB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE;AAC1F,MAAM,WAAW,gBAAgB;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAC/D,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,CAS3I;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,CAS7I"}
@@ -1,135 +0,0 @@
1
- import { createHash } from "node:crypto";
2
- import { goalRoute, humanInboxRoute, specialistInboxRoute } from "goah-ledger-contract";
3
- import { spawn } from "node:child_process";
4
- export class ProcessVerifierModel {
5
- spec;
6
- constructor(spec) {
7
- this.spec = spec;
8
- }
9
- verifyTurn(input) { return this.#call("verify_turn", input); }
10
- blindAudit(facts) { return this.#call("blind_audit", { facts }); }
11
- async #call(operation, input) {
12
- const env = {};
13
- for (const name of ["PATH", "TMPDIR", "TMP", "TEMP", "SYSTEMROOT"])
14
- if (process.env[name] !== undefined)
15
- env[name] = process.env[name];
16
- const child = spawn(this.spec.command, this.spec.args, { detached: process.platform !== "win32", env: { ...env, ...this.spec.env }, stdio: ["pipe", "pipe", "pipe"] });
17
- let stdout = "";
18
- let stderr = "";
19
- let timedOut = false;
20
- let outputOverflow = false;
21
- const kill = () => { if (child.pid) {
22
- try {
23
- process.kill(process.platform === "win32" ? child.pid : -child.pid, "SIGKILL");
24
- }
25
- catch { }
26
- } };
27
- const append = (channel, chunk) => { const text = chunk.toString(); const remaining = Math.max(0, 1_000_000 - stdout.length - stderr.length); if (channel === "stdout")
28
- stdout += text.slice(0, remaining);
29
- else
30
- stderr += text.slice(0, remaining); if (text.length > remaining && !outputOverflow) {
31
- outputOverflow = true;
32
- kill();
33
- } };
34
- child.stdout.on("data", (chunk) => append("stdout", chunk));
35
- child.stderr.on("data", (chunk) => append("stderr", chunk));
36
- child.stdin.end(`${JSON.stringify({ operation, input })}\n`);
37
- const timer = setTimeout(() => { timedOut = true; kill(); }, this.spec.timeoutMs ?? 60_000);
38
- let code;
39
- try {
40
- code = await new Promise((resolve, reject) => { child.once("error", reject); child.once("close", resolve); });
41
- }
42
- finally {
43
- clearTimeout(timer);
44
- }
45
- if (outputOverflow)
46
- throw new Error("verifier output exceeded 1 MB");
47
- if (code !== 0)
48
- throw new Error(timedOut ? "verifier process timed out" : stderr.trim() || `verifier exited ${code}`);
49
- return JSON.parse(stdout);
50
- }
51
- }
52
- export class VerificationPlane {
53
- ledger;
54
- supervisor;
55
- model;
56
- constructor(ledger, supervisor, model) {
57
- this.ledger = ledger;
58
- this.supervisor = supervisor;
59
- this.model = model;
60
- }
61
- async verifyTurn(turnId) {
62
- const turn = this.ledger.turn(turnId);
63
- if (!turn)
64
- throw new Error(`Turn not found: ${turnId}`);
65
- if (turn.status === "in_progress")
66
- throw new Error("cannot verify an in-progress Turn");
67
- const trace = this.ledger.readStream(`turn:${turnId}`);
68
- const handoff = this.ledger.turnItems(turnId).findLast((item) => item.type === "handoff")?.data ?? null;
69
- const result = await this.model.verifyTurn({ turnId, handoff, trace });
70
- this.#validate(result);
71
- const thread = this.ledger.thread(turn.threadId);
72
- if (!thread)
73
- throw new Error("verified Turn has no Thread");
74
- const level = result.findings.length ? "decision" : "fyi";
75
- const body = { type: "verification_result", turnId, agent: thread.agent, findings: result.findings, tokensUsed: result.tokensUsed };
76
- let route;
77
- if (turn.bindingKind === "goal") {
78
- const goal = this.ledger.goal(turn.goalId);
79
- if (!goal || goal.owner !== thread.agent)
80
- throw new Error("verified Goal Turn no longer matches its owner");
81
- route = goalRoute(turn.goalId);
82
- }
83
- else if (turn.bindingKind === "human") {
84
- if (thread.agent !== "ceo")
85
- throw new Error("verified Human Turn is not owned by CEO");
86
- route = humanInboxRoute();
87
- }
88
- else {
89
- if (this.supervisor.agentRole(thread.agent) !== turn.specialistRole)
90
- throw new Error("verified Specialist Turn does not match its Agent profile");
91
- route = specialistInboxRoute(turn.specialistRole);
92
- }
93
- const mail = { id: this.#mailId("verification", turnId, thread.agent, result), to: thread.agent, from: "verifier", level, ...route, body, readAt: null };
94
- this.ledger.putMail(mail, "verifier");
95
- return result;
96
- }
97
- async auditGlobal(sinceSeq = 0) {
98
- const facts = this.ledger.eventsSince(sinceSeq).filter((event) => !["handoff.recorded", "runner.note"].includes(event.type));
99
- const result = await this.model.blindAudit(facts);
100
- this.#validate(result);
101
- this.ledger.putMail({ id: this.#mailId("audit", String(sinceSeq), "ceo", result), to: "ceo", from: "audit", level: result.findings.length ? "decision" : "fyi", ...humanInboxRoute(), body: { type: "audit_result", sinceSeq, findings: result.findings, tokensUsed: result.tokensUsed }, readAt: null }, "audit");
102
- return result;
103
- }
104
- #validate(result) {
105
- const evidence = new Set(this.ledger.events().map((event) => event.seq));
106
- for (const finding of result.findings)
107
- if (!finding.id.trim() || finding.evidence.length === 0 || finding.evidence.some((seq) => !evidence.has(seq)))
108
- throw new Error("verification finding requires an id and existing evidence");
109
- }
110
- #mailId(kind, source, recipient, result) { const digest = createHash("sha256").update(JSON.stringify(result)).digest("hex").slice(0, 16); return `${kind}:${source}:${recipient}:${digest}`; }
111
- }
112
- export function evaluateVerification(labels, predictedIds) {
113
- const predicted = new Set(predictedIds);
114
- const positives = labels.filter((label) => label.shouldFlag);
115
- const truePositives = positives.filter((label) => predicted.has(label.id));
116
- const falsePositives = labels.filter((label) => !label.shouldFlag && predicted.has(label.id));
117
- const precision = truePositives.length + falsePositives.length === 0 ? 1 : truePositives.length / (truePositives.length + falsePositives.length);
118
- const totalRisk = positives.reduce((sum, label) => sum + label.riskWeight, 0);
119
- const recalledRisk = truePositives.reduce((sum, label) => sum + label.riskWeight, 0);
120
- return { precision, riskWeightedRecall: totalRisk === 0 ? 1 : recalledRisk / totalRisk };
121
- }
122
- export function calibrateVerificationThreshold(labels, predictions, minimumPrecision) {
123
- const candidates = [...new Set(predictions.map((prediction) => prediction.score))].sort((a, b) => a - b);
124
- let selected = 1;
125
- let bestRecall = -1;
126
- for (const threshold of candidates) {
127
- const metrics = evaluateVerification(labels, predictions.filter((prediction) => prediction.score >= threshold).map((prediction) => prediction.id));
128
- if (metrics.precision >= minimumPrecision && metrics.riskWeightedRecall > bestRecall) {
129
- selected = threshold;
130
- bestRecall = metrics.riskWeightedRecall;
131
- }
132
- }
133
- return selected;
134
- }
135
- //# sourceMappingURL=verification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"verification.js","sourceRoot":"","sources":["../src/verification.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- {
2
- "name": "goah-supervisor",
3
- "private": true,
4
- "version": "0.13.0",
5
- "license": "Apache-2.0",
6
- "repository": {
7
- "type": "git",
8
- "url": "git+https://github.com/billc8128/opengoah.git",
9
- "directory": "packages/supervisor"
10
- },
11
- "engines": {
12
- "node": ">=24.0.0"
13
- },
14
- "files": [
15
- "dist",
16
- "!dist/**/*.test.*",
17
- "!dist/.tsbuildinfo"
18
- ],
19
- "type": "module",
20
- "main": "./dist/index.js",
21
- "types": "./dist/index.d.ts",
22
- "exports": "./dist/index.js",
23
- "dependencies": {
24
- "goah-ledger-contract": "0.13.0"
25
- }
26
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=faux-runner-worker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faux-runner-worker.d.ts","sourceRoot":"","sources":["../src/faux-runner-worker.ts"],"names":[],"mappings":""}
@@ -1,82 +0,0 @@
1
- import { mkdirSync, writeFileSync } from "node:fs";
2
- import { dirname, join } from "node:path";
3
- import { runProcessWorker } from "goah-runner-pi";
4
- await runProcessWorker(async (request, emit, rpc) => {
5
- if (process.env.GOAH_FAUX_CONTEXT_FILE)
6
- writeFileSync(process.env.GOAH_FAUX_CONTEXT_FILE, JSON.stringify(request.context));
7
- const byAgent = JSON.parse(process.env.GOAH_FAUX_STEPS_BY_AGENT ?? "{}");
8
- const byTrigger = JSON.parse(process.env.GOAH_FAUX_STEPS_BY_TRIGGER ?? "{}");
9
- const triggerSteps = Object.entries(byTrigger).find(([selector]) => { const separator = selector.indexOf("|"); const agent = separator < 0 ? null : selector.slice(0, separator); const prefix = separator < 0 ? selector : selector.slice(separator + 1); return (!agent || agent === request.agent) && request.sourceWakeTriggers?.some((trigger) => trigger.triggerRef.startsWith(prefix)); })?.[1];
10
- const steps = triggerSteps ?? byAgent[request.agent] ?? JSON.parse(process.env.GOAH_FAUX_STEPS ?? "[]");
11
- let goalBinding = request.turn?.goalBinding;
12
- let recordUpdated = false;
13
- for (const step of steps) {
14
- if (step.write) {
15
- const path = join(process.cwd(), step.write.path);
16
- mkdirSync(dirname(path), { recursive: true });
17
- writeFileSync(path, step.write.content);
18
- }
19
- for (const trace of step.trace ?? [])
20
- emit(trace);
21
- if (step.rpc) {
22
- const result = await rpc(step.rpc.method, resolveParams(step.rpc.params, request.context));
23
- emit({ type: "runner.rpc.result", data: result });
24
- if (step.rpc.method === "goal.create" || step.rpc.method === "goal.work")
25
- goalBinding = bindingFrom(result) ?? goalBinding;
26
- if (step.rpc.method === "work_record.update")
27
- recordUpdated = true;
28
- }
29
- if (step.crash)
30
- throw new Error(step.crash);
31
- if (step.delayMs)
32
- await new Promise((resolve) => setTimeout(resolve, step.delayMs));
33
- if (step.hang)
34
- await new Promise(() => undefined);
35
- if (step.response !== undefined)
36
- return { outcome: "response", response: { content: step.response } };
37
- if (step.handoff) {
38
- const draft = step.handoff;
39
- if (goalBinding && !recordUpdated) {
40
- const current = await rpc("work_record.read", { goalId: goalBinding.goalId });
41
- const record = current && typeof current === "object" && !Array.isArray(current) ? current : {};
42
- const evidence = sourceSeqs(request.context);
43
- await rpc("work_record.update", { expectedRevision: Number(record.recordRevision ?? 0), content: handoffRecord(draft.handoff, request.execution.id), reason: "record faux Goal progress", evidence: evidence.length ? [Math.max(...evidence)] : [] });
44
- }
45
- const validation = await rpc("goal.handoff.validate", { handoff: draft.handoff, candidateMessage: draft.response.content });
46
- emit({ type: "message.assistant.completed", data: { message: { id: `faux:${request.execution.id}:handoff:${validation.attemptId}`, role: "assistant", content: [{ type: "text", text: draft.response.content }], stopReason: "toolUse" }, completionIntent: "handoff", commitState: "provisional" } });
47
- if (!validation.accepted) {
48
- emit({ type: "runner.handoff_rejected", data: { attemptId: validation.attemptId, issues: validation.issues } });
49
- if (validation.fatal)
50
- return { outcome: "abnormal", reason: validation.issues.map((issue) => issue.message).join("; ") };
51
- continue;
52
- }
53
- const output = { validationAttemptId: validation.attemptId, validationToken: validation.token, handoff: draft.handoff };
54
- return { outcome: "handoff", output };
55
- }
56
- }
57
- return { outcome: "abnormal", reason: "faux worker stopped without handoff" };
58
- });
59
- function resolveParams(value, context) {
60
- const latest = Math.max(0, ...sourceSeqs(context));
61
- const visit = (item) => {
62
- if (item === "$LATEST_SOURCE_SEQ")
63
- return latest;
64
- if (Array.isArray(item))
65
- return item.map(visit);
66
- if (item && typeof item === "object")
67
- return Object.fromEntries(Object.entries(item).map(([key, nested]) => [key, visit(nested)]));
68
- return item;
69
- };
70
- return visit(value);
71
- }
72
- function sourceSeqs(context) { return context && typeof context === "object" && !Array.isArray(context) && Array.isArray(context.sourceSeqs) ? context.sourceSeqs.filter((item) => typeof item === "number") : []; }
73
- function bindingFrom(value) {
74
- if (!value || typeof value !== "object" || Array.isArray(value) || !value.goalBinding || typeof value.goalBinding !== "object" || Array.isArray(value.goalBinding))
75
- return undefined;
76
- const binding = value.goalBinding;
77
- return typeof binding.goalId === "string" && typeof binding.goalRevision === "number" ? { goalId: binding.goalId, goalRevision: binding.goalRevision } : undefined;
78
- }
79
- function handoffRecord(handoff, turnId) {
80
- return `# Current State\n\nGoal outcome: ${handoff.outcome}.\n\n# Observations\n\nSee Ledger evidence ${handoff.evidence.join(", ") || "none"}.\n\n# Work Completed\n\nRecorded Goal progress.\n\n# Decisions\n\nRecorded by the faux Goal runner in ${turnId}.\n\n# Blockers\n\n${handoff.outcome === "blocked" ? "Blocked." : "None."}\n\n# Next Steps\n\nContinue from the current Goal state.\n`;
81
- }
82
- //# sourceMappingURL=faux-runner-worker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"faux-runner-worker.js","sourceRoot":"","sources":["../src/faux-runner-worker.ts"],"names":[],"mappings":"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"}