clinkx 0.1.10 → 0.2.1
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/clinkx-workflows/dist/artifacts.d.ts +65 -0
- package/clinkx-workflows/dist/artifacts.js +268 -0
- package/clinkx-workflows/dist/artifacts.js.map +1 -0
- package/clinkx-workflows/dist/backend.d.ts +33 -0
- package/clinkx-workflows/dist/backend.js +9 -0
- package/clinkx-workflows/dist/backend.js.map +1 -0
- package/clinkx-workflows/dist/child-env.d.ts +23 -0
- package/clinkx-workflows/dist/child-env.js +53 -0
- package/clinkx-workflows/dist/child-env.js.map +1 -0
- package/clinkx-workflows/dist/clink-client.d.ts +51 -0
- package/clinkx-workflows/dist/clink-client.js +216 -0
- package/clinkx-workflows/dist/clink-client.js.map +1 -0
- package/clinkx-workflows/dist/config.d.ts +126 -0
- package/clinkx-workflows/dist/config.js +226 -0
- package/clinkx-workflows/dist/config.js.map +1 -0
- package/clinkx-workflows/dist/definition-normalizer.d.ts +59 -0
- package/clinkx-workflows/dist/definition-normalizer.js +75 -0
- package/clinkx-workflows/dist/definition-normalizer.js.map +1 -0
- package/clinkx-workflows/dist/engine.d.ts +235 -0
- package/clinkx-workflows/dist/engine.js +1044 -0
- package/clinkx-workflows/dist/engine.js.map +1 -0
- package/clinkx-workflows/dist/errors.d.ts +74 -0
- package/clinkx-workflows/dist/errors.js +84 -0
- package/clinkx-workflows/dist/errors.js.map +1 -0
- package/clinkx-workflows/dist/fidelity.d.ts +112 -0
- package/clinkx-workflows/dist/fidelity.js +140 -0
- package/clinkx-workflows/dist/fidelity.js.map +1 -0
- package/clinkx-workflows/dist/fingerprint.d.ts +69 -0
- package/clinkx-workflows/dist/fingerprint.js +143 -0
- package/clinkx-workflows/dist/fingerprint.js.map +1 -0
- package/clinkx-workflows/dist/index.d.ts +16 -0
- package/clinkx-workflows/dist/index.js +42 -0
- package/clinkx-workflows/dist/index.js.map +1 -0
- package/clinkx-workflows/dist/loader.d.ts +64 -0
- package/clinkx-workflows/dist/loader.js +371 -0
- package/clinkx-workflows/dist/loader.js.map +1 -0
- package/clinkx-workflows/dist/logger.d.ts +16 -0
- package/clinkx-workflows/dist/logger.js +31 -0
- package/clinkx-workflows/dist/logger.js.map +1 -0
- package/clinkx-workflows/dist/path-validation.d.ts +23 -0
- package/clinkx-workflows/dist/path-validation.js +73 -0
- package/clinkx-workflows/dist/path-validation.js.map +1 -0
- package/clinkx-workflows/dist/prompt-budget.d.ts +31 -0
- package/clinkx-workflows/dist/prompt-budget.js +78 -0
- package/clinkx-workflows/dist/prompt-budget.js.map +1 -0
- package/clinkx-workflows/dist/queue.d.ts +16 -0
- package/clinkx-workflows/dist/queue.js +46 -0
- package/clinkx-workflows/dist/queue.js.map +1 -0
- package/clinkx-workflows/dist/ranking-reducer.d.ts +11 -0
- package/clinkx-workflows/dist/ranking-reducer.js +245 -0
- package/clinkx-workflows/dist/ranking-reducer.js.map +1 -0
- package/clinkx-workflows/dist/reducers/index.d.ts +8 -0
- package/clinkx-workflows/dist/reducers/index.js +12 -0
- package/clinkx-workflows/dist/reducers/index.js.map +1 -0
- package/clinkx-workflows/dist/run-id.d.ts +17 -0
- package/clinkx-workflows/dist/run-id.js +26 -0
- package/clinkx-workflows/dist/run-id.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-answer.d.ts +8 -0
- package/clinkx-workflows/dist/run-summary/cards/council-answer.js +75 -0
- package/clinkx-workflows/dist/run-summary/cards/council-answer.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-code-review.d.ts +13 -0
- package/clinkx-workflows/dist/run-summary/cards/council-code-review.js +90 -0
- package/clinkx-workflows/dist/run-summary/cards/council-code-review.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-debug.d.ts +9 -0
- package/clinkx-workflows/dist/run-summary/cards/council-debug.js +79 -0
- package/clinkx-workflows/dist/run-summary/cards/council-debug.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-default.d.ts +11 -0
- package/clinkx-workflows/dist/run-summary/cards/council-default.js +57 -0
- package/clinkx-workflows/dist/run-summary/cards/council-default.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/council-discover.d.ts +10 -0
- package/clinkx-workflows/dist/run-summary/cards/council-discover.js +79 -0
- package/clinkx-workflows/dist/run-summary/cards/council-discover.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/generic.d.ts +2 -0
- package/clinkx-workflows/dist/run-summary/cards/generic.js +4 -0
- package/clinkx-workflows/dist/run-summary/cards/generic.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/cards/index.d.ts +6 -0
- package/clinkx-workflows/dist/run-summary/cards/index.js +17 -0
- package/clinkx-workflows/dist/run-summary/cards/index.js.map +1 -0
- package/clinkx-workflows/dist/run-summary/utils.d.ts +6 -0
- package/clinkx-workflows/dist/run-summary/utils.js +30 -0
- package/clinkx-workflows/dist/run-summary/utils.js.map +1 -0
- package/clinkx-workflows/dist/run-summary-derived.d.ts +19 -0
- package/clinkx-workflows/dist/run-summary-derived.js +100 -0
- package/clinkx-workflows/dist/run-summary-derived.js.map +1 -0
- package/clinkx-workflows/dist/run-summary.d.ts +70 -0
- package/clinkx-workflows/dist/run-summary.js +125 -0
- package/clinkx-workflows/dist/run-summary.js.map +1 -0
- package/clinkx-workflows/dist/schema.d.ts +609 -0
- package/clinkx-workflows/dist/schema.js +123 -0
- package/clinkx-workflows/dist/schema.js.map +1 -0
- package/clinkx-workflows/dist/server.d.ts +16 -0
- package/clinkx-workflows/dist/server.js +33 -0
- package/clinkx-workflows/dist/server.js.map +1 -0
- package/clinkx-workflows/dist/shutdown.d.ts +54 -0
- package/clinkx-workflows/dist/shutdown.js +120 -0
- package/clinkx-workflows/dist/shutdown.js.map +1 -0
- package/clinkx-workflows/dist/state-schema.d.ts +141 -0
- package/clinkx-workflows/dist/state-schema.js +21 -0
- package/clinkx-workflows/dist/state-schema.js.map +1 -0
- package/clinkx-workflows/dist/state.d.ts +37 -0
- package/clinkx-workflows/dist/state.js +838 -0
- package/clinkx-workflows/dist/state.js.map +1 -0
- package/clinkx-workflows/dist/template-loader.d.ts +30 -0
- package/clinkx-workflows/dist/template-loader.js +77 -0
- package/clinkx-workflows/dist/template-loader.js.map +1 -0
- package/clinkx-workflows/dist/template.d.ts +54 -0
- package/clinkx-workflows/dist/template.js +128 -0
- package/clinkx-workflows/dist/template.js.map +1 -0
- package/clinkx-workflows/dist/transport.d.ts +91 -0
- package/clinkx-workflows/dist/transport.js +249 -0
- package/clinkx-workflows/dist/transport.js.map +1 -0
- package/clinkx-workflows/dist/types.d.ts +137 -0
- package/clinkx-workflows/dist/types.js +11 -0
- package/clinkx-workflows/dist/types.js.map +1 -0
- package/clinkx-workflows/dist/validators/council.d.ts +1488 -0
- package/clinkx-workflows/dist/validators/council.js +509 -0
- package/clinkx-workflows/dist/validators/council.js.map +1 -0
- package/clinkx-workflows/dist/validators/index.d.ts +40 -0
- package/clinkx-workflows/dist/validators/index.js +43 -0
- package/clinkx-workflows/dist/validators/index.js.map +1 -0
- package/clinkx-workflows/dist/workflow-receipt.d.ts +4 -0
- package/clinkx-workflows/dist/workflow-receipt.js +177 -0
- package/clinkx-workflows/dist/workflow-receipt.js.map +1 -0
- package/clinkx-workflows/dist/workflow-tools.d.ts +77 -0
- package/clinkx-workflows/dist/workflow-tools.js +1131 -0
- package/clinkx-workflows/dist/workflow-tools.js.map +1 -0
- package/clinkx-workflows/dist/workflows/council-default.d.ts +123 -0
- package/clinkx-workflows/dist/workflows/council-default.js +141 -0
- package/clinkx-workflows/dist/workflows/council-default.js.map +1 -0
- package/clinkx-workflows/dist/workflows/index.d.ts +12 -0
- package/clinkx-workflows/dist/workflows/index.js +15 -0
- package/clinkx-workflows/dist/workflows/index.js.map +1 -0
- package/conf/adapters/claude.json +13 -1
- package/conf/adapters/codex.json +11 -2
- package/conf/adapters/gemini.json +9 -0
- package/conf/adapters/glm.json +10 -0
- package/conf/adapters/hapi/claude.json +12 -2
- package/conf/adapters/hapi/codex.json +11 -2
- package/conf/adapters/hapi/gemini.json +9 -0
- package/conf/adapters/hapi/glm.json +10 -0
- package/conf/prompts/json-codereviewer.txt +6 -0
- package/conf/prompts/json-debug.txt +5 -0
- package/conf/prompts/json-default.txt +5 -0
- package/conf/prompts/json.txt +4 -1
- package/dist/config.d.ts +29 -4
- package/dist/config.js +23 -3
- package/dist/config.js.map +1 -1
- package/dist/handler.d.ts +2 -0
- package/dist/handler.js +2 -1
- package/dist/handler.js.map +1 -1
- package/dist/local-clink-backend.d.ts +30 -0
- package/dist/local-clink-backend.js +106 -0
- package/dist/local-clink-backend.js.map +1 -0
- package/dist/parsers/claude-stream-json.d.ts +1 -1
- package/dist/parsers/claude-stream-json.js +26 -8
- package/dist/parsers/claude-stream-json.js.map +1 -1
- package/dist/parsers/extract.d.ts +2 -0
- package/dist/parsers/extract.js +46 -20
- package/dist/parsers/extract.js.map +1 -1
- package/dist/pipeline.d.ts +2 -4
- package/dist/pipeline.js +246 -31
- package/dist/pipeline.js.map +1 -1
- package/dist/prompt.js +8 -1
- package/dist/prompt.js.map +1 -1
- package/dist/registry.d.ts +4 -0
- package/dist/registry.js +14 -0
- package/dist/registry.js.map +1 -1
- package/dist/result-contract.d.ts +6 -1
- package/dist/result-contract.js +10 -22
- package/dist/result-contract.js.map +1 -1
- package/dist/runner.js +59 -12
- package/dist/runner.js.map +1 -1
- package/dist/schema.d.ts +20 -0
- package/dist/schema.js +29 -2
- package/dist/schema.js.map +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.js +119 -45
- package/dist/server.js.map +1 -1
- 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
|
+
}
|