@skaile/workspaces 3.2.1 → 3.4.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 (215) hide show
  1. package/CHANGELOG.md +168 -0
  2. package/dist/{asset-feeds-SEYSNNEM.js → asset-feeds-CBY723RG.js} +11 -11
  3. package/dist/{asset-feeds-SEYSNNEM.js.map → asset-feeds-CBY723RG.js.map} +1 -1
  4. package/dist/asset-manager/catalog-deployer.js +7 -7
  5. package/dist/asset-manager/index.js +10 -10
  6. package/dist/asset-manager/installer.js +7 -7
  7. package/dist/bridge/drivers/claude-sdk.js +8 -8
  8. package/dist/bridge/drivers/codex.js +3 -3
  9. package/dist/bridge/drivers/continue.js +4 -4
  10. package/dist/bridge/drivers/echo.js +3 -3
  11. package/dist/bridge/drivers/gemini.js +5 -5
  12. package/dist/bridge/drivers/goose.js +4 -4
  13. package/dist/bridge/drivers/omp.js +3 -3
  14. package/dist/bridge/drivers/opencode.js +4 -4
  15. package/dist/bridge/drivers/qwen.js +5 -5
  16. package/dist/bridge/index.js +9 -9
  17. package/dist/{chunk-57RFYEVM.js → chunk-2Y2AWWWM.js} +4 -10
  18. package/dist/chunk-2Y2AWWWM.js.map +1 -0
  19. package/dist/{chunk-O6B3ZZ5S.js → chunk-3A3ETJFD.js} +4 -4
  20. package/dist/{chunk-O6B3ZZ5S.js.map → chunk-3A3ETJFD.js.map} +1 -1
  21. package/dist/{chunk-7GOCNYUV.js → chunk-3A5IKBHQ.js} +47 -47
  22. package/dist/{chunk-7GOCNYUV.js.map → chunk-3A5IKBHQ.js.map} +1 -1
  23. package/dist/{chunk-I7S6DFRU.js → chunk-3Q7JDLLH.js} +46 -6
  24. package/dist/chunk-3Q7JDLLH.js.map +1 -0
  25. package/dist/{chunk-PTAUN5CY.js → chunk-3UGP7I2Y.js} +3 -3
  26. package/dist/{chunk-PTAUN5CY.js.map → chunk-3UGP7I2Y.js.map} +1 -1
  27. package/dist/{chunk-CZZRDYT4.js → chunk-4VTBZ2MF.js} +4 -4
  28. package/dist/{chunk-CZZRDYT4.js.map → chunk-4VTBZ2MF.js.map} +1 -1
  29. package/dist/{chunk-U5POE4BA.js → chunk-5Q7HA4JP.js} +3 -3
  30. package/dist/{chunk-U5POE4BA.js.map → chunk-5Q7HA4JP.js.map} +1 -1
  31. package/dist/{chunk-P43HBWKK.js → chunk-6BV24JPZ.js} +36 -7
  32. package/dist/chunk-6BV24JPZ.js.map +1 -0
  33. package/dist/{chunk-AM5LFRXJ.js → chunk-A7XP4C7C.js} +3 -3
  34. package/dist/{chunk-AM5LFRXJ.js.map → chunk-A7XP4C7C.js.map} +1 -1
  35. package/dist/{chunk-ZNIHTT22.js → chunk-AXFOJ2UG.js} +5 -5
  36. package/dist/{chunk-ZNIHTT22.js.map → chunk-AXFOJ2UG.js.map} +1 -1
  37. package/dist/{chunk-PKEAYYEJ.js → chunk-BCXI27BH.js} +219 -4
  38. package/dist/chunk-BCXI27BH.js.map +1 -0
  39. package/dist/{chunk-3HVASHBF.js → chunk-BJ7QIUBM.js} +6 -15
  40. package/dist/chunk-BJ7QIUBM.js.map +1 -0
  41. package/dist/{chunk-CH3UTJBT.js → chunk-BYPQHEI4.js} +6 -6
  42. package/dist/{chunk-CH3UTJBT.js.map → chunk-BYPQHEI4.js.map} +1 -1
  43. package/dist/{chunk-NWFZUQPF.js → chunk-DFZ6QENJ.js} +18 -18
  44. package/dist/{chunk-NWFZUQPF.js.map → chunk-DFZ6QENJ.js.map} +1 -1
  45. package/dist/{chunk-F5VREBV2.js → chunk-ELPR5XBG.js} +40 -3
  46. package/dist/chunk-ELPR5XBG.js.map +1 -0
  47. package/dist/{chunk-MWFYXUFK.js → chunk-G2CXWUO5.js} +4 -4
  48. package/dist/{chunk-MWFYXUFK.js.map → chunk-G2CXWUO5.js.map} +1 -1
  49. package/dist/{chunk-BEAIJRVF.js → chunk-GHWJHOYX.js} +4 -4
  50. package/dist/{chunk-BEAIJRVF.js.map → chunk-GHWJHOYX.js.map} +1 -1
  51. package/dist/{chunk-FLBDLF3I.js → chunk-HGFKNJA5.js} +6 -4
  52. package/dist/chunk-HGFKNJA5.js.map +1 -0
  53. package/dist/{chunk-BK3WL3QK.js → chunk-JAHHMZWG.js} +3 -3
  54. package/dist/{chunk-BK3WL3QK.js.map → chunk-JAHHMZWG.js.map} +1 -1
  55. package/dist/{chunk-UFY2HFLO.js → chunk-KBXYT5HD.js} +4 -4
  56. package/dist/{chunk-UFY2HFLO.js.map → chunk-KBXYT5HD.js.map} +1 -1
  57. package/dist/{chunk-DNYE3SSL.js → chunk-MR3LQTGA.js} +4 -4
  58. package/dist/{chunk-DNYE3SSL.js.map → chunk-MR3LQTGA.js.map} +1 -1
  59. package/dist/{chunk-HCNVX34E.js → chunk-OI36ITDV.js} +8 -8
  60. package/dist/{chunk-HCNVX34E.js.map → chunk-OI36ITDV.js.map} +1 -1
  61. package/dist/{chunk-BEA7RXI3.js → chunk-P6V5GORE.js} +230 -41
  62. package/dist/chunk-P6V5GORE.js.map +1 -0
  63. package/dist/{chunk-2OCYS5EP.js → chunk-PEGIQ67F.js} +4 -4
  64. package/dist/{chunk-2OCYS5EP.js.map → chunk-PEGIQ67F.js.map} +1 -1
  65. package/dist/{chunk-I7MKEZ6J.js → chunk-PHJ2DU6D.js} +3 -3
  66. package/dist/{chunk-I7MKEZ6J.js.map → chunk-PHJ2DU6D.js.map} +1 -1
  67. package/dist/{chunk-NLZYBWVH.js → chunk-POYF2P7E.js} +10 -10
  68. package/dist/{chunk-NLZYBWVH.js.map → chunk-POYF2P7E.js.map} +1 -1
  69. package/dist/{chunk-NU4E7C5I.js → chunk-PW4SJE3X.js} +3 -3
  70. package/dist/{chunk-NU4E7C5I.js.map → chunk-PW4SJE3X.js.map} +1 -1
  71. package/dist/{chunk-Q26C5GLO.js → chunk-RD6MMBHQ.js} +3 -3
  72. package/dist/{chunk-Q26C5GLO.js.map → chunk-RD6MMBHQ.js.map} +1 -1
  73. package/dist/{chunk-46LE3GNY.js → chunk-RUFTB7QN.js} +3 -3
  74. package/dist/{chunk-46LE3GNY.js.map → chunk-RUFTB7QN.js.map} +1 -1
  75. package/dist/{chunk-BKUANJB7.js → chunk-S5N33NGZ.js} +50 -64
  76. package/dist/chunk-S5N33NGZ.js.map +1 -0
  77. package/dist/{chunk-IAIHZRG7.js → chunk-SJQ7544V.js} +7 -7
  78. package/dist/{chunk-IAIHZRG7.js.map → chunk-SJQ7544V.js.map} +1 -1
  79. package/dist/{chunk-VT6HDD2L.js → chunk-SUGDZOYZ.js} +3 -3
  80. package/dist/{chunk-VT6HDD2L.js.map → chunk-SUGDZOYZ.js.map} +1 -1
  81. package/dist/{chunk-XVIFPGYH.js → chunk-U2KIY532.js} +3 -3
  82. package/dist/{chunk-XVIFPGYH.js.map → chunk-U2KIY532.js.map} +1 -1
  83. package/dist/{chunk-HWEW3VII.js → chunk-VFL4STB7.js} +3 -3
  84. package/dist/{chunk-HWEW3VII.js.map → chunk-VFL4STB7.js.map} +1 -1
  85. package/dist/{chunk-DYMWJAL4.js → chunk-VQ4P7UYE.js} +3 -3
  86. package/dist/{chunk-DYMWJAL4.js.map → chunk-VQ4P7UYE.js.map} +1 -1
  87. package/dist/{chunk-KPZZI2KG.js → chunk-ZCIK44M7.js} +3 -3
  88. package/dist/{chunk-KPZZI2KG.js.map → chunk-ZCIK44M7.js.map} +1 -1
  89. package/dist/cli/index.js +396 -409
  90. package/dist/cli/index.js.map +1 -1
  91. package/dist/cli/src/commands/complete-resolvers.d.ts +4 -0
  92. package/dist/cli/src/commands/complete-resolvers.d.ts.map +1 -1
  93. package/dist/cli/src/commands/flow.d.ts +8 -4
  94. package/dist/cli/src/commands/flow.d.ts.map +1 -1
  95. package/dist/cli/src/commands/run.d.ts.map +1 -1
  96. package/dist/cli/src/commands/validate.d.ts.map +1 -1
  97. package/dist/cli/src/flow-discovery.d.ts +31 -15
  98. package/dist/cli/src/flow-discovery.d.ts.map +1 -1
  99. package/dist/cli/src/paths.d.ts +9 -19
  100. package/dist/cli/src/paths.d.ts.map +1 -1
  101. package/dist/connectors/config.js +7 -7
  102. package/dist/connectors/index.js +14 -14
  103. package/dist/core/index.js +6 -6
  104. package/dist/core/logging.js +2 -2
  105. package/dist/core/manifest.js +2 -2
  106. package/dist/core/runtime-assets.js +4 -4
  107. package/dist/core/src/asset-roots.d.ts +74 -0
  108. package/dist/core/src/asset-roots.d.ts.map +1 -0
  109. package/dist/core/src/index.d.ts +1 -0
  110. package/dist/core/src/index.d.ts.map +1 -1
  111. package/dist/core/workspace-config.js +3 -3
  112. package/dist/deploy/index.js +6 -6
  113. package/dist/discovery/index.js +3 -3
  114. package/dist/{ensure-sources-IM3JMW2L.js → ensure-sources-O6AWQXAY.js} +13 -13
  115. package/dist/{ensure-sources-IM3JMW2L.js.map → ensure-sources-O6AWQXAY.js.map} +1 -1
  116. package/dist/factory-assets/connectors/box.js +14 -14
  117. package/dist/factory-assets/connectors/deploy.js +14 -14
  118. package/dist/factory-assets/connectors/devserver.js +14 -14
  119. package/dist/factory-assets/connectors/flow/CONNECTOR.md +42 -9
  120. package/dist/factory-assets/connectors/flow/adapter.d.ts +1 -1
  121. package/dist/factory-assets/connectors/flow/adapter.d.ts.map +1 -1
  122. package/dist/factory-assets/connectors/flow/adapter.js +14 -14
  123. package/dist/factory-assets/connectors/flow/engine/index.d.ts +2 -0
  124. package/dist/factory-assets/connectors/flow/engine/index.d.ts.map +1 -1
  125. package/dist/factory-assets/connectors/flow/engine/locate.d.ts +75 -0
  126. package/dist/factory-assets/connectors/flow/engine/locate.d.ts.map +1 -0
  127. package/dist/factory-assets/connectors/flow/engine/node-shape.d.ts +56 -0
  128. package/dist/factory-assets/connectors/flow/engine/node-shape.d.ts.map +1 -1
  129. package/dist/factory-assets/connectors/flow/engine.js +8 -8
  130. package/dist/factory-assets/connectors/flow/index.d.ts +1 -1
  131. package/dist/factory-assets/connectors/flow/index.d.ts.map +1 -1
  132. package/dist/factory-assets/connectors/flow/node-executor.d.ts +23 -3
  133. package/dist/factory-assets/connectors/flow/node-executor.d.ts.map +1 -1
  134. package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts +4 -0
  135. package/dist/factory-assets/connectors/flow/prompt-fragments.d.ts.map +1 -1
  136. package/dist/factory-assets/connectors/flow/prompt-fragments.js +2 -2
  137. package/dist/factory-assets/connectors/flow/run-flow.d.ts +9 -1
  138. package/dist/factory-assets/connectors/flow/run-flow.d.ts.map +1 -1
  139. package/dist/factory-assets/connectors/flow/run-flow.js +16 -16
  140. package/dist/factory-assets/connectors/flow.js +14 -14
  141. package/dist/factory-assets/connectors/git.js +14 -14
  142. package/dist/factory-assets/connectors/gmail.js +14 -14
  143. package/dist/factory-assets/connectors/googledrive.js +14 -14
  144. package/dist/factory-assets/connectors/local.js +14 -14
  145. package/dist/factory-assets/connectors/mattermost.js +14 -14
  146. package/dist/factory-assets/connectors/memory.js +14 -14
  147. package/dist/factory-assets/connectors/minio.js +14 -14
  148. package/dist/factory-assets/connectors/postgres.js +14 -14
  149. package/dist/factory-assets/connectors/s3.js +14 -14
  150. package/dist/factory-assets/connectors/sharepoint.js +14 -14
  151. package/dist/factory-assets/connectors/sqlite.js +14 -14
  152. package/dist/factory-assets/connectors/static-server.js +14 -14
  153. package/dist/factory-assets/connectors/tunnel.js +14 -14
  154. package/dist/factory-assets/connectors/webdav.js +14 -14
  155. package/dist/factory-assets/connectors/xstate-store.js +14 -14
  156. package/dist/factory-assets/connectors/xstate.js +14 -14
  157. package/dist/flows-66NOT5N6.js +20 -0
  158. package/dist/{flows-PBNW6BEH.js.map → flows-66NOT5N6.js.map} +1 -1
  159. package/dist/{helpers-LJFOH4RB.js → helpers-QUGRH2MW.js} +13 -13
  160. package/dist/{helpers-LJFOH4RB.js.map → helpers-QUGRH2MW.js.map} +1 -1
  161. package/dist/library/index.js +8 -8
  162. package/dist/library/install.js +6 -6
  163. package/dist/library/src/config.d.ts +6 -6
  164. package/dist/library/src/config.d.ts.map +1 -1
  165. package/dist/{library-publish-BEFA7OCS.js → library-publish-TCT652H4.js} +18 -18
  166. package/dist/{library-publish-BEFA7OCS.js.map → library-publish-TCT652H4.js.map} +1 -1
  167. package/dist/open-library-6OSZX2O6.js +32 -0
  168. package/dist/{open-library-WJ7P7B4N.js.map → open-library-6OSZX2O6.js.map} +1 -1
  169. package/dist/paths-ESJHWGBR.js +16 -0
  170. package/dist/{paths-2ZZMB7HU.js.map → paths-ESJHWGBR.js.map} +1 -1
  171. package/dist/{plugin-store-EOP3S7OU.js → plugin-store-3BYOBKYT.js} +8 -8
  172. package/dist/{plugin-store-EOP3S7OU.js.map → plugin-store-3BYOBKYT.js.map} +1 -1
  173. package/dist/{project-6RXDBSRV.js → project-5RGSHTZ7.js} +14 -14
  174. package/dist/{project-6RXDBSRV.js.map → project-5RGSHTZ7.js.map} +1 -1
  175. package/dist/resolver/index.js +7 -7
  176. package/dist/runner/index.js +19 -19
  177. package/dist/sdk/asset-manager.js +10 -10
  178. package/dist/sdk/bridge.js +9 -9
  179. package/dist/sdk/core.js +6 -6
  180. package/dist/sdk/flow.js +8 -8
  181. package/dist/sdk/index.js +19 -19
  182. package/dist/sdk/resolver.js +7 -7
  183. package/dist/sdk/runner.js +19 -19
  184. package/dist/sdk/session.js +1 -1
  185. package/dist/session/index.js +1 -1
  186. package/dist/session/src/dispatcher.d.ts +15 -0
  187. package/dist/session/src/dispatcher.d.ts.map +1 -1
  188. package/dist/session/src/workspace-change-digest.d.ts +34 -0
  189. package/dist/session/src/workspace-change-digest.d.ts.map +1 -0
  190. package/dist/{setup-XI7TCIGF.js → setup-X2T3NW7P.js} +11 -11
  191. package/dist/{setup-XI7TCIGF.js.map → setup-X2T3NW7P.js.map} +1 -1
  192. package/dist/skills-TYMTW4V4.js +20 -0
  193. package/dist/{skills-5PJ6YVM7.js.map → skills-TYMTW4V4.js.map} +1 -1
  194. package/dist/{source-TJ457ZRQ.js → source-JS3G5P6Z.js} +17 -17
  195. package/dist/{source-TJ457ZRQ.js.map → source-JS3G5P6Z.js.map} +1 -1
  196. package/dist/{source-manifest-publish-R3Q4MT5W.js → source-manifest-publish-Y7BOFFO4.js} +19 -19
  197. package/dist/{source-manifest-publish-R3Q4MT5W.js.map → source-manifest-publish-Y7BOFFO4.js.map} +1 -1
  198. package/dist/tui/index.js +19 -19
  199. package/dist/workspace-plugin/adapters/mcp.js +11 -11
  200. package/dist/workspace-plugin/adapters/omp.js +7 -7
  201. package/dist/workspace-plugin/index.js +3 -3
  202. package/package.json +1 -1
  203. package/dist/chunk-3HVASHBF.js.map +0 -1
  204. package/dist/chunk-57RFYEVM.js.map +0 -1
  205. package/dist/chunk-BEA7RXI3.js.map +0 -1
  206. package/dist/chunk-BKUANJB7.js.map +0 -1
  207. package/dist/chunk-F5VREBV2.js.map +0 -1
  208. package/dist/chunk-FLBDLF3I.js.map +0 -1
  209. package/dist/chunk-I7S6DFRU.js.map +0 -1
  210. package/dist/chunk-P43HBWKK.js.map +0 -1
  211. package/dist/chunk-PKEAYYEJ.js.map +0 -1
  212. package/dist/flows-PBNW6BEH.js +0 -20
  213. package/dist/open-library-WJ7P7B4N.js +0 -32
  214. package/dist/paths-2ZZMB7HU.js +0 -22
  215. package/dist/skills-5PJ6YVM7.js +0 -20
