@code-yeongyu/senpi 2026.7.9 → 2026.7.10-2

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 (289) hide show
  1. package/CHANGELOG.md +58 -1
  2. package/README.md +2 -2
  3. package/dist/cli/args.js +3 -3
  4. package/dist/cli/args.js.map +1 -1
  5. package/dist/cli/config-selector.d.ts +4 -2
  6. package/dist/cli/config-selector.d.ts.map +1 -1
  7. package/dist/cli/config-selector.js +1 -1
  8. package/dist/cli/config-selector.js.map +1 -1
  9. package/dist/core/agent-session.d.ts +18 -3
  10. package/dist/core/agent-session.d.ts.map +1 -1
  11. package/dist/core/agent-session.js +153 -36
  12. package/dist/core/agent-session.js.map +1 -1
  13. package/dist/core/cache-stats.d.ts +49 -0
  14. package/dist/core/cache-stats.d.ts.map +1 -0
  15. package/dist/core/cache-stats.js +101 -0
  16. package/dist/core/cache-stats.js.map +1 -0
  17. package/dist/core/compaction/compaction.d.ts +1 -2
  18. package/dist/core/compaction/compaction.d.ts.map +1 -1
  19. package/dist/core/compaction/compaction.js +54 -79
  20. package/dist/core/compaction/compaction.js.map +1 -1
  21. package/dist/core/extensions/builtin/goal/continuation.js +1 -1
  22. package/dist/core/extensions/builtin/goal/continuation.js.map +1 -1
  23. package/dist/core/extensions/builtin/goal/index.d.ts.map +1 -1
  24. package/dist/core/extensions/builtin/goal/index.js +1 -0
  25. package/dist/core/extensions/builtin/goal/index.js.map +1 -1
  26. package/dist/core/extensions/builtin/import-repro.d.ts.map +1 -1
  27. package/dist/core/extensions/builtin/import-repro.js +100 -6
  28. package/dist/core/extensions/builtin/import-repro.js.map +1 -1
  29. package/dist/core/extensions/builtin/mcp/connection.d.ts +1 -0
  30. package/dist/core/extensions/builtin/mcp/connection.d.ts.map +1 -1
  31. package/dist/core/extensions/builtin/mcp/connection.js +15 -0
  32. package/dist/core/extensions/builtin/mcp/connection.js.map +1 -1
  33. package/dist/core/extensions/builtin/mcp/service.d.ts.map +1 -1
  34. package/dist/core/extensions/builtin/mcp/service.js +3 -1
  35. package/dist/core/extensions/builtin/mcp/service.js.map +1 -1
  36. package/dist/core/extensions/index.d.ts +1 -1
  37. package/dist/core/extensions/index.d.ts.map +1 -1
  38. package/dist/core/extensions/index.js.map +1 -1
  39. package/dist/core/extensions/runner.d.ts +4 -3
  40. package/dist/core/extensions/runner.d.ts.map +1 -1
  41. package/dist/core/extensions/runner.js +30 -24
  42. package/dist/core/extensions/runner.js.map +1 -1
  43. package/dist/core/extensions/types.d.ts +25 -10
  44. package/dist/core/extensions/types.d.ts.map +1 -1
  45. package/dist/core/extensions/types.js.map +1 -1
  46. package/dist/core/model-registry.d.ts +4 -6
  47. package/dist/core/model-registry.d.ts.map +1 -1
  48. package/dist/core/model-registry.js +37 -9
  49. package/dist/core/model-registry.js.map +1 -1
  50. package/dist/core/package-manager.d.ts +4 -1
  51. package/dist/core/package-manager.d.ts.map +1 -1
  52. package/dist/core/package-manager.js +68 -26
  53. package/dist/core/package-manager.js.map +1 -1
  54. package/dist/core/resource-loader.d.ts +2 -2
  55. package/dist/core/resource-loader.d.ts.map +1 -1
  56. package/dist/core/resource-loader.js +6 -7
  57. package/dist/core/resource-loader.js.map +1 -1
  58. package/dist/core/sdk.d.ts +1 -1
  59. package/dist/core/sdk.d.ts.map +1 -1
  60. package/dist/core/sdk.js +9 -2
  61. package/dist/core/sdk.js.map +1 -1
  62. package/dist/core/session-manager.d.ts.map +1 -1
  63. package/dist/core/session-manager.js +11 -2
  64. package/dist/core/session-manager.js.map +1 -1
  65. package/dist/core/settings-manager.d.ts +9 -3
  66. package/dist/core/settings-manager.d.ts.map +1 -1
  67. package/dist/core/settings-manager.js +10 -1
  68. package/dist/core/settings-manager.js.map +1 -1
  69. package/dist/core/slash-commands.d.ts +1 -0
  70. package/dist/core/slash-commands.d.ts.map +1 -1
  71. package/dist/core/slash-commands.js +3 -3
  72. package/dist/core/slash-commands.js.map +1 -1
  73. package/dist/index.d.ts +1 -1
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js.map +1 -1
  76. package/dist/main.d.ts +2 -2
  77. package/dist/main.d.ts.map +1 -1
  78. package/dist/main.js +1 -0
  79. package/dist/main.js.map +1 -1
  80. package/dist/modes/interactive/components/config-selector.d.ts +34 -3
  81. package/dist/modes/interactive/components/config-selector.d.ts.map +1 -1
  82. package/dist/modes/interactive/components/config-selector.js +272 -24
  83. package/dist/modes/interactive/components/config-selector.js.map +1 -1
  84. package/dist/modes/interactive/components/footer.d.ts +4 -0
  85. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  86. package/dist/modes/interactive/components/footer.js +5 -2
  87. package/dist/modes/interactive/components/footer.js.map +1 -1
  88. package/dist/modes/interactive/components/oauth-selector.d.ts +3 -1
  89. package/dist/modes/interactive/components/oauth-selector.d.ts.map +1 -1
  90. package/dist/modes/interactive/components/oauth-selector.js +16 -6
  91. package/dist/modes/interactive/components/oauth-selector.js.map +1 -1
  92. package/dist/modes/interactive/components/settings-selector.d.ts +2 -0
  93. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  94. package/dist/modes/interactive/components/settings-selector.js +11 -1
  95. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  96. package/dist/modes/interactive/components/thinking-selector.js +1 -1
  97. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  98. package/dist/modes/interactive/interactive-mode.d.ts +10 -0
  99. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  100. package/dist/modes/interactive/interactive-mode.js +261 -37
  101. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  102. package/dist/modes/interactive/theme/dark.json +1 -0
  103. package/dist/modes/interactive/theme/light.json +1 -0
  104. package/dist/modes/interactive/theme/theme-schema.json +6 -2
  105. package/dist/modes/interactive/theme/theme.d.ts +3 -2
  106. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  107. package/dist/modes/interactive/theme/theme.js +11 -4
  108. package/dist/modes/interactive/theme/theme.js.map +1 -1
  109. package/dist/modes/print-mode.js +1 -1
  110. package/dist/modes/print-mode.js.map +1 -1
  111. package/dist/modes/rpc/rpc-client.d.ts +6 -6
  112. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  113. package/dist/modes/rpc/rpc-client.js +3 -3
  114. package/dist/modes/rpc/rpc-client.js.map +1 -1
  115. package/dist/package-manager-cli.d.ts +2 -2
  116. package/dist/package-manager-cli.d.ts.map +1 -1
  117. package/dist/package-manager-cli.js +64 -17
  118. package/dist/package-manager-cli.js.map +1 -1
  119. package/dist/utils/clipboard-image.js +1 -1
  120. package/dist/utils/clipboard-image.js.map +1 -1
  121. package/docs/custom-provider.md +4 -3
  122. package/docs/extensions.md +34 -10
  123. package/docs/models.md +49 -8
  124. package/docs/packages.md +7 -10
  125. package/docs/rpc.md +15 -5
  126. package/docs/sdk.md +23 -1
  127. package/docs/settings.md +3 -2
  128. package/docs/themes.md +5 -3
  129. package/docs/tui.md +1 -1
  130. package/docs/usage.md +2 -2
  131. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  132. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  133. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  134. package/examples/extensions/gondolin/package-lock.json +2 -2
  135. package/examples/extensions/gondolin/package.json +1 -1
  136. package/examples/extensions/reload-runtime.ts +2 -2
  137. package/examples/extensions/sandbox/package-lock.json +2 -2
  138. package/examples/extensions/sandbox/package.json +1 -1
  139. package/examples/extensions/with-deps/package-lock.json +2 -2
  140. package/examples/extensions/with-deps/package.json +1 -1
  141. package/examples/sdk/README.md +1 -1
  142. package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
  143. package/node_modules/@earendil-works/pi-agent-core/README.md +1 -1
  144. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  145. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +37 -2
  146. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  147. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.d.ts.map +1 -1
  148. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js +2 -0
  149. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-repo.js.map +1 -1
  150. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +1 -0
  151. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
  152. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +7 -0
  153. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
  154. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +18 -4
  155. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  156. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +72 -37
  157. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  158. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +2 -0
  159. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  160. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  161. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +2 -0
  162. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  163. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +2 -0
  164. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  165. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +2 -3
  166. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  167. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  168. package/node_modules/@earendil-works/pi-agent-core/package.json +2 -2
  169. package/node_modules/@earendil-works/pi-ai/README.md +4 -2
  170. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  171. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +7 -8
  172. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  173. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts +1 -1
  174. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  175. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  176. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +3 -6
  177. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  178. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts +1 -1
  179. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  180. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +5 -1
  181. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  182. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +1 -1
  183. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  184. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +7 -2
  185. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  186. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  187. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +7 -5
  188. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  189. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts +1 -1
  190. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  191. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  192. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.d.ts.map +1 -1
  193. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js +8 -4
  194. package/node_modules/@earendil-works/pi-ai/dist/api/transform-messages.js.map +1 -1
  195. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  196. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +644 -220
  197. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  198. package/node_modules/@earendil-works/pi-ai/dist/models.js +13 -4
  199. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  200. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts +62 -5
  201. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  202. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +32 -20
  203. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js.map +1 -1
  204. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts +11 -1
  205. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts.map +1 -1
  206. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +6 -4
  207. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js.map +1 -1
  208. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +66 -0
  209. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  210. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +54 -0
  211. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -1
  212. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts +11 -1
  213. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  214. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +6 -4
  215. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  216. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts +2 -2
  217. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts.map +1 -1
  218. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js +2 -2
  219. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js.map +1 -1
  220. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts +2 -2
  221. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts.map +1 -1
  222. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +2 -2
  223. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js.map +1 -1
  224. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +8 -2
  225. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -1
  226. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +9 -8
  227. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  228. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +101 -0
  229. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -1
  230. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +59 -0
  231. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -1
  232. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +115 -0
  233. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -1
  234. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +61 -0
  235. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -1
  236. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts +3 -3
  237. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts.map +1 -1
  238. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +3 -3
  239. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js.map +1 -1
  240. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +14 -4
  241. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -1
  242. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +9 -7
  243. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -1
  244. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +158 -64
  245. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  246. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +145 -83
  247. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  248. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +88 -1
  249. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  250. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +78 -5
  251. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  252. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts +0 -44
  253. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
  254. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +9 -45
  255. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
  256. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts +0 -44
  257. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
  258. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +9 -45
  259. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
  260. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts +0 -44
  261. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
  262. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +9 -45
  263. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
  264. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts +1 -1
  265. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
  266. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js +1 -1
  267. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js.map +1 -1
  268. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts +1 -1
  269. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts.map +1 -1
  270. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js +1 -1
  271. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js.map +1 -1
  272. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +15 -6
  273. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  274. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  275. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts +3 -3
  276. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.d.ts.map +1 -1
  277. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js +17 -9
  278. package/node_modules/@earendil-works/pi-ai/dist/utils/estimate.js.map +1 -1
  279. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  280. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +3 -0
  281. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  282. package/node_modules/@earendil-works/pi-ai/package.json +1 -1
  283. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  284. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  285. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +22 -1
  286. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  287. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  288. package/package.json +7 -8
  289. package/npm-shrinkwrap.json +0 -3479
