@crypto512/jicon-mcp 1.1.0 → 1.2.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 (68) hide show
  1. package/PROMPT.md +214 -0
  2. package/README.md +54 -8
  3. package/TOOL_LIST.md +241 -58
  4. package/dist/confluence/client.d.ts +7 -2
  5. package/dist/confluence/client.d.ts.map +1 -1
  6. package/dist/confluence/client.js +28 -10
  7. package/dist/confluence/client.js.map +1 -1
  8. package/dist/confluence/tools.d.ts +64 -8
  9. package/dist/confluence/tools.d.ts.map +1 -1
  10. package/dist/confluence/tools.js +587 -33
  11. package/dist/confluence/tools.js.map +1 -1
  12. package/dist/permissions/tool-registry.d.ts +9 -9
  13. package/dist/permissions/tool-registry.d.ts.map +1 -1
  14. package/dist/permissions/tool-registry.js +10 -3
  15. package/dist/permissions/tool-registry.js.map +1 -1
  16. package/dist/permissions/write-home-validator.d.ts.map +1 -1
  17. package/dist/permissions/write-home-validator.js +23 -3
  18. package/dist/permissions/write-home-validator.js.map +1 -1
  19. package/dist/tempo/client.js +1 -1
  20. package/dist/tempo/client.js.map +1 -1
  21. package/dist/tempo/tools.js +1 -1
  22. package/dist/tempo/tools.js.map +1 -1
  23. package/dist/utils/buffer-tools.d.ts +10 -0
  24. package/dist/utils/buffer-tools.d.ts.map +1 -1
  25. package/dist/utils/buffer-tools.js +139 -28
  26. package/dist/utils/buffer-tools.js.map +1 -1
  27. package/dist/utils/content-buffer.d.ts +5 -1
  28. package/dist/utils/content-buffer.d.ts.map +1 -1
  29. package/dist/utils/content-buffer.js +6 -3
  30. package/dist/utils/content-buffer.js.map +1 -1
  31. package/dist/utils/jicon-help.d.ts +1 -1
  32. package/dist/utils/jicon-help.d.ts.map +1 -1
  33. package/dist/utils/jicon-help.js +78 -19
  34. package/dist/utils/jicon-help.js.map +1 -1
  35. package/dist/utils/plantuml/client.d.ts +15 -1
  36. package/dist/utils/plantuml/client.d.ts.map +1 -1
  37. package/dist/utils/plantuml/client.js +56 -3
  38. package/dist/utils/plantuml/client.js.map +1 -1
  39. package/dist/utils/plantuml/include-expander.d.ts +15 -0
  40. package/dist/utils/plantuml/include-expander.d.ts.map +1 -1
  41. package/dist/utils/plantuml/include-expander.js +47 -8
  42. package/dist/utils/plantuml/include-expander.js.map +1 -1
  43. package/dist/utils/plantuml/index.d.ts +1 -1
  44. package/dist/utils/plantuml/index.d.ts.map +1 -1
  45. package/dist/utils/plantuml/index.js +1 -1
  46. package/dist/utils/plantuml/index.js.map +1 -1
  47. package/dist/utils/plantuml/service.d.ts +1 -1
  48. package/dist/utils/plantuml/service.d.ts.map +1 -1
  49. package/dist/utils/plantuml/service.js +1 -1
  50. package/dist/utils/plantuml/service.js.map +1 -1
  51. package/dist/utils/plantuml/tools.d.ts.map +1 -1
  52. package/dist/utils/plantuml/tools.js +5 -2
  53. package/dist/utils/plantuml/tools.js.map +1 -1
  54. package/dist/utils/url-tools.d.ts +27 -1
  55. package/dist/utils/url-tools.d.ts.map +1 -1
  56. package/dist/utils/url-tools.js +142 -1
  57. package/dist/utils/url-tools.js.map +1 -1
  58. package/dist/utils/xhtml/index.d.ts +1 -1
  59. package/dist/utils/xhtml/index.d.ts.map +1 -1
  60. package/dist/utils/xhtml/index.js +1 -1
  61. package/dist/utils/xhtml/index.js.map +1 -1
  62. package/dist/utils/xhtml/plantuml.d.ts +24 -6
  63. package/dist/utils/xhtml/plantuml.d.ts.map +1 -1
  64. package/dist/utils/xhtml/plantuml.js +70 -12
  65. package/dist/utils/xhtml/plantuml.js.map +1 -1
  66. package/dist/utils/xhtml/validator.js +2 -2
  67. package/dist/utils/xhtml/validator.js.map +1 -1
  68. package/package.json +2 -2
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { z } from "zod";
8
8
  import { formatSuccess, formatError } from "./response-formatter.js";
