@ratio-mcp/dev-server 1.0.1 → 1.1.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 (83) hide show
  1. package/dist/index.d.ts +9 -0
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +41 -9
  4. package/dist/index.js.map +1 -1
  5. package/dist/orchestrated-index.d.ts +16 -0
  6. package/dist/orchestrated-index.d.ts.map +1 -0
  7. package/dist/orchestrated-index.js +41 -0
  8. package/dist/orchestrated-index.js.map +1 -0
  9. package/dist/orchestrated-server.d.ts +16 -0
  10. package/dist/orchestrated-server.d.ts.map +1 -0
  11. package/dist/orchestrated-server.js +63 -0
  12. package/dist/orchestrated-server.js.map +1 -0
  13. package/dist/server.d.ts.map +1 -1
  14. package/dist/server.js +26 -0
  15. package/dist/server.js.map +1 -1
  16. package/dist/services/orchestrator.d.ts +63 -0
  17. package/dist/services/orchestrator.d.ts.map +1 -0
  18. package/dist/services/orchestrator.js +769 -0
  19. package/dist/services/orchestrator.js.map +1 -0
  20. package/dist/services/response-formatter.d.ts +24 -0
  21. package/dist/services/response-formatter.d.ts.map +1 -0
  22. package/dist/services/response-formatter.js +311 -0
  23. package/dist/services/response-formatter.js.map +1 -0
  24. package/dist/services/session-state.d.ts +51 -0
  25. package/dist/services/session-state.d.ts.map +1 -0
  26. package/dist/services/session-state.js +248 -0
  27. package/dist/services/session-state.js.map +1 -0
  28. package/dist/services/tool-guard.d.ts +20 -0
  29. package/dist/services/tool-guard.d.ts.map +1 -0
  30. package/dist/services/tool-guard.js +164 -0
  31. package/dist/services/tool-guard.js.map +1 -0
  32. package/dist/store/requirements-store.d.ts.map +1 -1
  33. package/dist/store/requirements-store.js +16 -3
  34. package/dist/store/requirements-store.js.map +1 -1
  35. package/dist/store/token-store.d.ts.map +1 -1
  36. package/dist/store/token-store.js +8 -2
  37. package/dist/store/token-store.js.map +1 -1
  38. package/dist/templates/backend/.env.example +3 -1
  39. package/dist/tools/agent-chat.d.ts +9 -0
  40. package/dist/tools/agent-chat.d.ts.map +1 -0
  41. package/dist/tools/agent-chat.js +379 -0
  42. package/dist/tools/agent-chat.js.map +1 -0
  43. package/dist/tools/app-management.d.ts.map +1 -1
  44. package/dist/tools/app-management.js +29 -8
  45. package/dist/tools/app-management.js.map +1 -1
  46. package/dist/tools/auth.d.ts.map +1 -1
  47. package/dist/tools/auth.js +45 -8
  48. package/dist/tools/auth.js.map +1 -1
  49. package/dist/tools/build.d.ts.map +1 -1
  50. package/dist/tools/build.js +13 -2
  51. package/dist/tools/build.js.map +1 -1
  52. package/dist/tools/codegen.d.ts.map +1 -1
  53. package/dist/tools/codegen.js +39 -6
  54. package/dist/tools/codegen.js.map +1 -1
  55. package/dist/tools/gather-requirements.d.ts +3 -0
  56. package/dist/tools/gather-requirements.d.ts.map +1 -0
  57. package/dist/tools/gather-requirements.js +281 -0
  58. package/dist/tools/gather-requirements.js.map +1 -0
  59. package/dist/tools/index.d.ts.map +1 -1
  60. package/dist/tools/index.js +7 -1
  61. package/dist/tools/index.js.map +1 -1
  62. package/dist/tools/lifecycle.d.ts.map +1 -1
  63. package/dist/tools/lifecycle.js +40 -32
  64. package/dist/tools/lifecycle.js.map +1 -1
  65. package/dist/tools/reference-data.d.ts +8 -0
  66. package/dist/tools/reference-data.d.ts.map +1 -0
  67. package/dist/tools/reference-data.js +79 -0
  68. package/dist/tools/reference-data.js.map +1 -0
  69. package/dist/tools/scaffold.d.ts.map +1 -1
  70. package/dist/tools/scaffold.js +17 -1
  71. package/dist/tools/scaffold.js.map +1 -1
  72. package/dist/tools/submission.d.ts.map +1 -1
  73. package/dist/tools/submission.js +79 -21
  74. package/dist/tools/submission.js.map +1 -1
  75. package/dist/tools/webhooks.d.ts +3 -0
  76. package/dist/tools/webhooks.d.ts.map +1 -0
  77. package/dist/tools/webhooks.js +303 -0
  78. package/dist/tools/webhooks.js.map +1 -0
  79. package/dist/utils/logger.d.ts +15 -5
  80. package/dist/utils/logger.d.ts.map +1 -1
  81. package/dist/utils/logger.js +93 -14
  82. package/dist/utils/logger.js.map +1 -1
  83. package/package.json +16 -14
