@withbuddi/buddi 0.1.0-pre.39 → 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 +41 -6
- package/node_modules/@buddi/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/node_modules/@buddi/gateway/dist/web/onboarding.js +91 -15
- 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 +78 -9
- 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 +41 -6
- package/packages/gateway/dist/web/onboarding.d.ts.map +1 -1
- package/packages/gateway/dist/web/onboarding.js +91 -15
- 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 +78 -9
- 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-BFAMYgLA.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-vpc904_b.js +0 -146
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { type Queryable } from '@buddi/core';
|
|
2
2
|
import type { LiveRegistry } from '../plugins/live.js';
|
|
3
3
|
import type { StagePhase } from '../plugins/index.js';
|
|
4
|
-
import { type MarketDeps, type MarketEntry } from './market.js';
|
|
4
|
+
import { type MarketDeps, type MarketEntry, type MarketIndex } from './market.js';
|
|
5
5
|
import { type PluginsEngine } from './plugins.js';
|
|
6
6
|
/** The six outcomes, in the order the chapter draws them. */
|
|
7
7
|
export declare const TAKE_ON_TILES: readonly ["days", "mail", "money", "voice", "code", "pictures"];
|
|
8
8
|
export type TakeOnTile = (typeof TAKE_ON_TILES)[number];
|
|
9
9
|
/**
|
|
10
|
-
* The plugins each outcome brings, by their buddi names. Mail
|
|
11
|
-
*
|
|
10
|
+
* The plugins each outcome brings, by their buddi names. Mail brings none:
|
|
11
|
+
* Mail Triage is the built-in email plugin's agent.
|
|
12
12
|
*/
|
|
13
13
|
export declare const TILE_PLUGINS: Readonly<Record<TakeOnTile, readonly string[]>>;
|
|
14
14
|
/**
|
|
@@ -21,6 +21,31 @@ export declare const TILE_TEAMMATES: Readonly<Partial<Record<TakeOnTile, {
|
|
|
21
21
|
name: string;
|
|
22
22
|
plugin: string;
|
|
23
23
|
}>>>;
|
|
24
|
+
/**
|
|
25
|
+
* The plugins known to be on npm and listed today, for when withbuddi.com
|
|
26
|
+
* cannot be asked. Developer is not one: it is held back from npm, so a tile
|
|
27
|
+
* that needs it is never offered on a guess.
|
|
28
|
+
*/
|
|
29
|
+
export declare const KNOWN_PUBLISHED: readonly string[];
|
|
30
|
+
/** How long the chapter waits for withbuddi.com before offering the known set. */
|
|
31
|
+
export declare const OFFERS_TIMEOUT_MS = 3000;
|
|
32
|
+
/**
|
|
33
|
+
* The tiles chapter 3 may offer: each one whose plugins are all listed, by
|
|
34
|
+
* name or by their `@withbuddi/plugin-<name>` package. Without a list (the
|
|
35
|
+
* market unreachable, nothing kept), the plugins known published today stand
|
|
36
|
+
* in. A tile that brings no plugin (My mail) is always offered.
|
|
37
|
+
*/
|
|
38
|
+
export declare function offeredTiles(index: MarketIndex | undefined): TakeOnTile[];
|
|
39
|
+
/**
|
|
40
|
+
* The tiles to offer, read from the market index Browse keeps (an hour's
|
|
41
|
+
* copy in memory and on disk). `cachedOnly` never reaches withbuddi.com; a
|
|
42
|
+
* fetch is given `OFFERS_TIMEOUT_MS` before the known set answers instead, so
|
|
43
|
+
* an offline first run is never held up by the list.
|
|
44
|
+
*/
|
|
45
|
+
export declare function readTakeOnOffers(deps: Pick<MarketDeps, 'env' | 'log' | 'fetch' | 'now'>, opts?: {
|
|
46
|
+
cachedOnly?: boolean;
|
|
47
|
+
timeoutMs?: number;
|
|
48
|
+
}): Promise<TakeOnTile[]>;
|
|
24
49
|
export type TakeOnState = 'fetching' | 'reading' | 'installing' | 'ready' | 'failed';
|
|
25
50
|
/** One plugin of chapter 3, as the page draws it. */
|
|
26
51
|
export interface TakeOnProgress {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-on.d.ts","sourceRoot":"","sources":["../../src/web/take-on.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAsE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AACjH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAmB,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"take-on.d.ts","sourceRoot":"","sources":["../../src/web/take-on.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,15 @@ import * as engine from '../plugins/index.js';
|
|
|
5
5
|
/** The six outcomes, in the order the chapter draws them. */
|
|
6
6
|
export const TAKE_ON_TILES = ['days', 'mail', 'money', 'voice', 'code', 'pictures'];
|
|
7
7
|
/**
|
|
8
|
-
* The plugins each outcome brings, by their buddi names. Mail
|
|
9
|
-
*
|
|
8
|
+
* The plugins each outcome brings, by their buddi names. Mail brings none:
|
|
9
|
+
* Mail Triage is the built-in email plugin's agent.
|
|
10
10
|
*/
|
|
11
11
|
export const TILE_PLUGINS = {
|
|
12
12
|
days: ['weather', 'calendar'],
|
|
13
13
|
mail: [],
|
|
14
14
|
money: ['finance'],
|
|
15
15
|
voice: ['speech'],
|
|
16
|
-
code: [],
|
|
16
|
+
code: ['developer'],
|
|
17
17
|
pictures: ['image'],
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
@@ -31,7 +31,52 @@ const TITLES = {
|
|
|
31
31
|
finance: 'Finance',
|
|
32
32
|
speech: 'Speech',
|
|
33
33
|
image: 'Image',
|
|
34
|
+
developer: 'Developer',
|
|
34
35
|
};
|
|
36
|
+
/**
|
|
37
|
+
* The plugins known to be on npm and listed today, for when withbuddi.com
|
|
38
|
+
* cannot be asked. Developer is not one: it is held back from npm, so a tile
|
|
39
|
+
* that needs it is never offered on a guess.
|
|
40
|
+
*/
|
|
41
|
+
export const KNOWN_PUBLISHED = ['weather', 'calendar', 'finance', 'speech', 'image'];
|
|
42
|
+
/** How long the chapter waits for withbuddi.com before offering the known set. */
|
|
43
|
+
export const OFFERS_TIMEOUT_MS = 3_000;
|
|
44
|
+
/**
|
|
45
|
+
* The tiles chapter 3 may offer: each one whose plugins are all listed, by
|
|
46
|
+
* name or by their `@withbuddi/plugin-<name>` package. Without a list (the
|
|
47
|
+
* market unreachable, nothing kept), the plugins known published today stand
|
|
48
|
+
* in. A tile that brings no plugin (My mail) is always offered.
|
|
49
|
+
*/
|
|
50
|
+
export function offeredTiles(index) {
|
|
51
|
+
const listed = (plugin) => index === undefined
|
|
52
|
+
? KNOWN_PUBLISHED.includes(plugin)
|
|
53
|
+
: index.plugins.some((entry) => entry.name === plugin || entry.npm === `@withbuddi/plugin-${plugin}`);
|
|
54
|
+
return TAKE_ON_TILES.filter((tile) => TILE_PLUGINS[tile].every(listed));
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The tiles to offer, read from the market index Browse keeps (an hour's
|
|
58
|
+
* copy in memory and on disk). `cachedOnly` never reaches withbuddi.com; a
|
|
59
|
+
* fetch is given `OFFERS_TIMEOUT_MS` before the known set answers instead, so
|
|
60
|
+
* an offline first run is never held up by the list.
|
|
61
|
+
*/
|
|
62
|
+
export async function readTakeOnOffers(deps, opts = {}) {
|
|
63
|
+
let timer;
|
|
64
|
+
const timeout = new Promise((resolve) => {
|
|
65
|
+
timer = setTimeout(() => resolve(undefined), opts.timeoutMs ?? OFFERS_TIMEOUT_MS);
|
|
66
|
+
timer.unref?.();
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
const loaded = await Promise.race([
|
|
70
|
+
loadMarketIndex(deps, opts.cachedOnly === true ? { cachedOnly: true } : {}).catch(() => undefined),
|
|
71
|
+
timeout,
|
|
72
|
+
]);
|
|
73
|
+
return offeredTiles(loaded && !('unavailable' in loaded) ? loaded.index : undefined);
|
|
74
|
+
}
|
|
75
|
+
finally {
|
|
76
|
+
if (timer)
|
|
77
|
+
clearTimeout(timer);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
35
80
|
export class TakeOnRefusal extends Error {
|
|
36
81
|
status;
|
|
37
82
|
constructor(status, message) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"take-on.js","sourceRoot":"","sources":["../../src/web/take-on.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"take-on.js","sourceRoot":"","sources":["../../src/web/take-on.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,EAAE,oBAAoB,EAAkB,MAAM,aAAa,CAAC;AAGjH,OAAO,EAAE,eAAe,EAAuD,MAAM,aAAa,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAqC,MAAM,cAAc,CAAC;AAC5F,OAAO,KAAK,MAAM,MAAM,qBAAqB,CAAC;AAE9C,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAG7F;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAoD;IAC3E,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;IAC7B,IAAI,EAAE,EAAE;IACR,KAAK,EAAE,CAAC,SAAS,CAAC;IAClB,KAAK,EAAE,CAAC,QAAQ,CAAC;IACjB,IAAI,EAAE,CAAC,WAAW,CAAC;IACnB,QAAQ,EAAE,CAAC,OAAO,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAA2F;IACpH,IAAI,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE;CACrE,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,GAAqC;IAC/C,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,SAAS,EAAE,WAAW;CACvB,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAExG,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,KAA8B;IACzD,MAAM,MAAM,GAAG,CAAC,MAAc,EAAW,EAAE,CACzC,KAAK,KAAK,SAAS;QACjB,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;QAClC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,qBAAqB,MAAM,EAAE,CAAC,CAAC;IAC1G,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAuD,EACvD,OAAqD,EAAE;IAEvD,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,EAAE;QACjD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,IAAI,iBAAiB,CAAC,CAAC;QAClF,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC;YAClG,OAAO;SACR,CAAC,CAAC;QACH,OAAO,YAAY,CAAC,MAAM,IAAI,CAAC,CAAC,aAAa,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AA6CD,MAAM,OAAO,aAAc,SAAQ,KAAK;IACjB;IAArB,YAAqB,MAAc,EAAE,OAAe;QAClD,KAAK,CAAC,OAAO,CAAC,CAAC;QADI,WAAM,GAAN,MAAM,CAAQ;QAEjC,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAED,uFAAuF;AACvF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0B,CAAC;AACnD,gFAAgF;AAChF,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAE7C,qDAAqD;AACrD,MAAM,UAAU,WAAW;IACzB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,KAAK,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;AAC5B,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAC;AACf,CAAC;AAED,kFAAkF;AAClF,MAAM,UAAU,UAAU,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,4EAA4E,CAAC,CAAC;IAC7G,CAAC;IACD,MAAM,OAAO,GAAI,KAAkB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAE,aAAmC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3G,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9H,CAAC;IACD,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAE,KAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,SAAS,CAAC,KAAwB;IAChD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AACvF,CAAC;AAED,SAAS,WAAW,CAAC,GAAsB,EAAE,MAAc;IACzD,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,OAAO,CAAC,QAAoC;IACnD,OAAO,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,KAAK,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,CAAC;AAC7F,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAgB,EAAE,KAAc;IAChE,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAChC,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACzC,MAAM,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAEzD,MAAM,IAAI,GAA6C,EAAE,CAAC;IAC1D,MAAM,KAAK,GAA6C,EAAE,CAAC;IAC3D,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC;YAClC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1J,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACpG,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACnE,IAAI,CAAC,GAAG,CAAC,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAgB,EAAE,IAA8C;IACpF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IACrH,KAAK,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QACnC,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,qEAAqE,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,GAAG,CAAC,MAAc,EAAE,KAA8B;IACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,GAAG;QAAE,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,GAAG,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,IAAI,CAAC,IAAgB,EAAE,MAAc,EAAE,GAAa,EAAE,MAAc;IAC3E,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC/C,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IACnD,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;IACrB,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;IACrB,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,cAAc,MAAM,uBAAuB,QAAQ,EAAE,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAgC;IAClE,IAAI,CAAC,OAAO;QAAE,OAAO,qEAAqE,CAAC;IAC3F,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,GAAG,OAAO,CAAC,KAAK,mFAAmF,CAAC;IAC7I,MAAM,SAAS,GAAI,OAAmC,CAAC,SAAS,CAAC;IACjE,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC7D,OAAO,uBAAuB,OAAO,CAAC,KAAK,8DAA8D,CAAC;IAC5G,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAmBD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAsE,EACtE,OAAgC,EAChC,QAA4B,EAAE;IAE9B,MAAM,GAAG,GAAiB,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC;IAChD,MAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC7C,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,IAAI,gCAAgC,EAAE,CAAC;IAC5G,MAAM,MAAM,GAAG,MAAM,CAAE,OAAmC,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7E,KAAK,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;QACxE,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,CAAC,KAAiB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC;KACrG,CAAC,CAAC;IACH,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE5B;;;;;;;;;;;;;;;OAeG;IACH,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAC;QACzE,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC;gBACH,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;QACH,CAAC;QACD,OAAO;YACL,EAAE,EAAE,KAAK;YACT,QAAQ,EAAE,MAAM,CAAC,EAAE;YACnB,MAAM,EAAE,KAAK,CAAC,YAAY,KAAK,IAAI;gBACjC,CAAC,CAAC,oBAAoB,OAAO,CAAC,KAAK,6EAA6E;gBAChH,CAAC,CAAC,oBAAoB,OAAO,CAAC,KAAK,2DAA2D;SACjG,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,OAAQ,IAAI,CAAC,IAAa,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/G,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAC5G,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC7B,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,oFAAoF,EAAE,CAAC;IAC1J,CAAC;IAED,6EAA6E;IAC7E,2EAA2E;IAC3E,IAAI,cAAc,GAAG,IAAI,CAAC;IAC1B,IAAI,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE;gBACpE,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,IAAI;aACR,CAAC,CAAC;YACH,cAAc,GAAG,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,GAAG,CAAC,YAAY,OAAO,CAAC,IAAI,wCAAwC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC/H,CAAC;IACH,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,CAAC;AACtF,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,MAAc,EAAE,OAAgC,EAAE,GAAa;IACzG,IAAI,OAAO;QAAE,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE;QACvD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YACxB,IAAI,KAAK,KAAK,SAAS,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS;gBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;YAC3E,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;YACf,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;QACpB,CAAC;KACF,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAChB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IACD,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC;IACnB,GAAG,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC1C,GAAG,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/F,CAAC;AAED,0FAA0F;AAC1F,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,IAAgB;IAC/C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAkB,EAAE;QAC9D,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QACpD,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC;YAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QACtH,OAAO,KAAK,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,qEAAqE,EAAE,CAAC;IAC9J,CAAC,CAAC,CAAC;IACH,OAAO;QACL,KAAK;QACL,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,EAAE,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC;KAChD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CAAC,IAAgB,EAAE,KAAwB,EAAE,OAAkC;IACtG,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,CAAC,MAAc,EAA8B,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IACvG,IAAI,OAA4B,CAAC;IACjC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/E,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,KAAK,QAAQ,EAAE,CAAC;QACpE,OAAO,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,MAAM,IAAI,qBAAqB,EAAE,CAAC,CAAC;aACtG,IAAI,CAAC,CAAC,KAAK,KAAK,OAAO,IAAI,CAAC,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,gDAAgD,CAAC,CAAC;IAC7H,CAAC;IACD,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,SAAS;QACxE,mFAAmF;QACnF,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,OAAO;YAAE,SAAS;QAC1C,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,KAAK,OAAO;YAAE,SAAS;QAC/E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type RouteReply } from './backups.js';
|
|
2
|
+
export declare const CHECKOUT_UNINSTALL = "A source checkout removes buddi with buddi uninstall in a terminal.";
|
|
3
|
+
/** How long a plan's token is good for: long enough to read it and take a backup. */
|
|
4
|
+
export declare const UNINSTALL_TOKEN_MS: number;
|
|
5
|
+
export interface UninstallDeps {
|
|
6
|
+
env: NodeJS.ProcessEnv;
|
|
7
|
+
now?: () => Date;
|
|
8
|
+
}
|
|
9
|
+
/** One token at a time: a fresh plan replaces the last one. */
|
|
10
|
+
export interface TokenStore {
|
|
11
|
+
mint(now: number): string;
|
|
12
|
+
check(given: unknown, now: number): boolean;
|
|
13
|
+
spend(): void;
|
|
14
|
+
}
|
|
15
|
+
export declare function createTokenStore(ttl?: number): TokenStore;
|
|
16
|
+
/** What goes, and the token that lets the next two calls through. */
|
|
17
|
+
export declare function uninstallPlanRoute(deps: UninstallDeps, tokens: TokenStore): Promise<RouteReply>;
|
|
18
|
+
/** The last backup, moved out with its passphrase file: a job to follow. */
|
|
19
|
+
export declare function uninstallBackupRoute(deps: UninstallDeps, tokens: TokenStore, body: Record<string, unknown>): Promise<RouteReply>;
|
|
20
|
+
/** Where that job is; its report carries the words (only here, never on the backups job route). */
|
|
21
|
+
export declare function uninstallJobRoute(deps: UninstallDeps, id: string): Promise<RouteReply>;
|
|
22
|
+
/**
|
|
23
|
+
* The removal, once the owner said they wrote the words down. The token is
|
|
24
|
+
* spent only when the supervisor accepted (202): a 409 (no backup yet, a
|
|
25
|
+
* restore running) or a 503 leaves it good for the owner's next try.
|
|
26
|
+
*/
|
|
27
|
+
export declare function uninstallRoute(deps: UninstallDeps, tokens: TokenStore, body: Record<string, unknown>): Promise<RouteReply>;
|
|
28
|
+
/**
|
|
29
|
+
* A supervisor job as a generic job route (`/api/backups/jobs/:id`,
|
|
30
|
+
* `/api/upgrade/jobs/:id`) sees it. Both forward the same jobs map, so an
|
|
31
|
+
* uninstall's job is not theirs (404: only the local, token-guarded
|
|
32
|
+
* `/api/system/uninstall/jobs/:id` shows it), and no report's `passphrase`
|
|
33
|
+
* ever leaves through them.
|
|
34
|
+
*/
|
|
35
|
+
export declare function withoutPassphrase(reply: RouteReply): RouteReply;
|
|
36
|
+
//# sourceMappingURL=uninstall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/web/uninstall.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAoB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAGjE,eAAO,MAAM,kBAAkB,wEAAwE,CAAC;AAGxG,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,QAAc,CAAC;AAE9C,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5C,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,gBAAgB,CAAC,GAAG,SAAqB,GAAG,UAAU,CAcrE;AAaD,qEAAqE;AACrE,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAMrG;AAED,4EAA4E;AAC5E,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAKtI;AAED,mGAAmG;AACnG,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAQ5F;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAShI;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,CAM/D"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Settings → System's "Remove buddi from this Mac", as the dashboard asks for it.
|
|
3
|
+
*
|
|
4
|
+
* The supervisor does the work (packages/install/src/product-uninstall.ts):
|
|
5
|
+
* this module forwards, and adds the two guards a page needs on top of the
|
|
6
|
+
* session, Origin and CSRF gate every write already has:
|
|
7
|
+
*
|
|
8
|
+
* - **this computer only**: a session signed in from the tailnet or a public
|
|
9
|
+
* hostname is refused (server.ts checks `session.via === 'local'`);
|
|
10
|
+
* - **a confirmation token**: `GET /api/system/uninstall` mints one with the
|
|
11
|
+
* plan, and the backup and the removal must bring it back. A stray POST, a
|
|
12
|
+
* replayed one or one from a tab that never showed the plan removes nothing.
|
|
13
|
+
*
|
|
14
|
+
* A checkout has no supervisor and nothing here to offer: it uninstalls with
|
|
15
|
+
* `buddi uninstall` in a terminal.
|
|
16
|
+
*/
|
|
17
|
+
import { randomBytes, timingSafeEqual } from 'node:crypto';
|
|
18
|
+
import { supervisorSocket } from './backups.js';
|
|
19
|
+
import { supervisorCall } from './service.js';
|
|
20
|
+
export const CHECKOUT_UNINSTALL = 'A source checkout removes buddi with buddi uninstall in a terminal.';
|
|
21
|
+
const NO_SUPERVISOR = 'The supervisor is not answering on its control socket. Run buddi in a terminal.';
|
|
22
|
+
/** How long a plan's token is good for: long enough to read it and take a backup. */
|
|
23
|
+
export const UNINSTALL_TOKEN_MS = 30 * 60_000;
|
|
24
|
+
export function createTokenStore(ttl = UNINSTALL_TOKEN_MS) {
|
|
25
|
+
let current;
|
|
26
|
+
return {
|
|
27
|
+
mint(now) {
|
|
28
|
+
current = { value: randomBytes(24).toString('base64url'), until: now + ttl };
|
|
29
|
+
return current.value;
|
|
30
|
+
},
|
|
31
|
+
check(given, now) {
|
|
32
|
+
if (!current || typeof given !== 'string' || now > current.until)
|
|
33
|
+
return false;
|
|
34
|
+
const a = Buffer.from(given), b = Buffer.from(current.value);
|
|
35
|
+
return a.length === b.length && timingSafeEqual(a, b);
|
|
36
|
+
},
|
|
37
|
+
spend() { current = undefined; },
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
async function forward(socket, route, method, body) {
|
|
41
|
+
try {
|
|
42
|
+
const reply = await supervisorCall(socket, route, method, body, 30_000);
|
|
43
|
+
return { status: reply.status, body: reply.body };
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return { status: 503, body: { error: NO_SUPERVISOR } };
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const REFUSED = { status: 403, body: { error: 'That confirmation has expired. Open Remove buddi again.' } };
|
|
50
|
+
/** What goes, and the token that lets the next two calls through. */
|
|
51
|
+
export async function uninstallPlanRoute(deps, tokens) {
|
|
52
|
+
const socket = supervisorSocket(deps.env);
|
|
53
|
+
if (!socket)
|
|
54
|
+
return { status: 200, body: { available: false, reason: CHECKOUT_UNINSTALL } };
|
|
55
|
+
const plan = await forward(socket, '/uninstall', 'GET');
|
|
56
|
+
if (plan.status !== 200)
|
|
57
|
+
return plan;
|
|
58
|
+
return { status: 200, body: { available: true, ...plan.body, token: tokens.mint((deps.now ?? (() => new Date()))().getTime()) } };
|
|
59
|
+
}
|
|
60
|
+
/** The last backup, moved out with its passphrase file: a job to follow. */
|
|
61
|
+
export async function uninstallBackupRoute(deps, tokens, body) {
|
|
62
|
+
const socket = supervisorSocket(deps.env);
|
|
63
|
+
if (!socket)
|
|
64
|
+
return { status: 409, body: { error: CHECKOUT_UNINSTALL } };
|
|
65
|
+
if (!tokens.check(body.token, (deps.now ?? (() => new Date()))().getTime()))
|
|
66
|
+
return REFUSED;
|
|
67
|
+
return forward(socket, '/uninstall/backup', 'POST', {});
|
|
68
|
+
}
|
|
69
|
+
/** Where that job is; its report carries the words (only here, never on the backups job route). */
|
|
70
|
+
export async function uninstallJobRoute(deps, id) {
|
|
71
|
+
const socket = supervisorSocket(deps.env);
|
|
72
|
+
if (!socket)
|
|
73
|
+
return { status: 409, body: { error: CHECKOUT_UNINSTALL } };
|
|
74
|
+
const reply = await forward(socket, `/jobs/${encodeURIComponent(id)}`, 'GET');
|
|
75
|
+
if (reply.status !== 200 || reply.body?.kind !== 'uninstall-backup') {
|
|
76
|
+
return reply.status === 200 ? { status: 404, body: { error: 'no such job' } } : reply;
|
|
77
|
+
}
|
|
78
|
+
return reply;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The removal, once the owner said they wrote the words down. The token is
|
|
82
|
+
* spent only when the supervisor accepted (202): a 409 (no backup yet, a
|
|
83
|
+
* restore running) or a 503 leaves it good for the owner's next try.
|
|
84
|
+
*/
|
|
85
|
+
export async function uninstallRoute(deps, tokens, body) {
|
|
86
|
+
const socket = supervisorSocket(deps.env);
|
|
87
|
+
if (!socket)
|
|
88
|
+
return { status: 409, body: { error: CHECKOUT_UNINSTALL } };
|
|
89
|
+
if (!tokens.check(body.token, (deps.now ?? (() => new Date()))().getTime()))
|
|
90
|
+
return REFUSED;
|
|
91
|
+
if (body.wroteItDown !== true)
|
|
92
|
+
return { status: 400, body: { error: 'Tick "I wrote it down" first: the passphrase is the only thing that opens your backups.' } };
|
|
93
|
+
if (body.keepData !== undefined && typeof body.keepData !== 'boolean')
|
|
94
|
+
return { status: 400, body: { error: '"keepData" must be true or false.' } };
|
|
95
|
+
const answer = await forward(socket, '/uninstall', 'POST', { keepData: body.keepData === true });
|
|
96
|
+
if (answer.status === 202)
|
|
97
|
+
tokens.spend();
|
|
98
|
+
return answer;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A supervisor job as a generic job route (`/api/backups/jobs/:id`,
|
|
102
|
+
* `/api/upgrade/jobs/:id`) sees it. Both forward the same jobs map, so an
|
|
103
|
+
* uninstall's job is not theirs (404: only the local, token-guarded
|
|
104
|
+
* `/api/system/uninstall/jobs/:id` shows it), and no report's `passphrase`
|
|
105
|
+
* ever leaves through them.
|
|
106
|
+
*/
|
|
107
|
+
export function withoutPassphrase(reply) {
|
|
108
|
+
const body = reply.body;
|
|
109
|
+
if (reply.status === 200 && body?.kind === 'uninstall-backup')
|
|
110
|
+
return { status: 404, body: { error: 'no such job' } };
|
|
111
|
+
if (reply.status !== 200 || !body?.report || body.report.passphrase === undefined)
|
|
112
|
+
return reply;
|
|
113
|
+
const { passphrase: _gone, ...report } = body.report;
|
|
114
|
+
return { status: 200, body: { ...body, report } };
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/web/uninstall.ts"],"names":[],"mappings":"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"}
|