@skaile/workspaces 3.27.1 → 4.1.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 (356) hide show
  1. package/CHANGELOG.md +482 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-QF7LGRUX.js → asset-feeds-VEPD5ZU7.js} +11 -9
  4. package/dist/asset-feeds-VEPD5ZU7.js.map +1 -0
  5. package/dist/asset-manager/catalog-deployer.js +5 -3
  6. package/dist/asset-manager/index.js +11 -9
  7. package/dist/asset-manager/installer.js +8 -6
  8. package/dist/asset-manager/renderers.js +2 -2
  9. package/dist/asset-manager/src/renderers.d.ts.map +1 -1
  10. package/dist/bridge/codex-app-server.js +15 -1
  11. package/dist/bridge/drivers/claude-sdk.js +102 -55
  12. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  13. package/dist/bridge/drivers/codex.js +179 -23
  14. package/dist/bridge/drivers/codex.js.map +1 -1
  15. package/dist/bridge/drivers/continue.js +199 -7
  16. package/dist/bridge/drivers/continue.js.map +1 -1
  17. package/dist/bridge/drivers/echo.js +10 -4
  18. package/dist/bridge/drivers/echo.js.map +1 -1
  19. package/dist/bridge/drivers/gemini.js +7 -4
  20. package/dist/bridge/drivers/goose.js +160 -7
  21. package/dist/bridge/drivers/goose.js.map +1 -1
  22. package/dist/bridge/drivers/omp.js +321 -96
  23. package/dist/bridge/drivers/omp.js.map +1 -1
  24. package/dist/bridge/drivers/opencode.js +148 -13
  25. package/dist/bridge/drivers/opencode.js.map +1 -1
  26. package/dist/bridge/drivers/qwen.js +41 -11
  27. package/dist/bridge/drivers/qwen.js.map +1 -1
  28. package/dist/bridge/index.js +12 -9
  29. package/dist/bridge/src/cloud.d.ts +62 -71
  30. package/dist/bridge/src/cloud.d.ts.map +1 -1
  31. package/dist/bridge/src/codex/config-toml.d.ts +128 -0
  32. package/dist/bridge/src/codex/config-toml.d.ts.map +1 -0
  33. package/dist/bridge/src/codex/credentials.d.ts +26 -0
  34. package/dist/bridge/src/codex/credentials.d.ts.map +1 -1
  35. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  36. package/dist/bridge/src/codex-app-server.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/_subprocess-cli.d.ts +9 -4
  38. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/claude-sdk.d.ts +19 -11
  40. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  41. package/dist/bridge/src/drivers/codex.d.ts +26 -1
  42. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  43. package/dist/bridge/src/drivers/continue.d.ts +31 -5
  44. package/dist/bridge/src/drivers/continue.d.ts.map +1 -1
  45. package/dist/bridge/src/drivers/echo.d.ts.map +1 -1
  46. package/dist/bridge/src/drivers/gemini.d.ts +34 -3
  47. package/dist/bridge/src/drivers/gemini.d.ts.map +1 -1
  48. package/dist/bridge/src/drivers/goose.d.ts +26 -2
  49. package/dist/bridge/src/drivers/goose.d.ts.map +1 -1
  50. package/dist/bridge/src/drivers/omp-models-yml.d.ts +216 -0
  51. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -0
  52. package/dist/bridge/src/drivers/omp.d.ts +26 -23
  53. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  54. package/dist/bridge/src/drivers/opencode.d.ts +28 -3
  55. package/dist/bridge/src/drivers/opencode.d.ts.map +1 -1
  56. package/dist/bridge/src/drivers/qwen.d.ts +10 -4
  57. package/dist/bridge/src/drivers/qwen.d.ts.map +1 -1
  58. package/dist/bridge/src/index.d.ts +3 -1
  59. package/dist/bridge/src/index.d.ts.map +1 -1
  60. package/dist/bridge/src/models.d.ts +118 -19
  61. package/dist/bridge/src/models.d.ts.map +1 -1
  62. package/dist/bridge/src/provider-catalog.d.ts +188 -0
  63. package/dist/bridge/src/provider-catalog.d.ts.map +1 -0
  64. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts +117 -0
  65. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts.map +1 -0
  66. package/dist/bridge/src/provider-materialize/credential-env.d.ts +103 -0
  67. package/dist/bridge/src/provider-materialize/credential-env.d.ts.map +1 -0
  68. package/dist/bridge/src/provider-materialize/env-drivers.d.ts +209 -0
  69. package/dist/bridge/src/provider-materialize/env-drivers.d.ts.map +1 -0
  70. package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts +127 -0
  71. package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts.map +1 -0
  72. package/dist/bridge/src/provider-materialize/opencode-config.d.ts +127 -0
  73. package/dist/bridge/src/provider-materialize/opencode-config.d.ts.map +1 -0
  74. package/dist/bridge/src/provider-materialize/session-config-home.d.ts +63 -0
  75. package/dist/bridge/src/provider-materialize/session-config-home.d.ts.map +1 -0
  76. package/dist/bridge/src/provider-registry-derive.d.ts +59 -0
  77. package/dist/bridge/src/provider-registry-derive.d.ts.map +1 -0
  78. package/dist/bridge/src/registry.d.ts +19 -7
  79. package/dist/bridge/src/registry.d.ts.map +1 -1
  80. package/dist/bridge/src/runtime.d.ts.map +1 -1
  81. package/dist/bridge/src/types.d.ts +79 -60
  82. package/dist/bridge/src/types.d.ts.map +1 -1
  83. package/dist/bridge/src/validation.d.ts +2 -3
  84. package/dist/bridge/src/validation.d.ts.map +1 -1
  85. package/dist/{chunk-ZEXYTJ6Y.js → chunk-2GF42G2J.js} +6 -6
  86. package/dist/{chunk-ZEXYTJ6Y.js.map → chunk-2GF42G2J.js.map} +1 -1
  87. package/dist/{chunk-WWGU3REE.js → chunk-2K7NURDN.js} +7 -7
  88. package/dist/{chunk-WWGU3REE.js.map → chunk-2K7NURDN.js.map} +1 -1
  89. package/dist/{chunk-TCHEW3T2.js → chunk-2RO6N7DN.js} +6 -6
  90. package/dist/{chunk-TCHEW3T2.js.map → chunk-2RO6N7DN.js.map} +1 -1
  91. package/dist/{chunk-HSRHO7SK.js → chunk-3VSRJE3M.js} +155 -143
  92. package/dist/chunk-3VSRJE3M.js.map +1 -0
  93. package/dist/{chunk-T3YLZQS4.js → chunk-45LLHKQ2.js} +24 -3
  94. package/dist/chunk-45LLHKQ2.js.map +1 -0
  95. package/dist/chunk-5DQWB5TW.js +843 -0
  96. package/dist/chunk-5DQWB5TW.js.map +1 -0
  97. package/dist/{chunk-JMYOJ3PA.js → chunk-5HT5M5HX.js} +3 -3
  98. package/dist/{chunk-JMYOJ3PA.js.map → chunk-5HT5M5HX.js.map} +1 -1
  99. package/dist/{chunk-VN7DELUT.js → chunk-6AMTSRRO.js} +4 -4
  100. package/dist/{chunk-VN7DELUT.js.map → chunk-6AMTSRRO.js.map} +1 -1
  101. package/dist/{chunk-MX6TGDZ7.js → chunk-6DI4NTZN.js} +5 -5
  102. package/dist/{chunk-MX6TGDZ7.js.map → chunk-6DI4NTZN.js.map} +1 -1
  103. package/dist/{chunk-FFE7YLYO.js → chunk-AN7E2IL5.js} +7 -7
  104. package/dist/chunk-AN7E2IL5.js.map +1 -0
  105. package/dist/{chunk-A3HTL7XV.js → chunk-APDN5LW4.js} +3 -3
  106. package/dist/{chunk-A3HTL7XV.js.map → chunk-APDN5LW4.js.map} +1 -1
  107. package/dist/{chunk-FACPWN6P.js → chunk-ASU5IJZS.js} +9 -12
  108. package/dist/chunk-ASU5IJZS.js.map +1 -0
  109. package/dist/{chunk-J3IXRPZB.js → chunk-BTMDSMXF.js} +10 -10
  110. package/dist/{chunk-J3IXRPZB.js.map → chunk-BTMDSMXF.js.map} +1 -1
  111. package/dist/chunk-CTBUPYOQ.js +500 -0
  112. package/dist/chunk-CTBUPYOQ.js.map +1 -0
  113. package/dist/{chunk-K6VZQNTR.js → chunk-DKCFWSVW.js} +3 -3
  114. package/dist/{chunk-K6VZQNTR.js.map → chunk-DKCFWSVW.js.map} +1 -1
  115. package/dist/{chunk-MQASB52N.js → chunk-FEFTOV2Y.js} +3 -3
  116. package/dist/{chunk-MQASB52N.js.map → chunk-FEFTOV2Y.js.map} +1 -1
  117. package/dist/{chunk-XMULHVKX.js → chunk-FGTYTU6Q.js} +17 -15
  118. package/dist/chunk-FGTYTU6Q.js.map +1 -0
  119. package/dist/{chunk-WJVBJAM5.js → chunk-HHC2T7BM.js} +7 -7
  120. package/dist/{chunk-WJVBJAM5.js.map → chunk-HHC2T7BM.js.map} +1 -1
  121. package/dist/chunk-ILG4BXYE.js +936 -0
  122. package/dist/chunk-ILG4BXYE.js.map +1 -0
  123. package/dist/{chunk-E7HKNQTH.js → chunk-JXCUUZA3.js} +3 -4
  124. package/dist/chunk-JXCUUZA3.js.map +1 -0
  125. package/dist/{chunk-MBARHWMZ.js → chunk-K27T47OO.js} +79 -53
  126. package/dist/chunk-K27T47OO.js.map +1 -0
  127. package/dist/chunk-KSIRR5PL.js +142 -0
  128. package/dist/chunk-KSIRR5PL.js.map +1 -0
  129. package/dist/{chunk-SIREWRZE.js → chunk-KW7YIRYL.js} +3 -3
  130. package/dist/{chunk-SIREWRZE.js.map → chunk-KW7YIRYL.js.map} +1 -1
  131. package/dist/{chunk-3U3ZKYR7.js → chunk-LPF24MZA.js} +139 -29
  132. package/dist/chunk-LPF24MZA.js.map +1 -0
  133. package/dist/chunk-M2F5UXCX.js +187 -0
  134. package/dist/chunk-M2F5UXCX.js.map +1 -0
  135. package/dist/{chunk-DZ4UZOFB.js → chunk-M5H4DWIA.js} +3 -3
  136. package/dist/{chunk-DZ4UZOFB.js.map → chunk-M5H4DWIA.js.map} +1 -1
  137. package/dist/{chunk-PHBYB4XT.js → chunk-MLDJHV2U.js} +4 -8
  138. package/dist/chunk-MLDJHV2U.js.map +1 -0
  139. package/dist/{chunk-773WLEXL.js → chunk-MVBK4JUK.js} +3 -3
  140. package/dist/{chunk-773WLEXL.js.map → chunk-MVBK4JUK.js.map} +1 -1
  141. package/dist/{chunk-AN6NAFRT.js → chunk-N7B3LZ7V.js} +31 -6
  142. package/dist/chunk-N7B3LZ7V.js.map +1 -0
  143. package/dist/{chunk-EB72L5ZL.js → chunk-ORZBDXNS.js} +18 -30
  144. package/dist/chunk-ORZBDXNS.js.map +1 -0
  145. package/dist/{chunk-6H6HLMWG.js → chunk-OXTPH6HT.js} +3 -3
  146. package/dist/{chunk-6H6HLMWG.js.map → chunk-OXTPH6HT.js.map} +1 -1
  147. package/dist/{chunk-QSPCI4W2.js → chunk-PI244HAH.js} +175 -178
  148. package/dist/chunk-PI244HAH.js.map +1 -0
  149. package/dist/{chunk-NW65H5EV.js → chunk-PTETBRRC.js} +3 -3
  150. package/dist/{chunk-NW65H5EV.js.map → chunk-PTETBRRC.js.map} +1 -1
  151. package/dist/{chunk-UL4LD7KD.js → chunk-QQL3ET3J.js} +3 -3
  152. package/dist/{chunk-UL4LD7KD.js.map → chunk-QQL3ET3J.js.map} +1 -1
  153. package/dist/{chunk-GURXUF2J.js → chunk-R2GE2NXM.js} +95 -80
  154. package/dist/chunk-R2GE2NXM.js.map +1 -0
  155. package/dist/{chunk-IB4XKQMQ.js → chunk-REILIKVM.js} +3 -3
  156. package/dist/{chunk-IB4XKQMQ.js.map → chunk-REILIKVM.js.map} +1 -1
  157. package/dist/{chunk-3NCGSSCU.js → chunk-WLFRA5RM.js} +47 -45
  158. package/dist/chunk-WLFRA5RM.js.map +1 -0
  159. package/dist/{chunk-2BK4N3FS.js → chunk-WO65FA7W.js} +2 -7
  160. package/dist/chunk-WO65FA7W.js.map +1 -0
  161. package/dist/{chunk-72DG6GSB.js → chunk-YS4XBN7O.js} +4 -4
  162. package/dist/{chunk-72DG6GSB.js.map → chunk-YS4XBN7O.js.map} +1 -1
  163. package/dist/chunk-YSJKLJD4.js +32 -0
  164. package/dist/chunk-YSJKLJD4.js.map +1 -0
  165. package/dist/cli/index.js +765 -334
  166. package/dist/cli/index.js.map +1 -1
  167. package/dist/cli/src/commands/config.d.ts +17 -6
  168. package/dist/cli/src/commands/config.d.ts.map +1 -1
  169. package/dist/cli/src/commands/migrate-legacy-entry.d.ts +46 -0
  170. package/dist/cli/src/commands/migrate-legacy-entry.d.ts.map +1 -0
  171. package/dist/cli/src/commands/migrate-providers.d.ts +93 -0
  172. package/dist/cli/src/commands/migrate-providers.d.ts.map +1 -0
  173. package/dist/cli/src/commands/providers.d.ts +89 -0
  174. package/dist/cli/src/commands/providers.d.ts.map +1 -0
  175. package/dist/cli/src/commands/run.d.ts +1 -1
  176. package/dist/cli/src/commands/run.d.ts.map +1 -1
  177. package/dist/cli/src/setup.d.ts +46 -6
  178. package/dist/cli/src/setup.d.ts.map +1 -1
  179. package/dist/connectors/config.js +6 -4
  180. package/dist/connectors/index.js +15 -12
  181. package/dist/core/index.js +5 -3
  182. package/dist/core/provider-registry-credentials.d.ts +2 -0
  183. package/dist/core/provider-registry-credentials.js +5 -0
  184. package/dist/core/provider-registry-credentials.js.map +1 -0
  185. package/dist/core/provider-registry.d.ts +2 -0
  186. package/dist/core/provider-registry.js +4 -0
  187. package/dist/core/provider-registry.js.map +1 -0
  188. package/dist/core/runtime-assets.js +2 -2
  189. package/dist/core/src/index.d.ts +11 -4
  190. package/dist/core/src/index.d.ts.map +1 -1
  191. package/dist/core/src/process-alive.d.ts +28 -0
  192. package/dist/core/src/process-alive.d.ts.map +1 -0
  193. package/dist/core/src/provider-registry-credentials.d.ts +50 -0
  194. package/dist/core/src/provider-registry-credentials.d.ts.map +1 -0
  195. package/dist/core/src/provider-registry-files.d.ts +97 -0
  196. package/dist/core/src/provider-registry-files.d.ts.map +1 -0
  197. package/dist/core/src/provider-registry.d.ts +450 -0
  198. package/dist/core/src/provider-registry.d.ts.map +1 -0
  199. package/dist/core/src/settings.d.ts +18 -78
  200. package/dist/core/src/settings.d.ts.map +1 -1
  201. package/dist/core/src/workspace-config.d.ts +31 -47
  202. package/dist/core/src/workspace-config.d.ts.map +1 -1
  203. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  204. package/dist/core/workspace-config.js +1 -1
  205. package/dist/deploy/index.js +9 -16
  206. package/dist/deploy/index.js.map +1 -1
  207. package/dist/deploy/src/targets/local.d.ts.map +1 -1
  208. package/dist/deploy/src/targets/nix.d.ts.map +1 -1
  209. package/dist/deploy/src/targets/process-handle.d.ts +0 -2
  210. package/dist/deploy/src/targets/process-handle.d.ts.map +1 -1
  211. package/dist/discovery/index.js +2 -2
  212. package/dist/{ensure-sources-GEJGBQIP.js → ensure-sources-B3VWHD5M.js} +14 -12
  213. package/dist/ensure-sources-B3VWHD5M.js.map +1 -0
  214. package/dist/factory-assets/connectors/box.js +15 -12
  215. package/dist/factory-assets/connectors/deploy.js +15 -12
  216. package/dist/factory-assets/connectors/devserver/adapter.d.ts.map +1 -1
  217. package/dist/factory-assets/connectors/devserver.js +15 -12
  218. package/dist/factory-assets/connectors/flow/adapter.js +15 -12
  219. package/dist/factory-assets/connectors/flow/engine.js +6 -4
  220. package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
  221. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
  222. package/dist/factory-assets/connectors/flow/run-flow.d.ts +0 -3
  223. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  224. package/dist/factory-assets/connectors/flow/run-flow.js +16 -13
  225. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts +31 -28
  226. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts.map +1 -1
  227. package/dist/factory-assets/connectors/flow.js +15 -12
  228. package/dist/factory-assets/connectors/git.js +15 -12
  229. package/dist/factory-assets/connectors/gmail.js +15 -12
  230. package/dist/factory-assets/connectors/googledrive.js +15 -12
  231. package/dist/factory-assets/connectors/local.js +15 -12
  232. package/dist/factory-assets/connectors/mattermost.js +15 -12
  233. package/dist/factory-assets/connectors/memory.js +15 -12
  234. package/dist/factory-assets/connectors/minio.js +15 -12
  235. package/dist/factory-assets/connectors/postgres.js +15 -12
  236. package/dist/factory-assets/connectors/s3.js +15 -12
  237. package/dist/factory-assets/connectors/sharepoint.js +15 -12
  238. package/dist/factory-assets/connectors/sqlite.js +15 -12
  239. package/dist/factory-assets/connectors/static-server.js +15 -12
  240. package/dist/factory-assets/connectors/tunnel.js +15 -12
  241. package/dist/factory-assets/connectors/webdav.js +15 -12
  242. package/dist/factory-assets/connectors/xstate-store.js +15 -12
  243. package/dist/factory-assets/connectors/xstate.js +15 -12
  244. package/dist/{flows-MI2VM5JZ.js → flows-KIQH2VGA.js} +9 -7
  245. package/dist/{flows-MI2VM5JZ.js.map → flows-KIQH2VGA.js.map} +1 -1
  246. package/dist/{helpers-DXZOHX25.js → helpers-72W3NZ2L.js} +14 -12
  247. package/dist/{helpers-DXZOHX25.js.map → helpers-72W3NZ2L.js.map} +1 -1
  248. package/dist/library/index.js +8 -6
  249. package/dist/library/install.js +5 -3
  250. package/dist/{library-publish-CUPDG5NI.js → library-publish-YPHKEA6L.js} +18 -16
  251. package/dist/library-publish-YPHKEA6L.js.map +1 -0
  252. package/dist/{open-library-32XAI2LH.js → open-library-7OIUAGAH.js} +16 -14
  253. package/dist/{open-library-32XAI2LH.js.map → open-library-7OIUAGAH.js.map} +1 -1
  254. package/dist/paths-XLSP5K6C.js +18 -0
  255. package/dist/{paths-CZEH643M.js.map → paths-XLSP5K6C.js.map} +1 -1
  256. package/dist/plugin-registry/src/targets.d.ts +16 -2
  257. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  258. package/dist/{plugin-store-QJNBPIQK.js → plugin-store-V5BMOYGS.js} +7 -5
  259. package/dist/plugin-store-V5BMOYGS.js.map +1 -0
  260. package/dist/{project-RRHUCVXW.js → project-KNAZV4B3.js} +15 -13
  261. package/dist/{project-RRHUCVXW.js.map → project-KNAZV4B3.js.map} +1 -1
  262. package/dist/resolver/index.js +5 -3
  263. package/dist/runner/index.js +25 -22
  264. package/dist/runner/src/agent.d.ts +0 -2
  265. package/dist/runner/src/agent.d.ts.map +1 -1
  266. package/dist/runner/src/codex-init.d.ts.map +1 -1
  267. package/dist/runner/src/codex-resource-tools.d.ts.map +1 -1
  268. package/dist/runner/src/managed-codex-bootstrap.d.ts.map +1 -1
  269. package/dist/runner/src/resources.d.ts +1 -2
  270. package/dist/runner/src/resources.d.ts.map +1 -1
  271. package/dist/runner/src/serve.d.ts.map +1 -1
  272. package/dist/runner/src/session-builder.d.ts +31 -35
  273. package/dist/runner/src/session-builder.d.ts.map +1 -1
  274. package/dist/runner/src/session.d.ts +0 -2
  275. package/dist/runner/src/session.d.ts.map +1 -1
  276. package/dist/sdk/asset-manager.js +11 -9
  277. package/dist/sdk/bridge.js +12 -9
  278. package/dist/sdk/core.js +5 -3
  279. package/dist/sdk/flow.js +6 -4
  280. package/dist/sdk/index.js +25 -22
  281. package/dist/sdk/index.js.map +1 -1
  282. package/dist/sdk/resolver.js +5 -3
  283. package/dist/sdk/runner.js +25 -22
  284. package/dist/sdk/session.js +2 -2
  285. package/dist/sdk/types.js +1 -1
  286. package/dist/session/index.js +2 -2
  287. package/dist/setup-TG4KECRQ.js +435 -0
  288. package/dist/setup-TG4KECRQ.js.map +1 -0
  289. package/dist/{skills-IE3IWWB7.js → skills-KHBYF6AU.js} +7 -5
  290. package/dist/{skills-IE3IWWB7.js.map → skills-KHBYF6AU.js.map} +1 -1
  291. package/dist/{source-RHQLCTWA.js → source-7AFRUD3U.js} +17 -15
  292. package/dist/{source-RHQLCTWA.js.map → source-7AFRUD3U.js.map} +1 -1
  293. package/dist/{source-manifest-publish-DXMCSKU7.js → source-manifest-publish-JWOT7O3A.js} +19 -17
  294. package/dist/source-manifest-publish-JWOT7O3A.js.map +1 -0
  295. package/dist/tui/index.js +25 -23
  296. package/dist/tui/index.js.map +1 -1
  297. package/dist/tui/src/repl.d.ts +0 -2
  298. package/dist/tui/src/repl.d.ts.map +1 -1
  299. package/dist/types/index.js +1 -1
  300. package/dist/types/manifests.js +1 -1
  301. package/dist/types/src/index.d.ts +1 -1
  302. package/dist/types/src/index.d.ts.map +1 -1
  303. package/dist/types/src/lifecycle.d.ts +35 -10
  304. package/dist/types/src/lifecycle.d.ts.map +1 -1
  305. package/dist/types/src/manifests/agent.d.ts +116 -22
  306. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  307. package/dist/types/src/manifests/index.d.ts +2 -2
  308. package/dist/types/src/manifests/index.d.ts.map +1 -1
  309. package/dist/types/src/manifests/preset.d.ts +5 -5
  310. package/dist/types/src/runtime.d.ts +51 -5
  311. package/dist/types/src/runtime.d.ts.map +1 -1
  312. package/dist/types/src/version.d.ts +18 -2
  313. package/dist/types/src/version.d.ts.map +1 -1
  314. package/dist/validator-P5ESKTW5.js +5 -0
  315. package/dist/{validator-RN64BKFW.js.map → validator-P5ESKTW5.js.map} +1 -1
  316. package/dist/workspace-plugin/adapters/mcp.js +11 -9
  317. package/dist/workspace-plugin/adapters/omp.js +11 -11
  318. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  319. package/dist/workspace-plugin/index.js +1 -1
  320. package/dist/workspace-plugin/src/plugin.d.ts +1 -4
  321. package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
  322. package/dist/workspace-plugin/src/tools/validator.d.ts +4 -4
  323. package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
  324. package/package.json +13 -1
  325. package/dist/asset-feeds-QF7LGRUX.js.map +0 -1
  326. package/dist/bridge/src/provider-endpoints.d.ts +0 -55
  327. package/dist/bridge/src/provider-endpoints.d.ts.map +0 -1
  328. package/dist/chunk-2BK4N3FS.js.map +0 -1
  329. package/dist/chunk-3NCGSSCU.js.map +0 -1
  330. package/dist/chunk-3U3ZKYR7.js.map +0 -1
  331. package/dist/chunk-AN6NAFRT.js.map +0 -1
  332. package/dist/chunk-AQW4BWNR.js +0 -324
  333. package/dist/chunk-AQW4BWNR.js.map +0 -1
  334. package/dist/chunk-E7HKNQTH.js.map +0 -1
  335. package/dist/chunk-EB72L5ZL.js.map +0 -1
  336. package/dist/chunk-FACPWN6P.js.map +0 -1
  337. package/dist/chunk-FFE7YLYO.js.map +0 -1
  338. package/dist/chunk-FYIHH56K.js +0 -110
  339. package/dist/chunk-FYIHH56K.js.map +0 -1
  340. package/dist/chunk-GURXUF2J.js.map +0 -1
  341. package/dist/chunk-HSRHO7SK.js.map +0 -1
  342. package/dist/chunk-MBARHWMZ.js.map +0 -1
  343. package/dist/chunk-PHBYB4XT.js.map +0 -1
  344. package/dist/chunk-QSPCI4W2.js.map +0 -1
  345. package/dist/chunk-T3YLZQS4.js.map +0 -1
  346. package/dist/chunk-XMULHVKX.js.map +0 -1
  347. package/dist/ensure-sources-GEJGBQIP.js.map +0 -1
  348. package/dist/library-publish-CUPDG5NI.js.map +0 -1
  349. package/dist/paths-CZEH643M.js +0 -16
  350. package/dist/plugin-store-QJNBPIQK.js.map +0 -1
  351. package/dist/runner/src/cloud-bundle.d.ts +0 -36
  352. package/dist/runner/src/cloud-bundle.d.ts.map +0 -1
  353. package/dist/setup-CIRH5BYB.js +0 -517
  354. package/dist/setup-CIRH5BYB.js.map +0 -1
  355. package/dist/source-manifest-publish-DXMCSKU7.js.map +0 -1
  356. package/dist/validator-RN64BKFW.js +0 -5
