@skaile/workspaces 6.4.0 → 6.6.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 (405) hide show
  1. package/CHANGELOG.md +58 -1
  2. package/README.md +4 -0
  3. package/dist/ai-sdk.js +55 -25
  4. package/dist/ai-sdk.js.map +1 -1
  5. package/dist/app-sdk/index.js +1 -1
  6. package/dist/{asset-feeds-UJSYGKCX.js → asset-feeds-WQ6YQPHV.js} +22 -22
  7. package/dist/{asset-feeds-UJSYGKCX.js.map → asset-feeds-WQ6YQPHV.js.map} +1 -1
  8. package/dist/asset-manager/catalog-deployer.js +8 -8
  9. package/dist/asset-manager/index.js +14 -14
  10. package/dist/asset-manager/installer.js +10 -10
  11. package/dist/asset-manager/renderers.js +9 -9
  12. package/dist/asset-manager/src/index.d.ts +114 -12
  13. package/dist/asset-manager/src/index.d.ts.map +1 -1
  14. package/dist/asset-manager/src/installer.d.ts +6 -0
  15. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  16. package/dist/bridge/harnesses/claude-sdk.js +24 -19
  17. package/dist/bridge/harnesses/claude-sdk.js.map +1 -1
  18. package/dist/bridge/harnesses/codex.js +38 -36
  19. package/dist/bridge/harnesses/codex.js.map +1 -1
  20. package/dist/bridge/harnesses/continue.js +12 -13
  21. package/dist/bridge/harnesses/continue.js.map +1 -1
  22. package/dist/bridge/harnesses/echo.js +5 -6
  23. package/dist/bridge/harnesses/echo.js.map +1 -1
  24. package/dist/bridge/harnesses/gemini.js +9 -10
  25. package/dist/bridge/harnesses/goose.js +12 -13
  26. package/dist/bridge/harnesses/goose.js.map +1 -1
  27. package/dist/bridge/harnesses/omp.js +17 -12
  28. package/dist/bridge/harnesses/omp.js.map +1 -1
  29. package/dist/bridge/harnesses/opencode.js +12 -13
  30. package/dist/bridge/harnesses/opencode.js.map +1 -1
  31. package/dist/bridge/harnesses/qwen.js +9 -10
  32. package/dist/bridge/harnesses/qwen.js.map +1 -1
  33. package/dist/bridge/index.js +20 -21
  34. package/dist/bridge/src/ai-sdk.d.ts +0 -2
  35. package/dist/bridge/src/ai-sdk.d.ts.map +1 -1
  36. package/dist/bridge/src/codex/login-fallback.d.ts +39 -0
  37. package/dist/bridge/src/codex/login-fallback.d.ts.map +1 -0
  38. package/dist/bridge/src/error-classifier.d.ts +6 -0
  39. package/dist/bridge/src/error-classifier.d.ts.map +1 -1
  40. package/dist/bridge/src/harnesses/claude-sdk.d.ts.map +1 -1
  41. package/dist/bridge/src/harnesses/codex.d.ts +0 -6
  42. package/dist/bridge/src/harnesses/codex.d.ts.map +1 -1
  43. package/dist/bridge/src/harnesses/omp.d.ts.map +1 -1
  44. package/dist/bridge/src/index.d.ts +1 -0
  45. package/dist/bridge/src/index.d.ts.map +1 -1
  46. package/dist/{chunk-GTMANMBZ.js → chunk-2M3VLKT2.js} +3 -3
  47. package/dist/{chunk-GTMANMBZ.js.map → chunk-2M3VLKT2.js.map} +1 -1
  48. package/dist/{chunk-2WOA3TKK.js → chunk-2TLPC6TQ.js} +34 -19
  49. package/dist/chunk-2TLPC6TQ.js.map +1 -0
  50. package/dist/{chunk-O7KAQQAI.js → chunk-4BFEPZ6J.js} +4 -4
  51. package/dist/{chunk-O7KAQQAI.js.map → chunk-4BFEPZ6J.js.map} +1 -1
  52. package/dist/{chunk-TPQKFX6X.js → chunk-4J7JQX4G.js} +4 -4
  53. package/dist/{chunk-TPQKFX6X.js.map → chunk-4J7JQX4G.js.map} +1 -1
  54. package/dist/{chunk-6OHZUUR7.js → chunk-5DE3DGVR.js} +11 -5
  55. package/dist/chunk-5DE3DGVR.js.map +1 -0
  56. package/dist/{chunk-Q4XWCVFA.js → chunk-5ETYBC2X.js} +8 -8
  57. package/dist/{chunk-Q4XWCVFA.js.map → chunk-5ETYBC2X.js.map} +1 -1
  58. package/dist/{chunk-ZWCGJYR7.js → chunk-5XHQBCB5.js} +3 -3
  59. package/dist/{chunk-ZWCGJYR7.js.map → chunk-5XHQBCB5.js.map} +1 -1
  60. package/dist/{chunk-JSWMRYLM.js → chunk-65UAC3ZR.js} +31 -7
  61. package/dist/chunk-65UAC3ZR.js.map +1 -0
  62. package/dist/{chunk-UBLZALKP.js → chunk-6A6HE5LW.js} +3 -3
  63. package/dist/{chunk-UBLZALKP.js.map → chunk-6A6HE5LW.js.map} +1 -1
  64. package/dist/{chunk-ABVWUM2E.js → chunk-6ARPZHOV.js} +47 -25
  65. package/dist/chunk-6ARPZHOV.js.map +1 -0
  66. package/dist/{chunk-TDKZL5ZC.js → chunk-6RHWTZPT.js} +4 -4
  67. package/dist/{chunk-TDKZL5ZC.js.map → chunk-6RHWTZPT.js.map} +1 -1
  68. package/dist/{chunk-6WQGJF65.js → chunk-6SXSVKQY.js} +88 -17
  69. package/dist/chunk-6SXSVKQY.js.map +1 -0
  70. package/dist/{chunk-YFGXYQW4.js → chunk-7I5PNB2G.js} +3 -3
  71. package/dist/{chunk-YFGXYQW4.js.map → chunk-7I5PNB2G.js.map} +1 -1
  72. package/dist/{serve-preflight-NPWI4MV6.js → chunk-7PVGND4J.js} +30 -61
  73. package/dist/chunk-7PVGND4J.js.map +1 -0
  74. package/dist/{chunk-P7EL7QRD.js → chunk-7SJHSGUV.js} +34 -20
  75. package/dist/chunk-7SJHSGUV.js.map +1 -0
  76. package/dist/{chunk-VSCLUPGZ.js → chunk-AQNW2FET.js} +289 -44
  77. package/dist/chunk-AQNW2FET.js.map +1 -0
  78. package/dist/{chunk-45KLCFQB.js → chunk-B6N653ZG.js} +6 -6
  79. package/dist/{chunk-45KLCFQB.js.map → chunk-B6N653ZG.js.map} +1 -1
  80. package/dist/{chunk-6UP2EDFN.js → chunk-BSMW3PX2.js} +313 -4
  81. package/dist/chunk-BSMW3PX2.js.map +1 -0
  82. package/dist/{chunk-HTGTNN2B.js → chunk-CMXDFTA2.js} +3 -3
  83. package/dist/{chunk-HTGTNN2B.js.map → chunk-CMXDFTA2.js.map} +1 -1
  84. package/dist/{chunk-YJNE4V2M.js → chunk-DI6J2PJB.js} +70 -37
  85. package/dist/chunk-DI6J2PJB.js.map +1 -0
  86. package/dist/{chunk-V4OXHEWY.js → chunk-DS6UUCFG.js} +4 -4
  87. package/dist/{chunk-V4OXHEWY.js.map → chunk-DS6UUCFG.js.map} +1 -1
  88. package/dist/{chunk-U6S5CXKB.js → chunk-E2EC6SAX.js} +4 -4
  89. package/dist/{chunk-U6S5CXKB.js.map → chunk-E2EC6SAX.js.map} +1 -1
  90. package/dist/{chunk-TF5CWJQZ.js → chunk-EPXZQIC6.js} +23 -80
  91. package/dist/chunk-EPXZQIC6.js.map +1 -0
  92. package/dist/{chunk-6X3GDPCB.js → chunk-F4CZQD3T.js} +3 -4
  93. package/dist/chunk-F4CZQD3T.js.map +1 -0
  94. package/dist/{chunk-VZU67OKK.js → chunk-G5SYFFMD.js} +2 -2
  95. package/dist/{chunk-VZU67OKK.js.map → chunk-G5SYFFMD.js.map} +1 -1
  96. package/dist/{chunk-VV2DJT4I.js → chunk-GNUA7XT2.js} +4 -3
  97. package/dist/chunk-GNUA7XT2.js.map +1 -0
  98. package/dist/{chunk-E237FGGX.js → chunk-GTAHU4N4.js} +4 -4
  99. package/dist/{chunk-E237FGGX.js.map → chunk-GTAHU4N4.js.map} +1 -1
  100. package/dist/{chunk-SISUT7VR.js → chunk-GTGWRKMJ.js} +7 -7
  101. package/dist/{chunk-SISUT7VR.js.map → chunk-GTGWRKMJ.js.map} +1 -1
  102. package/dist/{chunk-BX7PSWJA.js → chunk-HGZN6JLP.js} +4 -4
  103. package/dist/{chunk-BX7PSWJA.js.map → chunk-HGZN6JLP.js.map} +1 -1
  104. package/dist/{chunk-L45IHRDH.js → chunk-HQAPUPBE.js} +3 -3
  105. package/dist/{chunk-L45IHRDH.js.map → chunk-HQAPUPBE.js.map} +1 -1
  106. package/dist/{chunk-L4OYPFLB.js → chunk-I5IF3JCG.js} +4 -4
  107. package/dist/{chunk-L4OYPFLB.js.map → chunk-I5IF3JCG.js.map} +1 -1
  108. package/dist/{chunk-IYZAJ2J2.js → chunk-J262X4JU.js} +36 -36
  109. package/dist/chunk-J262X4JU.js.map +1 -0
  110. package/dist/{chunk-WENTJ5KP.js → chunk-J4WKNJHO.js} +6 -6
  111. package/dist/{chunk-WENTJ5KP.js.map → chunk-J4WKNJHO.js.map} +1 -1
  112. package/dist/{chunk-3ENE6ZOF.js → chunk-JIQUF3X2.js} +9 -8
  113. package/dist/chunk-JIQUF3X2.js.map +1 -0
  114. package/dist/{chunk-TGB4E5Z6.js → chunk-JRVQV7WC.js} +414 -95
  115. package/dist/chunk-JRVQV7WC.js.map +1 -0
  116. package/dist/{chunk-BOS7P2Y4.js → chunk-KSH5CFQS.js} +3 -3
  117. package/dist/{chunk-BOS7P2Y4.js.map → chunk-KSH5CFQS.js.map} +1 -1
  118. package/dist/{chunk-UUKCPPTQ.js → chunk-KSUT5KAE.js} +3 -3
  119. package/dist/{chunk-UUKCPPTQ.js.map → chunk-KSUT5KAE.js.map} +1 -1
  120. package/dist/{chunk-DF5WJC3Q.js → chunk-LBJ4M5J2.js} +4 -4
  121. package/dist/{chunk-DF5WJC3Q.js.map → chunk-LBJ4M5J2.js.map} +1 -1
  122. package/dist/{chunk-GBXQFJ4G.js → chunk-MMOWIRHP.js} +310 -175
  123. package/dist/chunk-MMOWIRHP.js.map +1 -0
  124. package/dist/{chunk-G63KOHFS.js → chunk-MXI3XWV6.js} +4 -4
  125. package/dist/{chunk-G63KOHFS.js.map → chunk-MXI3XWV6.js.map} +1 -1
  126. package/dist/{chunk-ACBL7X62.js → chunk-N2PBAXAA.js} +3 -3
  127. package/dist/{chunk-ACBL7X62.js.map → chunk-N2PBAXAA.js.map} +1 -1
  128. package/dist/{chunk-5NHBLKKU.js → chunk-O7QZI6MQ.js} +3 -3
  129. package/dist/{chunk-5NHBLKKU.js.map → chunk-O7QZI6MQ.js.map} +1 -1
  130. package/dist/{chunk-U3SXCVR7.js → chunk-OY22B7E2.js} +4 -4
  131. package/dist/{chunk-U3SXCVR7.js.map → chunk-OY22B7E2.js.map} +1 -1
  132. package/dist/{chunk-C7TQARGC.js → chunk-PTJTOPE5.js} +3 -3
  133. package/dist/{chunk-C7TQARGC.js.map → chunk-PTJTOPE5.js.map} +1 -1
  134. package/dist/{chunk-HSF665NV.js → chunk-RAU5QPI6.js} +5 -5
  135. package/dist/{chunk-HSF665NV.js.map → chunk-RAU5QPI6.js.map} +1 -1
  136. package/dist/{chunk-RKI35EAN.js → chunk-RHCEX2EV.js} +3 -3
  137. package/dist/{chunk-RKI35EAN.js.map → chunk-RHCEX2EV.js.map} +1 -1
  138. package/dist/{chunk-76WSWPOB.js → chunk-SCRYXAHH.js} +15 -6
  139. package/dist/chunk-SCRYXAHH.js.map +1 -0
  140. package/dist/{chunk-DKXNKFKP.js → chunk-SGI5MRKP.js} +75 -3
  141. package/dist/chunk-SGI5MRKP.js.map +1 -0
  142. package/dist/{chunk-24D7IW5O.js → chunk-SHTXMERQ.js} +7 -8
  143. package/dist/chunk-SHTXMERQ.js.map +1 -0
  144. package/dist/{chunk-IZV3HDVG.js → chunk-SZKCE7EC.js} +5 -5
  145. package/dist/{chunk-IZV3HDVG.js.map → chunk-SZKCE7EC.js.map} +1 -1
  146. package/dist/{chunk-UAOHR6AL.js → chunk-TCH5UDKT.js} +4 -4
  147. package/dist/{chunk-UAOHR6AL.js.map → chunk-TCH5UDKT.js.map} +1 -1
  148. package/dist/{chunk-UVTN4O7N.js → chunk-TUFNY6OD.js} +33 -10
  149. package/dist/chunk-TUFNY6OD.js.map +1 -0
  150. package/dist/{chunk-PTBX55QF.js → chunk-U3UDOX6I.js} +4 -4
  151. package/dist/{chunk-PTBX55QF.js.map → chunk-U3UDOX6I.js.map} +1 -1
  152. package/dist/{chunk-BUU2DLPC.js → chunk-USSP43U3.js} +3 -3
  153. package/dist/{chunk-BUU2DLPC.js.map → chunk-USSP43U3.js.map} +1 -1
  154. package/dist/{chunk-IZQOO6MN.js → chunk-V5KG6CCV.js} +2 -2
  155. package/dist/{chunk-IZQOO6MN.js.map → chunk-V5KG6CCV.js.map} +1 -1
  156. package/dist/{chunk-CK3CJSRY.js → chunk-VJRL6ZK6.js} +4 -4
  157. package/dist/{chunk-CK3CJSRY.js.map → chunk-VJRL6ZK6.js.map} +1 -1
  158. package/dist/{chunk-76FLBODK.js → chunk-VT6G5AJV.js} +10 -7
  159. package/dist/chunk-VT6G5AJV.js.map +1 -0
  160. package/dist/{chunk-EXRQKOY6.js → chunk-VXYZ5M7Z.js} +83 -34
  161. package/dist/chunk-VXYZ5M7Z.js.map +1 -0
  162. package/dist/{chunk-QSIFEHSN.js → chunk-WW5NAU6N.js} +3 -3
  163. package/dist/{chunk-QSIFEHSN.js.map → chunk-WW5NAU6N.js.map} +1 -1
  164. package/dist/chunk-XD3RYAMR.js +83 -0
  165. package/dist/chunk-XD3RYAMR.js.map +1 -0
  166. package/dist/{chunk-HXZ3FQQN.js → chunk-XYCYGN3Q.js} +82 -50
  167. package/dist/chunk-XYCYGN3Q.js.map +1 -0
  168. package/dist/{chunk-5T3DTK7A.js → chunk-YN6N3RBM.js} +9 -10
  169. package/dist/chunk-YN6N3RBM.js.map +1 -0
  170. package/dist/{chunk-DCJ4BION.js → chunk-Z4FERR4U.js} +2 -2
  171. package/dist/{chunk-DCJ4BION.js.map → chunk-Z4FERR4U.js.map} +1 -1
  172. package/dist/{claude-code-UBT4ZME7.js → claude-code-LZH7Y4Y5.js} +5 -5
  173. package/dist/{claude-code-UBT4ZME7.js.map → claude-code-LZH7Y4Y5.js.map} +1 -1
  174. package/dist/cli/index.js +308 -162
  175. package/dist/cli/index.js.map +1 -1
  176. package/dist/cli/src/commands/cache.d.ts.map +1 -1
  177. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  178. package/dist/cli/src/commands/config.d.ts.map +1 -1
  179. package/dist/cli/src/commands/connector.d.ts.map +1 -1
  180. package/dist/cli/src/commands/deploy.d.ts.map +1 -1
  181. package/dist/cli/src/commands/harness.d.ts +5 -4
  182. package/dist/cli/src/commands/harness.d.ts.map +1 -1
  183. package/dist/cli/src/commands/integration.d.ts.map +1 -1
  184. package/dist/cli/src/commands/library-cmd.d.ts.map +1 -1
  185. package/dist/cli/src/commands/library-index.d.ts +6 -0
  186. package/dist/cli/src/commands/library-index.d.ts.map +1 -1
  187. package/dist/cli/src/commands/migrate-files.d.ts +3 -6
  188. package/dist/cli/src/commands/migrate-files.d.ts.map +1 -1
  189. package/dist/cli/src/commands/migrate-harness.d.ts +4 -3
  190. package/dist/cli/src/commands/migrate-harness.d.ts.map +1 -1
  191. package/dist/cli/src/commands/migrate.d.ts +2 -2
  192. package/dist/cli/src/commands/outdated.d.ts.map +1 -1
  193. package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
  194. package/dist/cli/src/commands/project.d.ts +7 -1
  195. package/dist/cli/src/commands/project.d.ts.map +1 -1
  196. package/dist/cli/src/commands/run.d.ts.map +1 -1
  197. package/dist/cli/src/commands/serve-preflight.d.ts +21 -0
  198. package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
  199. package/dist/cli/src/commands/serve.d.ts.map +1 -1
  200. package/dist/cli/src/commands/source-manifest.d.ts.map +1 -1
  201. package/dist/cli/src/commands/source.d.ts +8 -0
  202. package/dist/cli/src/commands/source.d.ts.map +1 -1
  203. package/dist/cli/src/commands/update.d.ts.map +1 -1
  204. package/dist/cli/src/commands/validate-instances.d.ts +6 -0
  205. package/dist/cli/src/commands/validate-instances.d.ts.map +1 -1
  206. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  207. package/dist/cli/src/commands/verify.d.ts.map +1 -1
  208. package/dist/cli/src/config-checks.d.ts +8 -0
  209. package/dist/cli/src/config-checks.d.ts.map +1 -1
  210. package/dist/cli/src/ensure-sources.d.ts.map +1 -1
  211. package/dist/cli/src/helpers.d.ts +3 -2
  212. package/dist/cli/src/helpers.d.ts.map +1 -1
  213. package/dist/cli/src/plugin-store/index.d.ts.map +1 -1
  214. package/dist/cli/src/plugin-store/reconcile.d.ts.map +1 -1
  215. package/dist/cli/src/plugin-store/spec.d.ts +1 -0
  216. package/dist/cli/src/plugin-store/spec.d.ts.map +1 -1
  217. package/dist/cli/src/skill-checks.d.ts +2 -0
  218. package/dist/cli/src/skill-checks.d.ts.map +1 -1
  219. package/dist/connectors/config.js +5 -5
  220. package/dist/connectors/index.js +24 -25
  221. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  222. package/dist/connectors/src/index.d.ts +2 -2
  223. package/dist/connectors/src/index.d.ts.map +1 -1
  224. package/dist/connectors/src/managed-gitconfig.d.ts +22 -0
  225. package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
  226. package/dist/connectors/src/mount-ledger.d.ts.map +1 -1
  227. package/dist/connectors/src/npm-installer.d.ts +11 -3
  228. package/dist/connectors/src/npm-installer.d.ts.map +1 -1
  229. package/dist/connectors-HU5MHSUJ.js +49 -0
  230. package/dist/{connectors-4WH32NK2.js.map → connectors-HU5MHSUJ.js.map} +1 -1
  231. package/dist/connectors-shared/index.js +2 -2
  232. package/dist/core/index.js +7 -7
  233. package/dist/core/logging.js +1 -1
  234. package/dist/core/manifest.js +2 -2
  235. package/dist/core/models.js +1 -1
  236. package/dist/core/publish-manifest.js +3 -3
  237. package/dist/core/ref.js +1 -1
  238. package/dist/core/runtime-assets.js +5 -5
  239. package/dist/core/src/agent-instances.d.ts +6 -0
  240. package/dist/core/src/agent-instances.d.ts.map +1 -1
  241. package/dist/core/src/config-key-diagnostics.d.ts +2 -1
  242. package/dist/core/src/config-key-diagnostics.d.ts.map +1 -1
  243. package/dist/core/src/index.d.ts +4 -4
  244. package/dist/core/src/index.d.ts.map +1 -1
  245. package/dist/core/src/lock.d.ts +20 -1
  246. package/dist/core/src/lock.d.ts.map +1 -1
  247. package/dist/core/src/logging/index.d.ts +1 -0
  248. package/dist/core/src/logging/index.d.ts.map +1 -1
  249. package/dist/core/src/logging/log-safe-text.d.ts +20 -0
  250. package/dist/core/src/logging/log-safe-text.d.ts.map +1 -0
  251. package/dist/core/src/manifest-yaml-editor.d.ts +4 -1
  252. package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -1
  253. package/dist/core/src/manifest.d.ts.map +1 -1
  254. package/dist/core/src/models.d.ts +10 -0
  255. package/dist/core/src/models.d.ts.map +1 -1
  256. package/dist/core/src/repo-manager.d.ts +11 -0
  257. package/dist/core/src/repo-manager.d.ts.map +1 -1
  258. package/dist/core/src/runtime-assets.d.ts +12 -1
  259. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  260. package/dist/core/src/walker.d.ts +3 -0
  261. package/dist/core/src/walker.d.ts.map +1 -1
  262. package/dist/core/src/workspace-config.d.ts +10 -2
  263. package/dist/core/src/workspace-config.d.ts.map +1 -1
  264. package/dist/core/workspace-config.js +4 -4
  265. package/dist/deploy/index.js +7 -7
  266. package/dist/discovery/index.js +5 -5
  267. package/dist/{ensure-sources-UC2RBYMP.js → ensure-sources-CAMWJTMR.js} +32 -32
  268. package/dist/ensure-sources-CAMWJTMR.js.map +1 -0
  269. package/dist/factory-assets/connectors/box.js +24 -25
  270. package/dist/factory-assets/connectors/deploy.js +24 -25
  271. package/dist/factory-assets/connectors/devserver.js +24 -25
  272. package/dist/factory-assets/connectors/flow/adapter.js +24 -25
  273. package/dist/factory-assets/connectors/flow/engine.js +8 -8
  274. package/dist/factory-assets/connectors/flow/run-flow.js +26 -27
  275. package/dist/factory-assets/connectors/flow.js +24 -25
  276. package/dist/factory-assets/connectors/git.js +24 -25
  277. package/dist/factory-assets/connectors/gmail.js +24 -25
  278. package/dist/factory-assets/connectors/googledrive.js +24 -25
  279. package/dist/factory-assets/connectors/local.js +24 -25
  280. package/dist/factory-assets/connectors/mattermost.js +24 -25
  281. package/dist/factory-assets/connectors/memory.js +24 -25
  282. package/dist/factory-assets/connectors/minio.js +24 -25
  283. package/dist/factory-assets/connectors/postgres.js +24 -25
  284. package/dist/factory-assets/connectors/s3.js +24 -25
  285. package/dist/factory-assets/connectors/sharepoint.js +24 -25
  286. package/dist/factory-assets/connectors/sqlite.js +24 -25
  287. package/dist/factory-assets/connectors/static-server.js +24 -25
  288. package/dist/factory-assets/connectors/tunnel.js +24 -25
  289. package/dist/factory-assets/connectors/webdav.js +24 -25
  290. package/dist/factory-assets/connectors/xstate-store.js +24 -25
  291. package/dist/factory-assets/connectors/xstate.js +24 -25
  292. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +2 -1
  293. package/dist/{flows-LYTKNGKE.js → flows-GVOVQGQW.js} +12 -12
  294. package/dist/{flows-LYTKNGKE.js.map → flows-GVOVQGQW.js.map} +1 -1
  295. package/dist/{helpers-SSSKT5XK.js → helpers-WMCCODAV.js} +29 -30
  296. package/dist/{helpers-SSSKT5XK.js.map → helpers-WMCCODAV.js.map} +1 -1
  297. package/dist/library/index.js +11 -11
  298. package/dist/library/install.js +4 -4
  299. package/dist/library/src/manifest-writer.d.ts +9 -0
  300. package/dist/library/src/manifest-writer.d.ts.map +1 -1
  301. package/dist/library/src/remote/remote-catalog-source.d.ts +9 -0
  302. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  303. package/dist/library/src/remote/rest-catalog-source.d.ts +1 -0
  304. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  305. package/dist/{library-publish-GQMNTAKK.js → library-publish-UQQMHTND.js} +55 -55
  306. package/dist/{library-publish-GQMNTAKK.js.map → library-publish-UQQMHTND.js.map} +1 -1
  307. package/dist/model-endpoint/index.js +10 -11
  308. package/dist/open-library-OJ4HT2X4.js +57 -0
  309. package/dist/{open-library-XGUCUJYE.js.map → open-library-OJ4HT2X4.js.map} +1 -1
  310. package/dist/open-registry-LWGIOJDK.js +32 -0
  311. package/dist/{open-registry-DIFEPDF6.js.map → open-registry-LWGIOJDK.js.map} +1 -1
  312. package/dist/paths-FR2752HV.js +22 -0
  313. package/dist/{paths-G4GFJLE2.js.map → paths-FR2752HV.js.map} +1 -1
  314. package/dist/{plugin-store-BBLDFD3L.js → plugin-store-IALJUBN2.js} +10 -10
  315. package/dist/{plugin-store-BBLDFD3L.js.map → plugin-store-IALJUBN2.js.map} +1 -1
  316. package/dist/project-UQFCYHYS.js +88 -0
  317. package/dist/{project-LB745WVZ.js.map → project-UQFCYHYS.js.map} +1 -1
  318. package/dist/resolver/index.js +8 -8
  319. package/dist/runner/index.js +40 -41
  320. package/dist/runner/src/composition/resolve-instance.d.ts.map +1 -1
  321. package/dist/runner/src/composition/resolve.d.ts +6 -0
  322. package/dist/runner/src/composition/resolve.d.ts.map +1 -1
  323. package/dist/runner/src/credential-notice.d.ts +3 -2
  324. package/dist/runner/src/credential-notice.d.ts.map +1 -1
  325. package/dist/runner/src/external-mcp.d.ts +22 -0
  326. package/dist/runner/src/external-mcp.d.ts.map +1 -1
  327. package/dist/runner/src/mcp-tools-snapshot.d.ts +13 -0
  328. package/dist/runner/src/mcp-tools-snapshot.d.ts.map +1 -0
  329. package/dist/runner/src/resources.d.ts +14 -0
  330. package/dist/runner/src/resources.d.ts.map +1 -1
  331. package/dist/runner/src/serve.d.ts.map +1 -1
  332. package/dist/sdk/asset-manager.js +14 -14
  333. package/dist/sdk/bridge.js +20 -21
  334. package/dist/sdk/core.js +7 -7
  335. package/dist/sdk/flow.js +8 -8
  336. package/dist/sdk/index.js +40 -41
  337. package/dist/sdk/index.js.map +1 -1
  338. package/dist/sdk/resolver.js +8 -8
  339. package/dist/sdk/runner.js +40 -41
  340. package/dist/sdk/session.js +2 -2
  341. package/dist/sdk/transport/ws/server.js +8 -8
  342. package/dist/sdk/transport/ws.js +8 -8
  343. package/dist/sdk/transport.js +8 -8
  344. package/dist/sdk/types.js +1 -1
  345. package/dist/serve-preflight-TYEKHC32.js +56 -0
  346. package/dist/serve-preflight-TYEKHC32.js.map +1 -0
  347. package/dist/session/index.js +2 -2
  348. package/dist/{setup-X6ZYH2MW.js → setup-4JV2IMCB.js} +30 -31
  349. package/dist/setup-4JV2IMCB.js.map +1 -0
  350. package/dist/{skills-62PXDBPJ.js → skills-6QTKFMLW.js} +13 -13
  351. package/dist/{skills-62PXDBPJ.js.map → skills-6QTKFMLW.js.map} +1 -1
  352. package/dist/source-XYMMJVKR.js +86 -0
  353. package/dist/{source-LAYCTRHP.js.map → source-XYMMJVKR.js.map} +1 -1
  354. package/dist/{source-manifest-publish-3S6PJ25W.js → source-manifest-publish-SZFGGKB4.js} +52 -53
  355. package/dist/source-manifest-publish-SZFGGKB4.js.map +1 -0
  356. package/dist/transport/index.js +8 -8
  357. package/dist/transport/ws/server.js +8 -8
  358. package/dist/transport/ws.js +8 -8
  359. package/dist/tui/index.js +40 -41
  360. package/dist/tui/index.js.map +1 -1
  361. package/dist/types/index.js +1 -1
  362. package/dist/types/manifests.js +1 -1
  363. package/dist/types/src/manifests/agent.d.ts +2 -2
  364. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  365. package/dist/types/src/version.d.ts +8 -8
  366. package/dist/workspace-plugin/adapters/mcp.js +31 -32
  367. package/dist/workspace-plugin/adapters/omp.js +14 -14
  368. package/dist/workspace-plugin/index.js +2 -2
  369. package/package.json +1 -1
  370. package/dist/chunk-24D7IW5O.js.map +0 -1
  371. package/dist/chunk-2WOA3TKK.js.map +0 -1
  372. package/dist/chunk-3ENE6ZOF.js.map +0 -1
  373. package/dist/chunk-5T3DTK7A.js.map +0 -1
  374. package/dist/chunk-6OHZUUR7.js.map +0 -1
  375. package/dist/chunk-6UP2EDFN.js.map +0 -1
  376. package/dist/chunk-6WQGJF65.js.map +0 -1
  377. package/dist/chunk-6X3GDPCB.js.map +0 -1
  378. package/dist/chunk-76FLBODK.js.map +0 -1
  379. package/dist/chunk-76WSWPOB.js.map +0 -1
  380. package/dist/chunk-ABVWUM2E.js.map +0 -1
  381. package/dist/chunk-DKXNKFKP.js.map +0 -1
  382. package/dist/chunk-EXRQKOY6.js.map +0 -1
  383. package/dist/chunk-GBXQFJ4G.js.map +0 -1
  384. package/dist/chunk-HXZ3FQQN.js.map +0 -1
  385. package/dist/chunk-IYZAJ2J2.js.map +0 -1
  386. package/dist/chunk-JSWMRYLM.js.map +0 -1
  387. package/dist/chunk-P7EL7QRD.js.map +0 -1
  388. package/dist/chunk-QJQQNBVT.js +0 -315
  389. package/dist/chunk-QJQQNBVT.js.map +0 -1
  390. package/dist/chunk-TF5CWJQZ.js.map +0 -1
  391. package/dist/chunk-TGB4E5Z6.js.map +0 -1
  392. package/dist/chunk-UVTN4O7N.js.map +0 -1
  393. package/dist/chunk-VSCLUPGZ.js.map +0 -1
  394. package/dist/chunk-VV2DJT4I.js.map +0 -1
  395. package/dist/chunk-YJNE4V2M.js.map +0 -1
  396. package/dist/connectors-4WH32NK2.js +0 -50
  397. package/dist/ensure-sources-UC2RBYMP.js.map +0 -1
  398. package/dist/open-library-XGUCUJYE.js +0 -58
  399. package/dist/open-registry-DIFEPDF6.js +0 -32
  400. package/dist/paths-G4GFJLE2.js +0 -22
  401. package/dist/project-LB745WVZ.js +0 -88
  402. package/dist/serve-preflight-NPWI4MV6.js.map +0 -1
  403. package/dist/setup-X6ZYH2MW.js.map +0 -1
  404. package/dist/source-LAYCTRHP.js +0 -87
  405. package/dist/source-manifest-publish-3S6PJ25W.js.map +0 -1
