@simplysf/simply-atlassian-mcp 0.6.2 → 0.7.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/README.md +24 -2
- package/bin/run.js +7 -2
- package/docs/guides/mcp-server.md +29 -2
- package/lib/commands/atlassian/mcp.d.ts +1 -0
- package/lib/commands/atlassian/mcp.js +12 -2
- package/lib/commands/atlassian/mcp.js.map +1 -1
- package/lib/context.d.ts +10 -1
- package/lib/context.js +7 -1
- package/lib/context.js.map +1 -1
- package/lib/server.d.ts +5 -2
- package/lib/server.js +11 -5
- package/lib/server.js.map +1 -1
- package/lib/tools.d.ts +6 -0
- package/lib/tools.js +162 -1
- package/lib/tools.js.map +1 -1
- package/oclif.manifest.json +12 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -353,6 +353,27 @@ With writes allowed:
|
|
|
353
353
|
| `confluence_page_children` | |
|
|
354
354
|
| `confluence_page_comment_list` | |
|
|
355
355
|
|
|
356
|
+
### Xray tools (`--xray`)
|
|
357
|
+
|
|
358
|
+
For Jira Server/Data Center with [Xray](https://www.getxray.app/) installed, start the server with
|
|
359
|
+
`--xray` to also register seven read tools: `jira_xray_fields`, `jira_xray_test_get`,
|
|
360
|
+
`jira_xray_test_list`, `jira_xray_test_export`, `jira_xray_plan_list`, `jira_xray_set_list`, and
|
|
361
|
+
`jira_xray_path_list`. They are off by default because a client shows its model every registered
|
|
362
|
+
tool and most instances have no Xray, and Xray Server/Data Center needs no settings of its own that
|
|
363
|
+
the server could detect it by. `--allow-writes` does not register them; they are all reads.
|
|
364
|
+
|
|
365
|
+
They differ from the other tools in three ways, all described in the
|
|
366
|
+
[Xray guide](https://simplysf.github.io/simply-cli/atlassian/guides/xray/):
|
|
367
|
+
|
|
368
|
+
- They return assembled data rather than a raw payload: `jira_xray_test_get` returns
|
|
369
|
+
`{ record, notes }` and `jira_xray_test_export` returns `{ records, total?, complete, notes }`, with
|
|
370
|
+
export records, and the list tools return `{ rows, total?, complete }`, rows keyed by field name
|
|
371
|
+
rather than Xray's `customfield_…` ids.
|
|
372
|
+
- Their `fields` input adds to the default fields instead of replacing them.
|
|
373
|
+
- `jira_xray_test_export` returns 100 tests unless `limit` asks for more, and at most 500, because
|
|
374
|
+
a host holds the whole result in its context. For larger exports, use the CLI's
|
|
375
|
+
`jira xray test export --format jsonl`.
|
|
376
|
+
|
|
356
377
|
## Results and errors
|
|
357
378
|
|
|
358
379
|
A successful call returns what the CLI prints with `--json`, verbatim. A failure returns an error
|
|
@@ -385,6 +406,7 @@ installed and working, and the problem is in how the client launches it or what
|
|
|
385
406
|
| `code: "auth"` with status `401` | The instance rejected the credentials. Cloud needs `JIRA_USERNAME` plus `JIRA_API_TOKEN`; Server/Data Center needs `JIRA_PERSONAL_TOKEN` alone. Set one style, not both. |
|
|
386
407
|
| `code: "auth"` with status `403` on a write | The token is read-scoped, which is the intended outcome for the everyday server. Use the write-capable server entry for this change. |
|
|
387
408
|
| The agent says it has no tool to create, update, or delete | The server was started without `--allow-writes`. That is the default; see [Let the agent write](#let-the-agent-write). |
|
|
409
|
+
| The agent has no `jira_xray_*` tools | The server was started without `--xray`. Add it to the server's `args`; see [Xray tools](#xray-tools---xray). |
|
|
388
410
|
| A write returns `code: "config"` mentioning `ATLASSIAN_READ_ONLY` | The variable is set in the environment or the env file. Unset it, or point the write server at a credential file meant for writing. |
|
|
389
411
|
|
|
390
412
|
## Embed in your own process
|
|
@@ -404,14 +426,14 @@ await server.connect(transport);
|
|
|
404
426
|
```
|
|
405
427
|
|
|
406
428
|
`createServer` returns the MCP SDK's `McpServer` with the tools registered and nothing connected.
|
|
407
|
-
`TOOLS` is the full catalogue, `selectTools(allowWrites)` is the subset a given configuration
|
|
429
|
+
`TOOLS` is the full catalogue, `selectTools(allowWrites, xray)` is the subset a given configuration
|
|
408
430
|
registers, and `invokeTool` and `mapError` run one tool and map a failure onto the error object
|
|
409
431
|
above, for tests and hosts that need to drive the server without a transport.
|
|
410
432
|
|
|
411
433
|
## Options
|
|
412
434
|
|
|
413
435
|
```
|
|
414
|
-
simply-atlassian-mcp [--allow-writes] [--env-file <path>]
|
|
436
|
+
simply-atlassian-mcp [--allow-writes] [--xray] [--env-file <path>]
|
|
415
437
|
```
|
|
416
438
|
|
|
417
439
|
`--help` prints the options and the full tool list. Because stdout is the protocol stream, it
|
package/bin/run.js
CHANGED
|
@@ -8,6 +8,7 @@ const { values } = parseArgs({
|
|
|
8
8
|
options: {
|
|
9
9
|
'allow-writes': { type: 'boolean', default: false },
|
|
10
10
|
'env-file': { type: 'string' },
|
|
11
|
+
xray: { type: 'boolean', default: false },
|
|
11
12
|
help: { type: 'boolean', short: 'h', default: false },
|
|
12
13
|
},
|
|
13
14
|
strict: true,
|
|
@@ -19,7 +20,7 @@ if (values.help) {
|
|
|
19
20
|
const list = (tools) => tools.map((tool) => ` ${tool.name.padEnd(30)} ${tool.title}`).join('\n');
|
|
20
21
|
process.stderr.write(
|
|
21
22
|
[
|
|
22
|
-
'Usage: simply-atlassian-mcp [--allow-writes] [--env-file <path>]',
|
|
23
|
+
'Usage: simply-atlassian-mcp [--allow-writes] [--xray] [--env-file <path>]',
|
|
23
24
|
'',
|
|
24
25
|
'Serves Jira and Confluence as MCP tools over stdio, one tool per simply-atlassian CLI',
|
|
25
26
|
'command, calling the same library in-process. Connection settings come from the',
|
|
@@ -27,6 +28,7 @@ if (values.help) {
|
|
|
27
28
|
'',
|
|
28
29
|
' --allow-writes Also register the tools that change or delete data (off by default).',
|
|
29
30
|
' ATLASSIAN_READ_ONLY in the environment still refuses every write.',
|
|
31
|
+
' --xray Also register the Xray tools (Jira Server/Data Center, read-only).',
|
|
30
32
|
' --env-file <path> A .env file holding connection settings the environment does not.',
|
|
31
33
|
'',
|
|
32
34
|
'Read tools (always registered):',
|
|
@@ -35,13 +37,16 @@ if (values.help) {
|
|
|
35
37
|
'Write tools (with --allow-writes):',
|
|
36
38
|
list(selectTools(true).filter((tool) => tool.kind !== 'read')),
|
|
37
39
|
'',
|
|
40
|
+
'Xray tools (with --xray):',
|
|
41
|
+
list(selectTools(false, true).filter((tool) => tool.app === 'xray')),
|
|
42
|
+
'',
|
|
38
43
|
].join('\n'),
|
|
39
44
|
);
|
|
40
45
|
process.exit(0);
|
|
41
46
|
}
|
|
42
47
|
|
|
43
48
|
try {
|
|
44
|
-
await startServer({ allowWrites: values['allow-writes'], envFile: values['env-file'] });
|
|
49
|
+
await startServer({ allowWrites: values['allow-writes'], xray: values.xray, envFile: values['env-file'] });
|
|
45
50
|
} catch (error) {
|
|
46
51
|
// A missing or unreadable --env-file is the one failure that can happen before the transport
|
|
47
52
|
// is up; everything else is reported per tool call.
|
|
@@ -312,6 +312,11 @@ With writes allowed:
|
|
|
312
312
|
`confluence_page_update` takes `append` to add to a page instead of replacing it. "Add a
|
|
313
313
|
Decisions section to this page with these three bullets" becomes `confluence_page_update` with
|
|
314
314
|
`markdown` and `append: true`.
|
|
315
|
+
- **A failed write may still have landed.** A write is never retried after a `5xx`, a dropped
|
|
316
|
+
connection, or a timeout, because the instance may already have applied it; the error message
|
|
317
|
+
says `The change may have been applied; check before retrying.` An agent that sees it should
|
|
318
|
+
look for the issue, comment, or page change before calling the tool again, or it may create a
|
|
319
|
+
duplicate. See [Write safety](/guides/write-safety/).
|
|
315
320
|
|
|
316
321
|
## Tools
|
|
317
322
|
|
|
@@ -337,6 +342,27 @@ With writes allowed:
|
|
|
337
342
|
| `confluence_page_children` | |
|
|
338
343
|
| `confluence_page_comment_list` | |
|
|
339
344
|
|
|
345
|
+
### Xray tools (`--xray`)
|
|
346
|
+
|
|
347
|
+
For Jira Server/Data Center with [Xray](https://www.getxray.app/) installed, start the server with
|
|
348
|
+
`--xray` to also register seven read tools: `jira_xray_fields`, `jira_xray_test_get`,
|
|
349
|
+
`jira_xray_test_list`, `jira_xray_test_export`, `jira_xray_plan_list`, `jira_xray_set_list`, and
|
|
350
|
+
`jira_xray_path_list`. They are off by default because a client shows its model every registered
|
|
351
|
+
tool and most instances have no Xray, and Xray Server/Data Center needs no settings of its own that
|
|
352
|
+
the server could detect it by. `--allow-writes` does not register them; they are all reads.
|
|
353
|
+
|
|
354
|
+
They differ from the other tools in three ways, all described in the
|
|
355
|
+
[Xray guide](/guides/xray/):
|
|
356
|
+
|
|
357
|
+
- They return assembled data rather than a raw payload: `jira_xray_test_get` returns
|
|
358
|
+
`{ record, notes }` and `jira_xray_test_export` returns `{ records, total?, complete, notes }`, with
|
|
359
|
+
export records, and the list tools return `{ rows, total?, complete }`, rows keyed by field name
|
|
360
|
+
rather than Xray's `customfield_…` ids.
|
|
361
|
+
- Their `fields` input adds to the default fields instead of replacing them.
|
|
362
|
+
- `jira_xray_test_export` returns 100 tests unless `limit` asks for more, and at most 500, because
|
|
363
|
+
a host holds the whole result in its context. For larger exports, use the CLI's
|
|
364
|
+
`jira xray test export --format jsonl`.
|
|
365
|
+
|
|
340
366
|
## Results and errors
|
|
341
367
|
|
|
342
368
|
A successful call returns what the CLI prints with `--json`, verbatim. A failure returns an error
|
|
@@ -369,6 +395,7 @@ installed and working, and the problem is in how the client launches it or what
|
|
|
369
395
|
| `code: "auth"` with status `401` | The instance rejected the credentials. Cloud needs `JIRA_USERNAME` plus `JIRA_API_TOKEN`; Server/Data Center needs `JIRA_PERSONAL_TOKEN` alone. Set one style, not both. |
|
|
370
396
|
| `code: "auth"` with status `403` on a write | The token is read-scoped, which is the intended outcome for the everyday server. Use the write-capable server entry for this change. |
|
|
371
397
|
| The agent says it has no tool to create, update, or delete | The server was started without `--allow-writes`. That is the default; see [Let the agent write](#let-the-agent-write). |
|
|
398
|
+
| The agent has no `jira_xray_*` tools | The server was started without `--xray`. Add it to the server's `args`; see [Xray tools](#xray-tools---xray). |
|
|
372
399
|
| A write returns `code: "config"` mentioning `ATLASSIAN_READ_ONLY` | The variable is set in the environment or the env file. Unset it, or point the write server at a credential file meant for writing. |
|
|
373
400
|
|
|
374
401
|
## Embed in your own process
|
|
@@ -388,14 +415,14 @@ await server.connect(transport);
|
|
|
388
415
|
```
|
|
389
416
|
|
|
390
417
|
`createServer` returns the MCP SDK's `McpServer` with the tools registered and nothing connected.
|
|
391
|
-
`TOOLS` is the full catalogue, `selectTools(allowWrites)` is the subset a given configuration
|
|
418
|
+
`TOOLS` is the full catalogue, `selectTools(allowWrites, xray)` is the subset a given configuration
|
|
392
419
|
registers, and `invokeTool` and `mapError` run one tool and map a failure onto the error object
|
|
393
420
|
above, for tests and hosts that need to drive the server without a transport.
|
|
394
421
|
|
|
395
422
|
## Options
|
|
396
423
|
|
|
397
424
|
```
|
|
398
|
-
simply-atlassian-mcp [--allow-writes] [--env-file <path>]
|
|
425
|
+
simply-atlassian-mcp [--allow-writes] [--xray] [--env-file <path>]
|
|
399
426
|
```
|
|
400
427
|
|
|
401
428
|
`--help` prints the options and the full tool list. Because stdout is the protocol stream, it
|
|
@@ -21,6 +21,7 @@ export default class AtlassianMcp extends Command {
|
|
|
21
21
|
}[];
|
|
22
22
|
static readonly flags: {
|
|
23
23
|
'allow-writes': import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
|
+
xray: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
24
25
|
'env-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
|
|
25
26
|
list: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
26
27
|
};
|
|
@@ -49,6 +49,10 @@ export default class AtlassianMcp extends Command {
|
|
|
49
49
|
description: 'Allow writes, with settings from a file',
|
|
50
50
|
command: '<%= config.bin %> <%= command.id %> --allow-writes --env-file ~/atlassian.env',
|
|
51
51
|
},
|
|
52
|
+
{
|
|
53
|
+
description: 'Also register the Xray tools, for Jira Server/Data Center with Xray installed',
|
|
54
|
+
command: '<%= config.bin %> <%= command.id %> --xray',
|
|
55
|
+
},
|
|
52
56
|
{
|
|
53
57
|
description: 'List the tools this server would register, without starting it',
|
|
54
58
|
command: '<%= config.bin %> <%= command.id %> --list',
|
|
@@ -61,6 +65,12 @@ export default class AtlassianMcp extends Command {
|
|
|
61
65
|
'ATLASSIAN_READ_ONLY in the environment still refuses every write even when this is on.',
|
|
62
66
|
default: false,
|
|
63
67
|
}),
|
|
68
|
+
xray: Flags.boolean({
|
|
69
|
+
summary: 'Also register the Xray tools (Jira Server/Data Center, read-only).',
|
|
70
|
+
description: 'Off by default: a client shows its model every registered tool, and most instances have no Xray. ' +
|
|
71
|
+
'Xray Server/Data Center needs no settings of its own, so there is nothing to detect it by.',
|
|
72
|
+
default: false,
|
|
73
|
+
}),
|
|
64
74
|
'env-file': Flags.string({
|
|
65
75
|
char: 'e',
|
|
66
76
|
summary: 'Path to a .env file holding connection settings.',
|
|
@@ -78,7 +88,7 @@ export default class AtlassianMcp extends Command {
|
|
|
78
88
|
if (flags.list) {
|
|
79
89
|
// stderr, like every other diagnostic here: a client that inspects stdout must only ever
|
|
80
90
|
// find protocol traffic on it.
|
|
81
|
-
const tools = selectTools(flags['allow-writes']);
|
|
91
|
+
const tools = selectTools(flags['allow-writes'], flags.xray);
|
|
82
92
|
process.stderr.write([
|
|
83
93
|
`${tools.length} tool(s) would be registered${flags['allow-writes'] ? ' (writes allowed)' : ' (read-only)'}:`,
|
|
84
94
|
...tools.map((tool) => ` ${tool.name.padEnd(28)} ${tool.title}`),
|
|
@@ -88,7 +98,7 @@ export default class AtlassianMcp extends Command {
|
|
|
88
98
|
}
|
|
89
99
|
// Resolves once the transport is connected; the process then stays alive until the client
|
|
90
100
|
// closes the stream, which is why this command never returns in normal use.
|
|
91
|
-
await startServer({ allowWrites: flags['allow-writes'], envFile: flags['env-file'] });
|
|
101
|
+
await startServer({ allowWrites: flags['allow-writes'], xray: flags.xray, envFile: flags['env-file'] });
|
|
92
102
|
}
|
|
93
103
|
}
|
|
94
104
|
//# sourceMappingURL=mcp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/atlassian/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,4FAA4F;IAC5F,uFAAuF;IAChF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;IAEvC,MAAM,CAAmB,OAAO,GAAG,2CAA2C,CAAC;IAC/E,MAAM,CAAmB,WAAW,GACzC,yGAAyG;QACzG,gGAAgG;QAChG,4FAA4F;QAC5F,oEAAoE;QACpE,mGAAmG;QACnG,6EAA6E;QAC7E,gGAAgG;QAChG,gCAAgC,CAAC;IAE5B,MAAM,CAAmB,QAAQ,GAAG;QACzC;YACE,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,qCAAqC;SAC/C;QACD;YACE,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,+EAA+E;SACzF;QACD;YACE,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE,4CAA4C;SACtD;KACF,CAAC;IAEK,MAAM,CAAmB,KAAK,GAAG;QACtC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,2CAA2C;YACpD,WAAW,EACT,gFAAgF;gBAChF,wFAAwF;YAC1F,OAAO,EAAE,KAAK;SACf,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,kDAAkD;YAC3D,WAAW,EACT,2FAA2F;gBAC3F,0CAA0C;SAC7C,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,sEAAsE;YAC/E,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,yFAAyF;YACzF,+BAA+B;YAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/commands/atlassian/mcp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,4FAA4F;IAC5F,uFAAuF;IAChF,MAAM,CAAU,cAAc,GAAG,KAAK,CAAC;IAEvC,MAAM,CAAmB,OAAO,GAAG,2CAA2C,CAAC;IAC/E,MAAM,CAAmB,WAAW,GACzC,yGAAyG;QACzG,gGAAgG;QAChG,4FAA4F;QAC5F,oEAAoE;QACpE,mGAAmG;QACnG,6EAA6E;QAC7E,gGAAgG;QAChG,gCAAgC,CAAC;IAE5B,MAAM,CAAmB,QAAQ,GAAG;QACzC;YACE,WAAW,EAAE,oEAAoE;YACjF,OAAO,EAAE,qCAAqC;SAC/C;QACD;YACE,WAAW,EAAE,yCAAyC;YACtD,OAAO,EAAE,+EAA+E;SACzF;QACD;YACE,WAAW,EAAE,+EAA+E;YAC5F,OAAO,EAAE,4CAA4C;SACtD;QACD;YACE,WAAW,EAAE,gEAAgE;YAC7E,OAAO,EAAE,4CAA4C;SACtD;KACF,CAAC;IAEK,MAAM,CAAmB,KAAK,GAAG;QACtC,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5B,OAAO,EAAE,2CAA2C;YACpD,WAAW,EACT,gFAAgF;gBAChF,wFAAwF;YAC1F,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,oEAAoE;YAC7E,WAAW,EACT,mGAAmG;gBACnG,4FAA4F;YAC9F,OAAO,EAAE,KAAK;SACf,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,kDAAkD;YAC3D,WAAW,EACT,2FAA2F;gBAC3F,0CAA0C;SAC7C,CAAC;QACF,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAClB,OAAO,EAAE,sEAAsE;YAC/E,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAEjD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,yFAAyF;YACzF,+BAA+B;YAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;gBACE,GAAG,KAAK,CAAC,MAAM,+BAA+B,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,GAAG;gBAC7G,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjE,EAAE;aACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;YACF,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,4EAA4E;QAC5E,MAAM,WAAW,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1G,CAAC"}
|
package/lib/context.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AtlassianConfig, ConfluenceClient, type EnvLike, JiraClient } from '@simplysf/simply-atlassian-core';
|
|
1
|
+
import { type AtlassianConfig, ConfluenceClient, type EnvLike, JiraClient, type XrayBackend } from '@simplysf/simply-atlassian-core';
|
|
2
2
|
export interface ServerOptions {
|
|
3
3
|
/**
|
|
4
4
|
* Register the tools that change or delete data. Off by default, so a server launched
|
|
@@ -6,6 +6,12 @@ export interface ServerOptions {
|
|
|
6
6
|
* environment carries `ATLASSIAN_READ_ONLY`, exactly as the CLI refuses it.
|
|
7
7
|
*/
|
|
8
8
|
readonly allowWrites?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Register the Xray tools. Off by default: a host lists every registered tool to its model, most
|
|
11
|
+
* people running this server have no Xray, and Xray Server/Data Center needs no settings of its
|
|
12
|
+
* own that could be detected instead.
|
|
13
|
+
*/
|
|
14
|
+
readonly xray?: boolean;
|
|
9
15
|
/**
|
|
10
16
|
* A `.env` file holding connection settings the host did not set. Loaded once, at startup,
|
|
11
17
|
* with the CLI's precedence: a variable already in the environment wins over the file.
|
|
@@ -23,10 +29,13 @@ export interface ServerOptions {
|
|
|
23
29
|
export interface ToolContext {
|
|
24
30
|
readonly env: EnvLike;
|
|
25
31
|
readonly allowWrites: boolean;
|
|
32
|
+
readonly xrayEnabled: boolean;
|
|
26
33
|
jiraConfig(): AtlassianConfig;
|
|
27
34
|
jira(): JiraClient;
|
|
28
35
|
confluenceConfig(): AtlassianConfig;
|
|
29
36
|
confluence(): ConfluenceClient;
|
|
37
|
+
/** Xray on the configured Jira, with the instance record in the CLI's default cache directory. */
|
|
38
|
+
xray(): XrayBackend;
|
|
30
39
|
}
|
|
31
40
|
/** Builds the context, loading the env file first so every later lookup sees it. */
|
|
32
41
|
export declare function createContext(options?: ServerOptions): ToolContext;
|
package/lib/context.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
import process from 'node:process';
|
|
17
|
-
import { ConfluenceClient, JiraClient, loadEnvFile, resolveConfluenceConfig, resolveJiraConfig, } from '@simplysf/simply-atlassian-core';
|
|
17
|
+
import { ConfluenceClient, createXrayBackend, defaultXrayCacheDir, JiraClient, loadEnvFile, resolveConfluenceConfig, resolveJiraConfig, stripControlOneLine, } from '@simplysf/simply-atlassian-core';
|
|
18
18
|
/** Builds the context, loading the env file first so every later lookup sees it. */
|
|
19
19
|
export function createContext(options = {}) {
|
|
20
20
|
const env = options.env ?? process.env;
|
|
@@ -23,10 +23,16 @@ export function createContext(options = {}) {
|
|
|
23
23
|
return {
|
|
24
24
|
env,
|
|
25
25
|
allowWrites: options.allowWrites ?? false,
|
|
26
|
+
xrayEnabled: options.xray ?? false,
|
|
26
27
|
jiraConfig: () => resolveJiraConfig({}, env),
|
|
27
28
|
jira: () => new JiraClient(resolveJiraConfig({}, env)),
|
|
28
29
|
confluenceConfig: () => resolveConfluenceConfig({}, env),
|
|
29
30
|
confluence: () => new ConfluenceClient(resolveConfluenceConfig({}, env)),
|
|
31
|
+
xray: () => createXrayBackend(resolveJiraConfig({}, env), {
|
|
32
|
+
cacheDir: defaultXrayCacheDir(env),
|
|
33
|
+
// stderr, never stdout: stdout is the protocol channel. A host shows this in its server log.
|
|
34
|
+
onWarning: (message) => process.stderr.write(`${stripControlOneLine(message)}\n`),
|
|
35
|
+
}),
|
|
30
36
|
};
|
|
31
37
|
}
|
|
32
38
|
//# sourceMappingURL=context.js.map
|
package/lib/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAEL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAEL,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EAEnB,UAAU,EACV,WAAW,EACX,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,GAEpB,MAAM,iCAAiC,CAAC;AA0CzC,oFAAoF;AACpF,MAAM,UAAU,aAAa,CAAC,UAAyB,EAAE;IACvD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACvC,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;QAAE,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAErE,OAAO;QACL,GAAG;QACH,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;QACzC,WAAW,EAAE,OAAO,CAAC,IAAI,IAAI,KAAK;QAClC,UAAU,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC;QAC5C,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACtD,gBAAgB,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC;QACxD,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxE,IAAI,EAAE,GAAG,EAAE,CACT,iBAAiB,CAAC,iBAAiB,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE;YAC5C,QAAQ,EAAE,mBAAmB,CAAC,GAAG,CAAC;YAClC,6FAA6F;YAC7F,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC;SAClF,CAAC;KACL,CAAC;AACJ,CAAC"}
|
package/lib/server.d.ts
CHANGED
|
@@ -22,8 +22,11 @@ export interface ToolError {
|
|
|
22
22
|
/** The response body, sanitised the same way the message is, when the instance sent one. */
|
|
23
23
|
readonly body?: unknown;
|
|
24
24
|
}
|
|
25
|
-
/**
|
|
26
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Which tools a server with the given options registers. Exported so `--help` can list them. App
|
|
27
|
+
* tools stay in the catalogue either way; only this filter decides whether they are registered.
|
|
28
|
+
*/
|
|
29
|
+
export declare function selectTools(allowWrites: boolean, xray?: boolean): readonly ToolSpec[];
|
|
27
30
|
/**
|
|
28
31
|
* Builds the MCP server with its metadata and tools registered, but not yet connected to a
|
|
29
32
|
* transport. Kept separate from {@link startServer} so tests can attach an in-memory transport
|
package/lib/server.js
CHANGED
|
@@ -30,15 +30,21 @@ const INSTRUCTIONS = 'Tools mirror the simply-atlassian CLI one to one and retur
|
|
|
30
30
|
'the request without sending it, and the irreversible ones (issue and comment deletes, and a ' +
|
|
31
31
|
'page purge) additionally require confirm: true. Failures come back as isError results whose ' +
|
|
32
32
|
'text is JSON with a stable "code": config, auth, error, or confirm-required. Prefer "fields" ' +
|
|
33
|
-
'on issue tools to keep payloads small.'
|
|
33
|
+
'on issue tools to keep payloads small. Xray tools (jira_xray_*, Server/Data Center only) are ' +
|
|
34
|
+
'registered only when the server was started with --xray; they return assembled records and rows ' +
|
|
35
|
+
'keyed by field name rather than raw payloads, and their "fields" input adds to the defaults ' +
|
|
36
|
+
'instead of replacing them.';
|
|
34
37
|
const ANNOTATIONS = {
|
|
35
38
|
read: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true },
|
|
36
39
|
write: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true },
|
|
37
40
|
destructive: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: true },
|
|
38
41
|
};
|
|
39
|
-
/**
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
/**
|
|
43
|
+
* Which tools a server with the given options registers. Exported so `--help` can list them. App
|
|
44
|
+
* tools stay in the catalogue either way; only this filter decides whether they are registered.
|
|
45
|
+
*/
|
|
46
|
+
export function selectTools(allowWrites, xray = false) {
|
|
47
|
+
return TOOLS.filter((tool) => (allowWrites || tool.kind === 'read') && (tool.app === undefined || (tool.app === 'xray' && xray)));
|
|
42
48
|
}
|
|
43
49
|
/**
|
|
44
50
|
* Builds the MCP server with its metadata and tools registered, but not yet connected to a
|
|
@@ -48,7 +54,7 @@ export function selectTools(allowWrites) {
|
|
|
48
54
|
export function createServer(options = {}) {
|
|
49
55
|
const context = createContext(options);
|
|
50
56
|
const server = new McpServer({ name: SERVER_NAME, version: SERVER_VERSION }, { instructions: INSTRUCTIONS });
|
|
51
|
-
for (const spec of selectTools(context.allowWrites)) {
|
|
57
|
+
for (const spec of selectTools(context.allowWrites, context.xrayEnabled)) {
|
|
52
58
|
server.registerTool(spec.name, {
|
|
53
59
|
title: spec.title,
|
|
54
60
|
description: spec.description,
|
package/lib/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,QAAQ,EACR,WAAW,EACX,SAAS,EACT,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,YAAY,GACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,aAAa,EAAwC,MAAM,cAAc,CAAC;AACnF,OAAO,EAAE,KAAK,EAAgC,MAAM,YAAY,CAAC;AAEjE,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAwB,CAAC;AAE7F,4EAA4E;AAC5E,MAAM,CAAC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAE9C,gGAAgG;AAChG,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAoBtC,MAAM,YAAY,GAChB,+FAA+F;IAC/F,iGAAiG;IACjG,+FAA+F;IAC/F,8FAA8F;IAC9F,8FAA8F;IAC9F,+FAA+F;IAC/F,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/lib/tools.d.ts
CHANGED
|
@@ -14,6 +14,12 @@ export interface ToolSpec {
|
|
|
14
14
|
/** The CLI command this tool is the equivalent of, e.g. `['atlassian', 'jira', 'issue', 'search']`. */
|
|
15
15
|
readonly command: readonly string[];
|
|
16
16
|
readonly kind: ToolKind;
|
|
17
|
+
/**
|
|
18
|
+
* The Marketplace app a tool needs, when it needs one. Such tools stay in the catalogue — so the
|
|
19
|
+
* parity check against the CLI still covers them — but are registered only when the server is
|
|
20
|
+
* started for that app, since most instances do not have it.
|
|
21
|
+
*/
|
|
22
|
+
readonly app?: 'xray';
|
|
17
23
|
readonly inputSchema: z.ZodRawShape;
|
|
18
24
|
/**
|
|
19
25
|
* For a destructive tool, whether this particular call needs `confirm`. Defaults to always;
|
package/lib/tools.js
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { addIssuesToSprint, BODY_FORMATS, buildCommentBody, buildCommentEditBody, buildCreateIssueBody, buildIssueLinkBody, buildPageCommentBody, buildPageCreateBody, buildTransitionBody, buildUpdateIssueBody, changelogJson, currentAccount, buildRemoteLinkBody, buildSprintCreateBody, deleteComment, deleteIssue, deleteIssueLink, deletePage, describeRemoteLink, filterChangelog, issueLinkCreated, listFields, jiraTargetUrl, numericId, pageExpand, pageIdForInstance, pageIdFromInput, pageUrl, preparePageUpdate, prepareSprintUpdate, readBackIssue, resolveTransitionId, updatePage, } from '@simplysf/simply-atlassian-core';
|
|
16
|
+
import { addIssuesToSprint, BODY_FORMATS, buildCommentBody, buildCommentEditBody, buildCreateIssueBody, buildIssueLinkBody, buildPageCommentBody, buildPageCreateBody, buildTransitionBody, buildUpdateIssueBody, changelogJson, currentAccount, buildRemoteLinkBody, buildSprintCreateBody, deleteComment, deleteIssue, deleteIssueLink, deletePage, describeRemoteLink, exportXrayTests, getXrayTest, listXrayContainers, listXrayFolders, listXrayTests, filterChangelog, issueLinkCreated, listFields, jiraTargetUrl, numericId, pageExpand, pageIdForInstance, pageIdFromInput, pageUrl, preparePageUpdate, prepareSprintUpdate, readBackIssue, resolveTransitionId, updatePage, } from '@simplysf/simply-atlassian-core';
|
|
17
17
|
import { z } from 'zod';
|
|
18
18
|
function tool(spec) {
|
|
19
19
|
return spec;
|
|
@@ -62,6 +62,53 @@ const storageMarkdown = z
|
|
|
62
62
|
'blockquotes and fenced code blocks are supported; anything else — images, raw HTML, task ' +
|
|
63
63
|
'lists — is refused naming the line, rather than dropped. Confluence macros such as info ' +
|
|
64
64
|
'panels have no Markdown form: use body for those.');
|
|
65
|
+
// --- Xray building blocks, shared by the Xray tools ---
|
|
66
|
+
const xrayFields = z
|
|
67
|
+
.array(z.string())
|
|
68
|
+
.optional()
|
|
69
|
+
.describe('Extra fields to return, ADDED to the defaults: an Xray role (steps, repositoryPath, …), an Xray ' +
|
|
70
|
+
'field name, or any Jira field id or name (components, "Story Points"). Unknown names are an error.');
|
|
71
|
+
const xrayScope = {
|
|
72
|
+
project: z.string().optional().describe('Project key: every Test in it, or the folder "path" names in it.'),
|
|
73
|
+
plan: z.string().optional().describe('Test Plan key: its tests, including any added through a Test Set.'),
|
|
74
|
+
set: z.string().optional().describe('Test Set key: its tests.'),
|
|
75
|
+
path: z
|
|
76
|
+
.string()
|
|
77
|
+
.optional()
|
|
78
|
+
.describe('Test repository folder inside "project", such as "/O&M/Accounts"; "/" is the root.'),
|
|
79
|
+
recursive: z.boolean().optional().describe('With "path", include tests in subfolders.'),
|
|
80
|
+
};
|
|
81
|
+
const xrayFilters = {
|
|
82
|
+
jql: z.string().optional().describe('Extra JQL ANDed onto the scope, in parentheses so it cannot widen it.'),
|
|
83
|
+
search: z
|
|
84
|
+
.string()
|
|
85
|
+
.optional()
|
|
86
|
+
.describe('Text in the summary or description, matched as typed: no wildcards or operators.'),
|
|
87
|
+
linkedTo: z
|
|
88
|
+
.array(z.string())
|
|
89
|
+
.optional()
|
|
90
|
+
.describe('Only tests linked to any of these issue keys (stories, bugs), by any link type.'),
|
|
91
|
+
};
|
|
92
|
+
const xrayContainerInput = {
|
|
93
|
+
project: z.string().describe('Project key.'),
|
|
94
|
+
jql: xrayFilters.jql,
|
|
95
|
+
search: xrayFilters.search,
|
|
96
|
+
fields: xrayFields,
|
|
97
|
+
limit: limit(25, 'results'),
|
|
98
|
+
};
|
|
99
|
+
/** The most an export returns in one call: a host holds the whole result in its context. */
|
|
100
|
+
const XRAY_EXPORT_MAX = 500;
|
|
101
|
+
/** A list as rows keyed by field name, since raw issues carry only `customfield_…` ids. */
|
|
102
|
+
function xrayRows(result) {
|
|
103
|
+
return { rows: result.rows, total: result.search.total, complete: result.search.complete };
|
|
104
|
+
}
|
|
105
|
+
/** The CLI's scope and filter flags, from a tool input. */
|
|
106
|
+
function xrayQuery(input) {
|
|
107
|
+
return {
|
|
108
|
+
scope: { project: input.project, plan: input.plan, set: input.set, path: input.path, recursive: input.recursive },
|
|
109
|
+
filters: { jql: input.jql, search: input.search, linkedTo: input.linkedTo },
|
|
110
|
+
};
|
|
111
|
+
}
|
|
65
112
|
const WRITE_SHAPE = { dryRun };
|
|
66
113
|
const DESTRUCTIVE_SHAPE = { dryRun, confirm };
|
|
67
114
|
/**
|
|
@@ -764,5 +811,119 @@ export const TOOLS = [
|
|
|
764
811
|
return input.dryRun === true ? Promise.resolve(request) : client.addLabels(pageId, request);
|
|
765
812
|
},
|
|
766
813
|
}),
|
|
814
|
+
// --- Jira: Xray (Server/Data Center, registered only with --xray) ---
|
|
815
|
+
tool({
|
|
816
|
+
name: 'jira_xray_fields',
|
|
817
|
+
title: 'Xray: discovered fields',
|
|
818
|
+
description: "Show which Jira fields and issue types hold Xray's data on this instance — discovered by schema " +
|
|
819
|
+
'type, then cached as an instance record. Pass refresh: true to rediscover. Returns the record.',
|
|
820
|
+
command: ['atlassian', 'jira', 'xray', 'fields'],
|
|
821
|
+
kind: 'read',
|
|
822
|
+
app: 'xray',
|
|
823
|
+
inputSchema: { refresh: z.boolean().optional().describe('Rediscover and rewrite the instance record first.') },
|
|
824
|
+
run: async (ctx, input) => (await ctx.xray().instance({ refresh: input.refresh === true })).record,
|
|
825
|
+
}),
|
|
826
|
+
tool({
|
|
827
|
+
name: 'jira_xray_test_get',
|
|
828
|
+
title: 'Xray: view a test',
|
|
829
|
+
description: 'One Xray test. Returns { record, notes }: the export record (type, steps, definition, ' +
|
|
830
|
+
'preconditions, issue links such as the requirement or bug it verifies, plans, sets and repository ' +
|
|
831
|
+
'path), and notes on anything skipped because it is not visible or kept under a step\'s "extra" ' +
|
|
832
|
+
'because this version does not interpret it, such as a call to another test. raw: true returns ' +
|
|
833
|
+
'the underlying Jira issue instead.',
|
|
834
|
+
command: ['atlassian', 'jira', 'xray', 'test', 'get'],
|
|
835
|
+
kind: 'read',
|
|
836
|
+
app: 'xray',
|
|
837
|
+
inputSchema: {
|
|
838
|
+
test: z.string().describe('Test issue key, for example PROJ-12.'),
|
|
839
|
+
fields: xrayFields,
|
|
840
|
+
raw: z.boolean().optional().describe('Return the underlying Jira issue instead of the export record.'),
|
|
841
|
+
},
|
|
842
|
+
run: async (ctx, input) => {
|
|
843
|
+
const result = await getXrayTest(ctx.xray(), input.test, { fields: input.fields });
|
|
844
|
+
return input.raw === true ? result.issue : { record: result.record, notes: result.notes };
|
|
845
|
+
},
|
|
846
|
+
}),
|
|
847
|
+
tool({
|
|
848
|
+
name: 'jira_xray_test_list',
|
|
849
|
+
title: 'Xray: list tests',
|
|
850
|
+
description: 'List tests in exactly one scope — project, plan, set, or project plus path — optionally narrowed ' +
|
|
851
|
+
'by jql, search and linkedTo (ANDed). Returns { rows, total?, complete }: each row is { key, type, ' +
|
|
852
|
+
'status, summary, fields }, with "fields" keyed by the names asked for. Use jira_xray_test_export ' +
|
|
853
|
+
'for steps.',
|
|
854
|
+
command: ['atlassian', 'jira', 'xray', 'test', 'list'],
|
|
855
|
+
kind: 'read',
|
|
856
|
+
app: 'xray',
|
|
857
|
+
inputSchema: { ...xrayScope, ...xrayFilters, fields: xrayFields, limit: limit(25, 'tests') },
|
|
858
|
+
run: async (ctx, input) => xrayRows(await listXrayTests(ctx.xray(), { ...xrayQuery(input), fields: input.fields, limit: input.limit ?? 25 })),
|
|
859
|
+
}),
|
|
860
|
+
tool({
|
|
861
|
+
name: 'jira_xray_test_export',
|
|
862
|
+
title: 'Xray: export tests',
|
|
863
|
+
description: 'Full export records for the same scopes and filters as jira_xray_test_list. Returns { records, ' +
|
|
864
|
+
'total?, complete, notes }: "complete": false means limit cut it short, and "notes" lists what was ' +
|
|
865
|
+
'skipped because it is not visible, and step data kept under "extra" because this version does ' +
|
|
866
|
+
'not interpret it. limit defaults to 100 and is at most ' +
|
|
867
|
+
`${XRAY_EXPORT_MAX}, because the whole result lands in context; for more, use the CLI's ` +
|
|
868
|
+
'"atlassian jira xray test export --format jsonl".',
|
|
869
|
+
command: ['atlassian', 'jira', 'xray', 'test', 'export'],
|
|
870
|
+
kind: 'read',
|
|
871
|
+
app: 'xray',
|
|
872
|
+
inputSchema: {
|
|
873
|
+
...xrayScope,
|
|
874
|
+
...xrayFilters,
|
|
875
|
+
fields: xrayFields,
|
|
876
|
+
limit: z
|
|
877
|
+
.number()
|
|
878
|
+
.int()
|
|
879
|
+
.positive()
|
|
880
|
+
.max(XRAY_EXPORT_MAX)
|
|
881
|
+
.optional()
|
|
882
|
+
.describe(`Maximum number of tests to return, at most ${XRAY_EXPORT_MAX}. Defaults to 100.`),
|
|
883
|
+
},
|
|
884
|
+
run: (ctx, input) => exportXrayTests(ctx.xray(), {
|
|
885
|
+
...xrayQuery(input),
|
|
886
|
+
fields: input.fields,
|
|
887
|
+
// Lower than the CLI's 1000: a host holds the whole tool result in context.
|
|
888
|
+
limit: input.limit ?? 100,
|
|
889
|
+
}),
|
|
890
|
+
}),
|
|
891
|
+
tool({
|
|
892
|
+
name: 'jira_xray_plan_list',
|
|
893
|
+
title: 'Xray: list test plans',
|
|
894
|
+
description: 'List the Test Plans in a project. Returns { rows, total?, complete }: each row is { key, status, ' +
|
|
895
|
+
'summary, testCount, fields }, and each key is what jira_xray_test_list takes as "plan".',
|
|
896
|
+
command: ['atlassian', 'jira', 'xray', 'plan', 'list'],
|
|
897
|
+
kind: 'read',
|
|
898
|
+
app: 'xray',
|
|
899
|
+
inputSchema: xrayContainerInput,
|
|
900
|
+
run: async (ctx, input) => xrayRows(await listXrayContainers(ctx.xray(), 'plan', { ...input, limit: input.limit ?? 25 })),
|
|
901
|
+
}),
|
|
902
|
+
tool({
|
|
903
|
+
name: 'jira_xray_set_list',
|
|
904
|
+
title: 'Xray: list test sets',
|
|
905
|
+
description: 'List the Test Sets in a project. Returns { rows, total?, complete }: each row is { key, status, ' +
|
|
906
|
+
'summary, testCount, fields }, and each key is what jira_xray_test_list takes as "set".',
|
|
907
|
+
command: ['atlassian', 'jira', 'xray', 'set', 'list'],
|
|
908
|
+
kind: 'read',
|
|
909
|
+
app: 'xray',
|
|
910
|
+
inputSchema: xrayContainerInput,
|
|
911
|
+
run: async (ctx, input) => xrayRows(await listXrayContainers(ctx.xray(), 'set', { ...input, limit: input.limit ?? 25 })),
|
|
912
|
+
}),
|
|
913
|
+
tool({
|
|
914
|
+
name: 'jira_xray_path_list',
|
|
915
|
+
title: 'Xray: test repository folders',
|
|
916
|
+
description: "A project's test repository as a nested tree { name, path, id, testCount, folders }. Each path " +
|
|
917
|
+
'is what jira_xray_test_list and jira_xray_test_export take as "path".',
|
|
918
|
+
command: ['atlassian', 'jira', 'xray', 'path', 'list'],
|
|
919
|
+
kind: 'read',
|
|
920
|
+
app: 'xray',
|
|
921
|
+
inputSchema: {
|
|
922
|
+
project: z.string().describe('Project key.'),
|
|
923
|
+
path: z.string().optional().describe('Start at this folder instead of the root.'),
|
|
924
|
+
depth: z.number().int().nonnegative().optional().describe('Levels of subfolders to include.'),
|
|
925
|
+
},
|
|
926
|
+
run: (ctx, input) => listXrayFolders(ctx.xray(), input),
|
|
927
|
+
}),
|
|
767
928
|
];
|
|
768
929
|
//# sourceMappingURL=tools.js.map
|
package/lib/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,WAAW,EACX,eAAe,EACf,UAAU,EACV,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,OAAO,EACP,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,mBAAmB,EAGnB,UAAU,GACX,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyCxB,SAAS,IAAI,CAA0B,IAAsB;IAC3D,OAAO,IAA2B,CAAC;AACrC,CAAC;AAED,mFAAmF;AAEnF,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC,CAAC;AACzE,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC,CAAC;AAC7F,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;AAE9F,MAAM,KAAK,GAAG,CAAC,QAAgB,EAAE,IAAY,EAA8B,EAAE,CAC3E,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,IAAI,2BAA2B,QAAQ,GAAG,CAAC,CAAC;AAEnH,MAAM,MAAM,GAAG,CAAC;KACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjB,QAAQ,EAAE;KACV,QAAQ,CACP,wFAAwF;IACtF,gFAAgF,CACnF,CAAC;AAEJ,MAAM,IAAI,GAAG,CAAC;KACX,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;KAC/B,QAAQ,EAAE;KACV,QAAQ,CACP,uFAAuF;IACrF,kFAAkF,CACrF,CAAC;AAEJ,MAAM,MAAM,GAAG,CAAC;KACb,OAAO,EAAE;KACT,QAAQ,EAAE;KACV,QAAQ,CAAC,qFAAqF,CAAC,CAAC;AAEnG,MAAM,OAAO,GAAG,CAAC;KACd,OAAO,EAAE;KACT,QAAQ,EAAE;KACV,QAAQ,CAAC,uEAAuE,CAAC,CAAC;AAErF,MAAM,QAAQ,GAAG,CAAC;KACf,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjB,QAAQ,EAAE;KACV,QAAQ,CACP,yFAAyF;IACvF,qFAAqF,CACxF,CAAC;AAEJ,MAAM,MAAM,GAAG,CAAC,IAAY,EAA0C,EAAE,CACtE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,IAAI,GAAG,CAAC,CAAC;AAEhE,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CAAC,4EAA4E,CAAC,CAAC;AAC1F,MAAM,WAAW,GAAG,CAAC;KAClB,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CAAC,8EAA8E,CAAC,CAAC;AAE5F,MAAM,eAAe,GAAG,CAAC;KACtB,MAAM,EAAE;KACR,QAAQ,EAAE;KACV,QAAQ,CACP,2FAA2F;IACzF,2FAA2F;IAC3F,0FAA0F;IAC1F,mDAAmD,CACtD,CAAC;AAEJ,yDAAyD;AAEzD,MAAM,UAAU,GAAG,CAAC;KACjB,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACjB,QAAQ,EAAE;KACV,QAAQ,CACP,kGAAkG;IAChG,oGAAoG,CACvG,CAAC;AAEJ,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAC3G,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IACzG,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC/D,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oFAAoF,CAAC;IACjG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;CACxF,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uEAAuE,CAAC;IAC5G,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,kFAAkF,CAAC;IAC/F,QAAQ,EAAE,CAAC;SACR,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,iFAAiF,CAAC;CAC/F,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IAC5C,GAAG,EAAE,WAAW,CAAC,GAAG;IACpB,MAAM,EAAE,WAAW,CAAC,MAAM;IAC1B,MAAM,EAAE,UAAU;IAClB,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;CAC5B,CAAC;AAEF,4FAA4F;AAC5F,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B,2FAA2F;AAC3F,SAAS,QAAQ,CAAM,MAAmE;IAKxF,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;AAC7F,CAAC;AAED,2DAA2D;AAC3D,SAAS,SAAS,CAAC,KASlB;IACC,OAAO;QACL,KAAK,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE;QACjH,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE;KAC5E,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,EAAE,MAAM,EAAW,CAAC;AACxC,MAAM,iBAAiB,GAAG,EAAE,MAAM,EAAE,OAAO,EAAW,CAAC;AAEvD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,KAAK,GAAwB;IACxC,mCAAmC;IACnC,IAAI,CAAC;QACH,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,gBAAgB;QACvB,WAAW,EACT,2FAA2F;YAC3F,wDAAwD;QAC1D,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;KACzC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EAAE,gGAAgG;QAC7G,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QAChD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAC1D,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC;SAC1B;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;KAC5E,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,4EAA4E;QACzF,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC9C,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;SACxF;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;KACvD,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,2CAA2C;QAClD,WAAW,EACT,mFAAmF;YACnF,0FAA0F;QAC5F,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC;QACtC,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;QAC9E,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;KACjG,CAAC;IAEF,uBAAuB;IACvB,IAAI,CAAC;QACH,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,4FAA4F;YAC5F,sFAAsF;YACtF,0CAA0C;QAC5C,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4EAA4E,CAAC;YACtG,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,yBAAyB,CAAC;YAC3C,MAAM;SACP;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;KAC7G,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,qFAAqF;YACrF,+BAA+B;QACjC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAC/C,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,MAAM;YACN,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oDAAoD,CAAC;SACtG;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;KACjH,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,2FAA2F;YAC3F,8FAA8F;QAChG,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;QAClD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,iBAAiB,CAAC;YACnC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;SACnG;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CACxB,aAAa,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;KAChH,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,uFAAuF;YACvF,sFAAsF;QACxF,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC;QACtD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAChC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;KAC5D,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,uFAAuF;YACvF,wFAAwF;YACxF,iEAAiE;QACnE,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC5E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACjF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;YAC/E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;YACxF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;YAC1G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC1D,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC;YACvB,IAAI;YACJ,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpD,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,yFAAyF;YACzF,2FAA2F;YAC3F,kCAAkC;QACpC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACvD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC7E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;YAC9G,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAC9D,MAAM,EAAE,MAAM,CAAC,oCAAoC,CAAC;YACpD,IAAI;YACJ,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;YAC5G,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC;YAC1C,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC/F,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,4FAA4F;YAC5F,4EAA4E;QAC9E,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC;QACrD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YAClF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACpF,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;YACjG,IAAI;YACJ,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACtG,MAAM,OAAO,GAAG,mBAAmB,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC9F,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC;YAC1C,MAAM,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACnD,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QACpE,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,mBAAmB;QACzB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,4FAA4F;YAC5F,4FAA4F;YAC5F,8BAA8B;QAChC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACjD,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YACpF,GAAG,iBAAiB;SACrB;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;KACpD,CAAC;IAEF,yBAAyB;IACzB,IAAI,CAAC;QACH,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,6DAA6D;QAC1E,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;QAC1D,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;QAC9D,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KAC5F,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,2FAA2F;YAC3F,4CAA4C;QAC9C,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC;QACzD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YACrD,QAAQ;YACR,IAAI;YACJ,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnF,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,yBAAyB;QAC/B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,iEAAiE;QAC9E,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC;QAC1D,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,OAAO,EAAE,SAAS;YAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YACjE,QAAQ;YACR,IAAI;YACJ,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACrG,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,wFAAwF;YACxF,wBAAwB;QAC1B,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,CAAC;QAC5D,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,iBAAiB,EAAE;QAC1E,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;KACtD,CAAC;IAEF,4BAA4B;IAC5B,IAAI,CAAC;QACH,IAAI,EAAE,sBAAsB;QAC5B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,+FAA+F;YAC/F,0CAA0C;QAC5C,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;QACvD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAChC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC;KAClF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,kFAAkF;YAClF,2CAA2C;QAC7C,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;QACxD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE;QACf,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE;KACxC,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,0FAA0F;YAC1F,2FAA2F;YAC3F,qCAAqC;QACvC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;QACzD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;YACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8DAA8D,CAAC;YACzF,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;YAChF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;YACtE,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,kBAAkB,CAC1D,MAAM,EACN,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,EAAE,EACR,KAAK,CAAC,OAAO,CACd,CAAC;YACF,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAO,OAAO,CAAC;YAC1C,MAAM,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC1D,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,2FAA2F;YAC3F,2DAA2D;QAC7D,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC;QACzD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;YACzE,GAAG,WAAW;SACf;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KACzF,CAAC;IAEF,yCAAyC;IACzC,IAAI,CAAC;QACH,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,4FAA4F;QACzG,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAC/C,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YACvE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAC9E,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC3B;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,GAAG,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC;YACnB,cAAc,EAAE,KAAK,CAAC,OAAO;YAC7B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;SACzB,CAAC;KACL,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,wFAAwF;YACxF,kDAAkD;QACpD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC;QAChD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YACrD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0EAA0E,CAAC;YACjH,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC;SAC5B;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE;YACrD,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,eAAe;YACrC,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;SACzB,CAAC;KACL,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,4FAA4F;QACzG,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAClD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACjD,MAAM;YACN,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC;SAC3B;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,GAAG,CAAC,IAAI,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;YAC5D,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YAC7B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;SACzB,CAAC;KACL,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,8BAA8B;QACrC,WAAW,EACT,wFAAwF;YACxF,sEAAsE;QACxE,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC;QAC/C,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YACjD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAClE,GAAG,WAAW;SACf;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KACzG,CAAC;IAEF,4BAA4B;IAC5B,IAAI,CAAC;QACH,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,oCAAoC;QAC3C,WAAW,EACT,wFAAwF;YACxF,+EAA+E;QACjF,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC;QAC5C,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;QAC9B,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;KAChH,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,8FAA8F;YAC9F,qCAAqC;QACvC,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC;QACnD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,YAAY,CAAC;iBAClB,QAAQ,EAAE;iBACV,QAAQ,CAAC,mFAAmF,CAAC;YAChG,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC;SACrG;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,GAAG;aACA,UAAU,EAAE;aACZ,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,IAAI,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;KAChH,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,8FAA8F;QAC3G,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC;QACtD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;YAC7C,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,0BAA0B,CAAC;SAC7C;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;KACnF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,0BAA0B;QAChC,KAAK,EAAE,8BAA8B;QACrC,WAAW,EAAE,wCAAwC;QACrD,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC;QACxD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;QAC5D,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KACjH,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,uFAAuF;YACvF,4FAA4F;QAC9F,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;YAC5D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;YACzC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qEAAqE,CAAC;YAC7G,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,eAAe;YACzB,GAAG,WAAW;SACf;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,2BAA2B;QAClC,WAAW,EACT,4FAA4F;YAC5F,2BAA2B;YAC3B,0FAA0F;YAC1F,oCAAoC;QACtC,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;YACzF,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,eAAe;YACzB,MAAM,EAAE,CAAC;iBACN,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CACP,qFAAqF;gBACnF,sEAAsE,CACzE;YACH,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;YACzE,MAAM,IAAI,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,wBAAwB;QAC9B,KAAK,EAAE,qCAAqC;QAC5C,WAAW,EACT,6FAA6F;YAC7F,yFAAyF;QAC3F,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC;QACtD,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;YAChH,GAAG,iBAAiB;SACrB;QACD,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI;QAChD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;KACpH,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,gCAAgC;QACvC,WAAW,EAAE,yFAAyF;QACtG,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;QAC/D,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;QAC5D,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,GAAG;aACA,UAAU,EAAE;aACZ,WAAW,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KAC1G,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,6BAA6B;QACnC,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACT,sFAAsF;YACtF,8CAA8C;QAChD,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;QAC9D,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,WAAW,EAAE;QAC/G,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,OAAO,GAAG,oBAAoB,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YACvG,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC1F,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EACT,uFAAuF;YACvF,wDAAwD;QAC1D,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC;QAC1C,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,CAAC,EAAE;QAC7C,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KAC/E,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,aAAa;QACnB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,0FAA0F;YAC1F,yFAAyF;YACzF,wFAAwF;YACxF,0EAA0E;QAC5E,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC;QACxC,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;SAC1F;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KAC5F,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,iCAAiC;QACxC,WAAW,EAAE,oFAAoF;QACjG,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC;QACrD,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;QAC/E,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC;KAClE,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,4FAA4F;YAC5F,yFAAyF;QAC3F,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAClD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;YAChD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACzC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YACpD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC9D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC1D,GAAG,WAAW;SACf;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC7F,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,iFAAiF;YACjF,sFAAsF;YACtF,0EAA0E;QAC5E,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAClD,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAClD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YACxD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC9D,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qBAAqB,CAAC;YAC1D,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;YAClF,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;YAC1B,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClF,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,0CAA0C;QACjD,WAAW,EACT,2FAA2F;YAC3F,mFAAmF;QACrF,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC;QAC7D,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;QAChC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAiB,CAAC;YAC7E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACtF,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,+CAA+C;QACtD,WAAW,EACT,uFAAuF;YACvF,2FAA2F;YAC3F,4FAA4F;YAC5F,mDAAmD;QACrD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC/D,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;YAClE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;YACxE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;YACtF,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,0FAA0F,CAAC;YACvG,GAAG,WAAW;SACf;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9G,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,4BAA4B;QACnC,WAAW,EACT,uFAAuF;YACvF,6EAA6E;QAC/E,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,CAAC;QAC/D,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YACvD,GAAG,WAAW;SACf;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;YAC/F,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,4FAA4F;YAC5F,4CAA4C;QAC9C,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAC7D,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE;QAC1D,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,GAAG;aACA,UAAU,EAAE;aACZ,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;KACxG,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,2BAA2B;QACjC,KAAK,EAAE,kCAAkC;QACzC,WAAW,EACT,sFAAsF;YACtF,mFAAmF;QACrF,OAAO,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC;QAC5D,IAAI,EAAE,OAAO;QACb,WAAW,EAAE;YACX,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAC7D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;YACzF,GAAG,WAAW;SACf;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClB,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC;YAChC,MAAM,MAAM,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACzF,OAAO,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9F,CAAC;KACF,CAAC;IACF,uEAAuE;IACvE,IAAI,CAAC;QACH,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,yBAAyB;QAChC,WAAW,EACT,kGAAkG;YAClG,gGAAgG;QAClG,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QAChD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mDAAmD,CAAC,EAAE;QAC9G,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM;KACnG,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EACT,wFAAwF;YACxF,oGAAoG;YACpG,iGAAiG;YACjG,gGAAgG;YAChG,oCAAoC;QACtC,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;QACrD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YACjE,MAAM,EAAE,UAAU;YAClB,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;SACvG;QACD,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;YACxB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACnF,OAAO,KAAK,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QAC5F,CAAC;KACF,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,kBAAkB;QACzB,WAAW,EACT,mGAAmG;YACnG,oGAAoG;YACpG,mGAAmG;YACnG,YAAY;QACd,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACtD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE,EAAE,GAAG,SAAS,EAAE,GAAG,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;QAC5F,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CACxB,QAAQ,CACN,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CACzG;KACJ,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,uBAAuB;QAC7B,KAAK,EAAE,oBAAoB;QAC3B,WAAW,EACT,iGAAiG;YACjG,oGAAoG;YACpG,gGAAgG;YAChG,yDAAyD;YACzD,GAAG,eAAe,uEAAuE;YACzF,mDAAmD;QACrD,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC;QACxD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE;YACX,GAAG,SAAS;YACZ,GAAG,WAAW;YACd,MAAM,EAAE,UAAU;YAClB,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,QAAQ,EAAE;iBACV,GAAG,CAAC,eAAe,CAAC;iBACpB,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,eAAe,oBAAoB,CAAC;SAC/F;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAClB,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;YAC1B,GAAG,SAAS,CAAC,KAAK,CAAC;YACnB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,4EAA4E;YAC5E,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG;SAC1B,CAAC;KACL,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EACT,mGAAmG;YACnG,yFAAyF;QAC3F,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACtD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE,kBAAkB;QAC/B,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CACxB,QAAQ,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;KACjG,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,oBAAoB;QAC1B,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EACT,kGAAkG;YAClG,wFAAwF;QAC1F,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;QACrD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE,kBAAkB;QAC/B,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,CACxB,QAAQ,CAAC,MAAM,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;KAChG,CAAC;IACF,IAAI,CAAC;QACH,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,+BAA+B;QACtC,WAAW,EACT,iGAAiG;YACjG,uEAAuE;QACzE,OAAO,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QACtD,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,MAAM;QACX,WAAW,EAAE;YACX,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC5C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;YACjF,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;SAC9F;QACD,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC;KACxD,CAAC;CACH,CAAC"}
|
package/oclif.manifest.json
CHANGED
|
@@ -13,6 +13,10 @@
|
|
|
13
13
|
"description": "Allow writes, with settings from a file",
|
|
14
14
|
"command": "<%= config.bin %> <%= command.id %> --allow-writes --env-file ~/atlassian.env"
|
|
15
15
|
},
|
|
16
|
+
{
|
|
17
|
+
"description": "Also register the Xray tools, for Jira Server/Data Center with Xray installed",
|
|
18
|
+
"command": "<%= config.bin %> <%= command.id %> --xray"
|
|
19
|
+
},
|
|
16
20
|
{
|
|
17
21
|
"description": "List the tools this server would register, without starting it",
|
|
18
22
|
"command": "<%= config.bin %> <%= command.id %> --list"
|
|
@@ -26,6 +30,13 @@
|
|
|
26
30
|
"allowNo": false,
|
|
27
31
|
"type": "boolean"
|
|
28
32
|
},
|
|
33
|
+
"xray": {
|
|
34
|
+
"description": "Off by default: a client shows its model every registered tool, and most instances have no Xray. Xray Server/Data Center needs no settings of its own, so there is nothing to detect it by.",
|
|
35
|
+
"name": "xray",
|
|
36
|
+
"summary": "Also register the Xray tools (Jira Server/Data Center, read-only).",
|
|
37
|
+
"allowNo": false,
|
|
38
|
+
"type": "boolean"
|
|
39
|
+
},
|
|
29
40
|
"env-file": {
|
|
30
41
|
"char": "e",
|
|
31
42
|
"description": "Use an absolute path. MCP clients launch a server from a working directory of their own, so ~ and relative paths may not resolve.",
|
|
@@ -61,5 +72,5 @@
|
|
|
61
72
|
]
|
|
62
73
|
}
|
|
63
74
|
},
|
|
64
|
-
"version": "0.
|
|
75
|
+
"version": "0.7.1"
|
|
65
76
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysf/simply-atlassian-mcp",
|
|
3
3
|
"description": "Model Context Protocol server exposing Jira and Confluence to AI agents, built on @simplysf/simply-atlassian-core",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.7.1",
|
|
5
5
|
"author": "@ClayChipps",
|
|
6
6
|
"homepage": "https://github.com/SimplySF/simply-atlassian",
|
|
7
7
|
"bugs": "https://github.com/SimplySF/simply-atlassian/issues",
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
"simply-atlassian-mcp": "./bin/run.js"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@modelcontextprotocol/sdk": "^1.32.
|
|
37
|
+
"@modelcontextprotocol/sdk": "^1.32.1",
|
|
38
38
|
"@oclif/core": "^4.11.2",
|
|
39
|
-
"@simplysf/simply-atlassian-core": "^0.
|
|
39
|
+
"@simplysf/simply-atlassian-core": "^0.7.1",
|
|
40
40
|
"zod": "^4.6.5"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
@@ -184,5 +184,5 @@
|
|
|
184
184
|
}
|
|
185
185
|
}
|
|
186
186
|
},
|
|
187
|
-
"gitHead": "
|
|
187
|
+
"gitHead": "5958549beb084d6eb7a0fdc20be74db6f856cee2"
|
|
188
188
|
}
|