@vibes.diy/api-svc 13.1.1 → 13.1.3

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.
@@ -0,0 +1,46 @@
1
+ import { Result } from "@adviser/cement";
2
+ export interface ClerkSignupEmailAddress {
3
+ readonly id?: string;
4
+ readonly email_address: string;
5
+ }
6
+ export interface ClerkSignupData {
7
+ readonly id: string;
8
+ readonly username: string | null;
9
+ readonly first_name: string | null;
10
+ readonly last_name: string | null;
11
+ readonly email_addresses: readonly ClerkSignupEmailAddress[];
12
+ readonly created_at: number;
13
+ readonly primary_email_address_id?: string | null;
14
+ }
15
+ export declare const FORBIDDEN_PROPERTIES: ReadonlySet<string>;
16
+ export type SignupUpsertAction = "noop" | "merge" | "create";
17
+ export interface SignupUpsertResult {
18
+ readonly action: SignupUpsertAction;
19
+ readonly id: string;
20
+ }
21
+ export type UpsertSignupContactParams = PlanSignupContactParams;
22
+ export declare function normaliseEmail(raw: string | undefined | null): string | undefined;
23
+ export declare function resolvePrimaryEmail(data: ClerkSignupData): string | undefined;
24
+ export declare function identityProperties(data: ClerkSignupData, handles?: readonly string[]): Record<string, string>;
25
+ export declare function buildSignupProperties(data: ClerkSignupData, existing: Record<string, unknown> | undefined, handles?: readonly string[]): Record<string, string>;
26
+ export type SignupPlan = {
27
+ readonly action: "noop";
28
+ readonly id: string;
29
+ } | {
30
+ readonly action: "merge";
31
+ readonly id: string;
32
+ readonly existing: Record<string, string>;
33
+ } | {
34
+ readonly action: "create";
35
+ };
36
+ export interface PlanSignupContactParams {
37
+ readonly token: string;
38
+ readonly data: ClerkSignupData;
39
+ readonly handles?: readonly string[];
40
+ readonly enrichWhenLinked?: boolean;
41
+ readonly fetchFn?: typeof fetch;
42
+ }
43
+ export declare function changedProperties(existing: Record<string, string>, properties: Record<string, string>): Record<string, string>;
44
+ export declare function planSignupContact(params: PlanSignupContactParams): Promise<Result<SignupPlan>>;
45
+ export declare function upsertSignupContact(params: UpsertSignupContactParams): Promise<Result<SignupUpsertResult>>;
46
+ export declare function syncSignupToHubSpot(token: string, data: ClerkSignupData, fetchFn?: typeof fetch): Promise<void>;
@@ -0,0 +1,237 @@
1
+ import { exception2Result, Result } from "@adviser/cement";
2
+ const HUBSPOT_API_BASE = "https://api.hubapi.com";
3
+ const CONTACTS_PATH = "/crm/v3/objects/contacts";
4
+ export const FORBIDDEN_PROPERTIES = new Set([
5
+ "lifecyclestage",
6
+ "hubspot_owner_id",
7
+ "hs_marketable_status",
8
+ "hs_email_optout",
9
+ "lead_source_detail",
10
+ "opt_in_status",
11
+ "opt_in_source",
12
+ "opt_in_date",
13
+ "email_consent",
14
+ "quote_consent",
15
+ ]);
16
+ export function normaliseEmail(raw) {
17
+ if (raw === undefined || raw === null)
18
+ return undefined;
19
+ const trimmed = raw.trim().toLowerCase();
20
+ const at = trimmed.lastIndexOf("@");
21
+ if (at < 0)
22
+ return undefined;
23
+ let local = trimmed.slice(0, at);
24
+ let domain = trimmed.slice(at + 1);
25
+ if (domain === "googlemail.com") {
26
+ domain = "gmail.com";
27
+ }
28
+ const plus = local.indexOf("+");
29
+ if (plus >= 0) {
30
+ local = local.slice(0, plus);
31
+ }
32
+ if (domain === "gmail.com") {
33
+ local = local.replaceAll(".", "");
34
+ }
35
+ if (local === "" || domain === "")
36
+ return undefined;
37
+ return `${local}@${domain}`;
38
+ }
39
+ function isPresent(value) {
40
+ return typeof value === "string" && value.trim() !== "";
41
+ }
42
+ export function resolvePrimaryEmail(data) {
43
+ const byId = isPresent(data.primary_email_address_id) === true
44
+ ? data.email_addresses.find((e) => e.id === data.primary_email_address_id)
45
+ : undefined;
46
+ const chosen = byId ?? data.email_addresses[0];
47
+ return isPresent(chosen?.email_address) === true ? chosen?.email_address.trim() : undefined;
48
+ }
49
+ export function identityProperties(data, handles = []) {
50
+ const props = { clerk_user_id: data.id };
51
+ const cleanHandles = handles.filter((h) => isPresent(h) === true).map((h) => h.trim());
52
+ if (cleanHandles.length > 0) {
53
+ props.vibes_handles_all = cleanHandles.join("\n");
54
+ props.vibes_handle_recent = cleanHandles[cleanHandles.length - 1];
55
+ }
56
+ return props;
57
+ }
58
+ export function buildSignupProperties(data, existing, handles = []) {
59
+ const isCreate = existing === undefined;
60
+ const props = identityProperties(data, handles);
61
+ const absent = (key) => isPresent(existing?.[key]) === false;
62
+ if (absent("vibes_diy_signup_date")) {
63
+ props.vibes_diy_signup_date = new Date(data.created_at).toISOString();
64
+ }
65
+ if (absent("lead_source")) {
66
+ props.lead_source = "dashboard";
67
+ }
68
+ if (isPresent(data.first_name) === true && absent("firstname")) {
69
+ props.firstname = (data.first_name ?? "").trim();
70
+ }
71
+ if (isPresent(data.last_name) === true && absent("lastname")) {
72
+ props.lastname = (data.last_name ?? "").trim();
73
+ }
74
+ if (isCreate === true) {
75
+ const email = resolvePrimaryEmail(data);
76
+ if (email !== undefined) {
77
+ props.email = email;
78
+ }
79
+ }
80
+ return Object.fromEntries(Object.entries(props).filter(([key]) => FORBIDDEN_PROPERTIES.has(key) === false && key.startsWith("hs_") === false));
81
+ }
82
+ const READ_PROPERTIES = [
83
+ "email",
84
+ "clerk_user_id",
85
+ "vibes_diy_signup_date",
86
+ "lead_source",
87
+ "firstname",
88
+ "lastname",
89
+ "vibes_handles_all",
90
+ "vibes_handle_recent",
91
+ ];
92
+ function authHeaders(token) {
93
+ return { Authorization: `Bearer ${token}`, "Content-Type": "application/json" };
94
+ }
95
+ async function searchContact(fetchFn, token, propertyName, value) {
96
+ const rRes = await exception2Result(() => fetchFn(`${HUBSPOT_API_BASE}${CONTACTS_PATH}/search`, {
97
+ method: "POST",
98
+ headers: authHeaders(token),
99
+ body: JSON.stringify({
100
+ filterGroups: [{ filters: [{ propertyName, operator: "EQ", value }] }],
101
+ properties: READ_PROPERTIES,
102
+ limit: 1,
103
+ }),
104
+ }));
105
+ if (rRes.isErr())
106
+ return Result.Err(rRes.Err());
107
+ const res = rRes.Ok();
108
+ if (res.ok === false) {
109
+ return Result.Err(new Error(`hubspot search on ${propertyName} failed: ${res.status}`));
110
+ }
111
+ const rBody = await exception2Result(() => res.json());
112
+ if (rBody.isErr())
113
+ return Result.Err(rBody.Err());
114
+ return Result.Ok(rBody.Ok().results?.[0]);
115
+ }
116
+ async function fetchContactProperties(fetchFn, token, id) {
117
+ const url = `${HUBSPOT_API_BASE}${CONTACTS_PATH}/${encodeURIComponent(id)}?properties=${READ_PROPERTIES.join(",")}`;
118
+ const rRes = await exception2Result(() => fetchFn(url, { method: "GET", headers: authHeaders(token) }));
119
+ if (rRes.isErr())
120
+ return Result.Err(rRes.Err());
121
+ if (rRes.Ok().ok === false) {
122
+ return Result.Err(new Error(`hubspot read of ${id} failed: ${rRes.Ok().status}`));
123
+ }
124
+ const rBody = await exception2Result(() => rRes.Ok().json());
125
+ if (rBody.isErr())
126
+ return Result.Err(rBody.Err());
127
+ return Result.Ok(rBody.Ok().properties ?? {});
128
+ }
129
+ async function patchContact(fetchFn, token, id, properties) {
130
+ const rRes = await exception2Result(() => fetchFn(`${HUBSPOT_API_BASE}${CONTACTS_PATH}/${encodeURIComponent(id)}`, {
131
+ method: "PATCH",
132
+ headers: authHeaders(token),
133
+ body: JSON.stringify({ properties }),
134
+ }));
135
+ if (rRes.isErr())
136
+ return Result.Err(rRes.Err());
137
+ if (rRes.Ok().ok === false) {
138
+ return Result.Err(new Error(`hubspot patch of ${id} failed: ${rRes.Ok().status}`));
139
+ }
140
+ return Result.Ok({ action: "merge", id });
141
+ }
142
+ function conflictingIdFrom(body) {
143
+ const match = /Existing ID:\s*(\d+)/.exec(body);
144
+ return match?.[1];
145
+ }
146
+ export function changedProperties(existing, properties) {
147
+ return Object.fromEntries(Object.entries(properties).filter(([key, value]) => existing[key] !== value));
148
+ }
149
+ export async function planSignupContact(params) {
150
+ const { token, data } = params;
151
+ const fetchFn = params.fetchFn ?? fetch.bind(globalThis);
152
+ const handles = params.handles ?? [];
153
+ const email = resolvePrimaryEmail(data);
154
+ if (email === undefined) {
155
+ return Result.Err(new Error(`clerk user ${data.id} has no email address`));
156
+ }
157
+ const rByClerkId = await searchContact(fetchFn, token, "clerk_user_id", data.id);
158
+ if (rByClerkId.isErr())
159
+ return Result.Err(rByClerkId.Err());
160
+ const alreadyLinked = rByClerkId.Ok();
161
+ if (alreadyLinked !== undefined) {
162
+ const existing = alreadyLinked.properties ?? {};
163
+ const pending = params.enrichWhenLinked === true ? changedProperties(existing, buildSignupProperties(data, existing, handles)) : {};
164
+ return Result.Ok(Object.keys(pending).length > 0
165
+ ? { action: "merge", id: alreadyLinked.id, existing }
166
+ : { action: "noop", id: alreadyLinked.id });
167
+ }
168
+ const ours = normaliseEmail(email);
169
+ const searchTerms = [email];
170
+ if (ours !== undefined && ours !== email.trim().toLowerCase()) {
171
+ searchTerms.push(ours);
172
+ }
173
+ for (const term of searchTerms) {
174
+ const rByEmail = await searchContact(fetchFn, token, "email", term);
175
+ if (rByEmail.isErr())
176
+ return Result.Err(rByEmail.Err());
177
+ const hit = rByEmail.Ok();
178
+ if (hit !== undefined && ours !== undefined && normaliseEmail(hit.properties?.email) === ours) {
179
+ return Result.Ok({ action: "merge", id: hit.id, existing: hit.properties ?? {} });
180
+ }
181
+ }
182
+ return Result.Ok({ action: "create" });
183
+ }
184
+ export async function upsertSignupContact(params) {
185
+ const { token, data } = params;
186
+ const fetchFn = params.fetchFn ?? fetch.bind(globalThis);
187
+ const handles = params.handles ?? [];
188
+ const rPlan = await planSignupContact(params);
189
+ if (rPlan.isErr())
190
+ return Result.Err(rPlan.Err());
191
+ const plan = rPlan.Ok();
192
+ if (plan.action === "noop") {
193
+ return Result.Ok({ action: "noop", id: plan.id });
194
+ }
195
+ if (plan.action === "merge") {
196
+ return patchContact(fetchFn, token, plan.id, buildSignupProperties(data, plan.existing, handles));
197
+ }
198
+ const rCreate = await exception2Result(() => fetchFn(`${HUBSPOT_API_BASE}${CONTACTS_PATH}`, {
199
+ method: "POST",
200
+ headers: authHeaders(token),
201
+ body: JSON.stringify({ properties: buildSignupProperties(data, undefined, handles) }),
202
+ }));
203
+ if (rCreate.isErr())
204
+ return Result.Err(rCreate.Err());
205
+ const created = rCreate.Ok();
206
+ if (created.status === 409) {
207
+ const rText = await exception2Result(() => created.text());
208
+ const conflictId = rText.isOk() ? conflictingIdFrom(rText.Ok()) : undefined;
209
+ if (conflictId === undefined) {
210
+ return Result.Err(new Error(`hubspot create conflicted but reported no existing id for clerk user ${data.id}`));
211
+ }
212
+ const rExisting = await fetchContactProperties(fetchFn, token, conflictId);
213
+ const properties = rExisting.isOk() ? buildSignupProperties(data, rExisting.Ok(), handles) : identityProperties(data, handles);
214
+ if (rExisting.isErr()) {
215
+ console.error("[hubspot-signup] could not read conflicting contact, writing identity only:", rExisting.Err().message);
216
+ }
217
+ return patchContact(fetchFn, token, conflictId, properties);
218
+ }
219
+ if (created.ok === false) {
220
+ return Result.Err(new Error(`hubspot create failed: ${created.status}`));
221
+ }
222
+ const rBody = await exception2Result(() => created.json());
223
+ if (rBody.isErr())
224
+ return Result.Err(rBody.Err());
225
+ const id = rBody.Ok().id;
226
+ if (id === undefined) {
227
+ return Result.Err(new Error("hubspot create returned no id"));
228
+ }
229
+ return Result.Ok({ action: "create", id });
230
+ }
231
+ export async function syncSignupToHubSpot(token, data, fetchFn) {
232
+ const rUpsert = await exception2Result(() => upsertSignupContact({ token, data, fetchFn }));
233
+ if (rUpsert.isErr()) {
234
+ console.error("[hubspot-signup] signup sync failed:", rUpsert.Err().message);
235
+ }
236
+ }
237
+ //# sourceMappingURL=hubspot-signup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hubspot-signup.js","sourceRoot":"","sources":["../../jsr/intern/hubspot-signup.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": "13.1.1",
3
+ "version": "13.1.3",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "./index.js",
@@ -14,6 +14,7 @@
14
14
  "db:admin": "tsx ./usage-report/admin-db.ts",
