@skaile/workspaces 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/dist/{asset-feeds-677S5NX7.js → asset-feeds-NIAABO6U.js} +11 -11
  3. package/dist/{asset-feeds-677S5NX7.js.map → asset-feeds-NIAABO6U.js.map} +1 -1
  4. package/dist/asset-manager/index.js +8 -8
  5. package/dist/asset-manager/installer.js +7 -7
  6. package/dist/asset-manager/src/index.d.ts +128 -0
  7. package/dist/asset-manager/src/index.d.ts.map +1 -1
  8. package/dist/bridge/drivers/claude-sdk.js +2 -2
  9. package/dist/bridge/drivers/codex.js +1 -1
  10. package/dist/bridge/drivers/continue.js +2 -2
  11. package/dist/bridge/drivers/echo.js +1 -1
  12. package/dist/bridge/drivers/gemini.js +3 -3
  13. package/dist/bridge/drivers/goose.js +2 -2
  14. package/dist/bridge/drivers/omp.js +1 -1
  15. package/dist/bridge/drivers/opencode.js +2 -2
  16. package/dist/bridge/drivers/qwen.js +3 -3
  17. package/dist/bridge/index.js +3 -3
  18. package/dist/{chunk-FLRHP3UC.js → chunk-35TLBMHX.js} +4 -4
  19. package/dist/{chunk-FLRHP3UC.js.map → chunk-35TLBMHX.js.map} +1 -1
  20. package/dist/{chunk-6VUP6XHK.js → chunk-52XHXSBN.js} +3 -3
  21. package/dist/{chunk-6VUP6XHK.js.map → chunk-52XHXSBN.js.map} +1 -1
  22. package/dist/{chunk-NXC6IEL4.js → chunk-5AGARSQT.js} +267 -261
  23. package/dist/chunk-5AGARSQT.js.map +1 -0
  24. package/dist/{chunk-WSQ5J7CE.js → chunk-B4IOSXRZ.js} +98 -49
  25. package/dist/chunk-B4IOSXRZ.js.map +1 -0
  26. package/dist/{chunk-EXNTTJGP.js → chunk-BCJL2UNH.js} +3 -3
  27. package/dist/{chunk-EXNTTJGP.js.map → chunk-BCJL2UNH.js.map} +1 -1
  28. package/dist/{chunk-W53D5Q52.js → chunk-BM37QD6U.js} +3 -3
  29. package/dist/{chunk-W53D5Q52.js.map → chunk-BM37QD6U.js.map} +1 -1
  30. package/dist/{chunk-PLQVAEM2.js → chunk-DMHVL5MC.js} +5 -5
  31. package/dist/{chunk-PLQVAEM2.js.map → chunk-DMHVL5MC.js.map} +1 -1
  32. package/dist/{chunk-K5JIAHDV.js → chunk-EE4NL25D.js} +29 -20
  33. package/dist/chunk-EE4NL25D.js.map +1 -0
  34. package/dist/{chunk-43JDPQJ4.js → chunk-G2X3THJV.js} +5 -5
  35. package/dist/{chunk-43JDPQJ4.js.map → chunk-G2X3THJV.js.map} +1 -1
  36. package/dist/{chunk-KSISPZV3.js → chunk-INUQVXUE.js} +2 -2
  37. package/dist/{chunk-KSISPZV3.js.map → chunk-INUQVXUE.js.map} +1 -1
  38. package/dist/{chunk-UTHEIPEY.js → chunk-KVZ6XKVN.js} +56 -14
  39. package/dist/chunk-KVZ6XKVN.js.map +1 -0
  40. package/dist/{chunk-SFVEHSCI.js → chunk-L3SLC3S4.js} +253 -14
  41. package/dist/chunk-L3SLC3S4.js.map +1 -0
  42. package/dist/{chunk-3KPNDTMR.js → chunk-MG6UIS7G.js} +3 -3
  43. package/dist/{chunk-3KPNDTMR.js.map → chunk-MG6UIS7G.js.map} +1 -1
  44. package/dist/{chunk-LKOMH3QC.js → chunk-OIGYDVCM.js} +3 -3
  45. package/dist/{chunk-LKOMH3QC.js.map → chunk-OIGYDVCM.js.map} +1 -1
  46. package/dist/{chunk-N5AE5SOC.js → chunk-QVE3ILCY.js} +2 -2
  47. package/dist/{chunk-N5AE5SOC.js.map → chunk-QVE3ILCY.js.map} +1 -1
  48. package/dist/{chunk-GYPA2Q7F.js → chunk-SHOKXRL4.js} +21 -4
  49. package/dist/chunk-SHOKXRL4.js.map +1 -0
  50. package/dist/{chunk-6AD3NS7R.js → chunk-U5J77IIZ.js} +4 -4
  51. package/dist/{chunk-6AD3NS7R.js.map → chunk-U5J77IIZ.js.map} +1 -1
  52. package/dist/{chunk-OYMSCV7T.js → chunk-UY5Q2NZH.js} +3 -3
  53. package/dist/{chunk-OYMSCV7T.js.map → chunk-UY5Q2NZH.js.map} +1 -1
  54. package/dist/{chunk-2D5YE3FL.js → chunk-VYIK5IE5.js} +85 -6
  55. package/dist/chunk-VYIK5IE5.js.map +1 -0
  56. package/dist/{chunk-DW5MIJK3.js → chunk-YI5OZ7QO.js} +2 -2
  57. package/dist/{chunk-DW5MIJK3.js.map → chunk-YI5OZ7QO.js.map} +1 -1
  58. package/dist/{chunk-XD7GYMAU.js → chunk-Z4EJOBEL.js} +7 -7
  59. package/dist/{chunk-XD7GYMAU.js.map → chunk-Z4EJOBEL.js.map} +1 -1
  60. package/dist/{chunk-2ZK7M2SG.js → chunk-ZUE2PIJ5.js} +3 -3
  61. package/dist/{chunk-2ZK7M2SG.js.map → chunk-ZUE2PIJ5.js.map} +1 -1
  62. package/dist/cli/index.js +190 -55
  63. package/dist/cli/index.js.map +1 -1
  64. package/dist/cli/src/commands/catalog.d.ts +18 -0
  65. package/dist/cli/src/commands/catalog.d.ts.map +1 -1
  66. package/dist/cli/src/commands/manage.d.ts.map +1 -1
  67. package/dist/cli/src/commands/tree.d.ts.map +1 -1
  68. package/dist/cli/src/commands/why.d.ts.map +1 -1
  69. package/dist/cli/src/helpers.d.ts +25 -0
  70. package/dist/cli/src/helpers.d.ts.map +1 -1
  71. package/dist/connectors/config.js +7 -7
  72. package/dist/connectors/index.js +8 -8
  73. package/dist/connectors/src/connector-registry.d.ts.map +1 -1
  74. package/dist/core/index.js +6 -6
  75. package/dist/core/runtime-assets.js +2 -2
  76. package/dist/core/src/index.d.ts +1 -1
  77. package/dist/core/src/index.d.ts.map +1 -1
  78. package/dist/core/src/repo-manager.d.ts +19 -1
  79. package/dist/core/src/repo-manager.d.ts.map +1 -1
  80. package/dist/core/src/walker.d.ts +7 -0
  81. package/dist/core/src/walker.d.ts.map +1 -1
  82. package/dist/core/workspace-config.js +1 -1
  83. package/dist/deploy/index.js +6 -6
  84. package/dist/discovery/index.js +1 -1
  85. package/dist/discovery/src/discover.d.ts.map +1 -1
  86. package/dist/discovery/src/index.d.ts +1 -1
  87. package/dist/discovery/src/index.d.ts.map +1 -1
  88. package/dist/discovery/src/reference-lint.d.ts +30 -0
  89. package/dist/discovery/src/reference-lint.d.ts.map +1 -1
  90. package/dist/discovery/src/tree-entries.d.ts.map +1 -1
  91. package/dist/{ensure-sources-OCMHK7LT.js → ensure-sources-MJYHZ77Y.js} +16 -9
  92. package/dist/ensure-sources-MJYHZ77Y.js.map +1 -0
  93. package/dist/factory-assets/connectors/box/CONNECTOR.md +33 -0
  94. package/dist/factory-assets/connectors/box/driver.d.ts +27 -0
  95. package/dist/factory-assets/connectors/box/driver.d.ts.map +1 -0
  96. package/dist/factory-assets/connectors/box.d.ts +2 -0
  97. package/dist/factory-assets/connectors/box.js +20 -0
  98. package/dist/factory-assets/connectors/box.js.map +1 -0
  99. package/dist/factory-assets/connectors/deploy.js +8 -8
  100. package/dist/factory-assets/connectors/devserver.js +8 -8
  101. package/dist/factory-assets/connectors/flow/adapter.js +8 -8
  102. package/dist/factory-assets/connectors/flow/engine.js +6 -6
  103. package/dist/factory-assets/connectors/flow/run-flow.js +9 -9
  104. package/dist/factory-assets/connectors/flow.js +8 -8
  105. package/dist/factory-assets/connectors/git.js +8 -8
  106. package/dist/factory-assets/connectors/gmail.js +8 -8
  107. package/dist/factory-assets/connectors/googledrive.js +8 -8
  108. package/dist/factory-assets/connectors/local.js +8 -8
  109. package/dist/factory-assets/connectors/mattermost.js +8 -8
  110. package/dist/factory-assets/connectors/memory.js +8 -8
  111. package/dist/factory-assets/connectors/minio.js +8 -8
  112. package/dist/factory-assets/connectors/postgres.js +8 -8
  113. package/dist/factory-assets/connectors/s3.js +8 -8
  114. package/dist/factory-assets/connectors/sharepoint.js +8 -8
  115. package/dist/factory-assets/connectors/sqlite.js +8 -8
  116. package/dist/factory-assets/connectors/static-server.js +8 -8
  117. package/dist/factory-assets/connectors/tunnel.js +8 -8
  118. package/dist/factory-assets/connectors/webdav.js +8 -8
  119. package/dist/factory-assets/connectors/xstate-store.js +8 -8
  120. package/dist/factory-assets/connectors/xstate.js +8 -8
  121. package/dist/factory-assets/skaile.manifest.yaml +4 -1
  122. package/dist/{flows-36PZESON.js → flows-4Z74KY2H.js} +3 -3
  123. package/dist/{flows-36PZESON.js.map → flows-4Z74KY2H.js.map} +1 -1
  124. package/dist/helpers-7KOVCMHW.js +22 -0
  125. package/dist/{helpers-F4NZ66VD.js.map → helpers-7KOVCMHW.js.map} +1 -1
  126. package/dist/library/index.js +8 -8
  127. package/dist/library/install.js +6 -6
  128. package/dist/library/src/library.d.ts +6 -0
  129. package/dist/library/src/library.d.ts.map +1 -1
  130. package/dist/library/src/local/db.d.ts.map +1 -1
  131. package/dist/library/src/local/library.d.ts +9 -0
  132. package/dist/library/src/local/library.d.ts.map +1 -1
  133. package/dist/library/src/local/local-catalog-source.d.ts +9 -0
  134. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  135. package/dist/library/src/local/schema.d.ts +19 -0
  136. package/dist/library/src/local/schema.d.ts.map +1 -1
  137. package/dist/open-library-PGTL332T.js +29 -0
  138. package/dist/{open-library-WRFYABFP.js.map → open-library-PGTL332T.js.map} +1 -1
  139. package/dist/{paths-EUNVMONC.js → paths-S7QNXYMB.js} +9 -9
  140. package/dist/{paths-EUNVMONC.js.map → paths-S7QNXYMB.js.map} +1 -1
  141. package/dist/{plugin-store-35KIMX6W.js → plugin-store-3DAVGKHN.js} +8 -8
  142. package/dist/{plugin-store-35KIMX6W.js.map → plugin-store-3DAVGKHN.js.map} +1 -1
  143. package/dist/runner/index.js +13 -13
  144. package/dist/runner/src/serve.d.ts.map +1 -1
  145. package/dist/sdk/asset-manager.js +8 -8
  146. package/dist/sdk/bridge.js +3 -3
  147. package/dist/sdk/core.js +6 -6
  148. package/dist/sdk/flow.js +6 -6
  149. package/dist/sdk/index.js +13 -13
  150. package/dist/sdk/runner.js +13 -13
  151. package/dist/{setup-HM6HATAC.js → setup-WBGDT2WY.js} +11 -11
  152. package/dist/{setup-HM6HATAC.js.map → setup-WBGDT2WY.js.map} +1 -1
  153. package/dist/{source-EZ5Y3CKP.js → source-FJXRQ2NU.js} +19 -13
  154. package/dist/{source-EZ5Y3CKP.js.map → source-FJXRQ2NU.js.map} +1 -1
  155. package/dist/{store-client-BUUF7BPK.js → store-client-YGDN4L2G.js} +9 -9
  156. package/dist/{store-client-BUUF7BPK.js.map → store-client-YGDN4L2G.js.map} +1 -1
  157. package/dist/tui/index.js +13 -13
  158. package/dist/workspace-plugin/adapters/mcp.js +2 -2
  159. package/dist/workspace-plugin/adapters/omp.js +3 -3
  160. package/dist/workspace-plugin/index.js +1 -1
  161. package/package.json +7 -1
  162. package/dist/chunk-2D5YE3FL.js.map +0 -1
  163. package/dist/chunk-GYPA2Q7F.js.map +0 -1
  164. package/dist/chunk-K5JIAHDV.js.map +0 -1
  165. package/dist/chunk-NXC6IEL4.js.map +0 -1
  166. package/dist/chunk-SFVEHSCI.js.map +0 -1
  167. package/dist/chunk-UTHEIPEY.js.map +0 -1
  168. package/dist/chunk-WSQ5J7CE.js.map +0 -1
  169. package/dist/ensure-sources-OCMHK7LT.js.map +0 -1
  170. package/dist/helpers-F4NZ66VD.js +0 -4
  171. package/dist/open-library-WRFYABFP.js +0 -23
