@symerian/symi 2.7.5 → 2.7.7

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 (417) hide show
  1. package/dist/{acp-cli-D-9rzaOI.js → acp-cli-CeN5gs7J.js} +3 -3
  2. package/dist/{acp-cli-B2f0qBiM.js → acp-cli-DLsBwWlS.js} +3 -3
  3. package/dist/{agents-Z8ruJPz2.js → agents-CCeOMXJF.js} +8 -8
  4. package/dist/{agents.config-B9BZoM2m.js → agents.config-AdyGWyGd.js} +1 -1
  5. package/dist/{agents.config-C951ocyh.js → agents.config-B8-mSnnL.js} +1 -1
  6. package/dist/{api-key-rotation-CzuPlV2t.js → api-key-rotation-CI0CtTtl.js} +1 -1
  7. package/dist/{audio-preflight-CIiS5cfP.js → audio-preflight-3Wa38hZz.js} +13 -13
  8. package/dist/{audio-preflight-COaFw917.js → audio-preflight-BUoEMkmr.js} +7 -7
  9. package/dist/{audio-preflight-DD18zIZd.js → audio-preflight-Bsa1_iU3.js} +7 -7
  10. package/dist/{audio-preflight-XrlQA8IZ.js → audio-preflight-C45lDI-t.js} +13 -13
  11. package/dist/{audit-BgdM9XZl.js → audit-DD5qcj2W.js} +7 -7
  12. package/dist/{audit-xSagQWH8.js → audit-G3JpLuYZ.js} +7 -7
  13. package/dist/{auth-choice-BmYi6pBy.js → auth-choice-B97lJuV1.js} +7 -7
  14. package/dist/{auth-choice-D_VfXxhG.js → auth-choice-BkF4yNXk.js} +7 -7
  15. package/dist/{auth-profiles-Q1xTr5SX.js → auth-profiles-BBniPGeS.js} +67 -0
  16. package/dist/{auth-profiles-q3HjbboY.js → auth-profiles-C2vj6htZ.js} +67 -0
  17. package/dist/{auth-token-Cmrk2TPo.js → auth-token-DWgYs9Ek.js} +1 -1
  18. package/dist/{auth-token-Cay2jwzn.js → auth-token-iC00Mmg8.js} +1 -1
  19. package/dist/{banner-Bucr6qZ5.js → banner-kmyj39fQ.js} +1 -1
  20. package/dist/{browser-cli-Dr0yx7-7.js → browser-cli-DPAw_dFl.js} +4 -4
  21. package/dist/{browser-cli-Bc_JVdTj.js → browser-cli-LlkXk8qz.js} +4 -4
  22. package/dist/build-info.json +3 -3
  23. package/dist/bundled/boot-md/handler.js +19 -19
  24. package/dist/bundled/session-memory/handler.js +19 -19
  25. package/dist/{call-CX0cs106.js → call-CtiVeyeQ.js} +1 -1
  26. package/dist/{call-DeCQ2DhS.js → call-ple9aZCT.js} +1 -1
  27. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  28. package/dist/{channel-options-z8-WeZyO.js → channel-options-7M72jx9S.js} +1 -1
  29. package/dist/{channel-options-BMDryXHq.js → channel-options-CWyYAyJ8.js} +1 -1
  30. package/dist/{channel-web-D_YxZAHT.js → channel-web-DNYIZGo5.js} +8 -8
  31. package/dist/{channels-cli-CV7_JUru.js → channels-cli-BbbQhLVm.js} +39 -39
  32. package/dist/{channels-cli-397NgC51.js → channels-cli-CIApZn8b.js} +40 -40
  33. package/dist/{chrome-DU2ZysN3.js → chrome-CDPH3KAn.js} +1 -1
  34. package/dist/{chrome-DAw-AWNi.js → chrome-CWdu8vA2.js} +1 -1
  35. package/dist/{chrome-BxwUEWrH.js → chrome-Cs57nwfJ.js} +8 -8
  36. package/dist/{chrome-CbA-qnhp.js → chrome-PSMCM7XH.js} +8 -8
  37. package/dist/cli/daemon-cli.js +1 -1
  38. package/dist/{cli-Dq95udFO.js → cli-BdYpv3II.js} +34 -34
  39. package/dist/{cli-4XU7pNlM.js → cli-Chwue7dC.js} +35 -35
  40. package/dist/{command-registry-yRiaU4-n.js → command-registry-X9-mDiVG.js} +11 -11
  41. package/dist/{commands-registry-BT0-zzs3.js → commands-registry-B6cf3Cmq.js} +1 -1
  42. package/dist/{commands-registry-D1K_inhv.js → commands-registry-CccyRhnX.js} +1 -1
  43. package/dist/{commands-registry-BSvi46KZ.js → commands-registry-CfoYlMQB.js} +1 -1
  44. package/dist/{commands-registry-DYoNKo_h.js → commands-registry-D9ZzWaEz.js} +1 -1
  45. package/dist/{completion-cli-DrQai9KM.js → completion-cli-C6CUvtmX.js} +2 -2
  46. package/dist/{completion-cli-_aqxDQoz.js → completion-cli-CKRgTAVA.js} +1 -1
  47. package/dist/{config-BUTI-mUZ.js → config-1z3NlJzC.js} +1 -1
  48. package/dist/{config-B6OxYMgn.js → config-CnQmFG2h.js} +1 -1
  49. package/dist/{config-Dz95lSBW.js → config-Cz_ObCzY.js} +1 -1
  50. package/dist/{config-BNTB6qj8.js → config-XZ7orePK.js} +1 -1
  51. package/dist/{config-cli-EdmbBExA.js → config-cli-CsqLGGPo.js} +3 -3
  52. package/dist/{config-cli-CMymzmrI.js → config-cli-mWb-8dem.js} +3 -3
  53. package/dist/{config-guard-B1skCv1C.js → config-guard-C7V44mcM.js} +2 -2
  54. package/dist/{config-guard-CEkSg4hl.js → config-guard-NmACsPTr.js} +5 -5
  55. package/dist/{config-validation-Cutpn5eO.js → config-validation-Cp9cMMJA.js} +1 -1
  56. package/dist/{config-validation-HDVDlMSV.js → config-validation-DpNRQ6U4.js} +1 -1
  57. package/dist/{configure-DkFujfiY.js → configure-C-0GLJbj.js} +11 -11
  58. package/dist/{configure-DRMAIBBf.js → configure-cN-Og45p.js} +11 -11
  59. package/dist/{control-service-rbSHSlcd.js → control-service-CSbQSkSn.js} +4 -4
  60. package/dist/{control-service-BYKXzY4f.js → control-service-Cqck1Zry.js} +4 -4
  61. package/dist/control-ui/index.html +1 -0
  62. package/dist/control-ui/js/models.js +1 -0
  63. package/dist/{cron-cli-BHxfvWeT.js → cron-cli-CnWIltKL.js} +4 -4
  64. package/dist/{cron-cli-DacyI1Pw.js → cron-cli-DLn4ynWB.js} +4 -4
  65. package/dist/{daemon-cli-BLhFbih0.js → daemon-cli-BUO3va5K.js} +6 -6
  66. package/dist/{daemon-cli-BxKtiouf.js → daemon-cli-DGXcyiDn.js} +6 -6
  67. package/dist/{daemon-runtime-mE1b-Q48.js → daemon-runtime-BetFDUaM.js} +1 -1
  68. package/dist/{daemon-runtime-CVFg-ZmT.js → daemon-runtime-CbbrW5g3.js} +1 -1
  69. package/dist/{deliver-DtuY4Wgl.js → deliver-BLNOhQLM.js} +2 -2
  70. package/dist/{deliver-B4KZ6-oZ.js → deliver-Co2XquFO.js} +3 -3
  71. package/dist/{deliver-Bu0iWeja.js → deliver-DFAium1x.js} +3 -3
  72. package/dist/{deliver-C7NePF9Z.js → deliver-DGSxISab.js} +2 -2
  73. package/dist/{devices-cli-B8Q8AzbX.js → devices-cli-BvMSzdXp.js} +3 -3
  74. package/dist/{devices-cli-1kiO08aL.js → devices-cli-CCyr0lUw.js} +3 -3
  75. package/dist/{directory-cli-KgsAVTA0.js → directory-cli-CtA0O-ho.js} +2 -2
  76. package/dist/{directory-cli-BxnSZZsW.js → directory-cli-JgFtCkve.js} +2 -2
  77. package/dist/{dm-policy-shared-DJ-61hCT.js → dm-policy-shared-DF2uLfXk.js} +1 -1
  78. package/dist/{dm-policy-shared-DlDAGtZL.js → dm-policy-shared-DwFEXR-I.js} +1 -1
  79. package/dist/{dns-cli-Cwr92Aiq.js → dns-cli-ClxFzTrN.js} +2 -2
  80. package/dist/{dns-cli-BuVomfxS.js → dns-cli-XEIAfGBW.js} +2 -2
  81. package/dist/{doctor-completion-Cx-AR_dB.js → doctor-completion-9YerM5WQ.js} +1 -1
  82. package/dist/{doctor-completion-BbrsQOW-.js → doctor-completion-CctxaDOf.js} +1 -1
  83. package/dist/{doctor-config-flow-DhAYwhNB.js → doctor-config-flow-C7EIHqIm.js} +3 -3
  84. package/dist/{doctor-config-flow-iIzSEQxb.js → doctor-config-flow-COCO8sJB.js} +3 -3
  85. package/dist/entry.js +1 -1
  86. package/dist/{exec-approvals-cli-BRx2oxs5.js → exec-approvals-cli-Be49SVlp.js} +5 -5
  87. package/dist/{exec-approvals-cli-Cj6Z-vxL.js → exec-approvals-cli-SLQmCzAk.js} +5 -5
  88. package/dist/extensionAPI.js +19 -19
  89. package/dist/{gateway-cli-C7JTXqby.js → gateway-cli-DFwW91fW.js} +52 -52
  90. package/dist/{gateway-cli-CaaX65eF.js → gateway-cli-EspQMxcD.js} +53 -53
  91. package/dist/{gateway-rpc-BWTK7g8B.js → gateway-rpc-BPldxGhH.js} +1 -1
  92. package/dist/{gateway-rpc-WM-HXUbl.js → gateway-rpc-D1Oid7kh.js} +1 -1
  93. package/dist/{gemini-auth-BkLFtndu.js → gemini-auth-BefM10YB.js} +1 -1
  94. package/dist/{gemini-auth-CgCIvUpe.js → gemini-auth-DEakvf-D.js} +1 -1
  95. package/dist/{gemini-auth-ClVyOv9p.js → gemini-auth-DVcG-42i.js} +1 -1
  96. package/dist/{glass-ui-ws-jAbqZVc9.js → glass-ui-ws-BCAruY1k.js} +44 -44
  97. package/dist/{glass-ui-ws-BI81Lh6Z.js → glass-ui-ws-C9slRAdq.js} +43 -43
  98. package/dist/{health-B1nih5LD.js → health-CUAawozd.js} +5 -5
  99. package/dist/{health-CsTxt66a.js → health-uSVTJefC.js} +5 -5
  100. package/dist/{hooks-cli-CIlvtt2M.js → hooks-cli-1hn9EEhc.js} +36 -36
  101. package/dist/{hooks-cli-BhxMFkKe.js → hooks-cli-NOol1x2D.js} +35 -35
  102. package/dist/{image-lp19FlzF.js → image-9tqGkUqf.js} +3 -3
  103. package/dist/{image-BWmcNF8N.js → image-Bd9ilPV9.js} +3 -3
  104. package/dist/{image-C3wYkWyK.js → image-DFxGwWA7.js} +3 -3
  105. package/dist/{image-C3ugMkb5.js → image-Dopj30W7.js} +3 -3
  106. package/dist/index.js +43 -43
  107. package/dist/{lifecycle-core-BZ5sOcHT.js → lifecycle-core-AeKXuI87.js} +2 -2
  108. package/dist/{lifecycle-core-C4HzGXA1.js → lifecycle-core-Dpd8ty8k.js} +2 -2
  109. package/dist/llm-slug-generator.js +19 -19
  110. package/dist/{login-DODfJ3Dn.js → login-BKjGtdQb.js} +2 -2
  111. package/dist/{login-BtBwGFrb.js → login-CPDAMiNc.js} +2 -2
  112. package/dist/{login-CiVdC-o_.js → login-CQTjtlgX.js} +2 -2
  113. package/dist/{login-BkbDSDPc.js → login-KF21s52V.js} +2 -2
  114. package/dist/{login-qr-Dbw5m381.js → login-qr-4Pmnupol.js} +3 -3
  115. package/dist/{login-qr-DPxuLEvD.js → login-qr-BkqlPQja.js} +3 -3
  116. package/dist/{login-qr-CBRxijIg.js → login-qr-BnV3nWaD.js} +3 -3
  117. package/dist/{login-qr-q201Ckfe.js → login-qr-Ca_QjL8s.js} +3 -3
  118. package/dist/{logs-cli-DyCcDkRs.js → logs-cli-BLyCHsIE.js} +4 -4
  119. package/dist/{logs-cli-BZV7dq_U.js → logs-cli-wAogU3fl.js} +4 -4
  120. package/dist/{manager-CgLdpXXM.js → manager-B0BFUVEs.js} +2 -2
  121. package/dist/{manager-D4LJSRyZ.js → manager-B2Yd9HdF.js} +2 -2
  122. package/dist/{manager-CJ3M1Uxq.js → manager-DXyJKTj7.js} +2 -2
  123. package/dist/{manager-Vb2F7vQq.js → manager-MZfhMvm3.js} +2 -2
  124. package/dist/{memory-cli-Btzr8gfD.js → memory-cli-CY3CHJS9.js} +5 -5
  125. package/dist/{memory-cli-DDumUksr.js → memory-cli-MMLg1Ccf.js} +5 -5
  126. package/dist/{model-tWhwnFf8.js → model-ECsJuJew.js} +1 -1
  127. package/dist/{model-catalog-8Son0J4O.js → model-catalog-Bkny3qg9.js} +4 -4
  128. package/dist/{model-catalog-DNvgFPZn.js → model-catalog-BkurhUo7.js} +4 -4
  129. package/dist/{model-picker-Casgrpw3.js → model-picker-Bl_c2WTt.js} +3 -3
  130. package/dist/{model-picker-CAm2Bftd.js → model-picker-CkXMb7R4.js} +3 -3
  131. package/dist/{model-selection-CyFvYcRt.js → model-selection-C-eIBa0H.js} +67 -0
  132. package/dist/{model-selection-B8QKPmTL.js → model-selection-vHAQ4r1b.js} +67 -0
  133. package/dist/{model-DiCH8rkE.js → model-yI45t1OQ.js} +1 -1
  134. package/dist/{models-DhMe2rzL.js → models-CYqsDjad.js} +14 -14
  135. package/dist/{models-cli-Dewg24W2.js → models-cli-CmU3OOJG.js} +39 -39
  136. package/dist/{models-cli-DKM5sCQM.js → models-cli-mOTgaVlj.js} +40 -40
  137. package/dist/{models-config-CFFjJPe7.js → models-config-C7LKdahT.js} +2 -2
  138. package/dist/{models-config-Be8DRFkB.js → models-config-CPAA0Wkr.js} +2 -2
  139. package/dist/{node-cli-4eMRkmrw.js → node-cli-BJ1yRo3F.js} +10 -10
  140. package/dist/{node-cli-Dfs0UmnJ.js → node-cli-dsjkpZpf.js} +10 -10
  141. package/dist/{nodes-cli-DxfP9DIz.js → nodes-cli-BxLO-rv5.js} +4 -4
  142. package/dist/{nodes-cli-BKb61OjH.js → nodes-cli-D1Fz0Q2m.js} +4 -4
  143. package/dist/{onboard-CVfE-Bjj.js → onboard-Cf49_nCM.js} +10 -10
  144. package/dist/{onboard-C6XtdirM.js → onboard-TK9M_DAs.js} +10 -10
  145. package/dist/{onboard-channels-8ynJSZL6.js → onboard-channels-CIP2VRJ-.js} +2 -2
  146. package/dist/{onboard-channels-ChxtmhFY.js → onboard-channels-CrQDcwVv.js} +2 -2
  147. package/dist/{onboard-custom-CQOMQkfS.js → onboard-custom-BVNvbjaX.js} +3 -3
  148. package/dist/{onboard-custom-XiomtQr7.js → onboard-custom-MKL2uerp.js} +3 -3
  149. package/dist/{onboard-helpers-PpGrZIGw.js → onboard-helpers-09M-gWu4.js} +2 -2
  150. package/dist/{onboard-helpers-CueJ7O_B.js → onboard-helpers-B1El5sBR.js} +2 -2
  151. package/dist/{onboard-remote-DCdpB2HH.js → onboard-remote-C9Ftkn3-.js} +1 -1
  152. package/dist/{onboard-remote-Cd9kIiSG.js → onboard-remote-DD3wt16B.js} +1 -1
  153. package/dist/{onboard-skills-CC2CV5Er.js → onboard-skills-dmWPtzui.js} +2 -2
  154. package/dist/{onboard-skills-DRICcBwa.js → onboard-skills-kU_Yop1T.js} +2 -2
  155. package/dist/{onboarding-fN3GGyiv.js → onboarding-BQUTtbxF.js} +11 -11
  156. package/dist/{onboarding-Dg6nx_ph.js → onboarding-CfG_bJab.js} +11 -11
  157. package/dist/{onboarding.finalize--MZAe4B0.js → onboarding.finalize-Dv8-c9UZ.js} +42 -42
  158. package/dist/{onboarding.finalize-CBE2mBQQ.js → onboarding.finalize-DycOefUd.js} +40 -40
  159. package/dist/{onboarding.gateway-config-DTWQ-Bqq.js → onboarding.gateway-config-LqxG8IjE.js} +5 -5
  160. package/dist/{onboarding.gateway-config-Dj68bVBt.js → onboarding.gateway-config-dLlNI0HQ.js} +5 -5
  161. package/dist/{openai-model-default-WqcGxyFM.js → openai-model-default-C33ovcE8.js} +2 -2
  162. package/dist/{openai-model-default-DAwnTUcK.js → openai-model-default-Ct3kMOUH.js} +2 -2
  163. package/dist/{outbound-BIOChOHt.js → outbound-BdTCdEPw.js} +1 -1
  164. package/dist/{outbound-wnv03tb3.js → outbound-BfHd69Dr.js} +1 -1
  165. package/dist/{outbound-DL8bdXlZ.js → outbound-DHoZh3-b.js} +1 -1
  166. package/dist/{outbound-Bt8rj9kO.js → outbound-neBb4qTL.js} +1 -1
  167. package/dist/{pairing-cli-DSM82gJG.js → pairing-cli-CG57JnkE.js} +4 -4
  168. package/dist/{pairing-cli-HDWwcqjZ.js → pairing-cli-DOtEC7pl.js} +4 -4
  169. package/dist/{pairing-labels-D1HDboV2.js → pairing-labels-BScqzHEx.js} +1 -1
  170. package/dist/{pairing-labels-DyXoD1DS.js → pairing-labels-DwceB1dG.js} +1 -1
  171. package/dist/{pairing-store-CK726Dzq.js → pairing-store-BRM-hV6H.js} +1 -1
  172. package/dist/{pairing-store-vpO8vXVN.js → pairing-store-NgA78L2g.js} +1 -1
  173. package/dist/{pi-auth-json-BloyLEwh.js → pi-auth-json-BVcOA3t8.js} +1 -1
  174. package/dist/{pi-auth-json-LXkL5WS_.js → pi-auth-json-CnvkCEt-.js} +1 -1
  175. package/dist/{pi-auth-json-CCaxCywz.js → pi-auth-json-RXOlh8ar.js} +1 -1
  176. package/dist/{pi-auth-json-zHckislA.js → pi-auth-json-wOW5rGEs.js} +1 -1
  177. package/dist/{pi-embedded-helpers-Dij3O6ox.js → pi-embedded-helpers-Bhi5wJBG.js} +6 -6
  178. package/dist/{pi-embedded-helpers-BgdB5kvy.js → pi-embedded-helpers-BqeG6ogg.js} +1 -1
  179. package/dist/{pi-embedded-helpers-BgRcgoC9.js → pi-embedded-helpers-CU7jP5wD.js} +6 -6
  180. package/dist/{pi-embedded-helpers-DA4liAIZ.js → pi-embedded-helpers-DaWb-3Gv.js} +1 -1
  181. package/dist/{pi-embedded-Ckr9dJ_g.js → pi-embedded-lpIsgmb9.js} +49 -45
  182. package/dist/{pi-tools.policy-DRWb_Cax.js → pi-tools.policy-DN0wUEFa.js} +2 -2
  183. package/dist/{pi-tools.policy-DxNwL7Dl.js → pi-tools.policy-jD4uEUBo.js} +2 -2
  184. package/dist/{plugin-auto-enable-CP0nONRL.js → plugin-auto-enable-Dcki5Acl.js} +1 -1
  185. package/dist/{plugin-auto-enable-D6ENR3Xg.js → plugin-auto-enable-hvfjAaew.js} +1 -1
  186. package/dist/{plugin-registry-SUa2FFIj.js → plugin-registry-1jm5tMNl.js} +2 -2
  187. package/dist/{plugin-registry-Bzz7mUyl.js → plugin-registry-BtHWHT4p.js} +2 -2
  188. package/dist/plugin-sdk/{accounts-BToL3HlP.js → accounts-BtaOa4z_.js} +1 -1
  189. package/dist/plugin-sdk/{accounts-D9zGZU5t.js → accounts-Ddm33hQm.js} +3 -3
  190. package/dist/plugin-sdk/{accounts-Dtszw3Zn.js → accounts-s-AdhXVR.js} +1 -1
  191. package/dist/plugin-sdk/{active-listener-BRYwA2Ic.js → active-listener-BgwYQkdI.js} +1 -1
  192. package/dist/plugin-sdk/{agent-scope-C3gMMKCU.js → agent-scope-CYYpcO9W.js} +2 -2
  193. package/dist/plugin-sdk/{api-key-rotation-LTEeykrm.js → api-key-rotation-DGJZ8SVa.js} +1 -1
  194. package/dist/plugin-sdk/{audio-preflight-BacDFPyc.js → audio-preflight-BG_wJSnx.js} +24 -24
  195. package/dist/plugin-sdk/{bindings-BbwoUGPx.js → bindings-C7hRtgYW.js} +2 -2
  196. package/dist/plugin-sdk/{channel-activity-Ji7f0gqq.js → channel-activity-DoC1xtDu.js} +1 -1
  197. package/dist/plugin-sdk/{channel-web-DRabhx1e.js → channel-web-D8iVDOP9.js} +22 -22
  198. package/dist/plugin-sdk/{chrome-BMimuhgP.js → chrome-D5HOVhVd.js} +3 -3
  199. package/dist/plugin-sdk/{chunk-jvk9axTQ.js → chunk-Dw2XBYXv.js} +1 -1
  200. package/dist/plugin-sdk/{command-format-DSdvQ_M5.js → command-format-GKSevep4.js} +1 -1
  201. package/dist/plugin-sdk/{commands-registry-C9W8UWBh.js → commands-registry-Be2qTyJK.js} +4 -4
  202. package/dist/plugin-sdk/{config-DdA6JiyD.js → config-B0RNG4KH.js} +9 -9
  203. package/dist/plugin-sdk/{deliver-Bxa1-mj5.js → deliver-BgipoVt6.js} +10 -10
  204. package/dist/plugin-sdk/{diagnostic-EyuCSUXO.js → diagnostic-W5975qL9.js} +1 -1
  205. package/dist/plugin-sdk/{image-aq-JAobP.js → image-F536ZrNo.js} +4 -4
  206. package/dist/plugin-sdk/{image-ops-Bnp6LXEx.js → image-ops-BlQR__MN.js} +1 -1
  207. package/dist/plugin-sdk/index.js +54 -54
  208. package/dist/plugin-sdk/{ir-Fb3qpcis.js → ir-BJ6BHE5b.js} +4 -4
  209. package/dist/plugin-sdk/{local-roots-Ckk1QfzI.js → local-roots-BHLNSI8U.js} +3 -3
  210. package/dist/plugin-sdk/{login-qr-D5vJo1fy.js → login-qr-DnVmgDSL.js} +9 -9
  211. package/dist/plugin-sdk/{login-CHgiUvI_.js → login-zRvF566v.js} +7 -7
  212. package/dist/plugin-sdk/{manager-CJXUXj6F.js → manager-UQQc8UDq.js} +8 -8
  213. package/dist/plugin-sdk/{manifest-registry-B3ugY9-f.js → manifest-registry-CPnHl_K3.js} +1 -1
  214. package/dist/plugin-sdk/{markdown-tables-Dfaqilz6.js → markdown-tables-BoYFajMu.js} +1 -1
  215. package/dist/plugin-sdk/{message-channel-BdI5Ra9S.js → message-channel-COTAJzHd.js} +1 -1
  216. package/dist/plugin-sdk/{model-selection-DduIg_Yt.js → model-selection-Bbs4XGPG.js} +71 -4
  217. package/dist/plugin-sdk/{outbound-CD38Hxn9.js → outbound-ComvEv1j.js} +7 -7
  218. package/dist/plugin-sdk/{outbound-attachment-DJ3CI92h.js → outbound-attachment-CqhMcNuS.js} +2 -2
  219. package/dist/plugin-sdk/{pi-auth-json-CcR0OJ6f.js → pi-auth-json-B_aZna6j.js} +1 -1
  220. package/dist/plugin-sdk/{pi-embedded-helpers-BPvzgLtj.js → pi-embedded-helpers-C-iQL8fR.js} +17 -17
  221. package/dist/plugin-sdk/{plugins-BbAvhC25.js → plugins-BNByVCIH.js} +4 -4
  222. package/dist/plugin-sdk/{pw-ai-fdBOQzz5.js → pw-ai-oafsM7Z6.js} +8 -8
  223. package/dist/plugin-sdk/{qmd-manager-C6GM0Qik.js → qmd-manager-BZvD_Hd3.js} +4 -4
  224. package/dist/plugin-sdk/{registry--_pGht6S.js → registry-D0xTnUWt.js} +2 -2
  225. package/dist/plugin-sdk/{replies-CW_-4klO.js → replies-Df8hdWHU.js} +3 -3
  226. package/dist/plugin-sdk/{reply-Cw3shPk2.js → reply-BSU5u23A.js} +84 -80
  227. package/dist/plugin-sdk/{reply-prefix-BHuV5t70.js → reply-prefix-uxfMZW4p.js} +1 -1
  228. package/dist/plugin-sdk/{resolve-outbound-target-BkCUbYGV.js → resolve-outbound-target-BiyAyTWz.js} +2 -2
  229. package/dist/plugin-sdk/{resolve-route-D3JH_D2N.js → resolve-route-B3CCBumQ.js} +3 -3
  230. package/dist/plugin-sdk/{retry-ilSJqnz9.js → retry-CwQ_iIj8.js} +1 -1
  231. package/dist/plugin-sdk/{runner-BQJ7x06O.js → runner-BlEQTSlO.js} +9 -9
  232. package/dist/plugin-sdk/{send-HKy51Hz_.js → send-4CJD3HN9.js} +10 -10
  233. package/dist/plugin-sdk/{send-Cz_FQ8Ao.js → send-BGYE1Ojf.js} +10 -10
  234. package/dist/plugin-sdk/{send-DG6c7BpZ.js → send-DSaRu7CO.js} +6 -6
  235. package/dist/plugin-sdk/{send-Xy1L54q4.js → send-DjUL-5e8.js} +7 -7
  236. package/dist/plugin-sdk/{send-C4t6h9-o.js → send-NmhuhIk0.js} +6 -6
  237. package/dist/plugin-sdk/{session-BUzIlHr9.js → session-CrxOeAtT.js} +4 -4
  238. package/dist/plugin-sdk/{skill-commands-D-rpF3bM.js → skill-commands-DSDv-F1f.js} +5 -5
  239. package/dist/plugin-sdk/{skills-B1GeRYlu.js → skills-_yTP47Cd.js} +7 -7
  240. package/dist/plugin-sdk/{sqlite-Cq_7Cg4E.js → sqlite-CxAR5ttJ.js} +1 -1
  241. package/dist/plugin-sdk/{store-Do3t33-c.js → store-BdrNabcU.js} +2 -2
  242. package/dist/plugin-sdk/{subsystem-Coz2AgU8.js → subsystem-B2uDN3TV.js} +1 -1
  243. package/dist/plugin-sdk/{tables-DR0NmBeH.js → tables-DNwXwNFa.js} +1 -1
  244. package/dist/plugin-sdk/{target-errors-B7YyMnIi.js → target-errors-Paro1BjP.js} +2 -2
  245. package/dist/plugin-sdk/{thinking-DCNUIAHY.js → thinking-CXqf7WTe.js} +5 -5
  246. package/dist/plugin-sdk/{tokens-CWMflosr.js → tokens-bC3UVmVH.js} +1 -1
  247. package/dist/plugin-sdk/{tool-images-D7Lno-TE.js → tool-images-HJ2sfZDV.js} +2 -2
  248. package/dist/plugin-sdk/{tool-loop-detection-BAUvBvAO.js → tool-loop-detection-Dthxc7SC.js} +2 -2
  249. package/dist/plugin-sdk/web-C9dYYAlm.js +66 -0
  250. package/dist/plugin-sdk/{whatsapp-actions-CZLagx0h.js → whatsapp-actions-C_Yw2LhH.js} +21 -21
  251. package/dist/{plugins-cli-qG50__1A.js → plugins-cli-DZAESODm.js} +35 -35
  252. package/dist/{plugins-cli-DwtoU3xk.js → plugins-cli-uIEn-Rls.js} +36 -36
  253. package/dist/{program-BDspObZY.js → program-BDFBNGBK.js} +42 -42
  254. package/dist/{program-context-BqUFQnhR.js → program-context-CIIYbXwz.js} +38 -38
  255. package/dist/{prompt-select-styled-C7DydfxH.js → prompt-select-styled-C5haNrfL.js} +17 -17
  256. package/dist/{prompt-select-styled-CRUuzDrg.js → prompt-select-styled-Drqp3Q79.js} +17 -17
  257. package/dist/{provider-auth-helpers-D60nbSLq.js → provider-auth-helpers-C90hxnuP.js} +4 -4
  258. package/dist/{provider-auth-helpers-CEYCb2mJ.js → provider-auth-helpers-rSnpzVFU.js} +4 -4
  259. package/dist/{push-apns-B5txhDVi.js → push-apns-DhAfcmF5.js} +1 -1
  260. package/dist/{push-apns-CoG1P_P0.js → push-apns-ze6w0evQ.js} +1 -1
  261. package/dist/{pw-ai-DQohWnzT.js → pw-ai-BeOKbmWW.js} +3 -3
  262. package/dist/{pw-ai-BCSFVeD5.js → pw-ai-P5lOraHd.js} +3 -3
  263. package/dist/{pw-ai--LDjnyuN.js → pw-ai-ePWNGOSp.js} +3 -3
  264. package/dist/{pw-ai-BO5cSmwD.js → pw-ai-seGb-ko0.js} +3 -3
  265. package/dist/{qr-cli-CejYwqsj.js → qr-cli-BIl334kM.js} +2 -2
  266. package/dist/{qr-cli-XttU2KOR.js → qr-cli-CGO65wLz.js} +2 -2
  267. package/dist/{register.agent-CopGIf9e.js → register.agent-BirwyJVS.js} +44 -44
  268. package/dist/{register.agent-BY_Df_Me.js → register.agent-Bpm5Fh13.js} +46 -46
  269. package/dist/{register.configure-Bu_XKu7Z.js → register.configure-BQet1kco.js} +49 -49
  270. package/dist/{register.configure-CoYQhQBT.js → register.configure-C5UDp3N5.js} +48 -48
  271. package/dist/{register.maintenance-4Q3E_gqv.js → register.maintenance-DYkT5jnV.js} +45 -45
  272. package/dist/{register.maintenance-DhnICgeT.js → register.maintenance-UfVK3mjx.js} +47 -47
  273. package/dist/{register.message-dd1xYBZT.js → register.message-C3SzLAgk.js} +35 -35
  274. package/dist/{register.message-DZCCEK01.js → register.message-CKq6NCSm.js} +36 -36
  275. package/dist/{register.onboard-e8L_UxR4.js → register.onboard-B9a9EHLC.js} +44 -44
  276. package/dist/{register.onboard-Bfz-EJGb.js → register.onboard-D9Cm7LZb.js} +43 -43
  277. package/dist/{register.setup-C5CZKKAB.js → register.setup-ybjh7_q_.js} +43 -43
  278. package/dist/{register.setup-DuU3Ywi-.js → register.setup-ycd7a2ur.js} +44 -44
  279. package/dist/{register.status-health-sessions-jeiqtgl7.js → register.status-health-sessions-2QNhX3pX.js} +39 -39
  280. package/dist/{register.status-health-sessions-Dvj4mlom.js → register.status-health-sessions-BryhDGnZ.js} +41 -41
  281. package/dist/{register.subclis-DD6G0dov.js → register.subclis-Dxm9Un5O.js} +28 -28
  282. package/dist/{replies-CBS0567j.js → replies-B-xLfipR.js} +1 -1
  283. package/dist/{replies-Bo49QlAg.js → replies-BQj0lY4W.js} +1 -1
  284. package/dist/{replies-BMqtgBhh.js → replies-DFjjnJ3D.js} +1 -1
  285. package/dist/{replies-CfyMcfoY.js → replies-j1a_GMFx.js} +1 -1
  286. package/dist/{reply-XaXqDK9F.js → reply-WdyooxLc.js} +57 -53
  287. package/dist/{routes-BAZTZNuQ.js → routes-CRgMkkG0.js} +3 -3
  288. package/dist/{routes-CMvgBDOg.js → routes-K5Fj1g7Q.js} +3 -3
  289. package/dist/{rpc-QHo-8pCM.js → rpc-BWtktGFm.js} +1 -1
  290. package/dist/{rpc-N1nf_c1A.js → rpc-P3TWbEaf.js} +1 -1
  291. package/dist/{run-main-BrUOBCsG.js → run-main-CijnQAcO.js} +54 -54
  292. package/dist/{runner-DRv0uCK_.js → runner-B59C4Wdw.js} +5 -5
  293. package/dist/{runner-cJ3m-bxK.js → runner-B97ZHSOs.js} +5 -5
  294. package/dist/{runner-Dd2bbNGV.js → runner-DOVS95oz.js} +5 -5
  295. package/dist/{runner-Ct0suQrd.js → runner-ef6nFMvq.js} +5 -5
  296. package/dist/{sandbox-DY75ZyJD.js → sandbox-DiPHRUDK.js} +5 -5
  297. package/dist/{sandbox-B6N8cV4d.js → sandbox-LreyCjoX.js} +5 -5
  298. package/dist/{sandbox-cli-BDM_QM_f.js → sandbox-cli-B7p0Hp3r.js} +7 -7
  299. package/dist/{sandbox-cli-DwzaNjIJ.js → sandbox-cli-Cb7iGM1l.js} +7 -7
  300. package/dist/{security-cli-CSMUEGPK.js → security-cli-DALRwIjj.js} +12 -12
  301. package/dist/{security-cli-B-4J6enu.js → security-cli-DqVGrNy5.js} +12 -12
  302. package/dist/{send-CQVnyJyF.js → send-B3j7hxxO.js} +1 -1
  303. package/dist/{send-DVm0du0_.js → send-BMoIcGXM.js} +1 -1
  304. package/dist/{send-DSnJ503J.js → send-BZZ4_x4c.js} +1 -1
  305. package/dist/{send-B986asZ7.js → send-BhKkBArw.js} +2 -2
  306. package/dist/{send-B9EinkUl.js → send-BlSnzj96.js} +1 -1
  307. package/dist/{send-CC9V8V81.js → send-C2rS0q26.js} +1 -1
  308. package/dist/{send-9SapUCg7.js → send-CXuAFSJP.js} +1 -1
  309. package/dist/{send-BzKHnf3b.js → send-CkIwAjAB.js} +1 -1
  310. package/dist/{send-BNnv8GtF.js → send-CmP1lu-b.js} +1 -1
  311. package/dist/{send-B7HhiTdx.js → send-Co9egPXG.js} +1 -1
  312. package/dist/{send-CZemAajS.js → send-CuuFC05i.js} +1 -1
  313. package/dist/{send-DLWaX69q.js → send-DAbxpmwe.js} +1 -1
  314. package/dist/{send-DI9Vhnmw.js → send-Dc09jNH2.js} +1 -1
  315. package/dist/{send-B3RdXvjC.js → send-Djb958bI.js} +2 -2
  316. package/dist/{send-DaBsat3L.js → send-Dkhr43v-.js} +2 -2
  317. package/dist/{send-DlQtxlG_.js → send-DlsuAlpS.js} +2 -2
  318. package/dist/{send-RfIXG6-I.js → send-EHiP2shE.js} +1 -1
  319. package/dist/{send-BhJZ16uV.js → send-brznOT92.js} +1 -1
  320. package/dist/{send-Bm4ULEzh.js → send-cM1DDAnI.js} +1 -1
  321. package/dist/{send-DdLJtOjk.js → send-cpH_yqHj.js} +1 -1
  322. package/dist/{server-context-CCBZN8a0.js → server-context-2Vn21Z8T.js} +5 -5
  323. package/dist/{server-context-DK-T2rBR.js → server-context-B4j3P5K6.js} +5 -5
  324. package/dist/{server-methods-Bu1RjLe6.js → server-methods-Db4Zr1Uh.js} +17 -17
  325. package/dist/{server-methods-0ksPFnev.js → server-methods-DcQq8SQr.js} +18 -18
  326. package/dist/{server-node-events-DZAN3hWE.js → server-node-events-C_v8BnlG.js} +35 -35
  327. package/dist/{server-node-events-DCbzFyQF.js → server-node-events-CaL-a5Ml.js} +36 -36
  328. package/dist/{session-C1cn-CxQ.js → session-BddH7QoH.js} +1 -1
  329. package/dist/{session-CUeezgP1.js → session-C33JrUuB.js} +1 -1
  330. package/dist/{session-v_9AVJhH.js → session-DLof5lJz.js} +1 -1
  331. package/dist/{session-DsJGtM7g.js → session-L_LqHxcV.js} +1 -1
  332. package/dist/{session-utils-B8Fif925.js → session-utils-Ch5rIQbz.js} +4 -4
  333. package/dist/{sessions-Cpgnq0pA.js → sessions-C8h-0oVK.js} +2 -2
  334. package/dist/{sessions-DfbhRBHR.js → sessions-RfQP0zIn.js} +4 -4
  335. package/dist/{sessions-Cfa6JEB3.js → sessions-oOAi4H3s.js} +2 -2
  336. package/dist/{shared-73T9fyuK.js → shared-CF9jxSQs.js} +2 -2
  337. package/dist/{shared-DdxPzyOH.js → shared-DxlCJeK_.js} +2 -2
  338. package/dist/{skill-commands-C8BcwE33.js → skill-commands-BVeV_mpq.js} +1 -1
  339. package/dist/{skill-commands-Cxw-jNxU.js → skill-commands-CIkcmGzD.js} +1 -1
  340. package/dist/{skill-commands-D8RiKDh0.js → skill-commands-Cg_ajTBC.js} +1 -1
  341. package/dist/{skill-commands-BiPrghRt.js → skill-commands-eaynYuR6.js} +1 -1
  342. package/dist/{skills-cli-uEA9KXOO.js → skills-cli-Cf7sLA5e.js} +2 -2
  343. package/dist/{skills-cli-DXkx4vNV.js → skills-cli-o6AfvfLb.js} +2 -2
  344. package/dist/{status-DOTlXdcN.js → status-B17aJsTi.js} +11 -11
  345. package/dist/{status-CiHkFbIh.js → status-BSd4QQZY.js} +2 -2
  346. package/dist/{status-IWqSLXLR.js → status-BddhZm3Y.js} +2 -2
  347. package/dist/{status-qkmUAeWo.js → status-DALZR6Rh.js} +12 -12
  348. package/dist/{status.update-C2GN8s9C.js → status.update-DEn_vM2K.js} +1 -1
  349. package/dist/{status.update-CG0ciGaf.js → status.update-DFx1sm1w.js} +1 -1
  350. package/dist/{subagent-registry-DCoU9xIE.js → subagent-registry-DLyi3sgU.js} +58 -54
  351. package/dist/{system-cli-LFURKpwS.js → system-cli-BfQs2bCu.js} +4 -4
  352. package/dist/{system-cli-DY7ov1OT.js → system-cli-DjQq8evF.js} +4 -4
  353. package/dist/{systemd-hints-DT6cDIM2.js → systemd-hints-CitUdPEJ.js} +1 -1
  354. package/dist/{systemd-hints-xYZbFny_.js → systemd-hints-nyPn6fDv.js} +1 -1
  355. package/dist/{tui-C_5HG495.js → tui-D1DDOQ5b.js} +5 -5
  356. package/dist/{tui-BH7JwqvB.js → tui-D1JLyFne.js} +5 -5
  357. package/dist/{tui-cli-CJnfmuxq.js → tui-cli-9g2Fi07C.js} +11 -11
  358. package/dist/{tui-cli-B65PKZMj.js → tui-cli-D9jJkoxe.js} +11 -11
  359. package/dist/{unified-runner-CApgXtVC.js → unified-runner-Dxj9fcQO.js} +49 -45
  360. package/dist/{update-cli-D5_jTEJv.js → update-cli-C0D0gizK.js} +48 -48
  361. package/dist/{update-cli-Dxb3pUyu.js → update-cli-CqLTiVU8.js} +50 -50
  362. package/dist/{update-runner-FhW6n-Nv.js → update-runner-DRxTynZP.js} +1 -1
  363. package/dist/{update-runner-BhVsdpxm.js → update-runner-DnEVHl6G.js} +1 -1
  364. package/dist/{web-Dpb_tv_j.js → web-1apyUJY6.js} +38 -38
  365. package/dist/{web-ConlA_Ch.js → web-BTM-eHmT.js} +38 -38
  366. package/dist/{web-C_jJEyUH.js → web-CpLsElI8.js} +22 -22
  367. package/dist/{web-CthDLVSz.js → web-DRQN-o-U.js} +22 -22
  368. package/dist/{webhooks-cli-CsRZl0_H.js → webhooks-cli-Bgc_FCJP.js} +2 -2
  369. package/dist/{webhooks-cli-BRxe4uCg.js → webhooks-cli-CVYW5w5y.js} +2 -2
  370. package/dist/{whatsapp-actions-BylecqEa.js → whatsapp-actions-BA9n6KQd.js} +3 -3
  371. package/dist/{whatsapp-actions-7YbV2-Fv.js → whatsapp-actions-BWd0ZXyg.js} +3 -3
  372. package/dist/{whatsapp-actions-ChO_shrk.js → whatsapp-actions-DqA8SCfH.js} +3 -3
  373. package/dist/{whatsapp-actions-mBarFBeS.js → whatsapp-actions-doS0R248.js} +3 -3
  374. package/dist/{with-timeout-Cgi3TwWN.js → with-timeout-Cei98OCY.js} +1 -1
  375. package/dist/{with-timeout-CtVdu_1U.js → with-timeout-DLKss9E3.js} +1 -1
  376. package/extensions/bluebubbles/package.json +1 -1
  377. package/extensions/copilot-proxy/package.json +1 -1
  378. package/extensions/diagnostics-otel/package.json +1 -1
  379. package/extensions/discord/package.json +1 -1
  380. package/extensions/feishu/package.json +1 -1
  381. package/extensions/google-antigravity-auth/package.json +1 -1
  382. package/extensions/google-gemini-cli-auth/package.json +1 -1
  383. package/extensions/googlechat/package.json +1 -1
  384. package/extensions/imessage/package.json +1 -1
  385. package/extensions/irc/package.json +1 -1
  386. package/extensions/learning-loop/package.json +1 -1
  387. package/extensions/line/package.json +1 -1
  388. package/extensions/llm-task/package.json +1 -1
  389. package/extensions/matrix/CHANGELOG.md +12 -0
  390. package/extensions/matrix/package.json +1 -1
  391. package/extensions/mattermost/package.json +1 -1
  392. package/extensions/memory-core/package.json +1 -1
  393. package/extensions/memory-lancedb/package.json +1 -1
  394. package/extensions/minimax-portal-auth/package.json +1 -1
  395. package/extensions/msteams/CHANGELOG.md +12 -0
  396. package/extensions/msteams/package.json +1 -1
  397. package/extensions/nextcloud-talk/package.json +1 -1
  398. package/extensions/nostr/CHANGELOG.md +12 -0
  399. package/extensions/nostr/package.json +1 -1
  400. package/extensions/open-prose/package.json +1 -1
  401. package/extensions/outlook/package.json +1 -1
  402. package/extensions/pipeline/package.json +1 -1
  403. package/extensions/signal/package.json +1 -1
  404. package/extensions/slack/package.json +1 -1
  405. package/extensions/telegram/package.json +1 -1
  406. package/extensions/tlon/package.json +1 -1
  407. package/extensions/twitch/CHANGELOG.md +12 -0
  408. package/extensions/twitch/package.json +1 -1
  409. package/extensions/voice-call/CHANGELOG.md +12 -0
  410. package/extensions/voice-call/package.json +1 -1
  411. package/extensions/whatsapp/package.json +1 -1
  412. package/extensions/zalo/CHANGELOG.md +12 -0
  413. package/extensions/zalo/package.json +1 -1
  414. package/extensions/zalouser/CHANGELOG.md +12 -0
  415. package/extensions/zalouser/package.json +1 -1
  416. package/package.json +1 -1
  417. package/dist/plugin-sdk/web-CH43nBP0.js +0 -66