@@ -13,6 +13,10 @@ export declare function resolveDomains(): string[];
13
13
  /**
14
14
  * Return flow IDs for tab-completion of `skaile run <TAB>` and `skaile flow show <TAB>`.
15
15
  *
16
+ * Always resolves against the cwd project — `resolveDynamic` dispatches on
17
+ * argv position, so it only fires when the flow id is the first argument and
18
+ * never sees a `--project-dir`. The command itself still honours that flag.
19
+ *
16
20
  * @docLink cli/dev-guide#completion
17
21
  */
18
22
  export declare function resolveFlowIds(): string[];
@@ -1 +1 @@
1
- {"version":3,"file":"complete-resolvers.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/complete-resolvers.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CASzC;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAMzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAW9D;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAuE,CAAC"}
1
+ {"version":3,"file":"complete-resolvers.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/complete-resolvers.ts"],"names":[],"mappings":"AAOA;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CASzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAMzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAW9D;AAED;;;;GAIG;AACH,eAAO,MAAM,WAAW,UAAuE,CAAC"}
@@ -3,10 +3,14 @@ import { Command } from "commander";
3
3
  * Create the `skaile flow` command group.
4
4
  *
5
5
  * Browses flows discovered across every content root via {@link discoverFlows}
6
- * (bundled factory-assets when installed, the monorepo tree in dev, plus user
7
- * libraries). Subcommands: `list` (print all available flows with
8
- * their IDs, names, and descriptions) and `show <id>` (print the flow's
9
- * metadata and its skill nodes in execution order, marking optional nodes).
6
+ * (the project's `.skaile/` install root, bundled factory-assets when installed /
7
+ * the monorepo tree in dev, user libraries, and the global `~/.skaile/` install
8
+ * root). Subcommands: `list` (print all available flows with their IDs, names,
9
+ * and descriptions) and `show <id>` (print the flow's metadata and its skill
10
+ * nodes in execution order, marking optional nodes).
11
+ *
12
+ * Both take `--project-dir` and forward it to discovery, so they list exactly the
13
+ * flows `skaile run --project-dir <same>` can start.
10
14
  *
