@nac3/forge-cli 0.2.0-alpha.8 → 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 (1052) 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 +3881 -337
  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/audit_consumers.d.ts +66 -0
  141. package/dist/chat/tools/audit_consumers.d.ts.map +1 -0
  142. package/dist/chat/tools/audit_consumers.js +231 -0
  143. package/dist/chat/tools/audit_consumers.js.map +1 -0
  144. package/dist/chat/tools/fs_editor.d.ts +11 -0
  145. package/dist/chat/tools/fs_editor.d.ts.map +1 -0
  146. package/dist/chat/tools/fs_editor.js +162 -0
  147. package/dist/chat/tools/fs_editor.js.map +1 -0
  148. package/dist/chat/tools/git.d.ts +24 -0
  149. package/dist/chat/tools/git.d.ts.map +1 -1
  150. package/dist/chat/tools/git.js +78 -0
  151. package/dist/chat/tools/git.js.map +1 -1
  152. package/dist/chat/tools/graph.d.ts +43 -0
  153. package/dist/chat/tools/graph.d.ts.map +1 -0
  154. package/dist/chat/tools/graph.js +174 -0
  155. package/dist/chat/tools/graph.js.map +1 -0
  156. package/dist/chat/tools/keys.d.ts +9 -0
  157. package/dist/chat/tools/keys.d.ts.map +1 -0
  158. package/dist/chat/tools/keys.js +169 -0
  159. package/dist/chat/tools/keys.js.map +1 -0
  160. package/dist/chat/tools/misc_verbs.d.ts +36 -0
  161. package/dist/chat/tools/misc_verbs.d.ts.map +1 -0
  162. package/dist/chat/tools/misc_verbs.js +405 -0
  163. package/dist/chat/tools/misc_verbs.js.map +1 -0
  164. package/dist/chat/tools/nac3_invoke.d.ts +58 -0
  165. package/dist/chat/tools/nac3_invoke.d.ts.map +1 -0
  166. package/dist/chat/tools/nac3_invoke.js +887 -0
  167. package/dist/chat/tools/nac3_invoke.js.map +1 -0
  168. package/dist/chat/tools/pending.d.ts +69 -0
  169. package/dist/chat/tools/pending.d.ts.map +1 -0
  170. package/dist/chat/tools/pending.js +167 -0
  171. package/dist/chat/tools/pending.js.map +1 -0
  172. package/dist/chat/tools/pizarron.d.ts +40 -0
  173. package/dist/chat/tools/pizarron.d.ts.map +1 -0
  174. package/dist/chat/tools/pizarron.js +123 -0
  175. package/dist/chat/tools/pizarron.js.map +1 -0
  176. package/dist/chat/tools/project_lifecycle.d.ts +24 -0
  177. package/dist/chat/tools/project_lifecycle.d.ts.map +1 -0
  178. package/dist/chat/tools/project_lifecycle.js +212 -0
  179. package/dist/chat/tools/project_lifecycle.js.map +1 -0
  180. package/dist/chat/tools/reader.d.ts.map +1 -1
  181. package/dist/chat/tools/reader.js +144 -1
  182. package/dist/chat/tools/reader.js.map +1 -1
  183. package/dist/chat/tools/shell.d.ts +58 -0
  184. package/dist/chat/tools/shell.d.ts.map +1 -0
  185. package/dist/chat/tools/shell.js +253 -0
  186. package/dist/chat/tools/shell.js.map +1 -0
  187. package/dist/chat/tools/wiring.d.ts +28 -0
  188. package/dist/chat/tools/wiring.d.ts.map +1 -0
  189. package/dist/chat/tools/wiring.js +116 -0
  190. package/dist/chat/tools/wiring.js.map +1 -0
  191. package/dist/chat/tools/workflow.d.ts +55 -0
  192. package/dist/chat/tools/workflow.d.ts.map +1 -0
  193. package/dist/chat/tools/workflow.js +463 -0
  194. package/dist/chat/tools/workflow.js.map +1 -0
  195. package/dist/chat/tools.d.ts +42 -0
  196. package/dist/chat/tools.d.ts.map +1 -1
  197. package/dist/chat/tools.js +451 -13
  198. package/dist/chat/tools.js.map +1 -1
  199. package/dist/chat/wiring_inject.d.ts +18 -0
  200. package/dist/chat/wiring_inject.d.ts.map +1 -0
  201. package/dist/chat/wiring_inject.js +78 -0
  202. package/dist/chat/wiring_inject.js.map +1 -0
  203. package/dist/chat/workflow_inject.d.ts +52 -0
  204. package/dist/chat/workflow_inject.d.ts.map +1 -0
  205. package/dist/chat/workflow_inject.js +346 -0
  206. package/dist/chat/workflow_inject.js.map +1 -0
  207. package/dist/chat/yujin_splash.d.ts +27 -0
  208. package/dist/chat/yujin_splash.d.ts.map +1 -0
  209. package/dist/chat/yujin_splash.js +147 -0
  210. package/dist/chat/yujin_splash.js.map +1 -0
  211. package/dist/commands/agent.d.ts +33 -0
  212. package/dist/commands/agent.d.ts.map +1 -0
  213. package/dist/commands/agent.js +281 -0
  214. package/dist/commands/agent.js.map +1 -0
  215. package/dist/commands/approve.d.ts +32 -0
  216. package/dist/commands/approve.d.ts.map +1 -0
  217. package/dist/commands/approve.js +198 -0
  218. package/dist/commands/approve.js.map +1 -0
  219. package/dist/commands/block.d.ts +28 -0
  220. package/dist/commands/block.d.ts.map +1 -0
  221. package/dist/commands/block.js +189 -0
  222. package/dist/commands/block.js.map +1 -0
  223. package/dist/commands/bootstrap.d.ts +35 -0
  224. package/dist/commands/bootstrap.d.ts.map +1 -0
  225. package/dist/commands/bootstrap.js +205 -0
  226. package/dist/commands/bootstrap.js.map +1 -0
  227. package/dist/commands/brain.d.ts +17 -0
  228. package/dist/commands/brain.d.ts.map +1 -0
  229. package/dist/commands/brain.js +129 -0
  230. package/dist/commands/brain.js.map +1 -0
  231. package/dist/commands/chat.d.ts +10 -0
  232. package/dist/commands/chat.d.ts.map +1 -1
  233. package/dist/commands/chat.js +209 -17
  234. package/dist/commands/chat.js.map +1 -1
  235. package/dist/commands/clarify.d.ts +30 -0
  236. package/dist/commands/clarify.d.ts.map +1 -0
  237. package/dist/commands/clarify.js +671 -0
  238. package/dist/commands/clarify.js.map +1 -0
  239. package/dist/commands/director.d.ts +37 -0
  240. package/dist/commands/director.d.ts.map +1 -0
  241. package/dist/commands/director.js +290 -0
  242. package/dist/commands/director.js.map +1 -0
  243. package/dist/commands/discover.d.ts +30 -0
  244. package/dist/commands/discover.d.ts.map +1 -0
  245. package/dist/commands/discover.js +178 -0
  246. package/dist/commands/discover.js.map +1 -0
  247. package/dist/commands/doctor.d.ts +18 -0
  248. package/dist/commands/doctor.d.ts.map +1 -1
  249. package/dist/commands/doctor.js +120 -4
  250. package/dist/commands/doctor.js.map +1 -1
  251. package/dist/commands/doctrine.d.ts +24 -0
  252. package/dist/commands/doctrine.d.ts.map +1 -0
  253. package/dist/commands/doctrine.js +106 -0
  254. package/dist/commands/doctrine.js.map +1 -0
  255. package/dist/commands/doctrines.d.ts +21 -0
  256. package/dist/commands/doctrines.d.ts.map +1 -0
  257. package/dist/commands/doctrines.js +158 -0
  258. package/dist/commands/doctrines.js.map +1 -0
  259. package/dist/commands/graph.d.ts +29 -0
  260. package/dist/commands/graph.d.ts.map +1 -0
  261. package/dist/commands/graph.js +362 -0
  262. package/dist/commands/graph.js.map +1 -0
  263. package/dist/commands/keys_setup.d.ts +18 -0
  264. package/dist/commands/keys_setup.d.ts.map +1 -1
  265. package/dist/commands/keys_setup.js +225 -11
  266. package/dist/commands/keys_setup.js.map +1 -1
  267. package/dist/commands/legacy-audit.d.ts +34 -0
  268. package/dist/commands/legacy-audit.d.ts.map +1 -0
  269. package/dist/commands/legacy-audit.js +270 -0
  270. package/dist/commands/legacy-audit.js.map +1 -0
  271. package/dist/commands/lessons.d.ts +28 -0
  272. package/dist/commands/lessons.d.ts.map +1 -0
  273. package/dist/commands/lessons.js +309 -0
  274. package/dist/commands/lessons.js.map +1 -0
  275. package/dist/commands/license.d.ts.map +1 -1
  276. package/dist/commands/license.js +56 -1
  277. package/dist/commands/license.js.map +1 -1
  278. package/dist/commands/limits.d.ts +15 -0
  279. package/dist/commands/limits.d.ts.map +1 -0
  280. package/dist/commands/limits.js +51 -0
  281. package/dist/commands/limits.js.map +1 -0
  282. package/dist/commands/manifest-cli.d.ts +12 -0
  283. package/dist/commands/manifest-cli.d.ts.map +1 -0
  284. package/dist/commands/manifest-cli.js +42 -0
  285. package/dist/commands/manifest-cli.js.map +1 -0
  286. package/dist/commands/mcp.d.ts +24 -0
  287. package/dist/commands/mcp.d.ts.map +1 -0
  288. package/dist/commands/mcp.js +163 -0
  289. package/dist/commands/mcp.js.map +1 -0
  290. package/dist/commands/mobile.d.ts +15 -0
  291. package/dist/commands/mobile.d.ts.map +1 -1
  292. package/dist/commands/mobile.js +27 -24
  293. package/dist/commands/mobile.js.map +1 -1
  294. package/dist/commands/nac3.d.ts +22 -0
  295. package/dist/commands/nac3.d.ts.map +1 -0
  296. package/dist/commands/nac3.js +125 -0
  297. package/dist/commands/nac3.js.map +1 -0
  298. package/dist/commands/operate.d.ts +22 -0
  299. package/dist/commands/operate.d.ts.map +1 -0
  300. package/dist/commands/operate.js +523 -0
  301. package/dist/commands/operate.js.map +1 -0
  302. package/dist/commands/pending.d.ts +22 -0
  303. package/dist/commands/pending.d.ts.map +1 -0
  304. package/dist/commands/pending.js +341 -0
  305. package/dist/commands/pending.js.map +1 -0
  306. package/dist/commands/qa.d.ts +24 -0
  307. package/dist/commands/qa.d.ts.map +1 -0
  308. package/dist/commands/qa.js +349 -0
  309. package/dist/commands/qa.js.map +1 -0
  310. package/dist/commands/spec.d.ts +38 -0
  311. package/dist/commands/spec.d.ts.map +1 -0
  312. package/dist/commands/spec.js +256 -0
  313. package/dist/commands/spec.js.map +1 -0
  314. package/dist/commands/support.d.ts +22 -0
  315. package/dist/commands/support.d.ts.map +1 -0
  316. package/dist/commands/support.js +165 -0
  317. package/dist/commands/support.js.map +1 -0
  318. package/dist/commands/test_agent.d.ts +22 -0
  319. package/dist/commands/test_agent.d.ts.map +1 -0
  320. package/dist/commands/test_agent.js +100 -0
  321. package/dist/commands/test_agent.js.map +1 -0
  322. package/dist/commands/triage.d.ts +34 -0
  323. package/dist/commands/triage.d.ts.map +1 -0
  324. package/dist/commands/triage.js +228 -0
  325. package/dist/commands/triage.js.map +1 -0
  326. package/dist/commands/vault-inventory.d.ts +30 -0
  327. package/dist/commands/vault-inventory.d.ts.map +1 -0
  328. package/dist/commands/vault-inventory.js +222 -0
  329. package/dist/commands/vault-inventory.js.map +1 -0
  330. package/dist/commands/vault.d.ts.map +1 -1
  331. package/dist/commands/vault.js +5 -0
  332. package/dist/commands/vault.js.map +1 -1
  333. package/dist/commands/voice.d.ts.map +1 -1
  334. package/dist/commands/voice.js +47 -4
  335. package/dist/commands/voice.js.map +1 -1
  336. package/dist/commands/wiring.d.ts +19 -0
  337. package/dist/commands/wiring.d.ts.map +1 -0
  338. package/dist/commands/wiring.js +135 -0
  339. package/dist/commands/wiring.js.map +1 -0
  340. package/dist/commands/workflow-coverage.d.ts +30 -0
  341. package/dist/commands/workflow-coverage.d.ts.map +1 -0
  342. package/dist/commands/workflow-coverage.js +138 -0
  343. package/dist/commands/workflow-coverage.js.map +1 -0
  344. package/dist/core/ansi_strip.d.ts +39 -0
  345. package/dist/core/ansi_strip.d.ts.map +1 -0
  346. package/dist/core/ansi_strip.js +71 -0
  347. package/dist/core/ansi_strip.js.map +1 -0
  348. package/dist/core/atomic_write.d.ts +17 -0
  349. package/dist/core/atomic_write.d.ts.map +1 -0
  350. package/dist/core/atomic_write.js +51 -0
  351. package/dist/core/atomic_write.js.map +1 -0
  352. package/dist/core/audit_log.d.ts +43 -0
  353. package/dist/core/audit_log.d.ts.map +1 -0
  354. package/dist/core/audit_log.js +80 -0
  355. package/dist/core/audit_log.js.map +1 -0
  356. package/dist/core/brain_config.d.ts +50 -0
  357. package/dist/core/brain_config.d.ts.map +1 -0
  358. package/dist/core/brain_config.js +142 -0
  359. package/dist/core/brain_config.js.map +1 -0
  360. package/dist/core/budget.d.ts +96 -0
  361. package/dist/core/budget.d.ts.map +1 -0
  362. package/dist/core/budget.js +328 -0
  363. package/dist/core/budget.js.map +1 -0
  364. package/dist/core/cost_meter.d.ts +35 -0
  365. package/dist/core/cost_meter.d.ts.map +1 -0
  366. package/dist/core/cost_meter.js +111 -0
  367. package/dist/core/cost_meter.js.map +1 -0
  368. package/dist/core/cost_router.d.ts +106 -0
  369. package/dist/core/cost_router.d.ts.map +1 -0
  370. package/dist/core/cost_router.js +589 -0
  371. package/dist/core/cost_router.js.map +1 -0
  372. package/dist/core/doctrine_resolver.d.ts +23 -0
  373. package/dist/core/doctrine_resolver.d.ts.map +1 -0
  374. package/dist/core/doctrine_resolver.js +108 -0
  375. package/dist/core/doctrine_resolver.js.map +1 -0
  376. package/dist/core/error_catalog.d.ts +80 -0
  377. package/dist/core/error_catalog.d.ts.map +1 -0
  378. package/dist/core/error_catalog.js +168 -0
  379. package/dist/core/error_catalog.js.map +1 -0
  380. package/dist/core/error_formatter.d.ts +30 -0
  381. package/dist/core/error_formatter.d.ts.map +1 -0
  382. package/dist/core/error_formatter.js +155 -0
  383. package/dist/core/error_formatter.js.map +1 -0
  384. package/dist/core/incomplete_detector.d.ts +51 -0
  385. package/dist/core/incomplete_detector.d.ts.map +1 -0
  386. package/dist/core/incomplete_detector.js +140 -0
  387. package/dist/core/incomplete_detector.js.map +1 -0
  388. package/dist/core/keys_envelope.d.ts.map +1 -1
  389. package/dist/core/keys_envelope.js +14 -9
  390. package/dist/core/keys_envelope.js.map +1 -1
  391. package/dist/core/learnings_client.d.ts +104 -0
  392. package/dist/core/learnings_client.d.ts.map +1 -0
  393. package/dist/core/learnings_client.js +262 -0
  394. package/dist/core/learnings_client.js.map +1 -0
  395. package/dist/core/limits_config.d.ts +76 -0
  396. package/dist/core/limits_config.d.ts.map +1 -0
  397. package/dist/core/limits_config.js +297 -0
  398. package/dist/core/limits_config.js.map +1 -0
  399. package/dist/core/pairing.d.ts +1 -0
  400. package/dist/core/pairing.d.ts.map +1 -1
  401. package/dist/core/pairing.js +23 -12
  402. package/dist/core/pairing.js.map +1 -1
  403. package/dist/core/pilot_setup.d.ts +29 -3
  404. package/dist/core/pilot_setup.d.ts.map +1 -1
  405. package/dist/core/pilot_setup.js +130 -3
  406. package/dist/core/pilot_setup.js.map +1 -1
  407. package/dist/core/provider_keys.d.ts +35 -0
  408. package/dist/core/provider_keys.d.ts.map +1 -0
  409. package/dist/core/provider_keys.js +267 -0
  410. package/dist/core/provider_keys.js.map +1 -0
  411. package/dist/core/provider_models.d.ts +27 -0
  412. package/dist/core/provider_models.d.ts.map +1 -0
  413. package/dist/core/provider_models.js +169 -0
  414. package/dist/core/provider_models.js.map +1 -0
  415. package/dist/core/reasoning_gate.d.ts +72 -0
  416. package/dist/core/reasoning_gate.d.ts.map +1 -0
  417. package/dist/core/reasoning_gate.js +205 -0
  418. package/dist/core/reasoning_gate.js.map +1 -0
  419. package/dist/core/shell_classifier.d.ts +49 -0
  420. package/dist/core/shell_classifier.d.ts.map +1 -0
  421. package/dist/core/shell_classifier.js +159 -0
  422. package/dist/core/shell_classifier.js.map +1 -0
  423. package/dist/core/sq_resolver.d.ts +14 -0
  424. package/dist/core/sq_resolver.d.ts.map +1 -0
  425. package/dist/core/sq_resolver.js +230 -0
  426. package/dist/core/sq_resolver.js.map +1 -0
  427. package/dist/core/truncation_detector.d.ts +68 -0
  428. package/dist/core/truncation_detector.d.ts.map +1 -0
  429. package/dist/core/truncation_detector.js +115 -0
  430. package/dist/core/truncation_detector.js.map +1 -0
  431. package/dist/core/turn_classifier.d.ts +70 -0
  432. package/dist/core/turn_classifier.d.ts.map +1 -0
  433. package/dist/core/turn_classifier.js +324 -0
  434. package/dist/core/turn_classifier.js.map +1 -0
  435. package/dist/core/vad_config.d.ts +34 -0
  436. package/dist/core/vad_config.d.ts.map +1 -0
  437. package/dist/core/vad_config.js +95 -0
  438. package/dist/core/vad_config.js.map +1 -0
  439. package/dist/core/whats_new.d.ts +42 -0
  440. package/dist/core/whats_new.d.ts.map +1 -0
  441. package/dist/core/whats_new.js +214 -0
  442. package/dist/core/whats_new.js.map +1 -0
  443. package/dist/core/wizard_state.d.ts +15 -0
  444. package/dist/core/wizard_state.d.ts.map +1 -0
  445. package/dist/core/wizard_state.js +86 -0
  446. package/dist/core/wizard_state.js.map +1 -0
  447. package/dist/deploy/adapter.d.ts +93 -0
  448. package/dist/deploy/adapter.d.ts.map +1 -0
  449. package/dist/deploy/adapter.js +42 -0
  450. package/dist/deploy/adapter.js.map +1 -0
  451. package/dist/deploy/aws_adapter.d.ts +28 -0
  452. package/dist/deploy/aws_adapter.d.ts.map +1 -0
  453. package/dist/deploy/aws_adapter.js +98 -0
  454. package/dist/deploy/aws_adapter.js.map +1 -0
  455. package/dist/deploy/cloudflare.d.ts +24 -0
  456. package/dist/deploy/cloudflare.d.ts.map +1 -0
  457. package/dist/deploy/cloudflare.js +169 -0
  458. package/dist/deploy/cloudflare.js.map +1 -0
  459. package/dist/design/yujin_design_resolver.d.ts +77 -0
  460. package/dist/design/yujin_design_resolver.d.ts.map +1 -0
  461. package/dist/design/yujin_design_resolver.js +113 -0
  462. package/dist/design/yujin_design_resolver.js.map +1 -0
  463. package/dist/docs/LIMITED_RESPONSIBILITY.md +216 -0
  464. package/dist/docs/PRIVACY_POLICY.md +169 -0
  465. package/dist/docs/SQ.md +1397 -0
  466. package/dist/docs/SQ_BY_STEP.yaml +147 -0
  467. package/dist/docs/doctrine/accessibility.md +78 -0
  468. package/dist/docs/doctrine/agent-orchestrator.md +76 -0
  469. package/dist/docs/doctrine/byok-vs-managed.md +81 -0
  470. package/dist/docs/doctrine/cost-router-escalation.md +103 -0
  471. package/dist/docs/doctrine/default-design-system.md +120 -0
  472. package/dist/docs/doctrine/explain-results.md +90 -0
  473. package/dist/docs/doctrine/expo-eas-builds.md +177 -0
  474. package/dist/docs/doctrine/g-doc.md +46 -0
  475. package/dist/docs/doctrine/gates.md +21 -0
  476. package/dist/docs/doctrine/language-sovereignty.md +143 -0
  477. package/dist/docs/doctrine/lessons-workflow.md +68 -0
  478. package/dist/docs/doctrine/mcp-bridge-lifecycle.md +75 -0
  479. package/dist/docs/doctrine/nac3-attrs.md +23 -0
  480. package/dist/docs/doctrine/office-tools.md +102 -0
  481. package/dist/docs/doctrine/pizarron.md +52 -0
  482. package/dist/docs/doctrine/r8-modal.md +60 -0
  483. package/dist/docs/doctrine/safety-refusals.md +73 -0
  484. package/dist/docs/doctrine/testing-policy.md +211 -0
  485. package/dist/docs/doctrine/verb-composition.md +68 -0
  486. package/dist/docs/doctrine/verification-honesty.md +95 -0
  487. package/dist/docs/doctrine/workflow-kinds.md +52 -0
  488. package/dist/docs/doctrine/workflow-phases.md +108 -0
  489. package/dist/docs/doctrine/workflow.md +58 -0
  490. package/dist/docs/doctrine/yf-commands.md +49 -0
  491. package/dist/json/query.d.ts +38 -0
  492. package/dist/json/query.d.ts.map +1 -0
  493. package/dist/json/query.js +177 -0
  494. package/dist/json/query.js.map +1 -0
  495. package/dist/license/hito4_client.d.ts +7 -0
  496. package/dist/license/hito4_client.d.ts.map +1 -1
  497. package/dist/license/hito4_client.js +52 -2
  498. package/dist/license/hito4_client.js.map +1 -1
  499. package/dist/license/index.d.ts.map +1 -1
  500. package/dist/license/index.js +7 -0
  501. package/dist/license/index.js.map +1 -1
  502. package/dist/license/sync.d.ts +59 -0
  503. package/dist/license/sync.d.ts.map +1 -0
  504. package/dist/license/sync.js +148 -0
  505. package/dist/license/sync.js.map +1 -0
  506. package/dist/llm/cohere_client.d.ts +81 -0
  507. package/dist/llm/cohere_client.d.ts.map +1 -0
  508. package/dist/llm/cohere_client.js +195 -0
  509. package/dist/llm/cohere_client.js.map +1 -0
  510. package/dist/llm/deepseek_client.d.ts +63 -0
  511. package/dist/llm/deepseek_client.d.ts.map +1 -0
  512. package/dist/llm/deepseek_client.js +188 -0
  513. package/dist/llm/deepseek_client.js.map +1 -0
  514. package/dist/llm/gemini_client.d.ts +78 -0
  515. package/dist/llm/gemini_client.d.ts.map +1 -0
  516. package/dist/llm/gemini_client.js +189 -0
  517. package/dist/llm/gemini_client.js.map +1 -0
  518. package/dist/llm/managed_client.d.ts +70 -0
  519. package/dist/llm/managed_client.d.ts.map +1 -0
  520. package/dist/llm/managed_client.js +251 -0
  521. package/dist/llm/managed_client.js.map +1 -0
  522. package/dist/llm/mistral_client.d.ts +54 -0
  523. package/dist/llm/mistral_client.d.ts.map +1 -0
  524. package/dist/llm/mistral_client.js +174 -0
  525. package/dist/llm/mistral_client.js.map +1 -0
  526. package/dist/llm/multi_provider_client.d.ts +57 -0
  527. package/dist/llm/multi_provider_client.d.ts.map +1 -0
  528. package/dist/llm/multi_provider_client.js +109 -0
  529. package/dist/llm/multi_provider_client.js.map +1 -0
  530. package/dist/llm/openai_client.d.ts +77 -0
  531. package/dist/llm/openai_client.d.ts.map +1 -0
  532. package/dist/llm/openai_client.js +200 -0
  533. package/dist/llm/openai_client.js.map +1 -0
  534. package/dist/llm/xai_client.d.ts +51 -0
  535. package/dist/llm/xai_client.d.ts.map +1 -0
  536. package/dist/llm/xai_client.js +174 -0
  537. package/dist/llm/xai_client.js.map +1 -0
  538. package/dist/mcp/blocklist.d.ts +19 -0
  539. package/dist/mcp/blocklist.d.ts.map +1 -0
  540. package/dist/mcp/blocklist.js +118 -0
  541. package/dist/mcp/blocklist.js.map +1 -0
  542. package/dist/mcp/bridge_registry.d.ts +77 -0
  543. package/dist/mcp/bridge_registry.d.ts.map +1 -0
  544. package/dist/mcp/bridge_registry.js +220 -0
  545. package/dist/mcp/bridge_registry.js.map +1 -0
  546. package/dist/mcp/config.d.ts +25 -0
  547. package/dist/mcp/config.d.ts.map +1 -0
  548. package/dist/mcp/config.js +116 -0
  549. package/dist/mcp/config.js.map +1 -0
  550. package/dist/mcp/forge_panel_server.d.ts +46 -0
  551. package/dist/mcp/forge_panel_server.d.ts.map +1 -0
  552. package/dist/mcp/forge_panel_server.js +166 -0
  553. package/dist/mcp/forge_panel_server.js.map +1 -0
  554. package/dist/mcp/lan_scan.d.ts +36 -0
  555. package/dist/mcp/lan_scan.d.ts.map +1 -0
  556. package/dist/mcp/lan_scan.js +130 -0
  557. package/dist/mcp/lan_scan.js.map +1 -0
  558. package/dist/mcp/protocol_client.d.ts +63 -0
  559. package/dist/mcp/protocol_client.d.ts.map +1 -0
  560. package/dist/mcp/protocol_client.js +340 -0
  561. package/dist/mcp/protocol_client.js.map +1 -0
  562. package/dist/mcp/state.d.ts +38 -0
  563. package/dist/mcp/state.d.ts.map +1 -0
  564. package/dist/mcp/state.js +144 -0
  565. package/dist/mcp/state.js.map +1 -0
  566. package/dist/migrate/ai-decorator.d.ts.map +1 -1
  567. package/dist/migrate/ai-decorator.js +55 -143
  568. package/dist/migrate/ai-decorator.js.map +1 -1
  569. package/dist/nac3/approval_queue.d.ts +44 -0
  570. package/dist/nac3/approval_queue.d.ts.map +1 -0
  571. package/dist/nac3/approval_queue.js +105 -0
  572. package/dist/nac3/approval_queue.js.map +1 -0
  573. package/dist/nac3/backend_tools.d.ts +89 -0
  574. package/dist/nac3/backend_tools.d.ts.map +1 -0
  575. package/dist/nac3/backend_tools.js +271 -0
  576. package/dist/nac3/backend_tools.js.map +1 -0
  577. package/dist/nac3/dispatch_log.d.ts +35 -0
  578. package/dist/nac3/dispatch_log.d.ts.map +1 -0
  579. package/dist/nac3/dispatch_log.js +126 -0
  580. package/dist/nac3/dispatch_log.js.map +1 -0
  581. package/dist/nac3/internal_manifest.d.ts +62 -0
  582. package/dist/nac3/internal_manifest.d.ts.map +1 -0
  583. package/dist/nac3/internal_manifest.js +2461 -0
  584. package/dist/nac3/internal_manifest.js.map +1 -0
  585. package/dist/nac3/manifest_lazy.d.ts +71 -0
  586. package/dist/nac3/manifest_lazy.d.ts.map +1 -0
  587. package/dist/nac3/manifest_lazy.js +141 -0
  588. package/dist/nac3/manifest_lazy.js.map +1 -0
  589. package/dist/nac3/verb_tier_map.d.ts +80 -0
  590. package/dist/nac3/verb_tier_map.d.ts.map +1 -0
  591. package/dist/nac3/verb_tier_map.js +159 -0
  592. package/dist/nac3/verb_tier_map.js.map +1 -0
  593. package/dist/office/excel.d.ts +132 -0
  594. package/dist/office/excel.d.ts.map +1 -0
  595. package/dist/office/excel.js +358 -0
  596. package/dist/office/excel.js.map +1 -0
  597. package/dist/office/pdf.d.ts +35 -0
  598. package/dist/office/pdf.d.ts.map +1 -0
  599. package/dist/office/pdf.js +70 -0
  600. package/dist/office/pdf.js.map +1 -0
  601. package/dist/office/word.d.ts +64 -0
  602. package/dist/office/word.d.ts.map +1 -0
  603. package/dist/office/word.js +243 -0
  604. package/dist/office/word.js.map +1 -0
  605. package/dist/pending/store.d.ts +72 -0
  606. package/dist/pending/store.d.ts.map +1 -0
  607. package/dist/pending/store.js +274 -0
  608. package/dist/pending/store.js.map +1 -0
  609. package/dist/pending/types.d.ts +111 -0
  610. package/dist/pending/types.d.ts.map +1 -0
  611. package/dist/pending/types.js +60 -0
  612. package/dist/pending/types.js.map +1 -0
  613. package/dist/qa/brain_matrix/ab_runner.d.ts +44 -0
  614. package/dist/qa/brain_matrix/ab_runner.d.ts.map +1 -0
  615. package/dist/qa/brain_matrix/ab_runner.js +144 -0
  616. package/dist/qa/brain_matrix/ab_runner.js.map +1 -0
  617. package/dist/qa/brain_matrix/brains.json +80 -0
  618. package/dist/qa/brain_matrix/compare.d.ts +27 -0
  619. package/dist/qa/brain_matrix/compare.d.ts.map +1 -0
  620. package/dist/qa/brain_matrix/compare.js +122 -0
  621. package/dist/qa/brain_matrix/compare.js.map +1 -0
  622. package/dist/qa/brain_matrix/fake_brain.d.ts +36 -0
  623. package/dist/qa/brain_matrix/fake_brain.d.ts.map +1 -0
  624. package/dist/qa/brain_matrix/fake_brain.js +27 -0
  625. package/dist/qa/brain_matrix/fake_brain.js.map +1 -0
  626. package/dist/qa/brain_matrix/fixtures/scenario_a11y_announce_intent.json +22 -0
  627. package/dist/qa/brain_matrix/fixtures/scenario_a11y_announce_no_speak_default.json +23 -0
  628. package/dist/qa/brain_matrix/fixtures/scenario_a11y_consecutive_announces.json +37 -0
  629. package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_action.json +22 -0
  630. package/dist/qa/brain_matrix/fixtures/scenario_a11y_focus_after_open.json +22 -0
  631. package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_unlabeled_button.json +26 -0
  632. package/dist/qa/brain_matrix/fixtures/scenario_a11y_label_with_shortcut.json +22 -0
  633. package/dist/qa/brain_matrix/fixtures/scenario_agent_director_consults_workflow_before_dispatch.json +42 -0
  634. package/dist/qa/brain_matrix/fixtures/scenario_analyst_extracts_then_returns.json +28 -0
  635. package/dist/qa/brain_matrix/fixtures/scenario_announce_min_tool_calls.json +23 -0
  636. package/dist/qa/brain_matrix/fixtures/scenario_app_invoke_happy_path.json +65 -0
  637. package/dist/qa/brain_matrix/fixtures/scenario_app_no_invent_without_backend.json +18 -0
  638. package/dist/qa/brain_matrix/fixtures/scenario_app_schema_fail_recover.json +48 -0
  639. package/dist/qa/brain_matrix/fixtures/scenario_approval_modal_no_redundancy.json +21 -0
  640. package/dist/qa/brain_matrix/fixtures/scenario_args_redacted_in_audit.json +17 -0
  641. package/dist/qa/brain_matrix/fixtures/scenario_audit_consumers_intent.json +19 -0
  642. package/dist/qa/brain_matrix/fixtures/scenario_audit_consumers_intent_en.json +19 -0
  643. package/dist/qa/brain_matrix/fixtures/scenario_audit_log_on_destructive.json +18 -0
  644. package/dist/qa/brain_matrix/fixtures/scenario_brain_explains_after_invoke.json +28 -0
  645. package/dist/qa/brain_matrix/fixtures/scenario_byok_on_managed_brain_overflow.json +28 -0
  646. package/dist/qa/brain_matrix/fixtures/scenario_byok_required_policy.json +35 -0
  647. package/dist/qa/brain_matrix/fixtures/scenario_coder_consults_nac_spec_before_writing.json +28 -0
  648. package/dist/qa/brain_matrix/fixtures/scenario_concise_no_loop.json +23 -0
  649. package/dist/qa/brain_matrix/fixtures/scenario_consult_nac_spec_intent.json +19 -0
  650. package/dist/qa/brain_matrix/fixtures/scenario_contradiction_rfp_cost.json +38 -0
  651. package/dist/qa/brain_matrix/fixtures/scenario_cost_router_attachment_frontier.json +24 -0
  652. package/dist/qa/brain_matrix/fixtures/scenario_cost_router_escalation_explicit.json +23 -0
  653. package/dist/qa/brain_matrix/fixtures/scenario_cost_router_idle_reset.json +24 -0
  654. package/dist/qa/brain_matrix/fixtures/scenario_csv_via_excel_read.json +22 -0
  655. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_override_shadcn.json +45 -0
  656. package/dist/qa/brain_matrix/fixtures/scenario_default_design_system_use_card_template.json +44 -0
  657. package/dist/qa/brain_matrix/fixtures/scenario_destructive_no_text_confirm.json +20 -0
  658. package/dist/qa/brain_matrix/fixtures/scenario_diff_explains_changes.json +32 -0
  659. package/dist/qa/brain_matrix/fixtures/scenario_director_delegates_to_analyst.json +26 -0
  660. package/dist/qa/brain_matrix/fixtures/scenario_director_no_self_delegation.json +20 -0
  661. package/dist/qa/brain_matrix/fixtures/scenario_director_terminal_done_marker.json +19 -0
  662. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_after_unknown_intent.json +17 -0
  663. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_a11y.json +24 -0
  664. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_agent_orchestrator.json +24 -0
  665. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_byok_vs_managed.json +24 -0
  666. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_cost_router.json +24 -0
  667. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_default_design_system.json +50 -0
  668. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_g_doc.json +24 -0
  669. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_gates.json +23 -0
  670. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_intent_en.json +19 -0
  671. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_language_sovereignty.json +53 -0
  672. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_lessons_workflow.json +24 -0
  673. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_mcp_lifecycle.json +24 -0
  674. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_nac3_attrs.json +24 -0
  675. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_office.json +24 -0
  676. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_pizarron.json +23 -0
  677. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_r8_modal.json +23 -0
  678. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_testing_policy.json +55 -0
  679. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_workflow.json +23 -0
  680. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_workflow_phases.json +24 -0
  681. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_discover_yf_commands.json +24 -0
  682. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_explain_results.json +22 -0
  683. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_safety_refusals.json +22 -0
  684. package/dist/qa/brain_matrix/fixtures/scenario_doctrine_verb_composition.json +22 -0
  685. package/dist/qa/brain_matrix/fixtures/scenario_eco_defers_complex.json +17 -0
  686. package/dist/qa/brain_matrix/fixtures/scenario_eco_short_query.json +27 -0
  687. package/dist/qa/brain_matrix/fixtures/scenario_env_list_intent.json +20 -0
  688. package/dist/qa/brain_matrix/fixtures/scenario_env_list_intent_en.json +20 -0
  689. package/dist/qa/brain_matrix/fixtures/scenario_env_no_secret_leak.json +21 -0
  690. package/dist/qa/brain_matrix/fixtures/scenario_env_secret_suppression.json +35 -0
  691. package/dist/qa/brain_matrix/fixtures/scenario_env_secret_suppression_en.json +21 -0
  692. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_handles_csv_refusal.json +28 -0
  693. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_sheet_intent.json +20 -0
  694. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_sheet_intent_en.json +20 -0
  695. package/dist/qa/brain_matrix/fixtures/scenario_excel_append_then_list.json +34 -0
  696. package/dist/qa/brain_matrix/fixtures/scenario_excel_list_sheets_first.json +22 -0
  697. package/dist/qa/brain_matrix/fixtures/scenario_excel_sheet_named.json +23 -0
  698. package/dist/qa/brain_matrix/fixtures/scenario_explain_voice_yes.json +22 -0
  699. package/dist/qa/brain_matrix/fixtures/scenario_explains_forge_error.json +39 -0
  700. package/dist/qa/brain_matrix/fixtures/scenario_focus_after_modal_open.json +29 -0
  701. package/dist/qa/brain_matrix/fixtures/scenario_fs_find_intent.json +21 -0
  702. package/dist/qa/brain_matrix/fixtures/scenario_fs_find_intent_en.json +20 -0
  703. package/dist/qa/brain_matrix/fixtures/scenario_fs_find_with_glob.json +22 -0
  704. package/dist/qa/brain_matrix/fixtures/scenario_fs_mkdir_intent.json +20 -0
  705. package/dist/qa/brain_matrix/fixtures/scenario_fs_move_intent.json +20 -0
  706. package/dist/qa/brain_matrix/fixtures/scenario_fs_read_handles_missing.json +28 -0
  707. package/dist/qa/brain_matrix/fixtures/scenario_fs_stat_before_read.json +22 -0
  708. package/dist/qa/brain_matrix/fixtures/scenario_generated_app_nac3_default.json +24 -0
  709. package/dist/qa/brain_matrix/fixtures/scenario_git_branch_list_intent.json +20 -0
  710. package/dist/qa/brain_matrix/fixtures/scenario_git_diff_intent.json +20 -0
  711. package/dist/qa/brain_matrix/fixtures/scenario_git_log_intent.json +20 -0
  712. package/dist/qa/brain_matrix/fixtures/scenario_git_log_intent_en.json +20 -0
  713. package/dist/qa/brain_matrix/fixtures/scenario_git_pull_intent.json +19 -0
  714. package/dist/qa/brain_matrix/fixtures/scenario_git_push_intent.json +20 -0
  715. package/dist/qa/brain_matrix/fixtures/scenario_git_show_metadata_only.json +22 -0
  716. package/dist/qa/brain_matrix/fixtures/scenario_git_status_branch_combo.json +44 -0
  717. package/dist/qa/brain_matrix/fixtures/scenario_git_status_intent.json +20 -0
  718. package/dist/qa/brain_matrix/fixtures/scenario_git_status_intent_en.json +20 -0
  719. package/dist/qa/brain_matrix/fixtures/scenario_github_clone_repo_intent.json +20 -0
  720. package/dist/qa/brain_matrix/fixtures/scenario_github_create_repo_intent.json +20 -0
  721. package/dist/qa/brain_matrix/fixtures/scenario_id_format_in_reply.json +27 -0
  722. package/dist/qa/brain_matrix/fixtures/scenario_iterations_idempotent_adenda.json +27 -0
  723. package/dist/qa/brain_matrix/fixtures/scenario_iterations_query_history.json +29 -0
  724. package/dist/qa/brain_matrix/fixtures/scenario_iterations_tracker_acknowledge.json +28 -0
  725. package/dist/qa/brain_matrix/fixtures/scenario_json_parse_handles_malformed.json +34 -0
  726. package/dist/qa/brain_matrix/fixtures/scenario_json_parse_intent.json +30 -0
  727. package/dist/qa/brain_matrix/fixtures/scenario_json_parse_intent_en.json +30 -0
  728. package/dist/qa/brain_matrix/fixtures/scenario_json_query_extract.json +23 -0
  729. package/dist/qa/brain_matrix/fixtures/scenario_json_stringify_intent.json +20 -0
  730. package/dist/qa/brain_matrix/fixtures/scenario_json_stringify_intent_en.json +20 -0
  731. package/dist/qa/brain_matrix/fixtures/scenario_keys_set_intent.json +20 -0
  732. package/dist/qa/brain_matrix/fixtures/scenario_keys_status_intent.json +20 -0
  733. package/dist/qa/brain_matrix/fixtures/scenario_keys_status_intent_en.json +20 -0
  734. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_not_conducive_spa_python.json +61 -0
  735. package/dist/qa/brain_matrix/fixtures/scenario_language_sovereignty_user_picks_python.json +48 -0
  736. package/dist/qa/brain_matrix/fixtures/scenario_lazy_complex_verb.json +27 -0
  737. package/dist/qa/brain_matrix/fixtures/scenario_lazy_doctrine_only_when_needed.json +17 -0
  738. package/dist/qa/brain_matrix/fixtures/scenario_lazy_simple_verb.json +21 -0
  739. package/dist/qa/brain_matrix/fixtures/scenario_lesson_recall_overrides.json +22 -0
  740. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_restart_app_intent.json +19 -0
  741. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_run_app_intent.json +19 -0
  742. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_run_app_intent_en.json +19 -0
  743. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_stop_app_intent.json +20 -0
  744. package/dist/qa/brain_matrix/fixtures/scenario_lifecycle_stop_app_intent_en.json +20 -0
  745. package/dist/qa/brain_matrix/fixtures/scenario_long_doctrine_no_truncate.json +23 -0
  746. package/dist/qa/brain_matrix/fixtures/scenario_manifest_read_intent.json +19 -0
  747. package/dist/qa/brain_matrix/fixtures/scenario_manual_open_intent.json +19 -0
  748. package/dist/qa/brain_matrix/fixtures/scenario_mcp_bridge_unreachable_graceful.json +39 -0
  749. package/dist/qa/brain_matrix/fixtures/scenario_mcp_disabled_bridge_no_verbs.json +18 -0
  750. package/dist/qa/brain_matrix/fixtures/scenario_mcp_discover_tools_intent.json +19 -0
  751. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invariant_1_no_verbs.json +19 -0
  752. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_destructive_pauses_for_r8.json +42 -0
  753. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_happy_path_writes_pizarron.json +76 -0
  754. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_network_timeout_graceful.json +41 -0
  755. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_two_hop.json +68 -0
  756. package/dist/qa/brain_matrix/fixtures/scenario_mcp_invoke_with_auth_loaded.json +76 -0
  757. package/dist/qa/brain_matrix/fixtures/scenario_mcp_revoked_token_graceful.json +33 -0
  758. package/dist/qa/brain_matrix/fixtures/scenario_mcp_set_creds_intent.json +21 -0
  759. package/dist/qa/brain_matrix/fixtures/scenario_mcp_set_creds_no_token_arg.json +27 -0
  760. package/dist/qa/brain_matrix/fixtures/scenario_mcp_show_tools_before_invoke.json +44 -0
  761. package/dist/qa/brain_matrix/fixtures/scenario_mcp_toggle_intent.json +20 -0
  762. package/dist/qa/brain_matrix/fixtures/scenario_multi_turn_clarify_then_act.json +24 -0
  763. package/dist/qa/brain_matrix/fixtures/scenario_nac3_attrs_doctrine.json +53 -0
  764. package/dist/qa/brain_matrix/fixtures/scenario_nac3_discover_schemas_intent.json +19 -0
  765. package/dist/qa/brain_matrix/fixtures/scenario_nac3_required_attr_missing.json +19 -0
  766. package/dist/qa/brain_matrix/fixtures/scenario_no_bare_ok_after_destructive.json +27 -0
  767. package/dist/qa/brain_matrix/fixtures/scenario_no_global_learnings_no_recall.json +20 -0
  768. package/dist/qa/brain_matrix/fixtures/scenario_no_hardcoded_color_use_token.json +47 -0
  769. package/dist/qa/brain_matrix/fixtures/scenario_no_id_leak_in_reply.json +24 -0
  770. package/dist/qa/brain_matrix/fixtures/scenario_no_invent_verb.json +18 -0
  771. package/dist/qa/brain_matrix/fixtures/scenario_no_loop_after_repeated_fail.json +42 -0
  772. package/dist/qa/brain_matrix/fixtures/scenario_no_password_echo.json +28 -0
  773. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_all_current.json +28 -0
  774. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_intent.json +20 -0
  775. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_intent_en.json +20 -0
  776. package/dist/qa/brain_matrix/fixtures/scenario_npm_outdated_then_explain.json +35 -0
  777. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_read_intent.json +24 -0
  778. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_update_cell_picks_right_verb.json +26 -0
  779. package/dist/qa/brain_matrix/fixtures/scenario_office_excel_write_required_args.json +23 -0
  780. package/dist/qa/brain_matrix/fixtures/scenario_office_overwrite_explicit.json +23 -0
  781. package/dist/qa/brain_matrix/fixtures/scenario_office_word_write_intent.json +27 -0
  782. package/dist/qa/brain_matrix/fixtures/scenario_panel_open_settings_intent.json +19 -0
  783. package/dist/qa/brain_matrix/fixtures/scenario_panel_send_message_intent.json +19 -0
  784. package/dist/qa/brain_matrix/fixtures/scenario_pdf_read_intent.json +22 -0
  785. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_clear_tab_explicit_close.json +17 -0
  786. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_for_chart.json +30 -0
  787. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_for_long_table.json +28 -0
  788. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_read_tab_intent.json +20 -0
  789. package/dist/qa/brain_matrix/fixtures/scenario_pizarron_render_not_inline.json +20 -0
  790. package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_read_file.json +28 -0
  791. package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_verb_over_shell.json +22 -0
  792. package/dist/qa/brain_matrix/fixtures/scenario_prefer_native_workflow_state.json +28 -0
  793. package/dist/qa/brain_matrix/fixtures/scenario_project_init_intent.json +20 -0
  794. package/dist/qa/brain_matrix/fixtures/scenario_project_set_root_intent.json +20 -0
  795. package/dist/qa/brain_matrix/fixtures/scenario_promote_lesson_after_correction.json +17 -0
  796. package/dist/qa/brain_matrix/fixtures/scenario_r8_destructive_shell_exec.json +21 -0
  797. package/dist/qa/brain_matrix/fixtures/scenario_read_then_parse_order.json +36 -0
  798. package/dist/qa/brain_matrix/fixtures/scenario_reader_bookmark_jump_intent.json +19 -0
  799. package/dist/qa/brain_matrix/fixtures/scenario_reader_bookmark_set_intent.json +19 -0
  800. package/dist/qa/brain_matrix/fixtures/scenario_reader_for_long_doc.json +21 -0
  801. package/dist/qa/brain_matrix/fixtures/scenario_reader_list_docs_intent.json +19 -0
  802. package/dist/qa/brain_matrix/fixtures/scenario_reader_next_block_intent.json +19 -0
  803. package/dist/qa/brain_matrix/fixtures/scenario_reader_read_section_intent.json +19 -0
  804. package/dist/qa/brain_matrix/fixtures/scenario_reader_recap_intent.json +19 -0
  805. package/dist/qa/brain_matrix/fixtures/scenario_reader_search_intent.json +20 -0
  806. package/dist/qa/brain_matrix/fixtures/scenario_reader_search_intent_en.json +20 -0
  807. package/dist/qa/brain_matrix/fixtures/scenario_refuses_blanket_chmod_777.json +17 -0
  808. package/dist/qa/brain_matrix/fixtures/scenario_refuses_bypass_approval_modal.json +18 -0
  809. package/dist/qa/brain_matrix/fixtures/scenario_refuses_delete_critical_en.json +18 -0
  810. package/dist/qa/brain_matrix/fixtures/scenario_refuses_disable_vault_encryption.json +18 -0
  811. package/dist/qa/brain_matrix/fixtures/scenario_refuses_drop_database.json +17 -0
  812. package/dist/qa/brain_matrix/fixtures/scenario_refuses_force_push_main.json +17 -0
  813. package/dist/qa/brain_matrix/fixtures/scenario_refuses_force_push_main_en.json +17 -0
  814. package/dist/qa/brain_matrix/fixtures/scenario_refuses_leak_vault_en.json +18 -0
  815. package/dist/qa/brain_matrix/fixtures/scenario_refuses_modify_node_modules.json +17 -0
  816. package/dist/qa/brain_matrix/fixtures/scenario_refuses_skip_hooks.json +17 -0
  817. package/dist/qa/brain_matrix/fixtures/scenario_refuses_skip_hooks_en.json +17 -0
  818. package/dist/qa/brain_matrix/fixtures/scenario_refuses_to_delete_critical.json +18 -0
  819. package/dist/qa/brain_matrix/fixtures/scenario_refuses_to_leak_vault.json +18 -0
  820. package/dist/qa/brain_matrix/fixtures/scenario_respects_global_learnings.json +28 -0
  821. package/dist/qa/brain_matrix/fixtures/scenario_respects_workflow_gate_g2.json +39 -0
  822. package/dist/qa/brain_matrix/fixtures/scenario_revoke_lesson_request.json +21 -0
  823. package/dist/qa/brain_matrix/fixtures/scenario_scaffolder_destructive_pauses_for_approval.json +23 -0
  824. package/dist/qa/brain_matrix/fixtures/scenario_sq9b_deploy_checks_git_status.json +25 -0
  825. package/dist/qa/brain_matrix/fixtures/scenario_sq9b_install_checks_node_version.json +25 -0
  826. package/dist/qa/brain_matrix/fixtures/scenario_sq9b_publish_checks_gh_cli.json +25 -0
  827. package/dist/qa/brain_matrix/fixtures/scenario_sq_rules_active.json +30 -0
  828. package/dist/qa/brain_matrix/fixtures/scenario_sumie_icon_pick_from_catalog.json +56 -0
  829. package/dist/qa/brain_matrix/fixtures/scenario_tester_uses_shell_exec_only.json +27 -0
  830. package/dist/qa/brain_matrix/fixtures/scenario_text_diff_intent.json +20 -0
  831. package/dist/qa/brain_matrix/fixtures/scenario_text_diff_intent_en.json +20 -0
  832. package/dist/qa/brain_matrix/fixtures/scenario_truncated_response_retry.json +22 -0
  833. package/dist/qa/brain_matrix/fixtures/scenario_unknown_command_clarify.json +23 -0
  834. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_compose.json +23 -0
  835. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_handles_invalid.json +27 -0
  836. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_intent.json +20 -0
  837. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_intent_en.json +20 -0
  838. package/dist/qa/brain_matrix/fixtures/scenario_url_parse_then_inspect_query.json +28 -0
  839. package/dist/qa/brain_matrix/fixtures/scenario_url_then_stringify_order.json +34 -0
  840. package/dist/qa/brain_matrix/fixtures/scenario_user_just_greets.json +17 -0
  841. package/dist/qa/brain_matrix/fixtures/scenario_user_overrides_proceeds.json +24 -0
  842. package/dist/qa/brain_matrix/fixtures/scenario_user_revokes_in_middle.json +22 -0
  843. package/dist/qa/brain_matrix/fixtures/scenario_voice_open_pizarron.json +21 -0
  844. package/dist/qa/brain_matrix/fixtures/scenario_word_outline_extraction.json +22 -0
  845. package/dist/qa/brain_matrix/fixtures/scenario_word_overwrite_explicit.json +20 -0
  846. package/dist/qa/brain_matrix/fixtures/scenario_word_section_count.json +28 -0
  847. package/dist/qa/brain_matrix/fixtures/scenario_workflow_doctrine.json +53 -0
  848. package/dist/qa/brain_matrix/fixtures/scenario_workflow_done_specs.json +32 -0
  849. package/dist/qa/brain_matrix/fixtures/scenario_workflow_intent_capture.json +22 -0
  850. package/dist/qa/brain_matrix/fixtures/scenario_workflow_phase_jump_block.json +26 -0
  851. package/dist/qa/brain_matrix/fixtures/scenario_workflow_phase_v_step_15.json +41 -0
  852. package/dist/qa/brain_matrix/fixtures/scenario_workflow_run_step_intent.json +19 -0
  853. package/dist/qa/brain_matrix/fixtures/scenario_workflow_set_intent.json +20 -0
  854. package/dist/qa/brain_matrix/fixtures/scenario_workflow_state_injection.json +32 -0
  855. package/dist/qa/brain_matrix/fixtures/scenario_workflow_state_recovers_after_clarify.json +25 -0
  856. package/dist/qa/brain_matrix/fixtures/scenario_workflow_step_1_intake.json +24 -0
  857. package/dist/qa/brain_matrix/fixtures/scenario_yf_command_doctrine.json +56 -0
  858. package/dist/qa/brain_matrix/fixtures/scenario_yf_doctrine_list_intent.json +19 -0
  859. package/dist/qa/brain_matrix/fixtures/scenario_yf_qa_compare_intent.json +17 -0
  860. package/dist/qa/brain_matrix/invariants.d.ts +18 -0
  861. package/dist/qa/brain_matrix/invariants.d.ts.map +1 -0
  862. package/dist/qa/brain_matrix/invariants.js +333 -0
  863. package/dist/qa/brain_matrix/invariants.js.map +1 -0
  864. package/dist/qa/brain_matrix/report.d.ts +12 -0
  865. package/dist/qa/brain_matrix/report.d.ts.map +1 -0
  866. package/dist/qa/brain_matrix/report.js +131 -0
  867. package/dist/qa/brain_matrix/report.js.map +1 -0
  868. package/dist/qa/brain_matrix/runner.d.ts +31 -0
  869. package/dist/qa/brain_matrix/runner.d.ts.map +1 -0
  870. package/dist/qa/brain_matrix/runner.js +561 -0
  871. package/dist/qa/brain_matrix/runner.js.map +1 -0
  872. package/dist/qa/brain_matrix/types.d.ts +180 -0
  873. package/dist/qa/brain_matrix/types.d.ts.map +1 -0
  874. package/dist/qa/brain_matrix/types.js +2 -0
  875. package/dist/qa/brain_matrix/types.js.map +1 -0
  876. package/dist/qa/brain_matrix/validate_scenario.d.ts +23 -0
  877. package/dist/qa/brain_matrix/validate_scenario.d.ts.map +1 -0
  878. package/dist/qa/brain_matrix/validate_scenario.js +128 -0
  879. package/dist/qa/brain_matrix/validate_scenario.js.map +1 -0
  880. package/dist/semantic_graph/ast_extract.d.ts +15 -0
  881. package/dist/semantic_graph/ast_extract.d.ts.map +1 -0
  882. package/dist/semantic_graph/ast_extract.js +162 -0
  883. package/dist/semantic_graph/ast_extract.js.map +1 -0
  884. package/dist/semantic_graph/derive.d.ts +36 -0
  885. package/dist/semantic_graph/derive.d.ts.map +1 -0
  886. package/dist/semantic_graph/derive.js +285 -0
  887. package/dist/semantic_graph/derive.js.map +1 -0
  888. package/dist/semantic_graph/llm_claim.d.ts +21 -0
  889. package/dist/semantic_graph/llm_claim.d.ts.map +1 -0
  890. package/dist/semantic_graph/llm_claim.js +164 -0
  891. package/dist/semantic_graph/llm_claim.js.map +1 -0
  892. package/dist/semantic_graph/npm_enrich.d.ts +49 -0
  893. package/dist/semantic_graph/npm_enrich.d.ts.map +1 -0
  894. package/dist/semantic_graph/npm_enrich.js +173 -0
  895. package/dist/semantic_graph/npm_enrich.js.map +1 -0
  896. package/dist/semantic_graph/render.d.ts +28 -0
  897. package/dist/semantic_graph/render.d.ts.map +1 -0
  898. package/dist/semantic_graph/render.js +70 -0
  899. package/dist/semantic_graph/render.js.map +1 -0
  900. package/dist/semantic_graph/store.d.ts +44 -0
  901. package/dist/semantic_graph/store.d.ts.map +1 -0
  902. package/dist/semantic_graph/store.js +360 -0
  903. package/dist/semantic_graph/store.js.map +1 -0
  904. package/dist/semantic_graph/types.d.ts +59 -0
  905. package/dist/semantic_graph/types.d.ts.map +1 -0
  906. package/dist/semantic_graph/types.js +17 -0
  907. package/dist/semantic_graph/types.js.map +1 -0
  908. package/dist/support/github_dispatcher.d.ts +36 -0
  909. package/dist/support/github_dispatcher.d.ts.map +1 -0
  910. package/dist/support/github_dispatcher.js +292 -0
  911. package/dist/support/github_dispatcher.js.map +1 -0
  912. package/dist/support/reports.d.ts +31 -0
  913. package/dist/support/reports.d.ts.map +1 -0
  914. package/dist/support/reports.js +162 -0
  915. package/dist/support/reports.js.map +1 -0
  916. package/dist/telemetry/usage.d.ts +67 -0
  917. package/dist/telemetry/usage.d.ts.map +1 -0
  918. package/dist/telemetry/usage.js +208 -0
  919. package/dist/telemetry/usage.js.map +1 -0
  920. package/dist/test_agent/gemini_user.d.ts +9 -0
  921. package/dist/test_agent/gemini_user.d.ts.map +1 -0
  922. package/dist/test_agent/gemini_user.js +58 -0
  923. package/dist/test_agent/gemini_user.js.map +1 -0
  924. package/dist/test_agent/profiles.d.ts +23 -0
  925. package/dist/test_agent/profiles.d.ts.map +1 -0
  926. package/dist/test_agent/profiles.js +117 -0
  927. package/dist/test_agent/profiles.js.map +1 -0
  928. package/dist/test_agent/runner.d.ts +56 -0
  929. package/dist/test_agent/runner.d.ts.map +1 -0
  930. package/dist/test_agent/runner.js +134 -0
  931. package/dist/test_agent/runner.js.map +1 -0
  932. package/dist/test_agent/target_http.d.ts +22 -0
  933. package/dist/test_agent/target_http.d.ts.map +1 -0
  934. package/dist/test_agent/target_http.js +51 -0
  935. package/dist/test_agent/target_http.js.map +1 -0
  936. package/dist/test_agent/types.d.ts +117 -0
  937. package/dist/test_agent/types.d.ts.map +1 -0
  938. package/dist/test_agent/types.js +22 -0
  939. package/dist/test_agent/types.js.map +1 -0
  940. package/dist/vault/store.d.ts.map +1 -1
  941. package/dist/vault/store.js +14 -1
  942. package/dist/vault/store.js.map +1 -1
  943. package/dist/version.d.ts +1 -1
  944. package/dist/version.d.ts.map +1 -1
  945. package/dist/version.js +1 -1
  946. package/dist/version.js.map +1 -1
  947. package/dist/voice/config.d.ts +12 -0
  948. package/dist/voice/config.d.ts.map +1 -1
  949. package/dist/voice/config.js +25 -2
  950. package/dist/voice/config.js.map +1 -1
  951. package/dist/voice/providers/google.d.ts +9 -0
  952. package/dist/voice/providers/google.d.ts.map +1 -1
  953. package/dist/voice/providers/google.js +152 -26
  954. package/dist/voice/providers/google.js.map +1 -1
  955. package/dist/voice/router.d.ts +10 -0
  956. package/dist/voice/router.d.ts.map +1 -1
  957. package/dist/voice/router.js +39 -20
  958. package/dist/voice/router.js.map +1 -1
  959. package/dist/voice/types.d.ts +5 -2
  960. package/dist/voice/types.d.ts.map +1 -1
  961. package/dist/voice/types.js.map +1 -1
  962. package/dist/wiring/discover.d.ts +14 -0
  963. package/dist/wiring/discover.d.ts.map +1 -0
  964. package/dist/wiring/discover.js +383 -0
  965. package/dist/wiring/discover.js.map +1 -0
  966. package/dist/wiring/store.d.ts +19 -0
  967. package/dist/wiring/store.d.ts.map +1 -0
  968. package/dist/wiring/store.js +182 -0
  969. package/dist/wiring/store.js.map +1 -0
  970. package/dist/wiring/types.d.ts +61 -0
  971. package/dist/wiring/types.d.ts.map +1 -0
  972. package/dist/wiring/types.js +36 -0
  973. package/dist/wiring/types.js.map +1 -0
  974. package/dist/workflow/definitions.d.ts +60 -0
  975. package/dist/workflow/definitions.d.ts.map +1 -0
  976. package/dist/workflow/definitions.js +178 -0
  977. package/dist/workflow/definitions.js.map +1 -0
  978. package/dist/workflow/definitions_client.d.ts +12 -0
  979. package/dist/workflow/definitions_client.d.ts.map +1 -0
  980. package/dist/workflow/definitions_client.js +81 -0
  981. package/dist/workflow/definitions_client.js.map +1 -0
  982. package/dist/workflow/evolution.d.ts +10 -0
  983. package/dist/workflow/evolution.d.ts.map +1 -0
  984. package/dist/workflow/evolution.js +62 -0
  985. package/dist/workflow/evolution.js.map +1 -0
  986. package/dist/workflow/graph.d.ts +59 -0
  987. package/dist/workflow/graph.d.ts.map +1 -0
  988. package/dist/workflow/graph.js +137 -0
  989. package/dist/workflow/graph.js.map +1 -0
  990. package/dist/workflow/phase_inference.d.ts +56 -0
  991. package/dist/workflow/phase_inference.d.ts.map +1 -0
  992. package/dist/workflow/phase_inference.js +107 -0
  993. package/dist/workflow/phase_inference.js.map +1 -0
  994. package/dist/workflow/select.d.ts +28 -0
  995. package/dist/workflow/select.d.ts.map +1 -0
  996. package/dist/workflow/select.js +38 -0
  997. package/dist/workflow/select.js.map +1 -0
  998. package/dist/workflow/state.d.ts +290 -0
  999. package/dist/workflow/state.d.ts.map +1 -0
  1000. package/dist/workflow/state.js +213 -0
  1001. package/dist/workflow/state.js.map +1 -0
  1002. package/dist/workflow/view.d.ts +47 -0
  1003. package/dist/workflow/view.d.ts.map +1 -0
  1004. package/dist/workflow/view.js +103 -0
  1005. package/dist/workflow/view.js.map +1 -0
  1006. package/docs/SQ.md +1397 -0
  1007. package/docs/SQ_BY_STEP.yaml +147 -0
  1008. package/docs/doctrine/accessibility.md +78 -0
  1009. package/docs/doctrine/agent-orchestrator.md +76 -0
  1010. package/docs/doctrine/byok-vs-managed.md +81 -0
  1011. package/docs/doctrine/cost-router-escalation.md +103 -0
  1012. package/docs/doctrine/default-design-system.md +120 -0
  1013. package/docs/doctrine/explain-results.md +90 -0
  1014. package/docs/doctrine/expo-eas-builds.md +177 -0
  1015. package/docs/doctrine/g-doc.md +46 -0
  1016. package/docs/doctrine/gates.md +21 -0
  1017. package/docs/doctrine/language-sovereignty.md +143 -0
  1018. package/docs/doctrine/lessons-workflow.md +68 -0
  1019. package/docs/doctrine/mcp-bridge-lifecycle.md +75 -0
  1020. package/docs/doctrine/nac3-attrs.md +23 -0
  1021. package/docs/doctrine/office-tools.md +102 -0
  1022. package/docs/doctrine/pizarron.md +52 -0
  1023. package/docs/doctrine/r8-modal.md +60 -0
  1024. package/docs/doctrine/safety-refusals.md +73 -0
  1025. package/docs/doctrine/testing-policy.md +211 -0
  1026. package/docs/doctrine/verb-composition.md +68 -0
  1027. package/docs/doctrine/verification-honesty.md +95 -0
  1028. package/docs/doctrine/workflow-kinds.md +52 -0
  1029. package/docs/doctrine/workflow-phases.md +108 -0
  1030. package/docs/doctrine/workflow.md +58 -0
  1031. package/docs/doctrine/yf-commands.md +49 -0
  1032. package/package.json +19 -3
  1033. package/src/i18n/catalogs/ar.json +134 -10
  1034. package/src/i18n/catalogs/de.json +134 -10
  1035. package/src/i18n/catalogs/en.json +134 -10
  1036. package/src/i18n/catalogs/es.json +134 -10
  1037. package/src/i18n/catalogs/fr.json +134 -10
  1038. package/src/i18n/catalogs/hi.json +134 -10
  1039. package/src/i18n/catalogs/it.json +134 -10
  1040. package/src/i18n/catalogs/ja.json +134 -10
  1041. package/src/i18n/catalogs/pt.json +134 -10
  1042. package/src/i18n/catalogs/zh.json +134 -10
  1043. package/templates/nextjs-app/README.md +48 -0
  1044. package/templates/nextjs-app/next.config.js +8 -0
  1045. package/templates/nextjs-app/package.json +33 -0
  1046. package/templates/nextjs-app/src/app/globals.css +43 -0
  1047. package/templates/nextjs-app/src/app/layout.tsx +29 -0
  1048. package/templates/nextjs-app/src/app/page.tsx +63 -0
  1049. package/templates/nextjs-app/src/nac/manifest.ts +36 -0
  1050. package/templates/nextjs-app/tsconfig.json +21 -0
  1051. package/templates/nextjs-app/yujin.forge.json +11 -0
  1052. package/templates/sumi-context.template.md +57 -0
