clinkx 0.1.10 → 0.2.0

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 (42) hide show
  1. package/conf/adapters/claude.json +13 -1
  2. package/conf/adapters/codex.json +9 -0
  3. package/conf/adapters/gemini.json +9 -0
  4. package/conf/adapters/glm.json +10 -0
  5. package/conf/adapters/hapi/claude.json +12 -2
  6. package/conf/adapters/hapi/codex.json +9 -0
  7. package/conf/adapters/hapi/gemini.json +9 -0
  8. package/conf/adapters/hapi/glm.json +10 -0
  9. package/conf/prompts/json-codereviewer.txt +6 -0
  10. package/conf/prompts/json-debug.txt +5 -0
  11. package/conf/prompts/json-default.txt +5 -0
  12. package/conf/prompts/json.txt +4 -1
  13. package/dist/config.d.ts +24 -4
  14. package/dist/config.js +6 -3
  15. package/dist/config.js.map +1 -1
  16. package/dist/handler.d.ts +2 -0
  17. package/dist/handler.js +2 -1
  18. package/dist/handler.js.map +1 -1
  19. package/dist/local-clink-backend.d.ts +30 -0
  20. package/dist/local-clink-backend.js +106 -0
  21. package/dist/local-clink-backend.js.map +1 -0
  22. package/dist/parsers/claude-stream-json.d.ts +1 -1
  23. package/dist/parsers/claude-stream-json.js +26 -8
  24. package/dist/parsers/claude-stream-json.js.map +1 -1
  25. package/dist/parsers/extract.js +21 -4
  26. package/dist/parsers/extract.js.map +1 -1
  27. package/dist/pipeline.js +154 -24
  28. package/dist/pipeline.js.map +1 -1
  29. package/dist/prompt.js +8 -1
  30. package/dist/prompt.js.map +1 -1
  31. package/dist/registry.d.ts +4 -0
  32. package/dist/registry.js +14 -0
  33. package/dist/registry.js.map +1 -1
  34. package/dist/runner.js +16 -11
  35. package/dist/runner.js.map +1 -1
  36. package/dist/schema.d.ts +20 -0
  37. package/dist/schema.js +29 -2
  38. package/dist/schema.js.map +1 -1
  39. package/dist/server.d.ts +3 -3
  40. package/dist/server.js +119 -45
  41. package/dist/server.js.map +1 -1
  42. package/package.json +2 -1
package/dist/runner.js CHANGED
@@ -15,9 +15,8 @@ export function killAllActive() {
15
15
  }
16
16
  const DEFAULT_MAX_PROMPT_BYTES = 1_048_576; // 1 MB
17
17
  const DEFAULT_TIMEOUT_SECONDS = 600;
18
- const DEFAULT_MAX_OUTPUT_BYTES = 10_485_760; // 10 MB
18
+ const DEFAULT_MAX_CAPTURE_BYTES = 2_097_152; // 2 MB default capture retention
19
19
  const GRACE_PERIOD_MS = 5_000;
20
- const HEAD_TAIL_BYTES = 50_000; // 50 KB per head/tail segment
21
20
  const DEFAULT_IDLE_TIMEOUT_SECONDS = 0;
22
21
  const DEFAULT_IDLE_TIMEOUT_STARTUP_SECONDS = 180;
