@qwen-code/arena-agent 0.0.9-image-input-fallback.0 → 0.0.10-dev.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 (89) hide show
  1. package/.env.example +34 -13
  2. package/README.md +156 -53
  3. package/dist/agent.d.ts +4 -2
  4. package/dist/agent.js +142 -20
  5. package/dist/agent.js.map +1 -1
  6. package/dist/anthropic.d.ts +1 -0
  7. package/dist/anthropic.js +78 -19
  8. package/dist/anthropic.js.map +1 -1
  9. package/dist/canonical-data.js +2 -2
  10. package/dist/canonical-data.js.map +1 -1
  11. package/dist/cli.js +44 -13
  12. package/dist/cli.js.map +1 -1
  13. package/dist/code-tools.js +18 -161
  14. package/dist/code-tools.js.map +1 -1
  15. package/dist/compaction.js +8 -2
  16. package/dist/compaction.js.map +1 -1
  17. package/dist/config.d.ts +22 -0
  18. package/dist/config.js +53 -1
  19. package/dist/config.js.map +1 -1
  20. package/dist/history.d.ts +3 -2
  21. package/dist/history.js +7 -2
  22. package/dist/history.js.map +1 -1
  23. package/dist/image.d.ts +2 -0
  24. package/dist/image.js +88 -7
  25. package/dist/image.js.map +1 -1
  26. package/dist/model-capabilities.js +12 -2
  27. package/dist/model-capabilities.js.map +1 -1
  28. package/dist/model-diagnostics.js +11 -3
  29. package/dist/model-diagnostics.js.map +1 -1
  30. package/dist/model-router-media.d.ts +26 -0
  31. package/dist/model-router-media.js +274 -0
  32. package/dist/model-router-media.js.map +1 -0
  33. package/dist/openai-responses.d.ts +28 -0
  34. package/dist/openai-responses.js +473 -0
  35. package/dist/openai-responses.js.map +1 -0
  36. package/dist/process-manager.d.ts +38 -0
  37. package/dist/process-manager.js +486 -0
  38. package/dist/process-manager.js.map +1 -0
  39. package/dist/prompts.js +3 -1
  40. package/dist/prompts.js.map +1 -1
  41. package/dist/provider.d.ts +7 -0
  42. package/dist/provider.js +259 -14
  43. package/dist/provider.js.map +1 -1
  44. package/dist/server.d.ts +2 -0
  45. package/dist/server.js +37 -18
  46. package/dist/server.js.map +1 -1
  47. package/dist/spec.js +15 -1
  48. package/dist/spec.js.map +1 -1
  49. package/dist/tools.js +160 -237
  50. package/dist/tools.js.map +1 -1
  51. package/dist/tui.d.ts +2 -0
  52. package/dist/tui.js +15 -11
  53. package/dist/tui.js.map +1 -1
  54. package/dist/types.d.ts +7 -0
  55. package/dist/voice-registry.d.ts +30 -0
  56. package/dist/voice-registry.js +82 -0
  57. package/dist/voice-registry.js.map +1 -0
  58. package/dist/web/app.js +8 -0
  59. package/dist/web/app.js.map +1 -1
  60. package/docs/SDK.md +4 -3
  61. package/package.json +7 -2
  62. package/web/styles.css +6 -0
  63. package/dist/audit.d.ts +0 -14
  64. package/dist/audit.js +0 -31
  65. package/dist/audit.js.map +0 -1
  66. package/dist/dashscope.d.ts +0 -5
  67. package/dist/dashscope.js +0 -55
  68. package/dist/dashscope.js.map +0 -1
  69. package/dist/fetch-page/aparat.d.ts +0 -30
  70. package/dist/fetch-page/aparat.js +0 -209
  71. package/dist/fetch-page/aparat.js.map +0 -1
  72. package/dist/fetch-page/json-path.d.ts +0 -12
  73. package/dist/fetch-page/json-path.js +0 -111
  74. package/dist/fetch-page/json-path.js.map +0 -1
  75. package/dist/fetch-page/sites.d.ts +0 -26
  76. package/dist/fetch-page/sites.js +0 -39
  77. package/dist/fetch-page/sites.js.map +0 -1
  78. package/dist/fetch-page/text.d.ts +0 -5
  79. package/dist/fetch-page/text.js +0 -38
  80. package/dist/fetch-page/text.js.map +0 -1
  81. package/dist/fetch-page/types.d.ts +0 -17
  82. package/dist/fetch-page/types.js +0 -3
  83. package/dist/fetch-page/types.js.map +0 -1
  84. package/dist/fetch-page/youtube.d.ts +0 -35
  85. package/dist/fetch-page/youtube.js +0 -282
  86. package/dist/fetch-page/youtube.js.map +0 -1
  87. package/dist/web-search.d.ts +0 -5
  88. package/dist/web-search.js +0 -465
  89. package/dist/web-search.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-router-media.js","sourceRoot":"","sources":["../src/model-router-media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { ModelChunk, ModelMessage, ModelRequest } from "./types.js";
