@wootsup/mcp 0.1.0 → 0.4.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.
Files changed (208) hide show
  1. package/CHANGELOG.md +157 -83
  2. package/README.md +31 -27
  3. package/SECURITY.md +15 -6
  4. package/dist/auth/keychain.d.ts +27 -1
  5. package/dist/auth/keychain.js +48 -2
  6. package/dist/auth/keychain.js.map +1 -1
  7. package/dist/catalog/build-catalog.d.ts +31 -0
  8. package/dist/catalog/build-catalog.js +68 -0
  9. package/dist/catalog/build-catalog.js.map +1 -0
  10. package/dist/cli-hint.d.ts +22 -0
  11. package/dist/cli-hint.js +55 -0
  12. package/dist/cli-hint.js.map +1 -0
  13. package/dist/index.js +129 -22
  14. package/dist/index.js.map +1 -1
  15. package/dist/install-skill.js +1 -1
  16. package/dist/modules/apimapper/auto-layout.d.ts +21 -0
  17. package/dist/modules/apimapper/auto-layout.js +54 -0
  18. package/dist/modules/apimapper/auto-layout.js.map +1 -0
  19. package/dist/modules/apimapper/cache.js +25 -17
  20. package/dist/modules/apimapper/cache.js.map +1 -1
  21. package/dist/modules/apimapper/client.d.ts +115 -4
  22. package/dist/modules/apimapper/client.js +699 -304
  23. package/dist/modules/apimapper/client.js.map +1 -1
  24. package/dist/modules/apimapper/connections-format.d.ts +31 -1
  25. package/dist/modules/apimapper/connections-format.js +97 -5
  26. package/dist/modules/apimapper/connections-format.js.map +1 -1
  27. package/dist/modules/apimapper/connections.d.ts +9 -7
  28. package/dist/modules/apimapper/connections.js +449 -127
  29. package/dist/modules/apimapper/connections.js.map +1 -1
  30. package/dist/modules/apimapper/credential-sanitizer.d.ts +5 -0
  31. package/dist/modules/apimapper/credential-sanitizer.js +60 -1
  32. package/dist/modules/apimapper/credential-sanitizer.js.map +1 -1
  33. package/dist/modules/apimapper/credentials.js +105 -61
  34. package/dist/modules/apimapper/credentials.js.map +1 -1
  35. package/dist/modules/apimapper/diagnose.js +21 -2
  36. package/dist/modules/apimapper/diagnose.js.map +1 -1
  37. package/dist/modules/apimapper/elicitation.d.ts +29 -0
  38. package/dist/modules/apimapper/elicitation.js +62 -0
  39. package/dist/modules/apimapper/elicitation.js.map +1 -1
  40. package/dist/modules/apimapper/example-extract.d.ts +13 -0
  41. package/dist/modules/apimapper/example-extract.js +111 -0
  42. package/dist/modules/apimapper/example-extract.js.map +1 -0
  43. package/dist/modules/apimapper/filter-operators.d.ts +24 -0
  44. package/dist/modules/apimapper/filter-operators.js +103 -0
  45. package/dist/modules/apimapper/filter-operators.js.map +1 -0
  46. package/dist/modules/apimapper/flows-format.js +92 -22
  47. package/dist/modules/apimapper/flows-format.js.map +1 -1
  48. package/dist/modules/apimapper/flows.d.ts +8 -7
  49. package/dist/modules/apimapper/flows.js +275 -120
  50. package/dist/modules/apimapper/flows.js.map +1 -1
  51. package/dist/modules/apimapper/gateway/advanced-read-tool.d.ts +9 -0
  52. package/dist/modules/apimapper/gateway/advanced-read-tool.js +172 -0
  53. package/dist/modules/apimapper/gateway/advanced-read-tool.js.map +1 -0
  54. package/dist/modules/apimapper/gateway/advanced-tool.js +66 -106
  55. package/dist/modules/apimapper/gateway/advanced-tool.js.map +1 -1
  56. package/dist/modules/apimapper/gateway/collect-module-tools.d.ts +17 -0
  57. package/dist/modules/apimapper/gateway/collect-module-tools.js +44 -0
  58. package/dist/modules/apimapper/gateway/collect-module-tools.js.map +1 -0
  59. package/dist/modules/apimapper/gateway/essentials.d.ts +1 -1
  60. package/dist/modules/apimapper/gateway/essentials.js +21 -2
  61. package/dist/modules/apimapper/gateway/essentials.js.map +1 -1
  62. package/dist/modules/apimapper/gateway/gateway-shared.d.ts +21 -0
  63. package/dist/modules/apimapper/gateway/gateway-shared.js +124 -0
  64. package/dist/modules/apimapper/gateway/gateway-shared.js.map +1 -0
  65. package/dist/modules/apimapper/gateway/test-support.d.ts +1 -17
  66. package/dist/modules/apimapper/gateway/test-support.js +4 -33
  67. package/dist/modules/apimapper/gateway/test-support.js.map +1 -1
  68. package/dist/modules/apimapper/get-skill-cores.d.ts +4 -0
  69. package/dist/modules/apimapper/get-skill-cores.js +220 -0
  70. package/dist/modules/apimapper/get-skill-cores.js.map +1 -0
  71. package/dist/modules/apimapper/get-skill.d.ts +1 -1
  72. package/dist/modules/apimapper/get-skill.js +74 -9
  73. package/dist/modules/apimapper/get-skill.js.map +1 -1
  74. package/dist/modules/apimapper/graph-builder.d.ts +85 -2
  75. package/dist/modules/apimapper/graph-builder.js +151 -15
  76. package/dist/modules/apimapper/graph-builder.js.map +1 -1
  77. package/dist/modules/apimapper/graph.js +152 -48
  78. package/dist/modules/apimapper/graph.js.map +1 -1
  79. package/dist/modules/apimapper/index.js +27 -13
  80. package/dist/modules/apimapper/index.js.map +1 -1
  81. package/dist/modules/apimapper/jmespath-test.d.ts +4 -0
  82. package/dist/modules/apimapper/jmespath-test.js +152 -0
  83. package/dist/modules/apimapper/jmespath-test.js.map +1 -0
  84. package/dist/modules/apimapper/library.js +553 -88
  85. package/dist/modules/apimapper/library.js.map +1 -1
  86. package/dist/modules/apimapper/license.js +12 -36
  87. package/dist/modules/apimapper/license.js.map +1 -1
  88. package/dist/modules/apimapper/list-footer.d.ts +27 -0
  89. package/dist/modules/apimapper/list-footer.js +57 -0
  90. package/dist/modules/apimapper/list-footer.js.map +1 -0
  91. package/dist/modules/apimapper/local-sources.js +100 -57
  92. package/dist/modules/apimapper/local-sources.js.map +1 -1
  93. package/dist/modules/apimapper/mcp-client-identity.d.ts +32 -0
  94. package/dist/modules/apimapper/mcp-client-identity.js +70 -0
  95. package/dist/modules/apimapper/mcp-client-identity.js.map +1 -0
  96. package/dist/modules/apimapper/merge-constants.d.ts +6 -0
  97. package/dist/modules/apimapper/merge-constants.js +26 -0
  98. package/dist/modules/apimapper/merge-constants.js.map +1 -0
  99. package/dist/modules/apimapper/misc.js +13 -27
  100. package/dist/modules/apimapper/misc.js.map +1 -1
  101. package/dist/modules/apimapper/node-schema.d.ts +52 -2
  102. package/dist/modules/apimapper/node-schema.js +95 -4
  103. package/dist/modules/apimapper/node-schema.js.map +1 -1
  104. package/dist/modules/apimapper/onboarding.d.ts +59 -1
  105. package/dist/modules/apimapper/onboarding.js +231 -28
  106. package/dist/modules/apimapper/onboarding.js.map +1 -1
  107. package/dist/modules/apimapper/read-cache.d.ts +16 -3
  108. package/dist/modules/apimapper/read-cache.js +59 -4
  109. package/dist/modules/apimapper/read-cache.js.map +1 -1
  110. package/dist/modules/apimapper/render/index.js +26 -5
  111. package/dist/modules/apimapper/render/index.js.map +1 -1
  112. package/dist/modules/apimapper/resource-id.d.ts +13 -0
  113. package/dist/modules/apimapper/resource-id.js +69 -0
  114. package/dist/modules/apimapper/resource-id.js.map +1 -0
  115. package/dist/modules/apimapper/schema.js +9 -18
  116. package/dist/modules/apimapper/schema.js.map +1 -1
  117. package/dist/modules/apimapper/settings.js +49 -52
  118. package/dist/modules/apimapper/settings.js.map +1 -1
  119. package/dist/modules/apimapper/sites-tools.d.ts +29 -0
  120. package/dist/modules/apimapper/sites-tools.js +165 -0
  121. package/dist/modules/apimapper/sites-tools.js.map +1 -0
  122. package/dist/modules/apimapper/tool-result.d.ts +66 -0
  123. package/dist/modules/apimapper/tool-result.js +125 -0
  124. package/dist/modules/apimapper/tool-result.js.map +1 -0
  125. package/dist/modules/apimapper/toolslist-size.d.ts +12 -11
  126. package/dist/modules/apimapper/toolslist-size.js +34 -21
  127. package/dist/modules/apimapper/toolslist-size.js.map +1 -1
  128. package/dist/modules/apimapper/types.d.ts +34 -0
  129. package/dist/modules/apimapper/types.js +1 -1
  130. package/dist/modules/apimapper/types.js.map +1 -1
  131. package/dist/modules/apimapper/whitelist-drift.d.ts +85 -0
  132. package/dist/modules/apimapper/whitelist-drift.js +375 -0
  133. package/dist/modules/apimapper/whitelist-drift.js.map +1 -0
  134. package/dist/modules/apimapper/workflows.js +302 -58
  135. package/dist/modules/apimapper/workflows.js.map +1 -1
  136. package/dist/modules/apimapper/yootheme-binding.d.ts +35 -0
  137. package/dist/modules/apimapper/yootheme-binding.js +267 -0
  138. package/dist/modules/apimapper/yootheme-binding.js.map +1 -0
  139. package/dist/platform/index.d.ts +56 -0
  140. package/dist/platform/index.js +158 -2
  141. package/dist/platform/index.js.map +1 -1
  142. package/dist/proxy/bridge.d.ts +35 -0
  143. package/dist/proxy/bridge.js +129 -0
  144. package/dist/proxy/bridge.js.map +1 -0
  145. package/dist/proxy/mode.d.ts +9 -0
  146. package/dist/proxy/mode.js +20 -0
  147. package/dist/proxy/mode.js.map +1 -0
  148. package/dist/setup/detect-clients.d.ts +40 -1
  149. package/dist/setup/detect-clients.js +148 -1
  150. package/dist/setup/detect-clients.js.map +1 -1
  151. package/dist/setup/probe-auth.d.ts +51 -0
  152. package/dist/setup/probe-auth.js +141 -0
  153. package/dist/setup/probe-auth.js.map +1 -0
  154. package/dist/setup/probe-handshake.js +40 -7
  155. package/dist/setup/probe-handshake.js.map +1 -1
  156. package/dist/setup/remove-config.d.ts +8 -0
  157. package/dist/setup/remove-config.js +145 -0
  158. package/dist/setup/remove-config.js.map +1 -0
  159. package/dist/setup/uninstall.d.ts +34 -0
  160. package/dist/setup/uninstall.js +147 -0
  161. package/dist/setup/uninstall.js.map +1 -0
  162. package/dist/setup-cli.d.ts +16 -0
  163. package/dist/setup-cli.js +63 -1
  164. package/dist/setup-cli.js.map +1 -1
  165. package/dist/sites/loader.d.ts +48 -0
  166. package/dist/sites/loader.js +134 -0
  167. package/dist/sites/loader.js.map +1 -0
  168. package/dist/sites/schema.d.ts +69 -0
  169. package/dist/sites/schema.js +71 -0
  170. package/dist/sites/schema.js.map +1 -0
  171. package/dist/sites/secret-resolver.d.ts +47 -0
  172. package/dist/sites/secret-resolver.js +150 -0
  173. package/dist/sites/secret-resolver.js.map +1 -0
  174. package/dist/skill-instructions.d.ts +14 -1
  175. package/dist/skill-instructions.js +35 -6
  176. package/dist/skill-instructions.js.map +1 -1
  177. package/dist/transports/stdio.js +4 -4
  178. package/dist/transports/stdio.js.map +1 -1
  179. package/dist/uninstall-skill.d.ts +27 -0
  180. package/dist/uninstall-skill.js +89 -0
  181. package/dist/uninstall-skill.js.map +1 -0
  182. package/docs/architecture.md +21 -21
  183. package/docs/customgraph-internal-migration.md +4 -4
  184. package/docs/security.md +2 -21
  185. package/docs/tools.md +40 -12
  186. package/manifest.json +77 -79
  187. package/package.json +69 -65
  188. package/skills/apimapper/SKILL.md +128 -7
  189. package/skills/apimapper/reference/conditional-style-multi-items.md +114 -0
  190. package/skills/apimapper/reference/dynamize-existing-layout.md +158 -0
  191. package/skills/apimapper/reference/jmespath-cookbook.md +241 -0
  192. package/skills/apimapper/reference/jmespath-pitfalls.md +189 -0
  193. package/skills/apimapper/reference/joomla.md +1 -1
  194. package/skills/apimapper/reference/library-template-discovery.md +65 -0
  195. package/skills/apimapper/reference/merge-two-sources-on-key.md +204 -0
  196. package/skills/apimapper/reference/oauth.md +143 -52
  197. package/skills/apimapper/reference/troubleshooting.md +22 -2
  198. package/skills/apimapper/reference/yootheme-source-to-builder-handoff.md +348 -0
  199. package/skills/apimapper/reference/yootheme.md +75 -44
  200. package/dist/auth/oauth-provider.d.ts +0 -68
  201. package/dist/auth/oauth-provider.js +0 -232
  202. package/dist/auth/oauth-provider.js.map +0 -1
  203. package/dist/server-http.d.ts +0 -22
  204. package/dist/server-http.js +0 -159
  205. package/dist/server-http.js.map +0 -1
  206. package/dist/transports/http.d.ts +0 -29
  207. package/dist/transports/http.js +0 -267
  208. package/dist/transports/http.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import type { ToolRegistrar } from "./gateway/capturing-server.js";
