@skaile/workspaces 2.1.0 → 2.2.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 (153) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +26 -0
  3. package/dist/{asset-feeds-FBGBQEYD.js → asset-feeds-D2LOXTOS.js} +9 -9
  4. package/dist/{asset-feeds-FBGBQEYD.js.map → asset-feeds-D2LOXTOS.js.map} +1 -1
  5. package/dist/asset-manager/catalog-deployer.js +5 -5
  6. package/dist/asset-manager/index.js +9 -9
  7. package/dist/asset-manager/installer.js +6 -6
  8. package/dist/bridge/drivers/claude-sdk.js +6 -6
  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 +2 -2
  18. package/dist/{chunk-MLYV6WEM.js → chunk-5BH6ZEGC.js} +9 -9
  19. package/dist/{chunk-MLYV6WEM.js.map → chunk-5BH6ZEGC.js.map} +1 -1
  20. package/dist/{chunk-RTLQAZAE.js → chunk-63ZPKREA.js} +3 -3
  21. package/dist/{chunk-RTLQAZAE.js.map → chunk-63ZPKREA.js.map} +1 -1
  22. package/dist/{chunk-ZWFLEMI4.js → chunk-6HPTB6KT.js} +4 -4
  23. package/dist/{chunk-ZWFLEMI4.js.map → chunk-6HPTB6KT.js.map} +1 -1
  24. package/dist/{chunk-43TAGQ3Z.js → chunk-6I5VRIX3.js} +8 -8
  25. package/dist/{chunk-43TAGQ3Z.js.map → chunk-6I5VRIX3.js.map} +1 -1
  26. package/dist/{chunk-HOL5KD7U.js → chunk-6QSGCHE5.js} +5 -5
  27. package/dist/{chunk-HOL5KD7U.js.map → chunk-6QSGCHE5.js.map} +1 -1
  28. package/dist/{chunk-XSIXGVH6.js → chunk-A67FJ4YT.js} +4 -4
  29. package/dist/{chunk-XSIXGVH6.js.map → chunk-A67FJ4YT.js.map} +1 -1
  30. package/dist/{chunk-XQVP6XWR.js → chunk-BFIK6NPZ.js} +3 -3
  31. package/dist/{chunk-XQVP6XWR.js.map → chunk-BFIK6NPZ.js.map} +1 -1
  32. package/dist/{chunk-SGLGA2AZ.js → chunk-BUPFJFGP.js} +3 -3
  33. package/dist/{chunk-SGLGA2AZ.js.map → chunk-BUPFJFGP.js.map} +1 -1
  34. package/dist/{chunk-CTWE7I7Z.js → chunk-CERGXDGG.js} +4 -4
  35. package/dist/{chunk-CTWE7I7Z.js.map → chunk-CERGXDGG.js.map} +1 -1
  36. package/dist/{chunk-N6TYW6EB.js → chunk-DHGMYXOY.js} +4 -4
  37. package/dist/{chunk-N6TYW6EB.js.map → chunk-DHGMYXOY.js.map} +1 -1
  38. package/dist/{chunk-VPXBAEWE.js → chunk-GPMIXOJJ.js} +8 -8
  39. package/dist/{chunk-VPXBAEWE.js.map → chunk-GPMIXOJJ.js.map} +1 -1
  40. package/dist/{chunk-GUKMNUQK.js → chunk-I5ESMJMW.js} +2 -2
  41. package/dist/{chunk-GUKMNUQK.js.map → chunk-I5ESMJMW.js.map} +1 -1
  42. package/dist/{chunk-Y6VSFX2A.js → chunk-IR6VPAVH.js} +3 -3
  43. package/dist/{chunk-Y6VSFX2A.js.map → chunk-IR6VPAVH.js.map} +1 -1
  44. package/dist/{chunk-WVPL4OGD.js → chunk-KGIVZOLU.js} +2 -2
  45. package/dist/{chunk-WVPL4OGD.js.map → chunk-KGIVZOLU.js.map} +1 -1
  46. package/dist/{chunk-L26NGI43.js → chunk-MAIKGYFR.js} +2 -2
  47. package/dist/{chunk-L26NGI43.js.map → chunk-MAIKGYFR.js.map} +1 -1
  48. package/dist/{chunk-YODP3STD.js → chunk-Q26C5GLO.js} +3 -3
  49. package/dist/{chunk-YODP3STD.js.map → chunk-Q26C5GLO.js.map} +1 -1
  50. package/dist/{chunk-PYYL5XMA.js → chunk-RKMXBOIO.js} +3 -3
  51. package/dist/{chunk-PYYL5XMA.js.map → chunk-RKMXBOIO.js.map} +1 -1
  52. package/dist/{chunk-2BSXXTUP.js → chunk-SZJCUC52.js} +5 -5
  53. package/dist/{chunk-2BSXXTUP.js.map → chunk-SZJCUC52.js.map} +1 -1
  54. package/dist/{chunk-RBOPTTTK.js → chunk-TQIU4HQG.js} +10 -10
  55. package/dist/{chunk-RBOPTTTK.js.map → chunk-TQIU4HQG.js.map} +1 -1
  56. package/dist/{chunk-5BGEYZ7I.js → chunk-UFY2HFLO.js} +3 -3
  57. package/dist/{chunk-5BGEYZ7I.js.map → chunk-UFY2HFLO.js.map} +1 -1
  58. package/dist/{chunk-BTR3ZJ7S.js → chunk-VSSAJYFK.js} +4 -4
  59. package/dist/{chunk-BTR3ZJ7S.js.map → chunk-VSSAJYFK.js.map} +1 -1
  60. package/dist/{chunk-PSVF3LDU.js → chunk-WA7ADYSA.js} +4 -4
  61. package/dist/{chunk-PSVF3LDU.js.map → chunk-WA7ADYSA.js.map} +1 -1
  62. package/dist/{chunk-BHLNQ4L5.js → chunk-ZNIHTT22.js} +3 -3
  63. package/dist/{chunk-BHLNQ4L5.js.map → chunk-ZNIHTT22.js.map} +1 -1
  64. package/dist/cli/index.js +49 -49
  65. package/dist/connectors/config.js +6 -6
  66. package/dist/connectors/index.js +8 -8
  67. package/dist/core/index.js +5 -5
  68. package/dist/core/runtime-assets.js +3 -3
  69. package/dist/core/workspace-config.js +2 -2
  70. package/dist/deploy/index.js +5 -5
  71. package/dist/{ensure-sources-AVCVX7CV.js → ensure-sources-6QMXRI6D.js} +12 -12
  72. package/dist/{ensure-sources-AVCVX7CV.js.map → ensure-sources-6QMXRI6D.js.map} +1 -1
  73. package/dist/factory-assets/connectors/box.js +8 -8
  74. package/dist/factory-assets/connectors/deploy.js +8 -8
  75. package/dist/factory-assets/connectors/devserver.js +8 -8
  76. package/dist/factory-assets/connectors/flow/adapter.js +8 -8
  77. package/dist/factory-assets/connectors/flow/contract/expression.d.ts +46 -0
  78. package/dist/factory-assets/connectors/flow/contract/expression.d.ts.map +1 -0
  79. package/dist/factory-assets/connectors/flow/contract/flow.v2.schema.json +948 -0
  80. package/dist/factory-assets/connectors/flow/contract/hash.d.ts +6 -0
  81. package/dist/factory-assets/connectors/flow/contract/hash.d.ts.map +1 -0
  82. package/dist/factory-assets/connectors/flow/contract/index.d.ts +6 -0
  83. package/dist/factory-assets/connectors/flow/contract/index.d.ts.map +1 -0
  84. package/dist/factory-assets/connectors/flow/contract/json-schema.d.ts +6 -0
  85. package/dist/factory-assets/connectors/flow/contract/json-schema.d.ts.map +1 -0
  86. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts +35 -0
  87. package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -0
  88. package/dist/factory-assets/connectors/flow/contract/schema.d.ts +364 -0
  89. package/dist/factory-assets/connectors/flow/contract/schema.d.ts.map +1 -0
  90. package/dist/factory-assets/connectors/flow/contract.d.ts +2 -0
  91. package/dist/factory-assets/connectors/flow/contract.js +1027 -0
  92. package/dist/factory-assets/connectors/flow/contract.js.map +1 -0
  93. package/dist/factory-assets/connectors/flow/engine.js +5 -5
  94. package/dist/factory-assets/connectors/flow/run-flow.js +9 -9
  95. package/dist/factory-assets/connectors/flow.js +8 -8
  96. package/dist/factory-assets/connectors/git.js +8 -8
  97. package/dist/factory-assets/connectors/gmail.js +8 -8
  98. package/dist/factory-assets/connectors/googledrive.js +8 -8
  99. package/dist/factory-assets/connectors/local.js +8 -8
  100. package/dist/factory-assets/connectors/mattermost.js +8 -8
  101. package/dist/factory-assets/connectors/memory.js +8 -8
  102. package/dist/factory-assets/connectors/minio.js +8 -8
  103. package/dist/factory-assets/connectors/postgres.js +8 -8
  104. package/dist/factory-assets/connectors/s3.js +8 -8
  105. package/dist/factory-assets/connectors/sharepoint.js +8 -8
  106. package/dist/factory-assets/connectors/sqlite.js +8 -8
  107. package/dist/factory-assets/connectors/static-server.js +8 -8
  108. package/dist/factory-assets/connectors/tunnel.js +8 -8
  109. package/dist/factory-assets/connectors/webdav.js +8 -8
  110. package/dist/factory-assets/connectors/xstate-store.js +8 -8
  111. package/dist/factory-assets/connectors/xstate.js +8 -8
  112. package/dist/{flows-CXVFGR27.js → flows-TDDBCLNF.js} +8 -8
  113. package/dist/{flows-CXVFGR27.js.map → flows-TDDBCLNF.js.map} +1 -1
  114. package/dist/{helpers-M5SXB4LL.js → helpers-COQ7TDD4.js} +12 -12
  115. package/dist/{helpers-M5SXB4LL.js.map → helpers-COQ7TDD4.js.map} +1 -1
  116. package/dist/library/index.js +7 -7
  117. package/dist/library/install.js +5 -5
  118. package/dist/{library-publish-HVIIQMI6.js → library-publish-SNPER6PO.js} +15 -15
  119. package/dist/{library-publish-HVIIQMI6.js.map → library-publish-SNPER6PO.js.map} +1 -1
  120. package/dist/{open-library-EJQISBWV.js → open-library-VH2VEYQ7.js} +13 -13
  121. package/dist/{open-library-EJQISBWV.js.map → open-library-VH2VEYQ7.js.map} +1 -1
  122. package/dist/{paths-2HMHL25W.js → paths-XZA22IB4.js} +10 -10
  123. package/dist/{paths-2HMHL25W.js.map → paths-XZA22IB4.js.map} +1 -1
  124. package/dist/{plugin-store-TLBQ5XRS.js → plugin-store-CYSNVZIX.js} +7 -7
  125. package/dist/{plugin-store-TLBQ5XRS.js.map → plugin-store-CYSNVZIX.js.map} +1 -1
  126. package/dist/{project-M2COJFPZ.js → project-FKL7PMJV.js} +13 -13
  127. package/dist/{project-M2COJFPZ.js.map → project-FKL7PMJV.js.map} +1 -1
  128. package/dist/resolver/index.js +5 -5
  129. package/dist/runner/index.js +13 -13
  130. package/dist/sdk/asset-manager.js +9 -9
  131. package/dist/sdk/bridge.js +2 -2
  132. package/dist/sdk/core.js +5 -5
  133. package/dist/sdk/flow.js +5 -5
  134. package/dist/sdk/index.js +13 -13
  135. package/dist/sdk/resolver.js +5 -5
  136. package/dist/sdk/runner.js +13 -13
  137. package/dist/sdk/transport/ws.js +1 -1
  138. package/dist/sdk/transport.js +1 -1
  139. package/dist/{setup-GWXEG3G2.js → setup-BM6HMYJJ.js} +9 -9
  140. package/dist/{setup-GWXEG3G2.js.map → setup-BM6HMYJJ.js.map} +1 -1
  141. package/dist/{skills-YTMGG23D.js → skills-LHS4TOKK.js} +7 -7
  142. package/dist/{skills-YTMGG23D.js.map → skills-LHS4TOKK.js.map} +1 -1
  143. package/dist/{source-WMXH2OBW.js → source-JIUBJC4F.js} +14 -14
  144. package/dist/{source-WMXH2OBW.js.map → source-JIUBJC4F.js.map} +1 -1
  145. package/dist/{source-manifest-publish-MTHUGBAY.js → source-manifest-publish-TLH6UWWU.js} +16 -16
  146. package/dist/{source-manifest-publish-MTHUGBAY.js.map → source-manifest-publish-TLH6UWWU.js.map} +1 -1
  147. package/dist/transport/index.js +1 -1
  148. package/dist/transport/ws.js +1 -1
  149. package/dist/tui/index.js +13 -13
  150. package/dist/workspace-plugin/adapters/mcp.js +6 -6
  151. package/dist/workspace-plugin/adapters/omp.js +7 -7
  152. package/dist/workspace-plugin/index.js +1 -1
  153. package/package.json +18 -1
