@qase/mcp-server 2.3.0 → 2.4.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 (88) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/build/index.d.ts +1 -1
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +2 -161
  5. package/build/index.js.map +1 -1
  6. package/build/operations-v2/composites/ci-report.js +9 -3
  7. package/build/operations-v2/composites/ci-report.js.map +1 -1
  8. package/build/operations-v2/composites/regression-run.js +8 -3
  9. package/build/operations-v2/composites/regression-run.js.map +1 -1
  10. package/build/operations-v2/composites/triage-defect.js +15 -5
  11. package/build/operations-v2/composites/triage-defect.js.map +1 -1
  12. package/build/operations-v2/escape/api.js +27 -5
  13. package/build/operations-v2/escape/api.js.map +1 -1
  14. package/build/operations-v2/index.d.ts +2 -0
  15. package/build/operations-v2/index.d.ts.map +1 -1
  16. package/build/operations-v2/index.js +2 -0
  17. package/build/operations-v2/index.js.map +1 -1
  18. package/build/operations-v2/meta/discover.js +8 -3
  19. package/build/operations-v2/meta/discover.js.map +1 -1
  20. package/build/operations-v2/qql/index.js +19 -6
  21. package/build/operations-v2/qql/index.js.map +1 -1
  22. package/build/operations-v2/read/get.js +10 -4
  23. package/build/operations-v2/read/get.js.map +1 -1
  24. package/build/operations-v2/read/project-context.js +11 -7
  25. package/build/operations-v2/read/project-context.js.map +1 -1
  26. package/build/operations-v2/write/attachments.js +17 -8
  27. package/build/operations-v2/write/attachments.js.map +1 -1
  28. package/build/operations-v2/write/cases-bulk.js +9 -5
  29. package/build/operations-v2/write/cases-bulk.js.map +1 -1
  30. package/build/operations-v2/write/cases.js +16 -6
  31. package/build/operations-v2/write/cases.js.map +1 -1
  32. package/build/operations-v2/write/custom-fields.d.ts +2 -0
  33. package/build/operations-v2/write/custom-fields.d.ts.map +1 -0
  34. package/build/operations-v2/write/custom-fields.js +226 -0
  35. package/build/operations-v2/write/custom-fields.js.map +1 -0
  36. package/build/operations-v2/write/defects.js +26 -4
  37. package/build/operations-v2/write/defects.js.map +1 -1
  38. package/build/operations-v2/write/environments.js +11 -3
  39. package/build/operations-v2/write/environments.js.map +1 -1
  40. package/build/operations-v2/write/external-issues.js +7 -5
  41. package/build/operations-v2/write/external-issues.js.map +1 -1
  42. package/build/operations-v2/write/milestones.js +10 -3
  43. package/build/operations-v2/write/milestones.js.map +1 -1
  44. package/build/operations-v2/write/plans.js +11 -3
  45. package/build/operations-v2/write/plans.js.map +1 -1
  46. package/build/operations-v2/write/projects.d.ts +2 -0
  47. package/build/operations-v2/write/projects.d.ts.map +1 -0
  48. package/build/operations-v2/write/projects.js +77 -0
  49. package/build/operations-v2/write/projects.js.map +1 -0
  50. package/build/operations-v2/write/results.js +15 -4
  51. package/build/operations-v2/write/results.js.map +1 -1
  52. package/build/operations-v2/write/reviews.js +28 -13
  53. package/build/operations-v2/write/reviews.js.map +1 -1
  54. package/build/operations-v2/write/runs.js +20 -3
  55. package/build/operations-v2/write/runs.js.map +1 -1
  56. package/build/operations-v2/write/shared-steps.js +11 -3
  57. package/build/operations-v2/write/shared-steps.js.map +1 -1
  58. package/build/operations-v2/write/suites.js +17 -5
  59. package/build/operations-v2/write/suites.js.map +1 -1
  60. package/build/server-instructions.d.ts +9 -0
  61. package/build/server-instructions.d.ts.map +1 -0
  62. package/build/server-instructions.js +21 -0
  63. package/build/server-instructions.js.map +1 -0
  64. package/build/server.d.ts +18 -0
  65. package/build/server.d.ts.map +1 -0
  66. package/build/server.js +181 -0
  67. package/build/server.js.map +1 -0
  68. package/build/transports/sse.d.ts.map +1 -1
  69. package/build/transports/sse.js +7 -2
  70. package/build/transports/sse.js.map +1 -1
  71. package/build/transports/streamableHttp.d.ts.map +1 -1
  72. package/build/transports/streamableHttp.js +3 -1
  73. package/build/transports/streamableHttp.js.map +1 -1
  74. package/build/utils/case-enums.d.ts +6 -0
  75. package/build/utils/case-enums.d.ts.map +1 -1
  76. package/build/utils/case-enums.js +11 -3
  77. package/build/utils/case-enums.js.map +1 -1
  78. package/build/utils/registry.d.ts.map +1 -1
  79. package/build/utils/registry.js +11 -3
  80. package/build/utils/registry.js.map +1 -1
  81. package/build/utils/server-context.d.ts +26 -6
  82. package/build/utils/server-context.d.ts.map +1 -1
  83. package/build/utils/server-context.js +37 -26
  84. package/build/utils/server-context.js.map +1 -1
  85. package/build/version.d.ts +1 -1
  86. package/build/version.js +1 -1
  87. package/package.json +2 -2
  88. package/server.json +2 -2