2
2
  import { type StructuredCallToolResult } from "@getimo/mcp-toolkit";
3
- import type { Connection, Flow, LibraryItem, LicenseStatus } from "./types.js";
3
+ import type { Connection, Flow, LibraryItem, LicenseStatus, Credential } from "./types.js";
4
4
  export type SuggestionType = "activate-template" | "publish-flow" | "reconnect-oauth";
5
5
  export interface OnboardingSuggestion {
6
6
  type: SuggestionType;
@@ -54,7 +54,65 @@ export interface OnboardingReport {
54
54
  };
55
55
  suggestions: OnboardingSuggestion[];
56
56
  errors: OnboardingSubError[];
57
+ /**
58
+ * F136 (Welle 2, 2026-06-11) — set ONLY when every core sub-call failed
59
+ * with an auth error (wrong/expired bearer key). When present, the agent
60
+ * must read this as "the MCP key is broken" — NOT "fresh empty install" —
61
+ * and follow `suggestion` (the canonical key-rotation recipe). Absent on a
62
+ * genuinely empty-but-authenticated install and on partial failures.
63
+ */
64
+ auth_error?: {
65
+ /** How many core sub-calls failed with an auth error. */
66
+ count: number;
67
+ /** Human-readable summary the AI can echo to the user. */
68
+ message: string;
69
+ /** The actionable MCP-key recovery recipe (`hintFor('auth')`). */
70
+ suggestion: string;
71
+ };
57
72
  }