@@ -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,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,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,iBAAiB,EAAM,SAAS;IACnC,GAAG,aAAa,EAAU,UAAU;IACpC,GAAG,SAAS,EAAc,uEAAuE;IACjG,GAAG,YAAY,EAAW,SAAS;IACnC,GAAG,UAAU,EAAa,UAAU;IACpC,GAAG,eAAe,EAAQ,UAAU;IACpC,GAAG,cAAc,EAAS,SAAS;CACpC,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,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAqB;IAC3C,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,kBAAkB,EAAK,oDAAoD;IAC9E,GAAG,kBAAkB,EAAK,UAAU;IACpC,GAAG,uBAAuB,EAAE,6DAA6D;IACzF,GAAG,iBAAiB,EAAM,SAAS;IACnC,GAAG,aAAa,EAAU,UAAU;IACpC,GAAG,SAAS,EAAc,uEAAuE;IACjG,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;CACpC,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;AA6EjD,eAAO,MAAM,cAAc,EAAE,cAAc,EAuB1C,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;AAqFjD,eAAO,MAAM,cAAc,EAAE,cAAc,EAyB1C,CAAC"}
@@ -1,92 +1,100 @@
1
1
  import { z } from 'zod';
2
2
  /**
3
- * The complete Ratio app lifecycle phases
3
+ * The complete Ratio app lifecycle phases.
4
4
  *
5
- * Core focus: select the right scopes → scaffold frontend → build & submit →
6
- * get approved OAuth inject correct backend code via codegen.
5
+ * Enforced flow:
6
+ * login create app (categories + callback URL) scope selection
7
+ * webhooks (auto-suggested from scopes) → build & submit → approve → publish → codegen
7
8
  */