15
15
  "promo:create": "tsx ./usage-report/create-promo-code.ts",
16
16
  "admin:backfill-avatars": "tsx ./usage-report/backfill-avatars.ts",
17
+ "admin:backfill-hubspot-contacts": "tsx ./usage-report/backfill-hubspot-contacts.ts",
17
18
  "admin:backfill-first-message-embeddings": "tsx ./usage-report/backfill-first-message-embeddings.ts",
18
19
  "admin:backfill-geo-country": "tsx ./usage-report/backfill-geo-country.ts",
19
20
  "admin:backfill-published-chips": "tsx ./usage-report/backfill-published-chips.ts",
@@ -27,18 +28,18 @@
27
28
  "@libsql/client": "~0.17.4",
28
29
  "@neondatabase/serverless": "~1.1.0",
29
30
  "@noble/hashes": "~2.3.0",
30
- "@vibes.diy/api-pkg": "13.1.1",
31
- "@vibes.diy/api-sql": "13.1.1",
32
- "@vibes.diy/api-types": "13.1.1",
33
- "@vibes.diy/call-ai-v2": "13.1.1",
34
- "@vibes.diy/identity": "13.1.1",
35
- "@vibes.diy/prompts": "13.1.1",
36
- "@vibes.diy/vibe-db-explorer": "13.1.1",
37
- "@vibes.diy/vibe-runtime": "13.1.1",
38
- "@vibes.diy/vibe-types": "13.1.1",
31
+ "@vibes.diy/api-pkg": "13.1.3",
32
+ "@vibes.diy/api-sql": "13.1.3",
33
+ "@vibes.diy/api-types": "13.1.3",
34
+ "@vibes.diy/call-ai-v2": "13.1.3",
35
+ "@vibes.diy/identity": "13.1.3",
36
+ "@vibes.diy/prompts": "13.1.3",
37
+ "@vibes.diy/vibe-db-explorer": "13.1.3",
38
+ "@vibes.diy/vibe-runtime": "13.1.3",
39
+ "@vibes.diy/vibe-types": "13.1.3",
39
40
  "acorn": "~8.17.0",