73
+ /**
74
+ * Wave-12 F1 (2026-05-31) — decide whether an OAuth credential is *actually*
75
+ * expired in a way that requires the customer to reconnect. This mirrors the
76
+ * canonical PHP-side check in
77
+ * `src/modules/core/src/Credential/CredentialRepository::calculateStatus`.
78
+ *
79
+ * Cold-AI #6 hit a wasted tool-call: `apimapper_onboarding` suggested
80
+ * "Reconnect Google Sheets" for a credential whose access token had expired,
81
+ * BUT whose refresh-token would auto-renew it on next use. The previous
82
+ * heuristic only checked `oauth_token_expires_at < now`, so Google/GitHub
83
+ * (refresh-token providers) were chronically flagged as expired.
84
+ *
85
+ * Canonical precedence:
86
+ *
87
+ * 1. **`status` field (preferred).** PHP `/credentials` computes this with
88
+ * full knowledge of the refresh-token state. Only `'expired'` means a
89
+ * reconnect is required. `'broken'` is a separate UX (Remove & Reconnect)
90
+ * and intentionally NOT covered by this reconnect-oauth suggestion.
91
+ * 2. **`token_hard_expires_at` (legacy + cross-check).** Server emits this
92
+ * ONLY for credentials WITHOUT a refresh-token (e.g. Meta/Instagram).
93
+ * Present + in the past → truly expired. Null/absent → refreshable
94
+ * access-token, do NOT suggest reconnect.
95
+ * 3. **Last-resort fallback.** Pre-status response shape with only
96
+ * `oauth_token_expires_at`: if it's in the past AND no field signals
97
+ * refreshability, suggest reconnect. This preserves the pre-F1 behaviour
98
+ * for older server builds and conservative defaults (a true expiry is
99
+ * better surfaced as a false-positive than silently swallowed).
100
+ */
101
+ export declare function isOAuthCredentialExpired(credential: Credential, nowMs?: number): boolean;
102
+ /**
103
+ * C10 (2026-06-10) — choose the draft flow to suggest publishing.
104
+ *
105
+ * Pre-C10 the picker took the first draft in array order, which was usually a
106
+ * synthetic "E2E Export …" import (those land first / dominate on test-heavy
107
+ * installs). Heuristic, in preference order:
108
+ * 1. a `source === "user"` flow whose name is NOT an E2E-Export import;
109
+ * 2. any non-E2E-Export draft (regardless of source);
110
+ * 3. the first draft (last-resort — better to suggest publishing SOMETHING
111
+ * than nothing when every draft is a junk import).
112
+ *
113
+ * Pure + total: returns undefined only for an empty list.
114
+ */
115
+ export declare function pickFriendlyDraft(drafts: Flow[]): Flow | undefined;
58
116
  /**
59
117
  * Pure function — given aggregated state, derive a small list of
60
118
  * suggested next actions. Empty list if nothing useful to suggest.
@@ -24,8 +24,14 @@
24
24
  // key-value rendering is a token win on the #1 baseline payload.
25
25
  // `buildOnboardingReport` itself is unchanged: it stays a pure data
26
26
  // assembler so its callers and pin-tests are untouched.
27
- import { detailResult, readOnly, } from "@getimo/mcp-toolkit";
28
- import { request, WP_BASE } from "./client.js";
27
+ import { detailResult, errorResult, readOnly, } from "@getimo/mcp-toolkit";
28
+ import { request, WP_BASE, hintFor } from "./client.js";
29
+ // C10 (2026-06-10) — the /flows wire shape often omits the `is_compiled`
30
+ // boolean and carries `compiledAt` / `compiled[]` instead. isFlowCompiled()
31
+ // is the canonical derivation (shared with flow_list display + filtering);
32
+ // onboarding MUST use it so "Flows published: 0" stops appearing while
33
+ // compiled flows exist.
34
+ import { isFlowCompiled } from "./flows-format.js";
29
35
  // F-LS-04 (live-smoke 2026-05-20) — the PHP /connections endpoint emits
30
36
  // camelCase keys (authType, credentialId). The onboarding allConns list +
31
37
  // the expired-OAuth filter both read snake_case (auth_type, credential_id).
@@ -36,19 +42,100 @@ async function safeRequest(tool, path) {
36
42
  try {
37
43
  const r = await request(path);
38
44
  if (!r.success) {
39
- return { tool, data: null, error: r.error || "request failed" };
45
+ return {
46
+ tool,
47
+ data: null,
48
+ error: r.error || "request failed",
49
+ errorCode: r.errorCode ?? null,
50
+ };
40
51
  }
41
- return { tool, data: (r.data ?? null), error: null };
52
+ return { tool, data: (r.data ?? null), error: null, errorCode: null };
42
53
  }
43
54
  catch (e) {
55
+ // A thrown error never reached the HTTP layer → treat as network.
44
56
  return {
45
57
  tool,
46
58
  data: null,
47
59
  error: e instanceof Error ? e.message : String(e),
60
+ errorCode: "network",
48
61
  };
49
62
  }
50
63
  }
64
+ // ── Token-validity check (Wave-12 F1, Cold-AI #6) ──────────────────────
65
+ /**
66
+ * Wave-12 F1 (2026-05-31) — decide whether an OAuth credential is *actually*
67
+ * expired in a way that requires the customer to reconnect. This mirrors the
68
+ * canonical PHP-side check in
69
+ * `src/modules/core/src/Credential/CredentialRepository::calculateStatus`.
70
+ *
71
+ * Cold-AI #6 hit a wasted tool-call: `apimapper_onboarding` suggested
72
+ * "Reconnect Google Sheets" for a credential whose access token had expired,
73
+ * BUT whose refresh-token would auto-renew it on next use. The previous
74
+ * heuristic only checked `oauth_token_expires_at < now`, so Google/GitHub
75
+ * (refresh-token providers) were chronically flagged as expired.
76
+ *
77
+ * Canonical precedence:
78
+ *
79
+ * 1. **`status` field (preferred).** PHP `/credentials` computes this with
80
+ * full knowledge of the refresh-token state. Only `'expired'` means a
81
+ * reconnect is required. `'broken'` is a separate UX (Remove & Reconnect)
82
+ * and intentionally NOT covered by this reconnect-oauth suggestion.
83
+ * 2. **`token_hard_expires_at` (legacy + cross-check).** Server emits this
84
+ * ONLY for credentials WITHOUT a refresh-token (e.g. Meta/Instagram).
85
+ * Present + in the past → truly expired. Null/absent → refreshable
86
+ * access-token, do NOT suggest reconnect.
87
+ * 3. **Last-resort fallback.** Pre-status response shape with only
88
+ * `oauth_token_expires_at`: if it's in the past AND no field signals
89
+ * refreshability, suggest reconnect. This preserves the pre-F1 behaviour
90
+ * for older server builds and conservative defaults (a true expiry is
91
+ * better surfaced as a false-positive than silently swallowed).
92
+ */
93
+ export function isOAuthCredentialExpired(credential, nowMs = Date.now()) {
94
+ // (1) Canonical `status` wins when present.
95
+ const status = typeof credential.status === "string" ? credential.status.toLowerCase() : null;
96
+ if (status) {
97
+ return status === "expired";
98
+ }
99
+ // (2) Hard-expiry field present? It's only set for non-refreshable tokens.
100
+ // `token_hard_expires_at === null` (explicit) signals refreshable → not expired.
101
+ if ("token_hard_expires_at" in credential) {
102
+ const hard = credential.token_hard_expires_at;
103
+ if (hard === null || hard === undefined || hard === "") {
104
+ return false; // refreshable token, server explicitly cleared the hard-expiry
105
+ }
106
+ const t = Date.parse(hard);
107
+ return Number.isFinite(t) && t < nowMs;
108
+ }
109
+ // (3) Last-resort fallback for pre-status server builds.
110
+ if (!credential.oauth_token_expires_at)
111
+ return false;
112
+ const t = Date.parse(credential.oauth_token_expires_at);
113
+ return Number.isFinite(t) && t < nowMs;
114
+ }
51
115
  // ── Suggestion rules ───────────────────────────────────────────────────
