@entelligentsia/forgecli 0.15.0 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1069) hide show
  1. package/CHANGELOG.md +66 -0
  2. package/dist/CHANGELOG-pi.md +55 -0
  3. package/dist/bin/argv.d.ts +2 -0
  4. package/dist/bin/argv.js +3 -1
  5. package/dist/bin/argv.js.map +1 -1
  6. package/dist/bin/config.d.ts +5 -0
  7. package/dist/bin/config.js +25 -4
  8. package/dist/bin/config.js.map +1 -1
  9. package/dist/bin/forge.js +12 -56
  10. package/dist/bin/forge.js.map +1 -1
  11. package/dist/bin/shared-parser.d.ts +23 -0
  12. package/dist/bin/shared-parser.js +12 -0
  13. package/dist/bin/shared-parser.js.map +1 -0
  14. package/dist/bin/update-cli.js +5 -0
  15. package/dist/bin/update-cli.js.map +1 -1
  16. package/dist/extensions/forgecli/approve.d.ts +4 -6
  17. package/dist/extensions/forgecli/approve.js +8 -73
  18. package/dist/extensions/forgecli/approve.js.map +1 -1
  19. package/dist/extensions/forgecli/audience-gate.d.ts +1 -1
  20. package/dist/extensions/forgecli/calibrate.d.ts +4 -1
  21. package/dist/extensions/forgecli/calibrate.js +4 -12
  22. package/dist/extensions/forgecli/calibrate.js.map +1 -1
  23. package/dist/extensions/forgecli/collate.d.ts +4 -6
  24. package/dist/extensions/forgecli/collate.js +8 -73
  25. package/dist/extensions/forgecli/collate.js.map +1 -1
  26. package/dist/extensions/forgecli/commit.d.ts +4 -6
  27. package/dist/extensions/forgecli/commit.js +8 -73
  28. package/dist/extensions/forgecli/commit.js.map +1 -1
  29. package/dist/extensions/forgecli/config-tui/handler.js +1 -0
  30. package/dist/extensions/forgecli/config-tui/handler.js.map +1 -1
  31. package/dist/extensions/forgecli/config-tui/screens/tier-menu.js +8 -1
  32. package/dist/extensions/forgecli/config-tui/screens/tier-menu.js.map +1 -1
  33. package/dist/extensions/forgecli/config-tui/state/init.js +1 -0
  34. package/dist/extensions/forgecli/config-tui/state/init.js.map +1 -1
  35. package/dist/extensions/forgecli/config-tui/state/model.d.ts +4 -0
  36. package/dist/extensions/forgecli/enhance.d.ts +4 -6
  37. package/dist/extensions/forgecli/enhance.js +8 -73
  38. package/dist/extensions/forgecli/enhance.js.map +1 -1
  39. package/dist/extensions/forgecli/fix-bug.d.ts +3 -0
  40. package/dist/extensions/forgecli/fix-bug.js +58 -46
  41. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  42. package/dist/extensions/forgecli/forge-artifact-tool.d.ts +2 -0
  43. package/dist/extensions/forgecli/forge-artifact-tool.js +185 -0
  44. package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -0
  45. package/dist/extensions/forgecli/forge-init/phase-descriptors.d.ts +72 -0
  46. package/dist/extensions/forgecli/forge-init/phase-descriptors.js +350 -0
  47. package/dist/extensions/forgecli/forge-init/phase-descriptors.js.map +1 -0
  48. package/dist/extensions/forgecli/forge-init/phase4-register.d.ts +20 -0
  49. package/dist/extensions/forgecli/forge-init/phase4-register.js +353 -0
  50. package/dist/extensions/forgecli/forge-init/phase4-register.js.map +1 -0
  51. package/dist/extensions/forgecli/forge-init/prompts.d.ts +10 -0
  52. package/dist/extensions/forgecli/forge-init/prompts.js +91 -0
  53. package/dist/extensions/forgecli/forge-init/prompts.js.map +1 -0
  54. package/dist/extensions/forgecli/forge-init/verifiers.d.ts +20 -0
  55. package/dist/extensions/forgecli/forge-init/verifiers.js +81 -0
  56. package/dist/extensions/forgecli/forge-init/verifiers.js.map +1 -0
  57. package/dist/extensions/forgecli/forge-init.js +106 -748
  58. package/dist/extensions/forgecli/forge-init.js.map +1 -1
  59. package/dist/extensions/forgecli/forge-root.d.ts +0 -1
  60. package/dist/extensions/forgecli/forge-root.js +1 -11
  61. package/dist/extensions/forgecli/forge-root.js.map +1 -1
  62. package/dist/extensions/forgecli/forge-subagent.d.ts +11 -1
  63. package/dist/extensions/forgecli/forge-subagent.js +6 -1
  64. package/dist/extensions/forgecli/forge-subagent.js.map +1 -1
  65. package/dist/extensions/forgecli/forge-tools.d.ts +27 -7
  66. package/dist/extensions/forgecli/forge-tools.js +109 -70
  67. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  68. package/dist/extensions/forgecli/forge-update-command.js +5 -0
  69. package/dist/extensions/forgecli/forge-update-command.js.map +1 -1
  70. package/dist/extensions/forgecli/friction-emit.d.ts +4 -2
  71. package/dist/extensions/forgecli/friction-emit.js +13 -12
  72. package/dist/extensions/forgecli/friction-emit.js.map +1 -1
  73. package/dist/extensions/forgecli/health-check.js +1 -1
  74. package/dist/extensions/forgecli/health-check.js.map +1 -1
  75. package/dist/extensions/forgecli/hook-dispatcher.d.ts +1 -0
  76. package/dist/extensions/forgecli/hook-dispatcher.js +5 -0
  77. package/dist/extensions/forgecli/hook-dispatcher.js.map +1 -1
  78. package/dist/extensions/forgecli/hooks/post-init-hook.js +1 -1
  79. package/dist/extensions/forgecli/hooks/post-sprint-hook.js +1 -1
  80. package/dist/extensions/forgecli/hooks/write-guard.js +1 -1
  81. package/dist/extensions/forgecli/hooks/write-guard.js.map +1 -1
  82. package/dist/extensions/forgecli/implement.d.ts +4 -6
  83. package/dist/extensions/forgecli/implement.js +8 -73
  84. package/dist/extensions/forgecli/implement.js.map +1 -1
  85. package/dist/extensions/forgecli/index.js +15 -38
  86. package/dist/extensions/forgecli/index.js.map +1 -1
  87. package/dist/extensions/forgecli/lib/catalog-helpers.d.ts +13 -0
  88. package/dist/extensions/forgecli/lib/catalog-helpers.js +51 -0
  89. package/dist/extensions/forgecli/lib/catalog-helpers.js.map +1 -0
  90. package/dist/extensions/forgecli/lib/catalog-loader.d.ts +46 -0
  91. package/dist/extensions/forgecli/lib/catalog-loader.js +176 -0
  92. package/dist/extensions/forgecli/lib/catalog-loader.js.map +1 -0
  93. package/dist/extensions/forgecli/lib/catalog-types.d.ts +16 -0
  94. package/dist/extensions/forgecli/lib/catalog-types.js +161 -0
  95. package/dist/extensions/forgecli/lib/catalog-types.js.map +1 -0
  96. package/dist/extensions/forgecli/lib/exec-helpers.d.ts +25 -0
  97. package/dist/extensions/forgecli/lib/exec-helpers.js +52 -0
  98. package/dist/extensions/forgecli/lib/exec-helpers.js.map +1 -0
  99. package/dist/extensions/forgecli/lib/forge-config.d.ts +20 -0
  100. package/dist/extensions/forgecli/lib/forge-config.js +43 -0
  101. package/dist/extensions/forgecli/lib/forge-config.js.map +1 -0
  102. package/dist/extensions/forgecli/lib/frontmatter-parser.d.ts +13 -0
  103. package/dist/extensions/forgecli/lib/frontmatter-parser.js +56 -0
  104. package/dist/extensions/forgecli/lib/frontmatter-parser.js.map +1 -0
  105. package/dist/extensions/forgecli/lib/manifest-checker.d.ts +22 -0
  106. package/dist/extensions/forgecli/lib/manifest-checker.js +64 -0
  107. package/dist/extensions/forgecli/lib/manifest-checker.js.map +1 -0
  108. package/dist/extensions/forgecli/lib/orchestrator-preflight.d.ts +46 -0
  109. package/dist/extensions/forgecli/lib/orchestrator-preflight.js +64 -0
  110. package/dist/extensions/forgecli/lib/orchestrator-preflight.js.map +1 -0
  111. package/dist/extensions/forgecli/lib/orchestrator-types.d.ts +20 -0
  112. package/dist/extensions/forgecli/lib/orchestrator-types.js +14 -0
  113. package/dist/extensions/forgecli/lib/orchestrator-types.js.map +1 -0
  114. package/dist/extensions/forgecli/lib/parsers.d.ts +25 -0
  115. package/dist/extensions/forgecli/lib/parsers.js +164 -0
  116. package/dist/extensions/forgecli/lib/parsers.js.map +1 -0
  117. package/dist/extensions/forgecli/lib/shared-fs-utils.d.ts +12 -0
  118. package/dist/extensions/forgecli/lib/shared-fs-utils.js +37 -0
  119. package/dist/extensions/forgecli/lib/shared-fs-utils.js.map +1 -0
  120. package/dist/extensions/forgecli/lib/spawn-store-cli.d.ts +44 -0
  121. package/dist/extensions/forgecli/lib/spawn-store-cli.js +93 -0
  122. package/dist/extensions/forgecli/lib/spawn-store-cli.js.map +1 -0
  123. package/dist/extensions/forgecli/lib/state-helpers.d.ts +33 -0
  124. package/dist/extensions/forgecli/lib/state-helpers.js +69 -0
  125. package/dist/extensions/forgecli/lib/state-helpers.js.map +1 -0
  126. package/dist/extensions/forgecli/lib/store-cli-timeouts.d.ts +4 -0
  127. package/dist/extensions/forgecli/lib/store-cli-timeouts.js +10 -0
  128. package/dist/extensions/forgecli/lib/store-cli-timeouts.js.map +1 -0
  129. package/dist/extensions/forgecli/lib/versions.d.ts +56 -0
  130. package/dist/extensions/forgecli/lib/versions.js +116 -0
  131. package/dist/extensions/forgecli/lib/versions.js.map +1 -0
  132. package/dist/extensions/forgecli/loaders/persona-skill-loader.js +2 -2
  133. package/dist/extensions/forgecli/loaders/persona-skill-loader.js.map +1 -1
  134. package/dist/extensions/forgecli/migration-engine.d.ts +6 -0
  135. package/dist/extensions/forgecli/migration-engine.js +59 -39
  136. package/dist/extensions/forgecli/migration-engine.js.map +1 -1
  137. package/dist/extensions/forgecli/parsers/persona-skill-loader.d.ts +45 -0
  138. package/dist/extensions/forgecli/parsers/persona-skill-loader.js +201 -0
  139. package/dist/extensions/forgecli/parsers/persona-skill-loader.js.map +1 -0
  140. package/dist/extensions/forgecli/parsers/workflow-loader.d.ts +41 -0
  141. package/dist/extensions/forgecli/parsers/workflow-loader.js +87 -0
  142. package/dist/extensions/forgecli/parsers/workflow-loader.js.map +1 -0
  143. package/dist/extensions/forgecli/plan.d.ts +4 -6
  144. package/dist/extensions/forgecli/plan.js +9 -73
  145. package/dist/extensions/forgecli/plan.js.map +1 -1
  146. package/dist/extensions/forgecli/retrospective.d.ts +2 -1
  147. package/dist/extensions/forgecli/retrospective.js +6 -36
  148. package/dist/extensions/forgecli/retrospective.js.map +1 -1
  149. package/dist/extensions/forgecli/review-code.d.ts +4 -6
  150. package/dist/extensions/forgecli/review-code.js +8 -73
  151. package/dist/extensions/forgecli/review-code.js.map +1 -1
  152. package/dist/extensions/forgecli/review-plan.d.ts +4 -6
  153. package/dist/extensions/forgecli/review-plan.js +8 -73
  154. package/dist/extensions/forgecli/review-plan.js.map +1 -1
  155. package/dist/extensions/forgecli/run-sprint.d.ts +2 -0
  156. package/dist/extensions/forgecli/run-sprint.js +53 -52
  157. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  158. package/dist/extensions/forgecli/run-task.d.ts +3 -0
  159. package/dist/extensions/forgecli/run-task.js +39 -68
  160. package/dist/extensions/forgecli/run-task.js.map +1 -1
  161. package/dist/extensions/forgecli/skill-curation-flag.js +5 -5
  162. package/dist/extensions/forgecli/skill-curation-flag.js.map +1 -1
  163. package/dist/extensions/forgecli/skill-retriever.js +5 -5
  164. package/dist/extensions/forgecli/skill-retriever.js.map +1 -1
  165. package/dist/extensions/forgecli/skill-usage-tracker.js +5 -5
  166. package/dist/extensions/forgecli/skill-usage-tracker.js.map +1 -1
  167. package/dist/extensions/forgecli/store-error-remediation.d.ts +65 -0
  168. package/dist/extensions/forgecli/store-error-remediation.js +299 -0
  169. package/dist/extensions/forgecli/store-error-remediation.js.map +1 -0
  170. package/dist/extensions/forgecli/store-resolver.js +3 -12
  171. package/dist/extensions/forgecli/store-resolver.js.map +1 -1
  172. package/dist/extensions/forgecli/store-validator.js +6 -11
  173. package/dist/extensions/forgecli/store-validator.js.map +1 -1
  174. package/dist/extensions/forgecli/subagent/agents.d.ts +4 -0
  175. package/dist/extensions/forgecli/subagent/agents.js +5 -8
  176. package/dist/extensions/forgecli/subagent/agents.js.map +1 -1
  177. package/dist/extensions/forgecli/transition-guard.js +20 -61
  178. package/dist/extensions/forgecli/transition-guard.js.map +1 -1
  179. package/dist/extensions/forgecli/validate.d.ts +4 -6
  180. package/dist/extensions/forgecli/validate.js +8 -73
  181. package/dist/extensions/forgecli/validate.js.map +1 -1
  182. package/dist/extensions/forgecli/wf-engine/engine.js +2 -2
  183. package/dist/extensions/forgecli/wf-engine/engine.js.map +1 -1
  184. package/dist/extensions/forgecli/wf-engine/loader.d.ts +1 -1
  185. package/dist/extensions/forgecli/wf-engine/loader.js +1 -1
  186. package/dist/extensions/forgecli/wf-engine/loader.js.map +1 -1
  187. package/dist/forge-payload/.base-pack/skills/architect-skills.md +1 -0
  188. package/dist/forge-payload/.base-pack/skills/bug-fixer-skills.md +1 -0
  189. package/dist/forge-payload/.base-pack/skills/collator-skills.md +1 -0
  190. package/dist/forge-payload/.base-pack/skills/engineer-skills.md +1 -0
  191. package/dist/forge-payload/.base-pack/skills/generic-skills.md +1 -0
  192. package/dist/forge-payload/.base-pack/skills/qa-engineer-skills.md +1 -0
  193. package/dist/forge-payload/.base-pack/skills/supervisor-skills.md +1 -0
  194. package/dist/forge-payload/.base-pack/workflows/_fragments/generation-instructions.md +81 -0
  195. package/dist/forge-payload/.base-pack/workflows/_fragments/iron-laws.md +72 -0
  196. package/dist/forge-payload/.base-pack/workflows/_fragments/store-cli-verbs.md +11 -1
  197. package/dist/forge-payload/.base-pack/workflows/_fragments/store-write-verification.md +11 -0
  198. package/dist/forge-payload/.base-pack/workflows/architect_approve.md +11 -12
  199. package/dist/forge-payload/.base-pack/workflows/architect_review_sprint_completion.md +4 -1
  200. package/dist/forge-payload/.base-pack/workflows/architect_sprint_intake.md +10 -1
  201. package/dist/forge-payload/.base-pack/workflows/architect_sprint_plan.md +8 -1
  202. package/dist/forge-payload/.base-pack/workflows/collator_agent.md +18 -1
  203. package/dist/forge-payload/.base-pack/workflows/commit_task.md +5 -10
  204. package/dist/forge-payload/.base-pack/workflows/enhance.md +7 -0
  205. package/dist/forge-payload/.base-pack/workflows/fix_bug.md +9 -2
  206. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +22 -35
  207. package/dist/forge-payload/.base-pack/workflows/migrate_structural.md +9 -0
  208. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +4 -0
  209. package/dist/forge-payload/.base-pack/workflows/plan_task.md +17 -21
  210. package/dist/forge-payload/.base-pack/workflows/review_code.md +13 -20
  211. package/dist/forge-payload/.base-pack/workflows/review_plan.md +10 -21
  212. package/dist/forge-payload/.base-pack/workflows/sprint_retrospective.md +10 -1
  213. package/dist/forge-payload/.base-pack/workflows/update_implementation.md +5 -10
  214. package/dist/forge-payload/.base-pack/workflows/update_plan.md +5 -10
  215. package/dist/forge-payload/.base-pack/workflows/validate_task.md +11 -12
  216. package/dist/forge-payload/.claude-plugin/plugin.json +5 -5
  217. package/dist/forge-payload/.schemas/_defs/phaseSummary.schema.json +18 -0
  218. package/dist/forge-payload/.schemas/bug.schema.json +8 -24
  219. package/dist/forge-payload/.schemas/config.schema.json +165 -33
  220. package/dist/forge-payload/.schemas/enum-catalog.json +71 -0
  221. package/dist/forge-payload/.schemas/migrations.json +371 -149
  222. package/dist/forge-payload/.schemas/task.schema.json +6 -21
  223. package/dist/forge-payload/.schemas/transitions/bug.json +31 -0
  224. package/dist/forge-payload/.schemas/transitions/sprint.json +46 -0
  225. package/dist/forge-payload/.schemas/transitions/task.json +109 -0
  226. package/dist/forge-payload/commands/health.md +3 -3
  227. package/dist/forge-payload/hooks/check-update.cjs +255 -0
  228. package/dist/forge-payload/hooks/forge-permissions.cjs +171 -0
  229. package/dist/forge-payload/hooks/forge-permissions.js +6 -0
  230. package/dist/forge-payload/hooks/post-init.cjs +120 -0
  231. package/dist/forge-payload/hooks/post-sprint.cjs +108 -0
  232. package/dist/forge-payload/hooks/triage-error.cjs +104 -0
  233. package/dist/forge-payload/hooks/triage-error.js +6 -0
  234. package/dist/forge-payload/hooks/validate-write.cjs +250 -0
  235. package/dist/forge-payload/hooks/validate-write.js +25 -11
  236. package/dist/forge-payload/integrity.json +13 -7
  237. package/dist/forge-payload/meta/workflows/_fragments/generation-instructions.md +81 -0
  238. package/dist/forge-payload/meta/workflows/_fragments/iron-laws.md +72 -0
  239. package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +11 -1
  240. package/dist/forge-payload/meta/workflows/_fragments/store-write-verification.md +11 -0
  241. package/dist/forge-payload/meta/workflows/meta-approve.md +9 -11
  242. package/dist/forge-payload/meta/workflows/meta-collate.md +16 -0
  243. package/dist/forge-payload/meta/workflows/meta-commit.md +3 -9
  244. package/dist/forge-payload/meta/workflows/meta-enhance.md +16 -1
  245. package/dist/forge-payload/meta/workflows/meta-fix-bug.md +8 -2
  246. package/dist/forge-payload/meta/workflows/meta-implement.md +20 -35
  247. package/dist/forge-payload/meta/workflows/meta-migrate.md +18 -0
  248. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +2 -0
  249. package/dist/forge-payload/meta/workflows/meta-plan-task.md +15 -21
  250. package/dist/forge-payload/meta/workflows/meta-quiz-agent.md +4 -1
  251. package/dist/forge-payload/meta/workflows/meta-retrospective.md +8 -0
  252. package/dist/forge-payload/meta/workflows/meta-review-implementation.md +11 -19
  253. package/dist/forge-payload/meta/workflows/meta-review-plan.md +10 -16
  254. package/dist/forge-payload/meta/workflows/meta-review-sprint-completion.md +3 -0
  255. package/dist/forge-payload/meta/workflows/meta-sprint-intake.md +8 -0
  256. package/dist/forge-payload/meta/workflows/meta-sprint-plan.md +5 -0
  257. package/dist/forge-payload/meta/workflows/meta-update-implementation.md +3 -9
  258. package/dist/forge-payload/meta/workflows/meta-update-plan.md +3 -9
  259. package/dist/forge-payload/meta/workflows/meta-validate.md +9 -11
  260. package/dist/forge-payload/schemas/structure-manifest.json +8 -6
  261. package/dist/forge-payload/tools/build-context-pack.cjs +3 -2
  262. package/dist/forge-payload/tools/friction-emit.cjs +2 -1
  263. package/dist/forge-payload/tools/lib/frontmatter.cjs +62 -0
  264. package/dist/forge-payload/tools/lib/fsutil.cjs +61 -0
  265. package/dist/forge-payload/tools/lib/json-io.cjs +43 -0
  266. package/dist/forge-payload/tools/lib/schema-loader.cjs +139 -0
  267. package/dist/forge-payload/tools/lib/slug.cjs +39 -0
  268. package/dist/forge-payload/tools/lib/store-facade.cjs +6 -5
  269. package/dist/forge-payload/tools/preflight-gate.cjs +55 -7
  270. package/dist/forge-payload/tools/seed-store.cjs +1 -13
  271. package/dist/forge-payload/tools/store-cli.cjs +55 -108
  272. package/dist/forge-payload/tools/store.cjs +26 -37
  273. package/dist/forge-payload/tools/substitute-placeholders.cjs +74 -35
  274. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +1 -1
  275. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  276. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +23 -0
  277. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  278. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +2 -2
  279. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  280. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +1 -1
  281. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  282. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +2 -2
  283. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  284. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  285. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +5 -5
  286. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  287. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  288. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +4 -4
  289. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  290. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  291. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +1 -1
  292. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
  293. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
  294. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +1 -1
  295. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  296. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  297. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +4 -0
  298. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +1 -0
  299. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +3 -0
  300. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +1 -0
  301. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts +2 -2
  302. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.d.ts.map +1 -1
  303. package/node_modules/@earendil-works/pi-agent-core/dist/harness/messages.js.map +1 -1
  304. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts +1 -1
  305. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.d.ts.map +1 -1
  306. package/node_modules/@earendil-works/pi-agent-core/dist/harness/prompt-templates.js.map +1 -1
  307. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts +1 -1
  308. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +1 -1
  309. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +1 -1
  310. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +1 -1
  311. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
  312. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
  313. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts +1 -1
  314. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.d.ts.map +1 -1
  315. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-repo.js.map +1 -1
  316. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts +1 -1
  317. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +1 -1
  318. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +1 -1
  319. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +20 -0
  320. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +1 -0
  321. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +92 -0
  322. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +1 -0
  323. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +18 -0
  324. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +1 -0
  325. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +42 -0
  326. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +1 -0
  327. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +10 -0
  328. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +1 -0
  329. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +31 -0
  330. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +1 -0
  331. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts +2 -2
  332. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +1 -1
  333. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +1 -1
  334. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +2 -2
  335. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  336. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  337. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +30 -0
  338. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +1 -0
  339. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +170 -0
  340. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +1 -0
  341. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +26 -0
  342. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +1 -0
  343. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +90 -0
  344. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +1 -0
  345. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts +1 -1
  346. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.d.ts.map +1 -1
  347. package/node_modules/@earendil-works/pi-agent-core/dist/harness/skills.js.map +1 -1
  348. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts +1 -1
  349. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.d.ts.map +1 -1
  350. package/node_modules/@earendil-works/pi-agent-core/dist/harness/system-prompt.js.map +1 -1
  351. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +10 -22
  352. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  353. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js +17 -23
  354. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  355. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +1 -1
  356. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
  357. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
  358. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +19 -19
  359. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  360. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  361. package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts +2 -2
  362. package/node_modules/@earendil-works/pi-agent-core/dist/node.d.ts.map +1 -1
  363. package/node_modules/@earendil-works/pi-agent-core/dist/node.js.map +1 -1
  364. package/node_modules/@earendil-works/pi-agent-core/package.json +9 -10
  365. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +1 -1
  366. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -1
  367. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -1
  368. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts +2 -2
  369. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.d.ts.map +1 -1
  370. package/node_modules/@earendil-works/pi-ai/dist/bedrock-provider.js.map +1 -1
  371. package/node_modules/@earendil-works/pi-ai/dist/cli.d.ts.map +1 -1
  372. package/node_modules/@earendil-works/pi-ai/dist/cli.js +14 -0
  373. package/node_modules/@earendil-works/pi-ai/dist/cli.js.map +1 -1
  374. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts +1 -1
  375. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  376. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +10 -2
  377. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  378. package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts +2 -2
  379. package/node_modules/@earendil-works/pi-ai/dist/image-models.d.ts.map +1 -1
  380. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  381. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  382. package/node_modules/@earendil-works/pi-ai/dist/image-models.js.map +1 -1
  383. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +1 -1
  384. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
  385. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
  386. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts +2 -2
  387. package/node_modules/@earendil-works/pi-ai/dist/images.d.ts.map +1 -1
  388. package/node_modules/@earendil-works/pi-ai/dist/images.js.map +1 -1
  389. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +29 -29
  390. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  391. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  392. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +2 -2
  393. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  394. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +317 -509
  395. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  396. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +400 -620
  397. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  398. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  399. package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts +1 -1
  400. package/node_modules/@earendil-works/pi-ai/dist/oauth.d.ts.map +1 -1
  401. package/node_modules/@earendil-works/pi-ai/dist/oauth.js.map +1 -1
  402. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -1
  403. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  404. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +5 -2
  405. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  406. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts +23 -6
  407. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  408. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +11 -23
  409. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  410. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts +1 -1
  411. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  412. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +2 -1
  413. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  414. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts +1 -1
  415. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.d.ts.map +1 -1
  416. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare.js.map +1 -1
  417. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts +1 -1
  418. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.d.ts.map +1 -1
  419. package/node_modules/@earendil-works/pi-ai/dist/providers/faux.js.map +1 -1
  420. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts +1 -1
  421. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.d.ts.map +1 -1
  422. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot-headers.js.map +1 -1
  423. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts +1 -1
  424. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.d.ts.map +1 -1
  425. package/node_modules/@earendil-works/pi-ai/dist/providers/google-shared.js.map +1 -1
  426. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts +2 -2
  427. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  428. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  429. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts +2 -2
  430. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  431. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  432. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts +1 -1
  433. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  434. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  435. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts +1 -1
  436. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.d.ts.map +1 -1
  437. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -1
  438. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts +1 -1
  439. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  440. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  441. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts +1 -1
  442. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  443. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +12 -3
  444. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  445. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts +1 -1
  446. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  447. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +2 -1
  448. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  449. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts +3 -0
  450. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.d.ts.map +1 -0
  451. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js +10 -0
  452. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-prompt-cache.js.map +1 -0
  453. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts +2 -2
  454. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  455. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  456. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts +1 -1
  457. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  458. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +2 -1
  459. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  460. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts +10 -10
  461. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.d.ts.map +1 -1
  462. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js +13 -2
  463. package/node_modules/@earendil-works/pi-ai/dist/providers/register-builtins.js.map +1 -1
  464. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts +3 -3
  465. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  466. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +6 -11
  467. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  468. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts +1 -1
  469. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.d.ts.map +1 -1
  470. package/node_modules/@earendil-works/pi-ai/dist/providers/transform-messages.js.map +1 -1
  471. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts +3 -3
  472. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  473. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  474. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +13 -3
  475. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  476. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  477. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts +3 -3
  478. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.d.ts.map +1 -1
  479. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js +2 -2
  480. package/node_modules/@earendil-works/pi-ai/dist/utils/event-stream.js.map +1 -1
  481. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts +1 -1
  482. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.d.ts.map +1 -1
  483. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/anthropic.js.map +1 -1
  484. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +19 -0
  485. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -0
  486. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +55 -0
  487. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -0
  488. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts +3 -3
  489. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  490. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +45 -69
  491. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  492. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +6 -5
  493. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  494. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -0
  495. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  496. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +1 -1
  497. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  498. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +1 -1
  499. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  500. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts +9 -2
  501. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.d.ts.map +1 -1
  502. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/types.js.map +1 -1
  503. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +1 -1
  504. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  505. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  506. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts +1 -1
  507. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.d.ts.map +1 -1
  508. package/node_modules/@earendil-works/pi-ai/dist/utils/validation.js.map +1 -1
  509. package/node_modules/@earendil-works/pi-ai/package.json +15 -16
  510. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +55 -0
  511. package/node_modules/@earendil-works/pi-coding-agent/README.md +6 -4
  512. package/node_modules/@earendil-works/pi-coding-agent/dist/bun/cli.d.ts.map +1 -1
  513. package/node_modules/@earendil-works/pi-coding-agent/dist/bun/cli.js.map +1 -1
  514. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +1 -1
  515. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  516. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  517. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.d.ts +2 -2
  518. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.d.ts.map +1 -1
  519. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js.map +1 -1
  520. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.d.ts.map +1 -1
  521. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/file-processor.js.map +1 -1
  522. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/initial-message.d.ts +1 -1
  523. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/initial-message.d.ts.map +1 -1
  524. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/initial-message.js.map +1 -1
  525. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.d.ts +1 -1
  526. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.d.ts.map +1 -1
  527. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/list-models.js.map +1 -1
  528. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/session-picker.d.ts +1 -1
  529. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/session-picker.d.ts.map +1 -1
  530. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/session-picker.js.map +1 -1
  531. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.d.ts.map +1 -1
  532. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js +4 -10
  533. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js.map +1 -1
  534. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  535. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +13 -14
  536. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  537. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts +9 -9
  538. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.d.ts.map +1 -1
  539. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js +6 -6
  540. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-runtime.js.map +1 -1
  541. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +7 -7
  542. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
  543. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +3 -2
  544. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
  545. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +23 -21
  546. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  547. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +99 -137
  548. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  549. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-guidance.d.ts.map +1 -1
  550. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-guidance.js.map +1 -1
  551. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts +1 -1
  552. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.d.ts.map +1 -1
  553. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js +3 -2
  554. package/node_modules/@earendil-works/pi-coding-agent/dist/core/auth-storage.js.map +1 -1
  555. package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.d.ts +1 -1
  556. package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.d.ts.map +1 -1
  557. package/node_modules/@earendil-works/pi-coding-agent/dist/core/bash-executor.js.map +1 -1
  558. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts +3 -3
  559. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  560. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/branch-summarization.js.map +1 -1
  561. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts +2 -2
  562. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  563. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  564. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/index.d.ts +3 -3
  565. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/index.d.ts.map +1 -1
  566. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/index.js.map +1 -1
  567. package/node_modules/@earendil-works/pi-coding-agent/dist/core/exec.d.ts.map +1 -1
  568. package/node_modules/@earendil-works/pi-coding-agent/dist/core/exec.js.map +1 -1
  569. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.d.ts +1 -1
  570. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.d.ts.map +1 -1
  571. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.js +8 -6
  572. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/index.js.map +1 -1
  573. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/template.js +6 -3
  574. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/tool-renderer.d.ts +2 -2
  575. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/tool-renderer.d.ts.map +1 -1
  576. package/node_modules/@earendil-works/pi-coding-agent/dist/core/export-html/tool-renderer.js.map +1 -1
  577. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts +8 -8
  578. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.d.ts.map +1 -1
  579. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/index.js.map +1 -1
  580. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts +2 -2
  581. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.d.ts.map +1 -1
  582. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js +12 -29
  583. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/loader.js.map +1 -1
  584. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +6 -6
  585. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  586. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  587. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +19 -19
  588. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  589. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  590. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/wrapper.d.ts +2 -2
  591. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/wrapper.d.ts.map +1 -1
  592. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/wrapper.js.map +1 -1
  593. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.d.ts.map +1 -1
  594. package/node_modules/@earendil-works/pi-coding-agent/dist/core/footer-data-provider.js.map +1 -1
  595. package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.d.ts +21 -0
  596. package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.d.ts.map +1 -0
  597. package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js +48 -0
  598. package/node_modules/@earendil-works/pi-coding-agent/dist/core/http-dispatcher.js.map +1 -0
  599. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts +8 -8
  600. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.d.ts.map +1 -1
  601. package/node_modules/@earendil-works/pi-coding-agent/dist/core/index.js.map +1 -1
  602. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.d.ts.map +1 -1
  603. package/node_modules/@earendil-works/pi-coding-agent/dist/core/keybindings.js.map +1 -1
  604. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts +4 -4
  605. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  606. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +7 -3
  607. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  608. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts +1 -1
  609. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  610. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  611. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts +2 -1
  612. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  613. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +48 -32
  614. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  615. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts +1 -1
  616. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.d.ts.map +1 -1
  617. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js +6 -20
  618. package/node_modules/@earendil-works/pi-coding-agent/dist/core/prompt-templates.js.map +1 -1
  619. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts.map +1 -1
  620. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js.map +1 -1
  621. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts +9 -9
  622. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.d.ts.map +1 -1
  623. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js +38 -31
  624. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resource-loader.js.map +1 -1
  625. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts +13 -13
  626. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  627. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +9 -4
  628. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
  629. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts +1 -1
  630. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  631. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +32 -24
  632. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  633. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +3 -0
  634. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  635. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +26 -13
  636. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  637. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.d.ts +2 -2
  638. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.d.ts.map +1 -1
  639. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js +8 -22
  640. package/node_modules/@earendil-works/pi-coding-agent/dist/core/skills.js.map +1 -1
  641. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts +1 -1
  642. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
  643. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
  644. package/node_modules/@earendil-works/pi-coding-agent/dist/core/source-info.d.ts +1 -1
  645. package/node_modules/@earendil-works/pi-coding-agent/dist/core/source-info.d.ts.map +1 -1
  646. package/node_modules/@earendil-works/pi-coding-agent/dist/core/source-info.js.map +1 -1
  647. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts +1 -1
  648. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  649. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +1 -0
  650. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  651. package/node_modules/@earendil-works/pi-coding-agent/dist/core/telemetry.d.ts +1 -1
  652. package/node_modules/@earendil-works/pi-coding-agent/dist/core/telemetry.d.ts.map +1 -1
  653. package/node_modules/@earendil-works/pi-coding-agent/dist/core/telemetry.js.map +1 -1
  654. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts +2 -2
  655. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.d.ts.map +1 -1
  656. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js +9 -3
  657. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/bash.js.map +1 -1
  658. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.d.ts +3 -1
  659. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.d.ts.map +1 -1
  660. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js +8 -1
  661. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit-diff.js.map +1 -1
  662. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts +5 -3
  663. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  664. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +3 -2
  665. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  666. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts +2 -2
  667. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  668. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  669. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts +2 -2
  670. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  671. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  672. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.d.ts +17 -17
  673. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.d.ts.map +1 -1
  674. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/index.js.map +1 -1
  675. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts +2 -2
  676. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  677. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  678. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.d.ts +3 -1
  679. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.d.ts.map +1 -1
  680. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.js +9 -3
  681. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/output-accumulator.js.map +1 -1
  682. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.d.ts.map +1 -1
  683. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js +3 -22
  684. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/path-utils.js.map +1 -1
  685. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts +2 -2
  686. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  687. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  688. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts.map +1 -1
  689. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js.map +1 -1
  690. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/tool-definition-wrapper.d.ts +1 -1
  691. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  692. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  693. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.d.ts.map +1 -1
  694. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.js +12 -2
  695. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/truncate.js.map +1 -1
  696. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts +1 -1
  697. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  698. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  699. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +30 -29
  700. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  701. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -1
  702. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  703. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts +1 -1
  704. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  705. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +7 -6
  706. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  707. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  708. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
  709. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts +5 -5
  710. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.d.ts.map +1 -1
  711. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/index.js.map +1 -1
  712. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/armin.d.ts.map +1 -1
  713. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/armin.js.map +1 -1
  714. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  715. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -1
  716. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts +1 -1
  717. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.d.ts.map +1 -1
  718. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bash-execution.js.map +1 -1
  719. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bordered-loader.d.ts +1 -1
  720. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bordered-loader.d.ts.map +1 -1
  721. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/bordered-loader.js.map +1 -1
  722. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/branch-summary-message.d.ts +1 -1
  723. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/branch-summary-message.d.ts.map +1 -1
  724. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/branch-summary-message.js.map +1 -1
  725. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/compaction-summary-message.d.ts +1 -1
  726. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  727. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  728. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.d.ts +2 -2
  729. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  730. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js +1 -1
  731. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js.map +1 -1
  732. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.d.ts +2 -2
  733. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.d.ts.map +1 -1
  734. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.js +2 -2
  735. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/countdown-timer.js.map +1 -1
  736. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.d.ts +1 -1
  737. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.d.ts.map +1 -1
  738. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-editor.js.map +1 -1
  739. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-message.d.ts +2 -2
  740. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  741. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/custom-message.js.map +1 -1
  742. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/daxnuts.d.ts.map +1 -1
  743. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/daxnuts.js.map +1 -1
  744. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/diff.d.ts.map +1 -1
  745. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/diff.js.map +1 -1
  746. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/dynamic-border.d.ts.map +1 -1
  747. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/dynamic-border.js.map +1 -1
  748. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/earendil-announcement.d.ts.map +1 -1
  749. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/earendil-announcement.js.map +1 -1
  750. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.d.ts +1 -1
  751. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  752. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-editor.js.map +1 -1
  753. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-input.d.ts.map +1 -1
  754. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-input.js.map +1 -1
  755. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-selector.d.ts.map +1 -1
  756. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/extension-selector.js.map +1 -1
  757. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts +4 -3
  758. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.d.ts.map +1 -1
  759. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js +16 -7
  760. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/footer.js.map +1 -1
  761. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts +31 -31
  762. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.d.ts.map +1 -1
  763. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/index.js.map +1 -1
  764. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/keybinding-hints.d.ts.map +1 -1
  765. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/keybinding-hints.js.map +1 -1
  766. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +10 -2
  767. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  768. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +31 -6
  769. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  770. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts +2 -2
  771. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  772. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/model-selector.js.map +1 -1
  773. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/oauth-selector.d.ts +1 -1
  774. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  775. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  776. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.d.ts.map +1 -1
  777. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/scoped-models-selector.js.map +1 -1
  778. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector-search.d.ts +1 -1
  779. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector-search.d.ts.map +1 -1
  780. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector-search.js.map +1 -1
  781. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.d.ts +3 -3
  782. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.d.ts.map +1 -1
  783. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/session-selector.js.map +1 -1
  784. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts +3 -1
  785. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  786. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js +15 -0
  787. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/settings-selector.js.map +1 -1
  788. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/show-images-selector.d.ts.map +1 -1
  789. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/show-images-selector.js.map +1 -1
  790. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/skill-invocation-message.d.ts +1 -1
  791. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/skill-invocation-message.d.ts.map +1 -1
  792. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/skill-invocation-message.js.map +1 -1
  793. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/theme-selector.d.ts.map +1 -1
  794. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/theme-selector.js.map +1 -1
  795. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  796. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  797. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts +1 -1
  798. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  799. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  800. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tree-selector.d.ts +1 -1
  801. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tree-selector.d.ts.map +1 -1
  802. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/tree-selector.js.map +1 -1
  803. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message-selector.d.ts.map +1 -1
  804. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message-selector.js.map +1 -1
  805. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  806. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
  807. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +4 -3
  808. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  809. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +37 -14
  810. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  811. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts +1 -1
  812. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  813. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +37 -28
  814. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  815. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts +1 -1
  816. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.d.ts.map +1 -1
  817. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/print-mode.js.map +1 -1
  818. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts +5 -5
  819. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  820. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js +1 -1
  821. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-client.js.map +1 -1
  822. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts +2 -2
  823. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  824. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  825. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +4 -4
  826. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  827. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
  828. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
  829. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +40 -1
  830. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
  831. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts +1 -1
  832. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts.map +1 -1
  833. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js.map +1 -1
  834. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-image.d.ts.map +1 -1
  835. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard-image.js.map +1 -1
  836. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.d.ts.map +1 -1
  837. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/clipboard.js.map +1 -1
  838. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/exif-orientation.d.ts +1 -1
  839. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/exif-orientation.d.ts.map +1 -1
  840. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/exif-orientation.js.map +1 -1
  841. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-convert.d.ts.map +1 -1
  842. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-convert.js.map +1 -1
  843. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.d.ts.map +1 -1
  844. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/image-resize.js.map +1 -1
  845. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.d.ts +16 -1
  846. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.d.ts.map +1 -1
  847. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js +49 -7
  848. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/paths.js.map +1 -1
  849. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.d.ts.map +1 -1
  850. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/shell.js.map +1 -1
  851. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.d.ts.map +1 -1
  852. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/syntax-highlight.js.map +1 -1
  853. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.d.ts.map +1 -1
  854. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/tools-manager.js.map +1 -1
  855. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.d.ts +2 -1
  856. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.d.ts.map +1 -1
  857. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js +9 -4
  858. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/version-check.js.map +1 -1
  859. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/windows-self-update.d.ts.map +1 -1
  860. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/windows-self-update.js.map +1 -1
  861. package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +44 -12
  862. package/node_modules/@earendil-works/pi-coding-agent/docs/index.md +6 -4
  863. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +8 -2
  864. package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +5 -4
  865. package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +3 -1
  866. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +2 -0
  867. package/node_modules/@earendil-works/pi-coding-agent/docs/termux.md +1 -1
  868. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +2 -2
  869. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +2 -2
  870. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  871. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/test.ts +1 -1
  872. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/doom-component.ts +2 -2
  873. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/doom-overlay/index.ts +3 -3
  874. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/overlay-qa-tests.ts +97 -66
  875. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/overlay-test.ts +7 -4
  876. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/plan-mode/index.ts +1 -1
  877. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +2 -2
  878. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/subagent/index.ts +1 -1
  879. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +3 -3
  880. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +1425 -0
  881. package/node_modules/@earendil-works/pi-coding-agent/package.json +32 -31
  882. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.d.ts.map +1 -1
  883. package/node_modules/@earendil-works/pi-tui/dist/autocomplete.js.map +1 -1
  884. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts +1 -1
  885. package/node_modules/@earendil-works/pi-tui/dist/components/box.d.ts.map +1 -1
  886. package/node_modules/@earendil-works/pi-tui/dist/components/box.js.map +1 -1
  887. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts +1 -1
  888. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.d.ts.map +1 -1
  889. package/node_modules/@earendil-works/pi-tui/dist/components/cancellable-loader.js.map +1 -1
  890. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts +3 -3
  891. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  892. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  893. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts +2 -2
  894. package/node_modules/@earendil-works/pi-tui/dist/components/image.d.ts.map +1 -1
  895. package/node_modules/@earendil-works/pi-tui/dist/components/image.js.map +1 -1
  896. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts +1 -1
  897. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  898. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  899. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts +5 -5
  900. package/node_modules/@earendil-works/pi-tui/dist/components/loader.d.ts.map +1 -1
  901. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js +4 -4
  902. package/node_modules/@earendil-works/pi-tui/dist/components/loader.js.map +1 -1
  903. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +1 -1
  904. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  905. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  906. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts +1 -1
  907. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.d.ts.map +1 -1
  908. package/node_modules/@earendil-works/pi-tui/dist/components/select-list.js.map +1 -1
  909. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts +1 -1
  910. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.d.ts.map +1 -1
  911. package/node_modules/@earendil-works/pi-tui/dist/components/settings-list.js.map +1 -1
  912. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts +1 -1
  913. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.d.ts.map +1 -1
  914. package/node_modules/@earendil-works/pi-tui/dist/components/spacer.js.map +1 -1
  915. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts +1 -1
  916. package/node_modules/@earendil-works/pi-tui/dist/components/text.d.ts.map +1 -1
  917. package/node_modules/@earendil-works/pi-tui/dist/components/text.js.map +1 -1
  918. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts +1 -1
  919. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.d.ts.map +1 -1
  920. package/node_modules/@earendil-works/pi-tui/dist/components/truncated-text.js.map +1 -1
  921. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts +2 -2
  922. package/node_modules/@earendil-works/pi-tui/dist/editor-component.d.ts.map +1 -1
  923. package/node_modules/@earendil-works/pi-tui/dist/editor-component.js.map +1 -1
  924. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +22 -22
  925. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  926. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  927. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts +1 -1
  928. package/node_modules/@earendil-works/pi-tui/dist/keybindings.d.ts.map +1 -1
  929. package/node_modules/@earendil-works/pi-tui/dist/keybindings.js.map +1 -1
  930. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  931. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +25 -15
  932. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  933. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts +2 -2
  934. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  935. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  936. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-arm64/win32-console-mode.node +0 -0
  937. package/node_modules/@earendil-works/pi-tui/native/win32/prebuilds/win32-x64/win32-console-mode.node +0 -0
  938. package/node_modules/@earendil-works/pi-tui/package.json +8 -11
  939. package/package.json +13 -8
  940. package/dist/bin/forgecli.d.ts +0 -2
  941. package/dist/bin/forgecli.js +0 -6
  942. package/dist/bin/forgecli.js.map +0 -1
  943. package/node_modules/koffi/CHANGELOG.md +0 -1093
  944. package/node_modules/koffi/LICENSE.txt +0 -22
  945. package/node_modules/koffi/README.md +0 -43
  946. package/node_modules/koffi/build/koffi/darwin_arm64/koffi.node +0 -0
  947. package/node_modules/koffi/build/koffi/darwin_x64/koffi.node +0 -0
  948. package/node_modules/koffi/build/koffi/freebsd_arm64/koffi.node +0 -0
  949. package/node_modules/koffi/build/koffi/freebsd_ia32/koffi.node +0 -0
  950. package/node_modules/koffi/build/koffi/freebsd_x64/koffi.node +0 -0
  951. package/node_modules/koffi/build/koffi/linux_arm64/koffi.node +0 -0
  952. package/node_modules/koffi/build/koffi/linux_armhf/koffi.node +0 -0
  953. package/node_modules/koffi/build/koffi/linux_ia32/koffi.node +0 -0
  954. package/node_modules/koffi/build/koffi/linux_loong64/koffi.node +0 -0
  955. package/node_modules/koffi/build/koffi/linux_riscv64d/koffi.node +0 -0
  956. package/node_modules/koffi/build/koffi/linux_x64/koffi.node +0 -0
  957. package/node_modules/koffi/build/koffi/musl_arm64/koffi.node +0 -0
  958. package/node_modules/koffi/build/koffi/musl_x64/koffi.node +0 -0
  959. package/node_modules/koffi/build/koffi/openbsd_ia32/koffi.node +0 -0
  960. package/node_modules/koffi/build/koffi/openbsd_x64/koffi.node +0 -0
  961. package/node_modules/koffi/build/koffi/win32_arm64/koffi.exp +0 -0
  962. package/node_modules/koffi/build/koffi/win32_arm64/koffi.lib +0 -0
  963. package/node_modules/koffi/build/koffi/win32_arm64/koffi.node +0 -0
  964. package/node_modules/koffi/build/koffi/win32_ia32/koffi.exp +0 -0
  965. package/node_modules/koffi/build/koffi/win32_ia32/koffi.lib +0 -0
  966. package/node_modules/koffi/build/koffi/win32_ia32/koffi.node +0 -0
  967. package/node_modules/koffi/build/koffi/win32_x64/koffi.exp +0 -0
  968. package/node_modules/koffi/build/koffi/win32_x64/koffi.lib +0 -0
  969. package/node_modules/koffi/build/koffi/win32_x64/koffi.node +0 -0
  970. package/node_modules/koffi/doc/benchmarks.md +0 -126
  971. package/node_modules/koffi/doc/callbacks.md +0 -210
  972. package/node_modules/koffi/doc/contribute.md +0 -148
  973. package/node_modules/koffi/doc/functions.md +0 -250
  974. package/node_modules/koffi/doc/index.md +0 -61
  975. package/node_modules/koffi/doc/input.md +0 -471
  976. package/node_modules/koffi/doc/migration.md +0 -159
  977. package/node_modules/koffi/doc/misc.md +0 -180
  978. package/node_modules/koffi/doc/output.md +0 -305
  979. package/node_modules/koffi/doc/packaging.md +0 -88
  980. package/node_modules/koffi/doc/platforms.md +0 -36
  981. package/node_modules/koffi/doc/pointers.md +0 -328
  982. package/node_modules/koffi/doc/start.md +0 -118
  983. package/node_modules/koffi/doc/unions.md +0 -186
  984. package/node_modules/koffi/doc/variables.md +0 -102
  985. package/node_modules/koffi/index.d.ts +0 -288
  986. package/node_modules/koffi/index.js +0 -634
  987. package/node_modules/koffi/indirect.js +0 -533
  988. package/node_modules/koffi/lib/native/base/base.cc +0 -11015
  989. package/node_modules/koffi/lib/native/base/base.hh +0 -6003
  990. package/node_modules/koffi/lib/native/base/crc.inc +0 -2214
  991. package/node_modules/koffi/lib/native/base/crc_gen.py +0 -72
  992. package/node_modules/koffi/lib/native/base/mimetypes.inc +0 -1248
  993. package/node_modules/koffi/lib/native/base/mimetypes_gen.py +0 -58
  994. package/node_modules/koffi/lib/native/base/tower.cc +0 -821
  995. package/node_modules/koffi/lib/native/base/tower.hh +0 -81
  996. package/node_modules/koffi/lib/native/base/unicode.inc +0 -408
  997. package/node_modules/koffi/lib/native/base/unicode_gen.py +0 -152
  998. package/node_modules/koffi/package.json +0 -38
  999. package/node_modules/koffi/src/cnoke/LICENSE.txt +0 -22
  1000. package/node_modules/koffi/src/cnoke/README.md +0 -99
  1001. package/node_modules/koffi/src/cnoke/assets/FindCNoke.cmake +0 -127
  1002. package/node_modules/koffi/src/cnoke/assets/toolchains.json +0 -126
  1003. package/node_modules/koffi/src/cnoke/assets/win_delay_hook.c +0 -36
  1004. package/node_modules/koffi/src/cnoke/cnoke.js +0 -170
  1005. package/node_modules/koffi/src/cnoke/package.json +0 -24
  1006. package/node_modules/koffi/src/cnoke/src/builder.js +0 -511
  1007. package/node_modules/koffi/src/cnoke/src/index.js +0 -10
  1008. package/node_modules/koffi/src/cnoke/src/tools.js +0 -407
  1009. package/node_modules/koffi/src/koffi/CMakeLists.txt +0 -182
  1010. package/node_modules/koffi/src/koffi/src/abi_arm32.cc +0 -1018
  1011. package/node_modules/koffi/src/koffi/src/abi_arm32_asm.S +0 -169
  1012. package/node_modules/koffi/src/koffi/src/abi_arm64.cc +0 -1295
  1013. package/node_modules/koffi/src/koffi/src/abi_arm64_asm.S +0 -195
  1014. package/node_modules/koffi/src/koffi/src/abi_arm64_asm.asm +0 -174
  1015. package/node_modules/koffi/src/koffi/src/abi_loong64.cc +0 -5
  1016. package/node_modules/koffi/src/koffi/src/abi_loong64_asm.S +0 -204
  1017. package/node_modules/koffi/src/koffi/src/abi_riscv64.cc +0 -915
  1018. package/node_modules/koffi/src/koffi/src/abi_riscv64_asm.S +0 -203
  1019. package/node_modules/koffi/src/koffi/src/abi_x64_sysv.cc +0 -939
  1020. package/node_modules/koffi/src/koffi/src/abi_x64_sysv_asm.S +0 -231
  1021. package/node_modules/koffi/src/koffi/src/abi_x64_win.cc +0 -715
  1022. package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.S +0 -166
  1023. package/node_modules/koffi/src/koffi/src/abi_x64_win_asm.asm +0 -192
  1024. package/node_modules/koffi/src/koffi/src/abi_x86.cc +0 -860
  1025. package/node_modules/koffi/src/koffi/src/abi_x86_asm.S +0 -193
  1026. package/node_modules/koffi/src/koffi/src/abi_x86_asm.asm +0 -177
  1027. package/node_modules/koffi/src/koffi/src/call.cc +0 -1326
  1028. package/node_modules/koffi/src/koffi/src/call.hh +0 -179
  1029. package/node_modules/koffi/src/koffi/src/errno.inc +0 -462
  1030. package/node_modules/koffi/src/koffi/src/ffi.cc +0 -2702
  1031. package/node_modules/koffi/src/koffi/src/ffi.hh +0 -354
  1032. package/node_modules/koffi/src/koffi/src/init.js +0 -105
  1033. package/node_modules/koffi/src/koffi/src/parser.cc +0 -220
  1034. package/node_modules/koffi/src/koffi/src/parser.hh +0 -54
  1035. package/node_modules/koffi/src/koffi/src/util.cc +0 -1807
  1036. package/node_modules/koffi/src/koffi/src/util.hh +0 -221
  1037. package/node_modules/koffi/src/koffi/src/uv.cc +0 -193
  1038. package/node_modules/koffi/src/koffi/src/uv.def +0 -10
  1039. package/node_modules/koffi/src/koffi/src/uv.hh +0 -40
  1040. package/node_modules/koffi/src/koffi/src/win32.cc +0 -198
  1041. package/node_modules/koffi/src/koffi/src/win32.hh +0 -119
  1042. package/node_modules/koffi/src/koffi/tools/write_trampolines.js +0 -77
  1043. package/node_modules/koffi/vendor/node-addon-api/LICENSE.md +0 -9
  1044. package/node_modules/koffi/vendor/node-addon-api/README.md +0 -95
  1045. package/node_modules/koffi/vendor/node-addon-api/napi-inl.deprecated.h +0 -186
  1046. package/node_modules/koffi/vendor/node-addon-api/napi-inl.h +0 -7033
  1047. package/node_modules/koffi/vendor/node-addon-api/napi.h +0 -3309
  1048. package/node_modules/koffi/vendor/node-api-headers/LICENSE +0 -21
  1049. package/node_modules/koffi/vendor/node-api-headers/README.md +0 -95
  1050. package/node_modules/koffi/vendor/node-api-headers/def/js_native_api.def +0 -125
  1051. package/node_modules/koffi/vendor/node-api-headers/def/node_api.def +0 -157
  1052. package/node_modules/koffi/vendor/node-api-headers/include/js_native_api.h +0 -591
  1053. package/node_modules/koffi/vendor/node-api-headers/include/js_native_api_types.h +0 -210
  1054. package/node_modules/koffi/vendor/node-api-headers/include/node_api.h +0 -265
  1055. package/node_modules/koffi/vendor/node-api-headers/include/node_api_types.h +0 -58
  1056. package/node_modules/koffi/vendor/node-api-headers/include/uv/aix.h +0 -32
  1057. package/node_modules/koffi/vendor/node-api-headers/include/uv/bsd.h +0 -34
  1058. package/node_modules/koffi/vendor/node-api-headers/include/uv/darwin.h +0 -61
  1059. package/node_modules/koffi/vendor/node-api-headers/include/uv/errno.h +0 -483
  1060. package/node_modules/koffi/vendor/node-api-headers/include/uv/linux.h +0 -34
  1061. package/node_modules/koffi/vendor/node-api-headers/include/uv/os390.h +0 -33
  1062. package/node_modules/koffi/vendor/node-api-headers/include/uv/posix.h +0 -31
  1063. package/node_modules/koffi/vendor/node-api-headers/include/uv/sunos.h +0 -44
  1064. package/node_modules/koffi/vendor/node-api-headers/include/uv/threadpool.h +0 -37
  1065. package/node_modules/koffi/vendor/node-api-headers/include/uv/tree.h +0 -521
  1066. package/node_modules/koffi/vendor/node-api-headers/include/uv/unix.h +0 -512
  1067. package/node_modules/koffi/vendor/node-api-headers/include/uv/version.h +0 -43
  1068. package/node_modules/koffi/vendor/node-api-headers/include/uv/win.h +0 -698
  1069. package/node_modules/koffi/vendor/node-api-headers/include/uv.h +0 -1990
