@padua/cli 1.13.1 → 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 (265) hide show
  1. package/README.md +121 -6
  2. package/dist/commands/doctor/index.d.ts.map +1 -1
  3. package/dist/commands/doctor/index.js +85 -0
  4. package/dist/commands/doctor/index.js.map +1 -1
  5. package/dist/commands/doctor/mcp-checks.d.ts +36 -0
  6. package/dist/commands/doctor/mcp-checks.d.ts.map +1 -0
  7. package/dist/commands/doctor/mcp-checks.js +235 -0
  8. package/dist/commands/doctor/mcp-checks.js.map +1 -0
  9. package/dist/commands/doctor/mcp-service-checks.d.ts +35 -0
  10. package/dist/commands/doctor/mcp-service-checks.d.ts.map +1 -0
  11. package/dist/commands/doctor/mcp-service-checks.js +146 -0
  12. package/dist/commands/doctor/mcp-service-checks.js.map +1 -0
  13. package/dist/commands/doctor/types.d.ts +4 -1
  14. package/dist/commands/doctor/types.d.ts.map +1 -1
  15. package/dist/commands/doctor/types.js +1 -0
  16. package/dist/commands/doctor/types.js.map +1 -1
  17. package/dist/commands/login/index.d.ts +1 -1
  18. package/dist/commands/login/index.d.ts.map +1 -1
  19. package/dist/commands/login/index.js +44 -185
  20. package/dist/commands/login/index.js.map +1 -1
  21. package/dist/commands/login/mcp-steps.d.ts +38 -0
  22. package/dist/commands/login/mcp-steps.d.ts.map +1 -0
  23. package/dist/commands/login/mcp-steps.js +176 -0
  24. package/dist/commands/login/mcp-steps.js.map +1 -0
  25. package/dist/commands/login/orchestrator.d.ts +9 -0
  26. package/dist/commands/login/orchestrator.d.ts.map +1 -0
  27. package/dist/commands/login/orchestrator.js +251 -0
  28. package/dist/commands/login/orchestrator.js.map +1 -0
  29. package/dist/commands/login/types.d.ts +11 -0
  30. package/dist/commands/login/types.d.ts.map +1 -1
  31. package/dist/commands/login/types.js.map +1 -1
  32. package/dist/commands/status/aws-checks.d.ts +14 -0
  33. package/dist/commands/status/aws-checks.d.ts.map +1 -0
  34. package/dist/commands/status/aws-checks.js +145 -0
  35. package/dist/commands/status/aws-checks.js.map +1 -0
  36. package/dist/commands/status/checks.d.ts +9 -25
  37. package/dist/commands/status/checks.d.ts.map +1 -1
  38. package/dist/commands/status/checks.js +52 -254
  39. package/dist/commands/status/checks.js.map +1 -1
  40. package/dist/commands/status/index.d.ts.map +1 -1
  41. package/dist/commands/status/index.js +53 -1
  42. package/dist/commands/status/index.js.map +1 -1
  43. package/dist/commands/status/mcp-checks.d.ts +35 -0
  44. package/dist/commands/status/mcp-checks.d.ts.map +1 -0
  45. package/dist/commands/status/mcp-checks.js +175 -0
  46. package/dist/commands/status/mcp-checks.js.map +1 -0
  47. package/dist/commands/status/types.d.ts +34 -0
  48. package/dist/commands/status/types.d.ts.map +1 -1
  49. package/dist/mcp/config/index.d.ts +4 -0
  50. package/dist/mcp/config/index.d.ts.map +1 -0
  51. package/dist/mcp/config/index.js +14 -0
  52. package/dist/mcp/config/index.js.map +1 -0
  53. package/dist/mcp/config/loaders.d.ts +45 -0
  54. package/dist/mcp/config/loaders.d.ts.map +1 -0
  55. package/dist/mcp/config/loaders.js +149 -0
  56. package/dist/mcp/config/loaders.js.map +1 -0
  57. package/dist/mcp/config/types.d.ts +234 -0
  58. package/dist/mcp/config/types.d.ts.map +1 -0
  59. package/dist/mcp/config/types.js +45 -0
  60. package/dist/mcp/config/types.js.map +1 -0
  61. package/dist/mcp/daemon/entry-logic.d.ts +28 -0
  62. package/dist/mcp/daemon/entry-logic.d.ts.map +1 -0
  63. package/dist/mcp/daemon/entry-logic.js +82 -0
  64. package/dist/mcp/daemon/entry-logic.js.map +1 -0
  65. package/dist/mcp/daemon/entry.d.ts +8 -0
  66. package/dist/mcp/daemon/entry.d.ts.map +1 -0
  67. package/dist/mcp/daemon/entry.js +34 -0
  68. package/dist/mcp/daemon/entry.js.map +1 -0
  69. package/dist/mcp/daemon/fork.d.ts +21 -0
  70. package/dist/mcp/daemon/fork.d.ts.map +1 -0
  71. package/dist/mcp/daemon/fork.js +188 -0
  72. package/dist/mcp/daemon/fork.js.map +1 -0
  73. package/dist/mcp/daemon/health.d.ts +8 -0
  74. package/dist/mcp/daemon/health.d.ts.map +1 -0
  75. package/dist/mcp/daemon/health.js +50 -0
  76. package/dist/mcp/daemon/health.js.map +1 -0
  77. package/dist/mcp/daemon/index.d.ts +6 -0
  78. package/dist/mcp/daemon/index.d.ts.map +1 -0
  79. package/dist/mcp/daemon/index.js +22 -0
  80. package/dist/mcp/daemon/index.js.map +1 -0
  81. package/dist/mcp/daemon/types.d.ts +63 -0
  82. package/dist/mcp/daemon/types.d.ts.map +1 -0
  83. package/dist/mcp/daemon/types.js +18 -0
  84. package/dist/mcp/daemon/types.js.map +1 -0
  85. package/dist/mcp/errors/index.d.ts +3 -0
  86. package/dist/mcp/errors/index.d.ts.map +1 -0
  87. package/dist/mcp/errors/index.js +13 -0
  88. package/dist/mcp/errors/index.js.map +1 -0
  89. package/dist/mcp/errors/types.d.ts +83 -0
  90. package/dist/mcp/errors/types.d.ts.map +1 -0
  91. package/dist/mcp/errors/types.js +148 -0
  92. package/dist/mcp/errors/types.js.map +1 -0
  93. package/dist/mcp/providers/atlassian/auth.d.ts +34 -0
  94. package/dist/mcp/providers/atlassian/auth.d.ts.map +1 -0
  95. package/dist/mcp/providers/atlassian/auth.js +107 -0
  96. package/dist/mcp/providers/atlassian/auth.js.map +1 -0
  97. package/dist/mcp/providers/atlassian/client.d.ts +15 -0
  98. package/dist/mcp/providers/atlassian/client.d.ts.map +1 -0
  99. package/dist/mcp/providers/atlassian/client.js +38 -0
  100. package/dist/mcp/providers/atlassian/client.js.map +1 -0
  101. package/dist/mcp/providers/atlassian/index.d.ts +6 -0
  102. package/dist/mcp/providers/atlassian/index.d.ts.map +1 -0
  103. package/dist/mcp/providers/atlassian/index.js +11 -0
  104. package/dist/mcp/providers/atlassian/index.js.map +1 -0
  105. package/dist/mcp/providers/atlassian/markdown-to-adf/index.d.ts +17 -0
  106. package/dist/mcp/providers/atlassian/markdown-to-adf/index.d.ts.map +1 -0
  107. package/dist/mcp/providers/atlassian/markdown-to-adf/index.js +29 -0
  108. package/dist/mcp/providers/atlassian/markdown-to-adf/index.js.map +1 -0
  109. package/dist/mcp/providers/atlassian/markdown-to-adf/nodes.d.ts +43 -0
  110. package/dist/mcp/providers/atlassian/markdown-to-adf/nodes.d.ts.map +1 -0
  111. package/dist/mcp/providers/atlassian/markdown-to-adf/nodes.js +101 -0
  112. package/dist/mcp/providers/atlassian/markdown-to-adf/nodes.js.map +1 -0
  113. package/dist/mcp/providers/atlassian/markdown-to-adf/parser.d.ts +14 -0
  114. package/dist/mcp/providers/atlassian/markdown-to-adf/parser.d.ts.map +1 -0
  115. package/dist/mcp/providers/atlassian/markdown-to-adf/parser.js +250 -0
  116. package/dist/mcp/providers/atlassian/markdown-to-adf/parser.js.map +1 -0
  117. package/dist/mcp/providers/atlassian/provider.d.ts +38 -0
  118. package/dist/mcp/providers/atlassian/provider.d.ts.map +1 -0
  119. package/dist/mcp/providers/atlassian/provider.js +101 -0
  120. package/dist/mcp/providers/atlassian/provider.js.map +1 -0
  121. package/dist/mcp/providers/atlassian/resources.d.ts +4 -0
  122. package/dist/mcp/providers/atlassian/resources.d.ts.map +1 -0
  123. package/dist/mcp/providers/atlassian/resources.js +67 -0
  124. package/dist/mcp/providers/atlassian/resources.js.map +1 -0
  125. package/dist/mcp/providers/atlassian/tools/confluence.d.ts +4 -0
  126. package/dist/mcp/providers/atlassian/tools/confluence.d.ts.map +1 -0
  127. package/dist/mcp/providers/atlassian/tools/confluence.js +169 -0
  128. package/dist/mcp/providers/atlassian/tools/confluence.js.map +1 -0
  129. package/dist/mcp/providers/atlassian/tools/jira.d.ts +4 -0
  130. package/dist/mcp/providers/atlassian/tools/jira.d.ts.map +1 -0
  131. package/dist/mcp/providers/atlassian/tools/jira.js +274 -0
  132. package/dist/mcp/providers/atlassian/tools/jira.js.map +1 -0
  133. package/dist/mcp/providers/gitlab/auth.d.ts +10 -0
  134. package/dist/mcp/providers/gitlab/auth.d.ts.map +1 -0
  135. package/dist/mcp/providers/gitlab/auth.js +23 -0
  136. package/dist/mcp/providers/gitlab/auth.js.map +1 -0
  137. package/dist/mcp/providers/gitlab/client.d.ts +23 -0
  138. package/dist/mcp/providers/gitlab/client.d.ts.map +1 -0
  139. package/dist/mcp/providers/gitlab/client.js +17 -0
  140. package/dist/mcp/providers/gitlab/client.js.map +1 -0
  141. package/dist/mcp/providers/gitlab/index.d.ts +5 -0
  142. package/dist/mcp/providers/gitlab/index.d.ts.map +1 -0
  143. package/dist/mcp/providers/gitlab/index.js +10 -0
  144. package/dist/mcp/providers/gitlab/index.js.map +1 -0
  145. package/dist/mcp/providers/gitlab/provider.d.ts +25 -0
  146. package/dist/mcp/providers/gitlab/provider.d.ts.map +1 -0
  147. package/dist/mcp/providers/gitlab/provider.js +48 -0
  148. package/dist/mcp/providers/gitlab/provider.js.map +1 -0
  149. package/dist/mcp/providers/gitlab/resources.d.ts +11 -0
  150. package/dist/mcp/providers/gitlab/resources.d.ts.map +1 -0
  151. package/dist/mcp/providers/gitlab/resources.js +54 -0
  152. package/dist/mcp/providers/gitlab/resources.js.map +1 -0
  153. package/dist/mcp/providers/gitlab/tools/issues.d.ts +4 -0
  154. package/dist/mcp/providers/gitlab/tools/issues.d.ts.map +1 -0
  155. package/dist/mcp/providers/gitlab/tools/issues.js +120 -0
  156. package/dist/mcp/providers/gitlab/tools/issues.js.map +1 -0
  157. package/dist/mcp/providers/gitlab/tools/merge-requests.d.ts +11 -0
  158. package/dist/mcp/providers/gitlab/tools/merge-requests.d.ts.map +1 -0
  159. package/dist/mcp/providers/gitlab/tools/merge-requests.js +282 -0
  160. package/dist/mcp/providers/gitlab/tools/merge-requests.js.map +1 -0
  161. package/dist/mcp/providers/gitlab/tools/pipelines.d.ts +10 -0
  162. package/dist/mcp/providers/gitlab/tools/pipelines.d.ts.map +1 -0
  163. package/dist/mcp/providers/gitlab/tools/pipelines.js +173 -0
  164. package/dist/mcp/providers/gitlab/tools/pipelines.js.map +1 -0
  165. package/dist/mcp/providers/gitlab/tools/repository.d.ts +4 -0
  166. package/dist/mcp/providers/gitlab/tools/repository.d.ts.map +1 -0
  167. package/dist/mcp/providers/gitlab/tools/repository.js +191 -0
  168. package/dist/mcp/providers/gitlab/tools/repository.js.map +1 -0
  169. package/dist/mcp/providers/index.d.ts +4 -0
  170. package/dist/mcp/providers/index.d.ts.map +1 -0
  171. package/dist/mcp/providers/index.js +6 -0
  172. package/dist/mcp/providers/index.js.map +1 -0
  173. package/dist/mcp/providers/registry.d.ts +90 -0
  174. package/dist/mcp/providers/registry.d.ts.map +1 -0
  175. package/dist/mcp/providers/registry.js +128 -0
  176. package/dist/mcp/providers/registry.js.map +1 -0
  177. package/dist/mcp/providers/tool-helpers.d.ts +14 -0
  178. package/dist/mcp/providers/tool-helpers.d.ts.map +1 -0
  179. package/dist/mcp/providers/tool-helpers.js +12 -0
  180. package/dist/mcp/providers/tool-helpers.js.map +1 -0
  181. package/dist/mcp/providers/types.d.ts +80 -0
  182. package/dist/mcp/providers/types.d.ts.map +1 -0
  183. package/dist/mcp/providers/types.js +13 -0
  184. package/dist/mcp/providers/types.js.map +1 -0
  185. package/dist/mcp/server/auth.d.ts +8 -0
  186. package/dist/mcp/server/auth.d.ts.map +1 -0
  187. package/dist/mcp/server/auth.js +36 -0
  188. package/dist/mcp/server/auth.js.map +1 -0
  189. package/dist/mcp/server/health.d.ts +24 -0
  190. package/dist/mcp/server/health.d.ts.map +1 -0
  191. package/dist/mcp/server/health.js +37 -0
  192. package/dist/mcp/server/health.js.map +1 -0
  193. package/dist/mcp/server/index.d.ts +11 -0
  194. package/dist/mcp/server/index.d.ts.map +1 -0
  195. package/dist/mcp/server/index.js +27 -0
  196. package/dist/mcp/server/index.js.map +1 -0
  197. package/dist/mcp/server/logging.d.ts +46 -0
  198. package/dist/mcp/server/logging.d.ts.map +1 -0
  199. package/dist/mcp/server/logging.js +109 -0
  200. package/dist/mcp/server/logging.js.map +1 -0
  201. package/dist/mcp/server/ratelimit.d.ts +3 -0
  202. package/dist/mcp/server/ratelimit.d.ts.map +1 -0
  203. package/dist/mcp/server/ratelimit.js +70 -0
  204. package/dist/mcp/server/ratelimit.js.map +1 -0
  205. package/dist/mcp/server/routes.d.ts +3 -0
  206. package/dist/mcp/server/routes.d.ts.map +1 -0
  207. package/dist/mcp/server/routes.js +8 -0
  208. package/dist/mcp/server/routes.js.map +1 -0
  209. package/dist/mcp/server/server.d.ts +21 -0
  210. package/dist/mcp/server/server.d.ts.map +1 -0
  211. package/dist/mcp/server/server.js +114 -0
  212. package/dist/mcp/server/server.js.map +1 -0
  213. package/dist/mcp/server/validation.d.ts +22 -0
  214. package/dist/mcp/server/validation.d.ts.map +1 -0
  215. package/dist/mcp/server/validation.js +32 -0
  216. package/dist/mcp/server/validation.js.map +1 -0
  217. package/dist/mcp/store/encrypt.d.ts +22 -0
  218. package/dist/mcp/store/encrypt.d.ts.map +1 -0
  219. package/dist/mcp/store/encrypt.js +66 -0
  220. package/dist/mcp/store/encrypt.js.map +1 -0
  221. package/dist/mcp/store/index.d.ts +12 -0
  222. package/dist/mcp/store/index.d.ts.map +1 -0
  223. package/dist/mcp/store/index.js +16 -0
  224. package/dist/mcp/store/index.js.map +1 -0
  225. package/dist/mcp/store/migrate.d.ts +70 -0
  226. package/dist/mcp/store/migrate.d.ts.map +1 -0
  227. package/dist/mcp/store/migrate.js +211 -0
  228. package/dist/mcp/store/migrate.js.map +1 -0
  229. package/dist/mcp/store/null-token-store.d.ts +22 -0
  230. package/dist/mcp/store/null-token-store.d.ts.map +1 -0
  231. package/dist/mcp/store/null-token-store.js +40 -0
  232. package/dist/mcp/store/null-token-store.js.map +1 -0
  233. package/dist/mcp/store/sqlite.d.ts +27 -0
  234. package/dist/mcp/store/sqlite.d.ts.map +1 -0
  235. package/dist/mcp/store/sqlite.js +100 -0
  236. package/dist/mcp/store/sqlite.js.map +1 -0
  237. package/dist/mcp/store/types.d.ts +183 -0
  238. package/dist/mcp/store/types.d.ts.map +1 -0
  239. package/dist/mcp/store/types.js +13 -0
  240. package/dist/mcp/store/types.js.map +1 -0
  241. package/dist/mcp/token/http-client.d.ts +3 -0
  242. package/dist/mcp/token/http-client.d.ts.map +1 -0
  243. package/dist/mcp/token/http-client.js +186 -0
  244. package/dist/mcp/token/http-client.js.map +1 -0
  245. package/dist/mcp/token/index.d.ts +5 -0
  246. package/dist/mcp/token/index.d.ts.map +1 -0
  247. package/dist/mcp/token/index.js +15 -0
  248. package/dist/mcp/token/index.js.map +1 -0
  249. package/dist/mcp/token/manager.d.ts +54 -0
  250. package/dist/mcp/token/manager.d.ts.map +1 -0
  251. package/dist/mcp/token/manager.js +194 -0
  252. package/dist/mcp/token/manager.js.map +1 -0
  253. package/dist/mcp/token/null-token-manager.d.ts +19 -0
  254. package/dist/mcp/token/null-token-manager.d.ts.map +1 -0
  255. package/dist/mcp/token/null-token-manager.js +50 -0
  256. package/dist/mcp/token/null-token-manager.js.map +1 -0
  257. package/dist/mcp/token/oauth.d.ts +44 -0
  258. package/dist/mcp/token/oauth.d.ts.map +1 -0
  259. package/dist/mcp/token/oauth.js +257 -0
  260. package/dist/mcp/token/oauth.js.map +1 -0
  261. package/dist/mcp/token/types.d.ts +81 -0
  262. package/dist/mcp/token/types.d.ts.map +1 -0
  263. package/dist/mcp/token/types.js +6 -0
  264. package/dist/mcp/token/types.js.map +1 -0
  265. package/package.json +10 -3