@@ -1,74 +1,73 @@
1
- export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptHarness, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsHarnessRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, harnessActiveAfterTurnEnd, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, instanceSessionOverrides, isCompilePinCurrent, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, manifestModelForHarness, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveInstanceAgentDir, resolveMixin, resolveSessionId, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath } from '../chunk-VSCLUPGZ.js';
2
- import '../chunk-DCJ4BION.js';
3
- import '../chunk-SISUT7VR.js';
4
- import '../chunk-YFGXYQW4.js';
5
- import '../chunk-5NHBLKKU.js';
1
+ export { AgentRunError, CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CONNECTOR_MUTATE_NOT_READY, CapabilityRegistry, CompileManifestEntrySchema, CompositionError, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, DEFAULT_FLOW_MUTATE_CONNECTOR_WAIT_MS, DEFAULT_MAX_FINISHED_TREES, DEFAULT_RUN_LIMITS, MOUNT_LIST_MAX_DEPTH, MOUNT_LIST_MAX_ENTRIES, MOUNT_READ_DEADLINE_FACTOR, MOUNT_READ_MAX_CHUNK_BYTES, MOUNT_STAT_BUDGET_MS, MOUNT_STAT_MAX_ENTRIES, MOUNT_TREE_OP_DEADLINE_FACTOR, MOUNT_WRITE_MAX_CHUNK_BYTES, MarkdownStreamer, PreInitRingSink, ResourceOperationError, SESSION_ROOT_WRITABLE_DIRS, SESSION_ROOT_WRITABLE_FILES, UnknownCompositionKindError, WRITE_RANGE_PARTIAL_TTL_MS, WS_AUTH_TOKEN_ENV, WS_AUTH_TOKEN_FILE_ENV, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildCompositionRunSnapshot, buildConnectorTokenMediator, buildContextSection, buildEnvironmentSection, buildResourcesAvailablePayload, buildRunnerAgentSections, buildStoreSnapshotReplay, builtinCapabilities, canonicalJson, capabilityLogInstance, capabilitySignatureInputs, clearPreInitRingSink, clearSession, compileComposition, compositionRunSnapshotPath, computeCapabilitySignature, computeDirectoryTotals, computeRevisionHash, connectorRefreshKind, createAgentSession, createCompositionContentSource, createFinalTextFallback, createFlowConnectorReadiness, createInMemoryRunStore, createManagedCodexSubpromptHarness, createRunController, createSessionStimulusBus, defineCapability, deleteSession, describeComposition, dispatchResourceRequest, dispatchRunnerCapabilityInvocation, emitSystemPromptComposed, ensureClaudeSettingsDisablesConnectors, ensureGitConfigInclude, executeConnectorMutate, extractClaudeAiOauthExpiresAt, flowStartNeedsHarnessRestart, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, handleSessionRootResourceRequest, harnessActiveAfterTurnEnd, hasNonTerminalFlow, hashAgentFiles, hashContent, hostOpResumeStimulus, installPreInitRingSink, instanceForSession, instanceSessionOverrides, isCompilePinCurrent, isCompositionError, isEmptyKnowledgeIndex, isSessionRootPathAllowed, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadCompositionRunSnapshot, loadKnowledgeDir, loadManagedCodexHostConfig, loadSession, loadSessionById, logConnectorReport, manifestModelForHarness, mcpAuthSecretKey, newSession, nulTailPaddingLength, pickChatFlowTarget, pickFlowToolTarget, pickRepointedManager, planFlowMutate, prepareCodexTools, reconcilePendingDecisions, reconnectedRunNeedsAgentTurn, recreateKeepingLiveFlows, registerActiveFlow, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, rejectPendingCapabilityCallsOnDisconnect, resetRunnerLogStore, resolveAgentInstance, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveFlowMutateConnectorWaitMs, resolveInstanceAgentDir, resolveMixin, resolveSessionId, restoredRunHasWorkToResume, runAgentChat, saveCompositionRunSnapshot, saveSession, setCurrentSession, setUpFlowConnector, startAgentServer, stimulusFromMetas, stripFrontmatter, takeRunnerWsAuthToken, toActiveFlowTarget, touchSession, unresolvedCredentialNotices, validateInputResponse, verifyConventionItems, writeClaudeCodeCredentialsFile, writeRangeChunk, writeRangePartialPath } from '../chunk-AQNW2FET.js';
2
+ import '../chunk-Z4FERR4U.js';
3
+ import '../chunk-GTGWRKMJ.js';
4
+ import '../chunk-7I5PNB2G.js';
5
+ import '../chunk-O7QZI6MQ.js';
6
6
  import '../chunk-WYZXSJBK.js';
