@evalops/maestro 0.10.21 → 0.10.22

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 (143) hide show
  1. package/dist/agent/agent.d.ts +1 -0
  2. package/dist/agent/agent.d.ts.map +1 -1
  3. package/dist/agent/agent.js +15 -4
  4. package/dist/agent/agent.js.map +1 -1
  5. package/dist/agent/swarm/executor.d.ts.map +1 -1
  6. package/dist/agent/swarm/executor.js +68 -3
  7. package/dist/agent/swarm/executor.js.map +1 -1
  8. package/dist/agent/swarm/types.d.ts +3 -0
  9. package/dist/agent/swarm/types.d.ts.map +1 -1
  10. package/dist/agent/swarm/types.js.map +1 -1
  11. package/dist/agent/transport.d.ts.map +1 -1
  12. package/dist/agent/transport.js +7 -1
  13. package/dist/agent/transport.js.map +1 -1
  14. package/dist/audit/logger.d.ts +1 -1
  15. package/dist/bootstrap/tools-setup.d.ts.map +1 -1
  16. package/dist/bootstrap/tools-setup.js +3 -2
  17. package/dist/bootstrap/tools-setup.js.map +1 -1
  18. package/dist/cli/commands/a2a.d.ts.map +1 -1
  19. package/dist/cli/commands/a2a.js +141 -8
  20. package/dist/cli/commands/a2a.js.map +1 -1
  21. package/dist/cli/commands/codex.d.ts.map +1 -1
  22. package/dist/cli/commands/codex.js +4 -3
  23. package/dist/cli/commands/codex.js.map +1 -1
  24. package/dist/cli/commands/hosted-runner.d.ts +1 -0
  25. package/dist/cli/commands/hosted-runner.d.ts.map +1 -1
  26. package/dist/cli/commands/hosted-runner.js +31 -2
  27. package/dist/cli/commands/hosted-runner.js.map +1 -1
  28. package/dist/cli/commands/run.d.ts.map +1 -1
  29. package/dist/cli/commands/run.js +2 -9
  30. package/dist/cli/commands/run.js.map +1 -1
  31. package/dist/cli-tui/commands/a2a-handlers.d.ts.map +1 -1
  32. package/dist/cli-tui/commands/a2a-handlers.js +55 -0
  33. package/dist/cli-tui/commands/a2a-handlers.js.map +1 -1
  34. package/dist/cli.js +3924 -1972
  35. package/dist/codex/compatibility.d.ts +17 -1
  36. package/dist/codex/compatibility.d.ts.map +1 -1
  37. package/dist/codex/compatibility.js +57 -1
  38. package/dist/codex/compatibility.js.map +1 -1
  39. package/dist/guardian/config.d.ts +8 -6
  40. package/dist/guardian/config.d.ts.map +1 -1
  41. package/dist/guardian/config.js +33 -7
  42. package/dist/guardian/config.js.map +1 -1
  43. package/dist/guardian/runner.d.ts.map +1 -1
  44. package/dist/guardian/runner.js +54 -9
  45. package/dist/guardian/runner.js.map +1 -1
  46. package/dist/mcp/config.d.ts.map +1 -1
  47. package/dist/mcp/config.js +2 -0
  48. package/dist/mcp/config.js.map +1 -1
  49. package/dist/mcp/fathom-cua.d.ts +3 -0
  50. package/dist/mcp/fathom-cua.d.ts.map +1 -0
  51. package/dist/mcp/fathom-cua.js +158 -0
  52. package/dist/mcp/fathom-cua.js.map +1 -0
  53. package/dist/mcp/index.d.ts +1 -0
  54. package/dist/mcp/index.d.ts.map +1 -1
  55. package/dist/mcp/index.js +1 -0
  56. package/dist/mcp/index.js.map +1 -1
  57. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  58. package/dist/node_modules/@evalops/tui/package.json +1 -1
  59. package/dist/platform/a2a-cockpit.d.ts +90 -0
  60. package/dist/platform/a2a-cockpit.d.ts.map +1 -0
  61. package/dist/platform/a2a-cockpit.js +302 -0
  62. package/dist/platform/a2a-cockpit.js.map +1 -0
  63. package/dist/platform/a2a-fleet.d.ts +14 -0
  64. package/dist/platform/a2a-fleet.d.ts.map +1 -1
  65. package/dist/platform/a2a-fleet.js +66 -1
  66. package/dist/platform/a2a-fleet.js.map +1 -1
  67. package/dist/platform/a2a-ownership.d.ts +27 -0
  68. package/dist/platform/a2a-ownership.d.ts.map +1 -0
  69. package/dist/platform/a2a-ownership.js +149 -0
  70. package/dist/platform/a2a-ownership.js.map +1 -0
  71. package/dist/platform/a2a-task-ledger.d.ts.map +1 -1
  72. package/dist/platform/a2a-task-ledger.js +29 -5
  73. package/dist/platform/a2a-task-ledger.js.map +1 -1
  74. package/dist/server/agent-trajectory-replay-lab.d.ts +36 -0
  75. package/dist/server/agent-trajectory-replay-lab.d.ts.map +1 -0
  76. package/dist/server/agent-trajectory-replay-lab.js +48 -0
  77. package/dist/server/agent-trajectory-replay-lab.js.map +1 -0
  78. package/dist/server/any-agent-control-plane-proof.d.ts +42 -0
  79. package/dist/server/any-agent-control-plane-proof.d.ts.map +1 -0
  80. package/dist/server/any-agent-control-plane-proof.js +175 -0
  81. package/dist/server/any-agent-control-plane-proof.js.map +1 -0
  82. package/dist/server/app-context.d.ts +1 -0
  83. package/dist/server/app-context.d.ts.map +1 -1
  84. package/dist/server/app-context.js.map +1 -1
  85. package/dist/server/handlers/a2a-cockpit.d.ts +3 -0
  86. package/dist/server/handlers/a2a-cockpit.d.ts.map +1 -0
  87. package/dist/server/handlers/a2a-cockpit.js +71 -0
  88. package/dist/server/handlers/a2a-cockpit.js.map +1 -0
  89. package/dist/server/handlers/headless-sessions.d.ts.map +1 -1
  90. package/dist/server/handlers/headless-sessions.js +17 -2
  91. package/dist/server/handlers/headless-sessions.js.map +1 -1
  92. package/dist/server/handlers/session-artifacts.d.ts.map +1 -1
  93. package/dist/server/handlers/session-artifacts.js +20 -3
  94. package/dist/server/handlers/session-artifacts.js.map +1 -1
  95. package/dist/server/handlers/session-replay-lab.d.ts +13 -0
  96. package/dist/server/handlers/session-replay-lab.d.ts.map +1 -0
  97. package/dist/server/handlers/session-replay-lab.js +80 -0
  98. package/dist/server/handlers/session-replay-lab.js.map +1 -0
  99. package/dist/server/handlers/stats.js +1 -1
  100. package/dist/server/handlers/stats.js.map +1 -1
  101. package/dist/server/handlers/status.d.ts +44 -3
  102. package/dist/server/handlers/status.d.ts.map +1 -1
  103. package/dist/server/handlers/status.js +227 -17
  104. package/dist/server/handlers/status.js.map +1 -1
  105. package/dist/server/headless-runtime-service.d.ts +17 -0
  106. package/dist/server/headless-runtime-service.d.ts.map +1 -1
  107. package/dist/server/headless-runtime-service.js +143 -3
  108. package/dist/server/headless-runtime-service.js.map +1 -1
  109. package/dist/server/hosted-agent-runtime-progress.d.ts +17 -0
  110. package/dist/server/hosted-agent-runtime-progress.d.ts.map +1 -1
  111. package/dist/server/hosted-agent-runtime-progress.js +352 -15
  112. package/dist/server/hosted-agent-runtime-progress.js.map +1 -1
  113. package/dist/server/routes.d.ts.map +1 -1
  114. package/dist/server/routes.js +14 -0
  115. package/dist/server/routes.js.map +1 -1
  116. package/dist/services/intelligent-router/index.d.ts +1 -1
  117. package/dist/services/intelligent-router/index.d.ts.map +1 -1
  118. package/dist/services/intelligent-router/index.js +1 -1
  119. package/dist/services/intelligent-router/index.js.map +1 -1
  120. package/dist/services/intelligent-router/normalize.d.ts +10 -2
  121. package/dist/services/intelligent-router/normalize.d.ts.map +1 -1
  122. package/dist/services/intelligent-router/normalize.js +20 -1
  123. package/dist/services/intelligent-router/normalize.js.map +1 -1
  124. package/dist/services/intelligent-router/service.d.ts.map +1 -1
  125. package/dist/services/intelligent-router/service.js +35 -0
  126. package/dist/services/intelligent-router/service.js.map +1 -1
  127. package/dist/services/intelligent-router/types.d.ts +13 -0
  128. package/dist/services/intelligent-router/types.d.ts.map +1 -1
  129. package/dist/services/intelligent-router/types.js +1 -0
  130. package/dist/services/intelligent-router/types.js.map +1 -1
  131. package/dist/telemetry/cli-command-aggregator.d.ts +1 -0
  132. package/dist/telemetry/cli-command-aggregator.d.ts.map +1 -1
  133. package/dist/telemetry/cli-command-aggregator.js +23 -0
  134. package/dist/telemetry/cli-command-aggregator.js.map +1 -1
  135. package/dist/telemetry/maestro-event-bus.d.ts.map +1 -1
  136. package/dist/telemetry/maestro-event-bus.js +11 -5
  137. package/dist/telemetry/maestro-event-bus.js.map +1 -1
  138. package/dist/telemetry/maestro-event-catalog.d.ts +15 -1
  139. package/dist/telemetry/maestro-event-catalog.d.ts.map +1 -1
  140. package/dist/telemetry/maestro-event-catalog.js +30 -0
  141. package/dist/telemetry/maestro-event-catalog.js.map +1 -1
  142. package/dist/version.json +2 -2
  143. package/package.json +289 -283
