@rk0429/agentic-relay 16.0.0 → 16.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.
package/README.md CHANGED
@@ -89,7 +89,9 @@ inspect terminal tasks.
89
89
  agent entry includes `task_id`, only that task is auto-transitioned and
90
90
  auto-assigned from the spawned session.
91
91
 
92
- When `backend` is omitted, `spawn_agents` resolves it from `task_type`. The
92
+ `spawn_agents` normally resolves `backend` from `task_type`. Use `backend` only
93
+ as an exceptional override when you intentionally need a non-default backend;
94
+ requests that merely repeat the default route are rejected as redundant. The
93
95
  default routing is `orchestration/document_writing/code_review -> claude` and
94
96
  `research/document_review/code_writing -> codex`, with fallback to another
95
97
  installed backend if the preferred one is unavailable. Only
@@ -118,6 +120,13 @@ built-in default for backend auto-selection. `task_retention_days` prunes
118
120
  expired `done` / `archived` leaf tasks during subsequent task reads; terminal
119
121
  tasks with children or dependants are retained until they become isolated.
120
122
 
123
+ For Codex-backed leaf agents, relay also applies a narrow bootstrap guard:
124
+ sibling Codex launches are slightly staggered, and if a child emits
125
+ `thread.started` but never materializes its local state bootstrap, relay writes
126
+ diagnostics under `.relay/diagnostics/<session>/attempt-N/`, terminates the
127
+ stalled child, and retries once for read-only task types (`research`,
128
+ `document_review`, `code_review`).
129
+
121
130
  Persisted relay files are created with private permissions (`0600`), and a
122
131
  repeatable non-functional benchmark can be run with:
123
132
 
@@ -125,6 +134,13 @@ repeatable non-functional benchmark can be run with:
125
134
  pnpm benchmark:nf
