@crypto512/jicon-mcp 1.2.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +73 -67
  2. package/TOOL_LIST.md +785 -133
  3. package/dist/config/constants.d.ts +18 -7
  4. package/dist/config/constants.d.ts.map +1 -1
  5. package/dist/config/constants.js +21 -8
  6. package/dist/config/constants.js.map +1 -1
  7. package/dist/config/loader.d.ts +11 -11
  8. package/dist/config/loader.d.ts.map +1 -1
  9. package/dist/config/loader.js +53 -93
  10. package/dist/config/loader.js.map +1 -1
  11. package/dist/config/types.d.ts +3 -6
  12. package/dist/config/types.d.ts.map +1 -1
  13. package/dist/config/types.js +2 -4
  14. package/dist/config/types.js.map +1 -1
  15. package/dist/confluence/formatters.js +1 -1
  16. package/dist/confluence/formatters.js.map +1 -1
  17. package/dist/confluence/tools.d.ts +8 -12
  18. package/dist/confluence/tools.d.ts.map +1 -1
  19. package/dist/confluence/tools.js +285 -233
  20. package/dist/confluence/tools.js.map +1 -1
  21. package/dist/index.js +17 -26
  22. package/dist/index.js.map +1 -1
  23. package/dist/jira/formatters.d.ts +1 -0
  24. package/dist/jira/formatters.d.ts.map +1 -1
  25. package/dist/jira/formatters.js +13 -12
  26. package/dist/jira/formatters.js.map +1 -1
  27. package/dist/jira/tools.d.ts +4 -0
  28. package/dist/jira/tools.d.ts.map +1 -1
  29. package/dist/jira/tools.js +234 -44
  30. package/dist/jira/tools.js.map +1 -1
  31. package/dist/permissions/tool-registry.d.ts +2 -2
  32. package/dist/permissions/tool-registry.d.ts.map +1 -1
  33. package/dist/permissions/tool-registry.js +4 -2
  34. package/dist/permissions/tool-registry.js.map +1 -1
  35. package/dist/permissions/write-home-validator.d.ts.map +1 -1
  36. package/dist/permissions/write-home-validator.js +13 -3
  37. package/dist/permissions/write-home-validator.js.map +1 -1
  38. package/dist/tempo/defaults.d.ts +17 -0
  39. package/dist/tempo/defaults.d.ts.map +1 -0
  40. package/dist/tempo/defaults.js +26 -0
  41. package/dist/tempo/defaults.js.map +1 -0
  42. package/dist/tempo/tools.d.ts +5 -0
  43. package/dist/tempo/tools.d.ts.map +1 -1
  44. package/dist/tempo/tools.js +161 -35
  45. package/dist/tempo/tools.js.map +1 -1
  46. package/dist/utils/buffer-pipeline/index.d.ts +30 -0
  47. package/dist/utils/buffer-pipeline/index.d.ts.map +1 -0
  48. package/dist/utils/buffer-pipeline/index.js +317 -0
  49. package/dist/utils/buffer-pipeline/index.js.map +1 -0
  50. package/dist/utils/buffer-pipeline/output/csv.d.ts +20 -0
  51. package/dist/utils/buffer-pipeline/output/csv.d.ts.map +1 -0
  52. package/dist/utils/buffer-pipeline/output/csv.js +117 -0
  53. package/dist/utils/buffer-pipeline/output/csv.js.map +1 -0
  54. package/dist/utils/buffer-pipeline/output/json.d.ts +16 -0
  55. package/dist/utils/buffer-pipeline/output/json.d.ts.map +1 -0
  56. package/dist/utils/buffer-pipeline/output/json.js +48 -0
  57. package/dist/utils/buffer-pipeline/output/json.js.map +1 -0
  58. package/dist/utils/buffer-pipeline/output/markdown.d.ts +15 -0
  59. package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +1 -0
  60. package/dist/utils/buffer-pipeline/output/markdown.js +105 -0
  61. package/dist/utils/buffer-pipeline/output/markdown.js.map +1 -0
  62. package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +16 -0
  63. package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +1 -0
  64. package/dist/utils/buffer-pipeline/output/xhtml-list.js +81 -0
  65. package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +1 -0
  66. package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +15 -0
  67. package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +1 -0
  68. package/dist/utils/buffer-pipeline/output/xhtml-table.js +176 -0
  69. package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +1 -0
  70. package/dist/utils/buffer-pipeline/schema.d.ts +1878 -0
  71. package/dist/utils/buffer-pipeline/schema.d.ts.map +1 -0
  72. package/dist/utils/buffer-pipeline/schema.js +168 -0
  73. package/dist/utils/buffer-pipeline/schema.js.map +1 -0
  74. package/dist/utils/buffer-pipeline/stages/filter.d.ts +32 -0
  75. package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +1 -0
  76. package/dist/utils/buffer-pipeline/stages/filter.js +208 -0
  77. package/dist/utils/buffer-pipeline/stages/filter.js.map +1 -0
  78. package/dist/utils/buffer-pipeline/stages/format.d.ts +45 -0
  79. package/dist/utils/buffer-pipeline/stages/format.d.ts.map +1 -0
  80. package/dist/utils/buffer-pipeline/stages/format.js +160 -0
  81. package/dist/utils/buffer-pipeline/stages/format.js.map +1 -0
  82. package/dist/utils/buffer-pipeline/stages/group-by.d.ts +25 -0
  83. package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +1 -0
  84. package/dist/utils/buffer-pipeline/stages/group-by.js +190 -0
  85. package/dist/utils/buffer-pipeline/stages/group-by.js.map +1 -0
  86. package/dist/utils/buffer-pipeline/stages/select.d.ts +54 -0
  87. package/dist/utils/buffer-pipeline/stages/select.d.ts.map +1 -0
  88. package/dist/utils/buffer-pipeline/stages/select.js +228 -0
  89. package/dist/utils/buffer-pipeline/stages/select.js.map +1 -0
  90. package/dist/utils/buffer-pipeline/stages/sort.d.ts +20 -0
  91. package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +1 -0
  92. package/dist/utils/buffer-pipeline/stages/sort.js +96 -0
  93. package/dist/utils/buffer-pipeline/stages/sort.js.map +1 -0
  94. package/dist/utils/buffer-pipeline/types.d.ts +277 -0
  95. package/dist/utils/buffer-pipeline/types.d.ts.map +1 -0
  96. package/dist/utils/buffer-pipeline/types.js +8 -0
  97. package/dist/utils/buffer-pipeline/types.js.map +1 -0
  98. package/dist/utils/buffer-tools.d.ts +749 -19
  99. package/dist/utils/buffer-tools.d.ts.map +1 -1
  100. package/dist/utils/buffer-tools.js +738 -491
  101. package/dist/utils/buffer-tools.js.map +1 -1
  102. package/dist/utils/content-buffer.d.ts +55 -4
  103. package/dist/utils/content-buffer.d.ts.map +1 -1
  104. package/dist/utils/content-buffer.js +107 -9
  105. package/dist/utils/content-buffer.js.map +1 -1
  106. package/dist/utils/jicon-help.d.ts +1 -1
  107. package/dist/utils/jicon-help.d.ts.map +1 -1
  108. package/dist/utils/jicon-help.js +345 -99
  109. package/dist/utils/jicon-help.js.map +1 -1
  110. package/dist/utils/json-structure.d.ts +121 -0
  111. package/dist/utils/json-structure.d.ts.map +1 -0
  112. package/dist/utils/json-structure.js +637 -0
  113. package/dist/utils/json-structure.js.map +1 -0
  114. package/dist/utils/plantuml/include-expander.d.ts +31 -30
  115. package/dist/utils/plantuml/include-expander.d.ts.map +1 -1
  116. package/dist/utils/plantuml/include-expander.js +167 -133
  117. package/dist/utils/plantuml/include-expander.js.map +1 -1
  118. package/dist/utils/plantuml/index.d.ts +3 -3
  119. package/dist/utils/plantuml/index.d.ts.map +1 -1
  120. package/dist/utils/plantuml/index.js +4 -4
  121. package/dist/utils/plantuml/index.js.map +1 -1
  122. package/dist/utils/plantuml/service.d.ts +13 -24
  123. package/dist/utils/plantuml/service.d.ts.map +1 -1
  124. package/dist/utils/plantuml/service.js +49 -99
  125. package/dist/utils/plantuml/service.js.map +1 -1
  126. package/dist/utils/plantuml/tools.d.ts.map +1 -1
  127. package/dist/utils/plantuml/tools.js +33 -72
  128. package/dist/utils/plantuml/tools.js.map +1 -1
  129. package/dist/utils/plantuml/types.d.ts +1 -35
  130. package/dist/utils/plantuml/types.d.ts.map +1 -1
  131. package/dist/utils/plantuml/types.js +1 -11
  132. package/dist/utils/plantuml/types.js.map +1 -1
  133. package/dist/utils/plantuml/validation-helper.d.ts +1 -1
  134. package/dist/utils/plantuml/validation-helper.js +12 -12
  135. package/dist/utils/plantuml/validation-helper.js.map +1 -1
  136. package/dist/utils/response-formatter.d.ts +68 -0
  137. package/dist/utils/response-formatter.d.ts.map +1 -1
  138. package/dist/utils/response-formatter.js +186 -78
  139. package/dist/utils/response-formatter.js.map +1 -1
  140. package/dist/utils/url-tools.d.ts.map +1 -1
  141. package/dist/utils/url-tools.js +22 -0
  142. package/dist/utils/url-tools.js.map +1 -1
  143. package/dist/utils/xhtml/error-locator.js +2 -2
  144. package/dist/utils/xhtml/error-locator.js.map +1 -1
  145. package/dist/utils/xhtml/index.d.ts +1 -1
  146. package/dist/utils/xhtml/index.d.ts.map +1 -1
  147. package/dist/utils/xhtml/index.js +1 -1
  148. package/dist/utils/xhtml/index.js.map +1 -1
  149. package/dist/utils/xhtml/parser.d.ts +34 -5
  150. package/dist/utils/xhtml/parser.d.ts.map +1 -1
  151. package/dist/utils/xhtml/parser.js +66 -11
  152. package/dist/utils/xhtml/parser.js.map +1 -1
  153. package/dist/utils/xhtml/plantuml.d.ts.map +1 -1
  154. package/dist/utils/xhtml/plantuml.js +5 -3
  155. package/dist/utils/xhtml/plantuml.js.map +1 -1
  156. package/dist/utils/xhtml/serializer.d.ts.map +1 -1
  157. package/dist/utils/xhtml/serializer.js +12 -15
  158. package/dist/utils/xhtml/serializer.js.map +1 -1
  159. package/dist/utils/xhtml/types.d.ts +1 -0
  160. package/dist/utils/xhtml/types.d.ts.map +1 -1
  161. package/package.json +12 -4
