@thinkwell/conductor 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 (54) hide show
  1. package/README.md +140 -0
  2. package/dist/conductor.d.ts +219 -0
  3. package/dist/conductor.d.ts.map +1 -0
  4. package/dist/conductor.js +960 -0
  5. package/dist/conductor.js.map +1 -0
  6. package/dist/connectors/channel.d.ts +60 -0
  7. package/dist/connectors/channel.d.ts.map +1 -0
  8. package/dist/connectors/channel.js +155 -0
  9. package/dist/connectors/channel.js.map +1 -0
  10. package/dist/connectors/index.d.ts +6 -0
  11. package/dist/connectors/index.d.ts.map +1 -0
  12. package/dist/connectors/index.js +6 -0
  13. package/dist/connectors/index.js.map +1 -0
  14. package/dist/connectors/stdio.d.ts +36 -0
  15. package/dist/connectors/stdio.d.ts.map +1 -0
  16. package/dist/connectors/stdio.js +198 -0
  17. package/dist/connectors/stdio.js.map +1 -0
  18. package/dist/index.d.ts +72 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +76 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/instantiators.d.ts +129 -0
  23. package/dist/instantiators.d.ts.map +1 -0
  24. package/dist/instantiators.js +183 -0
  25. package/dist/instantiators.js.map +1 -0
  26. package/dist/logger.d.ts +121 -0
  27. package/dist/logger.d.ts.map +1 -0
  28. package/dist/logger.js +162 -0
  29. package/dist/logger.js.map +1 -0
  30. package/dist/mcp-bridge/http-listener.d.ts +35 -0
  31. package/dist/mcp-bridge/http-listener.d.ts.map +1 -0
  32. package/dist/mcp-bridge/http-listener.js +204 -0
  33. package/dist/mcp-bridge/http-listener.js.map +1 -0
  34. package/dist/mcp-bridge/index.d.ts +9 -0
  35. package/dist/mcp-bridge/index.d.ts.map +1 -0
  36. package/dist/mcp-bridge/index.js +8 -0
  37. package/dist/mcp-bridge/index.js.map +1 -0
  38. package/dist/mcp-bridge/mcp-bridge.d.ts +80 -0
  39. package/dist/mcp-bridge/mcp-bridge.d.ts.map +1 -0
  40. package/dist/mcp-bridge/mcp-bridge.js +170 -0
  41. package/dist/mcp-bridge/mcp-bridge.js.map +1 -0
  42. package/dist/mcp-bridge/types.d.ts +69 -0
  43. package/dist/mcp-bridge/types.d.ts.map +1 -0
  44. package/dist/mcp-bridge/types.js +8 -0
  45. package/dist/mcp-bridge/types.js.map +1 -0
  46. package/dist/message-queue.d.ts +46 -0
  47. package/dist/message-queue.d.ts.map +1 -0
  48. package/dist/message-queue.js +90 -0
  49. package/dist/message-queue.js.map +1 -0
  50. package/dist/types.d.ts +129 -0
  51. package/dist/types.d.ts.map +1 -0
  52. package/dist/types.js +13 -0
  53. package/dist/types.js.map +1 -0
  54. package/package.json +40 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conductor.js","sourceRoot":"","sources":["../src/conductor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * ChannelConnector - in-memory bidirectional connection
