@organizaone/o1-code 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/bundled/qc-helper/docs/configuration/auth.md +3 -1
  2. package/bundled/qc-helper/docs/configuration/model-providers.md +9 -0
  3. package/bundled/qc-helper/docs/features/approval-mode.md +4 -0
  4. package/bundled/qc-helper/docs/features/auto-mode.md +3 -0
  5. package/bundled/qc-helper/docs/features/sub-agents.md +7 -8
  6. package/chunks/{MaxSizedBox-GF25YEIN.js → MaxSizedBox-UYZO6Q53.js} +41 -40
  7. package/chunks/{StandaloneSessionPicker-YBS47NTB.js → StandaloneSessionPicker-22TBAOIZ.js} +54 -53
  8. package/chunks/{acp-subagent-executor-OCP4NXXX.js → acp-subagent-executor-24M4LCIR.js} +44 -43
  9. package/chunks/{acpAgent-WMX43ZDF.js → acpAgent-BLHUPR3S.js} +427 -369
  10. package/chunks/{agent-NMLVWIU3.js → agent-RKK4ZSNT.js} +27 -26
  11. package/chunks/{agent-headless-5AKJIKG2.js → agent-headless-NGG6JV6W.js} +27 -26
  12. package/chunks/{anthropicContentGenerator-5OH4LNCZ.js → anthropicContentGenerator-NFE6SNOW.js} +44 -15
  13. package/chunks/{bridge-DTVVZPYE.js → bridge-IESNMEQ4.js} +44 -43
  14. package/chunks/{bwrap-execution-EZJNABHL.js → bwrap-execution-QFG5RQSP.js} +5 -5
  15. package/chunks/{chunk-OPNBX4BU.js → chunk-26RB5MCN.js} +1 -1
  16. package/chunks/{chunk-WZKJPAWS.js → chunk-27N4PS4A.js} +2 -2
  17. package/chunks/{chunk-5ST67IZT.js → chunk-2I5ETR2G.js} +8 -5
  18. package/chunks/{chunk-MVE72SO7.js → chunk-2RYXWLLJ.js} +1 -1
  19. package/chunks/{chunk-EXWAECKM.js → chunk-35RKSP4A.js} +2 -2
  20. package/chunks/{chunk-IVAO4HY7.js → chunk-3ILV7TTQ.js} +3 -3
  21. package/chunks/{chunk-G4NGNKM6.js → chunk-3QFZFTMB.js} +7 -6
  22. package/chunks/{chunk-XF7WMIX5.js → chunk-3ZBJ5U4C.js} +5 -5
  23. package/chunks/{chunk-NHKFCD4F.js → chunk-4ZA2DNDT.js} +1 -1
  24. package/chunks/{chunk-TLWUCRTO.js → chunk-6AVPXLAG.js} +3 -3
  25. package/chunks/{chunk-CCNABFR3.js → chunk-6MRRD2YD.js} +3 -3
  26. package/chunks/{chunk-5BGVEQ5T.js → chunk-6NRPL624.js} +6 -6
  27. package/chunks/{chunk-JYM2UKSC.js → chunk-6QGQ2AFR.js} +38 -3
  28. package/chunks/{chunk-W3HT3Y67.js → chunk-6TUERSTS.js} +4 -4
  29. package/chunks/{chunk-KXN7Q6SB.js → chunk-6TWJYLJE.js} +1 -1
  30. package/chunks/{chunk-V6XI7HKD.js → chunk-6WB3VFOC.js} +1 -1
  31. package/chunks/{chunk-XPYWEOXT.js → chunk-7J3GH7GE.js} +4 -4
  32. package/chunks/{chunk-DBD424KY.js → chunk-7MPB362V.js} +2 -2
  33. package/chunks/{chunk-AE25P7KP.js → chunk-7QHVLAP5.js} +5 -5
  34. package/chunks/{chunk-C6U74Q6C.js → chunk-7YT5K5ST.js} +3 -3
  35. package/chunks/{chunk-FWXUI7DZ.js → chunk-AI2PV62X.js} +59 -23
  36. package/chunks/{chunk-NYKKDVZN.js → chunk-AY6SVAQZ.js} +1 -1
  37. package/chunks/{chunk-JDUBQ632.js → chunk-BBVCA2GZ.js} +1 -1
  38. package/chunks/{chunk-Y6NXDVBG.js → chunk-BDCHAXXY.js} +2 -2
  39. package/chunks/{chunk-5ITAMZY3.js → chunk-BDWRHIER.js} +8 -8
  40. package/chunks/{chunk-ERJWPEY7.js → chunk-BLEJR2GA.js} +3 -3
  41. package/chunks/{chunk-FJKGFWXG.js → chunk-BWAJPJLA.js} +3 -3
  42. package/chunks/{chunk-QUMGEZV4.js → chunk-CG2QM2MI.js} +2 -2
  43. package/chunks/{chunk-HEXJ5CP4.js → chunk-CKLLDG5Z.js} +7 -7
  44. package/chunks/{chunk-S2LBLNBW.js → chunk-CMZHL55Y.js} +2193 -151
  45. package/chunks/{chunk-JR2IXLNE.js → chunk-D7MURDDC.js} +4 -4
  46. package/chunks/{chunk-2X5ECQ5K.js → chunk-DH6IQO44.js} +6 -6
  47. package/chunks/{chunk-YNJSBU2B.js → chunk-DZPGLX7M.js} +1 -1
  48. package/chunks/{chunk-LQY5SDPR.js → chunk-EG7FZ4GT.js} +2 -2
  49. package/chunks/{chunk-WXWA7OOJ.js → chunk-ELVKWFRK.js} +1 -1
  50. package/chunks/{chunk-JEX5DADO.js → chunk-EMOLKALJ.js} +1 -1
  51. package/chunks/{chunk-IFBW6FYH.js → chunk-EWJD7EIC.js} +1 -1
  52. package/chunks/{chunk-D4RCT4J4.js → chunk-F5TEGYB2.js} +2 -2
  53. package/chunks/{chunk-YV5ECLPM.js → chunk-FCTP7NAC.js} +39 -37
  54. package/chunks/{chunk-P7UNPKJM.js → chunk-FQO3QDB5.js} +1 -1
  55. package/chunks/{chunk-JBMSEZDI.js → chunk-FVYOYI7Y.js} +7 -7
  56. package/chunks/{chunk-RYKMFNWC.js → chunk-FXPZKL6H.js} +2 -2
  57. package/chunks/{chunk-TKHMBUSK.js → chunk-FZUEC7ES.js} +3 -3
  58. package/chunks/{chunk-L3LXMQJJ.js → chunk-G2I75T4C.js} +1 -1
  59. package/chunks/{chunk-3XCL57IX.js → chunk-GMR3LAWE.js} +19 -4
  60. package/chunks/{chunk-NNVR5V2I.js → chunk-GNEHVPRR.js} +6 -6
  61. package/chunks/{chunk-SJ7DMBBS.js → chunk-GNSGESJK.js} +3 -3
  62. package/chunks/{chunk-VKFY6KJC.js → chunk-GQ7GDOJ3.js} +4 -4
  63. package/chunks/{chunk-Z7APSZZK.js → chunk-GTXPWUF4.js} +4 -4
  64. package/chunks/{chunk-E4BNWSC7.js → chunk-H5L5E5NI.js} +1 -1
  65. package/chunks/{chunk-LVFKSBH3.js → chunk-HOVKZNOX.js} +10 -5
  66. package/chunks/{chunk-DB5UA5RL.js → chunk-HVELN6DV.js} +5 -5
  67. package/chunks/{chunk-EGZKXA6V.js → chunk-HZMPE4UL.js} +1 -1
  68. package/chunks/{chunk-4NV74I76.js → chunk-I2XHQTBX.js} +201 -160
  69. package/chunks/{chunk-SXPTY2NJ.js → chunk-IAQGBZNZ.js} +1 -1
  70. package/chunks/{chunk-UUNTJ2TR.js → chunk-IZHKBFYA.js} +1 -1
  71. package/chunks/{chunk-JHODAWQZ.js → chunk-J7SHLTAH.js} +10 -10
  72. package/chunks/{chunk-B6W2OL2D.js → chunk-JXBIVAJQ.js} +39 -36
  73. package/chunks/{chunk-QSF42LP4.js → chunk-K2JYJWEF.js} +10 -10
  74. package/chunks/{chunk-UKS76REW.js → chunk-KFJXCZWZ.js} +3 -3
  75. package/chunks/{chunk-MPSJQSNY.js → chunk-KICFGUH5.js} +3 -3
  76. package/chunks/{chunk-BDKFE7EF.js → chunk-KRCRVCN5.js} +1 -1
  77. package/chunks/{chunk-4JQ6AGCG.js → chunk-L37WUEXT.js} +1 -1
  78. package/chunks/{chunk-REAEIHLD.js → chunk-LERXWKRT.js} +1 -1
  79. package/chunks/{chunk-KIQ7D4YK.js → chunk-LW4NWM6L.js} +15 -15
  80. package/chunks/{chunk-YIEC5SIW.js → chunk-M2EBVYXC.js} +1 -1
  81. package/chunks/{chunk-C6LFEUFU.js → chunk-MG64NR57.js} +1 -1
  82. package/chunks/{chunk-JQFQB2BI.js → chunk-MIWMCUU5.js} +1 -1
  83. package/chunks/{chunk-2S34HMND.js → chunk-MNGG2WBY.js} +1 -1
  84. package/chunks/{chunk-SS2JMVDW.js → chunk-N3YINO2H.js} +1 -1
  85. package/chunks/{chunk-L425LZSD.js → chunk-N4ANLNQG.js} +3 -3
  86. package/chunks/{chunk-I7XXUDXZ.js → chunk-NGPEFWU4.js} +1 -1
  87. package/chunks/{chunk-MTJQKPTJ.js → chunk-NP2P2IJA.js} +1 -1
  88. package/chunks/{chunk-YCZXGP63.js → chunk-NVNIFGY3.js} +72 -1
  89. package/chunks/{chunk-ERV4L76G.js → chunk-OBGYVJZ6.js} +14 -14
  90. package/chunks/{chunk-AQVYFR7E.js → chunk-OMJU4YIQ.js} +1 -1
  91. package/chunks/{chunk-7OHUVM2P.js → chunk-PH4SO4P2.js} +4 -4
  92. package/chunks/{chunk-UNRHVAPY.js → chunk-QDZTSZTF.js} +1 -1
  93. package/chunks/{chunk-AG2ELNEP.js → chunk-QFGGMNXV.js} +13 -11
  94. package/chunks/{chunk-QPGBAI7B.js → chunk-QGVUKQPI.js} +1 -1
  95. package/chunks/{chunk-7J3ZEJUN.js → chunk-RBQQCGVG.js} +7 -42
  96. package/chunks/{chunk-J7G3OJOX.js → chunk-RMDWSEWQ.js} +13 -10
  97. package/chunks/{chunk-KTH2NXBH.js → chunk-RPOVX6MQ.js} +1 -1
  98. package/chunks/{chunk-TNQJ66S4.js → chunk-S7EZBSGP.js} +3603 -5405
  99. package/chunks/{chunk-SGW7DY4F.js → chunk-SFHAMYFI.js} +2 -2
  100. package/chunks/{chunk-QFQQICSQ.js → chunk-TCME6IG6.js} +1 -1
  101. package/chunks/{chunk-GFZWLC66.js → chunk-TVGM3GPZ.js} +2 -2
  102. package/chunks/{chunk-GZNQS5UB.js → chunk-UP6Q42H2.js} +22 -4
  103. package/chunks/{chunk-QS7N2YMJ.js → chunk-UQ34TBDD.js} +1 -1
  104. package/chunks/{chunk-VNMKY2V3.js → chunk-UT656E5I.js} +3 -3
  105. package/chunks/{chunk-623SEN5Q.js → chunk-UZLXX76B.js} +1 -1
  106. package/chunks/{chunk-J5BDFZYA.js → chunk-V23Q4GBY.js} +1 -1
  107. package/chunks/{chunk-L3YLV3RI.js → chunk-V4XETRAG.js} +24 -9
  108. package/chunks/{chunk-PPR5SHEF.js → chunk-V75J4GJ2.js} +1 -1
  109. package/chunks/{chunk-UXN7KJEI.js → chunk-VA7BGQ2G.js} +5 -5
  110. package/chunks/{chunk-QQQRGEHT.js → chunk-VIXCJWEM.js} +3 -3
  111. package/chunks/{chunk-CTIEFYP7.js → chunk-VZIZZYZ2.js} +2 -2
  112. package/chunks/chunk-WCRZJ5HN.js +27 -0
  113. package/chunks/{chunk-JE64TPWB.js → chunk-WGHVI55A.js} +4 -4
  114. package/chunks/{chunk-WGXPBRMN.js → chunk-WOO572MR.js} +1 -1
  115. package/chunks/{chunk-3YCUO772.js → chunk-WOZVQEFV.js} +1 -1
  116. package/chunks/{chunk-4OCNSFYL.js → chunk-WUKHAI4J.js} +13 -0
  117. package/chunks/{chunk-ZNNZZ4BW.js → chunk-X6T6YORO.js} +1 -1
  118. package/chunks/{chunk-BDKGHKN5.js → chunk-XCLRPKMH.js} +1 -1
  119. package/chunks/{chunk-GUMLL5KC.js → chunk-XKOGHPWS.js} +1 -1
  120. package/chunks/{chunk-ELIXZXZC.js → chunk-Y3KJFSGP.js} +4 -4
  121. package/chunks/{chunk-I3G7XU6U.js → chunk-ZATS5TUZ.js} +4 -4
  122. package/chunks/{chunk-3CO4GKLV.js → chunk-ZHYAWJRF.js} +1 -1
  123. package/chunks/{chunk-M2WG4ESD.js → chunk-ZQBNP2ZQ.js} +4 -2
  124. package/chunks/{chunk-HKGC5GVY.js → chunk-ZUCL2KQE.js} +1 -1
  125. package/chunks/{chunk-RHYRXRHW.js → chunk-ZZG3Z2XX.js} +1 -1
  126. package/chunks/{codex-subagent-executor-QGB72XUZ.js → codex-subagent-executor-KXD2IV5N.js} +44 -43
  127. package/chunks/{contextCommand-OIZKYRYR.js → contextCommand-RDEMVBKQ.js} +42 -41
  128. package/chunks/{core-runtime-ZFOKJ32O.js → core-runtime-BH3QRW7L.js} +41 -40
  129. package/chunks/{create-sub-session-Y6QAGHZ6.js → create-sub-session-2EEIM347.js} +42 -41
  130. package/chunks/{daemon-git-worktree-guard-M73ZL5UO.js → daemon-git-worktree-guard-GOHP6Z3Z.js} +41 -40
  131. package/chunks/{daemon-status-provider-6YNQ74OV.js → daemon-status-provider-JBGBRCQ3.js} +49 -48
  132. package/chunks/{daemon-trust-policy-URDFVFCF.js → daemon-trust-policy-VE2G2RR3.js} +46 -45
  133. package/chunks/{daemon-trust-policy-monitor-FKHP5BIE.js → daemon-trust-policy-monitor-EQIKISSG.js} +46 -45
  134. package/chunks/{deferred-core-runtime-3Q5WFRWL.js → deferred-core-runtime-T5ZBIEH5.js} +41 -40
  135. package/chunks/{display-image-K4EKCY4Y.js → display-image-U6HZKF3G.js} +1 -1
  136. package/chunks/{edit-BA7F4PT6.js → edit-SSW6ROAY.js} +29 -28
  137. package/chunks/{enter-worktree-7AEF4YHW.js → enter-worktree-53CUMISV.js} +6 -5
  138. package/chunks/{enterPlanMode-EFBL4BF7.js → enterPlanMode-AQDABVZ7.js} +27 -26
  139. package/chunks/{environment-WPNDLJO7.js → environment-CRS6FJUB.js} +47 -44
  140. package/chunks/{errors-7ETRPMNN.js → errors-LEKWARZU.js} +43 -42
  141. package/chunks/{execution-sandbox-config-ODVPW3HT.js → execution-sandbox-config-7UDTKDKF.js} +6 -6
  142. package/chunks/{execution-tool-CAWRJH4J.js → execution-tool-RDK54VX4.js} +30 -29
  143. package/chunks/{execution-worker-HLC7A4TJ.js → execution-worker-GLD3Y36P.js} +34 -33
  144. package/chunks/{exit-worktree-7LRFLHHT.js → exit-worktree-CZUYCPZ3.js} +6 -5
  145. package/chunks/{exitPlanMode-S23F45GN.js → exitPlanMode-DF32PZWX.js} +27 -26
  146. package/chunks/{fast-path-3I3VLXLK.js → fast-path-INED4OHU.js} +2 -2
  147. package/chunks/{glob-QTRRGB3D.js → glob-7WHFZZ7M.js} +27 -26
  148. package/chunks/{goal-tools-NUONFKIG.js → goal-tools-W27UVE2Z.js} +27 -26
  149. package/chunks/{grep-TA3S572F.js → grep-ENZEP6KL.js} +2 -2
  150. package/chunks/{handleAutoUpdate-QVESGET2.js → handleAutoUpdate-J6Z2XB5Q.js} +43 -42
  151. package/chunks/{i18n-ZSSY3WKU.js → i18n-OO4UHAXL.js} +41 -40
  152. package/chunks/{image-gen-5BYQKJXP.js → image-gen-GJRWPVTR.js} +4 -4
  153. package/chunks/{initializer-T5M3ALQB.js → initializer-JQHJYCF5.js} +46 -45
  154. package/chunks/{installationInfo-P5YK242M.js → installationInfo-AXAY2SH2.js} +41 -40
  155. package/chunks/{list-MJY6Y5CU.js → list-SADQT2AG.js} +48 -47
  156. package/chunks/{llm-W5ENEUT6.js → llm-SZWXZP3B.js} +97 -74
  157. package/chunks/{llm-content-generator-TXCK3B4L.js → llm-content-generator-G5JRRUQG.js} +3 -3
  158. package/chunks/{loadedSettingsAdapter-JLZC4ZBX.js → loadedSettingsAdapter-KHPR57FZ.js} +46 -45
  159. package/chunks/{local-execution-environment-YZMNKOAL.js → local-execution-environment-UIXT5MYW.js} +34 -33
  160. package/chunks/{loggingContentGenerator-N47XAAOQ.js → loggingContentGenerator-S7Z3KA5G.js} +29 -28
  161. package/chunks/{managed-npm-update-4ROJTOPU.js → managed-npm-update-2F2CWUN5.js} +58 -51
  162. package/chunks/{mcp-RKXPYCS7.js → mcp-HIXXYJCE.js} +46 -45
  163. package/chunks/{model-call-collection-OJVM2GWV.js → model-call-collection-KSMSHS7L.js} +1 -1
  164. package/chunks/{model-configuration-GYGU23MY.js → model-configuration-ESRJKAHN.js} +47 -46
  165. package/chunks/{modelConfigUtils-6MZXMJI7.js → modelConfigUtils-NDQ2FXQH.js} +43 -42
  166. package/chunks/{monitor-PY4ONOQZ.js → monitor-YVVVGAR3.js} +42 -37
  167. package/chunks/{nonInteractiveCli-BEOCLPL7.js → nonInteractiveCli-KM3SLXEM.js} +72 -71
  168. package/chunks/{nonInteractiveToolExecutor-TWHMKTHV.js → nonInteractiveToolExecutor-JUANVJTX.js} +28 -27
  169. package/chunks/{notebook-edit-735U37BJ.js → notebook-edit-4DUMKNFK.js} +28 -27
  170. package/chunks/{omni-TSSGKDWK.js → omni-47LNNZAF.js} +12 -11
  171. package/chunks/{openaiContentGenerator-66O4ID6K.js → openaiContentGenerator-A6QCMGW4.js} +17 -15
  172. package/chunks/{openaiResponsesContentGenerator-AI4VCUZW.js → openaiResponsesContentGenerator-BUWQNFGJ.js} +3 -3
  173. package/chunks/{processUtils-KX55UCVT.js → processUtils-2NQUOJFV.js} +2 -2
  174. package/chunks/{prompt-terminal-ledger-TMEWRMRM.js → prompt-terminal-ledger-2PPXLWXQ.js} +42 -41
  175. package/chunks/{reactive-degrade-W6RK63HX.js → reactive-degrade-L7HLGJAK.js} +8 -7
  176. package/chunks/{read-file-EY55LILP.js → read-file-UZ2R53V3.js} +4 -4
  177. package/chunks/{record-artifact-LO3TFJF4.js → record-artifact-PL2T5AJY.js} +3 -3
  178. package/chunks/{record-source-U2PL3PZS.js → record-source-PHBQTGL4.js} +4 -4
  179. package/chunks/{report-findings-XQQ23B4H.js → report-findings-RFO53756.js} +4 -4
  180. package/chunks/{request-shutdown-HUO3DW4O.js → request-shutdown-OMWHNC3R.js} +3 -3
  181. package/chunks/{resumeHistoryUtils-64X6P4RL.js → resumeHistoryUtils-7HRODIKY.js} +42 -41
  182. package/chunks/{ripGrep-EJBNAHG7.js → ripGrep-ACBTAONG.js} +7 -7
  183. package/chunks/{run-o1-code-serve-XZD4J7UT.js → run-o1-code-serve-MDMLRTRO.js} +32 -32
  184. package/chunks/{runtime-shell-policy-7E34X54Z.js → runtime-shell-policy-QXWSET5W.js} +1 -1
  185. package/chunks/{sandboxConfig-Q5T2KDWX.js → sandboxConfig-LMA3DPDG.js} +41 -40
  186. package/chunks/{scheduled-tasks-VFTJISRZ.js → scheduled-tasks-3PMJVK6Y.js} +47 -46
  187. package/chunks/{scheduler-LFPINJ3O.js → scheduler-O5OYPI63.js} +43 -42
  188. package/chunks/{send-message-X55LV3NW.js → send-message-NATKTKQZ.js} +3 -3
  189. package/chunks/{serve-KFLQFW4S.js → serve-GV3N45V5.js} +46 -45
  190. package/chunks/{server-5VX5EJJN.js → server-7E4EI7UC.js} +121 -112
  191. package/chunks/{session-FN3DK22S.js → session-ADHGVFFK.js} +73 -72
  192. package/chunks/{session-attachments-root-2KL64FGA.js → session-attachments-root-XELVOIWA.js} +41 -40
  193. package/chunks/{session-pr-refresh-RHCGWRST.js → session-pr-refresh-4Z5THFBF.js} +46 -45
  194. package/chunks/{settings-JNRHGVXK.js → settings-5EMCRRZH.js} +45 -44
  195. package/chunks/{shell-QXU6U3ZQ.js → shell-NPKZWF3U.js} +27 -26
  196. package/chunks/{skill-RRZHSAYL.js → skill-RZ7LZIVZ.js} +5 -5
  197. package/chunks/{skill-settings-WUQLVFBS.js → skill-settings-DHKLML5S.js} +46 -45
  198. package/chunks/{spawnChannel-IIN6QVRF.js → spawnChannel-ABJVT26C.js} +43 -42
  199. package/chunks/{standalone-update-ET5NFOX4.js → standalone-update-22DYM5RZ.js} +42 -41
  200. package/chunks/{startInteractiveUI-LNRR43PI.js → startInteractiveUI-5EYUYKDG.js} +192 -123
  201. package/chunks/{task-create-A2MP37QH.js → task-create-A3FAT34J.js} +4 -4
  202. package/chunks/{task-update-NJG2RTP7.js → task-update-BE27HYCU.js} +4 -4
  203. package/chunks/{team-create-QJCKLQOF.js → team-create-DFTT6KS7.js} +27 -26
  204. package/chunks/{team-plan-approval-KQ2O743Z.js → team-plan-approval-KVTEPS35.js} +27 -26
  205. package/chunks/{terminal-image-renderer-AWXQOO4X.js → terminal-image-renderer-ULESZQ2S.js} +41 -40
  206. package/chunks/{theme-manager-VA6NQNIL.js → theme-manager-TWCJZHHM.js} +41 -40
  207. package/chunks/{tool-call-VNMKD4BX.js → tool-call-7HZFNB7J.js} +4 -4
  208. package/chunks/{tool-result-media-6ZV6V5VB.js → tool-result-media-GW6DXPF6.js} +12 -11
  209. package/chunks/{tool-search-HPPYWJBF.js → tool-search-IYWJZOHM.js} +7 -7
  210. package/chunks/{total-session-admission-JVRBXXYV.js → total-session-admission-DFBHKYZ6.js} +44 -43
  211. package/chunks/{trustedFolders-56YDYOI5.js → trustedFolders-3TN7MAD2.js} +42 -41
  212. package/chunks/{update-relaunch-GFLNZDAX.js → update-relaunch-VRHG4DJ3.js} +17 -8
  213. package/chunks/{updateCheck-GD2DXYWP.js → updateCheck-6QJH7WCQ.js} +41 -40
  214. package/chunks/{upload-config-E5MQ5NML.js → upload-config-NKCONRNF.js} +6 -5
  215. package/chunks/{useAutoAcceptIndicator-KQ3H2K62.js → useAutoAcceptIndicator-QB67K7SZ.js} +48 -47
  216. package/chunks/{validateNonInterActiveAuth-Y4MBCH4W.js → validateNonInterActiveAuth-EIMNOYXA.js} +70 -69
  217. package/chunks/{version-IJ3TUIPZ.js → version-SPGSSS4D.js} +1 -1
  218. package/chunks/{web-fetch-F2CLSSW6.js → web-fetch-MR5YMAYN.js} +7 -7
  219. package/chunks/{web-search-2HX22GBH.js → web-search-UT4QMZ77.js} +9 -8
  220. package/chunks/{workflow-O5UFRP3U.js → workflow-5GDTA5C4.js} +28 -27
  221. package/chunks/{workspace-providers-status-74YJNLJJ.js → workspace-providers-status-JHE7XF4Q.js} +52 -51
  222. package/chunks/{workspace-registration-store-TZFSDL3K.js → workspace-registration-store-KSRT76YS.js} +1 -1
  223. package/chunks/{workspace-registry-NAMQHWBJ.js → workspace-registry-UIRZ644O.js} +44 -43
  224. package/chunks/{workspace-runtime-coordinator-WI35ERMI.js → workspace-runtime-coordinator-4KRIDNPN.js} +45 -44
  225. package/chunks/{workspace-service-GDF53GJS.js → workspace-service-EHBHBXQB.js} +50 -49
  226. package/chunks/{workspace-skills-status-PNR3ICAP.js → workspace-skills-status-2JGHZKN7.js} +49 -48
  227. package/chunks/{workspace-trust-reconciler-UO4CD5XT.js → workspace-trust-reconciler-GZETMLBC.js} +49 -48
  228. package/chunks/{write-file-4NLDAO3E.js → write-file-XMTCGJ5L.js} +30 -29
  229. package/chunks/{zoom-image-WVJNVR4G.js → zoom-image-2JJU2JUJ.js} +4 -4
  230. package/cli-entry.js +35 -18
  231. package/cli.js +12 -12
  232. package/execution-worker.js +1 -1
  233. package/export-transcript-document.js +1 -1
  234. package/package.json +2 -2
  235. package/release-notes.json +38 -0
  236. package/web-shell/assets/{abnfDiagram-VCTEODGH-GkC7qpZa.js → abnfDiagram-VCTEODGH-C4KL0pte.js} +1 -1
  237. package/web-shell/assets/{arc-rCRTR9rP.js → arc-DG56euNt.js} +1 -1
  238. package/web-shell/assets/{architectureDiagram-5GKGNRK7-BXamqUa2.js → architectureDiagram-5GKGNRK7-DX_GPM3e.js} +1 -1
  239. package/web-shell/assets/{blockDiagram-NRAW4CY4-gcjjt4RN.js → blockDiagram-NRAW4CY4-RjYYv_50.js} +1 -1
  240. package/web-shell/assets/{c4Diagram-UCG6FXSJ-y4txHZ64.js → c4Diagram-UCG6FXSJ-DNx_cCrE.js} +1 -1
  241. package/web-shell/assets/channel-C4IYRzaQ.js +1 -0
  242. package/web-shell/assets/{chunk-2Q5K7J3B-CP7Wj7xO.js → chunk-2Q5K7J3B-tiiH_UQG.js} +1 -1
  243. package/web-shell/assets/{chunk-5VM5RSS4-Cp32oZuQ.js → chunk-5VM5RSS4-L3MqoN5D.js} +1 -1
  244. package/web-shell/assets/{chunk-F27PBJKO-91dCDCyf.js → chunk-F27PBJKO-rOgNOxU4.js} +1 -1
  245. package/web-shell/assets/{chunk-G27WJ6UU-CE0yCTWa.js → chunk-G27WJ6UU-Do4hF634.js} +1 -1
  246. package/web-shell/assets/{chunk-JWPE2WC7-BrpX8c3O.js → chunk-JWPE2WC7-D3flHpv-.js} +1 -1
  247. package/web-shell/assets/{chunk-LCL6LL3I-BYJTu4zN.js → chunk-LCL6LL3I-CKaf_vGR.js} +1 -1
  248. package/web-shell/assets/{chunk-POPQ4Y6H-Codub2tr.js → chunk-POPQ4Y6H-MoTQcJHM.js} +1 -1
  249. package/web-shell/assets/{chunk-SVP7TREG-DM-ke8Mr.js → chunk-SVP7TREG-5IUiTHDJ.js} +1 -1
  250. package/web-shell/assets/{chunk-XXDRQBXY-BLcKbNbx.js → chunk-XXDRQBXY-Calnffda.js} +1 -1
  251. package/web-shell/assets/classDiagram-DTDB5LWJ-B1_DeD3H.js +1 -0
  252. package/web-shell/assets/classDiagram-v2-JRS7N3AN-B1_DeD3H.js +1 -0
  253. package/web-shell/assets/{cose-bilkent-JH36ORCC-yMq4SSTl.js → cose-bilkent-JH36ORCC-r7CvVhkL.js} +1 -1
  254. package/web-shell/assets/{cynefin-OW5HDTMX-B-n83dZA.js → cynefin-OW5HDTMX-6IISowf1.js} +1 -1
  255. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DwgvqFDD.js → cynefinDiagram-5FMLGOSQ-DHBp3-nw.js} +1 -1
  256. package/web-shell/assets/{dagre-3AP2YEHR-BjByq1Of.js → dagre-3AP2YEHR-B8xQgIhZ.js} +1 -1
  257. package/web-shell/assets/{diagram-S7CK7UJ4-b-k59yRn.js → diagram-S7CK7UJ4-Cmu2Nepw.js} +1 -1
  258. package/web-shell/assets/{diagram-UQ7AKVKN-d4Mot6Yz.js → diagram-UQ7AKVKN-DcFEj1RT.js} +1 -1
  259. package/web-shell/assets/{diagram-VSXAHHWV-CkxocesP.js → diagram-VSXAHHWV-BJMlF0Ty.js} +1 -1
  260. package/web-shell/assets/{diagram-VX7I27RA-ClsrsYuH.js → diagram-VX7I27RA-kIMuXXqr.js} +1 -1
  261. package/web-shell/assets/{diagram-Z3DM3KII-C86pbkMU.js → diagram-Z3DM3KII-Cs4WSVWV.js} +1 -1
  262. package/web-shell/assets/{ebnfDiagram-PWID7BFC-Dd_W23Ti.js → ebnfDiagram-PWID7BFC-_CXCQvy8.js} +1 -1
  263. package/web-shell/assets/{erDiagram-SSCWMZ5O-Bm0aSkLh.js → erDiagram-SSCWMZ5O-B_BWmiLC.js} +1 -1
  264. package/web-shell/assets/{flowDiagram-A5DVABFB-CzOHrYqI.js → flowDiagram-A5DVABFB-BbQ-Cnph.js} +1 -1
  265. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-aD7VOZlz.js → ganttDiagram-EL5Y4UJY-Dw0OP2o6.js} +1 -1
  266. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-qC6lU8hO.js → gitGraphDiagram-WWUBYQGX-CLGso8Fx.js} +1 -1
  267. package/web-shell/assets/{index-Dt92aFEi.js → index-DqcXLe_L.js} +1 -1
  268. package/web-shell/assets/{index-IQxVrdU8.js → index-uXBGc-O_.js} +3 -3
  269. package/web-shell/assets/{infoDiagram-RXCK75RN-D7n5hN5T.js → infoDiagram-RXCK75RN-B16fsKTx.js} +1 -1
  270. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-Crzzj9Hk.js → ishikawaDiagram-5VMMS53U-B6gNa_2h.js} +1 -1
  271. package/web-shell/assets/{journeyDiagram-EYS64GPL-FwmS41nw.js → journeyDiagram-EYS64GPL-D6pmm-zQ.js} +1 -1
  272. package/web-shell/assets/{kanban-definition-3QL26DDD-CKIs80uY.js → kanban-definition-3QL26DDD-CYgLAGlY.js} +1 -1
  273. package/web-shell/assets/{layout-BQz4dKSf.js → layout-Dnu_3yL-.js} +1 -1
  274. package/web-shell/assets/{linear-BFhHgDEc.js → linear-M3brA9am.js} +1 -1
  275. package/web-shell/assets/{mermaid.core-Bk7ZiySi.js → mermaid.core-0spMkbMJ.js} +6 -6
  276. package/web-shell/assets/{mindmap-definition-FBJOCRG2-BBWZxLbK.js → mindmap-definition-FBJOCRG2-KXz1-2Ie.js} +1 -1
  277. package/web-shell/assets/{pegDiagram-XKGWAZYB-D3XoIA9B.js → pegDiagram-XKGWAZYB-D2wzdm-1.js} +1 -1
  278. package/web-shell/assets/{pieDiagram-E7YTZNPT-B_tPTCKL.js → pieDiagram-E7YTZNPT-CAVUnkpR.js} +1 -1
  279. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-BtsvzEtS.js → quadrantDiagram-AXDQQJYC-Bi0I0wCT.js} +1 -1
  280. package/web-shell/assets/{railroadDiagram-O6MQD6OU-6ag1DheV.js → railroadDiagram-O6MQD6OU-1RMp3suI.js} +1 -1
  281. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-8YxylfMT.js → requirementDiagram-EFPCY7ZU-Buktf-dE.js} +1 -1
  282. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-1_AorqC_.js → sankeyDiagram-P5KCCOFB-Z4cqu0Yj.js} +1 -1
  283. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-paioxV9Q.js → sequenceDiagram-WJ2MYXX4-Bky8Neqh.js} +1 -1
  284. package/web-shell/assets/{sizeCapture-X5ZJPWSS-oOBrUhQf.js → sizeCapture-X5ZJPWSS-CtuAvlom.js} +1 -1
  285. package/web-shell/assets/{stateDiagram-HBIQ2CUA-DGkViHHK.js → stateDiagram-HBIQ2CUA-Ch17BzwP.js} +1 -1
  286. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CnlkrjZ6.js +1 -0
  287. package/web-shell/assets/{swimlanes-XN3QIQJK-TqBChE5a.js → swimlanes-XN3QIQJK-zDCbFlBP.js} +1 -1
  288. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-DR1jeM-b.js +8 -0
  289. package/web-shell/assets/{timeline-definition-24CTP7MA-BQGAL6YG.js → timeline-definition-24CTP7MA-B_wsMvHG.js} +1 -1
  290. package/web-shell/assets/{vennDiagram-4TSXK5OY-CGPjpaes.js → vennDiagram-4TSXK5OY-DaY56Y6X.js} +1 -1
  291. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-DPK0MANE.js → wardleyDiagram-VM6X3IG4-C_qP-clx.js} +1 -1
  292. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-D4TN6euT.js → xychartDiagram-S5SC5T6Z-Bn_GJCcM.js} +1 -1
  293. package/web-shell/index.html +1 -1
  294. package/web-shell/sw.js +1 -1
  295. package/web-shell/assets/channel-CRgqjxIs.js +0 -1
  296. package/web-shell/assets/classDiagram-DTDB5LWJ-oQ799Ozj.js +0 -1
  297. package/web-shell/assets/classDiagram-v2-JRS7N3AN-oQ799Ozj.js +0 -1
  298. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-CWC6iKqT.js +0 -1
  299. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-Dz_lYxMp.js +0 -8
