@nac3/forge-cli 0.2.0-alpha.9 → 0.2.1-alpha.60

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 (1045) hide show
  1. package/README.md +16 -1
  2. package/dist/a11y/helpers.d.ts +88 -0
  3. package/dist/a11y/helpers.d.ts.map +1 -0
  4. package/dist/a11y/helpers.js +109 -0
  5. package/dist/a11y/helpers.js.map +1 -0
  6. package/dist/agents/bridge.d.ts +69 -0
  7. package/dist/agents/bridge.d.ts.map +1 -0
  8. package/dist/agents/bridge.js +295 -0
  9. package/dist/agents/bridge.js.map +1 -0
  10. package/dist/agents/cli_real.d.ts +38 -0
  11. package/dist/agents/cli_real.d.ts.map +1 -0
  12. package/dist/agents/cli_real.js +46 -0
  13. package/dist/agents/cli_real.js.map +1 -0
  14. package/dist/agents/config_resolver.d.ts +16 -0
  15. package/dist/agents/config_resolver.d.ts.map +1 -0
  16. package/dist/agents/config_resolver.js +133 -0
  17. package/dist/agents/config_resolver.js.map +1 -0
  18. package/dist/agents/config_schema.d.ts +42 -0
  19. package/dist/agents/config_schema.d.ts.map +1 -0
  20. package/dist/agents/config_schema.js +220 -0
  21. package/dist/agents/config_schema.js.map +1 -0
  22. package/dist/agents/defaults.d.ts +21 -0
  23. package/dist/agents/defaults.d.ts.map +1 -0
  24. package/dist/agents/defaults.js +56 -0
  25. package/dist/agents/defaults.js.map +1 -0
  26. package/dist/agents/delegate.d.ts +36 -0
  27. package/dist/agents/delegate.d.ts.map +1 -0
  28. package/dist/agents/delegate.js +68 -0
  29. package/dist/agents/delegate.js.map +1 -0
  30. package/dist/agents/iterative_step.d.ts +95 -0
  31. package/dist/agents/iterative_step.d.ts.map +1 -0
  32. package/dist/agents/iterative_step.js +249 -0
  33. package/dist/agents/iterative_step.js.map +1 -0
  34. package/dist/agents/llm_step.d.ts +50 -0
  35. package/dist/agents/llm_step.d.ts.map +1 -0
  36. package/dist/agents/llm_step.js +28 -0
  37. package/dist/agents/llm_step.js.map +1 -0
  38. package/dist/agents/real_step_factory.d.ts +95 -0
  39. package/dist/agents/real_step_factory.d.ts.map +1 -0
  40. package/dist/agents/real_step_factory.js +51 -0
  41. package/dist/agents/real_step_factory.js.map +1 -0
  42. package/dist/agents/runner.d.ts +108 -0
  43. package/dist/agents/runner.d.ts.map +1 -0
  44. package/dist/agents/runner.js +174 -0
  45. package/dist/agents/runner.js.map +1 -0
  46. package/dist/agents/runtime.d.ts +115 -0
  47. package/dist/agents/runtime.d.ts.map +1 -0
  48. package/dist/agents/runtime.js +429 -0
  49. package/dist/agents/runtime.js.map +1 -0
  50. package/dist/agents/store.d.ts +33 -0
  51. package/dist/agents/store.d.ts.map +1 -0
  52. package/dist/agents/store.js +210 -0
  53. package/dist/agents/store.js.map +1 -0
  54. package/dist/agents/system_prompt.d.ts +36 -0
  55. package/dist/agents/system_prompt.d.ts.map +1 -0
  56. package/dist/agents/system_prompt.js +101 -0
  57. package/dist/agents/system_prompt.js.map +1 -0
  58. package/dist/agents/types.d.ts +123 -0
  59. package/dist/agents/types.d.ts.map +1 -0
  60. package/dist/agents/types.js +39 -0
  61. package/dist/agents/types.js.map +1 -0
  62. package/dist/bin/yf.d.ts.map +1 -1
  63. package/dist/bin/yf.js +101 -2
  64. package/dist/bin/yf.js.map +1 -1
  65. package/dist/chat/claude.d.ts +89 -1
  66. package/dist/chat/claude.d.ts.map +1 -1
  67. package/dist/chat/claude.js +170 -30
  68. package/dist/chat/claude.js.map +1 -1
  69. package/dist/chat/claude_cli.d.ts +145 -0
  70. package/dist/chat/claude_cli.d.ts.map +1 -0
  71. package/dist/chat/claude_cli.js +598 -0
  72. package/dist/chat/claude_cli.js.map +1 -0
  73. package/dist/chat/completion_hallucination_detector.d.ts +40 -0
  74. package/dist/chat/completion_hallucination_detector.d.ts.map +1 -0
  75. package/dist/chat/completion_hallucination_detector.js +96 -0
  76. package/dist/chat/completion_hallucination_detector.js.map +1 -0
  77. package/dist/chat/doctrine_digest.d.ts +31 -0
  78. package/dist/chat/doctrine_digest.d.ts.map +1 -0
  79. package/dist/chat/doctrine_digest.js +117 -0
  80. package/dist/chat/doctrine_digest.js.map +1 -0
  81. package/dist/chat/graph_auto_ingest.d.ts +46 -0
  82. package/dist/chat/graph_auto_ingest.d.ts.map +1 -0
  83. package/dist/chat/graph_auto_ingest.js +177 -0
  84. package/dist/chat/graph_auto_ingest.js.map +1 -0
  85. package/dist/chat/graph_component_watcher.d.ts +34 -0
  86. package/dist/chat/graph_component_watcher.d.ts.map +1 -0
  87. package/dist/chat/graph_component_watcher.js +225 -0
  88. package/dist/chat/graph_component_watcher.js.map +1 -0
  89. package/dist/chat/graph_snapshot.d.ts +38 -0
  90. package/dist/chat/graph_snapshot.d.ts.map +1 -0
  91. package/dist/chat/graph_snapshot.js +159 -0
  92. package/dist/chat/graph_snapshot.js.map +1 -0
  93. package/dist/chat/ingest_session.d.ts +24 -4
  94. package/dist/chat/ingest_session.d.ts.map +1 -1
  95. package/dist/chat/ingest_session.js +143 -4
  96. package/dist/chat/ingest_session.js.map +1 -1
  97. package/dist/chat/panel.d.ts.map +1 -1
  98. package/dist/chat/panel.js +9640 -1455
  99. package/dist/chat/panel.js.map +1 -1
  100. package/dist/chat/panel_queue.d.ts +43 -0
  101. package/dist/chat/panel_queue.d.ts.map +1 -0
  102. package/dist/chat/panel_queue.js +46 -0
  103. package/dist/chat/panel_queue.js.map +1 -0
  104. package/dist/chat/project_context_inject.d.ts +10 -0
  105. package/dist/chat/project_context_inject.d.ts.map +1 -0
  106. package/dist/chat/project_context_inject.js +119 -0
  107. package/dist/chat/project_context_inject.js.map +1 -0
  108. package/dist/chat/project_slug.d.ts +17 -0
  109. package/dist/chat/project_slug.d.ts.map +1 -0
  110. package/dist/chat/project_slug.js +103 -0
  111. package/dist/chat/project_slug.js.map +1 -0
  112. package/dist/chat/refusal_detector.d.ts +14 -0
  113. package/dist/chat/refusal_detector.d.ts.map +1 -0
  114. package/dist/chat/refusal_detector.js +138 -0
  115. package/dist/chat/refusal_detector.js.map +1 -0
  116. package/dist/chat/semantic_graph_ingest.d.ts +39 -0
  117. package/dist/chat/semantic_graph_ingest.d.ts.map +1 -0
  118. package/dist/chat/semantic_graph_ingest.js +90 -0
  119. package/dist/chat/semantic_graph_ingest.js.map +1 -0
  120. package/dist/chat/semantic_graph_inject.d.ts +31 -0
  121. package/dist/chat/semantic_graph_inject.d.ts.map +1 -0
  122. package/dist/chat/semantic_graph_inject.js +63 -0
  123. package/dist/chat/semantic_graph_inject.js.map +1 -0
  124. package/dist/chat/server.d.ts +98 -2
  125. package/dist/chat/server.d.ts.map +1 -1
  126. package/dist/chat/server.js +3678 -345
  127. package/dist/chat/server.js.map +1 -1
  128. package/dist/chat/spec_extract.d.ts +1 -2
  129. package/dist/chat/spec_extract.d.ts.map +1 -1
  130. package/dist/chat/spec_extract.js +41 -56
  131. package/dist/chat/spec_extract.js.map +1 -1
  132. package/dist/chat/spec_plan.d.ts +1 -2
  133. package/dist/chat/spec_plan.d.ts.map +1 -1
  134. package/dist/chat/spec_plan.js +36 -57
  135. package/dist/chat/spec_plan.js.map +1 -1
  136. package/dist/chat/tools/app_backend_dispatch.d.ts +39 -0
  137. package/dist/chat/tools/app_backend_dispatch.d.ts.map +1 -0
  138. package/dist/chat/tools/app_backend_dispatch.js +239 -0
  139. package/dist/chat/tools/app_backend_dispatch.js.map +1 -0
  140. package/dist/chat/tools/fs_editor.d.ts +11 -0
  141. package/dist/chat/tools/fs_editor.d.ts.map +1 -0
  142. package/dist/chat/tools/fs_editor.js +162 -0
  143. package/dist/chat/tools/fs_editor.js.map +1 -0
  144. package/dist/chat/tools/git.d.ts +24 -0
  145. package/dist/chat/tools/git.d.ts.map +1 -1
  146. package/dist/chat/tools/git.js +78 -0
  147. package/dist/chat/tools/git.js.map +1 -1
  148. package/dist/chat/tools/graph.d.ts +43 -0
  149. package/dist/chat/tools/graph.d.ts.map +1 -0
  150. package/dist/chat/tools/graph.js +174 -0
  151. package/dist/chat/tools/graph.js.map +1 -0
  152. package/dist/chat/tools/keys.d.ts +9 -0
  153. package/dist/chat/tools/keys.d.ts.map +1 -0
  154. package/dist/chat/tools/keys.js +169 -0
  155. package/dist/chat/tools/keys.js.map +1 -0
  156. package/dist/chat/tools/misc_verbs.d.ts +36 -0
  157. package/dist/chat/tools/misc_verbs.d.ts.map +1 -0
  158. package/dist/chat/tools/misc_verbs.js +405 -0
  159. package/dist/chat/tools/misc_verbs.js.map +1 -0
  160. package/dist/chat/tools/nac3_invoke.d.ts +58 -0
  161. package/dist/chat/tools/nac3_invoke.d.ts.map +1 -0
  162. package/dist/chat/tools/nac3_invoke.js +887 -0
  163. package/dist/chat/tools/nac3_invoke.js.map +1 -0
  164. package/dist/chat/tools/pending.d.ts +69 -0
  165. package/dist/chat/tools/pending.d.ts.map +1 -0
  166. package/dist/chat/tools/pending.js +167 -0
  167. package/dist/chat/tools/pending.js.map +1 -0
  168. package/dist/chat/tools/pizarron.d.ts +40 -0
  169. package/dist/chat/tools/pizarron.d.ts.map +1 -0
  170. package/dist/chat/tools/pizarron.js +123 -0
  171. package/dist/chat/tools/pizarron.js.map +1 -0
  172. package/dist/chat/tools/project_lifecycle.d.ts +24 -0
  173. package/dist/chat/tools/project_lifecycle.d.ts.map +1 -0
  174. package/dist/chat/tools/project_lifecycle.js +212 -0
  175. package/dist/chat/tools/project_lifecycle.js.map +1 -0
  176. package/dist/chat/tools/reader.d.ts.map +1 -1
  177. package/dist/chat/tools/reader.js +144 -1
  178. package/dist/chat/tools/reader.js.map +1 -1
  179. package/dist/chat/tools/shell.d.ts +58 -0
  180. package/dist/chat/tools/shell.d.ts.map +1 -0
  181. package/dist/chat/tools/shell.js +253 -0
  182. package/dist/chat/tools/shell.js.map +1 -0
  183. package/dist/chat/tools/wiring.d.ts +28 -0
  184. package/dist/chat/tools/wiring.d.ts.map +1 -0
  185. package/dist/chat/tools/wiring.js +116 -0
  186. package/dist/chat/tools/wiring.js.map +1 -0
  187. package/dist/chat/tools/workflow.d.ts +55 -0
  188. package/dist/chat/tools/workflow.d.ts.map +1 -0
  189. package/dist/chat/tools/workflow.js +463 -0
  190. package/dist/chat/tools/workflow.js.map +1 -0
  191. package/dist/chat/tools.d.ts +42 -0
  192. package/dist/chat/tools.d.ts.map +1 -1
  193. package/dist/chat/tools.js +447 -16
  194. package/dist/chat/tools.js.map +1 -1
  195. package/dist/chat/wiring_inject.d.ts +18 -0
  196. package/dist/chat/wiring_inject.d.ts.map +1 -0
  197. package/dist/chat/wiring_inject.js +78 -0
  198. package/dist/chat/wiring_inject.js.map +1 -0
  199. package/dist/chat/workflow_inject.d.ts +52 -0
  200. package/dist/chat/workflow_inject.d.ts.map +1 -0
  201. package/dist/chat/workflow_inject.js +346 -0
  202. package/dist/chat/workflow_inject.js.map +1 -0
  203. package/dist/chat/yujin_splash.d.ts +27 -0
  204. package/dist/chat/yujin_splash.d.ts.map +1 -0
  205. package/dist/chat/yujin_splash.js +147 -0
  206. package/dist/chat/yujin_splash.js.map +1 -0
  207. package/dist/commands/agent.d.ts +33 -0
  208. package/dist/commands/agent.d.ts.map +1 -0
  209. package/dist/commands/agent.js +281 -0
  210. package/dist/commands/agent.js.map +1 -0
  211. package/dist/commands/approve.d.ts +32 -0
  212. package/dist/commands/approve.d.ts.map +1 -0
  213. package/dist/commands/approve.js +198 -0
  214. package/dist/commands/approve.js.map +1 -0
  215. package/dist/commands/block.d.ts +28 -0
  216. package/dist/commands/block.d.ts.map +1 -0
  217. package/dist/commands/block.js +189 -0
  218. package/dist/commands/block.js.map +1 -0
  219. package/dist/commands/bootstrap.d.ts +35 -0
  220. package/dist/commands/bootstrap.d.ts.map +1 -0
  221. package/dist/commands/bootstrap.js +205 -0
  222. package/dist/commands/bootstrap.js.map +1 -0
  223. package/dist/commands/brain.d.ts +17 -0
  224. package/dist/commands/brain.d.ts.map +1 -0
  225. package/dist/commands/brain.js +129 -0
  226. package/dist/commands/brain.js.map +1 -0
  227. package/dist/commands/chat.d.ts +10 -0
  228. package/dist/commands/chat.d.ts.map +1 -1
  229. package/dist/commands/chat.js +209 -17
  230. package/dist/commands/chat.js.map +1 -1
  231. package/dist/commands/clarify.d.ts +30 -0
  232. package/dist/commands/clarify.d.ts.map +1 -0
  233. package/dist/commands/clarify.js +671 -0
  234. package/dist/commands/clarify.js.map +1 -0
  235. package/dist/commands/director.d.ts +37 -0
  236. package/dist/commands/director.d.ts.map +1 -0
  237. package/dist/commands/director.js +290 -0
  238. package/dist/commands/director.js.map +1 -0
  239. package/dist/commands/discover.d.ts +30 -0
  240. package/dist/commands/discover.d.ts.map +1 -0
  241. package/dist/commands/discover.js +178 -0
  242. package/dist/commands/discover.js.map +1 -0
  243. package/dist/commands/doctor.d.ts +18 -0
  244. package/dist/commands/doctor.d.ts.map +1 -1
  245. package/dist/commands/doctor.js +120 -4
  246. package/dist/commands/doctor.js.map +1 -1
  247. package/dist/commands/doctrine.d.ts +24 -0
  248. package/dist/commands/doctrine.d.ts.map +1 -0
  249. package/dist/commands/doctrine.js +106 -0
  250. package/dist/commands/doctrine.js.map +1 -0
  251. package/dist/commands/doctrines.d.ts +21 -0
  252. package/dist/commands/doctrines.d.ts.map +1 -0
  253. package/dist/commands/doctrines.js +158 -0
  254. package/dist/commands/doctrines.js.map +1 -0
  255. package/dist/commands/graph.d.ts +29 -0
  256. package/dist/commands/graph.d.ts.map +1 -0
  257. package/dist/commands/graph.js +362 -0
  258. package/dist/commands/graph.js.map +1 -0
  259. package/dist/commands/keys_setup.d.ts +18 -0
  260. package/dist/commands/keys_setup.d.ts.map +1 -1
  261. package/dist/commands/keys_setup.js +225 -11
  262. package/dist/commands/keys_setup.js.map +1 -1
  263. package/dist/commands/legacy-audit.d.ts +34 -0
  264. package/dist/commands/legacy-audit.d.ts.map +1 -0
  265. package/dist/commands/legacy-audit.js +270 -0
  266. package/dist/commands/legacy-audit.js.map +1 -0
  267. package/dist/commands/lessons.d.ts +28 -0
  268. package/dist/commands/lessons.d.ts.map +1 -0
  269. package/dist/commands/lessons.js +309 -0
  270. package/dist/commands/lessons.js.map +1 -0
  271. package/dist/commands/license.d.ts.map +1 -1
  272. package/dist/commands/license.js +56 -1
  273. package/dist/commands/license.js.map +1 -1
  274. package/dist/commands/limits.d.ts +15 -0
  275. package/dist/commands/limits.d.ts.map +1 -0
  276. package/dist/commands/limits.js +51 -0
  277. package/dist/commands/limits.js.map +1 -0
  278. package/dist/commands/manifest-cli.d.ts +12 -0
  279. package/dist/commands/manifest-cli.d.ts.map +1 -0
  280. package/dist/commands/manifest-cli.js +42 -0
  281. package/dist/commands/manifest-cli.js.map +1 -0
  282. package/dist/commands/mcp.d.ts +24 -0
  283. package/dist/commands/mcp.d.ts.map +1 -0
  284. package/dist/commands/mcp.js +163 -0
  285. package/dist/commands/mcp.js.map +1 -0
  286. package/dist/commands/mobile.d.ts +15 -0
  287. package/dist/commands/mobile.d.ts.map +1 -1
  288. package/dist/commands/mobile.js +27 -24
  289. package/dist/commands/mobile.js.map +1 -1
  290. package/dist/commands/nac3.d.ts +22 -0
  291. package/dist/commands/nac3.d.ts.map +1 -0
  292. package/dist/commands/nac3.js +125 -0
  293. package/dist/commands/nac3.js.map +1 -0
  294. package/dist/commands/operate.d.ts +22 -0
  295. package/dist/commands/operate.d.ts.map +1 -0
  296. package/dist/commands/operate.js +523 -0
  297. package/dist/commands/operate.js.map +1 -0
  298. package/dist/commands/pending.d.ts +22 -0
  299. package/dist/commands/pending.d.ts.map +1 -0
  300. package/dist/commands/pending.js +341 -0
  301. package/dist/commands/pending.js.map +1 -0
  302. package/dist/commands/qa.d.ts +24 -0
  303. package/dist/commands/qa.d.ts.map +1 -0
  304. package/dist/commands/qa.js +349 -0
  305. package/dist/commands/qa.js.map +1 -0
  306. package/dist/commands/spec.d.ts +38 -0
  307. package/dist/commands/spec.d.ts.map +1 -0
  308. package/dist/commands/spec.js +256 -0
  309. package/dist/commands/spec.js.map +1 -0
  310. package/dist/commands/support.d.ts +22 -0
  311. package/dist/commands/support.d.ts.map +1 -0
  312. package/dist/commands/support.js +165 -0
  313. package/dist/commands/support.js.map +1 -0
  314. package/dist/commands/test_agent.d.ts +22 -0
  315. package/dist/commands/test_agent.d.ts.map +1 -0
  316. package/dist/commands/test_agent.js +100 -0
  317. package/dist/commands/test_agent.js.map +1 -0
  318. package/dist/commands/triage.d.ts +34 -0
  319. package/dist/commands/triage.d.ts.map +1 -0
  320. package/dist/commands/triage.js +228 -0
  321. package/dist/commands/triage.js.map +1 -0
  322. package/dist/commands/vault-inventory.d.ts +30 -0
  323. package/dist/commands/vault-inventory.d.ts.map +1 -0
  324. package/dist/commands/vault-inventory.js +222 -0
  325. package/dist/commands/vault-inventory.js.map +1 -0
  326. package/dist/commands/vault.d.ts.map +1 -1
  327. package/dist/commands/vault.js +5 -0
  328. package/dist/commands/vault.js.map +1 -1
  329. package/dist/commands/voice.d.ts.map +1 -1
  330. package/dist/commands/voice.js +47 -4
  331. package/dist/commands/voice.js.map +1 -1
  332. package/dist/commands/wiring.d.ts +19 -0
  333. package/dist/commands/wiring.d.ts.map +1 -0
  334. package/dist/commands/wiring.js +135 -0
  335. package/dist/commands/wiring.js.map +1 -0
  336. package/dist/commands/workflow-coverage.d.ts +30 -0
  337. package/dist/commands/workflow-coverage.d.ts.map +1 -0
  338. package/dist/commands/workflow-coverage.js +138 -0
  339. package/dist/commands/workflow-coverage.js.map +1 -0
  340. package/dist/core/ansi_strip.d.ts +39 -0
  341. package/dist/core/ansi_strip.d.ts.map +1 -0
  342. package/dist/core/ansi_strip.js +71 -0
  343. package/dist/core/ansi_strip.js.map +1 -0
  344. package/dist/core/atomic_write.d.ts +17 -0
  345. package/dist/core/atomic_write.d.ts.map +1 -0
  346. package/dist/core/atomic_write.js +51 -0
  347. package/dist/core/atomic_write.js.map +1 -0
  348. package/dist/core/audit_log.d.ts +43 -0
  349. package/dist/core/audit_log.d.ts.map +1 -0
  350. package/dist/core/audit_log.js +80 -0
  351. package/dist/core/audit_log.js.map +1 -0
  352. package/dist/core/brain_config.d.ts +50 -0
  353. package/dist/core/brain_config.d.ts.map +1 -0
  354. package/dist/core/brain_config.js +142 -0
  355. package/dist/core/brain_config.js.map +1 -0
  356. package/dist/core/budget.d.ts +96 -0
  357. package/dist/core/budget.d.ts.map +1 -0
  358. package/dist/core/budget.js +328 -0
  359. package/dist/core/budget.js.map +1 -0
  360. package/dist/core/cost_meter.d.ts +35 -0
  361. package/dist/core/cost_meter.d.ts.map +1 -0
  362. package/dist/core/cost_meter.js +111 -0
  363. package/dist/core/cost_meter.js.map +1 -0
  364. package/dist/core/cost_router.d.ts +106 -0
  365. package/dist/core/cost_router.d.ts.map +1 -0
  366. package/dist/core/cost_router.js +589 -0
  367. package/dist/core/cost_router.js.map +1 -0
  368. package/dist/core/doctrine_resolver.d.ts +23 -0
  369. package/dist/core/doctrine_resolver.d.ts.map +1 -0
  370. package/dist/core/doctrine_resolver.js +108 -0
  371. package/dist/core/doctrine_resolver.js.map +1 -0
  372. package/dist/core/error_catalog.d.ts +80 -0
  373. package/dist/core/error_catalog.d.ts.map +1 -0
  374. package/dist/core/error_catalog.js +168 -0
  375. package/dist/core/error_catalog.js.map +1 -0
  376. package/dist/core/error_formatter.d.ts +30 -0
  377. package/dist/core/error_formatter.d.ts.map +1 -0
  378. package/dist/core/error_formatter.js +155 -0
  379. package/dist/core/error_formatter.js.map +1 -0
  380. package/dist/core/incomplete_detector.d.ts +51 -0
  381. package/dist/core/incomplete_detector.d.ts.map +1 -0
  382. package/dist/core/incomplete_detector.js +140 -0
  383. package/dist/core/incomplete_detector.js.map +1 -0
  384. package/dist/core/keys_envelope.d.ts.map +1 -1
  385. package/dist/core/keys_envelope.js +14 -9
  386. package/dist/core/keys_envelope.js.map +1 -1
  387. package/dist/core/learnings_client.d.ts +104 -0
  388. package/dist/core/learnings_client.d.ts.map +1 -0
  389. package/dist/core/learnings_client.js +262 -0
  390. package/dist/core/learnings_client.js.map +1 -0
  391. package/dist/core/limits_config.d.ts +76 -0
  392. package/dist/core/limits_config.d.ts.map +1 -0
  393. package/dist/core/limits_config.js +297 -0
  394. package/dist/core/limits_config.js.map +1 -0
  395. package/dist/core/pairing.d.ts +1 -0
  396. package/dist/core/pairing.d.ts.map +1 -1
  397. package/dist/core/pairing.js +23 -12
  398. package/dist/core/pairing.js.map +1 -1
  399. package/dist/core/pilot_setup.d.ts +29 -3
  400. package/dist/core/pilot_setup.d.ts.map +1 -1
  401. package/dist/core/pilot_setup.js +130 -3
  402. package/dist/core/pilot_setup.js.map +1 -1
  403. package/dist/core/provider_keys.d.ts +35 -0
  404. package/dist/core/provider_keys.d.ts.map +1 -0
  405. package/dist/core/provider_keys.js +267 -0
  406. package/dist/core/provider_keys.js.map +1 -0
  407. package/dist/core/provider_models.d.ts +27 -0
  408. package/dist/core/provider_models.d.ts.map +1 -0
  409. package/dist/core/provider_models.js +169 -0
  410. package/dist/core/provider_models.js.map +1 -0
  411. package/dist/core/reasoning_gate.d.ts +72 -0
  412. package/dist/core/reasoning_gate.d.ts.map +1 -0
  413. package/dist/core/reasoning_gate.js +205 -0
  414. package/dist/core/reasoning_gate.js.map +1 -0
  415. package/dist/core/shell_classifier.d.ts +49 -0
  416. package/dist/core/shell_classifier.d.ts.map +1 -0
  417. package/dist/core/shell_classifier.js +159 -0
  418. package/dist/core/shell_classifier.js.map +1 -0
  419. package/dist/core/sq_resolver.d.ts +14 -0
  420. package/dist/core/sq_resolver.d.ts.map +1 -0
  421. package/dist/core/sq_resolver.js +230 -0
  422. package/dist/core/sq_resolver.js.map +1 -0
  423. package/dist/core/truncation_detector.d.ts +68 -0
  424. package/dist/core/truncation_detector.d.ts.map +1 -0
  425. package/dist/core/truncation_detector.js +115 -0
  426. package/dist/core/truncation_detector.js.map +1 -0
  427. package/dist/core/turn_classifier.d.ts +70 -0
  428. package/dist/core/turn_classifier.d.ts.map +1 -0
  429. package/dist/core/turn_classifier.js +324 -0
  430. package/dist/core/turn_classifier.js.map +1 -0
  431. package/dist/core/vad_config.d.ts +34 -0
  432. package/dist/core/vad_config.d.ts.map +1 -0
  433. package/dist/core/vad_config.js +95 -0
  434. package/dist/core/vad_config.js.map +1 -0
  435. package/dist/core/whats_new.d.ts +42 -0
  436. package/dist/core/whats_new.d.ts.map +1 -0
  437. package/dist/core/whats_new.js +214 -0
  438. package/dist/core/whats_new.js.map +1 -0
  439. package/dist/core/wizard_state.d.ts +15 -0
  440. package/dist/core/wizard_state.d.ts.map +1 -0
  441. package/dist/core/wizard_state.js +86 -0
  442. package/dist/core/wizard_state.js.map +1 -0
  443. package/dist/deploy/adapter.d.ts +93 -0
  444. package/dist/deploy/adapter.d.ts.map +1 -0
  445. package/dist/deploy/adapter.js +42 -0
  446. package/dist/deploy/adapter.js.map +1 -0
  447. package/dist/deploy/aws_adapter.d.ts +28 -0
  448. package/dist/deploy/aws_adapter.d.ts.map +1 -0
  449. package/dist/deploy/aws_adapter.js +98 -0
  450. package/dist/deploy/aws_adapter.js.map +1 -0
  451. package/dist/deploy/cloudflare.d.ts +24 -0
  452. package/dist/deploy/cloudflare.d.ts.map +1 -0
  453. package/dist/deploy/cloudflare.js +169 -0
  454. package/dist/deploy/cloudflare.js.map +1 -0
  455. package/dist/design/yujin_design_resolver.d.ts +77 -0
  456. package/dist/design/yujin_design_resolver.d.ts.map +1 -0
  457. package/dist/design/yujin_design_resolver.js +113 -0
  458. package/dist/design/yujin_design_resolver.js.map +1 -0
  459. package/dist/docs/LIMITED_RESPONSIBILITY.md +216 -0
  460. package/dist/docs/PRIVACY_POLICY.md +169 -0
  461. package/dist/docs/SQ.md +1397 -0
  462. package/dist/docs/SQ_BY_STEP.yaml +147 -0
  463. package/dist/docs/doctrine/accessibility.md +78 -0
  464. package/dist/docs/doctrine/agent-orchestrator.md +76 -0
  465. package/dist/docs/doctrine/byok-vs-managed.md +81 -0
  466. package/dist/docs/doctrine/cost-router-escalation.md +103 -0
  467. package/dist/docs/doctrine/default-design-system.md +120 -0
  468. package/dist/docs/doctrine/explain-results.md +90 -0
  469. package/dist/docs/doctrine/expo-eas-builds.md +177 -0
  470. package/dist/docs/doctrine/g-doc.md +46 -0
  471. package/dist/docs/doctrine/gates.md +21 -0
  472. package/dist/docs/doctrine/language-sovereignty.md +143 -0
  473. package/dist/docs/doctrine/lessons-workflow.md +68 -0
  474. package/dist/docs/doctrine/mcp-bridge-lifecycle.md +75 -0
  475. package/dist/docs/doctrine/nac3-attrs.md +23 -0
  476. package/dist/docs/doctrine/office-tools.md +102 -0
  477. package/dist/docs/doctrine/pizarron.md +52 -0
  478. package/dist/docs/doctrine/r8-modal.md +60 -0
  479. package/dist/docs/doctrine/safety-refusals.md +73 -0
  480. package/dist/docs/doctrine/testing-policy.md +211 -0
  481. package/dist/docs/doctrine/verb-composition.md +68 -0
  482. package/dist/docs/doctrine/verification-honesty.md +95 -0
  483. package/dist/docs/doctrine/workflow-kinds.md +52 -0
  484. package/dist/docs/doctrine/workflow-phases.md +108 -0
  485. package/dist/docs/doctrine/workflow.md +58 -0
  486. package/dist/docs/doctrine/yf-commands.md +49 -0
  487. package/dist/json/query.d.ts +38 -0
  488. package/dist/json/query.d.ts.map +1 -0
  489. package/dist/json/query.js +177 -0
  490. package/dist/json/query.js.map +1 -0
  491. package/dist/license/hito4_client.d.ts +7 -0
  492. package/dist/license/hito4_client.d.ts.map +1 -1
  493. package/dist/license/hito4_client.js +52 -2
  494. package/dist/license/hito4_client.js.map +1 -1
  495. package/dist/license/sync.d.ts +59 -0
  496. package/dist/license/sync.d.ts.map +1 -0
  497. package/dist/license/sync.js +148 -0
  498. package/dist/license/sync.js.map +1 -0
  499. package/dist/llm/cohere_client.d.ts +81 -0
  500. package/dist/llm/cohere_client.d.ts.map +1 -0
  501. package/dist/llm/cohere_client.js +195 -0
  502. package/dist/llm/cohere_client.js.map +1 -0
  503. package/dist/llm/deepseek_client.d.ts +63 -0
  504. package/dist/llm/deepseek_client.d.ts.map +1 -0
  505. package/dist/llm/deepseek_client.js +188 -0
  506. package/dist/llm/deepseek_client.js.map +1 -0
  507. package/dist/llm/gemini_client.d.ts +78 -0
  508. package/dist/llm/gemini_client.d.ts.map +1 -0
  509. package/dist/llm/gemini_client.js +189 -0
  510. package/dist/llm/gemini_client.js.map +1 -0
  511. package/dist/llm/managed_client.d.ts +70 -0
  512. package/dist/llm/managed_client.d.ts.map +1 -0
  513. package/dist/llm/managed_client.js +251 -0
  514. package/dist/llm/managed_client.js.map +1 -0
  515. package/dist/llm/mistral_client.d.ts +54 -0
  516. package/dist/llm/mistral_client.d.ts.map +1 -0
  517. package/dist/llm/mistral_client.js +174 -0
  518. package/dist/llm/mistral_client.js.map +1 -0
  519. package/dist/llm/multi_provider_client.d.ts +57 -0
  520. package/dist/llm/multi_provider_client.d.ts.map +1 -0
  521. package/dist/llm/multi_provider_client.js +109 -0
  522. package/dist/llm/multi_provider_client.js.map +1 -0
  523. package/dist/llm/openai_client.d.ts +77 -0
  524. package/dist/llm/openai_client.d.ts.map +1 -0
  525. package/dist/llm/openai_client.js +200 -0
  526. package/dist/llm/openai_client.js.map +1 -0
  527. package/dist/llm/xai_client.d.ts +51 -0
  528. package/dist/llm/xai_client.d.ts.map +1 -0
  529. package/dist/llm/xai_client.js +174 -0
  530. package/dist/llm/xai_client.js.map +1 -0
  531. package/dist/mcp/blocklist.d.ts +19 -0
  532. package/dist/mcp/blocklist.d.ts.map +1 -0
  533. package/dist/mcp/blocklist.js +118 -0
  534. package/dist/mcp/blocklist.js.map +1 -0
  535. package/dist/mcp/bridge_registry.d.ts +77 -0
  536. package/dist/mcp/bridge_registry.d.ts.map +1 -0
  537. package/dist/mcp/bridge_registry.js +220 -0
  538. package/dist/mcp/bridge_registry.js.map +1 -0
  539. package/dist/mcp/config.d.ts +25 -0
  540. package/dist/mcp/config.d.ts.map +1 -0
  541. package/dist/mcp/config.js +116 -0
  542. package/dist/mcp/config.js.map +1 -0
  543. package/dist/mcp/forge_panel_server.d.ts +46 -0
  544. package/dist/mcp/forge_panel_server.d.ts.map +1 -0
  545. package/dist/mcp/forge_panel_server.js +166 -0
  546. package/dist/mcp/forge_panel_server.js.map +1 -0
  547. package/dist/mcp/lan_scan.d.ts +36 -0
  548. package/dist/mcp/lan_scan.d.ts.map +1 -0
  549. package/dist/mcp/lan_scan.js +130 -0
  550. package/dist/mcp/lan_scan.js.map +1 -0
  551. package/dist/mcp/protocol_client.d.ts +63 -0
  552. package/dist/mcp/protocol_client.d.ts.map +1 -0
  553. package/dist/mcp/protocol_client.js +340 -0
  554. package/dist/mcp/protocol_client.js.map +1 -0
  555. package/dist/mcp/state.d.ts +38 -0
  556. package/dist/mcp/state.d.ts.map +1 -0
  557. package/dist/mcp/state.js +144 -0
  558. package/dist/mcp/state.js.map +1 -0
  559. package/dist/migrate/ai-decorator.d.ts.map +1 -1
  560. package/dist/migrate/ai-decorator.js +55 -143
  561. package/dist/migrate/ai-decorator.js.map +1 -1
  562. package/dist/nac3/approval_queue.d.ts +44 -0
  563. package/dist/nac3/approval_queue.d.ts.map +1 -0
  564. package/dist/nac3/approval_queue.js +105 -0
  565. package/dist/nac3/approval_queue.js.map +1 -0
  566. package/dist/nac3/backend_tools.d.ts +89 -0
  567. package/dist/nac3/backend_tools.d.ts.map +1 -0
  568. package/dist/nac3/backend_tools.js +271 -0
  569. package/dist/nac3/backend_tools.js.map +1 -0
  570. package/dist/nac3/dispatch_log.d.ts +35 -0
  571. package/dist/nac3/dispatch_log.d.ts.map +1 -0
  572. package/dist/nac3/dispatch_log.js +126 -0
  573. package/dist/nac3/dispatch_log.js.map +1 -0
  574. package/dist/nac3/internal_manifest.d.ts +62 -0
  575. package/dist/nac3/internal_manifest.d.ts.map +1 -0
  576. package/dist/nac3/internal_manifest.js +2461 -0
  577. package/dist/nac3/internal_manifest.js.map +1 -0
  578. package/dist/nac3/manifest_lazy.d.ts +71 -0
  579. package/dist/nac3/manifest_lazy.d.ts.map +1 -0
  580. package/dist/nac3/manifest_lazy.js +141 -0
  581. package/dist/nac3/manifest_lazy.js.map +1 -0
  582. package/dist/nac3/verb_tier_map.d.ts +80 -0
  583. package/dist/nac3/verb_tier_map.d.ts.map +1 -0
  584. package/dist/nac3/verb_tier_map.js +159 -0
  585. package/dist/nac3/verb_tier_map.js.map +1 -0
  586. package/dist/office/excel.d.ts +132 -0
  587. package/dist/office/excel.d.ts.map +1 -0
  588. package/dist/office/excel.js +358 -0
  589. package/dist/office/excel.js.map +1 -0
  590. package/dist/office/pdf.d.ts +35 -0
  591. package/dist/office/pdf.d.ts.map +1 -0
  592. package/dist/office/pdf.js +70 -0
  593. package/dist/office/pdf.js.map +1 -0
  594. package/dist/office/word.d.ts +64 -0
  595. package/dist/office/word.d.ts.map +1 -0
  596. package/dist/office/word.js +243 -0
  597. package/dist/office/word.js.map +1 -0
  598. package/dist/pending/store.d.ts +72 -0
  599. package/dist/pending/store.d.ts.map +1 -0
  600. package/dist/pending/store.js +274 -0
  601. package/dist/pending/store.js.map +1 -0
  602. package/dist/pending/types.d.ts +111 -0
  603. package/dist/pending/types.d.ts.map +1 -0
  604. package/dist/pending/types.js +60 -0
  605. package/dist/pending/types.js.map +1 -0
  606. package/dist/qa/brain_matrix/ab_runner.d.ts +44 -0
  607. package/dist/qa/brain_matrix/ab_runner.d.ts.map +1 -0
  608. package/dist/qa/brain_matrix/ab_runner.js +144 -0
  609. package/dist/qa/brain_matrix/ab_runner.js.map +1 -0
  610. package/dist/qa/brain_matrix/brains.json +80 -0
  611. package/dist/qa/brain_matrix/compare.d.ts +27 -0
  612. package/dist/qa/brain_matrix/compare.d.ts.map +1 -0
  613. package/dist/qa/brain_matrix/compare.js +122 -0
  614. package/dist/qa/brain_matrix/compare.js.map +1 -0
  615. package/dist/qa/brain_matrix/fake_brain.d.ts +36 -0
  616. package/dist/qa/brain_matrix/fake_brain.d.ts.map +1 -0
  617. package/dist/qa/brain_matrix/fake_brain.js +27 -0
  618. package/dist/qa/brain_matrix/fake_brain.js.map +1 -0
  619. package/dist/qa/brain_matrix/fixtures/scenario_a11y_announce_intent.json +22 -0
  620. package/dist/qa/brain_matrix/fixtures/scenario_a11y_announce_no_speak_default.json +23 -0
  621. package/dist/qa/brain_matrix/fixtures/scenario_a11y_consecutive_announces.json +37 -0
  622. package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_action.json +22 -0
  623. package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_open.json +22 -0
  624. package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_unlabeled_button.json +26 -0
  625. package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_with_shortcut.json +22 -0
  626. package/dist/qa/brain_matrix/fixtures/scenario_agent_director_consults_workflow_before_dispatch.json +42 -0
  627. package/dist/qa/brain_matrix/fixtures/scenario_analyst_extracts_then_returns.json +28 -0
  628. package/dist/qa/brain_matrix/fixtures/scenario_announce_min_tool_calls.json +23 -0
  629. package/dist/qa/brain_matrix/fixtures/scenario_app_invoke_happy_path.json +65 -0
  630. package/dist/qa/brain_matrix/fixtures/scenario_app_no_invent_without_backend.json +18 -0
  631. package/dist/qa/brain_matrix/fixtures/scenario_app_schema_fail_recover.json +48 -0
  632. package/dist/qa/brain_matrix/fixtures/scenario_approval_modal_no_redundancy.json +21 -0
  633. package/dist/qa/brain_matrix/fixtures/scenario_args_redacted_in_audit.json +17 -0
  634. package/dist/qa/brain_matrix/fixtures/scenario_audit_consumers_intent.json +19 -0
  635. package/dist/qa/brain_matrix/fixtures/scenario_audit_consumers_intent_en.json +19 -0
  636. package/dist/qa/brain_matrix/fixtures/scenario_audit_log_on_destructive.json +18 -0
  637. package/dist/qa/brain_matrix/fixtures/scenario_brain_explains_after_invoke.json +28 -0
  638. package/dist/qa/brain_matrix/fixtures/scenario_byok_on_managed_brain_overflow.json +28 -0
  639. package/dist/qa/brain_matrix/fixtures/scenario_byok_required_policy.json +35 -0
  640. package/dist/qa/brain_matrix/fixtures/scenario_coder_consults_nac_spec_before_writing.json +28 -0
  641. package/dist/qa/brain_matrix/fixtures/scenario_concise_no_loop.json +23 -0
  642. package/dist/qa/brain_matrix/fixtures/scenario_consult_nac_spec_intent.json +19 -0
  643. package/dist/qa/brain_matrix/fixtures/scenario_contradiction_rfp_cost.json +38 -0
  644. package/dist/qa/brain_matrix/fixtures/scenario_cost_router_attachment_frontier.json +24 -0
  645. package/dist/qa/brain_matrix/fixtures/scenario_cost_router_escalation_explicit.json +23 -0
  646. package/dist/qa/brain_matrix/fixtures/scenario_cost_router_idle_reset.json +24 -0
  647. package/dist/qa/brain_matrix/fixtures/scenario_csv_via_excel_read.json +22 -0
  648. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_override_shadcn.json +45 -0
  649. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_use_card_template.json +44 -0
  650. package/dist/qa/brain_matrix/fixtures/scenario_destructive_no_text_confirm.json +20 -0
  651. package/dist/qa/brain_matrix/fixtures/scenario_diff_explains_changes.json +32 -0
  652. package/dist/qa/brain_matrix/fixtures/scenario_director_delegates_to_analyst.json +26 -0
  653. package/dist/qa/brain_matrix/fixtures/scenario_director_no_self_delegation.json +20 -0
  654. package/dist/qa/brain_matrix/fixtures/scenario_director_terminal_done_marker.json +19 -0
  655. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_after_unknown_intent.json +17 -0
  656. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_a11y.json +24 -0
  657. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_agent_orchestrator.json +24 -0
  658. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_byok_vs_managed.json +24 -0
  659. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_cost_router.json +24 -0
  660. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_default_design_system.json +50 -0
  661. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_g_doc.json +24 -0
  662. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_gates.json +23 -0
  663. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_intent_en.json +19 -0
  664. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_language_sovereignty.json +53 -0
  665. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_lessons_workflow.json +24 -0
  666. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_mcp_lifecycle.json +24 -0
  667. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_nac3_attrs.json +24 -0
  668. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_office.json +24 -0
  669. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_pizarron.json +23 -0
  670. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_r8_modal.json +23 -0
  671. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_testing_policy.json +55 -0
  672. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_workflow.json +23 -0
  673. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_workflow_phases.json +24 -0
  674. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_yf_commands.json +24 -0
  675. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_explain_results.json +22 -0
  676. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_safety_refusals.json +22 -0
  677. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_verb_composition.json +22 -0
  678. package/dist/qa/brain_matrix/fixtures/scenario_eco_defers_complex.json +17 -0
  679. package/dist/qa/brain_matrix/fixtures/scenario_eco_short_query.json +27 -0
  680. package/dist/qa/brain_matrix/fixtures/scenario_env_list_intent.json +20 -0
  681. package/dist/qa/brain_matrix/fixtures/scenario_env_list_intent_en.json +20 -0
  682. package/dist/qa/brain_matrix/fixtures/scenario_env_no_secret_leak.json +21 -0
  683. package/dist/qa/brain_matrix/fixtures/scenario_env_secret_suppression.json +35 -0
  684. package/dist/qa/brain_matrix/fixtures/scenario_env_secret_suppression_en.json +21 -0
  685. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_handles_csv_refusal.json +28 -0
  686. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_sheet_intent.json +20 -0
  687. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_sheet_intent_en.json +20 -0
  688. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_then_list.json +34 -0
  689. package/dist/qa/brain_matrix/fixtures/scenario_excel_list_sheets_first.json +22 -0
  690. package/dist/qa/brain_matrix/fixtures/scenario_excel_sheet_named.json +23 -0
  691. package/dist/qa/brain_matrix/fixtures/scenario_explain_voice_yes.json +22 -0
  692. package/dist/qa/brain_matrix/fixtures/scenario_explains_forge_error.json +39 -0
  693. package/dist/qa/brain_matrix/fixtures/scenario_focus_after_modal_open.json +29 -0
  694. package/dist/qa/brain_matrix/fixtures/scenario_fs_find_intent.json +21 -0
  695. package/dist/qa/brain_matrix/fixtures/scenario_fs_find_intent_en.json +20 -0
  696. package/dist/qa/brain_matrix/fixtures/scenario_fs_find_with_glob.json +22 -0
  697. package/dist/qa/brain_matrix/fixtures/scenario_fs_mkdir_intent.json +20 -0
  698. package/dist/qa/brain_matrix/fixtures/scenario_fs_move_intent.json +20 -0
  699. package/dist/qa/brain_matrix/fixtures/scenario_fs_read_handles_missing.json +28 -0
  700. package/dist/qa/brain_matrix/fixtures/scenario_fs_stat_before_read.json +22 -0
  701. package/dist/qa/brain_matrix/fixtures/scenario_generated_app_nac3_default.json +24 -0
  702. package/dist/qa/brain_matrix/fixtures/scenario_git_branch_list_intent.json +20 -0
  703. package/dist/qa/brain_matrix/fixtures/scenario_git_diff_intent.json +20 -0
  704. package/dist/qa/brain_matrix/fixtures/scenario_git_log_intent.json +20 -0
  705. package/dist/qa/brain_matrix/fixtures/scenario_git_log_intent_en.json +20 -0
  706. package/dist/qa/brain_matrix/fixtures/scenario_git_pull_intent.json +19 -0
  707. package/dist/qa/brain_matrix/fixtures/scenario_git_push_intent.json +20 -0
  708. package/dist/qa/brain_matrix/fixtures/scenario_git_show_metadata_only.json +22 -0
  709. package/dist/qa/brain_matrix/fixtures/scenario_git_status_branch_combo.json +44 -0
  710. package/dist/qa/brain_matrix/fixtures/scenario_git_status_intent.json +20 -0
  711. package/dist/qa/brain_matrix/fixtures/scenario_git_status_intent_en.json +20 -0
  712. package/dist/qa/brain_matrix/fixtures/scenario_github_clone_repo_intent.json +20 -0
  713. package/dist/qa/brain_matrix/fixtures/scenario_github_create_repo_intent.json +20 -0
  714. package/dist/qa/brain_matrix/fixtures/scenario_id_format_in_reply.json +27 -0
  715. package/dist/qa/brain_matrix/fixtures/scenario_iterations_idempotent_adenda.json +27 -0
  716. package/dist/qa/brain_matrix/fixtures/scenario_iterations_query_history.json +29 -0
  717. package/dist/qa/brain_matrix/fixtures/scenario_iterations_tracker_acknowledge.json +28 -0
  718. package/dist/qa/brain_matrix/fixtures/scenario_json_parse_handles_malformed.json +34 -0
  719. package/dist/qa/brain_matrix/fixtures/scenario_json_parse_intent.json +30 -0
  720. package/dist/qa/brain_matrix/fixtures/scenario_json_parse_intent_en.json +30 -0
  721. package/dist/qa/brain_matrix/fixtures/scenario_json_query_extract.json +23 -0
  722. package/dist/qa/brain_matrix/fixtures/scenario_json_stringify_intent.json +20 -0
  723. package/dist/qa/brain_matrix/fixtures/scenario_json_stringify_intent_en.json +20 -0
  724. package/dist/qa/brain_matrix/fixtures/scenario_keys_set_intent.json +20 -0
  725. package/dist/qa/brain_matrix/fixtures/scenario_keys_status_intent.json +20 -0
  726. package/dist/qa/brain_matrix/fixtures/scenario_keys_status_intent_en.json +20 -0
  727. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_not_conducive_spa_python.json +61 -0
  728. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_user_picks_python.json +48 -0
  729. package/dist/qa/brain_matrix/fixtures/scenario_lazy_complex_verb.json +27 -0
  730. package/dist/qa/brain_matrix/fixtures/scenario_lazy_doctrine_only_when_needed.json +17 -0
  731. package/dist/qa/brain_matrix/fixtures/scenario_lazy_simple_verb.json +21 -0
  732. package/dist/qa/brain_matrix/fixtures/scenario_lesson_recall_overrides.json +22 -0
  733. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_restart_app_intent.json +19 -0
  734. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_run_app_intent.json +19 -0
  735. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_run_app_intent_en.json +19 -0
  736. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_stop_app_intent.json +20 -0
  737. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_stop_app_intent_en.json +20 -0
  738. package/dist/qa/brain_matrix/fixtures/scenario_long_doctrine_no_truncate.json +23 -0
  739. package/dist/qa/brain_matrix/fixtures/scenario_manifest_read_intent.json +19 -0
  740. package/dist/qa/brain_matrix/fixtures/scenario_manual_open_intent.json +19 -0
  741. package/dist/qa/brain_matrix/fixtures/scenario_mcp_bridge_unreachable_graceful.json +39 -0
  742. package/dist/qa/brain_matrix/fixtures/scenario_mcp_disabled_bridge_no_verbs.json +18 -0
  743. package/dist/qa/brain_matrix/fixtures/scenario_mcp_discover_tools_intent.json +19 -0
  744. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invariant_1_no_verbs.json +19 -0
  745. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_destructive_pauses_for_r8.json +42 -0
  746. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_happy_path_writes_pizarron.json +76 -0
  747. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_network_timeout_graceful.json +41 -0
  748. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_two_hop.json +68 -0
  749. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_with_auth_loaded.json +76 -0
  750. package/dist/qa/brain_matrix/fixtures/scenario_mcp_revoked_token_graceful.json +33 -0
  751. package/dist/qa/brain_matrix/fixtures/scenario_mcp_set_creds_intent.json +21 -0
  752. package/dist/qa/brain_matrix/fixtures/scenario_mcp_set_creds_no_token_arg.json +27 -0
  753. package/dist/qa/brain_matrix/fixtures/scenario_mcp_show_tools_before_invoke.json +44 -0
  754. package/dist/qa/brain_matrix/fixtures/scenario_mcp_toggle_intent.json +20 -0
  755. package/dist/qa/brain_matrix/fixtures/scenario_multi_turn_clarify_then_act.json +24 -0
  756. package/dist/qa/brain_matrix/fixtures/scenario_nac3_attrs_doctrine.json +53 -0
  757. package/dist/qa/brain_matrix/fixtures/scenario_nac3_discover_schemas_intent.json +19 -0
  758. package/dist/qa/brain_matrix/fixtures/scenario_nac3_required_attr_missing.json +19 -0
  759. package/dist/qa/brain_matrix/fixtures/scenario_no_bare_ok_after_destructive.json +27 -0
  760. package/dist/qa/brain_matrix/fixtures/scenario_no_global_learnings_no_recall.json +20 -0
  761. package/dist/qa/brain_matrix/fixtures/scenario_no_hardcoded_color_use_token.json +47 -0
  762. package/dist/qa/brain_matrix/fixtures/scenario_no_id_leak_in_reply.json +24 -0
  763. package/dist/qa/brain_matrix/fixtures/scenario_no_invent_verb.json +18 -0
  764. package/dist/qa/brain_matrix/fixtures/scenario_no_loop_after_repeated_fail.json +42 -0
  765. package/dist/qa/brain_matrix/fixtures/scenario_no_password_echo.json +28 -0
  766. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_all_current.json +28 -0
  767. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_intent.json +20 -0
  768. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_intent_en.json +20 -0
  769. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_then_explain.json +35 -0
  770. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_read_intent.json +24 -0
  771. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_update_cell_picks_right_verb.json +26 -0
  772. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_write_required_args.json +23 -0
  773. package/dist/qa/brain_matrix/fixtures/scenario_office_overwrite_explicit.json +23 -0
  774. package/dist/qa/brain_matrix/fixtures/scenario_office_word_write_intent.json +27 -0
  775. package/dist/qa/brain_matrix/fixtures/scenario_panel_open_settings_intent.json +19 -0
  776. package/dist/qa/brain_matrix/fixtures/scenario_panel_send_message_intent.json +19 -0
  777. package/dist/qa/brain_matrix/fixtures/scenario_pdf_read_intent.json +22 -0
  778. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_clear_tab_explicit_close.json +17 -0
  779. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_for_chart.json +30 -0
  780. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_for_long_table.json +28 -0
  781. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_read_tab_intent.json +20 -0
  782. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_render_not_inline.json +20 -0
  783. package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_read_file.json +28 -0
  784. package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_verb_over_shell.json +22 -0
  785. package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_workflow_state.json +28 -0
  786. package/dist/qa/brain_matrix/fixtures/scenario_project_init_intent.json +20 -0
  787. package/dist/qa/brain_matrix/fixtures/scenario_project_set_root_intent.json +20 -0
  788. package/dist/qa/brain_matrix/fixtures/scenario_promote_lesson_after_correction.json +17 -0
  789. package/dist/qa/brain_matrix/fixtures/scenario_r8_destructive_shell_exec.json +21 -0
  790. package/dist/qa/brain_matrix/fixtures/scenario_read_then_parse_order.json +36 -0
  791. package/dist/qa/brain_matrix/fixtures/scenario_reader_bookmark_jump_intent.json +19 -0
  792. package/dist/qa/brain_matrix/fixtures/scenario_reader_bookmark_set_intent.json +19 -0
  793. package/dist/qa/brain_matrix/fixtures/scenario_reader_for_long_doc.json +21 -0
  794. package/dist/qa/brain_matrix/fixtures/scenario_reader_list_docs_intent.json +19 -0
  795. package/dist/qa/brain_matrix/fixtures/scenario_reader_next_block_intent.json +19 -0
  796. package/dist/qa/brain_matrix/fixtures/scenario_reader_read_section_intent.json +19 -0
  797. package/dist/qa/brain_matrix/fixtures/scenario_reader_recap_intent.json +19 -0
  798. package/dist/qa/brain_matrix/fixtures/scenario_reader_search_intent.json +20 -0
  799. package/dist/qa/brain_matrix/fixtures/scenario_reader_search_intent_en.json +20 -0
  800. package/dist/qa/brain_matrix/fixtures/scenario_refuses_blanket_chmod_777.json +17 -0
  801. package/dist/qa/brain_matrix/fixtures/scenario_refuses_bypass_approval_modal.json +18 -0
  802. package/dist/qa/brain_matrix/fixtures/scenario_refuses_delete_critical_en.json +18 -0
  803. package/dist/qa/brain_matrix/fixtures/scenario_refuses_disable_vault_encryption.json +18 -0
  804. package/dist/qa/brain_matrix/fixtures/scenario_refuses_drop_database.json +17 -0
  805. package/dist/qa/brain_matrix/fixtures/scenario_refuses_force_push_main.json +17 -0
  806. package/dist/qa/brain_matrix/fixtures/scenario_refuses_force_push_main_en.json +17 -0
  807. package/dist/qa/brain_matrix/fixtures/scenario_refuses_leak_vault_en.json +18 -0
  808. package/dist/qa/brain_matrix/fixtures/scenario_refuses_modify_node_modules.json +17 -0
  809. package/dist/qa/brain_matrix/fixtures/scenario_refuses_skip_hooks.json +17 -0
  810. package/dist/qa/brain_matrix/fixtures/scenario_refuses_skip_hooks_en.json +17 -0
  811. package/dist/qa/brain_matrix/fixtures/scenario_refuses_to_delete_critical.json +18 -0
  812. package/dist/qa/brain_matrix/fixtures/scenario_refuses_to_leak_vault.json +18 -0
  813. package/dist/qa/brain_matrix/fixtures/scenario_respects_global_learnings.json +28 -0
  814. package/dist/qa/brain_matrix/fixtures/scenario_respects_workflow_gate_g2.json +39 -0
  815. package/dist/qa/brain_matrix/fixtures/scenario_revoke_lesson_request.json +21 -0
  816. package/dist/qa/brain_matrix/fixtures/scenario_scaffolder_destructive_pauses_for_approval.json +23 -0
  817. package/dist/qa/brain_matrix/fixtures/scenario_sq9b_deploy_checks_git_status.json +25 -0
  818. package/dist/qa/brain_matrix/fixtures/scenario_sq9b_install_checks_node_version.json +25 -0
  819. package/dist/qa/brain_matrix/fixtures/scenario_sq9b_publish_checks_gh_cli.json +25 -0
  820. package/dist/qa/brain_matrix/fixtures/scenario_sq_rules_active.json +30 -0
  821. package/dist/qa/brain_matrix/fixtures/scenario_sumie_icon_pick_from_catalog.json +56 -0
  822. package/dist/qa/brain_matrix/fixtures/scenario_tester_uses_shell_exec_only.json +27 -0
  823. package/dist/qa/brain_matrix/fixtures/scenario_text_diff_intent.json +20 -0
  824. package/dist/qa/brain_matrix/fixtures/scenario_text_diff_intent_en.json +20 -0
  825. package/dist/qa/brain_matrix/fixtures/scenario_truncated_response_retry.json +22 -0
  826. package/dist/qa/brain_matrix/fixtures/scenario_unknown_command_clarify.json +23 -0
  827. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_compose.json +23 -0
  828. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_handles_invalid.json +27 -0
  829. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_intent.json +20 -0
  830. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_intent_en.json +20 -0
  831. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_then_inspect_query.json +28 -0
  832. package/dist/qa/brain_matrix/fixtures/scenario_url_then_stringify_order.json +34 -0
  833. package/dist/qa/brain_matrix/fixtures/scenario_user_just_greets.json +17 -0
  834. package/dist/qa/brain_matrix/fixtures/scenario_user_overrides_proceeds.json +24 -0
  835. package/dist/qa/brain_matrix/fixtures/scenario_user_revokes_in_middle.json +22 -0
  836. package/dist/qa/brain_matrix/fixtures/scenario_voice_open_pizarron.json +21 -0
  837. package/dist/qa/brain_matrix/fixtures/scenario_word_outline_extraction.json +22 -0
  838. package/dist/qa/brain_matrix/fixtures/scenario_word_overwrite_explicit.json +20 -0
  839. package/dist/qa/brain_matrix/fixtures/scenario_word_section_count.json +28 -0
  840. package/dist/qa/brain_matrix/fixtures/scenario_workflow_doctrine.json +53 -0
  841. package/dist/qa/brain_matrix/fixtures/scenario_workflow_done_specs.json +32 -0
  842. package/dist/qa/brain_matrix/fixtures/scenario_workflow_intent_capture.json +22 -0
  843. package/dist/qa/brain_matrix/fixtures/scenario_workflow_phase_jump_block.json +26 -0
  844. package/dist/qa/brain_matrix/fixtures/scenario_workflow_phase_v_step_15.json +41 -0
  845. package/dist/qa/brain_matrix/fixtures/scenario_workflow_run_step_intent.json +19 -0
  846. package/dist/qa/brain_matrix/fixtures/scenario_workflow_set_intent.json +20 -0
  847. package/dist/qa/brain_matrix/fixtures/scenario_workflow_state_injection.json +32 -0
  848. package/dist/qa/brain_matrix/fixtures/scenario_workflow_state_recovers_after_clarify.json +25 -0
  849. package/dist/qa/brain_matrix/fixtures/scenario_workflow_step_1_intake.json +24 -0
  850. package/dist/qa/brain_matrix/fixtures/scenario_yf_command_doctrine.json +56 -0
  851. package/dist/qa/brain_matrix/fixtures/scenario_yf_doctrine_list_intent.json +19 -0
  852. package/dist/qa/brain_matrix/fixtures/scenario_yf_qa_compare_intent.json +17 -0
  853. package/dist/qa/brain_matrix/invariants.d.ts +18 -0
  854. package/dist/qa/brain_matrix/invariants.d.ts.map +1 -0
  855. package/dist/qa/brain_matrix/invariants.js +333 -0
  856. package/dist/qa/brain_matrix/invariants.js.map +1 -0
  857. package/dist/qa/brain_matrix/report.d.ts +12 -0
  858. package/dist/qa/brain_matrix/report.d.ts.map +1 -0
  859. package/dist/qa/brain_matrix/report.js +131 -0
  860. package/dist/qa/brain_matrix/report.js.map +1 -0
  861. package/dist/qa/brain_matrix/runner.d.ts +31 -0
  862. package/dist/qa/brain_matrix/runner.d.ts.map +1 -0
  863. package/dist/qa/brain_matrix/runner.js +561 -0
  864. package/dist/qa/brain_matrix/runner.js.map +1 -0
  865. package/dist/qa/brain_matrix/types.d.ts +180 -0
  866. package/dist/qa/brain_matrix/types.d.ts.map +1 -0
  867. package/dist/qa/brain_matrix/types.js +2 -0
  868. package/dist/qa/brain_matrix/types.js.map +1 -0
  869. package/dist/qa/brain_matrix/validate_scenario.d.ts +23 -0
  870. package/dist/qa/brain_matrix/validate_scenario.d.ts.map +1 -0
  871. package/dist/qa/brain_matrix/validate_scenario.js +128 -0
  872. package/dist/qa/brain_matrix/validate_scenario.js.map +1 -0
  873. package/dist/semantic_graph/ast_extract.d.ts +15 -0
  874. package/dist/semantic_graph/ast_extract.d.ts.map +1 -0
  875. package/dist/semantic_graph/ast_extract.js +162 -0
  876. package/dist/semantic_graph/ast_extract.js.map +1 -0
  877. package/dist/semantic_graph/derive.d.ts +36 -0
  878. package/dist/semantic_graph/derive.d.ts.map +1 -0
  879. package/dist/semantic_graph/derive.js +285 -0
  880. package/dist/semantic_graph/derive.js.map +1 -0
  881. package/dist/semantic_graph/llm_claim.d.ts +21 -0
  882. package/dist/semantic_graph/llm_claim.d.ts.map +1 -0
  883. package/dist/semantic_graph/llm_claim.js +164 -0
  884. package/dist/semantic_graph/llm_claim.js.map +1 -0
  885. package/dist/semantic_graph/npm_enrich.d.ts +49 -0
  886. package/dist/semantic_graph/npm_enrich.d.ts.map +1 -0
  887. package/dist/semantic_graph/npm_enrich.js +173 -0
  888. package/dist/semantic_graph/npm_enrich.js.map +1 -0
  889. package/dist/semantic_graph/render.d.ts +28 -0
  890. package/dist/semantic_graph/render.d.ts.map +1 -0
  891. package/dist/semantic_graph/render.js +70 -0
  892. package/dist/semantic_graph/render.js.map +1 -0
  893. package/dist/semantic_graph/store.d.ts +44 -0
  894. package/dist/semantic_graph/store.d.ts.map +1 -0
  895. package/dist/semantic_graph/store.js +360 -0
  896. package/dist/semantic_graph/store.js.map +1 -0
  897. package/dist/semantic_graph/types.d.ts +59 -0
  898. package/dist/semantic_graph/types.d.ts.map +1 -0
  899. package/dist/semantic_graph/types.js +17 -0
  900. package/dist/semantic_graph/types.js.map +1 -0
  901. package/dist/support/github_dispatcher.d.ts +36 -0
  902. package/dist/support/github_dispatcher.d.ts.map +1 -0
  903. package/dist/support/github_dispatcher.js +292 -0
  904. package/dist/support/github_dispatcher.js.map +1 -0
  905. package/dist/support/reports.d.ts +31 -0
  906. package/dist/support/reports.d.ts.map +1 -0
  907. package/dist/support/reports.js +162 -0
  908. package/dist/support/reports.js.map +1 -0
  909. package/dist/telemetry/usage.d.ts +67 -0
  910. package/dist/telemetry/usage.d.ts.map +1 -0
  911. package/dist/telemetry/usage.js +208 -0
  912. package/dist/telemetry/usage.js.map +1 -0
  913. package/dist/test_agent/gemini_user.d.ts +9 -0
  914. package/dist/test_agent/gemini_user.d.ts.map +1 -0
  915. package/dist/test_agent/gemini_user.js +58 -0
  916. package/dist/test_agent/gemini_user.js.map +1 -0
  917. package/dist/test_agent/profiles.d.ts +23 -0
  918. package/dist/test_agent/profiles.d.ts.map +1 -0
  919. package/dist/test_agent/profiles.js +117 -0
  920. package/dist/test_agent/profiles.js.map +1 -0
  921. package/dist/test_agent/runner.d.ts +56 -0
  922. package/dist/test_agent/runner.d.ts.map +1 -0
  923. package/dist/test_agent/runner.js +134 -0
  924. package/dist/test_agent/runner.js.map +1 -0
  925. package/dist/test_agent/target_http.d.ts +22 -0
  926. package/dist/test_agent/target_http.d.ts.map +1 -0
  927. package/dist/test_agent/target_http.js +51 -0
  928. package/dist/test_agent/target_http.js.map +1 -0
  929. package/dist/test_agent/types.d.ts +117 -0
  930. package/dist/test_agent/types.d.ts.map +1 -0
  931. package/dist/test_agent/types.js +22 -0
  932. package/dist/test_agent/types.js.map +1 -0
  933. package/dist/vault/store.d.ts.map +1 -1
  934. package/dist/vault/store.js +14 -1
  935. package/dist/vault/store.js.map +1 -1
  936. package/dist/version.d.ts +1 -1
  937. package/dist/version.d.ts.map +1 -1
  938. package/dist/version.js +1 -1
  939. package/dist/version.js.map +1 -1
  940. package/dist/voice/config.d.ts +12 -0
  941. package/dist/voice/config.d.ts.map +1 -1
  942. package/dist/voice/config.js +25 -2
  943. package/dist/voice/config.js.map +1 -1
  944. package/dist/voice/providers/google.d.ts +9 -0
  945. package/dist/voice/providers/google.d.ts.map +1 -1
  946. package/dist/voice/providers/google.js +152 -26
  947. package/dist/voice/providers/google.js.map +1 -1
  948. package/dist/voice/router.d.ts +10 -0
  949. package/dist/voice/router.d.ts.map +1 -1
  950. package/dist/voice/router.js +39 -20
  951. package/dist/voice/router.js.map +1 -1
  952. package/dist/voice/types.d.ts +5 -2
  953. package/dist/voice/types.d.ts.map +1 -1
  954. package/dist/voice/types.js.map +1 -1
  955. package/dist/wiring/discover.d.ts +14 -0
  956. package/dist/wiring/discover.d.ts.map +1 -0
  957. package/dist/wiring/discover.js +383 -0
  958. package/dist/wiring/discover.js.map +1 -0
  959. package/dist/wiring/store.d.ts +19 -0
  960. package/dist/wiring/store.d.ts.map +1 -0
  961. package/dist/wiring/store.js +182 -0
  962. package/dist/wiring/store.js.map +1 -0
  963. package/dist/wiring/types.d.ts +61 -0
  964. package/dist/wiring/types.d.ts.map +1 -0
  965. package/dist/wiring/types.js +36 -0
  966. package/dist/wiring/types.js.map +1 -0
  967. package/dist/workflow/definitions.d.ts +60 -0
  968. package/dist/workflow/definitions.d.ts.map +1 -0
  969. package/dist/workflow/definitions.js +178 -0
  970. package/dist/workflow/definitions.js.map +1 -0
  971. package/dist/workflow/definitions_client.d.ts +12 -0
  972. package/dist/workflow/definitions_client.d.ts.map +1 -0
  973. package/dist/workflow/definitions_client.js +81 -0
  974. package/dist/workflow/definitions_client.js.map +1 -0
  975. package/dist/workflow/evolution.d.ts +10 -0
  976. package/dist/workflow/evolution.d.ts.map +1 -0
  977. package/dist/workflow/evolution.js +62 -0
  978. package/dist/workflow/evolution.js.map +1 -0
  979. package/dist/workflow/graph.d.ts +59 -0
  980. package/dist/workflow/graph.d.ts.map +1 -0
  981. package/dist/workflow/graph.js +137 -0
  982. package/dist/workflow/graph.js.map +1 -0
  983. package/dist/workflow/phase_inference.d.ts +56 -0
  984. package/dist/workflow/phase_inference.d.ts.map +1 -0
  985. package/dist/workflow/phase_inference.js +107 -0
  986. package/dist/workflow/phase_inference.js.map +1 -0
  987. package/dist/workflow/select.d.ts +28 -0
  988. package/dist/workflow/select.d.ts.map +1 -0
  989. package/dist/workflow/select.js +38 -0
  990. package/dist/workflow/select.js.map +1 -0
  991. package/dist/workflow/state.d.ts +290 -0
  992. package/dist/workflow/state.d.ts.map +1 -0
  993. package/dist/workflow/state.js +213 -0
  994. package/dist/workflow/state.js.map +1 -0
  995. package/dist/workflow/view.d.ts +47 -0
  996. package/dist/workflow/view.d.ts.map +1 -0
  997. package/dist/workflow/view.js +103 -0
  998. package/dist/workflow/view.js.map +1 -0
  999. package/docs/SQ.md +1397 -0
  1000. package/docs/SQ_BY_STEP.yaml +147 -0
  1001. package/docs/doctrine/accessibility.md +78 -0
  1002. package/docs/doctrine/agent-orchestrator.md +76 -0
  1003. package/docs/doctrine/byok-vs-managed.md +81 -0
  1004. package/docs/doctrine/cost-router-escalation.md +103 -0
  1005. package/docs/doctrine/default-design-system.md +120 -0
  1006. package/docs/doctrine/explain-results.md +90 -0
  1007. package/docs/doctrine/expo-eas-builds.md +177 -0
  1008. package/docs/doctrine/g-doc.md +46 -0
  1009. package/docs/doctrine/gates.md +21 -0
  1010. package/docs/doctrine/language-sovereignty.md +143 -0
  1011. package/docs/doctrine/lessons-workflow.md +68 -0
  1012. package/docs/doctrine/mcp-bridge-lifecycle.md +75 -0
  1013. package/docs/doctrine/nac3-attrs.md +23 -0
  1014. package/docs/doctrine/office-tools.md +102 -0
  1015. package/docs/doctrine/pizarron.md +52 -0
  1016. package/docs/doctrine/r8-modal.md +60 -0
  1017. package/docs/doctrine/safety-refusals.md +73 -0
  1018. package/docs/doctrine/testing-policy.md +211 -0
  1019. package/docs/doctrine/verb-composition.md +68 -0
  1020. package/docs/doctrine/verification-honesty.md +95 -0
  1021. package/docs/doctrine/workflow-kinds.md +52 -0
  1022. package/docs/doctrine/workflow-phases.md +108 -0
  1023. package/docs/doctrine/workflow.md +58 -0
  1024. package/docs/doctrine/yf-commands.md +49 -0
  1025. package/package.json +19 -3
  1026. package/src/i18n/catalogs/ar.json +134 -10
  1027. package/src/i18n/catalogs/de.json +134 -10
  1028. package/src/i18n/catalogs/en.json +134 -10
  1029. package/src/i18n/catalogs/es.json +134 -10
  1030. package/src/i18n/catalogs/fr.json +134 -10
  1031. package/src/i18n/catalogs/hi.json +134 -10
  1032. package/src/i18n/catalogs/it.json +134 -10
  1033. package/src/i18n/catalogs/ja.json +134 -10
  1034. package/src/i18n/catalogs/pt.json +134 -10
  1035. package/src/i18n/catalogs/zh.json +134 -10
  1036. package/templates/nextjs-app/README.md +48 -0
  1037. package/templates/nextjs-app/next.config.js +8 -0
  1038. package/templates/nextjs-app/package.json +33 -0
  1039. package/templates/nextjs-app/src/app/globals.css +43 -0
  1040. package/templates/nextjs-app/src/app/layout.tsx +29 -0
  1041. package/templates/nextjs-app/src/app/page.tsx +63 -0
  1042. package/templates/nextjs-app/src/nac/manifest.ts +36 -0
  1043. package/templates/nextjs-app/tsconfig.json +21 -0
  1044. package/templates/nextjs-app/yujin.forge.json +11 -0
  1045. package/templates/sumi-context.template.md +57 -0
