@polpo-ai/dashboard 0.15.11 → 0.15.12

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 (278) hide show
  1. package/README.md +43 -9
  2. package/dist/host.d.ts +1 -0
  3. package/dist/host.d.ts.map +1 -1
  4. package/dist/host.js.map +1 -1
  5. package/dist/index.d.ts +14 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +14 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/v2/agents/agent-detail.d.ts +58 -0
  10. package/dist/v2/agents/agent-detail.d.ts.map +1 -0
  11. package/dist/v2/agents/agent-detail.js +408 -0
  12. package/dist/v2/agents/agent-detail.js.map +1 -0
  13. package/dist/v2/agents/agent-run-panel.d.ts +5 -0
  14. package/dist/v2/agents/agent-run-panel.d.ts.map +1 -0
  15. package/dist/v2/agents/agent-run-panel.js +150 -0
  16. package/dist/v2/agents/agent-run-panel.js.map +1 -0
  17. package/dist/v2/agents/loops-tab.d.ts +6 -0
  18. package/dist/v2/agents/loops-tab.d.ts.map +1 -0
  19. package/dist/v2/agents/loops-tab.js +159 -0
  20. package/dist/v2/agents/loops-tab.js.map +1 -0
  21. package/dist/v2/agents/model-select.d.ts +24 -0
  22. package/dist/v2/agents/model-select.d.ts.map +1 -0
  23. package/dist/v2/agents/model-select.js +155 -0
  24. package/dist/v2/agents/model-select.js.map +1 -0
  25. package/dist/v2/agents/prompt-preview-dialog.d.ts +15 -0
  26. package/dist/v2/agents/prompt-preview-dialog.d.ts.map +1 -0
  27. package/dist/v2/agents/prompt-preview-dialog.js +140 -0
  28. package/dist/v2/agents/prompt-preview-dialog.js.map +1 -0
  29. package/dist/v2/agents/self-host-create-agent-dialog.d.ts +6 -0
  30. package/dist/v2/agents/self-host-create-agent-dialog.d.ts.map +1 -0
  31. package/dist/v2/agents/self-host-create-agent-dialog.js +31 -0
  32. package/dist/v2/agents/self-host-create-agent-dialog.js.map +1 -0
  33. package/dist/v2/agents/self-host-detail.d.ts +4 -0
  34. package/dist/v2/agents/self-host-detail.d.ts.map +1 -0
  35. package/dist/v2/agents/self-host-detail.js +34 -0
  36. package/dist/v2/agents/self-host-detail.js.map +1 -0
  37. package/dist/v2/agents/self-host-run-chat.d.ts +10 -0
  38. package/dist/v2/agents/self-host-run-chat.d.ts.map +1 -0
  39. package/dist/v2/agents/self-host-run-chat.js +18 -0
  40. package/dist/v2/agents/self-host-run-chat.js.map +1 -0
  41. package/dist/v2/agents/skills-tab.d.ts +6 -0
  42. package/dist/v2/agents/skills-tab.d.ts.map +1 -0
  43. package/dist/v2/agents/skills-tab.js +112 -0
  44. package/dist/v2/agents/skills-tab.js.map +1 -0
  45. package/dist/v2/agents/tools-panel.d.ts +26 -0
  46. package/dist/v2/agents/tools-panel.d.ts.map +1 -0
  47. package/dist/v2/agents/tools-panel.js +122 -0
  48. package/dist/v2/agents/tools-panel.js.map +1 -0
  49. package/dist/v2/agents/tools-tab.d.ts +6 -0
  50. package/dist/v2/agents/tools-tab.d.ts.map +1 -0
  51. package/dist/v2/agents/tools-tab.js +116 -0
  52. package/dist/v2/agents/tools-tab.js.map +1 -0
  53. package/dist/v2/agents/vault-tab.d.ts +13 -0
  54. package/dist/v2/agents/vault-tab.d.ts.map +1 -0
  55. package/dist/v2/agents/vault-tab.js +93 -0
  56. package/dist/v2/agents/vault-tab.js.map +1 -0
  57. package/dist/v2/files/file-browser-primitives.d.ts +39 -0
  58. package/dist/v2/files/file-browser-primitives.d.ts.map +1 -0
  59. package/dist/v2/files/file-browser-primitives.js +75 -0
  60. package/dist/v2/files/file-browser-primitives.js.map +1 -0
  61. package/dist/v2/files/file-directory-browser.d.ts +10 -0
  62. package/dist/v2/files/file-directory-browser.d.ts.map +1 -0
  63. package/dist/v2/files/file-directory-browser.js +57 -0
  64. package/dist/v2/files/file-directory-browser.js.map +1 -0
  65. package/dist/v2/files/files-browser.d.ts +7 -0
  66. package/dist/v2/files/files-browser.d.ts.map +1 -0
  67. package/dist/v2/files/files-browser.js +390 -0
  68. package/dist/v2/files/files-browser.js.map +1 -0
  69. package/dist/v2/files/host.d.ts +45 -0
  70. package/dist/v2/files/host.d.ts.map +1 -0
  71. package/dist/v2/files/host.js +72 -0
  72. package/dist/v2/files/host.js.map +1 -0
  73. package/dist/v2/host.d.ts +53 -0
  74. package/dist/v2/host.d.ts.map +1 -0
  75. package/dist/v2/host.js +181 -0
  76. package/dist/v2/host.js.map +1 -0
  77. package/dist/v2/playground/chat-canvas.d.ts +9 -0
  78. package/dist/v2/playground/chat-canvas.d.ts.map +1 -0
  79. package/dist/v2/playground/chat-canvas.js +88 -0
  80. package/dist/v2/playground/chat-canvas.js.map +1 -0
  81. package/dist/v2/playground/host.d.ts +116 -0
  82. package/dist/v2/playground/host.d.ts.map +1 -0
  83. package/dist/v2/playground/host.js +12 -0
  84. package/dist/v2/playground/host.js.map +1 -0
  85. package/dist/v2/playground/self-host-chat.d.ts +11 -0
  86. package/dist/v2/playground/self-host-chat.d.ts.map +1 -0
  87. package/dist/v2/playground/self-host-chat.js +85 -0
  88. package/dist/v2/playground/self-host-chat.js.map +1 -0
  89. package/dist/v2/playground/self-host.d.ts +2 -0
  90. package/dist/v2/playground/self-host.d.ts.map +1 -0
  91. package/dist/v2/playground/self-host.js +87 -0
  92. package/dist/v2/playground/self-host.js.map +1 -0
  93. package/dist/v2/sessions/host.d.ts +167 -0
  94. package/dist/v2/sessions/host.d.ts.map +1 -0
  95. package/dist/v2/sessions/host.js +12 -0
  96. package/dist/v2/sessions/host.js.map +1 -0
  97. package/dist/v2/sessions/self-host.d.ts +7 -0
  98. package/dist/v2/sessions/self-host.d.ts.map +1 -0
  99. package/dist/v2/sessions/self-host.js +120 -0
  100. package/dist/v2/sessions/self-host.js.map +1 -0
  101. package/dist/v2/sessions/trace-columns.d.ts +4 -0
  102. package/dist/v2/sessions/trace-columns.d.ts.map +1 -0
  103. package/dist/v2/sessions/trace-columns.js +102 -0
  104. package/dist/v2/sessions/trace-columns.js.map +1 -0
  105. package/dist/v2/sessions/trace-detail-view.d.ts +7 -0
  106. package/dist/v2/sessions/trace-detail-view.d.ts.map +1 -0
  107. package/dist/v2/sessions/trace-detail-view.js +346 -0
  108. package/dist/v2/sessions/trace-detail-view.js.map +1 -0
  109. package/dist/v2/sessions/trace-detail.d.ts +133 -0
  110. package/dist/v2/sessions/trace-detail.d.ts.map +1 -0
  111. package/dist/v2/sessions/trace-detail.js +210 -0
  112. package/dist/v2/sessions/trace-detail.js.map +1 -0
  113. package/dist/v2/sessions/trace-normalize.d.ts +60 -0
  114. package/dist/v2/sessions/trace-normalize.d.ts.map +1 -0
  115. package/dist/v2/sessions/trace-normalize.js +87 -0
  116. package/dist/v2/sessions/trace-normalize.js.map +1 -0
  117. package/dist/v2/sessions/trace-table.d.ts +8 -0
  118. package/dist/v2/sessions/trace-table.d.ts.map +1 -0
  119. package/dist/v2/sessions/trace-table.js +27 -0
  120. package/dist/v2/sessions/trace-table.js.map +1 -0
  121. package/dist/v2/shell/coding-agents.d.ts +21 -0
  122. package/dist/v2/shell/coding-agents.d.ts.map +1 -0
  123. package/dist/v2/shell/coding-agents.js +41 -0
  124. package/dist/v2/shell/coding-agents.js.map +1 -0
  125. package/dist/v2/shell/dashboard-shell.d.ts +6 -0
  126. package/dist/v2/shell/dashboard-shell.d.ts.map +1 -0
  127. package/dist/v2/shell/dashboard-shell.js +132 -0
  128. package/dist/v2/shell/dashboard-shell.js.map +1 -0
  129. package/dist/v2/skills/self-host-create-skill-dialog.d.ts +6 -0
  130. package/dist/v2/skills/self-host-create-skill-dialog.d.ts.map +1 -0
  131. package/dist/v2/skills/self-host-create-skill-dialog.js +27 -0
  132. package/dist/v2/skills/self-host-create-skill-dialog.js.map +1 -0
  133. package/dist/v2/skills/self-host-detail.d.ts +4 -0
  134. package/dist/v2/skills/self-host-detail.d.ts.map +1 -0
  135. package/dist/v2/skills/self-host-detail.js +31 -0
  136. package/dist/v2/skills/self-host-detail.js.map +1 -0
  137. package/dist/v2/support/agent-call-snippets.d.ts +35 -0
  138. package/dist/v2/support/agent-call-snippets.d.ts.map +1 -0
  139. package/dist/v2/support/agent-call-snippets.js +113 -0
  140. package/dist/v2/support/agent-call-snippets.js.map +1 -0
  141. package/dist/v2/support/tool-catalog.d.ts +62 -0
  142. package/dist/v2/support/tool-catalog.d.ts.map +1 -0
  143. package/dist/v2/support/tool-catalog.js +271 -0
  144. package/dist/v2/support/tool-catalog.js.map +1 -0
  145. package/dist/v2/support/vault-fields.d.ts +29 -0
  146. package/dist/v2/support/vault-fields.d.ts.map +1 -0
  147. package/dist/v2/support/vault-fields.js +74 -0
  148. package/dist/v2/support/vault-fields.js.map +1 -0
  149. package/dist/v2/tools/param-fields.d.ts +19 -0
  150. package/dist/v2/tools/param-fields.d.ts.map +1 -0
  151. package/dist/v2/tools/param-fields.js +191 -0
  152. package/dist/v2/tools/param-fields.js.map +1 -0
  153. package/dist/v2/tools/self-host.d.ts +7 -0
  154. package/dist/v2/tools/self-host.d.ts.map +1 -0
  155. package/dist/v2/tools/self-host.js +24 -0
  156. package/dist/v2/tools/self-host.js.map +1 -0
  157. package/dist/v2/tools/source-parsing.d.ts +4 -0
  158. package/dist/v2/tools/source-parsing.d.ts.map +1 -0
  159. package/dist/v2/tools/source-parsing.js +15 -0
  160. package/dist/v2/tools/source-parsing.js.map +1 -0
  161. package/dist/v2/tools/tool-detail.d.ts +7 -0
  162. package/dist/v2/tools/tool-detail.d.ts.map +1 -0
  163. package/dist/v2/tools/tool-detail.js +154 -0
  164. package/dist/v2/tools/tool-detail.js.map +1 -0
  165. package/dist/v2/tools/tool-editor-dialog.d.ts +9 -0
  166. package/dist/v2/tools/tool-editor-dialog.d.ts.map +1 -0
  167. package/dist/v2/tools/tool-editor-dialog.js +305 -0
  168. package/dist/v2/tools/tool-editor-dialog.js.map +1 -0
  169. package/dist/v2/tools/tools-view.d.ts +21 -0
  170. package/dist/v2/tools/tools-view.d.ts.map +1 -0
  171. package/dist/v2/tools/tools-view.js +75 -0
  172. package/dist/v2/tools/tools-view.js.map +1 -0
  173. package/dist/v2/ui/bits.d.ts +23 -0
  174. package/dist/v2/ui/bits.d.ts.map +1 -0
  175. package/dist/v2/ui/bits.js +18 -0
  176. package/dist/v2/ui/bits.js.map +1 -0
  177. package/dist/v2/ui/button.d.ts +9 -0
  178. package/dist/v2/ui/button.d.ts.map +1 -0
  179. package/dist/v2/ui/button.js +33 -0
  180. package/dist/v2/ui/button.js.map +1 -0
  181. package/dist/v2/ui/code-block.d.ts +20 -0
  182. package/dist/v2/ui/code-block.d.ts.map +1 -0
  183. package/dist/v2/ui/code-block.js +44 -0
  184. package/dist/v2/ui/code-block.js.map +1 -0
  185. package/dist/v2/ui/code-editor.d.ts +9 -0
  186. package/dist/v2/ui/code-editor.d.ts.map +1 -0
  187. package/dist/v2/ui/code-editor.js +25 -0
  188. package/dist/v2/ui/code-editor.js.map +1 -0
  189. package/dist/v2/ui/copy-button.d.ts +9 -0
  190. package/dist/v2/ui/copy-button.d.ts.map +1 -0
  191. package/dist/v2/ui/copy-button.js +24 -0
  192. package/dist/v2/ui/copy-button.js.map +1 -0
  193. package/dist/v2/ui/data-table.d.ts +40 -0
  194. package/dist/v2/ui/data-table.d.ts.map +1 -0
  195. package/dist/v2/ui/data-table.js +85 -0
  196. package/dist/v2/ui/data-table.js.map +1 -0
  197. package/dist/v2/ui/dialog.d.ts +16 -0
  198. package/dist/v2/ui/dialog.d.ts.map +1 -0
  199. package/dist/v2/ui/dialog.js +39 -0
  200. package/dist/v2/ui/dialog.js.map +1 -0
  201. package/dist/v2/ui/input.d.ts +2 -0
  202. package/dist/v2/ui/input.d.ts.map +1 -0
  203. package/dist/v2/ui/input.js +7 -0
  204. package/dist/v2/ui/input.js.map +1 -0
  205. package/dist/v2/ui/multi-select-filter.d.ts +18 -0
  206. package/dist/v2/ui/multi-select-filter.d.ts.map +1 -0
  207. package/dist/v2/ui/multi-select-filter.js +37 -0
  208. package/dist/v2/ui/multi-select-filter.js.map +1 -0
  209. package/dist/v2/ui/page-header.d.ts +10 -0
  210. package/dist/v2/ui/page-header.d.ts.map +1 -0
  211. package/dist/v2/ui/page-header.js +8 -0
  212. package/dist/v2/ui/page-header.js.map +1 -0
  213. package/dist/v2/ui/refresh-button.d.ts +5 -0
  214. package/dist/v2/ui/refresh-button.d.ts.map +1 -0
  215. package/dist/v2/ui/refresh-button.js +7 -0
  216. package/dist/v2/ui/refresh-button.js.map +1 -0
  217. package/dist/v2/ui/select.d.ts +16 -0
  218. package/dist/v2/ui/select.d.ts.map +1 -0
  219. package/dist/v2/ui/select.js +36 -0
  220. package/dist/v2/ui/select.js.map +1 -0
  221. package/dist/v2/ui/skeleton.d.ts +3 -0
  222. package/dist/v2/ui/skeleton.d.ts.map +1 -0
  223. package/dist/v2/ui/skeleton.js +7 -0
  224. package/dist/v2/ui/skeleton.js.map +1 -0
  225. package/dist/v2/ui/textarea.d.ts +2 -0
  226. package/dist/v2/ui/textarea.d.ts.map +1 -0
  227. package/dist/v2/ui/textarea.js +6 -0
  228. package/dist/v2/ui/textarea.js.map +1 -0
  229. package/dist/v2/utils.d.ts +3 -0
  230. package/dist/v2/utils.d.ts.map +1 -0
  231. package/dist/v2/utils.js +6 -0
  232. package/dist/v2/utils.js.map +1 -0
  233. package/dist/v2/views/agents-detail.d.ts +2 -0
  234. package/dist/v2/views/agents-detail.d.ts.map +1 -0
  235. package/dist/v2/views/agents-detail.js +2 -0
  236. package/dist/v2/views/agents-detail.js.map +1 -0
  237. package/dist/v2/views/agents.d.ts +22 -0
  238. package/dist/v2/views/agents.d.ts.map +1 -0
  239. package/dist/v2/views/agents.js +161 -0
  240. package/dist/v2/views/agents.js.map +1 -0
  241. package/dist/v2/views/files.d.ts +2 -0
  242. package/dist/v2/views/files.d.ts.map +1 -0
  243. package/dist/v2/views/files.js +10 -0
  244. package/dist/v2/views/files.js.map +1 -0
  245. package/dist/v2/views/memory-host.d.ts +10 -0
  246. package/dist/v2/views/memory-host.d.ts.map +1 -0
  247. package/dist/v2/views/memory-host.js +17 -0
  248. package/dist/v2/views/memory-host.js.map +1 -0
  249. package/dist/v2/views/memory-project.d.ts +5 -0
  250. package/dist/v2/views/memory-project.d.ts.map +1 -0
  251. package/dist/v2/views/memory-project.js +36 -0
  252. package/dist/v2/views/memory-project.js.map +1 -0
  253. package/dist/v2/views/memory.d.ts +2 -0
  254. package/dist/v2/views/memory.d.ts.map +1 -0
  255. package/dist/v2/views/memory.js +14 -0
  256. package/dist/v2/views/memory.js.map +1 -0
  257. package/dist/v2/views/playground.d.ts +13 -0
  258. package/dist/v2/views/playground.d.ts.map +1 -0
  259. package/dist/v2/views/playground.js +88 -0
  260. package/dist/v2/views/playground.js.map +1 -0
  261. package/dist/v2/views/sessions-detail.d.ts +8 -0
  262. package/dist/v2/views/sessions-detail.d.ts.map +1 -0
  263. package/dist/v2/views/sessions-detail.js +107 -0
  264. package/dist/v2/views/sessions-detail.js.map +1 -0
  265. package/dist/v2/views/sessions.d.ts +9 -0
  266. package/dist/v2/views/sessions.d.ts.map +1 -0
  267. package/dist/v2/views/sessions.js +9 -0
  268. package/dist/v2/views/sessions.js.map +1 -0
  269. package/dist/v2/views/skills-detail.d.ts +26 -0
  270. package/dist/v2/views/skills-detail.d.ts.map +1 -0
  271. package/dist/v2/views/skills-detail.js +120 -0
  272. package/dist/v2/views/skills-detail.js.map +1 -0
  273. package/dist/v2/views/skills.d.ts +13 -0
  274. package/dist/v2/views/skills.d.ts.map +1 -0
  275. package/dist/v2/views/skills.js +46 -0
  276. package/dist/v2/views/skills.js.map +1 -0
  277. package/package.json +20 -4
  278. package/src/v2.css +212 -0
