@skaile/workspaces 0.48.1 → 0.48.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 (133) hide show
  1. package/CHANGELOG.md +59 -0
  2. package/dist/{asset-feeds-DLRQWELS.js → asset-feeds-O6R6J4RI.js} +7 -7
  3. package/dist/{asset-feeds-DLRQWELS.js.map → asset-feeds-O6R6J4RI.js.map} +1 -1
  4. package/dist/asset-manager/index.js +5 -5
  5. package/dist/asset-manager/installer.js +4 -4
  6. package/dist/asset-manager/src/index.d.ts.map +1 -1
  7. package/dist/asset-manager/src/installer.d.ts.map +1 -1
  8. package/dist/bridge/drivers/claude-sdk.js +91 -1
  9. package/dist/bridge/drivers/claude-sdk.js.map +1 -1
  10. package/dist/bridge/drivers/codex.js +1 -1
  11. package/dist/bridge/drivers/continue.js +2 -2
  12. package/dist/bridge/drivers/echo.js +1 -1
  13. package/dist/bridge/drivers/gemini.js +3 -3
  14. package/dist/bridge/drivers/goose.js +2 -2
  15. package/dist/bridge/drivers/omp.js +1 -1
  16. package/dist/bridge/drivers/opencode.js +2 -2
  17. package/dist/bridge/drivers/qwen.js +3 -3
  18. package/dist/bridge/index.js +2 -2
  19. package/dist/bridge/src/drivers/claude-sdk.d.ts +30 -0
  20. package/dist/bridge/src/drivers/claude-sdk.d.ts.map +1 -1
  21. package/dist/bridge/src/types.d.ts +21 -0
  22. package/dist/bridge/src/types.d.ts.map +1 -1
  23. package/dist/{chunk-HOEP5CJQ.js → chunk-33WB7VFV.js} +3 -3
  24. package/dist/{chunk-HOEP5CJQ.js.map → chunk-33WB7VFV.js.map} +1 -1
  25. package/dist/{chunk-P6HRQPXC.js → chunk-3A3OACI2.js} +2 -2
  26. package/dist/{chunk-P6HRQPXC.js.map → chunk-3A3OACI2.js.map} +1 -1
  27. package/dist/{chunk-Z3ZRI2AE.js → chunk-4IGNQG6E.js} +3 -3
  28. package/dist/{chunk-Z3ZRI2AE.js.map → chunk-4IGNQG6E.js.map} +1 -1
  29. package/dist/{chunk-Z3GAAIJK.js → chunk-6AD3NS7R.js} +4 -4
  30. package/dist/{chunk-Z3GAAIJK.js.map → chunk-6AD3NS7R.js.map} +1 -1
  31. package/dist/{chunk-RSK6FDMV.js → chunk-6VUP6XHK.js} +3 -3
  32. package/dist/{chunk-RSK6FDMV.js.map → chunk-6VUP6XHK.js.map} +1 -1
  33. package/dist/{chunk-SALVPTK3.js → chunk-BWCGSGAC.js} +7 -7
  34. package/dist/{chunk-SALVPTK3.js.map → chunk-BWCGSGAC.js.map} +1 -1
  35. package/dist/{chunk-BDM5UVU3.js → chunk-CK3O5BCT.js} +11 -10
  36. package/dist/chunk-CK3O5BCT.js.map +1 -0
  37. package/dist/{chunk-KC7V5XCO.js → chunk-EBSIZYM6.js} +4 -4
  38. package/dist/{chunk-KC7V5XCO.js.map → chunk-EBSIZYM6.js.map} +1 -1
  39. package/dist/{chunk-FAALG3QN.js → chunk-HNORRENR.js} +3 -3
  40. package/dist/{chunk-FAALG3QN.js.map → chunk-HNORRENR.js.map} +1 -1
  41. package/dist/{chunk-4VPRAG35.js → chunk-LTUTK2Q3.js} +14 -12
  42. package/dist/chunk-LTUTK2Q3.js.map +1 -0
  43. package/dist/{chunk-OCAQH66V.js → chunk-N5AE5SOC.js} +28 -2
  44. package/dist/chunk-N5AE5SOC.js.map +1 -0
  45. package/dist/{chunk-5C3QJSOD.js → chunk-OYMSCV7T.js} +3 -3
  46. package/dist/{chunk-5C3QJSOD.js.map → chunk-OYMSCV7T.js.map} +1 -1
  47. package/dist/{chunk-LLOXWWB6.js → chunk-P4BDTJMI.js} +85 -4
  48. package/dist/chunk-P4BDTJMI.js.map +1 -0
  49. package/dist/{chunk-WTFJFW7F.js → chunk-PBO6SCT2.js} +2 -2
  50. package/dist/{chunk-WTFJFW7F.js.map → chunk-PBO6SCT2.js.map} +1 -1
  51. package/dist/{chunk-G3GODNHM.js → chunk-SDAKQCOB.js} +3 -3
  52. package/dist/{chunk-G3GODNHM.js.map → chunk-SDAKQCOB.js.map} +1 -1
  53. package/dist/{chunk-XHDPCL4O.js → chunk-SXT6BAQJ.js} +2 -2
  54. package/dist/{chunk-XHDPCL4O.js.map → chunk-SXT6BAQJ.js.map} +1 -1
  55. package/dist/{chunk-3VBQJZYL.js → chunk-WBF7JLTY.js} +3 -3
  56. package/dist/{chunk-3VBQJZYL.js.map → chunk-WBF7JLTY.js.map} +1 -1
  57. package/dist/{chunk-ILMBTQSB.js → chunk-YERSEKB2.js} +5 -5
  58. package/dist/{chunk-ILMBTQSB.js.map → chunk-YERSEKB2.js.map} +1 -1
  59. package/dist/{chunk-T2CIVTTC.js → chunk-ZJ3VRPOI.js} +7 -3
  60. package/dist/chunk-ZJ3VRPOI.js.map +1 -0
  61. package/dist/cli/index.js +88 -36
  62. package/dist/cli/index.js.map +1 -1
  63. package/dist/cli/src/commands/source.d.ts +18 -0
  64. package/dist/cli/src/commands/source.d.ts.map +1 -1
  65. package/dist/connectors/config.js +4 -4
  66. package/dist/connectors/index.js +5 -5
  67. package/dist/connectors/src/config.d.ts.map +1 -1
  68. package/dist/connectors/src/materialized-connectors.d.ts.map +1 -1
  69. package/dist/core/index.js +3 -3
  70. package/dist/core/runtime-assets.js +2 -2
  71. package/dist/core/src/workspace-config.d.ts +7 -0
  72. package/dist/core/src/workspace-config.d.ts.map +1 -1
  73. package/dist/core/workspace-config.js +1 -1
  74. package/dist/deploy/index.js +3 -3
  75. package/dist/{ensure-sources-KLCGXVE6.js → ensure-sources-EE7Z2HKS.js} +5 -5
  76. package/dist/{ensure-sources-KLCGXVE6.js.map → ensure-sources-EE7Z2HKS.js.map} +1 -1
  77. package/dist/factory-assets/connectors/deploy.js +5 -5
  78. package/dist/factory-assets/connectors/devserver.js +5 -5
  79. package/dist/factory-assets/connectors/flow/adapter.js +5 -5
  80. package/dist/factory-assets/connectors/flow/engine.js +3 -3
  81. package/dist/factory-assets/connectors/flow/run-flow.js +6 -6
  82. package/dist/factory-assets/connectors/flow.js +5 -5
  83. package/dist/factory-assets/connectors/git.js +5 -5
  84. package/dist/factory-assets/connectors/gmail.js +5 -5
  85. package/dist/factory-assets/connectors/googledrive.js +5 -5
  86. package/dist/factory-assets/connectors/local.js +5 -5
  87. package/dist/factory-assets/connectors/mattermost.js +5 -5
  88. package/dist/factory-assets/connectors/memory.js +5 -5
  89. package/dist/factory-assets/connectors/minio.js +5 -5
  90. package/dist/factory-assets/connectors/postgres.js +5 -5
  91. package/dist/factory-assets/connectors/s3.js +5 -5
  92. package/dist/factory-assets/connectors/sharepoint.js +5 -5
  93. package/dist/factory-assets/connectors/sqlite.js +5 -5
  94. package/dist/factory-assets/connectors/static-server.js +5 -5
  95. package/dist/factory-assets/connectors/tunnel.js +5 -5
  96. package/dist/factory-assets/connectors/webdav.js +5 -5
  97. package/dist/factory-assets/connectors/xstate-store.js +5 -5
  98. package/dist/factory-assets/connectors/xstate.js +5 -5
  99. package/dist/{flows-PNDUCOJR.js → flows-AAHXXXCH.js} +3 -3
  100. package/dist/{flows-PNDUCOJR.js.map → flows-AAHXXXCH.js.map} +1 -1
  101. package/dist/library/index.js +4 -4
  102. package/dist/library/install.js +3 -3
  103. package/dist/library/src/local/db.d.ts.map +1 -1
  104. package/dist/library/src/local/local-catalog-source.d.ts +12 -0
  105. package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
  106. package/dist/{open-library-COHFCT4N.js → open-library-TXJMFG34.js} +7 -7
  107. package/dist/{open-library-COHFCT4N.js.map → open-library-TXJMFG34.js.map} +1 -1
  108. package/dist/{paths-2SYXGTZJ.js → paths-OMVC4UWY.js} +6 -6
  109. package/dist/{paths-2SYXGTZJ.js.map → paths-OMVC4UWY.js.map} +1 -1
  110. package/dist/{plugin-store-UNENLB56.js → plugin-store-JWJHIPUT.js} +5 -5
  111. package/dist/{plugin-store-UNENLB56.js.map → plugin-store-JWJHIPUT.js.map} +1 -1
  112. package/dist/runner/index.js +9 -9
  113. package/dist/runner/src/serve.d.ts.map +1 -1
  114. package/dist/sdk/asset-manager.js +5 -5
  115. package/dist/sdk/bridge.js +2 -2
  116. package/dist/sdk/core.js +3 -3
  117. package/dist/sdk/flow.js +3 -3
  118. package/dist/sdk/index.js +9 -9
  119. package/dist/sdk/runner.js +9 -9
  120. package/dist/{setup-AYH6SR4U.js → setup-ETNBVZQA.js} +7 -7
  121. package/dist/{setup-AYH6SR4U.js.map → setup-ETNBVZQA.js.map} +1 -1
  122. package/dist/{store-client-U4FMAIWX.js → store-client-SLFAAKSV.js} +6 -6
  123. package/dist/{store-client-U4FMAIWX.js.map → store-client-SLFAAKSV.js.map} +1 -1
  124. package/dist/tui/index.js +9 -9
  125. package/dist/workspace-plugin/adapters/mcp.js +1 -1
  126. package/dist/workspace-plugin/adapters/omp.js +3 -3
  127. package/dist/workspace-plugin/index.js +1 -1
  128. package/package.json +1 -1
  129. package/dist/chunk-4VPRAG35.js.map +0 -1
  130. package/dist/chunk-BDM5UVU3.js.map +0 -1
  131. package/dist/chunk-LLOXWWB6.js.map +0 -1
  132. package/dist/chunk-OCAQH66V.js.map +0 -1
  133. package/dist/chunk-T2CIVTTC.js.map +0 -1
