@skaile/workspaces 0.22.0-beta.1 → 0.22.0-beta.2

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 (157) hide show
  1. package/CHANGELOG.md +85 -0
  2. package/dist/{asset-feeds-QXCSAJRN.js → asset-feeds-2M6UKEJ7.js} +13 -14
  3. package/dist/asset-feeds-2M6UKEJ7.js.map +1 -0
  4. package/dist/asset-manager/index.js +7 -7
  5. package/dist/asset-manager/installer.js +6 -6
  6. package/dist/asset-manager/src/index.d.ts.map +1 -1
  7. package/dist/base-assets/connectors/deploy.js +7 -7
  8. package/dist/base-assets/connectors/devserver.js +7 -7
  9. package/dist/base-assets/connectors/flow/adapter.js +7 -7
  10. package/dist/base-assets/connectors/flow/run-flow.js +8 -8
  11. package/dist/base-assets/connectors/flow.js +7 -7
  12. package/dist/base-assets/connectors/git/driver.d.ts.map +1 -1
  13. package/dist/base-assets/connectors/git.js +7 -7
  14. package/dist/base-assets/connectors/gmail.js +7 -7
  15. package/dist/base-assets/connectors/googledrive.js +7 -7
  16. package/dist/base-assets/connectors/local.js +7 -7
  17. package/dist/base-assets/connectors/mattermost.js +7 -7
  18. package/dist/base-assets/connectors/memory.js +7 -7
  19. package/dist/base-assets/connectors/minio.js +7 -7
  20. package/dist/base-assets/connectors/postgres.js +7 -7
  21. package/dist/base-assets/connectors/s3.js +7 -7
  22. package/dist/base-assets/connectors/sharepoint.js +7 -7
  23. package/dist/base-assets/connectors/sqlite.js +7 -7
  24. package/dist/base-assets/connectors/static-server.js +7 -7
  25. package/dist/base-assets/connectors/tunnel.js +7 -7
  26. package/dist/base-assets/connectors/webdav.js +7 -7
  27. package/dist/base-assets/connectors/xstate-store.js +7 -7
  28. package/dist/base-assets/connectors/xstate.js +7 -7
  29. package/dist/chunk-32NA4TVC.js +30 -0
  30. package/dist/chunk-32NA4TVC.js.map +1 -0
  31. package/dist/{chunk-DKGDOALM.js → chunk-3KLWGHDE.js} +5 -5
  32. package/dist/{chunk-DKGDOALM.js.map → chunk-3KLWGHDE.js.map} +1 -1
  33. package/dist/{chunk-LT4DLEYE.js → chunk-6SA2SIOU.js} +24 -8
  34. package/dist/chunk-6SA2SIOU.js.map +1 -0
  35. package/dist/{chunk-GFNW72LW.js → chunk-74GTZ4TJ.js} +4 -4
  36. package/dist/{chunk-GFNW72LW.js.map → chunk-74GTZ4TJ.js.map} +1 -1
  37. package/dist/chunk-7QBNJTTQ.js +3 -0
  38. package/dist/{chunk-W2O5LWYU.js.map → chunk-7QBNJTTQ.js.map} +1 -1
  39. package/dist/{chunk-D7K72XEY.js → chunk-CEUHU3C4.js} +3 -3
  40. package/dist/{chunk-D7K72XEY.js.map → chunk-CEUHU3C4.js.map} +1 -1
  41. package/dist/{chunk-NJLHHZIW.js → chunk-FIHVQFXB.js} +2 -2
  42. package/dist/{chunk-NJLHHZIW.js.map → chunk-FIHVQFXB.js.map} +1 -1
  43. package/dist/{chunk-XIHFJVOD.js → chunk-FVZLCBSX.js} +3 -3
  44. package/dist/{chunk-XIHFJVOD.js.map → chunk-FVZLCBSX.js.map} +1 -1
  45. package/dist/{chunk-7PTP3SQJ.js → chunk-GTS2FODO.js} +32 -7
  46. package/dist/chunk-GTS2FODO.js.map +1 -0
  47. package/dist/{chunk-JHF66MCK.js → chunk-I5SGBFMM.js} +5 -3
  48. package/dist/chunk-I5SGBFMM.js.map +1 -0
  49. package/dist/{chunk-PTIHB2TV.js → chunk-LDLZFYLR.js} +4 -4
  50. package/dist/{chunk-PTIHB2TV.js.map → chunk-LDLZFYLR.js.map} +1 -1
  51. package/dist/{chunk-J3VKAEQP.js → chunk-LDYPQVRU.js} +23 -6
  52. package/dist/chunk-LDYPQVRU.js.map +1 -0
  53. package/dist/{chunk-APAOQLPT.js → chunk-M5JDVO6D.js} +3 -3
  54. package/dist/{chunk-APAOQLPT.js.map → chunk-M5JDVO6D.js.map} +1 -1
  55. package/dist/{chunk-V3QMSM5I.js → chunk-NICAMYPV.js} +13 -14
  56. package/dist/chunk-NICAMYPV.js.map +1 -0
  57. package/dist/{chunk-4AZKT2BU.js → chunk-NQL3T75I.js} +14 -49
  58. package/dist/chunk-NQL3T75I.js.map +1 -0
  59. package/dist/{chunk-UMOENHVH.js → chunk-P4FYHEHW.js} +3 -3
  60. package/dist/{chunk-UMOENHVH.js.map → chunk-P4FYHEHW.js.map} +1 -1
  61. package/dist/{chunk-VCYXVP2S.js → chunk-TWQPDBHB.js} +24 -13
  62. package/dist/chunk-TWQPDBHB.js.map +1 -0
  63. package/dist/{chunk-3ECS5PFD.js → chunk-UBLTUFFI.js} +4 -4
  64. package/dist/{chunk-3ECS5PFD.js.map → chunk-UBLTUFFI.js.map} +1 -1
  65. package/dist/{chunk-I3UEM3FX.js → chunk-VUCPJBAG.js} +9 -4
  66. package/dist/chunk-VUCPJBAG.js.map +1 -0
  67. package/dist/{chunk-PBWMV5GM.js → chunk-WQ7DE5UC.js} +18 -4
  68. package/dist/chunk-WQ7DE5UC.js.map +1 -0
  69. package/dist/cli/index.js +189 -195
  70. package/dist/cli/index.js.map +1 -1
  71. package/dist/cli/src/commands/manage.d.ts +22 -31
  72. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  73. package/dist/cli/src/commands/npx.d.ts +5 -3
  74. package/dist/cli/src/commands/npx.d.ts.map +1 -1
  75. package/dist/cli/src/commands/source.d.ts +7 -0
  76. package/dist/cli/src/commands/source.d.ts.map +1 -1
  77. package/dist/connectors/config.js +6 -6
  78. package/dist/connectors/index.js +7 -7
  79. package/dist/core/index.js +5 -5
  80. package/dist/core/manifest.js +2 -2
  81. package/dist/core/models.js +1 -1
  82. package/dist/core/runtime-assets.js +4 -4
  83. package/dist/core/src/manifest.d.ts.map +1 -1
  84. package/dist/core/src/models.d.ts +8 -2
  85. package/dist/core/src/models.d.ts.map +1 -1
  86. package/dist/core/src/repo-manager.d.ts +17 -2
  87. package/dist/core/src/repo-manager.d.ts.map +1 -1
  88. package/dist/core/workspace-config.js +3 -3
  89. package/dist/deploy/index.js +138 -42
  90. package/dist/deploy/index.js.map +1 -1
  91. package/dist/deploy/src/index.d.ts +4 -3
  92. package/dist/deploy/src/index.d.ts.map +1 -1
  93. package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
  94. package/dist/deploy/src/targets/local.d.ts.map +1 -1
  95. package/dist/deploy/src/targets/nix.d.ts +36 -0
  96. package/dist/deploy/src/targets/nix.d.ts.map +1 -0
  97. package/dist/deploy/src/targets/process-handle.d.ts +34 -0
  98. package/dist/deploy/src/targets/process-handle.d.ts.map +1 -0
  99. package/dist/discovery/index.js +3 -3
  100. package/dist/{ensure-sources-SL2S4UEX.js → ensure-sources-ALTI5PXR.js} +9 -9
  101. package/dist/{ensure-sources-SL2S4UEX.js.map → ensure-sources-ALTI5PXR.js.map} +1 -1
  102. package/dist/library/index.js +4 -4
  103. package/dist/open-library-EEGG6RDN.js +13 -0
  104. package/dist/{open-library-M4DB3D3J.js.map → open-library-EEGG6RDN.js.map} +1 -1
  105. package/dist/plugin-registry/src/context.d.ts +30 -1
  106. package/dist/plugin-registry/src/context.d.ts.map +1 -1
  107. package/dist/plugin-registry/src/index.d.ts +1 -1
  108. package/dist/plugin-registry/src/index.d.ts.map +1 -1
  109. package/dist/{plugin-store-AJ3FGXIC.js → plugin-store-G277ZX3B.js} +7 -7
  110. package/dist/{plugin-store-AJ3FGXIC.js.map → plugin-store-G277ZX3B.js.map} +1 -1
  111. package/dist/plugins/src/catalog-source.d.ts +5 -0
  112. package/dist/plugins/src/catalog-source.d.ts.map +1 -1
  113. package/dist/runner/index.js +13 -12
  114. package/dist/runner/src/serve.d.ts +7 -0
  115. package/dist/runner/src/serve.d.ts.map +1 -1
  116. package/dist/sdk/asset-manager.js +7 -7
  117. package/dist/sdk/core.js +5 -5
  118. package/dist/sdk/index.js +13 -12
  119. package/dist/sdk/index.js.map +1 -1
  120. package/dist/sdk/runner.js +13 -12
  121. package/dist/sdk/transport/ws/client.js +2 -1
  122. package/dist/sdk/transport/ws/server.js +2 -1
  123. package/dist/sdk/transport/ws.js +4 -3
  124. package/dist/sdk/transport.js +4 -3
  125. package/dist/{setup-GBSQX7JF.js → setup-REX4I5NE.js} +7 -7
  126. package/dist/{setup-GBSQX7JF.js.map → setup-REX4I5NE.js.map} +1 -1
  127. package/dist/store-client-IX3Y67NK.js +14 -0
  128. package/dist/{store-client-5WBRUC5U.js.map → store-client-IX3Y67NK.js.map} +1 -1
  129. package/dist/transport/index.js +4 -3
  130. package/dist/transport/src/ws/auth.d.ts +34 -0
  131. package/dist/transport/src/ws/auth.d.ts.map +1 -0
  132. package/dist/transport/src/ws/client.d.ts +4 -0
  133. package/dist/transport/src/ws/client.d.ts.map +1 -1
  134. package/dist/transport/src/ws/index.d.ts +3 -2
  135. package/dist/transport/src/ws/index.d.ts.map +1 -1
  136. package/dist/transport/src/ws/server.d.ts +5 -0
  137. package/dist/transport/src/ws/server.d.ts.map +1 -1
  138. package/dist/transport/ws/client.js +2 -1
  139. package/dist/transport/ws/server.js +2 -1
  140. package/dist/transport/ws.js +4 -3
  141. package/dist/tui/index.js +13 -12
  142. package/dist/tui/index.js.map +1 -1
  143. package/dist/workspace-plugin/index.js +1 -1
  144. package/package.json +1 -1
  145. package/dist/asset-feeds-QXCSAJRN.js.map +0 -1
  146. package/dist/chunk-4AZKT2BU.js.map +0 -1
  147. package/dist/chunk-7PTP3SQJ.js.map +0 -1
  148. package/dist/chunk-I3UEM3FX.js.map +0 -1
  149. package/dist/chunk-J3VKAEQP.js.map +0 -1
  150. package/dist/chunk-JHF66MCK.js.map +0 -1
  151. package/dist/chunk-LT4DLEYE.js.map +0 -1
  152. package/dist/chunk-PBWMV5GM.js.map +0 -1
  153. package/dist/chunk-V3QMSM5I.js.map +0 -1
  154. package/dist/chunk-VCYXVP2S.js.map +0 -1
  155. package/dist/chunk-W2O5LWYU.js +0 -3
  156. package/dist/open-library-M4DB3D3J.js +0 -13
  157. package/dist/store-client-5WBRUC5U.js +0 -14
