@roj-ai/sdk 0.1.27 → 0.1.29

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 (53) hide show
  1. package/dist/bootstrap.d.ts +2 -0
  2. package/dist/bootstrap.d.ts.map +1 -1
  3. package/dist/core/sessions/session.d.ts.map +1 -1
  4. package/dist/core/sessions/session.js +6 -2
  5. package/dist/core/sessions/session.js.map +1 -1
  6. package/dist/index.d.ts +2 -2
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/plugins/resources/index.d.ts +1 -1
  9. package/dist/plugins/resources/index.d.ts.map +1 -1
  10. package/dist/plugins/resources/plugin.d.ts +7 -1
  11. package/dist/plugins/resources/plugin.d.ts.map +1 -1
  12. package/dist/plugins/resources/plugin.js +25 -5
  13. package/dist/plugins/resources/plugin.js.map +1 -1
  14. package/dist/plugins/resources/resources.integration.test.d.ts +2 -0
  15. package/dist/plugins/resources/resources.integration.test.d.ts.map +1 -0
  16. package/dist/plugins/resources/resources.integration.test.js +62 -0
  17. package/dist/plugins/resources/resources.integration.test.js.map +1 -0
  18. package/dist/plugins/resources/state.d.ts +2 -0
  19. package/dist/plugins/resources/state.d.ts.map +1 -1
  20. package/dist/plugins/resources/state.js +1 -0
  21. package/dist/plugins/resources/state.js.map +1 -1
  22. package/dist/plugins/services/plugin.d.ts +4 -0
  23. package/dist/plugins/services/plugin.d.ts.map +1 -1
  24. package/dist/plugins/services/plugin.js +38 -10
  25. package/dist/plugins/services/plugin.js.map +1 -1
  26. package/dist/plugins/services/prompt.d.ts.map +1 -1
  27. package/dist/plugins/services/prompt.js +3 -0
  28. package/dist/plugins/services/prompt.js.map +1 -1
  29. package/dist/plugins/services/schema.d.ts +46 -4
  30. package/dist/plugins/services/schema.d.ts.map +1 -1
  31. package/dist/plugins/services/service.d.ts +11 -1
  32. package/dist/plugins/services/service.d.ts.map +1 -1
  33. package/dist/plugins/services/service.js +182 -46
  34. package/dist/plugins/services/service.js.map +1 -1
  35. package/dist/plugins/services/services.integration.test.js +240 -3
  36. package/dist/plugins/services/services.integration.test.js.map +1 -1
  37. package/dist/testing/preset-helpers.d.ts +1 -0
  38. package/dist/testing/preset-helpers.d.ts.map +1 -1
  39. package/dist/testing/preset-helpers.js +1 -0
  40. package/dist/testing/preset-helpers.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/core/sessions/session.ts +7 -3
  43. package/src/index.ts +8 -2
  44. package/src/plugins/resources/index.ts +1 -1
  45. package/src/plugins/resources/plugin.ts +35 -6
  46. package/src/plugins/resources/resources.integration.test.ts +68 -0
  47. package/src/plugins/resources/state.ts +2 -0
  48. package/src/plugins/services/plugin.ts +36 -10
  49. package/src/plugins/services/prompt.ts +3 -0
  50. package/src/plugins/services/schema.ts +48 -4
  51. package/src/plugins/services/service.ts +202 -52
  52. package/src/plugins/services/services.integration.test.ts +272 -4
  53. package/src/testing/preset-helpers.ts +2 -0
@@ -14,6 +14,8 @@ export const serviceEvents = createEventsFactory({
14
14
  toStatus: z.enum(['stopped', 'starting', 'ready', 'stopping', 'failed', 'paused']),
15
15
  port: z.number().optional(),
16
16
  error: z.string().optional(),
17
+ cwd: z.string().optional(),
18
+ command: z.string().optional(),
17
19
  pid: z.number().optional(),
18
20
  pidStartTime: z.number().optional(),
19
21
  }),
@@ -36,6 +38,8 @@ export const servicePlugin = definePlugin('services')
36
38
  serviceType: event.serviceType,