8
9
  const LIFECYCLE_PHASES = [
9
10
  {
10
11
  phase: 1,
11
12
  name: 'Developer Authentication',
12
- description: 'Sign up or login to the Ratio Developer Dashboard',
13
+ description: 'Sign up or login to the Ratio Developer Dashboard.',
13
14
  tools: ['developer_signup', 'developer_verify_otp', 'developer_login'],
14
15
  },
15
16
  {
16
17
  phase: 2,
17
18
  name: 'App Creation',
18
- description: 'Create your app and get client credentials (client_id, client_secret)',
19
- tools: ['create_app'],
19
+ description: 'Create the app. Steps: ' +
20
+ '1) Call get_categories and let the developer pick categories. ' +
21
+ '2) Ask if they have a callback URL or should use localhost. ' +
22
+ '3) Call create_app with name, description, categories, and callback URL.',
23
+ tools: ['get_categories', 'create_app'],
20
24
  },
21
25
  {
22
26
  phase: 3,
23
- name: 'Define Scopes',
24
- description: 'Select the right OAuth scopes for the app. The LLM suggests scopes based on what the developer ' +
25
- 'wants to build, then presents a preview for developer approval before confirming. ' +
26
- 'This is critical scopes drive which backend API routes get generated later.',
27
- tools: ['define_app_requirements'],
27
+ name: 'Scope Selection',
28
+ description: 'First call gather_requirements with the developer\'s natural language description of what they ' +
29
+ 'want to build. It recommends scopes based on keyword matching against resource metadata. ' +
30
+ 'Present the recommendations to the developer for approval, then pass confirmed scopes to ' +
31
+ 'define_app_requirements (preview first with confirmed=false, then save with confirmed=true). ' +
32
+ 'This is critical — scopes drive backend code generation AND webhook suggestions.',
33
+ tools: ['gather_requirements', 'define_app_requirements'],
28
34
  docs_server_tools: ['get_available_scopes'],
29
35
  },
30
36
  {
31
37
  phase: 4,
32
- name: 'Scaffold Frontend',
33
- description: 'Scaffold a default React + Vite frontend project. This is a required submission artifact — ' +
34
- 'the admin needs a frontend build to approve the app. Not the focus of customization right now.',
35
- tools: ['scaffold_frontend'],
38
+ name: 'Webhook Configuration',
39
+ description: 'Configure webhooks based on the confirmed scopes. Call get_webhook_topics it ' +
40
+ 'auto-suggests relevant events matching the selected scopes (e.g. read_orders order events). ' +
41
+ 'Show recommendations to the developer, ask for their HTTPS endpoint URL, then create webhooks. ' +
42
+ 'This step is optional — skip if the app does not need webhooks.',
43
+ tools: ['get_webhook_topics', 'create_webhooks', 'list_webhooks'],
36
44
  },
37
45
  {
38
46
  phase: 5,
39
47
  name: 'Build & Submit',
40
- description: 'Build the frontend, package as zip, upload to dashboard, and submit for admin review',
41
- tools: ['build_frontend', 'validate_build', 'create_submission_zip', 'upload_build', 'submit_for_review'],
48
+ description: 'Scaffold frontend, build it, package as zip, upload to dashboard, and submit for admin review.',
49
+ tools: ['scaffold_frontend', 'build_frontend', 'create_submission_zip', 'upload_build', 'submit_for_review'],
42
50
  },
43
51
  {
44
52
  phase: 6,
45
- name: 'Admin Review',
53
+ name: 'Admin Approval',
46
54
  description: 'Wait for admin approval. Check status periodically.',
47
55
  tools: ['get_app_status'],
48
56
  },
49
57
  {
50
58
  phase: 7,
51
59
  name: 'Publish & OAuth',
52
- description: 'Publish the approved app, then complete OAuth flow with a merchant to get access tokens. ' +
53
- 'These tokens are needed for the backend to make API calls on behalf of the merchant.',
60
+ description: 'Publish the approved app, then complete the OAuth flow with a merchant to get access tokens.',
54
61
  tools: ['publish_app', 'request_auth_code', 'get_access_token'],
55
62
  },
56
63
  {
57
64
  phase: 8,
58
65
  name: 'Backend Code Generation',
59
- description: 'Scaffold the NestJS backend (with OAuth tokens injected into .env), then auto-generate ' +
60
- 'API route code (controller, service, module) for each resource based on the confirmed scopes. ' +
61
- 'Only resources with codegen_ready=true will get generated code.',
66
+ description: 'Scaffold the NestJS backend (with OAuth tokens in .env), then auto-generate ' +
67
+ 'API routes for each resource based on the confirmed scopes.',
62
68
  tools: ['scaffold_backend', 'generate_api_routes'],
63
69
  docs_server_tools: ['get_scope_endpoint_map', 'get_api_reference'],
64
70
  },
65
71
  {
66
72
  phase: 9,
67
73
  name: 'Code Validation',
68
- description: 'Validate the generated backend code against API schemas to catch any issues',
74
+ description: 'Validate the generated backend code against API schemas.',
69
75
  docs_server_tools: ['validate_api_code'],
70
76
  },
71
77
  ];
