@skaile/workspaces 4.7.0 → 4.9.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/{asset-feeds-CV7EE4GI.js → asset-feeds-UHUJ7ALH.js} +7 -7
- package/dist/{asset-feeds-CV7EE4GI.js.map → asset-feeds-UHUJ7ALH.js.map} +1 -1
- package/dist/asset-manager/catalog-deployer.js +3 -3
- package/dist/asset-manager/index.js +6 -6
- package/dist/asset-manager/installer.js +4 -4
- package/dist/bridge/codex-app-server.js +4 -4
- package/dist/bridge/drivers/claude-sdk.js +5 -5
- package/dist/bridge/drivers/codex.js +6 -6
- package/dist/bridge/drivers/continue.js +6 -6
- package/dist/bridge/drivers/echo.js +1 -1
- package/dist/bridge/drivers/gemini.js +4 -4
- package/dist/bridge/drivers/goose.js +6 -6
- package/dist/bridge/drivers/omp.js +1 -1
- package/dist/bridge/drivers/opencode.js +6 -6
- package/dist/bridge/drivers/qwen.js +4 -4
- package/dist/bridge/index.js +6 -6
- package/dist/{chunk-NYRLSXTB.js → chunk-2FDOV5JG.js} +10 -10
- package/dist/{chunk-NYRLSXTB.js.map → chunk-2FDOV5JG.js.map} +1 -1
- package/dist/{chunk-VRBEMXEM.js → chunk-2LT4CWA5.js} +3 -3
- package/dist/{chunk-VRBEMXEM.js.map → chunk-2LT4CWA5.js.map} +1 -1
- package/dist/{chunk-J2NEKEZK.js → chunk-2PGVW3FL.js} +3 -3
- package/dist/{chunk-J2NEKEZK.js.map → chunk-2PGVW3FL.js.map} +1 -1
- package/dist/{chunk-Q5WGUPC5.js → chunk-5PF5OIQK.js} +3 -3
- package/dist/{chunk-Q5WGUPC5.js.map → chunk-5PF5OIQK.js.map} +1 -1
- package/dist/{chunk-BCXZ74DM.js → chunk-5WNQPXEG.js} +4 -4
- package/dist/{chunk-BCXZ74DM.js.map → chunk-5WNQPXEG.js.map} +1 -1
- package/dist/{chunk-TKHJXUG3.js → chunk-6J3L2CZ7.js} +4 -4
- package/dist/{chunk-TKHJXUG3.js.map → chunk-6J3L2CZ7.js.map} +1 -1
- package/dist/{chunk-A42QGGSB.js → chunk-6LEVXQAS.js} +3 -3
- package/dist/{chunk-A42QGGSB.js.map → chunk-6LEVXQAS.js.map} +1 -1
- package/dist/{chunk-S5TEP5WI.js → chunk-7644QU3C.js} +7 -7
- package/dist/{chunk-S5TEP5WI.js.map → chunk-7644QU3C.js.map} +1 -1
- package/dist/{chunk-RN3N7PHY.js → chunk-BHBXWDQU.js} +5 -5
- package/dist/{chunk-RN3N7PHY.js.map → chunk-BHBXWDQU.js.map} +1 -1
- package/dist/{chunk-7UM46L33.js → chunk-D6FPKO62.js} +2 -2
- package/dist/{chunk-7UM46L33.js.map → chunk-D6FPKO62.js.map} +1 -1
- package/dist/{chunk-NV6R6HJR.js → chunk-ERYOLF7V.js} +5 -5
- package/dist/{chunk-NV6R6HJR.js.map → chunk-ERYOLF7V.js.map} +1 -1
- package/dist/{chunk-DS7B54NF.js → chunk-F4PCBWPB.js} +3 -3
- package/dist/{chunk-DS7B54NF.js.map → chunk-F4PCBWPB.js.map} +1 -1
- package/dist/{chunk-IUVPPJ4T.js → chunk-FSRWPLIQ.js} +3 -3
- package/dist/{chunk-IUVPPJ4T.js.map → chunk-FSRWPLIQ.js.map} +1 -1
- package/dist/{chunk-U4LC6PLI.js → chunk-HA3XJN65.js} +3 -3
- package/dist/{chunk-U4LC6PLI.js.map → chunk-HA3XJN65.js.map} +1 -1
- package/dist/{chunk-HR2AGPLJ.js → chunk-HUF4ON2C.js} +4 -4
- package/dist/{chunk-HR2AGPLJ.js.map → chunk-HUF4ON2C.js.map} +1 -1
- package/dist/{chunk-M6VQU5TS.js → chunk-I3UWSGEB.js} +3 -3
- package/dist/{chunk-M6VQU5TS.js.map → chunk-I3UWSGEB.js.map} +1 -1
- package/dist/{chunk-IECSLI55.js → chunk-I7IWIVXY.js} +3 -3
- package/dist/{chunk-IECSLI55.js.map → chunk-I7IWIVXY.js.map} +1 -1
- package/dist/{chunk-HBBVWZ4T.js → chunk-I7SQIWYX.js} +3 -3
- package/dist/{chunk-HBBVWZ4T.js.map → chunk-I7SQIWYX.js.map} +1 -1
- package/dist/{chunk-DYT3AQBM.js → chunk-JUZJUKWM.js} +3 -3
- package/dist/{chunk-DYT3AQBM.js.map → chunk-JUZJUKWM.js.map} +1 -1
- package/dist/{chunk-TIOT3ZOQ.js → chunk-KLMXMW6Z.js} +3 -3
- package/dist/{chunk-TIOT3ZOQ.js.map → chunk-KLMXMW6Z.js.map} +1 -1
- package/dist/{chunk-MHROUPZN.js → chunk-KYE66EEM.js} +9 -9
- package/dist/{chunk-MHROUPZN.js.map → chunk-KYE66EEM.js.map} +1 -1
- package/dist/{chunk-HVTU3CVF.js → chunk-LOCIJAS3.js} +79 -23
- package/dist/chunk-LOCIJAS3.js.map +1 -0
- package/dist/{chunk-HKOC273F.js → chunk-P2G6XSJ3.js} +82 -8
- package/dist/chunk-P2G6XSJ3.js.map +1 -0
- package/dist/{chunk-XENB453B.js → chunk-PZ6AUBGY.js} +4 -4
- package/dist/{chunk-XENB453B.js.map → chunk-PZ6AUBGY.js.map} +1 -1
- package/dist/{chunk-53ORCYPJ.js → chunk-REYJKU7T.js} +56 -3
- package/dist/chunk-REYJKU7T.js.map +1 -0
- package/dist/{chunk-NIHNZC6E.js → chunk-SJYOKKYO.js} +4 -4
- package/dist/{chunk-NIHNZC6E.js.map → chunk-SJYOKKYO.js.map} +1 -1
- package/dist/{chunk-4AAEBUX7.js → chunk-TVXLXNQE.js} +7 -7
- package/dist/{chunk-4AAEBUX7.js.map → chunk-TVXLXNQE.js.map} +1 -1
- package/dist/{chunk-SU5LVG6T.js → chunk-UM4LDXV5.js} +3 -3
- package/dist/{chunk-SU5LVG6T.js.map → chunk-UM4LDXV5.js.map} +1 -1
- package/dist/{chunk-P2PXD3AF.js → chunk-V62CAMBD.js} +6 -6
- package/dist/{chunk-P2PXD3AF.js.map → chunk-V62CAMBD.js.map} +1 -1
- package/dist/{chunk-JWWER4L5.js → chunk-WLPL7CRM.js} +2 -2
- package/dist/{chunk-JWWER4L5.js.map → chunk-WLPL7CRM.js.map} +1 -1
- package/dist/{chunk-5GYFYGVW.js → chunk-WQ5BCHQS.js} +2 -2
- package/dist/{chunk-5GYFYGVW.js.map → chunk-WQ5BCHQS.js.map} +1 -1
- package/dist/{chunk-JH63TVZG.js → chunk-ZH3YEVKN.js} +5 -5
- package/dist/{chunk-JH63TVZG.js.map → chunk-ZH3YEVKN.js.map} +1 -1
- package/dist/cli/index.js +52 -52
- package/dist/connectors/config.js +4 -4
- package/dist/connectors/index.js +11 -11
- package/dist/core/index.js +3 -3
- 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/workspace-config.d.ts +47 -3
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/workspace-config.js +1 -1
- package/dist/deploy/index.js +3 -3
- package/dist/{ensure-sources-E5C3NAZ5.js → ensure-sources-2LFWDM3X.js} +9 -9
- package/dist/{ensure-sources-E5C3NAZ5.js.map → ensure-sources-2LFWDM3X.js.map} +1 -1
- package/dist/factory-assets/connectors/box.js +11 -11
- package/dist/factory-assets/connectors/deploy.js +11 -11
- package/dist/factory-assets/connectors/devserver.js +11 -11
- package/dist/factory-assets/connectors/flow/CONNECTOR.md +5 -1
- package/dist/factory-assets/connectors/flow/adapter.js +11 -11
- package/dist/factory-assets/connectors/flow/contract/normalize.d.ts +2 -1
- package/dist/factory-assets/connectors/flow/contract/normalize.d.ts.map +1 -1
- package/dist/factory-assets/connectors/flow/contract.js +3 -3
- package/dist/factory-assets/connectors/flow/engine.js +5 -5
- package/dist/factory-assets/connectors/flow/run-flow.js +12 -12
- package/dist/factory-assets/connectors/flow.js +11 -11
- package/dist/factory-assets/connectors/git.js +11 -11
- package/dist/factory-assets/connectors/gmail.js +11 -11
- package/dist/factory-assets/connectors/googledrive.js +11 -11
- package/dist/factory-assets/connectors/local.js +11 -11
- package/dist/factory-assets/connectors/mattermost.js +11 -11
- package/dist/factory-assets/connectors/memory.js +11 -11
- package/dist/factory-assets/connectors/minio.js +11 -11
- package/dist/factory-assets/connectors/postgres.js +11 -11
- package/dist/factory-assets/connectors/s3.js +11 -11
- package/dist/factory-assets/connectors/sharepoint.js +11 -11
- package/dist/factory-assets/connectors/sqlite.js +11 -11
- package/dist/factory-assets/connectors/static-server.js +11 -11
- package/dist/factory-assets/connectors/tunnel.js +11 -11
- package/dist/factory-assets/connectors/webdav.js +11 -11
- package/dist/factory-assets/connectors/xstate-store.js +11 -11
- package/dist/factory-assets/connectors/xstate.js +11 -11
- package/dist/{flows-DAA2HPCK.js → flows-EO5CO3A3.js} +6 -6
- package/dist/{flows-DAA2HPCK.js.map → flows-EO5CO3A3.js.map} +1 -1
- package/dist/{helpers-B37XGJHI.js → helpers-NR3YI5RG.js} +9 -9
- package/dist/{helpers-B37XGJHI.js.map → helpers-NR3YI5RG.js.map} +1 -1
- package/dist/library/index.js +4 -4
- package/dist/library/install.js +3 -3
- package/dist/{library-publish-ANMJDDZH.js → library-publish-ZHO7XA5C.js} +14 -14
- package/dist/{library-publish-ANMJDDZH.js.map → library-publish-ZHO7XA5C.js.map} +1 -1
- package/dist/{open-library-O5HS654Y.js → open-library-F7JM7RDR.js} +12 -12
- package/dist/{open-library-O5HS654Y.js.map → open-library-F7JM7RDR.js.map} +1 -1
- package/dist/{paths-LH7LD4CC.js → paths-HWWTOYUY.js} +6 -6
- package/dist/{paths-LH7LD4CC.js.map → paths-HWWTOYUY.js.map} +1 -1
- package/dist/{plugin-store-A6VLQHCT.js → plugin-store-VJYXFXP5.js} +5 -5
- package/dist/{plugin-store-A6VLQHCT.js.map → plugin-store-VJYXFXP5.js.map} +1 -1
- package/dist/{project-DLAPSJ36.js → project-HIOOMV4D.js} +10 -10
- package/dist/{project-DLAPSJ36.js.map → project-HIOOMV4D.js.map} +1 -1
- package/dist/resolver/index.js +3 -3
- package/dist/runner/index.js +17 -17
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/runner/src/skill-staging.d.ts +17 -0
- package/dist/runner/src/skill-staging.d.ts.map +1 -1
- package/dist/sdk/asset-manager.js +6 -6
- package/dist/sdk/bridge.js +6 -6
- package/dist/sdk/core.js +3 -3
- package/dist/sdk/flow.js +5 -5
- package/dist/sdk/index.js +17 -17
- package/dist/sdk/resolver.js +3 -3
- package/dist/sdk/runner.js +17 -17
- package/dist/{setup-TMPJSDCX.js → setup-P4J7EN6S.js} +13 -13
- package/dist/{setup-TMPJSDCX.js.map → setup-P4J7EN6S.js.map} +1 -1
- package/dist/{skills-ZO66BL2Y.js → skills-DNCI6ITW.js} +5 -5
- package/dist/{skills-ZO66BL2Y.js.map → skills-DNCI6ITW.js.map} +1 -1
- package/dist/{source-5WMBWNO7.js → source-S4DM4ZFQ.js} +13 -13
- package/dist/{source-5WMBWNO7.js.map → source-S4DM4ZFQ.js.map} +1 -1
- package/dist/{source-manifest-publish-WBVQV3JC.js → source-manifest-publish-ABXDZTVG.js} +15 -15
- package/dist/{source-manifest-publish-WBVQV3JC.js.map → source-manifest-publish-ABXDZTVG.js.map} +1 -1
- package/dist/tui/index.js +17 -17
- package/dist/workspace-plugin/adapters/mcp.js +5 -5
- package/dist/workspace-plugin/adapters/omp.js +7 -7
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-53ORCYPJ.js.map +0 -1
- package/dist/chunk-HKOC273F.js.map +0 -1
- package/dist/chunk-HVTU3CVF.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../cli/src/open-registry.ts","../cli/src/open-library.ts"],"names":["source"],"mappings":"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","file":"chunk-JH63TVZG.js","sourcesContent":["/**\n * open-registry.ts — shared helper to create a full AssetKindRegistry.\n *\n * Bootstraps the registry with all built-in providers (9 core + preset)\n * from @skaile/discovery, plus the extension kind providers (flow from\n * @skaile/workspaces/factory-assets/connectors/flow/engine, knowledge from @skaile/library).\n *\n * This is the single registration point for the CLI. All code paths\n * that need a registry (source sync, lib-status, etc.) should use this.\n */\n\nimport type { AssetKindRegistry } from \"@skaile/workspaces/discovery\";\nimport { createDefaultRegistry } from \"@skaile/workspaces/discovery\";\nimport { flowKindProvider } from \"@skaile/workspaces/factory-assets/connectors/flow/engine\";\nimport { knowledgeKindProvider } from \"@skaile/workspaces/library\";\n\n/**\n * Create a fully-configured AssetKindRegistry with all known providers.\n *\n * Registers:\n * - 9 core kinds (skill, agent, connector, mount, mcp-server, contract, prompt, persona, ruleset)\n * - preset (composition entity)\n * - flow (extension, from @skaile/workspaces/factory-assets/connectors/flow/engine)\n * - knowledge (extension, from @skaile/library)\n *\n * @returns An unfrozen registry (auto-freezes on first read)\n */\nexport function createFullRegistry(): AssetKindRegistry {\n const registry = createDefaultRegistry();\n registry.register(flowKindProvider);\n registry.register(knowledgeKindProvider);\n return registry;\n}\n","/**\n * open-library.ts — shared helpers to open the LocalIndex and the configured\n * Catalog source.\n *\n * Lazy-loads the `@skaile/workspaces/library` subpath and returns the\n * LocalIndex instance (backed by `@libsql/client`; runs on Node and Bun).\n * The catalog-source helper reads\n * `~/.skaile/config.yaml` (and project-level overlay if `projectDir` is given)\n * to decide between {@link RemoteCatalogSource} (default — points at\n * `https://skaile.store`) and a {@link LocalCatalogSource} bound to the most\n * recent local library registered via `skaile source add`.\n */\n\nimport { logErr } from \"./helpers.ts\";\nimport { createFullRegistry } from \"./open-registry.ts\";\n\n/** Thrown by {@link openCatalogSource} when `catalog.url` is the `local` sentinel. */\nexport class LocalCatalogDisabledError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"LocalCatalogDisabledError\";\n }\n}\n\n/**\n * Open the LocalIndex with the full kind registry. Exits with code 1\n * if the library directory cannot be created.\n *\n * @returns A `LocalIndex` instance ready for use.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibrary() {\n try {\n const { LocalIndex } = await import(\"@skaile/workspaces/library\");\n return new LocalIndex({ kindRegistry: createFullRegistry() });\n } catch (err) {\n logErr(`Could not open LocalIndex: ${err instanceof Error ? err.message : String(err)}`);\n process.exit(1);\n }\n}\n\n/**\n * Resolve the configured **remote** Catalog source for the CLI.\n *\n * Reads `~/.skaile/config.yaml` (plus the optional project-level overlay) and\n * returns a {@link RemoteCatalogSource} pointing at `catalog.url` (default:\n * `https://skaile.store`). The `cache_ttl: 0` config flag flips the source\n * into air-gapped mode: network reads are disabled, only `skaile update`\n * performs refreshes.\n *\n * **Local-mode rejection.** If the resolved config has `catalog.url: local`\n * this helper throws — callers wanting the dispatched local-or-remote source\n * must use {@link resolveCatalogSource}. Remote-only consumers like\n * `skaile update --catalog-only` rely on this strict behaviour.\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A configured {@link RemoteCatalogSource}.\n * @throws When `catalog.url` is the `local` sentinel.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<\n | import(\"@skaile/workspaces/library\").RemoteCatalogSource\n | import(\"@skaile/workspaces/library\").RestCatalogSource\n> {\n const { resolveConfig, RemoteCatalogSource, RestCatalogSource, isLocalCatalogUrl } = await import(\n \"@skaile/workspaces/library\"\n );\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n if (isLocalCatalogUrl(baseUrl)) {\n throw new LocalCatalogDisabledError(\n \"catalog.url is set to 'local' — remote catalog is disabled. \" +\n \"Use `skaile source add <path>` + `skaile source sync` for local sources, \" +\n \"or set `catalog.url: https://skaile.store` in ~/.skaile/config.yaml.\",\n );\n }\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n if (cfg.catalog.framing === \"rest\") {\n return new RestCatalogSource({ baseUrl, cacheTtlMs });\n }\n return new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n}\n\n/**\n * Resolved catalog source plus a close handle for releasing any underlying\n * resources (e.g. the `LocalIndex` SQLite connection in local mode).\n *\n * Callers MUST invoke `close()` when done — typically in a `finally` block.\n * For remote-mode sources `close()` is a no-op, but the contract is uniform\n * so consumers don't have to branch.\n *\n * @docLink cli/dev-guide#open-library\n */\nexport interface ResolvedCatalogSource {\n /** The {@link ICatalogSource} ready for use. */\n source: import(\"@skaile/workspaces/library\").ICatalogSource;\n /** Release any underlying resources (SQLite handle in local mode). */\n close(): void;\n}\n\n/**\n * Resolve the configured Catalog source — local or remote — based on\n * `~/.skaile/config.yaml`.\n *\n * Dispatch:\n * - `catalog.url: local` → opens {@link LocalIndex}, picks the most recently\n * registered local library whose `path` still exists on disk, and returns a\n * {@link LocalCatalogSource} bound to that library. Throws if no usable\n * local library is registered.\n * - any URL → returns {@link RemoteCatalogSource} (same as\n * {@link openCatalogSource}).\n *\n * The returned `close()` releases the underlying `LocalIndex` SQLite handle\n * in local mode (no-op in remote mode). Callers MUST invoke it — typically in\n * a `finally` block — to satisfy `library/CLAUDE.md` § \"Notes for Consumers\".\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A `ResolvedCatalogSource` carrying the source and a close handle.\n * @throws When `local` is configured but no usable local library is registered.\n * @docLink cli/dev-guide#open-library\n */\nexport async function resolveCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<ResolvedCatalogSource> {\n const {\n resolveConfig,\n RemoteCatalogSource,\n RestCatalogSource,\n LocalCatalogSource,\n isLocalCatalogUrl,\n } = await import(\"@skaile/workspaces/library\");\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n\n if (isLocalCatalogUrl(baseUrl)) {\n const fs = await import(\"node:fs\");\n const library = await openLibrary();\n try {\n const sources = await library.listSources();\n type LibraryRow = (typeof sources)[number];\n // Type-narrow: `path` is required for local libraries after the filter.\n const usable = sources\n .filter(\n (s): s is LibraryRow & { path: string } =>\n s.backend === \"local\" && typeof s.path === \"string\" && s.path.length > 0,\n )\n .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());\n\n if (usable.length === 0) {\n throw new Error(\n \"catalog.url is set to 'local' but no local library is registered. \" +\n \"Run `skaile source add <path>` first, then `skaile source sync`.\",\n );\n }\n\n // Prefer the most recently added library whose path still exists.\n const present = usable.find((s) => fs.existsSync(s.path));\n if (!present) {\n const head = usable[0];\n throw new Error(\n `catalog.url is set to 'local' but every registered local library has a missing path on disk. ` +\n `Most recent: ${head.path} (library ${head.id}). ` +\n `Re-register with \\`skaile source add <existing-path>\\` or run \\`skaile source list\\` to inspect.`,\n );\n }\n\n const source = new LocalCatalogSource(\n library,\n present.id,\n present.path,\n createFullRegistry(),\n );\n return { source, close: () => library.close() };\n } catch (err) {\n // Release the handle on any failure during dispatch — otherwise the\n // SQLite WAL state leaks for the lifetime of the process.\n library.close();\n throw err;\n }\n }\n\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n const source =\n cfg.catalog.framing === \"rest\"\n ? new RestCatalogSource({ baseUrl, cacheTtlMs })\n : new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n return { source, close: () => {} };\n}\n\n/**\n * Open the LibraryManager bound to the active LocalIndex.\n * Caller owns lifetime — must call `close()` (returned helper closes the\n * underlying LocalIndex).\n *\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibraryManager(): Promise<{\n manager: import(\"@skaile/workspaces/library\").LibraryManager;\n library: import(\"@skaile/workspaces/library\").LocalIndex;\n close: () => void;\n}> {\n const { LibraryManager } = await import(\"@skaile/workspaces/library\");\n const library = await openLibrary();\n const manager = new LibraryManager(library);\n return { manager, library, close: () => library.close() };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../cli/src/open-registry.ts","../cli/src/open-library.ts"],"names":["source"],"mappings":"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","file":"chunk-ZH3YEVKN.js","sourcesContent":["/**\n * open-registry.ts — shared helper to create a full AssetKindRegistry.\n *\n * Bootstraps the registry with all built-in providers (9 core + preset)\n * from @skaile/discovery, plus the extension kind providers (flow from\n * @skaile/workspaces/factory-assets/connectors/flow/engine, knowledge from @skaile/library).\n *\n * This is the single registration point for the CLI. All code paths\n * that need a registry (source sync, lib-status, etc.) should use this.\n */\n\nimport type { AssetKindRegistry } from \"@skaile/workspaces/discovery\";\nimport { createDefaultRegistry } from \"@skaile/workspaces/discovery\";\nimport { flowKindProvider } from \"@skaile/workspaces/factory-assets/connectors/flow/engine\";\nimport { knowledgeKindProvider } from \"@skaile/workspaces/library\";\n\n/**\n * Create a fully-configured AssetKindRegistry with all known providers.\n *\n * Registers:\n * - 9 core kinds (skill, agent, connector, mount, mcp-server, contract, prompt, persona, ruleset)\n * - preset (composition entity)\n * - flow (extension, from @skaile/workspaces/factory-assets/connectors/flow/engine)\n * - knowledge (extension, from @skaile/library)\n *\n * @returns An unfrozen registry (auto-freezes on first read)\n */\nexport function createFullRegistry(): AssetKindRegistry {\n const registry = createDefaultRegistry();\n registry.register(flowKindProvider);\n registry.register(knowledgeKindProvider);\n return registry;\n}\n","/**\n * open-library.ts — shared helpers to open the LocalIndex and the configured\n * Catalog source.\n *\n * Lazy-loads the `@skaile/workspaces/library` subpath and returns the\n * LocalIndex instance (backed by `@libsql/client`; runs on Node and Bun).\n * The catalog-source helper reads\n * `~/.skaile/config.yaml` (and project-level overlay if `projectDir` is given)\n * to decide between {@link RemoteCatalogSource} (default — points at\n * `https://skaile.store`) and a {@link LocalCatalogSource} bound to the most\n * recent local library registered via `skaile source add`.\n */\n\nimport { logErr } from \"./helpers.ts\";\nimport { createFullRegistry } from \"./open-registry.ts\";\n\n/** Thrown by {@link openCatalogSource} when `catalog.url` is the `local` sentinel. */\nexport class LocalCatalogDisabledError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"LocalCatalogDisabledError\";\n }\n}\n\n/**\n * Open the LocalIndex with the full kind registry. Exits with code 1\n * if the library directory cannot be created.\n *\n * @returns A `LocalIndex` instance ready for use.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibrary() {\n try {\n const { LocalIndex } = await import(\"@skaile/workspaces/library\");\n return new LocalIndex({ kindRegistry: createFullRegistry() });\n } catch (err) {\n logErr(`Could not open LocalIndex: ${err instanceof Error ? err.message : String(err)}`);\n process.exit(1);\n }\n}\n\n/**\n * Resolve the configured **remote** Catalog source for the CLI.\n *\n * Reads `~/.skaile/config.yaml` (plus the optional project-level overlay) and\n * returns a {@link RemoteCatalogSource} pointing at `catalog.url` (default:\n * `https://skaile.store`). The `cache_ttl: 0` config flag flips the source\n * into air-gapped mode: network reads are disabled, only `skaile update`\n * performs refreshes.\n *\n * **Local-mode rejection.** If the resolved config has `catalog.url: local`\n * this helper throws — callers wanting the dispatched local-or-remote source\n * must use {@link resolveCatalogSource}. Remote-only consumers like\n * `skaile update --catalog-only` rely on this strict behaviour.\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A configured {@link RemoteCatalogSource}.\n * @throws When `catalog.url` is the `local` sentinel.\n * @docLink cli/dev-guide#open-library\n */\nexport async function openCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<\n | import(\"@skaile/workspaces/library\").RemoteCatalogSource\n | import(\"@skaile/workspaces/library\").RestCatalogSource\n> {\n const { resolveConfig, RemoteCatalogSource, RestCatalogSource, isLocalCatalogUrl } = await import(\n \"@skaile/workspaces/library\"\n );\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n if (isLocalCatalogUrl(baseUrl)) {\n throw new LocalCatalogDisabledError(\n \"catalog.url is set to 'local' — remote catalog is disabled. \" +\n \"Use `skaile source add <path>` + `skaile source sync` for local sources, \" +\n \"or set `catalog.url: https://skaile.store` in ~/.skaile/config.yaml.\",\n );\n }\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n if (cfg.catalog.framing === \"rest\") {\n return new RestCatalogSource({ baseUrl, cacheTtlMs });\n }\n return new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n}\n\n/**\n * Resolved catalog source plus a close handle for releasing any underlying\n * resources (e.g. the `LocalIndex` SQLite connection in local mode).\n *\n * Callers MUST invoke `close()` when done — typically in a `finally` block.\n * For remote-mode sources `close()` is a no-op, but the contract is uniform\n * so consumers don't have to branch.\n *\n * @docLink cli/dev-guide#open-library\n */\nexport interface ResolvedCatalogSource {\n /** The {@link ICatalogSource} ready for use. */\n source: import(\"@skaile/workspaces/library\").ICatalogSource;\n /** Release any underlying resources (SQLite handle in local mode). */\n close(): void;\n}\n\n/**\n * Resolve the configured Catalog source — local or remote — based on\n * `~/.skaile/config.yaml`.\n *\n * Dispatch:\n * - `catalog.url: local` → opens {@link LocalIndex}, picks the most recently\n * registered local library whose `path` still exists on disk, and returns a\n * {@link LocalCatalogSource} bound to that library. Throws if no usable\n * local library is registered.\n * - any URL → returns {@link RemoteCatalogSource} (same as\n * {@link openCatalogSource}).\n *\n * The returned `close()` releases the underlying `LocalIndex` SQLite handle\n * in local mode (no-op in remote mode). Callers MUST invoke it — typically in\n * a `finally` block — to satisfy `library/CLAUDE.md` § \"Notes for Consumers\".\n *\n * @param opts - Project directory (overlays project config) and explicit overrides.\n * @returns A `ResolvedCatalogSource` carrying the source and a close handle.\n * @throws When `local` is configured but no usable local library is registered.\n * @docLink cli/dev-guide#open-library\n */\nexport async function resolveCatalogSource(opts?: {\n projectDir?: string;\n baseUrlOverride?: string;\n /** Override the user-config path for tests. */\n userConfigFile?: string;\n}): Promise<ResolvedCatalogSource> {\n const {\n resolveConfig,\n RemoteCatalogSource,\n RestCatalogSource,\n LocalCatalogSource,\n isLocalCatalogUrl,\n } = await import(\"@skaile/workspaces/library\");\n const cfg = resolveConfig({\n projectDir: opts?.projectDir,\n userConfigFile: opts?.userConfigFile,\n });\n const baseUrl = opts?.baseUrlOverride ?? cfg.catalog.url;\n\n if (isLocalCatalogUrl(baseUrl)) {\n const fs = await import(\"node:fs\");\n const library = await openLibrary();\n try {\n const sources = await library.listSources();\n type LibraryRow = (typeof sources)[number];\n // Type-narrow: `path` is required for local libraries after the filter.\n const usable = sources\n .filter(\n (s): s is LibraryRow & { path: string } =>\n s.backend === \"local\" && typeof s.path === \"string\" && s.path.length > 0,\n )\n .sort((a, b) => b.createdAt.getTime() - a.createdAt.getTime());\n\n if (usable.length === 0) {\n throw new Error(\n \"catalog.url is set to 'local' but no local library is registered. \" +\n \"Run `skaile source add <path>` first, then `skaile source sync`.\",\n );\n }\n\n // Prefer the most recently added library whose path still exists.\n const present = usable.find((s) => fs.existsSync(s.path));\n if (!present) {\n const head = usable[0];\n throw new Error(\n `catalog.url is set to 'local' but every registered local library has a missing path on disk. ` +\n `Most recent: ${head.path} (library ${head.id}). ` +\n `Re-register with \\`skaile source add <existing-path>\\` or run \\`skaile source list\\` to inspect.`,\n );\n }\n\n const source = new LocalCatalogSource(\n library,\n present.id,\n present.path,\n createFullRegistry(),\n );\n return { source, close: () => library.close() };\n } catch (err) {\n // Release the handle on any failure during dispatch — otherwise the\n // SQLite WAL state leaks for the lifetime of the process.\n library.close();\n throw err;\n }\n }\n\n const cacheTtlMs = cfg.catalog.cache_ttl * 1000;\n const source =\n cfg.catalog.framing === \"rest\"\n ? new RestCatalogSource({ baseUrl, cacheTtlMs })\n : new RemoteCatalogSource({ baseUrl, cacheTtlMs });\n return { source, close: () => {} };\n}\n\n/**\n * Open the LibraryManager bound to the active LocalIndex.\n * Caller owns lifetime — must call `close()` (returned helper closes the\n * underlying LocalIndex).\n *\n * @docLink cli/dev-guide#open-library\n */\nexport async function openLibraryManager(): Promise<{\n manager: import(\"@skaile/workspaces/library\").LibraryManager;\n library: import(\"@skaile/workspaces/library\").LocalIndex;\n close: () => void;\n}> {\n const { LibraryManager } = await import(\"@skaile/workspaces/library\");\n const library = await openLibrary();\n const manager = new LibraryManager(library);\n return { manager, library, close: () => library.close() };\n}\n"]}
|
package/dist/cli/index.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { AI_RESOURCES } from '../chunk-
|
|
3
|
-
import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-
|
|
4
|
-
import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError } from '../chunk-
|
|
5
|
-
import { getStoreConfig, storeFetch, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, isStoreAuthenticated, getStoreToken, getStoreIdentity } from '../chunk-
|
|
6
|
-
import { makeSourceCommand, syncProjectSources } from '../chunk-
|
|
7
|
-
import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-
|
|
8
|
-
import { logErr, S, logOk, logInfo, logWarn, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-
|
|
2
|
+
import { AI_RESOURCES } from '../chunk-F4PCBWPB.js';
|
|
3
|
+
import { makeInstallCommand, makeCheckCommand, makeCleanCommand, reportInstalledSoftDeps } from '../chunk-7644QU3C.js';
|
|
4
|
+
import { makeProvidersCommand, loadRegistryView, addProviderEntry, ProviderRegistryWriteError } from '../chunk-BHBXWDQU.js';
|
|
5
|
+
import { getStoreConfig, storeFetch, deviceLogin, loadStoreAuthConfig, logout, hasStoredAuth, isStoreAuthenticated, getStoreToken, getStoreIdentity } from '../chunk-I7IWIVXY.js';
|
|
6
|
+
import { makeSourceCommand, syncProjectSources } from '../chunk-KYE66EEM.js';
|
|
7
|
+
import { openCatalogSource, openLibraryManager, createFullRegistry, openLibrary } from '../chunk-ZH3YEVKN.js';
|
|
8
|
+
import { logErr, S, logOk, logInfo, logWarn, kindColorPad, kindColor, colorRef, formatSoftDepSection, bareSoftDepName, formatSoftDepHint, formatRelativeTime, formatSoftDepRemovePreview, formatSoftDepAddPreview, fitWidth } from '../chunk-6LEVXQAS.js';
|
|
9
9
|
import { LocalSecretsProvider } from '../chunk-6BEGKO2Q.js';
|
|
10
|
-
import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-
|
|
11
|
-
import { buildClaudePluginFiles } from '../chunk-
|
|
12
|
-
import '../chunk-
|
|
13
|
-
import '../chunk-
|
|
10
|
+
import { runAgentChat, loadSessionById, loadSession, listSessions, setCurrentSession, deleteSession, clearSession, loadAgentManifest, compileComposition, MarkdownStreamer, resolveMixin } from '../chunk-LOCIJAS3.js';
|
|
11
|
+
import { buildClaudePluginFiles } from '../chunk-D6FPKO62.js';
|
|
12
|
+
import '../chunk-I7SQIWYX.js';
|
|
13
|
+
import '../chunk-WLPL7CRM.js';
|
|
14
14
|
import '../chunk-FAI2SMFE.js';
|
|
15
15
|
import '../chunk-7IRJ4K4F.js';
|
|
16
16
|
import '../chunk-4ZTPYIBE.js';
|
|
@@ -24,43 +24,43 @@ import '../chunk-73ZXUUL6.js';
|
|
|
24
24
|
import '../chunk-32NA4TVC.js';
|
|
25
25
|
import '../chunk-W3UDISS2.js';
|
|
26
26
|
import '../chunk-45LLHKQ2.js';
|
|
27
|
-
import { runFlow, resumeFlow } from '../chunk-
|
|
27
|
+
import { runFlow, resumeFlow } from '../chunk-V62CAMBD.js';
|
|
28
28
|
import '../chunk-4R6DROGN.js';
|
|
29
29
|
import { validateFlowVersions, parseSkillFrontmatter } from '../chunk-3XXQPHGL.js';
|
|
30
30
|
import '../chunk-7BUZQVRR.js';
|
|
31
|
-
import '../chunk-
|
|
32
|
-
import '../chunk-
|
|
31
|
+
import '../chunk-I3UWSGEB.js';
|
|
32
|
+
import '../chunk-2FDOV5JG.js';
|
|
33
33
|
import '../chunk-SDNGG6FB.js';
|
|
34
|
-
import '../chunk-
|
|
35
|
-
import '../chunk-
|
|
34
|
+
import '../chunk-JUZJUKWM.js';
|
|
35
|
+
import '../chunk-HA3XJN65.js';
|
|
36
36
|
import '../chunk-OUJVFZWJ.js';
|
|
37
37
|
import '../chunk-LOO5CB5M.js';
|
|
38
38
|
import '../chunk-3GKBSHUG.js';
|
|
39
|
-
import '../chunk-
|
|
39
|
+
import '../chunk-FSRWPLIQ.js';
|
|
40
40
|
import '../chunk-GAH4YRCI.js';
|
|
41
|
-
import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-
|
|
41
|
+
import { getProviderPreset, AI_PROVIDER_PRESETS } from '../chunk-WQ5BCHQS.js';
|
|
42
42
|
import '../chunk-6E6PKKAD.js';
|
|
43
43
|
import '../chunk-IFGTRL2I.js';
|
|
44
|
-
import { projectAiAssetsRoots, loadFlow, loadAllFlowEntries, findFlowFileInRoots } from '../chunk-
|
|
45
|
-
import '../chunk-
|
|
46
|
-
import '../chunk-
|
|
44
|
+
import { projectAiAssetsRoots, loadFlow, loadAllFlowEntries, findFlowFileInRoots } from '../chunk-SJYOKKYO.js';
|
|
45
|
+
import '../chunk-KLMXMW6Z.js';
|
|
46
|
+
import '../chunk-REYJKU7T.js';
|
|
47
47
|
import '../chunk-2D5BYAL6.js';
|
|
48
48
|
import { nodeLabel, nodeSkillAsset, nodeIsInert, nodeIsOptional, nodeRunKind, flowSkillVersionPins } from '../chunk-ELPR5XBG.js';
|
|
49
49
|
import '../chunk-QAH24E5U.js';
|
|
50
|
-
import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-
|
|
51
|
-
import { getStoreManifestsDir, getDefaultValue, isSecretPlaceholder } from '../chunk-
|
|
50
|
+
import { AssetManager, NON_DEPLOYABLE_KINDS, MissingManifestError, parseRefTolerant, normalizeRepoUrl, FACTORY_SOURCE_URL } from '../chunk-TVXLXNQE.js';
|
|
51
|
+
import { getStoreManifestsDir, getDefaultValue, isSecretPlaceholder } from '../chunk-HUF4ON2C.js';
|
|
52
52
|
import '../chunk-M5H4DWIA.js';
|
|
53
53
|
import '../chunk-UKJMQZV6.js';
|
|
54
54
|
import '../chunk-R7FOF242.js';
|
|
55
55
|
import '../chunk-JXT46QFC.js';
|
|
56
|
-
import '../chunk-
|
|
56
|
+
import '../chunk-6J3L2CZ7.js';
|
|
57
57
|
import '../chunk-CGYEHQOX.js';
|
|
58
|
-
import { resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, WorkspaceYamlEditor, resolveLibraryDir, checkAgentSkillConformance, aiResourceRoots, readLock, workspaceProviderRegistryPath, userProviderRegistryPath, loadProviderRegistryFile } from '../chunk-
|
|
59
|
-
import { factoryAssetRoots } from '../chunk-
|
|
58
|
+
import { resolveSettings, globalSettingsPath, projectSettingsPath, loadSettings, saveSettings, WorkspaceYamlEditor, resolveLibraryDir, checkAgentSkillConformance, aiResourceRoots, readLock, workspaceProviderRegistryPath, userProviderRegistryPath, loadProviderRegistryFile } from '../chunk-5WNQPXEG.js';
|
|
59
|
+
import { factoryAssetRoots } from '../chunk-UM4LDXV5.js';
|
|
60
60
|
import '../chunk-F3HNW354.js';
|
|
61
61
|
import { DRIVER_DEFAULTS } from '../chunk-K5GBV4SA.js';
|
|
62
62
|
import { detectDomains, assetSearchDirs } from '../chunk-QVZA2MDT.js';
|
|
63
|
-
import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, matchPin, coerceVersion, loadSkWorkspaceConfig, resolveSkWorkspaceConfig, storeManifestSlug, isWorkspaceConfigFilename } from '../chunk-
|
|
63
|
+
import { globalCacheRoot, sourceCacheKey, getGlobalCacheDir, resolveAgentDir, matchPin, coerceVersion, loadSkWorkspaceConfig, resolveSkWorkspaceConfig, storeManifestSlug, isWorkspaceConfigFilename } from '../chunk-P2G6XSJ3.js';
|
|
64
64
|
import { SUPPORTED_DRIVER_TARGETS } from '../chunk-MENCWIHW.js';
|
|
65
65
|
import { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-P4VHQA4N.js';
|
|
66
66
|
import { parseFrontmatter, scanDirectory } from '../chunk-MKZOK4JU.js';
|
|
@@ -124,7 +124,7 @@ async function runSearch(kind, query, opts) {
|
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
async function searchIndex(query, kind) {
|
|
127
|
-
const { openLibrary: openLibrary2 } = await import('../open-library-
|
|
127
|
+
const { openLibrary: openLibrary2 } = await import('../open-library-F7JM7RDR.js');
|
|
128
128
|
const library = await openLibrary2();
|
|
129
129
|
try {
|
|
130
130
|
const defs = await library.listAssetDefs(kind ? { kind } : {});
|
|
@@ -177,7 +177,7 @@ async function searchLocal(query, kind, opts, showStore, airGapped) {
|
|
|
177
177
|
const factory = await searchFactory(projectDir, query, kind);
|
|
178
178
|
let entries = unionEntries(await searchIndex(query, kind), factory);
|
|
179
179
|
if (entries.length === 0 && !query && !kind && !airGapped) {
|
|
180
|
-
const { autoSyncForSearch } = await import('../source-
|
|
180
|
+
const { autoSyncForSearch } = await import('../source-S4DM4ZFQ.js');
|
|
181
181
|
if (await autoSyncForSearch(projectDir)) {
|
|
182
182
|
entries = unionEntries(await searchIndex(query, kind), factory);
|
|
183
183
|
}
|
|
@@ -231,7 +231,7 @@ async function searchStore(query, kind, opts, airGapped) {
|
|
|
231
231
|
logInfo("air-gapped (cache_ttl: 0) \u2014 local sources only");
|
|
232
232
|
return;
|
|
233
233
|
}
|
|
234
|
-
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-
|
|
234
|
+
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-F7JM7RDR.js');
|
|
235
235
|
try {
|
|
236
236
|
const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
|
|
237
237
|
const assets = await remote.listAssets(kind ? { kind } : {});
|
|
@@ -546,7 +546,7 @@ async function resolveInfoEntry(am2, ref, opts) {
|
|
|
546
546
|
return { entry: match ?? deployed };
|
|
547
547
|
}
|
|
548
548
|
const lookup = opts.storeLookup ?? (async (filter) => {
|
|
549
|
-
const { resolveCatalogSource } = await import('../open-library-
|
|
549
|
+
const { resolveCatalogSource } = await import('../open-library-F7JM7RDR.js');
|
|
550
550
|
const { source, close } = await resolveCatalogSource({ projectDir: opts.projectDir });
|
|
551
551
|
try {
|
|
552
552
|
return await source.listAssets(filter);
|
|
@@ -562,7 +562,7 @@ async function resolveInfoEntry(am2, ref, opts) {
|
|
|
562
562
|
);
|
|
563
563
|
return { entry: hit ? catalogAssetToEntry(hit) : null };
|
|
564
564
|
} catch (err) {
|
|
565
|
-
const { LocalCatalogDisabledError } = await import('../open-library-
|
|
565
|
+
const { LocalCatalogDisabledError } = await import('../open-library-F7JM7RDR.js');
|
|
566
566
|
const storeNote = err instanceof Error ? err.message : String(err);
|
|
567
567
|
const disabled = err instanceof LocalCatalogDisabledError || /catalog\.url/i.test(storeNote);
|
|
568
568
|
return { entry: null, storeNote, ...disabled ? { storeDisabled: true } : {} };
|
|
@@ -1182,7 +1182,7 @@ function makeCatalogCommand() {
|
|
|
1182
1182
|
return catalog;
|
|
1183
1183
|
}
|
|
1184
1184
|
async function runLocalCatalogTest(projectDir) {
|
|
1185
|
-
const { resolveCatalogSource } = await import('../open-library-
|
|
1185
|
+
const { resolveCatalogSource } = await import('../open-library-F7JM7RDR.js');
|
|
1186
1186
|
let resolved;
|
|
1187
1187
|
try {
|
|
1188
1188
|
resolved = await resolveCatalogSource({ projectDir });
|
|
@@ -2244,7 +2244,7 @@ async function ensureTargetsRegistered(projectDir) {
|
|
|
2244
2244
|
const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
|
|
2245
2245
|
const config = resolveSkWorkspaceConfig2(projectDir);
|
|
2246
2246
|
if (config.plugins && config.plugins.length > 0) {
|
|
2247
|
-
const { ensurePluginsLoaded } = await import('../plugin-store-
|
|
2247
|
+
const { ensurePluginsLoaded } = await import('../plugin-store-VJYXFXP5.js');
|
|
2248
2248
|
const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
|
|
2249
2249
|
for (const f of result.failed) logWarn(f.error);
|
|
2250
2250
|
}
|
|
@@ -3499,16 +3499,16 @@ function makeLibraryCommand() {
|
|
|
3499
3499
|
});
|
|
3500
3500
|
cmd.command("publish <lib>").description("Push + register the library's manifest atomically (needs git backend)").option("--asset <ref>", "Publish only the single asset matching this ref/name").option("--create-repo", "Provision + link a public github repo if the library has no remote").option("--ref <gitref>", "Git ref to ingest (default: the library branch or main)").option("--dry-run", "Print the plan; push nothing and call no store endpoint").action(
|
|
3501
3501
|
async (lib, opts) => {
|
|
3502
|
-
const { runLibraryPublish } = await import('../library-publish-
|
|
3502
|
+
const { runLibraryPublish } = await import('../library-publish-ZHO7XA5C.js');
|
|
3503
3503
|
await withStoreErrorHandling(() => runLibraryPublish(lib, opts));
|
|
3504
3504
|
}
|
|
3505
3505
|
);
|
|
3506
3506
|
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) => {
|
|
3507
|
-
const { runLibraryRegister } = await import('../library-publish-
|
|
3507
|
+
const { runLibraryRegister } = await import('../library-publish-ZHO7XA5C.js');
|
|
3508
3508
|
await withStoreErrorHandling(() => runLibraryRegister(lib, opts));
|
|
3509
3509
|
});
|
|
3510
3510
|
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) => {
|
|
3511
|
-
const { runLibraryYank } = await import('../library-publish-
|
|
3511
|
+
const { runLibraryYank } = await import('../library-publish-ZHO7XA5C.js');
|
|
3512
3512
|
await withStoreErrorHandling(() => runLibraryYank(lib, opts));
|
|
3513
3513
|
});
|
|
3514
3514
|
return cmd;
|
|
@@ -4230,7 +4230,7 @@ function scheduleSoftDepPreview() {
|
|
|
4230
4230
|
}
|
|
4231
4231
|
async function loadAssets() {
|
|
4232
4232
|
softDepPreviewCache.clear();
|
|
4233
|
-
const { gatherAssetFeeds } = await import('../asset-feeds-
|
|
4233
|
+
const { gatherAssetFeeds } = await import('../asset-feeds-UHUJ7ALH.js');
|
|
4234
4234
|
const { entries, domains, notes } = await gatherAssetFeeds(am, am.projectDir);
|
|
4235
4235
|
if (notes.length > 0) {
|
|
4236
4236
|
state.message = notes.map((n) => `[${n.feed}] ${n.message}`).join(" \u2022 ");
|
|
@@ -4436,7 +4436,7 @@ function reconcileCollapsedSets(rows) {
|
|
|
4436
4436
|
async function loadSourcesAndLibraries() {
|
|
4437
4437
|
try {
|
|
4438
4438
|
const [{ openLibraryManager: openLibraryManager2 }, { skaileHomeDir }, { getGlobalCacheDir: getGlobalCacheDir2 }] = await Promise.all([
|
|
4439
|
-
import('../open-library-
|
|
4439
|
+
import('../open-library-F7JM7RDR.js'),
|
|
4440
4440
|
import('../library/index.js'),
|
|
4441
4441
|
import('../core/index.js')
|
|
4442
4442
|
]);
|
|
@@ -6073,7 +6073,7 @@ function action2(fn) {
|
|
|
6073
6073
|
};
|
|
6074
6074
|
}
|
|
6075
6075
|
async function reconcileAndReport(projectDir, plugins) {
|
|
6076
|
-
const { reconcilePlugins } = await import('../plugin-store-
|
|
6076
|
+
const { reconcilePlugins } = await import('../plugin-store-VJYXFXP5.js');
|
|
6077
6077
|
if (plugins.length === 0) {
|
|
6078
6078
|
logInfo("No plugins declared \u2014 nothing to reconcile.");
|
|
6079
6079
|
return;
|
|
@@ -6089,7 +6089,7 @@ async function reconcileAndReport(projectDir, plugins) {
|
|
|
6089
6089
|
async function runInstall2(spec, opts) {
|
|
6090
6090
|
const projectDir = path36__default.resolve(opts.projectDir);
|
|
6091
6091
|
const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
|
|
6092
|
-
const { specName } = await import('../plugin-store-
|
|
6092
|
+
const { specName } = await import('../plugin-store-VJYXFXP5.js');
|
|
6093
6093
|
const yamlPath = path36__default.join(projectDir, "skaile.yaml");
|
|
6094
6094
|
const editor = WorkspaceYamlEditor2.load(yamlPath);
|
|
6095
6095
|
const replaced = editor.addPlugin(spec, specName);
|
|
@@ -6101,7 +6101,7 @@ async function runInstall2(spec, opts) {
|
|
|
6101
6101
|
async function runRemove(name, opts) {
|
|
6102
6102
|
const projectDir = path36__default.resolve(opts.projectDir);
|
|
6103
6103
|
const { WorkspaceYamlEditor: WorkspaceYamlEditor2 } = await import('../core/index.js');
|
|
6104
|
-
const { specName } = await import('../plugin-store-
|
|
6104
|
+
const { specName } = await import('../plugin-store-VJYXFXP5.js');
|
|
6105
6105
|
const yamlPath = path36__default.join(projectDir, "skaile.yaml");
|
|
6106
6106
|
const editor = WorkspaceYamlEditor2.load(yamlPath);
|
|
6107
6107
|
const removed = editor.removePlugin(name, specName);
|
|
@@ -6129,7 +6129,7 @@ async function runList(opts) {
|
|
|
6129
6129
|
const registry = createPluginRegistry();
|
|
6130
6130
|
if (declared.length > 0) {
|
|
6131
6131
|
try {
|
|
6132
|
-
const { loadPlugins } = await import('../plugin-store-
|
|
6132
|
+
const { loadPlugins } = await import('../plugin-store-VJYXFXP5.js');
|
|
6133
6133
|
const result = await loadPlugins(projectDir, declared, registry);
|
|
6134
6134
|
for (const f of result.failed) logWarn(f.error);
|
|
6135
6135
|
} catch (err) {
|
|
@@ -7231,12 +7231,12 @@ function makeServeCommand() {
|
|
|
7231
7231
|
);
|
|
7232
7232
|
}
|
|
7233
7233
|
async function ensurePluginsLoadedForServe(projectDir) {
|
|
7234
|
-
const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-
|
|
7234
|
+
const { logInfo: logInfo2, logWarn: logWarn2 } = await import('../helpers-NR3YI5RG.js');
|
|
7235
7235
|
try {
|
|
7236
7236
|
const { resolveSkWorkspaceConfig: resolveSkWorkspaceConfig2 } = await import('../core/index.js');
|
|
7237
7237
|
const config = resolveSkWorkspaceConfig2(projectDir);
|
|
7238
7238
|
if (!config.plugins || config.plugins.length === 0) return;
|
|
7239
|
-
const { ensurePluginsLoaded } = await import('../plugin-store-
|
|
7239
|
+
const { ensurePluginsLoaded } = await import('../plugin-store-VJYXFXP5.js');
|
|
7240
7240
|
const { pluginRegistry } = await import('../plugin-registry/index.js');
|
|
7241
7241
|
const result = await ensurePluginsLoaded(projectDir, config.plugins, pluginRegistry);
|
|
7242
7242
|
if (result.loaded.length > 0) {
|
|
@@ -7250,14 +7250,14 @@ async function ensurePluginsLoadedForServe(projectDir) {
|
|
|
7250
7250
|
}
|
|
7251
7251
|
}
|
|
7252
7252
|
async function runCompileTest(opts) {
|
|
7253
|
-
const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-
|
|
7253
|
+
const { logOk: logOk2, logErr: logErr2, logInfo: logInfo2, S: S2 } = await import('../helpers-NR3YI5RG.js');
|
|
7254
7254
|
const { tmpdir } = await import('os');
|
|
7255
7255
|
const { dirname: dirname4, join: join7, resolve: resolve5 } = await import('path');
|
|
7256
7256
|
const { fileURLToPath: fileURLToPath2 } = await import('url');
|
|
7257
7257
|
const { unlinkSync, existsSync: existsSync15 } = await import('fs');
|
|
7258
7258
|
const { spawn } = await import('child_process');
|
|
7259
7259
|
const { portableSpawnSync: portableSpawnSync2 } = await import('../core/index.js');
|
|
7260
|
-
const { MONOREPO_ROOT } = await import('../paths-
|
|
7260
|
+
const { MONOREPO_ROOT } = await import('../paths-HWWTOYUY.js');
|
|
7261
7261
|
if (MONOREPO_ROOT === null) {
|
|
7262
7262
|
logErr2("--compile-test is only available inside the skaile-dev workspace.");
|
|
7263
7263
|
logInfo2("Run it from a checkout of skaile-ai/skaile-dev (the monorepo shell).");
|
|
@@ -8132,7 +8132,7 @@ function makeStoreCommand() {
|
|
|
8132
8132
|
process.exit(2);
|
|
8133
8133
|
});
|
|
8134
8134
|
store.command("search <query>").description("Search the AI Asset Store catalog by name, description, or publisher").option("--kind <kind>", "Filter by asset kind (skill, agent, prompt, flow, \u2026)").option("-C, --project-dir <dir>", "Project directory (catalog config overlay)", process.cwd()).action(async (query, opts) => {
|
|
8135
|
-
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-
|
|
8135
|
+
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-F7JM7RDR.js');
|
|
8136
8136
|
try {
|
|
8137
8137
|
const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
|
|
8138
8138
|
const assets = await remote.listAssets(opts.kind ? { kind: opts.kind } : {});
|
|
@@ -8165,8 +8165,8 @@ function makeStoreCommand() {
|
|
|
8165
8165
|
}
|
|
8166
8166
|
});
|
|
8167
8167
|
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) => {
|
|
8168
|
-
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-
|
|
8169
|
-
const { supportsInstallManifest } = await import('../project-
|
|
8168
|
+
const { openCatalogSource: openCatalogSource2, LocalCatalogDisabledError } = await import('../open-library-F7JM7RDR.js');
|
|
8169
|
+
const { supportsInstallManifest } = await import('../project-HIOOMV4D.js');
|
|
8170
8170
|
try {
|
|
8171
8171
|
const remote = await openCatalogSource2({ projectDir: path36__default.resolve(opts.projectDir) });
|
|
8172
8172
|
const asset = await remote.resolve(ref);
|
|
@@ -9254,7 +9254,7 @@ async function bootstrapUserConfig() {
|
|
|
9254
9254
|
}
|
|
9255
9255
|
async function hydrateInitSources(resolved, created) {
|
|
9256
9256
|
try {
|
|
9257
|
-
const { ensureSourcesCloned } = await import('../ensure-sources-
|
|
9257
|
+
const { ensureSourcesCloned } = await import('../ensure-sources-2LFWDM3X.js');
|
|
9258
9258
|
const hydrate = ensureSourcesCloned(resolved, { quiet: true });
|
|
9259
9259
|
for (const n of hydrate.cloned) created.push(`~/.skaile/cache/sources/${n}/`);
|
|
9260
9260
|
if (hydrate.failed.length > 0) {
|
|
@@ -9294,7 +9294,7 @@ function printInitSummary(resolved, projectDir, created) {
|
|
|
9294
9294
|
console.log();
|
|
9295
9295
|
}
|
|
9296
9296
|
program.command("setup").description("Interactive provider setup wizard").action(async () => {
|
|
9297
|
-
const { cmdSetup } = await import('../setup-
|
|
9297
|
+
const { cmdSetup } = await import('../setup-P4J7EN6S.js');
|
|
9298
9298
|
await cmdSetup([], { projectDir: process.cwd() });
|
|
9299
9299
|
});
|
|
9300
9300
|
program.addCommand(makeInstallCommand());
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
3
|
-
import '../chunk-
|
|
1
|
+
export { LegacyAuthGrammarError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-JUZJUKWM.js';
|
|
2
|
+
import '../chunk-5WNQPXEG.js';
|
|
3
|
+
import '../chunk-UM4LDXV5.js';
|
|
4
4
|
import '../chunk-F3HNW354.js';
|
|
5
5
|
import '../chunk-K5GBV4SA.js';
|
|
6
6
|
import '../chunk-QVZA2MDT.js';
|
|
7
|
-
import '../chunk-
|
|
7
|
+
import '../chunk-P2G6XSJ3.js';
|
|
8
8
|
import '../chunk-MENCWIHW.js';
|
|
9
9
|
import '../chunk-P4VHQA4N.js';
|
|
10
10
|
import '../chunk-MKZOK4JU.js';
|
package/dist/connectors/index.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorManager, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, atomicReplaceCredential, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock } from '../chunk-
|
|
1
|
+
export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorManager, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NO_ACTIVE_FLOW_ERROR, PortPool, atomicReplaceCredential, buildConnectorPromptSection, buildLazyFlowToolDefs, buildLazySdkFlowTools, buildSdkConnectorTools, buildSdkFlowTools, classifyConnectError, createFsWatcher, createWorktree, defaultSpawn, ensureDirMode, ensureFleetMounted, ensureRefreshAttemptStamp, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, registerBuiltinConnectors, removeMountBlock, removeUnavailableMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock, writeUnavailableMountBlock } from '../chunk-2FDOV5JG.js';
|
|
2
2
|
export { CONNECT_ERROR_KIND_PROPERTY, ClassifiedConnectError, declaredConnectErrorKind, withConnectErrorKind } from '../chunk-SDNGG6FB.js';
|
|
3
|
-
export { ConnectorFieldMissingError, ConnectorStartupError, EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, readUnavailableMarker, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-
|
|
4
|
-
import '../chunk-
|
|
3
|
+
export { ConnectorFieldMissingError, ConnectorStartupError, EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, isKnownSecretRef, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, readUnavailableMarker, resolveAuthRef, resolveBackendAuthFor, resolvedConfigToDeclarations } from '../chunk-JUZJUKWM.js';
|
|
4
|
+
import '../chunk-HA3XJN65.js';
|
|
5
5
|
import '../chunk-OUJVFZWJ.js';
|
|
6
6
|
import '../chunk-LOO5CB5M.js';
|
|
7
7
|
import '../chunk-3GKBSHUG.js';
|
|
8
|
-
import '../chunk-
|
|
8
|
+
import '../chunk-FSRWPLIQ.js';
|
|
9
9
|
import '../chunk-GAH4YRCI.js';
|
|
10
|
-
import '../chunk-
|
|
10
|
+
import '../chunk-WQ5BCHQS.js';
|
|
11
11
|
import '../chunk-6E6PKKAD.js';
|
|
12
12
|
import '../chunk-IFGTRL2I.js';
|
|
13
|
-
import '../chunk-
|
|
14
|
-
import '../chunk-
|
|
15
|
-
import '../chunk-
|
|
13
|
+
import '../chunk-SJYOKKYO.js';
|
|
14
|
+
import '../chunk-KLMXMW6Z.js';
|
|
15
|
+
import '../chunk-REYJKU7T.js';
|
|
16
16
|
import '../chunk-2D5BYAL6.js';
|
|
17
17
|
import '../chunk-ELPR5XBG.js';
|
|
18
18
|
import '../chunk-QAH24E5U.js';
|
|
19
|
-
import '../chunk-
|
|
20
|
-
import '../chunk-
|
|
19
|
+
import '../chunk-5WNQPXEG.js';
|
|
20
|
+
import '../chunk-UM4LDXV5.js';
|
|
21
21
|
import '../chunk-F3HNW354.js';
|
|
22
22
|
import '../chunk-K5GBV4SA.js';
|
|
23
23
|
import '../chunk-QVZA2MDT.js';
|
|
24
|
-
import '../chunk-
|
|
24
|
+
import '../chunk-P2G6XSJ3.js';
|
|
25
25
|
import '../chunk-MENCWIHW.js';
|
|
26
26
|
import '../chunk-P4VHQA4N.js';
|
|
27
27
|
import '../chunk-MKZOK4JU.js';
|
package/dist/core/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export { ManifestYamlEditor, PROVIDERS_FILENAME, SETTINGS_DEFAULTS, WorkspaceYamlEditor, aiResourceRoots, applyPatch, buildLockFile, checkAgentSkillConformance, computeHash, defaultLibraryDir, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadProviderRegistry, loadProviderRegistryFile, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, processAlive, processExited, processGroupAlive, projectSettingsPath, readLock, readPatch, readPluginsLockSlice, resolveLibraryDir, resolveSettings, savePatch, saveProviderRegistryFile, saveSettings, skaileHomeDir, userProviderRegistryPath, verifyLock, walkForSettings, workspaceProviderRegistryPath, writeLock, writePluginsLockSlice } from '../chunk-
|
|
2
|
-
export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-
|
|
1
|
+
export { ManifestYamlEditor, PROVIDERS_FILENAME, SETTINGS_DEFAULTS, WorkspaceYamlEditor, aiResourceRoots, applyPatch, buildLockFile, checkAgentSkillConformance, computeHash, defaultLibraryDir, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadProviderRegistry, loadProviderRegistryFile, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, processAlive, processExited, processGroupAlive, projectSettingsPath, readLock, readPatch, readPluginsLockSlice, resolveLibraryDir, resolveSettings, savePatch, saveProviderRegistryFile, saveSettings, skaileHomeDir, userProviderRegistryPath, verifyLock, walkForSettings, workspaceProviderRegistryPath, writeLock, writePluginsLockSlice } from '../chunk-5WNQPXEG.js';
|
|
2
|
+
export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-UM4LDXV5.js';
|
|
3
3
|
export { deployedBase, deployedDir, isDeployed } from '../chunk-F3HNW354.js';
|
|
4
4
|
export { DRIVER_DEFAULTS, resolveDriverPaths } from '../chunk-K5GBV4SA.js';
|
|
5
5
|
export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-QVZA2MDT.js';
|
|
6
|
-
export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, STAGED_SKILL_MARKER, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, globalSkaileDir, isWorkspaceConfigFilename, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, pullRepoResult, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, storeManifestSlug, unlinkRepo, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-
|
|
6
|
+
export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SKAILE_YAML_DEFAULT, SKILL_ALLOWLIST_FILE, SKILL_ALLOWLIST_VERSION, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, STAGED_SKILL_MARKER, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, coerceVersion, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, globalSkaileDir, isStagedSkillMarkerFor, isWorkspaceConfigFilename, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, matchPin, mergeLegacyEntriesInto, mergeLegacyEntriesKeyed, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, pullRepoResult, readLinks, readSkillAllowList, resolveAgentDir, resolveAll, resolveAsset, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, resolveSourcePublisher, saveSkWorkspaceConfig, scanRepo, sourceCacheKey, sourceShortName, stageMaterializedSkills, stagedSkillMarkerState, storeManifestSlug, unlinkRepo, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-P2G6XSJ3.js';
|
|
7
7
|
export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS, globalBackendRoot } from '../chunk-MENCWIHW.js';
|
|
8
8
|
export { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, encodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-P4VHQA4N.js';
|
|
9
9
|
export { DEFAULT_FS_DEADLINE_MS, DEFAULT_WALK_BUDGET_MS, DEFAULT_WALK_MAX_DEPTH, DEFAULT_WALK_MAX_ENTRIES, FS_DEADLINE_ENV_VAR, FsDeadlineError, WALK_BUDGET_MS_ENV_VAR, WALK_MAX_DEPTH_ENV_VAR, WALK_MAX_ENTRIES_ENV_VAR, bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, fsDeadlineMs, parseFrontmatter, parseRequires, scanDirectory, tryWithFsDeadline, walkDir, withFsDeadline } from '../chunk-MKZOK4JU.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-UM4LDXV5.js';
|
|
2
|
+
import '../chunk-P2G6XSJ3.js';
|
|
3
3
|
import '../chunk-MENCWIHW.js';
|
|
4
4
|
import '../chunk-P4VHQA4N.js';
|
|
5
5
|
import '../chunk-MKZOK4JU.js';
|
package/dist/core/src/index.d.ts
CHANGED
|
@@ -49,6 +49,6 @@ export { processAlive, processExited, processGroupAlive } from "./process-alive.
|
|
|
49
49
|
export type { ProvenanceCandidate, ProvenanceIndex, SourceClone, } from "./walker.js";
|
|
50
50
|
export { buildProvenanceIndex } from "./walker.js";
|
|
51
51
|
export type { AgentConfig, AgentConfigProfile, AgentContextConfig, AgentHooks, AgentPermissions, AssetRecipe, CompactionConfig, ConnectorDeclaration, ContainerConfig, DecodeResult, Diagnostic, DiagnosticSeverity, GitConfig, HookEntry, McpServerDeclaration, NetworkPolicy, OverrideEntry, RuntimeDefaults, SecretsConfig, SetupEntry, SkWorkspaceConfig, SkWorkspaceConfigFile, SourceDeclaration, SourceEntry, StoreEntry, SubagentConfig, WorkspaceLayoutConfig, } from "./workspace-config.js";
|
|
52
|
-
export { COMPACTION_DEFAULTS, DEFAULT_RECIPE_ATTR, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, findWorkspaceRoot, isWorkspaceConfigFilename, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, resolveAgentDir, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, SKAILE_YAML_DEFAULT, saveSkWorkspaceConfig, STAGED_SKILL_MARKER, stageMaterializedSkills, type UnstageSkillResult, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, } from "./workspace-config.js";
|
|
52
|
+
export { COMPACTION_DEFAULTS, DEFAULT_RECIPE_ATTR, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, findWorkspaceRoot, isWorkspaceConfigFilename, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, resolveAgentDir, resolveGlobalBackends, resolveGlobalSkWorkspaceConfig, resolveSkWorkspaceConfig, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, SKAILE_YAML_DEFAULT, isStagedSkillMarkerFor, readSkillAllowList, SKILL_ALLOWLIST_FILE, SKILL_ALLOWLIST_VERSION, saveSkWorkspaceConfig, STAGED_SKILL_MARKER, type StagedSkillMarkerState, stagedSkillMarkerState, stageMaterializedSkills, type UnstageSkillResult, unstageSkill, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, } from "./workspace-config.js";
|
|
53
53
|
export { WorkspaceYamlEditor } from "./workspace-yaml-editor.js";
|
|
54
54
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1106,6 +1106,46 @@ export declare function stageMaterializedSkills(projectDir: string, skillsDir: s
|
|
|
1106
1106
|
* any extra files a user kept in it, is removed when that skill leaves the set.
|
|
1107
1107
|
*/
|
|
1108
1108
|
export declare const STAGED_SKILL_MARKER = ".skaile-staged";
|
|
1109
|
+
/** What a skill dir's {@link STAGED_SKILL_MARKER} says about who owns it. */
|
|
1110
|
+
export type StagedSkillMarkerState = "named" | "legacy" | "other" | "absent";
|
|
1111
|
+
/**
|
|
1112
|
+
* Read `dir`'s {@link STAGED_SKILL_MARKER}. The runner writes the dir name into
|
|
1113
|
+
* it, so an agent's copy or rename of a staged skill (which carries the marker
|
|
1114
|
+
* along) reads `"other"`. `"legacy"` is an older runner's empty marker: an
|
|
1115
|
+
* explicit, host-named detach may remove it, a sweep may not; the next restage
|
|
1116
|
+
* of an assigned skill rewrites it.
|
|
1117
|
+
*
|
|
1118
|
+
* The marker is agent-writable and this runs under the skill-fs lock, so it is
|
|
1119
|
+
* opened with `O_NOFOLLOW | O_NONBLOCK` (a symlink, FIFO or device never blocks
|
|
1120
|
+
* or streams), must be a regular file of at most {@link MARKER_READ_LIMIT}
|
|
1121
|
+
* bytes, and is read only that far. Anything else is `"other"`, never an
|
|
1122
|
+
* error, so it cannot make a detach fail. Any other failure (a timeout)
|
|
1123
|
+
* throws: callers delete on this.
|
|
1124
|
+
*/
|
|
1125
|
+
export declare function stagedSkillMarkerState(dir: string, name: string): Promise<StagedSkillMarkerState>;
|
|
1126
|
+
/** Whether `dir`'s marker names `name` exactly (the only proof a sweep accepts). */
|
|
1127
|
+
export declare function isStagedSkillMarkerFor(dir: string, name: string): Promise<boolean>;
|
|
1128
|
+
/**
|
|
1129
|
+
* Session-root-relative path of the skill allowlist a host may deliver next to
|
|
1130
|
+
* the materialized assets: `{ "version": 1, "skills": ["<dir name>", ...] }`,
|
|
1131
|
+
* the complete set of skill dir names the host's latest delivery allows. A
|
|
1132
|
+
* restage removes a MARKED staged skill that the list does not name and whose
|
|
1133
|
+
* materialized asset is absent. No list, or one that does not parse, removes
|
|
1134
|
+
* nothing. It sits under `.skaile/assets/` because that is the tree a broker
|
|
1135
|
+
* host can write in the session root, and a delivery that empties that tree
|
|
1136
|
+
* therefore also drops the list until its last write replaces it.
|
|
1137
|
+
*/
|
|
1138
|
+
export declare const SKILL_ALLOWLIST_FILE = ".skaile/assets/skill-allowlist.json";
|
|
1139
|
+
/** The only allowlist format a runner acts on; any other version is ignored. */
|
|
1140
|
+
export declare const SKILL_ALLOWLIST_VERSION = 1;
|
|
1141
|
+
/**
|
|
1142
|
+
* Read {@link SKILL_ALLOWLIST_FILE}. Returns the listed names (a scoped
|
|
1143
|
+
* `@publisher/name` also contributes its dir-name tail), or `null` when there
|
|
1144
|
+
* is no usable list: missing, unreadable, timed out, not valid JSON (a write
|
|
1145
|
+
* still in flight reads as a truncated document), an unknown version, or any
|
|
1146
|
+
* entry that is not a string. `null` means "remove nothing"; never throws.
|
|
1147
|
+
*/
|
|
1148
|
+
export declare function readSkillAllowList(projectDir: string): Promise<ReadonlySet<string> | null>;
|
|
1109
1149
|
/** Outcome of {@link unstageSkill}. */
|
|
1110
1150
|
export type UnstageSkillResult = {
|
|
1111
1151
|
name: string;
|
|
@@ -1124,21 +1164,25 @@ export type UnstageSkillResult = {
|
|
|
1124
1164
|
* {@link stageMaterializedSkills} pass can bring it back. Accepts
|
|
1125
1165
|
* `@publisher/name` (the dir is the unscoped tail).
|
|
1126
1166
|
*
|
|
1127
|
-
* A same-named skills dir
|
|
1128
|
-
*
|
|
1129
|
-
*
|
|
1167
|
+
* A same-named skills dir whose {@link STAGED_SKILL_MARKER} is missing or names
|
|
1168
|
+
* another dir (see {@link stagedSkillMarkerState}) was not staged by this runner
|
|
1169
|
+
* (a catalog deploy, the agent's own skill or its copy of a staged one, or an
|
|
1170
|
+
* older runner's copy never marked) and is never deleted: the result
|
|
1130
1171
|
* carries `reason: "not_staged"`. `.skaile/assets` is per-session in every mode (in
|
|
1131
1172
|
* broker it sits under the session's own root), so removing the asset touches
|
|
1132
1173
|
* no other session.
|
|
1133
1174
|
*
|
|
1134
1175
|
* `opts.knownStaged` is the caller's own record that this runner staged the
|
|
1135
1176
|
* dir (its marker write may have failed); it is then removed without a marker.
|
|
1177
|
+
* `opts.keepAsset` leaves the materialized source alone (it belongs to the
|
|
1178
|
+
* host; a caller that already saw it absent must not delete a fresh delivery).
|
|
1136
1179
|
*
|
|
1137
1180
|
* @throws When `name` is not a plain skill name (path traversal guard), or a
|
|
1138
1181
|
* probe or removal fails for any reason other than the path being absent
|
|
1139
1182
|
*/
|
|
1140
1183
|
export declare function unstageSkill(projectDir: string, skillsDir: string, name: string, opts?: {
|
|
1141
1184
|
knownStaged?: boolean;
|
|
1185
|
+
keepAsset?: boolean;
|
|
1142
1186
|
}): Promise<UnstageSkillResult>;
|
|
1143
1187
|
export declare function loadMcpServerDeclarations(projectDir: string): Promise<McpServerDeclaration[]>;
|
|
1144
1188
|
/**
|