@elizaos/ui 2.0.3-beta.5 → 2.0.3-beta.7

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 (232) hide show
  1. package/App.d.ts.map +1 -1
  2. package/App.js +30 -4
  3. package/api/app-shell-capabilities.d.ts +9 -0
  4. package/api/app-shell-capabilities.d.ts.map +1 -0
  5. package/api/app-shell-capabilities.js +39 -0
  6. package/api/auth-client.d.ts.map +1 -1
  7. package/api/auth-client.js +4 -1
  8. package/api/client-agent.d.ts.map +1 -1
  9. package/api/client-agent.js +35 -24
  10. package/api/client-base.d.ts +36 -0
  11. package/api/client-base.d.ts.map +1 -1
  12. package/api/client-base.js +79 -0
  13. package/api/client-chat.d.ts.map +1 -1
  14. package/api/client-chat.js +14 -5
  15. package/api/client-cloud.d.ts +49 -0
  16. package/api/client-cloud.d.ts.map +1 -1
  17. package/api/client-cloud.js +73 -6
  18. package/api/client-local-inference.d.ts.map +1 -1
  19. package/api/client-local-inference.js +5 -1
  20. package/api/desktop-external-api-base.d.ts +4 -0
  21. package/api/desktop-external-api-base.d.ts.map +1 -0
  22. package/api/desktop-external-api-base.js +43 -0
  23. package/api/desktop-http-transport.d.ts.map +1 -1
  24. package/api/desktop-http-transport.js +2 -28
  25. package/api/i18n-locale-client.d.ts.map +1 -1
  26. package/api/i18n-locale-client.js +12 -0
  27. package/cloud/billing/components/billing-tab.d.ts.map +1 -1
  28. package/cloud/billing/components/billing-tab.js +11 -14
  29. package/cloud/connectors/discord-gateway-connection.d.ts.map +1 -1
  30. package/cloud/connectors/discord-gateway-connection.js +39 -5
  31. package/cloud/connectors/index.d.ts +9 -0
  32. package/cloud/connectors/index.d.ts.map +1 -1
  33. package/cloud/connectors/index.js +14 -1
  34. package/cloud/handoff/run-cloud-agent-handoff.d.ts +10 -1
  35. package/cloud/handoff/run-cloud-agent-handoff.d.ts.map +1 -1
  36. package/cloud/handoff/run-cloud-agent-handoff.js +43 -7
  37. package/cloud/handoff/silent-repoint.d.ts +33 -0
  38. package/cloud/handoff/silent-repoint.d.ts.map +1 -0
  39. package/cloud/handoff/silent-repoint.js +55 -0
  40. package/cloud/instances/AgentDetailPage.d.ts.map +1 -1
  41. package/cloud/instances/AgentDetailPage.js +2 -2
  42. package/cloud/instances/components/agent-actions.d.ts.map +1 -1
  43. package/cloud/instances/components/agent-actions.js +1 -4
  44. package/cloud/instances/components/eliza-agents-table.d.ts.map +1 -1
  45. package/cloud/instances/components/eliza-agents-table.js +1 -10
  46. package/cloud/instances/index.d.ts +2 -5
  47. package/cloud/instances/index.d.ts.map +1 -1
  48. package/cloud/instances/index.js +2 -12
  49. package/cloud/organization/invite-member-dialog.d.ts.map +1 -1
  50. package/cloud/organization/invite-member-dialog.js +2 -5
  51. package/cloud/organization/members-tab.d.ts.map +1 -1
  52. package/cloud/organization/members-tab.js +4 -7
  53. package/cloud/public-pages/pages/app-auth/app-authorize-page.d.ts +9 -0
  54. package/cloud/public-pages/pages/app-auth/app-authorize-page.d.ts.map +1 -1
  55. package/cloud/public-pages/pages/app-auth/app-authorize-page.js +11 -1
  56. package/cloud/register-all.d.ts +0 -1
  57. package/cloud/register-all.d.ts.map +1 -1
  58. package/cloud/register-all.js +3 -7
  59. package/cloud/settings/index.d.ts +5 -6
  60. package/cloud/settings/index.d.ts.map +1 -1
  61. package/cloud/settings/index.js +5 -6
  62. package/cloud/settings/register-cloud-settings.d.ts +2 -2
  63. package/cloud/settings/register-cloud-settings.d.ts.map +1 -1
  64. package/cloud/settings/register-cloud-settings.js +127 -121
  65. package/cloud/shell/CloudRouterShell.d.ts.map +1 -1
  66. package/cloud/shell/CloudRouterShell.js +5 -0
  67. package/cloud-ui/components/drawer.d.ts.map +1 -1
  68. package/cloud-ui/components/drawer.js +1 -1
  69. package/cloud-ui/index.d.ts +0 -1
  70. package/cloud-ui/index.d.ts.map +1 -1
  71. package/cloud-ui/index.js +0 -1
  72. package/components/apps/app-identity.helpers.d.ts.map +1 -1
  73. package/components/apps/app-identity.helpers.js +8 -0
  74. package/components/chat/widgets/inbox-unread.d.ts.map +1 -1
  75. package/components/chat/widgets/inbox-unread.js +8 -1
  76. package/components/chat/widgets/needs-attention.d.ts.map +1 -1
  77. package/components/chat/widgets/needs-attention.js +18 -2
  78. package/components/chat/widgets/relationships-attention.d.ts.map +1 -1
  79. package/components/chat/widgets/relationships-attention.js +5 -0
  80. package/components/composites/chat/chat-composer.js +15 -15
  81. package/components/config-ui/ui-renderer.d.ts.map +1 -1
  82. package/components/config-ui/ui-renderer.js +1 -1
  83. package/components/local-inference/useHomeModelStatus.d.ts.map +1 -1
  84. package/components/local-inference/useHomeModelStatus.js +31 -1
  85. package/components/pages/SettingsView.d.ts.map +1 -1
  86. package/components/pages/SettingsView.js +1 -4
  87. package/components/pages/Springboard.d.ts.map +1 -1
  88. package/components/pages/Springboard.js +17 -1
  89. package/components/pages/SpringboardSurface.d.ts.map +1 -1
  90. package/components/pages/SpringboardSurface.js +14 -3
  91. package/components/settings/CloudAgentsSection.d.ts.map +1 -1
  92. package/components/settings/CloudAgentsSection.js +6 -8
  93. package/components/settings/CloudOverviewSection.d.ts +2 -0
  94. package/components/settings/CloudOverviewSection.d.ts.map +1 -0
  95. package/components/settings/CloudOverviewSection.js +81 -0
  96. package/components/settings/ConnectorsSection.d.ts +19 -0
  97. package/components/settings/ConnectorsSection.d.ts.map +1 -1
  98. package/components/settings/ConnectorsSection.js +72 -27
  99. package/components/settings/settings-sections.d.ts.map +1 -1
  100. package/components/settings/settings-sections.js +26 -4
  101. package/components/shell/ComputerUseApprovalOverlay.d.ts.map +1 -1
  102. package/components/shell/ComputerUseApprovalOverlay.js +12 -2
  103. package/components/shell/ContinuousChatOverlay.d.ts.map +1 -1
  104. package/components/shell/ContinuousChatOverlay.js +41 -8
  105. package/components/shell/ShellHeaderControls.d.ts.map +1 -1
  106. package/components/shell/ShellHeaderControls.js +1 -1
  107. package/components/shell/StartupFailureView.d.ts.map +1 -1
  108. package/components/shell/StartupFailureView.js +4 -2
  109. package/components/shell/__e2e__/home-screen-fixture.catalog-stub.d.ts +2 -0
  110. package/components/shell/__e2e__/home-screen-fixture.catalog-stub.d.ts.map +1 -1
  111. package/components/shell/__e2e__/home-screen-fixture.catalog-stub.js +8 -0
  112. package/components/views/ViewTileImage.d.ts +4 -4
  113. package/components/views/ViewTileImage.d.ts.map +1 -1
  114. package/components/views/ViewTileImage.js +26 -9
  115. package/config/boot-config-store.d.ts +10 -0
  116. package/config/boot-config-store.d.ts.map +1 -1
  117. package/config/boot-config-store.js +1 -1
  118. package/first-run/CompactOnboarding.d.ts.map +1 -1
  119. package/first-run/CompactOnboarding.js +4 -2
  120. package/first-run/use-first-run-controller.d.ts +1 -0
  121. package/first-run/use-first-run-controller.d.ts.map +1 -1
  122. package/first-run/use-first-run-controller.js +133 -56
  123. package/hooks/useAvailableViews.d.ts +11 -2
  124. package/hooks/useAvailableViews.d.ts.map +1 -1
  125. package/hooks/useAvailableViews.js +49 -7
  126. package/hooks/useHorizontalPager.d.ts.map +1 -1
  127. package/hooks/useHorizontalPager.js +11 -4
  128. package/hooks/useViewCatalog.d.ts.map +1 -1
  129. package/hooks/useViewCatalog.js +5 -2
  130. package/hooks/view-catalog.d.ts +2 -0
  131. package/hooks/view-catalog.d.ts.map +1 -1
  132. package/hooks/view-catalog.js +1 -0
  133. package/index.d.ts +0 -1
  134. package/index.d.ts.map +1 -1
  135. package/index.js +0 -1
  136. package/layouts/content-layout/content-layout.d.ts.map +1 -1
  137. package/layouts/content-layout/content-layout.js +2 -1
  138. package/package.json +10 -10
  139. package/platform/browser-launch.d.ts.map +1 -1
  140. package/platform/browser-launch.js +2 -0
  141. package/state/AppContext.js +6 -4
  142. package/state/startup-coordinator.d.ts +2 -0
  143. package/state/startup-coordinator.d.ts.map +1 -1
  144. package/state/startup-coordinator.js +8 -0
  145. package/state/startup-first-run-options.d.ts +4 -0
  146. package/state/startup-first-run-options.d.ts.map +1 -0
  147. package/state/startup-first-run-options.js +18 -0
  148. package/state/startup-phase-hydrate.d.ts.map +1 -1
  149. package/state/startup-phase-hydrate.js +25 -14
  150. package/state/startup-phase-poll.d.ts.map +1 -1
  151. package/state/startup-phase-poll.js +60 -0
  152. package/state/startup-phase-restore.d.ts.map +1 -1
  153. package/state/startup-phase-restore.js +6 -19
  154. package/state/types.d.ts +0 -17
  155. package/state/types.d.ts.map +1 -1
  156. package/state/types.js +0 -13
  157. package/state/use-startup-shell-controller.d.ts.map +1 -1
  158. package/state/use-startup-shell-controller.js +3 -2
  159. package/state/useAppShellState.d.ts +5 -1
  160. package/state/useAppShellState.d.ts.map +1 -1
  161. package/state/useAppShellState.js +11 -3
  162. package/state/useChatCallbacks.d.ts +1 -0
  163. package/state/useChatCallbacks.d.ts.map +1 -1
  164. package/state/useChatCallbacks.js +53 -8
  165. package/state/useChatLifecycle.d.ts +1 -0
  166. package/state/useChatLifecycle.d.ts.map +1 -1
  167. package/state/useChatLifecycle.js +2 -2
  168. package/state/useChatSend.d.ts.map +1 -1
  169. package/state/useChatSend.js +72 -8
  170. package/state/useCloudState.d.ts.map +1 -1
  171. package/state/useCloudState.js +29 -1
  172. package/state/useDataLoaders.d.ts.map +1 -1
  173. package/state/useDataLoaders.js +9 -0
  174. package/state/useFirstRunCallbacks.d.ts.map +1 -1
  175. package/state/useFirstRunCallbacks.js +5 -0
  176. package/state/useLifecycleState.d.ts +0 -7
  177. package/state/useLifecycleState.d.ts.map +1 -1
  178. package/state/useLifecycleState.js +0 -24
  179. package/state/usePluginsSkillsState.d.ts +2 -2
  180. package/state/useWalletState.d.ts +3 -1
  181. package/state/useWalletState.d.ts.map +1 -1
  182. package/state/useWalletState.js +4 -2
  183. package/storybook/mock-providers.d.ts.map +1 -1
  184. package/storybook/mock-providers.js +2 -0
  185. package/styles/electrobun-mac-window-drag.css +7 -0
  186. package/widgets/WidgetHost.d.ts.map +1 -1
  187. package/widgets/WidgetHost.js +21 -3
  188. package/cloud/documents/DocumentsRoute.d.ts +0 -21
  189. package/cloud/documents/DocumentsRoute.d.ts.map +0 -1
  190. package/cloud/documents/DocumentsRoute.js +0 -45
  191. package/cloud/documents/DocumentsSection.d.ts +0 -15
  192. package/cloud/documents/DocumentsSection.d.ts.map +0 -1
  193. package/cloud/documents/DocumentsSection.js +0 -18
  194. package/cloud/documents/components/document-list.d.ts +0 -19
  195. package/cloud/documents/components/document-list.d.ts.map +0 -1
  196. package/cloud/documents/components/document-list.js +0 -75
  197. package/cloud/documents/components/document-query.d.ts +0 -15
  198. package/cloud/documents/components/document-query.d.ts.map +0 -1
  199. package/cloud/documents/components/document-query.js +0 -92
  200. package/cloud/documents/components/document-upload.d.ts +0 -16
  201. package/cloud/documents/components/document-upload.d.ts.map +0 -1
  202. package/cloud/documents/components/document-upload.js +0 -180
  203. package/cloud/documents/components/documents-page-client.d.ts +0 -20
  204. package/cloud/documents/components/documents-page-client.d.ts.map +0 -1
  205. package/cloud/documents/components/documents-page-client.js +0 -80
  206. package/cloud/documents/index.d.ts +0 -37
  207. package/cloud/documents/index.d.ts.map +0 -1
  208. package/cloud/documents/index.js +0 -45
  209. package/cloud/documents/lib/agents.d.ts +0 -23
  210. package/cloud/documents/lib/agents.d.ts.map +0 -1
  211. package/cloud/documents/lib/agents.js +0 -26
  212. package/cloud/documents/lib/documents.d.ts +0 -54
  213. package/cloud/documents/lib/documents.d.ts.map +0 -1
  214. package/cloud/documents/lib/documents.js +0 -118
  215. package/cloud/instances/AgentChatPage.d.ts +0 -13
  216. package/cloud/instances/AgentChatPage.d.ts.map +0 -1
  217. package/cloud/instances/AgentChatPage.js +0 -217
  218. package/cloud-ui/components/image-gen/empty-state.d.ts +0 -3
  219. package/cloud-ui/components/image-gen/empty-state.d.ts.map +0 -1
  220. package/cloud-ui/components/image-gen/empty-state.js +0 -12
  221. package/cloud-ui/components/image-gen/enhanced-loading.d.ts +0 -14
  222. package/cloud-ui/components/image-gen/enhanced-loading.d.ts.map +0 -1
  223. package/cloud-ui/components/image-gen/enhanced-loading.js +0 -23
  224. package/cloud-ui/components/image-gen/index.d.ts +0 -5
  225. package/cloud-ui/components/image-gen/index.d.ts.map +0 -1
  226. package/cloud-ui/components/image-gen/index.js +0 -4
  227. package/cloud-ui/components/image-gen/loading-state.d.ts +0 -2
  228. package/cloud-ui/components/image-gen/loading-state.d.ts.map +0 -1
  229. package/cloud-ui/components/image-gen/loading-state.js +0 -11
  230. package/cloud-ui/components/image-gen/prompt-input.d.ts +0 -32
  231. package/cloud-ui/components/image-gen/prompt-input.d.ts.map +0 -1
  232. package/cloud-ui/components/image-gen/prompt-input.js +0 -24
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * Instances cloud domain — hosted agent management ("Instances" + "My Agent").
3
3
  *