72
78
  export const lifecycleTools = [
73
79
  {
74
80
  name: 'get_app_lifecycle',
75
- description: 'Get the complete Ratio app development lifecycle. Shows all phases from authentication to validation, ' +
76
- 'including which tools to call at each step. Call this first before starting any app development.',
81
+ description: 'Get the complete Ratio app development lifecycle. Shows all phases from authentication to ' +
82
+ 'code validation, including which tools to call at each step. ALWAYS call this first when a ' +
83
+ 'developer wants to build an app.',
77
84
  inputSchema: z.object({}),
78
85
  handler: async () => {
79
86
  return {
80
87
  success: true,
81
88
  total_phases: LIFECYCLE_PHASES.length,
82
89
  phases: LIFECYCLE_PHASES,
83
- note: 'Tools prefixed with docs_server are from the ratio-docs-server. All other tools are from ratio-dev-server.',
90
+ note: 'Tools prefixed with docs_server are from ratio-docs-server. All other tools are from ratio-dev-server.',
84
91
  important: [
85
- 'Scope selection is criticalit drives which backend code gets auto-generated',
86
- 'Always call define_app_requirements with confirmed=false first to preview scopes with the developer',
87
- 'Frontend scaffold + build + submit is required before OAuth (admin must approve first)',
88
- 'Backend code generation only works for resources with codegen_ready=true (currently: orders, products)',
89
- 'Always validate generated code using validate_api_code before finalizing',
92
+ 'Follow the phases in order the tool guard will block out-of-order calls',
93
+ 'Scope selection is critical it drives backend code generation AND webhook suggestions',
94
+ 'Always call define_app_requirements with confirmed=false first to preview scopes',
95
+ 'Webhook events are auto-suggested based on confirmed scopes (Phase 4)',
96
+ 'Phase 4 (Webhooks) is optional ask the developer if they need event notifications',
97
+ 'Backend code generation only works for codegen_ready resources (currently: orders, products)',
90
98
  ],
91
99
  };
92
100
  },
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;GAKG;AACH,MAAM,gBAAgB,GAAG;IACvB;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,mDAAmD;QAChE,KAAK,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC;KACvE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,uEAAuE;QACpF,KAAK,EAAE,CAAC,YAAY,CAAC;KACtB;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,iGAAiG;YACjG,oFAAoF;YACpF,+EAA+E;QACjF,KAAK,EAAE,CAAC,yBAAyB,CAAC;QAClC,iBAAiB,EAAE,CAAC,sBAAsB,CAAC;KAC5C;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,6FAA6F;YAC7F,gGAAgG;QAClG,KAAK,EAAE,CAAC,mBAAmB,CAAC;KAC7B;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,sFAAsF;QACnG,KAAK,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,cAAc,EAAE,mBAAmB,CAAC;KAC1G;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,qDAAqD;QAClE,KAAK,EAAE,CAAC,gBAAgB,CAAC;KAC1B;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,2FAA2F;YAC3F,sFAAsF;QACxF,KAAK,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;KAChE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,yFAAyF;YACzF,gGAAgG;YAChG,iEAAiE;QACnE,KAAK,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;QAClD,iBAAiB,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;KACnE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,6EAA6E;QAC1F,iBAAiB,EAAE,CAAC,mBAAmB,CAAC;KACzC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,wGAAwG;YACxG,kGAAkG;QACpG,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,gBAAgB,CAAC,MAAM;gBACrC,MAAM,EAAE,gBAAgB;gBACxB,IAAI,EAAE,4GAA4G;gBAClH,SAAS,EAAE;oBACT,gFAAgF;oBAChF,qGAAqG;oBACrG,wFAAwF;oBACxF,wGAAwG;oBACxG,0EAA0E;iBAC3E;aACF,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../../src/tools/lifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;GAMG;AACH,MAAM,gBAAgB,GAAG;IACvB;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,oDAAoD;QACjE,KAAK,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,EAAE,iBAAiB,CAAC;KACvE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,yBAAyB;YACzB,gEAAgE;YAChE,8DAA8D;YAC9D,0EAA0E;QAC5E,KAAK,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;KACxC;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,iGAAiG;YACjG,2FAA2F;YAC3F,2FAA2F;YAC3F,+FAA+F;YAC/F,kFAAkF;QACpF,KAAK,EAAE,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;QACzD,iBAAiB,EAAE,CAAC,sBAAsB,CAAC;KAC5C;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,uBAAuB;QAC7B,WAAW,EACT,iFAAiF;YACjF,gGAAgG;YAChG,iGAAiG;YACjG,iEAAiE;QACnE,KAAK,EAAE,CAAC,oBAAoB,EAAE,iBAAiB,EAAE,eAAe,CAAC;KAClE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EACT,gGAAgG;QAClG,KAAK,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,cAAc,EAAE,mBAAmB,CAAC;KAC7G;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,qDAAqD;QAClE,KAAK,EAAE,CAAC,gBAAgB,CAAC;KAC1B;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EACT,8FAA8F;QAChG,KAAK,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,kBAAkB,CAAC;KAChE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,yBAAyB;QAC/B,WAAW,EACT,8EAA8E;YAC9E,6DAA6D;QAC/D,KAAK,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;QAClD,iBAAiB,EAAE,CAAC,wBAAwB,EAAE,mBAAmB,CAAC;KACnE;IACD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,0DAA0D;QACvE,iBAAiB,EAAE,CAAC,mBAAmB,CAAC;KACzC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAqB;IAC9C;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,4FAA4F;YAC5F,6FAA6F;YAC7F,kCAAkC;QACpC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,IAAI,EAAE;YAClB,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,gBAAgB,CAAC,MAAM;gBACrC,MAAM,EAAE,gBAAgB;gBACxB,IAAI,EAAE,wGAAwG;gBAC9G,SAAS,EAAE;oBACT,2EAA2E;oBAC3E,yFAAyF;oBACzF,kFAAkF;oBAClF,uEAAuE;oBACvE,qFAAqF;oBACrF,8FAA8F;iBAC/F;aACF,CAAC;QACJ,CAAC;KACF;CACF,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ToolDefinition } from './index.js';
2
+ /**
3
+ * Resolve an array of category identifiers (slugs or UUIDs) to UUIDs.
4
+ * Fetches categories from the API if not cached.
5
+ */
6
+ export declare function resolveCategoryIdsToUUIDs(categoryIds: string[]): Promise<string[]>;
7
+ export declare const referenceDataTools: ToolDefinition[];
8
+ //# sourceMappingURL=reference-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-data.d.ts","sourceRoot":"","sources":["../../src/tools/reference-data.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAwBjD;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAuCxF;AAED,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAyC9C,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { z } from 'zod';
2
+ import { developerApiRequest } from '../api/developer.js';
3
+ import { logger } from '../utils/logger.js';
4
+ /**
5
+ * In-memory cache of categories (slug → UUID mapping).
6
+ * Populated by get_categories, used by other tools to resolve slugs to UUIDs.
7
+ */
8
+ let categoriesCache = null;
9
+ /**
10
+ * Resolve an array of category identifiers (slugs or UUIDs) to UUIDs.
11
+ * Fetches categories from the API if not cached.
12
+ */
13
+ export async function resolveCategoryIdsToUUIDs(categoryIds) {
14
+ // Fetch categories if not cached
15
+ if (!categoriesCache) {
16
+ logger.info('Categories not cached — fetching from platform');
17
+ const response = await developerApiRequest('GET', '/categories');
18
+ categoriesCache = response.data;
19
+ }
20
+ const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
21
+ const resolved = [];
22
+ const notFound = [];
23
+ for (const id of categoryIds) {
24
+ if (uuidRegex.test(id)) {
25
+ // Already a UUID, use directly
26
+ resolved.push(id);
27
+ }
28
+ else {
29
+ // It's a slug — resolve to UUID
30
+ const match = categoriesCache.find((cat) => cat.slug.toLowerCase() === id.toLowerCase() || cat.name.toLowerCase() === id.toLowerCase());
31
+ if (match) {
32
+ resolved.push(match.id);
33
+ logger.info(`Resolved category slug "${id}" → UUID "${match.id}"`);
34
+ }
35
+ else {
36
+ notFound.push(id);
37
+ }
38
+ }
39
+ }
40
+ if (notFound.length > 0) {
41
+ const validSlugs = categoriesCache.map((c) => c.slug).join(', ');
42
+ logger.warn(`Categories not found: [${notFound.join(', ')}]. Valid slugs: ${validSlugs}`);
43
+ }
44
+ return resolved;
45
+ }
46
+ export const referenceDataTools = [
47
+ {
48
+ name: 'get_categories',
49
+ description: 'Fetch all available application categories from the platform. ' +
50
+ 'IMPORTANT: Call this BEFORE create_app so you can show the developer the available categories ' +
51
+ 'and let them choose. Returns both slug and UUID for each category. ' +
52
+ 'Use the slug values when calling create_app (they will be auto-resolved to UUIDs). ' +
53
+ 'Present the categories as a numbered list and ask the developer which ones they want.',
54
+ inputSchema: z.object({}),
55
+ handler: async () => {
56
+ logger.info('Fetching available categories from platform');
57
+ const response = await developerApiRequest('GET', '/categories');
58
+ const categories = response.data;
59
+ // Cache for later slug → UUID resolution
60
+ categoriesCache = categories;
61
+ return {
62
+ success: true,
63
+ message: `Found ${categories.length} available categories`,
64
+ categories: categories.map((cat, index) => ({
65
+ number: index + 1,
66
+ id: cat.id,
67
+ slug: cat.slug,
68
+ name: cat.name,
69
+ description: cat.description || null,
70
+ })),
71
+ _instruction: 'Present these categories to the developer as a numbered list. ' +
72
+ 'Ask them to pick the ones that best fit their app. ' +
73
+ 'They can choose multiple. Use the slug values when calling create_app. ' +
74
+ 'The slugs will be auto-resolved to UUIDs internally.',
75
+ };
76
+ },
77
+ },
78
+ ];
79
+ //# sourceMappingURL=reference-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reference-data.js","sourceRoot":"","sources":["../../src/tools/reference-data.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/tools/scaffold.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA2BjD,eAAO,MAAM,aAAa,EAAE,cAAc,EAqNzC,CAAC"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/tools/scaffold.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AA2BjD,eAAO,MAAM,aAAa,EAAE,cAAc,EAuOzC,CAAC"}
@@ -156,18 +156,32 @@ export const scaffoldTools = [
156
156
  }),
