gsd-pi 2.74.0-dev.b741afb → 2.74.0-dev.ffbcc03

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 (403) hide show
  1. package/dist/resources/extensions/gsd/activity-log.js +16 -0
  2. package/dist/resources/extensions/gsd/auto/loop.js +147 -10
  3. package/dist/resources/extensions/gsd/auto/phases.js +113 -3
  4. package/dist/resources/extensions/gsd/auto/session.js +10 -0
  5. package/dist/resources/extensions/gsd/auto-dispatch.js +11 -1
  6. package/dist/resources/extensions/gsd/auto-model-selection.js +51 -5
  7. package/dist/resources/extensions/gsd/auto-post-unit.js +215 -8
  8. package/dist/resources/extensions/gsd/auto-recovery.js +24 -10
  9. package/dist/resources/extensions/gsd/auto-unit-closeout.js +18 -0
  10. package/dist/resources/extensions/gsd/auto-verification.js +100 -2
  11. package/dist/resources/extensions/gsd/auto.js +28 -2
  12. package/dist/resources/extensions/gsd/bootstrap/register-extension.js +10 -1
  13. package/dist/resources/extensions/gsd/bootstrap/register-hooks.js +61 -9
  14. package/dist/resources/extensions/gsd/cache.js +16 -5
  15. package/dist/resources/extensions/gsd/commands/handlers/ops.js +5 -0
  16. package/dist/resources/extensions/gsd/commands-extract-learnings.js +225 -0
  17. package/dist/resources/extensions/gsd/commands-prefs-wizard.js +1 -1
  18. package/dist/resources/extensions/gsd/docs/preferences-reference.md +14 -1
  19. package/dist/resources/extensions/gsd/ecosystem/gsd-extension-api.js +144 -0
  20. package/dist/resources/extensions/gsd/ecosystem/loader.js +145 -0
  21. package/dist/resources/extensions/gsd/git-service.js +49 -1
  22. package/dist/resources/extensions/gsd/graph-context.js +98 -7
  23. package/dist/resources/extensions/gsd/gsd-db.js +260 -2
  24. package/dist/resources/extensions/gsd/guided-flow.js +24 -1
  25. package/dist/resources/extensions/gsd/init-wizard.js +1 -0
  26. package/dist/resources/extensions/gsd/journal.js +27 -0
  27. package/dist/resources/extensions/gsd/metrics.js +19 -0
  28. package/dist/resources/extensions/gsd/parallel-orchestrator.js +33 -1
  29. package/dist/resources/extensions/gsd/preferences-models.js +20 -3
  30. package/dist/resources/extensions/gsd/preferences-types.js +1 -0
  31. package/dist/resources/extensions/gsd/preferences-validation.js +108 -2
  32. package/dist/resources/extensions/gsd/preferences.js +26 -0
  33. package/dist/resources/extensions/gsd/safety/evidence-collector.js +15 -30
  34. package/dist/resources/extensions/gsd/slice-parallel-orchestrator.js +12 -2
  35. package/dist/resources/extensions/gsd/templates/PREFERENCES.md +18 -0
  36. package/dist/resources/extensions/gsd/tools/complete-slice.js +5 -0
  37. package/dist/resources/extensions/gsd/tools/validate-milestone.js +39 -4
  38. package/dist/resources/extensions/gsd/unit-ownership.js +1 -1
  39. package/dist/resources/extensions/gsd/uok/audit-toggle.js +7 -0
  40. package/dist/resources/extensions/gsd/uok/audit.js +40 -0
  41. package/dist/resources/extensions/gsd/uok/contracts.js +1 -0
  42. package/dist/resources/extensions/gsd/uok/execution-graph.js +179 -0
  43. package/dist/resources/extensions/gsd/uok/flags.js +29 -0
  44. package/dist/resources/extensions/gsd/uok/gate-runner.js +109 -0
  45. package/dist/resources/extensions/gsd/uok/gitops.js +53 -0
  46. package/dist/resources/extensions/gsd/uok/kernel.js +80 -0
  47. package/dist/resources/extensions/gsd/uok/loop-adapter.js +133 -0
  48. package/dist/resources/extensions/gsd/uok/model-policy.js +66 -0
  49. package/dist/resources/extensions/gsd/uok/plan-v2.js +132 -0
  50. package/dist/resources/extensions/gsd/workflow-logger.js +22 -0
  51. package/dist/resources/extensions/ttsr/ttsr-manager.js +3 -1
  52. package/dist/tsconfig.extensions.tsbuildinfo +1 -1
  53. package/dist/web/standalone/.next/BUILD_ID +1 -1
  54. package/dist/web/standalone/.next/app-path-routes-manifest.json +9 -9
  55. package/dist/web/standalone/.next/build-manifest.json +2 -2
  56. package/dist/web/standalone/.next/prerender-manifest.json +3 -3
  57. package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
  58. package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
  59. package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  60. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  61. package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  62. package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  63. package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  64. package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  65. package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
  66. package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
  67. package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  68. package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  69. package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  70. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  71. package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  72. package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  73. package/dist/web/standalone/.next/server/app/api/onboarding/route.js +1 -1
  74. package/dist/web/standalone/.next/server/app/api/terminal/input/route.js +1 -1
  75. package/dist/web/standalone/.next/server/app/api/terminal/resize/route.js +1 -1
  76. package/dist/web/standalone/.next/server/app/api/terminal/sessions/route.js +1 -1
  77. package/dist/web/standalone/.next/server/app/api/terminal/stream/route.js +1 -1
  78. package/dist/web/standalone/.next/server/app/index.html +1 -1
  79. package/dist/web/standalone/.next/server/app/index.rsc +1 -1
  80. package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  81. package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  82. package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  83. package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  84. package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  85. package/dist/web/standalone/.next/server/app-paths-manifest.json +9 -9
  86. package/dist/web/standalone/.next/server/chunks/6897.js +3 -3
  87. package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
  88. package/dist/web/standalone/.next/server/middleware-manifest.json +5 -5
  89. package/dist/web/standalone/.next/server/pages/404.html +1 -1
  90. package/dist/web/standalone/.next/server/pages/500.html +1 -1
  91. package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
  92. package/package.json +1 -1
  93. package/packages/mcp-server/dist/readers/graph.d.ts +1 -1
  94. package/packages/mcp-server/dist/readers/graph.d.ts.map +1 -1
  95. package/packages/mcp-server/dist/readers/graph.js +107 -0
  96. package/packages/mcp-server/dist/readers/graph.js.map +1 -1
  97. package/packages/mcp-server/dist/workflow-tools.d.ts.map +1 -1
  98. package/packages/mcp-server/dist/workflow-tools.js +88 -6
  99. package/packages/mcp-server/dist/workflow-tools.js.map +1 -1
  100. package/packages/mcp-server/src/readers/graph.test.ts +178 -0
  101. package/packages/mcp-server/src/readers/graph.ts +148 -1
  102. package/packages/mcp-server/src/workflow-tools.ts +95 -10
  103. package/packages/mcp-server/tsconfig.tsbuildinfo +1 -1
  104. package/packages/pi-agent-core/tsconfig.tsbuildinfo +1 -1
  105. package/packages/pi-ai/dist/index.d.ts +1 -9
  106. package/packages/pi-ai/dist/index.d.ts.map +1 -1
  107. package/packages/pi-ai/dist/index.js +1 -9
  108. package/packages/pi-ai/dist/index.js.map +1 -1
  109. package/packages/pi-ai/dist/models/capability-patches.d.ts +19 -0
  110. package/packages/pi-ai/dist/models/capability-patches.d.ts.map +1 -0
  111. package/packages/pi-ai/dist/models/capability-patches.js +36 -0
  112. package/packages/pi-ai/dist/models/capability-patches.js.map +1 -0
  113. package/packages/pi-ai/dist/{models.custom.d.ts → models/custom.d.ts} +1 -1
  114. package/packages/pi-ai/dist/models/custom.d.ts.map +1 -0
  115. package/packages/pi-ai/dist/{models.custom.js → models/custom.js} +4 -4
  116. package/packages/pi-ai/dist/models/custom.js.map +1 -0
  117. package/packages/pi-ai/dist/models/generated/amazon-bedrock.d.ts +1482 -0
  118. package/packages/pi-ai/dist/models/generated/amazon-bedrock.d.ts.map +1 -0
  119. package/packages/pi-ai/dist/models/generated/amazon-bedrock.js +1484 -0
  120. package/packages/pi-ai/dist/models/generated/amazon-bedrock.js.map +1 -0
  121. package/packages/pi-ai/dist/models/generated/anthropic.d.ts +377 -0
  122. package/packages/pi-ai/dist/models/generated/anthropic.d.ts.map +1 -0
  123. package/packages/pi-ai/dist/models/generated/anthropic.js +379 -0
  124. package/packages/pi-ai/dist/models/generated/anthropic.js.map +1 -0
  125. package/packages/pi-ai/dist/models/generated/azure-openai-responses.d.ts +700 -0
  126. package/packages/pi-ai/dist/models/generated/azure-openai-responses.d.ts.map +1 -0
  127. package/packages/pi-ai/dist/models/generated/azure-openai-responses.js +702 -0
  128. package/packages/pi-ai/dist/models/generated/azure-openai-responses.js.map +1 -0
  129. package/packages/pi-ai/dist/models/generated/cerebras.d.ts +71 -0
  130. package/packages/pi-ai/dist/models/generated/cerebras.d.ts.map +1 -0
  131. package/packages/pi-ai/dist/models/generated/cerebras.js +73 -0
  132. package/packages/pi-ai/dist/models/generated/cerebras.js.map +1 -0
  133. package/packages/pi-ai/dist/models/generated/github-copilot.d.ts +590 -0
  134. package/packages/pi-ai/dist/models/generated/github-copilot.d.ts.map +1 -0
  135. package/packages/pi-ai/dist/models/generated/github-copilot.js +444 -0
  136. package/packages/pi-ai/dist/models/generated/github-copilot.js.map +1 -0
  137. package/packages/pi-ai/dist/models/generated/google-antigravity.d.ts +156 -0
  138. package/packages/pi-ai/dist/models/generated/google-antigravity.d.ts.map +1 -0
  139. package/packages/pi-ai/dist/models/generated/google-antigravity.js +158 -0
  140. package/packages/pi-ai/dist/models/generated/google-antigravity.js.map +1 -0
  141. package/packages/pi-ai/dist/models/generated/google-gemini-cli.d.ts +105 -0
  142. package/packages/pi-ai/dist/models/generated/google-gemini-cli.d.ts.map +1 -0
  143. package/packages/pi-ai/dist/models/generated/google-gemini-cli.js +107 -0
  144. package/packages/pi-ai/dist/models/generated/google-gemini-cli.js.map +1 -0
  145. package/packages/pi-ai/dist/models/generated/google-vertex.d.ts +207 -0
  146. package/packages/pi-ai/dist/models/generated/google-vertex.d.ts.map +1 -0
  147. package/packages/pi-ai/dist/models/generated/google-vertex.js +209 -0
  148. package/packages/pi-ai/dist/models/generated/google-vertex.js.map +1 -0
  149. package/packages/pi-ai/dist/models/generated/google.d.ts +462 -0
  150. package/packages/pi-ai/dist/models/generated/google.d.ts.map +1 -0
  151. package/packages/pi-ai/dist/models/generated/google.js +464 -0
  152. package/packages/pi-ai/dist/models/generated/google.js.map +1 -0
  153. package/packages/pi-ai/dist/models/generated/groq.d.ts +309 -0
  154. package/packages/pi-ai/dist/models/generated/groq.d.ts.map +1 -0
  155. package/packages/pi-ai/dist/models/generated/groq.js +311 -0
  156. package/packages/pi-ai/dist/models/generated/groq.js.map +1 -0
  157. package/packages/pi-ai/dist/models/generated/huggingface.d.ts +383 -0
  158. package/packages/pi-ai/dist/models/generated/huggingface.d.ts.map +1 -0
  159. package/packages/pi-ai/dist/models/generated/huggingface.js +347 -0
  160. package/packages/pi-ai/dist/models/generated/huggingface.js.map +1 -0
  161. package/packages/pi-ai/dist/{models.generated.d.ts → models/generated/index.d.ts} +1 -1
  162. package/packages/pi-ai/dist/{models.generated.d.ts.map → models/generated/index.d.ts.map} +1 -1
  163. package/packages/pi-ai/dist/models/generated/index.js +51 -0
  164. package/packages/pi-ai/dist/models/generated/index.js.map +1 -0
  165. package/packages/pi-ai/dist/models/generated/kimi-coding.d.ts +37 -0
  166. package/packages/pi-ai/dist/models/generated/kimi-coding.d.ts.map +1 -0
  167. package/packages/pi-ai/dist/models/generated/kimi-coding.js +39 -0
  168. package/packages/pi-ai/dist/models/generated/kimi-coding.js.map +1 -0
  169. package/packages/pi-ai/dist/models/generated/minimax-cn.d.ts +105 -0
  170. package/packages/pi-ai/dist/models/generated/minimax-cn.d.ts.map +1 -0
  171. package/packages/pi-ai/dist/models/generated/minimax-cn.js +107 -0
  172. package/packages/pi-ai/dist/models/generated/minimax-cn.js.map +1 -0
  173. package/packages/pi-ai/dist/models/generated/minimax.d.ts +105 -0
  174. package/packages/pi-ai/dist/models/generated/minimax.d.ts.map +1 -0
  175. package/packages/pi-ai/dist/models/generated/minimax.js +107 -0
  176. package/packages/pi-ai/dist/models/generated/minimax.js.map +1 -0
  177. package/packages/pi-ai/dist/models/generated/mistral.d.ts +445 -0
  178. package/packages/pi-ai/dist/models/generated/mistral.d.ts.map +1 -0
  179. package/packages/pi-ai/dist/models/generated/mistral.js +447 -0
  180. package/packages/pi-ai/dist/models/generated/mistral.js.map +1 -0
  181. package/packages/pi-ai/dist/models/generated/openai-codex.d.ts +139 -0
  182. package/packages/pi-ai/dist/models/generated/openai-codex.d.ts.map +1 -0
  183. package/packages/pi-ai/dist/models/generated/openai-codex.js +141 -0
  184. package/packages/pi-ai/dist/models/generated/openai-codex.js.map +1 -0
  185. package/packages/pi-ai/dist/models/generated/openai.d.ts +700 -0
  186. package/packages/pi-ai/dist/models/generated/openai.d.ts.map +1 -0
  187. package/packages/pi-ai/dist/models/generated/openai.js +702 -0
  188. package/packages/pi-ai/dist/models/generated/openai.js.map +1 -0
  189. package/packages/pi-ai/dist/models/generated/opencode-go.d.ts +122 -0
  190. package/packages/pi-ai/dist/models/generated/opencode-go.d.ts.map +1 -0
  191. package/packages/pi-ai/dist/models/generated/opencode-go.js +124 -0
  192. package/packages/pi-ai/dist/models/generated/opencode-go.js.map +1 -0
  193. package/packages/pi-ai/dist/models/generated/opencode.d.ts +530 -0
  194. package/packages/pi-ai/dist/models/generated/opencode.d.ts.map +1 -0
  195. package/packages/pi-ai/dist/models/generated/opencode.js +532 -0
  196. package/packages/pi-ai/dist/models/generated/opencode.js.map +1 -0
  197. package/packages/pi-ai/dist/models/generated/openrouter.d.ts +4270 -0
  198. package/packages/pi-ai/dist/models/generated/openrouter.d.ts.map +1 -0
  199. package/packages/pi-ai/dist/models/generated/openrouter.js +4272 -0
  200. package/packages/pi-ai/dist/models/generated/openrouter.js.map +1 -0
  201. package/packages/pi-ai/dist/models/generated/vercel-ai-gateway.d.ts +2604 -0
  202. package/packages/pi-ai/dist/models/generated/vercel-ai-gateway.d.ts.map +1 -0
  203. package/packages/pi-ai/dist/models/generated/vercel-ai-gateway.js +2606 -0
  204. package/packages/pi-ai/dist/models/generated/vercel-ai-gateway.js.map +1 -0
  205. package/packages/pi-ai/dist/models/generated/xai.d.ts +411 -0
  206. package/packages/pi-ai/dist/models/generated/xai.d.ts.map +1 -0
  207. package/packages/pi-ai/dist/models/generated/xai.js +413 -0
  208. package/packages/pi-ai/dist/models/generated/xai.js.map +1 -0
  209. package/packages/pi-ai/dist/models/generated/zai.d.ts +276 -0
  210. package/packages/pi-ai/dist/models/generated/zai.d.ts.map +1 -0
  211. package/packages/pi-ai/dist/models/generated/zai.js +239 -0
  212. package/packages/pi-ai/dist/models/generated/zai.js.map +1 -0
  213. package/packages/pi-ai/dist/models/index.d.ts +27 -0
  214. package/packages/pi-ai/dist/models/index.d.ts.map +1 -0
  215. package/packages/pi-ai/dist/models/index.js +80 -0
  216. package/packages/pi-ai/dist/models/index.js.map +1 -0
  217. package/packages/pi-ai/dist/models.d.ts +1 -36
  218. package/packages/pi-ai/dist/models.d.ts.map +1 -1
  219. package/packages/pi-ai/dist/models.generated.test.js +1 -2
  220. package/packages/pi-ai/dist/models.generated.test.js.map +1 -1
  221. package/packages/pi-ai/dist/models.js +3 -112
  222. package/packages/pi-ai/dist/models.js.map +1 -1
  223. package/packages/pi-ai/dist/models.test.js +6 -5
  224. package/packages/pi-ai/dist/models.test.js.map +1 -1
  225. package/packages/pi-ai/scripts/generate-models.ts +74 -40
  226. package/packages/pi-ai/src/index.ts +1 -9
  227. package/packages/pi-ai/src/models/capability-patches.ts +40 -0
  228. package/packages/pi-ai/src/{models.custom.ts → models/custom.ts} +4 -4
  229. package/packages/pi-ai/src/models/generated/amazon-bedrock.ts +1486 -0
  230. package/packages/pi-ai/src/models/generated/anthropic.ts +381 -0
  231. package/packages/pi-ai/src/models/generated/azure-openai-responses.ts +704 -0
  232. package/packages/pi-ai/src/models/generated/cerebras.ts +75 -0
  233. package/packages/pi-ai/src/models/generated/github-copilot.ts +446 -0
  234. package/packages/pi-ai/src/models/generated/google-antigravity.ts +160 -0
  235. package/packages/pi-ai/src/models/generated/google-gemini-cli.ts +109 -0
  236. package/packages/pi-ai/src/models/generated/google-vertex.ts +211 -0
  237. package/packages/pi-ai/src/models/generated/google.ts +466 -0
  238. package/packages/pi-ai/src/models/generated/groq.ts +313 -0
  239. package/packages/pi-ai/src/models/generated/huggingface.ts +349 -0
  240. package/packages/pi-ai/src/models/generated/index.ts +52 -0
  241. package/packages/pi-ai/src/models/generated/kimi-coding.ts +41 -0
  242. package/packages/pi-ai/src/models/generated/minimax-cn.ts +109 -0
  243. package/packages/pi-ai/src/models/generated/minimax.ts +109 -0
  244. package/packages/pi-ai/src/models/generated/mistral.ts +449 -0
  245. package/packages/pi-ai/src/models/generated/openai-codex.ts +143 -0
  246. package/packages/pi-ai/src/models/generated/openai.ts +704 -0
  247. package/packages/pi-ai/src/models/generated/opencode-go.ts +126 -0
  248. package/packages/pi-ai/src/models/generated/opencode.ts +534 -0
  249. package/packages/pi-ai/src/models/generated/openrouter.ts +4274 -0
  250. package/packages/pi-ai/src/models/generated/vercel-ai-gateway.ts +2608 -0
  251. package/packages/pi-ai/src/models/generated/xai.ts +415 -0
  252. package/packages/pi-ai/src/models/generated/zai.ts +241 -0
  253. package/packages/pi-ai/src/models/index.ts +106 -0
  254. package/packages/pi-ai/src/models.generated.test.ts +1 -2
  255. package/packages/pi-ai/src/models.test.ts +6 -5
  256. package/packages/pi-ai/src/models.ts +3 -153
  257. package/packages/pi-ai/tsconfig.tsbuildinfo +1 -1
  258. package/packages/pi-coding-agent/dist/core/agent-session.d.ts.map +1 -1
  259. package/packages/pi-coding-agent/dist/core/agent-session.js +8 -2
  260. package/packages/pi-coding-agent/dist/core/agent-session.js.map +1 -1
  261. package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.js +472 -0
  262. package/packages/pi-coding-agent/dist/core/chat-controller-ordering.test.js.map +1 -1
  263. package/packages/pi-coding-agent/dist/core/model-registry-env-fallback.test.d.ts +2 -0
  264. package/packages/pi-coding-agent/dist/core/model-registry-env-fallback.test.d.ts.map +1 -0
  265. package/packages/pi-coding-agent/dist/core/model-registry-env-fallback.test.js +52 -0
  266. package/packages/pi-coding-agent/dist/core/model-registry-env-fallback.test.js.map +1 -0
  267. package/packages/pi-coding-agent/dist/core/model-registry.d.ts.map +1 -1
  268. package/packages/pi-coding-agent/dist/core/model-registry.js +2 -2
  269. package/packages/pi-coding-agent/dist/core/model-registry.js.map +1 -1
  270. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-execution.test.js +11 -0
  271. package/packages/pi-coding-agent/dist/modes/interactive/components/__tests__/tool-execution.test.js.map +1 -1
  272. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts +1 -0
  273. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.d.ts.map +1 -1
  274. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.js +23 -9
  275. package/packages/pi-coding-agent/dist/modes/interactive/components/assistant-message.js.map +1 -1
  276. package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.d.ts +11 -0
  277. package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.d.ts.map +1 -0
  278. package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.js +47 -0
  279. package/packages/pi-coding-agent/dist/modes/interactive/components/chat-frame.js.map +1 -0
  280. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts +8 -0
  281. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.d.ts.map +1 -1
  282. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js +68 -8
  283. package/packages/pi-coding-agent/dist/modes/interactive/components/tool-execution.js.map +1 -1
  284. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.d.ts.map +1 -1
  285. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.js +22 -22
  286. package/packages/pi-coding-agent/dist/modes/interactive/components/user-message.js.map +1 -1
  287. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.d.ts.map +1 -1
  288. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js +232 -18
  289. package/packages/pi-coding-agent/dist/modes/interactive/controllers/chat-controller.js.map +1 -1
  290. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-ordering.test.d.ts +2 -0
  291. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-ordering.test.d.ts.map +1 -0
  292. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-ordering.test.js +38 -0
  293. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode-ordering.test.js.map +1 -0
  294. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts +14 -0
  295. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  296. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js +70 -6
  297. package/packages/pi-coding-agent/dist/modes/interactive/interactive-mode.js.map +1 -1
  298. package/packages/pi-coding-agent/src/core/agent-session.ts +12 -6
  299. package/packages/pi-coding-agent/src/core/chat-controller-ordering.test.ts +612 -0
  300. package/packages/pi-coding-agent/src/core/model-registry-env-fallback.test.ts +59 -0
  301. package/packages/pi-coding-agent/src/core/model-registry.ts +2 -1
  302. package/packages/pi-coding-agent/src/modes/interactive/components/__tests__/tool-execution.test.ts +19 -0
  303. package/packages/pi-coding-agent/src/modes/interactive/components/assistant-message.ts +25 -10
  304. package/packages/pi-coding-agent/src/modes/interactive/components/chat-frame.ts +67 -0
  305. package/packages/pi-coding-agent/src/modes/interactive/components/tool-execution.ts +83 -7
  306. package/packages/pi-coding-agent/src/modes/interactive/components/user-message.ts +23 -26
  307. package/packages/pi-coding-agent/src/modes/interactive/controllers/chat-controller.ts +298 -41
  308. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode-ordering.test.ts +44 -0
  309. package/packages/pi-coding-agent/src/modes/interactive/interactive-mode.ts +92 -6
  310. package/packages/pi-coding-agent/src/types/ambient-modules.d.ts +69 -0
  311. package/packages/pi-coding-agent/tsconfig.json +2 -2
  312. package/packages/pi-coding-agent/tsconfig.tsbuildinfo +1 -1
  313. package/src/resources/extensions/gsd/activity-log.ts +21 -0
  314. package/src/resources/extensions/gsd/auto/loop-deps.ts +4 -0
  315. package/src/resources/extensions/gsd/auto/loop.ts +159 -10
  316. package/src/resources/extensions/gsd/auto/phases.ts +123 -3
  317. package/src/resources/extensions/gsd/auto/session.ts +10 -0
  318. package/src/resources/extensions/gsd/auto-dispatch.ts +16 -6
  319. package/src/resources/extensions/gsd/auto-model-selection.ts +66 -5
  320. package/src/resources/extensions/gsd/auto-post-unit.ts +226 -9
  321. package/src/resources/extensions/gsd/auto-recovery.ts +29 -9
  322. package/src/resources/extensions/gsd/auto-unit-closeout.ts +25 -1
  323. package/src/resources/extensions/gsd/auto-verification.ts +129 -2
  324. package/src/resources/extensions/gsd/auto.ts +34 -2
  325. package/src/resources/extensions/gsd/bootstrap/register-extension.ts +15 -1
  326. package/src/resources/extensions/gsd/bootstrap/register-hooks.ts +72 -8
  327. package/src/resources/extensions/gsd/cache.ts +16 -5
  328. package/src/resources/extensions/gsd/commands/handlers/ops.ts +5 -0
  329. package/src/resources/extensions/gsd/commands-extract-learnings.ts +304 -0
  330. package/src/resources/extensions/gsd/commands-prefs-wizard.ts +1 -1
  331. package/src/resources/extensions/gsd/docs/preferences-reference.md +14 -1
  332. package/src/resources/extensions/gsd/ecosystem/gsd-extension-api.ts +228 -0
  333. package/src/resources/extensions/gsd/ecosystem/loader.ts +201 -0
  334. package/src/resources/extensions/gsd/git-service.ts +68 -0
  335. package/src/resources/extensions/gsd/graph-context.ts +139 -12
  336. package/src/resources/extensions/gsd/gsd-db.ts +321 -3
  337. package/src/resources/extensions/gsd/guided-flow.ts +33 -1
  338. package/src/resources/extensions/gsd/init-wizard.ts +3 -2
  339. package/src/resources/extensions/gsd/journal.ts +30 -0
  340. package/src/resources/extensions/gsd/metrics.ts +26 -0
  341. package/src/resources/extensions/gsd/parallel-orchestrator.ts +40 -1
  342. package/src/resources/extensions/gsd/preferences-models.ts +20 -3
  343. package/src/resources/extensions/gsd/preferences-types.ts +32 -0
  344. package/src/resources/extensions/gsd/preferences-validation.ts +107 -2
  345. package/src/resources/extensions/gsd/preferences.ts +28 -0
  346. package/src/resources/extensions/gsd/safety/evidence-collector.ts +15 -31
  347. package/src/resources/extensions/gsd/session-lock.ts +14 -2
  348. package/src/resources/extensions/gsd/slice-parallel-orchestrator.ts +20 -1
  349. package/src/resources/extensions/gsd/templates/PREFERENCES.md +18 -0
  350. package/src/resources/extensions/gsd/tests/artifacts-table-preserved-on-cache-invalidate.test.ts +177 -0
  351. package/src/resources/extensions/gsd/tests/auto-loop.test.ts +7 -3
  352. package/src/resources/extensions/gsd/tests/auto-model-selection.test.ts +20 -0
  353. package/src/resources/extensions/gsd/tests/auto-project-root-env.test.ts +7 -3
  354. package/src/resources/extensions/gsd/tests/auto-retry-mcp-churn-fixes.test.ts +272 -0
  355. package/src/resources/extensions/gsd/tests/cold-resume-db-reopen.test.ts +6 -2
  356. package/src/resources/extensions/gsd/tests/commands-extract-learnings.test.ts +340 -0
  357. package/src/resources/extensions/gsd/tests/complete-slice.test.ts +2 -2
  358. package/src/resources/extensions/gsd/tests/complete-task.test.ts +2 -2
  359. package/src/resources/extensions/gsd/tests/finalize-timeout-guard.test.ts +10 -7
  360. package/src/resources/extensions/gsd/tests/gsd-db.test.ts +1 -1
  361. package/src/resources/extensions/gsd/tests/health-widget.test.ts +1 -1
  362. package/src/resources/extensions/gsd/tests/md-importer.test.ts +1 -2
  363. package/src/resources/extensions/gsd/tests/memory-store.test.ts +2 -3
  364. package/src/resources/extensions/gsd/tests/post-exec-retry-bypass.test.ts +79 -1
  365. package/src/resources/extensions/gsd/tests/post-unit-state-rebuild.test.ts +2 -1
  366. package/src/resources/extensions/gsd/tests/pre-execution-pause-wiring.test.ts +40 -1
  367. package/src/resources/extensions/gsd/tests/register-hooks-depth-verification.test.ts +1 -1
  368. package/src/resources/extensions/gsd/tests/token-profile.test.ts +8 -5
  369. package/src/resources/extensions/gsd/tests/uok-audit-unified.test.ts +101 -0
  370. package/src/resources/extensions/gsd/tests/uok-contracts.test.ts +85 -0
  371. package/src/resources/extensions/gsd/tests/uok-execution-graph.test.ts +69 -0
  372. package/src/resources/extensions/gsd/tests/uok-flags.test.ts +39 -0
  373. package/src/resources/extensions/gsd/tests/uok-gate-runner.test.ts +70 -0
  374. package/src/resources/extensions/gsd/tests/uok-gitops-turn-action.test.ts +85 -0
  375. package/src/resources/extensions/gsd/tests/uok-gitops-wiring.test.ts +35 -0
  376. package/src/resources/extensions/gsd/tests/uok-model-policy.test.ts +89 -0
  377. package/src/resources/extensions/gsd/tests/uok-plan-v2-wiring.test.ts +167 -0
  378. package/src/resources/extensions/gsd/tests/uok-preferences.test.ts +42 -0
  379. package/src/resources/extensions/gsd/tests/validate-milestone-write-order.test.ts +39 -0
  380. package/src/resources/extensions/gsd/tools/complete-slice.ts +9 -2
  381. package/src/resources/extensions/gsd/tools/validate-milestone.ts +48 -3
  382. package/src/resources/extensions/gsd/types.ts +14 -1
  383. package/src/resources/extensions/gsd/unit-ownership.ts +2 -2
  384. package/src/resources/extensions/gsd/uok/audit-toggle.ts +9 -0
  385. package/src/resources/extensions/gsd/uok/audit.ts +51 -0
  386. package/src/resources/extensions/gsd/uok/contracts.ts +135 -0
  387. package/src/resources/extensions/gsd/uok/execution-graph.ts +241 -0
  388. package/src/resources/extensions/gsd/uok/flags.ts +45 -0
  389. package/src/resources/extensions/gsd/uok/gate-runner.ts +146 -0
  390. package/src/resources/extensions/gsd/uok/gitops.ts +75 -0
  391. package/src/resources/extensions/gsd/uok/kernel.ts +105 -0
  392. package/src/resources/extensions/gsd/uok/loop-adapter.ts +162 -0
  393. package/src/resources/extensions/gsd/uok/model-policy.ts +112 -0
  394. package/src/resources/extensions/gsd/uok/plan-v2.ts +156 -0
  395. package/src/resources/extensions/gsd/workflow-logger.ts +27 -1
  396. package/src/resources/extensions/ttsr/ttsr-manager.ts +10 -5
  397. package/packages/pi-ai/dist/models.custom.d.ts.map +0 -1
  398. package/packages/pi-ai/dist/models.custom.js.map +0 -1
  399. package/packages/pi-ai/dist/models.generated.js +0 -14343
  400. package/packages/pi-ai/dist/models.generated.js.map +0 -1
  401. package/packages/pi-ai/src/models.generated.ts +0 -14345
  402. /package/dist/web/standalone/.next/static/{XnHY5eXUsTCFmNodWHetD → kn6xzWKYnogsxp2b6RpDD}/_buildManifest.js +0 -0
  403. /package/dist/web/standalone/.next/static/{XnHY5eXUsTCFmNodWHetD → kn6xzWKYnogsxp2b6RpDD}/_ssgManifest.js +0 -0