9
+ import { ALLOWED_INCLUDE_URLS } from "./plantuml/index.js";
9
10
  // Available topics
10
11
  const TOPICS = ["jql", "cql", "storage", "plantuml", "buffers"];
11
12
  // Default workflow guide (shown when no topic specified)
@@ -15,7 +16,8 @@ const WORKFLOW_GUIDE = `# Jicon Quick Reference
15
16
 
16
17
  | Task | First Step |
17
18
  |------|------------|
18
- | Edit Confluence page | \`help(topic="buffers")\` ← Element ID editing |
19
+ | Edit Confluence page | \`confluence_edit(input)\` ← accepts URL, pageId, or SPACE/Title |
20
+ | Create NEW page | \`confluence_draft_create(spaceKey, title, content)\` |
19
21
  | Create page with diagram | \`help(topic="plantuml")\` |
20
22
  | XHTML syntax needed | \`help(topic="storage")\` |
21
23
  | Search Confluence | \`help(topic="cql")\` |
@@ -26,15 +28,35 @@ const WORKFLOW_GUIDE = `# Jicon Quick Reference
26
28
 
27
29
  ## Core Workflows
28
30
 
29
- ### Create/Edit Confluence Page
31
+ ### Edit Confluence Page (Review Workflow)
30
32
  \`\`\`
31
- 1. confluence_draft_create(spaceKey, title, content) OR confluence_get_page(pageId)
32
- Returns: bufferId, structure (element IDs)
33
- 2. buffer_edit(bufferId, after=ID, content="<p>text</p>")
34
- Use IDs from structure to position content
35
- 3. confluence_draft_save(draftId, bufferId)
36
- Returns: url for preview
37
- 4. User publishes via Confluence UI
33
+ 1. confluence_edit(input)
34
+ - Accepts: URL, pageId, "draft:ID", or "SPACE/Title"
35
+ Returns: bufferId, structure (element IDs), pageId
36
+ 2. buffer_edit(bufferId, after=ID, content/plantuml/fromBufferId)
37
+ Use content="<p>text</p>" for XHTML
38
+ Use plantuml="@startuml..." for diagrams
39
+ Use fromBufferId="buf_xxx" to merge another buffer
40
+ 3. confluence_draft_create(pageId=..., bufferId=...)
41
+ → Creates "[jicon-mcp REVIEW] Title" draft linked to original
42
+ → Returns: reviewDraftId, draft URL for user review
43
+ 4. User reviews in Confluence UI (can share draft with team)
44
+ 5. confluence_review_publish(reviewDraftId) → applies changes to original
45
+ OR confluence_review_discard(reviewDraftId) → cancels without changes
46
+ 6. For more edits: confluence_edit(same URL or "SPACE/Title")
47
+ \`\`\`
48
+
49
+ **Review Workflow Tools:**
50
+ - \`confluence_review_publish(reviewDraftId)\` - Apply changes to original page
51
+ - \`confluence_review_discard(reviewDraftId)\` - Discard without changes
52
+ - \`confluence_review_list()\` - Find all review drafts for cleanup
53
+
54
+ ### Create NEW Confluence Page
55
+ \`\`\`
56
+ 1. confluence_draft_create(spaceKey, title, content)
57
+ → Returns: draftId, bufferId, draft URL
58
+ 2. User reviews and publishes via Confluence UI
59
+ 3. For edits after publish: confluence_edit("SPACE/Title")
38
60
  \`\`\`
39
61
 
40
62
  ### Insert PlantUML Diagram
@@ -165,7 +187,7 @@ OK: (text~"term1" OR text~"term2") - Each term needs its own text~ operator
165
187
  type=page AND title~"Sprint Review" ORDER BY created DESC
166
188
 
167
189
  9. Find by creator name:
168
- creator.fullname~"John Smith"
190
+ creator.fullname~"Alex Morgan"
169
191
 
170
192
  10. Pages created this week:
171
193
  type=page AND created >= startOfWeek()
@@ -312,12 +334,21 @@ const PLANTUML_HELP = `# PlantUML in Confluence
312
334
  </ac:structured-macro>