@@ -1,15 +1,15 @@
1
+ import { factoryAssetRoots } from './chunk-REILIKVM.js';
1
2
  import { deployedBase } from './chunk-F3HNW354.js';
2
- import { factoryAssetRoots } from './chunk-IB4XKQMQ.js';
3
- import { resolveSkWorkspaceConfig, cloudConfigFromProfile } from './chunk-MBARHWMZ.js';
3
+ import { globalSkaileDir, resolveSkWorkspaceConfig } from './chunk-K27T47OO.js';
4
4
  import { SUPPORTED_DRIVER_TARGETS } from './chunk-MENCWIHW.js';
5
+ import { validateRegistry, mergeRegistries, validateMergedRegistry } from './chunk-ILG4BXYE.js';
5
6
  import fs, { existsSync, writeFileSync, readFileSync, mkdirSync, cpSync, readdirSync } from 'fs';
6
- import os, { homedir, constants } from 'os';
7
- import path, { join, dirname, basename } from 'path';
7
+ import os, { homedir } from 'os';
8
+ import path, { join, dirname, basename, resolve } from 'path';
8
9
  import { createHash } from 'crypto';
9
10
  import { stringify, parse, parseDocument, Document, isSeq, isMap } from 'yaml';
10
- import { spawnSync, spawn } from 'child_process';
11
+ import { spawnSync } from 'child_process';
11
12
  import fsp from 'fs/promises';
