@cleocode/contracts 2026.4.109 → 2026.4.110

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/dist/index.d.ts CHANGED
@@ -52,6 +52,7 @@ export type { BrainState } from './operations/orchestrate.js';
52
52
  export type { CittyArgDef, OperationParams, ParamCliDef, ParamDef, ParamType, } from './operations/params.js';
53
53
  export { paramsToCittyArgs } from './operations/params.js';
54
54
  export type { DecisionRecord, SessionBriefingShowParams, SessionBriefingShowResult, SessionContextDriftParams, SessionContextDriftResult, SessionDecisionLogParams, SessionDecisionLogResult, SessionEndParams, SessionEndResult, SessionFindParams, SessionFindResult, SessionGcParams, SessionGcResult, SessionHandoffShowParams, SessionHandoffShowResult, SessionListParams, SessionListResult, SessionOps, SessionRecordAssumptionParams, SessionRecordAssumptionResult, SessionRecordDecisionParams, SessionRecordDecisionResult, SessionResumeParams, SessionResumeResult, SessionShowParams, SessionShowResult, SessionStartParams, SessionStatusParams, SessionStatusResult, SessionSuspendParams, SessionSuspendResult, } from './operations/session.js';
55
+ export type { ResolvedVariable, SubstitutionContext, SubstitutionOptions, SubstitutionResult, SubstitutionSource, VariableResolver, } from './operations/variable-substitution.js';
55
56
  export { type AgentHierarchy, type AgentHierarchyEntry, type EscalationChain, type OrchestrationHierarchyAPI, OrchestrationLevel, } from './orchestration-hierarchy.js';
56
57
  export type { PlaybookAgenticNode, PlaybookApproval, PlaybookApprovalNode, PlaybookApprovalStatus, PlaybookDefinition, PlaybookDeterministicNode, PlaybookEdge, PlaybookEnsures, PlaybookErrorHandler, PlaybookInput, PlaybookNode, PlaybookNodeBase, PlaybookNodeOnFailure, PlaybookNodeType, PlaybookPolicy, PlaybookRequires, PlaybookRun, PlaybookRunStatus, } from './playbook.js';
57
58
  export type { AdapterPathProvider } from './provider-paths.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA0DrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA8ChC,iDAAiD;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAwE3D,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAmBrB,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAgCzB,gCAAgC;AAChC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAuCrB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AA2EnB,8FAA8F;AAC9F,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAW7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAoC3D,kCAAkC;AAClC,OAAO,EAKL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AA4DtC,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,uEAAuE;AACvE,OAAO,EACL,YAAY,EAIZ,aAAa,EAEb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB;AAEjB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB,EAEhB,kBAAkB,EAClB,eAAe,EAEf,yBAAyB,EACzB,2BAA2B;AAC3B,YAAY;AACZ,aAAa,EAGb,0BAA0B,EAC1B,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AA8C9B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAiD5B,yCAAyC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyBH,2DAA2D;AAC3D,OAAO,EACL,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,cAAc,EACd,uBAAuB,EACvB,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,6BAA6B,CAAC;AA0DrC,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AA8ChC,iDAAiD;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAwE3D,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,eAAe,EACf,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,cAAc,EACd,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAmBrB,2DAA2D;AAC3D,OAAO,EACL,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,eAAe,EACf,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAgCzB,gCAAgC;AAChC,OAAO,EACL,uBAAuB,EACvB,WAAW,EACX,uBAAuB,GACxB,MAAM,aAAa,CAAC;AAuCrB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,aAAa,GACd,MAAM,WAAW,CAAC;AA2EnB,8FAA8F;AAC9F,OAAO,KAAK,GAAG,MAAM,uBAAuB,CAAC;AAW7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AA8C3D,kCAAkC;AAClC,OAAO,EAKL,kBAAkB,GACnB,MAAM,8BAA8B,CAAC;AA4DtC,wBAAwB;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAa3C,uEAAuE;AACvE,OAAO,EACL,YAAY,EAIZ,aAAa,EAEb,aAAa,EACb,2BAA2B,EAC3B,wBAAwB,EACxB,iBAAiB;AAEjB,gBAAgB;AAChB,qBAAqB,EAErB,gBAAgB,EAEhB,kBAAkB,EAClB,eAAe,EAEf,yBAAyB,EACzB,2BAA2B;AAC3B,YAAY;AACZ,aAAa,EAGb,0BAA0B,EAC1B,uBAAuB;AACvB,sBAAsB;AACtB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AA8C9B,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAiD5B,yCAAyC"}