package/dist/bin/yf.js CHANGED
@@ -27,14 +27,48 @@ import { registerScenariosCommand } from '../commands/scenarios.js';
27
27
  import { registerReviewScreensCommand } from '../commands/review-screens.js';
28
28
  import { registerPublishCommand } from '../commands/publish.js';
29
29
  import { registerProjectsCommand } from '../commands/projects.js';
30
+ import { registerPendingCommand } from '../commands/pending.js';
31
+ import { registerWiringCommand } from '../commands/wiring.js';
32
+ import { registerTestAgentCommand } from '../commands/test_agent.js';
33
+ import { registerLessonsCommand } from '../commands/lessons.js';
34
+ import { registerDoctrinesCommand } from '../commands/doctrines.js';
30
35
  import { registerTunnelCommand } from '../commands/tunnel.js';
31
36
  import { registerDeployCommand } from '../commands/deploy.js';
32
37
  import { registerAppCommand } from '../commands/app.js';
33
38
  import { registerVoiceCommand } from '../commands/voice.js';
34
39
  import { registerKeysSetupCommand } from '../commands/keys_setup.js';
40
+ import { registerBrainCommand } from '../commands/brain.js';
41
+ import { registerLimitsCommand } from '../commands/limits.js';
42
+ import { registerQaCommand } from '../commands/qa.js';
43
+ import { registerDoctrineCommand } from '../commands/doctrine.js';
44
+ import { registerManifestCommand } from '../commands/manifest-cli.js';
35
45
  import { registerRepoCommand } from '../commands/repo.js';
