@skaile/workspaces 0.25.0 → 0.26.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 (510) hide show
  1. package/CHANGELOG.md +223 -0
  2. package/README.md +2 -2
  3. package/dist/{asset-feeds-77KLWCBP.js → asset-feeds-WMVTI7KW.js} +11 -10
  4. package/dist/asset-feeds-WMVTI7KW.js.map +1 -0
  5. package/dist/asset-manager/index.js +11 -10
  6. package/dist/asset-manager/installer.js +10 -9
  7. package/dist/asset-manager/renderers.js +2 -2
  8. package/dist/asset-manager/src/index.d.ts +6 -7
  9. package/dist/asset-manager/src/index.d.ts.map +1 -1
  10. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  11. package/dist/bridge/drivers/claude-sdk.js +14 -7
  12. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  13. package/dist/bridge/drivers/codex.js +8 -34
  14. package/dist/bridge/drivers/codex.js.map +1 -1
  15. package/dist/bridge/drivers/echo.js +1 -1
  16. package/dist/bridge/drivers/omp.js +64 -50
  17. package/dist/bridge/drivers/omp.js.map +1 -1
  18. package/dist/bridge/index.js +4 -4
  19. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  20. package/dist/bridge/src/drivers/codex.d.ts.map +1 -1
  21. package/dist/bridge/src/drivers/omp.d.ts +20 -4
  22. package/dist/bridge/src/drivers/omp.d.ts.map +1 -1
  23. package/dist/bridge/src/error-classifier.d.ts +17 -0
  24. package/dist/bridge/src/error-classifier.d.ts.map +1 -1
  25. package/dist/bridge/src/models.d.ts +1 -1
  26. package/dist/bridge/src/models.d.ts.map +1 -1
  27. package/dist/bridge/src/provider-endpoints.d.ts +16 -0
  28. package/dist/bridge/src/provider-endpoints.d.ts.map +1 -0
  29. package/dist/bridge/src/validation.d.ts +1 -1
  30. package/dist/bridge/src/validation.d.ts.map +1 -1
  31. package/dist/{chunk-M5TE6YI5.js → chunk-23M4XZQW.js} +10 -52
  32. package/dist/chunk-23M4XZQW.js.map +1 -0
  33. package/dist/{chunk-GL45UNVS.js → chunk-2FS4FPZ7.js} +3 -3
  34. package/dist/{chunk-GL45UNVS.js.map → chunk-2FS4FPZ7.js.map} +1 -1
  35. package/dist/{chunk-6VTG73UY.js → chunk-45H3UO2R.js} +2 -2
  36. package/dist/{chunk-6VTG73UY.js.map → chunk-45H3UO2R.js.map} +1 -1
  37. package/dist/chunk-4SQ6Y6U7.js +28 -0
  38. package/dist/chunk-4SQ6Y6U7.js.map +1 -0
  39. package/dist/{chunk-LSGAYQ2E.js → chunk-5YO3H5Q4.js} +3 -3
  40. package/dist/{chunk-LSGAYQ2E.js.map → chunk-5YO3H5Q4.js.map} +1 -1
  41. package/dist/{chunk-JDX54X4Y.js → chunk-7GWYRVAX.js} +12 -9
  42. package/dist/chunk-7GWYRVAX.js.map +1 -0
  43. package/dist/{chunk-4FADEVBN.js → chunk-7OBGSR7O.js} +5 -5
  44. package/dist/chunk-7OBGSR7O.js.map +1 -0
  45. package/dist/{chunk-QXC62DOF.js → chunk-BKF3UFF4.js} +21 -9
  46. package/dist/chunk-BKF3UFF4.js.map +1 -0
  47. package/dist/{chunk-KOVLSBXK.js → chunk-BMQKMOQY.js} +81 -79
  48. package/dist/chunk-BMQKMOQY.js.map +1 -0
  49. package/dist/{chunk-4QVFQEY2.js → chunk-BQRRBGDE.js} +2 -2
  50. package/dist/{chunk-4QVFQEY2.js.map → chunk-BQRRBGDE.js.map} +1 -1
  51. package/dist/{chunk-UD4ZLXGS.js → chunk-C32BRO2W.js} +67 -35
  52. package/dist/chunk-C32BRO2W.js.map +1 -0
  53. package/dist/{chunk-GZWJGNNN.js → chunk-DEYYRFQU.js} +3 -3
  54. package/dist/chunk-DEYYRFQU.js.map +1 -0
  55. package/dist/{chunk-WIAHJOMG.js → chunk-IEJ5IOC3.js} +10 -2
  56. package/dist/chunk-IEJ5IOC3.js.map +1 -0
  57. package/dist/chunk-IERB3UXJ.js +215 -0
  58. package/dist/chunk-IERB3UXJ.js.map +1 -0
  59. package/dist/{chunk-FVTV7M76.js → chunk-IFGTRL2I.js} +3 -3
  60. package/dist/chunk-IFGTRL2I.js.map +1 -0
  61. package/dist/{chunk-KT3CK26V.js → chunk-JIQLLZ65.js} +203 -39
  62. package/dist/chunk-JIQLLZ65.js.map +1 -0
  63. package/dist/{chunk-XVL22AWE.js → chunk-KL2MQ6WI.js} +114 -63
  64. package/dist/chunk-KL2MQ6WI.js.map +1 -0
  65. package/dist/{chunk-6FNCZYJY.js → chunk-MBOR7D65.js} +3 -3
  66. package/dist/{chunk-6FNCZYJY.js.map → chunk-MBOR7D65.js.map} +1 -1
  67. package/dist/{chunk-QAVZOJCV.js → chunk-OVRSNIKJ.js} +2 -2
  68. package/dist/chunk-OVRSNIKJ.js.map +1 -0
  69. package/dist/{chunk-DQWREFRQ.js → chunk-PAYAFNXG.js} +22 -3
  70. package/dist/chunk-PAYAFNXG.js.map +1 -0
  71. package/dist/{chunk-D3VO6WNC.js → chunk-PRLD7EXG.js} +3 -3
  72. package/dist/chunk-PRLD7EXG.js.map +1 -0
  73. package/dist/{chunk-B4ZXBH57.js → chunk-PY7AQRGH.js} +59 -13
  74. package/dist/chunk-PY7AQRGH.js.map +1 -0
  75. package/dist/{chunk-NELZIQ2E.js → chunk-QDJKE557.js} +20 -3
  76. package/dist/chunk-QDJKE557.js.map +1 -0
  77. package/dist/{chunk-FJFHJBGS.js → chunk-QHXS3YDV.js} +9 -9
  78. package/dist/chunk-QHXS3YDV.js.map +1 -0
  79. package/dist/{chunk-DCAWIRD6.js → chunk-RTAIGPTF.js} +150 -104
  80. package/dist/chunk-RTAIGPTF.js.map +1 -0
  81. package/dist/{chunk-IPUYL6TD.js → chunk-TV72ZJYN.js} +8 -5
  82. package/dist/{chunk-IPUYL6TD.js.map → chunk-TV72ZJYN.js.map} +1 -1
  83. package/dist/{chunk-ICS76R4T.js → chunk-W7W66MDZ.js} +10 -8
  84. package/dist/chunk-W7W66MDZ.js.map +1 -0
  85. package/dist/{chunk-BJWUSHC4.js → chunk-WD4LP66U.js} +21 -20
  86. package/dist/chunk-WD4LP66U.js.map +1 -0
  87. package/dist/{chunk-4FJE6BI6.js → chunk-XGLGS5B4.js} +3 -3
  88. package/dist/{chunk-4FJE6BI6.js.map → chunk-XGLGS5B4.js.map} +1 -1
  89. package/dist/{chunk-XMP6XTMF.js → chunk-YDTW4GT6.js} +450 -207
  90. package/dist/chunk-YDTW4GT6.js.map +1 -0
  91. package/dist/{chunk-2XY6732A.js → chunk-YRU4WB6Y.js} +5 -5
  92. package/dist/chunk-YRU4WB6Y.js.map +1 -0
  93. package/dist/{chunk-3QTZWPGH.js → chunk-Z5DI7PDG.js} +141 -87
  94. package/dist/chunk-Z5DI7PDG.js.map +1 -0
  95. package/dist/{chunk-KLNL7QHN.js → chunk-ZAP2BDHG.js} +30 -5
  96. package/dist/chunk-ZAP2BDHG.js.map +1 -0
  97. package/dist/{chunk-GCJXPUHG.js → chunk-ZONCCO5N.js} +9 -4
  98. package/dist/chunk-ZONCCO5N.js.map +1 -0
  99. package/dist/{chunk-SETTLPBD.js → chunk-ZYDE52WE.js} +3 -3
  100. package/dist/{chunk-SETTLPBD.js.map → chunk-ZYDE52WE.js.map} +1 -1
  101. package/dist/cli/index.js +442 -415
  102. package/dist/cli/index.js.map +1 -1
  103. package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
  104. package/dist/cli/src/commands/config.d.ts.map +1 -1
  105. package/dist/cli/src/commands/connector.d.ts +7 -0
  106. package/dist/cli/src/commands/connector.d.ts.map +1 -1
  107. package/dist/cli/src/commands/flow.d.ts +3 -2
  108. package/dist/cli/src/commands/flow.d.ts.map +1 -1
  109. package/dist/cli/src/commands/npx.d.ts.map +1 -1
  110. package/dist/cli/src/commands/run.d.ts.map +1 -1
  111. package/dist/cli/src/flow-discovery.d.ts +24 -0
  112. package/dist/cli/src/flow-discovery.d.ts.map +1 -0
  113. package/dist/cli/src/open-registry.d.ts +2 -2
  114. package/dist/cli/src/paths.d.ts +26 -9
  115. package/dist/cli/src/paths.d.ts.map +1 -1
  116. package/dist/cli/src/skill-walker.d.ts +9 -5
  117. package/dist/cli/src/skill-walker.d.ts.map +1 -1
  118. package/dist/connectors/config.js +8 -7
  119. package/dist/connectors/index.js +13 -12
  120. package/dist/connectors/rclone-config.js +1 -1
  121. package/dist/connectors/src/connector-manager.d.ts +24 -2
  122. package/dist/connectors/src/connector-manager.d.ts.map +1 -1
  123. package/dist/connectors/src/connector-prompt.d.ts.map +1 -1
  124. package/dist/connectors/src/connector-registry.d.ts +3 -3
  125. package/dist/connectors/src/credential-helper-script.d.ts.map +1 -1
  126. package/dist/connectors/src/index.d.ts +4 -2
  127. package/dist/connectors/src/index.d.ts.map +1 -1
  128. package/dist/connectors/src/managed-gitconfig.d.ts.map +1 -1
  129. package/dist/connectors/src/mount-placeholder.d.ts +68 -0
  130. package/dist/connectors/src/mount-placeholder.d.ts.map +1 -0
  131. package/dist/connectors/src/rclone-config/googledrive.d.ts +1 -1
  132. package/dist/core/discovery.js +1 -1
  133. package/dist/core/index.js +7 -6
  134. package/dist/core/manifest.js +2 -2
  135. package/dist/core/models.js +1 -1
  136. package/dist/core/publish-manifest.d.ts +2 -0
  137. package/dist/core/publish-manifest.js +5 -0
  138. package/dist/core/publish-manifest.js.map +1 -0
  139. package/dist/core/runtime-assets.js +5 -4
  140. package/dist/core/src/discovery.d.ts +27 -0
  141. package/dist/core/src/discovery.d.ts.map +1 -1
  142. package/dist/core/src/index.d.ts +8 -5
  143. package/dist/core/src/index.d.ts.map +1 -1
  144. package/dist/core/src/lock.d.ts.map +1 -1
  145. package/dist/core/src/manifest-yaml-editor.d.ts +62 -0
  146. package/dist/core/src/manifest-yaml-editor.d.ts.map +1 -0
  147. package/dist/core/src/models.d.ts +6 -0
  148. package/dist/core/src/models.d.ts.map +1 -1
  149. package/dist/core/src/publish-manifest.d.ts +160 -0
  150. package/dist/core/src/publish-manifest.d.ts.map +1 -0
  151. package/dist/core/src/repo-manager.d.ts +9 -1
  152. package/dist/core/src/repo-manager.d.ts.map +1 -1
  153. package/dist/core/src/runtime-assets.d.ts +80 -29
  154. package/dist/core/src/runtime-assets.d.ts.map +1 -1
  155. package/dist/core/src/walker.d.ts +19 -6
  156. package/dist/core/src/walker.d.ts.map +1 -1
  157. package/dist/core/src/workspace-config.d.ts +9 -36
  158. package/dist/core/src/workspace-config.d.ts.map +1 -1
  159. package/dist/core/src/workspace-yaml-editor.d.ts +1 -15
  160. package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
  161. package/dist/core/workspace-config.js +4 -3
  162. package/dist/deploy/index.js +50 -79
  163. package/dist/deploy/index.js.map +1 -1
  164. package/dist/deploy/src/targets/container-runtime.d.ts +1 -1
  165. package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
  166. package/dist/deploy/src/targets/local.d.ts.map +1 -1
  167. package/dist/deploy/src/targets/nix.d.ts.map +1 -1
  168. package/dist/deploy/src/targets/process-handle.d.ts +7 -5
  169. package/dist/deploy/src/targets/process-handle.d.ts.map +1 -1
  170. package/dist/discovery/index.js +5 -4
  171. package/dist/discovery/src/discover-manifest.d.ts +3 -2
  172. package/dist/discovery/src/discover-manifest.d.ts.map +1 -1
  173. package/dist/discovery/src/discover.d.ts +2 -2
  174. package/dist/discovery/src/discover.d.ts.map +1 -1
  175. package/dist/discovery/src/index.d.ts +1 -1
  176. package/dist/discovery/src/index.d.ts.map +1 -1
  177. package/dist/discovery/src/source-config.d.ts +53 -12
  178. package/dist/discovery/src/source-config.d.ts.map +1 -1
  179. package/dist/discovery/src/tree-entries.d.ts +2 -2
  180. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  181. package/dist/{ensure-sources-7MOOKY3K.js → ensure-sources-CVULUVH4.js} +12 -11
  182. package/dist/ensure-sources-CVULUVH4.js.map +1 -0
  183. package/dist/factory-assets/.skaile-source.yaml +6 -0
  184. package/dist/factory-assets/README.md +36 -0
  185. package/dist/factory-assets/bundles/workspaces-authoring/workspaces-authoring.bundle.yaml +9 -0
  186. package/dist/factory-assets/connectors/deploy/CONNECTOR.md +41 -0
  187. package/dist/{base-assets → factory-assets}/connectors/deploy/adapter.d.ts +2 -2
  188. package/dist/factory-assets/connectors/deploy/adapter.d.ts.map +1 -0
  189. package/dist/factory-assets/connectors/deploy.js +22 -0
  190. package/dist/factory-assets/connectors/devserver/CONNECTOR.md +44 -0
  191. package/dist/{base-assets → factory-assets}/connectors/devserver/adapter.d.ts +2 -2
  192. package/dist/factory-assets/connectors/devserver/adapter.d.ts.map +1 -0
  193. package/dist/factory-assets/connectors/devserver.js +22 -0
  194. package/dist/factory-assets/connectors/flow/CONNECTOR.md +47 -0
  195. package/dist/{base-assets → factory-assets}/connectors/flow/adapter.d.ts +2 -2
  196. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -0
  197. package/dist/factory-assets/connectors/flow/adapter.js +22 -0
  198. package/dist/factory-assets/connectors/flow/engine/engine.d.ts.map +1 -0
  199. package/dist/{base-assets → factory-assets}/connectors/flow/engine/flow-kind-provider.d.ts +1 -1
  200. package/dist/factory-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +1 -0
  201. package/dist/factory-assets/connectors/flow/engine/flow-manifest.d.ts.map +1 -0
  202. package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -0
  203. package/dist/factory-assets/connectors/flow/engine/loader.d.ts.map +1 -0
  204. package/dist/factory-assets/connectors/flow/engine/types.d.ts.map +1 -0
  205. package/dist/factory-assets/connectors/flow/engine.js +15 -0
  206. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -0
  207. package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.d.ts +5 -5
  208. package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts.map +1 -0
  209. package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.js +1 -1
  210. package/dist/{base-assets → factory-assets}/connectors/flow/run-flow.d.ts +8 -8
  211. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -0
  212. package/dist/factory-assets/connectors/flow/run-flow.js +25 -0
  213. package/dist/{base-assets → factory-assets}/connectors/flow/stimulus-driver.d.ts +2 -2
  214. package/dist/factory-assets/connectors/flow/stimulus-driver.d.ts.map +1 -0
  215. package/dist/factory-assets/connectors/flow/stimulus-driver.js +4 -0
  216. package/dist/factory-assets/connectors/flow.js +22 -0
  217. package/dist/factory-assets/connectors/git/CONNECTOR.md +145 -0
  218. package/dist/{base-assets → factory-assets}/connectors/git/driver.d.ts +2 -2
  219. package/dist/factory-assets/connectors/git/driver.d.ts.map +1 -0
  220. package/dist/factory-assets/connectors/git.js +22 -0
  221. package/dist/factory-assets/connectors/gmail/CONNECTOR.md +50 -0
  222. package/dist/{base-assets → factory-assets}/connectors/gmail/adapter.d.ts +2 -2
  223. package/dist/factory-assets/connectors/gmail/adapter.d.ts.map +1 -0
  224. package/dist/factory-assets/connectors/gmail.js +22 -0
  225. package/dist/factory-assets/connectors/googledrive/CONNECTOR.md +150 -0
  226. package/dist/{base-assets → factory-assets}/connectors/googledrive/driver.d.ts +2 -2
  227. package/dist/factory-assets/connectors/googledrive/driver.d.ts.map +1 -0
  228. package/dist/factory-assets/connectors/googledrive.js +22 -0
  229. package/dist/factory-assets/connectors/local/CONNECTOR.md +40 -0
  230. package/dist/{base-assets → factory-assets}/connectors/local/driver.d.ts +2 -2
  231. package/dist/factory-assets/connectors/local/driver.d.ts.map +1 -0
  232. package/dist/factory-assets/connectors/local.js +22 -0
  233. package/dist/factory-assets/connectors/mattermost/CONNECTOR.md +65 -0
  234. package/dist/{base-assets → factory-assets}/connectors/mattermost/adapter.d.ts +2 -2
  235. package/dist/factory-assets/connectors/mattermost/adapter.d.ts.map +1 -0
  236. package/dist/factory-assets/connectors/mattermost.js +22 -0
  237. package/dist/factory-assets/connectors/memory/CONNECTOR.md +40 -0
  238. package/dist/{base-assets → factory-assets}/connectors/memory/adapter.d.ts +2 -2
  239. package/dist/factory-assets/connectors/memory/adapter.d.ts.map +1 -0
  240. package/dist/factory-assets/connectors/memory.js +22 -0
  241. package/dist/factory-assets/connectors/minio/CONNECTOR.md +68 -0
  242. package/dist/{base-assets → factory-assets}/connectors/minio/adapter.d.ts +2 -2
  243. package/dist/factory-assets/connectors/minio/adapter.d.ts.map +1 -0
  244. package/dist/factory-assets/connectors/minio.js +22 -0
  245. package/dist/factory-assets/connectors/postgres/CONNECTOR.md +46 -0
  246. package/dist/{base-assets → factory-assets}/connectors/postgres/adapter.d.ts +2 -2
  247. package/dist/factory-assets/connectors/postgres/adapter.d.ts.map +1 -0
  248. package/dist/factory-assets/connectors/postgres.js +22 -0
  249. package/dist/factory-assets/connectors/s3/CONNECTOR.md +76 -0
  250. package/dist/{base-assets → factory-assets}/connectors/s3/driver.d.ts +2 -2
  251. package/dist/factory-assets/connectors/s3/driver.d.ts.map +1 -0
  252. package/dist/factory-assets/connectors/s3.js +22 -0
  253. package/dist/factory-assets/connectors/sharepoint/CONNECTOR.md +181 -0
  254. package/dist/{base-assets → factory-assets}/connectors/sharepoint/driver.d.ts +2 -2
  255. package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -0
  256. package/dist/factory-assets/connectors/sharepoint.js +22 -0
  257. package/dist/factory-assets/connectors/sqlite/CONNECTOR.md +44 -0
  258. package/dist/{base-assets → factory-assets}/connectors/sqlite/adapter.d.ts +2 -2
  259. package/dist/factory-assets/connectors/sqlite/adapter.d.ts.map +1 -0
  260. package/dist/factory-assets/connectors/sqlite.js +22 -0
  261. package/dist/factory-assets/connectors/static-server/CONNECTOR.md +41 -0
  262. package/dist/{base-assets → factory-assets}/connectors/static-server/adapter.d.ts +2 -2
  263. package/dist/factory-assets/connectors/static-server/adapter.d.ts.map +1 -0
  264. package/dist/factory-assets/connectors/static-server.js +22 -0
  265. package/dist/factory-assets/connectors/tunnel/CONNECTOR.md +40 -0
  266. package/dist/{base-assets → factory-assets}/connectors/tunnel/adapter.d.ts +2 -2
  267. package/dist/factory-assets/connectors/tunnel/adapter.d.ts.map +1 -0
  268. package/dist/factory-assets/connectors/tunnel.js +22 -0
  269. package/dist/factory-assets/connectors/webdav/CONNECTOR.md +139 -0
  270. package/dist/{base-assets → factory-assets}/connectors/webdav/driver.d.ts +2 -2
  271. package/dist/factory-assets/connectors/webdav/driver.d.ts.map +1 -0
  272. package/dist/factory-assets/connectors/webdav.js +22 -0
  273. package/dist/factory-assets/connectors/xstate/CONNECTOR.md +57 -0
  274. package/dist/{base-assets → factory-assets}/connectors/xstate/adapter.d.ts +2 -2
  275. package/dist/factory-assets/connectors/xstate/adapter.d.ts.map +1 -0
  276. package/dist/factory-assets/connectors/xstate-store/CONNECTOR.md +48 -0
  277. package/dist/{base-assets → factory-assets}/connectors/xstate-store/adapter.d.ts +2 -2
  278. package/dist/factory-assets/connectors/xstate-store/adapter.d.ts.map +1 -0
  279. package/dist/factory-assets/connectors/xstate-store.js +22 -0
  280. package/dist/factory-assets/connectors/xstate.js +22 -0
  281. package/dist/{base-assets → factory-assets}/index.d.ts +1 -1
  282. package/dist/factory-assets/index.d.ts.map +1 -0
  283. package/dist/{base-assets → factory-assets}/index.js +1 -1
  284. package/dist/factory-assets/index.js.map +1 -0
  285. package/dist/factory-assets/skaile.manifest.yaml +25 -0
  286. package/dist/factory-assets/skills/authoring-skaile-assets/SKILL.md +176 -0
  287. package/dist/factory-assets/skills/authoring-skaile-manifests/SKILL.md +243 -0
  288. package/dist/factory-assets/skills/authoring-skaile-manifests/references/dependency-standard.md +197 -0
  289. package/dist/factory-assets/skills/manifest-compliance/SKILL.md +140 -0
  290. package/dist/factory-assets/skills/skaile-author-asset/SKILL.md +239 -0
  291. package/dist/factory-assets/skills/skaile-manage-workspace/SKILL.md +168 -0
  292. package/dist/{flows-DYFTPCPM.js → flows-JZFJD5IN.js} +3 -3
  293. package/dist/{flows-DYFTPCPM.js.map → flows-JZFJD5IN.js.map} +1 -1
  294. package/dist/library/index.js +10 -9
  295. package/dist/library/src/library.d.ts +2 -0
  296. package/dist/library/src/library.d.ts.map +1 -1
  297. package/dist/library/src/local/library.d.ts +2 -0
  298. package/dist/library/src/local/library.d.ts.map +1 -1
  299. package/dist/library/src/local/local-catalog-source.d.ts +2 -1
  300. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  301. package/dist/library/src/local/sidecar-paths.d.ts +4 -4
  302. package/dist/library/src/local/sidecar-paths.d.ts.map +1 -1
  303. package/dist/library/src/local/store-paths.d.ts +4 -3
  304. package/dist/library/src/local/store-paths.d.ts.map +1 -1
  305. package/dist/library/src/pin-resolver.d.ts.map +1 -1
  306. package/dist/library/src/preset/apply.d.ts.map +1 -1
  307. package/dist/library/src/preset/placeholders.d.ts.map +1 -1
  308. package/dist/library/src/remote/remote-catalog-source.d.ts +7 -0
  309. package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
  310. package/dist/library/src/remote/rest-catalog-source.d.ts +7 -0
  311. package/dist/library/src/remote/rest-catalog-source.d.ts.map +1 -1
  312. package/dist/library/src/sync/manifest-writeback.d.ts +1 -1
  313. package/dist/library/src/sync/manifest-writeback.d.ts.map +1 -1
  314. package/dist/open-library-WYASW4BH.js +22 -0
  315. package/dist/{open-library-GW7DWWNZ.js.map → open-library-WYASW4BH.js.map} +1 -1
  316. package/dist/paths-BMW6JYW6.js +15 -0
  317. package/dist/{paths-FKKGS6BA.js.map → paths-BMW6JYW6.js.map} +1 -1
  318. package/dist/{plugin-store-R32NH7JE.js → plugin-store-O5VR45CA.js} +9 -8
  319. package/dist/plugin-store-O5VR45CA.js.map +1 -0
  320. package/dist/plugins/src/asset-kind-provider.d.ts +1 -1
  321. package/dist/plugins/src/catalog-source.d.ts +13 -0
  322. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  323. package/dist/resolver/index.js +1 -1
  324. package/dist/resolver/src/parser.d.ts.map +1 -1
  325. package/dist/runner/index.js +20 -19
  326. package/dist/runner/src/capability-registry.d.ts +1 -1
  327. package/dist/runner/src/capability-registry.d.ts.map +1 -1
  328. package/dist/runner/src/resource-handler.d.ts.map +1 -1
  329. package/dist/runner/src/resources.d.ts +1 -1
  330. package/dist/runner/src/serve.d.ts.map +1 -1
  331. package/dist/runner/src/workspace-migration.d.ts.map +1 -1
  332. package/dist/sdk/asset-manager.js +11 -10
  333. package/dist/sdk/bridge.js +4 -4
  334. package/dist/sdk/core.js +7 -6
  335. package/dist/sdk/flow.js +12 -1
  336. package/dist/sdk/index.js +23 -22
  337. package/dist/sdk/index.js.map +1 -1
  338. package/dist/sdk/resolver.js +1 -1
  339. package/dist/sdk/runner.js +20 -19
  340. package/dist/sdk/session.js +1 -1
  341. package/dist/sdk/src/flow/index.d.ts +1 -1
  342. package/dist/sdk/src/flow/index.d.ts.map +1 -1
  343. package/dist/sdk/src/workspace.d.ts +3 -2
  344. package/dist/sdk/src/workspace.d.ts.map +1 -1
  345. package/dist/sdk/telemetry.js +1 -1
  346. package/dist/secrets/index.js +1 -1
  347. package/dist/secrets/src/providers/env.d.ts.map +1 -1
  348. package/dist/secrets/src/providers/local.d.ts.map +1 -1
  349. package/dist/session/index.js +1 -1
  350. package/dist/session/src/mentions.d.ts.map +1 -1
  351. package/dist/{setup-SRPBQOHY.js → setup-YNLFR5GB.js} +13 -12
  352. package/dist/setup-YNLFR5GB.js.map +1 -0
  353. package/dist/skills-6HJ3WINN.js +7 -0
  354. package/dist/{skills-CRL3VJNN.js.map → skills-6HJ3WINN.js.map} +1 -1
  355. package/dist/store-client-CENBEASX.js +15 -0
  356. package/dist/{store-client-INZD2RYD.js.map → store-client-CENBEASX.js.map} +1 -1
  357. package/dist/telemetry/index.js +1 -1
  358. package/dist/telemetry/src/config.d.ts +0 -16
  359. package/dist/telemetry/src/config.d.ts.map +1 -1
  360. package/dist/tui/index.js +20 -19
  361. package/dist/tui/index.js.map +1 -1
  362. package/dist/types/manifests.js +1 -1
  363. package/dist/types/src/flow.d.ts +2 -2
  364. package/dist/types/src/manifests/index.d.ts +1 -1
  365. package/dist/types/src/manifests/skill.d.ts +21 -0
  366. package/dist/types/src/manifests/skill.d.ts.map +1 -1
  367. package/dist/workspace-plugin/adapters/mcp.js +4 -4
  368. package/dist/workspace-plugin/adapters/omp.js +7 -7
  369. package/dist/workspace-plugin/index.js +1 -1
  370. package/dist/workspace-plugin/src/tools/flows.d.ts.map +1 -1
  371. package/package.json +158 -151
  372. package/dist/asset-feeds-77KLWCBP.js.map +0 -1
  373. package/dist/base-assets/connectors/deploy/adapter.d.ts.map +0 -1
  374. package/dist/base-assets/connectors/deploy.js +0 -21
  375. package/dist/base-assets/connectors/devserver/adapter.d.ts.map +0 -1
  376. package/dist/base-assets/connectors/devserver.js +0 -21
  377. package/dist/base-assets/connectors/flow/adapter.d.ts.map +0 -1
  378. package/dist/base-assets/connectors/flow/adapter.js +0 -21
  379. package/dist/base-assets/connectors/flow/engine/engine.d.ts.map +0 -1
  380. package/dist/base-assets/connectors/flow/engine/flow-kind-provider.d.ts.map +0 -1
  381. package/dist/base-assets/connectors/flow/engine/flow-manifest.d.ts.map +0 -1
  382. package/dist/base-assets/connectors/flow/engine/index.d.ts.map +0 -1
  383. package/dist/base-assets/connectors/flow/engine/loader.d.ts.map +0 -1
  384. package/dist/base-assets/connectors/flow/engine/types.d.ts.map +0 -1
  385. package/dist/base-assets/connectors/flow/engine.js +0 -4
  386. package/dist/base-assets/connectors/flow/index.d.ts.map +0 -1
  387. package/dist/base-assets/connectors/flow/prompt-fragments.d.ts.map +0 -1
  388. package/dist/base-assets/connectors/flow/run-flow.d.ts.map +0 -1
  389. package/dist/base-assets/connectors/flow/run-flow.js +0 -24
  390. package/dist/base-assets/connectors/flow/stimulus-driver.d.ts.map +0 -1
  391. package/dist/base-assets/connectors/flow/stimulus-driver.js +0 -4
  392. package/dist/base-assets/connectors/flow.js +0 -21
  393. package/dist/base-assets/connectors/git/driver.d.ts.map +0 -1
  394. package/dist/base-assets/connectors/git.js +0 -21
  395. package/dist/base-assets/connectors/gmail/adapter.d.ts.map +0 -1
  396. package/dist/base-assets/connectors/gmail.js +0 -21
  397. package/dist/base-assets/connectors/googledrive/driver.d.ts.map +0 -1
  398. package/dist/base-assets/connectors/googledrive.js +0 -21
  399. package/dist/base-assets/connectors/local/driver.d.ts.map +0 -1
  400. package/dist/base-assets/connectors/local.js +0 -21
  401. package/dist/base-assets/connectors/mattermost/adapter.d.ts.map +0 -1
  402. package/dist/base-assets/connectors/mattermost.js +0 -21
  403. package/dist/base-assets/connectors/memory/adapter.d.ts.map +0 -1
  404. package/dist/base-assets/connectors/memory.js +0 -21
  405. package/dist/base-assets/connectors/minio/adapter.d.ts.map +0 -1
  406. package/dist/base-assets/connectors/minio.js +0 -21
  407. package/dist/base-assets/connectors/postgres/adapter.d.ts.map +0 -1
  408. package/dist/base-assets/connectors/postgres.js +0 -21
  409. package/dist/base-assets/connectors/s3/driver.d.ts.map +0 -1
  410. package/dist/base-assets/connectors/s3.js +0 -21
  411. package/dist/base-assets/connectors/sharepoint/driver.d.ts.map +0 -1
  412. package/dist/base-assets/connectors/sharepoint.js +0 -21
  413. package/dist/base-assets/connectors/sqlite/adapter.d.ts.map +0 -1
  414. package/dist/base-assets/connectors/sqlite.js +0 -21
  415. package/dist/base-assets/connectors/static-server/adapter.d.ts.map +0 -1
  416. package/dist/base-assets/connectors/static-server.js +0 -21
  417. package/dist/base-assets/connectors/tunnel/adapter.d.ts.map +0 -1
  418. package/dist/base-assets/connectors/tunnel.js +0 -21
  419. package/dist/base-assets/connectors/webdav/driver.d.ts.map +0 -1
  420. package/dist/base-assets/connectors/webdav.js +0 -21
  421. package/dist/base-assets/connectors/xstate/adapter.d.ts.map +0 -1
  422. package/dist/base-assets/connectors/xstate-store/adapter.d.ts.map +0 -1
  423. package/dist/base-assets/connectors/xstate-store.js +0 -21
  424. package/dist/base-assets/connectors/xstate.js +0 -21
  425. package/dist/base-assets/index.d.ts.map +0 -1
  426. package/dist/base-assets/index.js.map +0 -1
  427. package/dist/chunk-2M3XTMOL.js +0 -23
  428. package/dist/chunk-2M3XTMOL.js.map +0 -1
  429. package/dist/chunk-2XY6732A.js.map +0 -1
  430. package/dist/chunk-3QTZWPGH.js.map +0 -1
  431. package/dist/chunk-4FADEVBN.js.map +0 -1
  432. package/dist/chunk-B4ZXBH57.js.map +0 -1
  433. package/dist/chunk-BJWUSHC4.js.map +0 -1
  434. package/dist/chunk-D3VO6WNC.js.map +0 -1
  435. package/dist/chunk-DCAWIRD6.js.map +0 -1
  436. package/dist/chunk-DQWREFRQ.js.map +0 -1
  437. package/dist/chunk-FJFHJBGS.js.map +0 -1
  438. package/dist/chunk-FVTV7M76.js.map +0 -1
  439. package/dist/chunk-GCJXPUHG.js.map +0 -1
  440. package/dist/chunk-GZWJGNNN.js.map +0 -1
  441. package/dist/chunk-ICS76R4T.js.map +0 -1
  442. package/dist/chunk-JDX54X4Y.js.map +0 -1
  443. package/dist/chunk-KLNL7QHN.js.map +0 -1
  444. package/dist/chunk-KOVLSBXK.js.map +0 -1
  445. package/dist/chunk-KT3CK26V.js.map +0 -1
  446. package/dist/chunk-M5TE6YI5.js.map +0 -1
  447. package/dist/chunk-NELZIQ2E.js.map +0 -1
  448. package/dist/chunk-QAVZOJCV.js.map +0 -1
  449. package/dist/chunk-QXC62DOF.js.map +0 -1
  450. package/dist/chunk-UD4ZLXGS.js.map +0 -1
  451. package/dist/chunk-WIAHJOMG.js.map +0 -1
  452. package/dist/chunk-XMP6XTMF.js.map +0 -1
  453. package/dist/chunk-XVL22AWE.js.map +0 -1
  454. package/dist/ensure-sources-7MOOKY3K.js.map +0 -1
  455. package/dist/open-library-GW7DWWNZ.js +0 -21
  456. package/dist/paths-FKKGS6BA.js +0 -4
  457. package/dist/plugin-store-R32NH7JE.js.map +0 -1
  458. package/dist/setup-SRPBQOHY.js.map +0 -1
  459. package/dist/skills-CRL3VJNN.js +0 -7
  460. package/dist/store-client-INZD2RYD.js +0 -14
  461. /package/dist/{base-assets → factory-assets}/connectors/deploy.d.ts +0 -0
  462. /package/dist/{base-assets → factory-assets}/connectors/deploy.js.map +0 -0
  463. /package/dist/{base-assets → factory-assets}/connectors/devserver.d.ts +0 -0
  464. /package/dist/{base-assets → factory-assets}/connectors/devserver.js.map +0 -0
  465. /package/dist/{base-assets → factory-assets}/connectors/flow/adapter.js.map +0 -0
  466. /package/dist/{base-assets → factory-assets}/connectors/flow/engine/engine.d.ts +0 -0
  467. /package/dist/{base-assets → factory-assets}/connectors/flow/engine/flow-manifest.d.ts +0 -0
  468. /package/dist/{base-assets → factory-assets}/connectors/flow/engine/index.d.ts +0 -0
  469. /package/dist/{base-assets → factory-assets}/connectors/flow/engine/loader.d.ts +0 -0
  470. /package/dist/{base-assets → factory-assets}/connectors/flow/engine/types.d.ts +0 -0
  471. /package/dist/{base-assets → factory-assets}/connectors/flow/engine.d.ts +0 -0
  472. /package/dist/{base-assets → factory-assets}/connectors/flow/engine.js.map +0 -0
  473. /package/dist/{base-assets → factory-assets}/connectors/flow/index.d.ts +0 -0
  474. /package/dist/{base-assets → factory-assets}/connectors/flow/prompt-fragments.js.map +0 -0
  475. /package/dist/{base-assets → factory-assets}/connectors/flow/run-flow.js.map +0 -0
  476. /package/dist/{base-assets → factory-assets}/connectors/flow/stimulus-driver.js.map +0 -0
  477. /package/dist/{base-assets → factory-assets}/connectors/flow.d.ts +0 -0
  478. /package/dist/{base-assets → factory-assets}/connectors/flow.js.map +0 -0
  479. /package/dist/{base-assets → factory-assets}/connectors/git.d.ts +0 -0
  480. /package/dist/{base-assets → factory-assets}/connectors/git.js.map +0 -0
  481. /package/dist/{base-assets → factory-assets}/connectors/gmail.d.ts +0 -0
  482. /package/dist/{base-assets → factory-assets}/connectors/gmail.js.map +0 -0
  483. /package/dist/{base-assets → factory-assets}/connectors/googledrive.d.ts +0 -0
  484. /package/dist/{base-assets → factory-assets}/connectors/googledrive.js.map +0 -0
  485. /package/dist/{base-assets → factory-assets}/connectors/local.d.ts +0 -0
  486. /package/dist/{base-assets → factory-assets}/connectors/local.js.map +0 -0
  487. /package/dist/{base-assets → factory-assets}/connectors/mattermost.d.ts +0 -0
  488. /package/dist/{base-assets → factory-assets}/connectors/mattermost.js.map +0 -0
  489. /package/dist/{base-assets → factory-assets}/connectors/memory.d.ts +0 -0
  490. /package/dist/{base-assets → factory-assets}/connectors/memory.js.map +0 -0
  491. /package/dist/{base-assets → factory-assets}/connectors/minio.d.ts +0 -0
  492. /package/dist/{base-assets → factory-assets}/connectors/minio.js.map +0 -0
  493. /package/dist/{base-assets → factory-assets}/connectors/postgres.d.ts +0 -0
  494. /package/dist/{base-assets → factory-assets}/connectors/postgres.js.map +0 -0
  495. /package/dist/{base-assets → factory-assets}/connectors/s3.d.ts +0 -0
  496. /package/dist/{base-assets → factory-assets}/connectors/s3.js.map +0 -0
  497. /package/dist/{base-assets → factory-assets}/connectors/sharepoint.d.ts +0 -0
  498. /package/dist/{base-assets → factory-assets}/connectors/sharepoint.js.map +0 -0
  499. /package/dist/{base-assets → factory-assets}/connectors/sqlite.d.ts +0 -0
  500. /package/dist/{base-assets → factory-assets}/connectors/sqlite.js.map +0 -0
  501. /package/dist/{base-assets → factory-assets}/connectors/static-server.d.ts +0 -0
  502. /package/dist/{base-assets → factory-assets}/connectors/static-server.js.map +0 -0
  503. /package/dist/{base-assets → factory-assets}/connectors/tunnel.d.ts +0 -0
  504. /package/dist/{base-assets → factory-assets}/connectors/tunnel.js.map +0 -0
  505. /package/dist/{base-assets → factory-assets}/connectors/webdav.d.ts +0 -0
  506. /package/dist/{base-assets → factory-assets}/connectors/webdav.js.map +0 -0
  507. /package/dist/{base-assets → factory-assets}/connectors/xstate-store.d.ts +0 -0
  508. /package/dist/{base-assets → factory-assets}/connectors/xstate-store.js.map +0 -0
  509. /package/dist/{base-assets → factory-assets}/connectors/xstate.d.ts +0 -0
  510. /package/dist/{base-assets → factory-assets}/connectors/xstate.js.map +0 -0
