@apex-inc/mcp-server 0.41.1 → 0.43.0

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.
@@ -37,6 +37,16 @@ export interface ActiveWorkspaceLabel {
37
37
  export declare function getActiveWorkspaceLabel(): ActiveWorkspaceLabel | undefined;
38
38
  /** Re-read the org graph after creating an organization or workspace. */
39
39
  export declare function refreshUserContext(): Promise<void>;
40
+ /**
41
+ * The org graph loads at startup only when a credential already exists.
42
+ * Approving sign-in mid-session left it empty, and every organization tool
43
+ * then said there was no organization.
44
+ */
45
+ export declare function ensureUserContext(): Promise<UserContext | undefined>;
46
+ /** The active org, loading the org graph first if this session hasn't. */
47
+ export declare function resolveActiveOrg(): Promise<string | undefined>;
48
+ /** Why there is no organization to show, in the owner's terms. */
49
+ export declare function noOrganizationMessage(): string;
40
50
  export declare function getActiveWorkspace(): string | undefined;
41
51
  export declare function setActiveOrg(orgId: string): void;
42
52
  export declare function getActiveOrg(): string | undefined;
@@ -59,6 +69,14 @@ export declare function isWaitingForAccess(): boolean;
59
69
  * telling an owner to mint another key that still cannot see costs is a lie.
60
70
  */
61
71
  export declare function authFailureDetail(bodyText: string): string;
72
+ /**
73
+ * A 402 is Apex saying the organization's billing stopped this, not that
74
+ * the call was wrong. Say what stopped and what fixes it, in the words the
75
+ * owner sees on the Billing page, so the agent relays it instead of
76
+ * retrying. Two body shapes exist: `{ error: code, message }` (analytics
77
+ * lock) and `{ error: message, code }` (overdue blocks).
78
+ */
79
+ export declare function billingBlockMessage(bodyText: string): string;
62
80
  export declare function apiGet<T>(path: string): Promise<T>;
63
81
  export declare function apiPost<T>(path: string, body: unknown): Promise<T>;
64
82
  /**
@@ -69,6 +87,12 @@ export declare function apiPost<T>(path: string, body: unknown): Promise<T>;
69
87
  * `${runId}:${eventType}`).
70
88
  */
71
89
  export declare function postWithIdempotency<T>(path: string, idempotencyKey: string, body: unknown): Promise<T>;
90
+ export declare const SERVER_KEY_NEEDED_MESSAGE: string;
91
+ /**
92
+ * /api/v1/events takes only an organization server key (apex_sk_). The
93
+ * editor signs in as a person, so this uses APEX_SERVER_KEY when it's set.
94
+ */
95
+ export declare function postServerEvents<T>(idempotencyKey: string, body: unknown): Promise<T>;
72
96
  export declare function apiDelete(path: string): Promise<void>;
73
97
  /** DELETE for routes that answer with what they did (which platforms deleted, which refused). */
74
98
  export declare function apiDeleteJson<T>(path: string): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAcA,UAAU,OAAO;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,KAAK,CAAC;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxE;AAED,UAAU,WAAW;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,EAAE,CAAC;CACjB;AAID,eAAO,MAAM,mBAAmB,sBAAsB,CAAC;AAIvD,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,2BAA2B,CACzC,GAAG,EAAE;IAAE,OAAO,EAAE;QAAE,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;CAAE,EACtD,IAAI,CAAC,EAAE,OAAO,GACb,IAAI,CAYN;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,QAMtD;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,oBAAoB,GAAG,SAAS,CAc1E;AAED,yEAAyE;AACzE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMxD;AAMD;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAmB1E;AAED,0EAA0E;AAC1E,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAGpE;AAED,kEAAkE;AAClE,wBAAgB,qBAAqB,IAAI,MAAM,CAS9C;AAED,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CAEvD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,QAMzC;AAED,wBAAgB,YAAY,IAAI,MAAM,GAAG,SAAS,CAEjD;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,SAAS,CAExD;AAiBD;;;GAGG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAqCnE;AA4BD,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAiBrD;AAOD;;;GAGG;AACH,eAAO,MAAM,0BAA0B,QAE0F,CAAC;AAElI,kEAAkE;AAClE,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAoC1D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA6B5D;AAyDD,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAIxD;AAED,wBAAsB,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAQxE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,CAAC,EACzC,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,OAAO,GACZ,OAAO,CAAC,CAAC,CAAC,CAWZ;AAED,eAAO,MAAM,yBAAyB,QAG6D,CAAC;AAEpG;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAoB3F;AAED,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3D;AAED,iGAAiG;AACjG,wBAAsB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAI/D;AAED,wBAAsB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAQzE;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAQvE"}
@@ -66,6 +66,54 @@ export async function refreshUserContext() {
66
66
  return;
67
67
  userContext = (await res.json());
68
68
  }
69
+ function isPersonCredential(key) {
70
+ return Boolean(key?.startsWith("apex_uk_") || key?.startsWith("apex_at_"));
71
+ }
72
+ /**
73
+ * The org graph loads at startup only when a credential already exists.
74
+ * Approving sign-in mid-session left it empty, and every organization tool
75
+ * then said there was no organization.
76
+ */
77
+ export async function ensureUserContext() {
78
+ if (userContext?.orgs.length)
79
+ return userContext;
80
+ if (!isPersonCredential(getAuthToken()))
81
+ return userContext;
82
+ try {
83
+ await refreshUserContext();
84
+ }
85
+ catch {
86
+ return userContext;
87
+ }
88
+ const orgs = userContext?.orgs ?? [];
89
+ if (!activeOrgId) {
90
+ const owner = activeWorkspaceKey
91
+ ? orgs.find((o) => o.workspaces.some((w) => w.workspaceKey === activeWorkspaceKey))
92
+ : undefined;
93
+ activeOrgId = (owner ?? orgs[0])?.orgId;
94
+ }
95
+ if (!activeWorkspaceKey) {
96
+ activeWorkspaceKey = orgs.find((o) => o.orgId === activeOrgId)?.workspaces[0]?.workspaceKey;
97
+ }
98
+ return userContext;
99
+ }
100
+ /** The active org, loading the org graph first if this session hasn't. */
101
+ export async function resolveActiveOrg() {
102
+ await ensureUserContext();
103
+ return activeOrgId;
104
+ }
105
+ /** Why there is no organization to show, in the owner's terms. */
106
+ export function noOrganizationMessage() {
107
+ if (!getAuthToken()) {
108
+ return "Not signed in to Apex yet. Call start_apex_login, open the link it returns, then try again.";
109
+ }
110
+ if (!isPersonCredential(getAuthToken())) {
111
+ return "This connection uses an organization server key, which can't list organizations. Sign in as yourself with start_apex_login to work across organizations.";
112
+ }
113
+ if (isWaitingForAccess())
114
+ return WAITING_FOR_ACCESS_MESSAGE;
115
+ return "Apex couldn't load your organizations just now. Try again in a moment.";
116
+ }
69
117
  export function getActiveWorkspace() {
70
118
  return activeWorkspaceKey;
71
119
  }
@@ -114,10 +162,9 @@ export async function discoverContext() {
114
162
  catch {
115
163
  return "Run any Apex tool to finish connecting (you'll get an approval link).";
116
164
  }
117
- const key = getAuthToken();
118
165
  // User-scoped credentials (static user key OR device access token) carry an
119
166
  // org graph; org keys (apex_sk_) don't.
120
- if (!key?.startsWith("apex_uk_") && !key?.startsWith("apex_at_")) {
167
+ if (!isPersonCredential(getAuthToken())) {
121
168
  return undefined;
122
169
  }
123
170
  try {
@@ -230,6 +277,41 @@ export function authFailureDetail(bodyText) {
230
277
  }
231
278
  return REVOKED_KEY_HINT;
232
279
  }
280
+ /**
281
+ * A 402 is Apex saying the organization's billing stopped this, not that
282
+ * the call was wrong. Say what stopped and what fixes it, in the words the
283
+ * owner sees on the Billing page, so the agent relays it instead of
284
+ * retrying. Two body shapes exist: `{ error: code, message }` (analytics
285
+ * lock) and `{ error: message, code }` (overdue blocks).
286
+ */
287
+ export function billingBlockMessage(bodyText) {
288
+ let code = "";
289
+ let message = "";
290
+ try {
291
+ const parsed = JSON.parse(bodyText);
292
+ if (typeof parsed.code === "string") {
293
+ code = parsed.code;
294
+ if (typeof parsed.error === "string")
295
+ message = parsed.error;
296
+ }
297
+ else if (typeof parsed.error === "string") {
298
+ code = parsed.error;
299
+ }
300
+ if (typeof parsed.message === "string")
301
+ message = parsed.message;
302
+ }
303
+ catch {
304
+ /* non-JSON body: fall through to the generic sentence */
305
+ }
306
+ const fix = code === "billing_overdue"
307
+ ? " Paying the overdue invoice in Settings → Billing lifts this right away."
308
+ : code === "analytics_locked"
309
+ ? ""
310
+ : " Settings → Billing in Apex shows what's needed.";
311
+ const lead = message ||
312
+ "Apex paused this because of your organization's billing.";
313
+ return `${lead}${fix} Don't retry until that's done; this isn't a problem with the request.`;
314
+ }
233
315
  /**
234
316
  * Turn a non-OK response into a thrown Error. For 401/403 we surface an
235
317
  * actionable sentence (structured `{ error, message, docsUrl, required }`
@@ -247,6 +329,9 @@ async function throwForStatus(method, path, res) {
247
329
  if (res.status === 401 || res.status === 403) {
248
330
  throw new Error(`Apex authentication failed (${res.status}) on ${method} ${path}.${authFailureDetail(text)}`);
249
331
  }
332
+ if (res.status === 402) {
333
+ throw new Error(billingBlockMessage(text));
334
+ }
250
335
  throw new Error(`${method} ${path} failed (${res.status}): ${text}`);
251
336
  }
252
337
  /**
@@ -307,6 +392,36 @@ export async function postWithIdempotency(path, idempotencyKey, body) {
307
392
  await throwForStatus("POST", path, res);
308
393
  return res.json();
309
394
  }
395
+ export const SERVER_KEY_NEEDED_MESSAGE = "Server events need an organization server key, and this editor is signed in as you, which Apex won't accept as a backend. " +
396
+ "Have an owner or admin run create_server_key, put the key in your backend's secrets, and send the event from there (apex_recent_events confirms it arrived). " +
397
+ "To test from here instead, set APEX_SERVER_KEY in this MCP server's environment and restart it.";
398
+ /**
399
+ * /api/v1/events takes only an organization server key (apex_sk_). The
400
+ * editor signs in as a person, so this uses APEX_SERVER_KEY when it's set.
401
+ */
402
+ export async function postServerEvents(idempotencyKey, body) {
403
+ const path = "/api/v1/events";
404
+ const serverKey = process.env.APEX_SERVER_KEY?.trim();
405
+ if (!serverKey) {
406
+ await ensureAuth();
407
+ if (!getAuthToken()?.startsWith("apex_sk_"))
408
+ throw new Error(SERVER_KEY_NEEDED_MESSAGE);
409
+ return postWithIdempotency(path, idempotencyKey, body);
410
+ }
411
+ const res = await fetch(`${BASE_URL}${path}`, {
412
+ method: "POST",
413
+ headers: {
414
+ ...authHeaders(),
415
+ "Content-Type": "application/json",
416
+ "idempotency-key": idempotencyKey,
417
+ "x-api-key": serverKey,
418
+ },
419
+ body: JSON.stringify(body),
420
+ });
421
+ if (!res.ok)
422
+ await throwForStatus("POST", path, res);
423
+ return res.json();
424
+ }
310
425
  export async function apiDelete(path) {
311
426
  const res = await fetchWithAuth(path, { method: "DELETE" });
312
427
  if (!res.ok)
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ import { z } from "zod";
7
7
  * top-level tool params.
8
8
  */
9
9
  export declare const letterBlockSchema: z.ZodObject<{
10
- type: z.ZodEnum<["heading", "text", "image", "button", "html", "spacer", "divider"]>;
10
+ type: z.ZodEnum<["heading", "text", "image", "button", "html", "spacer", "divider", "keep"]>;
11
+ id: z.ZodOptional<z.ZodString>;
12
+ kind: z.ZodOptional<z.ZodString>;
11
13
  text: z.ZodOptional<z.ZodString>;
12
14
  heading_level: z.ZodOptional<z.ZodEnum<["h1", "h2", "h3"]>>;
13
15
  align: z.ZodOptional<z.ZodEnum<["left", "center", "right"]>>;
@@ -23,8 +25,10 @@ export declare const letterBlockSchema: z.ZodObject<{
23
25
  color: z.ZodOptional<z.ZodString>;
24
26
  thickness: z.ZodOptional<z.ZodNumber>;
25
27
  }, "strip", z.ZodTypeAny, {
26
- type: "text" | "heading" | "image" | "button" | "html" | "spacer" | "divider";
28
+ type: "text" | "heading" | "image" | "button" | "html" | "spacer" | "divider" | "keep";
29
+ id?: string | undefined;
27
30
  label?: string | undefined;
31
+ kind?: string | undefined;
28
32
  text?: string | undefined;
29
33
  url?: string | undefined;
30
34
  html?: string | undefined;
@@ -39,8 +43,10 @@ export declare const letterBlockSchema: z.ZodObject<{
39
43
  color?: string | undefined;
40
44
  thickness?: number | undefined;
41
45
  }, {
42
- type: "text" | "heading" | "image" | "button" | "html" | "spacer" | "divider";
46
+ type: "text" | "heading" | "image" | "button" | "html" | "spacer" | "divider" | "keep";
47
+ id?: string | undefined;
43
48
  label?: string | undefined;
49
+ kind?: string | undefined;
44
50
  text?: string | undefined;
45
51
  url?: string | undefined;
46
52
  html?: string | undefined;
@@ -74,19 +80,24 @@ interface ComposeInput {
74
80
  /**
75
81
  * The reverse of composeLetterDocument: a stored builder document as the
76
82
  * sections edit_communication accepts. Brand header and footer are left out
77
- * (edits keep them); any other block type is named in `skipped`.
83
+ * (edits keep them). A block the sections can't describe (a repeater, a
84
+ * product grid) comes back as `keep`, so passing the list back leaves it as
85
+ * stored.
78
86
  */
79
87
  export declare function letterBlocksFromDocument(doc: {
80
88
  blocks?: Block[];
81
89
  } | null | undefined): {
82
90
  blocks: LetterBlockInput[];
83
- skipped: string[];
84
91
  };
85
92
  /**
86
- * Build the builder document and slot map for a full-body edit. The first
87
- * heading, text and button take the ids the theme's Title / Body / Button
88
- * roles point at, so the letter keeps its look. Slots mirror those three so
89
- * inbox and push previews match the email.
93
+ * Build the builder document and slot map for a full-body edit. A section
94
+ * that carries a stored block's id keeps that block's other settings (theme
95
+ * overrides, catalog slot); `keep` puts a stored block back unchanged. Of
96
+ * the rest, the first heading, text and button take the ids the theme's
97
+ * Title / Body / Button roles point at, so the letter keeps its look. Slots
98
+ * mirror those three so inbox and push previews match the email.
99
+ *
100
+ * Throws when a `keep` names a block the letter doesn't have.
90
101
  */
91
102
  export declare function composeLetterDocument(input: ComposeInput): {
92
103
  builderDocument: {
@@ -1 +1 @@
1
- {"version":3,"file":"letter-blocks.d.ts","sourceRoot":"","sources":["../src/letter-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqB5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IACtE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA0CD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG;IACtF,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAgDA;AAUD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG;IAC1D,eAAe,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAuCA"}
1
+ {"version":3,"file":"letter-blocks.d.ts","sourceRoot":"","sources":["../src/letter-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B5B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAEjE,UAAU,KAAK;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,UAAU,YAAY;IACpB,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IACtC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,GAAG,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC;IACtE,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4DD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE;IAAE,MAAM,CAAC,EAAE,KAAK,EAAE,CAAA;CAAE,GAAG,IAAI,GAAG,SAAS,GAAG;IACtF,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B,CAgDA;AAUD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG;IAC1D,eAAe,EAAE;QAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAAC,OAAO,EAAE,CAAC,CAAA;KAAE,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/B,CAqEA"}
@@ -7,11 +7,19 @@ import { z } from "zod";
7
7
  * top-level tool params.
8
8
  */
9
9
  export const letterBlockSchema = z.object({
10
- type: z.enum(["heading", "text", "image", "button", "html", "spacer", "divider"]),
10
+ type: z.enum(["heading", "text", "image", "button", "html", "spacer", "divider", "keep"]),
11
+ id: z
12
+ .string()
13
+ .optional()
14
+ .describe("The section's id from get_communication. Pass it back unchanged so the section keeps its saved settings. Leave it out for a new section. Required for keep."),
15
+ kind: z
16
+ .string()
17
+ .optional()
18
+ .describe("keep only: what the kept section is (e.g. repeater). Read-only; it is ignored on edit."),
11
19
  text: z
12
20
  .string()
13
21
  .optional()
14
- .describe("heading: the words. text: HTML limited to p, ul, ol, li, strong, em, u, b, i (no attributes, so no links; use a button or html block for links). {{first_name ?? \"friend\"}} style tokens work."),
22
+ .describe("heading: the words. text: HTML limited to p, ul, ol, li, strong, em, u, b, i, and <a href=\"...\"> links (https, mailto, a /path in the app, or a {{token}}). No other attributes. {{first_name ?? \"friend\"}} style tokens work."),
15
23
  heading_level: z.enum(["h1", "h2", "h3"]).optional(),
16
24
  align: z.enum(["left", "center", "right"]).optional(),
17
25
  url: z.string().optional().describe("image: public image URL. button: where it goes, e.g. {{app_url}}/experiments."),
@@ -73,18 +81,36 @@ function contentFor(b) {
73
81
  }
74
82
  const num = (v) => (typeof v === "number" && Number.isFinite(v) ? v : undefined);
75
83
  const str = (v) => (typeof v === "string" ? v : undefined);
84
+ /** Content keys the section fields own. Anything else on a stored block is kept. */
85
+ const EDITABLE_KEYS = [
86
+ "text",
87
+ "headingLevel",
88
+ "align",
89
+ "url",
90
+ "alt",
91
+ "imageHeight",
92
+ "imageNaturalWidth",
93
+ "imageNaturalHeight",
94
+ "label",
95
+ "buttonWidth",
96
+ "html",
97
+ "height",
98
+ "color",
99
+ "thickness",
100
+ ];
76
101
  /**
77
102
  * The reverse of composeLetterDocument: a stored builder document as the
78
103
  * sections edit_communication accepts. Brand header and footer are left out
79
- * (edits keep them); any other block type is named in `skipped`.
104
+ * (edits keep them). A block the sections can't describe (a repeater, a
105
+ * product grid) comes back as `keep`, so passing the list back leaves it as
106
+ * stored.
80
107
  */
81
108
  export function letterBlocksFromDocument(doc) {
82
109
  const blocks = [];
83
- const skipped = [];
84
110
  for (const b of doc?.blocks ?? []) {
85
111
  const c = b.content ?? {};
86
112
  const align = str(c.align);
87
- const base = align ? { align } : {};
113
+ const base = { ...(b.id ? { id: b.id } : {}), ...(align ? { align } : {}) };
88
114
  switch (b.type) {
89
115
  case "brand-header":
90
116
  case "brand-footer":
@@ -109,23 +135,24 @@ export function letterBlocksFromDocument(doc) {
109
135
  blocks.push({ type: "button", ...base, label: str(c.label) ?? "", url: str(c.url) ?? "", ...(str(c.buttonWidth) ? { button_width: str(c.buttonWidth) } : {}) });
110
136
  break;
111
137
  case "html":
112
- blocks.push({ type: "html", html: str(c.html) ?? "" });
138
+ blocks.push({ type: "html", ...(b.id ? { id: b.id } : {}), html: str(c.html) ?? "" });
113
139
  break;
114
140
  case "spacer":
115
- blocks.push({ type: "spacer", height: num(c.height) ?? 24 });
141
+ blocks.push({ type: "spacer", ...(b.id ? { id: b.id } : {}), height: num(c.height) ?? 24 });
116
142
  break;
117
143
  case "divider":
118
144
  blocks.push({
119
145
  type: "divider",
146
+ ...(b.id ? { id: b.id } : {}),
120
147
  ...(str(c.color) ? { color: str(c.color) } : {}),
121
148
  ...(num(c.thickness) ? { thickness: num(c.thickness) } : {}),
122
149
  });
123
150
  break;
124
151
  default:
125
- skipped.push(b.type);
152
+ blocks.push({ type: "keep", id: b.id, kind: b.type });
126
153
  }
127
154
  }
128
- return { blocks, skipped };
155
+ return { blocks };
129
156
  }
130
157
  function plain(html) {
131
158
  return html
@@ -135,13 +162,18 @@ function plain(html) {
135
162
  .trim();
136
163
  }
137
164
  /**
138
- * Build the builder document and slot map for a full-body edit. The first
139
- * heading, text and button take the ids the theme's Title / Body / Button
140
- * roles point at, so the letter keeps its look. Slots mirror those three so
141
- * inbox and push previews match the email.
165
+ * Build the builder document and slot map for a full-body edit. A section
166
+ * that carries a stored block's id keeps that block's other settings (theme
167
+ * overrides, catalog slot); `keep` puts a stored block back unchanged. Of
168
+ * the rest, the first heading, text and button take the ids the theme's
169
+ * Title / Body / Button roles point at, so the letter keeps its look. Slots
170
+ * mirror those three so inbox and push previews match the email.
171
+ *
172
+ * Throws when a `keep` names a block the letter doesn't have.
142
173
  */
143
174
  export function composeLetterDocument(input) {
144
175
  const existing = input.current?.blocks ?? [];
176
+ const byId = new Map(existing.map((b) => [b.id, b]));
145
177
  const header = existing.find((b) => b.type === "brand-header");
146
178
  const footer = existing.find((b) => b.type === "brand-footer");
147
179
  const roleIds = {
@@ -149,14 +181,43 @@ export function composeLetterDocument(input) {
149
181
  text: input.roleMap?.body,
150
182
  button: input.roleMap?.button,
151
183
  };
152
- const used = new Set();
184
+ const claimed = new Set();
185
+ const reusable = (b) => {
186
+ const stored = b.id ? byId.get(b.id) : undefined;
187
+ return stored && (b.type === "keep" || stored.type === b.type) ? stored : undefined;
188
+ };
189
+ for (const b of input.blocks) {
190
+ const stored = reusable(b);
191
+ if (stored)
192
+ claimed.add(stored.id);
193
+ }
194
+ const usedRoles = new Set();
195
+ const usedIds = new Set();
153
196
  const seed = input.idSeed ?? Date.now().toString(36);
154
197
  const body = input.blocks.map((b, i) => {
198
+ const stored = reusable(b);
199
+ if (b.type === "keep") {
200
+ if (!stored || usedIds.has(stored.id)) {
201
+ throw new Error(`Section ${b.id ?? "(no id)"} isn't in this letter. Read it again with get_communication and pass its keep sections back as they are.`);
202
+ }
203
+ usedIds.add(stored.id);
204
+ return stored;
205
+ }
206
+ if (stored && !usedIds.has(stored.id)) {
207
+ usedIds.add(stored.id);
208
+ const kept = { ...stored.content };
209
+ for (const key of EDITABLE_KEYS)
210
+ delete kept[key];
211
+ return {
212
+ ...stored,
213
+ content: { ...kept, ...contentFor(b) },
214
+ };
215
+ }
155
216
  let id = `blk-${seed}-${i}`;
156
217
  const roleId = roleIds[b.type];
157
- if (roleId && !used.has(b.type)) {
218
+ if (roleId && !usedRoles.has(b.type) && !claimed.has(roleId)) {
158
219
  id = roleId;
159
- used.add(b.type);
220
+ usedRoles.add(b.type);
160
221
  }
161
222
  return { id, type: b.type, content: contentFor(b) };
162
223
  });
@@ -1 +1 @@
1
- {"version":3,"file":"letter-blocks.js","sourceRoot":"","sources":["../src/letter-blocks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IACjF,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,kMAAkM,CACnM;IACH,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IACpD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE;IACrD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+EAA+E,CAAC;IACpH,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;IACrE,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;IACpG,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IAClG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;CACnH,CAAC,CAAC;AAmBH,SAAS,UAAU,CAAC,CAAmB;IACrC,MAAM,CAAC,GAA4B,EAAE,CAAC;IACtC,IAAI,CAAC,CAAC,KAAK;QAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IAC/B,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,KAAK,SAAS;YACZ,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,CAAC,aAAa;gBAAE,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,aAAa,CAAC;YACtD,MAAM;QACR,KAAK,MAAM;YACT,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM;QACR,KAAK,OAAO;YACV,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,GAAG;gBAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC;YACzB,IAAI,CAAC,CAAC,YAAY;gBAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC;YACnD,IAAI,CAAC,CAAC,mBAAmB;gBAAE,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,mBAAmB,CAAC;YACvE,IAAI,CAAC,CAAC,oBAAoB;gBAAE,CAAC,CAAC,kBAAkB,GAAG,CAAC,CAAC,oBAAoB,CAAC;YAC1E,MAAM;QACR,KAAK,QAAQ;YACX,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,CAAC,YAAY;gBAAE,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,YAAY,CAAC;YACnD,MAAM;QACR,KAAK,MAAM;YACT,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM;QACR,KAAK,QAAQ;YACX,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;YAC1B,MAAM;QACR,KAAK,SAAS;YACZ,IAAI,CAAC,CAAC,KAAK;gBAAE,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;YAC/B,IAAI,CAAC,CAAC,SAAS;gBAAE,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;YAC3C,MAAM;IACV,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAC1F,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEpE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA4C;IAInF,MAAM,MAAM,GAAuB,EAAE,CAAC;IACtC,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAA8B,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;YACf,KAAK,cAAc,CAAC;YACpB,KAAK,cAAc;gBACjB,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY,CAAsC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChL,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAChE,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;oBACtB,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE;oBACrB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACnE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACtF,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,GAAG,CAAC,CAAC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC1F,CAAC,CAAC;gBACH,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAqC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpM,MAAM;YACR,KAAK,MAAM;gBACT,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACvD,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM;YACR,KAAK,SAAS;gBACZ,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAChD,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D,CAAC,CAAC;gBACH,MAAM;YACR;gBACE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,KAAK,CAAC,IAAY;IACzB,OAAO,IAAI;SACR,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC;SAC7B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;SACxB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAmB;IAIvD,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAuC;QAClD,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK;QAC7B,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI;QACzB,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM;KAC9B,CAAC;IACF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,IAAI,GAAY,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC9C,IAAI,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,EAAE,GAAG,MAAM,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEnF,MAAM,KAAK,GAA2B,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;IACjE,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;IAChE,IAAI,YAAY,EAAE,IAAI;QAAE,KAAK,CAAC,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;IAC3D,IAAI,SAAS,EAAE,IAAI;QAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxD,IAAI,WAAW,EAAE,KAAK;QAAE,KAAK,CAAC,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC;IAC3D,IAAI,WAAW,EAAE,GAAG;QAAE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC;IACrD,IAAI,UAAU,EAAE,GAAG,EAAE,CAAC;QACpB,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;QAChC,IAAI,UAAU,CAAC,GAAG;YAAE,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;IACtD,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;AAC5D,CAAC"}
1
+ {"version":3,"file":"letter-blocks.js","sourceRoot":"","sources":["../src/letter-blocks.ts"],"names":[],"mappings":"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"}
package/dist/prompts.js CHANGED
@@ -405,7 +405,7 @@ Don't create or save an API key for this. Keys are for servers and CI (/apex-key
405
405
  text: `Manage my Apex API keys (action: ${args.action ?? "ask me"}).
406
406
 
407
407
  - list → \`list_api_keys\`
408
- - create → \`create_api_key\` (ask for a name; show the raw key once and remind me to store it securely)
408
+ - create → ask whether it's for my backend or for me. A backend sending events gets \`create_server_key\`; signing an editor or script in as me gets \`create_api_key\`. Ask for a name, show the raw key once, and remind me to store it securely.
409
409
  - revoke → \`list_api_keys\` first so I can pick which, then \`revoke_api_key\``,
410
410
  },
411
411
  },
@@ -4,7 +4,7 @@
4
4
  * stamp the rail complete.
5
5
  */
6
6
  import { z } from "zod";
7
- import { apiGet, apiPatch, apiPost, apiPut, apiDeleteJson, getActiveOrg, getActiveWorkspaceLabel, getActiveWorkspace, refreshUserContext, setActiveWorkspace, } from "./api-client.js";
7
+ import { apiGet, apiPatch, apiPost, apiPut, apiDeleteJson, resolveActiveOrg, getActiveWorkspaceLabel, getActiveWorkspace, refreshUserContext, setActiveWorkspace, } from "./api-client.js";
8
8
  import { REPO_BINDING_PATH } from "./repo-binding.js";
9
9
  import { apexBaseUrl } from "./base-url.js";
10
10
  const APEX = "Apex";
@@ -53,8 +53,8 @@ async function landOnNewShop(workspaceKey, created) {
53
53
  function setupStatePath(workspaceKey, id) {
54
54
  return `/api/workspaces/${encodeURIComponent(workspaceKey)}/setup-state/${encodeURIComponent(id)}`;
55
55
  }
56
- function resolveOrgId(orgId) {
57
- return orgId?.trim() || getActiveOrg();
56
+ async function resolveOrgId(orgId) {
57
+ return orgId?.trim() || (await resolveActiveOrg());
58
58
  }
59
59
  const VERTICALS = [
60
60
  "b2b-saas",
@@ -99,7 +99,7 @@ export const setupCatchupTools = {
99
99
  name: z.string().min(1).describe("What the workspace should be called."),
100
100
  }),
101
101
  handler: async ({ orgId, name }) => {
102
- const id = resolveOrgId(orgId);
102
+ const id = await resolveOrgId(orgId);
103
103
  if (!id) {
104
104
  return jsonResult(null, "No active organization. Pass org_id or switch_org first.");
105
105
  }
@@ -185,7 +185,7 @@ export const setupCatchupTools = {
185
185
  conversionModel: z.enum(CONVERSION_MODELS).optional(),
186
186
  }),
187
187
  handler: async ({ orgId, name, websiteUrl, vertical, conversionModel, }) => {
188
- const id = resolveOrgId(orgId);
188
+ const id = await resolveOrgId(orgId);
189
189
  if (!id) {
190
190
  return jsonResult(null, "No active organization. Pass org_id from list_orgs.");
191
191
  }
@@ -489,7 +489,7 @@ export const setupCatchupTools = {
489
489
  .describe("Organization id. Defaults to the active org."),
490
490
  }),
491
491
  handler: async ({ email, role, orgId, }) => {
492
- const id = resolveOrgId(orgId);
492
+ const id = await resolveOrgId(orgId);
493
493
  if (!id) {
494
494
  return jsonResult(null, "No active organization. Pass org_id or switch_org first.");
495
495
  }
@@ -621,7 +621,7 @@ export const setupCatchupTools = {
621
621
  orgId: z.string().optional(),
622
622
  }),
623
623
  handler: async ({ domain, orgId }) => {
624
- const id = resolveOrgId(orgId);
624
+ const id = await resolveOrgId(orgId);
625
625
  if (!id) {
626
626
  return jsonResult(null, "No active organization. Pass org_id or switch_org first.");
627
627
  }
@@ -642,7 +642,7 @@ export const setupCatchupTools = {
642
642
  orgId: z.string().optional(),
643
643
  }),
644
644
  handler: async ({ domain, orgId }) => {
645
- const id = resolveOrgId(orgId);
645
+ const id = await resolveOrgId(orgId);
646
646
  if (!id) {
647
647
  return jsonResult(null, "No active organization. Pass org_id or switch_org first.");
648
648
  }