@entelligentsia/forgecli 1.0.3 → 1.0.10

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 (356) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +2 -1
  3. package/dist/CHANGELOG-forge-plugin.md +100 -0
  4. package/dist/CHANGELOG-pi.md +94 -0
  5. package/dist/extensions/forgecli/forge-artifact-tool.js +27 -4
  6. package/dist/extensions/forgecli/forge-artifact-tool.js.map +1 -1
  7. package/dist/extensions/forgecli/forge-tools.js +2 -2
  8. package/dist/extensions/forgecli/forge-tools.js.map +1 -1
  9. package/dist/extensions/forgecli/subagent/phase-guard.js +15 -5
  10. package/dist/extensions/forgecli/subagent/phase-guard.js.map +1 -1
  11. package/dist/extensions/forgecli/subagent/phase-summary-map.d.ts +1 -0
  12. package/dist/extensions/forgecli/subagent/phase-summary-map.js +17 -0
  13. package/dist/extensions/forgecli/subagent/phase-summary-map.js.map +1 -1
  14. package/dist/forge-payload/.base-pack/workflows/_fragments/store-cli-verbs.md +18 -3
  15. package/dist/forge-payload/.base-pack/workflows/architect_approve.md +4 -5
  16. package/dist/forge-payload/.base-pack/workflows/collator_agent.md +1 -1
  17. package/dist/forge-payload/.base-pack/workflows/commit_task.md +2 -3
  18. package/dist/forge-payload/.base-pack/workflows/implement_plan.md +3 -2
  19. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +41 -47
  20. package/dist/forge-payload/.base-pack/workflows/triage.md +2 -2
  21. package/dist/forge-payload/.base-pack/workflows/validate_task.md +2 -3
  22. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  23. package/dist/forge-payload/.schemas/_defs/locator.schema.json +13 -0
  24. package/dist/forge-payload/.schemas/bug.schema.json +1 -0
  25. package/dist/forge-payload/.schemas/enum-catalog.json +2 -2
  26. package/dist/forge-payload/.schemas/migrations.json +63 -0
  27. package/dist/forge-payload/.schemas/sprint.schema.json +1 -0
  28. package/dist/forge-payload/.schemas/task.schema.json +1 -0
  29. package/dist/forge-payload/integrity.json +3 -3
  30. package/dist/forge-payload/meta/workflows/_fragments/store-cli-verbs.md +18 -3
  31. package/dist/forge-payload/meta/workflows/meta-approve.md +4 -5
  32. package/dist/forge-payload/meta/workflows/meta-bug-triage.md +2 -2
  33. package/dist/forge-payload/meta/workflows/meta-collate.md +1 -1
  34. package/dist/forge-payload/meta/workflows/meta-commit.md +2 -3
  35. package/dist/forge-payload/meta/workflows/meta-implement.md +3 -2
  36. package/dist/forge-payload/meta/workflows/meta-orchestrate.md +41 -47
  37. package/dist/forge-payload/meta/workflows/meta-validate.md +2 -3
  38. package/dist/forge-payload/schemas/_defs/locator.schema.json +13 -0
  39. package/dist/forge-payload/schemas/bug.schema.json +1 -0
  40. package/dist/forge-payload/schemas/enum-catalog.json +2 -2
  41. package/dist/forge-payload/schemas/sprint.schema.json +1 -0
  42. package/dist/forge-payload/schemas/structure-manifest.json +3 -2
  43. package/dist/forge-payload/schemas/task.schema.json +1 -0
  44. package/dist/forge-payload/tools/artifact-store.cjs +242 -0
  45. package/dist/forge-payload/tools/artifact.cjs +60 -120
  46. package/dist/forge-payload/tools/lib/artifact-kinds.cjs +95 -0
  47. package/dist/forge-payload/tools/lib/store-nlp.cjs +6 -0
  48. package/dist/forge-payload/tools/lib/store-query-exec.cjs +39 -5
  49. package/dist/forge-payload/tools/lib/suggest.cjs +2 -1
  50. package/dist/forge-payload/tools/preflight-gate.cjs +55 -5
  51. package/dist/forge-payload/tools/store-cli.cjs +50 -15
  52. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +5 -2
  53. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  54. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +81 -18
  55. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  56. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  57. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +1 -0
  58. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  59. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  60. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +19 -24
  61. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  62. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +1 -0
  63. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  64. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +14 -1
  65. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  66. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +22 -8
  67. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  68. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  69. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  70. package/node_modules/@earendil-works/pi-ai/README.md +1 -1
  71. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +374 -122
  72. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  73. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +424 -232
  74. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  75. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts +1 -1
  76. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  77. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +38 -2
  78. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  79. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  80. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +21 -12
  81. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  82. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  83. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +6 -10
  84. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  85. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.d.ts.map +1 -1
  86. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js +1 -1
  87. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.js.map +1 -1
  88. package/node_modules/@earendil-works/pi-ai/dist/providers/google.d.ts.map +1 -1
  89. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js +5 -3
  90. package/node_modules/@earendil-works/pi-ai/dist/providers/google.js.map +1 -1
  91. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.d.ts.map +1 -1
  92. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js +3 -4
  93. package/node_modules/@earendil-works/pi-ai/dist/providers/images/openrouter.js.map +1 -1
  94. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.d.ts.map +1 -1
  95. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js +2 -3
  96. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.js.map +1 -1
  97. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.d.ts.map +1 -1
  98. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js +159 -78
  99. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex-responses.js.map +1 -1
  100. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  101. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +16 -11
  102. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  103. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.d.ts.map +1 -1
  104. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js +4 -1
  105. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses-shared.js.map +1 -1
  106. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  107. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +6 -10
  108. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  109. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  110. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +1 -0
  111. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  112. package/node_modules/@earendil-works/pi-ai/dist/stream.d.ts.map +1 -1
  113. package/node_modules/@earendil-works/pi-ai/dist/stream.js +14 -2
  114. package/node_modules/@earendil-works/pi-ai/dist/stream.js.map +1 -1
  115. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +14 -4
  116. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  117. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  118. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts +6 -0
  119. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.d.ts.map +1 -0
  120. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js +34 -0
  121. package/node_modules/@earendil-works/pi-ai/dist/utils/abort-signals.js.map +1 -0
  122. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts +9 -7
  123. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.d.ts.map +1 -1
  124. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js +8 -7
  125. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/device-code.js.map +1 -1
  126. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  127. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js +1 -1
  128. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/github-copilot.js.map +1 -1
  129. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts +1 -1
  130. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.d.ts.map +1 -1
  131. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js +1 -1
  132. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/index.js.map +1 -1
  133. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts +10 -1
  134. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.d.ts.map +1 -1
  135. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js +179 -79
  136. package/node_modules/@earendil-works/pi-ai/dist/utils/oauth/openai-codex.js.map +1 -1
  137. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  138. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +94 -0
  139. package/node_modules/@earendil-works/pi-coding-agent/README.md +9 -0
  140. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts +3 -0
  141. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.d.ts.map +1 -1
  142. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js +27 -0
  143. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/args.js.map +1 -1
  144. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +15 -2
  146. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts +1 -0
  148. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.d.ts.map +1 -1
  149. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js +1 -0
  150. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session-services.js.map +1 -1
  151. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +5 -1
  152. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  153. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +28 -4
  154. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  155. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  156. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +18 -24
  157. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  158. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts +1 -1
  159. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.d.ts.map +1 -1
  160. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js +8 -2
  161. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/runner.js.map +1 -1
  162. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts +7 -5
  163. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.d.ts.map +1 -1
  164. package/node_modules/@earendil-works/pi-coding-agent/dist/core/extensions/types.js.map +1 -1
  165. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  166. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js +65 -13
  167. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  168. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.d.ts.map +1 -1
  169. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js +1 -1
  170. package/node_modules/@earendil-works/pi-coding-agent/dist/core/model-resolver.js.map +1 -1
  171. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts +9 -1
  172. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.d.ts.map +1 -1
  173. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js +134 -11
  174. package/node_modules/@earendil-works/pi-coding-agent/dist/core/resolve-config-value.js.map +1 -1
  175. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts +2 -0
  176. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.d.ts.map +1 -1
  177. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js +10 -6
  178. package/node_modules/@earendil-works/pi-coding-agent/dist/core/sdk.js.map +1 -1
  179. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts +6 -7
  180. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.d.ts.map +1 -1
  181. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js +75 -28
  182. package/node_modules/@earendil-works/pi-coding-agent/dist/core/session-manager.js.map +1 -1
  183. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts +2 -0
  184. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.d.ts.map +1 -1
  185. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js +14 -9
  186. package/node_modules/@earendil-works/pi-coding-agent/dist/core/settings-manager.js.map +1 -1
  187. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  188. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +0 -3
  189. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  190. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.d.ts.map +1 -1
  191. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js +7 -10
  192. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/edit.js.map +1 -1
  193. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.d.ts.map +1 -1
  194. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/find.js.map +1 -1
  195. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.d.ts.map +1 -1
  196. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/grep.js.map +1 -1
  197. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.d.ts.map +1 -1
  198. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js +5 -7
  199. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/ls.js.map +1 -1
  200. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.d.ts.map +1 -1
  201. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js +6 -7
  202. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/read.js.map +1 -1
  203. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts +5 -2
  204. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.d.ts.map +1 -1
  205. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js +17 -1
  206. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/render-utils.js.map +1 -1
  207. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.d.ts.map +1 -1
  208. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js +5 -6
  209. package/node_modules/@earendil-works/pi-coding-agent/dist/core/tools/write.js.map +1 -1
  210. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +2 -0
  211. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  212. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +2 -0
  213. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  214. package/node_modules/@earendil-works/pi-coding-agent/dist/main.d.ts.map +1 -1
  215. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js +69 -16
  216. package/node_modules/@earendil-works/pi-coding-agent/dist/main.js.map +1 -1
  217. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.d.ts.map +1 -1
  218. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js +118 -1
  219. package/node_modules/@earendil-works/pi-coding-agent/dist/migrations.js.map +1 -1
  220. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts +1 -3
  221. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.d.ts.map +1 -1
  222. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js +2 -4
  223. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/login-dialog.js.map +1 -1
  224. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  225. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js +1 -1
  226. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
  227. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +3 -0
  228. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  229. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +59 -6
  230. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  231. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  232. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js +10 -0
  233. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/theme/theme.js.map +1 -1
  234. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  235. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js +3 -1
  236. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-mode.js.map +1 -1
  237. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts +1 -0
  238. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  239. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/rpc/rpc-types.js.map +1 -1
  240. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.d.ts +4 -0
  241. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.d.ts.map +1 -0
  242. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.js +13 -0
  243. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/deprecation.js.map +1 -0
  244. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.d.ts +3 -0
  245. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.d.ts.map +1 -0
  246. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.js +7 -0
  247. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/json.js.map +1 -0
  248. package/node_modules/@earendil-works/pi-coding-agent/docs/custom-provider.md +13 -10
  249. package/node_modules/@earendil-works/pi-coding-agent/docs/development.md +1 -1
  250. package/node_modules/@earendil-works/pi-coding-agent/docs/extensions.md +12 -6
  251. package/node_modules/@earendil-works/pi-coding-agent/docs/models.md +25 -12
  252. package/node_modules/@earendil-works/pi-coding-agent/docs/providers.md +13 -5
  253. package/node_modules/@earendil-works/pi-coding-agent/docs/quickstart.md +1 -0
  254. package/node_modules/@earendil-works/pi-coding-agent/docs/rpc.md +2 -1
  255. package/node_modules/@earendil-works/pi-coding-agent/docs/sdk.md +6 -0
  256. package/node_modules/@earendil-works/pi-coding-agent/docs/session-format.md +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/docs/sessions.md +8 -0
  258. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +7 -3
  259. package/node_modules/@earendil-works/pi-coding-agent/docs/terminal-setup.md +2 -0
  260. package/node_modules/@earendil-works/pi-coding-agent/docs/tui.md +2 -2
  261. package/node_modules/@earendil-works/pi-coding-agent/docs/usage.md +9 -0
  262. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/README.md +1 -0
  263. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/index.ts +1 -1
  264. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  265. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/index.ts +54 -3
  266. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/git-merge-and-resolve.ts +115 -0
  268. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/input-transform-streaming.ts +39 -0
  269. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  270. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/npm-shrinkwrap.json +443 -61
  272. package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
  273. package/node_modules/@earendil-works/pi-tui/README.md +2 -2
  274. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  275. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +24 -83
  276. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  277. package/node_modules/@earendil-works/pi-tui/dist/components/input.d.ts.map +1 -1
  278. package/node_modules/@earendil-works/pi-tui/dist/components/input.js +7 -55
  279. package/node_modules/@earendil-works/pi-tui/dist/components/input.js.map +1 -1
  280. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts +7 -1
  281. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.d.ts.map +1 -1
  282. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js +12 -2
  283. package/node_modules/@earendil-works/pi-tui/dist/components/markdown.js.map +1 -1
  284. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts +1 -1
  285. package/node_modules/@earendil-works/pi-tui/dist/index.d.ts.map +1 -1
  286. package/node_modules/@earendil-works/pi-tui/dist/index.js.map +1 -1
  287. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts +1 -1
  288. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.d.ts.map +1 -1
  289. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js +34 -7
  290. package/node_modules/@earendil-works/pi-tui/dist/terminal-image.js.map +1 -1
  291. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts +33 -10
  292. package/node_modules/@earendil-works/pi-tui/dist/terminal.d.ts.map +1 -1
  293. package/node_modules/@earendil-works/pi-tui/dist/terminal.js +172 -37
  294. package/node_modules/@earendil-works/pi-tui/dist/terminal.js.map +1 -1
  295. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts +6 -1
  296. package/node_modules/@earendil-works/pi-tui/dist/utils.d.ts.map +1 -1
  297. package/node_modules/@earendil-works/pi-tui/dist/utils.js +27 -15
  298. package/node_modules/@earendil-works/pi-tui/dist/utils.js.map +1 -1
  299. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts +25 -0
  300. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.d.ts.map +1 -0
  301. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js +96 -0
  302. package/node_modules/@earendil-works/pi-tui/dist/word-navigation.js.map +1 -0
  303. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  304. package/node_modules/@entelligentsia/forge-compress/LICENSE +21 -0
  305. package/node_modules/@entelligentsia/forge-compress/README.md +85 -0
  306. package/node_modules/@mariozechner/clipboard/Cargo.toml +3 -3
  307. package/node_modules/@mariozechner/clipboard/index.d.ts +34 -20
  308. package/node_modules/@mariozechner/clipboard/index.js +546 -257
  309. package/node_modules/@mariozechner/clipboard/package.json +5 -6
  310. package/node_modules/@mariozechner/clipboard/package.json.prepack-backup +14 -14
  311. package/node_modules/@mariozechner/clipboard/src/lib.rs +4 -9
  312. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/clipboard.linux-x64-gnu.node +0 -0
  313. package/node_modules/@mariozechner/clipboard-linux-x64-gnu/package.json +2 -2
  314. package/package.json +7 -7
  315. package/dist/forge-payload/.base-pack/commands/quiz-agent.md +0 -6
  316. package/dist/forge-payload/.base-pack/commands/retrospective.md +0 -6
  317. package/dist/forge-payload/.base-pack/commands/sprint-intake.md +0 -6
  318. package/dist/forge-payload/.base-pack/commands/sprint-plan.md +0 -6
  319. package/dist/forge-payload/commands/calibrate.md +0 -10
  320. package/dist/forge-payload/commands/materialize.md +0 -119
  321. package/dist/forge-payload/commands/migrate.md +0 -12
  322. package/dist/forge-payload/commands/quiz-agent.md +0 -6
  323. package/dist/forge-payload/commands/regenerate.md +0 -6
  324. package/dist/forge-payload/commands/store-query.md +0 -6
  325. package/dist/forge-payload/commands/store-repair.md +0 -6
  326. package/dist/forge-payload/commands/update-tools.md +0 -10
  327. package/dist/forge-payload/meta/templates/meta-retrospective.md +0 -28
  328. package/dist/forge-payload/tools/prompts/sprint-plan-prompt.md +0 -70
  329. package/dist/forge-payload/tools/schemas/task-list.schema.json +0 -53
  330. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +0 -4
  331. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +0 -1
  332. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +0 -3
  333. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +0 -1
  334. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +0 -20
  335. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +0 -1
  336. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +0 -92
  337. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +0 -1
  338. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +0 -18
  339. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +0 -1
  340. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +0 -42
  341. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +0 -1
  342. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +0 -10
  343. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +0 -1
  344. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +0 -31
  345. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +0 -1
  346. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +0 -30
  347. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +0 -1
  348. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +0 -170
  349. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +0 -1
  350. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +0 -26
  351. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +0 -1
  352. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +0 -90
  353. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +0 -1
  354. package/node_modules/@mariozechner/clipboard-linux-x64-musl/README.md +0 -3
  355. package/node_modules/@mariozechner/clipboard-linux-x64-musl/clipboard.linux-x64-musl.node +0 -0
  356. package/node_modules/@mariozechner/clipboard-linux-x64-musl/package.json +0 -25