@@ -450,6 +450,10 @@ var REASONING_EFFORT_TIERS = [
450
450
  "xhigh",
451
451
  "max"
452
452
  ];
453
+ function isReasoningEffort(value) {
454
+ return REASONING_EFFORT_TIERS.includes(value);
455
+ }
456
+ __name(isReasoningEffort, "isReasoningEffort");
453
457
  var REASONING_EFFORT_RANKS = {
454
458
  low: 20,
455
459
  medium: 30,
@@ -846,22 +850,22 @@ async function createContentGenerator(generatorConfig, config) {
846
850
  try {
847
851
  if (authType === "openai" /* USE_OPENAI */) {
848
852
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
849
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-66O4ID6K.js");
853
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-A6QCMGW4.js");
850
854
  return createOpenAIContentGenerator(generatorConfig, config);
851
855
  }, "loadBaseGenerator");
852
856
  } else if (authType === "openai-responses" /* USE_OPENAI_RESPONSES */) {
853
857
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
854
- const { createOpenAIResponsesContentGenerator } = await import("./openaiResponsesContentGenerator-AI4VCUZW.js");
858
+ const { createOpenAIResponsesContentGenerator } = await import("./openaiResponsesContentGenerator-BUWQNFGJ.js");
855
859
  return createOpenAIResponsesContentGenerator(generatorConfig, config);
856
860
  }, "loadBaseGenerator");