@@ -1 +1 @@
1
- {"version":3,"file":"a2a-handlers.js","sourceRoot":"","sources":["../../../src/cli-tui/commands/a2a-handlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseA2AArgs } from \"../../cli/commands/a2a.js\";\nimport { inspectA2AFleet } from \"../../platform/a2a-fleet.js\";\nimport { decodeA2APeerPairingCode } from \"../../platform/a2a-peer-pairing.js\";\nimport {\n\tlistA2APeers,\n\tupsertA2APeerFromPairingPayload,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\tgetA2ATaskLedgerPath,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\tformatA2AWorkGraphCodexSubagents,\n\tformatA2AWorkGraphSummary,\n} from \"../../platform/a2a-work-graph.js\";\nimport type { CommandExecutionContext } from \"./types.js\";\n\nexport interface A2ACommandHandlerDeps {\n\taddContent(text: string): void;\n\trequestRender(): void;\n}\n\nexport async function handleA2ATuiCommand(\n\tcontext: CommandExecutionContext,\n\tdeps: A2ACommandHandlerDeps,\n): Promise<void> {\n\tconst parsed = parseA2AArgs(splitCommandArgs(context.argumentText));\n\tconst subcommand = parsed.positionals.shift()?.toLowerCase() ?? \"help\";\n\tif (subcommand === \"peers\" || subcommand === \"list\") {\n\t\tconst { path, registry } = await listA2APeers({\n\t\t\tpath: stringFlag(parsed.flags, \"--registry\"),\n\t\t});\n\t\tconst entries = Object.entries(registry.peers).sort(([left], [right]) =>\n\t\t\tleft.localeCompare(right),\n\t\t);\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A peers (${path})`,\n\t\t\t\tentries.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: entries\n\t\t\t\t\t\t\t.map(([name, peer]) => {\n\t\t\t\t\t\t\t\tconst marker = registry.defaultPeer === name ? \"*\" : \" \";\n\t\t\t\t\t\t\t\tconst token = peer.tokenEnv\n\t\t\t\t\t\t\t\t\t? ` auth=env:${peer.tokenEnv}`\n\t\t\t\t\t\t\t\t\t: peer.tokenFile\n\t\t\t\t\t\t\t\t\t\t? \" auth=file\"\n\t\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${marker} ${name} ${peer.url}${token}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"fleet\") {\n\t\tconst fleet = await inspectA2AFleet({\n\t\t\tregistryPath: stringFlag(parsed.flags, \"--registry\"),\n\t\t\ttasksPath: stringFlag(parsed.flags, \"--tasks\"),\n\t\t\ttimeoutMs: numberFlag(parsed.flags, \"--timeout-ms\"),\n\t\t});\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A fleet (${fleet.registryPath})`,\n\t\t\t\tfleet.peers.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: fleet.peers\n\t\t\t\t\t\t\t.map((peer) => {\n\t\t\t\t\t\t\t\tconst last = peer.lastTask\n\t\t\t\t\t\t\t\t\t? ` last=${peer.lastTask.id} ${peer.lastTask.state}`\n\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${peer.status} ${peer.name} ${peer.url}${last}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"tasks\") {\n\t\tconst peer = parsed.positionals.shift();\n\t\tconst tasksPath = stringFlag(parsed.flags, \"--tasks\");\n\t\tconst includeWorkGraphDetails = parsed.flags.get(\"--work-graph\") === true;\n\t\tconst ledger = await loadA2ATaskLedger({ path: tasksPath });\n\t\tconst entries = listA2ATaskEntries(ledger, { peer });\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A tasks (${getA2ATaskLedgerPath(tasksPath)})`,\n\t\t\t\tentries.length === 0\n\t\t\t\t\t? \"No delegated tasks recorded yet.\"\n\t\t\t\t\t: entries\n\t\t\t\t\t\t\t.map((entry) =>\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t`${entry.peer} ${entry.taskId} ${entry.state} ${entry.text}`,\n\t\t\t\t\t\t\t\t\tformatA2AWorkGraphSummary(entry.workGraph),\n\t\t\t\t\t\t\t\t\tincludeWorkGraphDetails\n\t\t\t\t\t\t\t\t\t\t? formatA2AWorkGraphCodexSubagents(entry.workGraph)\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\tincludeWorkGraphDetails && entry.workGraph?.correlationPath\n\t\t\t\t\t\t\t\t\t\t? `Correlation: ${entry.workGraph.correlationPath}`\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t.join(\"\\n \"),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"accept\") {\n\t\tconst code = parsed.positionals.shift();\n\t\tif (!code) {\n\t\t\tcontext.showError(\"Usage: /a2a accept <pairing-code>\");\n\t\t\treturn;\n\t\t}\n\t\tconst payload = decodeA2APeerPairingCode(code);\n\t\tconst result = await upsertA2APeerFromPairingPayload(payload, {\n\t\t\tname: stringFlag(parsed.flags, \"--name\"),\n\t\t\tmakeDefault: parsed.flags.get(\"--default\") === true,\n\t\t\ttokenEnv: stringFlag(parsed.flags, \"--token-env\"),\n\t\t\ttokenFile: stringFlag(parsed.flags, \"--token-file\"),\n\t\t\tpath: stringFlag(parsed.flags, \"--registry\"),\n\t\t});\n\t\tcontext.showInfo(`Registered A2A peer ${result.name}.`);\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`Registered A2A peer ${result.name}`,\n\t\t\t\t`URL: ${result.entry.url}`,\n\t\t\t\t`Registry: ${result.path}`,\n\t\t\t\tresult.entry.tokenEnv || result.entry.tokenFile\n\t\t\t\t\t? \"Auth source configured without storing the token value.\"\n\t\t\t\t\t: \"No auth source configured. Re-run accept with --token-env or --token-file if this peer requires Authorization.\",\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"send\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a send <peer> <text> --wait` for native A2A sends while the TUI send panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"coordinate\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a coordinate [peer] --refresh` to refresh actionable A2A tasks, or add `--reply <text>` to answer the selected task while the TUI coordination panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"reply\" || subcommand === \"continue\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a reply <peer> <task-id> <text> --wait` to continue an actionable A2A task while the TUI task panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"delegate\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a delegate <peer> <text> --wait` for native A2A delegation while the TUI task panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tdeps.addContent(\n\t\t[\n\t\t\t\"/a2a accept <pairing-code> [--name <peer>] [--default] [--token-env ENV]\",\n\t\t\t\"/a2a fleet\",\n\t\t\t\"/a2a peers\",\n\t\t\t\"/a2a delegate <peer> <text>\",\n\t\t\t\"/a2a reply <peer> <task-id> <text>\",\n\t\t\t\"/a2a coordinate [peer] [--reply <text>]\",\n\t\t\t\"/a2a tasks [peer]\",\n\t\t\t\"/a2a send <peer> <text>\",\n\t\t].join(\"\\n\"),\n\t);\n\tdeps.requestRender();\n}\n\nfunction splitCommandArgs(input: string): string[] {\n\treturn input.match(/\"[^\"]*\"|'[^']*'|\\S+/gu)?.map(stripQuotes) ?? [];\n}\n\nfunction stripQuotes(input: string): string {\n\tif (\n\t\t(input.startsWith('\"') && input.endsWith('\"')) ||\n\t\t(input.startsWith(\"'\") && input.endsWith(\"'\"))\n\t) {\n\t\treturn input.slice(1, -1);\n\t}\n\treturn input;\n}\n\nfunction stringFlag(\n\tflags: Map<string, string | boolean>,\n\tname: string,\n): string | undefined {\n\tconst value = flags.get(name);\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction numberFlag(\n\tflags: Map<string, string | boolean>,\n\tname: string,\n): number | undefined {\n\tconst value = stringFlag(flags, name);\n\tif (!value) {\n\t\treturn undefined;\n\t}\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n"]}
1
+ {"version":3,"file":"a2a-handlers.js","sourceRoot":"","sources":["../../../src/cli-tui/commands/a2a-handlers.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseA2AArgs } from \"../../cli/commands/a2a.js\";\nimport { buildA2ACockpit } from \"../../platform/a2a-cockpit.js\";\nimport { inspectA2AFleet } from \"../../platform/a2a-fleet.js\";\nimport { decodeA2APeerPairingCode } from \"../../platform/a2a-peer-pairing.js\";\nimport {\n\tlistA2APeers,\n\tupsertA2APeerFromPairingPayload,\n} from \"../../platform/a2a-peer-registry.js\";\nimport {\n\tgetA2ATaskLedgerPath,\n\tlistA2ATaskEntries,\n\tloadA2ATaskLedger,\n} from \"../../platform/a2a-task-ledger.js\";\nimport {\n\tformatA2AWorkGraphCodexSubagents,\n\tformatA2AWorkGraphSummary,\n} from \"../../platform/a2a-work-graph.js\";\nimport type { CommandExecutionContext } from \"./types.js\";\n\nexport interface A2ACommandHandlerDeps {\n\taddContent(text: string): void;\n\trequestRender(): void;\n}\n\nexport async function handleA2ATuiCommand(\n\tcontext: CommandExecutionContext,\n\tdeps: A2ACommandHandlerDeps,\n): Promise<void> {\n\tconst parsed = parseA2AArgs(splitCommandArgs(context.argumentText));\n\tconst subcommand = parsed.positionals.shift()?.toLowerCase() ?? \"help\";\n\tif (subcommand === \"peers\" || subcommand === \"list\") {\n\t\tconst { path, registry } = await listA2APeers({\n\t\t\tpath: stringFlag(parsed.flags, \"--registry\"),\n\t\t});\n\t\tconst entries = Object.entries(registry.peers).sort(([left], [right]) =>\n\t\t\tleft.localeCompare(right),\n\t\t);\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A peers (${path})`,\n\t\t\t\tentries.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: entries\n\t\t\t\t\t\t\t.map(([name, peer]) => {\n\t\t\t\t\t\t\t\tconst marker = registry.defaultPeer === name ? \"*\" : \" \";\n\t\t\t\t\t\t\t\tconst token = peer.tokenEnv\n\t\t\t\t\t\t\t\t\t? ` auth=env:${peer.tokenEnv}`\n\t\t\t\t\t\t\t\t\t: peer.tokenFile\n\t\t\t\t\t\t\t\t\t\t? \" auth=file\"\n\t\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${marker} ${name} ${peer.url}${token}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"fleet\") {\n\t\tconst fleet = await inspectA2AFleet({\n\t\t\tregistryPath: stringFlag(parsed.flags, \"--registry\"),\n\t\t\ttasksPath: stringFlag(parsed.flags, \"--tasks\"),\n\t\t\ttimeoutMs: numberFlag(parsed.flags, \"--timeout-ms\"),\n\t\t});\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A fleet (${fleet.registryPath})`,\n\t\t\t\tfleet.peers.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: fleet.peers\n\t\t\t\t\t\t\t.map((peer) => {\n\t\t\t\t\t\t\t\tconst last = peer.lastTask\n\t\t\t\t\t\t\t\t\t? ` last=${peer.lastTask.id} ${peer.lastTask.state}`\n\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${peer.status} ${peer.name} ${peer.url}${last}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"cockpit\" || subcommand === \"dashboard\") {\n\t\tconst cockpit = await buildA2ACockpit({\n\t\t\tregistryPath: stringFlag(parsed.flags, \"--registry\"),\n\t\t\ttasksPath: stringFlag(parsed.flags, \"--tasks\"),\n\t\t\ttimeoutMs: numberFlag(parsed.flags, \"--timeout-ms\"),\n\t\t\tpeer: stringFlag(parsed.flags, \"--peer\"),\n\t\t\tlimit: numberFlag(parsed.flags, \"--limit\"),\n\t\t});\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A cockpit (${cockpit.registryPath})`,\n\t\t\t\t[\n\t\t\t\t\t`${cockpit.counts.onlinePeers}/${cockpit.counts.peers} peers online`,\n\t\t\t\t\t`${cockpit.counts.runningTasks} running`,\n\t\t\t\t\t`${cockpit.counts.actionRequiredTasks} waiting`,\n\t\t\t\t\t`${cockpit.counts.failedTasks} failed`,\n\t\t\t\t].join(\" · \"),\n\t\t\t\tcockpit.peers.length === 0\n\t\t\t\t\t? \"No peers registered. Use /a2a accept <pairing-code>.\"\n\t\t\t\t\t: cockpit.peers\n\t\t\t\t\t\t\t.map((peer) => {\n\t\t\t\t\t\t\t\tconst last = peer.lastTask\n\t\t\t\t\t\t\t\t\t? ` last=${peer.lastTask.id} ${peer.lastTask.state}`\n\t\t\t\t\t\t\t\t\t: \"\";\n\t\t\t\t\t\t\t\treturn `${peer.status} ${peer.name} ${peer.url}${last}`;\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t\tcockpit.tasks.length > 0\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t\"Tasks\",\n\t\t\t\t\t\t\tcockpit.tasks\n\t\t\t\t\t\t\t\t.map((task) => {\n\t\t\t\t\t\t\t\t\tconst peerLabel = task.orphanedPeer\n\t\t\t\t\t\t\t\t\t\t? `${task.peer} (orphaned peer)`\n\t\t\t\t\t\t\t\t\t\t: task.peer;\n\t\t\t\t\t\t\t\t\treturn `${task.status} ${peerLabel} ${task.taskId} ${task.state} ${task.text}`;\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t\t\t\t].join(\"\\n\")\n\t\t\t\t\t: \"No delegated tasks recorded yet.\",\n\t\t\t\tcockpit.nextActions.length > 0\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t\"Next actions\",\n\t\t\t\t\t\t\tcockpit.nextActions\n\t\t\t\t\t\t\t\t.map((action) => `${action.label}\\n ${action.command}`)\n\t\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t\t\t\t].join(\"\\n\")\n\t\t\t\t\t: undefined,\n\t\t\t]\n\t\t\t\t.filter(Boolean)\n\t\t\t\t.join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"tasks\") {\n\t\tconst peer = parsed.positionals.shift();\n\t\tconst tasksPath = stringFlag(parsed.flags, \"--tasks\");\n\t\tconst includeWorkGraphDetails = parsed.flags.get(\"--work-graph\") === true;\n\t\tconst ledger = await loadA2ATaskLedger({ path: tasksPath });\n\t\tconst entries = listA2ATaskEntries(ledger, { peer });\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`A2A tasks (${getA2ATaskLedgerPath(tasksPath)})`,\n\t\t\t\tentries.length === 0\n\t\t\t\t\t? \"No delegated tasks recorded yet.\"\n\t\t\t\t\t: entries\n\t\t\t\t\t\t\t.map((entry) =>\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t`${entry.peer} ${entry.taskId} ${entry.state} ${entry.text}`,\n\t\t\t\t\t\t\t\t\tformatA2AWorkGraphSummary(entry.workGraph),\n\t\t\t\t\t\t\t\t\tincludeWorkGraphDetails\n\t\t\t\t\t\t\t\t\t\t? formatA2AWorkGraphCodexSubagents(entry.workGraph)\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t\tincludeWorkGraphDetails && entry.workGraph?.correlationPath\n\t\t\t\t\t\t\t\t\t\t? `Correlation: ${entry.workGraph.correlationPath}`\n\t\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t.filter(Boolean)\n\t\t\t\t\t\t\t\t\t.join(\"\\n \"),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t.join(\"\\n\"),\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"accept\") {\n\t\tconst code = parsed.positionals.shift();\n\t\tif (!code) {\n\t\t\tcontext.showError(\"Usage: /a2a accept <pairing-code>\");\n\t\t\treturn;\n\t\t}\n\t\tconst payload = decodeA2APeerPairingCode(code);\n\t\tconst result = await upsertA2APeerFromPairingPayload(payload, {\n\t\t\tname: stringFlag(parsed.flags, \"--name\"),\n\t\t\tmakeDefault: parsed.flags.get(\"--default\") === true,\n\t\t\ttokenEnv: stringFlag(parsed.flags, \"--token-env\"),\n\t\t\ttokenFile: stringFlag(parsed.flags, \"--token-file\"),\n\t\t\tpath: stringFlag(parsed.flags, \"--registry\"),\n\t\t});\n\t\tcontext.showInfo(`Registered A2A peer ${result.name}.`);\n\t\tdeps.addContent(\n\t\t\t[\n\t\t\t\t`Registered A2A peer ${result.name}`,\n\t\t\t\t`URL: ${result.entry.url}`,\n\t\t\t\t`Registry: ${result.path}`,\n\t\t\t\tresult.entry.tokenEnv || result.entry.tokenFile\n\t\t\t\t\t? \"Auth source configured without storing the token value.\"\n\t\t\t\t\t: \"No auth source configured. Re-run accept with --token-env or --token-file if this peer requires Authorization.\",\n\t\t\t].join(\"\\n\"),\n\t\t);\n\t\tdeps.requestRender();\n\t\treturn;\n\t}\n\tif (subcommand === \"send\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a send <peer> <text> --wait` for native A2A sends while the TUI send panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"coordinate\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a coordinate [peer] --refresh` to refresh actionable A2A tasks, or add `--reply <text>` to answer the selected task while the TUI coordination panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"reply\" || subcommand === \"continue\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a reply <peer> <task-id> <text> --wait` to continue an actionable A2A task while the TUI task panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tif (subcommand === \"delegate\") {\n\t\tcontext.showInfo(\n\t\t\t\"Use `maestro a2a delegate <peer> <text> --wait` for native A2A delegation while the TUI task panel is being wired.\",\n\t\t);\n\t\treturn;\n\t}\n\tdeps.addContent(\n\t\t[\n\t\t\t\"/a2a accept <pairing-code> [--name <peer>] [--default] [--token-env ENV]\",\n\t\t\t\"/a2a cockpit [--peer <peer>]\",\n\t\t\t\"/a2a fleet\",\n\t\t\t\"/a2a peers\",\n\t\t\t\"/a2a delegate <peer> <text>\",\n\t\t\t\"/a2a reply <peer> <task-id> <text>\",\n\t\t\t\"/a2a coordinate [peer] [--reply <text>]\",\n\t\t\t\"/a2a tasks [peer]\",\n\t\t\t\"/a2a send <peer> <text>\",\n\t\t].join(\"\\n\"),\n\t);\n\tdeps.requestRender();\n}\n\nfunction splitCommandArgs(input: string): string[] {\n\treturn input.match(/\"[^\"]*\"|'[^']*'|\\S+/gu)?.map(stripQuotes) ?? [];\n}\n\nfunction stripQuotes(input: string): string {\n\tif (\n\t\t(input.startsWith('\"') && input.endsWith('\"')) ||\n\t\t(input.startsWith(\"'\") && input.endsWith(\"'\"))\n\t) {\n\t\treturn input.slice(1, -1);\n\t}\n\treturn input;\n}\n\nfunction stringFlag(\n\tflags: Map<string, string | boolean>,\n\tname: string,\n): string | undefined {\n\tconst value = flags.get(name);\n\treturn typeof value === \"string\" && value.trim() ? value.trim() : undefined;\n}\n\nfunction numberFlag(\n\tflags: Map<string, string | boolean>,\n\tname: string,\n): number | undefined {\n\tconst value = stringFlag(flags, name);\n\tif (!value) {\n\t\treturn undefined;\n\t}\n\tconst parsed = Number(value);\n\treturn Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;\n}\n"]}