@bubblelab/bubble-core 0.1.16 → 0.1.18

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 (115) hide show
  1. package/dist/bubble-bundle.d.ts +84 -79
  2. package/dist/bubble-factory.js +1 -1
  3. package/dist/bubble-factory.js.map +1 -1
  4. package/dist/bubbles/service-bubble/agi-inc.d.ts +112 -112
  5. package/dist/bubbles/service-bubble/ai-agent.d.ts +8 -8
  6. package/dist/bubbles/service-bubble/airtable.d.ts +152 -152
  7. package/dist/bubbles/service-bubble/apify/apify.d.ts +8 -8
  8. package/dist/bubbles/service-bubble/browserbase/browserbase.d.ts +20 -20
  9. package/dist/bubbles/service-bubble/browserbase/browserbase.schema.d.ts +8 -8
  10. package/dist/bubbles/service-bubble/eleven-labs.d.ts +28 -28
  11. package/dist/bubbles/service-bubble/firecrawl.d.ts +140 -140
  12. package/dist/bubbles/service-bubble/followupboss.d.ts +128 -128
  13. package/dist/bubbles/service-bubble/github.d.ts +104 -104
  14. package/dist/bubbles/service-bubble/gmail.d.ts +456 -456
  15. package/dist/bubbles/service-bubble/google-calendar.d.ts +120 -120
  16. package/dist/bubbles/service-bubble/google-drive.d.ts +92 -92
  17. package/dist/bubbles/service-bubble/google-sheets/google-sheets.d.ts +22 -22
  18. package/dist/bubbles/service-bubble/google-sheets/google-sheets.schema.d.ts +10 -10
  19. package/dist/bubbles/service-bubble/hello-world.d.ts +4 -4
  20. package/dist/bubbles/service-bubble/http.d.ts +16 -16
  21. package/dist/bubbles/service-bubble/insforge-db.d.ts +10 -10
  22. package/dist/bubbles/service-bubble/notion/notion.d.ts +76 -76
  23. package/dist/bubbles/service-bubble/postgresql.d.ts +10 -10
  24. package/dist/bubbles/service-bubble/resend.d.ts +32 -32
  25. package/dist/bubbles/service-bubble/slack/index.d.ts +3 -0
  26. package/dist/bubbles/service-bubble/slack/index.d.ts.map +1 -0
  27. package/dist/bubbles/service-bubble/slack/index.js +6 -0
  28. package/dist/bubbles/service-bubble/slack/index.js.map +1 -0
  29. package/dist/bubbles/service-bubble/slack/slack.d.ts +6812 -0
  30. package/dist/bubbles/service-bubble/slack/slack.d.ts.map +1 -0
  31. package/dist/bubbles/service-bubble/slack/slack.js +1840 -0
  32. package/dist/bubbles/service-bubble/slack/slack.js.map +1 -0
  33. package/dist/bubbles/service-bubble/slack/slack.schema.d.ts +3980 -0
  34. package/dist/bubbles/service-bubble/slack/slack.schema.d.ts.map +1 -0
  35. package/dist/bubbles/service-bubble/slack/slack.schema.js +1061 -0
  36. package/dist/bubbles/service-bubble/slack/slack.schema.js.map +1 -0
  37. package/dist/bubbles/service-bubble/slack/slack.utils.d.ts +141 -0
  38. package/dist/bubbles/service-bubble/slack/slack.utils.d.ts.map +1 -0
  39. package/dist/bubbles/service-bubble/slack/slack.utils.js +408 -0
  40. package/dist/bubbles/service-bubble/slack/slack.utils.js.map +1 -0
  41. package/dist/bubbles/service-bubble/slack.d.ts +1 -6811
  42. package/dist/bubbles/service-bubble/slack.d.ts.map +1 -1
  43. package/dist/bubbles/service-bubble/slack.js +2 -1829
  44. package/dist/bubbles/service-bubble/slack.js.map +1 -1
  45. package/dist/bubbles/service-bubble/storage.d.ts +20 -20
  46. package/dist/bubbles/service-bubble/telegram.d.ts +246 -246
  47. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.d.ts +16 -16
  48. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.schema.d.ts +6 -6
  49. package/dist/bubbles/tool-bubble/bubbleflow-validation-tool.d.ts +4 -4
  50. package/dist/bubbles/tool-bubble/chart-js-tool.d.ts +4 -4
  51. package/dist/bubbles/tool-bubble/code-edit-tool.d.ts +4 -4
  52. package/dist/bubbles/tool-bubble/get-bubble-details-tool.d.ts +4 -4
  53. package/dist/bubbles/tool-bubble/get-trigger-detail-tool.d.ts +4 -4
  54. package/dist/bubbles/tool-bubble/google-maps-tool.d.ts +16 -16
  55. package/dist/bubbles/tool-bubble/instagram-tool.d.ts +4 -4
  56. package/dist/bubbles/tool-bubble/linkedin-tool.d.ts +34 -34
  57. package/dist/bubbles/tool-bubble/list-bubbles-tool.d.ts +4 -4
  58. package/dist/bubbles/tool-bubble/reddit-scrape-tool.d.ts +14 -14
  59. package/dist/bubbles/tool-bubble/research-agent-tool.d.ts +4 -4
  60. package/dist/bubbles/tool-bubble/sql-query-tool.d.ts +8 -8
  61. package/dist/bubbles/tool-bubble/tiktok-tool.d.ts +12 -12
  62. package/dist/bubbles/tool-bubble/tool-template.d.ts +4 -4
  63. package/dist/bubbles/tool-bubble/twitter-tool.d.ts +14 -14
  64. package/dist/bubbles/tool-bubble/web-crawl-tool.d.ts +4 -4
  65. package/dist/bubbles/tool-bubble/web-extract-tool.d.ts +4 -4
  66. package/dist/bubbles/tool-bubble/web-scrape-tool.d.ts +4 -4
  67. package/dist/bubbles/tool-bubble/web-search-tool.d.ts +10 -10
  68. package/dist/bubbles/tool-bubble/youtube-tool.d.ts +14 -14
  69. package/dist/bubbles/workflow-bubble/database-analyzer.workflow.d.ts +4 -4
  70. package/dist/bubbles/workflow-bubble/generate-document.workflow.d.ts +16 -16
  71. package/dist/bubbles/workflow-bubble/parse-document.workflow.d.ts +4 -4
  72. package/dist/bubbles/workflow-bubble/pdf-form-operations.workflow.d.ts +32 -32
  73. package/dist/bubbles/workflow-bubble/pdf-ocr.workflow.d.ts +8 -8
  74. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts +8 -8
  75. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.d.ts.map +1 -1
  76. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js +2 -2
  77. package/dist/bubbles/workflow-bubble/slack-data-assistant.workflow.js.map +1 -1
  78. package/dist/bubbles/workflow-bubble/slack-formatter-agent.d.ts +40 -40
  79. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.d.ts +4 -4
  80. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js +1 -1
  81. package/dist/bubbles/workflow-bubble/slack-notifier.workflow.js.map +1 -1
  82. package/dist/bubbles.json +2 -2
  83. package/dist/index.d.ts +1 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +1 -1
  86. package/dist/index.js.map +1 -1
  87. package/package.json +2 -2
  88. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts +0 -37
  89. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.d.ts.map +0 -1
  90. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js +0 -203
  91. package/dist/bubbles/service-bubble/browserbase/browserbase.integration.flow.js.map +0 -1
  92. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts +0 -1358
  93. package/dist/bubbles/service-bubble/crustdata/crustdata.d.ts.map +0 -1
  94. package/dist/bubbles/service-bubble/crustdata/crustdata.js +0 -219
  95. package/dist/bubbles/service-bubble/crustdata/crustdata.js.map +0 -1
  96. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts +0 -1604
  97. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.d.ts.map +0 -1
  98. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js +0 -194
  99. package/dist/bubbles/service-bubble/crustdata/crustdata.schema.js.map +0 -1
  100. package/dist/bubbles/service-bubble/crustdata/index.d.ts +0 -3
  101. package/dist/bubbles/service-bubble/crustdata/index.d.ts.map +0 -1
  102. package/dist/bubbles/service-bubble/crustdata/index.js +0 -3
  103. package/dist/bubbles/service-bubble/crustdata/index.js.map +0 -1
  104. package/dist/bubbles/service-bubble/http.integration.flow.d.ts +0 -49
  105. package/dist/bubbles/service-bubble/http.integration.flow.d.ts.map +0 -1
  106. package/dist/bubbles/service-bubble/http.integration.flow.js +0 -425
  107. package/dist/bubbles/service-bubble/http.integration.flow.js.map +0 -1
  108. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts +0 -31
  109. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.d.ts.map +0 -1
  110. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js +0 -100
  111. package/dist/bubbles/tool-bubble/amazon-shopping-tool/amazon-shopping-tool.integration.flow.js.map +0 -1
  112. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts +0 -740
  113. package/dist/bubbles/tool-bubble/company-enrichment-tool.d.ts.map +0 -1
  114. package/dist/bubbles/tool-bubble/company-enrichment-tool.js +0 -350
  115. package/dist/bubbles/tool-bubble/company-enrichment-tool.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.schema.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/slack/slack.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Utility functions for Slack bubble