@@ -4,20 +4,20 @@ import "./registry-Cja8eT7G.js";
4
4
  import { c as formatLocalIsoWithOffset, m as clearActiveProgressLine } from "./subsystem-D9vIQve0.js";
5
5
  import "./exec-CWkblSrI.js";
6
6
  import "./agent-scope-CgUHAtCo.js";
7
- import "./model-selection-CyFvYcRt.js";
7
+ import "./model-selection-C-eIBa0H.js";
8
8
  import "./github-copilot-token-DAu1a6BX.js";
9
9
  import { t as formatCliCommand } from "./command-format-COaS-S7B.js";
10
10
  import "./boolean-BsqeuxE6.js";
11
11
  import "./env-DPCHYPeH.js";
12
12
  import "./message-channel-aT-I_DTX.js";
13
- import "./config-Dz95lSBW.js";
13
+ import "./config-Cz_ObCzY.js";
14
14
  import "./manifest-registry-C4BxOMWX.js";
15
15
  import "./client-B8xmq-Pw.js";
16
- import { t as buildGatewayConnectionDetails } from "./call-CX0cs106.js";
16
+ import { t as buildGatewayConnectionDetails } from "./call-CtiVeyeQ.js";
17
17
  import "./pairing-token-CX3NN_qj.js";