12
- import { Readable } from 'stream';
13
13
 
14
14
  function skaileHomeDir() {
15
15
  return join(homedir(), ".skaile");
@@ -353,27 +353,80 @@ function readPatch(patchPath) {
353
353
  if (!existsSync(patchPath)) return null;
354
354
  return readFileSync(patchPath, "utf8");
355
355
  }
356
- var ALL_PROVIDERS = [
357
- "anthropic",
358
- "openai",
359
- "google",
360
- "mistral",
361
- "groq",
362
- "openrouter",
363
- "deepseek",
364
- "xai",
365
- "together",
366
- "fireworks",
367
- "deepgram",
368
- "elevenlabs"
369
- ];
356
+ var PROVIDERS_FILENAME = "providers.yml";
357
+ var SKAILE_DIR = ".skaile";
358
+ function userProviderRegistryPath() {
359
+ return join(globalSkaileDir(), PROVIDERS_FILENAME);
360
+ }
361
+ function workspaceProviderRegistryPath(projectDir) {
362
+ return join(resolve(projectDir), SKAILE_DIR, PROVIDERS_FILENAME);
363
+ }
364
+ function loadProviderRegistryFile(filePath, layer) {
365
+ const empty = { version: 1, providers: {} };
366
+ if (!existsSync(filePath)) {
367
+ return { layer, path: filePath, exists: false, document: empty, diagnostics: [] };
368
+ }
369
+ let raw;
370
+ try {
371
+ raw = parse(readFileSync(filePath, "utf-8"));
372
+ } catch (error) {
373
+ const message = error instanceof Error ? error.message : String(error);
374
+ return {
375
+ layer,
376
+ path: filePath,
377
+ exists: true,
378
+ document: empty,
379
+ diagnostics: [
380
+ {
381
+ code: "yaml_parse_error",
382
+ severity: "error",
383
+ path: "",
384
+ message: `${filePath}: ${message}`
385
+ }
386
+ ]
387
+ };
388
+ }
389
+ const { document, diagnostics } = validateRegistry(raw, { source: filePath, layer });
390
+ return { layer, path: filePath, exists: true, document, diagnostics };
391
+ }
392
+ function saveProviderRegistryFile(filePath, document) {
393
+ const dir = dirname(filePath);
394
+ if (!existsSync(dir)) mkdirSync(dir, { recursive: true });
395
+ writeFileSync(filePath, stringify({ version: 1, providers: document.providers }));
396
+ return filePath;
397
+ }
398
+ function loadProviderRegistry(options = {}) {
399
+ const files = [
400
+ loadProviderRegistryFile(userProviderRegistryPath(), "user")
401
+ ];
402
+ if (options.projectDir) {
403
+ files.push(
404
+ loadProviderRegistryFile(workspaceProviderRegistryPath(options.projectDir), "workspace")
405
+ );
406
+ }
407
+ const layers = files.map((file) => ({
408
+ layer: file.layer,
409
+ providers: file.document.providers
410
+ }));
411
+ const extraLayers = options.extraLayers ?? [];
412
+ const merged = mergeRegistries([...layers, ...extraLayers]);
413
+ const sources = [
414
+ ...files.map((file) => ({ label: file.path, providers: file.document.providers })),
415
+ ...extraLayers.map((layer) => ({ label: `${layer.layer} layer`, providers: layer.providers }))
416
+ ];
417
+ const { registry, diagnostics } = validateMergedRegistry(merged, { sources });
418
+ return {
419
+ registry,
420
+ patches: merged.providers,
421
+ files,
422
+ diagnostics: [...files.flatMap((file) => file.diagnostics), ...diagnostics]
423
+ };
424
+ }
370
425
  var SETTINGS_DEFAULTS = {
371
426
  apiKeys: {},
372
- driver: "omp",
373
- provider: "anthropic"
427
+ driver: "omp"
374
428
  };
375
429
  var LEGACY_FIELD_MAP = {
376
- defaultProvider: "provider",
377
430
  defaultModel: "model",
378
431
  defaultAgentType: "driver"
379
432
  };
@@ -389,13 +442,13 @@ function mapLegacyFields(raw) {
389
442
  }
390
443
  return result;
391
444
  }