3
+ * Handles markdown to Slack blocks conversion and mrkdwn formatting
4
+ */
5
+ /**
6
+ * Slack block types for rich message formatting
7
+ */
8
+ export interface SlackTextObject {
9
+ type: 'plain_text' | 'mrkdwn';
10
+ text: string;
11
+ emoji?: boolean;
12
+ verbatim?: boolean;
13
+ }
14
+ export interface SlackSectionBlock {
15
+ type: 'section';
16
+ text: SlackTextObject;
17
+ }
18
+ export interface SlackDividerBlock {
19
+ type: 'divider';
20
+ }
21
+ export interface SlackHeaderBlock {
22
+ type: 'header';
23
+ text: SlackTextObject;
24
+ }
25
+ export interface SlackContextBlock {
26
+ type: 'context';
27
+ elements: SlackTextObject[];
28
+ }
29
+ export type SlackBlock = SlackSectionBlock | SlackDividerBlock | SlackHeaderBlock | SlackContextBlock;
30
+ /**
31
+ * Options for markdown to blocks conversion
32
+ */
33
+ export interface MarkdownToBlocksOptions {
34
+ /**
35
+ * Whether to convert headers to header blocks (true) or bold section blocks (false)
36
+ * Header blocks have larger text but limited formatting
37
+ * @default false
38
+ */
39
+ useHeaderBlocks?: boolean;
40
+ /**
41
+ * Whether to add dividers after headers
42
+ * @default false
43
+ */
44
+ addDividersAfterHeaders?: boolean;
45
+ /**
46
+ * Whether to preserve line breaks within paragraphs
47
+ * @default true
48
+ */
49
+ preserveLineBreaks?: boolean;
50
+ }
51
+ /**
52
+ * Converts standard markdown text formatting to Slack mrkdwn format.
53
+ *
54
+ * Conversions:
55
+ * - **bold** or __bold__ → *bold*
56
+ * - *italic* (when not **) or _italic_ (when not __) → _italic_
57
+ * - ~~strikethrough~~ → ~strikethrough~
58
+ * - `code` → `code` (unchanged)
59
+ * - [text](url) → <url|text>
60
+ * - > blockquote → > blockquote (unchanged, Slack supports this)
61
+ *
62
+ * @param markdown - Standard markdown text
63
+ * @returns Slack mrkdwn formatted text
64
+ */
65
+ export declare function markdownToMrkdwn(markdown: string): string;
66
+ /**
67
+ * Converts markdown text to an array of Slack blocks for rich message formatting.
68
+ *
69
+ * This function parses markdown and creates appropriate Slack block types:
70
+ * - Headers → header blocks or bold section blocks
71
+ * - Paragraphs → section blocks with mrkdwn
72
+ * - Code blocks → section blocks with code formatting
73
+ * - Horizontal rules → divider blocks
74
+ * - Block quotes → section blocks with quote formatting
75
+ * - Lists → section blocks with bullet formatting
76
+ *
77
+ * @param markdown - Standard markdown text
78
+ * @param options - Conversion options
79
+ * @returns Array of Slack blocks
80
+ *
81
+ * @example
82
+ * ```typescript
83
+ * const blocks = markdownToBlocks(`
84
+ * # Welcome
85
+ *
86
+ * This is **bold** and _italic_ text.
87
+ *
88
+ * - Item 1
89
+ * - Item 2
90
+ *
91
+ * \`\`\`javascript
92
+ * const x = 1;
93
+ * \`\`\`
94
+ * `);
95
+ *
96
+ * // Returns:
97
+ * // [
98
+ * // { type: 'section', text: { type: 'mrkdwn', text: '*Welcome*' } },
99
+ * // { type: 'section', text: { type: 'mrkdwn', text: 'This is *bold* and _italic_ text.' } },
100
+ * // { type: 'section', text: { type: 'mrkdwn', text: '• Item 1\n• Item 2' } },
101
+ * // { type: 'section', text: { type: 'mrkdwn', text: '```const x = 1;```' } }
102
+ * // ]
103
+ * ```
104
+ */
105
+ export declare function markdownToBlocks(markdown: string, options?: MarkdownToBlocksOptions): SlackBlock[];
106
+ /**
107
+ * Creates a simple text message with optional markdown formatting.
108
+ * Use this for simple messages that don't need complex block structure.
109
+ *
110
+ * @param text - Text to send (supports markdown)
111
+ * @param useMrkdwn - Whether to convert markdown to Slack mrkdwn format
112
+ * @returns A single section block with the formatted text
113
+ */
114
+ export declare function createTextBlock(text: string, useMrkdwn?: boolean): SlackSectionBlock;
115
+ /**
116
+ * Creates a divider block for visual separation
117
+ */
118
+ export declare function createDividerBlock(): SlackDividerBlock;
119
+ /**
120
+ * Creates a header block with plain text
121
+ * Note: Header blocks have a 150 character limit
122
+ *
123
+ * @param text - Header text (will be truncated to 150 chars)
124
+ */
125
+ export declare function createHeaderBlock(text: string): SlackHeaderBlock;
126
+ /**
127
+ * Creates a context block for secondary information
128
+ * Context blocks display smaller text, useful for timestamps, metadata, etc.
129
+ *
130
+ * @param texts - Array of text strings to display
131
+ */
132
+ export declare function createContextBlock(texts: string[]): SlackContextBlock;
133
+ /**
134
+ * Detects if a string contains markdown formatting.
135
+ * Checks for common markdown patterns like headers, bold, italic, code blocks, lists, etc.
136
+ *
137
+ * @param text - Text to check for markdown
138
+ * @returns True if markdown patterns are detected
139
+ */
140
+ export declare function containsMarkdown(text: string): boolean;
141
+ //# sourceMappingURL=slack.utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.utils.d.ts","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/slack/slack.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,MAAM,MAAM,UAAU,GAClB,iBAAiB,GACjB,iBAAiB,GACjB,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAqDzD;AAkJD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,uBAA4B,GACpC,UAAU,EAAE,CAiGd;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,SAAS,GAAE,OAAc,GACxB,iBAAiB,CAQnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,iBAAiB,CAEtD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAShE;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAQrE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAwDtD"}
@@ -0,0 +1,408 @@
1
+ /**
2
+ * Utility functions for Slack bubble
3
+ * Handles markdown to Slack blocks conversion and mrkdwn formatting
4
+ */
5
+ /**
6
+ * Converts standard markdown text formatting to Slack mrkdwn format.
7
+ *
8
+ * Conversions:
9
+ * - **bold** or __bold__ → *bold*
10
+ * - *italic* (when not **) or _italic_ (when not __) → _italic_
11
+ * - ~~strikethrough~~ → ~strikethrough~
12
+ * - `code` → `code` (unchanged)
13
+ * - [text](url) → <url|text>
14
+ * - > blockquote → > blockquote (unchanged, Slack supports this)
15
+ *
16
+ * @param markdown - Standard markdown text
17
+ * @returns Slack mrkdwn formatted text
18
+ */
19
+ export function markdownToMrkdwn(markdown) {
20
+ if (!markdown || typeof markdown !== 'string') {
21
+ return '';
22
+ }
23
+ let result = markdown;
24
+ // Convert links: [text](url) → <url|text>
25
+ // Must be done first to preserve link text formatting
26
+ result = result.replace(/\[([^\]]+)\]\(([^)]+)\)/g, '<$2|$1>');
27
+ // Convert bullet lists: - item or * item → • item
28
+ // Must be done BEFORE italic/bold to avoid * being treated as formatting
29
+ result = result.replace(/^(\s*)[-]\s+/gm, '$1• ');
30
+ result = result.replace(/^(\s*)\*\s+/gm, '$1• ');
31
+ // Use placeholder tokens to safely convert bold before italic
32
+ // This prevents **text** from being partially matched by *text* pattern
33
+ const BOLD_PLACEHOLDER = '\u0000BOLD\u0000';
34
+ // Convert headers for inline display: # Header → BOLD placeholder
35
+ // Using placeholder so it doesn't get converted by italic regex
36
+ result = result.replace(/^#{1,6}\s+(.+)$/gm, `${BOLD_PLACEHOLDER}$1${BOLD_PLACEHOLDER}`);
37
+ // Convert bold: **text** → placeholder
38
+ result = result.replace(/\*\*([^*]+)\*\*/g, `${BOLD_PLACEHOLDER}$1${BOLD_PLACEHOLDER}`);
39
+ // Convert bold: __text__ → placeholder
40
+ result = result.replace(/__([^_]+)__/g, `${BOLD_PLACEHOLDER}$1${BOLD_PLACEHOLDER}`);
41
+ // Convert italic: *text* (single asterisk) → _text_
42
+ // Now safe because ** and headers have been converted to placeholder
43
+ result = result.replace(/\*([^*]+)\*/g, '_$1_');
44
+ // Convert italic: _text_ (single underscore, not double) → _text_ (unchanged for Slack)
45
+ // Already correct format for Slack mrkdwn
46
+ // Replace bold placeholders with Slack bold syntax
47
+ result = result.replace(new RegExp(BOLD_PLACEHOLDER, 'g'), '*');
48
+ // Convert strikethrough: ~~text~~ → ~text~
49
+ result = result.replace(/~~([^~]+)~~/g, '~$1~');
50
+ return result;
51
+ }
52
+ function parseMarkdownBlocks(markdown) {
53
+ const blocks = [];
54
+ const lines = markdown.split('\n');
55
+ let currentBlock = null;
56
+ let inCodeBlock = false;
57
+ let codeBlockContent = [];
58
+ let codeBlockLanguage = '';
59
+ for (let i = 0; i < lines.length; i++) {
60
+ const line = lines[i];
61
+ // Check for code block start/end
62
+ if (line.startsWith('```')) {
63
+ if (!inCodeBlock) {
64
+ // Start of code block
65
+ if (currentBlock) {
66
+ blocks.push(currentBlock);
67
+ currentBlock = null;
68
+ }
69
+ inCodeBlock = true;
70
+ codeBlockLanguage = line.slice(3).trim();
71
+ codeBlockContent = [];
72
+ }
73
+ else {
74
+ // End of code block
75
+ blocks.push({
76
+ type: 'code',
77
+ content: codeBlockContent.join('\n'),
78
+ language: codeBlockLanguage,
79
+ });
80
+ inCodeBlock = false;
81
+ codeBlockContent = [];
82
+ codeBlockLanguage = '';
83
+ }
84
+ continue;
85
+ }
86
+ if (inCodeBlock) {
87
+ codeBlockContent.push(line);
88
+ continue;
89
+ }
90
+ // Check for horizontal rule / divider
91
+ if (/^[-*_]{3,}\s*$/.test(line)) {
92
+ if (currentBlock) {
93
+ blocks.push(currentBlock);
94
+ currentBlock = null;
95
+ }
96
+ blocks.push({ type: 'divider', content: '' });
97
+ continue;
98
+ }
99
+ // Check for header
100
+ const headerMatch = line.match(/^(#{1,6})\s+(.+)$/);
101
+ if (headerMatch) {
102
+ if (currentBlock) {
103
+ blocks.push(currentBlock);
104
+ currentBlock = null;
105
+ }
106
+ blocks.push({
107
+ type: 'header',
108
+ content: headerMatch[2],
109
+ level: headerMatch[1].length,
110
+ });
111
+ continue;
112
+ }
113
+ // Check for blockquote
114
+ if (line.startsWith('>')) {
115
+ const quoteContent = line.replace(/^>\s*/, '');
116
+ if (currentBlock?.type === 'quote') {
117
+ currentBlock.content += '\n' + quoteContent;
118
+ }
119
+ else {
120
+ if (currentBlock) {
121
+ blocks.push(currentBlock);
122
+ }
123
+ currentBlock = { type: 'quote', content: quoteContent };
124
+ }
125
+ continue;
126
+ }
127
+ // Check for list item
128
+ if (/^[\s]*[-*]\s+/.test(line) || /^[\s]*\d+\.\s+/.test(line)) {
129
+ const listContent = line
130
+ .replace(/^[\s]*[-*]\s+/, '• ')
131
+ .replace(/^[\s]*\d+\.\s+/, (match) => match); // Keep numbered lists as-is
132
+ if (currentBlock?.type === 'list') {
133
+ currentBlock.content += '\n' + listContent;
134
+ }
135
+ else {
136
+ if (currentBlock) {
137
+ blocks.push(currentBlock);
138
+ }
139
+ currentBlock = { type: 'list', content: listContent };
140
+ }
141
+ continue;
142
+ }
143
+ // Empty line - end current block
144
+ if (line.trim() === '') {
145
+ if (currentBlock) {
146
+ blocks.push(currentBlock);
147
+ currentBlock = null;
148
+ }
149
+ continue;
150
+ }
151
+ // Regular paragraph
152
+ if (currentBlock?.type === 'paragraph') {
153
+ currentBlock.content += '\n' + line;
154
+ }
155
+ else {
156
+ if (currentBlock) {
157
+ blocks.push(currentBlock);
158
+ }
159
+ currentBlock = { type: 'paragraph', content: line };
160
+ }
161
+ }
162
+ // Don't forget the last block
163
+ if (currentBlock) {
164
+ blocks.push(currentBlock);
165
+ }
166
+ // Handle unclosed code block
167
+ if (inCodeBlock && codeBlockContent.length > 0) {
168
+ blocks.push({
169
+ type: 'code',
170
+ content: codeBlockContent.join('\n'),
171
+ language: codeBlockLanguage,
172
+ });
173
+ }
174
+ return blocks;
175
+ }
176
+ /**
177
+ * Converts markdown text to an array of Slack blocks for rich message formatting.
178
+ *
179
+ * This function parses markdown and creates appropriate Slack block types:
180
+ * - Headers → header blocks or bold section blocks
181
+ * - Paragraphs → section blocks with mrkdwn
182
+ * - Code blocks → section blocks with code formatting
183
+ * - Horizontal rules → divider blocks
184
+ * - Block quotes → section blocks with quote formatting
185
+ * - Lists → section blocks with bullet formatting
186
+ *
187
+ * @param markdown - Standard markdown text
188
+ * @param options - Conversion options
189
+ * @returns Array of Slack blocks
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * const blocks = markdownToBlocks(`
194
+ * # Welcome
195
+ *
196
+ * This is **bold** and _italic_ text.
197
+ *
198
+ * - Item 1
199
+ * - Item 2
200
+ *
201
+ * \`\`\`javascript
202
+ * const x = 1;
203
+ * \`\`\`
204
+ * `);
205
+ *
206
+ * // Returns:
207
+ * // [
208
+ * // { type: 'section', text: { type: 'mrkdwn', text: '*Welcome*' } },
209
+ * // { type: 'section', text: { type: 'mrkdwn', text: 'This is *bold* and _italic_ text.' } },
210
+ * // { type: 'section', text: { type: 'mrkdwn', text: '• Item 1\n• Item 2' } },
211
+ * // { type: 'section', text: { type: 'mrkdwn', text: '```const x = 1;```' } }
212
+ * // ]
213
+ * ```
214
+ */
215
+ export function markdownToBlocks(markdown, options = {}) {
216
+ const { useHeaderBlocks = false, addDividersAfterHeaders = false, preserveLineBreaks = true, } = options;
217
+ if (!markdown || typeof markdown !== 'string') {
218
+ return [];
219
+ }
220
+ const parsedBlocks = parseMarkdownBlocks(markdown.trim());
221
+ const slackBlocks = [];
222
+ for (const block of parsedBlocks) {
223
+ switch (block.type) {
224
+ case 'header':
225
+ if (useHeaderBlocks) {
226
+ // Header blocks only support plain_text and have a 150 char limit
227
+ slackBlocks.push({
228
+ type: 'header',
229
+ text: {
230
+ type: 'plain_text',
231
+ text: block.content.slice(0, 150),
232
+ emoji: true,
233
+ },
234
+ });
235
+ }
236
+ else {
237
+ // Use section with bold mrkdwn for more formatting flexibility
238
+ slackBlocks.push({
239
+ type: 'section',
240
+ text: {
241
+ type: 'mrkdwn',
242
+ text: `*${markdownToMrkdwn(block.content)}*`,
243
+ },
244
+ });
245
+ }
246
+ if (addDividersAfterHeaders) {
247
+ slackBlocks.push({ type: 'divider' });
248
+ }
249
+ break;
250
+ case 'divider':
251
+ slackBlocks.push({ type: 'divider' });
252
+ break;
253
+ case 'code':
254
+ // Slack code blocks in mrkdwn
255
+ slackBlocks.push({
256
+ type: 'section',
257
+ text: {
258
+ type: 'mrkdwn',
259
+ text: '```' + block.content + '```',
260
+ },
261
+ });
262
+ break;
263
+ case 'quote':
264
+ // Slack supports > for quotes in mrkdwn
265
+ const quoteLines = block.content.split('\n').map((line) => `> ${line}`);
266
+ slackBlocks.push({
267
+ type: 'section',
268
+ text: {
269
+ type: 'mrkdwn',
270
+ text: quoteLines.join('\n'),
271
+ },
272
+ });
273
+ break;
274
+ case 'list':
275
+ slackBlocks.push({
276
+ type: 'section',
277
+ text: {
278
+ type: 'mrkdwn',
279
+ text: markdownToMrkdwn(block.content),
280
+ },
281
+ });
282
+ break;
283
+ case 'paragraph':
284
+ default:
285
+ let content = markdownToMrkdwn(block.content);
286
+ if (!preserveLineBreaks) {
287
+ content = content.replace(/\n/g, ' ');
288
+ }
289
+ slackBlocks.push({
290
+ type: 'section',
291
+ text: {
292
+ type: 'mrkdwn',
293
+ text: content,
294
+ },
295
+ });
296
+ break;
297
+ }
298
+ }
299
+ return slackBlocks;
300
+ }
301
+ /**
302
+ * Creates a simple text message with optional markdown formatting.
303
+ * Use this for simple messages that don't need complex block structure.
304
+ *
305
+ * @param text - Text to send (supports markdown)
306
+ * @param useMrkdwn - Whether to convert markdown to Slack mrkdwn format
307
+ * @returns A single section block with the formatted text
308
+ */
309
+ export function createTextBlock(text, useMrkdwn = true) {
310
+ return {
311
+ type: 'section',
312
+ text: {
313
+ type: 'mrkdwn',
314
+ text: useMrkdwn ? markdownToMrkdwn(text) : text,
315
+ },
316
+ };
317
+ }
318
+ /**
319
+ * Creates a divider block for visual separation
320
+ */
321
+ export function createDividerBlock() {
322
+ return { type: 'divider' };
323
+ }
324
+ /**
325
+ * Creates a header block with plain text
326
+ * Note: Header blocks have a 150 character limit
327
+ *
328
+ * @param text - Header text (will be truncated to 150 chars)
329
+ */
330
+ export function createHeaderBlock(text) {
331
+ return {
332
+ type: 'header',
333
+ text: {
334
+ type: 'plain_text',
335
+ text: text.slice(0, 150),
336
+ emoji: true,
337
+ },
338
+ };
339
+ }
340
+ /**
341
+ * Creates a context block for secondary information
342
+ * Context blocks display smaller text, useful for timestamps, metadata, etc.
343
+ *
344
+ * @param texts - Array of text strings to display
345
+ */
346
+ export function createContextBlock(texts) {
347
+ return {
348
+ type: 'context',
349
+ elements: texts.map((text) => ({
350
+ type: 'mrkdwn',
351
+ text: markdownToMrkdwn(text),
352
+ })),
353
+ };
354
+ }
355
+ /**
356
+ * Detects if a string contains markdown formatting.
357
+ * Checks for common markdown patterns like headers, bold, italic, code blocks, lists, etc.
358
+ *
359
+ * @param text - Text to check for markdown
360
+ * @returns True if markdown patterns are detected
361
+ */
362
+ export function containsMarkdown(text) {
363
+ if (!text || typeof text !== 'string') {
364
+ return false;
365
+ }
366
+ // Check for headers (# Header)
367
+ if (/^#{1,6}\s+.+$/m.test(text)) {
368
+ return true;
369
+ }
370
+ // Check for bold (**text** or __text__)
371
+ if (/\*\*[^*]+\*\*/.test(text) || /__[^_]+__/.test(text)) {
372
+ return true;
373
+ }
374
+ // Check for italic (*text* or _text_ - but not ** or __)
375
+ if (/(?<!\*)\*[^*]+\*(?!\*)/.test(text) || /(?<!_)_[^_]+_(?!_)/.test(text)) {
376
+ return true;
377
+ }
378
+ // Check for code blocks (```code```)
379
+ if (/```[\s\S]*?```/.test(text)) {
380
+ return true;
381
+ }
382
+ // Check for inline code (`code`)
383
+ if (/`[^`]+`/.test(text)) {
384
+ return true;
385
+ }
386
+ // Check for lists (- item or * item or 1. item)
387
+ if (/^[\s]*[-*]\s+/m.test(text) || /^[\s]*\d+\.\s+/m.test(text)) {
388
+ return true;
389
+ }
390
+ // Check for links [text](url)
391
+ if (/\[([^\]]+)\]\(([^)]+)\)/.test(text)) {
392
+ return true;
393
+ }
394
+ // Check for blockquotes (> text)
395
+ if (/^>\s+/m.test(text)) {
396
+ return true;
397
+ }
398
+ // Check for horizontal rules (--- or ***)
399
+ if (/^[-*_]{3,}\s*$/m.test(text)) {
400
+ return true;
401
+ }
402
+ // Check for strikethrough (~~text~~)
403
+ if (/~~[^~]+~~/.test(text)) {
404
+ return true;
405
+ }
406
+ return false;
407
+ }
408
+ //# sourceMappingURL=slack.utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.utils.js","sourceRoot":"","sources":["../../../../src/bubbles/service-bubble/slack/slack.utils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA6DH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,MAAM,GAAG,QAAQ,CAAC;IAEtB,0CAA0C;IAC1C,sDAAsD;IACtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;IAE/D,kDAAkD;IAClD,yEAAyE;IACzE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAEjD,8DAA8D;IAC9D,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;IAE5C,kEAAkE;IAClE,gEAAgE;IAChE,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,mBAAmB,EACnB,GAAG,gBAAgB,KAAK,gBAAgB,EAAE,CAC3C,CAAC;IAEF,uCAAuC;IACvC,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,kBAAkB,EAClB,GAAG,gBAAgB,KAAK,gBAAgB,EAAE,CAC3C,CAAC;IAEF,uCAAuC;IACvC,MAAM,GAAG,MAAM,CAAC,OAAO,CACrB,cAAc,EACd,GAAG,gBAAgB,KAAK,gBAAgB,EAAE,CAC3C,CAAC;IAEF,oDAAoD;IACpD,qEAAqE;IACrE,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEhD,wFAAwF;IACxF,0CAA0C;IAE1C,mDAAmD;IACnD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAEhE,2CAA2C;IAC3C,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IAEhD,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD,SAAS,mBAAmB,CAAC,QAAgB;IAC3C,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,IAAI,YAAY,GAAuB,IAAI,CAAC;IAC5C,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,gBAAgB,GAAa,EAAE,CAAC;IACpC,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAE3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,iCAAiC;QACjC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,sBAAsB;gBACtB,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAC1B,YAAY,GAAG,IAAI,CAAC;gBACtB,CAAC;gBACD,WAAW,GAAG,IAAI,CAAC;gBACnB,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACzC,gBAAgB,GAAG,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,oBAAoB;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,MAAM;oBACZ,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,QAAQ,EAAE,iBAAiB;iBAC5B,CAAC,CAAC;gBACH,WAAW,GAAG,KAAK,CAAC;gBACpB,gBAAgB,GAAG,EAAE,CAAC;gBACtB,iBAAiB,GAAG,EAAE,CAAC;YACzB,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,WAAW,EAAE,CAAC;YAChB,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,sCAAsC;QACtC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9C,SAAS;QACX,CAAC;QAED,mBAAmB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACpD,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;gBACvB,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM;aAC7B,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,uBAAuB;QACvB,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC/C,IAAI,YAAY,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;gBACnC,YAAY,CAAC,OAAO,IAAI,IAAI,GAAG,YAAY,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,YAAY,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAC1D,CAAC;YACD,SAAS;QACX,CAAC;QAED,sBAAsB;QACtB,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,MAAM,WAAW,GAAG,IAAI;iBACrB,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC;iBAC9B,OAAO,CAAC,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,4BAA4B;YAC5E,IAAI,YAAY,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;gBAClC,YAAY,CAAC,OAAO,IAAI,IAAI,GAAG,WAAW,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,YAAY,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5B,CAAC;gBACD,YAAY,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YACxD,CAAC;YACD,SAAS;QACX,CAAC;QAED,iCAAiC;QACjC,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC1B,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YACD,SAAS;QACX,CAAC;QAED,oBAAoB;QACpB,IAAI,YAAY,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;YACvC,YAAY,CAAC,OAAO,IAAI,IAAI,GAAG,IAAI,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;YACD,YAAY,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACtD,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC5B,CAAC;IAED,6BAA6B;IAC7B,IAAI,WAAW,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,QAAQ,EAAE,iBAAiB;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,UAAmC,EAAE;IAErC,MAAM,EACJ,eAAe,GAAG,KAAK,EACvB,uBAAuB,GAAG,KAAK,EAC/B,kBAAkB,GAAG,IAAI,GAC1B,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,QAAQ;gBACX,IAAI,eAAe,EAAE,CAAC;oBACpB,kEAAkE;oBAClE,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE;4BACJ,IAAI,EAAE,YAAY;4BAClB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;4BACjC,KAAK,EAAE,IAAI;yBACZ;qBACF,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,+DAA+D;oBAC/D,WAAW,CAAC,IAAI,CAAC;wBACf,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ;4BACd,IAAI,EAAE,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG;yBAC7C;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,uBAAuB,EAAE,CAAC;oBAC5B,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM;YAER,KAAK,SAAS;gBACZ,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACtC,MAAM;YAER,KAAK,MAAM;gBACT,8BAA8B;gBAC9B,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,KAAK;qBACpC;iBACF,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,OAAO;gBACV,wCAAwC;gBACxC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;gBACxE,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;qBAC5B;iBACF,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,MAAM;gBACT,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC;qBACtC;iBACF,CAAC,CAAC;gBACH,MAAM;YAER,KAAK,WAAW,CAAC;YACjB;gBACE,IAAI,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBAC9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxC,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,OAAO;qBACd;iBACF,CAAC,CAAC;gBACH,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,YAAqB,IAAI;IAEzB,OAAO;QACL,IAAI,EAAE,SAAS;QACf,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;SAChD;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE;YACJ,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACxB,KAAK,EAAE,IAAI;SACZ;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAe;IAChD,OAAO;QACL,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC7B,IAAI,EAAE,QAAiB;YACvB,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,+BAA+B;IAC/B,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wCAAwC;IACxC,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yDAAyD;IACzD,IAAI,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,gDAAgD;IAChD,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAA8B;IAC9B,IAAI,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IAC1C,IAAI,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,qCAAqC;IACrC,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}