116
+ /** Synthetic test/import flows the next-step picker should avoid suggesting. */
117
+ const JUNK_FLOW_NAME = /^E2E Export/i;
118
+ /**
119
+ * C10 (2026-06-10) — choose the draft flow to suggest publishing.
120
+ *
121
+ * Pre-C10 the picker took the first draft in array order, which was usually a
122
+ * synthetic "E2E Export …" import (those land first / dominate on test-heavy
123
+ * installs). Heuristic, in preference order:
124
+ * 1. a `source === "user"` flow whose name is NOT an E2E-Export import;
125
+ * 2. any non-E2E-Export draft (regardless of source);
126
+ * 3. the first draft (last-resort — better to suggest publishing SOMETHING
127
+ * than nothing when every draft is a junk import).
128
+ *
129
+ * Pure + total: returns undefined only for an empty list.
130
+ */
131
+ export function pickFriendlyDraft(drafts) {
132
+ if (drafts.length === 0)
133
+ return undefined;
134
+ const notJunk = (f) => !JUNK_FLOW_NAME.test(f.name ?? "");
135
+ return (drafts.find((f) => f.source === "user" && notJunk(f)) ??
136
+ drafts.find(notJunk) ??
137
+ drafts[0]);
138
+ }
52
139
  /**
53
140
  * Pure function — given aggregated state, derive a small list of
54
141
  * suggested next actions. Empty list if nothing useful to suggest.
@@ -65,8 +152,15 @@ export function deriveSuggestions(args) {
65
152
  });
66
153
  }
67
154
  // Rule 2: 1+ flows created but 0 published → publish-flow.
68
- const draftFlow = args.flows.find((f) => !f.is_compiled);
69
- const anyPublished = args.flows.some((f) => f.is_compiled);
155
+ // C10 (2026-06-10) two fixes:
156
+ // (a) compile-state via the canonical isFlowCompiled() derivation (the raw
157
+ // `is_compiled` boolean is frequently absent on the wire).
158
+ // (b) pick a FRIENDLY draft, not whatever lands first in array order.
159
+ // Synthetic "E2E Export …" imports flooded the suggestion; prefer a
160
+ // source=user flow with a real name and skip /^E2E Export/.
161
+ const anyPublished = args.flows.some((f) => isFlowCompiled(f));
162
+ const drafts = args.flows.filter((f) => !isFlowCompiled(f));
163
+ const draftFlow = pickFriendlyDraft(drafts);
70
164
  if (draftFlow && !anyPublished) {
71
165
  out.push({
72
166
  type: "publish-flow",
@@ -75,12 +169,17 @@ export function deriveSuggestions(args) {
75
169
  });
76
170
  }
77
171
  // Rule 3: any connection whose oauth credential has expired → reconnect-oauth.
172
+ // F135 (Welle 2, 2026-06-11): the action MUST be apimapper_oauth_authorize_begin,
173
+ // not apimapper_credential_link. credential_link (a) requires a connection_id
174
+ // this suggestion never carries → guaranteed schema-validation failure, and
175
+ // (b) only re-links an already-expired credential → the source stays empty.
176
+ // authorize_begin re-authorises in place and preserves the refresh_token.
78
177
  for (const c of args.connections) {
79
178
  if (c.credential_id && args.expiredOauthCredentialIds.has(c.credential_id)) {
80
179
  out.push({
81
180
  type: "reconnect-oauth",
82
181
  label: `Reconnect "${c.name}" — OAuth credential expired`,
83
- action: `apimapper_credential_link credential_id=${c.credential_id}`,
182
+ action: `apimapper_oauth_authorize_begin credential_id=${c.credential_id}`,
84
183
  });
85
184
  }
86
185
  }
@@ -149,7 +248,13 @@ export async function buildOnboardingReport() {
149
248
  // unauthenticated probe answers — so the call is safe to fire on
150
249
  // every onboarding. A failure here drops us back to the legacy URL
151
250
  // heuristic via `detectPlatform()`.
152
- const [identity, license, connections, flows, popular, featured, categories] = await Promise.allSettled([
251
+ // WP↔Joomla parity fix (2026-06-07) added /library/catalog to the parallel
252
+ // batch. On a Joomla fresh install /library/categories often rejects and
253
+ // /library/popular is empty, which previously collapsed total_count to 0
254
+ // ("0 templates" in the briefing despite a full catalogue). The catalog
255
+ // endpoint carries the authoritative total, so the count cascade can fall
256
+ // back to it before degrading to the featured/popular list length.
257
+ const [identity, license, connections, flows, popular, featured, categories, catalog] = await Promise.allSettled([
153
258
  safeRequest("apimapper_identity", "/identity"),
154
259
  safeRequest("apimapper_license_status", "/license"),
155
260
  safeRequest("apimapper_connection_list", "/connections"),
@@ -157,10 +262,18 @@ export async function buildOnboardingReport() {
157
262
  safeRequest("apimapper_library_popular", "/library/popular?limit=5"),
158
263
  safeRequest("apimapper_library_featured", "/library/featured?limit=5"),
159
264
  safeRequest("apimapper_library_categories", "/library/categories"),
265
+ safeRequest("apimapper_library_catalog", "/library/catalog"),
160
266
  ]);
161
267
  const errors = [];
268
+ // F136 — count the core sub-calls and how many failed with an auth error,
269
+ // so we can detect a blanket auth failure (every core sub-call === 'auth')
270
+ // and short-circuit into one actionable key-rotation error instead of N
271
+ // opaque 401 sub-errors that masquerade as a fresh empty install.
272
+ let coreSubCalls = 0;
273
+ let coreAuthFailures = 0;
162
274
  // Helper that pulls .value from a settled promise + records any error.
163
275
  const take = (s) => {
276
+ coreSubCalls++;
164
277
  if (s.status === "rejected") {
165
278
  // Should not happen — safeRequest swallows. Defensive.
166
279
  errors.push({ tool: "unknown", error: String(s.reason) });
@@ -168,6 +281,8 @@ export async function buildOnboardingReport() {
168
281
  }
169
282
  if (s.value.error) {
170
283
  errors.push({ tool: s.value.tool, error: s.value.error });
284
+ if (s.value.errorCode === "auth")
285
+ coreAuthFailures++;
171
286
  return null;
172
287
  }
173
288
  return s.value.data;
@@ -179,6 +294,7 @@ export async function buildOnboardingReport() {
179
294
  const popularData = take(popular);
180
295
  const featuredData = take(featured);
181
296
  const categoriesData = take(categories);
297
+ const catalogData = take(catalog);
182
298
  // L-4 (W3F-5): canonical platform from /identity if present + valid;
183
299
  // otherwise fall back to the URL-shape heuristic. The result is the
184
300
  // same union the OnboardingReport.site.platform type expects.
@@ -219,9 +335,30 @@ export async function buildOnboardingReport() {
219
335
  const categoryRows = Array.isArray(categoriesData?.categories)
220
336
  ? categoriesData.categories.filter((c) => typeof c?.id === "string" && typeof c?.name === "string" && typeof c?.count === "number")
221
337
  : [];
222
- const libraryTotalCount = categoryRows.length > 0
223
- ? categoryRows.reduce((sum, c) => sum + c.count, 0)
224
- : popItems.length;
338
+ // WP↔Joomla parity fix (2026-06-07) — derive a TRUE catalogue total from the
339
+ // /library/catalog response: the authoritative `total` field if present and
340
+ // positive, else the length of the inner items/connections list (PHP emits
341
+ // `connections`, legacy emits `items`). 0 when the call failed or the
342
+ // catalogue is genuinely empty.
343
+ const catalogItemsLen = Array.isArray(catalogData?.connections)
344
+ ? catalogData.connections.length
345
+ : Array.isArray(catalogData?.items)
346
+ ? catalogData.items.length
347
+ : 0;
348
+ const catalogTotal = typeof catalogData?.total === "number" && Number.isFinite(catalogData.total) && catalogData.total > 0
349
+ ? catalogData.total
350
+ : catalogItemsLen;
351
+ // Count cascade — NEVER read 0 while any source shows templates:
352
+ // 1. categorySum (authoritative when categories load) — wins if > 0
353
+ // 2. catalogTotal (the /library/catalog total) — the Joomla fresh-install
354
+ // rescue, since categories there often reject and popular is empty
355
+ // 3. max(featured, popular) — last-resort floor from the brief lists
356
+ const categorySum = categoryRows.reduce((sum, c) => sum + c.count, 0);
357
+ const libraryTotalCount = categorySum > 0
358
+ ? categorySum
359
+ : catalogTotal && catalogTotal > 0
360
+ ? catalogTotal
361
+ : Math.max(featuredItems.length, popItems.length);
225
362
  // ── Conditional second-stage call: credentials, only if any conn has an oauth creds.
226
363
  const oauthCredIds = allConns
227
364
  .filter((c) => (c.auth_type || "").startsWith("oauth2") && c.credential_id)
@@ -235,24 +372,39 @@ export async function buildOnboardingReport() {
235
372
  else {
236
373
  const creds = Array.isArray(credRes.data?.credentials) ? credRes.data.credentials : [];
237
374
  const now = Date.now();
238
- expiredOauthCredentialIds = new Set(creds
239
- .filter((c) => {
240
- if (!c.oauth_token_expires_at)
241
- return false;
242
- const t = Date.parse(c.oauth_token_expires_at);
243
- return Number.isFinite(t) && t < now;
244
- })
245
- .map((c) => c.id));
375
+ // Wave-12 F1 (Cold-AI #6, 2026-05-31): delegate to the canonical
376
+ // token-validity check that mirrors `CredentialRepository::calculateStatus`.
377
+ // Refresh-token providers (Google, GitHub, ...) report status='active'
378
+ // even when their short-lived access-token's oauth_token_expires_at is
379
+ // in the past — the previous heuristic flagged them as expired, causing
380
+ // a false-positive reconnect-oauth suggestion.
381
+ expiredOauthCredentialIds = new Set(creds.filter((c) => isOAuthCredentialExpired(c, now)).map((c) => c.id));
246
382
  }
247
383
  }
248
- const published = allFlows.filter((f) => f.is_compiled).length;
249
- const draft = allFlows.filter((f) => !f.is_compiled).length;
384
+ // C10 count via the canonical isFlowCompiled() derivation, not the raw
385
+ // (frequently absent) `is_compiled` boolean.
386
+ const published = allFlows.filter((f) => isFlowCompiled(f)).length;
387
+ const draft = allFlows.filter((f) => !isFlowCompiled(f)).length;
250
388
  const suggestions = deriveSuggestions({
251
389
  connections: allConns,
252
390
  flows: allFlows,
253
391
  expiredOauthCredentialIds,
254
392
  popular: popItems,
255
393
  });
394
+ // F136 — blanket-auth short-circuit. When EVERY core sub-call failed with
395
+ // an auth error, the bearer key is wrong/expired — not a fresh empty
396
+ // install. Surface ONE actionable auth_error carrying the MCP-key recovery
397
+ // recipe so the agent rotates the key instead of treating 0/0/0 counts as a
398
+ // clean slate. `coreSubCalls > 0` guards the degenerate (no-call) case.
399
+ const authError = coreSubCalls > 0 && coreAuthFailures === coreSubCalls
400
+ ? {
401
+ count: coreAuthFailures,
402
+ message: "Authentication failed on every onboarding sub-call (HTTP 401/403). " +
403
+ "Your MCP key is wrong, revoked, or expired — this is NOT an empty " +
404
+ "install. The connection/flow/library counts below are unknown, not zero.",
405
+ suggestion: hintFor("auth"),
406
+ }
407
+ : undefined;
256
408
  // License: the raw /license response is
257
409
  // { success, license: { tier, is_valid, expires_at, beta_channel, ... } }
258
410
  // — unwrap one level. F-LS-02 (live-smoke 2026-05-20): previously read
@@ -318,7 +470,9 @@ export async function buildOnboardingReport() {
318
470
  id: f.id,
319
471
  name: f.name,
320
472
  source: f.source,
321
- is_compiled: f.is_compiled,
473
+ // C10 — surface the DERIVED compiled state so a consumer reading the
474
+ // item list agrees with the published/draft counts above.
475
+ is_compiled: isFlowCompiled(f),
322
476
  node_count: f.node_count,
323
477
  })),
324
478
  },
@@ -339,6 +493,7 @@ export async function buildOnboardingReport() {
339
493
  },
340
494
  suggestions,
341
495
  errors,
496
+ ...(authError ? { auth_error: authError } : {}),
342
497
  };
343
498
  }
344
499
  // ── structuredContent builder ──────────────────────────────────────────
@@ -419,6 +574,24 @@ export function buildOnboardingDetail(report) {
419
574
  appendText,
420
575
  });
421
576
  }
577
+ /**
578
+ * F58 — append an actionable truncation marker to `lines` when the embedded
579
+ * item list is shorter than the true total. No-op when nothing is hidden.
580
+ *
581
+ * The onboarding report caps `connections.items` / `flows.items` at 10 for a
582
+ * token budget, but `count` carries the real total. Without an explicit
583
+ * signal, an agent reads the shown lines as exhaustive and never learns the
584
+ * remaining IDs exist. The marker names exactly how many are hidden and the
585
+ * tool that returns the complete set (with every ID).
586
+ */
587
+ function appendTruncationMarker(lines, total, shown, noun, fetchAllTool) {
588
+ const hidden = total - shown;
589
+ if (hidden <= 0)
590
+ return;
591
+ const plural = hidden === 1 ? "" : "s";
592
+ lines.push(` … and ${hidden} more ${noun}${plural} not shown (list capped at ${shown}). ` +
593
+ `Call ${fetchAllTool} for the full set with all IDs.`);
594
+ }
422
595
  /**
423
596
  * W3.1 — assemble the verbose `appendText` block: every nested section the
424
597
  * scalar `groups` cannot carry. Anchored to plain prose + line lists so the
@@ -427,6 +600,12 @@ export function buildOnboardingDetail(report) {
427
600
  */