@@ -1,6 +1,6 @@
1
- import { readManifestSourceConfig, discoverAssetsInTree } from './chunk-UTHEIPEY.js';
1
+ import { readManifestSourceConfig, discoverAssetsInTree, isManifestMode } from './chunk-KVZ6XKVN.js';
2
2
  import { installFromManifest } from './chunk-UKJMQZV6.js';
3
- import { mergeLegacyEntriesInto, getGlobalCacheDir, migrateLegacyDir, globalCacheRoot } from './chunk-NXC6IEL4.js';
3
+ import { mergeLegacyEntriesInto, getGlobalCacheDir, resolveSourcePublisher, migrateLegacyDir, globalCacheRoot } from './chunk-5AGARSQT.js';
4
4
  import { parseAssetRef } from './chunk-GEEW6SY2.js';
5
5
  import { PresetManifestSchema } from './chunk-CU5Z7GH3.js';
6
6
  import { __export } from './chunk-NSBPE2FW.js';
@@ -10,7 +10,7 @@ import * as path5 from 'path';
10
10
  import { stringify, parse, parseDocument } from 'yaml';
11
11
  import * as z3 from 'zod';
12
12
  import * as crypto from 'crypto';
13
- import { eq, like, and } from 'drizzle-orm';
13
+ import { eq, and, like } from 'drizzle-orm';
14
14
  import { createClient } from '@libsql/client';