18
18
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
19
19
  import "./progress-jIePzvGA.js";
20
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-WM-HXUbl.js";
20
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-D1Oid7kh.js";
21
21
  import { t as parseLogLine } from "./parse-log-line-DvYyTYq4.js";
22
22
  import { setTimeout } from "node:timers/promises";
23
23
 
@@ -1,18 +1,18 @@
1
1
  import { Dt as theme, Et as isRich, Tt as colorize, p as formatLocalIsoWithOffset, y as clearActiveProgressLine } from "./entry.js";
2
- import "./auth-profiles-Q1xTr5SX.js";
2
+ import "./auth-profiles-BBniPGeS.js";
3
3
  import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
4
4
  import "./exec-CBKBIMpA.js";
5
5
  import "./agent-scope-D-jRCY0d.js";
6
6
  import "./github-copilot-token-DuFIqfeC.js";
7
7
  import "./manifest-registry-Czr39pxG.js";
8
- import "./config-BNTB6qj8.js";
8
+ import "./config-XZ7orePK.js";
9
9
  import "./client-qUlxXXVJ.js";
10
- import { t as buildGatewayConnectionDetails } from "./call-DeCQ2DhS.js";
10
+ import { t as buildGatewayConnectionDetails } from "./call-ple9aZCT.js";
11
11
  import "./message-channel-C9dERklz.js";
