@ratio-mcp/dev-server 1.5.1 → 1.6.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 (76) hide show
  1. package/dist/index.js +0 -0
  2. package/dist/schemas/app-distribution.json +36 -0
  3. package/dist/schemas/customers.json +26 -0
  4. package/dist/schemas/discounts.json +81 -0
  5. package/dist/schemas/draft_orders.json +112 -0
  6. package/dist/schemas/loyalty.json +147 -0
  7. package/dist/schemas/oauth.json +71 -0
  8. package/dist/schemas/orders.json +601 -106
  9. package/dist/schemas/product_reviews.json +45 -0
  10. package/dist/schemas/products.json +405 -122
  11. package/dist/schemas/tags.json +98 -0
  12. package/dist/schemas/variants.json +112 -0
  13. package/dist/schemas/webhooks.json +148 -0
  14. package/dist/server.d.ts.map +1 -1
  15. package/dist/server.js +39 -5
  16. package/dist/server.js.map +1 -1
  17. package/dist/services/app-state-sync.d.ts +34 -0
  18. package/dist/services/app-state-sync.d.ts.map +1 -0
  19. package/dist/services/app-state-sync.js +85 -0
  20. package/dist/services/app-state-sync.js.map +1 -0
  21. package/dist/services/elicitation.d.ts +25 -0
  22. package/dist/services/elicitation.d.ts.map +1 -0
  23. package/dist/services/elicitation.js +101 -0
  24. package/dist/services/elicitation.js.map +1 -0
  25. package/dist/services/flow-profiles.d.ts +46 -0
  26. package/dist/services/flow-profiles.d.ts.map +1 -0
  27. package/dist/services/flow-profiles.js +100 -0
  28. package/dist/services/flow-profiles.js.map +1 -0
  29. package/dist/services/questionnaire.d.ts +89 -0
  30. package/dist/services/questionnaire.d.ts.map +1 -0
  31. package/dist/services/questionnaire.js +167 -0
  32. package/dist/services/questionnaire.js.map +1 -0
  33. package/dist/services/session-state.d.ts +17 -0
  34. package/dist/services/session-state.d.ts.map +1 -1
  35. package/dist/services/session-state.js +26 -1
  36. package/dist/services/session-state.js.map +1 -1
  37. package/dist/services/tool-guard.d.ts +15 -18
  38. package/dist/services/tool-guard.d.ts.map +1 -1
  39. package/dist/services/tool-guard.js +150 -97
  40. package/dist/services/tool-guard.js.map +1 -1
  41. package/dist/tools/app-management.d.ts.map +1 -1
  42. package/dist/tools/app-management.js +181 -33
  43. package/dist/tools/app-management.js.map +1 -1
  44. package/dist/tools/gather-requirements.d.ts.map +1 -1
  45. package/dist/tools/gather-requirements.js +5 -3
  46. package/dist/tools/gather-requirements.js.map +1 -1
  47. package/dist/tools/get-status.d.ts.map +1 -1
  48. package/dist/tools/get-status.js +45 -34
  49. package/dist/tools/get-status.js.map +1 -1
  50. package/dist/tools/index.js +1 -1
  51. package/dist/tools/index.js.map +1 -1
  52. package/dist/tools/lifecycle.d.ts.map +1 -1
  53. package/dist/tools/lifecycle.js +6 -3
  54. package/dist/tools/lifecycle.js.map +1 -1
  55. package/dist/tools/reference-data.d.ts +16 -0
  56. package/dist/tools/reference-data.d.ts.map +1 -1
  57. package/dist/tools/reference-data.js +12 -8
  58. package/dist/tools/reference-data.js.map +1 -1
  59. package/dist/tools/requirements.d.ts.map +1 -1
  60. package/dist/tools/requirements.js +17 -9
  61. package/dist/tools/requirements.js.map +1 -1
  62. package/dist/tools/submission.d.ts.map +1 -1
  63. package/dist/tools/submission.js +50 -13
  64. package/dist/tools/submission.js.map +1 -1
  65. package/dist/tools/webhooks.d.ts.map +1 -1
  66. package/dist/tools/webhooks.js +3 -1
  67. package/dist/tools/webhooks.js.map +1 -1
  68. package/dist/utils/logger.d.ts +3 -2
  69. package/dist/utils/logger.d.ts.map +1 -1
  70. package/dist/utils/logger.js +19 -10
  71. package/dist/utils/logger.js.map +1 -1
  72. package/dist/utils/schema-resources.d.ts +8 -0
  73. package/dist/utils/schema-resources.d.ts.map +1 -0
  74. package/dist/utils/schema-resources.js +25 -0
  75. package/dist/utils/schema-resources.js.map +1 -0
  76. package/package.json +12 -13
