@skaile/workspaces 3.27.1 → 4.0.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 (344) hide show
  1. package/CHANGELOG.md +474 -0
  2. package/dist/app-sdk/index.js +1 -1
  3. package/dist/{asset-feeds-QF7LGRUX.js → asset-feeds-OPG6SUXU.js} +11 -9
  4. package/dist/asset-feeds-OPG6SUXU.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/drivers/claude-sdk.js +102 -55
  11. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  12. package/dist/bridge/drivers/codex.js +178 -22
  13. package/dist/bridge/drivers/codex.js.map +1 -1
  14. package/dist/bridge/drivers/continue.js +199 -7
  15. package/dist/bridge/drivers/continue.js.map +1 -1
  16. package/dist/bridge/drivers/echo.js +10 -4
  17. package/dist/bridge/drivers/echo.js.map +1 -1
  18. package/dist/bridge/drivers/gemini.js +7 -4
  19. package/dist/bridge/drivers/goose.js +160 -7
  20. package/dist/bridge/drivers/goose.js.map +1 -1
  21. package/dist/bridge/drivers/omp.js +321 -96
  22. package/dist/bridge/drivers/omp.js.map +1 -1
  23. package/dist/bridge/drivers/opencode.js +148 -13
  24. package/dist/bridge/drivers/opencode.js.map +1 -1
  25. package/dist/bridge/drivers/qwen.js +41 -11
  26. package/dist/bridge/drivers/qwen.js.map +1 -1
  27. package/dist/bridge/index.js +12 -9
  28. package/dist/bridge/src/cloud.d.ts +62 -71
  29. package/dist/bridge/src/cloud.d.ts.map +1 -1
  30. package/dist/bridge/src/codex/config-toml.d.ts +128 -0
  31. package/dist/bridge/src/codex/config-toml.d.ts.map +1 -0
  32. package/dist/bridge/src/codex/credentials.d.ts +26 -0
  33. package/dist/bridge/src/codex/credentials.d.ts.map +1 -1
  34. package/dist/bridge/src/codex/managed-driver.d.ts.map +1 -1
  35. package/dist/bridge/src/drivers/_subprocess-cli.d.ts +9 -4
  36. package/dist/bridge/src/drivers/_subprocess-cli.d.ts.map +1 -1
  37. package/dist/bridge/src/drivers/claude-sdk.d.ts +19 -11
  38. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  39. package/dist/bridge/src/drivers/codex.d.ts +26 -1
  40. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  41. package/dist/bridge/src/drivers/continue.d.ts +31 -5
  42. package/dist/bridge/src/drivers/continue.d.ts.map +1 -1
  43. package/dist/bridge/src/drivers/echo.d.ts.map +1 -1
  44. package/dist/bridge/src/drivers/gemini.d.ts +34 -3
  45. package/dist/bridge/src/drivers/gemini.d.ts.map +1 -1
  46. package/dist/bridge/src/drivers/goose.d.ts +26 -2
  47. package/dist/bridge/src/drivers/goose.d.ts.map +1 -1
  48. package/dist/bridge/src/drivers/omp-models-yml.d.ts +216 -0
  49. package/dist/bridge/src/drivers/omp-models-yml.d.ts.map +1 -0
  50. package/dist/bridge/src/drivers/omp.d.ts +26 -23
  51. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  52. package/dist/bridge/src/drivers/opencode.d.ts +28 -3
  53. package/dist/bridge/src/drivers/opencode.d.ts.map +1 -1
  54. package/dist/bridge/src/drivers/qwen.d.ts +10 -4
  55. package/dist/bridge/src/drivers/qwen.d.ts.map +1 -1
  56. package/dist/bridge/src/index.d.ts +3 -1
  57. package/dist/bridge/src/index.d.ts.map +1 -1
  58. package/dist/bridge/src/models.d.ts +118 -19
  59. package/dist/bridge/src/models.d.ts.map +1 -1
  60. package/dist/bridge/src/provider-catalog.d.ts +188 -0
  61. package/dist/bridge/src/provider-catalog.d.ts.map +1 -0
  62. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts +117 -0
  63. package/dist/bridge/src/provider-materialize/continue-config-yaml.d.ts.map +1 -0
  64. package/dist/bridge/src/provider-materialize/credential-env.d.ts +103 -0
  65. package/dist/bridge/src/provider-materialize/credential-env.d.ts.map +1 -0
  66. package/dist/bridge/src/provider-materialize/env-drivers.d.ts +209 -0
  67. package/dist/bridge/src/provider-materialize/env-drivers.d.ts.map +1 -0
  68. package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts +127 -0
  69. package/dist/bridge/src/provider-materialize/goose-custom-providers.d.ts.map +1 -0
  70. package/dist/bridge/src/provider-materialize/opencode-config.d.ts +127 -0
  71. package/dist/bridge/src/provider-materialize/opencode-config.d.ts.map +1 -0
  72. package/dist/bridge/src/provider-materialize/session-config-home.d.ts +63 -0
  73. package/dist/bridge/src/provider-materialize/session-config-home.d.ts.map +1 -0
  74. package/dist/bridge/src/provider-registry-derive.d.ts +59 -0
  75. package/dist/bridge/src/provider-registry-derive.d.ts.map +1 -0
  76. package/dist/bridge/src/registry.d.ts +19 -7
  77. package/dist/bridge/src/registry.d.ts.map +1 -1
  78. package/dist/bridge/src/runtime.d.ts.map +1 -1
  79. package/dist/bridge/src/types.d.ts +79 -60
  80. package/dist/bridge/src/types.d.ts.map +1 -1
  81. package/dist/bridge/src/validation.d.ts +2 -3
  82. package/dist/bridge/src/validation.d.ts.map +1 -1
  83. package/dist/{chunk-GURXUF2J.js → chunk-3ZTQY276.js} +95 -80
  84. package/dist/chunk-3ZTQY276.js.map +1 -0
  85. package/dist/{chunk-T3YLZQS4.js → chunk-45LLHKQ2.js} +24 -3
  86. package/dist/chunk-45LLHKQ2.js.map +1 -0
  87. package/dist/{chunk-WJVBJAM5.js → chunk-5IIHO2HI.js} +7 -7
  88. package/dist/{chunk-WJVBJAM5.js.map → chunk-5IIHO2HI.js.map} +1 -1
  89. package/dist/{chunk-HSRHO7SK.js → chunk-C3QLJTMB.js} +106 -150
  90. package/dist/chunk-C3QLJTMB.js.map +1 -0
  91. package/dist/chunk-CUU3AMGE.js +500 -0
  92. package/dist/chunk-CUU3AMGE.js.map +1 -0
  93. package/dist/{chunk-K6VZQNTR.js → chunk-DKCFWSVW.js} +3 -3
  94. package/dist/{chunk-K6VZQNTR.js.map → chunk-DKCFWSVW.js.map} +1 -1
  95. package/dist/{chunk-WWGU3REE.js → chunk-DNGAA24M.js} +7 -7
  96. package/dist/{chunk-WWGU3REE.js.map → chunk-DNGAA24M.js.map} +1 -1
  97. package/dist/{chunk-TCHEW3T2.js → chunk-EBHY23RZ.js} +6 -6
  98. package/dist/{chunk-TCHEW3T2.js.map → chunk-EBHY23RZ.js.map} +1 -1
  99. package/dist/{chunk-MQASB52N.js → chunk-FEFTOV2Y.js} +3 -3
  100. package/dist/{chunk-MQASB52N.js.map → chunk-FEFTOV2Y.js.map} +1 -1
  101. package/dist/{chunk-XMULHVKX.js → chunk-FODAC4RE.js} +17 -15
  102. package/dist/chunk-FODAC4RE.js.map +1 -0
  103. package/dist/{chunk-6H6HLMWG.js → chunk-G2F3ZCPK.js} +3 -3
  104. package/dist/{chunk-6H6HLMWG.js.map → chunk-G2F3ZCPK.js.map} +1 -1
  105. package/dist/{chunk-QSPCI4W2.js → chunk-HO2FQ76C.js} +175 -178
  106. package/dist/chunk-HO2FQ76C.js.map +1 -0
  107. package/dist/chunk-ILG4BXYE.js +936 -0
  108. package/dist/chunk-ILG4BXYE.js.map +1 -0
  109. package/dist/{chunk-E7HKNQTH.js → chunk-JXCUUZA3.js} +3 -4
  110. package/dist/chunk-JXCUUZA3.js.map +1 -0
  111. package/dist/{chunk-MBARHWMZ.js → chunk-K27T47OO.js} +79 -53
  112. package/dist/chunk-K27T47OO.js.map +1 -0
  113. package/dist/chunk-K3YR33F6.js +187 -0
  114. package/dist/chunk-K3YR33F6.js.map +1 -0
  115. package/dist/{chunk-A3HTL7XV.js → chunk-KIQGTAJ5.js} +3 -3
  116. package/dist/{chunk-A3HTL7XV.js.map → chunk-KIQGTAJ5.js.map} +1 -1
  117. package/dist/chunk-KSIRR5PL.js +142 -0
  118. package/dist/chunk-KSIRR5PL.js.map +1 -0
  119. package/dist/{chunk-SIREWRZE.js → chunk-KW7YIRYL.js} +3 -3
  120. package/dist/{chunk-SIREWRZE.js.map → chunk-KW7YIRYL.js.map} +1 -1
  121. package/dist/{chunk-3U3ZKYR7.js → chunk-LN2BQVRB.js} +139 -29
  122. package/dist/chunk-LN2BQVRB.js.map +1 -0
  123. package/dist/{chunk-DZ4UZOFB.js → chunk-M5H4DWIA.js} +3 -3
  124. package/dist/{chunk-DZ4UZOFB.js.map → chunk-M5H4DWIA.js.map} +1 -1
  125. package/dist/{chunk-JMYOJ3PA.js → chunk-MIP4IC3O.js} +3 -3
  126. package/dist/{chunk-JMYOJ3PA.js.map → chunk-MIP4IC3O.js.map} +1 -1
  127. package/dist/{chunk-ZEXYTJ6Y.js → chunk-MJY2BO6N.js} +6 -6
  128. package/dist/{chunk-ZEXYTJ6Y.js.map → chunk-MJY2BO6N.js.map} +1 -1
  129. package/dist/{chunk-AN6NAFRT.js → chunk-N7B3LZ7V.js} +31 -6
  130. package/dist/chunk-N7B3LZ7V.js.map +1 -0
  131. package/dist/{chunk-MX6TGDZ7.js → chunk-NBPL76HH.js} +5 -5
  132. package/dist/{chunk-MX6TGDZ7.js.map → chunk-NBPL76HH.js.map} +1 -1
  133. package/dist/{chunk-2BK4N3FS.js → chunk-NR6BPOW5.js} +2 -7
  134. package/dist/chunk-NR6BPOW5.js.map +1 -0
  135. package/dist/{chunk-J3IXRPZB.js → chunk-PCJF3XBH.js} +10 -10
  136. package/dist/{chunk-J3IXRPZB.js.map → chunk-PCJF3XBH.js.map} +1 -1
  137. package/dist/{chunk-NW65H5EV.js → chunk-PTETBRRC.js} +3 -3
  138. package/dist/{chunk-NW65H5EV.js.map → chunk-PTETBRRC.js.map} +1 -1
  139. package/dist/{chunk-UL4LD7KD.js → chunk-QQL3ET3J.js} +3 -3
  140. package/dist/{chunk-UL4LD7KD.js.map → chunk-QQL3ET3J.js.map} +1 -1
  141. package/dist/{chunk-IB4XKQMQ.js → chunk-REILIKVM.js} +3 -3
  142. package/dist/{chunk-IB4XKQMQ.js.map → chunk-REILIKVM.js.map} +1 -1
  143. package/dist/{chunk-EB72L5ZL.js → chunk-RM4C5AU3.js} +15 -20
  144. package/dist/chunk-RM4C5AU3.js.map +1 -0
  145. package/dist/chunk-SG4D2UOK.js +843 -0
  146. package/dist/chunk-SG4D2UOK.js.map +1 -0
  147. package/dist/{chunk-VN7DELUT.js → chunk-T7RHDVSY.js} +4 -4
  148. package/dist/{chunk-VN7DELUT.js.map → chunk-T7RHDVSY.js.map} +1 -1
  149. package/dist/{chunk-773WLEXL.js → chunk-UKWEJPZZ.js} +3 -3
  150. package/dist/{chunk-773WLEXL.js.map → chunk-UKWEJPZZ.js.map} +1 -1
  151. package/dist/{chunk-3NCGSSCU.js → chunk-WLFRA5RM.js} +47 -45
  152. package/dist/chunk-WLFRA5RM.js.map +1 -0
  153. package/dist/{chunk-FFE7YLYO.js → chunk-XEVWRSLS.js} +7 -7
  154. package/dist/chunk-XEVWRSLS.js.map +1 -0
  155. package/dist/{chunk-FACPWN6P.js → chunk-Y6E62LFB.js} +9 -12
  156. package/dist/chunk-Y6E62LFB.js.map +1 -0
  157. package/dist/{chunk-72DG6GSB.js → chunk-YS4XBN7O.js} +4 -4
  158. package/dist/{chunk-72DG6GSB.js.map → chunk-YS4XBN7O.js.map} +1 -1
  159. package/dist/chunk-YSJKLJD4.js +32 -0
  160. package/dist/chunk-YSJKLJD4.js.map +1 -0
  161. package/dist/cli/index.js +765 -334
  162. package/dist/cli/index.js.map +1 -1
  163. package/dist/cli/src/commands/config.d.ts +17 -6
  164. package/dist/cli/src/commands/config.d.ts.map +1 -1
  165. package/dist/cli/src/commands/migrate-legacy-entry.d.ts +46 -0
  166. package/dist/cli/src/commands/migrate-legacy-entry.d.ts.map +1 -0
  167. package/dist/cli/src/commands/migrate-providers.d.ts +93 -0
  168. package/dist/cli/src/commands/migrate-providers.d.ts.map +1 -0
  169. package/dist/cli/src/commands/providers.d.ts +89 -0
  170. package/dist/cli/src/commands/providers.d.ts.map +1 -0
  171. package/dist/cli/src/commands/run.d.ts +1 -1
  172. package/dist/cli/src/commands/run.d.ts.map +1 -1
  173. package/dist/cli/src/setup.d.ts +46 -6
  174. package/dist/cli/src/setup.d.ts.map +1 -1
  175. package/dist/connectors/config.js +6 -4
  176. package/dist/connectors/index.js +15 -12
  177. package/dist/core/index.js +5 -3
  178. package/dist/core/provider-registry-credentials.d.ts +2 -0
  179. package/dist/core/provider-registry-credentials.js +5 -0
  180. package/dist/core/provider-registry-credentials.js.map +1 -0
  181. package/dist/core/provider-registry.d.ts +2 -0
  182. package/dist/core/provider-registry.js +4 -0
  183. package/dist/core/provider-registry.js.map +1 -0
  184. package/dist/core/runtime-assets.js +2 -2
  185. package/dist/core/src/index.d.ts +10 -4
  186. package/dist/core/src/index.d.ts.map +1 -1
  187. package/dist/core/src/provider-registry-credentials.d.ts +50 -0
  188. package/dist/core/src/provider-registry-credentials.d.ts.map +1 -0
  189. package/dist/core/src/provider-registry-files.d.ts +97 -0
  190. package/dist/core/src/provider-registry-files.d.ts.map +1 -0
  191. package/dist/core/src/provider-registry.d.ts +450 -0
  192. package/dist/core/src/provider-registry.d.ts.map +1 -0
  193. package/dist/core/src/settings.d.ts +18 -78
  194. package/dist/core/src/settings.d.ts.map +1 -1
  195. package/dist/core/src/workspace-config.d.ts +31 -47
  196. package/dist/core/src/workspace-config.d.ts.map +1 -1
  197. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  198. package/dist/core/workspace-config.js +1 -1
  199. package/dist/deploy/index.js +5 -3
  200. package/dist/deploy/index.js.map +1 -1
  201. package/dist/discovery/index.js +2 -2
  202. package/dist/{ensure-sources-GEJGBQIP.js → ensure-sources-QZAQ4SY2.js} +14 -12
  203. package/dist/ensure-sources-QZAQ4SY2.js.map +1 -0
  204. package/dist/factory-assets/connectors/box.js +15 -12
  205. package/dist/factory-assets/connectors/deploy.js +15 -12
  206. package/dist/factory-assets/connectors/devserver.js +15 -12
  207. package/dist/factory-assets/connectors/flow/adapter.js +15 -12
  208. package/dist/factory-assets/connectors/flow/engine.js +6 -4
  209. package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
  210. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
  211. package/dist/factory-assets/connectors/flow/run-flow.d.ts +0 -3
  212. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  213. package/dist/factory-assets/connectors/flow/run-flow.js +16 -13
  214. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts +31 -28
  215. package/dist/factory-assets/connectors/flow/subprompt-runner.d.ts.map +1 -1
  216. package/dist/factory-assets/connectors/flow.js +15 -12
  217. package/dist/factory-assets/connectors/git.js +15 -12
  218. package/dist/factory-assets/connectors/gmail.js +15 -12
  219. package/dist/factory-assets/connectors/googledrive.js +15 -12
  220. package/dist/factory-assets/connectors/local.js +15 -12
  221. package/dist/factory-assets/connectors/mattermost.js +15 -12
  222. package/dist/factory-assets/connectors/memory.js +15 -12
  223. package/dist/factory-assets/connectors/minio.js +15 -12
  224. package/dist/factory-assets/connectors/postgres.js +15 -12
  225. package/dist/factory-assets/connectors/s3.js +15 -12
  226. package/dist/factory-assets/connectors/sharepoint.js +15 -12
  227. package/dist/factory-assets/connectors/sqlite.js +15 -12
  228. package/dist/factory-assets/connectors/static-server.js +15 -12
  229. package/dist/factory-assets/connectors/tunnel.js +15 -12
  230. package/dist/factory-assets/connectors/webdav.js +15 -12
  231. package/dist/factory-assets/connectors/xstate-store.js +15 -12
  232. package/dist/factory-assets/connectors/xstate.js +15 -12
  233. package/dist/{flows-MI2VM5JZ.js → flows-4EIENFNT.js} +9 -7
  234. package/dist/{flows-MI2VM5JZ.js.map → flows-4EIENFNT.js.map} +1 -1
  235. package/dist/{helpers-DXZOHX25.js → helpers-DISRVGRJ.js} +14 -12
  236. package/dist/{helpers-DXZOHX25.js.map → helpers-DISRVGRJ.js.map} +1 -1
  237. package/dist/library/index.js +8 -6
  238. package/dist/library/install.js +5 -3
  239. package/dist/{library-publish-CUPDG5NI.js → library-publish-I2QYQSB4.js} +18 -16
  240. package/dist/library-publish-I2QYQSB4.js.map +1 -0
  241. package/dist/{open-library-32XAI2LH.js → open-library-6LM4W4DR.js} +16 -14
  242. package/dist/{open-library-32XAI2LH.js.map → open-library-6LM4W4DR.js.map} +1 -1
  243. package/dist/paths-P26QGQP5.js +18 -0
  244. package/dist/{paths-CZEH643M.js.map → paths-P26QGQP5.js.map} +1 -1
  245. package/dist/plugin-registry/src/targets.d.ts +16 -2
  246. package/dist/plugin-registry/src/targets.d.ts.map +1 -1
  247. package/dist/{plugin-store-QJNBPIQK.js → plugin-store-T2DJGKBW.js} +7 -5
  248. package/dist/plugin-store-T2DJGKBW.js.map +1 -0
  249. package/dist/{project-RRHUCVXW.js → project-HP3IR7RW.js} +15 -13
  250. package/dist/{project-RRHUCVXW.js.map → project-HP3IR7RW.js.map} +1 -1
  251. package/dist/resolver/index.js +5 -3
  252. package/dist/runner/index.js +25 -22
  253. package/dist/runner/src/agent.d.ts +0 -2
  254. package/dist/runner/src/agent.d.ts.map +1 -1
  255. package/dist/runner/src/codex-init.d.ts.map +1 -1
  256. package/dist/runner/src/codex-resource-tools.d.ts.map +1 -1
  257. package/dist/runner/src/managed-codex-bootstrap.d.ts.map +1 -1
  258. package/dist/runner/src/resources.d.ts +1 -2
  259. package/dist/runner/src/resources.d.ts.map +1 -1
  260. package/dist/runner/src/serve.d.ts.map +1 -1
  261. package/dist/runner/src/session-builder.d.ts +31 -35
  262. package/dist/runner/src/session-builder.d.ts.map +1 -1
  263. package/dist/runner/src/session.d.ts +0 -2
  264. package/dist/runner/src/session.d.ts.map +1 -1
  265. package/dist/sdk/asset-manager.js +11 -9
  266. package/dist/sdk/bridge.js +12 -9
  267. package/dist/sdk/core.js +5 -3
  268. package/dist/sdk/flow.js +6 -4
  269. package/dist/sdk/index.js +25 -22
  270. package/dist/sdk/index.js.map +1 -1
  271. package/dist/sdk/resolver.js +5 -3
  272. package/dist/sdk/runner.js +25 -22
  273. package/dist/sdk/session.js +2 -2
  274. package/dist/sdk/types.js +1 -1
  275. package/dist/session/index.js +2 -2
  276. package/dist/setup-HLRSU3MR.js +435 -0
  277. package/dist/setup-HLRSU3MR.js.map +1 -0
  278. package/dist/{skills-IE3IWWB7.js → skills-QPYHHZ54.js} +7 -5
  279. package/dist/{skills-IE3IWWB7.js.map → skills-QPYHHZ54.js.map} +1 -1
  280. package/dist/{source-RHQLCTWA.js → source-G2VCWPDU.js} +17 -15
  281. package/dist/{source-RHQLCTWA.js.map → source-G2VCWPDU.js.map} +1 -1
  282. package/dist/{source-manifest-publish-DXMCSKU7.js → source-manifest-publish-WYKCKJFC.js} +19 -17
  283. package/dist/source-manifest-publish-WYKCKJFC.js.map +1 -0
  284. package/dist/tui/index.js +25 -23
  285. package/dist/tui/index.js.map +1 -1
  286. package/dist/tui/src/repl.d.ts +0 -2
  287. package/dist/tui/src/repl.d.ts.map +1 -1
  288. package/dist/types/index.js +1 -1
  289. package/dist/types/manifests.js +1 -1
  290. package/dist/types/src/index.d.ts +1 -1
  291. package/dist/types/src/index.d.ts.map +1 -1
  292. package/dist/types/src/lifecycle.d.ts +35 -10
  293. package/dist/types/src/lifecycle.d.ts.map +1 -1
  294. package/dist/types/src/manifests/agent.d.ts +116 -22
  295. package/dist/types/src/manifests/agent.d.ts.map +1 -1
  296. package/dist/types/src/manifests/index.d.ts +2 -2
  297. package/dist/types/src/manifests/index.d.ts.map +1 -1
  298. package/dist/types/src/manifests/preset.d.ts +5 -5
  299. package/dist/types/src/runtime.d.ts +51 -5
  300. package/dist/types/src/runtime.d.ts.map +1 -1
  301. package/dist/types/src/version.d.ts +18 -2
  302. package/dist/types/src/version.d.ts.map +1 -1
  303. package/dist/validator-P5ESKTW5.js +5 -0
  304. package/dist/{validator-RN64BKFW.js.map → validator-P5ESKTW5.js.map} +1 -1
  305. package/dist/workspace-plugin/adapters/mcp.js +11 -9
  306. package/dist/workspace-plugin/adapters/omp.js +11 -11
  307. package/dist/workspace-plugin/adapters/omp.js.map +1 -1
  308. package/dist/workspace-plugin/index.js +1 -1
  309. package/dist/workspace-plugin/src/plugin.d.ts +1 -4
  310. package/dist/workspace-plugin/src/plugin.d.ts.map +1 -1
  311. package/dist/workspace-plugin/src/tools/validator.d.ts +4 -4
  312. package/dist/workspace-plugin/src/tools/validator.d.ts.map +1 -1
  313. package/package.json +13 -1
  314. package/dist/asset-feeds-QF7LGRUX.js.map +0 -1
  315. package/dist/bridge/src/provider-endpoints.d.ts +0 -55
  316. package/dist/bridge/src/provider-endpoints.d.ts.map +0 -1
  317. package/dist/chunk-2BK4N3FS.js.map +0 -1
  318. package/dist/chunk-3NCGSSCU.js.map +0 -1
  319. package/dist/chunk-3U3ZKYR7.js.map +0 -1
  320. package/dist/chunk-AN6NAFRT.js.map +0 -1
  321. package/dist/chunk-AQW4BWNR.js +0 -324
  322. package/dist/chunk-AQW4BWNR.js.map +0 -1
  323. package/dist/chunk-E7HKNQTH.js.map +0 -1
  324. package/dist/chunk-EB72L5ZL.js.map +0 -1
  325. package/dist/chunk-FACPWN6P.js.map +0 -1
  326. package/dist/chunk-FFE7YLYO.js.map +0 -1
  327. package/dist/chunk-FYIHH56K.js +0 -110
  328. package/dist/chunk-FYIHH56K.js.map +0 -1
  329. package/dist/chunk-GURXUF2J.js.map +0 -1
  330. package/dist/chunk-HSRHO7SK.js.map +0 -1
  331. package/dist/chunk-MBARHWMZ.js.map +0 -1
  332. package/dist/chunk-QSPCI4W2.js.map +0 -1
  333. package/dist/chunk-T3YLZQS4.js.map +0 -1
  334. package/dist/chunk-XMULHVKX.js.map +0 -1
  335. package/dist/ensure-sources-GEJGBQIP.js.map +0 -1
  336. package/dist/library-publish-CUPDG5NI.js.map +0 -1
  337. package/dist/paths-CZEH643M.js +0 -16
  338. package/dist/plugin-store-QJNBPIQK.js.map +0 -1
  339. package/dist/runner/src/cloud-bundle.d.ts +0 -36
  340. package/dist/runner/src/cloud-bundle.d.ts.map +0 -1
  341. package/dist/setup-CIRH5BYB.js +0 -517
  342. package/dist/setup-CIRH5BYB.js.map +0 -1
  343. package/dist/source-manifest-publish-DXMCSKU7.js.map +0 -1
  344. package/dist/validator-RN64BKFW.js +0 -5
