@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
package/dist/cli/index.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { makeSourceCommand, syncProjectSources } from '../chunk-Z4EJOBEL.js';
|
|
3
|
+
import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-DMHVL5MC.js';
|
|
4
|
+
import { logErr, S, logOk, logInfo, colorRef, logWarn, bareSoftDepName, kindColorPad, kindColor, formatSoftDepSection, formatRelativeTime, fitWidth, formatSoftDepRemovePreview, formatSoftDepAddPreview } from '../chunk-SHOKXRL4.js';
|
|
5
|
+
import { getStoreConfig, storeFetch, saveStoreTokens, clearStoreTokens, isStoreAuthenticated } from '../chunk-ZUE2PIJ5.js';
|
|
6
|
+
import { AI_RESOURCES, aiResourceRoots } from '../chunk-OIGYDVCM.js';
|
|
7
7
|
import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
|
|
8
|
-
import { resolveLibraryDir } from '../chunk-
|
|
9
|
-
import '../chunk-
|
|
10
|
-
import '../chunk-JXT46QFC.js';
|
|
8
|
+
import { resolveLibraryDir } from '../chunk-VYIK5IE5.js';
|
|
9
|
+
import '../chunk-KVZ6XKVN.js';
|
|
11
10
|
import '../chunk-UKJMQZV6.js';
|
|
12
11
|
import '../chunk-R7FOF242.js';
|
|
13
|
-
import
|
|
12
|
+
import '../chunk-JXT46QFC.js';
|
|
13
|
+
import { runFlow, resumeFlow } from '../chunk-G2X3THJV.js';
|
|
14
14
|
import '../chunk-4R6DROGN.js';
|
|
15
15
|
import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-GXC3TYMQ.js';
|
|
16
|
-
import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-
|
|
17
|
-
import { buildClaudePluginFiles } from '../chunk-
|
|
16
|
+
import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-EE4NL25D.js';
|
|
17
|
+
import { buildClaudePluginFiles } from '../chunk-INUQVXUE.js';
|
|
18
18
|
import '../chunk-X5YPJV4N.js';
|
|
19
19
|
import '../chunk-O7SG5PC2.js';
|
|
20
20
|
import '../chunk-7QBNJTTQ.js';
|
|
@@ -23,32 +23,30 @@ import '../chunk-WQ7DE5UC.js';
|
|
|
23
23
|
import '../chunk-32NA4TVC.js';
|
|
24
24
|
import '../chunk-W3UDISS2.js';
|
|
25
25
|
import '../chunk-EVZKWY5J.js';
|
|
26
|
-
import '../chunk-
|
|
27
|
-
import '../chunk-RRVQAE5D.js';
|
|
26
|
+
import '../chunk-UY5Q2NZH.js';
|
|
28
27
|
import '../chunk-BMQKMOQY.js';
|
|
29
28
|
import '../chunk-GAH4YRCI.js';
|
|
30
|
-
import '../chunk-
|
|
29
|
+
import '../chunk-RRVQAE5D.js';
|
|
30
|
+
import '../chunk-QVE3ILCY.js';
|
|
31
31
|
import '../chunk-LV2HPH3C.js';
|
|
32
|
-
import '../chunk-
|
|
33
|
-
import '../chunk-
|
|
34
|
-
import '../chunk-VE2UIJ7Y.js';
|
|
35
|
-
import '../chunk-RAIRWFAN.js';
|
|
32
|
+
import '../chunk-B4IOSXRZ.js';
|
|
33
|
+
import '../chunk-BCJL2UNH.js';
|
|
36
34
|
import '../chunk-6E6PKKAD.js';
|
|
37
35
|
import { loadFlow, loadAllFlows } from '../chunk-SKADPHAM.js';
|
|
38
36
|
import '../chunk-DEYYRFQU.js';
|
|
39
37
|
import '../chunk-IFGTRL2I.js';
|
|
40
|
-
import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError } from '../chunk-
|
|
41
|
-
import '../chunk-
|
|
42
|
-
import { readLock, resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor, checkAgentSkillConformance } from '../chunk-
|
|
43
|
-
import
|
|
44
|
-
import '../chunk-
|
|
45
|
-
import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, resolveSkWorkspaceConfig } from '../chunk-NXC6IEL4.js';
|
|
38
|
+
import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError } from '../chunk-L3SLC3S4.js';
|
|
39
|
+
import '../chunk-35TLBMHX.js';
|
|
40
|
+
import { readLock, resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, portableSpawn, portableSpawnSync, WorkspaceYamlEditor, checkAgentSkillConformance } from '../chunk-MG6UIS7G.js';
|
|
41
|
+
import '../chunk-BM37QD6U.js';
|
|
42
|
+
import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, resolveSkWorkspaceConfig } from '../chunk-5AGARSQT.js';
|
|
46
43
|
import { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-DZCK7GRW.js';
|
|
47
44
|
import { parseFrontmatter } from '../chunk-BQCGFPHW.js';
|
|
48
45
|
import { parseAssetRef, ASSET_KINDS, isValidAssetName, slugifyAssetName, ASSET_NAME_HINT, assetRefToStr } from '../chunk-GEEW6SY2.js';
|
|
49
46
|
import '../chunk-F3HNW354.js';
|
|
50
47
|
import { SUPPORTED_DRIVER_TARGETS } from '../chunk-MENCWIHW.js';
|
|
51
48
|
import { DRIVER_DEFAULTS } from '../chunk-K5GBV4SA.js';
|
|
49
|
+
import { assetSearchDirs, detectDomains } from '../chunk-ZAP2BDHG.js';
|
|
52
50
|
import { openSqlite } from '../chunk-JB35MVBN.js';
|
|
53
51
|
import '../chunk-KTBKW2FI.js';
|
|
54
52
|
import '../chunk-UQ6LFBPZ.js';
|
|
@@ -94,7 +92,7 @@ async function searchLocal(query, kind, opts, showStore, airGapped) {
|
|
|
94
92
|
const projectDir = path14__default.resolve(opts.projectDir);
|
|
95
93
|
let entries = new AssetManager({ projectDir }).search(query, kind);
|
|
96
94
|
if (entries.length === 0 && !query && !kind && !airGapped) {
|
|
97
|
-
const { autoSyncForSearch } = await import('../source-
|
|
95
|
+
const { autoSyncForSearch } = await import('../source-FJXRQ2NU.js');
|
|
98
96
|
if (await autoSyncForSearch(projectDir)) {
|
|
99
97
|
entries = new AssetManager({ projectDir }).search(query, kind);
|
|
100
98
|
}
|
|
@@ -147,7 +145,7 @@ async function searchStore(query, kind, opts, airGapped) {
|
|
|
147
145
|
return;
|
|
148
146
|
}
|
|
149
147
|
try {
|
|
150
|
-
const { getStoreConfig: getStoreConfig2, storeFetch: storeFetch2 } = await import('../store-client-
|
|
148
|
+
const { getStoreConfig: getStoreConfig2, storeFetch: storeFetch2 } = await import('../store-client-YGDN4L2G.js');
|
|
151
149
|
const config = getStoreConfig2();
|
|
152
150
|
const params = {};
|
|
153
151
|
if (query) params.q = query;
|
|
@@ -191,6 +189,33 @@ function parseBackendFilter(raw) {
|
|
|
191
189
|
}
|
|
192
190
|
return out.length > 0 ? out : void 0;
|
|
193
191
|
}
|
|
192
|
+
async function promptSoftDepAdds(am2, ref, io) {
|
|
193
|
+
const edges = await am2.reportSoftDeps([ref]);
|
|
194
|
+
if (edges.length === 0) return;
|
|
195
|
+
if (!io.isTTY) {
|
|
196
|
+
for (const edge of edges) {
|
|
197
|
+
const hint = edge.toRef ? ` \u2014 run \`skaile add ${edge.toRef}\` to include it.` : "";
|
|
198
|
+
io.onHint(
|
|
199
|
+
`${bareSoftDepName(edge.from)} references ${bareSoftDepName(edge.to)} (soft dependency)${hint}`
|
|
200
|
+
);
|
|
201
|
+
}
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
for (const edge of edges) {
|
|
205
|
+
if (!edge.toRef) continue;
|
|
206
|
+
const yes = await io.confirm(
|
|
207
|
+
`${bareSoftDepName(edge.from)} references ${bareSoftDepName(edge.to)} (soft dependency) \u2014 also add it?`
|
|
208
|
+
);
|
|
209
|
+
if (io.isCancel(yes)) break;
|
|
210
|
+
if (yes === true) {
|
|
211
|
+
try {
|
|
212
|
+
for (const a of await am2.add(edge.toRef, { link: io.link })) io.onAdded(a);
|
|
213
|
+
} catch (err) {
|
|
214
|
+
io.onError(`Failed to add ${edge.toRef}: ${err}`);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
194
219
|
function makeAddCommand() {
|
|
195
220
|
return new Command("add").description("Add to skaile.yaml + deploy").argument("<ref>", "Asset reference (kind:@<publisher>/name#<version>)").option("--project-dir <path>", "Project directory", process.cwd()).option("--global", "Record in ~/.skaile/skaile.yaml + deploy to every global backend").option(
|
|
196
221
|
"--backend <ids>",
|
|
@@ -211,6 +236,15 @@ function makeAddCommand() {
|
|
|
211
236
|
try {
|
|
212
237
|
const added = await am2.add(ref, { link: opts.link });
|
|
213
238
|
spinner5.stop("Done");
|
|
239
|
+
await promptSoftDepAdds(am2, ref, {
|
|
240
|
+
isTTY: !!process.stdin.isTTY,
|
|
241
|
+
link: opts.link,
|
|
242
|
+
confirm: (message) => p6.confirm({ message, initialValue: false }),
|
|
243
|
+
isCancel: p6.isCancel,
|
|
244
|
+
onAdded: logOk,
|
|
245
|
+
onError: logErr,
|
|
246
|
+
onHint: (line) => logInfo(S.dim(line))
|
|
247
|
+
});
|
|
214
248
|
if (added.length === 0) {
|
|
215
249
|
const kind = parseAssetRef(ref).kind;
|
|
216
250
|
if (NON_DEPLOYABLE_KINDS.has(kind))
|
|
@@ -230,7 +264,7 @@ function makeRemoveCommand() {
|
|
|
230
264
|
return new Command("remove").description("Remove from skaile.yaml + undeploy").argument("<ref>", "Asset reference (kind:name)").option("--project-dir <path>", "Project directory", process.cwd()).option("--global", "Remove from ~/.skaile/skaile.yaml + undeploy from every global backend").option(
|
|
231
265
|
"--backend <ids>",
|
|
232
266
|
"Comma-separated global backends to undeploy from (default: all resolved); implies --global"
|
|
233
|
-
).option("--target <agent>", "Driver target", "claude-code").action((ref, opts) => {
|
|
267
|
+
).option("--target <agent>", "Driver target", "claude-code").action(async (ref, opts) => {
|
|
234
268
|
const backends = parseBackendFilter(opts.backend);
|
|
235
269
|
const am2 = new AssetManager({
|
|
236
270
|
projectDir: path14__default.resolve(opts.projectDir),
|
|
@@ -239,8 +273,21 @@ function makeRemoveCommand() {
|
|
|
239
273
|
driverTarget: opts.target
|
|
240
274
|
});
|
|
241
275
|
const ok = am2.remove(ref);
|
|
242
|
-
if (ok)
|
|
243
|
-
|
|
276
|
+
if (!ok) {
|
|
277
|
+
logErr(`Not deployed: ${ref}`);
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
logOk(`Removed ${ref}`);
|
|
281
|
+
for (const orphan of await am2.orphanedSoftDepsAfterRemoving([ref])) {
|
|
282
|
+
if (!orphan.targetRef) continue;
|
|
283
|
+
const name = bareSoftDepName(orphan.target);
|
|
284
|
+
const yes = await p6.confirm({
|
|
285
|
+
message: `${name} is a soft dependency of ${ref} and is no longer referenced by any installed asset \u2014 also remove it?`,
|
|
286
|
+
initialValue: false
|
|
287
|
+
});
|
|
288
|
+
if (p6.isCancel(yes)) break;
|
|
289
|
+
if (yes === true && am2.remove(orphan.targetRef)) logOk(`Removed ${orphan.targetRef}`);
|
|
290
|
+
}
|
|
244
291
|
});
|
|
245
292
|
}
|
|
246
293
|
function stateLabel(s) {
|
|
@@ -347,7 +394,7 @@ function runGlobalList(kind, opts, backends) {
|
|
|
347
394
|
console.log();
|
|
348
395
|
}
|
|
349
396
|
function makeInfoCommand() {
|
|
350
|
-
return new Command("info").description("Show asset metadata, deps, deploy status").argument("<ref>", "Asset reference (kind:name)").option("--project-dir <path>", "Project directory", process.cwd()).action((ref, opts) => {
|
|
397
|
+
return new Command("info").description("Show asset metadata, deps, deploy status").argument("<ref>", "Asset reference (kind:name)").option("--project-dir <path>", "Project directory", process.cwd()).action(async (ref, opts) => {
|
|
351
398
|
const am2 = new AssetManager({ projectDir: path14__default.resolve(opts.projectDir) });
|
|
352
399
|
const entry = am2.info(ref);
|
|
353
400
|
if (!entry) {
|
|
@@ -356,6 +403,7 @@ function makeInfoCommand() {
|
|
|
356
403
|
);
|
|
357
404
|
process.exit(1);
|
|
358
405
|
}
|
|
406
|
+
const softDeps = await am2.softDepsOf([ref]);
|
|
359
407
|
console.log();
|
|
360
408
|
console.log(` ${S.heading(entry.name)}`);
|
|
361
409
|
console.log(` ${S.rule(40)}`);
|
|
@@ -373,6 +421,8 @@ function makeInfoCommand() {
|
|
|
373
421
|
console.log(` dependencies:`);
|
|
374
422
|
for (const s of entry.dependencies) console.log(` ${S.dim("\xB7")} ${colorRef(s)}`);
|
|
375
423
|
}
|
|
424
|
+
for (const line of formatSoftDepSection(softDeps.map((e) => bareSoftDepName(e.to))))
|
|
425
|
+
console.log(line);
|
|
376
426
|
console.log();
|
|
377
427
|
});
|
|
378
428
|
}
|
|
@@ -924,7 +974,7 @@ function makeCatalogCommand() {
|
|
|
924
974
|
return catalog;
|
|
925
975
|
}
|
|
926
976
|
async function runLocalCatalogTest(projectDir) {
|
|
927
|
-
const { resolveCatalogSource } = await import('../open-library-
|
|
977
|
+
const { resolveCatalogSource } = await import('../open-library-PGTL332T.js');
|
|
928
978
|
let resolved;
|
|
929
979
|
try {
|
|
930
980
|
resolved = await resolveCatalogSource({ projectDir });
|
|
@@ -1914,7 +1964,7 @@ async function ensureTargetsRegistered(projectDir) {
|
|
|
1914
1964
|
const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
|
|
1915
1965
|
const config = resolveSkWorkspaceConfig2(projectDir);
|
|
1916
1966
|
if (config.plugins && config.plugins.length > 0) {
|
|
1917
|
-
const { ensurePluginsLoaded } = await import('../plugin-store-
|
|
1967
|
+
const { ensurePluginsLoaded } = await import('../plugin-store-3DAVGKHN.js');
|
|
1918
1968
|
const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
|
|
1919
1969
|
for (const f of result.failed) logWarn(f.error);
|
|
1920
1970
|
}
|
|
@@ -3593,8 +3643,44 @@ function actOnHeader(row, action3) {
|
|
|
3593
3643
|
}
|
|
3594
3644
|
return row.type === "domain-header" || row.type === "domain-info";
|
|
3595
3645
|
}
|
|
3646
|
+
var softDepPreviewCache = /* @__PURE__ */ new Map();
|
|
3647
|
+
function softDepCacheKeyUnderCursor() {
|
|
3648
|
+
if (state.tab !== "assets" && state.tab !== "sources") return null;
|
|
3649
|
+
const rows = state.tab === "sources" ? state.visibleSourceRows : state.visibleRows;
|
|
3650
|
+
const row = rows[state.cursor];
|
|
3651
|
+
const ref = row?.type === "asset" ? assetRefOf(row) : null;
|
|
3652
|
+
if (!row || !ref) return null;
|
|
3653
|
+
return `${row.installed ? "remove" : "add"}:${ref}`;
|
|
3654
|
+
}
|
|
3655
|
+
async function previewSoftDepsUnderCursor() {
|
|
3656
|
+
if (state.tab !== "assets" && state.tab !== "sources") return;
|
|
3657
|
+
const rows = state.tab === "sources" ? state.visibleSourceRows : state.visibleRows;
|
|
3658
|
+
const row = rows[state.cursor];
|
|
3659
|
+
const ref = row?.type === "asset" ? assetRefOf(row) : null;
|
|
3660
|
+
if (!row || !ref) {
|
|
3661
|
+
state.message = "";
|
|
3662
|
+
return;
|
|
3663
|
+
}
|
|
3664
|
+
const mode = row.installed ? "remove" : "add";
|
|
3665
|
+
const cacheKey = `${mode}:${ref}`;
|
|
3666
|
+
let msg = softDepPreviewCache.get(cacheKey);
|
|
3667
|
+
if (msg === void 0) {
|
|
3668
|
+
if (mode === "remove") {
|
|
3669
|
+
const targets = (await am.orphanedSoftDepsAfterRemoving([ref])).map(
|
|
3670
|
+
(o) => bareSoftDepName(o.target)
|
|
3671
|
+
);
|
|
3672
|
+
msg = formatSoftDepRemovePreview(row.entry.name, targets);
|
|
3673
|
+
} else {
|
|
3674
|
+
const targets = (await am.reportSoftDeps([ref])).map((e) => bareSoftDepName(e.to));
|
|
3675
|
+
msg = formatSoftDepAddPreview(row.entry.name, targets);
|
|
3676
|
+
}
|
|
3677
|
+
softDepPreviewCache.set(cacheKey, msg);
|
|
3678
|
+
}
|
|
3679
|
+
if (softDepCacheKeyUnderCursor() === cacheKey) state.message = msg;
|
|
3680
|
+
}
|
|
3596
3681
|
async function loadAssets() {
|
|
3597
|
-
|
|
3682
|
+
softDepPreviewCache.clear();
|
|
3683
|
+
const { gatherAssetFeeds } = await import('../asset-feeds-NIAABO6U.js');
|
|
3598
3684
|
const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
|
|
3599
3685
|
if (notes.length > 0) {
|
|
3600
3686
|
state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
|
|
@@ -3761,7 +3847,7 @@ function reconcileCollapsedSets(rows) {
|
|
|
3761
3847
|
async function loadSourcesAndLibraries() {
|
|
3762
3848
|
try {
|
|
3763
3849
|
const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir }, { getGlobalCacheDir: getGlobalCacheDir2 }] = await Promise.all([
|
|
3764
|
-
import('../open-library-
|
|
3850
|
+
import('../open-library-PGTL332T.js'),
|
|
3765
3851
|
import('../library/index.js'),
|
|
3766
3852
|
import('../core/index.js')
|
|
3767
3853
|
]);
|
|
@@ -4166,13 +4252,19 @@ async function applyChanges() {
|
|
|
4166
4252
|
render();
|
|
4167
4253
|
let added = 0;
|
|
4168
4254
|
let removed = 0;
|
|
4255
|
+
const appliedAdds = [];
|
|
4256
|
+
const appliedRemoves = [];
|
|
4169
4257
|
for (const ref of state.pendingRemoves) {
|
|
4170
|
-
if (am.remove(ref))
|
|
4258
|
+
if (am.remove(ref)) {
|
|
4259
|
+
removed++;
|
|
4260
|
+
appliedRemoves.push(ref);
|
|
4261
|
+
}
|
|
4171
4262
|
}
|
|
4172
4263
|
for (const ref of state.pendingAdds) {
|
|
4173
4264
|
try {
|
|
4174
|
-
am.add(ref);
|
|
4265
|
+
await am.add(ref);
|
|
4175
4266
|
added++;
|
|
4267
|
+
appliedAdds.push(ref);
|
|
4176
4268
|
} catch (err) {
|
|
4177
4269
|
state.message = pc5.red(`Failed to add ${ref}: ${err}`);
|
|
4178
4270
|
}
|
|
@@ -4183,6 +4275,19 @@ async function applyChanges() {
|
|
|
4183
4275
|
const parts = [];
|
|
4184
4276
|
if (added > 0) parts.push(pc5.green(`+${added} added`));
|
|
4185
4277
|
if (removed > 0) parts.push(pc5.red(`-${removed} removed`));
|
|
4278
|
+
const softDeps = appliedAdds.length > 0 ? await am.reportSoftDeps(appliedAdds) : [];
|
|
4279
|
+
if (softDeps.length > 0) {
|
|
4280
|
+
parts.push(pc5.dim(`${softDeps.length} soft dep${softDeps.length === 1 ? "" : "s"} referenced`));
|
|
4281
|
+
}
|
|
4282
|
+
const orphans = (appliedRemoves.length > 0 ? await am.orphanedSoftDepsAfterRemoving(appliedRemoves) : []).filter((o) => o.targetRef);
|
|
4283
|
+
if (orphans.length > 0) {
|
|
4284
|
+
const names = orphans.map((o) => bareSoftDepName(o.target)).join(", ");
|
|
4285
|
+
parts.push(
|
|
4286
|
+
pc5.dim(
|
|
4287
|
+
`${names} no longer referenced by any installed asset \u2014 remove with \`skaile remove\``
|
|
4288
|
+
)
|
|
4289
|
+
);
|
|
4290
|
+
}
|
|
4186
4291
|
if (parts.length) state.message = parts.join(" ");
|
|
4187
4292
|
}
|
|
4188
4293
|
async function syncAll() {
|
|
@@ -4460,8 +4565,20 @@ var KEYMAP = [
|
|
|
4460
4565
|
}
|
|
4461
4566
|
},
|
|
4462
4567
|
{ keys: [" "], run: () => void nextTab() },
|
|
4463
|
-
{
|
|
4464
|
-
|
|
4568
|
+
{
|
|
4569
|
+
keys: ["\x1B[A", "k"],
|
|
4570
|
+
run: async () => {
|
|
4571
|
+
moveCursor(-1);
|
|
4572
|
+
await previewSoftDepsUnderCursor();
|
|
4573
|
+
}
|
|
4574
|
+
},
|
|
4575
|
+
{
|
|
4576
|
+
keys: ["\x1B[B", "j"],
|
|
4577
|
+
run: async () => {
|
|
4578
|
+
moveCursor(1);
|
|
4579
|
+
await previewSoftDepsUnderCursor();
|
|
4580
|
+
}
|
|
4581
|
+
},
|
|
4465
4582
|
// Collapse / expand — assets tab
|
|
4466
4583
|
{ keys: ["\x1B[C"], when: TAB_ASSETS, run: expandUnderCursor },
|
|
4467
4584
|
{ keys: ["\x1B[D"], when: TAB_ASSETS, run: collapseOrJumpUnderCursor },
|
|
@@ -4472,13 +4589,14 @@ var KEYMAP = [
|
|
|
4472
4589
|
{
|
|
4473
4590
|
keys: ["+"],
|
|
4474
4591
|
when: TAB_ASSETS,
|
|
4475
|
-
run: () => {
|
|
4592
|
+
run: async () => {
|
|
4476
4593
|
const row = state.visibleRows[state.cursor];
|
|
4477
4594
|
if (!row) return;
|
|
4478
4595
|
if (!actOnHeader(row, "add")) {
|
|
4479
4596
|
const ref = assetRefOf(row);
|
|
4480
4597
|
if (ref) setSelection(ref, state.pendingAdds.has(ref) ? "clear" : "add");
|
|
4481
4598
|
}
|
|
4599
|
+
await previewSoftDepsUnderCursor();
|
|
4482
4600
|
}
|
|
4483
4601
|
},
|
|
4484
4602
|
// Sources tab: + / - / space select (asset leaf or org/repo bulk header).
|
|
@@ -4509,13 +4627,14 @@ var KEYMAP = [
|
|
|
4509
4627
|
{
|
|
4510
4628
|
keys: ["-"],
|
|
4511
4629
|
when: TAB_ASSETS,
|
|
4512
|
-
run: () => {
|
|
4630
|
+
run: async () => {
|
|
4513
4631
|
const row = state.visibleRows[state.cursor];
|
|
4514
4632
|
if (!row) return;
|
|
4515
4633
|
if (!actOnHeader(row, "remove")) {
|
|
4516
4634
|
const ref = assetRefOf(row);
|
|
4517
4635
|
if (ref) setSelection(ref, state.pendingRemoves.has(ref) ? "clear" : "remove");
|
|
4518
4636
|
}
|
|
4637
|
+
await previewSoftDepsUnderCursor();
|
|
4519
4638
|
}
|
|
4520
4639
|
},
|
|
4521
4640
|
// Space — auto-toggle (single asset or bulk header)
|
|
@@ -4814,7 +4933,7 @@ function action2(fn) {
|
|
|
4814
4933
|
};
|
|
4815
4934
|
}
|
|
4816
4935
|
async function reconcileAndReport(projectDir, plugins) {
|
|
4817
|
-
const { reconcilePlugins } = await import('../plugin-store-
|
|
4936
|
+
const { reconcilePlugins } = await import('../plugin-store-3DAVGKHN.js');
|
|
4818
4937
|
if (plugins.length === 0) {
|
|
4819
4938
|
logInfo("No plugins declared \u2014 nothing to reconcile.");
|
|
4820
4939
|
return;
|
|
@@ -4830,7 +4949,7 @@ async function reconcileAndReport(projectDir, plugins) {
|
|
|
4830
4949
|
async function runInstall2(spec, opts) {
|
|
4831
4950
|
const projectDir = path14__default.resolve(opts.projectDir);
|
|
4832
4951
|
const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
|
|
4833
|
-
const { specName } = await import('../plugin-store-
|
|
4952
|
+
const { specName } = await import('../plugin-store-3DAVGKHN.js');
|
|
4834
4953
|
const yamlPath = path14__default.join(projectDir, "skaile.yaml");
|
|
4835
4954
|
const editor = WorkspaceYamlEditor2.load(yamlPath);
|
|
4836
4955
|
const replaced = editor.addPlugin(spec, specName);
|
|
@@ -4842,7 +4961,7 @@ async function runInstall2(spec, opts) {
|
|
|
4842
4961
|
async function runRemove(name, opts) {
|
|
4843
4962
|
const projectDir = path14__default.resolve(opts.projectDir);
|
|
4844
4963
|
const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
|
|
4845
|
-
const { specName } = await import('../plugin-store-
|
|
4964
|
+
const { specName } = await import('../plugin-store-3DAVGKHN.js');
|
|
4846
4965
|
const yamlPath = path14__default.join(projectDir, "skaile.yaml");
|
|
4847
4966
|
const editor = WorkspaceYamlEditor2.load(yamlPath);
|
|
4848
4967
|
const removed = editor.removePlugin(name, specName);
|
|
@@ -4870,7 +4989,7 @@ async function runList(opts) {
|
|
|
4870
4989
|
const registry = createPluginRegistry();
|
|
4871
4990
|
if (declared.length > 0) {
|
|
4872
4991
|
try {
|
|
4873
|
-
const { loadPlugins } = await import('../plugin-store-
|
|
4992
|
+
const { loadPlugins } = await import('../plugin-store-3DAVGKHN.js');
|
|
4874
4993
|
const result = await loadPlugins(projectDir, declared, registry);
|
|
4875
4994
|
for (const f of result.failed) logWarn(f.error);
|
|
4876
4995
|
} catch (err) {
|
|
@@ -5124,7 +5243,7 @@ async function runRefInstall(ref, opts) {
|
|
|
5124
5243
|
const spinner5 = p6.spinner();
|
|
5125
5244
|
spinner5.start(`Installing ${ref}`);
|
|
5126
5245
|
try {
|
|
5127
|
-
const { openCatalogSource: openCatalogSource2, openLibrary: openLibrary2 } = await import('../open-library-
|
|
5246
|
+
const { openCatalogSource: openCatalogSource2, openLibrary: openLibrary2 } = await import('../open-library-PGTL332T.js');
|
|
5128
5247
|
const catalog = await openCatalogSource2({ projectDir: path14__default.resolve(opts.projectDir) });
|
|
5129
5248
|
if (!supportsInstallManifest(catalog)) {
|
|
5130
5249
|
throw new Error(
|
|
@@ -5161,7 +5280,7 @@ async function runYamlInstall(opts) {
|
|
|
5161
5280
|
return;
|
|
5162
5281
|
}
|
|
5163
5282
|
try {
|
|
5164
|
-
const { ensureSourcesCloned } = await import('../ensure-sources-
|
|
5283
|
+
const { ensureSourcesCloned } = await import('../ensure-sources-MJYHZ77Y.js');
|
|
5165
5284
|
const hydrate = ensureSourcesCloned(projectDir, { quiet: true });
|
|
5166
5285
|
if (hydrate.cloned.length > 0) {
|
|
5167
5286
|
logOk(`Cloned source(s): ${hydrate.cloned.join(", ")}`);
|
|
@@ -5280,8 +5399,8 @@ function makeCleanCommand() {
|
|
|
5280
5399
|
return;
|
|
5281
5400
|
}
|
|
5282
5401
|
if (!opts.yes) {
|
|
5283
|
-
const
|
|
5284
|
-
if (p6.isCancel(
|
|
5402
|
+
const confirm7 = await p6.confirm({ message: "Proceed?" });
|
|
5403
|
+
if (p6.isCancel(confirm7) || !confirm7) {
|
|
5285
5404
|
logInfo("Cancelled.");
|
|
5286
5405
|
return;
|
|
5287
5406
|
}
|
|
@@ -5625,12 +5744,12 @@ function makeServeCommand() {
|
|
|
5625
5744
|
);
|
|
5626
5745
|
}
|
|
5627
5746
|
async function ensurePluginsLoadedForServe(projectDir) {
|
|
5628
|
-
const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-
|
|
5747
|
+
const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-7KOVCMHW.js');
|
|
5629
5748
|
try {
|
|
5630
5749
|
const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
|
|
5631
5750
|
const config = resolveSkWorkspaceConfig2(projectDir);
|
|
5632
5751
|
if (!config.plugins || config.plugins.length === 0) return;
|
|
5633
|
-
const { ensurePluginsLoaded } = await import('../plugin-store-
|
|
5752
|
+
const { ensurePluginsLoaded } = await import('../plugin-store-3DAVGKHN.js');
|
|
5634
5753
|
const { pluginRegistry } = await import('../plugin-registry/index.js');
|
|
5635
5754
|
const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
|
|
5636
5755
|
if (result.loaded.length > 0) {
|
|
@@ -5644,14 +5763,14 @@ async function ensurePluginsLoadedForServe(projectDir) {
|
|
|
5644
5763
|
}
|
|
5645
5764
|
}
|
|
5646
5765
|
async function runCompileTest(opts) {
|
|
5647
|
-
const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-
|
|
5766
|
+
const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-7KOVCMHW.js');
|
|
5648
5767
|
const { tmpdir } = await import('os');
|
|
5649
5768
|
const { dirname: dirname4, join: join5, resolve: resolve5 } = await import('path');
|
|
5650
5769
|
const { fileURLToPath: fileURLToPath2 } = await import('url');
|
|
5651
5770
|
const { unlinkSync, existsSync: existsSync13 } = await import('fs');
|
|
5652
5771
|
const { spawn } = await import('child_process');
|
|
5653
5772
|
const { portableSpawnSync: portableSpawnSync2 } = await import('../core/index.js');
|
|
5654
|
-
const { MONOREPO_ROOT } = await import('../paths-
|
|
5773
|
+
const { MONOREPO_ROOT } = await import('../paths-S7QNXYMB.js');
|
|
5655
5774
|
if (MONOREPO_ROOT === null) {
|
|
5656
5775
|
logErr2("--compile-test is only available inside the skaile-dev workspace.");
|
|
5657
5776
|
logInfo2("Run it from a checkout of skaile-ai/skaile-dev (the monorepo shell).");
|
|
@@ -6628,7 +6747,7 @@ function printTree(node, prefix = "", isLast = true) {
|
|
|
6628
6747
|
}
|
|
6629
6748
|
}
|
|
6630
6749
|
function makeTreeCommand() {
|
|
6631
|
-
return new Command("tree").description("Show full dependency tree").option("--project-dir <path>", "Project directory", process.cwd()).action((opts) => {
|
|
6750
|
+
return new Command("tree").description("Show full dependency tree").option("--project-dir <path>", "Project directory", process.cwd()).action(async (opts) => {
|
|
6632
6751
|
const am2 = new AssetManager({ projectDir: path14__default.resolve(opts.projectDir) });
|
|
6633
6752
|
const root = am2.tree();
|
|
6634
6753
|
if (root.children.length === 0) {
|
|
@@ -6637,6 +6756,14 @@ function makeTreeCommand() {
|
|
|
6637
6756
|
}
|
|
6638
6757
|
console.log();
|
|
6639
6758
|
printTree(root);
|
|
6759
|
+
const softDeps = await am2.softDepsOf(root.children.map((c) => c.ref));
|
|
6760
|
+
if (softDeps.length > 0) {
|
|
6761
|
+
console.log(` ${S.label("Soft dependencies (inferred)")}:`);
|
|
6762
|
+
for (const e of softDeps)
|
|
6763
|
+
console.log(
|
|
6764
|
+
` ${S.dim("\xB7")} ${bareSoftDepName(e.from)} \u2192 ${bareSoftDepName(e.to)} ${S.dim("(soft)")}`
|
|
6765
|
+
);
|
|
6766
|
+
}
|
|
6640
6767
|
console.log();
|
|
6641
6768
|
});
|
|
6642
6769
|
}
|
|
@@ -7280,7 +7407,7 @@ function makeVerifyCommand() {
|
|
|
7280
7407
|
});
|
|
7281
7408
|
}
|
|
7282
7409
|
function makeWhyCommand() {
|
|
7283
|
-
return new Command("why").description("Show why an asset is installed (dependency chain)").argument("<ref>", "Asset reference (kind:name)").option("--project-dir <path>", "Project directory", process.cwd()).action((ref, opts) => {
|
|
7410
|
+
return new Command("why").description("Show why an asset is installed (dependency chain)").argument("<ref>", "Asset reference (kind:name)").option("--project-dir <path>", "Project directory", process.cwd()).action(async (ref, opts) => {
|
|
7284
7411
|
const am2 = new AssetManager({ projectDir: path14__default.resolve(opts.projectDir) });
|
|
7285
7412
|
const chain = am2.why(ref);
|
|
7286
7413
|
if (chain.length === 0) {
|
|
@@ -7294,6 +7421,12 @@ function makeWhyCommand() {
|
|
|
7294
7421
|
const arrow = i === 0 ? "" : "\u2190 ";
|
|
7295
7422
|
console.log(` ${indent}${arrow}${colorRef(chain[i])}`);
|
|
7296
7423
|
}
|
|
7424
|
+
const softDeps = await am2.softDepsOf([ref]);
|
|
7425
|
+
if (softDeps.length > 0) {
|
|
7426
|
+
console.log(
|
|
7427
|
+
` ${S.dim(`also pulls (soft): ${softDeps.map((e) => bareSoftDepName(e.to)).join(", ")}`)}`
|
|
7428
|
+
);
|
|
7429
|
+
}
|
|
7297
7430
|
console.log();
|
|
7298
7431
|
});
|
|
7299
7432
|
}
|
|
@@ -7543,7 +7676,7 @@ async function bootstrapUserConfig() {
|
|
|
7543
7676
|
}
|
|
7544
7677
|
async function hydrateInitSources(resolved, created) {
|
|
7545
7678
|
try {
|
|
7546
|
-
const { ensureSourcesCloned } = await import('../ensure-sources-
|
|
7679
|
+
const { ensureSourcesCloned } = await import('../ensure-sources-MJYHZ77Y.js');
|
|
7547
7680
|
const hydrate = ensureSourcesCloned(resolved, { quiet: true });
|
|
7548
7681
|
for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
|
|
7549
7682
|
if (hydrate.failed.length > 0) {
|
|
@@ -7579,7 +7712,7 @@ function printInitSummary(resolved, projectDir, created) {
|
|
|
7579
7712
|
console.log();
|
|
7580
7713
|
}
|
|
7581
7714
|
program.command("setup").description("Interactive provider setup wizard").action(async () => {
|
|
7582
|
-
const { cmdSetup } = await import('../setup-
|
|
7715
|
+
const { cmdSetup } = await import('../setup-WBGDT2WY.js');
|
|
7583
7716
|
await cmdSetup([], { projectDir: process.cwd() });
|
|
7584
7717
|
});
|
|
7585
7718
|
program.addCommand(makeInstallCommand());
|