@jagadeesh52423/atlassian-mcp-server 1.1.0 → 1.1.2

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 (98) hide show
  1. package/README.md +165 -36
  2. package/dist/formatters/adf-formatter.d.ts +30 -2
  3. package/dist/formatters/adf-formatter.d.ts.map +1 -1
  4. package/dist/formatters/adf-formatter.js +423 -107
  5. package/dist/formatters/adf-formatter.js.map +1 -1
  6. package/dist/formatters/index.d.ts +1 -1
  7. package/dist/formatters/index.d.ts.map +1 -1
  8. package/dist/formatters/index.js +1 -1
  9. package/dist/formatters/index.js.map +1 -1
  10. package/dist/handlers/base-handler.d.ts +5 -0
  11. package/dist/handlers/base-handler.d.ts.map +1 -0
  12. package/dist/handlers/base-handler.js +7 -0
  13. package/dist/handlers/base-handler.js.map +1 -0
  14. package/dist/handlers/bitbucket-handlers.d.ts +2 -1
  15. package/dist/handlers/bitbucket-handlers.d.ts.map +1 -1
  16. package/dist/handlers/bitbucket-handlers.js +31 -191
  17. package/dist/handlers/bitbucket-handlers.js.map +1 -1
  18. package/dist/handlers/confluence-handlers.d.ts +2 -1
  19. package/dist/handlers/confluence-handlers.d.ts.map +1 -1
  20. package/dist/handlers/confluence-handlers.js +46 -243
  21. package/dist/handlers/confluence-handlers.js.map +1 -1
  22. package/dist/handlers/jira-handlers.d.ts +9 -1
  23. package/dist/handlers/jira-handlers.d.ts.map +1 -1
  24. package/dist/handlers/jira-handlers.js +144 -575
  25. package/dist/handlers/jira-handlers.js.map +1 -1
  26. package/dist/index.js +111 -189
  27. package/dist/index.js.map +1 -1
  28. package/dist/registry/tool-registry.d.ts +11 -0
  29. package/dist/registry/tool-registry.d.ts.map +1 -0
  30. package/dist/registry/tool-registry.js +24 -0
  31. package/dist/registry/tool-registry.js.map +1 -0
  32. package/dist/services/bitbucket.d.ts +2 -0
  33. package/dist/services/bitbucket.d.ts.map +1 -1
  34. package/dist/services/bitbucket.js +22 -74
  35. package/dist/services/bitbucket.js.map +1 -1
  36. package/dist/services/confluence.d.ts.map +1 -1
  37. package/dist/services/confluence.js +5 -4
  38. package/dist/services/confluence.js.map +1 -1
  39. package/dist/services/jira/agile.d.ts +33 -0
  40. package/dist/services/jira/agile.d.ts.map +1 -0
  41. package/dist/services/jira/agile.js +118 -0
  42. package/dist/services/jira/agile.js.map +1 -0
  43. package/dist/services/jira/attachments.d.ts +7 -0
  44. package/dist/services/jira/attachments.d.ts.map +1 -0
  45. package/dist/services/jira/attachments.js +26 -0
  46. package/dist/services/jira/attachments.js.map +1 -0
  47. package/dist/services/jira/base.d.ts +9 -0
  48. package/dist/services/jira/base.d.ts.map +1 -0
  49. package/dist/services/jira/base.js +11 -0
  50. package/dist/services/jira/base.js.map +1 -0
  51. package/dist/services/jira/comments.d.ts +8 -0
  52. package/dist/services/jira/comments.d.ts.map +1 -0
  53. package/dist/services/jira/comments.js +33 -0
  54. package/dist/services/jira/comments.js.map +1 -0
  55. package/dist/services/jira/issues.d.ts +32 -0
  56. package/dist/services/jira/issues.d.ts.map +1 -0
  57. package/dist/services/jira/issues.js +177 -0
  58. package/dist/services/jira/issues.js.map +1 -0
  59. package/dist/services/jira/labels.d.ts +7 -0
  60. package/dist/services/jira/labels.d.ts.map +1 -0
  61. package/dist/services/jira/labels.js +21 -0
  62. package/dist/services/jira/labels.js.map +1 -0
  63. package/dist/services/jira/links.d.ts +9 -0
  64. package/dist/services/jira/links.d.ts.map +1 -0
  65. package/dist/services/jira/links.js +55 -0
  66. package/dist/services/jira/links.js.map +1 -0
  67. package/dist/services/jira/metadata.d.ts +8 -0
  68. package/dist/services/jira/metadata.d.ts.map +1 -0
  69. package/dist/services/jira/metadata.js +32 -0
  70. package/dist/services/jira/metadata.js.map +1 -0
  71. package/dist/services/jira/subtasks.d.ts +9 -0
  72. package/dist/services/jira/subtasks.d.ts.map +1 -0
  73. package/dist/services/jira/subtasks.js +32 -0
  74. package/dist/services/jira/subtasks.js.map +1 -0
  75. package/dist/services/jira/transitions.d.ts +16 -0
  76. package/dist/services/jira/transitions.d.ts.map +1 -0
  77. package/dist/services/jira/transitions.js +203 -0
  78. package/dist/services/jira/transitions.js.map +1 -0
  79. package/dist/services/jira/versions.d.ts +19 -0
  80. package/dist/services/jira/versions.d.ts.map +1 -0
  81. package/dist/services/jira/versions.js +62 -0
  82. package/dist/services/jira/versions.js.map +1 -0
  83. package/dist/services/jira/watchers.d.ts +7 -0
  84. package/dist/services/jira/watchers.d.ts.map +1 -0
  85. package/dist/services/jira/watchers.js +23 -0
  86. package/dist/services/jira/watchers.js.map +1 -0
  87. package/dist/services/jira/worklogs.d.ts +8 -0
  88. package/dist/services/jira/worklogs.d.ts.map +1 -0
  89. package/dist/services/jira/worklogs.js +37 -0
  90. package/dist/services/jira/worklogs.js.map +1 -0
  91. package/dist/services/jira.d.ts +58 -103
  92. package/dist/services/jira.d.ts.map +1 -1
  93. package/dist/services/jira.js +100 -1481
  94. package/dist/services/jira.js.map +1 -1
  95. package/dist/tools/jira-tools.d.ts.map +1 -1
  96. package/dist/tools/jira-tools.js +35 -3
  97. package/dist/tools/jira-tools.js.map +1 -1
  98. package/package.json +1 -1
