@bubblelab/bubble-core 0.1.104 → 0.1.107

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 (35) hide show
  1. package/dist/bubble-bundle.d.ts +68 -24
  2. package/dist/bubble-factory.d.ts.map +1 -1
  3. package/dist/bubble-factory.js +4 -0
  4. package/dist/bubble-factory.js.map +1 -1
  5. package/dist/bubbles/service-bubble/confluence/confluence.d.ts +1957 -0
  6. package/dist/bubbles/service-bubble/confluence/confluence.d.ts.map +1 -0
  7. package/dist/bubbles/service-bubble/confluence/confluence.integration.flow.d.ts +35 -0
  8. package/dist/bubbles/service-bubble/confluence/confluence.integration.flow.d.ts.map +1 -0
  9. package/dist/bubbles/service-bubble/confluence/confluence.integration.flow.js +327 -0
  10. package/dist/bubbles/service-bubble/confluence/confluence.integration.flow.js.map +1 -0
  11. package/dist/bubbles/service-bubble/confluence/confluence.js +534 -0
  12. package/dist/bubbles/service-bubble/confluence/confluence.js.map +1 -0
  13. package/dist/bubbles/service-bubble/confluence/confluence.schema.d.ts +2435 -0
  14. package/dist/bubbles/service-bubble/confluence/confluence.schema.d.ts.map +1 -0
  15. package/dist/bubbles/service-bubble/confluence/confluence.schema.js +467 -0
  16. package/dist/bubbles/service-bubble/confluence/confluence.schema.js.map +1 -0
  17. package/dist/bubbles/service-bubble/confluence/confluence.utils.d.ts +49 -0
  18. package/dist/bubbles/service-bubble/confluence/confluence.utils.d.ts.map +1 -0
  19. package/dist/bubbles/service-bubble/confluence/confluence.utils.js +337 -0
  20. package/dist/bubbles/service-bubble/confluence/confluence.utils.js.map +1 -0
  21. package/dist/bubbles/service-bubble/confluence/index.d.ts +5 -0
  22. package/dist/bubbles/service-bubble/confluence/index.d.ts.map +1 -0
  23. package/dist/bubbles/service-bubble/confluence/index.js +5 -0
  24. package/dist/bubbles/service-bubble/confluence/index.js.map +1 -0
  25. package/dist/bubbles/service-bubble/google-drive.d.ts.map +1 -1
  26. package/dist/bubbles/service-bubble/google-drive.js +22 -2
  27. package/dist/bubbles/service-bubble/google-drive.js.map +1 -1
  28. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.js +6 -6
  29. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.js.map +1 -1
  30. package/dist/bubbles.json +1247 -8
  31. package/dist/index.d.ts +2 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/package.json +2 -2