@@ -2,91 +2,53 @@
2
2
  * PlantUML Service
3
3
  *
4
4
  * Unified service facade for PlantUML operations.
5
- * Handles eager container initialization at MCP startup and provides high-level API.
6
- * Does NOT auto-restart if container dies - requires MCP restart.
5
+ * Connects to an external PlantUML server configured via JICON_PLANTUML_SERVER_URL.
7
6
  */
8
- import { startContainer, stopContainer, getContainerState } from "./docker-manager.js";
9
7
  import { PlantUmlClient, normalizePlantUml, detectDiagramType } from "./client.js";
10
- import { expandIncludes } from "./include-expander.js";
11
- import { DEFAULT_PLANTUML_CONFIG } from "./types.js";
8
+ import { convertIncludes } from "./include-expander.js";
12
9
  /**
13
- * Cached client instance
14
- */
15
- let clientInstance = null;
16
- /**
17
- * Service configuration
10
+ * Default request timeout in ms
18
11
  */
19
- let serviceConfig = { ...DEFAULT_PLANTUML_CONFIG };
12
+ const DEFAULT_REQUEST_TIMEOUT = 30000;
20
13
  /**
21
- * Service state flags
14
+ * Cached client instance
22
15
  */
23
- let dockerDisabled = false;
24
- let startupFailed = false;
25
- let startupError = null;
26
- let containerDied = false;
27
- let includeExpansionEnabled = true; // Enable !include expansion by default
16
+ let clientInstance = null;
28
17
  /**
29
- * Configure the PlantUML service
18
+ * Service state
30
19
  */
