@elizaos/app-core 2.0.0-alpha.41 → 2.0.0-alpha.44

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 (261) hide show
  1. package/dist/App.d.ts.map +1 -1
  2. package/dist/App.js +27 -11
  3. package/dist/actions/character.d.ts.map +1 -1
  4. package/dist/actions/character.js +59 -29
  5. package/dist/actions/onboarding.d.ts +1 -1
  6. package/dist/actions/onboarding.d.ts.map +1 -1
  7. package/dist/actions/onboarding.js +0 -2
  8. package/dist/api/client.d.ts +7 -246
  9. package/dist/api/client.d.ts.map +1 -1
  10. package/dist/api/client.js +26 -43
  11. package/dist/bridge/plugin-bridge.d.ts +1 -1
  12. package/dist/bridge/plugin-bridge.d.ts.map +1 -1
  13. package/dist/bridge/plugin-bridge.js +1 -1
  14. package/dist/chat/index.d.ts.map +1 -1
  15. package/dist/chat/index.js +0 -1
  16. package/dist/components/AvatarLoader.d.ts +3 -1
  17. package/dist/components/AvatarLoader.d.ts.map +1 -1
  18. package/dist/components/AvatarLoader.js +4 -1
  19. package/dist/components/BscTradePanel.d.ts +1 -1
  20. package/dist/components/BscTradePanel.d.ts.map +1 -1
  21. package/dist/components/CharacterView.d.ts.map +1 -1
  22. package/dist/components/CharacterView.js +118 -53
  23. package/dist/components/ChatView.d.ts.map +1 -1
  24. package/dist/components/ChatView.js +2 -2
  25. package/dist/components/CodingAgentSettingsSection.d.ts.map +1 -1
  26. package/dist/components/CodingAgentSettingsSection.js +3 -1
  27. package/dist/components/CompanionSceneHost.d.ts +1 -2
  28. package/dist/components/CompanionSceneHost.d.ts.map +1 -1
  29. package/dist/components/CompanionSceneHost.js +5 -6
  30. package/dist/components/CompanionView.js +2 -2
  31. package/dist/components/ConfigPageView.d.ts.map +1 -1
  32. package/dist/components/ConfigPageView.js +52 -26
  33. package/dist/components/ConversationsSidebar.js +2 -2
  34. package/dist/components/CustomActionEditor.d.ts.map +1 -1
  35. package/dist/components/CustomActionEditor.js +1 -1
  36. package/dist/components/ElizaCloudDashboard.js +5 -5
  37. package/dist/components/FineTuningView.js +1 -1
  38. package/dist/components/GameView.d.ts.map +1 -1
  39. package/dist/components/GameView.js +2 -3
  40. package/dist/components/Header.d.ts.map +1 -1
  41. package/dist/components/Header.js +3 -1
  42. package/dist/components/HeartbeatsView.d.ts.map +1 -1
  43. package/dist/components/HeartbeatsView.js +1 -1
  44. package/dist/components/InventoryView.d.ts.map +1 -1
  45. package/dist/components/InventoryView.js +32 -20
  46. package/dist/components/LanguageDropdown.d.ts.map +1 -1
  47. package/dist/components/LanguageDropdown.js +2 -1
  48. package/dist/components/LoadingScreen.d.ts.map +1 -1
  49. package/dist/components/LoadingScreen.js +38 -7
  50. package/dist/components/MediaGalleryView.d.ts.map +1 -1
  51. package/dist/components/OnboardingWizard.d.ts.map +1 -1
  52. package/dist/components/OnboardingWizard.js +18 -5
  53. package/dist/components/PermissionsSection.d.ts.map +1 -1
  54. package/dist/components/PermissionsSection.js +333 -128
  55. package/dist/components/PluginsView.d.ts.map +1 -1
  56. package/dist/components/PluginsView.js +15 -8
  57. package/dist/components/ProviderSwitcher.d.ts.map +1 -1
  58. package/dist/components/ProviderSwitcher.js +50 -35
  59. package/dist/components/SettingsView.js +4 -4
  60. package/dist/components/SubscriptionStatus.d.ts +2 -1
  61. package/dist/components/SubscriptionStatus.d.ts.map +1 -1
  62. package/dist/components/SubscriptionStatus.js +2 -2
  63. package/dist/components/apps/extensions/registry.d.ts.map +1 -1
  64. package/dist/components/apps/extensions/registry.js +1 -4
  65. package/dist/components/apps/helpers.d.ts.map +1 -1
  66. package/dist/components/apps/helpers.js +0 -2
  67. package/dist/components/avatar/VrmEngine.d.ts +2 -0
  68. package/dist/components/avatar/VrmEngine.d.ts.map +1 -1
  69. package/dist/components/avatar/VrmEngine.js +14 -6
  70. package/dist/components/index.d.ts +2 -0
  71. package/dist/components/index.d.ts.map +1 -1
  72. package/dist/components/index.js +2 -0
  73. package/dist/components/inventory/TokensTable.js +2 -2
  74. package/dist/components/onboarding/IdentityStep.d.ts +2 -0
  75. package/dist/components/onboarding/IdentityStep.d.ts.map +1 -0
  76. package/dist/components/onboarding/IdentityStep.js +114 -0
  77. package/dist/components/permissions/StreamingPermissions.d.ts.map +1 -1
  78. package/dist/components/permissions/StreamingPermissions.js +10 -6
  79. package/dist/components/shared/ShellHeaderControls.js +1 -1
  80. package/dist/components/shared-companion-scene-context.d.ts +3 -0
  81. package/dist/components/shared-companion-scene-context.d.ts.map +1 -0
  82. package/dist/components/shared-companion-scene-context.js +13 -0
  83. package/dist/config/config-field.d.ts.map +1 -1
  84. package/dist/config/config-field.js +43 -24
  85. package/dist/config/config-renderer.d.ts.map +1 -1
  86. package/dist/config/config-renderer.js +5 -3
  87. package/dist/hooks/useMemoryMonitor.d.ts.map +1 -1
  88. package/dist/hooks/useMemoryMonitor.js +0 -1
  89. package/dist/i18n/index.d.ts +1 -1
  90. package/dist/i18n/index.d.ts.map +1 -1
  91. package/dist/i18n/locales/en.json +19 -20
  92. package/dist/i18n/locales/es.json +19 -20
  93. package/dist/i18n/locales/ko.json +19 -20
  94. package/dist/i18n/locales/pt.json +19 -20
  95. package/dist/i18n/locales/zh-CN.json +19 -20
  96. package/dist/navigation/index.d.ts +1 -1
  97. package/dist/navigation/index.d.ts.map +1 -1
  98. package/dist/navigation/index.js +4 -4
  99. package/dist/onboarding-config.d.ts +25 -0
  100. package/dist/onboarding-config.d.ts.map +1 -0
  101. package/dist/onboarding-config.js +69 -0
  102. package/dist/package.json +24 -3
  103. package/dist/platform/index.d.ts +3 -53
  104. package/dist/platform/index.d.ts.map +1 -1
  105. package/dist/platform/index.js +3 -134
  106. package/dist/platform/lifo.d.ts +51 -0
  107. package/dist/platform/lifo.d.ts.map +1 -0
  108. package/dist/platform/lifo.js +138 -0
  109. package/dist/providers/index.d.ts +1 -0
  110. package/dist/providers/index.d.ts.map +1 -1
  111. package/dist/providers/index.js +1 -0
  112. package/dist/state/AppContext.d.ts.map +1 -1
  113. package/dist/state/AppContext.js +243 -135
  114. package/dist/state/internal.d.ts +2 -1
  115. package/dist/state/internal.d.ts.map +1 -1
  116. package/dist/state/internal.js +2 -1
  117. package/dist/state/onboarding-resume.d.ts +11 -0
  118. package/dist/state/onboarding-resume.d.ts.map +1 -0
  119. package/dist/state/onboarding-resume.js +189 -0
  120. package/dist/state/persistence.d.ts +4 -0
  121. package/dist/state/persistence.d.ts.map +1 -1
  122. package/dist/state/persistence.js +37 -1
  123. package/dist/state/shell-routing.d.ts +11 -0
  124. package/dist/state/shell-routing.d.ts.map +1 -0
  125. package/dist/state/shell-routing.js +19 -0
  126. package/dist/state/types.d.ts +4 -3
  127. package/dist/state/types.d.ts.map +1 -1
  128. package/dist/state/types.js +3 -3
  129. package/dist/styles/onboarding-game.css +66 -44
  130. package/dist/styles/styles.css +3 -1
  131. package/dist/wallet-rpc.d.ts +8 -0
  132. package/dist/wallet-rpc.d.ts.map +1 -0
  133. package/dist/wallet-rpc.js +131 -0
  134. package/package.json +10 -4
  135. package/src/App.tsx +40 -11
  136. package/src/actions/character.test.ts +139 -0
  137. package/src/actions/character.ts +61 -22
  138. package/src/actions/onboarding.ts +0 -4
  139. package/src/ambient.d.ts +1 -1
  140. package/src/api/client.ts +100 -377
  141. package/src/bridge/plugin-bridge.ts +4 -4
  142. package/src/chat/index.ts +0 -1
  143. package/src/components/AvatarLoader.tsx +6 -0
  144. package/src/components/BscTradePanel.tsx +1 -1
  145. package/src/components/CharacterView.tsx +683 -492
  146. package/src/components/ChatAvatar.test.ts +2 -1
  147. package/src/components/ChatView.tsx +4 -11
  148. package/src/components/CodingAgentSettingsSection.tsx +3 -1
  149. package/src/components/CompanionSceneHost.tsx +6 -7
  150. package/src/components/CompanionView.tsx +2 -2
  151. package/src/components/ConfigPageView.tsx +72 -32
  152. package/src/components/ConversationsSidebar.tsx +2 -2
  153. package/src/components/CustomActionEditor.tsx +8 -6
  154. package/src/components/ElizaCloudDashboard.tsx +25 -25
  155. package/src/components/FineTuningView.tsx +2 -2
  156. package/src/components/GameView.tsx +3 -3
  157. package/src/components/Header.tsx +4 -1
  158. package/src/components/HeartbeatsView.tsx +1 -0
  159. package/src/components/InventoryView.tsx +36 -20
  160. package/src/components/LanguageDropdown.tsx +2 -1
  161. package/src/components/LoadingScreen.tsx +41 -6
  162. package/src/components/MediaGalleryView.tsx +1 -0
  163. package/src/components/OnboardingWizard.test.tsx +6 -9
  164. package/src/components/OnboardingWizard.tsx +30 -10
  165. package/src/components/PermissionsSection.tsx +589 -221
  166. package/src/components/PluginsView.tsx +20 -7
  167. package/src/components/ProviderSwitcher.tsx +73 -42
  168. package/src/components/SettingsView.tsx +9 -9
  169. package/src/components/SubscriptionStatus.tsx +11 -5
  170. package/src/components/VrmStage.test.ts +5 -5
  171. package/src/components/apps/extensions/registry.ts +1 -4
  172. package/src/components/apps/helpers.ts +0 -1
  173. package/src/components/avatar/VrmEngine.ts +25 -7
  174. package/src/components/companion-shell-styles.test.ts +0 -4
  175. package/src/components/index.ts +2 -0
  176. package/src/components/inventory/TokensTable.tsx +2 -2
  177. package/src/components/onboarding/IdentityStep.tsx +272 -0
  178. package/src/components/permissions/StreamingPermissions.tsx +46 -9
  179. package/src/components/shared/ShellHeaderControls.tsx +1 -1
  180. package/src/components/shared-companion-scene-context.ts +15 -0
  181. package/src/config/config-field.tsx +53 -29
  182. package/src/config/config-renderer.tsx +9 -5
  183. package/src/hooks/useMemoryMonitor.ts +0 -1
  184. package/src/i18n/index.ts +1 -1
  185. package/src/i18n/locales/en.json +19 -20
  186. package/src/i18n/locales/es.json +19 -20
  187. package/src/i18n/locales/ko.json +19 -20
  188. package/src/i18n/locales/pt.json +19 -20
  189. package/src/i18n/locales/zh-CN.json +19 -20
  190. package/src/navigation/index.ts +5 -5
  191. package/src/navigation.test.ts +4 -4
  192. package/src/onboarding-config.test.ts +104 -0
  193. package/src/onboarding-config.ts +114 -0
  194. package/src/platform/index.ts +3 -206
  195. package/src/platform/lifo.ts +225 -0
  196. package/src/providers/index.ts +17 -0
  197. package/src/state/AppContext.tsx +293 -161
  198. package/src/state/internal.ts +9 -0
  199. package/src/state/onboarding-resume.test.ts +135 -0
  200. package/src/state/onboarding-resume.ts +263 -0
  201. package/src/state/parsers.ts +1 -1
  202. package/src/state/persistence.ts +43 -1
  203. package/src/state/shell-routing.ts +32 -0
  204. package/src/state/types.ts +7 -5
  205. package/src/styles/onboarding-game.css +66 -44
  206. package/src/styles/styles.css +3 -1
  207. package/src/wallet-rpc.ts +176 -0
  208. package/test/app/MessageContent.test.tsx +40 -0
  209. package/test/app/PermissionsOnboarding.test.tsx +154 -14
  210. package/test/app/PermissionsSection.test.tsx +403 -16
  211. package/test/app/advanced-trajectory-fine-tuning.e2e.test.ts +15 -15
  212. package/test/app/apps-view.test.ts +16 -194
  213. package/test/app/bug-report-modal.test.tsx +3 -3
  214. package/test/app/character-customization.e2e.test.ts +38 -7
  215. package/test/app/chat-send-lock.test.ts +179 -16
  216. package/test/app/chat-view-game-modal.test.tsx +5 -5
  217. package/test/app/chat-view.test.tsx +3 -3
  218. package/test/app/cloud-login-lock.test.ts +3 -2
  219. package/test/app/companion-greeting-wave.test.tsx +45 -57
  220. package/test/app/companion-stale-conversation.test.tsx +24 -1
  221. package/test/app/companion-view.test.tsx +7 -3
  222. package/test/app/conversations-sidebar-game-modal.test.tsx +6 -1
  223. package/test/app/conversations-sidebar.test.tsx +25 -0
  224. package/test/app/custom-actions-smoke.test.ts +3 -3
  225. package/test/app/game-view-auth-session.test.tsx +5 -4
  226. package/test/app/game-view.test.ts +2 -2
  227. package/test/app/inventory-bsc-view.test.ts +32 -0
  228. package/test/app/navigation.test.tsx +0 -7
  229. package/test/app/onboarding-finish-lock.test.ts +181 -8
  230. package/test/app/onboarding-language.test.tsx +7 -8
  231. package/test/app/onboarding-steps.test.tsx +41 -37
  232. package/test/app/pages-navigation-smoke.e2e.test.ts +13 -8
  233. package/test/app/plugin-bridge.test.ts +1 -1
  234. package/test/app/plugins-view-game-modal.test.tsx +37 -0
  235. package/test/app/provider-dropdown-default.test.tsx +139 -3
  236. package/test/app/restart-banner.test.tsx +3 -3
  237. package/test/app/settings-reset.e2e.test.ts +0 -2
  238. package/test/app/shell-mode-switching.e2e.test.ts +169 -158
  239. package/test/app/shell-mode-tab-memory.test.tsx +48 -273
  240. package/test/app/startup-chat.e2e.test.ts +31 -14
  241. package/test/app/startup-conversation-restore.test.tsx +37 -0
  242. package/test/app/startup-onboarding.e2e.test.ts +15 -9
  243. package/test/app/triggers-navigation.test.ts +0 -5
  244. package/test/app/triggers-view.e2e.test.ts +3 -2
  245. package/test/app/wallet-api-save-lock.test.ts +25 -3
  246. package/test/browser-extension/README.md +138 -0
  247. package/test/browser-extension/test-harness.ts +499 -0
  248. package/test/capacitor-plugins.e2e.test.ts +168 -0
  249. package/test/test-types.ts +5 -0
  250. package/test/utils/assistant-text.test.ts +68 -0
  251. package/test/utils/streaming-text.test.ts +89 -0
  252. package/tsconfig.json +0 -1
  253. package/tsconfig.typecheck.json +12 -0
  254. package/dist/components/apps/extensions/HyperscapeAppDetailPanel.d.ts +0 -3
  255. package/dist/components/apps/extensions/HyperscapeAppDetailPanel.d.ts.map +0 -1
  256. package/dist/components/apps/extensions/HyperscapeAppDetailPanel.js +0 -253
  257. package/dist/components/onboarding/WakeUpStep.d.ts +0 -2
  258. package/dist/components/onboarding/WakeUpStep.d.ts.map +0 -1
  259. package/dist/components/onboarding/WakeUpStep.js +0 -82
  260. package/src/components/apps/extensions/HyperscapeAppDetailPanel.tsx +0 -577
  261. package/src/components/onboarding/WakeUpStep.tsx +0 -184
