@vibes.diy/api-svc 13.1.2 → 13.1.4

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 CHANGED
@@ -46,6 +46,7 @@ export async function createAppContext(params) {
46
46
  VIBE_SERVICE_WORKER: param.OPTIONAL,
47
47
  VIBE_BOOT_STATS: param.OPTIONAL,
48
48
  VIBE_WEB_VITALS: param.OPTIONAL,
49
+ VIBE_CPU_BUSY: param.OPTIONAL,
49
50
  BACKEND_JS: param.OPTIONAL,
50
51
  BUNDLE_VIBE_AT_DEPLOY: param.OPTIONAL,
51
52
  RESEND_API_KEY: param.REQUIRED,
@@ -142,6 +143,7 @@ export async function createAppContext(params) {
142
143
  VIBE_SERVICE_WORKER: envVals.VIBE_SERVICE_WORKER,
143
144
  VIBE_BOOT_STATS: envVals.VIBE_BOOT_STATS,
144
145
  VIBE_WEB_VITALS: envVals.VIBE_WEB_VITALS,
146
+ VIBE_CPU_BUSY: envVals.VIBE_CPU_BUSY,
145
147
  POSTHOG_KEY: envVals.POSTHOG_KEY,
146
148
  POSTHOG_HOST: envVals.POSTHOG_HOST,
147
149
  VIBES_DIY_PUBLIC_BASE_URL: envVals.VIBES_DIY_PUBLIC_BASE_URL,
@@ -1 +1 @@
1
- {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-handler.js","sourceRoot":"","sources":["../jsr/create-handler.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,13 @@ function WebVitalsReporter({ svcEnv }) {
97
97
  const js = inlineScript(`if(window.parent!==window){try{var vvS=0,vvL=-1,vvR=[];var vvLcb=function(e){vvL=e.startTime};var vvO=function(t,cb){try{var st=PerformanceObserver.supportedEntryTypes;if(st&&st.indexOf(t)===-1)return false;var o=new PerformanceObserver(function(l){l.getEntries().forEach(cb)});o.observe({type:t,buffered:true});vvR.push([o,cb]);return true}catch(e){return false}};var vvTake=function(){for(var i=0;i!==vvR.length;i++){try{var rs=vvR[i][0].takeRecords();if(rs){rs.forEach(vvR[i][1])}}catch(e){}}};var vvF=function(){if(vvS)return;vvS=1;try{vvTake()}catch(e){}try{var m={type:${JSON.stringify(WEB_VITALS_EVENT_TYPE)}};if(vvL>=0){m.lcpMs=vvL|0}window.parent.postMessage(m,"*")}catch(e){}};vvO("largest-contentful-paint",vvLcb);addEventListener("visibilitychange",function(){if(document.visibilityState==="hidden")vvF()},true);addEventListener("pagehide",vvF,true);addEventListener("pointerdown",vvF,{once:true,capture:true});addEventListener("keydown",vvF,{once:true,capture:true})}catch(e){}}`);
98
98
  return React.createElement("script", { dangerouslySetInnerHTML: { __html: js } });
99
99
  }
100
+ function CpuBusyReporter({ svcEnv }) {
101
+ const flag = svcEnv.VIBE_CPU_BUSY;
102
+ if (flag === "false" || flag === "off")
103
+ return null;
104
+ const js = inlineScript(`if(window.parent!==window){try{var cbS=0,cbN=0,cbB=0,cbX=0,cbO=0,cbV=0,cbM=0,cbC=0,cbK=0,cbP=0,cbR=0,cbI=0;var cbVis=function(){try{return document.visibilityState==="visible"}catch(e){return true}};try{var st=PerformanceObserver.supportedEntryTypes;if(!st||st.indexOf("longtask")!==-1){var o=new PerformanceObserver(function(l){l.getEntries().forEach(function(e){if(!cbVis())return;var d=e.duration;if(typeof d!=="number"||!isFinite(d)||!(d>=0))return;cbN++;var b=d-50;if(b>0)cbB+=b;if(d>cbX)cbX=d})});o.observe({type:"longtask"});cbO=1}}catch(e){}var cbSend=function(ph){try{if(!(cbV>=1))return;if(cbR>=12)return;cbR++;var m={type:"vibe.evt.cpu-busy",phase:ph,elapsedMs:cbV|0,stallMax:cbM|0,stallOverCount:cbC,stallSampleCount:cbK};if(cbO){m.longTaskCount=cbN;m.blockingMs=cbB|0;m.longestTaskMs=cbX|0}window.parent.postMessage(m,"*")}catch(e){}};var cbReset=function(){cbN=0;cbB=0;cbX=0;cbV=0;cbM=0;cbC=0;cbK=0;cbP=0;try{cbT=performance.now()}catch(e){}};var cbT=performance.now();var cbTick=function(){try{var n=performance.now(),dt=n-cbT;cbT=n;if(!cbVis())return;cbV+=dt;cbK++;var late=dt-1000;if(late>cbM)cbM=late;if(late>=250)cbC++;if(cbK%60===0&&!(cbP>=5)){cbP++;cbSend("interim")}}catch(e){}};cbI=setInterval(cbTick,1000);var cbF=function(stop){try{if(!cbS){cbS=1;cbSend("final");cbReset()}if(stop===1&&cbI){clearInterval(cbI);cbI=0}}catch(e){}};addEventListener("visibilitychange",function(){try{if(cbVis()){cbS=0;cbT=performance.now()}else{cbF(0)}}catch(e){}},true);addEventListener("pagehide",function(){cbF(1)},true);}catch(e){}}`);
105
+ return React.createElement("script", { dangerouslySetInnerHTML: { __html: js } });
106
+ }
100
107
  function vibesStyles(props, path) {
101
108
  return BuildURI.from(props.svcEnv.VIBES_DIY_PUBLIC_BASE_URL).appendRelative(path).toString();
102
109
  }
@@ -136,6 +143,7 @@ export function VibePage(props) {
136
143
  React.createElement(MountVibe, { ...props }),
137
144
  React.createElement(SandboxServiceWorker, { ...props }),
138
145
  React.createElement(BootStatsReporter, { ...props }),
139
- React.createElement(WebVitalsReporter, { ...props }))));
146
+ React.createElement(WebVitalsReporter, { ...props }),
147
+ React.createElement(CpuBusyReporter, { ...props }))));
140
148
  }