36
46
  import { registerMobileCommand } from '../commands/mobile.js';
37
47
  import { registerLogCommand } from '../commands/log.js';
48
+ import { registerTriageCommand } from '../commands/triage.js';
49
+ import { registerDiscoverCommand } from '../commands/discover.js';
50
+ import { registerLegacyAuditCommand } from '../commands/legacy-audit.js';
51
+ import { registerClarifyCommand } from '../commands/clarify.js';
52
+ import { registerSpecCommand } from '../commands/spec.js';
53
+ import { registerApproveCommand } from '../commands/approve.js';
54
+ import { registerBootstrapCommand } from '../commands/bootstrap.js';
55
+ import { registerBlockCommand } from '../commands/block.js';
56
+ import { registerCoverageCommand } from '../commands/workflow-coverage.js';
57
+ import { registerOperateCommand } from '../commands/operate.js';
58
+ import { registerSupportCommand } from '../commands/support.js';
59
+ import { registerGraphCommand } from '../commands/graph.js';
60
+ import { registerMcpCommand } from '../commands/mcp.js';
61
+ import { registerNac3Command } from '../commands/nac3.js';
62
+ import { registerAgentCommand } from '../commands/agent.js';
63
+ /* `yf director` CLI removed (redesign/sumi-forge 2026-06-05): the
64
+ * build-side multi-agent orchestrator is gone. The Director +
65
+ * Analyst + Coder + Tester + Scaffolder agent roles were the wrong
66
+ * consumer of the agentic infrastructure. The infrastructure
67
+ * itself (bridge, runtime, store, runner, iterative_step,
68
+ * delegate, real_step_factory, cli_real) survives as a library
69
+ * for product-side agents -- agents the generated software
70
+ * dispatches on the user's machine. See
71
+ * docs/PAPER_SUMI_VS_AGENTIC.md for the rationale. */
38
72
  import { VERSION } from '../version.js';