313
335
  \`\`\`
314
336
 
315
- ## Critical Rules
337
+ ## Critical Rules (MANDATORY)
338
+
339
+ 1. **Always use \`plantuml\` parameter**: \`buffer_edit(..., plantuml="...")\` is REQUIRED
340
+ - The \`content\` parameter REJECTS PlantUML macros (returns error)
341
+ - This ensures all PlantUML is validated before insertion
342
+
343
+ 2. **Validation is automatic**: \`buffer_edit\` validates PlantUML before inserting
344
+ - Pre-validate with \`plantuml_validate(code)\` to check syntax first
345
+ - Invalid syntax is rejected with detailed error messages
316
346
 
317
- 1. **Always validate first**: \`plantuml_validate(code)\` before inserting
318
- 2. **Use plantuml parameter**: \`buffer_edit(..., plantuml="...")\` not \`content\`
319
347
  3. **Include markers**: Always use \`@startuml\` and \`@enduml\`
320
348
 
349
+ 4. **One diagram per macro**: Each \`plantuml\` parameter = one diagram
350
+ - Multiple diagrams require multiple \`buffer_edit\` calls
351
+
321
352
  ## Stdlib Includes (C4, AWS, Azure)
322
353
 
323
354
  C4-PlantUML, AWS icons, and Azure diagrams are supported via \`!include\`:
@@ -331,12 +362,16 @@ Rel(user, sys, "Uses")
331
362
  @enduml
332
363
  \`\`\`
333
364
 
334
- **Supported URL prefixes (whitelisted):**
335
- - \`https://raw.githubusercontent.com/plantuml-stdlib/\` - C4, Azure, Kubernetes, etc.
336
- - \`https://raw.githubusercontent.com/plantuml/\` - Official PlantUML stdlib
337
- - \`https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/\` - AWS icons
365
+ **Requires \`plantumlInclude: true\`** (enabled by default in .jicon.json)
366
+
367
+ When enabled, \`!include\` from whitelisted URLs are authorized and expanded client-side
368
+ before validation and Confluence upload. Expanded includes are automatically collapsed
369
+ back to \`!include\` directives when reading pages.
370
+
371
+ **Whitelisted URL prefixes:**
372
+ ${ALLOWED_INCLUDE_URLS.map((url) => `- \`${url}\``).join("\n")}
338
373
 
339
- **Include files are expanded client-side** before validation and Confluence upload.
374
+ Non-whitelisted URLs are left unchanged (PlantUML server may reject them due to SSRF restrictions).
340
375
 
341
376
  ## Quick Examples
342
377
 