37
39
  status: event.toStatus,
38
40
  port: event.port,
41
+ cwd: event.cwd,
42
+ command: event.command,
39
43
  startedAt: event.timestamp,
40
44
  pid: event.pid,
41
45
  pidStartTime: event.pidStartTime,
@@ -50,6 +54,8 @@ export const servicePlugin = definePlugin('services')
50
54
  updated.startedAt = event.timestamp;
51
55
  updated.error = undefined;
52
56
  updated.port = event.port;
57
+ updated.cwd = event.cwd;
58
+ updated.command = event.command;
53
59
  updated.pid = event.pid;
54
60
  updated.pidStartTime = event.pidStartTime;
55
61
  }
@@ -58,6 +64,12 @@ export const servicePlugin = definePlugin('services')
58
64
  if (event.port !== undefined) {
59
65
  updated.port = event.port;
60
66
  }
67
+ if (event.cwd !== undefined) {
68
+ updated.cwd = event.cwd;
69
+ }
70
+ if (event.command !== undefined) {
71
+ updated.command = event.command;
72
+ }
61
73
  }
62
74
  if (event.toStatus === 'failed' && event.error) {
63
75
  updated.error = event.error;
@@ -98,17 +110,19 @@ export const servicePlugin = definePlugin('services')
98
110
  })
99
111
  .context(async (ctx, pluginConfig) => {
100
112
  const executor = new ServiceExecutor(ctx.logger, pluginConfig.portPool, { fs: ctx.platform.fs, process: ctx.platform.process });
101
- executor.onStatusChanged = (sessionId, serviceType, status, port, error, pid, pidStartTime) => {
113
+ executor.onStatusChanged = (sessionId, serviceType, status, details) => {
102
114
  void ctx.emitEvent(serviceEvents.create('service_status_changed', {
103
115
  serviceType,
104
116
  toStatus: status,
105
- port,
106
- error,
107
- pid,
108
- pidStartTime,
117
+ port: details.port,
118
+ error: details.error,
119
+ cwd: details.cwd,
120
+ command: details.command,
121
+ pid: details.pid,
122
+ pidStartTime: details.pidStartTime,
109
123
  }));
110
124
  // Broadcast service status to connected clients (DO → SPA) via WS
111
- ctx.notify('serviceStatus', { sessionId: String(sessionId), serviceType, status, port });
125
+ ctx.notify('serviceStatus', { sessionId: String(sessionId), serviceType, status, port: details.port });
112
126
  };
113
127
  return { executor };
114
128
  })
@@ -134,7 +148,9 @@ export const servicePlugin = definePlugin('services')
134
148
  return Ok({ started: [] });
135
149
  }
136
150
  const preferredPort = ctx.pluginState.get(input.serviceType)?.port;
137
- await ctx.pluginContext.executor.start(svcConfig, ctx.sessionId, ctx.sessionState.workspaceDir, preferredPort);
151
+ const startResult = await ctx.pluginContext.executor.start(svcConfig, ctx.sessionId, ctx.sessionState.workspaceDir, preferredPort);
152
+ if (!startResult.ok)
153
+ return Err(ValidationErrors.invalid(startResult.error.message));
138
154
  started.push(input.serviceType);
139
155
  }
140
156
  else {
@@ -150,7 +166,9 @@ export const servicePlugin = definePlugin('services')
150
166
  }
151
167
  else {
152
168
  const preferredPort = ctx.pluginState.get(svcConfig.type)?.port;
153
- await ctx.pluginContext.executor.start(svcConfig, ctx.sessionId, ctx.sessionState.workspaceDir, preferredPort);
169
+ const startResult = await ctx.pluginContext.executor.start(svcConfig, ctx.sessionId, ctx.sessionState.workspaceDir, preferredPort);
170
+ if (!startResult.ok)
171
+ return Err(ValidationErrors.invalid(startResult.error.message));
154
172
  started.push(svcConfig.type);
155
173
  }
156
174
  }
@@ -226,6 +244,8 @@ export const servicePlugin = definePlugin('services')
226
244
  serviceType: z.string(),