@@ -1,46 +1,76 @@
1
1
  import { z } from 'zod';
2
+ import { APP_KINDS } from '@ratio-mcp/shared';
2
3
  import { developerApiRequest } from '../api/developer.js';
3
4
  import { resolveCategoryIdsToUUIDs } from './reference-data.js';
4
- import { getSession } from '../services/session-state.js';
5
+ import { getSession, getPendingAppDraft, setPendingAppDraft, clearPendingAppDraft, } from '../services/session-state.js';
6
+ import { isElicitationSupported } from '../services/elicitation.js';
7
+ import { collectViaElicitation, applyRelayedAnswers, buildFallbackQuestions, outstanding, } from '../services/questionnaire.js';
8
+ import { getFlowProfile, describePipeline, isKindFullySupported } from '../services/flow-profiles.js';
9
+ import { saveRequirements, getRequirements } from '../store/requirements-store.js';
5
10
  import { logger } from '../utils/logger.js';
11
+ function awaitingDeveloperInput(draft, note) {
12
+ return {
13
+ status: 'awaiting_developer_input',
14
+ stage: 'collecting_configuration',
15
+ app_created: false,
16
+ message: (note ? `${note} ` : '') +
17
+ 'The app was NOT created. Ask the developer the questions below VERBATIM and WAIT for their reply — ' +
18
+ 'never answer on their behalf. "assistant_inferred" values are your own earlier guesses; the developer ' +
19
+ 'must explicitly confirm or change them. Then call create_app again with the same name/description ' +
20
+ 'plus the developer\'s answers in app_type / app_kind / merchant_ids / category_ids.',
21
+ questions: buildFallbackQuestions(draft),
22
+ };
23
+ }
6
24
  export const appManagementTools = [
7
25
  {
8
26
  name: 'create_app',
9
27
  description: 'Create a new application in the Ratio Developer Dashboard. Returns app_id, client_id, and client_secret. ' +
28
+ 'The SERVER owns the configuration wizard: distribution type (public/private), app kind, merchant whitelist ' +
29
+ '(private only) and categories are collected FROM THE DEVELOPER — via an interactive form when the client ' +
30
+ 'supports elicitation, otherwise create_app returns status "awaiting_developer_input" with questions you must ' +
31
+ 'relay to the developer verbatim, then call create_app again with their answers. ' +
32
+ 'Values you pass for app_type / app_kind / merchant_ids / category_ids are treated ONLY as suggested defaults ' +
33
+ 'the developer will confirm or change — NEVER as their decision. ' +
10
34
  'PREREQUISITES before calling this tool:\n' +
11
- '1. Call get_categories and let the developer pick categories\n' +
35
+ '1. Call get_categories so the category question can be discussed\n' +
12
36
  '2. Ask the developer: "Do you have a callback URL for OAuth, or should we set one up for you?"\n' +
13
37
  ' - If NO: Call setup_hookdeck first to provision a Hookdeck URL, then use it as redirect_uri\n' +
14
- ' - If YES: Use the developer\'s URL as redirect_uri, skip setup_hookdeck\n' +
15
- 'Only call create_app after both are answered.',
38
+ ' - If YES: Use the developer\'s URL as redirect_uri, skip setup_hookdeck',
16
39
  inputSchema: z.object({
17
40
  name: z.string().min(1).max(100).describe('Application name (required)'),
18
- description: z.string().max(2000).optional().describe('Application description'),
19
- category_ids: z.array(z.string()).min(1).describe('Category slugs CONFIRMED by the developer from get_categories. MUST show categories to developer and get their explicit choice first.'),
20
- categories_confirmed: z.boolean().describe('Set to true ONLY after the developer has explicitly confirmed their category selection. You MUST show categories to the developer first.'),
41
+ description: z.string().min(10).max(5000).describe('Application description. REQUIRED by the backend — must be 10-5000 characters.'),
21
42
  redirect_uri: z.string().optional().describe('OAuth callback URL. ONLY pass if the developer explicitly provided their own URL. If they said they don\'t have one, call setup_hookdeck instead — it auto-fills this.'),
22
43
  callback_confirmed: z.boolean().describe('Set to true ONLY after the developer has explicitly answered whether they have a callback URL or want one set up. You MUST ask the developer first.'),
23
44
  contact_email: z.string().optional().describe('Contact email'),
24
45
  tags: z.array(z.string()).optional().describe('Application tags'),
25
46
  icon: z.string().optional().describe('Icon URL'),
47
+ app_type: z
48
+ .enum(['public', 'private'])
49
+ .optional()
50
+ .describe('"public" = marketplace, any merchant, admin review. "private" = whitelisted merchants only, auto-published. ' +
51
+ 'On the first call this is only a suggested default — the developer confirms it (form or chat). ' +
52
+ 'After create_app returns awaiting_developer_input, pass the developer\'s actual answer here.'),
53
+ merchant_ids: z
54
+ .array(z.string())
55
+ .optional()
56
+ .describe('Merchant IDs to whitelist (private apps, at least one). Suggested default on the first call; the developer\'s relayed answer afterwards.'),
57
+ app_kind: z
58
+ .enum(APP_KINDS)
59
+ .optional()
60
+ .describe('How the app integrates: "embedded" (iframe frontend), "no_ui" (backend-only), "extension" / "web_pixel" / "flow" (creatable, uploads via portal). ' +
61
+ 'On the first call this is only a suggested default — the developer confirms it (form or chat). ' +
62
+ 'After create_app returns awaiting_developer_input, pass the developer\'s actual answer here.'),
63
+ category_ids: z
64
+ .array(z.string())
65
+ .optional()
66
+ .describe('Category slugs from get_categories. Suggested default on the first call; the developer\'s relayed answer afterwards.'),
26
67
  }),
27
68
  handler: async (input) => {
28
69
  const inp = input;
29
70
  logger.info(`Creating application: ${inp.name}`);
30
- // ── Guard: categories must be confirmed by developer ────────────
31
- if (!inp.categories_confirmed) {
32
- logger.warn(`[create_app] BLOCKED: categories not confirmed by developer`);
33
- return {
34
- error: true,
35
- message: 'Categories not confirmed by the developer. You MUST: ' +
36
- '1. Call get_categories to fetch available categories. ' +
37
- '2. Show the list to the developer. ' +
38
- '3. Let the developer choose which categories fit their app. ' +
39
- '4. Call create_app again with categories_confirmed: true and their chosen category_ids.',
40
- required_action: 'Show categories to developer and get their explicit choice.',
41
- };
42
- }
43
71
  // ── Guard: callback URL choice must be confirmed by developer ───
72
+ // (kept as a boolean: resolving "no URL" requires the setup_hookdeck
73
+ // tool, which cannot run from inside this call)
44
74
  if (!inp.callback_confirmed) {
45
75
  logger.warn(`[create_app] BLOCKED: callback URL choice not confirmed by developer`);
46
76
  return {
@@ -52,12 +82,61 @@ export const appManagementTools = [
52
82
  required_action: 'Ask developer about callback URL before proceeding.',
53
83
  };
54
84
  }
55
- // Accept category_ids OR common variants
56
- const rawCategories = (inp.category_ids ?? inp.categories ?? inp.category_slugs ?? inp.categoryIds);
57
- if (!rawCategories || !Array.isArray(rawCategories) || rawCategories.length === 0) {
58
- throw new Error('category_ids is required and must be a non-empty array of category slugs. ' +
59
- 'Call get_categories first to see valid slugs, then provide them as category_ids: ["slug1", "slug2"].');
85
+ // ── Configuration questionnaire the server owns these decisions ──
86
+ // LLM-passed values are only suggested defaults; the developer confirms
87
+ // via elicitation forms or the awaiting_developer_input chat protocol.
88
+ const passed = {};
89
+ if (inp.app_type !== undefined)
90
+ passed.app_type = inp.app_type;
91
+ if (inp.app_kind !== undefined)
92
+ passed.app_kind = inp.app_kind;
93
+ if (inp.merchant_ids !== undefined)
94
+ passed.merchant_ids = inp.merchant_ids;
95
+ const rawCategoryInput = inp.category_ids ?? inp.categories ?? inp.category_slugs ?? inp.categoryIds;
96
+ if (rawCategoryInput !== undefined)
97
+ passed.category_ids = rawCategoryInput;
98
+ let draft = getPendingAppDraft();
99
+ if (!draft && isElicitationSupported()) {
100
+ draft = { confirmedAnswers: {}, inferredAnswers: passed };
101
+ const result = await collectViaElicitation(draft);
102
+ if (result.status !== 'complete') {
103
+ // Keep whatever the human already confirmed; remaining answers
104
+ // arrive via the chat fallback protocol.
105
+ setPendingAppDraft(draft);
106
+ logger.warn(`[create_app] elicitation incomplete (${result.status}) — falling back to chat protocol`);
107
+ if (result.status === 'declined') {
108
+ return awaitingDeveloperInput(draft, 'The developer dismissed the configuration form.');
109
+ }
110
+ if (result.status === 'invalid') {
111
+ return awaitingDeveloperInput(draft, `The "${result.key}" answer was invalid: ${result.error}`);
112
+ }
113
+ return awaitingDeveloperInput(draft);
114
+ }
115
+ setPendingAppDraft(draft);
116
+ }
117
+ else if (!draft) {
118
+ draft = { confirmedAnswers: {}, inferredAnswers: passed };
119
+ setPendingAppDraft(draft);
120
+ logger.info(`[create_app] awaiting developer input (no elicitation support): ${outstanding(draft.confirmedAnswers).map((q) => q.key).join(', ')}`);
121
+ return awaitingDeveloperInput(draft);
122
+ }
123
+ else {
124
+ const { rejected } = await applyRelayedAnswers(draft, passed);
125
+ if (rejected.length > 0) {
126
+ return {
127
+ ...awaitingDeveloperInput(draft, 'Some answers were invalid.'),
128
+ invalid_answers: rejected,
129
+ };
130
+ }
131
+ if (outstanding(draft.confirmedAnswers).length > 0) {
132
+ return awaitingDeveloperInput(draft, 'Some questions are still unanswered.');
133
+ }
60
134
  }
135
+ const answers = draft.confirmedAnswers;
136
+ const appType = answers.app_type;
137
+ const appKind = answers.app_kind;
138
+ const merchantIds = answers.merchant_ids ?? [];
139
+ const rawCategories = answers.category_ids;
61
140
  // Resolve category slugs/names to UUIDs
62
141
  const resolvedCategories = await resolveCategoryIdsToUUIDs(rawCategories);
63
142
  if (resolvedCategories.length === 0) {
@@ -99,9 +178,42 @@ export const appManagementTools = [
99
178
  appData['tags'] = inp.tags;
100
179
  if (inp.icon)
101
180
  appData['icon'] = inp.icon;
181
+ appData['appType'] = appType;
182
+ appData['appKind'] = appKind;
183
+ if (appType === 'private')
184
+ appData['merchantIds'] = merchantIds;
102
185
  const response = await developerApiRequest('POST', '/applications', appData);
186
+ // The draft's job is done — the app exists; its config lives in the
187
+ // requirements store from here on.
188
+ clearPendingAppDraft();
103
189
  const app = response.data;
104
190
  const callbackSource = session.context.hookdeckUrl ? 'Hookdeck' : (session.context.useOwnCallback ? 'developer-provided' : 'localhost default');
191
+ // Persist type/kind so the flow profile survives MCP restarts
192
+ // (define_app_requirements merges into this entry later).
193
+ const existing = getRequirements(app.id);
194
+ saveRequirements(app.id, {
195
+ app_id: app.id,
196
+ app_name: app.name,
197
+ client_id: app.clientId,
198
+ app_type: appType,
199
+ app_kind: appKind,
200
+ scopes: existing?.scopes ?? [],
201
+ data_needs: existing?.data_needs ?? [],
202
+ features: existing?.features ?? [],
203
+ project_path: existing?.project_path,
204
+ created_at: existing?.created_at ?? new Date().toISOString(),
205
+ updated_at: new Date().toISOString(),
206
+ });
207
+ const profile = getFlowProfile(appType, appKind);
208
+ const kindSupported = isKindFullySupported(appKind);
209
+ const nextSteps = [
210
+ 'Save client_id and client_secret securely',
211
+ 'Call gather_requirements to analyze what the developer wants to build',
212
+ 'Call define_app_requirements with scopes',
213
+ ...(kindSupported
214
+ ? describePipeline(profile).map((s) => s.replace(/^\d+\. /, ''))
215
+ : [`Upload builds for "${appKind}" apps via the developer portal (the MCP does not scaffold their manifest/bundle toolchain yet)`]),
216
+ ].map((step, i) => `${i + 1}. ${step}`);
105
217
  return {
106
218
  success: true,
107
219
  message: 'Application created successfully',
@@ -113,20 +225,20 @@ export const appManagementTools = [
113
225
  client_secret: app.clientSecret,
114
226
  status: app.status,
115
227
  redirect_uri: redirectUri,
228
+ app_type: appType,
229
+ app_kind: appKind,
230
+ ...(appType === 'private' ? { whitelisted_merchant_ids: merchantIds } : {}),
116
231
  },
117
232
  callback_info: {
118
233
  url: redirectUri,
119
234
  source: callbackSource,
120
235
  hookdeck_active: !!session.context.hookdeckUrl,
121
236
  },
122
- next_steps: [
123
- '1. Save client_id and client_secret securely',
124
- '2. Call gather_requirements to analyze what the developer wants to build',
125
- '3. Call define_app_requirements with scopes',
126
- '4. Call scaffold_frontend to create the frontend project',
127
- '5. Build, zip, upload, and submit for review',
128
- '6. After admin approval: OAuth → scaffold_backend → generate_api_routes',
129
- ],
237
+ flow_summary: profile.summary,
238
+ ...(kindSupported ? {} : {
239
+ kind_note: `"${appKind}" apps can be managed here (scopes, webhooks, status) but their build upload requires a manifest/bundle zip — use the developer portal for uploads until the MCP supports it.`,
240
+ }),
241
+ next_steps: nextSteps,
130
242
  };
131
243
  },
132
244
  },
@@ -209,5 +321,41 @@ export const appManagementTools = [
209
321
  };
210
322
  },
211
323
  },
324
+ {
325
+ name: 'manage_private_merchants',
326
+ description: 'List, add, or remove whitelisted merchants for a PRIVATE app. ' +
327
+ 'Only meaningful for apps created with app_type: "private" — these are installable only by their whitelisted merchants. ' +
328
+ 'action: "list" (show current whitelist), "add" (whitelist merchant_ids, optional notes), "remove" (un-whitelist a single merchant_id).',
329
+ inputSchema: z.object({
330
+ app_id: z.string().min(1).describe('Application ID (must be a private app)'),
331
+ action: z.enum(['list', 'add', 'remove']).describe('list | add | remove'),
332
+ merchant_ids: z.array(z.string()).optional().describe('Merchant IDs to whitelist. REQUIRED when action is "add".'),
333
+ merchant_id: z.string().optional().describe('Single merchant ID to remove. REQUIRED when action is "remove".'),
334
+ notes: z.string().max(500).optional().describe('Optional note explaining why these merchants are whitelisted (action: "add").'),
335
+ }),
336
+ handler: async (input) => {
337
+ const { app_id, action, merchant_ids, merchant_id, notes } = input;
338
+ if (action === 'list') {
339
+ const response = await developerApiRequest('GET', `/applications/${app_id}/private-merchants`);
340
+ return { success: true, action, app_id, merchants: response.data ?? response };
341
+ }
342
+ if (action === 'add') {
343
+ if (!merchant_ids || merchant_ids.length === 0) {
344
+ return { error: true, message: 'merchant_ids is required (non-empty) for action "add".' };
345
+ }
346
+ const body = { merchantIds: merchant_ids };
347
+ if (notes)
348
+ body['notes'] = notes;
349
+ const response = await developerApiRequest('POST', `/applications/${app_id}/private-merchants`, body);
350
+ return { success: true, action, app_id, added: merchant_ids, result: response.data ?? response };
351
+ }
352
+ // action === 'remove'
353
+ if (!merchant_id) {
354
+ return { error: true, message: 'merchant_id is required for action "remove".' };
355
+ }
356
+ await developerApiRequest('DELETE', `/applications/${app_id}/private-merchants/${merchant_id}`);
357
+ return { success: true, action, app_id, removed: merchant_id };
358
+ },
359
+ },
212
360
  ];
213
361
  //# sourceMappingURL=app-management.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../src/tools/app-management.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-management.js","sourceRoot":"","sources":["../../src/tools/app-management.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gather-requirements.d.ts","sourceRoot":"","sources":["../../src/tools/gather-requirements.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0OjD,eAAO,MAAM,uBAAuB,EAAE,cAAc,EAqFnD,CAAC"}
1
+ {"version":3,"file":"gather-requirements.d.ts","sourceRoot":"","sources":["../../src/tools/gather-requirements.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0OjD,eAAO,MAAM,uBAAuB,EAAE,cAAc,EAsFnD,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { RESOURCE_METADATA, SCOPES_BY_RESOURCE } from '@ratio-mcp/shared';
3
+ import { getCodegenReadyResources } from '../utils/schema-resources.js';
3
4
  import { logger } from '../utils/logger.js';
4
5
  /**
5
6
  * Gather Requirements tool — takes the developer's natural language description
@@ -222,10 +223,11 @@ export const gatherRequirementsTools = [
222
223
  const scoredResources = scoreResources(app_description);
223
224
  const relevantResources = scoredResources.filter((r) => r.score >= 2);
224
225
  const maybeResources = scoredResources.filter((r) => r.score > 0 && r.score < 2);
225
- // Build scope recommendations per resource
226
+ // Build scope recommendations per resource.
227
+ // codegen_ready is DERIVED from schema presence (single source of truth), not a flag.
228
+ const codegenReady = getCodegenReadyResources();
226
229
  const recommendations = relevantResources.map((sr) => {
227
230
  const scopes = SCOPES_BY_RESOURCE[sr.resource] || [];
228
- const meta = RESOURCE_METADATA[sr.resource];
229
231
  // Pick read vs write scopes based on intent
230
232
  const recommendedScopes = scopes
231
233
  .filter((s) => {
@@ -245,7 +247,7 @@ export const gatherRequirementsTools = [
245
247
  return {
246
248
  resource: sr.resource,
247
249
  relevance_score: sr.score,
248
- codegen_ready: meta?.codegen_ready || false,
250
+ codegen_ready: codegenReady.has(sr.resource),
249
251
  matched_keywords: sr.matchedKeywords,
250
252
  recommended_scopes: recommendedScopes,
251
253
  };
@@ -1 +1 @@
1
- {"version":3,"file":"gather-requirements.js","sourceRoot":"","sources":["../../src/tools/gather-requirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gather-requirements.js","sourceRoot":"","sources":["../../src/tools/gather-requirements.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"get-status.d.ts","sourceRoot":"","sources":["../../src/tools/get-status.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA0DjD,eAAO,MAAM,WAAW,EAAE,cAAc,EAyEvC,CAAC"}
1
+ {"version":3,"file":"get-status.d.ts","sourceRoot":"","sources":["../../src/tools/get-status.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA8CjD,eAAO,MAAM,WAAW,EAAE,cAAc,EAoGvC,CAAC"}
@@ -1,6 +1,8 @@
1
1
  import { z } from 'zod';
2
2
  import { getSession, getAppState, getActiveAppId, getAllCompletedTools } from '../services/session-state.js';
3
3
  import { checkToolPrerequisites } from '../services/tool-guard.js';
4
+ import { getAppFacts, effectiveStatus } from '../services/app-state-sync.js';
5
+ import { getFlowProfile, isKindFullySupported } from '../services/flow-profiles.js';
4
6
  import { logger } from '../utils/logger.js';
5
7
  /**
6
8
  * All tools in the system, grouped by purpose.
@@ -25,43 +27,30 @@ const ALL_TOOLS = [
25
27
  // Backend
26
28
  'scaffold_backend', 'generate_api_routes',
27
29
  ];
30
+ /** Setup steps common to every profile (before the pipeline begins) */
31
+ const SETUP_STEPS = ['developer_login', 'create_app', 'gather_requirements', 'define_app_requirements'];
28
32
  /**
29
- * Compute suggested next tool based on what's done and what's available.
30
- * Picks the tool that unblocks the most downstream work.
33
+ * Compute suggested next tool: setup steps first, then the app's profile pipeline.
34
+ * Skipped steps (not applicable for the profile) are passed over silently.
31
35
  */
32
- function computeSuggestedNext(completed) {
33
- // Priority order the main happy path
34
- const HAPPY_PATH = [
35
- 'developer_login',
36
- 'create_app',
37
- 'gather_requirements',
38
- 'define_app_requirements',
39
- 'scaffold_frontend',
40
- 'build_frontend',
41
- 'validate_build',
42
- 'create_submission_zip',
43
- 'upload_build',
44
- 'submit_for_review',
45
- 'get_app_status',
46
- 'publish_app',
47
- 'scaffold_backend',
48
- 'generate_api_routes',
49
- ];
50
- for (const tool of HAPPY_PATH) {
51
- if (!completed.has(tool)) {
52
- const guard = checkToolPrerequisites(tool);
53
- if (guard.allowed)
54
- return tool;
55
- }
36
+ async function computeSuggestedNext(completed, pipelineSteps) {
37
+ for (const tool of [...SETUP_STEPS, ...pipelineSteps]) {
38
+ if (completed.has(tool))
39
+ continue;
40
+ const guard = await checkToolPrerequisites(tool);
41
+ if (guard.allowed)
42
+ return tool;
43
+ // skipped steps don't count as pending work — keep scanning
56
44
  }
57
45
  return undefined;
58
46
  }
59
47
  export const statusTools = [
60
48
  {
61
49
  name: 'get_status',
62
- description: 'Returns the current session status: authenticated developer, active app, completed tools, ' +
63
- 'available tools (unblocked), blocked tools (with reasons), and a suggested next step. ' +
64
- 'Call this tool to orient yourself before taking any action. ' +
50
+ description: 'Returns the current session status: authenticated developer, active app (with its LIVE platform status, ' +
51
+ 'app_type and app_kind), the flow pipeline for this app, completed tools, available tools, ' +
52
+ 'blocked tools (with reasons), skipped tools (not applicable for this app kind/type), and a suggested next step. ' +
53
+ 'Call this tool to orient yourself before taking any action, or when resuming a conversation. ' +
65
54
  'This is a read-only tool with no prerequisites — it can be called at any time.',
66
55
  inputSchema: z.object({
67
56
  app_id: z.string().optional().describe('Optional app ID to check status for. If omitted, uses the currently active app.'),
@@ -71,26 +60,35 @@ export const statusTools = [
71
60
  const session = getSession();
72
61
  const targetAppId = app_id || getActiveAppId();
73
62
  logger.info(`[get_status] Checking status for app_id=${targetAppId || 'none'}`);
63
+ // Hydrate live app facts from the platform (survives MCP restarts,
64
+ // catches private auto-publish and admin approvals done outside this session)
65
+ const facts = targetAppId ? await getAppFacts(targetAppId) : undefined;
66
+ const profile = facts ? getFlowProfile(facts.appType, facts.appKind) : undefined;
74
67
  // Build completed set (global + app-specific)
75
68
  const completedGlobal = new Set(session.completedTools);
76
69
  const appState = targetAppId ? getAppState(targetAppId) : undefined;
77
70
  const completedAll = new Set(getAllCompletedTools());
78
- // Compute available and blocked tools
71
+ // Compute available / blocked / skipped tools
79
72
  const available = [];
80
73
  const blocked = {};
74
+ const skippedTools = {};
81
75
  for (const tool of ALL_TOOLS) {
82
76
  if (completedAll.has(tool))
83
77
  continue; // Already done
84
- const guard = checkToolPrerequisites(tool);
78
+ const guard = await checkToolPrerequisites(tool);
85
79
  if (guard.allowed) {
86
80
  available.push(tool);
87
81
  }
82
+ else if (guard.skipped) {
83
+ skippedTools[tool] = guard.message || 'Not applicable for this app';
84
+ }
88
85
  else {
89
86
  blocked[tool] = guard.hint || guard.message || 'Prerequisites not met';
90
87
  }
91
88
  }
92
- const suggestedNext = computeSuggestedNext(completedAll);
89
+ const suggestedNext = await computeSuggestedNext(completedAll, profile ? [...profile.steps] : []);
93
90
  const confirmedScopes = appState?.context.confirmedScopes || session.context.confirmedScopes;
91
+ const liveStatus = facts ? effectiveStatus(facts) : undefined;
94
92
  return {
95
93
  authenticated: completedGlobal.has('developer_login') || completedGlobal.has('developer_verify_otp'),
96
94
  developer_id: session.context.developerId || null,
@@ -98,17 +96,30 @@ export const statusTools = [
98
96
  app_id: targetAppId,
99
97
  name: appState?.context.appName || session.context.appName || null,
100
98
  client_id: appState?.context.clientId || session.context.clientId || null,
99
+ app_type: facts?.appType || appState?.context.appType || null,
100
+ app_kind: facts?.appKind || appState?.context.appKind || null,
101
+ platform_status: liveStatus || null,
102
+ status_source: facts?.source || null,
101
103
  scopes_confirmed: appState?.context.scopesConfirmed || false,
102
104
  confirmed_scopes: appState?.context.confirmedScopes || [],
103
105
  webhooks_configured: appState?.context.webhooksConfigured || false,
104
- app_approved: appState?.context.appApproved || false,
105
- app_published: appState?.context.appPublished || false,
106
+ app_approved: liveStatus === 'approved' || liveStatus === 'published' || appState?.context.appApproved || false,
107
+ app_published: liveStatus === 'published' || appState?.context.appPublished || false,
106
108
  project_path: appState?.context.projectPath || session.context.projectPath || null,
107
109
  completed_tools: appState ? [...appState.completedTools] : [],
108
110
  } : null,
111
+ flow: profile ? {
112
+ summary: profile.summary,
113
+ pipeline: profile.steps.map((step) => ({
114
+ step,
115
+ done: completedAll.has(step),
116
+ })),
117
+ kind_fully_supported: isKindFullySupported(facts?.appKind),
118
+ } : null,
109
119
  completed: [...completedAll],
110
120
  available_now: available,
111
121
  blocked,
122
+ skipped: Object.keys(skippedTools).length > 0 ? skippedTools : undefined,
112
123
  suggested_next: suggestedNext || null,
113
124
  // Hint for webhook setup if scopes confirmed but webhooks not configured
114
125
  webhook_hint: (confirmedScopes && confirmedScopes.length > 0 && !appState?.context.webhooksConfigured)
@@ -1 +1 @@
1
- {"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../src/tools/get-status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-status.js","sourceRoot":"","sources":["../../src/tools/get-status.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export const allDevTools = [
21
21
  ...developerAuthTools, // 3 tools
22
22
  ...referenceDataTools, // 1 tool (get_categories — call before create_app)
23
23
  ...hookdeckTools, // 1 tool (setup_hookdeck — optional, before create_app)
24
- ...appManagementTools, // 5 tools
24
+ ...appManagementTools, // 6 tools (incl. manage_private_merchants)
25
25
  ...gatherRequirementsTools, // 1 tool (gather_requirements — NL → scope recommendations)
26
26
  ...requirementsTools, // 2 tools (define_app_requirements, validate_scopes)
27
27
  ...scaffoldTools, // 2 tools
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAYA,yBAAyB;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,kBAAkB,EAAK,oDAAoD;IAC9E,GAAG,aAAa,EAAU,yDAAyD;IACnF,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,uBAAuB,EAAE,6DAA6D;IACzF,GAAG,iBAAiB,EAAM,qDAAqD;IAC/E,GAAG,aAAa,EAAU,UAAU;IACpC,GAAG,SAAS,EAAc,mJAAmJ;IAC7K,GAAG,YAAY,EAAW,SAAS;IACnC,GAAG,UAAU,EAAa,UAAU;IACpC,GAAG,eAAe,EAAQ,UAAU;IACpC,GAAG,YAAY,EAAW,+FAA+F;IACzH,GAAG,cAAc,EAAS,SAAS;IACnC,GAAG,WAAW,EAAY,4DAA4D;CACvF,CAAC;AACF,kBAAkB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAYA,yBAAyB;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,kBAAkB,EAAK,oDAAoD;IAC9E,GAAG,aAAa,EAAU,yDAAyD;IACnF,GAAG,kBAAkB,EAAK,2CAA2C;IACrE,GAAG,uBAAuB,EAAE,6DAA6D;IACzF,GAAG,iBAAiB,EAAM,qDAAqD;IAC/E,GAAG,aAAa,EAAU,UAAU;IACpC,GAAG,SAAS,EAAc,mJAAmJ;IAC7K,GAAG,YAAY,EAAW,SAAS;IACnC,GAAG,UAAU,EAAa,UAAU;IACpC,GAAG,eAAe,EAAQ,UAAU;IACpC,GAAG,YAAY,EAAW,+FAA+F;IACzH,GAAG,cAAc,EAAS,SAAS;IACnC,GAAG,WAAW,EAAY,4DAA4D;CACvF,CAAC;AACF,kBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA4FjD,eAAO,MAAM,cAAc,EAAE,cAAc,EA4B1C,CAAC"}
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA+FjD,eAAO,MAAM,cAAc,EAAE,cAAc,EA4B1C,CAAC"}