@vibes.diy/vibe-runtime 2.5.11 → 2.5.13

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/VibeContext.d.ts CHANGED
@@ -2,6 +2,7 @@ import React, { type ReactNode } from "react";
2
2
  import type { VibeMountParams } from "./vibe.js";
3
3
  export interface Vibe {
4
4
  readonly mountParams: VibeMountParams;
5
+ readonly accessFnSources: Map<string, string | null>;
5
6
  }
6
7
  export interface VibeContextProviderProps {
7
8
  readonly mountParams: VibeMountParams;
package/VibeContext.js CHANGED
@@ -1,6 +1,7 @@
1
1
  import React, { createContext, useContext, useEffect, useState } from "react";
2
- import { isEvtVibeColorOverride, isEvtVibeViewerChanged } from "@vibes.diy/vibe-types";
2
+ import { isEvtVibeAccessFnSource, isEvtVibeColorOverride, isEvtVibeViewerChanged } from "@vibes.diy/vibe-types";
3
3
  import { generateTailwindRemapCss } from "./tailwindRemap.js";
4
+ import { getRegisteredAccessFnSources } from "./register-dependencies.js";
4
5
  const COLOR_OVERRIDE_STYLE_ID = "vibe-color-override";
5
6
  const TAILWIND_REMAP_STYLE_ID = "vibe-tailwind-remap";
6
7
  function renderTokens(map) {
@@ -68,6 +69,7 @@ function publishRootTokens() {
68
69
  }
69
70
  const VibeContext = createContext({
70
71
  mountParams: { usrEnv: {} },
72
+ accessFnSources: new Map(),
71
73
  });
72
74
  function LiveCycleVibeContextProvider({ mountParams, children }) {
73
75
  const [viewerEnv, setViewerEnv] = useState(mountParams.viewerEnv);
@@ -81,11 +83,38 @@ function LiveCycleVibeContextProvider({ mountParams, children }) {
81
83
  ...(event.data.isOwner !== undefined ? { isOwner: event.data.isOwner } : {}),
82
84
  ...(event.data.dbAcls ? { dbAcls: event.data.dbAcls } : {}),
83
85
  ...(event.data.grants ? { grants: event.data.grants } : {}),
86
+ ...(event.data.adminMode !== undefined ? { adminMode: event.data.adminMode } : {}),
84
87
  });
85
88
  };
86
89
  window.addEventListener("message", onMsg);
87
90
  return () => window.removeEventListener("message", onMsg);
88
91
  }, []);