857
861
  } else if (authType === "anthropic" /* USE_ANTHROPIC */) {
858
862
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
859
- const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-5OH4LNCZ.js");
863
+ const { createAnthropicContentGenerator } = await import("./anthropicContentGenerator-NFE6SNOW.js");
860
864
  return createAnthropicContentGenerator(generatorConfig, config);
861
865
  }, "loadBaseGenerator");
862
866
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
863
867
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
864
- const { createLlmContentGenerator } = await import("./llm-content-generator-TXCK3B4L.js");
868
+ const { createLlmContentGenerator } = await import("./llm-content-generator-G5JRRUQG.js");
865
869
  return createLlmContentGenerator(generatorConfig, config);
866
870
  }, "loadBaseGenerator");
867
871
  } else {
@@ -876,7 +880,7 @@ async function createContentGenerator(generatorConfig, config) {
876
880
  try {
877
881
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
878
882
  loadBaseGenerator(),
879
- import("./loggingContentGenerator-N47XAAOQ.js")
883
+ import("./loggingContentGenerator-S7Z3KA5G.js")
880
884
  ]);
881
885
  return new LoggingContentGenerator(
882
886
  baseGenerator,
@@ -1025,6 +1029,7 @@ export {
1025
1029
  defaultOutputCeiling,
1026
1030
  reconcileMaxTokens,
1027
1031
  REASONING_EFFORT_TIERS,
1032
+ isReasoningEffort,
1028
1033
  getGptReasoningCapabilities,
1029
1034
  isReasoningEffortPlaceholder,
1030
1035
  normalizeReasoningEffort,
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-ELIXZXZC.js";
5
+ } from "./chunk-Y3KJFSGP.js";
6
6
  import {
7
7
  getCurrentLanguage
8
8
  } from "./chunk-3CMD4E67.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-BDKFE7EF.js";
11
+ } from "./chunk-KRCRVCN5.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-YCZIOHKD.js";
15
15
  import {
16
16
  hashMcpServerConfig
17
- } from "./chunk-FWXUI7DZ.js";
17
+ } from "./chunk-AI2PV62X.js";
18
18
  import {
19
19
  Config,
20
20
  ExtensionManager,
@@ -25,11 +25,11 @@ import {
25
25
  isGatedMcpScope,
26
26
  normalizeClaudeMcpServer,
27
27
  runWithTimeout
28
- } from "./chunk-TNQJ66S4.js";
28
+ } from "./chunk-S7EZBSGP.js";
29
29
  import {
30
30
  getMCPServerLastError,
31
31
  getMCPServerStatus
32
- } from "./chunk-RYKMFNWC.js";
32
+ } from "./chunk-FXPZKL6H.js";
33
33
  import {
34
34
  atomicWriteFile
35
35
  } from "./chunk-EPJAMNLS.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-O7MSLRFZ.js";
