@skaile/workspaces 6.16.1 → 6.17.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 +12 -0
- package/dist/{agent-file-refresh-VRD2SNJW.js → agent-file-refresh-RZWE25KN.js} +33 -33
- package/dist/{agent-file-refresh-VRD2SNJW.js.map → agent-file-refresh-RZWE25KN.js.map} +1 -1
- package/dist/ai-sdk.js +4 -4
- package/dist/{asset-feeds-ON7FYHHF.js → asset-feeds-W4A2UFNX.js} +16 -16
- package/dist/{asset-feeds-ON7FYHHF.js.map → asset-feeds-W4A2UFNX.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +3 -3
- package/dist/asset-manager/history.js +3 -3
- package/dist/asset-manager/index.js +8 -8
- package/dist/asset-manager/installer.js +7 -7
- package/dist/asset-manager/renderers.js +4 -4
- package/dist/bridge/harnesses/claude-sdk.js +7 -7
- package/dist/bridge/harnesses/codex.js +7 -7
- package/dist/bridge/harnesses/continue.js +8 -8
- package/dist/bridge/harnesses/echo.js +3 -3
- package/dist/bridge/harnesses/gemini.js +6 -6
- package/dist/bridge/harnesses/goose.js +8 -8
- package/dist/bridge/harnesses/omp.js +5 -5
- package/dist/bridge/harnesses/opencode.js +9 -9
- package/dist/bridge/harnesses/qwen.js +6 -6
- package/dist/bridge/index.js +13 -13
- package/dist/{chunk-BTMSHGN3.js → chunk-2QNDAGYL.js} +4 -4
- package/dist/{chunk-BTMSHGN3.js.map → chunk-2QNDAGYL.js.map} +1 -1
- package/dist/{chunk-2ZDZJ7XQ.js → chunk-3O3HWR23.js} +3 -3
- package/dist/{chunk-2ZDZJ7XQ.js.map → chunk-3O3HWR23.js.map} +1 -1
- package/dist/{chunk-G5SUWZEU.js → chunk-3ZY6W7CL.js} +4 -3
- package/dist/chunk-3ZY6W7CL.js.map +1 -0
- package/dist/{chunk-2JUCWMIS.js → chunk-4BVE6JTM.js} +9 -9
- package/dist/{chunk-2JUCWMIS.js.map → chunk-4BVE6JTM.js.map} +1 -1
- package/dist/{chunk-Z23I2JA6.js → chunk-4CVRFWEY.js} +5 -5
- package/dist/{chunk-Z23I2JA6.js.map → chunk-4CVRFWEY.js.map} +1 -1
- package/dist/{chunk-PPSSDUN6.js → chunk-4YVQGPZ5.js} +3 -3
- package/dist/{chunk-PPSSDUN6.js.map → chunk-4YVQGPZ5.js.map} +1 -1
- package/dist/{chunk-ETGC2MEM.js → chunk-52HUF3DF.js} +3 -3
- package/dist/{chunk-ETGC2MEM.js.map → chunk-52HUF3DF.js.map} +1 -1
- package/dist/{chunk-Z7HLX4V2.js → chunk-57B4DG3Y.js} +4 -4
- package/dist/{chunk-Z7HLX4V2.js.map → chunk-57B4DG3Y.js.map} +1 -1
- package/dist/{chunk-WW22FS74.js → chunk-5L3UCHBK.js} +9 -9
- package/dist/{chunk-WW22FS74.js.map → chunk-5L3UCHBK.js.map} +1 -1
- package/dist/{chunk-72DYHOO2.js → chunk-6CTRJADR.js} +5 -5
- package/dist/{chunk-72DYHOO2.js.map → chunk-6CTRJADR.js.map} +1 -1
- package/dist/{chunk-3LAJJURV.js → chunk-6O7KIJUW.js} +5 -5
- package/dist/{chunk-3LAJJURV.js.map → chunk-6O7KIJUW.js.map} +1 -1
- package/dist/{chunk-EGKCKWWE.js → chunk-6PWQJMHM.js} +3 -3
- package/dist/{chunk-EGKCKWWE.js.map → chunk-6PWQJMHM.js.map} +1 -1
- package/dist/{chunk-SMCG4PMP.js → chunk-7D46CRUU.js} +12 -12
- package/dist/{chunk-SMCG4PMP.js.map → chunk-7D46CRUU.js.map} +1 -1
- package/dist/{chunk-IG4YQ7ER.js → chunk-7IKAKXMZ.js} +3 -3
- package/dist/{chunk-IG4YQ7ER.js.map → chunk-7IKAKXMZ.js.map} +1 -1
- package/dist/{chunk-4ZNKEDYH.js → chunk-AS4SKSXJ.js} +5 -5
- package/dist/{chunk-4ZNKEDYH.js.map → chunk-AS4SKSXJ.js.map} +1 -1
- package/dist/{chunk-K4763755.js → chunk-AVB7NLO6.js} +6 -6
- package/dist/{chunk-K4763755.js.map → chunk-AVB7NLO6.js.map} +1 -1
- package/dist/{chunk-MG6QD7GE.js → chunk-DG7OEBLI.js} +6 -6
- package/dist/{chunk-MG6QD7GE.js.map → chunk-DG7OEBLI.js.map} +1 -1
- package/dist/{chunk-4X5WXQV7.js → chunk-DTIR5W6G.js} +3 -3
- package/dist/{chunk-4X5WXQV7.js.map → chunk-DTIR5W6G.js.map} +1 -1
- package/dist/{chunk-PRB67LCK.js → chunk-E2VPBB7C.js} +11 -11
- package/dist/{chunk-PRB67LCK.js.map → chunk-E2VPBB7C.js.map} +1 -1
- package/dist/{chunk-NAQXDTF3.js → chunk-EFCRBVHL.js} +3 -3
- package/dist/{chunk-NAQXDTF3.js.map → chunk-EFCRBVHL.js.map} +1 -1
- package/dist/{chunk-U6UFPOEK.js → chunk-F6EPGAES.js} +62 -24
- package/dist/chunk-F6EPGAES.js.map +1 -0
- package/dist/{chunk-VFEZUSB6.js → chunk-FURORBXE.js} +4 -4
- package/dist/{chunk-VFEZUSB6.js.map → chunk-FURORBXE.js.map} +1 -1
- package/dist/{chunk-BRAOB37W.js → chunk-GXW4B5SE.js} +51 -17
- package/dist/chunk-GXW4B5SE.js.map +1 -0
- package/dist/{chunk-SX54OQQT.js → chunk-HTQLI3OI.js} +4 -4
- package/dist/{chunk-SX54OQQT.js.map → chunk-HTQLI3OI.js.map} +1 -1
- package/dist/{chunk-TYK752MU.js → chunk-HZU5JW2F.js} +3 -3
- package/dist/{chunk-TYK752MU.js.map → chunk-HZU5JW2F.js.map} +1 -1
- package/dist/{chunk-NJ6UCY2B.js → chunk-I46MAK4H.js} +3 -3
- package/dist/{chunk-NJ6UCY2B.js.map → chunk-I46MAK4H.js.map} +1 -1
- package/dist/{chunk-PD42JZWI.js → chunk-K7IV5FY4.js} +2 -2
- package/dist/{chunk-PD42JZWI.js.map → chunk-K7IV5FY4.js.map} +1 -1
- package/dist/{chunk-2SSG5B24.js → chunk-KNOABDPY.js} +4 -4
- package/dist/{chunk-2SSG5B24.js.map → chunk-KNOABDPY.js.map} +1 -1
- package/dist/{chunk-P6FJDT35.js → chunk-LZ6C4YMX.js} +3 -3
- package/dist/{chunk-P6FJDT35.js.map → chunk-LZ6C4YMX.js.map} +1 -1
- package/dist/{chunk-TW5AP6IF.js → chunk-MZEZCRSO.js} +5 -5
- package/dist/{chunk-TW5AP6IF.js.map → chunk-MZEZCRSO.js.map} +1 -1
- package/dist/{chunk-3UYKT62L.js → chunk-N2XZSIJW.js} +244 -19
- package/dist/chunk-N2XZSIJW.js.map +1 -0
- package/dist/{chunk-3CRZJR7E.js → chunk-NZAUPFIM.js} +11 -11
- package/dist/{chunk-3CRZJR7E.js.map → chunk-NZAUPFIM.js.map} +1 -1
- package/dist/{chunk-OD4N5O7V.js → chunk-OLGQHP4R.js} +3 -3
- package/dist/{chunk-OD4N5O7V.js.map → chunk-OLGQHP4R.js.map} +1 -1
- package/dist/{chunk-RPRMD7XV.js → chunk-OMV4ROIO.js} +4 -4
- package/dist/{chunk-RPRMD7XV.js.map → chunk-OMV4ROIO.js.map} +1 -1
- package/dist/{chunk-H3PY5DFL.js → chunk-PC54LSZP.js} +3 -3
- package/dist/{chunk-H3PY5DFL.js.map → chunk-PC54LSZP.js.map} +1 -1
- package/dist/{chunk-U2WPJHRA.js → chunk-QZS7E3DY.js} +4 -4
- package/dist/{chunk-U2WPJHRA.js.map → chunk-QZS7E3DY.js.map} +1 -1
- package/dist/{chunk-S3UOZBGE.js → chunk-SOAQP4BI.js} +3 -3
- package/dist/{chunk-S3UOZBGE.js.map → chunk-SOAQP4BI.js.map} +1 -1
- package/dist/{chunk-FPG36VC4.js → chunk-UIAGUME5.js} +6 -6
- package/dist/{chunk-FPG36VC4.js.map → chunk-UIAGUME5.js.map} +1 -1
- package/dist/{chunk-NNJQQYHY.js → chunk-URN4G32O.js} +2 -2
- package/dist/{chunk-NNJQQYHY.js.map → chunk-URN4G32O.js.map} +1 -1
- package/dist/{chunk-CU5WY6HN.js → chunk-VAO3XYN3.js} +3 -3
- package/dist/{chunk-CU5WY6HN.js.map → chunk-VAO3XYN3.js.map} +1 -1
- package/dist/{chunk-QUIK7L3Z.js → chunk-WNT54WWX.js} +9 -9
- package/dist/{chunk-QUIK7L3Z.js.map → chunk-WNT54WWX.js.map} +1 -1
- package/dist/{chunk-T65N4CIZ.js → chunk-XHWBSC53.js} +4 -4
- package/dist/{chunk-T65N4CIZ.js.map → chunk-XHWBSC53.js.map} +1 -1
- package/dist/{chunk-KDRA6FYE.js → chunk-YKN5S7PO.js} +9 -9
- package/dist/{chunk-KDRA6FYE.js.map → chunk-YKN5S7PO.js.map} +1 -1
- package/dist/{chunk-TVRL3IPZ.js → chunk-ZEUBZV7L.js} +3 -3
- package/dist/{chunk-TVRL3IPZ.js.map → chunk-ZEUBZV7L.js.map} +1 -1
- package/dist/{chunk-U7P22GEB.js → chunk-ZHI3YMGQ.js} +4 -4
- package/dist/{chunk-U7P22GEB.js.map → chunk-ZHI3YMGQ.js.map} +1 -1
- package/dist/{chunk-6M44OQKH.js → chunk-ZKLXJV37.js} +9 -9
- package/dist/{chunk-6M44OQKH.js.map → chunk-ZKLXJV37.js.map} +1 -1
- package/dist/{claude-code-VL6UM7BZ.js → claude-code-K3QSXJ35.js} +4 -4
- package/dist/{claude-code-VL6UM7BZ.js.map → claude-code-K3QSXJ35.js.map} +1 -1
- package/dist/cli/index.js +115 -90
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/plugin-registry-cmd.d.ts.map +1 -1
- package/dist/cli/src/commands/serve-preflight.d.ts +38 -0
- package/dist/cli/src/commands/serve-preflight.d.ts.map +1 -1
- package/dist/cli/src/commands/serve.d.ts +7 -6
- package/dist/cli/src/commands/serve.d.ts.map +1 -1
- package/dist/connectors/config.js +2 -2
- package/dist/connectors/index.js +16 -16
- package/dist/{connectors-7EPJRVLJ.js → connectors-SBV254SC.js} +19 -19
- package/dist/{connectors-7EPJRVLJ.js.map → connectors-SBV254SC.js.map} +1 -1
- package/dist/core/index.js +3 -3
- package/dist/core/runtime-assets.js +2 -2
- package/dist/core/src/model-endpoint-config.d.ts +12 -0
- package/dist/core/src/model-endpoint-config.d.ts.map +1 -0
- package/dist/core/src/workspace-config.d.ts +6 -0
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +1 -1
- package/dist/deploy/index.js +4 -4
- package/dist/{ensure-sources-CI3JQJST.js → ensure-sources-URRZB56T.js} +22 -22
- package/dist/{ensure-sources-CI3JQJST.js.map → ensure-sources-URRZB56T.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +16 -16
- package/dist/factory-assets/connectors/deploy.js +16 -16
- package/dist/factory-assets/connectors/devserver.js +16 -16
- package/dist/factory-assets/connectors/flow/adapter.js +16 -16
- package/dist/factory-assets/connectors/flow/contract/schema.d.ts +2 -2
- package/dist/factory-assets/connectors/flow/engine.js +4 -4
- package/dist/factory-assets/connectors/flow/run-flow.js +17 -17
- package/dist/factory-assets/connectors/flow.js +16 -16
- package/dist/factory-assets/connectors/git.js +16 -16
- package/dist/factory-assets/connectors/gmail.js +16 -16
- package/dist/factory-assets/connectors/googledrive.js +16 -16
- package/dist/factory-assets/connectors/local.js +16 -16
- package/dist/factory-assets/connectors/mattermost.js +16 -16
- package/dist/factory-assets/connectors/memory.js +16 -16
- package/dist/factory-assets/connectors/minio.js +16 -16
- package/dist/factory-assets/connectors/postgres.js +16 -16
- package/dist/factory-assets/connectors/s3.js +16 -16
- package/dist/factory-assets/connectors/sharepoint.js +16 -16
- package/dist/factory-assets/connectors/sqlite.js +16 -16
- package/dist/factory-assets/connectors/static-server.js +16 -16
- package/dist/factory-assets/connectors/tunnel.js +16 -16
- package/dist/factory-assets/connectors/webdav.js +16 -16
- package/dist/factory-assets/connectors/xstate-store.js +16 -16
- package/dist/factory-assets/connectors/xstate.js +16 -16
- package/dist/{flows-6XQAYQS4.js → flows-YGBWX46B.js} +6 -6
- package/dist/{flows-6XQAYQS4.js.map → flows-YGBWX46B.js.map} +1 -1
- package/dist/{helpers-26MR5QPO.js → helpers-5FFJORMD.js} +22 -22
- package/dist/{helpers-26MR5QPO.js.map → helpers-5FFJORMD.js.map} +1 -1
- package/dist/library/index.js +4 -4
- package/dist/{library-publish-YHYGA6G5.js → library-publish-AW4525ZC.js} +39 -39
- package/dist/{library-publish-YHYGA6G5.js.map → library-publish-AW4525ZC.js.map} +1 -1
- package/dist/model-endpoint/index.js +7 -7
- package/dist/model-endpoint/src/server.d.ts.map +1 -1
- package/dist/model-endpoint/src/transform.d.ts +49 -0
- package/dist/model-endpoint/src/transform.d.ts.map +1 -0
- package/dist/model-endpoint/src/types.d.ts +13 -0
- package/dist/model-endpoint/src/types.d.ts.map +1 -1
- package/dist/{open-library-FVV6GG4I.js → open-library-C254HCNL.js} +25 -25
- package/dist/{open-library-FVV6GG4I.js.map → open-library-C254HCNL.js.map} +1 -1
- package/dist/{open-registry-VX2BVMS5.js → open-registry-FI6EO2PN.js} +8 -8
- package/dist/{open-registry-VX2BVMS5.js.map → open-registry-FI6EO2PN.js.map} +1 -1
- package/dist/{paths-PIWSSUUG.js → paths-FYPFJ437.js} +6 -6
- package/dist/{paths-PIWSSUUG.js.map → paths-FYPFJ437.js.map} +1 -1
- package/dist/plugin-registry/index.js +1 -1
- package/dist/plugin-registry/src/context.d.ts +6 -0
- package/dist/plugin-registry/src/context.d.ts.map +1 -1
- package/dist/plugin-registry/src/index.d.ts +4 -3
- package/dist/plugin-registry/src/index.d.ts.map +1 -1
- package/dist/plugin-registry/src/internal.d.ts.map +1 -1
- package/dist/plugin-registry/src/model-transform.d.ts +15 -0
- package/dist/plugin-registry/src/model-transform.d.ts.map +1 -0
- package/dist/plugin-registry/src/registry.d.ts +5 -5
- package/dist/plugin-registry/src/registry.d.ts.map +1 -1
- package/dist/plugin-registry/src/targets.d.ts +17 -2
- package/dist/plugin-registry/src/targets.d.ts.map +1 -1
- package/dist/{plugin-store-MVTW6G7J.js → plugin-store-ITA3IADY.js} +7 -7
- package/dist/{plugin-store-MVTW6G7J.js.map → plugin-store-ITA3IADY.js.map} +1 -1
- package/dist/{project-BOAHGBMI.js → project-7XU7YX3Q.js} +35 -35
- package/dist/{project-BOAHGBMI.js.map → project-7XU7YX3Q.js.map} +1 -1
- package/dist/resolver/index.js +3 -3
- package/dist/runner/composition-content.js +5 -5
- package/dist/runner/index.js +26 -26
- package/dist/runner/src/model-endpoint-discovery.d.ts +18 -0
- package/dist/runner/src/model-endpoint-discovery.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +8 -8
- package/dist/sdk/bridge.js +13 -13
- package/dist/sdk/core.js +3 -3
- package/dist/sdk/flow.js +4 -4
- package/dist/sdk/index.js +26 -26
- package/dist/sdk/resolver.js +3 -3
- package/dist/sdk/runner.js +26 -26
- package/dist/sdk/transport/ws/server.js +4 -4
- package/dist/sdk/transport/ws.js +4 -4
- package/dist/sdk/transport.js +4 -4
- package/dist/{serve-preflight-XJS5OZML.js → serve-preflight-A43HQQXD.js} +81 -25
- package/dist/serve-preflight-A43HQQXD.js.map +1 -0
- package/dist/{setup-BFEBJLYF.js → setup-WD7XTLDA.js} +23 -23
- package/dist/{setup-BFEBJLYF.js.map → setup-WD7XTLDA.js.map} +1 -1
- package/dist/{skills-OCG7B5CL.js → skills-XH6OG32W.js} +5 -5
- package/dist/{skills-OCG7B5CL.js.map → skills-XH6OG32W.js.map} +1 -1
- package/dist/{source-J2MJIHDS.js → source-25TTNBDK.js} +37 -37
- package/dist/{source-J2MJIHDS.js.map → source-25TTNBDK.js.map} +1 -1
- package/dist/{source-manifest-publish-6MYDXCKZ.js → source-manifest-publish-QJTPZQBN.js} +39 -39
- package/dist/{source-manifest-publish-6MYDXCKZ.js.map → source-manifest-publish-QJTPZQBN.js.map} +1 -1
- package/dist/transport/index.js +4 -4
- package/dist/transport/ws/server.js +4 -4
- package/dist/transport/ws.js +4 -4
- package/dist/tui/index.js +26 -26
- package/dist/workspace-plugin/adapters/mcp.js +19 -19
- package/dist/workspace-plugin/adapters/omp.js +14 -14
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-3UYKT62L.js.map +0 -1
- package/dist/chunk-BRAOB37W.js.map +0 -1
- package/dist/chunk-G5SUWZEU.js.map +0 -1
- package/dist/chunk-U6UFPOEK.js.map +0 -1
- package/dist/serve-preflight-XJS5OZML.js.map +0 -1
package/dist/cli/index.js
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { AI_RESOURCES } from '../chunk-
|
|
3
|
-
import { status, enable, disable, install, uninstall } from '../chunk-
|
|
4
|
-
import { makeValidateCommand, scanIdentities, findManifestCandidates } from '../chunk-
|
|
5
|
-
import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-
|
|
6
|
-
import { refreshStaleAgentFiles } from '../chunk-
|
|
7
|
-
import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-
|
|
8
|
-
import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-
|
|
2
|
+
import { AI_RESOURCES } from '../chunk-2QNDAGYL.js';
|
|
3
|
+
import { status, enable, disable, install, uninstall } from '../chunk-I46MAK4H.js';
|
|
4
|
+
import { makeValidateCommand, scanIdentities, findManifestCandidates } from '../chunk-ZKLXJV37.js';
|
|
5
|
+
import { storeNotInstallableReason, mcpNotRunnableHere } from '../chunk-DTIR5W6G.js';
|
|
6
|
+
import { refreshStaleAgentFiles } from '../chunk-6O7KIJUW.js';
|
|
7
|
+
import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError, removeProviderEntry } from '../chunk-MZEZCRSO.js';
|
|
8
|
+
import { makeInstallCommand, makeCheckCommand, makeCleanCommand, pinComposedAgents, reportRewritten, reportReplaced, reportRelocked, reportMoved, reportStoreNotChecked, reportStoreNotCheckedForUpdates, globalProblems, editedConventionFiles, supportsInstallManifest, runYamlInstall, REF_HINT, reportInstalledSoftDeps } from '../chunk-NZAUPFIM.js';
|
|
9
9
|
import { createSpinner } from '../chunk-NESV47MF.js';
|
|
10
|
-
import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-
|
|
11
|
-
import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-
|
|
12
|
-
import { manifestEntryRootRefusals, manifestEntryFilesRefusals, libraryAssetRefusals, manifestEntryRenames, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, exitOnLibrarySymlinks, resolveLibraryPublisherDetailed, getStoreIdentity, warnLibraryNameFallback, indexLibrary, warnIgnoredDomainFiles, removedDomainOption, rejectRemovedDomainOption, requireValidPublisherOrExit, exitOnManifestPublisherProblems, exitOnRootSkillLibrary, findAssetManifestFile, checkAssetFileFull, registerLibraryAsset, DOMAIN_REMOVED_HINT, reportLibrarySymlinks, manifestParseErrorText, runAssetChecks, checkAssetFile, rootLevelAssetFileProblem, manifestPublisherProblems, assetEntryRef, exitOnManifestPathProblems, exitOnRootSkillExtraAssets, manifestRequiresProblems, composeRefContext, registeredAssetKeys, duplicateAssetMessage, manifestParseFailureLine, unresolvedManifestDependencies, findEntryManifestFile, unheldRequiresOfFile, warnLegacyBundleFiles, warnUntrackedAssetFiles, manifestKindOfFile, checkComposeKinds } from '../chunk-
|
|
13
|
-
import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-
|
|
14
|
-
import { getKindRegistry, getKnownKinds } from '../chunk-
|
|
15
|
-
import { logErr, unknownHarnessTargetMessage, S, logOk, setActiveCommand, logInfo, logWarnErr, canonicalHarnessId, noteExperimentalHarness, logWarn, TARGET_DEFAULT_HINT, parseHarnessFilter, requireProjectConfig, deferredWarnings, warnPlaceholderBodies, warnFilesOnlyDelegates, reportLegacyOmpCopies, reportUnknownHarnesses, warnProjectConfig, logNoProject, warnStaleHarnessCopies, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, reportProjectConfig, driverAliasOption, foldDriverFlag, friendlyHarnessError, harnessErrorNotes, agentInstanceErrorLines, formatSoftDepHint, formatRelativeTime, isRecord, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth, KIND_COL_WIDTH } from '../chunk-
|
|
16
|
-
import { loadDeclaredPlugins } from '../chunk-
|
|
10
|
+
import { getStoreConfig, storeFetch, isStoreAuthenticated, getStoreToken } from '../chunk-HTQLI3OI.js';
|
|
11
|
+
import { makeSourceCommand, dropVanishedSourceRows, syncProjectSources, divergedSourceClones, uncachedSources } from '../chunk-7D46CRUU.js';
|
|
12
|
+
import { manifestEntryRootRefusals, manifestEntryFilesRefusals, libraryAssetRefusals, manifestEntryRenames, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, exitOnLibrarySymlinks, resolveLibraryPublisherDetailed, getStoreIdentity, warnLibraryNameFallback, indexLibrary, warnIgnoredDomainFiles, removedDomainOption, rejectRemovedDomainOption, requireValidPublisherOrExit, exitOnManifestPublisherProblems, exitOnRootSkillLibrary, findAssetManifestFile, checkAssetFileFull, registerLibraryAsset, DOMAIN_REMOVED_HINT, reportLibrarySymlinks, manifestParseErrorText, runAssetChecks, checkAssetFile, rootLevelAssetFileProblem, manifestPublisherProblems, assetEntryRef, exitOnManifestPathProblems, exitOnRootSkillExtraAssets, manifestRequiresProblems, composeRefContext, registeredAssetKeys, duplicateAssetMessage, manifestParseFailureLine, unresolvedManifestDependencies, findEntryManifestFile, unheldRequiresOfFile, warnLegacyBundleFiles, warnUntrackedAssetFiles, manifestKindOfFile, checkComposeKinds } from '../chunk-YKN5S7PO.js';
|
|
13
|
+
import { openCatalogSource, LocalCatalogDisabledError, openLibraryManager, openLibrary } from '../chunk-57B4DG3Y.js';
|
|
14
|
+
import { getKindRegistry, getKnownKinds } from '../chunk-QZS7E3DY.js';
|
|
15
|
+
import { logErr, unknownHarnessTargetMessage, S, logOk, setActiveCommand, logInfo, logWarnErr, canonicalHarnessId, noteExperimentalHarness, logWarn, TARGET_DEFAULT_HINT, parseHarnessFilter, requireProjectConfig, deferredWarnings, warnPlaceholderBodies, warnFilesOnlyDelegates, reportLegacyOmpCopies, reportUnknownHarnesses, warnProjectConfig, logNoProject, warnStaleHarnessCopies, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, reportProjectConfig, driverAliasOption, foldDriverFlag, friendlyHarnessError, harnessErrorNotes, agentInstanceErrorLines, formatSoftDepHint, formatRelativeTime, isRecord, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth, KIND_COL_WIDTH } from '../chunk-5L3UCHBK.js';
|
|
16
|
+
import { loadDeclaredPlugins } from '../chunk-XHWBSC53.js';
|
|
17
17
|
import { LocalSecretsProvider } from '../chunk-ILFGVSTJ.js';
|
|
18
|
-
import { resolveInstanceAgentDir, instanceSessionOverrides, loadAgentManifest, manifestModelForHarness, runAgentChat, resolveSessionId, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, hashAgentFiles, instanceForSession, resolveAgentInstance, MarkdownStreamer, createFinalTextFallback, describeComposition } from '../chunk-
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
21
|
-
import '../chunk-
|
|
22
|
-
import '../chunk-
|
|
18
|
+
import { resolveInstanceAgentDir, instanceSessionOverrides, loadAgentManifest, manifestModelForHarness, runAgentChat, resolveSessionId, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, hashAgentFiles, instanceForSession, resolveAgentInstance, MarkdownStreamer, createFinalTextFallback, describeComposition } from '../chunk-F6EPGAES.js';
|
|
19
|
+
import '../chunk-URN4G32O.js';
|
|
20
|
+
import '../chunk-4CVRFWEY.js';
|
|
21
|
+
import '../chunk-ZEUBZV7L.js';
|
|
22
|
+
import '../chunk-K7IV5FY4.js';
|
|
23
23
|
import '../chunk-WYZXSJBK.js';
|
|
24
24
|
import '../chunk-SMFZ5YGN.js';
|
|
25
25
|
import '../chunk-3A7JUOY2.js';
|
|
26
26
|
import '../chunk-KW37WNXY.js';
|
|
27
27
|
import '../chunk-3MWQKQUB.js';
|
|
28
|
-
import '../chunk-
|
|
28
|
+
import '../chunk-N2XZSIJW.js';
|
|
29
29
|
import '../chunk-O7SG5PC2.js';
|
|
30
30
|
import '../chunk-7QBNJTTQ.js';
|
|
31
31
|
import '../chunk-O2SYFJWP.js';
|
|
32
|
-
import '../chunk-
|
|
32
|
+
import '../chunk-VAO3XYN3.js';
|
|
33
33
|
import '../chunk-32NA4TVC.js';
|
|
34
34
|
import '../chunk-W3UDISS2.js';
|
|
35
|
-
import { runFlow, resumeFlow } from '../chunk-
|
|
35
|
+
import { runFlow, resumeFlow } from '../chunk-AVB7NLO6.js';
|
|
36
36
|
import '../chunk-4R6DROGN.js';
|
|
37
37
|
import { parseSkillRequirements, validateRequirements } from '../chunk-M7XIYHWB.js';
|
|
38
38
|
import '../chunk-SFBLZOV5.js';
|
|
39
|
-
import '../chunk-
|
|
39
|
+
import '../chunk-WNT54WWX.js';
|
|
40
40
|
import '../chunk-6HTN2UIJ.js';
|
|
41
|
-
import '../chunk-
|
|
42
|
-
import { preflight, detectHarnesses } from '../chunk-
|
|
43
|
-
import '../chunk-
|
|
44
|
-
import '../chunk-
|
|
45
|
-
import '../chunk-
|
|
41
|
+
import '../chunk-PC54LSZP.js';
|
|
42
|
+
import { preflight, detectHarnesses } from '../chunk-E2VPBB7C.js';
|
|
43
|
+
import '../chunk-KNOABDPY.js';
|
|
44
|
+
import '../chunk-OLGQHP4R.js';
|
|
45
|
+
import '../chunk-6CTRJADR.js';
|
|
46
46
|
import '../chunk-5KSGZP3E.js';
|
|
47
47
|
import '../chunk-7EKQDY2T.js';
|
|
48
48
|
import '../chunk-HXST2IYJ.js';
|
|
49
49
|
import '../chunk-U7EZ2WSC.js';
|
|
50
|
-
import '../chunk-
|
|
50
|
+
import '../chunk-FURORBXE.js';
|
|
51
51
|
import '../chunk-NBAGV6L2.js';
|
|
52
|
-
import '../chunk-
|
|
52
|
+
import '../chunk-4YVQGPZ5.js';
|
|
53
53
|
import '../chunk-YKD2MYLU.js';
|
|
54
54
|
import '../chunk-5DE3DGVR.js';
|
|
55
55
|
import '../chunk-7DN6JKP2.js';
|
|
56
|
-
import '../chunk-
|
|
57
|
-
import { listHarnesses } from '../chunk-
|
|
58
|
-
import '../chunk-
|
|
59
|
-
import '../chunk-
|
|
56
|
+
import '../chunk-EFCRBVHL.js';
|
|
57
|
+
import { listHarnesses } from '../chunk-SOAQP4BI.js';
|
|
58
|
+
import '../chunk-3ZY6W7CL.js';
|
|
59
|
+
import '../chunk-6PWQJMHM.js';
|
|
60
60
|
import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-6UP2EDFN.js';
|
|
61
61
|
import '../chunk-IFGTRL2I.js';
|
|
62
|
-
import { loadFlow, flowLookupRoots, findFlowFileInRoots, loadAllFlowEntries } from '../chunk-
|
|
62
|
+
import { loadFlow, flowLookupRoots, findFlowFileInRoots, loadAllFlowEntries } from '../chunk-3O3HWR23.js';
|
|
63
63
|
import '../chunk-WD3L5QSU.js';
|
|
64
64
|
import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, nodeAssets } from '../chunk-7RGTAEG6.js';
|
|
65
65
|
import '../chunk-JPV4WE5L.js';
|
|
66
|
-
import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, readHarnessSwitchState } from '../chunk-
|
|
66
|
+
import { setLibraryAssetCheck, setRenamedEntryLookup, LibraryEntryError, AssetManager, parseRefTolerant, MissingManifestError, writeHarnessSwitchState, harnessSwitchKeptKey, parseCanonicalLockKey, readHarnessSwitchState } from '../chunk-4BVE6JTM.js';
|
|
67
67
|
import '../chunk-ISHJITXJ.js';
|
|
68
68
|
import '../chunk-LNFKL23K.js';
|
|
69
69
|
import '../chunk-JRN5QF4C.js';
|
|
70
70
|
import '../chunk-NUELZWCF.js';
|
|
71
|
-
import { installTargetOf, SCAFFOLD_KINDS, assembleAgentPrompt } from '../chunk-
|
|
71
|
+
import { installTargetOf, SCAFFOLD_KINDS, assembleAgentPrompt } from '../chunk-DG7OEBLI.js';
|
|
72
72
|
import '../chunk-2PJYJPDE.js';
|
|
73
73
|
import '../chunk-PKE3PXOK.js';
|
|
74
|
-
import { isCompositionError, createCompositionContentSource, compileComposition, agentPromptInput } from '../chunk-
|
|
75
|
-
import { CatalogHttpError, OfflineError, libraryDirMissing, missingLibraryDirMessage, cloneOrInitGitRepo, trackOriginBranch, stampManifestPublisher, addMissingEntryVersions, isGitRepo, ensureGitRepo, conflictingAssetRoot, scanUnlistedAssets, setManifestPublisher, LIBRARY_OWNERSHIPS, assertManifestEditable, installLibraryAsset, getStoreManifestsDir, assertValidLibraryName, unparsableAssetFiles, missingRootAssets, syncManifestWithDisk, renamedLibraryName, storeManifestFile, getDefaultValue, isSecretPlaceholder } from '../chunk-
|
|
74
|
+
import { isCompositionError, createCompositionContentSource, compileComposition, agentPromptInput } from '../chunk-AS4SKSXJ.js';
|
|
75
|
+
import { CatalogHttpError, OfflineError, libraryDirMissing, missingLibraryDirMessage, cloneOrInitGitRepo, trackOriginBranch, stampManifestPublisher, addMissingEntryVersions, isGitRepo, ensureGitRepo, conflictingAssetRoot, scanUnlistedAssets, setManifestPublisher, LIBRARY_OWNERSHIPS, assertManifestEditable, installLibraryAsset, getStoreManifestsDir, assertValidLibraryName, unparsableAssetFiles, missingRootAssets, syncManifestWithDisk, renamedLibraryName, storeManifestFile, getDefaultValue, isSecretPlaceholder } from '../chunk-OMV4ROIO.js';
|
|
76
76
|
import { parseManifestFile, flowFileNameError, SEMVER_RE } from '../chunk-QUPZKTF3.js';
|
|
77
77
|
import '../chunk-ZQPBYLCS.js';
|
|
78
78
|
import '../chunk-F3D25RGM.js';
|
|
79
79
|
import '../chunk-3TXEJN4W.js';
|
|
80
80
|
import '../chunk-LKBRBVVS.js';
|
|
81
81
|
import '../chunk-UQ6LFBPZ.js';
|
|
82
|
-
import { CODEX_IDENTITY_DIR } from '../chunk-
|
|
83
|
-
import { LockParseError, loadSettings, globalSettingsPath, resolveSettings, projectSettingsPath, saveSettings, modelForHarness, WorkspaceYamlEditor, readLock, resolveLibraryDir, identityFindings, assetPathProblem, checkAgentSkillConformance, resolveSettingsWithSources, resolveConfiguredHarnessName, FACTORY_SOURCE_URL, globalInstallDir, GLOBAL_INSTALL_DIR_NAME, workspaceProviderRegistryPath, userProviderRegistryPath, loadProviderRegistryFile, aiResourceRoots } from '../chunk-
|
|
82
|
+
import { CODEX_IDENTITY_DIR } from '../chunk-7IKAKXMZ.js';
|
|
83
|
+
import { LockParseError, loadSettings, globalSettingsPath, resolveSettings, projectSettingsPath, saveSettings, modelForHarness, WorkspaceYamlEditor, readLock, resolveLibraryDir, identityFindings, assetPathProblem, checkAgentSkillConformance, resolveSettingsWithSources, resolveConfiguredHarnessName, FACTORY_SOURCE_URL, globalInstallDir, GLOBAL_INSTALL_DIR_NAME, workspaceProviderRegistryPath, userProviderRegistryPath, loadProviderRegistryFile, aiResourceRoots } from '../chunk-ZHI3YMGQ.js';
|
|
84
84
|
import '../chunk-4GY63JU6.js';
|
|
85
|
-
import { factoryAssetRoots } from '../chunk-
|
|
85
|
+
import { factoryAssetRoots } from '../chunk-52HUF3DF.js';
|
|
86
86
|
import { deployedPaths, deployedBase, deployedDir } from '../chunk-5KRMNUL4.js';
|
|
87
87
|
import { DEFAULT_HARNESS_ID, HARNESS_DEFAULTS } from '../chunk-C5HFK34M.js';
|
|
88
88
|
import { findKindDirs } from '../chunk-MWXYN6NY.js';
|
|
89
|
-
import { SourceEntryError, LegacyKeyError, ConfigParseError, resolveSkWorkspaceConfig, unselectedInstanceIds, instanceChoiceText, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, AgentRefResolutionError, repoIdentity, resolveAgentDefinitionDir, effectiveAgentInstances, sameRepo, matchPin, coerceVersion, loadSkWorkspaceConfig, configParseErrorOf, findWorkspaceRoot, isWorkspaceConfigFilename, SKAILE_YAML_DEFAULT, AGENT_PROFILE_FIELDS } from '../chunk-
|
|
89
|
+
import { SourceEntryError, LegacyKeyError, ConfigParseError, resolveSkWorkspaceConfig, unselectedInstanceIds, instanceChoiceText, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, AgentRefResolutionError, repoIdentity, resolveAgentDefinitionDir, effectiveAgentInstances, sameRepo, matchPin, coerceVersion, loadSkWorkspaceConfig, configParseErrorOf, findWorkspaceRoot, isWorkspaceConfigFilename, SKAILE_YAML_DEFAULT, AGENT_PROFILE_FIELDS } from '../chunk-GXW4B5SE.js';
|
|
90
90
|
import { globalCacheRoot, globalSkaileDir, userConfigPath } from '../chunk-L5VSIPQD.js';
|
|
91
91
|
import { HARNESS_TARGETS, SUPPORTED_HARNESSES, harnessNameForHarnessId } from '../chunk-VTETQCR6.js';
|
|
92
92
|
import { loadSkPublishManifest, SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, LIBRARY_GITIGNORE, librarySymlinkMessage, isNonAssetPath, isNonAssetDir, encodeSkaileManifest } from '../chunk-PMXTBWFD.js';
|
|
@@ -267,7 +267,7 @@ async function runSearch(kind, query, opts) {
|
|
|
267
267
|
}
|
|
268
268
|
}
|
|
269
269
|
async function searchIndex(query, kind, projectDir) {
|
|
270
|
-
const { openLibrary: openLibrary2 } = await import('../open-library-
|
|
270
|
+
const { openLibrary: openLibrary2 } = await import('../open-library-C254HCNL.js');
|
|
271
271
|
const library = await openLibrary2();
|
|
272
272
|
try {
|
|
273
273
|
const { libraryDirMissing: libraryDirMissing2 } = await import('../library/index.js');
|
|
@@ -443,14 +443,14 @@ async function withAddVersions(entries, projectDir) {
|
|
|
443
443
|
}
|
|
444
444
|
async function searchLocal(query, kind, opts, showStore, airGapped) {
|
|
445
445
|
const projectDir = path19__default.resolve(opts.projectDir);
|
|
446
|
-
const { restoreSourceReaders } = await import('../source-
|
|
446
|
+
const { restoreSourceReaders } = await import('../source-25TTNBDK.js');
|
|
447
447
|
for (const name of await restoreSourceReaders(projectDir)) {
|
|
448
448
|
logInfo(`Re-registered source "${name}" (its library entry was removed elsewhere).`);
|
|
449
449
|
}
|
|
450
450
|
const factory = await searchFactory(projectDir, query, kind);
|
|
451
451
|
let entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
|
|
452
452
|
if (entries.length === 0 && !query && !kind && !airGapped) {
|
|
453
|
-
const { autoSyncForSearch } = await import('../source-
|
|
453
|
+
const { autoSyncForSearch } = await import('../source-25TTNBDK.js');
|
|
454
454
|
if (await autoSyncForSearch(projectDir)) {
|
|
455
455
|
entries = unionEntries(await searchIndex(query, kind, projectDir), factory);
|
|
456
456
|
}
|
|
@@ -571,7 +571,7 @@ async function searchStore(query, kind, opts, airGapped) {
|
|
|
571
571
|
logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
|
|
572
572
|
return "skipped";
|
|
573
573
|
}
|
|
574
|
-
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-
|
|
574
|
+
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-C254HCNL.js');
|
|
575
575
|
try {
|
|
576
576
|
const remote = await openCatalogSource2({ projectDir: path19__default.resolve(opts.projectDir) });
|
|
577
577
|
const assets = await remote.listAssets(kind ? { kind } : {});
|
|
@@ -1181,7 +1181,7 @@ async function resolveInfoEntry(am2, ref, opts) {
|
|
|
1181
1181
|
return { entry: match ?? deployed, deployed: true };
|
|
1182
1182
|
}
|
|
1183
1183
|
const lookup = opts.storeLookup ?? (async (filter) => {
|
|
1184
|
-
const { resolveCatalogSource } = await import('../open-library-
|
|
1184
|
+
const { resolveCatalogSource } = await import('../open-library-C254HCNL.js');
|
|
1185
1185
|
const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
|
|
1186
1186
|
try {
|
|
1187
1187
|
return await source.listAssets(filter);
|
|
@@ -1197,7 +1197,7 @@ async function resolveInfoEntry(am2, ref, opts) {
|
|
|
1197
1197
|
);
|
|
1198
1198
|
return { entry: hit ? catalogAssetToEntry(hit) : null };
|
|
1199
1199
|
} catch (err) {
|
|
1200
|
-
const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-
|
|
1200
|
+
const { LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-C254HCNL.js');
|
|
1201
1201
|
const storeNote = err instanceof Error ? err.message : String(err);
|
|
1202
1202
|
const disabled = err instanceof LocalCatalogDisabledError2 || /catalog\.url/i.test(storeNote);
|
|
1203
1203
|
return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
|
|
@@ -2013,7 +2013,7 @@ function makeCatalogCommand() {
|
|
|
2013
2013
|
return catalog;
|
|
2014
2014
|
}
|
|
2015
2015
|
async function runLocalCatalogTest(projectDir) {
|
|
2016
|
-
const { resolveCatalogSource } = await import('../open-library-
|
|
2016
|
+
const { resolveCatalogSource } = await import('../open-library-C254HCNL.js');
|
|
2017
2017
|
let resolved;
|
|
2018
2018
|
try {
|
|
2019
2019
|
resolved = await resolveCatalogSource({ projectDir });
|
|
@@ -2189,7 +2189,7 @@ async function scanLibraryFlowEntries() {
|
|
|
2189
2189
|
const { LocalIndex, resolveIndexPath, scanAuthoringLibraries } = await import('../library/index.js');
|
|
2190
2190
|
const indexPath = resolveIndexPath();
|
|
2191
2191
|
if (!existsSync(indexPath)) return entries;
|
|
2192
|
-
const { getKindRegistry: getKindRegistry2 } = await import('../open-registry-
|
|
2192
|
+
const { getKindRegistry: getKindRegistry2 } = await import('../open-registry-FI6EO2PN.js');
|
|
2193
2193
|
const index = new LocalIndex({ indexPath });
|
|
2194
2194
|
try {
|
|
2195
2195
|
for (const { library, assets } of await scanAuthoringLibraries(index, getKindRegistry2())) {
|
|
@@ -3383,7 +3383,7 @@ async function ensureTargetsRegistered(projectDir) {
|
|
|
3383
3383
|
const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
|
|
3384
3384
|
const config = resolveSkWorkspaceConfig2(projectDir);
|
|
3385
3385
|
if (config.plugins && config.plugins.length > 0) {
|
|
3386
|
-
const { ensurePluginsLoaded } = await import('../plugin-store-
|
|
3386
|
+
const { ensurePluginsLoaded } = await import('../plugin-store-ITA3IADY.js');
|
|
3387
3387
|
const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
|
|
3388
3388
|
for (const f of result.failed) logWarn(f.error);
|
|
3389
3389
|
}
|
|
@@ -5150,7 +5150,7 @@ function remoteBranches(url) {
|
|
|
5150
5150
|
return r.stdout.split("\n").map((line) => line.split(" ")[1]?.replace(/^refs\/heads\//, "")).filter((b) => !!b);
|
|
5151
5151
|
}
|
|
5152
5152
|
async function warnIfNotGithubRemote(name, url) {
|
|
5153
|
-
const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-
|
|
5153
|
+
const { isGithubRemote, notGithubRemoteMessage } = await import('../library-publish-AW4525ZC.js');
|
|
5154
5154
|
if (!isGithubRemote(url)) logWarn(notGithubRemoteMessage(name, url));
|
|
5155
5155
|
}
|
|
5156
5156
|
function scaffoldLibraryFiles(dir, name) {
|
|
@@ -6009,16 +6009,16 @@ function makeLibraryCommand() {
|
|
|
6009
6009
|
"With --create-repo: create the repo private (the store only accepts public repos)"
|
|
6010
6010
|
).option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; push nothing and call no store endpoint").action(
|
|
6011
6011
|
async (lib, opts) => {
|
|
6012
|
-
const { runLibraryPublish } = await import('../library-publish-
|
|
6012
|
+
const { runLibraryPublish } = await import('../library-publish-AW4525ZC.js');
|
|
6013
6013
|
await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
|
|
6014
6014
|
}
|
|
6015
6015
|
);
|
|
6016
6016
|
cmd.command("register <lib>").description("Register the library's manifest without pushing (bytes already on github)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; call no store endpoint").action(async (lib, opts) => {
|
|
6017
|
-
const { runLibraryRegister } = await import('../library-publish-
|
|
6017
|
+
const { runLibraryRegister } = await import('../library-publish-AW4525ZC.js');
|
|
6018
6018
|
await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
|
|
6019
6019
|
});
|
|
6020
6020
|
cmd.command("yank <lib>").description("Retract the library's published assets from the store").option("--asset <ref>", "Yank only the single asset matching this ref/name").action(async (lib, opts) => {
|
|
6021
|
-
const { runLibraryYank } = await import('../library-publish-
|
|
6021
|
+
const { runLibraryYank } = await import('../library-publish-AW4525ZC.js');
|
|
6022
6022
|
await withStoreErrorHandling(() => runLibraryYank(lib, opts));
|
|
6023
6023
|
});
|
|
6024
6024
|
return cmd;
|
|
@@ -6678,7 +6678,7 @@ function scheduleSoftDepPreview() {
|
|
|
6678
6678
|
}
|
|
6679
6679
|
async function loadAssets() {
|
|
6680
6680
|
softDepPreviewCache.clear();
|
|
6681
|
-
const { gatherAssetFeeds } = await import('../asset-feeds-
|
|
6681
|
+
const { gatherAssetFeeds } = await import('../asset-feeds-W4A2UFNX.js');
|
|
6682
6682
|
const { entries, notes } = await gatherAssetFeeds(am, am.projectDir);
|
|
6683
6683
|
if (notes.length > 0) {
|
|
6684
6684
|
state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
|
|
@@ -6882,7 +6882,7 @@ function reconcileCollapsedSets(rows) {
|
|
|
6882
6882
|
async function loadSourcesAndLibraries() {
|
|
6883
6883
|
try {
|
|
6884
6884
|
const [{ openLibraryManager: openLibraryManager2 }, { getGlobalCacheDir: getGlobalCacheDir2, globalSkaileDir: globalSkaileDir2 }] = await Promise.all([
|
|
6885
|
-
import('../open-library-
|
|
6885
|
+
import('../open-library-C254HCNL.js'),
|
|
6886
6886
|
import('../core/index.js')
|
|
6887
6887
|
]);
|
|
6888
6888
|
const { manager, library, close } = await openLibraryManager2();
|
|
@@ -10039,14 +10039,14 @@ function action2(fn) {
|
|
|
10039
10039
|
try {
|
|
10040
10040
|
await fn(...args);
|
|
10041
10041
|
} catch (err) {
|
|
10042
|
-
const { condensePluginFailure } = await import('../plugin-store-
|
|
10042
|
+
const { condensePluginFailure } = await import('../plugin-store-ITA3IADY.js');
|
|
10043
10043
|
logErr(condensePluginFailure(err instanceof Error ? err.message : String(err)));
|
|
10044
10044
|
process.exitCode = 1;
|
|
10045
10045
|
}
|
|
10046
10046
|
};
|
|
10047
10047
|
}
|
|
10048
10048
|
async function reconcileAndReport(projectDir, plugins, opts = {}) {
|
|
10049
|
-
const { reconcilePlugins } = await import('../plugin-store-
|
|
10049
|
+
const { reconcilePlugins } = await import('../plugin-store-ITA3IADY.js');
|
|
10050
10050
|
if (plugins.length === 0) {
|
|
10051
10051
|
logInfo("No plugins declared \u2014 nothing to reconcile.");
|
|
10052
10052
|
return;
|
|
@@ -10057,14 +10057,14 @@ async function reconcileAndReport(projectDir, plugins, opts = {}) {
|
|
|
10057
10057
|
else logInfo(`Plugin store ${result.reason}.`);
|
|
10058
10058
|
} catch (err) {
|
|
10059
10059
|
if (opts.strict) throw err;
|
|
10060
|
-
const { condensePluginFailure } = await import('../plugin-store-
|
|
10060
|
+
const { condensePluginFailure } = await import('../plugin-store-ITA3IADY.js');
|
|
10061
10061
|
logWarn(
|
|
10062
10062
|
`reconcile skipped: ${condensePluginFailure(err instanceof Error ? err.message : String(err))}`
|
|
10063
10063
|
);
|
|
10064
10064
|
}
|
|
10065
10065
|
}
|
|
10066
10066
|
async function verifyPluginLoads(projectDir, spec, declared) {
|
|
10067
|
-
const { loadPlugins } = await import('../plugin-store-
|
|
10067
|
+
const { loadPlugins } = await import('../plugin-store-ITA3IADY.js');
|
|
10068
10068
|
const { createPluginRegistry } = await import('../plugin-registry/index.js');
|
|
10069
10069
|
const registry = createPluginRegistry();
|
|
10070
10070
|
await loadPlugins(
|
|
@@ -10087,7 +10087,7 @@ async function runInstall2(typedSpec, opts) {
|
|
|
10087
10087
|
const rawSpec = typedSpec.trim();
|
|
10088
10088
|
const projectDir = path19__default.resolve(opts.projectDir);
|
|
10089
10089
|
const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
|
|
10090
|
-
const { specName, rollbackPluginStore, npmSpecError, projectRelativeFileSpec } = await import('../plugin-store-
|
|
10090
|
+
const { specName, rollbackPluginStore, npmSpecError, projectRelativeFileSpec } = await import('../plugin-store-ITA3IADY.js');
|
|
10091
10091
|
const specError = npmSpecError(rawSpec);
|
|
10092
10092
|
if (specError) throw new Error(specError);
|
|
10093
10093
|
const spec = projectRelativeFileSpec(rawSpec, process.cwd(), projectDir);
|
|
@@ -10124,7 +10124,7 @@ async function runInstall2(typedSpec, opts) {
|
|
|
10124
10124
|
async function runRemove(name, opts) {
|
|
10125
10125
|
const projectDir = path19__default.resolve(opts.projectDir);
|
|
10126
10126
|
const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
|
|
10127
|
-
const { specName } = await import('../plugin-store-
|
|
10127
|
+
const { specName } = await import('../plugin-store-ITA3IADY.js');
|
|
10128
10128
|
const yamlPath = path19__default.join(projectDir, "skaile.yaml");
|
|
10129
10129
|
if (!existsSync(yamlPath)) {
|
|
10130
10130
|
logInfo(`No plugin matching ${S.cmd(name)}: there is no skaile.yaml in ${projectDir}.`);
|
|
@@ -10140,7 +10140,7 @@ async function runRemove(name, opts) {
|
|
|
10140
10140
|
logOk(`Removed ${S.cmd(name)} from skaile.yaml plugins`);
|
|
10141
10141
|
const remaining = editor.getPlugins();
|
|
10142
10142
|
if (remaining.length === 0) {
|
|
10143
|
-
const { rollbackPluginStore } = await import('../plugin-store-
|
|
10143
|
+
const { rollbackPluginStore } = await import('../plugin-store-ITA3IADY.js');
|
|
10144
10144
|
await rollbackPluginStore(projectDir, []);
|
|
10145
10145
|
logInfo("No plugins declared; removed .skaile/plugins/.");
|
|
10146
10146
|
return;
|
|
@@ -10163,7 +10163,7 @@ async function runList(opts) {
|
|
|
10163
10163
|
const registry = createPluginRegistry();
|
|
10164
10164
|
if (declared.length > 0) {
|
|
10165
10165
|
try {
|
|
10166
|
-
const { loadPlugins } = await import('../plugin-store-
|
|
10166
|
+
const { loadPlugins } = await import('../plugin-store-ITA3IADY.js');
|
|
10167
10167
|
const result = await loadPlugins(projectDir, declared, registry);
|
|
10168
10168
|
for (const f of result.failed) logWarn(f.error);
|
|
10169
10169
|
} catch (err) {
|
|
@@ -10173,7 +10173,8 @@ async function runList(opts) {
|
|
|
10173
10173
|
const kinds = [
|
|
10174
10174
|
{ kind: "harness", label: "harnesses" },
|
|
10175
10175
|
{ kind: "connector", label: "connectors" },
|
|
10176
|
-
{ kind: "deployTarget", label: "deploy targets" }
|
|
10176
|
+
{ kind: "deployTarget", label: "deploy targets" },
|
|
10177
|
+
{ kind: "modelTransform", label: "model transforms" }
|
|
10177
10178
|
];
|
|
10178
10179
|
console.log();
|
|
10179
10180
|
console.log(S.heading(" Contributed targets:"));
|
|
@@ -10189,7 +10190,7 @@ async function runList(opts) {
|
|
|
10189
10190
|
}
|
|
10190
10191
|
function makePluginCommand() {
|
|
10191
10192
|
const cmd = new Command("plugin").description(
|
|
10192
|
-
"Manage registry plugins (harnesses / connectors / deploy targets) declared in skaile.yaml"
|
|
10193
|
+
"Manage registry plugins (harnesses / connectors / deploy targets / model transforms) declared in skaile.yaml"
|
|
10193
10194
|
);
|
|
10194
10195
|
cmd.command("install <spec>").description("Add a plugin spec to skaile.yaml plugins and reconcile the store").option("--project-dir <path>", "Project directory", process.cwd()).action(action2(runInstall2));
|
|
10195
10196
|
cmd.command("remove <name>").description("Remove a plugin (by package name) from skaile.yaml plugins and reconcile").option("--project-dir <path>", "Project directory", process.cwd()).action(action2(runRemove));
|
|
@@ -11739,15 +11740,23 @@ function valueNotFlag(flag) {
|
|
|
11739
11740
|
function parseProviderIds(raw) {
|
|
11740
11741
|
return (raw ?? "").split(",").map((id) => id.trim()).filter((id) => id.length > 0);
|
|
11741
11742
|
}
|
|
11742
|
-
function parseModelEndpointFlag(raw, agent) {
|
|
11743
|
-
const
|
|
11744
|
-
|
|
11745
|
-
|
|
11743
|
+
function parseModelEndpointFlag(raw, agent, transforms) {
|
|
11744
|
+
const override = {
|
|
11745
|
+
...agent === true ? { agent: true } : {},
|
|
11746
|
+
...transforms && transforms.length > 0 ? { transforms: Object.fromEntries(transforms.map((id) => [id, {}])) } : {}
|
|
11747
|
+
};
|
|
11748
|
+
if (raw === void 0) {
|
|
11749
|
+
return Object.keys(override).length > 0 ? { enabled: true, ...override } : void 0;
|
|
11750
|
+
}
|
|
11751
|
+
if (raw === true) return { enabled: true, ...override };
|
|
11746
11752
|
const port = Number(raw);
|
|
11747
11753
|
if (raw === false || !/^\d+$/.test(raw) || port > 65535) {
|
|
11748
11754
|
throw new Error(`--model-endpoint: invalid port '${String(raw)}'`);
|
|
11749
11755
|
}
|
|
11750
|
-
return { enabled: true, port, ...
|
|
11756
|
+
return { enabled: true, port, ...override };
|
|
11757
|
+
}
|
|
11758
|
+
function collectTransformId(value, acc) {
|
|
11759
|
+
return [...acc, value];
|
|
11751
11760
|
}
|
|
11752
11761
|
function parsePortOption(raw) {
|
|
11753
11762
|
const port = Number(raw);
|
|
@@ -11818,6 +11827,11 @@ function makeServeCommand() {
|
|
|
11818
11827
|
).option(
|
|
11819
11828
|
"--model-endpoint-agent",
|
|
11820
11829
|
"Also offer the running agent as the model `skaile-agent` on the model endpoint (implies --model-endpoint)"
|
|
11830
|
+
).option(
|
|
11831
|
+
"--model-endpoint-transform <id>",
|
|
11832
|
+
"Serve the model transform <id> as pseudo-models `<id>/<providerId>/<model>` on the model endpoint (repeatable; implies --model-endpoint; the plugin that registers <id> must be in plugins:)",
|
|
11833
|
+
collectTransformId,
|
|
11834
|
+
[]
|
|
11821
11835
|
).option("--compile-test", "Build a compiled binary and run it (simulates Docker environment)").option(
|
|
11822
11836
|
"--with-codex",
|
|
11823
11837
|
"Include the Codex harness in the compiled binary (used with --compile-test)"
|
|
@@ -11849,7 +11863,7 @@ function makeServeCommand() {
|
|
|
11849
11863
|
process.exitCode = 1;
|
|
11850
11864
|
return;
|
|
11851
11865
|
}
|
|
11852
|
-
const dirProblem = (await import('../serve-preflight-
|
|
11866
|
+
const dirProblem = (await import('../serve-preflight-A43HQQXD.js')).checkServeProjectDir(
|
|
11853
11867
|
opts.projectDir
|
|
11854
11868
|
);
|
|
11855
11869
|
if (dirProblem) {
|
|
@@ -11878,7 +11892,7 @@ function makeServeCommand() {
|
|
|
11878
11892
|
}
|
|
11879
11893
|
let providers = parseProviderIds(opts.providers);
|
|
11880
11894
|
if (!managedCodex) {
|
|
11881
|
-
const { resolveServeProvider } = await import('../serve-preflight-
|
|
11895
|
+
const { resolveServeProvider } = await import('../serve-preflight-A43HQQXD.js');
|
|
11882
11896
|
const picked = resolveServeProvider(opts.projectDir, opts.provider, providers);
|
|
11883
11897
|
if ("problem" in picked) {
|
|
11884
11898
|
logErr(picked.problem);
|
|
@@ -11887,17 +11901,24 @@ function makeServeCommand() {
|
|
|
11887
11901
|
}
|
|
11888
11902
|
providers = [...picked.providers];
|
|
11889
11903
|
}
|
|
11890
|
-
const modelEndpoint = parseModelEndpointFlag(
|
|
11904
|
+
const modelEndpoint = parseModelEndpointFlag(
|
|
11905
|
+
opts.modelEndpoint,
|
|
11906
|
+
opts.modelEndpointAgent,
|
|
11907
|
+
opts.modelEndpointTransform
|
|
11908
|
+
);
|
|
11891
11909
|
if (!managedCodex) {
|
|
11892
11910
|
const { preflight: preflight2 } = await import('../bridge/index.js');
|
|
11893
11911
|
const {
|
|
11894
11912
|
agentRefLookups,
|
|
11895
11913
|
checkModelEndpointPeer,
|
|
11914
|
+
checkModelTransforms,
|
|
11896
11915
|
checkServeConnectors,
|
|
11916
|
+
checkServeEndpointModel,
|
|
11917
|
+
isEndpointModel,
|
|
11897
11918
|
resolveServeStart,
|
|
11898
11919
|
serveAgentRef,
|
|
11899
11920
|
servesLocalRegistry
|
|
11900
|
-
} = await import('../serve-preflight-
|
|
11921
|
+
} = await import('../serve-preflight-A43HQQXD.js');
|
|
11901
11922
|
const { harness, model } = await resolveServeStart(opts.projectDir, {
|
|
11902
11923
|
harness: opts.harness,
|
|
11903
11924
|
model: opts.model
|
|
@@ -11913,7 +11934,11 @@ function makeServeCommand() {
|
|
|
11913
11934
|
agentRefs: agentRefLookups
|
|
11914
11935
|
}
|
|
11915
11936
|
))[0]?.line;
|
|
11916
|
-
const
|
|
11937
|
+
const modelProblem = async (served) => isEndpointModel(served) ? checkServeEndpointModel(opts.projectDir, served, {
|
|
11938
|
+
providers,
|
|
11939
|
+
...modelEndpoint ? { modelEndpoint } : {}
|
|
11940
|
+
}) : await stage(["refusal", "readiness"]);
|
|
11941
|
+
const problem = await stage(["harness", "agent"], serveAgentRef(opts.projectDir)) ?? await checkServeConnectors(opts.projectDir) ?? await stage(["start"]) ?? await checkModelEndpointPeer(opts.projectDir, modelEndpoint) ?? await checkModelTransforms(opts.projectDir, modelEndpoint) ?? (model && servesLocalRegistry(opts.projectDir) ? await modelProblem(model) : void 0);
|
|
11917
11942
|
if (problem) {
|
|
11918
11943
|
logErr(problem);
|
|
11919
11944
|
process.exitCode = 1;
|
|
@@ -11922,7 +11947,7 @@ function makeServeCommand() {
|
|
|
11922
11947
|
}
|
|
11923
11948
|
try {
|
|
11924
11949
|
if (!managedCodex) {
|
|
11925
|
-
const { refreshStaleAgentFiles: refreshStaleAgentFiles2 } = await import('../agent-file-refresh-
|
|
11950
|
+
const { refreshStaleAgentFiles: refreshStaleAgentFiles2 } = await import('../agent-file-refresh-RZWE25KN.js');
|
|
11926
11951
|
await refreshStaleAgentFiles2({ projectDir: opts.projectDir, harness: opts.harness });
|
|
11927
11952
|
}
|
|
11928
11953
|
await startAgentServer({
|
|
@@ -11962,12 +11987,12 @@ function makeServeCommand() {
|
|
|
11962
11987
|
);
|
|
11963
11988
|
}
|
|
11964
11989
|
async function ensurePluginsLoadedForServe(projectDir) {
|
|
11965
|
-
const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-
|
|
11990
|
+
const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-5FFJORMD.js');
|
|
11966
11991
|
try {
|
|
11967
11992
|
const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
|
|
11968
11993
|
const config = resolveSkWorkspaceConfig2(projectDir);
|
|
11969
11994
|
if (!config.plugins || config.plugins.length === 0) return;
|
|
11970
|
-
const { ensurePluginsLoaded } = await import('../plugin-store-
|
|
11995
|
+
const { ensurePluginsLoaded } = await import('../plugin-store-ITA3IADY.js');
|
|
11971
11996
|
const { pluginRegistry } = await import('../plugin-registry/index.js');
|
|
11972
11997
|
const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
|
|
11973
11998
|
if (result.loaded.length > 0) {
|
|
@@ -11981,14 +12006,14 @@ async function ensurePluginsLoadedForServe(projectDir) {
|
|
|
11981
12006
|
}
|
|
11982
12007
|
}
|
|
11983
12008
|
async function runCompileTest(opts) {
|
|
11984
|
-
const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-
|
|
12009
|
+
const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-5FFJORMD.js');
|
|
11985
12010
|
const { tmpdir } = await import('os');
|
|
11986
12011
|
const { dirname: dirname4, join: join6, resolve: resolve5 } = await import('path');
|
|
11987
12012
|
const { fileURLToPath: fileURLToPath2 } = await import('url');
|
|
11988
12013
|
const { unlinkSync, existsSync: existsSync24 } = await import('fs');
|
|
11989
12014
|
const { spawn } = await import('child_process');
|
|
11990
12015
|
const { portableSpawnSync: portableSpawnSync2 } = await import('../core/index.js');
|
|
11991
|
-
const { MONOREPO_ROOT } = await import('../paths-
|
|
12016
|
+
const { MONOREPO_ROOT } = await import('../paths-FYPFJ437.js');
|
|
11992
12017
|
if (MONOREPO_ROOT === null) {
|
|
11993
12018
|
logErr2("--compile-test is only available inside the skaile-dev workspace.");
|
|
11994
12019
|
logInfo2("Run it from a checkout of skaile-ai/skaile-dev (the monorepo shell).");
|
|
@@ -12948,8 +12973,8 @@ function makeStoreCommand() {
|
|
|
12948
12973
|
"--all",
|
|
12949
12974
|
`List every match (default: ${STORE_ROW_LIMIT} rows, only what \`skaile add\` can install)`
|
|
12950
12975
|
).option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (query, opts) => {
|
|
12951
|
-
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-
|
|
12952
|
-
const { getKnownKinds: getKnownKinds2 } = await import('../open-registry-
|
|
12976
|
+
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-C254HCNL.js');
|
|
12977
|
+
const { getKnownKinds: getKnownKinds2 } = await import('../open-registry-FI6EO2PN.js');
|
|
12953
12978
|
const projectDir = path19__default.resolve(opts.projectDir);
|
|
12954
12979
|
if (opts.kind && !getKnownKinds2().has(opts.kind)) {
|
|
12955
12980
|
logErr(
|
|
@@ -13007,8 +13032,8 @@ function makeStoreCommand() {
|
|
|
13007
13032
|
}
|
|
13008
13033
|
});
|
|
13009
13034
|
store.command("show <ref>").description("Show a store asset's details + provenance (source, files, integrity)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (ref, opts) => {
|
|
13010
|
-
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-
|
|
13011
|
-
const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-
|
|
13035
|
+
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError: LocalCatalogDisabledError2 } = await import('../open-library-C254HCNL.js');
|
|
13036
|
+
const { supportsInstallManifest: supportsInstallManifest2 } = await import('../project-7XU7YX3Q.js');
|
|
13012
13037
|
try {
|
|
13013
13038
|
parseAssetRef(ref);
|
|
13014
13039
|
} catch (e) {
|
|
@@ -13993,7 +14018,7 @@ async function bootstrapUserConfig() {
|
|
|
13993
14018
|
}
|
|
13994
14019
|
async function hydrateInitSources(resolved, created) {
|
|
13995
14020
|
try {
|
|
13996
|
-
const { ensureSourcesCloned } = await import('../ensure-sources-
|
|
14021
|
+
const { ensureSourcesCloned } = await import('../ensure-sources-URRZB56T.js');
|
|
13997
14022
|
const hydrate = ensureSourcesCloned(resolved, { quiet: true });
|
|
13998
14023
|
for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
|
|
13999
14024
|
if (hydrate.failed.length > 0) {
|
|
@@ -14034,7 +14059,7 @@ function printInitSummary(resolved, projectDir, created) {
|
|
|
14034
14059
|
}
|
|
14035
14060
|
program.hook("preAction", (_program, actionCommand) => setActiveCommand(actionCommand));
|
|
14036
14061
|
program.command("setup").description("Interactive provider setup wizard").action(async () => {
|
|
14037
|
-
const { cmdSetup } = await import('../setup-
|
|
14062
|
+
const { cmdSetup } = await import('../setup-WD7XTLDA.js');
|
|
14038
14063
|
await cmdSetup([], { projectDir: process.cwd() });
|
|
14039
14064
|
});
|
|
14040
14065
|
program.addCommand(makeInstallCommand());
|
|
@@ -14115,7 +14140,7 @@ program.hook("postAction", async (_thisCommand, actionCommand) => {
|
|
|
14115
14140
|
const opts = actionCommand.opts();
|
|
14116
14141
|
if (opts.global || opts.dryRun) return;
|
|
14117
14142
|
const projectDir = path19__default.resolve(opts.projectDir ?? process.cwd());
|
|
14118
|
-
const { refreshPluginSkills } = await import('../claude-code-
|
|
14143
|
+
const { refreshPluginSkills } = await import('../claude-code-K3QSXJ35.js');
|
|
14119
14144
|
try {
|
|
14120
14145
|
if (await refreshPluginSkills(projectDir)) {
|
|
14121
14146
|
logInfo(`Updated ${S.cmd(".claude/plugins/skaile/skills")} (the --full plugin copy)`);
|