7
- import '../chunk-E237FGGX.js';
8
- import '../chunk-L45IHRDH.js';
7
+ import '../chunk-GTAHU4N4.js';
8
+ import '../chunk-HQAPUPBE.js';
9
9
  import '../chunk-KW37WNXY.js';
10
10
  import '../chunk-3MWQKQUB.js';
11
- import '../chunk-IZV3HDVG.js';
11
+ import '../chunk-SZKCE7EC.js';
12
12
  import '../chunk-O7SG5PC2.js';
13
13
  import '../chunk-7QBNJTTQ.js';
14
14
  import '../chunk-O2SYFJWP.js';
15
- import '../chunk-UBLZALKP.js';
15
+ import '../chunk-6A6HE5LW.js';
16
16
  import '../chunk-32NA4TVC.js';
17
17
  export { assembleSystemPrompt, buildCapabilitiesPromptSection, buildLinkedPeersPromptSection } from '../chunk-W3UDISS2.js';
18
- import '../chunk-HTGTNN2B.js';
19
- import '../chunk-Q4XWCVFA.js';
18
+ import '../chunk-CMXDFTA2.js';
19
+ import '../chunk-5ETYBC2X.js';
20
20
  import '../chunk-4R6DROGN.js';
21
- import '../chunk-C7TQARGC.js';
22
- import '../chunk-BUU2DLPC.js';
23
- import '../chunk-EXRQKOY6.js';
24
- import '../chunk-GTMANMBZ.js';
25
- import '../chunk-O7KAQQAI.js';
26
- import '../chunk-5T3DTK7A.js';
27
- import '../chunk-UAOHR6AL.js';
28
- import '../chunk-PTBX55QF.js';
29
- import '../chunk-JSWMRYLM.js';
21
+ import '../chunk-PTJTOPE5.js';
22
+ import '../chunk-USSP43U3.js';
23
+ import '../chunk-VXYZ5M7Z.js';
24
+ import '../chunk-2M3VLKT2.js';
25
+ import '../chunk-4BFEPZ6J.js';
26
+ import '../chunk-YN6N3RBM.js';
27
+ import '../chunk-TCH5UDKT.js';
28
+ import '../chunk-U3UDOX6I.js';
29
+ import '../chunk-65UAC3ZR.js';
30
30
  import '../chunk-LOO5CB5M.js';
