@fluentcommerce/fluent-mcp-extn 0.7.0 → 0.7.2

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.
package/docs/RUNBOOK.md CHANGED
@@ -148,18 +148,18 @@ Point to a JSON file with `FLUENT_PROFILES_FILE`:
148
148
 
149
149
  #### Runtime management
150
150
 
151
- - `connection.list` — see all registered profiles and their status
152
- - `connection.switch` — change the default at runtime
153
- - `connection.add` — add profiles dynamically (CLI profile name or explicit credentials)
154
- - `connection.remove` — remove a non-default profile
151
+ - `connection_list` — see all registered profiles and their status
152
+ - `connection_switch` — change the default at runtime
153
+ - `connection_add` — add profiles dynamically (CLI profile name or explicit credentials)
154
+ - `connection_remove` — remove a non-default profile
155
155
 
156
156
  #### Verify multi-profile setup
157
157
 
158
158
  ```
159
- 1. connection.list → all profiles listed
160
- 2. connection.test → default profile connected
161
- 3. graphql.query { profile: "DEV/DEV_RETAILER", query: "{ me { username } }" } → secondary connected
162
- 4. workflow.list { profile: "STAGING/UK" } → third profile connected
159
+ 1. connection_list → all profiles listed
160
+ 2. connection_test → default profile connected
161
+ 3. graphql_query { profile: "DEV/DEV_RETAILER", query: "{ me { username } }" } → secondary connected
162
+ 4. workflow_list { profile: "STAGING/UK" } → third profile connected
163
163
  ```
164
164
 
165
165
  #### Prompting the LLM for multi-profile
@@ -168,46 +168,46 @@ Example prompts that leverage multi-profile:
168
168
 
169
169
  - "Compare ORDER workflows between DEV/DEV_RETAILER and STAGING/UK"
170
170
  - "Query order ORD-123 on STAGING/US"
171
- - "Run environment.discover on all profiles and compare locations"
172
- - "Check metrics.healthCheck on DEV/DEV_RETAILER — is the failure rate normal?"
171
+ - "Run environment_discover on all profiles and compare locations"
172
+ - "Check metrics_healthCheck on DEV/DEV_RETAILER — is the failure rate normal?"
173
173
  - "List settings on STAGING/UK and STAGING/US — what's different?"
174
174
 
175
175
  #### Prompting the LLM for ambiguous time windows
176
176
 
177
177
  When the user asks for relative windows like `last month`, `yesterday`, `this week`, or mixes metrics-style datemath with API questions, resolve the time intent first instead of guessing:
178
178
 
179
- 1. `time.resolveWindow { phrase: "last month", timezone: "Asia/Calcutta" }`
179
+ 1. `time_resolveWindow { phrase: "last month", timezone: "Asia/Calcutta" }`
180
180
  2. If `valid: false` and `ambiguous: true`, clarify with the user or choose `mode: "calendar"` / `mode: "rolling"` explicitly
181
- 3. Feed the exact `from` / `to` timestamps into `graphql.query`, `graphql.queryAll`, `event.list`, or `event.flowInspect`
181
+ 3. Feed the exact `from` / `to` timestamps into `graphql_query`, `graphql_queryAll`, `event_list`, or `event_flowInspect`
182
182
 
183
183
  Example prompt pattern:
184
184
 
185
185
  - "Resolve `last month` in Asia/Calcutta, then count return orders for that exact window."
186
- - "Resolve `now-7d/d` in Asia/Calcutta, then use those exact timestamps for `event.list`."
186
+ - "Resolve `now-7d/d` in Asia/Calcutta, then use those exact timestamps for `event_list`."
187
187
 
188
188
  ## 4) Startup verification checklist
189
189
 
190
190
  Run tools in this order:
191
191
 
