@elizaos/ui 2.0.0-alpha.385 → 2.0.0-alpha.392

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 (369) hide show
  1. package/apps/app-companion/src/components/companion/CompanionAppView.d.ts.map +1 -1
  2. package/apps/app-companion/src/components/companion/CompanionAppView.js +6 -4
  3. package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
  4. package/apps/app-companion/src/components/companion/CompanionView.js +6 -4
  5. package/apps/app-lifeops/src/api/client-lifeops.js +6 -0
  6. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +3 -0
  7. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +1 -0
  8. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +189 -0
  9. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +2 -0
  10. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +1 -0
  11. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +1065 -0
  12. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +7 -0
  13. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +1 -0
  14. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +71 -0
  15. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +14 -0
  16. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +1 -0
  17. package/apps/app-lifeops/src/components/DataSourcesStrip.js +36 -0
  18. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +23 -0
  19. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +1 -0
  20. package/apps/app-lifeops/src/components/EventEditorDrawer.js +514 -0
  21. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +2 -0
  22. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +1 -0
  23. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +10 -0
  24. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +15 -0
  25. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +1 -0
  26. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +515 -0
  27. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +34 -0
  28. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +1 -0
  29. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +175 -0
  30. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +2 -0
  31. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +1 -0
  32. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +99 -0
  33. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +37 -0
  34. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +1 -0
  35. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +88 -0
  36. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +13 -0
  37. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +1 -0
  38. package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +490 -0
  39. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +12 -0
  40. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +1 -0
  41. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +92 -0
  42. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +12 -0
  43. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +1 -0
  44. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +160 -0
  45. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +3 -0
  46. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +1 -0
  47. package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +373 -0
  48. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +9 -0
  49. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +1 -0
  50. package/apps/app-lifeops/src/components/LifeOpsNavRail.js +93 -0
  51. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +4 -0
  52. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +1 -0
  53. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +274 -0
  54. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +7 -0
  55. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +1 -0
  56. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +657 -0
  57. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +42 -0
  58. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +1 -0
  59. package/apps/app-lifeops/src/components/LifeOpsPageSections.js +166 -0
  60. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +2 -0
  61. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +1 -0
  62. package/apps/app-lifeops/src/components/LifeOpsPageView.js +566 -0
  63. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +2 -0
  64. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +1 -0
  65. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +749 -0
  66. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +27 -0
  67. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +1 -0
  68. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +106 -0
  69. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +2 -0
  70. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +1 -0
  71. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +373 -0
  72. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +10 -0
  73. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +1 -0
  74. package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +30 -0
  75. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +21 -0
  76. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +1 -0
  77. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +30 -0
  78. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +20 -0
  79. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +1 -0
  80. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +597 -0
  81. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +13 -0
  82. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +1 -0
  83. package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +134 -0
  84. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +10 -0
  85. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +1 -0
  86. package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +425 -0
  87. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +11 -0
  88. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +1 -0
  89. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +49 -0
  90. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +2 -0
  91. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +1 -0
  92. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +1041 -0
  93. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +7 -0
  94. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +1 -0
  95. package/apps/app-lifeops/src/components/MessagingConnectorCards.js +643 -0
  96. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +9 -0
  97. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +1 -0
  98. package/apps/app-lifeops/src/components/MissingSourceCard.js +5 -0
  99. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +2 -0
  100. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +1 -0
  101. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +163 -0
  102. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +8 -0
  103. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +1 -0
  104. package/apps/app-lifeops/src/components/SleepInspectionPanel.js +59 -0
  105. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  106. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  107. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +75 -0
  108. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +8 -0
  109. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +1 -0
  110. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +48 -0
  111. package/apps/app-lifeops/src/components/lifeops-labels.d.ts +2 -0
  112. package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +1 -0
  113. package/apps/app-lifeops/src/components/lifeops-labels.js +5 -0
  114. package/apps/app-lifeops/src/events/index.d.ts +34 -0
  115. package/apps/app-lifeops/src/events/index.d.ts.map +1 -0
  116. package/apps/app-lifeops/src/events/index.js +23 -0
  117. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +28 -0
  118. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +1 -0
  119. package/apps/app-lifeops/src/hooks/useCalendarWeek.js +93 -0
  120. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +14 -0
  121. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +1 -0
  122. package/apps/app-lifeops/src/hooks/useDiscordConnector.js +126 -0
  123. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +29 -0
  124. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  125. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +481 -0
  126. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +10 -0
  127. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +1 -0
  128. package/apps/app-lifeops/src/hooks/useIMessageConnector.js +50 -0
  129. package/apps/app-lifeops/src/hooks/useInbox.d.ts +34 -0
  130. package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +1 -0
  131. package/apps/app-lifeops/src/hooks/useInbox.js +98 -0
  132. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  133. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  134. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +383 -0
  135. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +9 -0
  136. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +1 -0
  137. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +83 -0
  138. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  139. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  140. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  141. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +18 -0
  142. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +1 -0
  143. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +66 -0
  144. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +14 -0
  145. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +1 -0
  146. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +79 -0
  147. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +18 -0
  148. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +1 -0
  149. package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +78 -0
  150. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +14 -0
  151. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  152. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +160 -0
  153. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +16 -0
  154. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +1 -0
  155. package/apps/app-lifeops/src/hooks/useSignalConnector.js +198 -0
  156. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +21 -0
  157. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +1 -0
  158. package/apps/app-lifeops/src/hooks/useTelegramConnector.js +177 -0
  159. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +8 -0
  160. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +1 -0
  161. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +58 -0
  162. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +12 -0
  163. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +1 -0
  164. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +152 -0
  165. package/apps/app-lifeops/src/lifeops/discord-browser-scraper.js +1 -1
  166. package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
  167. package/apps/app-lifeops/src/lifeops/google-gmail.js +74 -26
  168. package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
  169. package/apps/app-lifeops/src/lifeops/google-managed-client.js +4 -5
  170. package/apps/app-lifeops/src/lifeops/google-oauth.d.ts.map +1 -1
  171. package/apps/app-lifeops/src/lifeops/google-oauth.js +2 -2
  172. package/apps/app-lifeops/src/lifeops/owner-profile.d.ts.map +1 -1
  173. package/apps/app-lifeops/src/lifeops/owner-profile.js +1 -1
  174. package/apps/app-lifeops/src/lifeops/paypal-managed-client.d.ts.map +1 -1
  175. package/apps/app-lifeops/src/lifeops/paypal-managed-client.js +4 -5
  176. package/apps/app-lifeops/src/lifeops/plaid-managed-client.d.ts.map +1 -1
  177. package/apps/app-lifeops/src/lifeops/plaid-managed-client.js +4 -5
  178. package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +2 -2
  179. package/apps/app-lifeops/src/lifeops/service-constants.d.ts +1 -0
  180. package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
  181. package/apps/app-lifeops/src/lifeops/service-constants.js +1 -0
  182. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts +1 -1
  183. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
  184. package/apps/app-lifeops/src/lifeops/service-mixin-core.js +2 -1
  185. package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +1 -1
  186. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts +3 -1
  187. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  188. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +42 -13
  189. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
  190. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +3 -2
  191. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
  192. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +1 -1
  193. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
  194. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +3 -3
  195. package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts +1 -1
  196. package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts.map +1 -1
  197. package/apps/app-lifeops/src/lifeops/service-normalize-connector.js +2 -2
  198. package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
  199. package/apps/app-lifeops/src/lifeops/signal-auth.js +6 -3
  200. package/apps/app-lifeops/src/lifeops/telegram-auth.js +1 -1
  201. package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts.map +1 -1
  202. package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.js +31 -6
  203. package/apps/app-lifeops/src/lifeops/twilio.js +1 -1
  204. package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
  205. package/apps/app-lifeops/src/lifeops/x-poster.js +13 -3
  206. package/apps/app-lifeops/src/lifeops-route.d.ts +74 -0
  207. package/apps/app-lifeops/src/lifeops-route.d.ts.map +1 -0
  208. package/apps/app-lifeops/src/lifeops-route.js +204 -0
  209. package/apps/app-lifeops/src/platform/lifeops-github.d.ts +15 -0
  210. package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +1 -0
  211. package/apps/app-lifeops/src/platform/lifeops-github.js +135 -0
  212. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts +2 -2
  213. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts.map +1 -1
  214. package/apps/app-lifeops/src/routes/cloud-features-routes.js +5 -3
  215. package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
  216. package/apps/app-lifeops/src/routes/lifeops-routes.js +15 -3
  217. package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
  218. package/apps/app-lifeops/src/routes/plugin.js +10 -1
  219. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts +1 -1
  220. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts.map +1 -1
  221. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.js +4 -2
  222. package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts +1 -1
  223. package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts.map +1 -1
  224. package/apps/app-lifeops/src/ui.d.ts +11 -0
  225. package/apps/app-lifeops/src/ui.d.ts.map +1 -0
  226. package/apps/app-lifeops/src/ui.js +9 -0
  227. package/apps/app-lifeops/src/utils/lifeops-url.d.ts +5 -0
  228. package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +1 -0
  229. package/apps/app-lifeops/src/utils/lifeops-url.js +35 -0
  230. package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
  231. package/apps/app-lifeops/src/website-blocker/access.js +1 -1
  232. package/apps/app-steward/src/routes/steward-compat-routes.d.ts +1 -1
  233. package/apps/app-steward/src/routes/steward-compat-routes.d.ts.map +1 -1
  234. package/apps/app-steward/src/routes/steward-compat-routes.js +3 -1
  235. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts +1 -1
  236. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts.map +1 -1
  237. package/apps/app-steward/src/routes/wallet-browser-compat-routes.js +3 -1
  238. package/apps/app-steward/src/routes/wallet-bsc-core-routes.d.ts.map +1 -1
  239. package/apps/app-steward/src/routes/wallet-bsc-core-routes.js +2 -1
  240. package/apps/app-steward/src/routes/wallet-compat-routes.d.ts +1 -1
  241. package/apps/app-steward/src/routes/wallet-compat-routes.d.ts.map +1 -1
  242. package/apps/app-steward/src/routes/wallet-compat-routes.js +3 -1
  243. package/apps/app-steward/src/routes/wallet-core-routes.d.ts.map +1 -1
  244. package/apps/app-steward/src/routes/wallet-core-routes.js +2 -1
  245. package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts +1 -1
  246. package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts.map +1 -1
  247. package/apps/app-steward/src/routes/wallet-trade-compat-routes.js +3 -1
  248. package/apps/app-training/src/core/dataset-generator.d.ts +1 -1
  249. package/apps/app-training/src/core/dataset-generator.d.ts.map +1 -1
  250. package/apps/app-training/src/core/roleplay-executor.d.ts +1 -1
  251. package/apps/app-training/src/core/roleplay-executor.d.ts.map +1 -1
  252. package/apps/app-training/src/core/trajectory-task-datasets.d.ts +1 -1
  253. package/apps/app-training/src/core/trajectory-task-datasets.d.ts.map +1 -1
  254. package/apps/app-training/src/index.d.ts +1 -2
  255. package/apps/app-training/src/index.d.ts.map +1 -1
  256. package/apps/app-training/src/index.js +1 -2
  257. package/apps/app-training/src/routes/training-routes.d.ts +1 -1
  258. package/apps/app-training/src/routes/training-routes.d.ts.map +1 -1
  259. package/apps/app-training/src/routes/training-routes.js +1 -1
  260. package/apps/app-training/src/routes/trajectory-routes.d.ts +1 -1
  261. package/apps/app-training/src/routes/trajectory-routes.d.ts.map +1 -1
  262. package/apps/app-training/src/routes/trajectory-routes.js +3 -1
  263. package/apps/app-training/src/services/training-service-like.d.ts +1 -1
  264. package/apps/app-training/src/services/training-service-like.d.ts.map +1 -1
  265. package/apps/app-training/src/services/training-service.d.ts +1 -1
  266. package/apps/app-training/src/services/training-service.d.ts.map +1 -1
  267. package/package.json +1 -1
  268. package/packages/agent/src/api/provider-switch-config.js +1 -1
  269. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
  270. package/packages/agent/src/api/server-helpers-auth.js +5 -4
  271. package/packages/agent/src/providers/media-provider.d.ts +1 -1
  272. package/packages/agent/src/providers/media-provider.d.ts.map +1 -1
  273. package/packages/app-core/src/App.d.ts.map +1 -1
  274. package/packages/app-core/src/App.js +20 -12
  275. package/packages/app-core/src/api/auth.d.ts.map +1 -1
  276. package/packages/app-core/src/api/auth.js +5 -5
  277. package/packages/app-core/src/api/client-types-experience.d.ts +7 -0
  278. package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
  279. package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
  280. package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
  281. package/packages/app-core/src/components/apps/helpers.js +1 -0
  282. package/packages/app-core/src/components/apps/internal-tool-apps.d.ts +11 -0
  283. package/packages/app-core/src/components/apps/internal-tool-apps.d.ts.map +1 -1
  284. package/packages/app-core/src/components/apps/internal-tool-apps.js +31 -0
  285. package/packages/app-core/src/components/apps/launch-history.d.ts +16 -0
  286. package/packages/app-core/src/components/apps/launch-history.d.ts.map +1 -0
  287. package/packages/app-core/src/components/apps/launch-history.js +77 -0
  288. package/packages/app-core/src/components/apps/per-app-config.d.ts +19 -0
  289. package/packages/app-core/src/components/apps/per-app-config.d.ts.map +1 -0
  290. package/packages/app-core/src/components/apps/per-app-config.js +99 -0
  291. package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts +14 -0
  292. package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts.map +1 -0
  293. package/packages/app-core/src/components/apps/useRegistryCatalog.js +52 -0
  294. package/packages/app-core/src/components/auth/LoginView.d.ts +1 -19
  295. package/packages/app-core/src/components/auth/LoginView.d.ts.map +1 -1
  296. package/packages/app-core/src/components/auth/LoginView.js +4 -99
  297. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
  298. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +14 -2
  299. package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
  300. package/packages/app-core/src/components/character/character-hub-helpers.js +7 -0
  301. package/packages/app-core/src/components/character/character-hub-types.d.ts +7 -0
  302. package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
  303. package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
  304. package/packages/app-core/src/components/onboarding/BootstrapStep.js +3 -2
  305. package/packages/app-core/src/components/pages/AppDetailsView.d.ts +36 -0
  306. package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -0
  307. package/packages/app-core/src/components/pages/AppDetailsView.js +289 -0
  308. package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
  309. package/packages/app-core/src/components/pages/AppsView.js +134 -42
  310. package/packages/app-core/src/components/shell/StartupShell.d.ts.map +1 -1
  311. package/packages/app-core/src/components/shell/StartupShell.js +2 -5
  312. package/packages/app-core/src/i18n/locales/en.json +256 -205
  313. package/packages/app-core/src/i18n/locales/es.json +256 -205
  314. package/packages/app-core/src/i18n/locales/ko.json +256 -205
  315. package/packages/app-core/src/i18n/locales/pt.json +256 -205
  316. package/packages/app-core/src/i18n/locales/tl.json +256 -205
  317. package/packages/app-core/src/i18n/locales/vi.json +256 -205
  318. package/packages/app-core/src/i18n/locales/zh-CN.json +256 -205
  319. package/packages/app-core/src/navigation/index.d.ts.map +1 -1
  320. package/packages/app-core/src/navigation/index.js +6 -0
  321. package/packages/app-core/src/shell/AppWindowRenderer.d.ts +17 -0
  322. package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -0
  323. package/packages/app-core/src/shell/AppWindowRenderer.js +337 -0
  324. package/packages/app-core/src/shell/DetachedShellRoot.js +4 -1
  325. package/packages/app-core/src/shell/index.d.ts +1 -0
  326. package/packages/app-core/src/shell/index.d.ts.map +1 -1
  327. package/packages/app-core/src/shell/index.js +1 -0
  328. package/packages/app-core/src/state/startup-coordinator.d.ts.map +1 -1
  329. package/packages/app-core/src/state/startup-coordinator.js +0 -3
  330. package/packages/app-core/src/state/startup-phase-poll.d.ts.map +1 -1
  331. package/packages/app-core/src/state/startup-phase-poll.js +2 -4
  332. package/packages/app-core/src/state/usePluginsSkillsState.d.ts +6 -6
  333. package/packages/native-plugins/mobile-signals/src/definitions.d.ts +162 -0
  334. package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +1 -0
  335. package/packages/native-plugins/mobile-signals/src/definitions.js +1 -0
  336. package/packages/native-plugins/mobile-signals/src/index.d.ts +4 -0
  337. package/packages/native-plugins/mobile-signals/src/index.d.ts.map +1 -0
  338. package/packages/native-plugins/mobile-signals/src/index.js +6 -0
  339. package/packages/native-plugins/mobile-signals/src/web.d.ts +29 -0
  340. package/packages/native-plugins/mobile-signals/src/web.d.ts.map +1 -0
  341. package/packages/native-plugins/mobile-signals/src/web.js +269 -0
  342. package/packages/shared/src/app-hero-art.d.ts.map +1 -1
  343. package/packages/shared/src/app-hero-art.js +13 -0
  344. package/packages/shared/src/contracts/lifeops.d.ts +10 -0
  345. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  346. package/packages/shared/src/contracts/lifeops.js +5 -0
  347. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.d.ts.map +1 -1
  348. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.js +46 -4
  349. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.d.ts.map +1 -1
  350. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.js +34 -124
  351. package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
  352. package/packages/typescript/src/features/advanced-capabilities/experience/service.js +56 -0
  353. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +7 -0
  354. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
  355. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +7 -0
  356. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -0
  357. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +123 -0
  358. package/apps/app-training/src/ui/FineTuningView.d.ts +0 -5
  359. package/apps/app-training/src/ui/FineTuningView.d.ts.map +0 -1
  360. package/apps/app-training/src/ui/FineTuningView.js +0 -388
  361. package/apps/app-training/src/ui/fine-tuning-panels.d.ts +0 -111
  362. package/apps/app-training/src/ui/fine-tuning-panels.d.ts.map +0 -1
  363. package/apps/app-training/src/ui/fine-tuning-panels.js +0 -130
  364. package/apps/app-training/src/ui/index.d.ts +0 -3
  365. package/apps/app-training/src/ui/index.d.ts.map +0 -1
  366. package/apps/app-training/src/ui/index.js +0 -2
  367. package/packages/app-core/src/api/trusted-local-request.d.ts +0 -4
  368. package/packages/app-core/src/api/trusted-local-request.d.ts.map +0 -1
  369. package/packages/app-core/src/api/trusted-local-request.js +0 -176
