@code-yeongyu/senpi 2026.7.23 → 2026.7.25-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 (900) hide show
  1. package/CHANGELOG.md +162 -6
  2. package/README.md +14 -1
  3. package/dist/beta/omo-local-update.d.ts +207 -0
  4. package/dist/beta/omo-local-update.d.ts.map +1 -0
  5. package/dist/beta/omo-local-update.js +708 -0
  6. package/dist/beta/omo-local-update.js.map +1 -0
  7. package/dist/cli/args.d.ts +2 -0
  8. package/dist/cli/args.d.ts.map +1 -1
  9. package/dist/cli/args.js +6 -0
  10. package/dist/cli/args.js.map +1 -1
  11. package/dist/cli/config-selector.js +1 -1
  12. package/dist/cli/config-selector.js.map +1 -1
  13. package/dist/core/agent-session-runtime.d.ts +15 -1
  14. package/dist/core/agent-session-runtime.d.ts.map +1 -1
  15. package/dist/core/agent-session-runtime.js +12 -2
  16. package/dist/core/agent-session-runtime.js.map +1 -1
  17. package/dist/core/agent-session.d.ts +115 -4
  18. package/dist/core/agent-session.d.ts.map +1 -1
  19. package/dist/core/agent-session.js +1317 -320
  20. package/dist/core/agent-session.js.map +1 -1
  21. package/dist/core/compaction/branch-summarization.d.ts +7 -1
  22. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  23. package/dist/core/compaction/branch-summarization.js +8 -12
  24. package/dist/core/compaction/branch-summarization.js.map +1 -1
  25. package/dist/core/compaction/compaction.d.ts +22 -4
  26. package/dist/core/compaction/compaction.d.ts.map +1 -1
  27. package/dist/core/compaction/compaction.js +114 -51
  28. package/dist/core/compaction/compaction.js.map +1 -1
  29. package/dist/core/compaction/lifecycle.d.ts +69 -0
  30. package/dist/core/compaction/lifecycle.d.ts.map +1 -0
  31. package/dist/core/compaction/lifecycle.js +104 -0
  32. package/dist/core/compaction/lifecycle.js.map +1 -0
  33. package/dist/core/compaction/utils.d.ts +12 -1
  34. package/dist/core/compaction/utils.d.ts.map +1 -1
  35. package/dist/core/compaction/utils.js +22 -17
  36. package/dist/core/compaction/utils.js.map +1 -1
  37. package/dist/core/event-bus.d.ts.map +1 -1
  38. package/dist/core/event-bus.js +11 -1
  39. package/dist/core/event-bus.js.map +1 -1
  40. package/dist/core/extensions/builtin/compaction/index.d.ts +2 -1
  41. package/dist/core/extensions/builtin/compaction/index.d.ts.map +1 -1
  42. package/dist/core/extensions/builtin/compaction/index.js +42 -30
  43. package/dist/core/extensions/builtin/compaction/index.js.map +1 -1
  44. package/dist/core/extensions/builtin/compaction/openai-remote-model.d.ts +9 -2
  45. package/dist/core/extensions/builtin/compaction/openai-remote-model.d.ts.map +1 -1
  46. package/dist/core/extensions/builtin/compaction/openai-remote-model.js +78 -28
  47. package/dist/core/extensions/builtin/compaction/openai-remote-model.js.map +1 -1
  48. package/dist/core/extensions/builtin/compaction/openai-remote-schema.d.ts +3 -1
  49. package/dist/core/extensions/builtin/compaction/openai-remote-schema.d.ts.map +1 -1
  50. package/dist/core/extensions/builtin/compaction/openai-remote-schema.js +19 -1
  51. package/dist/core/extensions/builtin/compaction/openai-remote-schema.js.map +1 -1
  52. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts +20 -6
  53. package/dist/core/extensions/builtin/compaction/openai-remote.d.ts.map +1 -1
  54. package/dist/core/extensions/builtin/compaction/openai-remote.js +207 -22
  55. package/dist/core/extensions/builtin/compaction/openai-remote.js.map +1 -1
  56. package/dist/core/extensions/builtin/compaction/speculative.d.ts +4 -2
  57. package/dist/core/extensions/builtin/compaction/speculative.d.ts.map +1 -1
  58. package/dist/core/extensions/builtin/compaction/speculative.js +25 -13
  59. package/dist/core/extensions/builtin/compaction/speculative.js.map +1 -1
  60. package/dist/core/extensions/builtin/config-reload/index.d.ts +7 -0
  61. package/dist/core/extensions/builtin/config-reload/index.d.ts.map +1 -1
  62. package/dist/core/extensions/builtin/config-reload/index.js +69 -34
  63. package/dist/core/extensions/builtin/config-reload/index.js.map +1 -1
  64. package/dist/core/extensions/builtin/config-reload/log.d.ts +4 -1
  65. package/dist/core/extensions/builtin/config-reload/log.d.ts.map +1 -1
  66. package/dist/core/extensions/builtin/config-reload/log.js +3 -0
  67. package/dist/core/extensions/builtin/config-reload/log.js.map +1 -1
  68. package/dist/core/extensions/builtin/config-reload/routine-settings.d.ts +15 -0
  69. package/dist/core/extensions/builtin/config-reload/routine-settings.d.ts.map +1 -0
  70. package/dist/core/extensions/builtin/config-reload/routine-settings.js +102 -0
  71. package/dist/core/extensions/builtin/config-reload/routine-settings.js.map +1 -0
  72. package/dist/core/extensions/builtin/hooks/index.js +1 -1
  73. package/dist/core/extensions/builtin/hooks/index.js.map +1 -1
  74. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.d.ts +3 -1
  75. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.d.ts.map +1 -1
  76. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.js +2 -1
  77. package/dist/core/extensions/builtin/hooks/lifecycle-adapter.js.map +1 -1
  78. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.d.ts +2 -1
  79. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.d.ts.map +1 -1
  80. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.js +5 -3
  81. package/dist/core/extensions/builtin/mcp/auth/commands-auth-dispatch.js.map +1 -1
  82. package/dist/core/extensions/builtin/mcp/auth/commands-auth.d.ts +5 -0
  83. package/dist/core/extensions/builtin/mcp/auth/commands-auth.d.ts.map +1 -1
  84. package/dist/core/extensions/builtin/mcp/auth/commands-auth.js +8 -3
  85. package/dist/core/extensions/builtin/mcp/auth/commands-auth.js.map +1 -1
  86. package/dist/core/extensions/builtin/mcp/catalog.d.ts +3 -1
  87. package/dist/core/extensions/builtin/mcp/catalog.d.ts.map +1 -1
  88. package/dist/core/extensions/builtin/mcp/catalog.js +2 -0
  89. package/dist/core/extensions/builtin/mcp/catalog.js.map +1 -1
  90. package/dist/core/extensions/builtin/mcp/commands.d.ts +1 -1
  91. package/dist/core/extensions/builtin/mcp/commands.d.ts.map +1 -1
  92. package/dist/core/extensions/builtin/mcp/commands.js +34 -39
  93. package/dist/core/extensions/builtin/mcp/commands.js.map +1 -1
  94. package/dist/core/extensions/builtin/mcp/connection-types.d.ts +2 -0
  95. package/dist/core/extensions/builtin/mcp/connection-types.d.ts.map +1 -1
  96. package/dist/core/extensions/builtin/mcp/connection-types.js.map +1 -1
  97. package/dist/core/extensions/builtin/mcp/connection.d.ts.map +1 -1
  98. package/dist/core/extensions/builtin/mcp/connection.js +3 -0
  99. package/dist/core/extensions/builtin/mcp/connection.js.map +1 -1
  100. package/dist/core/extensions/builtin/mcp/elicitation.d.ts +7 -3
  101. package/dist/core/extensions/builtin/mcp/elicitation.d.ts.map +1 -1
  102. package/dist/core/extensions/builtin/mcp/elicitation.js +5 -5
  103. package/dist/core/extensions/builtin/mcp/elicitation.js.map +1 -1
  104. package/dist/core/extensions/builtin/mcp/expose/register.d.ts.map +1 -1
  105. package/dist/core/extensions/builtin/mcp/expose/register.js +1 -0
  106. package/dist/core/extensions/builtin/mcp/expose/register.js.map +1 -1
  107. package/dist/core/extensions/builtin/mcp/expose/session.d.ts +2 -0
  108. package/dist/core/extensions/builtin/mcp/expose/session.d.ts.map +1 -1
  109. package/dist/core/extensions/builtin/mcp/expose/session.js +3 -0
  110. package/dist/core/extensions/builtin/mcp/expose/session.js.map +1 -1
  111. package/dist/core/extensions/builtin/mcp/guard/output-guard.d.ts +9 -1
  112. package/dist/core/extensions/builtin/mcp/guard/output-guard.d.ts.map +1 -1
  113. package/dist/core/extensions/builtin/mcp/guard/output-guard.js +18 -6
  114. package/dist/core/extensions/builtin/mcp/guard/output-guard.js.map +1 -1
  115. package/dist/core/extensions/builtin/mcp/index.d.ts +4 -2
  116. package/dist/core/extensions/builtin/mcp/index.d.ts.map +1 -1
  117. package/dist/core/extensions/builtin/mcp/index.js +150 -127
  118. package/dist/core/extensions/builtin/mcp/index.js.map +1 -1
  119. package/dist/core/extensions/builtin/mcp/instructions.d.ts +1 -1
  120. package/dist/core/extensions/builtin/mcp/instructions.d.ts.map +1 -1
  121. package/dist/core/extensions/builtin/mcp/instructions.js +6 -6
  122. package/dist/core/extensions/builtin/mcp/instructions.js.map +1 -1
  123. package/dist/core/extensions/builtin/mcp/prompts.d.ts +2 -0
  124. package/dist/core/extensions/builtin/mcp/prompts.d.ts.map +1 -1
  125. package/dist/core/extensions/builtin/mcp/prompts.js +9 -3
  126. package/dist/core/extensions/builtin/mcp/prompts.js.map +1 -1
  127. package/dist/core/extensions/builtin/mcp/resources.d.ts +2 -0
  128. package/dist/core/extensions/builtin/mcp/resources.d.ts.map +1 -1
  129. package/dist/core/extensions/builtin/mcp/resources.js +1 -0
  130. package/dist/core/extensions/builtin/mcp/resources.js.map +1 -1
  131. package/dist/core/extensions/builtin/mcp/service-register.d.ts.map +1 -1
  132. package/dist/core/extensions/builtin/mcp/service-register.js +1 -0
  133. package/dist/core/extensions/builtin/mcp/service-register.js.map +1 -1
  134. package/dist/core/extensions/builtin/mcp/service-types.d.ts +2 -0
  135. package/dist/core/extensions/builtin/mcp/service-types.d.ts.map +1 -1
  136. package/dist/core/extensions/builtin/mcp/service-types.js.map +1 -1
  137. package/dist/core/extensions/builtin/mcp/service.d.ts +12 -1
  138. package/dist/core/extensions/builtin/mcp/service.d.ts.map +1 -1
  139. package/dist/core/extensions/builtin/mcp/service.js +44 -2
  140. package/dist/core/extensions/builtin/mcp/service.js.map +1 -1
  141. package/dist/core/extensions/builtin/mcp/transport.d.ts +2 -0
  142. package/dist/core/extensions/builtin/mcp/transport.d.ts.map +1 -1
  143. package/dist/core/extensions/builtin/mcp/transport.js +7 -7
  144. package/dist/core/extensions/builtin/mcp/transport.js.map +1 -1
  145. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.d.ts.map +1 -1
  146. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.js +86 -7
  147. package/dist/core/extensions/builtin/prompt-preset/claude-fable-5.js.map +1 -1
  148. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.d.ts +3 -0
  149. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.d.ts.map +1 -0
  150. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js +102 -0
  151. package/dist/core/extensions/builtin/prompt-preset/claude-opus-5.js.map +1 -0
  152. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts +48 -0
  153. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.d.ts.map +1 -1
  154. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js +88 -64
  155. package/dist/core/extensions/builtin/prompt-preset/gpt-5.6.js.map +1 -1
  156. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.d.ts.map +1 -1
  157. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js +96 -6
  158. package/dist/core/extensions/builtin/prompt-preset/kimi-k3.js.map +1 -1
  159. package/dist/core/extensions/builtin/prompt-preset/presets.d.ts.map +1 -1
  160. package/dist/core/extensions/builtin/prompt-preset/presets.js +9 -0
  161. package/dist/core/extensions/builtin/prompt-preset/presets.js.map +1 -1
  162. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts +1 -1
  163. package/dist/core/extensions/builtin/prompt-preset/settings.d.ts.map +1 -1
  164. package/dist/core/extensions/builtin/prompt-preset/settings.js +1 -0
  165. package/dist/core/extensions/builtin/prompt-preset/settings.js.map +1 -1
  166. package/dist/core/extensions/builtin/terminal/extension.d.ts.map +1 -1
  167. package/dist/core/extensions/builtin/terminal/extension.js +1 -0
  168. package/dist/core/extensions/builtin/terminal/extension.js.map +1 -1
  169. package/dist/core/extensions/builtin/terminal/tools/bash.d.ts +15 -3
  170. package/dist/core/extensions/builtin/terminal/tools/bash.d.ts.map +1 -1
  171. package/dist/core/extensions/builtin/terminal/tools/bash.js +30 -6
  172. package/dist/core/extensions/builtin/terminal/tools/bash.js.map +1 -1
  173. package/dist/core/extensions/builtin/terminal/tools/context.d.ts +5 -0
  174. package/dist/core/extensions/builtin/terminal/tools/context.d.ts.map +1 -1
  175. package/dist/core/extensions/builtin/terminal/tools/context.js.map +1 -1
  176. package/dist/core/extensions/builtin/websearch/index.d.ts.map +1 -1
  177. package/dist/core/extensions/builtin/websearch/index.js +2 -4
  178. package/dist/core/extensions/builtin/websearch/index.js.map +1 -1
  179. package/dist/core/extensions/builtin/websearch/websearch/config.d.ts.map +1 -1
  180. package/dist/core/extensions/builtin/websearch/websearch/config.js +4 -1
  181. package/dist/core/extensions/builtin/websearch/websearch/config.js.map +1 -1
  182. package/dist/core/extensions/builtin/websearch/websearch/native.d.ts.map +1 -1
  183. package/dist/core/extensions/builtin/websearch/websearch/native.js +2 -4
  184. package/dist/core/extensions/builtin/websearch/websearch/native.js.map +1 -1
  185. package/dist/core/extensions/builtin/websearch/websearch/renderers.d.ts.map +1 -1
  186. package/dist/core/extensions/builtin/websearch/websearch/renderers.js +20 -8
  187. package/dist/core/extensions/builtin/websearch/websearch/renderers.js.map +1 -1
  188. package/dist/core/extensions/builtin/websearch/websearch/search.d.ts +6 -1
  189. package/dist/core/extensions/builtin/websearch/websearch/search.d.ts.map +1 -1
  190. package/dist/core/extensions/builtin/websearch/websearch/search.js +15 -11
  191. package/dist/core/extensions/builtin/websearch/websearch/search.js.map +1 -1
  192. package/dist/core/extensions/builtin/websearch/websearch/tool.d.ts.map +1 -1
  193. package/dist/core/extensions/builtin/websearch/websearch/tool.js +5 -10
  194. package/dist/core/extensions/builtin/websearch/websearch/tool.js.map +1 -1
  195. package/dist/core/extensions/builtin/websearch/websearch/types.d.ts +1 -0
  196. package/dist/core/extensions/builtin/websearch/websearch/types.d.ts.map +1 -1
  197. package/dist/core/extensions/builtin/websearch/websearch/types.js.map +1 -1
  198. package/dist/core/extensions/runner.d.ts +14 -7
  199. package/dist/core/extensions/runner.d.ts.map +1 -1
  200. package/dist/core/extensions/runner.js +64 -37
  201. package/dist/core/extensions/runner.js.map +1 -1
  202. package/dist/core/extensions/types.d.ts +32 -3
  203. package/dist/core/extensions/types.d.ts.map +1 -1
  204. package/dist/core/extensions/types.js.map +1 -1
  205. package/dist/core/http-dispatcher.d.ts.map +1 -1
  206. package/dist/core/http-dispatcher.js +16 -0
  207. package/dist/core/http-dispatcher.js.map +1 -1
  208. package/dist/core/messages.d.ts +1 -1
  209. package/dist/core/messages.d.ts.map +1 -1
  210. package/dist/core/messages.js +10 -8
  211. package/dist/core/messages.js.map +1 -1
  212. package/dist/core/model-registry.d.ts +1 -0
  213. package/dist/core/model-registry.d.ts.map +1 -1
  214. package/dist/core/model-registry.js +3 -2
  215. package/dist/core/model-registry.js.map +1 -1
  216. package/dist/core/model-resolver.d.ts +1 -0
  217. package/dist/core/model-resolver.d.ts.map +1 -1
  218. package/dist/core/model-resolver.js +22 -3
  219. package/dist/core/model-resolver.js.map +1 -1
  220. package/dist/core/model-runtime.d.ts +4 -2
  221. package/dist/core/model-runtime.d.ts.map +1 -1
  222. package/dist/core/model-runtime.js +34 -18
  223. package/dist/core/model-runtime.js.map +1 -1
  224. package/dist/core/remote-catalog-provider.d.ts +1 -1
  225. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  226. package/dist/core/remote-catalog-provider.js +39 -7
  227. package/dist/core/remote-catalog-provider.js.map +1 -1
  228. package/dist/core/resolve-config-value.d.ts.map +1 -1
  229. package/dist/core/resolve-config-value.js +12 -8
  230. package/dist/core/resolve-config-value.js.map +1 -1
  231. package/dist/core/resource-loader.d.ts.map +1 -1
  232. package/dist/core/resource-loader.js +3 -0
  233. package/dist/core/resource-loader.js.map +1 -1
  234. package/dist/core/retry-fallback/controller.d.ts +7 -0
  235. package/dist/core/retry-fallback/controller.d.ts.map +1 -1
  236. package/dist/core/retry-fallback/controller.js +13 -0
  237. package/dist/core/retry-fallback/controller.js.map +1 -1
  238. package/dist/core/sdk.d.ts +1 -1
  239. package/dist/core/sdk.d.ts.map +1 -1
  240. package/dist/core/sdk.js +8 -3
  241. package/dist/core/sdk.js.map +1 -1
  242. package/dist/core/session-manager.d.ts +22 -3
  243. package/dist/core/session-manager.d.ts.map +1 -1
  244. package/dist/core/session-manager.js +155 -58
  245. package/dist/core/session-manager.js.map +1 -1
  246. package/dist/core/settings-manager.d.ts +8 -1
  247. package/dist/core/settings-manager.d.ts.map +1 -1
  248. package/dist/core/settings-manager.js +10 -0
  249. package/dist/core/settings-manager.js.map +1 -1
  250. package/dist/core/system-prompt.js +1 -1
  251. package/dist/core/system-prompt.js.map +1 -1
  252. package/dist/core/thinking-levels.d.ts.map +1 -1
  253. package/dist/core/thinking-levels.js +9 -2
  254. package/dist/core/thinking-levels.js.map +1 -1
  255. package/dist/core/tools/bash.d.ts +2 -0
  256. package/dist/core/tools/bash.d.ts.map +1 -1
  257. package/dist/core/tools/bash.js +34 -5
  258. package/dist/core/tools/bash.js.map +1 -1
  259. package/dist/core/tools/tool-definition-wrapper.d.ts.map +1 -1
  260. package/dist/core/tools/tool-definition-wrapper.js +3 -1
  261. package/dist/core/tools/tool-definition-wrapper.js.map +1 -1
  262. package/dist/core/usage-totals.d.ts +19 -0
  263. package/dist/core/usage-totals.d.ts.map +1 -0
  264. package/dist/core/usage-totals.js +52 -0
  265. package/dist/core/usage-totals.js.map +1 -0
  266. package/dist/extensions/llama/client.d.ts.map +1 -1
  267. package/dist/extensions/llama/client.js +3 -1
  268. package/dist/extensions/llama/client.js.map +1 -1
  269. package/dist/extensions/llama/index.js +3 -3
  270. package/dist/extensions/llama/index.js.map +1 -1
  271. package/dist/extensions/llama/provider.d.ts.map +1 -1
  272. package/dist/extensions/llama/provider.js +7 -2
  273. package/dist/extensions/llama/provider.js.map +1 -1
  274. package/dist/index.d.ts +2 -2
  275. package/dist/index.d.ts.map +1 -1
  276. package/dist/index.js +1 -1
  277. package/dist/index.js.map +1 -1
  278. package/dist/main.d.ts.map +1 -1
  279. package/dist/main.js +37 -5
  280. package/dist/main.js.map +1 -1
  281. package/dist/modes/app-server/daemon/occupancy.d.ts +22 -0
  282. package/dist/modes/app-server/daemon/occupancy.d.ts.map +1 -0
  283. package/dist/modes/app-server/daemon/occupancy.js +67 -0
  284. package/dist/modes/app-server/daemon/occupancy.js.map +1 -0
  285. package/dist/modes/app-server/daemon/probe.d.ts +3 -3
  286. package/dist/modes/app-server/daemon/probe.d.ts.map +1 -1
  287. package/dist/modes/app-server/daemon/probe.js +33 -10
  288. package/dist/modes/app-server/daemon/probe.js.map +1 -1
  289. package/dist/modes/app-server/daemon.d.ts.map +1 -1
  290. package/dist/modes/app-server/daemon.js +58 -18
  291. package/dist/modes/app-server/daemon.js.map +1 -1
  292. package/dist/modes/interactive/components/compaction-summary-message.d.ts.map +1 -1
  293. package/dist/modes/interactive/components/compaction-summary-message.js +8 -1
  294. package/dist/modes/interactive/components/compaction-summary-message.js.map +1 -1
  295. package/dist/modes/interactive/components/custom-message.d.ts +3 -1
  296. package/dist/modes/interactive/components/custom-message.d.ts.map +1 -1
  297. package/dist/modes/interactive/components/custom-message.js +9 -2
  298. package/dist/modes/interactive/components/custom-message.js.map +1 -1
  299. package/dist/modes/interactive/components/extension-editor.d.ts +1 -2
  300. package/dist/modes/interactive/components/extension-editor.d.ts.map +1 -1
  301. package/dist/modes/interactive/components/extension-editor.js +16 -46
  302. package/dist/modes/interactive/components/extension-editor.js.map +1 -1
  303. package/dist/modes/interactive/components/footer.d.ts.map +1 -1
  304. package/dist/modes/interactive/components/footer.js.map +1 -1
  305. package/dist/modes/interactive/components/status-indicator.d.ts +4 -0
  306. package/dist/modes/interactive/components/status-indicator.d.ts.map +1 -1
  307. package/dist/modes/interactive/components/status-indicator.js +13 -0
  308. package/dist/modes/interactive/components/status-indicator.js.map +1 -1
  309. package/dist/modes/interactive/external-editor.d.ts +12 -0
  310. package/dist/modes/interactive/external-editor.d.ts.map +1 -0
  311. package/dist/modes/interactive/external-editor.js +37 -0
  312. package/dist/modes/interactive/external-editor.js.map +1 -0
  313. package/dist/modes/interactive/interactive-mode.d.ts +3 -1
  314. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  315. package/dist/modes/interactive/interactive-mode.js +105 -80
  316. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  317. package/dist/modes/rpc/connection-handler.d.ts +6 -0
  318. package/dist/modes/rpc/connection-handler.d.ts.map +1 -1
  319. package/dist/modes/rpc/connection-handler.js +34 -9
  320. package/dist/modes/rpc/connection-handler.js.map +1 -1
  321. package/dist/modes/rpc/multi-session-host.d.ts +15 -0
  322. package/dist/modes/rpc/multi-session-host.d.ts.map +1 -0
  323. package/dist/modes/rpc/multi-session-host.js +60 -0
  324. package/dist/modes/rpc/multi-session-host.js.map +1 -0
  325. package/dist/modes/rpc/neo-runtime-options.d.ts.map +1 -1
  326. package/dist/modes/rpc/neo-runtime-options.js +1 -0
  327. package/dist/modes/rpc/neo-runtime-options.js.map +1 -1
  328. package/dist/modes/rpc/rpc-client.d.ts +4 -0
  329. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  330. package/dist/modes/rpc/rpc-client.js +7 -0
  331. package/dist/modes/rpc/rpc-client.js.map +1 -1
  332. package/dist/modes/rpc/rpc-mode.d.ts +49 -0
  333. package/dist/modes/rpc/rpc-mode.d.ts.map +1 -1
  334. package/dist/modes/rpc/rpc-mode.js +49 -0
  335. package/dist/modes/rpc/rpc-mode.js.map +1 -1
  336. package/dist/modes/rpc/rpc-types.d.ts +85 -1
  337. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  338. package/dist/modes/rpc/rpc-types.js +8 -1
  339. package/dist/modes/rpc/rpc-types.js.map +1 -1
  340. package/dist/modes/rpc/session-binding.d.ts +13 -0
  341. package/dist/modes/rpc/session-binding.d.ts.map +1 -0
  342. package/dist/modes/rpc/session-binding.js +33 -0
  343. package/dist/modes/rpc/session-binding.js.map +1 -0
  344. package/dist/modes/rpc/session-command-router.d.ts +19 -0
  345. package/dist/modes/rpc/session-command-router.d.ts.map +1 -0
  346. package/dist/modes/rpc/session-command-router.js +159 -0
  347. package/dist/modes/rpc/session-command-router.js.map +1 -0
  348. package/dist/modes/rpc/session-event-writer.d.ts +34 -0
  349. package/dist/modes/rpc/session-event-writer.d.ts.map +1 -0
  350. package/dist/modes/rpc/session-event-writer.js +92 -0
  351. package/dist/modes/rpc/session-event-writer.js.map +1 -0
  352. package/dist/modes/rpc/session-extension-ui-requests.d.ts +15 -0
  353. package/dist/modes/rpc/session-extension-ui-requests.d.ts.map +1 -0
  354. package/dist/modes/rpc/session-extension-ui-requests.js +27 -0
  355. package/dist/modes/rpc/session-extension-ui-requests.js.map +1 -0
  356. package/dist/modes/rpc/session-registry.d.ts +58 -0
  357. package/dist/modes/rpc/session-registry.d.ts.map +1 -0
  358. package/dist/modes/rpc/session-registry.js +162 -0
  359. package/dist/modes/rpc/session-registry.js.map +1 -0
  360. package/dist/package-manager-cli.d.ts.map +1 -1
  361. package/dist/package-manager-cli.js +11 -0
  362. package/dist/package-manager-cli.js.map +1 -1
  363. package/dist/utils/clipboard.d.ts.map +1 -1
  364. package/dist/utils/clipboard.js +19 -8
  365. package/dist/utils/clipboard.js.map +1 -1
  366. package/dist/utils/version-check.d.ts.map +1 -1
  367. package/dist/utils/version-check.js +3 -1
  368. package/dist/utils/version-check.js.map +1 -1
  369. package/docs/app-server-daemon.md +3 -2
  370. package/docs/compaction.md +9 -4
  371. package/docs/custom-provider.md +5 -2
  372. package/docs/environment-variables.md +88 -0
  373. package/docs/extensions.md +27 -9
  374. package/docs/index.md +1 -0
  375. package/docs/json.md +5 -1
  376. package/docs/models.md +6 -2
  377. package/docs/providers.md +12 -1
  378. package/docs/rpc.md +154 -8
  379. package/docs/sdk.md +3 -0
  380. package/docs/session-format.md +17 -3
  381. package/docs/settings.md +13 -2
  382. package/docs/usage.md +1 -14
  383. package/examples/extensions/custom-compaction.ts +4 -0
  384. package/examples/extensions/custom-provider-anthropic/package-lock.json +2 -2
  385. package/examples/extensions/custom-provider-anthropic/package.json +1 -1
  386. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  387. package/examples/extensions/gondolin/package-lock.json +2 -2
  388. package/examples/extensions/gondolin/package.json +1 -1
  389. package/examples/extensions/handoff.ts +9 -1
  390. package/examples/extensions/message-renderer.ts +2 -2
  391. package/examples/extensions/sandbox/package-lock.json +2 -2
  392. package/examples/extensions/sandbox/package.json +1 -1
  393. package/examples/extensions/summarize.ts +3 -0
  394. package/examples/extensions/with-deps/package-lock.json +2 -2
  395. package/examples/extensions/with-deps/package.json +1 -1
  396. package/node_modules/@code-yeongyu/senpi-codemode/CHANGELOG.md +36 -0
  397. package/node_modules/@code-yeongyu/senpi-codemode/package.json +3 -3
  398. package/node_modules/@earendil-works/pi-agent-core/README.md +31 -12
  399. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts +4 -4
  400. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.d.ts.map +1 -1
  401. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js +8 -7
  402. package/node_modules/@earendil-works/pi-agent-core/dist/agent-loop.js.map +1 -1
  403. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts +13 -3
  404. package/node_modules/@earendil-works/pi-agent-core/dist/agent.d.ts.map +1 -1
  405. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js +63 -27
  406. package/node_modules/@earendil-works/pi-agent-core/dist/agent.js.map +1 -1
  407. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts +11 -12
  408. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.d.ts.map +1 -1
  409. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js +47 -22
  410. package/node_modules/@earendil-works/pi-agent-core/dist/harness/agent-harness.js.map +1 -1
  411. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts +5 -1
  412. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.d.ts.map +1 -1
  413. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js +6 -8
  414. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/branch-summarization.js.map +1 -1
  415. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts +17 -5
  416. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.d.ts.map +1 -1
  417. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js +82 -27
  418. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/compaction.js.map +1 -1
  419. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts +12 -1
  420. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.d.ts.map +1 -1
  421. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js +22 -17
  422. package/node_modules/@earendil-works/pi-agent-core/dist/harness/compaction/utils.js.map +1 -1
  423. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts +3 -9
  424. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.d.ts.map +1 -1
  425. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js +118 -11
  426. package/node_modules/@earendil-works/pi-agent-core/dist/harness/env/nodejs.js.map +1 -1
  427. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts +11 -3
  428. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.d.ts.map +1 -1
  429. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js +56 -4
  430. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/jsonl-storage.js.map +1 -1
  431. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts +11 -3
  432. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.d.ts.map +1 -1
  433. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js +56 -4
  434. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/memory-storage.js.map +1 -1
  435. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.d.ts.map +1 -1
  436. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js +2 -2
  437. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/repo-utils.js.map +1 -1
  438. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts +6 -4
  439. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.d.ts.map +1 -1
  440. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js +30 -14
  441. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/session.js.map +1 -1
  442. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.d.ts +27 -0
  443. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.d.ts.map +1 -0
  444. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.js +132 -0
  445. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/bash.js.map +1 -0
  446. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.d.ts +89 -0
  447. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.d.ts.map +1 -0
  448. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.js +386 -0
  449. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit-diff.js.map +1 -0
  450. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts +19 -0
  451. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.d.ts.map +1 -0
  452. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js +95 -0
  453. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/edit.js.map +1 -0
  454. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.d.ts +4 -0
  455. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.d.ts.map +1 -0
  456. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.js +46 -0
  457. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/file-mutation-queue.js.map +1 -0
  458. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.d.ts +3 -0
  459. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.d.ts.map +1 -0
  460. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.js +106 -0
  461. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/image.js.map +1 -0
  462. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.d.ts +6 -0
  463. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.d.ts.map +1 -0
  464. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.js +5 -0
  465. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/index.js.map +1 -0
  466. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.d.ts +4 -0
  467. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.d.ts.map +1 -0
  468. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.js +26 -0
  469. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/path-utils.js.map +1 -0
  470. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.d.ts +34 -0
  471. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.d.ts.map +1 -0
  472. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.js +110 -0
  473. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/read.js.map +1 -0
  474. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.d.ts +6 -0
  475. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.d.ts.map +1 -0
  476. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.js +2 -0
  477. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/tool-context.js.map +1 -0
  478. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.d.ts +11 -0
  479. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.d.ts.map +1 -0
  480. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js +31 -0
  481. package/node_modules/@earendil-works/pi-agent-core/dist/harness/tools/write.js.map +1 -0
  482. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts +80 -18
  483. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.d.ts.map +1 -1
  484. package/node_modules/@earendil-works/pi-agent-core/dist/harness/types.js.map +1 -1
  485. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts +12 -4
  486. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.d.ts.map +1 -1
  487. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js +90 -35
  488. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/shell-output.js.map +1 -1
  489. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.d.ts.map +1 -1
  490. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js +10 -4
  491. package/node_modules/@earendil-works/pi-agent-core/dist/harness/utils/truncate.js.map +1 -1
  492. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts +4 -2
  493. package/node_modules/@earendil-works/pi-agent-core/dist/index.d.ts.map +1 -1
  494. package/node_modules/@earendil-works/pi-agent-core/dist/index.js +5 -2
  495. package/node_modules/@earendil-works/pi-agent-core/dist/index.js.map +1 -1
  496. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts +10 -0
  497. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.d.ts.map +1 -0
  498. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js +17 -0
  499. package/node_modules/@earendil-works/pi-agent-core/dist/stream-fn.js.map +1 -0
  500. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts +8 -2
  501. package/node_modules/@earendil-works/pi-agent-core/dist/types.d.ts.map +1 -1
  502. package/node_modules/@earendil-works/pi-agent-core/dist/types.js.map +1 -1
  503. package/node_modules/@earendil-works/pi-agent-core/package.json +4 -3
  504. package/node_modules/@earendil-works/pi-ai/README.md +44 -4
  505. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.d.ts.map +1 -1
  506. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js +130 -47
  507. package/node_modules/@earendil-works/pi-ai/dist/api/anthropic-messages.js.map +1 -1
  508. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.d.ts.map +1 -1
  509. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js +36 -15
  510. package/node_modules/@earendil-works/pi-ai/dist/api/azure-openai-responses.js.map +1 -1
  511. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.d.ts.map +1 -1
  512. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js +55 -26
  513. package/node_modules/@earendil-works/pi-ai/dist/api/bedrock-converse-stream.js.map +1 -1
  514. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.d.ts +17 -0
  515. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.d.ts.map +1 -0
  516. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js +104 -0
  517. package/node_modules/@earendil-works/pi-ai/dist/api/constrained-sampling.js.map +1 -0
  518. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.d.ts.map +1 -1
  519. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js +16 -13
  520. package/node_modules/@earendil-works/pi-ai/dist/api/google-generative-ai.js.map +1 -1
  521. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts +4 -3
  522. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.d.ts.map +1 -1
  523. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js +17 -3
  524. package/node_modules/@earendil-works/pi-ai/dist/api/google-shared.js.map +1 -1
  525. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.d.ts.map +1 -1
  526. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js +19 -13
  527. package/node_modules/@earendil-works/pi-ai/dist/api/google-vertex.js.map +1 -1
  528. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.d.ts.map +1 -1
  529. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js +13 -9
  530. package/node_modules/@earendil-works/pi-ai/dist/api/mistral-conversations.js.map +1 -1
  531. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.d.ts.map +1 -1
  532. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js +92 -58
  533. package/node_modules/@earendil-works/pi-ai/dist/api/openai-codex-responses.js.map +1 -1
  534. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts +7 -9
  535. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.d.ts.map +1 -1
  536. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js +263 -56
  537. package/node_modules/@earendil-works/pi-ai/dist/api/openai-completions.js.map +1 -1
  538. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts +7 -0
  539. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.d.ts.map +1 -1
  540. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js +180 -80
  541. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses-shared.js.map +1 -1
  542. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.d.ts.map +1 -1
  543. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js +48 -21
  544. package/node_modules/@earendil-works/pi-ai/dist/api/openai-responses.js.map +1 -1
  545. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.d.ts.map +1 -1
  546. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js +8 -3
  547. package/node_modules/@earendil-works/pi-ai/dist/api/openrouter-images.js.map +1 -1
  548. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.d.ts.map +1 -1
  549. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js +2 -4
  550. package/node_modules/@earendil-works/pi-ai/dist/api/pi-messages.js.map +1 -1
  551. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.d.ts.map +1 -1
  552. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js +1 -0
  553. package/node_modules/@earendil-works/pi-ai/dist/api/simple-options.js.map +1 -1
  554. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts +15 -0
  555. package/node_modules/@earendil-works/pi-ai/dist/api-registry.d.ts.map +1 -1
  556. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js +52 -6
  557. package/node_modules/@earendil-works/pi-ai/dist/api-registry.js.map +1 -1
  558. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.d.ts.map +1 -1
  559. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js +3 -2
  560. package/node_modules/@earendil-works/pi-ai/dist/auth/helpers.js.map +1 -1
  561. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts +10 -0
  562. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.d.ts.map +1 -0
  563. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js +249 -0
  564. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/kimi-coding.js.map +1 -0
  565. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts +4 -0
  566. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.d.ts.map +1 -1
  567. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js +10 -0
  568. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/load.js.map +1 -1
  569. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.d.ts.map +1 -1
  570. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js +2 -18
  571. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openai-codex.js.map +1 -1
  572. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.d.ts +13 -0
  573. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.d.ts.map +1 -0
  574. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js +222 -0
  575. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/openrouter.js.map +1 -0
  576. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.d.ts +3 -2
  577. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.d.ts.map +1 -1
  578. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.js +37 -35
  579. package/node_modules/@earendil-works/pi-ai/dist/auth/oauth/radius.js.map +1 -1
  580. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.d.ts.map +1 -1
  581. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js +11 -1
  582. package/node_modules/@earendil-works/pi-ai/dist/auth/resolve.js.map +1 -1
  583. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.d.ts.map +1 -1
  584. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.js +4 -0
  585. package/node_modules/@earendil-works/pi-ai/dist/bun-oauth.js.map +1 -1
  586. package/node_modules/@earendil-works/pi-ai/dist/compat.d.ts.map +1 -1
  587. package/node_modules/@earendil-works/pi-ai/dist/compat.js +2 -1
  588. package/node_modules/@earendil-works/pi-ai/dist/compat.js.map +1 -1
  589. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.d.ts +16 -0
  590. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.d.ts.map +1 -0
  591. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.js +32 -0
  592. package/node_modules/@earendil-works/pi-ai/dist/context-provenance.js.map +1 -0
  593. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts +3 -0
  594. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.d.ts.map +1 -1
  595. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js +11 -3
  596. package/node_modules/@earendil-works/pi-ai/dist/env-api-keys.js.map +1 -1
  597. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts +15 -0
  598. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.d.ts.map +1 -1
  599. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js +15 -0
  600. package/node_modules/@earendil-works/pi-ai/dist/image-models.generated.js.map +1 -1
  601. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts +19 -2
  602. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.d.ts.map +1 -1
  603. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js +68 -3
  604. package/node_modules/@earendil-works/pi-ai/dist/images-api-registry.js.map +1 -1
  605. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts +6 -0
  606. package/node_modules/@earendil-works/pi-ai/dist/index.d.ts.map +1 -1
  607. package/node_modules/@earendil-works/pi-ai/dist/index.js +6 -0
  608. package/node_modules/@earendil-works/pi-ai/dist/index.js.map +1 -1
  609. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.d.ts +17 -0
  610. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.d.ts.map +1 -0
  611. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.js +4 -0
  612. package/node_modules/@earendil-works/pi-ai/dist/model-catalog.js.map +1 -0
  613. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts +2 -2
  614. package/node_modules/@earendil-works/pi-ai/dist/model.d.ts.map +1 -1
  615. package/node_modules/@earendil-works/pi-ai/dist/model.js.map +1 -1
  616. package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts +7 -0
  617. package/node_modules/@earendil-works/pi-ai/dist/models-store.d.ts.map +1 -1
  618. package/node_modules/@earendil-works/pi-ai/dist/models-store.js.map +1 -1
  619. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts +0 -6
  620. package/node_modules/@earendil-works/pi-ai/dist/models.d.ts.map +1 -1
  621. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts +76 -4448
  622. package/node_modules/@earendil-works/pi-ai/dist/models.generated.d.ts.map +1 -1
  623. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js +4 -0
  624. package/node_modules/@earendil-works/pi-ai/dist/models.generated.js.map +1 -1
  625. package/node_modules/@earendil-works/pi-ai/dist/models.js +5 -54
  626. package/node_modules/@earendil-works/pi-ai/dist/models.js.map +1 -1
  627. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.d.ts +12 -0
  628. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.d.ts.map +1 -0
  629. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.js +34 -0
  630. package/node_modules/@earendil-works/pi-ai/dist/node/provider-scope.js.map +1 -0
  631. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.d.ts +3 -63
  632. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.d.ts.map +1 -1
  633. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.js +2 -1
  634. package/node_modules/@earendil-works/pi-ai/dist/providers/alibaba-token-plan.models.js.map +1 -1
  635. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts +2 -0
  636. package/node_modules/@earendil-works/pi-ai/dist/providers/all.d.ts.map +1 -1
  637. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js +10 -0
  638. package/node_modules/@earendil-works/pi-ai/dist/providers/all.js.map +1 -1
  639. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.d.ts.map +1 -1
  640. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js +3 -2
  641. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.js.map +1 -1
  642. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts +3 -439
  643. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.d.ts.map +1 -1
  644. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js +2 -1
  645. package/node_modules/@earendil-works/pi-ai/dist/providers/amazon-bedrock.models.js.map +1 -1
  646. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.d.ts +3 -15
  647. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.d.ts.map +1 -1
  648. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js +2 -1
  649. package/node_modules/@earendil-works/pi-ai/dist/providers/ant-ling.models.js.map +1 -1
  650. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.d.ts.map +1 -1
  651. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js +30 -3
  652. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.js.map +1 -1
  653. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts +3 -59
  654. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.d.ts.map +1 -1
  655. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js +2 -1
  656. package/node_modules/@earendil-works/pi-ai/dist/providers/anthropic.models.js.map +1 -1
  657. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts +3 -187
  658. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.d.ts.map +1 -1
  659. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js +2 -1
  660. package/node_modules/@earendil-works/pi-ai/dist/providers/azure-openai-responses.models.js.map +1 -1
  661. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts +3 -15
  662. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.d.ts.map +1 -1
  663. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js +2 -1
  664. package/node_modules/@earendil-works/pi-ai/dist/providers/cerebras.models.js.map +1 -1
  665. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts +3 -171
  666. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.d.ts.map +1 -1
  667. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js +2 -1
  668. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-ai-gateway.models.js.map +1 -1
  669. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.d.ts +3 -55
  670. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.d.ts.map +1 -1
  671. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js +2 -1
  672. package/node_modules/@earendil-works/pi-ai/dist/providers/cloudflare-workers-ai.models.js.map +1 -1
  673. package/node_modules/@earendil-works/pi-ai/dist/providers/data/.manifest.json +1 -0
  674. package/node_modules/@earendil-works/pi-ai/dist/providers/data/alibaba-token-plan.json +1 -1
  675. package/node_modules/@earendil-works/pi-ai/dist/providers/data/amazon-bedrock.json +1 -1
  676. package/node_modules/@earendil-works/pi-ai/dist/providers/data/ant-ling.json +1 -1
  677. package/node_modules/@earendil-works/pi-ai/dist/providers/data/anthropic.json +1 -1
  678. package/node_modules/@earendil-works/pi-ai/dist/providers/data/azure-openai-responses.json +1 -1
  679. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cerebras.json +1 -1
  680. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-ai-gateway.json +1 -1
  681. package/node_modules/@earendil-works/pi-ai/dist/providers/data/cloudflare-workers-ai.json +1 -1
  682. package/node_modules/@earendil-works/pi-ai/dist/providers/data/deepseek.json +1 -1
  683. package/node_modules/@earendil-works/pi-ai/dist/providers/data/fireworks.json +1 -1
  684. package/node_modules/@earendil-works/pi-ai/dist/providers/data/github-copilot.json +1 -1
  685. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google-vertex.json +1 -1
  686. package/node_modules/@earendil-works/pi-ai/dist/providers/data/google.json +1 -1
  687. package/node_modules/@earendil-works/pi-ai/dist/providers/data/groq.json +1 -1
  688. package/node_modules/@earendil-works/pi-ai/dist/providers/data/huggingface.json +1 -1
  689. package/node_modules/@earendil-works/pi-ai/dist/providers/data/kimi-coding.json +1 -1
  690. package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax-cn.json +1 -1
  691. package/node_modules/@earendil-works/pi-ai/dist/providers/data/minimax.json +1 -1
  692. package/node_modules/@earendil-works/pi-ai/dist/providers/data/mistral.json +1 -1
  693. package/node_modules/@earendil-works/pi-ai/dist/providers/data/moonshotai-cn.json +1 -1
  694. package/node_modules/@earendil-works/pi-ai/dist/providers/data/moonshotai.json +1 -1
  695. package/node_modules/@earendil-works/pi-ai/dist/providers/data/nvidia.json +1 -1
  696. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai-codex.json +1 -1
  697. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openai.json +1 -1
  698. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode-go.json +1 -1
  699. package/node_modules/@earendil-works/pi-ai/dist/providers/data/opencode.json +1 -1
  700. package/node_modules/@earendil-works/pi-ai/dist/providers/data/openrouter.json +1 -1
  701. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan-cn.json +1 -0
  702. package/node_modules/@earendil-works/pi-ai/dist/providers/data/qwen-token-plan.json +1 -0
  703. package/node_modules/@earendil-works/pi-ai/dist/providers/data/together.json +1 -1
  704. package/node_modules/@earendil-works/pi-ai/dist/providers/data/vercel-ai-gateway.json +1 -1
  705. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xai.json +1 -1
  706. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-ams.json +1 -1
  707. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-cn.json +1 -1
  708. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi-token-plan-sgp.json +1 -1
  709. package/node_modules/@earendil-works/pi-ai/dist/providers/data/xiaomi.json +1 -1
  710. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai-coding-cn.json +1 -1
  711. package/node_modules/@earendil-works/pi-ai/dist/providers/data/zai.json +1 -1
  712. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts +3 -11
  713. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.d.ts.map +1 -1
  714. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js +2 -1
  715. package/node_modules/@earendil-works/pi-ai/dist/providers/deepseek.models.js.map +1 -1
  716. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts +3 -67
  717. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.d.ts.map +1 -1
  718. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js +2 -1
  719. package/node_modules/@earendil-works/pi-ai/dist/providers/fireworks.models.js.map +1 -1
  720. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts +3 -115
  721. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.d.ts.map +1 -1
  722. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js +2 -1
  723. package/node_modules/@earendil-works/pi-ai/dist/providers/github-copilot.models.js.map +1 -1
  724. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.d.ts +3 -51
  725. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.d.ts.map +1 -1
  726. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js +2 -1
  727. package/node_modules/@earendil-works/pi-ai/dist/providers/google-vertex.models.js.map +1 -1
  728. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.d.ts +3 -75
  729. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.d.ts.map +1 -1
  730. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.js +2 -1
  731. package/node_modules/@earendil-works/pi-ai/dist/providers/google.models.js.map +1 -1
  732. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.d.ts +3 -31
  733. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.d.ts.map +1 -1
  734. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js +2 -1
  735. package/node_modules/@earendil-works/pi-ai/dist/providers/groq.models.js.map +1 -1
  736. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.d.ts +3 -203
  737. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.d.ts.map +1 -1
  738. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js +2 -1
  739. package/node_modules/@earendil-works/pi-ai/dist/providers/huggingface.models.js.map +1 -1
  740. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js +2 -2
  741. package/node_modules/@earendil-works/pi-ai/dist/providers/images/register-builtins.js.map +1 -1
  742. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.d.ts.map +1 -1
  743. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js +10 -2
  744. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.js.map +1 -1
  745. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts +3 -19
  746. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.d.ts.map +1 -1
  747. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js +2 -1
  748. package/node_modules/@earendil-works/pi-ai/dist/providers/kimi-coding.models.js.map +1 -1
  749. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.d.ts +3 -15
  750. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.d.ts.map +1 -1
  751. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js +2 -1
  752. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax-cn.models.js.map +1 -1
  753. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.d.ts +3 -15
  754. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.d.ts.map +1 -1
  755. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js +2 -1
  756. package/node_modules/@earendil-works/pi-ai/dist/providers/minimax.models.js.map +1 -1
  757. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.d.ts +3 -123
  758. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.d.ts.map +1 -1
  759. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js +2 -1
  760. package/node_modules/@earendil-works/pi-ai/dist/providers/mistral.models.js.map +1 -1
  761. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.d.ts +3 -43
  762. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.d.ts.map +1 -1
  763. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js +2 -1
  764. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai-cn.models.js.map +1 -1
  765. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.d.ts +3 -43
  766. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.d.ts.map +1 -1
  767. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js +2 -1
  768. package/node_modules/@earendil-works/pi-ai/dist/providers/moonshotai.models.js.map +1 -1
  769. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts +3 -79
  770. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.d.ts.map +1 -1
  771. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js +2 -1
  772. package/node_modules/@earendil-works/pi-ai/dist/providers/nvidia.models.js.map +1 -1
  773. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts +3 -31
  774. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.d.ts.map +1 -1
  775. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js +2 -1
  776. package/node_modules/@earendil-works/pi-ai/dist/providers/openai-codex.models.js.map +1 -1
  777. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts +3 -187
  778. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.d.ts.map +1 -1
  779. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js +2 -1
  780. package/node_modules/@earendil-works/pi-ai/dist/providers/openai.models.js.map +1 -1
  781. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts +3 -67
  782. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.d.ts.map +1 -1
  783. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js +2 -1
  784. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode-go.models.js.map +1 -1
  785. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts +3 -227
  786. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.d.ts.map +1 -1
  787. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js +2 -1
  788. package/node_modules/@earendil-works/pi-ai/dist/providers/opencode.models.js.map +1 -1
  789. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.d.ts.map +1 -1
  790. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js +10 -2
  791. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter-images.js.map +1 -1
  792. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.d.ts.map +1 -1
  793. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js +10 -2
  794. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.js.map +1 -1
  795. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts +3 -1095
  796. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.d.ts.map +1 -1
  797. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js +2 -1
  798. package/node_modules/@earendil-works/pi-ai/dist/providers/openrouter.models.js.map +1 -1
  799. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.d.ts +3 -0
  800. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.d.ts.map +1 -0
  801. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.js +15 -0
  802. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.js.map +1 -0
  803. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.d.ts +4 -0
  804. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.d.ts.map +1 -0
  805. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.js +6 -0
  806. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan-cn.models.js.map +1 -0
  807. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.d.ts +3 -0
  808. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.d.ts.map +1 -0
  809. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.js +15 -0
  810. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.js.map +1 -0
  811. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.d.ts +4 -0
  812. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.d.ts.map +1 -0
  813. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.js +6 -0
  814. package/node_modules/@earendil-works/pi-ai/dist/providers/qwen-token-plan.models.js.map +1 -0
  815. package/node_modules/@earendil-works/pi-ai/dist/providers/radius-config.d.ts.map +1 -1
  816. package/node_modules/@earendil-works/pi-ai/dist/providers/radius-config.js +18 -14
  817. package/node_modules/@earendil-works/pi-ai/dist/providers/radius-config.js.map +1 -1
  818. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.d.ts +3 -67
  819. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.d.ts.map +1 -1
  820. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js +2 -1
  821. package/node_modules/@earendil-works/pi-ai/dist/providers/together.models.js.map +1 -1
  822. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts +3 -775
  823. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.d.ts.map +1 -1
  824. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js +2 -1
  825. package/node_modules/@earendil-works/pi-ai/dist/providers/vercel-ai-gateway.models.js.map +1 -1
  826. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.d.ts +3 -15
  827. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.d.ts.map +1 -1
  828. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js +2 -1
  829. package/node_modules/@earendil-works/pi-ai/dist/providers/xai.models.js.map +1 -1
  830. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts +3 -15
  831. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.d.ts.map +1 -1
  832. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js +2 -1
  833. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-ams.models.js.map +1 -1
  834. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts +3 -15
  835. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.d.ts.map +1 -1
  836. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js +2 -1
  837. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-cn.models.js.map +1 -1
  838. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts +3 -15
  839. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.d.ts.map +1 -1
  840. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js +2 -1
  841. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi-token-plan-sgp.models.js.map +1 -1
  842. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.d.ts +3 -27
  843. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.d.ts.map +1 -1
  844. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js +2 -1
  845. package/node_modules/@earendil-works/pi-ai/dist/providers/xiaomi.models.js.map +1 -1
  846. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts +3 -27
  847. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.d.ts.map +1 -1
  848. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js +2 -1
  849. package/node_modules/@earendil-works/pi-ai/dist/providers/zai-coding-cn.models.js.map +1 -1
  850. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts +3 -27
  851. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.d.ts.map +1 -1
  852. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js +2 -1
  853. package/node_modules/@earendil-works/pi-ai/dist/providers/zai.models.js.map +1 -1
  854. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts +52 -3
  855. package/node_modules/@earendil-works/pi-ai/dist/types.d.ts.map +1 -1
  856. package/node_modules/@earendil-works/pi-ai/dist/types.js.map +1 -1
  857. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.d.ts.map +1 -1
  858. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js +8 -3
  859. package/node_modules/@earendil-works/pi-ai/dist/utils/error-body.js.map +1 -1
  860. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.d.ts +11 -0
  861. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.d.ts.map +1 -0
  862. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.js +30 -0
  863. package/node_modules/@earendil-works/pi-ai/dist/utils/openai-codex-auth.js.map +1 -0
  864. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts +1 -0
  865. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.d.ts.map +1 -1
  866. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js +3 -0
  867. package/node_modules/@earendil-works/pi-ai/dist/utils/overflow.js.map +1 -1
  868. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.d.ts +16 -0
  869. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.d.ts.map +1 -0
  870. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js +94 -0
  871. package/node_modules/@earendil-works/pi-ai/dist/utils/provider-retry.js.map +1 -0
  872. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts +41 -0
  873. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.d.ts.map +1 -1
  874. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js +82 -0
  875. package/node_modules/@earendil-works/pi-ai/dist/utils/retry.js.map +1 -1
  876. package/node_modules/@earendil-works/pi-ai/dist/utils/server-fallback-receipt.d.ts +30 -0
  877. package/node_modules/@earendil-works/pi-ai/dist/utils/server-fallback-receipt.d.ts.map +1 -0
  878. package/node_modules/@earendil-works/pi-ai/dist/utils/server-fallback-receipt.js +70 -0
  879. package/node_modules/@earendil-works/pi-ai/dist/utils/server-fallback-receipt.js.map +1 -0
  880. package/node_modules/@earendil-works/pi-ai/dist/utils/text.d.ts +6 -0
  881. package/node_modules/@earendil-works/pi-ai/dist/utils/text.d.ts.map +1 -0
  882. package/node_modules/@earendil-works/pi-ai/dist/utils/text.js +10 -0
  883. package/node_modules/@earendil-works/pi-ai/dist/utils/text.js.map +1 -0
  884. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.d.ts +3 -0
  885. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.d.ts.map +1 -0
  886. package/node_modules/@earendil-works/{pi-agent-core/dist/harness/session → pi-ai/dist/utils}/uuid.js +2 -2
  887. package/node_modules/@earendil-works/pi-ai/dist/utils/uuid.js.map +1 -0
  888. package/node_modules/@earendil-works/pi-ai/package.json +11 -4
  889. package/node_modules/@earendil-works/pi-pty/package.json +1 -1
  890. package/node_modules/@earendil-works/pi-tui/dist/components/editor.d.ts.map +1 -1
  891. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js +31 -22
  892. package/node_modules/@earendil-works/pi-tui/dist/components/editor.js.map +1 -1
  893. package/node_modules/@earendil-works/pi-tui/dist/tui.d.ts.map +1 -1
  894. package/node_modules/@earendil-works/pi-tui/dist/tui.js +2 -0
  895. package/node_modules/@earendil-works/pi-tui/dist/tui.js.map +1 -1
  896. package/node_modules/@earendil-works/pi-tui/package.json +1 -1
  897. package/package.json +7 -10
  898. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts +0 -2
  899. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.d.ts.map +0 -1
  900. package/node_modules/@earendil-works/pi-agent-core/dist/harness/session/uuid.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,163 @@
