@elizaos/agent 2.0.0-alpha.385 → 2.0.0-alpha.393

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 (377) 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-knowledge/src/routes.d.ts +1 -1
  6. package/apps/app-knowledge/src/routes.d.ts.map +1 -1
  7. package/apps/app-knowledge/src/routes.js +1 -1
  8. package/apps/app-lifeops/src/api/client-lifeops.js +6 -0
  9. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +3 -0
  10. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +1 -0
  11. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +189 -0
  12. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +2 -0
  13. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +1 -0
  14. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +1065 -0
  15. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +7 -0
  16. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +1 -0
  17. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +71 -0
  18. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +14 -0
  19. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +1 -0
  20. package/apps/app-lifeops/src/components/DataSourcesStrip.js +36 -0
  21. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +23 -0
  22. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +1 -0
  23. package/apps/app-lifeops/src/components/EventEditorDrawer.js +514 -0
  24. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +2 -0
  25. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +1 -0
  26. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +10 -0
  27. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +15 -0
  28. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +1 -0
  29. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +515 -0
  30. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +34 -0
  31. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +1 -0
  32. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +175 -0
  33. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +2 -0
  34. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +1 -0
  35. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +99 -0
  36. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +37 -0
  37. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +1 -0
  38. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +88 -0
  39. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +13 -0
  40. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +1 -0
  41. package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +490 -0
  42. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +12 -0
  43. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +1 -0
  44. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +92 -0
  45. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +12 -0
  46. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +1 -0
  47. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +160 -0
  48. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +3 -0
  49. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +1 -0
  50. package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +373 -0
  51. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +9 -0
  52. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +1 -0
  53. package/apps/app-lifeops/src/components/LifeOpsNavRail.js +93 -0
  54. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +4 -0
  55. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +1 -0
  56. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +274 -0
  57. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +7 -0
  58. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +1 -0
  59. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +657 -0
  60. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +42 -0
  61. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +1 -0
  62. package/apps/app-lifeops/src/components/LifeOpsPageSections.js +166 -0
  63. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +2 -0
  64. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +1 -0
  65. package/apps/app-lifeops/src/components/LifeOpsPageView.js +566 -0
  66. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +2 -0
  67. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +1 -0
  68. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +749 -0
  69. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +27 -0
  70. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +1 -0
  71. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +106 -0
  72. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +2 -0
  73. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +1 -0
  74. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +373 -0
  75. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +10 -0
  76. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +1 -0
  77. package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +30 -0
  78. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +21 -0
  79. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +1 -0
  80. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +30 -0
  81. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +20 -0
  82. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +1 -0
  83. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +597 -0
  84. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +13 -0
  85. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +1 -0
  86. package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +134 -0
  87. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +10 -0
  88. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +1 -0
  89. package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +425 -0
  90. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +11 -0
  91. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +1 -0
  92. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +49 -0
  93. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +2 -0
  94. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +1 -0
  95. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +1041 -0
  96. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +7 -0
  97. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +1 -0
  98. package/apps/app-lifeops/src/components/MessagingConnectorCards.js +643 -0
  99. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +9 -0
  100. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +1 -0
  101. package/apps/app-lifeops/src/components/MissingSourceCard.js +5 -0
  102. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +2 -0
  103. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +1 -0
  104. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +163 -0
  105. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +8 -0
  106. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +1 -0
  107. package/apps/app-lifeops/src/components/SleepInspectionPanel.js +59 -0
  108. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  109. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  110. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +75 -0
  111. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +8 -0
  112. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +1 -0
  113. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +48 -0
  114. package/apps/app-lifeops/src/components/lifeops-labels.d.ts +2 -0
  115. package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +1 -0
  116. package/apps/app-lifeops/src/components/lifeops-labels.js +5 -0
  117. package/apps/app-lifeops/src/events/index.d.ts +34 -0
  118. package/apps/app-lifeops/src/events/index.d.ts.map +1 -0
  119. package/apps/app-lifeops/src/events/index.js +23 -0
  120. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +28 -0
  121. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +1 -0
  122. package/apps/app-lifeops/src/hooks/useCalendarWeek.js +93 -0
  123. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +14 -0
  124. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +1 -0
  125. package/apps/app-lifeops/src/hooks/useDiscordConnector.js +126 -0
  126. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +29 -0
  127. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  128. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +481 -0
  129. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +10 -0
  130. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +1 -0
  131. package/apps/app-lifeops/src/hooks/useIMessageConnector.js +50 -0
  132. package/apps/app-lifeops/src/hooks/useInbox.d.ts +34 -0
  133. package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +1 -0
  134. package/apps/app-lifeops/src/hooks/useInbox.js +98 -0
  135. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  136. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  137. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +383 -0
  138. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +9 -0
  139. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +1 -0
  140. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +83 -0
  141. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  142. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  143. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  144. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +18 -0
  145. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +1 -0
  146. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +66 -0
  147. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +14 -0
  148. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +1 -0
  149. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +79 -0
  150. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +18 -0
  151. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +1 -0
  152. package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +78 -0
  153. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +14 -0
  154. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  155. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +160 -0
  156. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +16 -0
  157. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +1 -0
  158. package/apps/app-lifeops/src/hooks/useSignalConnector.js +198 -0
  159. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +21 -0
  160. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +1 -0
  161. package/apps/app-lifeops/src/hooks/useTelegramConnector.js +177 -0
  162. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +8 -0
  163. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +1 -0
  164. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +58 -0
  165. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +12 -0
  166. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +1 -0
  167. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +152 -0
  168. package/apps/app-lifeops/src/lifeops/discord-browser-scraper.js +1 -1
  169. package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
  170. package/apps/app-lifeops/src/lifeops/google-gmail.js +74 -26
  171. package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
  172. package/apps/app-lifeops/src/lifeops/google-managed-client.js +4 -5
  173. package/apps/app-lifeops/src/lifeops/google-oauth.d.ts.map +1 -1
  174. package/apps/app-lifeops/src/lifeops/google-oauth.js +2 -2
  175. package/apps/app-lifeops/src/lifeops/owner-profile.d.ts.map +1 -1
  176. package/apps/app-lifeops/src/lifeops/owner-profile.js +1 -1
  177. package/apps/app-lifeops/src/lifeops/paypal-managed-client.d.ts.map +1 -1
  178. package/apps/app-lifeops/src/lifeops/paypal-managed-client.js +4 -5
  179. package/apps/app-lifeops/src/lifeops/plaid-managed-client.d.ts.map +1 -1
  180. package/apps/app-lifeops/src/lifeops/plaid-managed-client.js +4 -5
  181. package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +2 -2
  182. package/apps/app-lifeops/src/lifeops/service-constants.d.ts +1 -0
  183. package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
  184. package/apps/app-lifeops/src/lifeops/service-constants.js +1 -0
  185. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts +1 -1
  186. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
  187. package/apps/app-lifeops/src/lifeops/service-mixin-core.js +2 -1
  188. package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +1 -1
  189. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts +3 -1
  190. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  191. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +42 -13
  192. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
  193. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +3 -2
  194. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
  195. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +1 -1
  196. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
  197. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +3 -3
  198. package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts +1 -1
  199. package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts.map +1 -1
  200. package/apps/app-lifeops/src/lifeops/service-normalize-connector.js +2 -2
  201. package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
  202. package/apps/app-lifeops/src/lifeops/signal-auth.js +6 -3
  203. package/apps/app-lifeops/src/lifeops/telegram-auth.js +1 -1
  204. package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts.map +1 -1
  205. package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.js +31 -6
  206. package/apps/app-lifeops/src/lifeops/twilio.js +1 -1
  207. package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
  208. package/apps/app-lifeops/src/lifeops/x-poster.js +13 -3
  209. package/apps/app-lifeops/src/lifeops-route.d.ts +74 -0
  210. package/apps/app-lifeops/src/lifeops-route.d.ts.map +1 -0
  211. package/apps/app-lifeops/src/lifeops-route.js +204 -0
  212. package/apps/app-lifeops/src/platform/lifeops-github.d.ts +15 -0
  213. package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +1 -0
  214. package/apps/app-lifeops/src/platform/lifeops-github.js +135 -0
  215. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts +2 -2
  216. package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts.map +1 -1
  217. package/apps/app-lifeops/src/routes/cloud-features-routes.js +5 -3
  218. package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
  219. package/apps/app-lifeops/src/routes/lifeops-routes.js +15 -3
  220. package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
  221. package/apps/app-lifeops/src/routes/plugin.js +10 -1
  222. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts +1 -1
  223. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts.map +1 -1
  224. package/apps/app-lifeops/src/routes/travel-provider-relay-routes.js +4 -2
  225. package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts +1 -1
  226. package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts.map +1 -1
  227. package/apps/app-lifeops/src/ui.d.ts +11 -0
  228. package/apps/app-lifeops/src/ui.d.ts.map +1 -0
  229. package/apps/app-lifeops/src/ui.js +9 -0
  230. package/apps/app-lifeops/src/utils/lifeops-url.d.ts +5 -0
  231. package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +1 -0
  232. package/apps/app-lifeops/src/utils/lifeops-url.js +35 -0
  233. package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
  234. package/apps/app-lifeops/src/website-blocker/access.js +1 -1
  235. package/apps/app-steward/src/routes/steward-compat-routes.d.ts +1 -1
  236. package/apps/app-steward/src/routes/steward-compat-routes.d.ts.map +1 -1
  237. package/apps/app-steward/src/routes/steward-compat-routes.js +3 -1
  238. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts +1 -1
  239. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts.map +1 -1
  240. package/apps/app-steward/src/routes/wallet-browser-compat-routes.js +3 -1
  241. package/apps/app-steward/src/routes/wallet-bsc-core-routes.d.ts.map +1 -1
  242. package/apps/app-steward/src/routes/wallet-bsc-core-routes.js +2 -1
  243. package/apps/app-steward/src/routes/wallet-compat-routes.d.ts +1 -1
  244. package/apps/app-steward/src/routes/wallet-compat-routes.d.ts.map +1 -1
  245. package/apps/app-steward/src/routes/wallet-compat-routes.js +3 -1
  246. package/apps/app-steward/src/routes/wallet-core-routes.d.ts.map +1 -1
  247. package/apps/app-steward/src/routes/wallet-core-routes.js +2 -1
  248. package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts +1 -1
  249. package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts.map +1 -1
  250. package/apps/app-steward/src/routes/wallet-trade-compat-routes.js +3 -1
  251. package/apps/app-training/src/core/dataset-generator.d.ts +1 -1
  252. package/apps/app-training/src/core/dataset-generator.d.ts.map +1 -1
  253. package/apps/app-training/src/core/roleplay-executor.d.ts +1 -1
  254. package/apps/app-training/src/core/roleplay-executor.d.ts.map +1 -1
  255. package/apps/app-training/src/core/trajectory-task-datasets.d.ts +1 -1
  256. package/apps/app-training/src/core/trajectory-task-datasets.d.ts.map +1 -1
  257. package/apps/app-training/src/index.d.ts +1 -2
  258. package/apps/app-training/src/index.d.ts.map +1 -1
  259. package/apps/app-training/src/index.js +1 -2
  260. package/apps/app-training/src/routes/training-routes.d.ts +1 -1
  261. package/apps/app-training/src/routes/training-routes.d.ts.map +1 -1
  262. package/apps/app-training/src/routes/training-routes.js +1 -1
  263. package/apps/app-training/src/routes/trajectory-routes.d.ts +1 -1
  264. package/apps/app-training/src/routes/trajectory-routes.d.ts.map +1 -1
  265. package/apps/app-training/src/routes/trajectory-routes.js +3 -1
  266. package/apps/app-training/src/services/training-service-like.d.ts +1 -1
  267. package/apps/app-training/src/services/training-service-like.d.ts.map +1 -1
  268. package/apps/app-training/src/services/training-service.d.ts +1 -1
  269. package/apps/app-training/src/services/training-service.d.ts.map +1 -1
  270. package/package.json +4 -4
  271. package/packages/agent/src/api/provider-switch-config.js +1 -1
  272. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
  273. package/packages/agent/src/api/server-helpers-auth.js +5 -4
  274. package/packages/agent/src/providers/media-provider.d.ts +1 -1
  275. package/packages/agent/src/providers/media-provider.d.ts.map +1 -1
  276. package/packages/agent/src/providers/self-status.d.ts +1 -1
  277. package/packages/agent/src/providers/self-status.d.ts.map +1 -1
  278. package/packages/app-core/src/App.d.ts.map +1 -1
  279. package/packages/app-core/src/App.js +20 -12
  280. package/packages/app-core/src/api/auth.d.ts.map +1 -1
  281. package/packages/app-core/src/api/auth.js +5 -5
  282. package/packages/app-core/src/api/client-types-experience.d.ts +7 -0
  283. package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
  284. package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
  285. package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
  286. package/packages/app-core/src/components/apps/helpers.js +1 -0
  287. package/packages/app-core/src/components/apps/internal-tool-apps.d.ts +11 -0
  288. package/packages/app-core/src/components/apps/internal-tool-apps.d.ts.map +1 -1
  289. package/packages/app-core/src/components/apps/internal-tool-apps.js +31 -0
  290. package/packages/app-core/src/components/apps/launch-history.d.ts +16 -0
  291. package/packages/app-core/src/components/apps/launch-history.d.ts.map +1 -0
  292. package/packages/app-core/src/components/apps/launch-history.js +77 -0
  293. package/packages/app-core/src/components/apps/per-app-config.d.ts +19 -0
  294. package/packages/app-core/src/components/apps/per-app-config.d.ts.map +1 -0
  295. package/packages/app-core/src/components/apps/per-app-config.js +99 -0
  296. package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts +14 -0
  297. package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts.map +1 -0
  298. package/packages/app-core/src/components/apps/useRegistryCatalog.js +52 -0
  299. package/packages/app-core/src/components/auth/LoginView.d.ts +1 -19
  300. package/packages/app-core/src/components/auth/LoginView.d.ts.map +1 -1
  301. package/packages/app-core/src/components/auth/LoginView.js +4 -99
  302. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
  303. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +14 -2
  304. package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
  305. package/packages/app-core/src/components/character/character-hub-helpers.js +7 -0
  306. package/packages/app-core/src/components/character/character-hub-types.d.ts +7 -0
  307. package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
  308. package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
  309. package/packages/app-core/src/components/onboarding/BootstrapStep.js +3 -2
  310. package/packages/app-core/src/components/pages/AppDetailsView.d.ts +36 -0
  311. package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -0
  312. package/packages/app-core/src/components/pages/AppDetailsView.js +289 -0
  313. package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
  314. package/packages/app-core/src/components/pages/AppsView.js +134 -42
  315. package/packages/app-core/src/components/shell/StartupShell.d.ts.map +1 -1
  316. package/packages/app-core/src/components/shell/StartupShell.js +2 -5
  317. package/packages/app-core/src/i18n/locales/en.json +256 -205
  318. package/packages/app-core/src/i18n/locales/es.json +256 -205
  319. package/packages/app-core/src/i18n/locales/ko.json +256 -205
  320. package/packages/app-core/src/i18n/locales/pt.json +256 -205
  321. package/packages/app-core/src/i18n/locales/tl.json +256 -205
  322. package/packages/app-core/src/i18n/locales/vi.json +256 -205
  323. package/packages/app-core/src/i18n/locales/zh-CN.json +256 -205
  324. package/packages/app-core/src/navigation/index.d.ts.map +1 -1
  325. package/packages/app-core/src/navigation/index.js +6 -0
  326. package/packages/app-core/src/services/auth-store.d.ts +1 -1
  327. package/packages/app-core/src/services/auth-store.d.ts.map +1 -1
  328. package/packages/app-core/src/services/auth-store.js +1 -1
  329. package/packages/app-core/src/shell/AppWindowRenderer.d.ts +17 -0
  330. package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -0
  331. package/packages/app-core/src/shell/AppWindowRenderer.js +337 -0
  332. package/packages/app-core/src/shell/DetachedShellRoot.js +4 -1
  333. package/packages/app-core/src/shell/index.d.ts +1 -0
  334. package/packages/app-core/src/shell/index.d.ts.map +1 -1
  335. package/packages/app-core/src/shell/index.js +1 -0
  336. package/packages/app-core/src/state/startup-coordinator.d.ts.map +1 -1
  337. package/packages/app-core/src/state/startup-coordinator.js +0 -3
  338. package/packages/app-core/src/state/startup-phase-poll.d.ts.map +1 -1
  339. package/packages/app-core/src/state/startup-phase-poll.js +2 -4
  340. package/packages/app-core/src/state/usePluginsSkillsState.d.ts +6 -6
  341. package/packages/native-plugins/mobile-signals/src/definitions.d.ts +162 -0
  342. package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +1 -0
  343. package/packages/native-plugins/mobile-signals/src/definitions.js +1 -0
  344. package/packages/native-plugins/mobile-signals/src/index.d.ts +4 -0
  345. package/packages/native-plugins/mobile-signals/src/index.d.ts.map +1 -0
  346. package/packages/native-plugins/mobile-signals/src/index.js +6 -0
  347. package/packages/native-plugins/mobile-signals/src/web.d.ts +29 -0
  348. package/packages/native-plugins/mobile-signals/src/web.d.ts.map +1 -0
  349. package/packages/native-plugins/mobile-signals/src/web.js +269 -0
  350. package/packages/shared/src/app-hero-art.d.ts.map +1 -1
  351. package/packages/shared/src/app-hero-art.js +13 -0
  352. package/packages/shared/src/contracts/lifeops.d.ts +10 -0
  353. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  354. package/packages/shared/src/contracts/lifeops.js +5 -0
  355. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.d.ts.map +1 -1
  356. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.js +46 -4
  357. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.d.ts.map +1 -1
  358. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.js +34 -124
  359. package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
  360. package/packages/typescript/src/features/advanced-capabilities/experience/service.js +56 -0
  361. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +7 -0
  362. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
  363. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +7 -0
  364. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -0
  365. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +123 -0
  366. package/apps/app-training/src/ui/FineTuningView.d.ts +0 -5
  367. package/apps/app-training/src/ui/FineTuningView.d.ts.map +0 -1
  368. package/apps/app-training/src/ui/FineTuningView.js +0 -388
  369. package/apps/app-training/src/ui/fine-tuning-panels.d.ts +0 -111
  370. package/apps/app-training/src/ui/fine-tuning-panels.d.ts.map +0 -1
  371. package/apps/app-training/src/ui/fine-tuning-panels.js +0 -130
  372. package/apps/app-training/src/ui/index.d.ts +0 -3
  373. package/apps/app-training/src/ui/index.d.ts.map +0 -1
  374. package/apps/app-training/src/ui/index.js +0 -2
  375. package/packages/app-core/src/api/trusted-local-request.d.ts +0 -4
  376. package/packages/app-core/src/api/trusted-local-request.d.ts.map +0 -1
  377. package/packages/app-core/src/api/trusted-local-request.js +0 -176