@@ -19,4 +19,5 @@ export * from './skills.js';
19
19
  export * from './system.js';
20
20
  export * from './tasks.js';
21
21
  export * from './validate.js';
22
+ export * from './variable-substitution.js';
22
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC"}
@@ -19,4 +19,5 @@ export * from './skills.js';
19
19
  export * from './system.js';
20
20
  export * from './tasks.js';
21
21
  export * from './validate.js';
22
+ export * from './variable-substitution.js';
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/operations/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC"}
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Variable Substitution Domain Operations — shared types for the mustache
3
+ * `{{var}}` template substitution engine used by `.cant` agents and
4
+ * `.cantbook` playbooks.
5
+ *
6
+ * Syntax: double-brace mustache placeholders (e.g. `{{tech_stack}}`,
7
+ * `{{context.foo.bar}}`) resolved lazily at spawn time.
8
+ *
9
+ * Resolver precedence (highest → lowest):
10
+ *
11
+ * 1. `bindings` — explicit caller overrides (e.g. payload-level hints).
12
+ * 2. `sessionContext` — session/task-scoped state.
13
+ * 3. `projectContext` — project-context.json (dot-notation capable).
14
+ * 4. `env` — `CLEO_<VAR>` / `CANT_<VAR>` prefixed environment variables.
15
+ * 5. Default value (when provided in {@link SubstitutionOptions}).
16
+ * 6. Missing — strict mode errors, lenient leaves the placeholder.
17
+ *
18
+ * SYNC: Canonical SDK implementation at
19
+ * packages/core/src/agents/variable-substitution.ts
20
+ *
21
+ * Integration: {@link packages/cleo/src/dispatch/engines/orchestrate-engine.ts}
22
+ * applies substitution inside `orchestrateSpawnExecute` before the CANT
23
+ * agent body is embedded in the spawn prompt.
24
+ *
25
+ * @task T1238 Variable substitution engine + contracts types
26
+ * @task T1232 CLEO Agents Architecture Remediation for v2026.4.110
27
+ * @see R2-VARIABLE-SYNTAX-DESIGN.md §4 — TypeScript interfaces.
28
+ */
29
+ /**
30
+ * Which resolver tier produced a {@link ResolvedVariable} value.
31
+ *
32
+ * `'missing'` indicates the variable was referenced but unresolved. Callers
33
+ * in lenient mode will see `source: 'missing'` for any variable that falls
34
+ * through every tier without matching.
35
+ */
36
+ export type SubstitutionSource = 'bindings' | 'session' | 'project_context' | 'env' | 'default' | 'missing';
37
+ /**
38
+ * A resolved value from one tier of the substitution chain.
39
+ *
40
+ * The `value` field is always stringified for template insertion (numbers,
41
+ * booleans, and objects are coerced). `null` indicates an intentional null
42
+ * projection — NOT missing. Missing variables appear in the result's
43
+ * `missing` array and are never surfaced as {@link ResolvedVariable}s unless
44
+ * a `defaultValue` was used (in which case `source === 'default'`).
45
+ */
46
+ export interface ResolvedVariable {
47
+ /** Variable name as it appeared between the `{{ }}` braces. */
48
+ name: string;
49
+ /**
50
+ * Resolved value (always stringified for template insertion) or `null`
51
+ * when the source intentionally projected `null`.
52
+ */
53
+ value: string | null;
54
+ /** Which resolver tier provided this value. */
55
+ source: SubstitutionSource;
56
+ }
57
+ /**
58
+ * Options controlling substitution behaviour.
59
+ *
60
+ * Default posture is lenient (`strict: false`) to match the R2 design —
61
+ * partial substitution is preferred over hard failure so agents can still
62
+ * spawn with placeholder prompts. Callers needing fail-fast behaviour (e.g.
63
+ * playbook approval prompts) should pass `strict: true`.
64
+ */
65
+ export interface SubstitutionOptions {
66
+ /**
67
+ * When `true`, missing variables cause {@link SubstitutionResult.success}
68
+ * to be `false` and populate {@link SubstitutionResult.error}. When
69
+ * `false` (default), missing variables are left as literal placeholders
70
+ * in the output text.
71
+ */
72
+ strict?: boolean;
73
+ /**
74
+ * Fallback string substituted for missing variables when {@link strict}
75
+ * is `false`. When omitted, the literal placeholder is kept in the output.
76
+ */
77
+ defaultValue?: string;
78
+ /**
79
+ * When `true`, emits `console.warn` for each unresolved variable. Useful
80
+ * during development; disabled by default so production spawns stay quiet.
81
+ */
82
+ warnMissing?: boolean;
83
+ /**
84
+ * Optional whitelist of variable names permitted in the template. When
85
+ * provided, references to variables outside the list are treated as
86
+ * unresolved (strict mode fails; lenient leaves the placeholder).
87
+ */
88
+ allowedVars?: readonly string[];
89
+ /**
90
+ * Environment prefix used to look up `CLEO_<VAR>` / `CANT_<VAR>` variables.
91
+ * Defaults to both `CLEO_` and `CANT_` (tried in that order). Callers can
92
+ * override to restrict or extend the prefix set.
93
+ */
94
+ envPrefixes?: readonly string[];
95
+ }
96
+ /**
97
+ * Envelope returned by every call to {@link VariableResolver.resolve}.
98
+ *
99
+ * `text` is the template after substitution. `resolved` lists every variable
100
+ * that was successfully replaced (including `'default'`-sourced fallbacks).
101
+ * `missing` lists every variable that fell through all tiers. `success` is
102
+ * `true` iff strict mode accepted the substitution (lenient mode always
103
+ * succeeds at this level — callers inspect `missing` to decide).
104
+ */
105
+ export interface SubstitutionResult {
106
+ /** Template text after substitution. */
107
+ text: string;
108
+ /** Variables resolved during substitution, in discovery order. */
109
+ resolved: ResolvedVariable[];
110
+ /** Variables referenced but not resolved. Empty when strict succeeded. */
111
+ missing: string[];
112
+ /** `true` when substitution completed without strict-mode failure. */
113
+ success: boolean;
114
+ /** Human-readable error when `success === false`. */
115
+ error?: string;
116
+ }
117
+ /**
118
+ * Context payload consumed by {@link VariableResolver.resolve}.
119
+ *
120
+ * Every field is optional — resolvers fall through to the next tier when
121
+ * the current one is absent or does not contain the variable. The resolver
122
+ * only fails (strict mode) when ALL tiers produce no match.
123
+ */
124
+ export interface SubstitutionContext {
125
+ /**
126
+ * Project-wide metadata loaded from `.cleo/project-context.json`. Supports
127
+ * dot-notation lookups (e.g. `{{testing.framework}}` → `context.testing.framework`).
128
+ */
129
+ projectContext?: Record<string, unknown>;
130
+ /**
131
+ * Session/task-scoped state (e.g. `{ taskId, epicId, sessionId }`). Flat
132
+ * key lookup — dot-notation is NOT applied here (session keys are scalar).
133
+ */
134
+ sessionContext?: Record<string, unknown>;
135
+ /**
136
+ * Raw environment variables (usually `process.env`). The resolver prefixes
137
+ * lookups with `CLEO_` / `CANT_` (or the override in
138
+ * {@link SubstitutionOptions.envPrefixes}) before matching.
139
+ */
140
+ env?: Record<string, string | undefined>;
141
+ /**
142
+ * Explicit highest-priority bindings. Used for spawn-time overrides (e.g.
143
+ * classifier output, orchestrator hints). Flat key lookup only.
144
+ */
145
+ bindings?: Record<string, unknown>;
146
+ }
147
+ /**
148
+ * Core resolver contract.
149
+ *
150
+ * Implementations MUST:
151
+ *
152
+ * - Use the mustache regex `/\{\{\s*([a-zA-Z_][a-zA-Z0-9_.]*)\s*\}\}/g`.
153
+ * - Apply the documented resolver precedence (bindings → session →
154
+ * project → env → default → missing).
155
+ * - Never recursively evaluate resolved values (values containing `{{…}}`
156
+ * are left intact; recursion is NOT supported per R2 §10.2).
157
+ * - Coerce non-string scalar values to strings. Objects are JSON-stringified.
158
+ * - Be case-sensitive (`{{tech_stack}}` ≠ `{{TECH_STACK}}`).
159
+ */
160
+ export interface VariableResolver {
161
+ /**
162
+ * Resolve and substitute variables in `text` using the supplied context.
163
+ *
164
+ * @param text - Template containing `{{var}}` placeholders.
165
+ * @param context - Multi-tier resolver context.
166
+ * @param options - Optional behaviour tweaks (strict/lenient, prefixes…).
167
+ * @returns A {@link SubstitutionResult} envelope with text + diagnostics.
168
+ */
169
+ resolve(text: string, context: SubstitutionContext, options?: SubstitutionOptions): SubstitutionResult;
170
+ /**
171
+ * Extract every unique variable name referenced by `text` WITHOUT
172
+ * resolving them. Useful for template validation and schema checks.
173
+ *
174
+ * @param text - Template to scan.
175
+ * @returns Deduplicated variable names in discovery order.
176
+ */
177
+ extractVariables(text: string): string[];
178
+ /**
179
+ * Validate that every variable in `requiredVars` can be resolved from
180
+ * `context`. Returns the set of variables that would fail resolution,
181
+ * so callers can surface a full missing-var report up-front rather than
182
+ * discovering them one by one during resolve().
183
+ *
184
+ * @param requiredVars - Variables the caller considers mandatory.
185
+ * @param context - Resolver context to validate against.
186
+ * @returns `{ valid: true }` when every variable resolves, otherwise
187
+ * `{ valid: false, missing: [...] }`.
188
+ */
189
+ validate(requiredVars: readonly string[], context: SubstitutionContext): {
190
+ valid: boolean;
191
+ missing: string[];
192
+ };
193
+ }
194
+ //# sourceMappingURL=variable-substitution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-substitution.d.ts","sourceRoot":"","sources":["../../src/operations/variable-substitution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAC1B,UAAU,GACV,SAAS,GACT,iBAAiB,GACjB,KAAK,GACL,SAAS,GACT,SAAS,CAAC;AAEd;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,+CAA+C;IAC/C,MAAM,EAAE,kBAAkB,CAAC;CAC5B;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;OAIG;IACH,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,0EAA0E;IAC1E,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sEAAsE;IACtE,OAAO,EAAE,OAAO,CAAC;IACjB,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,OAAO,CACL,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,mBAAmB,EAC5B,OAAO,CAAC,EAAE,mBAAmB,GAC5B,kBAAkB,CAAC;IAEtB;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzC;;;;;;;;;;OAUG;IACH,QAAQ,CACN,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,OAAO,EAAE,mBAAmB,GAC3B;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CAC1C"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Variable Substitution Domain Operations — shared types for the mustache
3
+ * `{{var}}` template substitution engine used by `.cant` agents and
4
+ * `.cantbook` playbooks.
5
+ *
6
+ * Syntax: double-brace mustache placeholders (e.g. `{{tech_stack}}`,
7
+ * `{{context.foo.bar}}`) resolved lazily at spawn time.
8
+ *
9
+ * Resolver precedence (highest → lowest):
10
+ *
11
+ * 1. `bindings` — explicit caller overrides (e.g. payload-level hints).
12
+ * 2. `sessionContext` — session/task-scoped state.
13
+ * 3. `projectContext` — project-context.json (dot-notation capable).
14
+ * 4. `env` — `CLEO_<VAR>` / `CANT_<VAR>` prefixed environment variables.
15
+ * 5. Default value (when provided in {@link SubstitutionOptions}).
16
+ * 6. Missing — strict mode errors, lenient leaves the placeholder.
17
+ *
18
+ * SYNC: Canonical SDK implementation at
19
+ * packages/core/src/agents/variable-substitution.ts
20
+ *
21
+ * Integration: {@link packages/cleo/src/dispatch/engines/orchestrate-engine.ts}
22
+ * applies substitution inside `orchestrateSpawnExecute` before the CANT
23
+ * agent body is embedded in the spawn prompt.
24
+ *
25
+ * @task T1238 Variable substitution engine + contracts types
26
+ * @task T1232 CLEO Agents Architecture Remediation for v2026.4.110
27
+ * @see R2-VARIABLE-SYNTAX-DESIGN.md §4 — TypeScript interfaces.
28
+ */
29
+ export {};
30
+ //# sourceMappingURL=variable-substitution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"variable-substitution.js","sourceRoot":"","sources":["../../src/operations/variable-substitution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cleocode/contracts",
3
- "version": "2026.4.109",
3
+ "version": "2026.4.110",
4
4
  "description": "Domain types, interfaces, and contracts for the CLEO ecosystem",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
