@entelligentsia/forgecli 0.7.9 → 0.8.4

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 (704) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/dist/CHANGELOG-forge-plugin.md +96 -0
  3. package/dist/CHANGELOG-pi.md +63 -0
  4. package/dist/bin/argv.d.ts +2 -2
  5. package/dist/bin/argv.js +22 -3
  6. package/dist/bin/argv.js.map +1 -1
  7. package/dist/bin/doctor.d.ts +59 -0
  8. package/dist/bin/doctor.js +149 -0
  9. package/dist/bin/doctor.js.map +1 -0
  10. package/dist/bin/env-defaults.d.ts +1 -0
  11. package/dist/bin/env-defaults.js +13 -0
  12. package/dist/bin/env-defaults.js.map +1 -0
  13. package/dist/bin/forge.js +22 -0
  14. package/dist/bin/forge.js.map +1 -1
  15. package/dist/bin/update-cli.d.ts +9 -0
  16. package/dist/bin/update-cli.js +120 -0
  17. package/dist/bin/update-cli.js.map +1 -0
  18. package/dist/extensions/forgecli/fix-bug.js +35 -110
  19. package/dist/extensions/forgecli/fix-bug.js.map +1 -1
  20. package/dist/extensions/forgecli/index.js +31 -3
  21. package/dist/extensions/forgecli/index.js.map +1 -1
  22. package/dist/extensions/forgecli/review-command.d.ts +2 -0
  23. package/dist/extensions/forgecli/review-command.js +184 -0
  24. package/dist/extensions/forgecli/review-command.js.map +1 -0
  25. package/dist/extensions/forgecli/run-sprint.js +10 -0
  26. package/dist/extensions/forgecli/run-sprint.js.map +1 -1
  27. package/dist/extensions/forgecli/run-task.d.ts +1 -7
  28. package/dist/extensions/forgecli/run-task.js +30 -142
  29. package/dist/extensions/forgecli/run-task.js.map +1 -1
  30. package/dist/extensions/forgecli/session-registry.d.ts +68 -0
  31. package/dist/extensions/forgecli/session-registry.js +61 -0
  32. package/dist/extensions/forgecli/session-registry.js.map +1 -1
  33. package/dist/extensions/forgecli/thread-switcher.js +128 -9
  34. package/dist/extensions/forgecli/thread-switcher.js.map +1 -1
  35. package/dist/extensions/forgecli/update-check.js +1 -1
  36. package/dist/extensions/forgecli/update-check.js.map +1 -1
  37. package/dist/extensions/forgecli/viewport-events.d.ts +74 -0
  38. package/dist/extensions/forgecli/viewport-events.js +184 -0
  39. package/dist/extensions/forgecli/viewport-events.js.map +1 -0
  40. package/dist/extensions/forgecli/viewport-renderer.d.ts +55 -0
  41. package/dist/extensions/forgecli/viewport-renderer.js +204 -0
  42. package/dist/extensions/forgecli/viewport-renderer.js.map +1 -0
  43. package/dist/extensions/forgecli/viewport-theme.d.ts +11 -0
  44. package/dist/extensions/forgecli/viewport-theme.js +124 -0
  45. package/dist/extensions/forgecli/viewport-theme.js.map +1 -0
  46. package/dist/extensions/forgecli/whats-new-widget.d.ts +5 -5
  47. package/dist/extensions/forgecli/whats-new-widget.js +11 -11
  48. package/dist/extensions/forgecli/whats-new-widget.js.map +1 -1
  49. package/dist/extensions/forgecli/whats-new.js +6 -5
  50. package/dist/extensions/forgecli/whats-new.js.map +1 -1
  51. package/dist/forge-payload/.base-pack/workflows/_fragments/store-cli-verbs.md +18 -2
  52. package/dist/forge-payload/.base-pack/workflows/orchestrate_task.md +21 -14
  53. package/dist/forge-payload/.claude-plugin/plugin.json +1 -1
  54. package/dist/forge-payload/.tools/banners.cjs +435 -0
  55. package/dist/forge-payload/.tools/build-context-pack.cjs +290 -0
  56. package/dist/forge-payload/.tools/build-init-context.cjs +322 -0
  57. package/dist/forge-payload/.tools/build-overlay.cjs +326 -0
  58. package/dist/forge-payload/.tools/build-persona-pack.cjs +226 -0
  59. package/dist/forge-payload/.tools/collate.cjs +1041 -0
  60. package/dist/forge-payload/.tools/generation-manifest.cjs +311 -0
  61. package/dist/forge-payload/.tools/lib/forge-root.cjs +59 -0
  62. package/dist/forge-payload/.tools/lib/paths.cjs +29 -0
  63. package/dist/forge-payload/.tools/lib/pricing.cjs +165 -0
  64. package/dist/forge-payload/.tools/lib/project-root.cjs +32 -0
  65. package/dist/forge-payload/.tools/lib/result.js +40 -0
  66. package/dist/forge-payload/.tools/lib/store-facade.cjs +162 -0
  67. package/dist/forge-payload/.tools/lib/store-nlp.cjs +250 -0
  68. package/dist/forge-payload/.tools/lib/store-query-exec.cjs +272 -0
  69. package/dist/forge-payload/.tools/lib/validate.js +141 -0
  70. package/dist/forge-payload/.tools/manage-config.cjs +340 -0
  71. package/dist/forge-payload/.tools/manage-versions.cjs +365 -0
  72. package/dist/forge-payload/.tools/package.json +3 -0
  73. package/dist/forge-payload/.tools/parse-gates.cjs +151 -0
  74. package/dist/forge-payload/.tools/parse-verdict.cjs +67 -0
  75. package/dist/forge-payload/.tools/preflight-gate.cjs +350 -0
  76. package/dist/forge-payload/.tools/prompts/sprint-plan-prompt.md +70 -0
  77. package/dist/forge-payload/.tools/schemas/task-list.schema.json +53 -0
  78. package/dist/forge-payload/.tools/seed-store.cjs +237 -0
  79. package/dist/forge-payload/.tools/store-cli.cjs +1226 -0
  80. package/dist/forge-payload/.tools/store-query.cjs +319 -0
  81. package/dist/forge-payload/.tools/store.cjs +315 -0
  82. package/dist/forge-payload/.tools/substitute-placeholders.cjs +625 -0
  83. package/dist/forge-payload/.tools/validate-store.cjs +593 -0
  84. package/dist/forge-payload/skills/refresh-kb-links/SKILL.md +217 -0
  85. package/dist/forge-payload/skills/store-custodian/SKILL.md +163 -0
  86. package/dist/forge-payload/skills/store-query-grammar/SKILL.md +145 -0
  87. package/dist/forge-payload/skills/store-query-nlp/SKILL.md +110 -0
  88. package/dist/forge-payload/tools/lib/suggest.cjs +211 -0
  89. package/dist/forge-payload/tools/lib/validate.js +12 -2
  90. package/dist/forge-payload/tools/store-cli.cjs +192 -18
  91. package/dist/forge-payload/tools/validate-store.cjs +22 -1
  92. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/endpoint/endpointResolver.js +2 -2
  93. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/index.js +9 -13
  94. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.browser.js +5 -5
  95. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-cjs/runtimeConfig.js +2 -3
  96. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/BedrockRuntimeClient.js +1 -4
  97. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/endpoint/endpointResolver.js +1 -1
  98. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.browser.js +1 -1
  99. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeConfig.js +1 -2
  100. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-es/runtimeExtensions.js +1 -1
  101. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/BedrockRuntimeClient.d.ts +1 -2
  102. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.browser.d.ts +1 -1
  103. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.d.ts +1 -1
  104. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/runtimeConfig.native.d.ts +1 -1
  105. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/BedrockRuntimeClient.d.ts +5 -7
  106. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.browser.d.ts +1 -1
  107. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.d.ts +1 -1
  108. package/node_modules/@aws-sdk/client-bedrock-runtime/dist-types/ts3.4/runtimeConfig.native.d.ts +1 -1
  109. package/node_modules/@aws-sdk/client-bedrock-runtime/package.json +11 -19
  110. package/node_modules/@aws-sdk/core/dist-cjs/index.js +4 -6
  111. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.browser.js +595 -0
  112. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.js +715 -0
  113. package/node_modules/@aws-sdk/core/dist-cjs/submodules/client/index.native.js +588 -0
  114. package/node_modules/@aws-sdk/core/dist-es/index.js +3 -3
  115. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.browser.js +36 -0
  116. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.js +26 -4
  117. package/node_modules/@aws-sdk/core/dist-es/submodules/client/index.native.js +37 -0
  118. package/node_modules/@aws-sdk/core/dist-es/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.js +3 -0
  119. package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/check-features.js +1 -1
  120. package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/user-agent-middleware.js +1 -1
  121. package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/partition.js +1 -1
  122. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-endpoints/lib/aws/partitions.js +1 -0
  123. package/node_modules/@aws-sdk/core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.browser.js +1 -0
  124. package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.js +1 -1
  125. package/node_modules/@aws-sdk/core/dist-types/api-extractor-type-index.d.ts +3 -2
  126. package/node_modules/@aws-sdk/core/dist-types/index.d.ts +12 -14
  127. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.browser.d.ts +47 -0
  128. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.d.ts +38 -4
  129. package/node_modules/@aws-sdk/core/dist-types/submodules/client/index.native.d.ts +48 -0
  130. package/node_modules/@aws-sdk/core/dist-types/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +5 -0
  131. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-endpoints/lib/aws/partitions.d.ts +638 -0
  132. package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types → core/dist-types/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.d.ts +1 -1
  133. package/node_modules/@aws-sdk/core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +1 -0
  134. package/node_modules/@aws-sdk/core/dist-types/ts3.4/api-extractor-type-index.d.ts +0 -2
  135. package/node_modules/@aws-sdk/core/dist-types/ts3.4/index.d.ts +65 -3
  136. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.browser.d.ts +116 -0
  137. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.d.ts +123 -4
  138. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/index.native.d.ts +116 -0
  139. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.d.ts +4 -0
  140. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-endpoints/lib/aws/partitions.d.ts +647 -0
  141. package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.d.ts +1 -1
  142. package/node_modules/@aws-sdk/core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.browser.d.ts +1 -0
  143. package/node_modules/@aws-sdk/core/package.json +27 -8
  144. package/node_modules/@aws-sdk/credential-provider-env/package.json +3 -3
  145. package/node_modules/@aws-sdk/credential-provider-http/package.json +5 -5
  146. package/node_modules/@aws-sdk/credential-provider-ini/package.json +11 -11
  147. package/node_modules/@aws-sdk/credential-provider-login/package.json +4 -4
  148. package/node_modules/@aws-sdk/credential-provider-node/package.json +9 -9
  149. package/node_modules/@aws-sdk/credential-provider-process/package.json +3 -3
  150. package/node_modules/@aws-sdk/credential-provider-sso/package.json +5 -5
  151. package/node_modules/@aws-sdk/credential-provider-web-identity/package.json +4 -4
  152. package/node_modules/@aws-sdk/eventstream-handler-node/package.json +2 -2
  153. package/node_modules/@aws-sdk/middleware-eventstream/package.json +2 -2
  154. package/node_modules/@aws-sdk/middleware-websocket/package.json +5 -5
  155. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/cognito-identity/index.js +13 -20
  156. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/signin/index.js +13 -20
  157. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso/index.js +13 -20
  158. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sso-oidc/index.js +13 -20
  159. package/node_modules/@aws-sdk/nested-clients/dist-cjs/submodules/sts/index.js +14 -21
  160. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/CognitoIdentityClient.js +1 -4
  161. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/endpoint/endpointResolver.js +1 -1
  162. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.browser.js +1 -1
  163. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeConfig.js +1 -2
  164. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/cognito-identity/runtimeExtensions.js +1 -1
  165. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/SigninClient.js +1 -4
  166. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/endpoint/endpointResolver.js +1 -1
  167. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.browser.js +1 -1
  168. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeConfig.js +1 -2
  169. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/signin/runtimeExtensions.js +1 -1
  170. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/SSOClient.js +1 -4
  171. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/endpoint/endpointResolver.js +1 -1
  172. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.browser.js +1 -1
  173. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeConfig.js +1 -2
  174. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso/runtimeExtensions.js +1 -1
  175. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/SSOOIDCClient.js +1 -4
  176. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/endpoint/endpointResolver.js +1 -1
  177. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.browser.js +1 -1
  178. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeConfig.js +1 -2
  179. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sso-oidc/runtimeExtensions.js +1 -1
  180. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/STSClient.js +1 -4
  181. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/defaultStsRoleAssumers.js +1 -2
  182. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/endpoint/endpointResolver.js +1 -1
  183. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.browser.js +1 -1
  184. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeConfig.js +1 -2
  185. package/node_modules/@aws-sdk/nested-clients/dist-es/submodules/sts/runtimeExtensions.js +1 -1
  186. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/CognitoIdentityClient.d.ts +1 -2
  187. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.browser.d.ts +1 -1
  188. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.d.ts +1 -1
  189. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/cognito-identity/runtimeConfig.native.d.ts +1 -1
  190. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/SigninClient.d.ts +1 -2
  191. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.browser.d.ts +1 -1
  192. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.d.ts +1 -1
  193. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/signin/runtimeConfig.native.d.ts +1 -1
  194. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/SSOClient.d.ts +1 -2
  195. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.browser.d.ts +1 -1
  196. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.d.ts +1 -1
  197. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso/runtimeConfig.native.d.ts +1 -1
  198. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -2
  199. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.browser.d.ts +1 -1
  200. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.d.ts +1 -1
  201. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sso-oidc/runtimeConfig.native.d.ts +1 -1
  202. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/STSClient.d.ts +1 -2
  203. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.browser.d.ts +1 -1
  204. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.d.ts +1 -1
  205. package/node_modules/@aws-sdk/nested-clients/dist-types/submodules/sts/runtimeConfig.native.d.ts +1 -1
  206. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/CognitoIdentityClient.d.ts +1 -3
  207. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.browser.d.ts +1 -1
  208. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.d.ts +1 -1
  209. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/cognito-identity/runtimeConfig.native.d.ts +1 -1
  210. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/SigninClient.d.ts +1 -3
  211. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.browser.d.ts +1 -1
  212. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.d.ts +1 -1
  213. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/signin/runtimeConfig.native.d.ts +1 -1
  214. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/SSOClient.d.ts +1 -3
  215. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.browser.d.ts +1 -1
  216. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.d.ts +1 -1
  217. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso/runtimeConfig.native.d.ts +1 -1
  218. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/SSOOIDCClient.d.ts +1 -3
  219. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.browser.d.ts +1 -1
  220. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.d.ts +1 -1
  221. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sso-oidc/runtimeConfig.native.d.ts +1 -1
  222. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/STSClient.d.ts +1 -3
  223. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.browser.d.ts +1 -1
  224. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.d.ts +1 -1
  225. package/node_modules/@aws-sdk/nested-clients/dist-types/ts3.4/submodules/sts/runtimeConfig.native.d.ts +1 -1
  226. package/node_modules/@aws-sdk/nested-clients/package.json +6 -14
  227. package/node_modules/@aws-sdk/signature-v4-multi-region/package.json +3 -3
  228. package/node_modules/@aws-sdk/token-providers/package.json +4 -4
  229. package/node_modules/@aws-sdk/xml-builder/package.json +2 -2
  230. package/node_modules/@earendil-works/pi-agent-core/package.json +3 -3
  231. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +27 -98
  232. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  233. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +62 -132
  234. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  235. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  236. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +25 -15
  237. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  238. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  239. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +1 -0
  240. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  241. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.d.ts.map +1 -1
  242. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js +17 -1
  243. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.js.map +1 -1
  244. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.d.ts.map +1 -1
  245. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js +8 -2
  246. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-completions.js.map +1 -1
  247. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.d.ts.map +1 -1
  248. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js +17 -1
  249. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-responses.js.map +1 -1
  250. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.d.ts.map +1 -1
  251. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js +8 -1
  252. package/node_modules/@earendil-works/pi-ai/dist/providers/simple-options.js.map +1 -1
  253. package/node_modules/@earendil-works/pi-ai/package.json +2 -2
  254. package/node_modules/@earendil-works/pi-coding-agent/CHANGELOG.md +63 -0
  255. package/node_modules/@earendil-works/pi-coding-agent/README.md +1 -1
  256. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.d.ts.map +1 -1
  257. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js +1 -1
  258. package/node_modules/@earendil-works/pi-coding-agent/dist/cli/config-selector.js.map +1 -1
  259. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.d.ts.map +1 -1
  260. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js +6 -10
  261. package/node_modules/@earendil-works/pi-coding-agent/dist/cli.js.map +1 -1
  262. package/node_modules/@earendil-works/pi-coding-agent/dist/config.d.ts.map +1 -1
  263. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js +12 -3
  264. package/node_modules/@earendil-works/pi-coding-agent/dist/config.js.map +1 -1
  265. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts +1 -0
  266. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  267. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js +30 -15
  268. package/node_modules/@earendil-works/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  269. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts +3 -3
  270. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.d.ts.map +1 -1
  271. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js +23 -13
  272. package/node_modules/@earendil-works/pi-coding-agent/dist/core/compaction/compaction.js.map +1 -1
  273. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts +4 -0
  274. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.d.ts.map +1 -1
  275. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js +58 -38
  276. package/node_modules/@earendil-works/pi-coding-agent/dist/core/package-manager.js.map +1 -1
  277. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.d.ts.map +1 -1
  278. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js +0 -1
  279. package/node_modules/@earendil-works/pi-coding-agent/dist/core/slash-commands.js.map +1 -1
  280. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.d.ts.map +1 -1
  281. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js +3 -2
  282. package/node_modules/@earendil-works/pi-coding-agent/dist/core/system-prompt.js.map +1 -1
  283. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts +3 -1
  284. package/node_modules/@earendil-works/pi-coding-agent/dist/index.d.ts.map +1 -1
  285. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js +5 -1
  286. package/node_modules/@earendil-works/pi-coding-agent/dist/index.js.map +1 -1
  287. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.d.ts +2 -2
  288. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  289. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js +7 -4
  290. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/components/config-selector.js.map +1 -1
  291. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  292. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js +6 -2
  293. package/node_modules/@earendil-works/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  294. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.d.ts.map +1 -1
  295. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js +3 -4
  296. package/node_modules/@earendil-works/pi-coding-agent/dist/package-manager-cli.js.map +1 -1
  297. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.d.ts.map +1 -1
  298. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js +2 -2
  299. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/changelog.js.map +1 -1
  300. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/child-process.d.ts +7 -1
  301. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/child-process.d.ts.map +1 -1
  302. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/child-process.js +60 -7
  303. package/node_modules/@earendil-works/pi-coding-agent/dist/utils/child-process.js.map +1 -1
  304. package/node_modules/@earendil-works/pi-coding-agent/docs/packages.md +2 -2
  305. package/node_modules/@earendil-works/pi-coding-agent/docs/settings.md +1 -3
  306. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package.json +1 -1
  307. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  308. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package.json +1 -1
  309. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package.json +1 -1
  310. package/node_modules/@earendil-works/pi-coding-agent/package.json +6 -6
  311. package/node_modules/@earendil-works/pi-tui/package.json +2 -2
  312. package/node_modules/@protobufjs/fetch/CHANGELOG.md +8 -0
  313. package/node_modules/@protobufjs/fetch/index.d.ts +7 -7
  314. package/node_modules/@protobufjs/fetch/index.js +4 -7
  315. package/node_modules/@protobufjs/fetch/package.json +7 -5
  316. package/node_modules/@protobufjs/fetch/tests/data/file.txt +1 -0
  317. package/node_modules/@protobufjs/fetch/tests/index.js +150 -8
  318. package/node_modules/@protobufjs/fetch/util/fs.js +11 -0
  319. package/node_modules/@protobufjs/inquire/CHANGELOG.md +8 -0
  320. package/node_modules/@protobufjs/inquire/index.d.ts +1 -0
  321. package/node_modules/@protobufjs/inquire/index.js +1 -0
  322. package/node_modules/@protobufjs/inquire/package.json +1 -1
  323. package/node_modules/@smithy/core/package.json +2 -2
  324. package/node_modules/@smithy/credential-provider-imds/package.json +3 -3
  325. package/node_modules/@smithy/fetch-http-handler/package.json +4 -4
  326. package/node_modules/@smithy/node-http-handler/package.json +4 -4
  327. package/node_modules/@smithy/signature-v4/package.json +3 -3
  328. package/node_modules/@smithy/types/README.md +3 -3
  329. package/node_modules/@smithy/types/dist-types/abort.d.ts +4 -6
  330. package/node_modules/@smithy/types/dist-types/auth/auth.d.ts +6 -4
  331. package/node_modules/@smithy/types/dist-types/blob/blob-payload-input-types.d.ts +7 -10
  332. package/node_modules/@smithy/types/dist-types/checksum.d.ts +4 -6
  333. package/node_modules/@smithy/types/dist-types/client.d.ts +8 -8
  334. package/node_modules/@smithy/types/dist-types/command.d.ts +2 -2
  335. package/node_modules/@smithy/types/dist-types/crypto.d.ts +6 -8
  336. package/node_modules/@smithy/types/dist-types/downlevel-ts3.4/transform/type-transform.d.ts +6 -7
  337. package/node_modules/@smithy/types/dist-types/eventStream.d.ts +10 -10
  338. package/node_modules/@smithy/types/dist-types/extensions/defaultClientConfiguration.d.ts +9 -10
  339. package/node_modules/@smithy/types/dist-types/extensions/defaultExtensionConfiguration.d.ts +2 -2
  340. package/node_modules/@smithy/types/dist-types/externals-check/browser-externals-check.d.ts +10 -10
  341. package/node_modules/@smithy/types/dist-types/http/httpHandlerInitialization.d.ts +2 -2
  342. package/node_modules/@smithy/types/dist-types/http.d.ts +18 -21
  343. package/node_modules/@smithy/types/dist-types/logger.d.ts +2 -2
  344. package/node_modules/@smithy/types/dist-types/middleware.d.ts +28 -27
  345. package/node_modules/@smithy/types/dist-types/pagination.d.ts +4 -4
  346. package/node_modules/@smithy/types/dist-types/serde.d.ts +10 -10
  347. package/node_modules/@smithy/types/dist-types/shapes.d.ts +9 -12
  348. package/node_modules/@smithy/types/dist-types/signature.d.ts +4 -4
  349. package/node_modules/@smithy/types/dist-types/stream.d.ts +2 -2
  350. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-common-types.d.ts +7 -11
  351. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-input-types.d.ts +23 -29
  352. package/node_modules/@smithy/types/dist-types/streaming-payload/streaming-blob-payload-output-types.d.ts +9 -19
  353. package/node_modules/@smithy/types/dist-types/transfer.d.ts +2 -1
  354. package/node_modules/@smithy/types/dist-types/transform/client-method-transforms.d.ts +4 -4
  355. package/node_modules/@smithy/types/dist-types/transform/client-payload-blob-type-narrow.d.ts +14 -18
  356. package/node_modules/@smithy/types/dist-types/transform/exact.d.ts +2 -2
  357. package/node_modules/@smithy/types/dist-types/transform/no-undefined.d.ts +12 -12
  358. package/node_modules/@smithy/types/dist-types/transform/type-transform.d.ts +14 -9
  359. package/node_modules/@smithy/types/dist-types/uri.d.ts +2 -2
  360. package/node_modules/@smithy/types/dist-types/util.d.ts +28 -28
  361. package/node_modules/@smithy/types/package.json +1 -1
  362. package/node_modules/fast-xml-parser/CHANGELOG.md +7 -0
  363. package/node_modules/fast-xml-parser/README.md +0 -3
  364. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js +1 -1
  365. package/node_modules/fast-xml-parser/lib/fxbuilder.min.js.map +1 -1
  366. package/node_modules/fast-xml-parser/lib/fxp.cjs +1 -1
  367. package/node_modules/fast-xml-parser/lib/fxp.d.cts +1 -0
  368. package/node_modules/fast-xml-parser/lib/fxp.min.js +1 -1
  369. package/node_modules/fast-xml-parser/lib/fxp.min.js.map +1 -1
  370. package/node_modules/fast-xml-parser/lib/fxparser.min.js +1 -1
  371. package/node_modules/fast-xml-parser/lib/fxparser.min.js.map +1 -1
  372. package/node_modules/fast-xml-parser/package.json +2 -4
  373. package/node_modules/fast-xml-parser/src/fxp.d.ts +1 -0
  374. package/node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js +1 -1
  375. package/node_modules/fast-xml-parser/src/xmlparser/node2json.js +4 -0
  376. package/node_modules/protobufjs/dist/light/protobuf.js +187 -153
  377. package/node_modules/protobufjs/dist/light/protobuf.js.map +1 -1
  378. package/node_modules/protobufjs/dist/light/protobuf.min.js +3 -3
  379. package/node_modules/protobufjs/dist/light/protobuf.min.js.map +1 -1
  380. package/node_modules/protobufjs/dist/minimal/protobuf.js +14 -5
  381. package/node_modules/protobufjs/dist/minimal/protobuf.js.map +1 -1
  382. package/node_modules/protobufjs/dist/minimal/protobuf.min.js +3 -3
  383. package/node_modules/protobufjs/dist/minimal/protobuf.min.js.map +1 -1
  384. package/node_modules/protobufjs/dist/protobuf.js +207 -173
  385. package/node_modules/protobufjs/dist/protobuf.js.map +1 -1
  386. package/node_modules/protobufjs/dist/protobuf.min.js +3 -3
  387. package/node_modules/protobufjs/dist/protobuf.min.js.map +1 -1
  388. package/node_modules/protobufjs/package.json +6 -3
  389. package/node_modules/protobufjs/src/util/fs.js +11 -0
  390. package/node_modules/protobufjs/src/util/minimal.js +10 -2
  391. package/node_modules/protobufjs/src/util.js +1 -1
  392. package/node_modules/undici/README.md +14 -5
  393. package/node_modules/undici/docs/docs/api/Client.md +4 -2
  394. package/node_modules/undici/docs/docs/api/Dispatcher.md +62 -27
  395. package/node_modules/undici/docs/docs/api/GlobalInstallation.md +7 -5
  396. package/node_modules/undici/docs/docs/api/H2CClient.md +1 -1
  397. package/node_modules/undici/docs/docs/api/RedirectHandler.md +14 -9
  398. package/node_modules/undici/docs/docs/api/RetryAgent.md +0 -1
  399. package/node_modules/undici/docs/docs/api/RetryHandler.md +12 -14
  400. package/node_modules/undici/docs/docs/api/SnapshotAgent.md +23 -0
  401. package/node_modules/undici/docs/docs/best-practices/migrating-from-v7-to-v8.md +231 -0
  402. package/node_modules/undici/index.js +4 -2
  403. package/node_modules/undici/lib/api/api-connect.js +13 -11
  404. package/node_modules/undici/lib/api/api-pipeline.js +26 -13
  405. package/node_modules/undici/lib/api/api-request.js +45 -21
  406. package/node_modules/undici/lib/api/api-stream.js +81 -20
  407. package/node_modules/undici/lib/api/api-upgrade.js +21 -11
  408. package/node_modules/undici/lib/api/readable.js +3 -2
  409. package/node_modules/undici/lib/cache/memory-cache-store.js +1 -1
  410. package/node_modules/undici/lib/cache/sqlite-cache-store.js +6 -4
  411. package/node_modules/undici/lib/core/connect.js +17 -1
  412. package/node_modules/undici/lib/core/constants.js +1 -24
  413. package/node_modules/undici/lib/core/errors.js +2 -2
  414. package/node_modules/undici/lib/core/request.js +115 -18
  415. package/node_modules/undici/lib/core/socks5-client.js +24 -9
  416. package/node_modules/undici/lib/core/socks5-utils.js +32 -23
  417. package/node_modules/undici/lib/core/symbols.js +1 -0
  418. package/node_modules/undici/lib/core/util.js +70 -43
  419. package/node_modules/undici/lib/dispatcher/agent.js +47 -33
  420. package/node_modules/undici/lib/dispatcher/balanced-pool.js +21 -26
  421. package/node_modules/undici/lib/dispatcher/client-h1.js +98 -39
  422. package/node_modules/undici/lib/dispatcher/client-h2.js +603 -272
  423. package/node_modules/undici/lib/dispatcher/client.js +12 -5
  424. package/node_modules/undici/lib/dispatcher/dispatcher-base.js +24 -5
  425. package/node_modules/undici/lib/dispatcher/dispatcher.js +0 -4
  426. package/node_modules/undici/lib/dispatcher/dispatcher1-wrapper.js +107 -0
  427. package/node_modules/undici/lib/dispatcher/h2c-client.js +5 -5
  428. package/node_modules/undici/lib/dispatcher/pool-base.js +28 -10
  429. package/node_modules/undici/lib/dispatcher/pool.js +31 -6
  430. package/node_modules/undici/lib/dispatcher/proxy-agent.js +38 -13
  431. package/node_modules/undici/lib/dispatcher/round-robin-pool.js +31 -9
  432. package/node_modules/undici/lib/dispatcher/socks5-proxy-agent.js +95 -80
  433. package/node_modules/undici/lib/global.js +13 -1
  434. package/node_modules/undici/lib/handler/cache-handler.js +16 -8
  435. package/node_modules/undici/lib/handler/decorator-handler.js +1 -2
  436. package/node_modules/undici/lib/handler/redirect-handler.js +5 -51
  437. package/node_modules/undici/lib/handler/retry-handler.js +15 -2
  438. package/node_modules/undici/lib/interceptor/cache.js +30 -17
  439. package/node_modules/undici/lib/interceptor/decompress.js +28 -2
  440. package/node_modules/undici/lib/interceptor/dns.js +1 -1
  441. package/node_modules/undici/lib/interceptor/redirect.js +3 -3
  442. package/node_modules/undici/lib/llhttp/llhttp-wasm.js +1 -1
  443. package/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js +1 -1
  444. package/node_modules/undici/lib/mock/mock-agent.js +8 -8
  445. package/node_modules/undici/lib/mock/mock-call-history.js +15 -15
  446. package/node_modules/undici/lib/mock/mock-utils.js +37 -22
  447. package/node_modules/undici/lib/mock/snapshot-agent.js +16 -6
  448. package/node_modules/undici/lib/mock/snapshot-recorder.js +38 -3
  449. package/node_modules/undici/lib/util/cache.js +8 -7
  450. package/node_modules/undici/lib/util/runtime-features.js +3 -34
  451. package/node_modules/undici/lib/web/cache/cache.js +6 -8
  452. package/node_modules/undici/lib/web/eventsource/eventsource-stream.js +245 -150
  453. package/node_modules/undici/lib/web/fetch/body.js +3 -9
  454. package/node_modules/undici/lib/web/fetch/formdata-parser.js +17 -6
  455. package/node_modules/undici/lib/web/fetch/formdata.js +21 -2
  456. package/node_modules/undici/lib/web/fetch/index.js +214 -221
  457. package/node_modules/undici/lib/web/webidl/index.js +7 -9
  458. package/node_modules/undici/lib/web/websocket/frame.js +1 -7
  459. package/node_modules/undici/lib/web/websocket/permessage-deflate.js +13 -31
  460. package/node_modules/undici/lib/web/websocket/receiver.js +62 -22
  461. package/node_modules/undici/lib/web/websocket/stream/websocketstream.js +11 -17
  462. package/node_modules/undici/lib/web/websocket/websocket.js +6 -1
  463. package/node_modules/undici/package.json +9 -9
  464. package/node_modules/undici/types/agent.d.ts +0 -2
  465. package/node_modules/undici/types/client.d.ts +25 -19
  466. package/node_modules/undici/types/dispatcher.d.ts +7 -27
  467. package/node_modules/undici/types/dispatcher1-wrapper.d.ts +7 -0
  468. package/node_modules/undici/types/formdata.d.ts +0 -6
  469. package/node_modules/undici/types/h2c-client.d.ts +6 -6
  470. package/node_modules/undici/types/header.d.ts +5 -0
  471. package/node_modules/undici/types/index.d.ts +3 -1
  472. package/node_modules/undici/types/interceptors.d.ts +1 -1
  473. package/node_modules/undici/types/pool.d.ts +0 -2
  474. package/node_modules/undici/types/proxy-agent.d.ts +2 -2
  475. package/node_modules/undici/types/round-robin-pool.d.ts +0 -2
  476. package/node_modules/undici/types/snapshot-agent.d.ts +4 -0
  477. package/node_modules/undici/types/socks5-proxy-agent.d.ts +2 -2
  478. package/node_modules/undici/types/webidl.d.ts +0 -1
  479. package/package.json +8 -9
  480. package/node_modules/@aws-sdk/middleware-host-header/LICENSE +0 -201
  481. package/node_modules/@aws-sdk/middleware-host-header/README.md +0 -4
  482. package/node_modules/@aws-sdk/middleware-host-header/dist-cjs/index.js +0 -41
  483. package/node_modules/@aws-sdk/middleware-host-header/package.json +0 -59
  484. package/node_modules/@aws-sdk/middleware-logger/LICENSE +0 -201
  485. package/node_modules/@aws-sdk/middleware-logger/README.md +0 -4
  486. package/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js +0 -48
  487. package/node_modules/@aws-sdk/middleware-logger/dist-es/index.js +0 -1
  488. package/node_modules/@aws-sdk/middleware-logger/dist-types/index.d.ts +0 -1
  489. package/node_modules/@aws-sdk/middleware-logger/dist-types/ts3.4/index.d.ts +0 -1
  490. package/node_modules/@aws-sdk/middleware-logger/package.json +0 -59
  491. package/node_modules/@aws-sdk/middleware-recursion-detection/LICENSE +0 -201
  492. package/node_modules/@aws-sdk/middleware-recursion-detection/README.md +0 -17
  493. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/index.js +0 -29
  494. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.browser.js +0 -5
  495. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.js +0 -33
  496. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-cjs/recursionDetectionMiddleware.native.js +0 -5
  497. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-es/index.js +0 -2
  498. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-types/index.d.ts +0 -2
  499. package/node_modules/@aws-sdk/middleware-recursion-detection/dist-types/ts3.4/index.d.ts +0 -2
  500. package/node_modules/@aws-sdk/middleware-recursion-detection/package.json +0 -66
  501. package/node_modules/@aws-sdk/middleware-user-agent/LICENSE +0 -201
  502. package/node_modules/@aws-sdk/middleware-user-agent/README.md +0 -4
  503. package/node_modules/@aws-sdk/middleware-user-agent/dist-cjs/index.js +0 -194
  504. package/node_modules/@aws-sdk/middleware-user-agent/dist-es/index.js +0 -2
  505. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/index.d.ts +0 -2
  506. package/node_modules/@aws-sdk/middleware-user-agent/dist-types/ts3.4/index.d.ts +0 -2
  507. package/node_modules/@aws-sdk/middleware-user-agent/package.json +0 -61
  508. package/node_modules/@aws-sdk/region-config-resolver/LICENSE +0 -201
  509. package/node_modules/@aws-sdk/region-config-resolver/README.md +0 -19
  510. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/index.js +0 -38
  511. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.browser.js +0 -6
  512. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.js +0 -19
  513. package/node_modules/@aws-sdk/region-config-resolver/dist-cjs/regionConfig/stsRegionDefaultResolver.native.js +0 -6
  514. package/node_modules/@aws-sdk/region-config-resolver/dist-es/index.js +0 -3
  515. package/node_modules/@aws-sdk/region-config-resolver/dist-types/index.d.ts +0 -3
  516. package/node_modules/@aws-sdk/region-config-resolver/dist-types/ts3.4/index.d.ts +0 -3
  517. package/node_modules/@aws-sdk/region-config-resolver/package.json +0 -64
  518. package/node_modules/@aws-sdk/util-endpoints/LICENSE +0 -201
  519. package/node_modules/@aws-sdk/util-endpoints/README.md +0 -6
  520. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/index.js +0 -406
  521. package/node_modules/@aws-sdk/util-endpoints/dist-cjs/lib/aws/partitions.json +0 -267
  522. package/node_modules/@aws-sdk/util-endpoints/dist-es/index.js +0 -6
  523. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/index.js +0 -3
  524. package/node_modules/@aws-sdk/util-endpoints/dist-es/lib/aws/partitions.json +0 -267
  525. package/node_modules/@aws-sdk/util-endpoints/dist-es/types/index.js +0 -6
  526. package/node_modules/@aws-sdk/util-endpoints/dist-types/index.d.ts +0 -6
  527. package/node_modules/@aws-sdk/util-endpoints/dist-types/lib/aws/index.d.ts +0 -3
  528. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/index.d.ts +0 -6
  529. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/lib/aws/index.d.ts +0 -3
  530. package/node_modules/@aws-sdk/util-endpoints/dist-types/ts3.4/types/index.d.ts +0 -6
  531. package/node_modules/@aws-sdk/util-endpoints/dist-types/types/index.d.ts +0 -6
  532. package/node_modules/@aws-sdk/util-endpoints/package.json +0 -59
  533. package/node_modules/@aws-sdk/util-user-agent-browser/LICENSE +0 -201
  534. package/node_modules/@aws-sdk/util-user-agent-browser/README.md +0 -29
  535. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/createUserAgentStringParsingProvider.js +0 -24
  536. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.browser.js +0 -4
  537. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.js +0 -61
  538. package/node_modules/@aws-sdk/util-user-agent-browser/dist-cjs/index.native.js +0 -22
  539. package/node_modules/@aws-sdk/util-user-agent-browser/dist-es/index.browser.js +0 -1
  540. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/index.browser.d.ts +0 -1
  541. package/node_modules/@aws-sdk/util-user-agent-browser/dist-types/ts3.4/index.browser.d.ts +0 -1
  542. package/node_modules/@aws-sdk/util-user-agent-browser/package.json +0 -60
  543. package/node_modules/@aws-sdk/util-user-agent-node/LICENSE +0 -201
  544. package/node_modules/@aws-sdk/util-user-agent-node/README.md +0 -17
  545. package/node_modules/@aws-sdk/util-user-agent-node/dist-cjs/index.js +0 -185
  546. package/node_modules/@aws-sdk/util-user-agent-node/dist-es/index.js +0 -2
  547. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/index.d.ts +0 -2
  548. package/node_modules/@aws-sdk/util-user-agent-node/dist-types/ts3.4/index.d.ts +0 -2
  549. package/node_modules/@aws-sdk/util-user-agent-node/package.json +0 -68
  550. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts +0 -4
  551. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.d.ts.map +0 -1
  552. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js +0 -3
  553. package/node_modules/@earendil-works/pi-agent-core/dist/harness/execution-env.js.map +0 -1
  554. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts +0 -20
  555. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.d.ts.map +0 -1
  556. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js +0 -92
  557. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/jsonl.js.map +0 -1
  558. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts +0 -18
  559. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.d.ts.map +0 -1
  560. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js +0 -42
  561. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/memory.js.map +0 -1
  562. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts +0 -10
  563. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.d.ts.map +0 -1
  564. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js +0 -31
  565. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo/shared.js.map +0 -1
  566. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts +0 -30
  567. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.d.ts.map +0 -1
  568. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js +0 -170
  569. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/jsonl.js.map +0 -1
  570. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts +0 -26
  571. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.d.ts.map +0 -1
  572. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js +0 -90
  573. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/storage/memory.js.map +0 -1
  574. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/custom-provider-anthropic/package-lock.json +0 -24
  575. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/sandbox/package-lock.json +0 -92
  576. package/node_modules/@earendil-works/pi-coding-agent/examples/extensions/with-deps/package-lock.json +0 -31
  577. package/node_modules/undici/lib/handler/unwrap-handler.js +0 -100
  578. package/node_modules/undici/lib/handler/wrap-handler.js +0 -105
  579. package/node_modules/undici/lib/llhttp/.gitkeep +0 -0
  580. package/node_modules/undici/lib/util/promise.js +0 -28
  581. package/skills/.gitkeep +0 -0
  582. /package/node_modules/@aws-sdk/{middleware-host-header/dist-es/index.js → core/dist-es/submodules/client/middleware-host-header/hostHeaderMiddleware.js} +0 -0
  583. /package/node_modules/@aws-sdk/{middleware-logger/dist-es → core/dist-es/submodules/client/middleware-logger}/loggerMiddleware.js +0 -0
  584. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/configuration.js +0 -0
  585. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/getRecursionDetectionPlugin.js +0 -0
  586. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.js +0 -0
  587. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.js +0 -0
  588. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-es → core/dist-es/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.js +0 -0
  589. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/configurations.js +0 -0
  590. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/constants.js +0 -0
  591. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-es → core/dist-es/submodules/client/middleware-user-agent}/encode-features.js +0 -0
  592. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/awsRegionConfig.js +0 -0
  593. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/extensions/index.js → core/dist-es/submodules/client/region-config-resolver/extensions.js} +0 -0
  594. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.js +0 -0
  595. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.js +0 -0
  596. /package/node_modules/@aws-sdk/{region-config-resolver/dist-es/regionConfig → core/dist-es/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.js +0 -0
  597. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/aws.js +0 -0
  598. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.js +0 -0
  599. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/aws/parseArn.js +0 -0
  600. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/lib/isIpAddress.js +0 -0
  601. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.js +0 -0
  602. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/resolveEndpoint.js +0 -0
  603. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/EndpointError.js +0 -0
  604. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/EndpointRuleObject.js +0 -0
  605. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/ErrorRuleObject.js +0 -0
  606. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/RuleSetObject.js +0 -0
  607. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/TreeRuleObject.js +0 -0
  608. /package/node_modules/@aws-sdk/{util-endpoints/dist-es → core/dist-es/submodules/client/util-endpoints}/types/shared.js +0 -0
  609. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es → core/dist-es/submodules/client/util-user-agent-browser}/configurations.js +0 -0
  610. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es → core/dist-es/submodules/client/util-user-agent-browser}/createUserAgentStringParsingProvider.js +0 -0
  611. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es/index.js → core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.js} +0 -0
  612. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-es/index.native.js → core/dist-es/submodules/client/util-user-agent-browser/defaultUserAgent.native.js} +0 -0
  613. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/crt-availability.js +0 -0
  614. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/defaultUserAgent.js +0 -0
  615. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.js +0 -0
  616. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.js +0 -0
  617. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.js +0 -0
  618. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.js +0 -0
  619. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.js +0 -0
  620. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-es → core/dist-es/submodules/client/util-user-agent-node}/is-crt-available.js +0 -0
  621. /package/node_modules/@aws-sdk/{middleware-host-header/dist-types/index.d.ts → core/dist-types/submodules/client/middleware-host-header/hostHeaderMiddleware.d.ts} +0 -0
  622. /package/node_modules/@aws-sdk/{middleware-logger/dist-types → core/dist-types/submodules/client/middleware-logger}/loggerMiddleware.d.ts +0 -0
  623. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/configuration.d.ts +0 -0
  624. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/getRecursionDetectionPlugin.d.ts → core/dist-types/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.d.ts} +0 -0
  625. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.d.ts +0 -0
  626. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.d.ts +0 -0
  627. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types → core/dist-types/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.d.ts +0 -0
  628. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/check-features.d.ts +0 -0
  629. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/configurations.d.ts +0 -0
  630. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/constants.d.ts +0 -0
  631. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/encode-features.d.ts +0 -0
  632. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types → core/dist-types/submodules/client/middleware-user-agent}/user-agent-middleware.d.ts +0 -0
  633. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/awsRegionConfig.d.ts +0 -0
  634. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/extensions/index.d.ts → core/dist-types/submodules/client/region-config-resolver/extensions.d.ts} +0 -0
  635. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.d.ts +0 -0
  636. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.d.ts +0 -0
  637. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/regionConfig → core/dist-types/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.d.ts +0 -0
  638. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/aws.d.ts +0 -0
  639. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.d.ts +0 -0
  640. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/parseArn.d.ts +0 -0
  641. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/aws/partition.d.ts +0 -0
  642. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/lib/isIpAddress.d.ts +0 -0
  643. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.d.ts +0 -0
  644. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/resolveEndpoint.d.ts +0 -0
  645. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/EndpointError.d.ts +0 -0
  646. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/EndpointRuleObject.d.ts +0 -0
  647. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/ErrorRuleObject.d.ts +0 -0
  648. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/RuleSetObject.d.ts +0 -0
  649. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/submodules/client/util-endpoints}/types/TreeRuleObject.d.ts +0 -0
  650. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/submodules/client/util-endpoints}/types/shared.d.ts +0 -0
  651. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types → core/dist-types/submodules/client/util-user-agent-browser}/configurations.d.ts +0 -0
  652. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/index.d.ts → core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts} +0 -0
  653. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/index.native.d.ts → core/dist-types/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts} +0 -0
  654. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/crt-availability.d.ts +0 -0
  655. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/defaultUserAgent.d.ts +0 -0
  656. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.d.ts +0 -0
  657. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.d.ts +0 -0
  658. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.d.ts +0 -0
  659. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.d.ts +0 -0
  660. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.d.ts +0 -0
  661. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/is-crt-available.d.ts +0 -0
  662. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types → core/dist-types/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.d.ts +0 -0
  663. /package/node_modules/@aws-sdk/{middleware-host-header/dist-types/ts3.4/index.d.ts → core/dist-types/ts3.4/submodules/client/middleware-host-header/hostHeaderMiddleware.d.ts} +0 -0
  664. /package/node_modules/@aws-sdk/{middleware-logger/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-logger}/loggerMiddleware.d.ts +0 -0
  665. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/configuration.d.ts +0 -0
  666. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4/getRecursionDetectionPlugin.d.ts → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection/getRecursionDetectionPlugin.browser.d.ts} +0 -0
  667. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.browser.d.ts +0 -0
  668. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.d.ts +0 -0
  669. /package/node_modules/@aws-sdk/{middleware-recursion-detection/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-recursion-detection}/recursionDetectionMiddleware.native.d.ts +0 -0
  670. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/check-features.d.ts +0 -0
  671. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/configurations.d.ts +0 -0
  672. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/constants.d.ts +0 -0
  673. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/encode-features.d.ts +0 -0
  674. /package/node_modules/@aws-sdk/{middleware-user-agent/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/middleware-user-agent}/user-agent-middleware.d.ts +0 -0
  675. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/awsRegionConfig.d.ts +0 -0
  676. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/extensions/index.d.ts → core/dist-types/ts3.4/submodules/client/region-config-resolver/extensions.d.ts} +0 -0
  677. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/stsRegionDefaultResolver.browser.d.ts +0 -0
  678. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/stsRegionDefaultResolver.d.ts +0 -0
  679. /package/node_modules/@aws-sdk/{region-config-resolver/dist-types/ts3.4/regionConfig → core/dist-types/ts3.4/submodules/client/region-config-resolver}/stsRegionDefaultResolver.native.d.ts +0 -0
  680. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/aws.d.ts +0 -0
  681. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/aws/isVirtualHostableS3Bucket.d.ts +0 -0
  682. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/aws/parseArn.d.ts +0 -0
  683. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/aws/partition.d.ts +0 -0
  684. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/lib/isIpAddress.d.ts +0 -0
  685. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/resolveDefaultAwsRegionalEndpointsConfig.d.ts +0 -0
  686. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/resolveEndpoint.d.ts +0 -0
  687. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/EndpointError.d.ts +0 -0
  688. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/EndpointRuleObject.d.ts +0 -0
  689. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/ErrorRuleObject.d.ts +0 -0
  690. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/RuleSetObject.d.ts +0 -0
  691. /package/node_modules/@aws-sdk/{util-endpoints/dist-types → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/TreeRuleObject.d.ts +0 -0
  692. /package/node_modules/@aws-sdk/{util-endpoints/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-endpoints}/types/shared.d.ts +0 -0
  693. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-browser}/configurations.d.ts +0 -0
  694. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4/index.d.ts → core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.d.ts} +0 -0
  695. /package/node_modules/@aws-sdk/{util-user-agent-browser/dist-types/ts3.4/index.native.d.ts → core/dist-types/ts3.4/submodules/client/util-user-agent-browser/defaultUserAgent.native.d.ts} +0 -0
  696. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/crt-availability.d.ts +0 -0
  697. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/defaultUserAgent.d.ts +0 -0
  698. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getNodeModulesParentDirs.d.ts +0 -0
  699. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getRuntimeUserAgentPair.d.ts +0 -0
  700. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getSanitizedDevTypeScriptVersion.d.ts +0 -0
  701. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getSanitizedTypeScriptVersion.d.ts +0 -0
  702. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/getTypeScriptUserAgentPair.d.ts +0 -0
  703. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/is-crt-available.d.ts +0 -0
  704. /package/node_modules/@aws-sdk/{util-user-agent-node/dist-types/ts3.4 → core/dist-types/ts3.4/submodules/client/util-user-agent-node}/nodeAppIdConfigOptions.d.ts +0 -0