227
245
  status: z.string(),
228
246
  port: z.number().optional(),
247
+ cwd: z.string().optional(),
248
+ command: z.string().optional(),
229
249
  error: z.string().optional(),
230
250
  recentLogs: z.array(z.string()),
231
251
  }),
@@ -237,6 +257,8 @@ export const servicePlugin = definePlugin('services')
237
257
  serviceType: input.serviceType,
238
258
  status: status ?? 'stopped',
239
259
  port: stateEntry?.port,
260
+ cwd: stateEntry?.cwd,
261
+ command: stateEntry?.command,
240
262
  error: stateEntry?.error,
241
263
  recentLogs: logsResult.ok ? logsResult.value : [],
242
264
  });
@@ -316,7 +338,10 @@ export const servicePlugin = definePlugin('services')
316
338
  const status = ctx.pluginContext.executor.getStatus(svcConfig.type);
317
339
  if (status !== 'ready' && status !== 'starting') {
318
340
  const preferredPort = ctx.pluginState.get(svcConfig.type)?.port;
319
- await ctx.pluginContext.executor.start(svcConfig, ctx.sessionId, ctx.sessionState.workspaceDir, preferredPort);
341
+ const startResult = await ctx.pluginContext.executor.start(svcConfig, ctx.sessionId, ctx.sessionState.workspaceDir, preferredPort);
342
+ if (!startResult.ok) {
343
+ ctx.logger.debug('Auto-start service skipped', { serviceType: svcConfig.type, error: startResult.error.message });
344
+ }
320
345
  }
321
346
  }
322
347
  }
@@ -414,7 +439,10 @@ export const servicePlugin = definePlugin('services')
414
439
  });
415
440
  if (!result.ok)
416
441
  return Err({ message: result.error.message, recoverable: false });
417
- return Ok(JSON.stringify(result.value));
442
+ // Strip cwd: a real host path, meaningless (and misleading) inside
443
+ // the agent's virtual-root namespace.
444
+ const { cwd: _cwd, ...agentSafe } = result.value;
445
+ return Ok(JSON.stringify(agentSafe));
418
446
  },
419
447
  }),
