@farmslot/protocol 0.82.3 → 0.83.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 +7 -0
- package/dist/contracts/config.d.ts +8 -0
- package/dist/contracts/config.d.ts.map +1 -1
- package/dist/contracts/config.js +9 -0
- package/dist/contracts/config.js.map +1 -1
- package/dist/contracts/runs.d.ts +4 -0
- package/dist/contracts/runs.d.ts.map +1 -1
- package/dist/contracts/runs.js +11 -0
- package/dist/contracts/runs.js.map +1 -1
- package/dist/contracts/task.d.ts +2 -1
- package/dist/contracts/task.d.ts.map +1 -1
- package/dist/contracts/task.js +2 -2
- package/dist/contracts/task.js.map +1 -1
- package/dist/node/farm-layout.d.ts.map +1 -1
- package/dist/node/farm-layout.js +2 -3
- package/dist/node/farm-layout.js.map +1 -1
- package/dist/node/farm-paths-storage.d.ts +6 -0
- package/dist/node/farm-paths-storage.d.ts.map +1 -0
- package/dist/node/farm-paths-storage.js +54 -0
- package/dist/node/farm-paths-storage.js.map +1 -0
- package/dist/node/farm-paths.d.ts +149 -0
- package/dist/node/farm-paths.d.ts.map +1 -0
- package/dist/node/farm-paths.js +429 -0
- package/dist/node/farm-paths.js.map +1 -0
- package/dist/node/farmslot-home.d.ts +1 -7
- package/dist/node/farmslot-home.d.ts.map +1 -1
- package/dist/node/farmslot-home.js +6 -16
- package/dist/node/farmslot-home.js.map +1 -1
- package/dist/node/slot-by-repo.d.ts.map +1 -1
- package/dist/node/slot-by-repo.js +11 -3
- package/dist/node/slot-by-repo.js.map +1 -1
- package/dist/node/tree-fingerprint.d.ts +9 -0
- package/dist/node/tree-fingerprint.d.ts.map +1 -0
- package/dist/node/tree-fingerprint.js +30 -0
- package/dist/node/tree-fingerprint.js.map +1 -0
- package/dist/rpc/nodes.d.ts +2 -0
- package/dist/rpc/nodes.d.ts.map +1 -1
- package/dist/rpc/nodes.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +11 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/contracts/task.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAE9F,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAExE,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,iBAAiB,CAAC;IACxB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,eAAe,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,UAAU,CAAC;IACnB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,iEAAiE;IACjE,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAoB,SAAQ,2BAA2B;IACtE,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,cAAc,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,sFAAsF;IACtF,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC;IACrC,MAAM,EAAE,aAAa,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,EAAE,sBAAsB,CAAC;IACjC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wFAAwF;AACxF,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,CAAC,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,gBAAgB,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/contracts/task.ts"],"names":[],"mappings":"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"}
|
package/dist/contracts/task.js
CHANGED
|
@@ -8,8 +8,8 @@ export function validateOperationRecord(value, id) {
|
|
|
8
8
|
typeof value.target !== 'string' ||
|
|
9
9
|
!Number.isInteger(value.pid) ||
|
|
10
10
|
value.pid <= 0 ||
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
(value.processStartedAt !== undefined &&
|
|
12
|
+
(typeof value.processStartedAt !== 'string' || !value.processStartedAt)) ||
|
|
13
13
|
typeof value.startedAt !== 'string' ||
|
|
14
14
|
typeof value.updatedAt !== 'string' ||
|
|
15
15
|
(value.parentId !== undefined && typeof value.parentId !== 'string') ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/contracts/task.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/contracts/task.ts"],"names":[],"mappings":"AA2GA,uFAAuF;AACvF,MAAM,UAAU,uBAAuB,CAAC,KAAoB,EAAE,EAAU;IACtE,IACE,CAAC,KAAK;QACN,KAAK,CAAC,aAAa,KAAK,CAAC;QACzB,KAAK,CAAC,EAAE,KAAK,EAAE;QACf,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;QACnD,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QACjC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;QAChC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;QAC5B,KAAK,CAAC,GAAG,IAAI,CAAC;QACd,CAAC,KAAK,CAAC,gBAAgB,KAAK,SAAS;YACnC,CAAC,OAAO,KAAK,CAAC,gBAAgB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC1E,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QACnC,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC;QACpE,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QAC9D,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAC/D,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,SAAS,IAAI,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CACzF;QACD,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxF,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;QAEjC,MAAM,IAAI,KAAK,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;AACvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farm-layout.d.ts","sourceRoot":"","sources":["../../src/node/farm-layout.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"farm-layout.d.ts","sourceRoot":"","sources":["../../src/node/farm-layout.ts"],"names":[],"mappings":"AAKA,uFAAuF;AACvF,eAAO,MAAM,qBAAqB,UAAU,CAAC;AAE7C,uFAAuF;AACvF,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAER;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,UAAU,EAClB,WAAW,EAAE,MAAM,EACnB,QAAQ,UAAQ,GACf,MAAM,CAIR;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,CAiBzF"}
|
package/dist/node/farm-layout.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { readdir, stat } from 'node:fs/promises';
|
|
2
2
|
import path from 'node:path';
|
|
3
|
+
import { currentFarmPaths } from './farm-paths.js';
|
|
3
4
|
/** Gateway-written run task folders inside a project directory; never pack content. */
|
|
4
5
|
export const ORCHESTRATOR_TASK_DIR = 'tasks';
|
|
5
6
|
/** A Farmslot root's projects dir: `FARMSLOT_PROJECTS_DIR`, else `<root>/projects`. */
|
|
6
7
|
export function resolveProjectsDir(farmslotRoot, env = process.env) {
|
|
7
|
-
return env.
|
|
8
|
-
? path.resolve(env.FARMSLOT_PROJECTS_DIR)
|
|
9
|
-
: path.join(farmslotRoot, 'projects');
|
|
8
|
+
return currentFarmPaths('node', env, farmslotRoot).projects;
|
|
10
9
|
}
|
|
11
10
|
/**
|
|
12
11
|
* Where the gateway keeps a project's run task folders. Mock-mode projects keep them in the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"farm-layout.js","sourceRoot":"","sources":["../../src/node/farm-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE7C,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,
|
|
1
|
+
{"version":3,"file":"farm-layout.js","sourceRoot":"","sources":["../../src/node/farm-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,OAAO,CAAC;AAE7C,uFAAuF;AACvF,MAAM,UAAU,kBAAkB,CAChC,YAAoB,EACpB,MAAyB,OAAO,CAAC,GAAG;IAEpC,OAAO,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC;AAC9D,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAkB,EAClB,WAAmB,EACnB,QAAQ,GAAG,KAAK;IAEhB,OAAO,QAAQ;QACb,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,CAAC;QAChF,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,WAAW,EAAE,qBAAqB,CAAC,CAAC;AACxE,CAAC;AAOD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,MAAkB;IAC3D,IAAI,OAAO,CAAC;IACZ,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACvE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QAChE,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,KAAK,GACT,KAAK,CAAC,WAAW,EAAE;YACnB,CAAC,KAAK,CAAC,cAAc,EAAE;gBACrB,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAClF,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,uFAAuF;AACvF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE3F;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,IAAY;IACpC,IAAI,CAAC;QACH,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,uBAAuB,CAAC,GAAG,CAAE,GAA6B,CAAC,IAAI,IAAI,EAAE,CAAC;YAAE,OAAO,IAAI,CAAC;QACxF,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FarmPaths, LegacyFarmStorageFacts } from './farm-paths.js';
|
|
2
|
+
/** Read the same configuration and durable pairing as run-bundle/retained.ts:294.
|
|
3
|
+
* Reporting never creates a store or recovers a migration.
|
|
4
|
+
*/
|
|
5
|
+
export declare function readLegacyStorageFacts(paths: FarmPaths): LegacyFarmStorageFacts;
|
|
6
|
+
//# sourceMappingURL=farm-paths-storage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farm-paths-storage.d.ts","sourceRoot":"","sources":["../../src/node/farm-paths-storage.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAgBzE;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,sBAAsB,CAqC/E"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { readFileSync, realpathSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { expandHome } from './farmslot-home.js';
|
|
4
|
+
function readOptional(file) {
|
|
5
|
+
try {
|
|
6
|
+
return JSON.parse(readFileSync(file, 'utf8'));
|
|
7
|
+
}
|
|
8
|
+
catch (error) {
|
|
9
|
+
if (error instanceof Error && 'code' in error && error.code === 'ENOENT')
|
|
10
|
+
return undefined;
|
|
11
|
+
throw error;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
function record(value) {
|
|
15
|
+
return !!value && typeof value === 'object' && !Array.isArray(value);
|
|
16
|
+
}
|
|
17
|
+
/** Read the same configuration and durable pairing as run-bundle/retained.ts:294.
|
|
18
|
+
* Reporting never creates a store or recovers a migration.
|
|
19
|
+
*/
|
|
20
|
+
export function readLegacyStorageFacts(paths) {
|
|
21
|
+
const document = readOptional(path.join(path.dirname(paths.data.runBundles), 'run-bundle-retention.json'));
|
|
22
|
+
let configured;
|
|
23
|
+
if (document !== undefined) {
|
|
24
|
+
if (!record(document) || !record(document.runBundleRetention))
|
|
25
|
+
throw new Error('Invalid runBundleRetention settings.');
|
|
26
|
+
const root = document.runBundleRetention.storeRoot;
|
|
27
|
+
if (root !== undefined) {
|
|
28
|
+
if (typeof root !== 'string')
|
|
29
|
+
throw new Error('Invalid runBundleRetention.storeRoot.');
|
|
30
|
+
configured = expandHome(root);
|
|
31
|
+
if (!path.isAbsolute(configured))
|
|
32
|
+
throw new Error('runBundleRetention.storeRoot must be absolute.');
|
|
33
|
+
configured = path.resolve(configured);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const binding = readOptional(path.join(paths.state.runs, 'bundle-store.json'));
|
|
37
|
+
if (binding === undefined)
|
|
38
|
+
return { runBundles: configured ?? paths.data.runBundles };
|
|
39
|
+
if (!record(binding) ||
|
|
40
|
+
binding.version !== 1 ||
|
|
41
|
+
typeof binding.id !== 'string' ||
|
|
42
|
+
!binding.id ||
|
|
43
|
+
binding.runsDir !== realpathSync(paths.state.runs) ||
|
|
44
|
+
typeof binding.root !== 'string' ||
|
|
45
|
+
!path.isAbsolute(binding.root))
|
|
46
|
+
throw new Error('Run bundle store pairing does not match the canonical Run store.');
|
|
47
|
+
if (configured && realpathSync(configured) !== realpathSync(binding.root))
|
|
48
|
+
throw new Error('Run bundle store pairing does not match the configured root; use the migration command.');
|
|
49
|
+
const owner = readOptional(path.join(binding.root, 'store.json'));
|
|
50
|
+
if (!owner || JSON.stringify(owner) !== JSON.stringify(binding))
|
|
51
|
+
throw new Error('Run bundle root belongs to a different Run store.');
|
|
52
|
+
return { runBundles: binding.root };
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=farm-paths-storage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farm-paths-storage.js","sourceRoot":"","sources":["../../src/node/farm-paths-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
export declare const FARM_INSTANCE_CLAIM = ".farmslot-instance";
|
|
2
|
+
export type FarmRole = 'gateway' | 'node';
|
|
3
|
+
export type FarmPathEnv = Readonly<Record<string, string | undefined>>;
|
|
4
|
+
export interface LegacyFarmStorageFacts {
|
|
5
|
+
runBundles: string;
|
|
6
|
+
}
|
|
7
|
+
export interface ResolveFarmPathsOptions {
|
|
8
|
+
home?: string;
|
|
9
|
+
role: FarmRole;
|
|
10
|
+
env?: FarmPathEnv;
|
|
11
|
+
checkoutRoot?: string;
|
|
12
|
+
agentRuntimeScripts?: string;
|
|
13
|
+
userHome?: string;
|
|
14
|
+
legacyFacts?: LegacyFarmStorageFacts;
|
|
15
|
+
/** A marker read on the target by deployment tooling; null means absent. */
|
|
16
|
+
instanceConfig?: InstanceConfig | null;
|
|
17
|
+
}
|
|
18
|
+
export interface FarmStatePaths {
|
|
19
|
+
runs: string;
|
|
20
|
+
taskPins: string;
|
|
21
|
+
nativeSessions: string;
|
|
22
|
+
reviewWorkspaces: string;
|
|
23
|
+
sources: string;
|
|
24
|
+
nodeLink: string;
|
|
25
|
+
logs: string;
|
|
26
|
+
tmp: string;
|
|
27
|
+
cache: string;
|
|
28
|
+
gatewayLock: string;
|
|
29
|
+
sessionArchives: string;
|
|
30
|
+
episodes: string;
|
|
31
|
+
reviewWorkspaceSupport: string;
|
|
32
|
+
browserCache: string;
|
|
33
|
+
copilotRuntime: string;
|
|
34
|
+
assessmentArtifacts: string;
|
|
35
|
+
pressureHistory: string;
|
|
36
|
+
intelligenceAudit: string;
|
|
37
|
+
feedbackLedger: string;
|
|
38
|
+
extraLogDirs: string[];
|
|
39
|
+
}
|
|
40
|
+
export interface GatewayFarmStatePaths extends FarmStatePaths {
|
|
41
|
+
/** Legacy uses the backlog JSON file; layout 2 uses the backlog directory. */
|
|
42
|
+
backlog: string;
|
|
43
|
+
backlogFile: string;
|
|
44
|
+
roadmap: string;
|
|
45
|
+
workGraphs: string;
|
|
46
|
+
copilot: string;
|
|
47
|
+
assessments: string;
|
|
48
|
+
analytics: string;
|
|
49
|
+
backlogSpecs: string;
|
|
50
|
+
refinementPrompts: string;
|
|
51
|
+
dispatchQueue: string;
|
|
52
|
+
statusFile: string;
|
|
53
|
+
evalCaps: string;
|
|
54
|
+
observabilityAgreement: string;
|
|
55
|
+
backlogRefinementPrompts: string;
|
|
56
|
+
resourceWatchState: string;
|
|
57
|
+
capabilityStore: string;
|
|
58
|
+
}
|
|
59
|
+
export interface FarmCodePaths {
|
|
60
|
+
checkout: string;
|
|
61
|
+
agentRuntimeScripts: string;
|
|
62
|
+
templateNode: string;
|
|
63
|
+
node: string;
|
|
64
|
+
cli: string;
|
|
65
|
+
bin: string;
|
|
66
|
+
support: string;
|
|
67
|
+
}
|
|
68
|
+
export interface FarmDataPaths {
|
|
69
|
+
/** Legacy stores have no common data root; this is the selected farm home. */
|
|
70
|
+
root: string;
|
|
71
|
+
/** Legacy default candidate unless legacyFacts is supplied. Reports use resolveReportedFarmPaths. */
|
|
72
|
+
runBundles: string;
|
|
73
|
+
runArchive: string;
|
|
74
|
+
taskPinsArchive: string;
|
|
75
|
+
canary: string;
|
|
76
|
+
datasets: string;
|
|
77
|
+
}
|
|
78
|
+
interface SharedFarmPaths {
|
|
79
|
+
layout: 'legacy' | 2;
|
|
80
|
+
instance: string;
|
|
81
|
+
home: string;
|
|
82
|
+
/** Per-store environment variable names actually honoured, for migration warnings. */
|
|
83
|
+
envOverrides: string[];
|
|
84
|
+
config: string;
|
|
85
|
+
configFiles: {
|
|
86
|
+
sources: string;
|
|
87
|
+
};
|
|
88
|
+
pool: string;
|
|
89
|
+
projects: string;
|
|
90
|
+
templateProjects: string;
|
|
91
|
+
code: FarmCodePaths;
|
|
92
|
+
backups: string;
|
|
93
|
+
data: FarmDataPaths;
|
|
94
|
+
}
|
|
95
|
+
export interface NodeFarmPaths extends SharedFarmPaths {
|
|
96
|
+
role: 'node';
|
|
97
|
+
state: FarmStatePaths;
|
|
98
|
+
}
|
|
99
|
+
export interface GatewayFarmPaths extends SharedFarmPaths {
|
|
100
|
+
role: 'gateway';
|
|
101
|
+
state: GatewayFarmStatePaths;
|
|
102
|
+
}
|
|
103
|
+
export type FarmPaths = NodeFarmPaths | GatewayFarmPaths;
|
|
104
|
+
/** Addressable path leaves, including indexed path arrays. Metadata is never a path. */
|
|
105
|
+
export declare function farmPathEntries(paths: FarmPaths): [string, string][];
|
|
106
|
+
export declare function resolveReportedFarmPaths(options: ResolveFarmPathsOptions & {
|
|
107
|
+
role: 'node';
|
|
108
|
+
}): NodeFarmPaths;
|
|
109
|
+
export declare function resolveReportedFarmPaths(options: ResolveFarmPathsOptions & {
|
|
110
|
+
role: 'gateway';
|
|
111
|
+
}): GatewayFarmPaths;
|
|
112
|
+
export declare function resolveReportedFarmPaths(options: ResolveFarmPathsOptions): FarmPaths;
|
|
113
|
+
export interface InstanceConfig {
|
|
114
|
+
layout: 2;
|
|
115
|
+
name?: string;
|
|
116
|
+
dataRoot?: string;
|
|
117
|
+
ports?: FarmInstancePorts;
|
|
118
|
+
}
|
|
119
|
+
export interface FarmInstancePorts {
|
|
120
|
+
gateway?: number;
|
|
121
|
+
}
|
|
122
|
+
/** Validate a target's marker before resolving its paths on the deploying host. */
|
|
123
|
+
export declare function parseFarmInstanceConfig(value: unknown, file: string): InstanceConfig;
|
|
124
|
+
export declare function resolveFarmPaths(options: ResolveFarmPathsOptions & {
|
|
125
|
+
role: 'gateway';
|
|
126
|
+
}): GatewayFarmPaths;
|
|
127
|
+
export declare function resolveFarmPaths(options: ResolveFarmPathsOptions & {
|
|
128
|
+
role: 'node';
|
|
129
|
+
}): NodeFarmPaths;
|
|
130
|
+
export declare function resolveFarmPaths(options: ResolveFarmPathsOptions): FarmPaths;
|
|
131
|
+
export declare function currentFarmPaths(role: 'gateway', env?: FarmPathEnv, checkoutRoot?: string): GatewayFarmPaths;
|
|
132
|
+
export declare function currentFarmPaths(role: 'node', env?: FarmPathEnv, checkoutRoot?: string): NodeFarmPaths;
|
|
133
|
+
/** Older nodes have no report. Keep their shell-expanded legacy paths in one place.
|
|
134
|
+
* Template expansion historically honors WORKSPACE; helper execution does not.
|
|
135
|
+
*/
|
|
136
|
+
export declare function legacyRemoteFarmPaths(env?: FarmPathEnv, discoveredCheckout?: string, agentRuntimeScripts?: string): {
|
|
137
|
+
home: string;
|
|
138
|
+
pool: string;
|
|
139
|
+
projects: string;
|
|
140
|
+
code: FarmCodePaths;
|
|
141
|
+
state: {
|
|
142
|
+
runs: string;
|
|
143
|
+
tmp: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
/** Validate the optional wire report without trusting a cast at the RPC boundary. */
|
|
147
|
+
export declare function isNodeFarmPaths(value: unknown): value is NodeFarmPaths;
|
|
148
|
+
export {};
|
|
149
|
+
//# sourceMappingURL=farm-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"farm-paths.d.ts","sourceRoot":"","sources":["../../src/node/farm-paths.ts"],"names":[],"mappings":"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"}
|