157
157
  handler: async (input) => {
158
158
  const { project_path, client_id, client_secret, app_name } = input;
159
+ logger.info(`[scaffold_backend] ══ START ══`);
160
+ logger.info(`[scaffold_backend] input: project_path=${project_path}, client_id=${client_id}, has_client_secret=${!!client_secret}, app_name=${app_name}`);
159
161
  const projectDir = project_path.startsWith('~')
160
162
  ? project_path.replace('~', homedir())
161
163
  : project_path;
164
+ logger.info(`[scaffold_backend] resolved projectDir=${projectDir}, exists=${existsSync(projectDir)}`);
162
165
  if (!existsSync(projectDir)) {
166
+ logger.error(`[scaffold_backend] Project directory not found: ${projectDir}`);
163
167
  throw new ToolExecutionError('scaffold_backend', `Project directory not found: ${projectDir}`);
164
168
  }
165
169
  const backendDir = join(projectDir, 'backend');
166
170
  const templateDir = join(getTemplatesDir(), 'backend');
171
+ logger.info(`[scaffold_backend] backendDir=${backendDir}, templateDir=${templateDir}, templateExists=${existsSync(templateDir)}`);
167
172
  // Copy the backend template
168
173
  await copyTemplate(templateDir, backendDir);
174
+ logger.info(`[scaffold_backend] Template copied to ${backendDir}`);
169
175
  // Fetch token from store
176
+ logger.info(`[scaffold_backend] Fetching token for client_id=${client_id} (type: ${typeof client_id})`);
170
177
  const storedToken = client_id ? getToken(client_id) : undefined;
178
+ logger.info(`[scaffold_backend] storedToken found=${!!storedToken}`);
179
+ if (storedToken) {
180
+ logger.info(`[scaffold_backend] token details: merchant_id=${storedToken.merchant_id}, scopes=${storedToken.scopes?.join(',')}, expires_at=${storedToken.expires_at}, has_access_token=${!!storedToken.access_token}`);
181
+ }
182
+ else {
183
+ logger.warn(`[scaffold_backend] NO TOKEN FOUND for client_id=${client_id} — .env will have empty credentials!`);
184
+ }
171
185
  // Write backend .env
172
186
  const backendEnv = `# Ratio App Backend Configuration
173
187
  PORT=3000
@@ -191,7 +205,9 @@ JWT_SECRET=your_jwt_secret_change_this
191
205
  JWT_EXPIRES_IN=7d
192
206
  `;
193
207
  await writeFile(join(backendDir, '.env'), backendEnv);
194
- logger.info(`Backend scaffolded: ${backendDir}`);
208
+ logger.info(`[scaffold_backend] .env written to ${join(backendDir, '.env')}`);
209
+ logger.info(`[scaffold_backend] .env content (redacted tokens):\n RATIO_APP_ID=${client_id || 'your_app_id'}\n RATIO_API_BASE_URL=${RATIO_API_BASE_URL}\n RATIO_ACCESS_TOKEN=${storedToken?.access_token ? '***SET***' : '***EMPTY***'}\n RATIO_REFRESH_TOKEN=${storedToken?.refresh_token ? '***SET***' : '***EMPTY***'}\n RATIO_MERCHANT_ID=${storedToken?.merchant_id || '***EMPTY***'}\n RATIO_SCOPES=${storedToken?.scopes?.join(',') || '***EMPTY***'}`);
210
+ logger.info(`[scaffold_backend] ══ DONE ══ Backend scaffolded: ${backendDir}, token_injected=${!!storedToken}`);
195
211
  return {
196
212
  success: true,
197
213
  message: `Backend project scaffolded at ${backendDir}` +
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/tools/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/tools/scaffold.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../src/tools/submission.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAcjD,eAAO,MAAM,eAAe,EAAE,cAAc,EA2I3C,CAAC"}
1
+ {"version":3,"file":"submission.d.ts","sourceRoot":"","sources":["../../src/tools/submission.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAcjD,eAAO,MAAM,eAAe,EAAE,cAAc,EAoN3C,CAAC"}
@@ -4,6 +4,7 @@ import { homedir } from 'os';
4
4
  import { developerApiRequest } from '../api/developer.js';
5
5
  import { logger } from '../utils/logger.js';
6
6
  import { ToolExecutionError } from '../utils/errors.js';
7
+ import { resolveCategoryIdsToUUIDs } from './reference-data.js';
7
8
  import FormData from 'form-data';
8
9
  const STATUS_EXPLANATIONS = {
9
10
  draft: 'App is in draft state. Upload a build and submit for review.',
@@ -58,16 +59,23 @@ export const submissionTools = [
58
59
  },
59
60
  {
60
61
  name: 'submit_for_review',
61
- description: 'Submit an application for review. PREREQUISITE: Must have at least one uploaded build version.',
62
+ description: 'Submit an application for review. PREREQUISITE: Must have at least one uploaded build version. ' +
63
+ 'Category IDs can be slugs (e.g. "analytics") or UUIDs — they will be auto-resolved.',
62
64
  inputSchema: z.object({
63
65
  app_id: z.string().min(1).describe('Application ID'),
64
66
  description: z.string().optional().describe('Description for submission'),
65
67
  changelog: z.string().optional().describe('Changelog'),
66
- category_ids: z.array(z.string()).optional().describe('Categories'),
68
+ category_ids: z.array(z.string()).optional().describe('Category slugs or UUIDs. Slugs are auto-resolved to UUIDs.'),
67
69
  tags: z.array(z.string()).optional().describe('Tags'),
68
70
  }),
69
71
  handler: async (input) => {
70
72
  const { app_id, description, changelog, category_ids, tags } = input;
73
+ // Resolve category slugs to UUIDs (the backend expects UUIDs for submit)
74
+ let resolvedCategoryIds;
75
+ if (category_ids && Array.isArray(category_ids) && category_ids.length > 0) {
76
+ resolvedCategoryIds = await resolveCategoryIdsToUUIDs(category_ids);
77
+ logger.info(`Resolved category_ids for submit: [${category_ids.join(', ')}] → [${resolvedCategoryIds.join(', ')}]`);
78
+ }
71
79
  const body = {
72
80
  appId: app_id,
73
81
  submitToReview: true,
@@ -76,8 +84,8 @@ export const submissionTools = [
76
84
  body['description'] = description;
77
85
  if (changelog)
78
86
  body['changelog'] = changelog;
79
- if (category_ids)
80
- body['categoryIds'] = category_ids;
87
+ if (resolvedCategoryIds)
88
+ body['categoryIds'] = resolvedCategoryIds;
81
89
  if (tags)
82
90
  body['tags'] = tags;
83
91
  const response = await developerApiRequest('POST', `/applications/submit`, body);
@@ -102,36 +110,86 @@ export const submissionTools = [
102
110
  handler: async (input) => {
103
111
  const { app_id } = input;
104
112
  const response = await developerApiRequest('GET', `/applications/${app_id}`);
105
- const status = response?.data?.status || response?.status || 'unknown';
106
- const explanation = STATUS_EXPLANATIONS[status] || 'Unknown status';
113
+ const appData = response?.data || response;
114
+ const appStatus = appData?.status || 'unknown';
115
+ // The backend's approveVersion only updates the VERSION status to 'approved',
116
+ // but does NOT sync the APPLICATION status (it stays 'submitted').
117
+ // So we also check the latest version's status to get the real picture.
118
+ const versions = appData?.versions;
119
+ const latestVersion = versions?.[0]; // versions are typically ordered newest-first
120
+ const versionStatus = latestVersion?.status;
121
+ // Effective status: if any version is approved/published but the app still
122
+ // says 'submitted', trust the version status (backend sync bug).
123
+ let effectiveStatus = appStatus;
124
+ if ((appStatus === 'submitted' || appStatus === 'in_review') &&
125
+ (versionStatus === 'approved' || versionStatus === 'published')) {
126
+ effectiveStatus = versionStatus;
127
+ logger.info(`[get_app_status] App status is '${appStatus}' but latest version is '${versionStatus}' — using version status`);
128
+ }
129
+ const explanation = STATUS_EXPLANATIONS[effectiveStatus] || 'Unknown status';
130
+ const latestVersionId = latestVersion?.['id'];
131
+ logger.info(`[get_app_status] latestVersionId: ${latestVersionId}, versions count: ${versions?.length ?? 0}`);
107
132
  return {
108
133
  success: true,
109
134
  application: response,
110
- status,
135
+ status: effectiveStatus,
136
+ appStatus,
137
+ versionStatus: versionStatus || 'unknown',
138
+ latestVersionId: latestVersionId || '',
111
139
  explanation,
112
140
  };
113
141
  },
114
142
  },
115
143
  {
116
144
  name: 'publish_app',
117
- description: 'Publish an approved application version. PREREQUISITE: Version must be in "approved" status.',
145
+ description: 'Publish an approved application version. PREREQUISITE: Version must be in "approved" status. ' +
146
+ 'If version_id is not provided, the latest approved version is auto-detected.',
118
147
  inputSchema: z.object({
119
148
  app_id: z.string().min(1).describe('Application ID'),
120
- version_id: z.string().min(1).describe('Version ID to publish (from get_app_status)'),
149
+ version_id: z.string().optional().describe('Version ID to publish. If omitted, auto-detects the latest approved version.'),
121
150
  }),
122
151
  handler: async (input) => {
123
- const { app_id, version_id } = input;
124
- const response = await developerApiRequest('POST', `/developer/apps/${app_id}/versions/${version_id}/publish`);
125
- return {
126
- success: true,
127
- message: 'Application published successfully',
128
- response,
129
- next_steps: [
130
- '1. App is now available to merchants',
131
- '2. Use request_auth_code to start OAuth with a test merchant',
132
- '3. After OAuth: scaffold_backend → generate_api_routes',
133
- ],
134
- };
152
+ const { app_id, version_id: providedVersionId } = input;
153
+ let versionId = providedVersionId;
154
+ // Auto-detect version ID if not provided — fetch the app and find the latest approved version
155
+ if (!versionId) {
156
+ logger.info(`[publish_app] No version_id provided, auto-detecting for app ${app_id}`);
157
+ const appResponse = await developerApiRequest('GET', `/applications/${app_id}`);
158
+ logger.info(`[publish_app] GET /applications/${app_id} response keys: ${JSON.stringify(Object.keys(appResponse))}`);
159
+ const appData = appResponse?.data || appResponse;
160
+ logger.info(`[publish_app] appData keys: ${JSON.stringify(Object.keys(appData || {}))}`);
161
+ const versions = appData?.versions;
162
+ logger.info(`[publish_app] versions: ${versions ? `array of ${versions.length}, first=${JSON.stringify(versions[0]?.id)}, status=${JSON.stringify(versions[0]?.status)}` : 'undefined/null'}`);
163
+ if (versions && versions.length > 0) {
164
+ const approvedVersion = versions.find((v) => v.status === 'approved');
165
+ const targetVersion = approvedVersion || versions[0];
166
+ versionId = String(targetVersion.id);
167
+ logger.info(`[publish_app] Auto-detected version_id: ${versionId} (status: ${targetVersion.status})`);
168
+ }
169
+ if (!versionId) {
170
+ throw new ToolExecutionError('publish_app', `No versions found for app ${app_id}. appData keys: ${JSON.stringify(Object.keys(appData || {}))}`);
171
+ }
172
+ }
173
+ logger.info(`[publish_app] Publishing app_id=${app_id}, version_id=${versionId}`);
174
+ try {
175
+ const response = await developerApiRequest('POST', `/developer/apps/${app_id}/versions/${versionId}/publish`);
176
+ return {
177
+ success: true,
178
+ message: 'Application published successfully',
179
+ response,
180
+ publishedVersionId: versionId,
181
+ next_steps: [
182
+ '1. App is now available to merchants',
183
+ '2. Use request_auth_code to start OAuth with a test merchant',
184
+ '3. After OAuth: scaffold_backend → generate_api_routes',
185
+ ],
186
+ };
187
+ }
188
+ catch (publishError) {
189
+ // Surface diagnostics so we can see exactly what was sent
190
+ const errMsg = publishError instanceof Error ? publishError.message : String(publishError);
191
+ throw new ToolExecutionError('publish_app', `Publish failed: ${errMsg} | DEBUG: app_id=${app_id}, version_id=${versionId}, providedVersionId=${providedVersionId}, autoDetected=${!providedVersionId}`);
192
+ }
135
193
  },
136
194
  },
137
195
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../src/tools/submission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"submission.js","sourceRoot":"","sources":["../../src/tools/submission.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ToolDefinition } from './index.js';
2
+ export declare const webhookTools: ToolDefinition[];
3
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/tools/webhooks.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAoIjD,eAAO,MAAM,YAAY,EAAE,cAAc,EAsRxC,CAAC"}