@@ -23,6 +23,8 @@ refactor, a deployment, or a migration step).
23
23
  The quiz is short — 5–7 questions drawn directly from the project's own architecture
24
24
  and process docs. Vague answers fail. Pass requires specific, factual responses.
25
25
 
26
+ <!-- No Iron Laws section: quiz-agent is a utility workflow that makes no store writes and enforces no output contract. Knowledge-check only. It is invoked inline by other workflows, not dispatched as a task phase by the orchestrator. -->
27
+
26
28
  ## Algorithm
27
29
 
28
30
  ```
@@ -57,6 +59,7 @@ beginning the task.
57
59
 
58
60
  ---
59
61
 
62
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template (quiz-agent: no token-reporting or event-emission — inline helper workflow) -->
60
63
  ## Generation Instructions
61
64
 
62
65
  ### Overview
@@ -95,7 +98,7 @@ List the architecture and business-domain docs that cover the question topics.
95
98
  Use the actual paths as generated (e.g. `{KB_PATH}/architecture/stack.md`).
96
99
  Include `{KB_PATH}/stack-checklist.md` always.
97
100
 
98
- ### File structure
101
+ ## Template Output Format
99
102
 
100
103
  ```markdown
101
104
  # 🍵 Workflow: Quiz Agent — {Project Name}