392
- var SKAILE_DIR = ".skaile";
445
+ var SKAILE_DIR2 = ".skaile";
393
446
  var SETTINGS_FILE = "settings.json";
394
447
  function globalSettingsPath() {
395
- return path.join(os.homedir(), SKAILE_DIR, SETTINGS_FILE);
448
+ return path.join(os.homedir(), SKAILE_DIR2, SETTINGS_FILE);
396
449
  }
397
450
  function projectSettingsPath(projectDir) {
398
- return path.join(projectDir, SKAILE_DIR, SETTINGS_FILE);
451
+ return path.join(projectDir, SKAILE_DIR2, SETTINGS_FILE);
399
452
  }
400
453
  async function loadSettings(filePath) {
401
454
  try {
@@ -414,7 +467,7 @@ function walkForSettings(projectDir) {
414
467
  let dir = path.resolve(projectDir);
415
468
  const root = path.parse(dir).root;
416
469
  for (let i = 0; i < 10; i++) {
417
- const candidate = path.join(dir, SKAILE_DIR, SETTINGS_FILE);
470
+ const candidate = path.join(dir, SKAILE_DIR2, SETTINGS_FILE);
418
471
  if (fs.existsSync(candidate)) found.push(candidate);
419
472
  const parent = path.dirname(dir);
420
473
  if (parent === dir || parent === root) break;
@@ -425,35 +478,33 @@ function walkForSettings(projectDir) {
425
478
  function mergeSettings(base, source) {
426
479
  const result = { ...base };
427
480
  for (const [key, value] of Object.entries(source)) {
428
- if (value !== void 0 && value !== null && value !== "") {
429
- if (key === "apiKeys" && typeof value === "object") {
430
- result.apiKeys = { ...result.apiKeys, ...value };
431
- } else {
432
- result[key] = value;
433
- }
481
+ if (value === void 0 || value === null || value === "") continue;
482
+ if ((key === "apiKeys" || key === "roles") && typeof value === "object") {
483
+ result[key] = { ...result[key], ...value };
484
+ } else {
485
+ Object.assign(result, { [key]: value });
434
486
  }
435
487
  }
436
488
  return result;
437
489
  }
438
490
  function settingsFromWorkspaceConfig(projectDir) {
491
+ let ws;
439
492
  try {
440
- const ws = resolveSkWorkspaceConfig(projectDir);
441
- const p = ws.agent_config?.default;
442
- if (!p) return {};
443
- const result = {};
444
- if (p.driver) result.driver = p.driver;
445
- if (p.provider) result.provider = p.provider;
446
- if (p.cloud) result.cloud = p.cloud;
447
- const cloudConfig = cloudConfigFromProfile(p);
448
- if (cloudConfig) result.cloudConfig = cloudConfig;
449
- if (p.model) result.model = p.model;
450
- if (p.skills_dir) result.skillsDir = p.skills_dir;
451
- if (p.agents_dir) result.agentsDir = p.agents_dir;
452
- if (p.prompts_dir) result.promptsDir = p.prompts_dir;
453
- return result;
454
- } catch {
493
+ ws = resolveSkWorkspaceConfig(projectDir);
494
+ } catch (error) {
495
+ if (error instanceof Error && error.message.includes("skaile migrate providers")) throw error;
455
496
  return {};
456
497
  }
498
+ const result = {};
499
+ if (ws.roles && Object.keys(ws.roles).length > 0) result.roles = ws.roles;
500
+ const p = ws.agent_config?.default;
501
+ if (!p) return result;
502
+ if (p.driver) result.driver = p.driver;
503
+ if (p.model) result.model = p.model;
504
+ if (p.skills_dir) result.skillsDir = p.skills_dir;
505
+ if (p.agents_dir) result.agentsDir = p.agents_dir;
506
+ if (p.prompts_dir) result.promptsDir = p.prompts_dir;
507
+ return result;
457
508
  }
458
509
  var _migrated = /* @__PURE__ */ new Set();
459
510
  async function migrateSettings(projectDir) {
@@ -516,108 +567,68 @@ async function resolveSettings(projectDir, overrides) {
516
567
  } catch {
517
568
  }
518
569
  }
519
- const envKeys = detectEnvApiKeys();
520
- if (Object.keys(envKeys).length > 0) {
521
- merged.apiKeys = { ...merged.apiKeys, ...envKeys };
522
- }
523
- if (process.env.PREFERRED_PROVIDER) merged.provider = process.env.PREFERRED_PROVIDER;
524
570
  if (process.env.PREFERRED_MODEL) merged.model = process.env.PREFERRED_MODEL;
525
571
  if (overrides) merged = mergeSettings(merged, overrides);
526
572
  return merged;
527
573
  }
528
- function providerEnvKey(provider) {
529
- return `${provider.toUpperCase().replace(/[^A-Z0-9]/g, "_")}_API_KEY`;
530
- }
531
- function resolveApiKey(provider, settings) {
532
- return process.env[providerEnvKey(provider)] || settings.apiKeys?.[provider];
533
- }
534
574
  function maskApiKey(key) {
535
575
  return key ? `****${key.slice(-4)}` : "";
536
576
  }
537
- function detectEnvApiKeys(extraEnv) {
538
- const env = { ...process.env, ...extraEnv };
539
- const detected = {};
540
- for (const provider of ALL_PROVIDERS) {
541
- const val = env[providerEnvKey(provider)];
542
- if (val) detected[provider] = val;
577
+ var hasProc = process.platform === "linux" && existsSync("/proc/self");
578
+ function processAlive(pid) {
579
+ if (!Number.isInteger(pid) || pid <= 0) return false;
580
+ try {
581
+ process.kill(pid, 0);
582
+ } catch {
583
+ return false;
543
584
  }
544
- return detected;
585
+ return !exited(processState(pid));
545
586
  }
546
- function resolveAllKeys(settings, envKeys) {
547
- const result = {};
548
- for (const provider of ALL_PROVIDERS) {
549
- const envVal = envKeys[provider];
550
- const storedVal = settings.apiKeys?.[provider];
551
- if (envVal) {
552
- result[provider] = { key: maskApiKey(envVal), source: "env" };
553
- } else if (storedVal) {
554
- result[provider] = { key: maskApiKey(storedVal), source: "stored" };
555
- }
587
+ function processGroupAlive(pgid) {
588
+ if (!Number.isInteger(pgid) || pgid <= 0) return false;
589
+ try {
590
+ process.kill(-pgid, 0);
591
+ } catch (error) {
592
+ return error.code !== "ESRCH";
556
593
  }
557
- return result;
594
+ if (!hasProc) return true;
595
+ let pids;
596
+ try {
597
+ pids = readdirSync("/proc").filter((entry) => /^\d+$/.test(entry));
598
+ } catch {
599
+ return true;
600
+ }
601
+ for (const entry of pids) {
602
+ const stat = readStat(Number(entry));
603
+ if (stat === "gone") continue;
604
+ if (stat === void 0) return true;
605
+ if (stat.pgid === pgid && !exited(stat.state)) return true;
606
+ }
607
+ return false;
558
608
  }
559
- function portableSpawn(cmd, opts = {}) {
560
- const [bin, ...args] = cmd;
561
- if (!bin) throw new Error("portableSpawn: empty command");
562
- const child = spawn(bin, args, {
563
- cwd: opts.cwd,
564
- env: opts.env ?? process.env,
565
- stdio: ["ignore", "pipe", "pipe"],
566
- detached: opts.detached
567
- });
568
- const exited = new Promise((resolve) => {
569
- child.on("close", (code, signal) => {
570
- if (code !== null) {
571
- resolve(code);
572
- return;
573
- }
574
- const signalNumber = signal ? constants.signals[signal] : void 0;
575
- resolve(signalNumber === void 0 ? -1 : 128 + signalNumber);
576
- });
577
- child.on("error", () => resolve(-1));
578
- });
579
- return {
580
- pid: child.pid ?? -1,
581
- stdout: Readable.toWeb(child.stdout),
582
- stderr: Readable.toWeb(child.stderr),
583
- exited,
584
- kill: (signal) => {
585
- if (opts.detached && child.pid) {
586
- try {
587
- process.kill(-child.pid, signal);
588
- return;
589
- } catch {
590
- }
591
- }
592
- child.kill(signal);
593
- }
594
- };
609
+ function processExited(pid) {
610
+ return exited(processState(pid));
595
611
  }
596
- function portableSpawnSync(cmd, opts) {
597
- const [bin, ...args] = cmd;
598
- if (!bin) throw new Error("portableSpawnSync: empty command");
599
- if (!(opts.timeoutMs > 0)) {
600
- throw new Error(`portableSpawnSync: timeoutMs must be > 0 (got ${opts.timeoutMs})`);
601
- }
602
- const result = spawnSync(bin, args, {
603
- cwd: opts.cwd,
604
- env: opts.env ?? process.env,
605
- encoding: "utf8",
606
- timeout: opts.timeoutMs,
607
- killSignal: "SIGKILL"
608
- });
609
- const timedOut = result.error?.code === "ETIMEDOUT" || result.status === null && result.signal === "SIGKILL";
610
- let stderr = result.stderr ?? "";
611
- if (timedOut) {
612
- stderr += `${stderr.endsWith("\n") || stderr === "" ? "" : "\n"}${bin}: timed out after ${opts.timeoutMs}ms
613
- `;
612
+ function processState(pid) {
613
+ const stat = readStat(pid);
614
+ return typeof stat === "object" ? stat.state : stat;
615
+ }
616
+ function exited(state) {
617
+ return state === "Z" || state === "X" || state === "gone";
618
+ }
619
+ function readStat(pid) {
620
+ if (!hasProc) return void 0;
621
+ let stat;
622
+ try {
623
+ stat = readFileSync(`/proc/${pid}/stat`, "utf8");
624
+ } catch (error) {
625
+ const code = error.code;
626
+ return code === "ENOENT" || code === "ESRCH" ? "gone" : void 0;
614
627
  }
615
- return {
616
- exitCode: result.status ?? -1,
617
- stdout: result.stdout ?? "",
618
- stderr,
619
- timedOut
620
- };
628
+ const fields = stat.slice(stat.lastIndexOf(")") + 2).split(" ");
629
+ const state = fields[0];
630
+ const pgid = Number(fields[2]);
631
+ return state && Number.isInteger(pgid) ? { state, pgid } : void 0;
621
632
  }
622
633
  var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
623
634
  path;
@@ -666,8 +677,8 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
666
677
  getAgentConfig(profile = "default") {
667
678
  const section = this._getAgentConfigSection();
668
679
  if (!section) return void 0;
669
- const val = section.get(profile);
670
- return val && typeof val === "object" ? val : void 0;
680
+ const node = section.get(profile, true);
681
+ return isMap(node) ? node.toJSON() : void 0;
671
682
  }
672
683
  /**
673
684
  * Set fields on an agent config profile. Merges with existing values —
@@ -676,8 +687,9 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
676
687
  setAgentConfig(profile, values) {
677
688
  let section = this._getAgentConfigSection();
678
689
  if (!section) {
679
- this.doc.set("agent-config", { [profile]: {} });
690
+ this.doc.set("agent-config", this.doc.createNode({ [profile]: {} }));
680
691
  section = this._getAgentConfigSection();
692
+ if (!section) throw new Error("failed to create the agent-config section");
681
693
  }
682
694
  const existing = section.get(profile, true);
683
695
  if (!existing || !isMap(existing)) {
@@ -975,6 +987,6 @@ var WorkspaceYamlEditor = class _WorkspaceYamlEditor {
975
987
  }
976
988
  };
977
989
 
978
- export { ALL_PROVIDERS, ManifestYamlEditor, SETTINGS_DEFAULTS, WorkspaceYamlEditor, aiResourceRoots, applyPatch, buildLockFile, checkAgentSkillConformance, computeHash, defaultLibraryDir, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveLibraryDir, resolveSettings, savePatch, saveSettings, skaileHomeDir, verifyLock, walkForSettings, writeLock, writePluginsLockSlice };
979
- //# sourceMappingURL=chunk-HSRHO7SK.js.map
980
- //# sourceMappingURL=chunk-HSRHO7SK.js.map
990
+ export { ManifestYamlEditor, PROVIDERS_FILENAME, SETTINGS_DEFAULTS, WorkspaceYamlEditor, aiResourceRoots, applyPatch, buildLockFile, checkAgentSkillConformance, computeHash, defaultLibraryDir, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadProviderRegistry, loadProviderRegistryFile, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, processAlive, processExited, processGroupAlive, projectSettingsPath, readLock, readPatch, readPluginsLockSlice, resolveLibraryDir, resolveSettings, savePatch, saveProviderRegistryFile, saveSettings, skaileHomeDir, userProviderRegistryPath, verifyLock, walkForSettings, workspaceProviderRegistryPath, writeLock, writePluginsLockSlice };
991
+ //# sourceMappingURL=chunk-3VSRJE3M.js.map
992
+ //# sourceMappingURL=chunk-3VSRJE3M.js.map