@@ -19,58 +19,49 @@
19
19
  import type { CatalogEntry } from "@skaile/workspaces/core";
20
20
  import { Command } from "commander";
21
21
  /**
22
- * A single row in the manage TUI asset list, representing a source header,
23
- * a domain header, or an individual asset entry.
22
+ * A single row in the manage TUI asset list, representing a publisher header,
23
+ * a repo header, or an individual asset entry.
24
24
  *
25
- * The `source` field holds the name of the originating github repo
26
- * (`CatalogEntry.publisher`) — i.e. the **source** in the three-noun model.
27
- *
28
- * For nested domain layouts (e.g. `skaileup/experience/screens`), one
29
- * `header` row is emitted per unique path prefix in DFS order. `domain`
30
- * holds the full slash-joined path (used as the collapse key); `depth`
31
- * starts at 1 for the top-level segment.
25
+ * The tree is `publisher repo asset`. The `source` field holds the
26
+ * **publisher** namespace (`CatalogEntry.publisher`) — the canonical, always-
27
+ * present identity. `repo` holds the `"<org>/<repo>"` GitHub coordinate, used
28
+ * as the collapse key under its publisher. An asset whose entry has no `repo`
29
+ * (a local library with no git remote) hangs directly under its publisher with
30
+ * no intervening repo header.
32
31
  *
33
32
  * @docLink cli/commands/manage#make-manage-command
34
33
  */
