mcp-subagents-opencode 1.0.0 → 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.
Files changed (159) hide show
  1. package/build/helpers.d.ts +43 -0
  2. package/build/helpers.d.ts.map +1 -1
  3. package/build/helpers.js +99 -8
  4. package/build/helpers.js.map +1 -1
  5. package/build/index.js +17 -3
  6. package/build/index.js.map +1 -1
  7. package/build/models.d.ts +27 -14
  8. package/build/models.d.ts.map +1 -1
  9. package/build/models.js +78 -39
  10. package/build/models.js.map +1 -1
  11. package/build/server/register-notifications.d.ts +5 -0
  12. package/build/server/register-notifications.d.ts.map +1 -1
  13. package/build/server/register-notifications.js +28 -3
  14. package/build/server/register-notifications.js.map +1 -1
  15. package/build/server/register-resources.d.ts.map +1 -1
  16. package/build/server/register-resources.js +9 -4
  17. package/build/server/register-resources.js.map +1 -1
  18. package/build/server/register-tasks.d.ts.map +1 -1
  19. package/build/server/register-tasks.js +13 -6
  20. package/build/server/register-tasks.js.map +1 -1
  21. package/build/server/register-tools.d.ts.map +1 -1
  22. package/build/server/register-tools.js +4 -3
  23. package/build/server/register-tools.js.map +1 -1
  24. package/build/services/model-discovery.d.ts +56 -0
  25. package/build/services/model-discovery.d.ts.map +1 -0
  26. package/build/services/model-discovery.js +259 -0
  27. package/build/services/model-discovery.js.map +1 -0
  28. package/build/services/opencode-client.d.ts +15 -1
  29. package/build/services/opencode-client.d.ts.map +1 -1
  30. package/build/services/opencode-client.js +229 -8
  31. package/build/services/opencode-client.js.map +1 -1
  32. package/build/services/opencode-spawner.d.ts +8 -2
  33. package/build/services/opencode-spawner.d.ts.map +1 -1
  34. package/build/services/opencode-spawner.js +331 -28
  35. package/build/services/opencode-spawner.js.map +1 -1
  36. package/build/services/output-file.d.ts +7 -5
  37. package/build/services/output-file.d.ts.map +1 -1
  38. package/build/services/output-file.js +28 -31
  39. package/build/services/output-file.js.map +1 -1
  40. package/build/services/task-manager.d.ts +6 -2
  41. package/build/services/task-manager.d.ts.map +1 -1
  42. package/build/services/task-manager.js +34 -5
  43. package/build/services/task-manager.js.map +1 -1
  44. package/build/services/task-persistence.d.ts +3 -3
  45. package/build/services/task-persistence.d.ts.map +1 -1
  46. package/build/services/task-persistence.js +15 -13
  47. package/build/services/task-persistence.js.map +1 -1
  48. package/build/services/template-home.d.ts +25 -0
  49. package/build/services/template-home.d.ts.map +1 -0
  50. package/build/services/template-home.js +105 -0
  51. package/build/services/template-home.js.map +1 -0
  52. package/build/templates/index.d.ts +1 -0
  53. package/build/templates/index.d.ts.map +1 -1
  54. package/build/templates/index.js +34 -7
  55. package/build/templates/index.js.map +1 -1
  56. package/build/templates/overlays/coder-csharp.mdx +6 -0
  57. package/build/templates/overlays/coder-go.mdx +6 -0
  58. package/build/templates/overlays/coder-java.mdx +6 -0
  59. package/build/templates/overlays/coder-kotlin.mdx +6 -0
  60. package/build/templates/overlays/coder-nextjs.mdx +6 -0
  61. package/build/templates/overlays/coder-python.mdx +6 -0
  62. package/build/templates/overlays/coder-react.mdx +6 -0
  63. package/build/templates/overlays/coder-ruby.mdx +6 -0
  64. package/build/templates/overlays/coder-rust.mdx +6 -0
  65. package/build/templates/overlays/coder-supabase.mdx +6 -0
  66. package/build/templates/overlays/coder-supastarter.mdx +6 -0
  67. package/build/templates/overlays/coder-swift.mdx +6 -0
  68. package/build/templates/overlays/coder-tauri.mdx +6 -0
  69. package/build/templates/overlays/coder-triggerdev.mdx +6 -0
  70. package/build/templates/overlays/coder-typescript.mdx +6 -0
  71. package/build/templates/overlays/coder-vue.mdx +6 -0
  72. package/build/templates/overlays/planner-architecture.mdx +6 -0
  73. package/build/templates/overlays/planner-bugfix.mdx +6 -0
  74. package/build/templates/overlays/planner-feature.mdx +6 -0
  75. package/build/templates/overlays/planner-migration.mdx +6 -0
  76. package/build/templates/overlays/planner-refactor.mdx +6 -0
  77. package/build/templates/overlays/researcher-library.mdx +6 -0
  78. package/build/templates/overlays/researcher-performance.mdx +6 -0
  79. package/build/templates/overlays/researcher-security.mdx +6 -0
  80. package/build/templates/overlays/tester-graphql.mdx +6 -0
  81. package/build/templates/overlays/tester-playwright.mdx +6 -0
  82. package/build/templates/overlays/tester-rest.mdx +6 -0
  83. package/build/templates/overlays/tester-suite.mdx +6 -0
  84. package/build/templates/super-coder.mdx +21 -0
  85. package/build/templates/super-planner.mdx +21 -0
  86. package/build/templates/super-researcher.mdx +21 -0
  87. package/build/templates/super-tester.mdx +21 -0
  88. package/build/tools/answer-question.d.ts.map +1 -1
  89. package/build/tools/answer-question.js +4 -3
  90. package/build/tools/answer-question.js.map +1 -1
  91. package/build/tools/cancel-task.d.ts.map +1 -1
  92. package/build/tools/cancel-task.js +6 -2
  93. package/build/tools/cancel-task.js.map +1 -1
  94. package/build/tools/send-message.d.ts.map +1 -1
  95. package/build/tools/send-message.js +13 -2
  96. package/build/tools/send-message.js.map +1 -1
  97. package/build/tools/shared-spawn.d.ts.map +1 -1
  98. package/build/tools/shared-spawn.js +19 -2
  99. package/build/tools/shared-spawn.js.map +1 -1
  100. package/build/tools/spawn-agent.d.ts +1 -1
  101. package/build/tools/spawn-agent.js +5 -5
  102. package/build/tools/spawn-agent.js.map +1 -1
  103. package/package.json +1 -1
  104. package/build/services/account-manager.d.ts +0 -88
  105. package/build/services/account-manager.d.ts.map +0 -1
  106. package/build/services/account-manager.js +0 -239
  107. package/build/services/account-manager.js.map +0 -1
  108. package/build/services/claude-code-runner.d.ts +0 -15
  109. package/build/services/claude-code-runner.d.ts.map +0 -1
  110. package/build/services/claude-code-runner.js +0 -475
  111. package/build/services/claude-code-runner.js.map +0 -1
  112. package/build/services/exhaustion-fallback.d.ts +0 -27
  113. package/build/services/exhaustion-fallback.d.ts.map +0 -1
  114. package/build/services/exhaustion-fallback.js +0 -30
  115. package/build/services/exhaustion-fallback.js.map +0 -1
  116. package/build/services/fallback-orchestrator.d.ts +0 -16
  117. package/build/services/fallback-orchestrator.d.ts.map +0 -1
  118. package/build/services/fallback-orchestrator.js +0 -48
  119. package/build/services/fallback-orchestrator.js.map +0 -1
  120. package/build/services/sdk-client-manager.d.ts +0 -149
  121. package/build/services/sdk-client-manager.d.ts.map +0 -1
  122. package/build/services/sdk-client-manager.js +0 -632
  123. package/build/services/sdk-client-manager.js.map +0 -1
  124. package/build/services/sdk-session-adapter.d.ts +0 -203
  125. package/build/services/sdk-session-adapter.d.ts.map +0 -1
  126. package/build/services/sdk-session-adapter.js +0 -1088
  127. package/build/services/sdk-session-adapter.js.map +0 -1
  128. package/build/services/sdk-spawner.d.ts +0 -42
  129. package/build/services/sdk-spawner.d.ts.map +0 -1
  130. package/build/services/sdk-spawner.js +0 -488
  131. package/build/services/sdk-spawner.js.map +0 -1
  132. package/build/services/session-hooks.d.ts +0 -24
  133. package/build/services/session-hooks.d.ts.map +0 -1
  134. package/build/services/session-hooks.js +0 -130
  135. package/build/services/session-hooks.js.map +0 -1
  136. package/build/services/session-snapshot.d.ts +0 -19
  137. package/build/services/session-snapshot.d.ts.map +0 -1
  138. package/build/services/session-snapshot.js +0 -203
  139. package/build/services/session-snapshot.js.map +0 -1
  140. package/build/tools/spawn-coder.d.ts +0 -70
  141. package/build/tools/spawn-coder.d.ts.map +0 -1
  142. package/build/tools/spawn-coder.js +0 -71
  143. package/build/tools/spawn-coder.js.map +0 -1
  144. package/build/tools/spawn-planner.d.ts +0 -70
  145. package/build/tools/spawn-planner.d.ts.map +0 -1
  146. package/build/tools/spawn-planner.js +0 -71
  147. package/build/tools/spawn-planner.js.map +0 -1
  148. package/build/tools/spawn-researcher.d.ts +0 -70
  149. package/build/tools/spawn-researcher.d.ts.map +0 -1
  150. package/build/tools/spawn-researcher.js +0 -70
  151. package/build/tools/spawn-researcher.js.map +0 -1
  152. package/build/tools/spawn-task.d.ts +0 -74
  153. package/build/tools/spawn-task.d.ts.map +0 -1
  154. package/build/tools/spawn-task.js +0 -107
  155. package/build/tools/spawn-task.js.map +0 -1
  156. package/build/tools/spawn-tester.d.ts +0 -70
  157. package/build/tools/spawn-tester.d.ts.map +0 -1
  158. package/build/tools/spawn-tester.js +0 -69
  159. package/build/tools/spawn-tester.js.map +0 -1
