activeclaw 2026.2.12 → 2026.2.13

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 (364) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/dist/{accounts-DbzMEfKN.js → accounts-DCDeFTra.js} +2 -2
  3. package/dist/{accounts-DimKrt7j.js → accounts-DeqIQjo1.js} +2 -2
  4. package/dist/{acp-cli-Cs1ai4XO.js → acp-cli-CeYI4XRd.js} +15 -16
  5. package/dist/{acp-cli-oV2dodPg.js → acp-cli-rNbGXICg.js} +14 -15
  6. package/dist/{agent-BndgzkUe.js → agent-BvNJF5QL.js} +19 -16
  7. package/dist/{agent-DZvDwqnd.js → agent-CyMxTyrG.js} +20 -17
  8. package/dist/{agent-scope-rXQ7WARN.js → agent-scope-BIEhVP4_.js} +1 -1
  9. package/dist/{agent-scope---6LLHj0.js → agent-scope-CQCus0rI.js} +2 -2
  10. package/dist/{agent-scope-RCSw6gHy.js → agent-scope-CsRbLH4l.js} +3 -3
  11. package/dist/{agent-scope-CN8DM4Xb.js → agent-scope-DPIFau3f.js} +1 -1
  12. package/dist/{audio-preflight-SZRntkxo.js → audio-preflight-BU8W7uxc.js} +10 -10
  13. package/dist/{audio-preflight-ClVNINDs.js → audio-preflight-CGsumMzb.js} +10 -10
  14. package/dist/{audio-preflight-txAP3v-C.js → audio-preflight-SLmkJI6-.js} +22 -22
  15. package/dist/{audio-preflight-BP6s-UPp.js → audio-preflight-jZc5mFCZ.js} +23 -23
  16. package/dist/{audit-CQzrm61N.js → audit-Dmww_503.js} +70 -18
  17. package/dist/{audit-DMH3CSXY.js → audit-wPu26VMb.js} +72 -20
  18. package/dist/{tailscale-DU6DgqVy.js → auth-9x3lqfIY.js} +208 -3
  19. package/dist/{tailscale-DHfcfRCx.js → auth-CQNl_IaI.js} +190 -3
  20. package/dist/{auth-health-BB3e3OmN.js → auth-health-C4L4FGBA.js} +1 -1
  21. package/dist/{auth-health-zZ9dnQGC.js → auth-health-j6epgQbq.js} +1 -1
  22. package/dist/{auth-profiles-CcJ3hrog.js → auth-profiles-ByNs3eEm.js} +60 -22
  23. package/dist/build-info.json +3 -3
  24. package/dist/bundled/boot-md/handler.js +19 -16
  25. package/dist/bundled/session-memory/handler.js +16 -15
  26. package/dist/{call-Yxns4CVq.js → call-DVYCIV8m.js} +5 -5
  27. package/dist/{call-C9az806y.js → call-SolyGS1r.js} +4 -4
  28. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  29. package/dist/{channel-options-CjXPwMWu.js → channel-options-BwC2yQcR.js} +4 -4
  30. package/dist/{channel-options-CX4iYQfR.js → channel-options-Cq9BVDkP.js} +7 -7
  31. package/dist/{channel-selection-BoQ7GurB.js → channel-selection-D4D6ImhN.js} +2 -2
  32. package/dist/{channel-selection-C78IwbD-.js → channel-selection-MZAHm4U8.js} +2 -2
  33. package/dist/{channels-cli-DUHsmX3q.js → channels-cli-9Dsk9Qm7.js} +53 -51
  34. package/dist/{channels-cli-BXMQPB4x.js → channels-cli-BJUppQll.js} +52 -50
  35. package/dist/{channels-status-issues-Ca9--azp.js → channels-status-issues-D7GSV1GS.js} +1 -1
  36. package/dist/{channels-status-issues-CbULFg2X.js → channels-status-issues-DDAWeT-6.js} +1 -1
  37. package/dist/{chrome-svgmQ8T_.js → chrome-BfB6JdKF.js} +2 -1
  38. package/dist/{chrome-juQxt0zf.js → chrome-Cvr-57lg.js} +4 -3
  39. package/dist/{chrome-BCPPeLQ6.js → chrome-DL0avO8n.js} +2 -1
  40. package/dist/{chrome-yIKmOzCO.js → chrome-foEwx3lN.js} +5 -4
  41. package/dist/{clack-prompter-Dmvcu3gn.js → clack-prompter-Bz3Mmcl-.js} +5 -5
  42. package/dist/{clack-prompter-DuBVnTKy.js → clack-prompter-ChCGXfyt.js} +4 -4
  43. package/dist/cli/daemon-cli.js +1 -1
  44. package/dist/{cli-FdxAcu_y.js → cli-ZR9ugUBX.js} +42 -40
  45. package/dist/{cli-By331Q9f.js → cli-miPe4Ujz.js} +42 -40
  46. package/dist/{client-B0_GiCjB.js → client-BrYfyoDK.js} +52 -3
  47. package/dist/{client-D7wrC1Ug.js → client-CTwXnRl7.js} +53 -4
  48. package/dist/{command-format-ayFsmwwz.js → command-format-Bxe0mWee.js} +1 -1
  49. package/dist/{command-options-BSDiKuyX.js → command-options-BvgxzPbK.js} +4 -4
  50. package/dist/{commands-BG25qku5.js → commands-BX_OIIVR.js} +4 -4
  51. package/dist/{completion-cli-C4zxjkC1.js → completion-cli-CR77-jyv.js} +3 -3
  52. package/dist/{completion-cli-DECEgBWR.js → completion-cli-DnjpxAag.js} +29 -29
  53. package/dist/{config-B7sno9eI.js → config-Bdhomfei.js} +15 -6
  54. package/dist/{config-BuF7vm-v.js → config-BvMsmctM.js} +13 -4
  55. package/dist/{config-D50SQVar.js → config-QYrbd7x7.js} +13 -4
  56. package/dist/{config-DH9TLUNc.js → config-aFQssWKX.js} +15 -6
  57. package/dist/{config-guard-DPxxY1iw.js → config-guard-CljaSxJd.js} +39 -39
  58. package/dist/{configure-BZQ9uSVX.js → configure-BXLiucXo.js} +19 -19
  59. package/dist/{configure-Cg5IKSUy.js → configure-BYPqXzGZ.js} +19 -19
  60. package/dist/control-auth-8Cf4WXpR.js +54 -0
  61. package/dist/control-auth-DBCu3qyv.js +54 -0
  62. package/dist/{control-service-CBlMVTRu.js → control-service-B5KnPqGP.js} +11 -5
  63. package/dist/{control-service-B2er20Ke.js → control-service-DKnttEus.js} +10 -4
  64. package/dist/{cron-cli-B2Zwhy_r.js → cron-cli-D7BRjDv2.js} +17 -17
  65. package/dist/{cron-cli-EaRUVd0p.js → cron-cli-z1zk_FXQ.js} +16 -16
  66. package/dist/{daemon-cli-CVNzObIF.js → daemon-cli-BDkU2ocb.js} +18 -18
  67. package/dist/{daemon-cli-DF6Rxjy6.js → daemon-cli-cNSF93-v.js} +19 -19
  68. package/dist/{daemon-runtime-BHF5NjQ7.js → daemon-runtime-B0tg_LsX.js} +2 -2
  69. package/dist/{daemon-runtime-B05PME1z.js → daemon-runtime-Bsjeut6m.js} +3 -3
  70. package/dist/{deliver-DzcxEcza.js → deliver-CIU9Npgs.js} +306 -12
  71. package/dist/{deliver-COf5XFo_.js → deliver-DYYCo1G7.js} +302 -8
  72. package/dist/{deliver-B1jsU2r7.js → deliver-LsxKETro.js} +306 -12
  73. package/dist/{deliver-CLwC284e.js → deliver-xUU3mGHo.js} +302 -8
  74. package/dist/{deps-Cva7QM_t.js → deps-QSwGcoNZ.js} +2 -2
  75. package/dist/{deps-B6602Wid.js → deps-lAAA2zYI.js} +2 -2
  76. package/dist/{devices-cli-DPg_4aW8.js → devices-cli-BG3-2oqt.js} +13 -13
  77. package/dist/{devices-cli-D8K3hZR5.js → devices-cli-VIQtOvt_.js} +13 -13
  78. package/dist/{directory-cli-OGBSVKAZ.js → directory-cli-BCJwjVC0.js} +15 -15
  79. package/dist/{directory-cli-Bn47fFX7.js → directory-cli-jYzZ02gk.js} +14 -14
  80. package/dist/{dispatcher-BHsNwFe-.js → dispatcher-DY51b-Zc.js} +2 -2
  81. package/dist/{dns-cli-DmTHXgwU.js → dns-cli-DHIiMJjS.js} +11 -11
  82. package/dist/{dns-cli-kk2rysJh.js → dns-cli-pZlv87Ib.js} +11 -11
  83. package/dist/{docs-cli-CB77CeM4.js → docs-cli-2JDiwfzP.js} +7 -7
  84. package/dist/{docs-cli-DUcyw0X0.js → docs-cli-BhkYqoIQ.js} +6 -6
  85. package/dist/{doctor-DwqdkfPa.js → doctor-Bf8EhNtA.js} +33 -33
  86. package/dist/{doctor-BZfxDGUg.js → doctor-sYG5V4Co.js} +32 -32
  87. package/dist/entry.js +36 -14
  88. package/dist/{env-DE9xvYOL.js → env-ONzUVAG2.js} +1 -1
  89. package/dist/{exec-4WHuOniw.js → exec-B8lXct-k.js} +31 -13
  90. package/dist/{exec-B8JKbXKW.js → exec-CACT5OAW.js} +1 -1
  91. package/dist/{exec-D12IZYtJ.js → exec-CJFFoM7H.js} +31 -13
  92. package/dist/{exec-DXtR2fhb.js → exec-YIosokWE.js} +1 -1
  93. package/dist/{exec-approvals-cli-GizapOX5.js → exec-approvals-cli-7LH0lwhO.js} +19 -19
  94. package/dist/{exec-approvals-cli-BWO0Rs-a.js → exec-approvals-cli-apGnQbpj.js} +19 -19
  95. package/dist/extensionAPI.js +1108 -661
  96. package/dist/{fetch-CqZP8jwB.js → fetch-DmiOpALK.js} +5 -3
  97. package/dist/{fetch-timeout-B2KlHXi3.js → fetch-timeout-BEtUjM1S.js} +5 -3
  98. package/dist/{fetch-timeout-ohY5QmsW.js → fetch-timeout-DEoXG_SF.js} +5 -3
  99. package/dist/{fetch-timeout-4UKsdtE1.js → fetch-timeout-DTK9vxex.js} +5 -3
  100. package/dist/{gateway-cli-Bbd1Xbsc.js → gateway-cli-DUdYxlZS.js} +315 -103
  101. package/dist/{gateway-cli-PR1S0BTe.js → gateway-cli-DbvWmE-9.js} +314 -102
  102. package/dist/{gateway-rpc-8gue7Qjt.js → gateway-rpc-BByb2Snz.js} +3 -3
  103. package/dist/{gateway-rpc-DjuxyOm-.js → gateway-rpc-wXSCUZXj.js} +3 -3
  104. package/dist/{github-copilot-auth-B3chCDfc.js → github-copilot-auth-D7ewvpMd.js} +16 -8
  105. package/dist/{github-copilot-auth-Cm2SB8Qf.js → github-copilot-auth-DDispnyz.js} +16 -8
  106. package/dist/{github-copilot-token-SLWintYd.js → github-copilot-token-Cfs0Wxr8.js} +1 -1
  107. package/dist/{gmail-setup-utils-Cgh0ptgA.js → gmail-setup-utils-Cfns8TQx.js} +3 -3
  108. package/dist/{gmail-setup-utils-WDyf1gTU.js → gmail-setup-utils-DJb-_5kO.js} +4 -4
  109. package/dist/{health-format-C0C_Apce.js → health-format-KGPokKJH.js} +68 -28
  110. package/dist/{health-format-gLMfE2wf.js → health-format-LZDxu3rv.js} +67 -27
  111. package/dist/{help-format-5iAL_46a.js → help-format-C48TXngO.js} +1 -1
  112. package/dist/{help-format-DUy1KRxq.js → help-format-R5fLToDw.js} +1 -1
  113. package/dist/{hooks-cli-CEN1h1ya.js → hooks-cli-CT8JCRkH.js} +46 -44
  114. package/dist/{hooks-cli-DrchIqSi.js → hooks-cli-S1MKumJO.js} +47 -45
  115. package/dist/{hooks-status-Cgy6AtQk.js → hooks-status-Cw0xD8Lt.js} +3 -3
  116. package/dist/{hooks-status--xVLpAXz.js → hooks-status-D9MhwHRp.js} +3 -3
  117. package/dist/{image-Dkawt9Kg.js → image-Brk1sJbw.js} +4 -4
  118. package/dist/{image-DI9s9eEx.js → image-C4Nn2p3e.js} +5 -5
  119. package/dist/{image-LxFvu0wL.js → image-DgtfXMcX.js} +5 -5
  120. package/dist/{image-B4mDPdyz.js → image-RKwc3fsL.js} +4 -4
  121. package/dist/index.js +83 -83
  122. package/dist/{installs-NS0VMPN7.js → installs-CrLcWYHe.js} +4 -4
  123. package/dist/{installs-DA-eSN1B.js → installs-DscWb9b9.js} +5 -5
  124. package/dist/{links-CV4oki2u.js → links-B8LAzWwg.js} +1 -1
  125. package/dist/{links-7M-j83As.js → links-Eax1UO3w.js} +1 -1
  126. package/dist/llm-slug-generator.js +15 -15
  127. package/dist/{loader-Caow9TPA.js → loader-KjT074JR.js} +1105 -762
  128. package/dist/{logging-CeHn2itV.js → logging-BAyPwvdH.js} +1 -1
  129. package/dist/{logging-D0MyqUlV.js → logging-CRq4h04P.js} +2 -2
  130. package/dist/{login-qr-Xx8yJrSc.js → login-qr-B6ZgAuIf.js} +5 -5
  131. package/dist/{login-qr-CoskdtvN.js → login-qr-Bua-p0nG.js} +2 -2
  132. package/dist/{login-qr-CAk9D-FM.js → login-qr-CuvemJj4.js} +6 -6
  133. package/dist/{login-qr-kUyMWXV1.js → login-qr-Djr1JfIf.js} +2 -2
  134. package/dist/{logs-cli-B476pzJS.js → logs-cli-9IAV7rWY.js} +15 -15
  135. package/dist/{logs-cli-BQRUI_PO.js → logs-cli-EiKzUFPa.js} +14 -14
  136. package/dist/{manager-CBApH7eR.js → manager-BIMh_eSm.js} +5 -5
  137. package/dist/{manager-CyJH6WMg.js → manager-CwinWQoz.js} +5 -5
  138. package/dist/{manager-DScY_ZTT.js → manager-DkqF1GiK.js} +7 -7
  139. package/dist/{manager-DseK7RWj.js → manager-T1XfGchB.js} +8 -8
  140. package/dist/{manifest-registry-DFckk-L8.js → manifest-registry-CQhdnDBZ.js} +2 -2
  141. package/dist/{manifest-registry-BTgLN_W2.js → manifest-registry-u0okVSkU.js} +2 -2
  142. package/dist/{message-channel-0717wOz-.js → message-channel-BLi2a6Yw.js} +1 -1
  143. package/dist/{message-channel-BlgPSDAh.js → message-channel-C_MmebBt.js} +1 -1
  144. package/dist/{model-auth-CbqRVYRp.js → model-auth-CabXIF6O.js} +57 -19
  145. package/dist/{model-selection-unMJyUIE.js → model-selection-BLuqsGVB.js} +59 -21
  146. package/dist/{model-selection-B9Y7dKQd.js → model-selection-C1GmkTAV.js} +57 -19
  147. package/dist/{models-cli-B1cLGcRz.js → models-cli-9jmDv-h3.js} +50 -48
  148. package/dist/{models-cli-D7sChCi6.js → models-cli-zS9rtWz8.js} +48 -46
  149. package/dist/{node-cli-ic2C1xs2.js → node-cli-CrpTxTTs.js} +26 -24
  150. package/dist/{node-cli-CS3KwBh1.js → node-cli-wemUMCg-.js} +25 -23
  151. package/dist/{node-service-D_Cdq1JI.js → node-service-C8DTHTMg.js} +2 -2
  152. package/dist/{node-service-_vgO5xR-.js → node-service-WQuEKz6W.js} +1 -1
  153. package/dist/{nodes-cli-CipcvVMc.js → nodes-cli-BaU2SIFw.js} +16 -16
  154. package/dist/{nodes-cli-B1meaW7S.js → nodes-cli-Dx23D72n.js} +16 -16
  155. package/dist/{nodes-screen-N-4_0VIu.js → nodes-screen-C0IuBqUL.js} +1 -1
  156. package/dist/{note-CAM9PbSJ.js → note-BhRSeNeu.js} +2 -2
  157. package/dist/{note-Ci08TSbV.js → note-hhtubr2j.js} +1 -1
  158. package/dist/{onboard-channels-DMcOT0dj.js → onboard-channels-C501x8GI.js} +8 -8
  159. package/dist/{onboard-channels-CsT3E4bT.js → onboard-channels-Dxzroasd.js} +8 -8
  160. package/dist/{onboard-skills-DoxkpnEU.js → onboard-skills-DV0Qzvjj.js} +19 -19
  161. package/dist/{onboard-skills-D-BrCoRN.js → onboard-skills-rlBHcu3Q.js} +18 -18
  162. package/dist/{onboarding-B92952fz.js → onboarding-CN-EDLjd.js} +34 -34
  163. package/dist/{pairing-cli-BDUJ5VoX.js → pairing-cli-CDHG4xuI.js} +15 -15
  164. package/dist/{pairing-cli-0wbU1u8d.js → pairing-cli-CQP34Dlx.js} +14 -14
  165. package/dist/{pairing-labels-3o3QO3Qn.js → pairing-labels-B6CN0SNH.js} +1 -1
  166. package/dist/{pairing-labels-Bin1K7_f.js → pairing-labels-CgNHnjzT.js} +1 -1
  167. package/dist/{pairing-store-CL4rJ7m7.js → pairing-store-CmlRVqOz.js} +2 -2
  168. package/dist/{pairing-store-fIWI3pXG.js → pairing-store-Dp5_JGnG.js} +3 -3
  169. package/dist/{path-env-CXWUFfFv.js → path-env-CLvYNwtL.js} +1 -1
  170. package/dist/{path-env-C5FR_Eay.js → path-env-CaYUVIML.js} +2 -2
  171. package/dist/{paths-DwKNqk_S.js → paths-B0a4ywSO.js} +30 -5
  172. package/dist/{paths-RITJT4UY.js → paths-B49s6UZQ.js} +30 -5
  173. package/dist/{paths-CB2fqqbX.js → paths-D0O87MfH.js} +30 -5
  174. package/dist/{paths-IivnSNkP.js → paths-DLINmNFQ.js} +31 -6
  175. package/dist/{pi-embedded-DhYItk8O.js → pi-embedded-Ctrt2kz0.js} +1109 -662
  176. package/dist/{pi-embedded-helpers-CmftU5Zj.js → pi-embedded-helpers-CMKLjW6X.js} +8 -5
  177. package/dist/{pi-embedded-helpers-CfXnSIFx.js → pi-embedded-helpers-CUzTc1v6.js} +170 -19
  178. package/dist/{pi-embedded-helpers-Uan-3N1T.js → pi-embedded-helpers-DfwkwPYD.js} +7 -4
  179. package/dist/{pi-embedded-helpers-Bri9tk9g.js → pi-embedded-helpers-WDwx99UA.js} +170 -19
  180. package/dist/{pi-tools.policy-CJFi1sny.js → pi-tools.policy-BpsROZbz.js} +4 -4
  181. package/dist/{plugin-auto-enable-BY4CqJbD.js → plugin-auto-enable-Bqhc3w5n.js} +5 -5
  182. package/dist/{plugin-auto-enable-DbQrtQjL.js → plugin-auto-enable-PW76g_PJ.js} +5 -5
  183. package/dist/plugin-sdk/agents/pi-embedded-runner/run/params.d.ts +2 -0
  184. package/dist/plugin-sdk/agents/pi-embedded-runner/run/types.d.ts +2 -0
  185. package/dist/plugin-sdk/agents/pi-embedded-runner/types.d.ts +15 -0
  186. package/dist/plugin-sdk/agents/pi-embedded-subscribe.handlers.tools.d.ts +1 -1
  187. package/dist/plugin-sdk/agents/pi-embedded-subscribe.handlers.types.d.ts +2 -0
  188. package/dist/plugin-sdk/agents/pi-embedded-subscribe.types.d.ts +2 -0
  189. package/dist/plugin-sdk/agents/session-tool-result-guard-wrapper.d.ts +2 -0
  190. package/dist/plugin-sdk/agents/session-tool-result-guard.d.ts +4 -0
  191. package/dist/plugin-sdk/agents/tools/agent-step.d.ts +3 -0
  192. package/dist/plugin-sdk/agents/usage.d.ts +1 -0
  193. package/dist/plugin-sdk/auto-reply/reply/reply-reference.d.ts +1 -1
  194. package/dist/plugin-sdk/auto-reply/reply/session-run-accounting.d.ts +11 -0
  195. package/dist/plugin-sdk/auto-reply/reply/session-usage.d.ts +8 -0
  196. package/dist/plugin-sdk/browser/control-auth.d.ts +13 -0
  197. package/dist/plugin-sdk/channels/plugins/onboarding/signal.d.ts +1 -0
  198. package/dist/plugin-sdk/cli/prompt.d.ts +1 -0
  199. package/dist/plugin-sdk/commands/agent/types.d.ts +2 -0
  200. package/dist/plugin-sdk/config/sessions/paths.d.ts +7 -2
  201. package/dist/plugin-sdk/config/types.agents.d.ts +2 -0
  202. package/dist/plugin-sdk/config/types.discord.d.ts +5 -0
  203. package/dist/plugin-sdk/config/types.gateway.d.ts +15 -0
  204. package/dist/plugin-sdk/config/types.hooks.d.ts +15 -0
  205. package/dist/plugin-sdk/config/zod-schema.agents.d.ts +1 -0
  206. package/dist/plugin-sdk/config/zod-schema.d.ts +11 -0
  207. package/dist/plugin-sdk/config/zod-schema.providers-core.d.ts +9 -0
  208. package/dist/plugin-sdk/config/zod-schema.providers.d.ts +4 -0
  209. package/dist/plugin-sdk/discord/monitor/allow-list.d.ts +15 -0
  210. package/dist/plugin-sdk/discord/send.types.d.ts +3 -0
  211. package/dist/plugin-sdk/gateway/auth.d.ts +36 -0
  212. package/dist/plugin-sdk/gateway/protocol/schema/agent.d.ts +6 -0
  213. package/dist/plugin-sdk/gateway/session-utils.fs.d.ts +3 -1
  214. package/dist/plugin-sdk/index.js +295 -99
  215. package/dist/plugin-sdk/infra/binaries.d.ts +3 -0
  216. package/dist/plugin-sdk/infra/heartbeat-runner.d.ts +1 -0
  217. package/dist/plugin-sdk/infra/net/fetch-guard.d.ts +1 -0
  218. package/dist/plugin-sdk/infra/net/ssrf.d.ts +1 -0
  219. package/dist/plugin-sdk/infra/tailscale.d.ts +34 -0
  220. package/dist/plugin-sdk/infra/tmp-openclaw-dir.d.ts +10 -0
  221. package/dist/plugin-sdk/logging/logger.d.ts +1 -1
  222. package/dist/plugin-sdk/media/input-files.d.ts +5 -0
  223. package/dist/plugin-sdk/routing/resolve-route.d.ts +3 -1
  224. package/dist/plugin-sdk/security/external-content.d.ts +1 -1
  225. package/dist/plugin-sdk/security/secret-equal.d.ts +1 -0
  226. package/dist/plugin-sdk/sessions/input-provenance.d.ts +16 -0
  227. package/dist/plugin-sdk/signal/monitor/event-handler.types.d.ts +8 -0
  228. package/dist/plugin-sdk/signal/monitor/mentions.d.ts +2 -0
  229. package/dist/{plugins-3GyCj5KL.js → plugins-4Hqd1WGf.js} +3 -3
  230. package/dist/{plugins-BL9lIXSA.js → plugins-X7d_tfTE.js} +4 -4
  231. package/dist/{plugins-cli-Ce7VsvZh.js → plugins-cli-Bgku3EGj.js} +253 -46
  232. package/dist/{plugins-cli-e9gUebMd.js → plugins-cli-CVToH3if.js} +254 -47
  233. package/dist/{ports-DupIRXQ0.js → ports-qkt29rdC.js} +2 -2
  234. package/dist/{program-u22vbFpH.js → program-Cf7lkBur.js} +82 -82
  235. package/dist/{progress-g9R--HZD.js → progress-C9kngsTD.js} +1 -1
  236. package/dist/{progress-Da1ehW-x.js → progress-DWqhRakV.js} +1 -1
  237. package/dist/{prompt-style-Dc0C5HC9.js → prompt-style-BFH5D5LN.js} +1 -1
  238. package/dist/{prompt-style-lmJDcgtA.js → prompt-style-CIbmaxSa.js} +1 -1
  239. package/dist/{pw-ai-C43wv1ZF.js → pw-ai-8mdv3h-d.js} +7 -6
  240. package/dist/{pw-ai-DTZVjndL.js → pw-ai-CM1IsSgZ.js} +5 -5
  241. package/dist/{pw-ai-zVebjrSG.js → pw-ai-FGoRVblI.js} +3 -3
  242. package/dist/{pw-ai-CWrnJ98b.js → pw-ai-sS1fRKW_.js} +3 -3
  243. package/dist/{qmd-manager-NPD5Yh_4.js → qmd-manager-C67Fc8aN.js} +4 -4
  244. package/dist/{qmd-manager-ozZ933qc.js → qmd-manager-CXVbfg99.js} +7 -7
  245. package/dist/{qmd-manager-DBCZ1sio.js → qmd-manager-RMRE8Tqt.js} +6 -6
  246. package/dist/{qmd-manager-a9Bt0405.js → qmd-manager-pyc_MTIe.js} +4 -4
  247. package/dist/{register.subclis-BpX3ulH1.js → register.subclis-C02e4zuJ.js} +28 -28
  248. package/dist/{reply-m467_fOC.js → reply-DICXkh_C.js} +911 -568
  249. package/dist/{routes-82Ywfho6.js → routes-CmOI1hIH.js} +29 -11
  250. package/dist/{routes-BqxA3ZYr.js → routes-DewK5tq2.js} +29 -12
  251. package/dist/{rpc-DcGBG-Fp.js → rpc-DHr30euf.js} +3 -3
  252. package/dist/{rpc-CfdBHlnp.js → rpc-T300F8zI.js} +3 -3
  253. package/dist/{run-main-aolvSfj3.js → run-main-C5wpthq1.js} +84 -84
  254. package/dist/{runner-C1G8RFWl.js → runner-CY0nmVme.js} +9 -9
  255. package/dist/{runner-BCBs8JKA.js → runner-Cfm5nTMc.js} +6 -6
  256. package/dist/{runner-CInKPsiP.js → runner-D_dujMod.js} +8 -8
  257. package/dist/{runner-Cwfn-VOM.js → runner-DrGYLH5K.js} +6 -6
  258. package/dist/{sandbox-B0K9e6Fw.js → sandbox-BKYnhYQH.js} +23 -15
  259. package/dist/{sandbox-BW8Xnkw1.js → sandbox-Bhjnh1Xg.js} +21 -13
  260. package/dist/{sandbox-cli-mKCs2J0i.js → sandbox-cli-DBsAjZJN.js} +20 -20
  261. package/dist/{sandbox-cli-BD5LkZ0B.js → sandbox-cli-rV9LtFeu.js} +19 -19
  262. package/dist/{security-cli-kgI4soGy.js → security-cli-BIwJM_rs.js} +27 -27
  263. package/dist/{security-cli-kz8TiyqU.js → security-cli-BRjny8Yu.js} +26 -26
  264. package/dist/{server-context-fX4xiYRh.js → server-context-BGpGs3qd.js} +7 -7
  265. package/dist/{server-context-Lb-eUZG_.js → server-context-Cl0U0vE3.js} +5 -5
  266. package/dist/{server-node-events-Dx18uVrH.js → server-node-events-CBfTbiTA.js} +45 -43
  267. package/dist/{server-node-events-KqZMN30F.js → server-node-events-QCvh8EgI.js} +45 -43
  268. package/dist/{service-DZMXgMra.js → service--nPk7DvT.js} +3 -3
  269. package/dist/{service-DNcIZ5Kp.js → service-99RDXwX4.js} +2 -2
  270. package/dist/{service-audit-0WLGnoNT.js → service-audit-DnLmRGQt.js} +4 -4
  271. package/dist/{service-audit-uhZSlxeb.js → service-audit-ckBaRCVC.js} +3 -3
  272. package/dist/{session-cost-usage-HU4OeRgw.js → session-cost-usage-D7HuoSSD.js} +10 -8
  273. package/dist/{session-cost-usage-CL8gnHRN.js → session-cost-usage-D9hHANWI.js} +10 -8
  274. package/dist/{shared-j4Qtr475.js → shared-Bs4vduG4.js} +3 -3
  275. package/dist/{shared-BBw6F-YC.js → shared-CEY5IkwG.js} +2 -2
  276. package/dist/{shared-DOZs2SoH.js → shared-DRohONn_.js} +3 -3
  277. package/dist/{shared-CtP9K-o2.js → shared-ICqOZibV.js} +3 -3
  278. package/dist/{skill-scanner-C_fQzVDu.js → skill-scanner-rHMtUHtP.js} +1 -1
  279. package/dist/{skills-BvPUNjxo.js → skills-DRjfSQT3.js} +128 -4
  280. package/dist/{skills-aFOsriMP.js → skills-DprQj9X2.js} +129 -5
  281. package/dist/{skills-cli-oWaTJzZd.js → skills-cli-9WO-C55s.js} +12 -12
  282. package/dist/{skills-cli-E6shXpdd.js → skills-cli-B9eej-EW.js} +13 -13
  283. package/dist/{skills-status-D4vbIMnz.js → skills-status-5U3P3YfJ.js} +3 -3
  284. package/dist/{skills-status-DJDaA2Ur.js → skills-status-TDIgVd1K.js} +2 -2
  285. package/dist/{sqlite-B7FPASCO.js → sqlite-BINzs1U0.js} +2 -2
  286. package/dist/{sqlite-B4Z1_Ioc.js → sqlite-D4w5TejA.js} +2 -2
  287. package/dist/{sqlite-BkYnxkQO.js → sqlite-DRRHmlug.js} +2 -2
  288. package/dist/{sqlite-EuQPVXvn.js → sqlite-F6PGkEm1.js} +2 -2
  289. package/dist/{status-B2Yr-2J5.js → status-BKGkKC_v.js} +3 -3
  290. package/dist/{status-DW7m5xUN.js → status-CiHtHdaa.js} +4 -4
  291. package/dist/{status-CxhnUa5J.js → status-DDWoOpeB.js} +33 -33
  292. package/dist/{subsystem-Bv7dGhES.js → subsystem-BoExtIHo.js} +32 -13
  293. package/dist/{system-cli-0JXhJNWm.js → system-cli-B6lr60Io.js} +14 -14
  294. package/dist/{system-cli-D-0OaMtH.js → system-cli-CprW9G3h.js} +14 -14
  295. package/dist/{systemd-CNTodvCO.js → systemd-C0VZriGM.js} +2 -2
  296. package/dist/{systemd-CUJJHgHa.js → systemd-DrmBtJ5T.js} +3 -3
  297. package/dist/{systemd-hints-cmHtrXUl.js → systemd-hints-DZtXiVHa.js} +1 -1
  298. package/dist/{systemd-linger-CArPbmvv.js → systemd-linger-NC2kl1SC.js} +2 -2
  299. package/dist/{systemd-linger-XvT9Y9sb.js → systemd-linger-xdn3BdPh.js} +2 -2
  300. package/dist/{table-DzBBIqHO.js → table-B8dx3v4v.js} +2 -2
  301. package/dist/{table-oJQPTUL6.js → table-CwulTLQp.js} +1 -1
  302. package/dist/{tool-display-Na-EVL83.js → tool-display-CZRIDMRm.js} +1 -1
  303. package/dist/{tool-display-sHJa3kRs.js → tool-display-ClRud3pg.js} +2 -2
  304. package/dist/{tui-nGp8ltQK.js → tui-CVTQn-dC.js} +9 -9
  305. package/dist/{tui-Biw7aqPj.js → tui-Lu8FdrlK.js} +9 -9
  306. package/dist/{tui-cli-C9FEfG7C.js → tui-cli-BLpTj1X9.js} +25 -25
  307. package/dist/{tui-cli-Dxnu5JGl.js → tui-cli-BLx5kL2I.js} +25 -25
  308. package/dist/{tui-formatters-BiNTNGwg.js → tui-formatters-CNySEfJN.js} +5 -5
  309. package/dist/{tui-formatters-C_baVYUz.js → tui-formatters-DePhZK3J.js} +5 -5
  310. package/dist/{update-C4rsLj2F.js → update-DHVxMTpQ.js} +3 -3
  311. package/dist/{update-uwUWrKFu.js → update-DU1geolI.js} +3 -3
  312. package/dist/{update-cli-cNd_G9E6.js → update-cli-C0hUvJWK.js} +66 -66
  313. package/dist/{update-cli-CBXp-c4C.js → update-cli-Wb1GB3rL.js} +68 -68
  314. package/dist/{update-runner-BLsqC24J.js → update-runner--ixK4J3W.js} +10 -10
  315. package/dist/{update-runner-C_FDpmA3.js → update-runner-7Qa1T9y6.js} +9 -9
  316. package/dist/{utils-Dk86IbEs.js → utils-BLJAc3ZV.js} +1 -1
  317. package/dist/{utils-BHPdZE4h.js → utils-Cd9QdCHh.js} +1 -1
  318. package/dist/{webhooks-cli-BpBKXL7W.js → webhooks-cli-DgcMy7RG.js} +12 -12
  319. package/dist/{webhooks-cli-wNfhfKqm.js → webhooks-cli-aVzUcJY9.js} +11 -11
  320. package/dist/{widearea-dns-WVCWJTEb.js → widearea-dns-BaIgNEhY.js} +1 -1
  321. package/dist/{widearea-dns-BWYPcfby.js → widearea-dns-DzuRdwk5.js} +1 -1
  322. package/dist/{ws-log-Cafylho7.js → ws-log-CIXbLCka.js} +1 -1
  323. package/dist/{ws-log-DTUOUVgR.js → ws-log-DcQFZByi.js} +1 -1
  324. package/dist/{wsl-B-H6Z5wp.js → wsl-BUOkxKJu.js} +2 -2
  325. package/docs/automation/webhook.md +43 -2
  326. package/docs/channels/discord.md +29 -1
  327. package/docs/cli/plugins.md +20 -1
  328. package/docs/cli/security.md +1 -0
  329. package/docs/concepts/session-tool.md +1 -0
  330. package/docs/gateway/configuration-reference.md +11 -0
  331. package/docs/gateway/configuration.md +3 -0
  332. package/docs/gateway/openresponses-http-api.md +15 -0
  333. package/docs/gateway/security/index.md +3 -0
  334. package/docs/help/faq.md +9 -0
  335. package/docs/install/installer.md +20 -0
  336. package/docs/reference/transcript-hygiene.md +18 -0
  337. package/docs/tools/browser.md +6 -0
  338. package/extensions/diagnostics-otel/package.json +9 -9
  339. package/extensions/feishu/package.json +1 -1
  340. package/extensions/feishu/src/config-schema.ts +6 -0
  341. package/extensions/feishu/src/reply-dispatcher.test.ts +116 -0
  342. package/extensions/feishu/src/reply-dispatcher.ts +124 -67
  343. package/extensions/feishu/src/streaming-card.ts +223 -0
  344. package/extensions/feishu/src/targets.test.ts +16 -0
  345. package/extensions/feishu/src/targets.ts +1 -1
  346. package/extensions/irc/src/client.ts +1 -1
  347. package/extensions/minimax-portal-auth/index.ts +7 -5
  348. package/extensions/nostr/package.json +1 -1
  349. package/package.json +13 -13
  350. package/dist/auth-BcNHFK-i.js +0 -184
  351. package/dist/auth-jrfLXze7.js +0 -184
  352. /package/dist/{archive-DqNr5i8b.js → archive-beaSfAzA.js} +0 -0
  353. /package/dist/{brew-BIrWdDps.js → brew-BUIxHEkn.js} +0 -0
  354. /package/dist/{brew-6UyogeLe.js → brew-ROHf0-Xp.js} +0 -0
  355. /package/dist/{constants-DuoCkWRh.js → constants-BvQ6S8j5.js} +0 -0
  356. /package/dist/{errors-x4NYs-1P.js → errors-DjZBTJJ3.js} +0 -0
  357. /package/dist/{helpers-BDvtkJjw.js → helpers-HyeZXsnu.js} +0 -0
  358. /package/dist/{is-main-CE1eOBYb.js → is-main-BWoXGz7p.js} +0 -0
  359. /package/dist/{parse-Cjiudy6x.js → parse-Bw0oH-rT.js} +0 -0
  360. /package/dist/{parse-timeout-DFSPLxpY.js → parse-timeout-D1XX_zN_.js} +0 -0
  361. /package/dist/{prompts-BOz5176z.js → prompts-Bg96reub.js} +0 -0
  362. /package/dist/{redact-DuEEf1p1.js → redact-Br9GfacZ.js} +0 -0
  363. /package/dist/{skill-scanner-CprFkZib.js → skill-scanner-CucvxYhu.js} +0 -0
  364. /package/dist/{transcript-events-CZ8CG4ht.js → transcript-events-BtNd-j6q.js} +0 -0