25
25
  import {
26
26
  MAX_REGISTERED_WORKSPACES
27
- } from "./chunk-V6XI7HKD.js";
27
+ } from "./chunk-6WB3VFOC.js";
28
28
  import {
29
29
  parseToolWriteOriginMeta
30
30
  } from "./chunk-MYMATZAY.js";
@@ -11,7 +11,7 @@ import {
11
11
  normalize,
12
12
  parseModelReasoningCapabilities,
13
13
  tokenLimit
14
- } from "./chunk-LVFKSBH3.js";
14
+ } from "./chunk-HOVKZNOX.js";
15
15
  import {
16
16
  DEFAULT_O1CODE_MODEL
17
17
  } from "./chunk-LEXKU5FI.js";
@@ -78,6 +78,163 @@ function stripRuntimeSnapshotPrefix(modelId) {
78
78
  }
79
79
  __name(stripRuntimeSnapshotPrefix, "stripRuntimeSnapshotPrefix");
80
80
 
81
+ // packages/core/src/providers/credential-store.ts
82
+ init_esbuild_shims();
83
+ import * as fs from "node:fs";
84
+ import * as path from "node:path";
85
+ import { randomBytes } from "node:crypto";
86
+ var debugLogger = createDebugLogger("CREDENTIAL_STORE");
87
+ var CREDENTIAL_ID = /^[a-z0-9][a-z0-9-]*$/;
88
+ var DIR_MODE = 448;
89
+ var FILE_MODE = 384;
90
+ function isValidCredentialId(id) {
91
+ return CREDENTIAL_ID.test(id);
92
+ }
93
+ __name(isValidCredentialId, "isValidCredentialId");
94
+ function assertCredentialId(id) {
95
+ if (!isValidCredentialId(id)) {
96
+ throw new Error(
97
+ `Invalid credential id "${id}": use lowercase letters, digits and dashes.`
98
+ );
99
+ }
100
+ }
101
+ __name(assertCredentialId, "assertCredentialId");
102
+ function credentialPath(id) {
103
+ assertCredentialId(id);
104
+ return path.join(Storage.getCredentialsDir(), `${id}.json`);
105
+ }
106
+ __name(credentialPath, "credentialPath");
107
+ function credentialIdForProvider(providerId) {
108
+ return providerId.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().replace(/[^a-z0-9-]/g, "-");
109
+ }
110
+ __name(credentialIdForProvider, "credentialIdForProvider");
111
+ function chmodQuietly(target, mode) {
112
+ try {
113
+ fs.chmodSync(target, mode);
114
+ } catch (error) {
115
+ if (error.code !== "EPERM") throw error;
116
+ }
117
+ }
118
+ __name(chmodQuietly, "chmodQuietly");
119
+ function readCredential(id) {
120
+ const file = credentialPath(id);
121
+ let raw;
122
+ try {
123
+ raw = fs.readFileSync(file, "utf8");
124
+ } catch {
125
+ return void 0;
126
+ }
127
+ try {
128
+ const parsed = JSON.parse(raw);
129
+ const apiKey = parsed && typeof parsed === "object" ? parsed.apiKey : void 0;
130
+ if (typeof apiKey !== "string" || !apiKey.trim()) {
131
+ throw new Error("no apiKey");
132
+ }
133
+ const savedAt = parsed.savedAt;
134
+ return { apiKey, savedAt: typeof savedAt === "string" ? savedAt : "" };
135
+ } catch {
136
+ debugLogger.debug(`Ignoring unreadable credential file for "${id}".`);
137
+ return void 0;
138
+ }
139
+ }
140
+ __name(readCredential, "readCredential");
141
+ function writeCredential(id, { apiKey }) {
142
+ const file = credentialPath(id);
143
+ if (!apiKey.trim()) {
144
+ throw new Error(`Refusing to save an empty API key for "${id}".`);
145
+ }
146
+ const dir = path.dirname(file);
147
+ fs.mkdirSync(dir, { recursive: true, mode: DIR_MODE });
148
+ chmodQuietly(dir, DIR_MODE);
149
+ const credential = {
150
+ apiKey,
151
+ savedAt: (/* @__PURE__ */ new Date()).toISOString()
152
+ };
153
+ const temp = path.join(
154
+ dir,
155
+ `.${id}.${process.pid}.${randomBytes(4).toString("hex")}.tmp`
156
+ );
157
+ try {
158
+ fs.writeFileSync(temp, `${JSON.stringify(credential, null, 2)}
159
+ `, {
160
+ mode: FILE_MODE
161
+ });
162
+ chmodQuietly(temp, FILE_MODE);
163
+ fs.renameSync(temp, file);
164
+ } catch (error) {
165
+ fs.rmSync(temp, { force: true });
166
+ throw error;
167
+ }
168
+ return credential;
169
+ }
170
+ __name(writeCredential, "writeCredential");
171
+ function removeCredential(id) {
172
+ const file = credentialPath(id);
173
+ try {
174
+ fs.unlinkSync(file);
175
+ return true;
176
+ } catch (error) {
177
+ if (error.code === "ENOENT") return false;
178
+ throw error;
179
+ }
180
+ }
181
+ __name(removeCredential, "removeCredential");
182
+ function readSavedApiKey(id) {
183
+ if (!id || !isValidCredentialId(id)) return void 0;
184
+ return readCredential(id)?.apiKey;
185
+ }
186
+ __name(readSavedApiKey, "readSavedApiKey");
187
+ var DENY_ENV_KEYS = /* @__PURE__ */ new Set([
188
+ "NODE_OPTIONS",
189
+ "NODE_PATH",
190
+ "LD_PRELOAD",
191
+ "LD_LIBRARY_PATH",
192
+ "DYLD_INSERT_LIBRARIES",
193
+ "DYLD_LIBRARY_PATH",
194
+ "PATH",
195
+ "HOME",
196
+ "USERPROFILE",
197
+ "TMPDIR",
198
+ "TMP",
199
+ "TEMP"
200
+ ]);
201
+ var ENV_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
202
+ var exported = /* @__PURE__ */ new Map();
203
+ function exportCredentialToEnv(envKey, apiKey) {
204
+ if (!ENV_NAME.test(envKey) || DENY_ENV_KEYS.has(envKey.toUpperCase())) {
205
+ return false;
206
+ }
207
+ const current = process.env[envKey];
208
+ const ours = exported.has(envKey) && exported.get(envKey) === current;
209
+ if (current !== void 0 && current !== "" && !ours) return false;
210
+ process.env[envKey] = apiKey;
211
+ exported.set(envKey, apiKey);
212
+ return true;
213
+ }
214
+ __name(exportCredentialToEnv, "exportCredentialToEnv");
215
+ function isExportedCredentialEnv(envKey) {
216
+ return exported.has(envKey) && exported.get(envKey) === process.env[envKey];
217
+ }
218
+ __name(isExportedCredentialEnv, "isExportedCredentialEnv");
219
+ function withdrawExportedCredential(envKey) {
220
+ if (isExportedCredentialEnv(envKey)) delete process.env[envKey];
221
+ exported.delete(envKey);
222
+ }
223
+ __name(withdrawExportedCredential, "withdrawExportedCredential");
224
+ function exportedCredentialEnvKeys() {
225
+ return [...exported.keys()].filter(isExportedCredentialEnv);
226
+ }
227
+ __name(exportedCredentialEnvKeys, "exportedCredentialEnvKeys");
228
+ function adoptExportedCredentialEnvKeys(keys) {
229
+ for (const key of keys) {
230
+ const value = process.env[key];
231
+ if (!ENV_NAME.test(key) || DENY_ENV_KEYS.has(key.toUpperCase())) continue;
232
+ if (value === void 0 || value === "") continue;
233
+ exported.set(key, value);
234
+ }
235
+ }
236
+ __name(adoptExportedCredentialEnvKeys, "adoptExportedCredentialEnvKeys");
237
+
81
238
  // packages/core/src/providers/model-api-key.ts
