@namzu/cli 30.0.0 → 33.0.0

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 (347) hide show
  1. package/CHANGELOG.md +261 -1
  2. package/dist/browser/commands.js +11 -7
  3. package/dist/browser/commands.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +26 -2
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/acp.d.ts +20 -2
  8. package/dist/commands/acp.d.ts.map +1 -1
  9. package/dist/commands/acp.js +42 -5
  10. package/dist/commands/acp.js.map +1 -1
  11. package/dist/commands/archive.d.ts +4 -0
  12. package/dist/commands/archive.d.ts.map +1 -0
  13. package/dist/commands/archive.js +62 -0
  14. package/dist/commands/archive.js.map +1 -0
  15. package/dist/commands/drain.d.ts.map +1 -1
  16. package/dist/commands/drain.js +2 -1
  17. package/dist/commands/drain.js.map +1 -1
  18. package/dist/commands/exec-json.d.ts.map +1 -1
  19. package/dist/commands/exec-json.js +24 -1
  20. package/dist/commands/exec-json.js.map +1 -1
  21. package/dist/commands/exec.d.ts.map +1 -1
  22. package/dist/commands/exec.js +2 -1
  23. package/dist/commands/exec.js.map +1 -1
  24. package/dist/commands/login.d.ts +1 -1
  25. package/dist/commands/login.d.ts.map +1 -1
  26. package/dist/commands/login.js +33 -11
  27. package/dist/commands/login.js.map +1 -1
  28. package/dist/commands/mcp-oauth-login.d.ts +19 -0
  29. package/dist/commands/mcp-oauth-login.d.ts.map +1 -0
  30. package/dist/commands/mcp-oauth-login.js +213 -0
  31. package/dist/commands/mcp-oauth-login.js.map +1 -0
  32. package/dist/commands/mcp.d.ts +3 -0
  33. package/dist/commands/mcp.d.ts.map +1 -0
  34. package/dist/commands/mcp.js +288 -0
  35. package/dist/commands/mcp.js.map +1 -0
  36. package/dist/commands/prior-messages.d.ts.map +1 -1
  37. package/dist/commands/prior-messages.js +42 -2
  38. package/dist/commands/prior-messages.js.map +1 -1
  39. package/dist/commands/schedule.d.ts.map +1 -1
  40. package/dist/commands/schedule.js +7 -5
  41. package/dist/commands/schedule.js.map +1 -1
  42. package/dist/commands/skills.d.ts.map +1 -1
  43. package/dist/commands/skills.js +60 -5
  44. package/dist/commands/skills.js.map +1 -1
  45. package/dist/commands/types.d.ts +2 -0
  46. package/dist/commands/types.d.ts.map +1 -1
  47. package/dist/commands/worktree.d.ts +6 -0
  48. package/dist/commands/worktree.d.ts.map +1 -0
  49. package/dist/commands/worktree.js +85 -0
  50. package/dist/commands/worktree.js.map +1 -0
  51. package/dist/config/composer-triggers.d.ts +41 -0
  52. package/dist/config/composer-triggers.d.ts.map +1 -0
  53. package/dist/config/composer-triggers.js +80 -0
  54. package/dist/config/composer-triggers.js.map +1 -0
  55. package/dist/config/load.d.ts.map +1 -1
  56. package/dist/config/load.js +58 -0
  57. package/dist/config/load.js.map +1 -1
  58. package/dist/config/schema.d.ts +34 -0
  59. package/dist/config/schema.d.ts.map +1 -1
  60. package/dist/config/schema.js.map +1 -1
  61. package/dist/config/user-config.d.ts +2 -0
  62. package/dist/config/user-config.d.ts.map +1 -1
  63. package/dist/config/user-config.js +76 -6
  64. package/dist/config/user-config.js.map +1 -1
  65. package/dist/context/doctrine.d.ts +3 -3
  66. package/dist/context/doctrine.d.ts.map +1 -1
  67. package/dist/context/doctrine.js +3 -3
  68. package/dist/context/doctrine.js.map +1 -1
  69. package/dist/context/runtime-message.d.ts.map +1 -1
  70. package/dist/context/runtime-message.js +4 -0
  71. package/dist/context/runtime-message.js.map +1 -1
  72. package/dist/doctor/checks/credentials.d.ts.map +1 -1
  73. package/dist/doctor/checks/credentials.js +2 -0
  74. package/dist/doctor/checks/credentials.js.map +1 -1
  75. package/dist/integrations/mcp/oauth-store.d.ts +40 -0
  76. package/dist/integrations/mcp/oauth-store.d.ts.map +1 -0
  77. package/dist/integrations/mcp/oauth-store.js +549 -0
  78. package/dist/integrations/mcp/oauth-store.js.map +1 -0
  79. package/dist/integrations/mcp/servers.d.ts +72 -5
  80. package/dist/integrations/mcp/servers.d.ts.map +1 -1
  81. package/dist/integrations/mcp/servers.js +298 -24
  82. package/dist/integrations/mcp/servers.js.map +1 -1
  83. package/dist/integrations/mcp/user-config.d.ts +25 -0
  84. package/dist/integrations/mcp/user-config.d.ts.map +1 -0
  85. package/dist/integrations/mcp/user-config.js +92 -0
  86. package/dist/integrations/mcp/user-config.js.map +1 -0
  87. package/dist/integrations/plugins/runtime.d.ts +11 -9
  88. package/dist/integrations/plugins/runtime.d.ts.map +1 -1
  89. package/dist/integrations/plugins/runtime.js +17 -36
  90. package/dist/integrations/plugins/runtime.js.map +1 -1
  91. package/dist/integrations/providers/credential-store.d.ts +8 -0
  92. package/dist/integrations/providers/credential-store.d.ts.map +1 -1
  93. package/dist/integrations/providers/credential-store.js +111 -22
  94. package/dist/integrations/providers/credential-store.js.map +1 -1
  95. package/dist/integrations/providers/discover.d.ts +11 -5
  96. package/dist/integrations/providers/discover.d.ts.map +1 -1
  97. package/dist/integrations/providers/discover.js +26 -12
  98. package/dist/integrations/providers/discover.js.map +1 -1
  99. package/dist/integrations/providers/index.d.ts +1 -1
  100. package/dist/integrations/providers/index.d.ts.map +1 -1
  101. package/dist/integrations/providers/index.js +1 -1
  102. package/dist/integrations/providers/index.js.map +1 -1
  103. package/dist/integrations/resident/session-step.d.ts.map +1 -1
  104. package/dist/integrations/resident/session-step.js +2 -1
  105. package/dist/integrations/resident/session-step.js.map +1 -1
  106. package/dist/integrations/sessions/store.d.ts +23 -5
  107. package/dist/integrations/sessions/store.d.ts.map +1 -1
  108. package/dist/integrations/sessions/store.js +184 -26
  109. package/dist/integrations/sessions/store.js.map +1 -1
  110. package/dist/integrations/subagents/NamzuCliAgent.d.ts +8 -0
  111. package/dist/integrations/subagents/NamzuCliAgent.d.ts.map +1 -0
  112. package/dist/integrations/subagents/NamzuCliAgent.js +9 -0
  113. package/dist/integrations/subagents/NamzuCliAgent.js.map +1 -0
  114. package/dist/integrations/subagents/runtime.d.ts +9 -6
  115. package/dist/integrations/subagents/runtime.d.ts.map +1 -1
  116. package/dist/integrations/subagents/runtime.js +108 -19
  117. package/dist/integrations/subagents/runtime.js.map +1 -1
  118. package/dist/integrations/subagents/worktree-driver.d.ts +17 -0
  119. package/dist/integrations/subagents/worktree-driver.d.ts.map +1 -0
  120. package/dist/integrations/subagents/worktree-driver.js +72 -0
  121. package/dist/integrations/subagents/worktree-driver.js.map +1 -0
  122. package/dist/integrations/web/search.d.ts.map +1 -1
  123. package/dist/integrations/web/search.js +8 -6
  124. package/dist/integrations/web/search.js.map +1 -1
  125. package/dist/integrations/worktrees/managed.d.ts +49 -0
  126. package/dist/integrations/worktrees/managed.d.ts.map +1 -0
  127. package/dist/integrations/worktrees/managed.js +231 -0
  128. package/dist/integrations/worktrees/managed.js.map +1 -0
  129. package/dist/permissions/rules.d.ts +5 -1
  130. package/dist/permissions/rules.d.ts.map +1 -1
  131. package/dist/permissions/rules.js +85 -3
  132. package/dist/permissions/rules.js.map +1 -1
  133. package/dist/schedule/build.d.ts +19 -2
  134. package/dist/schedule/build.d.ts.map +1 -1
  135. package/dist/schedule/build.js +119 -21
  136. package/dist/schedule/build.js.map +1 -1
  137. package/dist/schedule/changes.d.ts.map +1 -1
  138. package/dist/schedule/changes.js +13 -0
  139. package/dist/schedule/changes.js.map +1 -1
  140. package/dist/schedule/commands/add.d.ts +1 -1
  141. package/dist/schedule/commands/add.d.ts.map +1 -1
  142. package/dist/schedule/commands/add.js +186 -40
  143. package/dist/schedule/commands/add.js.map +1 -1
  144. package/dist/schedule/commands/list.d.ts +2 -0
  145. package/dist/schedule/commands/list.d.ts.map +1 -1
  146. package/dist/schedule/commands/list.js +64 -19
  147. package/dist/schedule/commands/list.js.map +1 -1
  148. package/dist/schedule/daemon/daemon.d.ts +1 -1
  149. package/dist/schedule/daemon/daemon.d.ts.map +1 -1
  150. package/dist/schedule/daemon/daemon.js +17 -5
  151. package/dist/schedule/daemon/daemon.js.map +1 -1
  152. package/dist/schedule/daemon/notify.d.ts +21 -1
  153. package/dist/schedule/daemon/notify.d.ts.map +1 -1
  154. package/dist/schedule/daemon/notify.js +43 -0
  155. package/dist/schedule/daemon/notify.js.map +1 -1
  156. package/dist/schedule/fire/fire.d.ts +1 -1
  157. package/dist/schedule/fire/fire.d.ts.map +1 -1
  158. package/dist/schedule/fire/fire.js +205 -14
  159. package/dist/schedule/fire/fire.js.map +1 -1
  160. package/dist/schedule/fire/result.d.ts +1 -1
  161. package/dist/schedule/fire/result.d.ts.map +1 -1
  162. package/dist/schedule/fire/result.js +2 -1
  163. package/dist/schedule/fire/result.js.map +1 -1
  164. package/dist/schedule/fire/run-script.d.ts +46 -0
  165. package/dist/schedule/fire/run-script.d.ts.map +1 -0
  166. package/dist/schedule/fire/run-script.js +81 -0
  167. package/dist/schedule/fire/run-script.js.map +1 -0
  168. package/dist/schedule/fire/unattended-note.d.ts +8 -0
  169. package/dist/schedule/fire/unattended-note.d.ts.map +1 -1
  170. package/dist/schedule/fire/unattended-note.js +5 -0
  171. package/dist/schedule/fire/unattended-note.js.map +1 -1
  172. package/dist/schedule/fire/wake-gate.d.ts +39 -0
  173. package/dist/schedule/fire/wake-gate.d.ts.map +1 -0
  174. package/dist/schedule/fire/wake-gate.js +90 -0
  175. package/dist/schedule/fire/wake-gate.js.map +1 -0
  176. package/dist/schedule/floor.d.ts +1 -1
  177. package/dist/schedule/floor.d.ts.map +1 -1
  178. package/dist/schedule/floor.js +288 -16
  179. package/dist/schedule/floor.js.map +1 -1
  180. package/dist/schedule/policy.d.ts +40 -0
  181. package/dist/schedule/policy.d.ts.map +1 -1
  182. package/dist/schedule/policy.js +36 -0
  183. package/dist/schedule/policy.js.map +1 -1
  184. package/dist/schedule/script-check.d.ts +53 -0
  185. package/dist/schedule/script-check.d.ts.map +1 -0
  186. package/dist/schedule/script-check.js +145 -0
  187. package/dist/schedule/script-check.js.map +1 -0
  188. package/dist/schedule/script-shell.d.ts +3 -0
  189. package/dist/schedule/script-shell.d.ts.map +1 -0
  190. package/dist/schedule/script-shell.js +5 -0
  191. package/dist/schedule/script-shell.js.map +1 -0
  192. package/dist/schedule/service/manifest.js +1 -1
  193. package/dist/schedule/service/manifest.js.map +1 -1
  194. package/dist/schedule/store/atomic.d.ts +5 -2
  195. package/dist/schedule/store/atomic.d.ts.map +1 -1
  196. package/dist/schedule/store/atomic.js +7 -4
  197. package/dist/schedule/store/atomic.js.map +1 -1
  198. package/dist/schedule/store/claims.js +1 -1
  199. package/dist/schedule/store/claims.js.map +1 -1
  200. package/dist/schedule/store/history.d.ts +1 -1
  201. package/dist/schedule/store/history.d.ts.map +1 -1
  202. package/dist/schedule/store/history.js +4 -1
  203. package/dist/schedule/store/history.js.map +1 -1
  204. package/dist/schedule/store/jobs.d.ts +19 -3
  205. package/dist/schedule/store/jobs.d.ts.map +1 -1
  206. package/dist/schedule/store/jobs.js +83 -16
  207. package/dist/schedule/store/jobs.js.map +1 -1
  208. package/dist/schedule/store/state.js +1 -1
  209. package/dist/schedule/store/state.js.map +1 -1
  210. package/dist/schedule/types.d.ts +71 -6
  211. package/dist/schedule/types.d.ts.map +1 -1
  212. package/dist/schedule/types.js +25 -1
  213. package/dist/schedule/types.js.map +1 -1
  214. package/dist/schedule/visible-source.d.ts +18 -0
  215. package/dist/schedule/visible-source.d.ts.map +1 -0
  216. package/dist/schedule/visible-source.js +59 -0
  217. package/dist/schedule/visible-source.js.map +1 -0
  218. package/dist/skills/audit.d.ts +31 -0
  219. package/dist/skills/audit.d.ts.map +1 -0
  220. package/dist/skills/audit.js +75 -0
  221. package/dist/skills/audit.js.map +1 -0
  222. package/dist/test-support/toolset.d.ts +23 -0
  223. package/dist/test-support/toolset.d.ts.map +1 -0
  224. package/dist/test-support/toolset.js +27 -0
  225. package/dist/test-support/toolset.js.map +1 -0
  226. package/dist/tui/App.d.ts.map +1 -1
  227. package/dist/tui/App.js +568 -106
  228. package/dist/tui/App.js.map +1 -1
  229. package/dist/tui/ChoicePicker.d.ts +2 -0
  230. package/dist/tui/ChoicePicker.d.ts.map +1 -1
  231. package/dist/tui/ChoicePicker.js +10 -2
  232. package/dist/tui/ChoicePicker.js.map +1 -1
  233. package/dist/tui/Composer.d.ts +62 -3
  234. package/dist/tui/Composer.d.ts.map +1 -1
  235. package/dist/tui/Composer.js +162 -25
  236. package/dist/tui/Composer.js.map +1 -1
  237. package/dist/tui/ComposerFrame.d.ts +1 -1
  238. package/dist/tui/ComposerFrame.js +3 -3
  239. package/dist/tui/ComposerFrame.js.map +1 -1
  240. package/dist/tui/EffortSlider.d.ts +8 -9
  241. package/dist/tui/EffortSlider.d.ts.map +1 -1
  242. package/dist/tui/EffortSlider.js +15 -12
  243. package/dist/tui/EffortSlider.js.map +1 -1
  244. package/dist/tui/Picker.d.ts.map +1 -1
  245. package/dist/tui/Picker.js +18 -3
  246. package/dist/tui/Picker.js.map +1 -1
  247. package/dist/tui/ResumePicker.d.ts +2 -1
  248. package/dist/tui/ResumePicker.d.ts.map +1 -1
  249. package/dist/tui/ResumePicker.js +3 -3
  250. package/dist/tui/ResumePicker.js.map +1 -1
  251. package/dist/tui/StatusBar.d.ts +12 -12
  252. package/dist/tui/StatusBar.d.ts.map +1 -1
  253. package/dist/tui/StatusBar.js +15 -15
  254. package/dist/tui/StatusBar.js.map +1 -1
  255. package/dist/tui/agent.d.ts +46 -7
  256. package/dist/tui/agent.d.ts.map +1 -1
  257. package/dist/tui/agent.js +399 -182
  258. package/dist/tui/agent.js.map +1 -1
  259. package/dist/tui/browser-notices.d.ts.map +1 -1
  260. package/dist/tui/browser-notices.js +6 -1
  261. package/dist/tui/browser-notices.js.map +1 -1
  262. package/dist/tui/credential-entry.d.ts +4 -29
  263. package/dist/tui/credential-entry.d.ts.map +1 -1
  264. package/dist/tui/credential-entry.js +7 -29
  265. package/dist/tui/credential-entry.js.map +1 -1
  266. package/dist/tui/hypermode.d.ts +37 -0
  267. package/dist/tui/hypermode.d.ts.map +1 -0
  268. package/dist/tui/hypermode.js +58 -0
  269. package/dist/tui/hypermode.js.map +1 -0
  270. package/dist/tui/login-prompt.d.ts +3 -1
  271. package/dist/tui/login-prompt.d.ts.map +1 -1
  272. package/dist/tui/login-prompt.js +11 -0
  273. package/dist/tui/login-prompt.js.map +1 -1
  274. package/dist/tui/permission-review.d.ts +1 -1
  275. package/dist/tui/permission-review.js +1 -1
  276. package/dist/tui/provider-list.d.ts.map +1 -1
  277. package/dist/tui/provider-list.js +3 -1
  278. package/dist/tui/provider-list.js.map +1 -1
  279. package/dist/tui/schedule/host-commands.d.ts.map +1 -1
  280. package/dist/tui/schedule/host-commands.js +94 -33
  281. package/dist/tui/schedule/host-commands.js.map +1 -1
  282. package/dist/tui/schedule/integration.d.ts +6 -2
  283. package/dist/tui/schedule/integration.d.ts.map +1 -1
  284. package/dist/tui/schedule/integration.js +3 -1
  285. package/dist/tui/schedule/integration.js.map +1 -1
  286. package/dist/tui/schedule/resume.d.ts.map +1 -1
  287. package/dist/tui/schedule/resume.js +10 -1
  288. package/dist/tui/schedule/resume.js.map +1 -1
  289. package/dist/tui/schedule/tool-host.d.ts +4 -1
  290. package/dist/tui/schedule/tool-host.d.ts.map +1 -1
  291. package/dist/tui/schedule/tool-host.js +155 -40
  292. package/dist/tui/schedule/tool-host.js.map +1 -1
  293. package/dist/tui/slashCommands.d.ts +33 -6
  294. package/dist/tui/slashCommands.d.ts.map +1 -1
  295. package/dist/tui/slashCommands.js +96 -34
  296. package/dist/tui/slashCommands.js.map +1 -1
  297. package/dist/tui/theme.d.ts +10 -4
  298. package/dist/tui/theme.d.ts.map +1 -1
  299. package/dist/tui/theme.js +4 -3
  300. package/dist/tui/theme.js.map +1 -1
  301. package/dist/tui/triggers/analyze.d.ts +57 -0
  302. package/dist/tui/triggers/analyze.d.ts.map +1 -0
  303. package/dist/tui/triggers/analyze.js +221 -0
  304. package/dist/tui/triggers/analyze.js.map +1 -0
  305. package/dist/tui/triggers/context-text.d.ts +21 -0
  306. package/dist/tui/triggers/context-text.d.ts.map +1 -0
  307. package/dist/tui/triggers/context-text.js +44 -0
  308. package/dist/tui/triggers/context-text.js.map +1 -0
  309. package/dist/tui/triggers/copy.d.ts +38 -0
  310. package/dist/tui/triggers/copy.d.ts.map +1 -0
  311. package/dist/tui/triggers/copy.js +163 -0
  312. package/dist/tui/triggers/copy.js.map +1 -0
  313. package/dist/tui/triggers/detect.d.ts +83 -0
  314. package/dist/tui/triggers/detect.d.ts.map +1 -0
  315. package/dist/tui/triggers/detect.js +295 -0
  316. package/dist/tui/triggers/detect.js.map +1 -0
  317. package/dist/tui/triggers/fold.d.ts +34 -0
  318. package/dist/tui/triggers/fold.d.ts.map +1 -0
  319. package/dist/tui/triggers/fold.js +44 -0
  320. package/dist/tui/triggers/fold.js.map +1 -0
  321. package/dist/tui/triggers/pattern.d.ts +66 -0
  322. package/dist/tui/triggers/pattern.d.ts.map +1 -0
  323. package/dist/tui/triggers/pattern.js +243 -0
  324. package/dist/tui/triggers/pattern.js.map +1 -0
  325. package/dist/tui/triggers/provenance.d.ts +58 -0
  326. package/dist/tui/triggers/provenance.d.ts.map +1 -0
  327. package/dist/tui/triggers/provenance.js +98 -0
  328. package/dist/tui/triggers/provenance.js.map +1 -0
  329. package/dist/tui/triggers/registry.d.ts +113 -0
  330. package/dist/tui/triggers/registry.d.ts.map +1 -0
  331. package/dist/tui/triggers/registry.js +164 -0
  332. package/dist/tui/triggers/registry.js.map +1 -0
  333. package/dist/tui/triggers/setting.d.ts +18 -0
  334. package/dist/tui/triggers/setting.d.ts.map +1 -0
  335. package/dist/tui/triggers/setting.js +61 -0
  336. package/dist/tui/triggers/setting.js.map +1 -0
  337. package/dist/tui/triggers/verbs.d.ts +29 -0
  338. package/dist/tui/triggers/verbs.d.ts.map +1 -0
  339. package/dist/tui/triggers/verbs.js +140 -0
  340. package/dist/tui/triggers/verbs.js.map +1 -0
  341. package/dist/tui/turn-interruption.d.ts.map +1 -1
  342. package/dist/tui/turn-interruption.js +4 -0
  343. package/dist/tui/turn-interruption.js.map +1 -1
  344. package/dist/tui/types.d.ts +3 -1
  345. package/dist/tui/types.d.ts.map +1 -1
  346. package/package.json +13 -12
  347. package/skills/schedule-task/SKILL.md +115 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config.d.ts","sourceRoot":"","sources":["../../../src/integrations/mcp/user-config.ts"],"names":[],"mappings":"AAGA,OAAO,EACN,KAAK,sBAAsB,EAI3B,MAAM,6BAA6B,CAAA;AACpC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAIjD,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACtB;AAED,+EAA+E;AAC/E,wBAAgB,kBAAkB,CAAC,IAAI,GAAE,sBAA2B,GAAG,SAAS,aAAa,EAAE,CAmB9F;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,IAAI,GAAE,sBAA2B,GAC/B,MAAM,CAUR;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAE5F;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAA;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AAED,wFAAwF;AACxF,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,aAAa,GAAG,oBAAoB,CAoCjF"}
