mcp-subagents-opencode 1.2.1 → 1.2.2

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.
package/build/index.js CHANGED
@@ -7,7 +7,9 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
7
7
  import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
8
8
  import { taskManager } from './services/task-manager.js';
9
9
  import { clientContext } from './services/client-context.js';
10
- import { initSpawner, checkOpenCodeAvailable, shutdownSpawner, getSpawnerStats } from './services/opencode-spawner.js';
10
+ import { initSpawner, shutdownSpawner, getSpawnerStats } from './services/opencode-spawner.js';
11
+ // checkOpenCodeAvailable is still exported from opencode-spawner.ts for register-resources.ts
12
+ import { ensureOpenCodeServer, shutdownManagedServer, isManaged } from './services/opencode-server-manager.js';
11
13
  import { discoverModels } from './services/model-discovery.js';
12
14
  import { refreshModelExports } from './models.js';
13
15
  import { OpenCodeClient } from './services/opencode-client.js';
@@ -165,14 +167,16 @@ async function main() {
165
167
  refreshModelExports();
166
168
  // Initialize editable templates in home directory
167
169
  ensureTemplateHome();
168
- const opencodeAvailable = await checkOpenCodeAvailable().catch(() => false);
169
- if (!opencodeAvailable) {
170
- const diagnosis = await client.diagnose().catch((err) => `Diagnosis unavailable: ${err instanceof Error ? err.message : String(err)}`);
171
- console.error(`[WARN] OpenCode server not available: ${diagnosis}`);
172
- console.error('[WARN] Tasks will fail until the server is running. Start it with: opencode serve');
170
+ // Ensure the OpenCode server is running — auto-start if needed, fail MCP if it can't start
171
+ try {
172
+ const serverUrl = await ensureOpenCodeServer(client);
173
+ console.error(`[index] OpenCode server is healthy at ${serverUrl}${isManaged() ? ' (auto-started)' : ''}`);
173
174
  }
174
- else {
175
- console.error(`[index] OpenCode server is healthy at ${OPENCODE_BASE_URL}`);
175
+ catch (err) {
176
+ const msg = err instanceof Error ? err.message : String(err);
177
+ console.error(`[FATAL] Cannot start OpenCode server: ${msg}`);
178
+ console.error('[FATAL] MCP server cannot operate without OpenCode. Exiting.');
179
+ process.exit(1);
176
180
  }
177
181
  const transportMode = (process.env.MCP_TRANSPORT || 'stdio').toLowerCase();
178
182
  if (transportMode === 'stdio') {
@@ -189,6 +193,7 @@ async function main() {
189
193
  questionRegistry.cleanup();
190
194
  await taskManager.shutdown();
191
195
  shutdownSpawner();
196
+ shutdownManagedServer();
192
197
  }
193
198
  catch (err) {
194
199
  console.error('Shutdown error:', err);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAC/F,8FAA8F;AAC9F,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC3G,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAE5D,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,WAAW,EAAE,EACxD;IACE,YAAY,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,KAAK,EAAE;YACL,IAAI,EAAE,EAAE;YACR,MAAM,EAAE,EAAE;YACV,QAAQ,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE;SAClC;QACD,SAAS,EAAE;YACT,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,IAAI;SAClB;KACF;CACF,CACF,CAAC;AAEF,6BAA6B;AAC7B,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB,CAAC;AACpF,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;IAChC,OAAO,EAAE,iBAAiB;IAC1B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;IAC9C,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;CAC/C,CAAC,CAAC;AACH,WAAW,CAAC,MAAM,CAAC,CAAC;AAEpB,kCAAkC,EAAE,CAAC;AACrC,0BAA0B,CAAC,MAAM,CAAC,CAAC;AACnC,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,oBAAoB,CAAC,MAAM,CAAC,CAAC;AAC7B,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAEjC,MAAM,CAAC,aAAa,GAAG,KAAK,IAAI,EAAE;IAChC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;YAC1B,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IAED,MAAM,GAAG,GAAG,aAAa,CAAC,aAAa,EAAE,CAAC;IAC1C,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAExB,OAAO,CAAC,KAAK,CAAC,kCAAkC,GAAG,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,4BAA4B,CAAC,CAAC,CAAC;AAEhH,SAAS,gBAAgB,CAAC,KAAc;IACtC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,SAAS,GAAI,KAA4B,CAAC,IAAI,CAAC;IACrD,OAAO,OAAO,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/D,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,MAAM,cAAc,GAAG,gBAAgB,CAAC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9D,IAAI,cAAc,IAAI,uBAAuB,CAAC,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/E,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;QACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;QACvB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACpC,CAAC;AACJ,CAAC;AAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;AACjC,IAAI,eAAe,GAAmE,IAAI,CAAC;AAE3F,SAAS,gBAAgB,CAAC,MAAc,EAAE,KAAc;IACtD,IAAI,oBAAoB,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC;QAAE,OAAO;IAClE,oBAAoB,GAAG,IAAI,CAAC;IAE5B,IAAI,CAAC;QACH,OAAO,CAAC,KAAK,CAAC,WAAW,MAAM,uCAAuC,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAExB,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,cAAc,CAAC,KAAK,EAAE,CAAC;QACvB,eAAe,CAAC,eAAe,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,OAAO;IACT,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,wBAAwB;IAC/B,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;AACvE,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,IAAY;IAC5C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyC,CAAC;IAElE,MAAM,aAAa,GAAG,gBAAgB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,EAAE,CAAC,CAAC;QAEhE,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;YAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,wBAAwB,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;YACjH,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC5B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;gBACtE,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACzC,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACvD,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAC9C,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;YACtE,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC/C,MAAM,gBAAgB,GAAG,IAAI,6BAA6B,CAAC;oBACzD,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,CAAC,EAAU,EAAE,EAAE;wBACnC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;wBACnC,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;oBACrD,CAAC;oBACD,eAAe,EAAE,CAAC,EAAU,EAAE,EAAE;wBAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBACpB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAC;oBAChD,CAAC;iBACF,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;gBACvC,MAAM,gBAAgB,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO;QACT,CAAC;QAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,aAAa,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE;QAC9B,OAAO,CAAC,KAAK,CAAC,wEAAwE,IAAI,EAAE,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,mEAAmE;IACnE,OAAO,CAAC,KAAK,CAAC,+DAA+D,CAAC,CAAC;IAC/E,MAAM,cAAc,EAAE,CAAC;IACvB,mBAAmB,EAAE,CAAC;IAEtB,kDAAkD;IAClD,kBAAkB,EAAE,CAAC;IAErB,2FAA2F;IAC3F,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,CAAC,KAAK,CAAC,yCAAyC,SAAS,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7G,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,OAAO,CAAC,KAAK,CAAC,yCAAyC,GAAG,EAAE,CAAC,CAAC;QAC9D,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,aAAa,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3E,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;QAC9B,wBAAwB,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAe,EAAE,QAAQ,GAAG,CAAC,EAAE,EAAE;QACvD,IAAI,cAAc;YAAE,OAAO;QAC3B,cAAc,GAAG,IAAI,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,gBAAgB,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QACjE,IAAI,CAAC;YACH,yBAAyB,EAAE,CAAC;YAC5B,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,MAAM,WAAW,CAAC,QAAQ,EAAE,CAAC;YAC7B,eAAe,EAAE,CAAC;YAClB,qBAAqB,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzB,CAAC,CAAC;IACF,eAAe,GAAG,QAAQ,CAAC;IAE3B,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAC3D,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,MAAM,mBAAmB,GAAG,GAAG,EAAE;YAC/B,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC,CAAC;QACF,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QAC/C,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,EAAE;QAC1C,IAAI,aAAa,KAAK,OAAO,IAAI,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/D,gBAAgB,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;YAC/C,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YAAC,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,MAAM,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;IAEH,IAAI,2BAA2B,GAAG,KAAK,CAAC;IACxC,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,GAAG,EAAE,EAAE;QACtC,IAAI,aAAa,KAAK,OAAO,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5D,gBAAgB,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QACD,IAAI,2BAA2B,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAAC,OAAO;QAAC,CAAC;QAC7D,2BAA2B,GAAG,IAAI,CAAC;QAEnC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9E,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,GAAG,CAAC,CAAC;YAClE,QAAQ,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,GAAG,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC5F,2BAA2B,GAAG,KAAK,CAAC;QACtC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC;QAChC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,KAAK,CAAC,2BAA2B,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;IACf,YAAY,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Manages the lifecycle of the OpenCode headless server (`opencode serve`).
3
+ *
4
+ * On MCP startup:
5
+ * 1. Check if an existing server is healthy → use it.
6
+ * 2. Otherwise, spawn `opencode serve` as a child process.
7
+ * 3. Wait for the "listening on" line in stderr → confirm via health check.
8
+ * 4. If spawn fails after retries → throw so main() can abort MCP startup.
9
+ *
10
+ * On MCP shutdown:
11
+ * - Kill the child process (SIGTERM → SIGKILL fallback).
12
+ *
13
+ * Mid-operation crash:
14
+ * - Detected via circuit breaker in opencode-spawner.ts.
15
+ * - Exports `restartIfManaged()` so the spawner can attempt a restart.
16
+ */
17
+ import { type OpenCodeClient } from './opencode-client.js';
18
+ /**
19
+ * Ensure the OpenCode server is running and healthy.
20
+ * If an external server is already healthy, uses it (no child process).
21
+ * Otherwise spawns `opencode serve` and waits for readiness.
22
+ *
23
+ * @returns The base URL of the healthy server.
24
+ * @throws If the server cannot be started after retries.
25
+ */
26
+ export declare function ensureOpenCodeServer(client: OpenCodeClient): Promise<string>;
27
+ /**
28
+ * Attempt to restart the managed server (called from spawner on connection failure).
29
+ * Returns true if restart succeeded, false if not managed or retry limit hit.
30
+ */
31
+ export declare function restartIfManaged(): Promise<boolean>;
32
+ /**
33
+ * Kill the managed server process (called during MCP shutdown).
34
+ */
35
+ export declare function shutdownManagedServer(): void;
36
+ /**
37
+ * Whether we're managing the server process (vs using an external one).
38
+ */
39
+ export declare function isManaged(): boolean;
40
+ //# sourceMappingURL=opencode-server-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-server-manager.d.ts","sourceRoot":"","sources":["../../src/services/opencode-server-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAgB3D;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAYlF;AAwID;;;GAGG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC,CAmCzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAK5C;AA4BD;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAEnC"}
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Manages the lifecycle of the OpenCode headless server (`opencode serve`).
3
+ *
4
+ * On MCP startup:
5
+ * 1. Check if an existing server is healthy → use it.
6
+ * 2. Otherwise, spawn `opencode serve` as a child process.
7
+ * 3. Wait for the "listening on" line in stderr → confirm via health check.
8
+ * 4. If spawn fails after retries → throw so main() can abort MCP startup.
9
+ *
10
+ * On MCP shutdown:
11
+ * - Kill the child process (SIGTERM → SIGKILL fallback).
12
+ *
13
+ * Mid-operation crash:
14
+ * - Detected via circuit breaker in opencode-spawner.ts.
15
+ * - Exports `restartIfManaged()` so the spawner can attempt a restart.
16
+ */
17
+ import { spawn } from 'child_process';
18
+ const STARTUP_TIMEOUT_MS = 30_000; // Max wait for server to become healthy
19
+ const HEALTH_POLL_INTERVAL_MS = 500; // How often to check health during startup
20
+ const RESTART_COOLDOWN_MS = 10_000; // Min gap between restart attempts
21
+ const MAX_RESTART_ATTEMPTS = 3; // Give up after N consecutive restarts
22
+ /** The server readiness line emitted to stderr by `opencode serve`. */
23
+ const LISTENING_PATTERN = /opencode server listening on (https?:\/\/[^\s]+)/;
24
+ let managedProcess = null;
25
+ let managedPort = null;
26
+ let lastRestartAt = 0;
27
+ let consecutiveRestarts = 0;
28
+ let _client = null;
29
+ /**
30
+ * Ensure the OpenCode server is running and healthy.
31
+ * If an external server is already healthy, uses it (no child process).
32
+ * Otherwise spawns `opencode serve` and waits for readiness.
33
+ *
34
+ * @returns The base URL of the healthy server.
35
+ * @throws If the server cannot be started after retries.
36
+ */
37
+ export async function ensureOpenCodeServer(client) {
38
+ _client = client;
39
+ // 1. Check if an existing server is already healthy
40
+ if (await client.isHealthy()) {
41
+ console.error('[server-manager] Existing OpenCode server is healthy — using it');
42
+ return client.getBaseUrl();
43
+ }
44
+ // 2. Spawn a new one
45
+ console.error('[server-manager] No healthy OpenCode server found — starting one...');
46
+ return startServer(client);
47
+ }
48
+ /**
49
+ * Start the OpenCode server as a child process.
50
+ */
51
+ async function startServer(client) {
52
+ const baseUrl = client.getBaseUrl();
53
+ const parsed = new URL(baseUrl);
54
+ const port = parsed.port || '19747';
55
+ const hostname = parsed.hostname || '127.0.0.1';
56
+ // Resolve the opencode binary
57
+ const opencodeBin = process.env.OPENCODE_BIN || 'opencode';
58
+ const args = ['serve', '--port', port, '--hostname', hostname];
59
+ // Forward auth env if configured
60
+ const env = { ...process.env };
61
+ console.error(`[server-manager] Spawning: ${opencodeBin} ${args.join(' ')}`);
62
+ return new Promise((resolve, reject) => {
63
+ const child = spawn(opencodeBin, args, {
64
+ stdio: ['ignore', 'pipe', 'pipe'],
65
+ env,
66
+ detached: false,
67
+ });
68
+ managedProcess = child;
69
+ managedPort = parseInt(port, 10);
70
+ let settled = false;
71
+ let stderrBuffer = '';
72
+ const timeoutId = setTimeout(() => {
73
+ if (settled)
74
+ return;
75
+ settled = true;
76
+ // Timeout — try health check one more time
77
+ client.isHealthy().then(healthy => {
78
+ if (healthy) {
79
+ console.error('[server-manager] Server became healthy (detected via health check)');
80
+ resolve(baseUrl);
81
+ }
82
+ else {
83
+ reject(new Error(`OpenCode server failed to start within ${STARTUP_TIMEOUT_MS / 1000}s. ` +
84
+ `stderr output:\n${stderrBuffer.slice(-1000)}`));
85
+ }
86
+ }).catch(() => {
87
+ reject(new Error(`OpenCode server failed to start within ${STARTUP_TIMEOUT_MS / 1000}s. ` +
88
+ `stderr output:\n${stderrBuffer.slice(-1000)}`));
89
+ });
90
+ }, STARTUP_TIMEOUT_MS);
91
+ child.stderr?.on('data', (chunk) => {
92
+ const text = chunk.toString();
93
+ stderrBuffer += text;
94
+ // Log server output to MCP stderr (prefixed)
95
+ for (const line of text.split('\n').filter(Boolean)) {
96
+ console.error(`[opencode-serve] ${line}`);
97
+ }
98
+ // Detect readiness
99
+ const match = stderrBuffer.match(LISTENING_PATTERN);
100
+ if (match && !settled) {
101
+ // Server says it's listening — confirm with health check
102
+ waitForHealth(client, baseUrl).then(() => {
103
+ if (settled)
104
+ return;
105
+ settled = true;
106
+ clearTimeout(timeoutId);
107
+ consecutiveRestarts = 0;
108
+ console.error(`[server-manager] OpenCode server is healthy at ${baseUrl}`);
109
+ resolve(baseUrl);
110
+ }).catch(err => {
111
+ if (settled)
112
+ return;
113
+ settled = true;
114
+ clearTimeout(timeoutId);
115
+ reject(new Error(`Server is listening but health check failed: ${err instanceof Error ? err.message : err}`));
116
+ });
117
+ }
118
+ });
119
+ child.stdout?.on('data', (chunk) => {
120
+ // Some versions may output to stdout
121
+ const text = chunk.toString();
122
+ for (const line of text.split('\n').filter(Boolean)) {
123
+ console.error(`[opencode-serve:stdout] ${line}`);
124
+ }
125
+ });
126
+ child.on('error', (err) => {
127
+ if (settled)
128
+ return;
129
+ settled = true;
130
+ clearTimeout(timeoutId);
131
+ managedProcess = null;
132
+ if (err.code === 'ENOENT') {
133
+ reject(new Error(`Cannot find 'opencode' binary. Install it or set OPENCODE_BIN to the correct path.\n` +
134
+ `Tried: ${opencodeBin}`));
135
+ }
136
+ else {
137
+ reject(new Error(`Failed to spawn opencode serve: ${err.message}`));
138
+ }
139
+ });
140
+ child.on('exit', (code, signal) => {
141
+ console.error(`[server-manager] opencode serve exited (code=${code}, signal=${signal})`);
142
+ managedProcess = null;
143
+ if (!settled) {
144
+ settled = true;
145
+ clearTimeout(timeoutId);
146
+ reject(new Error(`opencode serve exited unexpectedly (code=${code}, signal=${signal}). ` +
147
+ `stderr:\n${stderrBuffer.slice(-1000)}`));
148
+ }
149
+ });
150
+ });
151
+ }
152
+ /**
153
+ * Poll health check until it passes or timeout.
154
+ */
155
+ async function waitForHealth(client, _baseUrl) {
156
+ const deadline = Date.now() + 10_000; // 10s after "listening" line
157
+ while (Date.now() < deadline) {
158
+ if (await client.isHealthy())
159
+ return;
160
+ await new Promise(r => setTimeout(r, HEALTH_POLL_INTERVAL_MS));
161
+ }
162
+ throw new Error('Health check did not pass within 10s of server listening');
163
+ }
164
+ /**
165
+ * Attempt to restart the managed server (called from spawner on connection failure).
166
+ * Returns true if restart succeeded, false if not managed or retry limit hit.
167
+ */
168
+ export async function restartIfManaged() {
169
+ if (!_client)
170
+ return false;
171
+ // Don't restart if we didn't start it
172
+ if (!managedPort) {
173
+ console.error('[server-manager] Server was not started by us — skipping restart');
174
+ return false;
175
+ }
176
+ // Cooldown
177
+ if (Date.now() - lastRestartAt < RESTART_COOLDOWN_MS) {
178
+ console.error('[server-manager] Restart cooldown active — skipping');
179
+ return false;
180
+ }
181
+ // Retry limit
182
+ consecutiveRestarts++;
183
+ if (consecutiveRestarts > MAX_RESTART_ATTEMPTS) {
184
+ console.error(`[server-manager] Max restart attempts (${MAX_RESTART_ATTEMPTS}) exceeded — giving up`);
185
+ return false;
186
+ }
187
+ lastRestartAt = Date.now();
188
+ console.error(`[server-manager] Attempting restart (${consecutiveRestarts}/${MAX_RESTART_ATTEMPTS})...`);
189
+ // Kill old process if still around
190
+ killManagedProcess();
191
+ try {
192
+ await startServer(_client);
193
+ return true;
194
+ }
195
+ catch (err) {
196
+ console.error(`[server-manager] Restart failed: ${err instanceof Error ? err.message : err}`);
197
+ return false;
198
+ }
199
+ }
200
+ /**
201
+ * Kill the managed server process (called during MCP shutdown).
202
+ */
203
+ export function shutdownManagedServer() {
204
+ killManagedProcess();
205
+ managedProcess = null;
206
+ managedPort = null;
207
+ _client = null;
208
+ }
209
+ function killManagedProcess() {
210
+ if (!managedProcess)
211
+ return;
212
+ const pid = managedProcess.pid;
213
+ if (!pid)
214
+ return;
215
+ try {
216
+ // SIGTERM first
217
+ managedProcess.kill('SIGTERM');
218
+ console.error(`[server-manager] Sent SIGTERM to opencode serve (pid=${pid})`);
219
+ // Force kill after 5s
220
+ const forceKill = setTimeout(() => {
221
+ try {
222
+ process.kill(pid, 'SIGKILL');
223
+ console.error(`[server-manager] Sent SIGKILL to opencode serve (pid=${pid})`);
224
+ }
225
+ catch {
226
+ // Already dead
227
+ }
228
+ }, 5000);
229
+ forceKill.unref();
230
+ }
231
+ catch {
232
+ // Process already exited
233
+ }
234
+ }
235
+ /**
236
+ * Whether we're managing the server process (vs using an external one).
237
+ */
238
+ export function isManaged() {
239
+ return managedProcess !== null;
240
+ }
241
+ //# sourceMappingURL=opencode-server-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"opencode-server-manager.js","sourceRoot":"","sources":["../../src/services/opencode-server-manager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-subagents-opencode",
3
- "version": "1.2.1",
3
+ "version": "1.2.2",
4
4
  "description": "MCP server for spawning and managing OpenCode AI sub-agents — parallel task execution with planner, coder, researcher & tester specialists",
5
5
  "type": "module",
6
6
  "main": "build/index.js",