35
34
  export interface AssetRow {
36
- type: "source-header" | "header" | "asset";
35
+ type: "publisher-header" | "repo-header" | "asset";
37
36
  source?: string;
38
- domain?: string;
39
- depth?: number;
37
+ repo?: string;
40
38
  entry?: CatalogEntry;
41
39
  installed?: boolean;
42
40
  }
43
41
  /**
44
42
  * Filter the full asset row list to only rows that should be visible given the
45
- * current collapsed source and domain sets. `collapsedDomains` keys use the
46
- * **full** slash-joined domain path (e.g. `"src:skaileup/experience"`).
43
+ * current collapsed publisher and repo sets. The tree is flat:
44
+ * `publisher repo asset` (repo is an `"<org>/<repo>"` slug, not a nested
45
+ * path), so collapse checks are exact set membership — no prefix walking.
47
46
  *
48
- * For hierarchical domains, an asset is hidden if any prefix of its full
49
- * domain path is collapsed; a header row is hidden if any **strict** prefix
50
- * (i.e. an ancestor) is collapsed collapsing a header hides its children
51
- * but not the header itself.
47
+ * - A `repo-header` is hidden when its publisher is collapsed.
48
+ * - An asset is hidden when its publisher is collapsed, or when it has a
49
+ * repo when that `"publisher:<org>/<repo>"` key is collapsed. An asset with
50
+ * no repo hangs directly under its publisher and follows the publisher alone.
52
51
  *
53
52
  * @param rows - Complete flat list of asset rows.
54
- * @param collapsedSources - Set of source names whose children are hidden.
55
- * @param collapsedDomains - Set of `"source:domainPath"` keys whose children are hidden.
53
+ * @param collapsedSources - Set of publisher names whose children are hidden.
54
+ * @param collapsedRepos - Set of `"publisher:<org>/<repo>"` keys whose assets are hidden.
56
55
  * @returns Filtered array of visible rows.
57
56
  * @docLink cli/commands/manage#make-manage-command
58
57
  */
59
- export declare function buildVisibleRows(rows: AssetRow[], collapsedSources: Set<string>, collapsedDomains: Set<string>): AssetRow[];
60
- /**
61
- * Compare two slash-separated domain paths segment-by-segment. Unlike a plain
62
- * `localeCompare`, this keeps all descendants of a path grouped together even
63
- * when a sibling's name shares a prefix and would otherwise interleave them
64
- * (e.g. `"skaileup-orchestrator"` falling between `"skaileup"` and
65
- * `"skaileup/concept"` under naive lex sort because `'-' < '/'` in ASCII).
66
- */
67
- export declare function compareDomainPaths(a: string, b: string): number;
58
+ export declare function buildVisibleRows(rows: AssetRow[], collapsedSources: Set<string>, collapsedRepos: Set<string>): AssetRow[];
68
59
  /**
69
- * Return `kind:name` refs for all asset rows belonging to a specific source and domain.
60
+ * Return `kind:name` refs for all asset rows belonging to a specific publisher and repo.
70
61
  *
71
62
  * @docLink cli/commands/manage#make-manage-command
72
63
  */
