@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.
- package/apps/app-companion/src/components/companion/CompanionAppView.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionAppView.js +6 -4
- package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
- package/apps/app-companion/src/components/companion/CompanionView.js +6 -4
- package/apps/app-lifeops/src/api/client-lifeops.js +6 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +3 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +189 -0
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +2 -0
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +1065 -0
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +7 -0
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +71 -0
- package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +14 -0
- package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/DataSourcesStrip.js +36 -0
- package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +23 -0
- package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/EventEditorDrawer.js +514 -0
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +10 -0
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +15 -0
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +515 -0
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +34 -0
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +175 -0
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +99 -0
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +37 -0
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +88 -0
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +13 -0
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +490 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +12 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +92 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +12 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +160 -0
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +3 -0
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +373 -0
- package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +9 -0
- package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsNavRail.js +93 -0
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +4 -0
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +274 -0
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +7 -0
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +657 -0
- package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +42 -0
- package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsPageSections.js +166 -0
- package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsPageView.js +566 -0
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +749 -0
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +27 -0
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +106 -0
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +373 -0
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +10 -0
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +30 -0
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +21 -0
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +30 -0
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +20 -0
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +597 -0
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +13 -0
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +134 -0
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +10 -0
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +425 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +11 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +49 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +2 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +1041 -0
- package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +7 -0
- package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/MessagingConnectorCards.js +643 -0
- package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +9 -0
- package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/MissingSourceCard.js +5 -0
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +2 -0
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +163 -0
- package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +8 -0
- package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/SleepInspectionPanel.js +59 -0
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +3 -0
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +75 -0
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +8 -0
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +48 -0
- package/apps/app-lifeops/src/components/lifeops-labels.d.ts +2 -0
- package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +1 -0
- package/apps/app-lifeops/src/components/lifeops-labels.js +5 -0
- package/apps/app-lifeops/src/events/index.d.ts +34 -0
- package/apps/app-lifeops/src/events/index.d.ts.map +1 -0
- package/apps/app-lifeops/src/events/index.js +23 -0
- package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +28 -0
- package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useCalendarWeek.js +93 -0
- package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +14 -0
- package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useDiscordConnector.js +126 -0
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +29 -0
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +481 -0
- package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +10 -0
- package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useIMessageConnector.js +50 -0
- package/apps/app-lifeops/src/hooks/useInbox.d.ts +34 -0
- package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useInbox.js +98 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +2 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +383 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +9 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +83 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +18 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +66 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +14 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +79 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +18 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +78 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +14 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +160 -0
- package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +16 -0
- package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useSignalConnector.js +198 -0
- package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +21 -0
- package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useTelegramConnector.js +177 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +8 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +58 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +12 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +1 -0
- package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +152 -0
- package/apps/app-lifeops/src/lifeops/discord-browser-scraper.js +1 -1
- package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-gmail.js +74 -26
- package/apps/app-lifeops/src/lifeops/google-managed-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-managed-client.js +4 -5
- package/apps/app-lifeops/src/lifeops/google-oauth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/google-oauth.js +2 -2
- package/apps/app-lifeops/src/lifeops/owner-profile.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/owner-profile.js +1 -1
- package/apps/app-lifeops/src/lifeops/paypal-managed-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/paypal-managed-client.js +4 -5
- package/apps/app-lifeops/src/lifeops/plaid-managed-client.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/plaid-managed-client.js +4 -5
- package/apps/app-lifeops/src/lifeops/schedule-sync-client.js +2 -2
- package/apps/app-lifeops/src/lifeops/service-constants.d.ts +1 -0
- package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-constants.js +1 -0
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-core.js +2 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts +3 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +42 -13
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +3 -2
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +3 -3
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/service-normalize-connector.js +2 -2
- package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/signal-auth.js +6 -3
- package/apps/app-lifeops/src/lifeops/telegram-auth.js +1 -1
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/travel-adapters/duffel.js +31 -6
- package/apps/app-lifeops/src/lifeops/twilio.js +1 -1
- package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
- package/apps/app-lifeops/src/lifeops/x-poster.js +13 -3
- package/apps/app-lifeops/src/lifeops-route.d.ts +74 -0
- package/apps/app-lifeops/src/lifeops-route.d.ts.map +1 -0
- package/apps/app-lifeops/src/lifeops-route.js +204 -0
- package/apps/app-lifeops/src/platform/lifeops-github.d.ts +15 -0
- package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +1 -0
- package/apps/app-lifeops/src/platform/lifeops-github.js +135 -0
- package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts +2 -2
- package/apps/app-lifeops/src/routes/cloud-features-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/cloud-features-routes.js +5 -3
- package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/lifeops-routes.js +15 -3
- package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/plugin.js +10 -1
- package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts +1 -1
- package/apps/app-lifeops/src/routes/travel-provider-relay-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/routes/travel-provider-relay-routes.js +4 -2
- package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts +1 -1
- package/apps/app-lifeops/src/routes/website-blocker-routes.d.ts.map +1 -1
- package/apps/app-lifeops/src/ui.d.ts +11 -0
- package/apps/app-lifeops/src/ui.d.ts.map +1 -0
- package/apps/app-lifeops/src/ui.js +9 -0
- package/apps/app-lifeops/src/utils/lifeops-url.d.ts +5 -0
- package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +1 -0
- package/apps/app-lifeops/src/utils/lifeops-url.js +35 -0
- package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
- package/apps/app-lifeops/src/website-blocker/access.js +1 -1
- package/apps/app-steward/src/routes/steward-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/steward-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/steward-compat-routes.js +3 -1
- package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-browser-compat-routes.js +3 -1
- package/apps/app-steward/src/routes/wallet-bsc-core-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-bsc-core-routes.js +2 -1
- package/apps/app-steward/src/routes/wallet-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/wallet-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-compat-routes.js +3 -1
- package/apps/app-steward/src/routes/wallet-core-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-core-routes.js +2 -1
- package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts +1 -1
- package/apps/app-steward/src/routes/wallet-trade-compat-routes.d.ts.map +1 -1
- package/apps/app-steward/src/routes/wallet-trade-compat-routes.js +3 -1
- package/apps/app-training/src/core/dataset-generator.d.ts +1 -1
- package/apps/app-training/src/core/dataset-generator.d.ts.map +1 -1
- package/apps/app-training/src/core/roleplay-executor.d.ts +1 -1
- package/apps/app-training/src/core/roleplay-executor.d.ts.map +1 -1
- package/apps/app-training/src/core/trajectory-task-datasets.d.ts +1 -1
- package/apps/app-training/src/core/trajectory-task-datasets.d.ts.map +1 -1
- package/apps/app-training/src/index.d.ts +1 -2
- package/apps/app-training/src/index.d.ts.map +1 -1
- package/apps/app-training/src/index.js +1 -2
- package/apps/app-training/src/routes/training-routes.d.ts +1 -1
- package/apps/app-training/src/routes/training-routes.d.ts.map +1 -1
- package/apps/app-training/src/routes/training-routes.js +1 -1
- package/apps/app-training/src/routes/trajectory-routes.d.ts +1 -1
- package/apps/app-training/src/routes/trajectory-routes.d.ts.map +1 -1
- package/apps/app-training/src/routes/trajectory-routes.js +3 -1
- package/apps/app-training/src/services/training-service-like.d.ts +1 -1
- package/apps/app-training/src/services/training-service-like.d.ts.map +1 -1
- package/apps/app-training/src/services/training-service.d.ts +1 -1
- package/apps/app-training/src/services/training-service.d.ts.map +1 -1
- package/package.json +1 -1
- package/packages/agent/src/api/provider-switch-config.js +1 -1
- package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
- package/packages/agent/src/api/server-helpers-auth.js +5 -4
- package/packages/agent/src/providers/media-provider.d.ts +1 -1
- package/packages/agent/src/providers/media-provider.d.ts.map +1 -1
- package/packages/app-core/src/App.d.ts.map +1 -1
- package/packages/app-core/src/App.js +20 -12
- package/packages/app-core/src/api/auth.d.ts.map +1 -1
- package/packages/app-core/src/api/auth.js +5 -5
- package/packages/app-core/src/api/client-types-experience.d.ts +7 -0
- package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/helpers.d.ts +1 -1
- package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/helpers.js +1 -0
- package/packages/app-core/src/components/apps/internal-tool-apps.d.ts +11 -0
- package/packages/app-core/src/components/apps/internal-tool-apps.d.ts.map +1 -1
- package/packages/app-core/src/components/apps/internal-tool-apps.js +31 -0
- package/packages/app-core/src/components/apps/launch-history.d.ts +16 -0
- package/packages/app-core/src/components/apps/launch-history.d.ts.map +1 -0
- package/packages/app-core/src/components/apps/launch-history.js +77 -0
- package/packages/app-core/src/components/apps/per-app-config.d.ts +19 -0
- package/packages/app-core/src/components/apps/per-app-config.d.ts.map +1 -0
- package/packages/app-core/src/components/apps/per-app-config.js +99 -0
- package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts +14 -0
- package/packages/app-core/src/components/apps/useRegistryCatalog.d.ts.map +1 -0
- package/packages/app-core/src/components/apps/useRegistryCatalog.js +52 -0
- package/packages/app-core/src/components/auth/LoginView.d.ts +1 -19
- package/packages/app-core/src/components/auth/LoginView.d.ts.map +1 -1
- package/packages/app-core/src/components/auth/LoginView.js +4 -99
- package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
- package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +14 -2
- package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
- package/packages/app-core/src/components/character/character-hub-helpers.js +7 -0
- package/packages/app-core/src/components/character/character-hub-types.d.ts +7 -0
- package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
- package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
- package/packages/app-core/src/components/onboarding/BootstrapStep.js +3 -2
- package/packages/app-core/src/components/pages/AppDetailsView.d.ts +36 -0
- package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -0
- package/packages/app-core/src/components/pages/AppDetailsView.js +289 -0
- package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
- package/packages/app-core/src/components/pages/AppsView.js +134 -42
- package/packages/app-core/src/components/shell/StartupShell.d.ts.map +1 -1
- package/packages/app-core/src/components/shell/StartupShell.js +2 -5
- package/packages/app-core/src/i18n/locales/en.json +256 -205
- package/packages/app-core/src/i18n/locales/es.json +256 -205
- package/packages/app-core/src/i18n/locales/ko.json +256 -205
- package/packages/app-core/src/i18n/locales/pt.json +256 -205
- package/packages/app-core/src/i18n/locales/tl.json +256 -205
- package/packages/app-core/src/i18n/locales/vi.json +256 -205
- package/packages/app-core/src/i18n/locales/zh-CN.json +256 -205
- package/packages/app-core/src/navigation/index.d.ts.map +1 -1
- package/packages/app-core/src/navigation/index.js +6 -0
- package/packages/app-core/src/shell/AppWindowRenderer.d.ts +17 -0
- package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -0
- package/packages/app-core/src/shell/AppWindowRenderer.js +337 -0
- package/packages/app-core/src/shell/DetachedShellRoot.js +4 -1
- package/packages/app-core/src/shell/index.d.ts +1 -0
- package/packages/app-core/src/shell/index.d.ts.map +1 -1
- package/packages/app-core/src/shell/index.js +1 -0
- package/packages/app-core/src/state/startup-coordinator.d.ts.map +1 -1
- package/packages/app-core/src/state/startup-coordinator.js +0 -3
- package/packages/app-core/src/state/startup-phase-poll.d.ts.map +1 -1
- package/packages/app-core/src/state/startup-phase-poll.js +2 -4
- package/packages/app-core/src/state/usePluginsSkillsState.d.ts +6 -6
- package/packages/native-plugins/mobile-signals/src/definitions.d.ts +162 -0
- package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +1 -0
- package/packages/native-plugins/mobile-signals/src/definitions.js +1 -0
- package/packages/native-plugins/mobile-signals/src/index.d.ts +4 -0
- package/packages/native-plugins/mobile-signals/src/index.d.ts.map +1 -0
- package/packages/native-plugins/mobile-signals/src/index.js +6 -0
- package/packages/native-plugins/mobile-signals/src/web.d.ts +29 -0
- package/packages/native-plugins/mobile-signals/src/web.d.ts.map +1 -0
- package/packages/native-plugins/mobile-signals/src/web.js +269 -0
- package/packages/shared/src/app-hero-art.d.ts.map +1 -1
- package/packages/shared/src/app-hero-art.js +13 -0
- package/packages/shared/src/contracts/lifeops.d.ts +10 -0
- package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
- package/packages/shared/src/contracts/lifeops.js +5 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.js +46 -4
- package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.js +34 -124
- package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/service.js +56 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +7 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +7 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -0
- package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +123 -0
- package/apps/app-training/src/ui/FineTuningView.d.ts +0 -5
- package/apps/app-training/src/ui/FineTuningView.d.ts.map +0 -1
- package/apps/app-training/src/ui/FineTuningView.js +0 -388
- package/apps/app-training/src/ui/fine-tuning-panels.d.ts +0 -111
- package/apps/app-training/src/ui/fine-tuning-panels.d.ts.map +0 -1
- package/apps/app-training/src/ui/fine-tuning-panels.js +0 -130
- package/apps/app-training/src/ui/index.d.ts +0 -3
- package/apps/app-training/src/ui/index.d.ts.map +0 -1
- package/apps/app-training/src/ui/index.js +0 -2
- package/packages/app-core/src/api/trusted-local-request.d.ts +0 -4
- package/packages/app-core/src/api/trusted-local-request.d.ts.map +0 -1
- 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 +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,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
|
-
}
|