428
601
  function buildOnboardingAppendText(report) {
429
602
  const lines = [];
603
+ // F136 — when auth failed on every sub-call, lead with the actionable
604
+ // recovery so the agent does not mistake the empty counts for a fresh
605
+ // install and chase a phantom outage.
606
+ if (report.auth_error) {
607
+ lines.push(`⚠ AUTH FAILURE (${report.auth_error.count} sub-calls): ${report.auth_error.message}`, ` → ${report.auth_error.suggestion}`, "");
608
+ }
430
609
  // Connections detail.
431
610
  lines.push(`Connections (${report.connections.count}):`);
432
611
  if (report.connections.items.length === 0) {
@@ -437,6 +616,12 @@ function buildOnboardingAppendText(report) {
437
616
  lines.push(` - ${c.name} [id=${c.id}] source=${c.source ?? "—"} auth=${c.auth_type ?? "none"}` +
438
617
  (c.credential_id ? ` credential=${c.credential_id}` : ""));
439
618
  }
619
+ // F58 — make the embedded-list cap VISIBLE + ACTIONABLE. The items list
620
+ // is capped (token budget) but `count` is the true total; without this
621
+ // marker an agent reads the 10 shown lines as the complete set and never
622
+ // learns the remaining IDs exist. Tell it how many more there are and the
623
+ // exact tool that returns ALL of them.
624
+ appendTruncationMarker(lines, report.connections.count, report.connections.items.length, "connection", "apimapper_connection_list");
440
625
  }
441
626
  // Flows detail.
442
627
  lines.push("", `Flows (${report.flows.count}; ${report.flows.published} published, ${report.flows.draft} draft):`);
@@ -448,6 +633,8 @@ function buildOnboardingAppendText(report) {
448
633
  lines.push(` - ${f.name} [id=${f.id}] source=${f.source ?? "—"} ` +
449
634
  `${f.is_compiled ? "published" : "draft"} nodes=${f.node_count ?? "?"}`);
450
635
  }
636
+ // F58 — same truncation-visibility marker for the flow list.
637
+ appendTruncationMarker(lines, report.flows.count, report.flows.items.length, "flow", "apimapper_flow_list");
451
638
  }