package/README.md CHANGED
@@ -3,33 +3,104 @@
3
3
  [![npm version](https://badge.fury.io/js/@jagadeesh52423%2Fatlassian-mcp-server.svg)](https://www.npmjs.com/package/@jagadeesh52423/atlassian-mcp-server)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
- A comprehensive Model Context Protocol (MCP) server that provides AI assistants with access to Atlassian APIs including Jira, Confluence, and Bitbucket.
6
+ A comprehensive Model Context Protocol (MCP) server that provides AI assistants with access to Atlassian APIs including Jira, Confluence, and Bitbucket. **84 tools** across 3 services — the most complete Atlassian MCP server available.
7
+
8
+ ## Feature Comparison
9
+
10
+ How we stack up against the official Atlassian MCP server and the popular sooperset/mcp-atlassian:
11
+
12
+ ### Confluence
13
+
14
+ | Feature | Ours | Official Atlassian | sooperset |
15
+ |---|:---:|:---:|:---:|
16
+ | Search / Get / Create / Update page | YES | YES | YES |
17
+ | Delete page | YES | NO | YES |
18
+ | Get spaces / pages by space | YES | YES | NO |
19
+ | Get child pages | YES | YES | YES |
20
+ | Get/Add comments | YES | YES | YES |
21
+ | **Update/Delete comment** | **YES** | NO | NO |
22
+ | Get/Add/Delete attachments | YES | NO | YES |
23
+ | **Embed image (with positioning)** | **YES** | NO | NO |
24
+ | **Create page with inline images** | **YES** | NO | NO |
25
+ | Get/Add/Remove labels | YES | NO | Partial |
26
+ | **Page version history** | YES | NO | YES |
27
+
28
+ ### Jira
29
+
30
+ | Feature | Ours | Official Atlassian | sooperset |
31
+ |---|:---:|:---:|:---:|
32
+ | Search/Get/Create/Update issue | YES | YES | YES |
33
+ | Delete issue | YES | NO | YES |
34
+ | Comments (full CRUD) | YES | Partial | Partial |
35
+ | **Smart transition (AI auto-fill)** | **YES** | NO | NO |
36
+ | Attachments (get/add/delete) | YES | NO | NO |
37
+ | Issue links (full CRUD) | YES | NO | Partial |
38
+ | Worklogs (full CRUD) | YES | Partial | Partial |
39
+ | **Watchers (get/add/remove)** | **YES** | NO | NO |
40
+ | **Subtasks (get/create)** | **YES** | NO | NO |
41
+ | **Labels (get/add/remove)** | **YES** | NO | NO |
42
+ | Agile boards & board issues | YES | NO | YES |
43
+ | Sprints (list/create/update) | YES | NO | YES |
44
+ | Sprint issues | YES | NO | YES |
45
+ | Batch create issues | YES | NO | YES |
46
+ | Dev status (PRs/branches/commits) | YES | NO | YES |
47
+ | Issue history | YES | NO | YES |
48
+ | Fields discovery | YES | NO | YES |
49
+ | User lookup by name/email | YES | YES | YES |
50
+ | Issue type metadata | YES | YES | NO |
51
+ | Version/release management | YES | NO | YES |
52
+ | Epic linking | YES | NO | YES |
53
+
54
+ ### Bitbucket
55
+
56
+ | Feature | Ours | Official Atlassian | sooperset |
57
+ |---|:---:|:---:|:---:|
58
+ | **Full Bitbucket support (16 tools)** | **YES** | NO | NO |
59
+
60
+ ### Key Differentiators
61
+
62
+ - **Only MCP server covering all 3 Atlassian products** — Confluence + Jira + Bitbucket
63
+ - **Deepest CRUD coverage** — update/delete on comments, worklogs, labels where competitors only do create/read
64
+ - **Smart Field Handling** — AI-driven field suggestions during Jira transitions, unique to this server
65
+ - **Image embedding** — Confluence image embedding with positioning control, unique to this server
66
+ - **84 total tools** vs ~45 (Official) and ~58 (sooperset)
7
67
 
8
68
  ## Features
9
69
 
10
- ### Confluence Integration (14 tools)
70
+ ### Confluence Integration (20 tools)
11
71
  - Search pages by text query
12
- - Get specific pages by ID
13
- - Create and update pages with content
72
+ - Get, create, update, and delete pages
14
73
  - List spaces and pages within spaces
74
+ - **Child Pages**: Get child pages of a parent page
75
+ - **Page History**: View version history of a page
15
76
  - **Attachments**: Add, list, and delete attachments
16
77
  - **Comments**: Full CRUD operations on page comments
17
- - **Images**: Embed images in page content
78
+ - **Labels**: Get, add, and remove labels on pages
79
+ - **Images**: Embed images in page content with positioning control
18
80
  - Full support for Confluence storage format
19
81
 
20
- ### Jira Integration (29 tools)
21
- - Search issues by text or JQL query
22
- - Get specific issues by key
23
- - Create and update issues with customizable fields
82
+ ### Jira Integration (48 tools)
83
+ - Search issues by text, filters, or JQL query
84
+ - Get, create, update, and delete issues
24
85
  - **Comments**: Full CRUD operations on issue comments
25
86
  - **Transitions**: Move issues between statuses with **Smart Field Handling**
26
87
  - **Attachments**: Add, list, and delete attachments
27
88
  - **Issue Links**: Create and manage links between issues
28
- - **Worklogs**: Track time spent on issues
89
+ - **Worklogs**: Full CRUD for time tracking entries
29
90
  - **Watchers**: Manage issue watchers
30
91
  - **Subtasks**: Create and list subtasks
31
92
  - **History**: View issue change history
32
- - List projects and issue types
93
+ - **Labels**: Get, add, and remove labels on issues
94
+ - **Fields**: Discover available standard and custom fields
95
+ - **Agile**: List boards, get board issues, manage sprints
96
+ - **Sprints**: Create, update, list sprint issues
97
+ - **Versions**: Get, create, and update project versions/releases
98
+ - **Batch Operations**: Bulk create up to 50 issues at once
99
+ - **Dev Status**: View linked PRs, branches, and commits
100
+ - **User Lookup**: Search users by name or email
101
+ - **Issue Types**: Get available issue types per project
102
+ - **Epic Linking**: Link issues to epics (next-gen + classic)
103
+ - List projects
33
104
 
34
105
  #### Smart Field Handling
35
106
  Advanced transition management with intelligent field suggestions:
@@ -38,12 +109,12 @@ Advanced transition management with intelligent field suggestions:
38
109
  - **Auto-Suggestions**: Provides context-aware suggestions with reasoning
39
110
  - **Enhanced Error Handling**: Returns detailed field information instead of cryptic errors
40
111
 
41
- ### Bitbucket Integration (11 tools)
112
+ ### Bitbucket Integration (16 tools)
42
113
  - List and search repositories
43
- - Get repository details
44
- - Create new repositories
114
+ - Get repository details and create new repositories
45
115
  - Manage branches and commits
46
116
  - **Pull Requests**: Create, list, and get PR details with diffs
117
+ - **PR Comments**: Full CRUD with resolve/unresolve support
47
118
  - Issue tracking within repositories
48
119
 
49
120
  ## Installation
@@ -121,7 +192,7 @@ ATLASSIAN_API_TOKEN=your-api-token
121
192
  4. Copy the token to your `.env` file
122
193
 
123
194
  #### Bitbucket API Token
124
- 1. Go to your Bitbucket settings → Personal access tokens
195
+ 1. Go to your Bitbucket settings > Personal access tokens
125
196
  2. Create a new API token with required scopes:
126
197
  - Repositories: Read, Write
127
198
  - Issues: Read, Write
@@ -216,34 +287,45 @@ Add the following to your Claude Desktop configuration file:
216
287
 
217
288
  ## Available Tools
218
289
 
219
- ### Confluence Tools (14 tools)
290
+ ### Confluence Tools (20 tools)
220
291
 
221
292
  | Tool | Description |
222
293
  |------|-------------|
223
294
  | `confluence_search_pages` | Search pages by text query |
224
295
  | `confluence_get_page` | Get specific page by ID |
225
- | `confluence_create_page` | Create new page with content |
296
+ | `confluence_create_page` | Create new page with content and optional inline images |
226
297
  | `confluence_update_page` | Update existing page |
298
+ | `confluence_delete_page` | Delete a page |
227
299
  | `confluence_get_spaces` | List all spaces |
228
300
  | `confluence_get_pages_by_space` | Get pages from specific space |
301
+ | `confluence_get_page_children` | Get child pages of a parent page |
302
+ | `confluence_get_page_history` | Get page version history |
229
303
  | `confluence_get_attachments` | List attachments on a page |
230
304
  | `confluence_add_attachment` | Add attachment to a page |
231
305
  | `confluence_delete_attachment` | Delete attachment from a page |
232
- | `confluence_embed_image` | Embed image in page content |
306
+ | `confluence_embed_image` | Embed image in page content with positioning |
233
307
  | `confluence_get_comments` | Get comments on a page |
234
308
  | `confluence_add_comment` | Add comment to a page |
235
309
  | `confluence_update_comment` | Update existing comment |
236
310
  | `confluence_delete_comment` | Delete comment from a page |
311
+ | `confluence_get_labels` | Get labels on a page |
312
+ | `confluence_add_labels` | Add labels to a page |
313
+ | `confluence_remove_label` | Remove a label from a page |
237
314
 
238
- ### Jira Tools (29 tools)
315
+ ### Jira Tools (48 tools)
239
316
 
240
317
  | Tool | Description |
241
318
  |------|-------------|
242
- | `jira_search_issues` | Search issues by text or JQL |
319
+ | **Core** | |
320
+ | `jira_search_issues` | Search issues by text, filters, or JQL |
243
321
  | `jira_get_issue` | Get specific issue by key |
244
- | `jira_create_issue` | Create new issue |
322
+ | `jira_create_issue` | Create new issue with custom fields |
245
323
  | `jira_update_issue` | Update existing issue |
324
+ | `jira_delete_issue` | Delete issue with optional subtask deletion |
246
325
  | `jira_get_projects` | List all projects |
326
+ | `jira_get_issue_types` | Get available issue types for a project |
327
+ | `jira_get_fields` | Discover available standard and custom fields |
328
+ | `jira_lookup_user` | Look up users by name or email |
247
329
  | **Comments** | |
248
330
  | `jira_add_comment` | Add comment to issue |
249
331
  | `jira_get_comments` | Get comments on an issue |
@@ -251,7 +333,7 @@ Add the following to your Claude Desktop configuration file:
251
333
  | `jira_delete_comment` | Delete comment from issue |
252
334
  | **Transitions** | |
253
335
  | `jira_get_issue_transitions` | Get available transitions |
254
- | `jira_transition_issue` | Change issue status (basic) |
336
+ | `jira_transition_issue` | Change issue status |
255
337
  | `jira_transition_issue_interactive` | Change status with smart field handling |
256
338
  | **Attachments** | |
257
339
  | `jira_get_attachments` | List attachments on an issue |
@@ -271,12 +353,33 @@ Add the following to your Claude Desktop configuration file:
271
353
  | `jira_get_watchers` | Get issue watchers |
272
354
  | `jira_add_watcher` | Add watcher to issue |
273
355
  | `jira_remove_watcher` | Remove watcher from issue |
274
- | **Subtasks & History** | |
356
+ | **Subtasks** | |
275
357
  | `jira_get_subtasks` | Get subtasks of an issue |
276
358
  | `jira_create_subtask` | Create subtask for an issue |
359
+ | **Labels** | |
360
+ | `jira_get_labels` | Get available labels |
361
+ | `jira_add_labels` | Add labels to an issue |
362
+ | `jira_remove_labels` | Remove labels from an issue |
363
+ | **History** | |
277
364
  | `jira_get_issue_history` | Get issue change history |
278
-
279
- ### Bitbucket Tools (11 tools)
365
+ | **Agile / Sprints** | |
366
+ | `jira_get_agile_boards` | List agile boards with optional filters |
367
+ | `jira_get_board_issues` | Get issues on a board |
368
+ | `jira_get_sprints` | Get sprints for a board |
369
+ | `jira_get_sprint_issues` | Get issues in a sprint |
370
+ | `jira_create_sprint` | Create a new sprint |
371
+ | `jira_update_sprint` | Update sprint (name, state, dates, goal) |
372
+ | **Versions / Releases** | |
373
+ | `jira_get_project_versions` | Get all versions for a project |
374
+ | `jira_create_version` | Create a new version/release |
375
+ | `jira_update_version` | Update version (release, archive, dates) |
376
+ | **Batch & Dev** | |
377
+ | `jira_batch_create_issues` | Bulk create up to 50 issues |
378
+ | `jira_get_dev_status` | Get linked PRs, branches, commits |
379
+ | **Epic** | |
380
+ | `jira_link_to_epic` | Link an issue to an epic |
381
+
382
+ ### Bitbucket Tools (16 tools)
280
383
 
281
384
  | Tool | Description |
282
385
  |------|-------------|
@@ -290,6 +393,12 @@ Add the following to your Claude Desktop configuration file:
290
393
  | `bitbucket_get_commits` | List commits |
291
394
  | `bitbucket_get_issues` | List repository issues |
292
395
  | `bitbucket_create_issue` | Create new issue |
396
+ | `bitbucket_get_pr_comments` | Get PR comments |
397
+ | `bitbucket_add_pr_comment` | Add comment to a PR |
398
+ | `bitbucket_update_pr_comment` | Update PR comment |
399
+ | `bitbucket_delete_pr_comment` | Delete PR comment |
400
+ | `bitbucket_resolve_pr_comment` | Resolve a PR comment |
401
+ | `bitbucket_unresolve_pr_comment` | Unresolve a PR comment |
293
402
 
294
403
  ## Example Usage with AI Assistant
295
404
 
@@ -308,6 +417,12 @@ AI: Uses jira_transition_issue_interactive which automatically:
308
417
 
309
418
  User: "What pull requests are open in my main repository?"
310
419
  AI: Uses bitbucket_get_pull_requests with your repository name
420
+
421
+ User: "Create 10 issues for the sprint backlog"
422
+ AI: Uses jira_batch_create_issues to create all at once
423
+
424
+ User: "Show me the active sprint and its issues"
425
+ AI: Uses jira_get_sprints then jira_get_sprint_issues
311
426
  ```
312
427
 
313
428
  ### Smart Field Handling Examples
@@ -329,16 +444,29 @@ Smart Suggestion: DB Script = "Yes" (New features typically need database change
329
444
  ### Project Structure
330
445
  ```
331
446
  src/
332
- ├── index.ts # Main MCP server
333
- ├── types.ts # TypeScript interfaces
334
- ├── config.ts # Configuration management
335
- ├── confluence-client.ts # Confluence API client
336
- ├── jira-client.ts # Jira API client
337
- ├── bitbucket-client.ts # Bitbucket API client
338
- └── services/
339
- ├── confluence.ts # Confluence API service
340
- ├── jira.ts # Jira API service (with smart field handling)
341
- └── bitbucket.ts # Bitbucket API service
447
+ ├── index.ts # Main MCP server & tool routing
448
+ ├── types.ts # TypeScript interfaces
449
+ ├── config.ts # Configuration management
450
+ ├── constants.ts # Application-wide constants
451
+ ├── error-handler.ts # Structured error handling
452
+ ├── clients/
453
+ │ ├── base-client.ts # Base HTTP client
454
+ │ ├── confluence-client.ts
455
+ │ ├── jira-client.ts
456
+ │ └── bitbucket-client.ts
457
+ ├── services/
458
+ │ ├── confluence.ts # Confluence API service
459
+ │ ├── jira.ts # Jira API service (with smart field handling)
460
+ │ └── bitbucket.ts # Bitbucket API service
461
+ ├── tools/
462
+ │ ├── index.ts # Tool aggregation
463
+ │ ├── confluence-tools.ts # Confluence tool definitions
464
+ │ ├── jira-tools.ts # Jira tool definitions
465
+ │ └── bitbucket-tools.ts # Bitbucket tool definitions
466
+ └── handlers/
467
+ ├── confluence-handlers.ts
468
+ ├── jira-handlers.ts
469
+ └── bitbucket-handlers.ts
342
470
  ```
343
471
 
344
472
  ### Building and Testing
@@ -369,6 +497,7 @@ The server includes comprehensive error handling:
369
497
  - Network connectivity issues
370
498
  - Invalid parameters
371
499
  - Resource not found errors
500
+ - Actionable tips for common issues
372
501
 
373
502
  ## Rate Limiting
374
503
 
@@ -393,4 +522,4 @@ MIT License - see LICENSE file for details
393
522
 
394
523
  - **npm package**: [@jagadeesh52423/atlassian-mcp-server](https://www.npmjs.com/package/@jagadeesh52423/atlassian-mcp-server)
395
524
  - **Issues & Feature Requests**: [GitHub Issues](https://github.com/jagadeeshpulamarasetti/atlassian-mcp-server/issues)
396
- - **Source Code**: [GitHub Repository](https://github.com/jagadeeshpulamarasetti/atlassian-mcp-server)
525
+ - **Source Code**: [GitHub Repository](https://github.com/jagadeeshpulamarasetti/atlassian-mcp-server)
@@ -3,11 +3,24 @@
3
3
  * Handles conversion between plain text/markdown and ADF format used by Jira API v3
4
4
  */
5
5
  /**
6
- * Extracts plain text from ADF (Atlassian Document Format) body
6
+ * Extracts plain text from ADF (Atlassian Document Format) body.
7
+ * Follows sooperset's recursive '\n'-joining approach.
7
8
  */
8
9
  export declare function extractTextFromADF(body: any): string;
9
10
  /**
10
- * Formats wiki markup to cleaner text
11
+ * Formats wiki markup to cleaner markdown text.
12
+ *
13
+ * Handles (in order):
14
+ * - {code} / {noformat} blocks → fenced code (extracted as placeholders first
15
+ * so their contents are never touched by later transforms)
16
+ * - Wiki tables ||h|| → markdown tables (pre-pass)
17
+ * - {quote} → > blockquote
18
+ * - {note}/{warning}/{info}/{tip}→ labelled blockquote
19
+ * - [text|url] / [~user] / [url] → markdown links / @mention / bare URL
20
+ * - \\ → newline
21
+ * - # item / ## item → 1. / nested ordered list (wiki list syntax)
22
+ * - h1. … h6. → # … ###### (must come AFTER list conversion)
23
+ * - ---- / {panel} / {color} / checkboxes (existing)
11
24
  */
12
25
  export declare function formatWikiMarkup(text: string): string;
13
26
  /**
@@ -22,4 +35,19 @@ export declare function parseDescriptionToADF(description: string): any;
22
35
  * Convert description to wiki markup text format
23
36
  */
24
37
  export declare function parseDescriptionToWikiMarkup(description: string): string;
38
+ /**
39
+ * Converts LLM-produced markdown to Confluence storage format (XHTML).
40
+ * If the input already looks like storage format it is returned unchanged.
41
+ *
42
+ * Supported elements:
43
+ * - ATX headings (#–######)
44
+ * - Fenced code blocks (``` lang … ```) → ac:structured-macro "code"
45
+ * - Blockquotes (> …)
46
+ * - Unordered lists (- / * / +)
47
+ * - Ordered lists (1. …)
48
+ * - Markdown tables
49
+ * - Horizontal rules (---, ***, ___)
50
+ * - Inline: **bold**, *italic*, ~~strike~~, `code`, [text](url)
51
+ */
52
+ export declare function markdownToConfluenceStorage(markdown: string): string;
25
53
  //# sourceMappingURL=adf-formatter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"adf-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/adf-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAqGpD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqBrD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAmHzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAgT9D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6FxE"}
1
+ {"version":3,"file":"adf-formatter.d.ts","sourceRoot":"","sources":["../../src/formatters/adf-formatter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAmHH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,CAKpD;AAqDD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAqErD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAoHzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG,CAsT9D;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CA6HxE;AA0DD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA2HpE"}