12
12
  import "./pairing-token-Byh6drgn.js";
13
13
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
14
14
  import "./progress-BAHiAaDW.js";
15
- import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BWTK7g8B.js";
15
+ import { n as callGatewayFromCli, t as addGatewayClientOptions } from "./gateway-rpc-BPldxGhH.js";
16
16
  import { t as parseLogLine } from "./parse-log-line-C6yJx969.js";
17
17
  import { setTimeout } from "node:timers/promises";
18
18
 
@@ -3,12 +3,12 @@ import { s as resolveStateDir } from "./paths-CE7eVGHg.js";
3
3
  import { C as clampNumber, P as resolveUserPath, S as clampInt, V as truncateUtf16Safe } from "./registry-BhoUuugi.js";
4
4
  import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-Cbl5pNe1.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-CZixfwU8.js";
6
- import { T as resolveApiKeyForProvider, w as requireApiKey } from "./model-selection-B8QKPmTL.js";
6
+ import { T as resolveApiKeyForProvider, w as requireApiKey } from "./model-selection-vHAQ4r1b.js";
7
7
  import { t as isTruthyEnvValue } from "./env-CQ_DQOwT.js";
8
8
  import { n as formatErrorMessage } from "./errors-CPfngF0S.js";
9
9
  import { o as resolveSessionTranscriptsDirForAgent } from "./paths-DkMamAQ-.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-C8Tqw4td.js";