package/dist/App.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAqLH,wBAAgB,GAAG,4CA6RlB"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AA2LH,wBAAgB,GAAG,4CAoTlB"}
package/dist/App.js CHANGED
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
4
4
  */
5
5
  import { Keyboard } from "@capacitor/keyboard";
6
6
  import { isIOS, isLifoPopoutValue, isNative } from "@elizaos/app-core/platform";
7
- import { useCallback, useEffect, useState } from "react";
7
+ import { useCallback, useEffect, useRef, useState, } from "react";
8
8
  import { AdvancedPageView, AppsPageView, AvatarLoader, CharacterView, ChatView, CompanionShell, CompanionView, ConnectionFailedBanner, ConnectorsPageView, ConversationsSidebar, CustomActionEditor, CustomActionsPanel, ErrorBoundary, GameViewOverlay, Header, HeartbeatsView, InventoryView, KnowledgeView, OnboardingWizard, PairingView, SaveCommandModal, SettingsView, SharedCompanionScene, ShellOverlays, StartupFailureView, StreamView, SystemWarningBanner, } from "./components";
9
9
  import { BugReportProvider, useBugReportState, useContextMenu, useStreamPopoutNavigation, } from "./hooks";
10
10
  import { APPS_ENABLED, COMPANION_ENABLED } from "./navigation";
