@farmslot/protocol 0.36.0 → 0.37.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 +3 -1
- package/dist/contracts/config.d.ts +27 -1
- package/dist/contracts/config.d.ts.map +1 -1
- package/dist/contracts/config.js +49 -0
- package/dist/contracts/config.js.map +1 -1
- package/dist/contracts/index.d.ts +1 -0
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +1 -0
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/recipe-conformance.d.ts +78 -0
- package/dist/contracts/recipe-conformance.d.ts.map +1 -0
- package/dist/contracts/recipe-conformance.js +2 -0
- package/dist/contracts/recipe-conformance.js.map +1 -0
- package/dist/node/slot-by-repo.d.ts +12 -1
- package/dist/node/slot-by-repo.d.ts.map +1 -1
- package/dist/node/slot-by-repo.js +32 -6
- package/dist/node/slot-by-repo.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,7 +4,9 @@ All notable changes to `@farmslot/protocol` are tracked here.
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
## 0.37.0 - 2026-10-11
|
|
8
|
+
|
|
9
|
+
- Declare portable project providers and ordered libraries, and record recipe conformance evidence bound to source, target selection, trust, invocation parameters and effective library paths. Slot reverse lookup refuses ambiguity and supports explicit selection while preserving local-host preference.
|
|
8
10
|
|
|
9
11
|
## 0.36.0 - 2026-10-10
|
|
10
12
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { SafetyTier } from './agents.js';
|
|
2
2
|
import type { ProjectBacklogConfig } from './backlog.js';
|
|
3
3
|
import type { FailureCategory } from './chat.js';
|
|
4
|
-
import type { ProjectExecutionTemplatesConfig } from './execution-templates.js';
|
|
4
|
+
import type { ExecutionTemplateSourceRoot, ProjectExecutionTemplatesConfig } from './execution-templates.js';
|
|
5
5
|
import type { PRExecutionProfile, PRSlotExecutionProfile, PRWorkspaceExecutionProfile } from './pr-monitoring.js';
|
|
6
6
|
import type { PRReviewOptions } from './pr-rules.js';
|
|
7
7
|
import type { ResourceDefinition, SlotActionDefinition } from './resources.js';
|
|
@@ -148,6 +148,31 @@ export interface ProjectPrepareConfig {
|
|
|
148
148
|
default?: string;
|
|
149
149
|
profiles?: Record<string, PrepareProfileConfig>;
|
|
150
150
|
}
|
|
151
|
+
/** Executable source is trusted by operator configuration, never by discovery. */
|
|
152
|
+
export interface ProjectRecipeProvider {
|
|
153
|
+
module: string;
|
|
154
|
+
root?: ExecutionTemplateSourceRoot;
|
|
155
|
+
export?: string;
|
|
156
|
+
package?: string;
|
|
157
|
+
revision?: string;
|
|
158
|
+
}
|
|
159
|
+
export interface ProjectRecipeLibrary {
|
|
160
|
+
name: string;
|
|
161
|
+
source: string | ExecutionTemplateSourceRoot;
|
|
162
|
+
owner: string;
|
|
163
|
+
revision?: string;
|
|
164
|
+
}
|
|
165
|
+
export interface ProjectRecipeConfig {
|
|
166
|
+
provider: ProjectRecipeProvider;
|
|
167
|
+
libraries?: ProjectRecipeLibrary[];
|
|
168
|
+
adapter?: string;
|
|
169
|
+
app?: string;
|
|
170
|
+
domain?: string;
|
|
171
|
+
template?: string;
|
|
172
|
+
manifest?: string;
|
|
173
|
+
}
|
|
174
|
+
/** Validate recipe metadata before resolving or importing any executable source. */
|
|
175
|
+
export declare function validateProjectRecipeConfig(value: unknown): asserts value is ProjectRecipeConfig;
|
|
151
176
|
export interface ProjectConfig {
|
|
152
177
|
name: string;
|
|
153
178
|
repoUrl: string;
|
|
@@ -157,6 +182,7 @@ export interface ProjectConfig {
|
|
|
157
182
|
/** Operator/docs hint for worktree sandboxes. Stale/idle inference uses fleet-probed linkedWorktree on SlotStatus, not this path. */
|
|
158
183
|
worktreeBase?: string;
|
|
159
184
|
apps?: string[];
|
|
185
|
+
recipe?: ProjectRecipeConfig;
|
|
160
186
|
paths: {
|
|
161
187
|
runtimeDir: string;
|
|
162
188
|
artifactDir: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EACV,2BAA2B,EAC3B,+BAA+B,EAChC,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,2BAA2B,EAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAI5C,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,MAAM,CAAC,EAAE,eAAe,CAAC;CAC1B;AAED,yEAAyE;AACzE,MAAM,WAAW,uBAAuB;IACtC,WAAW,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,2BAA2B,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;IACpF,EAAE,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,sBAAsB,CAAC;QAAC,MAAM,CAAC,EAAE,eAAe,CAAA;KAAE,CAAC;CACvE;AAED,MAAM,MAAM,uBAAuB,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC;AAC1F,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC1C,MAAM,EAAE,uBAAuB,GAAG,UAAU,CAAC;IAC7C,yEAAyE;IACzE,WAAW,CAAC,EAAE,uBAAuB,GAAG,UAAU,CAAC;CACpD;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,sBAAsB,CAAC;IACrC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,KAAK,EAAE,KAAK,CAAC;QACX,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,IAAI,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;KACvE,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,GAAG,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvE;AAED,MAAM,WAAW,kCAAkC;IACjD,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,4BAA4B,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,oBAAoB;IACnC,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6HAA6H;IAC7H,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kJAAkJ;IAClJ,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID;;;;GAIG;AACH,eAAO,MAAM,cAAc,6DAA8D,CAAC;AAC1F,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,+EAKvB,CAAC;AACX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,MAAM,WAAW,oBAAoB;IACnC,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,CAAC;IACvB,6FAA6F;IAC7F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAChC,qGAAqG;IACrG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,uEAAuE;IACvE,IAAI,CAAC,EAAE,oBAAoB,CAAC;IAC5B,uEAAuE;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;CACjD;AAED,kFAAkF;AAClF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,2BAA2B,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,2BAA2B,CAAC;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,qBAAqB,CAAC;IAChC,SAAS,CAAC,EAAE,oBAAoB,EAAE,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oFAAoF;AACpF,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,mBAAmB,CA2ChG;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,+EAA+E;IAC/E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qIAAqI;IACrI,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACnD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5D,gBAAgB,CAAC,EAAE,uBAAuB,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACvD,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,EAAE,EAAE;QACF,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,WAAW,EAAE,mBAAmB,EAAE,CAAC;QACnC,WAAW,EAAE,KAAK,CAAC;YACjB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;YACd,aAAa,EAAE,cAAc,GAAG,YAAY,CAAC;YAC7C,OAAO,CAAC,EAAE,KAAK,CAAC;gBAAE,SAAS,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,cAAc,GAAG,YAAY,CAAC;gBAAC,KAAK,CAAC,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;SAC/F,CAAC,CAAC;KACJ,CAAC;IACF,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IAIF,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAC/C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACnD,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,aAAa,CAAC,EAAE;YACd,aAAa,CAAC,EAAE,OAAO,CAAC;YACxB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;SACxB,CAAC;KACH,CAAC;IACF,YAAY,CAAC,EAAE;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,iBAAiB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,EAAE,kCAAkC,CAAC,CAAC,CAAC;IAC3F,YAAY,CAAC,EAAE,yBAAyB,CAAC;IACzC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,+EAA+E;IAC/E,YAAY,CAAC,EAAE;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,uBAAuB,EAAE,4BAA4B,CAAC;KACxE,CAAC;IACF,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,gCAAgC,CAAC;IACvD,yEAAyE;IACzE,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,sFAAsF;IACtF,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,yGAAyG;IACzG,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,6EAA6E;IAC7E,kBAAkB,CAAC,EAAE,+BAA+B,CAAC;IACrD,6EAA6E;IAC7E,EAAE,CAAC,EAAE,OAAO,SAAS,EAAE,eAAe,CAAC;CACxC;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,QAAQ,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB"}
|
package/dist/contracts/config.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isRecord } from '../recipe/common.js';
|
|
1
2
|
// ─── Prepare profiles (ADR-037) ───
|
|
2
3
|
/**
|
|
3
4
|
* Optional cost phases a prepare profile may select. Safety invariants (ssh
|
|
@@ -20,4 +21,52 @@ export const PREPARE_REQUIREMENTS = [
|
|
|
20
21
|
'health_ok',
|
|
21
22
|
'artifact_available',
|
|
22
23
|
];
|
|
24
|
+
/** Validate recipe metadata before resolving or importing any executable source. */
|
|
25
|
+
export function validateProjectRecipeConfig(value) {
|
|
26
|
+
const record = isRecord;
|
|
27
|
+
const string = (entry) => typeof entry === 'string' && entry.trim().length > 0;
|
|
28
|
+
const fail = (field, code = 'PROJECT_RECIPE_INVALID') => {
|
|
29
|
+
throw Object.assign(new Error(`recipe.${field} is invalid`), { code });
|
|
30
|
+
};
|
|
31
|
+
const root = (entry) => record(entry) &&
|
|
32
|
+
((typeof entry.env === 'string' &&
|
|
33
|
+
/^[A-Za-z_][A-Za-z0-9_]*$/u.test(entry.env) &&
|
|
34
|
+
entry.projectPath === undefined) ||
|
|
35
|
+
(string(entry.projectPath) && entry.env === undefined));
|
|
36
|
+
if (!record(value))
|
|
37
|
+
return fail('declaration');
|
|
38
|
+
if (!record(value.provider) || !string(value.provider.module))
|
|
39
|
+
return fail('provider.module');
|
|
40
|
+
if (value.provider.root !== undefined && !root(value.provider.root))
|
|
41
|
+
fail('provider.root');
|
|
42
|
+
for (const field of ['export', 'package', 'revision']) {
|
|
43
|
+
if (value.provider[field] !== undefined && !string(value.provider[field]))
|
|
44
|
+
fail(`provider.${field}`);
|
|
45
|
+
}
|
|
46
|
+
for (const field of ['adapter', 'app', 'domain', 'template', 'manifest']) {
|
|
47
|
+
if (value[field] !== undefined && !string(value[field]))
|
|
48
|
+
fail(field);
|
|
49
|
+
}
|
|
50
|
+
if (value.libraries !== undefined) {
|
|
51
|
+
if (!Array.isArray(value.libraries))
|
|
52
|
+
return fail('libraries');
|
|
53
|
+
const names = new Set();
|
|
54
|
+
value.libraries.forEach((library, index) => {
|
|
55
|
+
if (!record(library))
|
|
56
|
+
return fail(`libraries[${index}]`);
|
|
57
|
+
for (const field of ['name', 'owner']) {
|
|
58
|
+
if (!string(library[field]))
|
|
59
|
+
fail(`libraries[${index}].${field}`, field === 'owner' ? 'LIBRARY_OWNER_MISSING' : undefined);
|
|
60
|
+
}
|
|
61
|
+
if (!string(library.source) && !root(library.source))
|
|
62
|
+
fail(`libraries[${index}].source`);
|
|
63
|
+
if (library.revision !== undefined && !string(library.revision))
|
|
64
|
+
fail(`libraries[${index}].revision`);
|
|
65
|
+
const name = library.name;
|
|
66
|
+
if (names.has(name))
|
|
67
|
+
fail(`libraries[${index}].name, duplicate ${name}`);
|
|
68
|
+
names.add(name);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
23
72
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/contracts/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ export * from './pressure-admission.js';
|
|
|
25
25
|
export * from './provider-accounts.js';
|
|
26
26
|
export * from './qa.js';
|
|
27
27
|
export * from './readiness.js';
|
|
28
|
+
export * from './recipe-conformance.js';
|
|
28
29
|
export * from './recipes.js';
|
|
29
30
|
export * from './resource-posture.js';
|
|
30
31
|
export * from './resources.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
package/dist/contracts/index.js
CHANGED
|
@@ -25,6 +25,7 @@ export * from './pressure-admission.js';
|
|
|
25
25
|
export * from './provider-accounts.js';
|
|
26
26
|
export * from './qa.js';
|
|
27
27
|
export * from './readiness.js';
|
|
28
|
+
export * from './recipe-conformance.js';
|
|
28
29
|
export * from './recipes.js';
|
|
29
30
|
export * from './resource-posture.js';
|
|
30
31
|
export * from './resources.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,mCAAmC,CAAC;AAClD,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import type { RecipeExecutionPlan } from '../recipe/index.js';
|
|
2
|
+
export interface RecipeConformanceSource {
|
|
3
|
+
head: string | null;
|
|
4
|
+
status: string;
|
|
5
|
+
sourceFingerprint: string;
|
|
6
|
+
dirtyDigest?: string | null;
|
|
7
|
+
}
|
|
8
|
+
export interface RecipeConformanceIdentity {
|
|
9
|
+
project: string;
|
|
10
|
+
app: string | null;
|
|
11
|
+
domain: string | null;
|
|
12
|
+
adapter: string;
|
|
13
|
+
target: string;
|
|
14
|
+
trustDigest?: string;
|
|
15
|
+
selection?: {
|
|
16
|
+
slot: string | null;
|
|
17
|
+
poolSlot?: string | null;
|
|
18
|
+
adapterTarget?: string | null;
|
|
19
|
+
device: string | null;
|
|
20
|
+
ports: Record<string, number | string>;
|
|
21
|
+
provider: string | null;
|
|
22
|
+
manifest: string | null;
|
|
23
|
+
};
|
|
24
|
+
checkout: RecipeConformanceSource;
|
|
25
|
+
provider: RecipeConformanceSource;
|
|
26
|
+
implementation?: Array<RecipeConformanceSource & {
|
|
27
|
+
name: string;
|
|
28
|
+
}>;
|
|
29
|
+
libraries: Array<RecipeConformanceSource & {
|
|
30
|
+
name: string;
|
|
31
|
+
path?: string;
|
|
32
|
+
}>;
|
|
33
|
+
invocations?: Array<{
|
|
34
|
+
recipe: string;
|
|
35
|
+
paramsDigest: string;
|
|
36
|
+
}>;
|
|
37
|
+
configuration: Array<{
|
|
38
|
+
path: string;
|
|
39
|
+
sourceFingerprint: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export interface RecipeConformanceCheck {
|
|
43
|
+
id: string;
|
|
44
|
+
status: 'pass' | 'fail' | 'missing' | 'skipped' | 'unsupported';
|
|
45
|
+
required: boolean;
|
|
46
|
+
message: string;
|
|
47
|
+
userAction?: string;
|
|
48
|
+
evidence?: {
|
|
49
|
+
plan: RecipeExecutionPlan;
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
export interface RecipeConformanceReport {
|
|
53
|
+
schemaVersion: 1;
|
|
54
|
+
checkedAt: string;
|
|
55
|
+
identity: RecipeConformanceIdentity;
|
|
56
|
+
status: 'pass' | 'fail';
|
|
57
|
+
mode: 'static' | 'live';
|
|
58
|
+
capabilities: Array<{
|
|
59
|
+
name: string;
|
|
60
|
+
status: 'declared' | 'verified' | 'failed' | 'unknown';
|
|
61
|
+
}>;
|
|
62
|
+
checks: RecipeConformanceCheck[];
|
|
63
|
+
resolution?: {
|
|
64
|
+
recipes: Array<{
|
|
65
|
+
ref: string;
|
|
66
|
+
source: string;
|
|
67
|
+
shadows: string[];
|
|
68
|
+
invocation?: string;
|
|
69
|
+
}>;
|
|
70
|
+
actions: Array<{
|
|
71
|
+
action: string;
|
|
72
|
+
source: string;
|
|
73
|
+
shadows?: string[];
|
|
74
|
+
invocation?: string;
|
|
75
|
+
}>;
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=recipe-conformance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipe-conformance.d.ts","sourceRoot":"","sources":["../../src/contracts/recipe-conformance.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recipe-conformance.js","sourceRoot":"","sources":["../../src/contracts/recipe-conformance.ts"],"names":[],"mappings":""}
|
|
@@ -16,6 +16,17 @@ export interface SlotByRepoMatch<P extends SlotPoolFile = SlotPoolFile> {
|
|
|
16
16
|
slot: P['slots'][number];
|
|
17
17
|
poolFile: string;
|
|
18
18
|
}
|
|
19
|
+
export interface SlotByRepoOptions {
|
|
20
|
+
strict?: boolean;
|
|
21
|
+
slotId?: string;
|
|
22
|
+
}
|
|
23
|
+
export declare class SlotByRepoError extends Error {
|
|
24
|
+
readonly candidates: string[];
|
|
25
|
+
readonly code: 'SLOT_AMBIGUOUS' | 'SLOT_NOT_FOUND';
|
|
26
|
+
readonly exitCode = 2;
|
|
27
|
+
readonly userAction: string;
|
|
28
|
+
constructor(candidates: string[], selected?: string);
|
|
29
|
+
}
|
|
19
30
|
/**
|
|
20
31
|
* Pool files every loader skips: non-JSON, the committed template, and the
|
|
21
32
|
* repo's own demo pool (the self-integration example) unless FARMSLOT_DEMO_POOL=1
|
|
@@ -39,5 +50,5 @@ export declare function resolveSlotPoolDir(env?: NodeJS.ProcessEnv): {
|
|
|
39
50
|
* Prefers a slot on this machine when several pools map the same path; skips
|
|
40
51
|
* ignored and unparsable pool files. An unreadable pool directory throws.
|
|
41
52
|
*/
|
|
42
|
-
export declare function findSlotByRepo<P extends SlotPoolFile = SlotPoolFile>(poolDir: string, realTarget: string): Promise<SlotByRepoMatch<P> | null>;
|
|
53
|
+
export declare function findSlotByRepo<P extends SlotPoolFile = SlotPoolFile>(poolDir: string, realTarget: string, options?: SlotByRepoOptions): Promise<SlotByRepoMatch<P> | null>;
|
|
43
54
|
//# sourceMappingURL=slot-by-repo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot-by-repo.d.ts","sourceRoot":"","sources":["../../src/node/slot-by-repo.ts"],"names":[],"mappings":"AAKA,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACpE,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAM7F;AAED,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,eAAe,GAAG,eAAe,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAAG,SAAS,CAOxD;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EACxE,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"slot-by-repo.d.ts","sourceRoot":"","sources":["../../src/node/slot-by-repo.ts"],"names":[],"mappings":"AAKA,iFAAiF;AACjF,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;CACvE;AAED,MAAM,WAAW,eAAe,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY;IACpE,IAAI,EAAE,CAAC,CAAC;IACR,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,eAAgB,SAAQ,KAAK;IAKtC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE;IAJ/B,QAAQ,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAAC;IACnD,QAAQ,CAAC,QAAQ,KAAK;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAEjB,UAAU,EAAE,MAAM,EAAE,EAC7B,QAAQ,CAAC,EAAE,MAAM;CAWpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAM7F;AAED,2DAA2D;AAC3D,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,eAAe,GAAG,eAAe,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAAG,SAAS,CAOxD;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EACxE,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CA4CpC"}
|
|
@@ -2,6 +2,18 @@ import { existsSync } from 'node:fs';
|
|
|
2
2
|
import { readdir, readFile, realpath } from 'node:fs/promises';
|
|
3
3
|
import { homedir, hostname } from 'node:os';
|
|
4
4
|
import path from 'node:path';
|
|
5
|
+
export class SlotByRepoError extends Error {
|
|
6
|
+
constructor(candidates, selected) {
|
|
7
|
+
super(selected
|
|
8
|
+
? `Slot ${selected} does not map this checkout.`
|
|
9
|
+
: `More than one slot maps this checkout: ${candidates.join(', ')}`);
|
|
10
|
+
this.candidates = candidates;
|
|
11
|
+
this.exitCode = 2;
|
|
12
|
+
this.name = 'SlotByRepoError';
|
|
13
|
+
this.code = selected ? 'SLOT_NOT_FOUND' : 'SLOT_AMBIGUOUS';
|
|
14
|
+
this.userAction = 'select one matching slot with --slot <id>';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
5
17
|
/**
|
|
6
18
|
* Pool files every loader skips: non-JSON, the committed template, and the
|
|
7
19
|
* repo's own demo pool (the self-integration example) unless FARMSLOT_DEMO_POOL=1
|
|
@@ -39,11 +51,12 @@ export function resolveSlotPoolDir(env = process.env) {
|
|
|
39
51
|
* Prefers a slot on this machine when several pools map the same path; skips
|
|
40
52
|
* ignored and unparsable pool files. An unreadable pool directory throws.
|
|
41
53
|
*/
|
|
42
|
-
export async function findSlotByRepo(poolDir, realTarget) {
|
|
54
|
+
export async function findSlotByRepo(poolDir, realTarget, options = {}) {
|
|
43
55
|
const files = await readdir(poolDir);
|
|
44
56
|
const localHost = hostname().replace(/\.local$/u, '');
|
|
45
57
|
const isLocalHost = (host) => host === 'localhost' || host === '127.0.0.1' || host.replace(/\.local$/u, '') === localHost;
|
|
46
|
-
|
|
58
|
+
const local = [];
|
|
59
|
+
const remote = [];
|
|
47
60
|
for (const file of [...files].sort()) {
|
|
48
61
|
if (isIgnoredPoolFile(file))
|
|
49
62
|
continue;
|
|
@@ -56,6 +69,8 @@ export async function findSlotByRepo(poolDir, realTarget) {
|
|
|
56
69
|
continue;
|
|
57
70
|
}
|
|
58
71
|
for (const slot of Array.isArray(pool.slots) ? pool.slots : []) {
|
|
72
|
+
if (options.slotId && slot.id !== options.slotId)
|
|
73
|
+
continue;
|
|
59
74
|
const repo = slot.repo ?? '';
|
|
60
75
|
if (!repo)
|
|
61
76
|
continue;
|
|
@@ -71,11 +86,22 @@ export async function findSlotByRepo(poolDir, realTarget) {
|
|
|
71
86
|
if (real !== realTarget)
|
|
72
87
|
continue;
|
|
73
88
|
const match = { pool, slot, poolFile: path.join(poolDir, file) };
|
|
74
|
-
if (isLocalHost(pool.host ?? '') || pool.machine === localHost)
|
|
75
|
-
|
|
76
|
-
|
|
89
|
+
if (isLocalHost(pool.host ?? '') || pool.machine === localHost) {
|
|
90
|
+
if (!options.strict)
|
|
91
|
+
return match;
|
|
92
|
+
local.push(match);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
remote.push(match);
|
|
96
|
+
}
|
|
77
97
|
}
|
|
78
98
|
}
|
|
79
|
-
|
|
99
|
+
const candidates = local.length > 0 ? local : remote;
|
|
100
|
+
if (options.strict && candidates.length > 1) {
|
|
101
|
+
throw new SlotByRepoError(candidates.map((match) => match.slot.id));
|
|
102
|
+
}
|
|
103
|
+
if (options.strict && options.slotId && candidates.length === 0)
|
|
104
|
+
throw new SlotByRepoError([], options.slotId);
|
|
105
|
+
return candidates[0] ?? null;
|
|
80
106
|
}
|
|
81
107
|
//# sourceMappingURL=slot-by-repo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slot-by-repo.js","sourceRoot":"","sources":["../../src/node/slot-by-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"slot-by-repo.js","sourceRoot":"","sources":["../../src/node/slot-by-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AA4B7B,MAAM,OAAO,eAAgB,SAAQ,KAAK;IAIxC,YACW,UAAoB,EAC7B,QAAiB;QAEjB,KAAK,CACH,QAAQ;YACN,CAAC,CAAC,QAAQ,QAAQ,8BAA8B;YAChD,CAAC,CAAC,0CAA0C,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;QAPO,eAAU,GAAV,UAAU,CAAU;QAHtB,aAAQ,GAAG,CAAC,CAAC;QAWpB,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;QAC9B,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,2CAA2C,CAAC;IAChE,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,MAAyB,OAAO,CAAC,GAAG;IAClF,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC1D,IAAI,IAAI,KAAK,cAAc;QAAE,OAAO,IAAI,CAAC;IACzC,IAAI,IAAI,KAAK,oBAAoB;QAAE,OAAO,GAAG,CAAC,kBAAkB,KAAK,GAAG,CAAC;IACzE,OAAO,KAAK,CAAC;AACf,CAAC;AAKD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,OAAO,GAAG,GAAG,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;IAC9C,IAAI,OAAO;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAChF,MAAM,IAAI,GAAG,GAAG,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;IACvC,IAAI,IAAI;QAAE,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACzF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAO,EAAE,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IACnF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACvF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAe,EACf,UAAkB,EAClB,UAA6B,EAAE;IAE/B,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IACtD,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,EAAE,CACnC,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,SAAS,CAAC;IAC9F,MAAM,KAAK,GAAyB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QACrC,IAAI,iBAAiB,CAAC,IAAI,CAAC;YAAE,SAAS;QACtC,IAAI,IAAO,CAAC;QACZ,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAM,CAAC;QAC5E,CAAC;QAAC,MAAM,CAAC;YACP,mEAAmE;YACnE,SAAS;QACX,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC/D,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,MAAM;gBAAE,SAAS;YAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAS;YACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,GAA0B,EAAE,EAAE;gBACzE,qEAAqE;gBACrE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS;oBAAE,OAAO,IAAI,CAAC;gBACjE,MAAM,GAAG,CAAC;YACZ,CAAC,CAAC,CAAC;YACH,IAAI,IAAI,KAAK,UAAU;gBAAE,SAAS;YAClC,MAAM,KAAK,GAAuB,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,CAAC;YACrF,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC/D,IAAI,CAAC,OAAO,CAAC,MAAM;oBAAE,OAAO,KAAK,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IACrD,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAC7D,MAAM,IAAI,eAAe,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PROTOCOL_VERSION = "0.
|
|
1
|
+
export declare const PROTOCOL_VERSION = "0.37.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/version.js
CHANGED
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
// fleet can be upgraded deliberately; optional method/event fields remain
|
|
4
4
|
// backward-compatible unless a caller requires a new node capability.
|
|
5
5
|
// Format: semver-ish, increment when methods/events/frame format changes.
|
|
6
|
-
export const PROTOCOL_VERSION = '0.
|
|
6
|
+
export const PROTOCOL_VERSION = '0.37.0';
|
|
7
7
|
//# sourceMappingURL=version.js.map
|