1
1
  # Changelog
2
2
 
3
+ ## [2026.7.25-2] - 2026-07-25
4
+
5
+ ### New Features
6
+
7
+ - **Claude Opus 5** — Available on Anthropic and Amazon Bedrock with adaptive thinking (including `xhigh`), inference profiles, and prompt caching. See [Providers](docs/providers.md#api-keys).
8
+ - **Anthropic gateway bearer auth** — `ANTHROPIC_AUTH_TOKEN` authenticates against Anthropic-compatible gateways that require `Authorization: Bearer`, including compaction and branch summaries. See [Environment Variables or Auth File](docs/providers.md#environment-variables-or-auth-file).
9
+ - **Faster, more resilient model catalogs** — pi.dev catalogs revalidate with `If-None-Match` so unchanged providers answer with an empty `304`, and llama.cpp models stay listed across restarts. See [llama.cpp](docs/llama-cpp.md).
10
+
11
+ ### Breaking Changes
12
+
13
+ ### Added
14
+
15
+ - Exposed the `outputPad` setting to custom message renderers. See [Extensions](docs/extensions.md) ([#7045](https://github.com/earendil-works/pi/pull/7045) by [@xl0](https://github.com/xl0)).
16
+ - Added inherited `ANTHROPIC_AUTH_TOKEN` bearer authentication for Anthropic-compatible gateways. See [Providers](docs/providers.md#environment-variables-or-auth-file) ([#5871](https://github.com/earendil-works/pi/issues/5871)).
17
+ - Added inherited Claude Opus 5 support for Anthropic and Amazon Bedrock with adaptive thinking, inference profiles, prompt caching, and preserved AWS validation messages ([#7081](https://github.com/earendil-works/pi/pull/7081) by [@unexge](https://github.com/unexge), [#7083](https://github.com/earendil-works/pi/pull/7083) by [@davidbrai](https://github.com/davidbrai)).
18
+
19
+ ### Changed
20
+
21
+ - Changed pi.dev model catalog refreshes to revalidate with `If-None-Match`, so unchanged provider catalogs answer with an empty `304` instead of a full download.
22
+ - Changed inherited Radius OAuth device authorization, token exchange, and refresh requests to use the configured gateway directly.
23
+ - Changed inherited model loading errors to append the underlying cause, so auth failures such as `OAuth refresh failed for openai-codex` report the provider response instead of a bare wrapper message.
24
+
25
+ ### Fixed
26
+
27
+ - Fixed startup context file discovery to skip directories that match context file names such as `AGENTS.md`, which produced `EISDIR` warnings ([#7106](https://github.com/earendil-works/pi/pull/7106) by [@mrexodia](https://github.com/mrexodia)).
28
+ - Fixed the llama.cpp extension to persist its model catalog, so llama.cpp models stay listed before the first successful refresh. See [llama.cpp](docs/llama-cpp.md) ([#7072](https://github.com/earendil-works/pi/pull/7072) by [@davidbrai](https://github.com/davidbrai)).
29
+
30
+ ### Removed
31
+
32
+ ## [2026.7.25] - 2026-07-25
33
+
34
+ ### Breaking Changes
35
+
36
+ ### Added
37
+
38
+ ### Changed
39
+
40
+ ### Fixed
41
+
42
+ - Fixed npm installs on non-Linux x64 platforms by keeping platform-constrained native packages out of bundled dependencies ([#343](https://github.com/code-yeongyu/senpi/pull/343) by [@realsigridjin](https://github.com/realsigridjin)).
43
+
44
+ ### Removed
45
+
46
+ ## [2026.7.24] - 2026-07-24
47
+
48
+ ### Breaking Changes
49
+
50
+ ### Added
51
+
52
+ ### Changed
53
+
54
+ ### Fixed
55
+
56
+ - Fixed compaction and branch summaries for providers whose authentication resolves entirely to request headers ([#5871](https://github.com/earendil-works/pi/issues/5871))
57
+
58
+ ### Removed
59
+
60
+ ## [0.82.0] - 2026-07-24
61
+
62
+ ### New Features
63
+
64
+ - **Constrained tool sampling** — Tools can prefer or require strict JSON Schema sampling or use OpenAI Lark/regex grammars, with model capability metadata preventing unsupported requests. See [Constrained Sampling for Tools](../ai/README.md#constrained-sampling-for-tools).
65
+ - **OpenRouter and Kimi Code sign-in** — Use `/login` to authorize OpenRouter or a Kimi Code subscription without manually configuring API keys. See [OpenRouter](docs/providers.md#openrouter).
66
+ - **Session-aware, streaming bash integrations** — Bash tools receive current session/model metadata, while direct RPC bash commands stream correlated output. See [Bash Tool Session Environment](docs/environment-variables.md#bash-tool-session-environment) and [RPC bash events](docs/rpc.md#bash_execution_update).
67
+
68
+ ### Added
69
+
70
+ - Added inherited `Tool.constrainedSampling` with strict JSON Schema (`prefer`/`require`) and OpenAI Lark/regex grammar variants across OpenAI, Anthropic, Amazon Bedrock, Google Gemini, and Mistral. See [Constrained Sampling for Tools](../ai/README.md#constrained-sampling-for-tools).
71
+ - Added inherited `supportsGrammarTools` and `supportsStrictTools` compatibility flags, expanded `supportsStrictMode` coverage, and generated model capability metadata to gate constrained sampling.
72
+ - Added inherited Kimi Code subscription OAuth login for the Kimi For Coding provider, including device authorization and automatic token refresh ([#6935](https://github.com/earendil-works/pi/pull/6935) by [@zaycruz](https://github.com/zaycruz)).
73
+ - Added inherited OpenRouter OAuth PKCE login through `/login`, minting a user-controlled API key. See [OpenRouter](docs/providers.md#openrouter) ([#6927](https://github.com/earendil-works/pi/pull/6927) by [@rsaryev](https://github.com/rsaryev)).
74
+ - Exposed `PI_SESSION_ID`, `PI_SESSION_FILE`, `PI_PROVIDER`, `PI_MODEL`, and `PI_REASONING_LEVEL` to commands run by built-in and factory-created bash tools. See [Bash Tool Session Environment](docs/environment-variables.md#bash-tool-session-environment).
75
+ - Added streaming `bash_execution_update` events for direct RPC bash commands, correlated with request IDs. See [RPC bash events](docs/rpc.md#bash_execution_update) ([#6971](https://github.com/earendil-works/pi/pull/6971) by [@ananthakumaran](https://github.com/ananthakumaran)).
76
+
77
+ ### Changed
78
+
79
+ - Changed inherited generated model catalogs to expose only provider-verified reasoning effort levels from models.dev ([#6928](https://github.com/earendil-works/pi/pull/6928) by [@davidbrai](https://github.com/davidbrai)).
80
+
81
+ ### Fixed
82
+
83
+ - Fixed inherited DNS lookup failures such as `getaddrinfo`, `ENOTFOUND`, and `EAI_AGAIN` to trigger automatic assistant retries ([#6946](https://github.com/earendil-works/pi/pull/6946) by [@christianklotz](https://github.com/christianklotz)).
84
+ - Fixed inherited OpenRouter Anthropic cache breakpoints to advance through tool results and enabled cache control for `~anthropic/*-latest` aliases ([#6941](https://github.com/earendil-works/pi/pull/6941) by [@mteam88](https://github.com/mteam88)).
85
+ - Fixed inherited OpenAI Codex WebSocket sessions to retry once without a missing previous-response continuation after `previous_response_not_found` errors ([#6955](https://github.com/earendil-works/pi/pull/6955) by [@davidbrai](https://github.com/davidbrai)).
86
+ - Fixed TUI debug and crash logs to respect custom agent directories instead of always writing under `~/.pi/agent` ([#6958](https://github.com/earendil-works/pi/pull/6958) by [@davidbrai](https://github.com/davidbrai)).
87
+ - Fixed slow Ctrl+G external-editor startup when the system temporary directory contains many entries ([#6903](https://github.com/earendil-works/pi/pull/6903) by [@christianklotz](https://github.com/christianklotz)).
88
+ - Fixed startup resource display to preserve relative paths for sibling npm extensions loaded by a package ([#6964](https://github.com/earendil-works/pi/pull/6964) by [@davidbrai](https://github.com/davidbrai)).
89
+ - Fixed compaction and branch-summary requests to use fresh routing session IDs with prompt caching disabled where supported ([#6618](https://github.com/earendil-works/pi/pull/6618) by [@tmustier](https://github.com/tmustier)).
90
+ - Fixed explicit self-updates when `PI_SKIP_VERSION_CHECK` is set ([#6977](https://github.com/earendil-works/pi/issues/6977)).
91
+ - Fixed scoped model IDs containing brackets to resolve as literal exact matches before glob matching ([#6210](https://github.com/earendil-works/pi/issues/6210)).
92
+ - Fixed inherited OpenAI and Anthropic provider retry waits to honor abort signals and configured delay limits ([#6980](https://github.com/earendil-works/pi/pull/6980) by [@petrroll](https://github.com/petrroll)).
93
+ - Fixed fresh installs from preferring bundled model catalogs over newer remote catalogs because package file mtimes were newer ([#7016](https://github.com/earendil-works/pi/pull/7016) by [@davidbrai](https://github.com/davidbrai)).
94
+ - Fixed inherited editor scroll indicators overflowing narrow terminals ([#7015](https://github.com/earendil-works/pi/pull/7015) by [@christianklotz](https://github.com/christianklotz)).
95
+ - Fixed llama.cpp models to use the loaded context window as their output token limit instead of capping it at 16K ([#7034](https://github.com/earendil-works/pi/pull/7034) by [@christianklotz](https://github.com/christianklotz)).
96
+ - Fixed release source archives to include the generated provider model data used to build standalone binaries.
97
+ - Updated the packaged `protobufjs` dependency to 7.6.5 to address GHSA-j3f2-48v5-ccww ([#7005](https://github.com/earendil-works/pi/issues/7005)).
98
+ - Fixed `/copy` on Wayland to fall back to X11 or OSC 52 when `wl-copy` fails ([#7009](https://github.com/earendil-works/pi/pull/7009) by [@rkfshakti](https://github.com/rkfshakti)).
99
+ - Fixed `/model` to reload updated `models.json` configuration when opening the model picker ([#6999](https://github.com/earendil-works/pi/issues/6999)).
100
+
101
+ ## [0.81.1] - 2026-07-21
102
+
103
+ ### New Features
104
+
105
+ - **Verifiable release source archives** — GitHub releases now include deterministic, checksummed source archives with instructions for rebuilding standalone binaries. See [Building standalone binaries from release source](../../README.md#building-standalone-binaries-from-release-source).
106
+ - **Resilient compaction and branch summaries** — Transient provider failures now follow the configured retry policy, with retry lifecycle events available to interactive, JSON, RPC, and SDK consumers. See [Compaction & Branch Summarization](docs/compaction.md) and [RPC retry events](docs/rpc.md#summarization_retry_scheduled--summarization_retry_attempt_start--summarization_retry_finished).
107
+
108
+ ### Added
109
+
110
+ - Added deterministic, checksummed source archives to GitHub releases with documented standalone binary rebuild instructions ([#6913](https://github.com/earendil-works/pi/pull/6913) by [@christianklotz](https://github.com/christianklotz)).
111
+
112
+ ### Fixed
113
+
114
+ - Fixed compaction and branch summarization to retry transient provider failures using the configured retry policy, with retry lifecycle events exposed to interactive, JSON, RPC, and SDK consumers ([#6901](https://github.com/earendil-works/pi/pull/6901) by [@davidbrai](https://github.com/davidbrai)).
115
+ - Fixed interactive startup waiting for background model catalog refresh while computing the footer provider count.
116
+ - Restored the default stream fallback for extensions using the pre-0.81 agent-core API ([#6915](https://github.com/earendil-works/pi/issues/6915)).
117
+ - Fixed inherited Kimi K3 models from Moonshot AI and Moonshot AI China to use the OpenAI thinking format and expose reasoning effort support.
118
+
119
+ ## [0.81.0] - 2026-07-21
120
+
121
+ ### New Features
122
+
123
+ - **Local llama.cpp model management** — Connect to a llama.cpp router, search and download Hugging Face models, and explicitly load or unload models with live progress. See [llama.cpp](docs/llama-cpp.md).
124
+ - **Full provider extensions** — Extensions can register complete pi-ai providers with authentication, model refresh, filtering, and custom streaming. See [Register New Provider](docs/custom-provider.md#register-new-provider).
125
+ - **Qwen Token Plan providers** — Use the built-in international and China subscription providers with regional endpoints and API-key authentication. See [API Keys](docs/providers.md#api-keys).
126
+ - **Expanded usage accounting** — Tool, compaction, and branch-summary usage is persisted and included in session totals. See [Compaction & Branch Summarization](docs/compaction.md).
127
+
128
+ ### Added
129
+
130
+ - Added Qwen Token Plan and Qwen Token Plan China to built-in provider setup, default model resolution, and provider documentation ([#6858](https://github.com/earendil-works/pi/pull/6858) by [@QuintinShaw](https://github.com/QuintinShaw)).
131
+ - Added the `get_available_thinking_levels` RPC command and `RpcClient.getAvailableThinkingLevels()` method ([#6865](https://github.com/earendil-works/pi/pull/6865) by [@cristinaponcela](https://github.com/cristinaponcela)).
132
+ - Exported message and tool execution lifecycle event types from the package root ([#6772](https://github.com/earendil-works/pi/pull/6772) by [@davidbrai](https://github.com/davidbrai)).
133
+ - Added built-in llama.cpp router support with `/login` connection setup and `/llama` Hugging Face model search and downloads, explicit loading, unloading, and live progress. See [llama.cpp](docs/llama-cpp.md).
134
+ - Added extension registration for complete pi-ai providers, including native authentication, model refresh, filtering, and streaming behavior.
135
+ - Added usage accounting for tools, compaction, and branch summaries in persisted sessions, footer totals, and session statistics ([#6671](https://github.com/earendil-works/pi/pull/6671) by [@davidbrai](https://github.com/davidbrai)).
136
+
137
+ ### Fixed
138
+
139
+ - Updated the packaged `brace-expansion` dependency to 5.0.7 ([#6896](https://github.com/earendil-works/pi/pull/6896) by [@davidbrai](https://github.com/davidbrai)).
140
+ - Fixed persisted remote model catalogs from overriding newer bundled catalogs after an upgrade.
141
+ - Fixed inherited stored API-key credentials to apply their provider-scoped `env` values, including Amazon Bedrock profiles ([#6864](https://github.com/earendil-works/pi/pull/6864) by [@cristinaponcela](https://github.com/cristinaponcela)).
142
+ - Fixed inherited OpenAI-compatible cross-provider replay to keep tool call IDs unique when multiple calls share a provider call ID ([#6854](https://github.com/earendil-works/pi/pull/6854) by [@cristinaponcela](https://github.com/cristinaponcela)).
143
+ - Fixed inherited Kimi K3 thinking levels to expose low, high, and max, and normalized the `k2p7` alias to `kimi-for-coding`.
144
+ - Fixed inherited OpenCode Go models routed through the OpenAI Responses API.
145
+ - Fixed inherited `pi-ai` package metadata to avoid repeated consumer lockfile changes ([#6812](https://github.com/earendil-works/pi/pull/6812) by [@jmfederico](https://github.com/jmfederico)).
146
+ - Fixed inherited terminal shutdown to clear the editor's inverted software cursor before restoring the hardware cursor ([#6790](https://github.com/earendil-works/pi/pull/6790) by [@dam9000](https://github.com/dam9000)).
147
+ - Fixed inherited ANSI-aware text wrapping to recognize CRLF and CR line endings while preserving styles ([#6764](https://github.com/earendil-works/pi/pull/6764) by [@xz-dev](https://github.com/xz-dev)).
148
+ - Fixed inherited editor paste registry corruption after deleting and undoing paste markers, preventing literal or mismatched paste markers in submitted prompts ([#6844](https://github.com/earendil-works/pi/issues/6844)).
149
+ - Fixed sessionless OpenAI Codex WebSocket requests to use UUIDv7 request IDs ([#6834](https://github.com/earendil-works/pi/pull/6834) by [@xl0](https://github.com/xl0)).
150
+ - Fixed inherited GPT-5.6 Codex models to default to the 272K context window, avoiding automatic long-context pricing ([#6853](https://github.com/earendil-works/pi/pull/6853) by [@aadishv](https://github.com/aadishv)).
151
+ - Fixed messages queued during compaction to preserve steering and follow-up delivery behavior ([#6730](https://github.com/earendil-works/pi/pull/6730) by [@dannote](https://github.com/dannote)).
152
+ - Fixed read tool errors being syntax-highlighted as if they were file contents ([#6731](https://github.com/earendil-works/pi/pull/6731) by [@dannote](https://github.com/dannote)).
153
+ - Fixed llama.cpp router download progress updates and removed redundant wording from model action confirmations.
154
+ - Moved automatic model catalog network refresh out of startup initialization and into the running interactive and RPC modes.
155
+ - Fixed persisted sessions being read and parsed twice when opened, reducing startup latency for large sessions ([#6793](https://github.com/earendil-works/pi/issues/6793)).
156
+ - Fixed prompt-template defaults for all arguments (`${@:-default}` and `${ARGUMENTS:-default}`) ([#6695](https://github.com/earendil-works/pi/issues/6695)).
157
+ - Fixed obsolete custom UI, custom tool, and custom editor examples in the extension documentation ([#6735](https://github.com/earendil-works/pi/issues/6735)).
158
+ - Fixed Kimi Coding sessions to show API-equivalent implied costs with the subscription indicator.
159
+ - Fixed OpenAI Responses early stream endings to trigger automatic retry instead of ending the agent run ([#6727](https://github.com/earendil-works/pi/issues/6727)).
160
+
3
161
  ## [2026.7.23] - 2026-07-23
4
162
 
5
163
  ### Breaking Changes
@@ -49,6 +207,7 @@
49
207
  ### Changed
50
208
 
51
209
  ### Fixed
210
+
52
211
  - Fixed the interactive render hot path re-materializing the entire session every frame: `SessionManager.getEntries()`, no-arg `getBranch()`, and `getSessionName()` are now memoized behind a monotonic mutation counter, eliminating repeated deep copies of large sessions at frame rate.
53
212
  - Fixed OpenAI Responses replay to omit invalid custom tool-call item IDs.
54
213
  - Fixed compaction budgeting and diagnostics, including bounded summary streams and preservation of queued input after failures.
@@ -62,13 +221,16 @@
62
221
  ### Breaking Changes
63
222
 
64
223
  ### Added
224
+
65
225
  - Added configurable per-model retry fallback chains and the `/fallback` command, including scoped cooldowns, automatic primary-model reversion, model-fallback events in RPC/app-server consumers, and interactive fallback status.
66
226
  - Added progress updates that identify the active web-search provider for each attempt.
67
227
 
68
228
  ### Changed
229
+
69
230
  - Abbreviated interactive footer token counts using K/M/B notation.
70
231
 
71
232
  ### Fixed
233
+
72
234
  - Fixed goal token accounting during active turns so `get_goal`, updates, completion, and shutdown checkpoints include streamed usage without double counting or charging usage before a goal was created.
73
235
  - Fixed compaction recovery to preserve queued input and transforms, reject unsafe or oversize compactions visibly, and avoid stale compaction barriers.
74
236
  - Fixed coding-agent model fallback behavior for classifier refusals, hard failures, invalid chains, and self-referential candidates.
@@ -85,17 +247,11 @@
85
247
 
86
248
  - Added a `/todo` command for user-side todo management: view, overlay `edit` (Markdown checklist), `copy`, `export`/`import` (default `TODO.md`), and fuzzy-matched `append`/`start`/`done`/`drop`/`rm`; user edits persist as `senpi.todo-state` entries and notify the agent next turn.
87
249
  - Added `antml` as a valid `compat.toolCallFormat` in custom `models.json` provider and model definitions: ANTML `<function_calls>`/`<invoke>` text-tool protocol with Claude-Code-style failure tolerance.
88
- - Added built-in llama.cpp router support with `/login` connection setup and `/llama` Hugging Face model search and downloads, explicit loading, unloading, and live progress. See [llama.cpp](docs/llama-cpp.md).
89
- - Added extension registration for complete pi-ai providers, including native authentication, model refresh, filtering, and streaming behavior.
90
250
 
91
251
  ### Changed
92
252
 
93
253
  ### Fixed
94
254
 
95
- - Fixed prompt-template defaults for all arguments (`${@:-default}` and `${ARGUMENTS:-default}`) ([#6695](https://github.com/earendil-works/pi/issues/6695)).
96
- - Fixed obsolete custom UI, custom tool, and custom editor examples in the extension documentation ([#6735](https://github.com/earendil-works/pi/issues/6735)).
97
- - Fixed Kimi Coding sessions to show API-equivalent implied costs with the subscription indicator.
98
- - Fixed OpenAI Responses early stream endings to trigger automatic retry instead of ending the agent run ([#6727](https://github.com/earendil-works/pi/issues/6727)).
99
255
  ### Removed
100
256
 
101
257
  ## [2026.7.17-5] - 2026-07-17
package/README.md CHANGED
@@ -153,7 +153,7 @@ The interface from top to bottom:
153
153
  - **Startup header** - Shows shortcuts (`/hotkeys` for all), loaded AGENTS.md files, prompt templates, skills, and extensions
154
154
  - **Messages** - Your messages, assistant responses, tool calls and results, notifications, errors, and extension UI
155
155
  - **Editor** - Where you type; border color indicates thinking level
156
- - **Footer** - Working directory, session name, total token/cache usage (`↑` input, `↓` output, `R` cache read, `W` cache write, `CH` latest cache hit rate), cost, context usage, current model
156
+ - **Footer** - Working directory, session name, total token/cache usage (`↑` input, `↓` output, `R` cache read, `W` cache write, `CH` latest cache hit rate), cost, context usage, current model. Totals include assistant responses, usage reported by tools, and summary generation.
157
157
 
158
158
  The editor can be temporarily replaced by other UI, like built-in `/settings` or custom UI from extensions (e.g., a Q&A tool that lets the user answer model questions in a structured format). [Extensions](#extensions) can also replace the editor, add widgets above/below it, a status line, custom footer, or overlays.
159
159
 
@@ -708,6 +708,7 @@ pi --thinking high "Solve this complex problem"
708
708
 
709
709
  | Variable | Description |
710
710
  |----------|-------------|
711
+ | `PI_CODING_AGENT` | Set to `true` by the CLI and RPC entry points so child processes can detect that they run inside Pi |
711
712
  | `PI_CODING_AGENT_DIR` | Override config directory (default: `~/.pi/agent`) |
712
713
  | `PI_CODING_AGENT_SESSION_DIR` | Override session storage directory (overridden by `--session-dir`) |
713
714
  | `PI_PACKAGE_DIR` | Override package directory (useful for Nix/Guix where store paths tokenize poorly) |
@@ -717,6 +718,18 @@ pi --thinking high "Solve this complex problem"
717
718
  | `PI_CACHE_RETENTION` | Set to `long` for extended prompt cache (Anthropic: 1h, OpenAI: 24h) |
718
719
  | `VISUAL`, `EDITOR` | Fallback external editor for Ctrl+G when `externalEditor` is unset; defaults to Notepad on Windows and `nano` elsewhere |
719
720
 
721
+ Commands run by the LLM-callable bash tool also receive current session metadata:
722
+
723
+ | Variable | Description |
724
+ |----------|-------------|
725
+ | `PI_SESSION_ID` | Current session ID |
726
+ | `PI_SESSION_FILE` | Absolute session JSONL path; unset for ephemeral sessions |
727
+ | `PI_PROVIDER` | Currently selected model provider |
728
+ | `PI_MODEL` | Currently selected model ID |
729
+ | `PI_REASONING_LEVEL` | Current effective reasoning level |
730
+
731
+ These values are resolved when each command starts. See [Environment Variables](docs/environment-variables.md#bash-tool-session-environment) for semantics, examples, and custom-tool opt-out.
732
+
720
733
  ---
721
734
 
722
735
  ## Contributing & Development
@@ -0,0 +1,207 @@
1
+ import type { PackageSource } from "../core/settings-manager.ts";
2
+ /** Result of one spawned command, with output captured and timeout enforced. */
3
+ export interface OmoLocalRunResult {
4
+ code: number | null;
5
+ stdout: string;
6
+ stderr: string;
7
+ timedOut: boolean;
8
+ }
9
+ export interface OmoLocalRunOptions {
10
+ cwd?: string;
11
+ timeoutMs?: number;
12
+ /** Merged over process.env (callers inject the isolated git env from the fixture contract). */
13
+ env?: Record<string, string | undefined>;
14
+ }
15
+ /** exported for tests only */
16
+ export type OmoLocalRun = (command: string, args: string[], options: OmoLocalRunOptions) => Promise<OmoLocalRunResult>;
17
+ /**
18
+ * exported for tests only
19
+ *
20
+ * Shared process seam for the whole module. spawnProcess/waitForChildProcess neither capture
21
+ * output nor enforce timeouts; this adds both. The child is spawned detached on POSIX so it
22
+ * owns a process group, and the timeout kill goes through killProcessTree (SIGKILL to the
23
+ * whole group) - without that, bun/git descendants would keep mutating the build worktree
24
+ * after the direct child died.
25
+ */
26
+ export declare function defaultRun(command: string, args: string[], options: OmoLocalRunOptions): Promise<OmoLocalRunResult>;
27
+ /** exported for tests only */
28
+ export declare function isKillSwitched(env: Record<string, string | undefined>): boolean;
29
+ /** A detected locally-installed OMO plugin and its enclosing omo monorepo checkout. */
30
+ export interface OmoLocalInstall {
31
+ pluginPath: string;
32
+ repoRoot: string;
33
+ }
34
+ /** exported for tests only */
35
+ export interface DetectOmoLocalInstallOptions {
36
+ packages: PackageSource[] | undefined;
37
+ agentDir: string;
38
+ run: OmoLocalRun;
39
+ readJson?: (path: string) => unknown;
40
+ exists?: (path: string) => boolean;
41
+ }
42
+ /**
43
+ * exported for tests only
44
+ *
45
+ * Three-part detection gate (ALL must hold, else silent no-op):
46
+ * 1. A global settings `packages` entry (string or object form) is a local path whose resolved
47
+ * dir's package.json name is `@code-yeongyu/omo-senpi`.
48
+ * 2. The derived repo root (pluginPath/../../..) contains both workspace packages
49
+ * `@oh-my-opencode/omo-senpi` and `@oh-my-opencode/senpi-task`.
50
+ * 3. `git -C <repoRoot> rev-parse --show-toplevel` succeeds AND its canonicalized output equals
51
+ * the canonicalized repo root - a mismatched toplevel would mean the derived root is not
52
+ * the checkout it claims to be.
53
+ */
54
+ export declare function detectOmoLocalInstall(options: DetectOmoLocalInstallOptions): Promise<OmoLocalInstall | undefined>;
55
+ /** State stamp written after a successful install: `<agentDir>/omo-local-update-state.json`. */
56
+ export interface OmoLocalUpdateStamp {
57
+ repoRoot: string;
58
+ /** Frozen origin/dev sha the installed plugin was built from. */
59
+ sha: string;
60
+ /** `git rev-parse origin/dev:packages/omo-senpi` at install time. */
61
+ omoSenpiTree: string;
62
+ /** `git rev-parse origin/dev:packages/senpi-task` at install time. */
63
+ senpiTaskTree: string;
64
+ installedAt: string;
65
+ /** Post-install inventory: relative paths of every installed artifact present at stamp time. */
66
+ artifacts: string[];
67
+ }
68
+ /** exported for tests only */
69
+ export declare function omoLocalUpdateStampPath(agentDir: string): string;
70
+ /** exported for tests only */
71
+ export declare function readStamp(agentDir: string): OmoLocalUpdateStamp | undefined;
72
+ /** exported for tests only */
73
+ export declare function writeStamp(agentDir: string, stamp: OmoLocalUpdateStamp): void;
74
+ /** exported for tests only */
75
+ export interface ShouldSkipUpdateOptions {
76
+ stamp: OmoLocalUpdateStamp | undefined;
77
+ repoRoot: string;
78
+ remoteSha: string;
79
+ /** True only when every path recorded in stamp.artifacts still exists on disk. */
80
+ stampArtifactsExist: boolean;
81
+ force: boolean;
82
+ }
83
+ /**
84
+ * exported for tests only
85
+ *
86
+ * Skip decision (taken BEFORE any worktree op, install, or write): skip only when the stamp
87
+ * belongs to this repo root, was installed at the frozen remote sha, recorded a non-empty
88
+ * artifact inventory, and every inventoried path still exists. A repoRoot mismatch always
89
+ * updates; an empty/absent inventory never skips; force always updates.
90
+ */
91
+ export declare function shouldSkipUpdate(options: ShouldSkipUpdateOptions): boolean;
92
+ /**
93
+ * exported for tests only
94
+ *
95
+ * Failure of one orchestrator-owned step (fetch/worktree/install/build/artifacts/swap/stamp).
96
+ * The stage feeds `OMO local plugin update failed (<stage>): ...`; `output` (combined
97
+ * stdout+stderr of the failed step) is echoed dim, last 40 lines.
98
+ */
99
+ export declare class OmoLocalStepError extends Error {
100
+ readonly stage: string;
101
+ readonly output: string | undefined;
102
+ constructor(stage: string, message: string, output?: string);
103
+ }
104
+ /** The frozen state of origin/dev: commit sha, subject, and both package tree hashes. */
105
+ export interface OmoRemoteState {
106
+ sha: string;
107
+ subject: string;
108
+ omoSenpiTree: string;
109
+ senpiTaskTree: string;
110
+ }
111
+ /** exported for tests only */
112
+ export interface ComputeRemoteStateOptions {
113
+ repoRoot: string;
114
+ run: OmoLocalRun;
115
+ }
116
+ /**
117
+ * exported for tests only
118
+ *
119
+ * Inspect the two packages' state ON ORIGIN/DEV: ONE `git fetch origin dev` (120s, read-only
120
+ * - the ONLY network/ref operation in the module), then rev-parse/log reads against the
121
+ * frozen `origin/dev` ref. A fetch failure throws an OmoLocalStepError with stage "fetch"
122
+ * before anything else is touched.
123
+ */
124
+ export declare function computeRemoteState(options: ComputeRemoteStateOptions): Promise<OmoRemoteState>;
125
+ /** exported for tests only */
126
+ export declare function omoLocalUpdateLockPath(agentDir: string): string;
127
+ /** exported for tests only */
128
+ export declare function omoLocalUpdateBuildWorktreePath(agentDir: string): string;
129
+ /** exported for tests only */
130
+ export interface EnsureBuildWorktreeOptions {
131
+ /** Feature-owned persistent worktree path (inside agentDir). */
132
+ worktree: string;
133
+ repoRoot: string;
134
+ /** Frozen origin/dev sha to check out detached. */
135
+ sha: string;
136
+ run: OmoLocalRun;
137
+ }
138
+ /**
139
+ * exported for tests only
140
+ *
141
+ * Validate/reuse the FEATURE-OWNED persistent build worktree:
142
+ * - present AND owned by this repo (`git -C <wt> rev-parse --git-common-dir` realpath-equals
143
+ * realpath(repoRoot/.git)) -> reuse: `git -C <wt> checkout --detach --force <sha>`. The
144
+ * --force is SAFE here: this worktree is exclusively feature-owned, so it only discards
145
+ * our own previous build outputs, and untracked node_modules survives for incremental
146
+ * installs.
147
+ * - present but foreign/invalid -> `git -C repoRoot worktree remove --force <wt>` (fs rm
148
+ * fallback), then re-add.
149
+ * - absent -> `git -C repoRoot worktree add --detach <wt> <sha>`.
150
+ * These are the ONLY git mutations in the module besides `git fetch`, and they touch only
151
+ * the feature-owned worktree registration - never the user's checkout state.
152
+ */
153
+ export declare function ensureBuildWorktree(options: EnsureBuildWorktreeOptions): Promise<void>;
154
+ /** exported for tests only: injectable fs seam for the atomic swap. */
155
+ export interface OmoLocalFsSeam {
156
+ cpSync: (source: string, destination: string) => void;
157
+ renameSync: (oldPath: string, newPath: string) => void;
158
+ rmSync: (path: string) => void;
159
+ }
160
+ /** exported for tests only */
161
+ export interface SwapPluginDirOptions {
162
+ pluginPath: string;
163
+ /** The freshly built plugin dir inside the build worktree. */
164
+ sourceDir: string;
165
+ fs?: OmoLocalFsSeam;
166
+ }
167
+ /**
168
+ * exported for tests only
169
+ *
170
+ * ATOMIC SWAP of the install target. staging/prev are siblings of pluginPath (same parent
171
+ * => same filesystem => atomic renames): copy the built tree to staging, move pluginPath
172
+ * aside to prev, move staging into place. If the staging rename fails, prev is restored
173
+ * and staging removed before the error propagates - the local install is never left
174
+ * half-swapped. On success prev is removed.
175
+ */
176
+ export declare function swapPluginDir(options: SwapPluginDirOptions): void;
177
+ export interface RunOmoLocalUpdateBetaOptions {
178
+ env: Record<string, string | undefined>;
179
+ agentDir: string;
180
+ settings?: {
181
+ packages?: PackageSource[];
182
+ };
183
+ force?: boolean;
184
+ log?: (message: string) => void;
185
+ run?: OmoLocalRun;
186
+ }
187
+ /**
188
+ * Beta hook entry point, called from bare `senpi update` before the self-update.
189
+ *
190
+ * SINGLE owner of the ORDERED state machine: gate chain (kill-switch -> detection) ->
191
+ * atomic lock acquisition (held through fetch, worktree, build, swap, stamp AND notify;
192
+ * owner-checked unlink in `finally`) -> computeRemoteState (ONE read-only fetch + frozen
193
+ * rev-parse reads of origin/dev) -> skip decision BEFORE any worktree op, install, or
194
+ * write -> ensureBuildWorktree (feature-owned persistent worktree, reuse-or-recreate) ->
195
+ * `bun install` (600s, cwd = build worktree) -> `bun run build:senpi-plugin` (900s, cwd =
196
+ * build worktree) -> completeness check in the WORKTREE plugin dir -> atomic swap of the
197
+ * install target -> writeStamp (inventory from the NEW plugin dir) -> notify (green line
198
+ * + dim per-package tree comparison when an old stamp existed).
199
+ *
200
+ * HARD GUARANTEES: the user's checkout receives ZERO git mutations (no
201
+ * checkout/branch/commit/merge/reset/clean/stash/push anywhere; only `git fetch` and
202
+ * feature-owned worktree add/remove). Only pluginPath content is replaced. This hook NEVER
203
+ * throws and NEVER sets process.exitCode: every failure downgrades to a yellow warning +
204
+ * dim manual hint so the senpi self-update continues untouched.
205
+ */
206
+ export declare function runOmoLocalUpdateBeta(options: RunOmoLocalUpdateBetaOptions): Promise<void>;
207
+ //# sourceMappingURL=omo-local-update.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"omo-local-update.d.ts","sourceRoot":"","sources":["../../src/beta/omo-local-update.ts"],"names":[],"mappings":"AAiCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAKjE,gFAAgF;AAChF,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACzC;AAED,8BAA8B;AAC9B,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvH;;;;;;;;GAQG;AACH,wBAAsB,UAAU,CAC/B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,kBAAkB,GACzB,OAAO,CAAC,iBAAiB,CAAC,CAqC5B;AAED,8BAA8B;AAC9B,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO,CAE/E;AAED,uFAAuF;AACvF,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,8BAA8B;AAC9B,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACnC;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,4BAA4B,GACnC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAwCtC;AAED,gGAAgG;AAChG,MAAM,WAAW,mBAAmB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,gGAAgG;IAChG,SAAS,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,8BAA8B;AAC9B,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,8BAA8B;AAC9B,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAsC3E;AAED,8BAA8B;AAC9B,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAG7E;AAED,8BAA8B;AAC9B,MAAM,WAAW,uBAAuB;IACvC,KAAK,EAAE,mBAAmB,GAAG,SAAS,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,KAAK,EAAE,OAAO,CAAC;CACf;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAkB1E;AAED;;;;;;GAMG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC3C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAK1D;CACD;AAcD,yFAAyF;AACzF,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,8BAA8B;AAC9B,MAAM,WAAW,yBAAyB;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,WAAW,CAAC;CACjB;AAED;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,CAAC,CA0BpG;AAED,8BAA8B;AAC9B,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,8BAA8B;AAC9B,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAExE;AA0ND,8BAA8B;AAC9B,MAAM,WAAW,0BAA0B;IAC1C,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,WAAW,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAyC5F;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACvD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAcD,8BAA8B;AAC9B,MAAM,WAAW,oBAAoB;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,cAAc,CAAC;CACpB;AAID;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAgBjE;AAsBD,MAAM,WAAW,4BAA4B;IAC5C,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,WAAW,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,4BAA4B,GAAG,OAAO,CAAC,IAAI,CAAC,CA+HhG"}