@apex-inc/mcp-server 0.23.0 → 0.23.1

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/dist/index.js CHANGED
@@ -28,6 +28,12 @@ const server = new McpServer({ name: "apex", version: MCP_SERVER_VERSION }, {
28
28
  "make the winning changes permanent using graduate_experiment.",
29
29
  "Graduation is optional — the Apex snippet keeps serving the winner — but graduating",
30
30
  "removes the runtime dependency and makes the changes part of the source code.",
31
+ "VOCABULARY: each workspace picks its own word for a person based on its vertical —",
32
+ "Customer, Lead, User, Client, or Contact — and its dashboard says that word everywhere.",
33
+ "Tool names, parameter names and API paths do NOT adapt (contactId and /api/customers",
34
+ "are contract), but when you describe results to the user, use the word their workspace",
35
+ "uses. Tool output already carries it; mirror the word the output uses rather than",
36
+ "defaulting to 'customer'.",
31
37
  ].join(" "),
32
38
  });
33
39
  // --- Register tools ---
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * The workspace's word for a person, on the agent side.
3
+ *
4
+ * The dashboard resolves this from the workspace's vertical via
5
+ * `resolvePersonLabel` (app/src/lib/core/customer-columns.ts) — a B2B SaaS
6
+ * workspace reads "Leads", an agency reads "Clients". Tool OUTPUT that an
7
+ * agent will read back to the merchant has to use the same word, or the
8
+ * agent contradicts the screen the merchant is looking at.
9
+ *
10
+ * Tool names, parameter names and API paths deliberately do NOT adapt:
11
+ * `contactId`, `/api/customers/...` and the `Contact` entity are contract,
12
+ * and renaming them per workspace would break every caller. Only the prose
13
+ * an agent surfaces to a human adapts.
14
+ */
15
+ export interface PersonLabel {
16
+ /** Singular, e.g. "Customer" / "Lead" / "Client". */
17
+ label: string;
18
+ /** Plural, e.g. "Customers" / "Leads" / "Clients". */
19
+ plural: string;
20
+ }
21
+ export declare function personLabelForVertical(vertical?: string | null): PersonLabel;
22
+ /**
23
+ * The active workspace's person noun. Never throws — a config read that
24
+ * fails falls back to "Customer", which is what an unconfigured workspace
25
+ * reads in the dashboard anyway.
26
+ */
27
+ export declare function getPersonLabel(): Promise<PersonLabel>;
28
+ /** Test seam. */
29
+ export declare function resetPersonLabelCache(): void;
30
+ /** Lowercase forms, for mid-sentence use. */
31
+ export declare function lowerPerson(p: PersonLabel): PersonLabel;
32
+ //# sourceMappingURL=person-label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-label.d.ts","sourceRoot":"","sources":["../src/person-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,MAAM,WAAW,WAAW;IAC1B,qDAAqD;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD,wBAAgB,sBAAsB,CACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,WAAW,CAGb;AAWD;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAa3D;AAED,iBAAiB;AACjB,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAED,6CAA6C;AAC7C,wBAAgB,WAAW,CAAC,CAAC,EAAE,WAAW,GAAG,WAAW,CAEvD"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * The workspace's word for a person, on the agent side.
3
+ *
4
+ * The dashboard resolves this from the workspace's vertical via
5
+ * `resolvePersonLabel` (app/src/lib/core/customer-columns.ts) — a B2B SaaS
6
+ * workspace reads "Leads", an agency reads "Clients". Tool OUTPUT that an
7
+ * agent will read back to the merchant has to use the same word, or the
8
+ * agent contradicts the screen the merchant is looking at.
9
+ *
10
+ * Tool names, parameter names and API paths deliberately do NOT adapt:
11
+ * `contactId`, `/api/customers/...` and the `Contact` entity are contract,
12
+ * and renaming them per workspace would break every caller. Only the prose
13
+ * an agent surfaces to a human adapts.
14
+ */
15
+ import { apiGet, getActiveWorkspace } from "./api-client.js";
16
+ /** Mirrors `contactLabel` / `contactLabelPlural` in `vertical-presets.ts`. */
17
+ const BY_VERTICAL = {
18
+ "b2b-saas": { label: "Lead", plural: "Leads" },
19
+ ecommerce: { label: "Customer", plural: "Customers" },
20
+ marketplace: { label: "User", plural: "Users" },
21
+ agency: { label: "Client", plural: "Clients" },
22
+ other: { label: "Contact", plural: "Contacts" },
23
+ };
24
+ /** What a workspace with no vertical set reads. Same default as the app. */
25
+ const DEFAULT_LABEL = { label: "Customer", plural: "Customers" };
26
+ export function personLabelForVertical(vertical) {
27
+ if (!vertical)
28
+ return DEFAULT_LABEL;
29
+ return BY_VERTICAL[vertical] ?? DEFAULT_LABEL;
30
+ }
31
+ /**
32
+ * Cached per workspace so a chatty session doesn't pay a `/api/config` round
33
+ * trip per tool call. Keying by workspace means `switch_workspace` and
34
+ * `switch_org` pick up the new noun with no invalidation hook. A vertical
35
+ * changed mid-session is stale until the server restarts — acceptable, since
36
+ * changing a vertical is a rare, confirmation-gated action.
37
+ */
38
+ const cache = new Map();
39
+ /**
40
+ * The active workspace's person noun. Never throws — a config read that
41
+ * fails falls back to "Customer", which is what an unconfigured workspace
42
+ * reads in the dashboard anyway.
43
+ */
44
+ export async function getPersonLabel() {
45
+ const key = getActiveWorkspace() ?? "__none__";
46
+ const hit = cache.get(key);
47
+ if (hit)
48
+ return hit;
49
+ let resolved = DEFAULT_LABEL;
50
+ try {
51
+ const config = await apiGet("/api/config");
52
+ resolved = personLabelForVertical(config?.vertical);
53
+ }
54
+ catch {
55
+ /* unreachable config — the default is the honest answer */
56
+ }
57
+ cache.set(key, resolved);
58
+ return resolved;
59
+ }
60
+ /** Test seam. */
61
+ export function resetPersonLabelCache() {
62
+ cache.clear();
63
+ }
64
+ /** Lowercase forms, for mid-sentence use. */
65
+ export function lowerPerson(p) {
66
+ return { label: p.label.toLowerCase(), plural: p.plural.toLowerCase() };
67
+ }
68
+ //# sourceMappingURL=person-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"person-label.js","sourceRoot":"","sources":["../src/person-label.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAS7D,8EAA8E;AAC9E,MAAM,WAAW,GAAgC;IAC/C,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAC9C,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE;IACrD,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE;IAC/C,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE;IAC9C,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE;CAChD,CAAC;AAEF,4EAA4E;AAC5E,MAAM,aAAa,GAAgB,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAE9E,MAAM,UAAU,sBAAsB,CACpC,QAAwB;IAExB,IAAI,CAAC,QAAQ;QAAE,OAAO,aAAa,CAAC;IACpC,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,GAAG,GAAG,kBAAkB,EAAE,IAAI,UAAU,CAAC;IAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC;IACpB,IAAI,QAAQ,GAAG,aAAa,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAA+B,aAAa,CAAC,CAAC;QACzE,QAAQ,GAAG,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;IAC7D,CAAC;IACD,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzB,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,iBAAiB;AACjB,MAAM,UAAU,qBAAqB;IACnC,KAAK,CAAC,KAAK,EAAE,CAAC;AAChB,CAAC;AAED,6CAA6C;AAC7C,MAAM,UAAU,WAAW,CAAC,CAAc;IACxC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;AAC1E,CAAC"}
package/dist/tools.d.ts CHANGED
@@ -1613,7 +1613,7 @@ export declare const toolDefinitions: {
1613
1613
  approvalMode: z.ZodDefault<z.ZodOptional<z.ZodEnum<["auto", "manual"]>>>;
1614
1614
  }, "strip", z.ZodTypeAny, {
1615
1615
  name: string;
1616
- vertical: "saas" | "ecommerce" | "fintech" | "marketplace" | "hardware" | "enterprise" | "creator_tools" | "other";
1616
+ vertical: "ecommerce" | "marketplace" | "other" | "saas" | "fintech" | "hardware" | "enterprise" | "creator_tools";
1617
1617
  commissionStructure: {
1618
1618
  type: "cpa" | "revshare";
1619
1619
  appliesTo: "install" | "purchase" | "subscription";
@@ -1625,7 +1625,7 @@ export declare const toolDefinitions: {
1625
1625
  description?: string | undefined;
1626
1626
  }, {
1627
1627
  name: string;
1628
- vertical: "saas" | "ecommerce" | "fintech" | "marketplace" | "hardware" | "enterprise" | "creator_tools" | "other";
1628
+ vertical: "ecommerce" | "marketplace" | "other" | "saas" | "fintech" | "hardware" | "enterprise" | "creator_tools";
1629
1629
  commissionStructure: {
1630
1630
  type: "cpa" | "revshare";
1631
1631
  appliesTo: "install" | "purchase" | "subscription";
@@ -2556,10 +2556,10 @@ export declare const toolDefinitions: {
2556
2556
  name: z.ZodString;
2557
2557
  }, "strip", z.ZodTypeAny, {
2558
2558
  name: string;
2559
- kind: "ios" | "android" | "website" | "server" | "other" | "pos" | "kiosk" | "extension";
2559
+ kind: "other" | "ios" | "android" | "website" | "server" | "pos" | "kiosk" | "extension";
2560
2560
  }, {
2561
2561
  name: string;
2562
- kind: "ios" | "android" | "website" | "server" | "other" | "pos" | "kiosk" | "extension";
2562
+ kind: "other" | "ios" | "android" | "website" | "server" | "pos" | "kiosk" | "extension";
2563
2563
  }>;
2564
2564
  handler: ({ kind, name }: {
2565
2565
  kind: string;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/dist/tools.js CHANGED
@@ -4,6 +4,7 @@ import { join, dirname } from "node:path";
4
4
  import { apiGet, apiPost, apiPatch, apiDelete, postWithIdempotency, setActiveWorkspace, getActiveWorkspace, setActiveOrg, getActiveOrg, getUserContext } from "./api-client.js";
5
5
  import { resolveExperimentHypothesis } from "./experiment-copy.js";
6
6
  import { controlGateGuidanceFor } from "./control-gate-guidance.js";
7
+ import { getPersonLabel, lowerPerson } from "./person-label.js";
7
8
  const APEX = "∧ Apex";
8
9
  /**
9
10
  * MOBX-006 — stable synthetic visitor id for agent-fired events.
@@ -1857,7 +1858,7 @@ export const toolDefinitions = {
1857
1858
  },
1858
1859
  },
1859
1860
  get_channel_economics: {
1860
- description: `${APEX} — "Where should my next dollar go?" Per acquisition channel (raw first-touch): gross-margin-adjusted LTV:CAC, payback months, CAC, and customers, split into Acquisition (paid) vs Leverage (owned/organic, no spend). Computed from real contacts + spend + revenue — metrics with missing inputs are shown as "—", never fabricated. Free intelligence; the verdict is never gated.`,
1861
+ description: `${APEX} — "Where should my next dollar go?" Per acquisition channel (raw first-touch): LTGP:CAC (lifetime gross profit over CAC) where the merchant reports product cost, LTV:CAC (lifetime revenue over CAC) everywhere else, plus payback months, CAC, and customers, split into Acquisition (paid) vs Leverage (owned/organic, no spend). Computed from real contacts + spend + revenue — metrics with missing inputs are shown as "—", never fabricated. Free intelligence; the verdict is never gated.`,
1861
1862
  schema: z.object({
1862
1863
  days: z
1863
1864
  .union([z.number(), z.literal("all")])
@@ -1891,12 +1892,20 @@ export const toolDefinitions = {
1891
1892
  })[slug] ?? slug.charAt(0).toUpperCase() + slug.slice(1);
1892
1893
  const money = (n) => n == null ? "—" : `$${Math.round(n).toLocaleString()}`;
1893
1894
  const ratio = (r) => (r == null ? "—" : `${r.toFixed(2)}x`);
1894
- const ranked = [...channels].sort((a, b) => (b.ltvCacRatio ?? -1) - (a.ltvCacRatio ?? -1));
1895
+ // Each channel is ranked on its best available multiple. Both are real
1896
+ // metrics — LTGP:CAC nets out cost of goods, LTV:CAC doesn't — so the
1897
+ // line names which one it printed rather than dropping the number.
1898
+ const best = (c) => c.ltgpCac ?? c.ltvCac;
1899
+ const metric = (c) => c.ltgpCac !== null ? "LTGP:CAC" : "LTV:CAC";
1900
+ const ranked = [...channels].sort((a, b) => (best(b) ?? -1) - (best(a) ?? -1));
1895
1901
  const acquisition = ranked.filter((c) => c.spend !== null && c.spend > 0);
1896
1902
  const leverage = ranked.filter((c) => c.spend === null || c.spend === 0);
1897
- const fmt = (c) => ` • ${label(c.channel)}: ${ratio(c.ltvCacRatio)} LTV:CAC · payback ${c.paybackMonths != null ? `${c.paybackMonths}mo` : ""} · CAC ${money(c.cac)} · ${c.customers.toLocaleString()} customers`;
1903
+ // The merchant reads this back on a screen that says "Leads" or
1904
+ // "Clients" if that's their vertical — say the same word they do.
1905
+ const person = lowerPerson(await getPersonLabel());
1906
+ const fmt = (c) => ` • ${label(c.channel)}: ${ratio(best(c))} ${metric(c)} · payback ${c.paybackMonths != null ? `${c.paybackMonths}mo` : "—"} · CAC ${money(c.cac)} · ${c.customers.toLocaleString()} ${person.plural}`;
1898
1907
  const lines = [
1899
- `${APEX} Channel economics — gross-margin LTV:CAC`,
1908
+ `${APEX} Channel economics — LTGP:CAC where product cost is reported, LTV:CAC otherwise`,
1900
1909
  "═".repeat(40),
1901
1910
  ];
1902
1911
  if (res.data?.needsReferee) {
@@ -1908,11 +1917,9 @@ export const toolDefinitions = {
1908
1917
  if (leverage.length > 0) {
1909
1918
  lines.push("Leverage (owned / organic):", ...leverage.map(fmt), "");
1910
1919
  }
1911
- lines.push("3-5x LTV:CAC is healthy; <1x loses margin on every customer; >5x is likely underinvested.");
1912
- if (res.data?.grossMarginFromDefault) {
1913
- lines.push(`(Using a default ${res.data.grossMargin != null
1914
- ? `${Math.round(res.data.grossMargin * 100)}%`
1915
- : ""} gross margin — set your real margin in workspace settings to sharpen this.)`);
1920
+ lines.push(`3-5x is healthy; <1x loses money on every ${person.label}; >5x is likely underinvested.`);
1921
+ if (ranked.some((c) => c.ltgpCac === null && c.ltvCac !== null)) {
1922
+ lines.push(`(Channels above marked LTV:CAC are measured on revenue. Send product.unit_cost on purchase events and Apex reports LTGP:CAC for them too — the same read with cost of goods netted out.)`);
1916
1923
  }
1917
1924
  return { content: [{ type: "text", text: lines.join("\n") }] };
1918
1925
  },
@@ -2019,7 +2026,7 @@ export const toolDefinitions = {
2019
2026
  get_ecommerce_product_sales: {
2020
2027
  description: `${APEX} — E-commerce product sales: top products by revenue with the per-product view → add-to-cart → purchase funnel and refund counts. Products need a product_id on commerce events; never-wired signals are reported as unwired, not zero.`,
2021
2028
  schema: z.object({
2022
- days: z.number().optional().describe("Trailing window in days (default 90, max 180)."),
2029
+ days: z.number().optional().describe("Trailing window in days (default 90, max 396 — the 13-month event log)."),
2023
2030
  start: z
2024
2031
  .string()
2025
2032
  .optional()
@@ -2059,7 +2066,7 @@ export const toolDefinitions = {
2059
2066
  get_ecommerce_returns: {
2060
2067
  description: `${APEX} — E-commerce returns & refunds: refund rate (money back, order basis), return rate (goods back — separate metric, never summed), reason breakdown, refund cycle time, AOV, and repeat purchase. Refund data lands automatically from Stripe; return_requested / return_completed events power the goods-back story.`,
2061
2068
  schema: z.object({
2062
- days: z.number().optional().describe("Trailing window in days (default 90, max 180)."),
2069
+ days: z.number().optional().describe("Trailing window in days (default 90, max 396 — the 13-month event log)."),
2063
2070
  start: z
2064
2071
  .string()
2065
2072
  .optional()
@@ -2099,7 +2106,7 @@ export const toolDefinitions = {
2099
2106
  get_marketplace_metrics: {
2100
2107
  description: `${APEX} — Marketplace health across six pillars: liquidity (search→transaction, match rate, zero-result searches, unfulfilled demand), supply & demand balance, economics (GMV vs the take — fee_amount is the platform's revenue, GMV never inflates LTV), buyer retention, trust rates, and concentration risk. Sliceable by category / geo / price_band (low-volume slices are suppressed for privacy). Metrics whose events aren't wired come back as unwired hints, never fabricated zeros.`,
2101
2108
  schema: z.object({
2102
- days: z.number().optional().describe("Trailing window in days (default 90, max 180)."),
2109
+ days: z.number().optional().describe("Trailing window in days (default 90, max 396 — the 13-month event log)."),
2103
2110
  start: z
2104
2111
  .string()
2105
2112
  .optional()
@@ -2657,7 +2664,7 @@ Events fired through this tool carry a stable synthetic visitorId (mcp-agent-*,
2657
2664
  },
2658
2665
  },
2659
2666
  identify_user: {
2660
- description: `${APEX} — Identify a user by email for identity stitching. Works identically to the SDK's identify() and the snippet's apex.identify(). Links an anonymous visitor to a known email/lead. Pass avatarUrl (a canonical attribute) to give the Contact a profile photo that renders across Apex — Customers list, detail page, and Live Customers widget.`,
2667
+ description: `${APEX} — Identify a user by email for identity stitching. Works identically to the SDK's identify() and the snippet's apex.identify(). Links an anonymous visitor to a known email. Pass avatarUrl (a canonical attribute) to give the Contact a profile photo that renders across Apex — the people list, detail page, and Live widget. The workspace's own word for a person (Customer / Lead / Client / User, from its vertical) is what its dashboard shows; use that word when reporting back.`,
2661
2668
  schema: z.object({
2662
2669
  email: z.string().describe("User email address"),
2663
2670
  name: z.string().optional().describe("User name"),
@@ -2672,10 +2679,11 @@ Events fired through this tool carry a stable synthetic visitorId (mcp-agent-*,
2672
2679
  workspaceKey: (process.env.APEX_WORKSPACE_KEY || process.env.APEX_PROJECT_KEY) || "default",
2673
2680
  metadata: { name, company, avatar_url: avatarUrl, ...metadata, source: "mcp" },
2674
2681
  });
2682
+ const person = lowerPerson(await getPersonLabel());
2675
2683
  return {
2676
2684
  content: [{
2677
2685
  type: "text",
2678
- text: `Identity stitched: ${email}${name ? ` (${name})` : ""}${company ? ` at ${company}` : ""}\nA lead record has been created/linked in Apex.`,
2686
+ text: `Identity stitched: ${email}${name ? ` (${name})` : ""}${company ? ` at ${company}` : ""}\nA ${person.label} record has been created/linked in Apex.`,
2679
2687
  }],
2680
2688
  };
2681
2689
  },
@@ -4363,6 +4371,7 @@ _Suggest the next step the user should tackle based on what's incomplete in the
4363
4371
  }
4364
4372
  const json = await apiGet(`/api/workspaces/${encodeURIComponent(workspaceKey)}/readiness`);
4365
4373
  const d = json.data;
4374
+ const person = lowerPerson(await getPersonLabel());
4366
4375
  const eventLines = d.events.map((e) => `- ${e.name}: ${e.tier} (${e.count.toLocaleString()} events, platforms: ${e.platforms.join("/") || "—"})${e.observedFields?.length ? ` — fields seen: ${e.observedFields.join(", ")}` : ""}`);
4367
4376
  const traitLines = d.traits.map((t) => `- ${t.name}: ${t.present ? "arriving" : "not seen"}${t.inferredType ? ` (${t.inferredType})` : ""}`);
4368
4377
  const sourceLines = d.sources.map((s) => `- ${s.name} (${s.kind}): ${s.status}${s.lastSeenAt ? ` — last event ${s.lastSeenAt}` : ""}`);
@@ -4374,7 +4383,9 @@ _Suggest the next step the user should tackle based on what's incomplete in the
4374
4383
  ];
4375
4384
  const milestones = [
4376
4385
  d.milestones.firstEventAt ? `First event: ${d.milestones.firstEventAt}` : "First event: not yet",
4377
- d.milestones.firstIdentifiedAt ? `First identified customer: ${d.milestones.firstIdentifiedAt}` : "First identified customer: not yet",
4386
+ d.milestones.firstIdentifiedAt
4387
+ ? `First identified ${person.label}: ${d.milestones.firstIdentifiedAt}`
4388
+ : `First identified ${person.label}: not yet`,
4378
4389
  ];
4379
4390
  return {
4380
4391
  content: [{
@@ -4529,11 +4540,23 @@ _Suggest the next step the user should tackle based on what's incomplete in the
4529
4540
  description: `${APEX} — One-shot health check of every connected integration (last sync, status). Use before adding a feature that depends on a connector.`,
4530
4541
  schema: z.object({}),
4531
4542
  handler: async () => {
4532
- const connectors = await apiGet("/api/connectors");
4543
+ // GET /api/integrations is the connector LIST. `/api/connectors/*` only
4544
+ // has per-type auth + callback routes, so the old path 404'd and this
4545
+ // tool reported "No connected integrations" for every workspace.
4546
+ const connectors = await apiGet("/api/integrations");
4533
4547
  const list = Array.isArray(connectors) ? connectors : [];
4534
4548
  const connected = list.filter((c) => c.isConnected || c.status === "connected");
4535
4549
  if (connected.length === 0) {
4536
- return { content: [{ type: "text", text: "No connected integrations." }] };
4550
+ // Say which of the two it is. `apiGet` throws on a failed call, so
4551
+ // reaching here means the list really came back and really was empty.
4552
+ return {
4553
+ content: [
4554
+ {
4555
+ type: "text",
4556
+ text: `No connected integrations (the workspace returned ${list.length} available connector${list.length === 1 ? "" : "s"}, none connected).`,
4557
+ },
4558
+ ],
4559
+ };
4537
4560
  }
4538
4561
  const lines = connected.map((c) => `- ${c.name ?? c.type}: ${c.status ?? "connected"}${c.lastSyncAt ? ` (last sync ${c.lastSyncAt})` : ""}`);
4539
4562
  return { content: [{ type: "text", text: `# Integration health\n${lines.join("\n")}` }] };
@@ -4561,20 +4584,35 @@ _Suggest the next step the user should tackle based on what's incomplete in the
4561
4584
  }),
4562
4585
  handler: async (args) => {
4563
4586
  const apexAuthed = Boolean(getActiveWorkspace());
4587
+ /**
4588
+ * "unknown" is a distinct state from false. These checks used to collapse
4589
+ * a failed API call into "not installed", so a 404 (this tool called a
4590
+ * path that never existed until 2026-08-03), an expired key, and a
4591
+ * genuinely uninstalled GitHub App were indistinguishable — and the
4592
+ * agent would tell the developer to install an app they already had.
4593
+ */
4564
4594
  let githubAppInstalled = false;
4565
4595
  let currentRepoWritable = false;
4596
+ const checkErrors = [];
4597
+ const note = (what, err) => checkErrors.push(`${what}: ${err instanceof Error ? err.message : String(err)}`);
4566
4598
  try {
4567
- const connectors = await apiGet("/api/connectors");
4599
+ const connectors = await apiGet("/api/integrations");
4568
4600
  const list = Array.isArray(connectors) ? connectors : [];
4569
4601
  githubAppInstalled = list.some((c) => c.type === "github" && (c.isConnected || c.status === "connected"));
4570
4602
  }
4571
- catch { /* unauth or unreachable */ }
4572
- if (args.repo && githubAppInstalled) {
4603
+ catch (err) {
4604
+ githubAppInstalled = "unknown";
4605
+ note("GitHub App check failed", err);
4606
+ }
4607
+ if (args.repo && githubAppInstalled !== false) {
4573
4608
  try {
4574
4609
  const auto = await apiGet("/api/graduation-pipeline/automation");
4575
4610
  currentRepoWritable = (auto.data?.writeRepos ?? []).includes(args.repo);
4576
4611
  }
4577
- catch { /* ignore */ }
4612
+ catch (err) {
4613
+ currentRepoWritable = "unknown";
4614
+ note("Repo write opt-in check failed", err);
4615
+ }
4578
4616
  }
4579
4617
  const readiness = {
4580
4618
  apexAuthed,
@@ -4582,7 +4620,13 @@ _Suggest the next step the user should tackle based on what's incomplete in the
4582
4620
  currentRepoWritable,
4583
4621
  // The agent verifies these locally (presence of @apex-inc/sdk + repo access).
4584
4622
  sdkInstalled: "check-locally",
4585
- currentRepoAuthorized: githubAppInstalled ? "check-locally" : false,
4623
+ currentRepoAuthorized: githubAppInstalled === false ? false : "check-locally",
4624
+ ...(checkErrors.length > 0
4625
+ ? {
4626
+ checkErrors,
4627
+ guidance: "A check that failed is NOT a check that came back negative. Report the error to the developer and resolve it before telling them anything is missing or unconfigured.",
4628
+ }
4629
+ : {}),
4586
4630
  };
4587
4631
  return { content: [{ type: "text", text: JSON.stringify(readiness, null, 2) }] };
4588
4632
  },