@mono-agent/agent-app 0.17.1 → 0.18.1

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 (37) hide show
  1. package/README.md +3 -0
  2. package/dist/acp-bridge.d.ts.map +1 -1
  3. package/dist/acp-bridge.js +287 -58
  4. package/dist/acp-bridge.js.map +1 -1
  5. package/dist/acp-discovery-command.d.ts +9 -0
  6. package/dist/acp-discovery-command.d.ts.map +1 -0
  7. package/dist/acp-discovery-command.js +9 -0
  8. package/dist/acp-discovery-command.js.map +1 -0
  9. package/dist/app-controller-responder.d.ts +3 -3
  10. package/dist/app-controller-responder.d.ts.map +1 -1
  11. package/dist/app-controller-responder.js.map +1 -1
  12. package/dist/app-controller.d.ts +2 -2
  13. package/dist/app-controller.d.ts.map +1 -1
  14. package/dist/app-controller.js.map +1 -1
  15. package/dist/channel-drivers/tui.d.ts.map +1 -1
  16. package/dist/channel-drivers/tui.js +24 -1
  17. package/dist/channel-drivers/tui.js.map +1 -1
  18. package/dist/cli-args.d.ts +2 -0
  19. package/dist/cli-args.d.ts.map +1 -1
  20. package/dist/cli-args.js +11 -3
  21. package/dist/cli-args.js.map +1 -1
  22. package/dist/cli-commands.d.ts.map +1 -1
  23. package/dist/cli-commands.js +4 -0
  24. package/dist/cli-commands.js.map +1 -1
  25. package/dist/cli-help.d.ts.map +1 -1
  26. package/dist/cli-help.js +7 -10
  27. package/dist/cli-help.js.map +1 -1
  28. package/dist/configured-agent.d.ts +3 -3
  29. package/dist/configured-agent.d.ts.map +1 -1
  30. package/dist/configured-agent.js.map +1 -1
  31. package/dist/readiness-probe-worker.d.ts +2 -2
  32. package/dist/readiness-probe-worker.d.ts.map +1 -1
  33. package/dist/readiness-probe-worker.js +2 -2
  34. package/dist/readiness-probe-worker.js.map +1 -1
  35. package/dist/readiness-probe.d.ts.map +1 -1
  36. package/dist/readiness-probe.js.map +1 -1
  37. package/package.json +15 -15
package/README.md CHANGED
@@ -61,6 +61,9 @@ Turn a folder's `mono-agent.config.json` into a running agent host:
61
61
  lifecycle.
62
62
  - Operate the machine-wide `@mono-agent/web` assistant-ui console through
63
63
  `mono-agent web`; use `mono-agent tui` for bounded recorded-run replay.
64
+ - Discover and expose one exact running agent through the Worklab-oriented ACP
65
+ core-session profile with `mono-agent bridge acp` while preserving agent-owned
66
+ configuration, workspace, sandbox, tools, MCP servers, and credentials.
64
67
 
65
68
  ## Install / Usage
66
69
 