3
+ *
4
+ * This connector creates an in-memory channel for testing or for
5
+ * embedded components that run in the same process.
6
+ */
7
+ import type { ComponentConnection, ComponentConnector } from "../types.js";
8
+ /**
9
+ * A pair of connected channel endpoints.
10
+ *
11
+ * Messages sent on one end are received on the other.
12
+ */
13
+ export interface ChannelPair {
14
+ /** The "left" side of the channel */
15
+ left: ComponentConnection;
16
+ /** The "right" side of the channel */
17
+ right: ComponentConnection;
18
+ }
19
+ /**
20
+ * Create a connected pair of channel endpoints.
21
+ *
22
+ * This is useful for testing or for connecting in-process components.
23
+ */
24
+ export declare function createChannelPair(): ChannelPair;
25
+ /**
26
+ * Connector for in-memory channel connections.
27
+ *
28
+ * Each call to connect() returns a new channel pair. The "other" end
29
+ * must be retrieved via getOtherEnd() after calling connect().
30
+ */
31
+ export declare class ChannelConnector implements ComponentConnector {
32
+ private pendingOtherEnd;
33
+ connect(): Promise<ComponentConnection>;
34
+ /**
35
+ * Get the other end of the most recently created channel.
36
+ *
37
+ * This must be called after connect() to get the paired endpoint.
38
+ */
39
+ getOtherEnd(): ComponentConnection | null;
40
+ }
41
+ /**
42
+ * Handler function for an in-memory component
43
+ */
44
+ export type ComponentHandler = (connection: ComponentConnection) => Promise<void>;
45
+ /**
46
+ * Create a connector that runs a handler function in-process.
47
+ *
48
+ * This is useful for testing or for embedding simple components.
49
+ *
50
+ * @param handler - Function that handles the component side of the connection
51
+ * @returns A connector that runs the handler when connect() is called
52
+ */
53
+ export declare function inProcess(handler: ComponentHandler): ComponentConnector;
54
+ /**
55
+ * Create a simple echo component for testing.
56
+ *
57
+ * This component echoes back any request with the same params as the result.
58
+ */
59
+ export declare function echoComponent(): ComponentConnector;
60
+ //# sourceMappingURL=channel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/connectors/channel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAuF3E;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,qCAAqC;IACrC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,sCAAsC;IACtC,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,WAAW,CAQ/C;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,kBAAkB;IACzD,OAAO,CAAC,eAAe,CAAoC;IAErD,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAM7C;;;;OAIG;IACH,WAAW,IAAI,mBAAmB,GAAG,IAAI;CAK1C;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,mBAAmB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAElF;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,kBAAkB,CAWvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,kBAAkB,CAalD"}
@@ -0,0 +1,155 @@
1
+ /**
2
+ * ChannelConnector - in-memory bidirectional connection
3
+ *
4
+ * This connector creates an in-memory channel for testing or for
5
+ * embedded components that run in the same process.
6
+ */
7
+ /**
8
+ * A simple message channel that supports async iteration
9
+ */
10
+ class MessageChannel {
11
+ queue = [];
12
+ resolvers = [];
13
+ closed = false;
14
+ push(message) {
15
+ if (this.closed) {
16
+ return;
17
+ }
18
+ if (this.resolvers.length > 0) {
19
+ const resolve = this.resolvers.shift();
20
+ resolve(message);
21
+ }
22
+ else {
23
+ this.queue.push(message);
24
+ }
25
+ }
26
+ close() {
27
+ this.closed = true;
28
+ for (const resolve of this.resolvers) {
29
+ resolve(null);
30
+ }
31
+ this.resolvers = [];
32
+ }
33
+ isClosed() {
34
+ return this.closed;
35
+ }
36
+ async *[Symbol.asyncIterator]() {
37
+ while (!this.closed) {
38
+ let message;
39
+ if (this.queue.length > 0) {
40
+ message = this.queue.shift();
41
+ }
42
+ else {
43
+ message = await new Promise((resolve) => {
44
+ this.resolvers.push(resolve);
45
+ });
46
+ }
47
+ if (message === null) {
48
+ return;
49
+ }
50
+ yield message;
51
+ }
52
+ // Drain any remaining messages
53
+ while (this.queue.length > 0) {
54
+ yield this.queue.shift();
55
+ }
56
+ }
57
+ }
58
+ /**
59
+ * One side of a channel connection
60
+ */
61
+ class ChannelConnectionEnd {
62
+ sendChannel;
63
+ receiveChannel;
64
+ constructor(sendChannel, receiveChannel) {
65
+ this.sendChannel = sendChannel;
66
+ this.receiveChannel = receiveChannel;
67
+ }
68
+ send(message) {
69
+ this.sendChannel.push(message);
70
+ }
71
+ get messages() {
72
+ return this.receiveChannel;
73
+ }
74
+ async close() {
75
+ this.sendChannel.close();
76
+ this.receiveChannel.close();
77
+ }
78
+ }
79
+ /**
80
+ * Create a connected pair of channel endpoints.
81
+ *
82
+ * This is useful for testing or for connecting in-process components.
83
+ */
84
+ export function createChannelPair() {
85
+ const leftToRight = new MessageChannel();
86
+ const rightToLeft = new MessageChannel();
87
+ return {
88
+ left: new ChannelConnectionEnd(leftToRight, rightToLeft),
89
+ right: new ChannelConnectionEnd(rightToLeft, leftToRight),
90
+ };
91
+ }
92
+ /**
93
+ * Connector for in-memory channel connections.
94
+ *
95
+ * Each call to connect() returns a new channel pair. The "other" end
96
+ * must be retrieved via getOtherEnd() after calling connect().
97
+ */
98
+ export class ChannelConnector {
99
+ pendingOtherEnd = null;
100
+ async connect() {
101
+ const pair = createChannelPair();
102
+ this.pendingOtherEnd = pair.right;
103
+ return pair.left;
104
+ }
105
+ /**
106
+ * Get the other end of the most recently created channel.
107
+ *
108
+ * This must be called after connect() to get the paired endpoint.
109
+ */
110
+ getOtherEnd() {
111
+ const end = this.pendingOtherEnd;
112
+ this.pendingOtherEnd = null;
113
+ return end;
114
+ }
115
+ }
116
+ /**
117
+ * Create a connector that runs a handler function in-process.
118
+ *
119
+ * This is useful for testing or for embedding simple components.
120
+ *
121
+ * @param handler - Function that handles the component side of the connection
122
+ * @returns A connector that runs the handler when connect() is called
123
+ */
124
+ export function inProcess(handler) {
125
+ return {
126
+ async connect() {
127
+ const pair = createChannelPair();
128
+ // Start the handler on the other end (don't await it)
129
+ handler(pair.right).catch((error) => {
130
+ console.error("In-process component error:", error);
131
+ });
132
+ return pair.left;
133
+ },
134
+ };
135
+ }
136
+ /**
137
+ * Create a simple echo component for testing.
138
+ *
139
+ * This component echoes back any request with the same params as the result.
140
+ */
141
+ export function echoComponent() {
142
+ return inProcess(async (connection) => {
143
+ for await (const message of connection.messages) {
144
+ if ("method" in message && "id" in message) {
145
+ // It's a request - echo the params back as the result
146
+ connection.send({
147
+ jsonrpc: "2.0",
148
+ id: message.id,
149
+ result: message.params,
150
+ });
151
+ }
152
+ }
153
+ });
154
+ }
155
+ //# sourceMappingURL=channel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.js","sourceRoot":"","sources":["../../src/connectors/channel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Component connectors - factories for creating component connections
3
+ */
4
+ export { StdioConnector, stdio, type StdioConnectorOptions } from "./stdio.js";
5
+ export { ChannelConnector, createChannelPair, inProcess, echoComponent, type ChannelPair, type ComponentHandler, } from "./channel.js";
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAE/E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Component connectors - factories for creating component connections
3
+ */
4
+ export { StdioConnector, stdio } from "./stdio.js";
5
+ export { ChannelConnector, createChannelPair, inProcess, echoComponent, } from "./channel.js";
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/connectors/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,KAAK,EAA8B,MAAM,YAAY,CAAC;AAE/E,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,aAAa,GAGd,MAAM,cAAc,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * StdioConnector - spawns a subprocess and communicates via stdin/stdout
3
+ *
4
+ * This connector starts a child process and establishes a bidirectional
5
+ * JSON-RPC connection using newline-delimited JSON over stdio.
6
+ */
7
+ import type { ComponentConnection, ComponentConnector } from "../types.js";
8
+ /**
9
+ * Options for StdioConnector
10
+ */
11
+ export interface StdioConnectorOptions {
12
+ /** The command to execute (e.g., "claude-agent" or "/path/to/agent") */
13
+ command: string;
14
+ /** Arguments to pass to the command */
15
+ args?: string[];
16
+ /** Environment variables to set (merged with current env) */
17
+ env?: Record<string, string>;
18
+ /** Working directory for the subprocess */
19
+ cwd?: string;
20
+ }
21
+ /**
22
+ * Connector that spawns a subprocess and communicates via stdio
23
+ */
24
+ export declare class StdioConnector implements ComponentConnector {
25
+ private readonly options;
26
+ constructor(options: StdioConnectorOptions | string);
27
+ /**
28
+ * Spawn the subprocess and return a connection to it
29
+ */
30
+ connect(): Promise<ComponentConnection>;
31
+ }
32
+ /**
33
+ * Create a StdioConnector from a command string or options
34
+ */
35
+ export declare function stdio(options: StdioConnectorOptions | string): StdioConnector;
36
+ //# sourceMappingURL=stdio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.d.ts","sourceRoot":"","sources":["../../src/connectors/stdio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,6DAA6D;IAC7D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,2CAA2C;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAsHD;;GAEG;AACH,qBAAa,cAAe,YAAW,kBAAkB;IACvD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;gBAEpC,OAAO,EAAE,qBAAqB,GAAG,MAAM;IAanD;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;CAgC9C;AAuCD;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,qBAAqB,GAAG,MAAM,GAAG,cAAc,CAE7E"}
@@ -0,0 +1,198 @@
1
+ /**
2
+ * StdioConnector - spawns a subprocess and communicates via stdin/stdout
3
+ *
4
+ * This connector starts a child process and establishes a bidirectional
5
+ * JSON-RPC connection using newline-delimited JSON over stdio.
6
+ */
7
+ import { spawn } from "node:child_process";
8
+ import { createInterface } from "node:readline";
9
+ /**
10
+ * A connection to a subprocess via stdin/stdout
11
+ */
12
+ class StdioConnection {
13
+ process;
14
+ readline;
15
+ closed = false;
16
+ closingGracefully = false;
17
+ constructor(process) {
18
+ this.process = process;
19
+ if (!process.stdout || !process.stdin) {
20
+ throw new Error("Process must have stdio pipes");
21
+ }
22
+ // Set up readline for reading newline-delimited JSON
23
+ this.readline = createInterface({
24
+ input: process.stdout,
25
+ crlfDelay: Infinity,
26
+ });
27
+ // Handle process exit
28
+ process.on("exit", (code, signal) => {
29
+ this.closed = true;
30
+ if (code !== 0 && code !== null) {
31
+ console.error(`Process exited with code ${code}`);
32
+ }
33
+ // Only log signal if it wasn't an expected graceful shutdown
34
+ if (signal && !this.closingGracefully) {
35
+ console.error(`Process killed by signal ${signal}`);
36
+ }
37
+ });
38
+ process.on("error", (error) => {
39
+ console.error("Process error:", error);
40
+ this.closed = true;
41
+ });
42
+ }
43
+ /**
44
+ * Send a JSON-RPC message to the subprocess
45
+ */
46
+ send(message) {
47
+ if (this.closed || !this.process.stdin) {
48
+ throw new Error("Connection is closed");
49
+ }
50
+ const json = JSON.stringify(message);
51
+ this.process.stdin.write(json + "\n");
52
+ }
53
+ /**
54
+ * Async iterable of messages received from the subprocess
55
+ */
56
+ get messages() {
57
+ const readline = this.readline;
58
+ const isClosed = () => this.closed;
59
+ return {
60
+ async *[Symbol.asyncIterator]() {
61
+ for await (const line of readline) {
62
+ if (isClosed()) {
63
+ return;
64
+ }
65
+ if (!line.trim()) {
66
+ continue;
67
+ }
68
+ try {
69
+ const message = JSON.parse(line);
70
+ yield message;
71
+ }
72
+ catch (error) {
73
+ console.error("Failed to parse JSON-RPC message:", error);
74
+ console.error("Line:", line);
75
+ }
76
+ }
77
+ },
78
+ };
79
+ }
80
+ /**
81
+ * Close the connection and terminate the subprocess
82
+ */
83
+ async close() {
84
+ if (this.closed) {
85
+ return;
86
+ }
87
+ this.closed = true;
88
+ this.closingGracefully = true;
89
+ this.readline.close();
90
+ // Close stdin to signal EOF to the subprocess
91
+ this.process.stdin?.end();
92
+ // Give the process a chance to exit gracefully
93
+ await new Promise((resolve) => {
94
+ const timeout = setTimeout(() => {
95
+ // Force kill if it hasn't exited
96
+ this.process.kill("SIGKILL");
97
+ resolve();
98
+ }, 5000);
99
+ this.process.once("exit", () => {
100
+ clearTimeout(timeout);
101
+ resolve();
102
+ });
103
+ // Send SIGTERM first
104
+ this.process.kill("SIGTERM");
105
+ });
106
+ }
107
+ }
108
+ /**
109
+ * Connector that spawns a subprocess and communicates via stdio
110
+ */
111
+ export class StdioConnector {
112
+ options;
113
+ constructor(options) {
114
+ if (typeof options === "string") {
115
+ // Parse command string (split on whitespace, respecting quotes)
116
+ const parts = parseCommand(options);
117
+ this.options = {
118
+ command: parts[0],
119
+ args: parts.slice(1),
120
+ };
121
+ }
122
+ else {
123
+ this.options = options;
124
+ }
125
+ }
126
+ /**
127
+ * Spawn the subprocess and return a connection to it
128
+ */
129
+ async connect() {
130
+ const { command, args = [], env, cwd } = this.options;
131
+ const process = spawn(command, args, {
132
+ stdio: ["pipe", "pipe", "inherit"], // stdin, stdout piped; stderr inherited
133
+ env: env ? { ...globalThis.process.env, ...env } : undefined,
134
+ cwd,
135
+ });
136
+ // Wait for the process to spawn successfully
137
+ await new Promise((resolve, reject) => {
138
+ const onSpawn = () => {
139
+ cleanup();
140
+ resolve();
141
+ };
142
+ const onError = (error) => {
143
+ cleanup();
144
+ reject(error);
145
+ };
146
+ const cleanup = () => {
147
+ process.removeListener("spawn", onSpawn);
148
+ process.removeListener("error", onError);
149
+ };
150
+ process.once("spawn", onSpawn);
151
+ process.once("error", onError);
152
+ });
153
+ return new StdioConnection(process);
154
+ }
155
+ }
156
+ /**
157
+ * Parse a command string into command and arguments.
158
+ * Handles quoted strings.
159
+ */
160
+ function parseCommand(command) {
161
+ const parts = [];
162
+ let current = "";
163
+ let inQuote = null;
164
+ for (let i = 0; i < command.length; i++) {
165
+ const char = command[i];
166
+ if (inQuote) {
167
+ if (char === inQuote) {
168
+ inQuote = null;
169
+ }
170
+ else {
171
+ current += char;
172
+ }
173
+ }
174
+ else if (char === '"' || char === "'") {
175
+ inQuote = char;
176
+ }
177
+ else if (char === " " || char === "\t") {
178
+ if (current) {
179
+ parts.push(current);
180
+ current = "";
181
+ }
182
+ }
183
+ else {
184
+ current += char;
185
+ }
186
+ }
187
+ if (current) {
188
+ parts.push(current);
189
+ }
190
+ return parts;
191
+ }
192
+ /**
193
+ * Create a StdioConnector from a command string or options
194
+ */
195
+ export function stdio(options) {
196
+ return new StdioConnector(options);
197
+ }
198
+ //# sourceMappingURL=stdio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stdio.js","sourceRoot":"","sources":["../../src/connectors/stdio.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAuC,MAAM,eAAe,CAAC;AAkBrF;;GAEG;AACH,MAAM,eAAe;IACF,OAAO,CAAe;IACtB,QAAQ,CAAoB;IACrC,MAAM,GAAG,KAAK,CAAC;IACf,iBAAiB,GAAG,KAAK,CAAC;IAElC,YAAY,OAAqB;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,qDAAqD;QACrD,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAC;YAC9B,KAAK,EAAE,OAAO,CAAC,MAAM;YACrB,SAAS,EAAE,QAAQ;SACpB,CAAC,CAAC;QAEH,sBAAsB;QACtB,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;YACnB,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAChC,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,6DAA6D;YAC7D,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACtC,OAAO,CAAC,KAAK,CAAC,4BAA4B,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,OAAuB;QAC1B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;QAEnC,OAAO;YACL,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC3B,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAClC,IAAI,QAAQ,EAAE,EAAE,CAAC;wBACf,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;wBACjB,SAAS;oBACX,CAAC;oBAED,IAAI,CAAC;wBACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAmB,CAAC;wBACnD,MAAM,OAAO,CAAC;oBAChB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;wBAC1D,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAEtB,8CAA8C;QAC9C,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC;QAE1B,+CAA+C;QAC/C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC9B,iCAAiC;gBACjC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,IAAI,CAAC,CAAC;YAET,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;gBAC7B,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,qBAAqB;YACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,cAAc;IACR,OAAO,CAAwB;IAEhD,YAAY,OAAuC;QACjD,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,gEAAgE;YAChE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,OAAO,GAAG;gBACb,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBACjB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aACrB,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAEtD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE;YACnC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,wCAAwC;YAC5E,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS;YAC5D,GAAG;SACJ,CAAC,CAAC;QAEH,6CAA6C;QAC7C,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;gBAC/B,OAAO,EAAE,CAAC;gBACV,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACzC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3C,CAAC,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACF;AAED;;;GAGG;AACH,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,OAAO,GAAkB,IAAI,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrB,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACxC,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;aAAM,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACzC,IAAI,OAAO,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACpB,OAAO,GAAG,EAAE,CAAC;YACf,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,OAAuC;IAC3D,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * @thinkwell/conductor - TypeScript conductor for ACP proxy chains
3
+ *
4
+ * The conductor orchestrates message routing between clients, proxies, and agents.
5
+ * It sits between every component, managing process lifecycle and message flow.
6
+ *
7
+ * ## Quick Start
8
+ *
9
+ * ```typescript
10
+ * import { Conductor, fromCommands, createChannelPair } from '@thinkwell/conductor';
11
+ *
12
+ * // Create a conductor that spawns an agent subprocess
13
+ * const conductor = new Conductor({
14
+ * instantiator: fromCommands(['my-agent']),
15
+ * });
16
+ *
17
+ * // Connect via a channel (for testing) or stdio (for production)
18
+ * const [clientEnd, conductorEnd] = createChannelPair();
19
+ * await conductor.connect(conductorEnd);
20
+ * ```
21
+ *
22
+ * ## Logging
23
+ *
24
+ * Enable logging to see what the conductor is doing:
25
+ *
26
+ * ```typescript
27
+ * const conductor = new Conductor({
28
+ * instantiator: fromCommands(['my-agent']),
29
+ * logging: {
30
+ * level: 'debug', // 'error' | 'warn' | 'info' | 'debug' | 'trace'
31
+ * name: 'my-app',
32
+ * },
33
+ * });
34
+ * ```
35
+ *
36
+ * ## JSONL Tracing
37
+ *
38
+ * Write all messages to a JSONL file for debugging:
39
+ *
40
+ * ```typescript
41
+ * const conductor = new Conductor({
42
+ * instantiator: fromCommands(['my-agent']),
43
+ * trace: {
44
+ * path: '/tmp/conductor-trace.jsonl',
45
+ * },
46
+ * });
47
+ * ```
48
+ *
49
+ * ## Architecture
50
+ *
51
+ * The conductor uses a central message queue to preserve ordering:
52
+ *
53
+ * ```
54
+ * Client ←→ Conductor ←→ [Proxy 0] ←→ [Proxy 1] ←→ ... ←→ Agent
55
+ * ```
56
+ *
57
+ * All messages flow through the conductor's event loop, ensuring that
58
+ * responses never overtake notifications.
59
+ *
60
+ * @module
61
+ */
62
+ export { Conductor, type ConductorConfig } from "./conductor.js";
63
+ export { createLogger, createNoopLogger, getLogger, setLogger, type Logger, type LoggerOptions, type LogLevel, type LogEntry, type TraceOptions, type TraceEntry, } from "./logger.js";
64
+ export { fromCommands, fromConnectors, dynamic, staticInstantiator, type CommandSpec, type CommandOptions, type StaticInstantiatorConfig, type DynamicInstantiatorFactory, } from "./instantiators.js";
65
+ export type { RoleId, SourceIndex, ConductorMessage, ComponentConnection, ComponentConnector, InitializeRequest, InstantiatedComponents, ComponentInstantiator, } from "./types.js";
66
+ export { ROLE_COUNTERPART } from "./types.js";
67
+ export { MessageQueue } from "./message-queue.js";
68
+ export { StdioConnector, stdio, ChannelConnector, createChannelPair, inProcess, echoComponent, type StdioConnectorOptions, type ChannelPair, type ComponentHandler, } from "./connectors/index.js";
69
+ export { McpBridge, createHttpListener, type McpBridgeOptions, type HttpListener, type HttpListenerOptions, type McpServerSpec, type TransformedMcpServer, type McpBridgeListener, type McpBridgeConnection, type McpBridgeMessage, } from "./mcp-bridge/index.js";
70
+ export type { JsonRpcMessage, JsonRpcRequest, JsonRpcNotification, JsonRpcResponse, JsonRpcError, JsonRpcId, Dispatch, Responder, RequestDispatch, NotificationDispatch, ResponseDispatch, } from "@thinkwell/protocol";
71
+ export { isJsonRpcRequest, isJsonRpcNotification, isJsonRpcResponse, createRequest, createNotification, createSuccessResponse, createErrorResponse, createResponder, } from "@thinkwell/protocol";
72
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AAGH,OAAO,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,YAAY,EACjB,KAAK,UAAU,GAChB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,OAAO,EACP,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,GAChC,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGlD,OAAO,EACL,cAAc,EACd,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,SAAS,EACT,kBAAkB,EAClB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACtB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,GAChB,MAAM,qBAAqB,CAAC"}