@@ -0,0 +1,126 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+
4
+ import type { Model } from "../../types.js";
5
+
6
+ export const OPENCODE_GO_MODELS = {
7
+ "glm-5": {
8
+ id: "glm-5",
9
+ name: "GLM-5",
10
+ api: "openai-completions",
11
+ provider: "opencode-go",
12
+ baseUrl: "https://opencode.ai/zen/go/v1",
13
+ reasoning: true,
14
+ input: ["text"],
15
+ cost: {
16
+ input: 1,
17
+ output: 3.2,
18
+ cacheRead: 0.2,
19
+ cacheWrite: 0,
20
+ },
21
+ contextWindow: 204800,
22
+ maxTokens: 131072,
23
+ } satisfies Model<"openai-completions">,
24
+ "glm-5.1": {
25
+ id: "glm-5.1",
26
+ name: "GLM-5.1",
27
+ api: "openai-completions",
28
+ provider: "opencode-go",
29
+ baseUrl: "https://opencode.ai/zen/go/v1",
30
+ reasoning: true,
31
+ input: ["text"],
32
+ cost: {
33
+ input: 1.4,
34
+ output: 4.4,
35
+ cacheRead: 0.26,
36
+ cacheWrite: 0,
37
+ },
38
+ contextWindow: 204800,
39
+ maxTokens: 131072,
40
+ } satisfies Model<"openai-completions">,
41
+ "kimi-k2.5": {
42
+ id: "kimi-k2.5",
43
+ name: "Kimi K2.5",
44
+ api: "openai-completions",
45
+ provider: "opencode-go",
46
+ baseUrl: "https://opencode.ai/zen/go/v1",
47
+ reasoning: true,
48
+ input: ["text", "image"],
49
+ cost: {
50
+ input: 0.6,
51
+ output: 3,
52
+ cacheRead: 0.1,
53
+ cacheWrite: 0,
54
+ },
55
+ contextWindow: 262144,
56
+ maxTokens: 65536,
57
+ } satisfies Model<"openai-completions">,
58
+ "mimo-v2-omni": {
59
+ id: "mimo-v2-omni",
60
+ name: "MiMo V2 Omni",
61
+ api: "openai-completions",
62
+ provider: "opencode-go",
63
+ baseUrl: "https://opencode.ai/zen/go/v1",
64
+ reasoning: true,
65
+ input: ["text", "image"],
66
+ cost: {
67
+ input: 0.4,
68
+ output: 2,
69
+ cacheRead: 0.08,
70
+ cacheWrite: 0,
71
+ },
72
+ contextWindow: 262144,
73
+ maxTokens: 64000,
74
+ } satisfies Model<"openai-completions">,
75
+ "mimo-v2-pro": {
76
+ id: "mimo-v2-pro",
77
+ name: "MiMo V2 Pro",
78
+ api: "openai-completions",
79
+ provider: "opencode-go",
80
+ baseUrl: "https://opencode.ai/zen/go/v1",
81
+ reasoning: true,
82
+ input: ["text"],
83
+ cost: {
84
+ input: 1,
85
+ output: 3,
86
+ cacheRead: 0.2,
87
+ cacheWrite: 0,
88
+ },
89
+ contextWindow: 1048576,
90
+ maxTokens: 64000,
91
+ } satisfies Model<"openai-completions">,
92
+ "minimax-m2.5": {
93
+ id: "minimax-m2.5",
94
+ name: "MiniMax M2.5",
95
+ api: "anthropic-messages",
96
+ provider: "opencode-go",
97
+ baseUrl: "https://opencode.ai/zen/go",
98
+ reasoning: true,
99
+ input: ["text"],
100
+ cost: {
101
+ input: 0.3,
102
+ output: 1.2,
103
+ cacheRead: 0.03,
104
+ cacheWrite: 0,
105
+ },
106
+ contextWindow: 204800,
107
+ maxTokens: 131072,
108
+ } satisfies Model<"anthropic-messages">,
109
+ "minimax-m2.7": {
110
+ id: "minimax-m2.7",
111
+ name: "MiniMax M2.7",
112
+ api: "anthropic-messages",
113
+ provider: "opencode-go",
114
+ baseUrl: "https://opencode.ai/zen/go",
115
+ reasoning: true,
116
+ input: ["text"],
117
+ cost: {
118
+ input: 0.3,
119
+ output: 1.2,
120
+ cacheRead: 0.06,
121
+ cacheWrite: 0,
122
+ },
123
+ contextWindow: 204800,
124
+ maxTokens: 131072,
125
+ } satisfies Model<"anthropic-messages">,
126
+ } as const satisfies Record<string, Model<any>>;
@@ -0,0 +1,534 @@
1
+ // This file is auto-generated by scripts/generate-models.ts
2
+ // Do not edit manually - run 'npm run generate-models' to update
3
+
4
+ import type { Model } from "../../types.js";
5
+
6
+ export const OPENCODE_MODELS = {
7
+ "big-pickle": {
8
+ id: "big-pickle",
9
+ name: "Big Pickle",
10
+ api: "anthropic-messages",
11
+ provider: "opencode",
12
+ baseUrl: "https://opencode.ai/zen",
13
+ reasoning: true,
14
+ input: ["text"],
15
+ cost: {
16
+ input: 0,
17
+ output: 0,
18
+ cacheRead: 0,
19
+ cacheWrite: 0,
20
+ },
21
+ contextWindow: 200000,
22
+ maxTokens: 128000,
23
+ } satisfies Model<"anthropic-messages">,
24
+ "claude-3-5-haiku": {
25
+ id: "claude-3-5-haiku",
26
+ name: "Claude Haiku 3.5",
27
+ api: "anthropic-messages",
28
+ provider: "opencode",
29
+ baseUrl: "https://opencode.ai/zen",
30
+ reasoning: false,
31
+ input: ["text", "image"],
32
+ cost: {
33
+ input: 0.8,
34
+ output: 4,
35
+ cacheRead: 0.08,
36
+ cacheWrite: 1,
37
+ },
38
+ contextWindow: 200000,
39
+ maxTokens: 8192,
40
+ } satisfies Model<"anthropic-messages">,
41
+ "claude-haiku-4-5": {
42
+ id: "claude-haiku-4-5",
43
+ name: "Claude Haiku 4.5",
44
+ api: "anthropic-messages",
45
+ provider: "opencode",
46
+ baseUrl: "https://opencode.ai/zen",
47
+ reasoning: true,
48
+ input: ["text", "image"],
49
+ cost: {
50
+ input: 1,
51
+ output: 5,
52
+ cacheRead: 0.1,
53
+ cacheWrite: 1.25,
54
+ },
55
+ contextWindow: 200000,
56
+ maxTokens: 64000,
57
+ } satisfies Model<"anthropic-messages">,
58
+ "claude-opus-4-1": {
59
+ id: "claude-opus-4-1",
60
+ name: "Claude Opus 4.1",
61
+ api: "anthropic-messages",
62
+ provider: "opencode",
63
+ baseUrl: "https://opencode.ai/zen",
64
+ reasoning: true,
65
+ input: ["text", "image"],
66
+ cost: {
67
+ input: 15,
68
+ output: 75,
69
+ cacheRead: 1.5,
70
+ cacheWrite: 18.75,
71
+ },
72
+ contextWindow: 200000,
73
+ maxTokens: 32000,
74
+ } satisfies Model<"anthropic-messages">,
75
+ "claude-opus-4-5": {
76
+ id: "claude-opus-4-5",
77
+ name: "Claude Opus 4.5",
78
+ api: "anthropic-messages",
79
+ provider: "opencode",
80
+ baseUrl: "https://opencode.ai/zen",
81
+ reasoning: true,
82
+ input: ["text", "image"],
83
+ cost: {
84
+ input: 5,
85
+ output: 25,
86
+ cacheRead: 0.5,
87
+ cacheWrite: 6.25,
88
+ },
89
+ contextWindow: 200000,
90
+ maxTokens: 64000,
91
+ } satisfies Model<"anthropic-messages">,
92
+ "claude-opus-4-6": {
93
+ id: "claude-opus-4-6",
94
+ name: "Claude Opus 4.6",
95
+ api: "anthropic-messages",
96
+ provider: "opencode",
97
+ baseUrl: "https://opencode.ai/zen",
98
+ reasoning: true,
99
+ input: ["text", "image"],
100
+ cost: {
101
+ input: 5,
102
+ output: 25,
103
+ cacheRead: 0.5,
104
+ cacheWrite: 6.25,
105
+ },
106
+ contextWindow: 1000000,
107
+ maxTokens: 128000,
108
+ } satisfies Model<"anthropic-messages">,
109
+ "claude-sonnet-4": {
110
+ id: "claude-sonnet-4",
111
+ name: "Claude Sonnet 4",
112
+ api: "anthropic-messages",
113
+ provider: "opencode",
114
+ baseUrl: "https://opencode.ai/zen",
115
+ reasoning: true,
116
+ input: ["text", "image"],
117
+ cost: {
118
+ input: 3,
119
+ output: 15,
120
+ cacheRead: 0.3,
121
+ cacheWrite: 3.75,
122
+ },
123
+ contextWindow: 200000,
124
+ maxTokens: 64000,
125
+ } satisfies Model<"anthropic-messages">,
126
+ "claude-sonnet-4-5": {
127
+ id: "claude-sonnet-4-5",
128
+ name: "Claude Sonnet 4.5",
129
+ api: "anthropic-messages",
130
+ provider: "opencode",
131
+ baseUrl: "https://opencode.ai/zen",
132
+ reasoning: true,
133
+ input: ["text", "image"],
134
+ cost: {
135
+ input: 3,
136
+ output: 15,
137
+ cacheRead: 0.3,
138
+ cacheWrite: 3.75,
139
+ },
140
+ contextWindow: 200000,
141
+ maxTokens: 64000,
142
+ } satisfies Model<"anthropic-messages">,
143
+ "claude-sonnet-4-6": {
144
+ id: "claude-sonnet-4-6",
145
+ name: "Claude Sonnet 4.6",
146
+ api: "anthropic-messages",
147
+ provider: "opencode",
148
+ baseUrl: "https://opencode.ai/zen",
149
+ reasoning: true,
150
+ input: ["text", "image"],
151
+ cost: {
152
+ input: 3,
153
+ output: 15,
154
+ cacheRead: 0.3,
155
+ cacheWrite: 3.75,
156
+ },
157
+ contextWindow: 1000000,
158
+ maxTokens: 64000,
159
+ } satisfies Model<"anthropic-messages">,
160
+ "gemini-3-flash": {
161
+ id: "gemini-3-flash",
162
+ name: "Gemini 3 Flash",
163
+ api: "google-generative-ai",
164
+ provider: "opencode",
165
+ baseUrl: "https://opencode.ai/zen/v1",
166
+ reasoning: true,
167
+ input: ["text", "image"],
168
+ cost: {
169
+ input: 0.5,
170
+ output: 3,
171
+ cacheRead: 0.05,
172
+ cacheWrite: 0,
173
+ },
174
+ contextWindow: 1048576,
175
+ maxTokens: 65536,
176
+ } satisfies Model<"google-generative-ai">,
177
+ "gemini-3.1-pro": {
178
+ id: "gemini-3.1-pro",
179
+ name: "Gemini 3.1 Pro Preview",
180
+ api: "google-generative-ai",
181
+ provider: "opencode",
182
+ baseUrl: "https://opencode.ai/zen/v1",
183
+ reasoning: true,
184
+ input: ["text", "image"],
185
+ cost: {
186
+ input: 2,
187
+ output: 12,
188
+ cacheRead: 0.2,
189
+ cacheWrite: 0,
190
+ },
191
+ contextWindow: 1048576,
192
+ maxTokens: 65536,
193
+ } satisfies Model<"google-generative-ai">,
194
+ "glm-5": {
195
+ id: "glm-5",
196
+ name: "GLM-5",
197
+ api: "openai-completions",
198
+ provider: "opencode",
199
+ baseUrl: "https://opencode.ai/zen/v1",
200
+ reasoning: true,
201
+ input: ["text"],
202
+ cost: {
203
+ input: 1,
204
+ output: 3.2,
205
+ cacheRead: 0.2,
206
+ cacheWrite: 0,
207
+ },
208
+ contextWindow: 204800,
209
+ maxTokens: 131072,
210
+ } satisfies Model<"openai-completions">,
211
+ "glm-5.1": {
212
+ id: "glm-5.1",
213
+ name: "GLM-5.1",
214
+ api: "openai-completions",
215
+ provider: "opencode",
216
+ baseUrl: "https://opencode.ai/zen/v1",
217
+ reasoning: true,
218
+ input: ["text"],
219
+ cost: {
220
+ input: 1.4,
221
+ output: 4.4,
222
+ cacheRead: 0.26,
223
+ cacheWrite: 0,
224
+ },
225
+ contextWindow: 204800,
226
+ maxTokens: 131072,
227
+ } satisfies Model<"openai-completions">,
228
+ "gpt-5": {
229
+ id: "gpt-5",
230
+ name: "GPT-5",
231
+ api: "openai-responses",
232
+ provider: "opencode",
233
+ baseUrl: "https://opencode.ai/zen/v1",
234
+ reasoning: true,
235
+ input: ["text", "image"],
236
+ cost: {
237
+ input: 1.07,
238
+ output: 8.5,
239
+ cacheRead: 0.107,
240
+ cacheWrite: 0,
241
+ },
242
+ contextWindow: 400000,
243
+ maxTokens: 128000,
244
+ } satisfies Model<"openai-responses">,
245
+ "gpt-5-codex": {
246
+ id: "gpt-5-codex",
247
+ name: "GPT-5 Codex",
248
+ api: "openai-responses",
249
+ provider: "opencode",
250
+ baseUrl: "https://opencode.ai/zen/v1",
251
+ reasoning: true,
252
+ input: ["text", "image"],
253
+ cost: {
254
+ input: 1.07,
255
+ output: 8.5,
256
+ cacheRead: 0.107,
257
+ cacheWrite: 0,
258
+ },
259
+ contextWindow: 400000,
260
+ maxTokens: 128000,
261
+ } satisfies Model<"openai-responses">,
262
+ "gpt-5-nano": {
263
+ id: "gpt-5-nano",
264
+ name: "GPT-5 Nano",
265
+ api: "openai-responses",
266
+ provider: "opencode",
267
+ baseUrl: "https://opencode.ai/zen/v1",
268
+ reasoning: true,
269
+ input: ["text", "image"],
270
+ cost: {
271
+ input: 0,
272
+ output: 0,
273
+ cacheRead: 0,
274
+ cacheWrite: 0,
275
+ },
276
+ contextWindow: 400000,
277
+ maxTokens: 128000,
278
+ } satisfies Model<"openai-responses">,
279
+ "gpt-5.1": {
280
+ id: "gpt-5.1",
281
+ name: "GPT-5.1",
282
+ api: "openai-responses",
283
+ provider: "opencode",
284
+ baseUrl: "https://opencode.ai/zen/v1",
285
+ reasoning: true,
286
+ input: ["text", "image"],
287
+ cost: {
288
+ input: 1.07,
289
+ output: 8.5,
290
+ cacheRead: 0.107,
291
+ cacheWrite: 0,
292
+ },
293
+ contextWindow: 400000,
294
+ maxTokens: 128000,
295
+ } satisfies Model<"openai-responses">,
296
+ "gpt-5.1-codex": {
297
+ id: "gpt-5.1-codex",
298
+ name: "GPT-5.1 Codex",
299
+ api: "openai-responses",
300
+ provider: "opencode",
301
+ baseUrl: "https://opencode.ai/zen/v1",
302
+ reasoning: true,
303
+ input: ["text", "image"],
304
+ cost: {
305
+ input: 1.07,
306
+ output: 8.5,
307
+ cacheRead: 0.107,
308
+ cacheWrite: 0,
309
+ },
310
+ contextWindow: 400000,
311
+ maxTokens: 128000,
312
+ } satisfies Model<"openai-responses">,
313
+ "gpt-5.1-codex-max": {
314
+ id: "gpt-5.1-codex-max",
315
+ name: "GPT-5.1 Codex Max",
316
+ api: "openai-responses",
317
+ provider: "opencode",
318
+ baseUrl: "https://opencode.ai/zen/v1",
319
+ reasoning: true,
320
+ input: ["text", "image"],
321
+ cost: {
322
+ input: 1.25,
323
+ output: 10,
324
+ cacheRead: 0.125,
325
+ cacheWrite: 0,
326
+ },
327
+ contextWindow: 400000,
328
+ maxTokens: 128000,
329
+ } satisfies Model<"openai-responses">,
330
+ "gpt-5.1-codex-mini": {
331
+ id: "gpt-5.1-codex-mini",
332
+ name: "GPT-5.1 Codex Mini",
333
+ api: "openai-responses",
334
+ provider: "opencode",
335
+ baseUrl: "https://opencode.ai/zen/v1",
336
+ reasoning: true,
337
+ input: ["text", "image"],
338
+ cost: {
339
+ input: 0.25,
340
+ output: 2,
341
+ cacheRead: 0.025,
342
+ cacheWrite: 0,
343
+ },
344
+ contextWindow: 400000,
345
+ maxTokens: 128000,
346
+ } satisfies Model<"openai-responses">,
347
+ "gpt-5.2": {
348
+ id: "gpt-5.2",
349
+ name: "GPT-5.2",
350
+ api: "openai-responses",
351
+ provider: "opencode",
352
+ baseUrl: "https://opencode.ai/zen/v1",
353
+ reasoning: true,
354
+ input: ["text", "image"],
355
+ cost: {
356
+ input: 1.75,
357
+ output: 14,
358
+ cacheRead: 0.175,
359
+ cacheWrite: 0,
360
+ },
361
+ contextWindow: 400000,
362
+ maxTokens: 128000,
363
+ } satisfies Model<"openai-responses">,
364
+ "gpt-5.2-codex": {
365
+ id: "gpt-5.2-codex",
366
+ name: "GPT-5.2 Codex",
367
+ api: "openai-responses",
368
+ provider: "opencode",
369
+ baseUrl: "https://opencode.ai/zen/v1",
370
+ reasoning: true,
371
+ input: ["text", "image"],
372
+ cost: {
373
+ input: 1.75,
374
+ output: 14,
375
+ cacheRead: 0.175,
376
+ cacheWrite: 0,
377
+ },
378
+ contextWindow: 400000,
379
+ maxTokens: 128000,
380
+ } satisfies Model<"openai-responses">,
381
+ "gpt-5.3-codex": {
382
+ id: "gpt-5.3-codex",
383
+ name: "GPT-5.3 Codex",
384
+ api: "openai-responses",
385
+ provider: "opencode",
386
+ baseUrl: "https://opencode.ai/zen/v1",
387
+ reasoning: true,
388
+ input: ["text", "image"],
389
+ cost: {
390
+ input: 1.75,
391
+ output: 14,
392
+ cacheRead: 0.175,
393
+ cacheWrite: 0,
394
+ },
395
+ contextWindow: 400000,
396
+ maxTokens: 128000,
397
+ } satisfies Model<"openai-responses">,
398
+ "gpt-5.4": {
399
+ id: "gpt-5.4",
400
+ name: "GPT-5.4",
401
+ api: "openai-responses",
402
+ provider: "opencode",
403
+ baseUrl: "https://opencode.ai/zen/v1",
404
+ reasoning: true,
405
+ input: ["text", "image"],
406
+ cost: {
407
+ input: 2.5,
408
+ output: 15,
409
+ cacheRead: 0.25,
410
+ cacheWrite: 0,
411
+ },
412
+ contextWindow: 272000,
413
+ maxTokens: 128000,
414
+ } satisfies Model<"openai-responses">,
415
+ "gpt-5.4-mini": {
416
+ id: "gpt-5.4-mini",
417
+ name: "GPT-5.4 Mini",
418
+ api: "openai-responses",
419
+ provider: "opencode",
420
+ baseUrl: "https://opencode.ai/zen/v1",
421
+ reasoning: true,
422
+ input: ["text", "image"],
423
+ cost: {
424
+ input: 0.75,
425
+ output: 4.5,
426
+ cacheRead: 0.075,
427
+ cacheWrite: 0,
428
+ },
429
+ contextWindow: 400000,
430
+ maxTokens: 128000,
431
+ } satisfies Model<"openai-responses">,
432
+ "gpt-5.4-nano": {
433
+ id: "gpt-5.4-nano",
434
+ name: "GPT-5.4 Nano",
435
+ api: "openai-responses",
436
+ provider: "opencode",
437
+ baseUrl: "https://opencode.ai/zen/v1",
438
+ reasoning: true,
439
+ input: ["text", "image"],
440
+ cost: {
441
+ input: 0.2,
442
+ output: 1.25,
443
+ cacheRead: 0.02,
444
+ cacheWrite: 0,
445
+ },
446
+ contextWindow: 400000,
447
+ maxTokens: 128000,
448
+ } satisfies Model<"openai-responses">,
449
+ "gpt-5.4-pro": {
450
+ id: "gpt-5.4-pro",
451
+ name: "GPT-5.4 Pro",
452
+ api: "openai-responses",
453
+ provider: "opencode",
454
+ baseUrl: "https://opencode.ai/zen/v1",
455
+ reasoning: true,
456
+ input: ["text", "image"],
457
+ cost: {
458
+ input: 30,
459
+ output: 180,
460
+ cacheRead: 30,
461
+ cacheWrite: 0,
462
+ },
463
+ contextWindow: 1050000,
464
+ maxTokens: 128000,
465
+ } satisfies Model<"openai-responses">,
466
+ "kimi-k2.5": {
467
+ id: "kimi-k2.5",
468
+ name: "Kimi K2.5",
469
+ api: "openai-completions",
470
+ provider: "opencode",
471
+ baseUrl: "https://opencode.ai/zen/v1",
472
+ reasoning: true,
473
+ input: ["text", "image"],
474
+ cost: {
475
+ input: 0.6,
476
+ output: 3,
477
+ cacheRead: 0.08,
478
+ cacheWrite: 0,
479
+ },
480
+ contextWindow: 262144,
481
+ maxTokens: 65536,
482
+ } satisfies Model<"openai-completions">,
483
+ "minimax-m2.5": {
484
+ id: "minimax-m2.5",
485
+ name: "MiniMax M2.5",
486
+ api: "openai-completions",
487
+ provider: "opencode",
488
+ baseUrl: "https://opencode.ai/zen/v1",
489
+ reasoning: true,
490
+ input: ["text"],
491
+ cost: {
492
+ input: 0.3,
493
+ output: 1.2,
494
+ cacheRead: 0.06,
495
+ cacheWrite: 0,
496
+ },
497
+ contextWindow: 204800,
498
+ maxTokens: 131072,
499
+ } satisfies Model<"openai-completions">,
500
+ "minimax-m2.5-free": {
501
+ id: "minimax-m2.5-free",
502
+ name: "MiniMax M2.5 Free",
503
+ api: "anthropic-messages",
504
+ provider: "opencode",
505
+ baseUrl: "https://opencode.ai/zen",
506
+ reasoning: true,
507
+ input: ["text"],
508
+ cost: {
509
+ input: 0,
510
+ output: 0,
511
+ cacheRead: 0,
512
+ cacheWrite: 0,
513
+ },
514
+ contextWindow: 204800,
515
+ maxTokens: 131072,
516
+ } satisfies Model<"anthropic-messages">,
517
+ "nemotron-3-super-free": {
518
+ id: "nemotron-3-super-free",
519
+ name: "Nemotron 3 Super Free",
520
+ api: "openai-completions",
521
+ provider: "opencode",
522
+ baseUrl: "https://opencode.ai/zen/v1",
523
+ reasoning: true,
524
+ input: ["text"],
525
+ cost: {
526
+ input: 0,
527
+ output: 0,
528
+ cacheRead: 0,
529
+ cacheWrite: 0,
530
+ },
531
+ contextWindow: 204800,
532
+ maxTokens: 128000,
533
+ } satisfies Model<"openai-completions">,
534
+ } as const satisfies Record<string, Model<any>>;