@elizaos/app-core 2.0.0-alpha.344 → 2.0.0-alpha.345

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 (247) hide show
  1. package/apps/app-lifeops/src/inbox/message-fetcher.d.ts.map +1 -1
  2. package/apps/app-lifeops/src/inbox/message-fetcher.js +1 -0
  3. package/apps/app-lifeops/src/inbox/types.d.ts +2 -0
  4. package/apps/app-lifeops/src/inbox/types.d.ts.map +1 -1
  5. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  6. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +1 -0
  7. package/i18n/locales/en.json +18 -11
  8. package/i18n/locales/es.json +0 -2
  9. package/i18n/locales/ko.json +0 -2
  10. package/i18n/locales/pt.json +0 -2
  11. package/i18n/locales/tl.json +0 -2
  12. package/i18n/locales/vi.json +0 -2
  13. package/i18n/locales/zh-CN.json +1 -4
  14. package/package.json +5 -5
  15. package/packages/agent/src/api/conversation-routes.d.ts.map +1 -1
  16. package/packages/agent/src/api/conversation-routes.js +42 -37
  17. package/packages/agent/src/api/relationships-routes.d.ts.map +1 -1
  18. package/packages/agent/src/api/relationships-routes.js +21 -8
  19. package/packages/agent/src/runtime/plugin-collector.d.ts.map +1 -1
  20. package/packages/agent/src/runtime/plugin-collector.js +22 -11
  21. package/packages/app-core/src/App.d.ts.map +1 -1
  22. package/packages/app-core/src/App.js +36 -36
  23. package/packages/app-core/src/api/client-agent.d.ts +2 -2
  24. package/packages/app-core/src/api/client-agent.d.ts.map +1 -1
  25. package/packages/app-core/src/api/client-agent.js +7 -1
  26. package/packages/app-core/src/api/client-types-relationships.d.ts +13 -1
  27. package/packages/app-core/src/api/client-types-relationships.d.ts.map +1 -1
  28. package/packages/app-core/src/chat/index.d.ts.map +1 -1
  29. package/packages/app-core/src/chat/index.js +0 -13
  30. package/packages/app-core/src/components/apps/GameView.d.ts.map +1 -1
  31. package/packages/app-core/src/components/apps/GameView.js +53 -23
  32. package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
  33. package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
  34. package/packages/app-core/src/components/apps/helpers.js +20 -5
  35. package/packages/app-core/src/components/apps/surfaces/GameOperatorShell.d.ts +47 -0
  36. package/packages/app-core/src/components/apps/surfaces/GameOperatorShell.d.ts.map +1 -0
  37. package/packages/app-core/src/components/apps/surfaces/GameOperatorShell.js +42 -0
  38. package/packages/app-core/src/components/character/CharacterEditor.d.ts.map +1 -1
  39. package/packages/app-core/src/components/character/CharacterEditor.js +1 -1
  40. package/packages/app-core/src/components/character/CharacterHubView.d.ts +1 -3
  41. package/packages/app-core/src/components/character/CharacterHubView.d.ts.map +1 -1
  42. package/packages/app-core/src/components/character/CharacterHubView.js +24 -192
  43. package/packages/app-core/src/components/character/CharacterLearnedSkillsSection.d.ts +2 -0
  44. package/packages/app-core/src/components/character/CharacterLearnedSkillsSection.d.ts.map +1 -0
  45. package/packages/app-core/src/components/character/CharacterLearnedSkillsSection.js +76 -0
  46. package/packages/app-core/src/components/character/CharacterOverviewSection.d.ts +2 -15
  47. package/packages/app-core/src/components/character/CharacterOverviewSection.d.ts.map +1 -1
  48. package/packages/app-core/src/components/character/CharacterOverviewSection.js +30 -56
  49. package/packages/app-core/src/components/character/CharacterPersonalityTimeline.d.ts +1 -3
  50. package/packages/app-core/src/components/character/CharacterPersonalityTimeline.d.ts.map +1 -1
  51. package/packages/app-core/src/components/character/CharacterPersonalityTimeline.js +21 -14
  52. package/packages/app-core/src/components/character/CharacterRelationshipsSection.d.ts +1 -1
  53. package/packages/app-core/src/components/character/CharacterRelationshipsSection.d.ts.map +1 -1
  54. package/packages/app-core/src/components/character/CharacterRelationshipsSection.js +1 -2
  55. package/packages/app-core/src/components/character/MusicLibraryCharacterWidget.d.ts +3 -0
  56. package/packages/app-core/src/components/character/MusicLibraryCharacterWidget.d.ts.map +1 -0
  57. package/packages/app-core/src/components/character/MusicLibraryCharacterWidget.js +27 -0
  58. package/packages/app-core/src/components/character/character-hub-helpers.d.ts +1 -1
  59. package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
  60. package/packages/app-core/src/components/character/character-hub-helpers.js +8 -11
  61. package/packages/app-core/src/components/character/character-hub-types.d.ts +1 -1
  62. package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
  63. package/packages/app-core/src/components/chat/widgets/music-player.d.ts +4 -0
  64. package/packages/app-core/src/components/chat/widgets/music-player.d.ts.map +1 -0
  65. package/packages/app-core/src/components/chat/widgets/music-player.js +118 -0
  66. package/packages/app-core/src/components/cloud/CloudSourceControls.d.ts.map +1 -1
  67. package/packages/app-core/src/components/cloud/CloudSourceControls.js +4 -3
  68. package/packages/app-core/src/components/conversations/ConversationsSidebar.d.ts.map +1 -1
  69. package/packages/app-core/src/components/conversations/ConversationsSidebar.js +1 -1
  70. package/packages/app-core/src/components/index.d.ts +0 -1
  71. package/packages/app-core/src/components/index.d.ts.map +1 -1
  72. package/packages/app-core/src/components/index.js +0 -1
  73. package/packages/app-core/src/components/local-inference/HardwareBadge.d.ts +0 -5
  74. package/packages/app-core/src/components/local-inference/HardwareBadge.d.ts.map +1 -1
  75. package/packages/app-core/src/components/local-inference/HardwareBadge.js +2 -6
  76. package/packages/app-core/src/components/local-inference/LocalInferencePanel.d.ts +0 -3
  77. package/packages/app-core/src/components/local-inference/LocalInferencePanel.d.ts.map +1 -1
  78. package/packages/app-core/src/components/local-inference/LocalInferencePanel.js +8 -12
  79. package/packages/app-core/src/components/pages/AutomationRoomChatPane.d.ts.map +1 -1
  80. package/packages/app-core/src/components/pages/AutomationRoomChatPane.js +18 -2
  81. package/packages/app-core/src/components/pages/AutomationsView.d.ts.map +1 -1
  82. package/packages/app-core/src/components/pages/AutomationsView.js +114 -39
  83. package/packages/app-core/src/components/pages/ChatModalView.js +1 -1
  84. package/packages/app-core/src/components/pages/ChatView.d.ts.map +1 -1
  85. package/packages/app-core/src/components/pages/ChatView.js +3 -1
  86. package/packages/app-core/src/components/pages/ConfigPageView.d.ts.map +1 -1
  87. package/packages/app-core/src/components/pages/ConfigPageView.js +31 -43
  88. package/packages/app-core/src/components/pages/DatabasePageView.js +1 -1
  89. package/packages/app-core/src/components/pages/ElizaCloudDashboard.d.ts +0 -10
  90. package/packages/app-core/src/components/pages/ElizaCloudDashboard.d.ts.map +1 -1
  91. package/packages/app-core/src/components/pages/ElizaCloudDashboard.js +3 -13
  92. package/packages/app-core/src/components/pages/InventoryView.d.ts.map +1 -1
  93. package/packages/app-core/src/components/pages/InventoryView.js +4 -24
  94. package/packages/app-core/src/components/pages/PageScopedChatPane.d.ts.map +1 -1
  95. package/packages/app-core/src/components/pages/PageScopedChatPane.js +10 -1
  96. package/packages/app-core/src/components/pages/RelationshipsGraphPanel.d.ts +3 -3
  97. package/packages/app-core/src/components/pages/RelationshipsGraphPanel.d.ts.map +1 -1
  98. package/packages/app-core/src/components/pages/RelationshipsGraphPanel.js +174 -97
  99. package/packages/app-core/src/components/pages/ReleaseCenterView.d.ts.map +1 -1
  100. package/packages/app-core/src/components/pages/ReleaseCenterView.js +53 -29
  101. package/packages/app-core/src/components/pages/SettingsView.d.ts.map +1 -1
  102. package/packages/app-core/src/components/pages/SettingsView.js +201 -197
  103. package/packages/app-core/src/components/pages/config-page-sections.d.ts +1 -5
  104. package/packages/app-core/src/components/pages/config-page-sections.d.ts.map +1 -1
  105. package/packages/app-core/src/components/pages/config-page-sections.js +9 -18
  106. package/packages/app-core/src/components/pages/page-scoped-conversations.d.ts +1 -1
  107. package/packages/app-core/src/components/pages/page-scoped-conversations.js +5 -5
  108. package/packages/app-core/src/components/pages/relationships/RelationshipsActivityFeed.d.ts.map +1 -1
  109. package/packages/app-core/src/components/pages/relationships/RelationshipsActivityFeed.js +63 -13
  110. package/packages/app-core/src/components/pages/relationships/RelationshipsCandidateMergesPanel.d.ts.map +1 -1
  111. package/packages/app-core/src/components/pages/relationships/RelationshipsCandidateMergesPanel.js +6 -5
  112. package/packages/app-core/src/components/pages/relationships/RelationshipsPersonPanels.d.ts +1 -2
  113. package/packages/app-core/src/components/pages/relationships/RelationshipsPersonPanels.d.ts.map +1 -1
  114. package/packages/app-core/src/components/pages/relationships/RelationshipsPersonPanels.js +35 -28
  115. package/packages/app-core/src/components/pages/relationships/RelationshipsSidebar.d.ts.map +1 -1
  116. package/packages/app-core/src/components/pages/relationships/RelationshipsSidebar.js +5 -4
  117. package/packages/app-core/src/components/pages/relationships/RelationshipsWorkspaceView.d.ts.map +1 -1
  118. package/packages/app-core/src/components/pages/relationships/RelationshipsWorkspaceView.js +40 -28
  119. package/packages/app-core/src/components/pages/relationships/relationships-utils.d.ts +0 -10
  120. package/packages/app-core/src/components/pages/relationships/relationships-utils.d.ts.map +1 -1
  121. package/packages/app-core/src/components/pages/relationships/relationships-utils.js +4 -30
  122. package/packages/app-core/src/components/pages/settings/IdentitySettingsSection.d.ts.map +1 -1
  123. package/packages/app-core/src/components/pages/settings/IdentitySettingsSection.js +5 -15
  124. package/packages/app-core/src/components/permissions/StreamingPermissions.d.ts.map +1 -1
  125. package/packages/app-core/src/components/permissions/StreamingPermissions.js +94 -8
  126. package/packages/app-core/src/components/settings/AppearanceSettingsSection.d.ts +0 -7
  127. package/packages/app-core/src/components/settings/AppearanceSettingsSection.d.ts.map +1 -1
  128. package/packages/app-core/src/components/settings/AppearanceSettingsSection.js +14 -13
  129. package/packages/app-core/src/components/settings/CapabilitiesSection.d.ts.map +1 -1
  130. package/packages/app-core/src/components/settings/CapabilitiesSection.js +87 -21
  131. package/packages/app-core/src/components/settings/PermissionsSection.d.ts.map +1 -1
  132. package/packages/app-core/src/components/settings/PermissionsSection.js +17 -1
  133. package/packages/app-core/src/components/settings/ProviderSwitcher.d.ts +0 -16
  134. package/packages/app-core/src/components/settings/ProviderSwitcher.d.ts.map +1 -1
  135. package/packages/app-core/src/components/settings/ProviderSwitcher.js +100 -32
  136. package/packages/app-core/src/components/settings/SubscriptionStatus.d.ts +0 -8
  137. package/packages/app-core/src/components/settings/SubscriptionStatus.d.ts.map +1 -1
  138. package/packages/app-core/src/components/settings/SubscriptionStatus.js +4 -13
  139. package/packages/app-core/src/components/settings/settings-control-primitives.d.ts +5 -0
  140. package/packages/app-core/src/components/settings/settings-control-primitives.d.ts.map +1 -1
  141. package/packages/app-core/src/components/settings/settings-control-primitives.js +4 -1
  142. package/packages/app-core/src/components/shell/Header.d.ts +2 -1
  143. package/packages/app-core/src/components/shell/Header.d.ts.map +1 -1
  144. package/packages/app-core/src/components/shell/Header.js +5 -3
  145. package/packages/app-core/src/components/workspace/AppWorkspaceChrome.d.ts +3 -1
  146. package/packages/app-core/src/components/workspace/AppWorkspaceChrome.d.ts.map +1 -1
  147. package/packages/app-core/src/components/workspace/AppWorkspaceChrome.js +49 -16
  148. package/packages/app-core/src/config/app-config.d.ts +2 -0
  149. package/packages/app-core/src/config/app-config.d.ts.map +1 -1
  150. package/packages/app-core/src/config/boot-config-store.d.ts +2 -0
  151. package/packages/app-core/src/config/boot-config-store.d.ts.map +1 -1
  152. package/packages/app-core/src/i18n/locales/en.json +18 -11
  153. package/packages/app-core/src/i18n/locales/es.json +0 -2
  154. package/packages/app-core/src/i18n/locales/ko.json +0 -2
  155. package/packages/app-core/src/i18n/locales/pt.json +0 -2
  156. package/packages/app-core/src/i18n/locales/tl.json +0 -2
  157. package/packages/app-core/src/i18n/locales/vi.json +0 -2
  158. package/packages/app-core/src/i18n/locales/zh-CN.json +1 -4
  159. package/packages/app-core/src/shell/DesktopTrayRuntime.d.ts.map +1 -1
  160. package/packages/app-core/src/shell/DesktopTrayRuntime.js +0 -12
  161. package/packages/app-core/src/shell/DetachedShellRoot.d.ts.map +1 -1
  162. package/packages/app-core/src/shell/DetachedShellRoot.js +0 -3
  163. package/packages/app-core/src/state/persistence.d.ts.map +1 -1
  164. package/packages/app-core/src/state/persistence.js +25 -8
  165. package/packages/app-core/src/widgets/registry.d.ts.map +1 -1
  166. package/packages/app-core/src/widgets/registry.js +32 -1
  167. package/packages/shared/src/contracts/lifeops.d.ts +1 -0
  168. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  169. package/packages/typescript/src/features/basic-capabilities/providers/actionState.d.ts.map +1 -1
  170. package/packages/typescript/src/features/basic-capabilities/providers/actionState.js +8 -51
  171. package/packages/typescript/src/features/basic-capabilities/providers/actions.d.ts.map +1 -1
  172. package/packages/typescript/src/features/basic-capabilities/providers/actions.js +2 -2
  173. package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.d.ts.map +1 -1
  174. package/packages/typescript/src/features/basic-capabilities/providers/non-actionable-chatter.js +2 -4
  175. package/packages/typescript/src/features/basic-capabilities/providers/providers.d.ts.map +1 -1
  176. package/packages/typescript/src/features/basic-capabilities/providers/providers.js +2 -2
  177. package/packages/typescript/src/features/knowledge/utils.d.ts.map +1 -1
  178. package/packages/typescript/src/features/knowledge/utils.js +4 -3
  179. package/packages/typescript/src/runtime.d.ts +2 -0
  180. package/packages/typescript/src/runtime.d.ts.map +1 -1
  181. package/packages/typescript/src/runtime.js +80 -0
  182. package/packages/typescript/src/services/message.d.ts +3 -1
  183. package/packages/typescript/src/services/message.d.ts.map +1 -1
  184. package/packages/typescript/src/services/message.js +29 -35
  185. package/packages/typescript/src/utils/action-results.d.ts +33 -0
  186. package/packages/typescript/src/utils/action-results.d.ts.map +1 -0
  187. package/packages/typescript/src/utils/action-results.js +169 -0
  188. package/packages/typescript/src/utils/context-catalog.d.ts.map +1 -1
  189. package/packages/typescript/src/utils/context-catalog.js +11 -0
  190. package/packages/typescript/src/utils/context-routing.d.ts +3 -0
  191. package/packages/typescript/src/utils/context-routing.d.ts.map +1 -1
  192. package/packages/typescript/src/utils/context-routing.js +88 -0
  193. package/packages/typescript/src/utils/message-text.d.ts +5 -0
  194. package/packages/typescript/src/utils/message-text.d.ts.map +1 -0
  195. package/packages/typescript/src/utils/message-text.js +24 -0
  196. package/packages/typescript/src/utils.d.ts +2 -1
  197. package/packages/typescript/src/utils.d.ts.map +1 -1
  198. package/packages/typescript/src/utils.js +2 -1
  199. package/packages/ui/src/components/composites/chat/chat-composer.d.ts.map +1 -1
  200. package/packages/ui/src/components/composites/chat/chat-composer.js +101 -19
  201. package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.d.ts.map +1 -1
  202. package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.js +23 -4
  203. package/packages/ui/src/layouts/workspace-layout/index.d.ts +1 -0
  204. package/packages/ui/src/layouts/workspace-layout/index.d.ts.map +1 -1
  205. package/packages/ui/src/layouts/workspace-layout/index.js +1 -0
  206. package/packages/ui/src/layouts/workspace-layout/workspace-layout.d.ts.map +1 -1
  207. package/packages/ui/src/layouts/workspace-layout/workspace-layout.js +8 -2
  208. package/packages/ui/src/layouts/workspace-layout/workspace-mobile-sidebar-controls.d.ts +13 -0
  209. package/packages/ui/src/layouts/workspace-layout/workspace-mobile-sidebar-controls.d.ts.map +1 -0
  210. package/packages/ui/src/layouts/workspace-layout/workspace-mobile-sidebar-controls.js +5 -0
  211. package/plugins/plugin-imessage/typescript/src/chatdb-reader.d.ts +9 -0
  212. package/plugins/plugin-imessage/typescript/src/chatdb-reader.d.ts.map +1 -1
  213. package/plugins/plugin-imessage/typescript/src/chatdb-reader.js +171 -80
  214. package/plugins/plugin-imessage/typescript/src/index.d.ts +1 -1
  215. package/plugins/plugin-imessage/typescript/src/index.d.ts.map +1 -1
  216. package/plugins/plugin-imessage/typescript/src/service.d.ts +7 -1
  217. package/plugins/plugin-imessage/typescript/src/service.d.ts.map +1 -1
  218. package/plugins/plugin-imessage/typescript/src/service.js +18 -11
  219. package/plugins/plugin-imessage/typescript/src/setup-routes.d.ts +2 -1
  220. package/plugins/plugin-imessage/typescript/src/setup-routes.d.ts.map +1 -1
  221. package/plugins/plugin-imessage/typescript/src/setup-routes.js +55 -2
  222. package/plugins/plugin-imessage/typescript/src/types.d.ts +8 -0
  223. package/plugins/plugin-imessage/typescript/src/types.d.ts.map +1 -1
  224. package/packages/app-core/src/components/music/MusicPlayerGlobal.d.ts +0 -19
  225. package/packages/app-core/src/components/music/MusicPlayerGlobal.d.ts.map +0 -1
  226. package/packages/app-core/src/components/music/MusicPlayerGlobal.js +0 -122
  227. package/packages/app-core/src/components/settings/FeatureTogglesSection.d.ts +0 -21
  228. package/packages/app-core/src/components/settings/FeatureTogglesSection.d.ts.map +0 -1
  229. package/packages/app-core/src/components/settings/FeatureTogglesSection.js +0 -121
  230. package/packages/app-core/src/components/settings/LearnedSkills.d.ts +0 -16
  231. package/packages/app-core/src/components/settings/LearnedSkills.d.ts.map +0 -1
  232. package/packages/app-core/src/components/settings/LearnedSkills.js +0 -90
  233. package/packages/app-core/src/components/settings/MediaSettingsSection.d.ts +0 -11
  234. package/packages/app-core/src/components/settings/MediaSettingsSection.d.ts.map +0 -1
  235. package/packages/app-core/src/components/settings/MediaSettingsSection.js +0 -214
  236. package/packages/app-core/src/components/settings/MusicPlayerSettingsPanel.d.ts +0 -7
  237. package/packages/app-core/src/components/settings/MusicPlayerSettingsPanel.d.ts.map +0 -1
  238. package/packages/app-core/src/components/settings/MusicPlayerSettingsPanel.js +0 -94
  239. package/packages/app-core/src/components/settings/TrainingSettings.d.ts +0 -19
  240. package/packages/app-core/src/components/settings/TrainingSettings.d.ts.map +0 -1
  241. package/packages/app-core/src/components/settings/TrainingSettings.js +0 -184
  242. package/packages/app-core/src/components/settings/media-settings-providers.d.ts +0 -13
  243. package/packages/app-core/src/components/settings/media-settings-providers.d.ts.map +0 -1
  244. package/packages/app-core/src/components/settings/media-settings-providers.js +0 -352
  245. package/packages/app-core/src/components/settings/media-settings-types.d.ts +0 -34
  246. package/packages/app-core/src/components/settings/media-settings-types.d.ts.map +0 -1
  247. package/packages/app-core/src/components/settings/media-settings-types.js +0 -270
