@pixelzx/genesis 2026.5.5-2 → 2026.5.5-3

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 (1017) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/dist/.buildstamp +1 -1
  3. package/dist/abort-Yw60gQ-C.js +201 -0
  4. package/dist/abort.runtime-DYQuut_O.js +2 -0
  5. package/dist/abort.runtime.js +1 -1
  6. package/dist/accounts-BSCHGPHp.js +107 -0
  7. package/dist/accounts-Bb0FqxV2.js +104 -0
  8. package/dist/accounts-BjGgx8lz.js +2 -0
  9. package/dist/acp-cli-emMnOaiO.js +2193 -0
  10. package/dist/acp-spawn-BmyUZuJX.js +1093 -0
  11. package/dist/acp-spawn-DPF5zmnN.js +2 -0
  12. package/dist/acp-stateful-target-driver-CJ4JyIHf.js +89 -0
  13. package/dist/action-agents-D1tXt8Kj.js +67 -0
  14. package/dist/action-focus-Bk6AJsNH.js +132 -0
  15. package/dist/action-help-4nFSAuVo.js +7 -0
  16. package/dist/action-info-D-byoefn.js +101 -0
  17. package/dist/action-kill-Bo-NwBVR.js +33 -0
  18. package/dist/action-list-lAa4rlzN.js +21 -0
  19. package/dist/action-log-BasoUC3L.js +30 -0
  20. package/dist/action-send-DwLkiz4x.js +39 -0
  21. package/dist/action-spawn-C70_iR8d.js +47 -0
  22. package/dist/action-unfocus-dUVMx5Fh.js +29 -0
  23. package/dist/actions.runtime-BdSo6rN8.js +18 -0
  24. package/dist/actions.runtime-BvY67XKu.js +5 -0
  25. package/dist/actions.runtime.js +1 -1
  26. package/dist/agent-DDBv3Vgl.js +2 -0
  27. package/dist/agent-command-DC7I_88W.js +874 -0
  28. package/dist/agent-harness-runtime-TA6YH7Ud.js +144 -0
  29. package/dist/agent-runner-utils-CMe-JIDq.js +239 -0
  30. package/dist/agent-runner.runtime-le6AmJRw.js +3455 -0
  31. package/dist/agent-runner.runtime.js +1 -1
  32. package/dist/agent-runtime-CONy4fDD.js +18 -0
  33. package/dist/agents-BlbOM4XW.js +953 -0
  34. package/dist/agents-Byj8CDAP.js +5 -0
  35. package/dist/aliases-C3Ks5x38.js +2 -0
  36. package/dist/aliases-CxBcx9gF.js +96 -0
  37. package/dist/api-CLoj7nYH.js +3 -0
  38. package/dist/api-DZiRkVPk.js +5 -0
  39. package/dist/api-_Y4nIHNo.js +139 -0
  40. package/dist/approval-gateway-resolver-Ba_2kb3B.js +29 -0
  41. package/dist/approval-gateway-runtime-7VMivk0A.js +2 -0
  42. package/dist/approval-handler-runtime-Bh0onoHD.js +439 -0
  43. package/dist/approval-native-runtime-IYFyT8Hf.js +729 -0
  44. package/dist/attempt-execution.runtime-CpL2tsYd.js +509 -0
  45. package/dist/attempt-execution.runtime.js +1 -1
  46. package/dist/attempt.prompt-helpers-Gx9nGKbW.js +221 -0
  47. package/dist/attempt.tool-run-context-BmuljBMs.js +933 -0
  48. package/dist/audit-CsjqOEVE.js +939 -0
  49. package/dist/audit.runtime-BybEaYH4.js +7 -0
  50. package/dist/audit.runtime.js +1 -1
  51. package/dist/auth-BFbLz2gx.js +383 -0
  52. package/dist/auth-DdoNShRm.js +2 -0
  53. package/dist/auth-order-CtO2WQTH.js +2 -0
  54. package/dist/auth-order-zXIiW-Cn.js +96 -0
  55. package/dist/bash-tools-CnDYSbnX.js +2824 -0
  56. package/dist/bash-tools-DiOcKaak.js +3 -0
  57. package/dist/binding-routing-E9Gh_NqO.js +85 -0
  58. package/dist/binding-targets-C5PbBaZ6.js +121 -0
  59. package/dist/bridge-server-DragdaQD.js +113 -0
  60. package/dist/browser-control-auth-D_M31xJ1.js +2 -0
  61. package/dist/browser-node-runtime-Bgu82luB.js +12 -0
  62. package/dist/browser-profiles-C3ffkgOt.js +2 -0
  63. package/dist/browser-runtime-D84IBo4A.js +387 -0
  64. package/dist/browser-setup-tools-VC7rGCyn.js +13 -0
  65. package/dist/build-DeGDX_pJ.js +550 -0
  66. package/dist/build-info.json +3 -3
  67. package/dist/bundled/boot-md/handler.js +2 -2
  68. package/dist/bundled/session-memory/handler.js +1 -1
  69. package/dist/call-CbvF41H8.js +3 -0
  70. package/dist/call-DuDGOVT1.js +331 -0
  71. package/dist/call.runtime-DztWXjMr.js +2 -0
  72. package/dist/call.runtime.js +1 -1
  73. package/dist/capability-cli-DoJLi3eS.js +1401 -0
  74. package/dist/catchup-Dk-5hIwm.js +300 -0
  75. package/dist/channel-BJ9iEC4Y.js +595 -0
  76. package/dist/channel-BdvsbgZE.js +453 -0
  77. package/dist/channel-Bu-7KaIx.js +1802 -0
  78. package/dist/channel-C9vQNMK1.js +350 -0
  79. package/dist/channel-CZoVAZyW.js +491 -0
  80. package/dist/channel-Cr2KTwyo.js +840 -0
  81. package/dist/channel-DCeC6AEQ.js +297 -0
  82. package/dist/channel-DOGp2TfT.js +1320 -0
  83. package/dist/channel-Dfq1lxxI.js +226 -0
  84. package/dist/channel-core-DiltAzdr.js +5 -0
  85. package/dist/channel-hZDaTBpm.js +1100 -0
  86. package/dist/channel-inbound-DvOS-Z1s.js +31 -0
  87. package/dist/channel-plugin-runtime-PFRHQ61T.js +771 -0
  88. package/dist/channel-runtime-BAjxIEfQ.js +425 -0
  89. package/dist/channel-szBwbQZB.js +1174 -0
  90. package/dist/channel.runtime-B1Ry35gt.js +89 -0
  91. package/dist/channel.runtime-BNp6GxaQ.js +34702 -0
  92. package/dist/channel.runtime-BfjvNvbj.js +2364 -0
  93. package/dist/channel.runtime-BlGn4QYV.js +4 -0
  94. package/dist/channel.runtime-D7bv5rJl.js +576 -0
  95. package/dist/channel.runtime-DQ5gSgeW.js +109 -0
  96. package/dist/channel.runtime-IxClQMdT.js +430 -0
  97. package/dist/channel.setup-BsfyGPgV.js +10 -0
  98. package/dist/channels-Dn2VHRmZ.js +733 -0
  99. package/dist/channels-cli-l4xjPvDv.js +268 -0
  100. package/dist/chat-zUeX8mQw.js +2758 -0
  101. package/dist/clawbot-cli-C3BFdHJB.js +9 -0
  102. package/dist/cli/daemon-cli.js +4 -4
  103. package/dist/cli-BTnpFsj1.js +2 -0
  104. package/dist/cli-CAFQ6Cwy.js +72 -0
  105. package/dist/cli-CiqIbwtg.js +219 -0
  106. package/dist/cli-DL1ppK38.js +2 -0
  107. package/dist/cli-runner-DO6lEPJr.js +286 -0
  108. package/dist/cli-runner.runtime-B-Ic4DyC.js +3 -0
  109. package/dist/cli-runner.runtime-C4cAORcg.js +4 -0
  110. package/dist/cli-runner.runtime.js +1 -1
  111. package/dist/cli-startup-metadata.json +2 -2
  112. package/dist/cli.runtime-CYHctHVS.js +1261 -0
  113. package/dist/cli.runtime.js +1 -1
  114. package/dist/client-Bb_miREU.js +138 -0
  115. package/dist/client-CrPccv7a.js +713 -0
  116. package/dist/command-auth-B7P-1IeA.js +76 -0
  117. package/dist/command-config-resolution-BB-SsCob.js +23 -0
  118. package/dist/command-config-resolution-DMKYb0Kh.js +2 -0
  119. package/dist/command-config-resolution.runtime-Coeaa9lz.js +2 -0
  120. package/dist/command-config-resolution.runtime.js +1 -1
  121. package/dist/command-registry-B2JzWHqy.js +9 -0
  122. package/dist/command-registry-CNUpJUp8.js +4 -0
  123. package/dist/command-registry-core-BLap9aka.js +101 -0
  124. package/dist/command-secret-gateway-ChRXthnT.js +528 -0
  125. package/dist/command-status.runtime-D8VWyC3v.js +87 -0
  126. package/dist/command-status.runtime.js +1 -1
  127. package/dist/commands-acp-QLk1cU5f.js +77 -0
  128. package/dist/commands-compact.runtime-BIHG2RSY.js +10 -0
  129. package/dist/commands-compact.runtime.js +1 -1
  130. package/dist/commands-handlers.runtime-DjimbxSJ.js +4597 -0
  131. package/dist/commands-handlers.runtime.js +1 -1
  132. package/dist/commands-status-DiIQSYSt.js +16 -0
  133. package/dist/commands-status.runtime-DBRxICN6.js +3 -0
  134. package/dist/commands-status.runtime.js +1 -1
  135. package/dist/commands-subagents-control.runtime-BmqXiKHu.js +3 -0
  136. package/dist/commands-subagents-control.runtime-CVQSOd8H.js +2 -0
  137. package/dist/commands-subagents-control.runtime.js +1 -1
  138. package/dist/commands-system-prompt-2qwZc3xL.js +158 -0
  139. package/dist/commands-system-prompt-Clnn_Gct.js +2 -0
  140. package/dist/commands.runtime-DAqpiDPr.js +166 -0
  141. package/dist/commands.runtime.js +1 -1
  142. package/dist/compact-DqOkQZYr.js +1118 -0
  143. package/dist/compact.runtime-CC_l29j4.js +12 -0
  144. package/dist/compact.runtime.js +1 -1
  145. package/dist/completion-cli-DZFJPSiF.js +328 -0
  146. package/dist/config-D9XEe0Cd.js +251 -0
  147. package/dist/config-cli-DVDwIjKr.js +1078 -0
  148. package/dist/configure-39oQUHuK.js +1245 -0
  149. package/dist/configure-BGD8tViZ.js +2 -0
  150. package/dist/connect-options-Fpky6zuL.js +699 -0
  151. package/dist/control-auth-BlqH4IVx.js +125 -0
  152. package/dist/control-service-CaqDohiY.js +156 -0
  153. package/dist/conversation-id-BH9GFVB2.js +235 -0
  154. package/dist/conversation-id-UdIegcf4.js +38 -0
  155. package/dist/conversation-runtime-Bao0kIPf.js +31 -0
  156. package/dist/core-DXUh5Xbm.js +275 -0
  157. package/dist/cron-cli-B1mxHnGP.js +713 -0
  158. package/dist/daemon-cli-CaHBNwMy.js +12 -0
  159. package/dist/daemon-install-BBwOxf1q.js +64 -0
  160. package/dist/delegate-7G7R4C-C.js +64 -0
  161. package/dist/detached-task-runtime-BMdSrcuz.js +73 -0
  162. package/dist/devices-cli-DnEQH3R2.js +496 -0
  163. package/dist/diagnostics-C8VwSDtU.js +154 -0
  164. package/dist/direct-dm-BSEkIiOe.js +64 -0
  165. package/dist/dispatch-1gv6It-6.js +1131 -0
  166. package/dist/dispatch-acp-hbhR9aHr.js +981 -0
  167. package/dist/dispatch-acp-manager.runtime-BXQbK1cO.js +3 -0
  168. package/dist/dispatch-acp-manager.runtime.js +1 -1
  169. package/dist/dispatch-acp.runtime-Dhx090J2.js +19 -0
  170. package/dist/dispatch-acp.runtime.js +1 -1
  171. package/dist/doctor-device-pairing-1gf3tk3g.js +307 -0
  172. package/dist/doctor-gateway-daemon-flow-LEnN6pL-.js +250 -0
  173. package/dist/doctor-gateway-health-DwxLkTV4.js +60 -0
  174. package/dist/doctor-gateway-services-BhqUOY_e.js +316 -0
  175. package/dist/doctor-health-CdJkaUYf.js +59 -0
  176. package/dist/doctor-health-contributions-BaTnIzCT.js +486 -0
  177. package/dist/doctor-prompter-BZTb5rOn.js +56 -0
  178. package/dist/doctor-workspace-status-DnBARoPa.js +75 -0
  179. package/dist/dreaming-BAGFdUxh.js +1574 -0
  180. package/dist/dreaming-narrative-XoOfVb0x.js +595 -0
  181. package/dist/embedded-gateway-stub.runtime-xwZ-M7Ei.js +9 -0
  182. package/dist/embedded-gateway-stub.runtime.js +1 -1
  183. package/dist/entry.js +2 -2
  184. package/dist/exec-approvals-cli-CWVWSMk-.js +498 -0
  185. package/dist/extensionAPI.js +1 -1
  186. package/dist/extensions/active-memory/index.js +1 -1
  187. package/dist/extensions/bluebubbles/api.js +3 -3
  188. package/dist/extensions/bluebubbles/channel-plugin-api.js +1 -1
  189. package/dist/extensions/browser/browser-bridge.js +1 -1
  190. package/dist/extensions/browser/browser-config.js +4 -4
  191. package/dist/extensions/browser/browser-control-auth.js +2 -2
  192. package/dist/extensions/browser/browser-doctor.js +2 -2
  193. package/dist/extensions/browser/browser-maintenance.js +2 -2
  194. package/dist/extensions/browser/browser-profiles.js +2 -2
  195. package/dist/extensions/browser/browser-runtime-api.js +10 -10
  196. package/dist/extensions/browser/index.js +1 -1
  197. package/dist/extensions/browser/plugin-registration.js +1 -1
  198. package/dist/extensions/browser/register.runtime.js +3 -3
  199. package/dist/extensions/browser/runtime-api.js +11 -11
  200. package/dist/extensions/browser/test-support.js +1 -1
  201. package/dist/extensions/device-pair/api.js +1 -1
  202. package/dist/extensions/device-pair/index.js +3 -3
  203. package/dist/extensions/device-pair/notify.js +1 -1
  204. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  205. package/dist/extensions/google-meet/index.js +2 -2
  206. package/dist/extensions/imessage/api.js +3 -3
  207. package/dist/extensions/imessage/channel-plugin-api.js +1 -1
  208. package/dist/extensions/imessage/runtime-api.js +3 -3
  209. package/dist/extensions/irc/api.js +2 -2
  210. package/dist/extensions/irc/channel-plugin-api.js +1 -1
  211. package/dist/extensions/line/api.js +2 -2
  212. package/dist/extensions/line/channel-plugin-api.js +1 -1
  213. package/dist/extensions/line/contract-api.js +1 -1
  214. package/dist/extensions/line/runtime-api.js +4 -4
  215. package/dist/extensions/line/setup-api.js +1 -1
  216. package/dist/extensions/llm-task/index.js +2 -2
  217. package/dist/extensions/lobster/index.js +3 -3
  218. package/dist/extensions/lobster/runtime-api.js +1 -1
  219. package/dist/extensions/mattermost/api.js +1 -1
  220. package/dist/extensions/mattermost/channel-plugin-api.js +1 -1
  221. package/dist/extensions/mattermost/channel-plugin-runtime.js +1 -1
  222. package/dist/extensions/mattermost/policy-api.js +1 -1
  223. package/dist/extensions/mattermost/runtime-api.js +4 -4
  224. package/dist/extensions/mattermost/slash-route-api.js +1 -1
  225. package/dist/extensions/memory-core/api.js +1 -1
  226. package/dist/extensions/memory-core/cli-metadata.js +2 -2
  227. package/dist/extensions/memory-core/index.js +3 -3
  228. package/dist/extensions/memory-lancedb/cli-metadata.js +1 -1
  229. package/dist/extensions/msteams/api.js +1 -1
  230. package/dist/extensions/msteams/channel-plugin-api.js +1 -1
  231. package/dist/extensions/msteams/runtime-api.js +3 -3
  232. package/dist/extensions/msteams/test-api.js +1 -1
  233. package/dist/extensions/nextcloud-talk/api.js +1 -1
  234. package/dist/extensions/nextcloud-talk/channel-plugin-api.js +1 -1
  235. package/dist/extensions/nextcloud-talk/runtime-api.js +2 -2
  236. package/dist/extensions/openshell/index.js +2 -2
  237. package/dist/extensions/signal/api.js +6 -6
  238. package/dist/extensions/signal/channel-plugin-api.js +1 -1
  239. package/dist/extensions/signal/reaction-runtime-api.js +1 -1
  240. package/dist/extensions/signal/runtime-api.js +7 -7
  241. package/dist/extensions/skill-workshop/api.js +1 -1
  242. package/dist/extensions/skill-workshop/index.js +1 -1
  243. package/dist/extensions/synology-chat/api.js +1 -1
  244. package/dist/extensions/synology-chat/channel-plugin-api.js +1 -1
  245. package/dist/extensions/tlon/api.js +2 -2
  246. package/dist/extensions/tlon/channel-plugin-api.js +1 -1
  247. package/dist/extensions/tlon/runtime-api.js +1 -1
  248. package/dist/extensions/tlon/test-api.js +1 -1
  249. package/dist/extensions/twitch/api.js +1 -1
  250. package/dist/extensions/twitch/channel-plugin-api.js +1 -1
  251. package/dist/extensions/twitch/setup-plugin-api.js +1 -1
  252. package/dist/extensions/zalo/api.js +3 -3
  253. package/dist/extensions/zalo/channel-plugin-api.js +1 -1
  254. package/dist/extensions/zalo/runtime-api.js +2 -2
  255. package/dist/extensions/zalo/setup-api.js +2 -2
  256. package/dist/extensions/zalouser/api.js +3 -3
  257. package/dist/extensions/zalouser/channel-plugin-api.js +1 -1
  258. package/dist/extensions/zalouser/runtime-api.js +6 -6
  259. package/dist/extensions/zalouser/setup-plugin-api.js +1 -1
  260. package/dist/extensions/zalouser/test-api.js +1 -1
  261. package/dist/fallbacks-BKA5XrxA.js +31 -0
  262. package/dist/fallbacks-QvezaDAr.js +2 -0
  263. package/dist/fallbacks-shared-DS-qTOLR.js +111 -0
  264. package/dist/gateway-C0YHaLXO.js +115 -0
  265. package/dist/gateway-cli-DJBCD8J5.js +1325 -0
  266. package/dist/gateway-rpc-CmJXd4SU.js +14 -0
  267. package/dist/gateway-rpc.runtime-C9Fs2mSx.js +23 -0
  268. package/dist/gateway-rpc.runtime.js +1 -1
  269. package/dist/gateway-runtime-Bm2_MhFn.js +15 -0
  270. package/dist/gateway-status-DXKMKFtB.js +584 -0
  271. package/dist/genesis-tools-AolFZ-0I.js +8999 -0
  272. package/dist/genesis-tools.runtime-CBWXJqzw.js +2 -0
  273. package/dist/genesis-tools.runtime.js +1 -1
  274. package/dist/get-reply-BpxjHQBp.js +3879 -0
  275. package/dist/get-reply-from-config.runtime-DJKEqLSi.js +2 -0
  276. package/dist/get-reply-from-config.runtime.js +1 -1
  277. package/dist/graph-users-D2Q5UTGQ.js +1337 -0
  278. package/dist/health-BNKpuAPB.js +469 -0
  279. package/dist/health-BkxZfKx8.js +3 -0
  280. package/dist/heartbeat-runner-Bdu2q6k3.js +5 -0
  281. package/dist/heartbeat-runner-C0B-c-fv.js +1292 -0
  282. package/dist/heartbeat-runner.runtime-Cic23eNy.js +4 -0
  283. package/dist/heartbeat-runner.runtime.js +1 -1
  284. package/dist/hooks-cli-BfCr2In5.js +433 -0
  285. package/dist/image-fallbacks-Dgy-LmDo.js +2 -0
  286. package/dist/image-fallbacks-RlfTqOne.js +31 -0
  287. package/dist/inbound-reply-dispatch-D4KJHWLG.js +73 -0
  288. package/dist/index.js +2 -2
  289. package/dist/infra-runtime-BTJv3KK8.js +39 -0
  290. package/dist/init-q4INH9uv.js +59 -0
  291. package/dist/install-BT4BNeMX.js +190 -0
  292. package/dist/install.runtime-BnqPyIyn.js +2 -0
  293. package/dist/launchd-BM_37PLv.js +698 -0
  294. package/dist/library-DGd4UZKC.js +45 -0
  295. package/dist/lifecycle-B_RLw4uY.js +229 -0
  296. package/dist/lifecycle-Bw01evSl.js +571 -0
  297. package/dist/lifecycle-core-CTjCo-k0.js +422 -0
  298. package/dist/lifecycle.runtime-BxpD2Ol7.js +2 -0
  299. package/dist/lifecycle.runtime.js +1 -1
  300. package/dist/list-BXa4zUF-.js +2 -0
  301. package/dist/list-BugTSXmQ.js +131 -0
  302. package/dist/list-CgC_rsta.js +1201 -0
  303. package/dist/list-D2sk1YPs.js +2 -0
  304. package/dist/list.probe-C6zfgLdG.js +419 -0
  305. package/dist/llm-slug-generator-DsWJvqNx.js +79 -0
  306. package/dist/llm-slug-generator.js +1 -1
  307. package/dist/load-config-D6ZKPY7I.js +35 -0
  308. package/dist/local-dispatch.runtime-MWMxyZKj.js +8 -0
  309. package/dist/local-dispatch.runtime.js +1 -1
  310. package/dist/logs-cli-Dn-8jl3z.js +265 -0
  311. package/dist/logs-cli.runtime-DwsccWUJ.js +2 -0
  312. package/dist/logs-cli.runtime.js +1 -1
  313. package/dist/main-session-restart-recovery-6Uh4W8ZJ.js +206 -0
  314. package/dist/managed-image-attachments-DHawPS1-.js +2 -0
  315. package/dist/managed-image-attachments-DjtxwZ9o.js +635 -0
  316. package/dist/manager-D0tkR46e.js +2057 -0
  317. package/dist/manager-g_P1RDky.js +2 -0
  318. package/dist/markdown-to-line-7AxR7QFo.js +790 -0
  319. package/dist/mcp/plugin-tools-serve.js +1 -1
  320. package/dist/mcp-cli-Cw2XQMOA.js +725 -0
  321. package/dist/mcp-http-DFKqya8U.js +529 -0
  322. package/dist/memory-core-host-runtime-cli-DaAsOXiU.js +9 -0
  323. package/dist/message-BDCG7eWj.js +232 -0
  324. package/dist/message-action-runner-6C7kXcC9.js +2 -0
  325. package/dist/message-action-runner-C2P3efhU.js +1407 -0
  326. package/dist/message-actions-BWQWt5gT.js +143 -0
  327. package/dist/message.gateway.runtime-BXChuYAf.js +2 -0
  328. package/dist/message.gateway.runtime.js +1 -1
  329. package/dist/models-auth-status-B8lnM1PS.js +201 -0
  330. package/dist/models-cli-DbUA18AN.js +219 -0
  331. package/dist/monitor-BEJe2ceJ.js +1237 -0
  332. package/dist/monitor-BO9i6U5R.js +1459 -0
  333. package/dist/monitor-BZLrxL_x.js +1661 -0
  334. package/dist/monitor-CDDxHGlD.js +788 -0
  335. package/dist/monitor-D779kLc0.js +671 -0
  336. package/dist/monitor-V5ZNCrQL.js +2 -0
  337. package/dist/monitor-auth-D2rCHNgr.js +207 -0
  338. package/dist/monitor-processing-BLbsNFVv.js +1974 -0
  339. package/dist/monitor.runtime-RrusGXVO.js +2 -0
  340. package/dist/monitor.runtime.js +1 -1
  341. package/dist/monitor.webhook-B0DuBNWa.js +180 -0
  342. package/dist/msteams-hh9nwLlZ.js +35 -0
  343. package/dist/native-hook-relay-BygYZoeR.js +519 -0
  344. package/dist/nextcloud-talk-AadRCqXn.js +17 -0
  345. package/dist/node-cli-FF1zz0JU.js +2506 -0
  346. package/dist/node-service-f8mmgM5L.js +68 -0
  347. package/dist/nodes-cli-tQ5dpecZ.js +1046 -0
  348. package/dist/nodes-utils-BfpGcUca.js +84 -0
  349. package/dist/nodes.helpers-CMXxavTs.js +34 -0
  350. package/dist/notify-DaNP5Zyh.js +315 -0
  351. package/dist/onboard-B9hx80Dm.js +632 -0
  352. package/dist/onboard-helpers-BlPrFJHK.js +204 -0
  353. package/dist/onboard-helpers-kL8mgUkl.js +6 -0
  354. package/dist/onboard-remote-ByHuQd1m.js +193 -0
  355. package/dist/onboard-remote-CRPXcrWy.js +2 -0
  356. package/dist/onboard-skills-ChtyNRCd.js +2 -0
  357. package/dist/onboard-skills-DROlYXya.js +134 -0
  358. package/dist/openai-http-2An5HAJU.js +500 -0
  359. package/dist/openresponses-http-DpbJXZP4.js +1128 -0
  360. package/dist/operator-approvals-client-BoN_VmkB.js +68 -0
  361. package/dist/outbound.runtime-D_aebUn6.js +2 -0
  362. package/dist/outbound.runtime.js +1 -1
  363. package/dist/pair-command-approve-i-1VECJx.js +44 -0
  364. package/dist/persistent-bindings.lifecycle-eZyKQ1D8.js +85 -0
  365. package/dist/persistent-bindings.lifecycle-mxY73TJR.js +2 -0
  366. package/dist/pi-embedded-0fErjTQ7.js +2905 -0
  367. package/dist/pi-embedded-Bc1jC2x0.js +4 -0
  368. package/dist/pi-embedded.runtime-Bn_RZ5z8.js +4 -0
  369. package/dist/pi-embedded.runtime.js +1 -1
  370. package/dist/pi-tool-definition-adapter-thh7LO1t.js +217 -0
  371. package/dist/pi-tools-BtlLDovQ.js +1057 -0
  372. package/dist/pi-tools.before-tool-call-BJ_X8Dq3.js +2 -0
  373. package/dist/pi-tools.before-tool-call-DdPCGWCs.js +433 -0
  374. package/dist/plugin-CdHHk4Xn.js +12195 -0
  375. package/dist/plugin-enabled-DybhbjKQ.js +140 -0
  376. package/dist/plugin-registration-Bgwpsokw.js +23 -0
  377. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  378. package/dist/plugin-sdk/acp-binding-runtime.js +1 -1
  379. package/dist/plugin-sdk/acp-runtime.js +2 -2
  380. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  381. package/dist/plugin-sdk/agent-harness.js +6 -6
  382. package/dist/plugin-sdk/agent-runtime.js +2 -2
  383. package/dist/plugin-sdk/approval-gateway-runtime.js +2 -2
  384. package/dist/plugin-sdk/approval-handler-runtime.js +3 -3
  385. package/dist/plugin-sdk/approval-runtime.js +1 -1
  386. package/dist/plugin-sdk/browser-node-runtime.js +4 -4
  387. package/dist/plugin-sdk/browser-setup-tools.js +3 -3
  388. package/dist/plugin-sdk/browser-support.js +7 -7
  389. package/dist/plugin-sdk/channel-core.js +2 -2
  390. package/dist/plugin-sdk/channel-inbound.js +2 -2
  391. package/dist/plugin-sdk/command-auth.js +1 -1
  392. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  393. package/dist/plugin-sdk/compat.js +1 -1
  394. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  395. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  396. package/dist/plugin-sdk/core.js +2 -2
  397. package/dist/plugin-sdk/direct-dm.js +1 -1
  398. package/dist/plugin-sdk/gateway-runtime.js +3 -3
  399. package/dist/plugin-sdk/inbound-reply-dispatch.js +1 -1
  400. package/dist/plugin-sdk/index.js +1 -1
  401. package/dist/plugin-sdk/infra-runtime.js +2 -2
  402. package/dist/plugin-sdk/irc.js +2 -2
  403. package/dist/plugin-sdk/matrix.js +1 -1
  404. package/dist/plugin-sdk/memory-core-host-runtime-cli.js +2 -2
  405. package/dist/plugin-sdk/memory-core.js +2 -2
  406. package/dist/plugin-sdk/msteams.js +2 -2
  407. package/dist/plugin-sdk/nextcloud-talk.js +2 -2
  408. package/dist/plugin-sdk/nostr.js +1 -1
  409. package/dist/plugin-sdk/reply-dispatch-runtime.js +1 -1
  410. package/dist/plugin-sdk/reply-runtime.js +4 -4
  411. package/dist/plugin-sdk/runtime-secret-resolution.js +1 -1
  412. package/dist/plugin-sdk/runtime.js +2 -2
  413. package/dist/plugin-sdk/session-visibility.js +1 -1
  414. package/dist/plugin-sdk/testing.js +4 -4
  415. package/dist/plugin-sdk/tlon.js +1 -1
  416. package/dist/plugin-sdk/zalo.js +1 -1
  417. package/dist/plugin-sdk/zalouser.js +1 -1
  418. package/dist/plugin-service-ClhrJfT3.js +2890 -0
  419. package/dist/plugins/runtime/index.js +1 -1
  420. package/dist/policy-CoqHgREn.js +328 -0
  421. package/dist/postinstall-inventory.json +418 -418
  422. package/dist/prepare.runtime-CawO_32K.js +815 -0
  423. package/dist/prepare.runtime.js +1 -1
  424. package/dist/probe-BP3QS65i.js +74 -0
  425. package/dist/probe-BdCXAH_u.js +2 -0
  426. package/dist/probe-Cv5tXOMP.js +2205 -0
  427. package/dist/probe-D-D_1oc4.js +241 -0
  428. package/dist/probe-DO-gll0g.js +2 -0
  429. package/dist/probe-T6c0F73q.js +45 -0
  430. package/dist/probe-dxji7IxZ.js +1443 -0
  431. package/dist/program-GMPfHt5E.js +111 -0
  432. package/dist/prompt-select-styled-BvuJNEJG.js +20 -0
  433. package/dist/protocol-Batc2DmY.js +2234 -0
  434. package/dist/provider-dispatcher-CGYoOdKf.js +2 -0
  435. package/dist/provider-dispatcher-iTEDM88F.js +22 -0
  436. package/dist/qr-cli-6IxenO1C.js +349 -0
  437. package/dist/qr-cli-D63piSog.js +2 -0
  438. package/dist/reaction-runtime-api-DgwRXTz2.js +116 -0
  439. package/dist/reactions-Dnh7t4Zl.js +998 -0
  440. package/dist/register-service-commands-D7w01SKL.js +71 -0
  441. package/dist/register.agent-j1Eno4xr.js +248 -0
  442. package/dist/register.configure-ubwxTkGt.js +15 -0
  443. package/dist/register.maintenance-B7FuM_ZW.js +438 -0
  444. package/dist/register.message-QR3u9rBl.js +329 -0
  445. package/dist/register.onboard-Bdcf_lH0.js +81 -0
  446. package/dist/register.runtime-QDduc4yj.js +81 -0
  447. package/dist/register.runtime.js +1 -1
  448. package/dist/register.setup-DzVV6tdQ.js +150 -0
  449. package/dist/register.status-health-sessions-Brw3VcxG.js +1215 -0
  450. package/dist/register.subclis-B8qDbqPl.js +29 -0
  451. package/dist/register.subclis-DdoN3nZi.js +3 -0
  452. package/dist/register.subclis-core-CWHmnIoe.js +249 -0
  453. package/dist/reply-dispatch-runtime-BVLvCeJ0.js +13 -0
  454. package/dist/reply-runtime-BXkvfLv_.js +11 -0
  455. package/dist/reply.runtime-BTkpxI5R.js +2 -0
  456. package/dist/reply.runtime.js +1 -1
  457. package/dist/restart-health-6cjrRBpF.js +202 -0
  458. package/dist/restart-health-b6Qw43Tj.js +2 -0
  459. package/dist/root-help-DDa1oEtT.js +44 -0
  460. package/dist/routes-CoCMty69.js +2 -0
  461. package/dist/routes-D9uC_Zdy.js +3341 -0
  462. package/dist/rpc-DpLGM3FH.js +61 -0
  463. package/dist/rpc.runtime-B27EA5A0.js +21 -0
  464. package/dist/rpc.runtime.js +1 -1
  465. package/dist/run-delivery.runtime-OmILefLX.js +530 -0
  466. package/dist/run-delivery.runtime.js +1 -1
  467. package/dist/run-embedded.runtime-Dc43u_Z7.js +4 -0
  468. package/dist/run-embedded.runtime.js +1 -1
  469. package/dist/run-execution-cli.runtime-DL5w7Ac8.js +4 -0
  470. package/dist/run-execution-cli.runtime.js +1 -1
  471. package/dist/run-executor.runtime-Bzwt0zP-.js +277 -0
  472. package/dist/run-executor.runtime.js +1 -1
  473. package/dist/run-main-BLD1wTLU.js +516 -0
  474. package/dist/run-subagent-registry.runtime-CddCeg6W.js +2 -0
  475. package/dist/run-subagent-registry.runtime.js +1 -1
  476. package/dist/run-wait-D4Gxuyru.js +135 -0
  477. package/dist/runtime-8BuIPrSY.js +973 -0
  478. package/dist/runtime-Co8r21pw.js +9 -0
  479. package/dist/runtime-api-BG0XWkir.js +4 -0
  480. package/dist/runtime-api-BjBzlgns.js +9 -0
  481. package/dist/runtime-api-DlYbbA-n.js +14 -0
  482. package/dist/runtime-api-faT33SE2.js +9 -0
  483. package/dist/runtime-embedded-pi.runtime-QdJ7K4t0.js +2 -0
  484. package/dist/runtime-embedded-pi.runtime.js +1 -1
  485. package/dist/runtime-internal-C0xc_Zhf.js +2 -0
  486. package/dist/runtime-options-DLv7ygkO.js +275 -0
  487. package/dist/runtime-schema-CQK5R5Pl.js +27780 -0
  488. package/dist/scan-Yz6DoQn5.js +523 -0
  489. package/dist/scan-k38hL_6o.js +2 -0
  490. package/dist/secrets-cli-Bjvr0bOw.js +2101 -0
  491. package/dist/security-cli-C2gkMFcB.js +486 -0
  492. package/dist/selection-DC8EXnRg.js +7736 -0
  493. package/dist/selection-DmSFI5k4.js +2 -0
  494. package/dist/send-CT6EfHrc.js +102 -0
  495. package/dist/send-_ANvjE_C.js +156 -0
  496. package/dist/send.runtime-COIjG4BV.js +2 -0
  497. package/dist/send.runtime.js +1 -1
  498. package/dist/server-COkv9Si4.js +13 -0
  499. package/dist/server-DHLQZJL8.js +77 -0
  500. package/dist/server-context-6jnr-aAw.js +2 -0
  501. package/dist/server-context-DK1QsdLh.js +847 -0
  502. package/dist/server-node-events-q8H0odkq.js +481 -0
  503. package/dist/server-plugin-bootstrap-Bw4a88yA.js +2 -0
  504. package/dist/server-plugin-bootstrap-By_w9ngt.js +11333 -0
  505. package/dist/server-restart-sentinel-CGLYF3mk.js +697 -0
  506. package/dist/server.impl-8j4SImks.js +12735 -0
  507. package/dist/service-CNjb_qXC.js +2 -0
  508. package/dist/service-CyR3mZIU.js +120 -0
  509. package/dist/service-audit-DIL0OiMa.js +260 -0
  510. package/dist/service-audit-pwloDggS.js +2 -0
  511. package/dist/session-kill-http-Dek5w0Ee.js +110 -0
  512. package/dist/session-reset-service-B_9Ps0kr.js +471 -0
  513. package/dist/session-route-Cr6vOd9_.js +93 -0
  514. package/dist/session-status.runtime-C_x1MHH5.js +2 -0
  515. package/dist/session-status.runtime.js +1 -1
  516. package/dist/session-subagent-reactivation.runtime-BKWuNild.js +2 -0
  517. package/dist/session-subagent-reactivation.runtime.js +1 -1
  518. package/dist/session-tab-registry-C08V5jx6.js +491 -0
  519. package/dist/session-visibility-D4j8hN_B.js +147 -0
  520. package/dist/sessions-helpers-DmUVRk16.js +304 -0
  521. package/dist/sessions-history-http-DN3KzEnX.js +383 -0
  522. package/dist/sessions-patch-BPtlF0Lu.js +309 -0
  523. package/dist/sessions-resolve-D6KPfG_4.js +174 -0
  524. package/dist/sessions.runtime-DGL1-G20.js +2 -0
  525. package/dist/sessions.runtime.js +1 -1
  526. package/dist/setup-CkYiQoP0.js +495 -0
  527. package/dist/setup-api-CUGYqGNT.js +29 -0
  528. package/dist/setup-core-BmplfubJ.js +171 -0
  529. package/dist/setup-core-C5ddWpfy.js +176 -0
  530. package/dist/setup-surface-2JmEfowI.js +219 -0
  531. package/dist/setup-surface-BzHQx_GD.js +403 -0
  532. package/dist/setup-surface-DOH6kc6w.js +286 -0
  533. package/dist/setup.finalize-Ci2HBkDq.js +539 -0
  534. package/dist/setup.gateway-config-CyG_Fzaa.js +250 -0
  535. package/dist/shared-BItUH43s.js +121 -0
  536. package/dist/shared-D7diJkX6.js +198 -0
  537. package/dist/shared-DJU_HCJ1.js +76 -0
  538. package/dist/slash-state-C4YD-tLz.js +1911 -0
  539. package/dist/src-8HdytGc7.js +3974 -0
  540. package/dist/startup-context-CfcCyUU0.js +312 -0
  541. package/dist/status-B94yciC9.js +397 -0
  542. package/dist/status-BUkUYtFm.js +190 -0
  543. package/dist/status-BsHC-0MV.js +2 -0
  544. package/dist/status-D4jNATg0.js +209 -0
  545. package/dist/status-U8ut-X2Q.js +2 -0
  546. package/dist/status-all-CIzsXQnV.js +498 -0
  547. package/dist/status-json-alPkfWTd.js +14 -0
  548. package/dist/status-json-command-CAkzWzw7.js +84 -0
  549. package/dist/status-jxNdVQVZ.js +3 -0
  550. package/dist/status-runtime-shared-BSsA48i9.js +257 -0
  551. package/dist/status-subagents.runtime-hIKg6PXV.js +18 -0
  552. package/dist/status-subagents.runtime.js +1 -1
  553. package/dist/status-text-BmLJrLth.js +237 -0
  554. package/dist/status.gateway-connection.runtime-Dr7HJ1wZ.js +2 -0
  555. package/dist/status.gateway-connection.runtime.js +1 -1
  556. package/dist/status.gather-DFY0T97g.js +2 -0
  557. package/dist/status.gather-e6sfNh8I.js +292 -0
  558. package/dist/status.runtime-DBvapXQS.js +2 -0
  559. package/dist/status.runtime.js +1 -1
  560. package/dist/status.scan-DSpkE-Q-.js +65 -0
  561. package/dist/status.scan-overview-Dr72bkbi.js +379 -0
  562. package/dist/status.scan.fast-json-C7k_m46S.js +2 -0
  563. package/dist/status.scan.fast-json-KHh7R3wX.js +132 -0
  564. package/dist/status.summary-C4r9lkCH.js +214 -0
  565. package/dist/status.summary-D0EJwkmX.js +2 -0
  566. package/dist/subagent-announce-Bu5-8O3P.js +351 -0
  567. package/dist/subagent-announce-delivery-4hk9P48s.js +726 -0
  568. package/dist/subagent-announce-output-Csyi1-Kz.js +364 -0
  569. package/dist/subagent-control-DAeNsV_G.js +506 -0
  570. package/dist/subagent-followup.runtime-Bch92LIq.js +68 -0
  571. package/dist/subagent-followup.runtime.js +1 -1
  572. package/dist/subagent-orphan-recovery-mNzyr1b-.js +305 -0
  573. package/dist/subagent-registry-BMjQxBxi.js +3 -0
  574. package/dist/subagent-registry-D4DFKQCL.js +1753 -0
  575. package/dist/subagent-registry.runtime.js +1 -1
  576. package/dist/subagent-spawn-C13uUm47.js +1005 -0
  577. package/dist/system-cli-BU6GhJxG.js +59 -0
  578. package/dist/targets-eYkepVzz.js +67 -0
  579. package/dist/task-executor-DzJLcm4D.js +360 -0
  580. package/dist/task-owner-access-DW9EbhjP.js +74 -0
  581. package/dist/task-registry-DBJkAtFF.js +2366 -0
  582. package/dist/task-registry-delivery-runtime-BdkPeGC1.js +2 -0
  583. package/dist/task-registry-delivery-runtime-Ov88LGnv.js +3 -0
  584. package/dist/task-registry.maintenance-BU6Z4V_9.js +416 -0
  585. package/dist/task-registry.maintenance-sEo6eYdx.js +2 -0
  586. package/dist/telegram/token.js +1 -1
  587. package/dist/testing-B2jHeQft.js +575 -0
  588. package/dist/text-report-HYrgZP8-.js +587 -0
  589. package/dist/tool-resolution-BZxaDOKg.js +90 -0
  590. package/dist/tools-effective-inventory-BCvCprpD.js +152 -0
  591. package/dist/tools-invoke-http-Dt1rsx4a.js +206 -0
  592. package/dist/trash-F4tvjrKS.js +24 -0
  593. package/dist/tui-cli-DlQ1oejy.js +4575 -0
  594. package/dist/update-cli-DHMdwQWA.js +1759 -0
  595. package/dist/upgrade-UR-EI5pO.js +1226 -0
  596. package/dist/video-generation-task-status-qtHrIZLt.js +163 -0
  597. package/dist/wait-for-idle-before-flush-CYB_61O0.js +5986 -0
  598. package/dist/wizard-models-BKqMCaCm.js +161 -0
  599. package/package.json +1 -1
  600. package/dist/abort-BHSttDhY.js +0 -201
  601. package/dist/abort.runtime-VJ9lFsZS.js +0 -2
  602. package/dist/accounts-BNvagEOQ.js +0 -104
  603. package/dist/accounts-CPIuzenz.js +0 -107
  604. package/dist/accounts-r08DQWhZ.js +0 -2
  605. package/dist/acp-cli-i0L-eRs9.js +0 -2193
  606. package/dist/acp-spawn-CHzVLe9q.js +0 -1093
  607. package/dist/acp-spawn-CqvxDuBq.js +0 -2
  608. package/dist/acp-stateful-target-driver-CWRLc_NP.js +0 -89
  609. package/dist/action-agents-SNCscX_-.js +0 -67
  610. package/dist/action-focus-B2s0PF2E.js +0 -132
  611. package/dist/action-help-CXKbyaZ7.js +0 -7
  612. package/dist/action-info-B3IDKxWu.js +0 -101
  613. package/dist/action-kill-idGvCNhT.js +0 -33
  614. package/dist/action-list-Di7gO3qL.js +0 -21
  615. package/dist/action-log-BCsz-gFi.js +0 -30
  616. package/dist/action-send-DLsdZnVc.js +0 -39
  617. package/dist/action-spawn-DhKEOdL0.js +0 -47
  618. package/dist/action-unfocus-Dh7ti5UP.js +0 -29
  619. package/dist/actions.runtime-BPf03SN3.js +0 -18
  620. package/dist/actions.runtime-CJg_lweh.js +0 -5
  621. package/dist/agent-C3PLvvws.js +0 -2
  622. package/dist/agent-command-UroeNrV4.js +0 -874
  623. package/dist/agent-harness-runtime-MXvI9FlJ.js +0 -144
  624. package/dist/agent-runner-utils-CaVgLZrf.js +0 -239
  625. package/dist/agent-runner.runtime-Csqm3m09.js +0 -3455
  626. package/dist/agent-runtime-B9nUYDUz.js +0 -18
  627. package/dist/agents-BP4p-1q2.js +0 -5
  628. package/dist/agents-CDiXfrfc.js +0 -953
  629. package/dist/aliases-BBCtCq2A.js +0 -96
  630. package/dist/aliases-DrFtFq1p.js +0 -2
  631. package/dist/api-BH0oEwR1.js +0 -5
  632. package/dist/api-D-4gHdrl.js +0 -139
  633. package/dist/api-DE6RYTxv.js +0 -3
  634. package/dist/approval-gateway-resolver-URpDQMld.js +0 -29
  635. package/dist/approval-gateway-runtime-B087BMms.js +0 -2
  636. package/dist/approval-handler-runtime-BEl3ua8-.js +0 -439
  637. package/dist/approval-native-runtime-ghjYGufu.js +0 -729
  638. package/dist/attempt-execution.runtime-PCTFYqLh.js +0 -509
  639. package/dist/attempt.prompt-helpers-CkWEozQ2.js +0 -221
  640. package/dist/attempt.tool-run-context-DbqVgXFk.js +0 -933
  641. package/dist/audit-Lb1yNEwg.js +0 -939
  642. package/dist/audit.runtime-DOnixKE_.js +0 -7
  643. package/dist/auth-BrlJ7NM9.js +0 -2
  644. package/dist/auth-CJoP7Yst.js +0 -383
  645. package/dist/auth-order-D0KFgBib.js +0 -96
  646. package/dist/auth-order-_xlUHzCg.js +0 -2
  647. package/dist/bash-tools-BEVEHCl9.js +0 -2824
  648. package/dist/bash-tools-DJ0D8Wr5.js +0 -3
  649. package/dist/binding-routing-IfKqPcfO.js +0 -85
  650. package/dist/binding-targets-2huR0hTX.js +0 -121
  651. package/dist/bridge-server-D8Y8Fzdz.js +0 -113
  652. package/dist/browser-control-auth-Q6UpVLEj.js +0 -2
  653. package/dist/browser-node-runtime-C9KvsOyx.js +0 -12
  654. package/dist/browser-profiles-DFcwiMEf.js +0 -2
  655. package/dist/browser-runtime-sbZ3hKg6.js +0 -387
  656. package/dist/browser-setup-tools-CP4BkZ9z.js +0 -13
  657. package/dist/build-DzHX2LrH.js +0 -550
  658. package/dist/call-ORivR4Db.js +0 -331
  659. package/dist/call-qzfm6lro.js +0 -3
  660. package/dist/call.runtime-BkzJe07B.js +0 -2
  661. package/dist/capability-cli-BDCvm93o.js +0 -1401
  662. package/dist/catchup-CjZa2PrP.js +0 -300
  663. package/dist/channel-B3UAL9Pk.js +0 -840
  664. package/dist/channel-B5L9LJBF.js +0 -453
  665. package/dist/channel-BGXl6A-E.js +0 -297
  666. package/dist/channel-BNUblayu.js +0 -1320
  667. package/dist/channel-Bej-TN7f.js +0 -491
  668. package/dist/channel-BzOKSC4e.js +0 -350
  669. package/dist/channel-CY2xEOzR.js +0 -1802
  670. package/dist/channel-D2kKLWUA.js +0 -226
  671. package/dist/channel-DcjCe46M.js +0 -1100
  672. package/dist/channel-GqA96nmt.js +0 -595
  673. package/dist/channel-YI2aIJFQ.js +0 -1174
  674. package/dist/channel-core-DqPUhmTt.js +0 -5
  675. package/dist/channel-inbound-CzgMd2Xi.js +0 -31
  676. package/dist/channel-plugin-runtime-DI5uUbxx.js +0 -771
  677. package/dist/channel-runtime-BJqKQitD.js +0 -425
  678. package/dist/channel.runtime-BBn9mgbB.js +0 -89
  679. package/dist/channel.runtime-Bhj1b9gQ.js +0 -34702
  680. package/dist/channel.runtime-BzOVx90Z.js +0 -576
  681. package/dist/channel.runtime-CQkLKWlq.js +0 -109
  682. package/dist/channel.runtime-D8qT4A1x.js +0 -4
  683. package/dist/channel.runtime-DjK9Re1w.js +0 -2364
  684. package/dist/channel.runtime-tWwM8hFw.js +0 -430
  685. package/dist/channel.setup-gaiRZ-r8.js +0 -10
  686. package/dist/channels-BXIl3hBo.js +0 -733
  687. package/dist/channels-cli-CrmBqaul.js +0 -268
  688. package/dist/chat-C42usv-F.js +0 -2758
  689. package/dist/clawbot-cli-BGYO_ymZ.js +0 -9
  690. package/dist/cli-BbD25CFK.js +0 -2
  691. package/dist/cli-CYD4Wfcq.js +0 -219
  692. package/dist/cli-D-6ycHAw.js +0 -72
  693. package/dist/cli-DX4CK-bw.js +0 -2
  694. package/dist/cli-runner-C5_PBTxm.js +0 -286
  695. package/dist/cli-runner.runtime-DE7RpQ27.js +0 -3
  696. package/dist/cli-runner.runtime-ueVMICzY.js +0 -4
  697. package/dist/cli.runtime-DSO8Vfrh.js +0 -1261
  698. package/dist/client-BKro32pr.js +0 -138
  699. package/dist/client-Vx7pseEY.js +0 -713
  700. package/dist/command-auth-CvFUTCCJ.js +0 -76
  701. package/dist/command-config-resolution-BnW1XGnW.js +0 -23
  702. package/dist/command-config-resolution-BrlfYyiN.js +0 -2
  703. package/dist/command-config-resolution.runtime-DYMr8J0t.js +0 -2
  704. package/dist/command-registry-Bi9thw1b.js +0 -9
  705. package/dist/command-registry-D__zH4Fg.js +0 -4
  706. package/dist/command-registry-core-DQoNFQZT.js +0 -101
  707. package/dist/command-secret-gateway-B27Zpgo9.js +0 -528
  708. package/dist/command-status.runtime-fERQMzeI.js +0 -87
  709. package/dist/commands-acp-BmORmf3-.js +0 -77
  710. package/dist/commands-compact.runtime-BUaXIw-I.js +0 -10
  711. package/dist/commands-handlers.runtime-BxbkeuTc.js +0 -4597
  712. package/dist/commands-status-4OW5sqmg.js +0 -16
  713. package/dist/commands-status.runtime-Cl7nJp_7.js +0 -3
  714. package/dist/commands-subagents-control.runtime-BR4qBGkk.js +0 -2
  715. package/dist/commands-subagents-control.runtime-C8ufgKPI.js +0 -3
  716. package/dist/commands-system-prompt-BsimvjJt.js +0 -158
  717. package/dist/commands-system-prompt-CKrY0h7P.js +0 -2
  718. package/dist/commands.runtime-BHsDdaEU.js +0 -166
  719. package/dist/compact-BHYLQst3.js +0 -1118
  720. package/dist/compact.runtime-7-tZRdgw.js +0 -12
  721. package/dist/completion-cli-1sAiSIYc.js +0 -328
  722. package/dist/config-BZ3FuFjH.js +0 -251
  723. package/dist/config-cli-B_dNq5hD.js +0 -1078
  724. package/dist/configure-BOvmX2NJ.js +0 -2
  725. package/dist/configure-DR9NYN9e.js +0 -1245
  726. package/dist/connect-options-DlmPTyhG.js +0 -699
  727. package/dist/control-auth-C_zNiV10.js +0 -125
  728. package/dist/control-service-B1TL51jf.js +0 -156
  729. package/dist/conversation-id-B3lLiTfF.js +0 -235
  730. package/dist/conversation-id-DORmTZm_.js +0 -38
  731. package/dist/conversation-runtime-DDxZZZXE.js +0 -31
  732. package/dist/core-DbPzffGG.js +0 -275
  733. package/dist/cron-cli-AoH4jhFt.js +0 -713
  734. package/dist/daemon-cli-BOJdM3wT.js +0 -12
  735. package/dist/daemon-install-D8HPES4u.js +0 -64
  736. package/dist/delegate-Dmdda3kT.js +0 -64
  737. package/dist/detached-task-runtime-BB5az34R.js +0 -73
  738. package/dist/devices-cli-Cy9DF-DP.js +0 -496
  739. package/dist/diagnostics-CTE0TWR1.js +0 -154
  740. package/dist/direct-dm-9jzadx9u.js +0 -64
  741. package/dist/dispatch-DU7cqfv6.js +0 -1131
  742. package/dist/dispatch-acp-Cu_nUtKg.js +0 -981
  743. package/dist/dispatch-acp-manager.runtime-8MOQ5BRn.js +0 -3
  744. package/dist/dispatch-acp.runtime-DatcHNJq.js +0 -19
  745. package/dist/doctor-device-pairing-Qm-r7mwu.js +0 -307
  746. package/dist/doctor-gateway-daemon-flow-BN2uGhFJ.js +0 -250
  747. package/dist/doctor-gateway-health-CD7Vzth9.js +0 -60
  748. package/dist/doctor-gateway-services-CIypZgv_.js +0 -316
  749. package/dist/doctor-health-ByjG3620.js +0 -59
  750. package/dist/doctor-health-contributions-CxNByg_i.js +0 -486
  751. package/dist/doctor-prompter-BYIoKiZ8.js +0 -56
  752. package/dist/doctor-workspace-status-DL2fRPoT.js +0 -75
  753. package/dist/dreaming-CCctNgkQ.js +0 -1574
  754. package/dist/dreaming-narrative-BPtXKc2-.js +0 -595
  755. package/dist/embedded-gateway-stub.runtime-Hi36BeCq.js +0 -9
  756. package/dist/exec-approvals-cli-DyslUWtQ.js +0 -498
  757. package/dist/fallbacks-B3xZC-ms.js +0 -2
  758. package/dist/fallbacks-CWDz-tSa.js +0 -31
  759. package/dist/fallbacks-shared-BlZBjxHL.js +0 -111
  760. package/dist/gateway-NYBkUx5r.js +0 -115
  761. package/dist/gateway-cli-E5gYA0U1.js +0 -1325
  762. package/dist/gateway-rpc-BrG5Lkfm.js +0 -14
  763. package/dist/gateway-rpc.runtime-BrTGchr9.js +0 -23
  764. package/dist/gateway-runtime-DctMRv_p.js +0 -15
  765. package/dist/gateway-status-B6ol1agz.js +0 -584
  766. package/dist/genesis-tools-D_ah3Zek.js +0 -8999
  767. package/dist/genesis-tools.runtime-Cy7aTWEN.js +0 -2
  768. package/dist/get-reply-BvVkxYum.js +0 -3879
  769. package/dist/get-reply-from-config.runtime-DR3yiK1R.js +0 -2
  770. package/dist/graph-users-yBNugoFz.js +0 -1337
  771. package/dist/health-D_wk2s7j.js +0 -3
  772. package/dist/health-MRnjOx-_.js +0 -469
  773. package/dist/heartbeat-runner-NuhhYnxs.js +0 -5
  774. package/dist/heartbeat-runner-Y4NeUV3L.js +0 -1292
  775. package/dist/heartbeat-runner.runtime-eGfKtcpP.js +0 -4
  776. package/dist/hooks-cli-CtfN2vc-.js +0 -433
  777. package/dist/image-fallbacks-CgeDMYZo.js +0 -2
  778. package/dist/image-fallbacks-CzQ85Eo8.js +0 -31
  779. package/dist/inbound-reply-dispatch-jVlLaSqn.js +0 -73
  780. package/dist/infra-runtime-D2Pqjk-r.js +0 -39
  781. package/dist/init-D_MTYqrw.js +0 -59
  782. package/dist/install-X7wgrwQ1.js +0 -190
  783. package/dist/install.runtime-C4wO4Nr9.js +0 -2
  784. package/dist/launchd-lFgfiDrN.js +0 -688
  785. package/dist/library-DIykYIWD.js +0 -45
  786. package/dist/lifecycle-BNuFzffC.js +0 -571
  787. package/dist/lifecycle-IWN9qlwo.js +0 -229
  788. package/dist/lifecycle-core-CFv5qkS8.js +0 -422
  789. package/dist/lifecycle.runtime-9oo2JCI2.js +0 -2
  790. package/dist/list-BZ3mMSpA.js +0 -2
  791. package/dist/list-CzQs_k0U.js +0 -131
  792. package/dist/list-CzTJTFOH.js +0 -1201
  793. package/dist/list-qDXsgKhB.js +0 -2
  794. package/dist/list.probe-EOZR6ueo.js +0 -419
  795. package/dist/llm-slug-generator-DzWIx0nh.js +0 -79
  796. package/dist/load-config-C_8uUnXU.js +0 -35
  797. package/dist/local-dispatch.runtime-DLd10Xb1.js +0 -8
  798. package/dist/logs-cli-mnOTmC9R.js +0 -265
  799. package/dist/logs-cli.runtime-BvP3aise.js +0 -2
  800. package/dist/main-session-restart-recovery-D7Vxmu7e.js +0 -206
  801. package/dist/managed-image-attachments-BB5u0Zq8.js +0 -2
  802. package/dist/managed-image-attachments-BeRGNdL9.js +0 -635
  803. package/dist/manager-BhNWV4EC.js +0 -2
  804. package/dist/manager-CbZ9ncZs.js +0 -2057
  805. package/dist/markdown-to-line-DyB8w7ef.js +0 -790
  806. package/dist/mcp-cli-CWzLBrDF.js +0 -725
  807. package/dist/mcp-http-1jD7LE0a.js +0 -529
  808. package/dist/memory-core-host-runtime-cli-P80xoEfr.js +0 -9
  809. package/dist/message-BAhd_1ud.js +0 -232
  810. package/dist/message-action-runner-CH2jjT21.js +0 -1407
  811. package/dist/message-action-runner-DW7z_bMx.js +0 -2
  812. package/dist/message-actions-BjBGSsJB.js +0 -143
  813. package/dist/message.gateway.runtime-sUc85g7X.js +0 -2
  814. package/dist/models-auth-status-D6lrM56M.js +0 -201
  815. package/dist/models-cli-CmnbAk2M.js +0 -219
  816. package/dist/monitor-AyGe8vyk.js +0 -1237
  817. package/dist/monitor-DQuy2kx-.js +0 -671
  818. package/dist/monitor-DmtJiX5o.js +0 -788
  819. package/dist/monitor-GB8lcnal.js +0 -1459
  820. package/dist/monitor-IuVjATac.js +0 -1661
  821. package/dist/monitor-auth-rF7mr3Cm.js +0 -207
  822. package/dist/monitor-bnOvJyLN.js +0 -2
  823. package/dist/monitor-processing-B1ewr2qF.js +0 -1974
  824. package/dist/monitor.runtime-BrUD5_VN.js +0 -2
  825. package/dist/monitor.webhook-BvJG6Xbh.js +0 -180
  826. package/dist/msteams-DUDRy3xt.js +0 -35
  827. package/dist/native-hook-relay-CTpTLgCA.js +0 -519
  828. package/dist/nextcloud-talk-BH2uWRZ2.js +0 -17
  829. package/dist/node-cli-AWE1ZFfV.js +0 -2506
  830. package/dist/node-service-DCI-s3Mm.js +0 -68
  831. package/dist/nodes-cli-B7IWCrYq.js +0 -1046
  832. package/dist/nodes-utils-Dg2hrC3z.js +0 -84
  833. package/dist/nodes.helpers-CkJO5i0d.js +0 -34
  834. package/dist/notify-bsxfkOWp.js +0 -315
  835. package/dist/onboard-BQaZtwIU.js +0 -632
  836. package/dist/onboard-helpers-Cc2AnoIU.js +0 -6
  837. package/dist/onboard-helpers-DIxfEXNM.js +0 -204
  838. package/dist/onboard-remote-CYhQbOXH.js +0 -2
  839. package/dist/onboard-remote-DrH3yVxE.js +0 -193
  840. package/dist/onboard-skills-DCI3hVXa.js +0 -134
  841. package/dist/onboard-skills-i4KuFzS4.js +0 -2
  842. package/dist/openai-http-D_7Nk3iN.js +0 -500
  843. package/dist/openresponses-http-BITxvD4V.js +0 -1128
  844. package/dist/operator-approvals-client-C0t_-2xC.js +0 -68
  845. package/dist/outbound.runtime-C8_lBQcx.js +0 -2
  846. package/dist/pair-command-approve-D3s1W5go.js +0 -44
  847. package/dist/persistent-bindings.lifecycle-CCR6khHJ.js +0 -85
  848. package/dist/persistent-bindings.lifecycle-Dgoo5bpE.js +0 -2
  849. package/dist/pi-embedded-C2l80M7j.js +0 -4
  850. package/dist/pi-embedded-DMHGJgoQ.js +0 -2905
  851. package/dist/pi-embedded.runtime-fA0EsIue.js +0 -4
  852. package/dist/pi-tool-definition-adapter-B4hSYdYX.js +0 -217
  853. package/dist/pi-tools-YCHBvJG0.js +0 -1057
  854. package/dist/pi-tools.before-tool-call-BsyruRs4.js +0 -433
  855. package/dist/pi-tools.before-tool-call-D1maRTbl.js +0 -2
  856. package/dist/plugin-DmBZwzWQ.js +0 -12195
  857. package/dist/plugin-enabled-rr_Y1Kwh.js +0 -140
  858. package/dist/plugin-registration-J1JWqMZg.js +0 -23
  859. package/dist/plugin-service-CPY8FSW2.js +0 -2890
  860. package/dist/policy-DDUw681i.js +0 -328
  861. package/dist/prepare.runtime-BfnpyhHB.js +0 -815
  862. package/dist/probe-CCdD6_vN.js +0 -1443
  863. package/dist/probe-CakOsrSu.js +0 -241
  864. package/dist/probe-Ctrcd_Q7.js +0 -2205
  865. package/dist/probe-D9IFIte1.js +0 -2
  866. package/dist/probe-DXMI0QlZ.js +0 -74
  867. package/dist/probe-KtX2HjXM.js +0 -45
  868. package/dist/probe-OcOYm1bj.js +0 -2
  869. package/dist/program-DxZA1yAX.js +0 -111
  870. package/dist/prompt-select-styled-CATG4Xp5.js +0 -20
  871. package/dist/protocol-C40iRm9c.js +0 -2234
  872. package/dist/provider-dispatcher-BZp3Stzr.js +0 -2
  873. package/dist/provider-dispatcher-JJxN7BDL.js +0 -22
  874. package/dist/qr-cli-IMKzycXh.js +0 -349
  875. package/dist/qr-cli-W8X3Ha5T.js +0 -2
  876. package/dist/reaction-runtime-api-D7i4oMn9.js +0 -116
  877. package/dist/reactions-D9eRHeXM.js +0 -998
  878. package/dist/register-service-commands-D37K4_BJ.js +0 -71
  879. package/dist/register.agent-p1q6ZWSs.js +0 -248
  880. package/dist/register.configure-tgXCoIHv.js +0 -15
  881. package/dist/register.maintenance-BtBgu8zC.js +0 -438
  882. package/dist/register.message-B5msOUKt.js +0 -329
  883. package/dist/register.onboard-BO11PDUs.js +0 -81
  884. package/dist/register.runtime-D8XvwfoZ.js +0 -81
  885. package/dist/register.setup-Ba19XSJi.js +0 -150
  886. package/dist/register.status-health-sessions-Bne0mmgw.js +0 -1215
  887. package/dist/register.subclis--mdYCZZM.js +0 -3
  888. package/dist/register.subclis-_kuyreQm.js +0 -29
  889. package/dist/register.subclis-core-UkVTqwB1.js +0 -249
  890. package/dist/reply-dispatch-runtime-DcxOLr7n.js +0 -13
  891. package/dist/reply-runtime-B4VQJnqi.js +0 -11
  892. package/dist/reply.runtime-B990ty9C.js +0 -2
  893. package/dist/restart-health-BWUPc4R-.js +0 -202
  894. package/dist/restart-health-CWvsjHVN.js +0 -2
  895. package/dist/root-help-D9aeVXNr.js +0 -44
  896. package/dist/routes-BSmEgP46.js +0 -2
  897. package/dist/routes-Z67chkN5.js +0 -3341
  898. package/dist/rpc-CBQZvJME.js +0 -61
  899. package/dist/rpc.runtime-ClhNVRer.js +0 -21
  900. package/dist/run-delivery.runtime-Bj566BTH.js +0 -530
  901. package/dist/run-embedded.runtime-DuB-mQh2.js +0 -4
  902. package/dist/run-execution-cli.runtime-Oy4FGfj5.js +0 -4
  903. package/dist/run-executor.runtime-B7-lfFh3.js +0 -277
  904. package/dist/run-main-1Fvwazhp.js +0 -516
  905. package/dist/run-subagent-registry.runtime-Bx9Wga3d.js +0 -2
  906. package/dist/run-wait-C-VgbefQ.js +0 -135
  907. package/dist/runtime-BV7JmOaE.js +0 -9
  908. package/dist/runtime-D7npxl4G.js +0 -973
  909. package/dist/runtime-api-BkVIoPU9.js +0 -4
  910. package/dist/runtime-api-CdhgyHMB.js +0 -9
  911. package/dist/runtime-api-CmlBBCCY.js +0 -9
  912. package/dist/runtime-api-DnhXPE_z.js +0 -14
  913. package/dist/runtime-embedded-pi.runtime-DpKqDUrl.js +0 -2
  914. package/dist/runtime-internal-Bu1n9i4P.js +0 -2
  915. package/dist/runtime-options-CN4g8VJE.js +0 -275
  916. package/dist/runtime-schema-Jjsquqvq.js +0 -27780
  917. package/dist/scan-C8jthyct.js +0 -523
  918. package/dist/scan-DEd4q4aN.js +0 -2
  919. package/dist/secrets-cli-iBL8NBAq.js +0 -2101
  920. package/dist/security-cli-CzYBRa4n.js +0 -486
  921. package/dist/selection-BOalx5uy.js +0 -2
  922. package/dist/selection-BZFVKdFz.js +0 -7736
  923. package/dist/send-C4mKkkWW.js +0 -156
  924. package/dist/send-C_36w3lb.js +0 -102
  925. package/dist/send.runtime-vJT5TzDj.js +0 -2
  926. package/dist/server-BTmWWR_9.js +0 -13
  927. package/dist/server-CBQVrNY0.js +0 -77
  928. package/dist/server-context-Dq2VA7I4.js +0 -2
  929. package/dist/server-context-O_WUP8OV.js +0 -847
  930. package/dist/server-node-events-B8PLg0eQ.js +0 -481
  931. package/dist/server-plugin-bootstrap-ChIvqLMw.js +0 -2
  932. package/dist/server-plugin-bootstrap-Rbxd2g6a.js +0 -11333
  933. package/dist/server-restart-sentinel-BCd6AqrQ.js +0 -697
  934. package/dist/server.impl-CEOWGKN5.js +0 -12735
  935. package/dist/service-ChLFBF7Q.js +0 -120
  936. package/dist/service-XI052xiT.js +0 -2
  937. package/dist/service-audit-BFxGImYM.js +0 -254
  938. package/dist/service-audit-cqHyD5gB.js +0 -2
  939. package/dist/session-kill-http-ChCr5CQ3.js +0 -110
  940. package/dist/session-reset-service-DsYIDYdh.js +0 -471
  941. package/dist/session-route-rem428sJ.js +0 -93
  942. package/dist/session-status.runtime-CFmGwoCm.js +0 -2
  943. package/dist/session-subagent-reactivation.runtime-DLkpnURC.js +0 -2
  944. package/dist/session-tab-registry-DWyzIez5.js +0 -491
  945. package/dist/session-visibility-CJocpWP0.js +0 -147
  946. package/dist/sessions-helpers-CMf9gVTZ.js +0 -304
  947. package/dist/sessions-history-http-C5iZkW8x.js +0 -383
  948. package/dist/sessions-patch-2sBcHc9a.js +0 -309
  949. package/dist/sessions-resolve-D1hmolC-.js +0 -174
  950. package/dist/sessions.runtime-DMPmzLE0.js +0 -2
  951. package/dist/setup-D1ekkhVk.js +0 -495
  952. package/dist/setup-api-DilgjV01.js +0 -29
  953. package/dist/setup-core-CFAiauCt.js +0 -171
  954. package/dist/setup-core-RgJfQc-C.js +0 -176
  955. package/dist/setup-surface-C0l9bHY3.js +0 -286
  956. package/dist/setup-surface-CfcFHZln.js +0 -403
  957. package/dist/setup-surface-CyDRXq_1.js +0 -219
  958. package/dist/setup.finalize-JPqhcPh5.js +0 -539
  959. package/dist/setup.gateway-config-Df6Jm4vX.js +0 -250
  960. package/dist/shared-3gP_6DZV.js +0 -76
  961. package/dist/shared-C9fN-WCy.js +0 -198
  962. package/dist/shared-Cz9c46Aj.js +0 -121
  963. package/dist/slash-state-C7nXXf23.js +0 -1911
  964. package/dist/src-LnF0REtW.js +0 -3974
  965. package/dist/startup-context-CxTy7OzN.js +0 -312
  966. package/dist/status-4n9xL7HY.js +0 -2
  967. package/dist/status-B4kD5cCF.js +0 -2
  968. package/dist/status-CARBoVql.js +0 -209
  969. package/dist/status-COK71LP_.js +0 -3
  970. package/dist/status-DxcqzXtf.js +0 -397
  971. package/dist/status-all-r7zyk41X.js +0 -498
  972. package/dist/status-f2DLmjOF.js +0 -190
  973. package/dist/status-json-C_wESP21.js +0 -14
  974. package/dist/status-json-command-C6w9ZAHp.js +0 -84
  975. package/dist/status-runtime-shared-Bq_SUJpC.js +0 -257
  976. package/dist/status-subagents.runtime-03fp3eBE.js +0 -18
  977. package/dist/status-text-CNvz374U.js +0 -237
  978. package/dist/status.gateway-connection.runtime-zjQmormq.js +0 -2
  979. package/dist/status.gather-BhjoJVEs.js +0 -2
  980. package/dist/status.gather-zdywRvBb.js +0 -292
  981. package/dist/status.runtime-DB31ZRnK.js +0 -2
  982. package/dist/status.scan-DjhdTOWP.js +0 -65
  983. package/dist/status.scan-overview-BYxTBsOw.js +0 -379
  984. package/dist/status.scan.fast-json-Dz0JcORG.js +0 -2
  985. package/dist/status.scan.fast-json-FroEIZ9d.js +0 -132
  986. package/dist/status.summary-3UVa_X5B.js +0 -214
  987. package/dist/status.summary-BGzGsyZB.js +0 -2
  988. package/dist/subagent-announce-BvRFZ87M.js +0 -351
  989. package/dist/subagent-announce-delivery-QvuOM46S.js +0 -726
  990. package/dist/subagent-announce-output-fOtzkOiP.js +0 -364
  991. package/dist/subagent-control-DwnzmG6T.js +0 -506
  992. package/dist/subagent-followup.runtime-DxR1eP_x.js +0 -68
  993. package/dist/subagent-orphan-recovery-CiBbDxX3.js +0 -305
  994. package/dist/subagent-registry-D5FrT_tn.js +0 -3
  995. package/dist/subagent-registry-DbPekx8d.js +0 -1753
  996. package/dist/subagent-spawn-W-bTaU9l.js +0 -1005
  997. package/dist/system-cli-B443uVHG.js +0 -59
  998. package/dist/targets-3Lcm8HoL.js +0 -67
  999. package/dist/task-executor-B5e9_Hmt.js +0 -360
  1000. package/dist/task-owner-access-CIEssJ78.js +0 -74
  1001. package/dist/task-registry-M1bHrFvP.js +0 -2366
  1002. package/dist/task-registry-delivery-runtime-CiHBC7sJ.js +0 -3
  1003. package/dist/task-registry-delivery-runtime-M4O7ffju.js +0 -2
  1004. package/dist/task-registry.maintenance-BURvMU0r.js +0 -2
  1005. package/dist/task-registry.maintenance-CgrLoBqi.js +0 -416
  1006. package/dist/testing-CRy_6-wt.js +0 -575
  1007. package/dist/text-report-B3-4Dvfb.js +0 -587
  1008. package/dist/tool-resolution-C52y5Qtc.js +0 -90
  1009. package/dist/tools-effective-inventory-WlIlqM7G.js +0 -152
  1010. package/dist/tools-invoke-http-B04Rc8tG.js +0 -206
  1011. package/dist/trash-BV5Gcx3a.js +0 -24
  1012. package/dist/tui-cli-DMZ07qRK.js +0 -4575
  1013. package/dist/update-cli-DeBm7b4g.js +0 -1759
  1014. package/dist/upgrade-C9ke1SCc.js +0 -1226
  1015. package/dist/video-generation-task-status-I3jvAjUL.js +0 -163
  1016. package/dist/wait-for-idle-before-flush-BZhF2ejZ.js +0 -5986
  1017. package/dist/wizard-models-CMKeAr_M.js +0 -161
