aui-agent-builder 0.4.0-alpha.0 → 0.4.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 (314) hide show
  1. package/LICENSE +1 -2
  2. package/README.md +608 -114
  3. package/dist/api-client/apollo-client.d.ts +427 -0
  4. package/dist/api-client/apollo-client.d.ts.map +1 -0
  5. package/dist/api-client/apollo-client.js +347 -0
  6. package/dist/api-client/apollo-client.js.map +1 -0
  7. package/dist/api-client/index.d.ts +541 -21
  8. package/dist/api-client/index.d.ts.map +1 -1
  9. package/dist/api-client/index.js +956 -50
  10. package/dist/api-client/index.js.map +1 -1
  11. package/dist/api-client/kb-view-client.d.ts +94 -19
  12. package/dist/api-client/kb-view-client.d.ts.map +1 -1
  13. package/dist/api-client/kb-view-client.js +332 -35
  14. package/dist/api-client/kb-view-client.js.map +1 -1
  15. package/dist/api-client/rag-client.d.ts +28 -60
  16. package/dist/api-client/rag-client.d.ts.map +1 -1
  17. package/dist/api-client/rag-client.js +46 -42
  18. package/dist/api-client/rag-client.js.map +1 -1
  19. package/dist/commands/account.d.ts +11 -4
  20. package/dist/commands/account.d.ts.map +1 -1
  21. package/dist/commands/account.js +76 -59
  22. package/dist/commands/account.js.map +1 -1
  23. package/dist/commands/agents.d.ts +66 -2
  24. package/dist/commands/agents.d.ts.map +1 -1
  25. package/dist/commands/agents.js +706 -92
  26. package/dist/commands/agents.js.map +1 -1
  27. package/dist/commands/apollo.d.ts +185 -0
  28. package/dist/commands/apollo.d.ts.map +1 -0
  29. package/dist/commands/apollo.js +682 -0
  30. package/dist/commands/apollo.js.map +1 -0
  31. package/dist/commands/env.js +1 -1
  32. package/dist/commands/env.js.map +1 -1
  33. package/dist/commands/import-agent.d.ts +31 -0
  34. package/dist/commands/import-agent.d.ts.map +1 -1
  35. package/dist/commands/import-agent.js +1068 -283
  36. package/dist/commands/import-agent.js.map +1 -1
  37. package/dist/commands/index.d.ts +3 -3
  38. package/dist/commands/index.d.ts.map +1 -1
  39. package/dist/commands/index.js +3 -3
  40. package/dist/commands/index.js.map +1 -1
  41. package/dist/commands/init.d.ts.map +1 -1
  42. package/dist/commands/init.js +403 -94
  43. package/dist/commands/init.js.map +1 -1
  44. package/dist/commands/integration-mcp-test.d.ts +68 -0
  45. package/dist/commands/integration-mcp-test.d.ts.map +1 -0
  46. package/dist/commands/integration-mcp-test.js +885 -0
  47. package/dist/commands/integration-mcp-test.js.map +1 -0
  48. package/dist/commands/integration-mcp-url.d.ts +40 -0
  49. package/dist/commands/integration-mcp-url.d.ts.map +1 -0
  50. package/dist/commands/integration-mcp-url.js +162 -0
  51. package/dist/commands/integration-mcp-url.js.map +1 -0
  52. package/dist/commands/integration-test.d.ts +108 -0
  53. package/dist/commands/integration-test.d.ts.map +1 -0
  54. package/dist/commands/integration-test.js +251 -0
  55. package/dist/commands/integration-test.js.map +1 -0
  56. package/dist/commands/integration-toolkits.d.ts +35 -0
  57. package/dist/commands/integration-toolkits.d.ts.map +1 -0
  58. package/dist/commands/integration-toolkits.js +101 -0
  59. package/dist/commands/integration-toolkits.js.map +1 -0
  60. package/dist/commands/integration-tools.d.ts +34 -0
  61. package/dist/commands/integration-tools.d.ts.map +1 -0
  62. package/dist/commands/integration-tools.js +108 -0
  63. package/dist/commands/integration-tools.js.map +1 -0
  64. package/dist/commands/integration.d.ts +83 -9
  65. package/dist/commands/integration.d.ts.map +1 -1
  66. package/dist/commands/integration.js +700 -252
  67. package/dist/commands/integration.js.map +1 -1
  68. package/dist/commands/legacy/push-records-mode.d.ts +166 -0
  69. package/dist/commands/legacy/push-records-mode.d.ts.map +1 -0
  70. package/dist/commands/legacy/push-records-mode.js +2621 -0
  71. package/dist/commands/legacy/push-records-mode.js.map +1 -0
  72. package/dist/commands/login.d.ts.map +1 -1
  73. package/dist/commands/login.js +34 -5
  74. package/dist/commands/login.js.map +1 -1
  75. package/dist/commands/pull-agent.d.ts +10 -0
  76. package/dist/commands/pull-agent.d.ts.map +1 -1
  77. package/dist/commands/pull-agent.js +713 -178
  78. package/dist/commands/pull-agent.js.map +1 -1
  79. package/dist/commands/push.d.ts +91 -6
  80. package/dist/commands/push.d.ts.map +1 -1
  81. package/dist/commands/push.js +1514 -1144
  82. package/dist/commands/push.js.map +1 -1
  83. package/dist/commands/rag.d.ts +1 -0
  84. package/dist/commands/rag.d.ts.map +1 -1
  85. package/dist/commands/rag.js +92 -36
  86. package/dist/commands/rag.js.map +1 -1
  87. package/dist/commands/report.d.ts +138 -0
  88. package/dist/commands/report.d.ts.map +1 -0
  89. package/dist/commands/report.js +205 -0
  90. package/dist/commands/report.js.map +1 -0
  91. package/dist/commands/serve.d.ts.map +1 -1
  92. package/dist/commands/serve.js +1 -4
  93. package/dist/commands/serve.js.map +1 -1
  94. package/dist/commands/sync-session.d.ts +13 -0
  95. package/dist/commands/sync-session.d.ts.map +1 -0
  96. package/dist/commands/sync-session.js +56 -0
  97. package/dist/commands/sync-session.js.map +1 -0
  98. package/dist/commands/upgrade.d.ts.map +1 -1
  99. package/dist/commands/upgrade.js +1 -1
  100. package/dist/commands/upgrade.js.map +1 -1
  101. package/dist/commands/util/agent-mode.d.ts +69 -0
  102. package/dist/commands/util/agent-mode.d.ts.map +1 -0
  103. package/dist/commands/util/agent-mode.js +159 -0
  104. package/dist/commands/util/agent-mode.js.map +1 -0
  105. package/dist/commands/util/agent-resolve.d.ts +102 -0
  106. package/dist/commands/util/agent-resolve.d.ts.map +1 -0
  107. package/dist/commands/util/agent-resolve.js +148 -0
  108. package/dist/commands/util/agent-resolve.js.map +1 -0
  109. package/dist/commands/util/apollo-agent.d.ts +70 -0
  110. package/dist/commands/util/apollo-agent.d.ts.map +1 -0
  111. package/dist/commands/util/apollo-agent.js +100 -0
  112. package/dist/commands/util/apollo-agent.js.map +1 -0
  113. package/dist/commands/validate.d.ts +129 -9
  114. package/dist/commands/validate.d.ts.map +1 -1
  115. package/dist/commands/validate.js +666 -804
  116. package/dist/commands/validate.js.map +1 -1
  117. package/dist/commands/version-snapshot.d.ts +21 -0
  118. package/dist/commands/version-snapshot.d.ts.map +1 -0
  119. package/dist/commands/version-snapshot.js +948 -0
  120. package/dist/commands/version-snapshot.js.map +1 -0
  121. package/dist/commands/version.d.ts +15 -2
  122. package/dist/commands/version.d.ts.map +1 -1
  123. package/dist/commands/version.js +439 -206
  124. package/dist/commands/version.js.map +1 -1
  125. package/dist/config/index.d.ts +96 -5
  126. package/dist/config/index.d.ts.map +1 -1
  127. package/dist/config/index.js +97 -59
  128. package/dist/config/index.js.map +1 -1
  129. package/dist/errors/index.d.ts +1 -12
  130. package/dist/errors/index.d.ts.map +1 -1
  131. package/dist/errors/index.js +90 -8
  132. package/dist/errors/index.js.map +1 -1
  133. package/dist/index.d.ts +2 -1
  134. package/dist/index.d.ts.map +1 -1
  135. package/dist/index.js +1066 -174
  136. package/dist/index.js.map +1 -1
  137. package/dist/services/account.service.js +1 -1
  138. package/dist/services/account.service.js.map +1 -1
  139. package/dist/services/agents.service.d.ts.map +1 -1
  140. package/dist/services/agents.service.js +11 -5
  141. package/dist/services/agents.service.js.map +1 -1
  142. package/dist/services/auth.service.d.ts +78 -0
  143. package/dist/services/auth.service.d.ts.map +1 -1
  144. package/dist/services/auth.service.js +290 -16
  145. package/dist/services/auth.service.js.map +1 -1
  146. package/dist/services/integration.service.d.ts +374 -22
  147. package/dist/services/integration.service.d.ts.map +1 -1
  148. package/dist/services/integration.service.js +643 -95
  149. package/dist/services/integration.service.js.map +1 -1
  150. package/dist/services/kb-view.service.d.ts +17 -30
  151. package/dist/services/kb-view.service.d.ts.map +1 -1
  152. package/dist/services/kb-view.service.js +191 -118
  153. package/dist/services/kb-view.service.js.map +1 -1
  154. package/dist/services/list-agents.service.d.ts +10 -0
  155. package/dist/services/list-agents.service.d.ts.map +1 -1
  156. package/dist/services/list-agents.service.js +16 -21
  157. package/dist/services/list-agents.service.js.map +1 -1
  158. package/dist/services/pull-schema.service.d.ts +20 -1
  159. package/dist/services/pull-schema.service.d.ts.map +1 -1
  160. package/dist/services/pull-schema.service.js +313 -121
  161. package/dist/services/pull-schema.service.js.map +1 -1
  162. package/dist/services/rag.service.d.ts +21 -8
  163. package/dist/services/rag.service.d.ts.map +1 -1
  164. package/dist/services/rag.service.js +43 -16
  165. package/dist/services/rag.service.js.map +1 -1
  166. package/dist/services/status.service.d.ts +8 -0
  167. package/dist/services/status.service.d.ts.map +1 -1
  168. package/dist/services/status.service.js +16 -1
  169. package/dist/services/status.service.js.map +1 -1
  170. package/dist/services/sync-session.service.d.ts +38 -0
  171. package/dist/services/sync-session.service.d.ts.map +1 -0
  172. package/dist/services/sync-session.service.js +93 -0
  173. package/dist/services/sync-session.service.js.map +1 -0
  174. package/dist/telemetry.d.ts +169 -2
  175. package/dist/telemetry.d.ts.map +1 -1
  176. package/dist/telemetry.js +878 -4
  177. package/dist/telemetry.js.map +1 -1
  178. package/dist/types/entity.d.ts +21 -0
  179. package/dist/types/entity.d.ts.map +1 -1
  180. package/dist/ui/components/Banner.js +1 -1
  181. package/dist/ui/components/Banner.js.map +1 -1
  182. package/dist/ui/components/EnvironmentBadge.d.ts +8 -0
  183. package/dist/ui/components/EnvironmentBadge.d.ts.map +1 -0
  184. package/dist/ui/components/EnvironmentBadge.js +11 -0
  185. package/dist/ui/components/EnvironmentBadge.js.map +1 -0
  186. package/dist/ui/components/index.d.ts +1 -0
  187. package/dist/ui/components/index.d.ts.map +1 -1
  188. package/dist/ui/components/index.js +1 -0
  189. package/dist/ui/components/index.js.map +1 -1
  190. package/dist/ui/theme.d.ts +13 -0
  191. package/dist/ui/theme.d.ts.map +1 -1
  192. package/dist/ui/theme.js +12 -0
  193. package/dist/ui/theme.js.map +1 -1
  194. package/dist/ui/views/AccountView.js +1 -1
  195. package/dist/ui/views/AccountView.js.map +1 -1
  196. package/dist/ui/views/EnvView.d.ts.map +1 -1
  197. package/dist/ui/views/EnvView.js +2 -2
  198. package/dist/ui/views/EnvView.js.map +1 -1
  199. package/dist/ui/views/ImportAgentView.d.ts +15 -0
  200. package/dist/ui/views/ImportAgentView.d.ts.map +1 -1
  201. package/dist/ui/views/ImportAgentView.js +8 -3
  202. package/dist/ui/views/ImportAgentView.js.map +1 -1
  203. package/dist/ui/views/IntegrationView.d.ts +3 -1
  204. package/dist/ui/views/IntegrationView.d.ts.map +1 -1
  205. package/dist/ui/views/IntegrationView.js +2 -2
  206. package/dist/ui/views/IntegrationView.js.map +1 -1
  207. package/dist/ui/views/LoginView.d.ts +2 -1
  208. package/dist/ui/views/LoginView.d.ts.map +1 -1
  209. package/dist/ui/views/LoginView.js +20 -14
  210. package/dist/ui/views/LoginView.js.map +1 -1
  211. package/dist/ui/views/PushView.d.ts +3 -1
  212. package/dist/ui/views/PushView.d.ts.map +1 -1
  213. package/dist/ui/views/PushView.js +8 -2
  214. package/dist/ui/views/PushView.js.map +1 -1
  215. package/dist/ui/views/RagView.d.ts +6 -1
  216. package/dist/ui/views/RagView.d.ts.map +1 -1
  217. package/dist/ui/views/RagView.js +23 -0
  218. package/dist/ui/views/RagView.js.map +1 -1
  219. package/dist/ui/views/StatusView.js +4 -4
  220. package/dist/ui/views/StatusView.js.map +1 -1
  221. package/dist/ui/views/SyncSessionView.d.ts +7 -0
  222. package/dist/ui/views/SyncSessionView.d.ts.map +1 -0
  223. package/dist/ui/views/SyncSessionView.js +10 -0
  224. package/dist/ui/views/SyncSessionView.js.map +1 -0
  225. package/dist/utils/agent-injection.d.ts +49 -0
  226. package/dist/utils/agent-injection.d.ts.map +1 -0
  227. package/dist/utils/agent-injection.js +83 -0
  228. package/dist/utils/agent-injection.js.map +1 -0
  229. package/dist/utils/fetch-with-timeout.d.ts +57 -0
  230. package/dist/utils/fetch-with-timeout.d.ts.map +1 -0
  231. package/dist/utils/fetch-with-timeout.js +125 -0
  232. package/dist/utils/fetch-with-timeout.js.map +1 -0
  233. package/dist/utils/help-json.d.ts +44 -0
  234. package/dist/utils/help-json.d.ts.map +1 -0
  235. package/dist/utils/help-json.js +62 -0
  236. package/dist/utils/help-json.js.map +1 -0
  237. package/dist/utils/index.d.ts +82 -18
  238. package/dist/utils/index.d.ts.map +1 -1
  239. package/dist/utils/index.js +387 -80
  240. package/dist/utils/index.js.map +1 -1
  241. package/dist/utils/json-output.d.ts +10 -0
  242. package/dist/utils/json-output.d.ts.map +1 -1
  243. package/dist/utils/json-output.js +14 -0
  244. package/dist/utils/json-output.js.map +1 -1
  245. package/dist/utils/payload-store.d.ts +40 -0
  246. package/dist/utils/payload-store.d.ts.map +1 -0
  247. package/dist/utils/payload-store.js +82 -0
  248. package/dist/utils/payload-store.js.map +1 -0
  249. package/dist/utils/request-capture.d.ts +26 -0
  250. package/dist/utils/request-capture.d.ts.map +1 -1
  251. package/dist/utils/request-capture.js +67 -0
  252. package/dist/utils/request-capture.js.map +1 -1
  253. package/dist/utils/select-prompt.d.ts +32 -0
  254. package/dist/utils/select-prompt.d.ts.map +1 -0
  255. package/dist/utils/select-prompt.js +71 -0
  256. package/dist/utils/select-prompt.js.map +1 -0
  257. package/dist/utils/update-notifier.d.ts.map +1 -1
  258. package/dist/utils/update-notifier.js +30 -3
  259. package/dist/utils/update-notifier.js.map +1 -1
  260. package/dist/web/assets/{index-DSg2xrPw.js → index-n4de71HW.js} +1 -1
  261. package/dist/web/index.html +1 -1
  262. package/package.json +10 -6
  263. package/dist/commands/add-integration.d.ts +0 -20
  264. package/dist/commands/add-integration.d.ts.map +0 -1
  265. package/dist/commands/add-integration.js +0 -385
  266. package/dist/commands/add-integration.js.map +0 -1
  267. package/dist/commands/add-tool.d.ts +0 -17
  268. package/dist/commands/add-tool.d.ts.map +0 -1
  269. package/dist/commands/add-tool.js +0 -225
  270. package/dist/commands/add-tool.js.map +0 -1
  271. package/dist/commands/chat.d.ts +0 -20
  272. package/dist/commands/chat.d.ts.map +0 -1
  273. package/dist/commands/chat.js +0 -545
  274. package/dist/commands/chat.js.map +0 -1
  275. package/dist/commands/create-agent.d.ts +0 -17
  276. package/dist/commands/create-agent.d.ts.map +0 -1
  277. package/dist/commands/create-agent.js +0 -18
  278. package/dist/commands/create-agent.js.map +0 -1
  279. package/dist/commands/lsp.d.ts +0 -13
  280. package/dist/commands/lsp.d.ts.map +0 -1
  281. package/dist/commands/lsp.js +0 -17
  282. package/dist/commands/lsp.js.map +0 -1
  283. package/dist/commands/widget.d.ts +0 -18
  284. package/dist/commands/widget.d.ts.map +0 -1
  285. package/dist/commands/widget.js +0 -153
  286. package/dist/commands/widget.js.map +0 -1
  287. package/dist/lsp/cross-refs.d.ts +0 -53
  288. package/dist/lsp/cross-refs.d.ts.map +0 -1
  289. package/dist/lsp/cross-refs.js +0 -330
  290. package/dist/lsp/cross-refs.js.map +0 -1
  291. package/dist/lsp/cross-refs.test.d.ts +0 -2
  292. package/dist/lsp/cross-refs.test.d.ts.map +0 -1
  293. package/dist/lsp/cross-refs.test.js +0 -130
  294. package/dist/lsp/cross-refs.test.js.map +0 -1
  295. package/dist/lsp/schemas.d.ts +0 -57
  296. package/dist/lsp/schemas.d.ts.map +0 -1
  297. package/dist/lsp/schemas.js +0 -126
  298. package/dist/lsp/schemas.js.map +0 -1
  299. package/dist/lsp/schemas.test.d.ts +0 -2
  300. package/dist/lsp/schemas.test.d.ts.map +0 -1
  301. package/dist/lsp/schemas.test.js +0 -74
  302. package/dist/lsp/schemas.test.js.map +0 -1
  303. package/dist/lsp/server.d.ts +0 -11
  304. package/dist/lsp/server.d.ts.map +0 -1
  305. package/dist/lsp/server.js +0 -205
  306. package/dist/lsp/server.js.map +0 -1
  307. package/dist/ui/views/ChatView.d.ts +0 -26
  308. package/dist/ui/views/ChatView.d.ts.map +0 -1
  309. package/dist/ui/views/ChatView.js +0 -96
  310. package/dist/ui/views/ChatView.js.map +0 -1
  311. package/dist/ui/views/__tests__/StatusView.test.d.ts +0 -2
  312. package/dist/ui/views/__tests__/StatusView.test.d.ts.map +0 -1
  313. package/dist/ui/views/__tests__/StatusView.test.js +0 -158
  314. package/dist/ui/views/__tests__/StatusView.test.js.map +0 -1