@@ -0,0 +1,40 @@
1
+ /**
2
+ * PND-036 -- completion-without-tool-use detector.
3
+ *
4
+ * Forge's eco tier sometimes responds with "voy a configurar el
5
+ * proyecto / procedere a setup / ya he procesado tu solicitud"
6
+ * WITHOUT invoking any tool. The user then asks 3 times "did you
7
+ * actually do it?" before the brain admits no work happened.
8
+ *
9
+ * This module is a pure heuristic: given a reply text + the count
10
+ * of tool_uses that occurred in the same turn, decide whether the
11
+ * reply contains a "hallucinated completion" claim. We use it for:
12
+ * 1. logging (telemetry).
13
+ * 2. forcing escalation on the NEXT turn (next-turn-frontier).
14
+ * 3. (future) flagging the reply with a banner.
15
+ *
16
+ * Conservative on purpose: a false positive harms nothing (we just
17
+ * escalate the next turn); a false negative is back to the bug.
18
+ *
19
+ * ASCII-only.
20
+ */
21
+ export interface HallucinationCheck {
22
+ /** True when the reply contains a "doing the work" phrase AND
23
+ * no tool was invoked in the turn. */
24
+ is_hallucinated: boolean;
25
+ /** Substring matched (sliced to 120 chars) for telemetry. */
26
+ matched_phrase: string;
27
+ /** True when a refusal phrase was found instead. Surfaced for
28
+ * PND-037 (router refusal-aware escalation). */
29
+ is_refusal: boolean;
30
+ /** True when a proof token was found (verb id, code block) --
31
+ * in that case is_hallucinated is forced to false. */
32
+ has_proof: boolean;
33
+ /** alpha.59z.188 PND-038 -- True when "mis disculpas / hubo un
34
+ * error / aun estoy en proceso" appear. Leading indicator that
35
+ * the tier is over its head; same next-turn-frontier hint
36
+ * fires. Independent of is_hallucinated. */
37
+ is_confused: boolean;
38
+ }
39
+ export declare function checkCompletionHallucination(reply_text: string, tool_uses_in_turn: number): HallucinationCheck;
40
+ //# sourceMappingURL=completion_hallucination_detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion_hallucination_detector.d.ts","sourceRoot":"","sources":["../../src/chat/completion_hallucination_detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AA2CH,MAAM,WAAW,kBAAkB;IACjC;2CACuC;IACvC,eAAe,EAAE,OAAO,CAAC;IACzB,6DAA6D;IAC7D,cAAc,EAAE,MAAM,CAAC;IACvB;qDACiD;IACjD,UAAU,EAAE,OAAO,CAAC;IACpB;2DACuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB;;;iDAG6C;IAC7C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,4BAA4B,CAC1C,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,GACxB,kBAAkB,CAiCpB"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * PND-036 -- completion-without-tool-use detector.
3
+ *
4
+ * Forge's eco tier sometimes responds with "voy a configurar el
5
+ * proyecto / procedere a setup / ya he procesado tu solicitud"
6
+ * WITHOUT invoking any tool. The user then asks 3 times "did you
7
+ * actually do it?" before the brain admits no work happened.
8
+ *
9
+ * This module is a pure heuristic: given a reply text + the count
10
+ * of tool_uses that occurred in the same turn, decide whether the
11
+ * reply contains a "hallucinated completion" claim. We use it for:
12
+ * 1. logging (telemetry).
13
+ * 2. forcing escalation on the NEXT turn (next-turn-frontier).
14
+ * 3. (future) flagging the reply with a banner.
15
+ *
16
+ * Conservative on purpose: a false positive harms nothing (we just
17
+ * escalate the next turn); a false negative is back to the bug.
18
+ *
19
+ * ASCII-only.
20
+ */
21
+ /* alpha.59z.188 PND-038 -- "confusion" signals. When the eco brain
22
+ * says "mis disculpas / hubo un error en la comunicacion / aun
23
+ * estoy en el proceso", that is a leading indicator that the tier
24
+ * is over its head. We surface those separately so the chat server
25
+ * can write the same next-turn frontier hint without forcing a full
26
+ * hallucination flag. */
27
+ const CONFUSION_PATTERNS = [
28
+ /\b(?:mis\s+disculpas|disculpa(?:me)?|mil\s+disculpas|perd[oó]n(?:ame)?)\b/i,
29
+ /\b(?:hubo\s+un\s+error|tuve\s+un\s+error|se\s+produjo\s+un\s+error|error\s+en\s+la\s+comunicaci[oó]n|me\s+confund[ií])\b/i,
30
+ /\b(?:aun\s+estoy\s+en\s+el\s+proceso|aun\s+no\s+he\s+terminado|todav[ií]a\s+estoy\s+(?:en\s+proceso|configurando|trabajando))\b/i,
31
+ /\b(?:i\s+apologi[sz]e|my\s+apologies|sorry\s+about\s+that|i\s+got\s+confused|i\s+made\s+(?:an?\s+)?error)\b/i,
32
+ ];
33
+ /* Phrases that look like "I did / I am doing the work". Each entry
34
+ * is checked case-insensitively. Order doesn't matter; we return on
35
+ * the first match. */
36
+ const ANNOUNCE_PATTERNS = [
37
+ /\b(?:voy a|procedo a|procedere a|procederé a|empiezo a|comienzo a|inicio|iniciando|configurando|configurare|configuraré|implementando|instalando|deplegando|deployando)\b/i,
38
+ /\b(?:ya\s+(?:lo\s+)?(?:hice|hecho|cre[eé]|configur[eé]|complet[eé]|ejecut[eé]|proces[eé]|termin[eé])|ya\s+est[aá]\s+(?:listo|configurado|hecho|creado)|lo\s+he\s+(?:hecho|creado|completado|ejecutado|procesado))\b/i,
39
+ /\b(?:he\s+procesado|he\s+ejecutado|he\s+configurado|he\s+iniciado|he\s+completado|he\s+terminado|he\s+creado)\b/i,
40
+ /\b(?:proyecto\s+(?:ya\s+)?(?:est[aá]|fue|qued[oó])\s+(?:configurado|creado|listo|inicializado))\b/i,
41
+ /\b(?:i'?ll\s+(?:configure|setup|set up|create|deploy|install|run|start|process)|i\s+have\s+(?:configured|set up|created|deployed|installed|processed|completed)|i'?m\s+(?:configuring|setting up|creating|deploying|installing|processing))\b/i,
42
+ /\b(?:done|completed|finished|ready)\.?\s*(?:--|—|:)?\s*(?:the\s+)?(?:project|setup|configuration|install|deploy)\b/i,
43
+ ];
44
+ /* If ANY of these "we definitely did real work" phrases appear, we
45
+ * waive the detector. Used when the brain references a verb by name
46
+ * (showing it knows what to call) or shows a concrete artifact. */
47
+ const PROOF_PATTERNS = [
48
+ /\byujin\.[a-z][a-z0-9_-]*\.[a-z][a-z0-9_-]*\b/i, /* "yujin.foo.bar" verb name */
49
+ /\b(?:nac3_invoke|nac3\.invoke)\b/i,
50
+ /```/, /* code block -> usually an artifact */
51
+ ];
52
+ /* "I cannot do X" / "I don't have the capability" -- this is a
53
+ * REFUSAL, not a hallucinated completion. We don't flag it here
54
+ * because it's a different bug (PND-037 router escalation). */
55
+ const REFUSAL_PATTERNS = [
56
+ /\b(?:no\s+puedo|no\s+tengo\s+(?:la\s+)?capacidad|no\s+puedo\s+mostrar(?:te)?|cannot|can'?t)\b/i,
57
+ ];
58
+ export function checkCompletionHallucination(reply_text, tool_uses_in_turn) {
59
+ const text = (reply_text || '').trim();
60
+ if (!text) {
61
+ return { is_hallucinated: false, matched_phrase: '', is_refusal: false, has_proof: false, is_confused: false };
62
+ }
63
+ const has_proof = PROOF_PATTERNS.some((re) => re.test(text));
64
+ let is_refusal = false;
65
+ let matched_phrase = '';
66
+ for (const re of REFUSAL_PATTERNS) {
67
+ const m = re.exec(text);
68
+ if (m) {
69
+ is_refusal = true;
70
+ matched_phrase = m[0].slice(0, 120);
71
+ break;
72
+ }
73
+ }
74
+ const is_confused = CONFUSION_PATTERNS.some((re) => re.test(text));
75
+ if (tool_uses_in_turn > 0) {
76
+ /* Tools actually fired -- whatever the LLM says, it's grounded. */
77
+ return { is_hallucinated: false, matched_phrase, is_refusal, has_proof, is_confused };
78
+ }
79
+ if (has_proof) {
80
+ return { is_hallucinated: false, matched_phrase, is_refusal, has_proof, is_confused };
81
+ }
82
+ for (const re of ANNOUNCE_PATTERNS) {
83
+ const m = re.exec(text);
84
+ if (m) {
85
+ return {
86
+ is_hallucinated: true,
87
+ matched_phrase: matched_phrase || m[0].slice(0, 120),
88
+ is_refusal,
89
+ has_proof,
90
+ is_confused,
91
+ };
92
+ }
93
+ }
94
+ return { is_hallucinated: false, matched_phrase, is_refusal, has_proof, is_confused };
95
+ }
96
+ //# sourceMappingURL=completion_hallucination_detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion_hallucination_detector.js","sourceRoot":"","sources":["../../src/chat/completion_hallucination_detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH;;;;;yBAKyB;AACzB,MAAM,kBAAkB,GAAa;IACnC,4EAA4E;IAC5E,2HAA2H;IAC3H,kIAAkI;IAClI,8GAA8G;CAC/G,CAAC;AAEF;;sBAEsB;AACtB,MAAM,iBAAiB,GAAa;IAClC,4KAA4K;IAC5K,sNAAsN;IACtN,kHAAkH;IAClH,oGAAoG;IACpG,gPAAgP;IAChP,qHAAqH;CACtH,CAAC;AAEF;;mEAEmE;AACnE,MAAM,cAAc,GAAa;IAC/B,gDAAgD,EAAK,+BAA+B;IACpF,mCAAmC;IACnC,KAAK,EAAkD,uCAAuC;CAC/F,CAAC;AAEF;;+DAE+D;AAC/D,MAAM,gBAAgB,GAAa;IACjC,gGAAgG;CACjG,CAAC;AAqBF,MAAM,UAAU,4BAA4B,CAC1C,UAAkB,EAClB,iBAAyB;IAEzB,MAAM,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IACjH,CAAC;IACD,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,KAAK,MAAM,EAAE,IAAI,gBAAgB,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YAAC,UAAU,GAAG,IAAI,CAAC;YAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAAC,MAAM;QAAC,CAAC;IAC3E,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC1B,mEAAmE;QACnE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACxF,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACxF,CAAC;IACD,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC;YACN,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,cAAc,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBACpD,UAAU;gBACV,SAAS;gBACT,WAAW;aACZ,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACxF,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Doctrine digest (dogfood 2026-06-10).
3
+ *
4
+ * Pablo's rule: the doctrines ARE the code-quality guardrails, so
5
+ * they must be in EVERY system prompt -- short + mandatory -- not
6
+ * fetched on-demand (the model choosing to discover is exactly how
7
+ * a guardrail gets skipped). This module renders a condensed,
8
+ * always-injected block: one mandatory line (the rule essence) per
9
+ * doctrine, with the full text still available via
10
+ * yujin.doctrine.discover.
11
+ *
12
+ * Parity is enforced by tests/doctrine-digest-parity.test.ts: every
13
+ * docs/doctrine/<slug>.md MUST have an entry here, or the suite goes
14
+ * red. (Enumerating the source of truth -- the .md files -- not a
15
+ * sample. See verification-honesty.md rule 2/3.)
16
+ *
17
+ * ASCII-only.
18
+ */
19
+ export interface DoctrineDigestEntry {
20
+ /** One or more doctrine slugs this line condenses. */
21
+ slugs: string[];
22
+ /** The mandatory rule essence (kept to ~1-3 lines). */
23
+ rule: string;
24
+ }
25
+ export declare const DOCTRINE_DIGEST: DoctrineDigestEntry[];
26
+ /** All slugs covered by the digest (for the parity test). */
27
+ export declare function digestSlugs(): string[];
28
+ /** Render the always-injected mandatory block for the system prompt.
29
+ * Returned as an array of lines to splice into the prompt builder. */
30
+ export declare function buildDoctrineDigestLines(): string[];
31
+ //# sourceMappingURL=doctrine_digest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctrine_digest.d.ts","sourceRoot":"","sources":["../../src/chat/doctrine_digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,EAAE,mBAAmB,EA6EhD,CAAC;AAEF,6DAA6D;AAC7D,wBAAgB,WAAW,IAAI,MAAM,EAAE,CAEtC;AAED;uEACuE;AACvE,wBAAgB,wBAAwB,IAAI,MAAM,EAAE,CAenD"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * Doctrine digest (dogfood 2026-06-10).
3
+ *
4
+ * Pablo's rule: the doctrines ARE the code-quality guardrails, so
5
+ * they must be in EVERY system prompt -- short + mandatory -- not
6
+ * fetched on-demand (the model choosing to discover is exactly how
7
+ * a guardrail gets skipped). This module renders a condensed,
8
+ * always-injected block: one mandatory line (the rule essence) per
9
+ * doctrine, with the full text still available via
10
+ * yujin.doctrine.discover.
11
+ *
12
+ * Parity is enforced by tests/doctrine-digest-parity.test.ts: every
13
+ * docs/doctrine/<slug>.md MUST have an entry here, or the suite goes
14
+ * red. (Enumerating the source of truth -- the .md files -- not a
15
+ * sample. See verification-honesty.md rule 2/3.)
16
+ *
17
+ * ASCII-only.
18
+ */
19
+ export const DOCTRINE_DIGEST = [
20
+ {
21
+ slugs: ['verification-honesty'],
22
+ rule: 'a GREEN test is NOT proof -- verify it goes red on the real '
23
+ + 'regression before claiming it guards; cover EVERY row of a '
24
+ + 'data/config table, not a sample; claims proportional to what '
25
+ + 'the code enforces; when reporting, separate VERIFIED '
26
+ + '(ran/read/reproduced) from BELIEVED (assumed).',
27
+ },
28
+ {
29
+ slugs: ['testing-policy'],
30
+ rule: 'tests POST-implementation for every change; the scaffold gate '
31
+ + 'must be green before disk; TDD-first only for backend / '
32
+ + 'finance / regulatory / integration slices.',
33
+ },
34
+ {
35
+ slugs: ['nac3-attrs'],
36
+ rule: 'every interactive element carries the 5 data-nac-* attrs (id, role, action, label, hint).',
37
+ },
38
+ {
39
+ slugs: ['accessibility'],
40
+ rule: 'announce destructive results via yujin.a11y.*; full voice parity, including INSIDE modals (global phrases suspend while a modal is open).',
41
+ },
42
+ {
43
+ slugs: ['gates'],
44
+ rule: 'owner-approval gates (esp. Gate 13) BLOCK phase advance; never self-approve a gate.',
45
+ },
46
+ {
47
+ slugs: ['workflow', 'workflow-phases'],
48
+ rule: 'follow the 6-phase / 18-step workflow; persist each step you complete; do not mark a phase done without its evidence.',
49
+ },
50
+ {
51
+ slugs: ['workflow-kinds'],
52
+ rule: 'THREE workflows: greenfield (new app, 18 steps), corrective (fix a live project), evolutive (extend a live project). Classify + ASK which one; corrective/evolutive are compact and MUST refresh docs; log each transition with yujin.workflow.log-step. Never force greenfield on a live project.',
53
+ },
54
+ {
55
+ slugs: ['g-doc'],
56
+ rule: 'generated docs + adopter apps use the Yujin HTML look derived from REAL code, not placeholders.',
57
+ },
58
+ {
59
+ slugs: ['explain-results'],
60
+ rule: 'report results in user prose (what came back + what it means), not raw verb output.',
61
+ },
62
+ {
63
+ slugs: ['safety-refusals'],
64
+ rule: 'refuse destructive / malicious requests naming the concrete risk; dual-use needs an authorization context.',
65
+ },
66
+ {
67
+ slugs: ['language-sovereignty'],
68
+ rule: 'the user picks the language; translate the EXPERIENCE (UI, docs, prose), not the protocol (verb ids, code identifiers, established tech jargon).',
69
+ },
70
+ {
71
+ slugs: ['default-design-system'],
72
+ rule: 'use the Yujin Design System (sumi-e tokens) by default before any custom styling.',
73
+ },
74
+ {
75
+ slugs: ['verb-composition'],
76
+ rule: 'compose native verbs in dependency order (read before parse, etc.); prefer a yujin.* verb over shell.',
77
+ },
78
+ {
79
+ slugs: ['pizarron'],
80
+ rule: 'create-tab = canvas content YOU generated; open-file = a disk file; opening a file is NOT saving it.',
81
+ },
82
+ {
83
+ slugs: ['r8-modal'],
84
+ rule: 'approval-required actions go through the R8 modal -- the modal IS the question.',
85
+ },
86
+ {
87
+ slugs: ['byok-vs-managed', 'cost-router-escalation'],
88
+ rule: 'BYOK when the user has provider keys, managed otherwise; honor the eco/frontier override; escalate on quality signals.',
89
+ },
90
+ {
91
+ slugs: ['mcp-bridge-lifecycle', 'office-tools', 'expo-eas-builds', 'agent-orchestrator', 'yf-commands', 'lessons-workflow'],
92
+ rule: 'task-specific guardrails -- discover the matching doctrine when the work touches MCP bridges, office docs (docx/xlsx), Expo/EAS builds, product-side agents, the yf CLI catalog, or the lessons system.',
93
+ },
94
+ ];
95
+ /** All slugs covered by the digest (for the parity test). */
96
+ export function digestSlugs() {
97
+ return DOCTRINE_DIGEST.flatMap((e) => e.slugs);
98
+ }
99
+ /** Render the always-injected mandatory block for the system prompt.
100
+ * Returned as an array of lines to splice into the prompt builder. */
101
+ export function buildDoctrineDigestLines() {
102
+ const lines = [
103
+ '=================================================================',
104
+ 'QUALITY DOCTRINES (mandatory -- these are the guardrails)',
105
+ '=================================================================',
106
+ '',
107
+ 'Non-optional, every change. Each bullet is the rule; fetch the',
108
+ 'full text with yujin.doctrine.discover({slugs:["<slug>"]}).',
109
+ '',
110
+ ];
111
+ for (const e of DOCTRINE_DIGEST) {
112
+ lines.push('* ' + e.slugs.join(' / ') + ': ' + e.rule);
113
+ }
114
+ lines.push('');
115
+ return lines;
116
+ }
117
+ //# sourceMappingURL=doctrine_digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctrine_digest.js","sourceRoot":"","sources":["../../src/chat/doctrine_digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,MAAM,CAAC,MAAM,eAAe,GAA0B;IACpD;QACE,KAAK,EAAE,CAAC,sBAAsB,CAAC;QAC/B,IAAI,EACF,8DAA8D;cAC5D,6DAA6D;cAC7D,+DAA+D;cAC/D,uDAAuD;cACvD,gDAAgD;KACrD;IACD;QACE,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,IAAI,EACF,gEAAgE;cAC9D,0DAA0D;cAC1D,4CAA4C;KACjD;IACD;QACE,KAAK,EAAE,CAAC,YAAY,CAAC;QACrB,IAAI,EAAE,2FAA2F;KAClG;IACD;QACE,KAAK,EAAE,CAAC,eAAe,CAAC;QACxB,IAAI,EAAE,2IAA2I;KAClJ;IACD;QACE,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,qFAAqF;KAC5F;IACD;QACE,KAAK,EAAE,CAAC,UAAU,EAAE,iBAAiB,CAAC;QACtC,IAAI,EAAE,uHAAuH;KAC9H;IACD;QACE,KAAK,EAAE,CAAC,gBAAgB,CAAC;QACzB,IAAI,EAAE,oSAAoS;KAC3S;IACD;QACE,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,IAAI,EAAE,iGAAiG;KACxG;IACD;QACE,KAAK,EAAE,CAAC,iBAAiB,CAAC;QAC1B,IAAI,EAAE,qFAAqF;KAC5F;IACD;QACE,KAAK,EAAE,CAAC,iBAAiB,CAAC;QAC1B,IAAI,EAAE,4GAA4G;KACnH;IACD;QACE,KAAK,EAAE,CAAC,sBAAsB,CAAC;QAC/B,IAAI,EAAE,kJAAkJ;KACzJ;IACD;QACE,KAAK,EAAE,CAAC,uBAAuB,CAAC;QAChC,IAAI,EAAE,mFAAmF;KAC1F;IACD;QACE,KAAK,EAAE,CAAC,kBAAkB,CAAC;QAC3B,IAAI,EAAE,uGAAuG;KAC9G;IACD;QACE,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,IAAI,EAAE,sGAAsG;KAC7G;IACD;QACE,KAAK,EAAE,CAAC,UAAU,CAAC;QACnB,IAAI,EAAE,iFAAiF;KACxF;IACD;QACE,KAAK,EAAE,CAAC,iBAAiB,EAAE,wBAAwB,CAAC;QACpD,IAAI,EAAE,wHAAwH;KAC/H;IACD;QACE,KAAK,EAAE,CAAC,sBAAsB,EAAE,cAAc,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC3H,IAAI,EAAE,yMAAyM;KAChN;CACF,CAAC;AAEF,6DAA6D;AAC7D,MAAM,UAAU,WAAW;IACzB,OAAO,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,wBAAwB;IACtC,MAAM,KAAK,GAAa;QACtB,mEAAmE;QACnE,2DAA2D;QAC3D,mEAAmE;QACnE,EAAE;QACF,gEAAgE;QAChE,6DAA6D;QAC7D,EAAE;KACH,CAAC;IACF,KAAK,MAAM,CAAC,IAAI,eAAe,EAAE,CAAC;QAChC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,46 @@
1
+ interface IngestStateEntry {
2
+ package_json_mtime_ms: number;
3
+ ingested_at: string;
4
+ lib_count: number;
5
+ }
6
+ interface IngestState {
7
+ version: 1;
8
+ slugs: Record<string, IngestStateEntry>;
9
+ }
10
+ declare function statePath(): string;
11
+ declare function readState(): Promise<IngestState>;
12
+ declare function writeState(s: IngestState): Promise<void>;
13
+ /** Fire-and-forget. Never throws. Returns true when the ingest
14
+ * ran + completed (regardless of how many nodes), false when
15
+ * skipped (no package.json, no change since last ingest, or
16
+ * worker error). */
17
+ export declare function maybeAutoIngest(opts: {
18
+ project_root: string;
19
+ project_slug: string;
20
+ /** Optional logger -- defaults to silent. Tests can inject
21
+ * a console.log to see what happened. */
22
+ log?: (msg: string) => void;
23
+ /** Bypass the env gate (tests). */
24
+ forceEnabled?: boolean;
25
+ }): Promise<boolean>;
26
+ /** Spawn an ingest (or reuse one in flight for the same slug) +
27
+ * return the promise so callers that need to wait for it (e.g.
28
+ * GET /api/forge/graph-status on the first panel load) can do
29
+ * so. NEVER throws. */
30
+ export declare function startAutoIngest(opts: {
31
+ project_root: string;
32
+ project_slug: string;
33
+ log?: (msg: string) => void;
34
+ }): Promise<boolean>;
35
+ /** Returns the in-flight ingest promise for this slug, or null
36
+ * if none is running. Endpoints await with a timeout. */
37
+ export declare function inFlightIngest(project_slug: string): Promise<boolean> | null;
38
+ /** Test seam. */
39
+ export declare const _internal: {
40
+ statePath: typeof statePath;
41
+ readState: typeof readState;
42
+ writeState: typeof writeState;
43
+ _inFlight: Map<string, Promise<boolean>>;
44
+ };
45
+ export {};
46
+ //# sourceMappingURL=graph_auto_ingest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph_auto_ingest.d.ts","sourceRoot":"","sources":["../../src/chat/graph_auto_ingest.ts"],"names":[],"mappings":"AAwCA,UAAU,gBAAgB;IACxB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAY,MAAM,CAAC;IAC9B,SAAS,EAAc,MAAM,CAAC;CAC/B;AACD,UAAU,WAAW;IACnB,OAAO,EAAE,CAAC,CAAC;IACX,KAAK,EAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;CAC3C;AAED,iBAAS,SAAS,IAAI,MAAM,CAI3B;AAED,iBAAe,SAAS,IAAI,OAAO,CAAC,WAAW,CAAC,CAO/C;AAED,iBAAe,UAAU,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAMvD;AAED;;;qBAGqB;AACrB,wBAAsB,eAAe,CAAC,IAAI,EAAE;IAC1C,YAAY,EAAG,MAAM,CAAC;IACtB,YAAY,EAAG,MAAM,CAAC;IACtB;8CAC0C;IAC1C,GAAG,CAAC,EAAW,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,mCAAmC;IACnC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,GAAG,OAAO,CAAC,OAAO,CAAC,CA6EnB;AAQD;;;wBAGwB;AACxB,wBAAgB,eAAe,CAAC,IAAI,EAAE;IACpC,YAAY,EAAG,MAAM,CAAC;IACtB,YAAY,EAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAW,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACtC,GAAG,OAAO,CAAC,OAAO,CAAC,CAYnB;AAED;0DAC0D;AAC1D,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAE5E;AAED,iBAAiB;AACjB,eAAO,MAAM,SAAS;;;;;CAAkD,CAAC"}
@@ -0,0 +1,177 @@
1
+ /**
2
+ * Graph auto-ingest on yf chat boot (alpha.59v).
3
+ *
4
+ * Per Pablo's directive 2026-06-02: "Si abro yf chat en un
5
+ * directorio lo entienda como directorio de proyecto y cargue
6
+ * los graph del mismo automaticamente. A medida que voy
7
+ * incorporando mas componentes los suma automaticamente al
8
+ * graph."
9
+ *
10
+ * Phase 1 -- package.json deps ingestion at boot:
11
+ *
12
+ * 1. On every yf chat boot, resolve projectSlug + read
13
+ * package.json mtime.
14
+ * 2. Look up the cached state for this slug in
15
+ * ~/.yujin-forge/cache/graph_ingest_state.json:
16
+ * { "<slug>": { "package_json_mtime_ms": N, "ingested_at": ISO,
17
+ * "lib_count": N } }
18
+ * 3. If the package.json mtime has changed since last_ingest
19
+ * (or slug never ingested) -> fire-and-forget background
20
+ * ingest via the existing ingestFromPackageJson() +
21
+ * /v1/semantic-graph/import endpoint.
22
+ * 4. Update the cache state on success.
23
+ *
24
+ * Failure modes:
25
+ * - Worker unreachable -> log, swallow (boot continues).
26
+ * - No package.json -> skip (not all projects are npm).
27
+ * - No vault key -> swallow (auth failure is OK; the user is
28
+ * not yet onboarded).
29
+ *
30
+ * Never blocks the boot. Never throws.
31
+ *
32
+ * ASCII-only.
33
+ */
34
+ import { promises as fs } from 'node:fs';
35
+ import path from 'node:path';
36
+ import os from 'node:os';
37
+ import { ingestFromPackageJson } from './semantic_graph_ingest.js';
38
+ import { upsertNodes } from '../semantic_graph/store.js';
39
+ function statePath() {
40
+ const home = process.env.HOME || process.env.USERPROFILE || os.homedir();
41
+ const base = process.env.YF_CONFIG_DIR || path.join(home, '.yujin-forge');
42
+ return path.join(base, 'cache', 'graph_ingest_state.json');
43
+ }
44
+ async function readState() {
45
+ try {
46
+ const raw = await fs.readFile(statePath(), 'utf-8');
47
+ const j = JSON.parse(raw);
48
+ if (j && j.version === 1 && typeof j.slugs === 'object')
49
+ return j;
50
+ }
51
+ catch { /* missing or malformed -> fresh */ }
52
+ return { version: 1, slugs: {} };
53
+ }
54
+ async function writeState(s) {
55
+ const p = statePath();
56
+ await fs.mkdir(path.dirname(p), { recursive: true });
57
+ const tmp = p + '.tmp';
58
+ await fs.writeFile(tmp, JSON.stringify(s, null, 2), 'utf-8');
59
+ await fs.rename(tmp, p);
60
+ }
61
+ /** Fire-and-forget. Never throws. Returns true when the ingest
62
+ * ran + completed (regardless of how many nodes), false when
63
+ * skipped (no package.json, no change since last ingest, or
64
+ * worker error). */
65
+ export async function maybeAutoIngest(opts) {
66
+ const log = opts.log ?? (() => undefined);
67
+ /* Env gate: YF_GRAPH_AUTO_INGEST=0 disables. Default ON. */
68
+ if (!opts.forceEnabled) {
69
+ const v = process.env.YF_GRAPH_AUTO_INGEST;
70
+ if (v === '0' || v === 'false' || v === 'no') {
71
+ log('[auto-ingest] disabled via YF_GRAPH_AUTO_INGEST=0');
72
+ return false;
73
+ }
74
+ }
75
+ /* Check package.json mtime. */
76
+ const pkgPath = path.join(opts.project_root, 'package.json');
77
+ let mtimeMs;
78
+ try {
79
+ const st = await fs.stat(pkgPath);
80
+ mtimeMs = st.mtimeMs;
81
+ }
82
+ catch {
83
+ log('[auto-ingest] no package.json at ' + opts.project_root + ' -- skip');
84
+ return false;
85
+ }
86
+ /* Compare against cached state. */
87
+ const state = await readState();
88
+ const prev = state.slugs[opts.project_slug];
89
+ if (prev && prev.package_json_mtime_ms === mtimeMs) {
90
+ log('[auto-ingest] package.json unchanged since last ingest (' + prev.ingested_at + ') -- skip');
91
+ return false;
92
+ }
93
+ /* Ingest. */
94
+ const nodes = await ingestFromPackageJson({
95
+ project_root: opts.project_root,
96
+ project_slug: opts.project_slug,
97
+ });
98
+ if (nodes.length === 0) {
99
+ log('[auto-ingest] package.json has no deps -- skip');
100
+ return false;
101
+ }
102
+ log('[auto-ingest] ingesting ' + nodes.length + ' libs for project_slug=' + opts.project_slug + '...');
103
+ /* alpha.59z.180 PND-012 slice B -- write to the LOCAL SQLite
104
+ * store first (BYOK-strict; never touches the worker by default).
105
+ * When hybrid sync is opted in for this project, ALSO push to
106
+ * the D1 worker so a future `yf graph sync --pull` on another
107
+ * laptop sees the same graph. */
108
+ const nowIso = new Date().toISOString();
109
+ const localNodes = nodes.map((n) => ({
110
+ id: n.id,
111
+ kind: n.kind,
112
+ name: n.name,
113
+ ...(n.version ? { version: n.version } : {}),
114
+ source: n.source,
115
+ purpose: n.purpose,
116
+ solves: n.solves,
117
+ do_not_invent: n.do_not_invent,
118
+ api_surface: n.api_surface,
119
+ confidence: n.confidence,
120
+ weight: n.weight,
121
+ added_at: nowIso,
122
+ updated_at: nowIso,
123
+ }));
124
+ let added = 0, updated = 0;
125
+ try {
126
+ const r = await upsertNodes(opts.project_slug, localNodes);
127
+ added = r.inserted;
128
+ updated = r.updated;
129
+ log('[auto-ingest] local OK added=' + added + ' updated=' + updated);
130
+ }
131
+ catch (err) {
132
+ log('[auto-ingest] local upsert error: ' + (err instanceof Error ? err.message : String(err)));
133
+ return false;
134
+ }
135
+ /* No worker mirror as of alpha.59z.182. The D1 sync path is
136
+ * parked until PND-016 closes P3 Platform billing decisions.
137
+ * BYOK plain = 100% local; sync goes under the P3 tier later. */
138
+ state.slugs[opts.project_slug] = {
139
+ package_json_mtime_ms: mtimeMs,
140
+ ingested_at: new Date().toISOString(),
141
+ lib_count: nodes.length,
142
+ };
143
+ await writeState(state);
144
+ return true;
145
+ }
146
+ /* ----- alpha.59v.2 -- in-flight tracking ----- */
147
+ /* Per-process map: project_slug -> Promise<boolean> currently
148
+ * running. Endpoints that need "graph data is current" can await
149
+ * this with a timeout before they query the worker. */
150
+ const _inFlight = new Map();
151
+ /** Spawn an ingest (or reuse one in flight for the same slug) +
152
+ * return the promise so callers that need to wait for it (e.g.
153
+ * GET /api/forge/graph-status on the first panel load) can do
154
+ * so. NEVER throws. */
155
+ export function startAutoIngest(opts) {
156
+ const existing = _inFlight.get(opts.project_slug);
157
+ if (existing)
158
+ return existing;
159
+ const p = (async () => {
160
+ try {
161
+ return await maybeAutoIngest(opts);
162
+ }
163
+ finally {
164
+ _inFlight.delete(opts.project_slug);
165
+ }
166
+ })();
167
+ _inFlight.set(opts.project_slug, p);
168
+ return p;
169
+ }
170
+ /** Returns the in-flight ingest promise for this slug, or null
171
+ * if none is running. Endpoints await with a timeout. */
172
+ export function inFlightIngest(project_slug) {
173
+ return _inFlight.get(project_slug) ?? null;
174
+ }
175
+ /** Test seam. */
176
+ export const _internal = { statePath, readState, writeState, _inFlight };
177
+ //# sourceMappingURL=graph_auto_ingest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph_auto_ingest.js","sourceRoot":"","sources":["../../src/chat/graph_auto_ingest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import type { GraphNode } from '../semantic_graph/types.js';
2
+ export interface ParsedExport {
3
+ name: string;
4
+ kind: 'function' | 'const' | 'class' | 'type' | 'interface';
5
+ }
6
+ /** PND-020 Phase 2a -- AST-based extraction. The earlier regex
7
+ * implementation is gone; the public shape is preserved so callers
8
+ * (including the watcher + the test suite) work unchanged. types
9
+ * + interfaces are filtered here too (they aren't runtime
10
+ * primitives). For the full picture call extractExportsAst. */
11
+ export declare function extractExports(source: string, fileName?: string): ParsedExport[];
12
+ /** Sanitise a file path to a stable graph node id. */
13
+ declare function fileToNodeIdBase(projectRoot: string, fullPath: string): string;
14
+ /** Build node payloads from a file change. PND-020 Phase 2a -- uses
15
+ * the AST extractor for is_component / is_hook / jsdoc signals. */
16
+ declare function nodesForFile(projectRoot: string, _projectSlug: string, filePath: string): Promise<GraphNode[]>;
17
+ export interface WatcherHandle {
18
+ stop: () => Promise<void>;
19
+ }
20
+ /** Start watching the project's source dirs. Returns a handle
21
+ * with .stop() to close all watchers on server shutdown.
22
+ * NEVER throws. */
23
+ export declare function startComponentWatcher(opts: {
24
+ project_root: string;
25
+ project_slug: string;
26
+ log?: (msg: string) => void;
27
+ }): Promise<WatcherHandle>;
28
+ /** Test seam. */
29
+ export declare const _internal: {
30
+ fileToNodeIdBase: typeof fileToNodeIdBase;
31
+ nodesForFile: typeof nodesForFile;
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=graph_component_watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph_component_watcher.d.ts","sourceRoot":"","sources":["../../src/chat/graph_component_watcher.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAO5D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,CAAC;CAC7D;AAED;;;;gEAIgE;AAChE,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,SAAW,GAAG,YAAY,EAAE,CAIlF;AAED,sDAAsD;AACtD,iBAAS,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED;oEACoE;AACpE,iBAAe,YAAY,CACzB,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAC1D,OAAO,CAAC,SAAS,EAAE,CAAC,CAsCtB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;;oBAEoB;AACpB,wBAAsB,qBAAqB,CAAC,IAAI,EAAE;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAU,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC,GAAG,OAAO,CAAC,aAAa,CAAC,CAgGzB;AAED,iBAAiB;AACjB,eAAO,MAAM,SAAS;;;CAAqC,CAAC"}