@vibes.diy/api-svc 14.3.132 → 14.3.135
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/create-handler.js +2 -0
- package/create-handler.js.map +1 -1
- package/intern/agent-session-instruction.d.ts +2 -2
- package/intern/agent-session-instruction.js +5 -2
- package/intern/agent-session-instruction.js.map +1 -1
- package/intern/backend-db-callback.js +2 -2
- package/intern/backend-db-callback.js.map +1 -1
- package/intern/builder-elided-output.d.ts +7 -0
- package/intern/builder-elided-output.js +10 -0
- package/intern/builder-elided-output.js.map +1 -0
- package/intern/components/boot-progress-script.d.ts +19 -0
- package/intern/components/boot-progress-script.js +76 -0
- package/intern/components/boot-progress-script.js.map +1 -0
- package/intern/components/vibe-page.js +11 -0
- package/intern/components/vibe-page.js.map +1 -1
- package/intern/delete-access-gate.js +2 -2
- package/intern/delete-access-gate.js.map +1 -1
- package/intern/emit-build-state.d.ts +2 -1
- package/intern/emit-build-state.js +6 -1
- package/intern/emit-build-state.js.map +1 -1
- package/intern/grouped-vibe-import-map.d.ts +21 -0
- package/intern/grouped-vibe-import-map.js +24 -3
- package/intern/grouped-vibe-import-map.js.map +1 -1
- package/intern/guest-app-move.d.ts +71 -0
- package/intern/guest-app-move.js +490 -0
- package/intern/guest-app-move.js.map +1 -0
- package/intern/guest-principal-claim.d.ts +3 -0
- package/intern/guest-principal-claim.js +58 -3
- package/intern/guest-principal-claim.js.map +1 -1
- package/intern/guest-principal-follow.js +4 -0
- package/intern/guest-principal-follow.js.map +1 -1
- package/intern/import-map.d.ts +1 -0
- package/intern/import-map.js +7 -0
- package/intern/import-map.js.map +1 -1
- package/intern/onboarding-handle.js.map +1 -1
- package/intern/open-turn-sweep.d.ts +9 -1
- package/intern/open-turn-sweep.js +15 -0
- package/intern/open-turn-sweep.js.map +1 -1
- package/intern/opens-check.js +2 -0
- package/intern/opens-check.js.map +1 -1
- package/intern/process-access-bindings.js +2 -2
- package/intern/process-access-bindings.js.map +1 -1
- package/intern/render-db-explorer.d.ts +2 -0
- package/intern/render-db-explorer.js +1 -0
- package/intern/render-db-explorer.js.map +1 -1
- package/intern/render-vibe.d.ts +3 -0
- package/intern/render-vibe.js +27 -4
- package/intern/render-vibe.js.map +1 -1
- package/intern/root-html-cache-contract.js.map +1 -1
- package/intern/swr-html-cache-orchestrator.d.ts +2 -1
- package/intern/swr-html-cache-orchestrator.js +15 -6
- package/intern/swr-html-cache-orchestrator.js.map +1 -1
- package/intern/swr-html-cache.d.ts +1 -0
- package/intern/swr-html-cache.js +2 -0
- package/intern/swr-html-cache.js.map +1 -1
- package/intern/swr-purge.js +24 -0
- package/intern/swr-purge.js.map +1 -1
- package/intern/swr-wrapper-html-cache.d.ts +13 -0
- package/intern/swr-wrapper-html-cache.js +28 -4
- package/intern/swr-wrapper-html-cache.js.map +1 -1
- package/intern/vibe-pkg-hashed-import-map.d.ts +24 -0
- package/intern/vibe-pkg-hashed-import-map.js +73 -0
- package/intern/vibe-pkg-hashed-import-map.js.map +1 -0
- package/intern/vibe-preload-modules.d.ts +1 -1
- package/intern/vibe-preload-modules.js +10 -0
- package/intern/vibe-preload-modules.js.map +1 -1
- package/package.json +15 -14
- package/public/app-documents-read-eventos.js +3 -7
- package/public/app-documents-read-eventos.js.map +1 -1
- package/public/claim-guest-principal.js +2 -0
- package/public/claim-guest-principal.js.map +1 -1
- package/public/ensure-user-settings.js +5 -7
- package/public/ensure-user-settings.js.map +1 -1
- package/public/invite-subject-aliases.js +20 -5
- package/public/invite-subject-aliases.js.map +1 -1
- package/public/open-chat.js +5 -0
- package/public/open-chat.js.map +1 -1
- package/public/prompt-turn-terminal.js +15 -0
- package/public/prompt-turn-terminal.js.map +1 -1
- package/public/resolve-active-handle.d.ts +0 -1
- package/public/resolve-active-handle.js +0 -12
- package/public/resolve-active-handle.js.map +1 -1
- package/public/serv-entry-point.d.ts +3 -1
- package/public/serv-entry-point.js +52 -4
- package/public/serv-entry-point.js.map +1 -1
- package/public/stream-assembly.js +14 -0
- package/public/stream-assembly.js.map +1 -1
- package/public/sync-eventos.d.ts +1 -0
- package/public/sync-eventos.js +50 -27
- package/public/sync-eventos.js.map +1 -1
- package/public/user-slug-bindings.js +20 -0
- package/public/user-slug-bindings.js.map +1 -1
- package/public/viewer-channel-resolver.js +2 -2
- package/public/viewer-channel-resolver.js.map +1 -1
- package/public/who-am-i.d.ts +3 -0
- package/public/who-am-i.js +30 -2
- package/public/who-am-i.js.map +1 -1
- package/public/write-front-door.js +2 -2
- package/public/write-front-door.js.map +1 -1
- package/usage-report/backfill-provisional-app-moves-util.d.ts +24 -0
- package/usage-report/backfill-provisional-app-moves-util.js +70 -0
- package/usage-report/backfill-provisional-app-moves-util.js.map +1 -0
- package/usage-report/backfill-provisional-app-moves.d.ts +1 -0
- package/usage-report/backfill-provisional-app-moves.js +92 -0
- package/usage-report/backfill-provisional-app-moves.js.map +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-html-cache-orchestrator.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache-orchestrator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,qBAAqB,EACrB,kBAAkB,EAClB,yBAAyB,EACzB,WAAW,EACX,yBAAyB,EACzB,gCAAgC,EAChC,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EACL,uBAAuB,EACvB,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-html-cache-orchestrator.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache-orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export declare const CACHEABLE_MARKER_HEADER = "x-vibes-root-cacheable";
|
|
2
2
|
export declare const CACHED_AT_HEADER = "x-vibes-cached-at";
|
|
3
|
+
export declare const MANIFEST_HASH_HEADER = "x-vibes-swr-manifest";
|
|
3
4
|
export declare const CACHE_STATE_HEADER = "x-vibes-cache";
|
|
4
5
|
export declare const SWR_FRESH_MS: number;
|
|
5
6
|
export declare const SWR_MAX_AGE_MS: number;
|
package/intern/swr-html-cache.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { URI } from "@adviser/cement";
|
|
2
2
|
export const CACHEABLE_MARKER_HEADER = "x-vibes-root-cacheable";
|
|
3
3
|
export const CACHED_AT_HEADER = "x-vibes-cached-at";
|
|
4
|
+
export const MANIFEST_HASH_HEADER = "x-vibes-swr-manifest";
|
|
4
5
|
export const CACHE_STATE_HEADER = "x-vibes-cache";
|
|
5
6
|
export const SWR_FRESH_MS = 60 * 1000;
|
|
6
7
|
export const SWR_MAX_AGE_MS = Number.POSITIVE_INFINITY;
|
|
@@ -40,6 +41,7 @@ export function toCacheableStoredResponse(res, now) {
|
|
|
40
41
|
export function fromStoredResponse(stored, state, clientCacheControl = UNVERSIONED_CLIENT_CACHE_CONTROL) {
|
|
41
42
|
const headers = new Headers(stored.headers);
|
|
42
43
|
headers.delete(CACHED_AT_HEADER);
|
|
44
|
+
headers.delete(MANIFEST_HASH_HEADER);
|
|
43
45
|
headers.set("Cache-Control", clientCacheControl);
|
|
44
46
|
headers.set(CACHE_STATE_HEADER, state);
|
|
45
47
|
return new Response(stored.body, { status: stored.status, headers });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAYtC,MAAM,CAAC,MAAM,uBAAuB,GAAG,wBAAwB,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-html-cache.ts"],"names":[],"mappings":"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"}
|
package/intern/swr-purge.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import { URI } from "@adviser/cement";
|
|
1
2
|
import { calcEntryPointUrl } from "../entry-point-utils.js";
|
|
2
3
|
import { bareRootHtmlSwrKey, pinnedRootHtmlSwrKey } from "./swr-html-cache-orchestrator.js";
|
|
4
|
+
import { wrapperHtmlSwrKey } from "./swr-wrapper-html-cache.js";
|
|
3
5
|
export function purgeRootHtmlCacheSameColo(vctx, ownerHandle, appSlug) {
|
|
4
6
|
try {
|
|
5
7
|
const entry = calcEntryPointUrl({ ...vctx.params.vibes.svc, bindings: { ownerHandle, appSlug } });
|
|
@@ -7,12 +9,34 @@ export function purgeRootHtmlCacheSameColo(vctx, ownerHandle, appSlug) {
|
|
|
7
9
|
const workspace = vctx.params.pkgRepos.workspace;
|
|
8
10
|
for (const key of [
|
|
9
11
|
bareRootHtmlSwrKey(origin, workspace),
|
|
12
|
+
bareRootHtmlSwrKey(origin, workspace, undefined, true),
|
|
10
13
|
pinnedRootHtmlSwrKey(origin, workspace),
|
|
11
14
|
pinnedRootHtmlSwrKey(origin, workspace, undefined, true),
|
|
12
15
|
pinnedRootHtmlSwrKey(origin, workspace, undefined, true, undefined, true),
|
|
13
16
|
]) {
|
|
14
17
|
void Promise.resolve(vctx.cache.delete(key)).catch(() => undefined);
|
|
15
18
|
}
|
|
19
|
+
const pathname = `/vibe/${ownerHandle}/${appSlug}`;
|
|
20
|
+
const env = vctx.params.vibes.env;
|
|
21
|
+
const origins = new Set();
|
|
22
|
+
for (const base of [env.VIBES_PUBLIC_URL, env.VIBES_DIY_PUBLIC_BASE_URL]) {
|
|
23
|
+
const rUri = base === undefined || base === "" ? undefined : URI.fromResult(base);
|
|
24
|
+
if (rUri !== undefined && rUri.isOk() && /^https?:$/.test(rUri.Ok().protocol)) {
|
|
25
|
+
origins.add(`${rUri.Ok().protocol}//${rUri.Ok().host}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
for (const wrapperOrigin of origins) {
|
|
29
|
+
for (const rum of [false, true]) {
|
|
30
|
+
for (const us of [false, true]) {
|
|
31
|
+
for (const key of [
|
|
32
|
+
wrapperHtmlSwrKey(wrapperOrigin, pathname, rum, us),
|
|
33
|
+
wrapperHtmlSwrKey(wrapperOrigin, pathname, rum, us, workspace),
|
|
34
|
+
]) {
|
|
35
|
+
void Promise.resolve(vctx.cache.delete(key)).catch(() => undefined);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
16
40
|
}
|
|
17
41
|
catch {
|
|
18
42
|
}
|
package/intern/swr-purge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-purge.js","sourceRoot":"","sources":["../../jsr/intern/swr-purge.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-purge.js","sourceRoot":"","sources":["../../jsr/intern/swr-purge.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,19 @@ export interface ServeWrapperHtmlWithSwrOpts {
|
|
|
9
9
|
readonly isUS: boolean;
|
|
10
10
|
readonly isCrawlerUA?: boolean;
|
|
11
11
|
readonly workspaceNpmUrl: string;
|
|
12
|
+
readonly bodyIdentity?: WrapperBodyIdentity;
|
|
12
13
|
}
|
|
14
|
+
export declare const WRAPPER_IDENTITY_HEADER = "x-vibes-wrapper-identity";
|
|
15
|
+
export declare function wrapperHtmlSwrKey(origin: string, pathname: string, enableCfRum: boolean, isUS: boolean, workspaceNpmUrl?: string): string;
|
|
16
|
+
export interface WrapperBodyIdentity {
|
|
17
|
+
readonly importMapHash: string;
|
|
18
|
+
readonly appBuild: string;
|
|
19
|
+
readonly serverBuild: string;
|
|
20
|
+
readonly workspace: string;
|
|
21
|
+
readonly env: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function wrapperEnvFingerprint(env: Readonly<Record<string, string | undefined>>, txt: {
|
|
24
|
+
encode(s: string): Uint8Array;
|
|
25
|
+
}): Promise<string>;
|
|
13
26
|
export declare function toStoredWrapperResponse(res: Response, now: number): Response | undefined;
|
|
14
27
|
export declare function serveWrapperHtmlWithSwr(opts: ServeWrapperHtmlWithSwrOpts): Promise<Response>;
|
|
@@ -1,7 +1,24 @@
|
|
|
1
1
|
import { CACHED_AT_HEADER, CACHE_STATE_HEADER, cachedAtOf, swrDecision, WRAPPER_SWR_FRESH_MS, WRAPPER_SWR_MAX_AGE_MS, } from "./swr-html-cache.js";
|
|
2
2
|
import { parseVibePathname, vibePathnameHasFsId } from "./get-vibe-route-hints.js";
|
|
3
3
|
import { isTrackingParam } from "@vibes.diy/api-types";
|
|
4
|
-
|
|
4
|
+
export const WRAPPER_IDENTITY_HEADER = "x-vibes-wrapper-identity";
|
|
5
|
+
function identityValue(id) {
|
|
6
|
+
return id === undefined
|
|
7
|
+
? undefined
|
|
8
|
+
: `m=${encodeURIComponent(id.importMapHash)}&app=${encodeURIComponent(id.appBuild)}&srv=${encodeURIComponent(id.serverBuild)}&ws=${encodeURIComponent(id.workspace)}&env=${encodeURIComponent(id.env)}`;
|
|
9
|
+
}
|
|
10
|
+
export function wrapperHtmlSwrKey(origin, pathname, enableCfRum, isUS, workspaceNpmUrl) {
|
|
11
|
+
const variant = `${origin}${pathname}?vibes-wrapper-swr=rum-${enableCfRum ? "1" : "0"}&us-${isUS ? "1" : "0"}`;
|
|
12
|
+
return workspaceNpmUrl === undefined ? variant : `${variant}&ws=${encodeURIComponent(workspaceNpmUrl)}`;
|
|
13
|
+
}
|
|
14
|
+
export async function wrapperEnvFingerprint(env, txt) {
|
|
15
|
+
const canonical = JSON.stringify(Object.keys(env)
|
|
16
|
+
.sort()
|
|
17
|
+
.map((k) => [k, env[k] ?? null]));
|
|
18
|
+
const digest = await crypto.subtle.digest("SHA-256", new Uint8Array(txt.encode(canonical)));
|
|
19
|
+
return Array.from(new Uint8Array(digest).slice(0, 6), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
20
|
+
}
|
|
21
|
+
function eligibleKey(req, enableCfRum, isUS, workspaceNpmUrl, bodyIdentity) {
|
|
5
22
|
if (req.method !== "GET")
|
|
6
23
|
return undefined;
|
|
7
24
|
if (req.headers.get("Authorization") !== null)
|
|
@@ -18,7 +35,7 @@ function eligibleKey(req, enableCfRum, isUS, workspaceNpmUrl) {
|
|
|
18
35
|
return undefined;
|
|
19
36
|
if (vibePathnameHasFsId(url.pathname))
|
|
20
37
|
return undefined;
|
|
21
|
-
return
|
|
38
|
+
return wrapperHtmlSwrKey(url.origin, url.pathname, enableCfRum, isUS, bodyIdentity === undefined ? workspaceNpmUrl : undefined);
|
|
22
39
|
}
|
|
23
40
|
const STORED_CACHE_CONTROL = "public, s-maxage=86400";
|
|
24
41
|
export function toStoredWrapperResponse(res, now) {
|
|
@@ -37,6 +54,7 @@ export function toStoredWrapperResponse(res, now) {
|
|
|
37
54
|
function fromStoredWrapperResponse(stored, state) {
|
|
38
55
|
const headers = new Headers(stored.headers);
|
|
39
56
|
headers.delete(CACHED_AT_HEADER);
|
|
57
|
+
headers.delete(WRAPPER_IDENTITY_HEADER);
|
|
40
58
|
headers.delete("Cache-Control");
|
|
41
59
|
headers.set(CACHE_STATE_HEADER, state);
|
|
42
60
|
return new Response(stored.body, { status: stored.status, headers });
|
|
@@ -45,6 +63,9 @@ async function renderAndStore(opts, key) {
|
|
|
45
63
|
const res = await opts.inner();
|
|
46
64
|
const stored = toStoredWrapperResponse(res.clone(), opts.now());
|
|
47
65
|
if (stored !== undefined) {
|
|
66
|
+
const identity = identityValue(opts.bodyIdentity);
|
|
67
|
+
if (identity !== undefined)
|
|
68
|
+
stored.headers.set(WRAPPER_IDENTITY_HEADER, identity);
|
|
48
69
|
await opts.cache.put(key, stored);
|
|
49
70
|
}
|
|
50
71
|
else {
|
|
@@ -53,11 +74,13 @@ async function renderAndStore(opts, key) {
|
|
|
53
74
|
return res;
|
|
54
75
|
}
|
|
55
76
|
export async function serveWrapperHtmlWithSwr(opts) {
|
|
56
|
-
const key = opts.isCrawlerUA === true
|
|
77
|
+
const key = opts.isCrawlerUA === true
|
|
78
|
+
? undefined
|
|
79
|
+
: eligibleKey(opts.request, opts.enableCfRum, opts.isUS, opts.workspaceNpmUrl, opts.bodyIdentity);
|
|
57
80
|
if (key === undefined)
|
|
58
81
|
return opts.inner();
|
|
59
82
|
const cached = await opts.cache.match(key);
|
|
60
|
-
if (cached !== undefined) {
|
|
83
|
+
if (cached !== undefined && (cached.headers.get(WRAPPER_IDENTITY_HEADER) ?? undefined) === identityValue(opts.bodyIdentity)) {
|
|
61
84
|
const state = swrDecision({
|
|
62
85
|
cachedAt: cachedAtOf(cached),
|
|
63
86
|
now: opts.now(),
|
|
@@ -73,6 +96,7 @@ export async function serveWrapperHtmlWithSwr(opts) {
|
|
|
73
96
|
}
|
|
74
97
|
const res = await renderAndStore(opts, key);
|
|
75
98
|
const headers = new Headers(res.headers);
|
|
99
|
+
headers.delete(WRAPPER_IDENTITY_HEADER);
|
|
76
100
|
headers.set(CACHE_STATE_HEADER, "miss");
|
|
77
101
|
return new Response(res.body, { status: res.status, headers });
|
|
78
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swr-wrapper-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-wrapper-html-cache.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAElB,UAAU,EACV,WAAW,EACX,oBAAoB,EACpB,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"swr-wrapper-html-cache.js","sourceRoot":"","sources":["../../jsr/intern/swr-wrapper-html-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Result } from "@adviser/cement";
|
|
2
|
+
export interface VibePkgHashedPaths {
|
|
3
|
+
readonly manifestHash: string;
|
|
4
|
+
readonly importMapHash: string;
|
|
5
|
+
readonly paths: Readonly<Record<string, string>>;
|
|
6
|
+
}
|
|
7
|
+
export declare const IMPORT_MAP_SPECIFIERS: ReadonlySet<string>;
|
|
8
|
+
export declare function importMapHashOf(paths: Readonly<Record<string, string>>): string;
|
|
9
|
+
export declare function parseVibePkgManifest(raw: unknown): Result<VibePkgHashedPaths>;
|
|
10
|
+
export declare function vibePkgManifestUrl(workspace: string): string;
|
|
11
|
+
export declare function resetVibePkgManifestCacheForTests(): void;
|
|
12
|
+
export interface VibePkgManifestSource {
|
|
13
|
+
readonly workspace: string;
|
|
14
|
+
readonly fetchAsset: (url: string) => Promise<Result<ReadableStream<Uint8Array>>>;
|
|
15
|
+
readonly warn?: (msg: string) => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function loadVibePkgHashedPaths(src: VibePkgManifestSource): Promise<VibePkgHashedPaths | undefined>;
|
|
18
|
+
export interface HashedPathsForCapture extends VibePkgManifestSource {
|
|
19
|
+
readonly capture: {
|
|
20
|
+
readonly npmURL: string;
|
|
21
|
+
readonly fromCookie: boolean;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare function vibePkgHashedPathsFor(opts: HashedPathsForCapture): Promise<VibePkgHashedPaths | undefined>;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { BuildURI, exception2Result, KeyedResolvOnce, Result, stream2string } from "@adviser/cement";
|
|
2
|
+
import { type } from "arktype";
|
|
3
|
+
import { lazyType } from "@vibes.diy/api-types/lazy-type";
|
|
4
|
+
import { hashObjectSync } from "@vibes.diy/identity";
|
|
5
|
+
import { isPlatformWorkspaceNpmUrl } from "./swr-html-cache.js";
|
|
6
|
+
import { lockedGroupsVersions } from "./grouped-vibe-import-map.js";
|
|
7
|
+
export const IMPORT_MAP_SPECIFIERS = new Set(Object.values(lockedGroupsVersions).flatMap((group) => Object.entries(group)
|
|
8
|
+
.filter(([k, v]) => v === "privateNpm:" && k.endsWith("/") === false)
|
|
9
|
+
.map(([k]) => k)));
|
|
10
|
+
export function importMapHashOf(paths) {
|
|
11
|
+
return hashObjectSync(Object.keys(paths)
|
|
12
|
+
.sort()
|
|
13
|
+
.map((k) => `${k}=${paths[k]}`));
|
|
14
|
+
}
|
|
15
|
+
const VibePkgManifestDoc = lazyType(() => type({
|
|
16
|
+
version: "1",
|
|
17
|
+
manifestHash: /^[0-9a-f]{12}$/,
|
|
18
|
+
entries: {
|
|
19
|
+
"[string]": {
|
|
20
|
+
hash: /^[0-9a-f]{12}$/,
|
|
21
|
+
path: "string",
|
|
22
|
+
bytes: "number",
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
}));
|
|
26
|
+
export function parseVibePkgManifest(raw) {
|
|
27
|
+
const doc = VibePkgManifestDoc(raw);
|
|
28
|
+
if (doc instanceof type.errors) {
|
|
29
|
+
return Result.Err(new Error(`vibe-pkg manifest: ${doc.summary}`));
|
|
30
|
+
}
|
|
31
|
+
const paths = {};
|
|
32
|
+
for (const [specifier, entry] of Object.entries(doc.entries)) {
|
|
33
|
+
if (entry.path !== `${specifier}/index.${entry.hash}.js`) {
|
|
34
|
+
return Result.Err(new Error(`vibe-pkg manifest: ${specifier} names ${entry.path}, not its own hashed file`));
|
|
35
|
+
}
|
|
36
|
+
if (IMPORT_MAP_SPECIFIERS.has(specifier))
|
|
37
|
+
paths[specifier] = entry.path;
|
|
38
|
+
}
|
|
39
|
+
return Result.Ok({ manifestHash: doc.manifestHash, importMapHash: importMapHashOf(paths), paths });
|
|
40
|
+
}
|
|
41
|
+
export function vibePkgManifestUrl(workspace) {
|
|
42
|
+
return BuildURI.from(workspace).cleanParams().appendRelative("manifest.json").toString();
|
|
43
|
+
}
|
|
44
|
+
const manifestOnce = new KeyedResolvOnce({ resetAfter: 60_000 });
|
|
45
|
+
export function resetVibePkgManifestCacheForTests() {
|
|
46
|
+
manifestOnce.reset();
|
|
47
|
+
}
|
|
48
|
+
export function loadVibePkgHashedPaths(src) {
|
|
49
|
+
const url = vibePkgManifestUrl(src.workspace);
|
|
50
|
+
return manifestOnce.get(url).once(async () => {
|
|
51
|
+
const rStream = await exception2Result(() => src.fetchAsset(url));
|
|
52
|
+
if (rStream.isErr())
|
|
53
|
+
return undefined;
|
|
54
|
+
const rRaw = await exception2Result(async () => JSON.parse(await stream2string(rStream.Ok())));
|
|
55
|
+
if (rRaw.isErr())
|
|
56
|
+
return undefined;
|
|
57
|
+
const rPaths = parseVibePkgManifest(rRaw.Ok());
|
|
58
|
+
if (rPaths.isErr()) {
|
|
59
|
+
src.warn?.(`vibe-pkg-manifest-rejected url=${url} error=${rPaths.Err().message}`);
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return rPaths.Ok();
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export async function vibePkgHashedPathsFor(opts) {
|
|
66
|
+
const { capture, workspace } = opts;
|
|
67
|
+
if (capture.fromCookie === true)
|
|
68
|
+
return undefined;
|
|
69
|
+
if (capture.npmURL !== workspace && isPlatformWorkspaceNpmUrl(capture.npmURL, workspace) === false)
|
|
70
|
+
return undefined;
|
|
71
|
+
return loadVibePkgHashedPaths(opts);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=vibe-pkg-hashed-import-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vibe-pkg-hashed-import-map.js","sourceRoot":"","sources":["../../jsr/intern/vibe-pkg-hashed-import-map.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const CRITICAL_MODULE_SPECIFIERS: readonly ["@vibes.diy/vibe-runtime", "react", "react-dom/client", "react/jsx-runtime", "react/jsx-dev-runtime"];
|
|
1
|
+
export declare const CRITICAL_MODULE_SPECIFIERS: readonly ["@vibes.diy/vibe-runtime", "arktype", "@ark/schema", "@ark/util", "arkregex", "@adviser/cement", "yaml", "react", "react-dom/client", "react/jsx-runtime", "react/jsx-dev-runtime"];
|
|
2
2
|
export declare const DELIBERATELY_NOT_PRELOADED: Readonly<Record<string, string>>;
|
|
3
3
|
export declare function vibePreloadModules(importMap: Record<string, string>, appModuleUrls?: readonly string[]): string[];
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
export const CRITICAL_MODULE_SPECIFIERS = [
|
|
2
2
|
"@vibes.diy/vibe-runtime",
|
|
3
|
+
"arktype",
|
|
4
|
+
"@ark/schema",
|
|
5
|
+
"@ark/util",
|
|
6
|
+
"arkregex",
|
|
7
|
+
"@adviser/cement",
|
|
8
|
+
"yaml",
|
|
3
9
|
"react",
|
|
4
10
|
"react-dom/client",
|
|
5
11
|
"react/jsx-runtime",
|
|
@@ -7,6 +13,10 @@ export const CRITICAL_MODULE_SPECIFIERS = [
|
|
|
7
13
|
];
|
|
8
14
|
export const DELIBERATELY_NOT_PRELOADED = {
|
|
9
15
|
"react-dom": "measured neutral at 400kbps and 2Mbps — vendor block is bandwidth-bound, not round-trip-bound (#4546)",
|
|
16
|
+
"@vibes.diy/vibe-runtime/edit-text": "lazy: fetched when the host turns owner edit mode on (#7421 PR 8)",
|
|
17
|
+
"@vibes.diy/vibe-runtime/pull-to-refresh": "lazy: fetched when the viewer route enables the gesture on iOS (#7421 PR 8)",
|
|
18
|
+
"@vibes.diy/vibe-runtime/img-gen-view": "lazy: fetched the first time an app renders <ImgGen> (#7421 PR 8)",
|
|
19
|
+
"@vibes.diy/vibe-runtime/handle-input": "lazy: fetched the first time an app renders a HandleInput (#7421 PR 8)",
|
|
10
20
|
};
|
|
11
21
|
export function vibePreloadModules(importMap, appModuleUrls = []) {
|
|
12
22
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vibe-preload-modules.js","sourceRoot":"","sources":["../../jsr/intern/vibe-preload-modules.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;
|
|
1
|
+
{"version":3,"file":"vibe-preload-modules.js","sourceRoot":"","sources":["../../jsr/intern/vibe-preload-modules.ts"],"names":[],"mappings":"AA2DA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IAOzB,SAAS;IACT,aAAa;IACb,WAAW;IACX,UAAU;IACV,iBAAiB;IACjB,MAAM;IACN,OAAO;IACP,kBAAkB;IAClB,mBAAmB;IACnB,uBAAuB;CACf,CAAC;AAQX,MAAM,CAAC,MAAM,0BAA0B,GAAqC;IAI1E,WAAW,EAAE,uGAAuG;IAKpH,mCAAmC,EAAE,mEAAmE;IACxG,yCAAyC,EAAE,6EAA6E;IACxH,sCAAsC,EAAE,mEAAmE;IAC3G,sCAAsC,EAAE,wEAAwE;CACjH,CAAC;AASF,MAAM,UAAU,kBAAkB,CAAC,SAAiC,EAAE,aAAa,GAAsB,EAAE;IACzG,OAAO;QACL,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,aAAa,EAAE,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CACrF,CAAC,CAAC,EAAe,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAC1D,CACF;KACF,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibes.diy/api-svc",
|
|
3
|
-
"version": "14.3.
|
|
3
|
+
"version": "14.3.135",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -28,7 +28,8 @@
|
|
|
28
28
|
"admin:backfill-geo-country": "tsx ./usage-report/backfill-geo-country.ts",
|
|
29
29
|
"admin:backfill-published-chips": "tsx ./usage-report/backfill-published-chips.ts",
|
|
30
30
|
"admin:backfill-release-tailwind": "tsx ./usage-report/backfill-release-tailwind.ts",
|
|
31
|
-
"admin:backfill-provisional-handles": "tsx ./usage-report/backfill-provisional-handles.ts"
|
|
31
|
+
"admin:backfill-provisional-handles": "tsx ./usage-report/backfill-provisional-handles.ts",
|
|
32
|
+
"admin:backfill-provisional-app-moves": "tsx ./usage-report/backfill-provisional-app-moves.ts"
|
|
32
33
|
},
|
|
33
34
|
"dependencies": {
|
|
34
35
|
"@adviser/cement": "~0.5.34",
|
|
@@ -39,21 +40,21 @@
|
|
|
39
40
|
"@neondatabase/serverless": "~1.2.0",
|
|
40
41
|
"@noble/hashes": "~2.4.0",
|
|
41
42
|
"@shadcn/lint": "~0.2.0",
|
|
42
|
-
"@vibes.diy/api-pkg": "14.3.
|
|
43
|
-
"@vibes.diy/api-sql": "14.3.
|
|
44
|
-
"@vibes.diy/api-types": "14.3.
|
|
45
|
-
"@vibes.diy/call-ai-v2": "14.3.
|
|
46
|
-
"@vibes.diy/identity": "14.3.
|
|
47
|
-
"@vibes.diy/look": "14.3.
|
|
48
|
-
"@vibes.diy/pouf": "14.3.
|
|
49
|
-
"@vibes.diy/prompts": "14.3.
|
|
50
|
-
"@vibes.diy/vibe-db-explorer": "14.3.
|
|
51
|
-
"@vibes.diy/vibe-runtime": "14.3.
|
|
52
|
-
"@vibes.diy/vibe-types": "14.3.
|
|
43
|
+
"@vibes.diy/api-pkg": "14.3.135",
|
|
44
|
+
"@vibes.diy/api-sql": "14.3.135",
|
|
45
|
+
"@vibes.diy/api-types": "14.3.135",
|
|
46
|
+
"@vibes.diy/call-ai-v2": "14.3.135",
|
|
47
|
+
"@vibes.diy/identity": "14.3.135",
|
|
48
|
+
"@vibes.diy/look": "14.3.135",
|
|
49
|
+
"@vibes.diy/pouf": "14.3.135",
|
|
50
|
+
"@vibes.diy/prompts": "14.3.135",
|
|
51
|
+
"@vibes.diy/vibe-db-explorer": "14.3.135",
|
|
52
|
+
"@vibes.diy/vibe-runtime": "14.3.135",
|
|
53
|
+
"@vibes.diy/vibe-types": "14.3.135",
|
|
53
54
|
"acorn": "~8.17.0",
|
|
54
55
|
"acorn-jsx": "~5.3.2",
|
|
55
56
|
"arktype": "~2.2.6",
|
|
56
|
-
"call-ai": "14.3.
|
|
57
|
+
"call-ai": "14.3.135",
|
|
57
58
|
"charwise": "~3.0.1",
|
|
58
59
|
"cookie": "~2.0.1",
|
|
59
60
|
"csv-parse": "~7.0.3",
|
|
@@ -17,7 +17,7 @@ import { mintFilesUrls } from "./files-url-mint.js";
|
|
|
17
17
|
import { applyQueryFilter } from "./app-documents-query-filter.js";
|
|
18
18
|
import { readAllowed, clientWsSend, connectionAdminMode } from "./app-documents-shared.js";
|
|
19
19
|
import { addressesDirectChannel } from "./dm-lane.js";
|
|
20
|
-
import { resolveActingHandle,
|
|
20
|
+
import { resolveActingHandle, resolveActiveHandle } from "./resolve-active-handle.js";
|
|
21
21
|
import { audienceChannelsOf, audienceChannelsForReader, collectAudienceSubjects, inheritChannelOf, INHERIT_CAPABILITY_CHANNEL, RESERVED_CHANNEL_PREFIX, } from "./audience-channels.js";
|
|
22
22
|
import { resolveInheritReadChannels } from "./inherit-read-resolver.js";
|
|
23
23
|
import { admitInterestChannelsFailClosed, applyInterestKeys, parseInterestHandles, sweepExpiredInterestKeys, } from "./interest-channels.js";
|
|
@@ -138,9 +138,7 @@ export async function getDocForCaller(vctx, args) {
|
|
|
138
138
|
for (const { row: grantRow, descriptor } of decodedGrantOutputs) {
|
|
139
139
|
reduce.addDoc(grantRow.docId, extractContribution(descriptor));
|
|
140
140
|
}
|
|
141
|
-
const userHandle = args.userId !== null
|
|
142
|
-
? (getPin.actingHandle ?? (await resolveActingHandleForApp(vctx, args.userId, args.ownerHandle)) ?? null)
|
|
143
|
-
: null;
|
|
141
|
+
const userHandle = args.userId !== null ? (getPin.actingHandle ?? (await resolveActiveHandle(vctx, args.userId)) ?? null) : null;
|
|
144
142
|
await applyInviteSubjectAliases(vctx, reduce, {
|
|
145
143
|
ownerHandle: args.ownerHandle,
|
|
146
144
|
appSlug: args.appSlug,
|
|
@@ -447,9 +445,7 @@ export const subscribeDocsEvento = {
|
|
|
447
445
|
reduce.addDoc(row.docId, extractContribution(descriptor));
|
|
448
446
|
}
|
|
449
447
|
}
|
|
450
|
-
const userHandle = req._auth
|
|
451
|
-
? ((await resolveActingHandleForApp(vctx, req._auth.verifiedAuth.claims.userId, req.ownerHandle)) ?? null)
|
|
452
|
-
: null;
|
|
448
|
+
const userHandle = req._auth ? ((await resolveActiveHandle(vctx, req._auth.verifiedAuth.claims.userId)) ?? null) : null;
|
|
453
449
|
await applyInviteSubjectAliases(vctx, reduce, {
|
|
454
450
|
ownerHandle: req.ownerHandle,
|
|
455
451
|
appSlug: req.appSlug,
|