libre-webui 0.27.0 → 0.28.0
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/README.md +57 -29
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.js +44 -0
- package/backend/dist/persistence/postgresAutomationWorkTargetMigration.js.map +1 -0
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js +4 -4
- package/backend/dist/persistence/postgresMfaPushRecoveryMigration.js.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.d.ts.map +1 -1
- package/backend/dist/persistence/postgresMigrationRegistry.js +6 -0
- package/backend/dist/persistence/postgresMigrationRegistry.js.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresResourceRepositories.js +17 -4
- package/backend/dist/persistence/postgresResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresSecurityRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/postgresSecurityRepositories.js +4 -0
- package/backend/dist/persistence/postgresSecurityRepositories.js.map +1 -1
- package/backend/dist/persistence/postgresWorkComputerMigration.d.ts +8 -0
- package/backend/dist/persistence/postgresWorkComputerMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresWorkComputerMigration.js +37 -0
- package/backend/dist/persistence/postgresWorkComputerMigration.js.map +1 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.d.ts +9 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.d.ts.map +1 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.js +38 -0
- package/backend/dist/persistence/postgresWorkTakeoverMigration.js.map +1 -0
- package/backend/dist/persistence/resourceTypes.d.ts +5 -0
- package/backend/dist/persistence/resourceTypes.d.ts.map +1 -1
- package/backend/dist/persistence/resourceTypes.js.map +1 -1
- package/backend/dist/persistence/securityTypes.d.ts +1 -0
- package/backend/dist/persistence/securityTypes.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.d.ts +3 -0
- package/backend/dist/persistence/sqliteMigrations.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteMigrations.js +73 -0
- package/backend/dist/persistence/sqliteMigrations.js.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteResourceRepositories.js +17 -7
- package/backend/dist/persistence/sqliteResourceRepositories.js.map +1 -1
- package/backend/dist/persistence/sqliteSecurityRepositories.d.ts.map +1 -1
- package/backend/dist/persistence/sqliteSecurityRepositories.js +6 -0
- package/backend/dist/persistence/sqliteSecurityRepositories.js.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.d.ts.map +1 -1
- package/backend/dist/platform/jobs/domainJobHandlers.js +87 -0
- package/backend/dist/platform/jobs/domainJobHandlers.js.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js +7 -3
- package/backend/dist/platform/workPersistence/postgresWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js +8 -4
- package/backend/dist/platform/workPersistence/sqliteWorkPersistence.js.map +1 -1
- package/backend/dist/platform/workPersistence/types.d.ts +2 -0
- package/backend/dist/platform/workPersistence/types.d.ts.map +1 -1
- package/backend/dist/platform/workPersistence/types.js.map +1 -1
- package/backend/dist/routes/auth.d.ts.map +1 -1
- package/backend/dist/routes/auth.js +8 -4
- package/backend/dist/routes/auth.js.map +1 -1
- package/backend/dist/routes/automations.d.ts.map +1 -1
- package/backend/dist/routes/automations.js +5 -0
- package/backend/dist/routes/automations.js.map +1 -1
- package/backend/dist/routes/work.d.ts.map +1 -1
- package/backend/dist/routes/work.js +205 -1
- package/backend/dist/routes/work.js.map +1 -1
- package/backend/dist/services/authService.d.ts +2 -0
- package/backend/dist/services/authService.d.ts.map +1 -1
- package/backend/dist/services/authService.js +20 -0
- package/backend/dist/services/authService.js.map +1 -1
- package/backend/dist/services/automationSchedulerService.d.ts.map +1 -1
- package/backend/dist/services/automationSchedulerService.js +24 -0
- package/backend/dist/services/automationSchedulerService.js.map +1 -1
- package/backend/dist/services/automationService.d.ts +4 -1
- package/backend/dist/services/automationService.d.ts.map +1 -1
- package/backend/dist/services/automationService.js +27 -0
- package/backend/dist/services/automationService.js.map +1 -1
- package/backend/dist/services/mfaService.d.ts.map +1 -1
- package/backend/dist/services/mfaService.js +2 -3
- package/backend/dist/services/mfaService.js.map +1 -1
- package/backend/dist/services/webauthnService.d.ts.map +1 -1
- package/backend/dist/services/webauthnService.js +1 -0
- package/backend/dist/services/webauthnService.js.map +1 -1
- package/backend/dist/services/websocketTicketService.d.ts +1 -1
- package/backend/dist/services/websocketTicketService.d.ts.map +1 -1
- package/backend/dist/services/websocketTicketService.js +3 -1
- package/backend/dist/services/websocketTicketService.js.map +1 -1
- package/backend/dist/services/workAgentGuidance.d.ts +14 -0
- package/backend/dist/services/workAgentGuidance.d.ts.map +1 -1
- package/backend/dist/services/workAgentGuidance.js +38 -2
- package/backend/dist/services/workAgentGuidance.js.map +1 -1
- package/backend/dist/services/workAgentService.d.ts +9 -0
- package/backend/dist/services/workAgentService.d.ts.map +1 -1
- package/backend/dist/services/workAgentService.js +503 -13
- package/backend/dist/services/workAgentService.js.map +1 -1
- package/backend/dist/services/workComputerSetupService.d.ts +33 -0
- package/backend/dist/services/workComputerSetupService.d.ts.map +1 -0
- package/backend/dist/services/workComputerSetupService.js +164 -0
- package/backend/dist/services/workComputerSetupService.js.map +1 -0
- package/backend/dist/services/workComputerTeachService.d.ts +105 -0
- package/backend/dist/services/workComputerTeachService.d.ts.map +1 -0
- package/backend/dist/services/workComputerTeachService.js +513 -0
- package/backend/dist/services/workComputerTeachService.js.map +1 -0
- package/backend/dist/services/workKubernetesDriver.d.ts +8 -0
- package/backend/dist/services/workKubernetesDriver.d.ts.map +1 -1
- package/backend/dist/services/workKubernetesDriver.js +22 -0
- package/backend/dist/services/workKubernetesDriver.js.map +1 -1
- package/backend/dist/services/workModelProviderService.d.ts.map +1 -1
- package/backend/dist/services/workModelProviderService.js +102 -8
- package/backend/dist/services/workModelProviderService.js.map +1 -1
- package/backend/dist/services/workPolicyService.d.ts +8 -0
- package/backend/dist/services/workPolicyService.d.ts.map +1 -1
- package/backend/dist/services/workPolicyService.js +25 -0
- package/backend/dist/services/workPolicyService.js.map +1 -1
- package/backend/dist/services/workRuntimeDriver.d.ts +32 -0
- package/backend/dist/services/workRuntimeDriver.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeDriver.js +54 -8
- package/backend/dist/services/workRuntimeDriver.js.map +1 -1
- package/backend/dist/services/workRuntimeService.d.ts +212 -1
- package/backend/dist/services/workRuntimeService.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeService.js +1184 -9
- package/backend/dist/services/workRuntimeService.js.map +1 -1
- package/backend/dist/services/workRuntimeShared.d.ts +11 -1
- package/backend/dist/services/workRuntimeShared.d.ts.map +1 -1
- package/backend/dist/services/workRuntimeShared.js +24 -1
- package/backend/dist/services/workRuntimeShared.js.map +1 -1
- package/backend/dist/services/workScreenControlService.d.ts +60 -0
- package/backend/dist/services/workScreenControlService.d.ts.map +1 -0
- package/backend/dist/services/workScreenControlService.js +201 -0
- package/backend/dist/services/workScreenControlService.js.map +1 -0
- package/backend/dist/services/workTaskService.d.ts +11 -0
- package/backend/dist/services/workTaskService.d.ts.map +1 -1
- package/backend/dist/services/workTaskService.js +31 -0
- package/backend/dist/services/workTaskService.js.map +1 -1
- package/backend/dist/types/index.d.ts +7 -0
- package/backend/dist/types/index.d.ts.map +1 -1
- package/backend/dist/types/index.js.map +1 -1
- package/backend/dist/types/work.d.ts +13 -0
- package/backend/dist/types/work.d.ts.map +1 -1
- package/backend/dist/utils/webauthn.d.ts +6 -2
- package/backend/dist/utils/webauthn.d.ts.map +1 -1
- package/backend/dist/utils/webauthn.js +32 -3
- package/backend/dist/utils/webauthn.js.map +1 -1
- package/backend/dist/websocketServer.d.ts.map +1 -1
- package/backend/dist/websocketServer.js +9 -0
- package/backend/dist/websocketServer.js.map +1 -1
- package/backend/dist/workScreenServer.d.ts +12 -0
- package/backend/dist/workScreenServer.d.ts.map +1 -0
- package/backend/dist/workScreenServer.js +291 -0
- package/backend/dist/workScreenServer.js.map +1 -0
- package/backend/package.json +1 -1
- package/deploy/work-computer/Dockerfile +48 -0
- package/deploy/work-computer/README.md +93 -0
- package/deploy/work-computer/fonts/fonts.css +335 -0
- package/deploy/work-computer/fonts/v16-aFTR7PB1QTsUX8KYvumzEY2tbYf-Vlh3uA.woff2 +0 -0
- package/deploy/work-computer/fonts/v16-aFTR7PB1QTsUX8KYvumzEYOtbYf-Vlg.woff2 +0 -0
- package/deploy/work-computer/fonts/v16-aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2 +0 -0
- package/deploy/work-computer/fonts/v16-aFTU7PB1QTsUX8KYthqQBK6PYK0.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggOxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggSxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggexSvfedN4.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggixSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggmxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v20-xn7gYHE41ni1AdIRggqxSvfedN62Zw.woff2 +0 -0
- package/deploy/work-computer/fonts/v22-V8mDoQDjQSkFtoMM3T6r8E7mPb54C_k3HqUtEw.woff2 +0 -0
- package/deploy/work-computer/fonts/v22-V8mDoQDjQSkFtoMM3T6r8E7mPb94C_k3HqUtEw.woff2 +0 -0
- package/deploy/work-computer/fonts/v22-V8mDoQDjQSkFtoMM3T6r8E7mPbF4C_k3HqU.woff2 +0 -0
- package/deploy/work-computer/start-computer.sh +155 -0
- package/deploy/work-computer/start-page.html +251 -0
- package/deploy/work-computer/tint2rc +76 -0
- package/deploy/work-computer/wallpaper.png +0 -0
- package/frontend/dist/artifact-runtime/.build-fingerprint +1 -1
- package/frontend/dist/assets/index-DGy6mo0B.js +33 -0
- package/frontend/dist/assets/index-DqLJKWF-.css +1 -0
- package/frontend/dist/index.html +31 -16
- package/frontend/dist/js/{ArtifactContainer-C9zNtCay.js → ArtifactContainer-DvIMxleC.js} +1 -1
- package/frontend/dist/js/{ArtifactDemoPage-C-EBFBCt.js → ArtifactDemoPage-BqYskFqc.js} +1 -1
- package/frontend/dist/js/{ArtifactSandboxFrame-CTA1j_d1.js → ArtifactSandboxFrame-9wuufHn6.js} +1 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-DXESMtPh.js +1 -0
- package/frontend/dist/js/AutomationsPage-DByxhIKj.js +1 -0
- package/frontend/dist/js/AvatarUpload-DnCGQ46o.js +1 -0
- package/frontend/dist/js/{Button-C0r3J9G_.js → Button-CpobxJ2P.js} +1 -1
- package/frontend/dist/js/CalendarPage-JywVP-9y.js +1 -0
- package/frontend/dist/js/ChannelsPage-B31rcARd.js +1 -0
- package/frontend/dist/js/ChatPage-CHXJY8m3.js +14 -0
- package/frontend/dist/js/{EvaluationsPage-FWIJu2fI.js → EvaluationsPage-CcmB5wdF.js} +1 -1
- package/frontend/dist/js/FirstTimeSetup-DDU7SowM.js +1 -0
- package/frontend/dist/js/GalleryPage-XfX_7iCf.js +1 -0
- package/frontend/dist/js/HomePage-DAZAkoAV.js +1 -0
- package/frontend/dist/js/LibreClawPage-De0gZmbF.js +1 -0
- package/frontend/dist/js/Logo-yKM43xGa.js +1 -0
- package/frontend/dist/js/LogoMark-PmpKQOre.js +1 -0
- package/frontend/dist/js/{ModelManagerModals-BY5TK38_.js → ModelManagerModals-hz2cZZ4a.js} +1 -1
- package/frontend/dist/js/ModelSelector-BoFehQy-.js +1 -0
- package/frontend/dist/js/NotesPage-BGPI3gG6.js +3 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-DrejdNUm.js +1 -0
- package/frontend/dist/js/OptimizedSyntaxHighlighter-hNqZPLiB.js +1 -0
- package/frontend/dist/js/PasswordStrengthMeter-RwModpZ1.js +1 -0
- package/frontend/dist/js/PersonasPage-BkNRD2wO.js +13 -0
- package/frontend/dist/js/PluginUsagePage-Cqt7V2SQ.js +1 -0
- package/frontend/dist/js/RichMessageContent-B2QSyX-l.js +1 -0
- package/frontend/dist/js/RichMessageContent-CYEhT6uU.js +3 -0
- package/frontend/dist/js/SettingsModal-IbIvVyss.js +19 -0
- package/frontend/dist/js/{SettingsToggle-BIVyfGjl.js → SettingsToggle-3GxA96E0.js} +1 -1
- package/frontend/dist/js/ShareDialog-BoE4OVhV.js +1 -0
- package/frontend/dist/js/{SystemPage-BT07dTMT.js → SystemPage-B5ecz5H3.js} +1 -1
- package/frontend/dist/js/TurnstileWidget-DHU9IUM1.js +1 -0
- package/frontend/dist/js/UserManagementPage-C0VUfbMk.js +1 -0
- package/frontend/dist/js/WorkPage-EweYI5Dx.js +74 -0
- package/frontend/dist/js/api-Bbh2AHHN.js +1 -0
- package/frontend/dist/js/api-F0CnlVH8.js +14 -0
- package/frontend/dist/js/appNavigation-DqV69ohR.js +1 -0
- package/frontend/dist/js/appStore-SLLBamo2.js +2 -0
- package/frontend/dist/js/appVersion-46bF9UkF.js +1 -0
- package/frontend/dist/js/ar-C4yo7x5J.js +2 -0
- package/frontend/dist/js/authStore-CcfL8T6T.js +1 -0
- package/frontend/dist/js/authStore-DlSQ1TcP.js +4 -0
- package/frontend/dist/js/axios-_ZpUYd3e.js +1 -0
- package/frontend/dist/js/bn-BeZ6d2qF.js +2 -0
- package/frontend/dist/js/chatStore-DI79tEJ-.js +3 -0
- package/frontend/dist/js/classPrivateMethodInitSpec-B31Q4d2M.js +1 -0
- package/frontend/dist/js/{config-BqZ5304Q.js → config-0QgGZCrI.js} +1 -1
- package/frontend/dist/js/cs-9K5LILI5.js +2 -0
- package/frontend/dist/js/da-BWbBhLK8.js +2 -0
- package/frontend/dist/js/de-BXD9t2uY.js +2 -0
- package/frontend/dist/js/es-Dv4wZKlU.js +2 -0
- package/frontend/dist/js/{estree-DPkpBuOU.js → estree-WDwviHUZ.js} +1 -1
- package/frontend/dist/js/evaluationsApi-wjf0nh5J.js +1 -0
- package/frontend/dist/js/fr-BkXGyEei.js +2 -0
- package/frontend/dist/js/hi-BS1ldbWk.js +2 -0
- package/frontend/dist/js/{html-BpGUXG8E.js → html-Cj0HNcRt.js} +1 -1
- package/frontend/dist/js/id-Cr1njx5M.js +2 -0
- package/frontend/dist/js/is-BqpNCtDd.js +2 -0
- package/frontend/dist/js/{it-AxEMG8Jg.js → it-Dp-iwH27.js} +1 -1
- package/frontend/dist/js/ja-_e4v_6Mn.js +2 -0
- package/frontend/dist/js/ko-CjXf2pIX.js +2 -0
- package/frontend/dist/js/{logger-DSXjF4ye.js → logger-CpCQz3Vi.js} +1 -1
- package/frontend/dist/js/{markdown-DCBRWJSK.js → markdown-DTahdtRF.js} +1 -1
- package/frontend/dist/js/{messageCodeStyles-BQwf7sSz.js → messageCodeStyles-COJFoq4P.js} +2 -2
- package/frontend/dist/js/{ms-BhEwb4b7.js → ms-xpn-zACj.js} +1 -1
- package/frontend/dist/js/nl-Baf0a2X0.js +2 -0
- package/frontend/dist/js/pl-BEOTrcUv.js +2 -0
- package/frontend/dist/js/pt-B5FUaihM.js +2 -0
- package/frontend/dist/js/rfb-bJaPz33m.js +5 -0
- package/frontend/dist/js/ru-BjzgMmkJ.js +2 -0
- package/frontend/dist/js/{standalone-BFrK0R2A.js → standalone-C04jT26m.js} +1 -1
- package/frontend/dist/js/sv-DDX_gP1z.js +2 -0
- package/frontend/dist/js/teamEventStream-CgUkgjFC.js +8 -0
- package/frontend/dist/js/{th-DVnW2yyh.js → th-BXr3KovE.js} +1 -1
- package/frontend/dist/js/tr-CdqxHEM8.js +2 -0
- package/frontend/dist/js/ttsBatching-BfhNT3c5.js +2 -0
- package/frontend/dist/js/{typescript-DYVyvmm_.js → typescript-FtGI7Y5P.js} +1 -1
- package/frontend/dist/js/ui-DFa2W4QC.js +2 -0
- package/frontend/dist/js/ui-vendor-CRZXLK0Q.js +177 -0
- package/frontend/dist/js/{uk-BNPKIZga.js → uk-CotKDP2Q.js} +1 -1
- package/frontend/dist/js/useChat-BawGm7ua.js +10 -0
- package/frontend/dist/js/useQuery-BboI5V5G.js +1 -0
- package/frontend/dist/js/{useTranslation-5b5UhAc9.js → useTranslation-D7uLySn1.js} +1 -1
- package/frontend/dist/js/{utils-BGrdX9ie.js → utils-sD-qFh8D.js} +1 -1
- package/frontend/dist/js/utils-vendor-DTLgmsuc.js +9 -0
- package/frontend/dist/js/vi-F2NC1HaJ.js +2 -0
- package/frontend/dist/js/webauthnClient-CPSq528Q.js +1 -0
- package/frontend/dist/js/workApi-8mBuh_-J.js +6 -0
- package/frontend/dist/js/workApi-DJtLOslf.js +1 -0
- package/frontend/dist/js/workStatus-CcO9Fg41.js +1 -0
- package/frontend/dist/js/zh-DZ-kpEEA.js +2 -0
- package/package.json +4 -2
- package/frontend/dist/assets/index-DBAf_VaS.js +0 -47
- package/frontend/dist/assets/index-kn_Axjts.css +0 -1
- package/frontend/dist/js/ArtifactSlideOutPanel-BOENbOiv.js +0 -1
- package/frontend/dist/js/AutomationsPage-C58MQ4te.js +0 -1
- package/frontend/dist/js/CalendarPage-BcdAZ292.js +0 -1
- package/frontend/dist/js/ChannelsPage-DPr9Yajs.js +0 -1
- package/frontend/dist/js/ChatPage-DsbB748s.js +0 -14
- package/frontend/dist/js/FirstTimeSetup-Cy-w6xko.js +0 -1
- package/frontend/dist/js/GalleryPage-DDAtxM-x.js +0 -1
- package/frontend/dist/js/HomePage-DLKwmE7n.js +0 -1
- package/frontend/dist/js/LibreClawPage-vKOj-9w9.js +0 -1
- package/frontend/dist/js/ModelSelector-CoCS6MZ9.js +0 -1
- package/frontend/dist/js/NotesPage-BElIpXgA.js +0 -3
- package/frontend/dist/js/OptimizedSyntaxHighlighter-xgyE3dRA.js +0 -1
- package/frontend/dist/js/PersonasPage-P40jVbfU.js +0 -13
- package/frontend/dist/js/PluginUsagePage-CKUEPCJN.js +0 -1
- package/frontend/dist/js/RichMessageContent-Bm2WaEGi.js +0 -3
- package/frontend/dist/js/SettingsModal-DxSGzx9A.js +0 -19
- package/frontend/dist/js/UserManagementPage-B9Vz5cm3.js +0 -1
- package/frontend/dist/js/WorkPage-qoN_e_jK.js +0 -6
- package/frontend/dist/js/api-D7Ff5M2Q.js +0 -14
- package/frontend/dist/js/appStore-DmV5wqDz.js +0 -2
- package/frontend/dist/js/ar-YHHTVP8f.js +0 -2
- package/frontend/dist/js/authStore-BYW8-kP6.js +0 -4
- package/frontend/dist/js/bn-C8VTxBVl.js +0 -2
- package/frontend/dist/js/chatStore-D-NTlArO.js +0 -3
- package/frontend/dist/js/cs-CCngB5fC.js +0 -2
- package/frontend/dist/js/da-CM2PP2ma.js +0 -2
- package/frontend/dist/js/de-BqVkD-dw.js +0 -2
- package/frontend/dist/js/es-BtWsWBjZ.js +0 -2
- package/frontend/dist/js/evaluationsApi-Dnf2dTd-.js +0 -1
- package/frontend/dist/js/fr-C68w9abT.js +0 -2
- package/frontend/dist/js/hi-DtBlcyXZ.js +0 -2
- package/frontend/dist/js/id-BWzIu8tn.js +0 -2
- package/frontend/dist/js/is-yeFwu4dJ.js +0 -2
- package/frontend/dist/js/ja-B-VyokB8.js +0 -2
- package/frontend/dist/js/ko-CvwzYr9k.js +0 -2
- package/frontend/dist/js/nl-Dq-QRx1L.js +0 -2
- package/frontend/dist/js/pl-BNEy8mQm.js +0 -2
- package/frontend/dist/js/pt-_3Jl3FdY.js +0 -2
- package/frontend/dist/js/ru-IhQiJ8ta.js +0 -2
- package/frontend/dist/js/sv-DWunXUNz.js +0 -2
- package/frontend/dist/js/tr-Do8CFmhR.js +0 -2
- package/frontend/dist/js/ui-db9meqAB.js +0 -2
- package/frontend/dist/js/ui-vendor-C0DZ8-Cm.js +0 -177
- package/frontend/dist/js/utils-vendor-9bQ62WeD.js +0 -9
- package/frontend/dist/js/vi-CZMFo9je.js +0 -2
- package/frontend/dist/js/workApi-CcprMH_1.js +0 -6
- package/frontend/dist/js/zh-Pg0881v0.js +0 -2
package/README.md
CHANGED
|
@@ -101,7 +101,7 @@ The first account created on a fresh installation becomes the administrator.
|
|
|
101
101
|
Install Ollama, then pull a model:
|
|
102
102
|
|
|
103
103
|
```bash
|
|
104
|
-
ollama pull
|
|
104
|
+
ollama pull gemma3:4b
|
|
105
105
|
```
|
|
106
106
|
|
|
107
107
|
Libre WebUI can now use Ollama for local inference. No cloud account or API key
|
|
@@ -123,32 +123,33 @@ persistent storage.
|
|
|
123
123
|
|
|
124
124
|
## Features
|
|
125
125
|
|
|
126
|
-
| Feature | Description
|
|
127
|
-
| ---------------------- |
|
|
128
|
-
| **Chat** | Streaming conversations with prompt queueing, multi-model comparison, and chat forking
|
|
129
|
-
| **Local inference** | Ollama support with no required cloud account
|
|
130
|
-
| **Provider plugins** | Chat, image, video, embedding, and speech providers through an extensible plugin layer
|
|
131
|
-
| **Knowledge** | Chat with PDF, Office, Markdown, HTML, code, and CSV documents via hybrid retrieval with cited sources
|
|
132
|
-
| **Web search** | Self-hosted SearXNG search for chats and Work tasks
|
|
133
|
-
| **Artifacts** | Generate and preview HTML, SVG, JSON, code, and multi-file projects
|
|
134
|
-
| **Workspaces** | Persistent, task-scoped environments with files, terminal, diffs, and previews
|
|
135
|
-
| **
|
|
136
|
-
| **
|
|
137
|
-
| **
|
|
138
|
-
| **
|
|
139
|
-
| **
|
|
140
|
-
| **
|
|
141
|
-
| **
|
|
142
|
-
| **
|
|
143
|
-
| **
|
|
144
|
-
| **
|
|
145
|
-
| **
|
|
146
|
-
| **
|
|
147
|
-
| **
|
|
148
|
-
| **
|
|
149
|
-
| **
|
|
150
|
-
| **
|
|
151
|
-
| **
|
|
126
|
+
| Feature | Description |
|
|
127
|
+
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
128
|
+
| **Chat** | Streaming conversations with prompt queueing, multi-model comparison, and chat forking |
|
|
129
|
+
| **Local inference** | Ollama support with no required cloud account |
|
|
130
|
+
| **Provider plugins** | Chat, image, video, embedding, and speech providers through an extensible plugin layer |
|
|
131
|
+
| **Knowledge** | Chat with PDF, Office, Markdown, HTML, code, and CSV documents via hybrid retrieval with cited sources |
|
|
132
|
+
| **Web search** | Self-hosted SearXNG search for chats and Work tasks |
|
|
133
|
+
| **Artifacts** | Generate and preview HTML, SVG, JSON, code, and multi-file projects |
|
|
134
|
+
| **Workspaces** | Persistent, task-scoped environments with files, terminal, diffs, and previews |
|
|
135
|
+
| **Work Computer** | A watchable desktop with a browser for each agent — verified clicks and typing, take over for sign-ins, hear its audio, and teach it anchored tasks by demonstration |
|
|
136
|
+
| **Channels** | Public, private, and direct-message team conversations with threads, reactions, files, and `@model` |
|
|
137
|
+
| **Calendar** | Multiple shareable calendars with recurrence, reminders, and ICS import/export, encrypted at rest |
|
|
138
|
+
| **Automations** | Scheduled AI runs delivered as normal chat sessions |
|
|
139
|
+
| **Notifications** | Durable in-app inbox with live delivery and signed, egress-guarded outbound webhooks |
|
|
140
|
+
| **Notes** | Notebook with revision history, attachments, sharing, and reversible AI edits |
|
|
141
|
+
| **Personas** | Reusable assistant profiles with their own prompts, models, and memory |
|
|
142
|
+
| **Media generation** | Image generation and editing plus video generation, with a persistent gallery and retention controls |
|
|
143
|
+
| **Voice** | Speech-to-text dictation, text-to-speech playback, and hands-free voice mode with consent-aware voices |
|
|
144
|
+
| **Context management** | Context meter and undoable conversation compaction for long chats |
|
|
145
|
+
| **Agents** | Optional integration with installed agent CLIs and Libre Claw |
|
|
146
|
+
| **Sharing** | One grant model for chats, notes, knowledge, personas, prompts, skills, and calendars |
|
|
147
|
+
| **Accounts** | Local accounts, roles, groups, API tokens, and SSO |
|
|
148
|
+
| **Public API** | OpenAI-compatible `/v1` endpoints on scoped API tokens |
|
|
149
|
+
| **Evaluations** | Feedback with topic tags, blind arena matches with an Elo leaderboard, and reproducible eval runs |
|
|
150
|
+
| **Monitoring** | System diagnostics, usage analytics with tariffs and budgets, OpenTelemetry export, and an audit log |
|
|
151
|
+
| **Deployment** | npm, Docker Compose, Kubernetes, Helm, and desktop client |
|
|
152
|
+
| **Interface** | Tabs, full-text search across chats, notes, and documents, themes, and 25 locales including Arabic RTL |
|
|
152
153
|
|
|
153
154
|
## Models and providers
|
|
154
155
|
|
|
@@ -172,6 +173,7 @@ Supported integrations include:
|
|
|
172
173
|
- Qwen3-TTS
|
|
173
174
|
- Kyutai TTS
|
|
174
175
|
- MLX LM on Apple Silicon
|
|
176
|
+
- llama.cpp
|
|
175
177
|
- OpenAI-compatible services
|
|
176
178
|
|
|
177
179
|
Provider availability can change between releases. See the
|
|
@@ -193,7 +195,7 @@ Work task
|
|
|
193
195
|
├── Persistent conversation and run history
|
|
194
196
|
├── Dedicated workspace volume
|
|
195
197
|
├── Policy-checked command sandbox
|
|
196
|
-
└── Files · Activity · Terminal · Preview
|
|
198
|
+
└── Files · Activity · Changes · Terminal · Preview · Screen
|
|
197
199
|
```
|
|
198
200
|
|
|
199
201
|
Work can allow a model to:
|
|
@@ -201,10 +203,35 @@ Work can allow a model to:
|
|
|
201
203
|
- Read, create, edit, move, delete, and search files
|
|
202
204
|
- Run bounded shell commands
|
|
203
205
|
- Start and stop a browser preview
|
|
206
|
+
- Drive a real desktop with a browser through screenshots and input
|
|
204
207
|
- Produce syntax-highlighted code
|
|
205
208
|
- Show file diffs
|
|
206
209
|
- Continue work in the same environment later
|
|
207
210
|
|
|
211
|
+
**[▶ Watch a real run (2:22)](https://s3.librewebui.org/media/work-computer-demo.mp4?v=2)** —
|
|
212
|
+
a Work agent browsing NASA's galleries on its own screen, choosing
|
|
213
|
+
photos, then building and testing an interactive Three.js gallery,
|
|
214
|
+
unedited, from a single prompt.
|
|
215
|
+
|
|
216
|
+
https://github.com/user-attachments/assets/acd1ee80-c643-4622-bee6-3cdc2325a4ca
|
|
217
|
+
|
|
218
|
+
With the **Work Computer** enabled (one click for an administrator; the
|
|
219
|
+
GUI image is published ready to pull), each task also gets a live virtual
|
|
220
|
+
desktop: watch the agent browse in real time, unmute the computer's
|
|
221
|
+
audio, take over the mouse and keyboard for sign-ins or CAPTCHAs —
|
|
222
|
+
credentials go directly from your keyboard to the page, never through the
|
|
223
|
+
model — and teach reusable tasks by demonstrating them once on screen.
|
|
224
|
+
Taught playbooks name the controls that were clicked, carry the sites the
|
|
225
|
+
demonstration actually visited as their allowed scope, and collect a
|
|
226
|
+
worked/failed track record from your one-click reviews. The agent's own
|
|
227
|
+
actions are verified, not assumed: typing asserts the focused field,
|
|
228
|
+
batches stop when the screen changes underneath them, outcomes are
|
|
229
|
+
checked against declared expectations, and repeated no-effect actions end
|
|
230
|
+
the run asking for help instead of burning its budget. Policies decide
|
|
231
|
+
whether takeover is allowed at all. You can message the agent while it
|
|
232
|
+
works; it picks the message up at its next step without stopping the
|
|
233
|
+
run.
|
|
234
|
+
|
|
208
235
|
Work is disabled for regular users by default and never falls back to executing
|
|
209
236
|
commands directly on the host.
|
|
210
237
|
|
|
@@ -249,7 +276,7 @@ For multi-user deployments, Libre WebUI supports:
|
|
|
249
276
|
- Optional GitHub and Hugging Face OAuth, plus generic OIDC single sign-on
|
|
250
277
|
- An admin-facing security audit log
|
|
251
278
|
- AES-256-GCM encryption for sensitive application values
|
|
252
|
-
- Persistent SQLite storage
|
|
279
|
+
- Persistent SQLite storage, or PostgreSQL with S3 blobs and pgvector for the multi-replica team profile
|
|
253
280
|
- Configurable data directories
|
|
254
281
|
|
|
255
282
|
Application-layer encryption is not full-disk encryption or end-to-end
|
|
@@ -291,6 +318,7 @@ HTTP, web search, MCP, memory, approvals, and schedules.
|
|
|
291
318
|
| **External Ollama** | `docker compose -f docker-compose.external-ollama.yml up -d` | Use an existing Ollama instance |
|
|
292
319
|
| **NVIDIA Docker** | `docker compose -f docker-compose.gpu.yml up -d` | GPU-enabled local inference |
|
|
293
320
|
| **Kubernetes** | `helm install libre-webui oci://ghcr.io/libre-webui/charts/libre-webui` | Cluster deployment |
|
|
321
|
+
| **Team profile** | `docker compose -f docker-compose.team.yml up -d` | Multi-replica PostgreSQL + S3 deployment |
|
|
294
322
|
| **Desktop client** | [GitHub Releases](https://github.com/libre-webui/libre-webui/releases) | Desktop interface over a managed backend |
|
|
295
323
|
| **Source** | `npm install && npm run dev` | Development |
|
|
296
324
|
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PostgresMigration } from './postgresMigrationTypes.js';
|
|
2
|
+
/**
|
|
3
|
+
* Automations gain a run target: 'chat' keeps today's scheduled chat
|
|
4
|
+
* sessions, 'work' launches an isolated Work task instead, optionally under
|
|
5
|
+
* a named Work policy. Runs record the task they created.
|
|
6
|
+
*/
|
|
7
|
+
export declare const POSTGRES_AUTOMATION_WORK_TARGET_SQL = "ALTER TABLE automations ADD COLUMN target text NOT NULL DEFAULT 'chat' CHECK (target IN ('chat', 'work'));\nALTER TABLE automations ADD COLUMN work_policy_id text;\nALTER TABLE automation_runs ADD COLUMN work_task_id text;";
|
|
8
|
+
export declare const POSTGRES_AUTOMATION_WORK_TARGET_MIGRATION: PostgresMigration;
|
|
9
|
+
//# sourceMappingURL=postgresAutomationWorkTargetMigration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresAutomationWorkTargetMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresAutomationWorkTargetMigration.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AAIH,eAAO,MAAM,mCAAmC,mOAEU,CAAC;AAK3D,eAAO,MAAM,yCAAyC,EAAE,iBAcpD,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Libre WebUI
|
|
3
|
+
* Copyright (C) 2025 Kroonen AI, Inc.
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at:
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { createHash } from 'node:crypto';
|
|
18
|
+
/**
|
|
19
|
+
* Automations gain a run target: 'chat' keeps today's scheduled chat
|
|
20
|
+
* sessions, 'work' launches an isolated Work task instead, optionally under
|
|
21
|
+
* a named Work policy. Runs record the task they created.
|
|
22
|
+
*/
|
|
23
|
+
// CHECK expressions use the exact form PostgreSQL reconstructs in
|
|
24
|
+
// pg_get_constraintdef, so the schema inspector's declared and actual
|
|
25
|
+
// constraint texts normalize identically.
|
|
26
|
+
export const POSTGRES_AUTOMATION_WORK_TARGET_SQL = `ALTER TABLE automations ADD COLUMN target text NOT NULL DEFAULT 'chat' CHECK (target IN ('chat', 'work'));
|
|
27
|
+
ALTER TABLE automations ADD COLUMN work_policy_id text;
|
|
28
|
+
ALTER TABLE automation_runs ADD COLUMN work_task_id text;`;
|
|
29
|
+
const version = 21;
|
|
30
|
+
const name = 'automation-work-target';
|
|
31
|
+
export const POSTGRES_AUTOMATION_WORK_TARGET_MIGRATION = Object.freeze({
|
|
32
|
+
version,
|
|
33
|
+
name,
|
|
34
|
+
checksum: createHash('sha256')
|
|
35
|
+
.update(`${version}\n${name}\n${POSTGRES_AUTOMATION_WORK_TARGET_SQL}`)
|
|
36
|
+
.digest('hex'),
|
|
37
|
+
sql: POSTGRES_AUTOMATION_WORK_TARGET_SQL,
|
|
38
|
+
rollbackPlan: 'ALTER TABLE automations DROP COLUMN target, DROP COLUMN ' +
|
|
39
|
+
'work_policy_id; ALTER TABLE automation_runs DROP COLUMN ' +
|
|
40
|
+
'work_task_id; delete ledger row 21. Every automation reverts to ' +
|
|
41
|
+
'running as a scheduled chat session.',
|
|
42
|
+
minimumCompatibleVersion: 21,
|
|
43
|
+
});
|
|
44
|
+
//# sourceMappingURL=postgresAutomationWorkTargetMigration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"postgresAutomationWorkTargetMigration.js","sourceRoot":"","sources":["../../src/persistence/postgresAutomationWorkTargetMigration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC;;;;GAIG;AACH,kEAAkE;AAClE,sEAAsE;AACtE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,mCAAmC,GAAG;;0DAEO,CAAC;AAE3D,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAEtC,MAAM,CAAC,MAAM,yCAAyC,GACpD,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO;IACP,IAAI;IACJ,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC;SAC3B,MAAM,CAAC,GAAG,OAAO,KAAK,IAAI,KAAK,mCAAmC,EAAE,CAAC;SACrE,MAAM,CAAC,KAAK,CAAC;IAChB,GAAG,EAAE,mCAAmC;IACxC,YAAY,EACV,0DAA0D;QAC1D,0DAA0D;QAC1D,kEAAkE;QAClE,sCAAsC;IACxC,wBAAwB,EAAE,EAAE;CAC7B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresMfaPushRecoveryMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMfaPushRecoveryMigration.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"postgresMfaPushRecoveryMigration.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMfaPushRecoveryMigration.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE;;;;GAIG;AAIH,eAAO,MAAM,8BAA8B,ywDAgET,CAAC;AASnC,eAAO,MAAM,oCAAoC,EAAE,iBAa/C,CAAC"}
|
|
@@ -14,7 +14,6 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { createHash } from 'node:crypto';
|
|
18
17
|
/**
|
|
19
18
|
* Account-security and client-delivery schema: TOTP multi-factor state with
|
|
20
19
|
* one-time recovery codes, WebAuthn passkey credentials, browser Web Push
|
|
@@ -90,12 +89,13 @@ CREATE INDEX idx_recovery_drills_started
|
|
|
90
89
|
ON recovery_drills(started_at);`;
|
|
91
90
|
const version = 20;
|
|
92
91
|
const name = 'mfa-push-recovery';
|
|
92
|
+
// Frozen integrity checksum of `${version}\n${name}\n${SQL}`. This migration is
|
|
93
|
+
// already released, so changing its DDL must fail registry validation.
|
|
94
|
+
const checksum = '91906a765da28e48e7d1e2d82a230f76ab06fe934a12f8cc06658ffd75671e23';
|
|
93
95
|
export const POSTGRES_MFA_PUSH_RECOVERY_MIGRATION = Object.freeze({
|
|
94
96
|
version,
|
|
95
97
|
name,
|
|
96
|
-
checksum
|
|
97
|
-
.update(`${version}\n${name}\n${POSTGRES_MFA_PUSH_RECOVERY_SQL}`)
|
|
98
|
-
.digest('hex'),
|
|
98
|
+
checksum,
|
|
99
99
|
sql: POSTGRES_MFA_PUSH_RECOVERY_SQL,
|
|
100
100
|
rollbackPlan: 'DROP TABLE recovery_drills, push_subscriptions, ' +
|
|
101
101
|
'webauthn_credentials, mfa_recovery_codes, user_mfa; delete ledger ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresMfaPushRecoveryMigration.js","sourceRoot":"","sources":["../../src/persistence/postgresMfaPushRecoveryMigration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;
|
|
1
|
+
{"version":3,"file":"postgresMfaPushRecoveryMigration.js","sourceRoot":"","sources":["../../src/persistence/postgresMfaPushRecoveryMigration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH;;;;GAIG;AACH,kEAAkE;AAClE,sEAAsE;AACtE,0CAA0C;AAC1C,MAAM,CAAC,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kCAgEZ,CAAC;AAEnC,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC;AACjC,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,QAAQ,GACZ,kEAAkE,CAAC;AAErE,MAAM,CAAC,MAAM,oCAAoC,GAC/C,MAAM,CAAC,MAAM,CAAC;IACZ,OAAO;IACP,IAAI;IACJ,QAAQ;IACR,GAAG,EAAE,8BAA8B;IACnC,YAAY,EACV,kDAAkD;QAClD,oEAAoE;QACpE,oEAAoE;QACpE,oEAAoE;QACpE,WAAW;IACb,wBAAwB,EAAE,EAAE;CAC7B,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresMigrationRegistry.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMigrationRegistry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"postgresMigrationRegistry.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresMigrationRegistry.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,+EAA+E;AAC/E,eAAO,MAAM,mBAAmB,EAAE,SAAS,iBAAiB,EA6BzD,CAAC"}
|
|
@@ -22,6 +22,9 @@ import { POSTGRES_NOTES_V2_MIGRATION } from './postgresNotesV2Migration.js';
|
|
|
22
22
|
import { POSTGRES_TEAM_COLLABORATION_MIGRATION } from './postgresTeamCollaborationMigration.js';
|
|
23
23
|
import { POSTGRES_MEDIA_ENTERPRISE_OPS_MIGRATION } from './postgresMediaEnterpriseOpsMigration.js';
|
|
24
24
|
import { POSTGRES_MFA_PUSH_RECOVERY_MIGRATION } from './postgresMfaPushRecoveryMigration.js';
|
|
25
|
+
import { POSTGRES_AUTOMATION_WORK_TARGET_MIGRATION } from './postgresAutomationWorkTargetMigration.js';
|
|
26
|
+
import { POSTGRES_WORK_COMPUTER_MIGRATION } from './postgresWorkComputerMigration.js';
|
|
27
|
+
import { POSTGRES_WORK_TAKEOVER_MIGRATION } from './postgresWorkTakeoverMigration.js';
|
|
25
28
|
import { validatePostgresMigrationRegistry } from './postgresMigrations.js';
|
|
26
29
|
/** Ordered, immutable schema contract consumed by every PostgreSQL replica. */
|
|
27
30
|
export const POSTGRES_MIGRATIONS = validatePostgresMigrationRegistry(Object.freeze([
|
|
@@ -45,5 +48,8 @@ export const POSTGRES_MIGRATIONS = validatePostgresMigrationRegistry(Object.free
|
|
|
45
48
|
POSTGRES_TEAM_COLLABORATION_MIGRATION,
|
|
46
49
|
POSTGRES_MEDIA_ENTERPRISE_OPS_MIGRATION,
|
|
47
50
|
POSTGRES_MFA_PUSH_RECOVERY_MIGRATION,
|
|
51
|
+
POSTGRES_AUTOMATION_WORK_TARGET_MIGRATION,
|
|
52
|
+
POSTGRES_WORK_COMPUTER_MIGRATION,
|
|
53
|
+
POSTGRES_WORK_TAKEOVER_MIGRATION,
|
|
48
54
|
].map(migration => Object.freeze({ ...migration }))));
|
|
49
55
|
//# sourceMappingURL=postgresMigrationRegistry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresMigrationRegistry.js","sourceRoot":"","sources":["../../src/persistence/postgresMigrationRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AACzG,OAAO,EAAE,4CAA4C,EAAE,MAAM,8DAA8D,CAAC;AAC5H,OAAO,EAAE,6CAA6C,EAAE,MAAM,8DAA8D,CAAC;AAC7H,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,8CAA8C,EAAE,MAAM,mEAAmE,CAAC;AACnI,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,iCAAiC,EAAE,MAAM,+DAA+D,CAAC;AAClH,OAAO,EAAE,uCAAuC,EAAE,MAAM,oEAAoE,CAAC;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresMigrationRegistry.js","sourceRoot":"","sources":["../../src/persistence/postgresMigrationRegistry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,sCAAsC,EAAE,MAAM,iDAAiD,CAAC;AACzG,OAAO,EAAE,4CAA4C,EAAE,MAAM,8DAA8D,CAAC;AAC5H,OAAO,EAAE,6CAA6C,EAAE,MAAM,8DAA8D,CAAC;AAC7H,OAAO,EACL,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAE,8CAA8C,EAAE,MAAM,mEAAmE,CAAC;AACnI,OAAO,EAAE,mCAAmC,EAAE,MAAM,sDAAsD,CAAC;AAC3G,OAAO,EAAE,iCAAiC,EAAE,MAAM,+DAA+D,CAAC;AAClH,OAAO,EAAE,uCAAuC,EAAE,MAAM,oEAAoE,CAAC;AAC7H,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,4BAA4B,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,uCAAuC,EAAE,MAAM,2CAA2C,CAAC;AACpG,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAC5F,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,uCAAuC,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,yCAAyC,EAAE,MAAM,4CAA4C,CAAC;AACvG,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAEtF,OAAO,EAAE,iCAAiC,EAAE,MAAM,yBAAyB,CAAC;AAE5E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAC9B,iCAAiC,CAC/B,MAAM,CAAC,MAAM,CACX;IACE,uBAAuB;IACvB,uBAAuB;IACvB,yBAAyB;IACzB,sCAAsC;IACtC,4BAA4B;IAC5B,mCAAmC;IACnC,oCAAoC;IACpC,iCAAiC;IACjC,4CAA4C;IAC5C,8CAA8C;IAC9C,uCAAuC;IACvC,6CAA6C;IAC7C,mCAAmC;IACnC,uCAAuC;IACvC,mCAAmC;IACnC,8BAA8B;IAC9B,2BAA2B;IAC3B,qCAAqC;IACrC,uCAAuC;IACvC,oCAAoC;IACpC,yCAAyC;IACzC,gCAAgC;IAChC,gCAAgC;CACjC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,EAAE,CAAC,CAAC,CACpD,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"postgresResourceRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresResourceRepositories.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAyEhC,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"postgresResourceRepositories.d.ts","sourceRoot":"","sources":["../../src/persistence/postgresResourceRepositories.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,IAAI,CAAC;AAErD,OAAO,KAAK,EACV,+BAA+B,EAyEhC,MAAM,oBAAoB,CAAC;AAM5B,OAAO,KAAK,EACV,gBAAgB,EAEjB,MAAM,uBAAuB,CAAC;AAo0I/B,eAAO,MAAM,kCAAkC,aACnC,gBAAgB,KACzB,+BA+BD,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,+CAA+C,aAChD,gBAAgB,UAClB,UAAU,KACjB,+BAOF,CAAC"}
|
|
@@ -1426,8 +1426,10 @@ class PostgresAutomationRepository {
|
|
|
1426
1426
|
}
|
|
1427
1427
|
const result = await client.query(`INSERT INTO automations
|
|
1428
1428
|
(id, user_id, name, instructions, triggers, provider, model,
|
|
1429
|
-
notify, status,
|
|
1430
|
-
|
|
1429
|
+
notify, status, target, work_policy_id, next_run_at,
|
|
1430
|
+
last_run_at, created_at, updated_at)
|
|
1431
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13,
|
|
1432
|
+
$14, $15)
|
|
1431
1433
|
ON CONFLICT (id) DO UPDATE SET
|
|
1432
1434
|
name = EXCLUDED.name,
|
|
1433
1435
|
instructions = EXCLUDED.instructions,
|
|
@@ -1436,6 +1438,8 @@ class PostgresAutomationRepository {
|
|
|
1436
1438
|
model = EXCLUDED.model,
|
|
1437
1439
|
notify = EXCLUDED.notify,
|
|
1438
1440
|
status = EXCLUDED.status,
|
|
1441
|
+
target = EXCLUDED.target,
|
|
1442
|
+
work_policy_id = EXCLUDED.work_policy_id,
|
|
1439
1443
|
next_run_at = EXCLUDED.next_run_at,
|
|
1440
1444
|
last_run_at = EXCLUDED.last_run_at,
|
|
1441
1445
|
updated_at = EXCLUDED.updated_at
|
|
@@ -1449,6 +1453,8 @@ class PostgresAutomationRepository {
|
|
|
1449
1453
|
value.model,
|
|
1450
1454
|
value.notify,
|
|
1451
1455
|
value.status,
|
|
1456
|
+
value.target,
|
|
1457
|
+
value.work_policy_id,
|
|
1452
1458
|
value.next_run_at,
|
|
1453
1459
|
value.last_run_at,
|
|
1454
1460
|
value.created_at,
|
|
@@ -1488,8 +1494,9 @@ class PostgresAutomationRunRepository {
|
|
|
1488
1494
|
async insert(run) {
|
|
1489
1495
|
await this.database.query(`INSERT INTO automation_runs
|
|
1490
1496
|
(id, automation_id, user_id, scheduled_for, started_at, finished_at,
|
|
1491
|
-
status, session_id, assistant_message_id,
|
|
1492
|
-
|
|
1497
|
+
status, session_id, assistant_message_id, work_task_id, error,
|
|
1498
|
+
seen_at, created_at)
|
|
1499
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13)`, [
|
|
1493
1500
|
run.id,
|
|
1494
1501
|
run.automation_id,
|
|
1495
1502
|
run.user_id,
|
|
@@ -1499,6 +1506,7 @@ class PostgresAutomationRunRepository {
|
|
|
1499
1506
|
run.status,
|
|
1500
1507
|
run.session_id,
|
|
1501
1508
|
run.assistant_message_id,
|
|
1509
|
+
run.work_task_id,
|
|
1502
1510
|
run.error,
|
|
1503
1511
|
run.seen_at,
|
|
1504
1512
|
run.created_at,
|
|
@@ -1543,6 +1551,11 @@ class PostgresAutomationRunRepository {
|
|
|
1543
1551
|
status = 'running'
|
|
1544
1552
|
WHERE id = $4 AND status = 'queued'`, [sessionId, assistantMessageId, startedAt, runId])).rowCount) > 0);
|
|
1545
1553
|
}
|
|
1554
|
+
async markStartedWork(runId, workTaskId, startedAt) {
|
|
1555
|
+
return (changes((await this.database.query(`UPDATE automation_runs
|
|
1556
|
+
SET work_task_id = $1, started_at = $2, status = 'running'
|
|
1557
|
+
WHERE id = $3 AND status = 'queued'`, [workTaskId, startedAt, runId])).rowCount) > 0);
|
|
1558
|
+
}
|
|
1546
1559
|
async finalize(runId, status, finishedAt, error) {
|
|
1547
1560
|
return (changes((await this.database.query(`UPDATE automation_runs
|
|
1548
1561
|
SET status = $1, finished_at = $2, error = $3
|