@@ -18,6 +18,13 @@ deps:
18
18
 
19
19
  Close a sprint by reviewing learnings, updating the knowledge base, and improving workflows.
20
20
 
21
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
22
+ ## Iron Laws
23
+
24
+ - Never mutate JSON records during retrospective; the store is the source of truth and retrospective flows downstream from it. Retrospective operations read store data and write markdown views only.
25
+ - Read `.forge/personas/architect.md` first; print the persona identity line (emoji, name, tagline) to stdout before any other tool use.
26
+ - All store I/O via `forge_store` (or `node "$FORGE_ROOT/tools/store-cli.cjs"`). Never edit `.forge/store/*.json` directly.
27
+
21
28
  ## Algorithm
22
29
 
23
30
  ```
@@ -49,6 +56,7 @@ Close a sprint by reviewing learnings, updating the knowledge base, and improvin
49
56
  going forward)
50
57
  ```
51
58
 
59
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
52
60
  ## Generation Instructions
53
61
 
54
62
  - **Persona Self-Load:** The generated workflow MUST begin by reading `.forge/personas/architect.md` as its first step (before any other tool use). This replaces the former inline `## Persona` section. The persona identity line (emoji, name, tagline) should be printed to stdout after reading the file.
@@ -26,6 +26,7 @@ deps:
26
26
 