31
- import '../chunk-UUKCPPTQ.js';
32
- import '../chunk-U3SXCVR7.js';
33
- import '../chunk-6X3GDPCB.js';
34
- import '../chunk-6OHZUUR7.js';
31
+ import '../chunk-KSUT5KAE.js';
32
+ import '../chunk-OY22B7E2.js';
33
+ import '../chunk-5DE3DGVR.js';
35
34
  import '../chunk-7DN6JKP2.js';
36
- import '../chunk-QSIFEHSN.js';
37
- import '../chunk-QJQQNBVT.js';
35
+ import '../chunk-WW5NAU6N.js';
36
+ import '../chunk-MXI3XWV6.js';
37
+ import '../chunk-F4CZQD3T.js';
38
+ import '../chunk-BSMW3PX2.js';
38
39
  import '../chunk-G5SUWZEU.js';
39
- import '../chunk-G63KOHFS.js';
40
- import '../chunk-6UP2EDFN.js';
41
40
  import '../chunk-IFGTRL2I.js';
42
- import '../chunk-ZWCGJYR7.js';
41
+ import '../chunk-5XHQBCB5.js';
43
42
  import '../chunk-WD3L5QSU.js';
44
43
  import '../chunk-7RGTAEG6.js';
45
- import '../chunk-VZU67OKK.js';
46
- import '../chunk-GBXQFJ4G.js';
47
- import '../chunk-WENTJ5KP.js';
48
- import '../chunk-CK3CJSRY.js';
44
+ import '../chunk-G5SYFFMD.js';
45
+ import '../chunk-MMOWIRHP.js';
46
+ import '../chunk-J4WKNJHO.js';
47
+ import '../chunk-VJRL6ZK6.js';
49
48
  import '../chunk-F3D25RGM.js';
50
49
  import '../chunk-3TXEJN4W.js';
51
50
  import '../chunk-ISHJITXJ.js';
52
51
  import '../chunk-LNFKL23K.js';
53
52
  import '../chunk-JRN5QF4C.js';
54
53
  import '../chunk-NUELZWCF.js';
55
- import '../chunk-76FLBODK.js';
56
- export { globalSettingsPath, loadSettings, mapLegacyFields, projectSettingsPath, resolveSettings, saveSettings } from '../chunk-ABVWUM2E.js';
54
+ import '../chunk-VT6G5AJV.js';
55
+ export { globalSettingsPath, loadSettings, mapLegacyFields, projectSettingsPath, resolveSettings, saveSettings } from '../chunk-6ARPZHOV.js';
57
56
  import '../chunk-4GY63JU6.js';
58
- import '../chunk-3ENE6ZOF.js';
57
+ import '../chunk-JIQUF3X2.js';
59
58
  import '../chunk-5KRMNUL4.js';
60
59
  export { HARNESS_DEFAULTS, resolveHarnessPaths } from '../chunk-C5HFK34M.js';
61
60
  import '../chunk-MWXYN6NY.js';
62
- import '../chunk-6WQGJF65.js';
61
+ import '../chunk-6SXSVKQY.js';
63
62
  import '../chunk-L5VSIPQD.js';
64
63
  export { HARNESS_TARGETS, SUPPORTED_HARNESSES } from '../chunk-VTETQCR6.js';
65
- import '../chunk-U6S5CXKB.js';
66
- import '../chunk-VV2DJT4I.js';
64
+ import '../chunk-E2EC6SAX.js';
65
+ import '../chunk-GNUA7XT2.js';
67
66
  import '../chunk-RVRB27AN.js';
68
- import '../chunk-IZQOO6MN.js';
67
+ import '../chunk-V5KG6CCV.js';
69
68
  import '../chunk-VSX2G7LA.js';
70
69
  import '../chunk-RXGPFAMN.js';
71
- import '../chunk-DKXNKFKP.js';
70
+ import '../chunk-SGI5MRKP.js';
72
71
  import '../chunk-C3CAXQMA.js';
73
72
  import '../chunk-BOFL7GIF.js';
74
73
  import '../chunk-NSBPE2FW.js';
@@ -1,5 +1,5 @@
1
- export { BoundedSubscriberTransport, DEFAULT_SUBSCRIBER_BUFFER_LIMITS, SessionDispatcher, SubscriberBufferOverflowError, UNSIZED_EVENT, approxEventSize, isAddressedByKind, isAgentAddressed, isMentioned, parseMentions } from '../chunk-BOS7P2Y4.js';
2
- import '../chunk-VZU67OKK.js';
1
+ export { BoundedSubscriberTransport, DEFAULT_SUBSCRIBER_BUFFER_LIMITS, SessionDispatcher, SubscriberBufferOverflowError, UNSIZED_EVENT, approxEventSize, isAddressedByKind, isAgentAddressed, isMentioned, parseMentions } from '../chunk-KSH5CFQS.js';
2
+ import '../chunk-G5SYFFMD.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=session.js.map
5
5
  //# sourceMappingURL=session.js.map