23
22
  function safeParseInt(val, fallback) {
@@ -33,8 +32,14 @@ function safeParseIntNonNeg(val, fallback) {
33
32
  return Number.isFinite(n) && n >= 0 ? n : fallback;
34
33
  }
35
34
  function createStreamCapture(maxBytes) {
36
- const headSize = Math.min(HEAD_TAIL_BYTES, Math.floor(maxBytes / 2));
37
- const tailSize = Math.min(HEAD_TAIL_BYTES, Math.floor(maxBytes / 2));
35
+ // Preserve small-budget behavior while avoiding zero-byte buffers for tiny values.
36
+ const normalizedMaxBytes = Math.max(2, maxBytes);
37
+ const headSize = normalizedMaxBytes <= 2_048
38
+ ? Math.floor(normalizedMaxBytes / 2)
39
+ : Math.max(1024, Math.floor(normalizedMaxBytes / 2));
40
+ const tailSize = normalizedMaxBytes <= 2_048
41
+ ? normalizedMaxBytes - headSize
42
+ : Math.max(1024, normalizedMaxBytes - headSize);
38
43
  const capture = {
39
44
  head: Buffer.alloc(0),
40
45
  tail: Buffer.alloc(0),
@@ -109,18 +114,18 @@ export function runSubprocess(options) {
109
114
  adapter.timeout_seconds ??
110
115
  safeParseInt(process.env["CLINKX_TIMEOUT_SECONDS"], DEFAULT_TIMEOUT_SECONDS);
111
116
  // Idle timeout resolution: RunOptions > adapter config > env var > default
112
- // Result contract guard: when enabled, CLI may write to disk with no stdout — disable idle
113
- const resultContractEnabled = adapter.result_contract.enabled;
114
- const idleTimeoutSeconds = resultContractEnabled ? 0 :
117
+ // Suppress-stdout guard: when stdout is suppressed, CLI produces no stdout — disable idle
118
+ const suppressesStdout = adapter.suppress_stdout === true;
119
+ const idleTimeoutSeconds = suppressesStdout ? 0 :
115
120
  (options.idleTimeoutSeconds ??
116
121
  adapter.idle_timeout_seconds ??
117
122
  safeParseIntNonNeg(process.env["CLINKX_IDLE_TIMEOUT_SECONDS"], DEFAULT_IDLE_TIMEOUT_SECONDS));
118
- const idleStartupSeconds = resultContractEnabled ? 0 :
123
+ const idleStartupSeconds = suppressesStdout ? 0 :
119
124
  (options.idleTimeoutStartupSeconds ??
120
125
  adapter.idle_timeout_startup_seconds ??
121
126
  safeParseIntNonNeg(process.env["CLINKX_IDLE_TIMEOUT_STARTUP_SECONDS"], DEFAULT_IDLE_TIMEOUT_STARTUP_SECONDS));
122
127
  const maxPromptBytes = safeParseInt(process.env["CLINKX_MAX_PROMPT_BYTES"], DEFAULT_MAX_PROMPT_BYTES);
123
- const maxOutputBytes = safeParseInt(process.env["CLINKX_MAX_OUTPUT_BYTES"], DEFAULT_MAX_OUTPUT_BYTES);
128
+ const maxCaptureBytes = safeParseInt(process.env["CLINKX_MAX_CAPTURE_BYTES"] ?? process.env["CLINKX_MAX_OUTPUT_BYTES"], DEFAULT_MAX_CAPTURE_BYTES);
124
129
  // Bound input size
125
130
  const promptBuf = Buffer.from(prompt, "utf-8");
126
131
  if (promptBuf.length > maxPromptBytes) {
@@ -227,8 +232,8 @@ export function runSubprocess(options) {
227
232
  }
228
233
  const stdoutCapture = adapter.suppress_stdout
229
234
  ? { capture: { head: Buffer.alloc(0), tail: Buffer.alloc(0), totalBytes: 0, truncated: false }, onData(_chunk) { } }
230
- : createStreamCapture(maxOutputBytes);
231
- const stderrCapture = createStreamCapture(maxOutputBytes);
235
+ : createStreamCapture(maxCaptureBytes);
236
+ const stderrCapture = createStreamCapture(maxCaptureBytes);
232
237
  child.stdout?.on("data", (chunk) => {
233
238
  if (chunk.length === 0)
234
239
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/schema.d.ts CHANGED
@@ -28,6 +28,22 @@ export declare const ClinkInputSchema: z.ZodObject<{
28
28
  * overrides of user adapter config.
29
29
  */
30
30
  timeout_seconds: z.ZodOptional<z.ZodNumber>;
31
+ /**
32
+ * Response size override (characters).
33
+ *
34
+ * Accepted for internal/workflow use, but not advertised in tools/list.
35
+ * This extends the frozen v1 schema for internal callers only, following
36
+ * the same hidden-field pattern established by `timeout_seconds`.
37
+ */
38
+ max_response_chars: z.ZodOptional<z.ZodNumber>;
39
+ /**
40
+ * Internal JSON enforcement flag.
41
+ *
42
+ * When true, pipeline enforces JSON validation/salvage regardless of role.
43
+ * Not advertised in tools/list — internal/workflow use only, following
44
+ * the same hidden-field pattern as timeout_seconds and max_response_chars.
45
+ */
46
+ expect_json: z.ZodOptional<z.ZodBoolean>;
31
47
  /** Enable debug metadata in response. */
32
48
  debug: z.ZodDefault<z.ZodBoolean>;
33
49
  /** Keep run artifacts after completion (requires debug=true). */
@@ -43,6 +59,8 @@ export declare const ClinkInputSchema: z.ZodObject<{
43
59
  images?: string[] | undefined;
44
60
  context?: string | undefined;
45
61
  continuation_id?: string | undefined;
62
+ max_response_chars?: number | undefined;
63
+ expect_json?: boolean | undefined;
46
64
  }, {
47
65
  prompt: string;
48
66
  timeout_seconds?: number | undefined;
@@ -52,6 +70,8 @@ export declare const ClinkInputSchema: z.ZodObject<{
52
70
  images?: string[] | undefined;
53
71
  context?: string | undefined;
54
72
  continuation_id?: string | undefined;
73
+ max_response_chars?: number | undefined;
74
+ expect_json?: boolean | undefined;
55
75
  debug?: boolean | undefined;
56
76
  debug_keep_artifacts?: boolean | undefined;
57
77
  }>;
package/dist/schema.js CHANGED
@@ -52,6 +52,30 @@ export const ClinkInputSchema = z
52
52
  .positive()
53
53
  .optional()
54
54
  .describe("Request timeout override (seconds)"),
55
+ /**
56
+ * Response size override (characters).
57
+ *
58
+ * Accepted for internal/workflow use, but not advertised in tools/list.
59
+ * This extends the frozen v1 schema for internal callers only, following
60
+ * the same hidden-field pattern established by `timeout_seconds`.
61
+ */
62
+ max_response_chars: z
63
+ .number()
64
+ .int()
65
+ .positive()
66
+ .optional()
67
+ .describe("Response size override (characters)"),
68
+ /**
69
+ * Internal JSON enforcement flag.
70
+ *
71
+ * When true, pipeline enforces JSON validation/salvage regardless of role.
72
+ * Not advertised in tools/list — internal/workflow use only, following
73
+ * the same hidden-field pattern as timeout_seconds and max_response_chars.
74
+ */
75
+ expect_json: z
76
+ .boolean()
77
+ .optional()
78
+ .describe("Internal JSON enforcement flag"),
55
79
  /** Enable debug metadata in response. */
56
80
  debug: z.boolean().default(false).describe("Include debug metadata"),
57
81
  /** Keep run artifacts after completion (requires debug=true). */
@@ -73,13 +97,16 @@ export function clinkJsonSchema() {
73
97
  $refStrategy: "none",
74
98
  });
75
99
  // Do not advertise timeout_seconds in tools/list schema.
76
- // We still accept it in the runtime zod parse for backward compatibility.
100
+ // We still accept it in the runtime zod parse for backward compatibility/internal use.
77
101
  // Note: additionalProperties: false remains in the schema, which means a client
78
- // doing outbound schema validation would reject timeout_seconds. This is acceptable
102
+ // doing outbound schema validation would reject timeout_seconds/max_response_chars.
103
+ // This is acceptable
79
104
  // because MCP clients don't validate outbound requests against the tool schema.
80
105
  const props = schema["properties"];
81
106
  if (props != null) {
82
107
  delete props["timeout_seconds"];
108
+ delete props["max_response_chars"];
109
+ delete props["expect_json"];
83
110
  }
84
111
  return schema;
85
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,6CAA6C;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAEpE,4DAA4D;IAC5D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kBAAkB,CAAC;IAE/B,oDAAoD;IACpD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,iGAAiG,CAAC;IAE9G,6DAA6D;IAC7D,mBAAmB,EAAE,CAAC;SACnB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IAEnC,kFAAkF;IAClF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E,CAC/E;IAEH,0DAA0D;IAC1D,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IAEpD;;;;;;OAMG;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC;IAEjD,yCAAyC;IACzC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAEpE,iEAAiE;IACjE,oBAAoB,EAAE,CAAC;SACpB,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,qCAAqC,CAAC;CACnD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE;QAC/C,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,MAAM;KACrB,CAA4B,CAAC;IAE9B,yDAAyD;IACzD,0EAA0E;IAC1E,gFAAgF;IAChF,oFAAoF;IACpF,gFAAgF;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAwC,CAAC;IAC1E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC;KAC9B,MAAM,CAAC;IACN,6CAA6C;IAC7C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAEpE,4DAA4D;IAC5D,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kBAAkB,CAAC;IAE/B,oDAAoD;IACpD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,OAAO,CAAC,SAAS,CAAC;SAClB,QAAQ,CAAC,iGAAiG,CAAC;IAE9G,6DAA6D;IAC7D,mBAAmB,EAAE,CAAC;SACnB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,kCAAkC,CAAC;IAE/C,4BAA4B;IAC5B,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IAEnC,kFAAkF;IAClF,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,8EAA8E,CAC/E;IAEH,0DAA0D;IAC1D,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IAEpD;;;;;;OAMG;IACH,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,oCAAoC,CAAC;IAEjD;;;;;;OAMG;IACH,kBAAkB,EAAE,CAAC;SAClB,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAElD;;;;;;OAMG;IACH,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CAAC,gCAAgC,CAAC;IAE7C,yCAAyC;IACzC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAEpE,iEAAiE;IACjE,oBAAoB,EAAE,CAAC;SACpB,OAAO,EAAE;SACT,OAAO,CAAC,KAAK,CAAC;SACd,QAAQ,CAAC,qCAAqC,CAAC;CACnD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ;;;;;GAKG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,MAAM,GAAG,eAAe,CAAC,gBAAgB,EAAE;QAC/C,MAAM,EAAE,aAAa;QACrB,YAAY,EAAE,MAAM;KACrB,CAA4B,CAAC;IAE9B,yDAAyD;IACzD,uFAAuF;IACvF,gFAAgF;IAChF,oFAAoF;IACpF,qBAAqB;IACrB,gFAAgF;IAChF,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAwC,CAAC;IAC1E,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChC,OAAO,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
package/dist/server.d.ts CHANGED
@@ -2,9 +2,9 @@ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
2
  /**
3
3
  * Create and configure the ClinkX MCP server.
4
4
  *
5
- * Registers two handlers:
6
- * - tools/list: returns the single `clink` tool with its JSON schema
7
- * - tools/call: validates + dispatches to the clink handler pipeline
5
+ * Registers unified handlers that expose:
6
+ * - clink: CLI subagent bridge (existing)
7
+ * - run_workflow, resume_workflow, list_workflows: multi-stage workflow orchestration
8
8
  *
9
9
  * Does NOT connect transport — caller is responsible for that.
10
10
  */
package/dist/server.js CHANGED
@@ -1,17 +1,21 @@
1
1
  import { Server } from "@modelcontextprotocol/sdk/server/index.js";
2
- import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
2
+ import { CallToolRequestSchema, ListToolsRequestSchema, McpError, ErrorCode, } from "@modelcontextprotocol/sdk/types.js";
3
3
  import { clinkJsonSchema } from "./schema.js";
4
4
  import { handleClink } from "./handler.js";
5
5
  import { handleToolError, CancellationError } from "./errors.js";
6
6
  import { logger } from "./logger.js";
7
7
  import { extractProgressToken } from "./progress.js";
8
8
  import { AdapterRegistry } from "./registry.js";
9
+ import { LocalClinkBackend } from "./local-clink-backend.js";
10
+ import { getWorkflowToolDefinitions, handleWorkflowToolCall, WORKFLOW_TOOL_NAMES, } from "../clinkx-workflows/dist/workflow-tools.js";
11
+ import { WorkflowCancellationError } from "../clinkx-workflows/dist/errors.js";
12
+ import { getChildConfigPath, getChildMaxResponseChars, getStateDir, getArtifactsDir, } from "../clinkx-workflows/dist/config.js";
9
13
  /**
10
14
  * Create and configure the ClinkX MCP server.
11
15
  *
12
- * Registers two handlers:
13
- * - tools/list: returns the single `clink` tool with its JSON schema
14
- * - tools/call: validates + dispatches to the clink handler pipeline
16
+ * Registers unified handlers that expose:
17
+ * - clink: CLI subagent bridge (existing)
18
+ * - run_workflow, resume_workflow, list_workflows: multi-stage workflow orchestration
15
19
  *
16
20
  * Does NOT connect transport — caller is responsible for that.
17
21
  */
@@ -20,7 +24,8 @@ export function createServer() {
20
24
  capabilities: { tools: {} },
21
25
  instructions: "ClinkX bridges requests to external CLI subagents (e.g. Gemini, Codex, Claude) " +
22
26
  "as subprocesses and returns their output. Use the clink tool to delegate tasks " +
23
- "to any configured CLI. Multiple clink calls can run in parallel for independent tasks.",
27
+ "to any configured CLI. Multiple clink calls can run in parallel for independent tasks. " +
28
+ "Use run_workflow/resume_workflow/list_workflows for multi-stage workflow orchestration.",
24
29
  });
25
30
  // Eagerly load adapter names + role names for tool description & schema enum (once, not per-request)
26
31
  let cliSuffix = "";
@@ -37,7 +42,35 @@ export function createServer() {
37
42
  catch (err) {
38
43
  logger.warn({ err }, "failed to load adapter registry for tool description");
39
44
  }
40
- // tools/list advertise the clink tool with dynamic CLI names
45
+ // Ensure workflow state/artifacts dirs are in allowed roots for the in-process
46
+ // backend path. The subprocess path (ClinkSession) injects these via
47
+ // deriveAllowedRoots() + buildChildEnv(), but LocalClinkBackend shares the
48
+ // parent's process.env — so we augment it once at startup.
49
+ const stateDir = getStateDir();
50
+ const artifactsDir = getArtifactsDir();
51
+ const existingRoots = process.env["CLINKX_ALLOWED_ROOTS"];
52
+ const baseRoots = existingRoots != null && existingRoots.length > 0
53
+ ? existingRoots
54
+ : process.cwd();
55
+ process.env["CLINKX_ALLOWED_ROOTS"] = `${baseRoots},${stateDir},${artifactsDir}`;
56
+ logger.debug({ allowed_roots: process.env["CLINKX_ALLOWED_ROOTS"] }, "augmented allowed roots with workflow state/artifacts dirs");
57
+ // Workflow options — factory creates in-process backends using the registry metadata.
58
+ // When CLINKX_WORKFLOWS_CHILD_CONFIG_PATH is set, build a workflow-specific registry
59
+ // so the in-process path uses the same adapter config the workflow state fingerprints against.
60
+ const childConfigPath = getChildConfigPath();
61
+ const workflowRegistry = childConfigPath != null
62
+ ? AdapterRegistry.loadFromPath(childConfigPath)
63
+ : undefined;
64
+ const workflowCliNames = workflowRegistry?.getAdapterNames() ?? cliNames;
65
+ const workflowRoleNames = workflowRegistry?.getAllRoleNames() ?? roleNames;
66
+ const workflowMaxResponseChars = getChildMaxResponseChars();
67
+ const workflowOptions = {
68
+ createBackend: () => new LocalClinkBackend(workflowCliNames, workflowRoleNames, {
69
+ registry: workflowRegistry,
70
+ defaultMaxResponseChars: workflowMaxResponseChars,
71
+ }),
72
+ };
73
+ // tools/list — advertise clink + workflow tools
41
74
  server.setRequestHandler(ListToolsRequestSchema, async () => {
42
75
  const schema = clinkJsonSchema();
43
76
  // Inject enum arrays into cli_name and role properties (Fix 1)
@@ -55,54 +88,95 @@ export function createServer() {
55
88
  `Role for the subagent — use "default" unless a specific role is needed. Available: ${roleEnum.join(", ")}.`;
56
89
  }
57
90
  }
91
+ // Build unified tool list: clink + workflow tools
92
+ const clinkTool = {
93
+ name: "clink",
94
+ description: "Execute a configured local CLI as a subagent and return the model's final output." +
95
+ " Multiple clink calls can run in parallel for independent tasks." +
96
+ " Pass file paths via absolute_file_paths rather than inlining content." +
97
+ cliSuffix,
98
+ inputSchema: schema,
99
+ annotations: {
100
+ // readOnlyHint: true enables MCP clients to dispatch multiple clink calls
101
+ // in parallel. Despite subprocesses potentially writing files, this matches
102
+ // PAL's behavior — the MCP spec treats annotations as hints, not contracts.
103
+ readOnlyHint: true,
104
+ },
105
+ };
106
+ const workflowTools = getWorkflowToolDefinitions();
58
107
  return {
59
- tools: [
60
- {
61
- name: "clink",
62
- description: "Execute a configured local CLI as a subagent and return the model's final output." +
63
- " Multiple clink calls can run in parallel for independent tasks." +
64
- " Pass file paths via absolute_file_paths rather than inlining content." +
65
- cliSuffix,
66
- inputSchema: schema,
67
- annotations: {
68
- // readOnlyHint: true enables MCP clients to dispatch multiple clink calls
69
- // in parallel. Despite subprocesses potentially writing files, this matches
70
- // PAL's behavior — the MCP spec treats annotations as hints, not contracts.
71
- readOnlyHint: true,
72
- },
73
- },
74
- ],
108
+ tools: [clinkTool, ...workflowTools],
75
109
  };
76
110
  });
77
- // tools/call — dispatch clink invocations with cancellation support
111
+ // tools/call — unified dispatch for clink + workflow tools
78
112
  server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
79
113
  const { name, arguments: args } = request.params;
80
- if (name !== "clink") {
81
- logger.warn({ tool: name }, "unknown tool requested");
82
- return {
83
- content: [{ type: "text", text: `Unknown tool: ${name}` }],
84
- isError: true,
85
- };
86
- }
87
114
  const progressToken = extractProgressToken(request.params);
88
- try {
89
- return await handleClink(args, {
90
- ...(extra.signal != null ? { signal: extra.signal } : {}),
91
- ...(progressToken != null
92
- ? { progress: { server, token: progressToken } }
93
- : {}),
94
- });
115
+ // Dispatch workflow tools
116
+ if (WORKFLOW_TOOL_NAMES.has(name)) {
117
+ try {
118
+ // Cast: root and workflow packages have separate SDK installations with
119
+ // nominally different Server types (private properties). At runtime they
120
+ // are API-compatible — the workflow tools only call server.notification().
121
+ const result = await handleWorkflowToolCall(server, workflowOptions, name, args ?? {}, extra.signal, progressToken);
122
+ if (result != null) {
123
+ return result;
124
+ }
125
+ // handleWorkflowToolCall matched the tool name but returned null —
126
+ // surface an explicit error instead of falling through to "Unknown tool".
127
+ return {
128
+ content: [{ type: "text", text: `Workflow tool "${String(name)}" returned no result` }],
129
+ isError: true,
130
+ };
131
+ }
132
+ catch (err) {
133
+ if (err instanceof WorkflowCancellationError) {
134
+ // MCP spec: do NOT send a response for cancelled requests.
135
+ throw err;
136
+ }
137
+ // McpError from the workflow package (separate SDK installation) must
138
+ // propagate as a proper JSON-RPC error, not be downgraded to a tool
139
+ // result with isError: true. Detect by constructor name since
140
+ // instanceof fails across package boundaries.
141
+ if (err instanceof Error &&
142
+ err.constructor.name === "McpError" &&
143
+ typeof err["code"] === "number") {
144
+ const code = err.code ?? ErrorCode.InternalError;
145
+ // Strip existing "MCP error <code>: " prefix to avoid double-prefixing
146
+ // when rewrapping across package boundaries.
147
+ const rawMessage = err.message.replace(/^MCP error -?\d+: /, "");
148
+ throw new McpError(code, rawMessage);
149
+ }
150
+ return handleToolError(err);
151
+ }
95
152
  }
96
- catch (err) {
97
- if (err instanceof CancellationError) {
98
- // MCP spec: do NOT send a response for cancelled requests.
99
- // Re-throw so the SDK handles it properly.
100
- throw err;
153
+ // Dispatch clink tool
154
+ if (name === "clink") {
155
+ try {
156
+ return await handleClink(args, {
157
+ ...(extra.signal != null ? { signal: extra.signal } : {}),
158
+ ...(progressToken != null
159
+ ? { progress: { server, token: progressToken } }
160
+ : {}),
161
+ });
162
+ }
163
+ catch (err) {
164
+ if (err instanceof CancellationError) {
165
+ // MCP spec: do NOT send a response for cancelled requests.
166
+ // Re-throw so the SDK handles it properly.
167
+ throw err;
168
+ }
169
+ // handleToolError re-throws McpError for InvalidParamsError (-32602),
170
+ // returns { isError: true } for everything else.
171
+ return handleToolError(err);
101
172
  }
102
- // handleToolError re-throws McpError for InvalidParamsError (-32602),
103
- // returns { isError: true } for everything else.
104
- return handleToolError(err);
105
173
  }
174
+ // Unknown tool
175
+ logger.warn({ tool: name }, "unknown tool requested");
176
+ return {
177
+ content: [{ type: "text", text: `Unknown tool: ${name}` }],
178
+ isError: true,
179
+ };
106
180
  });
107
181
  return server;
108
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clinkx",
3
- "version": "0.1.10",
3
+ "version": "0.2.0",
4
4
  "description": "ClinkX MCP STDIO server — CLI-to-CLI bridge tool",
5
5
  "type": "module",
6
6
  "engines": {
@@ -16,6 +16,7 @@
16
16
  ],
17
17
  "scripts": {
18
18
  "build": "tsc",
19
+ "build:all": "npm --prefix clinkx-workflows run build && npm run build",
19
20
  "start": "node dist/index.js",
20
21
  "test": "vitest run"
21
22
  },