package/README.md CHANGED
@@ -1,17 +1,51 @@
1
1
  # @polpo-ai/dashboard
2
2
 
3
- Reusable v2 dashboard views for a Polpo runtime. The package contains only
4
- project-scoped runtime UI; authentication, organizations, provisioning and
5
- billing belong to the host application.
3
+ Reusable Polpo v2 dashboard views. The package is the shared visual source for
4
+ the managed Cloud dashboard and the single-tenant self-hosted dashboard.
5
+
6
+ The package owns project-scoped runtime surfaces: agents, playground, sessions,
7
+ files, memory, skills, and custom tools. The host application owns deployment
8
+ boundaries such as authentication, organizations, project provisioning,
9
+ billing, managed connections, and the managed model gateway.
6
10
 
7
11
  ```tsx
8
- <PolpoProvider baseUrl={origin} apiPrefix="/api/polpo">
9
- <DashboardProvider host={{ navigate, capabilities }}>
10
- <AgentsView />
12
+ import {
13
+ DashboardProvider,
14
+ V2AgentsView,
15
+ V2PageBody,
16
+ } from "@polpo-ai/dashboard";
17
+ import "@polpo-ai/dashboard/v2.css";
18
+
19
+ <PolpoProvider baseUrl="" apiPrefix="/api/polpo">
20
+ <DashboardProvider
21
+ host={{
22
+ project: { id: "local", name: "Local runtime" },
23
+ capabilities: {
24
+ multiProject: false,
25
+ billing: false,
26
+ managedConnections: false,
27
+ managedGateway: false,
28
+ provisioning: false,
29
+ },
30
+ navigate,
31
+ href,
32
+ }}
33
+ >
34
+ <V2PageBody>
35
+ <V2AgentsView projectId="local" initialAgents={[]} initialTeams={[]} />
36
+ </V2PageBody>
11
37
  </DashboardProvider>
12
38
  </PolpoProvider>
13
39
  ```