package/dist/cli/index.js CHANGED
@@ -1,55 +1,55 @@
1
1
  #!/usr/bin/env node
2
- import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-43TAGQ3Z.js';
3
- import { makeSourceCommand, syncProjectSources } from '../chunk-MLYV6WEM.js';
4
- import { AI_RESOURCES, aiResourceRoots } from '../chunk-BTR3ZJ7S.js';
5
- import { getStoreConfig, storeFetch, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, isStoreAuthenticated, getStoreToken, getStoreIdentity } from '../chunk-XQVP6XWR.js';
6
- import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-PSVF3LDU.js';
7
- import { logErr, S, logOk, logInfo, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, logWarn, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-Y6VSFX2A.js';
2
+ import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-6I5VRIX3.js';
3
+ import { makeSourceCommand, syncProjectSources } from '../chunk-5BH6ZEGC.js';
4
+ import { AI_RESOURCES, aiResourceRoots } from '../chunk-VSSAJYFK.js';
5
+ import { getStoreConfig, storeFetch, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, isStoreAuthenticated, getStoreToken, getStoreIdentity } from '../chunk-BFIK6NPZ.js';
6
+ import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-WA7ADYSA.js';
7
+ import { logErr, S, logOk, logInfo, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, logWarn, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-IR6VPAVH.js';
8
8
  import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
9
- import { runFlow, resumeFlow } from '../chunk-2BSXXTUP.js';
9
+ import { runFlow, resumeFlow } from '../chunk-SZJCUC52.js';
10
10
  import '../chunk-4R6DROGN.js';
11
11
  import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-CZZRDYT4.js';
12
- import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-RBOPTTTK.js';
13
- import { buildClaudePluginFiles } from '../chunk-L26NGI43.js';
12
+ import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-TQIU4HQG.js';
13
+ import { buildClaudePluginFiles } from '../chunk-MAIKGYFR.js';
14
14
  import '../chunk-X5YPJV4N.js';
15
15
  import '../chunk-W3UDISS2.js';
16
16
  import '../chunk-O7SG5PC2.js';
17
17
  import '../chunk-7QBNJTTQ.js';
18
- import '../chunk-WQ7DE5UC.js';
19
18
  import '../chunk-GTS2FODO.js';
19
+ import '../chunk-WQ7DE5UC.js';
20
20
  import '../chunk-32NA4TVC.js';
21
- import '../chunk-PYYL5XMA.js';
21
+ import '../chunk-RKMXBOIO.js';
22
22
  import '../chunk-ISQWMBKD.js';
23
23
  import '../chunk-RRVQAE5D.js';
24
24
  import '../chunk-BMQKMOQY.js';
25
25
  import '../chunk-GAH4YRCI.js';
26
- import '../chunk-WVPL4OGD.js';
26
+ import '../chunk-KGIVZOLU.js';
27
27
  import '../chunk-BEAIJRVF.js';
28
- import '../chunk-HOL5KD7U.js';
29
- import '../chunk-BHLNQ4L5.js';
28
+ import '../chunk-6QSGCHE5.js';
29
+ import '../chunk-ZNIHTT22.js';
30
30
  import '../chunk-6E6PKKAD.js';
31
+ import '../chunk-IFGTRL2I.js';
31
32
  import { loadFlow, loadAllFlows } from '../chunk-HPGV54O4.js';
32
33
  import '../chunk-Y662DNQQ.js';
33
- import '../chunk-IFGTRL2I.js';
34
34
  import '../chunk-RDE43ORT.js';
35
- import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-VPXBAEWE.js';
36
- import { resolveLibraryDir, getStoreManifestsDir, getDefaultValue, isSecretPlaceholder } from '../chunk-XSIXGVH6.js';
35
+ import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-GPMIXOJJ.js';
36
+ import { resolveLibraryDir, getStoreManifestsDir, getDefaultValue, isSecretPlaceholder } from '../chunk-A67FJ4YT.js';
37
+ import '../chunk-MAN7AGQJ.js';
37
38
  import '../chunk-UKJMQZV6.js';
38
39
  import '../chunk-R7FOF242.js';
39
- import '../chunk-MAN7AGQJ.js';
40
40
  import '../chunk-JXT46QFC.js';
41
- import '../chunk-CTWE7I7Z.js';
41
+ import '../chunk-CERGXDGG.js';
42
42
  import '../chunk-CGYEHQOX.js';
43
- import { resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor, checkAgentSkillConformance, readLock } from '../chunk-RTLQAZAE.js';
43
+ import { resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor, checkAgentSkillConformance, readLock } from '../chunk-63ZPKREA.js';
44
+ import '../chunk-F3HNW354.js';
44
45
  import { DRIVER_DEFAULTS } from '../chunk-K5GBV4SA.js';
45
46
  import { assetSearchDirs, detectDomains } from '../chunk-ZAP2BDHG.js';
46
- import { factoryAssetRoots } from '../chunk-5BGEYZ7I.js';
47
- import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, matchPin, coerceVersion, loadSkWorkspaceConfig, resolveSkWorkspaceConfig, storeManifestSlug } from '../chunk-YODP3STD.js';
47
+ import { factoryAssetRoots } from '../chunk-UFY2HFLO.js';
48
+ import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, matchPin, coerceVersion, loadSkWorkspaceConfig, resolveSkWorkspaceConfig, storeManifestSlug } from '../chunk-Q26C5GLO.js';
49
+ import { SUPPORTED_DRIVER_TARGETS } from '../chunk-MENCWIHW.js';
48
50
  import { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-P4VHQA4N.js';
49
51
  import { parseFrontmatter, scanDirectory } from '../chunk-DYMWJAL4.js';
50
52
  import { parseAssetRef, ASSET_KINDS, isValidAssetName, slugifyAssetName, ASSET_NAME_HINT, assetRefToStr } from '../chunk-GEEW6SY2.js';
51
- import '../chunk-F3HNW354.js';
52
- import { SUPPORTED_DRIVER_TARGETS } from '../chunk-MENCWIHW.js';
53
53
  import { openSqlite } from '../chunk-U5POE4BA.js';
54
54
  import '../chunk-7GOCNYUV.js';
55
55
  import '../chunk-KTBKW2FI.js';
@@ -107,7 +107,7 @@ async function runSearch(kind, query, opts) {
107
107
  }
108
108
  }