141
149
  //# sourceMappingURL=vibe-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vibe-page.js","sourceRoot":"","sources":["../../../jsr/intern/components/vibe-page.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vibe-page.js","sourceRoot":"","sources":["../../../jsr/intern/components/vibe-page.tsx"],"names":[],"mappings":"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"}
@@ -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.2",
3
+ "version": "13.1.4",
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.2",
31
- "@vibes.diy/api-sql": "13.1.2",
32
- "@vibes.diy/api-types": "13.1.2",
33
- "@vibes.diy/call-ai-v2": "13.1.2",
34
- "@vibes.diy/identity": "13.1.2",
35
- "@vibes.diy/prompts": "13.1.2",
36
- "@vibes.diy/vibe-db-explorer": "13.1.2",
37
- "@vibes.diy/vibe-runtime": "13.1.2",
38
- "@vibes.diy/vibe-types": "13.1.2",
31
+ "@vibes.diy/api-pkg": "13.1.4",
32
+ "@vibes.diy/api-sql": "13.1.4",
33
+ "@vibes.diy/api-types": "13.1.4",
34
+ "@vibes.diy/call-ai-v2": "13.1.4",
35
+ "@vibes.diy/identity": "13.1.4",
36
+ "@vibes.diy/prompts": "13.1.4",
37
+ "@vibes.diy/vibe-db-explorer": "13.1.4",
38
+ "@vibes.diy/vibe-runtime": "13.1.4",
39
+ "@vibes.diy/vibe-types": "13.1.4",
39
40
  "acorn": "~8.17.0",
40
41
  "arktype": "~2.2.3",