14
40
 
15
- Self-hosted installations should keep `POLPO_API_KEY` server-side and proxy
16
- dashboard requests to the runtime. Never expose privileged keys through a
17
- `NEXT_PUBLIC_*` variable.
41
+ `apps/dashboard` is the reference self-hosted host. It proxies browser requests
42
+ to the runtime and keeps `POLPO_API_KEY` server-side. Never expose privileged
43
+ keys through a `NEXT_PUBLIC_*` variable.
44
+
45
+ ## Parity
46
+
47
+ Run `pnpm check:dashboard-parity` from the repository root while a Polpo Cloud
48
+ checkout is available. Set `POLPO_CLOUD_DASHBOARD_ROOT` when the Cloud dashboard
49
+ is not at the default sibling path. The check compares the shared CSS and the
50
+ JSX structure of mapped Cloud v2 components while allowing explicit host
51
+ adapters.
package/dist/host.d.ts CHANGED
@@ -2,6 +2,7 @@ import { type ReactNode } from "react";
2
2
  export interface DashboardCapabilities {
3
3
  multiProject?: boolean;
4
4
  billing?: boolean;
5
+ settings?: boolean;
5
6
  managedConnections?: boolean;
6
7
  managedGateway?: boolean;
7
8
  provisioning?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC;AAID,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAMA;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAIhD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../src/host.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE,MAAM,WAAW,qBAAqB;IACpC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC;AAID,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;CACrB,2CAMA;AAED,wBAAgB,gBAAgB,IAAI,aAAa,CAIhD;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD"}
package/dist/host.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAiBlE,MAAM,oBAAoB,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,GAIT;IACC,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YACvC,QAAQ,GACqB,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"host.js","sourceRoot":"","sources":["../src/host.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AAkBlE,MAAM,oBAAoB,GAAG,aAAa,CAAuB,IAAI,CAAC,CAAC;AAEvE,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,GAIT;IACC,OAAO,CACL,KAAC,oBAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,IAAI,YACvC,QAAQ,GACqB,CACjC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC9C,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,IAAI,GAAG,gBAAgB,EAAE,CAAC;IAChC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;AACnC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,20 @@ export { DashboardProvider, useDashboardHost, useDashboardHref } from "./host.js
2
2
  export type { DashboardCapabilities, DashboardHost } from "./host.js";
3
3
  export { PageBody, PageHeader, Button, IconButton, DataTable, LoadingRows } from "./components.js";
4
4
  export type { ColumnMeta } from "./components.js";
5
+ export { PageBody as V2PageBody, PageHeader as V2PageHeader } from "./v2/ui/page-header.js";
6
+ export { Button as V2Button } from "./v2/ui/button.js";
7
+ export { DataTable as V2DataTable } from "./v2/ui/data-table.js";
8
+ export { RefreshButton as V2RefreshButton } from "./v2/ui/refresh-button.js";
9
+ export { DashboardShell } from "./v2/shell/dashboard-shell.js";
10
+ export { AgentsTable as V2AgentsView } from "./v2/views/agents.js";
11
+ export { SelfHostAgentDetailView as V2AgentDetailView } from "./v2/agents/self-host-detail.js";
12
+ export { SkillsCatalog as V2SkillsView } from "./v2/views/skills.js";
13
+ export { SelfHostSkillDetailView as V2SkillDetailView } from "./v2/skills/self-host-detail.js";
14
+ export { FilesView as V2FilesView } from "./v2/views/files.js";
15
+ export { MemoryView as V2MemoryView } from "./v2/views/memory.js";
16
+ export { SelfHostSessionsView as V2SessionsView, SelfHostSessionDetailView as V2SessionDetailView } from "./v2/sessions/self-host.js";
17
+ export { SelfHostPlaygroundView as V2PlaygroundView } from "./v2/playground/self-host.js";
18
+ export { SelfHostToolsView as V2ToolsView, SelfHostToolDetailView as V2ToolDetailView } from "./v2/tools/self-host.js";
5
19
  export { AgentsView } from "./views/agents.js";
6
20
  export { AgentDetailView } from "./views/agent-detail.js";
7
21
  export { PlaygroundView } from "./views/playground.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnG,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAClF,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnG,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,oBAAoB,IAAI,cAAc,EAAE,yBAAyB,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtI,OAAO,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,19 @@
1
1
  export { DashboardProvider, useDashboardHost, useDashboardHref } from "./host.js";
2
2
  export { PageBody, PageHeader, Button, IconButton, DataTable, LoadingRows } from "./components.js";
3
+ export { PageBody as V2PageBody, PageHeader as V2PageHeader } from "./v2/ui/page-header.js";
4
+ export { Button as V2Button } from "./v2/ui/button.js";
5
+ export { DataTable as V2DataTable } from "./v2/ui/data-table.js";
6
+ export { RefreshButton as V2RefreshButton } from "./v2/ui/refresh-button.js";
7
+ export { DashboardShell } from "./v2/shell/dashboard-shell.js";
8
+ export { AgentsTable as V2AgentsView } from "./v2/views/agents.js";
9
+ export { SelfHostAgentDetailView as V2AgentDetailView } from "./v2/agents/self-host-detail.js";
10
+ export { SkillsCatalog as V2SkillsView } from "./v2/views/skills.js";
11
+ export { SelfHostSkillDetailView as V2SkillDetailView } from "./v2/skills/self-host-detail.js";
12
+ export { FilesView as V2FilesView } from "./v2/views/files.js";
13
+ export { MemoryView as V2MemoryView } from "./v2/views/memory.js";
14
+ export { SelfHostSessionsView as V2SessionsView, SelfHostSessionDetailView as V2SessionDetailView } from "./v2/sessions/self-host.js";
15
+ export { SelfHostPlaygroundView as V2PlaygroundView } from "./v2/playground/self-host.js";
16
+ export { SelfHostToolsView as V2ToolsView, SelfHostToolDetailView as V2ToolDetailView } from "./v2/tools/self-host.js";
3
17
  export { AgentsView } from "./views/agents.js";
4
18
  export { AgentDetailView } from "./views/agent-detail.js";
5
19
  export { PlaygroundView } from "./views/playground.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElF,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnG,OAAO,EAAE,QAAQ,IAAI,UAAU,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC5F,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,aAAa,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,aAAa,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC/F,OAAO,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,UAAU,IAAI,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,oBAAoB,IAAI,cAAc,EAAE,yBAAyB,IAAI,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACtI,OAAO,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAC1F,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,sBAAsB,IAAI,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AACvH,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,58 @@
1
+ export type AgentDetailData = {
2
+ name: string;
3
+ role?: string;
4
+ model?: string;
5
+ image_model?: string;
6
+ vision_model?: string;
7
+ transcribe_model?: string;
8
+ tts_model?: string;
9
+ video_model?: string;
10
+ allowedTools?: string[];
11
+ allowedPaths?: string[];
12
+ skills?: string[];
13
+ systemPrompt?: string;
14
+ assignedLoops?: string[];
15
+ team?: string;
16
+ teamName?: string;
17
+ team_name?: string;
18
+ };
19
+ type VaultEntry = {
20
+ service: string;
21
+ type: string;
22
+ label?: string | null;
23
+ keys?: string[];
24
+ };
25
+ export declare function AgentDetail({ projectId, agent, initialMemory, initialVault, }: {
26
+ projectId: string;
27
+ agent: AgentDetailData;
28
+ initialMemory: string;
29
+ initialVault: VaultEntry[];
30
+ }): import("react/jsx-runtime").JSX.Element;
31
+ export declare function agentConfigCode(a: AgentDetailData): string;
32
+ export type SystemSub = "models" | "instructions" | "memory" | "tools" | "skills" | "loops" | "permissions" | "settings";
33
+ export declare function SystemPanel({ projectId, agent, initialMemory, hiddenSubs, fillHeight, sub: subProp, onSubChange, }: {
34
+ projectId: string;
35
+ agent: AgentDetailData;
36
+ initialMemory: string;
37
+ /** Sub-nav ids to hide (e.g. ["settings"] in onboarding). */
38
+ hiddenSubs?: readonly string[];
39
+ /** Fill the parent height and scroll ONLY the panel — the sub-nav stays put
40
+ * (used in the onboarding card). */
41
+ fillHeight?: boolean;
42
+ /** Controlled active sub. Omit for internal state + `?tab=` URL focus. */
43
+ sub?: SystemSub;
44
+ onSubChange?: (sub: SystemSub) => void;
45
+ }): import("react/jsx-runtime").JSX.Element;
46
+ /**
47
+ * Inline agent editor — the SAME panels as SystemPanel (DRY), but stacked in a
48
+ * single scroll instead of a vertical sub-nav. Used by the onboarding studio's
49
+ * "Agent" tab where a compact, no-navigation layout reads better. Only the
50
+ * agent-definition panels (no Credentials / Sessions, and Settings lives in the
51
+ * Config tab already).
52
+ */
53
+ export declare function AgentInlinePanel({ projectId, agent, }: {
54
+ projectId: string;
55
+ agent: AgentDetailData;
56
+ }): import("react/jsx-runtime").JSX.Element;
57
+ export {};
58
+ //# sourceMappingURL=agent-detail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-detail.d.ts","sourceRoot":"","sources":["../../../src/v2/agents/agent-detail.tsx"],"names":[],"mappings":"AAoEA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,KAAK,UAAU,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAqC5F,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,YAAY,GACb,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,UAAU,EAAE,CAAC;CAC5B,2CAkKA;AA8HD,wBAAgB,eAAe,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CAgB1D;AA+SD,MAAM,MAAM,SAAS,GACjB,QAAQ,GACR,cAAc,GACd,QAAQ,GACR,OAAO,GACP,QAAQ,GACR,OAAO,GACP,aAAa,GACb,UAAU,CAAC;AAEf,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,KAAK,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,GAAG,EAAE,OAAO,EACZ,WAAW,GACZ,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B;yCACqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;CACxC,2CA8GA;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,KAAK,GACN,EAAE;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,eAAe,CAAC;CACxB,2CAuDA"}