420
448
  createTool({
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/services/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/plugins/services/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE/E;;;GAGG;AACH,wBAAgB,yBAAyB,CACxC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,aAAa,EAAE,GACtB,MAAM,GAAG,IAAI,CAoCf"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAE/E;;;GAGG;AACH,wBAAgB,yBAAyB,CACxC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,EAAE,aAAa,EAAE,GACtB,MAAM,GAAG,IAAI,CAuCf"}
@@ -31,6 +31,9 @@ export function buildServiceStatusMessage(services, configs) {
31
31
  if (entry?.error) {
32
32
  line += ` (error: ${entry.error})`;
33
33
  }
34
+ // Deliberately no cwd: it is a real host path, while sandboxed agents see the
35
+ // world through virtual roots — leaking it sends them chasing paths that
36
+ // don't exist in their namespace (see webmaster path-identity incident).
34
37
  lines.push(line);
35
38
  }
36
39
  lines.push('');
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/plugins/services/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACxC,QAAwB,EACxB,OAAwB;IAExB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAa;QACvB,qBAAqB;QACrB,EAAE;KACF,CAAA;IAED,kEAAkE;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAA;QACzC,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,MAAM,MAAM,EAAE,CAAA;QAEhE,IACC,KAAK,EAAE,IAAI,KAAK,SAAS;eACtB,KAAK,CAAC,MAAM,KAAK,SAAS;eAC1B,KAAK,CAAC,MAAM,KAAK,QAAQ;eACzB,KAAK,CAAC,MAAM,KAAK,QAAQ,EAC3B,CAAC;YACF,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,GAAG,CAAA;QAChC,CAAC;QACD,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAClB,IAAI,IAAI,YAAY,KAAK,CAAC,KAAK,GAAG,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAA;IAEtI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../../src/plugins/services/prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;GAGG;AACH,MAAM,UAAU,yBAAyB,CACxC,QAAwB,EACxB,OAAwB;IAExB,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAE9D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1D,MAAM,KAAK,GAAa;QACvB,qBAAqB;QACrB,EAAE;KACF,CAAA;IAED,kEAAkE;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACzC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAA;QACzC,IAAI,IAAI,GAAG,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,WAAW,MAAM,MAAM,EAAE,CAAA;QAEhE,IACC,KAAK,EAAE,IAAI,KAAK,SAAS;eACtB,KAAK,CAAC,MAAM,KAAK,SAAS;eAC1B,KAAK,CAAC,MAAM,KAAK,QAAQ;eACzB,KAAK,CAAC,MAAM,KAAK,QAAQ,EAC3B,CAAC;YACF,IAAI,IAAI,UAAU,KAAK,CAAC,IAAI,GAAG,CAAA;QAChC,CAAC;QACD,IAAI,KAAK,EAAE,KAAK,EAAE,CAAC;YAClB,IAAI,IAAI,YAAY,KAAK,CAAC,KAAK,GAAG,CAAA;QACnC,CAAC;QACD,8EAA8E;QAC9E,yEAAyE;QACzE,yEAAyE;QAEzE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACd,KAAK,CAAC,IAAI,CAAC,0HAA0H,CAAC,CAAA;IAEtI,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACxB,CAAC"}
@@ -14,6 +14,12 @@ export type ServiceStatus = 'stopped' | 'starting' | 'ready' | 'stopping' | 'fai
14
14
  */
15
15
  export interface ServiceCommandArgs {
16
16
  port: number;
17
+ /** Session id of the service owner. */
18
+ sessionId: string;
19
+ /** Absolute path of the session workspace directory, when configured. */
20
+ workspaceDir?: string;
21
+ /** Resolved working directory that will be passed to the child process. */
22
+ cwd?: string;
17
23
  }
18
24
  /**
19
25
  * Arguments passed to a `cwd` resolver callback. Resolved lazily at service
@@ -21,9 +27,27 @@ export interface ServiceCommandArgs {
21
27
  * to locate the web app inside a monorepo before launching the dev server.
22
28
  */
23
29
  export interface ServiceCwdArgs {
30
+ /** Session id of the service owner. */
31
+ sessionId: string;
24
32
  /** Absolute path of the session workspace directory. */
25
33
  workspaceDir: string;
26
34
  }
35
+ /**
36
+ * Arguments passed to service environment and readiness callbacks.
37
+ */
38
+ export interface ServiceStartArgs extends ServiceCommandArgs {
39
+ /** Recently captured service output lines. Empty before the process writes. */
40
+ logs: readonly string[];
41
+ }
42
+ /**
43
+ * Arguments passed to `availableWhen` before a service is started.
44
+ */
45
+ export interface ServiceAvailabilityArgs {
46
+ /** Session id of the service owner. */
47
+ sessionId: string;
48
+ /** Absolute path of the session workspace directory, when configured. */
49
+ workspaceDir?: string;
50
+ }
27
51
  /**
28
52
  * Service configuration declared inline in presets.
29
53
  * Defines how to spawn and monitor a background process.
@@ -33,8 +57,8 @@ export interface ServiceConfig {
33
57
  type: string;
34
58
  /** Human-readable description */
35
59
  description: string;
36
- /** Shell command to run, or a callback receiving allocated port */
37
- command: string | ((args: ServiceCommandArgs) => string);
60
+ /** Shell command to run, or a callback receiving runtime start context */
61
+ command: string | ((args: ServiceCommandArgs) => string | Promise<string>);
38
62
  /**
39
63
  * Working directory (defaults to the workspace dir).
40
64
  *
@@ -45,12 +69,18 @@ export interface ServiceConfig {
45
69
  * resolved the same way.
46
70
  */
47
71
  cwd?: string | ((args: ServiceCwdArgs) => string | Promise<string>);
48
- /** Additional environment variables */
49
- env?: Record<string, string>;
72
+ /** Additional environment variables, resolved after cwd and before spawn */
73
+ env?: Record<string, string> | ((args: ServiceCommandArgs) => Record<string, string> | Promise<Record<string, string>>);
74
+ /** Return false to make start/autoStart skip this service for the current workspace. */
75
+ availableWhen?: (args: ServiceAvailabilityArgs) => boolean | Promise<boolean>;
50
76
  /** Start automatically with session (default: false) */
51
77
  autoStart?: boolean;
52
78
  /** Regex pattern to detect "ready" in stdout */
53
79
  readyPattern?: string;
80
+ /** Callback polled until it reports that the service is ready. */
81
+ readyWhen?: (args: ServiceStartArgs) => boolean | Promise<boolean>;
82
+ /** Poll interval for readyWhen in ms (default: 250) */
83
+ readyCheckIntervalMs?: number;
54
84
  /** SIGTERM→SIGKILL timeout in ms (default: 5000) */
55
85
  gracefulStopMs?: number;
56
86
  /** Ring buffer size for log lines (default: 200) */
@@ -61,6 +91,14 @@ export interface ServiceConfig {
61
91
  autoPause?: {
62
92
  inactivityMs: number;
63
93
  };
94
+ /**
95
+ * When false, the service is hidden from the owning agent: excluded from its
96
+ * service_* tools and the session-context status block. It still runs at the
97
+ * session level and stays fully controllable via the services.* methods —
98
+ * for infrastructure services (e.g. a CMS sidecar) driven by the platform,
99
+ * not by agents. Default: true.
100
+ */
101
+ agentVisible?: boolean;
64
102
  }
65
103
  /**
66
104
  * Service entry tracked in session state.
@@ -71,6 +109,10 @@ export interface ServiceEntry {
71
109
  status: ServiceStatus;
72
110
  port?: number;
73
111
  error?: string;
112
+ /** Resolved working directory used for the current/last start. */
113
+ cwd?: string;
114
+ /** Resolved command used for the current/last start. */
115
+ command?: string;
74
116
  startedAt?: number;
75
117
  readyAt?: number;
76
118
  stoppedAt?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/schema.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAM/F;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,CAAA;CACZ;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAA;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,0DAA0D;IAC1D,IAAI,EAAE,MAAM,CAAA;IACZ,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,mEAAmE;IACnE,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,kBAAkB,KAAK,MAAM,CAAC,CAAA;IACxD;;;;;;;;OAQG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,cAAc,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAA;IACnE,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,wDAAwD;IACxD,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,sGAAsG;IACtG,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,yEAAyE;IACzE,SAAS,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAA;KAAE,CAAA;CACpC;AAMD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,aAAa,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;CACrB"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/schema.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,14 @@ import type { Logger } from '../../lib/logger/logger.js';
22
22
  * rely on it" rather than "process is dead".
23
23
  */
24
24
  export declare function getProcessStartTime(fs: FileSystem, pid: number): Promise<number | undefined>;
25
+ export interface ServiceStatusChangeDetails {
26
+ port?: number;
27
+ error?: string;
28
+ pid?: number;
29
+ pidStartTime?: number;
30
+ cwd?: string;
31
+ command?: string;
32
+ }
25
33
  export interface ServiceExecutorDeps {
26
34
  fs: FileSystem;
27
35
  process: ProcessRunner;
@@ -39,9 +47,11 @@ export declare class ServiceExecutor {
39
47
  private readonly fs;
40
48
  private readonly processRunner;
41
49
  /** Optional callback invoked on every service status change */
42
- onStatusChanged?: (sessionId: string, serviceType: string, status: ServiceStatus, port?: number, error?: string, pid?: number, pidStartTime?: number) => void;
50
+ onStatusChanged?: (sessionId: string, serviceType: string, status: ServiceStatus, details: ServiceStatusChangeDetails) => void;
43
51
  constructor(logger: Logger, portPool: PortPool, deps: ServiceExecutorDeps);
44
52
  private notifyStatusChanged;
53
+ private isAvailable;
54
+ private resolveCwd;
45
55
  private resolveWaiters;
46
56
  /**
47
57
  * Wait for a service to reach a terminal status (ready, failed, or stopped).
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/plugins/services/service.ts"],"names":[],"mappings":"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"}