73
- export declare function domainAssetRefs(rows: AssetRow[], source: string, domain: string): string[];
64
+ export declare function repoAssetRefs(rows: AssetRow[], publisher: string, repo: string): string[];
74
65
  /**
75
66
  * Return `kind:name` refs for all asset rows belonging to a specific source.
76
67
  *
@@ -1 +1 @@
1
- {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,eAAe,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA6ED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EAAE,EAChB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,GAC5B,QAAQ,EAAE,CAYZ;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAS/D;AAsBD;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAI1F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1E;AAk1BD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
1
+ {"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,kBAAkB,GAAG,aAAa,GAAG,OAAO,CAAC;IACnD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA6ED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EAAE,EAChB,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAC1B,QAAQ,EAAE,CAWZ;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAEzF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE1E;AAs1BD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
@@ -3,9 +3,11 @@ import { Command } from "commander";
3
3
  * Creates the `skaile npx` command group.
4
4
  *
5
5
  * Compatibility shim for the `npx skills` syntax. The `npx skills add <url>`
6
- * subcommand registers a remote repo as a Library Source (cloning to the
7
- * shared user-level cache when needed), syncs the source, then installs the
8
- * requested skill in a single step.
6
+ * subcommand clones the remote repo into the canonical sources cache
7
+ * (`~/.skaile/sources/<slug>`), registers it in the project's `skaile.yaml`
8
+ * `sources[]`, then installs the requested skill via the canonical resolver —
9
+ * building a publisher-qualified ref (`skill:<name>@<publisher>`, publisher
10
+ * from the source's `skaile.yaml` or its GitHub org).
9
11
  *
10
12
  * @returns Configured {@link Command} ready for `program.addCommand()`.
11
13
  * @docLink cli/commands/misc#npx
@@ -1 +1 @@
1
- {"version":3,"file":"npx.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/npx.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,IAAI,OAAO,CA2FxC"}
1
+ {"version":3,"file":"npx.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/npx.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,IAAI,OAAO,CA2FxC"}
@@ -10,5 +10,12 @@
10
10
  * @docLink cli/commands/source
11
11
  */
12
12
  import { Command } from "commander";
13
+ /**
14
+ * Normalize a `source add` argument into a clonable git URL. Full URLs and
15
+ * scp-style (`git@host:…`) specs pass through unchanged; an `owner/repo`
16
+ * shorthand and a bare repo name expand to GitHub over SSH — a bare name
17
+ * defaults to the `skaile-ai` org (`git@github.com:skaile-ai/<name>.git`).
18
+ */
19
+ export declare function normalizeSourceUrl(input: string): string;
13
20
  export declare function makeSourceCommand(): Command;
14
21
  //# sourceMappingURL=source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwHpC,wBAAgB,iBAAiB,IAAI,OAAO,CAoM3C"}
1
+ {"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAYH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAmGD,wBAAgB,iBAAiB,IAAI,OAAO,CAyM3C"}
@@ -1,11 +1,11 @@
1
- export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor } from '../chunk-APAOQLPT.js';
2
- import '../chunk-UMOENHVH.js';
1
+ export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor } from '../chunk-M5JDVO6D.js';
2
+ import '../chunk-P4FYHEHW.js';
3
3
  import '../chunk-K5GBV4SA.js';
4
4
  import '../chunk-KLNL7QHN.js';
5
- import '../chunk-GFNW72LW.js';
6
- import '../chunk-J3VKAEQP.js';
7
- import '../chunk-4AZKT2BU.js';
8
- import '../chunk-I3UEM3FX.js';
5
+ import '../chunk-74GTZ4TJ.js';
6
+ import '../chunk-LDYPQVRU.js';
7
+ import '../chunk-NQL3T75I.js';
8
+ import '../chunk-VUCPJBAG.js';
9
9
  import '../chunk-JKNWJ64A.js';
10
10
  import '../chunk-O4JH3KUE.js';
11
11
  import '../chunk-24UIWON4.js';
@@ -1,18 +1,18 @@
1
- export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createFsWatcher, createWorktree, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-LT4DLEYE.js';
2
- export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor } from '../chunk-APAOQLPT.js';
1
+ export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createFsWatcher, createWorktree, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-6SA2SIOU.js';
2
+ export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor } from '../chunk-M5JDVO6D.js';
3
3
  export { PortPool, RcloneProcessManager, ensureDirMode } from '../chunk-6MB7CRME.js';
4
4
  export { renderGoogleDriveConfig, renderOneDriveConfig, renderWebDAVConfig } from '../chunk-QAVZOJCV.js';
5
5
  import '../chunk-6E6PKKAD.js';
6
6
  import '../chunk-ICS76R4T.js';
7
7
  import '../chunk-GZWJGNNN.js';
8
8
  import '../chunk-FVTV7M76.js';
9
- import '../chunk-UMOENHVH.js';
9
+ import '../chunk-P4FYHEHW.js';
10
10
  import '../chunk-K5GBV4SA.js';
11
11
  import '../chunk-KLNL7QHN.js';