11
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-ClVyOv9p.js";
11
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-DVcG-42i.js";
12
12
  import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-BNh23mUR.js";
13
13
  import { n as retryAsync } from "./retry-QGp0jvVi.js";
14
14
  import path from "node:path";
@@ -3,12 +3,12 @@ import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
3
3
  import { E as truncateUtf16Safe, a as clampNumber, i as clampInt, y as resolveUserPath } from "./utils-B-0b9bGM.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, r as resolveAgentConfig } from "./agent-scope-CgUHAtCo.js";
6
- import { K as requireApiKey, q as resolveApiKeyForProvider } from "./model-selection-CyFvYcRt.js";
6
+ import { K as requireApiKey, q as resolveApiKeyForProvider } from "./model-selection-C-eIBa0H.js";
7
7
  import { t as isTruthyEnvValue } from "./env-DPCHYPeH.js";
8
8
  import { n as formatErrorMessage } from "./errors-BF3TeRH2.js";
9
9
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-CyhzMxFA.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-DdnTeoR1.js";
11
- import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CzuPlV2t.js";
11
+ import { n as executeWithApiKeyRotation, r as parseGeminiAuth, t as collectProviderApiKeysForExecution } from "./api-key-rotation-CI0CtTtl.js";
12
12
  import { _ as statRegularFile, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, g as isFileMissingError, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath } from "./sqlite-Dx3J_aSE.js";