@@ -77,6 +77,19 @@ export interface ICatalogSource {
77
77
  resolve(ref: string): Promise<CatalogAsset | null>;
78
78
  /** List assets matching an optional filter. */
79
79
  listAssets(filter?: CatalogAssetFilter): Promise<CatalogAsset[]>;
80
+ /**
81
+ * Enumerate the versions this source can serve for a version-less asset ref.
82
+ *
83
+ * `ref` is a canonical ref **without** a version sigil, e.g.
84
+ * `skill:@<publisher>/<name>` (same kind/publisher/name shape `resolve`
85
+ * accepts, minus the `#version`). The resolver uses this when a dep carries
86
+ * no source-derived version hint (a store-only asset with a bare or ranged
87
+ * ref) so it can feed the discovered versions into pin matching instead of
88
+ * landing the dep in `missing`.
89
+ *
90
+ * @returns Available version strings (order not significant; may be empty).
91
+ */
92
+ listVersions(ref: string): Promise<string[]>;
80
93
  /**
81
94
  * Fetch the content-addressed tarball for an asset.
82
95
  *
@@ -1 +1 @@
1
- {"version":3,"file":"catalog-source.d.ts","sourceRoot":"","sources":["../../../plugins/src/catalog-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gFAAgF;IAChF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEjE;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/D,+BAA+B;IAC/B,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAC7C"}
1
+ {"version":3,"file":"catalog-source.d.ts","sourceRoot":"","sources":["../../../plugins/src/catalog-source.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,qDAAqD;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb;AAMD;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAEpB,gFAAgF;IAChF,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAEnD,+CAA+C;IAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEjE;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7C;;;;;;;OAOG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAE/D,+BAA+B;IAC/B,WAAW,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;CAC7C"}
@@ -1,4 +1,4 @@
1
- export { buildRequiresPreamble, parseCompactionDirectives, parseSkillFrontmatter, parseSkillRequirements, validateConnectorRequirements, validateFlowVersions, validateRequirements } from '../chunk-IPUYL6TD.js';
1
+ export { buildRequiresPreamble, parseCompactionDirectives, parseSkillFrontmatter, parseSkillRequirements, validateConnectorRequirements, validateFlowVersions, validateRequirements } from '../chunk-TV72ZJYN.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=index.js.map
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../resolver/src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoC,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAkEzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAenE"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../resolver/src/parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoC,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEtF;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAQ1E;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAkEzE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBnE"}
@@ -1,34 +1,35 @@
1
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildContextSection, buildEnvironmentSection, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-BJWUSHC4.js';
2
- import '../chunk-4QVFQEY2.js';
1
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildContextSection, buildEnvironmentSection, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-WD4LP66U.js';
2
+ import '../chunk-BQRRBGDE.js';
3
3
  import '../chunk-X5YPJV4N.js';
4
+ import '../chunk-TDSRLMDB.js';
4
5
  import '../chunk-O7SG5PC2.js';
5
6
  import '../chunk-7QBNJTTQ.js';
6
7
  import '../chunk-GTS2FODO.js';
7
8
  import '../chunk-WQ7DE5UC.js';
8
9
  import '../chunk-32NA4TVC.js';
9
10
  export { assembleSystemPrompt, buildCapabilitiesPromptSection, buildLinkedPeersPromptSection } from '../chunk-W3UDISS2.js';
10
- import '../chunk-TDSRLMDB.js';
11
- import '../chunk-M5TE6YI5.js';
12
- import '../chunk-DQWREFRQ.js';
13
- import '../chunk-KOVLSBXK.js';
11
+ import '../chunk-23M4XZQW.js';
12
+ import '../chunk-BMQKMOQY.js';
13
+ import '../chunk-PAYAFNXG.js';
14
14
  import '../chunk-RRVQAE5D.js';
15
- import '../chunk-6VTG73UY.js';
15
+ import '../chunk-45H3UO2R.js';
16
16
  import '../chunk-LV2HPH3C.js';
17
- import '../chunk-XMP6XTMF.js';
18
- import '../chunk-SETTLPBD.js';
17
+ import '../chunk-YDTW4GT6.js';
18
+ import '../chunk-ZYDE52WE.js';
19
19
  import '../chunk-QMONOHXT.js';
20
- import '../chunk-QAVZOJCV.js';
20
+ import '../chunk-OVRSNIKJ.js';
21
21
  import '../chunk-6E6PKKAD.js';
22
- import '../chunk-ICS76R4T.js';
23
- import '../chunk-GZWJGNNN.js';
24
- import '../chunk-FVTV7M76.js';
25
- export { globalSettingsPath, loadSettings, mapLegacyFields, projectSettingsPath, resolveSettings, saveSettings } from '../chunk-XVL22AWE.js';
22
+ import '../chunk-W7W66MDZ.js';
23
+ import '../chunk-DEYYRFQU.js';
24
+ import '../chunk-IFGTRL2I.js';
25
+ export { globalSettingsPath, loadSettings, mapLegacyFields, projectSettingsPath, resolveSettings, saveSettings } from '../chunk-KL2MQ6WI.js';
26
26
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
27
- import '../chunk-KLNL7QHN.js';
28
- import '../chunk-UD4ZLXGS.js';
29
- import '../chunk-3QTZWPGH.js';
30
- import '../chunk-GL45UNVS.js';
31
- import '../chunk-WIAHJOMG.js';
27
+ import '../chunk-ZAP2BDHG.js';
28
+ import '../chunk-C32BRO2W.js';
29
+ import '../chunk-Z5DI7PDG.js';
30
+ import '../chunk-IERB3UXJ.js';
31
+ import '../chunk-2FS4FPZ7.js';
32
+ import '../chunk-IEJ5IOC3.js';
32
33
  import '../chunk-JKNWJ64A.js';
33
34
  export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS } from '../chunk-O4JH3KUE.js';
34
35
  import '../chunk-24UIWON4.js';
@@ -18,7 +18,7 @@ import type { DefinedCapability, HandlerContext } from "./define-capability.js";
18
18
  * @since 3.0.0
19
19
  * @docLink packages/runner/capabilities#remote-invoker
20
20
  */
21
- export type RemoteCapabilityInvoker = (name: string, input: unknown) => Promise<unknown>;
21
+ export type RemoteCapabilityInvoker = (name: string, input: unknown, timeoutMs?: number) => Promise<unknown>;
22
22
  /**
23
23
  * Minimal LLM tool descriptor consumed by bridge drivers. Drivers translate
24
24
  * this into the provider-specific tool spec (Claude tool definition, OpenAI
@@ -1 +1 @@
1
- {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../../../runner/src/capability-registry.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,UAAU,EAEV,gBAAgB,EAChB,MAAM,EACP,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiBhF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEzF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAahD;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAA0B;gBAEpC,MAAM,CAAC,EAAE,MAAM;IAI3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI;IAIpE;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlE;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAiB9D;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9B;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,EAAE;IAajD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAI/C;;;;;;;;OAQG;IACH,eAAe,IAAI,OAAO,EAAE;IAU5B;;;;;;OAMG;IACH,oBAAoB,IAAI,MAAM;IAoB9B;;;;OAIG;IACH,SAAS,IAAI,UAAU,EAAE;IAIzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAcrC;;;;;;;OAOG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC;IAsBnB,oEAAoE;IACpE,OAAO,CAAC,eAAe;IAQvB,sEAAsE;IACtE,OAAO,CAAC,MAAM;CAoBf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAU9E"}
1
+ {"version":3,"file":"capability-registry.d.ts","sourceRoot":"","sources":["../../../runner/src/capability-registry.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EACV,UAAU,EAEV,gBAAgB,EAChB,MAAM,EACP,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAiBhF;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,MAAM,uBAAuB,GAAG,CACpC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,CAAC,EAAE,MAAM,KACf,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAahD;;;;;;;;GAQG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,aAAa,CAAC,CAA0B;gBAEpC,MAAM,CAAC,EAAE,MAAM;IAI3B;;;;;;;;;OASG;IACH,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAAG,IAAI;IAIpE;;;;;;;;;;;OAWG;IACG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAYlE;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,GAAG,IAAI;IAiB9D;;;;OAIG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAM9B;;;;OAIG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAoB,GAAG,UAAU,EAAE;IAajD;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI;IAI/C;;;;;;;;OAQG;IACH,eAAe,IAAI,OAAO,EAAE;IAU5B;;;;;;OAMG;IACH,oBAAoB,IAAI,MAAM;IAoB9B;;;;OAIG;IACH,SAAS,IAAI,UAAU,EAAE;IAIzB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAcrC;;;;;;;OAOG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,GACnC,OAAO,CAAC,OAAO,CAAC;IAsBnB,oEAAoE;IACpE,OAAO,CAAC,eAAe;IAQvB,sEAAsE;IACtE,OAAO,CAAC,MAAM;CAoBf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAU9E"}
@@ -1 +1 @@
1
- {"version":3,"file":"resource-handler.d.ts","sourceRoot":"","sources":["../../../runner/src/resource-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EAEV,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAMlC;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAiCD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAChC,IAAI,CA8FN"}
1
+ {"version":3,"file":"resource-handler.d.ts","sourceRoot":"","sources":["../../../runner/src/resource-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAeH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EACV,UAAU,EAEV,uBAAuB,EACxB,MAAM,0BAA0B,CAAC;AAMlC;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAChC,OAAO,CAAC,IAAI,CAAC,CAyCf;AAiCD;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAChC,IAAI,CAiGN"}
@@ -4,7 +4,7 @@
4
4
  * Shared connector lifecycle for agent sessions — connect, watch, and build
5
5
  * tool injection for all connector types (filesystem-face and tool-face).
6
6
  *
7
- * Used by agent.ts (REPL), base-assets/connectors/flow/run-flow.ts (flow), and serve.ts (WebSocket server).
7
+ * Used by agent.ts (REPL), factory-assets/connectors/flow/run-flow.ts (flow), and serve.ts (WebSocket server).
8
8
  * Extracted from duplicated inline blocks in each of those files.
9
9
  */
10
10
  import { type ConnectorChangeEvent, type PreMintedSecretProvider, type SyncStatusPayload, type TokenMediator } from "@skaile/workspaces/connectors";
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../runner/src/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA2CH,OAAO,KAAK,EAEV,UAAU,EAIV,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAwBlC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAE7B,8BAA8B,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,sBAAsB,CAAC;AAiB9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GACjC,IAAI,CAMN;AA6FD;;;;;;;;;GASG;AACH,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,GAC/B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAoCzE;AAWD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA4jExE"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../../runner/src/serve.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA2CH,OAAO,KAAK,EAEV,UAAU,EAIV,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAwBlC,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAE7B,8BAA8B,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,sBAAsB,CAAC;AAiB9B;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,wBAAwB,CACtC,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GACjC,IAAI,CAMN;AA6FD;;;;;;;;;GASG;AACH,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,GAC/B,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAoCzE;AAWD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sEAAsE;IACtE,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgkExE"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-migration.d.ts","sourceRoot":"","sources":["../../../runner/src/workspace-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEvF,KAAK,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAE/F;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,yBAAyB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACnD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Ff;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAY7D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAUtE"}
1
+ {"version":3,"file":"workspace-migration.d.ts","sourceRoot":"","sources":["../../../runner/src/workspace-migration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,KAAK,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEvF,KAAK,yBAAyB,GAAG,OAAO,CAAC,iBAAiB,EAAE;IAAE,QAAQ,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAAC;AAE/F;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,yBAAyB,EACpC,gBAAgB,EAAE,gBAAgB,EAClC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,EACnD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CA2Ff;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAY7D;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAWtE"}
@@ -1,19 +1,20 @@
1
- export { AssetManager, parseCanonicalLockKey } from '../chunk-B4ZXBH57.js';
2
- export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-QXC62DOF.js';
3
- import '../chunk-XVL22AWE.js';
1
+ export { AssetManager, parseCanonicalLockKey } from '../chunk-PY7AQRGH.js';
2
+ export { createScaffold, deployAll, installAgent, removeAsset } from '../chunk-BKF3UFF4.js';
3
+ import '../chunk-KL2MQ6WI.js';
4
4
  import '../chunk-K5GBV4SA.js';
5
- import '../chunk-KLNL7QHN.js';
6
- import '../chunk-UD4ZLXGS.js';
7
- import '../chunk-3QTZWPGH.js';
8
- import '../chunk-GL45UNVS.js';
9
- import '../chunk-WIAHJOMG.js';
5
+ import '../chunk-ZAP2BDHG.js';
6
+ import '../chunk-C32BRO2W.js';
7
+ import '../chunk-Z5DI7PDG.js';
8
+ import '../chunk-IERB3UXJ.js';
9
+ import '../chunk-2FS4FPZ7.js';
10
+ import '../chunk-IEJ5IOC3.js';
10
11
  import '../chunk-JKNWJ64A.js';
11
12
  import '../chunk-O4JH3KUE.js';
12
13
  import '../chunk-24UIWON4.js';
13
14
  export { appendHistory, clearHistory, getRecentHistory, loadHistory } from '../chunk-KTBKW2FI.js';
14
15
  import '../chunk-UQ6LFBPZ.js';
15
- export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-6FNCZYJY.js';
16
- import '../chunk-NELZIQ2E.js';
16
+ export { AGENT_RENDERERS, claudeCodeRenderer, codexRenderer, driverTargetSupportsAgents, ompRenderer, renderAgentToFramework } from '../chunk-MBOR7D65.js';
17
+ import '../chunk-QDJKE557.js';
17
18
  export { BUILT_IN_FRAGMENTS, loadPromptExtensions, resolveFragments } from '../chunk-CGYEHQOX.js';
18
19
  import '../chunk-NSBPE2FW.js';
19
20
  //# sourceMappingURL=asset-manager.js.map
@@ -1,8 +1,8 @@
1
- export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-M5TE6YI5.js';
2
- export { AuthError, classifyClaudeSdkError } from '../chunk-DQWREFRQ.js';
3
- export { STATIC_MODELS, fetchProviderModels, getModels, getStaticModels } from '../chunk-KOVLSBXK.js';
1
+ export { BridgeRuntime, EventNormalizer, createRuntime, detectFileChange, detectFileChanges, summarizeToolCall, summarizeToolResult, validateApiKey } from '../chunk-23M4XZQW.js';
2
+ export { STATIC_MODELS, fetchProviderModels, getModels, getStaticModels } from '../chunk-BMQKMOQY.js';
3
+ export { AuthError, classifyClaudeSdkError } from '../chunk-PAYAFNXG.js';
4
4
  export { dispatchCapability, filterRenderCapabilities, renderFallback } from '../chunk-RRVQAE5D.js';
5
- export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-6VTG73UY.js';
5
+ export { AgentDriver, BUILTIN_DRIVER_CATALOG, DRIVER_CATALOG, createDriver, getBridgeLogger, listDrivers, listModelsForDriver, registerBuiltinDrivers } from '../chunk-45H3UO2R.js';
6
6
  import '../chunk-6E6PKKAD.js';
7
7
  import '../chunk-24UIWON4.js';
8
8
  import '../chunk-NSBPE2FW.js';
package/dist/sdk/core.js CHANGED
@@ -1,10 +1,11 @@
1
- export { ALL_PROVIDERS, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, computeHash, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveSettings, savePatch, saveSettings, verifyLock, walkForSettings, writeLock, writePluginsLockSlice } from '../chunk-XVL22AWE.js';
1
+ export { ALL_PROVIDERS, ManifestYamlEditor, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, computeHash, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveSettings, savePatch, saveSettings, verifyLock, walkForSettings, writeLock, writePluginsLockSlice } from '../chunk-KL2MQ6WI.js';
2
2
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
3
- export { detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-KLNL7QHN.js';
4
- export { BASE_ASSETS_REPO_NAME, resolveBaseAssetsRoot, resolveRuntimeAssets } from '../chunk-UD4ZLXGS.js';
5
- export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, decodeSkaileYaml, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, scanRepo, stageMaterializedSkills, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-3QTZWPGH.js';
6
- export { bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-GL45UNVS.js';
7
- export { ASSET_KINDS, ASSET_NAME_HINT, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, isValidAssetName, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw } from '../chunk-WIAHJOMG.js';
3
+ export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-ZAP2BDHG.js';
4
+ export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-C32BRO2W.js';
5
+ export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, decodeSkaileYaml, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, scanRepo, stageMaterializedSkills, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-Z5DI7PDG.js';
6
+ export { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, encodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-IERB3UXJ.js';
7
+ export { bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-2FS4FPZ7.js';
8
+ export { ASSET_KINDS, ASSET_NAME_HINT, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, isValidAssetName, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw } from '../chunk-IEJ5IOC3.js';
8
9
  export { deployedBase, deployedDir, isDeployed } from '../chunk-JKNWJ64A.js';
9
10
  export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS } from '../chunk-O4JH3KUE.js';
10
11
  export { LogStore, LogStoreDisabledError, NoOpSink, OnLogBridgeSink, SqliteSink, StdoutSink, WsLogSink, createLogStoreFromConfig, createLogger, getLogStore, normalizeError, openSqlite, registerLogStore, resetLogStore, resolveLogStoreConfig, sanitizeData } from '../chunk-24UIWON4.js';
package/dist/sdk/flow.js CHANGED
@@ -1,4 +1,15 @@
1
- export { FlowManifestSchema, computeFlowState, computeFlowStateFromSnapshots, computeSkippable, flowKindProvider, isBlocking, loadAllFlows, loadFlow, loadFlowsFromDir, resolveNextNodes, validateFlow } from '../chunk-ICS76R4T.js';
1
+ export { FlowManifestSchema, computeFlowState, computeFlowStateFromSnapshots, computeSkippable, flowKindProvider, isBlocking, loadAllFlows, loadFlow, loadFlowsFromDir, resolveNextNodes, validateFlow } from '../chunk-W7W66MDZ.js';
2
+ import '../chunk-KL2MQ6WI.js';
3
+ import '../chunk-K5GBV4SA.js';
4
+ import '../chunk-ZAP2BDHG.js';
5
+ import '../chunk-C32BRO2W.js';
6
+ import '../chunk-Z5DI7PDG.js';
7
+ import '../chunk-IERB3UXJ.js';
8
+ import '../chunk-2FS4FPZ7.js';
9
+ import '../chunk-IEJ5IOC3.js';
10
+ import '../chunk-JKNWJ64A.js';
11
+ import '../chunk-O4JH3KUE.js';
12
+ import '../chunk-24UIWON4.js';
2
13
  import '../chunk-NSBPE2FW.js';
3
14
  //# sourceMappingURL=flow.js.map
4
15
  //# sourceMappingURL=flow.js.map
package/dist/sdk/index.js CHANGED
@@ -1,40 +1,42 @@
1
1
  import { AgentClient } from '../chunk-SZ3SIVZQ.js';
2
- import { startAgentServer } from '../chunk-BJWUSHC4.js';
3
- import '../chunk-4QVFQEY2.js';
2
+ import { startAgentServer } from '../chunk-WD4LP66U.js';
3
+ import '../chunk-BQRRBGDE.js';
4
4
  import '../chunk-X5YPJV4N.js';
5
+ import '../chunk-TDSRLMDB.js';
5
6
  import '../chunk-O7SG5PC2.js';
6
7
  import '../chunk-7QBNJTTQ.js';
7
8
  import { WebSocketClientTransport } from '../chunk-GTS2FODO.js';
8
9
  import '../chunk-WQ7DE5UC.js';
9
10
  import '../chunk-32NA4TVC.js';
10
11
  import '../chunk-W3UDISS2.js';
11
- import '../chunk-TDSRLMDB.js';
12
- import '../chunk-M5TE6YI5.js';
13
- import '../chunk-DQWREFRQ.js';
14
- import '../chunk-KOVLSBXK.js';
12
+ import '../chunk-23M4XZQW.js';
13
+ import '../chunk-BMQKMOQY.js';
14
+ import '../chunk-PAYAFNXG.js';
15
15
  import '../chunk-RRVQAE5D.js';
16
- import '../chunk-6VTG73UY.js';
16
+ import '../chunk-45H3UO2R.js';
17
17
  import '../chunk-LV2HPH3C.js';
18
- import '../chunk-XMP6XTMF.js';
19
- import '../chunk-SETTLPBD.js';
18
+ import '../chunk-YDTW4GT6.js';
19
+ import '../chunk-ZYDE52WE.js';
20
20
  import '../chunk-QMONOHXT.js';
21
- import '../chunk-QAVZOJCV.js';
21
+ import '../chunk-OVRSNIKJ.js';
22
22
  import '../chunk-6E6PKKAD.js';
23
- import '../chunk-ICS76R4T.js';
24
- import '../chunk-GZWJGNNN.js';
25
- import '../chunk-FVTV7M76.js';
26
- import '../chunk-XVL22AWE.js';
23
+ import '../chunk-W7W66MDZ.js';
24
+ import '../chunk-DEYYRFQU.js';
25
+ import '../chunk-IFGTRL2I.js';
26
+ import '../chunk-KL2MQ6WI.js';
27
27
  import '../chunk-K5GBV4SA.js';
28
- import '../chunk-KLNL7QHN.js';
29
- import '../chunk-UD4ZLXGS.js';
30
- import '../chunk-3QTZWPGH.js';
31
- import '../chunk-GL45UNVS.js';
32
- import '../chunk-WIAHJOMG.js';
28
+ import '../chunk-ZAP2BDHG.js';
29
+ import '../chunk-C32BRO2W.js';
30
+ import '../chunk-Z5DI7PDG.js';
31
+ import '../chunk-IERB3UXJ.js';
32
+ import '../chunk-2FS4FPZ7.js';
33
+ import '../chunk-IEJ5IOC3.js';
33
34
  import '../chunk-JKNWJ64A.js';
34
35
  import '../chunk-O4JH3KUE.js';
35
36
  import '../chunk-24UIWON4.js';
36
37
  import '../chunk-NSBPE2FW.js';
37
- import { mkdirSync, rmSync, existsSync, writeFileSync } from 'fs';
38
+ import { mkdirSync, mkdtempSync, rmSync, existsSync, writeFileSync } from 'fs';
39
+ import { tmpdir } from 'os';
38
40
  import { join } from 'path';
39
41
  import { stringify } from 'yaml';
40
42
 
@@ -298,8 +300,7 @@ function prepareWorkspace(opts) {
298
300
  mkdirSync(opts.workspaceDir, { recursive: true });
299
301
  return { dir: opts.workspaceDir, cleanup: void 0 };
300
302
  }
301
- const dir = join("/tmp/skaile-sdk", String(Date.now()));
302
- mkdirSync(dir, { recursive: true });
303
+ const dir = mkdtempSync(join(tmpdir(), "skaile-sdk-"));
303
304
  const cleanup = opts.keepWorkspace ? void 0 : () => rmSync(dir, { recursive: true, force: true });
304
305
  return { dir, cleanup };
305
306
  }
@@ -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 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 break;\n }\n\n case \"tool_call\": {\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 break;\n }\n\n case \"question\": {\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 break;\n }\n\n case \"error\": {\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 break;\n }\n\n case \"status\": {\n const phase = \"phase\" in event ? String(event.phase) : \"\";\n if (phase === \"thinking\" && this.currentTextLine !== null) break;\n if (phase) this.appendLine({ type: \"status\", phase });\n break;\n }\n\n case \"subagent\": {\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 break;\n }\n\n case \"finished\": {\n this.sealText();\n this.appendLine({ type: \"separator\" });\n this.state = \"idle\";\n break;\n }\n\n case \"state_changed\": {\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 break;\n }\n }\n\n this.notify();\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 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 { mkdirSync, existsSync, rmSync, writeFileSync } from \"node:fs\";\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 temporary directory under `/tmp/skaile-sdk/<timestamp>`\n * is created; the cleanup function removes it on 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 const dir = join(\"/tmp/skaile-sdk\", String(Date.now()));\n mkdirSync(dir, { recursive: true });\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 { prepareWorkspace, writeSkaileYaml } from \"./workspace.js\";\nimport type { CreateAgentSessionOptions } from \"./types.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 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 break;\n }\n\n case \"tool_call\": {\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 break;\n }\n\n case \"question\": {\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 break;\n }\n\n case \"error\": {\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 break;\n }\n\n case \"status\": {\n const phase = \"phase\" in event ? String(event.phase) : \"\";\n if (phase === \"thinking\" && this.currentTextLine !== null) break;\n if (phase) this.appendLine({ type: \"status\", phase });\n break;\n }\n\n case \"subagent\": {\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 break;\n }\n\n case \"finished\": {\n this.sealText();\n this.appendLine({ type: \"separator\" });\n this.state = \"idle\";\n break;\n }\n\n case \"state_changed\": {\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 break;\n }\n }\n\n this.notify();\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 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 { mkdirSync, existsSync, 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 { prepareWorkspace, writeSkaileYaml } from \"./workspace.js\";\nimport type { CreateAgentSessionOptions } from \"./types.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,4 +1,4 @@
1
- export { buildRequiresPreamble, parseCompactionDirectives, parseSkillFrontmatter, parseSkillRequirements, validateConnectorRequirements, validateFlowVersions, validateRequirements } from '../chunk-IPUYL6TD.js';
1
+ export { buildRequiresPreamble, parseCompactionDirectives, parseSkillFrontmatter, parseSkillRequirements, validateConnectorRequirements, validateFlowVersions, validateRequirements } from '../chunk-TV72ZJYN.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=resolver.js.map
4
4
  //# sourceMappingURL=resolver.js.map
@@ -1,34 +1,35 @@
1
- export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildContextSection, buildEnvironmentSection, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-BJWUSHC4.js';
2
- import '../chunk-4QVFQEY2.js';
1
+ export { CLAUDE_CODE_CREDENTIALS_KEY, COMPILE_MANIFEST_FILENAME, CapabilityRegistry, DEFAULT_CAPABILITY_CALL_TIMEOUT_MS, DEFAULT_COALESCE_MS, MarkdownStreamer, PreInitRingSink, agentDefinitionExists, bootstrapCapabilityRegistry, bootstrapRunnerLogStore, buildAgentResources, buildClientCapabilityHandler, buildContextSection, buildEnvironmentSection, builtinCapabilities, clearPreInitRingSink, clearSession, compileComposition, computeCapabilitySignature, createAgentSession, createSessionStimulusBus, defineCapability, deleteSession, emitSystemPromptComposed, ensureGitConfigInclude, extractClaudeAiOauthExpiresAt, getPreInitRingSink, handleMountResourceRequest, handleResourceRequest, installPreInitRingSink, listSessions, loadAgentManifest, loadCompileManifest, loadCompileManifestFromDir, loadSession, loadSessionById, newSession, registerCompositionCapabilities, rejectCapabilityOnApprovalDeny, resetRunnerLogStore, resolveAgentComposition, resolveAgentMixins, resolveBinding, resolveCapabilityCallTimeoutMs, resolveCapabilityResult, resolveComposition, resolveMixin, runAgentChat, saveSession, setCurrentSession, startAgentServer, touchSession, writeClaudeCodeCredentialsFile } from '../chunk-WD4LP66U.js';
2
+ import '../chunk-BQRRBGDE.js';
3
3
  import '../chunk-X5YPJV4N.js';
4
+ import '../chunk-TDSRLMDB.js';
4
5
  import '../chunk-O7SG5PC2.js';
5
6
  import '../chunk-7QBNJTTQ.js';
6
7
  import '../chunk-GTS2FODO.js';
7
8
  import '../chunk-WQ7DE5UC.js';
8
9
  import '../chunk-32NA4TVC.js';
9
10
  export { assembleSystemPrompt, buildCapabilitiesPromptSection, buildLinkedPeersPromptSection } from '../chunk-W3UDISS2.js';
10
- import '../chunk-TDSRLMDB.js';
11
- import '../chunk-M5TE6YI5.js';
12
- import '../chunk-DQWREFRQ.js';
13
- import '../chunk-KOVLSBXK.js';
11
+ import '../chunk-23M4XZQW.js';
12
+ import '../chunk-BMQKMOQY.js';
13
+ import '../chunk-PAYAFNXG.js';
14
14
  import '../chunk-RRVQAE5D.js';
15
- import '../chunk-6VTG73UY.js';
15
+ import '../chunk-45H3UO2R.js';
16
16
  import '../chunk-LV2HPH3C.js';
17
- import '../chunk-XMP6XTMF.js';
18
- import '../chunk-SETTLPBD.js';
17
+ import '../chunk-YDTW4GT6.js';
18
+ import '../chunk-ZYDE52WE.js';
19
19
  import '../chunk-QMONOHXT.js';
20
- import '../chunk-QAVZOJCV.js';
20
+ import '../chunk-OVRSNIKJ.js';
21
21
  import '../chunk-6E6PKKAD.js';
22
- import '../chunk-ICS76R4T.js';
23
- import '../chunk-GZWJGNNN.js';
24
- import '../chunk-FVTV7M76.js';
25
- export { globalSettingsPath, loadSettings, mapLegacyFields, projectSettingsPath, resolveSettings, saveSettings } from '../chunk-XVL22AWE.js';
22
+ import '../chunk-W7W66MDZ.js';
23
+ import '../chunk-DEYYRFQU.js';
24
+ import '../chunk-IFGTRL2I.js';
25
+ export { globalSettingsPath, loadSettings, mapLegacyFields, projectSettingsPath, resolveSettings, saveSettings } from '../chunk-KL2MQ6WI.js';
26
26
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
27
- import '../chunk-KLNL7QHN.js';
28
- import '../chunk-UD4ZLXGS.js';
29
- import '../chunk-3QTZWPGH.js';
30
- import '../chunk-GL45UNVS.js';
31
- import '../chunk-WIAHJOMG.js';
27
+ import '../chunk-ZAP2BDHG.js';
28
+ import '../chunk-C32BRO2W.js';
29
+ import '../chunk-Z5DI7PDG.js';
30
+ import '../chunk-IERB3UXJ.js';
31
+ import '../chunk-2FS4FPZ7.js';
32
+ import '../chunk-IEJ5IOC3.js';
32
33
  import '../chunk-JKNWJ64A.js';
33
34
  export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS } from '../chunk-O4JH3KUE.js';
34
35
  import '../chunk-24UIWON4.js';
@@ -1,4 +1,4 @@
1
- export { SessionDispatcher, isAgentAddressed, isMentioned, parseMentions } from '../chunk-D3VO6WNC.js';
1
+ export { SessionDispatcher, isAgentAddressed, isMentioned, parseMentions } from '../chunk-PRLD7EXG.js';
2
2
  import '../chunk-TDSRLMDB.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=session.js.map
@@ -1,2 +1,2 @@
1
- export * from "@skaile/workspaces/base-assets/connectors/flow/engine";
1
+ export * from "@skaile/workspaces/factory-assets/connectors/flow/engine";
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/src/flow/index.ts"],"names":[],"mappings":"AAAA,cAAc,uDAAuD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../sdk/src/flow/index.ts"],"names":[],"mappings":"AAAA,cAAc,0DAA0D,CAAC"}
@@ -6,8 +6,9 @@ import type { CreateAgentSessionOptions } from "./types.js";
6
6
  * Prepare a workspace directory for a session. Returns the path and cleanup fn.
7
7
  *
8
8
  * If `opts.workspaceDir` is set, that directory is created (if needed) and returned
9
- * with no cleanup. Otherwise a temporary directory under `/tmp/skaile-sdk/<timestamp>`
10
- * is created; the cleanup function removes it on session stop unless `keepWorkspace` is true.
9
+ * with no cleanup. Otherwise a unique temporary directory (`skaile-sdk-*` under the
10
+ * OS temp dir) is created via `mkdtempSync`; the cleanup function removes it on
11
+ * session stop unless `keepWorkspace` is true.
11
12
  *
12
13
  * @param opts - Session creation options providing `workspaceDir` and `keepWorkspace`.
13
14
  * @returns An object with the resolved `dir` path and an optional `cleanup` function.
@@ -1 +1 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../sdk/src/workspace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnC,CAcA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,IAAI,CA+ClF"}
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../sdk/src/workspace.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAE5D;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACnC,CAeA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,yBAAyB,GAAG,IAAI,CA+ClF"}
@@ -1,4 +1,4 @@
1
- export { DEFAULT_TELEMETRY_CONFIG, NoopTelemetryProvider, getTelemetry, getTelemetryConfig, initTelemetry, resolveTelemetryConfig } from '../chunk-GCJXPUHG.js';
1
+ export { DEFAULT_TELEMETRY_CONFIG, NoopTelemetryProvider, getTelemetry, getTelemetryConfig, initTelemetry, resolveTelemetryConfig } from '../chunk-ZONCCO5N.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=telemetry.js.map
4
4
  //# sourceMappingURL=telemetry.js.map
@@ -1,4 +1,4 @@
1
- export { CredentialLifecycleService, EnvSecretsProvider, LocalSecretsProvider, SecretsRouter, VERSION } from '../chunk-JDX54X4Y.js';
1
+ export { CredentialLifecycleService, EnvSecretsProvider, LocalSecretsProvider, SecretsRouter, VERSION } from '../chunk-7GWYRVAX.js';
2
2
  export { ProviderUnavailableError, SecretAccessDeniedError, SecretExpiredError, SecretNotFoundError, SecretsError } from '../chunk-OKRUTSG7.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=index.js.map