p-spore 0.1.3 → 0.1.42

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 (396) hide show
  1. package/README.md +110 -15
  2. package/dist/agents/agent-manager.d.ts +3 -3
  3. package/dist/agents/agent-manager.d.ts.map +1 -1
  4. package/dist/agents/agent-manager.js +3 -2
  5. package/dist/agents/agent-manager.js.map +1 -1
  6. package/dist/application/agent-application.d.ts +29 -5
  7. package/dist/application/agent-application.d.ts.map +1 -1
  8. package/dist/application/agent-application.js +444 -14
  9. package/dist/application/agent-application.js.map +1 -1
  10. package/dist/articles/diff.d.ts +70 -0
  11. package/dist/articles/diff.d.ts.map +1 -0
  12. package/dist/articles/diff.js +330 -0
  13. package/dist/articles/diff.js.map +1 -0
  14. package/dist/articles/docx.d.ts +10 -0
  15. package/dist/articles/docx.d.ts.map +1 -0
  16. package/dist/articles/docx.js +219 -0
  17. package/dist/articles/docx.js.map +1 -0
  18. package/dist/articles/draft.d.ts +18 -0
  19. package/dist/articles/draft.d.ts.map +1 -0
  20. package/dist/articles/draft.js +88 -0
  21. package/dist/articles/draft.js.map +1 -0
  22. package/dist/articles/edits.d.ts +24 -0
  23. package/dist/articles/edits.d.ts.map +1 -0
  24. package/dist/articles/edits.js +54 -0
  25. package/dist/articles/edits.js.map +1 -0
  26. package/dist/articles/html.d.ts +10 -0
  27. package/dist/articles/html.d.ts.map +1 -0
  28. package/dist/articles/html.js +122 -0
  29. package/dist/articles/html.js.map +1 -0
  30. package/dist/articles/plain.d.ts +8 -0
  31. package/dist/articles/plain.d.ts.map +1 -0
  32. package/dist/articles/plain.js +69 -0
  33. package/dist/articles/plain.js.map +1 -0
  34. package/dist/articles/preview.d.ts +43 -0
  35. package/dist/articles/preview.d.ts.map +1 -0
  36. package/dist/articles/preview.js +90 -0
  37. package/dist/articles/preview.js.map +1 -0
  38. package/dist/articles/publish.d.ts +10 -0
  39. package/dist/articles/publish.d.ts.map +1 -0
  40. package/dist/articles/publish.js +54 -0
  41. package/dist/articles/publish.js.map +1 -0
  42. package/dist/articles/receipt.d.ts +16 -0
  43. package/dist/articles/receipt.d.ts.map +1 -0
  44. package/dist/articles/receipt.js +27 -0
  45. package/dist/articles/receipt.js.map +1 -0
  46. package/dist/articles/store.d.ts +78 -0
  47. package/dist/articles/store.d.ts.map +1 -0
  48. package/dist/articles/store.js +308 -0
  49. package/dist/articles/store.js.map +1 -0
  50. package/dist/articles/tool.d.ts +14 -0
  51. package/dist/articles/tool.d.ts.map +1 -0
  52. package/dist/articles/tool.js +175 -0
  53. package/dist/articles/tool.js.map +1 -0
  54. package/dist/articles/writer-context.d.ts +5 -0
  55. package/dist/articles/writer-context.d.ts.map +1 -0
  56. package/dist/articles/writer-context.js +56 -0
  57. package/dist/articles/writer-context.js.map +1 -0
  58. package/dist/articles/writer.d.ts +18 -0
  59. package/dist/articles/writer.d.ts.map +1 -0
  60. package/dist/articles/writer.js +79 -0
  61. package/dist/articles/writer.js.map +1 -0
  62. package/dist/articles/zip-write.d.ts +11 -0
  63. package/dist/articles/zip-write.d.ts.map +1 -0
  64. package/dist/articles/zip-write.js +63 -0
  65. package/dist/articles/zip-write.js.map +1 -0
  66. package/dist/bundled-skills/README.md +17 -0
  67. package/dist/bundled-skills/aegis-search/SKILL.md +59 -0
  68. package/dist/bundled-skills/aegis-search/bin/.gitkeep +0 -0
  69. package/dist/bundled-skills/article-canvas/SKILL.md +28 -0
  70. package/dist/bundled-skills/binaries.json +23 -0
  71. package/dist/bundled-skills/doc-extract/SKILL.md +56 -0
  72. package/dist/cli/main.d.ts.map +1 -1
  73. package/dist/cli/main.js +407 -54
  74. package/dist/cli/main.js.map +1 -1
  75. package/dist/config/config.d.ts +43 -0
  76. package/dist/config/config.d.ts.map +1 -1
  77. package/dist/config/config.js +150 -6
  78. package/dist/config/config.js.map +1 -1
  79. package/dist/daemon/daemon.d.ts.map +1 -1
  80. package/dist/daemon/daemon.js +80 -11
  81. package/dist/daemon/daemon.js.map +1 -1
  82. package/dist/desktop/application.d.ts +4 -0
  83. package/dist/desktop/application.d.ts.map +1 -0
  84. package/dist/desktop/application.js +1688 -0
  85. package/dist/desktop/application.js.map +1 -0
  86. package/dist/desktop/article-export.d.ts +12 -0
  87. package/dist/desktop/article-export.d.ts.map +1 -0
  88. package/dist/desktop/article-export.js +87 -0
  89. package/dist/desktop/article-export.js.map +1 -0
  90. package/dist/desktop/assets/pspore.png +0 -0
  91. package/dist/desktop/assets/pspore.svg +24 -0
  92. package/dist/desktop/conversation-smoke.d.ts +5 -0
  93. package/dist/desktop/conversation-smoke.d.ts.map +1 -0
  94. package/dist/desktop/conversation-smoke.js +93 -0
  95. package/dist/desktop/conversation-smoke.js.map +1 -0
  96. package/dist/desktop/daemon-bridge.d.ts.map +1 -1
  97. package/dist/desktop/daemon-bridge.js +62 -17
  98. package/dist/desktop/daemon-bridge.js.map +1 -1
  99. package/dist/desktop/ipc-contract.d.ts +124 -0
  100. package/dist/desktop/ipc-contract.d.ts.map +1 -1
  101. package/dist/desktop/ipc-contract.js +191 -12
  102. package/dist/desktop/ipc-contract.js.map +1 -1
  103. package/dist/desktop/local-path.d.ts +15 -0
  104. package/dist/desktop/local-path.d.ts.map +1 -0
  105. package/dist/desktop/local-path.js +59 -0
  106. package/dist/desktop/local-path.js.map +1 -0
  107. package/dist/desktop/main.d.ts +10 -1
  108. package/dist/desktop/main.d.ts.map +1 -1
  109. package/dist/desktop/main.js +122 -530
  110. package/dist/desktop/main.js.map +1 -1
  111. package/dist/desktop/native-startup.d.ts +4 -0
  112. package/dist/desktop/native-startup.d.ts.map +1 -0
  113. package/dist/desktop/native-startup.js +57 -0
  114. package/dist/desktop/native-startup.js.map +1 -0
  115. package/dist/desktop/preload.cjs +28 -1
  116. package/dist/desktop/renderer/article-panel.d.ts +45 -0
  117. package/dist/desktop/renderer/article-panel.d.ts.map +1 -0
  118. package/dist/desktop/renderer/article-panel.js +1126 -0
  119. package/dist/desktop/renderer/article-panel.js.map +1 -0
  120. package/dist/desktop/renderer/article-split.d.ts +32 -0
  121. package/dist/desktop/renderer/article-split.d.ts.map +1 -0
  122. package/dist/desktop/renderer/article-split.js +48 -0
  123. package/dist/desktop/renderer/article-split.js.map +1 -0
  124. package/dist/desktop/renderer/composer-file-references.d.ts +23 -0
  125. package/dist/desktop/renderer/composer-file-references.d.ts.map +1 -0
  126. package/dist/desktop/renderer/composer-file-references.js +51 -0
  127. package/dist/desktop/renderer/composer-file-references.js.map +1 -0
  128. package/dist/desktop/renderer/conversation.d.ts +23 -0
  129. package/dist/desktop/renderer/conversation.d.ts.map +1 -0
  130. package/dist/desktop/renderer/conversation.js +66 -0
  131. package/dist/desktop/renderer/conversation.js.map +1 -0
  132. package/dist/desktop/renderer/dom-reconcile.d.ts +15 -0
  133. package/dist/desktop/renderer/dom-reconcile.d.ts.map +1 -0
  134. package/dist/desktop/renderer/dom-reconcile.js +33 -0
  135. package/dist/desktop/renderer/dom-reconcile.js.map +1 -0
  136. package/dist/desktop/renderer/index.html +211 -34
  137. package/dist/desktop/renderer/indexing-view.d.ts +22 -0
  138. package/dist/desktop/renderer/indexing-view.d.ts.map +1 -0
  139. package/dist/desktop/renderer/indexing-view.js +115 -0
  140. package/dist/desktop/renderer/indexing-view.js.map +1 -0
  141. package/dist/desktop/renderer/markdown-view.d.ts +23 -0
  142. package/dist/desktop/renderer/markdown-view.d.ts.map +1 -0
  143. package/dist/desktop/renderer/markdown-view.js +436 -0
  144. package/dist/desktop/renderer/markdown-view.js.map +1 -0
  145. package/dist/desktop/renderer/motion.d.ts +67 -0
  146. package/dist/desktop/renderer/motion.d.ts.map +1 -0
  147. package/dist/desktop/renderer/motion.js +296 -0
  148. package/dist/desktop/renderer/motion.js.map +1 -0
  149. package/dist/desktop/renderer/renderer.js +1793 -155
  150. package/dist/desktop/renderer/renderer.js.map +1 -1
  151. package/dist/desktop/renderer/session-find.d.ts +18 -0
  152. package/dist/desktop/renderer/session-find.d.ts.map +1 -0
  153. package/dist/desktop/renderer/session-find.js +29 -0
  154. package/dist/desktop/renderer/session-find.js.map +1 -0
  155. package/dist/desktop/renderer/session-search.d.ts +30 -0
  156. package/dist/desktop/renderer/session-search.d.ts.map +1 -0
  157. package/dist/desktop/renderer/session-search.js +296 -0
  158. package/dist/desktop/renderer/session-search.js.map +1 -0
  159. package/dist/desktop/renderer/store.d.ts +35 -8
  160. package/dist/desktop/renderer/store.d.ts.map +1 -1
  161. package/dist/desktop/renderer/store.js +95 -78
  162. package/dist/desktop/renderer/store.js.map +1 -1
  163. package/dist/desktop/renderer/styles.css +910 -268
  164. package/dist/desktop/renderer/vendor/gsap.min.js +11 -0
  165. package/dist/desktop/renderer-diagnostics.d.ts +5 -0
  166. package/dist/desktop/renderer-diagnostics.d.ts.map +1 -0
  167. package/dist/desktop/renderer-diagnostics.js +47 -0
  168. package/dist/desktop/renderer-diagnostics.js.map +1 -0
  169. package/dist/desktop/security.d.ts +26 -1
  170. package/dist/desktop/security.d.ts.map +1 -1
  171. package/dist/desktop/security.js +26 -6
  172. package/dist/desktop/security.js.map +1 -1
  173. package/dist/desktop/smoke-fixture.d.ts.map +1 -1
  174. package/dist/desktop/smoke-fixture.js +77 -3
  175. package/dist/desktop/smoke-fixture.js.map +1 -1
  176. package/dist/desktop/splash/index.html +25 -0
  177. package/dist/desktop/splash/splash.d.ts +2 -0
  178. package/dist/desktop/splash/splash.d.ts.map +1 -0
  179. package/dist/desktop/splash/splash.js +8 -0
  180. package/dist/desktop/splash/splash.js.map +1 -0
  181. package/dist/desktop/splash/styles.css +24 -0
  182. package/dist/desktop/system-open.d.ts +16 -0
  183. package/dist/desktop/system-open.d.ts.map +1 -0
  184. package/dist/desktop/system-open.js +90 -0
  185. package/dist/desktop/system-open.js.map +1 -0
  186. package/dist/desktop/validation.d.ts.map +1 -1
  187. package/dist/desktop/validation.js +99 -21
  188. package/dist/desktop/validation.js.map +1 -1
  189. package/dist/desktop/window-security.d.ts +4 -0
  190. package/dist/desktop/window-security.d.ts.map +1 -0
  191. package/dist/desktop/window-security.js +26 -0
  192. package/dist/desktop/window-security.js.map +1 -0
  193. package/dist/documents/errors.d.ts +12 -0
  194. package/dist/documents/errors.d.ts.map +1 -0
  195. package/dist/documents/errors.js +12 -0
  196. package/dist/documents/errors.js.map +1 -0
  197. package/dist/documents/extract.d.ts +37 -0
  198. package/dist/documents/extract.d.ts.map +1 -0
  199. package/dist/documents/extract.js +90 -0
  200. package/dist/documents/extract.js.map +1 -0
  201. package/dist/documents/legacy-office.d.ts +23 -0
  202. package/dist/documents/legacy-office.d.ts.map +1 -0
  203. package/dist/documents/legacy-office.js +439 -0
  204. package/dist/documents/legacy-office.js.map +1 -0
  205. package/dist/documents/ole.d.ts +20 -0
  206. package/dist/documents/ole.d.ts.map +1 -0
  207. package/dist/documents/ole.js +189 -0
  208. package/dist/documents/ole.js.map +1 -0
  209. package/dist/documents/ooxml.d.ts +23 -0
  210. package/dist/documents/ooxml.d.ts.map +1 -0
  211. package/dist/documents/ooxml.js +197 -0
  212. package/dist/documents/ooxml.js.map +1 -0
  213. package/dist/documents/pdf.d.ts +20 -0
  214. package/dist/documents/pdf.d.ts.map +1 -0
  215. package/dist/documents/pdf.js +95 -0
  216. package/dist/documents/pdf.js.map +1 -0
  217. package/dist/documents/plain-text.d.ts +22 -0
  218. package/dist/documents/plain-text.d.ts.map +1 -0
  219. package/dist/documents/plain-text.js +57 -0
  220. package/dist/documents/plain-text.js.map +1 -0
  221. package/dist/documents/zip.d.ts +15 -0
  222. package/dist/documents/zip.d.ts.map +1 -0
  223. package/dist/documents/zip.js +137 -0
  224. package/dist/documents/zip.js.map +1 -0
  225. package/dist/domain/indexing.d.ts +60 -0
  226. package/dist/domain/indexing.d.ts.map +1 -0
  227. package/dist/domain/indexing.js +13 -0
  228. package/dist/domain/indexing.js.map +1 -0
  229. package/dist/domain/runtime.d.ts +133 -5
  230. package/dist/domain/runtime.d.ts.map +1 -1
  231. package/dist/gateway/local-gateway.d.ts +8 -0
  232. package/dist/gateway/local-gateway.d.ts.map +1 -1
  233. package/dist/gateway/local-gateway.js +105 -21
  234. package/dist/gateway/local-gateway.js.map +1 -1
  235. package/dist/indexing/index-service.d.ts +56 -0
  236. package/dist/indexing/index-service.d.ts.map +1 -0
  237. package/dist/indexing/index-service.js +262 -0
  238. package/dist/indexing/index-service.js.map +1 -0
  239. package/dist/kernel/loop.d.ts +10 -0
  240. package/dist/kernel/loop.d.ts.map +1 -1
  241. package/dist/kernel/loop.js +6 -2
  242. package/dist/kernel/loop.js.map +1 -1
  243. package/dist/kernel/reducer.d.ts.map +1 -1
  244. package/dist/kernel/reducer.js +17 -1
  245. package/dist/kernel/reducer.js.map +1 -1
  246. package/dist/kernel/state.d.ts +17 -4
  247. package/dist/kernel/state.d.ts.map +1 -1
  248. package/dist/kernel/state.js +2 -0
  249. package/dist/kernel/state.js.map +1 -1
  250. package/dist/memory/memory-tools.d.ts.map +1 -1
  251. package/dist/memory/memory-tools.js +25 -5
  252. package/dist/memory/memory-tools.js.map +1 -1
  253. package/dist/pi/context-budget.d.ts +8 -0
  254. package/dist/pi/context-budget.d.ts.map +1 -0
  255. package/dist/pi/context-budget.js +62 -0
  256. package/dist/pi/context-budget.js.map +1 -0
  257. package/dist/pi/pi-runtime-adapter.d.ts +38 -3
  258. package/dist/pi/pi-runtime-adapter.d.ts.map +1 -1
  259. package/dist/pi/pi-runtime-adapter.js +551 -56
  260. package/dist/pi/pi-runtime-adapter.js.map +1 -1
  261. package/dist/plugins/bundled-skills.d.ts +56 -0
  262. package/dist/plugins/bundled-skills.d.ts.map +1 -0
  263. package/dist/plugins/bundled-skills.js +243 -0
  264. package/dist/plugins/bundled-skills.js.map +1 -0
  265. package/dist/plugins/extension-manager.d.ts +23 -1
  266. package/dist/plugins/extension-manager.d.ts.map +1 -1
  267. package/dist/plugins/extension-manager.js +117 -0
  268. package/dist/plugins/extension-manager.js.map +1 -1
  269. package/dist/plugins/types.d.ts +29 -0
  270. package/dist/plugins/types.d.ts.map +1 -1
  271. package/dist/plugins/workspace-skills.d.ts +36 -0
  272. package/dist/plugins/workspace-skills.d.ts.map +1 -0
  273. package/dist/plugins/workspace-skills.js +309 -0
  274. package/dist/plugins/workspace-skills.js.map +1 -0
  275. package/dist/policy/policy.d.ts.map +1 -1
  276. package/dist/policy/policy.js +26 -4
  277. package/dist/policy/policy.js.map +1 -1
  278. package/dist/protocol/client.d.ts +1 -0
  279. package/dist/protocol/client.d.ts.map +1 -1
  280. package/dist/protocol/client.js +49 -24
  281. package/dist/protocol/client.js.map +1 -1
  282. package/dist/protocol/limits.d.ts +69 -0
  283. package/dist/protocol/limits.d.ts.map +1 -0
  284. package/dist/protocol/limits.js +166 -0
  285. package/dist/protocol/limits.js.map +1 -0
  286. package/dist/protocol/schema.d.ts +6 -0
  287. package/dist/protocol/schema.d.ts.map +1 -1
  288. package/dist/protocol/schema.js.map +1 -1
  289. package/dist/protocol/server-frame-codec.d.ts +18 -0
  290. package/dist/protocol/server-frame-codec.d.ts.map +1 -0
  291. package/dist/protocol/server-frame-codec.js +211 -0
  292. package/dist/protocol/server-frame-codec.js.map +1 -0
  293. package/dist/service/legacy-daemon.d.ts +6 -0
  294. package/dist/service/legacy-daemon.d.ts.map +1 -0
  295. package/dist/service/legacy-daemon.js +42 -0
  296. package/dist/service/legacy-daemon.js.map +1 -0
  297. package/dist/service/service-launch.d.ts +10 -0
  298. package/dist/service/service-launch.d.ts.map +1 -0
  299. package/dist/service/service-launch.js +56 -0
  300. package/dist/service/service-launch.js.map +1 -0
  301. package/dist/service/system-service.d.ts +57 -0
  302. package/dist/service/system-service.d.ts.map +1 -0
  303. package/dist/service/system-service.js +263 -0
  304. package/dist/service/system-service.js.map +1 -0
  305. package/dist/sessions/session-catalog.d.ts +45 -0
  306. package/dist/sessions/session-catalog.d.ts.map +1 -0
  307. package/dist/sessions/session-catalog.js +270 -0
  308. package/dist/sessions/session-catalog.js.map +1 -0
  309. package/dist/sessions/session-file.d.ts +12 -0
  310. package/dist/sessions/session-file.d.ts.map +1 -0
  311. package/dist/sessions/session-file.js +47 -0
  312. package/dist/sessions/session-file.js.map +1 -0
  313. package/dist/settings/compaction-settings.d.ts +10 -0
  314. package/dist/settings/compaction-settings.d.ts.map +1 -0
  315. package/dist/settings/compaction-settings.js +8 -0
  316. package/dist/settings/compaction-settings.js.map +1 -0
  317. package/dist/settings/indexing-settings-service.d.ts +16 -0
  318. package/dist/settings/indexing-settings-service.d.ts.map +1 -0
  319. package/dist/settings/indexing-settings-service.js +57 -0
  320. package/dist/settings/indexing-settings-service.js.map +1 -0
  321. package/dist/settings/indexing-settings.d.ts +30 -0
  322. package/dist/settings/indexing-settings.d.ts.map +1 -0
  323. package/dist/settings/indexing-settings.js +58 -0
  324. package/dist/settings/indexing-settings.js.map +1 -0
  325. package/dist/settings/llm-settings-service.d.ts +6 -0
  326. package/dist/settings/llm-settings-service.d.ts.map +1 -1
  327. package/dist/settings/llm-settings-service.js +137 -12
  328. package/dist/settings/llm-settings-service.js.map +1 -1
  329. package/dist/settings/llm-settings.d.ts +68 -2
  330. package/dist/settings/llm-settings.d.ts.map +1 -1
  331. package/dist/settings/llm-settings.js +119 -17
  332. package/dist/settings/llm-settings.js.map +1 -1
  333. package/dist/settings/model-api.d.ts +10 -0
  334. package/dist/settings/model-api.d.ts.map +1 -0
  335. package/dist/settings/model-api.js +10 -0
  336. package/dist/settings/model-api.js.map +1 -0
  337. package/dist/storage/home.d.ts +1 -0
  338. package/dist/storage/home.d.ts.map +1 -1
  339. package/dist/storage/home.js +37 -2
  340. package/dist/storage/home.js.map +1 -1
  341. package/dist/tools/core-tools.d.ts +2 -0
  342. package/dist/tools/core-tools.d.ts.map +1 -1
  343. package/dist/tools/core-tools.js +91 -1
  344. package/dist/tools/core-tools.js.map +1 -1
  345. package/dist/ui/shared/activity.d.ts +27 -0
  346. package/dist/ui/shared/activity.d.ts.map +1 -0
  347. package/dist/ui/shared/activity.js +384 -0
  348. package/dist/ui/shared/activity.js.map +1 -0
  349. package/dist/ui/shared/full-message.d.ts +22 -0
  350. package/dist/ui/shared/full-message.d.ts.map +1 -0
  351. package/dist/ui/shared/full-message.js +40 -0
  352. package/dist/ui/shared/full-message.js.map +1 -0
  353. package/dist/ui/shared/local-links.d.ts +7 -0
  354. package/dist/ui/shared/local-links.d.ts.map +1 -0
  355. package/dist/ui/shared/local-links.js +24 -0
  356. package/dist/ui/shared/local-links.js.map +1 -0
  357. package/dist/ui/shared/markdown-stream.d.ts +25 -0
  358. package/dist/ui/shared/markdown-stream.d.ts.map +1 -0
  359. package/dist/ui/shared/markdown-stream.js +35 -0
  360. package/dist/ui/shared/markdown-stream.js.map +1 -0
  361. package/dist/ui/shared/markdown.d.ts +70 -0
  362. package/dist/ui/shared/markdown.d.ts.map +1 -0
  363. package/dist/ui/shared/markdown.js +434 -0
  364. package/dist/ui/shared/markdown.js.map +1 -0
  365. package/dist/ui/shared/presentation.d.ts +10 -2
  366. package/dist/ui/shared/presentation.d.ts.map +1 -1
  367. package/dist/ui/shared/presentation.js +83 -22
  368. package/dist/ui/shared/presentation.js.map +1 -1
  369. package/dist/ui/shared/protocol-state.d.ts +19 -0
  370. package/dist/ui/shared/protocol-state.d.ts.map +1 -1
  371. package/dist/ui/shared/protocol-state.js +188 -26
  372. package/dist/ui/shared/protocol-state.js.map +1 -1
  373. package/dist/ui/shared/virtual-list.d.ts +34 -0
  374. package/dist/ui/shared/virtual-list.d.ts.map +1 -0
  375. package/dist/ui/shared/virtual-list.js +143 -0
  376. package/dist/ui/shared/virtual-list.js.map +1 -0
  377. package/dist/ui/tui/commands.d.ts +1 -1
  378. package/dist/ui/tui/commands.d.ts.map +1 -1
  379. package/dist/ui/tui/commands.js +9 -3
  380. package/dist/ui/tui/commands.js.map +1 -1
  381. package/dist/ui/tui/store.d.ts +26 -0
  382. package/dist/ui/tui/store.d.ts.map +1 -1
  383. package/dist/ui/tui/store.js +67 -3
  384. package/dist/ui/tui/store.js.map +1 -1
  385. package/dist/ui/tui/tui-app.d.ts.map +1 -1
  386. package/dist/ui/tui/tui-app.js +316 -38
  387. package/dist/ui/tui/tui-app.js.map +1 -1
  388. package/dist/ui/tui/view.d.ts +10 -0
  389. package/dist/ui/tui/view.d.ts.map +1 -1
  390. package/dist/ui/tui/view.js +253 -49
  391. package/dist/ui/tui/view.js.map +1 -1
  392. package/dist/version.d.ts +1 -1
  393. package/dist/version.d.ts.map +1 -1
  394. package/dist/version.js +1 -1
  395. package/dist/version.js.map +1 -1
  396. package/package.json +13 -2