27
27
  The Supervisor reviews the Engineer's implementation for correctness, quality, and compliance with the approved plan.
28
28
 
29
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
29
30
  ## Iron Laws
30
31
 
31
32
  - Evaluate the code against the approved PLAN.md and the original task prompt. Do not accept "it works" as a substitute for "it is correct and maintainable."
@@ -34,15 +35,7 @@ The Supervisor reviews the Engineer's implementation for correctness, quality, a
34
35
 
35
36
  ## Store-Write Verification
36
37
 
37
- Every `forge_store` write MUST succeed before advancing. If `store-cli` exits
38
- non-zero or the `PreToolUse` write-boundary hook blocks the call (exit 2):
39
-
40
- 1. Parse the structured error (names the offending field + schema file).
41
- 2. Correct the JSON to satisfy the schema.
42
- 3. Retry. Repeat up to 3 times.
43
- 4. After 3 failures, halt and escalate with original payload, corrected payload, and all error messages.
44
-
45
- Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
38
+ <!-- See _fragments/store-write-verification.md for the canonical block content -->
46
39
 
47
40
  ## Algorithm
48
41
 
@@ -68,7 +61,9 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
68
61
  - Verify test evidence in PROGRESS.md is authentic and complete
69
62
 
70
63
  3. Verdict:
71
- - Write CODE_REVIEW.md using the format:
64
+ - Write the code review via forge_artifact:
65
+ `forge_artifact({ command:"write", entity:"{entity_kind}", entityId:"{record_id}", artifact:"code-review", content:"<markdown>" })`
66
+ Use the format:
72
67
  **Verdict:** [Approved | Revision Required]
73
68
  - If Revision Required: provide numbered, actionable items
74
69
  - If Approved: provide any advisory notes
@@ -83,7 +78,9 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
83
78
  - **Do NOT emit a phase event yourself.** The orchestrator (or kickoff handler) owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
84
79
 
85
80
  6. Emit Summary Sidecar:
86
- - Write `REVIEW-IMPL-SUMMARY.json` to the record's directory with the following shape:
81
+ - Write the review summary via forge_artifact:
82
+ `forge_artifact({ command:"write", entity:"{entity_kind}", entityId:"{record_id}", artifact:"review-impl-summary", content:"<JSON>" })`
83
+ The JSON shape:
87
84
  ```json
88
85
  {
89
86
  "objective": "<one sentence — what this review assessed>",
@@ -94,18 +91,13 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
94
91
  }
95
92
  ```
96
93
  - Call (task mode):
97
- ```
98
- node "$FORGE_ROOT/tools/store-cli.cjs" set-summary {taskId} code_review \
99
- engineering/sprints/{sprint}/{task}/REVIEW-IMPL-SUMMARY.json
100
- ```
94
+ `forge_store({ command:"set-summary", entity:"task", id:"{taskId}", phase:"code_review" })`
101
95
  Or (bug mode):
