@symerian/symi 2.6.36 → 2.6.38

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 (437) hide show
  1. package/dist/{acp-cli-Cu4icbJT.js → acp-cli-ByYHYK_E.js} +6 -6
  2. package/dist/{acp-cli-NJzARaHq.js → acp-cli-EqE2uipx.js} +2 -2
  3. package/dist/{agents-BIAaMNSb.js → agents-BaNrmXzu.js} +5 -5
  4. package/dist/{agents.config-BDtgUDFp.js → agents.config-BOxmN33d.js} +1 -1
  5. package/dist/{agents.config-BKjYekzK.js → agents.config-C78DHdxT.js} +1 -1
  6. package/dist/{audio-preflight-xSDULLAj.js → audio-preflight-BuT_gIRW.js} +2 -2
  7. package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-Cz1htqcz.js} +9 -9
  8. package/dist/{audio-preflight-CWnxkaac.js → audio-preflight-CzQUZSUK.js} +7 -7
  9. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-DBMz5TQp.js} +7 -7
  10. package/dist/{audit-CrITRV6w.js → audit-BxqTVyZo.js} +11 -11
  11. package/dist/{audit-Byo5jCLN.js → audit-Cgd5-Y7W.js} +2 -2
  12. package/dist/{auth-choice-Cw2rldnf.js → auth-choice-BnJzLsv5.js} +7 -7
  13. package/dist/{auth-choice-C7BrC95t.js → auth-choice-CnpKK0cS.js} +4 -4
  14. package/dist/{auth-choice-options-DOqFUoBo.js → auth-choice-options-DmQgUlhC.js} +1 -1
  15. package/dist/{auth-choice-prompt-BLzEBA1v.js → auth-choice-prompt-Cn6U3t8O.js} +1 -1
  16. package/dist/{auth-profiles-DdK1Hxaa.js → auth-profiles-q3HjbboY.js} +1 -1
  17. package/dist/{banner-DCF8IifK.js → banner-DdpNhjX6.js} +1 -1
  18. package/dist/{bonjour-discovery-BHTF5p0X.js → bonjour-discovery-DUQ6tE92.js} +1 -1
  19. package/dist/{browser-cli-BG4qPxpM.js → browser-cli-BrzYV9w9.js} +5 -5
  20. package/dist/{browser-cli-CPcnnsJJ.js → browser-cli-Dun4KSp2.js} +3 -3
  21. package/dist/build-info.json +3 -3
  22. package/dist/bundled/boot-md/handler.js +37 -36
  23. package/dist/bundled/bootstrap-extra-files/handler.js +1 -1
  24. package/dist/bundled/session-memory/handler.js +38 -37
  25. package/dist/{call-CJaS1iRF.js → call-CFhGTNtt.js} +1 -1
  26. package/dist/{call-BcE47FtD.js → call-DIDhYlsx.js} +1 -1
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-activity-B6G1jnQT.js → channel-activity-D-kw83R0.js} +1 -1
  29. package/dist/{channel-options-BaC3G5sc.js → channel-options-47wHx-rM.js} +2 -2
  30. package/dist/{channel-options-DHSRuD2s.js → channel-options-CJE7N_QV.js} +1 -1
  31. package/dist/{channel-web-YXrZZHRE.js → channel-web-CVf8YV4M.js} +5 -5
  32. package/dist/{channels-cli-CfMJGgBp.js → channels-cli-CMLy_xVT.js} +10 -9
  33. package/dist/{channels-cli-DODlfOu4.js → channels-cli-Iya7tcnY.js} +46 -45
  34. package/dist/{chrome-DYZwl5Gv.js → chrome-34eOyt_6.js} +8 -8
  35. package/dist/{chrome-D2SKJnR7.js → chrome-CovpMGdO.js} +1 -1
  36. package/dist/{clack-prompter-B7pN13HV.js → clack-prompter-DMuVyYP2.js} +3 -3
  37. package/dist/cli/daemon-cli.js +1 -1
  38. package/dist/{cli-CVqXnzze.js → cli-DmGUr8aj.js} +7 -6
  39. package/dist/{cli-CSlDsUKl.js → cli-dC-CEeDc.js} +29 -28
  40. package/dist/{client-DMBZpU6X.js → client-T3qcxXru.js} +6 -1
  41. package/dist/{client-CQSyCS4M.js → client-jI1oE0_k.js} +6 -1
  42. package/dist/{command-registry-CrYpGtIt.js → command-registry-Dk55OGO6.js} +10 -10
  43. package/dist/{commands-registry-Bfc7Uz0o.js → commands-registry-BSvi46KZ.js} +1 -1
  44. package/dist/{commands-registry-C_aYUwpl.js → commands-registry-DYoNKo_h.js} +1 -1
  45. package/dist/{completion-cli-GqPGf3Kq.js → completion-cli-1HmgP7tY.js} +2 -2
  46. package/dist/{completion-cli-BmYBAxqM.js → completion-cli-DrDwlbAX.js} +1 -1
  47. package/dist/{config-5SdHIcHU.js → config-4Iu6iHCA.js} +1 -1
  48. package/dist/{config-BmV60pPT.js → config-DBqxAhpU.js} +1 -1
  49. package/dist/{config-cli-BjXnB1c7.js → config-cli-Cm4KwczC.js} +1 -1
  50. package/dist/{config-cli-BxSBpwuL.js → config-cli-DLFKoU1U.js} +1 -1
  51. package/dist/{config-guard-BflmO0t7.js → config-guard--WfHrCVe.js} +6 -6
  52. package/dist/{configure-De-0b4bB.js → configure-BbFd3c68.js} +8 -8
  53. package/dist/{configure-CIFt3G-c.js → configure-DNRNOqKI.js} +20 -20
  54. package/dist/{control-service-Bz7rxLWq.js → control-service-Dtn-qw2s.js} +2 -2
  55. package/dist/control-ui/css/style.css +23 -0
  56. package/dist/control-ui/js/app.js +45 -0
  57. package/dist/control-ui/js/history.js +38 -0
  58. package/dist/{cron-cli-DBIlCvp3.js → cron-cli-Bml4UNHa.js} +5 -5
  59. package/dist/{cron-cli-BP24xl6n.js → cron-cli-C-gg6wfO.js} +3 -3
  60. package/dist/{daemon-cli-wWnBIQtk.js → daemon-cli-0RLS-CwL.js} +2 -2
  61. package/dist/{daemon-cli-DscwlsKW.js → daemon-cli-BPHe9wOW.js} +12 -12
  62. package/dist/daemon-cli.js +5 -0
  63. package/dist/{daemon-runtime-2mwX-jqj.js → daemon-runtime-COZ4usfy.js} +2 -2
  64. package/dist/{deliver-C-37cZUe.js → deliver-BCYGr-CD.js} +2 -2
  65. package/dist/{deliver-CWR_98sK.js → deliver-DrFtaFZt.js} +3 -3
  66. package/dist/{deliver-dODxSv3b.js → deliver-DtM4u1u_.js} +6 -6
  67. package/dist/{devices-cli-BHiPx2c2.js → devices-cli-CI2TOoP1.js} +2 -2
  68. package/dist/{devices-cli-Dds-25Ve.js → devices-cli-texa_iUV.js} +3 -3
  69. package/dist/{diagnostic-DjBRPfu9.js → diagnostic-CH0skkp6.js} +1 -1
  70. package/dist/{diagnostic-rPhsBoZz.js → diagnostic-CQiU0O8b.js} +1 -1
  71. package/dist/{diagnostics-BAMlsVVX.js → diagnostics-BRwihzJG.js} +1 -1
  72. package/dist/{directory-cli-CpUByQew.js → directory-cli-BRMi7Alb.js} +3 -3
  73. package/dist/{dns-cli-Beyzdh3S.js → dns-cli-BsRMpavf.js} +2 -2
  74. package/dist/{doctor-completion-4SDl6ZEA.js → doctor-completion-B8IZFxo9.js} +2 -2
  75. package/dist/{doctor-completion-CL0NHlCA.js → doctor-completion-D6tzA47C.js} +1 -1
  76. package/dist/{doctor-config-flow-QnaBd8kL.js → doctor-config-flow-BTQvpBys.js} +4 -4
  77. package/dist/{enable-HSYin9n7.js → enable-vgRSCfxI.js} +1 -1
  78. package/dist/entry.js +1 -1
  79. package/dist/{exec-approvals-cli-BliRl8VB.js → exec-approvals-cli-DxKAWA8Y.js} +9 -9
  80. package/dist/{exec-approvals-cli--zyXYrNY.js → exec-approvals-cli-wesKZNXl.js} +4 -4
  81. package/dist/extensionAPI.js +20 -19
  82. package/dist/{fetch-Bso4i15F.js → fetch-Dnti0cFs.js} +1 -1
  83. package/dist/{gateway-cli-D98LL9Yi.js → gateway-cli-DCTt5acx.js} +77 -75
  84. package/dist/{gateway-cli-CqHk7Nfm.js → gateway-cli-DdjXGMTo.js} +18 -16
  85. package/dist/{gateway-rpc-DfZSz5JF.js → gateway-rpc-BkB6xEaM.js} +1 -1
  86. package/dist/{gateway-rpc-BxkKeCZ0.js → gateway-rpc-DiTk_nOl.js} +1 -1
  87. package/dist/{gemini-auth-Dy12ZAH3.js → gemini-auth-BkLFtndu.js} +1 -1
  88. package/dist/{gemini-auth-CSlZZ1Pw.js → gemini-auth-ClVyOv9p.js} +1 -1
  89. package/dist/{glass-ui-ws-z-ryIbt7.js → glass-ui-ws-C_DzMNsd.js} +53 -52
  90. package/dist/{glass-ui-ws-vx0iMfPn.js → glass-ui-ws-DBlQ-hk7.js} +14 -13
  91. package/dist/{health-pFcca1cU.js → health-9z0Hpkuc.js} +5 -5
  92. package/dist/{health-BNxdveY8.js → health-NTpZ8ssG.js} +2 -2
  93. package/dist/{hooks-cli-DefzmbZl.js → hooks-cli-C86OGnVu.js} +35 -34
  94. package/dist/{hooks-cli-Dqe7WVzD.js → hooks-cli-wq_uFJly.js} +8 -7
  95. package/dist/{hooks-status-BqLZtMLa.js → hooks-status-oUebZVnL.js} +2 -2
  96. package/dist/{image-D9uvDTrc.js → image-BwXkayiM.js} +1 -1
  97. package/dist/{image-DcpMiprB.js → image-DKudhySz.js} +3 -3
  98. package/dist/{image-CXu8W39c.js → image-mx18hbyY.js} +4 -4
  99. package/dist/index.js +44 -43
  100. package/dist/{inspect-CllGjsWo.js → inspect-CvbbCuoa.js} +2 -2
  101. package/dist/{install-safe-path-tCLiMpmO.js → install-safe-path-D3Uz77u7.js} +1 -1
  102. package/dist/{installs-C1Cebk97.js → installs-DQcRVF1U.js} +3 -3
  103. package/dist/{ir-CTiz95Vb.js → ir-JAy_3A3B.js} +2 -2
  104. package/dist/{lifecycle-core-D6LYXpFj.js → lifecycle-core-D0n_6gjJ.js} +6 -6
  105. package/dist/llm-slug-generator.js +37 -36
  106. package/dist/{local-roots-DhZz0Ybs.js → local-roots-Se92wAN5.js} +1 -1
  107. package/dist/{login-XprgoYoQ.js → login-CeXFO0OG.js} +2 -2
  108. package/dist/{login-ul8zaw_S.js → login-IpOTJtyn.js} +2 -2
  109. package/dist/{login-qr-CUErSLXH.js → login-qr-BMIn_eOf.js} +3 -3
  110. package/dist/{login-qr-pbXdFORv.js → login-qr-CC0TE3ax.js} +1 -1
  111. package/dist/{login-qr-AP9agO-i.js → login-qr-DRepVMvu.js} +3 -3
  112. package/dist/{login-dIlDkG4X.js → login-y9uojrfG.js} +1 -1
  113. package/dist/{logs-cli-xOzIPrHm.js → logs-cli-Dld6m2xN.js} +4 -4
  114. package/dist/{logs-cli-Du8FCgKK.js → logs-cli-Dvs8e7u9.js} +3 -3
  115. package/dist/{manager-PprhCvO_.js → manager-CJ3M1Uxq.js} +4 -4
  116. package/dist/{manager-jpn5vRTY.js → manager-CgLdpXXM.js} +2 -2
  117. package/dist/{memory-cli-Ca5r9AUb.js → memory-cli-CPONmMrJ.js} +1 -1
  118. package/dist/{model-catalog-CqCsARJX.js → model-catalog-Bn0ffe1O.js} +3 -2
  119. package/dist/{model-catalog-DvBJ8pMD.js → model-catalog-r6v4orfa.js} +3 -2
  120. package/dist/{model-picker-D5nCutGW.js → model-picker-D1J9kB3d.js} +1 -1
  121. package/dist/{model-picker-Ddo3jHe-.js → model-picker-TnkH7DsN.js} +2 -2
  122. package/dist/{model-selection-BQCG9ah0.js → model-selection-B8QKPmTL.js} +1 -1
  123. package/dist/{models-c9cOxxrP.js → models-DfuMRKvu.js} +6 -6
  124. package/dist/{models-cli-Cosjljgg.js → models-cli-BJv-aMkH.js} +39 -39
  125. package/dist/{models-cli-BhOA86hd.js → models-cli-FnD3ZD7s.js} +9 -9
  126. package/dist/{node-cli-DSEhcjUV.js → node-cli-C4b1vFcY.js} +1 -1
  127. package/dist/{node-cli-C_G-Q3h-.js → node-cli-C8xs7jkn.js} +17 -17
  128. package/dist/{node-service-Cxz4e-Qd.js → node-service-CD47Qpf1.js} +2 -2
  129. package/dist/{nodes-cli-BcnuJajV.js → nodes-cli-_wKGGKvG.js} +8 -8
  130. package/dist/{nodes-cli-BIPA9B8G.js → nodes-cli-alQ9Bv_-.js} +3 -3
  131. package/dist/{note-DeHoW7xO.js → note-DQ9BvHF2.js} +1 -1
  132. package/dist/{npm-registry-spec-C2JDdSZS.js → npm-registry-spec-C0CPT3vr.js} +1 -1
  133. package/dist/{onboard-DzfTelta.js → onboard-CEE38rOh.js} +17 -17
  134. package/dist/{onboard-Cy_CK0Ng.js → onboard-Dxf43Kz5.js} +5 -5
  135. package/dist/{onboard-channels-BAEFSSqU.js → onboard-channels-CEZpwlsw.js} +6 -6
  136. package/dist/{onboard-channels-BjUx6cZ7.js → onboard-channels-DjqHX51z.js} +1 -1
  137. package/dist/{onboard-custom-C7O-zfQ1.js → onboard-custom-BNyCb71p.js} +2 -2
  138. package/dist/{onboard-custom-DdWPfzJO.js → onboard-custom-yNOjvlgR.js} +1 -1
  139. package/dist/{onboard-helpers-ZmZYzlq3.js → onboard-helpers-CAjcAisT.js} +3 -3
  140. package/dist/{onboard-helpers-_pit1NZW.js → onboard-helpers-DASpwgat.js} +1 -1
  141. package/dist/{onboard-hooks-BAA8CoVv.js → onboard-hooks-C3ok8kqB.js} +2 -2
  142. package/dist/{onboard-remote-zUjD7UtM.js → onboard-remote-D-8pd-tx.js} +3 -3
  143. package/dist/{onboard-remote-R1g6st9i.js → onboard-remote-xXi061GI.js} +1 -1
  144. package/dist/{onboard-skills-ByO_wSN5.js → onboard-skills-Bn2T6lze.js} +1 -1
  145. package/dist/{onboard-skills-BB0YhUmF.js → onboard-skills-c4Rw-CGf.js} +3 -3
  146. package/dist/{onboarding-B9RTmYiC.js → onboarding-B1VwuUX5.js} +15 -15
  147. package/dist/{onboarding-CerjrLp1.js → onboarding-BxHFNg2y.js} +9 -9
  148. package/dist/{onboarding.finalize-CLQL7PKW.js → onboarding.finalize-DQm4Tey0.js} +42 -41
  149. package/dist/{onboarding.finalize-CGGB37q-.js → onboarding.finalize-dP5Igu4h.js} +13 -12
  150. package/dist/{onboarding.gateway-config-BQFO9a_h.js → onboarding.gateway-config-D6SN3HBb.js} +3 -3
  151. package/dist/{onboarding.gateway-config-CJUgDC6Y.js → onboarding.gateway-config-DOna9Sr4.js} +5 -5
  152. package/dist/{openai-model-default-DMjQRsb1.js → openai-model-default-WqcGxyFM.js} +1 -1
  153. package/dist/{outbound-3MZ12YrQ.js → outbound-BihTVvMr.js} +2 -2
  154. package/dist/{outbound-DB5Zus0-.js → outbound-DyBiNY4z.js} +1 -1
  155. package/dist/{outbound-CtMCmwxR.js → outbound-UwQEXYXv.js} +6 -6
  156. package/dist/{outbound-attachment-DJldbweZ.js → outbound-attachment-BzwVH4Pn.js} +1 -1
  157. package/dist/{pairing-cli-CBLfGvqW.js → pairing-cli-CpKm3M-X.js} +2 -2
  158. package/dist/{path-env-MnzRq6nD.js → path-env-BaQ2E7uD.js} +1 -1
  159. package/dist/{pi-auth-json-D6YbgrAe.js → pi-auth-json-BloyLEwh.js} +24 -9
  160. package/dist/{pi-auth-json-CaX_1WHk.js → pi-auth-json-CCaxCywz.js} +21 -2
  161. package/dist/{pi-auth-json-Bk8ERadJ.js → pi-auth-json-LXkL5WS_.js} +24 -11
  162. package/dist/pi-auth-json-zHckislA.js +133 -0
  163. package/dist/{pi-embedded-liyRigX2.js → pi-embedded-DKaDXfFG.js} +52 -45
  164. package/dist/{pi-embedded-helpers-CNPyv_ax.js → pi-embedded-helpers-BuVSLhG_.js} +1 -1
  165. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-CepVOR4e.js} +6 -6
  166. package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-DASLSiel.js} +6 -6
  167. package/dist/{pi-tools.policy-CIDBbw6x.js → pi-tools.policy-C6MWZ59E.js} +1 -1
  168. package/dist/{plugin-auto-enable-BzX1uAKy.js → plugin-auto-enable-CP0nONRL.js} +2 -2
  169. package/dist/{plugin-registry-Ls_YGsWz.js → plugin-registry-DMUt9X9t.js} +1 -1
  170. package/dist/{plugin-registry-BkFixq63.js → plugin-registry-DeT0nOee.js} +1 -1
  171. package/dist/plugin-sdk/agents/pi-auth-json.d.ts +12 -1
  172. package/dist/plugin-sdk/{api-key-rotation-CVBMpnPc.js → api-key-rotation-LTEeykrm.js} +1 -1
  173. package/dist/plugin-sdk/{audio-preflight-DoQQKlxa.js → audio-preflight-JLsqSVmS.js} +7 -7
  174. package/dist/plugin-sdk/{channel-web-CP1OgJFj.js → channel-web-BtuQPMkd.js} +8 -8
  175. package/dist/plugin-sdk/{chrome-C7c_0I5M.js → chrome-cPabhZZ4.js} +1 -1
  176. package/dist/plugin-sdk/{commands-registry-CQFbmUMs.js → commands-registry-C9W8UWBh.js} +1 -1
  177. package/dist/plugin-sdk/{config-DDkdiUOR.js → config-XjK1L039.js} +1 -1
  178. package/dist/plugin-sdk/{deliver-BZ6iNLl7.js → deliver-Clj5uUID.js} +2 -2
  179. package/dist/plugin-sdk/{diagnostic-mFf4i4G9.js → diagnostic-EyuCSUXO.js} +1 -1
  180. package/dist/plugin-sdk/gateway/protocol/index.d.ts +6 -2
  181. package/dist/plugin-sdk/gateway/protocol/schema/sessions.d.ts +4 -0
  182. package/dist/plugin-sdk/gateway/protocol/schema/types.d.ts +2 -1
  183. package/dist/plugin-sdk/{image-BOYy0Ump.js → image-CAA-0T17.js} +3 -3
  184. package/dist/plugin-sdk/index.js +25 -24
  185. package/dist/plugin-sdk/{login-Bh3DZPam.js → login-Btqnuww9.js} +2 -2
  186. package/dist/plugin-sdk/{login-qr-DbR7odSr.js → login-qr-Bxhch9R1.js} +3 -3
  187. package/dist/plugin-sdk/{manager-DckktAQ3.js → manager-CJXUXj6F.js} +2 -2
  188. package/dist/plugin-sdk/{model-selection-OpU8HN50.js → model-selection-DduIg_Yt.js} +1 -1
  189. package/dist/plugin-sdk/{outbound-rF6G8Xpr.js → outbound-D_7ktHfW.js} +2 -2
  190. package/dist/plugin-sdk/{pi-auth-json-CJk8t14T.js → pi-auth-json-CcR0OJ6f.js} +24 -9
  191. package/dist/plugin-sdk/{pi-embedded-helpers-BveUP4hk.js → pi-embedded-helpers-CDrcAlGW.js} +6 -6
  192. package/dist/plugin-sdk/{pw-ai-DjGUsee-.js → pw-ai-CJjlxWj7.js} +3 -3
  193. package/dist/plugin-sdk/{replies-fI39rPGa.js → replies-DC9NI2KS.js} +1 -1
  194. package/dist/plugin-sdk/{reply-CBkEQFTX.js → reply-CnTdwks6.js} +53 -46
  195. package/dist/plugin-sdk/{runner-BVqnEfNe.js → runner-CBq0_f-j.js} +7 -6
  196. package/dist/plugin-sdk/{send-BMfJIhCk.js → send-BditKDxK.js} +2 -2
  197. package/dist/plugin-sdk/{send-BHbXh8Ly.js → send-BeO7M3pz.js} +2 -2
  198. package/dist/plugin-sdk/{send-Bxdu6ZZy.js → send-CdJoYllr.js} +1 -1
  199. package/dist/plugin-sdk/{send-D6LMZJ_h.js → send-u7SJPkmf.js} +2 -2
  200. package/dist/plugin-sdk/{send-BtANzsAo.js → send-vTA7ntTD.js} +1 -1
  201. package/dist/plugin-sdk/{session-kI0tzViQ.js → session-t6hhaLPe.js} +1 -1
  202. package/dist/plugin-sdk/{skill-commands-DCNXVERE.js → skill-commands-D-rpF3bM.js} +1 -1
  203. package/dist/plugin-sdk/{web-CId35Am_.js → web-BkK8fGjJ.js} +25 -24
  204. package/dist/plugin-sdk/{whatsapp-actions-CcBzDuL-.js → whatsapp-actions-DifisvHY.js} +3 -3
  205. package/dist/{plugins-cli-CJLJsr_L.js → plugins-cli-BCYM8B89.js} +8 -7
  206. package/dist/{plugins-cli-DXiakDnC.js → plugins-cli-D85G3qZp.js} +36 -35
  207. package/dist/{program-B6KpKryX.js → program-DGLuU2_H.js} +13 -12
  208. package/dist/{program-context-Dm-BSkOd.js → program-context-B2BcluHm.js} +40 -40
  209. package/dist/{prompt-select-styled-DszNP9MV.js → prompt-select-styled-C9RTEKcx.js} +7 -7
  210. package/dist/{prompt-select-styled-Dk8_YofB.js → prompt-select-styled-CAKiYm_X.js} +29 -29
  211. package/dist/{provider-auth-helpers-Bi5oeREh.js → provider-auth-helpers-B8RGFZit.js} +1 -1
  212. package/dist/{provider-auth-helpers-B_Rtgt-w.js → provider-auth-helpers-CfkQBpo7.js} +6 -6
  213. package/dist/{push-apns-Bmd6SdxC.js → push-apns-DM6nj062.js} +1 -1
  214. package/dist/{push-apns-BzIW-JHE.js → push-apns-DmpUv3y4.js} +1 -1
  215. package/dist/{pw-ai-B5asscAD.js → pw-ai-CPelTpWz.js} +3 -3
  216. package/dist/{pw-ai-1htA-NnS.js → pw-ai-Cfeeyp0u.js} +3 -3
  217. package/dist/{qmd-manager-iDLSiI4Z.js → qmd-manager-lBS9mT9w.js} +1 -1
  218. package/dist/{register.agent-kKtKgmcO.js → register.agent-DX-OyYzL.js} +13 -12
  219. package/dist/{register.agent-Vc2Bu3J4.js → register.agent-DcvwdQXs.js} +52 -51
  220. package/dist/{register.configure-BnNPTLBI.js → register.configure-Bldjj3LP.js} +61 -60
  221. package/dist/{register.configure-D-o-geWg.js → register.configure-DBaELzEM.js} +16 -15
  222. package/dist/{register.maintenance-jMmXJ1NK.js → register.maintenance-BKB_D_Py.js} +14 -13
  223. package/dist/{register.maintenance-0L5VAVCA.js → register.maintenance-BgWyvLo5.js} +54 -53
  224. package/dist/{register.message-C9zVQOWl.js → register.message-ClKGIfK4.js} +32 -31
  225. package/dist/{register.message-CdCHhVND.js → register.message-DUeR-Dz2.js} +8 -7
  226. package/dist/{register.onboard-pKq2v5Fh.js → register.onboard-CSmfgDU5.js} +46 -45
  227. package/dist/{register.onboard-BN7J8vyx.js → register.onboard-DT1We9u2.js} +12 -11
  228. package/dist/{register.setup-BKYxHrcB.js → register.setup-CEW5ApHJ.js} +12 -11
  229. package/dist/{register.setup-J_GQSh-T.js → register.setup-mJzihfMO.js} +46 -45
  230. package/dist/{register.status-health-sessions-BLA4yUC4.js → register.status-health-sessions-BJYemCHi.js} +10 -9
  231. package/dist/{register.status-health-sessions-BtGRpngz.js → register.status-health-sessions-CMQS8zwA.js} +46 -45
  232. package/dist/{register.subclis-DcBHO9E8.js → register.subclis-Bi4jmYW6.js} +20 -20
  233. package/dist/{replies-ZYtI9jr0.js → replies-CM5QgPHM.js} +1 -1
  234. package/dist/{replies-LSmuwOhA.js → replies-DA4YTv9G.js} +3 -3
  235. package/dist/{reply-C68F3IMq.js → reply-YphHjxHp.js} +48 -46
  236. package/dist/{routes-Ba9CUQ8M.js → routes-B1-BfEDm.js} +1 -1
  237. package/dist/{rpc-BjLadgzu.js → rpc--E7i90bk.js} +1 -1
  238. package/dist/{rpc-BfhojW8g.js → rpc-gJOYujMj.js} +2 -2
  239. package/dist/{run-main-DkcjdsAo.js → run-main-Ugk40lFF.js} +20 -19
  240. package/dist/{runner-BORIO-D3.js → runner-CW9KEL7W.js} +1 -1
  241. package/dist/{runner-WAG0M5s9.js → runner-DKq2NJqT.js} +10 -9
  242. package/dist/{runner-CUglpiFP.js → runner-DmM2HhB-.js} +2 -2
  243. package/dist/{runner-BcQ0sF9T.js → runner-qeYibveF.js} +7 -6
  244. package/dist/{sandbox-C-T6hOMv.js → sandbox-DAOxwUQm.js} +2 -2
  245. package/dist/{sandbox-cli-BllVdQzR.js → sandbox-cli-BV6FS0bK.js} +3 -3
  246. package/dist/{security-cli-BFLtWWHy.js → security-cli-BA4AGkeh.js} +10 -10
  247. package/dist/{security-cli-Dmb1k47A.js → security-cli-KxA9AZ3q.js} +3 -3
  248. package/dist/{send-C1IYd3g7.js → send-BJTX03Bn.js} +1 -1
  249. package/dist/{send-DAN9hA5h.js → send-C4Bqsa_r.js} +6 -6
  250. package/dist/{send-DXW6mdgR.js → send-CB3dCCmE.js} +1 -1
  251. package/dist/{send-D-hWrHoH.js → send-CFzf_ab4.js} +1 -1
  252. package/dist/{send-DkfYiRx5.js → send-Cgcbuw8U.js} +1 -1
  253. package/dist/{send-CvhXrdgS.js → send-Cq1L-2Ik.js} +9 -9
  254. package/dist/{send-C4Ucr8ep.js → send-DHWMRnPk.js} +3 -3
  255. package/dist/{send-DYj_o4_F.js → send-DVt9RLDh.js} +9 -9
  256. package/dist/{send-CVMyYPQw.js → send-DX0p0ym_.js} +5 -5
  257. package/dist/{send-DWYkPSUs.js → send-ZI2bG_Jc.js} +1 -1
  258. package/dist/{send-BArQpbtx.js → send-iVPD3yf2.js} +1 -1
  259. package/dist/{send-CQAKg_12.js → send-vtz9ZwUj.js} +4 -4
  260. package/dist/{server-context-CEpFjqSk.js → server-context-CHYWo_TC.js} +3 -3
  261. package/dist/{server-methods-B4IR7jcD.js → server-methods-C3xXynlm.js} +102 -11
  262. package/dist/{server-methods-n5oCz2e0.js → server-methods-DJ3Bi-Xg.js} +118 -27
  263. package/dist/{server-node-events-C3hHerD3.js → server-node-events-Cgdwex4k.js} +8 -7
  264. package/dist/{server-node-events---jWWBKN.js → server-node-events-DS50d7AK.js} +30 -29
  265. package/dist/{service-Cl74hx8J.js → service-osK70kTZ.js} +2 -2
  266. package/dist/{session-DtMfLMdP.js → session-BF9s_N2s.js} +1 -1
  267. package/dist/{session-DSU1vxxi.js → session-BQWef058.js} +1 -1
  268. package/dist/{session-cost-usage-UxUgrslM.js → session-cost-usage-BXAI7CNH.js} +1 -1
  269. package/dist/session-dirs-Dgz7kkUM.js +18 -0
  270. package/dist/{shared-BJvwnR5z.js → shared-DnmJ0ABB.js} +2 -2
  271. package/dist/{skill-commands-DcVwOafC.js → skill-commands-BiPrghRt.js} +1 -1
  272. package/dist/{skill-commands-DklY7Cj7.js → skill-commands-D8RiKDh0.js} +1 -1
  273. package/dist/{skills-cli-BZTBLQTt.js → skills-cli-C-URp1av.js} +5 -5
  274. package/dist/{skills-install-D67isO1L.js → skills-install-CWVdJkLn.js} +4 -4
  275. package/dist/{skills-status-CURJKnyY.js → skills-status-C3ptXwnh.js} +1 -1
  276. package/dist/{status-ITRlj7e_.js → status-0aNBSe72.js} +17 -17
  277. package/dist/{status-ClvXAaHZ.js → status-2KD2q2sn.js} +1 -1
  278. package/dist/{status-8CbQSAEF.js → status-BBnhTX-n.js} +1 -1
  279. package/dist/{status-CwhHbhUv.js → status-D9uWA9pU.js} +5 -5
  280. package/dist/{status.update-DtwCUTf-.js → status.update-DP0OFqyb.js} +1 -1
  281. package/dist/{subagent-registry-BXI3DyAX.js → subagent-registry-aZczbtLM.js} +11 -9
  282. package/dist/{system-cli-UMsMEurS.js → system-cli-BXewgTZR.js} +5 -114
  283. package/dist/{system-cli-D_EIZpBm.js → system-cli-CECNjZdB.js} +3 -3
  284. package/dist/system-run-command-B_qw8CXP.js +93 -0
  285. package/dist/{systemd-riq8uNJQ.js → systemd-DT6SbCim.js} +1 -1
  286. package/dist/{systemd-hints-BR6gChwm.js → systemd-hints-DZH9qY5W.js} +4 -4
  287. package/dist/{systemd-linger-aQ75ZlXY.js → systemd-linger-DCskIKcx.js} +2 -2
  288. package/dist/{tables-qMwbq29u.js → tables-BuM4FKR3.js} +2 -2
  289. package/dist/{tui-BJB80muc.js → tui-2nWOvxxE.js} +2 -2
  290. package/dist/{tui-CriznorL.js → tui-DLaU7tTx.js} +4 -4
  291. package/dist/{tui-cli-C7Q9lK8Q.js → tui-cli-B-Nl_8uj.js} +3 -3
  292. package/dist/{tui-cli-CSIdfCTR.js → tui-cli-D-PVUsS5.js} +8 -8
  293. package/dist/{unified-runner-Dy2eq7ZO.js → unified-runner-CMgTwCmG.js} +83 -76
  294. package/dist/{update-rw7wJwHd.js → update-Ya0e-JnM.js} +1 -1
  295. package/dist/{update-check-CtckACbb.js → update-check-7EzEjSzb.js} +1 -1
  296. package/dist/{update-cli-JS-KTMc8.js → update-cli-DiH9ccFa.js} +15 -14
  297. package/dist/{update-cli-B0H4ITiR.js → update-cli-Dup4Xi6b.js} +64 -63
  298. package/dist/{update-runner-e_ChofHM.js → update-runner-BkdQhkKR.js} +1 -1
  299. package/dist/{update-runner-C17bqGvO.js → update-runner-dT5l0kuK.js} +3 -3
  300. package/dist/{web-CP9nUIj0.js → web-BIo1QcLd.js} +42 -41
  301. package/dist/{web-8YLJpHFc.js → web-BrGvZQ21.js} +24 -23
  302. package/dist/{web-Cih6rPbV.js → web-CJSRBiDm.js} +33 -32
  303. package/dist/{web-Dr9gUjHz.js → web-DPki9fDa.js} +7 -6
  304. package/dist/{webhooks-cli-cD58DWAE.js → webhooks-cli-iOLEyFdx.js} +1 -1
  305. package/dist/{whatsapp-actions-DvhI5-DC.js → whatsapp-actions-BW8P8Izy.js} +3 -3
  306. package/dist/{whatsapp-actions-DbcsdOH3.js → whatsapp-actions-BmcMtU_J.js} +1 -1
  307. package/dist/{whatsapp-actions-BIeSWsCF.js → whatsapp-actions-DZfLLQ0Y.js} +10 -10
  308. package/dist/{with-timeout-gmK6RciS.js → with-timeout-D2z7OkiK.js} +1 -1
  309. package/extensions/bluebubbles/package.json +1 -1
  310. package/extensions/copilot-proxy/package.json +1 -1
  311. package/extensions/diagnostics-otel/package.json +1 -1
  312. package/extensions/discord/package.json +1 -1
  313. package/extensions/feishu/package.json +1 -1
  314. package/extensions/google-antigravity-auth/package.json +1 -1
  315. package/extensions/google-gemini-cli-auth/package.json +1 -1
  316. package/extensions/googlechat/package.json +1 -1
  317. package/extensions/imessage/package.json +1 -1
  318. package/extensions/irc/package.json +1 -1
  319. package/extensions/learning-loop/package.json +1 -1
  320. package/extensions/line/package.json +1 -1
  321. package/extensions/llm-task/package.json +1 -1
  322. package/extensions/matrix/CHANGELOG.md +12 -0
  323. package/extensions/matrix/package.json +1 -1
  324. package/extensions/mattermost/package.json +1 -1
  325. package/extensions/memory-core/package.json +1 -1
  326. package/extensions/memory-lancedb/package.json +1 -1
  327. package/extensions/minimax-portal-auth/package.json +1 -1
  328. package/extensions/msteams/CHANGELOG.md +12 -0
  329. package/extensions/msteams/package.json +1 -1
  330. package/extensions/nextcloud-talk/package.json +1 -1
  331. package/extensions/nostr/CHANGELOG.md +12 -0
  332. package/extensions/nostr/package.json +1 -1
  333. package/extensions/open-prose/package.json +1 -1
  334. package/extensions/outlook/package.json +1 -1
  335. package/extensions/pipeline/package.json +1 -1
  336. package/extensions/signal/package.json +1 -1
  337. package/extensions/slack/package.json +1 -1
  338. package/extensions/telegram/package.json +1 -1
  339. package/extensions/tlon/package.json +1 -1
  340. package/extensions/twitch/CHANGELOG.md +12 -0
  341. package/extensions/twitch/package.json +1 -1
  342. package/extensions/voice-call/CHANGELOG.md +12 -0
  343. package/extensions/voice-call/package.json +1 -1
  344. package/extensions/whatsapp/package.json +1 -1
  345. package/extensions/zalo/CHANGELOG.md +12 -0
  346. package/extensions/zalo/package.json +1 -1
  347. package/extensions/zalouser/CHANGELOG.md +12 -0
  348. package/extensions/zalouser/package.json +1 -1
  349. package/package.json +1 -1
  350. package/dist/pi-auth-json-DayrlDg_.js +0 -13
  351. /package/dist/{active-listener-CfHHV2SU.js → active-listener-Br2FcRv7.js} +0 -0
  352. /package/dist/{active-listener-1krIj9TM.js → active-listener-Dx_Y1ouV.js} +0 -0
  353. /package/dist/{active-listener-kvXhlgwu.js → active-listener-SKkHHqlN.js} +0 -0
  354. /package/dist/{allow-from-BZCKLkjL.js → allow-from-BIJVrwCW.js} +0 -0
  355. /package/dist/{argv-C6ovOie2.js → argv-B20UI_hB.js} +0 -0
  356. /package/dist/{auth-choice-legacy-Ch38-Kbr.js → auth-choice-legacy-aJ8D6F_s.js} +0 -0
  357. /package/dist/{auth-token-BnOynwk4.js → auth-token-Cay2jwzn.js} +0 -0
  358. /package/dist/{brew-DjNEjKAo.js → brew-DZPKCJr0.js} +0 -0
  359. /package/dist/{catalog-RiADx7MA.js → catalog-NQ4pj9RI.js} +0 -0
  360. /package/dist/{channel-selection-DuWs0Aak.js → channel-selection-V2xDgw16.js} +0 -0
  361. /package/dist/{channels-status-issues-B_kBkl_u.js → channels-status-issues-CJ0Vb_9z.js} +0 -0
  362. /package/dist/{chunk-09egQapi.js → chunk-BHW8Yu5A.js} +0 -0
  363. /package/dist/{clipboard-Cg3cin13.js → clipboard-BIyDbnnI.js} +0 -0
  364. /package/dist/{command-options-BtDai3oC.js → command-options-BkTXKWlb.js} +0 -0
  365. /package/dist/{command-poll-backoff-BiwOFDEK.js → command-poll-backoff-BGS2SHjF.js} +0 -0
  366. /package/dist/{command-poll-backoff-Bup9wS1y.js → command-poll-backoff-CaTOIqVn.js} +0 -0
  367. /package/dist/{config-ClSsetRi.js → config-DmMe1tf9.js} +0 -0
  368. /package/dist/{config-validation-CmimHAES.js → config-validation-BckiR0w9.js} +0 -0
  369. /package/dist/{constants-C8_BLnaW.js → constants-CafH8-8D.js} +0 -0
  370. /package/dist/{control-ui-assets-Z947tKLt.js → control-ui-assets-B7moDVHX.js} +0 -0
  371. /package/dist/{dangerous-tools-BL-M3lPt.js → dangerous-tools-BvU3-DRl.js} +0 -0
  372. /package/dist/{delivery-queue-CxuV9EeG.js → delivery-queue-CAxX6nGq.js} +0 -0
  373. /package/dist/{dm-policy-shared-Bh3TbexU.js → dm-policy-shared-DlDAGtZL.js} +0 -0
  374. /package/dist/{docs-cli-BpnEOtJi.js → docs-cli-qE-blOLC.js} +0 -0
  375. /package/dist/{entry-status-CAs6m3_l.js → entry-status-BOOmFr_b.js} +0 -0
  376. /package/dist/{exec-approvals-Kn31mBcW.js → exec-approvals-DXM2pQYL.js} +0 -0
  377. /package/dist/{fetch-timeout-DL3f_O53.js → fetch-timeout-Cj6kcyGt.js} +0 -0
  378. /package/dist/{format-yQZNwAF2.js → format-B0yJsjEo.js} +0 -0
  379. /package/dist/{gmail-setup-utils-Bv0M7ka7.js → gmail-setup-utils-Dq6vwkWW.js} +0 -0
  380. /package/dist/{health-format-DSwnXZPU.js → health-format-DRCaak6L.js} +0 -0
  381. /package/dist/{heartbeat-visibility-U4BL57eQ.js → heartbeat-visibility-ChEo5Zvk.js} +0 -0
  382. /package/dist/{helpers-By2rxBQ5.js → helpers-BtH6pa6c.js} +0 -0
  383. /package/dist/{helpers-BcGbMZD1.js → helpers-DnjQ73f_.js} +0 -0
  384. /package/dist/{inbound-context-DSDTl6Kj.js → inbound-context-Dvqh1Tgb.js} +0 -0
  385. /package/dist/{ipv4-CxY-xbsH.js → ipv4-CjlyK5jc.js} +0 -0
  386. /package/dist/{is-main-DrpmTCqv.js → is-main-CmNWsNFB.js} +0 -0
  387. /package/dist/{logging-BzzwiKjv.js → logging-KpicI3yD.js} +0 -0
  388. /package/dist/{markdown-tables-C-BmIap8.js → markdown-tables-Dnj2LQUc.js} +0 -0
  389. /package/dist/{model-param-b-BCRDjJEJ.js → model-param-b-Cp9d4e-0.js} +0 -0
  390. /package/dist/{node-match-CN8o4Vi3.js → node-match-CdUiymRU.js} +0 -0
  391. /package/dist/{nodes-screen-VBGXKdLk.js → nodes-screen-8Bq7DiSa.js} +0 -0
  392. /package/dist/{onboard-config-DPPsiC8t.js → onboard-config-B9jTl83d.js} +0 -0
  393. /package/dist/{outbound-attachment-mQQiYZ3C.js → outbound-attachment-Bw-c5Cdp.js} +0 -0
  394. /package/dist/{pairing-labels-2S6x2UoV.js → pairing-labels-DyXoD1DS.js} +0 -0
  395. /package/dist/{parse-log-line-BHCUQaF3.js → parse-log-line-DvYyTYq4.js} +0 -0
  396. /package/dist/{parse-port-Vm8F7Kus.js → parse-port-DnJYkByg.js} +0 -0
  397. /package/dist/{parse-timeout-C385GCpE.js → parse-timeout-2S5vp0-9.js} +0 -0
  398. /package/dist/{path-safety-BqPJ8DDQ.js → path-safety-D55Cxg8r.js} +0 -0
  399. /package/dist/{pi-model-discovery-Bv5YDJc8.js → pi-model-discovery-CuZX_Q4t.js} +0 -0
  400. /package/dist/plugin-sdk/{active-listener-bEk__wbB.js → active-listener-BRYwA2Ic.js} +0 -0
  401. /package/dist/plugin-sdk/{command-poll-backoff-CBq0jVRw.js → command-poll-backoff-Bug27PHS.js} +0 -0
  402. /package/dist/plugin-sdk/{outbound-attachment-DnVQfTG2.js → outbound-attachment-DJ3CI92h.js} +0 -0
  403. /package/dist/plugin-sdk/{qmd-manager-mjKcdwVr.js → qmd-manager-C6GM0Qik.js} +0 -0
  404. /package/dist/plugin-sdk/{tool-loop-detection-DU5sTIKg.js → tool-loop-detection-BAUvBvAO.js} +0 -0
  405. /package/dist/{plugins-allowlist-sArtGE-d.js → plugins-allowlist-BjKJrQ0e.js} +0 -0
  406. /package/dist/{polls-CCuCaqgv.js → polls-BKbIUHj7.js} +0 -0
  407. /package/dist/{ports-BX0kKI0g.js → ports-DtW62rqS.js} +0 -0
  408. /package/dist/{prompt-style-8JqOYj0q.js → prompt-style-CnkMpSXt.js} +0 -0
  409. /package/dist/{prompts-Xu2Sveka.js → prompts-CfOu9uZi.js} +0 -0
  410. /package/dist/{proxy-BaSHbVlA.js → proxy-CLEew2L6.js} +0 -0
  411. /package/dist/{proxy-CBJ1upuz.js → proxy-DVy9foH0.js} +0 -0
  412. /package/dist/{pw-ai-DqL87js3.js → pw-ai-C_1hRlOM.js} +0 -0
  413. /package/dist/{qmd-manager-D85GJrir.js → qmd-manager-CCUK1xoc.js} +0 -0
  414. /package/dist/{qmd-manager-Bx06p6nk.js → qmd-manager-qpFs_a6u.js} +0 -0
  415. /package/dist/{qr-cli-jd9LdZpq.js → qr-cli-9L-HExyH.js} +0 -0
  416. /package/dist/{render-CDCvpfhh.js → render-DwEu-aCr.js} +0 -0
  417. /package/dist/{reply-prefix-DpqZu44Z.js → reply-prefix-CvEIl6_d.js} +0 -0
  418. /package/dist/{resolve-route-C4_I4GFI.js → resolve-route-DX7xcMsD.js} +0 -0
  419. /package/dist/{retry-BBVXkKBV.js → retry-B-y5suGA.js} +0 -0
  420. /package/dist/{runtime-guard-B37eizu-.js → runtime-guard-Dik20CVM.js} +0 -0
  421. /package/dist/{runtime-status-CR9445g5.js → runtime-status-D6c3G7my.js} +0 -0
  422. /package/dist/{session-DIBTkyvE.js → session-CINKYYDi.js} +0 -0
  423. /package/dist/{shared-Knv1hy6h.js → shared-CvNixzwn.js} +0 -0
  424. /package/dist/{skill-scanner-CLs8u6vQ.js → skill-scanner-hMtQbWPV.js} +0 -0
  425. /package/dist/{sqlite-D_mz1_-y.js → sqlite-BHWvOATS.js} +0 -0
  426. /package/dist/{stagger-BUClb97_.js → stagger-CvFURHzt.js} +0 -0
  427. /package/dist/{status-BrV-afZE.js → status-klsFDD3M.js} +0 -0
  428. /package/dist/{table-BTgkRafz.js → table-BKlH0YlA.js} +0 -0
  429. /package/dist/{target-errors-Bbr9rlzN.js → target-errors-BEugWC4F.js} +0 -0
  430. /package/dist/{tokens-Bux9Y_xD.js → tokens-W0JzCJJM.js} +0 -0
  431. /package/dist/{tool-loop-detection-DR_rrIA1.js → tool-loop-detection-D5mBY7AC.js} +0 -0
  432. /package/dist/{tool-loop-detection-DPVtQOfM.js → tool-loop-detection-DZQMPDma.js} +0 -0
  433. /package/dist/{tool-loop-detection-C7TCF2V2.js → tool-loop-detection-Dd4SFWb1.js} +0 -0
  434. /package/dist/{usage-format-BzKEDn0q.js → usage-format-BgUx3Bm4.js} +0 -0
  435. /package/dist/{widearea-dns-DzLerlJb.js → widearea-dns-CyVOLgNE.js} +0 -0
  436. /package/dist/{workspace-CYxdoAlY.js → workspace-B4H-2N8y.js} +0 -0
  437. /package/dist/{wsl-C4424szg.js → wsl-q8spwrME.js} +0 -0