15
15
  import { drizzle } from 'drizzle-orm/libsql';
16
16
  import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core';
@@ -308,6 +308,8 @@ var assetDefinitions = sqliteTable("asset_definitions", {
308
308
  manifest: text("manifest").notNull(),
309
309
  /** FK to the library that provided this definition. */
310
310
  libraryId: text("library_id"),
311
+ /** JSON-encoded array of this asset's body-link soft-dep target refs. */
312
+ softDeps: text("soft_deps"),
311
313
  kindProviderVersion: text("kind_provider_version"),
312
314
  cachedAt: text("cached_at").notNull(),
313
315
  updatedAt: text("updated_at").notNull()
@@ -480,6 +482,7 @@ CREATE TABLE IF NOT EXISTS asset_definitions (
480
482
  category TEXT,
481
483
  manifest TEXT NOT NULL,
482
484
  library_id TEXT REFERENCES libraries(id) ON DELETE SET NULL,
485
+ soft_deps TEXT,
483
486
  kind_provider_version TEXT,
484
487
  cached_at TEXT NOT NULL,
485
488
  updated_at TEXT NOT NULL
@@ -623,6 +626,7 @@ CREATE TABLE asset_definitions_new (
623
626
  category TEXT,
624
627
  manifest TEXT NOT NULL,
625
628
  library_id TEXT REFERENCES libraries(id) ON DELETE SET NULL,
629
+ soft_deps TEXT,
626
630
  kind_provider_version TEXT,
627
631
  cached_at TEXT NOT NULL,
628
632
  updated_at TEXT NOT NULL
@@ -639,6 +643,7 @@ var ASSET_DEFINITIONS_COLUMNS = [
639
643
  "category",
640
644
  "manifest",
641
645
  "library_id",
646
+ "soft_deps",
642
647
  "kind_provider_version",
643
648
  "cached_at",
644
649
  "updated_at"
@@ -720,6 +725,13 @@ async function createLibraryDb(dbPath) {
720
725
  await runAssignmentsMigration(client);
721
726
  }
722
727
  await client.executeMultiple(DDL);
728
+ try {
729
+ await client.execute("ALTER TABLE asset_definitions ADD COLUMN soft_deps TEXT");
730
+ } catch (err) {
731
+ if (!/duplicate column/i.test(err instanceof Error ? err.message : String(err))) {
732
+ throw err;
733
+ }
734
+ }
723
735
  await healStaleAssetDefinitionsFk(client);
724
736
  if (await librariesPresent(client)) {
725
737
  const storeRows = await client.execute({
@@ -753,6 +765,16 @@ function stripRefVersion(ref) {
753
765
  const at = ref.lastIndexOf("@");
754
766
  return at > 0 ? ref.slice(0, at) : ref;
755
767
  }
768
+ function parseSoftDeps(raw) {
769
+ if (!raw) return void 0;
770
+ try {
771
+ const parsed = JSON.parse(raw);
772
+ if (!Array.isArray(parsed)) return void 0;
773
+ return parsed.filter((s) => typeof s === "string");
774
+ } catch {
775
+ return void 0;
776
+ }
777
+ }
756
778
  function rowToLibrary(row) {
757
779
  const cfg = (() => {
758
780
  try {
@@ -789,6 +811,7 @@ function rowToAssetDef(row) {
789
811
  category: row.category ?? void 0,
790
812
  manifest: JSON.parse(row.manifest),
791
813
  libraryId: row.libraryId ?? void 0,
814
+ softDeps: parseSoftDeps(row.softDeps),
792
815
  kindProviderVersion: row.kindProviderVersion ?? void 0,
793
816
  cachedAt: new Date(row.cachedAt),
794
817
  updatedAt: new Date(row.updatedAt)
@@ -952,6 +975,7 @@ var LocalIndex = class {
952
975
  category: def.category ?? null,
953
976
  manifest: JSON.stringify(def.manifest),
954
977
  libraryId: def.libraryId ?? null,
978
+ softDeps: def.softDeps ? JSON.stringify(def.softDeps) : null,
955
979
  kindProviderVersion: providerVersion,
956
980
  cachedAt: def.cachedAt?.toISOString() ?? now,
957
981
  updatedAt: now
@@ -968,11 +992,32 @@ var LocalIndex = class {
968
992
  category: def.category ?? null,
969
993
  manifest: JSON.stringify(def.manifest),
970
994
  libraryId: def.libraryId ?? null,
995
+ softDeps: def.softDeps ? JSON.stringify(def.softDeps) : null,
971
996
  kindProviderVersion: providerVersion,
972
997
  updatedAt: now
973
998
  }
974
999
  }).run();
975
1000
  }
1001
+ /**
1002
+ * Delete this library's cached asset defs whose ref is not in `keepRefs`.
1003
+ * Makes a sync authoritative: a def re-keyed under a new publisher (e.g.
1004
+ * `@skills/x` → `@acme/x`) leaves no stale duplicate behind. Returns the
1005
+ * number of rows removed.
1006
+ *
1007
+ * Not on the IAssetIndex interface — used by catalog sources.
1008
+ */
1009
+ async pruneAssetDefs(libraryId, keepRefs) {
1010
+ const db = await this.ensureDb();
1011
+ const rows = await db.select({ id: assetDefinitions.id }).from(assetDefinitions).where(eq(assetDefinitions.libraryId, libraryId)).all();
1012
+ const keep = new Set(keepRefs);
1013
+ const stale = rows.filter((r) => !keep.has(r.id)).map((r) => r.id);
1014
+ for (const id of stale) {
1015
+ await db.delete(assetDefinitions).where(
1016
+ and(eq(assetDefinitions.libraryId, libraryId), eq(assetDefinitions.id, id))
1017
+ ).run();
1018
+ }
1019
+ return stale.length;
1020
+ }
976
1021
  async getAssetDef(ref) {
977
1022
  const db = await this.ensureDb();
978
1023
  const row = await db.select().from(assetDefinitions).where(eq(assetDefinitions.id, ref)).get();
@@ -1597,13 +1642,21 @@ var LocalCatalogSource = class {
1597
1642
  includeDev: syncOpts?.includeDev ?? false
1598
1643
  };
1599
1644
  if (!this.sidecarPath) {
1600
- opts.sourceConfig = readManifestSourceConfig(this.rootPath);
1645
+ opts.sourceConfig = this.alignPublisher(readManifestSourceConfig(this.rootPath));
1601
1646
  }
1602
1647
  const result = discoverAssetsInTree(this.rootPath, opts);
1603
1648
  let assetsUpdated = 0;
1604
1649
  const errors = [];
1650
+ const softDepsByRef = /* @__PURE__ */ new Map();
1651
+ for (const e of result.graph.edges) {
1652
+ if (e.field !== "body-link") continue;
1653
+ const list = softDepsByRef.get(e.from);
1654
+ if (list) list.push(e.to);
1655
+ else softDepsByRef.set(e.from, [e.to]);
1656
+ }
1605
1657
  for (const asset of result.assets) {
1606
1658
  if (asset.kind === "preset") continue;
1659
+ const softDeps = softDepsByRef.get(asset.ref) ?? [];
1607
1660
  try {
1608
1661
  await this.library.upsertAssetDef({
1609
1662
  id: asset.ref,
@@ -1617,6 +1670,7 @@ var LocalCatalogSource = class {
1617
1670
  category: typeof asset.manifest.category === "string" ? asset.manifest.category : void 0,
1618
1671
  manifest: asset.manifest,
1619
1672
  libraryId: this.sourceId,
1673
+ softDeps,
1620
1674
  cachedAt: /* @__PURE__ */ new Date(),
1621
1675
  updatedAt: /* @__PURE__ */ new Date()
1622
1676
  });
@@ -1628,8 +1682,33 @@ var LocalCatalogSource = class {
1628
1682
  for (const err of result.errors) {
1629
1683
  errors.push(`${err.path}: ${err.error}`);
1630
1684
  }
1685
+ const keepRefs = result.assets.filter((a) => a.kind !== "preset").map((a) => a.ref);
1686
+ if (keepRefs.length > 0) await this.library.pruneAssetDefs(this.sourceId, keepRefs);
1631
1687
  return { assetsFound: result.assets.length, assetsUpdated, errors };
1632
1688
  }
1689
+ /**
1690
+ * When the loaded source config declares no publisher (no manifest, or a
1691
+ * manifest without `publisher`), substitute the canonical publisher derived
1692
+ * the same way the provenance walker derives it (`resolveSourcePublisher`).
1693
+ * Leaves manifest-mode (`assets:` inventory) and explicitly-published configs
1694
+ * untouched, and is a no-op outside a git checkout (`resolveSourcePublisher`
1695
+ * returns `undefined`) — preserving the legacy first-path-segment fallback.
1696
+ */
1697
+ alignPublisher(config) {
1698
+ if (config && (isManifestMode(config) || !config.publisher_default.includes("<domain>"))) {
1699
+ return config;
1700
+ }
1701
+ const publisher = resolveSourcePublisher(this.rootPath);
1702
+ if (!publisher) return config;
1703
+ const base = config ?? {
1704
+ version: 1,
1705
+ publisher_default: `@${publisher}`,
1706
+ default_ref: "main",
1707
+ publisher_overrides: [],
1708
+ dev_paths: []
1709
+ };
1710
+ return { ...base, publisher_default: `@${publisher}` };
1711
+ }
1633
1712
  };
1634
1713
  function defToCatalogAsset(def) {
1635
1714
  return {
@@ -3762,5 +3841,5 @@ function detectWorkspaceVersion(dir, filename = "skaile.yaml") {
3762
3841
  }
3763
3842
 
3764
3843
  export { AssignmentNotFoundError, CatalogCache, CatalogConfigSchema, CatalogHttpError, DuplicateAssignmentError, DuplicateLibraryNameError, GitSyncDriver, InstanceHasConsumersError, InstanceNotFoundError, InterpolationError, KNOWN_ASSET_KINDS, KnowledgeManifestSchema, LIBRARY_BACKENDS, LIBRARY_OWNERSHIPS, LIBRARY_STRUCTURES, LOCAL_CATALOG_URL, LibraryConfigSchema, LibraryError, LibraryInstanceRefSchema, LibraryManager, LibrarySectionSchema, LibrarySyncError, LocalCatalogSource, LocalIndex, LocalSyncDriver, LockAssignmentSchema, LockFileSchema, OfflineError, OperationNotPermittedError, PIN_POLICIES, PinPolicySchema, PresetAppliedSchema, PresetExpandedSchema, RemoteCatalogSource, RequiresEdgeSchema, RestCatalogSource, SidecarGit, SkaileConfigSchema, SourceNotFoundError, TarballHashMismatchError, UserLibraryNotFoundError, WorkspaceConfigV2Schema, applyNonStructuralUpgrade, applyPreset, applyPresetFromData, classifyRef, createEmptyLockFile, deriveSlug, detectChanges, detectNestedPresetRefs, detectWorkspaceVersion, evaluateUpgrade, extractLibraryInstanceId, extractReferencedKeys, filterKey, getConfigDefaults, getDefaultValue, getSidecarRoot, getStoreManifestsDir, getStoreRoot, hasInterpolationTokens, interpolate, isLocalCatalogUrl, isSecretPlaceholder, knowledgeKindProvider, listSidecarSlugsOnDisk, loadLockFile, loadWorkspaceV2, migrateSidecarsToStoreIfNeeded, migrateWorkspaceConfig, parsePreset, parsePresetYaml, parseWorkspaceV2, projectConfigPath, queryInstancePickerChoices, resolveAllItems, resolveConfig, resolveIndexPath, resolveItem, resolveLibraryDir, resolvePin, resolveSidecarPaths, saveConfig, saveLockFile, saveWorkspaceV2, sha256Hex, skaileHomeDir, storeSecrets, trpcGetUrl, userConfigPath, validateAllPlaceholders, validateKnowledge, validateNestingDepth, validatePlaceholder, writeManifestIfMissing };
3765
- //# sourceMappingURL=chunk-2D5YE3FL.js.map
3766
- //# sourceMappingURL=chunk-2D5YE3FL.js.map
3844
+ //# sourceMappingURL=chunk-VYIK5IE5.js.map
3845
+ //# sourceMappingURL=chunk-VYIK5IE5.js.map