@@ -7,13 +7,26 @@ export class OpenCodeError extends Error {
7
7
  method;
8
8
  path;
9
9
  body;
10
- constructor(message, status, method, path, body) {
10
+ category;
11
+ constructor(message, status, method, path, body, category) {
11
12
  super(message);
12
13
  this.status = status;
13
14
  this.method = method;
14
15
  this.path = path;
15
16
  this.body = body;
16
17
  this.name = 'OpenCodeError';
18
+ this.category = category ?? OpenCodeError.categorizeStatus(status);
19
+ }
20
+ static categorizeStatus(status) {
21
+ if (status === 401 || status === 403)
22
+ return 'auth_failed';
23
+ if (status === 404)
24
+ return 'not_found';
25
+ if (status === 429)
26
+ return 'rate_limited';
27
+ if (status >= 500)
28
+ return 'server_error';
29
+ return 'network_error';
17
30
  }
18
31
  get isTransient() {
19
32
  return this.status === 429 || this.status === 502 || this.status === 503 || this.status === 504;
@@ -24,6 +37,74 @@ export class OpenCodeError extends Error {
24
37
  get isAuth() {
25
38
  return this.status === 401 || this.status === 403;
26
39
  }
40
+ get isRateLimit() {
41
+ return this.status === 429;
42
+ }
43
+ /** User-facing guidance for this error. */
44
+ get guidance() {
45
+ switch (this.category) {
46
+ case 'connection_refused':
47
+ return 'The OpenCode server is not running or not reachable. Start it with `opencode serve` and ensure OPENCODE_BASE_URL is correct.';
48
+ case 'dns_resolution':
49
+ return 'Cannot resolve the OpenCode server hostname. Check OPENCODE_BASE_URL for typos.';
50
+ case 'auth_failed':
51
+ return this.status === 401
52
+ ? 'Authentication failed. Check OPENCODE_SERVER_USERNAME and OPENCODE_SERVER_PASSWORD environment variables.'
53
+ : 'Access forbidden (403). The configured credentials may lack required permissions.';
54
+ case 'not_found':
55
+ return `The requested resource was not found (${this.method} ${this.path}). The session may have expired or the endpoint may not exist.`;
56
+ case 'rate_limited':
57
+ return 'Rate limited by the AI provider. The task will auto-retry with exponential backoff.';
58
+ case 'server_error':
59
+ return `OpenCode server returned an internal error (${this.status}). Check the OpenCode server logs for details.`;
60
+ case 'timeout':
61
+ return 'The request to OpenCode timed out. The server may be overloaded or the task may be too large.';
62
+ case 'invalid_response':
63
+ return 'Received an unexpected response from OpenCode. Check that the server version is compatible.';
64
+ default:
65
+ return 'An unexpected network error occurred communicating with the OpenCode server.';
66
+ }
67
+ }
68
+ }
69
+ /** Classify a fetch/network error into an OpenCodeError with proper category. */
70
+ function classifyNetworkError(error, method, path, baseUrl) {
71
+ const msg = error instanceof Error ? error.message : String(error);
72
+ const lowerMsg = msg.toLowerCase();
73
+ let category;
74
+ let userMessage;
75
+ if (lowerMsg.includes('econnrefused') || lowerMsg.includes('connection refused')) {
76
+ category = 'connection_refused';
77
+ userMessage = `Cannot connect to OpenCode server at ${baseUrl} — connection refused. Is \`opencode serve\` running?`;
78
+ }
79
+ else if (lowerMsg.includes('enotfound') || lowerMsg.includes('getaddrinfo')) {
80
+ category = 'dns_resolution';
81
+ userMessage = `Cannot resolve hostname for OpenCode server (${baseUrl}). Check OPENCODE_BASE_URL for typos.`;
82
+ }
83
+ else if (lowerMsg.includes('etimedout') || lowerMsg.includes('timeout') || lowerMsg.includes('aborted')) {
84
+ category = 'timeout';
85
+ userMessage = `Request to OpenCode server timed out (${method} ${path}). The server may be overloaded.`;
86
+ }
87
+ else if (lowerMsg.includes('econnreset') || lowerMsg.includes('socket hang up')) {
88
+ // ECONNRESET means an established connection was dropped (load shedding, proxy timeout,
89
+ // server crash mid-request). This is NOT connection_refused (nothing listening).
90
+ // Use network_error so the polling loop applies the lenient 10-failure threshold,
91
+ // not the fast 3-failure kill path for connection_refused.
92
+ category = 'network_error';
93
+ userMessage = `Connection to OpenCode server was reset (${method} ${path}). The server may be overloaded or restarting.`;
94
+ }
95
+ else if (lowerMsg.includes('epipe') || lowerMsg.includes('broken pipe')) {
96
+ category = 'network_error';
97
+ userMessage = `Broken pipe communicating with OpenCode server (${method} ${path}). The connection was lost mid-request.`;
98
+ }
99
+ else if (lowerMsg.includes('cert') || lowerMsg.includes('ssl') || lowerMsg.includes('tls')) {
100
+ category = 'network_error';
101
+ userMessage = `TLS/SSL error connecting to OpenCode server at ${baseUrl}. Check the server URL scheme (http vs https).`;
102
+ }
103
+ else {
104
+ category = 'network_error';
105
+ userMessage = `Network error communicating with OpenCode server: ${msg}`;
106
+ }
107
+ return new OpenCodeError(userMessage, 0, method, path, '', category);
27
108
  }
28
109
  const MAX_RETRIES = 2;
29
110
  const BASE_DELAY_MS = 500;
@@ -69,7 +150,8 @@ export class OpenCodeClient {
69
150
  let lastError;
70
151
  for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
71
152
  if (attempt > 0) {
72
- const delay = BASE_DELAY_MS * Math.pow(2, attempt - 1);
153
+ // Exponential backoff with jitter to avoid thundering herd
154
+ const delay = BASE_DELAY_MS * Math.pow(2, attempt - 1) + Math.random() * 200;
73
155
  await new Promise((r) => setTimeout(r, delay));
74
156
  }
75
157
  try {
@@ -86,8 +168,50 @@ export class OpenCodeClient {
86
168
  if (timeoutId)
87
169
  clearTimeout(timeoutId);
88
170
  if (!res.ok) {
89
- const text = await res.text();
90
- const err = new OpenCodeError(`${method} ${path} failed (${res.status}): ${text}`, res.status, method, path, text);
171
+ const text = await res.text().catch(() => '');
172
+ // Truncate response body to avoid leaking sensitive data or huge payloads
173
+ const truncatedBody = text.length > 500 ? text.slice(0, 500) + '...(truncated)' : text;
174
+ // Try to parse OpenCode's structured error format: {"name": "ErrorName", "data": {"message": "..."}}
175
+ let userMessage = `OpenCode ${method} ${path} failed (HTTP ${res.status})`;
176
+ let category;
177
+ try {
178
+ const parsed = JSON.parse(text);
179
+ if (parsed && typeof parsed === 'object' && parsed.name) {
180
+ const errorName = parsed.name;
181
+ const errorData = parsed.data;
182
+ const dataMessage = errorData?.message ? String(errorData.message) : '';
183
+ if (errorName === 'NotFoundError') {
184
+ category = 'not_found';
185
+ userMessage = dataMessage || `Resource not found: ${method} ${path}`;
186
+ }
187
+ else if (errorName === 'ProviderAuthError') {
188
+ category = 'auth_failed';
189
+ userMessage = dataMessage || `Provider authentication failed for ${errorData?.providerID || 'unknown provider'}`;
190
+ }
191
+ else if (errorName === 'ProviderModelNotFoundError') {
192
+ category = 'invalid_response';
193
+ const suggestions = errorData?.suggestions?.join(', ') || '';
194
+ userMessage = `Model "${errorData?.modelID || 'unknown'}" not found for provider "${errorData?.providerID || 'unknown'}"${suggestions ? `. Try: ${suggestions}` : ''}`;
195
+ }
196
+ else if (errorName === 'UnknownError') {
197
+ userMessage = dataMessage || `Unknown OpenCode error on ${method} ${path}`;
198
+ }
199
+ else {
200
+ userMessage = `${errorName}: ${dataMessage || truncatedBody || '(no details)'}`;
201
+ }
202
+ }
203
+ else {
204
+ userMessage += `: ${truncatedBody || '(empty response)'}`;
205
+ }
206
+ }
207
+ catch {
208
+ // Not JSON - use raw body
209
+ userMessage += `: ${truncatedBody || '(empty response)'}`;
210
+ }
211
+ const err = new OpenCodeError(userMessage, res.status, method, path, truncatedBody, category);
212
+ // Don't retry auth errors - they won't resolve by retrying
213
+ if (err.isAuth)
214
+ throw err;
91
215
  if (err.isTransient && attempt < MAX_RETRIES) {
92
216
  lastError = err;
93
217
  continue;
@@ -102,19 +226,30 @@ export class OpenCodeClient {
102
226
  if (!text || text.trim() === '')
103
227
  return undefined;
104
228
  if (contentType.includes('application/json')) {
105
- return JSON.parse(text);
229
+ try {
230
+ return JSON.parse(text);
231
+ }
232
+ catch {
233
+ throw new OpenCodeError(`OpenCode returned invalid JSON for ${method} ${path}: ${text.slice(0, 200)}`, res.status, method, path, text.slice(0, 500), 'invalid_response');
234
+ }
106
235
  }
107
236
  return text;
108
237
  }
109
238
  catch (e) {
110
239
  if (e instanceof OpenCodeError)
111
240
  throw e;
112
- lastError = e;
241
+ // Classify raw network errors (ECONNREFUSED, DNS failures, timeouts, etc.)
242
+ const classified = classifyNetworkError(e, method, path, this.baseUrl);
243
+ // Connection refused and DNS errors won't resolve by retrying
244
+ if (classified.category === 'connection_refused' || classified.category === 'dns_resolution') {
245
+ throw classified;
246
+ }
247
+ lastError = classified;
113
248
  if (attempt >= MAX_RETRIES)
114
249
  break;
115
250
  }
116
251
  }
117
- throw lastError ?? new Error(`${method} ${path} failed after retries`);
252
+ throw lastError ?? new OpenCodeError(`OpenCode ${method} ${path} failed after ${MAX_RETRIES + 1} attempts`, 0, method, path, '', 'network_error');
118
253
  }
119
254
  async get(path, query, directory) {
120
255
  return this.request('GET', path, { query, directory });
@@ -130,11 +265,48 @@ export class OpenCodeClient {
130
265
  }
131
266
  /**
132
267
  * Check if the OpenCode server is healthy.
268
+ * Uses the /global/health endpoint which returns {healthy: true, version: "..."}.
133
269
  */
134
270
  async isHealthy() {
271
+ try {
272
+ const res = await fetch(`${this.baseUrl}/global/health`, {
273
+ headers: this.headers(),
274
+ signal: AbortSignal.timeout(5000),
275
+ });
276
+ if (!res.ok) {
277
+ if (res.status === 401 || res.status === 403) {
278
+ console.error(`[opencode-client] Health check failed: authentication error (${res.status}). Check OPENCODE_SERVER_USERNAME/PASSWORD.`);
279
+ }
280
+ else if (res.status === 404) {
281
+ // Older OpenCode versions may not have /global/health — fall back to /session
282
+ return this.isHealthyFallback();
283
+ }
284
+ else {
285
+ console.error(`[opencode-client] Health check failed: HTTP ${res.status}`);
286
+ }
287
+ return false;
288
+ }
289
+ return true;
290
+ }
291
+ catch (err) {
292
+ const msg = err instanceof Error ? err.message : String(err);
293
+ if (msg.includes('ECONNREFUSED')) {
294
+ console.error(`[opencode-client] Health check failed: connection refused at ${this.baseUrl}. Is \`opencode serve\` running?`);
295
+ }
296
+ else if (msg.includes('ENOTFOUND')) {
297
+ console.error(`[opencode-client] Health check failed: cannot resolve hostname. Check OPENCODE_BASE_URL.`);
298
+ }
299
+ else {
300
+ console.error(`[opencode-client] Health check failed: ${msg}`);
301
+ }
302
+ return false;
303
+ }
304
+ }
305
+ /** Fallback health check for older OpenCode versions without /global/health. */
306
+ async isHealthyFallback() {
135
307
  try {
136
308
  const res = await fetch(`${this.baseUrl}/session`, {
137
- headers: { 'Accept': 'application/json' },
309
+ headers: this.headers(),
138
310
  signal: AbortSignal.timeout(5000),
139
311
  });
140
312
  return res.ok;
@@ -143,5 +315,54 @@ export class OpenCodeClient {
143
315
  return false;
144
316
  }
145
317
  }
318
+ /**
319
+ * Get a diagnostic summary of connection state for error messages.
320
+ */
321
+ async diagnose() {
322
+ try {
323
+ const res = await fetch(`${this.baseUrl}/global/health`, {
324
+ headers: this.headers(),
325
+ signal: AbortSignal.timeout(3000),
326
+ });
327
+ if (res.ok) {
328
+ try {
329
+ const data = await res.json();
330
+ const version = data?.version ? ` (v${data.version})` : '';
331
+ return `OpenCode server is reachable and healthy${version}`;
332
+ }
333
+ catch {
334
+ return 'OpenCode server is reachable and healthy';
335
+ }
336
+ }
337
+ if (res.status === 401)
338
+ return 'OpenCode server is reachable but authentication failed (401). Check OPENCODE_SERVER_USERNAME/PASSWORD.';
339
+ if (res.status === 403)
340
+ return 'OpenCode server is reachable but access is forbidden (403). Check credentials.';
341
+ if (res.status === 404) {
342
+ // Try fallback for older versions
343
+ try {
344
+ const fallbackRes = await fetch(`${this.baseUrl}/session`, {
345
+ headers: this.headers(),
346
+ signal: AbortSignal.timeout(3000),
347
+ });
348
+ if (fallbackRes.ok)
349
+ return 'OpenCode server is reachable (legacy version without /global/health endpoint)';
350
+ return `OpenCode server responded with HTTP ${fallbackRes.status}`;
351
+ }
352
+ catch {
353
+ return 'OpenCode server health endpoint not found. Check server version.';
354
+ }
355
+ }
356
+ return `OpenCode server responded with HTTP ${res.status}`;
357
+ }
358
+ catch (err) {
359
+ const msg = err instanceof Error ? err.message : String(err);
360
+ if (msg.includes('ECONNREFUSED'))
361
+ return `OpenCode server is not running at ${this.baseUrl}. Start it with \`opencode serve\`.`;
362
+ if (msg.includes('ENOTFOUND'))
363
+ return `Cannot resolve hostname for ${this.baseUrl}. Check OPENCODE_BASE_URL.`;
364
+ return `Cannot reach OpenCode server: ${msg}`;
365
+ }
366
+ }
146
367
  }
147
368
  //# sourceMappingURL=opencode-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-client.js","sourceRoot":"","sources":["../../src/services/opencode-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opencode-client.js","sourceRoot":"","sources":["../../src/services/opencode-client.ts"],"names":[],"mappings":"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"}
@@ -10,7 +10,7 @@
10
10
  * - Get results
11
11
  */
12
12
  import { type SpawnOptions, type TaskState } from '../types.js';
13
- import type { OpenCodeClient } from './opencode-client.js';
13
+ import { type OpenCodeClient } from './opencode-client.js';
14
14
  /**
15
15
  * Initialize the spawner with the OpenCode client instance.
16
16
  */
@@ -24,7 +24,7 @@ export declare function spawnOpenCodeTask(options: SpawnOptions): Promise<string
24
24
  */
25
25
  export declare function executeWaitingTask(task: TaskState): Promise<void>;
26
26
  /**
27
- * Cancel a running task. Aliased as both cancelOpenCodeTask and cancelTask.
27
+ * Cancel a running task. Aborts polling and tells OpenCode to stop the session.
28
28
  */
29
29
  export declare function cancelOpenCodeTask(taskId: string): Promise<boolean>;
30
30
  export { cancelOpenCodeTask as cancelTask };
@@ -40,6 +40,10 @@ export declare function sendMessageToSession(taskId: string, message: string): P
40
40
  * Check if the OpenCode server is healthy.
41
41
  */
42
42
  export declare function checkOpenCodeAvailable(): Promise<boolean>;
43
+ /**
44
+ * Get a diagnostic summary for error messages.
45
+ */
46
+ export declare function diagnoseConnection(): Promise<string>;
43
47
  /**
44
48
  * Shutdown the spawner - cancel all active pollers.
45
49
  */
@@ -50,6 +54,8 @@ export declare function shutdownSpawner(): void;
50
54
  export declare function getSpawnerStats(): {
51
55
  activeTasks: number;
52
56
  activePollers: number;
57
+ queuedTasks: number;
58
+ maxConcurrent: number;
53
59
  clientInitialized: boolean;
54
60
  baseUrl: string;
55
61
  };
@@ -1 +1 @@
1
- {"version":3,"file":"opencode-spawner.d.ts","sourceRoot":"","sources":["../../src/services/opencode-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,EAAc,KAAK,YAAY,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAW3D;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAExD;AAmBD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA2C9E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE;AAyPD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBzE;AAED,OAAO,EAAE,kBAAkB,IAAI,UAAU,EAAE,CAAC;AAE5C;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAuC5I;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG/D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAMtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAOA"}
1
+ {"version":3,"file":"opencode-spawner.d.ts","sourceRoot":"","sources":["../../src/services/opencode-spawner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,EAAc,KAAK,YAAY,EAAE,KAAK,SAAS,EAAoB,MAAM,aAAa,CAAC;AAC9F,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoD1E;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAExD;AAmBD;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA4C9E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAiCvE;AAofD;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA8BzE;AAED,OAAO,EAAE,kBAAkB,IAAI,UAAU,EAAE,CAAC;AAE5C;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAyC5I;AAED;;GAEG;AACH,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG/D;AAED;;GAEG;AACH,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAG1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAMtC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CASA"}