package/dist/cli/index.js CHANGED
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
- import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-FAALG3QN.js';
2
+ import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-HNORRENR.js';
3
3
  import { logErr, S, logOk, logInfo, colorRef, logWarn, kindColorPad, kindColor, formatRelativeTime, fitWidth } from '../chunk-GYPA2Q7F.js';
4
- import { getStoreConfig, storeFetch, saveStoreTokens, clearStoreTokens, isStoreAuthenticated } from '../chunk-Z3ZRI2AE.js';
5
- import { AI_RESOURCES, aiResourceRoots } from '../chunk-HOEP5CJQ.js';
4
+ import { getStoreConfig, storeFetch, saveStoreTokens, clearStoreTokens, isStoreAuthenticated } from '../chunk-4IGNQG6E.js';
5
+ import { AI_RESOURCES, aiResourceRoots } from '../chunk-33WB7VFV.js';
6
6
  import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
7
- import { resolveLibraryDir, LocalCatalogSource } from '../chunk-LLOXWWB6.js';
7
+ import { resolveLibraryDir, LocalCatalogSource } from '../chunk-P4BDTJMI.js';
8
8
  import '../chunk-JXHULIOA.js';
9
9
  import '../chunk-JXT46QFC.js';
10
10
  import '../chunk-UKJMQZV6.js';