@@ -1 +1 @@
1
- {"version":3,"file":"message-fetcher.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/inbox/message-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA6B,MAAM,eAAe,CAAC;AAK9E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,UAAU,EACX,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkBjD,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB,CACtB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC3D;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IACJ,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CAmH3B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CAyC3B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CA4C3B;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CAqC3B"}
1
+ {"version":3,"file":"message-fetcher.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/inbox/message-fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAA6B,MAAM,eAAe,CAAC;AAK9E,OAAO,KAAK,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,uBAAuB,EACvB,UAAU,EACX,MAAM,mCAAmC,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkBjD,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB,CACtB,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,cAAc,CAAC,UAAU,EAAE,GAAG,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,cAAc;IAC7B,mBAAmB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACxD,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,OAAO,CAAC,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CAC3D;AAED,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IACJ,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CAmH3B;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,gBAAgB,EACxB,IAAI,EAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CA0C3B;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CA4C3B;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE;IACJ,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,GACA,OAAO,CAAC,cAAc,EAAE,CAAC,CAqC3B"}
@@ -140,6 +140,7 @@ export async function fetchGmailMessages(source, opts) {
140
140
  id: msg.id || `gmail-${Date.now()}-${results.length}`,
141
141
  source: "gmail",
142
142
  senderName: from,
143
+ senderEmail: msg.fromEmail ?? undefined,
143
144
  channelName: `Email from ${from}`,
144
145
  channelType: "dm",
145
146
  text: msg.snippet || msg.subject || "",
@@ -17,6 +17,8 @@ export interface InboundMessage {
17
17
  xParticipantId?: string;
18
18
  /** Human-readable sender name. */
19
19
  senderName: string;
20
+ /** Sender email when the source provides one. */
21
+ senderEmail?: string;
20
22
  /** Human-readable channel/conversation name. */
21
23
  channelName: string;
22
24
  /** Whether this is a DM or a group chat. */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/inbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAM1C,MAAM,MAAM,oBAAoB,GAC5B,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,aAAa,GACb,QAAQ,CAAC;AAEb,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAEtD,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,cAAc,GACd,cAAc,GACd,SAAS,CAAC;AAMd,MAAM,WAAW,cAAc;IAC7B,sDAAsD;IACtD,EAAE,EAAE,MAAM,CAAC;IACX,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,4CAA4C;IAC5C,WAAW,EAAE,IAAI,GAAG,OAAO,CAAC;IAC5B,yBAAyB;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAMD,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,oBAAoB,CAAC;IACrC,WAAW,EAAE,WAAW,CAAC;IACzB,mBAAmB,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACjD,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,oBAAoB,CAAC;IACrC,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAMD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/inbox/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service-mixin-inbox.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-inbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EAEZ,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,mBAAmB,GAAG,IAAI,CAQ5B;AAgBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,GACZ,mBAAmB,CA6CrB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;CACnC,GACA,YAAY,CAgCd;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,GAC9B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;CAAE,CActD;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,sBAA2B,EACpC,WAAW,CAAC,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB"}
1
+ {"version":3,"file":"service-mixin-inbox.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-inbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,YAAY,EAEZ,mBAAmB,EACpB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAEL,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAMxD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAChC,mBAAmB,GAAG,IAAI,CAQ5B;AAgBD,wBAAgB,cAAc,CAC5B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,mBAAmB,EAC5B,KAAK,EAAE,MAAM,GACZ,mBAAmB,CA8CrB;AAED,wBAAgB,UAAU,CACxB,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,EAAE;IACP,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAC;CACnC,GACA,YAAY,CAgCd;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,sBAAsB,GAC9B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC,mBAAmB,CAAC,CAAA;CAAE,CActD;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,OAAO,GAAE,sBAA2B,EACpC,WAAW,CAAC,EAAE,gBAAgB,EAC9B,SAAS,CAAC,EAAE,cAAc,GACzB,OAAO,CAAC,YAAY,CAAC,CAUvB"}
@@ -45,6 +45,7 @@ export function toInboxMessage(message, channel, index) {
45
45
  sender: {
46
46
  id: senderId ?? `${channel}-${index}`,
47
47
  displayName: message.senderName || "Unknown",
48
+ email: message.senderEmail?.trim().toLowerCase() || null,
48
49
  avatarUrl: null,
49
50
  },
50
51
  subject,
@@ -1117,7 +1117,7 @@
1117
1117
  "gameview.LaunchGpuDiagnostics": "Launch GPU Diagnostics",
1118
1118
  "gameview.LogLoadFailed": "Failed to load logs: {{message}}",
1119
1119
  "gameview.MobileSurfaceChat": "Chat",
1120
- "gameview.MobileSurfaceDashboard": "Dashboard",
1120
+ "gameview.MobileSurfaceDashboard": "Actions",
1121
1121
  "gameview.MobileSurfaceGame": "Game",
1122
1122
  "gameview.NativeGameActionFailed": "Native game action failed.",
1123
1123
  "gameview.NativeGameStateRefreshed": "Native game state refreshed.",
@@ -1548,8 +1548,7 @@
1548
1548
  "messagecontent.Saving": "Saving...",
1549
1549
  "messagecontent.SystemTabLabel": "Plugins > System",
1550
1550
  "messagecontent.ViewJson": "View JSON",
1551
- "musicplayersettings.AudioElementHint": "When a track is playing, use the controls to hear the agent stream (WebM/Opus).",
1552
- "musicplayersettings.Description": "Uses plugin-music-player HTTP routes. Enable Music Library and Music Player in Plugins, then ask the agent to play something for this device guild (default: {{appName}}-desktop).",
1551
+ "musicplayersettings.Description": "Play the current music stream for this agent.",
1553
1552
  "musicplayersettings.NoTrack": "No track is playing.",
1554
1553
  "musicplayersettings.NowPlaying": "Now playing",
1555
1554
  "musicplayersettings.PollFailed": "Could not reach the now-playing endpoint.",
@@ -1977,6 +1976,7 @@
1977
1976
  "providerswitcher.restartRequiredHint": "Some provider changes apply after restart. {{appName}} restarts automatically after save.",
1978
1977
  "providerswitcher.savedRestartingAgent": "Saved. Restarting agent...",
1979
1978
  "providerswitcher.savingRestarting": "Saving & restarting...",
1979
+ "providerswitcher.selectProvider": "Provider",
1980
1980
  "providerswitcher.selectAIProvider": "Select AI provider",
1981
1981
  "providerswitcher.smallModelDescription": "Fast model for simple tasks",
1982
1982
  "providerswitcher.smallModelLabel": "Small Model",
@@ -2163,7 +2163,7 @@
2163
2163
  "settings.appearance.theme": "Theme",
2164
2164
  "settings.browse": "Browse",
2165
2165
  "settings.change": "Change",
2166
- "settings.codingAgentsDescription": "Configure AI task agents for open-ended background work and multi-agent orchestration.",
2166
+ "settings.codingAgentsDescription": "Claude Code, Codex, Gemini, and Aider.",
2167
2167
  "settings.companionAnimateWhenHidden.desc": "When the window or tab is hidden, keep the avatar idling but hide the 3D environment. Uses less GPU than the full scene while the character still moves.",
2168
2168
  "settings.companionAnimateWhenHidden.title": "Animate in background",
2169
2169
  "settings.companionHalfFramerate.always": "Always half",
@@ -2221,25 +2221,33 @@
2221
2221
  "settings.sections.advanced.desc": "Export, import, and dangerous actions",
2222
2222
  "settings.sections.backupReset.desc": "Back up the agent, restore from a backup, or wipe everything and start over",
2223
2223
  "settings.sections.backupReset.label": "Backup & Reset",
2224
- "settings.sections.aimodel.desc": "Cloud providers and local models. Enable any combination — the agent routes each request to the best available.",
2225
- "settings.sections.aimodel.label": "AI Models",
2224
+ "settings.sections.aimodel.desc": "Cloud, local, subscriptions, and direct providers.",
2225
+ "settings.sections.aimodel.label": "Providers",
2226
2226
  "settings.sections.appearance.desc": "Content packs, VRM avatars, backgrounds, and themes",
2227
2227
  "settings.sections.appearance.label": "Appearance",
2228
2228
  "settings.sections.capabilities.browserHint": "Show the Browser tab for agent-controlled web browsing",
2229
2229
  "settings.sections.capabilities.browserLabel": "Enable Browser",
2230
+ "settings.sections.capabilities.browserName": "Browser",
2231
+ "settings.sections.capabilities.computerUseName": "Computer Use",
2230
2232
  "settings.sections.capabilities.desc": "Enable or disable agent capabilities",
2231
2233
  "settings.sections.capabilities.label": "Capabilities",
2232
2234
  "settings.sections.capabilities.walletLabel": "Enable Wallet",
2233
- "settings.sections.cloud.desc": "Cloud agents and resources",
2235
+ "settings.sections.capabilities.walletName": "Wallet",
2236
+ "settings.sections.autoTraining.desc": "Training triggers and thresholds.",
2237
+ "settings.sections.autoTraining.label": "Auto-training",
2238
+ "settings.sections.cloud.desc": "Account, credits, and cloud services.",
2234
2239
  "settings.sections.codingagents.desc": "Agent preferences, models, and permissions",
2235
2240
  "settings.sections.codingagents.label": "Task Agents",
2236
2241
  "settings.sections.connectors.desc": "Connector setup, authentication, and service integrations",
2242
+ "settings.sections.identity.desc": "Name, voice, and system prompt.",
2243
+ "settings.sections.identity.label": "Basics",
2244
+ "settings.identity.systemPromptLabel": "System prompt",
2237
2245
  "settings.sections.learnedSkills.desc": "Skills the agent has drafted or refined from real trajectories",
2238
2246
  "settings.sections.learnedSkills.label": "Learned Skills",
2239
2247
  "settings.sections.lifeops.desc": "Google Calendar and Gmail connection for the active agent.",
2240
2248
  "settings.sections.lifeops.label": "Life Ops",
2241
- "settings.sections.media.desc": "Image, video, and vision providers",
2242
- "settings.sections.media.label": "Media",
2249
+ "settings.sections.localModels.desc": "Download and assign local models.",
2250
+ "settings.sections.localModels.label": "Local Models",
2243
2251
  "settings.sections.permissions.desc": "Capabilities and access control",
2244
2252
  "settings.sections.permissions.label": "Permissions",
2245
2253
  "settings.sections.updates.desc": "Software update settings",
@@ -3126,8 +3134,7 @@
3126
3134
  "lifeopssettings.ownerGithubNotLinked": "LifeOps owner GitHub not linked",
3127
3135
  "lifeopssettings.agentGithubNotLinked": "Agent GitHub not linked",
3128
3136
  "lifeopssettings.accounts": "Accounts",
3129
- "settings.sections.features.label": "Features",
3130
- "settings.sections.features.desc": "Opt in to LifeOps capabilities like flight booking, push, and browser automation.",
3137
+ "lifeopssettings.featuresTitle": "Features",
3131
3138
  "settings.sections.capabilities.computerUseModeOption.fullControl": "Full Control",
3132
3139
  "settings.sections.capabilities.computerUseModeOption.smartApprove": "Smart Approve",
3133
3140
  "settings.sections.capabilities.computerUseModeOption.reviewEveryAction": "Review Every Action",
@@ -2121,8 +2121,6 @@
2121
2121
  "settings.sections.connectors.desc": "Configuración de conectores, autenticación e integraciones de servicios",
2122
2122
  "settings.sections.lifeops.desc": "Conexión de Google Calendar y Gmail para el agente activo.",
2123
2123
  "settings.sections.lifeops.label": "Life Ops",
2124
- "settings.sections.media.desc": "Proveedores de imagen, video y visión",
2125
- "settings.sections.media.label": "Medios",
2126
2124
  "settings.sections.permissions.desc": "Capacidades y control de acceso",
2127
2125
  "settings.sections.permissions.label": "Permisos",
2128
2126
  "settings.sections.updates.desc": "Configuración de actualizaciones de software",
@@ -2121,8 +2121,6 @@
2121
2121
  "settings.sections.connectors.desc": "커넥터 설정, 인증 및 서비스 통합",
2122
2122
  "settings.sections.lifeops.desc": "활성 에이전트를 위한 Google Calendar 및 Gmail 연결",
2123
2123
  "settings.sections.lifeops.label": "Life Ops",
2124
- "settings.sections.media.desc": "이미지, 비디오 및 비전 제공자",
2125
- "settings.sections.media.label": "미디어",
2126
2124
  "settings.sections.permissions.desc": "기능 및 액세스 제어",
2127
2125
  "settings.sections.permissions.label": "권한",
2128
2126
  "settings.sections.updates.desc": "소프트웨어 업데이트 설정",
@@ -2121,8 +2121,6 @@
2121
2121
  "settings.sections.connectors.desc": "Configuração de conectores, autenticação e integrações de serviços",
2122
2122
  "settings.sections.lifeops.desc": "Conexão do Google Calendar e Gmail para o agente ativo.",
2123
2123
  "settings.sections.lifeops.label": "Life Ops",
2124
- "settings.sections.media.desc": "Provedores de imagem, vídeo e visão",
2125
- "settings.sections.media.label": "Mídia",
2126
2124
  "settings.sections.permissions.desc": "Capacidades e controle de acesso",
2127
2125
  "settings.sections.permissions.label": "Permissões",
2128
2126
  "settings.sections.updates.desc": "Configurações de atualização de software",
@@ -2121,8 +2121,6 @@
2121
2121
  "settings.sections.connectors.desc": "Setup ng connector, authentication, at mga integration ng serbisyo",
2122
2122
  "settings.sections.lifeops.desc": "Google Calendar at Gmail connection para sa aktibong agent.",
2123
2123
  "settings.sections.lifeops.label": "Life Ops",
2124
- "settings.sections.media.desc": "Mga provider ng larawan, video, at vision",
2125
- "settings.sections.media.label": "Media",
2126
2124
  "settings.sections.permissions.desc": "Mga kakayahan at access control",
2127
2125
  "settings.sections.permissions.label": "Mga Permiso",
2128
2126
  "settings.sections.updates.desc": "Mga setting ng software update",
@@ -2121,8 +2121,6 @@
2121
2121
  "settings.sections.connectors.desc": "Thiết lập kết nối, xác thực và tích hợp dịch vụ",
2122
2122
  "settings.sections.lifeops.desc": "Kết nối Google Calendar và Gmail cho agent đang hoạt động.",
2123
2123
  "settings.sections.lifeops.label": "Life Ops",
2124
- "settings.sections.media.desc": "Nhà cung cấp ảnh, video, vision",
2125
- "settings.sections.media.label": "Media",
2126
2124
  "settings.sections.permissions.desc": "Khả năng và kiểm soát truy cập",
2127
2125
  "settings.sections.permissions.label": "Quyền",
2128
2126
  "settings.sections.updates.desc": "Cài đặt cập nhật phần mềm",
@@ -2121,8 +2121,6 @@
2121
2121
  "settings.sections.connectors.desc": "连接器设置、身份验证和服务集成",
2122
2122
  "settings.sections.lifeops.desc": "当前代理的 Google Calendar 和 Gmail 连接。",
2123
2123
  "settings.sections.lifeops.label": "LifeOps",
2124
- "settings.sections.media.desc": "图像、视频和视觉提供商",
2125
- "settings.sections.media.label": "媒体",
2126
2124
  "settings.sections.permissions.desc": "功能和访问控制",
2127
2125
  "settings.sections.permissions.label": "权限",
2128
2126
  "settings.sections.updates.desc": "软件更新设置",
@@ -3112,8 +3110,7 @@
3112
3110
  "lifeopssettings.ownerGithubNotLinked": "LifeOps 所有者 GitHub 未关联",
3113
3111
  "lifeopssettings.agentGithubNotLinked": "代理 GitHub 未关联",
3114
3112
  "lifeopssettings.accounts": "账户",
3115
- "settings.sections.features.label": "功能",
3116
- "settings.sections.features.desc": "选择启用 LifeOps 功能,例如机票预订、推送通知和浏览器自动化。",
3113
+ "lifeopssettings.featuresTitle": "功能",
3117
3114
  "settings.sections.capabilities.computerUseModeOption.fullControl": "完全控制",
3118
3115
  "settings.sections.capabilities.computerUseModeOption.smartApprove": "智能批准",
3119
3116
  "settings.sections.capabilities.computerUseModeOption.reviewEveryAction": "逐项审核",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/app-core",
3
- "version": "2.0.0-alpha.344",
3
+ "version": "2.0.0-alpha.345",
4
4
  "description": "Shared application core for elizaOS white-label agent apps.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -469,7 +469,7 @@
469
469
  "@capacitor/preferences": "^8.0.1",
470
470
  "@capacitor/push-notifications": "^8.0.0",
471
471
  "@clack/prompts": "^1.0.0",
472
- "@elizaos/agent": "^2.0.0-alpha.344",
472
+ "@elizaos/agent": "^2.0.0-alpha.345",
473
473
  "@elizaos/app-companion": "^0.0.0",
474
474
  "@elizaos/app-elizamaker": "^0.0.0",
475
475
  "@elizaos/app-lifeops": "^0.0.0",
@@ -478,11 +478,11 @@
478
478
  "@elizaos/app-task-coordinator": "^0.0.0",
479
479
  "@elizaos/app-training": "^0.0.1",
480
480
  "@elizaos/app-vincent": "^0.0.0",
481
- "@elizaos/core": "^2.0.0-alpha.344",
481
+ "@elizaos/core": "^2.0.0-alpha.345",
482
482
  "@elizaos/plugin-browser-bridge": "^0.1.0",
483
483
  "@elizaos/plugin-wechat": "^0.1.0",
484
- "@elizaos/shared": "^2.0.0-alpha.344",
485
- "@elizaos/ui": "^2.0.0-alpha.344",
484
+ "@elizaos/shared": "^2.0.0-alpha.345",
485
+ "@elizaos/ui": "^2.0.0-alpha.345",
486
486
  "@radix-ui/react-checkbox": "^1.3.3",
487
487
  "@radix-ui/react-dialog": "^1.1.15",
488
488
  "@radix-ui/react-dropdown-menu": "^2.1.16",
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-routes.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/conversation-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,OAAO,EAIZ,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA6BvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQ9D,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AA+DhF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,0BAA0B,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjD,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAMD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,sBAAsB,GAC5B,IAAI,CAEN;AAsPD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAqBvE;AASD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,qBAAqB,GAAE,SAAS,MAAM,EAAO,GAC5C,MAAM,CAYR;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,MAAM,EACF,IAAI,CACF,oBAAoB,EACpB,uBAAuB,GAAG,iBAAiB,GAAG,kBAAkB,CACjE,GACD,IAAI,GACJ,SAAS,GACZ,OAAO,CA8BT;AAED,wBAAsB,2CAA2C,CAC/D,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,IAAI,EACZ,qBAAqB,EAAE,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAoElB;AAkMD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAo+BlB"}
1
+ {"version":3,"file":"conversation-routes.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/conversation-routes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,OAAO,EACL,KAAK,YAAY,EAEjB,KAAK,OAAO,EAIZ,KAAK,IAAI,EACV,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AA6BvE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAQ9D,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,mBAAmB,CAAC;AA+DhF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,MAAM,EAAE,WAAW,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,IAAI,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,0BAA0B,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjD,sBAAsB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACpC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7C,qEAAqE;IACrE,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,KAAK,EAAE,sBAAsB,CAAC;CAC/B;AAMD,wBAAgB,gCAAgC,CAC9C,KAAK,EAAE,sBAAsB,GAC5B,IAAI,CAEN;AAsPD,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAqBvE;AASD,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,qBAAqB,GAAE,SAAS,MAAM,EAAO,GAC5C,MAAM,CAYR;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,MAAM,EACF,IAAI,CACF,oBAAoB,EACpB,uBAAuB,GAAG,iBAAiB,GAAG,kBAAkB,CACjE,GACD,IAAI,GACJ,SAAS,GACZ,OAAO,CA8BT;AAED,wBAAsB,2CAA2C,CAC/D,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,IAAI,EACZ,qBAAqB,EAAE,SAAS,MAAM,EAAE,EACxC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,OAAO,CAAC,CAoElB;AAkMD,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,OAAO,CAAC,CA0+BlB"}
@@ -618,46 +618,51 @@ export async function handleConversationRoutes(ctx) {
618
618
  if (!isCanonicalDiscordSource(message.source)) {
619
619
  return;
620
620
  }
621
- const storedSenderProfile = await resolveStoredDiscordEntityProfile(runtime, message.senderEntityId);
622
- if (!message.from && storedSenderProfile?.displayName) {
623
- message.from = storedSenderProfile.displayName;
624
- }
625
- if (!message.fromUserName && storedSenderProfile?.username) {
626
- message.fromUserName = storedSenderProfile.username;
627
- }
628
- if (!message.avatarUrl && storedSenderProfile?.avatarUrl) {
629
- message.avatarUrl = storedSenderProfile.avatarUrl;
630
- }
631
- const messageAuthorProfile = message.rawDiscordChannelId && message.rawDiscordMessageId
632
- ? await resolveDiscordMessageAuthorProfile(runtime, message.rawDiscordChannelId, message.rawDiscordMessageId)
633
- : null;
634
- if (!message.from && messageAuthorProfile?.displayName) {
635
- message.from = messageAuthorProfile.displayName;
636
- }
637
- if (!message.fromUserName && messageAuthorProfile?.username) {
638
- message.fromUserName = messageAuthorProfile.username;
639
- }
640
- if (!message.avatarUrl && messageAuthorProfile?.avatarUrl) {
641
- message.avatarUrl = messageAuthorProfile.avatarUrl;
642
- }
643
- const rawSenderId = message.rawSenderId ??
644
- storedSenderProfile?.rawUserId ??
645
- messageAuthorProfile?.rawUserId;
646
- if (rawSenderId) {
647
- const profile = await resolveDiscordUserProfile(runtime, rawSenderId);
648
- if (profile) {
649
- if (profile.displayName) {
650
- message.from = profile.displayName;
651
- }
652
- if (profile.username) {
653
- message.fromUserName = profile.username;
654
- }
655
- if (profile.avatarUrl) {
656
- message.avatarUrl = profile.avatarUrl;
621
+ try {
622
+ const storedSenderProfile = await resolveStoredDiscordEntityProfile(runtime, message.senderEntityId);
623
+ if (!message.from && storedSenderProfile?.displayName) {
624
+ message.from = storedSenderProfile.displayName;
625
+ }
626
+ if (!message.fromUserName && storedSenderProfile?.username) {
627
+ message.fromUserName = storedSenderProfile.username;
628
+ }
629
+ if (!message.avatarUrl && storedSenderProfile?.avatarUrl) {
630
+ message.avatarUrl = storedSenderProfile.avatarUrl;
631
+ }
632
+ const messageAuthorProfile = message.rawDiscordChannelId && message.rawDiscordMessageId
633
+ ? await resolveDiscordMessageAuthorProfile(runtime, message.rawDiscordChannelId, message.rawDiscordMessageId)
634
+ : null;
635
+ if (!message.from && messageAuthorProfile?.displayName) {
636
+ message.from = messageAuthorProfile.displayName;
637
+ }
638
+ if (!message.fromUserName && messageAuthorProfile?.username) {
639
+ message.fromUserName = messageAuthorProfile.username;
640
+ }
641
+ if (!message.avatarUrl && messageAuthorProfile?.avatarUrl) {
642
+ message.avatarUrl = messageAuthorProfile.avatarUrl;
643
+ }
644
+ const rawSenderId = message.rawSenderId ??
645
+ storedSenderProfile?.rawUserId ??
646
+ messageAuthorProfile?.rawUserId;
647
+ if (rawSenderId) {
648
+ const profile = await resolveDiscordUserProfile(runtime, rawSenderId);
649
+ if (profile) {
650
+ if (profile.displayName) {
651
+ message.from = profile.displayName;
652
+ }
653
+ if (profile.username) {
654
+ message.fromUserName = profile.username;
655
+ }
656
+ if (profile.avatarUrl) {
657
+ message.avatarUrl = profile.avatarUrl;
658
+ }
657
659
  }
658
660
  }
661
+ message.avatarUrl = await cacheDiscordAvatarForRuntime(runtime, message.avatarUrl, rawSenderId);
662
+ }
663
+ catch (err) {
664
+ logger.debug(`[conversations] Failed to enrich Discord message metadata: ${getErrorMessage(err)}`);
659
665
  }
660
- message.avatarUrl = await cacheDiscordAvatarForRuntime(runtime, message.avatarUrl, rawSenderId);
661
666
  }));
662
667
  json(res, {
663
668
  messages: messages.map(({ rawDiscordChannelId: _rawDiscordChannelId, rawDiscordMessageId: _rawDiscordMessageId, rawSenderId: _rawSenderId, senderEntityId: _senderEntityId, ...message }) => message),
@@ -1 +1 @@
1
- {"version":3,"file":"relationships-routes.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/relationships-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,eAAe,CAAC;AAMzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAO9D,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAiFD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,yBAAyB,GAC7B,OAAO,CAAC,OAAO,CAAC,CAyRlB"}
1
+ {"version":3,"file":"relationships-routes.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/relationships-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAQ,MAAM,eAAe,CAAC;AAMzD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAO9D,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB;IACpE,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AAqGD,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,yBAAyB,GAC7B,OAAO,CAAC,OAAO,CAAC,CA+RlB"}
@@ -50,6 +50,21 @@ function asEvidenceRecord(value) {
50
50
  }
51
51
  return {};
52
52
  }
53
+ function parseActivityInteger(value, fallback, options) {
54
+ if (value === null) {
55
+ return fallback;
56
+ }
57
+ if (!/^\d+$/.test(value)) {
58
+ return null;
59
+ }
60
+ const parsed = Number.parseInt(value, 10);
61
+ if (!Number.isFinite(parsed) || parsed < options.min) {
62
+ return null;
63
+ }
64
+ return typeof options.max === "number"
65
+ ? Math.min(parsed, options.max)
66
+ : parsed;
67
+ }
53
68
  export async function handleRelationshipsRoutes(ctx) {
54
69
  const { req, res, method, pathname, json, error, readJsonBody, runtime } = ctx;
55
70
  const isCandidatesRoute = pathname === "/api/relationships/candidates" ||
@@ -229,14 +244,12 @@ export async function handleRelationshipsRoutes(ctx) {
229
244
  return tb - ta;
230
245
  });
231
246
  const activityUrl = new URL(req.url ?? "/api/relationships/activity", "http://localhost");
232
- const limitParam = activityUrl.searchParams.get("limit");
233
- const limit = limitParam
234
- ? Math.min(Number.parseInt(limitParam, 10), 100)
235
- : 50;
236
- const offsetParam = activityUrl.searchParams.get("offset");
237
- const offset = offsetParam
238
- ? Math.max(0, Number.parseInt(offsetParam, 10))
239
- : 0;
247
+ const limit = parseActivityInteger(activityUrl.searchParams.get("limit"), 50, { min: 1, max: 100 });
248
+ const offset = parseActivityInteger(activityUrl.searchParams.get("offset"), 0, { min: 0 });
249
+ if (limit === null || offset === null) {
250
+ error(res, "Invalid relationships activity pagination.", 400);
251
+ return true;
252
+ }
240
253
  json(res, {
241
254
  activity: activity.slice(offset, offset + limit),
242
255
  total: activity.length,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-collector.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/runtime/plugin-collector.ts"],"names":[],"mappings":"AAoDA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErE;AAQD,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsB/D,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBhE,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4ChE,CAAC;AAMF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"plugin-collector.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/runtime/plugin-collector.ts"],"names":[],"mappings":"AAsDA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAErE;AAQD,wDAAwD;AACxD,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsB/D,CAAC;AAEF,yEAAyE;AACzE,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAmBhE,CAAC;AAeF;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CA4ChE,CAAC;AAMF;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * @module plugin-collector
14
14
  */
15
15
  import { resolveElizaCloudTopology, } from "@elizaos/shared/contracts";
16
- import { hasExplicitCanonicalRuntimeConfig, migrateLegacyRuntimeConfig, } from "@elizaos/shared/contracts/onboarding";
16
+ import { hasExplicitCanonicalRuntimeConfig, migrateLegacyRuntimeConfig, resolveDeploymentTargetInConfig, resolveServiceRoutingInConfig, } from "@elizaos/shared/contracts/onboarding";
17
17
  import { CORE_PLUGINS, OPTIONAL_CORE_PLUGINS } from "./core-plugins.js";
18
18
  const OPTIONAL_CORE_PLUGIN_NAMES = new Set(OPTIONAL_CORE_PLUGINS);
19
19
  /**
@@ -97,6 +97,12 @@ export const PROVIDER_PLUGIN_MAP = {
97
97
  ELIZAOS_CLOUD_API_KEY: "@elizaos/plugin-elizacloud",
98
98
  ELIZAOS_CLOUD_ENABLED: "@elizaos/plugin-elizacloud",
99
99
  };
100
+ const LOCAL_MODEL_PROVIDER_PLUGINS = new Set([
101
+ "@elizaos/plugin-ollama",
102
+ "@elizaos/plugin-local-ai",
103
+ ]);
104
+ const REMOTE_MODEL_PROVIDER_PLUGINS = new Set(Object.values(PROVIDER_PLUGIN_MAP).filter((pluginName) => pluginName !== "@elizaos/plugin-elizacloud" &&
105
+ !LOCAL_MODEL_PROVIDER_PLUGINS.has(pluginName)));
100
106
  /**
101
107
  * Optional feature plugins keyed by feature name.
102
108
  *
@@ -159,7 +165,11 @@ export const OPTIONAL_PLUGIN_MAP = {
159
165
  * @internal Exported for testing.
160
166
  */
161
167
  export function collectPluginNames(config, reasons) {
168
+ const legacyLocalOnlyInference = config.cloud?.inferenceMode === "local" ||
169
+ config.cloud?.services?.inference === false;
162
170
  migrateLegacyRuntimeConfig(config);
171
+ const deploymentTarget = resolveDeploymentTargetInConfig(config);
172
+ const serviceRouting = resolveServiceRoutingInConfig(config);
163
173
  const shellPluginDisabled = config.features?.shellEnabled === false;
164
174
  const localEmbeddingsExplicitlyDisabled = (() => {
165
175
  const raw = process.env.ELIZA_DISABLE_LOCAL_EMBEDDINGS;
@@ -172,6 +182,10 @@ export function collectPluginNames(config, reasons) {
172
182
  const hasCanonicalRuntimeConfig = hasExplicitCanonicalRuntimeConfig(config);
173
183
  const isCloudContainer = process.env.ELIZA_CLOUD_PROVISIONED === "1";
174
184
  const cloudExplicitlyDisabled = config.cloud?.enabled === false;
185
+ const localOnlyInference = legacyLocalOnlyInference ||
186
+ (cloudExplicitlyDisabled &&
187
+ deploymentTarget.runtime === "local" &&
188
+ !serviceRouting?.llmText);
175
189
  const cloudPluginRequestedByEnv = !hasCanonicalRuntimeConfig &&
176
190
  !cloudExplicitlyDisabled &&
177
191
  (Boolean(process.env.ELIZAOS_CLOUD_API_KEY?.trim()) ||
@@ -281,17 +295,16 @@ export function collectPluginNames(config, reasons) {
281
295
  }
282
296
  }
283
297
  const applyProviderPrecedence = () => {
284
- // Provider precedence:
285
- // 1) ElizaCloud for inference (when enabled AND inferenceMode is "cloud")
286
- // 2) direct provider plugins (api-key/env based)
287
- //
288
- // When inferenceMode is "byok" or "local", cloud stays loaded for
289
- // RPC/services but direct AI provider plugins are preserved so the
290
- // user's own API keys (e.g. Anthropic) handle model inference.
298
+ if (localOnlyInference) {
299
+ pluginsToLoad.delete("@elizaos/plugin-elizacloud");
300
+ for (const pluginName of REMOTE_MODEL_PROVIDER_PLUGINS) {
301
+ pluginsToLoad.delete(pluginName);
302
+ }
303
+ return;
304
+ }
291
305
  if (cloudEffectivelyEnabled) {
292
306
  pluginsToLoad.add("@elizaos/plugin-elizacloud");
293
307
  if (cloudHandlesInference) {
294
- // Cloud handles ALL model calls — remove direct AI provider plugins.
295
308
  const directProviders = new Set(Object.values(PROVIDER_PLUGIN_MAP));
296
309
  directProviders.delete("@elizaos/plugin-elizacloud");
297
310
  for (const p of directProviders) {
@@ -299,8 +312,6 @@ export function collectPluginNames(config, reasons) {
299
312
  }
300
313
  return;
301
314
  }
302
- // inferenceMode is "byok" or "local" — keep direct provider plugins.
303
- // Cloud plugin stays loaded for non-inference cloud services (RPC, media, etc.)
304
315
  return;
305
316
  }
306
317
  // Cloud is not part of the resolved topology — remove it even though
@@ -1 +1 @@
1
- {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAUH,OAAO,4CAA4C,CAAC;AA0gBpD,wBAAgB,GAAG,4CAgoBlB"}
1
+ {"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../../../src/App.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAYH,OAAO,4CAA4C,CAAC;AA4iBpD,wBAAgB,GAAG,4CA2mBlB"}