39
73
  export function buildProgram() {
40
74
  const program = new Command();
@@ -61,6 +95,11 @@ export function buildProgram() {
61
95
  registerReviewScreensCommand(program);
62
96
  registerPublishCommand(program);
63
97
  registerProjectsCommand(program);
98
+ registerPendingCommand(program);
99
+ registerWiringCommand(program);
100
+ registerTestAgentCommand(program);
101
+ registerLessonsCommand(program);
102
+ registerDoctrinesCommand(program);
64
103
  registerTunnelCommand(program);
65
104
  registerDeployCommand(program);
66
105
  registerAppCommand(program);
@@ -68,9 +107,49 @@ export function buildProgram() {
68
107
  /* `yf keys setup` -- BYOK provider keys (brain + voice) + sync. */
69
108
  const keys = program.command('keys').description('BYOK provider keys (brain + voice).');
70
109
  registerKeysSetupCommand(keys);
110
+ /* `yf brain` -- alpha.51 brain tier configuration (eco / frontier
111
+ * provider+model + which workflow phase escalates). */
112
+ registerBrainCommand(program);
113
+ /* `yf limits` -- alpha.59c runtime caps (max tool rounds per
114
+ * verb family, timeouts, classifier budget). */
115
+ registerLimitsCommand(program);
116
+ /* `yf qa` -- alpha.59y.0 brain-matrix QA harness. */
117
+ registerQaCommand(program);
118
+ /* `yf doctrine` -- enumerate + preview doctrines on disk
119
+ * (z.67). */
120
+ registerDoctrineCommand(program);
121
+ /* `yf manifest` -- list NAC-3 verbs by namespace (z.67). */
122
+ registerManifestCommand(program);
71
123
  registerRepoCommand(program);
72
124
  registerMobileCommand(program);
73
125
  registerLogCommand(program);
126
+ /* PRODUCT_WORKFLOW.md commands (Phase I onwards). */
127
+ registerTriageCommand(program);
128
+ registerDiscoverCommand(program);
129
+ registerLegacyAuditCommand(program);
130
+ registerClarifyCommand(program);
131
+ registerSpecCommand(program);
132
+ registerApproveCommand(program);
133
+ registerBootstrapCommand(program);
134
+ registerBlockCommand(program);
135
+ registerCoverageCommand(program);
136
+ registerOperateCommand(program);
137
+ registerSupportCommand(program);
138
+ /* `yf graph` -- alpha.59p semantic graph CRUD + relevance
139
+ * preview. Spec: docs/SEMANTIC_GRAPH_SPEC_2026_06_02.md. */
140
+ registerGraphCommand(program);
141
+ /* `yf mcp` -- alpha.59p.3 MCP bridge feature flag (default
142
+ * OFF). Bridge runtime lands in alpha.60. Spec:
143
+ * docs/MCP_BRIDGE_PLAN.md v2. */
144
+ registerMcpCommand(program);
145
+ /* `yf nac3` -- NAC-3 v3.x backend tools CLI (task #23 slice 3).
146
+ * Inspect + validate + invoke app.* tools declared in
147
+ * yujin.forge.json:nac3_backend.tools[].
148
+ * Spec: docs/NAC3_SPEC_V3_BACKEND_TOOLS.md. */
149
+ registerNac3Command(program);
150
+ /* `yf agent` -- HITO 5 slice 1 read-only surface (list / show /
151
+ * doctor). Runner + bridge land in subsequent slices. */
152
+ registerAgentCommand(program);
74
153
  return program;
75
154
  }
76
155
  async function main() {
@@ -82,8 +161,28 @@ async function main() {
82
161
  const isDirect = import.meta.url === `file://${process.argv[1]}`
83
162
  || (process.argv[1] !== undefined && import.meta.url.endsWith('/' + process.argv[1].split(/[/\\]/).pop()));
84
163
  if (isDirect) {
85
- main().catch((err) => {
86
- console.error(err instanceof Error ? err.message : String(err));
164
+ main().catch(async (err) => {
165
+ /* alpha.59z.14 F104 -- if the error carries a forge_error
166
+ * payload (attached by deeper layers like resolveAnthropicKey
167
+ * or HTTP responses with body.forge_error), format it via the
168
+ * CLI renderer for the friendly what/why/fix triple. Falls
169
+ * back to the legacy message string when no forge_error is
170
+ * present. */
171
+ const fe = err.forge_error;
172
+ if (fe && typeof fe === 'object') {
173
+ try {
174
+ const { formatForgeErrorCli } = await import('../core/error_formatter.js');
175
+ process.stderr.write(formatForgeErrorCli(fe));
176
+ }
177
+ catch {
178
+ /* Formatter import failed (build issue?). Fall through to
179
+ * legacy message so we never lose the error. */
180
+ console.error(err instanceof Error ? err.message : String(err));
181
+ }
182
+ }
183
+ else {
184
+ console.error(err instanceof Error ? err.message : String(err));
185
+ }
87
186
  process.exit(1);
88
187
  });
89
188
  }
@@ -1 +1 @@
1
- {"version":3,"file":"yf.js","sourceRoot":"","sources":["../../src/bin/yf.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"yf.js","sourceRoot":"","sources":["../../src/bin/yf.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ToolSpec } from './tools.js';
2
+ import { type UsageKind } from '../telemetry/usage.js';
2
3
  export declare class ConfigurationError extends Error {
3
4
  constructor(message: string);
4
5
  }
@@ -9,6 +10,25 @@ export declare class ClaudeApiError extends Error {
9
10
  export interface ChatMessage {
10
11
  role: 'user' | 'assistant';
11
12
  content: string;
13
+ /** alpha.56 -- tier the assistant turn was served by. Persisted
14
+ * in the store so the next turn's reasoning_gate can apply
15
+ * sticky-tier inertia (a follow-up to a frontier turn should
16
+ * stay in frontier unless the new message has strong eco
17
+ * signals). Optional + ignored by callers that pre-date the
18
+ * sticky path. */
19
+ brain_tier?: 'eco' | 'frontier';
20
+ /** alpha.56 -- set to true when the assistant turn invoked a
21
+ * doc-loading verb (yujin.reader.open, yujin.fs.read-file,
22
+ * yujin.fs.read-project-file, etc). The next turn's router
23
+ * treats this as a signal to stay in frontier even if the
24
+ * user message looks short / simple, because the user is
25
+ * almost certainly about to ask the model to reason over
26
+ * that doc. */
27
+ doc_loaded?: boolean;
28
+ /** alpha.56 -- hidden synthetic user message (e.g. modal
29
+ * approval continuation). Set by the panel when injecting
30
+ * follow-up turns the user did not type. Not rendered. */
31
+ hidden?: boolean;
12
32
  }
13
33
  /** One round of tool dispatch recorded for the chat panel's action
14
34
  * trace. The caller serialises these into the response so the UI
@@ -48,6 +68,33 @@ export interface ClaudeChatRequest {
48
68
  /** Maximum tool-use loop iterations. Default 5. Stops with a
49
69
  `tool_loop_exhausted` ClaudeApiError when reached. */
50
70
  maxToolRounds?: number;
71
+ /** Usage kind for telemetry. Defaults to `claude.chat`. Callers
72
+ issuing spec / clarify / triage calls pass the matching kind
73
+ so cost reports group correctly. */
74
+ usageKind?: UsageKind;
75
+ /** Free-text label for the usage event (e.g. "spec.rfp",
76
+ "clarify.functional"). Optional. */
77
+ usageLabel?: string;
78
+ /** Project root associated with this call. Optional. */
79
+ projectRoot?: string;
80
+ /** Optional progress hook for clients that drive their tool loop
81
+ * inside the .chat() call (subprocess providers). The chat server
82
+ * passes its `sseEmit` here so the panel sees `tool_round_start` /
83
+ * `tool_round_done` events for tools the subprocess invoked,
84
+ * matching the feedback cadence of the HTTP path's runTool seam.
85
+ * Implementations that own the tool loop externally (runTool
86
+ * callback path) can ignore this. */
87
+ onStreamEvent?: (event: string, data: unknown) => void;
88
+ /** alpha.59z.163 PND-027 -- dynamic suffix appended to the system
89
+ * prompt that should NOT be part of the cached prefix. Content
90
+ * here changes per turn (e.g. relevance-ranked graph snippets,
91
+ * current workflow phase, intent-specific hints), so caching it
92
+ * would invalidate the prefix every turn and defeat the purpose.
93
+ * When set, the HTTP client emits the system as two content
94
+ * blocks: { stable, cache_control: ephemeral } then { dynamic }.
95
+ * The CLI client concatenates them since `claude -p` cannot
96
+ * receive structured system content. */
97
+ systemDynamic?: string;
51
98
  }
52
99
  export interface ClaudeChatResponse {
53
100
  text: string;
@@ -57,6 +104,25 @@ export interface ClaudeChatResponse {
57
104
  /** Per-round audit of tool dispatches. Empty when no tools were
58
105
  provided or the model did not call any. */
59
106
  toolRounds: ToolRound[];
107
+ /** alpha.59z.14 F104 -- truncation detection. Populated when
108
+ * the LAST round's output_tokens landed within
109
+ * TRUNCATION_MARGIN_TOKENS of max_tokens, OR when the provider
110
+ * explicitly reported stop_reason=max_tokens|length. Callers
111
+ * should surface a ForgeError(E_RESPONSE_TRUNCATED) when this
112
+ * is true. */
113
+ truncation?: {
114
+ truncated: boolean;
115
+ reason: string;
116
+ output_tokens: number;
117
+ max_tokens: number;
118
+ };
119
+ /** PND-055 (CR-D11) -- present solo en el cliente claude-code-cli.
120
+ * El proposito del modo CLI es facturar contra la suscripcion
121
+ * (apiKeySource="none"). Si el entorno del usuario forzo
122
+ * ANTHROPIC_API_KEY, `claude -p` factura contra Console (dinero
123
+ * real). Cuando billedToConsole=true el server avisa al usuario
124
+ * en vez de cobrar en silencio. */
125
+ billedToConsole?: boolean;
60
126
  }
61
127
  export interface ClaudeClientOptions {
62
128
  apiKey?: string;
@@ -65,6 +131,28 @@ export interface ClaudeClientOptions {
65
131
  /** Test injection for fetch (Node 18+ has global fetch). */
66
132
  fetchImpl?: typeof fetch;
67
133
  }
134
+ /**
135
+ * Common surface every Forge chat client implements. Today two
136
+ * concrete impls exist:
137
+ *
138
+ * - `ClaudeClient` (HTTP) -- direct Anthropic /v1/messages with the
139
+ * full multi-turn tool-use loop owned in this process.
140
+ * - `ClaudeCliClient` (subprocess) -- spawns `claude -p`, billed
141
+ * against the user's Claude Code subscription; the subprocess
142
+ * owns the tool-use loop and reports a single text result back.
143
+ *
144
+ * Both can be substituted at the `let claude: ChatLLMClient` site in
145
+ * `server.ts` and at the `Ctx.claude` field consumed by request
146
+ * handlers, which only ever call `.chat()` on it. Use this type at
147
+ * every wiring site so future providers (e.g. a managed-brain
148
+ * fallback) can drop in without `as unknown` casts.
149
+ *
150
+ * Source of truth for the message + tool + response shapes lives in
151
+ * this file (ChatMessage / ClaudeChatRequest / ClaudeChatResponse).
152
+ */
153
+ export interface ChatLLMClient {
154
+ chat(req: ClaudeChatRequest): Promise<ClaudeChatResponse>;
155
+ }
68
156
  /**
69
157
  * Resolve the Anthropic API key.
70
158
  *
@@ -87,7 +175,7 @@ export interface ClaudeClientOptions {
87
175
  * users who configured Forge pre-BYOK.
88
176
  */
89
177
  export declare function resolveApiKey(injected?: string): Promise<string>;
90
- export declare class ClaudeClient {
178
+ export declare class ClaudeClient implements ChatLLMClient {
91
179
  private apiKey;
92
180
  private fetchImpl;
93
181
  private defaultModel;
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/chat/claude.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,qBAAa,cAAe,SAAQ,KAAK;IACvC,MAAM,EAAE,MAAM,CAAC;gBACH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAK5C;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;wCAEwC;AACxC,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,oEAAoE;IACpE,MAAM,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;wDACoD;IACpD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC;uDACmD;IACnD,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;yBAEqB;IACrB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB;wCACoC;IACpC,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAClE,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH;6DACyD;IACzD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd;kDAC8C;IAC9C,UAAU,EAAE,SAAS,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAgEtE;AAmBD,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,YAAY,CAAS;gBAEjB,IAAI,GAAE,mBAAwB;IAMpC,IAAI,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA0IhE"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../src/chat/claude.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ import { promises as fs } from 'node:fs';
27
27
  import path from 'node:path';
28
28
  import { configDir } from '../license/index.js';
29
29
  import { Vault } from '../vault/store.js';
30
+ import { recordUsage } from '../telemetry/usage.js';
30
31
  export class ConfigurationError extends Error {
31
32
  constructor(message) {
32
33
  super(message);
@@ -65,27 +66,17 @@ export class ClaudeApiError extends Error {
65
66
  export async function resolveApiKey(injected) {
66
67
  if (injected && injected.trim() !== '')
67
68
  return injected.trim();
68
- /* 1. BYOK provider_keys.json -- the alpha.4+ canonical path.
69
- Lives at ~/.yujin-forge/provider_keys.json and is written
70
- by `yf keys setup`. We read it as plain JSON (the file is
71
- NOT encrypted at rest -- the encryption layer is for the
72
- mobile-sync envelope, which is a separate concern). */
69
+ /* 1. BYOK provider keys -- alpha.44 C1: stored in the encrypted
70
+ Vault (AES-256-GCM). The legacy plaintext provider_keys.json
71
+ gets auto-migrated by core/provider_keys.ts on first access. */
73
72
  try {
74
- const providerKeysPath = path.join(configDir(), 'provider_keys.json');
75
- const raw = await fs.readFile(providerKeysPath, 'utf-8');
76
- const parsed = JSON.parse(raw);
77
- if (typeof parsed.anthropic_api_key === 'string'
78
- && parsed.anthropic_api_key.trim() !== '') {
79
- return parsed.anthropic_api_key.trim();
80
- }
73
+ const { getKey } = await import('../core/provider_keys.js');
74
+ const v = await getKey('anthropic_api_key');
75
+ if (v && v.trim() !== '')
76
+ return v.trim();
81
77
  }
82
- catch (err) {
83
- if (err.code !== 'ENOENT'
84
- && !(err instanceof SyntaxError)) {
85
- /* Real IO error -- log silently and fall through. We do
86
- NOT want a vault permission bug to break the env var
87
- path. */
88
- }
78
+ catch {
79
+ /* Vault unavailable -- fall through to legacy paths */
89
80
  }
90
81
  /* 2. Vault slot. Opens cheaply; the cost is dominated by
91
82
  scrypt derivation (~60ms) which is acceptable for the
@@ -121,15 +112,27 @@ export async function resolveApiKey(injected) {
121
112
  if (err.code !== 'ENOENT')
122
113
  throw err;
123
114
  }
124
- throw new ConfigurationError('no Anthropic API key found. Configure one of:\n'
125
- + ' - yf keys setup (recommended; sets up brain + voice)\n'
126
- + ' - yf vault set anthropic (encrypted vault slot)\n'
115
+ /* alpha.59z.14 F104 -- formatted error with what/why/fix triple.
116
+ * Importing the formatter lazily because resolveAnthropicKey()
117
+ * gets called from many code paths; we keep this fn synchronous
118
+ * by inlining the catalog data here. The CLI formatter wraps
119
+ * the thrown ConfigurationError instance into a ForgeError at
120
+ * the boundary (yf doctor / yf chat catch). */
121
+ const err = new ConfigurationError('no Anthropic API key found. Configure one of:\n'
122
+ + ' - yf keys set anthropic_api_key (recommended; encrypted vault slot)\n'
123
+ + ' - yf keys setup (interactive setup; brain + voice)\n'
127
124
  + ' - export ANTHROPIC_API_KEY=sk-ant-...\n'
128
125
  + ' - export YUJIN_ANTHROPIC_API_KEY=sk-ant-...\n'
129
126
  + ' - write the key to ~/.yujin-forge/api-key.txt');
127
+ /* Hydrate forge_error via the catalog so the message respects
128
+ * the active i18n session language (alpha.59z.15). */
129
+ const { renderForgeError, E_BYOK_KEY_MISSING } = await import('../core/error_catalog.js');
130
+ err.forge_error = renderForgeError(E_BYOK_KEY_MISSING, {
131
+ provider: 'anthropic', slot: 'anthropic_api_key', tier: 'frontier',
132
+ });
133
+ throw err;
130
134
  }
131
135
  const DEFAULT_MODEL = 'claude-sonnet-4-6';
132
- const DEFAULT_MAX_TOOL_ROUNDS = 5;
133
136
  export class ClaudeClient {
134
137
  apiKey;
135
138
  fetchImpl;
@@ -148,7 +151,23 @@ export class ClaudeClient {
148
151
  }
149
152
  const model = req.model ?? this.defaultModel;
150
153
  const maxTokens = req.maxTokens ?? 1024;
151
- const maxRounds = req.maxToolRounds ?? DEFAULT_MAX_TOOL_ROUNDS;
154
+ /* alpha.59c -- max_tool_rounds comes from limits_config (or
155
+ * the caller's override). Inside the loop we re-evaluate
156
+ * based on the verb family of the first tool the LLM
157
+ * invokes so reader-heavy turns get the bigger cap
158
+ * automatically. Cap only grows mid-turn, never shrinks. */
159
+ const { readLimitsConfig, classifyVerbFamily, getMaxToolRoundsForFamily } = await import('../core/limits_config.js');
160
+ const limits = await readLimitsConfig();
161
+ const callerSpecifiedCap = req.maxToolRounds !== undefined;
162
+ /* alpha.59e -- when Danger Zone auto-approve is on, the user
163
+ * has opted in to long autonomous chains. Use the higher
164
+ * autonomous cap as the BASE. Caller override still wins. */
165
+ const autonomousMode = limits.danger_zone && limits.danger_zone.auto_approve_all === true;
166
+ const baseCap = autonomousMode
167
+ ? limits.max_tool_rounds.autonomous
168
+ : limits.max_tool_rounds.default;
169
+ let maxRounds = req.maxToolRounds ?? baseCap;
170
+ let familyResolved = null;
152
171
  /* Seed the conversation with the caller's history. Each round
153
172
  appends turns; the loop terminates when the model's
154
173
  stop_reason is anything other than 'tool_use'. */
@@ -161,6 +180,16 @@ export class ClaudeClient {
161
180
  let totalTokensOut = 0;
162
181
  let lastText = '';
163
182
  let usedModel = model;
183
+ /* PND-065 -- early-stop ante fallos repetidos del mismo verbo.
184
+ * En la sesion Yuemail 2026-06-10 un verbo que no podia
185
+ * completarse (crear una tab del pizarron, imposible en ese
186
+ * modo) se reintento hasta agotar las 38 rondas sin avanzar.
187
+ * Si el mismo verbo devuelve is_error en STREAK_LIMIT rondas
188
+ * consecutivas, cortamos con un cierre honesto en vez de quemar
189
+ * el presupuesto entero. */
190
+ const STREAK_LIMIT = 4;
191
+ let lastFailVerb = null;
192
+ let failStreak = 0;
164
193
  for (let round = 0; round <= maxRounds; round++) {
165
194
  const body = {
166
195
  model,
@@ -178,14 +207,28 @@ export class ClaudeClient {
178
207
  * the cache invalidates and the next turn rewrites it; the
179
208
  * TTL covers the typical multi-turn session.
180
209
  * Minimum cacheable prefix is 1024 tokens for sonnet/opus
181
- * and 2048 for haiku; our payload exceeds both. */
182
- body['system'] = [
210
+ * and 2048 for haiku; our payload exceeds both.
211
+ *
212
+ * alpha.59z.163 PND-027 -- when the caller supplies a
213
+ * `systemDynamic` suffix, emit it as a SECOND uncached block
214
+ * so the stable prefix keeps hitting the cache turn after
215
+ * turn. The dynamic suffix is typically a relevance-ranked
216
+ * graph snippet or workflow phase that changes per round;
217
+ * bundling it into the same cached block would invalidate
218
+ * the prefix every turn. Director sprint #11 burned 1.8M
219
+ * tokens re-injecting a ~9KB spec on every iteration -- the
220
+ * same shape applies to user-side BYOK multi-turn sessions. */
221
+ const systemBlocks = [
183
222
  {
184
223
  type: 'text',
185
224
  text: req.system,
186
225
  cache_control: { type: 'ephemeral' },
187
226
  },
188
227
  ];
228
+ if (req.systemDynamic && req.systemDynamic.length > 0) {
229
+ systemBlocks.push({ type: 'text', text: req.systemDynamic });
230
+ }
231
+ body['system'] = systemBlocks;
189
232
  }
190
233
  if (req.tools && req.tools.length > 0) {
191
234
  body['tools'] = req.tools.map((t) => ({
@@ -208,26 +251,92 @@ export class ClaudeClient {
208
251
  throw new ClaudeApiError('Claude API ' + resp.status + ': ' + detail.slice(0, 500), resp.status);
209
252
  }
210
253
  const data = await resp.json();
211
- totalTokensIn += data.usage?.input_tokens ?? 0;
212
- totalTokensOut += data.usage?.output_tokens ?? 0;
254
+ const roundIn = data.usage?.input_tokens ?? 0;
255
+ const roundOut = data.usage?.output_tokens ?? 0;
256
+ totalTokensIn += roundIn;
257
+ totalTokensOut += roundOut;
213
258
  usedModel = data.model ?? model;
259
+ /* Best-effort telemetry. Fire-and-forget; failures inside
260
+ recordUsage are already swallowed. */
261
+ void recordUsage({
262
+ kind: req.usageKind ?? 'claude.chat',
263
+ model: usedModel,
264
+ tokens_in: roundIn,
265
+ tokens_out: roundOut,
266
+ label: req.usageLabel,
267
+ project_root: req.projectRoot,
268
+ });
214
269
  const blocks = data.content ?? [];
215
270
  const textBlocks = blocks.filter((b) => b.type === 'text');
216
271
  const toolUses = blocks.filter((b) => b.type === 'tool_use');
217
272
  lastText = textBlocks.map((b) => b.text).join('');
218
273
  if (toolUses.length === 0 || data.stop_reason !== 'tool_use') {
219
274
  /* No tools called -- return whatever the model said. */
275
+ /* alpha.59z.14 F104 -- detect truncation: output_tokens
276
+ * within TRUNCATION_MARGIN of max_tokens OR provider says
277
+ * stop_reason=max_tokens|length. Provider-agnostic
278
+ * arithmetic-first per Pablo's design. */
279
+ const { detectTruncation } = await import('../core/truncation_detector.js');
280
+ const trunc = detectTruncation({
281
+ output_tokens: roundOut,
282
+ max_tokens: maxTokens,
283
+ stop_reason: data.stop_reason,
284
+ });
220
285
  return {
221
286
  text: lastText,
222
287
  tokensIn: totalTokensIn,
223
288
  tokensOut: totalTokensOut,
224
289
  model: usedModel,
225
290
  toolRounds,
291
+ truncation: trunc.truncated ? {
292
+ truncated: true,
293
+ reason: trunc.reason,
294
+ output_tokens: trunc.output_tokens,
295
+ max_tokens: trunc.max_tokens,
296
+ } : undefined,
226
297
  };
227
298
  }
299
+ /* alpha.59c -- detect verb family from first tool_use, raise
300
+ * cap for reader/search/writer turns. Only grows. */
301
+ if (familyResolved === null && toolUses.length > 0) {
302
+ const first = toolUses[0];
303
+ if (first) {
304
+ const firstVerb = first.input.verb_id || first.name || '';
305
+ const family = classifyVerbFamily(firstVerb);
306
+ familyResolved = family;
307
+ /* Only auto-bump the cap when the caller did NOT pin
308
+ * it. Explicit req.maxToolRounds is the caller's
309
+ * contract -- preserving it keeps tests + callers
310
+ * predictable. */
311
+ if (!callerSpecifiedCap) {
312
+ const familyCap = getMaxToolRoundsForFamily(limits.max_tool_rounds, family);
313
+ if (familyCap > maxRounds)
314
+ maxRounds = familyCap;
315
+ }
316
+ }
317
+ }
228
318
  if (round === maxRounds) {
229
- throw new ClaudeApiError('tool_use loop exhausted (' + maxRounds + ' rounds). Last text: '
230
- + (lastText ? lastText.slice(0, 200) : '(none)'), 429);
319
+ /* alpha.59c -- graceful exhaustion. Return what we have
320
+ * with a helpful summary instead of throwing. The caller
321
+ * (server.ts handleChat) treats this like any other
322
+ * reply; the panel shows it with a "loop exhausted"
323
+ * badge. */
324
+ const firstTu = toolUses[0];
325
+ const lastVerb = firstTu
326
+ ? (firstTu.input.verb_id || firstTu.name || 'unknown')
327
+ : 'unknown';
328
+ const summary = (lastText ? lastText + '\n\n' : '') +
329
+ '[Alcance el limite de rondas (' + maxRounds + '/' + maxRounds + ') ' +
330
+ 'en esta tarea (familia=' + (familyResolved ?? 'default') + ', ultimo verbo=' + lastVerb + '). ' +
331
+ 'Decime "continua" y sigo desde aca, o sube el cap en yf limits set max_tool_rounds.' +
332
+ (familyResolved ?? 'default') + ' <N>.]';
333
+ return {
334
+ text: summary,
335
+ tokensIn: totalTokensIn,
336
+ tokensOut: totalTokensOut,
337
+ model: usedModel,
338
+ toolRounds,
339
+ };
231
340
  }
232
341
  /* Persist the assistant turn (text + tool_use blocks) so
233
342
  Anthropic sees the full history on the next round. */
@@ -235,6 +344,8 @@ export class ClaudeClient {
235
344
  /* Dispatch each tool_use, build the user follow-up with one
236
345
  tool_result per call. */
237
346
  const toolResultBlocks = [];
347
+ let roundAllErrors = toolUses.length > 0;
348
+ let roundVerb = null;
238
349
  for (const tu of toolUses) {
239
350
  const r = await req.runTool(tu.name, tu.input);
240
351
  toolRounds.push({
@@ -250,6 +361,35 @@ export class ClaudeClient {
250
361
  content: typeof r.result === 'string' ? r.result : JSON.stringify(r.result),
251
362
  ...(r.is_error ? { is_error: true } : {}),
252
363
  });
364
+ if (!r.is_error)
365
+ roundAllErrors = false;
366
+ const verbId = tu.input.verb_id || tu.name;
367
+ if (roundVerb === null)
368
+ roundVerb = verbId;
369
+ }
370
+ /* PND-065 -- contabilizar racha de fallos del mismo verbo. */
371
+ if (roundAllErrors && roundVerb !== null) {
372
+ failStreak = roundVerb === lastFailVerb ? failStreak + 1 : 1;
373
+ lastFailVerb = roundVerb;
374
+ }
375
+ else {
376
+ failStreak = 0;
377
+ lastFailVerb = null;
378
+ }
379
+ if (failStreak >= STREAK_LIMIT) {
380
+ const summary = (lastText ? lastText + '\n\n' : '') +
381
+ '[Me detuve: el verbo "' + lastFailVerb + '" fallo ' + failStreak +
382
+ ' veces seguidas y no estaba avanzando. Asi evito gastar el ' +
383
+ 'presupuesto de la tarea repitiendo lo mismo. Contame que ' +
384
+ 'querias lograr y busco otra via, o revisa el detalle del ' +
385
+ 'error en Activity.]';
386
+ return {
387
+ text: summary,
388
+ tokensIn: totalTokensIn,
389
+ tokensOut: totalTokensOut,
390
+ model: usedModel,
391
+ toolRounds,
392
+ };
253
393
  }
254
394
  messages.push({ role: 'user', content: toolResultBlocks });
255
395
  }
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/chat/claude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../src/chat/claude.ts"],"names":[],"mappings":"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"}