126
135
  ```
127
136
 
137
+ To stress-test Codex bootstrap behavior and collect per-run artifacts under
138
+ `./tmp`, run:
139
+
140
+ ```bash
141
+ pnpm stress:codex-bootstrap -- --count 20 --concurrency 4
142
+ ```
143
+
128
144
  ## Use From This Workspace
129
145
 
130
146
  This workspace is configured to consume the published package via
@@ -5,6 +5,7 @@ import { CliBackendExecutor } from "../infrastructure/backends/cli-backend-execu
5
5
  import { RelayStore } from "../infrastructure/store/relay-store.js";
6
6
  export declare class SpawnAgentsService {
7
7
  private readonly dependencies;
8
+ private codexLaunchSlot;
8
9
  constructor(dependencies: {
9
10
  backendRegistry: BackendRegistry;
10
11
  backendExecutor: Pick<CliBackendExecutor, "execute">;
@@ -17,6 +18,8 @@ export declare class SpawnAgentsService {
17
18
  signal?: AbortSignal;
18
19
  }): Promise<SpawnAgentResult[]>;
19
20
  private spawnSingleAgent;
21
+ private executeWithBootstrapRecovery;
22
+ private waitForCodexLaunchWindow;
20
23
  private persistSuccess;
21
24
  private persistFailure;
22
25
  }
@@ -1,18 +1,33 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { DepthLimitError, ValidationError } from "../core/errors.js";
2
+ import path from "node:path";
3
+ import { DepthLimitError, RelayError, ValidationError } from "../core/errors.js";
3
4
  import { resolveConfiguredMaxDepth } from "../domain/config.js";
4
5
  import { getCurrentDepth, resolveMaxDepth, validateDepth } from "../domain/depth.js";
5
6
  import { buildCrossBackendHandoffPrompt, createCrossBackendHandoffInfo, } from "../domain/handoff.js";
6
7
  import { canSpawnAgents } from "../domain/redelegation.js";
7
8
  import { resolveRole } from "../domain/role.js";
8
- import { resolveBackend, validateRoutingRules } from "../domain/routing.js";
9
+ import { resolveBackend, resolvePreferredBackend, validateRoutingRules, } from "../domain/routing.js";
10
+ const CODEX_START_STAGGER_MS = 250;
11
+ const CODEX_BOOTSTRAP_GRACE_MS = 10_000;
12
+ const CODEX_BOOTSTRAP_POLL_INTERVAL_MS = 500;
13
+ const RETRYABLE_BOOTSTRAP_TASK_TYPES = new Set([
14
+ "research",
15
+ "document_review",
16
+ "code_review",
17
+ ]);
9
18
  export class SpawnAgentsService {
10
19
  dependencies;
20
+ codexLaunchSlot = Promise.resolve();
11
21
  constructor(dependencies) {
12
22
  this.dependencies = dependencies;
13
23
  }
14
24
  async spawnAgents(input, options = {}) {
15
25
  const env = this.dependencies.env ?? process.env;
26
+ if (env.RELAY_ALLOW_SPAWN_AGENTS === "0") {
27
+ throw new ValidationError("spawn_agents is disabled for this agent context.", {
28
+ recoveryHint: "Only orchestration agents can recursively call spawn_agents. Return your findings to the parent agent instead.",
29
+ });
30
+ }
16
31
  const currentDepth = getCurrentDepth(env);
17
32
  const relayConfig = await this.dependencies.store.readConfig();
18
33
  const maxDepth = resolveMaxDepth(input.max_depth, env, resolveConfiguredMaxDepth(relayConfig));
@@ -68,13 +83,24 @@ export class SpawnAgentsService {
68
83
  }
69
84
  }
70
85
  // --- Validation: at least one routing info must be available ---
71
- if (!resolvedTaskType && !resumeMetadata?.backend) {
86
+ if (!resolvedTaskType && !resumeMetadata?.backend && !agent.backend) {
72
87
  throw new ValidationError('Either "role" or "task_type" must be specified', {
73
88
  recoveryHint: 'Specify role (e.g. "code-writer") or task_type (e.g. "code_writing") in each agent definition.',
74
89
  });
75
90
  }
91
+ if (agent.backend && resolvedTaskType) {
92
+ const preferredBackend = resolvePreferredBackend({
93
+ taskType: resolvedTaskType,
94
+ routingRules,
95
+ });
96
+ if (agent.backend === preferredBackend) {
97
+ throw new ValidationError(`Explicit backend override "${agent.backend}" is redundant for task_type "${resolvedTaskType}".`, {
98
+ recoveryHint: "Omit backend in normal cases and let task_type-based routing choose it. Set backend only when you intentionally need a non-default backend.",
99
+ });
100
+ }
101
+ }
76
102
  routing = resolveBackend({
77
- explicitBackend: resolvedTaskType ? undefined : resumeMetadata?.backend,
103
+ explicitBackend: agent.backend ?? (resolvedTaskType ? undefined : resumeMetadata?.backend),
78
104
  taskType: resolvedTaskType,
79
105
  installedBackends,
80
106
  routingRules,
@@ -126,7 +152,7 @@ export class SpawnAgentsService {
126
152
  });
127
153
  }
128
154
  try {
129
- executionResult = await this.dependencies.backendExecutor.execute({
155
+ executionResult = await this.executeWithBootstrapRecovery({
130
156
  relaySessionId,
131
157
  backend: routing.resolved,
132
158
  prompt,
@@ -134,7 +160,6 @@ export class SpawnAgentsService {
134
160
  backendSessionId: handoff
135
161
  ? undefined
136
162
  : resumeMetadata?.backendSessionId ?? agent.session_id,
137
- cwd: this.dependencies.cwd,
138
163
  env: {
139
164
  ...process.env,
140
165
  ...(this.dependencies.env ?? {}),
@@ -143,6 +168,8 @@ export class SpawnAgentsService {
143
168
  RELAY_AGENT_ID: relaySessionId,
144
169
  RELAY_ALLOW_SPAWN_AGENTS: canSpawnAgents(resolvedTaskType) ? "1" : "0",
145
170
  },
171
+ resolvedTaskType,
172
+ agent,
146
173
  signal,
147
174
  });
148
175
  }
@@ -194,6 +221,62 @@ export class SpawnAgentsService {
194
221
  summaryLength,
195
222
  });
196
223
  }
224
+ async executeWithBootstrapRecovery(options) {
225
+ const maxAttempts = shouldRetryBootstrapStall(options.backend, options.resolvedTaskType) ? 2 : 1;
226
+ for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
227
+ if (options.backend === "codex") {
228
+ await this.waitForCodexLaunchWindow();
229
+ }
230
+ try {
231
+ const result = await this.dependencies.backendExecutor.execute({
232
+ relaySessionId: options.relaySessionId,
233
+ backend: options.backend,
234
+ prompt: options.prompt,
235
+ systemPrompt: options.systemPrompt,
236
+ backendSessionId: options.backendSessionId,
237
+ cwd: this.dependencies.cwd,
238
+ env: options.env,
239
+ signal: options.signal,
240
+ bootstrapWatchdog: options.backend === "codex"
241
+ ? {
242
+ graceMs: CODEX_BOOTSTRAP_GRACE_MS,
243
+ pollIntervalMs: CODEX_BOOTSTRAP_POLL_INTERVAL_MS,
244
+ diagnosticsDir: path.join(this.dependencies.cwd, ".relay", "diagnostics", options.relaySessionId, `attempt-${attempt}`),
245
+ }
246
+ : undefined,
247
+ });
248
+ return result;
249
+ }
250
+ catch (error) {
251
+ if (attempt < maxAttempts &&
252
+ isBootstrapStallError(error)) {
253
+ await this.dependencies.store.appendLog(createLogEntry({
254
+ sessionId: options.relaySessionId,
255
+ taskId: options.agent.task_id,
256
+ backend: options.backend,
257
+ eventType: "agent_bootstrap_stalled",
258
+ status: "error",
259
+ details: {
260
+ attempt,
261
+ retry_scheduled: true,
262
+ error: error.message,
263
+ ...(typeof error.causeData === "object" && error.causeData
264
+ ? error.causeData
265
+ : {}),
266
+ },
267
+ }));
268
+ continue;
269
+ }
270
+ throw error;
271
+ }
272
+ }
273
+ throw new RelayError("BACKEND_BOOTSTRAP_STALLED", "Codex bootstrap recovery exhausted.");
274
+ }
275
+ async waitForCodexLaunchWindow() {
276
+ const previous = this.codexLaunchSlot;
277
+ this.codexLaunchSlot = previous.then(() => delay(CODEX_START_STAGGER_MS));
278
+ await previous;
279
+ }
197
280
  async persistSuccess(options) {
198
281
  const summary = summarize(options.executionResult.output, options.summaryLength);
199
282
  const responsePath = await this.dependencies.store.writeResponse(options.relaySessionId, options.executionResult.output);
@@ -215,6 +298,11 @@ export class SpawnAgentsService {
215
298
  backend: options.backend,
216
299
  eventType: "agent_completed",
217
300
  status: "success",
301
+ details: {
302
+ process_id: options.executionResult.runtime?.processId,
303
+ backend_thread_id: options.executionResult.runtime?.backendThreadId,
304
+ bootstrap_completed: options.executionResult.runtime?.bootstrapCompleted,
305
+ },
218
306
  }));
219
307
  if (options.agent.task_id) {
220
308
  await this.dependencies.taskService?.onAgentCompleted({
@@ -244,6 +332,7 @@ export class SpawnAgentsService {
244
332
  }
245
333
  async persistFailure(options) {
246
334
  const message = options.error instanceof Error ? options.error.message : String(options.error);
335
+ const relayError = options.error instanceof RelayError ? options.error : undefined;
247
336
  const responsePath = await this.dependencies.store.writeResponse(options.relaySessionId, message);
248
337
  const backend = options.backend ?? "claude";
249
338
  await this.dependencies.store.appendLog(createLogEntry({
@@ -254,9 +343,13 @@ export class SpawnAgentsService {
254
343
  status: "error",
255
344
  details: {
256
345
  error: message,
346
+ error_code: relayError?.code,
257
347
  role: options.agent.role,
258
348
  task_type: options.agent.task_type,
259
349
  fallback_reason: options.routing?.fallbackReason,
350
+ ...(typeof relayError?.causeData === "object" && relayError.causeData
351
+ ? relayError.causeData
352
+ : {}),
260
353
  },
261
354
  }));
262
355
  if (options.agent.task_id) {
@@ -290,6 +383,17 @@ export class SpawnAgentsService {
290
383
  };
291
384
  }
292
385
  }
386
+ function shouldRetryBootstrapStall(backend, taskType) {
387
+ return backend === "codex" && taskType !== undefined && RETRYABLE_BOOTSTRAP_TASK_TYPES.has(taskType);
388
+ }
389
+ function isBootstrapStallError(error) {
390
+ return error instanceof RelayError && error.code === "BACKEND_BOOTSTRAP_STALLED";
391
+ }
392
+ function delay(ms) {
393
+ return new Promise((resolve) => {
394
+ setTimeout(resolve, ms);
395
+ });
396
+ }
293
397
  function buildAgentSystemPrompt(roleDefinitionBody, userSystemPrompt, relaySessionId) {
294
398
  const relayInstruction = [
295
399
  "You are running as an agentic-relay child agent.",
@@ -1 +1 @@
1
- {"version":3,"file":"spawn-agents-service.js","sourceRoot":"","sources":["../../src/application/spawn-agents-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spawn-agents-service.js","sourceRoot":"","sources":["../../src/application/spawn-agents-service.ts"],"names":[],"mappings":"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"}
@@ -286,6 +286,7 @@ export interface SpawnAgentInput {
286
286
  prompt: string;
287
287
  task_id?: string;
288
288
  task_type?: TaskType;
289
+ backend?: BackendType;
289
290
  session_id?: string;
290
291
  system_prompt?: string;
291
292
  }
@@ -339,7 +340,7 @@ export interface LogEntry {
339
340
  session_id: string;
340
341
  task_id?: string;
341
342
  backend?: BackendType;
342
- event_type: "agent_spawned" | "agent_completed" | "agent_failed" | "routing_fallback" | "task_status_changed";
343
+ event_type: "agent_spawned" | "agent_completed" | "agent_failed" | "agent_bootstrap_stalled" | "routing_fallback" | "task_status_changed";
343
344
  status: "running" | "success" | "error";
344
345
  details?: Record<string, unknown>;
345
346
  }
@@ -378,8 +379,23 @@ export interface SpawnExecutionRequest {
378
379
  cwd: string;
379
380
  env: NodeJS.ProcessEnv;
380
381
  signal?: AbortSignal;
382
+ bootstrapWatchdog?: BootstrapWatchdogConfig;
383
+ }
384
+ export interface BootstrapWatchdogConfig {
385
+ graceMs?: number;
386
+ pollIntervalMs?: number;
387
+ codexHome?: string;
388
+ diagnosticsDir?: string;
389
+ collectProcessArtifacts?: boolean;
390
+ }
391
+ export interface BackendExecutionRuntimeInfo {
392
+ processId?: number;
393
+ backendThreadId?: string;
394
+ bootstrapCompleted?: boolean;
395
+ diagnosticsDir?: string;
381
396
  }
382
397
  export interface BackendExecutionResult {
383
398
  output: string;
384
399
  backendSessionId: string;
400
+ runtime?: BackendExecutionRuntimeInfo;
385
401
  }
@@ -1,5 +1,9 @@
1
1
  import { type BackendType, type RoutingRules, type RoutingInfo, type TaskType } from "../core/types.js";
2
2
  export declare const DEFAULT_ROUTING: Record<TaskType, BackendType>;
3
+ export declare function resolvePreferredBackend(options: {
4
+ taskType: TaskType;
5
+ routingRules?: RoutingRules;
6
+ }): BackendType;
3
7
  export declare function assertValidBackend(backend: string | undefined): backend is BackendType;
4
8
  export declare function assertValidTaskType(taskType: string | undefined): taskType is TaskType;
5
9
  export declare function resolveBackend(options: {
@@ -9,6 +9,13 @@ export const DEFAULT_ROUTING = {
9
9
  code_writing: "codex",
10
10
  };
11
11
  const FALLBACK_ORDER = ["claude", "codex", "gemini"];
12
+ export function resolvePreferredBackend(options) {
13
+ const { taskType, routingRules } = options;
14
+ return {
15
+ ...DEFAULT_ROUTING,
16
+ ...(routingRules ?? {}),
17
+ }[taskType];
18
+ }
12
19
  export function assertValidBackend(backend) {
13
20
  return backend !== undefined && BACKEND_TYPES.includes(backend);
14
21
  }
@@ -44,10 +51,10 @@ export function resolveBackend(options) {
44
51
  recoveryHint: 'Specify role (e.g. "code-writer") or task_type (e.g. "code_writing") in each agent definition.',
45
52
  });
46
53
  }
47
- const preferred = {
48
- ...DEFAULT_ROUTING,
49
- ...(routingRules ?? {}),
50
- }[taskType];
54
+ const preferred = resolvePreferredBackend({
55
+ taskType,
56
+ routingRules,
57
+ });
51
58
  if (installedBackends.includes(preferred)) {
52
59
  return {
53
60
  resolved: preferred,
@@ -1 +1 @@
1
- {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/domain/routing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/domain/routing.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
2
2
  import os from "node:os";
3
3
  import path from "node:path";
4
4
  import { RelayError } from "../../core/errors.js";
5
+ import { CodexBootstrapTracker, startCodexBootstrapWatchdog, } from "../diagnostics/codex-bootstrap.js";
5
6
  export class CliBackendExecutor {
6
7
  backendRegistry;
7
8
  processExecutor;
@@ -52,17 +53,69 @@ export class CliBackendExecutor {
52
53
  async executeCodex(request, command, cliFlags, tempDir) {
53
54
  const outputFile = path.join(tempDir, "codex-last-message.txt");
54
55
  const args = request.backendSessionId
55
- ? ["exec", "resume", request.backendSessionId]
56
+ ? ["exec", "resume"]
56
57
  : ["exec"];
58
+ const relayMcpEnvOverride = buildCodexRelayMcpEnvOverride(request.env);
59
+ const bootstrapTracker = new CodexBootstrapTracker();
60
+ let processKiller;
61
+ if (relayMcpEnvOverride) {
62
+ args.push("-c", relayMcpEnvOverride);
63
+ }
57
64
  const prompt = applySystemPrompt(request.prompt, request.systemPrompt);
58
- args.push("--json", "-o", outputFile, ...cliFlags, prompt);
59
- const result = await this.processExecutor.execute({
60
- command,
61
- args,
62
- cwd: request.cwd,
63
- env: request.env,
64
- signal: request.signal,
65
- });
65
+ args.push("--json", "-o", outputFile, ...cliFlags);
66
+ if (request.backendSessionId) {
67
+ args.push(request.backendSessionId);
68
+ }
69
+ args.push(prompt);
70
+ const watchdog = request.bootstrapWatchdog
71
+ ? startCodexBootstrapWatchdog({
72
+ tracker: bootstrapTracker,
73
+ killProcess: (signal) => processKiller?.(signal) ?? false,
74
+ diagnosticsDir: request.bootstrapWatchdog.diagnosticsDir ??
75
+ path.join(request.cwd, ".relay", "diagnostics", request.relaySessionId),
76
+ codexHome: request.bootstrapWatchdog.codexHome,
77
+ graceMs: request.bootstrapWatchdog.graceMs,
78
+ pollIntervalMs: request.bootstrapWatchdog.pollIntervalMs,
79
+ collectProcessArtifacts: request.bootstrapWatchdog.collectProcessArtifacts,
80
+ })
81
+ : null;
82
+ let result;
83
+ try {
84
+ result = await this.processExecutor.execute({
85
+ command,
86
+ args,
87
+ cwd: request.cwd,
88
+ env: request.env,
89
+ signal: request.signal,
90
+ observer: {
91
+ onSpawn: ({ pid, kill }) => {
92
+ bootstrapTracker.onSpawn(pid);
93
+ processKiller = kill;
94
+ },
95
+ onStdout: (chunk) => {
96
+ bootstrapTracker.onStdout(chunk);
97
+ },
98
+ onStderr: (chunk) => {
99
+ bootstrapTracker.onStderr(chunk);
100
+ },
101
+ },
102
+ });
103
+ }
104
+ finally {
105
+ watchdog?.stop();
106
+ }
107
+ const watchdogResult = watchdog ? await watchdog.result : null;
108
+ if (watchdogResult) {
109
+ throw new RelayError("BACKEND_BOOTSTRAP_STALLED", `Codex child bootstrap stalled before state persistence was materialized. Diagnostics: ${watchdogResult.diagnosticsDir}`, {
110
+ causeData: {
111
+ process_id: bootstrapTracker.snapshot().processId,
112
+ backend_thread_id: bootstrapTracker.snapshot().threadId,
113
+ diagnostics_dir: watchdogResult.diagnosticsDir,
114
+ probe: watchdogResult.probe,
115
+ },
116
+ recoveryHint: "Inspect the captured diagnostics bundle, then retry the child agent once bootstrap contention subsides.",
117
+ });
118
+ }
66
119
  const output = await safeReadFile(outputFile);
67
120
  if (result.exitCode !== 0) {
68
121
  throw new RelayError("BACKEND_EXECUTION_FAILED", result.stderr.trim() || output.trim() || "Codex execution failed.");
@@ -73,6 +126,11 @@ export class CliBackendExecutor {
73
126
  return {
74
127
  output: output.trim() || extractText(result.stdout).trim(),
75
128
  backendSessionId,
129
+ runtime: {
130
+ processId: bootstrapTracker.snapshot().processId,
131
+ backendThreadId: bootstrapTracker.snapshot().threadId,
132
+ bootstrapCompleted: bootstrapTracker.snapshot().bootstrapCompleted,
133
+ },
76
134
  };
77
135
  }
78
136
  async executeGemini(request, command, settingsOverrides, tempDir) {
@@ -117,6 +175,69 @@ function applySystemPrompt(prompt, systemPrompt) {
117
175
  prompt,
118
176
  ].join("\n");
119
177
  }
178
+ const CODEX_RELAY_ENV_KEYS = [
179
+ "RELAY_CALL_DEPTH",
180
+ "RELAY_MAX_DEPTH",
181
+ "RELAY_AGENT_ID",
182
+ "RELAY_ALLOW_SPAWN_AGENTS",
183
+ ];
184
+ function buildCodexRelayMcpEnvOverride(env) {
185
+ const entries = CODEX_RELAY_ENV_KEYS.flatMap((key) => {
186
+ const value = env?.[key];
187
+ return value === undefined ? [] : [[key, value]];
188
+ });
189
+ if (entries.length === 0) {
190
+ return undefined;
191
+ }
192
+ const inlineTable = entries
193
+ .map(([key, value]) => `${key}=${formatTomlBasicString(value)}`)
194
+ .join(", ");
195
+ return `mcp_servers.agentic-relay.env={${inlineTable}}`;
196
+ }
197
+ function formatTomlBasicString(value) {
198
+ let escaped = "";
199
+ for (const char of value) {
200
+ switch (char) {
201
+ case "\"":
202
+ escaped += "\\\"";
203
+ break;
204
+ case "\\":
205
+ escaped += "\\\\";
206
+ break;
207
+ case "\b":
208
+ escaped += "\\b";
209
+ break;
210
+ case "\t":
211
+ escaped += "\\t";
212
+ break;
213
+ case "\n":
214
+ escaped += "\\n";
215
+ break;
216
+ case "\f":
217
+ escaped += "\\f";
218
+ break;
219
+ case "\r":
220
+ escaped += "\\r";
221
+ break;
222
+ default: {
223
+ const codePoint = char.codePointAt(0);
224
+ if (codePoint === undefined) {
225
+ break;
226
+ }
227
+ if (codePoint > 0xFFFF) {
228
+ escaped += `\\U${codePoint.toString(16).padStart(8, "0")}`;
229
+ break;
230
+ }
231
+ if (codePoint < 0x20 || codePoint === 0x7F) {
232
+ escaped += `\\u${codePoint.toString(16).padStart(4, "0")}`;
233
+ break;
234
+ }
235
+ escaped += char;
236
+ }
237
+ }
238
+ }
239
+ return `"${escaped}"`;
240
+ }
120
241
  async function safeReadFile(filePath) {
121
242
  try {
122
243
  return await readFile(filePath, "utf8");
@@ -1 +1 @@
1
- {"version":3,"file":"cli-backend-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/backends/cli-backend-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-backend-executor.js","sourceRoot":"","sources":["../../../src/infrastructure/backends/cli-backend-executor.ts"],"names":[],"mappings":"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"}