2
+ type ResponseInputItem = Record<string, unknown>;
3
+ /** Convert Arena's durable history into Responses API input items. */
4
+ export declare function responsesInput(messages: ModelMessage[]): ResponseInputItem[];
5
+ /** Build a native OpenAI Responses request without Chat Completions fields. */
6
+ export declare function responsesRequestBody(request: ModelRequest, model: string): Record<string, unknown>;
7
+ export declare const RESPONSES_CAPACITY_ERROR_CODE = "ARENA_UPSTREAM_CAPACITY";
8
+ export declare const RESPONSES_TRANSIENT_ERROR_CODE = "ARENA_UPSTREAM_TRANSIENT";
9
+ /** Structured failure delivered inside an otherwise-successful Responses SSE request. */
10
+ export declare class OpenAIResponsesStreamError extends Error {
11
+ readonly eventType: string;
12
+ readonly upstreamCode?: string;
13
+ readonly upstreamType?: string;
14
+ readonly status?: number;
15
+ readonly code?: string;
16
+ constructor(options: {
17
+ message: string;
18
+ eventType: string;
19
+ upstreamCode?: string;
20
+ upstreamType?: string;
21
+ status?: number;
22
+ });
23
+ }
24
+ /** Translate native Responses SSE events into Arena's provider-neutral chunks. */
25
+ export declare function responsesChunks(stream: ReadableStream<Uint8Array>): AsyncGenerator<ModelChunk>;
26
+ /** Translate a non-streaming Responses object into one Arena chunk. */
27
+ export declare function responsesFallbackChunk(value: Record<string, unknown>): ModelChunk;
28
+ export {};
@@ -0,0 +1,473 @@
1
+ function record(value) {
2
+ return value !== null && typeof value === "object" && !Array.isArray(value)
3
+ ? value
4
+ : {};
5
+ }
6
+ function stringValue(value) {
7
+ return typeof value === "string" ? value : "";
8
+ }
9
+ function numericValue(value) {
10
+ if (typeof value === "number" && Number.isFinite(value))
11
+ return value;
12
+ if (typeof value !== "string" || !value.trim())
13
+ return undefined;
14
+ const parsed = Number(value);
15
+ return Number.isFinite(parsed) ? parsed : undefined;
16
+ }
17
+ function responsesUserContent(content) {
18
+ if (!Array.isArray(content))
19
+ return content;
20
+ return content.map((part) => {
21
+ const value = record(part);
22
+ if (typeof value.image === "string") {
23
+ return {
24
+ type: "input_image",
25
+ image_url: value.image,
26
+ detail: "auto",
27
+ };
28
+ }
29
+ if (value.type === "image_url") {
30
+ const imageUrl = record(value.image_url);
31
+ return {
32
+ type: "input_image",
33
+ image_url: stringValue(imageUrl.url),
34
+ detail: stringValue(imageUrl.detail) || "auto",
35
+ };
36
+ }
37
+ return { type: "input_text", text: stringValue(value.text) };
38
+ });
39
+ }
40
+ /** Convert Arena's durable history into Responses API input items. */
41
+ export function responsesInput(messages) {
42
+ const input = [];
43
+ for (const message of messages) {
44
+ if (message.role === "system" || message.role === "user") {
45
+ input.push({
46
+ role: message.role,
47
+ content: responsesUserContent(message.content),
48
+ });
49
+ continue;
50
+ }
51
+ if (message.role === "tool") {
52
+ input.push({
53
+ type: "function_call_output",
54
+ call_id: message.tool_call_id,
55
+ output: message.content,
56
+ });
57
+ continue;
58
+ }
59
+ if (message.openai_response_items?.length) {
60
+ input.push(...structuredClone(message.openai_response_items));
61
+ continue;
62
+ }
63
+ // Compatibility fallback for histories created before Arena persisted
64
+ // native Responses output items.
65
+ if (message.content) {
66
+ input.push({ role: "assistant", content: message.content });
67
+ }
68
+ for (const call of message.tool_calls || []) {
69
+ input.push({
70
+ type: "function_call",
71
+ call_id: call.id,
72
+ name: call.function.name,
73
+ arguments: call.function.arguments,
74
+ });
75
+ }
76
+ }
77
+ return input;
78
+ }
79
+ function responsesTools(tools) {
80
+ return tools.map((tool) => ({
81
+ type: "function",
82
+ name: tool.function.name,
83
+ ...(tool.function.description
84
+ ? { description: tool.function.description }
85
+ : {}),
86
+ parameters: tool.function.parameters,
87
+ }));
88
+ }
89
+ /** Build a native OpenAI Responses request without Chat Completions fields. */
90
+ export function responsesRequestBody(request, model) {
91
+ const allTurnsReasoning = model.toLowerCase().includes("gpt-5.6");
92
+ const reasoning = request.reasoningEffort || allTurnsReasoning
93
+ ? {
94
+ ...(request.reasoningEffort
95
+ ? { effort: request.reasoningEffort }
96
+ : {}),
97
+ ...(allTurnsReasoning ? { context: "all_turns" } : {}),
98
+ }
99
+ : undefined;
100
+ return {
101
+ model,
102
+ input: responsesInput(request.messages),
103
+ ...(request.tools.length
104
+ ? { tools: responsesTools(request.tools), tool_choice: request.toolChoice }
105
+ : {}),
106
+ ...(request.maxTokens !== undefined
107
+ ? { max_output_tokens: request.maxTokens }
108
+ : {}),
109
+ // Do not inherit Arena's generic temperature on the native Responses path:
110
+ // reasoning models reject sampling controls. Non-reasoning models can opt
111
+ // in explicitly through ARENA_EXTRA_BODY, which is merged by the client.
112
+ ...(reasoning ? { reasoning } : {}),
113
+ stream: true,
114
+ // Keep the transport stateless. Completed output items, including opaque
115
+ // encrypted reasoning, are persisted by Arena and replayed in input.
116
+ store: false,
117
+ include: ["reasoning.encrypted_content"],
118
+ };
119
+ }
120
+ function responsesUsage(value) {
121
+ const usage = record(value);
122
+ if (!Object.keys(usage).length)
123
+ return undefined;
124
+ const inputTokens = usage.input_tokens;
125
+ const outputTokens = usage.output_tokens;
126
+ const totalTokens = usage.total_tokens;
127
+ return {
128
+ ...usage,
129
+ ...(typeof inputTokens === "number" ? { prompt_tokens: inputTokens } : {}),
130
+ ...(typeof outputTokens === "number"
131
+ ? { completion_tokens: outputTokens }
132
+ : {}),
133
+ ...(typeof totalTokens === "number" ? { total_tokens: totalTokens } : {}),
134
+ };
135
+ }
136
+ export const RESPONSES_CAPACITY_ERROR_CODE = "ARENA_UPSTREAM_CAPACITY";
137
+ export const RESPONSES_TRANSIENT_ERROR_CODE = "ARENA_UPSTREAM_TRANSIENT";
138
+ const transientResponsesErrorIdentifiers = new Set([
139
+ "overloaded_error",
140
+ "rate_limit_exceeded",
141
+ "request_timeout",
142
+ "server_error",
143
+ "service_unavailable",
144
+ "temporarily_unavailable",
145
+ "timeout",
146
+ ]);
147
+ function isCapacityErrorMessage(message) {
148
+ const normalized = message.toLowerCase();
149
+ return (normalized.includes("experiencing high demand") ||
150
+ normalized.includes("maximum usage size allowed during peak load") ||
151
+ normalized.includes("provisioned throughput"));
152
+ }
153
+ function isTransientResponsesError(upstreamCode, upstreamType, status) {
154
+ if (status === 408 ||
155
+ status === 409 ||
156
+ status === 429 ||
157
+ (status !== undefined && status >= 500 && status <= 599)) {
158
+ return true;
159
+ }
160
+ return [upstreamCode, upstreamType].some((value) => value !== undefined &&
161
+ transientResponsesErrorIdentifiers.has(value.toLowerCase()));
162
+ }
163
+ /** Structured failure delivered inside an otherwise-successful Responses SSE request. */
164
+ export class OpenAIResponsesStreamError extends Error {
165
+ eventType;
166
+ upstreamCode;
167
+ upstreamType;
168
+ status;
169
+ code;
170
+ constructor(options) {
171
+ super(options.message);
172
+ this.name = "OpenAIResponsesStreamError";
173
+ this.eventType = options.eventType;
174
+ this.upstreamCode = options.upstreamCode;
175
+ this.upstreamType = options.upstreamType;
176
+ this.status = options.status;
177
+ if (isCapacityErrorMessage(options.message)) {
178
+ this.code = RESPONSES_CAPACITY_ERROR_CODE;
179
+ }
180
+ else if (isTransientResponsesError(options.upstreamCode, options.upstreamType, options.status)) {
181
+ this.code = RESPONSES_TRANSIENT_ERROR_CODE;
182
+ }
183
+ else {
184
+ this.code = options.upstreamCode;
185
+ }
186
+ }
187
+ }
188
+ function responsesError(event) {
189
+ const error = record(event.error);
190
+ const response = record(event.response);
191
+ const responseError = record(response.error);
192
+ const message = stringValue(error.message) ||
193
+ stringValue(responseError.message) ||
194
+ stringValue(event.message) ||
195
+ `OpenAI Responses stream failed (${stringValue(event.type) || "unknown event"})`;
196
+ return new OpenAIResponsesStreamError({
197
+ message,
198
+ eventType: stringValue(event.type) || "unknown",
199
+ upstreamCode: stringValue(error.code) ||
200
+ stringValue(responseError.code) ||
201
+ stringValue(event.code) ||
202
+ undefined,
203
+ upstreamType: stringValue(error.type) ||
204
+ stringValue(responseError.type) ||
205
+ undefined,
206
+ status: numericValue(error.status) ??
207
+ numericValue(responseError.status) ??
208
+ numericValue(response.status) ??
209
+ numericValue(event.status),
210
+ });
211
+ }
212
+ function toolIndex(event, fallback) {
213
+ return typeof event.output_index === "number" ? event.output_index : fallback;
214
+ }
215
+ function toolDelta(state, values) {
216
+ return {
217
+ choices: [
218
+ {
219
+ delta: {
220
+ tool_calls: [
221
+ {
222
+ index: state.index,
223
+ ...(values.id ? { id: values.id, type: "function" } : {}),
224
+ function: {
225
+ ...(values.name ? { name: values.name } : {}),
226
+ ...(values.arguments !== undefined
227
+ ? { arguments: values.arguments }
228
+ : {}),
229
+ },
230
+ },
231
+ ],
232
+ },
233
+ },
234
+ ],
235
+ };
236
+ }
237
+ /** Translate native Responses SSE events into Arena's provider-neutral chunks. */
238
+ export async function* responsesChunks(stream) {
239
+ const reader = stream.getReader();
240
+ const decoder = new TextDecoder();
241
+ const tools = new Map();
242
+ const completedItemIndexes = new Set();
243
+ let buffer = "";
244
+ const captureOutputItem = function* (index, item, replace = false) {
245
+ if (!Object.keys(item).length ||
246
+ (!replace && completedItemIndexes.has(index))) {
247
+ return;
248
+ }
249
+ completedItemIndexes.add(index);
250
+ yield {
251
+ openai_response_items: [{ index, item: structuredClone(item) }],
252
+ };
253
+ };
254
+ const processEvent = function* (event) {
255
+ const type = stringValue(event.type);
256
+ const response = record(event.response);
257
+ if (type === "error" || type === "response.failed") {
258
+ throw responsesError(event);
259
+ }
260
+ if (type === "response.created" || type === "response.in_progress") {
261
+ return;
262
+ }
263
+ if (type === "response.output_text.delta" || type === "response.refusal.delta") {
264
+ yield {
265
+ choices: [{ delta: { content: stringValue(event.delta) } }],
266
+ };
267
+ return;
268
+ }
269
+ if (type === "response.reasoning_summary_text.delta" ||
270
+ type === "response.reasoning_text.delta") {
271
+ yield {
272
+ choices: [{ delta: { reasoning_content: stringValue(event.delta) } }],
273
+ };
274
+ return;
275
+ }
276
+ if (type === "response.output_item.added") {
277
+ const item = record(event.item);
278
+ if (item.type !== "function_call")
279
+ return;
280
+ const index = toolIndex(event, tools.size);
281
+ const state = {
282
+ index,
283
+ id: stringValue(item.call_id),
284
+ name: stringValue(item.name),
285
+ arguments: stringValue(item.arguments),
286
+ headerEmitted: true,
287
+ };
288
+ tools.set(index, state);
289
+ yield {
290
+ ...toolDelta(state, {
291
+ id: state.id,
292
+ name: state.name,
293
+ ...(state.arguments ? { arguments: state.arguments } : {}),
294
+ }),
295
+ };
296
+ return;
297
+ }
298
+ if (type === "response.function_call_arguments.delta") {
299
+ const index = toolIndex(event, tools.size);
300
+ const state = tools.get(index) || {
301
+ index,
302
+ id: "",
303
+ name: "",
304
+ arguments: "",
305
+ headerEmitted: false,
306
+ };
307
+ const delta = stringValue(event.delta);
308
+ state.arguments += delta;
309
+ tools.set(index, state);
310
+ yield {
311
+ ...toolDelta(state, { arguments: delta }),
312
+ };
313
+ return;
314
+ }
315
+ if (type === "response.function_call_arguments.done" ||
316
+ type === "response.output_item.done") {
317
+ const item = record(event.item);
318
+ const index = toolIndex(event, tools.size);
319
+ if (type === "response.output_item.done") {
320
+ yield* captureOutputItem(index, item);
321
+ }
322
+ if (type === "response.output_item.done" && item.type !== "function_call") {
323
+ return;
324
+ }
325
+ const state = tools.get(index) || {
326
+ index,
327
+ id: "",
328
+ name: "",
329
+ arguments: "",
330
+ headerEmitted: false,
331
+ };
332
+ const id = stringValue(item.call_id) || state.id;
333
+ const name = stringValue(item.name) || state.name;
334
+ const completeArguments = stringValue(event.arguments) || stringValue(item.arguments);
335
+ const suffix = completeArguments.startsWith(state.arguments)
336
+ ? completeArguments.slice(state.arguments.length)
337
+ : state.arguments
338
+ ? ""
339
+ : completeArguments;
340
+ if (!state.headerEmitted || suffix) {
341
+ yield {
342
+ ...toolDelta(state, {
343
+ ...(!state.headerEmitted && id ? { id } : {}),
344
+ ...(!state.headerEmitted && name ? { name } : {}),
345
+ ...(suffix ? { arguments: suffix } : {}),
346
+ }),
347
+ };
348
+ }
349
+ state.id = id;
350
+ state.name = name;
351
+ state.arguments = completeArguments || state.arguments;
352
+ state.headerEmitted = true;
353
+ tools.set(index, state);
354
+ return;
355
+ }
356
+ if (type === "response.completed" || type === "response.incomplete") {
357
+ const completed = response;
358
+ if (Array.isArray(completed.output)) {
359
+ for (const [index, rawItem] of completed.output.entries()) {
360
+ // The completed response is authoritative and may carry fields such
361
+ // as encrypted_content that were absent from an earlier added/done
362
+ // event emitted by a compatible gateway.
363
+ yield* captureOutputItem(index, record(rawItem), true);
364
+ }
365
+ }
366
+ const incompleteDetails = record(completed.incomplete_details);
367
+ const incompleteReason = stringValue(incompleteDetails.reason);
368
+ yield {
369
+ ...(responsesUsage(completed.usage)
370
+ ? { usage: responsesUsage(completed.usage) }
371
+ : {}),
372
+ choices: [
373
+ {
374
+ delta: {},
375
+ finish_reason: type === "response.incomplete" || incompleteReason
376
+ ? incompleteReason === "max_output_tokens"
377
+ ? "length"
378
+ : "incomplete"
379
+ : tools.size
380
+ ? "tool_calls"
381
+ : "stop",
382
+ },
383
+ ],
384
+ };
385
+ }
386
+ };
387
+ const consumeFrame = function* (frame) {
388
+ const payload = frame
389
+ .split("\n")
390
+ .filter((line) => line.startsWith("data:"))
391
+ .map((line) => line.slice(5).trimStart())
392
+ .join("\n");
393
+ if (!payload || payload === "[DONE]")
394
+ return;
395
+ yield* processEvent(JSON.parse(payload));
396
+ };
397
+ while (true) {
398
+ const { done, value } = await reader.read();
399
+ buffer += decoder.decode(value, { stream: !done }).replace(/\r\n/g, "\n");
400
+ let boundary = buffer.indexOf("\n\n");
401
+ while (boundary !== -1) {
402
+ yield* consumeFrame(buffer.slice(0, boundary));
403
+ buffer = buffer.slice(boundary + 2);
404
+ boundary = buffer.indexOf("\n\n");
405
+ }
406
+ if (done)
407
+ break;
408
+ }
409
+ if (buffer)
410
+ yield* consumeFrame(buffer);
411
+ }
412
+ /** Translate a non-streaming Responses object into one Arena chunk. */
413
+ export function responsesFallbackChunk(value) {
414
+ const output = Array.isArray(value.output) ? value.output : [];
415
+ const content = [];
416
+ const reasoning = [];
417
+ const toolCalls = [];
418
+ for (const rawItem of output) {
419
+ const item = record(rawItem);
420
+ if (item.type === "message" && Array.isArray(item.content)) {
421
+ for (const rawPart of item.content) {
422
+ const part = record(rawPart);
423
+ if (part.type === "output_text" || part.type === "refusal") {
424
+ content.push(stringValue(part.text) || stringValue(part.refusal));
425
+ }
426
+ }
427
+ }
428
+ else if (item.type === "reasoning" && Array.isArray(item.summary)) {
429
+ for (const rawPart of item.summary) {
430
+ reasoning.push(stringValue(record(rawPart).text));
431
+ }
432
+ }
433
+ else if (item.type === "function_call") {
434
+ toolCalls.push({
435
+ index: toolCalls.length,
436
+ id: stringValue(item.call_id),
437
+ type: "function",
438
+ function: {
439
+ name: stringValue(item.name),
440
+ arguments: stringValue(item.arguments),
441
+ },
442
+ });
443
+ }
444
+ }
445
+ const incompleteDetails = record(value.incomplete_details);
446
+ const incompleteReason = stringValue(incompleteDetails.reason);
447
+ return {
448
+ openai_response_items: output.map((rawItem, index) => ({
449
+ index,
450
+ item: structuredClone(record(rawItem)),
451
+ })),
452
+ usage: responsesUsage(value.usage),
453
+ choices: [
454
+ {
455
+ delta: {
456
+ ...(content.length ? { content: content.join("") } : {}),
457
+ ...(reasoning.length
458
+ ? { reasoning_content: reasoning.join("") }
459
+ : {}),
460
+ ...(toolCalls.length ? { tool_calls: toolCalls } : {}),
461
+ },
462
+ finish_reason: incompleteReason
463
+ ? incompleteReason === "max_output_tokens"
464
+ ? "length"
465
+ : "incomplete"
466
+ : toolCalls.length
467
+ ? "tool_calls"
468
+ : "stop",
469
+ },
470
+ ],
471
+ };
472
+ }
473
+ //# sourceMappingURL=openai-responses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-responses.js","sourceRoot":"","sources":["../src/openai-responses.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ export interface ListeningPort {
2
+ port: number;
3
+ address: string;
4
+ }
5
+ export interface StartProcessOptions {
6
+ command: string;
7
+ cwd: string;
8
+ env: NodeJS.ProcessEnv;
9
+ name: string;
10
+ signal?: AbortSignal;
11
+ startupWaitSeconds: number;
12
+ }
13
+ export interface GetProcessOutputOptions {
14
+ processId: string;
15
+ signal?: AbortSignal;
16
+ tailLines: number;
17
+ waitFor?: "port" | "log" | "exit";
18
+ waitPattern?: string;
19
+ waitTimeoutSeconds: number;
20
+ }
21
+ export interface BackgroundProcessManagerOptions {
22
+ previewHostTemplate?: string;
23
+ previewProbeTimeoutMs?: number;
24
+ }
25
+ export declare function listeningPorts(): Promise<ListeningPort[]>;
26
+ export declare class BackgroundProcessManager {
27
+ private readonly processes;
28
+ private readonly logsRoot;
29
+ private readonly previewHostTemplate?;
30
+ private readonly previewProbeTimeoutMs;
31
+ constructor(workspace: string, options?: BackgroundProcessManagerOptions);
32
+ private alive;
33
+ private state;
34
+ start(options: StartProcessOptions): Promise<Record<string, unknown>>;
35
+ get(options: GetProcessOutputOptions): Promise<Record<string, unknown>>;
36
+ stop(processIdValue: string): Promise<Record<string, unknown>>;
37
+ }
38
+ export declare function processManagerForWorkspace(workspace: string): BackgroundProcessManager;