thinkwell 0.5.5 → 0.5.6

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 (44) hide show
  1. package/dist/agent.d.ts.map +1 -1
  2. package/dist/agent.js +207 -279
  3. package/dist/agent.js.map +1 -1
  4. package/dist/build.js +44 -98
  5. package/dist/cli/build.js +92 -227
  6. package/dist/cli/bundle.js +570 -1136
  7. package/dist/cli/check.js +125 -214
  8. package/dist/cli/commands.js +63 -177
  9. package/dist/cli/compiler-host.js +81 -190
  10. package/dist/cli/dependency-check.js +125 -269
  11. package/dist/cli/dependency-errors.js +12 -84
  12. package/dist/cli/fmt.js +1 -13
  13. package/dist/cli/init-command.js +21 -68
  14. package/dist/cli/init.js +90 -220
  15. package/dist/cli/loader.js +95 -361
  16. package/dist/cli/new-command.js +25 -73
  17. package/dist/cli/package-manager.js +50 -117
  18. package/dist/cli/schema.js +89 -245
  19. package/dist/cli/workspace.js +92 -226
  20. package/dist/connectors/index.js +1 -7
  21. package/dist/generated/features.d.ts +5 -0
  22. package/dist/generated/features.d.ts.map +1 -0
  23. package/dist/generated/features.js +4 -0
  24. package/dist/generated/features.js.map +1 -0
  25. package/dist/index.js +0 -5
  26. package/dist/schema.js +3 -36
  27. package/dist/session.js +50 -82
  28. package/dist/think-builder.d.ts.map +1 -1
  29. package/dist/think-builder.js +269 -370
  30. package/dist/think-builder.js.map +1 -1
  31. package/dist/thought-event.d.ts +1 -0
  32. package/dist/thought-event.d.ts.map +1 -1
  33. package/dist/thought-event.js +0 -1
  34. package/dist/thought-stream.js +60 -96
  35. package/dist-pkg/acp.cjs +13385 -1876
  36. package/dist-pkg/cli-build.cjs +171 -369
  37. package/dist-pkg/cli-bundle.cjs +289 -690
  38. package/dist-pkg/cli-check.cjs +202 -415
  39. package/dist-pkg/cli-dependency-check.cjs +39 -82
  40. package/dist-pkg/cli-dependency-errors.cjs +9 -41
  41. package/dist-pkg/cli-loader.cjs +90 -173
  42. package/dist-pkg/protocol.cjs +2 -8
  43. package/dist-pkg/thinkwell.cjs +876 -1842
  44. package/package.json +7 -6
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGpB,KAAK,mBAAmB,EAMzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EAOV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,IAAI,kBAAkB,EACrC,YAAY,IAAI,eAAe,EAChC,MAAM,0BAA0B,CAAC;AAElC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAcvF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,oBAAoB,CAAC;IACjC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,WAAW,KAAK;IACpB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1D;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAgJD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAW/E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,GAAG,IAAI,CAYtF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CA4D1F;AAkDD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACpF,wBAAsB,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,oBAAoB,EAGpB,KAAK,mBAAmB,EAMzB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,SAAS,EAOV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,EACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClF,OAAO,KAAK,EACV,eAAe,IAAI,kBAAkB,EACrC,YAAY,IAAI,eAAe,EAChC,MAAM,0BAA0B,CAAC;AAIlC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;AAcvF;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,SAAS,CAAC;IACrB,UAAU,EAAE,oBAAoB,CAAC;IACjC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC7C,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,MAAM,WAAW,KAAK;IACpB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,aAAa,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1D;;;;OAIG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AA2JD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAW/E;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,kBAAkB,GAAG,WAAW,GAAG,IAAI,CAYtF;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,mBAAmB,GAAG,YAAY,GAAG,IAAI,CAmE1F;AAkDD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AACpF,wBAAsB,IAAI,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC"}
package/dist/agent.js CHANGED
@@ -1,303 +1,231 @@
1
- import { ClientSideConnection, } from "@agentclientprotocol/sdk";
2
- import { Conductor, fromCommands, createChannelPair, } from "@thinkwell/conductor";
3
- import { McpOverAcpHandler, } from "@thinkwell/acp";
1
+ import { ClientSideConnection } from "@agentclientprotocol/sdk";
2
+ import { Conductor, fromCommands, createChannelPair } from "@thinkwell/conductor";
3
+ import { McpOverAcpHandler } from "@thinkwell/acp";
4
+ import { features } from "./generated/features.js";
4
5
  import { createPlan } from "./think-builder.js";