40
41
  "arktype": "~2.2.3",
41
- "call-ai": "13.1.1",
42
+ "call-ai": "13.1.3",
42
43
  "charwise": "~3.0.1",
43
44
  "cookie": "~2.0.1",
44
45
  "csv-parse": "~7.0.1",
@@ -14,7 +14,7 @@ import { filterDocsByChannel } from "./channel-read-filter.js";
14
14
  import { mintFilesUrls } from "./files-url-mint.js";
15
15
  import { applyQueryFilter } from "./app-documents-query-filter.js";
16
16
  import { readAllowed, clientWsSend, connectionAdminMode } from "./app-documents-shared.js";
17
- import { resolveActiveHandle } from "./resolve-active-handle.js";
17
+ import { resolveActingHandle, resolveActiveHandle } from "./resolve-active-handle.js";
18
18
  import { audienceChannelsOf, audienceChannelsForReader, collectAudienceSubjects, inheritChannelOf, INHERIT_CAPABILITY_CHANNEL, RESERVED_CHANNEL_PREFIX, } from "./audience-channels.js";
19
19
  import { resolveInheritReadChannels } from "./inherit-read-resolver.js";
20
20
  import { admitInterestChannelsFailClosed, applyInterestKeys, parseInterestHandles, sweepExpiredInterestKeys, } from "./interest-channels.js";