82
239
  init_esbuild_shims();
83
240
 
@@ -95,7 +252,7 @@ init_esbuild_shims();
95
252
  init_esbuild_shims();
96
253
 
97
254
  // packages/core/src/models/modelRegistry.ts
98
- var debugLogger = createDebugLogger("MODEL_REGISTRY");
255
+ var debugLogger2 = createDebugLogger("MODEL_REGISTRY");
99
256
  function validateAuthTypeKey(key) {
100
257
  if (Object.values(AuthType).includes(key)) {
101
258
  return key;
@@ -225,7 +382,7 @@ var ModelRegistry = class _ModelRegistry {
225
382
  const knownProtocols = Object.values(AuthType).filter((value) => value !== "openai-responses" /* USE_OPENAI_RESPONSES */).join(", ");
226
383
  const mapped = Object.hasOwn(this.providerProtocolConfig, providerId) ? this.providerProtocolConfig[providerId] : void 0;
227
384
  const message = mapped !== void 0 ? `Provider "${providerId}" maps to "${mapped}" via providerProtocol, which is not a known protocol (${knownProtocols}); skipping.` : `Provider "${providerId}" in modelProviders is not a built-in protocol (${knownProtocols}) and has no providerProtocol mapping; skipping. Add providerProtocol["${providerId}"] to route it to an SDK protocol.`;
228
- debugLogger.warn(message);
385
+ debugLogger2.warn(message);
229
386
  continue;
230
387
  }
231
388
  this.registerAuthTypeModels(protocol, models, providerId);
@@ -239,7 +396,7 @@ var ModelRegistry = class _ModelRegistry {
239
396
  */
240
397
  registerAuthTypeModels(authType, models, providerId) {
241
398
  if (!Array.isArray(models)) {
242
- debugLogger.warn(
399
+ debugLogger2.warn(
243
400
  `modelProviders for provider "${providerId ?? authType}" is not an array; skipping. Expected ModelConfig[]; legacy { protocol, models } entries are normally rewritten by the v5->v4 settings migration.`
244
401
  );
245
402
  return;
@@ -254,7 +411,7 @@ var ModelRegistry = class _ModelRegistry {
254
411
  const modelMap = this.modelsByAuthType.get(modelAuthType) ?? /* @__PURE__ */ new Map();
255
412
  const key = modelRegistryKey(config.id, config.baseUrl);
256
413
  if (modelMap.has(key)) {
257
- debugLogger.warn(
414
+ debugLogger2.warn(
258
415
  `Duplicate model id "${config.id}"${config.baseUrl ? ` with baseUrl "${config.baseUrl}"` : ""} for protocol "${modelAuthType}"${providerLabel}. Using the first registered config.`
259
416
  );
260
417
  continue;
@@ -372,7 +529,7 @@ var ModelRegistry = class _ModelRegistry {
372
529
  config.realtimeOnly
373
530
  ].filter(Boolean).length;
374
531
  if (selectorOnlyCount > 1) {
375
- debugLogger.warn(
532
+ debugLogger2.warn(
376
533
  `Model "${config.id}" in authType "${authType}" has multiple selector-only flags. It will be unreachable in at least one model selector.`
377
534
  );
378
535
  }
@@ -412,7 +569,7 @@ import { isDeepStrictEqual } from "node:util";
412
569
  // packages/core/src/models/modelsConfig.ts
413
570
  init_esbuild_shims();
414
571
  import process2 from "node:process";
415
- var debugLogger2 = createDebugLogger("ModelsConfig");
572
+ var debugLogger3 = createDebugLogger("ModelsConfig");
416
573
  var ModelsConfig = class _ModelsConfig {
417
574
  static {
418
575
  __name(this, "ModelsConfig");
@@ -986,7 +1143,7 @@ var ModelsConfig = class _ModelsConfig {
986
1143
  detail: "credential"
987
1144
  };
988
1145
  } else {
989
- debugLogger2.debug(
1146
+ debugLogger3.debug(
990
1147
  `No API key found for model "${model.id}": process.env["${model.envKey}"] is ${apiKey === "" ? "empty string" : "not set"} and no saved credential answers. Run /auth or set ${model.envKey} in your environment.`
991
1148
  );
992
1149
  }
@@ -1339,156 +1496,16 @@ var ModelsConfig = class _ModelsConfig {
1339
1496
  }
1340
1497
  };
1341
1498
 
1342
- // packages/core/src/providers/credential-store.ts
1343
- init_esbuild_shims();
1344
- import * as fs from "node:fs";
1345
- import * as path from "node:path";
1346
- import { randomBytes } from "node:crypto";
1347
- var debugLogger3 = createDebugLogger("CREDENTIAL_STORE");
1348
- var CREDENTIAL_ID = /^[a-z0-9][a-z0-9-]*$/;
1349
- var DIR_MODE = 448;
1350
- var FILE_MODE = 384;
1351
- function isValidCredentialId(id) {
1352
- return CREDENTIAL_ID.test(id);
1353
- }
1354
- __name(isValidCredentialId, "isValidCredentialId");
1355
- function assertCredentialId(id) {
1356
- if (!isValidCredentialId(id)) {
1357
- throw new Error(
1358
- `Invalid credential id "${id}": use lowercase letters, digits and dashes.`
1359
- );
1360
- }
1361
- }
1362
- __name(assertCredentialId, "assertCredentialId");
1363
- function credentialPath(id) {
1364
- assertCredentialId(id);
1365
- return path.join(Storage.getCredentialsDir(), `${id}.json`);
1366
- }
1367
- __name(credentialPath, "credentialPath");
1368
- function credentialIdForProvider(providerId) {
1369
- return providerId.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase().replace(/[^a-z0-9-]/g, "-");
1370
- }
1371
- __name(credentialIdForProvider, "credentialIdForProvider");
1372
- function chmodQuietly(target, mode) {
1373
- try {
1374
- fs.chmodSync(target, mode);
1375
- } catch (error) {
1376
- if (error.code !== "EPERM") throw error;
1377
- }
1378
- }
1379
- __name(chmodQuietly, "chmodQuietly");
1380
- function readCredential(id) {
1381
- const file = credentialPath(id);
1382
- let raw;
1383
- try {
1384
- raw = fs.readFileSync(file, "utf8");
1385
- } catch {
1386
- return void 0;
1387
- }
1388
- try {
1389
- const parsed = JSON.parse(raw);
1390
- const apiKey = parsed && typeof parsed === "object" ? parsed.apiKey : void 0;
1391
- if (typeof apiKey !== "string" || !apiKey.trim()) {
1392
- throw new Error("no apiKey");
1393
- }
1394
- const savedAt = parsed.savedAt;
1395
- return { apiKey, savedAt: typeof savedAt === "string" ? savedAt : "" };
1396
- } catch {
1397
- debugLogger3.debug(`Ignoring unreadable credential file for "${id}".`);
1398
- return void 0;
1399
- }
1400
- }
1401
- __name(readCredential, "readCredential");
1402
- function writeCredential(id, { apiKey }) {
1403
- const file = credentialPath(id);
1404
- if (!apiKey.trim()) {
1405
- throw new Error(`Refusing to save an empty API key for "${id}".`);
1406
- }
1407
- const dir = path.dirname(file);
1408
- fs.mkdirSync(dir, { recursive: true, mode: DIR_MODE });
1409
- chmodQuietly(dir, DIR_MODE);
1410
- const credential = {
1411
- apiKey,
1412
- savedAt: (/* @__PURE__ */ new Date()).toISOString()
1413
- };
1414
- const temp = path.join(
1415
- dir,
1416
- `.${id}.${process.pid}.${randomBytes(4).toString("hex")}.tmp`
1417
- );
1418
- try {
1419
- fs.writeFileSync(temp, `${JSON.stringify(credential, null, 2)}
1420
- `, {
1421
- mode: FILE_MODE
1422
- });
1423
- chmodQuietly(temp, FILE_MODE);
1424
- fs.renameSync(temp, file);
1425
- } catch (error) {
1426
- fs.rmSync(temp, { force: true });
1427
- throw error;
1428
- }
1429
- return credential;
1430
- }
1431
- __name(writeCredential, "writeCredential");
1432
- function removeCredential(id) {
1433
- const file = credentialPath(id);
1434
- try {
1435
- fs.unlinkSync(file);
1436
- return true;
1437
- } catch (error) {
1438
- if (error.code === "ENOENT") return false;
1439
- throw error;
1440
- }
1441
- }
1442
- __name(removeCredential, "removeCredential");
1443
- function readSavedApiKey(id) {
1444
- if (!id || !isValidCredentialId(id)) return void 0;
1445
- return readCredential(id)?.apiKey;
1446
- }
1447
- __name(readSavedApiKey, "readSavedApiKey");
1448
- var DENY_ENV_KEYS = /* @__PURE__ */ new Set([
1449
- "NODE_OPTIONS",
1450
- "NODE_PATH",
1451
- "LD_PRELOAD",
1452
- "LD_LIBRARY_PATH",
1453
- "DYLD_INSERT_LIBRARIES",
1454
- "DYLD_LIBRARY_PATH",
1455
- "PATH",
1456
- "HOME",
1457
- "USERPROFILE",
1458
- "TMPDIR",
1459
- "TMP",
1460
- "TEMP"
1461
- ]);
1462
- var ENV_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
1463
- var exported = /* @__PURE__ */ new Map();
1464
- function exportCredentialToEnv(envKey, apiKey) {
1465
- if (!ENV_NAME.test(envKey) || DENY_ENV_KEYS.has(envKey.toUpperCase())) {
1466
- return false;
1467
- }
1468
- const current = process.env[envKey];
1469
- const ours = exported.has(envKey) && exported.get(envKey) === current;
1470
- if (current !== void 0 && current !== "" && !ours) return false;
1471
- process.env[envKey] = apiKey;
1472
- exported.set(envKey, apiKey);
1473
- return true;
1474
- }
1475
- __name(exportCredentialToEnv, "exportCredentialToEnv");
1476
- function isExportedCredentialEnv(envKey) {
1477
- return exported.has(envKey) && exported.get(envKey) === process.env[envKey];
1478
- }
1479
- __name(isExportedCredentialEnv, "isExportedCredentialEnv");
1480
- function withdrawExportedCredential(envKey) {
1481
- if (isExportedCredentialEnv(envKey)) delete process.env[envKey];
1482
- exported.delete(envKey);
1483
- }
1484
- __name(withdrawExportedCredential, "withdrawExportedCredential");
1485
-
1486
1499
  // packages/core/src/providers/install.ts
1487
1500
  var fileCredentialStore = {
1488
1501
  read: readCredential,
1489
1502
  write: writeCredential,
1490
1503
  remove: removeCredential
1491
1504
  };
1505
+ function isConversationModel(model) {
1506
+ return !model.imageOnly && !model.voiceOnly && !model.realtimeOnly;
1507
+ }
1508
+ __name(isConversationModel, "isConversationModel");
1492
1509
  function isSameModelIdentity(a, b) {
1493
1510
  return a.id === b.id && (a.baseUrl ?? "") === (b.baseUrl ?? "");
1494
1511
  }
@@ -1724,6 +1741,27 @@ async function applyProviderInstallPlan(plan, options) {
1724
1741
  settings.setValue(`modelProviders.${providerId}`, remaining);
1725
1742
  }
1726
1743
  }
1744
+ const installedModels = (plan.modelProviders ?? []).flatMap(
1745
+ (patch) => patch.models
1746
+ );
1747
+ if (!preserveSelection && installedModels.some(isConversationModel)) {
1748
+ const keeps = /* @__PURE__ */ __name((model) => !isConversationModel(model) || installedModels.some(
1749
+ (installed) => isSameModelIdentity(model, installed)
1750
+ ), "keeps");
1751
+ const ownProviders = settings.getModelProvidersForWrite?.().modelProviders ?? settings.getModelProviders();
1752
+ for (const [providerId, models] of Object.entries(ownProviders)) {
1753
+ if (!Array.isArray(models) || providerId.includes(".")) continue;
1754
+ const remaining = models.filter(keeps);
1755
+ if (remaining.length !== models.length)
1756
+ settings.setValue(`modelProviders.${providerId}`, remaining);
1757
+ }
1758
+ for (const [providerId, models] of Object.entries(
1759
+ updatedModelProviders
1760
+ )) {
1761
+ if (Array.isArray(models))
1762
+ updatedModelProviders[providerId] = models.filter(keeps);
1763
+ }
1764
+ }
1727
1765
  const effectiveProviders = settings.getModelProviders();
1728
1766
  for (const patch of plan.modelProviders ?? []) {
1729
1767
  const effectiveModels = getModelsForProviderProtocol(
@@ -1736,7 +1774,7 @@ async function applyProviderInstallPlan(plan, options) {
1736
1774
  patch.authType
1737
1775
  );
1738
1776
  const ownProviders = settings.getModelProvidersForWrite?.().modelProviders;
1739
- const installedModels = ownProviders ? getModelsForProviderProtocol(
1777
+ const installedModels2 = ownProviders ? getModelsForProviderProtocol(
1740
1778
  { [patch.authType]: ownProviders[patch.authType] ?? [] },
1741
1779
  patch.authType,
1742
1780
  mapping
@@ -1745,7 +1783,7 @@ async function applyProviderInstallPlan(plan, options) {
1745
1783
  const winner = effectiveModels.find(
1746
1784
  (effective) => isSameModelIdentity(model, effective) && resolveModelProtocol(patch.authType, model) === resolveModelProtocol(patch.authType, effective)
1747
1785
  );
1748
- const installed = installedModels.find(
1786
+ const installed = installedModels2.find(
1749
1787
  (entry) => isSameModelIdentity(model, entry) && resolveModelProtocol(patch.authType, model) === resolveModelProtocol(patch.authType, entry)
1750
1788
  );
1751
1789
  const comparable = /* @__PURE__ */ __name((model2) => JSON.parse(
@@ -3465,7 +3503,8 @@ var BRAND = {
3465
3503
  displayName: "O1-Code",
3466
3504
  organization: "OrganizaOne",
3467
3505
  repoUrl: "https://github.com/silvioricardo87/o1-code",
3468
- coAuthorEmail: "o1-code@organizaone.com"
3506
+ coAuthorEmail: "o1-code@organizaone.com",
3507
+ userAgent: "O1Code"
3469
3508
  };
3470
3509
 
3471
3510
  // packages/core/src/providers/presets/organizaone.ts
@@ -4095,6 +4134,8 @@ export {
4095
4134
  credentialIdForProvider,
4096
4135
  removeCredential,
4097
4136
  readSavedApiKey,
4137
+ exportedCredentialEnvKeys,
4138
+ adoptExportedCredentialEnvKeys,
4098
4139
  resolveSavedModelApiKey,
4099
4140
  resolveModelApiKey,
4100
4141
  exportSavedCredentials,
@@ -4155,11 +4196,6 @@ export {
4155
4196
  * Copyright 2025 Qwen
4156
4197
  * SPDX-License-Identifier: Apache-2.0
4157
4198
  */
4158
- /**
4159
- * @license
4160
- * Copyright 2025 Qwen Team
4161
- * SPDX-License-Identifier: Apache-2.0
4162
- */
4163
4199
  /**
4164
4200
  * @license
4165
4201
  * Copyright 2026 o1-code contributors
@@ -4172,6 +4208,11 @@ export {
4172
4208
  * The functions are synchronous: the key is read where a content generator
4173
4209
  * config is built, which is synchronous code.
4174
4210
  */
4211
+ /**
4212
+ * @license
4213
+ * Copyright 2025 Qwen Team
4214
+ * SPDX-License-Identifier: Apache-2.0
4215
+ */
4175
4216
  /**
4176
4217
  * @license
4177
4218
  * Copyright 2026 o1-code contributors
@@ -11,7 +11,7 @@ import {
11
11
  } from "./chunk-TESN7CJW.js";
12
12
  import {
13
13
  resolveSavedModelApiKey
14
- } from "./chunk-4NV74I76.js";
14
+ } from "./chunk-I2XHQTBX.js";
15
15
  import {
16
16
  createDebugLogger
17
17
  } from "./chunk-UK2KIU2V.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  CoreToolScheduler
5
- } from "./chunk-TNQJ66S4.js";
5
+ } from "./chunk-S7EZBSGP.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-S2467S6L.js";
@@ -2,22 +2,22 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-YV5ECLPM.js";
5
+ } from "./chunk-FCTP7NAC.js";
6
6
  import {
7
7
  CUSTOM_SANDBOX_IMAGE_ENV_VAR,
8
8
  HOST_UPDATE_RELAUNCH_ENV_VAR,
9
9
  SKIP_UPDATE_CHECK_ENV_VAR,
10
10
  requestUpdateOnExit
11
- } from "./chunk-NHKFCD4F.js";
11
+ } from "./chunk-4ZA2DNDT.js";
12
12
  import {
13
13
  loadUndici
14
14
  } from "./chunk-K5SPVYI4.js";
15
15
  import {
16
16
  IdeClient
17
- } from "./chunk-TNQJ66S4.js";
17
+ } from "./chunk-S7EZBSGP.js";
18
18
  import {
19
19
  getAllProviderBaseUrls
20
- } from "./chunk-4NV74I76.js";
20
+ } from "./chunk-I2XHQTBX.js";
21
21
  import {
22
22
  detectRuntime,
23
23
  getOrCreateSharedDispatcher,
@@ -236,11 +236,11 @@ function startPostRenderPrefetches(config, settings, options = {}) {
236
236
  { updateEventEmitter },
237
237
  { t }
238
238
  ] = await Promise.all([
239
- import("./updateCheck-GD2DXYWP.js"),
240
- import("./handleAutoUpdate-QVESGET2.js"),
241
- import("./installationInfo-P5YK242M.js"),
239
+ import("./updateCheck-6QJH7WCQ.js"),
240
+ import("./handleAutoUpdate-J6Z2XB5Q.js"),
241
+ import("./installationInfo-AXAY2SH2.js"),
242
242
  import("./updateEventEmitter-7FFRBWJB.js"),
243
- import("./i18n-ZSSY3WKU.js")
243
+ import("./i18n-OO4UHAXL.js")
244
244
  ]);
245
245
  const updateCheckSkippedMessage = /* @__PURE__ */ __name((error) => t("Update check skipped ({{reason}}) \u2014 run /update to retry.", {
246
246
  reason: describeUpdateCheckFailure(error)
@@ -317,7 +317,7 @@ ${t(
317
317
  state: "connecting"
318
318
  });
319
319
  try {
320
- const { connectIdeForStartup } = await import("./initializer-T5M3ALQB.js");
320
+ const { connectIdeForStartup } = await import("./initializer-JQHJYCF5.js");
321
321
  await withTimeout(
322
322
  connectIdeForStartup(config),
323
323
  "ide_connect",
@@ -341,7 +341,7 @@ ${t(
341
341
  }
342
342
  if (config.isInteractive()) {
343
343
  runDeferredTask("background_housekeeping", async () => {
344
- const { startBackgroundHousekeeping } = await import("./scheduler-LFPINJ3O.js");
344
+ const { startBackgroundHousekeeping } = await import("./scheduler-O5OYPI63.js");
345
345
  startBackgroundHousekeeping(config, settings);
346
346
  });
347
347
  }