11
11
  import '../chunk-R7FOF242.js';
12
- import { runFlow, resumeFlow } from '../chunk-ILMBTQSB.js';
12
+ import { runFlow, resumeFlow } from '../chunk-YERSEKB2.js';
13
13
  import '../chunk-4R6DROGN.js';
14
14
  import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-GXC3TYMQ.js';
15
- import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-BDM5UVU3.js';
16
- import { buildClaudePluginFiles } from '../chunk-XHDPCL4O.js';
15
+ import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-CK3O5BCT.js';
16
+ import { buildClaudePluginFiles } from '../chunk-SXT6BAQJ.js';
17
17
  import '../chunk-X5YPJV4N.js';
18
18
  import '../chunk-O7SG5PC2.js';
19
19
  import '../chunk-7QBNJTTQ.js';
@@ -22,26 +22,26 @@ import '../chunk-WQ7DE5UC.js';
22
22
  import '../chunk-32NA4TVC.js';
23
23
  import '../chunk-W3UDISS2.js';
24
24
  import '../chunk-EVZKWY5J.js';
25
- import '../chunk-5C3QJSOD.js';
25
+ import '../chunk-OYMSCV7T.js';
26
26
  import '../chunk-RRVQAE5D.js';
27
27
  import '../chunk-BMQKMOQY.js';