@@ -279,7 +279,7 @@ export const OPENROUTER_MODELS = {
279
279
  baseUrl: "https://openrouter.ai/api/v1",
280
280
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
281
281
  reasoning: true,
282
- thinkingLevelMap: { "xhigh": "max" },
282
+ thinkingLevelMap: { "max": "max" },
283
283
  input: ["text", "image"],
284
284
  cost: {
285
285
  input: 5,
@@ -298,7 +298,7 @@ export const OPENROUTER_MODELS = {
298
298
  baseUrl: "https://openrouter.ai/api/v1",
299
299
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
300
300
  reasoning: true,
301
- thinkingLevelMap: { "xhigh": "xhigh" },
301
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
302
302
  input: ["text", "image"],
303
303
  cost: {
304
304
  input: 5,
@@ -317,7 +317,7 @@ export const OPENROUTER_MODELS = {
317
317
  baseUrl: "https://openrouter.ai/api/v1",
318
318
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
319
319
  reasoning: true,
320
- thinkingLevelMap: { "xhigh": "xhigh" },
320
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
321
321
  input: ["text", "image"],
322
322
  cost: {
323
323
  input: 30,
@@ -336,7 +336,7 @@ export const OPENROUTER_MODELS = {
336
336
  baseUrl: "https://openrouter.ai/api/v1",
337
337
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
338
338
  reasoning: true,
339
- thinkingLevelMap: { "xhigh": "xhigh" },
339
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
340
340
  input: ["text", "image"],
341
341
  cost: {
342
342
  input: 5,
@@ -355,7 +355,7 @@ export const OPENROUTER_MODELS = {
355
355
  baseUrl: "https://openrouter.ai/api/v1",
356
356
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
357
357
  reasoning: true,
358
- thinkingLevelMap: { "xhigh": "xhigh" },
358
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
359
359
  input: ["text", "image"],
360
360
  cost: {
361
361
  input: 10,
@@ -410,6 +410,7 @@ export const OPENROUTER_MODELS = {
410
410
  baseUrl: "https://openrouter.ai/api/v1",
411
411
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
412
412
  reasoning: true,
413
+ thinkingLevelMap: { "max": "max" },
413
414
  input: ["text", "image"],
414
415
  cost: {
415
416
  input: 3,
@@ -428,6 +429,7 @@ export const OPENROUTER_MODELS = {
428
429
  baseUrl: "https://openrouter.ai/api/v1",
429
430
  compat: { "thinkingFormat": "openrouter", "cacheControlFormat": "anthropic" },
430
431
  reasoning: true,
432
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
431
433
  input: ["text", "image"],
432
434
  cost: {
433
435
  input: 2,
@@ -788,7 +790,7 @@ export const OPENROUTER_MODELS = {
788
790
  baseUrl: "https://openrouter.ai/api/v1",
789
791
  compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
790
792
  reasoning: true,
791
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
793
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
792
794
  input: ["text"],
793
795
  cost: {
794
796
  input: 0.09,
@@ -807,7 +809,7 @@ export const OPENROUTER_MODELS = {
807
809
  baseUrl: "https://openrouter.ai/api/v1",
808
810
  compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter", "requiresReasoningContentOnAssistantMessages": true },
809
811
  reasoning: true,
810
- thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "xhigh": "xhigh" },
812
+ thinkingLevelMap: { "minimal": null, "low": null, "medium": null, "high": "high", "max": null, "xhigh": "xhigh" },
811
813
  input: ["text"],
812
814
  cost: {
813
815
  input: 0.435,
@@ -854,24 +856,6 @@ export const OPENROUTER_MODELS = {
854
856
  contextWindow: 1048576,
855
857
  maxTokens: 65535,
856
858
  },
857
- "google/gemini-2.5-flash-lite-preview-09-2025": {
858
- id: "google/gemini-2.5-flash-lite-preview-09-2025",
859
- name: "Google: Gemini 2.5 Flash Lite Preview 09-2025",
860
- api: "openai-completions",
861
- provider: "openrouter",
862
- baseUrl: "https://openrouter.ai/api/v1",
863
- compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
864
- reasoning: true,
865
- input: ["text", "image"],
866
- cost: {
867
- input: 0.1,
868
- output: 0.4,
869
- cacheRead: 0.01,
870
- cacheWrite: 0.083333,
871
- },
872
- contextWindow: 1048576,
873
- maxTokens: 65535,
874
- },
875
859
  "google/gemini-2.5-pro": {
876
860
  id: "google/gemini-2.5-pro",
877
861
  name: "Google: Gemini 2.5 Pro",
@@ -1459,9 +1443,9 @@ export const OPENROUTER_MODELS = {
1459
1443
  reasoning: true,
1460
1444
  input: ["text"],
1461
1445
  cost: {
1462
- input: 0.12,
1463
- output: 0.48,
1464
- cacheRead: 0,
1446
+ input: 0.15,
1447
+ output: 0.9,
1448
+ cacheRead: 0.05,
1465
1449
  cacheWrite: 0,
1466
1450
  },
1467
1451
  contextWindow: 204800,
@@ -1477,8 +1461,8 @@ export const OPENROUTER_MODELS = {
1477
1461
  reasoning: true,
1478
1462
  input: ["text"],
1479
1463
  cost: {
1480
- input: 0.18,
1481
- output: 0.72,
1464
+ input: 0.24,
1465
+ output: 0.96,
1482
1466
  cacheRead: 0,
1483
1467
  cacheWrite: 0,
1484
1468
  },
@@ -1501,7 +1485,7 @@ export const OPENROUTER_MODELS = {
1501
1485
  cacheWrite: 0,
1502
1486
  },
1503
1487
  contextWindow: 1048576,
1504
- maxTokens: 512000,
1488
+ maxTokens: 131072,
1505
1489
  },
1506
1490
  "mistralai/codestral-2508": {
1507
1491
  id: "mistralai/codestral-2508",
@@ -1891,9 +1875,9 @@ export const OPENROUTER_MODELS = {
1891
1875
  reasoning: true,
1892
1876
  input: ["text", "image"],
1893
1877
  cost: {
1894
- input: 0.65,
1878
+ input: 0.66,
1895
1879
  output: 3.41,
1896
- cacheRead: 0.14,
1880
+ cacheRead: 0.15,
1897
1881
  cacheWrite: 0,
1898
1882
  },
1899
1883
  contextWindow: 262144,
@@ -1909,13 +1893,13 @@ export const OPENROUTER_MODELS = {
1909
1893
  reasoning: true,
1910
1894
  input: ["text", "image"],
1911
1895
  cost: {
1912
- input: 0.74,
1913
- output: 3.5,
1914
- cacheRead: 0.15,
1896
+ input: 0.72,
1897
+ output: 3.49,
1898
+ cacheRead: 0.159,
1915
1899
  cacheWrite: 0,
1916
1900
  },
1917
1901
  contextWindow: 262144,
1918
- maxTokens: 16384,
1902
+ maxTokens: 262144,
1919
1903
  },
1920
1904
  "nex-agi/nex-n2-mini": {
1921
1905
  id: "nex-agi/nex-n2-mini",
@@ -2811,6 +2795,120 @@ export const OPENROUTER_MODELS = {
2811
2795
  contextWindow: 1050000,
2812
2796
  maxTokens: 128000,
2813
2797
  },
2798
+ "openai/gpt-5.6-luna": {
2799
+ id: "openai/gpt-5.6-luna",
2800
+ name: "OpenAI: GPT-5.6 Luna",
2801
+ api: "openai-completions",
2802
+ provider: "openrouter",
2803
+ baseUrl: "https://openrouter.ai/api/v1",
2804
+ compat: { "thinkingFormat": "openrouter" },
2805
+ reasoning: true,
2806
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2807
+ input: ["text", "image"],
2808
+ cost: {
2809
+ input: 1,
2810
+ output: 6,
2811
+ cacheRead: 0.1,
2812
+ cacheWrite: 1.25,
2813
+ },
2814
+ contextWindow: 1050000,
2815
+ maxTokens: 128000,
2816
+ },
2817
+ "openai/gpt-5.6-luna-pro": {
2818
+ id: "openai/gpt-5.6-luna-pro",
2819
+ name: "OpenAI: GPT-5.6 Luna Pro",
2820
+ api: "openai-completions",
2821
+ provider: "openrouter",
2822
+ baseUrl: "https://openrouter.ai/api/v1",
2823
+ compat: { "thinkingFormat": "openrouter" },
2824
+ reasoning: true,
2825
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2826
+ input: ["text", "image"],
2827
+ cost: {
2828
+ input: 1,
2829
+ output: 6,
2830
+ cacheRead: 0.1,
2831
+ cacheWrite: 1.25,
2832
+ },
2833
+ contextWindow: 1050000,
2834
+ maxTokens: 128000,
2835
+ },
2836
+ "openai/gpt-5.6-sol": {
2837
+ id: "openai/gpt-5.6-sol",
2838
+ name: "OpenAI: GPT-5.6 Sol",
2839
+ api: "openai-completions",
2840
+ provider: "openrouter",
2841
+ baseUrl: "https://openrouter.ai/api/v1",
2842
+ compat: { "thinkingFormat": "openrouter" },
2843
+ reasoning: true,
2844
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2845
+ input: ["text", "image"],
2846
+ cost: {
2847
+ input: 5,
2848
+ output: 30,
2849
+ cacheRead: 0.5,
2850
+ cacheWrite: 6.25,
2851
+ },
2852
+ contextWindow: 1050000,
2853
+ maxTokens: 128000,
2854
+ },
2855
+ "openai/gpt-5.6-sol-pro": {
2856
+ id: "openai/gpt-5.6-sol-pro",
2857
+ name: "OpenAI: GPT-5.6 Sol Pro",
2858
+ api: "openai-completions",
2859
+ provider: "openrouter",
2860
+ baseUrl: "https://openrouter.ai/api/v1",
2861
+ compat: { "thinkingFormat": "openrouter" },
2862
+ reasoning: true,
2863
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2864
+ input: ["text", "image"],
2865
+ cost: {
2866
+ input: 5,
2867
+ output: 30,
2868
+ cacheRead: 0.5,
2869
+ cacheWrite: 6.25,
2870
+ },
2871
+ contextWindow: 1050000,
2872
+ maxTokens: 128000,
2873
+ },
2874
+ "openai/gpt-5.6-terra": {
2875
+ id: "openai/gpt-5.6-terra",
2876
+ name: "OpenAI: GPT-5.6 Terra",
2877
+ api: "openai-completions",
2878
+ provider: "openrouter",
2879
+ baseUrl: "https://openrouter.ai/api/v1",
2880
+ compat: { "thinkingFormat": "openrouter" },
2881
+ reasoning: true,
2882
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2883
+ input: ["text", "image"],
2884
+ cost: {
2885
+ input: 2.5,
2886
+ output: 15,
2887
+ cacheRead: 0.25,
2888
+ cacheWrite: 3.125,
2889
+ },
2890
+ contextWindow: 1050000,
2891
+ maxTokens: 128000,
2892
+ },
2893
+ "openai/gpt-5.6-terra-pro": {
2894
+ id: "openai/gpt-5.6-terra-pro",
2895
+ name: "OpenAI: GPT-5.6 Terra Pro",
2896
+ api: "openai-completions",
2897
+ provider: "openrouter",
2898
+ baseUrl: "https://openrouter.ai/api/v1",
2899
+ compat: { "thinkingFormat": "openrouter" },
2900
+ reasoning: true,
2901
+ thinkingLevelMap: { "xhigh": "xhigh", "max": "max" },
2902
+ input: ["text", "image"],
2903
+ cost: {
2904
+ input: 2.5,
2905
+ output: 15,
2906
+ cacheRead: 0.25,
2907
+ cacheWrite: 3.125,
2908
+ },
2909
+ contextWindow: 1050000,
2910
+ maxTokens: 128000,
2911
+ },
2814
2912
  "openai/gpt-audio": {
2815
2913
  id: "openai/gpt-audio",
2816
2914
  name: "OpenAI: GPT Audio",
@@ -2875,13 +2973,13 @@ export const OPENROUTER_MODELS = {
2875
2973
  reasoning: true,
2876
2974
  input: ["text"],
2877
2975
  cost: {
2878
- input: 0.03,
2879
- output: 0.15,
2976
+ input: 0.036,
2977
+ output: 0.18,
2880
2978
  cacheRead: 0,
2881
2979
  cacheWrite: 0,
2882
2980
  },
2883
2981
  contextWindow: 131072,
2884
- maxTokens: 131072,
2982
+ maxTokens: 4096,
2885
2983
  },
2886
2984
  "openai/gpt-oss-120b:free": {
2887
2985
  id: "openai/gpt-oss-120b:free",
@@ -3243,42 +3341,6 @@ export const OPENROUTER_MODELS = {
3243
3341
  contextWindow: 262144,
3244
3342
  maxTokens: 32768,
3245
3343
  },
3246
- "poolside/laguna-xs.2": {
3247
- id: "poolside/laguna-xs.2",
3248
- name: "Poolside: Laguna XS.2",
3249
- api: "openai-completions",
3250
- provider: "openrouter",
3251
- baseUrl: "https://openrouter.ai/api/v1",
3252
- compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3253
- reasoning: true,
3254
- input: ["text"],
3255
- cost: {
3256
- input: 0.1,
3257
- output: 0.2,
3258
- cacheRead: 0.05,
3259
- cacheWrite: 0,
3260
- },
3261
- contextWindow: 262144,
3262
- maxTokens: 32768,
3263
- },
3264
- "poolside/laguna-xs.2:free": {
3265
- id: "poolside/laguna-xs.2:free",
3266
- name: "Poolside: Laguna XS.2 (free)",
3267
- api: "openai-completions",
3268
- provider: "openrouter",
3269
- baseUrl: "https://openrouter.ai/api/v1",
3270
- compat: { "supportsDeveloperRole": false, "thinkingFormat": "openrouter" },
3271
- reasoning: true,
3272
- input: ["text"],
3273
- cost: {
3274
- input: 0,
3275
- output: 0,
3276
- cacheRead: 0,
3277
- cacheWrite: 0,
3278
- },
3279
- contextWindow: 262144,
3280
- maxTokens: 32768,
3281
- },
3282
3344
  "qwen/qwen-2.5-72b-instruct": {
3283
3345
  id: "qwen/qwen-2.5-72b-instruct",
3284
3346
  name: "Qwen2.5 72B Instruct",
@@ -4622,13 +4684,13 @@ export const OPENROUTER_MODELS = {
4622
4684
  thinkingLevelMap: { "xhigh": "xhigh" },
4623
4685
  input: ["text"],
4624
4686
  cost: {
4625
- input: 0.9,
4626
- output: 3.08,
4627
- cacheRead: 0.18,
4687
+ input: 0.49,
4688
+ output: 1.54,
4689
+ cacheRead: 0.091,
4628
4690
  cacheWrite: 0,
4629
4691
  },
4630
4692
  contextWindow: 1048576,
4631
- maxTokens: 1048576,
4693
+ maxTokens: 128000,
4632
4694
  },
4633
4695
  "z-ai/glm-5v-turbo": {
4634
4696
  id: "z-ai/glm-5v-turbo",
@@ -4766,9 +4828,9 @@ export const OPENROUTER_MODELS = {
4766
4828
  reasoning: true,
4767
4829
  input: ["text", "image"],
4768
4830
  cost: {
4769
- input: 0.65,
4831
+ input: 0.66,
4770
4832
  output: 3.41,
4771
- cacheRead: 0.14,
4833
+ cacheRead: 0.15,
4772
4834
  cacheWrite: 0,
4773
4835
  },
4774
4836
  contextWindow: 262144,
@@ -4787,7 +4849,7 @@ export const OPENROUTER_MODELS = {
4787
4849
  input: 5,
4788
4850
  output: 30,
4789
4851
  cacheRead: 0.5,
4790
- cacheWrite: 0,
4852
+ cacheWrite: 6.25,
4791
4853
  },
4792
4854
  contextWindow: 1050000,
4793
4855
  maxTokens: 128000,