@@ -0,0 +1,311 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ // Forge tool: generation-manifest
5
+ // Track and verify generated file integrity via content hashes.
6
+ // Usage: generation-manifest record <path>
7
+ // generation-manifest record-all
8
+ // generation-manifest check <path>
9
+ // generation-manifest list [--modified]
10
+ // generation-manifest status
11
+ // generation-manifest remove <path>
12
+ // generation-manifest clear-namespace <prefix> Remove all entries whose path starts with <prefix>.
13
+ // prefix must start with .forge/ or .claude/ and end with /
14
+
15
+ const fs = require('fs');
16
+ const path = require('path');
17
+ const crypto = require('crypto');
18
+
19
+ const MANIFEST_PATH = path.join(process.cwd(), '.forge', 'generation-manifest.json');
20
+
21
+ function normalize(content) {
22
+ return content
23
+ .replace(/\r\n/g, '\n')
24
+ .split('\n')
25
+ .map(line => line.trimEnd())
26
+ .join('\n');
27
+ }
28
+
29
+ function hashContent(content) {
30
+ return 'sha256:' + crypto.createHash('sha256').update(normalize(content), 'utf8').digest('hex');
31
+ }
32
+
33
+ // ── exports (for testing) ────────────────────────────────────────────────────
34
+
35
+ module.exports = { normalize, hashContent, MANIFEST_PATH };
36
+
37
+ // ── CLI guard ────────────────────────────────────────────────────────────────
38
+
39
+ if (require.main === module) {
40
+ process.on('uncaughtException', (e) => {
41
+ process.stderr.write(`× ${e.message}\n`);
42
+ process.exit(1);
43
+ });
44
+
45
+ function readManifest() {
46
+ if (!fs.existsSync(MANIFEST_PATH)) return { files: {} };
47
+ try {
48
+ return JSON.parse(fs.readFileSync(MANIFEST_PATH, 'utf8'));
49
+ } catch (e) {
50
+ process.stderr.write(`× reading manifest: ${e.message}\n`);
51
+ process.exit(1);
52
+ }
53
+ }
54
+
55
+ function writeManifest(manifest) {
56
+ const dir = path.dirname(MANIFEST_PATH);
57
+ if (!fs.existsSync(dir)) fs.mkdirSync(dir, { recursive: true });
58
+ const tmp = MANIFEST_PATH + '.tmp.' + process.pid;
59
+ try {
60
+ fs.writeFileSync(tmp, JSON.stringify(manifest, null, 2) + '\n', 'utf8');
61
+ fs.renameSync(tmp, MANIFEST_PATH);
62
+ } catch (e) {
63
+ try { fs.unlinkSync(tmp); } catch {}
64
+ process.stderr.write(`× writing manifest: ${e.message}\n`);
65
+ process.exit(1);
66
+ }
67
+ }
68
+
69
+ function getForgeVersion() {
70
+ try {
71
+ const configPath = path.join(process.cwd(), '.forge', 'config.json');
72
+ if (fs.existsSync(configPath)) {
73
+ const cfg = JSON.parse(fs.readFileSync(configPath, 'utf8'));
74
+ if (cfg.version) return cfg.version;
75
+ }
76
+ } catch {}
77
+ return 'unknown';
78
+ }
79
+
80
+ function toRelPath(filePath) {
81
+ return path.relative(process.cwd(), path.resolve(filePath));
82
+ }
83
+
84
+ function fileStatus(relPath, entry) {
85
+ const absPath = path.resolve(relPath);
86
+ if (!fs.existsSync(absPath)) return 'missing';
87
+ const current = hashContent(fs.readFileSync(absPath, 'utf8'));
88
+ return current === entry.hash ? 'pristine' : 'modified';
89
+ }
90
+
91
+ const STATUS_SYMBOL = { pristine: '〇', modified: '△', missing: '×' };
92
+
93
+ // ── subcommands ──────────────────────────────────────────────────────────────
94
+
95
+ const [,, subcmd, ...args] = process.argv;
96
+
97
+ if (!subcmd) {
98
+ process.stderr.write([
99
+ 'Usage: generation-manifest <subcommand> [options]',
100
+ '',
101
+ 'Subcommands:',
102
+ ' record <path> Hash and store/update a file in the manifest',
103
+ ' record-all Re-hash all files currently tracked in the manifest',
104
+ ' check <path> Exit 0=pristine 1=modified 2=untracked 3=file missing',
105
+ ' list [--modified] Table of tracked files with status',
106
+ ' status Summary counts',
107
+ ' remove <path> Remove a file from tracking',
108
+ ' clear-namespace <prefix> Remove all entries whose path starts with <prefix>.',
109
+ ' prefix must start with .forge/ or .claude/ and end with /',
110
+ ].join('\n') + '\n');
111
+ process.exit(2);
112
+ }
113
+
114
+ // ── record ───────────────────────────────────────────────────────────────────
115
+
116
+ if (subcmd === 'record') {
117
+ const filePath = args[0];
118
+ if (!filePath) {
119
+ process.stderr.write('Usage: generation-manifest record <path>\n');
120
+ process.exit(2);
121
+ }
122
+ const relPath = toRelPath(filePath);
123
+ const absPath = path.resolve(filePath);
124
+ if (!fs.existsSync(absPath)) {
125
+ process.stderr.write(`× File not found: ${filePath}\n`);
126
+ process.exit(1);
127
+ }
128
+ const manifest = readManifest();
129
+ if (!manifest.files) manifest.files = {};
130
+ manifest.files[relPath] = {
131
+ hash: hashContent(fs.readFileSync(absPath, 'utf8')),
132
+ generatedAt: new Date().toISOString(),
133
+ generatedByVersion: getForgeVersion(),
134
+ };
135
+ writeManifest(manifest);
136
+ process.stdout.write(`〇 Recorded: ${relPath}\n`);
137
+ process.exit(0);
138
+ }
139
+
140
+ // ── record-all ───────────────────────────────────────────────────────────────
141
+
142
+ if (subcmd === 'record-all') {
143
+ const manifest = readManifest();
144
+ const files = manifest.files || {};
145
+ if (Object.keys(files).length === 0) {
146
+ process.stdout.write('── No files tracked — nothing to re-hash.\n');
147
+ process.exit(0);
148
+ }
149
+ let updated = 0, missing = 0;
150
+ const version = getForgeVersion();
151
+ for (const relPath of Object.keys(files)) {
152
+ const absPath = path.resolve(relPath);
153
+ if (!fs.existsSync(absPath)) {
154
+ process.stdout.write(`△ Missing (skipped): ${relPath}\n`);
155
+ missing++;
156
+ continue;
157
+ }
158
+ files[relPath] = {
159
+ hash: hashContent(fs.readFileSync(absPath, 'utf8')),
160
+ generatedAt: new Date().toISOString(),
161
+ generatedByVersion: version,
162
+ };
163
+ updated++;
164
+ }
165
+ writeManifest(manifest);
166
+ process.stdout.write(`〇 Re-hashed ${updated} file(s).${missing ? ` △ ${missing} missing.` : ''}\n`);
167
+ process.exit(0);
168
+ }
169
+
170
+ // ── check ────────────────────────────────────────────────────────────────────
171
+
172
+ if (subcmd === 'check') {
173
+ const filePath = args[0];
174
+ if (!filePath) {
175
+ process.stderr.write('Usage: generation-manifest check <path>\n');
176
+ process.exit(2);
177
+ }
178
+ const relPath = toRelPath(filePath);
179
+ const manifest = readManifest();
180
+ const entry = manifest.files && manifest.files[relPath];
181
+
182
+ if (!entry) {
183
+ process.stdout.write(`── ${relPath}: untracked\n`);
184
+ process.exit(2);
185
+ }
186
+ const absPath = path.resolve(relPath);
187
+ if (!fs.existsSync(absPath)) {
188
+ process.stdout.write(`× ${relPath}: file not found\n`);
189
+ process.exit(3);
190
+ }
191
+ const current = hashContent(fs.readFileSync(absPath, 'utf8'));
192
+ if (current === entry.hash) {
193
+ process.stdout.write(`〇 ${relPath}: pristine\n`);
194
+ process.exit(0);
195
+ } else {
196
+ process.stdout.write(`△ ${relPath}: modified (generated by v${entry.generatedByVersion || '?'})\n`);
197
+ process.exit(1);
198
+ }
199
+ }
200
+
201
+ // ── list ─────────────────────────────────────────────────────────────────────
202
+
203
+ if (subcmd === 'list') {
204
+ const modifiedOnly = args.includes('--modified');
205
+ const manifest = readManifest();
206
+ const files = manifest.files || {};
207
+
208
+ if (Object.keys(files).length === 0) {
209
+ process.stdout.write('── No files tracked.\n');
210
+ process.exit(0);
211
+ }
212
+
213
+ const rows = [];
214
+ for (const [relPath, entry] of Object.entries(files)) {
215
+ const status = fileStatus(relPath, entry);
216
+ if (modifiedOnly && status === 'pristine') continue;
217
+ rows.push({
218
+ symbol: STATUS_SYMBOL[status],
219
+ status,
220
+ relPath,
221
+ version: entry.generatedByVersion || '—',
222
+ date: entry.generatedAt ? entry.generatedAt.slice(0, 10) : '—',
223
+ });
224
+ }
225
+
226
+ if (rows.length === 0) {
227
+ process.stdout.write('〇 All tracked files are pristine.\n');
228
+ process.exit(0);
229
+ }
230
+
231
+ process.stdout.write('| Status | File | Version | Date |\n');
232
+ process.stdout.write('|--------|------|---------|------|\n');
233
+ for (const r of rows) {
234
+ process.stdout.write(`| ${r.symbol} ${r.status} | \`${r.relPath}\` | ${r.version} | ${r.date} |\n`);
235
+ }
236
+ process.exit(0);
237
+ }
238
+
239
+ // ── status ───────────────────────────────────────────────────────────────────
240
+
241
+ if (subcmd === 'status') {
242
+ const manifest = readManifest();
243
+ const files = manifest.files || {};
244
+ let pristine = 0, modified = 0, missing = 0;
245
+ for (const [relPath, entry] of Object.entries(files)) {
246
+ const s = fileStatus(relPath, entry);
247
+ if (s === 'pristine') pristine++;
248
+ else if (s === 'modified') modified++;
249
+ else missing++;
250
+ }
251
+ const total = pristine + modified + missing;
252
+ if (total === 0) {
253
+ process.stdout.write('── No files tracked.\n');
254
+ process.exit(0);
255
+ }
256
+ process.stdout.write(`── ${total} file(s) tracked\n`);
257
+ if (pristine > 0) process.stdout.write(`〇 ${pristine} pristine\n`);
258
+ if (modified > 0) process.stdout.write(`△ ${modified} modified\n`);
259
+ if (missing > 0) process.stdout.write(`× ${missing} missing\n`);
260
+ process.exit(0);
261
+ }
262
+
263
+ // ── remove ───────────────────────────────────────────────────────────────────
264
+
265
+ if (subcmd === 'remove') {
266
+ const filePath = args[0];
267
+ if (!filePath) {
268
+ process.stderr.write('Usage: generation-manifest remove <path>\n');
269
+ process.exit(2);
270
+ }
271
+ const relPath = toRelPath(filePath);
272
+ const manifest = readManifest();
273
+ if (!manifest.files || !manifest.files[relPath]) {
274
+ process.stderr.write(`× Not tracked: ${relPath}\n`);
275
+ process.exit(1);
276
+ }
277
+ delete manifest.files[relPath];
278
+ writeManifest(manifest);
279
+ process.stdout.write(`〇 Removed from tracking: ${relPath}\n`);
280
+ process.exit(0);
281
+ }
282
+
283
+ // ── clear-namespace ──────────────────────────────────────────────────────────
284
+
285
+ if (subcmd === 'clear-namespace') {
286
+ const prefix = args[0];
287
+ if (!prefix) {
288
+ process.stderr.write('Usage: generation-manifest clear-namespace <prefix>\n');
289
+ process.exit(2);
290
+ }
291
+ const validPrefix = (prefix.startsWith('.forge/') || prefix.startsWith('.claude/')) && prefix.endsWith('/');
292
+ if (!validPrefix) {
293
+ process.stderr.write('Usage error: prefix must start with .forge/ or .claude/ and end with /\n');
294
+ process.exit(2);
295
+ }
296
+ const manifest = readManifest();
297
+ const files = manifest.files || {};
298
+ const keys = Object.keys(files).filter(k => k.startsWith(prefix));
299
+ if (keys.length === 0) {
300
+ process.stdout.write(`── No entries matching ${prefix}\n`);
301
+ } else {
302
+ for (const k of keys) delete files[k];
303
+ writeManifest(manifest);
304
+ process.stdout.write(`〇 Cleared ${keys.length} entries matching ${prefix}\n`);
305
+ }
306
+ process.exit(0);
307
+ }
308
+
309
+ process.stderr.write(`× Unknown subcommand: ${subcmd}\n`);
310
+ process.exit(2);
311
+ } // end if (require.main === module)
@@ -0,0 +1,59 @@
1
+ 'use strict';
2
+
3
+ // Forge shared helper: resolveForgeRoot
4
+ // FR-001: 3-tier priority resolution for FORGE_ROOT with actionable error.
5
+ //
6
+ // Resolution order:
7
+ // 1. FORGE_ROOT env var — accepted only if ${FORGE_ROOT}/.claude-plugin/plugin.json exists
8
+ // 2. __dirname/.. — the parent of this module's directory (tools/lib -> forge root)
9
+ // 3. Actionable error listing all checked paths
10
+ //
11
+ // This follows the same pattern as project-root.cjs (library module pattern):
12
+ // - Export functions, no require.main === module CLI block
13
+ // - Throw errors, don't call process.exit
14
+
15
+ const fs = require('fs');
16
+ const path = require('path');
17
+
18
+ /**
19
+ * Resolve the Forge plugin root directory.
20
+ *
21
+ * @param {string} [envForgeRoot] - Value of FORGE_ROOT environment variable.
22
+ * If provided and points to a directory containing .claude-plugin/plugin.json,
23
+ * it is accepted. If provided but plugin.json is missing, resolution falls
24
+ * through to the __dirname fallback. If omitted/undefined, falls through.
25
+ * @returns {string} Absolute path to the Forge plugin root.
26
+ * @throws {Error} When no valid resolution path is found, with a message listing
27
+ * all paths that were checked.
28
+ */
29
+ function resolveForgeRoot(envForgeRoot) {
30
+ const checkedPaths = [];
31
+
32
+ // Tier 1: Environment variable — only accepted if plugin.json exists
33
+ if (envForgeRoot) {
34
+ const pluginJsonPath = path.join(envForgeRoot, '.claude-plugin', 'plugin.json');
35
+ checkedPaths.push(pluginJsonPath);
36
+ if (fs.existsSync(pluginJsonPath)) {
37
+ return envForgeRoot;
38
+ }
39
+ // Env var provided but doesn't point to a valid plugin root — fall through
40
+ }
41
+
42
+ // Tier 2: __dirname/../.. — the standard layout (forge/forge/tools/lib/ -> forge/forge/)
43
+ // This module lives in tools/lib/, so going up two directories reaches the plugin root.
44
+ const fallbackRoot = path.resolve(path.join(__dirname, '..', '..'));
45
+ const fallbackPluginJson = path.join(fallbackRoot, '.claude-plugin', 'plugin.json');
46
+ checkedPaths.push(fallbackPluginJson);
47
+ if (fs.existsSync(fallbackPluginJson)) {
48
+ return fallbackRoot;
49
+ }
50
+
51
+ // Tier 3: Actionable error
52
+ throw new Error(
53
+ `Cannot resolve Forge plugin root. Checked paths:\n` +
54
+ checkedPaths.map(p => ` - ${p}`).join('\n') +
55
+ '\nSet FORGE_ROOT to a directory containing .claude-plugin/plugin.json'
56
+ );
57
+ }
58
+
59
+ module.exports = { resolveForgeRoot };
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * paths.cjs — Shared path-computation helpers for Forge tools.
5
+ *
6
+ * Single source of truth for directory-name conventions that must be
7
+ * consistent across substitute-placeholders.cjs, check-structure.cjs, etc.
8
+ *
9
+ * Exported API:
10
+ * getCommandsSubdir(prefix) — returns prefix.toLowerCase()
11
+ */
12
+
13
+ /**
14
+ * Compute the commands subdirectory name from a project prefix.
15
+ *
16
+ * The canonical commands subfolder under .claude/commands/ is derived
17
+ * from the project prefix (lowercased), NOT hardcoded as 'forge'.
18
+ *
19
+ * @param {string} prefix — project prefix (e.g. 'ACME', 'FORGE')
20
+ * @returns {string} lowercased prefix (e.g. 'acme', 'forge')
21
+ */
22
+ function getCommandsSubdir(prefix) {
23
+ if (typeof prefix !== 'string' || prefix.length === 0) {
24
+ throw new Error('paths.getCommandsSubdir: prefix must be a non-empty string');
25
+ }
26
+ return prefix.toLowerCase();
27
+ }
28
+
29
+ module.exports = { getCommandsSubdir };
@@ -0,0 +1,165 @@
1
+ 'use strict';
2
+
3
+ /**
4
+ * pricing.cjs — Shared pricing primitive for Forge cost tooling.
5
+ *
6
+ * Exports:
7
+ * MODEL_PRICING - frozen object mapping canonical model name → { input, output, cacheRead, cacheWrite }
8
+ * All rates are in USD per token (not per 1M tokens).
9
+ * canonicalizeModel(model) - normalises model name variants/aliases to canonical form.
10
+ * Returns { canonical, contextWindow } or null if unknown.
11
+ * computeCost(opts) - computes USD cost from { inputTokens, outputTokens,
12
+ * cacheReadTokens, cacheWriteTokens, model }.
13
+ * Returns number (may be 0), or null for unknown model.
14
+ *
15
+ * This module is a pure library — no CLI, no process.exit.
16
+ * Published Anthropic pricing (USD/MTok → divide by 1,000,000 for per-token rate):
17
+ * claude-opus-4-5: input $15.00, output $75.00, cacheRead $1.50, cacheWrite $18.75
18
+ * claude-opus-4-7: input $15.00, output $75.00, cacheRead $1.50, cacheWrite $18.75
19
+ * claude-sonnet-4-5: input $3.00, output $15.00, cacheRead $0.30, cacheWrite $3.75
20
+ * claude-sonnet-4-6: input $3.00, output $15.00, cacheRead $0.30, cacheWrite $3.75
21
+ * claude-haiku-3-5: input $0.80, output $4.00, cacheRead $0.08, cacheWrite $1.00
22
+ */
23
+
24
+ // All rates in USD per token (divide MTok rate by 1,000,000)
25
+ const MODEL_PRICING = Object.freeze({
26
+ 'claude-opus-4-5': {
27
+ input: 15.00 / 1_000_000,
28
+ output: 75.00 / 1_000_000,
29
+ cacheRead: 1.50 / 1_000_000,
30
+ cacheWrite: 18.75 / 1_000_000,
31
+ },
32
+ 'claude-opus-4-7': {
33
+ input: 15.00 / 1_000_000,
34
+ output: 75.00 / 1_000_000,
35
+ cacheRead: 1.50 / 1_000_000,
36
+ cacheWrite: 18.75 / 1_000_000,
37
+ },
38
+ 'claude-sonnet-4-5': {
39
+ input: 3.00 / 1_000_000,
40
+ output: 15.00 / 1_000_000,
41
+ cacheRead: 0.30 / 1_000_000,
42
+ cacheWrite: 3.75 / 1_000_000,
43
+ },
44
+ 'claude-sonnet-4-6': {
45
+ input: 3.00 / 1_000_000,
46
+ output: 15.00 / 1_000_000,
47
+ cacheRead: 0.30 / 1_000_000,
48
+ cacheWrite: 3.75 / 1_000_000,
49
+ },
50
+ 'claude-haiku-3-5': {
51
+ input: 0.80 / 1_000_000,
52
+ output: 4.00 / 1_000_000,
53
+ cacheRead: 0.08 / 1_000_000,
54
+ cacheWrite: 1.00 / 1_000_000,
55
+ },
56
+ });
57
+
58
+ /**
59
+ * Known model families for canonical resolution.
60
+ * Each entry is [baseCanonical, [...synonymPatterns]]
61
+ * Patterns are tested after lower-casing the input model string.
62
+ * The order matters: more specific patterns must come before more general ones.
63
+ */
64
+ const MODEL_FAMILIES = [
65
+ // Opus family
66
+ 'claude-opus-4-7',
67
+ 'claude-opus-4-5',
68
+ // Sonnet family
69
+ 'claude-sonnet-4-6',
70
+ 'claude-sonnet-4-5',
71
+ // Haiku family
72
+ 'claude-haiku-3-5',
73
+ ];
74
+
75
+ /**
76
+ * canonicalizeModel(model)
77
+ *
78
+ * Given a raw model string (possibly fragmented / aliased), returns:
79
+ * { canonical: string, contextWindow: string|null }
80
+ * where:
81
+ * - canonical is one of the keys in MODEL_PRICING
82
+ * - contextWindow is '1m' when a 1M-context-window variant was detected, otherwise null
83
+ *
84
+ * Returns null if the model cannot be mapped to a known canonical name.
85
+ *
86
+ * Examples:
87
+ * 'claude-sonnet-4-6' → { canonical: 'claude-sonnet-4-6', contextWindow: null }
88
+ * 'claude-sonnet-4-6-1m' → { canonical: 'claude-sonnet-4-6', contextWindow: '1m' }
89
+ * 'claude-sonnet-4-6[1m]'→ { canonical: 'claude-sonnet-4-6', contextWindow: '1m' }
90
+ * 'sonnet-4-6' → { canonical: 'claude-sonnet-4-6', contextWindow: null }
91
+ * 'opus-4-7-1m' → { canonical: 'claude-opus-4-7', contextWindow: '1m' }
92
+ * 'totally-unknown-9-9' → null
93
+ */
94
+ function canonicalizeModel(model) {
95
+ if (model == null || typeof model !== 'string' || model.trim() === '') return null;
96
+
97
+ const raw = model.trim();
98
+
99
+ // Detect and strip 1m context-window suffix variants:
100
+ // -1m suffix (e.g. claude-sonnet-4-6-1m)
101
+ // [1m] suffix (e.g. claude-sonnet-4-6[1m])
102
+ let contextWindow = null;
103
+ let stripped = raw;
104
+ if (/\[1m\]$/i.test(stripped)) {
105
+ contextWindow = '1m';
106
+ stripped = stripped.replace(/\[1m\]$/i, '').replace(/-+$/, '');
107
+ } else if (/-1m$/i.test(stripped)) {
108
+ contextWindow = '1m';
109
+ stripped = stripped.replace(/-1m$/i, '');
110
+ }
111
+
112
+ // Normalise to lowercase for matching
113
+ const lower = stripped.toLowerCase();
114
+
115
+ for (const canonical of MODEL_FAMILIES) {
116
+ // Exact match (after stripping)
117
+ if (lower === canonical) {
118
+ return { canonical, contextWindow };
119
+ }
120
+ // Short alias: canonical without leading 'claude-'
121
+ const short = canonical.replace(/^claude-/, '');
122
+ if (lower === short) {
123
+ return { canonical, contextWindow };
124
+ }
125
+ // Contains the canonical family segment (e.g. 'claude-sonnet-4-6' in a longer variant)
126
+ if (lower.includes(canonical)) {
127
+ return { canonical, contextWindow };
128
+ }
129
+ }
130
+
131
+ return null;
132
+ }
133
+
134
+ /**
135
+ * computeCost({ inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, model })
136
+ *
137
+ * Returns the estimated USD cost as a number, or null if the model is unknown.
138
+ * Returns 0 (not null) when all token counts are zero and the model is known.
139
+ * Never returns a negative number.
140
+ *
141
+ * @param {object} opts
142
+ * @param {number} opts.inputTokens
143
+ * @param {number} opts.outputTokens
144
+ * @param {number} opts.cacheReadTokens
145
+ * @param {number} opts.cacheWriteTokens
146
+ * @param {string} opts.model - raw model string (will be canonicalized)
147
+ * @returns {number|null}
148
+ */
149
+ function computeCost({ inputTokens, outputTokens, cacheReadTokens, cacheWriteTokens, model }) {
150
+ const canonResult = canonicalizeModel(model);
151
+ if (canonResult === null) return null;
152
+
153
+ const rates = MODEL_PRICING[canonResult.canonical];
154
+ if (!rates) return null;
155
+
156
+ const cost =
157
+ (inputTokens || 0) * rates.input +
158
+ (outputTokens || 0) * rates.output +
159
+ (cacheReadTokens || 0) * rates.cacheRead +
160
+ (cacheWriteTokens || 0) * rates.cacheWrite;
161
+
162
+ return Math.max(0, cost);
163
+ }
164
+
165
+ module.exports = { MODEL_PRICING, canonicalizeModel, computeCost };
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ /**
7
+ * Walk up from startDir to find the project root (directory containing .forge/config.json).
8
+ * @param {string} [startDir] - Directory to start searching from. Defaults to process.cwd().
9
+ * @returns {string|null} Absolute path to the project root, or null if not found.
10
+ */
11
+ function findProjectRoot(startDir) {
12
+ let dir = path.resolve(startDir || process.cwd());
13
+ const root = path.parse(dir).root;
14
+
15
+ while (dir !== root) {
16
+ const configPath = path.join(dir, '.forge', 'config.json');
17
+ if (fs.existsSync(configPath)) {
18
+ return dir;
19
+ }
20
+ dir = path.dirname(dir);
21
+ }
22
+
23
+ // Check root directory as well
24
+ const rootConfigPath = path.join(root, '.forge', 'config.json');
25
+ if (fs.existsSync(rootConfigPath)) {
26
+ return root;
27
+ }
28
+
29
+ return null;
30
+ }
31
+
32
+ module.exports = { findProjectRoot };
@@ -0,0 +1,40 @@
1
+ 'use strict';
2
+
3
+ // Structured Result helpers for Forge CJS module APIs.
4
+ //
5
+ // Pattern: every exported function that can fail returns either
6
+ // { ok: true, value } — success
7
+ // { ok: false, code, message } — failure
8
+ //
9
+ // Code is always a string from RESULT_CODES, never a magic literal.
10
+
11
+ const RESULT_CODES = {
12
+ // collate.cjs — resolveTaskDir
13
+ MISSING_DIR: 'MISSING_DIR', // no matching task directory found on disk
14
+
15
+ // estimate-usage.cjs — estimateTokens
16
+ E_ZERO_DURATION: 'E_ZERO_DURATION', // durationMinutes is exactly 0
17
+ E_MISSING_DURATION: 'E_MISSING_DURATION', // durationMinutes is null or undefined
18
+ };
19
+
20
+ /**
21
+ * Wrap a success value in a Result.
22
+ * @template T
23
+ * @param {T} [value]
24
+ * @returns {{ ok: true, value: T }}
25
+ */
26
+ function ok(value) {
27
+ return { ok: true, value };
28
+ }
29
+
30
+ /**
31
+ * Wrap an error in a Result.
32
+ * @param {string} code — one of RESULT_CODES
33
+ * @param {string} message — human-readable explanation
34
+ * @returns {{ ok: false, code: string, message: string }}
35
+ */
36
+ function fail(code, message) {
37
+ return { ok: false, code, message };
38
+ }
39
+
40
+ module.exports = { ok, fail, RESULT_CODES };