@@ -1,21 +1,21 @@
1
- export { WebSocketServerTransport } from '../../../chunk-UBLZALKP.js';
1
+ export { WebSocketServerTransport } from '../../../chunk-6A6HE5LW.js';
2
2
  import '../../../chunk-32NA4TVC.js';
3
- export { needsWildcardProbe } from '../../../chunk-ABVWUM2E.js';
3
+ export { needsWildcardProbe } from '../../../chunk-6ARPZHOV.js';
4
4
  import '../../../chunk-4GY63JU6.js';
5
- import '../../../chunk-3ENE6ZOF.js';
5
+ import '../../../chunk-JIQUF3X2.js';
6
6
  import '../../../chunk-5KRMNUL4.js';
7
7
  import '../../../chunk-C5HFK34M.js';
8
8
  import '../../../chunk-MWXYN6NY.js';
9
- import '../../../chunk-6WQGJF65.js';
9
+ import '../../../chunk-6SXSVKQY.js';
10
10
  import '../../../chunk-L5VSIPQD.js';
11
11
  import '../../../chunk-VTETQCR6.js';
12
- import '../../../chunk-U6S5CXKB.js';
13
- import '../../../chunk-VV2DJT4I.js';
12
+ import '../../../chunk-E2EC6SAX.js';
13
+ import '../../../chunk-GNUA7XT2.js';
14
14
  import '../../../chunk-RVRB27AN.js';
15
- import '../../../chunk-IZQOO6MN.js';
15
+ import '../../../chunk-V5KG6CCV.js';
16
16
  import '../../../chunk-VSX2G7LA.js';
17
17
  import '../../../chunk-RXGPFAMN.js';
18
- import '../../../chunk-DKXNKFKP.js';
18
+ import '../../../chunk-SGI5MRKP.js';
19
19
  import '../../../chunk-C3CAXQMA.js';
20
20
  import '../../../chunk-BOFL7GIF.js';
21
21
  import '../../../chunk-NSBPE2FW.js';
@@ -1,23 +1,23 @@
1
1
  import '../../chunk-7QBNJTTQ.js';
2
2
  export { WebSocketClientTransport } from '../../chunk-O2SYFJWP.js';
3
- export { WebSocketServerTransport } from '../../chunk-UBLZALKP.js';
3
+ export { WebSocketServerTransport } from '../../chunk-6A6HE5LW.js';
4
4
  export { BEARER_SUBPROTOCOL_PREFIX, decodeBearerFromHeader, encodeBearerSubprotocol, tokensEqual } from '../../chunk-32NA4TVC.js';
5
- import '../../chunk-ABVWUM2E.js';
5
+ import '../../chunk-6ARPZHOV.js';
6
6
  import '../../chunk-4GY63JU6.js';
7
- import '../../chunk-3ENE6ZOF.js';
7
+ import '../../chunk-JIQUF3X2.js';
8
8
  import '../../chunk-5KRMNUL4.js';
9
9
  import '../../chunk-C5HFK34M.js';
10
10
  import '../../chunk-MWXYN6NY.js';
11
- import '../../chunk-6WQGJF65.js';
11
+ import '../../chunk-6SXSVKQY.js';
12
12
  import '../../chunk-L5VSIPQD.js';
13
13
  import '../../chunk-VTETQCR6.js';
14
- import '../../chunk-U6S5CXKB.js';
15
- import '../../chunk-VV2DJT4I.js';
14
+ import '../../chunk-E2EC6SAX.js';
15
+ import '../../chunk-GNUA7XT2.js';
16
16
  import '../../chunk-RVRB27AN.js';
17
- import '../../chunk-IZQOO6MN.js';
17
+ import '../../chunk-V5KG6CCV.js';
18
18
  import '../../chunk-VSX2G7LA.js';
19
19
  import '../../chunk-RXGPFAMN.js';
20
- import '../../chunk-DKXNKFKP.js';
20
+ import '../../chunk-SGI5MRKP.js';
21
21
  import '../../chunk-C3CAXQMA.js';
22
22
  import '../../chunk-BOFL7GIF.js';
23
23
  import '../../chunk-NSBPE2FW.js';
@@ -1,24 +1,24 @@
1
1
  import '../chunk-O7SG5PC2.js';
2
2
  import '../chunk-7QBNJTTQ.js';
3
3
  export { WebSocketClientTransport } from '../chunk-O2SYFJWP.js';
4
- export { WebSocketServerTransport } from '../chunk-UBLZALKP.js';
4
+ export { WebSocketServerTransport } from '../chunk-6A6HE5LW.js';
5
5
  import '../chunk-32NA4TVC.js';
6
- import '../chunk-ABVWUM2E.js';
6
+ import '../chunk-6ARPZHOV.js';
7
7
  import '../chunk-4GY63JU6.js';
8
- import '../chunk-3ENE6ZOF.js';
8
+ import '../chunk-JIQUF3X2.js';
9
9
  import '../chunk-5KRMNUL4.js';
10
10
  import '../chunk-C5HFK34M.js';
11
11
  import '../chunk-MWXYN6NY.js';
12
- import '../chunk-6WQGJF65.js';
12
+ import '../chunk-6SXSVKQY.js';
13
13
  import '../chunk-L5VSIPQD.js';
14
14
  import '../chunk-VTETQCR6.js';
15
- import '../chunk-U6S5CXKB.js';
16
- import '../chunk-VV2DJT4I.js';
15
+ import '../chunk-E2EC6SAX.js';
16
+ import '../chunk-GNUA7XT2.js';
17
17
  import '../chunk-RVRB27AN.js';
18
- import '../chunk-IZQOO6MN.js';
18
+ import '../chunk-V5KG6CCV.js';
19
19
  import '../chunk-VSX2G7LA.js';
20
20
  import '../chunk-RXGPFAMN.js';
21
- import '../chunk-DKXNKFKP.js';
21
+ import '../chunk-SGI5MRKP.js';
22
22
  import '../chunk-C3CAXQMA.js';
23
23
  import '../chunk-BOFL7GIF.js';
24
24
  import '../chunk-NSBPE2FW.js';
package/dist/sdk/types.js CHANGED
@@ -1,4 +1,4 @@
1
- export { AGENT_RUN_STATUSES, CONNECTOR_ERROR_KINDS, MENTION_GROUPS, PLATFORM_BLOCKS_RUNTIME_FEATURE, PROTOCOL_VERSION, PROTOCOL_VERSION_STRING, QUICK_REACTIONS, RANGED_WRITE_MIN_PROTOCOL, SESSION_ROOT_CONNECTOR_ID, TERMINAL_AGENT_RUN_STATUSES, TOOL_ACTIVITY_LABEL_DESCRIPTION, TOOL_ACTIVITY_LABEL_MAX_CHARS, TOOL_ACTIVITY_LABEL_PARAM, TOOL_ACTIVITY_PROMPT_SECTION, declaresActivityLabel, deliveryClassOf, formatVersion, isRenderCapability, isUserInvokable, parseVersion, stripActivityLabel, withActivityLabelDefs, withActivityLabelJsonSchema, withActivityLabelShape } from '../chunk-VZU67OKK.js';
1
+ export { AGENT_RUN_STATUSES, CONNECTOR_ERROR_KINDS, MENTION_GROUPS, PLATFORM_BLOCKS_RUNTIME_FEATURE, PROTOCOL_VERSION, PROTOCOL_VERSION_STRING, QUICK_REACTIONS, RANGED_WRITE_MIN_PROTOCOL, SESSION_ROOT_CONNECTOR_ID, TERMINAL_AGENT_RUN_STATUSES, TOOL_ACTIVITY_LABEL_DESCRIPTION, TOOL_ACTIVITY_LABEL_MAX_CHARS, TOOL_ACTIVITY_LABEL_PARAM, TOOL_ACTIVITY_PROMPT_SECTION, declaresActivityLabel, deliveryClassOf, formatVersion, isRenderCapability, isUserInvokable, parseVersion, stripActivityLabel, withActivityLabelDefs, withActivityLabelJsonSchema, withActivityLabelShape } from '../chunk-G5SYFFMD.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=types.js.map
4
4
  //# sourceMappingURL=types.js.map
@@ -0,0 +1,56 @@
1
+ export { checkHarnessSdk, checkModelEndpointPeer, checkServeAgentDefinition, checkServeHarness, checkServeModel, checkServeProjectDir, resolveServeProvider } from './chunk-7PVGND4J.js';
2
+ import './chunk-B6N653ZG.js';
3
+ import './chunk-EPXZQIC6.js';
4
+ import './chunk-SCRYXAHH.js';
5
+ import './chunk-YN6N3RBM.js';
6
+ import './chunk-TCH5UDKT.js';
7
+ import './chunk-U3UDOX6I.js';
8
+ import './chunk-65UAC3ZR.js';
9
+ import './chunk-LOO5CB5M.js';
10
+ import './chunk-KSUT5KAE.js';
11
+ import './chunk-OY22B7E2.js';
12
+ import './chunk-5DE3DGVR.js';
13
+ import './chunk-7DN6JKP2.js';
14
+ import './chunk-WW5NAU6N.js';
15
+ import './chunk-MXI3XWV6.js';
16
+ import './chunk-F4CZQD3T.js';
17
+ import './chunk-BSMW3PX2.js';
18
+ import './chunk-G5SUWZEU.js';
19
+ import './chunk-G5SYFFMD.js';
20
+ import './chunk-JRVQV7WC.js';
21
+ import './chunk-MMOWIRHP.js';
22
+ import './chunk-J4WKNJHO.js';
23
+ import './chunk-VJRL6ZK6.js';
24
+ import './chunk-F3D25RGM.js';
25
+ import './chunk-3TXEJN4W.js';
26
+ import './chunk-ISHJITXJ.js';
27
+ import './chunk-LNFKL23K.js';
28
+ import './chunk-JRN5QF4C.js';
29
+ import './chunk-NUELZWCF.js';
30
+ import './chunk-DI6J2PJB.js';
31
+ import './chunk-PKE3PXOK.js';
32
+ import './chunk-KTBKW2FI.js';
33
+ import './chunk-UQ6LFBPZ.js';
34
+ import './chunk-DS6UUCFG.js';
35
+ import './chunk-VT6G5AJV.js';
36
+ import './chunk-6ARPZHOV.js';
37
+ import './chunk-4GY63JU6.js';
38
+ import './chunk-JIQUF3X2.js';
39
+ import './chunk-5KRMNUL4.js';
40
+ import './chunk-C5HFK34M.js';
41
+ import './chunk-MWXYN6NY.js';
42
+ import './chunk-6SXSVKQY.js';
43
+ import './chunk-L5VSIPQD.js';
44
+ import './chunk-VTETQCR6.js';
45
+ import './chunk-E2EC6SAX.js';
46
+ import './chunk-GNUA7XT2.js';
47
+ import './chunk-RVRB27AN.js';
48
+ import './chunk-V5KG6CCV.js';
49
+ import './chunk-VSX2G7LA.js';
50
+ import './chunk-RXGPFAMN.js';
51
+ import './chunk-SGI5MRKP.js';
52
+ import './chunk-C3CAXQMA.js';
53
+ import './chunk-BOFL7GIF.js';
54
+ import './chunk-NSBPE2FW.js';
55
+ //# sourceMappingURL=serve-preflight-TYEKHC32.js.map
56
+ //# sourceMappingURL=serve-preflight-TYEKHC32.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"serve-preflight-TYEKHC32.js"}
@@ -1,5 +1,5 @@
1
- export { BoundedSubscriberTransport, DEFAULT_SUBSCRIBER_BUFFER_LIMITS, SessionDispatcher, SubscriberBufferOverflowError, UNSIZED_EVENT, approxEventSize, isAddressedByKind, isAgentAddressed, isMentioned, parseMentions } from '../chunk-BOS7P2Y4.js';
2
- import '../chunk-VZU67OKK.js';
1
+ export { BoundedSubscriberTransport, DEFAULT_SUBSCRIBER_BUFFER_LIMITS, SessionDispatcher, SubscriberBufferOverflowError, UNSIZED_EVENT, approxEventSize, isAddressedByKind, isAgentAddressed, isMentioned, parseMentions } from '../chunk-KSH5CFQS.js';
2
+ import '../chunk-G5SYFFMD.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=index.js.map
5
5
  //# sourceMappingURL=index.js.map