@@ -20,6 +20,7 @@
20
20
  */
21
21
  import type { AgentDriver, BridgeCapabilityHooks, CodexManagedRuntimeOptions, CodexDriverOptions } from "@skaile/workspaces/bridge";
22
22
  import type { AgentManifest, RuntimeAssetsResult, SkWorkspaceConfig } from "@skaile/workspaces/core";
23
+ import type { AIProviderRegistry, MergedAIProviderRegistry } from "@skaile/workspaces/core/provider-registry";
23
24
  import type { TelemetryProvider, Trace } from "@skaile/workspaces/telemetry";
24
25
  import { type SystemPromptSection } from "@skaile/workspaces/types";
25
26
  import type { CapabilityRegistry } from "./capability-registry.js";
@@ -61,39 +62,27 @@ export interface AgentSessionConfig {
61
62
  agentDir?: string;
62
63
  driver?: string;
63
64
  model?: string;
64
- provider?: string;
65
65
  /**
66
- * AI cloud transport for claude-sdk (`default|bedrock|vertex|azure|gateway`).
67
- * Explicit value wins over the settings cascade (skaile.yaml
68
- * `agent-config.default.cloud`); absent everywhere = `default`.
69
- *
70
- * @since 1.3.0
66
+ * AI provider registry supplied by a higher layer — the platform's
67
+ * `session_init` resolved config, or an explicit programmatic override.
68
+ * Merged over the workspace's own `.skaile/providers.yml` + `~/.skaile/
69
+ * providers.yml` as the `session` layer.
71
70
  */
72
- cloud?: string;
71
+ registry?: AIProviderRegistry;
73
72
  /**
74
- * Non-secret cloud transport settings (camelCase). Explicit value wins over
75
- * the settings cascade. Must stay field-identical with the bridge's
76
- * `CloudConfig` / core's `CloudTransportConfig` (kept inline to avoid
77
- * widening the runner↔bridge type surface).
78
- *
79
- * @since 1.3.0
73
+ * Model selector resolved against the merged registry:
74
+ * `"<providerId>/<modelId>"`, a bare `"<modelId>"`, or `"@role"`. Falls back
75
+ * to `model` when omitted.
80
76
  */
81
- cloudConfig?: {
82
- region?: string;
83
- projectId?: string;
84
- resource?: string;
85
- baseUrl?: string;
86
- };
77
+ modelRef?: string;
87
78
  /**
88
- * Resolved credential env bundle for the cloud. serve.ts injects the
89
- * platform-resolved bundle (from `session_init` secrets, with the Vertex SA
90
- * JSON already materialized to a file path); CLI/standalone paths leave it
91
- * unset and the driver falls back to ambient `process.env` credentials.
92
- * Values are secrets: never logged.
93
- *
94
- * @since 1.3.0
79
+ * Credentials the session boundary already resolved, keyed by the env-var
80
+ * name the child reads them under — `SKAILE_AIP_<ID>_KEY` for a registry
81
+ * entry whose `credential.ref` is a `platform:` reference the runner
82
+ * resolved out of the `session_init` secrets map. Values are secrets:
83
+ * never logged, never written to a file.
95
84
  */
96
- cloudSecrets?: Record<string, string>;
85
+ credentialEnv?: Record<string, string>;
97
86
  promptsDir?: string;
98
87
  projectClaudeMd?: string;
99
88
  sessionId?: string;
@@ -129,13 +118,6 @@ export interface AgentSessionConfig {
129
118
  deferFilesystemMounts?: boolean;
130
119
  /** Secret provider for connector credential resolution. */
131
120
  secretProvider?: unknown;
132
- /**
133
- * Pre-resolved API key for the active provider. When supplied, it takes
134
- * precedence over the env-var lookup performed inside `resolveApiKey()`.
135
- * Used by `serve.ts` to feed the value from `provision_secrets` straight
136
- * into `AgentConfig.apiKeys` without writing it to `process.env`.
137
- */
138
- apiKey?: string;
139
121
  /**
140
122
  * Optional callback used by `auth: backend` git connectors to request
141
123
  * short-lived access tokens from the platform's credential mediator.
@@ -289,8 +271,22 @@ export interface AgentSession {
289
271
  manifest: AgentManifest | undefined;
290
272
  /** Active driver type string ('omp' | 'claude-sdk'). */
291
273
  driverType: string;
292
- provider: string | undefined;
293
274
  model: string | undefined;
275
+ /**
276
+ * The AI provider registry this session resolved — merged `providers.yml`
277
+ * layers plus any control-plane layer.
278
+ *
279
+ * Read by anything that builds a second driver for the same session (the
280
+ * sub-prompt runner) so it addresses the identical endpoints.
281
+ */
282
+ registry: MergedAIProviderRegistry;
283
+ /**
284
+ * Credentials resolved for {@link AgentSession.registry}, keyed by the
285
+ * env-var name the child reads them under. Secrets: never logged.
286
+ */
287
+ credentialEnv: Record<string, string>;
288
+ /** Model selector resolved against {@link AgentSession.registry}. */
289
+ modelRef: string | undefined;
294
290
  /** Disconnect all connectors, unmount all mounts, and stop watchers. */
295
291
  dispose: () => Promise<void>;
296
292
  /** Start filesystem and connector watchers. Call after transport is listening. */
@@ -1 +1 @@
1
- {"version":3,"file":"session-builder.d.ts","sourceRoot":"","sources":["../../../runner/src/session-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-builder.d.ts","sourceRoot":"","sources":["../../../runner/src/session-builder.ts"],"names":[],"mappings":"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"}
@@ -27,8 +27,6 @@ export interface SessionState {
27
27
  agentDir?: string;
28
28
  /** Agent driver backend used for this session (e.g. `"omp"`, `"claude-sdk"`). */
29
29
  driver: string;
30
- /** LLM provider (if set), e.g. `"anthropic"` or `"openrouter"`. */
31
- provider?: string;
32
30
  /** Model name (if set), e.g. `"claude-opus-4-5"`. */
33
31
  model?: string;
34
32
  /** Provider-native session/thread identifier for resume support. */
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../runner/src/session.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACvD;AAuDD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CASlF;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmB9E;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,UAAU,UAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAepF;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,GACvE,YAAY,CAGd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAE9D"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../runner/src/session.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iFAAiF;IACjF,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gCAAgC;IAChC,MAAM,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;CACvD;AAuDD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CASlF;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CACnC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAO9B;AAED;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAmB9E;AAED;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,YAAY,EACnB,UAAU,UAAO,GAChB,OAAO,CAAC,IAAI,CAAC,CAUf;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxF;AAED;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAepF;AAED;;;;;;;;GAQG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC,GACvE,YAAY,CAGd;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAE9D"}
@@ -1,27 +1,29 @@
1
- export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-WWGU3REE.js';
2
- import '../chunk-TCHEW3T2.js';
3
- import '../chunk-DZ4UZOFB.js';
1
+ export { AssetManager, FACTORY_SOURCE_URL, MissingManifestError, NON_DEPLOYABLE_KINDS, normalizeRepoUrl, parseCanonicalLockKey, parseRefTolerant, renderMcpServerConfig, softDepName } from '../chunk-DNGAA24M.js';
2
+ import '../chunk-EBHY23RZ.js';
3
+ import '../chunk-M5H4DWIA.js';
4
4
  import '../chunk-UKJMQZV6.js';
5
5
  import '../chunk-R7FOF242.js';
6
6
  import '../chunk-JXT46QFC.js';
7
- export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-MX6TGDZ7.js';
7
+ export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-NBPL76HH.js';
8
8
  export { BUILT_IN_FRAGMENTS, loadPromptExtensions, resolveFragments } from '../chunk-CGYEHQOX.js';
9
- import '../chunk-HSRHO7SK.js';
9
+ import '../chunk-C3QLJTMB.js';
10
+ import '../chunk-REILIKVM.js';
10
11
  import '../chunk-F3HNW354.js';
11
12
  import '../chunk-K5GBV4SA.js';
12
13
  import '../chunk-QVZA2MDT.js';
13
- import '../chunk-IB4XKQMQ.js';
14
- import '../chunk-MBARHWMZ.js';
14
+ import '../chunk-K27T47OO.js';
15
15
  import '../chunk-MENCWIHW.js';
16
16
  import '../chunk-P4VHQA4N.js';
17
17
  import '../chunk-MKZOK4JU.js';
18
18
  import '../chunk-GEEW6SY2.js';
19
19
  import '../chunk-FTG7CRFD.js';
20
+ import '../chunk-KSIRR5PL.js';
21
+ import '../chunk-ILG4BXYE.js';
20
22
  import '../chunk-W4IPN3DD.js';
21
23
  export { appendHistory, clearHistory, getRecentHistory, loadHistory } from '../chunk-KTBKW2FI.js';
22
24
  import '../chunk-UQ6LFBPZ.js';
23
- export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-K6VZQNTR.js';
24
- import '../chunk-AN6NAFRT.js';
25
+ export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-DKCFWSVW.js';
26
+ import '../chunk-N7B3LZ7V.js';
25
27
  import '../chunk-NSBPE2FW.js';
26
28
  //# sourceMappingURL=asset-manager.js.map
27
29
  //# sourceMappingURL=asset-manager.js.map
@@ -1,24 +1,27 @@
1
- export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, labelToolCall, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-XMULHVKX.js';
2
- export { CLOUD_SECRET_ENV_KEYS, SUPPORTED_CLOUDS, buildClaudeCloudEnv, probeResumeTranscript, resolveClaudeConfigDir } from '../chunk-3NCGSSCU.js';
1
+ export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, labelToolCall, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-FODAC4RE.js';
2
+ export { ANTHROPIC_DEFAULT_BASE_URL, buildClaudeEndpointEnv, claudeEndpointMode, probeResumeTranscript, resolveClaudeConfigDir } from '../chunk-WLFRA5RM.js';
3
3
  export { CODEX_NATIVE_STATE_FORMAT, CodexNativeStateUnavailable } from '../chunk-LOO5CB5M.js';
4
- export { dispatchCapability, filterRenderCapabilities, renderFallback } from '../chunk-UL4LD7KD.js';
5
- export { ModelTierResolutionError, PROVIDER_ENDPOINTS, PROVIDER_MODEL_TIERS, STATIC_MODELS, fetchProviderModels, getModels, getStaticModels, resolveModelTier, resolveProviderModelsUrl } from '../chunk-GURXUF2J.js';
4
+ export { dispatchCapability, filterRenderCapabilities, renderFallback } from '../chunk-QQL3ET3J.js';
5
+ export { ModelTierResolutionError, PROVIDER_MODEL_TIERS, STATIC_MODELS, fetchProviderModels, getModels, getStaticModels, modelIdTargetForEntry, resolveManifestModel, resolveModelCapabilities, resolveModelTier } from '../chunk-3ZTQY276.js';
6
6
  export { AccountUnavailableError, AuthError, classifyClaudeSdkError, reclassifyAuthAsAccountUnavailable } from '../chunk-GAH4YRCI.js';
7
- export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-AQW4BWNR.js';
7
+ export { AI_PROVIDER_PRESETS, AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, PROVIDER_CREDENTIAL_ENV_PREFIX, PROVIDER_CREDENTIAL_ENV_SUFFIX, buildCredentialHeaders, catalogLayer, conventionalCredentialEnvName, createDriver, deriveRegistryFromLegacyApiKeys, entryCredentialEnv, entryCredentialValue, expandPreset, getBridgeLogger, getProviderPreset, listDrivers, listModelsForDriver, listProviderPresets, presetBaseUrl, probeProviderEntry, providerCredentialEnvName, registerBuiltinDrivers, registryCredentialEnv, registryDriverConfig, resolveEntryCredential, resolvePresetBaseUrl, resolveProbeUrl, toMergedRegistry } from '../chunk-SG4D2UOK.js';
8
8
  import '../chunk-6E6PKKAD.js';
9
- import '../chunk-72DG6GSB.js';
10
- import '../chunk-HSRHO7SK.js';
9
+ import '../chunk-YS4XBN7O.js';
10
+ import '../chunk-C3QLJTMB.js';
11
+ import '../chunk-REILIKVM.js';
11
12
  import '../chunk-F3HNW354.js';
12
13
  import '../chunk-K5GBV4SA.js';
13
14
  import '../chunk-QVZA2MDT.js';
14
- import '../chunk-IB4XKQMQ.js';
15
- import '../chunk-MBARHWMZ.js';
15
+ import '../chunk-K27T47OO.js';
16
16
  import '../chunk-MENCWIHW.js';
17
17
  import '../chunk-P4VHQA4N.js';
18
18
  import '../chunk-MKZOK4JU.js';
19
19
  import '../chunk-GEEW6SY2.js';
20
20
  import '../chunk-FTG7CRFD.js';
21
+ import '../chunk-KSIRR5PL.js';
22
+ import '../chunk-ILG4BXYE.js';
21
23
  import '../chunk-W4IPN3DD.js';
24
+ import '../chunk-N7B3LZ7V.js';
22
25
  import '../chunk-NSBPE2FW.js';
23
26
  //# sourceMappingURL=bridge.js.map
24
27
  //# sourceMappingURL=bridge.js.map
package/dist/sdk/core.js CHANGED
@@ -1,14 +1,16 @@
1
- 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 } from '../chunk-HSRHO7SK.js';
1
+ export { ManifestYamlEditor, PROVIDERS_FILENAME, SETTINGS_DEFAULTS, WorkspaceYamlEditor, aiResourceRoots, applyPatch, buildLockFile, checkAgentSkillConformance, computeHash, defaultLibraryDir, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadProviderRegistry, loadProviderRegistryFile, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, projectSettingsPath, readLock, readPatch, readPluginsLockSlice, resolveLibraryDir, resolveSettings, savePatch, saveProviderRegistryFile, saveSettings, skaileHomeDir, userProviderRegistryPath, verifyLock, walkForSettings, workspaceProviderRegistryPath, writeLock, writePluginsLockSlice } from '../chunk-C3QLJTMB.js';
2
+ export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-REILIKVM.js';
2
3
  export { deployedBase, deployedDir, isDeployed } from '../chunk-F3HNW354.js';
3
4
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
4
5
  export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-QVZA2MDT.js';
5
- export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-IB4XKQMQ.js';
6
- export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, cloudConfigFromProfile, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, globalSkaileDir, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, pullRepoResult, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, storeManifestSlug, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-MBARHWMZ.js';
6
+ export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, globalSkaileDir, isWorkspaceConfigFilename, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, pullRepoResult, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, storeManifestSlug, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-K27T47OO.js';
7
7
  export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS, globalBackendRoot } from '../chunk-MENCWIHW.js';
8
8
  export { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, encodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-P4VHQA4N.js';
9
9
  export { DEFAULT_FS_DEADLINE_MS, DEFAULT_WALK_BUDGET_MS, DEFAULT_WALK_MAX_DEPTH, DEFAULT_WALK_MAX_ENTRIES, FS_DEADLINE_ENV_VAR, FsDeadlineError, WALK_BUDGET_MS_ENV_VAR, WALK_MAX_DEPTH_ENV_VAR, WALK_MAX_ENTRIES_ENV_VAR, bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, fsDeadlineMs, parseFrontmatter, parseRequires, scanDirectory, tryWithFsDeadline, walkDir, withFsDeadline } from '../chunk-MKZOK4JU.js';
10
10
  export { ASSET_KINDS, ASSET_NAME_HINT, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, isValidAssetName, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw, slugifyAssetName } from '../chunk-GEEW6SY2.js';
11
11
  export { OnLogBridgeSink, SqliteSink, WsLogSink, createLogStoreFromConfig, openSqlite, resolveLogStoreConfig } from '../chunk-FTG7CRFD.js';
12
+ export { __resetCredentialCommandCache, portableSpawn, portableSpawnSync, resolveCredential } from '../chunk-KSIRR5PL.js';
13
+ export { AI_PROVIDER_BASE_URL_TEMPLATES, AI_PROVIDER_CREDENTIAL_KINDS, AI_PROVIDER_DISCOVERY_TYPES, AI_PROVIDER_KINDS, AI_PROVIDER_LAYERS, AI_PROVIDER_SURFACES, AI_PROVIDER_TRANSPORTS, AI_PROVIDER_VOICE_KINDS, entryTransport, formatCredentialRef, isEntryEnabled, isSafeProviderId, looksLikeLiteralSecret, mergeRegistries, parseCredentialRef, parseModelRef, registryEntries, resolveEntryBaseUrl, validateMergedRegistry, validateRegistry } from '../chunk-ILG4BXYE.js';
12
14
  export { LogStore, LogStoreDisabledError, NoOpSink, StdoutSink, __resetBrokenStreams, createLogger, getLogStore, isBrokenPipeError, isStreamOpen, isStreamUsable, isUnwritableStreamError, markStreamBroken, normalizeError, registerLogStore, resetLogStore, sanitizeData } from '../chunk-W4IPN3DD.js';
13
15
  import '../chunk-NSBPE2FW.js';
14
16
  //# sourceMappingURL=core.js.map
package/dist/sdk/flow.js CHANGED
@@ -1,17 +1,19 @@
1
- export { FLOW_FILE_EXTENSIONS, FlowManifestSchema, appendAttempt, buildFlowExpressionContext, computeFlowState, computeFlowStateFromSnapshots, computeSkippable, countFailedAttempts, deriveCheckEvidence, findFlowFileInRoots, flowFileCandidates, flowKindProvider, flowLookupRoots, getConsumedOutputSchema, hasAutomaticRetryBudget, interpolateNodeInstruction, isActiveExecutionExpired, isBlocking, loadAllFlowEntries, loadAllFlows, loadFlow, loadFlowEntriesFromDir, loadFlowsFromDir, nextAttemptNumber, producerOutputObtainedBy, projectAiAssetsRoots, remainingActiveExecutionMs, resolveAvailableRouter, resolveNextNodes, resolveNodeBindings, resolveTerminalFailureStatus, validateConsumedNodeOutput, validateFlow } from '../chunk-JMYOJ3PA.js';
1
+ export { FLOW_FILE_EXTENSIONS, FlowManifestSchema, appendAttempt, buildFlowExpressionContext, computeFlowState, computeFlowStateFromSnapshots, computeSkippable, countFailedAttempts, deriveCheckEvidence, findFlowFileInRoots, flowFileCandidates, flowKindProvider, flowLookupRoots, getConsumedOutputSchema, hasAutomaticRetryBudget, interpolateNodeInstruction, isActiveExecutionExpired, isBlocking, loadAllFlowEntries, loadAllFlows, loadFlow, loadFlowEntriesFromDir, loadFlowsFromDir, nextAttemptNumber, producerOutputObtainedBy, projectAiAssetsRoots, remainingActiveExecutionMs, resolveAvailableRouter, resolveNextNodes, resolveNodeBindings, resolveTerminalFailureStatus, validateConsumedNodeOutput, validateFlow } from '../chunk-MIP4IC3O.js';
2
2
  import '../chunk-53ORCYPJ.js';
3
3
  export { deterministicNodeKindLabel, flowDefaults, flowSkillVersionPins, isActiveRuntimeNode, isAgentNode, isCheckNode, isExecutableNode, isFunctionNode, isGateNode, isRouterNode, isSubFlowNode, isSubpromptNode, nodeAssets, nodeBindings, nodeInstruction, nodeIsInert, nodeIsOptional, nodeLabel, nodeRequiresApproval, nodeRunKind, nodeSkillAsset, nodeSkillId, nodeSkillVersionPins } from '../chunk-ELPR5XBG.js';
4
- import '../chunk-HSRHO7SK.js';
4
+ import '../chunk-C3QLJTMB.js';
5
+ import '../chunk-REILIKVM.js';
5
6
  import '../chunk-F3HNW354.js';
6
7
  import '../chunk-K5GBV4SA.js';
7
8
  import '../chunk-QVZA2MDT.js';
8
- import '../chunk-IB4XKQMQ.js';
9
- import '../chunk-MBARHWMZ.js';
9
+ import '../chunk-K27T47OO.js';
10
10
  import '../chunk-MENCWIHW.js';
11
11
  import '../chunk-P4VHQA4N.js';
12
12
  import '../chunk-MKZOK4JU.js';
13
13
  import '../chunk-GEEW6SY2.js';
14
14
  import '../chunk-FTG7CRFD.js';
15
+ import '../chunk-KSIRR5PL.js';
16
+ import '../chunk-ILG4BXYE.js';
15
17
  import '../chunk-W4IPN3DD.js';
16
18
  import '../chunk-NSBPE2FW.js';
17
19
  //# sourceMappingURL=flow.js.map
package/dist/sdk/index.js CHANGED
@@ -1,55 +1,58 @@
1
1
  import { AgentClient } from '../chunk-OJ4N4T4H.js';
2
- import { startAgentServer } from '../chunk-QSPCI4W2.js';
3
- import '../chunk-FFE7YLYO.js';
4
- import '../chunk-E7HKNQTH.js';
5
- import '../chunk-FUCYTGAE.js';
6
- import '../chunk-773WLEXL.js';
7
- import '../chunk-R6O6YWU7.js';
2
+ import { startAgentServer } from '../chunk-HO2FQ76C.js';
3
+ import '../chunk-NR6BPOW5.js';
4
+ import '../chunk-XEVWRSLS.js';
5
+ import '../chunk-UKWEJPZZ.js';
8
6
  import '../chunk-FAI2SMFE.js';
9
7
  import '../chunk-7IRJ4K4F.js';
10
- import '../chunk-2BK4N3FS.js';
8
+ import '../chunk-JXCUUZA3.js';
9
+ import '../chunk-FUCYTGAE.js';
10
+ import '../chunk-R6O6YWU7.js';
11
11
  import '../chunk-X5YPJV4N.js';
12
- import '../chunk-W3UDISS2.js';
13
12
  import '../chunk-O7SG5PC2.js';
14
13
  import '../chunk-7QBNJTTQ.js';
15
14
  import { WebSocketClientTransport } from '../chunk-GTS2FODO.js';
16
15
  import '../chunk-73ZXUUL6.js';
17
16
  import '../chunk-32NA4TVC.js';
18
- import '../chunk-T3YLZQS4.js';
19
- import '../chunk-FACPWN6P.js';
17
+ import '../chunk-W3UDISS2.js';
18
+ import '../chunk-45LLHKQ2.js';
19
+ import '../chunk-Y6E62LFB.js';
20
20
  import '../chunk-4R6DROGN.js';
21
21
  import '../chunk-3XXQPHGL.js';
22
22
  import '../chunk-7BUZQVRR.js';
23
23
  import '../chunk-M6VQU5TS.js';
24
- import '../chunk-EB72L5ZL.js';
25
- import '../chunk-SIREWRZE.js';
26
- import '../chunk-XMULHVKX.js';
27
- import '../chunk-3NCGSSCU.js';
24
+ import '../chunk-RM4C5AU3.js';
25
+ import '../chunk-KW7YIRYL.js';
26
+ import '../chunk-FODAC4RE.js';
27
+ import '../chunk-WLFRA5RM.js';
28
28
  import '../chunk-LOO5CB5M.js';
29
- import '../chunk-UL4LD7KD.js';
30
- import '../chunk-GURXUF2J.js';
29
+ import '../chunk-QQL3ET3J.js';
30
+ import '../chunk-3ZTQY276.js';
31
31
  import '../chunk-GAH4YRCI.js';
32
- import '../chunk-AQW4BWNR.js';
32
+ import '../chunk-SG4D2UOK.js';
33
33
  import '../chunk-6E6PKKAD.js';
34
34
  import '../chunk-IFGTRL2I.js';
35
- import '../chunk-JMYOJ3PA.js';
35
+ import '../chunk-MIP4IC3O.js';
36
36
  import '../chunk-TIOT3ZOQ.js';
37
37
  import '../chunk-53ORCYPJ.js';
38
38
  import '../chunk-2D5BYAL6.js';
39
39
  import '../chunk-ELPR5XBG.js';
40
- import '../chunk-72DG6GSB.js';
41
- import '../chunk-HSRHO7SK.js';
40
+ import '../chunk-YS4XBN7O.js';
41
+ import '../chunk-C3QLJTMB.js';
42
+ import '../chunk-REILIKVM.js';
42
43
  import '../chunk-F3HNW354.js';
43
44
  import '../chunk-K5GBV4SA.js';
44
45
  import '../chunk-QVZA2MDT.js';
45
- import '../chunk-IB4XKQMQ.js';
46
- import '../chunk-MBARHWMZ.js';
46
+ import '../chunk-K27T47OO.js';
47
47
  import '../chunk-MENCWIHW.js';
48
48
  import '../chunk-P4VHQA4N.js';
49
49
  import '../chunk-MKZOK4JU.js';
50
50
  import '../chunk-GEEW6SY2.js';
51
51
  import '../chunk-FTG7CRFD.js';
52
+ import '../chunk-KSIRR5PL.js';
53
+ import '../chunk-ILG4BXYE.js';
52
54
  import '../chunk-W4IPN3DD.js';
55
+ import '../chunk-N7B3LZ7V.js';
53
56
  import '../chunk-NSBPE2FW.js';
54
57
  import { mkdirSync, mkdtempSync, rmSync, existsSync, writeFileSync } from 'fs';
55
58
  import { tmpdir } from 'os';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../sdk/src/agent-session.ts","../../sdk/src/transport.ts","../../sdk/src/local-runtime.ts","../../sdk/src/workspace.ts","../../sdk/src/factory.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * AgentSession — stateful wrapper over any IAgentRuntime-compatible object.\n *\n * Provides:\n * - AgentEvent → OutputLine conversion with streaming text accumulation\n * - State machine: starting → idle ↔ active ↔ waiting → stopped\n * - Circular output buffer (500 lines, see {@link MAX_OUTPUT_LINES})\n * - send() routes to prompt() or reply() based on current state\n * - stop() disposes the runtime and fires optional cleanup\n * - onChange callback for reactive UIs (React forceUpdate, EventEmitter, etc.)\n *\n * Works with LocalRuntime (in-process) and AgentClient (remote/WebSocket).\n * Extend to add identity fields (id, name, profileName…):\n *\n * class MySession extends AgentSession {\n * constructor(readonly id: string, runtime: LocalRuntime | AgentClient) {\n * super(runtime);\n * }\n * }\n *\n * @docLink packages/sdk/concepts#agent-session\n */\n\nimport type { AgentEvent } from \"@skaile/workspaces/types\";\nimport type { OutputLine, SessionState } from \"./types.js\";\n\n/**\n * Maximum number of {@link OutputLine} entries retained in {@link AgentSession.output}.\n *\n * When the buffer exceeds this limit the oldest lines are dropped from the front,\n * keeping memory use bounded for long-running sessions.\n *\n * @docLink packages/sdk/concepts#agent-session\n */\nexport const MAX_OUTPUT_LINES = 500;\n\ninterface MinimalRuntime {\n prompt(message: string): Promise<void>;\n reply(answer: string): Promise<void>;\n abort(): Promise<void>;\n dispose(): Promise<void>;\n onEvent(handler: (e: AgentEvent) => void): void;\n offEvent(handler: (e: AgentEvent) => void): void;\n}\n\nexport class AgentSession {\n state: SessionState = \"starting\";\n readonly output: OutputLine[] = [];\n onChange?: () => void;\n\n /** Pointer to the streaming text line being accumulated in-place. */\n private currentTextLine: (OutputLine & { type: \"text\" }) | null = null;\n /** Registered in constructor so we can offEvent on stop. */\n private readonly eventHandler: (e: AgentEvent) => void;\n /** Optional cleanup hook registered by the factory (temp dir removal, etc.). */\n private cleanupFn?: () => void;\n\n constructor(protected readonly runtime: MinimalRuntime) {\n this.eventHandler = (e) => this.handleEvent(e);\n runtime.onEvent(this.eventHandler);\n }\n\n // ── Commands ──────────────────────────────────────────────────────────────\n\n /** Send a user message. Routes to reply() or prompt() based on state. */\n send(text: string): void {\n if (this.state === \"stopped\" || this.state === \"starting\") return;\n this.appendLine({ type: \"user\", content: text });\n if (this.state === \"waiting\") {\n this.state = \"active\";\n void this.runtime.reply(text);\n } else {\n this.state = \"active\";\n void this.runtime.prompt(text);\n }\n }\n\n /** Stop the session and dispose the runtime. */\n stop(): void {\n if (this.state === \"stopped\") return;\n this.state = \"stopped\";\n this.runtime.offEvent(this.eventHandler);\n void this.runtime.dispose();\n this.appendLine({ type: \"system\", message: \"Session stopped.\" });\n this.notify();\n this.cleanupFn?.();\n }\n\n /** Register a cleanup function called when the session stops. Used by the factory. */\n _registerCleanup(fn: () => void): void {\n this.cleanupFn = fn;\n }\n\n // ── Event → OutputLine ────────────────────────────────────────────────────\n\n protected handleEvent(event: AgentEvent): void {\n switch (event.type) {\n case \"text\":\n this.handleTextEvent(event);\n break;\n case \"tool_call\":\n this.handleToolCallEvent(event);\n break;\n case \"question\":\n this.handleQuestionEvent(event);\n break;\n case \"error\":\n this.handleErrorEvent(event);\n break;\n case \"status\":\n this.handleStatusEvent(event);\n break;\n case \"subagent\":\n this.handleSubagentEvent(event);\n break;\n case \"finished\":\n this.handleFinishedEvent();\n break;\n case \"state_changed\":\n this.handleStateChangedEvent(event);\n break;\n }\n\n this.notify();\n }\n\n private handleTextEvent(event: AgentEvent): void {\n const content = \"content\" in event ? String(event.content) : \"\";\n if (this.currentTextLine) {\n this.currentTextLine.content += content;\n } else {\n const line: OutputLine & { type: \"text\" } = { type: \"text\", content };\n this.output.push(line);\n this.currentTextLine = line;\n this.trimOutput();\n }\n this.state = \"active\";\n }\n\n private handleToolCallEvent(event: AgentEvent): void {\n this.sealText();\n const name =\n \"name\" in event ? String(event.name) : \"tool\" in event ? String(event.tool) : \"tool\";\n this.appendLine({ type: \"tool\", name });\n this.state = \"active\";\n }\n\n private handleQuestionEvent(event: AgentEvent): void {\n this.sealText();\n const e = event as Record<string, unknown>;\n const text =\n \"question\" in e\n ? String(e.question)\n : \"text\" in e\n ? String(e.text)\n : \"The agent has a question.\";\n this.appendLine({ type: \"question\", text });\n this.state = \"waiting\";\n }\n\n private handleErrorEvent(event: AgentEvent): void {\n this.sealText();\n const message = \"message\" in event ? String(event.message) : \"An error occurred.\";\n this.appendLine({ type: \"error\", message });\n this.state = \"idle\";\n }\n\n private handleStatusEvent(event: AgentEvent): void {\n const phase = \"phase\" in event ? String(event.phase) : \"\";\n if (phase === \"thinking\" && this.currentTextLine !== null) return;\n if (phase) this.appendLine({ type: \"status\", phase });\n }\n\n private handleSubagentEvent(event: AgentEvent): void {\n this.sealText();\n const e = event as Record<string, unknown>;\n const name = \"name\" in e ? String(e.name) : \"unknown\";\n const status = \"status\" in e ? (String(e.status) as \"started\" | \"finished\") : \"started\";\n const description = \"description\" in e ? String(e.description) : \"\";\n this.appendLine({ type: \"subagent\", name, status, description });\n if (status === \"started\") {\n this.state = \"active\";\n }\n }\n\n private handleFinishedEvent(): void {\n this.sealText();\n this.appendLine({ type: \"separator\" });\n this.state = \"idle\";\n }\n\n private handleStateChangedEvent(event: AgentEvent): void {\n if (\"state\" in event && (event as Record<string, unknown>).state === \"stopped\") {\n this.sealText();\n this.appendLine({ type: \"system\", message: \"Agent stopped.\" });\n this.state = \"stopped\";\n }\n }\n\n // ── Internals ─────────────────────────────────────────────────────────────\n\n protected appendLine(line: OutputLine): void {\n this.output.push(line);\n this.trimOutput();\n }\n\n protected notify(): void {\n this.onChange?.();\n }\n\n private sealText(): void {\n this.currentTextLine = null;\n }\n\n private trimOutput(): void {\n while (this.output.length > MAX_OUTPUT_LINES) {\n this.output.shift();\n }\n }\n}\n","/**\n * InProcessTransport — ServerTransport that runs entirely in-process.\n *\n * Used internally by {@link LocalRuntime}. Also exported for consumers building\n * custom integrations that need direct transport access without WebSocket overhead.\n *\n * Runner side (startAgentServer):\n * onCommand(handler) — registers the runner's command handler\n * send(event) — delivers AgentEvents to onEvent subscribers\n *\n * Application side:\n * inject(command) — sends a command to the agent (deferred to avoid re-entrancy)\n * onEvent(handler) — subscribes to AgentEvents; returns unsubscribe fn\n *\n * @docLink packages/sdk/concepts#in-process-transport\n */\n\nimport type { AgentCommand, AgentEvent, ServerTransport } from \"@skaile/workspaces/types\";\n\nexport class InProcessTransport implements ServerTransport {\n private readonly commandHandlers = new Set<(cmd: AgentCommand) => void>();\n private readonly eventHandlers = new Set<(event: AgentEvent) => void>();\n // Commands injected before any handler is registered are buffered here and\n // flushed on the first onCommand() — without this they iterate an empty set\n // and are silently lost (e.g. a prompt sent during start()'s wiring window).\n private readonly pendingCommands: AgentCommand[] = [];\n\n // ── ServerTransport ───────────────────────────────────────────────────────\n\n // In-process: no socket to open or tear down — both are no-ops so serve()\n // can drive any transport's lifecycle without an instanceof check.\n async listen(): Promise<void> {}\n\n async close(): Promise<void> {}\n\n send(event: AgentEvent): void {\n for (const h of this.eventHandlers) h(event);\n }\n\n onCommand(handler: (cmd: AgentCommand) => void): () => void {\n const wasEmpty = this.commandHandlers.size === 0;\n this.commandHandlers.add(handler);\n if (wasEmpty && this.pendingCommands.length > 0) {\n const buffered = this.pendingCommands.splice(0);\n for (const cmd of buffered) {\n void Promise.resolve().then(() => handler(cmd));\n }\n }\n return () => this.commandHandlers.delete(handler);\n }\n\n onConnect(_handler: () => void): () => void {\n return () => {};\n }\n\n onDisconnect(_handler: () => void): () => void {\n return () => {};\n }\n\n /** True once a command handler is wired (i.e. the runner has started). */\n get connected(): boolean {\n return this.commandHandlers.size > 0;\n }\n\n // ── Application API ───────────────────────────────────────────────────────\n\n /**\n * Send a command into the agent runner. Deferred to avoid re-entrancy.\n * Commands injected before a handler is registered are buffered and\n * flushed when the runner wires its handler, so none are dropped.\n */\n inject(command: AgentCommand): void {\n if (this.commandHandlers.size === 0) {\n this.pendingCommands.push(command);\n return;\n }\n for (const h of this.commandHandlers) {\n void Promise.resolve().then(() => h(command));\n }\n }\n\n /** Subscribe to AgentEvents. Returns an unsubscribe function. */\n onEvent(handler: (event: AgentEvent) => void): () => void {\n this.eventHandlers.add(handler);\n return () => this.eventHandlers.delete(handler);\n }\n}\n","/**\n * LocalRuntime — IAgentRuntime implementation that runs the agent in the same process.\n *\n * Mirror image of AgentClient: same interface, no WebSocket.\n * Uses InProcessTransport + startAgentServer() internally.\n *\n * Usage:\n * const runtime = new LocalRuntime();\n * runtime.onEvent(e => console.log(e));\n * await runtime.start({ projectDir: \"/path/to/workspace\" });\n * await runtime.prompt(\"Hello\");\n * await runtime.dispose();\n *\n * @docLink packages/sdk/concepts#local-runtime\n */\n\nimport { startAgentServer } from \"@skaile/workspaces/runner\";\nimport type { AgentEvent, IAgentRuntime } from \"@skaile/workspaces/types\";\nimport { InProcessTransport } from \"./transport.js\";\n\n/**\n * Options passed to {@link LocalRuntime.start}.\n *\n * `projectDir` is the only required field — it points to the workspace directory\n * containing `skaile.yaml`. All other fields override the manifest's agent configuration.\n *\n * @docLink packages/sdk/concepts#local-runtime\n */\nexport interface LocalRuntimeStartOptions {\n projectDir: string;\n agentDir?: string;\n driver?: string;\n model?: string;\n provider?: string;\n onLog?: (line: string) => void;\n}\n\nexport class LocalRuntime implements Omit<IAgentRuntime, \"start\" | \"configure\"> {\n private readonly transport = new InProcessTransport();\n private readonly handlers = new Set<(e: AgentEvent) => void>();\n private started = false;\n private resolveReady!: () => void;\n private readonly readyPromise = new Promise<void>((resolve) => {\n this.resolveReady = resolve;\n });\n\n constructor() {\n this.transport.onEvent((e) => {\n for (const h of this.handlers) h(e);\n });\n }\n\n /**\n * Start the agent server. Resolves when the runner is wired and ready\n * to accept commands. Must be called before prompt() / reply().\n */\n async start(opts: LocalRuntimeStartOptions): Promise<void> {\n if (this.started) return;\n this.started = true;\n await startAgentServer({\n projectDir: opts.projectDir,\n agentDir: opts.agentDir,\n driver: opts.driver,\n model: opts.model,\n provider: opts.provider,\n transport: this.transport,\n onLog: opts.onLog,\n });\n this.resolveReady();\n }\n\n /**\n * Resolves once the runner is wired and accepting commands. Await this\n * before issuing commands that expect a reply (e.g. debug queries) so a\n * pre-start command isn't buffered indefinitely. Never rejects.\n */\n whenReady(): Promise<void> {\n return this.readyPromise;\n }\n\n async prompt(message: string): Promise<void> {\n this.transport.inject({ type: \"prompt\", prompt: message });\n }\n\n async reply(answer: string): Promise<void> {\n this.transport.inject({ type: \"reply\", answer });\n }\n\n async abort(): Promise<void> {\n this.transport.inject({ type: \"cancel\" });\n }\n\n async dispose(): Promise<void> {\n this.transport.inject({ type: \"shutdown\" });\n }\n\n onEvent(handler: (e: AgentEvent) => void): void {\n this.handlers.add(handler);\n }\n\n offEvent(handler: (e: AgentEvent) => void): void {\n this.handlers.delete(handler);\n }\n\n get isRunning(): boolean {\n return this.transport.connected;\n }\n}\n","/**\n * Workspace utilities — prepare session directories and write skaile.yaml.\n */\n\nimport { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { stringify } from \"yaml\";\nimport type { CreateAgentSessionOptions } from \"./types.js\";\n\n/**\n * Prepare a workspace directory for a session. Returns the path and cleanup fn.\n *\n * If `opts.workspaceDir` is set, that directory is created (if needed) and returned\n * with no cleanup. Otherwise a unique temporary directory (`skaile-sdk-*` under the\n * OS temp dir) is created via `mkdtempSync`; the cleanup function removes it on\n * session stop unless `keepWorkspace` is true.\n *\n * @param opts - Session creation options providing `workspaceDir` and `keepWorkspace`.\n * @returns An object with the resolved `dir` path and an optional `cleanup` function.\n * @docLink packages/sdk/concepts#workspace-helpers\n */\nexport function prepareWorkspace(opts: CreateAgentSessionOptions): {\n dir: string;\n cleanup: (() => void) | undefined;\n} {\n if (opts.workspaceDir) {\n mkdirSync(opts.workspaceDir, { recursive: true });\n return { dir: opts.workspaceDir, cleanup: undefined };\n }\n\n // mkdtemp yields an unpredictable, collision-free name (vs. a guessable\n // timestamp path) — avoids cross-session clobbering and symlink races in /tmp.\n const dir = mkdtempSync(join(tmpdir(), \"skaile-sdk-\"));\n\n const cleanup = opts.keepWorkspace\n ? undefined\n : () => rmSync(dir, { recursive: true, force: true });\n\n return { dir, cleanup };\n}\n\n/**\n * Write skaile.yaml from inline {@link CreateAgentSessionOptions}.\n *\n * Only writes if `agent`, `mounts`, or `connectors` are provided and no `skaile.yaml`\n * already exists in `dir` (existing config takes precedence). Connector `adapter` fields\n * are mapped to the `driver` field expected by the core runtime.\n *\n * @param dir - Absolute path to the workspace directory.\n * @param opts - Session options containing agent config, mounts, and connectors to serialize.\n * @docLink packages/sdk/concepts#workspace-helpers\n */\nexport function writeSkaileYaml(dir: string, opts: CreateAgentSessionOptions): void {\n if (!opts.agent && !opts.mounts?.length && !opts.connectors?.length) return;\n const dest = join(dir, \"skaile.yaml\");\n if (existsSync(dest)) return; // existing config wins\n\n const cfg: Record<string, unknown> = {\n name: \"sdk-session\",\n };\n\n if (opts.agent) {\n cfg[\"agent-config\"] = {\n default: {\n ...(opts.agent.driver && { driver: opts.agent.driver }),\n ...(opts.agent.provider && { provider: opts.agent.provider }),\n ...(opts.agent.model && { model: opts.agent.model }),\n },\n };\n\n if (opts.agent.maxTurns !== undefined || opts.agent.permissionMode !== undefined) {\n cfg.agent = {\n permissions: {\n ...(opts.agent.maxTurns !== undefined && { max_turns: opts.agent.maxTurns }),\n ...(opts.agent.permissionMode !== undefined && {\n permission_mode: opts.agent.permissionMode,\n }),\n },\n };\n }\n }\n\n if (opts.mounts?.length) {\n cfg.mounts = opts.mounts;\n }\n\n if (opts.connectors?.length) {\n // Map SDK field names to core's ConnectorDeclaration field names:\n // SDK uses `adapter` → core expects `driver`\n cfg.connectors = opts.connectors.map((c) => ({\n id: c.id,\n driver: c.adapter,\n ...(c.access && { access: c.access }),\n ...(c.auth && { auth: c.auth }),\n ...(c.options && { options: c.options }),\n }));\n }\n\n writeFileSync(dest, stringify(cfg));\n}\n","/**\n * createAgentSession() — universal factory for agent sessions.\n *\n * Handles workspace preparation, skaile.yaml writing, runtime selection,\n * startup, and cleanup registration. Returns a ready-to-use {@link AgentSession}.\n *\n * For multi-session managers (forge-tui) or bots (forge-mattermost) that need\n * custom session subclasses, use LocalRuntime directly:\n *\n * const runtime = new LocalRuntime();\n * await runtime.start({ projectDir: dir, agentDir });\n * const session = new MySession(id, name, runtime);\n *\n * @docLink packages/sdk/concepts#create-agent-session\n */\n\nimport { AgentClient } from \"@skaile/workspaces/client\";\nimport { WebSocketClientTransport } from \"@skaile/workspaces/transport/ws/client\";\nimport { AgentSession } from \"./agent-session.js\";\nimport { LocalRuntime } from \"./local-runtime.js\";\nimport type { CreateAgentSessionOptions } from \"./types.js\";\nimport { prepareWorkspace, writeSkaileYaml } from \"./workspace.js\";\n\nexport async function createAgentSession(\n opts: CreateAgentSessionOptions = {},\n): Promise<AgentSession> {\n const { dir, cleanup } = prepareWorkspace(opts);\n writeSkaileYaml(dir, opts);\n\n const mode = opts.mode ?? { type: \"local\" };\n let runtime: LocalRuntime | AgentClient;\n\n if (mode.type === \"local\") {\n const r = new LocalRuntime();\n await r.start({ projectDir: dir, agentDir: opts.agentDir });\n runtime = r;\n } else {\n const transport = new WebSocketClientTransport({ url: mode.url });\n await transport.connect();\n runtime = new AgentClient(transport);\n }\n\n const session = new AgentSession(runtime);\n session.state = \"idle\";\n\n if (cleanup) {\n session._registerCleanup(cleanup);\n }\n\n if (opts.initialPrompt?.trim()) {\n session.send(opts.initialPrompt.trim());\n }\n\n return session;\n}\n"]}
1
+ {"version":3,"sources":["../../sdk/src/agent-session.ts","../../sdk/src/transport.ts","../../sdk/src/local-runtime.ts","../../sdk/src/workspace.ts","../../sdk/src/factory.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * AgentSession — stateful wrapper over any IAgentRuntime-compatible object.\n *\n * Provides:\n * - AgentEvent → OutputLine conversion with streaming text accumulation\n * - State machine: starting → idle ↔ active ↔ waiting → stopped\n * - Circular output buffer (500 lines, see {@link MAX_OUTPUT_LINES})\n * - send() routes to prompt() or reply() based on current state\n * - stop() disposes the runtime and fires optional cleanup\n * - onChange callback for reactive UIs (React forceUpdate, EventEmitter, etc.)\n *\n * Works with LocalRuntime (in-process) and AgentClient (remote/WebSocket).\n * Extend to add identity fields (id, name, profileName…):\n *\n * class MySession extends AgentSession {\n * constructor(readonly id: string, runtime: LocalRuntime | AgentClient) {\n * super(runtime);\n * }\n * }\n *\n * @docLink packages/sdk/concepts#agent-session\n */\n\nimport type { AgentEvent } from \"@skaile/workspaces/types\";\nimport type { OutputLine, SessionState } from \"./types.js\";\n\n/**\n * Maximum number of {@link OutputLine} entries retained in {@link AgentSession.output}.\n *\n * When the buffer exceeds this limit the oldest lines are dropped from the front,\n * keeping memory use bounded for long-running sessions.\n *\n * @docLink packages/sdk/concepts#agent-session\n */\nexport const MAX_OUTPUT_LINES = 500;\n\ninterface MinimalRuntime {\n prompt(message: string): Promise<void>;\n reply(answer: string): Promise<void>;\n abort(): Promise<void>;\n dispose(): Promise<void>;\n onEvent(handler: (e: AgentEvent) => void): void;\n offEvent(handler: (e: AgentEvent) => void): void;\n}\n\nexport class AgentSession {\n state: SessionState = \"starting\";\n readonly output: OutputLine[] = [];\n onChange?: () => void;\n\n /** Pointer to the streaming text line being accumulated in-place. */\n private currentTextLine: (OutputLine & { type: \"text\" }) | null = null;\n /** Registered in constructor so we can offEvent on stop. */\n private readonly eventHandler: (e: AgentEvent) => void;\n /** Optional cleanup hook registered by the factory (temp dir removal, etc.). */\n private cleanupFn?: () => void;\n\n constructor(protected readonly runtime: MinimalRuntime) {\n this.eventHandler = (e) => this.handleEvent(e);\n runtime.onEvent(this.eventHandler);\n }\n\n // ── Commands ──────────────────────────────────────────────────────────────\n\n /** Send a user message. Routes to reply() or prompt() based on state. */\n send(text: string): void {\n if (this.state === \"stopped\" || this.state === \"starting\") return;\n this.appendLine({ type: \"user\", content: text });\n if (this.state === \"waiting\") {\n this.state = \"active\";\n void this.runtime.reply(text);\n } else {\n this.state = \"active\";\n void this.runtime.prompt(text);\n }\n }\n\n /** Stop the session and dispose the runtime. */\n stop(): void {\n if (this.state === \"stopped\") return;\n this.state = \"stopped\";\n this.runtime.offEvent(this.eventHandler);\n void this.runtime.dispose();\n this.appendLine({ type: \"system\", message: \"Session stopped.\" });\n this.notify();\n this.cleanupFn?.();\n }\n\n /** Register a cleanup function called when the session stops. Used by the factory. */\n _registerCleanup(fn: () => void): void {\n this.cleanupFn = fn;\n }\n\n // ── Event → OutputLine ────────────────────────────────────────────────────\n\n protected handleEvent(event: AgentEvent): void {\n switch (event.type) {\n case \"text\":\n this.handleTextEvent(event);\n break;\n case \"tool_call\":\n this.handleToolCallEvent(event);\n break;\n case \"question\":\n this.handleQuestionEvent(event);\n break;\n case \"error\":\n this.handleErrorEvent(event);\n break;\n case \"status\":\n this.handleStatusEvent(event);\n break;\n case \"subagent\":\n this.handleSubagentEvent(event);\n break;\n case \"finished\":\n this.handleFinishedEvent();\n break;\n case \"state_changed\":\n this.handleStateChangedEvent(event);\n break;\n }\n\n this.notify();\n }\n\n private handleTextEvent(event: AgentEvent): void {\n const content = \"content\" in event ? String(event.content) : \"\";\n if (this.currentTextLine) {\n this.currentTextLine.content += content;\n } else {\n const line: OutputLine & { type: \"text\" } = { type: \"text\", content };\n this.output.push(line);\n this.currentTextLine = line;\n this.trimOutput();\n }\n this.state = \"active\";\n }\n\n private handleToolCallEvent(event: AgentEvent): void {\n this.sealText();\n const name =\n \"name\" in event ? String(event.name) : \"tool\" in event ? String(event.tool) : \"tool\";\n this.appendLine({ type: \"tool\", name });\n this.state = \"active\";\n }\n\n private handleQuestionEvent(event: AgentEvent): void {\n this.sealText();\n const e = event as Record<string, unknown>;\n const text =\n \"question\" in e\n ? String(e.question)\n : \"text\" in e\n ? String(e.text)\n : \"The agent has a question.\";\n this.appendLine({ type: \"question\", text });\n this.state = \"waiting\";\n }\n\n private handleErrorEvent(event: AgentEvent): void {\n this.sealText();\n const message = \"message\" in event ? String(event.message) : \"An error occurred.\";\n this.appendLine({ type: \"error\", message });\n this.state = \"idle\";\n }\n\n private handleStatusEvent(event: AgentEvent): void {\n const phase = \"phase\" in event ? String(event.phase) : \"\";\n if (phase === \"thinking\" && this.currentTextLine !== null) return;\n if (phase) this.appendLine({ type: \"status\", phase });\n }\n\n private handleSubagentEvent(event: AgentEvent): void {\n this.sealText();\n const e = event as Record<string, unknown>;\n const name = \"name\" in e ? String(e.name) : \"unknown\";\n const status = \"status\" in e ? (String(e.status) as \"started\" | \"finished\") : \"started\";\n const description = \"description\" in e ? String(e.description) : \"\";\n this.appendLine({ type: \"subagent\", name, status, description });\n if (status === \"started\") {\n this.state = \"active\";\n }\n }\n\n private handleFinishedEvent(): void {\n this.sealText();\n this.appendLine({ type: \"separator\" });\n this.state = \"idle\";\n }\n\n private handleStateChangedEvent(event: AgentEvent): void {\n if (\"state\" in event && (event as Record<string, unknown>).state === \"stopped\") {\n this.sealText();\n this.appendLine({ type: \"system\", message: \"Agent stopped.\" });\n this.state = \"stopped\";\n }\n }\n\n // ── Internals ─────────────────────────────────────────────────────────────\n\n protected appendLine(line: OutputLine): void {\n this.output.push(line);\n this.trimOutput();\n }\n\n protected notify(): void {\n this.onChange?.();\n }\n\n private sealText(): void {\n this.currentTextLine = null;\n }\n\n private trimOutput(): void {\n while (this.output.length > MAX_OUTPUT_LINES) {\n this.output.shift();\n }\n }\n}\n","/**\n * InProcessTransport — ServerTransport that runs entirely in-process.\n *\n * Used internally by {@link LocalRuntime}. Also exported for consumers building\n * custom integrations that need direct transport access without WebSocket overhead.\n *\n * Runner side (startAgentServer):\n * onCommand(handler) — registers the runner's command handler\n * send(event) — delivers AgentEvents to onEvent subscribers\n *\n * Application side:\n * inject(command) — sends a command to the agent (deferred to avoid re-entrancy)\n * onEvent(handler) — subscribes to AgentEvents; returns unsubscribe fn\n *\n * @docLink packages/sdk/concepts#in-process-transport\n */\n\nimport type { AgentCommand, AgentEvent, ServerTransport } from \"@skaile/workspaces/types\";\n\nexport class InProcessTransport implements ServerTransport {\n private readonly commandHandlers = new Set<(cmd: AgentCommand) => void>();\n private readonly eventHandlers = new Set<(event: AgentEvent) => void>();\n // Commands injected before any handler is registered are buffered here and\n // flushed on the first onCommand() — without this they iterate an empty set\n // and are silently lost (e.g. a prompt sent during start()'s wiring window).\n private readonly pendingCommands: AgentCommand[] = [];\n\n // ── ServerTransport ───────────────────────────────────────────────────────\n\n // In-process: no socket to open or tear down — both are no-ops so serve()\n // can drive any transport's lifecycle without an instanceof check.\n async listen(): Promise<void> {}\n\n async close(): Promise<void> {}\n\n send(event: AgentEvent): void {\n for (const h of this.eventHandlers) h(event);\n }\n\n onCommand(handler: (cmd: AgentCommand) => void): () => void {\n const wasEmpty = this.commandHandlers.size === 0;\n this.commandHandlers.add(handler);\n if (wasEmpty && this.pendingCommands.length > 0) {\n const buffered = this.pendingCommands.splice(0);\n for (const cmd of buffered) {\n void Promise.resolve().then(() => handler(cmd));\n }\n }\n return () => this.commandHandlers.delete(handler);\n }\n\n onConnect(_handler: () => void): () => void {\n return () => {};\n }\n\n onDisconnect(_handler: () => void): () => void {\n return () => {};\n }\n\n /** True once a command handler is wired (i.e. the runner has started). */\n get connected(): boolean {\n return this.commandHandlers.size > 0;\n }\n\n // ── Application API ───────────────────────────────────────────────────────\n\n /**\n * Send a command into the agent runner. Deferred to avoid re-entrancy.\n * Commands injected before a handler is registered are buffered and\n * flushed when the runner wires its handler, so none are dropped.\n */\n inject(command: AgentCommand): void {\n if (this.commandHandlers.size === 0) {\n this.pendingCommands.push(command);\n return;\n }\n for (const h of this.commandHandlers) {\n void Promise.resolve().then(() => h(command));\n }\n }\n\n /** Subscribe to AgentEvents. Returns an unsubscribe function. */\n onEvent(handler: (event: AgentEvent) => void): () => void {\n this.eventHandlers.add(handler);\n return () => this.eventHandlers.delete(handler);\n }\n}\n","/**\n * LocalRuntime — IAgentRuntime implementation that runs the agent in the same process.\n *\n * Mirror image of AgentClient: same interface, no WebSocket.\n * Uses InProcessTransport + startAgentServer() internally.\n *\n * Usage:\n * const runtime = new LocalRuntime();\n * runtime.onEvent(e => console.log(e));\n * await runtime.start({ projectDir: \"/path/to/workspace\" });\n * await runtime.prompt(\"Hello\");\n * await runtime.dispose();\n *\n * @docLink packages/sdk/concepts#local-runtime\n */\n\nimport { startAgentServer } from \"@skaile/workspaces/runner\";\nimport type { AgentEvent, IAgentRuntime } from \"@skaile/workspaces/types\";\nimport { InProcessTransport } from \"./transport.js\";\n\n/**\n * Options passed to {@link LocalRuntime.start}.\n *\n * `projectDir` is the only required field — it points to the workspace directory\n * containing `skaile.yaml`. All other fields override the manifest's agent configuration.\n *\n * @docLink packages/sdk/concepts#local-runtime\n */\nexport interface LocalRuntimeStartOptions {\n projectDir: string;\n agentDir?: string;\n driver?: string;\n model?: string;\n provider?: string;\n onLog?: (line: string) => void;\n}\n\nexport class LocalRuntime implements Omit<IAgentRuntime, \"start\" | \"configure\"> {\n private readonly transport = new InProcessTransport();\n private readonly handlers = new Set<(e: AgentEvent) => void>();\n private started = false;\n private resolveReady!: () => void;\n private readonly readyPromise = new Promise<void>((resolve) => {\n this.resolveReady = resolve;\n });\n\n constructor() {\n this.transport.onEvent((e) => {\n for (const h of this.handlers) h(e);\n });\n }\n\n /**\n * Start the agent server. Resolves when the runner is wired and ready\n * to accept commands. Must be called before prompt() / reply().\n */\n async start(opts: LocalRuntimeStartOptions): Promise<void> {\n if (this.started) return;\n this.started = true;\n await startAgentServer({\n projectDir: opts.projectDir,\n agentDir: opts.agentDir,\n driver: opts.driver,\n model: opts.model,\n provider: opts.provider,\n transport: this.transport,\n onLog: opts.onLog,\n });\n this.resolveReady();\n }\n\n /**\n * Resolves once the runner is wired and accepting commands. Await this\n * before issuing commands that expect a reply (e.g. debug queries) so a\n * pre-start command isn't buffered indefinitely. Never rejects.\n */\n whenReady(): Promise<void> {\n return this.readyPromise;\n }\n\n async prompt(message: string): Promise<void> {\n this.transport.inject({ type: \"prompt\", prompt: message });\n }\n\n async reply(answer: string): Promise<void> {\n this.transport.inject({ type: \"reply\", answer });\n }\n\n async abort(): Promise<void> {\n this.transport.inject({ type: \"cancel\" });\n }\n\n async dispose(): Promise<void> {\n this.transport.inject({ type: \"shutdown\" });\n }\n\n onEvent(handler: (e: AgentEvent) => void): void {\n this.handlers.add(handler);\n }\n\n offEvent(handler: (e: AgentEvent) => void): void {\n this.handlers.delete(handler);\n }\n\n get isRunning(): boolean {\n return this.transport.connected;\n }\n}\n","/**\n * Workspace utilities — prepare session directories and write skaile.yaml.\n */\n\nimport { existsSync, mkdirSync, mkdtempSync, rmSync, writeFileSync } from \"node:fs\";\nimport { tmpdir } from \"node:os\";\nimport { join } from \"node:path\";\nimport { stringify } from \"yaml\";\nimport type { CreateAgentSessionOptions } from \"./types.js\";\n\n/**\n * Prepare a workspace directory for a session. Returns the path and cleanup fn.\n *\n * If `opts.workspaceDir` is set, that directory is created (if needed) and returned\n * with no cleanup. Otherwise a unique temporary directory (`skaile-sdk-*` under the\n * OS temp dir) is created via `mkdtempSync`; the cleanup function removes it on\n * session stop unless `keepWorkspace` is true.\n *\n * @param opts - Session creation options providing `workspaceDir` and `keepWorkspace`.\n * @returns An object with the resolved `dir` path and an optional `cleanup` function.\n * @docLink packages/sdk/concepts#workspace-helpers\n */\nexport function prepareWorkspace(opts: CreateAgentSessionOptions): {\n dir: string;\n cleanup: (() => void) | undefined;\n} {\n if (opts.workspaceDir) {\n mkdirSync(opts.workspaceDir, { recursive: true });\n return { dir: opts.workspaceDir, cleanup: undefined };\n }\n\n // mkdtemp yields an unpredictable, collision-free name (vs. a guessable\n // timestamp path) — avoids cross-session clobbering and symlink races in /tmp.\n const dir = mkdtempSync(join(tmpdir(), \"skaile-sdk-\"));\n\n const cleanup = opts.keepWorkspace\n ? undefined\n : () => rmSync(dir, { recursive: true, force: true });\n\n return { dir, cleanup };\n}\n\n/**\n * Write skaile.yaml from inline {@link CreateAgentSessionOptions}.\n *\n * Only writes if `agent`, `mounts`, or `connectors` are provided and no `skaile.yaml`\n * already exists in `dir` (existing config takes precedence). Connector `adapter` fields\n * are mapped to the `driver` field expected by the core runtime.\n *\n * @param dir - Absolute path to the workspace directory.\n * @param opts - Session options containing agent config, mounts, and connectors to serialize.\n * @docLink packages/sdk/concepts#workspace-helpers\n */\nexport function writeSkaileYaml(dir: string, opts: CreateAgentSessionOptions): void {\n if (!opts.agent && !opts.mounts?.length && !opts.connectors?.length) return;\n const dest = join(dir, \"skaile.yaml\");\n if (existsSync(dest)) return; // existing config wins\n\n const cfg: Record<string, unknown> = {\n name: \"sdk-session\",\n };\n\n if (opts.agent) {\n cfg[\"agent-config\"] = {\n default: {\n ...(opts.agent.driver && { driver: opts.agent.driver }),\n ...(opts.agent.provider && { provider: opts.agent.provider }),\n ...(opts.agent.model && { model: opts.agent.model }),\n },\n };\n\n if (opts.agent.maxTurns !== undefined || opts.agent.permissionMode !== undefined) {\n cfg.agent = {\n permissions: {\n ...(opts.agent.maxTurns !== undefined && { max_turns: opts.agent.maxTurns }),\n ...(opts.agent.permissionMode !== undefined && {\n permission_mode: opts.agent.permissionMode,\n }),\n },\n };\n }\n }\n\n if (opts.mounts?.length) {\n cfg.mounts = opts.mounts;\n }\n\n if (opts.connectors?.length) {\n // Map SDK field names to core's ConnectorDeclaration field names:\n // SDK uses `adapter` → core expects `driver`\n cfg.connectors = opts.connectors.map((c) => ({\n id: c.id,\n driver: c.adapter,\n ...(c.access && { access: c.access }),\n ...(c.auth && { auth: c.auth }),\n ...(c.options && { options: c.options }),\n }));\n }\n\n writeFileSync(dest, stringify(cfg));\n}\n","/**\n * createAgentSession() — universal factory for agent sessions.\n *\n * Handles workspace preparation, skaile.yaml writing, runtime selection,\n * startup, and cleanup registration. Returns a ready-to-use {@link AgentSession}.\n *\n * For multi-session managers (forge-tui) or bots (forge-mattermost) that need\n * custom session subclasses, use LocalRuntime directly:\n *\n * const runtime = new LocalRuntime();\n * await runtime.start({ projectDir: dir, agentDir });\n * const session = new MySession(id, name, runtime);\n *\n * @docLink packages/sdk/concepts#create-agent-session\n */\n\nimport { AgentClient } from \"@skaile/workspaces/client\";\nimport { WebSocketClientTransport } from \"@skaile/workspaces/transport/ws/client\";\nimport { AgentSession } from \"./agent-session.js\";\nimport { LocalRuntime } from \"./local-runtime.js\";\nimport type { CreateAgentSessionOptions } from \"./types.js\";\nimport { prepareWorkspace, writeSkaileYaml } from \"./workspace.js\";\n\nexport async function createAgentSession(\n opts: CreateAgentSessionOptions = {},\n): Promise<AgentSession> {\n const { dir, cleanup } = prepareWorkspace(opts);\n writeSkaileYaml(dir, opts);\n\n const mode = opts.mode ?? { type: \"local\" };\n let runtime: LocalRuntime | AgentClient;\n\n if (mode.type === \"local\") {\n const r = new LocalRuntime();\n await r.start({ projectDir: dir, agentDir: opts.agentDir });\n runtime = r;\n } else {\n const transport = new WebSocketClientTransport({ url: mode.url });\n await transport.connect();\n runtime = new AgentClient(transport);\n }\n\n const session = new AgentSession(runtime);\n session.state = \"idle\";\n\n if (cleanup) {\n session._registerCleanup(cleanup);\n }\n\n if (opts.initialPrompt?.trim()) {\n session.send(opts.initialPrompt.trim());\n }\n\n return session;\n}\n"]}
@@ -1,15 +1,17 @@
1
1
  export { buildRequiresPreamble, parseCompactionDirectives, parseSkillFrontmatter, parseSkillRequirements, validateConnectorRequirements, validateFlowVersions, validateRequirements } from '../chunk-3XXQPHGL.js';
2
- import '../chunk-HSRHO7SK.js';
2
+ import '../chunk-C3QLJTMB.js';
3
+ import '../chunk-REILIKVM.js';
3
4
  import '../chunk-F3HNW354.js';
4
5
  import '../chunk-K5GBV4SA.js';
5
6
  import '../chunk-QVZA2MDT.js';
6
- import '../chunk-IB4XKQMQ.js';
7
- import '../chunk-MBARHWMZ.js';
7
+ import '../chunk-K27T47OO.js';
8
8
  import '../chunk-MENCWIHW.js';
9
9
  import '../chunk-P4VHQA4N.js';
10
10
  import '../chunk-MKZOK4JU.js';
11
11
  import '../chunk-GEEW6SY2.js';
12
12
  import '../chunk-FTG7CRFD.js';
13
+ import '../chunk-KSIRR5PL.js';
14
+ import '../chunk-ILG4BXYE.js';
13
15
  import '../chunk-W4IPN3DD.js';
14
16
  import '../chunk-NSBPE2FW.js';
15
17
  //# sourceMappingURL=resolver.js.map