41
- "call-ai": "13.1.2",
42
+ "call-ai": "13.1.4",
42
43
  "charwise": "~3.0.1",
43
44
  "cookie": "~2.0.1",
44
45
  "csv-parse": "~7.0.1",
@@ -0,0 +1,62 @@
1
+ import { type Exclusions } from "./new-user-alert-util.js";
2
+ export declare const POPULATIONS: {
3
+ readonly all: "every Clerk account";
4
+ readonly makers: "accounts that ever sent a codegen turn";
5
+ readonly handles: "accounts that ever claimed a handle";
6
+ };
7
+ export type PopulationKey = keyof typeof POPULATIONS;
8
+ export declare function isPopulationKey(value: string | undefined): value is PopulationKey;
9
+ export interface BackfillAccount {
10
+ readonly userId: string;
11
+ readonly email?: string;
12
+ readonly handles: readonly string[];
13
+ readonly codegenTurns: number;
14
+ }
15
+ export declare function inPopulation(account: BackfillAccount, population: PopulationKey): boolean;
16
+ export interface SelectionResult {
17
+ readonly selected: readonly BackfillAccount[];
18
+ readonly excludedStaff: number;
19
+ readonly excludedPopulation: number;
20
+ readonly excludedNoEmail: number;
21
+ }
22
+ export declare function selectAccounts(accounts: readonly BackfillAccount[], population: PopulationKey, exclusions: Exclusions): SelectionResult;
23
+ type PlannedAction = "noop" | "merge" | "create" | "failed";
24
+ export interface PlanEntry {
25
+ readonly userId: string;
26
+ readonly handles: readonly string[];
27
+ readonly action: PlannedAction;
28
+ readonly contactId?: string;
29
+ readonly reason?: string;
30
+ }
31
+ export interface PlanCounts {
32
+ readonly noop: number;
33
+ readonly merge: number;
34
+ readonly create: number;
35
+ readonly failed: number;
36
+ readonly total: number;
37
+ }
38
+ export declare function countPlan(entries: readonly PlanEntry[]): PlanCounts;
39
+ export interface Reconciliation {
40
+ readonly intended: number;
41
+ readonly linkedContacts: number;
42
+ readonly linkedBefore: number;
43
+ readonly created: number;
44
+ readonly merged: number;
45
+ readonly failed: number;
46
+ }
47
+ export interface ReconciliationVerdict {
48
+ readonly ok: boolean;
49
+ readonly drift: number;
50
+ readonly lines: readonly string[];
51
+ }
52
+ export declare function reconcile(r: Reconciliation): ReconciliationVerdict;
53
+ export interface ReportInput {
54
+ readonly population: PopulationKey;
55
+ readonly selection: SelectionResult;
56
+ readonly counts: PlanCounts;
57
+ readonly apply: boolean;
58
+ readonly stripeOrphans?: number;
59
+ readonly listCaveat?: boolean;
60
+ }
61
+ export declare function formatPlanReport(input: ReportInput): string;
62
+ export {};
@@ -0,0 +1,87 @@
1
+ import { isStaffOrQa } from "./new-user-alert-util.js";
2
+ export const POPULATIONS = {
3
+ all: "every Clerk account",
4
+ makers: "accounts that ever sent a codegen turn",
5
+ handles: "accounts that ever claimed a handle",
6
+ };
7
+ export function isPopulationKey(value) {
8
+ return value !== undefined && Object.hasOwn(POPULATIONS, value);
9
+ }
10
+ export function inPopulation(account, population) {
11
+ switch (population) {
12
+ case "makers":
13
+ return account.codegenTurns > 0;
14
+ case "handles":
15
+ return account.handles.length > 0;
16
+ case "all":
17
+ return true;
18
+ }
19
+ }
20
+ export function selectAccounts(accounts, population, exclusions) {
21
+ const selected = [];
22
+ let excludedStaff = 0;
23
+ let excludedPopulation = 0;
24
+ let excludedNoEmail = 0;
25
+ for (const account of accounts) {
26
+ if (!inPopulation(account, population)) {
27
+ excludedPopulation = excludedPopulation + 1;
28
+ continue;
29
+ }
30
+ if (isStaffOrQa({ userId: account.userId, email: account.email, handles: account.handles }, exclusions)) {
31
+ excludedStaff = excludedStaff + 1;
32
+ continue;
33
+ }
34
+ if (account.email === undefined || account.email.trim() === "") {
35
+ excludedNoEmail = excludedNoEmail + 1;
36
+ continue;
37
+ }
38
+ selected.push(account);
39
+ }
40
+ return { selected, excludedStaff, excludedPopulation, excludedNoEmail };
41
+ }
42
+ export function countPlan(entries) {
43
+ const counts = { noop: 0, merge: 0, create: 0, failed: 0 };
44
+ for (const entry of entries) {
45
+ counts[entry.action] = counts[entry.action] + 1;
46
+ }
47
+ return { ...counts, total: entries.length };
48
+ }
49
+ export function reconcile(r) {
50
+ const expected = r.linkedBefore + r.created + r.merged;
51
+ const drift = r.linkedContacts - expected;
52
+ const lines = [
53
+ `intended population: ${r.intended}`,
54
+ `contacts with clerk_user_id before: ${r.linkedBefore}`,
55
+ `created: ${r.created} merged: ${r.merged} failed: ${r.failed}`,
56
+ `contacts with clerk_user_id after: ${r.linkedContacts} (expected ${expected})`,
57
+ ];
58
+ if (drift !== 0) {
59
+ lines.push(`DRIFT ${drift > 0 ? "+" : ""}${drift} — do not round this away. A positive drift means contacts ` +
60
+ `gained a join key that this run did not write; a negative one means writes did not land, or ` +
61
+ `HubSpot's search index has not caught up yet (it lags writes — re-read before concluding).`);
62
+ }
63
+ if (r.failed > 0) {
64
+ lines.push(`${r.failed} account(s) failed — re-run; the upsert is idempotent and a failure leaves no partial contact.`);
65
+ }
66
+ return { ok: drift === 0 && r.failed === 0, drift, lines };
67
+ }
68
+ export function formatPlanReport(input) {
69
+ const { counts, selection } = input;
70
+ const lines = [
71
+ `population: ${input.population} — ${POPULATIONS[input.population]}`,
72
+ `mode: ${input.apply ? "APPLY (writing)" : "DRY RUN (reads only)"}`,
73
+ ``,
74
+ `candidates ${selection.selected.length}` +
75
+ ` (excluded: ${selection.excludedPopulation} out of population,` +
76
+ ` ${selection.excludedStaff} staff/QA, ${selection.excludedNoEmail} with no email)`,
77
+ `no-op ${counts.noop} merge ${counts.merge} create ${counts.create} failed ${counts.failed}`,
78
+ ];
79
+ if (input.stripeOrphans !== undefined) {
80
+ lines.push(``, `contacts with stripe_customer_id and no clerk_user_id: ${input.stripeOrphans}`, ` (the orphan class — a contact Stripe minted at checkout with no join key.`, ` Merge targets here, and the standing counter for them belongs to traction#117.)`);
81
+ }
82
+ if (input.listCaveat === true && counts.create + counts.merge > 0) {
83
+ lines.push(``, `List 53 "Vibes DIY Users" is DYNAMIC on vibes_diy_signup_date IS_KNOWN, so up to`, `${counts.create + counts.merge} of these contacts will join it without anyone deciding to add them.`, `Accepted caveat, not a mailability breach: hs_marketable_status stays false and is`, `read-only via the API. Nothing here writes a list, a consent property or a mailable state.`);
84
+ }
85
+ return lines.join("\n");
86
+ }
87
+ //# sourceMappingURL=backfill-hubspot-contacts-util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill-hubspot-contacts-util.js","sourceRoot":"","sources":["../../jsr/usage-report/backfill-hubspot-contacts-util.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAmB,MAAM,0BAA0B,CAAC;AAYxE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,GAAG,EAAE,qBAAqB;IAC1B,MAAM,EAAE,wCAAwC;IAChD,OAAO,EAAE,qCAAqC;CACtC,CAAC;AAIX,MAAM,UAAU,eAAe,CAAC,KAAyB;IACvD,OAAO,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AAClE,CAAC;AAiBD,MAAM,UAAU,YAAY,CAAC,OAAwB,EAAE,UAAyB;IAC9E,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;QAClC,KAAK,SAAS;YACZ,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACpC,KAAK,KAAK;YACR,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC;AAgBD,MAAM,UAAU,cAAc,CAC5B,QAAoC,EACpC,UAAyB,EACzB,UAAsB;IAEtB,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,eAAe,GAAG,CAAC,CAAC;IACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;YACvC,kBAAkB,GAAG,kBAAkB,GAAG,CAAC,CAAC;YAC5C,SAAS;QACX,CAAC;QACD,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,EAAE,CAAC;YACxG,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC;YAClC,SAAS;QACX,CAAC;QAID,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC/D,eAAe,GAAG,eAAe,GAAG,CAAC,CAAC;YACtC,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC;AAC1E,CAAC;AA4BD,MAAM,UAAU,SAAS,CAAC,OAA6B;IACrD,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IAC3D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;AAC9C,CAAC;AA4BD,MAAM,UAAU,SAAS,CAAC,CAAiB;IACzC,MAAM,QAAQ,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,CAAC,cAAc,GAAG,QAAQ,CAAC;IAC1C,MAAM,KAAK,GAAG;QACZ,wBAAwB,CAAC,CAAC,QAAQ,EAAE;QACpC,uCAAuC,CAAC,CAAC,YAAY,EAAE;QACvD,YAAY,CAAC,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,cAAc,CAAC,CAAC,MAAM,EAAE;QACnE,sCAAsC,CAAC,CAAC,cAAc,cAAc,QAAQ,GAAG;KAChF,CAAC;IACF,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CACR,SAAS,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,6DAA6D;YAChG,8FAA8F;YAC9F,4FAA4F,CAC/F,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,gGAAgG,CAAC,CAAC;IAC1H,CAAC;IACD,OAAO,EAAE,EAAE,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;AAC7D,CAAC;AAaD,MAAM,UAAU,gBAAgB,CAAC,KAAkB;IACjD,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG;QACZ,eAAe,KAAK,CAAC,UAAU,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;QACpE,SAAS,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,sBAAsB,EAAE;QACnE,EAAE;QACF,cAAc,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YACvC,eAAe,SAAS,CAAC,kBAAkB,qBAAqB;YAChE,IAAI,SAAS,CAAC,aAAa,cAAc,SAAS,CAAC,eAAe,iBAAiB;QACrF,SAAS,MAAM,CAAC,IAAI,YAAY,MAAM,CAAC,KAAK,aAAa,MAAM,CAAC,MAAM,aAAa,MAAM,CAAC,MAAM,EAAE;KACnG,CAAC;IACF,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,EAAE,EACF,0DAA0D,KAAK,CAAC,aAAa,EAAE,EAC/E,6EAA6E,EAC7E,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAClE,KAAK,CAAC,IAAI,CACR,EAAE,EACF,kFAAkF,EAClF,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,KAAK,sEAAsE,EACrG,oFAAoF,EACpF,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,222 @@
1
+ import { Pool } from "@neondatabase/serverless";
2
+ import fs from "node:fs";
3
+ import { Result, exception2Result } from "@adviser/cement";
4
+ import { formatError, loadDevVars } from "./usage-report-util.js";
5
+ import { resolveExclusions } from "./new-user-alert-util.js";
6
+ import { countPlan, formatPlanReport, isPopulationKey, POPULATIONS, reconcile, selectAccounts, } from "./backfill-hubspot-contacts-util.js";
7
+ import { planSignupContact, upsertSignupContact } from "../intern/hubspot-signup.js";
8
+ const CLERK_PAGE_SIZE = 500;
9
+ const REQUEST_GAP_MS = 60;
10
+ function arg(name) {
11
+ const i = process.argv.indexOf(name);
12
+ return i >= 0 ? process.argv[i + 1] : undefined;
13
+ }
14
+ function flag(name) {
15
+ return process.argv.includes(name);
16
+ }
17
+ function asString(v) {
18
+ return typeof v === "string" ? v : undefined;
19
+ }
20
+ function sleep(ms) {
21
+ return new Promise((resolve) => setTimeout(resolve, ms));
22
+ }
23
+ async function clerkAllUsers(key) {
24
+ const users = [];
25
+ for (let offset = 0;; offset += CLERK_PAGE_SIZE) {
26
+ const res = await fetch(`https://api.clerk.com/v1/users?limit=${CLERK_PAGE_SIZE}&offset=${offset}&order_by=%2Bcreated_at`, {
27
+ headers: { authorization: `Bearer ${key}` },
28
+ });
29
+ if (!res.ok)
30
+ throw new Error(`clerk GET /users failed: ${res.status}`);
31
+ const rows = (await res.json());
32
+ for (const r of rows) {
33
+ const id = asString(r.id);
34
+ if (id === undefined)
35
+ continue;
36
+ users.push({
37
+ id,
38
+ username: asString(r.username) ?? null,
39
+ first_name: asString(r.first_name) ?? null,
40
+ last_name: asString(r.last_name) ?? null,
41
+ email_addresses: (Array.isArray(r.email_addresses) ? r.email_addresses : []).map((e) => ({
42
+ id: asString(e.id),
43
+ email_address: asString(e.email_address) ?? "",
44
+ })),
45
+ created_at: typeof r.created_at === "number" ? r.created_at : 0,
46
+ primary_email_address_id: asString(r.primary_email_address_id) ?? null,
47
+ });
48
+ }
49
+ if (rows.length < CLERK_PAGE_SIZE)
50
+ return users;
51
+ }
52
+ }
53
+ async function contactCount(token, filters) {
54
+ const rRes = await exception2Result(() => fetch("https://api.hubapi.com/crm/v3/objects/contacts/search", {
55
+ method: "POST",
56
+ headers: { authorization: `Bearer ${token}`, "Content-Type": "application/json" },
57
+ body: JSON.stringify({ filterGroups: [{ filters }], properties: ["email"], limit: 1 }),
58
+ }));
59
+ if (rRes.isErr())
60
+ return Result.Err(rRes.Err());
61
+ if (rRes.Ok().ok === false)
62
+ return Result.Err(new Error(`hubspot count failed: ${rRes.Ok().status}`));
63
+ const rBody = await exception2Result(() => rRes.Ok().json());
64
+ if (rBody.isErr())
65
+ return Result.Err(rBody.Err());
66
+ return Result.Ok(rBody.Ok().total ?? 0);
67
+ }
68
+ async function run() {
69
+ loadDevVars();
70
+ const population = arg("--population");
71
+ if (!isPopulationKey(population)) {
72
+ return Result.Err([
73
+ "usage: admin:backfill-hubspot-contacts --population <key> [--apply] [--limit N] [--only ids] [--out FILE]",
74
+ ...Object.entries(POPULATIONS).map(([key, description]) => ` --population ${key.padEnd(8)} ${description}`),
75
+ "",
76
+ "--population has no default on purpose: it is the decision the issue asks a human to make.",
77
+ ].join("\n"));
78
+ }
79
+ const clerkKey = process.env["CLERK_SECRET_KEY"];
80
+ if (clerkKey === undefined || clerkKey === "")
81
+ return Result.Err("CLERK_SECRET_KEY is required");
82
+ const token = process.env["HUBSPOT_TOKEN"];
83
+ if (token === undefined || token === "")
84
+ return Result.Err("HUBSPOT_TOKEN is required (private app, contacts read+write)");
85
+ const connectionString = process.env["NEON_DATABASE_URL"] ?? process.env["DATABASE_URL"];
86
+ if (connectionString === undefined)
87
+ return Result.Err("NEON_DATABASE_URL is required (prod Neon)");
88
+ const apply = flag("--apply");
89
+ const limitRaw = arg("--limit");
90
+ const limit = limitRaw === undefined ? Number.POSITIVE_INFINITY : Number(limitRaw);
91
+ if (!Number.isFinite(limit) && limitRaw !== undefined)
92
+ return Result.Err("--limit must be a number");
93
+ const only = new Set((arg("--only") ?? "")
94
+ .split(",")
95
+ .map((s) => s.trim())
96
+ .filter((s) => s !== ""));
97
+ const exclusions = resolveExclusions({
98
+ ALERT_EXCLUDE_DOMAINS: process.env["ALERT_EXCLUDE_DOMAINS"],
99
+ ALERT_EXCLUDE_USER_IDS: process.env["ALERT_EXCLUDE_USER_IDS"],
100
+ });
101
+ const pool = new Pool({ connectionString });
102
+ const result = await exception2Result(async () => {
103
+ const clerkUsers = await clerkAllUsers(clerkKey);
104
+ const handleRes = await pool.query(`select "userId", "userSlug" as handle from "UserSlugBindings" order by "userId", created`);
105
+ const handles = new Map();
106
+ for (const r of handleRes.rows) {
107
+ handles.set(r.userId, [...(handles.get(r.userId) ?? []), r.handle]);
108
+ }
109
+ const turnRes = await pool.query(`select "userId", count(*)::int as turns from "PromptContexts" group by "userId"`);
110
+ const turns = new Map();
111
+ for (const r of turnRes.rows) {
112
+ turns.set(r.userId, r.turns);
113
+ }
114
+ console.log(`[backfill] clerk_accounts=${clerkUsers.length} accounts_with_handle=${handles.size} ` +
115
+ `handle_rows=${handleRes.rows.length} accounts_with_codegen_turn=${turns.size}`);
116
+ const accounts = clerkUsers.map((u) => ({
117
+ userId: u.id,
118
+ email: u.email_addresses.find((e) => e.id === u.primary_email_address_id)?.email_address ?? u.email_addresses[0]?.email_address,
119
+ handles: handles.get(u.id) ?? [],
120
+ codegenTurns: turns.get(u.id) ?? 0,
121
+ }));
122
+ const selection = selectAccounts(accounts, population, exclusions);
123
+ const byId = new Map(clerkUsers.map((u) => [u.id, u]));
124
+ const candidates = selection.selected.filter((a) => only.size === 0 || only.has(a.userId));
125
+ const rBefore = await contactCount(token, [{ propertyName: "clerk_user_id", operator: "HAS_PROPERTY" }]);
126
+ if (rBefore.isErr())
127
+ throw rBefore.Err();
128
+ const linkedBefore = rBefore.Ok();
129
+ const entries = [];
130
+ let acted = 0;
131
+ let created = 0;
132
+ let merged = 0;
133
+ for (const account of candidates) {
134
+ const data = byId.get(account.userId);
135
+ if (data === undefined)
136
+ continue;
137
+ const shared = {
138
+ token,
139
+ data,
140
+ handles: account.handles,
141
+ enrichWhenLinked: true,
142
+ };
143
+ const rPlan = await planSignupContact(shared);
144
+ await sleep(REQUEST_GAP_MS);
145
+ if (rPlan.isErr()) {
146
+ entries.push({ userId: account.userId, handles: account.handles, action: "failed", reason: rPlan.Err().message });
147
+ continue;
148
+ }
149
+ const plan = rPlan.Ok();
150
+ if (plan.action === "noop" || !apply || acted >= limit) {
151
+ entries.push({
152
+ userId: account.userId,
153
+ handles: account.handles,
154
+ action: plan.action,
155
+ contactId: plan.action === "create" ? undefined : plan.id,
156
+ reason: plan.action !== "noop" && apply && acted >= limit ? "not applied: --limit reached" : undefined,
157
+ });
158
+ continue;
159
+ }
160
+ const rWrite = await upsertSignupContact(shared);
161
+ await sleep(REQUEST_GAP_MS);
162
+ if (rWrite.isErr()) {
163
+ entries.push({ userId: account.userId, handles: account.handles, action: "failed", reason: rWrite.Err().message });
164
+ continue;
165
+ }
166
+ acted = acted + 1;
167
+ const write = rWrite.Ok();
168
+ if (write.action === "create")
169
+ created = created + 1;
170
+ if (write.action === "merge")
171
+ merged = merged + 1;
172
+ entries.push({ userId: account.userId, handles: account.handles, action: write.action, contactId: write.id });
173
+ }
174
+ const rOrphans = await contactCount(token, [
175
+ { propertyName: "stripe_customer_id", operator: "HAS_PROPERTY" },
176
+ { propertyName: "clerk_user_id", operator: "NOT_HAS_PROPERTY" },
177
+ ]);
178
+ const counts = countPlan(entries);
179
+ console.log("");
180
+ console.log(formatPlanReport({
181
+ population: population,
182
+ selection,
183
+ counts,
184
+ apply,
185
+ stripeOrphans: rOrphans.isOk() ? rOrphans.Ok() : undefined,
186
+ listCaveat: true,
187
+ }));
188
+ const out = arg("--out");
189
+ if (out !== undefined) {
190
+ fs.writeFileSync(out, JSON.stringify({ population, apply, counts, entries }, null, 2));
191
+ console.log(`\nplan written to ${out} (clerk ids and handles only — no addresses)`);
192
+ }
193
+ if (!apply) {
194
+ console.log("\nDRY RUN — nothing was written. Re-run with --apply once the diff above has been read.");
195
+ return;
196
+ }
197
+ await sleep(10_000);
198
+ const rAfter = await contactCount(token, [{ propertyName: "clerk_user_id", operator: "HAS_PROPERTY" }]);
199
+ if (rAfter.isErr())
200
+ throw rAfter.Err();
201
+ const verdict = reconcile({
202
+ intended: candidates.length,
203
+ linkedBefore,
204
+ linkedContacts: rAfter.Ok(),
205
+ created,
206
+ merged,
207
+ failed: counts.failed,
208
+ });
209
+ console.log(`\nreconciliation${verdict.ok ? "" : " — NEEDS EXPLAINING"}:`);
210
+ for (const line of verdict.lines)
211
+ console.log(` ${line}`);
212
+ });
213
+ await pool.end();
214
+ return result;
215
+ }
216
+ run().then((result) => {
217
+ if (result.isErr()) {
218
+ console.error(formatError(result.Err()));
219
+ process.exitCode = 1;
220
+ }
221
+ });
222
+ //# sourceMappingURL=backfill-hubspot-contacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backfill-hubspot-contacts.js","sourceRoot":"","sources":["../../jsr/usage-report/backfill-hubspot-contacts.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,14 @@ export const KNOWN_STAFF_EMAIL_DOMAINS = ["vibes.diy", "fireproof.storage"];
6
6
  export const KNOWN_STAFF_USER_IDS = [
7
7
  "user_36Fi1eXwJjcK02rYZFeZAQ0kORp",
8
8
  ];
9
- export const EXCLUDED_HANDLE_PATTERNS = [/^qa$/i, /^system$/i, /^jchris/i];
9
+ export const EXCLUDED_HANDLE_PATTERNS = [
10
+ /^qa$/i,
11
+ /^system$/i,
12
+ /^jchris/i,
13
+ /^chris-dev$/i,
14
+ /^jchanimal$/i,
15
+ /^bot$/i,
16
+ ];
10
17
  function splitList(raw) {
11
18
  return (raw ?? "")
12
19
  .split(",")
@@ -1 +1 @@
1
- {"version":3,"file":"new-user-alert-util.js","sourceRoot":"","sources":["../../jsr/usage-report/new-user-alert-util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new-user-alert-util.js","sourceRoot":"","sources":["../../jsr/usage-report/new-user-alert-util.ts"],"names":[],"mappings":"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"}