@vibes.diy/api-svc 14.3.82 → 14.3.83

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.
Files changed (74) hide show
  1. package/analytics.d.ts +1 -1
  2. package/analytics.js.map +1 -1
  3. package/cf-serve.d.ts +3 -15
  4. package/cf-serve.js +2 -145
  5. package/cf-serve.js.map +1 -1
  6. package/intern/access-summary.d.ts +6 -0
  7. package/intern/access-summary.js +18 -0
  8. package/intern/access-summary.js.map +1 -0
  9. package/intern/access-verdict-docs.d.ts +4 -1
  10. package/intern/access-verdict-docs.js +5 -4
  11. package/intern/access-verdict-docs.js.map +1 -1
  12. package/intern/access-verdicts.d.ts +15 -0
  13. package/intern/access-verdicts.js +35 -6
  14. package/intern/access-verdicts.js.map +1 -1
  15. package/intern/agent-file-validation.js +4 -1
  16. package/intern/agent-file-validation.js.map +1 -1
  17. package/intern/agent-options-tool.js +1 -1
  18. package/intern/agent-options-tool.js.map +1 -1
  19. package/intern/agent-session-runtime.js +1 -0
  20. package/intern/agent-session-runtime.js.map +1 -1
  21. package/intern/agent-wake.d.ts +8 -0
  22. package/intern/agent-wake.js +13 -0
  23. package/intern/agent-wake.js.map +1 -1
  24. package/intern/apply-seed.d.ts +1 -1
  25. package/intern/apply-seed.js +5 -5
  26. package/intern/apply-seed.js.map +1 -1
  27. package/intern/attach-draft-handle.js +15 -1
  28. package/intern/attach-draft-handle.js.map +1 -1
  29. package/intern/backend-db-callback.js +2 -2
  30. package/intern/backend-db-callback.js.map +1 -1
  31. package/intern/capture-seed-docs.d.ts +1 -1
  32. package/intern/capture-seed-docs.js +2 -2
  33. package/intern/capture-seed-docs.js.map +1 -1
  34. package/intern/delete-access-gate.js +2 -2
  35. package/intern/delete-access-gate.js.map +1 -1
  36. package/intern/process-access-bindings.js +2 -2
  37. package/intern/process-access-bindings.js.map +1 -1
  38. package/intern/prompt-assembly.js +3 -3
  39. package/intern/prompt-assembly.js.map +1 -1
  40. package/intern/seed-repair.d.ts +66 -0
  41. package/intern/seed-repair.js +261 -0
  42. package/intern/seed-repair.js.map +1 -0
  43. package/package.json +13 -13
  44. package/public/access-fn-quickjs.d.ts +19 -0
  45. package/public/access-fn-quickjs.js +151 -0
  46. package/public/access-fn-quickjs.js.map +1 -0
  47. package/public/access-function.js +8 -1
  48. package/public/access-function.js.map +1 -1
  49. package/public/app-documents-read-eventos.js +7 -3
  50. package/public/app-documents-read-eventos.js.map +1 -1
  51. package/public/handle-prompt-context.d.ts +2 -0
  52. package/public/handle-prompt-context.js +72 -0
  53. package/public/handle-prompt-context.js.map +1 -1
  54. package/public/prompt-turn-settled.js +12 -2
  55. package/public/prompt-turn-settled.js.map +1 -1
  56. package/public/resolve-active-handle.d.ts +1 -0
  57. package/public/resolve-active-handle.js +12 -0
  58. package/public/resolve-active-handle.js.map +1 -1
  59. package/public/seed-owner-controls.js +2 -2
  60. package/public/seed-owner-controls.js.map +1 -1
  61. package/public/serv-entry-point.js +1 -1
  62. package/public/serv-entry-point.js.map +1 -1
  63. package/public/stream-assembly.d.ts +2 -0
  64. package/public/stream-assembly.js +2 -0
  65. package/public/stream-assembly.js.map +1 -1
  66. package/public/viewer-channel-resolver.js +2 -2
  67. package/public/viewer-channel-resolver.js.map +1 -1
  68. package/public/who-am-i.js +2 -2
  69. package/public/who-am-i.js.map +1 -1
  70. package/public/write-front-door.js +2 -2
  71. package/public/write-front-door.js.map +1 -1
  72. package/seed-parser.d.ts +2 -0
  73. package/seed-parser.js +50 -0
  74. package/seed-parser.js.map +1 -1