12
- import '../chunk-GFNW72LW.js';
13
- import '../chunk-J3VKAEQP.js';
14
- import '../chunk-4AZKT2BU.js';
15
- import '../chunk-I3UEM3FX.js';
12
+ import '../chunk-74GTZ4TJ.js';
13
+ import '../chunk-LDYPQVRU.js';
14
+ import '../chunk-NQL3T75I.js';
15
+ import '../chunk-VUCPJBAG.js';
16
16
  import '../chunk-JKNWJ64A.js';
17
17
  import '../chunk-O4JH3KUE.js';
18
18
  import '../chunk-24UIWON4.js';
@@ -1,10 +1,10 @@
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-UMOENHVH.js';
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-P4FYHEHW.js';
2
2
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
3
3
  export { detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-KLNL7QHN.js';
4
- export { BASE_ASSETS_REPO_NAME, resolveBaseAssetsRoot, resolveRuntimeAssets } from '../chunk-GFNW72LW.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, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-J3VKAEQP.js';
6
- export { fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-4AZKT2BU.js';
7
- export { ASSET_KINDS, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw } from '../chunk-I3UEM3FX.js';
4
+ export { BASE_ASSETS_REPO_NAME, resolveBaseAssetsRoot, resolveRuntimeAssets } from '../chunk-74GTZ4TJ.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, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-LDYPQVRU.js';
6
+ export { fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-NQL3T75I.js';
7
+ export { ASSET_KINDS, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw } from '../chunk-VUCPJBAG.js';
8
8
  export { deployedBase, deployedDir, isDeployed } from '../chunk-JKNWJ64A.js';
9
9
  export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS } from '../chunk-O4JH3KUE.js';
10
10
  export { LogStore, LogStoreDisabledError, NoOpSink, OnLogBridgeSink, SqliteSink, StdoutSink, WsLogSink, createLogStoreFromConfig, createLogger, getLogStore, normalizeError, openSqlite, registerLogStore, resetLogStore, resolveLogStoreConfig, sanitizeData } from '../chunk-24UIWON4.js';
@@ -1,5 +1,5 @@
1
- export { fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromKnowledgeYaml, fromMcpServerMd, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-4AZKT2BU.js';
2
- import '../chunk-I3UEM3FX.js';
1
+ export { fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromKnowledgeYaml, fromMcpServerMd, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-NQL3T75I.js';
2
+ import '../chunk-VUCPJBAG.js';
3
3
  import '../chunk-NSBPE2FW.js';
4
4
  //# sourceMappingURL=manifest.js.map
5
5
  //# sourceMappingURL=manifest.js.map
@@ -1,4 +1,4 @@
1
- export { ASSET_KINDS, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw } from '../chunk-I3UEM3FX.js';
1
+ export { ASSET_KINDS, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw } from '../chunk-VUCPJBAG.js';
2
2
  import '../chunk-NSBPE2FW.js';
3
3
  //# sourceMappingURL=models.js.map
4
4
  //# sourceMappingURL=models.js.map
@@ -1,7 +1,7 @@
1
- export { BASE_ASSETS_REPO_NAME, resolveBaseAssetsRoot, resolveRuntimeAssets } from '../chunk-GFNW72LW.js';
2
- import '../chunk-J3VKAEQP.js';
3
- import '../chunk-4AZKT2BU.js';
4
- import '../chunk-I3UEM3FX.js';
1
+ export { BASE_ASSETS_REPO_NAME, resolveBaseAssetsRoot, resolveRuntimeAssets } from '../chunk-74GTZ4TJ.js';
2
+ import '../chunk-LDYPQVRU.js';
3
+ import '../chunk-NQL3T75I.js';
4
+ import '../chunk-VUCPJBAG.js';
5
5
  import '../chunk-NSBPE2FW.js';
6
6
  //# sourceMappingURL=runtime-assets.js.map
7
7
  //# sourceMappingURL=runtime-assets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../core/src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAa,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKvE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAUhE;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE,CAUzE;AAID;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAe5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAY5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA0F9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAa7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAmB7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAqB/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAY/E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA8BhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAelF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAqBhF;AAID,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAiB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAoB1D;AAmED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CAiC5E"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../core/src/manifest.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAa,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKvE;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAUhE;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,UAAU,EAAE,CAUzE;AAID;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAe5E;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAY5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA0F9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAa7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAmB7E;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAqB/E;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAY/E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CA8BhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAelF;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,CAqBhF;AAID,UAAU,SAAS;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;GASG;AACH,wBAAiB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,CAoB1D;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,YAAY,EAAE,CA+B5E"}
@@ -64,8 +64,12 @@ export interface CatalogEntry {
64
64
  source: string;
65
65
  /** Canonical publisher namespace this asset belongs to (formerly `repository`). */
66
66
  publisher?: string;
67
- /** Domain this asset belongs to (top-level directory in the repo root). */
68
- domain?: string;
67
+ /**
68
+ * `"<org>/<repo>"` coordinate the asset came from. Absent → the asset groups
69
+ * directly under its publisher (local library with no git remote, or a
70
+ * non-GitHub source). Replaces the former derived `domain` axis.
71
+ */
72
+ repo?: string;
69
73
  /** Semantic version string (may be empty if not declared in the manifest). */
70
74
  version: string;
71
75
  /** Skills, agents, or other assets this entry depends on. */
@@ -79,6 +83,8 @@ export interface CatalogEntry {
79
83
  * requiring verbose inline config in `skaile.yaml`.
80
84
  */
81
85
  metadata?: Record<string, unknown>;
86
+ /** Curated facet, surfaced as a badge in the manage TUI (not a tree axis). */
87
+ category?: string;
82
88
  }
83
89
  /**
84
90
  * Construct a CatalogEntry from a raw deserialized record (e.g. from catalog.yaml).
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../core/src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../core/src/models.ts"],"names":[],"mappings":"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"}
@@ -105,7 +105,8 @@ export declare function unlinkRepo(projectDir: string, repoName: string): boolea
105
105
  *
106
106
  * Resolution order:
107
107
  * 1. Linked override (`.skaile/links.yaml`) — highest priority
108
- * 2. Local path (`decl.path`) — direct filesystem reference
108
+ * 2. Local path (`decl.path`) — direct filesystem reference; a bare path must
109
+ * already exist, but a url-backed managed cache dir is cloned in-place on miss
109
110
  * 3. Remote URL (`decl.url`) — cloned to the shared global cache, symlinked into `.skaile/repos/`
110
111
  *
111
112
  * Pin support: when `opts.pin` is provided, the tag/commit is checked out after clone.
@@ -122,9 +123,23 @@ export declare function ensureRepo(decl: SourceDeclaration, name: string, reposD
122
123
  pin?: string;
123
124
  projectDir?: string;
124
125
  }): string;
126
+ /**
127
+ * Derive the `"<org>/<repo>"` slug from a directory's git `origin` remote.
128
+ * Returns `undefined` when `rootDir` is not a git repo, has no `origin` remote,
129
+ * or the URL is not a parseable GitHub repo. Mirrors the store's
130
+ * `repoSlugFromSourceUrl` so local and remote feeds key the grouping tree
131
+ * identically.
132
+ *
133
+ * @param rootDir - Absolute path to the scanned repository root
134
+ * @returns `"<org>/<repo>"` or `undefined`
135
+ * @docLink packages/core/api-reference#repo-slug-from-git-remote
136
+ */
137
+ export declare function repoSlugFromGitRemote(rootDir: string): string | undefined;
125
138
  /**
126
139
  * Scan a repository directory and return all discovered asset catalog entries.
127
- * Delegates to `scanDirectory` from `manifest.ts`.
140
+ * Delegates to `scanDirectory` from `manifest.ts`, then stamps the `repo` slug
141
+ * derived once from the root's git remote onto every entry (the GitHub
142
+ * coordinate is a property of the scanned root, not of individual assets).
128
143
  *
129
144
  * @param repoDir - Absolute path to the repository root
130
145
  * @param repoName - Repository name attached to each produced entry
@@ -1 +1 @@
1
- {"version":3,"file":"repo-manager.d.ts","sourceRoot":"","sources":["../../../core/src/repo-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repo-manager.d.ts","sourceRoot":"","sources":["../../../core/src/repo-manager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- export { COMPACTION_DEFAULTS, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, decodeSkaileYaml, encodeSkaileYaml, findWorkspaceRoot, isWorkspaceConfigFilename, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, resolveAgentDir, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename } from '../chunk-J3VKAEQP.js';
2
- import '../chunk-4AZKT2BU.js';
3
- import '../chunk-I3UEM3FX.js';
1
+ export { COMPACTION_DEFAULTS, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKAILE_YAML_SUFFIX, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, decodeSkaileYaml, encodeSkaileYaml, findWorkspaceRoot, isWorkspaceConfigFilename, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, resolveAgentDir, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, workspaceNameFromFilename } from '../chunk-LDYPQVRU.js';
2
+ import '../chunk-NQL3T75I.js';
3
+ import '../chunk-VUCPJBAG.js';
4
4
  import '../chunk-NSBPE2FW.js';
5
5
  //# sourceMappingURL=workspace-config.js.map
6
6
  //# sourceMappingURL=workspace-config.js.map
@@ -1,11 +1,11 @@
1
1
  import { pluginRegistry } from '../chunk-6E6PKKAD.js';
2
- import { portableSpawnSync, portableSpawn } from '../chunk-UMOENHVH.js';
2
+ import { portableSpawnSync, portableSpawn } from '../chunk-P4FYHEHW.js';
3
3
  import '../chunk-K5GBV4SA.js';
4
4
  import '../chunk-KLNL7QHN.js';
5
- import '../chunk-GFNW72LW.js';
6
- import '../chunk-J3VKAEQP.js';
7
- import '../chunk-4AZKT2BU.js';
8
- import '../chunk-I3UEM3FX.js';
5
+ import '../chunk-74GTZ4TJ.js';
6
+ import '../chunk-LDYPQVRU.js';
7
+ import '../chunk-NQL3T75I.js';
8
+ import '../chunk-VUCPJBAG.js';
9
9
  import '../chunk-JKNWJ64A.js';
10
10
  import '../chunk-O4JH3KUE.js';
11
11
  import '../chunk-24UIWON4.js';
@@ -252,6 +252,20 @@ function makeContainerDeployTarget(bin) {
252
252
  ...pullFlag(config.pullPolicy)
253
253
  ];
254
254
  if (config.network) args.push("--network", config.network);
255
+ for (const [k, v] of Object.entries(ctx.env)) args.push("-e", `${k}=${v}`);
256
+ for (const [k, v] of Object.entries(ctx.labels ?? {})) args.push("--label", `${k}=${v}`);
257
+ for (const m of ctx.mounts ?? []) {
258
+ args.push("-v", `${m.host}:${m.container}${m.ro ? ":ro" : ""}`);
259
+ }
260
+ if (ctx.resources?.cpuNanos !== void 0) {
261
+ args.push("--cpus", String(ctx.resources.cpuNanos / 1e9));
262
+ }
263
+ if (ctx.resources?.memoryBytes !== void 0) {
264
+ args.push("--memory", String(ctx.resources.memoryBytes));
265
+ }
266
+ if (ctx.resources?.pidsLimit !== void 0) {
267
+ args.push("--pids-limit", String(ctx.resources.pidsLimit));
268
+ }
255
269
  for (const [k, v] of Object.entries(config.env)) args.push("-e", `${k}=${v}`);
256
270
  for (const m of config.mounts) args.push("-v", m);
257
271
  args.push(config.image);
@@ -298,30 +312,8 @@ function makeContainerDeployTarget(bin) {
298
312
 
299
313
  // deploy/src/targets/docker.ts
300
314
  var dockerDeployTarget = makeContainerDeployTarget("docker");
301
- var localConfigSchema = z.object({
302
- port: z.number().int().positive().optional(),
303
- env: z.record(z.string(), z.string()).optional(),
304
- cwd: z.string().optional(),
305
- command: z.string().optional(),
306
- args: z.array(z.string()).optional(),
307
- // `skaile serve` emits structured logs rather than a single banner; the
308
- // ws:// URL line is the most stable readiness marker.
309
- readyPattern: z.string().optional()
310
- }).strict().default({});
311
- var localPayloadSchema = z.object({
312
- pid: z.number(),
313
- port: z.number(),
314
- cwd: z.string()
315
- });
316
- var DEFAULT_READY_PATTERN2 = "ws://";
317
- var DEFAULT_READY_TIMEOUT_MS2 = 3e4;
318
- function resolveSkaileBin() {
319
- const require2 = createRequire(import.meta.url);
320
- const pkgPath = require2.resolve("@skaile/workspaces/package.json");
321
- const pkg = require2("@skaile/workspaces/package.json");
322
- const rel = pkg.bin?.skaile ?? "dist/cli/index.js";
323
- return resolve(dirname(pkgPath), rel);
324
- }
315
+
316
+ // deploy/src/targets/process-handle.ts
325
317
  function pidAlive(pid) {
326
318
  try {
327
319
  process.kill(pid, 0);
@@ -330,7 +322,14 @@ function pidAlive(pid) {
330
322
  return false;
331
323
  }
332
324
  }
333
- function buildHandle2(payload, ctx, ready, proc) {
325
+ function spawnProcess(command, args, opts) {
326
+ const proc = portableSpawn([command, ...args], { cwd: opts.cwd, env: opts.env });
327
+ const buffer = new LineBuffer();
328
+ void pumpLines(proc.stdout, buffer);
329
+ void pumpLines(proc.stderr, buffer);
330
+ return { proc, buffer };
331
+ }
332
+ function buildProcessHandle(payload, ctx, ready, proc) {
334
333
  let state = proc ? "starting" : "ready";
335
334
  return {
336
335
  wsUrl: `ws://127.0.0.1:${payload.port}`,
@@ -388,6 +387,32 @@ function buildHandle2(payload, ctx, ready, proc) {
388
387
  }
389
388
  };
390
389
  }
390
+
391
+ // deploy/src/targets/local.ts
392
+ var localConfigSchema = z.object({
393
+ port: z.number().int().positive().optional(),
394
+ env: z.record(z.string(), z.string()).optional(),
395
+ cwd: z.string().optional(),
396
+ command: z.string().optional(),
397
+ args: z.array(z.string()).optional(),
398
+ // `skaile serve` emits structured logs rather than a single banner; the
399
+ // ws:// URL line is the most stable readiness marker.
400
+ readyPattern: z.string().optional()
401
+ }).strict().default({});
402
+ var localPayloadSchema = z.object({
403
+ pid: z.number(),
404
+ port: z.number(),
405
+ cwd: z.string()
406
+ });
407
+ var DEFAULT_READY_PATTERN2 = "ws://";
408
+ var DEFAULT_READY_TIMEOUT_MS2 = 3e4;
409
+ function resolveSkaileBin() {
410
+ const require2 = createRequire(import.meta.url);
411
+ const pkgPath = require2.resolve("@skaile/workspaces/package.json");
412
+ const pkg = require2("@skaile/workspaces/package.json");
413
+ const rel = pkg.bin?.skaile ?? "dist/cli/index.js";
414
+ return resolve(dirname(pkgPath), rel);
415
+ }
391
416
  var localDeployTarget = {
392
417
  id: "local",
393
418
  displayName: "Local process",
@@ -402,17 +427,17 @@ var localDeployTarget = {
402
427
  const command = config.command ?? resolveSkaileBin();
403
428
  const args = config.args ?? ["serve", "--port", String(port)];
404
429
  const pattern = new RegExp(config.readyPattern ?? DEFAULT_READY_PATTERN2);
405
- const proc = portableSpawn([command, ...args], {
430
+ const spawned = spawnProcess(command, args, {
406
431
  cwd,
407
- env: { ...process.env, ...config.env }
432
+ env: { ...process.env, ...ctx.env, ...config.env }
408
433
  });
409
- const buffer = new LineBuffer();
410
- void pumpLines(proc.stdout, buffer);
411
- void pumpLines(proc.stderr, buffer);
412
- log.info("local process spawned", { pid: proc.pid, port, command });
413
- const payload = { pid: proc.pid, port, cwd };
414
- const ready = () => waitForLine(buffer, pattern, { timeoutMs: DEFAULT_READY_TIMEOUT_MS2, signal: ctx.signal });
415
- return buildHandle2(payload, ctx, ready, { buffer });
434
+ log.info("local process spawned", { pid: spawned.proc.pid, port, command });
435
+ const payload = { pid: spawned.proc.pid, port, cwd };
436
+ const ready = () => waitForLine(spawned.buffer, pattern, {
437
+ timeoutMs: DEFAULT_READY_TIMEOUT_MS2,
438
+ signal: ctx.signal
439
+ });
440
+ return buildProcessHandle(payload, ctx, ready, spawned);
416
441
  },
417
442
  async restore(payload, ctx) {
418
443
  const log = ctx.log;
@@ -420,7 +445,78 @@ var localDeployTarget = {
420
445
  throw new Error(`local deploy pid ${payload.pid} is no longer alive`);
421
446
  }
422
447
  log.info("re-attached to local process", { pid: payload.pid, port: payload.port });
423
- return buildHandle2(payload, ctx, async () => {
448
+ return buildProcessHandle(payload, ctx, async () => {
449
+ }, null);
450
+ }
451
+ };
452
+ var nixConfigSchema = z.object({
453
+ /** Flake reference holding the stack, e.g. `/etc/skaile/flake` or `github:org/repo`. */
454
+ flakeRef: z.string(),
455
+ /** Attr selected out of the flake, e.g. `stacks.default`. */
456
+ stackAttr: z.string(),
457
+ port: z.number().int().positive().optional(),
458
+ env: z.record(z.string(), z.string()).optional(),
459
+ cwd: z.string().optional(),
460
+ readyPattern: z.string().optional(),
461
+ /** Override the `nix` binary — for hermetic tests only. */
462
+ nixBin: z.string().optional()
463
+ }).strict();
464
+ var nixPayloadSchema = z.object({
465
+ pid: z.number(),
466
+ port: z.number()
467
+ });
468
+ var DEFAULT_READY_PATTERN3 = "ws://";
469
+ var DEFAULT_READY_TIMEOUT_MS3 = 6e4;
470
+ function buildNixArgs(config, port) {
471
+ return [
472
+ "shell",
473
+ "--offline",
474
+ `${config.flakeRef}#${config.stackAttr}`,
475
+ "--command",
476
+ "skaile",
477
+ "serve",
478
+ "--port",
479
+ String(port)
480
+ ];
481
+ }
482
+ var nixDeployTarget = {
483
+ id: "nix",
484
+ displayName: "Nix shell",
485
+ apiVersion: 1,
486
+ tlsTermination: "none",
487
+ configSchema: nixConfigSchema,
488
+ payloadSchema: nixPayloadSchema,
489
+ async create(config, ctx) {
490
+ const log = ctx.log;
491
+ const port = config.port ?? await allocateFreePort();
492
+ const cwd = config.cwd ?? process.cwd();
493
+ const bin = config.nixBin ?? "nix";
494
+ const args = buildNixArgs(config, port);
495
+ const pattern = new RegExp(config.readyPattern ?? DEFAULT_READY_PATTERN3);
496
+ const spawned = spawnProcess(bin, args, {
497
+ cwd,
498
+ env: { ...process.env, ...ctx.env, ...config.env }
499
+ });
500
+ log.info("nix shell spawned", {
501
+ pid: spawned.proc.pid,
502
+ port,
503
+ flakeRef: config.flakeRef,
504
+ stackAttr: config.stackAttr
505
+ });
506
+ const payload = { pid: spawned.proc.pid, port };
507
+ const ready = () => waitForLine(spawned.buffer, pattern, {
508
+ timeoutMs: DEFAULT_READY_TIMEOUT_MS3,
509
+ signal: ctx.signal
510
+ });
511
+ return buildProcessHandle(payload, ctx, ready, spawned);
512
+ },
513
+ async restore(payload, ctx) {
514
+ const log = ctx.log;
515
+ if (!pidAlive(payload.pid)) {
516
+ throw new Error(`nix deploy pid ${payload.pid} is no longer alive`);
517
+ }
518
+ log.info("re-attached to nix shell", { pid: payload.pid, port: payload.port });
519
+ return buildProcessHandle(payload, ctx, async () => {
424
520
  }, null);
425
521
  }
426
522
  };
@@ -463,11 +559,11 @@ async function clearHandle(projectDir) {
463
559
 
464
560
  // deploy/src/index.ts
465
561
  function registerBuiltinDeployTargets(registry = pluginRegistry) {
466
- for (const t of [localDeployTarget, dockerDeployTarget, podmanDeployTarget]) {
562
+ for (const t of [localDeployTarget, dockerDeployTarget, podmanDeployTarget, nixDeployTarget]) {
467
563
  if (!registry.get("deployTarget", t.id)) registry.register("deployTarget", t);
468
564
  }
469
565
  }
470
566
 
471
- export { clearHandle, dockerDeployTarget, handlePath, localDeployTarget, makeContainerDeployTarget, podmanDeployTarget, readHandle, registerBuiltinDeployTargets, writeHandle };
567
+ export { buildNixArgs, clearHandle, dockerDeployTarget, handlePath, localDeployTarget, makeContainerDeployTarget, nixDeployTarget, podmanDeployTarget, readHandle, registerBuiltinDeployTargets, writeHandle };
472
568
  //# sourceMappingURL=index.js.map
473
569
  //# sourceMappingURL=index.js.map