109
109
  async function searchIndex(query, kind) {
110
- const { openLibrary: openLibrary2 } = await import('../open-library-EJQISBWV.js');
110
+ const { openLibrary: openLibrary2 } = await import('../open-library-VH2VEYQ7.js');
111
111
  const library = await openLibrary2();
112
112
  try {
113
113
  const defs = await library.listAssetDefs(kind ? { kind } : {});
@@ -160,7 +160,7 @@ async function searchLocal(query, kind, opts, showStore, airGapped) {
160
160
  const factory = await searchFactory(projectDir, query, kind);
161
161
  let entries = unionEntries(await searchIndex(query, kind), factory);
162
162
  if (entries.length === 0 && !query && !kind && !airGapped) {
163
- const { autoSyncForSearch } = await import('../source-WMXH2OBW.js');
163
+ const { autoSyncForSearch } = await import('../source-JIUBJC4F.js');
164
164
  if (await autoSyncForSearch(projectDir)) {
165
165
  entries = unionEntries(await searchIndex(query, kind), factory);
166
166
  }
@@ -214,7 +214,7 @@ async function searchStore(query, kind, opts, airGapped) {
214
214
  logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
215
215
  return;
216
216
  }
217
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-EJQISBWV.js');
217
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-VH2VEYQ7.js');
218
218
  try {
219
219
  const remote = await openCatalogSource2({ projectDir: path14__default.resolve(opts.projectDir) });
220
220
  const assets = await remote.listAssets(kind ? { kind } : {});
@@ -529,7 +529,7 @@ async function resolveInfoEntry(am2, ref, opts) {
529
529
  return { entry: match ?? deployed };
530
530
  }
531
531
  const lookup = opts.storeLookup ?? (async (filter) => {
532
- const { resolveCatalogSource } = await import('../open-library-EJQISBWV.js');
532
+ const { resolveCatalogSource } = await import('../open-library-VH2VEYQ7.js');
533
533
  const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
534
534
  try {
535
535
  return await source.listAssets(filter);
@@ -545,7 +545,7 @@ async function resolveInfoEntry(am2, ref, opts) {
545
545
  );
546
546
  return { entry: hit ? catalogAssetToEntry(hit) : null };
547
547
  } catch (err) {
548
- const { LocalCatalogDisabledError } = await import('../open-library-EJQISBWV.js');
548
+ const { LocalCatalogDisabledError } = await import('../open-library-VH2VEYQ7.js');
549
549
  const storeNote = err instanceof Error ? err.message : String(err);
550
550
  const disabled = err instanceof LocalCatalogDisabledError || /catalog\.url/i.test(storeNote);
551
551
  return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
@@ -1165,7 +1165,7 @@ function makeCatalogCommand() {
1165
1165
  return catalog;
1166
1166
  }
1167
1167
  async function runLocalCatalogTest(projectDir) {
1168
- const { resolveCatalogSource } = await import('../open-library-EJQISBWV.js');
1168
+ const { resolveCatalogSource } = await import('../open-library-VH2VEYQ7.js');
1169
1169
  let resolved;
1170
1170
  try {
1171
1171
  resolved = await resolveCatalogSource({ projectDir });
@@ -2155,7 +2155,7 @@ async function ensureTargetsRegistered(projectDir) {
2155
2155
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
2156
2156
  const config = resolveSkWorkspaceConfig2(projectDir);
2157
2157
  if (config.plugins && config.plugins.length > 0) {
2158
- const { ensurePluginsLoaded } = await import('../plugin-store-TLBQ5XRS.js');
2158
+ const { ensurePluginsLoaded } = await import('../plugin-store-CYSNVZIX.js');
2159
2159
  const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
2160
2160
  for (const f of result.failed) logWarn(f.error);
2161
2161
  }
@@ -3404,16 +3404,16 @@ function makeLibraryCommand() {
3404
3404
  });
3405
3405
  cmd.command("publish <lib>").description("Push + register the library's manifest atomically (needs git backend)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--create-repo", "Provision + link a public github repo if the library has no remote").option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; push nothing and call no store endpoint").action(
3406
3406
  async (lib, opts) => {
3407
- const { runLibraryPublish } = await import('../library-publish-HVIIQMI6.js');
3407
+ const { runLibraryPublish } = await import('../library-publish-SNPER6PO.js');
3408
3408
  await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
3409
3409
  }
3410
3410
  );
3411
3411
  cmd.command("register <lib>").description("Register the library's manifest without pushing (bytes already on github)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; call no store endpoint").action(async (lib, opts) => {
3412
- const { runLibraryRegister } = await import('../library-publish-HVIIQMI6.js');
3412
+ const { runLibraryRegister } = await import('../library-publish-SNPER6PO.js');
3413
3413
  await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
3414
3414
  });
3415
3415
  cmd.command("yank <lib>").description("Retract the library's published assets from the store").option("--asset <ref>", "Yank only the single asset matching this ref/name").action(async (lib, opts) => {
3416
- const { runLibraryYank } = await import('../library-publish-HVIIQMI6.js');
3416
+ const { runLibraryYank } = await import('../library-publish-SNPER6PO.js');
3417
3417
  await withStoreErrorHandling(() => runLibraryYank(lib, opts));
3418
3418
  });
3419
3419
  return cmd;
@@ -4135,7 +4135,7 @@ function scheduleSoftDepPreview() {
4135
4135
  }
4136
4136
  async function loadAssets() {
4137
4137
  softDepPreviewCache.clear();
4138
- const { gatherAssetFeeds } = await import('../asset-feeds-FBGBQEYD.js');
4138
+ const { gatherAssetFeeds } = await import('../asset-feeds-D2LOXTOS.js');
4139
4139
  const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
4140
4140
  if (notes.length > 0) {
4141
4141
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -4341,7 +4341,7 @@ function reconcileCollapsedSets(rows) {
4341
4341
  async function loadSourcesAndLibraries() {
4342
4342
  try {
4343
4343
  const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir }, { getGlobalCacheDir: getGlobalCacheDir2 }] = await Promise.all([
4344
- import('../open-library-EJQISBWV.js'),
4344
+ import('../open-library-VH2VEYQ7.js'),
4345
4345
  import('../library/index.js'),
4346
4346
  import('../core/index.js')
4347
4347
  ]);
@@ -5630,7 +5630,7 @@ function action2(fn) {
5630
5630
  };
5631
5631
  }
5632
5632
  async function reconcileAndReport(projectDir, plugins) {
5633
- const { reconcilePlugins } = await import('../plugin-store-TLBQ5XRS.js');
5633
+ const { reconcilePlugins } = await import('../plugin-store-CYSNVZIX.js');
5634
5634
  if (plugins.length === 0) {
5635
5635
  logInfo("No plugins declared \u2014 nothing to reconcile.");
5636
5636
  return;
@@ -5646,7 +5646,7 @@ async function reconcileAndReport(projectDir, plugins) {
5646
5646
  async function runInstall2(spec, opts) {
5647
5647
  const projectDir = path14__default.resolve(opts.projectDir);
5648
5648
  const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
5649
- const { specName } = await import('../plugin-store-TLBQ5XRS.js');
5649
+ const { specName } = await import('../plugin-store-CYSNVZIX.js');
5650
5650
  const yamlPath = path14__default.join(projectDir, "skaile.yaml");
5651
5651
  const editor = WorkspaceYamlEditor2.load(yamlPath);
5652
5652
  const replaced = editor.addPlugin(spec, specName);
@@ -5658,7 +5658,7 @@ async function runInstall2(spec, opts) {
5658
5658
  async function runRemove(name, opts) {
5659
5659
  const projectDir = path14__default.resolve(opts.projectDir);
5660
5660
  const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
5661
- const { specName } = await import('../plugin-store-TLBQ5XRS.js');
5661
+ const { specName } = await import('../plugin-store-CYSNVZIX.js');
5662
5662
  const yamlPath = path14__default.join(projectDir, "skaile.yaml");
5663
5663
  const editor = WorkspaceYamlEditor2.load(yamlPath);
5664
5664
  const removed = editor.removePlugin(name, specName);
@@ -5686,7 +5686,7 @@ async function runList(opts) {
5686
5686
  const registry = createPluginRegistry();
5687
5687
  if (declared.length > 0) {
5688
5688
  try {
5689
- const { loadPlugins } = await import('../plugin-store-TLBQ5XRS.js');
5689
+ const { loadPlugins } = await import('../plugin-store-CYSNVZIX.js');
5690
5690
  const result = await loadPlugins(projectDir, declared, registry);
5691
5691
  for (const f of result.failed) logWarn(f.error);
5692
5692
  } catch (err) {
@@ -6785,12 +6785,12 @@ function makeServeCommand() {
6785
6785
  );
6786
6786
  }
6787
6787
  async function ensurePluginsLoadedForServe(projectDir) {
6788
- const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-M5SXB4LL.js');
6788
+ const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-COQ7TDD4.js');
6789
6789
  try {
6790
6790
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
6791
6791
  const config = resolveSkWorkspaceConfig2(projectDir);
6792
6792
  if (!config.plugins || config.plugins.length === 0) return;
6793
- const { ensurePluginsLoaded } = await import('../plugin-store-TLBQ5XRS.js');
6793
+ const { ensurePluginsLoaded } = await import('../plugin-store-CYSNVZIX.js');
6794
6794
  const { pluginRegistry } = await import('../plugin-registry/index.js');
6795
6795
  const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
6796
6796
  if (result.loaded.length > 0) {
@@ -6804,14 +6804,14 @@ async function ensurePluginsLoadedForServe(projectDir) {
6804
6804
  }
6805
6805
  }
6806
6806
  async function runCompileTest(opts) {
6807
- const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-M5SXB4LL.js');
6807
+ const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-COQ7TDD4.js');
6808
6808
  const { tmpdir } = await import('os');
6809
6809
  const { dirname: dirname4, join: join7, resolve: resolve5 } = await import('path');
6810
6810
  const { fileURLToPath: fileURLToPath2 } = await import('url');
6811
6811
  const { unlinkSync, existsSync: existsSync15 } = await import('fs');
6812
6812
  const { spawn } = await import('child_process');
6813
6813
  const { portableSpawnSync: portableSpawnSync2 } = await import('../core/index.js');
6814
- const { MONOREPO_ROOT } = await import('../paths-2HMHL25W.js');
6814
+ const { MONOREPO_ROOT } = await import('../paths-XZA22IB4.js');
6815
6815
  if (MONOREPO_ROOT === null) {
6816
6816
  logErr2("--compile-test is only available inside the skaile-dev workspace.");
6817
6817
  logInfo2("Run it from a checkout of skaile-ai/skaile-dev (the monorepo shell).");
@@ -7686,7 +7686,7 @@ function makeStoreCommand() {
7686
7686
  process.exit(2);
7687
7687
  });
7688
7688
  store.command("search <query>").description("Search the AI Asset Store catalog by name, description, or publisher").option("--kind <kind>", "Filter by asset kind (skill, agent, prompt, flow, \u2026)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (query, opts) => {
7689
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-EJQISBWV.js');
7689
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-VH2VEYQ7.js');
7690
7690
  try {
7691
7691
  const remote = await openCatalogSource2({ projectDir: path14__default.resolve(opts.projectDir) });
7692
7692
  const assets = await remote.listAssets(opts.kind ? { kind: opts.kind } : {});
@@ -7719,8 +7719,8 @@ function makeStoreCommand() {
7719
7719
  }
7720
7720
  });
7721
7721
  store.command("show <ref>").description("Show a store asset's details + provenance (source, files, integrity)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (ref, opts) => {
7722
- const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-EJQISBWV.js');
7723
- const { supportsInstallManifest } = await import('../project-M2COJFPZ.js');
7722
+ const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-VH2VEYQ7.js');
7723
+ const { supportsInstallManifest } = await import('../project-FKL7PMJV.js');
7724
7724
  try {
7725
7725
  const remote = await openCatalogSource2({ projectDir: path14__default.resolve(opts.projectDir) });
7726
7726
  const asset = await remote.resolve(ref);
@@ -8800,7 +8800,7 @@ async function bootstrapUserConfig() {
8800
8800
  }
8801
8801
  async function hydrateInitSources(resolved, created) {
8802
8802
  try {
8803
- const { ensureSourcesCloned } = await import('../ensure-sources-AVCVX7CV.js');
8803
+ const { ensureSourcesCloned } = await import('../ensure-sources-6QMXRI6D.js');
8804
8804
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
8805
8805
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
8806
8806
  if (hydrate.failed.length > 0) {
@@ -8840,7 +8840,7 @@ function printInitSummary(resolved, projectDir, created) {
8840
8840
  console.log();
8841
8841
  }
8842
8842
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
8843
- const { cmdSetup } = await import('../setup-GWXEG3G2.js');
8843
+ const { cmdSetup } = await import('../setup-BM6HMYJJ.js');
8844
8844
  await cmdSetup([], { projectDir: process.cwd() });
8845
8845
  });
8846
8846
  program.addCommand(makeInstallCommand());
@@ -1,14 +1,14 @@
1
- export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-BHLNQ4L5.js';
2
- import '../chunk-RTLQAZAE.js';
1
+ export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-ZNIHTT22.js';
2
+ import '../chunk-63ZPKREA.js';
3
+ import '../chunk-F3HNW354.js';
3
4
  import '../chunk-K5GBV4SA.js';
4
5
  import '../chunk-ZAP2BDHG.js';
5
- import '../chunk-5BGEYZ7I.js';
6
- import '../chunk-YODP3STD.js';
6
+ import '../chunk-UFY2HFLO.js';
7
+ import '../chunk-Q26C5GLO.js';
8
+ import '../chunk-MENCWIHW.js';
7
9
  import '../chunk-P4VHQA4N.js';
8
10
  import '../chunk-DYMWJAL4.js';
9
11
  import '../chunk-GEEW6SY2.js';
10
- import '../chunk-F3HNW354.js';
11
- import '../chunk-MENCWIHW.js';
12
12
  import '../chunk-U5POE4BA.js';
13
13
  import '../chunk-7GOCNYUV.js';
14
14
  import '../chunk-NSBPE2FW.js';
@@ -1,19 +1,19 @@
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-HOL5KD7U.js';
2
- export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-BHLNQ4L5.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-6QSGCHE5.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
3
  import '../chunk-6E6PKKAD.js';
4
+ import '../chunk-IFGTRL2I.js';
4
5
  import '../chunk-HPGV54O4.js';
5
6
  import '../chunk-Y662DNQQ.js';
6
- import '../chunk-IFGTRL2I.js';
7
- import '../chunk-RTLQAZAE.js';
7
+ import '../chunk-63ZPKREA.js';
8
+ import '../chunk-F3HNW354.js';
8
9
  import '../chunk-K5GBV4SA.js';
9
10
  import '../chunk-ZAP2BDHG.js';
10
- import '../chunk-5BGEYZ7I.js';
11
- import '../chunk-YODP3STD.js';
11
+ import '../chunk-UFY2HFLO.js';
12
+ import '../chunk-Q26C5GLO.js';
13
+ import '../chunk-MENCWIHW.js';
12
14
  import '../chunk-P4VHQA4N.js';
13
15
  import '../chunk-DYMWJAL4.js';
14
16
  import '../chunk-GEEW6SY2.js';
15
- import '../chunk-F3HNW354.js';
16
- import '../chunk-MENCWIHW.js';
17
17
  import '../chunk-U5POE4BA.js';
18
18
  import '../chunk-7GOCNYUV.js';
19
19
  import '../chunk-NSBPE2FW.js';
@@ -1,13 +1,13 @@
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-RTLQAZAE.js';
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-63ZPKREA.js';
2
+ export { deployedBase, deployedDir, isDeployed } from '../chunk-F3HNW354.js';
2
3
  export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
3
4
  export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-ZAP2BDHG.js';
4
- export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-5BGEYZ7I.js';
5
- 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-YODP3STD.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';
7
+ export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS, globalBackendRoot } from '../chunk-MENCWIHW.js';
6
8
  export { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, encodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-P4VHQA4N.js';
7
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';
8
10
  export { ASSET_KINDS, ASSET_NAME_HINT, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, isValidAssetName, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw, slugifyAssetName } from '../chunk-GEEW6SY2.js';
9
- export { deployedBase, deployedDir, isDeployed } from '../chunk-F3HNW354.js';
10
- export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS, globalBackendRoot } from '../chunk-MENCWIHW.js';
11
11
  export { OnLogBridgeSink, SqliteSink, WsLogSink, createLogStoreFromConfig, openSqlite, resolveLogStoreConfig } from '../chunk-U5POE4BA.js';
12
12
  export { LogStore, LogStoreDisabledError, NoOpSink, StdoutSink, createLogger, getLogStore, normalizeError, registerLogStore, resetLogStore, sanitizeData } from '../chunk-7GOCNYUV.js';
13
13
  import '../chunk-NSBPE2FW.js';
@@ -1,9 +1,9 @@
1
- export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-5BGEYZ7I.js';
2
- import '../chunk-YODP3STD.js';
1
+ export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-UFY2HFLO.js';
2
+ import '../chunk-Q26C5GLO.js';
3
+ import '../chunk-MENCWIHW.js';
3
4
  import '../chunk-P4VHQA4N.js';
4
5
  import '../chunk-DYMWJAL4.js';
5
6
  import '../chunk-GEEW6SY2.js';
6
- import '../chunk-MENCWIHW.js';
7
7
  import '../chunk-7GOCNYUV.js';
8
8
  import '../chunk-NSBPE2FW.js';
9
9
  //# sourceMappingURL=runtime-assets.js.map
@@ -1,8 +1,8 @@
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-YODP3STD.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-Q26C5GLO.js';
2
+ import '../chunk-MENCWIHW.js';
2
3
  import '../chunk-P4VHQA4N.js';
3
4
  import '../chunk-DYMWJAL4.js';
4
5
  import '../chunk-GEEW6SY2.js';
5
- import '../chunk-MENCWIHW.js';
6
6
  import '../chunk-7GOCNYUV.js';
7
7
  import '../chunk-NSBPE2FW.js';
8
8
  //# sourceMappingURL=workspace-config.js.map
@@ -1,14 +1,14 @@
1
1
  import { makeDeployHandle, pluginRegistry } from '../chunk-6E6PKKAD.js';
2
- import { portableSpawnSync, portableSpawn } from '../chunk-RTLQAZAE.js';
2
+ import { portableSpawnSync, portableSpawn } from '../chunk-63ZPKREA.js';
3
+ import '../chunk-F3HNW354.js';
3
4
  import '../chunk-K5GBV4SA.js';
4
5
  import '../chunk-ZAP2BDHG.js';
5
- import '../chunk-5BGEYZ7I.js';
6
- import '../chunk-YODP3STD.js';
6
+ import '../chunk-UFY2HFLO.js';
7
+ import '../chunk-Q26C5GLO.js';
8
+ import '../chunk-MENCWIHW.js';
7
9
  import '../chunk-P4VHQA4N.js';
8
10
  import '../chunk-DYMWJAL4.js';
9
11
  import '../chunk-GEEW6SY2.js';
10
- import '../chunk-F3HNW354.js';
11
- import '../chunk-MENCWIHW.js';
12
12
  import '../chunk-U5POE4BA.js';
13
13
  import '../chunk-7GOCNYUV.js';
14
14
  import '../chunk-NSBPE2FW.js';
@@ -1,22 +1,22 @@
1
- import { logErr, logOk, logInfo } from './chunk-Y6VSFX2A.js';
2
- import './chunk-VPXBAEWE.js';
3
- import './chunk-XSIXGVH6.js';
1
+ import { logErr, logOk, logInfo } from './chunk-IR6VPAVH.js';
2
+ import './chunk-GPMIXOJJ.js';
3
+ import './chunk-A67FJ4YT.js';
4
+ import './chunk-MAN7AGQJ.js';
4
5
  import './chunk-UKJMQZV6.js';
5
6
  import './chunk-R7FOF242.js';
6
- import './chunk-MAN7AGQJ.js';
7
7
  import './chunk-JXT46QFC.js';
8
- import './chunk-CTWE7I7Z.js';
8
+ import './chunk-CERGXDGG.js';
9
9
  import './chunk-CGYEHQOX.js';
10
- import { WorkspaceYamlEditor } from './chunk-RTLQAZAE.js';
10
+ import { WorkspaceYamlEditor } from './chunk-63ZPKREA.js';
11
+ import './chunk-F3HNW354.js';
11
12
  import './chunk-K5GBV4SA.js';
12
13
  import './chunk-ZAP2BDHG.js';
13
- import './chunk-5BGEYZ7I.js';
14
- import { sourceCacheKey, sourceShortName, getGlobalCacheDir } from './chunk-YODP3STD.js';
14
+ import './chunk-UFY2HFLO.js';
15
+ import { sourceCacheKey, sourceShortName, getGlobalCacheDir } from './chunk-Q26C5GLO.js';
16
+ import './chunk-MENCWIHW.js';
15
17
  import './chunk-P4VHQA4N.js';
16
18
  import './chunk-DYMWJAL4.js';
17
19
  import './chunk-GEEW6SY2.js';
18
- import './chunk-F3HNW354.js';
19
- import './chunk-MENCWIHW.js';
20
20
  import './chunk-U5POE4BA.js';
21
21
  import './chunk-7GOCNYUV.js';
22
22
  import './chunk-KTBKW2FI.js';
@@ -86,5 +86,5 @@ function ensureSourcesCloned(projectDir, opts = {}) {
86
86
  }
87
87
 
88
88
  export { ensureSourcesCloned };
89
- //# sourceMappingURL=ensure-sources-AVCVX7CV.js.map
90
- //# sourceMappingURL=ensure-sources-AVCVX7CV.js.map
89
+ //# sourceMappingURL=ensure-sources-6QMXRI6D.js.map
90
+ //# sourceMappingURL=ensure-sources-6QMXRI6D.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../cli/src/ensure-sources.ts"],"names":[],"mappings":"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","file":"ensure-sources-AVCVX7CV.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":"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","file":"ensure-sources-6QMXRI6D.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,19 +1,19 @@
1
- export { BoxConnector, createConnector4 as createConnector } from '../../chunk-HOL5KD7U.js';
2
- import '../../chunk-BHLNQ4L5.js';
1
+ export { BoxConnector, createConnector4 as createConnector } from '../../chunk-6QSGCHE5.js';
2
+ import '../../chunk-ZNIHTT22.js';
3
3
  import '../../chunk-6E6PKKAD.js';
4
+ import '../../chunk-IFGTRL2I.js';
4
5
  import '../../chunk-HPGV54O4.js';
5
6
  import '../../chunk-Y662DNQQ.js';
6
- import '../../chunk-IFGTRL2I.js';
7
- import '../../chunk-RTLQAZAE.js';
7
+ import '../../chunk-63ZPKREA.js';
8
+ import '../../chunk-F3HNW354.js';
8
9
  import '../../chunk-K5GBV4SA.js';
9
10
  import '../../chunk-ZAP2BDHG.js';
10
- import '../../chunk-5BGEYZ7I.js';
11
- import '../../chunk-YODP3STD.js';
11
+ import '../../chunk-UFY2HFLO.js';
12
+ import '../../chunk-Q26C5GLO.js';
13
+ import '../../chunk-MENCWIHW.js';
12
14
  import '../../chunk-P4VHQA4N.js';
13
15
  import '../../chunk-DYMWJAL4.js';
14
16
  import '../../chunk-GEEW6SY2.js';
15
- import '../../chunk-F3HNW354.js';
16
- import '../../chunk-MENCWIHW.js';
17
17
  import '../../chunk-U5POE4BA.js';
18
18
  import '../../chunk-7GOCNYUV.js';
19
19
  import '../../chunk-NSBPE2FW.js';
@@ -1,19 +1,19 @@
1
- export { DeployConnector, createConnector2 as createConnector } from '../../chunk-HOL5KD7U.js';
2
- import '../../chunk-BHLNQ4L5.js';
1
+ export { DeployConnector, createConnector2 as createConnector } from '../../chunk-6QSGCHE5.js';
2
+ import '../../chunk-ZNIHTT22.js';
3
3
  import '../../chunk-6E6PKKAD.js';
4
+ import '../../chunk-IFGTRL2I.js';
4
5
  import '../../chunk-HPGV54O4.js';
5
6
  import '../../chunk-Y662DNQQ.js';
6
- import '../../chunk-IFGTRL2I.js';
7
- import '../../chunk-RTLQAZAE.js';
7
+ import '../../chunk-63ZPKREA.js';
8
+ import '../../chunk-F3HNW354.js';
8
9
  import '../../chunk-K5GBV4SA.js';
9
10
  import '../../chunk-ZAP2BDHG.js';
10
- import '../../chunk-5BGEYZ7I.js';
11
- import '../../chunk-YODP3STD.js';
11
+ import '../../chunk-UFY2HFLO.js';
12
+ import '../../chunk-Q26C5GLO.js';
13
+ import '../../chunk-MENCWIHW.js';
12
14
  import '../../chunk-P4VHQA4N.js';
13
15
  import '../../chunk-DYMWJAL4.js';
14
16
  import '../../chunk-GEEW6SY2.js';
15
- import '../../chunk-F3HNW354.js';
16
- import '../../chunk-MENCWIHW.js';
17
17
  import '../../chunk-U5POE4BA.js';
18
18
  import '../../chunk-7GOCNYUV.js';
19
19
  import '../../chunk-NSBPE2FW.js';
@@ -1,19 +1,19 @@
1
- export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-HOL5KD7U.js';
2
- import '../../chunk-BHLNQ4L5.js';
1
+ export { DevServerConnector, createConnector3 as createConnector } from '../../chunk-6QSGCHE5.js';
2
+ import '../../chunk-ZNIHTT22.js';
3
3
  import '../../chunk-6E6PKKAD.js';
4
+ import '../../chunk-IFGTRL2I.js';
4
5
  import '../../chunk-HPGV54O4.js';
5
6
  import '../../chunk-Y662DNQQ.js';
6
- import '../../chunk-IFGTRL2I.js';
7
- import '../../chunk-RTLQAZAE.js';
7
+ import '../../chunk-63ZPKREA.js';
8
+ import '../../chunk-F3HNW354.js';
8
9
  import '../../chunk-K5GBV4SA.js';
9
10
  import '../../chunk-ZAP2BDHG.js';
10
- import '../../chunk-5BGEYZ7I.js';
11
- import '../../chunk-YODP3STD.js';
11
+ import '../../chunk-UFY2HFLO.js';
12
+ import '../../chunk-Q26C5GLO.js';
13
+ import '../../chunk-MENCWIHW.js';
12
14
  import '../../chunk-P4VHQA4N.js';
13
15
  import '../../chunk-DYMWJAL4.js';
14
16
  import '../../chunk-GEEW6SY2.js';
15
- import '../../chunk-F3HNW354.js';
16
- import '../../chunk-MENCWIHW.js';
17
17
  import '../../chunk-U5POE4BA.js';
18
18
  import '../../chunk-7GOCNYUV.js';
19
19
  import '../../chunk-NSBPE2FW.js';
@@ -1,19 +1,19 @@
1
- export { FlowAdapter, createConnector } from '../../../chunk-HOL5KD7U.js';
2
- import '../../../chunk-BHLNQ4L5.js';
1
+ export { FlowAdapter, createConnector } from '../../../chunk-6QSGCHE5.js';
2
+ import '../../../chunk-ZNIHTT22.js';
3
3
  import '../../../chunk-6E6PKKAD.js';
4
+ import '../../../chunk-IFGTRL2I.js';
4
5
  export { isBlocking } from '../../../chunk-HPGV54O4.js';
5
6
  import '../../../chunk-Y662DNQQ.js';
6
- import '../../../chunk-IFGTRL2I.js';
7
- import '../../../chunk-RTLQAZAE.js';
7
+ import '../../../chunk-63ZPKREA.js';
8
+ import '../../../chunk-F3HNW354.js';
8
9
  import '../../../chunk-K5GBV4SA.js';
9
10
  import '../../../chunk-ZAP2BDHG.js';
10
- import '../../../chunk-5BGEYZ7I.js';
11
- import '../../../chunk-YODP3STD.js';
11
+ import '../../../chunk-UFY2HFLO.js';
12
+ import '../../../chunk-Q26C5GLO.js';
13
+ import '../../../chunk-MENCWIHW.js';
12
14
  import '../../../chunk-P4VHQA4N.js';
13
15
  import '../../../chunk-DYMWJAL4.js';
14
16
  import '../../../chunk-GEEW6SY2.js';
15
- import '../../../chunk-F3HNW354.js';
16
- import '../../../chunk-MENCWIHW.js';
17
17
  import '../../../chunk-U5POE4BA.js';
18
18
  import '../../../chunk-7GOCNYUV.js';
19
19
  import '../../../chunk-NSBPE2FW.js';