31
- export function configure(config) {
32
- serviceConfig = { ...DEFAULT_PLANTUML_CONFIG, ...config };
33
- // Reset client to pick up new config
34
- clientInstance = null;
35
- // Configure include expansion
36
- if (config.includeExpansion !== undefined) {
37
- includeExpansionEnabled = config.includeExpansion;
38
- }
39
- }
20
+ let serverUrl = null;
21
+ let serverDied = false;
40
22
  /**
41
- * Initialize PlantUML service at MCP startup.
42
- * Returns success/failure status. Does not throw.
23
+ * Initialize PlantUML service with external server URL.
24
+ * Called at MCP startup.
43
25
  */
44
26
  export async function initializePlantUml(options = {}) {
45
- // Reset state flags
46
- dockerDisabled = false;
47
- startupFailed = false;
48
- startupError = null;
49
- containerDied = false;
50
- if (options.disabled) {
51
- dockerDisabled = true;
27
+ // Reset state
28
+ serverDied = false;
29
+ clientInstance = null;
30
+ if (!options.serverUrl) {
31
+ serverUrl = null;
52
32
  return { success: true, disabled: true };
53
33
  }
54
- try {
55
- const state = await startContainer(serviceConfig);
56
- return {
57
- success: true,
58
- containerId: state.containerId,
59
- port: state.port,
60
- };
61
- }
62
- catch (error) {
63
- startupFailed = true;
64
- startupError = error instanceof Error ? error.message : String(error);
65
- return {
66
- success: false,
67
- error: startupError,
68
- };
69
- }
34
+ serverUrl = options.serverUrl;
35
+ return { success: true, serverUrl };
70
36
  }
71
37
  /**
72
38
  * Check if PlantUML service can be used.
73
39
  * Returns error message if not available, null if available.
74
40
  */
75
41
  export function getUnavailableReason() {
76
- if (dockerDisabled) {
77
- return "PlantUML is disabled (disableDocker: true in config)";
42
+ if (!serverUrl) {
43
+ return "PlantUML is not configured. Set JICON_PLANTUML_SERVER_URL environment variable to enable.";
78
44
  }
79
- if (startupFailed) {
80
- return `PlantUML failed to start: ${startupError}`;
81
- }
82
- if (containerDied) {
83
- return "PlantUML container has stopped. Restart the MCP server to retry.";
45
+ if (serverDied) {
46
+ return "PlantUML server is unreachable. Check server status or restart MCP.";
84
47
  }
85
48
  return null;
86
49
  }
87
50
  /**
88
51
  * Get or create the PlantUML client
89
- * Does NOT auto-restart if container died - throws error instead
90
52
  */
91
53
  async function getClient() {
92
54
  // Check if service is unavailable
@@ -100,90 +62,78 @@ async function getClient() {
100
62
  if (healthy) {
101
63
  return clientInstance;
102
64
  }
103
- // Container died, mark it and throw error (no auto-restart)
65
+ // Server unreachable, mark it and throw error
104
66
  clientInstance = null;
105
- containerDied = true;
106
- throw new Error("PlantUML container has stopped. Restart the MCP server to retry.");
67
+ serverDied = true;
68
+ throw new Error("PlantUML server is unreachable. Check server status or restart MCP.");
107
69
  }
108
- // Client not created yet - create from existing container state
109
- const state = getContainerState();
110
- if (!state?.ready) {
111
- throw new Error("PlantUML container is not running");
70
+ // Create new client
71
+ clientInstance = new PlantUmlClient(serverUrl, DEFAULT_REQUEST_TIMEOUT);
72
+ // Verify connectivity on first use
73
+ const healthy = await clientInstance.healthCheck();
74
+ if (!healthy) {
75
+ clientInstance = null;
76
+ serverDied = true;
77
+ throw new Error("PlantUML server is unreachable. Check server status or restart MCP.");
112
78
  }
113
- clientInstance = new PlantUmlClient(state.baseUrl, serviceConfig.requestTimeout);
114
79
  return clientInstance;
115
80
  }
116
81
  /**
117
82
  * Validate PlantUML syntax
118
- * Expands !include directives for validation but returns original code
83
+ * Converts !include URLs to stdlib syntax for validation but returns original code
119
84
  */
120
85
  export async function validate(code) {
121
86
  const client = await getClient();
122
- // Expand includes for validation (so C4/AWS/Azure macros work)
123
- const codeToValidate = includeExpansionEnabled
124
- ? await expandIncludes(code)
125
- : code;
87
+ // Convert includes to stdlib syntax (so C4/AWS/Azure macros work)
88
+ const codeToValidate = convertIncludes(code);
126
89
  const result = await client.validate(codeToValidate);
127
- // Return ORIGINAL code as normalizedCode (expansion happens at Confluence send)
90
+ // Return ORIGINAL code as normalizedCode
128
91
  result.normalizedCode = normalizePlantUml(code);
129
92
  return result;
130
93
  }
131
94
  /**
132
95
  * Render PlantUML diagram to specified format
133
- * Expands !include directives before rendering
96
+ * Converts !include URLs to stdlib syntax before rendering
134
97
  */
135
98
  export async function render(code, format) {
136
99
  const client = await getClient();
137
- // Must expand includes for rendering to work
138
- const codeToRender = includeExpansionEnabled
139
- ? await expandIncludes(code)
140
- : code;
100
+ // Convert includes to stdlib syntax for rendering
101
+ const codeToRender = convertIncludes(code);
141
102
  return client.render(codeToRender, format);
142
103
  }
143
104
  /**
144
- * Check if PlantUML service is available (container running and healthy)
105
+ * Check if PlantUML service is available
145
106
  */
146
107
  export function isAvailable() {
147
- if (dockerDisabled || startupFailed || containerDied) {
108
+ if (!serverUrl || serverDied) {
148
109
  return false;
149
110
  }
150
- const state = getContainerState();
151
- return state?.ready ?? false;
111
+ return true;
152
112
  }
153
113
  /**
154
114
  * Get current service status with detailed state info
155
115
  */
156
116
  export function getStatus() {
157
- if (dockerDisabled) {
117
+ if (!serverUrl) {
158
118
  return { available: false, disabled: true };
159
119
  }
160
- if (startupFailed) {
161
- return { available: false, startupFailed: true, error: startupError || undefined };
162
- }
163
- if (containerDied) {
164
- return { available: false, containerDied: true };
165
- }
166
- const state = getContainerState();
167
- if (!state?.ready) {
168
- return { available: false };
120
+ if (serverDied) {
121
+ return { available: false, serverDied: true };
169
122
  }
170
123
  return {
171
124
  available: true,
172
- containerId: state.containerId,
173
- port: state.port,
174
- baseUrl: state.baseUrl,
125
+ serverUrl,
175
126
  };
176
127
  }
177
128
  /**
178
- * Shutdown the PlantUML service (stop container)
129
+ * Shutdown the PlantUML service (cleanup client)
179
130
  */
180
131
  export async function shutdown() {
181
132
  clientInstance = null;
182
- await stopContainer();
183
133
  }
184
134
  /**
185
135
  * Re-export utility functions for convenience
186
136
  */
187
137
  export { normalizePlantUml, detectDiagramType };
188
- export { expandPlantUmlInXhtml, collapseExpandedIncludesInXhtml, ALLOWED_INCLUDE_URLS, } from "./include-expander.js";
138
+ export { convertPlantUmlIncludesInXhtml } from "./include-expander.js";
189
139
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/utils/plantuml/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/utils/plantuml/service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AA2CpB;;GAEG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;;wBAmBP;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;wBAqIL;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,MAAM,CAAC,EAAE,YAAY,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAG,OAAO,CAAC,cAAc,CAAC;;;;;uBAmGR,OAAO,CAAC,cAAc,CAAC;;EA6C/C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,sEAIjB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAKzE,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AA2CpB;;GAEG;AACH,wBAAgB,mBAAmB;;;;;;;;;;;;;wBAMP;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;wBAqHL;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,MAAM,CAAC,EAAE,YAAY,CAAC;YACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAG,OAAO,CAAC,cAAc,CAAC;;;;;uBA6FR,OAAO,CAAC,cAAc,CAAC;;EAkC/C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,sEAIjB,CAAC"}
@@ -7,6 +7,7 @@ import { z } from "zod";
7
7
  import { formatSuccess, formatError } from "../response-formatter.js";
8
8
  import { contentBuffer } from "../content-buffer.js";
9
9
  import { validate, render, getStatus, getUnavailableReason } from "./service.js";
10
+ import { IncludeConversionError } from "./include-expander.js";
10
11
  import { PlantUmlValidateInputSchema, PlantUmlRenderInputSchema, } from "./types.js";
11
12
  /**
12
13
  * Maximum inline content size before buffering (16KB)
@@ -24,7 +25,7 @@ function resolveCode(args) {
24
25
  if (!info) {
25
26
  throw new Error(`Buffer not found: ${args.bufferId}`);
26
27
  }
27
- const chunk = contentBuffer.getChunk(args.bufferId, 0, info.totalSize);
28
+ const chunk = contentBuffer.getChunk(args.bufferId, 0, info.bufferSizeBytes);
28
29
  if (!chunk) {
29
30
  throw new Error(`Failed to read buffer: ${args.bufferId}`);
30
31
  }
@@ -50,21 +51,8 @@ function injectMaxWidth(code, maxWidth) {
50
51
  export function createPlantUmlTools() {
51
52
  return {
52
53
  plantuml_validate: {
53
- description: `Validate PlantUML diagram syntax before inserting into Confluence.
54
-
55
- IMPORTANT: Call help(topic="plantuml") FIRST to learn Confluence PlantUML requirements.
56
-
57
- Returns:
58
- - valid: Whether the diagram syntax is correct
59
- - diagramType: Detected type (sequence, class, activity, component, state, c4, etc.)
60
- - errors: Line-level error details if invalid
61
-
62
- Validate ONE diagram at a time. Do not pass full document content.
63
-
64
- Example:
65
- plantuml_validate(code="@startuml\\nA -> B: message\\n@enduml")
66
-
67
- Workflow: help(topic="plantuml") → validate → buffer_edit with plantuml parameter`,
54
+ description: `Validate PlantUML diagram syntax. Returns valid, diagramType, errors.
55
+ Validate ONE diagram at a time. Call help(topic="plantuml") for Confluence requirements.`,
68
56
  inputSchema: PlantUmlValidateInputSchema,
69
57
  handler: async (args) => {
70
58
  // Check if PlantUML is available
@@ -148,41 +136,27 @@ Workflow: help(topic="plantuml") → validate → buffer_edit with plantuml para
148
136
  });
149
137
  }
150
138
  catch (error) {
151
- // Check if it's a Docker-related error
152
- const message = error instanceof Error ? error.message : String(error);
153
- if (message.includes("Docker") ||
154
- message.includes("container") ||
155
- message.includes("ENOENT")) {
139
+ // Check if it's an include conversion error
140
+ if (error instanceof IncludeConversionError) {
156
141
  return formatError({
157
142
  error: true,
158
- message: "PlantUML service unavailable - Docker may not be running",
159
- statusCode: 503,
143
+ message: error.message,
144
+ statusCode: 400,
160
145
  details: {
161
- originalError: message,
162
- hint: "Ensure Docker is installed and running",
146
+ url: error.url,
147
+ suggestion: error.suggestion,
148
+ hint: "Replace the HTTP URL with the suggested stdlib syntax",
163
149
  },
164
150
  });
165
151
  }
152
+ const message = error instanceof Error ? error.message : String(error);
166
153
  return formatError(error instanceof Error ? error : new Error(message));
167
154
  }
168
155
  },
169
156
  },
170
157
  plantuml_render: {
171
- description: `Render PlantUML diagram to a visual format for preview or export.
172
-
173
- TIP: Call help(topic="plantuml") for Confluence-specific PlantUML syntax.
174
-
175
- Formats:
176
- - ascii: Text preview in terminal (use maxWidth=80 for readability)
177
- - svg: Vector graphics (default)
178
- - png: Image file (base64, use buffer_save_to_file to save)
179
- - eps: Print-quality vector
180
-
181
- Use ascii format to preview diagrams before inserting into Confluence.
182
-
183
- Example:
184
- plantuml_render(code="@startuml\\nA -> B\\n@enduml", format="ascii")
185
- plantuml_render(code="...", format="ascii", maxWidth=80)`,
158
+ description: `Render PlantUML diagram. Formats: ascii (preview), svg (default), png (base64), eps.
159
+ Use ascii with maxWidth=80 to preview before inserting into Confluence.`,
186
160
  inputSchema: PlantUmlRenderInputSchema,
187
161
  handler: async (args) => {
188
162
  // Check if PlantUML is available
@@ -212,9 +186,7 @@ Example:
212
186
  format: result.format,
213
187
  contentType: result.contentType,
214
188
  });
215
- const hint = format === "png" || format === "eps"
216
- ? "Use buffer_save_to_file to save to disk, or buffer_get_chunk to retrieve base64"
217
- : "Use buffer_get_chunk to retrieve content";
189
+ const hint = "Use buffer_get_chunk to retrieve content";
218
190
  return formatSuccess({
219
191
  format: result.format,
220
192
  contentType: result.contentType,
@@ -232,30 +204,29 @@ Example:
232
204
  });
233
205
  }
234
206
  catch (error) {
235
- const message = error instanceof Error ? error.message : String(error);
236
- // Check for syntax errors in the response
237
- if (message.includes("syntax error") || message.includes("Syntax Error")) {
207
+ // Check if it's an include conversion error
208
+ if (error instanceof IncludeConversionError) {
238
209
  return formatError({
239
210
  error: true,
240
- message: "PlantUML syntax error - diagram cannot be rendered",
211
+ message: error.message,
241
212
  statusCode: 400,
242
213
  details: {
243
- originalError: message,
244
- hint: "Use plantuml_validate to check syntax first",
214
+ url: error.url,
215
+ suggestion: error.suggestion,
216
+ hint: "Replace the HTTP URL with the suggested stdlib syntax",
245
217
  },
246
218
  });
247
219
  }
248
- // Check for Docker-related errors
249
- if (message.includes("Docker") ||
250
- message.includes("container") ||
251
- message.includes("ENOENT")) {
220
+ const message = error instanceof Error ? error.message : String(error);
221
+ // Check for syntax errors in the response
222
+ if (message.includes("syntax error") || message.includes("Syntax Error")) {
252
223
  return formatError({
253
224
  error: true,
254
- message: "PlantUML service unavailable - Docker may not be running",
255
- statusCode: 503,
225
+ message: "PlantUML syntax error - diagram cannot be rendered",
226
+ statusCode: 400,
256
227
  details: {
257
228
  originalError: message,
258
- hint: "Ensure Docker is installed and running",
229
+ hint: "Use plantuml_validate to check syntax first",
259
230
  },
260
231
  });
261
232
  }
@@ -274,31 +245,21 @@ Returns availability status and detailed state information.`,
274
245
  return formatSuccess({
275
246
  available: false,
276
247
  disabled: true,
277
- message: "PlantUML is disabled (disableDocker: true in config)",
278
- });
279
- }
280
- if (status.startupFailed) {
281
- return formatSuccess({
282
- available: false,
283
- startupFailed: true,
284
- error: status.error,
285
- message: "PlantUML failed to start. Check Docker configuration.",
248
+ message: "PlantUML is not configured. Set JICON_PLANTUML_SERVER_URL to enable.",
286
249
  });
287
250
  }
288
- if (status.containerDied) {
251
+ if (status.serverDied) {
289
252
  return formatSuccess({
290
253
  available: false,
291
- containerDied: true,
292
- message: "PlantUML container stopped. Restart MCP server to retry.",
254
+ serverDied: true,
255
+ message: "PlantUML server is unreachable. Check server status or restart MCP.",
293
256
  });
294
257
  }
295
258
  if (status.available) {
296
259
  return formatSuccess({
297
260
  available: true,
298
- containerId: status.containerId,
299
- port: status.port,
300
- baseUrl: status.baseUrl,
301
- message: "PlantUML service is running",
261
+ serverUrl: status.serverUrl,
262
+ message: "PlantUML service is available",
302
263
  });
303
264
  }
304
265
  return formatSuccess({
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/utils/plantuml/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/utils/plantuml/tools.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * PlantUML Types
3
3
  *
4
- * Type definitions for the PlantUML Docker-based validation and rendering service.
4
+ * Type definitions for the PlantUML validation and rendering service.
5
5
  */
6
6
  import { z } from "zod";
7
7
  /**
@@ -54,40 +54,6 @@ export interface PlantUmlRenderResult {
54
54
  /** Size in bytes */
55
55
  size: number;
56
56
  }
57
- /**
58
- * Docker container state
59
- */
60
- export interface ContainerState {
61
- /** Container ID */
62
- containerId: string;
63
- /** Container name */
64
- containerName: string;
65
- /** Host port mapped to container's 8080 */
66
- port: number;
67
- /** Base URL for PlantUML server */
68
- baseUrl: string;
69
- /** Whether container is ready to accept requests */
70
- ready: boolean;
71
- }
72
- /**
73
- * PlantUML service configuration
74
- */
75
- export interface PlantUmlConfig {
76
- /** Docker image to use (default: plantuml/plantuml-server:latest) */
77
- image?: string;
78
- /** Timeout for container startup in ms (default: 30000) */
79
- startupTimeout?: number;
80
- /** Timeout for requests in ms (default: 30000) */
81
- requestTimeout?: number;
82
- /** Port range start for dynamic allocation (default: 49152) */
83
- portRangeStart?: number;
84
- /** Port range end for dynamic allocation (default: 65535) */
85
- portRangeEnd?: number;
86
- }
87
- /**
88
- * Default configuration values
89
- */
90
- export declare const DEFAULT_PLANTUML_CONFIG: Required<PlantUmlConfig>;
91
57
  /**
92
58
  * Semantic positions for PlantUML insertion in Confluence documents
93
59
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB,2CAAyC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,OAAO,GACP,UAAU,GACV,WAAW,GACX,OAAO,GACP,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,cAAc,CAM5D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,mFAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAoBpC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,kBAAkB,2CAAyC,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,WAAW,GACnB,UAAU,GACV,OAAO,GACP,UAAU,GACV,WAAW,GACX,OAAO,GACP,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,QAAQ,GACR,SAAS,GACT,OAAO,GACP,KAAK,GACL,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0CAA0C;IAC1C,KAAK,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,2BAA2B;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,mFAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;EAStC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;EAoBpC,CAAC"}
@@ -1,23 +1,13 @@
1
1
  /**
2
2
  * PlantUML Types
3
3
  *
4
- * Type definitions for the PlantUML Docker-based validation and rendering service.
4
+ * Type definitions for the PlantUML validation and rendering service.
5
5
  */
6
6
  import { z } from "zod";
7
7
  /**
8
8
  * Supported output formats for PlantUML rendering
9
9
  */
10
10
  export const RenderFormatSchema = z.enum(["ascii", "png", "svg", "eps"]);
11
- /**
12
- * Default configuration values
13
- */
14
- export const DEFAULT_PLANTUML_CONFIG = {
15
- image: "plantuml/plantuml-server:latest",
16
- startupTimeout: 30000,
17
- requestTimeout: 30000,
18
- portRangeStart: 49152,
19
- portRangeEnd: 65535,
20
- };
21
11
  /**
22
12
  * Semantic positions for PlantUML insertion in Confluence documents
23
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/plantuml/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAoGzE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA6B;IAC/D,KAAK,EAAE,iCAAiC;IACxC,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,cAAc,EAAE,KAAK;IACrB,YAAY,EAAE,KAAK;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,KAAK;IACL,WAAW;CACZ,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;CACxE,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAChD,gDAAgD,CACjD;IACD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mGAAmG,CACpG;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/utils/plantuml/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;AAoEzE;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,KAAK;IACL,WAAW;CACZ,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;CACxE,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,mDAAmD,CAAC;IAChE,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,0DAA0D,CAAC;IACvE,MAAM,EAAE,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAChD,gDAAgD,CACjD;IACD,QAAQ,EAAE,CAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,EAAE,CAAC;SACP,GAAG,CAAC,GAAG,CAAC;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,mGAAmG,CACpG;CACJ,CAAC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Consolidates the repeated validation logic from buffer-tools.ts
5
5
  * into a single reusable function.
6
6
  *
7
- * Requires Docker-based validation - returns error if unavailable.
7
+ * Requires external PlantUML server - returns error if unavailable.
8
8
  */
9
9
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
10
10
  /**