@skaile/workspaces 0.53.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.
- package/CHANGELOG.md +109 -0
- package/dist/{asset-feeds-OEGJ6NOF.js → asset-feeds-NIAABO6U.js} +9 -9
- package/dist/{asset-feeds-OEGJ6NOF.js.map → asset-feeds-NIAABO6U.js.map} +1 -1
- package/dist/asset-manager/index.js +6 -6
- package/dist/asset-manager/installer.js +5 -5
- package/dist/asset-manager/src/index.d.ts +128 -0
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/bridge/drivers/claude-sdk.js +2 -2
- package/dist/bridge/drivers/codex.js +1 -1
- package/dist/bridge/drivers/continue.js +2 -2
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/gemini.js +3 -3
- package/dist/bridge/drivers/goose.js +2 -2
- package/dist/bridge/drivers/omp.js +1 -1
- package/dist/bridge/drivers/opencode.js +2 -2
- package/dist/bridge/drivers/qwen.js +3 -3
- package/dist/bridge/index.js +3 -3
- package/dist/{chunk-7ZWLZ5H3.js → chunk-35TLBMHX.js} +4 -4
- package/dist/{chunk-7ZWLZ5H3.js.map → chunk-35TLBMHX.js.map} +1 -1
- package/dist/{chunk-6VUP6XHK.js → chunk-52XHXSBN.js} +3 -3
- package/dist/{chunk-6VUP6XHK.js.map → chunk-52XHXSBN.js.map} +1 -1
- package/dist/{chunk-NXC6IEL4.js → chunk-5AGARSQT.js} +267 -261
- package/dist/chunk-5AGARSQT.js.map +1 -0
- package/dist/{chunk-QLLFCQU5.js → chunk-B4IOSXRZ.js} +485 -1502
- package/dist/chunk-B4IOSXRZ.js.map +1 -0
- package/dist/{chunk-VE2UIJ7Y.js → chunk-BCJL2UNH.js} +4 -44
- package/dist/chunk-BCJL2UNH.js.map +1 -0
- package/dist/{chunk-W53D5Q52.js → chunk-BM37QD6U.js} +3 -3
- package/dist/{chunk-W53D5Q52.js.map → chunk-BM37QD6U.js.map} +1 -1
- package/dist/{chunk-WD2NRI3T.js → chunk-DMHVL5MC.js} +5 -5
- package/dist/{chunk-WD2NRI3T.js.map → chunk-DMHVL5MC.js.map} +1 -1
- package/dist/{chunk-V4BGVOJC.js → chunk-EE4NL25D.js} +28 -19
- package/dist/chunk-EE4NL25D.js.map +1 -0
- package/dist/{chunk-VGT2R662.js → chunk-G2X3THJV.js} +5 -5
- package/dist/{chunk-VGT2R662.js.map → chunk-G2X3THJV.js.map} +1 -1
- package/dist/{chunk-3IHBGDCG.js → chunk-INUQVXUE.js} +2 -2
- package/dist/{chunk-3IHBGDCG.js.map → chunk-INUQVXUE.js.map} +1 -1
- package/dist/{chunk-UTHEIPEY.js → chunk-KVZ6XKVN.js} +56 -14
- package/dist/chunk-KVZ6XKVN.js.map +1 -0
- package/dist/{chunk-TCNYSHPM.js → chunk-L3SLC3S4.js} +253 -14
- package/dist/chunk-L3SLC3S4.js.map +1 -0
- package/dist/{chunk-3KPNDTMR.js → chunk-MG6UIS7G.js} +3 -3
- package/dist/{chunk-3KPNDTMR.js.map → chunk-MG6UIS7G.js.map} +1 -1
- package/dist/{chunk-LKOMH3QC.js → chunk-OIGYDVCM.js} +3 -3
- package/dist/{chunk-LKOMH3QC.js.map → chunk-OIGYDVCM.js.map} +1 -1
- package/dist/{chunk-N5AE5SOC.js → chunk-QVE3ILCY.js} +2 -2
- package/dist/{chunk-N5AE5SOC.js.map → chunk-QVE3ILCY.js.map} +1 -1
- package/dist/{chunk-GYPA2Q7F.js → chunk-SHOKXRL4.js} +21 -4
- package/dist/chunk-SHOKXRL4.js.map +1 -0
- package/dist/{chunk-6AD3NS7R.js → chunk-U5J77IIZ.js} +4 -4
- package/dist/{chunk-6AD3NS7R.js.map → chunk-U5J77IIZ.js.map} +1 -1
- package/dist/{chunk-OYMSCV7T.js → chunk-UY5Q2NZH.js} +3 -3
- package/dist/{chunk-OYMSCV7T.js.map → chunk-UY5Q2NZH.js.map} +1 -1
- package/dist/{chunk-2D5YE3FL.js → chunk-VYIK5IE5.js} +85 -6
- package/dist/chunk-VYIK5IE5.js.map +1 -0
- package/dist/{chunk-EOINYN5T.js → chunk-YI5OZ7QO.js} +3 -3
- package/dist/{chunk-EOINYN5T.js.map → chunk-YI5OZ7QO.js.map} +1 -1
- package/dist/{chunk-BXC5547R.js → chunk-Z4EJOBEL.js} +7 -7
- package/dist/{chunk-BXC5547R.js.map → chunk-Z4EJOBEL.js.map} +1 -1
- package/dist/{chunk-2ZK7M2SG.js → chunk-ZUE2PIJ5.js} +3 -3
- package/dist/{chunk-2ZK7M2SG.js.map → chunk-ZUE2PIJ5.js.map} +1 -1
- package/dist/cli/index.js +189 -56
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/catalog.d.ts +18 -0
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/manage.d.ts.map +1 -1
- package/dist/cli/src/commands/tree.d.ts.map +1 -1
- package/dist/cli/src/commands/why.d.ts.map +1 -1
- package/dist/cli/src/helpers.d.ts +25 -0
- package/dist/cli/src/helpers.d.ts.map +1 -1
- package/dist/connectors/config.js +5 -5
- package/dist/connectors/index.js +6 -8
- package/dist/connectors/src/config.d.ts +1 -74
- package/dist/connectors/src/config.d.ts.map +1 -1
- package/dist/connectors/src/connector-manager.d.ts +13 -137
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/connector-registry.d.ts.map +1 -1
- package/dist/connectors/src/connector-types.d.ts +3 -25
- package/dist/connectors/src/connector-types.d.ts.map +1 -1
- package/dist/connectors/src/fleet-utils.d.ts +2 -30
- package/dist/connectors/src/fleet-utils.d.ts.map +1 -1
- package/dist/connectors/src/fs-utils.d.ts +1 -2
- package/dist/connectors/src/fs-utils.d.ts.map +1 -1
- package/dist/connectors/src/index.d.ts +2 -12
- package/dist/connectors/src/index.d.ts.map +1 -1
- package/dist/connectors/src/watcher.d.ts +1 -5
- package/dist/connectors/src/watcher.d.ts.map +1 -1
- package/dist/core/index.js +4 -4
- package/dist/core/runtime-assets.js +2 -2
- package/dist/core/src/index.d.ts +1 -1
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +19 -1
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts +7 -0
- package/dist/core/src/walker.d.ts.map +1 -1
- package/dist/core/workspace-config.js +1 -1
- package/dist/deploy/index.js +4 -4
- package/dist/discovery/index.js +1 -1
- package/dist/discovery/src/discover.d.ts.map +1 -1
- package/dist/discovery/src/index.d.ts +1 -1
- package/dist/discovery/src/index.d.ts.map +1 -1
- package/dist/discovery/src/reference-lint.d.ts +30 -0
- package/dist/discovery/src/reference-lint.d.ts.map +1 -1
- package/dist/discovery/src/tree-entries.d.ts.map +1 -1
- package/dist/{ensure-sources-GJOXWVWO.js → ensure-sources-MJYHZ77Y.js} +14 -7
- package/dist/ensure-sources-MJYHZ77Y.js.map +1 -0
- package/dist/factory-assets/connectors/box/CONNECTOR.md +33 -0
- package/dist/factory-assets/connectors/box/driver.d.ts +27 -0
- package/dist/factory-assets/connectors/box/driver.d.ts.map +1 -0
- package/dist/{connectors/rclone-config.d.ts → factory-assets/connectors/box.d.ts} +1 -1
- package/dist/factory-assets/connectors/box.js +20 -0
- package/dist/factory-assets/connectors/box.js.map +1 -0
- package/dist/factory-assets/connectors/deploy.js +6 -8
- package/dist/factory-assets/connectors/devserver.js +6 -8
- package/dist/factory-assets/connectors/flow/adapter.js +6 -8
- package/dist/factory-assets/connectors/flow/engine.js +4 -4
- package/dist/factory-assets/connectors/flow/run-flow.js +7 -9
- package/dist/factory-assets/connectors/flow.js +6 -8
- package/dist/factory-assets/connectors/git.js +6 -8
- package/dist/factory-assets/connectors/gmail.js +6 -8
- package/dist/factory-assets/connectors/googledrive/CONNECTOR.md +14 -128
- package/dist/factory-assets/connectors/googledrive/driver.d.ts +6 -13
- package/dist/factory-assets/connectors/googledrive/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/googledrive.js +6 -8
- package/dist/factory-assets/connectors/local.js +6 -8
- package/dist/factory-assets/connectors/mattermost.js +6 -8
- package/dist/factory-assets/connectors/memory.js +6 -8
- package/dist/factory-assets/connectors/minio.js +6 -8
- package/dist/factory-assets/connectors/postgres.js +6 -8
- package/dist/factory-assets/connectors/s3.js +6 -8
- package/dist/factory-assets/connectors/sharepoint/CONNECTOR.md +13 -159
- package/dist/factory-assets/connectors/sharepoint/driver.d.ts +6 -12
- package/dist/factory-assets/connectors/sharepoint/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/sharepoint.js +6 -8
- package/dist/factory-assets/connectors/sqlite.js +6 -8
- package/dist/factory-assets/connectors/static-server.js +6 -8
- package/dist/factory-assets/connectors/tunnel.js +6 -8
- package/dist/factory-assets/connectors/webdav/CONNECTOR.md +13 -118
- package/dist/factory-assets/connectors/webdav/driver.d.ts +6 -15
- package/dist/factory-assets/connectors/webdav/driver.d.ts.map +1 -1
- package/dist/factory-assets/connectors/webdav.js +6 -8
- package/dist/factory-assets/connectors/xstate-store.js +6 -8
- package/dist/factory-assets/connectors/xstate.js +6 -8
- package/dist/factory-assets/skaile.manifest.yaml +4 -1
- package/dist/{flows-AGPIE6JM.js → flows-4Z74KY2H.js} +4 -4
- package/dist/{flows-AGPIE6JM.js.map → flows-4Z74KY2H.js.map} +1 -1
- package/dist/helpers-7KOVCMHW.js +22 -0
- package/dist/{helpers-F4NZ66VD.js.map → helpers-7KOVCMHW.js.map} +1 -1
- package/dist/library/index.js +7 -7
- package/dist/library/install.js +4 -4
- package/dist/library/src/library.d.ts +6 -0
- package/dist/library/src/library.d.ts.map +1 -1
- package/dist/library/src/local/db.d.ts.map +1 -1
- package/dist/library/src/local/library.d.ts +9 -0
- package/dist/library/src/local/library.d.ts.map +1 -1
- package/dist/library/src/local/local-catalog-source.d.ts +9 -0
- package/dist/library/src/local/local-catalog-source.d.ts.map +1 -1
- package/dist/library/src/local/schema.d.ts +19 -0
- package/dist/library/src/local/schema.d.ts.map +1 -1
- package/dist/open-library-PGTL332T.js +29 -0
- package/dist/{open-library-ERKRGH4B.js.map → open-library-PGTL332T.js.map} +1 -1
- package/dist/{paths-D6RUQ522.js → paths-S7QNXYMB.js} +7 -7
- package/dist/{paths-D6RUQ522.js.map → paths-S7QNXYMB.js.map} +1 -1
- package/dist/{plugin-store-SGNJTBYS.js → plugin-store-3DAVGKHN.js} +6 -6
- package/dist/{plugin-store-SGNJTBYS.js.map → plugin-store-3DAVGKHN.js.map} +1 -1
- package/dist/runner/index.js +11 -13
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +6 -6
- package/dist/sdk/bridge.js +3 -3
- package/dist/sdk/core.js +4 -4
- package/dist/sdk/flow.js +4 -4
- package/dist/sdk/index.js +11 -13
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runner.js +11 -13
- package/dist/{setup-IV2JFW3T.js → setup-WBGDT2WY.js} +9 -9
- package/dist/{setup-IV2JFW3T.js.map → setup-WBGDT2WY.js.map} +1 -1
- package/dist/{source-FGOMQMZT.js → source-FJXRQ2NU.js} +18 -12
- package/dist/{source-FGOMQMZT.js.map → source-FJXRQ2NU.js.map} +1 -1
- package/dist/{store-client-GJT2XQ5Z.js → store-client-YGDN4L2G.js} +7 -7
- package/dist/{store-client-GJT2XQ5Z.js.map → store-client-YGDN4L2G.js.map} +1 -1
- package/dist/tui/index.js +11 -13
- package/dist/tui/index.js.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +2 -2
- package/dist/workspace-plugin/adapters/omp.js +3 -3
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +7 -13
- package/dist/chunk-2D5YE3FL.js.map +0 -1
- package/dist/chunk-GYPA2Q7F.js.map +0 -1
- package/dist/chunk-NXC6IEL4.js.map +0 -1
- package/dist/chunk-OVRSNIKJ.js +0 -72
- package/dist/chunk-OVRSNIKJ.js.map +0 -1
- package/dist/chunk-QLLFCQU5.js.map +0 -1
- package/dist/chunk-RAIRWFAN.js +0 -843
- package/dist/chunk-RAIRWFAN.js.map +0 -1
- package/dist/chunk-TCNYSHPM.js.map +0 -1
- package/dist/chunk-UTHEIPEY.js.map +0 -1
- package/dist/chunk-V4BGVOJC.js.map +0 -1
- package/dist/chunk-VE2UIJ7Y.js.map +0 -1
- package/dist/connectors/rclone-config.js +0 -4
- package/dist/connectors/rclone-config.js.map +0 -1
- package/dist/connectors/rclone.d.ts +0 -2
- package/dist/connectors/rclone.js +0 -5
- package/dist/connectors/rclone.js.map +0 -1
- package/dist/connectors/src/fleet-health-gate.d.ts +0 -105
- package/dist/connectors/src/fleet-health-gate.d.ts.map +0 -1
- package/dist/connectors/src/mount-placeholder.d.ts +0 -131
- package/dist/connectors/src/mount-placeholder.d.ts.map +0 -1
- package/dist/connectors/src/rclone-config/googledrive.d.ts +0 -59
- package/dist/connectors/src/rclone-config/googledrive.d.ts.map +0 -1
- package/dist/connectors/src/rclone-config/index.d.ts +0 -9
- package/dist/connectors/src/rclone-config/index.d.ts.map +0 -1
- package/dist/connectors/src/rclone-config/onedrive.d.ts +0 -48
- package/dist/connectors/src/rclone-config/onedrive.d.ts.map +0 -1
- package/dist/connectors/src/rclone-config/sanitize.d.ts +0 -9
- package/dist/connectors/src/rclone-config/sanitize.d.ts.map +0 -1
- package/dist/connectors/src/rclone-config/webdav.d.ts +0 -50
- package/dist/connectors/src/rclone-config/webdav.d.ts.map +0 -1
- package/dist/connectors/src/rclone-process-manager.d.ts +0 -316
- package/dist/connectors/src/rclone-process-manager.d.ts.map +0 -1
- package/dist/connectors/src/rclone-token-refresh.d.ts +0 -84
- package/dist/connectors/src/rclone-token-refresh.d.ts.map +0 -1
- package/dist/ensure-sources-GJOXWVWO.js.map +0 -1
- package/dist/helpers-F4NZ66VD.js +0 -4
- package/dist/open-library-ERKRGH4B.js +0 -23
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { readManifestSourceConfig, discoverAssetsInTree } from './chunk-
|
|
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-
|
|
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,
|
|
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-
|
|
3766
|
-
//# sourceMappingURL=chunk-
|
|
3844
|
+
//# sourceMappingURL=chunk-VYIK5IE5.js.map
|
|
3845
|
+
//# sourceMappingURL=chunk-VYIK5IE5.js.map
|