11
15
  * @returns Configured {@link Command} ready for `program.addCommand()`.
12
16
  * @docLink cli/commands/flow#make-flow-command
@@ -1 +1 @@
1
- {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAmDzC"}
1
+ {"version":3,"file":"flow.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/flow.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAkEzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/run.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDpC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAyIxC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqC3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAoC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAS1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAyEzC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/run.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiDpC;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,IAAI,OAAO,CA8HxC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqC3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAoC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAS1C;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAyEzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+mBpC;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CA6F7C"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/validate.ts"],"names":[],"mappings":"AAAA;;GAEG;AAkBH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6nBpC;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CA6F7C"}
@@ -1,34 +1,50 @@
1
1
  /**
2
2
  * flow-discovery.ts — multi-root flow discovery for the CLI.
3
3
  *
4
- * Walks every {@link aiResourceRoots} root (bundled factory-assets when
5
- * installed, the monorepo `ai-assets/` in dev, plus `~/.skaile/libraries/`)
6
- * through the layout-tolerant `loadAllFlowEntries`, so built-in flows are
7
- * discovered after `npm i` exactly as they are in the monorepo. De-duplicated by
8
- * flow id (first root wins).
4
+ * Walks every {@link aiResourceRoots} root (the project's own `.skaile/` install
5
+ * root, bundled factory-assets when installed / the monorepo `ai-assets/` in dev,
6
+ * `~/.skaile/libraries/`, and the global `~/.skaile/` install root) through the
7
+ * layout-tolerant `loadAllFlowEntries`, so an installed flow and a built-in flow
8
+ * are discovered the same way. De-duplicated by flow id (first root wins).
9
9
  *
10
10
  * A flow's identity is its declared `id` — never its filename. Listing and
11
- * resolution therefore run over the same enumeration, so what `flow list` prints
12
- * is exactly what `run` can start.
11
+ * resolution therefore run over the same enumeration, so on the shared roots what
12
+ * `flow list` prints is exactly what `run` can start. Both entry points take the
13
+ * same optional `projectDir`: pass the *same* value to both, or a `--project-dir`
14
+ * run can start a flow the matching list never showed.
15
+ *
16
+ * Listing is a documented **subset** of resolution, not a divergent set: every
17
+ * root here is also a `flowLookupRoots` root, and that function adds exactly one
18
+ * more — the project's own `ai-assets/` tree, which `run` prepends and
19
+ * `discoverFlows` never sees, so a flow living only there is runnable but
20
+ * unlisted. Closing that gap means teaching listing the same upward walk —
21
+ * tracked separately, not papered over here.
13
22
  */
14
23
  import { loadAllFlowEntries } from "@skaile/workspaces/factory-assets/connectors/flow/engine";
15
24
  type FlowDefinition = ReturnType<typeof loadAllFlowEntries>[number]["flow"];
16
- /** All flows across every content root, de-duplicated by id. */
17
- export declare function discoverFlows(): FlowDefinition[];
25
+ /**
26
+ * All flows across every content root, de-duplicated by id.
27
+ *
28
+ * @param projectDir - Project whose `.skaile/` install root to include
29
+ * (default: `process.cwd()`).
30
+ */
31
+ export declare function discoverFlows(projectDir?: string): FlowDefinition[];
18
32
  /**
19
33
  * Locate the on-disk file of the flow **whose declared `id`** is `flowId`,
20
34
  * across every content root, both content-root layouts (`<root>/flows/` and
21
35
  * `<root>/<domain>/flows/`), and both flow layouts (flat and per-flow directory).
22
36
  *
23
- * The conventional paths are probed first, but a hit only counts once the file
24
- * confirms the id a flow named after something other than its id is found via
25
- * the same enumeration `discoverFlows` uses, which is what keeps `flow list` and
26
- * `run` agreeing by construction. Discovery warnings are suppressed here: a miss
27
- * is the normal case for `skaile run "<free-text prompt>"`.
37
+ * A thin binding of the shared `findFlowFileInRoots` to the CLI's root order
38
+ * the same lookup `resume`, sub-flow targets and `serve` run, so what `run`
39
+ * starts is what those can later find.
28
40
  *
29
41
  * `priorityRoots` are searched before the standard {@link aiResourceRoots} so a
30
42
  * project-local `ai-assets/` tree can override a built-in flow.
43
+ *
44
+ * @param projectDir - Project whose `.skaile/` install root to include
45
+ * (default: `process.cwd()`). Must match the one passed to
46
+ * {@link discoverFlows} for "listed" and "runnable" to stay the same set.
31
47
  */
32
- export declare function findFlowFile(flowId: string, priorityRoots?: string[]): string | undefined;
48
+ export declare function findFlowFile(flowId: string, priorityRoots?: string[], projectDir?: string): string | undefined;
33
49
  export {};
34
50
  //# sourceMappingURL=flow-discovery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"flow-discovery.d.ts","sourceRoot":"","sources":["../../../cli/src/flow-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,OAAO,EAEL,kBAAkB,EAEnB,MAAM,0DAA0D,CAAC;AAIlE,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,gEAAgE;AAChE,wBAAgB,aAAa,IAAI,cAAc,EAAE,CAQhD;AAWD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,GAAE,MAAM,EAAO,GAAG,MAAM,GAAG,SAAS,CAW7F"}
1
+ {"version":3,"file":"flow-discovery.d.ts","sourceRoot":"","sources":["../../../cli/src/flow-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAEL,kBAAkB,EACnB,MAAM,0DAA0D,CAAC;AAIlE,KAAK,cAAc,GAAG,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,cAAc,EAAE,CAQnE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,MAAM,EAAO,EAC5B,UAAU,CAAC,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAEpB"}
@@ -1,3 +1,12 @@
1
+ /**
2
+ * The content-root policy lives in `@skaile/workspaces/core` so the flow
3
+ * connector's resolution surfaces can reach it too — `factory-assets → cli`
4
+ * would be a module cycle. Re-exported here because this module is the CLI's
5
+ * documented path surface and every CLI caller imports it from here.
6
+ *
7
+ * @docLink cli/dev-guide#paths
8
+ */
9
+ export { aiResourceRoots } from "@skaile/workspaces/core";
1
10
  /**
2
11
  * Absolute path to the monorepo root, or `null` when the CLI is running
3
12
  * outside the skaile-dev workspace (typical for `npm i -g` installs).
@@ -22,23 +31,4 @@ export declare const MONOREPO_ROOT: string | null;
22
31
  * @docLink cli/dev-guide#paths
23
32
  */
24
33
  export declare const AI_RESOURCES: string;
25
- /**
26
- * All content roots that skill / flow discovery should walk, in priority order,
27
- * filtered to those that exist on disk and de-duplicated.
28
- *
29
- * - The first-party `factory-assets/` roots from the shared `factoryAssetRoots()`
30
- * helper — the `SKAILE_FACTORY_ASSETS_DIR` override layer (when set) ahead of
31
- * the bundled tree (in-repo source in dev, `dist/factory-assets/` after
32
- * install). No monorepo special-case.
33
- * - The user-library dir `~/.skaile/libraries/`.
34
- *
35
- * Order is significant: `findSkills` / flow discovery dedupe first-root-wins, so
36
- * the env override shadows the bundled tree on a name clash.
37
- *
38
- * This is the discovery surface used by `findSkills`, flow discovery, and the
39
- * completion resolvers.
40
- *
41
- * @docLink cli/dev-guide#paths
42
- */
43
- export declare function aiResourceRoots(): string[];
44
34
  //# sourceMappingURL=paths.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../cli/src/paths.ts"],"names":[],"mappings":"AA6BA;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,IAAiC,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MACgD,CAAC;AAE5E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAM1C"}
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../cli/src/paths.ts"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAwB1D;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,GAAG,IAAiC,CAAC;AAEvE;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,EAAE,MACgD,CAAC"}
@@ -1,16 +1,16 @@
1
- export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-ZNIHTT22.js';
2
- import '../chunk-P43HBWKK.js';
1
+ export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-AXFOJ2UG.js';
2
+ import '../chunk-6BV24JPZ.js';
3
3
  import '../chunk-F3HNW354.js';
4
4
  import '../chunk-K5GBV4SA.js';
5
5
  import '../chunk-QVZA2MDT.js';
6
- import '../chunk-UFY2HFLO.js';
7
- import '../chunk-Q26C5GLO.js';
6
+ import '../chunk-KBXYT5HD.js';
7
+ import '../chunk-RD6MMBHQ.js';
8
8
  import '../chunk-MENCWIHW.js';
9
9
  import '../chunk-P4VHQA4N.js';
10
- import '../chunk-DYMWJAL4.js';
10
+ import '../chunk-VQ4P7UYE.js';
11
11
  import '../chunk-GEEW6SY2.js';
12
- import '../chunk-U5POE4BA.js';
13
- import '../chunk-7GOCNYUV.js';
12
+ import '../chunk-5Q7HA4JP.js';
13
+ import '../chunk-3A5IKBHQ.js';
14
14
  import '../chunk-NSBPE2FW.js';
15
15
  //# sourceMappingURL=config.js.map
16
16
  //# sourceMappingURL=config.js.map
@@ -1,29 +1,29 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, PortPool, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, buildSdkFlowTools, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-BEA7RXI3.js';
2
- export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-ZNIHTT22.js';
3
- import '../chunk-KPZZI2KG.js';
4
- import '../chunk-46LE3GNY.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, PortPool, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, buildSdkFlowTools, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-P6V5GORE.js';
2
+ export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-AXFOJ2UG.js';
3
+ import '../chunk-ZCIK44M7.js';
4
+ import '../chunk-RUFTB7QN.js';
5
5
  import '../chunk-RRVQAE5D.js';
6
6
  import '../chunk-V34ZEXSE.js';
7
7
  import '../chunk-GAH4YRCI.js';
8
- import '../chunk-VT6HDD2L.js';
8
+ import '../chunk-SUGDZOYZ.js';
9
9
  import '../chunk-6E6PKKAD.js';
10
10
  import '../chunk-IFGTRL2I.js';
11
- import '../chunk-I7S6DFRU.js';
11
+ import '../chunk-3Q7JDLLH.js';
12
12
  import '../chunk-B4J6TV4G.js';
13
- import '../chunk-FLBDLF3I.js';
14
- import '../chunk-F5VREBV2.js';
15
- import '../chunk-P43HBWKK.js';
13
+ import '../chunk-HGFKNJA5.js';
14
+ import '../chunk-ELPR5XBG.js';
15
+ import '../chunk-6BV24JPZ.js';
16
16
  import '../chunk-F3HNW354.js';
17
17
  import '../chunk-K5GBV4SA.js';
18
18
  import '../chunk-QVZA2MDT.js';
19
- import '../chunk-UFY2HFLO.js';
20
- import '../chunk-Q26C5GLO.js';
19
+ import '../chunk-KBXYT5HD.js';
20
+ import '../chunk-RD6MMBHQ.js';
21
21
  import '../chunk-MENCWIHW.js';
22
22
  import '../chunk-P4VHQA4N.js';
23
- import '../chunk-DYMWJAL4.js';
23
+ import '../chunk-VQ4P7UYE.js';
24
24
  import '../chunk-GEEW6SY2.js';
25
- import '../chunk-U5POE4BA.js';
26
- import '../chunk-7GOCNYUV.js';
25
+ import '../chunk-5Q7HA4JP.js';
26
+ import '../chunk-3A5IKBHQ.js';
27
27
  import '../chunk-NSBPE2FW.js';
28
28
  //# sourceMappingURL=index.js.map
29
29
  //# sourceMappingURL=index.js.map
@@ -1,15 +1,15 @@
1
- export { ALL_PROVIDERS, ManifestYamlEditor, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, checkAgentSkillConformance, 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-P43HBWKK.js';
1
+ export { ALL_PROVIDERS, ManifestYamlEditor, SETTINGS_DEFAULTS, WorkspaceYamlEditor, aiResourceRoots, applyPatch, buildLockFile, checkAgentSkillConformance, computeHash, defaultLibraryDir, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveLibraryDir, resolveSettings, savePatch, saveSettings, skaileHomeDir, verifyLock, walkForSettings, writeLock, writePluginsLockSlice } from '../chunk-6BV24JPZ.js';
2
2
  export { deployedBase, deployedDir, isDeployed } from '../chunk-F3HNW354.js';
3
3
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
4
4
  export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-QVZA2MDT.js';
5
- export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-UFY2HFLO.js';
6
- export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, cloudConfigFromProfile, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, globalSkaileDir, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, storeManifestSlug, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-Q26C5GLO.js';
5
+ export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-KBXYT5HD.js';
6
+ export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, cloudConfigFromProfile, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, globalSkaileDir, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, storeManifestSlug, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-RD6MMBHQ.js';
7
7
  export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS, globalBackendRoot } from '../chunk-MENCWIHW.js';
8
8
  export { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, encodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-P4VHQA4N.js';
9
- export { DEFAULT_FS_DEADLINE_MS, DEFAULT_WALK_BUDGET_MS, DEFAULT_WALK_MAX_DEPTH, DEFAULT_WALK_MAX_ENTRIES, FS_DEADLINE_ENV_VAR, FsDeadlineError, WALK_BUDGET_MS_ENV_VAR, WALK_MAX_DEPTH_ENV_VAR, WALK_MAX_ENTRIES_ENV_VAR, bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, fsDeadlineMs, parseFrontmatter, parseRequires, scanDirectory, tryWithFsDeadline, walkDir, withFsDeadline } from '../chunk-DYMWJAL4.js';
9
+ export { DEFAULT_FS_DEADLINE_MS, DEFAULT_WALK_BUDGET_MS, DEFAULT_WALK_MAX_DEPTH, DEFAULT_WALK_MAX_ENTRIES, FS_DEADLINE_ENV_VAR, FsDeadlineError, WALK_BUDGET_MS_ENV_VAR, WALK_MAX_DEPTH_ENV_VAR, WALK_MAX_ENTRIES_ENV_VAR, bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, fsDeadlineMs, parseFrontmatter, parseRequires, scanDirectory, tryWithFsDeadline, walkDir, withFsDeadline } from '../chunk-VQ4P7UYE.js';
10
10
  export { ASSET_KINDS, ASSET_NAME_HINT, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, isValidAssetName, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw, slugifyAssetName } from '../chunk-GEEW6SY2.js';
11
- export { OnLogBridgeSink, SqliteSink, WsLogSink, createLogStoreFromConfig, openSqlite, resolveLogStoreConfig } from '../chunk-U5POE4BA.js';
12
- export { LogStore, LogStoreDisabledError, NoOpSink, StdoutSink, createLogger, getLogStore, normalizeError, registerLogStore, resetLogStore, sanitizeData } from '../chunk-7GOCNYUV.js';
11
+ export { OnLogBridgeSink, SqliteSink, WsLogSink, createLogStoreFromConfig, openSqlite, resolveLogStoreConfig } from '../chunk-5Q7HA4JP.js';
12
+ export { LogStore, LogStoreDisabledError, NoOpSink, StdoutSink, createLogger, getLogStore, normalizeError, registerLogStore, resetLogStore, sanitizeData } from '../chunk-3A5IKBHQ.js';
13
13
  import '../chunk-NSBPE2FW.js';
14
14
  //# sourceMappingURL=index.js.map
15
15
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- export { OnLogBridgeSink, SqliteSink, WsLogSink, createLogStoreFromConfig, openSqlite, resolveLogStoreConfig } from '../chunk-U5POE4BA.js';
2
- export { LogStore, LogStoreDisabledError, NoOpSink, StdoutSink, createLogger, getLogStore, normalizeError, registerLogStore, resetLogStore, sanitizeData } from '../chunk-7GOCNYUV.js';
1
+ export { OnLogBridgeSink, SqliteSink, WsLogSink, createLogStoreFromConfig, openSqlite, resolveLogStoreConfig } from '../chunk-5Q7HA4JP.js';
2
+ export { LogStore, LogStoreDisabledError, NoOpSink, StdoutSink, createLogger, getLogStore, normalizeError, registerLogStore, resetLogStore, sanitizeData } from '../chunk-3A5IKBHQ.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=logging.js.map
5
5
  //# sourceMappingURL=logging.js.map
@@ -1,6 +1,6 @@
1
- export { DEFAULT_WALK_BUDGET_MS, DEFAULT_WALK_MAX_DEPTH, DEFAULT_WALK_MAX_ENTRIES, WALK_BUDGET_MS_ENV_VAR, WALK_MAX_DEPTH_ENV_VAR, WALK_MAX_ENTRIES_ENV_VAR, bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromKnowledgeYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-DYMWJAL4.js';
1
+ export { DEFAULT_WALK_BUDGET_MS, DEFAULT_WALK_MAX_DEPTH, DEFAULT_WALK_MAX_ENTRIES, WALK_BUDGET_MS_ENV_VAR, WALK_MAX_DEPTH_ENV_VAR, WALK_MAX_ENTRIES_ENV_VAR, bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromKnowledgeYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-VQ4P7UYE.js';
2
2
  import '../chunk-GEEW6SY2.js';
3
- import '../chunk-7GOCNYUV.js';
3
+ import '../chunk-3A5IKBHQ.js';
4
4
  import '../chunk-NSBPE2FW.js';
5
5
  //# sourceMappingURL=manifest.js.map
6
6
  //# sourceMappingURL=manifest.js.map
@@ -1,10 +1,10 @@
1
- export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-UFY2HFLO.js';
2
- import '../chunk-Q26C5GLO.js';
1
+ export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-KBXYT5HD.js';
2
+ import '../chunk-RD6MMBHQ.js';
3
3
  import '../chunk-MENCWIHW.js';
4
4
  import '../chunk-P4VHQA4N.js';
5
- import '../chunk-DYMWJAL4.js';
5
+ import '../chunk-VQ4P7UYE.js';
6
6
  import '../chunk-GEEW6SY2.js';
7
- import '../chunk-7GOCNYUV.js';
7
+ import '../chunk-3A5IKBHQ.js';
8
8
  import '../chunk-NSBPE2FW.js';
9
9
  //# sourceMappingURL=runtime-assets.js.map
10
10
  //# sourceMappingURL=runtime-assets.js.map
@@ -0,0 +1,74 @@
1
+ /**
2
+ * asset-roots.ts — the single definition of *where* skaile-owned content lives.
3
+ *
4
+ * The policy sits in `core/` rather than next to either of its callers because
5
+ * both layers that need it already depend on `core/`: the CLI's discovery
6
+ * surfaces (`flow list`, completions, skill walking) and the flow connector's
7
+ * resolution surfaces under `factory-assets/` (`resume`, sub-flow targets,
8
+ * `serve`). Keeping it in `cli/` instead would force a `factory-assets → cli`
9
+ * import, which is a real module cycle — and duplicating it there is exactly
10
+ * how the two lists drifted apart in the first place.
11
+ */
12
+ /**
13
+ * Root of the per-user skaile data directory (`~/.skaile`).
14
+ *
15
+ * Deliberately **not** routed through `globalSkaileDir()`: that one honours
16
+ * `$SKAILE_HOME`, this one is the fixed home-relative path the library, index
17
+ * and config layers have always written to. Reconciling the two would move
18
+ * users' data, so it is a behaviour change rather than a cleanup.
19
+ *
20
+ * @docLink packages/core/concepts#discovery
21
+ */
22
+ export declare function skaileHomeDir(): string;
23
+ /**
24
+ * The library checkouts directory before any environment override — the value
25
+ * `getConfigDefaults()` reports as the *default*, which must stay independent of
26
+ * `SKAILE_LIBRARIES_DIR` so a config file can still be seen to override it.
27
+ * Callers that want the effective directory want {@link resolveLibraryDir}.
28
+ *
29
+ * @docLink packages/core/concepts#discovery
30
+ */
31
+ export declare function defaultLibraryDir(): string;
32
+ /**
33
+ * Resolve the active library checkouts directory.
34
+ *
35
+ * `SKAILE_LIBRARIES_DIR` overrides the default `~/.skaile/libraries`.
36
+ *
37
+ * @docLink packages/core/concepts#discovery
38
+ */
39
+ export declare function resolveLibraryDir(): string;
40
+ /**
41
+ * All content roots that skill / flow discovery should walk, in priority order,
42
+ * filtered to those that exist on disk and de-duplicated.
43
+ *
44
+ * Four layers, in this order:
45
+ * 1. The project-local install root `<projectDir>/.skaile/`, where
46
+ * `skaile install` / `skaile add` deploy flows.
47
+ * 2. The first-party `factory-assets/` roots from the shared `factoryAssetRoots()`
48
+ * helper — the `SKAILE_FACTORY_ASSETS_DIR` override layer (when set) ahead of
49
+ * the bundled tree (in-repo source in dev, `dist/factory-assets/` after
50
+ * install). No monorepo special-case.
51
+ * 3. The user-library dir `~/.skaile/libraries/`.
52
+ * 4. The user-global install root `~/.skaile/`.
53
+ *
54
+ * Order is significant: `findSkills` / flow discovery dedupe first-root-wins, so
55
+ * the env override shadows the bundled tree on a name clash. The project-local
56
+ * install root leads because `deployAll` applies `patches:` to the deployed copy
57
+ * — that copy, not the factory original, is the project's effective flow.
58
+ *
59
+ * Only `flow` installs into skaile's own `.skaile/` tree; every other asset kind
60
+ * installs into the driver's directory (`.claude/`, `.omp/`, `.codex/`), which
61
+ * the driver reads natively and skaile deliberately does not enumerate. So the
62
+ * roots below are exactly the skaile-owned ones — an invariant asserted by
63
+ * `cli/tests/installed-asset-roots.test.ts`.
64
+ *
65
+ * This is the discovery surface used by `findSkills`, flow discovery, and the
66
+ * completion resolvers; flow *resolution* walks these same roots behind
67
+ * `flowLookupRoots`, which only prepends the project's own `ai-assets/` tree.
68
+ *
69
+ * @param projectDir - Project directory whose local install root to include
70
+ * (default: `process.cwd()`).
71
+ * @docLink packages/core/concepts#discovery
72
+ */
73
+ export declare function aiResourceRoots(projectDir?: string): string[];
74
+ //# sourceMappingURL=asset-roots.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"asset-roots.d.ts","sourceRoot":"","sources":["../../../core/src/asset-roots.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH;;;;;;;;;GASG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAG1C;AAiBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,eAAe,CAAC,UAAU,GAAE,MAAsB,GAAG,MAAM,EAAE,CAU5E"}
@@ -11,6 +11,7 @@
11
11
  * - `@skaile/workspace-cli` (the `skaile` binary)
12
12
  */
13
13
  export { __resetCacheMigrationMemo, globalCacheRoot, globalSkaileDir, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, migrateLegacyDir, } from "./cache-paths.js";
14
+ export { aiResourceRoots, defaultLibraryDir, resolveLibraryDir, skaileHomeDir, } from "./asset-roots.js";
14
15
  export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot, } from "./discovery.js";
15
16
  export type { AgentTarget, AiComponent, DriverTarget } from "./driver-targets.js";
16
17
  export { DRIVER_TARGETS, globalBackendRoot, SUPPORTED_DRIVER_TARGETS } from "./driver-targets.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- export { COMPACTION_DEFAULTS, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, cloudConfigFromProfile, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, findWorkspaceRoot, isWorkspaceConfigFilename, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, resolveAgentDir, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, stageMaterializedSkills, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename } from '../chunk-Q26C5GLO.js';
1
+ export { COMPACTION_DEFAULTS, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, cloudConfigFromProfile, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, findWorkspaceRoot, isWorkspaceConfigFilename, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, resolveAgentDir, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, stageMaterializedSkills, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename } from '../chunk-RD6MMBHQ.js';
2
2
  import '../chunk-MENCWIHW.js';
3
3
  import '../chunk-P4VHQA4N.js';
4
- import '../chunk-DYMWJAL4.js';
4
+ import '../chunk-VQ4P7UYE.js';
5
5
  import '../chunk-GEEW6SY2.js';
6
- import '../chunk-7GOCNYUV.js';
6
+ import '../chunk-3A5IKBHQ.js';
7
7
  import '../chunk-NSBPE2FW.js';
8
8
  //# sourceMappingURL=workspace-config.js.map
9
9
  //# sourceMappingURL=workspace-config.js.map
@@ -1,16 +1,16 @@
1
1
  import { makeDeployHandle, pluginRegistry } from '../chunk-6E6PKKAD.js';
2
- import { portableSpawnSync, portableSpawn } from '../chunk-P43HBWKK.js';
2
+ import { portableSpawnSync, portableSpawn } from '../chunk-6BV24JPZ.js';
3
3
  import '../chunk-F3HNW354.js';
4
4
  import '../chunk-K5GBV4SA.js';
5
5
  import '../chunk-QVZA2MDT.js';
6
- import '../chunk-UFY2HFLO.js';
7
- import '../chunk-Q26C5GLO.js';
6
+ import '../chunk-KBXYT5HD.js';
7
+ import '../chunk-RD6MMBHQ.js';
8
8
  import '../chunk-MENCWIHW.js';
9
9
  import '../chunk-P4VHQA4N.js';
10
- import '../chunk-DYMWJAL4.js';
10
+ import '../chunk-VQ4P7UYE.js';
11
11
  import '../chunk-GEEW6SY2.js';
12
- import '../chunk-U5POE4BA.js';
13
- import '../chunk-7GOCNYUV.js';
12
+ import '../chunk-5Q7HA4JP.js';
13
+ import '../chunk-3A5IKBHQ.js';
14
14
  import '../chunk-NSBPE2FW.js';
15
15
  import * as z from 'zod';
16
16
  import { createServer } from 'net';
@@ -1,9 +1,9 @@
1
- export { AGENT_COMPANION_DIRS, AssetKindRegistry, BUILTIN_PROVIDERS, DEFAULT_ATOMIZATION_POLICY, DOMAIN_MD_FILENAME, SEMVER_RE, SKILL_COMPANION_DIRS, SourceConfigSchema, VERSION, agentProvider, assignDomain, barePublisher, buildDomainIndex, buildRequiresGraph, closeOverReferences, computeDeterministicHash, computeDeterministicHashDetailed, connectorProvider, contractProvider, createDefaultRegistry, createNodeAssetFs, decodeManifestSourceConfig, detectCycles, discoverAssetsInTree, discoverAssetsInTreeEntries, discoverFromManifest, extractPathCandidates, extractRequires, extractSlashCommands, isDomainMdPath, isExcludedDevPath, isManifestMode, lintUncoveredReferences, loadMergedSourceConfig, loadMergedSourceConfigFromFile, loadSourceConfig, manifestToSourceConfig, mcpServerProvider, mergeSourceConfigs, parseDomainMd, parseSourceConfig, personaProvider, presetProvider, promptProvider, readManifestSourceConfig, rulesetProvider, scanAssetReferences, scanSlashCommandNames, skillProvider, validateDomains, validateSourceConfig } from '../chunk-NU4E7C5I.js';
1
+ export { AGENT_COMPANION_DIRS, AssetKindRegistry, BUILTIN_PROVIDERS, DEFAULT_ATOMIZATION_POLICY, DOMAIN_MD_FILENAME, SEMVER_RE, SKILL_COMPANION_DIRS, SourceConfigSchema, VERSION, agentProvider, assignDomain, barePublisher, buildDomainIndex, buildRequiresGraph, closeOverReferences, computeDeterministicHash, computeDeterministicHashDetailed, connectorProvider, contractProvider, createDefaultRegistry, createNodeAssetFs, decodeManifestSourceConfig, detectCycles, discoverAssetsInTree, discoverAssetsInTreeEntries, discoverFromManifest, extractPathCandidates, extractRequires, extractSlashCommands, isDomainMdPath, isExcludedDevPath, isManifestMode, lintUncoveredReferences, loadMergedSourceConfig, loadMergedSourceConfigFromFile, loadSourceConfig, manifestToSourceConfig, mcpServerProvider, mergeSourceConfigs, parseDomainMd, parseSourceConfig, personaProvider, presetProvider, promptProvider, readManifestSourceConfig, rulesetProvider, scanAssetReferences, scanSlashCommandNames, skillProvider, validateDomains, validateSourceConfig } from '../chunk-PW4SJE3X.js';
2
2
  import '../chunk-JXT46QFC.js';
3
3
  import '../chunk-P4VHQA4N.js';
4
- import '../chunk-DYMWJAL4.js';
4
+ import '../chunk-VQ4P7UYE.js';
5
5
  import '../chunk-GEEW6SY2.js';
6
- import '../chunk-7GOCNYUV.js';
6
+ import '../chunk-3A5IKBHQ.js';
7
7
  import '../chunk-IRORTHGA.js';
8
8
  import '../chunk-NSBPE2FW.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1,24 +1,24 @@
1
- import { logErr, logOk, logInfo } from './chunk-XVIFPGYH.js';
2
- import './chunk-HCNVX34E.js';
3
- import './chunk-3HVASHBF.js';
4
- import './chunk-NU4E7C5I.js';
1
+ import { logErr, logOk, logInfo } from './chunk-U2KIY532.js';
2
+ import './chunk-OI36ITDV.js';
3
+ import './chunk-BJ7QIUBM.js';
4
+ import './chunk-PW4SJE3X.js';
5
5
  import './chunk-UKJMQZV6.js';
6
6
  import './chunk-R7FOF242.js';
7
7
  import './chunk-JXT46QFC.js';
8
- import './chunk-2OCYS5EP.js';
8
+ import './chunk-PEGIQ67F.js';
9
9
  import './chunk-CGYEHQOX.js';
10
- import { WorkspaceYamlEditor } from './chunk-P43HBWKK.js';
10
+ import { WorkspaceYamlEditor } from './chunk-6BV24JPZ.js';
11
11
  import './chunk-F3HNW354.js';
12
12
  import './chunk-K5GBV4SA.js';
13
13
  import './chunk-QVZA2MDT.js';
14
- import './chunk-UFY2HFLO.js';
15
- import { sourceCacheKey, sourceShortName, getGlobalCacheDir } from './chunk-Q26C5GLO.js';
14
+ import './chunk-KBXYT5HD.js';
15
+ import { sourceCacheKey, sourceShortName, getGlobalCacheDir } from './chunk-RD6MMBHQ.js';
16
16
  import './chunk-MENCWIHW.js';
17
17
  import './chunk-P4VHQA4N.js';
18
- import './chunk-DYMWJAL4.js';
18
+ import './chunk-VQ4P7UYE.js';
19
19
  import './chunk-GEEW6SY2.js';
20
- import './chunk-U5POE4BA.js';
21
- import './chunk-7GOCNYUV.js';
20
+ import './chunk-5Q7HA4JP.js';
21
+ import './chunk-3A5IKBHQ.js';
22
22
  import './chunk-KTBKW2FI.js';
23
23
  import './chunk-UQ6LFBPZ.js';
24
24
  import './chunk-IEX5YV4R.js';
@@ -86,5 +86,5 @@ function ensureSourcesCloned(projectDir, opts = {}) {
86
86
  }
87
87
 
88
88
  export { ensureSourcesCloned };
89
- //# sourceMappingURL=ensure-sources-IM3JMW2L.js.map
90
- //# sourceMappingURL=ensure-sources-IM3JMW2L.js.map
89
+ //# sourceMappingURL=ensure-sources-O6AWQXAY.js.map
90
+ //# sourceMappingURL=ensure-sources-O6AWQXAY.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":"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","file":"ensure-sources-IM3JMW2L.js","sourcesContent":["/**\n * ensure-sources.ts — hydrate the `~/.skaile/cache/sources/` clone cache from a\n * project's `skaile.yaml` `sources:` entries.\n *\n * Called by `skaile init` (idempotent: no-op when no sources declared) and\n * `skaile install` so checking out a project pulls its source clones onto\n * the local machine.\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { existsSync, mkdirSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n getGlobalCacheDir,\n type SourceEntry,\n sourceCacheKey,\n sourceShortName,\n WorkspaceYamlEditor,\n} from \"@skaile/workspaces/core\";\nimport { logErr, logInfo, logOk } from \"./helpers.ts\";\n\nfunction sourceClonePath(key: string): string {\n return path.join(getGlobalCacheDir(), key);\n}\n\nexport interface EnsureResult {\n cloned: string[];\n cached: string[];\n failed: string[];\n}\n\n/** Load `sources:` from a project's `skaile.yaml`, or `null` when unavailable. */\nfunction loadProjectSources(yamlPath: string, quiet: boolean): SourceEntry[] | null {\n try {\n return WorkspaceYamlEditor.load(yamlPath).getSources();\n } catch (err) {\n if (!quiet) {\n logErr(`Could not read ${yamlPath}: ${err instanceof Error ? err.message : String(err)}`);\n }\n return null;\n }\n}\n\n/**\n * Hydrate a single source entry into `result`: skip when already cached,\n * otherwise clone and record success/failure. Mutates `result` in place.\n */\nfunction hydrateSourceEntry(entry: SourceEntry, quiet: boolean, result: EnsureResult): void {\n const key = sourceCacheKey(entry.url);\n const slug = sourceShortName(entry.url);\n const dest = sourceClonePath(key);\n if (existsSync(dest)) {\n result.cached.push(slug);\n return;\n }\n mkdirSync(path.dirname(dest), { recursive: true });\n const args = [\"clone\", entry.url, dest];\n if (entry.pin) args.splice(1, 0, \"--branch\", entry.pin);\n const clone = spawnSync(\"git\", args, { stdio: quiet ? \"pipe\" : \"inherit\" });\n if (clone.status !== 0) {\n result.failed.push(slug);\n if (quiet) {\n logErr(`git clone failed for ${entry.url}`);\n }\n return;\n }\n result.cloned.push(slug);\n}\n\n/** Log a full-hydrate summary of cloned + reused-cached entries. */\nfunction logHydrateSummary(result: EnsureResult): void {\n for (const n of result.cloned) logOk(`Cloned source \"${n}\".`);\n if (result.cached.length > 0) {\n logInfo(`Reused cached clones: ${result.cached.join(\", \")}`);\n }\n}\n\n/**\n * Walk `projectDir/skaile.yaml` `sources:` and clone any entries whose\n * clone directory does not yet exist under `~/.skaile/cache/sources/`. Existing\n * clones are left untouched — this is hydration, not sync.\n *\n * Quiet by default: when `quiet: true` the helper only prints failures.\n * On full hydrate (`quiet: false`) it logs each cloned/cached entry.\n */\nexport function ensureSourcesCloned(\n projectDir: string,\n opts: { quiet?: boolean } = {},\n): EnsureResult {\n const result: EnsureResult = { cloned: [], cached: [], failed: [] };\n const yamlPath = path.join(projectDir, \"skaile.yaml\");\n if (!existsSync(yamlPath)) return result;\n\n const quiet = opts.quiet ?? false;\n const sources = loadProjectSources(yamlPath, quiet);\n if (sources === null) return result;\n if (sources.length === 0) return result;\n\n for (const entry of sources) {\n hydrateSourceEntry(entry, quiet, result);\n }\n\n if (!quiet) {\n logHydrateSummary(result);\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA,SAAS,gBAAgB,GAAA,EAAqB;AAC5C,EAAA,OAAY,IAAA,CAAA,IAAA,CAAK,iBAAA,EAAkB,EAAG,GAAG,CAAA;AAC3C;AASA,SAAS,kBAAA,CAAmB,UAAkB,KAAA,EAAsC;AAClF,EAAA,IAAI;AACF,IAAA,OAAO,mBAAA,CAAoB,IAAA,CAAK,QAAQ,CAAA,CAAE,UAAA,EAAW;AAAA,EACvD,SAAS,GAAA,EAAK;AACZ,IAAA,IAAI,CAAC,KAAA,EAAO;AACV,MAAA,MAAA,CAAO,CAAA,eAAA,EAAkB,QAAQ,CAAA,EAAA,EAAK,GAAA,YAAe,KAAA,GAAQ,IAAI,OAAA,GAAU,MAAA,CAAO,GAAG,CAAC,CAAA,CAAE,CAAA;AAAA,IAC1F;AACA,IAAA,OAAO,IAAA;AAAA,EACT;AACF;AAMA,SAAS,kBAAA,CAAmB,KAAA,EAAoB,KAAA,EAAgB,MAAA,EAA4B;AAC1F,EAAA,MAAM,GAAA,GAAM,cAAA,CAAe,KAAA,CAAM,GAAG,CAAA;AACpC,EAAA,MAAM,IAAA,GAAO,eAAA,CAAgB,KAAA,CAAM,GAAG,CAAA;AACtC,EAAA,MAAM,IAAA,GAAO,gBAAgB,GAAG,CAAA;AAChC,EAAA,IAAI,UAAA,CAAW,IAAI,CAAA,EAAG;AACpB,IAAA,MAAA,CAAO,MAAA,CAAO,KAAK,IAAI,CAAA;AACvB,IAAA;AAAA,EACF;AACA,EAAA,SAAA,CAAe,aAAQ,IAAI,CAAA,EAAG,EAAE,SAAA,EAAW,MAAM,CAAA;AACjD,EAAA,MAAM,IAAA,GAAO,CAAC,OAAA,EAAS,KAAA,CAAM,KAAK,IAAI,CAAA;AACtC,EAAA,IAAI,KAAA,CAAM,KAAK,IAAA,CAAK,MAAA,CAAO,GAAG,CAAA,EAAG,UAAA,EAAY,MAAM,GAAG,CAAA;AACtD,EAAA,MAAM,KAAA,GAAQ,UAAU,KAAA,EAAO,IAAA,EAAM,EAAE,KAAA,EAAO,KAAA,GAAQ,MAAA,GAAS,SAAA,EAAW,CAAA;AAC1E,EAAA,IAAI,KAAA,CAAM,WAAW,CAAA,EAAG;AACtB,IAAA,MAAA,CAAO,MAAA,CAAO,KAAK,IAAI,CAAA;AACvB,IAAA,IAAI,KAAA,EAAO;AACT,MAAA,MAAA,CAAO,CAAA,qBAAA,EAAwB,KAAA,CAAM,GAAG,CAAA,CAAE,CAAA;AAAA,IAC5C;AACA,IAAA;AAAA,EACF;AACA,EAAA,MAAA,CAAO,MAAA,CAAO,KAAK,IAAI,CAAA;AACzB;AAGA,SAAS,kBAAkB,MAAA,EAA4B;AACrD,EAAA,KAAA,MAAW,KAAK,MAAA,CAAO,MAAA,EAAQ,KAAA,CAAM,CAAA,eAAA,EAAkB,CAAC,CAAA,EAAA,CAAI,CAAA;AAC5D,EAAA,IAAI,MAAA,CAAO,MAAA,CAAO,MAAA,GAAS,CAAA,EAAG;AAC5B,IAAA,OAAA,CAAQ,yBAAyB,MAAA,CAAO,MAAA,CAAO,IAAA,CAAK,IAAI,CAAC,CAAA,CAAE,CAAA;AAAA,EAC7D;AACF;AAUO,SAAS,mBAAA,CACd,UAAA,EACA,IAAA,GAA4B,EAAC,EACf;AACd,EAAA,MAAM,MAAA,GAAuB,EAAE,MAAA,EAAQ,EAAC,EAAG,QAAQ,EAAC,EAAG,MAAA,EAAQ,EAAC,EAAE;AAClE,EAAA,MAAM,QAAA,GAAgB,IAAA,CAAA,IAAA,CAAK,UAAA,EAAY,aAAa,CAAA;AACpD,EAAA,IAAI,CAAC,UAAA,CAAW,QAAQ,CAAA,EAAG,OAAO,MAAA;AAElC,EAAA,MAAM,KAAA,GAAQ,KAAK,KAAA,IAAS,KAAA;AAC5B,EAAA,MAAM,OAAA,GAAU,kBAAA,CAAmB,QAAA,EAAU,KAAK,CAAA;AAClD,EAAA,IAAI,OAAA,KAAY,MAAM,OAAO,MAAA;AAC7B,EAAA,IAAI,OAAA,CAAQ,MAAA,KAAW,CAAA,EAAG,OAAO,MAAA;AAEjC,EAAA,KAAA,MAAW,SAAS,OAAA,EAAS;AAC3B,IAAA,kBAAA,CAAmB,KAAA,EAAO,OAAO,MAAM,CAAA;AAAA,EACzC;AAEA,EAAA,IAAI,CAAC,KAAA,EAAO;AACV,IAAA,iBAAA,CAAkB,MAAM,CAAA;AAAA,EAC1B;AAEA,EAAA,OAAO,MAAA;AACT","file":"ensure-sources-O6AWQXAY.js","sourcesContent":["/**\n * ensure-sources.ts — hydrate the `~/.skaile/cache/sources/` clone cache from a\n * project's `skaile.yaml` `sources:` entries.\n *\n * Called by `skaile init` (idempotent: no-op when no sources declared) and\n * `skaile install` so checking out a project pulls its source clones onto\n * the local machine.\n */\n\nimport { spawnSync } from \"node:child_process\";\nimport { existsSync, mkdirSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport {\n getGlobalCacheDir,\n type SourceEntry,\n sourceCacheKey,\n sourceShortName,\n WorkspaceYamlEditor,\n} from \"@skaile/workspaces/core\";\nimport { logErr, logInfo, logOk } from \"./helpers.ts\";\n\nfunction sourceClonePath(key: string): string {\n return path.join(getGlobalCacheDir(), key);\n}\n\nexport interface EnsureResult {\n cloned: string[];\n cached: string[];\n failed: string[];\n}\n\n/** Load `sources:` from a project's `skaile.yaml`, or `null` when unavailable. */\nfunction loadProjectSources(yamlPath: string, quiet: boolean): SourceEntry[] | null {\n try {\n return WorkspaceYamlEditor.load(yamlPath).getSources();\n } catch (err) {\n if (!quiet) {\n logErr(`Could not read ${yamlPath}: ${err instanceof Error ? err.message : String(err)}`);\n }\n return null;\n }\n}\n\n/**\n * Hydrate a single source entry into `result`: skip when already cached,\n * otherwise clone and record success/failure. Mutates `result` in place.\n */\nfunction hydrateSourceEntry(entry: SourceEntry, quiet: boolean, result: EnsureResult): void {\n const key = sourceCacheKey(entry.url);\n const slug = sourceShortName(entry.url);\n const dest = sourceClonePath(key);\n if (existsSync(dest)) {\n result.cached.push(slug);\n return;\n }\n mkdirSync(path.dirname(dest), { recursive: true });\n const args = [\"clone\", entry.url, dest];\n if (entry.pin) args.splice(1, 0, \"--branch\", entry.pin);\n const clone = spawnSync(\"git\", args, { stdio: quiet ? \"pipe\" : \"inherit\" });\n if (clone.status !== 0) {\n result.failed.push(slug);\n if (quiet) {\n logErr(`git clone failed for ${entry.url}`);\n }\n return;\n }\n result.cloned.push(slug);\n}\n\n/** Log a full-hydrate summary of cloned + reused-cached entries. */\nfunction logHydrateSummary(result: EnsureResult): void {\n for (const n of result.cloned) logOk(`Cloned source \"${n}\".`);\n if (result.cached.length > 0) {\n logInfo(`Reused cached clones: ${result.cached.join(\", \")}`);\n }\n}\n\n/**\n * Walk `projectDir/skaile.yaml` `sources:` and clone any entries whose\n * clone directory does not yet exist under `~/.skaile/cache/sources/`. Existing\n * clones are left untouched — this is hydration, not sync.\n *\n * Quiet by default: when `quiet: true` the helper only prints failures.\n * On full hydrate (`quiet: false`) it logs each cloned/cached entry.\n */\nexport function ensureSourcesCloned(\n projectDir: string,\n opts: { quiet?: boolean } = {},\n): EnsureResult {\n const result: EnsureResult = { cloned: [], cached: [], failed: [] };\n const yamlPath = path.join(projectDir, \"skaile.yaml\");\n if (!existsSync(yamlPath)) return result;\n\n const quiet = opts.quiet ?? false;\n const sources = loadProjectSources(yamlPath, quiet);\n if (sources === null) return result;\n if (sources.length === 0) return result;\n\n for (const entry of sources) {\n hydrateSourceEntry(entry, quiet, result);\n }\n\n if (!quiet) {\n logHydrateSummary(result);\n }\n\n return result;\n}\n"]}
@@ -1,29 +1,29 @@
1
- export { BoxConnector, createConnector4 as createConnector } from '../../chunk-BEA7RXI3.js';
2
- import '../../chunk-ZNIHTT22.js';
3
- import '../../chunk-KPZZI2KG.js';
4
- import '../../chunk-46LE3GNY.js';
1
+ export { BoxConnector, createConnector4 as createConnector } from '../../chunk-P6V5GORE.js';
2
+ import '../../chunk-AXFOJ2UG.js';
3
+ import '../../chunk-ZCIK44M7.js';
4
+ import '../../chunk-RUFTB7QN.js';
5
5
  import '../../chunk-RRVQAE5D.js';
6
6
  import '../../chunk-V34ZEXSE.js';
7
7
  import '../../chunk-GAH4YRCI.js';
8
- import '../../chunk-VT6HDD2L.js';
8
+ import '../../chunk-SUGDZOYZ.js';
9
9
  import '../../chunk-6E6PKKAD.js';
10
10
  import '../../chunk-IFGTRL2I.js';
11
- import '../../chunk-I7S6DFRU.js';
11
+ import '../../chunk-3Q7JDLLH.js';
12
12
  import '../../chunk-B4J6TV4G.js';
13
- import '../../chunk-FLBDLF3I.js';
14
- import '../../chunk-F5VREBV2.js';
15
- import '../../chunk-P43HBWKK.js';
13
+ import '../../chunk-HGFKNJA5.js';
14
+ import '../../chunk-ELPR5XBG.js';
15
+ import '../../chunk-6BV24JPZ.js';
16
16
  import '../../chunk-F3HNW354.js';
17
17
  import '../../chunk-K5GBV4SA.js';
18
18
  import '../../chunk-QVZA2MDT.js';
19
- import '../../chunk-UFY2HFLO.js';
20
- import '../../chunk-Q26C5GLO.js';
19
+ import '../../chunk-KBXYT5HD.js';
20
+ import '../../chunk-RD6MMBHQ.js';
21
21
  import '../../chunk-MENCWIHW.js';
22
22
  import '../../chunk-P4VHQA4N.js';
23
- import '../../chunk-DYMWJAL4.js';
23
+ import '../../chunk-VQ4P7UYE.js';
24
24
  import '../../chunk-GEEW6SY2.js';
25
- import '../../chunk-U5POE4BA.js';
26
- import '../../chunk-7GOCNYUV.js';
25
+ import '../../chunk-5Q7HA4JP.js';
26
+ import '../../chunk-3A5IKBHQ.js';
27
27
  import '../../chunk-NSBPE2FW.js';
28
28
  //# sourceMappingURL=box.js.map
29
29
  //# sourceMappingURL=box.js.map