@@ -0,0 +1,261 @@
1
+ import { exception2Result } from "@adviser/cement";
2
+ import { extractAccessSummary } from "@vibes.diy/api-types";
3
+ import { parseSeed, SEED_OWNER_SENTINEL } from "../seed-parser.js";
4
+ import { accessReceiptField, admittedDocKeys, evaluateAccessVerdicts } from "./access-verdicts.js";
5
+ import { accessSourceResolver, seedVerdictDocs } from "./access-verdict-docs.js";
6
+ import { SAVE_REPAIR_FALLBACK_MODEL } from "./save-repair.js";
7
+ import { callWithDeadline, parseRepairText, renderRepairFiles, repairModelCallFor, } from "./save-repair-io.js";
8
+ export const SEED_REPAIR_MAX_ATTEMPTS = 2;
9
+ export const SEED_REPAIR_TIMEOUT_MS = 30_000;
10
+ export const SEED_REPAIR_MAX_OUTPUT_TOKENS = 12_000;
11
+ export const SEED_REPAIR_FINDINGS_MAX = 8;
12
+ const SEED_PATH = "/seed.json";
13
+ const ACCESS_PATH = "/access.js";
14
+ export function seedRepairEnabled(flag) {
15
+ return flag !== "off";
16
+ }
17
+ export function seedRefusalCount(report) {
18
+ if (report === undefined)
19
+ return 0;
20
+ return report.counts.seed.refused + report.counts.seed.thrown;
21
+ }
22
+ export function seedRepairFindings(report) {
23
+ return accessReceiptField(report)
24
+ .refusals.filter((refusal) => refusal.scope === "seed")
25
+ .slice(0, SEED_REPAIR_FINDINGS_MAX)
26
+ .map(function findingLine(refusal) {
27
+ const type = refusal.type === undefined ? "" : ` (${refusal.type})`;
28
+ const verdict = refusal.outcome === "thrown" ? "the access function threw" : "refused";
29
+ return `${refusal.dbName}/${refusal.docId}${type}: ${verdict}: ${refusal.reason ?? "no reason given"}`;
30
+ });
31
+ }
32
+ const PLACEHOLDER_HANDLE = /^@?(?:(?:your|owner|my|the)[-_ ]?(?:user[-_ ]?)?handle(?:[-_ ]?here)?|<[^<>]*handle[^<>]*>|\{\{\s*[\w.-]*handle\s*\}\}|\$\{?\s*[\w.]*handle\s*\}?|~draft)$/i;
33
+ export function isPlaceholderHandle(value) {
34
+ return PLACEHOLDER_HANDLE.test(value.trim());
35
+ }
36
+ function substituteValue(value, count) {
37
+ if (typeof value === "string") {
38
+ if (isPlaceholderHandle(value) === false)
39
+ return value;
40
+ count.n++;
41
+ return SEED_OWNER_SENTINEL;
42
+ }
43
+ if (Array.isArray(value))
44
+ return value.map((item) => substituteValue(item, count));
45
+ if (typeof value === "object" && value !== null) {
46
+ return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, substituteValue(v, count)]));
47
+ }
48
+ return value;
49
+ }
50
+ export function substituteSeedPlaceholders(seedText) {
51
+ const parsed = exception2Result(() => JSON.parse(seedText));
52
+ if (parsed.isErr())
53
+ return undefined;
54
+ const count = { n: 0 };
55
+ const next = substituteValue(parsed.Ok(), count);
56
+ if (count.n === 0)
57
+ return undefined;
58
+ return { text: JSON.stringify(next, null, 2), replaced: count.n };
59
+ }
60
+ export async function seedAccessReport(vctx, args) {
61
+ const invoke = vctx.invokeAccessFn;
62
+ if (invoke === undefined || args.accessJs === undefined)
63
+ return undefined;
64
+ const accessJs = args.accessJs;
65
+ const docs = seedVerdictDocs(args.seedText, { ownerHandle: args.ownerHandle, accessJs });
66
+ if (docs.length === 0)
67
+ return undefined;
68
+ const evaluated = await exception2Result(() => evaluateAccessVerdicts({
69
+ invoke,
70
+ cid: `seed-repair-${vctx.sthis.nextId(12).str}`,
71
+ sourceFor: accessSourceResolver(accessJs),
72
+ ownerHandle: args.ownerHandle,
73
+ writer: { userHandle: args.ownerHandle, isOwner: true },
74
+ docs,
75
+ }));
76
+ return evaluated.isErr() ? undefined : evaluated.Ok();
77
+ }
78
+ function seedDocIds(seedText) {
79
+ if (seedText === undefined)
80
+ return undefined;
81
+ const parsed = exception2Result(() => JSON.parse(seedText));
82
+ if (parsed.isErr())
83
+ return undefined;
84
+ const seed = parseSeed(parsed.Ok());
85
+ if (seed.ok === false)
86
+ return undefined;
87
+ return new Set(seed.docs.map((doc) => `${doc.dbName}\u0000${doc.id}`));
88
+ }
89
+ function countsOf(report) {
90
+ const seed = report.counts.seed;
91
+ return { admitted: seed.admitted, refused: seed.refused + seed.thrown, total: seed.total };
92
+ }
93
+ function improves(args) {
94
+ if (args.candidateIds === undefined)
95
+ return false;
96
+ if ([...args.candidateIds].some((id) => args.originalIds.has(id) === false))
97
+ return false;
98
+ const before = countsOf(args.before);
99
+ const after = countsOf(args.after);
100
+ if (after.refused >= before.refused || after.admitted === 0)
101
+ return false;
102
+ const admittedAfter = admittedDocKeys(args.after, "seed");
103
+ return [...admittedDocKeys(args.before, "seed")].every((key) => admittedAfter.has(key));
104
+ }
105
+ function codeFile(files, path) {
106
+ const file = files.find((item) => item.type === "code-block" && item.filename === path);
107
+ return file?.type === "code-block" ? file.content : undefined;
108
+ }
109
+ function withSeed(files, seedText) {
110
+ return files.map((file) => file.type === "code-block" && file.filename === SEED_PATH ? { ...file, content: seedText } : file);
111
+ }
112
+ export function seedRepairBrief(ownerHandle, accessSummary) {
113
+ const handle = JSON.stringify(ownerHandle);
114
+ const target = accessSummary === undefined
115
+ ? []
116
+ : [
117
+ `The rules state their intent in the comment access.js ends with, "// Summary: ${accessSummary}" — fit every record to it.`,
118
+ ];
119
+ return [
120
+ "You are bringing a vibes.diy app's seed.json into line with the app's own access.js.",
121
+ `The app's owner, handle ${handle}, applies the seed. Every record is written as the owner, in file order, with user = { userHandle: ${handle}, isOwner: true }, and the platform stamps nothing on it.`,
122
+ `So where a rule compares a record's field to the writer (authorHandle, creatorHandle, hostHandle, ownerHandle and the like), that field carries the owner marker ${JSON.stringify(SEED_OWNER_SENTINEL)}: the platform fills in the handle of whoever applies the seed, so the record is the owner's own.`,
123
+ "Where the rules require a workflow state for a new record, give each seeded record that initial state.",
124
+ "Give every record each field its branch reads, so the rules admit it.",
125
+ ...target,
126
+ "Keep every key and every _id exactly as it is. Put parent records above the records that reference them.",
127
+ "Drop an item whose type the rules do not authorize; access.js is fixed context and stays as it is.",
128
+ "Emit only seed.json, complete, under its `### `seed.json`` heading in one fenced json block.",
129
+ ].join(" ");
130
+ }
131
+ export async function repairSeedFile(vctx, args) {
132
+ const usage = [];
133
+ const fail = (reason, detail, attempts, before) => ({ ok: false, reason, detail, attempts, usage, ...(before === undefined ? {} : { before }) });
134
+ const seedText = codeFile(args.files, SEED_PATH);
135
+ const accessJs = codeFile(args.files, ACCESS_PATH);
136
+ if (args.changedPaths.has(SEED_PATH) === false || seedText === undefined || accessJs === undefined) {
137
+ return fail("not-applicable", "this turn did not write a seed.json beside an access.js", 0);
138
+ }
139
+ const before = args.report ?? (await seedAccessReport(vctx, { seedText, accessJs, ownerHandle: args.ownerHandle }));
140
+ if (before === undefined || seedRefusalCount(before) === 0) {
141
+ return fail("not-applicable", "every seed record is admitted", 0, before);
142
+ }
143
+ const originalIds = seedDocIds(seedText);
144
+ if (originalIds === undefined)
145
+ return fail("not-applicable", "seed.json does not parse as a seed", 0, before);
146
+ const findings = seedRepairFindings(before);
147
+ const beforeCounts = countsOf(before);
148
+ let best;
149
+ const consider = async (text) => {
150
+ const report = await seedAccessReport(vctx, { seedText: text, accessJs, ownerHandle: args.ownerHandle });
151
+ if (report === undefined)
152
+ return undefined;
153
+ const floor = best?.report ?? before;
154
+ if (improves({ before: floor, after: report, originalIds, candidateIds: seedDocIds(text) })) {
155
+ best = { text, report, counts: countsOf(report) };
156
+ }
157
+ return report;
158
+ };
159
+ const adopted = (attempts, model, placeholders) => {
160
+ if (best === undefined)
161
+ return fail("not-better", "no candidate admitted more of the seed", attempts, before);
162
+ vctx.logger
163
+ .Info()
164
+ .Str("promptId", args.promptId)
165
+ .Any("before", beforeCounts)
166
+ .Any("after", best.counts)
167
+ .Uint64("attempts", attempts)
168
+ .Msg("seed-repair-adopted");
169
+ return {
170
+ ok: true,
171
+ files: withSeed(args.files, best.text),
172
+ before,
173
+ note: {
174
+ attempts,
175
+ ...(model === undefined ? {} : { model }),
176
+ repaired: [SEED_PATH],
177
+ findings,
178
+ ...(placeholders > 0 ? { placeholders } : {}),
179
+ before: beforeCounts,
180
+ after: best.counts,
181
+ ...(usage.length === 0 ? {} : { usage }),
182
+ },
183
+ };
184
+ };
185
+ const substituted = substituteSeedPlaceholders(seedText);
186
+ if (substituted !== undefined)
187
+ await consider(substituted.text);
188
+ const placeholders = substituted !== undefined && best !== undefined ? substituted.replaced : 0;
189
+ if (best !== undefined && best.counts.refused === 0)
190
+ return adopted(0, undefined, placeholders);
191
+ const model = nonEmpty(vctx.sthis.env.get("SEED_REPAIR_MODEL")) ?? nonEmpty(args.model) ?? SAVE_REPAIR_FALLBACK_MODEL;
192
+ const call = args.callModel ?? repairModelCallFor(vctx);
193
+ const maxAttempts = args.maxAttempts ?? SEED_REPAIR_MAX_ATTEMPTS;
194
+ const timeoutMs = args.timeoutMs ?? SEED_REPAIR_TIMEOUT_MS;
195
+ const startText = best?.text ?? seedText;
196
+ const startFindings = best === undefined ? findings : seedRepairFindings(best.report);
197
+ const messages = [
198
+ { role: "system", content: seedRepairBrief(args.ownerHandle, extractAccessSummary(accessJs)) },
199
+ {
200
+ role: "user",
201
+ content: renderRepairFiles({
202
+ vfs: new Map([
203
+ [ACCESS_PATH, accessJs],
204
+ [SEED_PATH, startText],
205
+ ]),
206
+ intro: "The app's rules (access.js) and its example records (seed.json). Applying the seed as the owner reported refusals.",
207
+ }) +
208
+ "\n" +
209
+ composeSeedAsk(startFindings),
210
+ },
211
+ ];
212
+ let attempts = 0;
213
+ for (let attempt = 1; attempt <= maxAttempts; attempt++) {
214
+ attempts = attempt;
215
+ const answer = await callWithDeadline(call, { model, messages, maxTokens: SEED_REPAIR_MAX_OUTPUT_TOKENS }, timeoutMs);
216
+ if (answer.timedOut) {
217
+ if (best !== undefined)
218
+ return adopted(attempt, model, placeholders);
219
+ return fail("timeout", `seed repair call exceeded ${timeoutMs} ms`, attempt, before);
220
+ }
221
+ if (answer.reply.isErr()) {
222
+ if (best !== undefined)
223
+ return adopted(attempt, model, placeholders);
224
+ return fail("model-error", answer.reply.Err().message, attempt, before);
225
+ }
226
+ const reply = answer.reply.Ok();
227
+ if (reply.usage !== undefined)
228
+ usage.push(reply.usage);
229
+ const parsed = await parseRepairText(reply.text);
230
+ const emitted = parsed.isOk() ? emittedSeed(parsed.Ok().vfs) : undefined;
231
+ const report = emitted === undefined ? undefined : await consider(emitted);
232
+ if (best !== undefined && best.counts.refused === 0)
233
+ return adopted(attempt, model, placeholders);
234
+ if (attempt === maxAttempts)
235
+ break;
236
+ const followUp = report === undefined
237
+ ? [`the reply: ${parsed.isErr() ? parsed.Err().message : "it carried no seed.json that parses as a seed"}`]
238
+ : seedRepairFindings(report);
239
+ messages.push({ role: "assistant", content: reply.text }, { role: "user", content: composeSeedAsk(followUp) });
240
+ }
241
+ if (best !== undefined)
242
+ return adopted(attempts, attempts > 0 ? model : undefined, placeholders);
243
+ vctx.logger.Info().Str("promptId", args.promptId).Uint64("attempts", attempts).Msg("seed-repair-not-better");
244
+ return fail("not-better", "no candidate admitted more of the seed", attempts, before);
245
+ }
246
+ function emittedSeed(vfs) {
247
+ for (const [path, content] of vfs) {
248
+ if (`/${path.replace(/^\/+/, "")}` === SEED_PATH)
249
+ return content;
250
+ }
251
+ return undefined;
252
+ }
253
+ export function composeSeedAsk(findings) {
254
+ return (`Applying seed.json as the owner reported:\n\n${findings.slice(0, SEED_REPAIR_FINDINGS_MAX).join("\n")}\n\n` +
255
+ "Write seed.json again in full under its `### `seed.json`` heading, so these records pass the rules in access.js. " +
256
+ "Keep every record that already passed.");
257
+ }
258
+ function nonEmpty(value) {
259
+ return value === undefined || value.trim().length === 0 ? undefined : value;
260
+ }
261
+ //# sourceMappingURL=seed-repair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-repair.js","sourceRoot":"","sources":["../../jsr/intern/seed-repair.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/api-svc",
3
- "version": "14.3.82",
3
+ "version": "14.3.83",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -37,21 +37,21 @@
37
37
  "@neondatabase/serverless": "~1.1.0",
