mmt-mcp 1.45.2-pre → 1.45.3

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.
@@ -21,5 +21,6 @@ An intermediate `type: doc` example that documents input parameters with options
21
21
  - **Ranges** use syntax like `<<i:page>> [1-5] Page number`.
22
22
  - **Output annotations** use `<<o:name>> Description`.
23
23
  - **`html.triable: true`** enables interactive Try buttons in rendered docs.
24
+ - Open the API file’s **Inputs** tab to pick values with the ⋯ menu on constrained fields.
24
25
 
25
- See [Doc docs](../../../docs/files/doc/index.md#parameter-annotations-in-api-descriptions) for details.
26
+ See [Input and output documentation](../../../docs/files/input-output-docs.md) for details.
@@ -65,6 +65,7 @@ Notes for the AI:
65
65
  ## When to use which fields
66
66
 
67
67
  - Use **`title`** and **`description`** whenever the user describes intent or business meaning (`"login endpoint"`, `"create user"`, etc.).
68
+ - When documenting parameters, prefer `<<i:name>>` / `<<o:name>>` in `description`, with `[a, b]` or `[1-5]` for allowed values / ranges on inputs (⋯ picker + Doc tables).
68
69
  - Use **`tags`** when the user mentions categories like "smoke", "load", "auth", "payments".
69
70
  - Use **`inputs`** when the user expects to change parameters between runs (username, pagination, filters, ids, etc.).
70
71
  - Use **`outputs`** + **`setenv`** when the user wants to **capture response data** for later steps (e.g. tokens, IDs).
@@ -53,6 +53,8 @@ steps:
53
53
  status: 200
54
54
  ```
55
55
 
56
+ Prefer **inline `expect` / `require` on the `call`** for assertions about that step’s outputs. Use separate `check` / `assert` steps only for cross-step conditions.
57
+
56
58
  ## When to use this skill
57
59
 
58
60
  - “Generate a test for this API.”
@@ -142,7 +142,9 @@ Beyond the basic `call`, `id`, and `inputs`, a call step also supports:
142
142
  report?: all | fails | none # controls pass/fail reporting level
143
143
  ```
144
144
 
145
- `expect` is a shorthand for common assertions — each key is a dotted path into the response, and the value is compared with `==` by default. You can prefix with an operator (e.g. `>= 1`, `!= null`).
145
+ `expect` is a shorthand for common assertions — each key is a dotted path into the response, and the value is compared with `==` by default. You can prefix with an operator (e.g. `>= 1`, `!= null`). Use `require` instead of `expect` when a failed comparison must **stop** the test (same map shape).
146
+
147
+ **Prefer inline `expect` / `require` on the `call` or `http` step** when the comparison is only about that step’s outputs (status, body fields, headers, …). Do **not** add a separate `- check:` / `- assert:` step for those. Reserve standalone `check` / `assert` for multi-step or cross-step conditions (comparing two step ids, values set earlier, loop state, etc.).
146
148
 
147
149
  `debug` uses the same syntax as `expect` but never fails the test — it always logs results with a debug icon for troubleshooting. Debug entries are excluded from exported reports.
148
150
 
@@ -328,5 +330,6 @@ steps:
328
330
  - Prefer small, readable tests focused on a single behavior.
329
331
  - Prefer `steps` for simple linear flows; only use `stages` when explicit parallelism is needed.
330
332
  - Always include `title` and `tags` (even if tags is a small list like `[smoke]`).
333
+ - Prefer **inline `expect` / `require` on `call` / `http`** over a following `check` / `assert` when validating only that step’s result.
331
334
  - Avoid adding `js` steps unless the user needs custom logic that can’t be expressed with other constructs. YAML comments (`#`) are fine — Format Document preserves them. Prefer `title` / `description` for structured documentation.
332
- When unsure, generate a **minimal valid test** that clearly calls the described APIs and asserts the most important property (typically HTTP status or a key field in the response).
335
+ When unsure, generate a **minimal valid test** that clearly calls the described APIs and asserts the most important property (typically HTTP status or a key field in the response) via inline `expect` on the call.
@@ -27,7 +27,7 @@ steps:
27
27
  - Use `steps` **or** `stages`, not both
28
28
  - Every `call` needs unique `id`
29
29
  - Import aliases before calling them
30
- - Assert with `expect` on call, or `assert` / `check` steps
30
+ - Prefer `expect` / `require` **on the call** when validating that step only; use `assert` / `check` steps for cross-step conditions
31
31
  - No YAML comments (`#`)
32
32
  - Tokens: `e:`, `i:`, `r:`, `c:` (snake_case)
33
33
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mmt-mcp",
3
- "version": "1.45.2-pre",
3
+ "version": "1.45.3",
4
4
  "description": "Multimeter MCP server for Cursor, Copilot, and Claude. Scaffold, validate, format, and run YAML .mmt API tests. Do not invent .mmt syntax.",
5
5
  "mcpName": "io.github.mshobeyri/multimeter",
6
6
  "type": "module",