@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/README.md +176 -174
- package/dist/batch-tools.js +21 -21
- package/dist/cache-tools.js +5 -5
- package/dist/config.js +1 -1
- package/dist/entity-tools.js +16 -16
- package/dist/environment-tools.js +10 -10
- package/dist/event-tools.js +26 -26
- package/dist/fluent-client.js +20 -0
- package/dist/graphql-query-tools.js +15 -15
- package/dist/graphql-schema-tools.js +14 -14
- package/dist/metrics-tools.js +40 -40
- package/dist/profile-registry.js +2 -2
- package/dist/response-shaper.js +1 -1
- package/dist/settings-tools.js +9 -9
- package/dist/test-tools.js +4 -4
- package/dist/tools.js +153 -148
- package/dist/workflow-tools.js +34 -44
- package/docs/E2E_TESTING.md +59 -59
- package/docs/HANDOVER_GITHUB_COPILOT.md +9 -9
- package/docs/HANDOVER_GITHUB_REPO_MCP_CONFIG.example.json +12 -12
- package/docs/RUNBOOK.md +38 -38
- package/docs/TOOL_REFERENCE.md +296 -296
- package/package.json +1 -1
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
|
-
- `
|
|
152
|
-
- `
|
|
153
|
-
- `
|
|
154
|
-
- `
|
|
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.
|
|
160
|
-
2.
|
|
161
|
-
3.
|
|
162
|
-
4.
|
|
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
|
|
172
|
-
- "Check
|
|
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. `
|
|
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 `
|
|
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 `
|
|
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. `
|
|
193
|
-
2. `
|
|
194
|
-
3. `
|
|
195
|
-
4. `
|
|
196
|
-
5. `
|
|
197
|
-
6. `
|
|
198
|
-
7. `
|
|
199
|
-
8. `
|
|
200
|
-
9. `
|
|
201
|
-
10. `
|
|
202
|
-
11. `
|
|
203
|
-
12. `
|
|
204
|
-
13. `
|
|
205
|
-
14. `
|
|
206
|
-
15. `
|
|
207
|
-
16. `
|
|
208
|
-
17. `
|
|
209
|
-
18. `
|
|
210
|
-
19. (optional) `
|
|
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 `
|
|
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 `
|
|
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 `
|
|
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 `
|
|
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 `
|
|
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 `
|
|
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
|