102
- ```
103
- node "$FORGE_ROOT/tools/store-cli.cjs" set-bug-summary {bugId} code_review \
104
- engineering/bugs/{bugDir}/REVIEW-IMPL-SUMMARY.json
105
- ```
96
+ `forge_store({ command:"set-bug-summary", entity:"bug", id:"{bugId}", phase:"code_review" })`
106
97
  - If the set-summary call exits non-zero, fix the sidecar JSON and retry. Do not proceed without a valid summary.
107
98
  ```
108
99
 
100
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
109
101
  ## Generation Instructions
110
102
 
111
103
  - **Workflow Structure:** The generated `review_implementation.md` must follow the strict "Algorithm" block format.
@@ -22,6 +22,7 @@ deps:
22
22
 
23
23
  # 🌿 Meta-Workflow: Review Plan
24
24
 
25
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
25
26
  ## Iron Laws
26
27
 
27
28
  - Evaluate the plan against what the task actually requires, not against what the plan claims to deliver. Plans routinely understate complexity, omit edge cases, or skip security steps. Your job is adversarial review, not approval.
@@ -30,15 +31,7 @@ deps:
30
31
 
31
32
  ## Store-Write Verification
32
33
 
33
- Every `forge_store` write MUST succeed before advancing. If `store-cli` exits
34
- non-zero or the `PreToolUse` write-boundary hook blocks the call (exit 2):
35
-
36
- 1. Parse the structured error (names the offending field + schema file).
37
- 2. Correct the JSON to satisfy the schema.
38
- 3. Retry. Repeat up to 3 times.
39
- 4. After 3 failures, halt and escalate with original payload, corrected payload, and all error messages.
40
-
41
- Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
34
+ <!-- See _fragments/store-write-verification.md for the canonical block content -->
42
35
 
43
36
  ## Algorithm
44
37
 
@@ -61,7 +54,8 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
61
54
  - Identify missing edge cases or failure modes
62
55
 
63
56
  3. Verdict:
64
- - Write PLAN_REVIEW.md using the format:
57
+ - Write the plan review via forge_artifact: forge_artifact({ command:"write", entity:"{entity_kind}", entityId:"{record_id}", artifact:"plan-review", content:"<markdown>" })
58
+ Use the format:
65
59
  **Verdict:** [Approved | Revision Required]
66
60
  - If Revision Required: provide numbered, actionable items
67
61
  - If Approved: provide any advisory notes
@@ -77,7 +71,8 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
77
71
  - **Do NOT emit a phase event yourself.** The orchestrator owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
78
72
 
79
73
  5. Emit Summary Sidecar:
80
- - Write `REVIEW-PLAN-SUMMARY.json` to the record's directory with the following shape:
74
+ - Write the review-plan summary via forge_artifact: forge_artifact({ command:"write", entity:"{entity_kind}", entityId:"{record_id}", artifact:"review-plan-summary", content:"<JSON>" })
75
+ The JSON must have the following shape:
81
76
  ```json