@@ -1,7 +1,7 @@
1
1
  import "./paths-Cqn-zk3M.js";
2
2
  import { h as pathExists, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-C68F3IMq.js";
4
+ import "./reply-YphHjxHp.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { p as restoreTerminalState } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -15,19 +15,19 @@ import "./message-channel-aT-I_DTX.js";
15
15
  import "./send-CZr1hVHY.js";
16
16
  import "./config-CHwyw6l5.js";
17
17
  import "./manifest-registry-C4BxOMWX.js";
18
- import "./runner-CUglpiFP.js";
19
- import "./image-D9uvDTrc.js";
18
+ import "./runner-DmM2HhB-.js";
19
+ import "./image-BwXkayiM.js";
20
20
  import "./models-config-qyOXrOli.js";
21
21
  import "./pi-model-discovery-4uUnLc3n.js";
22
- import "./pi-embedded-helpers-CNPyv_ax.js";
23
- import "./sandbox-C-T6hOMv.js";
22
+ import "./pi-embedded-helpers-BuVSLhG_.js";
23
+ import "./sandbox-DAOxwUQm.js";
24
24
  import "./chrome-DtPkPq9T.js";
25
25
  import "./tailscale-D5dKabOc.js";
26
26
  import "./auth-B741uFtk.js";
27
- import "./server-context-CEpFjqSk.js";
27
+ import "./server-context-CHYWo_TC.js";
28
28
  import "./frontmatter-DWQhtOo7.js";
29
29
  import "./skills-6jdJQ5ZL.js";
30
- import "./routes-Ba9CUQ8M.js";
30
+ import "./routes-B1-BfEDm.js";
31
31
  import "./redact-f-Q-hFt_.js";
32
32
  import "./errors-BF3TeRH2.js";
33
33
  import "./fs-safe-CUjO1ca2.js";
@@ -53,16 +53,16 @@ import "./fetch-guard-DOPkVbh3.js";
53
53
  import "./api-key-rotation-CzuPlV2t.js";
54
54
  import "./local-roots-aAFLQGkY.js";
55
55
  import "./sqlite-Dx3J_aSE.js";
56
- import "./model-catalog-DvBJ8pMD.js";
56
+ import "./model-catalog-r6v4orfa.js";
57
57
  import "./tokens-BuceUQDl.js";
58
- import "./with-timeout-gmK6RciS.js";
59
- import "./deliver-CWR_98sK.js";
60
- import "./diagnostic-DjBRPfu9.js";
58
+ import "./with-timeout-D2z7OkiK.js";
59
+ import "./deliver-DrFtaFZt.js";
60
+ import "./diagnostic-CH0skkp6.js";
61
61
  import "./diagnostic-session-state-CUslJyKP.js";
62
62
  import "./send-Cutb0ZDY.js";
63
63
  import "./model-tWhwnFf8.js";
64
64
  import "./reply-prefix-CE2YmmsD.js";
65
- import "./memory-cli-Ca5r9AUb.js";
65
+ import "./memory-cli-CPONmMrJ.js";
66
66
  import "./manager-D4LJSRyZ.js";
67
67
  import "./retry-BoS4e4X_.js";
68
68
  import "./target-errors-7AvoVa10.js";
@@ -72,13 +72,13 @@ import "./ir-DZam9q5M.js";
72
72
  import "./render-CXDO_kgw.js";
73
73
  import "./commands-BNLCWX6e.js";
74
74
  import "./commands-registry-BT0-zzs3.js";
75
- import "./client-CQSyCS4M.js";
76
- import "./call-CJaS1iRF.js";
75
+ import "./client-jI1oE0_k.js";
76
+ import "./call-CFhGTNtt.js";
77
77
  import "./pairing-token-CX3NN_qj.js";
78
78
  import "./channel-activity-BOiuJS3t.js";
79
79
  import "./fetch-DTNGXEzX.js";
80
80
  import "./tables-BEzT0Da4.js";
81
- import "./send-DkfYiRx5.js";
81
+ import "./send-Cgcbuw8U.js";
82
82
  import "./pairing-store-CK726Dzq.js";
83
83
  import "./proxy-DU7W9XSc.js";
84
84
  import "./links-3i1eUga4.js";
@@ -89,31 +89,32 @@ import "./resolve-route-BMoTaVAH.js";
89
89
  import "./replies-vgss3_QA.js";
90
90
  import "./skill-commands-Cxw-jNxU.js";
91
91
  import "./workspace-dirs-GpkFi6Kw.js";
92
- import "./session-cost-usage-UxUgrslM.js";
93
- import "./outbound-attachment-mQQiYZ3C.js";
94
- import "./delivery-queue-CxuV9EeG.js";
95
- import "./send-DWYkPSUs.js";
96
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-ZmZYzlq3.js";
97
- import "./prompt-style-8JqOYj0q.js";
98
- import "./pairing-labels-2S6x2UoV.js";
99
- import "./exec-approvals-Kn31mBcW.js";
100
- import "./nodes-screen-VBGXKdLk.js";
101
- import "./pi-tools.policy-CIDBbw6x.js";
102
- import "./control-service-Bz7rxLWq.js";
103
- import "./stagger-BUClb97_.js";
104
- import "./channel-selection-DuWs0Aak.js";
105
- import "./runtime-guard-B37eizu-.js";
106
- import "./program-context-Dm-BSkOd.js";
107
- import "./note-DeHoW7xO.js";
108
- import { r as installCompletion } from "./completion-cli-BmYBAxqM.js";
109
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-2mwX-jqj.js";
110
- import { r as isSystemdUserServiceAvailable } from "./systemd-riq8uNJQ.js";
111
- import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
112
- import { r as healthCommand } from "./health-pFcca1cU.js";
113
- import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-Z947tKLt.js";
114
- import { t as formatHealthCheckFailure } from "./health-format-DSwnXZPU.js";
115
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-4SDl6ZEA.js";
116
- import { t as runTui } from "./tui-CriznorL.js";
92
+ import "./pi-auth-json-zHckislA.js";
93
+ import "./session-cost-usage-BXAI7CNH.js";
94
+ import "./outbound-attachment-Bw-c5Cdp.js";
95
+ import "./delivery-queue-CAxX6nGq.js";
96
+ import "./send-ZI2bG_Jc.js";
97
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-CAjcAisT.js";
98
+ import "./prompt-style-CnkMpSXt.js";
99
+ import "./pairing-labels-DyXoD1DS.js";
100
+ import "./exec-approvals-DXM2pQYL.js";
101
+ import "./nodes-screen-8Bq7DiSa.js";
102
+ import "./pi-tools.policy-C6MWZ59E.js";
103
+ import "./control-service-Dtn-qw2s.js";
104
+ import "./stagger-CvFURHzt.js";
105
+ import "./channel-selection-V2xDgw16.js";
106
+ import "./runtime-guard-Dik20CVM.js";
107
+ import "./program-context-B2BcluHm.js";
108
+ import "./note-DQ9BvHF2.js";
109
+ import { r as installCompletion } from "./completion-cli-DrDwlbAX.js";
110
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-COZ4usfy.js";
111
+ import { r as isSystemdUserServiceAvailable } from "./systemd-DT6SbCim.js";
112
+ import { t as resolveGatewayService } from "./service-osK70kTZ.js";
113
+ import { r as healthCommand } from "./health-9z0Hpkuc.js";
114
+ import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-B7moDVHX.js";
115
+ import { t as formatHealthCheckFailure } from "./health-format-DRCaak6L.js";
116
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-B8IZFxo9.js";
117
+ import { t as runTui } from "./tui-DLaU7tTx.js";
117
118
  import os from "node:os";
118
119
  import path from "node:path";
119
120
  import fs from "node:fs/promises";
@@ -178,7 +179,7 @@ async function finalizeOnboardingWizard(options) {
178
179
  const systemdAvailable = process.platform === "linux" ? await isSystemdUserServiceAvailable() : true;
179
180
  if (process.platform === "linux" && !systemdAvailable) await prompter.note("Systemd user services are unavailable. Skipping lingering checks and service install.", "Systemd");
180
181
  if (process.platform === "linux" && systemdAvailable) {
181
- const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-aQ75ZlXY.js").then((n) => n.r);
182
+ const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-DCskIKcx.js").then((n) => n.r);
182
183
  await ensureSystemdUserLingerInteractive({
183
184
  runtime,
184
185
  prompter: {
@@ -4,17 +4,18 @@ import { r as resolveCliName, t as formatCliCommand } from "./command-format-BtY
4
4
  import "./exec-CBKBIMpA.js";
5
5
  import { h as DEFAULT_BOOTSTRAP_FILENAME } from "./agent-scope-D-jRCY0d.js";
6
6
  import "./github-copilot-token-DuFIqfeC.js";
7
+ import "./pi-auth-json-LXkL5WS_.js";
7
8
  import "./model-DiCH8rkE.js";
8
9
  import "./pi-model-discovery-Do3xMEtM.js";
9
10
  import "./frontmatter-B8duUx_6.js";
10
11
  import "./skills-hAdgFdrv.js";
11
12
  import "./manifest-registry-Czr39pxG.js";
12
13
  import "./config-DHBLS1Hl.js";
13
- import "./client-DMBZpU6X.js";
14
- import "./call-BcE47FtD.js";
14
+ import "./client-T3qcxXru.js";
15
+ import "./call-DIDhYlsx.js";
15
16
  import "./message-channel-C9dERklz.js";
16
17
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-BXI3DyAX.js";
18
+ import "./subagent-registry-aZczbtLM.js";
18
19
  import "./sessions-CJXnZVjR.js";
19
20
  import "./tokens-Csntmwwn.js";
20
21
  import "./plugins-CwSlLxM8.js";
@@ -68,8 +69,8 @@ import "./commands-CkrIpKCc.js";
68
69
  import "./commands-registry-D1K_inhv.js";
69
70
  import "./image-CO4meYzg.js";
70
71
  import "./tool-display-CXwOC-qw.js";
71
- import "./runner-BORIO-D3.js";
72
- import "./model-catalog-CqCsARJX.js";
72
+ import "./runner-CW9KEL7W.js";
73
+ import "./model-catalog-Bn0ffe1O.js";
73
74
  import "./session-utils-Bka9dR4m.js";
74
75
  import "./skill-commands-C8BcwE33.js";
75
76
  import "./workspace-dirs-CPNL2Acu.js";
@@ -94,24 +95,24 @@ import "./cli-utils-CCaEbxAz.js";
94
95
  import "./help-format-B0pWGnZs.js";
95
96
  import "./progress-BAHiAaDW.js";
96
97
  import "./replies-DO80zq73.js";
97
- import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-_pit1NZW.js";
98
+ import { b as waitForGatewayReachable, f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, m as probeGatewayReachable, o as formatControlUiSshHint } from "./onboard-helpers-DASpwgat.js";
98
99
  import "./prompt-style-DwCXob2h.js";
99
100
  import "./pairing-labels-D1HDboV2.js";
100
101
  import "./pi-tools.policy-De00gPXt.js";
101
102
  import "./note-DDecZomM.js";
102
- import "./register.subclis-DcBHO9E8.js";
103
- import "./command-registry-CrYpGtIt.js";
103
+ import "./register.subclis-Bi4jmYW6.js";
104
+ import "./command-registry-Dk55OGO6.js";
104
105
  import "./program-context-CqzR_m-7.js";
105
- import { r as installCompletion } from "./completion-cli-GqPGf3Kq.js";
106
+ import { r as installCompletion } from "./completion-cli-1HmgP7tY.js";
106
107
  import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-CfRwa6qh.js";
107
108
  import "./runtime-guard-D7waq_Ho.js";
108
109
  import { r as isSystemdUserServiceAvailable } from "./systemd-DlMdyFDY.js";
109
110
  import { t as resolveGatewayService } from "./service-Cm9j9WzQ.js";
110
- import { r as healthCommand } from "./health-BNxdveY8.js";
111
+ import { r as healthCommand } from "./health-NTpZ8ssG.js";
111
112
  import { t as ensureControlUiAssetsBuilt } from "./control-ui-assets-BseSWee1.js";
112
113
  import { t as formatHealthCheckFailure } from "./health-format-CzgUHmmX.js";
113
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CL0NHlCA.js";
114
- import { t as runTui } from "./tui-BJB80muc.js";
114
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-D6tzA47C.js";
115
+ import { t as runTui } from "./tui-2nWOvxxE.js";
115
116
  import os from "node:os";
116
117
  import path from "node:path";
117
118
  import fs from "node:fs/promises";
@@ -4,8 +4,8 @@ import "./agent-scope-D-jRCY0d.js";
4
4
  import "./github-copilot-token-DuFIqfeC.js";
5
5
  import "./manifest-registry-Czr39pxG.js";
6
6
  import "./config-DHBLS1Hl.js";
7
- import "./client-DMBZpU6X.js";
8
- import "./call-BcE47FtD.js";
7
+ import "./client-T3qcxXru.js";
8
+ import "./call-DIDhYlsx.js";
9
9
  import "./message-channel-C9dERklz.js";
10
10
  import "./pairing-token-Byh6drgn.js";
11
11
  import "./sessions-CJXnZVjR.js";
@@ -18,7 +18,7 @@ import { a as findTailscaleBinary } from "./tailscale-CbbvYNVw.js";
18
18
  import "./dock-DKxQXuAg.js";
19
19
  import "./accounts-D51FXYdA.js";
20
20
  import "./paths-DNdWAq7b.js";
21
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-_pit1NZW.js";
21
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-DASpwgat.js";
22
22
  import "./prompt-style-DwCXob2h.js";
23
23
  import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-B-xy96ST.js";
24
24
 
@@ -21,12 +21,12 @@ import "./accounts-DyJN4_vR.js";
21
21
  import "./bindings-DFaVVCsf.js";
22
22
  import "./logging-w5jq5901.js";
23
23
  import "./paths-CyhzMxFA.js";
24
- import "./client-CQSyCS4M.js";
25
- import "./call-CJaS1iRF.js";
24
+ import "./client-jI1oE0_k.js";
25
+ import "./call-CFhGTNtt.js";
26
26
  import "./pairing-token-CX3NN_qj.js";
27
- import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-ZmZYzlq3.js";
28
- import "./prompt-style-8JqOYj0q.js";
29
- import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CxY-xbsH.js";
27
+ import { h as randomToken, u as normalizeGatewayTokenInput, y as validateGatewayPasswordInput } from "./onboard-helpers-CAjcAisT.js";
28
+ import "./prompt-style-CnkMpSXt.js";
29
+ import { i as TAILSCALE_MISSING_BIN_NOTE_LINES, n as TAILSCALE_DOCS_LINES, r as TAILSCALE_EXPOSURE_OPTIONS, t as validateIPv4AddressInput } from "./ipv4-CjlyK5jc.js";
30
30
 
31
31
  //#region src/wizard/onboarding.gateway-config.ts
32
32
  const DEFAULT_DANGEROUS_NODE_DENY_COMMANDS = [
@@ -1,7 +1,7 @@
1
1
  import { g as resolveConfigDir, l as escapeRegExp } from "./utils-B-0b9bGM.js";
2
2
  import { Kt as DEFAULT_PROVIDER, f as resolveAllowlistModelKey } from "./model-selection-CyFvYcRt.js";
3
3
  import { n as fetchWithTimeout } from "./fetch-timeout-Db3da8yR.js";
4
- import { St as ZAI_GLOBAL_BASE_URL, bt as ZAI_CODING_CN_BASE_URL, xt as ZAI_CODING_GLOBAL_BASE_URL, yt as ZAI_CN_BASE_URL } from "./auth-token-BnOynwk4.js";
4
+ import { St as ZAI_GLOBAL_BASE_URL, bt as ZAI_CODING_CN_BASE_URL, xt as ZAI_CODING_GLOBAL_BASE_URL, yt as ZAI_CN_BASE_URL } from "./auth-token-Cay2jwzn.js";
5
5
  import fs from "node:fs";
6
6
  import path from "node:path";
7
7
 
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { B as toWhatsappJid, T as escapeRegExp, tt as getChildLogger } from "./registry-BhoUuugi.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
4
- import { n as loadConfig } from "./config-BmV60pPT.js";
4
+ import { n as loadConfig } from "./config-DBqxAhpU.js";
5
5
  import { n as resolveMarkdownTableMode } from "./markdown-tables-DawaaZEe.js";
6
6
  import { a as loadWebMedia } from "./ir-F0moAwIl.js";
7
7
  import { n as normalizePollInput } from "./polls-DQcEziPg.js";
8
8
  import { t as convertMarkdownTables } from "./tables-COnZ169v.js";
9
- import { n as requireActiveWebListener } from "./active-listener-1krIj9TM.js";
9
+ import { n as requireActiveWebListener } from "./active-listener-Dx_Y1ouV.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/markdown/whatsapp.ts
@@ -6,7 +6,7 @@ import { n as resolveMarkdownTableMode } from "./markdown-tables-CEbN0fEm.js";
6
6
  import { a as loadWebMedia } from "./ir-DZam9q5M.js";
7
7
  import { n as normalizePollInput } from "./polls-DhH5YkzN.js";
8
8
  import { t as convertMarkdownTables } from "./tables-BEzT0Da4.js";
9
- import { n as requireActiveWebListener } from "./active-listener-kvXhlgwu.js";
9
+ import { n as requireActiveWebListener } from "./active-listener-SKkHHqlN.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/markdown/whatsapp.ts
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { D as escapeRegExp, H as toWhatsappJid, rt as getChildLogger } from "./registry-DYq1AYOv.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
4
- import { n as loadConfig } from "./config-5SdHIcHU.js";
5
- import { n as resolveMarkdownTableMode } from "./markdown-tables-C-BmIap8.js";
6
- import { a as loadWebMedia } from "./ir-CTiz95Vb.js";
7
- import { n as normalizePollInput } from "./polls-CCuCaqgv.js";
8
- import { t as convertMarkdownTables } from "./tables-qMwbq29u.js";
9
- import { n as requireActiveWebListener } from "./active-listener-CfHHV2SU.js";
4
+ import { n as loadConfig } from "./config-4Iu6iHCA.js";
5
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-Dnj2LQUc.js";
6
+ import { a as loadWebMedia } from "./ir-JAy_3A3B.js";
7
+ import { n as normalizePollInput } from "./polls-BKbIUHj7.js";
8
+ import { t as convertMarkdownTables } from "./tables-BuM4FKR3.js";
9
+ import { n as requireActiveWebListener } from "./active-listener-Br2FcRv7.js";
10
10
  import { randomUUID } from "node:crypto";
11
11
 
12
12
  //#region src/markdown/whatsapp.ts
@@ -1,5 +1,5 @@
1
1
  import { r as saveMediaBuffer } from "./store-01F_JM7O.js";
2
- import { a as loadWebMedia } from "./ir-CTiz95Vb.js";
2
+ import { a as loadWebMedia } from "./ir-JAy_3A3B.js";
3
3
 
4
4
  //#region src/media/outbound-attachment.ts
5
5
  async function resolveOutboundAttachmentFromUrl(mediaUrl, maxBytes, options) {
@@ -17,8 +17,8 @@ import "./bindings-DFaVVCsf.js";
17
17
  import "./logging-w5jq5901.js";
18
18
  import { l as listPairingChannels, n as approveChannelPairingCode, r as listChannelPairingRequests, u as notifyPairingApproved } from "./pairing-store-CK726Dzq.js";
19
19
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
20
- import { t as resolvePairingIdLabel } from "./pairing-labels-2S6x2UoV.js";
21
- import { t as renderTable } from "./table-BTgkRafz.js";
20
+ import { t as resolvePairingIdLabel } from "./pairing-labels-DyXoD1DS.js";
21
+ import { t as renderTable } from "./table-BKlH0YlA.js";
22
22
 
23
23
  //#region src/cli/pairing-cli.ts
24
24
  /** Parse channel, allowing extension channels not in core registry. */
@@ -1,5 +1,5 @@
1
1
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
2
- import { n as resolveBrewPathDirs } from "./brew-DjNEjKAo.js";
2
+ import { n as resolveBrewPathDirs } from "./brew-DZPKCJr0.js";
3
3
  import fs from "node:fs";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
@@ -1,14 +1,10 @@
1
- import "./paths-CE7eVGHg.js";
2
- import "./registry-BhoUuugi.js";
3
- import "./agent-scope-Cbl5pNe1.js";
4
- import "./subsystem-CZixfwU8.js";
5
- import { U as ensureAuthProfileStore, c as normalizeProviderId } from "./model-selection-BQCG9ah0.js";
6
- import "./github-copilot-token-BbsJ0Qbo.js";
7
- import "./env-CQ_DQOwT.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
+ import { U as ensureAuthProfileStore, Y as normalizeOptionalSecretInput, c as normalizeProviderId } from "./model-selection-B8QKPmTL.js";
8
3
  import path from "node:path";
9
4
  import fs from "node:fs/promises";
10
5
 
11
6
  //#region src/agents/pi-auth-json.ts
7
+ var pi_auth_json_exports = /* @__PURE__ */ __exportAll({ ensurePiAuthJsonFromAuthProfiles: () => ensurePiAuthJsonFromAuthProfiles });
12
8
  async function readAuthJson(filePath) {
13
9
  try {
14
10
  const raw = await fs.readFile(filePath, "utf8");
@@ -78,8 +74,16 @@ function credentialsEqual(a, b) {
78
74
  * registry/catalog output.
79
75
  *
80
76
  * Syncs all credential types: api_key, token (as api_key), and oauth.
77
+ *
78
+ * When a SymiConfig is supplied via options.config, any provider in
79
+ * config.models.providers that declares an inline apiKey is also seeded into
80
+ * auth.json (for providers not already covered by an auth-profile). This is
81
+ * required for user-defined OpenAI-compatible endpoints (e.g. CoreWeave vLLM
82
+ * with apiKey: "none"): without an auth.json entry, pi-coding-agent's
83
+ * AuthStorage treats the provider as unauthenticated and the SDK fails with
84
+ * "Connection error" before any HTTP request is made.
81
85
  */
82
- async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
86
+ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
83
87
  const store = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
84
88
  const authPath = path.join(agentDir, "auth.json");
85
89
  const providerCredentials = /* @__PURE__ */ new Map();
@@ -89,6 +93,17 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
89
93
  const converted = convertCredential(cred);
90
94
  if (converted) providerCredentials.set(provider, converted);
91
95
  }
96
+ const inlineProviders = options?.config?.models?.providers;
97
+ if (inlineProviders) for (const [providerKey, providerCfg] of Object.entries(inlineProviders)) {
98
+ const provider = normalizeProviderId(String(providerKey ?? "")).trim();
99
+ if (!provider || providerCredentials.has(provider)) continue;
100
+ const inlineKey = normalizeOptionalSecretInput(providerCfg?.apiKey);
101
+ if (!inlineKey) continue;
102
+ providerCredentials.set(provider, {
103
+ type: "api_key",
104
+ key: inlineKey
105
+ });
106
+ }
92
107
  if (providerCredentials.size === 0) return {
93
108
  wrote: false,
94
109
  authPath
@@ -115,4 +130,4 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
115
130
  }
116
131
 
117
132
  //#endregion
118
- export { ensurePiAuthJsonFromAuthProfiles };
133
+ export { pi_auth_json_exports as n, ensurePiAuthJsonFromAuthProfiles as t };
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { L as normalizeProviderId, b as ensureAuthProfileStore } from "./auth-profiles-Q1xTr5SX.js";
2
+ import { C as normalizeProviderId, U as normalizeOptionalSecretInput, d as ensureAuthProfileStore } from "./auth-profiles-q3HjbboY.js";
3
3
  import path from "node:path";
4
4
  import fs from "node:fs/promises";
5
5
 
@@ -74,8 +74,16 @@ function credentialsEqual(a, b) {
74
74
  * registry/catalog output.
75
75
  *
76
76
  * Syncs all credential types: api_key, token (as api_key), and oauth.
77
+ *
78
+ * When a SymiConfig is supplied via options.config, any provider in
79
+ * config.models.providers that declares an inline apiKey is also seeded into
80
+ * auth.json (for providers not already covered by an auth-profile). This is
81
+ * required for user-defined OpenAI-compatible endpoints (e.g. CoreWeave vLLM
82
+ * with apiKey: "none"): without an auth.json entry, pi-coding-agent's
83
+ * AuthStorage treats the provider as unauthenticated and the SDK fails with
84
+ * "Connection error" before any HTTP request is made.
77
85
  */
78
- async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
86
+ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
79
87
  const store = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
80
88
  const authPath = path.join(agentDir, "auth.json");
81
89
  const providerCredentials = /* @__PURE__ */ new Map();
@@ -85,6 +93,17 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
85
93
  const converted = convertCredential(cred);
86
94
  if (converted) providerCredentials.set(provider, converted);
87
95
  }
96
+ const inlineProviders = options?.config?.models?.providers;
97
+ if (inlineProviders) for (const [providerKey, providerCfg] of Object.entries(inlineProviders)) {
98
+ const provider = normalizeProviderId(String(providerKey ?? "")).trim();
99
+ if (!provider || providerCredentials.has(provider)) continue;
100
+ const inlineKey = normalizeOptionalSecretInput(providerCfg?.apiKey);
101
+ if (!inlineKey) continue;
102
+ providerCredentials.set(provider, {
103
+ type: "api_key",
104
+ key: inlineKey
105
+ });
106
+ }
88
107
  if (providerCredentials.size === 0) return {
89
108
  wrote: false,
90
109
  authPath
@@ -1,16 +1,10 @@
1
- import "./paths-CE7eVGHg.js";
2
- import "./registry-DYq1AYOv.js";
3
- import "./agent-scope-CpEJ0B88.js";
4
- import "./subsystem-BjyjJF-d.js";
5
- import "./workspace-DscDraUb.js";
6
- import { C as normalizeProviderId, d as ensureAuthProfileStore } from "./auth-profiles-DdK1Hxaa.js";
7
- import "./env-BDXYbTKj.js";
8
- import "./github-copilot-token-cCYzSU9h.js";
9
- import "./boolean-CE7i9tBR.js";
1
+ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
+ import { L as normalizeProviderId, Tt as normalizeOptionalSecretInput, b as ensureAuthProfileStore } from "./auth-profiles-Q1xTr5SX.js";
10
3
  import path from "node:path";
11
4
  import fs from "node:fs/promises";
12
5
 
13
6
  //#region src/agents/pi-auth-json.ts
7
+ var pi_auth_json_exports = /* @__PURE__ */ __exportAll({ ensurePiAuthJsonFromAuthProfiles: () => ensurePiAuthJsonFromAuthProfiles });
14
8
  async function readAuthJson(filePath) {
15
9
  try {
16
10
  const raw = await fs.readFile(filePath, "utf8");
@@ -80,8 +74,16 @@ function credentialsEqual(a, b) {
80
74
  * registry/catalog output.
81
75
  *
82
76
  * Syncs all credential types: api_key, token (as api_key), and oauth.
77
+ *
78
+ * When a SymiConfig is supplied via options.config, any provider in
79
+ * config.models.providers that declares an inline apiKey is also seeded into
80
+ * auth.json (for providers not already covered by an auth-profile). This is
81
+ * required for user-defined OpenAI-compatible endpoints (e.g. CoreWeave vLLM
82
+ * with apiKey: "none"): without an auth.json entry, pi-coding-agent's
83
+ * AuthStorage treats the provider as unauthenticated and the SDK fails with
84
+ * "Connection error" before any HTTP request is made.
83
85
  */
84
- async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
86
+ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
85
87
  const store = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
86
88
  const authPath = path.join(agentDir, "auth.json");
87
89
  const providerCredentials = /* @__PURE__ */ new Map();
@@ -91,6 +93,17 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
91
93
  const converted = convertCredential(cred);
92
94
  if (converted) providerCredentials.set(provider, converted);
93
95
  }
96
+ const inlineProviders = options?.config?.models?.providers;
97
+ if (inlineProviders) for (const [providerKey, providerCfg] of Object.entries(inlineProviders)) {
98
+ const provider = normalizeProviderId(String(providerKey ?? "")).trim();
99
+ if (!provider || providerCredentials.has(provider)) continue;
100
+ const inlineKey = normalizeOptionalSecretInput(providerCfg?.apiKey);
101
+ if (!inlineKey) continue;
102
+ providerCredentials.set(provider, {
103
+ type: "api_key",
104
+ key: inlineKey
105
+ });
106
+ }
94
107
  if (providerCredentials.size === 0) return {
95
108
  wrote: false,
96
109
  authPath
@@ -117,4 +130,4 @@ async function ensurePiAuthJsonFromAuthProfiles(agentDir) {
117
130
  }
118
131
 
119
132
  //#endregion
120
- export { ensurePiAuthJsonFromAuthProfiles };
133
+ export { pi_auth_json_exports as n, ensurePiAuthJsonFromAuthProfiles as t };
@@ -0,0 +1,133 @@
1
+ import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
+ import { At as ensureAuthProfileStore, l as normalizeProviderId, zt as normalizeOptionalSecretInput } from "./model-selection-CyFvYcRt.js";
3
+ import path from "node:path";
4
+ import fs from "node:fs/promises";
5
+
6
+ //#region src/agents/pi-auth-json.ts
7
+ var pi_auth_json_exports = /* @__PURE__ */ __exportAll({ ensurePiAuthJsonFromAuthProfiles: () => ensurePiAuthJsonFromAuthProfiles });
8
+ async function readAuthJson(filePath) {
9
+ try {
10
+ const raw = await fs.readFile(filePath, "utf8");
11
+ const parsed = JSON.parse(raw);
12
+ if (!parsed || typeof parsed !== "object") return {};
13
+ return parsed;
14
+ } catch {
15
+ return {};
16
+ }
17
+ }
18
+ /**
19
+ * Convert an Symi auth-profiles credential to pi-coding-agent auth.json format.
20
+ * Returns null if the credential cannot be converted.
21
+ */
22
+ function convertCredential(cred) {
23
+ if (cred.type === "api_key") {
24
+ const key = typeof cred.key === "string" ? cred.key.trim() : "";
25
+ if (!key) return null;
26
+ return {
27
+ type: "api_key",
28
+ key
29
+ };
30
+ }
31
+ if (cred.type === "token") {
32
+ const token = typeof cred.token === "string" ? cred.token.trim() : "";
33
+ if (!token) return null;
34
+ const expires = typeof cred.expires === "number" ? cred.expires : NaN;
35
+ if (Number.isFinite(expires) && expires > 0 && Date.now() >= expires) return null;
36
+ return {
37
+ type: "api_key",
38
+ key: token
39
+ };
40
+ }
41
+ if (cred.type === "oauth") {
42
+ const accessRaw = cred.access;
43
+ const refreshRaw = cred.refresh;
44
+ const expiresRaw = cred.expires;
45
+ const access = typeof accessRaw === "string" ? accessRaw.trim() : "";
46
+ const refresh = typeof refreshRaw === "string" ? refreshRaw.trim() : "";
47
+ const expires = typeof expiresRaw === "number" ? expiresRaw : NaN;
48
+ if (!access || !refresh || !Number.isFinite(expires) || expires <= 0) return null;
49
+ return {
50
+ type: "oauth",
51
+ access,
52
+ refresh,
53
+ expires
54
+ };
55
+ }
56
+ return null;
57
+ }
58
+ /**
59
+ * Check if two auth.json credentials are equivalent.
60
+ */
61
+ function credentialsEqual(a, b) {
62
+ if (!a || typeof a !== "object") return false;
63
+ if (a.type !== b.type) return false;
64
+ if (a.type === "api_key" && b.type === "api_key") return a.key === b.key;
65
+ if (a.type === "oauth" && b.type === "oauth") return a.access === b.access && a.refresh === b.refresh && a.expires === b.expires;
66
+ return false;
67
+ }
68
+ /**
69
+ * pi-coding-agent's ModelRegistry/AuthStorage expects credentials in auth.json.
70
+ *
71
+ * Symi stores credentials in auth-profiles.json instead. This helper
72
+ * bridges all credentials into agentDir/auth.json so pi-coding-agent can
73
+ * (a) consider providers authenticated and (b) include built-in models in its
74
+ * registry/catalog output.
75
+ *
76
+ * Syncs all credential types: api_key, token (as api_key), and oauth.
77
+ *
78
+ * When a SymiConfig is supplied via options.config, any provider in
79
+ * config.models.providers that declares an inline apiKey is also seeded into
80
+ * auth.json (for providers not already covered by an auth-profile). This is
81
+ * required for user-defined OpenAI-compatible endpoints (e.g. CoreWeave vLLM
82
+ * with apiKey: "none"): without an auth.json entry, pi-coding-agent's
83
+ * AuthStorage treats the provider as unauthenticated and the SDK fails with
84
+ * "Connection error" before any HTTP request is made.
85
+ */
86
+ async function ensurePiAuthJsonFromAuthProfiles(agentDir, options) {
87
+ const store = ensureAuthProfileStore(agentDir, { allowKeychainPrompt: false });
88
+ const authPath = path.join(agentDir, "auth.json");
89
+ const providerCredentials = /* @__PURE__ */ new Map();
90
+ for (const [, cred] of Object.entries(store.profiles)) {
91
+ const provider = normalizeProviderId(String(cred.provider ?? "")).trim();
92
+ if (!provider || providerCredentials.has(provider)) continue;
93
+ const converted = convertCredential(cred);
94
+ if (converted) providerCredentials.set(provider, converted);
95
+ }
96
+ const inlineProviders = options?.config?.models?.providers;
97
+ if (inlineProviders) for (const [providerKey, providerCfg] of Object.entries(inlineProviders)) {
98
+ const provider = normalizeProviderId(String(providerKey ?? "")).trim();
99
+ if (!provider || providerCredentials.has(provider)) continue;
100
+ const inlineKey = normalizeOptionalSecretInput(providerCfg?.apiKey);
101
+ if (!inlineKey) continue;
102
+ providerCredentials.set(provider, {
103
+ type: "api_key",
104
+ key: inlineKey
105
+ });
106
+ }
107
+ if (providerCredentials.size === 0) return {
108
+ wrote: false,
109
+ authPath
110
+ };
111
+ const existing = await readAuthJson(authPath);
112
+ let changed = false;
113
+ for (const [provider, cred] of providerCredentials) if (!credentialsEqual(existing[provider], cred)) {
114
+ existing[provider] = cred;
115
+ changed = true;
116
+ }
117
+ if (!changed) return {
118
+ wrote: false,
119
+ authPath
120
+ };
121
+ await fs.mkdir(agentDir, {
122
+ recursive: true,
123
+ mode: 448
124
+ });
125
+ await fs.writeFile(authPath, `${JSON.stringify(existing, null, 2)}\n`, { mode: 384 });
126
+ return {
127
+ wrote: true,
128
+ authPath
129
+ };
130
+ }
131
+
132
+ //#endregion
133
+ export { pi_auth_json_exports as n, ensurePiAuthJsonFromAuthProfiles as t };