@@ -1,18 +1,18 @@
1
- import { C as buildAllowedModelSet, M as resolveAllowlistModelKey, N as resolveConfiguredModelRef, O as modelKey, S as resolveOpenClawAgentDir, T as buildModelAliasIndex, Tt as DEFAULT_PROVIDER, Y as VENICE_DEFAULT_MODEL_REF, _ as ensureAuthProfileStore, bt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, c as CHUTES_AUTHORIZE_ENDPOINT, d as parseOAuthCallbackInput, g as upsertAuthProfile, k as normalizeProviderId, l as exchangeChutesCodeForTokens, n as resolveAuthProfileOrder, nt as SYNTHETIC_DEFAULT_MODEL_REF, ot as getCustomProviderApiKey, p as listProfilesForProvider, pt as normalizeSecretInput, u as generateChutesPkce, ut as resolveEnvApiKey, wt as DEFAULT_MODEL } from "./auth-profiles-CcJ3hrog.js";
2
- import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
3
- import { c as escapeRegExp, g as resolveConfigDir, s as ensureDir, t as CONFIG_DIR, y as resolveUserPath } from "./utils-Dk86IbEs.js";
4
- import { t as runCommandWithTimeout } from "./exec-B8JKbXKW.js";
5
- import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-RCSw6gHy.js";
6
- import { t as resolveBrewExecutable } from "./brew-BIrWdDps.js";
7
- import { m as openUrl, o as detectBinary, y as resolveNodeManagerOptions } from "./loader-Caow9TPA.js";
8
- import { a as enablePluginInConfig } from "./onboard-channels-DMcOT0dj.js";
9
- import { t as scanDirectoryWithSummary } from "./skill-scanner-C_fQzVDu.js";
10
- import { i as fetchWithSsrFGuard, t as fetchWithTimeout } from "./fetch-timeout-B2KlHXi3.js";
11
- import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-BvPUNjxo.js";
12
- import { _ as loadModelCatalog } from "./runner-C1G8RFWl.js";
13
- import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-WVCWJTEb.js";
14
- import { $ as setAnthropicApiKey, A as applyOpenrouterProviderConfig, B as applyVercelAiGatewayProviderConfig, C as applyLitellmConfig, Ct as ZAI_CODING_GLOBAL_BASE_URL, D as applyMoonshotProviderConfig, E as applyMoonshotConfigCn, Et as validateAnthropicSetupToken, F as applyTogetherConfig, G as applyZaiConfig, H as applyXaiProviderConfig, I as applyTogetherProviderConfig, J as OPENROUTER_DEFAULT_MODEL_REF, K as applyZaiProviderConfig, L as applyVeniceConfig, M as applyQianfanProviderConfig, N as applySyntheticConfig, O as applyMoonshotProviderConfigCn, P as applySyntheticProviderConfig, Q as ZAI_DEFAULT_MODEL_REF, R as applyVeniceProviderConfig, S as applyKimiCodeProviderConfig, St as ZAI_CODING_CN_BASE_URL, T as applyMoonshotConfig, Tt as buildTokenProfileId, U as applyXiaomiConfig, V as applyXaiConfig, W as applyXiaomiProviderConfig, X as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, Y as TOGETHER_DEFAULT_MODEL_REF, Z as XIAOMI_DEFAULT_MODEL_REF, _ as applyMinimaxProviderConfig, _t as KIMI_CODING_MODEL_REF, a as normalizeAlias, at as setMoonshotApiKey, b as applyCloudflareAiGatewayProviderConfig, bt as XAI_DEFAULT_MODEL_REF, ct as setQianfanApiKey, d as resolvePluginProviders, dt as setVeniceApiKey, et as setCloudflareAiGatewayConfig, f as applyOpencodeZenConfig, ft as setVercelAiGatewayApiKey, g as applyMinimaxConfig, gt as writeOAuthCredentials, h as applyMinimaxApiProviderConfig, ht as setZaiApiKey, i as formatTokenK, it as setMinimaxApiKey, j as applyQianfanConfig, k as applyOpenrouterConfig, l as createVpsAwareOAuthHandlers, lt as setSyntheticApiKey, m as applyMinimaxApiConfig, mt as setXiaomiApiKey, nt as setKimiCodingApiKey, ot as setOpencodeZenApiKey, p as applyOpencodeZenProviderConfig, pt as setXaiApiKey, q as LITELLM_DEFAULT_MODEL_REF, rt as setLitellmApiKey, st as setOpenrouterApiKey, t as githubCopilotLoginCommand, tt as setGeminiApiKey, u as isRemoteEnvironment, ut as setTogetherApiKey, v as applyAuthProfileConfig, vt as MOONSHOT_DEFAULT_MODEL_REF, w as applyLitellmProviderConfig, wt as ZAI_GLOBAL_BASE_URL, x as applyKimiCodeConfig, xt as ZAI_CN_BASE_URL, y as applyCloudflareAiGatewayConfig, yt as QIANFAN_DEFAULT_MODEL_REF, z as applyVercelAiGatewayConfig } from "./github-copilot-auth-Cm2SB8Qf.js";
15
- import { t as buildWorkspaceSkillStatus } from "./skills-status-DJDaA2Ur.js";
1
+ import { C as buildAllowedModelSet, M as resolveAllowlistModelKey, N as resolveConfiguredModelRef, O as modelKey, S as resolveOpenClawAgentDir, T as buildModelAliasIndex, Tt as DEFAULT_PROVIDER, Y as VENICE_DEFAULT_MODEL_REF, _ as ensureAuthProfileStore, bt as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, c as CHUTES_AUTHORIZE_ENDPOINT, d as parseOAuthCallbackInput, g as upsertAuthProfile, k as normalizeProviderId, l as exchangeChutesCodeForTokens, n as resolveAuthProfileOrder, nt as SYNTHETIC_DEFAULT_MODEL_REF, ot as getCustomProviderApiKey, p as listProfilesForProvider, pt as normalizeSecretInput, u as generateChutesPkce, ut as resolveEnvApiKey, wt as DEFAULT_MODEL } from "./auth-profiles-ByNs3eEm.js";
2
+ import { t as formatCliCommand } from "./command-format-Bxe0mWee.js";
3
+ import { c as escapeRegExp, g as resolveConfigDir, s as ensureDir, t as CONFIG_DIR, y as resolveUserPath } from "./utils-BLJAc3ZV.js";
4
+ import { t as runCommandWithTimeout } from "./exec-CACT5OAW.js";
5
+ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CsRbLH4l.js";
6
+ import { t as resolveBrewExecutable } from "./brew-BUIxHEkn.js";
7
+ import { m as openUrl, o as detectBinary, y as resolveNodeManagerOptions } from "./loader-KjT074JR.js";
8
+ import { a as enablePluginInConfig } from "./onboard-channels-C501x8GI.js";
9
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-rHMtUHtP.js";
10
+ import { i as fetchWithSsrFGuard, t as fetchWithTimeout } from "./fetch-timeout-DTK9vxex.js";
11
+ import { b as resolveSkillKey, i as loadWorkspaceSkillEntries, m as hasBinary, t as resolveSkillsInstallPreferences } from "./skills-DRjfSQT3.js";
12
+ import { _ as loadModelCatalog } from "./runner-CY0nmVme.js";
13
+ import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-BaIgNEhY.js";
14
+ import { $ as setAnthropicApiKey, A as applyOpenrouterProviderConfig, B as applyVercelAiGatewayProviderConfig, C as applyLitellmConfig, Ct as ZAI_CODING_GLOBAL_BASE_URL, D as applyMoonshotProviderConfig, E as applyMoonshotConfigCn, Et as validateAnthropicSetupToken, F as applyTogetherConfig, G as applyZaiConfig, H as applyXaiProviderConfig, I as applyTogetherProviderConfig, J as OPENROUTER_DEFAULT_MODEL_REF, K as applyZaiProviderConfig, L as applyVeniceConfig, M as applyQianfanProviderConfig, N as applySyntheticConfig, O as applyMoonshotProviderConfigCn, P as applySyntheticProviderConfig, Q as ZAI_DEFAULT_MODEL_REF, R as applyVeniceProviderConfig, S as applyKimiCodeProviderConfig, St as ZAI_CODING_CN_BASE_URL, T as applyMoonshotConfig, Tt as buildTokenProfileId, U as applyXiaomiConfig, V as applyXaiConfig, W as applyXiaomiProviderConfig, X as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, Y as TOGETHER_DEFAULT_MODEL_REF, Z as XIAOMI_DEFAULT_MODEL_REF, _ as applyMinimaxProviderConfig, _t as KIMI_CODING_MODEL_REF, a as normalizeAlias, at as setMoonshotApiKey, b as applyCloudflareAiGatewayProviderConfig, bt as XAI_DEFAULT_MODEL_REF, ct as setQianfanApiKey, d as resolvePluginProviders, dt as setVeniceApiKey, et as setCloudflareAiGatewayConfig, f as applyOpencodeZenConfig, ft as setVercelAiGatewayApiKey, g as applyMinimaxConfig, gt as writeOAuthCredentials, h as applyMinimaxApiProviderConfig, ht as setZaiApiKey, i as formatTokenK, it as setMinimaxApiKey, j as applyQianfanConfig, k as applyOpenrouterConfig, l as createVpsAwareOAuthHandlers, lt as setSyntheticApiKey, m as applyMinimaxApiConfig, mt as setXiaomiApiKey, nt as setKimiCodingApiKey, ot as setOpencodeZenApiKey, p as applyOpencodeZenProviderConfig, pt as setXaiApiKey, q as LITELLM_DEFAULT_MODEL_REF, rt as setLitellmApiKey, st as setOpenrouterApiKey, t as githubCopilotLoginCommand, tt as setGeminiApiKey, u as isRemoteEnvironment, ut as setTogetherApiKey, v as applyAuthProfileConfig, vt as MOONSHOT_DEFAULT_MODEL_REF, w as applyLitellmProviderConfig, wt as ZAI_GLOBAL_BASE_URL, x as applyKimiCodeConfig, xt as ZAI_CN_BASE_URL, y as applyCloudflareAiGatewayConfig, yt as QIANFAN_DEFAULT_MODEL_REF, z as applyVercelAiGatewayConfig } from "./github-copilot-auth-DDispnyz.js";
15
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-TDIgVd1K.js";
16
16
  import path from "node:path";