28
28
  import '../chunk-GAH4YRCI.js';
29
- import '../chunk-OCAQH66V.js';
29
+ import '../chunk-N5AE5SOC.js';
30
30
  import '../chunk-LV2HPH3C.js';
31
- import '../chunk-KC7V5XCO.js';
31
+ import '../chunk-EBSIZYM6.js';
32
32
  import '../chunk-OVRSNIKJ.js';
33
- import '../chunk-T2CIVTTC.js';
33
+ import '../chunk-ZJ3VRPOI.js';
34
34
  import '../chunk-RAIRWFAN.js';
35
35
  import '../chunk-6E6PKKAD.js';
36
36
  import { loadFlow, loadAllFlows } from '../chunk-X46FY45B.js';
37
37
  import '../chunk-DEYYRFQU.js';
38
38
  import '../chunk-IFGTRL2I.js';
39
- import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError } from '../chunk-SALVPTK3.js';
40
- import '../chunk-4VPRAG35.js';
41
- import { readLock, resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor, checkAgentSkillConformance } from '../chunk-G3GODNHM.js';
39
+ import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError } from '../chunk-BWCGSGAC.js';
40
+ import '../chunk-LTUTK2Q3.js';
41
+ import { readLock, resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor, checkAgentSkillConformance } from '../chunk-SDAKQCOB.js';
42
42
  import { assetSearchDirs, detectDomains } from '../chunk-ZAP2BDHG.js';