452
639
  // Library catalog detail.
453
640
  lines.push("", `Library: ${report.library.total_count} templates across ${report.library.categories.length} categories.`);
@@ -502,12 +689,28 @@ export function registerOnboardingTool(server) {
502
689
  inputSchema: {},
503
690
  annotations: readOnly({ title: "Onboarding Walkthrough", openWorld: true }),
504
691
  }, async () => {
505
- const report = await buildOnboardingReport();
506
- // W3.1 (rc.13 Welle 3) detailResult: scalar summary in `groups`,
507
- // verbose catalog/suggestion/error detail in `appendText`. The flat
508
- // key-value rendering replaces the pretty-printed JSON dump a token
509
- // win on the largest baseline payload, with nothing lost.
510
- return buildOnboardingDetail(report);
692
+ // DEF-LOW-2 (Wave-B audit, 2026-06-03): buildOnboardingReport is
693
+ // "never-throws by convention" (it tolerates partial sub-call failures
694
+ // and records them in report.errors[]). The SDK catch is the backstop,
695
+ // but a defensive try/catch makes the never-throws contract STRUCTURAL
696
+ // any unexpected throw becomes a minimal structured error instead of a
697
+ // generic SDK isError.
698
+ try {
699
+ const report = await buildOnboardingReport();
700
+ // W3.1 (rc.13 Welle 3) — detailResult: scalar summary in `groups`,
701
+ // verbose catalog/suggestion/error detail in `appendText`. The flat
702
+ // key-value rendering replaces the pretty-printed JSON dump — a token
703
+ // win on the largest baseline payload, with nothing lost.
704
+ return buildOnboardingDetail(report);
705
+ }
706
+ catch (e) {
707
+ return errorResult({
708
+ message: e instanceof Error ? e.message : String(e),
709
+ code: "onboarding_assembler_failed",
710
+ suggestion: "The onboarding report assembler threw unexpectedly. Run " +
711
+ "apimapper_health to check connectivity + auth, then retry.",
712
+ });
713
+ }
511
714
  });