@@ -81,7 +81,9 @@ function ViewRouter({ characterSceneVisible = false, }) {
81
81
  export function App() {
82
82
  const { onboardingLoading, startupPhase, startupError, authRequired, onboardingComplete, retryStartup, tab, setTab, actionNotice, uiShellMode, agentStatus, unreadConversations, activeGameViewerUrl, gameOverlayEnabled, } = useApp();
83
83
  const isPopout = useIsPopout();
84
- const shellMode = uiShellMode ?? "companion";
84
+ const shellMode = tab === "character" || tab === "character-select"
85
+ ? "native"
86
+ : (uiShellMode ?? "companion");
85
87
  const effectiveTab = shellMode === "companion"
86
88
  ? "companion"
87
89
  : tab === "companion"
@@ -159,6 +161,10 @@ export function App() {
159
161
  }, []);
160
162
  const bugReport = useBugReportState();
161
163
  const agentStarting = agentStatus?.state === "starting";
164
+ const shouldLoad = onboardingLoading || agentStarting;
165
+ const [loaderFadingOut, setLoaderFadingOut] = useState(false);
166
+ const showLoaderRef = useRef(true);
167
+ const [showLoader, setShowLoader] = useState(true);
162
168
  useEffect(() => {
163
169
  const STARTUP_TIMEOUT_MS = 300_000;
164
170
  if (startupPhase !== "ready" && !startupError) {
@@ -168,6 +174,22 @@ export function App() {
168
174
  return () => clearTimeout(timer);
169
175
  }
170
176
  }, [startupPhase, startupError, retryStartup]);
177
+ useEffect(() => {
178
+ if (shouldLoad) {
179
+ showLoaderRef.current = true;
180
+ setShowLoader(true);
181
+ setLoaderFadingOut(false);
182
+ }
183
+ else if (showLoaderRef.current) {
184
+ showLoaderRef.current = false;
185
+ setLoaderFadingOut(true);
186
+ const timer = setTimeout(() => {
187
+ setShowLoader(false);
188
+ setLoaderFadingOut(false);
189
+ }, 800);
190
+ return () => clearTimeout(timer);
191
+ }
192
+ }, [shouldLoad]);
171
193
  // Pop-out mode — render only StreamView, skip startup gates.
172
194
  // Platform init is skipped in main.tsx; AppProvider hydrates WS in background.
173
195
  if (isPopout) {
@@ -176,15 +198,9 @@ export function App() {
176
198
  if (startupError) {
177
199
  return _jsx(StartupFailureView, { error: startupError, onRetry: retryStartup });
178
200
  }
179
- if (onboardingLoading || agentStarting) {
180
- const loadingLabel = agentStarting
181
- ? "Initializing agent"
182
- : "Starting systems";
183
- return _jsx(AvatarLoader, { label: loadingLabel, fullScreen: true });
184
- }
185
- if (authRequired)
201
+ if (authRequired && !shouldLoad)
186
202
  return _jsx(PairingView, {});
187
- if (!onboardingComplete)
203
+ if (!onboardingComplete && !shouldLoad)
188
204
  return _jsx(OnboardingWizard, {});
189
205
  const shellContent = companionShellVisible ? (_jsx(CompanionShell, { tab: effectiveTab, actionNotice: actionNotice })) : tab === "stream" ? (_jsxs("div", { className: "flex flex-col flex-1 min-h-0 w-full font-body text-txt bg-bg", children: [_jsx(Header, {}), _jsx("main", { className: "flex-1 min-h-0 overflow-hidden", children: _jsx(StreamView, {}) })] })) : isChat ? (_jsxs("div", { className: "flex flex-col flex-1 min-h-0 w-full font-body text-txt bg-bg", children: [_jsx(Header, { mobileLeft: mobileChatControls }), _jsxs("div", { className: "flex flex-1 min-h-0 relative", children: [isChatMobileLayout ? (_jsxs(_Fragment, { children: [_jsx("main", { className: "flex flex-col flex-1 min-h-0 min-w-0 overflow-hidden pt-2 px-2", children: _jsx(ChatView, {}) }), mobileConversationsOpen && (_jsx("div", { className: "fixed inset-0 z-[120] bg-bg", children: _jsx(ConversationsSidebar, { mobile: true, onClose: () => setMobileConversationsOpen(false) }) }))] })) : (_jsxs(_Fragment, { children: [_jsx(ConversationsSidebar, {}), _jsx("main", { className: "flex flex-col flex-1 min-h-0 min-w-0 overflow-hidden pt-3 px-3 xl:px-5", children: _jsx(ChatView, {}) })] })), _jsx(CustomActionsPanel, { open: customActionsPanelOpen, onClose: () => setCustomActionsPanelOpen(false), onOpenEditor: (action) => {
190
206
  setEditingAction(action ?? null);
@@ -194,5 +210,5 @@ export function App() {
194
210
  return (_jsxs(BugReportProvider, { value: bugReport, children: [appShell, activeGameViewerUrl && gameOverlayEnabled && tab !== "apps" && (_jsx(GameViewOverlay, {})), _jsx(ShellOverlays, { actionNotice: actionNotice }), _jsx(SaveCommandModal, { open: contextMenu.saveCommandModalOpen, text: contextMenu.saveCommandText, onSave: contextMenu.confirmSaveCommand, onClose: contextMenu.closeSaveCommandModal }), _jsx(CustomActionEditor, { open: customActionsEditorOpen, action: editingAction, onSave: handleEditorSave, onClose: () => {
195
211
  setCustomActionsEditorOpen(false);
196
212
  setEditingAction(null);
197
- } }), _jsx(ConnectionFailedBanner, {}), _jsx(SystemWarningBanner, {})] }));
213
+ } }), _jsx(ConnectionFailedBanner, {}), _jsx(SystemWarningBanner, {}), showLoader && (_jsx(AvatarLoader, { label: agentStarting ? "Initializing agent" : "Starting systems", fullScreen: true, fadingOut: loaderFadingOut }))] }));
198
214
  }
@@ -1 +1 @@
1
- {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/actions/character.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,iBAAiB,EAAE,CACjB,EAAE,EAAE,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,CAAC,KACzD,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA4Bf;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA8BzB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC9D,CAAC,CAiBD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD"}
1
+ {"version":3,"file":"character.d.ts","sourceRoot":"","sources":["../../src/actions/character.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,YAAY,CAAC;IACrB,gBAAgB,EAAE,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,iBAAiB,EAAE,CACjB,EAAE,EAAE,aAAa,GAAG,CAAC,CAAC,IAAI,EAAE,aAAa,KAAK,aAAa,CAAC,KACzD,IAAI,CAAC;IACV,mBAAmB,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAChD,kBAAkB,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,qBAAqB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,uBAAuB,EAAE,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CAC3D;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,sBAAsB,GAC1B,OAAO,CAAC,IAAI,CAAC,CA6Bf;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,aAAa,GACnB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAoEzB;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC;IAC9D,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC,CAAC;CAC9D,CAAC,CAiBD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAKvD"}
@@ -18,6 +18,7 @@ export async function loadCharacter(ctx) {
18
18
  : (character.bio ?? ""),
19
19
  system: character.system ?? "",
20
20
  adjectives: character.adjectives ?? [],
21
+ topics: character.topics ?? [],
21
22
  style: {
22
23
  all: character.style?.all ?? [],
23
24
  chat: character.style?.chat ?? [],
@@ -34,40 +35,69 @@ export async function loadCharacter(ctx) {
34
35
  ctx.setCharacterLoading(false);
35
36
  }
36
37
  export function prepareDraftForSave(draft) {
37
- const result = { ...draft };
38
- if (typeof result.bio === "string") {
39
- const lines = result.bio
38
+ // Only pick fields the API schema accepts (.strict() rejects unknown keys)
39
+ const result = {};
40
+ if (draft.name?.trim()) {
41
+ result.name = draft.name.trim();
42
+ }
43
+ if (draft.username?.trim()) {
44
+ result.username = draft.username.trim();
45
+ }
46
+ else if (typeof result.name === "string") {
47
+ result.username = result.name;
48
+ }
49
+ if (draft.system)
50
+ result.system = draft.system;
51
+ if (typeof draft.bio === "string") {
52
+ const lines = draft.bio
40
53
  .split("\n")
41
54
  .map((l) => l.trim())
42
55
  .filter((l) => l.length > 0);
43
- result.bio = lines.length > 0 ? lines : undefined;
56
+ if (lines.length > 0)
57
+ result.bio = lines;
44
58
  }
45
- if (Array.isArray(result.adjectives) && result.adjectives.length === 0)
46
- delete result.adjectives;
47
- if (Array.isArray(result.postExamples) && result.postExamples.length === 0)
48
- delete result.postExamples;
49
- if (Array.isArray(result.messageExamples) &&
50
- result.messageExamples.length === 0)
51
- delete result.messageExamples;
52
- if (result.style) {
53
- const s = result.style;
54
- if (s.all && s.all.length === 0)
55
- delete s.all;
56
- if (s.chat && s.chat.length === 0)
57
- delete s.chat;
58
- if (s.post && s.post.length === 0)
59
- delete s.post;
60
- if (!s.all && !s.chat && !s.post)
61
- delete result.style;
59
+ else if (Array.isArray(draft.bio) && draft.bio.length > 0) {
60
+ result.bio = draft.bio;
61
+ }
62
+ const adjectives = (draft.adjectives ?? []).filter((s) => s.trim().length > 0);
63
+ if (adjectives.length > 0)
64
+ result.adjectives = adjectives;
65
+ const topics = (draft.topics ?? []).filter((s) => s.trim().length > 0);
66
+ if (topics.length > 0)
67
+ result.topics = topics;
68
+ const postExamples = (draft.postExamples ?? []).filter((s) => s.trim().length > 0);
69
+ if (postExamples.length > 0)
70
+ result.postExamples = postExamples;
71
+ if (Array.isArray(draft.messageExamples) &&
72
+ draft.messageExamples.length > 0) {
73
+ // Strip extra fields from content (schema is .strict() — only text + actions allowed)
74
+ const cleaned = draft.messageExamples
75
+ .map((group) => ({
76
+ examples: (group.examples ?? [])
77
+ .filter((msg) => msg.name?.trim() && msg.content?.text?.trim())
78
+ .map((msg) => ({
79
+ name: msg.name,
80
+ content: {
81
+ text: msg.content.text,
82
+ ...(msg.content.actions ? { actions: msg.content.actions } : {}),
83
+ },
84
+ })),
85
+ }))
86
+ .filter((group) => group.examples.length > 0);
87
+ if (cleaned.length > 0)
88
+ result.messageExamples = cleaned;
89
+ }
90
+ if (draft.style) {
91
+ const style = {};
92
+ if (draft.style.all?.length)
93
+ style.all = draft.style.all;
94
+ if (draft.style.chat?.length)
95
+ style.chat = draft.style.chat;
96
+ if (draft.style.post?.length)
97
+ style.post = draft.style.post;
98
+ if (Object.keys(style).length > 0)
99
+ result.style = style;
62
100
  }
63
- if (result.name)
64
- result.username = result.name;
65
- if (!result.name)
66
- delete result.name;
67
- if (!result.username)
68
- delete result.username;
69
- if (!result.system)
70
- delete result.system;
71
101
  return result;
72
102
  }
73
103
  export function parseMessageExamplesInput(value) {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Onboarding step constants and helpers — extracted from AppContext.
3
3
  */
4
- export type OnboardingStep = "wakeUp" | "language" | "identity" | "connection" | "senses" | "activate";
4
+ export type OnboardingStep = "identity" | "connection" | "senses" | "activate";
5
5
  export declare const ONBOARDING_STEP_ORDER: OnboardingStep[];
6
6
  export interface OnboardingNextOptions {
7
7
  allowPermissionBypass?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/actions/onboarding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GACtB,QAAQ,GACR,UAAU,GACV,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,UAAU,CAAC;AAEf,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAOjD,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI/D,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,GACtB,cAAc,GAAG,IAAI,CAIvB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,cAAc,GACtB,cAAc,GAAG,IAAI,CAIvB"}
1
+ {"version":3,"file":"onboarding.d.ts","sourceRoot":"","sources":["../../src/actions/onboarding.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,YAAY,GACZ,QAAQ,GACR,UAAU,CAAC;AAEf,eAAO,MAAM,qBAAqB,EAAE,cAAc,EAKjD,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,eAAO,MAAM,4BAA4B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAI/D,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,cAAc,GACtB,cAAc,GAAG,IAAI,CAIvB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,cAAc,GACtB,cAAc,GAAG,IAAI,CAIvB"}
@@ -2,8 +2,6 @@
2
2
  * Onboarding step constants and helpers — extracted from AppContext.
3
3
  */
4
4
  export const ONBOARDING_STEP_ORDER = [
5
- "wakeUp",
6
- "language",
7
5
  "identity",
8
6
  "connection",
9
7
  "senses",
@@ -6,17 +6,14 @@
6
6
  */
7
7
  import type { AudioGenConfig, AudioGenProvider, CustomActionDef, CustomActionHandler, DatabaseProviderType, ImageConfig, ImageProvider, MediaConfig, MediaMode, ReleaseChannel, VideoConfig, VideoProvider, VisionConfig, VisionProvider } from "@elizaos/autonomous/contracts/config";
8
8
  import type { DropStatus, MintResult } from "@elizaos/autonomous/contracts/drop";
9
- import type { StylePreset } from "@elizaos/autonomous/contracts/onboarding";
9
+ import type { CloudProviderOption, ConnectorConfig, InventoryProviderOption, MessageExample, MessageExampleContent, ModelOption, OnboardingConnection, OnboardingData, OnboardingOptions, OpenRouterModelOption, PiAiModelOption, ProviderOption, RpcProviderOption, StylePreset, SubscriptionProviderStatus, SubscriptionStatusResponse } from "@elizaos/autonomous/contracts/onboarding";
10
10
  import type { AllPermissionsState, PermissionState, PermissionStatus, SystemPermissionDefinition, SystemPermissionId } from "@elizaos/autonomous/contracts/permissions";
11
11
  import type { VerificationResult } from "@elizaos/autonomous/contracts/verification";
12
- import type { BscTradeExecuteRequest, BscTradeExecuteResponse, BscTradePreflightResponse, BscTradeQuoteRequest, BscTradeQuoteResponse, BscTradeTxStatusResponse, BscTransferExecuteRequest, BscTransferExecuteResponse, EvmChainBalance, EvmNft, EvmTokenBalance, SolanaNft, SolanaTokenBalance, WalletAddresses, WalletBalancesResponse, WalletConfigStatus, WalletNftsResponse, TradePermissionMode as WalletTradePermissionMode, WalletTradingProfileResponse, WalletTradingProfileSourceFilter, WalletTradingProfileWindow } from "@elizaos/autonomous/contracts/wallet";
12
+ import type { BscTradeExecuteRequest, BscTradeExecuteResponse, BscTradePreflightResponse, BscTradeQuoteRequest, BscTradeQuoteResponse, BscTradeTxStatusResponse, BscTransferExecuteRequest, BscTransferExecuteResponse, EvmChainBalance, EvmNft, EvmTokenBalance, SolanaNft, SolanaTokenBalance, WalletAddresses, WalletBalancesResponse, WalletConfigStatus, WalletConfigUpdateRequest, WalletNftsResponse, WalletRpcChain, WalletRpcCredentialKey, WalletRpcSelections, TradePermissionMode as WalletTradePermissionMode, WalletTradingProfileResponse, WalletTradingProfileSourceFilter, WalletTradingProfileWindow } from "@elizaos/autonomous/contracts/wallet";
13
+ import { DEFAULT_WALLET_RPC_SELECTIONS, normalizeWalletRpcProviderId, normalizeWalletRpcSelections, WALLET_RPC_PROVIDER_OPTIONS } from "@elizaos/autonomous/contracts/wallet";
13
14
  import type { ConfigUiHint } from "../types";
14
- export type { AudioGenConfig, AudioGenProvider, CustomActionDef, CustomActionHandler, DatabaseProviderType, ImageConfig, ImageProvider, MediaConfig, MediaMode, ReleaseChannel, VideoConfig, VideoProvider, VisionConfig, VisionProvider, };
15
- export type { StylePreset };
16
- export type { BscTradeExecuteRequest, BscTradeExecuteResponse, BscTransferExecuteRequest, BscTransferExecuteResponse, BscTradePreflightResponse, BscTradeQuoteRequest, BscTradeQuoteResponse, BscTradeTxStatusResponse, EvmChainBalance, EvmNft, EvmTokenBalance, SolanaNft, SolanaTokenBalance, WalletAddresses, WalletBalancesResponse, WalletConfigStatus, WalletNftsResponse, WalletTradingProfileResponse, WalletTradingProfileSourceFilter, WalletTradingProfileWindow, };
17
- export type { DropStatus, MintResult };
18
- export type { VerificationResult };
19
- export type { AllPermissionsState, PermissionState, PermissionStatus, SystemPermissionId, SystemPermissionDefinition as PermissionDefinition, };
15
+ export type { AllPermissionsState, AudioGenConfig, AudioGenProvider, BscTradeExecuteRequest, BscTradeExecuteResponse, BscTradePreflightResponse, BscTradeQuoteRequest, BscTradeQuoteResponse, BscTradeTxStatusResponse, BscTransferExecuteRequest, BscTransferExecuteResponse, CloudProviderOption, ConnectorConfig, CustomActionDef, CustomActionHandler, DatabaseProviderType, DropStatus, EvmChainBalance, EvmNft, EvmTokenBalance, ImageConfig, ImageProvider, InventoryProviderOption, MediaConfig, MediaMode, MessageExample, MessageExampleContent, MintResult, ModelOption, OnboardingConnection, OnboardingData, OnboardingOptions, OpenRouterModelOption, PermissionState, PermissionStatus, PiAiModelOption, ProviderOption, ReleaseChannel, RpcProviderOption, SolanaNft, SolanaTokenBalance, StylePreset, SubscriptionProviderStatus, SubscriptionStatusResponse, SystemPermissionDefinition as PermissionDefinition, SystemPermissionId, VerificationResult, VideoConfig, VideoProvider, VisionConfig, VisionProvider, WalletAddresses, WalletBalancesResponse, WalletConfigStatus, WalletConfigUpdateRequest, WalletNftsResponse, WalletRpcChain, WalletRpcCredentialKey, WalletRpcSelections, WalletTradingProfileResponse, WalletTradingProfileSourceFilter, WalletTradingProfileWindow, };
16
+ export { DEFAULT_WALLET_RPC_SELECTIONS, normalizeWalletRpcProviderId, normalizeWalletRpcSelections, WALLET_RPC_PROVIDER_OPTIONS, };
20
17
  export interface DatabaseStatus {
21
18
  provider: DatabaseProviderType;
22
19
  connected: boolean;
@@ -292,130 +289,6 @@ export interface UpdateTriggerRequest {
292
289
  cronExpression?: string;
293
290
  maxRuns?: number;
294
291
  }
295
- export interface MessageExample {
296
- user: string;
297
- content: {
298
- text: string;
299
- };
300
- }
301
- export interface ProviderOption {
302
- id: string;
303
- name: string;
304
- envKey: string | null;
305
- pluginName: string;
306
- keyPrefix: string | null;
307
- description: string;
308
- }
309
- export interface CloudProviderOption {
310
- id: string;
311
- name: string;
312
- description: string;
313
- }
314
- export interface ModelOption {
315
- id: string;
316
- name: string;
317
- provider: string;
318
- description: string;
319
- }
320
- export interface RpcProviderOption {
321
- id: string;
322
- name: string;
323
- description: string;
324
- envKey: string | null;
325
- requiresKey: boolean;
326
- }
327
- export interface InventoryProviderOption {
328
- id: string;
329
- name: string;
330
- description: string;
331
- rpcProviders: RpcProviderOption[];
332
- }
333
- export interface OpenRouterModelOption {
334
- id: string;
335
- name: string;
336
- description: string;
337
- }
338
- export interface PiAiModelOption {
339
- id: string;
340
- name: string;
341
- provider: string;
342
- isDefault: boolean;
343
- }
344
- export interface OnboardingOptions {
345
- names: string[];
346
- styles: StylePreset[];
347
- providers: ProviderOption[];
348
- cloudProviders: CloudProviderOption[];
349
- models: {
350
- small: ModelOption[];
351
- large: ModelOption[];
352
- };
353
- openrouterModels?: OpenRouterModelOption[];
354
- piAiModels?: PiAiModelOption[];
355
- piAiDefaultModel?: string | null;
356
- inventoryProviders: InventoryProviderOption[];
357
- sharedStyleRules: string;
358
- githubOAuthAvailable?: boolean;
359
- }
360
- /** Configuration for a single messaging connector. */
361
- export interface ConnectorConfig {
362
- enabled?: boolean;
363
- botToken?: string;
364
- token?: string;
365
- apiKey?: string;
366
- [key: string]: string | boolean | number | string[] | Record<string, unknown> | undefined;
367
- }
368
- export interface OnboardingData {
369
- name: string;
370
- runMode: "local" | "cloud";
371
- /** Sandbox execution mode: "off" (rawdog), "light" (cloud), "standard" (local sandbox), "max". */
372
- sandboxMode?: "off" | "light" | "standard" | "max";
373
- bio: string[];
374
- systemPrompt: string;
375
- style?: {
376
- all: string[];
377
- chat: string[];
378
- post: string[];
379
- };
380
- adjectives?: string[];
381
- topics?: string[];
382
- postExamples?: string[];
383
- messageExamples?: MessageExample[][];
384
- cloudProvider?: string;
385
- smallModel?: string;
386
- largeModel?: string;
387
- provider?: string;
388
- providerApiKey?: string;
389
- /** Optional primary model override (provider/model), used by pi-ai mode. */
390
- primaryModel?: string;
391
- openrouterModel?: string;
392
- subscriptionProvider?: string;
393
- channels?: Record<string, unknown>;
394
- inventoryProviders?: Array<{
395
- chain: string;
396
- rpcProvider: string;
397
- rpcApiKey?: string;
398
- }>;
399
- connectors?: Record<string, ConnectorConfig>;
400
- telegramToken?: string;
401
- discordToken?: string;
402
- whatsappSessionPath?: string;
403
- twilioAccountSid?: string;
404
- twilioAuthToken?: string;
405
- twilioPhoneNumber?: string;
406
- blooioApiKey?: string;
407
- blooioPhoneNumber?: string;
408
- githubToken?: string;
409
- }
410
- export interface SubscriptionProviderStatus {
411
- provider: string;
412
- configured: boolean;
413
- valid: boolean;
414
- expiresAt: number | null;
415
- }
416
- export interface SubscriptionStatusResponse {
417
- providers: SubscriptionProviderStatus[];
418
- }
419
292
  export interface SandboxPlatformStatus {
420
293
  platform: string;
421
294
  arch?: string;
@@ -1282,9 +1155,7 @@ export interface CharacterData {
1282
1155
  messageExamples?: Array<{
1283
1156
  examples: Array<{
1284
1157
  name: string;
1285
- content: {
1286
- text: string;
1287
- };
1158
+ content: MessageExampleContent;
1288
1159
  }>;
1289
1160
  }>;
1290
1161
  postExamples?: string[];
@@ -1375,103 +1246,6 @@ export interface AppStopResult {
1375
1246
  stopScope: "plugin-uninstalled" | "viewer-session" | "no-op";
1376
1247
  message: string;
1377
1248
  }
1378
- export type HyperscapeScriptedRole = "combat" | "woodcutting" | "fishing" | "mining" | "balanced";
1379
- export type HyperscapeEmbeddedAgentControlAction = "start" | "stop" | "pause" | "resume";
1380
- export type HyperscapeJsonValue = string | number | boolean | null | HyperscapeJsonValue[] | {
1381
- [key: string]: HyperscapeJsonValue;
1382
- };
1383
- export type HyperscapePosition = [number, number, number] | {
1384
- x: number;
1385
- y: number;
1386
- z: number;
1387
- };
1388
- export interface HyperscapeEmbeddedAgent {
1389
- agentId: string;
1390
- characterId: string;
1391
- accountId: string;
1392
- name: string;
1393
- scriptedRole: HyperscapeScriptedRole | null;
1394
- state: string;
1395
- entityId: string | null;
1396
- position: HyperscapePosition | null;
1397
- health: number | null;
1398
- maxHealth: number | null;
1399
- startedAt: number | null;
1400
- lastActivity: number | null;
1401
- error: string | null;
1402
- }
1403
- export interface HyperscapeEmbeddedAgentsResponse {
1404
- success: boolean;
1405
- agents: HyperscapeEmbeddedAgent[];
1406
- count: number;
1407
- error?: string;
1408
- }
1409
- export interface HyperscapeActionResponse {
1410
- success: boolean;
1411
- message?: string;
1412
- error?: string;
1413
- }
1414
- export interface HyperscapeEmbeddedAgentMutationResponse extends HyperscapeActionResponse {
1415
- agent?: HyperscapeEmbeddedAgent | null;
1416
- }
1417
- export interface HyperscapeAvailableGoal {
1418
- id: string;
1419
- type: string;
1420
- description: string;
1421
- priority: number;
1422
- }
1423
- export interface HyperscapeGoalState {
1424
- type?: string;
1425
- description?: string;
1426
- progress?: number;
1427
- target?: number;
1428
- progressPercent?: number;
1429
- elapsedMs?: number;
1430
- startedAt?: number;
1431
- locked?: boolean;
1432
- lockedBy?: string;
1433
- }
1434
- export interface HyperscapeAgentGoalResponse {
1435
- success: boolean;
1436
- goal: HyperscapeGoalState | null;
1437
- availableGoals?: HyperscapeAvailableGoal[];
1438
- goalsPaused?: boolean;
1439
- message?: string;
1440
- error?: string;
1441
- }
1442
- export interface HyperscapeQuickCommand {
1443
- id: string;
1444
- label: string;
1445
- command: string;
1446
- icon: string;
1447
- available: boolean;
1448
- reason?: string;
1449
- }
1450
- export interface HyperscapeNearbyLocation {
1451
- id: string;
1452
- name: string;
1453
- type: string;
1454
- distance: number;
1455
- }
1456
- export interface HyperscapeInventoryItem {
1457
- id: string;
1458
- name: string;
1459
- slot: number;
1460
- quantity: number;
1461
- canEquip: boolean;
1462
- canUse: boolean;
1463
- canDrop: boolean;
1464
- }
1465
- export interface HyperscapeQuickActionsResponse {
1466
- success: boolean;
1467
- nearbyLocations: HyperscapeNearbyLocation[];
1468
- availableGoals: HyperscapeAvailableGoal[];
1469
- quickCommands: HyperscapeQuickCommand[];
1470
- inventory: HyperscapeInventoryItem[];
1471
- playerPosition: [number, number, number] | null;
1472
- message?: string;
1473
- error?: string;
1474
- }
1475
1249
  export interface TrajectoryRecord {
1476
1250
  id: string;
1477
1251
  agentId: string;
@@ -2078,7 +1852,7 @@ export declare class MiladyClient {
2078
1852
  getWalletBalances(): Promise<WalletBalancesResponse>;
2079
1853
  getWalletNfts(): Promise<WalletNftsResponse>;
2080
1854
  getWalletConfig(): Promise<WalletConfigStatus>;
2081
- updateWalletConfig(config: Record<string, string>): Promise<{
1855
+ updateWalletConfig(config: WalletConfigUpdateRequest): Promise<{
2082
1856
  ok: boolean;
2083
1857
  }>;
2084
1858
  exportWalletKeys(exportToken: string): Promise<WalletExportResult>;
@@ -2220,19 +1994,6 @@ export declare class MiladyClient {
2220
1994
  launchApp(name: string): Promise<AppLaunchResult>;
2221
1995
  listRegistryPlugins(): Promise<RegistryPluginItem[]>;
2222
1996
  searchRegistryPlugins(query: string): Promise<RegistryPluginItem[]>;
2223
- listHyperscapeEmbeddedAgents(): Promise<HyperscapeEmbeddedAgentsResponse>;
2224
- createHyperscapeEmbeddedAgent(input: {
2225
- characterId: string;
2226
- autoStart?: boolean;
2227
- scriptedRole?: HyperscapeScriptedRole;
2228
- }): Promise<HyperscapeEmbeddedAgentMutationResponse>;
2229
- controlHyperscapeEmbeddedAgent(characterId: string, action: HyperscapeEmbeddedAgentControlAction): Promise<HyperscapeEmbeddedAgentMutationResponse>;
2230
- sendHyperscapeEmbeddedAgentCommand(characterId: string, command: string, data?: {
2231
- [key: string]: HyperscapeJsonValue;
2232
- }): Promise<HyperscapeActionResponse>;
2233
- sendHyperscapeAgentMessage(agentId: string, content: string): Promise<HyperscapeActionResponse>;
2234
- getHyperscapeAgentGoal(agentId: string): Promise<HyperscapeAgentGoalResponse>;
2235
- getHyperscapeAgentQuickActions(agentId: string): Promise<HyperscapeQuickActionsResponse>;
2236
1997
  searchSkillsMarketplace(query: string, installed: boolean, limit: number): Promise<{
2237
1998
  results: SkillMarketplaceResult[];
2238
1999
  }>;