@qase/mcp-server 1.1.8 → 2.0.1
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/CHANGELOG.md +38 -0
- package/README.md +75 -542
- package/build/auth/client-context.d.ts +12 -0
- package/build/auth/client-context.d.ts.map +1 -0
- package/build/auth/client-context.js +12 -0
- package/build/auth/client-context.js.map +1 -0
- package/build/auth/jwks-verifier.d.ts +15 -0
- package/build/auth/jwks-verifier.d.ts.map +1 -0
- package/build/auth/jwks-verifier.js +31 -0
- package/build/auth/jwks-verifier.js.map +1 -0
- package/build/auth/mcp-guard.d.ts +15 -0
- package/build/auth/mcp-guard.d.ts.map +1 -0
- package/build/auth/mcp-guard.js +44 -0
- package/build/auth/mcp-guard.js.map +1 -0
- package/build/auth/oauth-config.d.ts +40 -0
- package/build/auth/oauth-config.d.ts.map +1 -0
- package/build/auth/oauth-config.js +34 -0
- package/build/auth/oauth-config.js.map +1 -0
- package/build/auth/proxy-provider.d.ts +31 -0
- package/build/auth/proxy-provider.d.ts.map +1 -0
- package/build/auth/proxy-provider.js +87 -0
- package/build/auth/proxy-provider.js.map +1 -0
- package/build/auth/token-type.d.ts +7 -0
- package/build/auth/token-type.d.ts.map +1 -0
- package/build/auth/token-type.js +10 -0
- package/build/auth/token-type.js.map +1 -0
- package/build/cache/circuit-breaker.d.ts +33 -0
- package/build/cache/circuit-breaker.d.ts.map +1 -0
- package/build/cache/circuit-breaker.js +68 -0
- package/build/cache/circuit-breaker.js.map +1 -0
- package/build/cache/index.d.ts +24 -0
- package/build/cache/index.d.ts.map +1 -0
- package/build/cache/index.js +86 -0
- package/build/cache/index.js.map +1 -0
- package/build/cache/keys.d.ts +25 -0
- package/build/cache/keys.d.ts.map +1 -0
- package/build/cache/keys.js +36 -0
- package/build/cache/keys.js.map +1 -0
- package/build/cache/layered.d.ts +31 -0
- package/build/cache/layered.d.ts.map +1 -0
- package/build/cache/layered.js +88 -0
- package/build/cache/layered.js.map +1 -0
- package/build/cache/memory.d.ts +32 -0
- package/build/cache/memory.d.ts.map +1 -0
- package/build/cache/memory.js +108 -0
- package/build/cache/memory.js.map +1 -0
- package/build/cache/metrics.d.ts +31 -0
- package/build/cache/metrics.d.ts.map +1 -0
- package/build/cache/metrics.js +95 -0
- package/build/cache/metrics.js.map +1 -0
- package/build/cache/prom-format.d.ts +7 -0
- package/build/cache/prom-format.d.ts.map +1 -0
- package/build/cache/prom-format.js +16 -0
- package/build/cache/prom-format.js.map +1 -0
- package/build/cache/redis-bus.d.ts +29 -0
- package/build/cache/redis-bus.d.ts.map +1 -0
- package/build/cache/redis-bus.js +50 -0
- package/build/cache/redis-bus.js.map +1 -0
- package/build/cache/redis.d.ts +32 -0
- package/build/cache/redis.d.ts.map +1 -0
- package/build/cache/redis.js +89 -0
- package/build/cache/redis.js.map +1 -0
- package/build/cache/types.d.ts +38 -0
- package/build/cache/types.d.ts.map +1 -0
- package/build/cache/types.js +2 -0
- package/build/cache/types.js.map +1 -0
- package/build/client/index.d.ts +10 -3
- package/build/client/index.d.ts.map +1 -1
- package/build/client/index.js +75 -50
- package/build/client/index.js.map +1 -1
- package/build/http/agent.d.ts +16 -0
- package/build/http/agent.d.ts.map +1 -0
- package/build/http/agent.js +16 -0
- package/build/http/agent.js.map +1 -0
- package/build/http/dedupe.d.ts +14 -0
- package/build/http/dedupe.d.ts.map +1 -0
- package/build/http/dedupe.js +69 -0
- package/build/http/dedupe.js.map +1 -0
- package/build/http/index.d.ts +6 -0
- package/build/http/index.d.ts.map +1 -0
- package/build/http/index.js +4 -0
- package/build/http/index.js.map +1 -0
- package/build/http/retry.d.ts +18 -0
- package/build/http/retry.d.ts.map +1 -0
- package/build/http/retry.js +52 -0
- package/build/http/retry.js.map +1 -0
- package/build/index.d.ts +1 -18
- package/build/index.d.ts.map +1 -1
- package/build/index.js +95 -63
- package/build/index.js.map +1 -1
- package/build/operations-v2/composites/ci-report.d.ts +2 -0
- package/build/operations-v2/composites/ci-report.d.ts.map +1 -0
- package/build/operations-v2/composites/ci-report.js +99 -0
- package/build/operations-v2/composites/ci-report.js.map +1 -0
- package/build/operations-v2/composites/regression-run.d.ts +2 -0
- package/build/operations-v2/composites/regression-run.d.ts.map +1 -0
- package/build/operations-v2/composites/regression-run.js +81 -0
- package/build/operations-v2/composites/regression-run.js.map +1 -0
- package/build/operations-v2/composites/triage-defect.d.ts +2 -0
- package/build/operations-v2/composites/triage-defect.d.ts.map +1 -0
- package/build/operations-v2/composites/triage-defect.js +67 -0
- package/build/operations-v2/composites/triage-defect.js.map +1 -0
- package/build/operations-v2/escape/api.d.ts +2 -0
- package/build/operations-v2/escape/api.d.ts.map +1 -0
- package/build/operations-v2/escape/api.js +34 -0
- package/build/operations-v2/escape/api.js.map +1 -0
- package/build/operations-v2/index.d.ts +21 -0
- package/build/operations-v2/index.d.ts.map +1 -0
- package/build/operations-v2/index.js +27 -0
- package/build/operations-v2/index.js.map +1 -0
- package/build/operations-v2/meta/discover.d.ts +9 -0
- package/build/operations-v2/meta/discover.d.ts.map +1 -0
- package/build/operations-v2/meta/discover.js +79 -0
- package/build/operations-v2/meta/discover.js.map +1 -0
- package/build/{operations/search.d.ts → operations-v2/qql/index.d.ts} +1 -1
- package/build/operations-v2/qql/index.d.ts.map +1 -0
- package/build/{operations/search.js → operations-v2/qql/index.js} +34 -9
- package/build/operations-v2/qql/index.js.map +1 -0
- package/build/operations-v2/read/get.d.ts +2 -0
- package/build/operations-v2/read/get.d.ts.map +1 -0
- package/build/operations-v2/read/get.js +115 -0
- package/build/operations-v2/read/get.js.map +1 -0
- package/build/operations-v2/read/project-context.d.ts +2 -0
- package/build/operations-v2/read/project-context.d.ts.map +1 -0
- package/build/operations-v2/read/project-context.js +102 -0
- package/build/operations-v2/read/project-context.js.map +1 -0
- package/build/operations-v2/write/attachments.d.ts +2 -0
- package/build/operations-v2/write/attachments.d.ts.map +1 -0
- package/build/operations-v2/write/attachments.js +58 -0
- package/build/operations-v2/write/attachments.js.map +1 -0
- package/build/operations-v2/write/case-fields.d.ts +206 -0
- package/build/operations-v2/write/case-fields.d.ts.map +1 -0
- package/build/operations-v2/write/case-fields.js +79 -0
- package/build/operations-v2/write/case-fields.js.map +1 -0
- package/build/operations-v2/write/cases-bulk.d.ts +2 -0
- package/build/operations-v2/write/cases-bulk.d.ts.map +1 -0
- package/build/operations-v2/write/cases-bulk.js +54 -0
- package/build/operations-v2/write/cases-bulk.js.map +1 -0
- package/build/operations-v2/write/cases.d.ts +2 -0
- package/build/operations-v2/write/cases.d.ts.map +1 -0
- package/build/operations-v2/write/cases.js +52 -0
- package/build/operations-v2/write/cases.js.map +1 -0
- package/build/operations-v2/write/defects.d.ts +2 -0
- package/build/operations-v2/write/defects.d.ts.map +1 -0
- package/build/operations-v2/write/defects.js +81 -0
- package/build/operations-v2/write/defects.js.map +1 -0
- package/build/operations-v2/write/environments.d.ts +2 -0
- package/build/operations-v2/write/environments.d.ts.map +1 -0
- package/build/operations-v2/write/environments.js +56 -0
- package/build/operations-v2/write/environments.js.map +1 -0
- package/build/operations-v2/write/external-issues.d.ts +2 -0
- package/build/operations-v2/write/external-issues.d.ts.map +1 -0
- package/build/operations-v2/write/external-issues.js +96 -0
- package/build/operations-v2/write/external-issues.js.map +1 -0
- package/build/operations-v2/write/milestones.d.ts +2 -0
- package/build/operations-v2/write/milestones.d.ts.map +1 -0
- package/build/operations-v2/write/milestones.js +56 -0
- package/build/operations-v2/write/milestones.js.map +1 -0
- package/build/operations-v2/write/plans.d.ts +2 -0
- package/build/operations-v2/write/plans.d.ts.map +1 -0
- package/build/operations-v2/write/plans.js +55 -0
- package/build/operations-v2/write/plans.js.map +1 -0
- package/build/operations-v2/write/results.d.ts +2 -0
- package/build/operations-v2/write/results.d.ts.map +1 -0
- package/build/operations-v2/write/results.js +72 -0
- package/build/operations-v2/write/results.js.map +1 -0
- package/build/operations-v2/write/runs.d.ts +2 -0
- package/build/operations-v2/write/runs.d.ts.map +1 -0
- package/build/operations-v2/write/runs.js +84 -0
- package/build/operations-v2/write/runs.js.map +1 -0
- package/build/operations-v2/write/shared-steps.d.ts +2 -0
- package/build/operations-v2/write/shared-steps.d.ts.map +1 -0
- package/build/operations-v2/write/shared-steps.js +60 -0
- package/build/operations-v2/write/shared-steps.js.map +1 -0
- package/build/operations-v2/write/suites.d.ts +2 -0
- package/build/operations-v2/write/suites.d.ts.map +1 -0
- package/build/operations-v2/write/suites.js +63 -0
- package/build/operations-v2/write/suites.js.map +1 -0
- package/build/prompts/index.d.ts +31 -0
- package/build/prompts/index.d.ts.map +1 -0
- package/build/prompts/index.js +229 -0
- package/build/prompts/index.js.map +1 -0
- package/build/transports/sse.d.ts.map +1 -1
- package/build/transports/sse.js +6 -0
- package/build/transports/sse.js.map +1 -1
- package/build/transports/streamableHttp.d.ts +6 -1
- package/build/transports/streamableHttp.d.ts.map +1 -1
- package/build/transports/streamableHttp.js +128 -16
- package/build/transports/streamableHttp.js.map +1 -1
- package/build/utils/auth-context.d.ts +8 -0
- package/build/utils/auth-context.d.ts.map +1 -1
- package/build/utils/auth-context.js +18 -0
- package/build/utils/auth-context.js.map +1 -1
- package/build/utils/case-enums.d.ts +5 -3
- package/build/utils/case-enums.d.ts.map +1 -1
- package/build/utils/case-enums.js +77 -59
- package/build/utils/case-enums.js.map +1 -1
- package/build/utils/output-schemas.d.ts +16 -0
- package/build/utils/output-schemas.d.ts.map +1 -0
- package/build/utils/output-schemas.js +82 -0
- package/build/utils/output-schemas.js.map +1 -0
- package/build/utils/registry.d.ts +42 -9
- package/build/utils/registry.d.ts.map +1 -1
- package/build/utils/registry.js +64 -11
- package/build/utils/registry.js.map +1 -1
- package/build/utils/response-shape.d.ts +23 -0
- package/build/utils/response-shape.d.ts.map +1 -0
- package/build/utils/response-shape.js +73 -0
- package/build/utils/response-shape.js.map +1 -0
- package/build/utils/rich-response.d.ts +58 -0
- package/build/utils/rich-response.d.ts.map +1 -0
- package/build/utils/rich-response.js +93 -0
- package/build/utils/rich-response.js.map +1 -0
- package/build/utils/server-context.d.ts +65 -0
- package/build/utils/server-context.d.ts.map +1 -0
- package/build/utils/server-context.js +67 -0
- package/build/utils/server-context.js.map +1 -0
- package/build/version.d.ts +1 -1
- package/build/version.js +1 -1
- package/docs/connect.md +81 -0
- package/docs/migration.md +351 -0
- package/docs/self-run.md +270 -0
- package/docs/tools.md +111 -0
- package/docs/troubleshooting.md +144 -0
- package/package.json +11 -2
- package/server.json +8 -2
- package/build/operations/attachments.d.ts +0 -8
- package/build/operations/attachments.d.ts.map +0 -1
- package/build/operations/attachments.js +0 -146
- package/build/operations/attachments.js.map +0 -1
- package/build/operations/authors.d.ts +0 -8
- package/build/operations/authors.d.ts.map +0 -1
- package/build/operations/authors.js +0 -70
- package/build/operations/authors.js.map +0 -1
- package/build/operations/cases.d.ts +0 -8
- package/build/operations/cases.d.ts.map +0 -1
- package/build/operations/cases.js +0 -370
- package/build/operations/cases.js.map +0 -1
- package/build/operations/configurations.d.ts +0 -10
- package/build/operations/configurations.d.ts.map +0 -1
- package/build/operations/configurations.js +0 -125
- package/build/operations/configurations.js.map +0 -1
- package/build/operations/custom-fields.d.ts +0 -8
- package/build/operations/custom-fields.d.ts.map +0 -1
- package/build/operations/custom-fields.js +0 -172
- package/build/operations/custom-fields.js.map +0 -1
- package/build/operations/defects.d.ts +0 -8
- package/build/operations/defects.d.ts.map +0 -1
- package/build/operations/defects.js +0 -256
- package/build/operations/defects.js.map +0 -1
- package/build/operations/environments.d.ts +0 -8
- package/build/operations/environments.d.ts.map +0 -1
- package/build/operations/environments.js +0 -154
- package/build/operations/environments.js.map +0 -1
- package/build/operations/milestones.d.ts +0 -8
- package/build/operations/milestones.d.ts.map +0 -1
- package/build/operations/milestones.js +0 -155
- package/build/operations/milestones.js.map +0 -1
- package/build/operations/plans.d.ts +0 -8
- package/build/operations/plans.d.ts.map +0 -1
- package/build/operations/plans.js +0 -158
- package/build/operations/plans.js.map +0 -1
- package/build/operations/projects.d.ts +0 -8
- package/build/operations/projects.d.ts.map +0 -1
- package/build/operations/projects.js +0 -192
- package/build/operations/projects.js.map +0 -1
- package/build/operations/results.d.ts +0 -8
- package/build/operations/results.d.ts.map +0 -1
- package/build/operations/results.js +0 -214
- package/build/operations/results.js.map +0 -1
- package/build/operations/runs.d.ts +0 -8
- package/build/operations/runs.d.ts.map +0 -1
- package/build/operations/runs.js +0 -224
- package/build/operations/runs.js.map +0 -1
- package/build/operations/search.d.ts.map +0 -1
- package/build/operations/search.js.map +0 -1
- package/build/operations/shared-parameters.d.ts +0 -10
- package/build/operations/shared-parameters.d.ts.map +0 -1
- package/build/operations/shared-parameters.js +0 -93
- package/build/operations/shared-parameters.js.map +0 -1
- package/build/operations/shared-steps.d.ts +0 -8
- package/build/operations/shared-steps.d.ts.map +0 -1
- package/build/operations/shared-steps.js +0 -160
- package/build/operations/shared-steps.js.map +0 -1
- package/build/operations/suites.d.ts +0 -8
- package/build/operations/suites.d.ts.map +0 -1
- package/build/operations/suites.js +0 -169
- package/build/operations/suites.js.map +0 -1
- package/build/operations/system-fields.d.ts +0 -10
- package/build/operations/system-fields.d.ts.map +0 -1
- package/build/operations/system-fields.js +0 -47
- package/build/operations/system-fields.js.map +0 -1
- package/build/operations/users.d.ts +0 -10
- package/build/operations/users.d.ts.map +0 -1
- package/build/operations/users.js +0 -78
- package/build/operations/users.js.map +0 -1
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Results Operations
|
|
3
|
-
*
|
|
4
|
-
* Implements all MCP tools for managing test results in Qase.
|
|
5
|
-
* Test results represent individual test case execution outcomes within runs.
|
|
6
|
-
*/
|
|
7
|
-
import { z } from 'zod';
|
|
8
|
-
import { getApiClient } from '../client/index.js';
|
|
9
|
-
import { toolRegistry, ReadAnnotation, CreateAnnotation, UpdateAnnotation, DeleteAnnotation, } from '../utils/registry.js';
|
|
10
|
-
import { toResultAsync, createToolError } from '../utils/errors.js';
|
|
11
|
-
import { ProjectCodeSchema, IdSchema, HashSchema } from '../utils/validation.js';
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// SCHEMAS
|
|
14
|
-
// ============================================================================
|
|
15
|
-
/**
|
|
16
|
-
* Schema for result step
|
|
17
|
-
*/
|
|
18
|
-
const ResultStepSchema = z.object({
|
|
19
|
-
position: z.number().int().nonnegative().describe('Step position/order'),
|
|
20
|
-
status: z.enum(['passed', 'failed', 'blocked', 'skipped']).describe('Step execution status'),
|
|
21
|
-
comment: z.string().optional().describe('Comment about the step execution'),
|
|
22
|
-
attachments: z.array(z.string()).optional().describe('Array of attachment hashes for this step'),
|
|
23
|
-
});
|
|
24
|
-
/**
|
|
25
|
-
* Schema for listing test results
|
|
26
|
-
*/
|
|
27
|
-
const ListResultsSchema = z.object({
|
|
28
|
-
code: ProjectCodeSchema,
|
|
29
|
-
status: z.string().optional().describe('Filter by status'),
|
|
30
|
-
run: z.string().optional().describe('Filter by run ID'),
|
|
31
|
-
case_id: z.string().optional().describe('Filter by case ID'),
|
|
32
|
-
member: z.string().optional().describe('Filter by member'),
|
|
33
|
-
api: z.boolean().optional().describe('Filter by API results'),
|
|
34
|
-
from_end_time: z.string().optional().describe('Filter results ending after this time'),
|
|
35
|
-
to_end_time: z.string().optional().describe('Filter results ending before this time'),
|
|
36
|
-
limit: z.number().int().positive().max(100).optional().describe('Maximum number of items'),
|
|
37
|
-
offset: z.number().int().nonnegative().optional().describe('Number of items to skip'),
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Schema for getting a specific test result by hash
|
|
41
|
-
*/
|
|
42
|
-
const GetResultSchema = z.object({
|
|
43
|
-
code: ProjectCodeSchema,
|
|
44
|
-
hash: HashSchema.describe('Result hash identifier'),
|
|
45
|
-
});
|
|
46
|
-
/**
|
|
47
|
-
* Schema for creating a test result
|
|
48
|
-
*/
|
|
49
|
-
const CreateResultSchema = z.object({
|
|
50
|
-
code: ProjectCodeSchema,
|
|
51
|
-
id: IdSchema.describe('Run ID to add the result to'),
|
|
52
|
-
case_id: z.number().int().positive().optional().describe('Test case ID'),
|
|
53
|
-
status: z.enum(['passed', 'failed', 'blocked', 'skipped', 'invalid']).describe('Result status'),
|
|
54
|
-
time_ms: z.number().int().nonnegative().optional().describe('Execution time in milliseconds'),
|
|
55
|
-
defect: z.boolean().optional().describe('Mark as defect'),
|
|
56
|
-
attachments: z.array(z.string()).optional().describe('Array of attachment hashes'),
|
|
57
|
-
stacktrace: z.string().optional().describe('Stack trace for failures'),
|
|
58
|
-
comment: z.string().optional().describe('Comment about the result'),
|
|
59
|
-
steps: z.array(ResultStepSchema).optional().describe('Execution steps with results'),
|
|
60
|
-
custom_field: z.record(z.any()).optional().describe('Custom field values'),
|
|
61
|
-
});
|
|
62
|
-
/**
|
|
63
|
-
* Schema for bulk creating test results
|
|
64
|
-
*/
|
|
65
|
-
const CreateResultsBulkSchema = z.object({
|
|
66
|
-
code: ProjectCodeSchema,
|
|
67
|
-
id: IdSchema.describe('Run ID to add the results to'),
|
|
68
|
-
results: z
|
|
69
|
-
.array(CreateResultSchema.omit({ code: true, id: true }))
|
|
70
|
-
.describe('Array of results to create'),
|
|
71
|
-
});
|
|
72
|
-
/**
|
|
73
|
-
* Schema for updating a test result
|
|
74
|
-
*/
|
|
75
|
-
const UpdateResultSchema = z.object({
|
|
76
|
-
code: ProjectCodeSchema,
|
|
77
|
-
id: IdSchema.describe('Run ID'),
|
|
78
|
-
hash: HashSchema.describe('Result hash identifier'),
|
|
79
|
-
case_id: z.number().int().positive().optional().describe('Test case ID'),
|
|
80
|
-
status: z
|
|
81
|
-
.enum(['passed', 'failed', 'blocked', 'skipped', 'invalid'])
|
|
82
|
-
.optional()
|
|
83
|
-
.describe('Result status'),
|
|
84
|
-
time_ms: z.number().int().nonnegative().optional().describe('Execution time in milliseconds'),
|
|
85
|
-
defect: z.boolean().optional().describe('Mark as defect'),
|
|
86
|
-
attachments: z.array(z.string()).optional().describe('Array of attachment hashes'),
|
|
87
|
-
stacktrace: z.string().optional().describe('Stack trace for failures'),
|
|
88
|
-
comment: z.string().optional().describe('Comment about the result'),
|
|
89
|
-
steps: z.array(ResultStepSchema).optional().describe('Execution steps with results'),
|
|
90
|
-
custom_field: z.record(z.any()).optional().describe('Custom field values'),
|
|
91
|
-
});
|
|
92
|
-
/**
|
|
93
|
-
* Schema for deleting a test result
|
|
94
|
-
*/
|
|
95
|
-
const DeleteResultSchema = z.object({
|
|
96
|
-
code: ProjectCodeSchema,
|
|
97
|
-
id: IdSchema.describe('Run ID'),
|
|
98
|
-
hash: HashSchema.describe('Result hash identifier'),
|
|
99
|
-
});
|
|
100
|
-
// ============================================================================
|
|
101
|
-
// HANDLERS
|
|
102
|
-
// ============================================================================
|
|
103
|
-
/**
|
|
104
|
-
* List all test results with filtering
|
|
105
|
-
*/
|
|
106
|
-
async function listResults(args) {
|
|
107
|
-
const client = getApiClient();
|
|
108
|
-
const { code, ...filters } = args;
|
|
109
|
-
const result = await toResultAsync(client.results.getResults(code, filters.status, filters.run, filters.case_id, filters.member, filters.api, filters.from_end_time, filters.to_end_time, filters.limit, filters.offset));
|
|
110
|
-
return result.match((response) => response.data.result, (error) => {
|
|
111
|
-
throw createToolError(error, 'result operation');
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get a specific test result by hash
|
|
116
|
-
*/
|
|
117
|
-
async function getResult(args) {
|
|
118
|
-
const client = getApiClient();
|
|
119
|
-
const { code, hash } = args;
|
|
120
|
-
const result = await toResultAsync(client.results.getResult(code, hash));
|
|
121
|
-
return result.match((response) => response.data.result, (error) => {
|
|
122
|
-
throw createToolError(error, 'result operation');
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Create a test result in a run
|
|
127
|
-
*/
|
|
128
|
-
async function createResult(args) {
|
|
129
|
-
const client = getApiClient();
|
|
130
|
-
const { code, id, ...resultData } = args;
|
|
131
|
-
const result = await toResultAsync(client.results.createResult(code, id, resultData));
|
|
132
|
-
return result.match((response) => response.data.result, (error) => {
|
|
133
|
-
throw createToolError(error, 'result operation');
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Create multiple test results at once
|
|
138
|
-
*/
|
|
139
|
-
async function createResultsBulk(args) {
|
|
140
|
-
const client = getApiClient();
|
|
141
|
-
const { code, id, results } = args;
|
|
142
|
-
const result = await toResultAsync(client.results.createResultBulk(code, id, { results }));
|
|
143
|
-
return result.match((_response) => ({ success: true, count: results.length }), (error) => {
|
|
144
|
-
throw createToolError(error, 'result operation');
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Update an existing test result
|
|
149
|
-
*/
|
|
150
|
-
async function updateResult(args) {
|
|
151
|
-
const client = getApiClient();
|
|
152
|
-
const { code, id, hash, ...updateData } = args;
|
|
153
|
-
const result = await toResultAsync(client.results.updateResult(code, id, hash, updateData));
|
|
154
|
-
return result.match((response) => response.data.result, (error) => {
|
|
155
|
-
throw createToolError(error, 'result operation');
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* Delete a test result
|
|
160
|
-
*/
|
|
161
|
-
async function deleteResult(args) {
|
|
162
|
-
const client = getApiClient();
|
|
163
|
-
const { code, id, hash } = args;
|
|
164
|
-
const result = await toResultAsync(client.results.deleteResult(code, id, hash));
|
|
165
|
-
return result.match((response) => response.data.result, (error) => {
|
|
166
|
-
throw createToolError(error, 'result operation');
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
// ============================================================================
|
|
170
|
-
// TOOL REGISTRATION
|
|
171
|
-
// ============================================================================
|
|
172
|
-
toolRegistry.register({
|
|
173
|
-
name: 'list_results',
|
|
174
|
-
description: 'Get all test results with optional filtering by run, case, status, etc.',
|
|
175
|
-
schema: ListResultsSchema,
|
|
176
|
-
handler: listResults,
|
|
177
|
-
annotations: ReadAnnotation,
|
|
178
|
-
});
|
|
179
|
-
toolRegistry.register({
|
|
180
|
-
name: 'get_result',
|
|
181
|
-
description: 'Get a specific test result by hash',
|
|
182
|
-
schema: GetResultSchema,
|
|
183
|
-
handler: getResult,
|
|
184
|
-
annotations: ReadAnnotation,
|
|
185
|
-
});
|
|
186
|
-
toolRegistry.register({
|
|
187
|
-
name: 'create_result',
|
|
188
|
-
description: 'Create a test result for a run',
|
|
189
|
-
schema: CreateResultSchema,
|
|
190
|
-
handler: createResult,
|
|
191
|
-
annotations: CreateAnnotation,
|
|
192
|
-
});
|
|
193
|
-
toolRegistry.register({
|
|
194
|
-
name: 'create_results_bulk',
|
|
195
|
-
description: 'Create multiple test results at once for efficiency',
|
|
196
|
-
schema: CreateResultsBulkSchema,
|
|
197
|
-
handler: createResultsBulk,
|
|
198
|
-
annotations: CreateAnnotation,
|
|
199
|
-
});
|
|
200
|
-
toolRegistry.register({
|
|
201
|
-
name: 'update_result',
|
|
202
|
-
description: 'Update an existing test result',
|
|
203
|
-
schema: UpdateResultSchema,
|
|
204
|
-
handler: updateResult,
|
|
205
|
-
annotations: UpdateAnnotation,
|
|
206
|
-
});
|
|
207
|
-
toolRegistry.register({
|
|
208
|
-
name: 'delete_result',
|
|
209
|
-
description: 'Delete a test result from a run',
|
|
210
|
-
schema: DeleteResultSchema,
|
|
211
|
-
handler: deleteResult,
|
|
212
|
-
annotations: DeleteAnnotation,
|
|
213
|
-
});
|
|
214
|
-
//# sourceMappingURL=results.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"results.js","sourceRoot":"","sources":["../../src/operations/results.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runs.d.ts","sourceRoot":"","sources":["../../src/operations/runs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
package/build/operations/runs.js
DELETED
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Test Runs Operations
|
|
3
|
-
*
|
|
4
|
-
* Implements all MCP tools for managing test runs in Qase.
|
|
5
|
-
* Test runs represent test execution sessions.
|
|
6
|
-
*/
|
|
7
|
-
import { z } from 'zod';
|
|
8
|
-
import { getApiClient } from '../client/index.js';
|
|
9
|
-
import { toolRegistry, ReadAnnotation, CreateAnnotation, UpdateAnnotation, DeleteAnnotation, } from '../utils/registry.js';
|
|
10
|
-
import { toResultAsync, createToolError } from '../utils/errors.js';
|
|
11
|
-
import { ProjectCodeSchema, IdSchema } from '../utils/validation.js';
|
|
12
|
-
// ============================================================================
|
|
13
|
-
// SCHEMAS
|
|
14
|
-
// ============================================================================
|
|
15
|
-
/**
|
|
16
|
-
* Schema for listing test runs
|
|
17
|
-
*/
|
|
18
|
-
const ListRunsSchema = z.object({
|
|
19
|
-
code: ProjectCodeSchema,
|
|
20
|
-
search: z.string().optional().describe('Search query for run title'),
|
|
21
|
-
status: z.string().optional().describe('Filter by status (e.g., "active", "complete")'),
|
|
22
|
-
milestone: z.number().int().positive().optional().describe('Filter by milestone ID'),
|
|
23
|
-
environment: z.number().int().positive().optional().describe('Filter by environment ID'),
|
|
24
|
-
from_start_time: z.number().optional().describe('Filter runs started after this timestamp'),
|
|
25
|
-
to_start_time: z.number().optional().describe('Filter runs started before this timestamp'),
|
|
26
|
-
limit: z.number().int().positive().max(100).optional().describe('Maximum number of items'),
|
|
27
|
-
offset: z.number().int().nonnegative().optional().describe('Number of items to skip'),
|
|
28
|
-
include: z.string().optional().describe('Comma-separated relations to include (e.g., "cases")'),
|
|
29
|
-
});
|
|
30
|
-
/**
|
|
31
|
-
* Schema for getting a specific test run
|
|
32
|
-
*/
|
|
33
|
-
const GetRunSchema = z.object({
|
|
34
|
-
code: ProjectCodeSchema,
|
|
35
|
-
id: IdSchema,
|
|
36
|
-
include: z.string().optional().describe('Comma-separated relations to include (e.g., "cases")'),
|
|
37
|
-
});
|
|
38
|
-
/**
|
|
39
|
-
* Schema for creating a test run
|
|
40
|
-
*/
|
|
41
|
-
const CreateRunSchema = z.object({
|
|
42
|
-
code: ProjectCodeSchema,
|
|
43
|
-
title: z.string().min(1).max(255).describe('Test run title'),
|
|
44
|
-
description: z.string().optional().describe('Test run description'),
|
|
45
|
-
environment_id: z.number().int().positive().optional().describe('Environment ID for this run'),
|
|
46
|
-
milestone_id: z.number().int().positive().optional().describe('Milestone ID for this run'),
|
|
47
|
-
plan_id: z.number().int().positive().optional().describe('Test plan ID to base this run on'),
|
|
48
|
-
cases: z
|
|
49
|
-
.array(z.number().int().positive())
|
|
50
|
-
.optional()
|
|
51
|
-
.describe('Array of test case IDs to include in the run'),
|
|
52
|
-
is_autotest: z.boolean().optional().describe('Mark as automated test run'),
|
|
53
|
-
start_time: z
|
|
54
|
-
.string()
|
|
55
|
-
.optional()
|
|
56
|
-
.describe('Start time in RFC3339 format (e.g., "2024-01-15T10:00:00Z")'),
|
|
57
|
-
end_time: z
|
|
58
|
-
.string()
|
|
59
|
-
.optional()
|
|
60
|
-
.describe('End time in RFC3339 format (e.g., "2024-01-15T12:00:00Z")'),
|
|
61
|
-
custom_field: z.record(z.any()).optional().describe('Custom field values'),
|
|
62
|
-
tags: z.array(z.string()).optional().describe('Tags for categorization'),
|
|
63
|
-
});
|
|
64
|
-
/**
|
|
65
|
-
* Schema for deleting a test run
|
|
66
|
-
*/
|
|
67
|
-
const DeleteRunSchema = z.object({
|
|
68
|
-
code: ProjectCodeSchema,
|
|
69
|
-
id: IdSchema,
|
|
70
|
-
});
|
|
71
|
-
/**
|
|
72
|
-
* Schema for completing a test run
|
|
73
|
-
*/
|
|
74
|
-
const CompleteRunSchema = z.object({
|
|
75
|
-
code: ProjectCodeSchema,
|
|
76
|
-
id: IdSchema,
|
|
77
|
-
});
|
|
78
|
-
/**
|
|
79
|
-
* Schema for getting run public link
|
|
80
|
-
*/
|
|
81
|
-
const GetRunPublicLinkSchema = z.object({
|
|
82
|
-
code: ProjectCodeSchema,
|
|
83
|
-
id: IdSchema,
|
|
84
|
-
});
|
|
85
|
-
/**
|
|
86
|
-
* Schema for deleting run public link
|
|
87
|
-
*/
|
|
88
|
-
const DeleteRunPublicLinkSchema = z.object({
|
|
89
|
-
code: ProjectCodeSchema,
|
|
90
|
-
id: IdSchema,
|
|
91
|
-
});
|
|
92
|
-
// ============================================================================
|
|
93
|
-
// HANDLERS
|
|
94
|
-
// ============================================================================
|
|
95
|
-
/**
|
|
96
|
-
* List all test runs in a project
|
|
97
|
-
*/
|
|
98
|
-
async function listRuns(args) {
|
|
99
|
-
const client = getApiClient();
|
|
100
|
-
const { code, ...filters } = args;
|
|
101
|
-
const result = await toResultAsync(client.runs.getRuns(code, filters.search, filters.status, filters.milestone, filters.environment, filters.from_start_time, filters.to_start_time, filters.limit, filters.offset, filters.include));
|
|
102
|
-
return result.match((response) => response.data.result, (error) => {
|
|
103
|
-
throw createToolError(error, 'run operation');
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
/**
|
|
107
|
-
* Get a specific test run
|
|
108
|
-
*/
|
|
109
|
-
async function getRun(args) {
|
|
110
|
-
const client = getApiClient();
|
|
111
|
-
const { code, id, include } = args;
|
|
112
|
-
const result = await toResultAsync(client.runs.getRun(code, id, include));
|
|
113
|
-
return result.match((response) => response.data.result, (error) => {
|
|
114
|
-
throw createToolError(error, 'run operation');
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Create a new test run
|
|
119
|
-
*/
|
|
120
|
-
async function createRun(args) {
|
|
121
|
-
const client = getApiClient();
|
|
122
|
-
const { code, ...runData } = args;
|
|
123
|
-
const result = await toResultAsync(client.runs.createRun(code, runData));
|
|
124
|
-
return result.match((response) => response.data.result, (error) => {
|
|
125
|
-
throw createToolError(error, 'run operation');
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* Delete a test run
|
|
130
|
-
*/
|
|
131
|
-
async function deleteRun(args) {
|
|
132
|
-
const client = getApiClient();
|
|
133
|
-
const { code, id } = args;
|
|
134
|
-
const result = await toResultAsync(client.runs.deleteRun(code, id));
|
|
135
|
-
return result.match((_response) => ({ success: true, id }), (error) => {
|
|
136
|
-
throw createToolError(error, 'run operation');
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Complete a test run
|
|
141
|
-
*/
|
|
142
|
-
async function completeRun(args) {
|
|
143
|
-
const client = getApiClient();
|
|
144
|
-
const { code, id } = args;
|
|
145
|
-
const result = await toResultAsync(client.runs.completeRun(code, id));
|
|
146
|
-
return result.match((_response) => ({ success: true, id, status: 'complete' }), (error) => {
|
|
147
|
-
throw createToolError(error, 'run operation');
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
/**
|
|
151
|
-
* Get or create public link for a test run
|
|
152
|
-
*/
|
|
153
|
-
async function getRunPublicLink(args) {
|
|
154
|
-
const client = getApiClient();
|
|
155
|
-
const { code, id } = args;
|
|
156
|
-
const result = await toResultAsync(client.runs.updateRunPublicity(code, id, { status: true }));
|
|
157
|
-
return result.match((response) => response.data.result, (error) => {
|
|
158
|
-
throw createToolError(error, 'run operation');
|
|
159
|
-
});
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* Delete public link for a test run
|
|
163
|
-
*/
|
|
164
|
-
async function deleteRunPublicLink(args) {
|
|
165
|
-
const client = getApiClient();
|
|
166
|
-
const { code, id } = args;
|
|
167
|
-
const result = await toResultAsync(client.runs.updateRunPublicity(code, id, { status: false }));
|
|
168
|
-
return result.match((_response) => ({ success: true, id, public_link_removed: true }), (error) => {
|
|
169
|
-
throw createToolError(error, 'run operation');
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
// ============================================================================
|
|
173
|
-
// TOOL REGISTRATION
|
|
174
|
-
// ============================================================================
|
|
175
|
-
toolRegistry.register({
|
|
176
|
-
name: 'list_runs',
|
|
177
|
-
description: 'Get all test runs in a project with optional filtering and pagination',
|
|
178
|
-
schema: ListRunsSchema,
|
|
179
|
-
handler: listRuns,
|
|
180
|
-
annotations: ReadAnnotation,
|
|
181
|
-
});
|
|
182
|
-
toolRegistry.register({
|
|
183
|
-
name: 'get_run',
|
|
184
|
-
description: 'Get a specific test run by project code and run ID',
|
|
185
|
-
schema: GetRunSchema,
|
|
186
|
-
handler: getRun,
|
|
187
|
-
annotations: ReadAnnotation,
|
|
188
|
-
});
|
|
189
|
-
toolRegistry.register({
|
|
190
|
-
name: 'create_run',
|
|
191
|
-
description: 'Create a new test run in a project',
|
|
192
|
-
schema: CreateRunSchema,
|
|
193
|
-
handler: createRun,
|
|
194
|
-
annotations: CreateAnnotation,
|
|
195
|
-
});
|
|
196
|
-
toolRegistry.register({
|
|
197
|
-
name: 'delete_run',
|
|
198
|
-
description: 'Delete a test run from a project',
|
|
199
|
-
schema: DeleteRunSchema,
|
|
200
|
-
handler: deleteRun,
|
|
201
|
-
annotations: DeleteAnnotation,
|
|
202
|
-
});
|
|
203
|
-
toolRegistry.register({
|
|
204
|
-
name: 'complete_run',
|
|
205
|
-
description: 'Mark a test run as complete',
|
|
206
|
-
schema: CompleteRunSchema,
|
|
207
|
-
handler: completeRun,
|
|
208
|
-
annotations: UpdateAnnotation,
|
|
209
|
-
});
|
|
210
|
-
toolRegistry.register({
|
|
211
|
-
name: 'get_run_public_link',
|
|
212
|
-
description: 'Get or create a public link for sharing a test run externally',
|
|
213
|
-
schema: GetRunPublicLinkSchema,
|
|
214
|
-
handler: getRunPublicLink,
|
|
215
|
-
annotations: CreateAnnotation,
|
|
216
|
-
});
|
|
217
|
-
toolRegistry.register({
|
|
218
|
-
name: 'delete_run_public_link',
|
|
219
|
-
description: 'Delete the public link for a test run',
|
|
220
|
-
schema: DeleteRunPublicLinkSchema,
|
|
221
|
-
handler: deleteRunPublicLink,
|
|
222
|
-
annotations: DeleteAnnotation,
|
|
223
|
-
});
|
|
224
|
-
//# sourceMappingURL=runs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../../src/operations/runs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../src/operations/search.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/operations/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared Parameters Operations
|
|
3
|
-
*
|
|
4
|
-
* Implements all MCP tools for managing shared parameters in Qase.
|
|
5
|
-
* Shared parameters are reusable parameters for data-driven testing.
|
|
6
|
-
*
|
|
7
|
-
* https://developers.qase.io/reference/get-shared-parameters
|
|
8
|
-
*/
|
|
9
|
-
export {};
|
|
10
|
-
//# sourceMappingURL=shared-parameters.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-parameters.d.ts","sourceRoot":"","sources":["../../src/operations/shared-parameters.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared Parameters Operations
|
|
3
|
-
*
|
|
4
|
-
* Implements all MCP tools for managing shared parameters in Qase.
|
|
5
|
-
* Shared parameters are reusable parameters for data-driven testing.
|
|
6
|
-
*
|
|
7
|
-
* https://developers.qase.io/reference/get-shared-parameters
|
|
8
|
-
*/
|
|
9
|
-
import { z } from 'zod';
|
|
10
|
-
import { getApiClient } from '../client/index.js';
|
|
11
|
-
import { toolRegistry, ReadAnnotation } from '../utils/registry.js';
|
|
12
|
-
import { toResultAsync, createToolError } from '../utils/errors.js';
|
|
13
|
-
import { IdSchema } from '../utils/validation.js';
|
|
14
|
-
// ============================================================================
|
|
15
|
-
// SCHEMAS
|
|
16
|
-
// ============================================================================
|
|
17
|
-
/**
|
|
18
|
-
* Schema for listing shared parameters
|
|
19
|
-
* API: GET /v1/shared_parameter
|
|
20
|
-
* https://developers.qase.io/reference/get-shared-parameters
|
|
21
|
-
*
|
|
22
|
-
* This is a workspace-level endpoint, no project code required.
|
|
23
|
-
*/
|
|
24
|
-
const ListSharedParametersSchema = z.object({
|
|
25
|
-
limit: z
|
|
26
|
-
.number()
|
|
27
|
-
.int()
|
|
28
|
-
.positive()
|
|
29
|
-
.max(100)
|
|
30
|
-
.optional()
|
|
31
|
-
.describe('Maximum number of items (default: 10)'),
|
|
32
|
-
offset: z
|
|
33
|
-
.number()
|
|
34
|
-
.int()
|
|
35
|
-
.nonnegative()
|
|
36
|
-
.optional()
|
|
37
|
-
.describe('Number of items to skip (default: 0)'),
|
|
38
|
-
});
|
|
39
|
-
/**
|
|
40
|
-
* Schema for getting a specific shared parameter
|
|
41
|
-
* API: GET /v1/shared_parameter/{id}
|
|
42
|
-
* https://developers.qase.io/reference/get-shared-parameter
|
|
43
|
-
*/
|
|
44
|
-
const GetSharedParameterSchema = z.object({
|
|
45
|
-
id: IdSchema,
|
|
46
|
-
});
|
|
47
|
-
// ============================================================================
|
|
48
|
-
// HANDLERS
|
|
49
|
-
// ============================================================================
|
|
50
|
-
/**
|
|
51
|
-
* List all shared parameters
|
|
52
|
-
* API: GET /v1/shared_parameter
|
|
53
|
-
* https://developers.qase.io/reference/get-shared-parameters
|
|
54
|
-
*/
|
|
55
|
-
async function listSharedParameters(args) {
|
|
56
|
-
const client = getApiClient();
|
|
57
|
-
const { limit, offset } = args;
|
|
58
|
-
const result = await toResultAsync(client.sharedParameters.getSharedParameters(limit, offset));
|
|
59
|
-
return result.match((response) => response.data.result, (error) => {
|
|
60
|
-
throw createToolError(error, 'listing shared parameters');
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Get a specific shared parameter
|
|
65
|
-
* API: GET /v1/shared_parameter/{id}
|
|
66
|
-
* https://developers.qase.io/reference/get-shared-parameter
|
|
67
|
-
*/
|
|
68
|
-
async function getSharedParameter(args) {
|
|
69
|
-
const client = getApiClient();
|
|
70
|
-
const { id } = args;
|
|
71
|
-
const result = await toResultAsync(client.sharedParameters.getSharedParameter(String(id)));
|
|
72
|
-
return result.match((response) => response.data.result, (error) => {
|
|
73
|
-
throw createToolError(error, 'getting shared parameter');
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
// ============================================================================
|
|
77
|
-
// TOOL REGISTRATION
|
|
78
|
-
// ============================================================================
|
|
79
|
-
toolRegistry.register({
|
|
80
|
-
name: 'list_shared_parameters',
|
|
81
|
-
description: 'Get all shared parameters with optional pagination',
|
|
82
|
-
schema: ListSharedParametersSchema,
|
|
83
|
-
handler: listSharedParameters,
|
|
84
|
-
annotations: ReadAnnotation,
|
|
85
|
-
});
|
|
86
|
-
toolRegistry.register({
|
|
87
|
-
name: 'get_shared_parameter',
|
|
88
|
-
description: 'Get a specific shared parameter by ID',
|
|
89
|
-
schema: GetSharedParameterSchema,
|
|
90
|
-
handler: getSharedParameter,
|
|
91
|
-
annotations: ReadAnnotation,
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=shared-parameters.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-parameters.js","sourceRoot":"","sources":["../../src/operations/shared-parameters.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAElD,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,KAAK,EAAE,CAAC;SACL,MAAM,EAAE;SACR,GAAG,EAAE;SACL,QAAQ,EAAE;SACV,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,uCAAuC,CAAC;IACpD,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,EAAE;SACL,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,sCAAsC,CAAC;CACpD,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,QAAQ;CACb,CAAC,CAAC;AAEH,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;;GAIG;AACH,KAAK,UAAU,oBAAoB,CAAC,IAAgD;IAClF,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE/B,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;IAE/F,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAClC,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,eAAe,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAC5D,CAAC,CACF,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,kBAAkB,CAAC,IAA8C;IAC9E,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;IAEpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAE3F,OAAO,MAAM,CAAC,KAAK,CACjB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAClC,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,eAAe,CAAC,KAAK,EAAE,0BAA0B,CAAC,CAAC;IAC3D,CAAC,CACF,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,oBAAoB;AACpB,+EAA+E;AAE/E,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,oDAAoD;IACjE,MAAM,EAAE,0BAA0B;IAClC,OAAO,EAAE,oBAAoB;IAC7B,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC;AAEH,YAAY,CAAC,QAAQ,CAAC;IACpB,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,uCAAuC;IACpD,MAAM,EAAE,wBAAwB;IAChC,OAAO,EAAE,kBAAkB;IAC3B,WAAW,EAAE,cAAc;CAC5B,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"shared-steps.d.ts","sourceRoot":"","sources":["../../src/operations/shared-steps.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|