512
715
  }
513
716
  //# sourceMappingURL=onboarding.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/modules/apimapper/onboarding.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../../src/modules/apimapper/onboarding.ts"],"names":[],"mappings":"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"}
@@ -50,9 +50,22 @@ export declare function getCached<T = unknown>(method: string, url: string, opts
50
50
  export declare function setCached<T = unknown>(method: string, url: string, data: T, opts?: CacheKeyOpts): void;
51
51
  /**
52
52
  * Invalidate cache entries whose request path overlaps with the mutated
53
- * resource. Conservative — clears every entry whose key includes the
54
- * given path-substring. e.g. invalidateByPath('/flows') clears
55
- * `/flows`, `/flows?status=published`, `/flows/abc123`.
53
+ * resource — in BOTH directions. Conservative — clears every entry whose
54
+ * cached path contains the mutation path (descendants + query variants,
55
+ * e.g. invalidateByPath('/flows') clears `/flows`, `/flows?status=…`,
56
+ * `/flows/abc123`) AND every entry whose cached path is an ancestor of
57
+ * the mutation path (e.g. POST `/flows/abc/detect-schema` flushes the
58
+ * cached GET `/flows/abc` and `/flows`).
59
+ *
60
+ * The ancestor direction is load-bearing: 2026-06-09 Round-2 live repro —
61
+ * a sub-resource mutation (`/flows/{id}/detect-schema`) persisted the
62
+ * output schema, but the cached parent GET `/flows/{id}` kept serving the
63
+ * pre-schema flow for the full TTL, so binding_for_flow reported
64
+ * fields:[] while the data was already saved.
65
+ *
66
+ * A19: in addition, a mutation may invalidate a DIFFERENT resource family
67
+ * (see CROSS_FAMILY_INVALIDATION) — e.g. an /oauth mutation flushes the
68
+ * cached /credentials list.
56
69
  *
57
70
  * Called automatically from client.ts on POST/PUT/PATCH/DELETE.
58
71
  */