@@ -0,0 +1,347 @@
1
+ /**
2
+ * Apollo API client — runtime messaging orchestration (tasks, messages,
3
+ * rerun, trace).
4
+ *
5
+ * Wraps four Apollo endpoints behind the AUI gateway:
6
+ *
7
+ * POST /apollo-api/v1/messaging/tasks → createTask
8
+ * POST /apollo-api/v1/messaging/messages[?include_trace=] → sendMessage
9
+ * POST /apollo-api/v1/messaging/messages/rerun → rerunMessage
10
+ * GET /apollo-api/v1/messaging/tasks/{task_id}/trace-info → getTaskTraceInfo
11
+ *
12
+ * ─── Authentication ─────────────────────────────────────────────────────
13
+ *
14
+ * Apollo itself is `x-api-key`-only (compared constant-time against its
15
+ * service key) and trusts `x-aui-*` claims injected by the gateway. The
16
+ * CLI never holds that service key — it talks to the GATEWAY, which:
17
+ * 1. validates the CLI's user/session token,
18
+ * 2. strips `Authorization`,
19
+ * 3. forwards `x-api-key` + gateway-enriched `x-aui-organization-id` /
20
+ * `x-aui-user-id` to Apollo.
21
+ *
22
+ * So from the CLI we send the same session auth the agent-settings /
23
+ * agent-management routes use — `Authorization: Bearer <token>` + org
24
+ * headers — which the gateway validates and translates. (The outer-bridge
25
+ * `x-access-token` header does NOT work here: the gateway returns
26
+ * `{"decision":"deny","reason":"missing_credentials"}`.) We additionally
27
+ * forward the org id in the new `x-aui-organization-id`
28
+ * (and legacy `X-Organization-ID`) shapes, and the acting user in
29
+ * `x-aui-user-id` for the rerun route — harmless if the gateway
30
+ * overrides them with its own trusted claims, and correct if a given
31
+ * deployment passes them through.
32
+ *
33
+ * ─── Telemetry ──────────────────────────────────────────────────────────
34
+ *
35
+ * Every call captures the request (for `aui curl`) and attaches a
36
+ * redacted, replayable curl + HTTP status/body/duration onto the active
37
+ * OTel span — the same pattern the agent-settings client uses
38
+ * (`attachHttpCurlTelemetry`). Purely additive; never throws from the
39
+ * telemetry path.
40
+ */
41
+ import fetch, { FetchTimeoutError } from "../utils/fetch-with-timeout.js";
42
+ import { randomUUID } from "node:crypto";
43
+ import { getApolloBaseUrl, AUI_CLIENT, } from "../config/index.js";
44
+ import { captureRequest, formatAsCurlSafe } from "../utils/request-capture.js";
45
+ import { trace } from "@opentelemetry/api";
46
+ import { AUIAPIError } from "./index.js";
47
+ /**
48
+ * Thin HTTP client for the Apollo runtime messaging endpoints. Stateless
49
+ * apart from the auth/scope it was constructed with.
50
+ */
51
+ export class ApolloClient {
52
+ authToken;
53
+ organizationId;
54
+ accountId;
55
+ userId;
56
+ environment;
57
+ constructor(options) {
58
+ this.authToken = options.authToken;
59
+ this.organizationId = options.organizationId || "";
60
+ this.accountId = options.accountId || "";
61
+ this.userId = options.userId || "";
62
+ this.environment = options.environment;
63
+ }
64
+ baseUrl() {
65
+ return getApolloBaseUrl(this.environment).replace(/\/+$/, "");
66
+ }
67
+ /**
68
+ * Build the gateway auth + scope headers. `extra` lets per-route
69
+ * callers add headers like `x-aui-user-id` (rerun only).
70
+ */
71
+ headers(extra) {
72
+ const h = {
73
+ accept: "application/json, text/plain, */*",
74
+ "content-type": "application/json",
75
+ // The gateway in front of Apollo authenticates on the standard
76
+ // `Authorization: Bearer <token>` header (same as the
77
+ // agent-settings / agent-management routes) — NOT the outer-bridge
78
+ // `x-access-token` convention. It validates the token, strips
79
+ // Authorization, and forwards Apollo's `x-api-key` + `x-aui-*`
80
+ // claims. Sending `x-access-token` instead yields a gateway 401
81
+ // `{"decision":"deny","reason":"missing_credentials"}`.
82
+ Authorization: `Bearer ${this.authToken}`,
83
+ "account-id": this.accountId,
84
+ "organization-id": this.organizationId,
85
+ // New gateway-trusted org claim shape + legacy fallback. Sending
86
+ // both is safe: the gateway overrides with its own trusted claim
87
+ // when it injects one, and passes ours through otherwise.
88
+ "x-aui-organization-id": this.organizationId,
89
+ "X-Organization-ID": this.organizationId,
90
+ "x-aui-client": AUI_CLIENT,
91
+ "x-aui-environment": this.environment,
92
+ "x-aui-origin": "stores",
93
+ // Marks the caller for billing/task_origin without opting into the
94
+ // gateway network-scope path (which is keyed on the literal "pk").
95
+ "x-aui-source": "cli",
96
+ "x-trace-id": randomUUID(),
97
+ };
98
+ return { ...h, ...(extra ?? {}) };
99
+ }
100
+ // ─── Endpoints ───
101
+ /**
102
+ * `POST /v1/management/agents` — bundle-mode agent provisioning.
103
+ *
104
+ * With `bundle_mode: true` the server runs the full create flow
105
+ * (network → agent → version-from-template → publish → activate) in a
106
+ * single call; the CLI must NOT also fire those steps. See
107
+ * `ApolloCreateAgentRequest` for the orchestration contract.
108
+ */
109
+ async createAgent(body) {
110
+ return this.request({
111
+ name: "apollo_create_agent",
112
+ label: "apollo create agent",
113
+ method: "POST",
114
+ path: "/v1/management/agents",
115
+ body,
116
+ });
117
+ }
118
+ /**
119
+ * `POST /v1/integrations/test` — live-call an integration endpoint and
120
+ * return the raw response plus what the `response_parser` would extract.
121
+ *
122
+ * Thin pass-through: the body is forwarded as-is and the response is
123
+ * returned verbatim (the CLI does not reshape `test_data` /
124
+ * `parsed_test_response`). The full request/response is captured for
125
+ * `aui curl` and attached to the active span like every other call.
126
+ */
127
+ async testIntegration(body) {
128
+ return this.request({
129
+ name: "apollo_test_integration",
130
+ label: "apollo test integration",
131
+ method: "POST",
132
+ path: "/v1/integrations/test",
133
+ body,
134
+ });
135
+ }
136
+ /** `POST /v1/integrations/mcp/test` — execute an MCP tool and return the response. */
137
+ async testMCPIntegration(body) {
138
+ return this.request({
139
+ name: "apollo_test_mcp_integration",
140
+ label: "apollo test MCP integration",
141
+ method: "POST",
142
+ path: "/v1/integrations/mcp/test",
143
+ body,
144
+ });
145
+ }
146
+ /**
147
+ * `POST /v1/integrations/mcp/list` — discover callable tools on a DIRECT
148
+ * MCP server.
149
+ *
150
+ * Apollo proxies to IA's internal `POST /api/v1/integrations/mcp/discovery`
151
+ * endpoint, mapping `transporter_type` and returning normalised
152
+ * `input_schema` (snake_case) instead of IA's raw `inputSchema`.
153
+ */
154
+ async listMCPTools(body) {
155
+ return this.request({
156
+ name: "apollo_list_mcp_tools",
157
+ label: "apollo list MCP tools",
158
+ method: "POST",
159
+ path: "/v1/integrations/mcp/list",
160
+ body,
161
+ });
162
+ }
163
+ /** `POST /v1/messaging/tasks` — create a task for an agent. */
164
+ async createTask(body) {
165
+ return this.request({
166
+ name: "apollo_create_task",
167
+ label: "apollo create task",
168
+ method: "POST",
169
+ path: "/v1/messaging/tasks",
170
+ body,
171
+ });
172
+ }
173
+ /** `POST /v1/messaging/messages` — submit a user message, get the reply. */
174
+ async sendMessage(body, options = {}) {
175
+ const query = options.includeTrace ? "?include_trace=true" : "";
176
+ return this.request({
177
+ name: "apollo_send_message",
178
+ label: "apollo send message",
179
+ method: "POST",
180
+ path: `/v1/messaging/messages${query}`,
181
+ body: { type: "message", ...body },
182
+ });
183
+ }
184
+ /** `POST /v1/messaging/messages/rerun` — regenerate a task + replay. */
185
+ async rerunMessage(body, options = {}) {
186
+ // The acting user is gateway-enriched via `x-aui-user-id` (never the
187
+ // body) — see RerunMessageRequest docs in the openapi spec.
188
+ const extra = this.userId ? { "x-aui-user-id": this.userId } : undefined;
189
+ // `include_trace` mirrors the send-message contract: when true, the
190
+ // runtime makes the extra IA call and returns `trace_info` on the
191
+ // replayed message.
192
+ const query = options.includeTrace ? "?include_trace=true" : "";
193
+ return this.request({
194
+ name: "apollo_rerun_message",
195
+ label: "apollo rerun message",
196
+ method: "POST",
197
+ path: `/v1/messaging/messages/rerun${query}`,
198
+ body,
199
+ extraHeaders: extra,
200
+ });
201
+ }
202
+ /** `GET /v1/messaging/tasks/{task_id}/trace-info` — all interaction traces. */
203
+ async getTaskTraceInfo(taskId) {
204
+ return this.request({
205
+ name: "apollo_get_task_trace_info",
206
+ label: "apollo get task trace-info",
207
+ method: "GET",
208
+ path: `/v1/messaging/tasks/${encodeURIComponent(taskId)}/trace-info`,
209
+ });
210
+ }
211
+ /**
212
+ * `GET /v1/messaging/tasks/{task_id}/interactions/{interaction_id}/trace-info`
213
+ * — the trace for a single interaction (object, not a list).
214
+ */
215
+ async getInteractionTraceInfo(taskId, interactionId) {
216
+ return this.request({
217
+ name: "apollo_get_interaction_trace_info",
218
+ label: "apollo get interaction trace-info",
219
+ method: "GET",
220
+ path: `/v1/messaging/tasks/${encodeURIComponent(taskId)}/interactions/${encodeURIComponent(interactionId)}/trace-info`,
221
+ });
222
+ }
223
+ // ─── Core request + telemetry ───
224
+ async request(input) {
225
+ const url = `${this.baseUrl()}${input.path}`;
226
+ const headers = this.headers(input.extraHeaders);
227
+ const init = { method: input.method, headers };
228
+ if (input.body !== undefined)
229
+ init.body = JSON.stringify(input.body);
230
+ const startedAt = Date.now();
231
+ let response;
232
+ try {
233
+ response = await fetch(url, init);
234
+ }
235
+ catch (error) {
236
+ // Attach the failed attempt to the span + capture buffer before
237
+ // re-throwing so `aui curl --failed` and Logfire both show it.
238
+ const networkErr = error instanceof FetchTimeoutError
239
+ ? error
240
+ : new Error(`Network error: ${error instanceof Error ? error.message : "Connection failed"}`);
241
+ this.attachTelemetry({
242
+ name: input.name,
243
+ label: input.label,
244
+ method: input.method,
245
+ url,
246
+ headers,
247
+ requestBody: input.body,
248
+ responseText: networkErr.message,
249
+ status: 0,
250
+ success: false,
251
+ durationMs: Date.now() - startedAt,
252
+ });
253
+ throw networkErr;
254
+ }
255
+ const responseText = await response.text().catch(() => "");
256
+ this.attachTelemetry({
257
+ name: input.name,
258
+ label: input.label,
259
+ method: input.method,
260
+ url,
261
+ headers,
262
+ requestBody: input.body,
263
+ responseText,
264
+ status: response.status,
265
+ success: response.ok,
266
+ durationMs: Date.now() - startedAt,
267
+ });
268
+ if (!response.ok) {
269
+ let errorBody;
270
+ try {
271
+ errorBody = JSON.parse(responseText);
272
+ }
273
+ catch {
274
+ errorBody = responseText || null;
275
+ }
276
+ throw new AUIAPIError(response.status, `${input.label}: ${response.statusText}`, errorBody);
277
+ }
278
+ if (!responseText)
279
+ return {};
280
+ try {
281
+ return JSON.parse(responseText);
282
+ }
283
+ catch {
284
+ return responseText;
285
+ }
286
+ }
287
+ /**
288
+ * Capture the request for `aui curl` and attach a redacted curl repro
289
+ * + HTTP fields onto the active span. Best-effort; never throws.
290
+ */
291
+ attachTelemetry(input) {
292
+ captureRequest({
293
+ timestamp: new Date().toISOString(),
294
+ method: input.method,
295
+ url: input.url,
296
+ headers: input.headers,
297
+ body: input.requestBody,
298
+ status: input.status,
299
+ responseBody: input.responseText,
300
+ label: input.label,
301
+ success: input.success,
302
+ });
303
+ try {
304
+ const span = trace.getActiveSpan();
305
+ if (!span)
306
+ return;
307
+ const MAX = 32 * 1024;
308
+ const truncatedResponse = input.responseText.length > MAX
309
+ ? input.responseText.slice(0, MAX) +
310
+ `... [truncated ${input.responseText.length - MAX} bytes]`
311
+ : input.responseText;
312
+ const curl = formatAsCurlSafe({
313
+ timestamp: new Date().toISOString(),
314
+ method: input.method,
315
+ url: input.url,
316
+ headers: input.headers,
317
+ body: input.requestBody,
318
+ status: input.status,
319
+ responseBody: input.responseText,
320
+ label: input.label,
321
+ success: input.success,
322
+ }, { maxBodyBytes: MAX });
323
+ const eventAttrs = {
324
+ "http.method": input.method,
325
+ "http.url": input.url,
326
+ [`${input.name}.success`]: input.success,
327
+ [`${input.name}.duration_ms`]: input.durationMs,
328
+ [`${input.name}.response_body`]: truncatedResponse,
329
+ "aui.curl_repro": curl,
330
+ };
331
+ if (input.status > 0)
332
+ eventAttrs["http.status_code"] = input.status;
333
+ span.addEvent(`http.${input.name}`, eventAttrs);
334
+ // Mirror onto the span itself for the dedicated per-command span.
335
+ span.setAttribute("aui.curl_repro", curl);
336
+ span.setAttribute("http.method", input.method);
337
+ span.setAttribute("http.url", input.url);
338
+ span.setAttribute("http.response_body", truncatedResponse);
339
+ if (input.status > 0)
340
+ span.setAttribute("http.status_code", input.status);
341
+ }
342
+ catch {
343
+ // Telemetry must never break the call path.
344
+ }
345
+ }
346
+ }
347
+ //# sourceMappingURL=apollo-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apollo-client.js","sourceRoot":"","sources":["../../src/api-client/apollo-client.ts"],"names":[],"mappings":"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"}