@ratio-mcp/dev-server 1.5.0 → 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 (99) hide show
  1. package/README.md +118 -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 +597 -102
  9. package/dist/schemas/product_reviews.json +45 -0
  10. package/dist/schemas/products.json +401 -118
  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/codegen.d.ts.map +1 -1
  45. package/dist/tools/codegen.js +21 -0
  46. package/dist/tools/codegen.js.map +1 -1
  47. package/dist/tools/gather-requirements.d.ts.map +1 -1
  48. package/dist/tools/gather-requirements.js +5 -3
  49. package/dist/tools/gather-requirements.js.map +1 -1
  50. package/dist/tools/get-status.d.ts.map +1 -1
  51. package/dist/tools/get-status.js +45 -34
  52. package/dist/tools/get-status.js.map +1 -1
  53. package/dist/tools/index.js +1 -1
  54. package/dist/tools/index.js.map +1 -1
  55. package/dist/tools/lifecycle.d.ts.map +1 -1
  56. package/dist/tools/lifecycle.js +6 -3
  57. package/dist/tools/lifecycle.js.map +1 -1
  58. package/dist/tools/reference-data.d.ts +16 -0
  59. package/dist/tools/reference-data.d.ts.map +1 -1
  60. package/dist/tools/reference-data.js +12 -8
  61. package/dist/tools/reference-data.js.map +1 -1
  62. package/dist/tools/requirements.d.ts.map +1 -1
  63. package/dist/tools/requirements.js +17 -9
  64. package/dist/tools/requirements.js.map +1 -1
  65. package/dist/tools/submission.d.ts.map +1 -1
  66. package/dist/tools/submission.js +50 -13
  67. package/dist/tools/submission.js.map +1 -1
  68. package/dist/tools/webhooks.d.ts.map +1 -1
  69. package/dist/tools/webhooks.js +3 -1
  70. package/dist/tools/webhooks.js.map +1 -1
  71. package/dist/utils/logger.d.ts +3 -2
  72. package/dist/utils/logger.d.ts.map +1 -1
  73. package/dist/utils/logger.js +19 -10
  74. package/dist/utils/logger.js.map +1 -1
  75. package/dist/utils/schema-resources.d.ts +8 -0
  76. package/dist/utils/schema-resources.d.ts.map +1 -0
  77. package/dist/utils/schema-resources.js +25 -0
  78. package/dist/utils/schema-resources.js.map +1 -0
  79. package/package.json +3 -3
  80. package/dist/orchestrated-index.d.ts +0 -11
  81. package/dist/orchestrated-index.d.ts.map +0 -1
  82. package/dist/orchestrated-index.js +0 -33
  83. package/dist/orchestrated-index.js.map +0 -1
  84. package/dist/orchestrated-server.d.ts +0 -21
  85. package/dist/orchestrated-server.d.ts.map +0 -1
  86. package/dist/orchestrated-server.js +0 -101
  87. package/dist/orchestrated-server.js.map +0 -1
  88. package/dist/services/orchestrator.d.ts +0 -63
  89. package/dist/services/orchestrator.d.ts.map +0 -1
  90. package/dist/services/orchestrator.js +0 -845
  91. package/dist/services/orchestrator.js.map +0 -1
  92. package/dist/services/response-formatter.d.ts +0 -24
  93. package/dist/services/response-formatter.d.ts.map +0 -1
  94. package/dist/services/response-formatter.js +0 -311
  95. package/dist/services/response-formatter.js.map +0 -1
  96. package/dist/tools/agent-chat.d.ts +0 -9
  97. package/dist/tools/agent-chat.d.ts.map +0 -1
  98. package/dist/tools/agent-chat.js +0 -465
  99. package/dist/tools/agent-chat.js.map +0 -1