@@ -1,130 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { formatTime, } from "@elizaos/app-core";
3
- import { Button, Select, SelectContent, SelectItem, SelectValue, SettingsControls } from "@elizaos/ui";
4
- /* ── Constants ─────────────────────────────────────────────────────── */
5
- export const TRAINING_EVENT_KINDS = new Set([
6
- "job_started",
7
- "job_progress",
8
- "job_log",
9
- "job_completed",
10
- "job_failed",
11
- "job_cancelled",
12
- "dataset_built",
13
- "model_activated",
14
- "model_imported",
15
- ]);
16
- export const FINE_TUNING_PAGE_CLASS = "space-y-6 pb-8";
17
- export const FINE_TUNING_SECTION_CLASS = "rounded-2xl border border-border/60 bg-card/70 p-5 shadow-sm ring-1 ring-border/15";
18
- export const FINE_TUNING_SECTION_HEADER_CLASS = "mb-4 flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between";
19
- export const FINE_TUNING_SECTION_KICKER_CLASS = "text-xs-tight font-semibold uppercase tracking-[0.16em] text-muted/70";
20
- export const FINE_TUNING_PANEL_CLASS = "rounded-2xl border border-border/45 bg-bg/20 shadow-sm";
21
- export const FINE_TUNING_PANEL_HEADER_CLASS = "px-3 py-2 text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70";
22
- export const FINE_TUNING_ACTION_CLASS = "h-10 rounded-xl px-3 text-xs shadow-sm hover:border-accent disabled:opacity-50";
23
- export const FINE_TUNING_STATUS_CARD_CLASS = "rounded-xl border border-border/35 bg-bg/30 px-3 py-3 shadow-sm";
24
- /* ── Formatting helpers ────────────────────────────────────────────── */
25
- export function formatDate(value) {
26
- if (!value)
27
- return "\u2014";
28
- const parsed = new Date(value);
29
- if (Number.isNaN(parsed.getTime()))
30
- return value;
31
- return parsed.toLocaleString();
32
- }
33
- export function formatProgress(value) {
34
- const bounded = Math.max(0, Math.min(1, value));
35
- return `${Math.round(bounded * 100)}%`;
36
- }
37
- /* ── Event parsing ─────────────────────────────────────────────────── */
38
- export function asTrainingEvent(envelope) {
39
- if (envelope.type !== "training_event")
40
- return null;
41
- const payloadValue = envelope.payload;
42
- if (!payloadValue || typeof payloadValue !== "object")
43
- return null;
44
- const payload = payloadValue;
45
- if (typeof payload.kind !== "string")
46
- return null;
47
- if (!TRAINING_EVENT_KINDS.has(payload.kind)) {
48
- return null;
49
- }
50
- if (typeof payload.ts !== "number")
51
- return null;
52
- if (typeof payload.message !== "string")
53
- return null;
54
- return {
55
- kind: payload.kind,
56
- ts: payload.ts,
57
- message: payload.message,
58
- jobId: typeof payload.jobId === "string" ? payload.jobId : undefined,
59
- modelId: typeof payload.modelId === "string" ? payload.modelId : undefined,
60
- datasetId: typeof payload.datasetId === "string" ? payload.datasetId : undefined,
61
- progress: typeof payload.progress === "number" ? payload.progress : undefined,
62
- phase: typeof payload.phase === "string" ? payload.phase : undefined,
63
- };
64
- }
65
- /* ── Availability summary ──────────────────────────────────────────── */
66
- export function summarizeAvailability(reason, t) {
67
- if (!reason)
68
- return t("finetuningview.Unavailable");
69
- if (reason === "runtime_not_started") {
70
- return t("finetuningview.RuntimeNotStarted");
71
- }
72
- if (reason === "trajectories_table_missing") {
73
- return t("finetuningview.NoTrajectoriesTableFound");
74
- }
75
- return reason;
76
- }
77
- /* ── Trajectories Section ──────────────────────────────────────────── */
78
- export function TrajectoriesSection({ trajectoryList, selectedTrajectory, trajectoryLoading, onRefresh, onSelectTrajectory, t, }) {
79
- return (_jsxs("section", { className: FINE_TUNING_SECTION_CLASS, children: [_jsxs("div", { className: FINE_TUNING_SECTION_HEADER_CLASS, children: [_jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: FINE_TUNING_SECTION_KICKER_CLASS, children: t("finetuningview.DataReview") }), _jsx("div", { className: "text-lg font-semibold text-txt", children: t("finetuningview.Trajectories") })] }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, onClick: onRefresh, children: t("common.refresh") })] }), !trajectoryList.available ? (_jsx("div", { className: `${FINE_TUNING_PANEL_CLASS} px-4 py-4 text-sm text-muted`, children: summarizeAvailability(trajectoryList.reason, t) })) : (_jsxs("div", { className: "space-y-3", children: [_jsxs("div", { className: "text-xs text-muted", children: [trajectoryList.total, " ", t("finetuningview.trajectoryRowsAvai")] }), _jsxs("div", { className: "grid grid-cols-1 gap-4 xl:grid-cols-2", children: [_jsxs("div", { className: FINE_TUNING_PANEL_CLASS, children: [_jsx("div", { className: FINE_TUNING_PANEL_HEADER_CLASS, children: t("finetuningview.LatestTrajectories") }), _jsx("div", { className: "max-h-72 overflow-auto", children: trajectoryList.trajectories.length === 0 ? (_jsx("div", { className: "p-3 text-xs text-muted", children: t("finetuningview.NoTrajectoriesFoun") })) : (trajectoryList.trajectories.map((trajectory) => (_jsxs(Button, { variant: "ghost", className: "w-full justify-start rounded-none px-3 py-3 text-left text-xs hover:bg-bg-hover", onClick: () => onSelectTrajectory(trajectory.trajectoryId), children: [_jsx("div", { className: "font-mono", children: trajectory.trajectoryId }), _jsxs("div", { className: "text-muted mt-1", children: [t("finetuningview.Calls"), " ", trajectory.llmCallCount, " ", t("finetuningview.Reward"), " ", trajectory.totalReward ?? "n/a", " \u00B7", " ", formatDate(trajectory.createdAt)] })] }, trajectory.trajectoryId)))) })] }), _jsxs("div", { className: `${FINE_TUNING_PANEL_CLASS} p-3`, children: [_jsx("div", { className: "mb-2 text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.SelectedTrajectory") }), trajectoryLoading ? (_jsx("div", { className: "text-xs text-muted", children: t("finetuningview.LoadingTrajectoryD") })) : !selectedTrajectory ? (_jsx("div", { className: "text-xs text-muted", children: t("finetuningview.ChooseATrajectory") })) : (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "text-xs", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.Trajectory") }), " ", _jsx("span", { className: "font-mono", children: selectedTrajectory.trajectoryId })] }), _jsxs("div", { className: "text-xs", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.Agent") }), " ", _jsx("span", { className: "font-mono", children: selectedTrajectory.agentId })] }), _jsxs("div", { className: "text-xs", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.Reward1") }), " ", selectedTrajectory.totalReward ?? "n/a"] }), _jsx(SettingsControls.Textarea, { readOnly: true, value: selectedTrajectory.stepsJson, className: "min-h-56" })] }))] })] })] }))] }));
80
- }
81
- /* ── Dataset Section ───────────────────────────────────────────────── */
82
- export function DatasetSection({ buildLimit, setBuildLimit, buildMinCalls, setBuildMinCalls, datasetBuilding, datasets, selectedDatasetId, setSelectedDatasetId, onBuildDataset, onRefreshDatasets, t, }) {
83
- return (_jsxs("section", { className: FINE_TUNING_SECTION_CLASS, children: [_jsx("div", { className: FINE_TUNING_SECTION_HEADER_CLASS, children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: FINE_TUNING_SECTION_KICKER_CLASS, children: t("finetuningview.DatasetBuild") }), _jsx("div", { className: "text-lg font-semibold text-txt", children: t("finetuningview.Datasets1") })] }) }), _jsxs("div", { className: "mb-3 grid grid-cols-1 gap-2 md:grid-cols-4", children: [_jsx(SettingsControls.Input, { variant: "filter", value: buildLimit, onChange: (event) => setBuildLimit(event.target.value), placeholder: t("finetuningview.LimitTrajectories") }), _jsx(SettingsControls.Input, { variant: "filter", value: buildMinCalls, onChange: (event) => setBuildMinCalls(event.target.value), placeholder: t("finetuningview.MinLLMCallsPerTr") }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, disabled: datasetBuilding, onClick: onBuildDataset, children: datasetBuilding
84
- ? t("finetuningview.Building")
85
- : t("finetuningview.BuildDataset") }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, onClick: onRefreshDatasets, children: t("finetuningview.RefreshDatasets") })] }), _jsx("div", { className: `${FINE_TUNING_PANEL_CLASS} max-h-60 overflow-auto p-3`, children: datasets.length === 0 ? (_jsx("div", { className: "text-sm text-muted", children: t("finetuningview.NoDatasetsYet") })) : (_jsx("div", { className: "space-y-2", children: datasets.map((dataset) => (_jsxs("label", { className: "flex min-h-touch cursor-pointer items-center gap-3 rounded-xl border border-border/35 bg-bg/20 px-3 py-3 text-sm transition-colors hover:border-border/55 hover:bg-bg/35", children: [_jsx("input", { type: "radio", name: "dataset-select", checked: selectedDatasetId === dataset.id, onChange: () => setSelectedDatasetId(dataset.id) }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "font-mono text-sm text-txt", children: dataset.id }), _jsxs("div", { className: "mt-1 text-xs text-muted", children: [dataset.sampleCount, " ", t("finetuningview.samples"), " ", dataset.trajectoryCount, " ", t("finetuningview.trajectories")] })] })] }, dataset.id))) })) })] }));
86
- }
87
- /* ── Jobs Section ──────────────────────────────────────────────────── */
88
- export function TrainingJobsSection({ selectedDatasetId, setSelectedDatasetId, datasets, startBackend, setStartBackend, startModel, setStartModel, startIterations, setStartIterations, startBatchSize, setStartBatchSize, startLearningRate, setStartLearningRate, startingJob, activeRunningJob, jobs, selectedJobId, setSelectedJobId, cancellingJobId, selectedJob, onStartJob, onRefreshJobs, onCancelJob, t, }) {
89
- return (_jsxs("section", { className: FINE_TUNING_SECTION_CLASS, children: [_jsx("div", { className: FINE_TUNING_SECTION_HEADER_CLASS, children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: FINE_TUNING_SECTION_KICKER_CLASS, children: t("finetuningview.Training") }), _jsx("div", { className: "text-lg font-semibold text-txt", children: t("finetuningview.TrainingJobs") })] }) }), _jsxs("div", { className: "mb-3 grid grid-cols-1 gap-2 md:grid-cols-3", children: [_jsxs(Select, { value: selectedDatasetId, onValueChange: (value) => setSelectedDatasetId(value), children: [_jsx(SettingsControls.SelectTrigger, { variant: "toolbar", children: _jsx(SelectValue, { placeholder: t("finetuningview.AutoBuildDatasetF") }) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "__auto__", children: t("finetuningview.AutoBuildDatasetF") }), datasets
90
- .filter((dataset) => dataset.id)
91
- .map((dataset) => (_jsx(SelectItem, { value: dataset.id, children: dataset.id }, dataset.id)))] })] }), _jsxs(Select, { value: startBackend, onValueChange: (value) => setStartBackend(value), children: [_jsx(SettingsControls.SelectTrigger, { variant: "toolbar", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "cpu", children: t("finetuningview.cpu") }), _jsx(SelectItem, { value: "mlx", children: t("finetuningview.mlx") }), _jsx(SelectItem, { value: "cuda", children: t("finetuningview.cuda") })] })] }), _jsx(SettingsControls.Input, { variant: "filter", value: startModel, onChange: (event) => setStartModel(event.target.value), placeholder: t("finetuningview.BaseModelOptional") }), _jsx(SettingsControls.Input, { variant: "filter", value: startIterations, onChange: (event) => setStartIterations(event.target.value), placeholder: t("finetuningview.IterationsOptional") }), _jsx(SettingsControls.Input, { variant: "filter", value: startBatchSize, onChange: (event) => setStartBatchSize(event.target.value), placeholder: t("finetuningview.BatchSizeOptional") }), _jsx(SettingsControls.Input, { variant: "filter", value: startLearningRate, onChange: (event) => setStartLearningRate(event.target.value), placeholder: t("finetuningview.LearningRateOptio") })] }), _jsxs("div", { className: "mb-3 flex flex-wrap items-center gap-2", children: [_jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, disabled: startingJob || Boolean(activeRunningJob), onClick: onStartJob, children: startingJob
92
- ? t("finetuningview.Starting")
93
- : t("finetuningview.StartTrainingJob") }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, onClick: onRefreshJobs, children: t("finetuningview.RefreshJobs") }), activeRunningJob && (_jsxs("div", { className: "rounded-full border border-warn/30 bg-warn/10 px-3 py-2 text-xs text-warn", children: [t("finetuningview.ActiveJob"), " ", _jsx("span", { className: "ml-1 font-mono", children: activeRunningJob.id })] }))] }), _jsxs("div", { className: "grid grid-cols-1 gap-4 xl:grid-cols-2", children: [_jsx("div", { className: `${FINE_TUNING_PANEL_CLASS} max-h-72 overflow-auto`, children: jobs.length === 0 ? (_jsx("div", { className: "p-4 text-sm text-muted", children: t("finetuningview.NoJobsYet") })) : (jobs.map((job) => (_jsxs("div", { className: `px-3 py-3 text-sm ${selectedJobId === job.id ? "bg-bg-hover" : ""}`, children: [_jsxs("div", { className: "flex items-center justify-between gap-2", children: [_jsx(Button, { variant: "link", className: "h-auto w-auto justify-start p-0 text-left font-mono text-sm", onClick: () => setSelectedJobId(job.id), children: job.id }), (job.status === "running" || job.status === "queued") && (_jsx(Button, { variant: "outline", size: "sm", className: "h-8 rounded-xl border-danger/35 px-3 text-xs-tight text-danger shadow-sm hover:border-danger hover:bg-danger/10 disabled:opacity-50", disabled: cancellingJobId === job.id, onClick: () => onCancelJob(job.id), children: cancellingJobId === job.id
94
- ? t("finetuningview.Cancelling")
95
- : t("finetuningview.Cancel") }))] }), _jsxs("div", { className: "mt-1 text-xs text-muted", children: [job.status, " \u00B7 ", formatProgress(job.progress), " \u00B7 ", job.phase] }), _jsx("div", { className: "text-xs text-muted", children: formatDate(job.createdAt) })] }, job.id)))) }), _jsxs("div", { className: `${FINE_TUNING_PANEL_CLASS} p-3`, children: [_jsx("div", { className: "mb-2 text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.SelectedJobLogs") }), _jsx(SelectedJobPanel, { selectedJob: selectedJob, t: t })] })] })] }));
96
- }
97
- /* ── Trained Models Section ───────────────────────────────────────── */
98
- export function TrainedModelsSection({ activateProviderModel, importBaseModel, importModelName, importOllamaUrl, modelAction, models, onActivate, onBenchmark, onImport, onSmokeTest, selectedModel, selectedModelId, setActivateProviderModel, setImportBaseModel, setImportModelName, setImportOllamaUrl, setSelectedModelId, smokeResult, t, }) {
99
- return (_jsxs("section", { className: FINE_TUNING_SECTION_CLASS, children: [_jsx("div", { className: FINE_TUNING_SECTION_HEADER_CLASS, children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: FINE_TUNING_SECTION_KICKER_CLASS, children: t("finetuningview.ModelOps") }), _jsx("div", { className: "text-lg font-semibold text-txt", children: t("finetuningview.TrainedModels") })] }) }), _jsxs("div", { className: "grid grid-cols-1 gap-4 xl:grid-cols-2", children: [_jsx("div", { className: `${FINE_TUNING_PANEL_CLASS} max-h-72 overflow-auto`, children: models.length === 0 ? (_jsx("div", { className: "p-4 text-sm text-muted", children: t("finetuningview.NoTrainedModelsYe") })) : (models.map((model) => (_jsxs(Button, { variant: "ghost", className: `w-full justify-start rounded-none px-3 py-3 text-left text-sm ${selectedModelId === model.id
100
- ? "bg-bg-hover"
101
- : "hover:bg-bg-hover"}`, onClick: () => setSelectedModelId(model.id), children: [_jsxs("div", { className: "font-mono", children: [model.id, " ", model.active ? t("finetuningview.ActiveIndicator") : ""] }), _jsxs("div", { className: "mt-1 text-xs text-muted", children: [t("finetuningview.backend"), " ", model.backend, model.ollamaModel ? ` · ollama: ${model.ollamaModel}` : ""] }), _jsxs("div", { className: "text-xs text-muted", children: [t("finetuningview.benchmark"), " ", model.benchmark.status, model.benchmark.lastRunAt
102
- ? ` · ${formatDate(model.benchmark.lastRunAt)}`
103
- : ""] })] }, model.id)))) }), _jsxs("div", { className: `${FINE_TUNING_PANEL_CLASS} p-3`, children: [_jsx("div", { className: "mb-2 text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.ModelActions") }), _jsx(SelectedModelPanel, { selectedModel: selectedModel, importModelName: importModelName, setImportModelName: setImportModelName, importBaseModel: importBaseModel, setImportBaseModel: setImportBaseModel, importOllamaUrl: importOllamaUrl, setImportOllamaUrl: setImportOllamaUrl, activateProviderModel: activateProviderModel, setActivateProviderModel: setActivateProviderModel, modelAction: modelAction, smokeResult: smokeResult, onImport: onImport, onActivate: onActivate, onBenchmark: onBenchmark, onSmokeTest: onSmokeTest, t: t })] })] })] }));
104
- }
105
- /* ── Live Events Panel ─────────────────────────────────────────────── */
106
- export function LiveEventsPanel({ events, t, }) {
107
- return (_jsxs("section", { className: FINE_TUNING_SECTION_CLASS, children: [_jsx("div", { className: FINE_TUNING_SECTION_HEADER_CLASS, children: _jsxs("div", { className: "space-y-1", children: [_jsx("div", { className: FINE_TUNING_SECTION_KICKER_CLASS, children: t("finetuningview.Streaming") }), _jsx("div", { className: "text-lg font-semibold text-txt", children: t("finetuningview.LiveTrainingEvents") })] }) }), _jsx("div", { className: `${FINE_TUNING_PANEL_CLASS} max-h-56 overflow-auto`, children: events.length === 0 ? (_jsx("div", { className: "p-4 text-sm text-muted", children: t("finetuningview.NoLiveEventsYet") })) : (events.map((event) => (_jsxs("div", { className: "px-3 py-2 text-sm", children: [_jsx("span", { className: "mr-2 font-mono text-xs text-muted", children: formatTime(event.ts, { fallback: "\u2014" }) }), _jsx("span", { className: "font-semibold", children: event.kind }), typeof event.progress === "number" && (_jsxs("span", { className: "text-muted", children: [" ", "\u00B7 ", formatProgress(event.progress)] })), event.phase && (_jsxs("span", { className: "text-muted", children: [" \u00B7 ", event.phase] })), _jsx("div", { className: "mt-0.5 text-xs text-muted", children: event.message })] }, `${event.ts}-${event.kind}-${String(event.message ?? "")}`)))) })] }));
108
- }
109
- /* ── Selected Job Detail Panel ─────────────────────────────────────── */
110
- export function SelectedJobPanel({ selectedJob, t, }) {
111
- if (!selectedJob) {
112
- return (_jsx("div", { className: "text-sm text-muted", children: t("finetuningview.SelectAJobToInsp") }));
113
- }
114
- return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "text-sm", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.Status1") }), " ", selectedJob.status, " \u00B7 ", formatProgress(selectedJob.progress), " \u00B7", " ", selectedJob.phase] }), _jsxs("div", { className: "text-sm", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.Dataset") }), " ", _jsx("span", { className: "font-mono", children: selectedJob.datasetId })] }), _jsx(SettingsControls.Textarea, { readOnly: true, value: selectedJob.logs.join("\n"), className: "min-h-56" })] }));
115
- }
116
- /* ── Selected Model Actions Panel ──────────────────────────────────── */
117
- export function SelectedModelPanel({ selectedModel, importModelName, setImportModelName, importBaseModel, setImportBaseModel, importOllamaUrl, setImportOllamaUrl, activateProviderModel, setActivateProviderModel, modelAction, smokeResult, onImport, onActivate, onBenchmark, onSmokeTest, t, }) {
118
- if (!selectedModel) {
119
- return (_jsx("div", { className: "text-sm text-muted", children: t("finetuningview.SelectAModelToIm") }));
120
- }
121
- return (_jsxs("div", { className: "space-y-2", children: [_jsxs("div", { className: "text-sm", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.Model") }), " ", _jsx("span", { className: "font-mono", children: selectedModel.id })] }), _jsxs("div", { className: "text-sm", children: [_jsx("span", { className: "font-semibold", children: t("finetuningview.AdapterPath") }), " ", _jsx("span", { className: "font-mono", children: selectedModel.adapterPath ?? "n/a" })] }), _jsx(SettingsControls.Input, { variant: "filter", value: importModelName, onChange: (event) => setImportModelName(event.target.value), placeholder: t("finetuningview.OllamaModelNameO") }), _jsx(SettingsControls.Input, { variant: "filter", value: importBaseModel, onChange: (event) => setImportBaseModel(event.target.value), placeholder: t("finetuningview.BaseModelForOllam") }), _jsx(SettingsControls.Input, { variant: "filter", value: importOllamaUrl, onChange: (event) => setImportOllamaUrl(event.target.value), placeholder: t("finetuningview.OllamaURL") }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, disabled: modelAction === `import:${selectedModel.id}`, onClick: onImport, children: modelAction === `import:${selectedModel.id}`
122
- ? t("finetuningview.Importing")
123
- : t("finetuningview.ImportToOllama") }), _jsx(SettingsControls.Input, { variant: "filter", value: activateProviderModel, onChange: (event) => setActivateProviderModel(event.target.value), placeholder: t("finetuningview.ProviderModelEG") }), _jsxs("div", { className: "flex flex-wrap gap-2", children: [_jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, disabled: modelAction === `activate:${selectedModel.id}`, onClick: onActivate, children: modelAction === `activate:${selectedModel.id}`
124
- ? t("finetuningview.Activating")
125
- : t("finetuningview.ActivateModel") }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, disabled: modelAction === `benchmark:${selectedModel.id}`, onClick: onBenchmark, children: modelAction === `benchmark:${selectedModel.id}`
126
- ? t("finetuningview.Benchmarking")
127
- : t("finetuningview.BenchmarkAction") }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, disabled: modelAction === `smoke:${selectedModel.id}`, onClick: onSmokeTest, children: modelAction === `smoke:${selectedModel.id}`
128
- ? t("finetuningview.Testing")
129
- : t("finetuningview.RunSmokePrompt") })] }), smokeResult && (_jsx(SettingsControls.Textarea, { readOnly: true, value: smokeResult, className: "min-h-24" }))] }));
130
- }
@@ -1,3 +0,0 @@
1
- export * from "./FineTuningView";
2
- export * from "./fine-tuning-panels";
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-training/src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC"}
@@ -1,2 +0,0 @@
1
- export * from "./FineTuningView";
2
- export * from "./fine-tuning-panels";
@@ -1,4 +0,0 @@
1
- import type http from "node:http";
2
- export declare function isLoopbackRemoteAddress(remoteAddress: string | null | undefined): boolean;
3
- export declare function isTrustedLocalRequest(req: Pick<http.IncomingMessage, "headers" | "socket">): boolean;
4
- //# sourceMappingURL=trusted-local-request.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"trusted-local-request.d.ts","sourceRoot":"","sources":["../../../../../../app-core/src/api/trusted-local-request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAIlC,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACvC,OAAO,CAUT;AA4KD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,QAAQ,CAAC,GACpD,OAAO,CAoBT"}
@@ -1,176 +0,0 @@
1
- import { isIP } from "node:net";
2
- import { isLoopbackBindHost } from "@elizaos/shared";
3
- export function isLoopbackRemoteAddress(remoteAddress) {
4
- if (!remoteAddress)
5
- return false;
6
- const normalized = remoteAddress.trim().toLowerCase();
7
- return (normalized === "127.0.0.1" ||
8
- normalized === "::1" ||
9
- normalized === "0:0:0:0:0:0:0:1" ||
10
- normalized === "::ffff:127.0.0.1" ||
11
- normalized === "::ffff:0:127.0.0.1");
12
- }
13
- function firstHeaderValue(value) {
14
- if (typeof value === "string")
15
- return value;
16
- if (Array.isArray(value) && typeof value[0] === "string")
17
- return value[0];
18
- return null;
19
- }
20
- const CLIENT_IP_PROXY_HEADERS = new Set([
21
- "forwarded",
22
- "forwarded-for",
23
- "x-forwarded",
24
- "x-forwarded-for",
25
- "x-original-forwarded-for",
26
- "x-real-ip",
27
- "x-client-ip",
28
- "x-forwarded-client-ip",
29
- "x-cluster-client-ip",
30
- "cf-connecting-ip",
31
- "true-client-ip",
32
- "fastly-client-ip",
33
- "x-appengine-user-ip",
34
- "x-azure-clientip",
35
- ]);
36
- function headerValues(value) {
37
- if (typeof value === "string")
38
- return [value];
39
- if (Array.isArray(value)) {
40
- return value.filter((item) => typeof item === "string");
41
- }
42
- return [];
43
- }
44
- function isClientIpProxyHeaderName(name) {
45
- const normalized = name.toLowerCase();
46
- return (CLIENT_IP_PROXY_HEADERS.has(normalized) ||
47
- normalized.endsWith("-client-ip") ||
48
- normalized.endsWith("-connecting-ip") ||
49
- normalized.endsWith("-real-ip"));
50
- }
51
- function extractForwardedForCandidates(raw) {
52
- const candidates = [];
53
- const pattern = /(?:^|[;,])\s*for=(?:"([^"]*)"|([^;,]*))/gi;
54
- for (const match of raw.matchAll(pattern)) {
55
- candidates.push(match[1] ?? match[2] ?? "");
56
- }
57
- return candidates;
58
- }
59
- function extractProxyClientAddressCandidates(headerName, raw) {
60
- if (headerName === "forwarded") {
61
- return extractForwardedForCandidates(raw);
62
- }
63
- const forwardedCandidates = raw.toLowerCase().includes("for=")
64
- ? extractForwardedForCandidates(raw)
65
- : [];
66
- if (forwardedCandidates.length > 0)
67
- return forwardedCandidates;
68
- return raw.split(",");
69
- }
70
- function stripMatchingQuotes(value) {
71
- const trimmed = value.trim();
72
- if ((trimmed.startsWith('"') && trimmed.endsWith('"')) ||
73
- (trimmed.startsWith("'") && trimmed.endsWith("'"))) {
74
- return trimmed.slice(1, -1);
75
- }
76
- return trimmed;
77
- }
78
- function isNeutralProxyClientAddress(raw) {
79
- const normalized = stripMatchingQuotes(raw).trim().toLowerCase();
80
- return (!normalized ||
81
- normalized === "unknown" ||
82
- normalized === "null" ||
83
- normalized.startsWith("_"));
84
- }
85
- function normalizeProxyClientIp(raw) {
86
- let normalized = stripMatchingQuotes(raw).trim();
87
- if (!normalized)
88
- return null;
89
- if (normalized.startsWith("[")) {
90
- const close = normalized.indexOf("]");
91
- if (close > 0) {
92
- normalized = normalized.slice(1, close);
93
- }
94
- }
95
- else {
96
- const ipv4HostPort = /^(\d{1,3}(?:\.\d{1,3}){3})(?::\d+)$/.exec(normalized);
97
- if (ipv4HostPort?.[1]) {
98
- normalized = ipv4HostPort[1];
99
- }
100
- }
101
- const zoneIndex = normalized.indexOf("%");
102
- if (zoneIndex >= 0) {
103
- normalized = normalized.slice(0, zoneIndex);
104
- }
105
- normalized = normalized.trim().toLowerCase();
106
- return isIP(normalized) ? normalized : null;
107
- }
108
- function isLoopbackProxyClientIp(ip) {
109
- const normalized = ip.trim().toLowerCase();
110
- return (normalized === "::1" ||
111
- normalized === "0:0:0:0:0:0:0:1" ||
112
- normalized.startsWith("127.") ||
113
- normalized.startsWith("::ffff:127.") ||
114
- normalized.startsWith("::ffff:0:127."));
115
- }
116
- function proxyClientHeaderBlocksLocalTrust(headers) {
117
- for (const [rawName, rawValue] of Object.entries(headers)) {
118
- const headerName = rawName.toLowerCase();
119
- if (!isClientIpProxyHeaderName(headerName))
120
- continue;
121
- for (const value of headerValues(rawValue)) {
122
- for (const candidate of extractProxyClientAddressCandidates(headerName, value)) {
123
- if (isNeutralProxyClientAddress(candidate))
124
- continue;
125
- const ip = normalizeProxyClientIp(candidate);
126
- if (!ip || !isLoopbackProxyClientIp(ip))
127
- return true;
128
- }
129
- }
130
- }
131
- return false;
132
- }
133
- function isCloudProvisionedByEnv() {
134
- return process.env.ELIZA_CLOUD_PROVISIONED === "1";
135
- }
136
- function isTrustedLocalOrigin(raw) {
137
- const trimmed = raw.trim();
138
- if (!trimmed || trimmed === "null")
139
- return true;
140
- try {
141
- const parsed = new URL(trimmed);
142
- if (parsed.protocol === "file:" ||
143
- parsed.protocol === "app:" ||
144
- parsed.protocol === "tauri:" ||
145
- parsed.protocol === "capacitor:" ||
146
- parsed.protocol === "capacitor-electron:" ||
147
- parsed.protocol === "electrobun:") {
148
- return true;
149
- }
150
- return isLoopbackBindHost(parsed.hostname);
151
- }
152
- catch {
153
- return false;
154
- }
155
- }
156
- export function isTrustedLocalRequest(req) {
157
- if (isCloudProvisionedByEnv())
158
- return false;
159
- if (!isLoopbackRemoteAddress(req.socket?.remoteAddress))
160
- return false;
161
- if (proxyClientHeaderBlocksLocalTrust(req.headers))
162
- return false;
163
- const host = firstHeaderValue(req.headers.host);
164
- if (host && !isLoopbackBindHost(host))
165
- return false;
166
- const secFetchSite = firstHeaderValue(req.headers["sec-fetch-site"])?.toLowerCase();
167
- if (secFetchSite === "cross-site")
168
- return false;
169
- const origin = firstHeaderValue(req.headers.origin);
170
- if (origin && !isTrustedLocalOrigin(origin))
171
- return false;
172
- const referer = firstHeaderValue(req.headers.referer);
173
- if (!origin && referer && !isTrustedLocalOrigin(referer))
174
- return false;
175
- return true;
176
- }