@@ -4,7 +4,7 @@ import { ModelRuntime } from "@earendil-works/pi-coding-agent";
4
4
  import { parseConfig } from "../config/config.js";
5
5
  import { atomicWriteFile, atomicWriteJson } from "../storage/atomic.js";
6
6
  import { loadConfig } from "../storage/home.js";
7
- import { decodeLlmSettingsUpdate, PROVIDER_OPTIONS, } from "./llm-settings.js";
7
+ import { decodeLlmSettingsUpdate, PROVIDER_OPTIONS, RESERVED_HEADER_NAMES, } from "./llm-settings.js";
8
8
  const DEFAULT_PROVIDER = "deepseek";
9
9
  const DEFAULT_MODEL = "deepseek-v4-flash";
10
10
  const MAX_MODELS_FILE_BYTES = 1_048_576;
@@ -29,33 +29,75 @@ export class LlmSettingsService {
29
29
  const config = await loadConfig(this.#home);
30
30
  return config.model !== null;
31
31
  }
32
+ /**
33
+ * `config.json` is authoritative for every field the settings panel edits.
34
+ * `state/pi/models.json` is a derived catalog for the Pi runtime, so it is only
35
+ * consulted to recover endpoint values written by a pre-0.1.15 build that had
36
+ * nowhere else to store them.
37
+ */
32
38
  async get() {
33
39
  const config = await loadConfig(this.#home);
34
40
  const provider = providerOption(config.model?.provider ?? DEFAULT_PROVIDER);
35
41
  const model = config.model?.model ?? DEFAULT_MODEL;
36
42
  const models = await this.#readModels();
37
43
  const providerConfig = record(models.providers[provider]);
38
- const api = modelApi(providerConfig?.["api"]);
39
- const customModel = Array.isArray(providerConfig?.["models"])
44
+ const legacyCustomModel = Array.isArray(providerConfig?.["models"])
40
45
  && providerConfig["models"].some((candidate) => record(candidate)?.["id"] === model);
46
+ const baseUrl = config.model?.baseUrl
47
+ ?? (typeof providerConfig?.["baseUrl"] === "string" ? providerConfig["baseUrl"] : "");
48
+ const api = config.model?.api ?? modelApi(providerConfig?.["api"]);
49
+ const apiKeyPath = config.model?.apiKeyFile ?? this.#credentialPath(provider);
50
+ const cookiePath = config.model?.cookieFile ?? this.#cookiePath(provider);
41
51
  return {
42
52
  version: 1,
43
53
  provider,
44
54
  model,
45
- baseUrl: typeof providerConfig?.["baseUrl"] === "string" ? providerConfig["baseUrl"] : "",
55
+ baseUrl,
46
56
  api,
47
57
  thinking: config.model?.thinking ?? "off",
48
- customModel,
49
- hasApiKey: await this.#hasApiKey(provider, providerConfig),
58
+ customModel: config.model?.customModel ?? legacyCustomModel,
59
+ permissionMode: config.permissions.mode,
60
+ autoCompactionEnabled: config.context.autoCompaction.enabled,
61
+ autoCompactionTriggerTokens: config.context.autoCompaction.triggerTokens,
62
+ autoCompactionReserveTokens: config.context.autoCompaction.reserveTokens,
63
+ autoCompactionKeepRecentTokens: config.context.autoCompaction.keepRecentTokens,
64
+ hasApiKey: await this.#hasApiKey(apiKeyPath, providerConfig),
65
+ hasCookie: await this.#hasCookie(cookiePath, providerConfig),
66
+ configPath: this.#paths.config,
67
+ apiKeyPath,
68
+ cookiePath,
69
+ customHeaders: await this.#customHeaders(provider, providerConfig),
70
+ modelsPath: this.#modelsPath(),
50
71
  };
51
72
  }
73
+ /**
74
+ * The header names live in the Pi catalog, which is what actually sends them;
75
+ * the values live one file each, so what comes back says a value exists
76
+ * without carrying it.
77
+ */
78
+ async #customHeaders(provider, providerConfig) {
79
+ const headers = record(providerConfig?.["headers"]) ?? {};
80
+ const settings = [];
81
+ for (const name of Object.keys(headers)) {
82
+ if (RESERVED_HEADER_NAMES.includes(name.toLowerCase()))
83
+ continue;
84
+ const path = this.#headerPath(provider, name);
85
+ settings.push({ name, hasValue: await exists(path), path });
86
+ }
87
+ return settings;
88
+ }
89
+ #headerPath(provider, name) {
90
+ return join(this.#paths.credentials, `${provider}.header-${name.toLowerCase()}`);
91
+ }
52
92
  async save(update) {
53
93
  update = decodeLlmSettingsUpdate(update);
54
94
  const currentConfig = await loadConfig(this.#home);
55
95
  const models = await this.#readModels();
56
96
  const providerConfig = { ...(record(models.providers[update.provider]) ?? {}) };
57
97
  const credentialPath = this.#credentialPath(update.provider);
98
+ const cookiePath = this.#cookiePath(update.provider);
58
99
  const credentialExists = await exists(credentialPath);
100
+ const cookieExists = await exists(cookiePath);
59
101
  if (update.baseUrl)
60
102
  providerConfig["baseUrl"] = update.baseUrl;
61
103
  else
@@ -81,6 +123,46 @@ export class LlmSettingsService {
81
123
  else if (update.clearApiKey && isManagedCredentialCommand(providerConfig["apiKey"], credentialPath)) {
82
124
  delete providerConfig["apiKey"];
83
125
  }
126
+ const headers = { ...(record(providerConfig["headers"]) ?? {}) };
127
+ if (update.cookie || (cookieExists && !update.clearCookie)) {
128
+ headers["Cookie"] = credentialCommand(cookiePath);
129
+ }
130
+ else {
131
+ delete headers["Cookie"];
132
+ }
133
+ // A client that predates custom headers omits the field and keeps whatever
134
+ // is stored; one that sends it is describing the complete set.
135
+ const headerWrites = [];
136
+ const headerRemovals = [];
137
+ if (update.customHeaders) {
138
+ const kept = new Set(update.customHeaders.map((header) => header.name.toLowerCase()));
139
+ for (const name of Object.keys(headers)) {
140
+ if (RESERVED_HEADER_NAMES.includes(name.toLowerCase()))
141
+ continue;
142
+ if (kept.has(name.toLowerCase()))
143
+ continue;
144
+ headerRemovals.push(this.#headerPath(update.provider, name));
145
+ delete headers[name];
146
+ }
147
+ for (const header of update.customHeaders) {
148
+ const path = this.#headerPath(update.provider, header.name);
149
+ if (header.value === undefined && !(await exists(path))) {
150
+ throw new Error(`Header ${header.name} has no stored value; send one with it.`);
151
+ }
152
+ if (header.value !== undefined)
153
+ headerWrites.push({ path, value: header.value });
154
+ // Re-keying by the name as typed keeps a rename from leaving both behind.
155
+ for (const existing of Object.keys(headers)) {
156
+ if (existing !== header.name && existing.toLowerCase() === header.name.toLowerCase())
157
+ delete headers[existing];
158
+ }
159
+ headers[header.name] = credentialCommand(path);
160
+ }
161
+ }
162
+ if (Object.keys(headers).length > 0)
163
+ providerConfig["headers"] = headers;
164
+ else
165
+ delete providerConfig["headers"];
84
166
  const nextModels = { ...models, providers: { ...models.providers } };
85
167
  if (Object.keys(providerConfig).length > 0)
86
168
  nextModels.providers[update.provider] = providerConfig;
@@ -88,21 +170,52 @@ export class LlmSettingsService {
88
170
  delete nextModels.providers[update.provider];
89
171
  const nextConfig = parseConfig({
90
172
  ...currentConfig,
91
- model: { provider: update.provider, model: update.model, thinking: update.thinking },
173
+ model: {
174
+ provider: update.provider,
175
+ model: update.model,
176
+ thinking: update.thinking,
177
+ ...(update.baseUrl ? { baseUrl: update.baseUrl } : {}),
178
+ api: update.api,
179
+ customModel: update.customModel,
180
+ // Record where the secrets live, never the secrets themselves.
181
+ apiKeyFile: credentialPath,
182
+ cookieFile: cookiePath,
183
+ },
184
+ permissions: { ...currentConfig.permissions, mode: update.permissionMode },
185
+ context: {
186
+ ...currentConfig.context,
187
+ autoCompaction: {
188
+ enabled: update.autoCompactionEnabled ?? currentConfig.context.autoCompaction.enabled,
189
+ triggerTokens: update.autoCompactionTriggerTokens ?? currentConfig.context.autoCompaction.triggerTokens,
190
+ reserveTokens: update.autoCompactionReserveTokens ?? currentConfig.context.autoCompaction.reserveTokens,
191
+ keepRecentTokens: update.autoCompactionKeepRecentTokens ?? currentConfig.context.autoCompaction.keepRecentTokens,
192
+ },
193
+ },
92
194
  }, this.#home);
93
195
  await this.#validateModel(nextModels, update.provider, update.model);
94
- if (update.apiKey) {
196
+ if (update.apiKey || update.cookie || headerWrites.length > 0) {
95
197
  await mkdir(this.#paths.credentials, { recursive: true, mode: 0o700 });
198
+ }
199
+ for (const write of headerWrites)
200
+ await atomicWriteFile(write.path, write.value, 0o600);
201
+ if (update.apiKey) {
96
202
  await atomicWriteFile(credentialPath, update.apiKey, 0o600);
97
203
  }
98
- await atomicWriteJson(join(this.#paths.agentDir, "models.json"), nextModels, 0o600);
204
+ if (update.cookie) {
205
+ await atomicWriteFile(cookiePath, update.cookie, 0o600);
206
+ }
207
+ await atomicWriteJson(this.#modelsPath(), nextModels, 0o600);
99
208
  await atomicWriteJson(this.#paths.config, nextConfig, 0o600);
100
209
  if (update.clearApiKey)
101
210
  await unlink(credentialPath).catch(ignoreMissingFile);
211
+ if (update.clearCookie)
212
+ await unlink(cookiePath).catch(ignoreMissingFile);
213
+ for (const path of headerRemovals)
214
+ await unlink(path).catch(ignoreMissingFile);
102
215
  return this.get();
103
216
  }
104
217
  async #readModels() {
105
- const path = join(this.#paths.agentDir, "models.json");
218
+ const path = this.#modelsPath();
106
219
  let source;
107
220
  try {
108
221
  source = await readFile(path, "utf8");
@@ -141,14 +254,26 @@ export class LlmSettingsService {
141
254
  await rm(temporaryDirectory, { recursive: true, force: true });
142
255
  }
143
256
  }
144
- async #hasApiKey(provider, providerConfig) {
145
- if (await exists(this.#credentialPath(provider)))
257
+ async #hasApiKey(path, providerConfig) {
258
+ if (await exists(path))
146
259
  return true;
147
260
  return typeof providerConfig?.["apiKey"] === "string" && providerConfig["apiKey"].length > 0;
148
261
  }
262
+ async #hasCookie(path, providerConfig) {
263
+ if (await exists(path))
264
+ return true;
265
+ const headers = record(providerConfig?.["headers"]);
266
+ return typeof headers?.["Cookie"] === "string" && headers["Cookie"].length > 0;
267
+ }
149
268
  #credentialPath(provider) {
150
269
  return join(this.#paths.credentials, `${provider}.api-key`);
151
270
  }
271
+ #cookiePath(provider) {
272
+ return join(this.#paths.credentials, `${provider}.cookie`);
273
+ }
274
+ #modelsPath() {
275
+ return join(this.#paths.agentDir, "models.json");
276
+ }
152
277
  }
153
278
  function upsertCustomModel(value, model) {
154
279
  const models = Array.isArray(value) ? [...value] : [];
@@ -1 +1 @@
1
- {"version":3,"file":"llm-settings-service.js","sourceRoot":"","sources":["../../src/settings/llm-settings-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EACL,uBAAuB,EACvB,gBAAgB,GAKjB,MAAM,mBAAmB,CAAC;AAM3B,MAAM,gBAAgB,GAAG,UAAU,CAAC;AACpC,MAAM,aAAa,GAAG,mBAAmB,CAAC;AAC1C,MAAM,qBAAqB,GAAG,SAAS,CAAC;AACxC,MAAM,cAAc,GAAG,IAAI,GAAG,CAAW;IACvC,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,sBAAsB;CACvB,CAAC,CAAC;AAEH,MAAM,OAAO,kBAAkB;IACpB,KAAK,CAAS;IACd,MAAM,CAAc;IAE7B,YAAY,IAAY,EAAE,KAAkB;QAC1C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,MAAM,CAAC,KAAK,KAAK,IAAI,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,gBAAgB,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,IAAI,aAAa,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,CAAC;eACxD,cAAc,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;QACvF,OAAO;YACL,OAAO,EAAE,CAAC;YACV,QAAQ;YACR,KAAK;YACL,OAAO,EAAE,OAAO,cAAc,EAAE,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YACzF,GAAG;YACH,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,IAAI,KAAK;YACzC,WAAW;YACX,SAAS,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,cAAc,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAyB;QAClC,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QACxC,MAAM,cAAc,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAChF,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;QAEtD,IAAI,MAAM,CAAC,OAAO;YAAE,cAAc,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;;YAC1D,OAAO,cAAc,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;YACnC,cAAc,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,GAAG,KAAK,kBAAkB;gBAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;;gBAC/D,cAAc,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC;YACxC,MAAM,eAAe,GAAG,iBAAiB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAClF,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;gBAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;;gBACxG,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,gBAAgB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC/D,cAAc,CAAC,QAAQ,CAAC,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,MAAM,CAAC,WAAW,IAAI,0BAA0B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,EAAE,CAAC;YACtG,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QAED,MAAM,UAAU,GAAe,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;QACjF,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,GAAG,CAAC;YAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,cAAc,CAAC;;YAC9F,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,UAAU,GAAG,WAAW,CAC5B;YACE,GAAG,aAAa;YAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE;SACrF,EACD,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACrE,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,MAAM,eAAe,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACpF,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7D,IAAI,MAAM,CAAC,WAAW;YAAE,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,WAAW;QACf,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACvD,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YAC5E,MAAM,KAAK,CAAC;QACd,CAAC;QACD,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,qBAAqB,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAClF,CAAC;QACD,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACxF,OAAO,EAAE,GAAG,IAAI,EAAE,SAAS,EAAgB,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAkB,EAAE,QAAgB,EAAE,KAAa;QACtE,MAAM,kBAAkB,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YACvD,MAAM,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,eAAe,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC;gBACvC,MAAM,IAAI,KAAK,CAAC,SAAS,QAAQ,IAAI,KAAK,mEAAmE,CAAC,CAAC;YACjH,CAAC;YACD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC5C,IAAI,gBAAgB;gBAAE,MAAM,IAAI,KAAK,CAAC,mCAAmC,gBAAgB,EAAE,CAAC,CAAC;QAC/F,CAAC;gBAAS,CAAC;YACT,MAAM,EAAE,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,cAAmD;QACpF,IAAI,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC9D,OAAO,OAAO,cAAc,EAAE,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/F,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,GAAG,QAAQ,UAAU,CAAC,CAAC;IAC9D,CAAC;CACF;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAa;IACtD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;IACnF,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;IAC5G,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;;QAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,KAAa;IACtD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,cAAc,CAAC,GAAG,CAAC,KAAiB,CAAC,CAAC,CAAC,CAAC,KAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC;AACrH,CAAC;AAED,SAAS,cAAc,CAAC,KAAa;IACnC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,KAAuB,CAAC;QAAE,OAAO,KAAuB,CAAC;IACvF,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,6CAA6C,CAAC,CAAC;AAC9F,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,WAAW,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;AACvC,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc,EAAE,IAAY;IAC9D,OAAO,KAAK,KAAK,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAgC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7H,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAChE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,MAAM,KAAK,CAAC;AAClE,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,YAAY,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"llm-settings-service.js","sourceRoot":"","sources":["../../src/settings/llm-settings-service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,31 @@
1
- export type ModelApi = "provider-default" | "openai-completions" | "openai-responses" | "anthropic-messages" | "google-generative-ai";
1
+ import type { PermissionMode } from "../config/config.js";
2
+ import { type ModelApi } from "./model-api.js";
3
+ export { MODEL_APIS } from "./model-api.js";
4
+ export type { ModelApi } from "./model-api.js";
2
5
  export type ThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
3
6
  export type ProviderOption = "deepseek" | "openai" | "custom-openai";
7
+ /**
8
+ * One header added to every request to the model endpoint.
9
+ *
10
+ * The value is kept in its own file next to the API key and the cookie, and
11
+ * referenced from the Pi model catalog the same way, so it never sits in a
12
+ * config file and never travels back to a client.
13
+ */
14
+ export interface CustomHeaderSetting {
15
+ name: string;
16
+ hasValue: boolean;
17
+ /** Absolute file the value is read from. Shown in clients; never the value itself. */
18
+ path: string;
19
+ }
20
+ /** A header to keep, set or replace. Omitting `value` keeps whatever is stored. */
21
+ export interface CustomHeaderUpdate {
22
+ name: string;
23
+ value?: string;
24
+ }
25
+ /** Header names reserved for settings that have their own field. */
26
+ export declare const RESERVED_HEADER_NAMES: readonly string[];
27
+ export declare const MAX_CUSTOM_HEADERS = 16;
28
+ export declare const MAX_HEADER_VALUE_CHARS = 4096;
4
29
  export interface LlmSettings {
5
30
  version: 1;
6
31
  provider: ProviderOption;
@@ -9,7 +34,24 @@ export interface LlmSettings {
9
34
  api: ModelApi;
10
35
  thinking: ThinkingLevel;
11
36
  customModel: boolean;
37
+ /** Daemon-wide approval policy; `allow_all` bypasses every approval prompt. */
38
+ permissionMode: PermissionMode;
39
+ autoCompactionEnabled: boolean;
40
+ autoCompactionTriggerTokens: number;
41
+ autoCompactionReserveTokens: number;
42
+ autoCompactionKeepRecentTokens: number;
12
43
  hasApiKey: boolean;
44
+ hasCookie: boolean;
45
+ /** Absolute path of `config.json`, the authoritative store for every field above. */
46
+ configPath: string;
47
+ /** Absolute file the API key is read from. Shown in clients; never the secret itself. */
48
+ apiKeyPath: string;
49
+ /** Absolute file the `Cookie` header value is read from. */
50
+ cookiePath: string;
51
+ /** Extra headers sent with every model request, newest configuration first. */
52
+ customHeaders: CustomHeaderSetting[];
53
+ /** Absolute path of the derived Pi model catalog written from `config.json`. */
54
+ modelsPath: string;
13
55
  }
14
56
  export interface LlmSettingsUpdate {
15
57
  provider: ProviderOption;
@@ -18,12 +60,36 @@ export interface LlmSettingsUpdate {
18
60
  api: ModelApi;
19
61
  thinking: ThinkingLevel;
20
62
  customModel: boolean;
63
+ permissionMode: PermissionMode;
64
+ /** Optional so a pre-upgrade GUI/TUI can save another setting without resetting compact values. */
65
+ autoCompactionEnabled?: boolean;
66
+ autoCompactionTriggerTokens?: number;
67
+ autoCompactionReserveTokens?: number;
68
+ autoCompactionKeepRecentTokens?: number;
21
69
  apiKey?: string;
70
+ cookie?: string;
71
+ /**
72
+ * The complete set of extra headers. Present means "make it look like this":
73
+ * a name that is absent is removed along with its stored value. Omitting the
74
+ * field entirely leaves the stored headers alone, so a client that predates
75
+ * them can still save every other setting.
76
+ */
77
+ customHeaders?: CustomHeaderUpdate[];
22
78
  clearApiKey: boolean;
79
+ clearCookie: boolean;
23
80
  }
24
- export declare const MODEL_APIS: readonly ModelApi[];
25
81
  export declare const THINKING_LEVELS: readonly ThinkingLevel[];
26
82
  export declare const PROVIDER_OPTIONS: readonly ProviderOption[];
83
+ export declare const PERMISSION_MODES: readonly PermissionMode[];
84
+ /** `allow_all` runs every tool with the daemon user's own privileges and no confirmation. */
85
+ export declare const BYPASS_PERMISSION_MODE: PermissionMode;
86
+ export declare function permissionModeSummary(mode: PermissionMode): string;
27
87
  export declare function defaultModelFor(provider: ProviderOption): string;
28
88
  export declare function decodeLlmSettingsUpdate(value: unknown, label?: string): LlmSettingsUpdate;
89
+ /**
90
+ * A header name that is not a token, or a value carrying CR/LF, would let a
91
+ * pasted string add headers of its own to every request. Both are rejected
92
+ * here rather than sanitised, so the setting a client saved is the one sent.
93
+ */
94
+ export declare function decodeCustomHeaders(value: unknown, label: string): CustomHeaderUpdate[];
29
95
  //# sourceMappingURL=llm-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"llm-settings.d.ts","sourceRoot":"","sources":["../../src/settings/llm-settings.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,CAAC;AAE3B,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAC5F,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,QAAQ,GAAG,eAAe,CAAC;AAErE,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,cAAc,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,QAAQ,CAAC;IACd,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAMzC,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EAAgE,CAAC;AACrH,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAA4C,CAAC;AAEnG,wBAAgB,eAAe,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAIhE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAiB,GAAG,iBAAiB,CA2CjG"}
1
+ {"version":3,"file":"llm-settings.d.ts","sourceRoot":"","sources":["../../src/settings/llm-settings.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,29 @@
1
- export const MODEL_APIS = [
2
- "provider-default",
3
- "openai-completions",
4
- "openai-responses",
5
- "anthropic-messages",
6
- "google-generative-ai",
7
- ];
1
+ import { MAX_COMPACTION_TOKENS } from "./compaction-settings.js";
2
+ import { MODEL_APIS } from "./model-api.js";
3
+ export { MODEL_APIS } from "./model-api.js";
4
+ /** Header names reserved for settings that have their own field. */
5
+ export const RESERVED_HEADER_NAMES = ["cookie"];
6
+ export const MAX_CUSTOM_HEADERS = 16;
7
+ export const MAX_HEADER_VALUE_CHARS = 4_096;
8
+ /** RFC 7230 token characters, minus the ones that would make an awkward file name. */
9
+ const HEADER_NAME = /^[A-Za-z0-9][A-Za-z0-9_-]{0,62}$/;
8
10
  export const THINKING_LEVELS = ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
9
11
  export const PROVIDER_OPTIONS = ["deepseek", "openai", "custom-openai"];
12
+ export const PERMISSION_MODES = ["ask_risky", "ask_all", "allow_all", "deny"];
13
+ /** `allow_all` runs every tool with the daemon user's own privileges and no confirmation. */
14
+ export const BYPASS_PERMISSION_MODE = "allow_all";
15
+ export function permissionModeSummary(mode) {
16
+ switch (mode) {
17
+ case "ask_risky":
18
+ return "ask before risky operations (default)";
19
+ case "ask_all":
20
+ return "ask before every mutating operation";
21
+ case "allow_all":
22
+ return "bypass all approvals — every tool runs unconfirmed";
23
+ case "deny":
24
+ return "deny every gated operation";
25
+ }
26
+ }
10
27
  export function defaultModelFor(provider) {
11
28
  if (provider === "deepseek")
12
29
  return "deepseek-v4-flash";
@@ -16,7 +33,13 @@ export function defaultModelFor(provider) {
16
33
  }
17
34
  export function decodeLlmSettingsUpdate(value, label = "LLM settings") {
18
35
  const input = object(value, label);
19
- exactShape(input, ["provider", "model", "baseUrl", "api", "thinking", "customModel", "clearApiKey"], ["apiKey"], label);
36
+ exactShape(input, [
37
+ "provider", "model", "baseUrl", "api", "thinking", "customModel", "permissionMode",
38
+ "clearApiKey", "clearCookie",
39
+ ], [
40
+ "apiKey", "cookie", "customHeaders", "autoCompactionEnabled", "autoCompactionTriggerTokens",
41
+ "autoCompactionReserveTokens", "autoCompactionKeepRecentTokens",
42
+ ], label);
20
43
  const provider = enumeration(input["provider"], PROVIDER_OPTIONS, `${label}.provider`);
21
44
  const model = modelIdentifier(input["model"], `${label}.model`, true);
22
45
  const baseUrl = optionalString(input["baseUrl"], `${label}.baseUrl`, 2_048);
@@ -38,18 +61,19 @@ export function decodeLlmSettingsUpdate(value, label = "LLM settings") {
38
61
  throw new Error(`${label}.baseUrl is required for a custom model`);
39
62
  if (customModel && api === "provider-default")
40
63
  throw new Error(`${label}.api must be selected for a custom model`);
41
- const apiKeyValue = input["apiKey"];
42
- let apiKey;
43
- if (apiKeyValue !== undefined) {
44
- apiKey = optionalString(apiKeyValue, `${label}.apiKey`, 16_384);
45
- if (!apiKey)
46
- apiKey = undefined;
47
- if (apiKey && /[\r\n\u0000]/.test(apiKey))
48
- throw new Error(`${label}.apiKey cannot contain line breaks`);
49
- }
64
+ const apiKey = optionalSecret(input["apiKey"], `${label}.apiKey`);
65
+ const cookie = optionalSecret(input["cookie"], `${label}.cookie`);
50
66
  const clearApiKey = booleanValue(input["clearApiKey"], `${label}.clearApiKey`);
67
+ const clearCookie = booleanValue(input["clearCookie"], `${label}.clearCookie`);
51
68
  if (apiKey && clearApiKey)
52
69
  throw new Error(`${label} cannot set and clear the API key together`);
70
+ if (cookie && clearCookie)
71
+ throw new Error(`${label} cannot set and clear the cookie together`);
72
+ const customHeaders = optionalCustomHeaders(input["customHeaders"], `${label}.customHeaders`);
73
+ const autoCompactionEnabled = optionalBooleanValue(input["autoCompactionEnabled"], `${label}.autoCompactionEnabled`);
74
+ const autoCompactionTriggerTokens = optionalBoundedPositiveInteger(input["autoCompactionTriggerTokens"], `${label}.autoCompactionTriggerTokens`, MAX_COMPACTION_TOKENS);
75
+ const autoCompactionReserveTokens = optionalBoundedPositiveInteger(input["autoCompactionReserveTokens"], `${label}.autoCompactionReserveTokens`, MAX_COMPACTION_TOKENS);
76
+ const autoCompactionKeepRecentTokens = optionalBoundedPositiveInteger(input["autoCompactionKeepRecentTokens"], `${label}.autoCompactionKeepRecentTokens`, MAX_COMPACTION_TOKENS);
53
77
  return {
54
78
  provider,
55
79
  model,
@@ -57,10 +81,66 @@ export function decodeLlmSettingsUpdate(value, label = "LLM settings") {
57
81
  api,
58
82
  thinking: enumeration(input["thinking"], THINKING_LEVELS, `${label}.thinking`),
59
83
  customModel,
84
+ permissionMode: enumeration(input["permissionMode"], PERMISSION_MODES, `${label}.permissionMode`),
85
+ ...(autoCompactionEnabled === undefined ? {} : { autoCompactionEnabled }),
86
+ ...(autoCompactionTriggerTokens === undefined ? {} : { autoCompactionTriggerTokens }),
87
+ ...(autoCompactionReserveTokens === undefined ? {} : { autoCompactionReserveTokens }),
88
+ ...(autoCompactionKeepRecentTokens === undefined ? {} : { autoCompactionKeepRecentTokens }),
60
89
  ...(apiKey ? { apiKey } : {}),
90
+ ...(cookie ? { cookie } : {}),
91
+ ...(customHeaders === undefined ? {} : { customHeaders }),
61
92
  clearApiKey,
93
+ clearCookie,
62
94
  };
63
95
  }
96
+ /**
97
+ * A header name that is not a token, or a value carrying CR/LF, would let a
98
+ * pasted string add headers of its own to every request. Both are rejected
99
+ * here rather than sanitised, so the setting a client saved is the one sent.
100
+ */
101
+ export function decodeCustomHeaders(value, label) {
102
+ if (!Array.isArray(value))
103
+ throw new Error(`${label} must be an array`);
104
+ if (value.length > MAX_CUSTOM_HEADERS)
105
+ throw new Error(`${label} allows at most ${MAX_CUSTOM_HEADERS} headers`);
106
+ const headers = [];
107
+ const seen = new Set();
108
+ for (const [index, entry] of value.entries()) {
109
+ const path = `${label}[${index}]`;
110
+ const header = object(entry, path);
111
+ exactShape(header, ["name"], ["value"], path);
112
+ const name = header["name"];
113
+ if (typeof name !== "string" || !HEADER_NAME.test(name)) {
114
+ throw new Error(`${path}.name must be a header token of at most 63 characters`);
115
+ }
116
+ const lowered = name.toLowerCase();
117
+ if (RESERVED_HEADER_NAMES.includes(lowered))
118
+ throw new Error(`${path}.name is configured by its own setting`);
119
+ if (seen.has(lowered))
120
+ throw new Error(`${path}.name is listed twice`);
121
+ seen.add(lowered);
122
+ const raw = header["value"];
123
+ if (raw === undefined) {
124
+ headers.push({ name });
125
+ continue;
126
+ }
127
+ if (typeof raw !== "string")
128
+ throw new Error(`${path}.value must be a string`);
129
+ if (raw.length > MAX_HEADER_VALUE_CHARS)
130
+ throw new Error(`${path}.value is longer than ${MAX_HEADER_VALUE_CHARS} characters`);
131
+ if (/[\u0000-\u001f\u007f]/.test(raw))
132
+ throw new Error(`${path}.value cannot contain control characters`);
133
+ if (raw.trim() === "")
134
+ throw new Error(`${path}.value cannot be blank`);
135
+ headers.push({ name, value: raw });
136
+ }
137
+ return headers;
138
+ }
139
+ function optionalCustomHeaders(value, label) {
140
+ if (value === undefined)
141
+ return undefined;
142
+ return decodeCustomHeaders(value, label);
143
+ }
64
144
  function object(value, path) {
65
145
  if (typeof value !== "object" || value === null || Array.isArray(value))
66
146
  throw new Error(`${path} must be an object`);
@@ -81,11 +161,33 @@ function optionalString(value, path, maximum) {
81
161
  }
82
162
  return value.trim();
83
163
  }
164
+ function optionalSecret(value, path) {
165
+ if (value === undefined)
166
+ return undefined;
167
+ const secret = optionalString(value, path, 16_384);
168
+ if (!secret)
169
+ return undefined;
170
+ if (/[\r\n\u0000]/.test(secret))
171
+ throw new Error(`${path} cannot contain line breaks`);
172
+ return secret;
173
+ }
84
174
  function booleanValue(value, path) {
85
175
  if (typeof value !== "boolean")
86
176
  throw new Error(`${path} must be boolean`);
87
177
  return value;
88
178
  }
179
+ function optionalBooleanValue(value, path) {
180
+ return value === undefined ? undefined : booleanValue(value, path);
181
+ }
182
+ function boundedPositiveInteger(value, path, maximum) {
183
+ if (!Number.isSafeInteger(value) || Number(value) <= 0 || Number(value) > maximum) {
184
+ throw new Error(`${path} must be a positive integer no greater than ${maximum}`);
185
+ }
186
+ return Number(value);
187
+ }
188
+ function optionalBoundedPositiveInteger(value, path, maximum) {
189
+ return value === undefined ? undefined : boundedPositiveInteger(value, path, maximum);
190
+ }
89
191
  function modelIdentifier(value, path, allowSlash) {
90
192
  const identifier = optionalString(value, path, 128);
91
193
  const expression = allowSlash ? /^[A-Za-z0-9][A-Za-z0-9._:/-]*$/ : /^[A-Za-z0-9][A-Za-z0-9._-]*$/;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-settings.js","sourceRoot":"","sources":["../../src/settings/llm-settings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-settings.js","sourceRoot":"","sources":["../../src/settings/llm-settings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Model endpoint shape shared by `config.json`, the settings service and every
3
+ * client. It lives in its own module so `src/config/config.ts` can validate the
4
+ * persisted value without importing the settings surface that depends on it.
5
+ */
6
+ export type ModelApi = "provider-default" | "openai-completions" | "openai-responses" | "anthropic-messages" | "google-generative-ai";
7
+ export declare const MODEL_APIS: readonly ModelApi[];
8
+ /** Endpoint overrides only make sense for the OpenAI-compatible custom provider. */
9
+ export declare const CUSTOM_MODEL_APIS: readonly ModelApi[];
10
+ //# sourceMappingURL=model-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-api.d.ts","sourceRoot":"","sources":["../../src/settings/model-api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAChB,kBAAkB,GAClB,oBAAoB,GACpB,kBAAkB,GAClB,oBAAoB,GACpB,sBAAsB,CAAC;AAE3B,eAAO,MAAM,UAAU,EAAE,SAAS,QAAQ,EAMzC,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,iBAAiB,EAAE,SAAS,QAAQ,EAA+C,CAAC"}
@@ -0,0 +1,10 @@
1
+ export const MODEL_APIS = [
2
+ "provider-default",
3
+ "openai-completions",
4
+ "openai-responses",
5
+ "anthropic-messages",
6
+ "google-generative-ai",
7
+ ];
8
+ /** Endpoint overrides only make sense for the OpenAI-compatible custom provider. */
9
+ export const CUSTOM_MODEL_APIS = ["openai-completions", "openai-responses"];
10
+ //# sourceMappingURL=model-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-api.js","sourceRoot":"","sources":["../../src/settings/model-api.ts"],"names":[],"mappings":"AAYA,MAAM,CAAC,MAAM,UAAU,GAAwB;IAC7C,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,oBAAoB;IACpB,sBAAsB;CACvB,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,iBAAiB,GAAwB,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC"}
@@ -5,6 +5,7 @@ export interface PsporePaths {
5
5
  workspace: string;
6
6
  state: string;
7
7
  sessions: string;
8
+ sessionCatalog: string;
8
9
  runs: string;
9
10
  approvals: string;
10
11
  events: string;