@withbuddi/buddi 0.1.0-pre.40 → 0.1.0-pre.42
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/extension/background.js +11 -0
- package/extension/manifest.json +2 -2
- package/extension/popup.html +1 -1
- package/extension/popup.js +83 -1
- package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/cli/dist/args.d.ts +2 -0
- package/node_modules/@buddi/cli/dist/args.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/args.js +11 -2
- package/node_modules/@buddi/cli/dist/args.js.map +1 -1
- package/node_modules/@buddi/cli/dist/backup/index.d.ts +3 -1
- package/node_modules/@buddi/cli/dist/backup/index.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/backup/index.js +16 -1
- package/node_modules/@buddi/cli/dist/backup/index.js.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/commands.js +6 -4
- package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
- package/node_modules/@buddi/cli/dist/main.d.ts +4 -1
- package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/main.js +41 -3
- package/node_modules/@buddi/cli/dist/main.js.map +1 -1
- package/node_modules/@buddi/cli/dist/mode.d.ts +41 -0
- package/node_modules/@buddi/cli/dist/mode.d.ts.map +1 -0
- package/node_modules/@buddi/cli/dist/mode.js +103 -0
- package/node_modules/@buddi/cli/dist/mode.js.map +1 -0
- package/node_modules/@buddi/cli/dist/paths.d.ts +13 -1
- package/node_modules/@buddi/cli/dist/paths.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/paths.js +23 -2
- package/node_modules/@buddi/cli/dist/paths.js.map +1 -1
- package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts +12 -2
- package/node_modules/@buddi/cli/dist/uninstall-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/uninstall-cmd.js +63 -12
- package/node_modules/@buddi/cli/dist/uninstall-cmd.js.map +1 -1
- package/node_modules/@buddi/cli/dist/vault-cmd.d.ts +3 -0
- package/node_modules/@buddi/cli/dist/vault-cmd.d.ts.map +1 -1
- package/node_modules/@buddi/cli/dist/vault-cmd.js +26 -5
- package/node_modules/@buddi/cli/dist/vault-cmd.js.map +1 -1
- package/node_modules/@buddi/cli/package.json +4 -0
- package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/core/dist/uninstall.d.ts +18 -0
- package/node_modules/@buddi/core/dist/uninstall.d.ts.map +1 -1
- package/node_modules/@buddi/core/dist/uninstall.js +47 -0
- package/node_modules/@buddi/core/dist/uninstall.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/codex-accounts.js +4 -4
- package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/serve.js +31 -0
- package/node_modules/@buddi/gateway/dist/serve.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/api-routes.js +23 -3
- package/node_modules/@buddi/gateway/dist/web/api-routes.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/cli-tool.d.ts +11 -0
- package/node_modules/@buddi/gateway/dist/web/cli-tool.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/cli-tool.js +27 -0
- package/node_modules/@buddi/gateway/dist/web/cli-tool.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts +37 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +138 -11
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts +18 -0
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.js +17 -2
- package/node_modules/@buddi/gateway/dist/web/lock.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts +19 -2
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +9 -2
- package/node_modules/@buddi/gateway/dist/web/onboarding.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/passphrase-notice.d.ts +64 -0
- package/node_modules/@buddi/gateway/dist/web/passphrase-notice.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/passphrase-notice.js +112 -0
- package/node_modules/@buddi/gateway/dist/web/passphrase-notice.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/server.js +75 -7
- package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts +19 -0
- package/node_modules/@buddi/gateway/dist/web/signed-out.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/signed-out.js +61 -3
- package/node_modules/@buddi/gateway/dist/web/signed-out.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/take-on.d.ts +28 -3
- package/node_modules/@buddi/gateway/dist/web/take-on.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/take-on.js +48 -3
- package/node_modules/@buddi/gateway/dist/web/take-on.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/uninstall.d.ts +36 -0
- package/node_modules/@buddi/gateway/dist/web/uninstall.d.ts.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/uninstall.js +116 -0
- package/node_modules/@buddi/gateway/dist/web/uninstall.js.map +1 -0
- package/node_modules/@buddi/gateway/dist/web/widgets.d.ts +2 -0
- package/node_modules/@buddi/gateway/dist/web/widgets.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/widgets.js +47 -13
- package/node_modules/@buddi/gateway/dist/web/widgets.js.map +1 -1
- package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/install/dist/app-layout.d.ts +4 -0
- package/node_modules/@buddi/install/dist/app-layout.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/app-layout.js +6 -0
- package/node_modules/@buddi/install/dist/app-layout.js.map +1 -1
- package/node_modules/@buddi/install/dist/cli-shim.d.ts +78 -0
- package/node_modules/@buddi/install/dist/cli-shim.d.ts.map +1 -0
- package/node_modules/@buddi/install/dist/cli-shim.js +219 -0
- package/node_modules/@buddi/install/dist/cli-shim.js.map +1 -0
- package/node_modules/@buddi/install/dist/doctor-timezone.js +1 -1
- package/node_modules/@buddi/install/dist/doctor-timezone.js.map +1 -1
- package/node_modules/@buddi/install/dist/environment.d.ts +90 -1
- package/node_modules/@buddi/install/dist/environment.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/environment.js +216 -3
- package/node_modules/@buddi/install/dist/environment.js.map +1 -1
- package/node_modules/@buddi/install/dist/kept-data.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/kept-data.js +3 -1
- package/node_modules/@buddi/install/dist/kept-data.js.map +1 -1
- package/node_modules/@buddi/install/dist/launcher.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/launcher.js +231 -6
- package/node_modules/@buddi/install/dist/launcher.js.map +1 -1
- package/node_modules/@buddi/install/dist/product-uninstall.d.ts +86 -0
- package/node_modules/@buddi/install/dist/product-uninstall.d.ts.map +1 -0
- package/node_modules/@buddi/install/dist/product-uninstall.js +150 -0
- package/node_modules/@buddi/install/dist/product-uninstall.js.map +1 -0
- package/node_modules/@buddi/install/dist/supervisor.d.ts +59 -1
- package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/supervisor.js +288 -19
- package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
- package/node_modules/@buddi/install/dist/uninstall.d.ts +37 -1
- package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/uninstall.js +150 -38
- package/node_modules/@buddi/install/dist/uninstall.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +6 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/codex-oauth.js +15 -0
- package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.d.ts +9 -2
- package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
- package/node_modules/@buddi/runtime/dist/openai.js +117 -16
- package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
- package/node_modules/@buddi/tool-browser/dist/availability.d.ts +2 -2
- package/node_modules/@buddi/tool-browser/dist/availability.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/availability.js +2 -2
- package/node_modules/@buddi/tool-browser/dist/availability.js.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.d.ts.map +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js +1 -1
- package/node_modules/@buddi/tool-browser/dist/controller.js.map +1 -1
- package/node_modules/@zone-eu/mailsplit/package.json +4 -4
- package/node_modules/imapflow/CHANGELOG.md +7 -0
- package/node_modules/imapflow/dist/cjs/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/cjs/package-info.js +1 -1
- package/node_modules/imapflow/dist/esm/package-info.d.ts +1 -1
- package/node_modules/imapflow/dist/esm/package-info.js +1 -1
- package/node_modules/imapflow/package.json +4 -4
- package/node_modules/libbase64/CHANGELOG.md +7 -0
- package/node_modules/libbase64/lib/libbase64.js +110 -58
- package/node_modules/libbase64/package.json +1 -1
- package/node_modules/libmime/CHANGELOG.md +7 -0
- package/node_modules/libmime/package.json +2 -2
- package/package.json +2 -2
- package/packages/cli/dist/.tsbuildinfo +1 -1
- package/packages/cli/dist/args.d.ts +2 -0
- package/packages/cli/dist/args.d.ts.map +1 -1
- package/packages/cli/dist/args.js +11 -2
- package/packages/cli/dist/args.js.map +1 -1
- package/packages/cli/dist/backup/index.d.ts +3 -1
- package/packages/cli/dist/backup/index.d.ts.map +1 -1
- package/packages/cli/dist/backup/index.js +16 -1
- package/packages/cli/dist/backup/index.js.map +1 -1
- package/packages/cli/dist/commands.d.ts.map +1 -1
- package/packages/cli/dist/commands.js +6 -4
- package/packages/cli/dist/commands.js.map +1 -1
- package/packages/cli/dist/main.d.ts +4 -1
- package/packages/cli/dist/main.d.ts.map +1 -1
- package/packages/cli/dist/main.js +41 -3
- package/packages/cli/dist/main.js.map +1 -1
- package/packages/cli/dist/mode.d.ts +41 -0
- package/packages/cli/dist/mode.d.ts.map +1 -0
- package/packages/cli/dist/mode.js +103 -0
- package/packages/cli/dist/mode.js.map +1 -0
- package/packages/cli/dist/paths.d.ts +13 -1
- package/packages/cli/dist/paths.d.ts.map +1 -1
- package/packages/cli/dist/paths.js +23 -2
- package/packages/cli/dist/paths.js.map +1 -1
- package/packages/cli/dist/uninstall-cmd.d.ts +12 -2
- package/packages/cli/dist/uninstall-cmd.d.ts.map +1 -1
- package/packages/cli/dist/uninstall-cmd.js +63 -12
- package/packages/cli/dist/uninstall-cmd.js.map +1 -1
- package/packages/cli/dist/vault-cmd.d.ts +3 -0
- package/packages/cli/dist/vault-cmd.d.ts.map +1 -1
- package/packages/cli/dist/vault-cmd.js +26 -5
- package/packages/cli/dist/vault-cmd.js.map +1 -1
- package/packages/cli/package.json +4 -0
- package/packages/core/dist/.tsbuildinfo +1 -1
- package/packages/core/dist/uninstall.d.ts +18 -0
- package/packages/core/dist/uninstall.d.ts.map +1 -1
- package/packages/core/dist/uninstall.js +47 -0
- package/packages/core/dist/uninstall.js.map +1 -1
- package/packages/gateway/dist/.tsbuildinfo +1 -1
- package/packages/gateway/dist/codex-accounts.d.ts +2 -0
- package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
- package/packages/gateway/dist/codex-accounts.js +4 -4
- package/packages/gateway/dist/codex-accounts.js.map +1 -1
- package/packages/gateway/dist/serve.d.ts.map +1 -1
- package/packages/gateway/dist/serve.js +31 -0
- package/packages/gateway/dist/serve.js.map +1 -1
- package/packages/gateway/dist/web/api-routes.d.ts.map +1 -1
- package/packages/gateway/dist/web/api-routes.js +23 -3
- package/packages/gateway/dist/web/api-routes.js.map +1 -1
- package/packages/gateway/dist/web/cli-tool.d.ts +11 -0
- package/packages/gateway/dist/web/cli-tool.d.ts.map +1 -0
- package/packages/gateway/dist/web/cli-tool.js +27 -0
- package/packages/gateway/dist/web/cli-tool.js.map +1 -0
- package/packages/gateway/dist/web/extension.d.ts +37 -0
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +138 -11
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/lock.d.ts +18 -0
- package/packages/gateway/dist/web/lock.d.ts.map +1 -1
- package/packages/gateway/dist/web/lock.js +17 -2
- package/packages/gateway/dist/web/lock.js.map +1 -1
- package/packages/gateway/dist/web/onboarding.d.ts +19 -2
- package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +9 -2
- package/packages/gateway/dist/web/onboarding.js.map +1 -1
- package/packages/gateway/dist/web/passphrase-notice.d.ts +64 -0
- package/packages/gateway/dist/web/passphrase-notice.d.ts.map +1 -0
- package/packages/gateway/dist/web/passphrase-notice.js +112 -0
- package/packages/gateway/dist/web/passphrase-notice.js.map +1 -0
- package/packages/gateway/dist/web/server.d.ts.map +1 -1
- package/packages/gateway/dist/web/server.js +75 -7
- package/packages/gateway/dist/web/server.js.map +1 -1
- package/packages/gateway/dist/web/signed-out.d.ts +19 -0
- package/packages/gateway/dist/web/signed-out.d.ts.map +1 -1
- package/packages/gateway/dist/web/signed-out.js +61 -3
- package/packages/gateway/dist/web/signed-out.js.map +1 -1
- package/packages/gateway/dist/web/take-on.d.ts +28 -3
- package/packages/gateway/dist/web/take-on.d.ts.map +1 -1
- package/packages/gateway/dist/web/take-on.js +48 -3
- package/packages/gateway/dist/web/take-on.js.map +1 -1
- package/packages/gateway/dist/web/uninstall.d.ts +36 -0
- package/packages/gateway/dist/web/uninstall.d.ts.map +1 -0
- package/packages/gateway/dist/web/uninstall.js +116 -0
- package/packages/gateway/dist/web/uninstall.js.map +1 -0
- package/packages/gateway/dist/web/widgets.d.ts +2 -0
- package/packages/gateway/dist/web/widgets.d.ts.map +1 -1
- package/packages/gateway/dist/web/widgets.js +47 -13
- package/packages/gateway/dist/web/widgets.js.map +1 -1
- package/packages/install/dist/.tsbuildinfo +1 -1
- package/packages/install/dist/app-layout.d.ts +4 -0
- package/packages/install/dist/app-layout.d.ts.map +1 -1
- package/packages/install/dist/app-layout.js +6 -0
- package/packages/install/dist/app-layout.js.map +1 -1
- package/packages/install/dist/cli-shim.d.ts +78 -0
- package/packages/install/dist/cli-shim.d.ts.map +1 -0
- package/packages/install/dist/cli-shim.js +219 -0
- package/packages/install/dist/cli-shim.js.map +1 -0
- package/packages/install/dist/doctor-timezone.js +1 -1
- package/packages/install/dist/doctor-timezone.js.map +1 -1
- package/packages/install/dist/environment.d.ts +90 -1
- package/packages/install/dist/environment.d.ts.map +1 -1
- package/packages/install/dist/environment.js +216 -3
- package/packages/install/dist/environment.js.map +1 -1
- package/packages/install/dist/kept-data.d.ts.map +1 -1
- package/packages/install/dist/kept-data.js +3 -1
- package/packages/install/dist/kept-data.js.map +1 -1
- package/packages/install/dist/launcher.d.ts.map +1 -1
- package/packages/install/dist/launcher.js +231 -6
- package/packages/install/dist/launcher.js.map +1 -1
- package/packages/install/dist/product-uninstall.d.ts +86 -0
- package/packages/install/dist/product-uninstall.d.ts.map +1 -0
- package/packages/install/dist/product-uninstall.js +150 -0
- package/packages/install/dist/product-uninstall.js.map +1 -0
- package/packages/install/dist/supervisor.d.ts +59 -1
- package/packages/install/dist/supervisor.d.ts.map +1 -1
- package/packages/install/dist/supervisor.js +288 -19
- package/packages/install/dist/supervisor.js.map +1 -1
- package/packages/install/dist/uninstall.d.ts +37 -1
- package/packages/install/dist/uninstall.d.ts.map +1 -1
- package/packages/install/dist/uninstall.js +150 -38
- package/packages/install/dist/uninstall.js.map +1 -1
- package/packages/runtime/dist/.tsbuildinfo +1 -1
- package/packages/runtime/dist/codex-oauth.d.ts +6 -0
- package/packages/runtime/dist/codex-oauth.d.ts.map +1 -1
- package/packages/runtime/dist/codex-oauth.js +15 -0
- package/packages/runtime/dist/codex-oauth.js.map +1 -1
- package/packages/runtime/dist/openai.d.ts +9 -2
- package/packages/runtime/dist/openai.d.ts.map +1 -1
- package/packages/runtime/dist/openai.js +117 -16
- package/packages/runtime/dist/openai.js.map +1 -1
- package/packages/tools/browser/dist/.tsbuildinfo +1 -1
- package/packages/tools/browser/dist/availability.d.ts +2 -2
- package/packages/tools/browser/dist/availability.d.ts.map +1 -1
- package/packages/tools/browser/dist/availability.js +2 -2
- package/packages/tools/browser/dist/availability.js.map +1 -1
- package/packages/tools/browser/dist/controller.d.ts +1 -1
- package/packages/tools/browser/dist/controller.d.ts.map +1 -1
- package/packages/tools/browser/dist/controller.js +1 -1
- package/packages/tools/browser/dist/controller.js.map +1 -1
- package/packages/web/dist/assets/{index-DYfeUW-0.css → index-BrA8nWN-.css} +1 -1
- package/packages/web/dist/assets/index-lmUTDd2T.js +146 -0
- package/packages/web/dist/assets/{lottie_light-DB7hai8n.js → lottie_light-CQmEj1as.js} +1 -1
- package/packages/web/dist/build.json +1 -1
- package/packages/web/dist/index.html +2 -2
- package/packages/web/dist/precache.json +4 -4
- package/packages/web/dist/assets/index-CO4OawAX.js +0 -146
|
@@ -61,7 +61,7 @@ import { setDelegatesFromWeb } from './write.js';
|
|
|
61
61
|
import { mlxhBaseUrl, probeMlxh } from '../mlxh.js';
|
|
62
62
|
import { PullRefusal, createOllamaPulls, ollamaMachine } from '../ollama-local.js';
|
|
63
63
|
import { OnboardingRefusal, hasOwnerAgent, WEB_ONBOARDING_STEPS, WEB_ONBOARDING_SURFACE, claimOpeningTurn, createFirstAgent, OLLAMA_BASE_URL, probeOllama, readOnboarding, rebindBrain, updateFirstAgent, withFirstRunFacts, readFirstAgentPersona } from './onboarding.js';
|
|
64
|
-
import { TakeOnRefusal, readTakeOn, startTakeOn } from './take-on.js';
|
|
64
|
+
import { TakeOnRefusal, readTakeOn, readTakeOnOffers, startTakeOn } from './take-on.js';
|
|
65
65
|
import { TelegramWebError, saveTelegramToken, telegramBot, telegramDevices, telegramPairing, telegramStatus, unpairTelegramDevice, } from './telegram.js';
|
|
66
66
|
import { PAGE_ROUTE, sendPageFile, actOnPage, actRateLimited, listPageDescriptors, runPageQuery, } from './pages.js';
|
|
67
67
|
import { listSecrets, ownerLoginKey, ownerLoginNames, ownerLoginStore, secretUses, secretsAct } from './secrets.js';
|
|
@@ -103,7 +103,7 @@ import { ownerSecretTokenStore } from './access/cloudflare-token.js';
|
|
|
103
103
|
import { createAccessRegistry } from './access/registry.js';
|
|
104
104
|
import { createIngress } from './access/ingress.js';
|
|
105
105
|
import { clientKey } from './client-key.js';
|
|
106
|
-
import { retryHref, sendSignedOut, wantsSignedOutPage } from './signed-out.js';
|
|
106
|
+
import { appLinkFor, retryHref, sendSignedOut, wantsSignedOutPage } from './signed-out.js';
|
|
107
107
|
import { extensionEndpoint } from './extension.js';
|
|
108
108
|
import { REMOTE_HAND_SOCKET_PATH, RemoteHandEndpoint } from './remote-hand.js';
|
|
109
109
|
import { csrfCookieName, CSRF_HEADER, sessionCookieName, requestPort, BodyTooLargeError, first, cookieHeader, parseCookies, parseUrl, readJsonBody, requestOrigin, requestScope, sendEmpty, sendJson, sendText, } from './http.js';
|
|
@@ -136,6 +136,9 @@ import { StreamBudget, frame, resumeCursor, streamConversation } from './stream.
|
|
|
136
136
|
import { ensureWebToken, verifyTicket } from './token.js';
|
|
137
137
|
import { MAX_UPLOAD_BYTES, readUpload } from './upload.js';
|
|
138
138
|
import { LOCKED_BODY, LockUnavailable, allowedWhileLocked, clientOf, createLock } from './lock.js';
|
|
139
|
+
import { acknowledgePassphrase, passphraseNotice } from './passphrase-notice.js';
|
|
140
|
+
import { cliToolRoute } from './cli-tool.js';
|
|
141
|
+
import { createTokenStore, uninstallBackupRoute, uninstallJobRoute, uninstallPlanRoute, uninstallRoute as removeBuddiRoute, withoutPassphrase } from './uninstall.js';
|
|
139
142
|
import { matchApiRoute, TOKEN_REFUSALS } from './api-routes.js';
|
|
140
143
|
import { QUIET_UNAVAILABLE_TEXT, pluginCommands } from './composer.js';
|
|
141
144
|
import { createEngagementHooks } from '../missions/engagement.js';
|
|
@@ -345,7 +348,7 @@ export function createWebApp(deps) {
|
|
|
345
348
|
const ollamaPulls = deps.ollamaPulls ?? createOllamaPulls({ baseUrl: OLLAMA_BASE_URL });
|
|
346
349
|
const machine = deps.ollamaMachine ?? (() => ollamaMachine());
|
|
347
350
|
// Home's widgets: one cache per server (web/widgets.ts).
|
|
348
|
-
const widgets = createWidgets({ pool: deps.pool, registry: deps.registry, ctx: deps.ctx, now: deps.now });
|
|
351
|
+
const widgets = createWidgets({ pool: deps.pool, registry: deps.registry, ctx: deps.ctx, now: deps.now, log });
|
|
349
352
|
/*
|
|
350
353
|
* The lock screen (web/lock.ts): which sessions are locked, the PIN, the
|
|
351
354
|
* gate below. A session that locks has its streams closed and its remote
|
|
@@ -370,6 +373,8 @@ export function createWebApp(deps) {
|
|
|
370
373
|
},
|
|
371
374
|
recoveryActive: () => inRecovery(deps.pool),
|
|
372
375
|
});
|
|
376
|
+
/** Remove buddi from this Mac: the token its plan mints (web/uninstall.ts). */
|
|
377
|
+
const uninstallTokens = createTokenStore();
|
|
373
378
|
const lock = createLock({ pool: deps.pool, sessions, now: deps.now, get timezone() { return deps.timezone; }, widgets, needsYou, log });
|
|
374
379
|
const openStreams = new Map();
|
|
375
380
|
/*
|
|
@@ -784,6 +789,8 @@ export function createWebApp(deps) {
|
|
|
784
789
|
tailscaleSignIn: !!setting?.enabled && tailscaleRefusal?.kind !== 'login',
|
|
785
790
|
...(tailscaleRefusal?.kind === 'login' ? { tailscaleRefusal: tailscaleRefusal.sentence } : {}),
|
|
786
791
|
...(tailscaleRefusal?.kind === 'unanswered' ? { tailscaleUnanswered: true } : {}),
|
|
792
|
+
// From the Chrome extension's popup, on this computer: offer buddi.app first.
|
|
793
|
+
...((link) => arrived === 'local' && link ? { appLink: link } : {})(appLinkFor(search, first(req.headers['user-agent']) ?? '', req.headers.host ?? '')),
|
|
787
794
|
...locked,
|
|
788
795
|
};
|
|
789
796
|
};
|
|
@@ -1214,12 +1221,21 @@ export function createWebApp(deps) {
|
|
|
1214
1221
|
examplesDir: EXAMPLES_AGENTS_DIR,
|
|
1215
1222
|
reload: () => deps.catalog.reload?.(),
|
|
1216
1223
|
registry: deps.registry,
|
|
1224
|
+
offers: (opts) => readTakeOnOffers({ env: deps.env ?? process.env, log }, opts),
|
|
1217
1225
|
});
|
|
1218
1226
|
/** What the backup routes need: the environment, and somewhere to log. */
|
|
1219
1227
|
const backupDeps = () => ({
|
|
1220
1228
|
env: deps.env ?? process.env,
|
|
1221
1229
|
log,
|
|
1222
1230
|
});
|
|
1231
|
+
/** Home's passphrase card: the backups, the words, and where "I saved it" is kept. */
|
|
1232
|
+
const noticeDeps = () => ({
|
|
1233
|
+
pool: deps.pool,
|
|
1234
|
+
listBackups: () => listBackups(backupDeps()),
|
|
1235
|
+
passphrase: () => passphraseRoute(backupDeps(), 'GET'),
|
|
1236
|
+
now: deps.now,
|
|
1237
|
+
log,
|
|
1238
|
+
});
|
|
1223
1239
|
/** What the plugin page routes need: the registry, and the owner's context. */
|
|
1224
1240
|
const pagesDeps = () => ({ registry: deps.registry, ctx: deps.ctx, now: deps.now, log });
|
|
1225
1241
|
const agentOffersDeps = () => ({
|
|
@@ -1930,8 +1946,21 @@ export function createWebApp(deps) {
|
|
|
1930
1946
|
return reply(res, await listBackups(backupDeps()));
|
|
1931
1947
|
case '/api/backups/schedule':
|
|
1932
1948
|
return reply(res, await scheduleRoute(backupDeps(), 'GET'));
|
|
1933
|
-
case '/api/backups/passphrase':
|
|
1949
|
+
case '/api/backups/passphrase': {
|
|
1950
|
+
// Behind the PIN when there is one: Settings → Backup reveals it with POST …/reveal.
|
|
1951
|
+
const allowed = await lock.verify(undefined);
|
|
1952
|
+
if (!allowed.ok)
|
|
1953
|
+
return sendJson(res, 403, { error: 'Type your PIN to see the passphrase.', needsPin: true });
|
|
1934
1954
|
return reply(res, await passphraseRoute(backupDeps(), 'GET'));
|
|
1955
|
+
}
|
|
1956
|
+
/* Home's card after the first encrypted backup, until "I saved it" (web/passphrase-notice.ts). */
|
|
1957
|
+
/* The words, so from this computer only, and behind the PIN when there is one (the card then reveals with POST …/reveal). */
|
|
1958
|
+
case '/api/backups/passphrase/notice': {
|
|
1959
|
+
if (session.via !== 'local')
|
|
1960
|
+
return sendJson(res, 403, { error: 'The passphrase shows on the computer buddi runs on.' });
|
|
1961
|
+
const allowed = await lock.verify(undefined);
|
|
1962
|
+
return sendJson(res, 200, await passphraseNotice(noticeDeps(), { words: allowed.ok }));
|
|
1963
|
+
}
|
|
1935
1964
|
/*
|
|
1936
1965
|
* Plugins: what is installed, what is staged and waiting to be read,
|
|
1937
1966
|
* and the trust sentence the page shows above the install field. A
|
|
@@ -1974,7 +2003,7 @@ export function createWebApp(deps) {
|
|
|
1974
2003
|
case '/api/secrets/uses':
|
|
1975
2004
|
return reply(res, await secretUses(secretsDeps(), url));
|
|
1976
2005
|
case '/api/onboarding':
|
|
1977
|
-
return sendJson(res, 200, await readOnboarding(onboardingDeps()));
|
|
2006
|
+
return sendJson(res, 200, await readOnboarding(onboardingDeps(), { withOffers: true }));
|
|
1978
2007
|
/*
|
|
1979
2008
|
* Is Ollama running on this machine? Asked from here, never from the
|
|
1980
2009
|
* page: the dashboard bundle reaches no host but its own, and the
|
|
@@ -2053,10 +2082,28 @@ export function createWebApp(deps) {
|
|
|
2053
2082
|
}
|
|
2054
2083
|
const upgradeJob = /^\/api\/upgrade\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2055
2084
|
if (upgradeJob)
|
|
2056
|
-
return reply(res, await upgradeJobRoute(versionDeps(), upgradeJob[1]));
|
|
2085
|
+
return reply(res, withoutPassphrase(await upgradeJobRoute(versionDeps(), upgradeJob[1])));
|
|
2057
2086
|
const backupJob = /^\/api\/backups\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2058
2087
|
if (backupJob)
|
|
2059
|
-
return reply(res, await backupJobRoute(backupDeps(), backupJob[1]));
|
|
2088
|
+
return reply(res, withoutPassphrase(await backupJobRoute(backupDeps(), backupJob[1])));
|
|
2089
|
+
/* buddi.app's command line tool: whether it is installed, from this computer only. */
|
|
2090
|
+
if (path === '/api/system/cli') {
|
|
2091
|
+
if (session.via !== 'local')
|
|
2092
|
+
return sendJson(res, 403, { error: 'Change this from the computer buddi runs on.' });
|
|
2093
|
+
return reply(res, await cliToolRoute(deps.env ?? process.env, 'GET'));
|
|
2094
|
+
}
|
|
2095
|
+
/* Remove buddi from this Mac: the plan (with its token) and the last backup's job, from this computer only. */
|
|
2096
|
+
if (path === '/api/system/uninstall') {
|
|
2097
|
+
if (session.via !== 'local')
|
|
2098
|
+
return sendJson(res, 403, { error: 'Remove buddi from the computer it runs on.' });
|
|
2099
|
+
return reply(res, await uninstallPlanRoute({ env: deps.env ?? process.env, now: deps.now }, uninstallTokens));
|
|
2100
|
+
}
|
|
2101
|
+
const uninstallJob = /^\/api\/system\/uninstall\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2102
|
+
if (uninstallJob) {
|
|
2103
|
+
if (session.via !== 'local')
|
|
2104
|
+
return sendJson(res, 403, { error: 'Remove buddi from the computer it runs on.' });
|
|
2105
|
+
return reply(res, await uninstallJobRoute({ env: deps.env ?? process.env }, uninstallJob[1]));
|
|
2106
|
+
}
|
|
2060
2107
|
const catalogueJob = /^\/api\/catalogue\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2061
2108
|
if (catalogueJob)
|
|
2062
2109
|
return reply(res, catalogueJobRoute(catalogueJob[1]));
|
|
@@ -3353,6 +3400,27 @@ export function createWebApp(deps) {
|
|
|
3353
3400
|
return reply(res, await upgradeRoute(versionDeps(), body));
|
|
3354
3401
|
if (path === '/api/backups')
|
|
3355
3402
|
return reply(res, await createBackupRoute(backupDeps(), body));
|
|
3403
|
+
if (path === '/api/backups/passphrase/notice')
|
|
3404
|
+
return sendJson(res, 200, await acknowledgePassphrase({ pool: deps.pool, now: deps.now }));
|
|
3405
|
+
if (path === '/api/system/cli') {
|
|
3406
|
+
if (session.via !== 'local')
|
|
3407
|
+
return sendJson(res, 403, { error: 'Change this from the computer buddi runs on.' });
|
|
3408
|
+
return reply(res, await cliToolRoute(deps.env ?? process.env, 'POST'));
|
|
3409
|
+
}
|
|
3410
|
+
if (path === '/api/system/uninstall/backup' || path === '/api/system/uninstall') {
|
|
3411
|
+
if (session.via !== 'local')
|
|
3412
|
+
return sendJson(res, 403, { error: 'Remove buddi from the computer it runs on.' });
|
|
3413
|
+
const uninstallDeps = { env: deps.env ?? process.env, now: deps.now };
|
|
3414
|
+
return reply(res, path === '/api/system/uninstall/backup'
|
|
3415
|
+
? await uninstallBackupRoute(uninstallDeps, uninstallTokens, body)
|
|
3416
|
+
: await removeBuddiRoute(uninstallDeps, uninstallTokens, body));
|
|
3417
|
+
}
|
|
3418
|
+
if (path === '/api/backups/passphrase/reveal') {
|
|
3419
|
+
const allowed = await lock.verify(body.pin);
|
|
3420
|
+
if (!allowed.ok)
|
|
3421
|
+
return sendJson(res, allowed.status, allowed.body);
|
|
3422
|
+
return reply(res, await passphraseRoute(backupDeps(), 'GET'));
|
|
3423
|
+
}
|
|
3356
3424
|
if (path === '/api/backups/verify')
|
|
3357
3425
|
return reply(res, await verifyBackupRoute(backupDeps(), body));
|
|
3358
3426
|
if (path === '/api/backups/restore') {
|