@skaile/workspaces 0.22.0-beta.0 → 0.22.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +221 -0
- package/dist/{asset-feeds-PJDJ3QYI.js → asset-feeds-2M6UKEJ7.js} +13 -14
- package/dist/asset-feeds-2M6UKEJ7.js.map +1 -0
- package/dist/asset-manager/catalog-deployer.d.ts +2 -0
- package/dist/asset-manager/contrib.d.ts +2 -0
- package/dist/asset-manager/fragments.d.ts +2 -0
- package/dist/asset-manager/history.d.ts +2 -0
- package/dist/asset-manager/index.d.ts +2 -0
- package/dist/asset-manager/index.js +7 -7
- package/dist/asset-manager/installer.d.ts +2 -0
- package/dist/asset-manager/installer.js +6 -6
- package/dist/asset-manager/renderers.d.ts +2 -0
- package/dist/asset-manager/src/index.d.ts +18 -7
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/asset-manager/src/installer.d.ts +3 -3
- package/dist/asset-manager/src/installer.d.ts.map +1 -1
- package/dist/base-assets/connectors/deploy.d.ts +2 -0
- package/dist/base-assets/connectors/deploy.js +8 -8
- package/dist/base-assets/connectors/devserver.d.ts +2 -0
- package/dist/base-assets/connectors/devserver.js +8 -8
- package/dist/base-assets/connectors/flow/adapter.js +8 -8
- package/dist/base-assets/connectors/flow/engine.d.ts +2 -0
- package/dist/base-assets/connectors/flow/run-flow.js +9 -9
- package/dist/base-assets/connectors/flow.d.ts +2 -0
- package/dist/base-assets/connectors/flow.js +8 -8
- package/dist/base-assets/connectors/git/driver.d.ts.map +1 -1
- package/dist/base-assets/connectors/git.d.ts +2 -0
- package/dist/base-assets/connectors/git.js +8 -8
- package/dist/base-assets/connectors/gmail.d.ts +2 -0
- package/dist/base-assets/connectors/gmail.js +8 -8
- package/dist/base-assets/connectors/googledrive.d.ts +2 -0
- package/dist/base-assets/connectors/googledrive.js +8 -8
- package/dist/base-assets/connectors/local.d.ts +2 -0
- package/dist/base-assets/connectors/local.js +8 -8
- package/dist/base-assets/connectors/mattermost.d.ts +2 -0
- package/dist/base-assets/connectors/mattermost.js +8 -8
- package/dist/base-assets/connectors/memory.d.ts +2 -0
- package/dist/base-assets/connectors/memory.js +8 -8
- package/dist/base-assets/connectors/minio.d.ts +2 -0
- package/dist/base-assets/connectors/minio.js +8 -8
- package/dist/base-assets/connectors/postgres.d.ts +2 -0
- package/dist/base-assets/connectors/postgres.js +8 -8
- package/dist/base-assets/connectors/s3.d.ts +2 -0
- package/dist/base-assets/connectors/s3.js +8 -8
- package/dist/base-assets/connectors/sharepoint.d.ts +2 -0
- package/dist/base-assets/connectors/sharepoint.js +8 -8
- package/dist/base-assets/connectors/sqlite.d.ts +2 -0
- package/dist/base-assets/connectors/sqlite.js +8 -8
- package/dist/base-assets/connectors/static-server.d.ts +2 -0
- package/dist/base-assets/connectors/static-server.js +8 -8
- package/dist/base-assets/connectors/tunnel.d.ts +2 -0
- package/dist/base-assets/connectors/tunnel.js +8 -8
- package/dist/base-assets/connectors/webdav.d.ts +2 -0
- package/dist/base-assets/connectors/webdav.js +8 -8
- package/dist/base-assets/connectors/xstate-store.d.ts +2 -0
- package/dist/base-assets/connectors/xstate-store.js +8 -8
- package/dist/base-assets/connectors/xstate.d.ts +2 -0
- package/dist/base-assets/connectors/xstate.js +8 -8
- package/dist/bridge/drivers/claude-sdk.d.ts +2 -0
- package/dist/bridge/drivers/claude-sdk.js +2 -2
- package/dist/bridge/drivers/codex.d.ts +2 -0
- package/dist/bridge/drivers/codex.js +2 -2
- package/dist/bridge/drivers/echo.d.ts +2 -0
- package/dist/bridge/drivers/echo.js +2 -2
- package/dist/bridge/drivers/omp.d.ts +2 -0
- package/dist/bridge/drivers/omp.js +2 -2
- package/dist/bridge/index.d.ts +2 -0
- package/dist/bridge/index.js +3 -3
- package/dist/bridge/src/registry.d.ts +4 -2
- package/dist/bridge/src/registry.d.ts.map +1 -1
- package/dist/chunk-32NA4TVC.js +30 -0
- package/dist/chunk-32NA4TVC.js.map +1 -0
- package/dist/{chunk-CSDQBWE6.js → chunk-3KLWGHDE.js} +5 -5
- package/dist/{chunk-CSDQBWE6.js.map → chunk-3KLWGHDE.js.map} +1 -1
- package/dist/{chunk-UZRY5UI2.js → chunk-6E6PKKAD.js} +68 -3
- package/dist/chunk-6E6PKKAD.js.map +1 -0
- package/dist/{chunk-G6GKWGOW.js → chunk-6SA2SIOU.js} +26 -10
- package/dist/chunk-6SA2SIOU.js.map +1 -0
- package/dist/{chunk-IGQEXBBG.js → chunk-6VTG73UY.js} +13 -9
- package/dist/chunk-6VTG73UY.js.map +1 -0
- package/dist/{chunk-TTY56FQQ.js → chunk-74GTZ4TJ.js} +17 -5
- package/dist/chunk-74GTZ4TJ.js.map +1 -0
- package/dist/chunk-7QBNJTTQ.js +3 -0
- package/dist/{chunk-W2O5LWYU.js.map → chunk-7QBNJTTQ.js.map} +1 -1
- package/dist/{chunk-SL6JVGRD.js → chunk-CEUHU3C4.js} +3 -3
- package/dist/{chunk-SL6JVGRD.js.map → chunk-CEUHU3C4.js.map} +1 -1
- package/dist/{chunk-J2FCO6TM.js → chunk-FIHVQFXB.js} +2 -2
- package/dist/{chunk-J2FCO6TM.js.map → chunk-FIHVQFXB.js.map} +1 -1
- package/dist/{chunk-F3MGZ5E6.js → chunk-FVZLCBSX.js} +3 -3
- package/dist/{chunk-F3MGZ5E6.js.map → chunk-FVZLCBSX.js.map} +1 -1
- package/dist/{chunk-7PTP3SQJ.js → chunk-GTS2FODO.js} +32 -7
- package/dist/chunk-GTS2FODO.js.map +1 -0
- package/dist/{chunk-KA46DUM4.js → chunk-I5SGBFMM.js} +51 -3
- package/dist/chunk-I5SGBFMM.js.map +1 -0
- package/dist/{chunk-MO4JPTRD.js → chunk-LDLZFYLR.js} +5 -5
- package/dist/{chunk-MO4JPTRD.js.map → chunk-LDLZFYLR.js.map} +1 -1
- package/dist/{chunk-TKOLD2O7.js → chunk-LDYPQVRU.js} +516 -145
- package/dist/chunk-LDYPQVRU.js.map +1 -0
- package/dist/{chunk-GKM6MDUC.js → chunk-M5JDVO6D.js} +3 -3
- package/dist/{chunk-GKM6MDUC.js.map → chunk-M5JDVO6D.js.map} +1 -1
- package/dist/{chunk-XHFMUGDD.js → chunk-M5TE6YI5.js} +3 -3
- package/dist/{chunk-XHFMUGDD.js.map → chunk-M5TE6YI5.js.map} +1 -1
- package/dist/{chunk-NGC7ZQI4.js → chunk-NICAMYPV.js} +39 -45
- package/dist/chunk-NICAMYPV.js.map +1 -0
- package/dist/{chunk-WIR34WMU.js → chunk-NQL3T75I.js} +24 -59
- package/dist/chunk-NQL3T75I.js.map +1 -0
- package/dist/{chunk-RENHNO4J.js → chunk-P4FYHEHW.js} +206 -137
- package/dist/chunk-P4FYHEHW.js.map +1 -0
- package/dist/{chunk-2DNSSQ22.js → chunk-TWQPDBHB.js} +270 -173
- package/dist/chunk-TWQPDBHB.js.map +1 -0
- package/dist/{chunk-UZVHJ7LX.js → chunk-UBLTUFFI.js} +4 -4
- package/dist/{chunk-UZVHJ7LX.js.map → chunk-UBLTUFFI.js.map} +1 -1
- package/dist/{chunk-X5Y4EGZB.js → chunk-VUCPJBAG.js} +43 -10
- package/dist/chunk-VUCPJBAG.js.map +1 -0
- package/dist/{chunk-PBWMV5GM.js → chunk-WQ7DE5UC.js} +18 -4
- package/dist/chunk-WQ7DE5UC.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.js +258 -262
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/commands/deploy.d.ts.map +1 -1
- package/dist/cli/src/commands/manage.d.ts +22 -31
- package/dist/cli/src/commands/manage.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts +5 -3
- package/dist/cli/src/commands/npx.d.ts.map +1 -1
- package/dist/cli/src/commands/project.d.ts.map +1 -1
- package/dist/cli/src/commands/source.d.ts +7 -0
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts.map +1 -1
- package/dist/cli/src/ensure-sources.d.ts.map +1 -1
- package/dist/client/index.d.ts +2 -0
- package/dist/connectors/config.d.ts +2 -0
- package/dist/connectors/config.js +6 -6
- package/dist/connectors/index.d.ts +2 -0
- package/dist/connectors/index.js +8 -8
- package/dist/connectors/rclone-config.d.ts +2 -0
- package/dist/connectors/rclone.d.ts +2 -0
- package/dist/connectors-shared/index.d.ts +2 -0
- package/dist/core/discovery.d.ts +2 -0
- package/dist/core/driver-targets.d.ts +2 -0
- package/dist/core/framework.d.ts +2 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.js +5 -5
- package/dist/core/logging.d.ts +2 -0
- package/dist/core/manifest.d.ts +2 -0
- package/dist/core/manifest.js +2 -2
- package/dist/core/models.d.ts +2 -0
- package/dist/core/models.js +1 -1
- package/dist/core/runtime-assets.d.ts +2 -0
- package/dist/core/runtime-assets.js +4 -4
- package/dist/core/src/index.d.ts +7 -5
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/lock.d.ts +47 -26
- package/dist/core/src/lock.d.ts.map +1 -1
- package/dist/core/src/manifest.d.ts.map +1 -1
- package/dist/core/src/models.d.ts +61 -49
- package/dist/core/src/models.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +79 -36
- package/dist/core/src/repo-manager.d.ts.map +1 -1
- package/dist/core/src/runtime-assets.d.ts.map +1 -1
- package/dist/core/src/walker.d.ts +52 -0
- package/dist/core/src/walker.d.ts.map +1 -0
- package/dist/core/src/workspace-config.d.ts +160 -45
- package/dist/core/src/workspace-config.d.ts.map +1 -1
- package/dist/core/src/workspace-yaml-editor.d.ts +33 -16
- package/dist/core/src/workspace-yaml-editor.d.ts.map +1 -1
- package/dist/core/store.d.ts +2 -0
- package/dist/core/workspace-config.d.ts +2 -0
- package/dist/core/workspace-config.js +3 -3
- package/dist/deploy/index.d.ts +2 -0
- package/dist/deploy/index.js +167 -52
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/src/index.d.ts +4 -3
- package/dist/deploy/src/index.d.ts.map +1 -1
- package/dist/deploy/src/targets/container-runtime.d.ts +1 -0
- package/dist/deploy/src/targets/container-runtime.d.ts.map +1 -1
- package/dist/deploy/src/targets/docker.d.ts +1 -0
- package/dist/deploy/src/targets/docker.d.ts.map +1 -1
- package/dist/deploy/src/targets/local.d.ts.map +1 -1
- package/dist/deploy/src/targets/nix.d.ts +36 -0
- package/dist/deploy/src/targets/nix.d.ts.map +1 -0
- package/dist/deploy/src/targets/podman.d.ts +1 -0
- package/dist/deploy/src/targets/podman.d.ts.map +1 -1
- package/dist/deploy/src/targets/process-handle.d.ts +34 -0
- package/dist/deploy/src/targets/process-handle.d.ts.map +1 -0
- package/dist/discovery/index.d.ts +2 -0
- package/dist/discovery/index.js +3 -3
- package/dist/discovery/src/source-config.d.ts +2 -2
- package/dist/{ensure-sources-COGVKY44.js → ensure-sources-ALTI5PXR.js} +20 -16
- package/dist/ensure-sources-ALTI5PXR.js.map +1 -0
- package/dist/library/index.d.ts +2 -0
- package/dist/library/index.js +4 -4
- package/dist/library/src/remote/remote-catalog-source.d.ts +17 -0
- package/dist/library/src/remote/remote-catalog-source.d.ts.map +1 -1
- package/dist/open-library-EEGG6RDN.js +13 -0
- package/dist/{open-library-DWAQFUSQ.js.map → open-library-EEGG6RDN.js.map} +1 -1
- package/dist/plugin-registry/index.d.ts +2 -0
- package/dist/plugin-registry/index.js +1 -1
- package/dist/plugin-registry/src/context.d.ts +30 -1
- package/dist/plugin-registry/src/context.d.ts.map +1 -1
- package/dist/plugin-registry/src/deploy-handle.d.ts +17 -1
- package/dist/plugin-registry/src/deploy-handle.d.ts.map +1 -1
- package/dist/plugin-registry/src/deploy-helpers.d.ts +69 -0
- package/dist/plugin-registry/src/deploy-helpers.d.ts.map +1 -0
- package/dist/plugin-registry/src/index.d.ts +6 -4
- 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/registry.d.ts +1 -0
- package/dist/plugin-registry/src/registry.d.ts.map +1 -1
- package/dist/plugin-registry/src/targets.d.ts +4 -0
- package/dist/plugin-registry/src/targets.d.ts.map +1 -1
- package/dist/{plugin-store-6OENKNFW.js → plugin-store-G277ZX3B.js} +8 -8
- package/dist/{plugin-store-6OENKNFW.js.map → plugin-store-G277ZX3B.js.map} +1 -1
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/src/catalog-source.d.ts +5 -0
- package/dist/plugins/src/catalog-source.d.ts.map +1 -1
- package/dist/resolver/index.d.ts +2 -0
- package/dist/runner/index.d.ts +2 -0
- package/dist/runner/index.js +17 -16
- package/dist/runner/prompt-assembly.d.ts +2 -0
- package/dist/runner/src/resources.d.ts.map +1 -1
- package/dist/runner/src/serve.d.ts +7 -0
- package/dist/runner/src/serve.d.ts.map +1 -1
- package/dist/sdk/asset-manager.d.ts +2 -0
- package/dist/sdk/asset-manager.js +7 -7
- package/dist/sdk/bridge.d.ts +2 -0
- package/dist/sdk/bridge.js +3 -3
- package/dist/sdk/client.d.ts +2 -0
- package/dist/sdk/core.d.ts +2 -0
- package/dist/sdk/core.js +5 -5
- package/dist/sdk/flow.d.ts +2 -0
- package/dist/sdk/index.d.ts +2 -0
- package/dist/sdk/index.js +53 -19
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/resolver.d.ts +2 -0
- package/dist/sdk/runner.d.ts +2 -0
- package/dist/sdk/runner.js +17 -16
- package/dist/sdk/session.d.ts +2 -0
- package/dist/sdk/src/local-runtime.d.ts +8 -0
- package/dist/sdk/src/local-runtime.d.ts.map +1 -1
- package/dist/sdk/src/transport.d.ts +7 -1
- package/dist/sdk/src/transport.d.ts.map +1 -1
- package/dist/sdk/store.d.ts +2 -0
- package/dist/sdk/telemetry.d.ts +2 -0
- package/dist/sdk/transport/ws/client.d.ts +2 -0
- package/dist/sdk/transport/ws/client.js +2 -1
- package/dist/sdk/transport/ws/server.d.ts +2 -0
- package/dist/sdk/transport/ws/server.js +2 -1
- package/dist/sdk/transport/ws.d.ts +2 -0
- package/dist/sdk/transport/ws.js +4 -3
- package/dist/sdk/transport.d.ts +2 -0
- package/dist/sdk/transport.js +4 -3
- package/dist/sdk/types.d.ts +2 -0
- package/dist/secrets/index.d.ts +2 -0
- package/dist/session/index.d.ts +2 -0
- package/dist/{setup-ACMP3QZC.js → setup-REX4I5NE.js} +10 -10
- package/dist/{setup-ACMP3QZC.js.map → setup-REX4I5NE.js.map} +1 -1
- package/dist/store/index.d.ts +2 -0
- package/dist/store/react.d.ts +2 -0
- package/dist/store/vue.d.ts +2 -0
- package/dist/store-client-IX3Y67NK.js +14 -0
- package/dist/{store-client-ZSLNOOQG.js.map → store-client-IX3Y67NK.js.map} +1 -1
- package/dist/telemetry/index.d.ts +2 -0
- package/dist/transport/index.d.ts +2 -0
- package/dist/transport/index.js +4 -3
- package/dist/transport/src/ws/auth.d.ts +34 -0
- package/dist/transport/src/ws/auth.d.ts.map +1 -0
- package/dist/transport/src/ws/client.d.ts +4 -0
- package/dist/transport/src/ws/client.d.ts.map +1 -1
- package/dist/transport/src/ws/index.d.ts +3 -2
- package/dist/transport/src/ws/index.d.ts.map +1 -1
- package/dist/transport/src/ws/server.d.ts +5 -0
- package/dist/transport/src/ws/server.d.ts.map +1 -1
- package/dist/transport/ws/client.d.ts +2 -0
- package/dist/transport/ws/client.js +2 -1
- package/dist/transport/ws/server.d.ts +2 -0
- package/dist/transport/ws/server.js +2 -1
- package/dist/transport/ws.d.ts +2 -0
- package/dist/transport/ws.js +4 -3
- package/dist/tui/index.d.ts +2 -0
- package/dist/tui/index.js +17 -16
- package/dist/tui/index.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/manifests.d.ts +2 -0
- package/dist/workspace-plugin/adapters/mcp.d.ts +2 -0
- package/dist/workspace-plugin/adapters/omp.d.ts +2 -0
- package/dist/workspace-plugin/index.d.ts +2 -0
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +4 -2
- package/dist/asset-feeds-PJDJ3QYI.js.map +0 -1
- package/dist/chunk-2DNSSQ22.js.map +0 -1
- package/dist/chunk-7PTP3SQJ.js.map +0 -1
- package/dist/chunk-G6GKWGOW.js.map +0 -1
- package/dist/chunk-IGQEXBBG.js.map +0 -1
- package/dist/chunk-KA46DUM4.js.map +0 -1
- package/dist/chunk-NGC7ZQI4.js.map +0 -1
- package/dist/chunk-PBWMV5GM.js.map +0 -1
- package/dist/chunk-RENHNO4J.js.map +0 -1
- package/dist/chunk-TKOLD2O7.js.map +0 -1
- package/dist/chunk-TTY56FQQ.js.map +0 -1
- package/dist/chunk-UZRY5UI2.js.map +0 -1
- package/dist/chunk-W2O5LWYU.js +0 -3
- package/dist/chunk-WIR34WMU.js.map +0 -1
- package/dist/chunk-X5Y4EGZB.js.map +0 -1
- package/dist/ensure-sources-COGVKY44.js.map +0 -1
- package/dist/open-library-DWAQFUSQ.js +0 -13
- package/dist/store-client-ZSLNOOQG.js +0 -14
|
@@ -29,6 +29,8 @@ export interface Dependency {
|
|
|
29
29
|
kind: string;
|
|
30
30
|
/** Asset name within that kind. */
|
|
31
31
|
name: string;
|
|
32
|
+
/** Canonical publisher namespace (when known). */
|
|
33
|
+
publisher?: string;
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
34
36
|
* Parse a `"kind:name"` dependency string, or a bare `"name"` (defaults kind to `"skill"`).
|
|
@@ -60,10 +62,14 @@ export interface CatalogEntry {
|
|
|
60
62
|
description: string;
|
|
61
63
|
/** Absolute path to manifest file */
|
|
62
64
|
source: string;
|
|
63
|
-
/**
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
|
|
65
|
+
/** Canonical publisher namespace this asset belongs to (formerly `repository`). */
|
|
66
|
+
publisher?: string;
|
|
67
|
+
/**
|
|
68
|
+
* `"<org>/<repo>"` coordinate the asset came from. Absent → the asset groups
|
|
69
|
+
* directly under its publisher (local library with no git remote, or a
|
|
70
|
+
* non-GitHub source). Replaces the former derived `domain` axis.
|
|
71
|
+
*/
|
|
72
|
+
repo?: string;
|
|
67
73
|
/** Semantic version string (may be empty if not declared in the manifest). */
|
|
68
74
|
version: string;
|
|
69
75
|
/** Skills, agents, or other assets this entry depends on. */
|
|
@@ -77,6 +83,8 @@ export interface CatalogEntry {
|
|
|
77
83
|
* requiring verbose inline config in `skaile.yaml`.
|
|
78
84
|
*/
|
|
79
85
|
metadata?: Record<string, unknown>;
|
|
86
|
+
/** Curated facet, surfaced as a badge in the manage TUI (not a tree axis). */
|
|
87
|
+
category?: string;
|
|
80
88
|
}
|
|
81
89
|
/**
|
|
82
90
|
* Construct a CatalogEntry from a raw deserialized record (e.g. from catalog.yaml).
|
|
@@ -95,31 +103,42 @@ export declare function entryFromRaw(d: Record<string, unknown>): CatalogEntry;
|
|
|
95
103
|
*/
|
|
96
104
|
export declare function entryToRaw(e: CatalogEntry): Record<string, unknown>;
|
|
97
105
|
/**
|
|
98
|
-
* A parsed asset reference: `kind:name[
|
|
106
|
+
* A parsed asset reference: `kind:name@<publisher>[#pin]`.
|
|
107
|
+
*
|
|
108
|
+
* `publisher` is the canonical, GitHub-shaped publisher namespace (≤39 chars,
|
|
109
|
+
* alphanumeric+hyphen). `pin` is a SemVer constraint, exact SHA, or absent.
|
|
110
|
+
* Floating refs (`main`, `latest`, `HEAD`) are rejected at parse time.
|
|
111
|
+
*
|
|
99
112
|
* Produced by `parseAssetRef`; consumed by `resolveAsset` and `resolveAll`.
|
|
100
113
|
* @docLink packages/core/concepts#asset-ref
|
|
101
114
|
*/
|
|
102
115
|
export interface AssetRef {
|
|
103
116
|
kind: string;
|
|
104
117
|
name: string;
|
|
105
|
-
/**
|
|
106
|
-
|
|
107
|
-
|
|
118
|
+
/** Canonical publisher namespace. Optional only for ambiguity-resolution
|
|
119
|
+
* during migration; new manifests require it. */
|
|
120
|
+
publisher?: string;
|
|
121
|
+
/** SemVer constraint (^1.4.0, ~1.4, 1.x, exact 1.4.0), 40-char SHA, or undefined. */
|
|
108
122
|
pin?: string;
|
|
109
123
|
}
|
|
110
124
|
/**
|
|
111
|
-
* Parse
|
|
125
|
+
* Parse a canonical asset reference string into an `AssetRef` object.
|
|
112
126
|
*
|
|
113
|
-
*
|
|
114
|
-
* "skill:
|
|
115
|
-
* "skill:
|
|
116
|
-
* "skill:
|
|
117
|
-
*
|
|
127
|
+
* Grammar: `kind:name@<publisher>[#pin]`
|
|
128
|
+
* "skill:audit@skaile-ai" → { kind: "skill", name: "audit", publisher: "skaile-ai" }
|
|
129
|
+
* "skill:audit@skaile-ai#^1.4.0" → { …, pin: "^1.4.0" }
|
|
130
|
+
* "skill:audit@skaile-ai#<40-sha>" → { …, pin: "<40-sha>" }
|
|
131
|
+
*
|
|
132
|
+
* `<publisher>` is required and GitHub-shaped (≤39 chars, alphanumeric+hyphen,
|
|
133
|
+
* no leading/trailing or double hyphen). `pin` accepts a SemVer constraint
|
|
134
|
+
* (`^`, `~`, `x`, exact), a 40-char SHA, or is absent. Floating refs
|
|
135
|
+
* (`main`/`latest`/`HEAD`/anything non-canonical) are parse-time errors.
|
|
118
136
|
*
|
|
119
137
|
* The shorthand `mcp:` is normalized to `mcp-server:`.
|
|
120
138
|
*
|
|
121
139
|
* @param s - Asset reference string
|
|
122
140
|
* @returns Parsed `AssetRef`
|
|
141
|
+
* @throws When the publisher is missing/malformed or the pin is a floating ref.
|
|
123
142
|
* @docLink packages/core/concepts#parse-asset-ref
|
|
124
143
|
*/
|
|
125
144
|
export declare function parseAssetRef(s: string): AssetRef;
|
|
@@ -139,54 +158,47 @@ export declare function assetRefToStr(ref: AssetRef): string;
|
|
|
139
158
|
* @docLink packages/core/concepts#asset-ref-to-dep
|
|
140
159
|
*/
|
|
141
160
|
export declare function assetRefToDep(ref: AssetRef): Dependency;
|
|
142
|
-
/**
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
*/
|
|
147
|
-
export interface LockRepository {
|
|
148
|
-
/** Remote git URL (for cloned repos). */
|
|
149
|
-
url?: string;
|
|
150
|
-
/** Local filesystem path (for path repos). */
|
|
151
|
-
path?: string;
|
|
152
|
-
/** Branch that was locked. */
|
|
153
|
-
branch: string;
|
|
154
|
-
/** HEAD commit SHA at lock time. */
|
|
155
|
-
commit?: string;
|
|
161
|
+
/** A path/sha256 pair recorded for one file inside a locked asset. */
|
|
162
|
+
export interface LockFileEntry {
|
|
163
|
+
path: string;
|
|
164
|
+
sha256: string;
|
|
156
165
|
}
|
|
157
166
|
/**
|
|
158
|
-
* Per-asset entry in the lock file.
|
|
159
|
-
*
|
|
167
|
+
* Per-asset entry in the lock file (v2 schema).
|
|
168
|
+
* Keyed in `LockFile.assets` by canonical ref (`<publisher>/<kind>:<name>@<version>`).
|
|
160
169
|
* @docLink packages/core/api-reference#lock-entry
|
|
161
170
|
*/
|
|
162
171
|
export interface LockEntry {
|
|
163
|
-
/**
|
|
164
|
-
|
|
165
|
-
/**
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
172
|
+
/** Composite sha256 over sorted `<path>:<sha256>\n` rows. */
|
|
173
|
+
sha256: string;
|
|
174
|
+
/** Resolved upstream source + commit. */
|
|
175
|
+
source: {
|
|
176
|
+
url: string;
|
|
177
|
+
commit: string;
|
|
178
|
+
};
|
|
179
|
+
/** Files that constitute the asset. */
|
|
180
|
+
files: LockFileEntry[];
|
|
181
|
+
/** True when an `overrides[]` entry pinned this resolution. */
|
|
182
|
+
override_applied: boolean;
|
|
183
|
+
}
|
|
184
|
+
/** Per-source-URL entry in `LockFile.sources`. */
|
|
185
|
+
export interface LockSourceEntry {
|
|
186
|
+
url: string;
|
|
187
|
+
commit: string;
|
|
175
188
|
}
|
|
176
189
|
/**
|
|
177
|
-
* Full skaile.lock.yaml structure.
|
|
178
|
-
* Captures the complete resolved state of all asset dependencies at install time.
|
|
190
|
+
* Full skaile.lock.yaml structure (v2 schema).
|
|
179
191
|
* @docLink packages/core/api-reference#lock-file
|
|
180
192
|
*/
|
|
181
193
|
export interface LockFile {
|
|
182
|
-
/** Lock file schema version. */
|
|
183
|
-
|
|
194
|
+
/** Lock file schema version. v2 is canonical. */
|
|
195
|
+
schema_version: 2;
|
|
184
196
|
/** ISO timestamp of when the lock was generated. */
|
|
185
197
|
locked_at: string;
|
|
186
|
-
/**
|
|
187
|
-
repositories: Record<string, LockRepository>;
|
|
188
|
-
/** All resolved assets keyed by "kind:name". */
|
|
198
|
+
/** Resolved assets keyed by canonical ref `<publisher>/<kind>:<name>@<version>`. */
|
|
189
199
|
assets: Record<string, LockEntry>;
|
|
200
|
+
/** Every source URL that contributed at least one resolved asset. */
|
|
201
|
+
sources: LockSourceEntry[];
|
|
190
202
|
/**
|
|
191
203
|
* Resolved plugin packages (from `skaile.yaml` `plugins:`), keyed by package
|
|
192
204
|
* name. The plugin-store reconciler reads this slice into its reconcile-hash
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../core/src/models.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../../core/src/models.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
* Supports partial clone + sparse checkout for large repos.
|
|
9
9
|
*/
|
|
10
10
|
import type { AssetRef, CatalogEntry } from "./models.js";
|
|
11
|
-
import type {
|
|
11
|
+
import type { OverrideEntry, SourceDeclaration, StoreEntry } from "./workspace-config.js";
|
|
12
|
+
import type { ProvenanceCandidate, ProvenanceIndex } from "./walker.js";
|
|
12
13
|
/**
|
|
13
14
|
* Return the global shared repo cache directory (`~/.skaile/repos` by default).
|
|
14
15
|
* Override with the `SKAILE_CACHE_DIR` environment variable.
|
|
@@ -104,7 +105,8 @@ export declare function unlinkRepo(projectDir: string, repoName: string): boolea
|
|
|
104
105
|
*
|
|
105
106
|
* Resolution order:
|
|
106
107
|
* 1. Linked override (`.skaile/links.yaml`) — highest priority
|
|
107
|
-
* 2. Local path (`decl.path`) — direct filesystem reference
|
|
108
|
+
* 2. Local path (`decl.path`) — direct filesystem reference; a bare path must
|
|
109
|
+
* already exist, but a url-backed managed cache dir is cloned in-place on miss
|
|
108
110
|
* 3. Remote URL (`decl.url`) — cloned to the shared global cache, symlinked into `.skaile/repos/`
|
|
109
111
|
*
|
|
110
112
|
* Pin support: when `opts.pin` is provided, the tag/commit is checked out after clone.
|
|
@@ -117,13 +119,27 @@ export declare function unlinkRepo(projectDir: string, repoName: string): boolea
|
|
|
117
119
|
* @throws When the repository cannot be resolved or cloned
|
|
118
120
|
* @docLink packages/core/api-reference#ensure-repo
|
|
119
121
|
*/
|
|
120
|
-
export declare function ensureRepo(decl:
|
|
122
|
+
export declare function ensureRepo(decl: SourceDeclaration, name: string, reposDir: string, opts?: {
|
|
121
123
|
pin?: string;
|
|
122
124
|
projectDir?: string;
|
|
123
125
|
}): string;
|
|
126
|
+
/**
|
|
127
|
+
* Derive the `"<org>/<repo>"` slug from a directory's git `origin` remote.
|
|
128
|
+
* Returns `undefined` when `rootDir` is not a git repo, has no `origin` remote,
|
|
129
|
+
* or the URL is not a parseable GitHub repo. Mirrors the store's
|
|
130
|
+
* `repoSlugFromSourceUrl` so local and remote feeds key the grouping tree
|
|
131
|
+
* identically.
|
|
132
|
+
*
|
|
133
|
+
* @param rootDir - Absolute path to the scanned repository root
|
|
134
|
+
* @returns `"<org>/<repo>"` or `undefined`
|
|
135
|
+
* @docLink packages/core/api-reference#repo-slug-from-git-remote
|
|
136
|
+
*/
|
|
137
|
+
export declare function repoSlugFromGitRemote(rootDir: string): string | undefined;
|
|
124
138
|
/**
|
|
125
139
|
* Scan a repository directory and return all discovered asset catalog entries.
|
|
126
|
-
* Delegates to `scanDirectory` from `manifest.ts
|
|
140
|
+
* Delegates to `scanDirectory` from `manifest.ts`, then stamps the `repo` slug
|
|
141
|
+
* derived once from the root's git remote onto every entry (the GitHub
|
|
142
|
+
* coordinate is a property of the scanned root, not of individual assets).
|
|
127
143
|
*
|
|
128
144
|
* @param repoDir - Absolute path to the repository root
|
|
129
145
|
* @param repoName - Repository name attached to each produced entry
|
|
@@ -146,55 +162,82 @@ export declare function scanRepo(repoDir: string, repoName: string): CatalogEntr
|
|
|
146
162
|
* @returns Matching `CatalogEntry`, or `null` if not found in any repository
|
|
147
163
|
* @docLink packages/core/api-reference#resolve-asset
|
|
148
164
|
*/
|
|
149
|
-
export declare function resolveAsset(ref: AssetRef, repositories: Record<string,
|
|
165
|
+
export declare function resolveAsset(ref: AssetRef, repositories: Record<string, SourceDeclaration>, reposDir: string, opts?: {
|
|
150
166
|
projectDir?: string;
|
|
151
167
|
preferRepo?: string;
|
|
152
168
|
}): CatalogEntry | null;
|
|
153
169
|
/**
|
|
154
|
-
*
|
|
155
|
-
*
|
|
156
|
-
*
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
170
|
+
* Hard error raised when two or more candidates for the same canonical ref
|
|
171
|
+
* `<publisher>/<kind>:<name>@<version>` disagree on their content sha256 and no
|
|
172
|
+
* `overrides[]` entry resolves the conflict. The message walks the dep chain
|
|
173
|
+
* back to the user-declared root.
|
|
174
|
+
* @docLink packages/core/api-reference#canonical-ref-conflict-error
|
|
175
|
+
*/
|
|
176
|
+
export declare class CanonicalRefConflictError extends Error {
|
|
177
|
+
ref: string;
|
|
178
|
+
candidates: ProvenanceCandidate[];
|
|
179
|
+
depChain: string[];
|
|
180
|
+
constructor(ref: string, candidates: ProvenanceCandidate[], depChain: string[]);
|
|
165
181
|
}
|
|
166
182
|
/**
|
|
167
183
|
* Result of a full transitive dependency resolution via `resolveAll`.
|
|
168
184
|
* @docLink packages/core/api-reference#resolve-result
|
|
169
185
|
*/
|
|
170
186
|
export interface ResolveResult {
|
|
171
|
-
/**
|
|
172
|
-
resolved:
|
|
173
|
-
/** Refs that
|
|
187
|
+
/** Resolved candidates in leaf-first order. */
|
|
188
|
+
resolved: ProvenanceCandidate[];
|
|
189
|
+
/** Refs that no source / store could provide. */
|
|
174
190
|
missing: string[];
|
|
175
|
-
/**
|
|
191
|
+
/** "<publisher>/<kind>:<name>" → parent ref ("direct" if user-declared). */
|
|
176
192
|
resolvedBy: Map<string, string>;
|
|
177
|
-
/**
|
|
178
|
-
|
|
193
|
+
/** Overrides that were applied (lock-side bookkeeping); canonical refs. */
|
|
194
|
+
overridesApplied: Set<string>;
|
|
195
|
+
}
|
|
196
|
+
/** Minimal store fetcher contract used by the resolver for the catalog branch. */
|
|
197
|
+
export interface StoreFetcher {
|
|
198
|
+
getInstallManifest(storeUrl: string, ref: string): Promise<{
|
|
199
|
+
sourceUrl: string;
|
|
200
|
+
commit: string;
|
|
201
|
+
sha256: string;
|
|
202
|
+
files: Array<{
|
|
203
|
+
path: string;
|
|
204
|
+
sha256: string;
|
|
205
|
+
}>;
|
|
206
|
+
} | null>;
|
|
207
|
+
getCanonicalDigest(storeUrl: string, ref: string): Promise<{
|
|
208
|
+
sha256: string;
|
|
209
|
+
} | null>;
|
|
210
|
+
}
|
|
211
|
+
/** Options for {@link resolveAll}. */
|
|
212
|
+
export interface ResolveOpts {
|
|
213
|
+
/** Source-side candidate index built by the walker. */
|
|
214
|
+
provenanceIndex: ProvenanceIndex;
|
|
215
|
+
/** Conflict-resolution overrides (with required reason). */
|
|
216
|
+
overrides: OverrideEntry[];
|
|
217
|
+
/** Trusted store catalogs. */
|
|
218
|
+
stores: StoreEntry[];
|
|
219
|
+
/** Lazy store fetcher; only used when `stores[]` is non-empty. */
|
|
220
|
+
storeFetcher?: StoreFetcher;
|
|
221
|
+
projectDir?: string;
|
|
179
222
|
}
|
|
180
223
|
/**
|
|
181
|
-
* Resolve all dependencies
|
|
182
|
-
*
|
|
224
|
+
* Resolve all dependencies against a content-hash-verified candidate set drawn
|
|
225
|
+
* from every source clone and (optionally) every store.
|
|
183
226
|
*
|
|
184
|
-
*
|
|
185
|
-
*
|
|
186
|
-
*
|
|
227
|
+
* Per dep ref: gather source candidates, optionally extend with store
|
|
228
|
+
* candidates, filter by the SemVer/SHA pin, pick the highest matching version,
|
|
229
|
+
* then detect conflicts — divergent sha256 for the same
|
|
230
|
+
* `(publisher, kind, name, version)` is a hard {@link CanonicalRefConflictError}
|
|
231
|
+
* unless an `overrides[]` entry pins a source. A cheap `getCanonicalDigest`
|
|
232
|
+
* cross-check runs when both a source and a store produced a candidate at the
|
|
233
|
+
* chosen version.
|
|
187
234
|
*
|
|
188
|
-
* @param deps - Top-level asset ref strings
|
|
189
|
-
* @param
|
|
190
|
-
* @
|
|
191
|
-
* @param opts - Optional: `projectDir` for link lookup
|
|
192
|
-
* @returns `ResolveResult` with resolved entries, missing refs, provenance map, and collisions
|
|
235
|
+
* @param deps - Top-level canonical asset ref strings (`kind:name@<publisher>[#pin]`).
|
|
236
|
+
* @param opts - Provenance index, overrides, stores, and an optional store fetcher.
|
|
237
|
+
* @returns `ResolveResult` with resolved candidates, missing refs, provenance map, applied overrides.
|
|
193
238
|
* @docLink packages/core/api-reference#resolve-all
|
|
194
239
|
*/
|
|
195
|
-
export declare function resolveAll(deps: string[],
|
|
196
|
-
projectDir?: string;
|
|
197
|
-
}): ResolveResult;
|
|
240
|
+
export declare function resolveAll(deps: string[], opts: ResolveOpts): Promise<ResolveResult>;
|
|
198
241
|
/**
|
|
199
242
|
* Status summary for a repository — local HEAD, remote HEAD, and how far behind.
|
|
200
243
|
* @docLink packages/core/api-reference#repo-status
|
|
@@ -228,5 +271,5 @@ export interface RepoStatus {
|
|
|
228
271
|
* @returns `RepoStatus` describing the current state
|
|
229
272
|
* @docLink packages/core/api-reference#check-repo-status
|
|
230
273
|
*/
|
|
231
|
-
export declare function checkRepoStatus(decl:
|
|
274
|
+
export declare function checkRepoStatus(decl: SourceDeclaration, name: string, reposDir: string, projectDir?: string): RepoStatus;
|
|
232
275
|
//# sourceMappingURL=repo-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repo-manager.d.ts","sourceRoot":"","sources":["../../../core/src/repo-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"repo-manager.d.ts","sourceRoot":"","sources":["../../../core/src/repo-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-assets.d.ts","sourceRoot":"","sources":["../../../core/src/runtime-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-assets.d.ts","sourceRoot":"","sources":["../../../core/src/runtime-assets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgChD;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,wDAAwD;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,sDAAsD;IACtD,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,gBAAgB,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,YAAY,EAAE,eAAe,EAAE,CAAC;IAChC,eAAe,EAAE,cAAc,CAAC;IAChC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,0EAA0E;IAC1E,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB;;;OAGG;IACH,SAAS,CAAC,KAAK,EAAE;QAAE,IAAI,CAAC,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,mBAAmB,GAAG,SAAS,CAAC;CACzF;AAID;;;;;;;;;;;;GAYG;AACH,wBAAsB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAc3F;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAsB9C"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Provenance-index walker.
|
|
3
|
+
*
|
|
4
|
+
* Given a list of cloned source paths plus their resolved commits, walk each
|
|
5
|
+
* clone, read the publication-half `skaile.yaml` (or fall back to the
|
|
6
|
+
* agentskills.io filename layout), compute per-file and composite sha256s, and
|
|
7
|
+
* build a {@link ProvenanceIndex} keyed by `<publisher>/<kind>:<name>`.
|
|
8
|
+
*
|
|
9
|
+
* This is the source-side half of the canonical-identity resolution model: the
|
|
10
|
+
* resolver compares these candidates against store-side candidates and detects
|
|
11
|
+
* divergent content hashes for the same `(publisher, kind, name, version)`.
|
|
12
|
+
*/
|
|
13
|
+
/** One cloned source repo, pinned at a resolved commit. */
|
|
14
|
+
export interface SourceClone {
|
|
15
|
+
localPath: string;
|
|
16
|
+
sourceUrl: string;
|
|
17
|
+
/** 40-char SHA. */
|
|
18
|
+
commit: string;
|
|
19
|
+
/** Optional tag context for the version waterfall (step 3). */
|
|
20
|
+
tag?: string;
|
|
21
|
+
}
|
|
22
|
+
/** One resolved candidate in the provenance index. */
|
|
23
|
+
export interface ProvenanceCandidate {
|
|
24
|
+
publisher: string;
|
|
25
|
+
kind: string;
|
|
26
|
+
name: string;
|
|
27
|
+
/** Canonical semver string (or `0.0.0-sha.<7char>`). */
|
|
28
|
+
version: string;
|
|
29
|
+
sourceUrl: string;
|
|
30
|
+
commit: string;
|
|
31
|
+
files: Array<{
|
|
32
|
+
path: string;
|
|
33
|
+
sha256: string;
|
|
34
|
+
}>;
|
|
35
|
+
/** Composite sha256 over sorted `<path>:<sha256>\n` rows. */
|
|
36
|
+
sha256: string;
|
|
37
|
+
/** Parsed content frontmatter (mcp-server defaults etc.). */
|
|
38
|
+
metadata?: Record<string, unknown>;
|
|
39
|
+
}
|
|
40
|
+
export type ProvenanceIndex = Map<string, ProvenanceCandidate[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Walk a list of source clones into a provenance index.
|
|
43
|
+
*
|
|
44
|
+
* @param clones - Cloned source repos pinned at resolved commits.
|
|
45
|
+
* @returns Map of `<publisher>/<kind>:<name>` → candidates.
|
|
46
|
+
* @throws On a SKILL.md name mismatch or a missing publisher for a non-GitHub source.
|
|
47
|
+
* @docLink packages/core/workspace-config#build-provenance-index
|
|
48
|
+
*/
|
|
49
|
+
export declare function buildProvenanceIndex(clones: SourceClone[], _opts?: {
|
|
50
|
+
projectDir?: string;
|
|
51
|
+
}): ProvenanceIndex;
|
|
52
|
+
//# sourceMappingURL=walker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../../../core/src/walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,2DAA2D;AAC3D,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;AA8CjE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC9B,eAAe,CAIjB"}
|