@@ -0,0 +1,92 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { isMap, parseDocument } from 'yaml';
3
+ import { deleteUserConfigValue, setUserConfigValue, userConfigPath, } from '../../config/user-config.js';
4
+ const MCP_NAME = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
5
+ /** Read only the user's own entries, not project/profile/managed overrides. */
6
+ export function readUserMcpServers(opts = {}) {
7
+ const file = userConfigPath(opts);
8
+ if (!existsSync(file))
9
+ return [];
10
+ const doc = parseDocument(readFileSync(file, 'utf8'));
11
+ if (doc.errors.length > 0) {
12
+ throw new Error(`${file} is not valid YAML (${doc.errors[0]?.message ?? 'parse error'}); fix it first`);
13
+ }
14
+ if (doc.contents !== null && !isMap(doc.contents)) {
15
+ throw new Error(`${file} is not a mapping of settings; fix it first`);
16
+ }
17
+ const node = doc.get('mcpServers', true);
18
+ if (node === undefined)
19
+ return [];
20
+ if (!isMap(node))
21
+ throw new Error(`${file}: mcpServers is not a mapping; fix it first`);
22
+ return Object.entries(node.toJSON()).map(([name, spec]) => ({
23
+ name,
24
+ spec,
25
+ }));
26
+ }
27
+ export function isUserMcpName(name) {
28
+ return MCP_NAME.test(name);
29
+ }
30
+ /** Never replace an entry silently: the existing server may carry permissions. */
31
+ export function addUserMcpServer(name, spec, opts = {}) {
32
+ if (!isUserMcpName(name)) {
33
+ throw new Error('server name must start with a letter and contain only letters, digits, _ or - (up to 64 characters)');
34
+ }
35
+ if (readUserMcpServers(opts).some((entry) => entry.name === name)) {
36
+ throw new Error(`server "${name}" already exists in ${userConfigPath(opts)}`);
37
+ }
38
+ return setUserConfigValue(['mcpServers', name], spec, opts);
39
+ }
40
+ export function removeUserMcpServer(name, opts = {}) {
41
+ return deleteUserConfigValue(['mcpServers', name], opts);
42
+ }
43
+ /** Display metadata only. Headers, environment values, and argv can contain secrets. */
44
+ export function summarizeUserMcpServer(entry) {
45
+ const spec = entry.spec;
46
+ if (typeof spec !== 'object' || spec === null || Array.isArray(spec)) {
47
+ return { name: entry.name, transport: 'invalid' };
48
+ }
49
+ const value = spec;
50
+ const command = typeof value.command === 'string' ? value.command : undefined;
51
+ const url = typeof value.url === 'string' ? value.url : undefined;
52
+ if (command && !url) {
53
+ return {
54
+ name: entry.name,
55
+ transport: 'stdio',
56
+ command,
57
+ argumentCount: Array.isArray(value.args) ? value.args.length : 0,
58
+ envNames: mappingKeys(value.env),
59
+ inheritEnv: stringList(value.inheritEnv),
60
+ };
61
+ }
62
+ if (url && !command) {
63
+ let endpoint;
64
+ try {
65
+ const parsed = new URL(url);
66
+ // Tokenized MCP endpoints can carry credentials in path segments. Show
67
+ // only the origin in both human and structured summaries.
68
+ endpoint = parsed.origin;
69
+ }
70
+ catch {
71
+ endpoint = '(invalid URL)';
72
+ }
73
+ return {
74
+ name: entry.name,
75
+ transport: 'http',
76
+ endpoint,
77
+ headerNames: mappingKeys(value.headers),
78
+ };
79
+ }
80
+ return { name: entry.name, transport: 'invalid' };
81
+ }
82
+ function mappingKeys(value) {
83
+ return typeof value === 'object' && value !== null && !Array.isArray(value)
84
+ ? Object.keys(value)
85
+ : [];
86
+ }
87
+ function stringList(value) {
88
+ return Array.isArray(value)
89
+ ? value.filter((item) => typeof item === 'string')
90
+ : [];
91
+ }
92
+ //# sourceMappingURL=user-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../../src/integrations/mcp/user-config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { PluginLifecycleManager, SkillRegistry, type ToolDefinition, type ToolRegistry } from '@namzu/sdk';
1
+ import { PluginLifecycleManager, SkillRegistry } from '@namzu/sdk';
2
2
  import type { HooksConfig, PluginConfig, PluginScope } from '../../config/schema.js';