43
- import '../chunk-3VBQJZYL.js';
44
- import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, sourceShortName, findWorkspaceRoot, workspaceConfigFilename, resolveSkWorkspaceConfig } from '../chunk-WTFJFW7F.js';
43
+ import '../chunk-WBF7JLTY.js';
44
+ import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, sourceShortName, findWorkspaceRoot, workspaceConfigFilename, resolveSkWorkspaceConfig } from '../chunk-PBO6SCT2.js';
45
45
  import { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-DZCK7GRW.js';
46
46
  import { parseFrontmatter } from '../chunk-6IDBWPK2.js';
47
47
  import { parseAssetRef, ASSET_KINDS, isValidAssetName, slugifyAssetName, ASSET_NAME_HINT, assetRefToStr } from '../chunk-GEEW6SY2.js';
@@ -128,7 +128,7 @@ function printLocalEntries(entries) {
128
128
  }
129
129
  async function searchStore(query, kind, opts) {
130
130
  try {
131
- const { getStoreConfig: getStoreConfig2, storeFetch: storeFetch2 } = await import('../store-client-U4FMAIWX.js');
131
+ const { getStoreConfig: getStoreConfig2, storeFetch: storeFetch2 } = await import('../store-client-SLFAAKSV.js');
132
132
  const config = getStoreConfig2();
133
133
  const params = {};
134
134
  if (query) params.q = query;
@@ -829,7 +829,7 @@ function makeCatalogCommand() {
829
829
  return catalog;
830
830
  }
831
831
  async function runLocalCatalogTest(projectDir) {
832
- const { resolveCatalogSource } = await import('../open-library-COHFCT4N.js');
832
+ const { resolveCatalogSource } = await import('../open-library-TXJMFG34.js');
833
833
  let resolved;
834
834
  try {
835
835
  resolved = await resolveCatalogSource({ projectDir });
@@ -1819,7 +1819,7 @@ async function ensureTargetsRegistered(projectDir) {
1819
1819
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
1820
1820
  const config = resolveSkWorkspaceConfig2(projectDir);
1821
1821
  if (config.plugins && config.plugins.length > 0) {
1822
- const { ensurePluginsLoaded } = await import('../plugin-store-UNENLB56.js');
1822
+ const { ensurePluginsLoaded } = await import('../plugin-store-JWJHIPUT.js');
1823
1823
  const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
1824
1824
  for (const f of result.failed) logWarn(f.error);
1825
1825
  }
@@ -3405,7 +3405,7 @@ function actOnHeader(row, action3) {
3405
3405
  return row.type === "domain-header" || row.type === "domain-info";
3406
3406
  }
3407
3407
  async function loadAssets() {
3408
- const { gatherAssetFeeds } = await import('../asset-feeds-DLRQWELS.js');
3408
+ const { gatherAssetFeeds } = await import('../asset-feeds-O6R6J4RI.js');
3409
3409
  const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
3410
3410
  if (notes.length > 0) {
3411
3411
  state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
@@ -3503,7 +3503,7 @@ function reconcileCollapsedSets(rows) {
3503
3503
  async function loadSourcesAndLibraries() {
3504
3504
  try {
3505
3505
  const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir }, { getGlobalCacheDir: getGlobalCacheDir2 }] = await Promise.all([
3506
- import('../open-library-COHFCT4N.js'),
3506
+ import('../open-library-TXJMFG34.js'),
3507
3507
  import('../library/index.js'),
3508
3508
  import('../core/index.js')
3509
3509
  ]);
@@ -4368,7 +4368,7 @@ function action2(fn) {
4368
4368
  };
4369
4369
  }
4370
4370
  async function reconcileAndReport(projectDir, plugins) {
4371
- const { reconcilePlugins } = await import('../plugin-store-UNENLB56.js');
4371
+ const { reconcilePlugins } = await import('../plugin-store-JWJHIPUT.js');
4372
4372
  if (plugins.length === 0) {
4373
4373
  logInfo("No plugins declared \u2014 nothing to reconcile.");
4374
4374
  return;
@@ -4384,7 +4384,7 @@ async function reconcileAndReport(projectDir, plugins) {
4384
4384
  async function runInstall2(spec, opts) {
4385
4385
  const projectDir = path14__default.resolve(opts.projectDir);
4386
4386
  const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
4387
- const { specName } = await import('../plugin-store-UNENLB56.js');
4387
+ const { specName } = await import('../plugin-store-JWJHIPUT.js');
4388
4388
  const yamlPath = path14__default.join(projectDir, "skaile.yaml");
4389
4389
  const editor = WorkspaceYamlEditor2.load(yamlPath);
4390
4390
  const replaced = editor.addPlugin(spec, specName);
@@ -4396,7 +4396,7 @@ async function runInstall2(spec, opts) {
4396
4396
  async function runRemove(name, opts) {
4397
4397
  const projectDir = path14__default.resolve(opts.projectDir);
4398
4398
  const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
4399
- const { specName } = await import('../plugin-store-UNENLB56.js');
4399
+ const { specName } = await import('../plugin-store-JWJHIPUT.js');
4400
4400
  const yamlPath = path14__default.join(projectDir, "skaile.yaml");
4401
4401
  const editor = WorkspaceYamlEditor2.load(yamlPath);
4402
4402
  const removed = editor.removePlugin(name, specName);
@@ -4424,7 +4424,7 @@ async function runList(opts) {
4424
4424
  const registry = createPluginRegistry();
4425
4425
  if (declared.length > 0) {
4426
4426
  try {
4427
- const { loadPlugins } = await import('../plugin-store-UNENLB56.js');
4427
+ const { loadPlugins } = await import('../plugin-store-JWJHIPUT.js');
4428
4428
  const result = await loadPlugins(projectDir, declared, registry);
4429
4429
  for (const f of result.failed) logWarn(f.error);
4430
4430
  } catch (err) {
@@ -4656,7 +4656,7 @@ async function runRefInstall(ref, opts) {
4656
4656
  const spinner5 = p6.spinner();
4657
4657
  spinner5.start(`Installing ${ref}`);
4658
4658
  try {
4659
- const { openCatalogSource: openCatalogSource2, openLibrary: openLibrary2 } = await import('../open-library-COHFCT4N.js');
4659
+ const { openCatalogSource: openCatalogSource2, openLibrary: openLibrary2 } = await import('../open-library-TXJMFG34.js');
4660
4660
  const catalog = await openCatalogSource2({ projectDir: path14__default.resolve(opts.projectDir) });
4661
4661
  if (!supportsInstallManifest(catalog)) {
4662
4662
  throw new Error(
@@ -4688,7 +4688,7 @@ async function runRefInstall(ref, opts) {
4688
4688
  async function runYamlInstall(opts) {
4689
4689
  const projectDir = path14__default.resolve(opts.projectDir);
4690
4690
  try {
4691
- const { ensureSourcesCloned } = await import('../ensure-sources-KLCGXVE6.js');
4691
+ const { ensureSourcesCloned } = await import('../ensure-sources-EE7Z2HKS.js');
4692
4692
  const hydrate = ensureSourcesCloned(projectDir, { quiet: true });
4693
4693
  if (hydrate.cloned.length > 0) {
4694
4694
  logOk(`Cloned source(s): ${hydrate.cloned.join(", ")}`);
@@ -5126,7 +5126,7 @@ async function ensurePluginsLoadedForServe(projectDir) {
5126
5126
  const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
5127
5127
  const config = resolveSkWorkspaceConfig2(projectDir);
5128
5128
  if (!config.plugins || config.plugins.length === 0) return;
5129
- const { ensurePluginsLoaded } = await import('../plugin-store-UNENLB56.js');
5129
+ const { ensurePluginsLoaded } = await import('../plugin-store-JWJHIPUT.js');
5130
5130
  const { pluginRegistry } = await import('../plugin-registry/index.js');
5131
5131
  const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
5132
5132
  if (result.loaded.length > 0) {
@@ -5147,7 +5147,7 @@ async function runCompileTest(opts) {
5147
5147
  const { unlinkSync, existsSync: existsSync14 } = await import('fs');
5148
5148
  const { spawn } = await import('child_process');
5149
5149
  const { portableSpawnSync: portableSpawnSync2 } = await import('../core/index.js');
5150
- const { MONOREPO_ROOT } = await import('../paths-2SYXGTZJ.js');
5150
+ const { MONOREPO_ROOT } = await import('../paths-OMVC4UWY.js');
5151
5151
  if (MONOREPO_ROOT === null) {
5152
5152
  logErr2("--compile-test is only available inside the skaile-dev workspace.");
5153
5153
  logInfo2("Run it from a checkout of skaile-ai/skaile-dev (the monorepo shell).");
@@ -5982,6 +5982,19 @@ function addSourceManifestCommands(src) {
5982
5982
  function sourceClonePath(key) {
5983
5983
  return path14.join(getGlobalCacheDir(), key);
5984
5984
  }
5985
+ var SKAILE_MANIFEST_FILENAME2 = "skaile.manifest.yaml";
5986
+ var LEGACY_SOURCE_CONFIG_FILENAME = ".skaile-source.yaml";
5987
+ function indexingHadFailures(result) {
5988
+ return result.errors.length > 0;
5989
+ }
5990
+ function legacySourceConfigHint(dest) {
5991
+ const hasLegacy = existsSync(path14.join(dest, LEGACY_SOURCE_CONFIG_FILENAME));
5992
+ const hasManifest = existsSync(path14.join(dest, SKAILE_MANIFEST_FILENAME2));
5993
+ if (hasLegacy && !hasManifest) {
5994
+ return `This source ships a legacy ${LEGACY_SOURCE_CONFIG_FILENAME} but no ${SKAILE_MANIFEST_FILENAME2}; its declared publisher is ignored and assets are published under their first path segment. Add a ${SKAILE_MANIFEST_FILENAME2} (\`skaile source manifest init\`) to set the publisher and asset inventory.`;
5995
+ }
5996
+ return void 0;
5997
+ }
5985
5998
  function normalizeSourceUrl(input) {
5986
5999
  const s = input.trim();
5987
6000
  if (/^(?:https?|git|ssh|file):\/\//.test(s) || /^git@/.test(s)) return s;
@@ -6112,9 +6125,25 @@ function makeSourceCommand() {
6112
6125
  logOk(`Cloned ${url} \u2192 ${dest}`);
6113
6126
  }
6114
6127
  const result = await refreshManifestCache(entry, opts.dev);
6115
- logOk(`Indexed ${result.assetsUpdated} of ${result.assetsFound} asset(s) from "${slug}".`);
6128
+ const failed = indexingHadFailures(result);
6129
+ const indexedMsg = `Indexed ${result.assetsUpdated} of ${result.assetsFound} asset(s) from "${slug}".`;
6130
+ if (failed) {
6131
+ logWarn(indexedMsg);
6132
+ } else {
6133
+ logOk(indexedMsg);
6134
+ }
6116
6135
  for (const err of result.errors) logWarn(err);
6117
- logOk(`Source "${slug}" registered in ${path14.relative(process.cwd(), yamlPath)}.`);
6136
+ const legacyHint = legacySourceConfigHint(dest);
6137
+ if (legacyHint) logWarn(legacyHint);
6138
+ const where = path14.relative(process.cwd(), yamlPath);
6139
+ if (failed) {
6140
+ logWarn(
6141
+ `Source "${slug}" registered in ${where}, but ${result.errors.length} asset(s) failed to index (see above). Fix the cause, then re-run \`skaile source sync ${slug}\`.`
6142
+ );
6143
+ process.exitCode = 1;
6144
+ } else {
6145
+ logOk(`Source "${slug}" registered in ${where}.`);
6146
+ }
6118
6147
  }
6119
6148
  );
6120
6149
  cmd.command("list").description("List sources registered in this project's skaile.yaml").option("--json", "Output as JSON").action(async (opts) => {
@@ -6221,8 +6250,17 @@ function makeSourceCommand() {
6221
6250
  }
6222
6251
  }
6223
6252
  const result = await refreshManifestCache(entry, opts.dev);
6224
- logOk(`${slug}: indexed ${result.assetsUpdated} of ${result.assetsFound} asset(s).`);
6253
+ const failed = indexingHadFailures(result);
6254
+ const indexedMsg = `${slug}: indexed ${result.assetsUpdated} of ${result.assetsFound} asset(s).`;
6255
+ if (failed) {
6256
+ logWarn(indexedMsg);
6257
+ process.exitCode = 1;
6258
+ } else {
6259
+ logOk(indexedMsg);
6260
+ }
6225
6261
  for (const err of result.errors) logWarn(`${slug}: ${err}`);
6262
+ const legacyHint = legacySourceConfigHint(dest);
6263
+ if (legacyHint) logWarn(`${slug}: ${legacyHint}`);
6226
6264
  }
6227
6265
  });
6228
6266
  cmd.command("patch <ref>").description("Extract an asset for editing against the source").action((_ref) => {
@@ -7248,6 +7286,12 @@ async function initGitScaffold(resolved, created) {
7248
7286
  "node_modules/",
7249
7287
  ".skaile/sessions/",
7250
7288
  ".skaile/cache/",
7289
+ // skaile-created artifacts that must never be committed: the per-session log
7290
+ // DB (SQLite incl. -shm/-wal, ends in .db — not caught by *.log), personal
7291
+ // settings (holds API keys), and the install history.
7292
+ ".skaile/logs.db*",
7293
+ ".skaile/settings.json",
7294
+ ".skaile/history.yaml",
7251
7295
  "*.log",
7252
7296
  ".env",
7253
7297
  ".env.local"
@@ -7291,7 +7335,7 @@ async function bootstrapUserConfig() {
7291
7335
  }
7292
7336
  async function hydrateInitSources(resolved, created) {
7293
7337
  try {
7294
- const { ensureSourcesCloned } = await import('../ensure-sources-KLCGXVE6.js');
7338
+ const { ensureSourcesCloned } = await import('../ensure-sources-EE7Z2HKS.js');
7295
7339
  const hydrate = ensureSourcesCloned(resolved, { quiet: true });
7296
7340
  for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
7297
7341
  if (hydrate.failed.length > 0) {
@@ -7313,13 +7357,21 @@ function printInitSummary(resolved, projectDir, created) {
7313
7357
  console.log(` ${S.dim(`${step}.`)} ${S.cmd(`cd ${projectDir}`)}`);
7314
7358
  step++;
7315
7359
  }
7316
- console.log(` ${S.dim(`${step}.`)} Edit ${S.cmd("skaile.yaml")} to add dependencies`);
7360
+ console.log(
7361
+ ` ${S.dim(`${step}.`)} ${S.cmd("skaile add <ref>")} ${S.dim("\u2014 add a dependency and deploy it in one step")}`
7362
+ );
7317
7363
  step++;
7318
- console.log(` ${S.dim(`${step}.`)} ${S.cmd("skaile install")}`);
7364
+ console.log(
7365
+ ` ${S.dim(`${step}.`)} ${S.dim("or:")} edit ${S.cmd("skaile.yaml")} to add dependencies, then ${S.cmd("skaile install")}`
7366
+ );
7367
+ step++;
7368
+ console.log(
7369
+ ` ${S.dim(`${step}.`)} ${S.cmd("skaile search <query>")} ${S.dim("\u2014 find assets to add")}`
7370
+ );
7319
7371
  console.log();
7320
7372
  }
7321
7373
  program.command("setup").description("Interactive provider setup wizard").action(async () => {
7322
- const { cmdSetup } = await import('../setup-AYH6SR4U.js');
7374
+ const { cmdSetup } = await import('../setup-ETNBVZQA.js');
7323
7375
  await cmdSetup([], { projectDir: process.cwd() });
7324
7376
  });
7325
7377
  program.addCommand(makeInstallCommand());