@@ -0,0 +1,337 @@
1
+ /**
2
+ * Confluence Bubble Utilities
3
+ *
4
+ * Helper functions for the Confluence service integration.
5
+ */
6
+ /**
7
+ * Escapes HTML special characters to prevent invalid XHTML.
8
+ */
9
+ function escapeHtml(text) {
10
+ return text
11
+ .replace(/&/g, '&')
12
+ .replace(/</g, '&lt;')
13
+ .replace(/>/g, '&gt;')
14
+ .replace(/"/g, '&quot;');
15
+ }
16
+ /**
17
+ * Converts markdown text to Confluence storage format (XHTML-based).
18
+ *
19
+ * Confluence uses an XHTML-based storage format for page bodies.
20
+ * This function converts common markdown into the appropriate format.
21
+ * Works for both page bodies and comment bodies.
22
+ *
23
+ * Supported markdown:
24
+ * - **bold** or __bold__
25
+ * - *italic* or _italic_
26
+ * - `inline code`
27
+ * - [links](url)
28
+ * - # Headings (h1-h6)
29
+ * - - Bullet lists
30
+ * - 1. Numbered lists
31
+ * - > Blockquotes
32
+ * - ``` Code blocks ```
33
+ * - --- Horizontal rules
34
+ * - ~~strikethrough~~
35
+ * - | Tables |
36
+ *
37
+ * @param text - Markdown or plain text to convert
38
+ * @returns Confluence storage format XHTML string
39
+ */
40
+ export function markdownToConfluenceStorage(text) {
41
+ if (!text)
42
+ return '';
43
+ const lines = text.split(/\r?\n/);
44
+ const output = [];
45
+ let i = 0;
46
+ while (i < lines.length) {
47
+ const line = lines[i];
48
+ // Code block (```)
49
+ if (line.startsWith('```')) {
50
+ const codeLines = [];
51
+ i++;
52
+ while (i < lines.length && !lines[i].startsWith('```')) {
53
+ codeLines.push(lines[i]);
54
+ i++;
55
+ }
56
+ // Skip closing ``` if found
57
+ if (i < lines.length) {
58
+ i++;
59
+ }
60
+ // Use <pre> which works in both page bodies and comment bodies
61
+ // (ac:structured-macro is not supported in comments)
62
+ output.push(`<pre>${escapeHtml(codeLines.join('\n'))}</pre>`);
63
+ continue;
64
+ }
65
+ // Horizontal rule (---, ***, ___)
66
+ if (/^(-{3,}|\*{3,}|_{3,})$/.test(line.trim())) {
67
+ output.push('<hr />');
68
+ i++;
69
+ continue;
70
+ }
71
+ // Headings (# to ######)
72
+ const headingMatch = line.match(/^(#{1,6})\s+(.+)$/);
73
+ if (headingMatch) {
74
+ const level = headingMatch[1].length;
75
+ const headingText = processInlineMarkdown(headingMatch[2]);
76
+ output.push(`<h${level}>${headingText}</h${level}>`);
77
+ i++;
78
+ continue;
79
+ }
80
+ // Blockquote (>)
81
+ if (line.startsWith('>')) {
82
+ const quoteLines = [];
83
+ while (i < lines.length && lines[i].startsWith('>')) {
84
+ quoteLines.push(lines[i].replace(/^>\s?/, ''));
85
+ i++;
86
+ }
87
+ const quoteContent = quoteLines
88
+ .map((ql) => `<p>${processInlineMarkdown(ql)}</p>`)
89
+ .join('');
90
+ output.push(`<blockquote>${quoteContent}</blockquote>`);
91
+ continue;
92
+ }
93
+ // Markdown table
94
+ if (line.includes('|') && line.trim().startsWith('|')) {
95
+ const tableRows = [];
96
+ while (i < lines.length &&
97
+ lines[i].includes('|') &&
98
+ lines[i].trim().startsWith('|')) {
99
+ tableRows.push(lines[i]);
100
+ i++;
101
+ }
102
+ const tableHtml = convertMarkdownTable(tableRows);
103
+ if (tableHtml) {
104
+ output.push(tableHtml);
105
+ }
106
+ else {
107
+ // Fallback: render as plain paragraphs if table parsing fails
108
+ for (const row of tableRows) {
109
+ output.push(`<p>${processInlineMarkdown(row)}</p>`);
110
+ }
111
+ }
112
+ continue;
113
+ }
114
+ // Bullet list (- or *)
115
+ if (/^[-*]\s+/.test(line)) {
116
+ const items = [];
117
+ while (i < lines.length && /^[-*]\s+/.test(lines[i])) {
118
+ const itemText = lines[i].replace(/^[-*]\s+/, '');
119
+ items.push(`<li>${processInlineMarkdown(itemText)}</li>`);
120
+ i++;
121
+ }
122
+ output.push(`<ul>${items.join('')}</ul>`);
123
+ continue;
124
+ }
125
+ // Ordered list (1. 2. etc)
126
+ if (/^\d+\.\s+/.test(line)) {
127
+ const items = [];
128
+ while (i < lines.length && /^\d+\.\s+/.test(lines[i])) {
129
+ const itemText = lines[i].replace(/^\d+\.\s+/, '');
130
+ items.push(`<li>${processInlineMarkdown(itemText)}</li>`);
131
+ i++;
132
+ }
133
+ output.push(`<ol>${items.join('')}</ol>`);
134
+ continue;
135
+ }
136
+ // Empty line - skip
137
+ if (line.trim() === '') {
138
+ i++;
139
+ continue;
140
+ }
141
+ // Regular paragraph
142
+ output.push(`<p>${processInlineMarkdown(line)}</p>`);
143
+ i++;
144
+ }
145
+ return output.join('');
146
+ }
147
+ /**
148
+ * Converts markdown table rows into an HTML table.
149
+ * Returns null if the rows don't form a valid table.
150
+ */
151
+ function convertMarkdownTable(rows) {
152
+ if (rows.length < 2)
153
+ return null;
154
+ // Parse cells from a row: | cell1 | cell2 | → ['cell1', 'cell2']
155
+ const parseCells = (row) => {
156
+ return row
157
+ .replace(/^\|/, '')
158
+ .replace(/\|$/, '')
159
+ .split('|')
160
+ .map((cell) => cell.trim());
161
+ };
162
+ const headerCells = parseCells(rows[0]);
163
+ if (headerCells.length === 0)
164
+ return null;
165
+ // Check if row 2 is a separator (|---|---|)
166
+ const separatorRow = rows[1].trim();
167
+ const isSeparator = /^\|?[\s:]*-{2,}[\s:]*(\|[\s:]*-{2,}[\s:]*)*\|?$/.test(separatorRow);
168
+ const html = ['<table>'];
169
+ if (isSeparator) {
170
+ // Has header row
171
+ html.push('<thead><tr>');
172
+ for (const cell of headerCells) {
173
+ html.push(`<th>${processInlineMarkdown(cell)}</th>`);
174
+ }
175
+ html.push('</tr></thead>');
176
+ // Body rows start after separator
177
+ if (rows.length > 2) {
178
+ html.push('<tbody>');
179
+ for (let r = 2; r < rows.length; r++) {
180
+ const cells = parseCells(rows[r]);
181
+ html.push('<tr>');
182
+ for (let c = 0; c < headerCells.length; c++) {
183
+ html.push(`<td>${processInlineMarkdown(cells[c] || '')}</td>`);
184
+ }
185
+ html.push('</tr>');
186
+ }
187
+ html.push('</tbody>');
188
+ }
189
+ }
190
+ else {
191
+ // No separator — treat all rows as body
192
+ html.push('<tbody>');
193
+ for (const row of rows) {
194
+ const cells = parseCells(row);
195
+ html.push('<tr>');
196
+ for (const cell of cells) {
197
+ html.push(`<td>${processInlineMarkdown(cell)}</td>`);
198
+ }
199
+ html.push('</tr>');
200
+ }
201
+ html.push('</tbody>');
202
+ }
203
+ html.push('</table>');
204
+ return html.join('');
205
+ }
206
+ /**
207
+ * Process inline markdown formatting and return XHTML.
208
+ * Escapes raw HTML characters first, then applies markdown transformations.
209
+ */
210
+ function processInlineMarkdown(text) {
211
+ if (!text)
212
+ return '';
213
+ let result = text;
214
+ // Extract inline code spans first to protect them from further processing
215
+ const codeSpans = [];
216
+ result = result.replace(/`([^`]+)`/g, (_match, code) => {
217
+ const placeholder = `\x00CODE${codeSpans.length}\x00`;
218
+ codeSpans.push(`<code>${escapeHtml(code)}</code>`);
219
+ return placeholder;
220
+ });
221
+ // Escape HTML entities in the remaining text
222
+ result = escapeHtml(result);
223
+ // Links [text](url) — restore angle brackets in URLs
224
+ result = result.replace(/\[([^\]]+)\]\(([^)]+)\)/g, (_match, linkText, url) => {
225
+ const decodedUrl = url
226
+ .replace(/&amp;/g, '&')
227
+ .replace(/&lt;/g, '<')
228
+ .replace(/&gt;/g, '>');
229
+ return `<a href="${decodedUrl}">${linkText}</a>`;
230
+ });
231
+ // Bold **text** or __text__
232
+ result = result.replace(/\*\*([^*]+)\*\*/g, '<strong>$1</strong>');
233
+ result = result.replace(/__([^_]+)__/g, '<strong>$1</strong>');
234
+ // Strikethrough ~~text~~
235
+ result = result.replace(/~~([^~]+)~~/g, '<del>$1</del>');
236
+ // Italic *text* or _text_ (but not inside words for _)
237
+ result = result.replace(/\*([^*]+)\*/g, '<em>$1</em>');
238
+ result = result.replace(/(?<![a-zA-Z])_([^_]+)_(?![a-zA-Z])/g, '<em>$1</em>');
239
+ // Restore inline code spans
240
+ for (let idx = 0; idx < codeSpans.length; idx++) {
241
+ result = result.replace(`\x00CODE${idx}\x00`, codeSpans[idx]);
242
+ }
243
+ return result;
244
+ }
245
+ /**
246
+ * Converts Confluence storage format (XHTML) back to plain text.
247
+ *
248
+ * Strips HTML tags to produce readable plain text.
249
+ *
250
+ * @param storage - Storage format XHTML string
251
+ * @returns Plain text representation
252
+ */
253
+ export function storageToText(storage) {
254
+ if (!storage)
255
+ return '';
256
+ // Remove CDATA sections, extract content
257
+ let text = storage.replace(/<!\[CDATA\[([\s\S]*?)\]\]>/g, '$1');
258
+ // Replace <br> tags with newlines
259
+ text = text.replace(/<br\s*\/?>/gi, '\n');
260
+ // Replace block elements with newlines
261
+ text = text.replace(/<\/(p|h[1-6]|li|div|blockquote|tr)>/gi, '\n');
262
+ text = text.replace(/<(p|h[1-6]|li|div|blockquote|tr)[^>]*>/gi, '');
263
+ // Replace <hr> with ---
264
+ text = text.replace(/<hr\s*\/?>/gi, '---\n');
265
+ // Remove all remaining HTML tags
266
+ text = text.replace(/<[^>]+>/g, '');
267
+ // Decode HTML entities
268
+ text = text
269
+ .replace(/&amp;/g, '&')
270
+ .replace(/&lt;/g, '<')
271
+ .replace(/&gt;/g, '>')
272
+ .replace(/&quot;/g, '"')
273
+ .replace(/&apos;/g, "'")
274
+ .replace(/&#(\d+);/g, (_match, dec) => String.fromCharCode(parseInt(dec, 10)));
275
+ // Clean up extra whitespace
276
+ text = text.replace(/\n{3,}/g, '\n\n').trim();
277
+ return text;
278
+ }
279
+ /**
280
+ * Enhances Confluence API error messages with helpful hints.
281
+ *
282
+ * @param errorText - Raw error text from API
283
+ * @param statusCode - HTTP status code
284
+ * @param statusText - HTTP status text
285
+ * @returns Enhanced error message
286
+ */
287
+ export function enhanceErrorMessage(errorText, statusCode, statusText) {
288
+ let message = `Confluence API Error (${statusCode} ${statusText})`;
289
+ // Try to parse JSON error
290
+ try {
291
+ const errorJson = JSON.parse(errorText);
292
+ if (errorJson.message) {
293
+ message += `: ${errorJson.message}`;
294
+ }
295
+ else if (errorJson.errors && Array.isArray(errorJson.errors)) {
296
+ const errorMessages = errorJson.errors
297
+ .map((e) => e.message || e.title)
298
+ .filter(Boolean);
299
+ if (errorMessages.length > 0) {
300
+ message += `: ${errorMessages.join(', ')}`;
301
+ }
302
+ }
303
+ }
304
+ catch {
305
+ if (errorText && errorText.length < 500) {
306
+ message += `: ${errorText}`;
307
+ }
308
+ }
309
+ // Add helpful hints based on status code
310
+ switch (statusCode) {
311
+ case 400:
312
+ message +=
313
+ '\nHint: Check your request parameters. Common issues: invalid CQL syntax, missing required fields, or invalid page/space IDs.';
314
+ break;
315
+ case 401:
316
+ message +=
317
+ '\nHint: Authentication failed. Ensure your OAuth token is valid and has the required Confluence scopes.';
318
+ break;
319
+ case 403:
320
+ message +=
321
+ '\nHint: Permission denied. Ensure your account has access to this space/page.';
322
+ break;
323
+ case 404:
324
+ message +=
325
+ '\nHint: Resource not found. Verify the page ID, space ID, or space key exists.';
326
+ break;
327
+ case 409:
328
+ message +=
329
+ '\nHint: Version conflict. The page may have been updated by another user. Retry the operation.';
330
+ break;
331
+ case 429:
332
+ message += '\nHint: Rate limited. Wait a moment before retrying.';
333
+ break;
334
+ }
335
+ return message;
336
+ }
337
+ //# sourceMappingURL=confluence.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confluence.utils.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/confluence/confluence.utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { ConfluenceBubble } from './confluence.js';
2
+ export { ConfluenceParamsSchema, ConfluenceResultSchema, ConfluenceSpaceSchema, ConfluencePageSchema, ConfluenceCommentSchema, ConfluenceSearchResultSchema, type ConfluenceParams, type ConfluenceParamsInput, type ConfluenceResult, type ConfluenceListSpacesParams, type ConfluenceGetSpaceParams, type ConfluenceListPagesParams, type ConfluenceGetPageParams, type ConfluenceCreatePageParams, type ConfluenceUpdatePageParams, type ConfluenceDeletePageParams, type ConfluenceSearchParams, type ConfluenceAddCommentParams, type ConfluenceGetCommentsParams, } from './confluence.schema.js';
3
+ export { markdownToConfluenceStorage, storageToText, enhanceErrorMessage, } from './confluence.utils.js';
4
+ export { ConfluenceIntegrationFlow } from './confluence.integration.flow.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/confluence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,0BAA0B,EAC/B,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,0BAA0B,EAC/B,KAAK,2BAA2B,GACjC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export { ConfluenceBubble } from './confluence.js';
2
+ export { ConfluenceParamsSchema, ConfluenceResultSchema, ConfluenceSpaceSchema, ConfluencePageSchema, ConfluenceCommentSchema, ConfluenceSearchResultSchema, } from './confluence.schema.js';
3
+ export { markdownToConfluenceStorage, storageToText, enhanceErrorMessage, } from './confluence.utils.js';
4
+ export { ConfluenceIntegrationFlow } from './confluence.integration.flow.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/confluence/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,4BAA4B,GAc7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,2BAA2B,EAC3B,aAAa,EACb,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"google-drive.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/google-drive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-drive.d.ts","sourceRoot":"","sources":["../../../src/bubbles/service-bubble/google-drive.ts"],"names":[],"mappings":"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"}
@@ -1335,8 +1335,18 @@ export class GoogleDriveBubble extends ServiceBubble {
1335
1335
  endIndex = lastElement?.endIndex || 1;
1336
1336
  }
1337
1337
  else {
1338
+ // Try document.body first, then fall back to first tab's content
1339
+ // (includeTabsContent=true puts content in tabs[].documentTab.body, not document.body)
1340
+ let contentElements = [];
1338
1341
  const body = document.body;
1339
- const contentElements = body?.content || [];
1342
+ if (body?.content?.length) {
1343
+ contentElements = body.content;
1344
+ }
1345
+ else if (document.tabs) {
1346
+ // Fall back to first tab's content
1347
+ const tabs = document.tabs;
1348
+ contentElements = tabs[0]?.documentTab?.body?.content || [];
1349
+ }
1340
1350
  const lastElement = contentElements[contentElements.length - 1];
1341
1351
  endIndex = lastElement?.endIndex || 1;
1342
1352
  }
@@ -1391,8 +1401,18 @@ export class GoogleDriveBubble extends ServiceBubble {
1391
1401
  endIndex = lastElement?.endIndex || 1;
1392
1402
  }
1393
1403
  else {
1404
+ // Try document.body first, then fall back to first tab's content
1405
+ // (includeTabsContent=true puts content in tabs[].documentTab.body, not document.body)
1406
+ let contentElements = [];
1394
1407
  const body = document.body;
1395
- const contentElements = body?.content || [];
1408
+ if (body?.content?.length) {
1409
+ contentElements = body.content;
1410
+ }
1411
+ else if (document.tabs) {
1412
+ // Fall back to first tab's content
1413
+ const tabs = document.tabs;
1414
+ contentElements = tabs[0]?.documentTab?.body?.content || [];
1415
+ }
1396
1416
  const lastElement = contentElements[contentElements.length - 1];
1397
1417
  endIndex = lastElement?.endIndex || 1;
1398
1418
  }