38
38
  "@noble/hashes": "~2.4.0",
39
39
  "@shadcn/lint": "~0.2.0",
40
- "@vibes.diy/api-pkg": "14.3.82",
41
- "@vibes.diy/api-sql": "14.3.82",
42
- "@vibes.diy/api-types": "14.3.82",
43
- "@vibes.diy/call-ai-v2": "14.3.82",
44
- "@vibes.diy/identity": "14.3.82",
45
- "@vibes.diy/look": "14.3.82",
46
- "@vibes.diy/pouf": "14.3.82",
47
- "@vibes.diy/prompts": "14.3.82",
48
- "@vibes.diy/vibe-db-explorer": "14.3.82",
49
- "@vibes.diy/vibe-runtime": "14.3.82",
50
- "@vibes.diy/vibe-types": "14.3.82",
40
+ "@vibes.diy/api-pkg": "14.3.83",
41
+ "@vibes.diy/api-sql": "14.3.83",
42
+ "@vibes.diy/api-types": "14.3.83",
43
+ "@vibes.diy/call-ai-v2": "14.3.83",
44
+ "@vibes.diy/identity": "14.3.83",
45
+ "@vibes.diy/look": "14.3.83",
46
+ "@vibes.diy/pouf": "14.3.83",
47
+ "@vibes.diy/prompts": "14.3.83",
48
+ "@vibes.diy/vibe-db-explorer": "14.3.83",
49
+ "@vibes.diy/vibe-runtime": "14.3.83",
50
+ "@vibes.diy/vibe-types": "14.3.83",
51
51
  "acorn": "~8.17.0",