92
+ const [accessFnSources, setAccessFnSources] = useState(() => getRegisteredAccessFnSources());
93
+ useEffect(() => {
94
+ const onMsg = (event) => {
95
+ if (!isEvtVibeAccessFnSource(event.data))
96
+ return;
97
+ const { cid, source } = event.data;
98
+ setAccessFnSources((prev) => {
99
+ const next = new Map(prev);
100
+ next.set(cid, source);
101
+ return next;
102
+ });
103
+ };
104
+ window.addEventListener("message", onMsg);
105
+ setAccessFnSources((prev) => {
106
+ const baseline = getRegisteredAccessFnSources();
107
+ let next;
108
+ for (const [cid, source] of baseline) {
109
+ if (prev.has(cid))
110
+ continue;
111
+ next = next ?? new Map(prev);
112
+ next.set(cid, source);
113
+ }
114
+ return next ?? prev;
115
+ });
116
+ return () => window.removeEventListener("message", onMsg);
117
+ }, []);
89
118
  useEffect(() => {
90
119
  const onMsg = (event) => {
91
120
  if (!isEvtVibeColorOverride(event.data))
@@ -123,6 +152,7 @@ function LiveCycleVibeContextProvider({ mountParams, children }) {
123
152
  }, []);
124
153
  const ctx = {
125
154
  mountParams: { ...mountParams, viewerEnv },
155
+ accessFnSources,
126
156
  };
127
157
  return React.createElement(VibeContext.Provider, { value: ctx }, children);
128
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../jsr/VibeContext.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VibeContext.js","sourceRoot":"","sources":["../jsr/VibeContext.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function extractExportSource(fullSource: string, bindingDbName: string): string | undefined;
@@ -0,0 +1,43 @@
1
+ export function extractExportSource(fullSource, bindingDbName) {
2
+ if (bindingDbName === "*") {
3
+ return extractByPattern(fullSource, /export\s+default\s+(?:function\s*(?:\w+\s*)?\([^)]*\)\s*\{|\([^)]*\)\s*=>\s*\{|\w+\s*=>\s*\{)/, true);
4
+ }
5
+ const directPattern = new RegExp(`export\\s+function\\s+${escapeRegExp(bindingDbName)}\\s*\\([^)]*\\)\\s*\\{`);
6
+ const direct = extractByPattern(fullSource, directPattern, false);
7
+ if (direct)
8
+ return direct;
9
+ const asMatch = fullSource.match(new RegExp(`export\\s*\\{\\s*(\\w+)\\s+as\\s+["']${escapeRegExp(bindingDbName)}["']\\s*\\}`));
10
+ if (asMatch) {
11
+ const localName = asMatch[1];
12
+ const fnPattern = new RegExp(`function\\s+${localName}\\s*\\([^)]*\\)\\s*\\{`);
13
+ return extractByPattern(fullSource, fnPattern, false);
14
+ }
15
+ return undefined;
16
+ }
17
+ function escapeRegExp(s) {
18
+ return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
19
+ }
20
+ function extractByPattern(fullSource, pattern, isDefault) {
21
+ const match = fullSource.match(pattern);
22
+ if (!match || match.index === undefined)
23
+ return undefined;
24
+ const start = match.index;
25
+ let depth = 0;
26
+ let end = start;
27
+ for (let i = start; i < fullSource.length; i++) {
28
+ if (fullSource[i] === "{")
29
+ depth++;
30
+ if (fullSource[i] === "}") {
31
+ depth--;
32
+ if (depth === 0) {
33
+ end = i + 1;
34
+ break;
35
+ }
36
+ }
37
+ }
38
+ let extracted = fullSource.slice(start, end).replace(/^export\s+/, "");
39
+ if (isDefault)
40
+ extracted = extracted.replace(/^default\s+/, "");
41
+ return extracted;
42
+ }
43
+ //# sourceMappingURL=access-extract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-extract.js","sourceRoot":"","sources":["../jsr/access-extract.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CAAC,UAAkB,EAAE,aAAqB;IAC3E,IAAI,aAAa,KAAK,GAAG,EAAE,CAAC;QAC1B,OAAO,gBAAgB,CACrB,UAAU,EACV,+FAA+F,EAC/F,IAAI,CACL,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,yBAAyB,YAAY,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAC/G,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;IAClE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,wCAAwC,YAAY,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/H,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,eAAe,SAAS,wBAAwB,CAAC,CAAC;QAC/E,OAAO,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,YAAY,CAAC,CAAS;IAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,gBAAgB,CAAC,UAAkB,EAAE,OAAe,EAAE,SAAkB;IAC/E,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QACnC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1B,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;gBACZ,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IACvE,IAAI,SAAS;QAAE,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAChE,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -0,0 +1,44 @@
1
+ export interface AccessUser {
2
+ userHandle: string;
3
+ displayName?: string;
4
+ isOwner: boolean;
5
+ }
6
+ export interface AccessGrants {
7
+ channels: string[];
8
+ publicChannels: string[];
9
+ roles: string[];
10
+ }
11
+ export interface AccessCtx {
12
+ requireAccess(channelId: string): void;
13
+ requireRole(roleName: string): void;
14
+ }
15
+ export declare function makeClientCtx(user: AccessUser | null, grants: AccessGrants, adminMode: boolean): AccessCtx;
16
+ export type WriteVerdict = {
17
+ ok: true;
18
+ } | {
19
+ ok: false;
20
+ reason: string;
21
+ code: "access-denied" | "unreadable";
22
+ } | {
23
+ unknown: true;
24
+ reason: string;
25
+ };
26
+ export interface EvaluateWriteArgs {
27
+ source: string;
28
+ dbName: string;
29
+ doc: unknown;
30
+ oldDoc: unknown;
31
+ user: AccessUser | null;
32
+ grants: AccessGrants;
33
+ adminMode: boolean;
34
+ }
35
+ export declare function evaluateWrite(args: EvaluateWriteArgs): WriteVerdict;
36
+ export interface CanSeeArgs {
37
+ doc: {
38
+ _id: string;
39
+ };
40
+ outputChannels: Map<string, string[]> | undefined;
41
+ grants: AccessGrants;
42
+ adminOverride: boolean;
43
+ }
44
+ export declare function canSeeDoc({ doc, outputChannels, grants, adminOverride }: CanSeeArgs): boolean;
@@ -0,0 +1,83 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { extractExportSource } from "./access-extract.js";
3
+ export function makeClientCtx(user, grants, adminMode) {
4
+ return {
5
+ requireAccess(channelId) {
6
+ if (adminMode)
7
+ return;
8
+ if (user === null)
9
+ throw { forbidden: "authentication required" };
10
+ if (!grants.channels.includes(channelId))
11
+ throw { forbidden: `not in channel: ${channelId}` };
12
+ },
13
+ requireRole(roleName) {
14
+ if (adminMode)
15
+ return;
16
+ if (user === null)
17
+ throw { forbidden: "authentication required" };
18
+ if (!grants.roles.includes(roleName))
19
+ throw { forbidden: `not in role: ${roleName}` };
20
+ },
21
+ };
22
+ }
23
+ function buildInvoker(extracted) {
24
+ const cleanSource = extracted.replace(/export\s+/g, "").replace(/^default\s+/, "");
25
+ const fnNameMatch = cleanSource.match(/^function\s+(\w+)\s*\(/);
26
+ const isAnonymousFnOrArrow = /^function\s*\(/.test(cleanSource) || /^\(/.test(cleanSource) || /^\w+\s*=>/.test(cleanSource);
27
+ const body = fnNameMatch
28
+ ? `${cleanSource}\n; return ${fnNameMatch[1]}(doc, oldDoc, user, ctx);`
29
+ : isAnonymousFnOrArrow
30
+ ? `const __accessFn = ${cleanSource}\n; return __accessFn(doc, oldDoc, user, ctx);`
31
+ : `return (function () { ${cleanSource} })();`;
32
+ return new Function("doc", "oldDoc", "user", "ctx", body);
33
+ }
34
+ function forbiddenReason(err) {
35
+ if (typeof err === "object" && err !== null && "forbidden" in err)
36
+ return String(err.forbidden);
37
+ if (typeof err === "string")
38
+ return err;
39
+ return null;
40
+ }
41
+ export function evaluateWrite(args) {
42
+ const { source, dbName, doc, oldDoc, user, grants, adminMode } = args;
43
+ const extracted = extractExportSource(source, dbName);
44
+ if (extracted === undefined)
45
+ return { unknown: true, reason: "access function not found" };
46
+ const rInvoker = exception2Result(() => buildInvoker(extracted));
47
+ if (rInvoker.isErr())
48
+ return { unknown: true, reason: "access function did not compile" };
49
+ const invoker = rInvoker.Ok();
50
+ const ctx = makeClientCtx(user, grants, adminMode);
51
+ let result;
52
+ try {
53
+ result = invoker(doc, oldDoc, user, ctx);
54
+ }
55
+ catch (err) {
56
+ const reason = forbiddenReason(err);
57
+ if (reason === null)
58
+ return { unknown: true, reason: "access function threw a non-forbidden error" };
59
+ return { ok: false, reason, code: "access-denied" };
60
+ }
61
+ if (result !== null && result !== undefined && typeof result.then === "function") {
62
+ return { unknown: true, reason: "async access function" };
63
+ }
64
+ const descriptor = (result ?? {});
65
+ if (user === null && descriptor.allowAnonymous !== true) {
66
+ return { ok: false, reason: "authentication required", code: "access-denied" };
67
+ }
68
+ if (!(Array.isArray(descriptor.channels) && descriptor.channels.length > 0)) {
69
+ return { ok: false, reason: "unreadable write", code: "unreadable" };
70
+ }
71
+ return { ok: true };
72
+ }
73
+ export function canSeeDoc({ doc, outputChannels, grants, adminOverride }) {
74
+ if (adminOverride)
75
+ return true;
76
+ if (outputChannels === undefined || outputChannels.size === 0)
77
+ return true;
78
+ const channels = outputChannels.get(doc._id);
79
+ if (channels === undefined)
80
+ return false;
81
+ return channels.some((ch) => grants.channels.includes(ch) || grants.publicChannels.includes(ch));
82
+ }
83
+ //# sourceMappingURL=access-runner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-runner.js","sourceRoot":"","sources":["../jsr/access-runner.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -9,6 +9,9 @@ export * from "./img-gen.js";
9
9
  export { resizeImageToBase64 } from "./resize-image.js";
10
10
  export { useFireproof, fireproof, listDbNames, type DatabaseAccess } from "./use-firefly.js";
11
11
  export { useViewer, type UseViewerResult } from "./use-viewer.js";
12
+ export { useGraceDegraded, armGrace, isGraceDegraded, subscribeGrace, setGraceMsForTest, __resetGraceForTest, } from "./use-vibe-grace.js";
12
13
  export { FireflyDatabase, FireflyDatabase as Database, type DocTypes, type DocWithId, type DocResponse, type ListenerFn, type IndexRow, type QueryResponse, } from "./firefly-database.js";
13
14
  export type { FireflyTransport } from "./firefly-database.js";
14
15
  export type { ViewerTagProps } from "./use-viewer-tag.js";
16
+ export { evaluateWrite, canSeeDoc, makeClientCtx, type AccessUser, type AccessGrants, type AccessCtx, type WriteVerdict, type EvaluateWriteArgs, type CanSeeArgs, } from "./access-runner.js";
17
+ export { useVibe, type UseVibeResult, type CanVerdict, type UseVibeMe } from "./use-vibe.js";
package/index.js CHANGED
@@ -9,5 +9,8 @@ export * from "./img-gen.js";
9
9
  export { resizeImageToBase64 } from "./resize-image.js";
10
10
  export { useFireproof, fireproof, listDbNames } from "./use-firefly.js";
11
11
  export { useViewer } from "./use-viewer.js";
12
+ export { useGraceDegraded, armGrace, isGraceDegraded, subscribeGrace, setGraceMsForTest, __resetGraceForTest, } from "./use-vibe-grace.js";
12
13
  export { FireflyDatabase, FireflyDatabase as Database, } from "./firefly-database.js";
14
+ export { evaluateWrite, canSeeDoc, makeClientCtx, } from "./access-runner.js";
15
+ export { useVibe } from "./use-vibe.js";
13
16
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAuB,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,eAAe,EACf,eAAe,IAAI,QAAQ,GAO5B,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../jsr/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,GAClB,MAAM,6BAA6B,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,WAAW,EAAuB,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAAE,SAAS,EAAwB,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,eAAe,EACf,eAAe,IAAI,QAAQ,GAO5B,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EACL,aAAa,EACb,SAAS,EACT,aAAa,GAOd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAuD,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/vibe-runtime",
3
- "version": "2.5.11",
3
+ "version": "2.5.13",
4
4
  "type": "module",
5
5
  "main": "./index.js",
6
6
  "scripts": {
@@ -8,8 +8,8 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "@adviser/cement": "~0.5.34",
11
- "@vibes.diy/base": "2.5.11",
12
- "@vibes.diy/vibe-types": "2.5.11",
11
+ "@vibes.diy/base": "2.5.13",
12
+ "@vibes.diy/vibe-types": "2.5.13",
13
13
  "arktype": "~2.2.1",
14
14
  "charwise": "~3.0.1",
15
15
  "react": "~19.2.7",
@@ -1,4 +1,4 @@
1
- import { ResCallAI, ResImgGen, ResPutDoc, ResGetDoc, ResQueryDocs, ResDeleteDoc, ResSubscribeDocs, ResListDbNames, ResVibePutAsset, ResVibeWhoAmI, type ResVibeUpdateAvatarCid, type ResSetDbAcl, type DbAcl, type QueryFilter } from "@vibes.diy/vibe-types";
1
+ import { ResCallAI, ResImgGen, ResPutDoc, ResGetDoc, ResQueryDocs, ResDeleteDoc, ResSubscribeDocs, ResListDbNames, ResVibePutAsset, ResVibeWhoAmI, type ResVibeAccessFnSource, type ResVibeUpdateAvatarCid, type ResSetDbAcl, type DbAcl, type QueryFilter } from "@vibes.diy/vibe-types";
2
2
  import { Future, Result } from "@adviser/cement";
3
3
  import { CallAIOpts } from "./call-ai.js";
4
4
  export interface VibeApp {
@@ -6,6 +6,10 @@ export interface VibeApp {
6
6
  readonly ownerHandle: string;
7
7
  readonly fsId: string;
8
8
  readonly adminMode?: boolean;
9
+ readonly accessFnBindings?: readonly {
10
+ dbName: string;
11
+ accessFnCid: string;
12
+ }[];
9
13
  }
10
14
  export interface VibeSandboxApiOptions {
11
15
  vibeApp: VibeApp;
@@ -38,14 +42,21 @@ export declare class VibeSandboxApi {
38
42
  setDbAcl(dbName: string, acl: DbAcl): Promise<Result<ResSetDbAcl>>;
39
43
  listDbNames(): Promise<Result<ResListDbNames>>;
40
44
  whoAmI(): Promise<Result<ResVibeWhoAmI>>;
45
+ accessFnSource(cid: string): Promise<Result<ResVibeAccessFnSource>>;
41
46
  putAsset(blob: Blob, mimeType?: string): Promise<Result<ResVibePutAsset>>;
42
47
  requestLogin(): void;
43
48
  updateAvatarCid(cid: string, handle: string, mimeType?: string): Promise<Result<ResVibeUpdateAvatarCid>>;
44
49
  }
45
50
  export declare function getRegisteredVibeApi(): VibeSandboxApi | undefined;
51
+ export declare function getRegisteredAccessFnSources(): Map<string, string | null>;
52
+ export declare function __resetRegisteredAccessFnSourcesForTests(): void;
46
53
  export declare const vibeApi: (svc: VibeSandboxApiOptions) => VibeSandboxApi;
47
54
  export declare function registerDependencies(vibeApp: VibeApp): Promise<void>;
48
55
  export declare function beginNetworkActivity(): void;
49
56
  export declare function endNetworkActivity(): void;
50
57
  export declare function bootstrapViewer(api: VibeSandboxApi): Promise<void>;
58
+ export declare function bootstrapAccessFnSources(api: VibeSandboxApi, bindings: readonly {
59
+ dbName: string;
60
+ accessFnCid: string;
61
+ }[] | undefined): Promise<void>;
51
62
  export {};
@@ -1,4 +1,4 @@
1
- import { isResCallAI, isResImgGen, isEvtVibeSetSource, isEvtRuntimeAck, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResVibePutAsset, isResVibeWhoAmI, isResVibeUpdateAvatarCid, isResSetDbAcl, } from "@vibes.diy/vibe-types";
1
+ import { isResCallAI, isResImgGen, isEvtVibeSetSource, isEvtRuntimeAck, isResPutDoc, isResGetDoc, isResGetDocNotFound, isResQueryDocs, isResDeleteDoc, isResSubscribeDocs, isResListDbNames, isResVibePutAsset, isResVibeWhoAmI, isResVibeAccessFnSource, isResVibeUpdateAvatarCid, isResSetDbAcl, } from "@vibes.diy/vibe-types";
2
2
  import { exception2Result, Future, Lazy, OnFunc, OnFuncReturn, Result, timeouted } from "@adviser/cement";
3
3
  import { transform } from "sucrase";
4
4
  import { registerCallAI } from "./call-ai.js";
@@ -177,6 +177,14 @@ export class VibeSandboxApi {
177
177
  ...(this.svc.vibeApp.adminMode ? { adminMode: true } : {}),
178
178
  }, { wait: isResVibeWhoAmI, timeout: 10000 });
179
179
  }
180
+ accessFnSource(cid) {
181
+ return this.request({
182
+ type: "vibe.req.accessFnSource",
183
+ appSlug: this.svc.vibeApp.appSlug,
184
+ ownerHandle: this.svc.vibeApp.ownerHandle,
185
+ cid,
186
+ }, { wait: isResVibeAccessFnSource, timeout: 10000 });
187
+ }
180
188
  putAsset(blob, mimeType) {
181
189
  return this.request({
182
190
  type: "vibe.req.putAsset",
@@ -205,6 +213,13 @@ let _registeredApi;
205
213
  export function getRegisteredVibeApi() {
206
214
  return _registeredApi;
207
215
  }
216
+ const _accessFnSources = new Map();
217
+ export function getRegisteredAccessFnSources() {
218
+ return new Map(_accessFnSources);
219
+ }
220
+ export function __resetRegisteredAccessFnSourcesForTests() {
221
+ _accessFnSources.clear();
222
+ }
208
223
  export const vibeApi = Lazy((svc) => new VibeSandboxApi(svc));
209
224
  export async function registerDependencies(vibeApp) {
210
225
  const ctxVibeApi = vibeApi({
@@ -222,6 +237,9 @@ export async function registerDependencies(vibeApp) {
222
237
  bootstrapViewer(ctxVibeApi).catch((e) => {
223
238
  console.warn("[viewer] bootstrap whoAmI failed", e);
224
239
  });
240
+ bootstrapAccessFnSources(ctxVibeApi, vibeApp.accessFnBindings).catch((e) => {
241
+ console.warn("[accessFn] bootstrap source fetch failed", e);
242
+ });
225
243
  }
226
244
  function sendRuntimeReadyWithRetry(api) {
227
245
  const post = () => api.sendRuntimeReady(["use-fireproof", "call-ai", "img-gen"]);
@@ -303,9 +321,25 @@ export async function bootstrapViewer(api) {
303
321
  ...(r.isOwner !== undefined ? { isOwner: r.isOwner } : {}),
304
322
  ...(r.dbAcls ? { dbAcls: r.dbAcls } : {}),
305
323
  ...(r.grants ? { grants: r.grants } : {}),
324
+ ...(r.adminMode !== undefined ? { adminMode: r.adminMode } : {}),
306
325
  },
307
326
  }));
308
327
  }
328
+ export async function bootstrapAccessFnSources(api, bindings) {
329
+ if (bindings === undefined)
330
+ return;
331
+ const cids = [...new Set(bindings.map((b) => b.accessFnCid))];
332
+ await Promise.all(cids.map(async (cid) => {
333
+ const res = await api.accessFnSource(cid);
334
+ if (res.isErr())
335
+ return;
336
+ const r = res.Ok();
337
+ _accessFnSources.set(cid, r.source);
338
+ window.dispatchEvent(new MessageEvent("message", {
339
+ data: { type: "vibe.evt.accessFnSource", cid, source: r.source },
340
+ }));
341
+ }));
342
+ }
309
343
  async function applyHotSwap(source) {
310
344
  const rTransform = exception2Result(() => transform(source, {
311
345
  transforms: ["jsx"],
@@ -1 +1 @@
1
- {"version":3,"file":"register-dependencies.js","sourceRoot":"","sources":["../jsr/register-dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-dependencies.js","sourceRoot":"","sources":["../jsr/register-dependencies.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare function isGraceDegraded(cid: string): boolean;
2
+ export declare function subscribeGrace(listener: () => void): () => void;
3
+ export declare function armGrace(cid: string): () => void;
4
+ export declare function useGraceDegraded(cid: string | undefined, pending: boolean): boolean;
5
+ export declare function setGraceMsForTest(ms: number): void;
6
+ export declare function __resetGraceForTest(): void;
@@ -0,0 +1,66 @@
1
+ import { useEffect, useSyncExternalStore } from "react";
2
+ let GRACE_MS = 4000;
3
+ const degraded = new Set();
4
+ const timers = new Map();
5
+ const refcount = new Map();
6
+ const listeners = new Set();
7
+ function notify() {
8
+ for (const l of listeners)
9
+ l();
10
+ }
11
+ export function isGraceDegraded(cid) {
12
+ return degraded.has(cid);
13
+ }
14
+ export function subscribeGrace(listener) {
15
+ listeners.add(listener);
16
+ return () => listeners.delete(listener);
17
+ }
18
+ export function armGrace(cid) {
19
+ refcount.set(cid, (refcount.get(cid) ?? 0) + 1);
20
+ if (!degraded.has(cid) && !timers.has(cid)) {
21
+ timers.set(cid, setTimeout(() => {
22
+ timers.delete(cid);
23
+ degraded.add(cid);
24
+ notify();
25
+ }, GRACE_MS));
26
+ }
27
+ let released = false;
28
+ return () => {
29
+ if (released)
30
+ return;
31
+ released = true;
32
+ const n = (refcount.get(cid) ?? 1) - 1;
33
+ if (n > 0) {
34
+ refcount.set(cid, n);
35
+ return;
36
+ }
37
+ refcount.delete(cid);
38
+ const t = timers.get(cid);
39
+ if (t !== undefined) {
40
+ clearTimeout(t);
41
+ timers.delete(cid);
42
+ }
43
+ };
44
+ }
45
+ export function useGraceDegraded(cid, pending) {
46
+ const flag = useSyncExternalStore(subscribeGrace, () => (cid !== undefined ? isGraceDegraded(cid) : false), () => false);
47
+ useEffect(() => {
48
+ if (cid === undefined || !pending)
49
+ return;
50
+ return armGrace(cid);
51
+ }, [cid, pending]);
52
+ return cid !== undefined ? flag : false;
53
+ }
54
+ export function setGraceMsForTest(ms) {
55
+ GRACE_MS = ms;
56
+ }
57
+ export function __resetGraceForTest() {
58
+ for (const t of timers.values())
59
+ clearTimeout(t);
60
+ degraded.clear();
61
+ timers.clear();
62
+ refcount.clear();
63
+ listeners.clear();
64
+ GRACE_MS = 4000;
65
+ }
66
+ //# sourceMappingURL=use-vibe-grace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-vibe-grace.js","sourceRoot":"","sources":["../jsr/use-vibe-grace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAKxD,IAAI,QAAQ,GAAG,IAAI,CAAC;AAEpB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;AACnC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyC,CAAC;AAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;AAExC,SAAS,MAAM;IACb,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,CAAC,EAAE,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,QAAoB;IACjD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAKD,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,CACR,GAAG,EACH,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,EAAE,CAAC;QACX,CAAC,EAAE,QAAQ,CAAC,CACb,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,GAAG,EAAE;QACV,IAAI,QAAQ;YAAE,OAAO;QACrB,QAAQ,GAAG,IAAI,CAAC;QAChB,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,YAAY,CAAC,CAAC,CAAC,CAAC;YAChB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAID,MAAM,UAAU,gBAAgB,CAAC,GAAuB,EAAE,OAAgB;IACxE,MAAM,IAAI,GAAG,oBAAoB,CAC/B,cAAc,EACd,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACxD,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;IACnB,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,CAAC;AAGD,MAAM,UAAU,iBAAiB,CAAC,EAAU;IAC1C,QAAQ,GAAG,EAAE,CAAC;AAChB,CAAC;AACD,MAAM,UAAU,mBAAmB;IACjC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,SAAS,CAAC,KAAK,EAAE,CAAC;IAClB,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC"}
package/use-vibe.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ export interface CanVerdict {
2
+ readonly ok: boolean;
3
+ readonly reason?: string;
4
+ }
5
+ export interface UseVibeMe {
6
+ readonly userHandle: string;
7
+ readonly displayName?: string;
8
+ readonly isOwner: boolean;
9
+ }
10
+ export interface UseVibeResult {
11
+ readonly me: UseVibeMe | null;
12
+ readonly ready: boolean;
13
+ readonly can: {
14
+ create(doc: unknown): CanVerdict;
15
+ edit(doc: unknown): CanVerdict;
16
+ delete(doc: unknown): CanVerdict;
17
+ };
18
+ }
19
+ export declare function useVibe(dbName: string): UseVibeResult;
package/use-vibe.js ADDED
@@ -0,0 +1,48 @@
1
+ import { useMemo } from "react";
2
+ import { useVibeContext } from "./VibeContext.js";
3
+ import { evaluateWrite } from "./access-runner.js";
4
+ import { useGraceDegraded } from "./use-vibe-grace.js";
5
+ const EMPTY_GRANTS = { channels: [], publicChannels: [], roles: [] };
6
+ export function useVibe(dbName) {
7
+ const { mountParams, accessFnSources } = useVibeContext();
8
+ const env = mountParams.viewerEnv;
9
+ const identityReady = env !== undefined;
10
+ const bindings = mountParams.accessFnBindings;
11
+ const binding = bindings?.find((b) => b.dbName === dbName) ?? bindings?.find((b) => b.dbName === "*");
12
+ const cid = binding?.accessFnCid;
13
+ const bindingName = binding?.dbName ?? dbName;
14
+ const hasBinding = cid !== undefined;
15
+ const sourcePresent = hasBinding && accessFnSources.has(cid);
16
+ const pending = hasBinding && !sourcePresent;
17
+ const graceDegraded = useGraceDegraded(cid, pending);
18
+ const sourceReady = !hasBinding || sourcePresent || graceDegraded;
19
+ const ready = identityReady && sourceReady;
20
+ const source = hasBinding && sourcePresent ? accessFnSources.get(cid) : undefined;
21
+ const me = useMemo(() => (env?.viewer ? { ...env.viewer, isOwner: env.isOwner ?? false } : null), [env?.viewer, env?.isOwner]);
22
+ const grants = env?.grants?.[dbName] ?? EMPTY_GRANTS;
23
+ const adminMode = env?.adminMode ?? false;
24
+ const can = useMemo(() => {
25
+ const user = me;
26
+ function verdict(doc, oldDoc) {
27
+ if (!ready)
28
+ return { ok: false, reason: "pending" };
29
+ if (typeof source !== "string")
30
+ return { ok: true };
31
+ const v = evaluateWrite({ source, dbName: bindingName, doc, oldDoc, user, grants, adminMode });
32
+ if ("unknown" in v) {
33
+ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
34
+ console.warn(`[useVibe] unknown verdict for "${dbName}": ${v.reason}`);
35
+ }
36
+ return { ok: true, reason: v.reason };
37
+ }
38
+ return v.ok ? { ok: true } : { ok: false, reason: v.reason };
39
+ }
40
+ return {
41
+ create: (doc) => verdict(doc, null),
42
+ edit: (doc) => verdict(doc, doc),
43
+ delete: (doc) => verdict(doc, doc),
44
+ };
45
+ }, [ready, source, bindingName, me, grants, adminMode]);
46
+ return { me, ready, can };
47
+ }
48
+ //# sourceMappingURL=use-vibe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-vibe.js","sourceRoot":"","sources":["../jsr/use-vibe.ts"],"names":[],"mappings":"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"}
package/vibe.d.ts CHANGED
@@ -20,6 +20,7 @@ export declare const viewerEnv: import("arktype/internal/variants/object.ts").Ob
20
20
  roles: string[];
21
21
  };
22
22
  } | undefined;
23
+ adminMode?: boolean | undefined;
23
24
  }, {}>;
24
25
  export type ViewerEnv = typeof viewerEnv.infer;
25
26
  export declare const vibeMountParams: import("arktype/internal/variants/object.ts").ObjectType<{
@@ -45,6 +46,11 @@ export declare const vibeMountParams: import("arktype/internal/variants/object.t
45
46
  roles: string[];
46
47
  };
47
48
  } | undefined;
49
+ adminMode?: boolean | undefined;
48
50
  } | undefined;
51
+ accessFnBindings?: {
52
+ dbName: string;
53
+ accessFnCid: string;
54
+ }[] | undefined;
49
55
  }, {}>;
50
56
  export type VibeMountParams = typeof vibeMountParams.infer;
package/vibe.js CHANGED
@@ -7,9 +7,11 @@ export const viewerEnv = type({
7
7
  "isOwner?": "boolean",
8
8
  "dbAcls?": type({ "[string]": dbAcl }),
9
9
  "grants?": type({ "[string]": type({ channels: "string[]", publicChannels: "string[]", roles: "string[]" }) }),
10
+ "adminMode?": "boolean",
10
11
  });
11
12
  export const vibeMountParams = type({
12
13
  usrEnv: vibeEnv,
13
14
  "viewerEnv?": viewerEnv,
15
+ "accessFnBindings?": type({ dbName: "string", accessFnCid: "string" }).array(),
14
16
  });
15
17
  //# sourceMappingURL=vibe.js.map
package/vibe.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vibe.js","sourceRoot":"","sources":["../jsr/vibe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG7E,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAMhC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACtC,SAAS,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;CAC/G,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,SAAS;CACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"vibe.js","sourceRoot":"","sources":["../jsr/vibe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG7E,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;AAMhC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,CAAC;IAChC,MAAM,EAAE,cAAc;IACtB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACtC,SAAS,EAAE,IAAI,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC9G,YAAY,EAAE,SAAS;CACxB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;IAClC,MAAM,EAAE,OAAO;IACf,YAAY,EAAE,SAAS;IACvB,mBAAmB,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;CAC/E,CAAC,CAAC"}