@@ -229,7 +229,7 @@ async function getQqlHelp(args) {
229
229
  '"in_progress", "invalid". A workspace can add its own statuses on top, so this list is ' +
230
230
  'not the whole set for a given workspace — read GET /v1/system_field via qase_api and ' +
231
231
  'take the `result_status` field for that (its options carry read_only: true for the ' +
232
- 'built-ins above, false for the workspace\'s own). Either the title or the slug works, ' +
232
+ "built-ins above, false for the workspace's own). Either the title or the slug works, " +
233
233
  'case-insensitively: "not ready" and "not_ready" are the same value. ' +
234
234
  '"untested" results are EXCLUDED BY DEFAULT (to preserve old query behavior). ANY ' +
235
235
  'condition on status lifts that exclusion, but they only show up if the condition ' +
@@ -264,7 +264,16 @@ async function getQqlHelp(args) {
264
264
  // ============================================================================
265
265
  toolRegistry.register({
266
266
  name: 'qql_search',
267
- description: 'Search entities using Qase Query Language (QQL) with powerful filtering and cross-project queries',
267
+ description: 'Search any entity with Qase Query Language: filtering, cross-project queries, sorting, and ' +
268
+ 'aggregation. This is the right tool for every question that is not "give me this one record ' +
269
+ 'by ID" — "cases without automation", "results that failed this week", "open blockers across ' +
270
+ 'projects" — and the right way to fetch many records at once instead of looping over ' +
271
+ 'qase_get. Call qql_help first for the syntax, the fields available per entity, and the enum ' +
272
+ 'values; a query naming an unknown attribute is rejected outright. Use qase_get instead when ' +
273
+ 'you already know the entity and its ID and want just that one. Cost: one API call. 0.5-0.9s ' +
274
+ 'for pages up to 50 records; a page of 100 measured 0.9-2.8s depending on how much each ' +
275
+ 'record carries. Prefer one search over N single fetches: the same ten records cost 1.2s here ' +
276
+ 'against 5.3s as ten qase_get calls.',
268
277
  schema: QqlSearchSchema,
269
278
  handler: qqlSearch,
270
279
  annotations: ReadAnnotation,
@@ -272,10 +281,14 @@ toolRegistry.register({
272
281
  });
273
282
  toolRegistry.register({
274
283
  name: 'qql_help',
275
- description: 'Get one section of the Qase Query Language (QQL) reference. `topic` is required ask for ' +
276
- 'the section you need rather than the whole reference. Start with "entities" when you are ' +
277
- 'unsure which fields an entity has (they differ per entity), "aggregation" to count or ' +
278
- 'summarise without paging, and "enumValues" for valid field values.',
284
+ description: 'Read the QQL reference before writing a query. Pass a `topic`: overview, syntax, entities, ' +
285
+ 'operators, functions, examples, aggregation, or enumValues. `entities` lists the fields each ' +
286
+ 'entity actually exposes, and `enumValues` gives the accepted values for status, priority, ' +
287
+ 'severity and the rest — both matter, because QQL rejects a query naming an attribute that ' +
288
+ 'does not exist on the entity rather than ignoring it, and the field names differ from those ' +
289
+ 'in the write tools. Read this once per session before the first qql_search rather than ' +
290
+ 'guessing and retrying. Cost: no API call, static text, about 2ms. Free to call, and cheaper ' +
291
+ 'than one rejected query.',
279
292
  schema: GetQqlHelpSchema,
280
293
  handler: getQqlHelp,
281
294
  annotations: ReadAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/operations-v2/qql/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/operations-v2/qql/index.ts"],"names":[],"mappings":"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"}
@@ -106,10 +106,16 @@ async function handler(args) {
106
106
  }
107
107
  toolRegistry.register({
108
108
  name: 'qase_get',
109
- description: 'Get any Qase entity by type and ID. Supports field projection via the `fields` parameter. ' +
110
- 'For project-scoped entities (case, suite, run, result, plan, defect, milestone, environment, ' +
111
- 'shared_step, shared_parameter, configuration), `code` is required. ' +
112
- 'For global entities (user, author, attachment, custom_field), `code` can be omitted.',
109
+ description: 'Fetch one known record by type and ID: case, suite, run, result, plan, defect, milestone, ' +
110
+ 'environment, shared_step, shared_parameter, configuration, attachment, author, user, review, ' +
111
+ 'or custom_field. `code` is required for project-scoped entities and can be omitted for ' +
112
+ 'global ones (user, author, attachment, custom_field). Narrow the payload with `fields`, or ' +
113
+ 'pass ["*"] for everything. Use this only when you already know the ID and want a single ' +
114
+ 'record. For several records, for anything filtered or cross-project, or when you are about ' +
115
+ 'to call this in a loop, use qql_search instead — one search returns the whole page at once. ' +
116
+ 'Cost: one API call, 0.3-0.5s. Ten of these in sequence measured 5.3s against 1.2s for a ' +
117
+ 'single qql_search returning the same ten records, so a loop over IDs is roughly four times ' +
118
+ 'slower and ten times more calls.',
113
119
  schema: Schema,
114
120
  handler,
115
121
  annotations: ReadAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/operations-v2/read/get.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IACtC,MAAM;IACN,OAAO;IACP,KAAK;IACL,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,WAAW;IACX,aAAa;IACb,aAAa;IACb,kBAAkB;IAClB,eAAe;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;IACtB,MAAM,EAAE,CAAC;SACN,IAAI,CAAC;QACJ,MAAM;QACN,OAAO;QACP,KAAK;QACL,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,WAAW;QACX,aAAa;QACb,aAAa;QACb,kBAAkB;QAClB,eAAe;QACf,YAAY;QACZ,QAAQ;QACR,MAAM;QACN,QAAQ;QACR,cAAc;KACf,CAAC;SACD,QAAQ,CAAC,sBAAsB,CAAC;IACnC,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACxF,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,qCAAqC,CAAC;IACnF,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CACP,4FAA4F,CAC7F;IACH,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,uEAAuE;QACrE,uEAAuE;QACvE,0EAA0E,CAC7E;CACJ,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,eAAe,GAA2B;IAC9C,IAAI,EAAE,iBAAiB;IACvB,GAAG,EAAE,gBAAgB;CACtB,CAAC;AAEF,MAAM,QAAQ,GAGV;IACF,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC;IAClE,KAAK,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;IACnD,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC;IAC/D,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IAChD,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;IACtD,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;IAC/D,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;IACpE,WAAW,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;IACnE,gBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACrF,aAAa,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC;IACzE,UAAU,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAC7D,MAAM,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;IACjE,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;CACvD,CAAC;AAEF,KAAK,UAAU,OAAO,CAAC,IAA4B;IACjD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAE9D,IAAI,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QACjD,MAAM,eAAe,CAAC,6CAA6C,MAAM,GAAG,EAAE,eAAe,CAAC,CAAC;IACjG,CAAC;IAED,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,OAAO;QAAE,MAAM,eAAe,CAAC,wBAAwB,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC;IAEvF,MAAM,gBAAgB,GAAG,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,CAAC,OAAO,IAAI,gBAAgB,KAAK,SAAS,CAAC;IAEpE,IAAI,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAEpF,qEAAqE;IACrE,wEAAwE;IACxE,sEAAsE;IACtE,oBAAoB;IACpB,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,QAAQ,EAAE,EAAE;QACX,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAClC,OAAO,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3D,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAChD,CAAC,CACF,CAAC;AACJ,CAAC;AAED,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,UAAU;IAChB,WAAW,EACT,4FAA4F;QAC5F,+FAA+F;QAC/F,qEAAqE;QACrE,sFAAsF;IACxF,MAAM,EAAE,MAAM;IACd,OAAO;IACP,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../src/operations-v2/read/get.ts"],"names":[],"mappings":"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"}
@@ -177,13 +177,17 @@ async function handler(args) {
177
177
  }
178
178
  toolRegistry.register({
179
179
  name: 'qase_project_context',
180
- description: 'Get full project context in one call: project details, suites tree, milestones, ' +
181
- 'environments, custom fields, and users. Cached for 5 minutes. Use this as the ' +
182
- 'first call when starting work with a project — it seeds all the metadata the LLM ' +
183
- `needs without making 6 separate list calls. Each collection returns its first ${PAGE_SIZE} ` +
184
- 'entities by default; the `coverage` field reports `{ total, loaded, truncated }` per ' +
185
- 'collection, so check it before assuming a list is complete. Pass `full: true` to page ' +
186
- 'through everything.',
180
+ description: 'Seed everything about a project in one call: project details, the full suite tree, ' +
181
+ 'milestones, environments, custom fields, and users. This is the first call to make when ' +
182
+ 'starting work on a project — it replaces six separate list calls and gives the model the ' +
183
+ 'metadata it needs to build any later query. Each collection returns its first ' +
184
+ `${PAGE_SIZE} entities; the \`coverage\` field reports { total, loaded, truncated } per ` +
185
+ 'collection, so check it before assuming a list is complete, and pass `full: true` to page ' +
186
+ 'through everything. For a single record you already have the ID for, qase_get is cheaper; ' +
187
+ 'for filtered or cross-project questions, use qql_search. Cost: six API calls behind one ' +
188
+ 'tool call, 0.5-1.3s cold, and 16-48KB of response depending on project size. Cached for ' +
189
+ '5 minutes, so repeat calls inside that window return in about 5ms. `full: true` costs one ' +
190
+ 'extra call per 100 entities and can return thousands of items.',
187
191
  schema: Schema,
188
192
  handler,
189
193
  annotations: ReadAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/operations-v2/read/project-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-context.js","sourceRoot":"","sources":["../../../src/operations-v2/read/project-context.ts"],"names":[],"mappings":"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"}
@@ -91,13 +91,18 @@ async function del(args) {
91
91
  }
92
92
  toolRegistry.register({
93
93
  name: 'qase_attachment_upload',
94
- description: 'Upload a file attachment and get back its hash, which the `attachments` field of ' +
95
- 'qase_case_upsert, qase_result_record, qase_ci_report, qase_triage_defect, and ' +
96
- 'qase_shared_step_upsert accepts. This is the only way to obtain such a hash — the upload ' +
97
- 'endpoint needs multipart/form-data, which qase_api cannot send. Pass the file as base64 ' +
98
- '(`file_base64`), which is the only option when the server runs remotely, such as the ' +
99
- 'hosted connector; `file_path` works only when the server runs on the same machine as ' +
100
- 'the file.',
94
+ description: 'Upload a file and get back the hash that other tools reference it by — screenshots, logs, ' +
95
+ 'HAR files, videos. Pass `file_base64` with the base64-encoded bytes, or `file_path` with an ' +
96
+ 'absolute path; `filename` with its extension is always required. Use `file_base64` unless ' +
97
+ 'the server runs on the same machine as the file: a remote server, the hosted connector ' +
98
+ 'included, cannot see your filesystem, and `file_path` will simply not find the file. The ' +
99
+ 'returned hash is what goes in the `attachments` field of qase_case_upsert, ' +
100
+ 'qase_result_record, qase_defect_upsert or qase_triage_defect — uploading alone attaches ' +
101
+ 'nothing, the hash has to be passed on. This is the only tool that sends ' +
102
+ 'multipart/form-data, which is why qase_api cannot send them. Upload once and reuse the ' +
103
+ 'hash rather than re-uploading the same evidence per case. Cost: one API call per file, ' +
104
+ 'dominated by file size rather than round trip — well under a second for a screenshot, ' +
105
+ 'seconds for a video. Base64 inflates the payload by about a third.',
101
106
  schema: UploadSchema,
102
107
  handler: upload,
103
108
  annotations: CreateAnnotation,
@@ -107,7 +112,11 @@ toolRegistry.register({
107
112
  });
108
113
  toolRegistry.register({
109
114
  name: 'qase_attachment_delete',
110
- description: 'Delete an attachment by its hash.',
115
+ description: 'Delete an attachment by its hash. Anything referencing it — a case, a result, a defect — ' +
116
+ 'keeps the reference but the file is gone, so screenshots and logs attached to a failure ' +
117
+ 'disappear from the evidence trail. This cannot be undone. Attachments are addressed by hash, ' +
118
+ 'not numeric ID; the hash comes back from qase_attachment_upload. Deletion asks the user for ' +
119
+ 'confirmation and does not proceed without it. Cost: one API call, about 0.4s.',
111
120
  schema: DeleteSchema,
112
121
  handler: del,
113
122
  annotations: DeleteAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/operations-v2/write/attachments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attachments.js","sourceRoot":"","sources":["../../../src/operations-v2/write/attachments.ts"],"names":[],"mappings":"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"}
@@ -47,11 +47,15 @@ async function handler(rawArgs) {
47
47
  }
48
48
  toolRegistry.register({
49
49
  name: 'qase_case_bulk_create',
50
- description: `Create up to ${MAX_CASES} test cases in a single request. Use this instead of calling ` +
51
- '`qase_case_upsert` repeatedly when importing or generating several cases at once. ' +
52
- 'Enum fields (priority, severity, type, etc.) accept both labels ("high", "blocker") and ' +
53
- 'numeric IDs. Creates only use `qase_case_upsert` with an `id` to update an existing case. ' +
54
- 'Returns the IDs of the created cases in the order they were submitted.',
50
+ description: `Create up to ${MAX_CASES} test cases in one request the batch form of qase_case_upsert, ` +
51
+ 'and the right tool whenever more than one case is being written. Takes a list of cases ' +
52
+ 'with the same fields and the same enum handling as qase_case_upsert: labels ("high", ' +
53
+ '"blocker") or numeric IDs both work, steps classic or Gherkin. The batch is validated as ' +
54
+ 'a whole, so an invalid item means nothing is created, and each item is then reported ' +
55
+ 'individually. Returns the IDs in the order submitted. This creates only; to change an ' +
56
+ 'existing case use qase_case_upsert with its `id`. Cost: one API call regardless of batch ' +
57
+ 'size. Ten cases measured 1.2s here against 5.6s as ten separate qase_case_upsert calls — ' +
58
+ 'four times faster and one tenth of the calls. Split larger imports across several calls.',
55
59
  schema: Schema,
56
60
  handler,
57
61
  annotations: CreateAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"cases-bulk.js","sourceRoot":"","sources":["../../../src/operations-v2/write/cases-bulk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cases-bulk.js","sourceRoot":"","sources":["../../../src/operations-v2/write/cases-bulk.ts"],"names":[],"mappings":"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"}
@@ -37,18 +37,28 @@ async function del(args) {
37
37
  }
38
38
  toolRegistry.register({
39
39
  name: 'qase_case_upsert',
40
- description: 'Create or update a test case. If `id` is provided, updates the existing case; ' +
41
- 'if omitted, creates a new one. Enum fields (priority, severity, type, etc.) accept ' +
42
- 'both labels ("high", "blocker") and numeric IDs — the server normalizes automatically. ' +
43
- 'If the project has "Test case review" enabled, changes may need to go through a review ' +
44
- 'instead of being written directly run qase_discover_tools with "review" for those tools.',
40
+ description: 'Create or update a single test case. With `id` it updates that case, without `id` it creates ' +
41
+ 'a new one. Enum fields (priority, severity, type, layer, behavior, automation) accept either ' +
42
+ 'a label such as "high" or "blocker" or the project\'s numeric ID — the server normalizes ' +
43
+ 'both. Steps can be classic action/expected pairs or Gherkin, and may reference shared steps ' +
44
+ 'by hash. Writing more than one case? Use qase_case_bulk_create instead: it takes a list and ' +
45
+ 'sends one request. If the project has "Test case review" enabled, direct writes may need to ' +
46
+ 'go through a review — run qase_discover_tools with "review" for those tools. Cost: one API ' +
47
+ 'call, about 0.6s to create and 0.4s to update. Ten sequential calls measured 5.6s against ' +
48
+ '1.2s for one qase_case_bulk_create writing the same ten, so a loop is roughly four times ' +
49
+ 'slower.',
45
50
  schema: UpsertSchema,
46
51
  handler: upsert,
47
52
  annotations: CreateAnnotation,
48
53
  });
49
54
  toolRegistry.register({
50
55
  name: 'qase_case_delete',
51
- description: 'Delete a test case by project code and case ID.',
56
+ description: 'Delete a test case by project code and case ID. The case goes, and so does its execution ' +
57
+ 'history — every result recorded against it stops being reachable. This cannot be undone. ' +
58
+ 'Before deleting a case that has simply become obsolete, consider marking it deprecated ' +
59
+ 'through qase_case_upsert instead, which keeps the history intact. There is no bulk delete: ' +
60
+ 'removing many cases means one call each, and each one asks for confirmation. Deletion asks ' +
61
+ 'the user for confirmation and does not proceed without it. Cost: one API call, about 0.4s.',
52
62
  schema: DeleteSchema,
53
63
  handler: del,
54
64
  annotations: DeleteAnnotation,
@@ -1 +1 @@
1
- {"version":3,"file":"cases.js","sourceRoot":"","sources":["../../../src/operations-v2/write/cases.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cases.js","sourceRoot":"","sources":["../../../src/operations-v2/write/cases.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=custom-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-fields.d.ts","sourceRoot":"","sources":["../../../src/operations-v2/write/custom-fields.ts"],"names":[],"mappings":""}
@@ -0,0 +1,226 @@
1
+ import { z } from 'zod';
2
+ import { getApiClient } from '../../client/index.js';
3
+ import { toolRegistry, CreateAnnotation, DeleteAnnotation } from '../../utils/registry.js';
4
+ import { toResultAsync, createToolError } from '../../utils/errors.js';
5
+ import { IdSchema, ProjectCodeSchema } from '../../utils/validation.js';
6
+ const CONTEXT = 'custom field operation';
7
+ /** The API takes numbers here; the tool takes labels and maps them. */
8
+ const ENTITY_CODES = { case: 0, run: 1, defect: 2 };
9
+ const TYPE_CODES = {
10
+ number: 0,
11
+ string: 1,
12
+ text: 2,
13
+ selectbox: 3,
14
+ checkbox: 4,
15
+ radio: 5,
16
+ multiselect: 6,
17
+ url: 7,
18
+ user: 8,
19
+ datetime: 9,
20
+ };
21
+ /** Types whose whole point is a list of options to pick from. */
22
+ const TYPES_NEEDING_OPTIONS = ['selectbox', 'radio', 'multiselect'];
23
+ const UpsertSchema = z.object({
24
+ id: IdSchema.optional().describe('Custom field ID — if provided, updates; if omitted, creates'),
25
+ title: z.string().min(1).max(255).describe('Field title'),
26
+ entity: z
27
+ .enum(['case', 'run', 'defect'])
28
+ .optional()
29
+ .describe('What the field is attached to. Required when creating; cannot be changed later'),
30
+ type: z
31
+ .enum(Object.keys(TYPE_CODES))
32
+ .optional()
33
+ .describe('Field type. Required when creating; cannot be changed later'),
34
+ value: z
35
+ .array(z.string())
36
+ .optional()
37
+ .describe('Option titles — required for selectbox, radio and multiselect'),
38
+ placeholder: z.string().optional(),
39
+ default_value: z.string().optional(),
40
+ is_filterable: z.boolean().optional(),
41
+ is_visible: z.boolean().optional(),
42
+ is_required: z.boolean().optional(),
43
+ is_enabled_for_all_projects: z.boolean().optional(),
44
+ projects_codes: z
45
+ .array(ProjectCodeSchema)
46
+ .optional()
47
+ .describe('Projects the field applies to. Ignored when is_enabled_for_all_projects is true'),
48
+ });
49
+ const DeleteSchema = z.object({
50
+ id: IdSchema,
51
+ });
52
+ function parseArgs(rawArgs) {
53
+ const parsed = UpsertSchema.safeParse(rawArgs);
54
+ if (!parsed.success) {
55
+ const details = parsed.error.issues
56
+ .map((issue) => `${issue.path.join('.') || 'arguments'}: ${issue.message}`)
57
+ .join('; ');
58
+ throw createToolError(`Invalid arguments — ${details}`, CONTEXT);
59
+ }
60
+ return parsed.data;
61
+ }
62
+ async function upsert(rawArgs) {
63
+ const args = parseArgs(rawArgs);
64
+ const { id, entity, type, value, ...rest } = args;
65
+ const client = getApiClient();
66
+ // Option titles travel as objects, so a caller can pass a plain list of strings.
67
+ const options = value?.map((title) => ({ title }));
68
+ if (id) {
69
+ const current = await readField(id);
70
+ // `entity` and `type` are fixed at creation — the update endpoint has no
71
+ // field for either. Accepting them silently would let a caller believe a
72
+ // field changed shape when it did not, so say what was ignored.
73
+ const warning = describeIgnoredShape(current, type);
74
+ // The endpoint replaces the record instead of patching it, so everything
75
+ // the caller left out has to be sent back as it stands. Renaming a field
76
+ // otherwise empties its projects_codes and unscopes it from every project.
77
+ // A select-type field additionally rejects an update carrying no options,
78
+ // with nothing but "Data is invalid" to explain itself; the option ids come
79
+ // along too, since dropping them recreates the options and orphans the
80
+ // values already chosen on cases.
81
+ const optionsToSend = options ?? existingOptions(current);
82
+ const body = {
83
+ ...carriedOver(current, rest),
84
+ ...rest,
85
+ ...(optionsToSend && { value: optionsToSend }),
86
+ };
87
+ const result = await toResultAsync(client.customFields.updateCustomField(id, body));
88
+ return result.match(() => ({ id, ...(warning && { warning }) }), (e) => {
89
+ throw createToolError(e, CONTEXT);
90
+ });
91
+ }
92
+ if (entity === undefined || type === undefined) {
93
+ throw createToolError('Invalid arguments — entity and type are required when creating a custom field', CONTEXT);
94
+ }
95
+ if (TYPES_NEEDING_OPTIONS.includes(type) && !options) {
96
+ throw createToolError(`Invalid arguments — value is required for a ${type} field: it has nothing to offer without options`, CONTEXT);
97
+ }
98
+ const body = {
99
+ ...rest,
100
+ entity: ENTITY_CODES[entity],
101
+ type: TYPE_CODES[type],
102
+ ...(options && { value: options }),
103
+ };
104
+ const result = await toResultAsync(client.customFields.createCustomField(body));
105
+ return result.match((r) => r.data.result, (e) => {
106
+ throw createToolError(e, CONTEXT);
107
+ });
108
+ }
109
+ /**
110
+ * Settings the update endpoint replaces rather than patches: anything omitted
111
+ * comes back empty. Carried over so an update only changes what was asked for.
112
+ */
113
+ const CARRIED_OVER = [
114
+ 'placeholder',
115
+ 'default_value',
116
+ 'is_filterable',
117
+ 'is_visible',
118
+ 'is_required',
119
+ 'is_enabled_for_all_projects',
120
+ 'projects_codes',
121
+ ];
122
+ async function readField(id) {
123
+ const client = getApiClient();
124
+ const result = await toResultAsync(client.customFields.getCustomField(id));
125
+ return result.match((r) => r.data.result, () => undefined);
126
+ }
127
+ /**
128
+ * The options a select-type field already has, ready to be sent back.
129
+ * Undefined for types that have none, or when they cannot be read — the update
130
+ * should still go out and let the API speak for itself.
131
+ */
132
+ function existingOptions(current) {
133
+ const label = currentTypeLabel(current);
134
+ if (label === undefined)
135
+ return undefined;
136
+ if (!TYPES_NEEDING_OPTIONS.includes(label)) {
137
+ return undefined;
138
+ }
139
+ // The API hands options back as a JSON string, not as an array.
140
+ const raw = current?.value;
141
+ const parsed = typeof raw === 'string' ? safeParseJson(raw) : raw;
142
+ return Array.isArray(parsed) ? parsed : undefined;
143
+ }
144
+ /** Current settings the caller did not mention, ready to be sent back. */
145
+ function carriedOver(current, given) {
146
+ if (!current)
147
+ return {};
148
+ const source = current;
149
+ const carried = {};
150
+ for (const key of CARRIED_OVER) {
151
+ if (given[key] === undefined && source[key] !== undefined && source[key] !== null) {
152
+ carried[key] = source[key];
153
+ }
154
+ }
155
+ return carried;
156
+ }
157
+ /** The field's type as a label, whichever form the API used to report it. */
158
+ function currentTypeLabel(current) {
159
+ const raw = current?.type;
160
+ if (raw === undefined)
161
+ return undefined;
162
+ if (typeof raw === 'string') {
163
+ return Object.keys(TYPE_CODES).find((k) => k === raw);
164
+ }
165
+ return Object.keys(TYPE_CODES).find((k) => TYPE_CODES[k] === raw);
166
+ }
167
+ function safeParseJson(raw) {
168
+ try {
169
+ return JSON.parse(raw);
170
+ }
171
+ catch {
172
+ return undefined;
173
+ }
174
+ }
175
+ /**
176
+ * Report a type the caller asked for that the field cannot be given. Returns
177
+ * undefined when nothing was asked for, when it matches, or when the current
178
+ * shape cannot be read — a warning is a courtesy, never a reason to fail.
179
+ */
180
+ function describeIgnoredShape(current, type) {
181
+ if (type === undefined)
182
+ return undefined;
183
+ const currentLabel = currentTypeLabel(current);
184
+ if (currentLabel === undefined || currentLabel === type)
185
+ return undefined;
186
+ return (`The field stays a ${currentLabel}: a custom field's type is fixed when it is created, ` +
187
+ `so "${type}" was ignored. Delete and recreate the field to change its type.`);
188
+ }
189
+ async function del(args) {
190
+ const client = getApiClient();
191
+ const result = await toResultAsync(client.customFields.deleteCustomField(args.id));
192
+ return result.match(() => ({ success: true, id: args.id }), (e) => {
193
+ throw createToolError(e, CONTEXT);
194
+ });
195
+ }
196
+ toolRegistry.register({
197
+ name: 'qase_custom_field_upsert',
198
+ description: 'Create or update a custom field. With `id` it updates that field, without `id` it creates ' +
199
+ 'one, and `entity` ("case", "run" or "defect") and `type` ("number", "string", "text", ' +
200
+ '"selectbox", "checkbox", "radio", "multiselect", "url", "user", "datetime") are then ' +
201
+ 'required. Both are fixed at creation: the update endpoint cannot change them, and passing a ' +
202
+ 'different `type` to an update returns a warning rather than silently doing nothing. Options ' +
203
+ 'for selectbox, radio and multiselect are given as a plain list of titles. Custom fields are ' +
204
+ 'workspace-wide, not per-project: scope them with `projects_codes` or set ' +
205
+ 'is_enabled_for_all_projects. Anything left out of an update is carried over from the current ' +
206
+ 'field, so a rename does not empty the rest. Read existing fields with qase_project_context ' +
207
+ 'or qase_get. Cost: one API call to create, two to update (the current field is read first), ' +
208
+ 'about 0.5-0.9s.',
209
+ schema: UpsertSchema,
210
+ handler: upsert,
211
+ annotations: CreateAnnotation,
212
+ visibility: 'discoverable',
213
+ });
214
+ toolRegistry.register({
215
+ name: 'qase_custom_field_delete',
216
+ description: 'Delete a custom field by ID. The field disappears from every project it applies to, and the ' +
217
+ 'values entered for it on cases, runs or defects go with it — the reach is workspace-wide, ' +
218
+ 'not project-wide. This cannot be undone. To take a field out of one project only, use ' +
219
+ 'qase_custom_field_upsert and remove that code from `projects_codes` instead. Deletion asks ' +
220
+ 'the user for confirmation and does not proceed without it. Cost: one API call, about 0.4s.',
221
+ schema: DeleteSchema,
222
+ handler: del,
223
+ annotations: DeleteAnnotation,
224
+ visibility: 'discoverable',
225
+ });
226
+ //# sourceMappingURL=custom-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../../../src/operations-v2/write/custom-fields.ts"],"names":[],"mappings":"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"}