@@ -1,54 +1,53 @@
1
- import { addProviderEntry, ProviderRegistryWriteError, loadRegistryView, credentialEnvVarName } from './chunk-45KLCFQB.js';
1
+ import { addProviderEntry, ProviderRegistryWriteError, loadRegistryView, credentialEnvVarName } from './chunk-B6N653ZG.js';
2
2
  import { createSpinner } from './chunk-NESV47MF.js';
3
- import './chunk-76WSWPOB.js';
4
- import { validateApiKey } from './chunk-5T3DTK7A.js';
5
- import './chunk-UAOHR6AL.js';
6
- import './chunk-PTBX55QF.js';
7
- import './chunk-JSWMRYLM.js';
3
+ import './chunk-SCRYXAHH.js';
4
+ import { validateApiKey } from './chunk-YN6N3RBM.js';
5
+ import './chunk-TCH5UDKT.js';
6
+ import './chunk-U3UDOX6I.js';
7
+ import './chunk-65UAC3ZR.js';
8
8
  import './chunk-LOO5CB5M.js';
9
- import './chunk-UUKCPPTQ.js';
10
- import { getModels } from './chunk-U3SXCVR7.js';
11
- import './chunk-6X3GDPCB.js';
12
- import './chunk-6OHZUUR7.js';
9
+ import './chunk-KSUT5KAE.js';
10
+ import { getModels } from './chunk-OY22B7E2.js';
11
+ import './chunk-5DE3DGVR.js';
13
12
  import './chunk-7DN6JKP2.js';
14
- import './chunk-QSIFEHSN.js';
15
- import './chunk-QJQQNBVT.js';
13
+ import './chunk-WW5NAU6N.js';
14
+ import './chunk-MXI3XWV6.js';
15
+ import './chunk-F4CZQD3T.js';
16
+ import { listProviderPresets } from './chunk-BSMW3PX2.js';
16
17
  import './chunk-G5SUWZEU.js';
17
- import './chunk-G63KOHFS.js';
18
- import { listProviderPresets } from './chunk-6UP2EDFN.js';
19
- import './chunk-VZU67OKK.js';
20
- import './chunk-TGB4E5Z6.js';
21
- import './chunk-GBXQFJ4G.js';
22
- import './chunk-WENTJ5KP.js';
23
- import './chunk-CK3CJSRY.js';
18
+ import './chunk-G5SYFFMD.js';
19
+ import './chunk-JRVQV7WC.js';
20
+ import './chunk-MMOWIRHP.js';
21
+ import './chunk-J4WKNJHO.js';
22
+ import './chunk-VJRL6ZK6.js';
24
23
  import './chunk-F3D25RGM.js';
25
24
  import './chunk-3TXEJN4W.js';
26
25
  import './chunk-ISHJITXJ.js';
27
26
  import './chunk-LNFKL23K.js';
28
27
  import './chunk-JRN5QF4C.js';
29
28
  import './chunk-NUELZWCF.js';
30
- import './chunk-YJNE4V2M.js';
29
+ import './chunk-DI6J2PJB.js';
31
30
  import './chunk-PKE3PXOK.js';
32
31
  import './chunk-KTBKW2FI.js';
33
32
  import './chunk-UQ6LFBPZ.js';
34
- import './chunk-V4OXHEWY.js';
35
- import './chunk-76FLBODK.js';
36
- import { projectSettingsPath, loadSettings, saveSettings, resolveSettings, WorkspaceYamlEditor, maskApiKey } from './chunk-ABVWUM2E.js';
33
+ import './chunk-DS6UUCFG.js';
34
+ import './chunk-VT6G5AJV.js';
35
+ import { projectSettingsPath, loadSettings, saveSettings, resolveSettings, WorkspaceYamlEditor, maskApiKey } from './chunk-6ARPZHOV.js';
37
36
  import './chunk-4GY63JU6.js';
38
- import './chunk-3ENE6ZOF.js';
37
+ import './chunk-JIQUF3X2.js';
39
38
  import './chunk-5KRMNUL4.js';
40
39
  import { DEFAULT_HARNESS_ID } from './chunk-C5HFK34M.js';
41
40
  import './chunk-MWXYN6NY.js';
42
- import './chunk-6WQGJF65.js';
41
+ import './chunk-6SXSVKQY.js';
43
42
  import './chunk-L5VSIPQD.js';
44
43
  import './chunk-VTETQCR6.js';
45
- import './chunk-U6S5CXKB.js';
46
- import './chunk-VV2DJT4I.js';
44
+ import './chunk-E2EC6SAX.js';
45
+ import './chunk-GNUA7XT2.js';
47
46
  import './chunk-RVRB27AN.js';
48
- import './chunk-IZQOO6MN.js';
47
+ import './chunk-V5KG6CCV.js';
49
48
  import './chunk-VSX2G7LA.js';
50
49
  import './chunk-RXGPFAMN.js';
51
- import './chunk-DKXNKFKP.js';
50
+ import './chunk-SGI5MRKP.js';
52
51
  import './chunk-C3CAXQMA.js';
53
52
  import './chunk-BOFL7GIF.js';
54
53
  import './chunk-NSBPE2FW.js';
@@ -449,5 +448,5 @@ async function cmdSetup(_args, opts) {
449
448
  }
450
449
 
451
450
  export { applySetupPlan, cmdSetup };