@@ -1,388 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { client, confirmDesktopAction, parsePositiveFloat, parsePositiveInteger, useApp, } from "@elizaos/app-core";
3
- import { useCallback, useEffect, useMemo, useState, } from "react";
4
- import { useIntervalWhenDocumentVisible, Button, ContentLayout } from "@elizaos/ui";
5
- import { asTrainingEvent, DatasetSection, FINE_TUNING_ACTION_CLASS, FINE_TUNING_SECTION_CLASS, FINE_TUNING_SECTION_HEADER_CLASS, FINE_TUNING_SECTION_KICKER_CLASS, FINE_TUNING_STATUS_CARD_CLASS, LiveEventsPanel, TrainedModelsSection, TrainingJobsSection, TrajectoriesSection, } from "./fine-tuning-panels";
6
- function asArray(value) {
7
- return Array.isArray(value) ? value : [];
8
- }
9
- export function FineTuningView({ contentHeader, } = {}) {
10
- const { handleRestart, setActionNotice, t } = useApp();
11
- const [pageLoading, setPageLoading] = useState(true);
12
- const [errorMessage, setErrorMessage] = useState(null);
13
- const [status, setStatus] = useState(null);
14
- const [trajectoryList, setTrajectoryList] = useState({
15
- available: false,
16
- total: 0,
17
- trajectories: [],
18
- });
19
- const [selectedTrajectory, setSelectedTrajectory] = useState(null);
20
- const [trajectoryLoading, setTrajectoryLoading] = useState(false);
21
- const [datasets, setDatasets] = useState([]);
22
- const [jobs, setJobs] = useState([]);
23
- const [models, setModels] = useState([]);
24
- const [selectedDatasetId, setSelectedDatasetId] = useState("");
25
- const [selectedJobId, setSelectedJobId] = useState("");
26
- const [selectedModelId, setSelectedModelId] = useState("");
27
- const [buildLimit, setBuildLimit] = useState("250");
28
- const [buildMinCalls, setBuildMinCalls] = useState("1");
29
- const [datasetBuilding, setDatasetBuilding] = useState(false);
30
- const [startBackend, setStartBackend] = useState("cpu");
31
- const [startModel, setStartModel] = useState("");
32
- const [startIterations, setStartIterations] = useState("");
33
- const [startBatchSize, setStartBatchSize] = useState("");
34
- const [startLearningRate, setStartLearningRate] = useState("");
35
- const [startingJob, setStartingJob] = useState(false);
36
- const [cancellingJobId, setCancellingJobId] = useState("");
37
- const [importModelName, setImportModelName] = useState("");
38
- const [importBaseModel, setImportBaseModel] = useState("");
39
- const [importOllamaUrl, setImportOllamaUrl] = useState("http://localhost:11434");
40
- const [activateProviderModel, setActivateProviderModel] = useState("");
41
- const [modelAction, setModelAction] = useState("");
42
- const [smokeResult, setSmokeResult] = useState(null);
43
- const [trainingEvents, setTrainingEvents] = useState([]);
44
- const selectedJob = useMemo(() => jobs.find((job) => job.id === selectedJobId) ?? null, [jobs, selectedJobId]);
45
- const selectedModel = useMemo(() => models.find((model) => model.id === selectedModelId) ?? null, [models, selectedModelId]);
46
- const activeRunningJob = useMemo(() => jobs.find((job) => job.status === "running" || job.status === "queued") ??
47
- null, [jobs]);
48
- const loadStatus = useCallback(async () => {
49
- const nextStatus = await client.getTrainingStatus();
50
- setStatus(nextStatus);
51
- }, []);
52
- const loadTrajectories = useCallback(async () => {
53
- const listed = await client.listTrainingTrajectories({
54
- limit: 100,
55
- offset: 0,
56
- });
57
- setTrajectoryList(listed);
58
- }, []);
59
- const loadDatasets = useCallback(async () => {
60
- const listed = await client.listTrainingDatasets();
61
- const nextDatasets = asArray(listed.datasets);
62
- setDatasets(nextDatasets);
63
- setSelectedDatasetId((prev) => {
64
- if (prev && nextDatasets.some((dataset) => dataset.id === prev)) {
65
- return prev;
66
- }
67
- return nextDatasets[0]?.id ?? "";
68
- });
69
- }, []);
70
- const loadJobs = useCallback(async () => {
71
- const listed = await client.listTrainingJobs();
72
- const nextJobs = asArray(listed.jobs);
73
- setJobs(nextJobs);
74
- setSelectedJobId((prev) => {
75
- if (prev && nextJobs.some((job) => job.id === prev))
76
- return prev;
77
- return nextJobs[0]?.id ?? "";
78
- });
79
- }, []);
80
- const loadModels = useCallback(async () => {
81
- const listed = await client.listTrainingModels();
82
- const nextModels = asArray(listed.models);
83
- setModels(nextModels);
84
- setSelectedModelId((prev) => {
85
- if (prev && nextModels.some((model) => model.id === prev))
86
- return prev;
87
- return nextModels[0]?.id ?? "";
88
- });
89
- }, []);
90
- const refreshAll = useCallback(async () => {
91
- setPageLoading(true);
92
- setErrorMessage(null);
93
- try {
94
- await Promise.all([
95
- loadStatus(),
96
- loadTrajectories(),
97
- loadDatasets(),
98
- loadJobs(),
99
- loadModels(),
100
- ]);
101
- }
102
- catch (err) {
103
- setErrorMessage(err instanceof Error
104
- ? err.message
105
- : t("finetuningview.FailedToRefreshState"));
106
- }
107
- finally {
108
- setPageLoading(false);
109
- }
110
- }, [loadDatasets, loadJobs, loadModels, loadStatus, loadTrajectories, t]);
111
- const loadTrajectoryDetail = useCallback(async (trajectoryId) => {
112
- setTrajectoryLoading(true);
113
- try {
114
- const result = await client.getTrainingTrajectory(trajectoryId);
115
- setSelectedTrajectory(result.trajectory);
116
- }
117
- catch (err) {
118
- const message = err instanceof Error
119
- ? err.message
120
- : t("finetuningview.FailedToLoadTrajectoryDetail");
121
- setActionNotice(message, "error", 4200);
122
- }
123
- finally {
124
- setTrajectoryLoading(false);
125
- }
126
- }, [setActionNotice, t]);
127
- const handleBuildDataset = useCallback(async () => {
128
- setDatasetBuilding(true);
129
- try {
130
- const limit = parsePositiveInteger(buildLimit);
131
- const minLlmCallsPerTrajectory = parsePositiveInteger(buildMinCalls);
132
- const request = {};
133
- if (typeof limit === "number")
134
- request.limit = limit;
135
- if (typeof minLlmCallsPerTrajectory === "number") {
136
- request.minLlmCallsPerTrajectory = minLlmCallsPerTrajectory;
137
- }
138
- const result = await client.buildTrainingDataset(request);
139
- setSelectedDatasetId(result.dataset.id);
140
- await Promise.all([loadDatasets(), loadStatus()]);
141
- setActionNotice(t("finetuningview.BuiltDatasetMessage", {
142
- id: result.dataset.id,
143
- count: result.dataset.sampleCount,
144
- }), "success", 3800);
145
- }
146
- catch (err) {
147
- setActionNotice(err instanceof Error
148
- ? err.message
149
- : t("finetuningview.FailedToBuildDataset"), "error", 4200);
150
- }
151
- finally {
152
- setDatasetBuilding(false);
153
- }
154
- }, [buildLimit, buildMinCalls, loadDatasets, loadStatus, setActionNotice, t]);
155
- const handleStartJob = useCallback(async () => {
156
- setStartingJob(true);
157
- try {
158
- const options = {
159
- datasetId: selectedDatasetId || undefined,
160
- backend: startBackend,
161
- model: startModel.trim() || undefined,
162
- iterations: parsePositiveInteger(startIterations),
163
- batchSize: parsePositiveInteger(startBatchSize),
164
- learningRate: parsePositiveFloat(startLearningRate),
165
- };
166
- const result = await client.startTrainingJob(options);
167
- setSelectedJobId(result.job.id);
168
- await Promise.all([loadJobs(), loadStatus()]);
169
- setActionNotice(t("finetuningview.StartedTrainingJobMessage", { id: result.job.id }), "success", 3200);
170
- }
171
- catch (err) {
172
- setActionNotice(err instanceof Error
173
- ? err.message
174
- : t("finetuningview.FailedToStartTrainingJob"), "error", 4200);
175
- }
176
- finally {
177
- setStartingJob(false);
178
- }
179
- }, [
180
- loadJobs,
181
- loadStatus,
182
- selectedDatasetId,
183
- setActionNotice,
184
- startBackend,
185
- startBatchSize,
186
- startIterations,
187
- startLearningRate,
188
- startModel,
189
- t,
190
- ]);
191
- const handleCancelJob = useCallback(async (jobId) => {
192
- setCancellingJobId(jobId);
193
- try {
194
- await client.cancelTrainingJob(jobId);
195
- await Promise.all([loadJobs(), loadStatus()]);
196
- setActionNotice(t("finetuningview.CancelledJobMessage", { id: jobId }), "success", 2600);
197
- }
198
- catch (err) {
199
- setActionNotice(err instanceof Error
200
- ? err.message
201
- : t("finetuningview.FailedToCancelJob", { id: jobId }), "error", 4200);
202
- }
203
- finally {
204
- setCancellingJobId("");
205
- }
206
- }, [loadJobs, loadStatus, setActionNotice, t]);
207
- const handleImportSelectedModel = useCallback(async () => {
208
- if (!selectedModel)
209
- return;
210
- const actionId = `import:${selectedModel.id}`;
211
- setModelAction(actionId);
212
- try {
213
- const result = await client.importTrainingModelToOllama(selectedModel.id, {
214
- modelName: importModelName.trim() || undefined,
215
- baseModel: importBaseModel.trim() || undefined,
216
- ollamaUrl: importOllamaUrl.trim() || undefined,
217
- });
218
- await loadModels();
219
- setActivateProviderModel(result.model.ollamaModel ? `ollama/${result.model.ollamaModel}` : "");
220
- setActionNotice(t("finetuningview.ImportedModelToOllamaMessage", {
221
- id: result.model.id,
222
- ollamaModel: result.model.ollamaModel
223
- ? ` as ${result.model.ollamaModel}`
224
- : "",
225
- }), "success", 4200);
226
- }
227
- catch (err) {
228
- setActionNotice(err instanceof Error
229
- ? err.message
230
- : t("finetuningview.FailedToImportModelToOllama"), "error", 4200);
231
- }
232
- finally {
233
- setModelAction("");
234
- }
235
- }, [
236
- importBaseModel,
237
- importModelName,
238
- importOllamaUrl,
239
- loadModels,
240
- selectedModel,
241
- setActionNotice,
242
- t,
243
- ]);
244
- const handleActivateSelectedModel = useCallback(async () => {
245
- if (!selectedModel)
246
- return;
247
- const actionId = `activate:${selectedModel.id}`;
248
- setModelAction(actionId);
249
- try {
250
- const result = await client.activateTrainingModel(selectedModel.id, activateProviderModel.trim() || undefined);
251
- await loadModels();
252
- setActionNotice(t("finetuningview.ActivatedModelMessage", {
253
- id: result.modelId,
254
- providerModel: result.providerModel,
255
- }), "success", 4200);
256
- if (result.needsRestart) {
257
- const shouldRestart = await confirmDesktopAction({
258
- title: t("finetuningview.RestartAgentTitle"),
259
- message: t("finetuningview.RestartAgentMessage"),
260
- confirmLabel: t("finetuningview.Restart"),
261
- cancelLabel: t("restartbanner.Later"),
262
- type: "question",
263
- });
264
- if (shouldRestart) {
265
- await handleRestart();
266
- }
267
- }
268
- }
269
- catch (err) {
270
- setActionNotice(err instanceof Error
271
- ? err.message
272
- : t("finetuningview.FailedToActivateModel"), "error", 4200);
273
- }
274
- finally {
275
- setModelAction("");
276
- }
277
- }, [
278
- activateProviderModel,
279
- handleRestart,
280
- loadModels,
281
- selectedModel,
282
- setActionNotice,
283
- t,
284
- ]);
285
- const handleBenchmarkSelectedModel = useCallback(async () => {
286
- if (!selectedModel)
287
- return;
288
- const actionId = `benchmark:${selectedModel.id}`;
289
- setModelAction(actionId);
290
- try {
291
- const result = await client.benchmarkTrainingModel(selectedModel.id);
292
- await loadModels();
293
- setActionNotice(t("finetuningview.BenchmarkStatusMessage", {
294
- status: result.status,
295
- id: selectedModel.id,
296
- }), result.status === "passed" ? "success" : "error", 4200);
297
- }
298
- catch (err) {
299
- setActionNotice(err instanceof Error
300
- ? err.message
301
- : t("finetuningview.FailedToBenchmarkModel"), "error", 4200);
302
- }
303
- finally {
304
- setModelAction("");
305
- }
306
- }, [loadModels, selectedModel, setActionNotice, t]);
307
- const handleSmokeTestSelectedModel = useCallback(async () => {
308
- if (!selectedModel)
309
- return;
310
- const actionId = `smoke:${selectedModel.id}`;
311
- setModelAction(actionId);
312
- try {
313
- const result = await client.sendChatRest("Model smoke test. Reply with exactly: MODEL_OK");
314
- setSmokeResult(result.text);
315
- setActionNotice(t("finetuningview.SmokeTestCompleted"), "success", 3200);
316
- }
317
- catch (err) {
318
- setSmokeResult(null);
319
- setActionNotice(err instanceof Error
320
- ? err.message
321
- : t("finetuningview.FailedToRunSmokeTest"), "error", 4200);
322
- }
323
- finally {
324
- setModelAction("");
325
- }
326
- }, [selectedModel, setActionNotice, t]);
327
- useEffect(() => {
328
- void refreshAll();
329
- }, [refreshAll]);
330
- useIntervalWhenDocumentVisible(() => {
331
- void loadStatus();
332
- void loadJobs();
333
- void loadModels();
334
- }, 5000);
335
- useEffect(() => {
336
- const unbind = client.onWsEvent("training_event", (rawEnvelope) => {
337
- const event = asTrainingEvent(rawEnvelope);
338
- if (!event)
339
- return;
340
- setTrainingEvents((prev) => {
341
- const merged = [event, ...prev];
342
- return merged.slice(0, 240);
343
- });
344
- if (event.kind !== "job_log") {
345
- void loadStatus();
346
- void loadJobs();
347
- void loadModels();
348
- if (event.kind === "dataset_built") {
349
- void loadDatasets();
350
- }
351
- }
352
- });
353
- return () => {
354
- unbind();
355
- };
356
- }, [loadDatasets, loadJobs, loadModels, loadStatus]);
357
- if (pageLoading) {
358
- return (_jsx(ContentLayout, { contentHeader: contentHeader, children: _jsx("div", { "data-testid": "fine-tuning-view", className: "text-sm text-muted", children: t("finetuningview.LoadingFineTuning") }) }));
359
- }
360
- return (_jsx(ContentLayout, { contentHeader: contentHeader, children: _jsxs("div", { "data-testid": "fine-tuning-view", className: "space-y-6 pb-8", children: [_jsxs("section", { className: FINE_TUNING_SECTION_CLASS, children: [_jsxs("div", { className: FINE_TUNING_SECTION_HEADER_CLASS, children: [_jsxs("div", { className: "space-y-2", children: [_jsx("div", { className: FINE_TUNING_SECTION_KICKER_CLASS, children: t("finetuningview.FineTuning") }), _jsx("h2", { className: "text-xl font-semibold text-txt", children: t("finetuningview.FineTuning") }), _jsx("p", { className: "max-w-2xl text-sm leading-relaxed text-muted", children: t("finetuningview.BuildDatasetsFrom") })] }), _jsx(Button, { variant: "outline", size: "sm", className: FINE_TUNING_ACTION_CLASS, onClick: () => {
361
- void refreshAll();
362
- }, children: t("finetuningview.RefreshAll") })] }), errorMessage && (_jsx("div", { className: "mt-3 rounded-xl border border-danger/35 bg-danger/10 px-3 py-2 text-sm text-danger", children: errorMessage }))] }), _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.Overview") }), _jsx("div", { className: "text-lg font-semibold text-txt", children: t("finetuningview.Status") })] }) }), _jsxs("div", { className: "grid grid-cols-2 gap-3 text-sm md:grid-cols-3 xl:grid-cols-6", children: [_jsxs("div", { className: FINE_TUNING_STATUS_CARD_CLASS, children: [_jsx("div", { className: "text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.Runtime") }), _jsx("div", { className: "mt-2 text-base font-semibold text-txt", children: status?.runtimeAvailable
363
- ? t("finetuningview.Ready")
364
- : t("finetuningview.Offline") })] }), _jsxs("div", { className: FINE_TUNING_STATUS_CARD_CLASS, children: [_jsx("div", { className: "text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.RunningJobs") }), _jsx("div", { className: "mt-2 text-base font-semibold text-txt", children: status?.runningJobs ?? 0 })] }), _jsxs("div", { className: FINE_TUNING_STATUS_CARD_CLASS, children: [_jsx("div", { className: "text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.QueuedJobs") }), _jsx("div", { className: "mt-2 text-base font-semibold text-txt", children: status?.queuedJobs ?? 0 })] }), _jsxs("div", { className: FINE_TUNING_STATUS_CARD_CLASS, children: [_jsx("div", { className: "text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.Datasets") }), _jsx("div", { className: "mt-2 text-base font-semibold text-txt", children: status?.datasetCount ?? 0 })] }), _jsxs("div", { className: FINE_TUNING_STATUS_CARD_CLASS, children: [_jsx("div", { className: "text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.Models") }), _jsx("div", { className: "mt-2 text-base font-semibold text-txt", children: status?.modelCount ?? 0 })] }), _jsxs("div", { className: FINE_TUNING_STATUS_CARD_CLASS, children: [_jsx("div", { className: "text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70", children: t("finetuningview.FailedJobs") }), _jsx("div", { className: "mt-2 text-base font-semibold text-txt", children: status?.failedJobs ?? 0 })] })] })] }), _jsx(TrajectoriesSection, { trajectoryList: trajectoryList, selectedTrajectory: selectedTrajectory, trajectoryLoading: trajectoryLoading, onRefresh: () => {
365
- void loadTrajectories();
366
- }, onSelectTrajectory: (trajectoryId) => {
367
- void loadTrajectoryDetail(trajectoryId);
368
- }, t: t }), _jsx(DatasetSection, { buildLimit: buildLimit, setBuildLimit: setBuildLimit, buildMinCalls: buildMinCalls, setBuildMinCalls: setBuildMinCalls, datasetBuilding: datasetBuilding, onBuildDataset: () => {
369
- void handleBuildDataset();
370
- }, onRefreshDatasets: () => {
371
- void loadDatasets();
372
- }, datasets: datasets, selectedDatasetId: selectedDatasetId, setSelectedDatasetId: setSelectedDatasetId, t: t }), _jsx(TrainingJobsSection, { selectedDatasetId: selectedDatasetId, setSelectedDatasetId: setSelectedDatasetId, datasets: datasets, startBackend: startBackend, setStartBackend: setStartBackend, startModel: startModel, setStartModel: setStartModel, startIterations: startIterations, setStartIterations: setStartIterations, startBatchSize: startBatchSize, setStartBatchSize: setStartBatchSize, startLearningRate: startLearningRate, setStartLearningRate: setStartLearningRate, startingJob: startingJob, activeRunningJob: activeRunningJob, onStartJob: () => {
373
- void handleStartJob();
374
- }, onRefreshJobs: () => {
375
- void loadJobs();
376
- void loadStatus();
377
- }, jobs: jobs, selectedJobId: selectedJobId, setSelectedJobId: setSelectedJobId, cancellingJobId: cancellingJobId, onCancelJob: (jobId) => {
378
- void handleCancelJob(jobId);
379
- }, selectedJob: selectedJob, t: t }), _jsx(TrainedModelsSection, { models: models, selectedModelId: selectedModelId, setSelectedModelId: setSelectedModelId, selectedModel: selectedModel, importModelName: importModelName, setImportModelName: setImportModelName, importBaseModel: importBaseModel, setImportBaseModel: setImportBaseModel, importOllamaUrl: importOllamaUrl, setImportOllamaUrl: setImportOllamaUrl, activateProviderModel: activateProviderModel, setActivateProviderModel: setActivateProviderModel, modelAction: modelAction, smokeResult: smokeResult, onImport: () => {
380
- void handleImportSelectedModel();
381
- }, onActivate: () => {
382
- void handleActivateSelectedModel();
383
- }, onBenchmark: () => {
384
- void handleBenchmarkSelectedModel();
385
- }, onSmokeTest: () => {
386
- void handleSmokeTestSelectedModel();
387
- }, t: t }), _jsx(LiveEventsPanel, { events: trainingEvents, t: t })] }) }));
388
- }
@@ -1,111 +0,0 @@
1
- import { type StreamEventEnvelope, type TrainingDatasetRecord, type TrainingJobRecord, type TrainingModelRecord, type TrainingStreamEvent, type TrainingTrajectoryDetail, type TrainingTrajectoryList } from "@elizaos/app-core";
2
- export declare const TRAINING_EVENT_KINDS: Set<import("@elizaos/app-core").TrainingEventKind>;
3
- export declare const FINE_TUNING_PAGE_CLASS = "space-y-6 pb-8";
4
- export declare const FINE_TUNING_SECTION_CLASS = "rounded-2xl border border-border/60 bg-card/70 p-5 shadow-sm ring-1 ring-border/15";
5
- export declare const FINE_TUNING_SECTION_HEADER_CLASS = "mb-4 flex flex-col gap-3 lg:flex-row lg:items-start lg:justify-between";
6
- export declare const FINE_TUNING_SECTION_KICKER_CLASS = "text-xs-tight font-semibold uppercase tracking-[0.16em] text-muted/70";
7
- export declare const FINE_TUNING_PANEL_CLASS = "rounded-2xl border border-border/45 bg-bg/20 shadow-sm";
8
- export declare const FINE_TUNING_PANEL_HEADER_CLASS = "px-3 py-2 text-xs-tight font-semibold uppercase tracking-[0.14em] text-muted/70";
9
- export declare const FINE_TUNING_ACTION_CLASS = "h-10 rounded-xl px-3 text-xs shadow-sm hover:border-accent disabled:opacity-50";
10
- export declare const FINE_TUNING_STATUS_CARD_CLASS = "rounded-xl border border-border/35 bg-bg/30 px-3 py-3 shadow-sm";
11
- type TranslateFn = (key: string, options?: Record<string, unknown>) => string;
12
- export declare function formatDate(value: string | null): string;
13
- export declare function formatProgress(value: number): string;
14
- export declare function asTrainingEvent(envelope: Partial<StreamEventEnvelope>): TrainingStreamEvent | null;
15
- export declare function summarizeAvailability(reason: string | undefined, t: TranslateFn): string;
16
- export declare function TrajectoriesSection({ trajectoryList, selectedTrajectory, trajectoryLoading, onRefresh, onSelectTrajectory, t, }: {
17
- trajectoryList: TrainingTrajectoryList;
18
- selectedTrajectory: TrainingTrajectoryDetail | null;
19
- trajectoryLoading: boolean;
20
- onRefresh: () => void;
21
- onSelectTrajectory: (trajectoryId: string) => void;
22
- t: TranslateFn;
23
- }): import("react/jsx-runtime").JSX.Element;
24
- export declare function DatasetSection({ buildLimit, setBuildLimit, buildMinCalls, setBuildMinCalls, datasetBuilding, datasets, selectedDatasetId, setSelectedDatasetId, onBuildDataset, onRefreshDatasets, t, }: {
25
- buildLimit: string;
26
- setBuildLimit: (value: string) => void;
27
- buildMinCalls: string;
28
- setBuildMinCalls: (value: string) => void;
29
- datasetBuilding: boolean;
30
- datasets: TrainingDatasetRecord[];
31
- selectedDatasetId: string;
32
- setSelectedDatasetId: (value: string) => void;
33
- onBuildDataset: () => void;
34
- onRefreshDatasets: () => void;
35
- t: TranslateFn;
36
- }): import("react/jsx-runtime").JSX.Element;
37
- export declare 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, }: {
38
- selectedDatasetId: string;
39
- setSelectedDatasetId: (value: string) => void;
40
- datasets: TrainingDatasetRecord[];
41
- startBackend: "mlx" | "cuda" | "cpu";
42
- setStartBackend: (value: "mlx" | "cuda" | "cpu") => void;
43
- startModel: string;
44
- setStartModel: (value: string) => void;
45
- startIterations: string;
46
- setStartIterations: (value: string) => void;
47
- startBatchSize: string;
48
- setStartBatchSize: (value: string) => void;
49
- startLearningRate: string;
50
- setStartLearningRate: (value: string) => void;
51
- startingJob: boolean;
52
- activeRunningJob: TrainingJobRecord | null;
53
- jobs: TrainingJobRecord[];
54
- selectedJobId: string;
55
- setSelectedJobId: (value: string) => void;
56
- cancellingJobId: string;
57
- selectedJob: TrainingJobRecord | null;
58
- onStartJob: () => void;
59
- onRefreshJobs: () => void;
60
- onCancelJob: (jobId: string) => void;
61
- t: TranslateFn;
62
- }): import("react/jsx-runtime").JSX.Element;
63
- export declare function TrainedModelsSection({ activateProviderModel, importBaseModel, importModelName, importOllamaUrl, modelAction, models, onActivate, onBenchmark, onImport, onSmokeTest, selectedModel, selectedModelId, setActivateProviderModel, setImportBaseModel, setImportModelName, setImportOllamaUrl, setSelectedModelId, smokeResult, t, }: {
64
- activateProviderModel: string;
65
- importBaseModel: string;
66
- importModelName: string;
67
- importOllamaUrl: string;
68
- modelAction: string;
69
- models: TrainingModelRecord[];
70
- onActivate: () => void;
71
- onBenchmark: () => void;
72
- onImport: () => void;
73
- onSmokeTest: () => void;
74
- selectedModel: TrainingModelRecord | null;
75
- selectedModelId: string;
76
- setActivateProviderModel: (value: string) => void;
77
- setImportBaseModel: (value: string) => void;
78
- setImportModelName: (value: string) => void;
79
- setImportOllamaUrl: (value: string) => void;
80
- setSelectedModelId: (value: string) => void;
81
- smokeResult: string | null;
82
- t: (key: string, options?: Record<string, unknown>) => string;
83
- }): import("react/jsx-runtime").JSX.Element;
84
- export declare function LiveEventsPanel({ events, t, }: {
85
- events: TrainingStreamEvent[];
86
- t: TranslateFn;
87
- }): import("react/jsx-runtime").JSX.Element;
88
- export declare function SelectedJobPanel({ selectedJob, t, }: {
89
- selectedJob: TrainingJobRecord | null;
90
- t: TranslateFn;
91
- }): import("react/jsx-runtime").JSX.Element;
92
- export declare function SelectedModelPanel({ selectedModel, importModelName, setImportModelName, importBaseModel, setImportBaseModel, importOllamaUrl, setImportOllamaUrl, activateProviderModel, setActivateProviderModel, modelAction, smokeResult, onImport, onActivate, onBenchmark, onSmokeTest, t, }: {
93
- selectedModel: TrainingModelRecord | null;
94
- importModelName: string;
95
- setImportModelName: (v: string) => void;
96
- importBaseModel: string;
97
- setImportBaseModel: (v: string) => void;
98
- importOllamaUrl: string;
99
- setImportOllamaUrl: (v: string) => void;
100
- activateProviderModel: string;
101
- setActivateProviderModel: (v: string) => void;
102
- modelAction: string;
103
- smokeResult: string | null;
104
- onImport: () => void;
105
- onActivate: () => void;
106
- onBenchmark: () => void;
107
- onSmokeTest: () => void;
108
- t: TranslateFn;
109
- }): import("react/jsx-runtime").JSX.Element;
110
- export {};
111
- //# sourceMappingURL=fine-tuning-panels.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fine-tuning-panels.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-training/src/ui/fine-tuning-panels.tsx"],"names":[],"mappings":"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"}