52
52
  "acorn-jsx": "~5.3.2",
53
53
  "arktype": "~2.2.6",
54
- "call-ai": "14.3.82",
54
+ "call-ai": "14.3.83",
55
55
  "charwise": "~3.0.1",
56
56
  "cookie": "~2.0.1",
57
57
  "csv-parse": "~7.0.3",
@@ -0,0 +1,19 @@
1
+ import type { QuickJSWASMModule } from "@cf-wasm/quickjs";
2
+ import type { AccessDescriptor, UserContext } from "@vibes.diy/api-types";
3
+ export interface QuickJSAccessFnParams {
4
+ cid: string;
5
+ doc: unknown;
6
+ oldDoc: unknown | null;
7
+ user: UserContext | null;
8
+ source?: string;
9
+ grantState?: {
10
+ members: Record<string, string[]>;
11
+ roleGrants: Record<string, string[]>;
12
+ userGrants: Record<string, string[]>;
13
+ };
14
+ adminMode?: boolean;
15
+ ownerHandle?: string;
16
+ }
17
+ export declare function invokeAccessFnInQuickJS(QuickJS: QuickJSWASMModule, params: QuickJSAccessFnParams): AccessDescriptor | {
18
+ forbidden: string;
19
+ };
@@ -0,0 +1,151 @@
1
+ import { isImgGenVersionAppend } from "@vibes.diy/vibe-types";
2
+ function unexpectedAccessFnError(errVal) {
3
+ if (typeof errVal === "object" && errVal !== null) {
4
+ const rec = errVal;
5
+ const name = typeof rec.name === "string" && rec.name.length > 0 ? rec.name : "Error";
6
+ const message = typeof rec.message === "string" ? rec.message : "";
7
+ return message.length > 0 ? `access function error: ${name}: ${message}` : `access function error: ${name}`;
8
+ }
9
+ return `access function error: ${String(errVal)}`;
10
+ }
11
+ export function invokeAccessFnInQuickJS(QuickJS, params) {
12
+ if (!params.source) {
13
+ return { forbidden: "access function source not provided" };
14
+ }
15
+ const source = params.source;
16
+ const grantState = params.grantState ?? { members: {}, roleGrants: {}, userGrants: {} };
17
+ function resolveChannels(userHandle) {
18
+ const channels = new Set();
19
+ const direct = grantState.userGrants[userHandle];
20
+ if (direct)
21
+ for (const ch of direct)
22
+ channels.add(ch);
23
+ for (const [role, members] of Object.entries(grantState.members)) {
24
+ if (members.includes(userHandle)) {
25
+ const roleChannels = grantState.roleGrants[role];
26
+ if (roleChannels)
27
+ for (const ch of roleChannels)
28
+ channels.add(ch);
29
+ }
30
+ }
31
+ return channels;
32
+ }
33
+ const vm = QuickJS.newContext();
34
+ try {
35
+ for (const stmt of [
36
+ `const doc = ${JSON.stringify(params.doc)};`,
37
+ `const oldDoc = ${JSON.stringify(params.oldDoc)};`,
38
+ `const user = ${JSON.stringify(params.user)};`,
39
+ ]) {
40
+ const r = vm.evalCode(stmt);
41
+ if (r.error) {
42
+ const errVal = vm.dump(r.error);
43
+ r.error.dispose();
44
+ return { forbidden: `access function setup error: ${String(errVal)}` };
45
+ }
46
+ else {
47
+ r.value.dispose();
48
+ }
49
+ }
50
+ const ctxObj = vm.newObject();
51
+ function helperDenial(reason) {
52
+ const denial = vm.newObject();
53
+ const reasonHandle = vm.newString(reason);
54
+ vm.setProp(denial, "forbidden", reasonHandle);
55
+ reasonHandle.dispose();
56
+ return { error: denial };
57
+ }
58
+ const requireAccessFn = vm.newFunction("requireAccess", (channelIdHandle) => {
59
+ if (params.adminMode === true) {
60
+ return undefined;
61
+ }
62
+ const channelId = vm.dump(channelIdHandle);
63
+ if (!params.user) {
64
+ return helperDenial("authentication required");
65
+ }
66
+ const channels = resolveChannels(params.user.userHandle);
67
+ if (!channels.has(channelId)) {
68
+ return helperDenial(`not in channel: ${channelId}`);
69
+ }
70
+ return undefined;
71
+ });
72
+ const requireRoleFn = vm.newFunction("requireRole", (roleNameHandle) => {
73
+ if (params.adminMode === true) {
74
+ return undefined;
75
+ }
76
+ const roleName = vm.dump(roleNameHandle);
77
+ if (!params.user) {
78
+ return helperDenial("authentication required");
79
+ }
80
+ const roleMembers = grantState.members[roleName];
81
+ if (!roleMembers?.includes(params.user.userHandle)) {
82
+ return helperDenial(`not in role: ${roleName}`);
83
+ }
84
+ return undefined;
85
+ });
86
+ const requireBackendFn = vm.newFunction("requireBackend", (kindHandle) => {
87
+ if (params.adminMode === true) {
88
+ return undefined;
89
+ }
90
+ const kind = kindHandle === undefined ? undefined : vm.dump(kindHandle);
91
+ const origin = params.user?.backend;
92
+ if (origin === undefined) {
93
+ return helperDenial(kind === undefined ? "not a backend write" : `not a ${kind} write`);
94
+ }
95
+ if (kind !== undefined && origin !== kind) {
96
+ return helperDenial(`not a ${kind} write`);
97
+ }
98
+ return undefined;
99
+ });
100
+ const isImgGenVersionAppendFn = vm.newFunction("isImgGenVersionAppend", (docHandle, oldDocHandle) => {
101
+ const nextDoc = vm.dump(docHandle);
102
+ const priorDoc = oldDocHandle === undefined ? undefined : vm.dump(oldDocHandle);
103
+ return isImgGenVersionAppend(nextDoc, priorDoc) === true ? vm.true : vm.false;
104
+ });
105
+ vm.setProp(ctxObj, "requireAccess", requireAccessFn);
106
+ vm.setProp(ctxObj, "requireRole", requireRoleFn);
107
+ vm.setProp(ctxObj, "isImgGenVersionAppend", isImgGenVersionAppendFn);
108
+ vm.setProp(ctxObj, "requireBackend", requireBackendFn);
109
+ vm.setProp(vm.global, "ctx", ctxObj);
110
+ requireAccessFn.dispose();
111
+ requireRoleFn.dispose();
112
+ isImgGenVersionAppendFn.dispose();
113
+ requireBackendFn.dispose();
114
+ ctxObj.dispose();
115
+ {
116
+ const r = vm.evalCode(`ctx.ownerHandle = ${JSON.stringify(params.ownerHandle ?? null)};`);
117
+ if (r.error) {
118
+ const errVal = vm.dump(r.error);
119
+ r.error.dispose();
120
+ return { forbidden: `access function setup error: ${String(errVal)}` };
121
+ }
122
+ r.value.dispose();
123
+ }
124
+ const cleanSource = source.replace(/export\s+/g, "").replace(/^default\s+/, "");
125
+ const fnNameMatch = cleanSource.match(/^function\s+(\w+)\s*\(/);
126
+ const isAnonymousFnOrArrow = /^function\s*\(/.test(cleanSource) || /^\(/.test(cleanSource) || /^\w+\s*=>/.test(cleanSource);
127
+ const evalSource = fnNameMatch
128
+ ? `${cleanSource}\n;${fnNameMatch[1]}(doc, oldDoc, user, ctx)`
129
+ : isAnonymousFnOrArrow
130
+ ? `const __accessFn = ${cleanSource}\n;__accessFn(doc, oldDoc, user, ctx)`
131
+ : `(function() { ${cleanSource} })()`;
132
+ const fnResult = vm.evalCode(evalSource);
133
+ if (fnResult.error) {
134
+ const errVal = vm.dump(fnResult.error);
135
+ fnResult.error.dispose();
136
+ const reason = typeof errVal === "object" && errVal !== null && "forbidden" in errVal
137
+ ? String(errVal.forbidden)
138
+ : typeof errVal === "string"
139
+ ? errVal
140
+ : unexpectedAccessFnError(errVal);
141
+ return { forbidden: reason };
142
+ }
143
+ const accessResult = vm.dump(fnResult.value);
144
+ fnResult.value.dispose();
145
+ return accessResult;
146
+ }
147
+ finally {
148
+ vm.dispose();
149
+ }
150
+ }
151
+ //# sourceMappingURL=access-fn-quickjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"access-fn-quickjs.js","sourceRoot":"","sources":["../../jsr/public/access-fn-quickjs.ts"],"names":[],"mappings":"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"}
@@ -141,7 +141,14 @@ function moduleScopePreamble(fullSource, target) {
141
141
  pos = span.end;
142
142
  }
143
143
  rest += fullSource.slice(pos);
144
- return rest.replace(/(^|\n)([ \t]*)export\s+(?=async\b|function\b|const\b|let\b|var\b|class\b)/g, "$1$2").trim();
144
+ const preamble = rest.replace(/(^|\n)([ \t]*)export\s+(?=async\b|function\b|const\b|let\b|var\b|class\b)/g, "$1$2").trim();
145
+ return isOnlyComments(preamble) ? "" : preamble;
146
+ }
147
+ function isOnlyComments(source) {
148
+ return (source
149
+ .replace(/\/\*[\s\S]*?\*\//g, "")
150
+ .replace(/\/\/[^\n]*/g, "")
151
+ .trim() === "");
145
152
  }
146
153
  function defaultStatementEnd(fullSource, from) {
147
154
  let depth = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"access-function.js","sourceRoot":"","sources":["../../jsr/public/access-function.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"access-function.js","sourceRoot":"","sources":["../../jsr/public/access-function.ts"],"names":[],"mappings":"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"}
@@ -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, resolveActiveHandle } from "./resolve-active-handle.js";
20
+ import { resolveActingHandle, resolveActingHandleForApp } 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,7 +138,9 @@ 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 ? (getPin.actingHandle ?? (await resolveActiveHandle(vctx, args.userId)) ?? null) : null;
141
+ const userHandle = args.userId !== null
142
+ ? (getPin.actingHandle ?? (await resolveActingHandleForApp(vctx, args.userId, args.ownerHandle)) ?? null)
143
+ : null;
142
144
  await applyInviteSubjectAliases(vctx, reduce, {
143
145
  ownerHandle: args.ownerHandle,
144
146
  appSlug: args.appSlug,
@@ -445,7 +447,9 @@ export const subscribeDocsEvento = {
445
447
  reduce.addDoc(row.docId, extractContribution(descriptor));
446
448
  }
447
449
  }
448
- const userHandle = req._auth ? ((await resolveActiveHandle(vctx, req._auth.verifiedAuth.claims.userId)) ?? null) : null;
450
+ const userHandle = req._auth
451
+ ? ((await resolveActingHandleForApp(vctx, req._auth.verifiedAuth.claims.userId, req.ownerHandle)) ?? null)
452
+ : null;
449
453
  await applyInviteSubjectAliases(vctx, reduce, {
450
454
  ownerHandle: req.ownerHandle,
451
455
  appSlug: req.appSlug,