@@ -1,1078 +0,0 @@
1
- import { c as normalizeOptionalString, d as normalizeStringifiedOptionalString } from "./string-coerce-C1IzJjqi.js";
2
- import { _ as shortenHomePath } from "./utils-DaGfogP-.js";
3
- import { n as defaultRuntime, r as writeRuntimeJson } from "./runtime-CQ7eH0le.js";
4
- import { t as isBlockedObjectKey } from "./prototype-keys-CL1-mnaY.js";
5
- import { t as formatDocsLink } from "./links-DmsJCU7L.js";
6
- import { r as theme } from "./theme-BrRleVfL.js";
7
- import { t as formatCliCommand } from "./command-format-DAeUlu7u.js";
8
- import { t as CONFIG_PATH } from "./paths-DmR9mjUX.js";
9
- import { a as coerceSecretRef, c as isValidEnvSecretRefId, p as resolveSecretInputRef } from "./types.secrets-ews2W8BF.js";
10
- import { a as formatExecSecretRefIdValidationMessage, c as isValidSecretProviderAlias, d as validateExecSecretRefId, o as isValidExecSecretRefId, s as isValidFileSecretRefId, u as secretRefKey } from "./ref-contract-GkHI8jyU.js";
11
- import { n as info, o as success, t as danger } from "./globals-C5IxqXPj.js";
12
- import { a as resolveSecretRefValue } from "./resolve-DeAojonS.js";
13
- import { w as SecretProviderSchema } from "./zod-schema.core--iz7S8Y4.js";
14
- import { C as validateConfigObjectRaw, u as readConfigFileSnapshot, x as collectUnsupportedSecretRefPolicyIssues } from "./io-DNd8mbjy.js";
15
- import { n as discoverConfigSecretTargets, s as resolveConfigSecretTargetByPath } from "./target-registry-C7n9-LgM.js";
16
- import { r as replaceConfigFile } from "./mutate-atVXfhNp.js";
17
- import "./config-3He3LWHw.js";
18
- import { a as normalizeConfigIssues, n as formatConfigIssueLines } from "./issue-format-CctGyTV-.js";
19
- import { t as redactConfigObject } from "./redact-snapshot-BRzjCxXA.js";
20
- import { n as readBestEffortRuntimeConfigSchema } from "./runtime-schema-Jjsquqvq.js";
21
- import { n as setCommandJsonMode } from "./json-mode-BR737qRa.js";
22
- import fs from "node:fs";
23
- import JSON5 from "json5";
24
- //#region src/cli/config-set-input.ts
25
- function hasBatchMode(opts) {
26
- return Boolean(normalizeOptionalString(opts.batchJson) || normalizeOptionalString(opts.batchFile));
27
- }
28
- function hasRefBuilderOptions(opts) {
29
- return Boolean(opts.refProvider || opts.refSource || opts.refId);
30
- }
31
- function hasProviderBuilderOptions(opts) {
32
- return Boolean(opts.providerSource || opts.providerAllowlist?.length || opts.providerPath || opts.providerMode || opts.providerTimeoutMs || opts.providerMaxBytes || opts.providerCommand || opts.providerArg?.length || opts.providerNoOutputTimeoutMs || opts.providerMaxOutputBytes || opts.providerJsonOnly || opts.providerEnv?.length || opts.providerPassEnv?.length || opts.providerTrustedDir?.length || opts.providerAllowInsecurePath || opts.providerAllowSymlinkCommand);
33
- }
34
- function parseJson5Raw(raw, label) {
35
- try {
36
- return JSON5.parse(raw);
37
- } catch (err) {
38
- throw new Error(`Failed to parse ${label}: ${String(err)}`, { cause: err });
39
- }
40
- }
41
- function parseBatchEntries(raw, sourceLabel) {
42
- const parsed = parseJson5Raw(raw, sourceLabel);
43
- if (!Array.isArray(parsed)) throw new Error(`${sourceLabel} must be a JSON array.`);
44
- const out = [];
45
- for (const [index, entry] of parsed.entries()) {
46
- if (!entry || typeof entry !== "object" || Array.isArray(entry)) throw new Error(`${sourceLabel}[${index}] must be an object.`);
47
- const typed = entry;
48
- const path = normalizeOptionalString(typed.path) ?? "";
49
- if (!path) throw new Error(`${sourceLabel}[${index}].path is required.`);
50
- const hasValue = Object.prototype.hasOwnProperty.call(typed, "value");
51
- const hasRef = Object.prototype.hasOwnProperty.call(typed, "ref");
52
- const hasProvider = Object.prototype.hasOwnProperty.call(typed, "provider");
53
- if (Number(hasValue) + Number(hasRef) + Number(hasProvider) !== 1) throw new Error(`${sourceLabel}[${index}] must include exactly one of: value, ref, provider.`);
54
- out.push({
55
- path,
56
- ...hasValue ? { value: typed.value } : {},
57
- ...hasRef ? { ref: typed.ref } : {},
58
- ...hasProvider ? { provider: typed.provider } : {}
59
- });
60
- }
61
- return out;
62
- }
63
- function parseBatchSource(opts) {
64
- const batchJson = normalizeOptionalString(opts.batchJson);
65
- const batchFile = normalizeOptionalString(opts.batchFile);
66
- const hasInline = Boolean(batchJson);
67
- const hasFile = Boolean(batchFile);
68
- if (!hasInline && !hasFile) return null;
69
- if (hasInline && hasFile) throw new Error("Use either --batch-json or --batch-file, not both.");
70
- if (hasInline) return parseBatchEntries(batchJson, "--batch-json");
71
- const pathname = normalizeStringifiedOptionalString(opts.batchFile) ?? "";
72
- if (!pathname) throw new Error("--batch-file must not be empty.");
73
- return parseBatchEntries(fs.readFileSync(pathname, "utf8"), "--batch-file");
74
- }
75
- //#endregion
76
- //#region src/cli/config-set-parser.ts
77
- function resolveConfigSetMode(params) {
78
- if (params.hasBatchMode) {
79
- if (params.hasRefBuilderOptions || params.hasProviderBuilderOptions) return {
80
- ok: false,
81
- error: "batch mode (--batch-json/--batch-file) cannot be combined with ref builder (--ref-*) or provider builder (--provider-*) flags."
82
- };
83
- return {
84
- ok: true,
85
- mode: "batch"
86
- };
87
- }
88
- if (params.hasRefBuilderOptions && params.hasProviderBuilderOptions) return {
89
- ok: false,
90
- error: "choose exactly one mode: ref builder (--ref-provider/--ref-source/--ref-id) or provider builder (--provider-*), not both."
91
- };
92
- if (params.hasRefBuilderOptions) return {
93
- ok: true,
94
- mode: "ref_builder"
95
- };
96
- if (params.hasProviderBuilderOptions) return {
97
- ok: true,
98
- mode: "provider_builder"
99
- };
100
- return {
101
- ok: true,
102
- mode: params.strictJson ? "json" : "value"
103
- };
104
- }
105
- //#endregion
106
- //#region src/cli/config-cli.ts
107
- const GATEWAY_AUTH_MODE_PATH = [
108
- "gateway",
109
- "auth",
110
- "mode"
111
- ];
112
- const SECRET_PROVIDER_PATH_PREFIX = ["secrets", "providers"];
113
- const CONFIG_SET_DESCRIPTION = [
114
- "Set config values by path (value mode, ref/provider builder mode, or batch JSON mode).",
115
- "Examples:",
116
- formatCliCommand("genesis config set gateway.port 19001 --strict-json"),
117
- formatCliCommand("genesis config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN"),
118
- formatCliCommand("genesis config set secrets.providers.vault --provider-source file --provider-path /etc/genesis/secrets.json --provider-mode json"),
119
- formatCliCommand("genesis config set --batch-file ./config-set.batch.json --dry-run")
120
- ].join("\n");
121
- const CONFIG_SET_POLICY_ERROR_MAX_ISSUES = 5;
122
- var ConfigSetDryRunValidationError = class extends Error {
123
- constructor(result) {
124
- super("config set dry-run validation failed");
125
- this.result = result;
126
- this.name = "ConfigSetDryRunValidationError";
127
- }
128
- };
129
- function isIndexSegment(raw) {
130
- return /^[0-9]+$/.test(raw);
131
- }
132
- function parseBracketPathSegment(raw, fullPath) {
133
- const trimmed = raw.trim();
134
- if (!trimmed) throw new Error(`Invalid path (empty "[]"): ${fullPath}`);
135
- if (trimmed.startsWith("\"") || trimmed.startsWith("'")) {
136
- try {
137
- const parsed = JSON5.parse(trimmed);
138
- if (typeof parsed === "string" && parsed.trim()) return parsed;
139
- } catch (err) {
140
- throw new Error(`Invalid path bracket string (${trimmed}): ${fullPath}`, { cause: err });
141
- }
142
- throw new Error(`Invalid path bracket string (${trimmed}): ${fullPath}`);
143
- }
144
- return trimmed;
145
- }
146
- function parsePath(raw) {
147
- const trimmed = raw.trim();
148
- if (!trimmed) return [];
149
- const parts = [];
150
- let current = "";
151
- let i = 0;
152
- while (i < trimmed.length) {
153
- const ch = trimmed[i];
154
- if (ch === "\\") {
155
- const next = trimmed[i + 1];
156
- if (next) current += next;
157
- i += 2;
158
- continue;
159
- }
160
- if (ch === ".") {
161
- if (current) parts.push(current);
162
- current = "";
163
- i += 1;
164
- continue;
165
- }
166
- if (ch === "[") {
167
- if (current) parts.push(current);
168
- current = "";
169
- const close = trimmed.indexOf("]", i);
170
- if (close === -1) throw new Error(`Invalid path (missing "]"): ${raw}`);
171
- const inside = trimmed.slice(i + 1, close).trim();
172
- if (!inside) throw new Error(`Invalid path (empty "[]"): ${raw}`);
173
- parts.push(parseBracketPathSegment(inside, raw));
174
- i = close + 1;
175
- continue;
176
- }
177
- current += ch;
178
- i += 1;
179
- }
180
- if (current) parts.push(current);
181
- return parts.map((part) => part.trim()).filter(Boolean);
182
- }
183
- function parseValue(raw, opts) {
184
- const trimmed = raw.trim();
185
- if (opts.strictJson) try {
186
- return JSON.parse(trimmed);
187
- } catch (err) {
188
- throw new Error(`Failed to parse JSON value: ${String(err)}`, { cause: err });
189
- }
190
- try {
191
- return JSON5.parse(trimmed);
192
- } catch {
193
- return raw;
194
- }
195
- }
196
- function hasOwnPathKey(value, key) {
197
- return Object.prototype.hasOwnProperty.call(value, key);
198
- }
199
- function isPlainRecord(value) {
200
- return Boolean(value && typeof value === "object" && !Array.isArray(value));
201
- }
202
- function formatDoctorHint(message) {
203
- return `Run \`${formatCliCommand("genesis doctor")}\` ${message}`;
204
- }
205
- function formatUnsupportedSecretRefPolicyFailureMessage(issues) {
206
- const lines = ["Config policy validation failed: unsupported SecretRef usage was detected.", ...issues.slice(0, CONFIG_SET_POLICY_ERROR_MAX_ISSUES).map((issue) => `- ${issue}`)];
207
- if (issues.length > CONFIG_SET_POLICY_ERROR_MAX_ISSUES) lines.push(`- ... ${issues.length - CONFIG_SET_POLICY_ERROR_MAX_ISSUES} more`);
208
- return lines.join("\n");
209
- }
210
- function validatePathSegments(path) {
211
- for (const segment of path) if (!isIndexSegment(segment) && isBlockedObjectKey(segment)) throw new Error(`Invalid path segment: ${segment}`);
212
- }
213
- function getAtPath(root, path) {
214
- let current = root;
215
- for (const segment of path) {
216
- if (!current || typeof current !== "object") return { found: false };
217
- if (Array.isArray(current)) {
218
- if (!isIndexSegment(segment)) return { found: false };
219
- const index = Number.parseInt(segment, 10);
220
- if (!Number.isFinite(index) || index < 0 || index >= current.length) return { found: false };
221
- current = current[index];
222
- continue;
223
- }
224
- const record = current;
225
- if (!hasOwnPathKey(record, segment)) return { found: false };
226
- current = record[segment];
227
- }
228
- return {
229
- found: true,
230
- value: current
231
- };
232
- }
233
- function setAtPath(root, path, value) {
234
- let current = root;
235
- for (let i = 0; i < path.length - 1; i += 1) {
236
- const segment = path[i];
237
- const next = path[i + 1];
238
- const nextIsIndex = Boolean(next && isIndexSegment(next));
239
- if (Array.isArray(current)) {
240
- if (!isIndexSegment(segment)) throw new Error(`Expected numeric index for array segment "${segment}"`);
241
- const index = Number.parseInt(segment, 10);
242
- const existing = current[index];
243
- if (!existing || typeof existing !== "object") current[index] = nextIsIndex ? [] : {};
244
- current = current[index];
245
- continue;
246
- }
247
- if (!current || typeof current !== "object") throw new Error(`Cannot traverse into "${segment}" (not an object)`);
248
- const record = current;
249
- const existing = hasOwnPathKey(record, segment) ? record[segment] : void 0;
250
- if (!existing || typeof existing !== "object") record[segment] = nextIsIndex ? [] : {};
251
- current = record[segment];
252
- }
253
- const last = path[path.length - 1];
254
- if (Array.isArray(current)) {
255
- if (!isIndexSegment(last)) throw new Error(`Expected numeric index for array segment "${last}"`);
256
- const index = Number.parseInt(last, 10);
257
- current[index] = value;
258
- return;
259
- }
260
- if (!current || typeof current !== "object") throw new Error(`Cannot set "${last}" (parent is not an object)`);
261
- current[last] = value;
262
- }
263
- function modelArrayIds(value) {
264
- if (!Array.isArray(value)) return null;
265
- const ids = /* @__PURE__ */ new Set();
266
- for (const entry of value) {
267
- if (!isPlainRecord(entry) || typeof entry.id !== "string" || !entry.id.trim()) return null;
268
- ids.add(entry.id.trim());
269
- }
270
- return ids;
271
- }
272
- function mergeModelArrays(existing, patch) {
273
- const merged = [...existing];
274
- const indexById = /* @__PURE__ */ new Map();
275
- for (const [index, entry] of merged.entries()) if (isPlainRecord(entry) && typeof entry.id === "string" && entry.id.trim()) indexById.set(entry.id.trim(), index);
276
- for (const entry of patch) {
277
- if (!isPlainRecord(entry) || typeof entry.id !== "string" || !entry.id.trim()) {
278
- merged.push(entry);
279
- continue;
280
- }
281
- const id = entry.id.trim();
282
- const existingIndex = indexById.get(id);
283
- if (existingIndex === void 0) {
284
- indexById.set(id, merged.length);
285
- merged.push(entry);
286
- continue;
287
- }
288
- const existingEntry = merged[existingIndex];
289
- merged[existingIndex] = isPlainRecord(existingEntry) ? {
290
- ...existingEntry,
291
- ...entry
292
- } : entry;
293
- }
294
- return merged;
295
- }
296
- function mergeConfigValue(existing, patch, path) {
297
- if (isProviderModelListPath(path) && Array.isArray(existing) && Array.isArray(patch)) return mergeModelArrays(existing, patch);
298
- if (isPlainRecord(existing) && isPlainRecord(patch)) {
299
- const next = { ...existing };
300
- for (const [key, value] of Object.entries(patch)) next[key] = hasOwnPathKey(next, key) && isPlainRecord(next[key]) && isPlainRecord(value) ? mergeConfigValue(next[key], value, [...path, key]) : value;
301
- return next;
302
- }
303
- throw new Error(`Cannot merge ${toDotPath(path)}; use --replace to replace intentionally.`);
304
- }
305
- function mergeAtPath(root, path, value) {
306
- const existing = getAtPath(root, path);
307
- if (!existing.found) {
308
- setAtPath(root, path, value);
309
- return;
310
- }
311
- setAtPath(root, path, mergeConfigValue(existing.value, value, path));
312
- }
313
- function isProviderModelListPath(path) {
314
- return path.length === 4 && path[0] === "models" && path[1] === "providers" && path[3] === "models";
315
- }
316
- function isProtectedMapReplacementPath(path) {
317
- if (path.join(".") === "agents.defaults.models") return true;
318
- if (path.join(".") === "models.providers") return true;
319
- if (path.length === 3 && path[0] === "models" && path[1] === "providers") return true;
320
- if (path.join(".") === "plugins.entries") return true;
321
- if (path.join(".") === "auth.profiles") return true;
322
- return false;
323
- }
324
- function isProtectedArrayReplacementPath(path) {
325
- return isProviderModelListPath(path) || path.join(".") === "agents.list";
326
- }
327
- function formatRemovedEntries(entries) {
328
- const visible = entries.slice(0, 6);
329
- const suffix = entries.length > visible.length ? `, ... ${entries.length - visible.length} more` : "";
330
- return `${visible.join(", ")}${suffix}`;
331
- }
332
- function assertNonDestructiveReplacement(params) {
333
- if (params.allowReplace) return;
334
- const existing = getAtPath(params.root, params.path);
335
- if (!existing.found) return;
336
- const pathLabel = toDotPath(params.path);
337
- if (isProtectedMapReplacementPath(params.path) && isPlainRecord(existing.value)) {
338
- if (!isPlainRecord(params.value)) return;
339
- const nextKeys = new Set(Object.keys(params.value));
340
- const removed = Object.keys(existing.value).filter((key) => !nextKeys.has(key));
341
- if (removed.length > 0) throw new Error(`Refusing to replace ${pathLabel}; it would remove existing entries: ${formatRemovedEntries(removed)}. Use --merge to merge object values or --replace to replace intentionally.`);
342
- }
343
- if (isProtectedArrayReplacementPath(params.path)) {
344
- const existingIds = modelArrayIds(existing.value);
345
- const nextIds = modelArrayIds(params.value);
346
- if (!existingIds || !nextIds) return;
347
- const removed = [...existingIds].filter((id) => !nextIds.has(id));
348
- if (removed.length > 0) throw new Error(`Refusing to replace ${pathLabel}; it would remove existing entries: ${formatRemovedEntries(removed)}. Use --merge to merge by id or --replace to replace intentionally.`);
349
- }
350
- }
351
- function unsetAtPath(root, path) {
352
- let current = root;
353
- for (let i = 0; i < path.length - 1; i += 1) {
354
- const segment = path[i];
355
- if (!current || typeof current !== "object") return false;
356
- if (Array.isArray(current)) {
357
- if (!isIndexSegment(segment)) return false;
358
- const index = Number.parseInt(segment, 10);
359
- if (!Number.isFinite(index) || index < 0 || index >= current.length) return false;
360
- current = current[index];
361
- continue;
362
- }
363
- const record = current;
364
- if (!hasOwnPathKey(record, segment)) return false;
365
- current = record[segment];
366
- }
367
- const last = path[path.length - 1];
368
- if (Array.isArray(current)) {
369
- if (!isIndexSegment(last)) return false;
370
- const index = Number.parseInt(last, 10);
371
- if (!Number.isFinite(index) || index < 0 || index >= current.length) return false;
372
- current.splice(index, 1);
373
- return true;
374
- }
375
- if (!current || typeof current !== "object") return false;
376
- const record = current;
377
- if (!hasOwnPathKey(record, last)) return false;
378
- delete record[last];
379
- return true;
380
- }
381
- function isArrayElementUnsetPath(root, path) {
382
- if (path.length === 0 || !isIndexSegment(path[path.length - 1])) return false;
383
- const parent = getAtPath(root, path.slice(0, -1));
384
- return parent.found && Array.isArray(parent.value);
385
- }
386
- async function loadValidConfig(runtime = defaultRuntime) {
387
- const snapshot = await readConfigFileSnapshot();
388
- if (snapshot.valid) return snapshot;
389
- runtime.error(`Config invalid at ${shortenHomePath(snapshot.path)}.`);
390
- for (const line of formatConfigIssueLines(snapshot.issues, "-", { normalizeRoot: true })) runtime.error(line);
391
- runtime.error(formatDoctorHint("to repair, then retry."));
392
- runtime.exit(1);
393
- return snapshot;
394
- }
395
- function parseRequiredPath(path) {
396
- const parsedPath = parsePath(path);
397
- if (parsedPath.length === 0) throw new Error("Path is empty.");
398
- validatePathSegments(parsedPath);
399
- return parsedPath;
400
- }
401
- function pathEquals(path, expected) {
402
- return path.length === expected.length && path.every((segment, index) => segment === expected[index]);
403
- }
404
- function pruneInactiveGatewayAuthCredentials(params) {
405
- if (!params.operations.some((operation) => pathEquals(operation.requestedPath, GATEWAY_AUTH_MODE_PATH))) return [];
406
- const gatewayRaw = params.root.gateway;
407
- if (!gatewayRaw || typeof gatewayRaw !== "object" || Array.isArray(gatewayRaw)) return [];
408
- const authRaw = gatewayRaw.auth;
409
- if (!authRaw || typeof authRaw !== "object" || Array.isArray(authRaw)) return [];
410
- const auth = authRaw;
411
- const mode = normalizeOptionalString(auth.mode) ?? "";
412
- const removedPaths = [];
413
- const remove = (key) => {
414
- if (Object.hasOwn(auth, key)) {
415
- delete auth[key];
416
- removedPaths.push(`gateway.auth.${key}`);
417
- }
418
- };
419
- if (mode === "token") remove("password");
420
- else if (mode === "password") remove("token");
421
- else if (mode === "trusted-proxy") {
422
- remove("token");
423
- remove("password");
424
- }
425
- return removedPaths;
426
- }
427
- function toDotPath(path) {
428
- return path.join(".");
429
- }
430
- function parseSecretRefSource(raw, label) {
431
- const source = raw.trim();
432
- if (source === "env" || source === "file" || source === "exec") return source;
433
- throw new Error(`${label} must be one of: env, file, exec.`);
434
- }
435
- function parseSecretRefBuilder(params) {
436
- const provider = params.provider.trim();
437
- if (!provider) throw new Error(`${params.fieldPrefix}.provider is required.`);
438
- if (!isValidSecretProviderAlias(provider)) throw new Error(`${params.fieldPrefix}.provider must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`);
439
- const source = parseSecretRefSource(params.source, `${params.fieldPrefix}.source`);
440
- const id = params.id.trim();
441
- if (!id) throw new Error(`${params.fieldPrefix}.id is required.`);
442
- if (source === "env" && !isValidEnvSecretRefId(id)) throw new Error(`${params.fieldPrefix}.id must match /^[A-Z][A-Z0-9_]{0,127}$/ for env refs.`);
443
- if (source === "file" && !isValidFileSecretRefId(id)) throw new Error(`${params.fieldPrefix}.id must be an absolute JSON pointer (or "value" for singleValue mode).`);
444
- if (source === "exec") {
445
- if (!validateExecSecretRefId(id).ok) throw new Error(formatExecSecretRefIdValidationMessage());
446
- }
447
- return {
448
- source,
449
- provider,
450
- id
451
- };
452
- }
453
- function parseOptionalPositiveInteger(raw, flag) {
454
- if (raw === void 0) return;
455
- const trimmed = raw.trim();
456
- if (!trimmed) throw new Error(`${flag} must not be empty.`);
457
- const parsed = Number(trimmed);
458
- if (!Number.isInteger(parsed) || parsed <= 0) throw new Error(`${flag} must be a positive integer.`);
459
- return parsed;
460
- }
461
- function parseProviderEnvEntries(entries) {
462
- if (!entries || entries.length === 0) return;
463
- const env = {};
464
- for (const entry of entries) {
465
- const separator = entry.indexOf("=");
466
- if (separator <= 0) throw new Error(`--provider-env expects KEY=VALUE entries (received: "${entry}").`);
467
- const key = entry.slice(0, separator).trim();
468
- if (!key) throw new Error(`--provider-env key must not be empty (received: "${entry}").`);
469
- env[key] = entry.slice(separator + 1);
470
- }
471
- return Object.keys(env).length > 0 ? env : void 0;
472
- }
473
- function parseProviderAliasPath(path) {
474
- if (!(path.length === 3 && path[0] === SECRET_PROVIDER_PATH_PREFIX[0] && path[1] === SECRET_PROVIDER_PATH_PREFIX[1])) throw new Error("Provider builder mode requires path \"secrets.providers.<alias>\" (example: secrets.providers.vault).");
475
- const alias = path[2] ?? "";
476
- if (!isValidSecretProviderAlias(alias)) throw new Error(`Provider alias "${alias}" must match /^[a-z][a-z0-9_-]{0,63}$/ (example: "default").`);
477
- return alias;
478
- }
479
- function buildProviderFromBuilder(opts) {
480
- const sourceRaw = opts.providerSource?.trim();
481
- if (!sourceRaw) throw new Error("--provider-source is required in provider builder mode.");
482
- const source = parseSecretRefSource(sourceRaw, "--provider-source");
483
- const timeoutMs = parseOptionalPositiveInteger(opts.providerTimeoutMs, "--provider-timeout-ms");
484
- const maxBytes = parseOptionalPositiveInteger(opts.providerMaxBytes, "--provider-max-bytes");
485
- const noOutputTimeoutMs = parseOptionalPositiveInteger(opts.providerNoOutputTimeoutMs, "--provider-no-output-timeout-ms");
486
- const maxOutputBytes = parseOptionalPositiveInteger(opts.providerMaxOutputBytes, "--provider-max-output-bytes");
487
- const providerEnv = parseProviderEnvEntries(opts.providerEnv);
488
- let provider;
489
- if (source === "env") {
490
- const allowlist = (opts.providerAllowlist ?? []).map((entry) => entry.trim()).filter(Boolean);
491
- for (const envName of allowlist) if (!isValidEnvSecretRefId(envName)) throw new Error(`--provider-allowlist entry "${envName}" must match /^[A-Z][A-Z0-9_]{0,127}$/.`);
492
- provider = {
493
- source: "env",
494
- ...allowlist.length > 0 ? { allowlist } : {}
495
- };
496
- } else if (source === "file") {
497
- const filePath = opts.providerPath?.trim();
498
- if (!filePath) throw new Error("--provider-path is required when --provider-source file is used.");
499
- const modeRaw = opts.providerMode?.trim();
500
- if (modeRaw && modeRaw !== "singleValue" && modeRaw !== "json") throw new Error("--provider-mode must be one of: singleValue, json.");
501
- const mode = modeRaw === "singleValue" || modeRaw === "json" ? modeRaw : void 0;
502
- provider = {
503
- source: "file",
504
- path: filePath,
505
- ...mode ? { mode } : {},
506
- ...timeoutMs !== void 0 ? { timeoutMs } : {},
507
- ...maxBytes !== void 0 ? { maxBytes } : {},
508
- ...opts.providerAllowInsecurePath ? { allowInsecurePath: true } : {}
509
- };
510
- } else {
511
- const command = opts.providerCommand?.trim();
512
- if (!command) throw new Error("--provider-command is required when --provider-source exec is used.");
513
- provider = {
514
- source: "exec",
515
- command,
516
- ...opts.providerArg && opts.providerArg.length > 0 ? { args: opts.providerArg.map((entry) => entry.trim()) } : {},
517
- ...timeoutMs !== void 0 ? { timeoutMs } : {},
518
- ...noOutputTimeoutMs !== void 0 ? { noOutputTimeoutMs } : {},
519
- ...maxOutputBytes !== void 0 ? { maxOutputBytes } : {},
520
- ...opts.providerJsonOnly ? { jsonOnly: true } : {},
521
- ...providerEnv ? { env: providerEnv } : {},
522
- ...opts.providerPassEnv && opts.providerPassEnv.length > 0 ? { passEnv: opts.providerPassEnv.map((entry) => entry.trim()).filter(Boolean) } : {},
523
- ...opts.providerTrustedDir && opts.providerTrustedDir.length > 0 ? { trustedDirs: opts.providerTrustedDir.map((entry) => entry.trim()).filter(Boolean) } : {},
524
- ...opts.providerAllowInsecurePath ? { allowInsecurePath: true } : {},
525
- ...opts.providerAllowSymlinkCommand ? { allowSymlinkCommand: true } : {}
526
- };
527
- }
528
- const validated = SecretProviderSchema.safeParse(provider);
529
- if (!validated.success) {
530
- const issue = validated.error.issues[0];
531
- const issuePath = issue?.path?.join(".") ?? "<provider>";
532
- const issueMessage = issue?.message ?? "Invalid provider config.";
533
- throw new Error(`Provider builder config invalid at ${issuePath}: ${issueMessage}`);
534
- }
535
- return validated.data;
536
- }
537
- function parseSecretRefFromUnknown(value, label) {
538
- if (!value || typeof value !== "object" || Array.isArray(value)) throw new Error(`${label} must be an object with source/provider/id.`);
539
- const candidate = value;
540
- if (typeof candidate.provider !== "string" || typeof candidate.source !== "string" || typeof candidate.id !== "string") throw new Error(`${label} must include string fields: source, provider, id.`);
541
- return parseSecretRefBuilder({
542
- provider: candidate.provider,
543
- source: candidate.source,
544
- id: candidate.id,
545
- fieldPrefix: label
546
- });
547
- }
548
- function buildRefAssignmentOperation(params) {
549
- const resolved = resolveConfigSecretTargetByPath(params.requestedPath);
550
- if (resolved?.entry.secretShape === "sibling_ref" && resolved.refPathSegments) return {
551
- inputMode: params.inputMode,
552
- requestedPath: params.requestedPath,
553
- setPath: resolved.refPathSegments,
554
- value: params.ref,
555
- schemaValidated: true,
556
- touchedSecretTargetPath: toDotPath(resolved.pathSegments),
557
- assignedRef: params.ref,
558
- ...resolved.providerId ? { touchedProviderAlias: resolved.providerId } : {}
559
- };
560
- return {
561
- inputMode: params.inputMode,
562
- requestedPath: params.requestedPath,
563
- setPath: params.requestedPath,
564
- value: params.ref,
565
- schemaValidated: true,
566
- touchedSecretTargetPath: resolved ? toDotPath(resolved.pathSegments) : toDotPath(params.requestedPath),
567
- assignedRef: params.ref,
568
- ...resolved?.providerId ? { touchedProviderAlias: resolved.providerId } : {}
569
- };
570
- }
571
- function parseProviderAliasFromTargetPath(path) {
572
- if (path.length >= 3 && path[0] === SECRET_PROVIDER_PATH_PREFIX[0] && path[1] === SECRET_PROVIDER_PATH_PREFIX[1]) return path[2] ?? null;
573
- return null;
574
- }
575
- function buildValueAssignmentOperation(params) {
576
- const resolved = resolveConfigSecretTargetByPath(params.requestedPath);
577
- const providerAlias = parseProviderAliasFromTargetPath(params.requestedPath);
578
- const coercedRef = coerceSecretRef(params.value);
579
- return {
580
- inputMode: params.inputMode,
581
- requestedPath: params.requestedPath,
582
- setPath: params.requestedPath,
583
- value: params.value,
584
- ...resolved ? { touchedSecretTargetPath: toDotPath(resolved.pathSegments) } : {},
585
- ...providerAlias ? { touchedProviderAlias: providerAlias } : {},
586
- ...coercedRef ? { assignedRef: coercedRef } : {}
587
- };
588
- }
589
- function parseBatchOperations(entries) {
590
- const operations = [];
591
- for (const [index, entry] of entries.entries()) {
592
- const path = parseRequiredPath(entry.path);
593
- if (entry.ref !== void 0) {
594
- const ref = parseSecretRefFromUnknown(entry.ref, `batch[${index}].ref`);
595
- operations.push(buildRefAssignmentOperation({
596
- requestedPath: path,
597
- ref,
598
- inputMode: "json"
599
- }));
600
- continue;
601
- }
602
- if (entry.provider !== void 0) {
603
- const alias = parseProviderAliasPath(path);
604
- const validated = SecretProviderSchema.safeParse(entry.provider);
605
- if (!validated.success) {
606
- const issue = validated.error.issues[0];
607
- const issuePath = issue?.path?.join(".") ?? "<provider>";
608
- throw new Error(`batch[${index}].provider invalid at ${issuePath}: ${issue?.message ?? ""}`);
609
- }
610
- operations.push({
611
- inputMode: "json",
612
- requestedPath: path,
613
- setPath: path,
614
- value: validated.data,
615
- schemaValidated: true,
616
- touchedProviderAlias: alias
617
- });
618
- continue;
619
- }
620
- operations.push(buildValueAssignmentOperation({
621
- requestedPath: path,
622
- value: entry.value,
623
- inputMode: "json"
624
- }));
625
- }
626
- return operations;
627
- }
628
- function modeError(message) {
629
- return /* @__PURE__ */ new Error(`config set mode error: ${message}`);
630
- }
631
- function buildSingleSetOperations(params) {
632
- const pathProvided = typeof params.path === "string" && params.path.trim().length > 0;
633
- const parsedPath = pathProvided ? parseRequiredPath(params.path) : null;
634
- const strictJson = Boolean(params.opts.strictJson || params.opts.json);
635
- const modeResolution = resolveConfigSetMode({
636
- hasBatchMode: false,
637
- hasRefBuilderOptions: hasRefBuilderOptions(params.opts),
638
- hasProviderBuilderOptions: hasProviderBuilderOptions(params.opts),
639
- strictJson
640
- });
641
- if (!modeResolution.ok) throw modeError(modeResolution.error);
642
- if (modeResolution.mode === "ref_builder") {
643
- if (!pathProvided || !parsedPath) throw modeError("ref builder mode requires <path>.");
644
- if (params.value !== void 0) throw modeError("ref builder mode does not accept <value>.");
645
- if (!params.opts.refProvider || !params.opts.refSource || !params.opts.refId) throw modeError("ref builder mode requires --ref-provider <alias>, --ref-source <env|file|exec>, and --ref-id <id>.");
646
- return [buildRefAssignmentOperation({
647
- requestedPath: parsedPath,
648
- ref: parseSecretRefBuilder({
649
- provider: params.opts.refProvider,
650
- source: params.opts.refSource,
651
- id: params.opts.refId,
652
- fieldPrefix: "ref"
653
- }),
654
- inputMode: "builder"
655
- })];
656
- }
657
- if (modeResolution.mode === "provider_builder") {
658
- if (!pathProvided || !parsedPath) throw modeError("provider builder mode requires <path>.");
659
- if (params.value !== void 0) throw modeError("provider builder mode does not accept <value>.");
660
- const alias = parseProviderAliasPath(parsedPath);
661
- return [{
662
- inputMode: "builder",
663
- requestedPath: parsedPath,
664
- setPath: parsedPath,
665
- value: buildProviderFromBuilder(params.opts),
666
- schemaValidated: true,
667
- touchedProviderAlias: alias
668
- }];
669
- }
670
- if (!pathProvided || !parsedPath) throw modeError("value/json mode requires <path> when batch mode is not used.");
671
- if (params.value === void 0) throw modeError("value/json mode requires <value>.");
672
- return [buildValueAssignmentOperation({
673
- requestedPath: parsedPath,
674
- value: parseValue(params.value, { strictJson }),
675
- inputMode: modeResolution.mode === "json" ? "json" : "value"
676
- })];
677
- }
678
- function collectDryRunRefs(params) {
679
- const refsByKey = /* @__PURE__ */ new Map();
680
- const targetPaths = /* @__PURE__ */ new Set();
681
- const providerAliases = /* @__PURE__ */ new Set();
682
- for (const operation of params.operations) {
683
- if (operation.assignedRef) refsByKey.set(secretRefKey(operation.assignedRef), operation.assignedRef);
684
- if (operation.touchedSecretTargetPath) targetPaths.add(operation.touchedSecretTargetPath);
685
- if (operation.touchedProviderAlias) providerAliases.add(operation.touchedProviderAlias);
686
- }
687
- if (targetPaths.size === 0 && providerAliases.size === 0) return [...refsByKey.values()];
688
- const defaults = params.config.secrets?.defaults;
689
- for (const target of discoverConfigSecretTargets(params.config)) {
690
- const { ref } = resolveSecretInputRef({
691
- value: target.value,
692
- refValue: target.refValue,
693
- defaults
694
- });
695
- if (!ref) continue;
696
- if (targetPaths.has(target.path) || providerAliases.has(ref.provider)) refsByKey.set(secretRefKey(ref), ref);
697
- }
698
- return [...refsByKey.values()];
699
- }
700
- async function collectDryRunResolvabilityErrors(params) {
701
- const failures = [];
702
- for (const ref of params.refs) try {
703
- await resolveSecretRefValue(ref, {
704
- config: params.config,
705
- env: process.env
706
- });
707
- } catch (err) {
708
- failures.push({
709
- kind: "resolvability",
710
- message: String(err),
711
- ref: `${ref.source}:${ref.provider}:${ref.id}`
712
- });
713
- }
714
- return failures;
715
- }
716
- function collectDryRunStaticErrorsForSkippedExecRefs(params) {
717
- const failures = [];
718
- for (const ref of params.refs) {
719
- const id = ref.id.trim();
720
- const refLabel = `${ref.source}:${ref.provider}:${id}`;
721
- if (!id) {
722
- failures.push({
723
- kind: "resolvability",
724
- message: "Error: Secret reference id is empty.",
725
- ref: refLabel
726
- });
727
- continue;
728
- }
729
- if (!isValidExecSecretRefId(id)) {
730
- failures.push({
731
- kind: "resolvability",
732
- message: `Error: ${formatExecSecretRefIdValidationMessage()} (ref: ${refLabel}).`,
733
- ref: refLabel
734
- });
735
- continue;
736
- }
737
- const providerConfig = params.config.secrets?.providers?.[ref.provider];
738
- if (!providerConfig) {
739
- failures.push({
740
- kind: "resolvability",
741
- message: `Error: Secret provider "${ref.provider}" is not configured (ref: ${refLabel}).`,
742
- ref: refLabel
743
- });
744
- continue;
745
- }
746
- if (providerConfig.source !== ref.source) failures.push({
747
- kind: "resolvability",
748
- message: `Error: Secret provider "${ref.provider}" has source "${providerConfig.source}" but ref requests "${ref.source}".`,
749
- ref: refLabel
750
- });
751
- }
752
- return failures;
753
- }
754
- function selectDryRunRefsForResolution(params) {
755
- const refsToResolve = [];
756
- const skippedExecRefs = [];
757
- for (const ref of params.refs) {
758
- if (ref.source === "exec" && !params.allowExecInDryRun) {
759
- skippedExecRefs.push(ref);
760
- continue;
761
- }
762
- refsToResolve.push(ref);
763
- }
764
- return {
765
- refsToResolve,
766
- skippedExecRefs
767
- };
768
- }
769
- function collectDryRunSchemaErrors(params) {
770
- const validated = validateConfigObjectRaw(params.config, { touchedPaths: params.operations.map((operation) => operation.setPath) });
771
- if (validated.ok) return [];
772
- return formatConfigIssueLines(validated.issues, "-", { normalizeRoot: true }).map((message) => ({
773
- kind: "schema",
774
- message
775
- }));
776
- }
777
- function dedupeDryRunErrors(errors) {
778
- const deduped = [];
779
- const seen = /* @__PURE__ */ new Set();
780
- for (const error of errors) {
781
- const key = error.kind === "resolvability" ? `${error.kind}\u0000${error.ref ?? ""}\u0000${error.message}` : `${error.kind}\u0000${error.message}`;
782
- if (seen.has(key)) continue;
783
- seen.add(key);
784
- deduped.push(error);
785
- }
786
- return deduped;
787
- }
788
- function formatDryRunFailureMessage(params) {
789
- const { errors, skippedExecRefs } = params;
790
- const schemaErrors = errors.filter((error) => error.kind === "schema");
791
- const resolveErrors = errors.filter((error) => error.kind === "resolvability");
792
- const lines = [];
793
- if (schemaErrors.length > 0) {
794
- lines.push("Dry run failed: config schema validation failed.");
795
- lines.push(...schemaErrors.map((error) => `- ${error.message}`));
796
- }
797
- if (resolveErrors.length > 0) {
798
- lines.push(`Dry run failed: ${resolveErrors.length} SecretRef assignment(s) could not be resolved.`);
799
- lines.push(...resolveErrors.slice(0, 5).map((error) => `- ${error.ref ?? "<unknown-ref>"} -> ${error.message}`));
800
- if (resolveErrors.length > 5) lines.push(`- ... ${resolveErrors.length - 5} more`);
801
- }
802
- if (skippedExecRefs > 0) lines.push(`Dry run note: skipped ${skippedExecRefs} exec SecretRef resolvability check(s). Re-run with --allow-exec to execute exec providers during dry-run.`);
803
- return lines.join("\n");
804
- }
805
- async function runConfigSet(opts) {
806
- const runtime = opts.runtime ?? defaultRuntime;
807
- try {
808
- const modeResolution = resolveConfigSetMode({
809
- hasBatchMode: hasBatchMode(opts.cliOptions),
810
- hasRefBuilderOptions: hasRefBuilderOptions(opts.cliOptions),
811
- hasProviderBuilderOptions: hasProviderBuilderOptions(opts.cliOptions),
812
- strictJson: Boolean(opts.cliOptions.strictJson || opts.cliOptions.json)
813
- });
814
- if (!modeResolution.ok) throw modeError(modeResolution.error);
815
- if (opts.cliOptions.allowExec && !opts.cliOptions.dryRun) throw modeError("--allow-exec requires --dry-run.");
816
- if (opts.cliOptions.merge && opts.cliOptions.replace) throw modeError("choose either --merge or --replace, not both.");
817
- const batchEntries = parseBatchSource(opts.cliOptions);
818
- if (batchEntries) {
819
- if (opts.path !== void 0 || opts.value !== void 0) throw modeError("batch mode does not accept <path> or <value> arguments.");
820
- }
821
- const operations = batchEntries ? parseBatchOperations(batchEntries) : buildSingleSetOperations({
822
- path: opts.path,
823
- value: opts.value,
824
- opts: opts.cliOptions
825
- });
826
- const snapshot = await loadValidConfig(runtime);
827
- const next = structuredClone(snapshot.resolved);
828
- for (const operation of operations) if (opts.cliOptions.merge) mergeAtPath(next, operation.setPath, operation.value);
829
- else {
830
- assertNonDestructiveReplacement({
831
- root: next,
832
- path: operation.setPath,
833
- value: operation.value,
834
- allowReplace: opts.cliOptions.replace
835
- });
836
- setAtPath(next, operation.setPath, operation.value);
837
- }
838
- const removedGatewayAuthPaths = pruneInactiveGatewayAuthCredentials({
839
- root: next,
840
- operations
841
- });
842
- const nextConfig = next;
843
- const policyIssueLines = formatConfigIssueLines(collectUnsupportedSecretRefPolicyIssues(nextConfig), "", { normalizeRoot: true }).map((line) => line.trim());
844
- if (opts.cliOptions.dryRun) {
845
- const hasJsonMode = operations.some((operation) => operation.inputMode === "json");
846
- const hasBuilderMode = operations.some((operation) => operation.inputMode === "builder");
847
- const requiresFullSchemaValidation = operations.some((operation) => operation.inputMode === "json" && operation.schemaValidated !== true);
848
- const selectedDryRunRefs = selectDryRunRefsForResolution({
849
- refs: hasJsonMode || hasBuilderMode ? collectDryRunRefs({
850
- config: nextConfig,
851
- operations
852
- }) : [],
853
- allowExecInDryRun: Boolean(opts.cliOptions.allowExec)
854
- });
855
- const errors = [];
856
- if ((!hasJsonMode || !requiresFullSchemaValidation) && policyIssueLines.length > 0) errors.push(...policyIssueLines.map((message) => ({
857
- kind: "schema",
858
- message
859
- })));
860
- if (requiresFullSchemaValidation) errors.push(...collectDryRunSchemaErrors({
861
- config: nextConfig,
862
- operations
863
- }));
864
- if (hasJsonMode || hasBuilderMode) {
865
- errors.push(...collectDryRunStaticErrorsForSkippedExecRefs({
866
- refs: selectedDryRunRefs.skippedExecRefs,
867
- config: nextConfig
868
- }));
869
- errors.push(...await collectDryRunResolvabilityErrors({
870
- refs: selectedDryRunRefs.refsToResolve,
871
- config: nextConfig
872
- }));
873
- }
874
- const dedupedErrors = dedupeDryRunErrors(errors);
875
- const dryRunResult = {
876
- ok: dedupedErrors.length === 0,
877
- operations: operations.length,
878
- configPath: shortenHomePath(snapshot.path),
879
- inputModes: [...new Set(operations.map((operation) => operation.inputMode))],
880
- checks: {
881
- schema: requiresFullSchemaValidation || policyIssueLines.length > 0,
882
- resolvability: hasJsonMode || hasBuilderMode,
883
- resolvabilityComplete: (hasJsonMode || hasBuilderMode) && selectedDryRunRefs.skippedExecRefs.length === 0
884
- },
885
- refsChecked: selectedDryRunRefs.refsToResolve.length,
886
- skippedExecRefs: selectedDryRunRefs.skippedExecRefs.length,
887
- ...dedupedErrors.length > 0 ? { errors: dedupedErrors } : {}
888
- };
889
- if (dedupedErrors.length > 0) {
890
- if (opts.cliOptions.json) throw new ConfigSetDryRunValidationError(dryRunResult);
891
- throw new Error(formatDryRunFailureMessage({
892
- errors: dedupedErrors,
893
- skippedExecRefs: selectedDryRunRefs.skippedExecRefs.length
894
- }));
895
- }
896
- if (opts.cliOptions.json) writeRuntimeJson(runtime, dryRunResult);
897
- else {
898
- if (!dryRunResult.checks.schema && !dryRunResult.checks.resolvability) runtime.log(info("Dry run note: value mode does not run schema/resolvability checks. Use --strict-json, builder flags, or batch mode to enable validation checks."));
899
- if (dryRunResult.skippedExecRefs > 0) runtime.log(info(`Dry run note: skipped ${dryRunResult.skippedExecRefs} exec SecretRef resolvability check(s). Re-run with --allow-exec to execute exec providers during dry-run.`));
900
- runtime.log(info(`Dry run successful: ${operations.length} update(s) validated against ${shortenHomePath(snapshot.path)}.`));
901
- }
902
- return;
903
- }
904
- if (policyIssueLines.length > 0) throw new Error(formatUnsupportedSecretRefPolicyFailureMessage(policyIssueLines));
905
- await replaceConfigFile({
906
- nextConfig: next,
907
- ...snapshot.hash !== void 0 ? { baseHash: snapshot.hash } : {}
908
- });
909
- if (removedGatewayAuthPaths.length > 0) runtime.log(info(`Removed inactive ${removedGatewayAuthPaths.join(", ")} for gateway.auth.mode=${nextConfig.gateway?.auth?.mode ?? "<unset>"}.`));
910
- if (operations.length === 1) {
911
- runtime.log(info(`Updated ${toDotPath(operations[0]?.requestedPath ?? [])}. Restart the gateway to apply.`));
912
- return;
913
- }
914
- runtime.log(info(`Updated ${operations.length} config paths. Restart the gateway to apply.`));
915
- } catch (err) {
916
- if (opts.cliOptions.dryRun && opts.cliOptions.json && err instanceof ConfigSetDryRunValidationError) {
917
- writeRuntimeJson(runtime, err.result);
918
- runtime.exit(1);
919
- return;
920
- }
921
- runtime.error(danger(String(err)));
922
- runtime.exit(1);
923
- }
924
- }
925
- async function runConfigGet(opts) {
926
- const runtime = opts.runtime ?? defaultRuntime;
927
- try {
928
- const parsedPath = parseRequiredPath(opts.path);
929
- const res = getAtPath(redactConfigObject((await loadValidConfig(runtime)).config), parsedPath);
930
- if (!res.found) {
931
- runtime.error(danger(`Config path not found: ${opts.path}`));
932
- runtime.exit(1);
933
- return;
934
- }
935
- if (opts.json) {
936
- writeRuntimeJson(runtime, res.value ?? null);
937
- return;
938
- }
939
- if (typeof res.value === "string" || typeof res.value === "number" || typeof res.value === "boolean") {
940
- runtime.log(String(res.value));
941
- return;
942
- }
943
- writeRuntimeJson(runtime, res.value ?? null);
944
- } catch (err) {
945
- runtime.error(danger(String(err)));
946
- runtime.exit(1);
947
- }
948
- }
949
- async function runConfigUnset(opts) {
950
- const runtime = opts.runtime ?? defaultRuntime;
951
- try {
952
- const parsedPath = parseRequiredPath(opts.path);
953
- const snapshot = await loadValidConfig(runtime);
954
- const next = structuredClone(snapshot.resolved);
955
- if (!unsetAtPath(next, parsedPath)) {
956
- runtime.error(danger(`Config path not found: ${opts.path}`));
957
- runtime.exit(1);
958
- return;
959
- }
960
- await replaceConfigFile({
961
- nextConfig: next,
962
- ...snapshot.hash !== void 0 ? { baseHash: snapshot.hash } : {},
963
- writeOptions: isArrayElementUnsetPath(snapshot.resolved, parsedPath) ? void 0 : { unsetPaths: [parsedPath] }
964
- });
965
- runtime.log(info(`Removed ${opts.path}. Restart the gateway to apply.`));
966
- } catch (err) {
967
- runtime.error(danger(String(err)));
968
- runtime.exit(1);
969
- }
970
- }
971
- async function runConfigFile(opts) {
972
- const runtime = opts.runtime ?? defaultRuntime;
973
- try {
974
- const snapshot = await readConfigFileSnapshot();
975
- runtime.log(shortenHomePath(snapshot.path));
976
- } catch (err) {
977
- runtime.error(danger(String(err)));
978
- runtime.exit(1);
979
- }
980
- }
981
- async function buildCliConfigSchema() {
982
- const schema = structuredClone((await readBestEffortRuntimeConfigSchema()).schema);
983
- schema.properties = {
984
- $schema: { type: "string" },
985
- ...schema.properties
986
- };
987
- return schema;
988
- }
989
- async function runConfigSchema(opts = {}) {
990
- const runtime = opts.runtime ?? defaultRuntime;
991
- try {
992
- writeRuntimeJson(runtime, await buildCliConfigSchema());
993
- } catch (err) {
994
- runtime.error(danger(`Config schema error: ${String(err)}`));
995
- runtime.exit(1);
996
- }
997
- }
998
- async function runConfigValidate(opts = {}) {
999
- const runtime = opts.runtime ?? defaultRuntime;
1000
- let outputPath = CONFIG_PATH ?? "genesis.json";
1001
- try {
1002
- const snapshot = await readConfigFileSnapshot();
1003
- outputPath = snapshot.path;
1004
- const shortPath = shortenHomePath(outputPath);
1005
- if (!snapshot.exists) {
1006
- if (opts.json) writeRuntimeJson(runtime, {
1007
- valid: false,
1008
- path: outputPath,
1009
- error: "file not found"
1010
- }, 0);
1011
- else runtime.error(danger(`Config file not found: ${shortPath}`));
1012
- runtime.exit(1);
1013
- return;
1014
- }
1015
- if (!snapshot.valid) {
1016
- const issues = normalizeConfigIssues(snapshot.issues);
1017
- if (opts.json) writeRuntimeJson(runtime, {
1018
- valid: false,
1019
- path: outputPath,
1020
- issues
1021
- });
1022
- else {
1023
- runtime.error(danger(`Config invalid at ${shortPath}:`));
1024
- for (const line of formatConfigIssueLines(issues, danger("×"), { normalizeRoot: true })) runtime.error(` ${line}`);
1025
- runtime.error("");
1026
- runtime.error(formatDoctorHint("to repair, or fix the keys above manually."));
1027
- }
1028
- runtime.exit(1);
1029
- return;
1030
- }
1031
- if (opts.json) writeRuntimeJson(runtime, {
1032
- valid: true,
1033
- path: outputPath
1034
- }, 0);
1035
- else runtime.log(success(`Config valid: ${shortPath}`));
1036
- } catch (err) {
1037
- if (opts.json) writeRuntimeJson(runtime, {
1038
- valid: false,
1039
- path: outputPath,
1040
- error: String(err)
1041
- }, 0);
1042
- else runtime.error(danger(`Config validation error: ${String(err)}`));
1043
- runtime.exit(1);
1044
- }
1045
- }
1046
- function registerConfigCli(program) {
1047
- const cmd = program.command("config").description("Non-interactive config helpers (get/set/unset/file/schema/validate). Run without subcommand for guided setup.").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/config", "docs.genesis.ai/cli/config")}\n`).option("--section <section>", "Configuration sections for guided setup (repeatable). Use with no subcommand.", (value, previous) => [...previous, value], []).action(async (opts) => {
1048
- const { configureCommandFromSectionsArg } = await import("./configure-BOvmX2NJ.js");
1049
- await configureCommandFromSectionsArg(opts.section, defaultRuntime);
1050
- });
1051
- cmd.command("get").description("Get a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").option("--json", "Output JSON", false).action(async (path, opts) => {
1052
- await runConfigGet({
1053
- path,
1054
- json: Boolean(opts.json)
1055
- });
1056
- });
1057
- setCommandJsonMode(cmd.command("set"), "parse-only").description(CONFIG_SET_DESCRIPTION).argument("[path]", "Config path (dot or bracket notation)").argument("[value]", "Value (JSON/JSON5 or raw string)").option("--strict-json", "Strict JSON parsing (error instead of raw string fallback)", false).option("--json", "Legacy alias for --strict-json", false).option("--dry-run", "Validate changes without writing genesis.json (checks run in builder/json/batch modes; exec SecretRefs are skipped unless --allow-exec is set)", false).option("--allow-exec", "Dry-run only: allow exec SecretRef resolvability checks (may execute provider commands)", false).option("--merge", "Merge object/map values instead of replacing the target path", false).option("--replace", "Allow full replacement of protected map/list paths such as agents.defaults.models", false).option("--ref-provider <alias>", "SecretRef builder: provider alias").option("--ref-source <source>", "SecretRef builder: source (env|file|exec)").option("--ref-id <id>", "SecretRef builder: ref id").option("--provider-source <source>", "Provider builder: source (env|file|exec)").option("--provider-allowlist <envVar>", "Provider builder (env): allowlist entry (repeatable)", (value, previous) => [...previous, value], []).option("--provider-path <path>", "Provider builder (file): path").option("--provider-mode <mode>", "Provider builder (file): mode (singleValue|json)").option("--provider-timeout-ms <ms>", "Provider builder (file|exec): timeout ms").option("--provider-max-bytes <bytes>", "Provider builder (file): max bytes").option("--provider-command <path>", "Provider builder (exec): absolute command path").option("--provider-arg <arg>", "Provider builder (exec): command arg (repeatable)", (value, previous) => [...previous, value], []).option("--provider-no-output-timeout-ms <ms>", "Provider builder (exec): no-output timeout ms").option("--provider-max-output-bytes <bytes>", "Provider builder (exec): max output bytes").option("--provider-json-only", "Provider builder (exec): require JSON output", false).option("--provider-env <key=value>", "Provider builder (exec): env assignment (repeatable)", (value, previous) => [...previous, value], []).option("--provider-pass-env <envVar>", "Provider builder (exec): pass host env var (repeatable)", (value, previous) => [...previous, value], []).option("--provider-trusted-dir <path>", "Provider builder (exec): trusted directory (repeatable)", (value, previous) => [...previous, value], []).option("--provider-allow-insecure-path", "Provider builder (file|exec): bypass strict path permission checks", false).option("--provider-allow-symlink-command", "Provider builder (exec): allow command symlink path", false).option("--batch-json <json>", "Batch mode: JSON array of set operations").option("--batch-file <path>", "Batch mode: read JSON array of set operations from file").action(async (path, value, opts) => {
1058
- await runConfigSet({
1059
- path,
1060
- value,
1061
- cliOptions: opts
1062
- });
1063
- });
1064
- cmd.command("unset").description("Remove a config value by dot path").argument("<path>", "Config path (dot or bracket notation)").action(async (path) => {
1065
- await runConfigUnset({ path });
1066
- });
1067
- cmd.command("file").description("Print the active config file path").action(async () => {
1068
- await runConfigFile({});
1069
- });
1070
- cmd.command("schema").description("Print the JSON schema for genesis.json").action(async () => {
1071
- await runConfigSchema({});
1072
- });
1073
- cmd.command("validate").description("Validate the current config against the schema without starting the gateway").option("--json", "Output validation result as JSON", false).action(async (opts) => {
1074
- await runConfigValidate({ json: Boolean(opts.json) });
1075
- });
1076
- }
1077
- //#endregion
1078
- export { registerConfigCli, runConfigFile, runConfigGet, runConfigSchema, runConfigSet, runConfigUnset, runConfigValidate };