4
- * Mounts four authenticated routes under the cloud shell:
4
+ * Mounts three authenticated routes under the cloud shell:
5
5
  * - `dashboard/agents` → the Instances table (list / create / status)
6
6
  * - `dashboard/agents/:id` → agent detail (overview / wallet / txns /
7
7
  * policies / actions / backups / logs)
8
- * - `dashboard/agents/:id/chat` → in-dashboard JSON-RPC quick chat
9
8
  * - `dashboard/my-agents` → character library + agent console
10
9
  *
11
10
  * Each page is code-split via `React.lazy` so its bundle (create-agent dialog,
@@ -24,13 +23,11 @@
24
23
  */
25
24
  export declare const AGENTS_ROUTE_PATH = "dashboard/agents";
26
25
  export declare const AGENT_DETAIL_ROUTE_PATH = "dashboard/agents/:id";
27
- export declare const AGENT_CHAT_ROUTE_PATH = "dashboard/agents/:id/chat";
28
26
  export declare const MY_AGENTS_ROUTE_PATH = "dashboard/my-agents";
29
27
  declare const AgentsPage: import("react").LazyExoticComponent<typeof import("./AgentsPage.js").default>;
30
28
  declare const AgentDetailPage: import("react").LazyExoticComponent<typeof import("./AgentDetailPage.js").default>;
31
- declare const AgentChatPage: import("react").LazyExoticComponent<typeof import("./AgentChatPage.js").default>;
32
29
  declare const MyAgentsPage: import("react").LazyExoticComponent<typeof import("./MyAgentsPage.js").default>;
33
30
  export type { AgentListItem } from "./lib/data/eliza-agents.js";
34
31
  export { useAgent, useAgents } from "./lib/data/eliza-agents.js";
35
- export { AgentChatPage, AgentDetailPage, AgentsPage, MyAgentsPage };
32
+ export { AgentDetailPage, AgentsPage, MyAgentsPage };
36
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/instances/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAKH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,qBAAqB,8BAA8B,CAAC;AACjE,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,QAAA,MAAM,UAAU,4EAAqC,CAAC;AACtD,QAAA,MAAM,eAAe,iFAA0C,CAAC;AAChE,QAAA,MAAM,aAAa,+EAAwC,CAAC;AAC5D,QAAA,MAAM,YAAY,8EAAuC,CAAC;AAE1D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/instances/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAKH,eAAO,MAAM,iBAAiB,qBAAqB,CAAC;AACpD,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,QAAA,MAAM,UAAU,4EAAqC,CAAC;AACtD,QAAA,MAAM,eAAe,iFAA0C,CAAC;AAChE,QAAA,MAAM,YAAY,8EAAuC,CAAC;AAE1D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC"}
@@ -1,11 +1,10 @@
1
1
  /**
2
2
  * Instances cloud domain — hosted agent management ("Instances" + "My Agent").
3
3
  *
4
- * Mounts four authenticated routes under the cloud shell:
4
+ * Mounts three authenticated routes under the cloud shell:
5
5
  * - `dashboard/agents` → the Instances table (list / create / status)
6
6
  * - `dashboard/agents/:id` → agent detail (overview / wallet / txns /
7
7
  * policies / actions / backups / logs)
8
- * - `dashboard/agents/:id/chat` → in-dashboard JSON-RPC quick chat
9
8
  * - `dashboard/my-agents` → character library + agent console
10
9
  *
11
10
  * Each page is code-split via `React.lazy` so its bundle (create-agent dialog,
@@ -26,21 +25,12 @@ import { lazy } from "react";
26
25
  import { registerCloudRoute } from "../shell/cloud-route-registry.js";
27
26
  export const AGENTS_ROUTE_PATH = "dashboard/agents";
28
27
  export const AGENT_DETAIL_ROUTE_PATH = "dashboard/agents/:id";
29
- export const AGENT_CHAT_ROUTE_PATH = "dashboard/agents/:id/chat";
30
28
  export const MY_AGENTS_ROUTE_PATH = "dashboard/my-agents";
31
29
  const AgentsPage = lazy(() => import("./AgentsPage.js"));
32
30
  const AgentDetailPage = lazy(() => import("./AgentDetailPage.js"));
33
- const AgentChatPage = lazy(() => import("./AgentChatPage.js"));
34
31
  const MyAgentsPage = lazy(() => import("./MyAgentsPage.js"));
35
32
  export { useAgent, useAgents } from "./lib/data/eliza-agents.js";
36
- export { AgentChatPage, AgentDetailPage, AgentsPage, MyAgentsPage };
37
- // Order matters: register the more specific `:id/chat` route before `:id` so
38
- // react-router's match precedence resolves the chat sub-route correctly.
39
- registerCloudRoute({
40
- path: AGENT_CHAT_ROUTE_PATH,
41
- element: AgentChatPage,
42
- group: "dashboard",
43
- });
33
+ export { AgentDetailPage, AgentsPage, MyAgentsPage };
44
34
  registerCloudRoute({
45
35
  path: AGENT_DETAIL_ROUTE_PATH,
46
36
  element: AgentDetailPage,
@@ -1 +1 @@
1
- {"version":3,"file":"invite-member-dialog.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/organization/invite-member-dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAyBH,UAAU,uBAAuB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,EAAE,uBAAuB,2CAuKzB"}
1
+ {"version":3,"file":"invite-member-dialog.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/organization/invite-member-dialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA0BH,UAAU,uBAAuB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,OAAO,EACP,SAAS,EACT,gBAAgB,GACjB,EAAE,uBAAuB,2CA+JzB"}
@@ -18,7 +18,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
18
18
  */
19
19
  import { AlertCircle, Loader2, Mail, UserCog } from "lucide-react";
20
20
  import { useState } from "react";
21
- import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "../../cloud-ui/index.js";
21
+ import { BrandButton, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "../../cloud-ui/index.js";
22
22
  import { organizationErrorMessage, useCreateInvite, } from "./data/use-organization.js";
23
23
  export function InviteMemberDialog({ isOpen, onClose, onSuccess, organizationName, }) {
24
24
  const [email, setEmail] = useState("");
@@ -51,8 +51,5 @@ export function InviteMemberDialog({ isOpen, onClose, onSuccess, organizationNam
51
51
  onClose();
52
52
  }
53
53
  };
54
- return (_jsx(Dialog, { open: isOpen, onOpenChange: handleClose, children: _jsxs(DialogContent, { className: "bg-neutral-950 border border-brand-surface p-4 sm:p-6 max-w-[95vw] sm:max-w-md", children: [_jsxs(DialogHeader, { children: [_jsxs(DialogTitle, { className: "flex items-center gap-2 text-white font-mono", children: [_jsx(Mail, { className: "h-5 w-5 text-[#FF5800]" }), "Invite Team Member"] }), _jsxs(DialogDescription, { className: "text-white/60 font-mono text-xs md:text-sm", children: ["Send an invitation to join", " ", _jsx("span", { className: "text-white", children: organizationName }), ". They'll receive an email with a link to accept. Accepting will switch them to ", _jsx("span", { className: "text-white", children: organizationName }), " \u2014 a person belongs to one organization at a time, so they'll leave their current one."] })] }), _jsxs("form", { onSubmit: handleSubmit, className: "space-y-4", children: [error && (_jsxs("div", { className: "bg-[#EB4335]/10 border border-[#EB4335]/40 p-3 flex items-start gap-2", children: [_jsx(AlertCircle, { className: "h-4 w-4 text-[#EB4335] flex-shrink-0 mt-0.5" }), _jsx("p", { className: "text-xs md:text-sm font-mono text-[#EB4335]", children: error })] })), _jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "email", className: "text-white font-mono text-sm", children: "Email Address" }), _jsx(Input, { id: "email", type: "email", placeholder: "colleague@company.com", value: email, onChange: (e) => setEmail(e.target.value), disabled: isSubmitting, required: true, autoFocus: true, className: "bg-transparent border-[#303030] text-white" }), _jsx("p", { className: "text-xs font-mono text-white/40", children: "They'll need to sign up with this email address" })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs(Label, { htmlFor: "role", className: "flex items-center gap-2 text-white font-mono text-sm", children: [_jsx(UserCog, { className: "h-4 w-4 text-[#FF5800]" }), "Role"] }), _jsxs(Select, { value: role, onValueChange: (value) => setRole(value), disabled: isSubmitting, children: [_jsx(SelectTrigger, { id: "role", className: "bg-transparent border-[#303030] text-white", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { className: "bg-[#1a1a1a] border-[#303030]", children: [_jsx(SelectItem, { value: "member", children: _jsxs("div", { className: "flex flex-col items-start", children: [_jsx("span", { className: "font-mono font-medium text-white", children: "Member" }), _jsx("span", { className: "text-xs font-mono text-white/40", children: "Can use resources and view organization" })] }) }), _jsx(SelectItem, { value: "admin", children: _jsxs("div", { className: "flex flex-col items-start", children: [_jsx("span", { className: "font-mono font-medium text-white", children: "Admin" }), _jsx("span", { className: "text-xs font-mono text-white/40", children: "Can invite and manage members" })] }) })] })] })] }), _jsxs(DialogFooter, { className: "gap-2 sm:gap-0 flex flex-col sm:flex-row", children: [_jsx("button", { type: "button", onClick: handleClose, disabled: isSubmitting, className: "px-4 py-2 text-white hover:bg-white/5 transition-colors disabled:opacity-50 order-2 sm:order-1", children: "Cancel" }), _jsxs("button", { type: "submit", disabled: isSubmitting, className: "relative bg-[#e1e1e1] px-4 py-2 overflow-hidden hover:bg-white transition-colors disabled:opacity-50 disabled:cursor-not-allowed order-1 sm:order-2", children: [_jsx("div", { className: "absolute inset-0 opacity-20 bg-repeat pointer-events-none", style: {
55
- backgroundImage: `url(/assets/settings/pattern-6px-flip.png)`,
56
- backgroundSize: "2.915576934814453px 2.915576934814453px",
57
- } }), _jsx("span", { className: "relative z-10 text-black font-mono font-medium text-sm flex items-center justify-center gap-2", children: isSubmitting ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin" }), "Sending..."] })) : (_jsxs(_Fragment, { children: [_jsx(Mail, { className: "h-4 w-4" }), "Send Invitation"] })) })] })] })] })] }) }));
54
+ return (_jsx(Dialog, { open: isOpen, onOpenChange: handleClose, children: _jsxs(DialogContent, { className: "bg-neutral-950 border border-brand-surface p-4 sm:p-6 max-w-[95vw] sm:max-w-md", children: [_jsxs(DialogHeader, { children: [_jsxs(DialogTitle, { className: "flex items-center gap-2 text-white font-mono", children: [_jsx(Mail, { className: "h-5 w-5 text-[#FF5800]" }), "Invite Team Member"] }), _jsxs(DialogDescription, { className: "text-white/60 font-mono text-xs md:text-sm", children: ["Send an invitation to join", " ", _jsx("span", { className: "text-white", children: organizationName }), ". They'll receive an email with a link to accept. Accepting will switch them to ", _jsx("span", { className: "text-white", children: organizationName }), " \u2014 a person belongs to one organization at a time, so they'll leave their current one."] })] }), _jsxs("form", { onSubmit: handleSubmit, className: "space-y-4", children: [error && (_jsxs("div", { className: "bg-[#EB4335]/10 border border-[#EB4335]/40 p-3 flex items-start gap-2", children: [_jsx(AlertCircle, { className: "h-4 w-4 text-[#EB4335] flex-shrink-0 mt-0.5" }), _jsx("p", { className: "text-xs md:text-sm font-mono text-[#EB4335]", children: error })] })), _jsxs("div", { className: "space-y-2", children: [_jsx(Label, { htmlFor: "email", className: "text-white font-mono text-sm", children: "Email Address" }), _jsx(Input, { id: "email", type: "email", placeholder: "colleague@company.com", value: email, onChange: (e) => setEmail(e.target.value), disabled: isSubmitting, required: true, autoFocus: true, className: "bg-transparent border-[#303030] text-white" }), _jsx("p", { className: "text-xs font-mono text-white/40", children: "They'll need to sign up with this email address" })] }), _jsxs("div", { className: "space-y-2", children: [_jsxs(Label, { htmlFor: "role", className: "flex items-center gap-2 text-white font-mono text-sm", children: [_jsx(UserCog, { className: "h-4 w-4 text-[#FF5800]" }), "Role"] }), _jsxs(Select, { value: role, onValueChange: (value) => setRole(value), disabled: isSubmitting, children: [_jsx(SelectTrigger, { id: "role", className: "bg-transparent border-[#303030] text-white", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { className: "bg-[#1a1a1a] border-[#303030]", children: [_jsx(SelectItem, { value: "member", children: _jsxs("div", { className: "flex flex-col items-start", children: [_jsx("span", { className: "font-mono font-medium text-white", children: "Member" }), _jsx("span", { className: "text-xs font-mono text-white/40", children: "Can use resources and view organization" })] }) }), _jsx(SelectItem, { value: "admin", children: _jsxs("div", { className: "flex flex-col items-start", children: [_jsx("span", { className: "font-mono font-medium text-white", children: "Admin" }), _jsx("span", { className: "text-xs font-mono text-white/40", children: "Can invite and manage members" })] }) })] })] })] }), _jsxs(DialogFooter, { className: "gap-2 sm:gap-0 flex flex-col sm:flex-row", children: [_jsx("button", { type: "button", onClick: handleClose, disabled: isSubmitting, className: "px-4 py-2 text-white hover:bg-white/5 transition-colors disabled:opacity-50 order-2 sm:order-1", children: "Cancel" }), _jsx(BrandButton, { type: "submit", variant: "primary", disabled: isSubmitting, className: "font-mono text-sm order-1 sm:order-2", children: isSubmitting ? (_jsxs(_Fragment, { children: [_jsx(Loader2, { className: "h-4 w-4 animate-spin" }), "Sending..."] })) : (_jsxs(_Fragment, { children: [_jsx(Mail, { className: "h-4 w-4" }), "Send Invitation"] })) })] })] })] }) }));
58
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"members-tab.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/organization/members-tab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAahC,UAAU,eAAe;IACvB,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,2CAgNnD"}
1
+ {"version":3,"file":"members-tab.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/organization/members-tab.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAiBH,OAAO,KAAK,EAEV,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAahC,UAAU,eAAe;IACvB,IAAI,EAAE,uBAAuB,CAAC;CAC/B;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,2CAwMnD"}
@@ -14,7 +14,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
14
14
  import { Loader2, UserPlus } from "lucide-react";
15
15
  import { useState } from "react";
16
16
  import { toast } from "sonner";
17
- import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, } from "../../cloud-ui/index.js";
17
+ import { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, BrandButton, } from "../../cloud-ui/index.js";
18
18
  import { useCloudT } from "../shell/CloudI18nProvider.js";
19
19
  import { organizationErrorMessage, useOrganizationInvites, useOrganizationMembers, useRemoveMember, useRevokeInvite, useUpdateMemberRole, } from "./data/use-organization.js";
20
20
  import { InviteMemberDialog } from "./invite-member-dialog.js";
@@ -84,12 +84,9 @@ export function MembersTab({ user }) {
84
84
  };
85
85
  return (_jsxs(_Fragment, { children: [_jsxs("div", { className: "space-y-4 md:space-y-6", children: [_jsxs("div", { className: "flex flex-col sm:flex-row items-start sm:items-center justify-between gap-4", children: [_jsxs("div", { children: [_jsx("h3", { className: "text-base md:text-lg font-mono font-semibold text-white", children: t("cloud.membersTab.title", { defaultValue: "Team Members" }) }), _jsx("p", { className: "text-xs md:text-sm font-mono text-white/60", children: t("cloud.membersTab.subtitle", {
86
86
  defaultValue: "Manage who has access to your organization",
87
- }) })] }), canManageMembers && (_jsxs("button", { type: "button", onClick: () => setIsInviteDialogOpen(true), className: "relative bg-[#e1e1e1] px-3 py-2 overflow-hidden hover:bg-white transition-colors flex items-center gap-2 w-full sm:w-auto", children: [_jsx("div", { className: "absolute inset-0 opacity-20 bg-repeat pointer-events-none", style: {
88
- backgroundImage: `url(/assets/settings/pattern-6px-flip.png)`,
89
- backgroundSize: "2.915576934814453px 2.915576934814453px",
90
- } }), _jsx(UserPlus, { className: "relative z-10 h-4 w-4 text-black" }), _jsx("span", { className: "relative z-10 text-black font-mono font-medium text-sm md:text-base", children: t("cloud.membersTab.inviteMember", {
91
- defaultValue: "Invite Member",
92
- }) })] }))] }), membersQuery.isLoading ? (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx(Loader2, { className: "h-8 w-8 animate-spin text-[#FF5800]" }) })) : (_jsx(MembersList, { members: members, currentUserId: user.id, currentUserRole: user.role, isOwner: isOwner, onUpdateRole: handleUpdateMemberRole, onRemove: setRemoveMemberId })), canManageMembers && (_jsxs("div", { className: "pt-4 md:pt-6 border-t border-white/10", children: [_jsx("h3", { className: "text-base md:text-lg font-mono font-semibold mb-3 md:mb-4 text-white", children: t("cloud.membersTab.pendingInvitations", {
87
+ }) })] }), canManageMembers && (_jsxs(BrandButton, { type: "button", variant: "primary", onClick: () => setIsInviteDialogOpen(true), className: "font-mono text-sm md:text-base w-full sm:w-auto", children: [_jsx(UserPlus, { className: "h-4 w-4" }), t("cloud.membersTab.inviteMember", {
88
+ defaultValue: "Invite Member",
89
+ })] }))] }), membersQuery.isLoading ? (_jsx("div", { className: "flex items-center justify-center py-12", children: _jsx(Loader2, { className: "h-8 w-8 animate-spin text-[#FF5800]" }) })) : (_jsx(MembersList, { members: members, currentUserId: user.id, currentUserRole: user.role, isOwner: isOwner, onUpdateRole: handleUpdateMemberRole, onRemove: setRemoveMemberId })), canManageMembers && (_jsxs("div", { className: "pt-4 md:pt-6 border-t border-white/10", children: [_jsx("h3", { className: "text-base md:text-lg font-mono font-semibold mb-3 md:mb-4 text-white", children: t("cloud.membersTab.pendingInvitations", {
93
90
  defaultValue: "Pending Invitations",
94
91
  }) }), invitesQuery.isLoading ? (_jsx("div", { className: "flex items-center justify-center py-8", children: _jsx(Loader2, { className: "h-6 w-6 animate-spin text-[#FF5800]" }) })) : (_jsx(PendingInvitesList, { invites: invites, onRevoke: handleRevokeInvite }))] })), _jsx(InviteMemberDialog, { isOpen: isInviteDialogOpen, onClose: () => setIsInviteDialogOpen(false), onSuccess: handleInviteSuccess, organizationName: user.organization?.name ?? "this organization" })] }), _jsx(AlertDialog, { open: removeMemberId !== null, onOpenChange: (open) => !open && setRemoveMemberId(null), children: _jsxs(AlertDialogContent, { children: [_jsxs(AlertDialogHeader, { children: [_jsx(AlertDialogTitle, { children: t("cloud.membersTab.removeMemberTitle", {
95
92
  defaultValue: "Remove Member",
@@ -2,6 +2,15 @@
2
2
  * Third-party app OAuth-authorize page (public). Reuses the cloud-ui
3
3
  * `AuthorizeContent` component (the shared authorize UI). Ported from
4
4
  * `@elizaos/cloud-frontend/src/pages/app-auth/authorize/page.tsx`.
5
+ *
6
+ * `AuthorizeContent` calls `useAuth()` / renders `<StewardLogin>` from
7
+ * `@stwd/react`, both of which require an ancestor Steward `<StewardProvider>`.
8
+ * As a `public: true` route this page renders WITHOUT the per-route Steward
9
+ * wrapper (see `CloudRouteElement`), so it must mount the shell's
10
+ * `StewardAuthProvider` itself — otherwise `useAuth()` throws "must be used
11
+ * within a <StewardProvider>" and all monetized-app sign-in is blocked (#9881).
12
+ * `StewardAuthProvider` already lists `/app-auth` in its runtime route patterns,
13
+ * so it mounts the Steward runtime even for an unauthenticated visitor.
5
14
  */
6
15
  export default function AppAuthAuthorizePage(): import("react/jsx-runtime").JSX.Element;
7
16
  //# sourceMappingURL=app-authorize-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-authorize-page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/cloud/public-pages/pages/app-auth/app-authorize-page.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,MAAM,CAAC,OAAO,UAAU,oBAAoB,4CAY3C"}
1
+ {"version":3,"file":"app-authorize-page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/cloud/public-pages/pages/app-auth/app-authorize-page.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH,MAAM,CAAC,OAAO,UAAU,oBAAoB,4CAc3C"}
@@ -3,15 +3,25 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  * Third-party app OAuth-authorize page (public). Reuses the cloud-ui
4
4
  * `AuthorizeContent` component (the shared authorize UI). Ported from
5
5
  * `@elizaos/cloud-frontend/src/pages/app-auth/authorize/page.tsx`.
6
+ *
7
+ * `AuthorizeContent` calls `useAuth()` / renders `<StewardLogin>` from
8
+ * `@stwd/react`, both of which require an ancestor Steward `<StewardProvider>`.
9
+ * As a `public: true` route this page renders WITHOUT the per-route Steward
10
+ * wrapper (see `CloudRouteElement`), so it must mount the shell's
11
+ * `StewardAuthProvider` itself — otherwise `useAuth()` throws "must be used
12
+ * within a <StewardProvider>" and all monetized-app sign-in is blocked (#9881).
13
+ * `StewardAuthProvider` already lists `/app-auth` in its runtime route patterns,
14
+ * so it mounts the Steward runtime even for an unauthenticated visitor.
6
15
  */
7
16
  import { Suspense } from "react";
8
17
  import { AuthorizeContent } from "../../../../cloud-ui/components/auth/authorize-content.js";
9
18
  import { useCloudT } from "../../../shell/CloudI18nProvider.js";
19
+ import { StewardAuthProvider } from "../../../shell/StewardProvider.js";
10
20
  import { usePageTitle } from "../../lib/use-page-title.js";
11
21
  export default function AppAuthAuthorizePage() {
12
22
  const t = useCloudT();
13
23
  usePageTitle(t("cloud.appAuth.metaTitle", {
14
24
  defaultValue: "Authorize App | Eliza Cloud",
15
25
  }));
16
- return (_jsx(Suspense, { fallback: null, children: _jsx(AuthorizeContent, {}) }));
26
+ return (_jsx(StewardAuthProvider, { children: _jsx(Suspense, { fallback: null, children: _jsx(AuthorizeContent, {}) }) }));
17
27
  }
@@ -17,7 +17,6 @@ import "./instances/index.js";
17
17
  import "./account-security/index.js";
18
18
  import "./billing/routes.js";
19
19
  import "./organization/routes.js";
20
- import "./settings/index.js";
21
20
  /**
22
21
  * Register every cloud route + settings section against the shared registries.
23
22
  * Idempotent and safe to call from the app shell on every boot.
@@ -1 +1 @@
1
- {"version":3,"file":"register-all.d.ts","sourceRoot":"","sources":["../../../../../src/cloud/register-all.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,aAAa,CAAC;AACrB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,YAAY,CAAC;AAgBpB;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAkB/C"}
1
+ {"version":3,"file":"register-all.d.ts","sourceRoot":"","sources":["../../../../../src/cloud/register-all.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,aAAa,CAAC;AACrB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,kBAAkB,CAAC;AAC1B,OAAO,uBAAuB,CAAC;AAe/B;;;GAGG;AACH,wBAAgB,wBAAwB,IAAI,IAAI,CAgB/C"}
@@ -19,18 +19,16 @@ import "./instances/index.js";
19
19
  import "./account-security/index.js";
20
20
  import "./billing/routes.js";
21
21
  import "./organization/routes.js";
22
- import "./settings/index.js";
23
22
  import { registerAdminCloudRoutes } from "./admin/index.js";
24
23
  import { registerApiExplorerCloudRoute } from "./api-explorer/index.js";
25
24
  import { registerApiKeysCloudRoute } from "./api-keys/index.js";
26
25
  import { registerApplicationsCloudRoutes } from "./applications/index.js";
27
26
  import { registerApprovalsCloudRoute } from "./approvals/index.js";
28
- import { registerCloudConnectorsSettingsSection } from "./connectors/index.js";
29
- import { registerDocumentsCloudRoute } from "./documents/index.js";
30
27
  import { registerJoinFlow } from "./join/index.js";
31
- import { registerMcpsCloudRoute, registerMcpsSettingsSection } from "./mcps/index.js";
28
+ import { registerMcpsCloudRoute } from "./mcps/index.js";
32
29
  import { registerMonetizationCloudRoutes } from "./monetization/index.js";
33
30
  import { registerPublicPages } from "./public-pages/index.js";
31
+ import { registerCloudSettingsSections } from "./settings/index.js";
34
32
  let registered = false;
35
33
  /**
36
34
  * Register every cloud route + settings section against the shared registries.
@@ -46,10 +44,8 @@ export function registerAllCloudSurfaces() {
46
44
  registerApiExplorerCloudRoute();
47
45
  registerApplicationsCloudRoutes();
48
46
  registerApprovalsCloudRoute();
49
- registerDocumentsCloudRoute();
50
47
  registerMonetizationCloudRoutes();
51
48
  registerAdminCloudRoutes();
52
49
  registerMcpsCloudRoute();
53
- registerCloudConnectorsSettingsSection();
54
- registerMcpsSettingsSection();
50
+ registerCloudSettingsSections();
55
51
  }
@@ -1,14 +1,13 @@
1
1
  /**
2
2
  * In-app Eliza Cloud settings sections (re-IA Step 2).
3
3
  *
4
- * Importing this module registers the Cloud settings group + every cloud
5
- * settings section (and the two Security-group additions) via the side-effecting
6
- * {@link ./register-cloud-settings}. The Settings view imports it so the cloud
7
- * sections are present whenever settings render — web and native alike — the same
8
- * way the built-in sections register through `settings-sections.ts`.
4
+ * This barrel is intentionally side-effect free. Hosts that expose the Cloud
5
+ * dashboard inside Settings must call {@link registerCloudSettingsSections}
6
+ * from their cloud boot path; local-first shells can import Cloud helpers
7
+ * without surfacing Cloud-only tabs.
9
8
  */
10
- import "./register-cloud-settings.js";
11
9
  export { CloudSettingsSectionShell } from "./CloudSettingsSectionShell.js";
12
10
  export { CLOUD_SETTINGS_GROUP_ID, type ExtraSettingsGroupDef, getExtraSettingsGroup, listExtraSettingsGroups, registerSettingsGroup, } from "./cloud-settings-group.js";
11
+ export { registerCloudSettingsSections } from "./register-cloud-settings.js";
13
12
  export { CloudAccountSection, CloudApiKeysSection, CloudApplicationsSection, CloudBillingSection, CloudMonetizationSection, CloudOrganizationSection, CloudPluginGrantsSection, CloudSecuritySection, } from "./sections.js";
14
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/settings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/settings/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EACL,uBAAuB,EACvB,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,wBAAwB,EACxB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
@@ -1,13 +1,12 @@
1
1
  /**
2
2
  * In-app Eliza Cloud settings sections (re-IA Step 2).
3
3
  *
4
- * Importing this module registers the Cloud settings group + every cloud
5
- * settings section (and the two Security-group additions) via the side-effecting
6
- * {@link ./register-cloud-settings}. The Settings view imports it so the cloud
7
- * sections are present whenever settings render — web and native alike — the same
8
- * way the built-in sections register through `settings-sections.ts`.
4
+ * This barrel is intentionally side-effect free. Hosts that expose the Cloud
5
+ * dashboard inside Settings must call {@link registerCloudSettingsSections}
6
+ * from their cloud boot path; local-first shells can import Cloud helpers
7
+ * without surfacing Cloud-only tabs.
9
8
  */
10
- import "./register-cloud-settings.js";
11
9
  export { CloudSettingsSectionShell } from "./CloudSettingsSectionShell.js";
12
10
  export { CLOUD_SETTINGS_GROUP_ID, getExtraSettingsGroup, listExtraSettingsGroups, registerSettingsGroup, } from "./cloud-settings-group.js";
11
+ export { registerCloudSettingsSections } from "./register-cloud-settings.js";
13
12
  export { CloudAccountSection, CloudApiKeysSection, CloudApplicationsSection, CloudBillingSection, CloudMonetizationSection, CloudOrganizationSection, CloudPluginGrantsSection, CloudSecuritySection, } from "./sections.js";
@@ -2,7 +2,7 @@
2
2
  * Single registration barrel for the in-app Eliza Cloud settings sections
3
3
  * (re-IA Step 2).
4
4
  *
5
- * Importing this module (side effect) registers:
5
+ * Calling {@link registerCloudSettingsSections} registers:
6
6
  * - a new **Cloud** settings group (between System and Security), and
7
7
  * - the cloud sections that re-home the lifted cloud dashboard pages as in-app
8
8
  * Settings sections, plus two additions to the existing **Security** group.
@@ -29,5 +29,5 @@
29
29
  * so they sit *alongside* the app's built-in local Security + Permissions
30
30
  * sections rather than overriding them (the registry is last-write-wins per id).
31
31
  */
32
- export {};
32
+ export declare function registerCloudSettingsSections(): void;
33
33
  //# sourceMappingURL=register-cloud-settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-cloud-settings.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/settings/register-cloud-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
1
+ {"version":3,"file":"register-cloud-settings.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/settings/register-cloud-settings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAoCH,wBAAgB,6BAA6B,IAAI,IAAI,CAuIpD"}
@@ -2,7 +2,7 @@
2
2
  * Single registration barrel for the in-app Eliza Cloud settings sections
3
3
  * (re-IA Step 2).
4
4
  *
5
- * Importing this module (side effect) registers:
5
+ * Calling {@link registerCloudSettingsSections} registers:
6
6
  * - a new **Cloud** settings group (between System and Security), and
7
7
  * - the cloud sections that re-home the lifted cloud dashboard pages as in-app
8
8
  * Settings sections, plus two additions to the existing **Security** group.
@@ -39,123 +39,129 @@ import { CloudAccountSection, CloudApiKeysSection, CloudApplicationsSection, Clo
39
39
  * The Cloud group sits between System (built-in order 1) and Security (built-in
40
40
  * order 2), matching the IA in `docs/cloud-into-eliza/PLAN.md` §4.3.
41
41
  */
42
- registerSettingsGroup({
43
- id: CLOUD_SETTINGS_GROUP_ID,
44
- label: "Cloud",
45
- order: 1.5,
46
- });
47
- // ── Cloud group ──────────────────────────────────────────────────────────────
48
- registerSettingsSection({
49
- id: "cloud-account",
50
- label: "settings.sections.cloudAccount.label",
51
- defaultLabel: "Account & Profile",
52
- icon: User,
53
- tone: "accent",
54
- hue: "accent",
55
- group: CLOUD_SETTINGS_GROUP_ID,
56
- titleKey: "settings.sections.cloudAccount.title",
57
- defaultTitle: "Account & Profile",
58
- order: 0,
59
- Component: CloudAccountSection,
60
- });
61
- registerSettingsSection({
62
- id: "cloud-billing",
63
- label: "settings.sections.cloudBilling.label",
64
- defaultLabel: "Billing & Credits",
65
- icon: CreditCard,
66
- tone: "accent",
67
- hue: "accent",
68
- group: CLOUD_SETTINGS_GROUP_ID,
69
- titleKey: "settings.sections.cloudBilling.title",
70
- defaultTitle: "Billing & Credits",
71
- order: 1,
72
- Component: CloudBillingSection,
73
- });
74
- registerSettingsSection({
75
- id: "cloud-api-keys",
76
- label: "settings.sections.cloudApiKeys.label",
77
- defaultLabel: "API Keys",
78
- icon: KeyRound,
79
- tone: "accent",
80
- hue: "accent",
81
- group: CLOUD_SETTINGS_GROUP_ID,
82
- titleKey: "settings.sections.cloudApiKeys.title",
83
- defaultTitle: "API Keys",
84
- order: 2,
85
- Component: CloudApiKeysSection,
86
- });
87
- registerSettingsSection({
88
- id: "cloud-applications",
89
- label: "settings.sections.cloudApplications.label",
90
- defaultLabel: "Applications",
91
- icon: Grid3x3,
92
- tone: "accent",
93
- hue: "accent",
94
- group: CLOUD_SETTINGS_GROUP_ID,
95
- titleKey: "settings.sections.cloudApplications.title",
96
- defaultTitle: "Applications",
97
- order: 3,
98
- Component: CloudApplicationsSection,
99
- });
100
- registerSettingsSection({
101
- id: "cloud-monetization",
102
- label: "settings.sections.cloudMonetization.label",
103
- defaultLabel: "Monetization",
104
- icon: TrendingUp,
105
- tone: "accent",
106
- hue: "accent",
107
- group: CLOUD_SETTINGS_GROUP_ID,
108
- titleKey: "settings.sections.cloudMonetization.title",
109
- defaultTitle: "Monetization",
110
- order: 4,
111
- Component: CloudMonetizationSection,
112
- });
113
- registerSettingsSection({
114
- id: "cloud-organization",
115
- label: "settings.sections.cloudOrganization.label",
116
- defaultLabel: "Organization",
117
- icon: Building2,
118
- tone: "accent",
119
- hue: "accent",
120
- group: CLOUD_SETTINGS_GROUP_ID,
121
- titleKey: "settings.sections.cloudOrganization.title",
122
- defaultTitle: "Organization",
123
- order: 5,
124
- Component: CloudOrganizationSection,
125
- });
126
- // ── Security group (additions) ───────────────────────────────────────────────
127
- // Ordered after the built-in security sections (built-ins occupy meta indices
128
- // 12–15). High explicit order keeps them last within the Security group.
129
- registerSettingsSection({
130
- id: "cloud-security",
131
- label: "settings.sections.cloudSecurity.label",
132
- defaultLabel: "Sessions & Privacy",
133
- icon: Lock,
134
- tone: "warn",
135
- hue: "amber",
136
- group: "security",
137
- titleKey: "settings.sections.cloudSecurity.title",
138
- defaultTitle: "Sessions, Privacy & Audit",
139
- order: 100,
140
- Component: CloudSecuritySection,
141
- });
142
- registerSettingsSection({
143
- id: "cloud-plugin-grants",
144
- label: "settings.sections.cloudPluginGrants.label",
145
- defaultLabel: "Plugin Grants",
146
- icon: Workflow,
147
- tone: "warn",
148
- hue: "amber",
149
- group: "security",
150
- titleKey: "settings.sections.cloudPluginGrants.title",
151
- defaultTitle: "Plugin Grants",
152
- order: 101,
153
- Component: CloudPluginGrantsSection,
154
- });
155
- // ── Cloud connectors + MCPs ──────────────────────────────────────────────────
156
- // These domains own their own settings-section registration (they live outside
157
- // cloud/settings/). Invoke them here — from the barrel that SettingsView imports
158
- // on every platform — so the sections surface on web AND native/desktop, not
159
- // only inside the web-only route aggregator (register-all.ts).
160
- registerCloudConnectorsSettingsSection();
161
- registerMcpsSettingsSection();
42
+ let cloudSettingsRegistered = false;
43
+ export function registerCloudSettingsSections() {
44
+ if (cloudSettingsRegistered)
45
+ return;
46
+ cloudSettingsRegistered = true;
47
+ registerSettingsGroup({
48
+ id: CLOUD_SETTINGS_GROUP_ID,
49
+ label: "Cloud",
50
+ order: 1.5,
51
+ });
52
+ // ── Cloud group ──────────────────────────────────────────────────────────────
53
+ registerSettingsSection({
54
+ id: "cloud-account",
55
+ label: "settings.sections.cloudAccount.label",
56
+ defaultLabel: "Account & Profile",
57
+ icon: User,
58
+ tone: "accent",
59
+ hue: "accent",
60
+ group: CLOUD_SETTINGS_GROUP_ID,
61
+ titleKey: "settings.sections.cloudAccount.title",
62
+ defaultTitle: "Account & Profile",
63
+ order: 0,
64
+ Component: CloudAccountSection,
65
+ });
66
+ registerSettingsSection({
67
+ id: "cloud-billing",
68
+ label: "settings.sections.cloudBilling.label",
69
+ defaultLabel: "Billing & Credits",
70
+ icon: CreditCard,
71
+ tone: "accent",
72
+ hue: "accent",
73
+ group: CLOUD_SETTINGS_GROUP_ID,
74
+ titleKey: "settings.sections.cloudBilling.title",
75
+ defaultTitle: "Billing & Credits",
76
+ order: 1,
77
+ Component: CloudBillingSection,
78
+ });
79
+ registerSettingsSection({
80
+ id: "cloud-api-keys",
81
+ label: "settings.sections.cloudApiKeys.label",
82
+ defaultLabel: "API Keys",
83
+ icon: KeyRound,
84
+ tone: "accent",
85
+ hue: "accent",
86
+ group: CLOUD_SETTINGS_GROUP_ID,
87
+ titleKey: "settings.sections.cloudApiKeys.title",
88
+ defaultTitle: "API Keys",
89
+ order: 2,
90
+ Component: CloudApiKeysSection,
91
+ });
92
+ registerSettingsSection({
93
+ id: "cloud-applications",
94
+ label: "settings.sections.cloudApplications.label",
95
+ defaultLabel: "Applications",
96
+ icon: Grid3x3,
97
+ tone: "accent",
98
+ hue: "accent",
99
+ group: CLOUD_SETTINGS_GROUP_ID,
100
+ titleKey: "settings.sections.cloudApplications.title",
101
+ defaultTitle: "Applications",
102
+ order: 3,
103
+ Component: CloudApplicationsSection,
104
+ });
105
+ registerSettingsSection({
106
+ id: "cloud-monetization",
107
+ label: "settings.sections.cloudMonetization.label",
108
+ defaultLabel: "Monetization",
109
+ icon: TrendingUp,
110
+ tone: "accent",
111
+ hue: "accent",
112
+ group: CLOUD_SETTINGS_GROUP_ID,
113
+ titleKey: "settings.sections.cloudMonetization.title",
114
+ defaultTitle: "Monetization",
115
+ order: 4,
116
+ Component: CloudMonetizationSection,
117
+ });
118
+ registerSettingsSection({
119
+ id: "cloud-organization",
120
+ label: "settings.sections.cloudOrganization.label",
121
+ defaultLabel: "Organization",
122
+ icon: Building2,
123
+ tone: "accent",
124
+ hue: "accent",
125
+ group: CLOUD_SETTINGS_GROUP_ID,
126
+ titleKey: "settings.sections.cloudOrganization.title",
127
+ defaultTitle: "Organization",
128
+ order: 5,
129
+ Component: CloudOrganizationSection,
130
+ });
131
+ // ── Security group (additions) ───────────────────────────────────────────────
132
+ // Ordered after the built-in security sections (built-ins occupy meta indices
133
+ // 12–15). High explicit order keeps them last within the Security group.
134
+ registerSettingsSection({
135
+ id: "cloud-security",
136
+ label: "settings.sections.cloudSecurity.label",
137
+ defaultLabel: "Sessions & Privacy",
138
+ icon: Lock,
139
+ tone: "warn",
140
+ hue: "amber",
141
+ group: "security",
142
+ titleKey: "settings.sections.cloudSecurity.title",
143
+ defaultTitle: "Sessions, Privacy & Audit",
144
+ order: 100,
145
+ Component: CloudSecuritySection,
146
+ });
147
+ registerSettingsSection({
148
+ id: "cloud-plugin-grants",
149
+ label: "settings.sections.cloudPluginGrants.label",
150
+ defaultLabel: "Plugin Grants",
151
+ icon: Workflow,
152
+ tone: "warn",
153
+ hue: "amber",
154
+ group: "security",
155
+ titleKey: "settings.sections.cloudPluginGrants.title",
156
+ defaultTitle: "Plugin Grants",
157
+ order: 101,
158
+ Component: CloudPluginGrantsSection,
159
+ });
160
+ // ── Cloud connectors + MCPs ──────────────────────────────────────────────────
161
+ // These domains own their own settings-section registration (they live outside
162
+ // cloud/settings/). Invoke them here — from the barrel that SettingsView imports
163
+ // on every platform — so the sections surface on web AND native/desktop, not
164
+ // only inside the web-only route aggregator (register-all.ts).
165
+ registerCloudConnectorsSettingsSection();
166
+ registerMcpsSettingsSection();
167
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"CloudRouterShell.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/shell/CloudRouterShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAwHf,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,UAAU,EAAE,SAAS,CAAC;CACvB;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,GACX,EAAE;IACD,UAAU,EAAE,SAAS,CAAC;CACvB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,GACX,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6C3C;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"CloudRouterShell.d.ts","sourceRoot":"","sources":["../../../../../../src/cloud/shell/CloudRouterShell.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAGL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AA6Hf,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,UAAU,EAAE,SAAS,CAAC;CACvB;AAsBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,GACX,EAAE;IACD,UAAU,EAAE,SAAS,CAAC;CACvB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAUpB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,UAAU,GACX,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA6C3C;AAED,eAAe,gBAAgB,CAAC"}
@@ -50,11 +50,16 @@ const DASHBOARD_REDIRECTS = [
50
50
  { from: "dashboard/containers", to: "/dashboard/agents" },
51
51
  { from: "dashboard/containers/:id", to: "/dashboard/agents/:id" },
52
52
  { from: "dashboard/containers/agents/:id", to: "/dashboard/agents/:id" },
53
+ // In-dashboard quick chat was removed; real chat lives in the app. Send old
54
+ // deep links back to the agent detail page.
55
+ { from: "dashboard/agents/:id/chat", to: "/dashboard/agents/:id" },
53
56
  // App-create modal is opened from the apps list, not its own route.
54
57
  { from: "dashboard/apps/create", to: "/dashboard/apps" },
55
58
  // New app-IA targets: billing / api-keys move into settings sections.
56
59
  { from: "dashboard/billing", to: "/settings#billing" },
57
60
  { from: "dashboard/api-keys", to: "/settings#api-keys" },
61
+ // Knowledge/Documents now lives in the app; old deep links land on the agents list.
62
+ { from: "dashboard/documents", to: "/dashboard/agents" },
58
63
  ];
59
64
  /** Substitute `:param` segments from the matched route params. */
60
65
  function ParamRedirect({ to }) {