@@ -1 +1 @@
1
- {"version":3,"file":"acp-bridge.d.ts","sourceRoot":"","sources":["../src/acp-bridge.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA4CjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;CAC3C;AAaD,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CAiGhF"}
1
+ {"version":3,"file":"acp-bridge.d.ts","sourceRoot":"","sources":["../src/acp-bridge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0DjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,0DAA0D;IAC1D,QAAQ,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;CAC3C;AAaD,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,CA4FhF"}
@@ -1,10 +1,11 @@
1
1
  import { randomUUID } from "node:crypto";
2
- import { delimiter, isAbsolute } from "node:path";
2
+ import { realpath } from "node:fs/promises";
3
+ import { delimiter, isAbsolute, resolve } from "node:path";
3
4
  import process from "node:process";
4
5
  import { Readable, Writable } from "node:stream";
5
6
  import { PROTOCOL_VERSION, RequestError, agent, methods, ndJsonStream, } from "@agentclientprotocol/sdk";
6
- import { OperatorClient, discoverOperatorAgents, } from "@mono-agent/web";
7
- import { monoAgentVersion } from "./cli-help.js";
7
+ import { OperatorClient, discoverAcpBridgeAgents, discoverOperatorAgents, } from "@mono-agent/web";
8
+ import { agentAppPackageVersion } from "./package-version.js";
8
9
  const FORWARDED_TOOL_ENVIRONMENT_KEYS = [
9
10
  "MULTICA_TOKEN",
10
11
  "MULTICA_SERVER_URL",
@@ -22,13 +23,17 @@ const FORWARDED_TOOL_ENVIRONMENT_KEYS = [
22
23
  const SESSION_UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/iu;
23
24
  const BRIDGE_ERROR_CODE = -32000;
24
25
  const MAX_TOOL_CONTENT_CHARS = 64 * 1024;
26
+ const ASK_DISCOVERY_TIMEOUT_MS = 2_000;
27
+ const ASK_DISCOVERY_INTERVAL_MS = 25;
28
+ const CUSTOM_OPTION_ID = "__mono_agent_custom__";
29
+ const SENSITIVE_ASK_PATTERN = /\b(?:api[ _-]?key|credential|password|passphrase|private[ _-]?key|secret|token)\b/iu;
25
30
  export async function runAcpBridge(options) {
26
31
  const env = options.env ?? process.env;
27
32
  const input = options.input ?? process.stdin;
28
33
  const output = options.output ?? process.stdout;
29
34
  const stderr = options.stderr ?? process.stderr;
30
35
  const resolveTarget = async (signal) => {
31
- const discovered = await resolveExactSource(options.sourceId, env);
36
+ const { discovered, descriptor } = await resolveExactSource(options.sourceId, env);
32
37
  const client = new OperatorClient({
33
38
  baseUrl: discovered.baseUrl,
34
39
  ...(discovered.apiKey === undefined ? {} : { apiKey: discovered.apiKey }),
@@ -37,7 +42,7 @@ export async function runAcpBridge(options) {
37
42
  if (options.requireToolEnvironment === true && info.supportsToolEnvironment !== true) {
38
43
  throw bridgeError("tool_environment_unavailable", `mono-agent source '${options.sourceId}' does not advertise request tool environment support.`);
39
44
  }
40
- return { discovered, client, info };
45
+ return { descriptor, client, info };
41
46
  };
42
47
  try {
43
48
  await resolveTarget(AbortSignal.timeout(5_000));
@@ -47,40 +52,34 @@ export async function runAcpBridge(options) {
47
52
  return 1;
48
53
  }
49
54
  const activeTurns = new Map();
55
+ const sessions = new Set();
56
+ let clientSupportsFormElicitation = false;
50
57
  const app = agent({ name: `mono-agent ACP bridge (${options.sourceId})` });
51
- app.onRequest(methods.agent.initialize, async ({ signal }) => {
58
+ app.onRequest(methods.agent.initialize, async ({ params, signal }) => {
59
+ rejectUnsupportedClientCapabilities(params.clientCapabilities);
60
+ clientSupportsFormElicitation = params.clientCapabilities?.elicitation?.form != null;
52
61
  const target = await requestTarget(resolveTarget, signal);
53
62
  return {
54
63
  protocolVersion: PROTOCOL_VERSION,
55
64
  agentCapabilities: {
56
- loadSession: true,
57
65
  promptCapabilities: { image: false, audio: false, embeddedContext: false },
58
- sessionCapabilities: { resume: {} },
59
66
  },
60
67
  authMethods: [],
61
68
  agentInfo: {
62
69
  name: "mono-agent-acp-bridge",
63
70
  title: target.info.label ?? options.sourceId,
64
- version: monoAgentVersion(),
71
+ version: agentAppPackageVersion() ?? "unknown",
65
72
  },
73
+ _meta: { "mono-agent": target.descriptor },
66
74
  };
67
75
  });
68
76
  app.onRequest(methods.agent.session.new, async ({ params, signal }) => {
69
77
  rejectUnsupportedSessionInputs(params.mcpServers, params.additionalDirectories);
70
- await requestTarget(resolveTarget, signal);
71
- return { sessionId: newSessionId(options.sourceId) };
72
- });
73
- app.onRequest(methods.agent.session.load, async ({ params, signal }) => {
74
- validateSessionId(params.sessionId, options.sourceId);
75
- rejectUnsupportedSessionInputs(params.mcpServers, params.additionalDirectories);
76
- await requestTarget(resolveTarget, signal);
77
- return {};
78
- });
79
- app.onRequest(methods.agent.session.resume, async ({ params, signal }) => {
80
- validateSessionId(params.sessionId, options.sourceId);
81
- rejectUnsupportedSessionInputs(params.mcpServers ?? [], params.additionalDirectories);
82
- await requestTarget(resolveTarget, signal);
83
- return {};
78
+ const target = await requestTarget(resolveTarget, signal);
79
+ await assertAgentWorkspace(params.cwd, target.descriptor.workspace.path);
80
+ const sessionId = newSessionId(options.sourceId);
81
+ sessions.add(sessionId);
82
+ return { sessionId };
84
83
  });
85
84
  app.onRequest(methods.agent.session.prompt, async (context) => {
86
85
  return await runPrompt(context, {
@@ -88,10 +87,14 @@ export async function runAcpBridge(options) {
88
87
  env,
89
88
  resolveTarget,
90
89
  activeTurns,
90
+ sessions,
91
+ clientSupportsFormElicitation: () => clientSupportsFormElicitation,
91
92
  });
92
93
  });
93
94
  app.onNotification(methods.agent.session.cancel, async ({ params }) => {
94
95
  validateSessionId(params.sessionId, options.sourceId);
96
+ if (!sessions.has(params.sessionId))
97
+ return;
95
98
  const active = activeTurns.get(params.sessionId);
96
99
  if (active === undefined)
97
100
  return;
@@ -110,7 +113,10 @@ export async function runAcpBridge(options) {
110
113
  async function runPrompt(context, options) {
111
114
  const { params } = context;
112
115
  validateSessionId(params.sessionId, options.sourceId);
113
- const text = textPrompt(params.prompt);
116
+ if (!options.sessions.has(params.sessionId)) {
117
+ throw RequestError.invalidParams({ code: "unknown_session_id" }, "The ACP session was not created by this bridge connection.");
118
+ }
119
+ const text = promptText(params.prompt);
114
120
  if (options.activeTurns.has(params.sessionId)) {
115
121
  throw bridgeError("session_busy", `ACP session '${params.sessionId}' already has an active turn.`);
116
122
  }
@@ -120,7 +126,7 @@ async function runPrompt(context, options) {
120
126
  const active = { controller, client: target.client };
121
127
  options.activeTurns.set(params.sessionId, active);
122
128
  let publishedText = "";
123
- let usage;
129
+ let interactionStopReason;
124
130
  const toolNames = new Map();
125
131
  const messageId = `mono-agent:${String(context.requestId)}`;
126
132
  const cancelOperator = () => {
@@ -177,12 +183,29 @@ async function runPrompt(context, options) {
177
183
  return;
178
184
  }
179
185
  if (frame.kind === "event") {
180
- usage = await publishEvent(context, params.sessionId, frame.event, target.info, toolNames, usage);
181
- const toolName = toolNameFromEvent(frame.event, toolNames);
182
- if (toolName?.toLowerCase() === "askuser") {
183
- await target.client.cancel(params.sessionId).catch(() => undefined);
184
- controller.abort(new Error("AskUser requires an interactive client."));
185
- throw bridgeError("interaction_required", "mono-agent requested AskUser, but the Multica ACP bridge is non-interactive.");
186
+ await publishEvent(context, params.sessionId, frame.event, target.info, toolNames);
187
+ if (frame.event.type === "tool_call_started"
188
+ && frame.event.name.toLowerCase() === "askuser") {
189
+ let action;
190
+ try {
191
+ action = await handleAskUser(context, {
192
+ target,
193
+ sessionId: params.sessionId,
194
+ toolCallId: frame.event.id,
195
+ signal,
196
+ clientSupportsFormElicitation: options.clientSupportsFormElicitation(),
197
+ });
198
+ }
199
+ catch (error) {
200
+ await target.client.cancel(params.sessionId).catch(() => undefined);
201
+ controller.abort(new Error("AskUser ACP interaction failed."));
202
+ throw error;
203
+ }
204
+ if (action !== "accept") {
205
+ interactionStopReason = action === "decline" ? "refusal" : "cancelled";
206
+ await target.client.cancel(params.sessionId).catch(() => undefined);
207
+ controller.abort(new Error(`ACP client ${action}d AskUser.`));
208
+ }
186
209
  }
187
210
  }
188
211
  },
@@ -190,15 +213,17 @@ async function runPrompt(context, options) {
190
213
  if (result.finalText !== undefined)
191
214
  await publishText(result.finalText);
192
215
  return {
193
- stopReason: signal.aborted ? "cancelled" : "end_turn",
194
- ...(usage === undefined ? {} : { usage }),
216
+ stopReason: interactionStopReason ?? (signal.aborted ? "cancelled" : "end_turn"),
195
217
  };
196
218
  }
197
219
  catch (error) {
198
220
  if (error instanceof RequestError)
199
221
  throw error;
200
- if (signal.aborted)
201
- return { stopReason: "cancelled", ...(usage === undefined ? {} : { usage }) };
222
+ if (signal.aborted) {
223
+ return {
224
+ stopReason: interactionStopReason ?? "cancelled",
225
+ };
226
+ }
202
227
  const code = codedErrorCode(error) ?? "operator_turn_failed";
203
228
  throw bridgeError(code, `mono-agent operator turn failed: ${errorMessage(error)}`);
204
229
  }
@@ -208,13 +233,170 @@ async function runPrompt(context, options) {
208
233
  options.activeTurns.delete(params.sessionId);
209
234
  }
210
235
  }
211
- async function publishEvent(context, sessionId, event, info, toolNames, currentUsage) {
236
+ async function handleAskUser(context, options) {
237
+ if (!options.clientSupportsFormElicitation || !options.target.info.supportsAskUser) {
238
+ await options.target.client.cancel(options.sessionId).catch(() => undefined);
239
+ throw bridgeError("interaction_required", "mono-agent requested AskUser, but this ACP client/source pair does not support form elicitation.");
240
+ }
241
+ const ask = await waitForPendingAsk(options.target.client, options.sessionId, options.signal);
242
+ if (ask === undefined) {
243
+ await options.target.client.cancel(options.sessionId).catch(() => undefined);
244
+ throw bridgeError("interaction_unavailable", "mono-agent requested AskUser, but its pending interaction was not available.");
245
+ }
246
+ if (containsSensitiveAsk(ask)) {
247
+ await options.target.client.cancel(options.sessionId).catch(() => undefined);
248
+ throw bridgeError("sensitive_elicitation_unsupported", "mono-agent AskUser requested potentially sensitive input; the ACP form bridge refuses secret collection.");
249
+ }
250
+ const form = buildAskForm(ask);
251
+ const response = await context.client.request(methods.client.elicitation.create, {
252
+ mode: "form",
253
+ sessionId: options.sessionId,
254
+ toolCallId: options.toolCallId,
255
+ message: ask.message?.trim() || "mono-agent needs your input to continue.",
256
+ requestedSchema: {
257
+ type: "object",
258
+ properties: form.properties,
259
+ required: form.fields.map((field) => field.answerKey),
260
+ },
261
+ }, { cancellationSignal: options.signal });
262
+ if (response.action === "decline" || response.action === "cancel")
263
+ return response.action;
264
+ if (response.action !== "accept") {
265
+ throw bridgeError("invalid_elicitation_response", `Unsupported ACP elicitation action '${response.action}'.`);
266
+ }
267
+ const answers = answersFromElicitation(response, form.fields);
268
+ const submitted = await options.target.client.submitAsk(options.sessionId, ask.interactionId, answers, options.signal);
269
+ if (!submitted.accepted) {
270
+ throw bridgeError("ask_submission_rejected", `mono-agent rejected the ACP AskUser response (${submitted.code ?? "unknown"}).`);
271
+ }
272
+ return "accept";
273
+ }
274
+ async function waitForPendingAsk(client, sessionId, signal) {
275
+ const deadline = Date.now() + ASK_DISCOVERY_TIMEOUT_MS;
276
+ for (;;) {
277
+ signal.throwIfAborted();
278
+ const ask = await client.pendingAsk(sessionId, signal);
279
+ if (ask !== undefined)
280
+ return ask;
281
+ if (Date.now() >= deadline)
282
+ return undefined;
283
+ await abortableDelay(ASK_DISCOVERY_INTERVAL_MS, signal);
284
+ }
285
+ }
286
+ function buildAskForm(ask) {
287
+ const questions = ask.questions.slice(ask.activeQuestionIndex);
288
+ if (questions.length === 0) {
289
+ throw bridgeError("invalid_ask_snapshot", "mono-agent returned an AskUser interaction with no pending questions.");
290
+ }
291
+ const properties = {};
292
+ const fields = questions.map((question, index) => {
293
+ const answerKey = `question_${String(index + 1)}`;
294
+ const customKey = `${answerKey}_other`;
295
+ let customOptionId = CUSTOM_OPTION_ID;
296
+ while (question.options.some((option) => option.id === customOptionId))
297
+ customOptionId += "_";
298
+ const options = [
299
+ ...question.options.map((option) => ({
300
+ const: option.id,
301
+ title: option.label,
302
+ ...(option.description.trim().length === 0 ? {} : { description: option.description }),
303
+ })),
304
+ {
305
+ const: customOptionId,
306
+ title: "Other",
307
+ description: `Provide a custom response in “${customKey}”.`,
308
+ },
309
+ ];
310
+ properties[answerKey] = question.multiSelect
311
+ ? {
312
+ type: "array",
313
+ title: question.header,
314
+ description: question.question,
315
+ minItems: 1,
316
+ items: { anyOf: options },
317
+ }
318
+ : {
319
+ type: "string",
320
+ title: question.header,
321
+ description: question.question,
322
+ oneOf: options,
323
+ };
324
+ properties[customKey] = {
325
+ type: "string",
326
+ title: `${question.header} — Other response`,
327
+ description: `Complete only when “Other” is selected for “${answerKey}”.`,
328
+ };
329
+ return { question, answerKey, customKey, customOptionId };
330
+ });
331
+ return { fields, properties };
332
+ }
333
+ function answersFromElicitation(response, fields) {
334
+ const content = response.content;
335
+ if (content === undefined || content === null) {
336
+ throw bridgeError("invalid_elicitation_response", "ACP accepted AskUser without form content.");
337
+ }
338
+ return fields.map((field) => {
339
+ const raw = content[field.answerKey];
340
+ const selected = field.question.multiSelect
341
+ ? (Array.isArray(raw) && raw.every((value) => typeof value === "string") ? raw : undefined)
342
+ : (typeof raw === "string" ? [raw] : undefined);
343
+ if (selected === undefined || selected.length === 0 || new Set(selected).size !== selected.length) {
344
+ throw bridgeError("invalid_elicitation_response", `ACP form field '${field.answerKey}' is invalid.`);
345
+ }
346
+ const allowed = new Set([
347
+ ...field.question.options.map((option) => option.id),
348
+ field.customOptionId,
349
+ ]);
350
+ if (selected.some((value) => !allowed.has(value))) {
351
+ throw bridgeError("invalid_elicitation_response", `ACP form field '${field.answerKey}' selected an unknown option.`);
352
+ }
353
+ const rawCustom = content[field.customKey];
354
+ if (rawCustom !== undefined && typeof rawCustom !== "string") {
355
+ throw bridgeError("invalid_elicitation_response", `ACP form field '${field.customKey}' must be text.`);
356
+ }
357
+ const customReply = typeof rawCustom === "string" ? rawCustom.trim() : "";
358
+ const usesCustom = selected.includes(field.customOptionId);
359
+ if (usesCustom !== (customReply.length > 0)) {
360
+ throw bridgeError("invalid_elicitation_response", `ACP form fields '${field.answerKey}' and '${field.customKey}' disagree about the custom response.`);
361
+ }
362
+ return {
363
+ questionId: field.question.id,
364
+ selectedOptionIds: selected.filter((value) => value !== field.customOptionId),
365
+ ...(customReply.length === 0 ? {} : { customReply }),
366
+ };
367
+ });
368
+ }
369
+ function containsSensitiveAsk(ask) {
370
+ return [
371
+ ask.message ?? "",
372
+ ...ask.questions.flatMap((question) => [
373
+ question.header,
374
+ question.question,
375
+ ...question.options.flatMap((option) => [option.label, option.description]),
376
+ ]),
377
+ ].some((value) => SENSITIVE_ASK_PATTERN.test(value));
378
+ }
379
+ async function abortableDelay(ms, signal) {
380
+ signal.throwIfAborted();
381
+ await new Promise((resolveDelay, reject) => {
382
+ const timer = setTimeout(() => {
383
+ signal.removeEventListener("abort", onAbort);
384
+ resolveDelay();
385
+ }, ms);
386
+ const onAbort = () => {
387
+ clearTimeout(timer);
388
+ reject(signal.reason);
389
+ };
390
+ signal.addEventListener("abort", onAbort, { once: true });
391
+ });
392
+ }
393
+ async function publishEvent(context, sessionId, event, info, toolNames) {
212
394
  if (event.type === "assistant_thought") {
213
395
  await notifyUpdate(context, sessionId, {
214
396
  sessionUpdate: "agent_thought_chunk",
215
397
  content: { type: "text", text: event.text },
216
398
  });
217
- return currentUsage;
399
+ return;
218
400
  }
219
401
  if (event.type === "tool_call_started") {
220
402
  toolNames.set(event.id, event.name);
@@ -222,29 +404,28 @@ async function publishEvent(context, sessionId, event, info, toolNames, currentU
222
404
  sessionUpdate: "tool_call",
223
405
  toolCallId: event.id,
224
406
  title: event.name,
225
- name: event.name,
226
407
  kind: toolKind(event.name),
227
408
  status: "in_progress",
228
409
  ...(event.arguments === undefined ? {} : { rawInput: event.arguments }),
229
410
  });
230
- return currentUsage;
411
+ return;
231
412
  }
232
413
  if (event.type === "tool_call_progress") {
233
414
  await notifyUpdate(context, sessionId, {
234
415
  sessionUpdate: "tool_call_update",
235
416
  toolCallId: event.id,
236
- ...(event.name === undefined ? {} : { title: event.name, name: event.name }),
417
+ ...(event.name === undefined ? {} : { title: event.name }),
237
418
  status: "in_progress",
238
419
  ...(event.partialResult === undefined ? {} : { rawOutput: event.partialResult }),
239
420
  });
240
- return currentUsage;
421
+ return;
241
422
  }
242
423
  if (event.type === "tool_call_completed") {
243
424
  const name = event.name ?? toolNames.get(event.id);
244
425
  await notifyUpdate(context, sessionId, {
245
426
  sessionUpdate: "tool_call_update",
246
427
  toolCallId: event.id,
247
- ...(name === undefined ? {} : { title: name, name }),
428
+ ...(name === undefined ? {} : { title: name }),
248
429
  status: event.isError === true ? "failed" : "completed",
249
430
  ...(event.content === undefined
250
431
  ? {}
@@ -256,10 +437,10 @@ async function publishEvent(context, sessionId, event, info, toolNames, currentU
256
437
  }],
257
438
  }),
258
439
  });
259
- return currentUsage;
440
+ return;
260
441
  }
261
442
  if (event.type !== "usage_update" || event.tokens === undefined)
262
- return currentUsage;
443
+ return;
263
444
  const tokens = event.tokens;
264
445
  const inputTokens = tokens.input + tokens.cacheRead + tokens.cacheCreation;
265
446
  const totalTokens = inputTokens + tokens.output;
@@ -274,19 +455,15 @@ async function publishEvent(context, sessionId, event, info, toolNames, currentU
274
455
  ? {}
275
456
  : { cost: { amount: event.cumulativeUsd, currency: "USD" } }),
276
457
  });
277
- return {
278
- totalTokens,
279
- inputTokens,
280
- outputTokens: tokens.output,
281
- cachedReadTokens: tokens.cacheRead,
282
- cachedWriteTokens: tokens.cacheCreation,
283
- };
284
458
  }
285
459
  async function notifyUpdate(context, sessionId, update) {
286
460
  await context.client.notify(methods.client.session.update, { sessionId, update });
287
461
  }
288
462
  async function resolveExactSource(sourceId, env) {
289
- const sources = await discoverOperatorAgents({ env });
463
+ const [sources, discovery] = await Promise.all([
464
+ discoverOperatorAgents({ env }),
465
+ discoverAcpBridgeAgents({ env }),
466
+ ]);
290
467
  const discovered = sources.find((entry) => entry.source.sourceId === sourceId);
291
468
  if (discovered === undefined) {
292
469
  throw bridgeError("source_not_found", `No mono-agent operator source named '${sourceId}' is registered.`);
@@ -297,7 +474,14 @@ async function resolveExactSource(sourceId, env) {
297
474
  if (discovered.baseUrl === undefined) {
298
475
  throw bridgeError("operator_unavailable", `mono-agent source '${sourceId}' has no trusted loopback operator endpoint.`);
299
476
  }
300
- return discovered;
477
+ const descriptor = discovery.sources.find((entry) => entry.sourceId === sourceId);
478
+ if (descriptor === undefined) {
479
+ throw bridgeError("bridge_metadata_unavailable", `mono-agent source '${sourceId}' has no ACP compatibility metadata.`);
480
+ }
481
+ if (!descriptor.compatible) {
482
+ throw bridgeError("bridge_version_unsupported", `mono-agent source '${sourceId}' does not provide a compatible ACP bridge (reported bridge ${String(descriptor.bridgeVersion)}, protocol ${String(descriptor.protocolVersion)}).`);
483
+ }
484
+ return { discovered, descriptor };
301
485
  }
302
486
  function requestToolEnvironment(env) {
303
487
  const values = {};
@@ -313,19 +497,64 @@ function requestToolEnvironment(env) {
313
497
  ...(firstPath !== undefined && isAbsolute(firstPath) ? { pathPrepend: [firstPath] } : {}),
314
498
  };
315
499
  }
316
- function textPrompt(blocks) {
500
+ function promptText(blocks) {
317
501
  if (blocks.length === 0) {
318
- throw RequestError.invalidParams({ code: "unsupported_prompt_content" }, "mono-agent ACP v1 accepts one or more text blocks only.");
502
+ throw RequestError.invalidParams({ code: "unsupported_prompt_content" }, "mono-agent ACP v1 accepts one or more text or resource-link blocks.");
319
503
  }
320
504
  const texts = [];
321
505
  for (const block of blocks) {
322
- if (block.type !== "text") {
323
- throw RequestError.invalidParams({ code: "unsupported_prompt_content" }, "mono-agent ACP v1 accepts one or more text blocks only.");
506
+ if (block.type === "text") {
507
+ texts.push(block.text);
508
+ continue;
509
+ }
510
+ if (block.type === "resource_link") {
511
+ texts.push([
512
+ "[ACP resource link]",
513
+ JSON.stringify({
514
+ name: block.name,
515
+ uri: block.uri,
516
+ ...(block.title === undefined || block.title === null ? {} : { title: block.title }),
517
+ ...(block.description === undefined || block.description === null
518
+ ? {}
519
+ : { description: block.description }),
520
+ ...(block.mimeType === undefined || block.mimeType === null ? {} : { mimeType: block.mimeType }),
521
+ ...(block.size === undefined || block.size === null ? {} : { size: block.size }),
522
+ }),
523
+ ].join("\n"));
524
+ continue;
525
+ }
526
+ {
527
+ throw RequestError.invalidParams({ code: "unsupported_prompt_content" }, "mono-agent ACP v1 accepts text and resource-link blocks; embedded resources and media are unsupported.");
324
528
  }
325
- texts.push(block.text);
326
529
  }
327
530
  return texts.join("\n");
328
531
  }
532
+ function rejectUnsupportedClientCapabilities(capabilities) {
533
+ if (capabilities?.fs?.readTextFile === true || capabilities?.fs?.writeTextFile === true) {
534
+ throw RequestError.invalidParams({ code: "client_filesystem_unsupported" }, "mono-agent keeps filesystem access inside the selected agent workspace and sandbox; client filesystem capabilities are unsupported.");
535
+ }
536
+ if (capabilities?.terminal === true) {
537
+ throw RequestError.invalidParams({ code: "client_terminal_unsupported" }, "mono-agent keeps command execution inside the selected agent tools and sandbox; client terminal capabilities are unsupported.");
538
+ }
539
+ }
540
+ async function assertAgentWorkspace(requested, expected) {
541
+ if (!isAbsolute(requested)) {
542
+ throw RequestError.invalidParams({ code: "workspace_mismatch" }, "ACP session cwd must be the selected mono-agent's absolute workspace path.");
543
+ }
544
+ const canonicalRequested = await canonicalPath(requested);
545
+ if (canonicalRequested !== expected) {
546
+ throw RequestError.invalidParams({ code: "workspace_mismatch", expected }, "ACP session cwd must match the selected mono-agent's configured workspace.");
547
+ }
548
+ }
549
+ async function canonicalPath(path) {
550
+ const absolute = resolve(path);
551
+ try {
552
+ return await realpath(absolute);
553
+ }
554
+ catch {
555
+ return absolute;
556
+ }
557
+ }
329
558
  function rejectUnsupportedSessionInputs(mcpServers, additionalDirectories) {
330
559
  if (mcpServers.length > 0) {
331
560
  throw RequestError.invalidParams({ code: "client_mcp_unsupported" }, "mono-agent ACP sessions use the selected instance's configured MCP servers; client MCP servers are unsupported.");
@@ -1 +1 @@
1
- {"version":3,"file":"acp-bridge.js","sourceRoot":"","sources":["../src/acp-bridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acp-bridge.js","sourceRoot":"","sources":["../src/acp-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface RunAcpDiscoveryOptions {
2
+ readonly env?: Readonly<Record<string, string | undefined>>;
3
+ readonly output?: {
4
+ write(chunk: string): unknown;
5
+ };
6
+ }
7
+ /** Print the public discovery result unchanged so CLI and library consumers share one contract. */
8
+ export declare function runAcpDiscovery(options?: RunAcpDiscoveryOptions): Promise<number>;
9
+ //# sourceMappingURL=acp-discovery-command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acp-discovery-command.d.ts","sourceRoot":"","sources":["../src/acp-discovery-command.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;CACrD;AAED,mGAAmG;AACnG,wBAAsB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAI3F"}