17
17
  import fs from "node:fs";
18
18
  import { loginOpenAICodex } from "@mariozechner/pi-ai";
@@ -419,7 +419,7 @@ const AUTH_CHOICE_GROUP_DEFS = [
419
419
  {
420
420
  value: "minimax",
421
421
  label: "MiniMax",
422
- hint: "M2.1 (recommended)",
422
+ hint: "M2.5 (recommended)",
423
423
  choices: [
424
424
  "minimax-portal",
425
425
  "minimax-api",
@@ -686,11 +686,11 @@ function buildAuthChoiceOptions(params) {
686
686
  });
687
687
  options.push({
688
688
  value: "minimax-api",
689
- label: "MiniMax M2.1"
689
+ label: "MiniMax M2.5"
690
690
  });
691
691
  options.push({
692
692
  value: "minimax-api-lightning",
693
- label: "MiniMax M2.1 Lightning",
693
+ label: "MiniMax M2.5 Lightning",
694
694
  hint: "Faster, higher output cost"
695
695
  });
696
696
  options.push({
@@ -2072,7 +2072,7 @@ async function applyAuthChoiceMiniMax(params) {
2072
2072
  label: "MiniMax"
2073
2073
  });
2074
2074
  if (params.authChoice === "minimax-cloud" || params.authChoice === "minimax-api" || params.authChoice === "minimax-api-lightning") {
2075
- const modelId = params.authChoice === "minimax-api-lightning" ? "MiniMax-M2.1-lightning" : "MiniMax-M2.1";
2075
+ const modelId = params.authChoice === "minimax-api-lightning" ? "MiniMax-M2.5-Lightning" : "MiniMax-M2.5";
2076
2076
  let hasCredential = false;
2077
2077
  const envKey = resolveEnvApiKey("minimax");
2078
2078
  if (envKey) {
@@ -1,18 +1,18 @@
1
- import { _ as resolveConfigDir, b as resolveUserPath, c as ensureDir, l as escapeRegExp, t as CONFIG_DIR } from "./utils-BHPdZE4h.js";
2
- import { Nt as resolveNodeManagerOptions, Ot as openUrl, bt as detectBinary } from "./reply-m467_fOC.js";
3
- import { t as runCommandWithTimeout } from "./exec-DXtR2fhb.js";
4
- import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope---6LLHj0.js";
5
- import { D as VENICE_DEFAULT_MODEL_REF, Dt as DEFAULT_MODEL, H as resolveEnvApiKey, Ot as DEFAULT_PROVIDER, P as SYNTHETIC_DEFAULT_MODEL_REF, R as getCustomProviderApiKey, St as normalizeSecretInput, X as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, bt as resolveOpenClawAgentDir, ct as generateChutesPkce, d as resolveConfiguredModelRef, dt as listProfilesForProvider, et as resolveAuthProfileOrder, ht as ensureAuthProfileStore, lt as parseOAuthCallbackInput, mt as upsertAuthProfile, o as modelKey, ot as CHUTES_AUTHORIZE_ENDPOINT, r as buildModelAliasIndex, s as normalizeProviderId, st as exchangeChutesCodeForTokens, t as buildAllowedModelSet, u as resolveAllowlistModelKey } from "./model-selection-unMJyUIE.js";
1
+ import { _ as resolveConfigDir, b as resolveUserPath, c as ensureDir, l as escapeRegExp, t as CONFIG_DIR } from "./utils-Cd9QdCHh.js";
2
+ import { Nt as resolveNodeManagerOptions, Ot as openUrl, bt as detectBinary } from "./reply-DICXkh_C.js";
3
+ import { t as runCommandWithTimeout } from "./exec-YIosokWE.js";
4
+ import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, r as resolveAgentDir, s as resolveAgentWorkspaceDir, w as resolveDefaultAgentWorkspaceDir } from "./agent-scope-CQCus0rI.js";
5
+ import { D as VENICE_DEFAULT_MODEL_REF, Dt as DEFAULT_MODEL, H as resolveEnvApiKey, Ot as DEFAULT_PROVIDER, P as SYNTHETIC_DEFAULT_MODEL_REF, R as getCustomProviderApiKey, St as normalizeSecretInput, X as CLOUDFLARE_AI_GATEWAY_DEFAULT_MODEL_REF, bt as resolveOpenClawAgentDir, ct as generateChutesPkce, d as resolveConfiguredModelRef, dt as listProfilesForProvider, et as resolveAuthProfileOrder, ht as ensureAuthProfileStore, lt as parseOAuthCallbackInput, mt as upsertAuthProfile, o as modelKey, ot as CHUTES_AUTHORIZE_ENDPOINT, r as buildModelAliasIndex, s as normalizeProviderId, st as exchangeChutesCodeForTokens, t as buildAllowedModelSet, u as resolveAllowlistModelKey } from "./model-selection-BLuqsGVB.js";
6
6
  import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
7
- import { s as loadModelCatalog } from "./runner-CInKPsiP.js";
8
- import { _ as resolveSkillKey, d as hasBinary, i as loadWorkspaceSkillEntries, t as resolveSkillsInstallPreferences } from "./skills-aFOsriMP.js";
9
- import { i as fetchWithSsrFGuard, r as fetchWithTimeout } from "./fetch-CqZP8jwB.js";
10
- import { t as resolveBrewExecutable } from "./brew-6UyogeLe.js";
11
- import { $ as setAnthropicApiKey, A as applyOpenrouterProviderConfig, B as applyVercelAiGatewayProviderConfig, C as applyLitellmConfig, Ct as ZAI_CODING_GLOBAL_BASE_URL, D as applyMoonshotProviderConfig, E as applyMoonshotConfigCn, Et as validateAnthropicSetupToken, F as applyTogetherConfig, G as applyZaiConfig, H as applyXaiProviderConfig, I as applyTogetherProviderConfig, J as OPENROUTER_DEFAULT_MODEL_REF, K as applyZaiProviderConfig, L as applyVeniceConfig, M as applyQianfanProviderConfig, N as applySyntheticConfig, O as applyMoonshotProviderConfigCn, P as applySyntheticProviderConfig, Q as ZAI_DEFAULT_MODEL_REF, R as applyVeniceProviderConfig, S as applyKimiCodeProviderConfig, St as ZAI_CODING_CN_BASE_URL, T as applyMoonshotConfig, Tt as buildTokenProfileId, U as applyXiaomiConfig, V as applyXaiConfig, W as applyXiaomiProviderConfig, X as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, Y as TOGETHER_DEFAULT_MODEL_REF, Z as XIAOMI_DEFAULT_MODEL_REF, _ as applyMinimaxProviderConfig, _t as KIMI_CODING_MODEL_REF, a as normalizeAlias, at as setMoonshotApiKey, b as applyCloudflareAiGatewayProviderConfig, bt as XAI_DEFAULT_MODEL_REF, ct as setQianfanApiKey, d as resolvePluginProviders, dt as setVeniceApiKey, et as setCloudflareAiGatewayConfig, f as applyOpencodeZenConfig, ft as setVercelAiGatewayApiKey, g as applyMinimaxConfig, gt as writeOAuthCredentials, h as applyMinimaxApiProviderConfig, ht as setZaiApiKey, i as formatTokenK, it as setMinimaxApiKey, j as applyQianfanConfig, k as applyOpenrouterConfig, l as createVpsAwareOAuthHandlers, lt as setSyntheticApiKey, m as applyMinimaxApiConfig, mt as setXiaomiApiKey, nt as setKimiCodingApiKey, ot as setOpencodeZenApiKey, p as applyOpencodeZenProviderConfig, pt as setXaiApiKey, q as LITELLM_DEFAULT_MODEL_REF, rt as setLitellmApiKey, st as setOpenrouterApiKey, t as githubCopilotLoginCommand, tt as setGeminiApiKey, u as isRemoteEnvironment, ut as setTogetherApiKey, v as applyAuthProfileConfig, vt as MOONSHOT_DEFAULT_MODEL_REF, w as applyLitellmProviderConfig, wt as ZAI_GLOBAL_BASE_URL, x as applyKimiCodeConfig, xt as ZAI_CN_BASE_URL, y as applyCloudflareAiGatewayConfig, yt as QIANFAN_DEFAULT_MODEL_REF, z as applyVercelAiGatewayConfig } from "./github-copilot-auth-B3chCDfc.js";
12
- import { a as enablePluginInConfig } from "./onboard-channels-CsT3E4bT.js";
13
- import { t as scanDirectoryWithSummary } from "./skill-scanner-CprFkZib.js";
14
- import { t as buildWorkspaceSkillStatus } from "./skills-status-D4vbIMnz.js";
15
- import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-BWYPcfby.js";
7
+ import { s as loadModelCatalog } from "./runner-D_dujMod.js";
8
+ import { b as resolveSkillKey, i as loadWorkspaceSkillEntries, m as hasBinary, t as resolveSkillsInstallPreferences } from "./skills-DprQj9X2.js";
9
+ import { i as fetchWithSsrFGuard, r as fetchWithTimeout } from "./fetch-DmiOpALK.js";
10
+ import { t as resolveBrewExecutable } from "./brew-ROHf0-Xp.js";
11
+ import { $ as setAnthropicApiKey, A as applyOpenrouterProviderConfig, B as applyVercelAiGatewayProviderConfig, C as applyLitellmConfig, Ct as ZAI_CODING_GLOBAL_BASE_URL, D as applyMoonshotProviderConfig, E as applyMoonshotConfigCn, Et as validateAnthropicSetupToken, F as applyTogetherConfig, G as applyZaiConfig, H as applyXaiProviderConfig, I as applyTogetherProviderConfig, J as OPENROUTER_DEFAULT_MODEL_REF, K as applyZaiProviderConfig, L as applyVeniceConfig, M as applyQianfanProviderConfig, N as applySyntheticConfig, O as applyMoonshotProviderConfigCn, P as applySyntheticProviderConfig, Q as ZAI_DEFAULT_MODEL_REF, R as applyVeniceProviderConfig, S as applyKimiCodeProviderConfig, St as ZAI_CODING_CN_BASE_URL, T as applyMoonshotConfig, Tt as buildTokenProfileId, U as applyXiaomiConfig, V as applyXaiConfig, W as applyXiaomiProviderConfig, X as VERCEL_AI_GATEWAY_DEFAULT_MODEL_REF, Y as TOGETHER_DEFAULT_MODEL_REF, Z as XIAOMI_DEFAULT_MODEL_REF, _ as applyMinimaxProviderConfig, _t as KIMI_CODING_MODEL_REF, a as normalizeAlias, at as setMoonshotApiKey, b as applyCloudflareAiGatewayProviderConfig, bt as XAI_DEFAULT_MODEL_REF, ct as setQianfanApiKey, d as resolvePluginProviders, dt as setVeniceApiKey, et as setCloudflareAiGatewayConfig, f as applyOpencodeZenConfig, ft as setVercelAiGatewayApiKey, g as applyMinimaxConfig, gt as writeOAuthCredentials, h as applyMinimaxApiProviderConfig, ht as setZaiApiKey, i as formatTokenK, it as setMinimaxApiKey, j as applyQianfanConfig, k as applyOpenrouterConfig, l as createVpsAwareOAuthHandlers, lt as setSyntheticApiKey, m as applyMinimaxApiConfig, mt as setXiaomiApiKey, nt as setKimiCodingApiKey, ot as setOpencodeZenApiKey, p as applyOpencodeZenProviderConfig, pt as setXaiApiKey, q as LITELLM_DEFAULT_MODEL_REF, rt as setLitellmApiKey, st as setOpenrouterApiKey, t as githubCopilotLoginCommand, tt as setGeminiApiKey, u as isRemoteEnvironment, ut as setTogetherApiKey, v as applyAuthProfileConfig, vt as MOONSHOT_DEFAULT_MODEL_REF, w as applyLitellmProviderConfig, wt as ZAI_GLOBAL_BASE_URL, x as applyKimiCodeConfig, xt as ZAI_CN_BASE_URL, y as applyCloudflareAiGatewayConfig, yt as QIANFAN_DEFAULT_MODEL_REF, z as applyVercelAiGatewayConfig } from "./github-copilot-auth-D7ewvpMd.js";
12
+ import { a as enablePluginInConfig } from "./onboard-channels-Dxzroasd.js";
13
+ import { t as scanDirectoryWithSummary } from "./skill-scanner-CucvxYhu.js";
14
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-5U3P3YfJ.js";
15
+ import { n as resolveWideAreaDiscoveryDomain } from "./widearea-dns-DzuRdwk5.js";
16
16
  import fs from "node:fs";
17
17
  import path from "node:path";
18
18
  import { randomBytes } from "node:crypto";
@@ -38,7 +38,7 @@ const AUTH_CHOICE_GROUP_DEFS = [
38
38
  {
39
39
  value: "minimax",
40
40
  label: "MiniMax",
41
- hint: "M2.1 (recommended)",
41
+ hint: "M2.5 (recommended)",
42
42
  choices: [
43
43
  "minimax-portal",
44
44
  "minimax-api",
@@ -305,11 +305,11 @@ function buildAuthChoiceOptions(params) {
305
305
  });
306
306
  options.push({
307
307
  value: "minimax-api",
308
- label: "MiniMax M2.1"
308
+ label: "MiniMax M2.5"
309
309
  });
310
310
  options.push({
311
311
  value: "minimax-api-lightning",
312
- label: "MiniMax M2.1 Lightning",
312
+ label: "MiniMax M2.5 Lightning",
313
313
  hint: "Faster, higher output cost"
314
314
  });
315
315
  options.push({
@@ -1691,7 +1691,7 @@ async function applyAuthChoiceMiniMax(params) {
1691
1691
  label: "MiniMax"
1692
1692
  });
1693
1693
  if (params.authChoice === "minimax-cloud" || params.authChoice === "minimax-api" || params.authChoice === "minimax-api-lightning") {
1694
- const modelId = params.authChoice === "minimax-api-lightning" ? "MiniMax-M2.1-lightning" : "MiniMax-M2.1";
1694
+ const modelId = params.authChoice === "minimax-api-lightning" ? "MiniMax-M2.5-Lightning" : "MiniMax-M2.5";
1695
1695
  let hasCredential = false;
1696
1696
  const envKey = resolveEnvApiKey("minimax");
1697
1697
  if (envKey) {
@@ -1,43 +1,43 @@
1
1
  import { n as DEFAULT_GATEWAY_PORT, u as resolveGatewayPort } from "./paths-DVBShlw6.js";
2
- import { D as info, L as isRich, R as theme, c as defaultRuntime, l as restoreTerminalState } from "./subsystem-Bv7dGhES.js";
3
- import { b as resolveUserPath, g as pathExists, w as sleep } from "./utils-BHPdZE4h.js";
4
- import { At as probeGatewayReachable, Bt as getRemoteSkillEligibility, Ct as formatControlUiSshHint, Dt as normalizeGatewayTokenInput, Ft as waitForGatewayReachable, J as summarizeRestartSentinel, Mt as resolveControlUiLinks, Ot as openUrl, Pt as summarizeExistingConfig, Rt as normalizeControlUiBasePath, Sr as lookupContextTokens, St as ensureWorkspaceAndSessions, Tt as handleReset, Vn as getMemorySearchManager, a as buildChannelSummary, dt as loadProviderUsageSummary, f as sha256HexPrefix, ft as formatUsageReportLines, h as listAgentsForGateway, jt as randomToken, kr as peekSystemEvents, kt as printWizardHeader, q as readRestartSentinel, vt as DEFAULT_WORKSPACE, xt as detectBrowserOpenSupport, yt as applyWizardMetadata } from "./reply-m467_fOC.js";
2
+ import { D as info, L as isRich, R as theme, c as defaultRuntime, l as restoreTerminalState } from "./subsystem-BoExtIHo.js";
3
+ import { b as resolveUserPath, g as pathExists, w as sleep } from "./utils-Cd9QdCHh.js";
4
+ import { At as probeGatewayReachable, Bt as getRemoteSkillEligibility, Ct as formatControlUiSshHint, Dt as normalizeGatewayTokenInput, Ft as waitForGatewayReachable, J as summarizeRestartSentinel, Mt as resolveControlUiLinks, Ot as openUrl, Pt as summarizeExistingConfig, Rt as normalizeControlUiBasePath, Sr as lookupContextTokens, St as ensureWorkspaceAndSessions, Tt as handleReset, Vn as getMemorySearchManager, a as buildChannelSummary, dt as loadProviderUsageSummary, f as sha256HexPrefix, ft as formatUsageReportLines, h as listAgentsForGateway, jt as randomToken, kr as peekSystemEvents, kt as printWizardHeader, q as readRestartSentinel, vt as DEFAULT_WORKSPACE, xt as detectBrowserOpenSupport, yt as applyWizardMetadata } from "./reply-DICXkh_C.js";
5
5
  import { l as normalizeAgentId, y as parseAgentSessionKey } from "./session-key-BWxPj0z_.js";
6
- import { n as runExec } from "./exec-DXtR2fhb.js";
6
+ import { n as runExec } from "./exec-YIosokWE.js";
7
7
  import { t as resolveOpenClawPackageRoot } from "./openclaw-root-1VeFrph_.js";
8
- import { c as resolveDefaultAgentId, h as DEFAULT_IDENTITY_FILENAME, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope---6LLHj0.js";
9
- import { Dt as DEFAULT_MODEL, Et as DEFAULT_CONTEXT_TOKENS, Ot as DEFAULT_PROVIDER, d as resolveConfiguredModelRef, ht as ensureAuthProfileStore } from "./model-selection-unMJyUIE.js";
8
+ import { c as resolveDefaultAgentId, h as DEFAULT_IDENTITY_FILENAME, p as DEFAULT_BOOTSTRAP_FILENAME, r as resolveAgentDir, s as resolveAgentWorkspaceDir } from "./agent-scope-CQCus0rI.js";
9
+ import { Dt as DEFAULT_MODEL, Et as DEFAULT_CONTEXT_TOKENS, Ot as DEFAULT_PROVIDER, d as resolveConfiguredModelRef, ht as ensureAuthProfileStore } from "./model-selection-BLuqsGVB.js";
10
10
  import { r as resolveCliName, t as formatCliCommand } from "./command-format-ChfKqObn.js";
11
- import { M as VERSION, c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-DH9TLUNc.js";
12
- import { n as listChannelPlugins } from "./plugins-BL9lIXSA.js";
13
- import { L as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-BW8Xnkw1.js";
14
- import { d as inspectPortUsage, f as resolveLsofCommandSync, p as formatPortDiagnostics } from "./chrome-juQxt0zf.js";
15
- import { o as resolveStorePath } from "./paths-RITJT4UY.js";
16
- import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-C9az806y.js";
11
+ import { M as VERSION, c as writeConfigFile, i as loadConfig, o as readConfigFileSnapshot } from "./config-aFQssWKX.js";
12
+ import { n as listChannelPlugins } from "./plugins-X7d_tfTE.js";
13
+ import { L as resolveMainSessionKey, d as loadSessionStore } from "./sandbox-Bhjnh1Xg.js";
14
+ import { d as inspectPortUsage, f as resolveLsofCommandSync, p as formatPortDiagnostics } from "./chrome-Cvr-57lg.js";
15
+ import { s as resolveStorePath } from "./paths-B49s6UZQ.js";
16
+ import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-SolyGS1r.js";
17
17
  import { r as formatDurationPrecise } from "./format-duration-84n6_DgO.js";
18
18
  import { n as formatTimeAgo } from "./format-relative-cegC_FF5.js";
19
- import { n as withProgress } from "./progress-g9R--HZD.js";
20
- import { a as findTailscaleBinary, o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-DHfcfRCx.js";
21
- import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-B05PME1z.js";
22
- import { t as resolveChannelDefaultAccountId } from "./helpers-BDvtkJjw.js";
23
- import { n as logConfigUpdated } from "./logging-CeHn2itV.js";
24
- import { t as WizardCancelledError } from "./prompts-BOz5176z.js";
25
- import { S as promptAuthChoiceGrouped, _ as applyAuthChoice, c as promptCustomApiConfig, f as applyPrimaryModel, g as warnIfModelConfigLooksOff, h as resolvePreferredProviderForAuthChoice, p as promptDefaultModel, r as promptRemoteGatewayConfig, t as setupSkills } from "./onboard-skills-D-BrCoRN.js";
26
- import { n as setupChannels } from "./onboard-channels-CsT3E4bT.js";
27
- import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-C0C_Apce.js";
28
- import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-C_FDpmA3.js";
29
- import { i as probeGateway, t as runSecurityAudit } from "./audit-CQzrm61N.js";
30
- import { t as renderTable } from "./table-DzBBIqHO.js";
31
- import { t as buildWorkspaceSkillStatus } from "./skills-status-D4vbIMnz.js";
32
- import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service-DZMXgMra.js";
33
- import { r as isSystemdUserServiceAvailable } from "./systemd-CUJJHgHa.js";
34
- import { o as readLastGatewayErrorLine } from "./service-audit-0WLGnoNT.js";
35
- import { t as resolveNodeService } from "./node-service-D_Cdq1JI.js";
36
- import { t as collectChannelStatusIssues } from "./channels-status-issues-CbULFg2X.js";
19
+ import { n as withProgress } from "./progress-C9kngsTD.js";
20
+ import { d as getTailnetHostname, f as readTailscaleStatusJson, u as findTailscaleBinary } from "./auth-CQNl_IaI.js";
21
+ import { a as gatewayInstallErrorHint, i as buildGatewayInstallPlan, n as GATEWAY_DAEMON_RUNTIME_OPTIONS, t as DEFAULT_GATEWAY_DAEMON_RUNTIME } from "./daemon-runtime-Bsjeut6m.js";
22
+ import { t as resolveChannelDefaultAccountId } from "./helpers-HyeZXsnu.js";
23
+ import { n as logConfigUpdated } from "./logging-BAyPwvdH.js";
24
+ import { t as WizardCancelledError } from "./prompts-Bg96reub.js";
25
+ import { S as promptAuthChoiceGrouped, _ as applyAuthChoice, c as promptCustomApiConfig, f as applyPrimaryModel, g as warnIfModelConfigLooksOff, h as resolvePreferredProviderForAuthChoice, p as promptDefaultModel, r as promptRemoteGatewayConfig, t as setupSkills } from "./onboard-skills-rlBHcu3Q.js";
26
+ import { n as setupChannels } from "./onboard-channels-Dxzroasd.js";
27
+ import { l as healthCommand, n as ensureControlUiAssetsBuilt, s as formatHealthChannelLines, t as formatHealthCheckFailure, u as resolveHeartbeatSummaryForAgent } from "./health-format-KGPokKJH.js";
28
+ import { C as resolveEffectiveUpdateChannel, S as normalizeUpdateChannel, d as formatUpdateOneLiner, f as getUpdateCheckResult, h as compareSemverStrings, l as ensureCompletionCacheExists, m as checkUpdateStatus, p as resolveUpdateAvailability, s as checkShellCompletionStatus, u as formatUpdateAvailableHint, x as formatUpdateChannelLabel } from "./update-runner-7Qa1T9y6.js";
29
+ import { i as probeGateway, t as runSecurityAudit } from "./audit-Dmww_503.js";
30
+ import { t as renderTable } from "./table-B8dx3v4v.js";
31
+ import { t as buildWorkspaceSkillStatus } from "./skills-status-5U3P3YfJ.js";
32
+ import { o as resolveGatewayLogPaths, t as resolveGatewayService } from "./service--nPk7DvT.js";
33
+ import { r as isSystemdUserServiceAvailable } from "./systemd-DrmBtJ5T.js";
34
+ import { o as readLastGatewayErrorLine } from "./service-audit-DnLmRGQt.js";
35
+ import { t as resolveNodeService } from "./node-service-C8DTHTMg.js";
36
+ import { t as collectChannelStatusIssues } from "./channels-status-issues-DDAWeT-6.js";
37
37
  import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DcfK-dwd.js";
38
- import { r as installCompletion } from "./completion-cli-DECEgBWR.js";
39
- import { t as buildWorkspaceHookStatus } from "./hooks-status--xVLpAXz.js";
40
- import { t as runTui } from "./tui-nGp8ltQK.js";
38
+ import { r as installCompletion } from "./completion-cli-DnjpxAag.js";
39
+ import { t as buildWorkspaceHookStatus } from "./hooks-status-D9MhwHRp.js";
40
+ import { t as runTui } from "./tui-CVTQn-dC.js";
41
41
  import fs from "node:fs";
42
42
  import os from "node:os";
43
43
  import path from "node:path";
@@ -2535,7 +2535,7 @@ async function finalizeOnboardingWizard(options) {
2535
2535
  const systemdAvailable = process.platform === "linux" ? await isSystemdUserServiceAvailable() : true;
2536
2536
  if (process.platform === "linux" && !systemdAvailable) await prompter.note("Systemd user services are unavailable. Skipping lingering checks and service install.", "Systemd");
2537
2537
  if (process.platform === "linux" && systemdAvailable) {
2538
- const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-XvT9Y9sb.js").then((n) => n.r);
2538
+ const { ensureSystemdUserLingerInteractive } = await import("./systemd-linger-NC2kl1SC.js").then((n) => n.r);
2539
2539
  await ensureSystemdUserLingerInteractive({
2540
2540
  runtime,
2541
2541
  prompter: {
@@ -1,19 +1,19 @@
1
- import { k as theme, p as defaultRuntime } from "./entry.js";
2
- import "./auth-profiles-CcJ3hrog.js";
3
- import { t as formatCliCommand } from "./command-format-ayFsmwwz.js";
4
- import "./utils-Dk86IbEs.js";
5
- import "./exec-B8JKbXKW.js";
6
- import "./agent-scope-RCSw6gHy.js";
7
- import "./github-copilot-token-SLWintYd.js";
8
- import { i as loadConfig } from "./config-B7sno9eI.js";
9
- import "./manifest-registry-BTgLN_W2.js";
10
- import { t as formatDocsLink } from "./links-7M-j83As.js";
11
- import { r as normalizeChannelId } from "./plugins-3GyCj5KL.js";
1
+ import { A as theme, p as defaultRuntime } from "./entry.js";
2
+ import "./auth-profiles-ByNs3eEm.js";
3
+ import { t as formatCliCommand } from "./command-format-Bxe0mWee.js";
4
+ import "./utils-BLJAc3ZV.js";
5
+ import "./exec-CACT5OAW.js";
6
+ import "./agent-scope-CsRbLH4l.js";
7
+ import "./github-copilot-token-Cfs0Wxr8.js";
8
+ import { i as loadConfig } from "./config-Bdhomfei.js";
9
+ import "./manifest-registry-u0okVSkU.js";
10
+ import { t as formatDocsLink } from "./links-B8LAzWwg.js";
11
+ import { r as normalizeChannelId } from "./plugins-4Hqd1WGf.js";
12
12
  import "./logging-CfEk_PnX.js";
13
- import "./accounts-DbzMEfKN.js";
14
- import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests } from "./pairing-store-fIWI3pXG.js";
15
- import { t as resolvePairingIdLabel } from "./pairing-labels-Bin1K7_f.js";
16
- import { t as renderTable } from "./table-oJQPTUL6.js";
13
+ import "./accounts-DCDeFTra.js";
14
+ import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests } from "./pairing-store-Dp5_JGnG.js";
15
+ import { t as resolvePairingIdLabel } from "./pairing-labels-CgNHnjzT.js";
16
+ import { t as renderTable } from "./table-CwulTLQp.js";
17
17
 
18
18
  //#region src/cli/pairing-cli.ts
19
19
  /** Parse channel, allowing extension channels not in core registry. */
@@ -1,22 +1,22 @@
1
1
  import "./paths-DVBShlw6.js";
2
- import { R as theme, c as defaultRuntime } from "./subsystem-Bv7dGhES.js";
3
- import "./utils-BHPdZE4h.js";
4
- import "./exec-DXtR2fhb.js";
5
- import "./agent-scope---6LLHj0.js";
6
- import "./model-selection-unMJyUIE.js";
2
+ import { R as theme, c as defaultRuntime } from "./subsystem-BoExtIHo.js";
3
+ import "./utils-Cd9QdCHh.js";
4
+ import "./exec-YIosokWE.js";
5
+ import "./agent-scope-CQCus0rI.js";
6
+ import "./model-selection-BLuqsGVB.js";
7
7
  import "./github-copilot-token-BW-SEg7E.js";
8
8
  import { t as formatCliCommand } from "./command-format-ChfKqObn.js";
9
9
  import "./boolean-BgXe2hyu.js";
10
- import "./env-DE9xvYOL.js";
11
- import { i as loadConfig } from "./config-DH9TLUNc.js";
12
- import "./manifest-registry-DFckk-L8.js";
13
- import { r as normalizeChannelId } from "./plugins-BL9lIXSA.js";
10
+ import "./env-ONzUVAG2.js";
11
+ import { i as loadConfig } from "./config-aFQssWKX.js";
12
+ import "./manifest-registry-CQhdnDBZ.js";
13
+ import { r as normalizeChannelId } from "./plugins-X7d_tfTE.js";
14
14
  import "./logging-fywhKCmE.js";
15
- import "./accounts-DimKrt7j.js";
16
- import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests } from "./pairing-store-CL4rJ7m7.js";
17
- import { t as formatDocsLink } from "./links-CV4oki2u.js";
18
- import { t as resolvePairingIdLabel } from "./pairing-labels-3o3QO3Qn.js";
19
- import { t as renderTable } from "./table-DzBBIqHO.js";
15
+ import "./accounts-DeqIQjo1.js";
16
+ import { c as listPairingChannels, l as notifyPairingApproved, n as approveChannelPairingCode, r as listChannelPairingRequests } from "./pairing-store-CmlRVqOz.js";
17
+ import { t as formatDocsLink } from "./links-Eax1UO3w.js";
18
+ import { t as resolvePairingIdLabel } from "./pairing-labels-B6CN0SNH.js";
19
+ import { t as renderTable } from "./table-B8dx3v4v.js";
20
20
 
21
21
  //#region src/cli/pairing-cli.ts
22
22
  /** Parse channel, allowing extension channels not in core registry. */
@@ -1,4 +1,4 @@
1
- import { s as getPairingAdapter } from "./pairing-store-CL4rJ7m7.js";
1
+ import { s as getPairingAdapter } from "./pairing-store-CmlRVqOz.js";
2
2
 
3
3
  //#region src/pairing/pairing-labels.ts
4
4
  function resolvePairingIdLabel(channel) {
@@ -1,4 +1,4 @@
1
- import { s as getPairingAdapter } from "./pairing-store-fIWI3pXG.js";
1
+ import { s as getPairingAdapter } from "./pairing-store-Dp5_JGnG.js";
2
2
 
3
3
  //#region src/pairing/pairing-labels.ts
4
4
  function resolvePairingIdLabel(channel) {
@@ -1,6 +1,6 @@
1
1
  import { g as resolveStateDir, m as resolveOAuthDir, y as resolveRequiredHomeDir } from "./paths-DVBShlw6.js";
2
- import { x as safeParseJson } from "./utils-BHPdZE4h.js";
3
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-BL9lIXSA.js";
2
+ import { x as safeParseJson } from "./utils-Cd9QdCHh.js";
3
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-X7d_tfTE.js";
4
4
  import fs from "node:fs";
5
5
  import os from "node:os";
6
6
  import path from "node:path";
@@ -1,6 +1,6 @@
1
- import { J as resolveOAuthDir, X as resolveStateDir, pt as resolveRequiredHomeDir } from "./entry.js";
2
- import { b as safeParseJson } from "./utils-Dk86IbEs.js";
3
- import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-3GyCj5KL.js";
1
+ import { Y as resolveOAuthDir, Z as resolveStateDir, ht as resolveRequiredHomeDir } from "./entry.js";
2
+ import { b as safeParseJson } from "./utils-BLJAc3ZV.js";
3
+ import { n as listChannelPlugins, t as getChannelPlugin } from "./plugins-4Hqd1WGf.js";
4
4
  import path from "node:path";
5
5
  import os from "node:os";
6
6
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
1
  import { n as isTruthyEnvValue } from "./entry.js";
2
- import { n as resolveBrewPathDirs } from "./brew-BIrWdDps.js";
2
+ import { n as resolveBrewPathDirs } from "./brew-BUIxHEkn.js";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
5
5
  import fs from "node:fs";
@@ -1,5 +1,5 @@
1
- import { t as isTruthyEnvValue } from "./env-DE9xvYOL.js";
2
- import { n as resolveBrewPathDirs } from "./brew-6UyogeLe.js";
1
+ import { t as isTruthyEnvValue } from "./env-ONzUVAG2.js";
2
+ import { n as resolveBrewPathDirs } from "./brew-ROHf0-Xp.js";
3
3
  import fs from "node:fs";
4
4
  import os from "node:os";
5
5
  import path from "node:path";
@@ -1,5 +1,5 @@
1
1
  import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-BZtyHNCi.js";
2
- import { M as normalizeAgentId, T as DEFAULT_AGENT_ID } from "./agent-scope-rXQ7WARN.js";
2
+ import { M as normalizeAgentId, T as DEFAULT_AGENT_ID } from "./agent-scope-BIEhVP4_.js";
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
 
@@ -15,14 +15,39 @@ function resolveSessionTranscriptsDirForAgent(agentId, env = process.env, homedi
15
15
  function resolveDefaultSessionStorePath(agentId) {
16
16
  return path.join(resolveAgentSessionsDir(agentId), "sessions.json");
17
17
  }
18
- function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
18
+ const SAFE_SESSION_ID_RE = /^[a-z0-9][a-z0-9._-]{0,127}$/i;
19
+ function validateSessionId(sessionId) {
20
+ const trimmed = sessionId.trim();
21
+ if (!SAFE_SESSION_ID_RE.test(trimmed)) throw new Error(`Invalid session ID: ${sessionId}`);
22
+ return trimmed;
23
+ }
24
+ function resolveSessionsDir(opts) {
25
+ const sessionsDir = opts?.sessionsDir?.trim();
26
+ if (sessionsDir) return path.resolve(sessionsDir);
27
+ return resolveAgentSessionsDir(opts?.agentId);
28
+ }
29
+ function resolvePathWithinSessionsDir(sessionsDir, candidate) {
30
+ const trimmed = candidate.trim();
31
+ if (!trimmed) throw new Error("Session file path must not be empty");
32
+ const resolvedBase = path.resolve(sessionsDir);
33
+ const resolvedCandidate = path.resolve(resolvedBase, trimmed);
34
+ const relative = path.relative(resolvedBase, resolvedCandidate);
35
+ if (relative.startsWith("..") || path.isAbsolute(relative)) throw new Error("Session file path must be within sessions directory");
36
+ return resolvedCandidate;
37
+ }
38
+ function resolveSessionTranscriptPathInDir(sessionId, sessionsDir, topicId) {
39
+ const safeSessionId = validateSessionId(sessionId);
19
40
  const safeTopicId = typeof topicId === "string" ? encodeURIComponent(topicId) : typeof topicId === "number" ? String(topicId) : void 0;
20
- const fileName = safeTopicId !== void 0 ? `${sessionId}-topic-${safeTopicId}.jsonl` : `${sessionId}.jsonl`;
21
- return path.join(resolveAgentSessionsDir(agentId), fileName);
41
+ return resolvePathWithinSessionsDir(sessionsDir, safeTopicId !== void 0 ? `${safeSessionId}-topic-${safeTopicId}.jsonl` : `${safeSessionId}.jsonl`);
42
+ }
43
+ function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
44
+ return resolveSessionTranscriptPathInDir(sessionId, resolveAgentSessionsDir(agentId), topicId);
22
45
  }
23
46
  function resolveSessionFilePath(sessionId, entry, opts) {
47
+ const sessionsDir = resolveSessionsDir(opts);
24
48
  const candidate = entry?.sessionFile?.trim();
25
- return candidate ? candidate : resolveSessionTranscriptPath(sessionId, opts?.agentId);
49
+ if (candidate) return resolvePathWithinSessionsDir(sessionsDir, candidate);
50
+ return resolveSessionTranscriptPathInDir(sessionId, sessionsDir);
26
51
  }
27
52
  function resolveStorePath(store, opts) {
28
53
  const agentId = normalizeAgentId(opts?.agentId ?? DEFAULT_AGENT_ID);
@@ -18,14 +18,39 @@ function resolveSessionTranscriptsDirForAgent(agentId, env = process.env, homedi
18
18
  function resolveDefaultSessionStorePath(agentId) {
19
19
  return path.join(resolveAgentSessionsDir(agentId), "sessions.json");
20
20
  }
21
- function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
21
+ const SAFE_SESSION_ID_RE = /^[a-z0-9][a-z0-9._-]{0,127}$/i;
22
+ function validateSessionId(sessionId) {
23
+ const trimmed = sessionId.trim();
24
+ if (!SAFE_SESSION_ID_RE.test(trimmed)) throw new Error(`Invalid session ID: ${sessionId}`);
25
+ return trimmed;
26
+ }
27
+ function resolveSessionsDir(opts) {
28
+ const sessionsDir = opts?.sessionsDir?.trim();
29
+ if (sessionsDir) return path.resolve(sessionsDir);
30
+ return resolveAgentSessionsDir(opts?.agentId);
31
+ }
32
+ function resolvePathWithinSessionsDir(sessionsDir, candidate) {
33
+ const trimmed = candidate.trim();
34
+ if (!trimmed) throw new Error("Session file path must not be empty");
35
+ const resolvedBase = path.resolve(sessionsDir);
36
+ const resolvedCandidate = path.resolve(resolvedBase, trimmed);
37
+ const relative = path.relative(resolvedBase, resolvedCandidate);
38
+ if (relative.startsWith("..") || path.isAbsolute(relative)) throw new Error("Session file path must be within sessions directory");
39
+ return resolvedCandidate;
40
+ }
41
+ function resolveSessionTranscriptPathInDir(sessionId, sessionsDir, topicId) {
42
+ const safeSessionId = validateSessionId(sessionId);
22
43
  const safeTopicId = typeof topicId === "string" ? encodeURIComponent(topicId) : typeof topicId === "number" ? String(topicId) : void 0;
23
- const fileName = safeTopicId !== void 0 ? `${sessionId}-topic-${safeTopicId}.jsonl` : `${sessionId}.jsonl`;
24
- return path.join(resolveAgentSessionsDir(agentId), fileName);
44
+ return resolvePathWithinSessionsDir(sessionsDir, safeTopicId !== void 0 ? `${safeSessionId}-topic-${safeTopicId}.jsonl` : `${safeSessionId}.jsonl`);
45
+ }
46
+ function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
47
+ return resolveSessionTranscriptPathInDir(sessionId, resolveAgentSessionsDir(agentId), topicId);
25
48
  }
26
49
  function resolveSessionFilePath(sessionId, entry, opts) {
50
+ const sessionsDir = resolveSessionsDir(opts);
27
51
  const candidate = entry?.sessionFile?.trim();
28
- return candidate ? candidate : resolveSessionTranscriptPath(sessionId, opts?.agentId);
52
+ if (candidate) return resolvePathWithinSessionsDir(sessionsDir, candidate);
53
+ return resolveSessionTranscriptPathInDir(sessionId, sessionsDir);
29
54
  }
30
55
  function resolveStorePath(store, opts) {
31
56
  const agentId = normalizeAgentId(opts?.agentId ?? DEFAULT_AGENT_ID);
@@ -48,4 +73,4 @@ function resolveStorePath(store, opts) {
48
73
  }
49
74
 
50
75
  //#endregion
51
- export { resolveSessionTranscriptsDirForAgent as a, resolveSessionTranscriptsDir as i, resolveSessionFilePath as n, resolveStorePath as o, resolveSessionTranscriptPath as r, resolveDefaultSessionStorePath as t };
76
+ export { resolveSessionTranscriptsDir as a, resolveSessionTranscriptPathInDir as i, resolveSessionFilePath as n, resolveSessionTranscriptsDirForAgent as o, resolveSessionTranscriptPath as r, resolveStorePath as s, resolveDefaultSessionStorePath as t };
@@ -1,5 +1,5 @@
1
1
  import { c as expandHomePrefix, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-rb94mUrR.js";
2
- import { M as normalizeAgentId, T as DEFAULT_AGENT_ID } from "./agent-scope-CN8DM4Xb.js";
2
+ import { M as normalizeAgentId, T as DEFAULT_AGENT_ID } from "./agent-scope-DPIFau3f.js";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
5
5
 
@@ -15,14 +15,39 @@ function resolveSessionTranscriptsDirForAgent(agentId, env = process.env, homedi
15
15
  function resolveDefaultSessionStorePath(agentId) {
16
16
  return path.join(resolveAgentSessionsDir(agentId), "sessions.json");
17
17
  }
18
- function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
18
+ const SAFE_SESSION_ID_RE = /^[a-z0-9][a-z0-9._-]{0,127}$/i;
19
+ function validateSessionId(sessionId) {
20
+ const trimmed = sessionId.trim();
21
+ if (!SAFE_SESSION_ID_RE.test(trimmed)) throw new Error(`Invalid session ID: ${sessionId}`);
22
+ return trimmed;
23
+ }
24
+ function resolveSessionsDir(opts) {
25
+ const sessionsDir = opts?.sessionsDir?.trim();
26
+ if (sessionsDir) return path.resolve(sessionsDir);
27
+ return resolveAgentSessionsDir(opts?.agentId);
28
+ }
29
+ function resolvePathWithinSessionsDir(sessionsDir, candidate) {
30
+ const trimmed = candidate.trim();
31
+ if (!trimmed) throw new Error("Session file path must not be empty");
32
+ const resolvedBase = path.resolve(sessionsDir);
33
+ const resolvedCandidate = path.resolve(resolvedBase, trimmed);
34
+ const relative = path.relative(resolvedBase, resolvedCandidate);
35
+ if (relative.startsWith("..") || path.isAbsolute(relative)) throw new Error("Session file path must be within sessions directory");
36
+ return resolvedCandidate;
37
+ }
38
+ function resolveSessionTranscriptPathInDir(sessionId, sessionsDir, topicId) {
39
+ const safeSessionId = validateSessionId(sessionId);
19
40
  const safeTopicId = typeof topicId === "string" ? encodeURIComponent(topicId) : typeof topicId === "number" ? String(topicId) : void 0;
20
- const fileName = safeTopicId !== void 0 ? `${sessionId}-topic-${safeTopicId}.jsonl` : `${sessionId}.jsonl`;
21
- return path.join(resolveAgentSessionsDir(agentId), fileName);
41
+ return resolvePathWithinSessionsDir(sessionsDir, safeTopicId !== void 0 ? `${safeSessionId}-topic-${safeTopicId}.jsonl` : `${safeSessionId}.jsonl`);
42
+ }
43
+ function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
44
+ return resolveSessionTranscriptPathInDir(sessionId, resolveAgentSessionsDir(agentId), topicId);
22
45
  }
23
46
  function resolveSessionFilePath(sessionId, entry, opts) {
47
+ const sessionsDir = resolveSessionsDir(opts);
24
48
  const candidate = entry?.sessionFile?.trim();
25
- return candidate ? candidate : resolveSessionTranscriptPath(sessionId, opts?.agentId);
49
+ if (candidate) return resolvePathWithinSessionsDir(sessionsDir, candidate);
50
+ return resolveSessionTranscriptPathInDir(sessionId, sessionsDir);
26
51
  }
27
52
  function resolveStorePath(store, opts) {
28
53
  const agentId = normalizeAgentId(opts?.agentId ?? DEFAULT_AGENT_ID);
@@ -1,4 +1,4 @@
1
- import { X as resolveStateDir, dt as expandHomePrefix, pt as resolveRequiredHomeDir } from "./entry.js";
1
+ import { Z as resolveStateDir, ht as resolveRequiredHomeDir, pt as expandHomePrefix } from "./entry.js";
2
2
  import { l as normalizeAgentId, n as DEFAULT_AGENT_ID } from "./session-key-DVvxnFKg.js";
3
3
  import path from "node:path";
4
4
  import os from "node:os";
@@ -18,14 +18,39 @@ function resolveSessionTranscriptsDirForAgent(agentId, env = process.env, homedi
18
18
  function resolveDefaultSessionStorePath(agentId) {
19
19
  return path.join(resolveAgentSessionsDir(agentId), "sessions.json");
20
20
  }
21
- function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
21
+ const SAFE_SESSION_ID_RE = /^[a-z0-9][a-z0-9._-]{0,127}$/i;
22
+ function validateSessionId(sessionId) {
23
+ const trimmed = sessionId.trim();
24
+ if (!SAFE_SESSION_ID_RE.test(trimmed)) throw new Error(`Invalid session ID: ${sessionId}`);
25
+ return trimmed;
26
+ }
27
+ function resolveSessionsDir(opts) {
28
+ const sessionsDir = opts?.sessionsDir?.trim();
29
+ if (sessionsDir) return path.resolve(sessionsDir);
30
+ return resolveAgentSessionsDir(opts?.agentId);
31
+ }
32
+ function resolvePathWithinSessionsDir(sessionsDir, candidate) {
33
+ const trimmed = candidate.trim();
34
+ if (!trimmed) throw new Error("Session file path must not be empty");
35
+ const resolvedBase = path.resolve(sessionsDir);
36
+ const resolvedCandidate = path.resolve(resolvedBase, trimmed);
37
+ const relative = path.relative(resolvedBase, resolvedCandidate);
38
+ if (relative.startsWith("..") || path.isAbsolute(relative)) throw new Error("Session file path must be within sessions directory");
39
+ return resolvedCandidate;
40
+ }
41
+ function resolveSessionTranscriptPathInDir(sessionId, sessionsDir, topicId) {
42
+ const safeSessionId = validateSessionId(sessionId);
22
43
  const safeTopicId = typeof topicId === "string" ? encodeURIComponent(topicId) : typeof topicId === "number" ? String(topicId) : void 0;
23
- const fileName = safeTopicId !== void 0 ? `${sessionId}-topic-${safeTopicId}.jsonl` : `${sessionId}.jsonl`;
24
- return path.join(resolveAgentSessionsDir(agentId), fileName);
44
+ return resolvePathWithinSessionsDir(sessionsDir, safeTopicId !== void 0 ? `${safeSessionId}-topic-${safeTopicId}.jsonl` : `${safeSessionId}.jsonl`);
45
+ }
46
+ function resolveSessionTranscriptPath(sessionId, agentId, topicId) {
47
+ return resolveSessionTranscriptPathInDir(sessionId, resolveAgentSessionsDir(agentId), topicId);
25
48
  }
26
49
  function resolveSessionFilePath(sessionId, entry, opts) {
50
+ const sessionsDir = resolveSessionsDir(opts);
27
51
  const candidate = entry?.sessionFile?.trim();
28
- return candidate ? candidate : resolveSessionTranscriptPath(sessionId, opts?.agentId);
52
+ if (candidate) return resolvePathWithinSessionsDir(sessionsDir, candidate);
53
+ return resolveSessionTranscriptPathInDir(sessionId, sessionsDir);
29
54
  }
30
55
  function resolveStorePath(store, opts) {
31
56
  const agentId = normalizeAgentId(opts?.agentId ?? DEFAULT_AGENT_ID);
@@ -48,4 +73,4 @@ function resolveStorePath(store, opts) {
48
73
  }
49
74
 
50
75
  //#endregion
51
- export { resolveSessionTranscriptsDirForAgent as a, resolveSessionTranscriptsDir as i, resolveSessionFilePath as n, resolveStorePath as o, resolveSessionTranscriptPath as r, resolveDefaultSessionStorePath as t };
76
+ export { resolveSessionTranscriptsDir as a, resolveSessionTranscriptPathInDir as i, resolveSessionFilePath as n, resolveSessionTranscriptsDirForAgent as o, resolveSessionTranscriptPath as r, resolveStorePath as s, resolveDefaultSessionStorePath as t };