opencode-mcp 1.0.2 → 1.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.
@@ -1,9 +1,11 @@
1
1
  import { z } from "zod";
2
- import { toolJson, toolError, formatSessionList, toolResult } from "../helpers.js";
2
+ import { toolJson, toolError, formatSessionList, toolResult, directoryParam } from "../helpers.js";
3
3
  export function registerSessionTools(server, client) {
4
- server.tool("opencode_session_list", "List all sessions", {}, async () => {
4
+ server.tool("opencode_session_list", "List all sessions", {
5
+ directory: directoryParam,
6
+ }, async ({ directory }) => {
5
7
  try {
6
- const sessions = (await client.get("/session"));
8
+ const sessions = (await client.get("/session", undefined, directory));
7
9
  return toolResult(formatSessionList(sessions));
8
10
  }
9
11
  catch (e) {
@@ -13,14 +15,15 @@ export function registerSessionTools(server, client) {
13
15
  server.tool("opencode_session_create", "Create a new session. Optionally provide a parentID to create a child session, and a title.", {
14
16
  parentID: z.string().optional().describe("Parent session ID"),
15
17
  title: z.string().optional().describe("Session title"),
16
- }, async ({ parentID, title }) => {
18
+ directory: directoryParam,
19
+ }, async ({ parentID, title, directory }) => {
17
20
  try {
18
21
  const body = {};
19
22
  if (parentID)
20
23
  body.parentID = parentID;
21
24
  if (title)
22
25
  body.title = title;
23
- return toolJson(await client.post("/session", body));
26
+ return toolJson(await client.post("/session", body, { directory }));
24
27
  }
25
28
  catch (e) {
26
29
  return toolError(e);
@@ -28,9 +31,10 @@ export function registerSessionTools(server, client) {
28
31
  });
29
32
  server.tool("opencode_session_get", "Get details of a specific session by ID", {
30
33
  id: z.string().describe("Session ID"),
31
- }, async ({ id }) => {
34
+ directory: directoryParam,
35
+ }, async ({ id, directory }) => {
32
36
  try {
33
- return toolJson(await client.get(`/session/${id}`));
37
+ return toolJson(await client.get(`/session/${id}`, undefined, directory));
34
38
  }
35
39
  catch (e) {
36
40
  return toolError(e);
@@ -38,9 +42,10 @@ export function registerSessionTools(server, client) {
38
42
  });
39
43
  server.tool("opencode_session_delete", "Delete a session and all its data", {
40
44
  id: z.string().describe("Session ID to delete"),
41
- }, async ({ id }) => {
45
+ directory: directoryParam,
46
+ }, async ({ id, directory }) => {
42
47
  try {
43
- await client.delete(`/session/${id}`);
48
+ await client.delete(`/session/${id}`, undefined, directory);
44
49
  return toolResult(`Session ${id} deleted.`);
45
50
  }
46
51
  catch (e) {
@@ -50,12 +55,13 @@ export function registerSessionTools(server, client) {
50
55
  server.tool("opencode_session_update", "Update session properties (e.g. title)", {
51
56
  id: z.string().describe("Session ID"),
52
57
  title: z.string().optional().describe("New title for the session"),
53
- }, async ({ id, title }) => {
58
+ directory: directoryParam,
59
+ }, async ({ id, title, directory }) => {
54
60
  try {
55
61
  const body = {};
56
62
  if (title !== undefined)
57
63
  body.title = title;
58
- return toolJson(await client.patch(`/session/${id}`, body));
64
+ return toolJson(await client.patch(`/session/${id}`, body, directory));
59
65
  }
60
66
  catch (e) {
61
67
  return toolError(e);
@@ -63,17 +69,20 @@ export function registerSessionTools(server, client) {
63
69
  });
64
70
  server.tool("opencode_session_children", "Get child sessions of a session", {
65
71
  id: z.string().describe("Parent session ID"),
66
- }, async ({ id }) => {
72
+ directory: directoryParam,
73
+ }, async ({ id, directory }) => {
67
74
  try {
68
- return toolJson(await client.get(`/session/${id}/children`));
75
+ return toolJson(await client.get(`/session/${id}/children`, undefined, directory));
69
76
  }
70
77
  catch (e) {
71
78
  return toolError(e);
72
79
  }
73
80
  });
74
- server.tool("opencode_session_status", "Get status for all sessions (running, idle, etc.)", {}, async () => {
81
+ server.tool("opencode_session_status", "Get status for all sessions (running, idle, etc.)", {
82
+ directory: directoryParam,
83
+ }, async ({ directory }) => {
75
84
  try {
76
- return toolJson(await client.get("/session/status"));
85
+ return toolJson(await client.get("/session/status", undefined, directory));
77
86
  }
78
87
  catch (e) {
79
88
  return toolError(e);
@@ -81,9 +90,10 @@ export function registerSessionTools(server, client) {
81
90
  });
82
91
  server.tool("opencode_session_todo", "Get the todo list for a session", {
83
92
  id: z.string().describe("Session ID"),
84
- }, async ({ id }) => {
93
+ directory: directoryParam,
94
+ }, async ({ id, directory }) => {
85
95
  try {
86
- return toolJson(await client.get(`/session/${id}/todo`));
96
+ return toolJson(await client.get(`/session/${id}/todo`, undefined, directory));
87
97
  }
88
98
  catch (e) {
89
99
  return toolError(e);
@@ -94,9 +104,10 @@ export function registerSessionTools(server, client) {
94
104
  messageID: z.string().describe("Message ID"),
95
105
  providerID: z.string().describe("Provider ID (e.g. 'anthropic')"),
96
106
  modelID: z.string().describe("Model ID (e.g. 'claude-3-5-sonnet-20241022')"),
97
- }, async ({ id, messageID, providerID, modelID }) => {
107
+ directory: directoryParam,
108
+ }, async ({ id, messageID, providerID, modelID, directory }) => {
98
109
  try {
99
- await client.post(`/session/${id}/init`, { messageID, providerID, modelID });
110
+ await client.post(`/session/${id}/init`, { messageID, providerID, modelID }, { directory });
100
111
  return toolResult("AGENTS.md initialization started.");
101
112
  }
102
113
  catch (e) {
@@ -105,9 +116,10 @@ export function registerSessionTools(server, client) {
105
116
  });
106
117
  server.tool("opencode_session_abort", "Abort a running session", {
107
118
  id: z.string().describe("Session ID to abort"),
108
- }, async ({ id }) => {
119
+ directory: directoryParam,
120
+ }, async ({ id, directory }) => {
109
121
  try {
110
- await client.post(`/session/${id}/abort`);
122
+ await client.post(`/session/${id}/abort`, undefined, { directory });
111
123
  return toolResult(`Session ${id} aborted.`);
112
124
  }
113
125
  catch (e) {
@@ -117,12 +129,13 @@ export function registerSessionTools(server, client) {
117
129
  server.tool("opencode_session_fork", "Fork an existing session, optionally at a specific message", {
118
130
  id: z.string().describe("Session ID to fork"),
119
131
  messageID: z.string().optional().describe("Message ID to fork at (optional)"),
120
- }, async ({ id, messageID }) => {
132
+ directory: directoryParam,
133
+ }, async ({ id, messageID, directory }) => {
121
134
  try {
122
135
  const body = {};
123
136
  if (messageID)
124
137
  body.messageID = messageID;
125
- return toolJson(await client.post(`/session/${id}/fork`, body));
138
+ return toolJson(await client.post(`/session/${id}/fork`, body, { directory }));
126
139
  }
127
140
  catch (e) {
128
141
  return toolError(e);
@@ -130,9 +143,10 @@ export function registerSessionTools(server, client) {
130
143
  });
131
144
  server.tool("opencode_session_share", "Share a session publicly", {
132
145
  id: z.string().describe("Session ID to share"),
133
- }, async ({ id }) => {
146
+ directory: directoryParam,
147
+ }, async ({ id, directory }) => {
134
148
  try {
135
- return toolJson(await client.post(`/session/${id}/share`));
149
+ return toolJson(await client.post(`/session/${id}/share`, undefined, { directory }));
136
150
  }
137
151
  catch (e) {
138
152
  return toolError(e);
@@ -140,9 +154,10 @@ export function registerSessionTools(server, client) {
140
154
  });
141
155
  server.tool("opencode_session_unshare", "Unshare a previously shared session", {
142
156
  id: z.string().describe("Session ID to unshare"),
143
- }, async ({ id }) => {
157
+ directory: directoryParam,
158
+ }, async ({ id, directory }) => {
144
159
  try {
145
- return toolJson(await client.delete(`/session/${id}/share`));
160
+ return toolJson(await client.delete(`/session/${id}/share`, undefined, directory));
146
161
  }
147
162
  catch (e) {
148
163
  return toolError(e);
@@ -151,12 +166,13 @@ export function registerSessionTools(server, client) {
151
166
  server.tool("opencode_session_diff", "Get the diff for a session, optionally for a specific message", {
152
167
  id: z.string().describe("Session ID"),
153
168
  messageID: z.string().optional().describe("Message ID (optional)"),
154
- }, async ({ id, messageID }) => {
169
+ directory: directoryParam,
170
+ }, async ({ id, messageID, directory }) => {
155
171
  try {
156
172
  const query = {};
157
173
  if (messageID)
158
174
  query.messageID = messageID;
159
- return toolJson(await client.get(`/session/${id}/diff`, query));
175
+ return toolJson(await client.get(`/session/${id}/diff`, query, directory));
160
176
  }
161
177
  catch (e) {
162
178
  return toolError(e);
@@ -166,9 +182,10 @@ export function registerSessionTools(server, client) {
166
182
  id: z.string().describe("Session ID"),
167
183
  providerID: z.string().describe("Provider ID (e.g. 'anthropic')"),
168
184
  modelID: z.string().describe("Model ID (e.g. 'claude-3-5-sonnet-20241022')"),
169
- }, async ({ id, providerID, modelID }) => {
185
+ directory: directoryParam,
186
+ }, async ({ id, providerID, modelID, directory }) => {
170
187
  try {
171
- await client.post(`/session/${id}/summarize`, { providerID, modelID });
188
+ await client.post(`/session/${id}/summarize`, { providerID, modelID }, { directory });
172
189
  return toolResult("Session summarization started.");
173
190
  }
174
191
  catch (e) {
@@ -179,12 +196,13 @@ export function registerSessionTools(server, client) {
179
196
  id: z.string().describe("Session ID"),
180
197
  messageID: z.string().describe("Message ID to revert"),
181
198
  partID: z.string().optional().describe("Part ID to revert (optional)"),
182
- }, async ({ id, messageID, partID }) => {
199
+ directory: directoryParam,
200
+ }, async ({ id, messageID, partID, directory }) => {
183
201
  try {
184
202
  const body = { messageID };
185
203
  if (partID)
186
204
  body.partID = partID;
187
- await client.post(`/session/${id}/revert`, body);
205
+ await client.post(`/session/${id}/revert`, body, { directory });
188
206
  return toolResult(`Message ${messageID} reverted.`);
189
207
  }
190
208
  catch (e) {
@@ -193,9 +211,10 @@ export function registerSessionTools(server, client) {
193
211
  });
194
212
  server.tool("opencode_session_unrevert", "Restore all reverted messages in a session", {
195
213
  id: z.string().describe("Session ID"),
196
- }, async ({ id }) => {
214
+ directory: directoryParam,
215
+ }, async ({ id, directory }) => {
197
216
  try {
198
- await client.post(`/session/${id}/unrevert`);
217
+ await client.post(`/session/${id}/unrevert`, undefined, { directory });
199
218
  return toolResult("All reverted messages restored.");
200
219
  }
201
220
  catch (e) {
@@ -207,12 +226,13 @@ export function registerSessionTools(server, client) {
207
226
  permissionID: z.string().describe("Permission request ID"),
208
227
  response: z.string().describe("Response to the permission request"),
209
228
  remember: z.boolean().optional().describe("Whether to remember this decision"),
210
- }, async ({ id, permissionID, response, remember }) => {
229
+ directory: directoryParam,
230
+ }, async ({ id, permissionID, response, remember, directory }) => {
211
231
  try {
212
232
  const body = { response };
213
233
  if (remember !== undefined)
214
234
  body.remember = remember;
215
- await client.post(`/session/${id}/permissions/${permissionID}`, body);
235
+ await client.post(`/session/${id}/permissions/${permissionID}`, body, { directory });
216
236
  return toolResult("Permission response sent.");
217
237
  }
218
238
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,iBAAiB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAEnG,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,MAAsB;IAEtB,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,mBAAmB,EACnB;QACE,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,CAAC,CAAmC,CAAC;YACxG,OAAO,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,6FAA6F,EAC7F;QACE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;QACtD,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACvC,IAAI,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC9B,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACtE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,sBAAsB,EACtB,yCAAyC,EACzC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,mCAAmC,EACnC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC/C,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAC5D,OAAO,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,wCAAwC,EACxC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAClE,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,IAAI,KAAK,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YAC5C,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;QACzE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,iCAAiC,EACjC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC5C,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,mDAAmD,EACnD;QACE,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,iCAAiC,EACjC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,oDAAoD,EACpD;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QAC5E,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAC5F,OAAO,UAAU,CAAC,mCAAmC,CAAC,CAAC;QACzD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,yBAAyB,EACzB;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC9C,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACpE,OAAO,UAAU,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,4DAA4D,EAC5D;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAC7C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QAC7E,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,IAAI,GAA2B,EAAE,CAAC;YACxC,IAAI,SAAS;gBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC1C,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,wBAAwB,EACxB,0BAA0B,EAC1B;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;QAC9C,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;QACvF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,qCAAqC,EACrC;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAChD,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;QACrF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,uBAAuB,EACvB,+DAA+D,EAC/D;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAClE,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,KAAK,GAA2B,EAAE,CAAC;YACzC,IAAI,SAAS;gBAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3C,OAAO,QAAQ,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,4BAA4B,EAC5B,6CAA6C,EAC7C;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QAC5E,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE;QAC/C,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACtF,OAAO,UAAU,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,yBAAyB,EACzB,+BAA+B,EAC/B;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QACtD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QACtE,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,IAAI,GAA2B,EAAE,SAAS,EAAE,CAAC;YACnD,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;YACjC,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YAChE,OAAO,UAAU,CAAC,WAAW,SAAS,YAAY,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,2BAA2B,EAC3B,4CAA4C,EAC5C;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACvE,OAAO,UAAU,CAAC,iCAAiC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,6BAA6B,EAC7B,8CAA8C,EAC9C;QACE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QACrC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC1D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACnE,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC9E,SAAS,EAAE,cAAc;KAC1B,EACD,KAAK,EAAE,EAAE,EAAE,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5D,IAAI,CAAC;YACH,MAAM,IAAI,GAA4B,EAAE,QAAQ,EAAE,CAAC;YACnD,IAAI,QAAQ,KAAK,SAAS;gBAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACrD,MAAM,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,YAAY,EAAE,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;YACrF,OAAO,UAAU,CAAC,2BAA2B,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
package/dist/tools/tui.js CHANGED
@@ -3,31 +3,36 @@
3
3
  * Useful for IDE integrations and automation.
4
4
  */
5
5
  import { z } from "zod";
6
- import { toolResult, toolError } from "../helpers.js";
6
+ import { toolResult, toolError, directoryParam } from "../helpers.js";
7
7
  export function registerTuiTools(server, client) {
8
8
  server.tool("opencode_tui_append_prompt", "Append text to the TUI's prompt input field", {
9
9
  text: z.string().describe("Text to append to the prompt"),
10
- }, async ({ text }) => {
10
+ directory: directoryParam,
11
+ }, async ({ text, directory }) => {
11
12
  try {
12
- await client.post("/tui/append-prompt", { text });
13
+ await client.post("/tui/append-prompt", { text }, { directory });
13
14
  return toolResult("Text appended to prompt.");
14
15
  }
15
16
  catch (e) {
16
17
  return toolError(e);
17
18
  }
18
19
  });
19
- server.tool("opencode_tui_submit_prompt", "Submit the current prompt in the TUI (equivalent to pressing Enter)", {}, async () => {
20
+ server.tool("opencode_tui_submit_prompt", "Submit the current prompt in the TUI (equivalent to pressing Enter)", {
21
+ directory: directoryParam,
22
+ }, async ({ directory }) => {
20
23
  try {
21
- await client.post("/tui/submit-prompt");
24
+ await client.post("/tui/submit-prompt", undefined, { directory });
22
25
  return toolResult("Prompt submitted.");
23
26
  }
24
27
  catch (e) {
25
28
  return toolError(e);
26
29
  }
27
30
  });
28
- server.tool("opencode_tui_clear_prompt", "Clear the current prompt text in the TUI", {}, async () => {
31
+ server.tool("opencode_tui_clear_prompt", "Clear the current prompt text in the TUI", {
32
+ directory: directoryParam,
33
+ }, async ({ directory }) => {
29
34
  try {
30
- await client.post("/tui/clear-prompt");
35
+ await client.post("/tui/clear-prompt", undefined, { directory });
31
36
  return toolResult("Prompt cleared.");
32
37
  }
33
38
  catch (e) {
@@ -36,9 +41,10 @@ export function registerTuiTools(server, client) {
36
41
  });
37
42
  server.tool("opencode_tui_execute_command", "Execute a slash command through the TUI (e.g. '/init', '/undo')", {
38
43
  command: z.string().describe("Command to execute (e.g. '/init')"),
39
- }, async ({ command }) => {
44
+ directory: directoryParam,
45
+ }, async ({ command, directory }) => {
40
46
  try {
41
- await client.post("/tui/execute-command", { command });
47
+ await client.post("/tui/execute-command", { command }, { directory });
42
48
  return toolResult(`Command '${command}' executed.`);
43
49
  }
44
50
  catch (e) {
@@ -52,50 +58,59 @@ export function registerTuiTools(server, client) {
52
58
  .enum(["info", "success", "warning", "error"])
53
59
  .optional()
54
60
  .describe("Toast variant (default: info)"),
55
- }, async ({ message, title, variant }) => {
61
+ directory: directoryParam,
62
+ }, async ({ message, title, variant, directory }) => {
56
63
  try {
57
64
  const body = { message };
58
65
  if (title)
59
66
  body.title = title;
60
67
  if (variant)
61
68
  body.variant = variant;
62
- await client.post("/tui/show-toast", body);
69
+ await client.post("/tui/show-toast", body, { directory });
63
70
  return toolResult("Toast shown.");
64
71
  }
65
72
  catch (e) {
66
73
  return toolError(e);
67
74
  }
68
75
  });
69
- server.tool("opencode_tui_open_help", "Open the help dialog in the TUI", {}, async () => {
76
+ server.tool("opencode_tui_open_help", "Open the help dialog in the TUI", {
77
+ directory: directoryParam,
78
+ }, async ({ directory }) => {
70
79
  try {
71
- await client.post("/tui/open-help");
80
+ await client.post("/tui/open-help", undefined, { directory });
72
81
  return toolResult("Help dialog opened.");
73
82
  }
74
83
  catch (e) {
75
84
  return toolError(e);
76
85
  }
77
86
  });
78
- server.tool("opencode_tui_open_sessions", "Open the session selector in the TUI", {}, async () => {
87
+ server.tool("opencode_tui_open_sessions", "Open the session selector in the TUI", {
88
+ directory: directoryParam,
89
+ }, async ({ directory }) => {
79
90
  try {
80
- await client.post("/tui/open-sessions");
91
+ await client.post("/tui/open-sessions", undefined, { directory });
81
92
  return toolResult("Session selector opened.");
82
93
  }
83
94
  catch (e) {
84
95
  return toolError(e);
85
96
  }
86
97
  });
87
- server.tool("opencode_tui_open_models", "Open the model selector in the TUI", {}, async () => {
98
+ server.tool("opencode_tui_open_models", "Open the model selector in the TUI", {
99
+ directory: directoryParam,
100
+ }, async ({ directory }) => {
88
101
  try {
89
- await client.post("/tui/open-models");
102
+ await client.post("/tui/open-models", undefined, { directory });
90
103
  return toolResult("Model selector opened.");
91
104
  }
92
105
  catch (e) {
93
106
  return toolError(e);
94
107
  }
95
108
  });
96
- server.tool("opencode_tui_open_themes", "Open the theme selector in the TUI", {}, async () => {
109
+ server.tool("opencode_tui_open_themes", "Open the theme selector in the TUI", {
110
+ directory: directoryParam,
111
+ }, async ({ directory }) => {
97
112
  try {
98
- await client.post("/tui/open-themes");
113
+ await client.post("/tui/open-themes", undefined, { directory });
99
114
  return toolResult("Theme selector opened.");
100
115
  }
101
116
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/tools/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.js","sourceRoot":"","sources":["../../src/tools/tui.ts"],"names":[],"mappings":"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"}