3
3
  export interface CliPluginRuntime {
4
4
  readonly manager: PluginLifecycleManager;
@@ -30,18 +30,20 @@ export interface CliPluginInfo {
30
30
  * The exact `enabled === true` check is the default-off boundary. Nothing in
31
31
  * the plugin directories is discovered, read, or imported on every other
32
32
  * value. Callers invoke this only after project trust has pinned `cwd`.
33
+ *
34
+ * No longer takes a tool registry to register into (plan.md v3 §7):
35
+ * `PluginLifecycleManager` exposes one live file source per plugin and one
36
+ * live MCP source per plugin server (`manager.toolsets`); a caller folds them into
37
+ * its own `toolsets` array. The `skill` tool itself is the CALLER's concern
38
+ * now too — this runtime only reports `skills.size` so the caller can decide
39
+ * live whether to offer it, rather than this module owning a "who registered
40
+ * it first" flag over a shared mutable registry.
33
41
  */
34
- export declare function createCliPluginRuntime(config: PluginConfig | undefined, tools: ToolRegistry, cwd: string,
42
+ export declare function createCliPluginRuntime(config: PluginConfig | undefined, cwd: string,
35
43
  /**
36
44
  * Operator shell hooks. They ride the same lifecycle manager plugins use,
37
45
  * so a session with hooks and no plugins still builds one — with nothing
38
46
  * installed, and `pluginCount` honestly 0.
39
47
  */
40
- hooks?: HooksConfig,
41
- /**
42
- * The `skill` tool to register when plugin skills arrive and the session
43
- * has none yet: the session's own, so a plugin skill is told the same
44
- * directory rules as a file skill. Defaults to the SDK's `SkillTool`.
45
- */
46
- skillTool?: ToolDefinition): Promise<CliPluginRuntime | undefined>;
48
+ hooks?: HooksConfig): Promise<CliPluginRuntime | undefined>;
47
49
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/plugins/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EAEtB,aAAa,EAEb,KAAK,cAAc,EACnB,KAAK,YAAY,EAGjB,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKpF,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,IAAI,IAAI,SAAS,aAAa,EAAE,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC;AAMD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,KAAK,EAAE,YAAY,EACnB,GAAG,EAAE,MAAM;AACX;;;;GAIG;AACH,KAAK,CAAC,EAAE,WAAW;AACnB;;;;GAIG;AACH,SAAS,GAAE,cAA0B,GACnC,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAyKvC"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../../src/integrations/plugins/runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,sBAAsB,EAEtB,aAAa,EAGb,MAAM,YAAY,CAAA;AAEnB,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAKpF,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAA;IACxC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAA;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,IAAI,IAAI,SAAS,aAAa,EAAE,CAAA;IAChC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACzD,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,kFAAkF;AAClF,MAAM,WAAW,aAAa;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;IACjC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;IACjC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;IAClC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAA;CACtC;AAMD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,sBAAsB,CAC3C,MAAM,EAAE,YAAY,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM;AACX;;;;GAIG;AACH,KAAK,CAAC,EAAE,WAAW,GACjB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAuJvC"}
@@ -1,4 +1,4 @@
1
- import { PluginLifecycleManager, PluginRegistry, SkillRegistry, SkillTool, attachShellHooks, discoverAllPluginDirs, } from '@namzu/sdk';
1
+ import { PluginLifecycleManager, PluginRegistry, SkillRegistry, attachShellHooks, discoverAllPluginDirs, } from '@namzu/sdk';
2
2
  import { cliLogger } from '../../logging.js';
3
3
  import { resolveNamzuHome } from '../state/home.js';
4
4
  import { PluginSettingsStore } from './settings.js';
@@ -11,20 +11,22 @@ function message(error) {
11
11
  * The exact `enabled === true` check is the default-off boundary. Nothing in
12
12
  * the plugin directories is discovered, read, or imported on every other
13
13
  * value. Callers invoke this only after project trust has pinned `cwd`.
14
+ *
15
+ * No longer takes a tool registry to register into (plan.md v3 §7):
16
+ * `PluginLifecycleManager` exposes one live file source per plugin and one
17
+ * live MCP source per plugin server (`manager.toolsets`); a caller folds them into
18
+ * its own `toolsets` array. The `skill` tool itself is the CALLER's concern
19
+ * now too — this runtime only reports `skills.size` so the caller can decide
20
+ * live whether to offer it, rather than this module owning a "who registered
21
+ * it first" flag over a shared mutable registry.
14
22
  */
15
- export async function createCliPluginRuntime(config, tools, cwd,
23
+ export async function createCliPluginRuntime(config, cwd,
16
24
  /**
17
25
  * Operator shell hooks. They ride the same lifecycle manager plugins use,
18
26
  * so a session with hooks and no plugins still builds one — with nothing
19
27
  * installed, and `pluginCount` honestly 0.
20
28
  */
21
- hooks,
22
- /**
23
- * The `skill` tool to register when plugin skills arrive and the session
24
- * has none yet: the session's own, so a plugin skill is told the same
25
- * directory rules as a file skill. Defaults to the SDK's `SkillTool`.
26
- */
27
- skillTool = SkillTool) {
29
+ hooks) {
28
30
  const pluginsEnabled = config?.enabled === true;
29
31
  const hookCount = hooks ? Object.values(hooks).reduce((n, list) => n + (list?.length ?? 0), 0) : 0;
30
32
  if (!pluginsEnabled && hookCount === 0)
@@ -36,7 +38,6 @@ skillTool = SkillTool) {
36
38
  const skills = new SkillRegistry(log);
37
39
  const manager = new PluginLifecycleManager({
38
40
  pluginRegistry: plugins,
39
- toolRegistry: tools,
40
41
  skillRegistry: skills,
41
42
  scopeRoots: { project: cwd, user: userRoot },
42
43
  log,
@@ -55,7 +56,6 @@ skillTool = SkillTool) {
55
56
  })
56
57
  : { project: [], user: [] };
57
58
  const installed = [];
58
- let ownsSkillTool = false;
59
59
  try {
60
60
  for (const scope of allowedScopes) {
61
61
  const dirs = [...discovered[scope]].sort((a, b) => a.localeCompare(b));
@@ -67,14 +67,8 @@ skillTool = SkillTool) {
67
67
  await manager.enable(plugin.id);
68
68
  }
69
69
  }
70
- if (skills.size > 0 && !tools.has(skillTool.name)) {
71
- tools.register(skillTool);
72
- ownsSkillTool = true;
73
- }
74
70
  }
75
71
  catch (error) {
76
- if (ownsSkillTool)
77
- tools.unregister(skillTool.name);
78
72
  const cleanupErrors = [];
79
73
  for (const plugin of [...installed].reverse()) {
80
74
  try {
@@ -94,16 +88,11 @@ skillTool = SkillTool) {
94
88
  let closePromise;
95
89
  let closed = false;
96
90
  let mutation;
97
- const syncSkillTool = () => {
98
- if (skills.size > 0 && !tools.has(skillTool.name)) {
99
- tools.register(skillTool);
100
- ownsSkillTool = true;
101
- }
102
- else if (skills.size === 0 && ownsSkillTool) {
103
- tools.unregister(skillTool.name);
104
- ownsSkillTool = false;
105
- }
106
- };
91
+ const contributedToolNames = (prefix) => manager.toolsets
92
+ .flatMap((ts) => ts.tools())
93
+ .map((tool) => tool.name)
94
+ .filter((name) => name.startsWith(prefix))
95
+ .sort();
107
96
  return {
108
97
  manager,
109
98
  skills,
@@ -129,10 +118,7 @@ skillTool = SkillTool) {
129
118
  status: plugin.status === 'installed' ? 'disabled' : plugin.status,
130
119
  ...(startupEnabled !== undefined ? { startupEnabled } : {}),
131
120
  ...(startupError ? { startupError } : {}),
132
- tools: tools
133
- .listNames()
134
- .filter((name) => name.startsWith(prefix))
135
- .sort(),
121
+ tools: contributedToolNames(prefix),
136
122
  skills: skills
137
123
  .list()
138
124
  .map((skill) => skill.metadata.name)
@@ -159,7 +145,6 @@ skillTool = SkillTool) {
159
145
  await mutation;
160
146
  }
161
147
  finally {
162
- syncSkillTool();
163
148
  mutation = undefined;
164
149
  }
165
150
  },
@@ -185,10 +170,6 @@ skillTool = SkillTool) {
185
170
  if (mutation)
186
171
  await mutation.catch(() => { });
187
172
  const errors = [];
188
- if (ownsSkillTool) {
189
- tools.unregister(skillTool.name);
190
- ownsSkillTool = false;
191
- }
192
173
  for (const plugin of [...installed].reverse()) {
193
174
  try {
194
175
  await manager.uninstall(plugin.id);
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/plugins/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../../src/integrations/plugins/runtime.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,14 @@ export type ConditionalCodexCredentialWrite = {
66
66
  readonly current: StoredCodexCredential | null;
67
67
  };
68
68
  export declare function credentialsPath(home?: string): string;
69
+ /** Kept separate from subscriptions so older credentials.json writers cannot erase it. */
70
+ export declare function googleApiKeyPath(home?: string): string;
71
+ /** Return only a Namzu-owned, private Gemini API key. Never read a symlink. */
72
+ export declare function readStoredGeminiApiKey(home?: string): string | null;
73
+ /** Atomically publish a verified-private key after a usable Google session opens. */
74
+ export declare function writeStoredGeminiApiKey(apiKey: string, home?: string): string;
75
+ /** Remove Namzu's Gemini key without changing environment or Gemini CLI credentials. */
76
+ export declare function clearStoredGeminiApiKey(home?: string): void;
69
77
  /**
70
78
  * The stored subscription credential, or `null` when there is none.
71
79
  *
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/credential-store.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAqBH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AAKzD,eAAO,MAAM,wBAAwB,EAAG,CAAU,CAAA;AAElD,wFAAwF;AACxF,qBAAa,oBAAqB,SAAQ,KAAK;IAC9C,SAAkB,IAAI,0BAAyB;CAC/C;AAED,MAAM,MAAM,0BAA0B,GACnC;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACnE;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAAA;CAAE,CAAA;AAE9E,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IAClE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC1B;AAED,MAAM,MAAM,+BAA+B,GACxC;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,GACpE;IACA,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAAA;CAC7C,CAAA;AAQJ,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAErD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAE3F;AAED,4EAA4E;AAC5E,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI,CAErF;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAChD,IAAI,EAAE,oBAAoB,EAC1B,IAAI,CAAC,EAAE,MAAM,GACX,MAAM,CAUR;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,qBAAqB,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAc7F;AAED,wBAAgB,4BAA4B,CAC3C,QAAQ,EAAE,qBAAqB,EAC/B,WAAW,EAAE,qBAAqB,EAClC,IAAI,CAAC,EAAE,MAAM,GACX,+BAA+B,CAiBjC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mCAAmC,CAClD,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,oBAAoB,EACjC,IAAI,CAAC,EAAE,MAAM,GACX,0BAA0B,CAiB5B;AA4DD,wDAAwD;AACxD,wBAAgB,iCAAiC,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAiBrE;AAED,0FAA0F;AAC1F,wBAAgB,0BAA0B,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAc9D;AAED,gEAAgE;AAChE,wBAAgB,yBAAyB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAI7D;AAsGD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAiBlD;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAMpE;AA8DD;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAiBvD;AAED,qFAAqF;AACrF,wBAAgB,cAAc,IAAI,MAAM,GAAG,IAAI,CAc9C;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAmDjF"}
1
+ {"version":3,"file":"credential-store.d.ts","sourceRoot":"","sources":["../../../src/integrations/providers/credential-store.ts"],"names":[],"mappings":"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"}
@@ -44,9 +44,9 @@
44
44
  */
45
45
  import { execFileSync } from 'node:child_process';
46
46
  import { randomBytes } from 'node:crypto';
47
- import { closeSync, fsyncSync, linkSync, mkdirSync, openSync, readFileSync, renameSync, rmSync, statSync, writeFileSync, writeSync, } from 'node:fs';
47
+ import { closeSync, fsyncSync, linkSync, lstatSync, mkdirSync, openSync, readFileSync, readdirSync, renameSync, rmSync, statSync, writeFileSync, writeSync, } from 'node:fs';
48
48
  import { platform, tmpdir } from 'node:os';
49
- import { dirname, join } from 'node:path';
49
+ import { basename, dirname, join } from 'node:path';
50
50
  import { namzuHomePath } from '../state/home.js';
51
51
  const FILE_MODE = 0o600;
52
52
  const DIR_MODE = 0o700;
@@ -58,6 +58,45 @@ export class CredentialStoreError extends Error {
58
58
  export function credentialsPath(home) {
59
59
  return join(namzuHomePath(home), 'credentials.json');
60
60
  }
61
+ /** Kept separate from subscriptions so older credentials.json writers cannot erase it. */
62
+ export function googleApiKeyPath(home) {
63
+ return join(namzuHomePath(home), 'gemini-api-key.json');
64
+ }
65
+ /** Return only a Namzu-owned, private Gemini API key. Never read a symlink. */
66
+ export function readStoredGeminiApiKey(home) {
67
+ const path = googleApiKeyPath(home);
68
+ try {
69
+ protectCredentialParentOnWindows(path);
70
+ const entry = lstatSync(path);
71
+ if (!entry.isFile() || entry.isSymbolicLink())
72
+ return null;
73
+ restrictToOwner(path);
74
+ const parsed = JSON.parse(readFileSync(path, 'utf8'));
75
+ if (typeof parsed !== 'object' || parsed === null)
76
+ return null;
77
+ const record = parsed;
78
+ return record.version === 1 && typeof record.apiKey === 'string' && record.apiKey.trim()
79
+ ? record.apiKey
80
+ : null;
81
+ }
82
+ catch {
83
+ return null;
84
+ }
85
+ }
86
+ /** Atomically publish a verified-private key after a usable Google session opens. */
87
+ export function writeStoredGeminiApiKey(apiKey, home) {
88
+ if (!apiKey.trim())
89
+ throw new CredentialStoreError('Cannot store an empty Gemini API key.');
90
+ const path = googleApiKeyPath(home);
91
+ mkdirSync(dirname(path), { recursive: true, mode: DIR_MODE });
92
+ return withCredentialStoreLock(path, () => writeCredentialBodyUnlocked(`${JSON.stringify({ version: 1, apiKey })}\n`, path));
93
+ }
94
+ /** Remove Namzu's Gemini key without changing environment or Gemini CLI credentials. */
95
+ export function clearStoredGeminiApiKey(home) {
96
+ const path = googleApiKeyPath(home);
97
+ mkdirSync(dirname(path), { recursive: true, mode: DIR_MODE });
98
+ withCredentialStoreLock(path, () => rmSync(path, { force: true }));
99
+ }
61
100
  /**
62
101
  * The stored subscription credential, or `null` when there is none.
63
102
  *
@@ -196,37 +235,56 @@ export function replaceStoredSubscriptionCredential(expected, replacement, home)
196
235
  });
197
236
  }
198
237
  function writeCredentialDocumentUnlocked(document, path) {
199
- const tmp = `${path}.tmp.${process.pid}.${randomBytes(6).toString('hex')}`;
200
238
  const body = `${JSON.stringify(serializeDocument(document), null, 2)}\n`;
239
+ return writeCredentialBodyUnlocked(body, path);
240
+ }
241
+ function writeCredentialBodyUnlocked(body, path) {
242
+ const tmp = `${path}.tmp.${process.pid}.${randomBytes(6).toString('hex')}`;
201
243
  let fd;
244
+ let placing = false;
202
245
  try {
203
246
  // `wx` — refuse an existing path rather than truncate one, so a name
204
247
  // collision can never hand us a file somebody else already opened.
205
248
  fd = openSync(tmp, 'wx', FILE_MODE);
206
- writeSync(fd, body);
207
- }
208
- catch (err) {
209
- if (fd !== undefined)
210
- closeSync(fd);
211
- rmSync(tmp, { force: true });
212
- throw new CredentialStoreError(`could not write ${path}: ${err instanceof Error ? err.message : String(err)}`);
213
- }
214
- closeSync(fd);
215
- try {
249
+ // On Windows, `0600` does not govern the ACL. Prove the still-empty
250
+ // file is private before putting a credential into it.
216
251
  restrictToOwner(tmp);
217
- }
218
- catch (err) {
219
- rmSync(tmp, { force: true });
220
- throw err;
221
- }
222
- try {
252
+ const bytes = Buffer.from(body, 'utf8');
253
+ for (let offset = 0; offset < bytes.length;) {
254
+ const written = writeSync(fd, bytes, offset, bytes.length - offset);
255
+ if (written <= 0 || written > bytes.length - offset) {
256
+ throw new Error('credential write did not make progress');
257
+ }
258
+ offset += written;
259
+ }
260
+ fsyncSync(fd);
261
+ closeSync(fd);
262
+ fd = undefined;
263
+ // Re-check after the write, before the name becomes discoverable.
264
+ restrictToOwner(tmp);
265
+ placing = true;
223
266
  renameSync(tmp, path);
267
+ return path;
224
268
  }
225
269
  catch (err) {
226
- rmSync(tmp, { force: true });
227
- throw new CredentialStoreError(`could not place ${path}: ${err instanceof Error ? err.message : String(err)}`);
270
+ if (fd !== undefined) {
271
+ try {
272
+ closeSync(fd);
273
+ }
274
+ catch {
275
+ // A failed close may already have closed the descriptor. Remove the
276
+ // temporary name in either case and report if that also fails.
277
+ }
278
+ }
279
+ let cleanupError;
280
+ try {
281
+ rmSync(tmp, { force: true });
282
+ }
283
+ catch (error) {
284
+ cleanupError = error;
285
+ }
286
+ throw new CredentialStoreError(`could not ${placing ? 'place' : 'write'} ${path}: ${err instanceof Error ? err.message : String(err)}${cleanupError ? `; temporary file ${tmp} could not be removed: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}` : ''}`);
228
287
  }
229
- return path;
230
288
  }
231
289
  function serializeDocument(document) {
232
290
  const credential = (value) => ({
@@ -310,6 +368,7 @@ function sameCodexCredential(left, right) {
310
368
  * operator proves no process owns the store and removes it.
311
369
  */
312
370
  function withCredentialStoreLock(path, operation) {
371
+ protectCredentialParentOnWindows(path);
313
372
  const lockPath = `${path}.lock`;
314
373
  const token = `${process.pid}:${Date.now()}:${randomBytes(12).toString('hex')}`;
315
374
  const published = publishLockAtomically(lockPath, token);
@@ -317,6 +376,7 @@ function withCredentialStoreLock(path, operation) {
317
376
  throw new CredentialStoreError(`could not acquire the credential-store lock for ${path}: another owner or an unrecovered process lock is present (${published.error instanceof Error ? published.error.message : String(published.error)}). Refusing concurrent mutation; after proving no Namzu process is using this credential store, remove ${lockPath} and retry.`);
318
377
  }
319
378
  try {
379
+ removeCredentialTempsUnlocked(path);
320
380
  return operation();
321
381
  }
322
382
  finally {
@@ -331,6 +391,35 @@ function withCredentialStoreLock(path, operation) {
331
391
  }
332
392
  }
333
393
  }
394
+ /** Protect the directory before opening any child of it on Windows. */
395
+ function protectCredentialParentOnWindows(path) {
396
+ if (platform() !== 'win32')
397
+ return;
398
+ // Windows grants access when a handle is opened. Tightening an empty temp
399
+ // later cannot revoke another account's already-open handle. The parent
400
+ // must be private before even the lock candidate or credential file opens.
401
+ const parent = dirname(path);
402
+ const entry = lstatSync(parent);
403
+ if (entry.isSymbolicLink() || !entry.isDirectory()) {
404
+ throw new CredentialStoreError(`credential directory must be a real directory: ${parent}`);
405
+ }
406
+ restrictToOwner(parent);
407
+ }
408
+ /** Only a store-lock owner may remove crash leftovers, never an active writer. */
409
+ function removeCredentialTempsUnlocked(path) {
410
+ const prefix = `${basename(path)}.tmp.`;
411
+ try {
412
+ for (const entry of readdirSync(dirname(path))) {
413
+ if (!entry.startsWith(prefix) || !/^\d+\.[0-9a-f]{12}$/u.test(entry.slice(prefix.length))) {
414
+ continue;
415
+ }
416
+ rmSync(join(dirname(path), entry), { force: true });
417
+ }
418
+ }
419
+ catch (error) {
420
+ throw new CredentialStoreError(`could not remove temporary credential files for ${path}: ${error instanceof Error ? error.message : String(error)}`);
421
+ }
422
+ }
334
423
  /**
335
424
  * Publish a complete owner record at the canonical name in one filesystem op.
336
425
  *
@@ -1 +1 @@
1
- {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../../src/integrations/providers/credential-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credential-store.js","sourceRoot":"","sources":["../../../src/integrations/providers/credential-store.ts"],"names":[],"mappings":"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"}