@@ -56,6 +56,14 @@ async function readPagedOutputInputs(vctx, part, opts) {
56
56
  }
57
57
  return { decodedOutputs: decodeAccessOutputRows(pageRows), boundedInputs: { grantSeed } };
58
58
  }
59
+ async function validateReadActingPin(vctx, userId, pin) {
60
+ if (pin === undefined || userId === null)
61
+ return { ok: true };
62
+ const acting = await resolveActingHandle(vctx, userId, pin);
63
+ if (!acting.ok)
64
+ return { ok: false };
65
+ return { ok: true, actingHandle: pin };
66
+ }
59
67
  export const getDocEvento = {
60
68
  hash: "get-doc",
61
69
  validate: unwrapMsgBase(async (msg) => {
@@ -68,6 +76,14 @@ export const getDocEvento = {
68
76
  handle: optAuth(async (ctx) => {
69
77
  const req = ctx.validated.payload;
70
78
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
79
+ const getPin = await validateReadActingPin(vctx, req._auth?.verifiedAuth.claims.userId ?? null, req.actingHandle);
80
+ if (!getPin.ok) {
81
+ await ctx.send.send(ctx, {
82
+ type: "vibes.diy.res-error",
83
+ error: { message: "Acting handle not bound" },
84
+ });
85
+ return Result.Ok(EventoResult.Continue);
86
+ }
71
87
  const reqAdmin = req.adminMode === true;
72
88
  const { access, blocked } = req._auth
73
89
  ? await checkDocAccess(vctx, req._auth.verifiedAuth.claims.userId, req.appSlug, req.ownerHandle, connectionAdminMode(ctx) || reqAdmin, "get-doc")
@@ -148,7 +164,9 @@ export const getDocEvento = {
148
164
  for (const { row, descriptor } of decodedGrantOutputs) {
149
165
  reduce.addDoc(row.docId, extractContribution(descriptor));
150
166
  }
151
- const userHandle = req._auth ? ((await resolveActiveHandle(vctx, req._auth.verifiedAuth.claims.userId)) ?? null) : null;
167
+ const userHandle = req._auth
168
+ ? (getPin.actingHandle ?? (await resolveActiveHandle(vctx, req._auth.verifiedAuth.claims.userId)) ?? null)
169
+ : null;
152
170
  const effectiveChannels = userHandle !== null ? reduce.resolveEffectiveChannels(userHandle) : new Set();
153
171
  if (parsed !== undefined && docAudienceChannels.length > 0) {
154
172
  const subjects = collectAudienceSubjects([parsed]);
@@ -224,6 +242,14 @@ export const queryDocsEvento = {
224
242
  handle: optAuth(async (ctx) => {
225
243
  const req = ctx.validated.payload;
226
244
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
245
+ const queryPin = await validateReadActingPin(vctx, req._auth?.verifiedAuth.claims.userId ?? null, req.actingHandle);
246
+ if (!queryPin.ok) {
247
+ await ctx.send.send(ctx, {
248
+ type: "vibes.diy.res-error",
249
+ error: { message: "Acting handle not bound" },
250
+ });
251
+ return Result.Ok(EventoResult.Continue);
252
+ }
227
253
  const afbRowQ = await resolveAccessBinding(vctx, req.ownerHandle, req.appSlug, req.dbName);
228
254
  const reqAdmin = req.adminMode === true;
229
255
  const { access, blocked = false } = req._auth
@@ -290,6 +316,7 @@ export const queryDocsEvento = {
290
316
  access,
291
317
  decodedOutputs,
292
318
  derivation: "readable",
319
+ ...(queryPin.actingHandle !== undefined ? { actingHandle: queryPin.actingHandle } : {}),
293
320
  ...(paged !== undefined ? { boundedInputs: paged.boundedInputs } : {}),
294
321
  });
295
322
  channelFilteredDocs = filterDocsByChannel({
@@ -1 +1 @@
1
- {"version":3,"file":"app-documents-read-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-read-eventos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-documents-read-eventos.js","sourceRoot":"","sources":["../../jsr/public/app-documents-read-eventos.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { allocateAndInsertRevision, SeqConflictError } from "./seq-allocation.js
19
19
  import { bestEffortAppendDelete, bestEffortChannelChange, channelSetOfDescriptor, loadDocChannels } from "./sync-feed.js";
20
20
  import { orThrow, syncChannelIndex } from "./access-fn-channel-index.js";
21
21
  import { resolveWriteAclVerdict, resolveWriterContext } from "./write-front-door.js";
22
+ import { resolveActingHandle } from "./resolve-active-handle.js";
22
23
  import { purgeRootHtmlCacheSameColo } from "../intern/swr-purge.js";
23
24
  import { notifyDocChangedFanOut, notifyViewerGrantsChangedFanOut, emitCommentPostedEvent } from "./app-documents-broadcast.js";
24
25
  import { notifyViewerGrantDeltaIfChanged } from "./app-documents-grant-delta.js";
@@ -91,6 +92,16 @@ export const putDocEvento = {
91
92
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
92
93
  const userId = req._auth?.verifiedAuth.claims.userId ?? null;
93
94
  const adminRequested = connectionAdminMode(ctx) || req.adminMode === true;
95
+ if (req.actingHandle !== undefined && userId !== null) {
96
+ const acting = await resolveActingHandle(vctx, userId, req.actingHandle);
97
+ if (!acting.ok) {
98
+ await ctx.send.send(ctx, {
99
+ type: "vibes.diy.res-error",
100
+ error: { message: "Acting handle not bound" },
101
+ });
102
+ return Result.Ok(EventoResult.Continue);
103
+ }
104
+ }
94
105
  const aclVerdict = await resolveWriteAclVerdict(vctx, {
95
106
  ownerHandle: req.ownerHandle,
96
107
  appSlug: req.appSlug,
@@ -141,7 +152,18 @@ export const putDocEvento = {
141
152
  return Result.Ok(EventoResult.Continue);
142
153
  }
143
154
  if (afbRow?.accessFnCid && vctx.invokeAccessFn) {
144
- const { userContext } = await resolveWriterContext(vctx, { userId, ownerHandle: req.ownerHandle });
155
+ const { userContext, unboundActingHandle } = await resolveWriterContext(vctx, {
156
+ userId,
157
+ ownerHandle: req.ownerHandle,
158
+ ...(req.actingHandle !== undefined ? { actingHandle: req.actingHandle } : {}),
159
+ });
160
+ if (unboundActingHandle) {
161
+ await ctx.send.send(ctx, {
162
+ type: "vibes.diy.res-error",
163
+ error: { message: "Acting handle not bound" },
164
+ });
165
+ return Result.Ok(EventoResult.Continue);
166
+ }
145
167
  const oldDoc = headRow?.data ?? null;
146
168
  const adminActive = docAccessOverride;
147
169
  const gate = await runPutAccessGate(vctx, {
@@ -311,6 +333,22 @@ export const deleteDocEvento = {
311
333
  const req = ctx.validated.payload;
312
334
  const vctx = ctx.ctx.getOrThrow("vibesApiCtx");
313
335
  const userId = req._auth.verifiedAuth.claims.userId;
336
+ let pinnedWriter;
337
+ if (req.actingHandle !== undefined) {
338
+ const writer = await resolveWriterContext(vctx, {
339
+ userId,
340
+ ownerHandle: req.ownerHandle,
341
+ actingHandle: req.actingHandle,
342
+ });
343
+ if (writer.unboundActingHandle) {
344
+ await ctx.send.send(ctx, {
345
+ type: "vibes.diy.res-error",
346
+ error: { message: "Acting handle not bound" },
347
+ });
348
+ return Result.Ok(EventoResult.Continue);
349
+ }
350
+ pinnedWriter = writer.userContext;
351
+ }
314
352
  const now = new Date().toISOString();
315
353
  const t = vctx.sql.tables.appDocuments;
316
354
  const dbName = req.dbName;
@@ -323,6 +361,7 @@ export const deleteDocEvento = {
323
361
  docId: req.docId,
324
362
  userId,
325
363
  adminMode: connectionAdminMode(ctx) || req.adminMode === true,
364
+ ...(pinnedWriter !== undefined ? { userContext: pinnedWriter } : {}),
326
365
  });
327
366
  if (delGate.kind === "deny") {
328
367
  await ctx.send.send(ctx, { type: "vibes.diy.res-error", error: { message: delGate.message } });