@@ -454,8 +489,9 @@ confluence_get_page(pageId) → structure: [
454
489
  | Replace | \`replace=4, plantuml="@startuml..."\` | Replaces diagram, keeps id=4 |
455
490
  | Remove | \`remove=3\` | Deletes paragraph |
456
491
  | Append | \`append=true, content="<p>End</p>"\` | Adds at document end |
492
+ | From buffer | \`after=2, fromBufferId="buf_xxx"\` | Insert another buffer's content |
457
493
 
458
- **Content options:** \`content="<xhtml>"\` or \`plantuml="@startuml..."\`
494
+ **Content options:** \`content="<xhtml>"\`, \`plantuml="@startuml..."\`, or \`fromBufferId="buf_xxx"\`
459
495
 
460
496
  ## Batch Operations (Efficient)
461
497
 
@@ -492,6 +528,29 @@ buffer_edit(bufferId, operations=[
492
528
  → url for preview
493
529
  \`\`\`
494
530
 
531
+ ## Buffer Composition (fromBufferId)
532
+
533
+ When editing existing pages, you can create content in a separate buffer and merge it:
534
+
535
+ \`\`\`
536
+ 1. confluence_edit("URL or SPACE/Title")
537
+ → bufferId_A (page content), pageId
538
+
539
+ 2. buffer_create({ content: "<p>New content</p>", contentType: "xhtml" })
540
+ → bufferId_B
541
+
542
+ 3. buffer_edit(bufferId=bufferId_A, after=5, fromBufferId=bufferId_B)
543
+ → Inserts B's content into A after element 5
544
+
545
+ 4. confluence_draft_create(pageId=..., bufferId=bufferId_A)
546
+ → Draft linked to original page (bufferId_A originated from pageId)
547
+ \`\`\`
548
+
549
+ **Why use fromBufferId?**
550
+ - Create content in isolation, then merge into page buffer
551
+ - Keeps the page buffer's resourceId metadata intact (required for pageId validation)
552
+ - Works with batch operations: \`operations=[{after:5, fromBufferId:"buf_B"}]\`
553
+
495
554
  ## Other Buffer Tools
496
555
 
497
556
  | Tool | Use |
@@ -1 +1 @@
1
- {"version":3,"file":"jicon-help.js","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jicon-help.js","sourceRoot":"","sources":["../../src/utils/jicon-help.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,21 @@ export declare class PlantUmlClient {
25
25
  private timeoutMs;
26
26
  constructor(baseUrl: string, timeoutMs?: number);
27
27
  /**
28
- * Validate PlantUML syntax using dedicated /check endpoint
28
+ * Check for rendering errors by rendering to SVG.
29
+ * Uses HTTP headers for error detection (same as /check endpoint).
30
+ * PlantUML server's DiagramResponse class sets X-PlantUML-Diagram-* headers
31
+ * on all rendering endpoints (/svg, /png, /eps, etc.), not just /check.
32
+ *
33
+ * Called after /check validation passes to catch issues that syntax
34
+ * validation misses but actual rendering catches.
35
+ */
36
+ private checkRenderingErrors;
37
+ /**
38
+ * Validate PlantUML syntax using /check endpoint, then verify rendering.
39
+ *
40
+ * Two-phase validation:
41
+ * 1. Syntax check via /check endpoint (fast)
42
+ * 2. Render check via /svg endpoint (catches issues /check misses)
29
43
  */
30
44
  validate(code: string): Promise<PlantUmlValidationResult>;
31
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAEpB,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAmCpB;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAetD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA8E3D;AAoDD;;GAEG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,SAAS;gBAAlC,OAAO,EAAE,MAAM,EAAU,SAAS,GAAE,MAAc;IAEtE;;OAEG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmD/D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4C/E;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAWtC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAEpB,YAAY,EACZ,WAAW,EACZ,MAAM,YAAY,CAAC;AAmCpB;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGnD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAetD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA8E3D;AAoDD;;GAEG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,OAAO;IAAU,OAAO,CAAC,SAAS;gBAAlC,OAAO,EAAE,MAAM,EAAU,SAAS,GAAE,MAAc;IAEtE;;;;;;;;OAQG;YACW,oBAAoB;IA8BlC;;;;;;OAMG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAmE/D;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4C/E;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAWtC"}
@@ -175,14 +175,52 @@ export class PlantUmlClient {
175
175
  this.timeoutMs = timeoutMs;
176
176
  }
177
177
  /**
178
- * Validate PlantUML syntax using dedicated /check endpoint
178
+ * Check for rendering errors by rendering to SVG.
179
+ * Uses HTTP headers for error detection (same as /check endpoint).
180
+ * PlantUML server's DiagramResponse class sets X-PlantUML-Diagram-* headers
181
+ * on all rendering endpoints (/svg, /png, /eps, etc.), not just /check.
182
+ *
183
+ * Called after /check validation passes to catch issues that syntax
184
+ * validation misses but actual rendering catches.
185
+ */
186
+ async checkRenderingErrors(encoded) {
187
+ try {
188
+ const response = await fetch(`${this.baseUrl}/svg/${encoded}`, {
189
+ method: "GET",
190
+ signal: AbortSignal.timeout(this.timeoutMs),
191
+ });
192
+ // Check error headers (same approach as /check endpoint)
193
+ const errorDesc = response.headers.get("X-PlantUML-Diagram-Description");
194
+ const errorMsg = response.headers.get("X-PlantUML-Diagram-Error");
195
+ if (errorDesc?.includes("Error") || errorMsg) {
196
+ return {
197
+ hasErrors: true,
198
+ errorMessage: errorMsg || "Diagram rendering failed",
199
+ };
200
+ }
201
+ // If no error headers, rendering succeeded
202
+ return { hasErrors: false };
203
+ }
204
+ catch (error) {
205
+ return {
206
+ hasErrors: true,
207
+ errorMessage: error instanceof Error ? error.message : String(error),
208
+ };
209
+ }
210
+ }
211
+ /**
212
+ * Validate PlantUML syntax using /check endpoint, then verify rendering.
213
+ *
214
+ * Two-phase validation:
215
+ * 1. Syntax check via /check endpoint (fast)
216
+ * 2. Render check via /svg endpoint (catches issues /check misses)
179
217
  */
180
218
  async validate(code) {
181
219
  const normalizedCode = normalizePlantUml(code);
182
220
  const diagramType = detectDiagramType(normalizedCode);
183
221
  const encoded = encodePlantUml(normalizedCode);
184
222
  try {
185
- // Use /check endpoint - dedicated validation (no diagram rendering)
223
+ // Phase 1: Syntax validation via /check endpoint (fast)
186
224
  const response = await fetch(`${this.baseUrl}/check/${encoded}`, {
187
225
  method: "GET",
188
226
  signal: AbortSignal.timeout(this.timeoutMs),
@@ -201,7 +239,22 @@ export class PlantUmlClient {
201
239
  errors,
202
240
  };
203
241
  }
204
- // Valid diagram
242
+ // Phase 2: Render validation (catches issues /check misses)
243
+ const renderCheck = await this.checkRenderingErrors(encoded);
244
+ if (renderCheck.hasErrors) {
245
+ return {
246
+ valid: false,
247
+ normalizedCode,
248
+ diagramType,
249
+ errors: [
250
+ {
251
+ line: 1,
252
+ message: renderCheck.errorMessage || "Diagram failed render validation",
253
+ },
254
+ ],
255
+ };
256
+ }
257
+ // Valid diagram (passed both syntax and render checks)
205
258
  return {
206
259
  valid: true,
207
260
  normalizedCode,
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/plantuml/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/utils/plantuml/client.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * Expands !include directives by fetching whitelisted URLs client-side.
5
5
  * This bypasses PlantUML server SSRF restrictions for trusted stdlib libraries.
6
6
  */
7
+ export declare const ALLOWED_INCLUDE_URLS: string[];
7
8
  /**
8
9
  * Expand !include directives in PlantUML code
9
10
  *
@@ -29,4 +30,18 @@ export declare function getIncludeCacheStats(): {
29
30
  size: number;
30
31
  urls: string[];
31
32
  };
33
+ /**
34
+ * Collapse expanded includes back to !include/!includeurl directives
35
+ *
36
+ * Reverses the expansion by finding the marker comments and replacing
37
+ * the entire block with the original include directive.
38
+ */
39
+ export declare function collapseExpandedIncludes(code: string): string;
40
+ /**
41
+ * Collapse expanded includes within XHTML content
42
+ *
43
+ * Finds all PlantUML macros in XHTML and collapses expanded includes
44
+ * back to !include directives when reading from Confluence.
45
+ */
46
+ export declare function collapseExpandedIncludesInXhtml(xhtml: string): string;
32
47
  //# sourceMappingURL=include-expander.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"include-expander.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/include-expander.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAqDH;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAqCjB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKvE"}
1
+ {"version":3,"file":"include-expander.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/include-expander.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,oBAAoB,UAIhC,CAAC;AA8CF;;;;;GAKG;AACH,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA6B1E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAwBrE"}
@@ -5,7 +5,7 @@
5
5
  * This bypasses PlantUML server SSRF restrictions for trusted stdlib libraries.
6
6
  */
7
7
  // Whitelisted URL prefixes - only these are allowed
8
- const ALLOWED_URLS = [
8
+ export const ALLOWED_INCLUDE_URLS = [
9
9
  "https://raw.githubusercontent.com/plantuml-stdlib/", // C4, Azure, Kubernetes, etc.
10
10
  "https://raw.githubusercontent.com/plantuml/", // Official stdlib
11
11
  "https://raw.githubusercontent.com/awslabs/aws-icons-for-plantuml/", // AWS icons
@@ -19,7 +19,7 @@ const cache = new Map();
19
19
  * Check if a URL is in the whitelist
20
20
  */
21
21
  function isAllowedUrl(url) {
22
- return ALLOWED_URLS.some((prefix) => url.startsWith(prefix));
22
+ return ALLOWED_INCLUDE_URLS.some((prefix) => url.startsWith(prefix));
23
23
  }
24
24
  /**
25
25
  * Fetch an include file with caching
@@ -54,15 +54,15 @@ export async function expandIncludes(code, depth = 0) {
54
54
  if (depth > MAX_DEPTH) {
55
55
  return code;
56
56
  }
57
- // Match !include directives with HTTP(S) URLs
58
- const includePattern = /^(\s*)!include\s+(https?:\/\/\S+)/gm;
57
+ // Match !include and !includeurl directives with HTTP(S) URLs
58
+ const includePattern = /^(\s*)(!include(?:url)?)\s+(https?:\/\/\S+)/gm;
59
59
  const matches = [...code.matchAll(includePattern)];
60
60
  if (matches.length === 0) {
61
61
  return code;
62
62
  }
63
63
  let result = code;
64
64
  for (const match of matches) {
65
- const [fullMatch, , url] = match;
65
+ const [fullMatch, indent, directive, url] = match;
66
66
  // Skip non-whitelisted URLs
67
67
  if (!isAllowedUrl(url)) {
68
68
  continue;
@@ -71,7 +71,10 @@ export async function expandIncludes(code, depth = 0) {
71
71
  const content = await fetchInclude(url);
72
72
  // Recursively expand nested includes
73
73
  const expanded = await expandIncludes(content, depth + 1);
74
- result = result.replace(fullMatch, expanded);
74
+ // Wrap expanded content in comments with original include line preserved
75
+ // This allows easy removal by deleting from opening to closing comment
76
+ const wrapped = `${indent}' <<<< EXPANDED: ${directive} ${url}\n${expanded}\n${indent}' >>>> END EXPANDED`;
77
+ result = result.replace(fullMatch, wrapped);
75
78
  }
76
79
  catch (error) {
77
80
  // Re-throw with context
@@ -97,8 +100,8 @@ export async function expandPlantUmlInXhtml(xhtml) {
97
100
  let result = xhtml;
98
101
  for (const match of matches) {
99
102
  const [fullMatch, prefix, code, suffix] = match;
100
- // Only process if contains !include
101
- if (code.includes("!include")) {
103
+ // Only process if contains !include or !includeurl
104
+ if (code.includes("!include")) { // matches both !include and !includeurl
102
105
  try {
103
106
  const expanded = await expandIncludes(code);
104
107
  result = result.replace(fullMatch, prefix + expanded + suffix);
@@ -126,4 +129,40 @@ export function getIncludeCacheStats() {
126
129
  urls: [...cache.keys()],
127
130
  };
128
131
  }
132
+ /**
133
+ * Collapse expanded includes back to !include/!includeurl directives
134
+ *
135
+ * Reverses the expansion by finding the marker comments and replacing
136
+ * the entire block with the original include directive.
137
+ */
138
+ export function collapseExpandedIncludes(code) {
139
+ // Pattern matches: ' <<<< EXPANDED: !include[url] URL\n...content...\n' >>>> END EXPANDED
140
+ // The indent is captured to handle different nesting levels
141
+ const pattern = /^(\s*)' <<<< EXPANDED: (!include(?:url)? \S+)\n[\s\S]*?\n\1' >>>> END EXPANDED/gm;
142
+ return code.replace(pattern, "$1$2");
143
+ }
144
+ /**
145
+ * Collapse expanded includes within XHTML content
146
+ *
147
+ * Finds all PlantUML macros in XHTML and collapses expanded includes
148
+ * back to !include directives when reading from Confluence.
149
+ */
150
+ export function collapseExpandedIncludesInXhtml(xhtml) {
151
+ // Match PlantUML macro CDATA content
152
+ const macroPattern = /(<ac:plain-text-body><!\[CDATA\[)([\s\S]*?)(\]\]><\/ac:plain-text-body>)/g;
153
+ const matches = [...xhtml.matchAll(macroPattern)];
154
+ if (matches.length === 0) {
155
+ return xhtml;
156
+ }
157
+ let result = xhtml;
158
+ for (const match of matches) {
159
+ const [fullMatch, prefix, code, suffix] = match;
160
+ // Only process if contains expansion markers
161
+ if (code.includes("' <<<< EXPANDED:")) {
162
+ const collapsed = collapseExpandedIncludes(code);
163
+ result = result.replace(fullMatch, prefix + collapsed + suffix);
164
+ }
165
+ }
166
+ return result;
167
+ }
129
168
  //# sourceMappingURL=include-expander.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"include-expander.js","sourceRoot":"","sources":["../../../src/utils/plantuml/include-expander.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"include-expander.js","sourceRoot":"","sources":["../../../src/utils/plantuml/include-expander.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * Docker-based PlantUML validation and rendering service.
5
5
  */
6
6
  export * from "./types.js";
7
- export { validate, render, isAvailable, getStatus, shutdown, configure, normalizePlantUml, detectDiagramType, initializePlantUml, getUnavailableReason, expandPlantUmlInXhtml, } from "./service.js";
7
+ export { validate, render, isAvailable, getStatus, shutdown, configure, normalizePlantUml, detectDiagramType, initializePlantUml, getUnavailableReason, expandPlantUmlInXhtml, collapseExpandedIncludesInXhtml, ALLOWED_INCLUDE_URLS, } from "./service.js";
8
8
  export { startContainer, stopContainer, ensureContainer, getContainerState, isContainerHealthy, cleanupOrphanedContainers, } from "./docker-manager.js";
9
9
  export { PlantUmlClient, encodePlantUml } from "./client.js";
10
10
  export { createPlantUmlTools, PLANTUML_TOOLS } from "./tools.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EACL,4BAA4B,EAC5B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAGjE,OAAO,EACL,4BAA4B,EAC5B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,wBAAwB,CAAC"}
@@ -6,7 +6,7 @@
6
6
  // Types
7
7
  export * from "./types.js";
8
8
  // Service (main API)
9
- export { validate, render, isAvailable, getStatus, shutdown, configure, normalizePlantUml, detectDiagramType, initializePlantUml, getUnavailableReason, expandPlantUmlInXhtml, } from "./service.js";
9
+ export { validate, render, isAvailable, getStatus, shutdown, configure, normalizePlantUml, detectDiagramType, initializePlantUml, getUnavailableReason, expandPlantUmlInXhtml, collapseExpandedIncludesInXhtml, ALLOWED_INCLUDE_URLS, } from "./service.js";
10
10
  // Docker manager (for lifecycle control)
11
11
  export { startContainer, stopContainer, ensureContainer, getContainerState, isContainerHealthy, cleanupOrphanedContainers, } from "./docker-manager.js";
12
12
  // HTTP client (for direct access if needed)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/plantuml/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,yCAAyC;AACzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,0CAA0C;AAC1C,OAAO,EACL,4BAA4B,GAI7B,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/plantuml/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,qBAAqB;AACrB,OAAO,EACL,QAAQ,EACR,MAAM,EACN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAEtB,yCAAyC;AACzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAE7B,4CAA4C;AAC5C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,YAAY;AACZ,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,0CAA0C;AAC1C,OAAO,EACL,4BAA4B,GAI7B,MAAM,wBAAwB,CAAC"}
@@ -66,5 +66,5 @@ export declare function shutdown(): Promise<void>;
66
66
  * Re-export utility functions for convenience
67
67
  */
68
68
  export { normalizePlantUml, detectDiagramType };
69
- export { expandPlantUmlInXhtml } from "./include-expander.js";
69
+ export { expandPlantUmlInXhtml, collapseExpandedIncludesInXhtml, ALLOWED_INCLUDE_URLS, } from "./include-expander.js";
70
70
  //# sourceMappingURL=service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAkB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAsBpB;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAQvF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC;IACtF,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CA2BD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAWpD;AAmCD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAc9E;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAMrC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9C;AAED;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/utils/plantuml/service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAkB,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,KAAK,EACV,cAAc,EACd,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACb,MAAM,YAAY,CAAC;AAsBpB;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG;IAAE,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAQvF;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC;IACtF,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC,CA2BD;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAWpD;AAmCD;;;GAGG;AACH,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAc9E;AAED;;;GAGG;AACH,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,oBAAoB,CAAC,CAS/B;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAMrC;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAqBA;AAED;;GAEG;AACH,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAG9C;AAED;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAC;AAChD,OAAO,EACL,qBAAqB,EACrB,+BAA+B,EAC/B,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
@@ -185,5 +185,5 @@ export async function shutdown() {
185
185
  * Re-export utility functions for convenience
186
186
  */
187
187
  export { normalizePlantUml, detectDiagramType };
188
- export { expandPlantUmlInXhtml } from "./include-expander.js";
188
+ export { expandPlantUmlInXhtml, collapseExpandedIncludesInXhtml, ALLOWED_INCLUDE_URLS, } from "./include-expander.js";
189
189
  //# 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;;;;;;;;;;;;;wBAkBP;YACpB,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,KAAG,OAAO,CAAC,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;wBAmIL;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;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"}
@@ -52,6 +52,8 @@ export function createPlantUmlTools() {
52
52
  plantuml_validate: {
53
53
  description: `Validate PlantUML diagram syntax before inserting into Confluence.
54
54
 
55
+ IMPORTANT: Call help(topic="plantuml") FIRST to learn Confluence PlantUML requirements.
56
+
55
57
  Returns:
56
58
  - valid: Whether the diagram syntax is correct
57
59
  - diagramType: Detected type (sequence, class, activity, component, state, c4, etc.)
@@ -62,8 +64,7 @@ Validate ONE diagram at a time. Do not pass full document content.
62
64
  Example:
63
65
  plantuml_validate(code="@startuml\\nA -> B: message\\n@enduml")
64
66
 
65
- Workflow: validate → then buffer_edit with plantuml parameter
66
- For syntax help: help(topic="plantuml")`,
67
+ Workflow: help(topic="plantuml") → validate → buffer_edit with plantuml parameter`,
67
68
  inputSchema: PlantUmlValidateInputSchema,
68
69
  handler: async (args) => {
69
70
  // Check if PlantUML is available
@@ -169,6 +170,8 @@ For syntax help: help(topic="plantuml")`,
169
170
  plantuml_render: {
170
171
  description: `Render PlantUML diagram to a visual format for preview or export.
171
172
 
173
+ TIP: Call help(topic="plantuml") for Confluence-specific PlantUML syntax.
174
+
172
175
  Formats:
173
176
  - ascii: Text preview in terminal (use maxWidth=80 for readability)
174
177
  - svg: Vector graphics (default)