taskflow-core 0.1.2 → 0.1.4

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 +1 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,aAAa,CAAC;AAKnD,OAAO,EAA0C,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAM9F,MAAM,WAAW,aAAa;IAC7B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,YAAY,EAAE,kBAAkB,CAAC;IACjC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC9B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAuSD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CA8BxF"}
1
+ {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAS,QAAQ,EAAE,MAAM,aAAa,CAAC;AAMnD,OAAO,EAA0C,KAAK,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAM9F,MAAM,WAAW,aAAa;IAC7B,sDAAsD;IACtD,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,YAAY,EAAE,kBAAkB,CAAC;IACjC,kFAAkF;IAClF,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC9B,0EAA0E;IAC1E,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AA4TD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,GAAE,cAAmB,GAAG,aAAa,CA8BxF"}
package/dist/compile.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * can be verified, visualized, and replayed"): the same JSON renders a graph and
14
14
  * a structural audit without spending a token. It is a pure function — no I/O.
15
15
  */
16
- import { LOOP_DEFAULT_MAX_ITERATIONS, TOURNAMENT_DEFAULT_VARIANTS, } from "./schema.js";
16
+ import { asArray, LOOP_DEFAULT_MAX_ITERATIONS, TOURNAMENT_DEFAULT_VARIANTS, } from "./schema.js";
17
17
  import { verifyTaskflow } from "./verify.js";
18
18
  // ---------------------------------------------------------------------------
19
19
  // Label / id sanitization
@@ -21,7 +21,8 @@ import { verifyTaskflow } from "./verify.js";
21
21
  /** Mermaid node ids must be free of spaces and syntax chars. Phase ids are
22
22
  * already `[A-Za-z0-9_-]`-ish, but we defensively map anything else to `_`. */
23
23
  function nodeId(phaseId) {
24
- const cleaned = phaseId.replace(/[^A-Za-z0-9_]/g, "_");
24
+ const s = typeof phaseId === "string" ? phaseId : String(phaseId);
25
+ const cleaned = s.replace(/[^A-Za-z0-9_]/g, "_");
25
26
  // A leading digit is legal in Mermaid ids, but prefix to avoid edge-case
26
27
  // parsers and keep ids stable/unique.
27
28
  return /^[A-Za-z_]/.test(cleaned) ? cleaned : `p_${cleaned}`;
@@ -45,7 +46,7 @@ function buildNodeIds(phases) {
45
46
  ordered.push(p.id);
46
47
  }
47
48
  for (const p of phases) {
48
- for (const d of p.dependsOn ?? []) {
49
+ for (const d of asArray(p.dependsOn)) {
49
50
  if (!seen.has(d)) {
50
51
  seen.add(d);
51
52
  ordered.push(d);
@@ -79,9 +80,12 @@ function label(text) {
79
80
  }
80
81
  /** Truncate a task prompt to a single readable line for the node body. */
81
82
  function summarize(text, max = 48) {
82
- if (!text)
83
+ // Defensive: a malformed non-string field (validateTaskflow reports it) must
84
+ // not crash the renderer via `.replace`.
85
+ if (text == null || text === "")
83
86
  return "";
84
- const firstLine = text.replace(/\s+/g, " ").trim();
87
+ const s = typeof text === "string" ? text : String(text);
88
+ const firstLine = s.replace(/\s+/g, " ").trim();
85
89
  return firstLine.length > max ? `${firstLine.slice(0, max - 1)}…` : firstLine;
86
90
  }
87
91
  /** Escape a free-form string for use as inline markdown text (titles,
@@ -91,9 +95,10 @@ function summarize(text, max = 48) {
91
95
  * spans), brackets (links/images), angle brackets (raw HTML), and backslashes
92
96
  * (escape sequences). */
93
97
  function mdInline(text) {
94
- if (!text)
98
+ if (text == null || text === "")
95
99
  return "";
96
- return text
100
+ const s = typeof text === "string" ? text : String(text);
101
+ return s
97
102
  .replace(/\s+/g, " ")
98
103
  .trim()
99
104
  .replace(/\\/g, "\\\\")
@@ -126,6 +131,8 @@ function typeTag(p) {
126
131
  return `↻ loop ≤${p.maxIterations ?? LOOP_DEFAULT_MAX_ITERATIONS}`;
127
132
  case "tournament":
128
133
  return `🏆 tournament ×${p.variants ?? (p.branches?.length || TOURNAMENT_DEFAULT_VARIANTS)}`;
134
+ case "script":
135
+ return "⚡ script";
129
136
  default:
130
137
  return "▸ agent";
131
138
  }
@@ -174,6 +181,8 @@ function nodeShape(p, idMap) {
174
181
  return `${id}([${body}])`;
175
182
  case "tournament":
176
183
  return `${id}{{${body}}}`;
184
+ case "script":
185
+ return `${id}[(${body})]`;
177
186
  default:
178
187
  return `${id}[${body}]`;
179
188
  }
@@ -181,13 +190,14 @@ function nodeShape(p, idMap) {
181
190
  // ---------------------------------------------------------------------------
182
191
  // Edge rendering
183
192
  // ---------------------------------------------------------------------------
184
- /** Build the directed edges from `dependsOn`. A `when` guard becomes an edge
185
- * label; a `join: "any"` dependency is drawn dotted (races, not waits-all). */
193
+ /** Build the directed edges. `dependsOn` edges carry `when`-guard labels and
194
+ * dotted `join: "any"` races; `reduce.from` edges are plain aggregation edges
195
+ * (same set the runtime + verifier use via dependenciesOf = dependsOn ∪ from). */
186
196
  function edges(phases, idMap) {
187
197
  const known = new Set(phases.map((p) => p.id));
188
198
  const out = [];
189
199
  for (const p of phases) {
190
- const deps = p.dependsOn ?? [];
200
+ const deps = asArray(p.dependsOn);
191
201
  for (const d of deps) {
192
202
  if (!known.has(d))
193
203
  continue; // dangling ref — schema/verify reports it
@@ -199,6 +209,16 @@ function edges(phases, idMap) {
199
209
  const arrow = p.join === "any" ? "-.->" : "-->";
200
210
  out.push(`${from} ${arrow}${guard} ${to}`);
201
211
  }
212
+ // reduce `from`: real dependency edges the runtime waits on. Skip any that
213
+ // are also in dependsOn (already drawn above) to avoid a double edge.
214
+ const dependsSet = new Set(deps);
215
+ for (const d of asArray(p.from)) {
216
+ if (!known.has(d) || dependsSet.has(d))
217
+ continue;
218
+ const from = idMap.get(d) ?? d;
219
+ const to = idMap.get(p.id) ?? p.id;
220
+ out.push(`${from} --> ${to}`);
221
+ }
202
222
  }
203
223
  return out;
204
224
  }
@@ -224,7 +244,7 @@ function severityByPhase(issues) {
224
244
  // Mermaid assembly
225
245
  // ---------------------------------------------------------------------------
226
246
  function buildMermaid(flow, verification, opts) {
227
- const phases = flow.phases ?? [];
247
+ const phases = (Array.isArray(flow.phases) ? flow.phases : []).filter((p) => !!p && typeof p === "object");
228
248
  const dir = opts.direction ?? "TD";
229
249
  const idMap = buildNodeIds(phases);
230
250
  const sev = severityByPhase(verification.issues);
@@ -317,7 +337,7 @@ export function compileTaskflow(flow, opts = {}) {
317
337
  mdLines.push("");
318
338
  mdLines.push(report);
319
339
  mdLines.push("");
320
- mdLines.push("> Legend: ▸ agent · ▦ parallel · ⇉ map · ◇ gate · ▽ reduce · ⏸ approval · ⊞ flow · ↻ loop · 🏆 tournament · ★ final. Red = error, amber = warning, green border = final. Dotted edge = `join:any`. Generated by `pi-taskflow compile` — 0 tokens.");
340
+ mdLines.push("> Legend: ▸ agent · ▦ parallel · ⇉ map · ◇ gate · ▽ reduce · ⏸ approval · ⊞ flow · ↻ loop · 🏆 tournament · ⚡ script · ★ final. Red = error, amber = warning, green border = final. Dotted edge = `join:any`. Generated by `pi-taskflow compile` — 0 tokens.");
321
341
  const markdown = mdLines.join("\n");
322
342
  return { mermaid, verification, markdown };
323
343
  }
@@ -1 +1 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compile.js","sourceRoot":"","sources":["../src/compile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Output schema contracts (`expect`) — a zero-dependency structural validator.
3
+ *
4
+ * A phase may declare `expect`: a small JSON-Schema-like contract its parsed
5
+ * JSON output must satisfy. The runtime validates the output the moment the
6
+ * subagent finishes; a violation fails the phase with a precise diagnostic
7
+ * (eligible for the phase's explicit `retry` policy) instead of letting a
8
+ * mis-shaped output propagate downstream and break interpolation silently.
9
+ *
10
+ * Supported contract surface (deliberately small, statically checkable):
11
+ * type: "object" | "array" | "string" | "number" | "integer" | "boolean" | "null"
12
+ * properties: { key: <contract> } (object)
13
+ * required: ["key", …] (object)
14
+ * items: <contract> (array)
15
+ * enum: [literal, …] (any)
16
+ */
17
+ export interface OutputContract {
18
+ type?: "object" | "array" | "string" | "number" | "integer" | "boolean" | "null";
19
+ properties?: Record<string, OutputContract>;
20
+ required?: string[];
21
+ items?: OutputContract;
22
+ enum?: unknown[];
23
+ }
24
+ /** Max violations reported per validation (diagnostics stay readable). */
25
+ export declare const CONTRACT_MAX_VIOLATIONS = 8;
26
+ /**
27
+ * Statically check that an author-written `expect` value is a well-formed
28
+ * contract. Returns human-readable shape errors ([] = valid). Total: never
29
+ * throws on arbitrary JSON-valid input.
30
+ */
31
+ export declare function contractShapeErrors(schema: unknown, path?: string): string[];
32
+ /**
33
+ * Validate a parsed JSON value against a contract. Returns violation messages
34
+ * with JSON-path-ish locations ([] = the value satisfies the contract). Total:
35
+ * a malformed contract never throws — unknown constructs are skipped (the
36
+ * shape is validated separately at flow-validation time).
37
+ */
38
+ export declare function contractViolations(value: unknown, schema: unknown, path?: string): string[];
39
+ //# sourceMappingURL=contract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.d.ts","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC9B,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;CACjB;AAKD,0EAA0E;AAC1E,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAMzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,SAAW,GAAG,MAAM,EAAE,CAyB9E;AAwBD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,SAAM,GAAG,MAAM,EAAE,CA0DxF"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * Output schema contracts (`expect`) — a zero-dependency structural validator.
3
+ *
4
+ * A phase may declare `expect`: a small JSON-Schema-like contract its parsed
5
+ * JSON output must satisfy. The runtime validates the output the moment the
6
+ * subagent finishes; a violation fails the phase with a precise diagnostic
7
+ * (eligible for the phase's explicit `retry` policy) instead of letting a
8
+ * mis-shaped output propagate downstream and break interpolation silently.
9
+ *
10
+ * Supported contract surface (deliberately small, statically checkable):
11
+ * type: "object" | "array" | "string" | "number" | "integer" | "boolean" | "null"
12
+ * properties: { key: <contract> } (object)
13
+ * required: ["key", …] (object)
14
+ * items: <contract> (array)
15
+ * enum: [literal, …] (any)
16
+ */
17
+ const CONTRACT_TYPES = new Set(["object", "array", "string", "number", "integer", "boolean", "null"]);
18
+ const CONTRACT_KEYS = new Set(["type", "properties", "required", "items", "enum"]);
19
+ /** Max violations reported per validation (diagnostics stay readable). */
20
+ export const CONTRACT_MAX_VIOLATIONS = 8;
21
+ function isPlainObject(v) {
22
+ return typeof v === "object" && v !== null && !Array.isArray(v);
23
+ }
24
+ /**
25
+ * Statically check that an author-written `expect` value is a well-formed
26
+ * contract. Returns human-readable shape errors ([] = valid). Total: never
27
+ * throws on arbitrary JSON-valid input.
28
+ */
29
+ export function contractShapeErrors(schema, path = "expect") {
30
+ if (!isPlainObject(schema))
31
+ return [`${path}: must be an object (a contract like {"type":"object","required":[…]})`];
32
+ const errors = [];
33
+ for (const k of Object.keys(schema)) {
34
+ if (!CONTRACT_KEYS.has(k))
35
+ errors.push(`${path}.${k}: unknown contract keyword (supported: type, properties, required, items, enum)`);
36
+ }
37
+ if (schema.type !== undefined && (typeof schema.type !== "string" || !CONTRACT_TYPES.has(schema.type)))
38
+ errors.push(`${path}.type: must be one of object|array|string|number|integer|boolean|null`);
39
+ if (schema.required !== undefined) {
40
+ if (!Array.isArray(schema.required) || schema.required.some((r) => typeof r !== "string"))
41
+ errors.push(`${path}.required: must be an array of strings`);
42
+ }
43
+ if (schema.properties !== undefined) {
44
+ if (!isPlainObject(schema.properties)) {
45
+ errors.push(`${path}.properties: must be an object of sub-contracts`);
46
+ }
47
+ else {
48
+ for (const [k, sub] of Object.entries(schema.properties)) {
49
+ errors.push(...contractShapeErrors(sub, `${path}.properties.${k}`));
50
+ }
51
+ }
52
+ }
53
+ if (schema.items !== undefined)
54
+ errors.push(...contractShapeErrors(schema.items, `${path}.items`));
55
+ if (schema.enum !== undefined && (!Array.isArray(schema.enum) || schema.enum.length === 0))
56
+ errors.push(`${path}.enum: must be a non-empty array of literals`);
57
+ return errors;
58
+ }
59
+ function typeOf(value) {
60
+ if (value === null)
61
+ return "null";
62
+ if (Array.isArray(value))
63
+ return "array";
64
+ return typeof value; // object | string | number | boolean | undefined
65
+ }
66
+ /** Structural equality for enum literals — key-order-insensitive for objects
67
+ * (unlike JSON.stringify comparison). Total on JSON-shaped values. */
68
+ function deepEqual(a, b) {
69
+ if (Object.is(a, b))
70
+ return true;
71
+ if (typeof a !== "object" || typeof b !== "object" || a === null || b === null)
72
+ return false;
73
+ if (Array.isArray(a) !== Array.isArray(b))
74
+ return false;
75
+ if (Array.isArray(a) && Array.isArray(b)) {
76
+ if (a.length !== b.length)
77
+ return false;
78
+ return a.every((v, i) => deepEqual(v, b[i]));
79
+ }
80
+ const ka = Object.keys(a);
81
+ const kb = Object.keys(b);
82
+ if (ka.length !== kb.length)
83
+ return false;
84
+ return ka.every((k) => deepEqual(a[k], b[k]));
85
+ }
86
+ /**
87
+ * Validate a parsed JSON value against a contract. Returns violation messages
88
+ * with JSON-path-ish locations ([] = the value satisfies the contract). Total:
89
+ * a malformed contract never throws — unknown constructs are skipped (the
90
+ * shape is validated separately at flow-validation time).
91
+ */
92
+ export function contractViolations(value, schema, path = "$") {
93
+ if (!isPlainObject(schema))
94
+ return [];
95
+ const out = [];
96
+ const push = (msg) => {
97
+ if (out.length < CONTRACT_MAX_VIOLATIONS)
98
+ out.push(msg);
99
+ };
100
+ // Implicit type: a contract with properties/required is an object contract,
101
+ // one with items is an array contract — even when `type` was omitted.
102
+ const declaredType = typeof schema.type === "string" && CONTRACT_TYPES.has(schema.type)
103
+ ? schema.type
104
+ : schema.properties !== undefined || schema.required !== undefined
105
+ ? "object"
106
+ : schema.items !== undefined
107
+ ? "array"
108
+ : undefined;
109
+ if (declaredType) {
110
+ const actual = typeOf(value);
111
+ const matches = declaredType === "integer"
112
+ ? actual === "number" && Number.isInteger(value)
113
+ : actual === declaredType;
114
+ if (!matches) {
115
+ push(`${path}: expected ${declaredType}, got ${actual === "undefined" ? "nothing (not valid JSON?)" : actual}`);
116
+ return out; // structural mismatch — deeper checks would be noise
117
+ }
118
+ }
119
+ if (Array.isArray(schema.enum) && schema.enum.length > 0) {
120
+ const hit = schema.enum.some((e) => deepEqual(e, value));
121
+ if (!hit)
122
+ push(`${path}: value is not one of the allowed enum literals`);
123
+ }
124
+ if (isPlainObject(value)) {
125
+ if (Array.isArray(schema.required)) {
126
+ for (const key of schema.required) {
127
+ if (typeof key === "string" && !(key in value))
128
+ push(`${path}.${key}: required key is missing`);
129
+ }
130
+ }
131
+ if (isPlainObject(schema.properties)) {
132
+ for (const [key, sub] of Object.entries(schema.properties)) {
133
+ if (key in value) {
134
+ for (const v of contractViolations(value[key], sub, `${path}.${key}`))
135
+ push(v);
136
+ }
137
+ }
138
+ }
139
+ }
140
+ if (Array.isArray(value) && isPlainObject(schema.items)) {
141
+ for (let i = 0; i < value.length; i++) {
142
+ for (const v of contractViolations(value[i], schema.items, `${path}[${i}]`))
143
+ push(v);
144
+ if (out.length >= CONTRACT_MAX_VIOLATIONS)
145
+ break;
146
+ }
147
+ }
148
+ return out;
149
+ }
150
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../src/contract.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,9 @@ export interface RunResult {
50
50
  attempts?: number;
51
51
  /** Set when the subagent was killed by the idle watchdog (not a user abort). */
52
52
  idleTimeout?: boolean;
53
+ /** Set when the subagent was aborted by the phase's own `timeout` cap (not a
54
+ * user abort, not an idle stall). Deterministic — never retried. */
55
+ phaseTimeout?: boolean;
53
56
  }
54
57
  /** A streaming progress tick from a running subagent. */
55
58
  export interface LiveUpdate {
@@ -1 +1 @@
1
- {"version":3,"file":"runner-types.d.ts","sourceRoot":"","sources":["../../src/host/runner-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrB;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IAC1B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,MAAM,WAAW,UAAU;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO;IAC/C,OAAO,CACN,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,CAAC;CACtB"}
1
+ {"version":3,"file":"runner-types.d.ts","sourceRoot":"","sources":["../../src/host/runner-types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AACD,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACrB;AAED,4EAA4E;AAC5E,MAAM,WAAW,SAAS;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;yEACqE;IACrE,YAAY,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,yDAAyD;AACzD,MAAM,WAAW,UAAU;IAC1B,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kFAAkF;AAClF,MAAM,WAAW,UAAU;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,iFAAiF;IACjF,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc,CAAC,MAAM,GAAG,OAAO;IAC/C,OAAO,CACN,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAAE,EAChB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,UAAU,EAChB,cAAc,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,SAAS,CAAC,CAAC;CACtB"}
package/dist/index.d.ts CHANGED
@@ -9,6 +9,8 @@
9
9
  * Adapters inject their own subagent runner via `RuntimeDeps.runTask`.
10
10
  */
11
11
  export * from "./schema.ts";
12
+ export * from "./contract.ts";
13
+ export * from "./peek.ts";
12
14
  export * from "./runtime.ts";
13
15
  export * from "./cache.ts";
14
16
  export * from "./interpolate.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAK7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAK7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -9,6 +9,8 @@
9
9
  * Adapters inject their own subagent runner via `RuntimeDeps.runTask`.
10
10
  */
11
11
  export * from "./schema.js";
12
+ export * from "./contract.js";
13
+ export * from "./peek.js";
12
14
  export * from "./runtime.js";
13
15
  export * from "./cache.js";
14
16
  export * from "./interpolate.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,iFAAiF;AACjF,+EAA+E;AAC/E,iFAAiF;AACjF,mCAAmC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,iFAAiF;AACjF,+EAA+E;AAC/E,iFAAiF;AACjF,mCAAmC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC"}
package/dist/peek.d.ts ADDED
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Peek — post-hoc inspection of a run's intermediate phase outputs.
3
+ *
4
+ * The runtime's context-isolation contract only returns the FINAL phase output
5
+ * to the host conversation; every intermediate transcript stays in the
6
+ * persisted RunState. Peek is the explicit, human-invoked escape hatch for
7
+ * debugging: read one phase's output from a stored run, hard-truncated so a
8
+ * peek can never flood the caller's context window.
9
+ *
10
+ * Exposed as `/tf peek <runId> <phaseId>` (pi) and `taskflow_peek` (codex MCP).
11
+ * Read-only: never mutates run state.
12
+ */
13
+ /** Default hard cap on peeked text (chars). */
14
+ export declare const PEEK_DEFAULT_LIMIT = 4000;
15
+ /** Ceiling a caller may raise the limit to. */
16
+ export declare const PEEK_MAX_LIMIT = 32000;
17
+ export interface PeekOptions {
18
+ /** Phase to inspect. Omit to get a phase listing for the run. */
19
+ phaseId?: string;
20
+ /** Return the parsed JSON (`ps.json`) instead of the text output. */
21
+ json?: boolean;
22
+ /** For map/parallel phases: extract the 1-based n-th item's section. */
23
+ item?: number;
24
+ /** Truncation cap in chars (default PEEK_DEFAULT_LIMIT, max PEEK_MAX_LIMIT). */
25
+ limit?: number;
26
+ }
27
+ export interface PeekResult {
28
+ ok: boolean;
29
+ /** Human-readable peeked content (or the error / listing). */
30
+ text: string;
31
+ truncated?: boolean;
32
+ }
33
+ /**
34
+ * Peek at a stored run. Pure read: loads the persisted RunState and formats
35
+ * the requested slice, hard-truncated. Never throws on missing data — every
36
+ * miss returns `{ok: false}` with an actionable message.
37
+ */
38
+ export declare function peekRun(cwd: string, runId: string, opts?: PeekOptions): PeekResult;
39
+ //# sourceMappingURL=peek.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peek.d.ts","sourceRoot":"","sources":["../src/peek.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,+CAA+C;AAC/C,eAAO,MAAM,cAAc,QAAQ,CAAC;AAEpC,MAAM,WAAW,WAAW;IAC3B,iEAAiE;IACjE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,OAAO,CAAC;IACZ,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAoDD;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,UAAU,CAwCtF"}
package/dist/peek.js ADDED
@@ -0,0 +1,119 @@
1
+ /**
2
+ * Peek — post-hoc inspection of a run's intermediate phase outputs.
3
+ *
4
+ * The runtime's context-isolation contract only returns the FINAL phase output
5
+ * to the host conversation; every intermediate transcript stays in the
6
+ * persisted RunState. Peek is the explicit, human-invoked escape hatch for
7
+ * debugging: read one phase's output from a stored run, hard-truncated so a
8
+ * peek can never flood the caller's context window.
9
+ *
10
+ * Exposed as `/tf peek <runId> <phaseId>` (pi) and `taskflow_peek` (codex MCP).
11
+ * Read-only: never mutates run state.
12
+ */
13
+ import { loadRun } from "./store.js";
14
+ /** Default hard cap on peeked text (chars). */
15
+ export const PEEK_DEFAULT_LIMIT = 4000;
16
+ /** Ceiling a caller may raise the limit to. */
17
+ export const PEEK_MAX_LIMIT = 32000;
18
+ function clampLimit(limit) {
19
+ if (typeof limit !== "number" || !Number.isFinite(limit) || limit < 1)
20
+ return PEEK_DEFAULT_LIMIT;
21
+ return Math.min(Math.floor(limit), PEEK_MAX_LIMIT);
22
+ }
23
+ function truncate(text, limit) {
24
+ if (text.length <= limit)
25
+ return { text, truncated: false };
26
+ return { text: `${text.slice(0, limit)}\n… [truncated at ${limit} chars — total ${text.length}]`, truncated: true };
27
+ }
28
+ function fmtStatus(ps) {
29
+ const bits = [ps.status];
30
+ if (ps.timedOut)
31
+ bits.push("timed-out");
32
+ if (ps.cacheHit)
33
+ bits.push(`cache:${ps.cacheHit}`);
34
+ if (ps.gate)
35
+ bits.push(`gate:${ps.gate.verdict}`);
36
+ if (ps.subProgress)
37
+ bits.push(`${ps.subProgress.done}/${ps.subProgress.total} items`);
38
+ return bits.join(" · ");
39
+ }
40
+ function listPhases(state) {
41
+ const lines = state.def.phases.map((p) => {
42
+ const ps = state.phases[p.id];
43
+ const status = ps ? fmtStatus(ps) : "pending";
44
+ const size = ps?.output ? ` — ${ps.output.length} chars` : "";
45
+ return ` ${p.id} [${status}]${size}`;
46
+ });
47
+ return `Run ${state.runId} (${state.flowName}) — ${state.status}\n\nPhases:\n${lines.join("\n")}\n\nPeek one with: peek ${state.runId} <phaseId>`;
48
+ }
49
+ /** Split a merged map/parallel output back into its labelled item sections,
50
+ * keyed by the 1-based position parsed from each "### [k/N]" label — NOT by
51
+ * section order. mergePhaseState labels positionally but omits budget-skipped
52
+ * items entirely, so section order can have gaps; keying by label keeps
53
+ * `--item k` aligned with the original `over[k-1]`. */
54
+ function splitItems(merged) {
55
+ // mergePhaseState labels sections "### [k/N] <agent>" joined by "\n\n---\n\n".
56
+ const out = new Map();
57
+ const parts = merged.split(/\n\n---\n\n(?=### \[\d+\/\d+\])/);
58
+ for (const part of parts) {
59
+ const m = part.match(/^### \[(\d+)\/\d+\]/);
60
+ // First label wins on duplicates. Known limitation: an item whose CONTENT
61
+ // embeds the separator + a fake label can shadow a later genuine section —
62
+ // unambiguous splitting needs a collision-free separator in mergePhaseState
63
+ // (tracked as follow-up). Labels keyed positionally so budget-skip gaps
64
+ // never shift indices.
65
+ if (m && !out.has(Number(m[1])))
66
+ out.set(Number(m[1]), part);
67
+ }
68
+ return out;
69
+ }
70
+ /**
71
+ * Peek at a stored run. Pure read: loads the persisted RunState and formats
72
+ * the requested slice, hard-truncated. Never throws on missing data — every
73
+ * miss returns `{ok: false}` with an actionable message.
74
+ */
75
+ export function peekRun(cwd, runId, opts = {}) {
76
+ const state = loadRun(cwd, runId);
77
+ if (!state)
78
+ return { ok: false, text: `Run not found: ${runId} (see runs with /tf runs)` };
79
+ if (!opts.phaseId)
80
+ return { ok: true, text: listPhases(state) };
81
+ const ps = state.phases[opts.phaseId];
82
+ if (!ps) {
83
+ const known = state.def.phases.map((p) => p.id).join(", ");
84
+ return { ok: false, text: `Phase '${opts.phaseId}' not found in run ${runId}. Phases: ${known}` };
85
+ }
86
+ const limit = clampLimit(opts.limit);
87
+ const header = `${runId} › ${ps.id} [${fmtStatus(ps)}]${ps.error ? `\nerror: ${ps.error.slice(0, 500)}` : ""}`;
88
+ let body;
89
+ if (opts.item !== undefined) {
90
+ const items = splitItems(ps.output ?? "");
91
+ if (items.size === 0)
92
+ return { ok: false, text: `Phase '${ps.id}' has no item sections (not a map/parallel output).` };
93
+ const idx = Math.floor(opts.item);
94
+ const section = items.get(idx);
95
+ if (section === undefined) {
96
+ const available = [...items.keys()].sort((a, b) => a - b).join(", ");
97
+ return { ok: false, text: `Item ${opts.item} not found for phase '${ps.id}' (available: ${available}; budget-skipped items have no section).` };
98
+ }
99
+ body = section;
100
+ }
101
+ else if (opts.json) {
102
+ if (ps.json === undefined)
103
+ return { ok: false, text: `Phase '${ps.id}' has no parsed JSON (set output:"json" on the phase, or peek the text output).` };
104
+ try {
105
+ body = JSON.stringify(ps.json, null, 2);
106
+ }
107
+ catch {
108
+ body = String(ps.json);
109
+ }
110
+ }
111
+ else {
112
+ if (ps.output === undefined)
113
+ return { ok: false, text: `Phase '${ps.id}' has no output (status: ${ps.status}).` };
114
+ body = ps.output;
115
+ }
116
+ const t = truncate(body, limit);
117
+ return { ok: true, text: `${header}\n\n${t.text}`, truncated: t.truncated };
118
+ }
119
+ //# sourceMappingURL=peek.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"peek.js","sourceRoot":"","sources":["../src/peek.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runner-core.d.ts","sourceRoot":"","sources":["../src/runner-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIjF,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7G,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAE9C;AAUD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAMtD;AAED;4EAC4E;AAC5E,eAAO,MAAM,2BAA2B,iDAAiD,CAAC;AAE1F,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CActD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAyBpE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAU9D;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoCpF;AAwCD,0EAA0E;AAC1E,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,IAAI,EACtD,KAAK,EAAE,GAAG,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7C,OAAO,CAAC,IAAI,EAAE,CAAC,CAcjB"}
1
+ {"version":3,"file":"runner-core.d.ts","sourceRoot":"","sources":["../src/runner-core.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAc,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIjF,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7G,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAE9C;AAUD,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,SAAS,GAAG,OAAO,CAQtD;AAED;4EAC4E;AAC5E,eAAO,MAAM,2BAA2B,iDAAiD,CAAC;AAE1F,wEAAwE;AACxE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C,qEAAqE;AACrE,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CActD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAyBpE;AAED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,CAU9D;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,KAAK,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAoCpF;AAwCD,0EAA0E;AAC1E,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,IAAI,EACtD,KAAK,EAAE,GAAG,EAAE,EACZ,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7C,OAAO,CAAC,IAAI,EAAE,CAAC,CAcjB"}