5
6
  import { Session } from "./session.js";
6
- /**
7
- * Maps agent names to their spawn commands.
8
- */
7
+ import { appendFileSync } from "node:fs";
8
+ import { join } from "node:path";
9
9
  const AGENT_COMMANDS = {
10
- claude: "npx -y @zed-industries/claude-agent-acp",
11
- codex: "npx -y @zed-industries/codex-acp",
12
- gemini: "npx -y @google/gemini-cli --experimental-acp",
13
- kiro: "kiro-cli acp",
14
- opencode: "opencode acp",
15
- auggie: "auggie --acp",
16
- };
17
- /** Symbol used to prevent external construction of AgentImpl. */
18
- const AGENT_KEY = Symbol("Agent");
19
- /**
20
- * @internal
21
- */
10
+ claude: "npx -y @zed-industries/claude-agent-acp",
11
+ codex: "npx -y @zed-industries/codex-acp",
12
+ gemini: "npx -y @google/gemini-cli --experimental-acp",
13
+ kiro: "kiro-cli acp",
14
+ opencode: "opencode acp",
15
+ auggie: "auggie --acp"
16
+ }, AGENT_KEY = /* @__PURE__ */ Symbol("Agent");
22
17
  class AgentImpl {
23
- _conn;
24
- constructor(key, conn) {
25
- if (key !== AGENT_KEY) {
26
- throw new Error("Agent cannot be constructed directly. Use open() instead.");
27
- }
28
- this._conn = conn;
29
- }
30
- think(schema) {
31
- return createPlan(this._conn, schema);
32
- }
33
- async createSession(options) {
34
- await this._initialize();
35
- const request = {
36
- cwd: options?.cwd ?? process.cwd(),
37
- mcpServers: [],
38
- };
39
- const response = await this._conn.connection.newSession(request);
40
- return new Session(this._conn, response.sessionId, options);
41
- }
42
- async close() {
43
- await this._conn.conductor.shutdown();
44
- try {
45
- await this._conn.conductorPromise;
46
- }
47
- catch (error) {
48
- // Conductor errors are already logged, just ensure we don't throw
49
- console.error('[Agent.close] Conductor promise error:', error);
50
- }
51
- }
52
- async _initialize() {
53
- if (this._conn.initialized)
54
- return;
55
- await this._conn.connection.initialize({
56
- protocolVersion: 1,
57
- clientCapabilities: {},
58
- });
59
- this._conn.initialized = true;
18
+ _conn;
19
+ constructor(key, conn) {
20
+ if (key !== AGENT_KEY)
21
+ throw new Error("Agent cannot be constructed directly. Use open() instead.");
22
+ this._conn = conn;
23
+ }
24
+ think(schema) {
25
+ return createPlan(this._conn, schema);
26
+ }
27
+ async createSession(options) {
28
+ await this._initialize();
29
+ const request = {
30
+ cwd: options?.cwd ?? process.cwd(),
31
+ mcpServers: []
32
+ }, response = await this._conn.connection.newSession(request);
33
+ return new Session(this._conn, response.sessionId, options);
34
+ }
35
+ async close() {
36
+ await this._conn.conductor.shutdown();
37
+ try {
38
+ await this._conn.conductorPromise;
39
+ } catch (error) {
40
+ console.error("[Agent.close] Conductor promise error:", error);
60
41
  }
42
+ }
43
+ async _initialize() {
44
+ this._conn.initialized || (await this._conn.connection.initialize({
45
+ protocolVersion: 1,
46
+ clientCapabilities: {}
47
+ }), this._conn.initialized = !0);
48
+ }
61
49
  }
62
- /**
63
- * Convert a ComponentConnection to the SDK's Stream interface.
64
- */
65
50
  function componentConnectionToStream(connection) {
66
- // Create a ReadableStream from the async iterable
67
- const readable = new ReadableStream({
68
- async start(controller) {
69
- try {
70
- for await (const message of connection.messages) {
71
- controller.enqueue(message);
72
- }
73
- controller.close();
74
- }
75
- catch (error) {
76
- controller.error(error);
77
- }
78
- },
79
- });
80
- // Create a WritableStream that sends to the connection
81
- const writable = new WritableStream({
82
- write(message) {
83
- connection.send(message);
84
- },
85
- close() {
86
- connection.close();
87
- },
88
- });
89
- return { readable, writable };
51
+ const readable = new ReadableStream({
52
+ async start(controller) {
53
+ try {
54
+ for await (const message of connection.messages)
55
+ controller.enqueue(message);
56
+ controller.close();
57
+ } catch (error) {
58
+ controller.error(error);
59
+ }
60
+ }
61
+ }), writable = new WritableStream({
62
+ write(message) {
63
+ connection.send(message);
64
+ },
65
+ close() {
66
+ connection.close();
67
+ }
68
+ });
69
+ return { readable, writable };
90
70
  }
91
- /**
92
- * Create a Client implementation that handles incoming agent requests
93
- */
94
71
  function createClient(conn, mcpHandler) {
95
- return {
96
- sessionUpdate(notification) {
97
- const { sessionId } = notification;
98
- const handler = conn.sessionHandlers.get(sessionId);
99
- if (!handler) {
100
- console.error(`No handler for session: ${sessionId}`);
101
- return Promise.resolve();
102
- }
103
- const update = convertNotification(notification);
104
- if (update) {
105
- handler.pushUpdate(update);
106
- }
107
- return Promise.resolve();
108
- },
109
- requestPermission(request) {
110
- const firstOption = request.options[0];
111
- return Promise.resolve({
112
- outcome: {
113
- outcome: "selected",
114
- optionId: firstOption?.optionId ?? "approve",
115
- },
116
- });
117
- },
118
- async extMethod(method, params) {
119
- if (mcpHandler.isMcpRequest(method)) {
120
- const result = await mcpHandler.routeRequest(method, params);
121
- return result ?? {};
122
- }
123
- throw new Error(`Unknown extension method: ${method}`);
124
- },
125
- async extNotification(method, params) {
126
- if (mcpHandler.isMcpRequest(method)) {
127
- await mcpHandler.routeRequest(method, params);
128
- }
129
- },
130
- };
72
+ return {
73
+ sessionUpdate(notification) {
74
+ const { sessionId } = notification, handler = conn.sessionHandlers.get(sessionId);
75
+ if (!handler)
76
+ return console.error(`No handler for session: ${sessionId}`), Promise.resolve();
77
+ const update = convertNotification(notification);
78
+ return update && handler.pushUpdate(update), Promise.resolve();
79
+ },
80
+ requestPermission(request) {
81
+ const response = {
82
+ outcome: {
83
+ outcome: "selected",
84
+ optionId: request.options[0]?.optionId ?? "approve"
85
+ }
86
+ };
87
+ if (features.LOG_PERMISSIONS) {
88
+ const logDir = process.env.THINKWELL_LOG_DIR ?? process.cwd(), logPath = join(logDir, "permissions.ndjson"), record = {
89
+ timestamp: (/* @__PURE__ */ new Date()).toISOString(),
90
+ request,
91
+ response
92
+ };
93
+ appendFileSync(logPath, JSON.stringify(record) + `
94
+ `);
95
+ }
96
+ return Promise.resolve(response);
97
+ },
98
+ async extMethod(method, params) {
99
+ if (mcpHandler.isMcpRequest(method))
100
+ return await mcpHandler.routeRequest(method, params) ?? {};
101
+ throw new Error(`Unknown extension method: ${method}`);
102
+ },
103
+ async extNotification(method, params) {
104
+ mcpHandler.isMcpRequest(method) && await mcpHandler.routeRequest(method, params);
105
+ }
106
+ };
131
107
  }
132
- /**
133
- * Convert an ACP ContentBlock to a Thinkwell ContentBlock, or null if unsupported.
134
- * @internal Exported for testing.
135
- */
136
108
  export function convertContentBlock(block) {
137
- switch (block.type) {
138
- case "text":
139
- return { type: "text", text: block.text };
140
- case "image":
141
- return { type: "image", data: block.data, mimeType: block.mimeType };
142
- case "resource_link":
143
- return { type: "resource_link", uri: block.uri, name: block.name ?? undefined };
144
- default:
145
- return null;
146
- }
109
+ switch (block.type) {
110
+ case "text":
111
+ return { type: "text", text: block.text };
112
+ case "image":
113
+ return { type: "image", data: block.data, mimeType: block.mimeType };
114
+ case "resource_link":
115
+ return { type: "resource_link", uri: block.uri, name: block.name ?? void 0 };
116
+ default:
117
+ return null;
118
+ }
147
119
  }
148
- /**
149
- * Convert ACP ToolCallContent to Thinkwell ToolContent, or null if unsupported.
150
- * @internal Exported for testing.
151
- */
152
120
  export function convertToolCallContent(content) {
153
- switch (content.type) {
154
- case "diff":
155
- return { type: "diff", path: content.path, oldText: content.oldText ?? "", newText: content.newText };
156
- case "terminal":
157
- return { type: "terminal", terminalId: content.terminalId };
158
- case "content": {
159
- const block = convertContentBlock(content.content);
160
- if (!block)
161
- return null;
162
- return { type: "content", content: block };
163
- }
121
+ switch (content.type) {
122
+ case "diff":
123
+ return { type: "diff", path: content.path, oldText: content.oldText ?? "", newText: content.newText };
124
+ case "terminal":
125
+ return { type: "terminal", terminalId: content.terminalId };
126
+ case "content": {
127
+ const block = convertContentBlock(content.content);
128
+ return block ? { type: "content", content: block } : null;
164
129
  }
130
+ }
165
131
  }
166
- /**
167
- * Convert ACP notification to ThoughtEvent.
168
- * @internal Exported for testing.
169
- */
170
132
  export function convertNotification(notification) {
171
- const { update } = notification;
172
- switch (update.sessionUpdate) {
173
- case "agent_thought_chunk": {
174
- const content = update.content;
175
- if (content.type === "text") {
176
- return { type: "thought", text: content.text };
177
- }
178
- break;
179
- }
180
- case "agent_message_chunk": {
181
- const content = update.content;
182
- if (content.type === "text") {
183
- return { type: "message", text: content.text };
184
- }
185
- break;
186
- }
187
- case "tool_call": {
188
- return {
189
- type: "tool_start",
190
- id: update.toolCallId,
191
- title: update.title,
192
- kind: update.kind,
193
- };
194
- }
195
- case "tool_call_update": {
196
- const status = update.status ?? "in_progress";
197
- if (status === "completed" || status === "failed") {
198
- return { type: "tool_done", id: update.toolCallId, status };
199
- }
200
- return {
201
- type: "tool_update",
202
- id: update.toolCallId,
203
- status,
204
- content: update.content?.map(convertToolCallContent).filter((c) => c !== null),
205
- };
206
- }
207
- case "plan": {
208
- return {
209
- type: "plan",
210
- entries: update.entries.map((e) => ({
211
- content: e.content,
212
- status: e.status,
213
- priority: e.priority,
214
- })),
215
- };
216
- }
217
- case "user_message_chunk":
218
- case "available_commands_update":
219
- case "current_mode_update":
220
- break;
133
+ const { update } = notification;
134
+ switch (update.sessionUpdate) {
135
+ case "agent_thought_chunk": {
136
+ const content = update.content;
137
+ if (content.type === "text")
138
+ return { type: "thought", text: content.text };
139
+ break;
140
+ }
141
+ case "agent_message_chunk": {
142
+ const content = update.content;
143
+ if (content.type === "text")
144
+ return { type: "message", text: content.text };
145
+ break;
221
146
  }
222
- return null;
147
+ case "tool_call": {
148
+ const event = {
149
+ type: "tool_start",
150
+ id: update.toolCallId,
151
+ title: update.title,
152
+ kind: update.kind
153
+ };
154
+ return update.rawInput !== void 0 && (event.input = update.rawInput), event;
155
+ }
156
+ case "tool_call_update": {
157
+ const status = update.status ?? "in_progress";
158
+ return status === "completed" || status === "failed" ? { type: "tool_done", id: update.toolCallId, status } : {
159
+ type: "tool_update",
160
+ id: update.toolCallId,
161
+ status,
162
+ content: update.content?.map(convertToolCallContent).filter((c) => c !== null)
163
+ };
164
+ }
165
+ case "plan":
166
+ return {
167
+ type: "plan",
168
+ entries: update.entries.map((e) => ({
169
+ content: e.content,
170
+ status: e.status,
171
+ priority: e.priority
172
+ }))
173
+ };
174
+ case "user_message_chunk":
175
+ case "available_commands_update":
176
+ case "current_mode_update":
177
+ case "config_option_update":
178
+ case "session_info_update":
179
+ case "usage_update":
180
+ break;
181
+ }
182
+ return null;
223
183
  }
224
- /**
225
- * Parse a command string into a CommandSpec with env vars attached.
226
- */
227
184
  function parseCommandWithEnv(command, env) {
228
- const parts = command.split(/\s+/);
229
- return {
230
- command: parts[0],
231
- args: parts.slice(1),
232
- env,
233
- };
185
+ const parts = command.split(/\s+/);
186
+ return {
187
+ command: parts[0],
188
+ args: parts.slice(1),
189
+ env
190
+ };
234
191
  }
235
- /**
236
- * Resolve the agent command string from the arguments to `open()`,
237
- * applying environment variable overrides.
238
- */
239
192
  function resolveCommand(nameOrOptions, options) {
240
- // Environment variable overrides take precedence
241
- const envCmd = process.env.THINKWELL_AGENT_CMD;
242
- const envAgent = process.env.THINKWELL_AGENT;
243
- if (envCmd) {
244
- const opts = typeof nameOrOptions === "string" ? options : nameOrOptions;
245
- return { command: envCmd, options: opts };
246
- }
247
- if (envAgent) {
248
- if (!(envAgent in AGENT_COMMANDS)) {
249
- throw new Error(`Unknown agent name in $THINKWELL_AGENT: '${envAgent}'. ` +
250
- `Valid names: ${Object.keys(AGENT_COMMANDS).join(", ")}`);
251
- }
252
- const opts = typeof nameOrOptions === "string" ? options : nameOrOptions;
253
- return { command: AGENT_COMMANDS[envAgent], options: opts };
254
- }
255
- // No env override — resolve from arguments
256
- if (typeof nameOrOptions === "string") {
257
- return { command: AGENT_COMMANDS[nameOrOptions], options };
258
- }
259
- return { command: nameOrOptions.cmd, options: nameOrOptions };
193
+ const envCmd = process.env.THINKWELL_AGENT_CMD, envAgent = process.env.THINKWELL_AGENT;
194
+ if (envCmd)
195
+ return { command: envCmd, options: typeof nameOrOptions == "string" ? options : nameOrOptions };
196
+ if (envAgent) {
197
+ if (!(envAgent in AGENT_COMMANDS))
198
+ throw new Error(`Unknown agent name in $THINKWELL_AGENT: '${envAgent}'. Valid names: ${Object.keys(AGENT_COMMANDS).join(", ")}`);
199
+ const opts = typeof nameOrOptions == "string" ? options : nameOrOptions;
200
+ return { command: AGENT_COMMANDS[envAgent], options: opts };
201
+ }
202
+ return typeof nameOrOptions == "string" ? { command: AGENT_COMMANDS[nameOrOptions], options } : { command: nameOrOptions.cmd, options: nameOrOptions };
260
203
  }
261
204
  export async function open(nameOrOptions, maybeOptions) {
262
- const { command, options } = resolveCommand(nameOrOptions, maybeOptions);
263
- // When env is provided, we need to pass a CommandOptions object.
264
- // Otherwise a plain string works (fromCommands parses it internally).
265
- const commandSpec = options?.env
266
- ? parseCommandWithEnv(command, options.env)
267
- : command;
268
- const conductor = new Conductor({
269
- instantiator: fromCommands([commandSpec]),
270
- });
271
- // Create an in-memory channel pair for client ↔ conductor communication
272
- const pair = createChannelPair();
273
- // Create a Stream adapter from the ComponentConnection
274
- const stream = componentConnectionToStream(pair.left);
275
- // Create the MCP handler
276
- const mcpHandler = new McpOverAcpHandler();
277
- // Build the connection state
278
- const conn = {
279
- conductor,
280
- connection: null, // Set below after creating the client
281
- mcpHandler,
282
- sessionHandlers: new Map(),
283
- initialized: false,
284
- conductorPromise: null, // Set below after starting the conductor
285
- };
286
- // Create the ACP client connection
287
- const clientConnection = new ClientSideConnection((_agent) => createClient(conn, mcpHandler), stream);
288
- conn.connection = clientConnection;
289
- // Create a connector that provides the other end of the channel
290
- const clientConnector = {
291
- async connect() {
292
- return pair.right;
293
- },
294
- };
295
- // Start the conductor's message loop in the background
296
- conn.conductorPromise = conductor.connect(clientConnector);
297
- // Handle conductor errors/completion
298
- conn.conductorPromise.catch((error) => {
299
- console.error("Conductor error:", error);
300
- });
301
- return new AgentImpl(AGENT_KEY, conn);
205
+ const { command, options } = resolveCommand(nameOrOptions, maybeOptions), agentEnv = {
206
+ // Strip CLAUDECODE to prevent the nested-session guard from blocking
207
+ // the agent's Claude Code subprocess when thinkwell runs inside Claude Code.
208
+ ...features.STRIP_CLAUDECODE_ENV ? { CLAUDECODE: "" } : {},
209
+ ...options?.env
210
+ }, commandSpec = parseCommandWithEnv(command, agentEnv), conductor = new Conductor({
211
+ instantiator: fromCommands([commandSpec])
212
+ }), pair = createChannelPair(), stream = componentConnectionToStream(pair.left), mcpHandler = new McpOverAcpHandler(), conn = {
213
+ conductor,
214
+ connection: null,
215
+ // Set below after creating the client
216
+ mcpHandler,
217
+ sessionHandlers: /* @__PURE__ */ new Map(),
218
+ initialized: !1,
219
+ conductorPromise: null
220
+ // Set below after starting the conductor
221
+ }, clientConnection = new ClientSideConnection((_agent) => createClient(conn, mcpHandler), stream);
222
+ conn.connection = clientConnection;
223
+ const clientConnector = {
224
+ async connect() {
225
+ return pair.right;
226
+ }
227
+ };
228
+ return conn.conductorPromise = conductor.connect(clientConnector), conn.conductorPromise.catch((error) => {
229
+ console.error("Conductor error:", error);
230
+ }), new AgentImpl(AGENT_KEY, conn);
302
231
  }
303
- //# sourceMappingURL=agent.js.map
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}