@ratio-mcp/dev-server 1.3.0 → 1.4.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.
Files changed (80) hide show
  1. package/dist/index.js +0 -0
  2. package/dist/services/session-state.d.ts +14 -0
  3. package/dist/services/session-state.d.ts.map +1 -1
  4. package/dist/services/session-state.js +21 -1
  5. package/dist/services/session-state.js.map +1 -1
  6. package/dist/services/tool-guard.d.ts.map +1 -1
  7. package/dist/services/tool-guard.js +14 -17
  8. package/dist/services/tool-guard.js.map +1 -1
  9. package/dist/templates/backend/.env.example +3 -0
  10. package/dist/templates/backend/package.json +2 -1
  11. package/dist/templates/backend/src/app.module.ts +2 -0
  12. package/dist/templates/backend/src/oauth/oauth-callback.controller.ts +62 -0
  13. package/dist/templates/backend/src/oauth/oauth-callback.module.ts +10 -0
  14. package/dist/templates/backend/src/oauth/oauth-callback.service.ts +158 -0
  15. package/dist/templates/frontend/README.md +16 -0
  16. package/dist/templates/frontend/eslint.config.js +29 -0
  17. package/dist/templates/frontend/index.html +4 -4
  18. package/dist/templates/frontend/jsconfig.json +22 -0
  19. package/dist/templates/frontend/package.json +14 -11
  20. package/dist/templates/frontend/public/favicon.svg +1 -0
  21. package/dist/templates/frontend/public/icons.svg +24 -0
  22. package/dist/templates/frontend/src/App.css +184 -0
  23. package/dist/templates/frontend/src/App.jsx +121 -0
  24. package/dist/templates/frontend/src/assets/hero.png +0 -0
  25. package/dist/templates/frontend/src/assets/react.svg +1 -0
  26. package/dist/templates/frontend/src/assets/vite.svg +1 -0
  27. package/dist/templates/frontend/src/index.css +94 -31
  28. package/dist/templates/frontend/src/main.jsx +10 -0
  29. package/dist/templates/frontend/vite.config.js +19 -0
  30. package/dist/tools/app-management.d.ts.map +1 -1
  31. package/dist/tools/app-management.js +73 -13
  32. package/dist/tools/app-management.js.map +1 -1
  33. package/dist/tools/auth.d.ts.map +1 -1
  34. package/dist/tools/auth.js +15 -3
  35. package/dist/tools/auth.js.map +1 -1
  36. package/dist/tools/codegen.d.ts.map +1 -1
  37. package/dist/tools/codegen.js +111 -13
  38. package/dist/tools/codegen.js.map +1 -1
  39. package/dist/tools/gather-requirements.d.ts.map +1 -1
  40. package/dist/tools/gather-requirements.js +19 -19
  41. package/dist/tools/gather-requirements.js.map +1 -1
  42. package/dist/tools/get-status.d.ts.map +1 -1
  43. package/dist/tools/get-status.js +0 -5
  44. package/dist/tools/get-status.js.map +1 -1
  45. package/dist/tools/hookdeck.d.ts +3 -0
  46. package/dist/tools/hookdeck.d.ts.map +1 -0
  47. package/dist/tools/hookdeck.js +101 -0
  48. package/dist/tools/hookdeck.js.map +1 -0
  49. package/dist/tools/index.d.ts.map +1 -1
  50. package/dist/tools/index.js +5 -3
  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 +21 -10
  54. package/dist/tools/lifecycle.js.map +1 -1
  55. package/dist/tools/reference-data.d.ts.map +1 -1
  56. package/dist/tools/reference-data.js +6 -4
  57. package/dist/tools/reference-data.js.map +1 -1
  58. package/dist/tools/requirements.d.ts.map +1 -1
  59. package/dist/tools/requirements.js +43 -1
  60. package/dist/tools/requirements.js.map +1 -1
  61. package/dist/tools/scaffold.d.ts.map +1 -1
  62. package/dist/tools/scaffold.js +23 -14
  63. package/dist/tools/scaffold.js.map +1 -1
  64. package/dist/tools/submission.d.ts.map +1 -1
  65. package/dist/tools/submission.js +33 -18
  66. package/dist/tools/submission.js.map +1 -1
  67. package/dist/tools/webhooks.d.ts.map +1 -1
  68. package/dist/tools/webhooks.js +30 -6
  69. package/dist/tools/webhooks.js.map +1 -1
  70. package/package.json +15 -16
  71. package/dist/templates/frontend/src/App.tsx +0 -32
  72. package/dist/templates/frontend/src/components/Layout.tsx +0 -53
  73. package/dist/templates/frontend/src/context/AuthContext.tsx +0 -59
  74. package/dist/templates/frontend/src/main.tsx +0 -16
  75. package/dist/templates/frontend/src/pages/Callback.tsx +0 -53
  76. package/dist/templates/frontend/src/pages/Dashboard.tsx +0 -24
  77. package/dist/templates/frontend/src/pages/Login.tsx +0 -42
  78. package/dist/templates/frontend/src/services/api.ts +0 -48
  79. package/dist/templates/frontend/tsconfig.json +0 -21
  80. package/dist/templates/frontend/vite.config.ts +0 -15