@@ -93,6 +93,7 @@ export class AgentSession {
93
93
  _extensionRunnerRef;
94
94
  _initialActiveToolNames;
95
95
  _allowedToolNames;
96
+ _excludedToolNames;
96
97
  _baseToolsOverride;
97
98
  _sessionStartEvent;
98
99
  _extensionUIContext;
@@ -123,6 +124,7 @@ export class AgentSession {
123
124
  this._extensionRunnerRef = config.extensionRunnerRef;
124
125
  this._initialActiveToolNames = config.initialActiveToolNames;
125
126
  this._allowedToolNames = config.allowedToolNames ? new Set(config.allowedToolNames) : undefined;
127
+ this._excludedToolNames = config.excludedToolNames ? new Set(config.excludedToolNames) : undefined;
126
128
  this._baseToolsOverride = config.baseToolsOverride;
127
129
  this._sessionStartEvent = config.sessionStartEvent ?? { type: "session_start", reason: "startup" };
128
130
  // Always subscribe to agent events for internal handling
@@ -467,6 +469,16 @@ export class AgentSession {
467
469
  * Call this when completely done with the session.
468
470
  */
469
471
  dispose() {
472
+ try {
473
+ this.abortRetry();
474
+ this.abortCompaction();
475
+ this.abortBranchSummary();
476
+ this.abortBash();
477
+ this.agent.abort();
478
+ }
479
+ catch {
480
+ // Dispose must succeed even if an abort hook throws.
481
+ }
470
482
  this._extensionRunner.invalidate("This extension ctx is stale after session replacement or reload. Do not use a captured pi or command ctx after ctx.newSession(), ctx.fork(), ctx.switchSession(), or ctx.reload(). For newSession, fork, and switchSession, move post-replacement work into withSession and use the ctx passed to withSession. For reload, do not use the old ctx after await ctx.reload().");
471
483
  this._disconnectFromAgent();
472
484
  this._eventListeners = [];
@@ -507,13 +519,14 @@ export class AgentSession {
507
519
  return this.agent.state.tools.map((t) => t.name);
508
520
  }
509
521
  /**
510
- * Get all configured tools with name, description, parameter schema, and source metadata.
522
+ * Get all configured tools with name, description, parameter schema, prompt guidelines, and source metadata.
511
523
  */
512
524
  getAllTools() {
513
525
  return Array.from(this._toolDefinitions.values()).map(({ definition, sourceInfo }) => ({
514
526
  name: definition.name,
515
527
  description: definition.description,
516
528
  parameters: definition.parameters,
529
+ promptGuidelines: definition.promptGuidelines,
517
530
  sourceInfo,
518
531
  }));
519
532
  }
@@ -668,7 +681,12 @@ export class AgentSession {
668
681
  });
669
682
  this._retryAttempt = 0;
670
683
  }
671
- return await this._checkCompaction(msg);
684
+ if (await this._checkCompaction(msg)) {
685
+ return true;
686
+ }
687
+ // The agent loop drains both queues before emitting agent_end. Any messages
688
+ // here were queued by agent_end extension handlers and need a continuation.
689
+ return this.agent.hasQueuedMessages();
672
690
  }
673
691
  /**
674
692
  * Send a prompt to the agent.
@@ -698,7 +716,7 @@ export class AgentSession {
698
716
  let currentText = text;
699
717
  let currentImages = options?.images;
700
718
  if (this._extensionRunner.hasHandlers("input")) {
701
- const inputResult = await this._extensionRunner.emitInput(currentText, currentImages, options?.source ?? "interactive");
719
+ const inputResult = await this._extensionRunner.emitInput(currentText, currentImages, options?.source ?? "interactive", this.isStreaming ? options?.streamingBehavior : undefined);
702
720
  if (inputResult.action === "handled") {
703
721
  preflightResult?.(true);
704
722
  return;
@@ -1796,7 +1814,8 @@ export class AgentSession {
1796
1814
  const previousRegistryNames = new Set(this._toolRegistry.keys());
1797
1815
  const previousActiveToolNames = this.getActiveToolNames();
1798
1816
  const allowedToolNames = this._allowedToolNames;
1799
- const isAllowedTool = (name) => !allowedToolNames || allowedToolNames.has(name);
1817
+ const excludedToolNames = this._excludedToolNames;
1818
+ const isAllowedTool = (name) => (!allowedToolNames || allowedToolNames.has(name)) && !excludedToolNames?.has(name);
1800
1819
  const registeredTools = this._extensionRunner.getAllRegisteredTools();
1801
1820
  const allCustomTools = [
1802
1821
  ...registeredTools,
@@ -1926,6 +1945,9 @@ export class AgentSession {
1926
1945
  // =========================================================================
1927
1946
  // Auto-Retry
1928
1947
  // =========================================================================
1948
+ _isNonRetryableProviderLimitError(errorMessage) {
1949
+ return /GoUsageLimitError|FreeUsageLimitError|Monthly usage limit reached|available balance|insufficient_quota|out of budget|quota exceeded|billing/i.test(errorMessage);
1950
+ }
1929
1951
  /**
1930
1952
  * Check if an error is retryable (overloaded, rate limit, server errors).
1931
1953
  * Context overflow errors are NOT retryable (handled by compaction instead).
@@ -1938,6 +1960,8 @@ export class AgentSession {
1938
1960
  if (isContextOverflow(message, contextWindow))
1939
1961
  return false;
1940
1962
  const err = message.errorMessage;
1963
+ if (this._isNonRetryableProviderLimitError(err))
1964
+ return false;
1941
1965
  // Match: overloaded_error, provider returned error, rate limit, 429, 500, 502, 503, 504, service unavailable, network/connection errors (including connection lost), WebSocket transport closes/errors, fetch failed, premature stream endings, HTTP/2 closed before response, terminated, retry delay exceeded
1942
1966
  return /overloaded|provider.?returned.?error|rate.?limit|too many requests|429|500|502|503|504|service.?unavailable|server.?error|internal.?error|network.?error|connection.?error|connection.?refused|connection.?lost|websocket.?closed|websocket.?error|other side closed|fetch failed|upstream.?connect|reset before headers|socket hang up|ended without|stream ended before message_stop|http2 request did not get a response|timed? out|timeout|terminated|retry delay/i.test(err);
1943
1967
  }