@xemahq/kernel-contracts 0.3.6 → 0.3.7

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.
@@ -1,5 +1,5 @@
1
1
  import type { WorkingFileBinding, WorkspaceEnvVar, WorkspacePersistenceSpec } from '../../agent-workspace';
2
- import type { AgentRunRole, OutputSurfaceKind } from '../../workflow';
2
+ import type { AgentRunRole, CompiledManifestCredential, CompiledManifestPermissions, OutputSurfaceKind } from '../../workflow';
3
3
  export type { WorkingFileBinding, WorkspaceEnvVar, WorkspacePersistenceSpec, } from '../../agent-workspace';
4
4
  export declare enum CompositionOutputSurfaceMode {
5
5
  Single = "single",
@@ -31,5 +31,7 @@ export interface CompositionWorkspace {
31
31
  readonly outputSurface?: CompositionOutputSurface;
32
32
  readonly mountLayout?: CompositionMountLayout;
33
33
  readonly workingFiles?: readonly WorkingFileBinding[];
34
+ readonly credentials?: readonly CompiledManifestCredential[];
35
+ readonly permissions?: CompiledManifestPermissions;
34
36
  }
35
37
  //# sourceMappingURL=composition-workspace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"composition-workspace.d.ts","sourceRoot":"","sources":["../../../src/agent-composition/lib/composition-workspace.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,YAAY,EACZ,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAQ/B,oBAAY,4BAA4B;IACtC,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAsBD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAC;IAM7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAMvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAcD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AA6BD,MAAM,WAAW,sBAAsB;IAOrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IAOnD,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAOjE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAQD,MAAM,WAAW,oBAAoB;IAKnC,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAOhD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAK1C,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAQlD,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAgB9C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACvD"}
1
+ {"version":3,"file":"composition-workspace.d.ts","sourceRoot":"","sources":["../../../src/agent-composition/lib/composition-workspace.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,YAAY,EACZ,0BAA0B,EAC1B,2BAA2B,EAC3B,iBAAiB,EAClB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAQ/B,oBAAY,4BAA4B;IACtC,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAsBD,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAE7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAE5B,QAAQ,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAC;IAM7C,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAMvB,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAcD,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CACtC;AA6BD,MAAM,WAAW,sBAAsB;IAOrC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAEnD,QAAQ,CAAC,cAAc,EAAE,yBAAyB,CAAC;IAOnD,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;IAOjE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACpD;AAQD,MAAM,WAAW,oBAAoB;IAKnC,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAOhD,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,eAAe,EAAE,CAAC;IAK1C,QAAQ,CAAC,aAAa,CAAC,EAAE,wBAAwB,CAAC;IAQlD,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAgB9C,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;IAWtD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAW7D,QAAQ,CAAC,WAAW,CAAC,EAAE,2BAA2B,CAAC;CACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"composition-workspace.js","sourceRoot":"","sources":["../../../src/agent-composition/lib/composition-workspace.ts"],"names":[],"mappings":";;;AA2CA,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,iDAAiB,CAAA;IACjB,+CAAe,CAAA;AACjB,CAAC,EAHW,4BAA4B,4CAA5B,4BAA4B,QAGvC"}
1
+ {"version":3,"file":"composition-workspace.js","sourceRoot":"","sources":["../../../src/agent-composition/lib/composition-workspace.ts"],"names":[],"mappings":";;;AA6CA,IAAY,4BAGX;AAHD,WAAY,4BAA4B;IACtC,iDAAiB,CAAA;IACjB,+CAAe,CAAA;AACjB,CAAC,EAHW,4BAA4B,4CAA5B,4BAA4B,QAGvC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://xema.dev/schemas/awp-spec.v1.json",
3
- "emittedAt": "2026-06-12T12:44:29.614Z",
3
+ "emittedAt": "2026-06-12T14:43:51.031Z",
4
4
  "spec": {
5
5
  "id": "awp/v1",
6
6
  "version": "1.2.0",
@@ -11,6 +11,7 @@ export declare enum WorkflowErrorCode {
11
11
  DSL_UNKNOWN_DELIVERABLE_FIELD = "DSL_UNKNOWN_DELIVERABLE_FIELD",
12
12
  DSL_VERSION_NOT_RESOLVABLE = "DSL_VERSION_NOT_RESOLVABLE",
13
13
  DSL_PERMISSION_ESCALATION = "DSL_PERMISSION_ESCALATION",
14
+ DSL_VARS_BRIEFCASE_COLLISION = "DSL_VARS_BRIEFCASE_COLLISION",
14
15
  DSL_MATRIX_KEY_NOT_DECLARED = "DSL_MATRIX_KEY_NOT_DECLARED",
15
16
  DSL_INVALID_MATRIX_OUTPUT_ACCESS = "DSL_INVALID_MATRIX_OUTPUT_ACCESS",
16
17
  DSL_FIELD_NOT_TYPED = "DSL_FIELD_NOT_TYPED",
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/workflow/lib/errors.ts"],"names":[],"mappings":"AAUA,oBAAY,iBAAiB;IAE3B,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,+BAA+B,oCAAoC;IACnE,kBAAkB,uBAAuB;IACzC,6BAA6B,kCAAkC;IAO/D,iBAAiB,sBAAsB;IAMvC,4BAA4B,iCAAiC;IAS7D,6BAA6B,kCAAkC;IAC/D,0BAA0B,+BAA+B;IACzD,yBAAyB,8BAA8B;IAOvD,2BAA2B,gCAAgC;IAS3D,gCAAgC,qCAAqC;IAWrE,mBAAmB,wBAAwB;IAM3C,uBAAuB,4BAA4B;IAGnD,gBAAgB,qBAAqB;IAOrC,2BAA2B,gCAAgC;IAG3D,qBAAqB,0BAA0B;IAC/C,yBAAyB,8BAA8B;IACvD,wBAAwB,6BAA6B;IACrD,4BAA4B,iCAAiC;IAC7D,+BAA+B,oCAAoC;IAMnE,4BAA4B,iCAAiC;IAM7D,uCAAuC,4CAA4C;IACnF,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAU7D,uBAAuB,4BAA4B;IASnD,6BAA6B,kCAAkC;IAS/D,0BAA0B,+BAA+B;IASzD,yBAAyB,8BAA8B;CACxD;AAGD,eAAO,MAAM,kCAAkC,EAAE,SAAS,iBAAiB,EAuBjE,CAAC"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/workflow/lib/errors.ts"],"names":[],"mappings":"AAUA,oBAAY,iBAAiB;IAE3B,kBAAkB,uBAAuB;IACzC,oBAAoB,yBAAyB;IAC7C,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,+BAA+B,oCAAoC;IACnE,kBAAkB,uBAAuB;IACzC,6BAA6B,kCAAkC;IAO/D,iBAAiB,sBAAsB;IAMvC,4BAA4B,iCAAiC;IAS7D,6BAA6B,kCAAkC;IAC/D,0BAA0B,+BAA+B;IACzD,yBAAyB,8BAA8B;IAcvD,4BAA4B,iCAAiC;IAO7D,2BAA2B,gCAAgC;IAS3D,gCAAgC,qCAAqC;IAWrE,mBAAmB,wBAAwB;IAM3C,uBAAuB,4BAA4B;IAGnD,gBAAgB,qBAAqB;IAOrC,2BAA2B,gCAAgC;IAG3D,qBAAqB,0BAA0B;IAC/C,yBAAyB,8BAA8B;IACvD,wBAAwB,6BAA6B;IACrD,4BAA4B,iCAAiC;IAC7D,+BAA+B,oCAAoC;IAMnE,4BAA4B,iCAAiC;IAM7D,uCAAuC,4CAA4C;IACnF,2BAA2B,gCAAgC;IAC3D,4BAA4B,iCAAiC;IAU7D,uBAAuB,4BAA4B;IASnD,6BAA6B,kCAAkC;IAS/D,0BAA0B,+BAA+B;IASzD,yBAAyB,8BAA8B;CACxD;AAGD,eAAO,MAAM,kCAAkC,EAAE,SAAS,iBAAiB,EAwBjE,CAAC"}
@@ -15,6 +15,7 @@ var WorkflowErrorCode;
15
15
  WorkflowErrorCode["DSL_UNKNOWN_DELIVERABLE_FIELD"] = "DSL_UNKNOWN_DELIVERABLE_FIELD";
16
16
  WorkflowErrorCode["DSL_VERSION_NOT_RESOLVABLE"] = "DSL_VERSION_NOT_RESOLVABLE";
17
17
  WorkflowErrorCode["DSL_PERMISSION_ESCALATION"] = "DSL_PERMISSION_ESCALATION";
18
+ WorkflowErrorCode["DSL_VARS_BRIEFCASE_COLLISION"] = "DSL_VARS_BRIEFCASE_COLLISION";
18
19
  WorkflowErrorCode["DSL_MATRIX_KEY_NOT_DECLARED"] = "DSL_MATRIX_KEY_NOT_DECLARED";
19
20
  WorkflowErrorCode["DSL_INVALID_MATRIX_OUTPUT_ACCESS"] = "DSL_INVALID_MATRIX_OUTPUT_ACCESS";
20
21
  WorkflowErrorCode["DSL_FIELD_NOT_TYPED"] = "DSL_FIELD_NOT_TYPED";
@@ -48,6 +49,7 @@ exports.NON_RETRYABLE_WORKFLOW_ERROR_CODES = [
48
49
  WorkflowErrorCode.DSL_UNKNOWN_DELIVERABLE_FIELD,
49
50
  WorkflowErrorCode.DSL_VERSION_NOT_RESOLVABLE,
50
51
  WorkflowErrorCode.DSL_PERMISSION_ESCALATION,
52
+ WorkflowErrorCode.DSL_VARS_BRIEFCASE_COLLISION,
51
53
  WorkflowErrorCode.DSL_MATRIX_KEY_NOT_DECLARED,
52
54
  WorkflowErrorCode.DSL_INVALID_MATRIX_OUTPUT_ACCESS,
53
55
  WorkflowErrorCode.DSL_FIELD_NOT_TYPED,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/workflow/lib/errors.ts"],"names":[],"mappings":";;;AAUA,IAAY,iBAsIX;AAtID,WAAY,iBAAiB;IAE3B,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,8DAAyC,CAAA;IACzC,wFAAmE,CAAA;IACnE,8DAAyC,CAAA;IACzC,oFAA+D,CAAA;IAO/D,4DAAuC,CAAA;IAMvC,kFAA6D,CAAA;IAS7D,oFAA+D,CAAA;IAC/D,8EAAyD,CAAA;IACzD,4EAAuD,CAAA;IAOvD,gFAA2D,CAAA;IAS3D,0FAAqE,CAAA;IAWrE,gEAA2C,CAAA;IAM3C,wEAAmD,CAAA;IAGnD,0DAAqC,CAAA;IAOrC,gFAA2D,CAAA;IAG3D,oEAA+C,CAAA;IAC/C,4EAAuD,CAAA;IACvD,0EAAqD,CAAA;IACrD,kFAA6D,CAAA;IAC7D,wFAAmE,CAAA;IAMnE,kFAA6D,CAAA;IAM7D,wGAAmF,CAAA;IACnF,gFAA2D,CAAA;IAC3D,kFAA6D,CAAA;IAU7D,wEAAmD,CAAA;IASnD,oFAA+D,CAAA;IAS/D,8EAAyD,CAAA;IASzD,4EAAuD,CAAA;AACzD,CAAC,EAtIW,iBAAiB,iCAAjB,iBAAiB,QAsI5B;AAGY,QAAA,kCAAkC,GAAiC;IAC9E,iBAAiB,CAAC,kBAAkB;IACpC,iBAAiB,CAAC,oBAAoB;IACtC,iBAAiB,CAAC,sBAAsB;IACxC,iBAAiB,CAAC,kBAAkB;IACpC,iBAAiB,CAAC,+BAA+B;IACjD,iBAAiB,CAAC,kBAAkB;IACpC,iBAAiB,CAAC,6BAA6B;IAC/C,iBAAiB,CAAC,iBAAiB;IACnC,iBAAiB,CAAC,4BAA4B;IAC9C,iBAAiB,CAAC,6BAA6B;IAC/C,iBAAiB,CAAC,0BAA0B;IAC5C,iBAAiB,CAAC,yBAAyB;IAC3C,iBAAiB,CAAC,2BAA2B;IAC7C,iBAAiB,CAAC,gCAAgC;IAClD,iBAAiB,CAAC,mBAAmB;IACrC,iBAAiB,CAAC,uBAAuB;IACzC,iBAAiB,CAAC,yBAAyB;IAC3C,iBAAiB,CAAC,wBAAwB;IAC1C,iBAAiB,CAAC,+BAA+B;IACjD,iBAAiB,CAAC,4BAA4B;IAC9C,iBAAiB,CAAC,uCAAuC;IACzD,iBAAiB,CAAC,6BAA6B;CACvC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/workflow/lib/errors.ts"],"names":[],"mappings":";;;AAUA,IAAY,iBAoJX;AApJD,WAAY,iBAAiB;IAE3B,8DAAyC,CAAA;IACzC,kEAA6C,CAAA;IAC7C,sEAAiD,CAAA;IACjD,8DAAyC,CAAA;IACzC,wFAAmE,CAAA;IACnE,8DAAyC,CAAA;IACzC,oFAA+D,CAAA;IAO/D,4DAAuC,CAAA;IAMvC,kFAA6D,CAAA;IAS7D,oFAA+D,CAAA;IAC/D,8EAAyD,CAAA;IACzD,4EAAuD,CAAA;IAcvD,kFAA6D,CAAA;IAO7D,gFAA2D,CAAA;IAS3D,0FAAqE,CAAA;IAWrE,gEAA2C,CAAA;IAM3C,wEAAmD,CAAA;IAGnD,0DAAqC,CAAA;IAOrC,gFAA2D,CAAA;IAG3D,oEAA+C,CAAA;IAC/C,4EAAuD,CAAA;IACvD,0EAAqD,CAAA;IACrD,kFAA6D,CAAA;IAC7D,wFAAmE,CAAA;IAMnE,kFAA6D,CAAA;IAM7D,wGAAmF,CAAA;IACnF,gFAA2D,CAAA;IAC3D,kFAA6D,CAAA;IAU7D,wEAAmD,CAAA;IASnD,oFAA+D,CAAA;IAS/D,8EAAyD,CAAA;IASzD,4EAAuD,CAAA;AACzD,CAAC,EApJW,iBAAiB,iCAAjB,iBAAiB,QAoJ5B;AAGY,QAAA,kCAAkC,GAAiC;IAC9E,iBAAiB,CAAC,kBAAkB;IACpC,iBAAiB,CAAC,oBAAoB;IACtC,iBAAiB,CAAC,sBAAsB;IACxC,iBAAiB,CAAC,kBAAkB;IACpC,iBAAiB,CAAC,+BAA+B;IACjD,iBAAiB,CAAC,kBAAkB;IACpC,iBAAiB,CAAC,6BAA6B;IAC/C,iBAAiB,CAAC,iBAAiB;IACnC,iBAAiB,CAAC,4BAA4B;IAC9C,iBAAiB,CAAC,6BAA6B;IAC/C,iBAAiB,CAAC,0BAA0B;IAC5C,iBAAiB,CAAC,yBAAyB;IAC3C,iBAAiB,CAAC,4BAA4B;IAC9C,iBAAiB,CAAC,2BAA2B;IAC7C,iBAAiB,CAAC,gCAAgC;IAClD,iBAAiB,CAAC,mBAAmB;IACrC,iBAAiB,CAAC,uBAAuB;IACzC,iBAAiB,CAAC,yBAAyB;IAC3C,iBAAiB,CAAC,wBAAwB;IAC1C,iBAAiB,CAAC,+BAA+B;IACjD,iBAAiB,CAAC,4BAA4B;IAC9C,iBAAiB,CAAC,uCAAuC;IACzD,iBAAiB,CAAC,6BAA6B;CACvC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xemahq/kernel-contracts",
3
- "version": "0.3.6",
3
+ "version": "0.3.7",
4
4
  "description": "Consolidated Xema OS kernel wire contracts — pure types + zod schemas for the 32 kernel protocol surfaces. One package, one npm scope, wildcard per-surface subpath exports. No framework/runtime deps.",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/",
@@ -26,6 +26,8 @@ import type {
26
26
  } from '../../agent-workspace';
27
27
  import type {
28
28
  AgentRunRole,
29
+ CompiledManifestCredential,
30
+ CompiledManifestPermissions,
29
31
  OutputSurfaceKind,
30
32
  } from '../../workflow';
31
33
 
@@ -207,4 +209,26 @@ export interface CompositionWorkspace {
207
209
  * engine idle.
208
210
  */
209
211
  readonly workingFiles?: readonly WorkingFileBinding[];
212
+ /**
213
+ * Authored external-credential requirements — the manifest's
214
+ * `spec.credentials` block, carried verbatim from the compiled
215
+ * manifest. The composition boot-seeder projects it from the source
216
+ * workspace manifest; the `agent-session-runtime` composer surfaces it
217
+ * onto the reconstructed manifest `spec` so the environment resolver
218
+ * (and resume drift detection) see the authored credential set.
219
+ * Optional + additive — compositions needing no credentials omit it.
220
+ * Was silently DROPPED at seed before (BUG-1).
221
+ */
222
+ readonly credentials?: readonly CompiledManifestCredential[];
223
+ /**
224
+ * Authored tool allow/deny permission sets — the manifest's
225
+ * `spec.permissions` block, carried verbatim from the compiled
226
+ * manifest. Same seed → compose → resolve path as {@link credentials};
227
+ * consumed by the environment resolver + resume drift detection.
228
+ * Optional + additive. Distinct from the per-node
229
+ * {@link CompositionNode.permission} overlay — this is the workspace
230
+ * toolset policy, not the agent's permission map. Was silently DROPPED
231
+ * at seed before (BUG-1).
232
+ */
233
+ readonly permissions?: CompiledManifestPermissions;
210
234
  }
@@ -41,6 +41,20 @@ export enum WorkflowErrorCode {
41
41
  DSL_UNKNOWN_DELIVERABLE_FIELD = 'DSL_UNKNOWN_DELIVERABLE_FIELD',
42
42
  DSL_VERSION_NOT_RESOLVABLE = 'DSL_VERSION_NOT_RESOLVABLE',
43
43
  DSL_PERMISSION_ESCALATION = 'DSL_PERMISSION_ESCALATION',
44
+ /**
45
+ * A run was dispatched whose Briefcase declares a `vars` key that
46
+ * collides with a top-level workflow `vars:` key. The two namespaces
47
+ * are distinct by design — workflow `vars:` is author-owned config
48
+ * surfaced in the `${{ vars.X }}` expression namespace, while
49
+ * Briefcase `vars` are run-scoped facts read imperatively by
50
+ * activities (`getVar` / `requireVar`). A key present in BOTH is an
51
+ * ambiguity: the expression namespace would resolve the workflow
52
+ * value while an activity accessor would resolve the briefcase value,
53
+ * silently disagreeing under the same name. The compiler fails fast at
54
+ * the single folding point (`compileWorkflow`) so the dispatcher must
55
+ * rename one side instead of getting last-wins behavior at runtime.
56
+ */
57
+ DSL_VARS_BRIEFCASE_COLLISION = 'DSL_VARS_BRIEFCASE_COLLISION',
44
58
  /**
45
59
  * A consumer expression dereferences `needs.<X>.outputs.byKey[…]` but
46
60
  * `<X>` is either not a matrix job, or is matrix without `keyBy:`
@@ -158,6 +172,7 @@ export const NON_RETRYABLE_WORKFLOW_ERROR_CODES: readonly WorkflowErrorCode[] =
158
172
  WorkflowErrorCode.DSL_UNKNOWN_DELIVERABLE_FIELD,
159
173
  WorkflowErrorCode.DSL_VERSION_NOT_RESOLVABLE,
160
174
  WorkflowErrorCode.DSL_PERMISSION_ESCALATION,
175
+ WorkflowErrorCode.DSL_VARS_BRIEFCASE_COLLISION,
161
176
  WorkflowErrorCode.DSL_MATRIX_KEY_NOT_DECLARED,
162
177
  WorkflowErrorCode.DSL_INVALID_MATRIX_OUTPUT_ACCESS,
163
178
  WorkflowErrorCode.DSL_FIELD_NOT_TYPED,