@@ -1,6 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { developerApiRequest } from '../api/developer.js';
3
3
  import { resolveCategoryIdsToUUIDs } from './reference-data.js';
4
+ import { getSession } from '../services/session-state.js';
4
5
  import { logger } from '../utils/logger.js';
5
6
  export const appManagementTools = [
6
7
  {
@@ -8,13 +9,17 @@ export const appManagementTools = [
8
9
  description: 'Create a new application in the Ratio Developer Dashboard. Returns app_id, client_id, and client_secret. ' +
9
10
  'PREREQUISITES before calling this tool:\n' +
10
11
  '1. Call get_categories and let the developer pick categories\n' +
11
- '2. Ask the developer: "Do you have a callback URL for OAuth, or should I use localhost?"\n' +
12
+ '2. Ask the developer: "Do you have a callback URL for OAuth, or should we set one up for you?"\n' +
13
+ ' - 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' +
12
15
  'Only call create_app after both are answered.',
13
16
  inputSchema: z.object({
14
17
  name: z.string().min(1).max(100).describe('Application name (required)'),
15
18
  description: z.string().max(2000).optional().describe('Application description'),
16
- category_ids: z.array(z.string()).min(1).describe('Category slugs from get_categories (e.g. ["analytics", "marketing"]). MUST call get_categories first to get valid slugs.'),
17
- redirect_uri: z.string().default('http://localhost:3000/callback').describe('OAuth callback URL. MUST ask the developer before defaulting. Use http://localhost:3000/callback only if the developer has no preference.'),
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.'),
21
+ 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
+ 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.'),
18
23
  contact_email: z.string().optional().describe('Contact email'),
19
24
  tags: z.array(z.string()).optional().describe('Application tags'),
20
25
  icon: z.string().optional().describe('Icon URL'),
@@ -22,25 +27,72 @@ export const appManagementTools = [
22
27
  handler: async (input) => {
23
28
  const inp = input;
24
29
  logger.info(`Creating application: ${inp.name}`);
25
- // Accept category_ids OR common variants (LLM may send different field names).
26
- // Primary normalization happens in agent_chat's normalizeToolInput(), but this
27
- // fallback covers direct tool calls outside the agent_chat flow.
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
+ // ── Guard: callback URL choice must be confirmed by developer ───
44
+ if (!inp.callback_confirmed) {
45
+ logger.warn(`[create_app] BLOCKED: callback URL choice not confirmed by developer`);
46
+ return {
47
+ error: true,
48
+ message: 'Callback URL not confirmed by the developer. You MUST ask: ' +
49
+ '"Do you have a callback URL for OAuth, or should we set one up for you?" ' +
50
+ '- If they DON\'T have one: call setup_hookdeck first, then retry with callback_confirmed: true. ' +
51
+ '- If they DO have one: pass their URL as redirect_uri with callback_confirmed: true.',
52
+ required_action: 'Ask developer about callback URL before proceeding.',
53
+ };
54
+ }
55
+ // Accept category_ids OR common variants
28
56
  const rawCategories = (inp.category_ids ?? inp.categories ?? inp.category_slugs ?? inp.categoryIds);
29
57
  if (!rawCategories || !Array.isArray(rawCategories) || rawCategories.length === 0) {
30
58
  throw new Error('category_ids is required and must be a non-empty array of category slugs. ' +
31
59
  'Call get_categories first to see valid slugs, then provide them as category_ids: ["slug1", "slug2"].');
32
60
  }
33
- // Resolve category slugs/names to UUIDs (same as update_app)
61
+ // Resolve category slugs/names to UUIDs
34
62
  const resolvedCategories = await resolveCategoryIdsToUUIDs(rawCategories);
35
63
  if (resolvedCategories.length === 0) {
36
64
  throw new Error(`None of the provided categories could be resolved: [${rawCategories.join(', ')}]. ` +
37
65
  'Call get_categories first to see valid category slugs.');
38
66
  }
67
+ // Resolve redirect_uri: developer's URL > Hookdeck URL > block
68
+ const session = getSession();
69
+ let redirectUri = inp.redirect_uri;
70
+ if (!redirectUri && session.context.callbackUrl) {
71
+ redirectUri = session.context.callbackUrl;
72
+ logger.info(`[create_app] Auto-filled redirect_uri from Hookdeck: ${redirectUri}`);
73
+ }
74
+ if (!redirectUri || redirectUri === 'http://localhost:3000/callback') {
75
+ if (!session.context.hookdeckUrl && !session.context.useOwnCallback) {
76
+ logger.warn(`[create_app] BLOCKED: No callback URL configured despite callback_confirmed=true`);
77
+ return {
78
+ error: true,
79
+ message: 'No callback URL available. If the developer doesn\'t have one, call setup_hookdeck first to provision a Hookdeck URL.',
80
+ hint: 'Call setup_hookdeck, then retry create_app.',
81
+ };
82
+ }
83
+ }
84
+ // Track callback source
85
+ if (inp.redirect_uri && !session.context.hookdeckUrl) {
86
+ session.context.useOwnCallback = true;
87
+ session.context.callbackUrl = inp.redirect_uri;
88
+ }
89
+ session.context.callbackConfirmed = true;
90
+ session.context.categoriesConfirmed = true;
91
+ session.context.confirmedCategories = rawCategories;
39
92
  const appData = { name: inp.name, categoryIds: resolvedCategories };
40
93
  if (inp.description)
41
94
  appData['description'] = inp.description;
42
- if (inp.redirect_uri)
43
- appData['redirectUri'] = inp.redirect_uri;
95
+ appData['redirectUri'] = redirectUri;
44
96
  if (inp.contact_email)
45
97
  appData['contactEmail'] = inp.contact_email;
46
98
  if (inp.tags)
@@ -49,6 +101,7 @@ export const appManagementTools = [
49
101
  appData['icon'] = inp.icon;
50
102
  const response = await developerApiRequest('POST', '/applications', appData);
51
103
  const app = response.data;
104
+ const callbackSource = session.context.hookdeckUrl ? 'Hookdeck' : (session.context.useOwnCallback ? 'developer-provided' : 'localhost default');
52
105
  return {
53
106
  success: true,
54
107
  message: 'Application created successfully',
@@ -59,13 +112,20 @@ export const appManagementTools = [
59
112
  client_id: app.clientId,
60
113
  client_secret: app.clientSecret,
61
114
  status: app.status,
115
+ redirect_uri: redirectUri,
116
+ },
117
+ callback_info: {
118
+ url: redirectUri,
119
+ source: callbackSource,
120
+ hookdeck_active: !!session.context.hookdeckUrl,
62
121
  },
63
122
  next_steps: [
64
123
  '1. Save client_id and client_secret securely',
65
- '2. Call define_app_requirements with scopes',
66
- '3. Call scaffold_frontend to create the frontend project',
67
- '4. Build, zip, upload, and submit for review',
68
- '5. After admin approval: OAuth scaffold_backend → generate_api_routes',
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',
69
129
  ],
70
130
  };
71
131
  },
@@ -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":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOjD,eAAO,MAAM,SAAS,EAAE,cAAc,EAiNrC,CAAC"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAyJjD,eAAO,MAAM,SAAS,EAAE,cAAc,EA6ErC,CAAC"}
@@ -10,7 +10,10 @@ const DEBUG_LOG = path.join(os.homedir(), 'Desktop', 'ratio-debug.log');
10
10
  function debugLog(msg) {
11
11
  fs.appendFileSync(DEBUG_LOG, `[${new Date().toISOString()}] ${msg}\n`);
12
12
  }
13
- export const authTools = [
13
+ // OAuth is now handled by the merchant install callback flow:
14
+ // Merchant clicks Install → code sent to callback URL → backend exchanges for token
15
+ // These tools are kept for reference but removed from the active tool list.
16
+ const _deprecatedOAuthTools = [
14
17
  {
15
18
  name: 'request_auth_code',
16
19
  description: 'Request an authorization code for app installation (OAuth Step 1). App must be PUBLISHED first. ' +
@@ -135,6 +138,9 @@ export const authTools = [
135
138
  };
136
139
  },
137
140
  },
141
+ ];
142
+ // Active tools: token management (refresh + check status)
143
+ export const authTools = [
138
144
  {
139
145
  name: 'refresh_access_token',
140
146
  description: 'Refresh an expired access token using the refresh token.',
@@ -175,7 +181,9 @@ export const authTools = [
175
181
  },
176
182
  {
177
183
  name: 'check_token_status',
178
- description: 'Check the current access token status for a given client_id.',
184
+ description: 'Check the current access token status for a given client_id. ' +
185
+ 'NOTE: Tokens are received AUTOMATICALLY when merchants install your app via the /callback endpoint. ' +
186
+ 'Do NOT attempt to manually initiate OAuth — just scaffold the backend and wait for merchant installs.',
179
187
  inputSchema: z.object({
180
188
  client_id: z.string().min(1).describe('Client ID to check token for'),
181
189
  }),
@@ -183,7 +191,11 @@ export const authTools = [
183
191
  const { client_id } = input;
184
192
  const token = getToken(client_id);
185
193
  if (!token) {
186
- return { status: 'not_found', message: `No token found for client_id: ${client_id}` };
194
+ return {
195
+ status: 'no_token_yet',
196
+ message: `No merchant has installed this app yet. Tokens arrive automatically when a merchant installs the app — the /callback endpoint handles the OAuth exchange. Do NOT manually initiate OAuth. Proceed to scaffold_backend if not done already.`,
197
+ next_step: 'scaffold_backend',
198
+ };
187
199
  }
188
200
  const expired = isTokenExpired(token);
189
201
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkbjD,eAAO,MAAM,YAAY,EAAE,cAAc,EAkKxC,CAAC"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgbjD,eAAO,MAAM,YAAY,EAAE,cAAc,EA4PxC,CAAC"}
@@ -3,6 +3,7 @@ import { existsSync } from 'fs';
3
3
  import { mkdir, writeFile, readFile } from 'fs/promises';
4
4
  import { join } from 'path';
5
5
  import { homedir } from 'os';
6
+ import { execSync, spawn } from 'child_process';
6
7
  import { getRequirements } from '../store/requirements-store.js';
7
8
  import { getSession } from '../services/session-state.js';
8
9
  import { logger } from '../utils/logger.js';
@@ -53,18 +54,16 @@ function generateServiceCode(resource, endpoints) {
53
54
  lines.push(`@Injectable()`);
54
55
  lines.push(`export class ${className} {`);
55
56
  lines.push(` private readonly apiBaseUrl: string;`);
56
- lines.push(` private readonly accessToken: string;`);
57
- lines.push(` private readonly merchantId: string;`);
58
57
  lines.push('');
59
58
  lines.push(` constructor(private configService: ConfigService) {`);
60
59
  lines.push(` this.apiBaseUrl = this.configService.get<string>('RATIO_API_BASE_URL');`);
61
- lines.push(` this.accessToken = this.configService.get<string>('RATIO_ACCESS_TOKEN', '');`);
62
- lines.push(` this.merchantId = this.configService.get<string>('RATIO_MERCHANT_ID', '');`);
63
60
  lines.push(` }`);
64
61
  lines.push('');
65
62
  lines.push(` private getHeaders(extra?: Record<string, string>) {`);
63
+ lines.push(` // Read token from process.env on each request — updated live by /callback handler`);
64
+ lines.push(` const accessToken = process.env.RATIO_ACCESS_TOKEN || '';`);
66
65
  lines.push(` return {`);
67
- lines.push(` Authorization: \`Bearer \${this.accessToken}\`,`);
66
+ lines.push(` Authorization: \`Bearer \${accessToken}\`,`);
68
67
  lines.push(` 'Content-Type': 'application/json',`);
69
68
  lines.push(` ...extra,`);
70
69
  lines.push(` };`);
@@ -361,7 +360,7 @@ export class WebhookController {
361
360
  * Webhook receiver endpoint.
362
361
  * Verifies HMAC-SHA256 signature and routes to event handlers.
363
362
  */
364
- @Post('incoming')
363
+ @Post()
365
364
  @HttpCode(HttpStatus.OK)
366
365
  async handleWebhook(
367
366
  @Headers('x-ratio-hmac-sha256') signature: string,
@@ -518,10 +517,91 @@ export const codegenTools = [
518
517
  }
519
518
  }
520
519
  logger.info(`[generate_api_routes] ══ DONE ══ Generated ${generatedModules.length} modules: [${generatedModules.join(', ')}], errors: ${allErrors.length > 0 ? JSON.stringify(allErrors) : 'none'}`);
520
+ // ── Auto-start backend ───────────────────────────────────────────
521
+ const backendDir = join(projectPath, 'backend');
522
+ let serverStarted = false;
523
+ let startError;
524
+ const port = process.env.PORT || '3000';
525
+ const useHookdeck = !!session.context.hookdeckUrl && !session.context.useOwnCallback;
526
+ const hookdeckSourceName = session.context.hookdeckSourceName;
527
+ try {
528
+ // Kill any existing process on the target port
529
+ try {
530
+ const existingPid = execSync(`lsof -ti :${port}`, { stdio: 'pipe', timeout: 5000 }).toString().trim();
531
+ if (existingPid) {
532
+ const pids = existingPid.split('\n').filter(Boolean);
533
+ logger.info(`[generate_api_routes] Killing existing processes on port ${port}: [${pids.join(', ')}]`);
534
+ for (const pid of pids) {
535
+ try {
536
+ execSync(`kill -9 ${pid}`, { stdio: 'pipe', timeout: 3000 });
537
+ }
538
+ catch { }
539
+ }
540
+ // Also kill any orphaned hookdeck/concurrently processes from previous runs
541
+ try {
542
+ execSync(`pkill -f "hookdeck listen ${port}" 2>/dev/null || true`, { stdio: 'pipe', timeout: 3000 });
543
+ }
544
+ catch { }
545
+ try {
546
+ execSync(`pkill -f "concurrently.*nest.*hookdeck" 2>/dev/null || true`, { stdio: 'pipe', timeout: 3000 });
547
+ }
548
+ catch { }
549
+ // Brief pause to let port release
550
+ execSync('sleep 1', { stdio: 'pipe' });
551
+ logger.info(`[generate_api_routes] Port ${port} cleared`);
552
+ }
553
+ }
554
+ catch {
555
+ // No process on port — good
556
+ logger.info(`[generate_api_routes] Port ${port} is available`);
557
+ }
558
+ // Run npm install
559
+ logger.info(`[generate_api_routes] Running npm install in ${backendDir}...`);
560
+ execSync('npm install', { cwd: backendDir, stdio: 'pipe', timeout: 120000 });
561
+ logger.info(`[generate_api_routes] npm install completed`);
562
+ // Start NestJS server in background
563
+ logger.info(`[generate_api_routes] Starting NestJS server on port ${port}...`);
564
+ const serverChild = spawn('npm', ['run', 'dev'], {
565
+ cwd: backendDir,
566
+ detached: true,
567
+ stdio: 'ignore',
568
+ env: { ...process.env, PORT: port },
569
+ });
570
+ serverChild.unref();
571
+ serverStarted = true;
572
+ logger.info(`[generate_api_routes] NestJS server started (pid=${serverChild.pid})`);
573
+ // Authenticate Hookdeck CLI (non-interactive, one-shot — this works without TTY)
574
+ if (useHookdeck && hookdeckSourceName) {
575
+ try {
576
+ const configPath = join(homedir(), '.ratio-v2', 'config.json');
577
+ let apiKey = '';
578
+ if (existsSync(configPath)) {
579
+ try {
580
+ apiKey = JSON.parse(readFileSync(configPath, 'utf-8'))?.hookdeck?.apiKey || '';
581
+ }
582
+ catch { }
583
+ }
584
+ if (apiKey) {
585
+ execSync(`hookdeck ci --api-key ${apiKey}`, { stdio: 'pipe', timeout: 10000 });
586
+ logger.info(`[generate_api_routes] Hookdeck CLI authenticated for source: ${hookdeckSourceName}`);
587
+ }
588
+ }
589
+ catch (hookdeckErr) {
590
+ logger.warn(`[generate_api_routes] Hookdeck CLI auth failed: ${hookdeckErr.message}`);
591
+ }
592
+ }
593
+ }
594
+ catch (err) {
595
+ startError = err.message;
596
+ logger.error(`[generate_api_routes] Failed to auto-start backend: ${startError}`);
597
+ }
598
+ const callbackUrl = session.context.callbackUrl || session.context.hookdeckUrl || 'http://localhost:3000/callback';
599
+ const hookdeckCommand = (useHookdeck && hookdeckSourceName) ? `hookdeck listen ${port} ${hookdeckSourceName}` : null;
521
600
  return {
522
601
  success: true,
523
602
  message: `Generated ${generatedModules.length} resource module(s)` +
524
- (webhookGenerated ? ' (including webhook handler with HMAC-SHA256 verification)' : ''),
603
+ (webhookGenerated ? ' (including webhook handler with HMAC-SHA256 verification)' : '') +
604
+ (serverStarted ? '. Backend server started.' : ''),
525
605
  generated_modules: generatedModules.map((mod) => ({
526
606
  resource: mod,
527
607
  files: mod === 'webhook'
@@ -529,14 +609,32 @@ export const codegenTools = [
529
609
  : [`${mod}/${mod}.service.ts`, `${mod}/${mod}.controller.ts`, `${mod}/${mod}.module.ts`],
530
610
  })),
531
611
  webhook_handler_generated: webhookGenerated,
612
+ backend_status: {
613
+ server_running: serverStarted,
614
+ callback_url: callbackUrl,
615
+ start_error: startError,
616
+ },
532
617
  errors: allErrors.length > 0 ? allErrors : undefined,
533
618
  warning: 'DO NOT modify the generated code. Use validate_api_code (docs-server) to verify correctness before making any changes.',
534
- doc_hint: 'Call validate_api_code to check the generated code against the actual API schema.',
535
- next_steps: [
536
- `1. cd ${projectPath}/backend && npm install && npm run start:dev`,
537
- '2. Test endpoints with curl or Postman',
538
- webhookGenerated ? '3. Configure your webhook URL in the app dashboard to point to POST /webhooks/incoming' : '',
539
- ].filter(Boolean),
619
+ hookdeck_tunnel_command: hookdeckCommand,
620
+ _instruction: hookdeckCommand
621
+ ? 'IMPORTANT: Tell the developer to run the following command in their terminal to activate the OAuth callback tunnel. ' +
622
+ 'Without this, merchants cannot install the app. The command is: ' + hookdeckCommand + ' . ' +
623
+ 'Once they run it, merchants can install the app from the store and the access token will appear in the backend console.'
624
+ : undefined,
625
+ next_steps: serverStarted
626
+ ? [
627
+ `Backend is running on localhost:${port}`,
628
+ hookdeckCommand
629
+ ? `IMPORTANT: Run this command in your terminal to activate the OAuth tunnel: ${hookdeckCommand}`
630
+ : `Using callback URL: ${callbackUrl}`,
631
+ 'When merchants install your app, the access token and merchant ID will be displayed in your backend console and stored in merchant-tokens.json',
632
+ webhookGenerated ? 'Webhook handler available at POST /webhooks' : '',
633
+ ].filter(Boolean)
634
+ : [
635
+ `Auto-start failed: ${startError}`,
636
+ `Manually run: cd ${backendDir} && npm install && npm run dev`,
637
+ ],
540
638
  };
541
639
  },
542
640
  },
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/tools/codegen.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;AA2OjD,eAAO,MAAM,uBAAuB,EAAE,cAAc,EAoFnD,CAAC"}
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"}
@@ -11,7 +11,7 @@ import { logger } from '../utils/logger.js';
11
11
  *
12
12
  * How it works:
13
13
  * 1. Tokenizes the developer's description into keywords
14
- * 2. Matches against resource metadata (descriptions, example_app_types, use_cases)
14
+ * 2. Matches against resource metadata (descriptions, example_app_types) and resource names
15
15
  * 3. Scores each resource by relevance
16
16
  * 4. Returns recommended scopes grouped by resource with reasoning
17
17
  * 5. The LLM reviews and picks the final scopes to pass to define_app_requirements
@@ -147,20 +147,19 @@ function scoreResources(description) {
147
147
  }
148
148
  }
149
149
  }
150
- // 3. Match against scope use_cases
151
- for (const [resource, scopes] of Object.entries(SCOPES_BY_RESOURCE)) {
152
- const entry = resourceScores.get(resource);
153
- if (!entry)
154
- continue;
155
- for (const scope of scopes) {
156
- const useCaseText = (scope.use_cases || []).join(' ').toLowerCase();
157
- const descText = (scope.description || '').toLowerCase();
158
- const combined = `${useCaseText} ${descText}`;
159
- for (const term of tokens) {
160
- if (combined.includes(term)) {
161
- entry.score += 0.5;
162
- entry.keywords.add(term);
163
- }
150
+ // 3. Match against resource name directly (covers all 78 resources, not just ones with metadata)
151
+ for (const [resource] of Object.entries(SCOPES_BY_RESOURCE)) {
152
+ let entry = resourceScores.get(resource);
153
+ if (!entry) {
154
+ entry = { score: 0, keywords: new Set(), writeHits: 0, readHits: 0 };
155
+ resourceScores.set(resource, entry);
156
+ }
157
+ // Match tokens against resource name parts (e.g. "gift_cards" matches "gift" and "cards")
158
+ const resourceParts = resource.split('_');
159
+ for (const term of tokens) {
160
+ if (resourceParts.includes(term) || resource.includes(term)) {
161
+ entry.score += 2;
162
+ entry.keywords.add(term);
164
163
  }
165
164
  }
166
165
  }
@@ -241,7 +240,6 @@ export const gatherRequirementsTools = [
241
240
  .map((s) => ({
242
241
  code: s.code,
243
242
  label: s.label,
244
- description: s.description.split('.')[0] + '.', // First sentence only
245
243
  why: `Matched keywords: ${sr.matchedKeywords.join(', ')}`,
246
244
  }));
247
245
  return {
@@ -267,10 +265,12 @@ export const gatherRequirementsTools = [
267
265
  reason: `Low match (score ${r.score}) — keywords: ${r.matchedKeywords.join(', ')}`,
268
266
  }))
269
267
  : undefined,
270
- _instruction: 'Present the recommendations to the developer clearly:\n' +
271
- '1. Show each resource with its recommended scopes and WHY they were matched\n' +
268
+ _instruction: 'BEFORE presenting scopes to the developer, you MUST call validate_scopes with your final list of scope codes. ' +
269
+ 'This is mandatory do NOT skip this step. Only show scopes that validate_scopes returns as "valid".\n\n' +
270
+ 'After validation:\n' +
271
+ '1. Show ONLY the validated scopes grouped by resource\n' +
272
272
  '2. Highlight which resources have codegen_ready=true (backend code will be auto-generated)\n' +
273
- '3. If there are "maybe relevant" resources, mention them briefly\n' +
273
+ '3. Do NOT add, invent, or suggest any scope that was not in the validated list\n' +
274
274
  '4. Ask the developer: "Does this look right? Want to add or remove anything?"\n' +
275
275
  '5. Once approved, call define_app_requirements with the final scope codes and confirmed=false for preview\n' +
276
276
  '6. After preview approval, call define_app_requirements again with confirmed=true',