@@ -28,6 +28,15 @@ export function getSession() {
28
28
  export function getAppState(appId) {
29
29
  return session.apps[appId];
30
30
  }
31
+ export function getPendingAppDraft() {
32
+ return session.pendingAppDraft;
33
+ }
34
+ export function setPendingAppDraft(draft) {
35
+ session.pendingAppDraft = draft;
36
+ }
37
+ export function clearPendingAppDraft() {
38
+ delete session.pendingAppDraft;
39
+ }
31
40
  /** Get the currently active app ID */
32
41
  export function getActiveAppId() {
33
42
  return session.context.activeAppId || session.context.appId;
@@ -109,7 +118,15 @@ export function recordToolSuccess(toolName, result) {
109
118
  session.context.clientSecret = String(app['client_secret']);
110
119
  appState.context.clientSecret = String(app['client_secret']);
111
120
  }
112
- logger.info(`[session-state] create_app: appId=${appId}, appName=${appState.context.appName}`);
121
+ if (app['app_type']) {
122
+ session.context.appType = String(app['app_type']);
123
+ appState.context.appType = String(app['app_type']);
124
+ }
125
+ if (app['app_kind']) {
126
+ session.context.appKind = String(app['app_kind']);
127
+ appState.context.appKind = String(app['app_kind']);
128
+ }
129
+ logger.info(`[session-state] create_app: appId=${appId}, appName=${appState.context.appName}, appType=${appState.context.appType}, appKind=${appState.context.appKind}`);
113
130
  }
114
131
  break;
115
132
  }
@@ -265,6 +282,14 @@ export function recordToolSuccess(toolName, result) {
265
282
  }
266
283
  logSnapshot(toolName);
267
284
  }
285
+ /** Merge context values into an app's state (and the flattened global context if active) */
286
+ export function updateAppContext(appId, updates) {
287
+ const appState = getOrCreateAppState(appId);
288
+ Object.assign(appState.context, updates);
289
+ if (getActiveAppId() === appId) {
290
+ Object.assign(session.context, updates);
291
+ }
292
+ }
268
293
  /** Helper: record a tool completion in the active app's state */
