@withbuddi/buddi 0.1.0-pre.40 → 0.1.0-pre.41
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/manifest.json +2 -2
- 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 +5 -3
- 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/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 +20 -2
- 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 +14 -0
- package/node_modules/@buddi/gateway/dist/web/extension.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js +22 -1
- package/node_modules/@buddi/gateway/dist/web/extension.js.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts +12 -0
- package/node_modules/@buddi/gateway/dist/web/lock.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/lock.js +13 -0
- 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 +71 -5
- package/node_modules/@buddi/gateway/dist/web/server.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/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 +76 -0
- package/node_modules/@buddi/install/dist/cli-shim.d.ts.map +1 -0
- package/node_modules/@buddi/install/dist/cli-shim.js +215 -0
- package/node_modules/@buddi/install/dist/cli-shim.js.map +1 -0
- 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/launcher.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/launcher.js +140 -5
- 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 +16 -1
- package/node_modules/@buddi/install/dist/supervisor.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/supervisor.js +191 -10
- package/node_modules/@buddi/install/dist/supervisor.js.map +1 -1
- package/node_modules/@buddi/install/dist/uninstall.d.ts +20 -1
- package/node_modules/@buddi/install/dist/uninstall.d.ts.map +1 -1
- package/node_modules/@buddi/install/dist/uninstall.js +84 -13
- 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/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 +5 -3
- 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/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 +20 -2
- 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 +14 -0
- package/packages/gateway/dist/web/extension.d.ts.map +1 -1
- package/packages/gateway/dist/web/extension.js +22 -1
- package/packages/gateway/dist/web/extension.js.map +1 -1
- package/packages/gateway/dist/web/lock.d.ts +12 -0
- package/packages/gateway/dist/web/lock.d.ts.map +1 -1
- package/packages/gateway/dist/web/lock.js +13 -0
- 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 +71 -5
- package/packages/gateway/dist/web/server.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/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 +76 -0
- package/packages/install/dist/cli-shim.d.ts.map +1 -0
- package/packages/install/dist/cli-shim.js +215 -0
- package/packages/install/dist/cli-shim.js.map +1 -0
- 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/launcher.d.ts.map +1 -1
- package/packages/install/dist/launcher.js +140 -5
- 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 +16 -1
- package/packages/install/dist/supervisor.d.ts.map +1 -1
- package/packages/install/dist/supervisor.js +191 -10
- package/packages/install/dist/supervisor.js.map +1 -1
- package/packages/install/dist/uninstall.d.ts +20 -1
- package/packages/install/dist/uninstall.d.ts.map +1 -1
- package/packages/install/dist/uninstall.js +84 -13
- 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/web/dist/assets/index-BkxHX_8g.js +146 -0
- package/packages/web/dist/assets/{index-DYfeUW-0.css → index-D2rOodlH.css} +1 -1
- package/packages/web/dist/assets/{lottie_light-DB7hai8n.js → lottie_light-D-P1tn3V.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';
|
|
@@ -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';
|
|
@@ -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
|
/*
|
|
@@ -1214,12 +1219,21 @@ export function createWebApp(deps) {
|
|
|
1214
1219
|
examplesDir: EXAMPLES_AGENTS_DIR,
|
|
1215
1220
|
reload: () => deps.catalog.reload?.(),
|
|
1216
1221
|
registry: deps.registry,
|
|
1222
|
+
offers: (opts) => readTakeOnOffers({ env: deps.env ?? process.env, log }, opts),
|
|
1217
1223
|
});
|
|
1218
1224
|
/** What the backup routes need: the environment, and somewhere to log. */
|
|
1219
1225
|
const backupDeps = () => ({
|
|
1220
1226
|
env: deps.env ?? process.env,
|
|
1221
1227
|
log,
|
|
1222
1228
|
});
|
|
1229
|
+
/** Home's passphrase card: the backups, the words, and where "I saved it" is kept. */
|
|
1230
|
+
const noticeDeps = () => ({
|
|
1231
|
+
pool: deps.pool,
|
|
1232
|
+
listBackups: () => listBackups(backupDeps()),
|
|
1233
|
+
passphrase: () => passphraseRoute(backupDeps(), 'GET'),
|
|
1234
|
+
now: deps.now,
|
|
1235
|
+
log,
|
|
1236
|
+
});
|
|
1223
1237
|
/** What the plugin page routes need: the registry, and the owner's context. */
|
|
1224
1238
|
const pagesDeps = () => ({ registry: deps.registry, ctx: deps.ctx, now: deps.now, log });
|
|
1225
1239
|
const agentOffersDeps = () => ({
|
|
@@ -1930,8 +1944,21 @@ export function createWebApp(deps) {
|
|
|
1930
1944
|
return reply(res, await listBackups(backupDeps()));
|
|
1931
1945
|
case '/api/backups/schedule':
|
|
1932
1946
|
return reply(res, await scheduleRoute(backupDeps(), 'GET'));
|
|
1933
|
-
case '/api/backups/passphrase':
|
|
1947
|
+
case '/api/backups/passphrase': {
|
|
1948
|
+
// Behind the PIN when there is one: Settings → Backup reveals it with POST …/reveal.
|
|
1949
|
+
const allowed = await lock.verify(undefined);
|
|
1950
|
+
if (!allowed.ok)
|
|
1951
|
+
return sendJson(res, 403, { error: 'Type your PIN to see the passphrase.', needsPin: true });
|
|
1934
1952
|
return reply(res, await passphraseRoute(backupDeps(), 'GET'));
|
|
1953
|
+
}
|
|
1954
|
+
/* Home's card after the first encrypted backup, until "I saved it" (web/passphrase-notice.ts). */
|
|
1955
|
+
/* The words, so from this computer only, and behind the PIN when there is one (the card then reveals with POST …/reveal). */
|
|
1956
|
+
case '/api/backups/passphrase/notice': {
|
|
1957
|
+
if (session.via !== 'local')
|
|
1958
|
+
return sendJson(res, 403, { error: 'The passphrase shows on the computer buddi runs on.' });
|
|
1959
|
+
const allowed = await lock.verify(undefined);
|
|
1960
|
+
return sendJson(res, 200, await passphraseNotice(noticeDeps(), { words: allowed.ok }));
|
|
1961
|
+
}
|
|
1935
1962
|
/*
|
|
1936
1963
|
* Plugins: what is installed, what is staged and waiting to be read,
|
|
1937
1964
|
* and the trust sentence the page shows above the install field. A
|
|
@@ -1974,7 +2001,7 @@ export function createWebApp(deps) {
|
|
|
1974
2001
|
case '/api/secrets/uses':
|
|
1975
2002
|
return reply(res, await secretUses(secretsDeps(), url));
|
|
1976
2003
|
case '/api/onboarding':
|
|
1977
|
-
return sendJson(res, 200, await readOnboarding(onboardingDeps()));
|
|
2004
|
+
return sendJson(res, 200, await readOnboarding(onboardingDeps(), { withOffers: true }));
|
|
1978
2005
|
/*
|
|
1979
2006
|
* Is Ollama running on this machine? Asked from here, never from the
|
|
1980
2007
|
* page: the dashboard bundle reaches no host but its own, and the
|
|
@@ -2053,10 +2080,28 @@ export function createWebApp(deps) {
|
|
|
2053
2080
|
}
|
|
2054
2081
|
const upgradeJob = /^\/api\/upgrade\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2055
2082
|
if (upgradeJob)
|
|
2056
|
-
return reply(res, await upgradeJobRoute(versionDeps(), upgradeJob[1]));
|
|
2083
|
+
return reply(res, withoutPassphrase(await upgradeJobRoute(versionDeps(), upgradeJob[1])));
|
|
2057
2084
|
const backupJob = /^\/api\/backups\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2058
2085
|
if (backupJob)
|
|
2059
|
-
return reply(res, await backupJobRoute(backupDeps(), backupJob[1]));
|
|
2086
|
+
return reply(res, withoutPassphrase(await backupJobRoute(backupDeps(), backupJob[1])));
|
|
2087
|
+
/* buddi.app's command line tool: whether it is installed, from this computer only. */
|
|
2088
|
+
if (path === '/api/system/cli') {
|
|
2089
|
+
if (session.via !== 'local')
|
|
2090
|
+
return sendJson(res, 403, { error: 'Change this from the computer buddi runs on.' });
|
|
2091
|
+
return reply(res, await cliToolRoute(deps.env ?? process.env, 'GET'));
|
|
2092
|
+
}
|
|
2093
|
+
/* Remove buddi from this Mac: the plan (with its token) and the last backup's job, from this computer only. */
|
|
2094
|
+
if (path === '/api/system/uninstall') {
|
|
2095
|
+
if (session.via !== 'local')
|
|
2096
|
+
return sendJson(res, 403, { error: 'Remove buddi from the computer it runs on.' });
|
|
2097
|
+
return reply(res, await uninstallPlanRoute({ env: deps.env ?? process.env, now: deps.now }, uninstallTokens));
|
|
2098
|
+
}
|
|
2099
|
+
const uninstallJob = /^\/api\/system\/uninstall\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2100
|
+
if (uninstallJob) {
|
|
2101
|
+
if (session.via !== 'local')
|
|
2102
|
+
return sendJson(res, 403, { error: 'Remove buddi from the computer it runs on.' });
|
|
2103
|
+
return reply(res, await uninstallJobRoute({ env: deps.env ?? process.env }, uninstallJob[1]));
|
|
2104
|
+
}
|
|
2060
2105
|
const catalogueJob = /^\/api\/catalogue\/jobs\/([0-9a-f-]{36})$/i.exec(path);
|
|
2061
2106
|
if (catalogueJob)
|
|
2062
2107
|
return reply(res, catalogueJobRoute(catalogueJob[1]));
|
|
@@ -3353,6 +3398,27 @@ export function createWebApp(deps) {
|
|
|
3353
3398
|
return reply(res, await upgradeRoute(versionDeps(), body));
|
|
3354
3399
|
if (path === '/api/backups')
|
|
3355
3400
|
return reply(res, await createBackupRoute(backupDeps(), body));
|
|
3401
|
+
if (path === '/api/backups/passphrase/notice')
|
|
3402
|
+
return sendJson(res, 200, await acknowledgePassphrase({ pool: deps.pool, now: deps.now }));
|
|
3403
|
+
if (path === '/api/system/cli') {
|
|
3404
|
+
if (session.via !== 'local')
|
|
3405
|
+
return sendJson(res, 403, { error: 'Change this from the computer buddi runs on.' });
|
|
3406
|
+
return reply(res, await cliToolRoute(deps.env ?? process.env, 'POST'));
|
|
3407
|
+
}
|
|
3408
|
+
if (path === '/api/system/uninstall/backup' || path === '/api/system/uninstall') {
|
|
3409
|
+
if (session.via !== 'local')
|
|
3410
|
+
return sendJson(res, 403, { error: 'Remove buddi from the computer it runs on.' });
|
|
3411
|
+
const uninstallDeps = { env: deps.env ?? process.env, now: deps.now };
|
|
3412
|
+
return reply(res, path === '/api/system/uninstall/backup'
|
|
3413
|
+
? await uninstallBackupRoute(uninstallDeps, uninstallTokens, body)
|
|
3414
|
+
: await removeBuddiRoute(uninstallDeps, uninstallTokens, body));
|
|
3415
|
+
}
|
|
3416
|
+
if (path === '/api/backups/passphrase/reveal') {
|
|
3417
|
+
const allowed = await lock.verify(body.pin);
|
|
3418
|
+
if (!allowed.ok)
|
|
3419
|
+
return sendJson(res, allowed.status, allowed.body);
|
|
3420
|
+
return reply(res, await passphraseRoute(backupDeps(), 'GET'));
|
|
3421
|
+
}
|
|
3356
3422
|
if (path === '/api/backups/verify')
|
|
3357
3423
|
return reply(res, await verifyBackupRoute(backupDeps(), body));
|
|
3358
3424
|
if (path === '/api/backups/restore') {
|