82
77
  {
83
78
  "objective": "<one sentence — what this review assessed>",
@@ -89,18 +84,17 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
89
84
  ```
90
85
  - Call (task mode):
91
86
  ```
92
- node "$FORGE_ROOT/tools/store-cli.cjs" set-summary {taskId} review_plan \
93
- engineering/sprints/{sprint}/{task}/REVIEW-PLAN-SUMMARY.json
87
+ forge_store({ command:"set-summary", entity:"task", id:"{record_id}", phase:"review_plan" })
94
88
  ```
95
89
  Or (bug mode):
96
90
  ```
97
- node "$FORGE_ROOT/tools/store-cli.cjs" set-bug-summary {bugId} review_plan \
98
- engineering/bugs/{bugDir}/REVIEW-PLAN-SUMMARY.json
91
+ forge_store({ command:"set-bug-summary", entity:"bug", id:"{record_id}", phase:"review_plan" })
99
92
  ```
100
93
  - If the set-summary call exits non-zero, fix the sidecar JSON and retry. Do not proceed without a valid summary.
101
94
  ```
102
95
 
103
- ## Generation Notes
96
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
97
+ ## Generation Instructions
104
98
 
105
99
  - Enforce `**Verdict:** [Approved | Revision Required]` format exactly — orchestrator branches on this.
106
100
  - **Markers (required by `/forge:run-task` kickoff shim):** Generated workflow MUST include the "Iron Laws" section, the "Store-Write Verification" section, the literal `forge_store` token, and the `.forge/personas/supervisor.md` persona path. Missing any → kickoff shim refuses to dispatch.
@@ -18,6 +18,8 @@ deps:
18
18
 
19
19
  Verify that all tasks in a sprint have been completed, committed, and validated before closing the sprint.
20
20
 
21
+ <!-- No Iron Laws section: review-sprint-completion is a read-only verification workflow. No store writes; no entity state transitions (status update in step 4 is the only write — it matches the standard store-I/O law applied by the generated workflow). Intentional omission per N-CM-5 audit. -->
22
+
21
23
  ## Algorithm
22
24
 
23
25
  ```
@@ -50,6 +52,7 @@ Verify that all tasks in a sprint have been completed, committed, and validated
50
52
  - **Do NOT emit a phase event yourself.** The orchestrator (or kickoff handler) owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
51
53
  ```
52
54
 
55
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
53
56
  ## Generation Instructions
54
57
 
55
58
  - **Persona Self-Load:** The generated workflow MUST begin by reading `.forge/personas/architect.md` as its first step (before any other tool use). This replaces the former inline `## Persona` section. The persona identity line (emoji, name, tagline) should be printed to stdout after reading the file.
@@ -18,6 +18,13 @@ deps:
18
18
 
19
19
  Capture sprint requirements via a structured interview and document them for planning.
20
20
 
21
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
22
+ ## Iron Laws
23
+
24
+ - Capture requirements accurately; do not editorialize or pre-select options on the user's behalf. The product manager documents what the user says, not what the agent thinks is best.
25
+ - Read `.forge/personas/product-manager.md` first; print the persona identity line (emoji, name, tagline) to stdout before any other tool use.
26
+ - All store I/O via `forge_store` (or `node "$FORGE_ROOT/tools/store-cli.cjs"`). Never edit `.forge/store/*.json` directly.
27
+
21
28
  ## Algorithm
22
29
 
23
30
  ```
@@ -53,6 +60,7 @@ Capture sprint requirements via a structured interview and document them for pla
53
60
  - **Do NOT emit a phase event yourself.** The orchestrator (or kickoff handler) owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
54
61
  ```
55
62
 
63
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
56
64
  ## Generation Instructions
57
65
 
58
66
  - **Persona Self-Load:** The generated workflow MUST begin by reading `.forge/personas/product-manager.md` as its first step (before any other tool use). This replaces the former inline `## Persona` section. The persona identity line (emoji, name, tagline) should be printed to stdout after reading the file.
@@ -72,6 +72,7 @@ Break sprint requirements into a set of estimated tasks with a dependency graph.
72
72
  - **Do NOT emit a phase event yourself.** The orchestrator (or kickoff handler) owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
73
73
  ```
74
74
 
75
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance (sprint-plan uses verbatim Anti-Pattern Guard pattern — orchestrator-special case) -->
75
76
  ## Anti-Pattern Guard
76
77
 
77
78
  The generated workflow MUST include the following section verbatim, placed immediately
@@ -87,6 +88,9 @@ after the Purpose heading and before the Algorithm block:
87
88
  stop. Return to step 1 of the Algorithm and proceed from there.
88
89
  ```
89
90
 
91
+ <!-- See _fragments/store-write-verification.md — NOTE: this file uses an intentionally expanded
92
+ Store-Write Verification variant that explains what counts as a store write in the sprint-plan
93
+ context (includes direct Write/Edit tool calls). Canonical fragment is reference only. -->
90
94
  ## Store-Write Verification
91
95
 
92
96
  Every write to the Forge store MUST succeed before the agent proceeds to the next
@@ -117,6 +121,7 @@ payload, and all error messages in the escalation.
117
121
  **Do NOT** set `FORGE_SKIP_WRITE_VALIDATION=1` to bypass a schema error. That
118
122
  environment variable is reserved for emergency operator repair only.
119
123
 
124
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
120
125
  ## Generation Instructions
121
126
 
122
127
  - **Persona Self-Load:** The generated workflow MUST begin by reading `.forge/personas/architect.md` as its first step (before any other tool use). This replaces the former inline `## Persona` section. The persona identity line (emoji, name, tagline) should be printed to stdout after reading the file.
@@ -26,6 +26,7 @@ deps:
26
26
 
27
27
  Update the implementation of a task based on a "Revision Required" verdict from a review phase.
28
28
 
29
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
29
30
  ## Iron Laws
30
31
 
31
32
  - Address every "Revision Required" item from the review artifact at the correct code location; do not paper over them with comments. If a finding is wrong, escalate rather than ignore.
@@ -34,15 +35,7 @@ Update the implementation of a task based on a "Revision Required" verdict from
34
35
 
35
36
  ## Store-Write Verification
36
37
 
37
- Every `forge_store` write MUST succeed before advancing. If `store-cli` exits
38
- non-zero or the `PreToolUse` write-boundary hook blocks the call (exit 2):
39
-
40
- 1. Parse the structured error (names the offending field + schema file).
41
- 2. Correct the JSON to satisfy the schema.
42
- 3. Retry. Repeat up to 3 times.
43
- 4. After 3 failures, halt and escalate with original payload, corrected payload, and all error messages.
44
-
45
- Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
38
+ <!-- See _fragments/store-write-verification.md for the canonical block content -->
46
39
 
47
40
  ## Algorithm
48
41
 
@@ -66,6 +59,7 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
66
59
  - **Do NOT emit a phase event yourself.** The orchestrator (or kickoff handler) owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
67
60
  ```
68
61
 
62
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
69
63
  ## Generation Instructions
70
64
 
71
65
  - **Workflow Structure:** The generated `update_implementation.md` must follow the strict "Algorithm" block format.
@@ -26,6 +26,7 @@ deps:
26
26
 
27
27
  Update the implementation plan of a task based on a "Revision Required" verdict from the plan review phase.
28
28
 
29
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
29
30
  ## Iron Laws
30
31
 
31
32
  - Address every numbered finding in the review artifact. Do not silently drop items; if a finding is wrong, note the reason in the revised plan rather than ignoring it.
@@ -34,15 +35,7 @@ Update the implementation plan of a task based on a "Revision Required" verdict
34
35
 
35
36
  ## Store-Write Verification
36
37
 
37
- Every `forge_store` write MUST succeed before advancing. If `store-cli` exits
38
- non-zero or the `PreToolUse` write-boundary hook blocks the call (exit 2):
39
-
40
- 1. Parse the structured error (names the offending field + schema file).
41
- 2. Correct the JSON to satisfy the schema.
42
- 3. Retry. Repeat up to 3 times.
43
- 4. After 3 failures, halt and escalate with original payload, corrected payload, and all error messages.
44
-
45
- Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
38
+ <!-- See _fragments/store-write-verification.md for the canonical block content -->
46
39
 
47
40
  ## Algorithm
48
41
 
@@ -66,6 +59,7 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
66
59
  - **Do NOT emit a phase event yourself.** The orchestrator (or kickoff handler) owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
67
60
  ```
68
61
 
62
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
69
63
  ## Generation Instructions
70
64
 
71
65
  - **Workflow Structure:** The generated `update_plan.md` must follow the strict "Algorithm" block format.
@@ -26,6 +26,7 @@ deps:
26
26
 
27
27
  The Supervisor performs a final validation of the implementation against the acceptance criteria and the technical spec.
28
28
 
29
+ <!-- See _fragments/iron-laws.md for Iron Laws section structure guidance -->
29
30
  ## Iron Laws
30
31
 
31
32
  - Validate against the acceptance criteria as written; do not soften, expand, or reinterpret them. The validator's job is to catch what the implementer optimistically considered "done".
@@ -34,15 +35,7 @@ The Supervisor performs a final validation of the implementation against the acc
34
35
 
35
36
  ## Store-Write Verification
36
37
 
37
- Every `forge_store` write MUST succeed before advancing. If `store-cli` exits
38
- non-zero or the `PreToolUse` write-boundary hook blocks the call (exit 2):
39
-
40
- 1. Parse the structured error (names the offending field + schema file).
41
- 2. Correct the JSON to satisfy the schema.
42
- 3. Retry. Repeat up to 3 times.
43
- 4. After 3 failures, halt and escalate with original payload, corrected payload, and all error messages.
44
-
45
- Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
38
+ <!-- See _fragments/store-write-verification.md for the canonical block content -->
46
39
 
47
40
  ## Algorithm
48
41
 
@@ -68,7 +61,9 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
68
61
  - When re-running the test suite, use the **resolved test command** from `commands.test` in `.forge/config.json` (i.e. `` `${commands.test}` ``, e.g. `.venv/bin/python -m pytest`). Template placeholder: {{TEST_COMMAND}}. Do NOT invoke bare `python` / `python3` — the project interpreter is rarely on `$PATH`.
69
62
 
70
63
  3. Verdict:
71
- - Write VALIDATION_REPORT.md using the format:
64
+ - Write the validation report via:
65
+ `forge_artifact({ command:"write", entity:"{entity_kind}", entityId:"{record_id}", artifact:"validation-report", content:"<markdown>" })`
66
+ The markdown content must use the format:
72
67
  **Verdict:** [Approved | Revision Required]
73
68
  - If Revision Required: list the failed criteria and required fixes
74
69
  - If Approved: confirm the task is validated
@@ -78,7 +73,9 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
78
73
  - **Do NOT emit a phase event yourself.** The orchestrator owns event emission — it composes the canonical event from runtime telemetry (model, provider, tokens, wall times) plus the SUMMARY you write in the next step. Subagents that call `store-cli emit` for phase events hallucinate runtime facts (see Plan 11 / Slice 2). Write the SUMMARY and return.
79
74
 
80
75
  5. Emit Summary Sidecar:
81
- - Write `VALIDATION-SUMMARY.json` to the task directory with the following shape:
76
+ - Write the validation summary via:
77
+ `forge_artifact({ command:"write", entity:"{entity_kind}", entityId:"{record_id}", artifact:"validation-summary", content:"<JSON>" })`
78
+ The JSON content must have the following shape:
82
79
  ```json
83
80
  {
84
81
  "objective": "<one sentence — what acceptance criteria were validated>",
@@ -99,6 +96,7 @@ Never set `FORGE_SKIP_WRITE_VALIDATION=1` — operator-only emergency switch.
99
96
  ## Friction Emit
100
97
  Emit `type:friction` `{workflow:validate, persona:qa-engineer, issue}` per `_fragments/friction-emit.md`.
101
98
 
99
+ <!-- See _fragments/generation-instructions.md for Generation Instructions template -->
102
100
  ## Generation Instructions
103
101
 
104
102
  - **Workflow Structure:** The generated `validate_task.md` must follow the strict "Algorithm" block format.
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.46.1",
3
- "generatedAt": "2026-05-22T02:09:22.016Z",
2
+ "version": "0.51.1",
3
+ "generatedAt": "2026-05-23T07:58:11.586Z",
4
4
  "generatedByTool": "build-manifest.cjs",
5
5
  "namespaces": {
6
6
  "personas": {
@@ -100,14 +100,18 @@
100
100
  "event-emission-schema.md",
101
101
  "finalize.md",
102
102
  "friction-emit.md",
103
+ "generation-instructions.md",
104
+ "iron-laws.md",
103
105
  "progress-reporting.md",
104
- "store-cli-verbs.md"
106
+ "store-cli-verbs.md",
107
+ "store-write-verification.md"
105
108
  ]
106
109
  },
107
110
  "schemas": {
108
111
  "logicalKey": "schemas",
109
112
  "dir": ".forge/schemas",
110
113
  "files": [
114
+ "_defs/phaseSummary.schema.json",
111
115
  "bug.schema.json",
112
116
  "collation-state.schema.json",
113
117
  "config.schema.json",
@@ -369,9 +373,7 @@
369
373
  ]
370
374
  },
371
375
  "architect_sprint_intake": {
372
- "personas": [
373
- ".forge/personas/product-manager.md"
374
- ],
376
+ "personas": [],
375
377
  "skills": [
376
378
  ".forge/skills/architect-skills.md",
377
379
  ".forge/skills/generic-skills.md"
@@ -20,6 +20,7 @@
20
20
  const fs = require('fs');
21
21
  const path = require('path');
22
22
  const crypto = require('crypto');
23
+ const { ensureDir } = require('./lib/fsutil.cjs');
23
24
 
24
25
  const PACK_LINE_LIMIT = 400;
25
26
 
@@ -220,8 +221,8 @@ function buildContextPack({ archDir, existingPackPath }) {
220
221
  // ── Atomic write ─────────────────────────────────────────────────────────────
221
222
 
222
223
  function writeContextPack(pack, outMd, outJson) {
223
- fs.mkdirSync(path.dirname(outMd), { recursive: true });
224
- fs.mkdirSync(path.dirname(outJson), { recursive: true });
224
+ ensureDir(path.dirname(outMd));
225
+ ensureDir(path.dirname(outJson));
225
226
 
226
227
  // Write markdown
227
228
  const tmpMd = outMd + '.tmp';
@@ -24,6 +24,7 @@
24
24
 
25
25
  const fs = require('node:fs');
26
26
  const path = require('node:path');
27
+ const { ensureDir } = require('./lib/fsutil.cjs');
27
28
 
28
29
  const REQUIRED = ['workflow', 'persona', 'issue'];
29
30
  const OPTIONAL = ['subkind', 'evidence'];
@@ -99,7 +100,7 @@ function main(argv) {
99
100
  }
100
101
 
101
102
  const cacheDir = path.join(process.cwd(), '.forge', 'cache');
102
- fs.mkdirSync(cacheDir, { recursive: true });
103
+ ensureDir(cacheDir);
103
104
  const target = path.join(cacheDir, `FRICTION-${args.workflow}.jsonl`);
104
105
  fs.appendFileSync(target, `${JSON.stringify(record)}\n`, 'utf8');
105
106
  process.stdout.write(`${target}\n`);
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+ // lib/frontmatter.cjs — canonical YAML frontmatter extractor.
3
+ //
4
+ // CRLF POSTURE (canonical, enforced by test suite):
5
+ // Normalize to LF on read. All \r characters are stripped before processing.
6
+ // Output (both frontmatter and body) always uses LF-only line endings,
7
+ // regardless of the source line ending style (LF / CRLF / CR-only / mixed).
8
+ //
9
+ // Rationale: plugin template files are distributed and consumed across
10
+ // platforms; LF is the canonical line ending for the forge plugin. Two prior
11
+ // divergent implementations (build-base-pack.cjs and substitute-placeholders.cjs)
12
+ // differed in CRLF handling — this module resolves them to a single behavior.
13
+ //
14
+ // To preserve CRLF on write, the caller must re-introduce \r\n explicitly;
15
+ // this module does not offer a write path.
16
+ //
17
+ // API:
18
+ // extractFrontmatter(content: string) → { frontmatter: string|null, body: string }
19
+ //
20
+ // - frontmatter: the YAML block including both opening and closing ---
21
+ // delimiters, normalized to LF. null if no valid frontmatter found.
22
+ // - body: the content after the closing --- delimiter, normalized to LF.
23
+ // If no frontmatter found, body is the full input (LF-normalized).
24
+ //
25
+ // Opening --- MUST appear at column 0 (no leading whitespace).
26
+
27
+ /**
28
+ * Extract YAML frontmatter from content.
29
+ *
30
+ * @param {string} content - Raw file content (any line ending style).
31
+ * @returns {{ frontmatter: string|null, body: string }}
32
+ */
33
+ function extractFrontmatter(content) {
34
+ // Normalize all line endings to LF before any processing.
35
+ // This handles CRLF (\r\n), CR-only (\r), and mixed inputs uniformly.
36
+ const normalized = content.replace(/\r\n/g, '\n').replace(/\r/g, '\n');
37
+
38
+ // Opening --- must be at column 0, immediately followed by \n.
39
+ if (!normalized.startsWith('---\n') && normalized !== '---') {
40
+ return { frontmatter: null, body: normalized };
41
+ }
42
+
43
+ const lines = normalized.split('\n');
44
+
45
+ // Find the closing --- delimiter (must be on its own line, exact match).
46
+ for (let i = 1; i < lines.length; i++) {
47
+ if (lines[i] === '---') {
48
+ const frontmatterLines = lines.slice(0, i + 1);
49
+ const bodyLines = lines.slice(i + 1);
50
+
51
+ const frontmatter = frontmatterLines.join('\n') + '\n';
52
+ const body = bodyLines.join('\n');
53
+
54
+ return { frontmatter, body };
55
+ }
56
+ }
57
+
58
+ // No closing --- found — malformed frontmatter; return full normalized content as body.
59
+ return { frontmatter: null, body: normalized };
60
+ }
61
+
62
+ module.exports = { extractFrontmatter };
@@ -0,0 +1,61 @@
1
+ 'use strict';
2
+ // lib/fsutil.cjs — filesystem utility helpers.
3
+ //
4
+ // DECISION (FORGE-S25-T07, closes T-5):
5
+ // Extracted from four inline mkdirSync sites across forge plugin tools:
6
+ // - tools/build-base-pack.cjs (private ensureDir function + 6 call sites)
7
+ // - tools/friction-emit.cjs (inline fs.mkdirSync)
8
+ // - tools/build-context-pack.cjs (2x inline fs.mkdirSync)
9
+ // - tools/build-manifest.cjs (inline fs.mkdirSync)
10
+ //
11
+ // API:
12
+ // ensureDir(dirPath: string) → void
13
+ // Creates the directory recursively if it does not exist. Idempotent.
14
+ //
15
+ // isFile(filePath: string) → boolean
16
+ // Returns true if the path exists and is a regular file. Never throws.
17
+ //
18
+ // isDirectory(dirPath: string) → boolean
19
+ // Returns true if the path exists and is a directory. Never throws.
20
+
21
+ const fs = require('node:fs');
22
+
23
+ /**
24
+ * Create a directory (and all intermediate parents) if it does not exist.
25
+ * Safe to call on an existing directory — no-op in that case.
26
+ *
27
+ * @param {string} dirPath - Absolute or relative directory path.
28
+ */
29
+ function ensureDir(dirPath) {
30
+ fs.mkdirSync(dirPath, { recursive: true });
31
+ }
32
+
33
+ /**
34
+ * Check whether a path exists and is a regular file.
35
+ *
36
+ * @param {string} filePath - Path to test.
37
+ * @returns {boolean}
38
+ */
39
+ function isFile(filePath) {
40
+ try {
41
+ return fs.statSync(filePath).isFile();
42
+ } catch (_) {
43
+ return false;
44
+ }
45
+ }
46
+
47
+ /**
48
+ * Check whether a path exists and is a directory.
49
+ *
50
+ * @param {string} dirPath - Path to test.
51
+ * @returns {boolean}
52
+ */
53
+ function isDirectory(dirPath) {
54
+ try {
55
+ return fs.statSync(dirPath).isDirectory();
56
+ } catch (_) {
57
+ return false;
58
+ }
59
+ }
60
+
61
+ module.exports = { ensureDir, isFile, isDirectory };
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+ // lib/json-io.cjs — shared JSON read/write primitives.
3
+ //
4
+ // Extracted from FSImpl._readJson / FSImpl._writeJson in tools/store.cjs so
5
+ // any tool or hook can reuse them without taking a dependency on the full
6
+ // store facade.
7
+
8
+ const fs = require('fs');
9
+ const path = require('path');
10
+
11
+ /**
12
+ * Read and parse a JSON file.
13
+ *
14
+ * @param {string} filePath - absolute or cwd-relative path to the JSON file
15
+ * @returns {object|null} parsed object, or null if the file does not exist
16
+ * @throws {SyntaxError} if the file exists but contains invalid JSON (fail-fast)
17
+ */
18
+ function readJson(filePath) {
19
+ if (!fs.existsSync(filePath)) return null;
20
+ return JSON.parse(fs.readFileSync(filePath, 'utf8'));
21
+ }
22
+
23
+ /**
24
+ * Write an object to a JSON file with 2-space indentation and a trailing
25
+ * newline. Creates all parent directories as needed.
26
+ *
27
+ * Mirrors FSImpl._writeJson contract exactly so consumers can swap in this
28
+ * function without behavioural change.
29
+ *
30
+ * @param {string} filePath - absolute or cwd-relative path for the output file
31
+ * @param {object} data - value to serialise
32
+ * @returns {object} the same `data` object that was written
33
+ */
34
+ function writeJson(filePath, data) {
35
+ const dir = path.dirname(filePath);
36
+ if (!fs.existsSync(dir)) {
37
+ fs.mkdirSync(dir, { recursive: true });
38
+ }
39
+ fs.writeFileSync(filePath, JSON.stringify(data, null, 2) + '\n', 'utf8');
40
+ return data;
41
+ }
42
+
43
+ module.exports = { readJson, writeJson };