269
294
  function recordAppTool(toolName) {
270
295
  const appId = getActiveAppId();
@@ -1 +1 @@
1
- {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/services/session-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-state.js","sourceRoot":"","sources":["../../src/services/session-state.ts"],"names":[],"mappings":"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"}
@@ -1,38 +1,35 @@
1
1
  /**
2
2
  * Tool Guard — prerequisite validation for MCP tools.
3
3
  *
4
- * Tool-first architecture: each tool is exposed individually. The guard
5
- * checks prerequisites before allowing execution and returns structured
6
- * errors with hints so the LLM can self-correct.
4
+ * STATE-BASED: guards ask "what state is the app in on the platform?" (via
5
+ * app-state-sync), not "which tools were called in this session?". This survives
6
+ * MCP restarts mid-flow and platform shortcuts like private-app auto-publish.
7
7
  *
8
- * Enforced dependency graph:
9
- * login create_app gather_requirements define_app_requirements
10
- * webhooks (optional, scope-based recommendations)
11
- * → scaffold_frontend → build → validate → zip → upload → submit
12
- * → review_wait → publish
13
- * → OAuth (auth_code → access_token)
14
- * → scaffold_backend → generate_api_routes (+ webhook handlers)
8
+ * PROFILE-AWARE: the pipeline steps come from flow-profiles (appType × appKind).
9
+ * A step that doesn't exist for the app's profile returns skipped=true with the
10
+ * reason and the correct next step, so the LLM self-corrects instead of erroring.
15
11
  *
16
- * Read-only tools (no prerequisites): get_categories, get_status, get_webhook_topics (browsing)
12
+ * Local session history is still used for filesystem-only steps (scaffold → build
13
+ * → zip) where the platform has no visibility.
17
14
  */
18
15
  export interface GuardResult {
19
16
  allowed: boolean;
17
+ /** True when the tool is NOT APPLICABLE for this app's profile (not an error) */
18
+ skipped?: boolean;
20
19
  message?: string;
21
20
  requiredTools?: string[];
22
21
  /** Full chain of tools needed to unblock, in order */
23
22
  chain?: string[];
24
23
  hint?: string;
24
+ /** The step the LLM should take instead (set for skipped results) */
25
+ nextStep?: string;
25
26
  }
26
27
  /**
27
28
  * Check whether a tool's prerequisites are met.
28
- * Returns structured result with error details if blocked.
29
+ * Returns structured result with error details if blocked, or skipped=true
30
+ * when the step is not applicable to the app's flow profile.
29
31
  */
30
- export declare function checkToolPrerequisites(toolName: string): GuardResult;
31
- /**
32
- * Get the full prerequisite chain for a tool (for status display).
33
- * Returns tool names that must be completed before this tool can run.
34
- */
35
- export declare function getToolPrerequisiteNames(toolName: string): string[];
32
+ export declare function checkToolPrerequisites(toolName: string): Promise<GuardResult>;
36
33
  /**
37
34
  * Get all tool names that have prerequisites defined.
38
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-guard.d.ts","sourceRoot":"","sources":["../../src/services/tool-guard.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AA4PD;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,CAWpE;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAKnE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}
1
+ {"version":3,"file":"tool-guard.d.ts","sourceRoot":"","sources":["../../src/services/tool-guard.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA2UD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAanF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C"}
@@ -1,5 +1,81 @@
1
- import { getSession, hasCompleted, hasCompletedAny } from './session-state.js';
1
+ import { getSession, hasCompleted, hasCompletedAny, getActiveAppId } from './session-state.js';
2
+ import { getAppFacts, effectiveStatus } from './app-state-sync.js';
3
+ import { getFlowProfile, getSkipInfo, isKindFullySupported } from './flow-profiles.js';
4
+ import { getRequirements } from '../store/requirements-store.js';
2
5
  import { logger } from '../utils/logger.js';
6
+ // ── Helpers ─────────────────────────────────────────────────────────────
7
+ function allowed() {
8
+ return { allowed: true };
9
+ }
10
+ function blocked(message, requiredTools, chain) {
11
+ return {
12
+ allowed: false,
13
+ message,
14
+ requiredTools,
15
+ chain,
16
+ hint: `Please call ${requiredTools.join(' → ')} first, then retry.`,
17
+ };
18
+ }
19
+ function skipped(message, nextStep) {
20
+ return {
21
+ allowed: false,
22
+ skipped: true,
23
+ message,
24
+ nextStep,
25
+ hint: `This step does not apply to this app — call ${nextStep} instead.`,
26
+ };
27
+ }
28
+ function isAuthenticated() {
29
+ return hasCompletedAny(['developer_login', 'developer_verify_otp']);
30
+ }
31
+ function requireAuth() {
32
+ if (!isAuthenticated()) {
33
+ return blocked('You must authenticate first. Call developer_login or developer_signup + developer_verify_otp.', ['developer_login'], ['developer_login']);
34
+ }
35
+ return allowed();
36
+ }
37
+ function scopesConfirmed(appId) {
38
+ if (getSession().context.scopesConfirmed)
39
+ return true;
40
+ const requirements = getRequirements(appId);
41
+ return Boolean(requirements && requirements.scopes.length > 0);
42
+ }
43
+ async function resolvePipelineContext() {
44
+ const appId = getActiveAppId();
45
+ if (!appId) {
46
+ return blocked('You must create an app first (or select one via get_app).', ['create_app'], ['developer_login', 'create_app']);
47
+ }
48
+ const facts = await getAppFacts(appId);
49
+ const profile = getFlowProfile(facts.appType, facts.appKind);
50
+ return { appId, profile, facts };
51
+ }
52
+ function isGuardResult(v) {
53
+ return 'allowed' in v;
54
+ }
55
+ /**
56
+ * Generic guard for pipeline steps: profile skip first, then the step's own
57
+ * state prerequisite.
58
+ */
59
+ async function pipelineGuard(step, statePrereq) {
60
+ const ctx = await resolvePipelineContext();
61
+ if (isGuardResult(ctx))
62
+ return ctx;
63
+ if (!isKindFullySupported(ctx.facts.appKind)) {
64
+ return {
65
+ allowed: false,
66
+ skipped: true,
67
+ message: `This app's kind is "${ctx.facts.appKind}". The MCP can create ${ctx.facts.appKind} apps but does not ` +
68
+ 'scaffold their manifest/bundle toolchain yet — upload builds via the developer portal, or choose ' +
69
+ 'app_kind "embedded" / "no_ui" for the full MCP pipeline.',
70
+ nextStep: 'get_status',
71
+ };
72
+ }
73
+ const skipInfo = getSkipInfo(ctx.profile, step);
74
+ if (skipInfo) {
75
+ return skipped(skipInfo.reason, skipInfo.next);
76
+ }
77
+ return statePrereq(ctx);
78
+ }
3
79
  // ── Prerequisite rules ──────────────────────────────────────────────────
4
80
  const TOOL_PREREQUISITES = {
5
81
  // ── Auth (entry points — no prerequisites) ────────────────────────────
@@ -10,27 +86,14 @@ const TOOL_PREREQUISITES = {
10
86
  }
11
87
  return allowed();
12
88
  },
13
- // ── Read-only tools (no auth needed) ──────────────────────────────────
14
- // get_categories: no entry needed (always allowed read-only, anyone can browse)
15
- // get_status: no entry needed (always allowed)
16
- // get_app_lifecycle: no entry needed (always allowed)
17
- // ── Hookdeck Setup (needs auth) ───────────────────────────────────────
18
- setup_hookdeck: () => {
19
- if (!isAuthenticated()) {
20
- return blocked('You must authenticate first. Call developer_login.', ['developer_login'], ['developer_login', 'setup_hookdeck']);
21
- }
22
- return allowed();
23
- },
24
- // ── App Setup (needs auth) ────────────────────────────────────────────
25
- create_app: () => {
26
- if (!isAuthenticated()) {
27
- return blocked('You must authenticate first. Call developer_login.', ['developer_login'], ['developer_login', 'create_app']);
28
- }
29
- return allowed();
30
- },
31
- // ── Requirements (needs app) ──────────────────────────────────────────
89
+ // ── Read-only tools: get_categories / get_status / get_app_lifecycle /
90
+ // get_webhook_topics / validate_scopes always allowed (no entry) ──
91
+ // ── Hookdeck & app setup (need auth) ──────────────────────────────────
92
+ setup_hookdeck: () => requireAuth(),
93
+ create_app: () => requireAuth(),
94
+ // ── Requirements (need app) ───────────────────────────────────────────
32
95
  gather_requirements: () => {
33
- if (!getSession().context.appId) {
96
+ if (!getActiveAppId()) {
34
97
  return blocked('You must create an app first before gathering requirements.', ['create_app'], ['developer_login', 'create_app', 'gather_requirements']);
35
98
  }
36
99
  return allowed();
@@ -42,77 +105,96 @@ const TOOL_PREREQUISITES = {
42
105
  }
43
106
  return allowed();
44
107
  },
45
- // ── Webhooks (needs scopes confirmed) ─────────────────────────────────
46
- get_webhook_topics: () => {
47
- // Read-only browsing of webhook topics — no prerequisites
48
- return allowed();
49
- },
108
+ // ── Webhooks (need scopes confirmed) ──────────────────────────────────
50
109
  create_webhooks: () => {
51
- if (!getSession().context.appId) {
110
+ const appId = getActiveAppId();
111
+ if (!appId) {
52
112
  return blocked('You must create an app first before configuring webhooks.', ['create_app'], ['developer_login', 'create_app', 'create_webhooks']);
53
113
  }
54
- if (!getSession().context.scopesConfirmed) {
114
+ if (!scopesConfirmed(appId)) {
55
115
  return blocked('You must confirm scopes first (define_app_requirements) before configuring webhooks. ' +
56
116
  'Webhook events should be based on the selected scopes.', ['define_app_requirements'], ['gather_requirements', 'define_app_requirements', 'create_webhooks']);
57
117
  }
58
118
  return allowed();
59
119
  },
60
- // ── Frontend Build Pipeline (needs scopes confirmed) ──────────────────
61
- scaffold_frontend: () => {
62
- if (!getSession().context.scopesConfirmed) {
120
+ // ── Frontend pipeline (profile: embedded only; filesystem steps stay
121
+ // session-tracked because the platform can't see local builds) ──────
122
+ scaffold_frontend: () => pipelineGuard('scaffold_frontend', (ctx) => {
123
+ if (!scopesConfirmed(ctx.appId)) {
63
124
  return blocked('You must define and confirm app scopes (define_app_requirements) before scaffolding the frontend.', ['define_app_requirements'], ['gather_requirements', 'define_app_requirements', 'scaffold_frontend']);
64
125
  }
65
126
  return allowed();
66
- },
67
- build_frontend: () => {
127
+ }),
128
+ build_frontend: () => pipelineGuard('build_frontend', () => {
68
129
  if (!hasCompleted('scaffold_frontend')) {
69
130
  return blocked('You must scaffold the frontend first before building.', ['scaffold_frontend'], ['scaffold_frontend', 'build_frontend']);
70
131
  }
71
132
  return allowed();
72
- },
73
- validate_build: () => {
133
+ }),
134
+ validate_build: () => pipelineGuard('validate_build', () => {
74
135
  if (!hasCompleted('build_frontend')) {
75
136
  return blocked('You must build the frontend first before validating.', ['build_frontend'], ['scaffold_frontend', 'build_frontend', 'validate_build']);
76
137
  }
77
138
  return allowed();
78
- },
79
- create_submission_zip: () => {
139
+ }),
140
+ create_submission_zip: () => pipelineGuard('create_submission_zip', () => {
80
141
  if (!hasCompleted('validate_build')) {
81
142
  return blocked('You must validate the build first before creating a submission zip.', ['validate_build'], ['scaffold_frontend', 'build_frontend', 'validate_build', 'create_submission_zip']);
82
143
  }
83
144
  return allowed();
84
- },
85
- upload_build: () => {
86
- if (!hasCompleted('create_submission_zip')) {
87
- return blocked('You must create a submission zip first before uploading.', ['create_submission_zip'], ['scaffold_frontend', 'build_frontend', 'validate_build', 'create_submission_zip', 'upload_build']);
145
+ }),
146
+ upload_build: () => pipelineGuard('upload_build', (ctx) => {
147
+ if (ctx.profile.uploadNeedsZip) {
148
+ if (!hasCompleted('create_submission_zip')) {
149
+ return blocked('You must create a submission zip first before uploading.', ['create_submission_zip'], ['scaffold_frontend', 'build_frontend', 'validate_build', 'create_submission_zip', 'upload_build']);
150
+ }
151
+ return allowed();
152
+ }
153
+ // File-less upload (no_ui): only scopes need to be confirmed.
154
+ if (!scopesConfirmed(ctx.appId)) {
155
+ return blocked('You must define and confirm app scopes (define_app_requirements) before creating a version.', ['define_app_requirements'], ['gather_requirements', 'define_app_requirements', 'upload_build']);
88
156
  }
89
157
  return allowed();
90
- },
91
- submit_for_review: () => {
92
- if (!hasCompleted('upload_build')) {
93
- return blocked('You must upload the build first before submitting for review.', ['upload_build'], ['upload_build', 'submit_for_review']);
158
+ }),
159
+ // ── Review & publish (platform state decides) ─────────────────────────
160
+ submit_for_review: () => pipelineGuard('submit_for_review', (ctx) => {
161
+ const hasVersion = Boolean(ctx.facts.latestVersionId) || hasCompleted('upload_build');
162
+ if (!hasVersion) {
163
+ return blocked('You must upload a build first — the app has no version to submit.', ['upload_build'], ['upload_build', 'submit_for_review']);
164
+ }
165
+ const status = effectiveStatus(ctx.facts);
166
+ if (status === 'published') {
167
+ return skipped('The app is already published.', 'scaffold_backend');
168
+ }
169
+ if (status === 'submitted' || status === 'in_review') {
170
+ return skipped('The app is already submitted and waiting for admin review.', 'get_app_status');
94
171
  }
95
172
  return allowed();
96
- },
97
- // ── Review & Publish ──────────────────────────────────────────────────
173
+ }),
98
174
  get_app_status: () => requireAuth(),
99
- publish_app: () => {
100
- if (!getSession().context.appApproved) {
101
- return blocked('The app must be approved by admin before publishing. Call get_app_status to check review status.', ['get_app_status'], ['submit_for_review', 'get_app_status', 'publish_app']);
175
+ publish_app: () => pipelineGuard('publish_app', (ctx) => {
176
+ const status = effectiveStatus(ctx.facts);
177
+ if (status === 'published') {
178
+ return skipped('The app is already published.', 'scaffold_backend');
179
+ }
180
+ if (status !== 'approved') {
181
+ return blocked(`The app must be approved by admin before publishing (current status: ${status ?? 'unknown'}). ` +
182
+ 'Call get_app_status to check review progress.', ['get_app_status'], ['submit_for_review', 'get_app_status', 'publish_app']);
102
183
  }
103
184
  return allowed();
104
- },
105
- // ── OAuth tools removed from main flow ────────────────────────────────
106
- // request_auth_code and get_access_token no longer needed — OAuth happens
107
- // via merchant install callback (Hookdeck → localhost → token exchange)
108
- // ── Backend Codegen (needs app published) ─────────────────────────────
109
- scaffold_backend: () => {
110
- if (!getSession().context.appPublished && !hasCompleted('publish_app')) {
111
- return blocked('You must publish the app first before scaffolding the backend. ' +
112
- 'The backend includes an OAuth callback handler that receives merchant install tokens automatically.', ['publish_app'], ['publish_app', 'scaffold_backend']);
185
+ }),
186
+ // ── Backend codegen (needs the app live on the platform) ──────────────
187
+ scaffold_backend: () => pipelineGuard('scaffold_backend', (ctx) => {
188
+ const status = effectiveStatus(ctx.facts);
189
+ if (status !== 'published' && status !== 'approved') {
190
+ const isPrivate = ctx.profile.appType === 'private';
191
+ return blocked(`The app must be published before scaffolding the backend (current status: ${status ?? 'unknown'}). ` +
192
+ (isPrivate
193
+ ? 'Private apps publish automatically when you upload a build call upload_build.'
194
+ : 'Complete the review flow first: upload → submit → approval → publish.'), isPrivate ? ['upload_build'] : ['publish_app'], isPrivate ? ['upload_build', 'scaffold_backend'] : ['publish_app', 'scaffold_backend']);
113
195
  }
114
196
  return allowed();
115
- },
197
+ }),
116
198
  generate_api_routes: () => {
117
199
  if (!hasCompleted('scaffold_backend')) {
118
200
  return blocked('You must scaffold the backend first before generating API routes.', ['scaffold_backend'], ['scaffold_backend', 'generate_api_routes']);
@@ -124,60 +206,31 @@ const TOOL_PREREQUISITES = {
124
206
  delete_app: () => requireAuth(),
125
207
  list_apps: () => requireAuth(),
126
208
  get_app: () => requireAuth(),
209
+ manage_private_merchants: () => requireAuth(),
127
210
  list_webhooks: () => requireAuth(),
128
211
  toggle_webhook: () => requireAuth(),
129
212
  delete_webhook: () => requireAuth(),
130
213
  refresh_access_token: () => requireAuth(),
131
214
  check_token_status: () => requireAuth(),
132
215
  };
133
- // ── Helpers ─────────────────────────────────────────────────────────────
134
- function allowed() {
135
- return { allowed: true };
136
- }
137
- function blocked(message, requiredTools, chain) {
138
- return {
139
- allowed: false,
140
- message,
141
- requiredTools,
142
- chain,
143
- hint: `Please call ${requiredTools.join(' → ')} first, then retry.`,
144
- };
145
- }
146
- function isAuthenticated() {
147
- return hasCompletedAny(['developer_login', 'developer_verify_otp']);
148
- }
149
- function requireAuth() {
150
- if (!isAuthenticated()) {
151
- return blocked('You must authenticate first. Call developer_login or developer_signup + developer_verify_otp.', ['developer_login'], ['developer_login']);
152
- }
153
- return allowed();
154
- }
155
216
  // ── Public API ──────────────────────────────────────────────────────────
156
217
  /**
157
218
  * Check whether a tool's prerequisites are met.
158
- * Returns structured result with error details if blocked.
219
+ * Returns structured result with error details if blocked, or skipped=true
220
+ * when the step is not applicable to the app's flow profile.
159
221
  */
160
- export function checkToolPrerequisites(toolName) {
222
+ export async function checkToolPrerequisites(toolName) {
161
223
  const check = TOOL_PREREQUISITES[toolName];
162
224
  if (!check)
163
225
  return allowed(); // No prerequisites defined → always allowed
164
- const result = check();
226
+ const result = await check();
165
227
  if (!result.allowed) {
166
- logger.info(`GUARD BLOCKED: ${toolName} — ${result.message} (need: [${result.requiredTools?.join(', ')}])`);
228
+ logger.info(result.skipped
229
+ ? `GUARD SKIPPED: ${toolName} — ${result.message} (next: ${result.nextStep})`
230
+ : `GUARD BLOCKED: ${toolName} — ${result.message} (need: [${result.requiredTools?.join(', ')}])`);
167
231
  }
168
232
  return result;
169
233
  }
170
- /**
171
- * Get the full prerequisite chain for a tool (for status display).
172
- * Returns tool names that must be completed before this tool can run.
173
- */
174
- export function getToolPrerequisiteNames(toolName) {
175
- const check = TOOL_PREREQUISITES[toolName];
176
- if (!check)
177
- return [];
178
- const result = check();
179
- return result.chain || result.requiredTools || [];
180
- }
181
234
  /**
182
235
  * Get all tool names that have prerequisites defined.
183
236
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-guard.js","sourceRoot":"","sources":["../../src/services/tool-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-guard.js","sourceRoot":"","sources":["../../src/services/tool-guard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../src/tools/app-management.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,eAAO,MAAM,kBAAkB,EAAE,cAAc,EAuN9C,CAAC"}
1
+ {"version":3,"file":"app-management.d.ts","sourceRoot":"","sources":["../../src/tools/app-management.ts"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAiBjD,eAAO,MAAM,kBAAkB,EAAE,cAAc,EA4W9C,CAAC"}