clinkx 0.2.0 → 0.2.2

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.
Files changed (149) hide show
  1. package/clinkx-workflows/dist/artifacts.d.ts +65 -0
  2. package/clinkx-workflows/dist/artifacts.js +268 -0
  3. package/clinkx-workflows/dist/artifacts.js.map +1 -0
  4. package/clinkx-workflows/dist/backend.d.ts +33 -0
  5. package/clinkx-workflows/dist/backend.js +9 -0
  6. package/clinkx-workflows/dist/backend.js.map +1 -0
  7. package/clinkx-workflows/dist/child-env.d.ts +23 -0
  8. package/clinkx-workflows/dist/child-env.js +53 -0
  9. package/clinkx-workflows/dist/child-env.js.map +1 -0
  10. package/clinkx-workflows/dist/clink-client.d.ts +51 -0
  11. package/clinkx-workflows/dist/clink-client.js +216 -0
  12. package/clinkx-workflows/dist/clink-client.js.map +1 -0
  13. package/clinkx-workflows/dist/config.d.ts +126 -0
  14. package/clinkx-workflows/dist/config.js +226 -0
  15. package/clinkx-workflows/dist/config.js.map +1 -0
  16. package/clinkx-workflows/dist/definition-normalizer.d.ts +59 -0
  17. package/clinkx-workflows/dist/definition-normalizer.js +75 -0
  18. package/clinkx-workflows/dist/definition-normalizer.js.map +1 -0
  19. package/clinkx-workflows/dist/engine.d.ts +235 -0
  20. package/clinkx-workflows/dist/engine.js +1044 -0
  21. package/clinkx-workflows/dist/engine.js.map +1 -0
  22. package/clinkx-workflows/dist/errors.d.ts +74 -0
  23. package/clinkx-workflows/dist/errors.js +84 -0
  24. package/clinkx-workflows/dist/errors.js.map +1 -0
  25. package/clinkx-workflows/dist/fidelity.d.ts +112 -0
  26. package/clinkx-workflows/dist/fidelity.js +140 -0
  27. package/clinkx-workflows/dist/fidelity.js.map +1 -0
  28. package/clinkx-workflows/dist/fingerprint.d.ts +69 -0
  29. package/clinkx-workflows/dist/fingerprint.js +143 -0
  30. package/clinkx-workflows/dist/fingerprint.js.map +1 -0
  31. package/clinkx-workflows/dist/index.d.ts +16 -0
  32. package/clinkx-workflows/dist/index.js +42 -0
  33. package/clinkx-workflows/dist/index.js.map +1 -0
  34. package/clinkx-workflows/dist/loader.d.ts +64 -0
  35. package/clinkx-workflows/dist/loader.js +371 -0
  36. package/clinkx-workflows/dist/loader.js.map +1 -0
  37. package/clinkx-workflows/dist/logger.d.ts +16 -0
  38. package/clinkx-workflows/dist/logger.js +31 -0
  39. package/clinkx-workflows/dist/logger.js.map +1 -0
  40. package/clinkx-workflows/dist/path-validation.d.ts +23 -0
  41. package/clinkx-workflows/dist/path-validation.js +73 -0
  42. package/clinkx-workflows/dist/path-validation.js.map +1 -0
  43. package/clinkx-workflows/dist/prompt-budget.d.ts +31 -0
  44. package/clinkx-workflows/dist/prompt-budget.js +78 -0
  45. package/clinkx-workflows/dist/prompt-budget.js.map +1 -0
  46. package/clinkx-workflows/dist/queue.d.ts +16 -0
  47. package/clinkx-workflows/dist/queue.js +46 -0
  48. package/clinkx-workflows/dist/queue.js.map +1 -0
  49. package/clinkx-workflows/dist/ranking-reducer.d.ts +11 -0
  50. package/clinkx-workflows/dist/ranking-reducer.js +245 -0
  51. package/clinkx-workflows/dist/ranking-reducer.js.map +1 -0
  52. package/clinkx-workflows/dist/reducers/index.d.ts +8 -0
  53. package/clinkx-workflows/dist/reducers/index.js +12 -0
  54. package/clinkx-workflows/dist/reducers/index.js.map +1 -0
  55. package/clinkx-workflows/dist/run-id.d.ts +17 -0
  56. package/clinkx-workflows/dist/run-id.js +26 -0
  57. package/clinkx-workflows/dist/run-id.js.map +1 -0
  58. package/clinkx-workflows/dist/run-summary/cards/council-answer.d.ts +8 -0
  59. package/clinkx-workflows/dist/run-summary/cards/council-answer.js +75 -0
  60. package/clinkx-workflows/dist/run-summary/cards/council-answer.js.map +1 -0
  61. package/clinkx-workflows/dist/run-summary/cards/council-code-review.d.ts +13 -0
  62. package/clinkx-workflows/dist/run-summary/cards/council-code-review.js +90 -0
  63. package/clinkx-workflows/dist/run-summary/cards/council-code-review.js.map +1 -0
  64. package/clinkx-workflows/dist/run-summary/cards/council-debug.d.ts +9 -0
  65. package/clinkx-workflows/dist/run-summary/cards/council-debug.js +79 -0
  66. package/clinkx-workflows/dist/run-summary/cards/council-debug.js.map +1 -0
  67. package/clinkx-workflows/dist/run-summary/cards/council-default.d.ts +11 -0
  68. package/clinkx-workflows/dist/run-summary/cards/council-default.js +57 -0
  69. package/clinkx-workflows/dist/run-summary/cards/council-default.js.map +1 -0
  70. package/clinkx-workflows/dist/run-summary/cards/council-discover.d.ts +10 -0
  71. package/clinkx-workflows/dist/run-summary/cards/council-discover.js +79 -0
  72. package/clinkx-workflows/dist/run-summary/cards/council-discover.js.map +1 -0
  73. package/clinkx-workflows/dist/run-summary/cards/generic.d.ts +2 -0
  74. package/clinkx-workflows/dist/run-summary/cards/generic.js +4 -0
  75. package/clinkx-workflows/dist/run-summary/cards/generic.js.map +1 -0
  76. package/clinkx-workflows/dist/run-summary/cards/index.d.ts +6 -0
  77. package/clinkx-workflows/dist/run-summary/cards/index.js +17 -0
  78. package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -0
  79. package/clinkx-workflows/dist/run-summary/utils.d.ts +6 -0
  80. package/clinkx-workflows/dist/run-summary/utils.js +30 -0
  81. package/clinkx-workflows/dist/run-summary/utils.js.map +1 -0
  82. package/clinkx-workflows/dist/run-summary-derived.d.ts +19 -0
  83. package/clinkx-workflows/dist/run-summary-derived.js +100 -0
  84. package/clinkx-workflows/dist/run-summary-derived.js.map +1 -0
  85. package/clinkx-workflows/dist/run-summary.d.ts +70 -0
  86. package/clinkx-workflows/dist/run-summary.js +125 -0
  87. package/clinkx-workflows/dist/run-summary.js.map +1 -0
  88. package/clinkx-workflows/dist/schema.d.ts +609 -0
  89. package/clinkx-workflows/dist/schema.js +123 -0
  90. package/clinkx-workflows/dist/schema.js.map +1 -0
  91. package/clinkx-workflows/dist/server.d.ts +16 -0
  92. package/clinkx-workflows/dist/server.js +33 -0
  93. package/clinkx-workflows/dist/server.js.map +1 -0
  94. package/clinkx-workflows/dist/shutdown.d.ts +54 -0
  95. package/clinkx-workflows/dist/shutdown.js +120 -0
  96. package/clinkx-workflows/dist/shutdown.js.map +1 -0
  97. package/clinkx-workflows/dist/state-schema.d.ts +141 -0
  98. package/clinkx-workflows/dist/state-schema.js +21 -0
  99. package/clinkx-workflows/dist/state-schema.js.map +1 -0
  100. package/clinkx-workflows/dist/state.d.ts +37 -0
  101. package/clinkx-workflows/dist/state.js +838 -0
  102. package/clinkx-workflows/dist/state.js.map +1 -0
  103. package/clinkx-workflows/dist/template-loader.d.ts +30 -0
  104. package/clinkx-workflows/dist/template-loader.js +77 -0
  105. package/clinkx-workflows/dist/template-loader.js.map +1 -0
  106. package/clinkx-workflows/dist/template.d.ts +54 -0
  107. package/clinkx-workflows/dist/template.js +128 -0
  108. package/clinkx-workflows/dist/template.js.map +1 -0
  109. package/clinkx-workflows/dist/transport.d.ts +91 -0
  110. package/clinkx-workflows/dist/transport.js +249 -0
  111. package/clinkx-workflows/dist/transport.js.map +1 -0
  112. package/clinkx-workflows/dist/types.d.ts +137 -0
  113. package/clinkx-workflows/dist/types.js +11 -0
  114. package/clinkx-workflows/dist/types.js.map +1 -0
  115. package/clinkx-workflows/dist/validators/council.d.ts +1488 -0
  116. package/clinkx-workflows/dist/validators/council.js +509 -0
  117. package/clinkx-workflows/dist/validators/council.js.map +1 -0
  118. package/clinkx-workflows/dist/validators/index.d.ts +40 -0
  119. package/clinkx-workflows/dist/validators/index.js +43 -0
  120. package/clinkx-workflows/dist/validators/index.js.map +1 -0
  121. package/clinkx-workflows/dist/workflow-receipt.d.ts +4 -0
  122. package/clinkx-workflows/dist/workflow-receipt.js +177 -0
  123. package/clinkx-workflows/dist/workflow-receipt.js.map +1 -0
  124. package/clinkx-workflows/dist/workflow-tools.d.ts +77 -0
  125. package/clinkx-workflows/dist/workflow-tools.js +1131 -0
  126. package/clinkx-workflows/dist/workflow-tools.js.map +1 -0
  127. package/clinkx-workflows/dist/workflows/council-default.d.ts +123 -0
  128. package/clinkx-workflows/dist/workflows/council-default.js +141 -0
  129. package/clinkx-workflows/dist/workflows/council-default.js.map +1 -0
  130. package/clinkx-workflows/dist/workflows/index.d.ts +12 -0
  131. package/clinkx-workflows/dist/workflows/index.js +15 -0
  132. package/clinkx-workflows/dist/workflows/index.js.map +1 -0
  133. package/conf/adapters/codex.json +2 -2
  134. package/conf/adapters/hapi/codex.json +2 -2
  135. package/dist/config.d.ts +5 -0
  136. package/dist/config.js +17 -0
  137. package/dist/config.js.map +1 -1
  138. package/dist/parsers/extract.d.ts +2 -0
  139. package/dist/parsers/extract.js +29 -20
  140. package/dist/parsers/extract.js.map +1 -1
  141. package/dist/pipeline.d.ts +2 -4
  142. package/dist/pipeline.js +93 -8
  143. package/dist/pipeline.js.map +1 -1
  144. package/dist/result-contract.d.ts +6 -1
  145. package/dist/result-contract.js +10 -22
  146. package/dist/result-contract.js.map +1 -1
  147. package/dist/runner.js +43 -1
  148. package/dist/runner.js.map +1 -1
  149. package/package.json +12 -5
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Template resolution for clinkx-workflows (2-7a).
3
+ *
4
+ * Resolves prompt_template paths relative to the templates root.
5
+ * Validates existence at load time.
6
+ * Enforces root containment: rejects paths escaping template root after realpath.
7
+ */
8
+ /**
9
+ * Resolve a prompt_template logical path to an absolute path, enforce root containment,
10
+ * and return the template text content.
11
+ *
12
+ * @param templatePath - Logical path relative to templates root (e.g., "council/member.txt")
13
+ * @param templatesRoot - Absolute path to the templates root directory
14
+ * @returns Template text content
15
+ * @throws WorkflowValidationError if path escapes root or file doesn't exist
16
+ */
17
+ export declare function loadTemplate(templatePath: string, templatesRoot: string): string;
18
+ /**
19
+ * Resolve all prompt_template references in a workflow definition.
20
+ * Returns a map from template path to template content.
21
+ *
22
+ * @param stages - Workflow stages to scan for prompt_template references
23
+ * @param templatesRoot - Absolute path to the templates root directory
24
+ * @returns Map of template path → content
25
+ */
26
+ export declare function resolveAllTemplates(stages: readonly {
27
+ readonly calls: readonly {
28
+ readonly prompt_template?: string | undefined;
29
+ }[];
30
+ }[], templatesRoot: string): ReadonlyMap<string, string>;
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Template resolution for clinkx-workflows (2-7a).
3
+ *
4
+ * Resolves prompt_template paths relative to the templates root.
5
+ * Validates existence at load time.
6
+ * Enforces root containment: rejects paths escaping template root after realpath.
7
+ */
8
+ import { readFileSync, realpathSync } from "node:fs";
9
+ import { resolve, relative } from "node:path";
10
+ import { WorkflowValidationError } from "./errors.js";
11
+ /**
12
+ * Resolve a prompt_template logical path to an absolute path, enforce root containment,
13
+ * and return the template text content.
14
+ *
15
+ * @param templatePath - Logical path relative to templates root (e.g., "council/member.txt")
16
+ * @param templatesRoot - Absolute path to the templates root directory
17
+ * @returns Template text content
18
+ * @throws WorkflowValidationError if path escapes root or file doesn't exist
19
+ */
20
+ export function loadTemplate(templatePath, templatesRoot) {
21
+ // Resolve the absolute path
22
+ const absolutePath = resolve(templatesRoot, templatePath);
23
+ // Enforce root containment using realpath
24
+ let realAbsolute;
25
+ try {
26
+ realAbsolute = realpathSync(absolutePath);
27
+ }
28
+ catch (err) {
29
+ const code = err.code;
30
+ if (code === "ENOENT") {
31
+ throw new WorkflowValidationError(`Template file not found: "${templatePath}" ` +
32
+ `(resolved to "${absolutePath}")`);
33
+ }
34
+ throw new WorkflowValidationError(`Cannot resolve template path: "${templatePath}" — ${String(err)}`);
35
+ }
36
+ let realRoot;
37
+ try {
38
+ realRoot = realpathSync(templatesRoot);
39
+ }
40
+ catch {
41
+ throw new WorkflowValidationError(`Templates root directory not found: "${templatesRoot}"`);
42
+ }
43
+ // Check that the resolved path is within the templates root
44
+ const rel = relative(realRoot, realAbsolute);
45
+ if (rel.startsWith("..") || rel.startsWith("/")) {
46
+ throw new WorkflowValidationError(`Template path escape detected: "${templatePath}" resolves to ` +
47
+ `"${realAbsolute}" which is outside templates root "${realRoot}"`);
48
+ }
49
+ // Read the template
50
+ try {
51
+ return readFileSync(realAbsolute, "utf-8");
52
+ }
53
+ catch (err) {
54
+ throw new WorkflowValidationError(`Failed to read template "${templatePath}": ${String(err)}`);
55
+ }
56
+ }
57
+ /**
58
+ * Resolve all prompt_template references in a workflow definition.
59
+ * Returns a map from template path to template content.
60
+ *
61
+ * @param stages - Workflow stages to scan for prompt_template references
62
+ * @param templatesRoot - Absolute path to the templates root directory
63
+ * @returns Map of template path → content
64
+ */
65
+ export function resolveAllTemplates(stages, templatesRoot) {
66
+ const templates = new Map();
67
+ for (const stage of stages) {
68
+ for (const call of stage.calls) {
69
+ if (call.prompt_template != null && !templates.has(call.prompt_template)) {
70
+ const content = loadTemplate(call.prompt_template, templatesRoot);
71
+ templates.set(call.prompt_template, content);
72
+ }
73
+ }
74
+ }
75
+ return templates;
76
+ }
77
+ //# sourceMappingURL=template-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-loader.js","sourceRoot":"","sources":["../src/template-loader.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAC1B,YAAoB,EACpB,aAAqB;IAErB,4BAA4B;IAC5B,MAAM,YAAY,GAAG,OAAO,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAE1D,0CAA0C;IAC1C,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,uBAAuB,CAC/B,6BAA6B,YAAY,IAAI;gBAC3C,iBAAiB,YAAY,IAAI,CACpC,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,uBAAuB,CAC/B,kCAAkC,YAAY,OAAO,MAAM,CAAC,GAAG,CAAC,EAAE,CACnE,CAAC;IACJ,CAAC;IAED,IAAI,QAAgB,CAAC;IACrB,IAAI,CAAC;QACH,QAAQ,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,uBAAuB,CAC/B,wCAAwC,aAAa,GAAG,CACzD,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,GAAG,GAAG,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,uBAAuB,CAC/B,mCAAmC,YAAY,gBAAgB;YAC7D,IAAI,YAAY,sCAAsC,QAAQ,GAAG,CACpE,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,uBAAuB,CAC/B,4BAA4B,YAAY,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,CAC5D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAmG,EACnG,aAAqB;IAErB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE5C,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;gBACzE,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;gBAClE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Template engine for clinkx-workflows (2-11a, 2-11b).
3
+ *
4
+ * Single-pass {{variable}} interpolation from declared workflow variables.
5
+ * Reserved namespaces: workflow.run_id, stage.id, call.id.
6
+ * FAILS on unresolved placeholders — no silent empty substitution.
7
+ * FAILS on unknown variables.
8
+ *
9
+ * Stage outputs are NEVER passed through the template engine;
10
+ * they are threaded as artifact files via absolute_file_paths.
11
+ */
12
+ import type { Variable } from "./schema.js";
13
+ /** Runtime context for reserved namespaces. */
14
+ export interface TemplateContext {
15
+ readonly workflow: {
16
+ readonly run_id: string;
17
+ };
18
+ readonly stage: {
19
+ readonly id: string;
20
+ };
21
+ readonly call: {
22
+ readonly id: string;
23
+ };
24
+ }
25
+ /**
26
+ * Render a template string by interpolating declared variables and reserved namespaces.
27
+ *
28
+ * @param template - Template string with {{variable}} placeholders
29
+ * @param variables - Declared variable definitions from the workflow schema
30
+ * @param values - Resolved variable values (validated against declarations)
31
+ * @param context - Runtime context for reserved namespaces
32
+ * @returns Fully interpolated string
33
+ * @throws Error on unresolved placeholders or unknown variables
34
+ */
35
+ export declare function renderTemplate(template: string, variables: Readonly<Record<string, Variable>>, values: Readonly<Record<string, unknown>>, context: TemplateContext): string;
36
+ /**
37
+ * Render a call's prompt with workflow variables and runtime context.
38
+ * For calls using prompt_template, the template text should already be
39
+ * inlined by the definition normalizer.
40
+ */
41
+ export declare function renderCallPrompt(promptText: string, variables: Readonly<Record<string, Variable>>, values: Readonly<Record<string, unknown>>, context: TemplateContext): string;
42
+ /**
43
+ * Render a tiny artifact context summary string.
44
+ * This is NOT passed through the full template engine — it is a simple
45
+ * format string describing upstream artifacts for the context field.
46
+ *
47
+ * Example output:
48
+ * "Stage member outputs: member_a.json (5KB), member_b.json (4KB).
49
+ * Read these files to synthesize your review."
50
+ */
51
+ export declare function renderContextSummary(stageName: string, artifacts: readonly {
52
+ readonly filename: string;
53
+ readonly sizeBytes: number;
54
+ }[]): string;
@@ -0,0 +1,128 @@
1
+ /**
2
+ * Template engine for clinkx-workflows (2-11a, 2-11b).
3
+ *
4
+ * Single-pass {{variable}} interpolation from declared workflow variables.
5
+ * Reserved namespaces: workflow.run_id, stage.id, call.id.
6
+ * FAILS on unresolved placeholders — no silent empty substitution.
7
+ * FAILS on unknown variables.
8
+ *
9
+ * Stage outputs are NEVER passed through the template engine;
10
+ * they are threaded as artifact files via absolute_file_paths.
11
+ */
12
+ /** Regex matching {{variable_name}} or {{namespace.key}} placeholders. */
13
+ const PLACEHOLDER_RE = /\{\{([a-zA-Z0-9_.]+)\}\}/g;
14
+ /** Reserved namespace prefixes that are resolved from runtime context. */
15
+ const RESERVED_PREFIXES = new Set(["workflow", "stage", "call"]);
16
+ /**
17
+ * Render a template string by interpolating declared variables and reserved namespaces.
18
+ *
19
+ * @param template - Template string with {{variable}} placeholders
20
+ * @param variables - Declared variable definitions from the workflow schema
21
+ * @param values - Resolved variable values (validated against declarations)
22
+ * @param context - Runtime context for reserved namespaces
23
+ * @returns Fully interpolated string
24
+ * @throws Error on unresolved placeholders or unknown variables
25
+ */
26
+ export function renderTemplate(template, variables, values, context) {
27
+ const errors = [];
28
+ const result = template.replace(PLACEHOLDER_RE, (match, key) => {
29
+ // Check reserved namespaces first
30
+ const dotIndex = key.indexOf(".");
31
+ if (dotIndex !== -1) {
32
+ const prefix = key.substring(0, dotIndex);
33
+ const suffix = key.substring(dotIndex + 1);
34
+ if (RESERVED_PREFIXES.has(prefix)) {
35
+ const resolved = resolveReserved(prefix, suffix, context);
36
+ if (resolved != null) {
37
+ return resolved;
38
+ }
39
+ errors.push(`Unknown reserved variable: ${key}`);
40
+ return match;
41
+ }
42
+ }
43
+ // Check declared workflow variables
44
+ if (!(key in variables)) {
45
+ errors.push(`Unknown variable: ${key}`);
46
+ return match;
47
+ }
48
+ const value = values[key];
49
+ if (value == null) {
50
+ errors.push(`Unresolved variable: ${key}`);
51
+ return match;
52
+ }
53
+ return stringifyValue(value);
54
+ });
55
+ if (errors.length > 0) {
56
+ throw new Error(`Template interpolation failed:\n${errors.map((e) => ` - ${e}`).join("\n")}`);
57
+ }
58
+ // The first pass already validates every placeholder in the original template
59
+ // (unknown variables, unresolved variables, unknown reserved keys).
60
+ // A second-pass regex scan is intentionally omitted: interpolated variable
61
+ // values may legitimately contain {{...}} text (e.g., user prompts quoting
62
+ // template syntax, LLM output with mustache-like markup). Treating those as
63
+ // unresolved placeholders is a false positive.
64
+ return result;
65
+ }
66
+ /**
67
+ * Resolve a reserved namespace variable.
68
+ */
69
+ function resolveReserved(prefix, suffix, context) {
70
+ if (prefix === "workflow" && suffix === "run_id") {
71
+ return context.workflow.run_id;
72
+ }
73
+ if (prefix === "stage" && suffix === "id") {
74
+ return context.stage.id;
75
+ }
76
+ if (prefix === "call" && suffix === "id") {
77
+ return context.call.id;
78
+ }
79
+ return undefined;
80
+ }
81
+ /**
82
+ * Convert a variable value to a string suitable for template insertion.
83
+ */
84
+ function stringifyValue(value) {
85
+ if (typeof value === "string")
86
+ return value;
87
+ if (typeof value === "number" || typeof value === "boolean") {
88
+ return String(value);
89
+ }
90
+ if (Array.isArray(value)) {
91
+ return value.join(", ");
92
+ }
93
+ return String(value);
94
+ }
95
+ // ---------------------------------------------------------------------------
96
+ // 2-11b: Engine-Facing Template Helpers
97
+ // ---------------------------------------------------------------------------
98
+ /**
99
+ * Render a call's prompt with workflow variables and runtime context.
100
+ * For calls using prompt_template, the template text should already be
101
+ * inlined by the definition normalizer.
102
+ */
103
+ export function renderCallPrompt(promptText, variables, values, context) {
104
+ return renderTemplate(promptText, variables, values, context);
105
+ }
106
+ /**
107
+ * Render a tiny artifact context summary string.
108
+ * This is NOT passed through the full template engine — it is a simple
109
+ * format string describing upstream artifacts for the context field.
110
+ *
111
+ * Example output:
112
+ * "Stage member outputs: member_a.json (5KB), member_b.json (4KB).
113
+ * Read these files to synthesize your review."
114
+ */
115
+ export function renderContextSummary(stageName, artifacts) {
116
+ if (artifacts.length === 0) {
117
+ return `No artifacts from stage ${stageName}.`;
118
+ }
119
+ const fileList = artifacts
120
+ .map((a) => {
121
+ const sizeKb = Math.ceil(a.sizeBytes / 1024);
122
+ return `${a.filename} (${String(sizeKb)}KB)`;
123
+ })
124
+ .join(", ");
125
+ return (`Stage ${stageName} outputs: ${fileList}. ` +
126
+ "Read these files to synthesize your response.");
127
+ }
128
+ //# sourceMappingURL=template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template.js","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * ClinkSession — per-run MCP client transport to a ClinkX child process.
3
+ *
4
+ * Spawns ClinkX over STDIO, performs MCP initialize handshake,
5
+ * verifies clink tool availability, and provides callTool/terminate.
6
+ *
7
+ * The SDK's Client.request() already:
8
+ * - Supports timeout via RequestOptions.timeout (ms)
9
+ * - Sends notifications/cancelled on AbortSignal abort
10
+ * So we get 1-7a (deadlines) and 1-8a/b (cancellation) from the SDK.
11
+ */
12
+ import { type ChildEnvOverrides } from "./child-env.js";
13
+ import type { ClinkBackend, ToolCallResult } from "./backend.js";
14
+ export interface ClinkSessionOptions {
15
+ /** Run ID for log prefixing. */
16
+ readonly runId: string;
17
+ /** Override child command (default: from config). */
18
+ readonly command?: string | undefined;
19
+ /** Override child args. */
20
+ readonly args?: readonly string[] | undefined;
21
+ /** Child env overrides passed to buildChildEnv. */
22
+ readonly envOverrides?: Partial<ChildEnvOverrides> | undefined;
23
+ /** Override handshake timeout (ms). */
24
+ readonly handshakeTimeoutMs?: number | undefined;
25
+ /** Override call timeout (ms). */
26
+ readonly callTimeoutMs?: number | undefined;
27
+ /** Callback invoked on unexpected child death. */
28
+ readonly onChildDeath?: ((code: number | null, signal: string | null) => void) | undefined;
29
+ }
30
+ export type { ToolCallResult } from "./backend.js";
31
+ /**
32
+ * Per-run MCP session to a ClinkX child process.
33
+ *
34
+ * Lifecycle: create → connect() → callTool() ... → terminate()
35
+ */
36
+ export declare class ClinkSession implements ClinkBackend {
37
+ private client;
38
+ private transport;
39
+ private terminated;
40
+ private childExitedUnexpectedly;
41
+ /** Cached cli_name values from tools/list. */
42
+ readonly cliNames: string[];
43
+ /** Cached role union from tools/list. */
44
+ readonly roleNames: string[];
45
+ private readonly runId;
46
+ private readonly command;
47
+ private readonly args;
48
+ private readonly envOverrides;
49
+ private readonly handshakeTimeoutMs;
50
+ private readonly callTimeoutMs;
51
+ private readonly onChildDeath;
52
+ constructor(options: ClinkSessionOptions);
53
+ /**
54
+ * Spawn child, perform MCP handshake, verify clink tool.
55
+ * Throws on failure (handshake timeout, missing clink tool, etc.).
56
+ */
57
+ connect(): Promise<void>;
58
+ /**
59
+ * Call the child's clink tool.
60
+ *
61
+ * @param args - Tool arguments (ClinkInput shape)
62
+ * @param options - Optional signal and timeout override
63
+ * @returns Tool call result
64
+ */
65
+ callTool(args: Record<string, unknown>, options?: {
66
+ signal?: AbortSignal;
67
+ timeoutMs?: number;
68
+ }): Promise<ToolCallResult>;
69
+ /**
70
+ * Terminate the child session cleanly.
71
+ */
72
+ terminate(): Promise<void>;
73
+ /**
74
+ * Whether the session has been terminated.
75
+ */
76
+ get isTerminated(): boolean;
77
+ /**
78
+ * Whether the child died unexpectedly.
79
+ */
80
+ get hasChildDied(): boolean;
81
+ /**
82
+ * Set up stderr capture from the child process.
83
+ * Prefix each line with [child:<run_id>] and re-log via parent pino.
84
+ */
85
+ private setupStderrCapture;
86
+ /**
87
+ * Monitor for unexpected child death (1-9a).
88
+ * On unexpected death mid-run, mark as transient failure.
89
+ */
90
+ private setupChildDeathHandler;
91
+ }