@crypto512/jicon-mcp 2.2.1 → 2.3.19
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/PROMPT.md +10 -28
- package/README.md +39 -6
- package/TOOL_LIST.md +542 -407
- package/dist/config/constants.d.ts +28 -0
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +34 -0
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +12 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +49 -6
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +18 -0
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/client.d.ts.map +1 -1
- package/dist/confluence/client.js +7 -2
- package/dist/confluence/client.js.map +1 -1
- package/dist/confluence/formatters.d.ts +20 -0
- package/dist/confluence/formatters.d.ts.map +1 -1
- package/dist/confluence/formatters.js +74 -8
- package/dist/confluence/formatters.js.map +1 -1
- package/dist/confluence/tools.d.ts +16 -20
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +71 -68
- package/dist/confluence/tools.js.map +1 -1
- package/dist/credentials/extractor.d.ts +15 -5
- package/dist/credentials/extractor.d.ts.map +1 -1
- package/dist/credentials/extractor.js +99 -12
- package/dist/credentials/extractor.js.map +1 -1
- package/dist/credentials/index.d.ts +4 -3
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js +3 -2
- package/dist/credentials/index.js.map +1 -1
- package/dist/credentials/types.d.ts +22 -0
- package/dist/credentials/types.d.ts.map +1 -1
- package/dist/credentials/types.js.map +1 -1
- package/dist/index.js +211 -176
- package/dist/index.js.map +1 -1
- package/dist/jira/activity-tools.d.ts +8 -15
- package/dist/jira/activity-tools.d.ts.map +1 -1
- package/dist/jira/activity-tools.js +131 -90
- package/dist/jira/activity-tools.js.map +1 -1
- package/dist/jira/client.d.ts +24 -0
- package/dist/jira/client.d.ts.map +1 -1
- package/dist/jira/client.js +65 -6
- package/dist/jira/client.js.map +1 -1
- package/dist/jira/formatters.d.ts +61 -0
- package/dist/jira/formatters.d.ts.map +1 -1
- package/dist/jira/formatters.js +83 -11
- package/dist/jira/formatters.js.map +1 -1
- package/dist/jira/tools.d.ts +78 -26
- package/dist/jira/tools.d.ts.map +1 -1
- package/dist/jira/tools.js +293 -130
- package/dist/jira/tools.js.map +1 -1
- package/dist/permissions/filter.d.ts.map +1 -1
- package/dist/permissions/filter.js +8 -4
- package/dist/permissions/filter.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +15 -13
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +19 -10
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/session/context.d.ts +81 -0
- package/dist/session/context.d.ts.map +1 -0
- package/dist/session/context.js +107 -0
- package/dist/session/context.js.map +1 -0
- package/dist/session/index.d.ts +12 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +22 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +186 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +383 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/tempo/client.d.ts +14 -0
- package/dist/tempo/client.d.ts.map +1 -1
- package/dist/tempo/client.js +57 -0
- package/dist/tempo/client.js.map +1 -1
- package/dist/tempo/formatters.d.ts +13 -0
- package/dist/tempo/formatters.d.ts.map +1 -1
- package/dist/tempo/formatters.js +106 -20
- package/dist/tempo/formatters.js.map +1 -1
- package/dist/tempo/tools.d.ts +14 -13
- package/dist/tempo/tools.d.ts.map +1 -1
- package/dist/tempo/tools.js +203 -33
- package/dist/tempo/tools.js.map +1 -1
- package/dist/tempo/types.d.ts +20 -6
- package/dist/tempo/types.d.ts.map +1 -1
- package/dist/transport/http.d.ts +21 -5
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +193 -22
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/index.d.ts +7 -2
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +10 -4
- package/dist/transport/index.js.map +1 -1
- package/dist/utils/buffer-tools.d.ts +48 -724
- package/dist/utils/buffer-tools.d.ts.map +1 -1
- package/dist/utils/buffer-tools.js +337 -170
- package/dist/utils/buffer-tools.js.map +1 -1
- package/dist/utils/content-buffer.d.ts +10 -31
- package/dist/utils/content-buffer.d.ts.map +1 -1
- package/dist/utils/content-buffer.js +12 -86
- package/dist/utils/content-buffer.js.map +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +99 -2
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/jicon-help.d.ts +3 -3
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +164 -312
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/logger.d.ts +43 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +102 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/plantuml/tools.d.ts.map +1 -1
- package/dist/utils/plantuml/tools.js +10 -9
- package/dist/utils/plantuml/tools.js.map +1 -1
- package/dist/utils/response-formatter.d.ts +20 -2
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +147 -17
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/sandbox/formatters.d.ts +25 -0
- package/dist/utils/sandbox/formatters.d.ts.map +1 -0
- package/dist/utils/sandbox/formatters.js +690 -0
- package/dist/utils/sandbox/formatters.js.map +1 -0
- package/dist/utils/sandbox/helpers.d.ts +16 -0
- package/dist/utils/sandbox/helpers.d.ts.map +1 -0
- package/dist/utils/sandbox/helpers.js +252 -0
- package/dist/utils/sandbox/helpers.js.map +1 -0
- package/dist/utils/sandbox/index.d.ts +19 -0
- package/dist/utils/sandbox/index.d.ts.map +1 -0
- package/dist/utils/sandbox/index.js +269 -0
- package/dist/utils/sandbox/index.js.map +1 -0
- package/dist/utils/sandbox/schema.d.ts +55 -0
- package/dist/utils/sandbox/schema.d.ts.map +1 -0
- package/dist/utils/sandbox/schema.js +39 -0
- package/dist/utils/sandbox/schema.js.map +1 -0
- package/dist/utils/sandbox/types.d.ts +179 -0
- package/dist/utils/sandbox/types.d.ts.map +1 -0
- package/dist/utils/sandbox/types.js +8 -0
- package/dist/utils/sandbox/types.js.map +1 -0
- package/dist/utils/schemas/confluence.d.ts +41 -0
- package/dist/utils/schemas/confluence.d.ts.map +1 -0
- package/dist/utils/schemas/confluence.js +105 -0
- package/dist/utils/schemas/confluence.js.map +1 -0
- package/dist/utils/schemas/index.d.ts +77 -0
- package/dist/utils/schemas/index.d.ts.map +1 -0
- package/dist/utils/schemas/index.js +107 -0
- package/dist/utils/schemas/index.js.map +1 -0
- package/dist/utils/schemas/jira.d.ts +49 -0
- package/dist/utils/schemas/jira.d.ts.map +1 -0
- package/dist/utils/schemas/jira.js +153 -0
- package/dist/utils/schemas/jira.js.map +1 -0
- package/dist/utils/schemas/tempo.d.ts +29 -0
- package/dist/utils/schemas/tempo.d.ts.map +1 -0
- package/dist/utils/schemas/tempo.js +72 -0
- package/dist/utils/schemas/tempo.js.map +1 -0
- package/dist/utils/whoami-tools.d.ts +17 -0
- package/dist/utils/whoami-tools.d.ts.map +1 -0
- package/dist/utils/whoami-tools.js +90 -0
- package/dist/utils/whoami-tools.js.map +1 -0
- package/dist/utils/xhtml/error-locator.js +5 -5
- package/dist/utils/xhtml/error-locator.js.map +1 -1
- package/package.json +10 -9
- package/dist/credentials/client-factory.d.ts +0 -64
- package/dist/credentials/client-factory.d.ts.map +0 -1
- package/dist/credentials/client-factory.js +0 -110
- package/dist/credentials/client-factory.js.map +0 -1
- package/dist/credentials/context.d.ts +0 -25
- package/dist/credentials/context.d.ts.map +0 -1
- package/dist/credentials/context.js +0 -35
- package/dist/credentials/context.js.map +0 -1
- package/dist/utils/buffer-pipeline/index.d.ts +0 -30
- package/dist/utils/buffer-pipeline/index.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/index.js +0 -317
- package/dist/utils/buffer-pipeline/index.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.d.ts +0 -20
- package/dist/utils/buffer-pipeline/output/csv.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.js +0 -117
- package/dist/utils/buffer-pipeline/output/csv.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/json.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.js +0 -48
- package/dist/utils/buffer-pipeline/output/json.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.js +0 -105
- package/dist/utils/buffer-pipeline/output/markdown.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.js +0 -81
- package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.js +0 -176
- package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +0 -1
- package/dist/utils/buffer-pipeline/schema.d.ts +0 -1878
- package/dist/utils/buffer-pipeline/schema.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/schema.js +0 -168
- package/dist/utils/buffer-pipeline/schema.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.d.ts +0 -32
- package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.js +0 -208
- package/dist/utils/buffer-pipeline/stages/filter.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.d.ts +0 -45
- package/dist/utils/buffer-pipeline/stages/format.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.js +0 -160
- package/dist/utils/buffer-pipeline/stages/format.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts +0 -25
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.js +0 -190
- package/dist/utils/buffer-pipeline/stages/group-by.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.d.ts +0 -54
- package/dist/utils/buffer-pipeline/stages/select.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.js +0 -228
- package/dist/utils/buffer-pipeline/stages/select.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.d.ts +0 -20
- package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.js +0 -96
- package/dist/utils/buffer-pipeline/stages/sort.js.map +0 -1
- package/dist/utils/buffer-pipeline/types.d.ts +0 -277
- package/dist/utils/buffer-pipeline/types.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/types.js +0 -8
- package/dist/utils/buffer-pipeline/types.js.map +0 -1
- package/dist/utils/plantuml/docker-manager.d.ts +0 -37
- package/dist/utils/plantuml/docker-manager.d.ts.map +0 -1
- package/dist/utils/plantuml/docker-manager.js +0 -284
- package/dist/utils/plantuml/docker-manager.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -14,12 +14,14 @@ import { createUrlTools } from "./utils/url-tools.js";
|
|
|
14
14
|
import { createJiconHelpTools, WORKFLOW_GUIDE } from "./utils/jicon-help.js";
|
|
15
15
|
import { createDateTools } from "./utils/date-tools.js";
|
|
16
16
|
import { createPlantUmlTools, shutdown as shutdownPlantUml, initializePlantUml } from "./utils/plantuml/index.js";
|
|
17
|
+
import { createWhoamiTools } from "./utils/whoami-tools.js";
|
|
17
18
|
import { ConfigLoader } from "./config/loader.js";
|
|
18
19
|
import { createTransport } from "./transport/index.js";
|
|
19
|
-
import {
|
|
20
|
+
import { initializeSessionManager, shutdownSessionManager, getSessionManager, runWithSession, getSessionWriteHomeValidator, } from "./session/index.js";
|
|
21
|
+
import { extractCredentials } from "./credentials/index.js";
|
|
20
22
|
import { PermissionFilter } from "./permissions/filter.js";
|
|
21
|
-
import { WriteHomeValidator } from "./permissions/write-home-validator.js";
|
|
22
23
|
import { getMaxOutputSize } from "./utils/response-formatter.js";
|
|
24
|
+
import { log, error as logError } from "./utils/logger.js";
|
|
23
25
|
// Load configuration
|
|
24
26
|
const config = ConfigLoader.load();
|
|
25
27
|
// Initialize permission filter (default: full access)
|
|
@@ -27,22 +29,20 @@ const permissionFilter = new PermissionFilter(config.permissions);
|
|
|
27
29
|
// Convert to ApiConfig format
|
|
28
30
|
const JIRA_CONFIG = ConfigLoader.toApiConfig(config.jira);
|
|
29
31
|
const CONFLUENCE_CONFIG = ConfigLoader.toApiConfig(config.confluence);
|
|
30
|
-
// Initialize
|
|
31
|
-
|
|
32
|
+
// Initialize session manager with default configs
|
|
33
|
+
// Per-session clients will be created with per-request credentials or fall back to defaults
|
|
34
|
+
initializeSessionManager({
|
|
32
35
|
defaultJiraConfig: JIRA_CONFIG,
|
|
33
36
|
defaultConfluenceConfig: CONFLUENCE_CONFIG,
|
|
37
|
+
writeHomeEnabled: permissionFilter.isWriteHomeEnabled(),
|
|
38
|
+
maxBuffersPerSession: config.session.maxBuffers,
|
|
34
39
|
});
|
|
35
|
-
//
|
|
36
|
-
//
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
// This allows per-request credentials via AsyncLocalStorage
|
|
42
|
-
const jiraTools = createJiraTools(() => clientFactory.getJiraClient());
|
|
43
|
-
const jiraActivityTools = createActivityTools(() => clientFactory.getJiraClient());
|
|
44
|
-
const confluenceTools = createConfluenceTools(() => clientFactory.getConfluenceClient());
|
|
45
|
-
const tempoTools = createTempoTools(() => clientFactory.getTempoClient());
|
|
40
|
+
// Create tools using session-scoped clients
|
|
41
|
+
// Tools automatically get the correct client from the session context
|
|
42
|
+
const jiraTools = createJiraTools();
|
|
43
|
+
const jiraActivityTools = createActivityTools();
|
|
44
|
+
const confluenceTools = createConfluenceTools();
|
|
45
|
+
const tempoTools = createTempoTools();
|
|
46
46
|
const bufferTools = createBufferTools();
|
|
47
47
|
const workloadTools = createWorkloadTools();
|
|
48
48
|
const urlTools = createUrlTools({
|
|
@@ -51,6 +51,7 @@ const urlTools = createUrlTools({
|
|
|
51
51
|
});
|
|
52
52
|
const jiconHelpTools = createJiconHelpTools();
|
|
53
53
|
const dateTools = createDateTools();
|
|
54
|
+
const whoamiTools = createWhoamiTools();
|
|
54
55
|
// Conditionally register PlantUML tools (only when server URL is configured)
|
|
55
56
|
const plantUmlTools = config.plantUmlServerUrl ? createPlantUmlTools() : {};
|
|
56
57
|
// Build tool registry, conditionally excluding XHTML-only buffer tools when Confluence is not configured by default
|
|
@@ -59,226 +60,260 @@ const xhtmlOnlyTools = ["buffer_get_structure", "buffer_get_element", "buffer_va
|
|
|
59
60
|
const filteredBufferTools = CONFLUENCE_CONFIG
|
|
60
61
|
? bufferTools
|
|
61
62
|
: Object.fromEntries(Object.entries(bufferTools).filter(([name]) => !xhtmlOnlyTools.includes(name)));
|
|
62
|
-
const allTools = { ...jiraTools, ...jiraActivityTools, ...confluenceTools, ...tempoTools, ...filteredBufferTools, ...workloadTools, ...urlTools, ...jiconHelpTools, ...dateTools, ...plantUmlTools };
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
const tools = Object.entries(allTools)
|
|
77
|
-
.filter(([name]) => permissionFilter.isToolAllowed(name))
|
|
78
|
-
.map(([name, tool]) => ({
|
|
79
|
-
name,
|
|
80
|
-
description: tool.description,
|
|
81
|
-
inputSchema: {
|
|
82
|
-
type: "object",
|
|
83
|
-
properties: tool.inputSchema.shape,
|
|
84
|
-
required: Object.keys(tool.inputSchema.shape).filter((key) => !tool.inputSchema.shape[key]?.isOptional?.()),
|
|
63
|
+
const allTools = { ...jiraTools, ...jiraActivityTools, ...confluenceTools, ...tempoTools, ...filteredBufferTools, ...workloadTools, ...urlTools, ...jiconHelpTools, ...dateTools, ...whoamiTools, ...plantUmlTools };
|
|
64
|
+
/**
|
|
65
|
+
* Factory function to create a new MCP Server instance with all handlers registered.
|
|
66
|
+
* For HTTP mode: called once per session (each session gets its own Server)
|
|
67
|
+
* For stdio mode: called once at startup
|
|
68
|
+
*/
|
|
69
|
+
function createServer() {
|
|
70
|
+
const server = new Server({
|
|
71
|
+
name: "jicon-mcp-server",
|
|
72
|
+
version: "0.1.0",
|
|
73
|
+
}, {
|
|
74
|
+
capabilities: {
|
|
75
|
+
tools: {},
|
|
76
|
+
prompts: {},
|
|
85
77
|
},
|
|
86
|
-
})
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
};
|
|
121
|
-
}
|
|
122
|
-
// Extract per-request credentials from HTTP headers (if available)
|
|
123
|
-
const credentials = extractCredentials(extra.requestInfo?.headers);
|
|
124
|
-
// Run tool handler with credentials in AsyncLocalStorage context
|
|
125
|
-
return runWithCredentials(credentials, async () => {
|
|
126
|
-
try {
|
|
127
|
-
// Validate and parse arguments
|
|
128
|
-
const parsedArgs = tool.inputSchema.parse(request.params.arguments || {});
|
|
129
|
-
// Write-home validation for Confluence tools
|
|
130
|
-
if (writeHomeValidator && writeHomeValidator.requiresValidation(toolName)) {
|
|
131
|
-
const validation = await writeHomeValidator.validate(toolName, parsedArgs);
|
|
132
|
-
if (!validation.allowed) {
|
|
133
|
-
return {
|
|
134
|
-
content: [
|
|
135
|
-
{
|
|
136
|
-
type: "text",
|
|
137
|
-
text: JSON.stringify({
|
|
138
|
-
error: true,
|
|
139
|
-
message: validation.reason,
|
|
140
|
-
writeHomeRestriction: true,
|
|
141
|
-
userSpaceKey: validation.userSpaceKey,
|
|
142
|
-
targetSpaceKey: validation.targetSpaceKey,
|
|
143
|
-
}),
|
|
144
|
-
},
|
|
145
|
-
],
|
|
146
|
-
isError: true,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
// Execute tool handler
|
|
151
|
-
const result = await tool.handler(parsedArgs);
|
|
152
|
-
return result;
|
|
78
|
+
});
|
|
79
|
+
// Handle list_tools request
|
|
80
|
+
server.setRequestHandler(ListToolsRequestSchema, async () => {
|
|
81
|
+
// Filter tools based on permissions
|
|
82
|
+
const tools = Object.entries(allTools)
|
|
83
|
+
.filter(([name]) => permissionFilter.isToolAllowed(name))
|
|
84
|
+
.map(([name, tool]) => ({
|
|
85
|
+
name,
|
|
86
|
+
description: tool.description,
|
|
87
|
+
inputSchema: {
|
|
88
|
+
type: "object",
|
|
89
|
+
properties: tool.inputSchema.shape,
|
|
90
|
+
required: Object.keys(tool.inputSchema.shape).filter((key) => !tool.inputSchema.shape[key]?.isOptional?.()),
|
|
91
|
+
},
|
|
92
|
+
}));
|
|
93
|
+
return { tools };
|
|
94
|
+
});
|
|
95
|
+
// Handle call_tool request
|
|
96
|
+
server.setRequestHandler(CallToolRequestSchema, async (request, extra) => {
|
|
97
|
+
const toolName = request.params.name;
|
|
98
|
+
const tool = allTools[toolName];
|
|
99
|
+
if (!tool) {
|
|
100
|
+
return {
|
|
101
|
+
content: [
|
|
102
|
+
{
|
|
103
|
+
type: "text",
|
|
104
|
+
text: JSON.stringify({
|
|
105
|
+
error: true,
|
|
106
|
+
message: `Unknown tool: ${toolName}`,
|
|
107
|
+
}),
|
|
108
|
+
},
|
|
109
|
+
],
|
|
110
|
+
isError: true,
|
|
111
|
+
};
|
|
153
112
|
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
const isDevelopment = process.env.NODE_ENV === "development";
|
|
113
|
+
// Check permission before executing
|
|
114
|
+
if (!permissionFilter.isToolAllowed(toolName)) {
|
|
157
115
|
return {
|
|
158
116
|
content: [
|
|
159
117
|
{
|
|
160
118
|
type: "text",
|
|
161
119
|
text: JSON.stringify({
|
|
162
120
|
error: true,
|
|
163
|
-
message:
|
|
164
|
-
details: error instanceof Error && isDevelopment
|
|
165
|
-
? { stack: error.stack, name: error.name }
|
|
166
|
-
: error instanceof Error
|
|
167
|
-
? { name: error.name }
|
|
168
|
-
: undefined,
|
|
121
|
+
message: permissionFilter.getDenialMessage(toolName),
|
|
169
122
|
}),
|
|
170
123
|
},
|
|
171
124
|
],
|
|
172
125
|
isError: true,
|
|
173
126
|
};
|
|
174
127
|
}
|
|
128
|
+
// Extract per-request credentials from HTTP headers (if available)
|
|
129
|
+
const credentials = extractCredentials(extra.requestInfo?.headers);
|
|
130
|
+
// Get or create session from request context
|
|
131
|
+
// For HTTP: sessionId comes from mcp-session-id header (handled by HTTP transport)
|
|
132
|
+
// For stdio: use a default session
|
|
133
|
+
const sessionId = extra.requestInfo?.headers?.["mcp-session-id"] || "stdio-default";
|
|
134
|
+
const session = getSessionManager().getOrCreateSession(sessionId, credentials);
|
|
135
|
+
// Run tool handler within session context
|
|
136
|
+
return runWithSession({
|
|
137
|
+
sessionId,
|
|
138
|
+
credentials,
|
|
139
|
+
buffer: session.buffer,
|
|
140
|
+
jiraClient: session.clients.jira,
|
|
141
|
+
confluenceClient: session.clients.confluence,
|
|
142
|
+
tempoClient: session.clients.tempo,
|
|
143
|
+
writeHomeValidator: session.writeHomeValidator,
|
|
144
|
+
}, async () => {
|
|
145
|
+
try {
|
|
146
|
+
// Strip explicit null values — some LLMs send null for optional params
|
|
147
|
+
// instead of omitting them, which Zod's .optional() rejects
|
|
148
|
+
const rawArgs = request.params.arguments || {};
|
|
149
|
+
const cleanedArgs = {};
|
|
150
|
+
for (const [key, value] of Object.entries(rawArgs)) {
|
|
151
|
+
if (value !== null) {
|
|
152
|
+
cleanedArgs[key] = value;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Validate and parse arguments
|
|
156
|
+
const parsedArgs = tool.inputSchema.parse(cleanedArgs);
|
|
157
|
+
// Write-home validation for Confluence tools (use session's validator)
|
|
158
|
+
const writeHomeValidator = getSessionWriteHomeValidator();
|
|
159
|
+
if (writeHomeValidator && writeHomeValidator.requiresValidation(toolName)) {
|
|
160
|
+
const validation = await writeHomeValidator.validate(toolName, parsedArgs);
|
|
161
|
+
if (!validation.allowed) {
|
|
162
|
+
return {
|
|
163
|
+
content: [
|
|
164
|
+
{
|
|
165
|
+
type: "text",
|
|
166
|
+
text: JSON.stringify({
|
|
167
|
+
error: true,
|
|
168
|
+
message: validation.reason,
|
|
169
|
+
writeHomeRestriction: true,
|
|
170
|
+
userSpaceKey: validation.userSpaceKey,
|
|
171
|
+
targetSpaceKey: validation.targetSpaceKey,
|
|
172
|
+
}),
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
isError: true,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
// Execute tool handler
|
|
180
|
+
const result = await tool.handler(parsedArgs);
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
// Only include stack traces in development mode for security
|
|
185
|
+
const isDevelopment = process.env.NODE_ENV === "development";
|
|
186
|
+
return {
|
|
187
|
+
content: [
|
|
188
|
+
{
|
|
189
|
+
type: "text",
|
|
190
|
+
text: JSON.stringify({
|
|
191
|
+
error: true,
|
|
192
|
+
message: error instanceof Error ? error.message : String(error),
|
|
193
|
+
details: error instanceof Error && isDevelopment
|
|
194
|
+
? { stack: error.stack, name: error.name }
|
|
195
|
+
: error instanceof Error
|
|
196
|
+
? { name: error.name }
|
|
197
|
+
: undefined,
|
|
198
|
+
}),
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
isError: true,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
});
|
|
175
205
|
});
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
server.setRequestHandler(ListPromptsRequestSchema, async () => {
|
|
179
|
-
return {
|
|
180
|
-
prompts: [
|
|
181
|
-
{
|
|
182
|
-
name: "jicon-workflows",
|
|
183
|
-
description: "Jicon MCP Server workflow guide - essential patterns for Jira, Confluence, and Tempo. READ THIS FIRST before using tools.",
|
|
184
|
-
},
|
|
185
|
-
],
|
|
186
|
-
};
|
|
187
|
-
});
|
|
188
|
-
// Handle get_prompt request
|
|
189
|
-
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
190
|
-
const promptName = request.params.name;
|
|
191
|
-
if (promptName === "jicon-workflows") {
|
|
206
|
+
// Handle list_prompts request
|
|
207
|
+
server.setRequestHandler(ListPromptsRequestSchema, async () => {
|
|
192
208
|
return {
|
|
193
|
-
|
|
209
|
+
prompts: [
|
|
194
210
|
{
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
type: "text",
|
|
198
|
-
text: WORKFLOW_GUIDE,
|
|
199
|
-
},
|
|
211
|
+
name: "jicon-workflows",
|
|
212
|
+
description: "Jicon MCP Server workflow guide - essential patterns for Jira, Confluence, and Tempo. READ THIS FIRST before using tools.",
|
|
200
213
|
},
|
|
201
214
|
],
|
|
202
215
|
};
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
|
|
216
|
+
});
|
|
217
|
+
// Handle get_prompt request
|
|
218
|
+
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
219
|
+
const promptName = request.params.name;
|
|
220
|
+
if (promptName === "jicon-workflows") {
|
|
221
|
+
return {
|
|
222
|
+
messages: [
|
|
223
|
+
{
|
|
224
|
+
role: "user",
|
|
225
|
+
content: {
|
|
226
|
+
type: "text",
|
|
227
|
+
text: WORKFLOW_GUIDE,
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
};
|
|
232
|
+
}
|
|
233
|
+
throw new Error(`Unknown prompt: ${promptName}`);
|
|
234
|
+
});
|
|
235
|
+
return server;
|
|
236
|
+
}
|
|
206
237
|
// Start server
|
|
207
238
|
async function main() {
|
|
208
239
|
// Check if at least one service is configured (either via env vars or HTTP mode for per-request credentials)
|
|
209
240
|
const isHttpMode = config.transport.mode === "http";
|
|
210
241
|
if (!JIRA_CONFIG && !CONFLUENCE_CONFIG && !isHttpMode) {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
242
|
+
logError("No services configured!");
|
|
243
|
+
log("Please configure at least one service using environment variables:");
|
|
244
|
+
log("\n Jira:");
|
|
245
|
+
log(" JIRA_URL");
|
|
246
|
+
log(" JIRA_USERNAME (optional for PAT)");
|
|
247
|
+
log(" JIRA_API_TOKEN");
|
|
248
|
+
log("\n Confluence:");
|
|
249
|
+
log(" CONFLUENCE_URL");
|
|
250
|
+
log(" CONFLUENCE_USERNAME (optional for PAT)");
|
|
251
|
+
log(" CONFLUENCE_API_TOKEN");
|
|
252
|
+
log("\n Or use HTTP mode with per-request credentials:");
|
|
253
|
+
log(" JICON_TRANSPORT=http");
|
|
223
254
|
process.exit(1);
|
|
224
255
|
}
|
|
225
256
|
// Log configured services
|
|
226
|
-
|
|
257
|
+
log("Jicon MCP Server starting...");
|
|
227
258
|
if (JIRA_CONFIG) {
|
|
228
|
-
|
|
229
|
-
|
|
259
|
+
log(`✓ Jira configured: ${JIRA_CONFIG.url}`);
|
|
260
|
+
log(`✓ Tempo configured: ${JIRA_CONFIG.url} (v4 API, using Jira auth)`);
|
|
230
261
|
}
|
|
231
262
|
else if (isHttpMode) {
|
|
232
|
-
|
|
263
|
+
log(`- Jira: not configured (use X-Jira-Url/X-Jira-Token headers)`);
|
|
233
264
|
}
|
|
234
265
|
if (CONFLUENCE_CONFIG) {
|
|
235
|
-
|
|
266
|
+
log(`✓ Confluence configured: ${CONFLUENCE_CONFIG.url}`);
|
|
236
267
|
}
|
|
237
268
|
else if (isHttpMode) {
|
|
238
|
-
|
|
269
|
+
log(`- Confluence: not configured (use X-Confluence-Url/X-Confluence-Token headers)`);
|
|
239
270
|
}
|
|
240
271
|
if (isHttpMode) {
|
|
241
|
-
|
|
272
|
+
log(`✓ Per-request credentials: enabled (HTTP transport)`);
|
|
242
273
|
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
274
|
+
log(`✓ Buffer tools enabled (for content pagination)`);
|
|
275
|
+
log(`✓ Workload tools enabled (for time calculations)`);
|
|
276
|
+
log(`✓ URL tools enabled (for full URL construction)`);
|
|
277
|
+
log(`✓ Jicon help enabled (unified help system with topics: jql, cql, storage, plantuml)`);
|
|
278
|
+
log(`✓ Date tools enabled (date_resolve for time range calculations)`);
|
|
248
279
|
// Initialize PlantUML with external server URL
|
|
249
280
|
const plantUmlResult = await initializePlantUml({
|
|
250
281
|
serverUrl: config.plantUmlServerUrl,
|
|
251
282
|
});
|
|
252
283
|
if (plantUmlResult.disabled) {
|
|
253
|
-
|
|
284
|
+
log(`- PlantUML not configured (set JICON_PLANTUML_SERVER_URL to enable)`);
|
|
254
285
|
}
|
|
255
286
|
else if (plantUmlResult.success) {
|
|
256
|
-
|
|
287
|
+
log(`✓ PlantUML configured: ${plantUmlResult.serverUrl}`);
|
|
257
288
|
}
|
|
258
|
-
|
|
259
|
-
|
|
289
|
+
log(`✓ Prompts enabled: "jicon-workflows" (workflow guide at server level)`);
|
|
290
|
+
log(`✓ Max output size: ${getMaxOutputSize()} chars (JICON_MAX_OUTPUT)`);
|
|
260
291
|
// Log permission info
|
|
261
292
|
const allowedTools = permissionFilter.getAllowedTools();
|
|
262
293
|
const permMode = permissionFilter.getMode();
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
if (
|
|
266
|
-
|
|
294
|
+
log(`✓ Permission mode: ${permMode}`);
|
|
295
|
+
log(`✓ Allowed tools: ${allowedTools.length}/${Object.keys(allTools).length}`);
|
|
296
|
+
if (permissionFilter.isWriteHomeEnabled()) {
|
|
297
|
+
log(`✓ Write-home restriction: enabled (Confluence writes restricted to personal space)`);
|
|
267
298
|
}
|
|
299
|
+
log(`✓ Session management: enabled (per-session buffers and clients)`);
|
|
268
300
|
// Create and start transport based on configuration
|
|
269
|
-
|
|
301
|
+
// Pass server factory for HTTP mode (per-session Server instances)
|
|
302
|
+
// or single server for stdio mode
|
|
303
|
+
const transport = createTransport(createServer, config.transport);
|
|
270
304
|
currentTransport = transport;
|
|
271
305
|
await transport.start();
|
|
272
306
|
if (transport.mode === "http") {
|
|
273
|
-
|
|
307
|
+
log(`Jicon MCP Server running on HTTP (${config.transport.http.host}:${config.transport.http.port})`);
|
|
274
308
|
}
|
|
275
309
|
}
|
|
276
310
|
// Track current transport for graceful shutdown
|
|
277
311
|
let currentTransport = null;
|
|
278
312
|
// Handle graceful shutdown
|
|
279
313
|
async function shutdown() {
|
|
280
|
-
|
|
314
|
+
log("Shutting down Jicon MCP Server...");
|
|
281
315
|
await shutdownPlantUml();
|
|
316
|
+
shutdownSessionManager(); // Clean up all sessions
|
|
282
317
|
if (currentTransport) {
|
|
283
318
|
await currentTransport.close();
|
|
284
319
|
}
|
|
@@ -286,8 +321,8 @@ async function shutdown() {
|
|
|
286
321
|
}
|
|
287
322
|
process.on("SIGINT", shutdown);
|
|
288
323
|
process.on("SIGTERM", shutdown);
|
|
289
|
-
main().catch((
|
|
290
|
-
|
|
324
|
+
main().catch((err) => {
|
|
325
|
+
logError("Fatal error", err);
|
|
291
326
|
process.exit(1);
|
|
292
327
|
});
|
|
293
328
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
* - "Any blockers in recent discussions?"
|
|
8
8
|
* - "Summarize team activity this month"
|
|
9
9
|
* - "Analyze Epic PROJ-123 for progress and velocity"
|
|
10
|
+
*
|
|
11
|
+
* All tool handlers use session-scoped clients via getSessionJiraClient()
|
|
12
|
+
* which provides per-session caching and credential isolation.
|
|
10
13
|
*/
|
|
11
14
|
import { z } from "zod";
|
|
12
|
-
import { JiraClient } from "./client.js";
|
|
13
15
|
import type { ToolResult } from "../types.js";
|
|
14
16
|
/**
|
|
15
|
-
*
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
* Create activity tools with a client getter function
|
|
17
|
+
* Create activity tools using session-scoped clients
|
|
18
|
+
*
|
|
19
|
+
* Tools automatically use the JiraClient from the current session context,
|
|
20
|
+
* which provides per-session caching and credential isolation.
|
|
20
21
|
*/
|
|
21
|
-
export declare function createActivityTools(
|
|
22
|
+
export declare function createActivityTools(): {
|
|
22
23
|
jira_get_activity_digest: {
|
|
23
24
|
description: string;
|
|
24
25
|
inputSchema: z.ZodObject<{
|
|
@@ -31,7 +32,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
31
32
|
includePriorityChanges: z.ZodOptional<z.ZodBoolean>;
|
|
32
33
|
includeAssigneeChanges: z.ZodOptional<z.ZodBoolean>;
|
|
33
34
|
maxActivities: z.ZodOptional<z.ZodNumber>;
|
|
34
|
-
commentMaxLength: z.ZodOptional<z.ZodNumber>;
|
|
35
35
|
}, "strip", z.ZodTypeAny, {
|
|
36
36
|
jql?: string | undefined;
|
|
37
37
|
projectKey?: string | undefined;
|
|
@@ -42,7 +42,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
42
42
|
includePriorityChanges?: boolean | undefined;
|
|
43
43
|
includeAssigneeChanges?: boolean | undefined;
|
|
44
44
|
maxActivities?: number | undefined;
|
|
45
|
-
commentMaxLength?: number | undefined;
|
|
46
45
|
}, {
|
|
47
46
|
jql?: string | undefined;
|
|
48
47
|
projectKey?: string | undefined;
|
|
@@ -53,7 +52,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
53
52
|
includePriorityChanges?: boolean | undefined;
|
|
54
53
|
includeAssigneeChanges?: boolean | undefined;
|
|
55
54
|
maxActivities?: number | undefined;
|
|
56
|
-
commentMaxLength?: number | undefined;
|
|
57
55
|
}>;
|
|
58
56
|
handler: (args: {
|
|
59
57
|
projectKey?: string;
|
|
@@ -65,7 +63,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
65
63
|
includePriorityChanges?: boolean;
|
|
66
64
|
includeAssigneeChanges?: boolean;
|
|
67
65
|
maxActivities?: number;
|
|
68
|
-
commentMaxLength?: number;
|
|
69
66
|
}) => Promise<ToolResult>;
|
|
70
67
|
};
|
|
71
68
|
jira_get_recent_comments: {
|
|
@@ -77,7 +74,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
77
74
|
since: z.ZodOptional<z.ZodString>;
|
|
78
75
|
authorKey: z.ZodOptional<z.ZodString>;
|
|
79
76
|
maxComments: z.ZodOptional<z.ZodNumber>;
|
|
80
|
-
includeContext: z.ZodOptional<z.ZodBoolean>;
|
|
81
77
|
}, "strip", z.ZodTypeAny, {
|
|
82
78
|
jql?: string | undefined;
|
|
83
79
|
projectKey?: string | undefined;
|
|
@@ -85,7 +81,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
85
81
|
since?: string | undefined;
|
|
86
82
|
authorKey?: string | undefined;
|
|
87
83
|
maxComments?: number | undefined;
|
|
88
|
-
includeContext?: boolean | undefined;
|
|
89
84
|
}, {
|
|
90
85
|
jql?: string | undefined;
|
|
91
86
|
projectKey?: string | undefined;
|
|
@@ -93,7 +88,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
93
88
|
since?: string | undefined;
|
|
94
89
|
authorKey?: string | undefined;
|
|
95
90
|
maxComments?: number | undefined;
|
|
96
|
-
includeContext?: boolean | undefined;
|
|
97
91
|
}>;
|
|
98
92
|
handler: (args: {
|
|
99
93
|
projectKey?: string;
|
|
@@ -102,7 +96,6 @@ export declare function createActivityTools(getClient: JiraClientGetter): {
|
|
|
102
96
|
since?: string;
|
|
103
97
|
authorKey?: string;
|
|
104
98
|
maxComments?: number;
|
|
105
|
-
includeContext?: boolean;
|
|
106
99
|
}) => Promise<ToolResult>;
|
|
107
100
|
};
|
|
108
101
|
jira_get_changelog: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activity-tools.d.ts","sourceRoot":"","sources":["../../src/jira/activity-tools.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"activity-tools.d.ts","sourceRoot":"","sources":["../../src/jira/activity-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAOxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgK9C;;;;;GAKG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAwCP;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAC;YAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;YACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;YACjC,aAAa,CAAC,EAAE,MAAM,CAAC;SACxB,KAAG,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyRD;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,KAAG,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4HD;YACpB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,GAAG,CAAC,EAAE,MAAM,CAAC;YACb,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;YACrB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,KAAG,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;wBAoKD;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,KAAG,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;wBA4hBD;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAG,OAAO,CAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;wBAkRD;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,eAAe,CAAC,EAAE,OAAO,CAAC;YAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,YAAY,CAAC,EAAE,OAAO,CAAC;SACxB,KAAG,OAAO,CAAC,UAAU,CAAC;;EAoW5B"}
|