@@ -0,0 +1,250 @@
1
+ "use strict";
2
+ /**
3
+ * Block-level and inline markdown parsers.
4
+ *
5
+ * parseBlocks: Walks lines top-down, dispatching to individual block parsers.
6
+ * parseInline: Position-based scanner that handles nested inline marks.
7
+ *
8
+ * Each parser returns the ADF node(s) produced and the number of lines consumed,
9
+ * making it easy for parseBlocks to advance the cursor correctly.
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.parseBlocks = parseBlocks;
46
+ exports.parseInline = parseInline;
47
+ const n = __importStar(require("./nodes"));
48
+ // ---------------------------------------------------------------------------
49
+ // Individual block parsers
50
+ // ---------------------------------------------------------------------------
51
+ function parseFencedCode(lines, i) {
52
+ const match = lines[i].match(/^```(\w*)\s*$/);
53
+ if (!match)
54
+ return { node: null, linesConsumed: 0 };
55
+ const language = match[1] || null;
56
+ const bodyLines = [];
57
+ let j = i + 1;
58
+ while (j < lines.length && !lines[j].match(/^```\s*$/)) {
59
+ bodyLines.push(lines[j]);
60
+ j++;
61
+ }
62
+ const content = [n.text(bodyLines.join('\n'))];
63
+ return { node: n.codeBlock(language, content), linesConsumed: j - i + 1 };
64
+ }
65
+ function parseHeading(line) {
66
+ const match = line.match(/^(#{1,6})\s+(.+)/);
67
+ if (!match)
68
+ return { node: null, linesConsumed: 0 };
69
+ const level = match[1].length;
70
+ return { node: n.heading(level, parseInline(match[2])), linesConsumed: 1 };
71
+ }
72
+ function parseBlockquote(lines, i) {
73
+ const collected = [];
74
+ let j = i;
75
+ while (j < lines.length && lines[j].match(/^>\s?/)) {
76
+ collected.push(lines[j].replace(/^>\s?/, ''));
77
+ j++;
78
+ }
79
+ if (collected.length === 0)
80
+ return { node: null, linesConsumed: 0 };
81
+ const inner = n.paragraph(parseInline(collected.join('\n')));
82
+ return { node: n.blockquote([inner]), linesConsumed: j - i };
83
+ }
84
+ function parseBulletList(lines, i) {
85
+ const items = [];
86
+ let j = i;
87
+ while (j < lines.length && lines[j].match(/^[-*+]\s+/)) {
88
+ const itemText = lines[j].replace(/^[-*+]\s+/, '');
89
+ items.push(n.listItem([n.paragraph(parseInline(itemText))]));
90
+ j++;
91
+ }
92
+ if (items.length === 0)
93
+ return { node: null, linesConsumed: 0 };
94
+ return { node: n.bulletList(items), linesConsumed: j - i };
95
+ }
96
+ function parseOrderedList(lines, i) {
97
+ const items = [];
98
+ let j = i;
99
+ while (j < lines.length && lines[j].match(/^\d+\.\s+/)) {
100
+ const itemText = lines[j].replace(/^\d+\.\s+/, '');
101
+ items.push(n.listItem([n.paragraph(parseInline(itemText))]));
102
+ j++;
103
+ }
104
+ if (items.length === 0)
105
+ return { node: null, linesConsumed: 0 };
106
+ return { node: n.orderedList(items), linesConsumed: j - i };
107
+ }
108
+ function parseTableRow(line, isHeader) {
109
+ const cells = line.replace(/^\||\|$/g, '').split('|').map((c) => c.trim());
110
+ const cellNodes = cells.map((cell) => {
111
+ const content = [n.paragraph(parseInline(cell))];
112
+ return isHeader ? n.tableHeader(content) : n.tableCell(content);
113
+ });
114
+ return n.tableRow(cellNodes);
115
+ }
116
+ function isTableSeparator(line) {
117
+ return /^\|[\s\-:|]+\|/.test(line);
118
+ }
119
+ function parseTable(lines, i) {
120
+ if (!lines[i].match(/^\|/))
121
+ return { node: null, linesConsumed: 0 };
122
+ const rows = [];
123
+ let j = i;
124
+ let isHeader = true;
125
+ while (j < lines.length && lines[j].match(/^\|/)) {
126
+ if (isTableSeparator(lines[j])) {
127
+ j++;
128
+ continue;
129
+ }
130
+ rows.push(parseTableRow(lines[j], isHeader));
131
+ isHeader = false;
132
+ j++;
133
+ }
134
+ if (rows.length === 0)
135
+ return { node: null, linesConsumed: 0 };
136
+ return { node: n.table(rows), linesConsumed: j - i };
137
+ }
138
+ // ---------------------------------------------------------------------------
139
+ // Top-level block dispatcher
140
+ // ---------------------------------------------------------------------------
141
+ function parseBlocks(markdown) {
142
+ const lines = markdown.split('\n');
143
+ const result = [];
144
+ let i = 0;
145
+ while (i < lines.length) {
146
+ const line = lines[i];
147
+ if (line.match(/^```/)) {
148
+ const r = parseFencedCode(lines, i);
149
+ if (r.node)
150
+ result.push(r.node);
151
+ i += r.linesConsumed || 1;
152
+ continue;
153
+ }
154
+ if (line.match(/^#{1,6}\s/)) {
155
+ const r = parseHeading(line);
156
+ if (r.node)
157
+ result.push(r.node);
158
+ i += r.linesConsumed || 1;
159
+ continue;
160
+ }
161
+ if (line.match(/^>\s?/)) {
162
+ const r = parseBlockquote(lines, i);
163
+ if (r.node)
164
+ result.push(r.node);
165
+ i += r.linesConsumed || 1;
166
+ continue;
167
+ }
168
+ if (line.match(/^[-*+]\s+/)) {
169
+ const r = parseBulletList(lines, i);
170
+ if (r.node)
171
+ result.push(r.node);
172
+ i += r.linesConsumed || 1;
173
+ continue;
174
+ }
175
+ if (line.match(/^\d+\.\s+/)) {
176
+ const r = parseOrderedList(lines, i);
177
+ if (r.node)
178
+ result.push(r.node);
179
+ i += r.linesConsumed || 1;
180
+ continue;
181
+ }
182
+ if (line.match(/^\|/)) {
183
+ const r = parseTable(lines, i);
184
+ if (r.node)
185
+ result.push(r.node);
186
+ i += r.linesConsumed || 1;
187
+ continue;
188
+ }
189
+ if (line.trim() === '') {
190
+ i++;
191
+ continue;
192
+ }
193
+ result.push(n.paragraph(parseInline(line)));
194
+ i++;
195
+ }
196
+ return result;
197
+ }
198
+ function buildInlinePatterns() {
199
+ return [
200
+ {
201
+ regex: /\[([^\]]+)\]\(([^)]+)\)/,
202
+ build: (m) => [n.text(m[1], [n.link(m[2])])],
203
+ },
204
+ {
205
+ regex: /`([^`]+)`/,
206
+ build: (m) => [n.text(m[1], [n.code()])],
207
+ },
208
+ {
209
+ regex: /\*{3}([^*]+)\*{3}|_{3}([^_]+)_{3}/,
210
+ build: (m) => [n.text(m[1] ?? m[2], [n.strong(), n.em()])],
211
+ },
212
+ {
213
+ regex: /\*{2}([^*]+)\*{2}|_{2}([^_]+)_{2}/,
214
+ build: (m) => [n.text(m[1] ?? m[2], [n.strong()])],
215
+ },
216
+ {
217
+ regex: /\*([^*]+)\*|_([^_]+)_/,
218
+ build: (m) => [n.text(m[1] ?? m[2], [n.em()])],
219
+ },
220
+ {
221
+ regex: /~~([^~]+)~~/,
222
+ build: (m) => [n.text(m[1], [n.strike()])],
223
+ },
224
+ ];
225
+ }
226
+ const INLINE_PATTERNS = buildInlinePatterns();
227
+ function parseInline(input) {
228
+ if (!input)
229
+ return [];
230
+ let earliest = null;
231
+ for (const pattern of INLINE_PATTERNS) {
232
+ pattern.regex.lastIndex = 0;
233
+ const match = pattern.regex.exec(input);
234
+ if (match && (earliest === null || match.index < earliest.index)) {
235
+ earliest = { index: match.index, pattern, match };
236
+ }
237
+ }
238
+ if (!earliest)
239
+ return [n.text(input)];
240
+ const { index, pattern, match } = earliest;
241
+ const result = [];
242
+ if (index > 0)
243
+ result.push(n.text(input.slice(0, index)));
244
+ result.push(...pattern.build(match));
245
+ const after = input.slice(index + match[0].length);
246
+ if (after)
247
+ result.push(...parseInline(after));
248
+ return result;
249
+ }
250
+ //# sourceMappingURL=parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../../src/mcp/providers/atlassian/markdown-to-adf/parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Atlassian provider implementing the Provider interface.
3
+ *
4
+ * Owns OAuth lifecycle and Cloud ID resolution. Wires all 19 tools (11 Jira
5
+ * + 8 Confluence) and 4 resource templates via a deferred client pattern so
6
+ * that tool/resource registrations can happen before ready() resolves.
7
+ */
8
+ import type { Provider, ToolRegistrar } from '../types';
9
+ import type { AtlassianProviderConfig } from '../../config/types';
10
+ import type { TokenManager } from '../../token/types';
11
+ /**
12
+ * Atlassian provider.
13
+ *
14
+ * Resolves the Cloud ID on ready() then verifies the Jira API is reachable.
15
+ * Tools and resources are registered with a deferred client wrapper that
16
+ * forwards to the real AtlassianClient once ready() has resolved.
17
+ */
18
+ export declare class AtlassianProvider implements Provider {
19
+ readonly name = "atlassian";
20
+ private readonly tokenManager;
21
+ private cloudId;
22
+ private readonly clientRef;
23
+ constructor(_config: AtlassianProviderConfig, tokenManager: TokenManager);
24
+ registerTools(registrar: ToolRegistrar): void;
25
+ registerResources(registrar: ToolRegistrar): void;
26
+ /**
27
+ * Verify that:
28
+ * 1. A valid access token is available
29
+ * 2. The Atlassian Cloud ID is resolvable
30
+ * 3. The Jira API is reachable (/ex/jira/{cloudId}/rest/api/3/myself)
31
+ *
32
+ * On success, sets the real AtlassianClient so deferred wrappers resolve.
33
+ */
34
+ ready(): Promise<void>;
35
+ shutdown(): Promise<void>;
36
+ getCloudId(): string | null;
37
+ }
38
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/mcp/providers/atlassian/provider.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA2CtD;;;;;;GAMG;AACH,qBAAa,iBAAkB,YAAW,QAAQ;IAChD,QAAQ,CAAC,IAAI,eAAe;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwD;gBAGhF,OAAO,EAAE,uBAAuB,EAChC,YAAY,EAAE,YAAY;IAK5B,aAAa,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAM7C,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,IAAI;IAKjD;;;;;;;OAOG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBtB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAI/B,UAAU,IAAI,MAAM,GAAG,IAAI;CAG5B"}
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ /**
3
+ * Atlassian provider implementing the Provider interface.
4
+ *
5
+ * Owns OAuth lifecycle and Cloud ID resolution. Wires all 19 tools (11 Jira
6
+ * + 8 Confluence) and 4 resource templates via a deferred client pattern so
7
+ * that tool/resource registrations can happen before ready() resolves.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.AtlassianProvider = void 0;
11
+ const auth_1 = require("./auth");
12
+ const client_1 = require("./client");
13
+ const jira_1 = require("./tools/jira");
14
+ const confluence_1 = require("./tools/confluence");
15
+ const resources_1 = require("./resources");
16
+ const errors_1 = require("../../errors");
17
+ const PROVIDER = 'atlassian';
18
+ // ---------------------------------------------------------------------------
19
+ // Deferred client factory
20
+ // ---------------------------------------------------------------------------
21
+ /**
22
+ * Creates a deferred AtlassianClient whose methods delegate to the real client
23
+ * once it is assigned. Throws ProviderError if called before the real client
24
+ * is set (i.e., before ready() has resolved).
25
+ */
26
+ function createDeferredClient(ref) {
27
+ function ensureReady() {
28
+ if (!ref.client) {
29
+ throw new errors_1.ProviderError('Atlassian provider not ready — call ready() before making API requests', errors_1.ErrorCodes.CLOUD_ID_RESOLUTION_FAILED, PROVIDER);
30
+ }
31
+ return ref.client;
32
+ }
33
+ return {
34
+ jiraGet: (...args) => ensureReady().jiraGet(...args),
35
+ jiraPost: (...args) => ensureReady().jiraPost(...args),
36
+ jiraPut: (...args) => ensureReady().jiraPut(...args),
37
+ jiraDelete: (...args) => ensureReady().jiraDelete(...args),
38
+ confluenceGet: (...args) => ensureReady().confluenceGet(...args),
39
+ confluencePost: (...args) => ensureReady().confluencePost(...args),
40
+ confluencePut: (...args) => ensureReady().confluencePut(...args),
41
+ confluenceDelete: (...args) => ensureReady().confluenceDelete(...args),
42
+ jiraGetAllPages: (...args) => ensureReady().jiraGetAllPages(...args),
43
+ confluenceGetAllPages: (...args) => ensureReady().confluenceGetAllPages(...args),
44
+ };
45
+ }
46
+ // ---------------------------------------------------------------------------
47
+ // AtlassianProvider
48
+ // ---------------------------------------------------------------------------
49
+ /**
50
+ * Atlassian provider.
51
+ *
52
+ * Resolves the Cloud ID on ready() then verifies the Jira API is reachable.
53
+ * Tools and resources are registered with a deferred client wrapper that
54
+ * forwards to the real AtlassianClient once ready() has resolved.
55
+ */
56
+ class AtlassianProvider {
57
+ name = 'atlassian';
58
+ tokenManager;
59
+ cloudId = null;
60
+ clientRef = { client: null };
61
+ constructor(_config, tokenManager) {
62
+ this.tokenManager = tokenManager;
63
+ }
64
+ registerTools(registrar) {
65
+ const deferred = createDeferredClient(this.clientRef);
66
+ (0, jira_1.registerJiraTools)(deferred, registrar);
67
+ (0, confluence_1.registerConfluenceTools)(deferred, registrar);
68
+ }
69
+ registerResources(registrar) {
70
+ const deferred = createDeferredClient(this.clientRef);
71
+ (0, resources_1.registerAtlassianResources)(deferred, registrar);
72
+ }
73
+ /**
74
+ * Verify that:
75
+ * 1. A valid access token is available
76
+ * 2. The Atlassian Cloud ID is resolvable
77
+ * 3. The Jira API is reachable (/ex/jira/{cloudId}/rest/api/3/myself)
78
+ *
79
+ * On success, sets the real AtlassianClient so deferred wrappers resolve.
80
+ */
81
+ async ready() {
82
+ const accessToken = await this.tokenManager.getAccessToken();
83
+ const resource = await (0, auth_1.resolveCloudId)(accessToken);
84
+ this.cloudId = resource.id;
85
+ this.clientRef.client = (0, client_1.createAtlassianClient)(resource.id, this.tokenManager);
86
+ try {
87
+ await this.clientRef.client.jiraGet('/myself');
88
+ }
89
+ catch (err) {
90
+ throw new errors_1.ProviderError(`Jira API health check failed: ${err.message}`, errors_1.ErrorCodes.API_UNAUTHORIZED, PROVIDER);
91
+ }
92
+ }
93
+ async shutdown() {
94
+ this.tokenManager.shutdown();
95
+ }
96
+ getCloudId() {
97
+ return this.cloudId;
98
+ }
99
+ }
100
+ exports.AtlassianProvider = AtlassianProvider;
101
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../../src/mcp/providers/atlassian/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { AtlassianClient } from './client';
2
+ import type { ToolRegistrar } from '../types';
3
+ export declare function registerAtlassianResources(client: AtlassianClient, registrar: ToolRegistrar): void;
4
+ //# sourceMappingURL=resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../../../../src/mcp/providers/atlassian/resources.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAgF9C,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAKlG"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerAtlassianResources = registerAtlassianResources;
4
+ function toResourceResult(uri, data) {
5
+ return {
6
+ contents: [{ uri, text: JSON.stringify(data) }],
7
+ };
8
+ }
9
+ // ---------------------------------------------------------------------------
10
+ // Resource registrations
11
+ // ---------------------------------------------------------------------------
12
+ function registerJiraIssueResource(client, registrar) {
13
+ registrar.registerResource({
14
+ uriTemplate: 'atlassian://jira/issue/{issueKey}',
15
+ name: 'Jira Issue',
16
+ description: 'Get Jira issue details by issue key',
17
+ }, async (params) => {
18
+ const uri = `atlassian://jira/issue/${params.issueKey}`;
19
+ const response = await client.jiraGet(`/issue/${params.issueKey}`);
20
+ return toResourceResult(uri, response.body);
21
+ });
22
+ }
23
+ function registerJiraProjectResource(client, registrar) {
24
+ registrar.registerResource({
25
+ uriTemplate: 'atlassian://jira/project/{projectKey}',
26
+ name: 'Jira Project',
27
+ description: 'Get Jira project details by project key',
28
+ }, async (params) => {
29
+ const uri = `atlassian://jira/project/${params.projectKey}`;
30
+ const response = await client.jiraGet(`/project/${params.projectKey}`);
31
+ return toResourceResult(uri, response.body);
32
+ });
33
+ }
34
+ function registerConfluencePageResource(client, registrar) {
35
+ registrar.registerResource({
36
+ uriTemplate: 'atlassian://confluence/page/{pageId}',
37
+ name: 'Confluence Page',
38
+ description: 'Get Confluence page content by page ID',
39
+ }, async (params) => {
40
+ const uri = `atlassian://confluence/page/${params.pageId}`;
41
+ const response = await client.confluenceGet(`/content/${params.pageId}`, {
42
+ expand: 'body.storage,version',
43
+ });
44
+ return toResourceResult(uri, response.body);
45
+ });
46
+ }
47
+ function registerConfluenceSpaceResource(client, registrar) {
48
+ registrar.registerResource({
49
+ uriTemplate: 'atlassian://confluence/space/{spaceKey}',
50
+ name: 'Confluence Space',
51
+ description: 'Get Confluence space details by space key',
52
+ }, async (params) => {
53
+ const uri = `atlassian://confluence/space/${params.spaceKey}`;
54
+ const response = await client.confluenceGet(`/space/${params.spaceKey}`);
55
+ return toResourceResult(uri, response.body);
56
+ });
57
+ }
58
+ // ---------------------------------------------------------------------------
59
+ // Public export
60
+ // ---------------------------------------------------------------------------
61
+ function registerAtlassianResources(client, registrar) {
62
+ registerJiraIssueResource(client, registrar);
63
+ registerJiraProjectResource(client, registrar);
64
+ registerConfluencePageResource(client, registrar);
65
+ registerConfluenceSpaceResource(client, registrar);
66
+ }
67
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../../src/mcp/providers/atlassian/resources.ts"],"names":[],"mappings":";;AAiFA,gEAKC;AAjFD,SAAS,gBAAgB,CAAC,GAAW,EAAE,IAAa;IAClD,OAAO;QACL,QAAQ,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yBAAyB;AACzB,8EAA8E;AAE9E,SAAS,yBAAyB,CAAC,MAAuB,EAAE,SAAwB;IAClF,SAAS,CAAC,gBAAgB,CACxB;QACE,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,qCAAqC;KACnD,EACD,KAAK,EAAE,MAA4B,EAA8B,EAAE;QACjE,MAAM,GAAG,GAAG,0BAA0B,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnE,OAAO,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,MAAuB,EAAE,SAAwB;IACpF,SAAS,CAAC,gBAAgB,CACxB;QACE,WAAW,EAAE,uCAAuC;QACpD,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,yCAAyC;KACvD,EACD,KAAK,EAAE,MAA8B,EAA8B,EAAE;QACnE,MAAM,GAAG,GAAG,4BAA4B,MAAM,CAAC,UAAU,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,YAAY,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACvE,OAAO,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,8BAA8B,CAAC,MAAuB,EAAE,SAAwB;IACvF,SAAS,CAAC,gBAAgB,CACxB;QACE,WAAW,EAAE,sCAAsC;QACnD,IAAI,EAAE,iBAAiB;QACvB,WAAW,EAAE,wCAAwC;KACtD,EACD,KAAK,EAAE,MAA0B,EAA8B,EAAE;QAC/D,MAAM,GAAG,GAAG,+BAA+B,MAAM,CAAC,MAAM,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,YAAY,MAAM,CAAC,MAAM,EAAE,EAAE;YACvE,MAAM,EAAE,sBAAsB;SAC/B,CAAC,CAAC;QACH,OAAO,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CAAC,MAAuB,EAAE,SAAwB;IACxF,SAAS,CAAC,gBAAgB,CACxB;QACE,WAAW,EAAE,yCAAyC;QACtD,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,2CAA2C;KACzD,EACD,KAAK,EAAE,MAA4B,EAA8B,EAAE;QACjE,MAAM,GAAG,GAAG,gCAAgC,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,UAAU,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,OAAO,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAgB,0BAA0B,CAAC,MAAuB,EAAE,SAAwB;IAC1F,yBAAyB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7C,2BAA2B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC/C,8BAA8B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { AtlassianClient } from '../client';
2
+ import type { ToolRegistrar } from '../../types';
3
+ export declare function registerConfluenceTools(client: AtlassianClient, registrar: ToolRegistrar): void;
4
+ //# sourceMappingURL=confluence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confluence.d.ts","sourceRoot":"","sources":["../../../../../src/mcp/providers/atlassian/tools/confluence.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAgNjD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,GAAG,IAAI,CAS/F"}