@skaile/workspaces 0.43.0 → 0.44.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 +37 -0
- package/dist/{asset-feeds-3PSV57NT.js → asset-feeds-EGSG4FUB.js} +15 -11
- package/dist/asset-feeds-EGSG4FUB.js.map +1 -0
- package/dist/asset-manager/index.js +5 -5
- package/dist/asset-manager/installer.js +4 -4
- package/dist/asset-manager/src/index.d.ts +102 -4
- package/dist/asset-manager/src/index.d.ts.map +1 -1
- package/dist/{chunk-XMKBIVG3.js → chunk-5LHPKVGR.js} +9 -9
- package/dist/{chunk-XMKBIVG3.js.map → chunk-5LHPKVGR.js.map} +1 -1
- package/dist/{chunk-4UTJNFUS.js → chunk-7NQXVBCQ.js} +5 -5
- package/dist/{chunk-4UTJNFUS.js.map → chunk-7NQXVBCQ.js.map} +1 -1
- package/dist/{chunk-KYQNWFJV.js → chunk-BLGHFVXE.js} +3 -3
- package/dist/{chunk-KYQNWFJV.js.map → chunk-BLGHFVXE.js.map} +1 -1
- package/dist/{chunk-R4H6EJW5.js → chunk-CBZEIFU4.js} +3 -3
- package/dist/{chunk-R4H6EJW5.js.map → chunk-CBZEIFU4.js.map} +1 -1
- package/dist/{chunk-GJI6FZ56.js → chunk-COSTF7QW.js} +60 -8
- package/dist/chunk-COSTF7QW.js.map +1 -0
- package/dist/{chunk-NYMRKIOR.js → chunk-CVWA4RIK.js} +4 -4
- package/dist/{chunk-NYMRKIOR.js.map → chunk-CVWA4RIK.js.map} +1 -1
- package/dist/{chunk-BXYMGZCI.js → chunk-ETDXTGDF.js} +3 -3
- package/dist/{chunk-BXYMGZCI.js.map → chunk-ETDXTGDF.js.map} +1 -1
- package/dist/{chunk-TDSRLMDB.js → chunk-EVZKWY5J.js} +2 -2
- package/dist/chunk-EVZKWY5J.js.map +1 -0
- package/dist/{chunk-3HUUP3JC.js → chunk-FYLIR4AV.js} +107 -7
- package/dist/chunk-FYLIR4AV.js.map +1 -0
- package/dist/{chunk-G6FJZG4C.js → chunk-GM3BV6JK.js} +2 -2
- package/dist/{chunk-G6FJZG4C.js.map → chunk-GM3BV6JK.js.map} +1 -1
- package/dist/{chunk-R2SKIYU2.js → chunk-JUZLVRI4.js} +265 -38
- package/dist/chunk-JUZLVRI4.js.map +1 -0
- package/dist/{chunk-F5Q2RMH4.js → chunk-LMRO2QNF.js} +177 -135
- package/dist/chunk-LMRO2QNF.js.map +1 -0
- package/dist/{chunk-JZQFZ55W.js → chunk-NHLXS2CH.js} +2 -2
- package/dist/{chunk-JZQFZ55W.js.map → chunk-NHLXS2CH.js.map} +1 -1
- package/dist/{chunk-CIEKKLMG.js → chunk-PCXU2CVW.js} +3 -3
- package/dist/{chunk-CIEKKLMG.js.map → chunk-PCXU2CVW.js.map} +1 -1
- package/dist/{chunk-HVCZLD5Z.js → chunk-VPXV2Z5E.js} +5 -7
- package/dist/chunk-VPXV2Z5E.js.map +1 -0
- package/dist/{chunk-2BEDUMTA.js → chunk-XF2BBX6P.js} +3 -3
- package/dist/{chunk-2BEDUMTA.js.map → chunk-XF2BBX6P.js.map} +1 -1
- package/dist/{chunk-3K2CYDBT.js → chunk-Z5Z3MYDL.js} +8 -4
- package/dist/chunk-Z5Z3MYDL.js.map +1 -0
- package/dist/{chunk-M54RYUXY.js → chunk-ZAEJ33Y6.js} +19 -7
- package/dist/chunk-ZAEJ33Y6.js.map +1 -0
- package/dist/cli/index.js +395 -286
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/src/asset-feeds.d.ts.map +1 -1
- package/dist/cli/src/commands/cache.d.ts +27 -0
- package/dist/cli/src/commands/cache.d.ts.map +1 -0
- package/dist/cli/src/commands/catalog.d.ts.map +1 -1
- package/dist/cli/src/commands/manage.d.ts.map +1 -1
- package/dist/cli/src/commands/npx.d.ts +1 -1
- package/dist/cli/src/commands/source.d.ts +3 -1
- package/dist/cli/src/commands/source.d.ts.map +1 -1
- package/dist/cli/src/commands/update.d.ts +1 -1
- package/dist/cli/src/ensure-sources.d.ts +2 -2
- package/dist/cli/src/ensure-sources.d.ts.map +1 -1
- package/dist/connectors/config.js +4 -4
- package/dist/connectors/index.js +6 -6
- package/dist/connectors/rclone.js +1 -1
- package/dist/connectors/src/connector-manager.d.ts +21 -4
- package/dist/connectors/src/connector-manager.d.ts.map +1 -1
- package/dist/connectors/src/fleet-health-gate.d.ts +2 -0
- package/dist/connectors/src/fleet-health-gate.d.ts.map +1 -1
- package/dist/connectors/src/fleet-utils.d.ts +10 -0
- package/dist/connectors/src/fleet-utils.d.ts.map +1 -1
- package/dist/connectors/src/mount-placeholder.d.ts +11 -0
- package/dist/connectors/src/mount-placeholder.d.ts.map +1 -1
- package/dist/connectors/src/rclone-process-manager.d.ts +57 -2
- package/dist/connectors/src/rclone-process-manager.d.ts.map +1 -1
- package/dist/core/index.js +3 -3
- package/dist/core/runtime-assets.js +2 -2
- package/dist/core/src/cache-paths.d.ts +25 -0
- package/dist/core/src/cache-paths.d.ts.map +1 -0
- package/dist/core/src/index.d.ts +1 -0
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/repo-manager.d.ts +11 -8
- 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/workspace-config.d.ts +2 -2
- 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-VQDZB7NT.js → ensure-sources-NSDMTAWN.js} +6 -12
- package/dist/ensure-sources-NSDMTAWN.js.map +1 -0
- package/dist/factory-assets/connectors/deploy.js +6 -6
- package/dist/factory-assets/connectors/devserver.js +6 -6
- package/dist/factory-assets/connectors/flow/adapter.js +6 -6
- package/dist/factory-assets/connectors/flow/engine.js +3 -3
- package/dist/factory-assets/connectors/flow/run-flow.js +7 -7
- package/dist/factory-assets/connectors/flow.js +6 -6
- package/dist/factory-assets/connectors/git.js +6 -6
- package/dist/factory-assets/connectors/gmail.js +6 -6
- package/dist/factory-assets/connectors/googledrive.js +6 -6
- package/dist/factory-assets/connectors/local.js +6 -6
- package/dist/factory-assets/connectors/mattermost.js +6 -6
- package/dist/factory-assets/connectors/memory.js +6 -6
- package/dist/factory-assets/connectors/minio.js +6 -6
- package/dist/factory-assets/connectors/postgres.js +6 -6
- package/dist/factory-assets/connectors/s3.js +6 -6
- package/dist/factory-assets/connectors/sharepoint.js +6 -6
- package/dist/factory-assets/connectors/sqlite.js +6 -6
- package/dist/factory-assets/connectors/static-server.js +6 -6
- package/dist/factory-assets/connectors/tunnel.js +6 -6
- package/dist/factory-assets/connectors/webdav.js +6 -6
- package/dist/factory-assets/connectors/xstate-store.js +6 -6
- package/dist/factory-assets/connectors/xstate.js +6 -6
- package/dist/{flows-KTBCZ5GQ.js → flows-WELXQ7IG.js} +3 -3
- package/dist/{flows-KTBCZ5GQ.js.map → flows-WELXQ7IG.js.map} +1 -1
- package/dist/library/index.js +4 -4
- package/dist/library/install.js +3 -3
- package/dist/library/src/local/local-catalog-source.d.ts +1 -1
- package/dist/library/src/local/sidecar-git.d.ts +2 -2
- package/dist/library/src/local/sidecar-paths.d.ts +12 -10
- package/dist/library/src/local/sidecar-paths.d.ts.map +1 -1
- package/dist/library/src/local/store-paths.d.ts +2 -2
- package/dist/library/src/remote/cache.d.ts +8 -2
- package/dist/library/src/remote/cache.d.ts.map +1 -1
- package/dist/library/src/remote/remote-catalog-source.d.ts +1 -1
- package/dist/library/src/remote/rest-catalog-source.d.ts +1 -1
- package/dist/{open-library-FHUXOCN7.js → open-library-362BZ6OW.js} +7 -7
- package/dist/{open-library-FHUXOCN7.js.map → open-library-362BZ6OW.js.map} +1 -1
- package/dist/{paths-7H5CSBLQ.js → paths-4SSFMX5Z.js} +6 -6
- package/dist/{paths-7H5CSBLQ.js.map → paths-4SSFMX5Z.js.map} +1 -1
- package/dist/{plugin-store-LGLN2QUX.js → plugin-store-RBCDBO7K.js} +5 -5
- package/dist/{plugin-store-LGLN2QUX.js.map → plugin-store-RBCDBO7K.js.map} +1 -1
- package/dist/runner/index.js +9 -9
- package/dist/sdk/asset-manager.js +5 -5
- package/dist/sdk/core.js +3 -3
- package/dist/sdk/flow.js +3 -3
- package/dist/sdk/index.js +9 -9
- package/dist/sdk/runner.js +9 -9
- package/dist/sdk/session.js +2 -2
- package/dist/sdk/types.js +1 -1
- package/dist/session/index.js +2 -2
- package/dist/session/src/index.d.ts +1 -1
- package/dist/session/src/index.d.ts.map +1 -1
- package/dist/session/src/mentions.d.ts +11 -0
- package/dist/session/src/mentions.d.ts.map +1 -1
- package/dist/{setup-EVNPECSY.js → setup-VGZTFQ32.js} +5 -5
- package/dist/{setup-EVNPECSY.js.map → setup-VGZTFQ32.js.map} +1 -1
- package/dist/{store-client-4XN7IB3R.js → store-client-XFZFKY3W.js} +6 -6
- package/dist/{store-client-4XN7IB3R.js.map → store-client-XFZFKY3W.js.map} +1 -1
- package/dist/tui/index.js +9 -9
- package/dist/types/index.js +1 -1
- package/dist/types/src/mentions.d.ts +12 -0
- package/dist/types/src/mentions.d.ts.map +1 -1
- package/dist/workspace-plugin/adapters/mcp.js +1 -1
- package/dist/workspace-plugin/adapters/omp.js +3 -3
- package/dist/workspace-plugin/index.js +1 -1
- package/package.json +1 -1
- package/dist/asset-feeds-3PSV57NT.js.map +0 -1
- package/dist/chunk-3HUUP3JC.js.map +0 -1
- package/dist/chunk-3K2CYDBT.js.map +0 -1
- package/dist/chunk-F5Q2RMH4.js.map +0 -1
- package/dist/chunk-GJI6FZ56.js.map +0 -1
- package/dist/chunk-HVCZLD5Z.js.map +0 -1
- package/dist/chunk-M54RYUXY.js.map +0 -1
- package/dist/chunk-R2SKIYU2.js.map +0 -1
- package/dist/chunk-TDSRLMDB.js.map +0 -1
- package/dist/ensure-sources-VQDZB7NT.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asset-feeds.d.ts","sourceRoot":"","sources":["../../../cli/src/asset-feeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,yEAAyE;AACzE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAErE,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB;;;;;OAKG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"asset-feeds.d.ts","sourceRoot":"","sources":["../../../cli/src/asset-feeds.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,yEAAyE;AACzE,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAErE,iEAAiE;AACjE,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB;;;;;OAKG;IACH,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAoJD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE;IAAE,MAAM,EAAE,MAAM,YAAY,EAAE,CAAA;CAAE,EACpC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,eAAe,CAAC,CAa1B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Command } from "commander";
|
|
2
|
+
interface CacheScope {
|
|
3
|
+
projectDir: string;
|
|
4
|
+
global?: boolean;
|
|
5
|
+
}
|
|
6
|
+
/** All cache directories in scope, in deletion order. Pure — no I/O side effects. */
|
|
7
|
+
export declare function collectCacheTargets(scope: CacheScope): string[];
|
|
8
|
+
/**
|
|
9
|
+
* Recursive byte size of a path (0 if absent). Uses `lstat` and does NOT follow
|
|
10
|
+
* symlinks — project `.skaile/cache/sources/<name>` entries are symlinks into the
|
|
11
|
+
* global cache, so following them would double-count (and a symlink cycle would
|
|
12
|
+
* loop). Symlinks contribute 0; the global cache is sized directly.
|
|
13
|
+
*/
|
|
14
|
+
export declare function dirSize(target: string): number;
|
|
15
|
+
/** Delete the targets that exist. Returns the ones actually removed (empty in dry-run). */
|
|
16
|
+
export declare function removeCacheTargets(targets: string[], opts: {
|
|
17
|
+
dryRun: boolean;
|
|
18
|
+
}): string[];
|
|
19
|
+
/**
|
|
20
|
+
* Build the `skaile cache` command group: `clean` (reclaims project cache, or
|
|
21
|
+
* project+global with `--global`; confirms unless `--yes`; `--dry-run` previews),
|
|
22
|
+
* `dir` (prints resolved cache roots), and `size` (per-dir disk usage). Never
|
|
23
|
+
* targets authored content or state — see {@link collectCacheTargets}.
|
|
24
|
+
*/
|
|
25
|
+
export declare function makeCacheCommand(): Command;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/cache.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qFAAqF;AACrF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,EAAE,CAa/D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAM9C;AAeD,2FAA2F;AAC3F,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,EAAE,CAKzF;AAaD;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAyE1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAiH5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAW3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/catalog.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAiH5C;;;;;;;;;;;;GAYG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAW3C;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAmCxC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAiB3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAgCzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAiCzC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAkB3C;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CA2B3C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,eAAe,GAAG,kBAAkB,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;IACvF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAgJD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EAAE,EAChB,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,EAClC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,YAAY,GAAE,WAAW,GAAG,IAAW,GACtC,QAAQ,EAAE,CAmBZ;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAEV;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/F;
|
|
1
|
+
{"version":3,"file":"manage.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/manage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAIH,OAAO,EAGL,KAAK,YAAY,EAElB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,eAAe,GAAG,kBAAkB,GAAG,eAAe,GAAG,aAAa,GAAG,OAAO,CAAC;IACvF,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAgJD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EAAE,EAChB,gBAAgB,EAAE,GAAG,CAAC,WAAW,CAAC,EAClC,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,EAC7B,YAAY,GAAE,WAAW,GAAG,IAAW,GACtC,QAAQ,EAAE,CAmBZ;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,EAAE,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EAAE,EAChB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GACX,MAAM,EAAE,CAEV;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE/F;AAqoCD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAO3C"}
|
|
@@ -4,7 +4,7 @@ import { Command } from "commander";
|
|
|
4
4
|
*
|
|
5
5
|
* Compatibility shim for the `npx skills` syntax. The `npx skills add <url>`
|
|
6
6
|
* subcommand clones the remote repo into the canonical sources cache
|
|
7
|
-
* (
|
|
7
|
+
* (`<cache>/sources/<slug>`), registers it in the project's `skaile.yaml`
|
|
8
8
|
* `sources[]`, then installs the requested skill via the canonical resolver —
|
|
9
9
|
* building a publisher-qualified ref (`skill:<name>@<publisher>`, publisher
|
|
10
10
|
* from the source's `skaile.yaml` or its GitHub org).
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* A *source* is a third-party github repo of AI assets. The project's
|
|
5
5
|
* `skaile.yaml` `sources:` array is the source of truth for which sources
|
|
6
|
-
* this project uses. The clone itself lives at `~/.skaile/sources/<name>/`
|
|
6
|
+
* this project uses. The clone itself lives at `~/.skaile/cache/sources/<name>/`
|
|
7
7
|
* (machine-global cache, shared across projects), and the manifest is
|
|
8
8
|
* mirrored into `~/.skaile/index.db` (machine-global manifest cache).
|
|
9
9
|
*
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
import { type SourceEntry } from "@skaile/workspaces/core";
|
|
13
13
|
import { Command } from "commander";
|
|
14
|
+
/** Clone dir for one source slug. Exported for the cache-path regression test. */
|
|
15
|
+
export declare function sourceClonePath(name: string): string;
|
|
14
16
|
/**
|
|
15
17
|
* Normalize a `source add` argument into a clonable git URL. Full URLs and
|
|
16
18
|
* scp-style (`git@host:…`) specs pass through unchanged; an `owner/repo`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../../cli/src/commands/source.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,kFAAkF;AAClF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAWD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOxD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAGzE;AAmGD,wBAAgB,iBAAiB,IAAI,OAAO,CA6N3C"}
|
|
@@ -4,7 +4,7 @@ import { Command } from "commander";
|
|
|
4
4
|
*
|
|
5
5
|
* Two stages:
|
|
6
6
|
* 1. **Catalog cache refresh** — invalidates the {@link RemoteCatalogSource}
|
|
7
|
-
* cache at `~/.skaile/catalog
|
|
7
|
+
* cache at `~/.skaile/cache/catalog/` and re-fetches the asset list. This
|
|
8
8
|
* is the Phase 2 entry point for users in air-gapped mode
|
|
9
9
|
* (`catalog.cache_ttl: 0`) or anyone who wants a fresh view of the public
|
|
10
10
|
* skaile.store catalog before installing.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ensure-sources.ts — hydrate the `~/.skaile/sources/` clone cache from a
|
|
2
|
+
* ensure-sources.ts — hydrate the `~/.skaile/cache/sources/` clone cache from a
|
|
3
3
|
* project's `skaile.yaml` `sources:` entries.
|
|
4
4
|
*
|
|
5
5
|
* Called by `skaile init` (idempotent: no-op when no sources declared) and
|
|
@@ -13,7 +13,7 @@ export interface EnsureResult {
|
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
15
15
|
* Walk `projectDir/skaile.yaml` `sources:` and clone any entries whose
|
|
16
|
-
* clone directory does not yet exist under `~/.skaile/sources/`. Existing
|
|
16
|
+
* clone directory does not yet exist under `~/.skaile/cache/sources/`. Existing
|
|
17
17
|
* clones are left untouched — this is hydration, not sync.
|
|
18
18
|
*
|
|
19
19
|
* Quiet by default: when `quiet: true` the helper only prints failures.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-sources.d.ts","sourceRoot":"","sources":["../../../cli/src/ensure-sources.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"ensure-sources.d.ts","sourceRoot":"","sources":["../../../cli/src/ensure-sources.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AA8CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC7B,YAAY,CAmBd"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export { LegacyAuthGrammarError, MountTokenMediatorError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-
|
|
2
|
-
import '../chunk-
|
|
1
|
+
export { LegacyAuthGrammarError, MountTokenMediatorError, createCliSecretProviderChain, createForgeSecretProviderChain, loadConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-CBZEIFU4.js';
|
|
2
|
+
import '../chunk-BLGHFVXE.js';
|
|
3
3
|
import '../chunk-ZAP2BDHG.js';
|
|
4
|
-
import '../chunk-
|
|
5
|
-
import '../chunk-
|
|
4
|
+
import '../chunk-VPXV2Z5E.js';
|
|
5
|
+
import '../chunk-COSTF7QW.js';
|
|
6
6
|
import '../chunk-DZCK7GRW.js';
|
|
7
7
|
import '../chunk-6IDBWPK2.js';
|
|
8
8
|
import '../chunk-GEEW6SY2.js';
|
package/dist/connectors/index.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, FleetHealthGate, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, RoMountPlaceholderBarrier, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-
|
|
1
|
+
export { AbstractConnector, BUILTIN_CONNECTOR_CATALOG, ConnectorFieldMissingError, ConnectorManager, ConnectorStartupError, DEFAULT_REACTIVE_COOLDOWN_MS, FleetHealthGate, FlowAdapter, LogBuffer, ManagedGitconfigCollisionError, NOT_READY_SENTINEL, PROACTIVE_RCLONE_REFRESH_MARGIN_MS, RoMountPlaceholderBarrier, atomicReplaceCredential, buildConnectorPromptSection, buildSdkConnectorTools, createRcloneTokenRefresh, createWorktree, defaultMountPlaceholderBarrier, defaultSpawn, ensureFleetMounted, findGitRoot, findMissingPackages, getConnector, installNpmPackages, isFleetManaged, isPackageResolvable, listConnectors, listWorktrees, probeFleetHealth, registerBuiltinConnectors, removeMountBlock, renderCredentialHelperScript, tryGetConnector, worktreeRegistry, writeHelperScript, writeMountBlock } from '../chunk-LMRO2QNF.js';
|
|
2
2
|
export { renderGoogleDriveConfig, renderOneDriveConfig, renderWebDAVConfig } from '../chunk-OVRSNIKJ.js';
|
|
3
|
-
export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, MountTokenMediatorError, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-
|
|
4
|
-
export { PortPool, RcloneProcessManager, createFsWatcher, ensureDirMode, fetchAuthoritativeSize } from '../chunk-
|
|
3
|
+
export { EnvSecretProvider, ForgeSecretProvider, InMemorySecretProvider, LegacyAuthGrammarError, LockedSecretProvider, MountTokenMediatorError, OAuthRequiredError, PreMintedSecretProvider, SecretProviderChain, createCliSecretProviderChain, createForgeSecretProviderChain, deriveSingleMaterializedConnectorDeclaration, fromMaterializedConnectorMd, loadConnectorDeclarations, loadMaterializedConnectorDeclarations, resolveAuth, resolveAuthRef, resolveBackendAuthFor, resolveMountCredential, resolveMountCredentialString } from '../chunk-CBZEIFU4.js';
|
|
4
|
+
export { PortPool, RcloneProcessManager, createFsWatcher, ensureDirMode, fetchAuthoritativeSize } from '../chunk-FYLIR4AV.js';
|
|
5
5
|
import '../chunk-6E6PKKAD.js';
|
|
6
6
|
import '../chunk-X46FY45B.js';
|
|
7
7
|
import '../chunk-DEYYRFQU.js';
|
|
8
8
|
import '../chunk-IFGTRL2I.js';
|
|
9
|
-
import '../chunk-
|
|
9
|
+
import '../chunk-BLGHFVXE.js';
|
|
10
10
|
import '../chunk-ZAP2BDHG.js';
|
|
11
|
-
import '../chunk-
|
|
12
|
-
import '../chunk-
|
|
11
|
+
import '../chunk-VPXV2Z5E.js';
|
|
12
|
+
import '../chunk-COSTF7QW.js';
|
|
13
13
|
import '../chunk-DZCK7GRW.js';
|
|
14
14
|
import '../chunk-6IDBWPK2.js';
|
|
15
15
|
import '../chunk-GEEW6SY2.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { DEFAULT_UPLOAD_STUCK_THRESHOLD, DEFAULT_VFS_WRITE_BACK, RcloneProcessManager, _buildRcloneArgs, _fuseMountPresent, _operationsStatTarget, _routeRcloneLogLine, awaitQuiescent, fetchAuthoritativeSize } from '../chunk-
|
|
1
|
+
export { CachePoisonedMountError, DEFAULT_UPLOAD_STUCK_THRESHOLD, DEFAULT_VFS_WRITE_BACK, RcloneProcessManager, _buildRcloneArgs, _fuseMountPresent, _isCachePoisonLine, _operationsStatTarget, _routeRcloneLogLine, awaitQuiescent, fetchAuthoritativeSize, quarantineCacheDir } from '../chunk-FYLIR4AV.js';
|
|
2
2
|
import '../chunk-JB35MVBN.js';
|
|
3
3
|
import '../chunk-NSBPE2FW.js';
|
|
4
4
|
//# sourceMappingURL=rclone.js.map
|
|
@@ -110,6 +110,12 @@ export interface ConnectorManagerOptions {
|
|
|
110
110
|
* (or 0 + manual `reportFleetHealth`) to stay hermetic.
|
|
111
111
|
*/
|
|
112
112
|
fleetHealthPollMs?: number;
|
|
113
|
+
/**
|
|
114
|
+
* Detects host-mount RECOVERY under an opaque placeholder so the local poll can
|
|
115
|
+
* lift the gate edge-triggered. Defaults to the `/proc/self/mounts` reader;
|
|
116
|
+
* tests inject a hermetic stub (the real reader can't be faked in a sandbox).
|
|
117
|
+
*/
|
|
118
|
+
fleetMountRecoveryProbe?: (target: string) => Promise<boolean>;
|
|
113
119
|
}
|
|
114
120
|
/**
|
|
115
121
|
* `ConnectorManager` — manages the full lifecycle of all connectors declared
|
|
@@ -143,6 +149,8 @@ export declare class ConnectorManager {
|
|
|
143
149
|
private fleetHealthTimer?;
|
|
144
150
|
/** Local fleet-health poll interval (ms). 0 disables the local probe. */
|
|
145
151
|
private readonly fleetHealthPollMs;
|
|
152
|
+
/** Host-mount recovery detector under an opaque placeholder (injectable for tests). */
|
|
153
|
+
private readonly fleetMountRecoveryProbe;
|
|
146
154
|
/**
|
|
147
155
|
* @param workspaceDir - Absolute (or relative) working directory. Filesystem-face
|
|
148
156
|
* connectors mount into `<workspaceDir>/.mounts/<id>/` by default.
|
|
@@ -242,13 +250,22 @@ export declare class ConnectorManager {
|
|
|
242
250
|
private preRegisterDeferred;
|
|
243
251
|
/**
|
|
244
252
|
* Start the periodic local fleet-health probe if it is not already running and
|
|
245
|
-
* the poll interval is enabled. Each tick
|
|
246
|
-
*
|
|
247
|
-
*
|
|
248
|
-
* degradation is covered by the platform signal via
|
|
253
|
+
* the poll interval is enabled. Each tick probes every fleet target and feeds
|
|
254
|
+
* the verdict to its gate (hysteresis lives in the gate). The probe catches both
|
|
255
|
+
* directly-detectable failures (EIO / dead bind) AND host-mount recovery while a
|
|
256
|
+
* placeholder is up; silent degradation is covered by the platform signal via
|
|
257
|
+
* `reportFleetHealth`.
|
|
249
258
|
*/
|
|
250
259
|
private ensureFleetHealthPoll;
|
|
251
260
|
private runFleetHealthProbe;
|
|
261
|
+
/**
|
|
262
|
+
* Detect host-mount RECOVERY for an already-gated target so the placeholder lifts
|
|
263
|
+
* edge-triggered (no restart). Over an opaque mask a stat/readdir reads the 0555
|
|
264
|
+
* mask and falsely reads healthy, so recovery is detected via the mount table;
|
|
265
|
+
* non-opaque surfaces hold their current surface until the platform signal lifts.
|
|
266
|
+
* Rationale: `_devlog/notes/2026-06-17-fleet-gate-edge-triggered-recovery.md`.
|
|
267
|
+
*/
|
|
268
|
+
private probeGatedRecovery;
|
|
252
269
|
/**
|
|
253
270
|
* Feed an externally-derived fleet-health verdict for a connector into its gate.
|
|
254
271
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector-manager.d.ts","sourceRoot":"","sources":["../../../connectors/src/connector-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAC7E,OAAO,KAAK,EAAE,oBAAoB,EAAU,MAAM,0BAA0B,CAAC;AAG7E,OAAO,KAAK,EAEV,SAAS,EACT,oBAAoB,EACpB,oBAAoB,EAEpB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,aAAa,EAEd,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,
|
|
1
|
+
{"version":3,"file":"connector-manager.d.ts","sourceRoot":"","sources":["../../../connectors/src/connector-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -82,6 +82,8 @@ export declare class FleetHealthGate {
|
|
|
82
82
|
get isGated(): boolean;
|
|
83
83
|
/** The currently-applied surface (test/observability hook). */
|
|
84
84
|
get currentSurface(): Surface;
|
|
85
|
+
/** The mount target this gate guards (recovery-probe lookup). */
|
|
86
|
+
get mountTarget(): string;
|
|
85
87
|
/**
|
|
86
88
|
* Feed one health verdict. Applies hysteresis, then drives the barrier toward
|
|
87
89
|
* the target surface on a change. Resolves once the (possibly no-op)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-health-gate.d.ts","sourceRoot":"","sources":["../../../connectors/src/fleet-health-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,wFAAwF;AACxF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,KAAK,OAAO,GAAG,gBAAgB,CAAC;AAQhC;;;;;GAKG;AACH,qBAAa,eAAe;IAoBxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IArBvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAU;IACzB;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAU;IAChC,qEAAqE;IACrE,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAK;IACtB,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAAoC;gBAGnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,GAAG,CAAC,EAAE,MAAM,YAAA,EAC7B,IAAI,CAAC,EAAE,sBAAsB;IAU/B,sEAAsE;IACtE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,+DAA+D;IAC/D,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,OAAO,CAAC,OAAO;IAKf,4EAA4E;YAC9D,KAAK;CAmDpB"}
|
|
1
|
+
{"version":3,"file":"fleet-health-gate.d.ts","sourceRoot":"","sources":["../../../connectors/src/fleet-health-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAEtE,wFAAwF;AACxF,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,IAAI,GAAG,QAAQ,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,uEAAuE;IACvE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,KAAK,OAAO,GAAG,gBAAgB,CAAC;AAQhC;;;;;GAKG;AACH,qBAAa,eAAe;IAoBxB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IArBvB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAE1C,oEAAoE;IACpE,OAAO,CAAC,OAAO,CAAU;IACzB;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAAU;IAChC,qEAAqE;IACrE,OAAO,CAAC,UAAU,CAAU;IAC5B,OAAO,CAAC,SAAS,CAAK;IACtB,wEAAwE;IACxE,OAAO,CAAC,UAAU,CAAoC;gBAGnC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,uBAAuB,EAChC,GAAG,CAAC,EAAE,MAAM,YAAA,EAC7B,IAAI,CAAC,EAAE,sBAAsB;IAU/B,sEAAsE;IACtE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,+DAA+D;IAC/D,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED,iEAAiE;IACjE,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;;;OAKG;IACH,OAAO,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBnD;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAMxB,OAAO,CAAC,OAAO;IAKf,4EAA4E;YAC9D,KAAK;CAmDpB"}
|
|
@@ -54,4 +54,14 @@ export type FleetHealthVerdict = "healthy" | "degraded" | "error";
|
|
|
54
54
|
* verdict here therefore means only "readable", not "has content".
|
|
55
55
|
*/
|
|
56
56
|
export declare function probeFleetHealth(dir: string): Promise<FleetHealthVerdict>;
|
|
57
|
+
/**
|
|
58
|
+
* Detect a live underlying fleet mount at `dir` from the mount table — spots
|
|
59
|
+
* host-mount RECOVERY while an opaque read-only placeholder still masks the target.
|
|
60
|
+
* A stat/readdir reads the 0555 mask and falsely reads healthy, so the recovery
|
|
61
|
+
* edge is a non-tmpfs mount stacked at the mountpoint. `true` = recovered bind
|
|
62
|
+
* present; `false` = only the placeholder tmpfs/nothing, or an unreadable mount
|
|
63
|
+
* table (fail-closed: stay gated).
|
|
64
|
+
* Rationale: `_devlog/notes/2026-06-17-fleet-gate-edge-triggered-recovery.md`.
|
|
65
|
+
*/
|
|
66
|
+
export declare function probeFleetMountTablePresent(dir: string): Promise<boolean>;
|
|
57
67
|
//# sourceMappingURL=fleet-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fleet-utils.d.ts","sourceRoot":"","sources":["../../../connectors/src/fleet-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"fleet-utils.d.ts","sourceRoot":"","sources":["../../../connectors/src/fleet-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAQ3D;AAED;;;;;;;;;GASG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,GAAG,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,EACnD,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,IAAI,CAAC,CAwBf;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAElE;;;;;;;;;;;;GAYG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAS/E;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoB/E"}
|
|
@@ -83,6 +83,16 @@ export interface MountPlaceholderBarrier {
|
|
|
83
83
|
exposeReadOnly?(target: string, log?: Logger): Promise<void>;
|
|
84
84
|
/** Tear the barrier down. Call only after any mount stacked above it is gone. */
|
|
85
85
|
remove(target: string, log?: Logger): Promise<void>;
|
|
86
|
+
/**
|
|
87
|
+
* True when the barrier currently OPAQUELY masks `target` (an `establish`-mode
|
|
88
|
+
* tmpfs shadows the real content). The recovery probe needs this: over an opaque
|
|
89
|
+
* mask a direct `stat`/`readdir` reads the mask (mode 0555, always "healthy") and
|
|
90
|
+
* cannot see a recovered host mount, so the manager falls back to the mount
|
|
91
|
+
* table; non-opaque surfaces (chmod / ro-bind) expose the live inode directly.
|
|
92
|
+
* Optional: absent on hermetic test fakes (the manager treats absent as
|
|
93
|
+
* not-opaque, so the live inode is read directly). Idempotent per target.
|
|
94
|
+
*/
|
|
95
|
+
isOpaque?(target: string): boolean;
|
|
86
96
|
}
|
|
87
97
|
/** Runs an external command, rejecting on non-zero exit or spawn error. */
|
|
88
98
|
export type CommandRunner = (cmd: string, args: string[]) => Promise<void>;
|
|
@@ -112,6 +122,7 @@ export declare class RoMountPlaceholderBarrier implements MountPlaceholderBarrie
|
|
|
112
122
|
restoreBarrier(target: string, log?: Logger): Promise<void>;
|
|
113
123
|
onMountLive(target: string, log?: Logger): Promise<void>;
|
|
114
124
|
exposeReadOnly(target: string, log?: Logger): Promise<void>;
|
|
125
|
+
isOpaque(target: string): boolean;
|
|
115
126
|
remove(target: string, log?: Logger): Promise<void>;
|
|
116
127
|
private chmodFallback;
|
|
117
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mount-placeholder.d.ts","sourceRoot":"","sources":["../../../connectors/src/mount-placeholder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AA2BhE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,4EAA4E;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;;;;;;;OASG;IACH,sBAAsB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;;;OAIG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iFAAiF;IACjF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mount-placeholder.d.ts","sourceRoot":"","sources":["../../../connectors/src/mount-placeholder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEvD,yFAAyF;AACzF,eAAO,MAAM,kBAAkB,gCAAgC,CAAC;AA2BhE;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,4EAA4E;IAC5E,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD;;;;;;;;;OASG;IACH,sBAAsB,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrE;;;;OAIG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD;;;;;;;;;;OAUG;IACH,cAAc,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7D,iFAAiF;IACjF,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;;;;;;;;OAQG;IACH,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;CACpC;AAWD,2EAA2E;AAC3E,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAkBxD;;;;;;GAMG;AACH,qBAAa,yBAA0B,YAAW,uBAAuB;IACvE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAgB;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;gBAE5C,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,aAAa,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAKvD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqDtD,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBnE,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB3D,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkEjE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAO3B,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;YA4C3C,aAAa;CAwB5B;AAED,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,EAAE,uBACZ,CAAC"}
|
|
@@ -116,12 +116,33 @@ export interface RcloneHandle {
|
|
|
116
116
|
* @docLink packages/connectors/api-reference#rclone-process-manager
|
|
117
117
|
*/
|
|
118
118
|
export declare class RcloneProcessManager {
|
|
119
|
+
private readonly now;
|
|
120
|
+
/**
|
|
121
|
+
* @param now Injectable clock (ms) used only to timestamp the quarantine dir
|
|
122
|
+
* on a poisoned-cache reset, so the move-aside name is deterministic in tests.
|
|
123
|
+
*/
|
|
124
|
+
constructor(now?: () => number);
|
|
125
|
+
/**
|
|
126
|
+
* Spawn an rclone FUSE mount with one-shot poisoned-cache recovery. Delegates
|
|
127
|
+
* to {@link spawnOnce}; if that fails specifically because the persistent VFS
|
|
128
|
+
* cache was poisoned (a prior container SIGKILLed mid-write left `vfs`/`vfsMeta`
|
|
129
|
+
* referencing missing backing files), quarantine the cache and retry the mount
|
|
130
|
+
* exactly once on a clean rebuild from the authoritative remote.
|
|
131
|
+
*
|
|
132
|
+
* The retry is single-shot and bounded: if the fresh-cache mount also fails the
|
|
133
|
+
* cause is connectivity/token (not the cache), so the error propagates without
|
|
134
|
+
* a second reset — never a reset/respawn loop. A non-poison failure, or a
|
|
135
|
+
* poison failure with nothing to quarantine, propagates immediately.
|
|
136
|
+
*/
|
|
137
|
+
spawn(config: RcloneSpawnConfig): Promise<RcloneHandle>;
|
|
119
138
|
/**
|
|
120
139
|
* Spawn an rclone FUSE mount. Resolves once the mountpoint is confirmed
|
|
121
140
|
* present in `/proc/self/mounts`. Throws on timeout, on early exit, or
|
|
122
|
-
* if invariants are violated.
|
|
141
|
+
* if invariants are violated. A readiness-timeout accompanied by the
|
|
142
|
+
* poisoned-cache log signature throws {@link CachePoisonedMountError} so the
|
|
143
|
+
* public {@link spawn} can apply its quarantine-and-retry recovery.
|
|
123
144
|
*/
|
|
124
|
-
|
|
145
|
+
protected spawnOnce(config: RcloneSpawnConfig): Promise<RcloneHandle>;
|
|
125
146
|
/**
|
|
126
147
|
* Stop an rclone subprocess. Attempts a flush first, then SIGTERM, then
|
|
127
148
|
* SIGKILL + fusermount3 if `graceMs` elapses without the mountpoint
|
|
@@ -197,6 +218,40 @@ export interface RcloneLogRouteContext {
|
|
|
197
218
|
/** Called when a line matches an OAuth auth-failure pattern. */
|
|
198
219
|
onAuthError?: () => void;
|
|
199
220
|
}
|
|
221
|
+
/**
|
|
222
|
+
* Thrown by {@link RcloneProcessManager.spawnOnce} when a mount-readiness
|
|
223
|
+
* failure was accompanied by the {@link CACHE_POISON_RE} signature, so
|
|
224
|
+
* {@link RcloneProcessManager.spawn} knows the failure is a recoverable
|
|
225
|
+
* poisoned cache (quarantine + single retry) rather than a connectivity/token
|
|
226
|
+
* fault. Its `message` is the full mount-failure detail (including the stderr
|
|
227
|
+
* tail), so surfacing it directly when recovery declines loses no diagnostics.
|
|
228
|
+
*/
|
|
229
|
+
export declare class CachePoisonedMountError extends Error {
|
|
230
|
+
constructor(message: string);
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* @internal
|
|
234
|
+
* True when an rclone log line carries the poisoned-VFS-cache signature
|
|
235
|
+
* ({@link CACHE_POISON_RE}). Exported for tests; not part of the public API.
|
|
236
|
+
*/
|
|
237
|
+
export declare function _isCachePoisonLine(line: string): boolean;
|
|
238
|
+
/**
|
|
239
|
+
* Move a poisoned rclone VFS cache aside so the next spawn rebuilds a clean one
|
|
240
|
+
* from the authoritative remote. Moves `<cacheDir>/vfs` + `<cacheDir>/vfsMeta`
|
|
241
|
+
* (whichever exist) into `<cacheDir>/.corrupt-<ISO>` — a move-aside, never a
|
|
242
|
+
* delete, so any (junk) un-uploaded bytes stay recoverable for forensics. The
|
|
243
|
+
* quarantine dir is nested inside `cacheDir` (not a sibling) so it lives within
|
|
244
|
+
* the per-session cache dir the platform removes wholesale on session close —
|
|
245
|
+
* bounding its lifetime to the session — and rclone only reads its own
|
|
246
|
+
* `vfs`/`vfsMeta` subdirs, so the dotted sibling is inert to the live mount.
|
|
247
|
+
* (A bounded retain-N/reap-after-M GC of repeated resets within one long-lived
|
|
248
|
+
* session is a follow-up; session-close cleanup covers the common case.)
|
|
249
|
+
*
|
|
250
|
+
* Returns the quarantine dir path when anything was moved, else `null` (nothing
|
|
251
|
+
* to quarantine — the failure was not a poisoned cache). `nowMs` is injected for
|
|
252
|
+
* deterministic test timestamps. Exported for tests; not part of the public API.
|
|
253
|
+
*/
|
|
254
|
+
export declare function quarantineCacheDir(cacheDir: string, nowMs: number): Promise<string | null>;
|
|
200
255
|
/**
|
|
201
256
|
* @internal
|
|
202
257
|
* Route a single rclone log line (JSON or raw) to the appropriate Logger
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rclone-process-manager.d.ts","sourceRoot":"","sources":["../../../connectors/src/rclone-process-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;
|
|
1
|
+
{"version":3,"file":"rclone-process-manager.d.ts","sourceRoot":"","sources":["../../../connectors/src/rclone-process-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { ALL_PROVIDERS, ManifestYamlEditor, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, computeHash, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveSettings, savePatch, saveSettings, verifyLock, walkForSettings, writeLock, writePluginsLockSlice } from '../chunk-
|
|
1
|
+
export { ALL_PROVIDERS, ManifestYamlEditor, SETTINGS_DEFAULTS, WorkspaceYamlEditor, applyPatch, buildLockFile, computeHash, detectEnvApiKeys, extractForPatch, generatePatch, globalSettingsPath, listPatches, loadSettings, mapLegacyFields, maskApiKey, migrateSettings, portableSpawn, portableSpawnSync, projectSettingsPath, providerEnvKey, readLock, readPatch, readPluginsLockSlice, resolveAllKeys, resolveApiKey, resolveSettings, savePatch, saveSettings, verifyLock, walkForSettings, writeLock, writePluginsLockSlice } from '../chunk-BLGHFVXE.js';
|
|
2
2
|
export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot } from '../chunk-ZAP2BDHG.js';
|
|
3
|
-
export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-
|
|
4
|
-
export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeSkWorkspaceConfigs, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, scanRepo, stageMaterializedSkills, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-
|
|
3
|
+
export { FACTORY_ASSETS_REPO_NAME, factoryAssetRoots, resolveFactoryAssetsRoot, resolveFactoryAssetsRootOrNull, resolvePackagedAssetsDir, resolveRuntimeAssets, resolveWorkspacesPackageRoot } from '../chunk-VPXV2Z5E.js';
|
|
4
|
+
export { COMPACTION_DEFAULTS, CanonicalRefConflictError, DEFAULT_RECIPE_ATTR, SK_WORKSPACE_DEFAULT_NAME, SK_WORKSPACE_SUFFIX, __resetCacheMigrationMemo, buildProvenanceIndex, checkRepoStatus, checkoutPin, cloneRepo, decodeSkaileYaml, deriveSingleMaterializedMcpDeclaration, encodeSkaileYaml, ensureRepo, findWorkspaceRoot, getGlobalCacheDir, getRepoCommit, globalCacheRoot, linkRepo, listSkWorkspaceConfigs, loadMcpServerDeclarations, loadSkWorkspaceConfig, mergeLegacyEntriesInto, mergeSkWorkspaceConfigs, migrateLegacyDir, normalizeConfig, pullRepo, readLinks, resolveAgentDir, resolveAll, resolveAsset, resolveSkWorkspaceConfig, saveSkWorkspaceConfig, scanRepo, stageMaterializedSkills, unlinkRepo, validateAssetRecipeAttr, validateAssetRecipeFlake, workspaceConfigFilename, writeLinks } from '../chunk-COSTF7QW.js';
|
|
5
5
|
export { SKAILE_MANIFEST_FILENAME, decodeSkaileManifest, encodeSkaileManifest, loadSkPublishManifest, saveSkPublishManifest } from '../chunk-DZCK7GRW.js';
|
|
6
6
|
export { bundleDepRefs, fromAgentMd, fromAgentYaml, fromBundleYaml, fromConnectorMd, fromContractMd, fromFlowYaml, fromMcpServerMd, fromMcpServerMdContent, fromPromptMd, fromSkillMd, parseFrontmatter, parseRequires, scanDirectory, walkDir } from '../chunk-6IDBWPK2.js';
|
|
7
7
|
export { ASSET_KINDS, ASSET_NAME_HINT, INDIVIDUAL_KINDS, assetRefToDep, assetRefToStr, depToStr, entryFromRaw, entryToRaw, isValidAssetName, parseAssetRef, parseDep, repositoryFromRaw, repositoryToRaw, slugifyAssetName } from '../chunk-GEEW6SY2.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-VPXV2Z5E.js';
|
|
2
|
+
import '../chunk-COSTF7QW.js';
|
|
3
3
|
import '../chunk-DZCK7GRW.js';
|
|
4
4
|
import '../chunk-6IDBWPK2.js';
|
|
5
5
|
import '../chunk-GEEW6SY2.js';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The global cache root. `$SKAILE_CACHE_DIR` (now the cache *root*, not the
|
|
3
|
+
* repos dir) wins; else `$SKAILE_HOME/cache`; else `~/.skaile/cache`.
|
|
4
|
+
*/
|
|
5
|
+
export declare function globalCacheRoot(): string;
|
|
6
|
+
/**
|
|
7
|
+
* One-time whole-tree migration: if `newPath` is absent but `legacyPath` exists,
|
|
8
|
+
* `rename()` legacy → new. Best-effort — a cross-device/raced rename is swallowed
|
|
9
|
+
* (the caller's dir is re-derivable). Returns `newPath` always. Memoized per
|
|
10
|
+
* `newPath` so hot resolvers don't stat on every call.
|
|
11
|
+
*/
|
|
12
|
+
export declare function migrateLegacyDir(newPath: string, legacyPath: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Per-entry merge: move each immediate child of `legacyDir` that passes `filter`
|
|
15
|
+
* into `targetDir/<name>`, skipping names already present in `targetDir`. Used
|
|
16
|
+
* where two legacy roots feed one new root (so a whole-tree rename would clobber
|
|
17
|
+
* or orphan). Removes `legacyDir` if it ends up empty. Idempotent; memoized per
|
|
18
|
+
* `targetDir|legacyDir` pair.
|
|
19
|
+
*
|
|
20
|
+
* @param filter - receives the absolute child path; return true to move it.
|
|
21
|
+
*/
|
|
22
|
+
export declare function mergeLegacyEntriesInto(targetDir: string, legacyDir: string, filter: (childAbsPath: string) => boolean): void;
|
|
23
|
+
/** Test-only: reset migration memoization between cases. */
|
|
24
|
+
export declare function __resetCacheMigrationMemo(): void;
|
|
25
|
+
//# sourceMappingURL=cache-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache-paths.d.ts","sourceRoot":"","sources":["../../../core/src/cache-paths.ts"],"names":[],"mappings":"AAaA;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAID;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAY5E;AAID;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,GACxC,IAAI,CAsBN;AAED,4DAA4D;AAC5D,wBAAgB,yBAAyB,IAAI,IAAI,CAGhD"}
|
package/dist/core/src/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* - `@skaile/workspaces/runner` (headless agent runtime)
|
|
11
11
|
* - `@skaile/workspace-cli` (the `skaile` binary)
|
|
12
12
|
*/
|
|
13
|
+
export { __resetCacheMigrationMemo, globalCacheRoot, mergeLegacyEntriesInto, migrateLegacyDir, } from "./cache-paths.js";
|
|
13
14
|
export { ASSET_KIND_DIRS, assetSearchDirs, detectAiResources, detectDomains, detectMonorepoRoot, } from "./discovery.js";
|
|
14
15
|
export type { AgentTarget, AiComponent, DriverTarget } from "./driver-targets.js";
|
|
15
16
|
export { DRIVER_TARGETS, SUPPORTED_DRIVER_TARGETS } from "./driver-targets.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../core/src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Repository operations — clone, pull, scan, resolve, link.
|
|
3
3
|
*
|
|
4
|
-
* Remote repos are cloned to a shared global cache (~/.skaile/
|
|
5
|
-
* Projects reference the cache via symlinks at .skaile/
|
|
4
|
+
* Remote repos are cloned to a shared global cache (~/.skaile/cache/sources/<name>/).
|
|
5
|
+
* Projects reference the cache via symlinks at .skaile/cache/sources/<name>/.
|
|
6
6
|
* Local repos (path:) are used directly. Linked repos override remote URLs.
|
|
7
7
|
*
|
|
8
8
|
* Supports partial clone + sparse checkout for large repos.
|
|
@@ -11,8 +11,11 @@ import type { AssetRef, CatalogEntry } from "./models.js";
|
|
|
11
11
|
import type { ProvenanceCandidate, ProvenanceIndex } from "./walker.js";
|
|
12
12
|
import type { OverrideEntry, SourceDeclaration, StoreEntry } from "./workspace-config.js";
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
15
|
-
*
|
|
14
|
+
* The global source-clone cache: `<cacheRoot>/sources` (override the root with
|
|
15
|
+
* `SKAILE_CACHE_DIR`). On first call it migrates both legacy clone roots into it:
|
|
16
|
+
* the whole of `~/.skaile/repos/*`, and the own-`.git` (clone) entries of
|
|
17
|
+
* `~/.skaile/sources/*`. The non-clone remainder of `~/.skaile/sources` is the
|
|
18
|
+
* sidecar repo and is migrated separately by `getSidecarRoot()`.
|
|
16
19
|
* @docLink packages/core/api-reference#get-global-cache-dir
|
|
17
20
|
*/
|
|
18
21
|
export declare function getGlobalCacheDir(): string;
|
|
@@ -107,13 +110,13 @@ export declare function unlinkRepo(projectDir: string, repoName: string): boolea
|
|
|
107
110
|
* 1. Linked override (`.skaile/links.yaml`) — highest priority
|
|
108
111
|
* 2. Local path (`decl.path`) — direct filesystem reference; a bare path must
|
|
109
112
|
* already exist, but a url-backed managed cache dir is cloned in-place on miss
|
|
110
|
-
* 3. Remote URL (`decl.url`) — cloned to the shared global cache, symlinked into `.skaile/
|
|
113
|
+
* 3. Remote URL (`decl.url`) — cloned to the shared global cache, symlinked into `.skaile/cache/sources/`
|
|
111
114
|
*
|
|
112
115
|
* Pin support: when `opts.pin` is provided, the tag/commit is checked out after clone.
|
|
113
116
|
*
|
|
114
117
|
* @param decl - Repository declaration from `skaile.yaml`
|
|
115
118
|
* @param name - Logical repository name (cache key)
|
|
116
|
-
* @param reposDir - Project-local
|
|
119
|
+
* @param reposDir - Project-local source-clone directory (`.skaile/cache/sources/`)
|
|
117
120
|
* @param opts - Optional: `pin` for a specific commit/tag, `projectDir` for link lookup
|
|
118
121
|
* @returns Absolute path to the local repository directory
|
|
119
122
|
* @throws When the repository cannot be resolved or cloned
|
|
@@ -151,7 +154,7 @@ export declare function scanRepo(repoDir: string, repoName: string): CatalogEntr
|
|
|
151
154
|
*
|
|
152
155
|
* @param ref - Parsed asset reference to resolve
|
|
153
156
|
* @param repositories - Repository declarations from `skaile.yaml`
|
|
154
|
-
* @param reposDir - Project-local
|
|
157
|
+
* @param reposDir - Project-local source-clone directory (`.skaile/cache/sources/`)
|
|
155
158
|
* @param opts - Optional: `projectDir` for link lookup, `preferRepo` for affinity
|
|
156
159
|
* @returns Matching `CatalogEntry`, or `null` if not found in any repository
|
|
157
160
|
* @docLink packages/core/api-reference#resolve-asset
|
|
@@ -268,7 +271,7 @@ export interface RepoStatus {
|
|
|
268
271
|
*
|
|
269
272
|
* @param decl - Repository declaration from `skaile.yaml`
|
|
270
273
|
* @param name - Logical repository name
|
|
271
|
-
* @param reposDir - Project-local
|
|
274
|
+
* @param reposDir - Project-local source-clone directory (`.skaile/cache/sources/`)
|
|
272
275
|
* @param projectDir - Optional project root for link lookup
|
|
273
276
|
* @returns `RepoStatus` describing the current state
|
|
274
277
|
* @docLink packages/core/api-reference#check-repo-status
|
|
@@ -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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"}
|