452
- //# sourceMappingURL=setup-X6ZYH2MW.js.map
453
- //# sourceMappingURL=setup-X6ZYH2MW.js.map
451
+ //# sourceMappingURL=setup-4JV2IMCB.js.map
452
+ //# sourceMappingURL=setup-4JV2IMCB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../cli/src/setup.ts"],"names":["result"],"mappings":"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","file":"setup-4JV2IMCB.js","sourcesContent":["/**\n * skaile setup — interactive AI provider setup wizard.\n *\n * Front-end over `skaile providers add` and `skaile config`: it discovers what\n * is already configured, picks endpoints out of the catalog, writes them to\n * `~/.skaile/providers.yml` with `env:` credential references, and saves the\n * harness plus one namespaced model selector to `skaile.yaml` or\n * `.skaile/settings.json`.\n *\n * It never stores a secret. The registry holds a reference; the value goes to\n * a `.env` file or stays in the operator's shell.\n *\n * @see PROVIDER-CONFIG-PLAN.md §1.6, §2.5\n */\n\nimport fs from \"node:fs\";\nimport os from \"node:os\";\nimport path from \"node:path\";\nimport * as p from \"@clack/prompts\";\nimport {\n type AIProviderPreset,\n getModels,\n listProviderPresets,\n validateApiKey,\n} from \"@skaile/workspaces/bridge\";\nimport {\n DEFAULT_HARNESS_ID,\n loadSettings,\n maskApiKey,\n projectSettingsPath,\n resolveSettings,\n type SkaileSettings,\n saveSettings,\n WorkspaceYamlEditor,\n} from \"@skaile/workspaces/core\";\nimport {\n addProviderEntry,\n credentialEnvVarName,\n loadRegistryView,\n ProviderRegistryWriteError,\n} from \"./commands/providers.ts\";\nimport { createSpinner } from \"./spinner.ts\";\n\n// ---------------------------------------------------------------------------\n// Catalog\n// ---------------------------------------------------------------------------\n\n/** LLM presets, in catalog order — the wizard never shows voice endpoints. */\nfunction llmPresets(): AIProviderPreset[] {\n return listProviderPresets().filter((preset) => preset.kind === \"llm\");\n}\n\n/** Where the operator gets a key, for the presets that have a console. */\nconst PRESET_KEY_URLS: Record<string, string> = {\n anthropic: \"https://console.anthropic.com/settings/keys\",\n openai: \"https://platform.openai.com/api-keys\",\n google: \"https://aistudio.google.com/apikey\",\n mistral: \"https://console.mistral.ai/api-keys\",\n groq: \"https://console.groq.com/keys\",\n openrouter: \"https://openrouter.ai/settings/keys\",\n deepseek: \"https://platform.deepseek.com/api_keys\",\n xai: \"https://console.x.ai/\",\n together: \"https://api.together.ai/settings/api-keys\",\n fireworks: \"https://fireworks.ai/api-keys\",\n};\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\n/** Where a freshly entered secret is written — never `settings.json`. */\nexport type SecretTarget = \"env-project\" | \"env-global\" | \"skip\";\nexport type DefaultsTarget = \"project\" | \"personal\";\n\n/** One endpoint the wizard will make sure exists in the registry. */\nexport interface ProviderChoice {\n /** Catalog preset id; also the registry entry id. */\n id: string;\n /** Env var the entry's `credential.ref` points at. */\n envVar: string;\n /** A secret the operator just typed, if any. */\n secret?: string;\n /** The registry already has this entry with this reference. */\n satisfied: boolean;\n}\n\n/** The wizard's answers, in the order {@link applySetupPlan} writes them. */\nexport interface SetupPlan {\n providers: ProviderChoice[];\n secretTarget: SecretTarget;\n defaultsTarget: DefaultsTarget;\n /** `<providerId>/<modelId>` — what lands in `model:`. */\n modelRef: string;\n harness: string;\n}\n\n// ---------------------------------------------------------------------------\n// Helpers\n// ---------------------------------------------------------------------------\n\nfunction exitOnCancel<T>(value: T): asserts value is Exclude<T, symbol> {\n if (p.isCancel(value)) {\n p.cancel(\"Setup cancelled.\");\n process.exit(0);\n }\n}\n\n/** Load .env files from common locations and parse key=value pairs */\nfunction loadDotenvKeys(): Record<string, string> {\n const locations = [path.join(process.cwd(), \".env\"), path.join(os.homedir(), \".env\")];\n const result: Record<string, string> = {};\n for (const loc of locations) {\n try {\n const content = fs.readFileSync(loc, \"utf-8\");\n for (const line of content.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith(\"#\")) continue;\n const eq = trimmed.indexOf(\"=\");\n if (eq === -1) continue;\n const key = trimmed.slice(0, eq).trim();\n let val = trimmed.slice(eq + 1).trim();\n // Strip surrounding quotes\n if (\n (val.startsWith('\"') && val.endsWith('\"')) ||\n (val.startsWith(\"'\") && val.endsWith(\"'\"))\n ) {\n val = val.slice(1, -1);\n }\n result[key] = val;\n }\n } catch {\n // file doesn't exist, skip\n }\n }\n return result;\n}\n\n/** Append key=value entries to a .env file without overwriting existing keys */\nfunction appendEnvFile(filePath: string, entries: Record<string, string>): void {\n let existing = \"\";\n try {\n existing = fs.readFileSync(filePath, \"utf-8\");\n } catch {\n // file doesn't exist yet\n }\n\n const existingKeys = new Set<string>();\n for (const line of existing.split(\"\\n\")) {\n const trimmed = line.trim();\n if (!trimmed || trimmed.startsWith(\"#\")) continue;\n const eq = trimmed.indexOf(\"=\");\n if (eq !== -1) existingKeys.add(trimmed.slice(0, eq).trim());\n }\n\n const lines: string[] = [];\n for (const [key, value] of Object.entries(entries)) {\n if (existingKeys.has(key)) {\n p.log.warn(` ${key} already exists in ${filePath} — skipping`);\n continue;\n }\n lines.push(`${key}=${value}`);\n }\n\n if (lines.length === 0) return;\n\n const separator = existing.endsWith(\"\\n\") || existing === \"\" ? \"\" : \"\\n\";\n const content = `${separator + lines.join(\"\\n\")}\\n`;\n fs.mkdirSync(path.dirname(filePath), { recursive: true });\n fs.appendFileSync(filePath, content, \"utf-8\");\n}\n\n/** The env var a preset's credential conventionally lives in. */\nfunction presetEnvVar(preset: AIProviderPreset): string {\n return preset.credential.env ?? `${preset.id.toUpperCase().replace(/[^A-Z0-9]/g, \"_\")}_API_KEY`;\n}\n\n/** Entries already in the registry, keyed by id, with their `env:` var name. */\nfunction configuredEntries(projectDir: string): Record<string, string | undefined> {\n const view = loadRegistryView({ projectDir });\n const out: Record<string, string | undefined> = {};\n for (const id of view.merged.order) {\n out[id] = credentialEnvVarName(view.merged.providers[id]);\n }\n return out;\n}\n\n// ---------------------------------------------------------------------------\n// Wizard steps\n// ---------------------------------------------------------------------------\n\nfunction showCurrentState(\n settings: SkaileSettings,\n configured: Record<string, string | undefined>,\n env: Record<string, string>,\n): void {\n const lines: string[] = [\"Configured providers (~/.skaile/providers.yml):\"];\n const ids = Object.keys(configured);\n if (ids.length === 0) {\n lines.push(\" (none)\");\n } else {\n for (const id of ids) {\n const envVar = configured[id];\n const value = envVar ? env[envVar] : undefined;\n lines.push(\n ` ${id.padEnd(14)} ${envVar ?? \"no credential ref\"}` +\n (value ? ` ${maskApiKey(value)}` : envVar ? \" (not set in this environment)\" : \"\"),\n );\n }\n }\n lines.push(\"\");\n lines.push(\"Current defaults:\");\n lines.push(` Model: ${settings.model ?? \"(not set)\"}`);\n lines.push(` Harness: ${settings.harness ?? \"(not set)\"}`);\n\n p.note(lines.join(\"\\n\"), \"Current configuration\");\n}\n\nasync function selectPresets(\n configured: Record<string, string | undefined>,\n env: Record<string, string>,\n): Promise<AIProviderPreset[]> {\n const presets = llmPresets();\n const result = await p.multiselect({\n message: \"Which providers do you want to configure?\",\n options: presets.map((preset) => ({\n value: preset.id,\n label: preset.label,\n hint: configured[preset.id]\n ? \"configured\"\n : env[presetEnvVar(preset)]\n ? `${presetEnvVar(preset)} is set`\n : undefined,\n })),\n initialValues: presets\n .filter((preset) => configured[preset.id] || env[presetEnvVar(preset)])\n .map((preset) => preset.id),\n required: true,\n });\n exitOnCancel(result);\n const chosen = new Set(result as string[]);\n return presets.filter((preset) => chosen.has(preset.id));\n}\n\n/**\n * Run the optional validation step for a freshly entered key.\n * Returns true if the key should be kept (valid, or user opted to keep anyway),\n * false if it should be discarded.\n */\nasync function confirmKeyAfterValidation(provider: string, key: string): Promise<boolean> {\n const shouldValidate = await p.confirm({ message: \"Validate this key?\", initialValue: true });\n exitOnCancel(shouldValidate);\n if (!shouldValidate) return true;\n\n const s = createSpinner();\n s.start(`Validating ${provider} key...`);\n const result = await validateApiKey(provider, key);\n if (result.ok) {\n s.stop(`${provider} key is valid`);\n return true;\n }\n s.stop(`${provider} validation failed: ${result.error}`);\n const retry = await p.confirm({ message: \"Use this key anyway?\", initialValue: false });\n exitOnCancel(retry);\n return retry;\n}\n\n/**\n * Decide what one provider needs: the env var its credential reference points\n * at, and — only when that variable is not already populated — the secret to\n * put in it.\n */\nasync function collectProvider(\n preset: AIProviderPreset,\n configured: Record<string, string | undefined>,\n env: Record<string, string>,\n): Promise<ProviderChoice> {\n const envVar = configured[preset.id] ?? presetEnvVar(preset);\n const known = env[envVar];\n\n if (preset.credential.kind !== \"api_key_header\" && preset.credential.kind !== \"bearer\") {\n // sigv4 / google_adc / azure_entra / none — nothing to type in.\n p.log.info(`${preset.label}: credential comes from ${preset.credential.kind}, no key needed`);\n return { id: preset.id, envVar, satisfied: !!configured[preset.id] };\n }\n\n if (known) {\n p.log.info(`${preset.label}: ${envVar} is already set (${maskApiKey(known)})`);\n return { id: preset.id, envVar, satisfied: !!configured[preset.id] };\n }\n\n const keyUrl = PRESET_KEY_URLS[preset.id];\n const key = await p.password({\n message: `${preset.label} API key${keyUrl ? ` (get one at ${keyUrl})` : \"\"}, or leave blank to set ${envVar} yourself:`,\n });\n exitOnCancel(key);\n if (!key) return { id: preset.id, envVar, satisfied: !!configured[preset.id] };\n\n const keep = await confirmKeyAfterValidation(preset.id, key as string);\n if (!keep) return { id: preset.id, envVar, satisfied: !!configured[preset.id] };\n return { id: preset.id, envVar, secret: key as string, satisfied: !!configured[preset.id] };\n}\n\nasync function selectSecretTarget(): Promise<SecretTarget> {\n const result = await p.select({\n message: \"Where should the secrets be written? (skaile stores only the variable name)\",\n options: [\n { value: \"env-project\" as const, label: `${process.cwd()}/.env (project-level)` },\n { value: \"env-global\" as const, label: `${os.homedir()}/.env (global)` },\n { value: \"skip\" as const, label: \"Skip — I'll export the variables myself\" },\n ],\n });\n exitOnCancel(result);\n return result as SecretTarget;\n}\n\nasync function selectDefaultProvider(choices: ProviderChoice[], current?: string): Promise<string> {\n if (choices.length === 1) return choices[0].id;\n const initial = choices.find((choice) => current?.startsWith(`${choice.id}/`))?.id;\n const result = await p.select({\n message: \"Which provider should the default model come from?\",\n options: choices.map((choice) => ({ value: choice.id, label: choice.id })),\n initialValue: initial ?? choices[0].id,\n });\n exitOnCancel(result);\n return result as string;\n}\n\n/**\n * Pick the model id for `providerId`, returning the namespaced selector.\n * A live list needs a key; without one the built-in catalog is offered.\n */\nasync function selectModelRef(\n providerId: string,\n current?: string,\n apiKey?: string,\n): Promise<string> {\n const currentModel = current?.startsWith(`${providerId}/`)\n ? current.slice(providerId.length + 1)\n : undefined;\n\n const s = apiKey ? createSpinner() : undefined;\n if (s) s.start(`Fetching models from ${providerId}...`);\n const fetchResult = await getModels(providerId, apiKey);\n if (s) {\n if (fetchResult.source === \"api\") {\n s.stop(`Loaded ${fetchResult.models.length} models from ${providerId}`);\n } else if (fetchResult.error) {\n s.stop(`Could not fetch live models (${fetchResult.error}) — using built-in catalog`);\n } else {\n s.stop(\"Using built-in model catalog\");\n }\n }\n\n const models = fetchResult.models;\n if (models.length === 0) {\n p.log.warn(`No models found for ${providerId} — enter a model id manually`);\n const result = await p.text({ message: \"Model id:\", initialValue: currentModel ?? \"\" });\n exitOnCancel(result);\n return `${providerId}/${result as string}`;\n }\n\n const result = await p.select({\n message: `Default model (${providerId}):`,\n options: models.map((m) => ({ value: m.id, label: `${m.name} (${m.id})` })),\n initialValue:\n currentModel && models.some((m) => m.id === currentModel) ? currentModel : models[0].id,\n });\n exitOnCancel(result);\n return `${providerId}/${result as string}`;\n}\n\nasync function selectHarness(current?: string): Promise<string> {\n const result = await p.select({\n message: \"Default agent harness:\",\n options: [\n { value: \"omp\", label: \"omp (oh-my-pi — multi-provider)\" },\n { value: \"claude-sdk\", label: \"claude-sdk (Anthropic Agent SDK, Claude only)\" },\n { value: \"codex\", label: \"codex (OpenAI Codex SDK, OpenAI only)\" },\n ].map((o) => ({\n ...o,\n label: o.value === DEFAULT_HARNESS_ID ? `${o.label}, recommended` : o.label,\n })),\n initialValue: current ?? DEFAULT_HARNESS_ID,\n });\n exitOnCancel(result);\n return result as string;\n}\n\nasync function selectDefaultsTarget(projectDir: string): Promise<DefaultsTarget> {\n if (!fs.existsSync(path.join(projectDir, \"skaile.yaml\"))) return \"personal\";\n\n const result = await p.select({\n message: \"Where should the harness and model selector be saved?\",\n options: [\n {\n value: \"project\" as const,\n label: \"skaile.yaml (project-wide, shared with team)\",\n hint: \"recommended\",\n },\n { value: \"personal\" as const, label: \".skaile/settings.json (personal only, gitignored)\" },\n ],\n initialValue: \"project\" as const,\n });\n exitOnCancel(result);\n return result as DefaultsTarget;\n}\n\n/** Build the human-readable summary shown before applying the plan. */\nfunction buildSummaryLines(plan: SetupPlan, settingsFile: string): string[] {\n const lines: string[] = [\"Providers (~/.skaile/providers.yml):\"];\n for (const choice of plan.providers) {\n lines.push(\n ` ${choice.id.padEnd(14)} credential env:${choice.envVar}` +\n (choice.satisfied ? \" (already configured)\" : \"\"),\n );\n }\n\n const withSecrets = plan.providers.filter((choice) => choice.secret);\n if (withSecrets.length > 0) {\n const targetLabels: Record<SecretTarget, string> = {\n \"env-project\": `${process.cwd()}/.env`,\n \"env-global\": `${os.homedir()}/.env`,\n skip: \"not saved (export them yourself)\",\n };\n lines.push(\"\");\n lines.push(\"Secrets:\");\n for (const choice of withSecrets) {\n lines.push(` ${choice.envVar.padEnd(24)} ${maskApiKey(choice.secret ?? \"\")}`);\n }\n lines.push(` Written to: ${targetLabels[plan.secretTarget]}`);\n }\n\n lines.push(\"\");\n lines.push(\"Defaults:\");\n lines.push(` Model: ${plan.modelRef}`);\n lines.push(` Harness: ${plan.harness}`);\n lines.push(\n ` Saved to: ${plan.defaultsTarget === \"project\" ? \"skaile.yaml (project-wide)\" : settingsFile}`,\n );\n return lines;\n}\n\n/**\n * Create or update each chosen registry entry through the same write path as\n * `skaile providers add`. An entry that already points at the chosen variable\n * is left exactly as it is — the operator may have tuned its base URL or model\n * map, and re-running the wizard must not undo that.\n */\nfunction persistProviders(plan: SetupPlan, projectDir: string): void {\n for (const choice of plan.providers) {\n if (choice.satisfied) {\n p.log.info(`${choice.id}: keeping the existing registry entry`);\n continue;\n }\n try {\n const added = addProviderEntry({\n id: choice.id,\n presetId: choice.id,\n credentialRef: `env:${choice.envVar}`,\n projectDir,\n force: true,\n });\n p.log.success(`${choice.id} → ${added.path}`);\n } catch (error) {\n if (!(error instanceof ProviderRegistryWriteError)) throw error;\n p.log.error(`${choice.id}: ${error.message}`);\n }\n }\n}\n\n/** Write the secrets the operator typed to the chosen `.env` file. */\nfunction persistSecrets(plan: SetupPlan): void {\n const entries: Record<string, string> = {};\n for (const choice of plan.providers) {\n if (choice.secret) entries[choice.envVar] = choice.secret;\n }\n if (Object.keys(entries).length === 0) return;\n\n if (plan.secretTarget === \"skip\") {\n p.log.info(\n `Export these before starting a session: ${Object.keys(entries)\n .map((name) => `${name}=…`)\n .join(\" \")}`,\n );\n return;\n }\n const file =\n plan.secretTarget === \"env-project\"\n ? path.join(process.cwd(), \".env\")\n : path.join(os.homedir(), \".env\");\n appendEnvFile(file, entries);\n p.log.success(`Appended ${Object.keys(entries).length} variable(s) to ${file}`);\n}\n\n/**\n * Apply the plan's defaults: write them to skaile.yaml when saving project-wide,\n * and set/strip the corresponding personal settings fields on `merged` (mutated\n * in place) so they don't shadow project-wide values.\n */\nfunction applyDefaults(plan: SetupPlan, projectDir: string, merged: SkaileSettings): void {\n if (plan.defaultsTarget === \"project\") {\n const yamlPath = path.join(projectDir, \"skaile.yaml\");\n const editor = WorkspaceYamlEditor.load(yamlPath);\n editor.setAgentConfig(\"default\", { model: plan.modelRef, harness: plan.harness });\n editor.save();\n p.log.success(`Saved defaults to ${yamlPath}`);\n delete merged.model;\n delete merged.harness;\n return;\n }\n merged.model = plan.modelRef;\n merged.harness = plan.harness;\n}\n\n/**\n * Everything the wizard writes, once the operator has approved the plan:\n * registry entries, `.env` secrets, and the defaults.\n *\n * Separate from the prompting so the wizard's effect on disk is exercisable\n * without a terminal — and so there is exactly one place that writes.\n */\nexport async function applySetupPlan(plan: SetupPlan, projectDir: string): Promise<void> {\n const settingsFile = projectSettingsPath(projectDir);\n persistProviders(plan, projectDir);\n persistSecrets(plan);\n\n const merged: SkaileSettings = { ...(await loadSettings(settingsFile)) };\n applyDefaults(plan, projectDir, merged);\n await saveSettings(merged, settingsFile);\n p.log.success(`Saved settings to ${settingsFile}`);\n}\n\nasync function reviewAndSave(plan: SetupPlan, projectDir: string): Promise<void> {\n p.note(buildSummaryLines(plan, projectSettingsPath(projectDir)).join(\"\\n\"), \"Summary\");\n\n const confirmed = await p.confirm({ message: \"Apply these settings?\", initialValue: true });\n exitOnCancel(confirmed);\n if (!confirmed) {\n p.cancel(\"Setup cancelled — no changes were made.\");\n process.exit(0);\n }\n\n await applySetupPlan(plan, projectDir);\n}\n\n// ---------------------------------------------------------------------------\n// Main entry\n// ---------------------------------------------------------------------------\n\n/** Check whether Claude Code OAuth credentials exist on disk */\nfunction hasClaudeCodeCredentials(): boolean {\n const credPath = path.join(os.homedir(), \".claude\", \".credentials.json\");\n try {\n const parsed = JSON.parse(fs.readFileSync(credPath, \"utf-8\"));\n return parsed && (parsed.accessToken || parsed.refreshToken || parsed.oauthToken);\n } catch {\n return false;\n }\n}\n\n/** The presets a harness can actually talk to (§2.3 plurality). */\nfunction presetsForHarness(harness: string): AIProviderPreset[] | undefined {\n if (harness === \"claude-sdk\") return llmPresets().filter((preset) => preset.id === \"anthropic\");\n if (harness === \"codex\") return llmPresets().filter((preset) => preset.id === \"openai\");\n return undefined;\n}\n\n/**\n * Interactive provider setup wizard: discovers what the AI provider registry\n * already holds, adds the endpoints the operator picks (credential references\n * only), and writes the harness plus a `<providerId>/<modelId>` selector to\n * `skaile.yaml` or `.skaile/settings.json`.\n *\n * @param _args - Unused positional args (reserved for future use).\n * @param opts - Options including an optional `projectDir` override.\n * @docLink cli/dev-guide#setup\n */\nexport async function cmdSetup(_args: string[], opts: { projectDir?: string }): Promise<void> {\n p.intro(\"skaile setup\");\n\n const projectDir = opts.projectDir ?? process.cwd();\n\n let settings: SkaileSettings;\n try {\n settings = await resolveSettings(projectDir);\n } catch (error) {\n // A pre-registry skaile.yaml cannot be read at all — say so once, with the\n // command that fixes it, instead of walking the operator through a wizard\n // whose result the file would reject.\n p.cancel(error instanceof Error ? error.message : String(error));\n process.exit(1);\n }\n\n const env = { ...loadDotenvKeys(), ...process.env } as Record<string, string>;\n const configured = configuredEntries(projectDir);\n showCurrentState(settings, configured, env);\n\n // The harness comes first: it decides which endpoints are even selectable.\n const harness = await selectHarness(settings.harness);\n const forced = presetsForHarness(harness);\n if (forced && harness === \"claude-sdk\" && !env.ANTHROPIC_API_KEY && hasClaudeCodeCredentials()) {\n p.log.info(\"Claude Code subscription detected — the SDK can use that login instead of a key.\");\n }\n const presets = forced ?? (await selectPresets(configured, env));\n\n const providers: ProviderChoice[] = [];\n for (const preset of presets) {\n providers.push(await collectProvider(preset, configured, env));\n }\n\n const secretTarget = providers.some((choice) => choice.secret)\n ? await selectSecretTarget()\n : \"skip\";\n\n const defaultProvider = await selectDefaultProvider(providers, settings.model);\n const chosen = providers.find((choice) => choice.id === defaultProvider);\n const modelRef = await selectModelRef(\n defaultProvider,\n settings.model,\n chosen?.secret ?? (chosen ? env[chosen.envVar] : undefined),\n );\n\n const defaultsTarget = await selectDefaultsTarget(projectDir);\n\n await reviewAndSave({ providers, secretTarget, defaultsTarget, modelRef, harness }, projectDir);\n\n p.outro(\"Setup complete!\");\n}\n"]}
@@ -1,26 +1,26 @@
1
- export { skillCheckRequirements, skillGetPreamble, skillList, skillSearch, skillShow } from './chunk-E237FGGX.js';
2
- import './chunk-L45IHRDH.js';
1
+ export { skillCheckRequirements, skillGetPreamble, skillList, skillSearch, skillShow } from './chunk-GTAHU4N4.js';
2
+ import './chunk-HQAPUPBE.js';
3
3
  import './chunk-3MWQKQUB.js';