package/src/index.ts CHANGED
@@ -481,6 +481,16 @@ export type {
481
481
  SessionSuspendParams,
482
482
  SessionSuspendResult,
483
483
  } from './operations/session.js';
484
+ // T1238 Variable substitution — re-exported at top level so SDK consumers can
485
+ // import resolver contracts without the `ops.` namespace hop.
486
+ export type {
487
+ ResolvedVariable,
488
+ SubstitutionContext,
489
+ SubstitutionOptions,
490
+ SubstitutionResult,
491
+ SubstitutionSource,
492
+ VariableResolver,
493
+ } from './operations/variable-substitution.js';
484
494
  // === Orchestration Hierarchy ===
485
495
  export {
486
496
  type AgentHierarchy,
@@ -20,3 +20,4 @@ export * from './skills.js';
20
20
  export * from './system.js';
21
21
  export * from './tasks.js';
22
22
  export * from './validate.js';
23
+ export * from './variable-substitution.js';
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Variable Substitution Domain Operations — shared types for the mustache
3
+ * `{{var}}` template substitution engine used by `.cant` agents and
4
+ * `.cantbook` playbooks.
5
+ *
6
+ * Syntax: double-brace mustache placeholders (e.g. `{{tech_stack}}`,
7
+ * `{{context.foo.bar}}`) resolved lazily at spawn time.
8
+ *
9
+ * Resolver precedence (highest → lowest):
10
+ *
11
+ * 1. `bindings` — explicit caller overrides (e.g. payload-level hints).
12
+ * 2. `sessionContext` — session/task-scoped state.
13
+ * 3. `projectContext` — project-context.json (dot-notation capable).
14
+ * 4. `env` — `CLEO_<VAR>` / `CANT_<VAR>` prefixed environment variables.
15
+ * 5. Default value (when provided in {@link SubstitutionOptions}).
16
+ * 6. Missing — strict mode errors, lenient leaves the placeholder.
17
+ *
18
+ * SYNC: Canonical SDK implementation at
19
+ * packages/core/src/agents/variable-substitution.ts
20
+ *
21
+ * Integration: {@link packages/cleo/src/dispatch/engines/orchestrate-engine.ts}
22
+ * applies substitution inside `orchestrateSpawnExecute` before the CANT
23
+ * agent body is embedded in the spawn prompt.
24
+ *
25
+ * @task T1238 Variable substitution engine + contracts types
26
+ * @task T1232 CLEO Agents Architecture Remediation for v2026.4.110
27
+ * @see R2-VARIABLE-SYNTAX-DESIGN.md §4 — TypeScript interfaces.
28
+ */
29
+
30
+ /**
31
+ * Which resolver tier produced a {@link ResolvedVariable} value.
32
+ *
33
+ * `'missing'` indicates the variable was referenced but unresolved. Callers
34
+ * in lenient mode will see `source: 'missing'` for any variable that falls
35
+ * through every tier without matching.
36
+ */
37
+ export type SubstitutionSource =
38
+ | 'bindings'
39
+ | 'session'
40
+ | 'project_context'
41
+ | 'env'
42
+ | 'default'
43
+ | 'missing';
44
+
45
+ /**
46
+ * A resolved value from one tier of the substitution chain.
47
+ *
48
+ * The `value` field is always stringified for template insertion (numbers,
49
+ * booleans, and objects are coerced). `null` indicates an intentional null
50
+ * projection — NOT missing. Missing variables appear in the result's
51
+ * `missing` array and are never surfaced as {@link ResolvedVariable}s unless
52
+ * a `defaultValue` was used (in which case `source === 'default'`).
53
+ */
54
+ export interface ResolvedVariable {
55
+ /** Variable name as it appeared between the `{{ }}` braces. */
56
+ name: string;
57
+ /**
58
+ * Resolved value (always stringified for template insertion) or `null`
59
+ * when the source intentionally projected `null`.
60
+ */
61
+ value: string | null;
62
+ /** Which resolver tier provided this value. */
63
+ source: SubstitutionSource;
64
+ }
65
+
66
+ /**
67
+ * Options controlling substitution behaviour.
68
+ *
69
+ * Default posture is lenient (`strict: false`) to match the R2 design —
70
+ * partial substitution is preferred over hard failure so agents can still
71
+ * spawn with placeholder prompts. Callers needing fail-fast behaviour (e.g.
72
+ * playbook approval prompts) should pass `strict: true`.
73
+ */
74
+ export interface SubstitutionOptions {
75
+ /**
76
+ * When `true`, missing variables cause {@link SubstitutionResult.success}
77
+ * to be `false` and populate {@link SubstitutionResult.error}. When
78
+ * `false` (default), missing variables are left as literal placeholders
79
+ * in the output text.
80
+ */
81
+ strict?: boolean;
82
+ /**
83
+ * Fallback string substituted for missing variables when {@link strict}
84
+ * is `false`. When omitted, the literal placeholder is kept in the output.
85
+ */
86
+ defaultValue?: string;
87
+ /**
88
+ * When `true`, emits `console.warn` for each unresolved variable. Useful
89
+ * during development; disabled by default so production spawns stay quiet.
90
+ */
91
+ warnMissing?: boolean;
92
+ /**
93
+ * Optional whitelist of variable names permitted in the template. When
94
+ * provided, references to variables outside the list are treated as
95
+ * unresolved (strict mode fails; lenient leaves the placeholder).
96
+ */
97
+ allowedVars?: readonly string[];
98
+ /**
99
+ * Environment prefix used to look up `CLEO_<VAR>` / `CANT_<VAR>` variables.
100
+ * Defaults to both `CLEO_` and `CANT_` (tried in that order). Callers can
101
+ * override to restrict or extend the prefix set.
102
+ */
103
+ envPrefixes?: readonly string[];
104
+ }
105
+
106
+ /**
107
+ * Envelope returned by every call to {@link VariableResolver.resolve}.
108
+ *
109
+ * `text` is the template after substitution. `resolved` lists every variable
110
+ * that was successfully replaced (including `'default'`-sourced fallbacks).
111
+ * `missing` lists every variable that fell through all tiers. `success` is
112
+ * `true` iff strict mode accepted the substitution (lenient mode always
113
+ * succeeds at this level — callers inspect `missing` to decide).
114
+ */
115
+ export interface SubstitutionResult {
116
+ /** Template text after substitution. */
117
+ text: string;
118
+ /** Variables resolved during substitution, in discovery order. */
119
+ resolved: ResolvedVariable[];
120
+ /** Variables referenced but not resolved. Empty when strict succeeded. */
121
+ missing: string[];
122
+ /** `true` when substitution completed without strict-mode failure. */
123
+ success: boolean;
124
+ /** Human-readable error when `success === false`. */
125
+ error?: string;
126
+ }
127
+
128
+ /**
129
+ * Context payload consumed by {@link VariableResolver.resolve}.
130
+ *
131
+ * Every field is optional — resolvers fall through to the next tier when
132
+ * the current one is absent or does not contain the variable. The resolver
133
+ * only fails (strict mode) when ALL tiers produce no match.
134
+ */
135
+ export interface SubstitutionContext {
136
+ /**
137
+ * Project-wide metadata loaded from `.cleo/project-context.json`. Supports
138
+ * dot-notation lookups (e.g. `{{testing.framework}}` → `context.testing.framework`).
139
+ */
140
+ projectContext?: Record<string, unknown>;
141
+ /**
142
+ * Session/task-scoped state (e.g. `{ taskId, epicId, sessionId }`). Flat
143
+ * key lookup — dot-notation is NOT applied here (session keys are scalar).
144
+ */
145
+ sessionContext?: Record<string, unknown>;
146
+ /**
147
+ * Raw environment variables (usually `process.env`). The resolver prefixes
148
+ * lookups with `CLEO_` / `CANT_` (or the override in
149
+ * {@link SubstitutionOptions.envPrefixes}) before matching.
150
+ */
151
+ env?: Record<string, string | undefined>;
152
+ /**
153
+ * Explicit highest-priority bindings. Used for spawn-time overrides (e.g.
154
+ * classifier output, orchestrator hints). Flat key lookup only.
155
+ */
156
+ bindings?: Record<string, unknown>;
157
+ }
158
+
159
+ /**
160
+ * Core resolver contract.
161
+ *
162
+ * Implementations MUST:
163
+ *
164
+ * - Use the mustache regex `/\{\{\s*([a-zA-Z_][a-zA-Z0-9_.]*)\s*\}\}/g`.
165
+ * - Apply the documented resolver precedence (bindings → session →
166
+ * project → env → default → missing).
167
+ * - Never recursively evaluate resolved values (values containing `{{…}}`
168
+ * are left intact; recursion is NOT supported per R2 §10.2).
169
+ * - Coerce non-string scalar values to strings. Objects are JSON-stringified.
170
+ * - Be case-sensitive (`{{tech_stack}}` ≠ `{{TECH_STACK}}`).
171
+ */
172
+ export interface VariableResolver {
173
+ /**
174
+ * Resolve and substitute variables in `text` using the supplied context.
175
+ *
176
+ * @param text - Template containing `{{var}}` placeholders.
177
+ * @param context - Multi-tier resolver context.
178
+ * @param options - Optional behaviour tweaks (strict/lenient, prefixes…).
179
+ * @returns A {@link SubstitutionResult} envelope with text + diagnostics.
180
+ */
181
+ resolve(
182
+ text: string,
183
+ context: SubstitutionContext,
184
+ options?: SubstitutionOptions,
185
+ ): SubstitutionResult;
186
+
187
+ /**
188
+ * Extract every unique variable name referenced by `text` WITHOUT
189
+ * resolving them. Useful for template validation and schema checks.
190
+ *
191
+ * @param text - Template to scan.
192
+ * @returns Deduplicated variable names in discovery order.
193
+ */
194
+ extractVariables(text: string): string[];
195
+
196
+ /**
197
+ * Validate that every variable in `requiredVars` can be resolved from
198
+ * `context`. Returns the set of variables that would fail resolution,
199
+ * so callers can surface a full missing-var report up-front rather than
200
+ * discovering them one by one during resolve().
201
+ *
202
+ * @param requiredVars - Variables the caller considers mandatory.
203
+ * @param context - Resolver context to validate against.
204
+ * @returns `{ valid: true }` when every variable resolves, otherwise
205
+ * `{ valid: false, missing: [...] }`.
206
+ */
207
+ validate(
208
+ requiredVars: readonly string[],
209
+ context: SubstitutionContext,
210
+ ): { valid: boolean; missing: string[] };
211
+ }