13
13
  import { n as retryAsync } from "./retry-BoS4e4X_.js";
14
14
  import fs from "node:fs";
@@ -4,11 +4,11 @@ import { I as resolveUserPath, T as clampNumber, U as truncateUtf16Safe, w as cl
4
4
  import { n as resolveAgentConfig, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-CpEJ0B88.js";
5
5
  import { t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
6
6
  import { o as resolveSessionTranscriptsDirForAgent } from "./paths-CbQV9WEg.js";
7
- import { B as resolveApiKeyForProvider, z as requireApiKey } from "./auth-profiles-q3HjbboY.js";
7
+ import { B as resolveApiKeyForProvider, z as requireApiKey } from "./auth-profiles-C2vj6htZ.js";
8
8
  import { t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
9
9
  import { n as formatErrorMessage } from "./errors-XIsvXeC-.js";
10
10
  import { n as onSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
11
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BkLFtndu.js";
11
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-BefM10YB.js";
12
12
  import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-BHWvOATS.js";
13
13
  import { n as retryAsync } from "./retry-B-y5suGA.js";
14
14
  import path from "node:path";
@@ -1,11 +1,11 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { G as clampInt, K as clampNumber, Yt as resolveStateDir, n as isTruthyEnvValue, o as createSubsystemLogger, ot as resolveUserPath, pt as truncateUtf16Safe } from "./entry.js";
3
- import { bt as requireApiKey, xt as resolveApiKeyForProvider } from "./auth-profiles-Q1xTr5SX.js";
3
+ import { bt as requireApiKey, xt as resolveApiKeyForProvider } from "./auth-profiles-BBniPGeS.js";
4
4
  import { c as resolveAgentWorkspaceDir, i as resolveAgentDir, r as resolveAgentConfig } from "./agent-scope-D-jRCY0d.js";
5
5
  import { n as formatErrorMessage } from "./errors-Ba_ROWsq.js";
6
6
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-DNdWAq7b.js";
7
7
  import { n as onSessionTranscriptUpdate } from "./transcript-events-D5O01TlD.js";
8
- import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CgCIvUpe.js";
8
+ import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-DEakvf-D.js";
9
9
  import { _ as isFileMissingError, a as buildFileEntry, c as ensureDir, d as listMemoryFiles, f as normalizeExtraMemoryPaths, h as runWithConcurrency, i as sessionPathForFile, l as hashText, m as remapChunkLines, n as buildSessionEntry, o as chunkMarkdown, p as parseEmbedding, r as listSessionFilesForAgent, s as cosineSimilarity, t as requireNodeSqlite, u as isMemoryPath, v as statRegularFile } from "./sqlite-CQGamAhm.js";
10
10
  import { n as retryAsync } from "./retry-C4Q_VPOo.js";
11
11
  import os from "node:os";
@@ -1,12 +1,12 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Dt as theme, Et as isRich, Tt as colorize, Yt as resolveStateDir, _ as defaultRuntime, ct as shortenHomeInString, lt as shortenHomePath, o as createSubsystemLogger, ot as resolveUserPath, xt as setVerbose } from "./entry.js";
3
- import { xt as resolveApiKeyForProvider } from "./auth-profiles-Q1xTr5SX.js";
3
+ import { xt as resolveApiKeyForProvider } from "./auth-profiles-BBniPGeS.js";
4
4
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
5
- import { C as parseDurationMs, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-BNTB6qj8.js";
5
+ import { C as parseDurationMs, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-XZ7orePK.js";
6
6
  import { n as formatErrorMessage } from "./errors-Ba_ROWsq.js";
7
7
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-DNdWAq7b.js";
8
8
  import { t as splitShellArgs } from "./shell-argv-DjSugwgF.js";
9
- import { n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-Vb2F7vQq.js";
9
+ import { n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-MZfhMvm3.js";
10
10
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths } from "./sqlite-CQGamAhm.js";
11
11
  import { t as formatDocsLink } from "./links-DlWpl9Yv.js";
12
12
  import { r as withManager } from "./cli-utils-CCaEbxAz.js";
@@ -224,7 +224,7 @@ async function getMemorySearchManager(params) {
224
224
  const wrapper = new FallbackMemoryManager({
225
225
  primary,
226
226
  fallbackFactory: async () => {
227
- const { MemoryIndexManager } = await import("./manager-Vb2F7vQq.js").then((n) => n.t);
227
+ const { MemoryIndexManager } = await import("./manager-MZfhMvm3.js").then((n) => n.t);
228
228
  return await MemoryIndexManager.get(params);
229
229
  }
230
230
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -237,7 +237,7 @@ async function getMemorySearchManager(params) {
237
237
  }
238
238
  }
239
239
  try {
240
- const { MemoryIndexManager } = await import("./manager-Vb2F7vQq.js").then((n) => n.t);
240
+ const { MemoryIndexManager } = await import("./manager-MZfhMvm3.js").then((n) => n.t);
241
241
  return { manager: await MemoryIndexManager.get(params) };
242
242
  } catch (err) {
243
243
  return {
@@ -3,13 +3,13 @@ import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
3
3
  import { B as theme, P as setVerbose, R as colorize, S as shortenHomePath, x as shortenHomeInString, y as resolveUserPath, z as isRich } from "./utils-B-0b9bGM.js";
4
4
  import { f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
5
5
  import { c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
6
- import { q as resolveApiKeyForProvider } from "./model-selection-CyFvYcRt.js";
7
- import { C as parseDurationMs, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-Dz95lSBW.js";
6
+ import { q as resolveApiKeyForProvider } from "./model-selection-C-eIBa0H.js";
7
+ import { C as parseDurationMs, i as loadConfig, l as writeConfigFile, o as readConfigFileSnapshot } from "./config-Cz_ObCzY.js";
8
8
  import { n as formatErrorMessage } from "./errors-BF3TeRH2.js";
9
9
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-CyhzMxFA.js";
10
10
  import { d as listMemoryFiles, f as normalizeExtraMemoryPaths } from "./sqlite-Dx3J_aSE.js";
11
11
  import { t as splitShellArgs } from "./shell-argv-BbiXH_xm.js";
12
- import { n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-D4LJSRyZ.js";
12
+ import { n as probeOllamaEmbeddingModels, r as resolveOllamaBaseUrl } from "./manager-B2Yd9HdF.js";
13
13
  import { t as formatDocsLink } from "./links-3i1eUga4.js";
14
14
  import { r as withManager } from "./cli-utils-DN_hM6ov.js";
15
15
  import { t as formatHelpExamples } from "./help-format-B_-M23wP.js";
@@ -226,7 +226,7 @@ async function getMemorySearchManager(params) {
226
226
  const wrapper = new FallbackMemoryManager({
227
227
  primary,
228
228
  fallbackFactory: async () => {
229
- const { MemoryIndexManager } = await import("./manager-D4LJSRyZ.js").then((n) => n.t);
229
+ const { MemoryIndexManager } = await import("./manager-B2Yd9HdF.js").then((n) => n.t);
230
230
  return await MemoryIndexManager.get(params);
231
231
  }
232
232
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -239,7 +239,7 @@ async function getMemorySearchManager(params) {
239
239
  }
240
240
  }
241
241
  try {
242
- const { MemoryIndexManager } = await import("./manager-D4LJSRyZ.js").then((n) => n.t);
242
+ const { MemoryIndexManager } = await import("./manager-B2Yd9HdF.js").then((n) => n.t);
243
243
  return { manager: await MemoryIndexManager.get(params) };
244
244
  } catch (err) {
245
245
  return {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ft as resolveSymiAgentDir, Wt as DEFAULT_CONTEXT_TOKENS, l as normalizeProviderId } from "./model-selection-CyFvYcRt.js";
2
+ import { Ft as resolveSymiAgentDir, Wt as DEFAULT_CONTEXT_TOKENS, l as normalizeProviderId } from "./model-selection-C-eIBa0H.js";
3
3
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-4uUnLc3n.js";
4
4
 
5
5
  //#region src/agents/model-alias-lines.ts
@@ -1,6 +1,6 @@
1
- import { Ft as resolveSymiAgentDir } from "./model-selection-CyFvYcRt.js";
2
- import { i as loadConfig } from "./config-Dz95lSBW.js";
3
- import { t as ensureSymiModelsJson } from "./models-config-CFFjJPe7.js";
1
+ import { Ft as resolveSymiAgentDir } from "./model-selection-C-eIBa0H.js";
2
+ import { i as loadConfig } from "./config-Cz_ObCzY.js";
3
+ import { t as ensureSymiModelsJson } from "./models-config-C7LKdahT.js";
4
4
 
5
5
  //#region src/agents/model-catalog.ts
6
6
  let modelCatalogPromise = null;
@@ -38,7 +38,7 @@ async function loadModelCatalog(params) {
38
38
  try {
39
39
  const cfg = params?.config ?? loadConfig();
40
40
  await ensureSymiModelsJson(cfg);
41
- await (await import("./pi-auth-json-zHckislA.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
41
+ await (await import("./pi-auth-json-wOW5rGEs.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
42
42
  const piSdk = await importPiSdk();
43
43
  const agentDir = resolveSymiAgentDir();
44
44
  const { join } = await import("node:path");
@@ -1,6 +1,6 @@
1
- import { T as resolveSymiAgentDir } from "./auth-profiles-Q1xTr5SX.js";
2
- import { i as loadConfig } from "./config-BNTB6qj8.js";
3
- import { t as ensureSymiModelsJson } from "./models-config-Be8DRFkB.js";
1
+ import { T as resolveSymiAgentDir } from "./auth-profiles-BBniPGeS.js";
2
+ import { i as loadConfig } from "./config-XZ7orePK.js";
3
+ import { t as ensureSymiModelsJson } from "./models-config-CPAA0Wkr.js";
4
4
 
5
5
  //#region src/agents/model-catalog.ts
6
6
  let modelCatalogPromise = null;
@@ -38,7 +38,7 @@ async function loadModelCatalog(params) {
38
38
  try {
39
39
  const cfg = params?.config ?? loadConfig();
40
40
  await ensureSymiModelsJson(cfg);
41
- await (await import("./pi-auth-json-LXkL5WS_.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
41
+ await (await import("./pi-auth-json-CnvkCEt-.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
42
42
  const piSdk = await importPiSdk();
43
43
  const agentDir = resolveSymiAgentDir();
44
44
  const { join } = await import("node:path");
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { Ct as resolveEnvApiKey, F as modelKey, Ht as DEFAULT_MODEL, L as normalizeProviderId, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, b as ensureAuthProfileStore, h as listProfilesForProvider, j as buildModelAliasIndex, k as buildAllowedModelSet, y as upsertAuthProfileWithLock, yt as getCustomProviderApiKey } from "./auth-profiles-Q1xTr5SX.js";
3
- import { n as loadModelCatalog } from "./model-catalog-DNvgFPZn.js";
4
- import { i as formatTokenK } from "./shared-DdxPzyOH.js";
2
+ import { Ct as resolveEnvApiKey, F as modelKey, Ht as DEFAULT_MODEL, L as normalizeProviderId, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, b as ensureAuthProfileStore, h as listProfilesForProvider, j as buildModelAliasIndex, k as buildAllowedModelSet, y as upsertAuthProfileWithLock, yt as getCustomProviderApiKey } from "./auth-profiles-BBniPGeS.js";
3
+ import { n as loadModelCatalog } from "./model-catalog-BkurhUo7.js";
4
+ import { i as formatTokenK } from "./shared-DxlCJeK_.js";
5
5
 
6
6
  //#region src/commands/openai-codex-model-default.ts
7
7
  const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.3-codex";
@@ -1,7 +1,7 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { At as ensureAuthProfileStore, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Tt as listProfilesForProvider, Y as resolveEnvApiKey, kt as upsertAuthProfileWithLock, l as normalizeProviderId, p as resolveConfiguredModelRef, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet } from "./model-selection-CyFvYcRt.js";
3
- import { n as loadModelCatalog } from "./model-catalog-8Son0J4O.js";
4
- import { i as formatTokenK } from "./shared-73T9fyuK.js";
2
+ import { At as ensureAuthProfileStore, G as getCustomProviderApiKey, Gt as DEFAULT_MODEL, Kt as DEFAULT_PROVIDER, Tt as listProfilesForProvider, Y as resolveEnvApiKey, kt as upsertAuthProfileWithLock, l as normalizeProviderId, p as resolveConfiguredModelRef, r as buildModelAliasIndex, s as modelKey, t as buildAllowedModelSet } from "./model-selection-C-eIBa0H.js";
3
+ import { n as loadModelCatalog } from "./model-catalog-Bkny3qg9.js";
4
+ import { i as formatTokenK } from "./shared-CF9jxSQs.js";
5
5
 
6
6
  //#region src/commands/openai-codex-model-default.ts
7
7
  const OPENAI_CODEX_DEFAULT_MODEL = "openai-codex/gpt-5.3-codex";
@@ -3572,6 +3572,66 @@ function normalizeGoogleProvider(provider) {
3572
3572
  models
3573
3573
  } : provider;
3574
3574
  }
3575
+ /**
3576
+ * Default-fill a model definition so downstream consumers (pi-ai's
3577
+ * `ModelRegistry` and streaming providers) never crash on missing
3578
+ * `cost` or `input` fields. Zod marks both as optional when parsing
3579
+ * user `symi.json`, but `pi-ai/dist/models.js` reads `model.cost.input`
3580
+ * unconditionally — a hand-rolled provider entry that omits either
3581
+ * field throws a TypeError deep in the stream path with no body, which
3582
+ * presents to the user as a fast isError=true with no useful log line.
3583
+ *
3584
+ * Defaults applied:
3585
+ * - `input` → `["text"]` (safest; image support must be explicit)
3586
+ * - `cost` → all zeros (self-hosted / free-tier assumption)
3587
+ *
3588
+ * Explicit user values are preserved. Only missing fields are filled.
3589
+ * Returns the same object reference if no change was needed so the
3590
+ * caller's dirty-check stays accurate.
3591
+ */
3592
+ function defaultFillModelDefinition(model) {
3593
+ const needsInput = !Array.isArray(model.input) || model.input.length === 0;
3594
+ const needsCost = !model.cost || typeof model.cost?.input !== "number" || typeof model.cost?.output !== "number" || typeof model.cost?.cacheRead !== "number" || typeof model.cost?.cacheWrite !== "number";
3595
+ if (!needsInput && !needsCost) return {
3596
+ model,
3597
+ mutated: false
3598
+ };
3599
+ const filled = { ...model };
3600
+ if (needsInput) filled.input = ["text"];
3601
+ if (needsCost) filled.cost = {
3602
+ input: model.cost?.input ?? 0,
3603
+ output: model.cost?.output ?? 0,
3604
+ cacheRead: model.cost?.cacheRead ?? 0,
3605
+ cacheWrite: model.cost?.cacheWrite ?? 0
3606
+ };
3607
+ return {
3608
+ model: filled,
3609
+ mutated: true
3610
+ };
3611
+ }
3612
+ function defaultFillProviderModels(provider) {
3613
+ if (!Array.isArray(provider.models) || provider.models.length === 0) return {
3614
+ provider,
3615
+ mutated: false
3616
+ };
3617
+ let anyChange = false;
3618
+ const nextModels = provider.models.map((m) => {
3619
+ const { model, mutated } = defaultFillModelDefinition(m);
3620
+ if (mutated) anyChange = true;
3621
+ return model;
3622
+ });
3623
+ if (!anyChange) return {
3624
+ provider,
3625
+ mutated: false
3626
+ };
3627
+ return {
3628
+ provider: {
3629
+ ...provider,
3630
+ models: nextModels
3631
+ },
3632
+ mutated: true
3633
+ };
3634
+ }
3575
3635
  function normalizeProviders(params) {
3576
3636
  const { providers } = params;
3577
3637
  if (!providers) return providers;
@@ -3581,6 +3641,13 @@ function normalizeProviders(params) {
3581
3641
  for (const [key, provider] of Object.entries(providers)) {
3582
3642
  const normalizedKey = key.trim();
3583
3643
  let normalizedProvider = provider;
3644
+ {
3645
+ const filled = defaultFillProviderModels(normalizedProvider);
3646
+ if (filled.mutated) {
3647
+ mutated = true;
3648
+ normalizedProvider = filled.provider;
3649
+ }
3650
+ }
3584
3651
  if (normalizedProvider.apiKey && normalizeApiKeyConfig(normalizedProvider.apiKey) !== normalizedProvider.apiKey) {
3585
3652
  mutated = true;
3586
3653
  normalizedProvider = {
@@ -3347,6 +3347,66 @@ function normalizeGoogleProvider(provider) {
3347
3347
  models
3348
3348
  } : provider;
3349
3349
  }
3350
+ /**
3351
+ * Default-fill a model definition so downstream consumers (pi-ai's
3352
+ * `ModelRegistry` and streaming providers) never crash on missing
3353
+ * `cost` or `input` fields. Zod marks both as optional when parsing
3354
+ * user `symi.json`, but `pi-ai/dist/models.js` reads `model.cost.input`
3355
+ * unconditionally — a hand-rolled provider entry that omits either
3356
+ * field throws a TypeError deep in the stream path with no body, which
3357
+ * presents to the user as a fast isError=true with no useful log line.
3358
+ *
3359
+ * Defaults applied:
3360
+ * - `input` → `["text"]` (safest; image support must be explicit)
3361
+ * - `cost` → all zeros (self-hosted / free-tier assumption)
3362
+ *
3363
+ * Explicit user values are preserved. Only missing fields are filled.
3364
+ * Returns the same object reference if no change was needed so the
3365
+ * caller's dirty-check stays accurate.
3366
+ */
3367
+ function defaultFillModelDefinition(model) {
3368
+ const needsInput = !Array.isArray(model.input) || model.input.length === 0;
3369
+ const needsCost = !model.cost || typeof model.cost?.input !== "number" || typeof model.cost?.output !== "number" || typeof model.cost?.cacheRead !== "number" || typeof model.cost?.cacheWrite !== "number";
3370
+ if (!needsInput && !needsCost) return {
3371
+ model,
3372
+ mutated: false
3373
+ };
3374
+ const filled = { ...model };
3375
+ if (needsInput) filled.input = ["text"];
3376
+ if (needsCost) filled.cost = {
3377
+ input: model.cost?.input ?? 0,
3378
+ output: model.cost?.output ?? 0,
3379
+ cacheRead: model.cost?.cacheRead ?? 0,
3380
+ cacheWrite: model.cost?.cacheWrite ?? 0
3381
+ };
3382
+ return {
3383
+ model: filled,
3384
+ mutated: true
3385
+ };
3386
+ }
3387
+ function defaultFillProviderModels(provider) {
3388
+ if (!Array.isArray(provider.models) || provider.models.length === 0) return {
3389
+ provider,
3390
+ mutated: false
3391
+ };
3392
+ let anyChange = false;
3393
+ const nextModels = provider.models.map((m) => {
3394
+ const { model, mutated } = defaultFillModelDefinition(m);
3395
+ if (mutated) anyChange = true;
3396
+ return model;
3397
+ });
3398
+ if (!anyChange) return {
3399
+ provider,
3400
+ mutated: false
3401
+ };
3402
+ return {
3403
+ provider: {
3404
+ ...provider,
3405
+ models: nextModels
3406
+ },
3407
+ mutated: true
3408
+ };
3409
+ }
3350
3410
  function normalizeProviders(params) {
3351
3411
  const { providers } = params;
3352
3412
  if (!providers) return providers;
@@ -3356,6 +3416,13 @@ function normalizeProviders(params) {
3356
3416
  for (const [key, provider] of Object.entries(providers)) {
3357
3417
  const normalizedKey = key.trim();
3358
3418
  let normalizedProvider = provider;
3419
+ {
3420
+ const filled = defaultFillProviderModels(normalizedProvider);
3421
+ if (filled.mutated) {
3422
+ mutated = true;
3423
+ normalizedProvider = filled.provider;
3424
+ }
3425
+ }
3359
3426
  if (normalizedProvider.apiKey && normalizeApiKeyConfig(normalizedProvider.apiKey) !== normalizedProvider.apiKey) {
3360
3427
  mutated = true;
3361
3428
  normalizedProvider = {
@@ -1,5 +1,5 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
- import { L as normalizeProviderId, T as resolveSymiAgentDir, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-Q1xTr5SX.js";
2
+ import { L as normalizeProviderId, T as resolveSymiAgentDir, Vt as DEFAULT_CONTEXT_TOKENS } from "./auth-profiles-BBniPGeS.js";
3
3
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Do3xMEtM.js";
4
4
 
5
5
  //#region src/agents/model-alias-lines.ts
@@ -1,27 +1,27 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { Dt as theme, Et as isRich$1, Pt as CONFIG_PATH, Tt as colorize, lt as shortenHomePath } from "./entry.js";
3
- import { Ct as resolveEnvApiKey, Dt as getShellEnvAppliedKeys, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, L as normalizeProviderId, M as findNormalizedProviderValue, Mt as shouldEnableShellEnvFallback, R as parseModelRef, St as resolveAwsSdkEnvVarName, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _ as setAuthProfileOrder, b as ensureAuthProfileStore, h as listProfilesForProvider, j as buildModelAliasIndex, n as resolveAuthProfileOrder, s as resolveProfileUnusableUntilForDisplay, v as upsertAuthProfile, w as resolveAuthStorePathForDisplay, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-Q1xTr5SX.js";
3
+ import { Ct as resolveEnvApiKey, Dt as getShellEnvAppliedKeys, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, L as normalizeProviderId, M as findNormalizedProviderValue, Mt as shouldEnableShellEnvFallback, R as parseModelRef, St as resolveAwsSdkEnvVarName, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _ as setAuthProfileOrder, b as ensureAuthProfileStore, h as listProfilesForProvider, j as buildModelAliasIndex, n as resolveAuthProfileOrder, s as resolveProfileUnusableUntilForDisplay, v as upsertAuthProfile, w as resolveAuthStorePathForDisplay, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-BBniPGeS.js";
4
4
  import { t as formatCliCommand } from "./command-format-BtYOfWxC.js";
5
5
  import { D as resolveDefaultAgentWorkspaceDir, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, i as resolveAgentDir, l as resolveDefaultAgentId, o as resolveAgentModelPrimary } from "./agent-scope-D-jRCY0d.js";
6
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-LXkL5WS_.js";
7
- import { i as resolveForwardCompatModel, r as ANTIGRAVITY_OPUS_46_FORWARD_COMPAT_CANDIDATES } from "./model-DiCH8rkE.js";
6
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-CnvkCEt-.js";
7
+ import { i as resolveForwardCompatModel, r as ANTIGRAVITY_OPUS_46_FORWARD_COMPAT_CANDIDATES } from "./model-yI45t1OQ.js";
8
8
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Do3xMEtM.js";
9
- import { C as parseDurationMs, i as loadConfig } from "./config-BNTB6qj8.js";
10
- import { J as runAgentTurn, _n as DEFAULT_OAUTH_WARN_MS, _t as describeFailoverError, an as formatUsageWindowSummary, gn as maskApiKey, on as resolveUsageProviderId, rn as loadProviderUsageSummary, vn as buildAuthHealthSummary, yn as formatRemainingShort } from "./subagent-registry-DCoU9xIE.js";
9
+ import { C as parseDurationMs, i as loadConfig } from "./config-XZ7orePK.js";
10
+ import { J as runAgentTurn, _n as DEFAULT_OAUTH_WARN_MS, _t as describeFailoverError, an as formatUsageWindowSummary, gn as maskApiKey, on as resolveUsageProviderId, rn as loadProviderUsageSummary, vn as buildAuthHealthSummary, yn as formatRemainingShort } from "./subagent-registry-DLyi3sgU.js";
11
11
  import { s as resolveSessionTranscriptsDirForAgent } from "./paths-DNdWAq7b.js";
12
- import { t as ensureSymiModelsJson } from "./models-config-Be8DRFkB.js";
13
- import { n as loadModelCatalog } from "./model-catalog-DNvgFPZn.js";
12
+ import { t as ensureSymiModelsJson } from "./models-config-CPAA0Wkr.js";
13
+ import { n as loadModelCatalog } from "./model-catalog-BkurhUo7.js";
14
14
  import { r as withProgressTotals } from "./progress-BAHiAaDW.js";
15
- import { f as openUrl } from "./onboard-helpers-PpGrZIGw.js";
15
+ import { f as openUrl } from "./onboard-helpers-09M-gWu4.js";
16
16
  import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint } from "./prompt-style-DwCXob2h.js";
17
17
  import { t as createClackPrompter } from "./clack-prompter-B1aVoXd5.js";
18
18
  import { t as renderTable } from "./table-D01d2GuY.js";
19
19
  import { t as inferParamBFromIdOrName } from "./model-param-b-4PN786ZX.js";
20
20
  import { n as redactSecrets } from "./format-DVLB9DNB.js";
21
- import { a as isLocalBaseUrl, c as normalizeAlias, d as resolveModelTarget, f as updateConfig, i as formatTokenK, l as resolveKnownAgentId, n as ensureFlagCompatibility, o as loadValidConfigOrThrow, r as formatMs, s as mergePrimaryFallbackConfig, t as applyDefaultModelPrimaryUpdate, u as resolveModelKeysFromEntries } from "./shared-DdxPzyOH.js";
22
- import { d as applyAuthProfileConfig, n as validateAnthropicSetupToken } from "./auth-token-Cmrk2TPo.js";
21
+ import { a as isLocalBaseUrl, c as normalizeAlias, d as resolveModelTarget, f as updateConfig, i as formatTokenK, l as resolveKnownAgentId, n as ensureFlagCompatibility, o as loadValidConfigOrThrow, r as formatMs, s as mergePrimaryFallbackConfig, t as applyDefaultModelPrimaryUpdate, u as resolveModelKeysFromEntries } from "./shared-DxlCJeK_.js";
22
+ import { d as applyAuthProfileConfig, n as validateAnthropicSetupToken } from "./auth-token-DWgYs9Ek.js";
23
23
  import { n as logConfigUpdated } from "./logging-BGewRZy0.js";
24
- import { a as createVpsAwareOAuthHandlers, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-CEYCb2mJ.js";
24
+ import { a as createVpsAwareOAuthHandlers, i as resolveProviderMatch, n as mergeConfigPatch, o as isRemoteEnvironment, r as pickAuthMethod, s as resolvePluginProviders, t as applyDefaultModel } from "./provider-auth-helpers-rSnpzVFU.js";
25
25
  import path from "node:path";
26
26
  import fs from "node:fs/promises";
27
27
  import { complete, getEnvApiKey, getModel } from "@mariozechner/pi-ai";
@@ -857,8 +857,8 @@ function printModelTable(rows, runtime, opts = {}) {
857
857
  //#region src/commands/models/list.list-command.ts
858
858
  async function modelsListCommand(opts, runtime) {
859
859
  ensureFlagCompatibility(opts);
860
- const { loadConfig } = await import("./config-BNTB6qj8.js").then((n) => n.t);
861
- const { ensureAuthProfileStore } = await import("./auth-profiles-Q1xTr5SX.js").then((n) => n.t);
860
+ const { loadConfig } = await import("./config-XZ7orePK.js").then((n) => n.t);
861
+ const { ensureAuthProfileStore } = await import("./auth-profiles-BBniPGeS.js").then((n) => n.t);
862
862
  const cfg = loadConfig();
863
863
  const authStore = ensureAuthProfileStore();
864
864
  const providerFilter = (() => {
@@ -918,7 +918,7 @@ async function modelsListCommand(opts, runtime) {
918
918
  }
919
919
  }
920
920
  if (!model) {
921
- const { resolveModel } = await import("./model-DiCH8rkE.js").then((n) => n.t);
921
+ const { resolveModel } = await import("./model-yI45t1OQ.js").then((n) => n.t);
922
922
  model = resolveModel(entry.ref.provider, entry.ref.model, void 0, cfg).model;
923
923
  }
924
924
  if (opts.local && model && !isLocalBaseUrl(model.baseUrl)) continue;