192
- 1. `config.validate`
193
- 2. `health.ping`
194
- 3. `time.resolveWindow` with `phrase: "last month"` — verify local ambiguity handling and exact timestamp output
195
- 4. `connection.test`
196
- 5. `event.build`
197
- 6. `event.send` with `dryRun: true`
198
- 7. `event.send` with `dryRun: false`
199
- 8. `event.get` using ID returned by send
200
- 9. `graphql.query` simple read
201
- 10. `entity.get` — verify entity lookup works (e.g., look up a known order by ref)
202
- 11. `setting.get` with `name: "fc.mystique.manifest.%"` — verify settings read access and wildcard support
203
- 12. `workflow.list` — verify REST workflow API access (list all workflows for a retailer)
204
- 13. `workflow.get` with `entityType: "ORDER", entitySubtype: "HD"` — verify specific workflow fetch
205
- 14. `workflow.transitions` (optional) — verify User Action API access for a known trigger
206
- 15. `graphql.queryAll` — verify auto-pagination and run-level timeout
207
- 16. `graphql.introspect` with `listMutations: true` — verify schema access
208
- 17. `environment.discover` with `include: ["retailer", "locations"]` — verify environment snapshot
209
- 18. `environment.validate` with `checks: ["auth", "retailer", "locations"]` — verify pre-flight checks
210
- 19. (optional) `graphql.query` synchronous fulfilment options call
192
+ 1. `config_validate`
193
+ 2. `health_ping`
194
+ 3. `time_resolveWindow` with `phrase: "last month"` — verify local ambiguity handling and exact timestamp output
195
+ 4. `connection_test`
196
+ 5. `event_build`
197
+ 6. `event_send` with `dryRun: true`
198
+ 7. `event_send` with `dryRun: false`
199
+ 8. `event_get` using ID returned by send
200
+ 9. `graphql_query` simple read
201
+ 10. `entity_get` — verify entity lookup works (e.g., look up a known order by ref)
202
+ 11. `setting_get` with `name: "fc.mystique.manifest.%"` — verify settings read access and wildcard support
203
+ 12. `workflow_list` — verify REST workflow API access (list all workflows for a retailer)
204
+ 13. `workflow_get` with `entityType: "ORDER", entitySubtype: "HD"` — verify specific workflow fetch
205
+ 14. `workflow_transitions` (optional) — verify User Action API access for a known trigger
206
+ 15. `graphql_queryAll` — verify auto-pagination and run-level timeout
207
+ 16. `graphql_introspect` with `listMutations: true` — verify schema access
208
+ 17. `environment_discover` with `include: ["retailer", "locations"]` — verify environment snapshot
209
+ 18. `environment_validate` with `checks: ["auth", "retailer", "locations"]` — verify pre-flight checks
210
+ 19. (optional) `graphql_query` synchronous fulfilment options call
211
211
  (`createFulfilmentOption` with `executionMode: AWAIT_ORCHESTRATION`)
212
212
  for live checkout readiness checks
213
213
 
@@ -292,7 +292,7 @@ Likely causes:
292
292
 
293
293
  Actions:
294
294
 
295
- 1. call `config.validate`
295
+ 1. call `config_validate`
296
296
  2. inspect `errors` and `warnings`
297
297
  3. verify env vars in `.mcp.json`
298
298
  4. reload your IDE's MCP process
@@ -341,7 +341,7 @@ Actions:
341
341
  1. increase `FLUENT_REQUEST_TIMEOUT_MS`
342
342
  2. increase `FLUENT_RETRY_ATTEMPTS`
343
343
  3. verify base URL and outbound connectivity
344
- 4. for `graphql.queryAll`, increase tool-level `timeoutMs` (controls whole pagination run)
344
+ 4. for `graphql_queryAll`, increase tool-level `timeoutMs` (controls whole pagination run)
345
345
 
346
346
  ### `VALIDATION_ERROR`
347
347
 
@@ -364,11 +364,11 @@ Likely causes:
364
364
 
365
365
  Actions:
366
366
 
367
- 1. pass exact raw HTTP body via `rawBody` in `webhook.validate`
367
+ 1. pass exact raw HTTP body via `rawBody` in `webhook_validate`
368
368
  2. verify signature header value is unchanged
369
369
  3. confirm algorithm (`SHA512withRSA` default)
370
370
 
371
- ### `SDK_ERROR` with `Request failed: 400` on `event.send`
371
+ ### `SDK_ERROR` with `Request failed: 400` on `event_send`
372
372
 
373
373
  Likely causes:
374
374
 
@@ -377,7 +377,7 @@ Likely causes:
377
377
 
378
378
  Actions:
379
379
 
380
- 1. query the target entity via `graphql.query` and capture `id`, `ref`, and retailer
380
+ 1. query the target entity via `graphql_query` and capture `id`, `ref`, and retailer
381
381
  2. send event with matching `retailerId`
382
382
  3. include `entityId` and `rootEntityId` when available
383
383
 
@@ -411,7 +411,7 @@ Actions:
411
411
  2. increase `FLUENT_RESPONSE_BUDGET_CHARS` (e.g., `80000` or `100000`)
412
412
  3. increase `FLUENT_RESPONSE_MAX_ARRAY` if specific arrays are being summarized
413
413
  4. set `FLUENT_RESPONSE_BUDGET_CHARS=0` to disable shaping entirely
414
- 5. for `event.flowInspect`, use `compact: true` (default) to get a pre-analyzed
414
+ 5. for `event_flowInspect`, use `compact: true` (default) to get a pre-analyzed
415
415
  summary instead of raw arrays
416
416
 
417
417
  ## 7) Reliability tuning guidance