4
- import './chunk-C7TQARGC.js';
5
- import './chunk-BUU2DLPC.js';
6
- import './chunk-ABVWUM2E.js';
4
+ import './chunk-PTJTOPE5.js';
5
+ import './chunk-USSP43U3.js';
6
+ import './chunk-6ARPZHOV.js';
7
7
  import './chunk-4GY63JU6.js';
8
- import './chunk-3ENE6ZOF.js';
8
+ import './chunk-JIQUF3X2.js';
9
9
  import './chunk-5KRMNUL4.js';
10
10
  import './chunk-C5HFK34M.js';
11
11
  import './chunk-MWXYN6NY.js';
12
- import './chunk-6WQGJF65.js';
12
+ import './chunk-6SXSVKQY.js';
13
13
  import './chunk-L5VSIPQD.js';
14
14
  import './chunk-VTETQCR6.js';
15
- import './chunk-U6S5CXKB.js';
16
- import './chunk-VV2DJT4I.js';
15
+ import './chunk-E2EC6SAX.js';
16
+ import './chunk-GNUA7XT2.js';
17
17
  import './chunk-RVRB27AN.js';
18
- import './chunk-IZQOO6MN.js';
18
+ import './chunk-V5KG6CCV.js';
19
19
  import './chunk-VSX2G7LA.js';
20
20
  import './chunk-RXGPFAMN.js';
21
- import './chunk-DKXNKFKP.js';
21
+ import './chunk-SGI5MRKP.js';
22
22
  import './chunk-C3CAXQMA.js';
23
23
  import './chunk-BOFL7GIF.js';
24
24
  import './chunk-NSBPE2FW.js';
25
- //# sourceMappingURL=skills-62PXDBPJ.js.map
26
- //# sourceMappingURL=skills-62PXDBPJ.js.map
25
+ //# sourceMappingURL=skills-6QTKFMLW.js.map
26
+ //# sourceMappingURL=skills-6QTKFMLW.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":[],"names":[],"mappings":"","file":"skills-62PXDBPJ.js"}
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"skills-6QTKFMLW.js"}