@sena-ai/connector-slack 1.0.12 → 1.0.14
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.
- package/dist/__tests__/mrkdwn.test.js +78 -1
- package/dist/__tests__/mrkdwn.test.js.map +1 -1
- package/dist/connector.js +25 -7
- package/dist/connector.js.map +1 -1
- package/dist/mrkdwn.d.ts +15 -0
- package/dist/mrkdwn.d.ts.map +1 -1
- package/dist/mrkdwn.js +161 -0
- package/dist/mrkdwn.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { markdownToMrkdwn } from '../mrkdwn.js';
|
|
2
|
+
import { markdownToMrkdwn, markdownToSlack } from '../mrkdwn.js';
|
|
3
3
|
describe('markdownToMrkdwn', () => {
|
|
4
4
|
it('converts bold', () => {
|
|
5
5
|
expect(markdownToMrkdwn('this is **bold** text')).toBe('this is *bold* text');
|
|
@@ -53,4 +53,81 @@ describe('markdownToMrkdwn', () => {
|
|
|
53
53
|
expect(markdownToMrkdwn(input)).toBe('> this is a quote');
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
|
+
describe('markdownToSlack', () => {
|
|
57
|
+
it('returns plain text when no tables', () => {
|
|
58
|
+
const result = markdownToSlack('just **bold** text');
|
|
59
|
+
expect(result).toEqual({ text: 'just *bold* text' });
|
|
60
|
+
expect(result.blocks).toBeUndefined();
|
|
61
|
+
});
|
|
62
|
+
it('converts a simple markdown table to a table block', () => {
|
|
63
|
+
const md = '| Name | Age |\n|------|-----|\n| Alice | 30 |\n| Bob | 25 |';
|
|
64
|
+
const result = markdownToSlack(md);
|
|
65
|
+
expect(result.blocks).toBeDefined();
|
|
66
|
+
expect(result.blocks).toHaveLength(1);
|
|
67
|
+
const table = result.blocks[0];
|
|
68
|
+
expect(table.type).toBe('table');
|
|
69
|
+
expect(table.rows).toHaveLength(3); // header + 2 data rows
|
|
70
|
+
expect(table.column_settings).toEqual([{ align: 'left' }, { align: 'left' }]);
|
|
71
|
+
const rows = table.rows;
|
|
72
|
+
expect(rows[0]).toEqual([
|
|
73
|
+
{ type: 'raw_text', text: 'Name' },
|
|
74
|
+
{ type: 'raw_text', text: 'Age' },
|
|
75
|
+
]);
|
|
76
|
+
expect(rows[1]).toEqual([
|
|
77
|
+
{ type: 'raw_text', text: 'Alice' },
|
|
78
|
+
{ type: 'raw_text', text: '30' },
|
|
79
|
+
]);
|
|
80
|
+
});
|
|
81
|
+
it('respects column alignment from separator row', () => {
|
|
82
|
+
const md = '| Left | Center | Right |\n|:-----|:------:|------:|\n| a | b | c |';
|
|
83
|
+
const result = markdownToSlack(md);
|
|
84
|
+
const table = result.blocks[0];
|
|
85
|
+
expect(table.column_settings).toEqual([
|
|
86
|
+
{ align: 'left' },
|
|
87
|
+
{ align: 'center' },
|
|
88
|
+
{ align: 'right' },
|
|
89
|
+
]);
|
|
90
|
+
});
|
|
91
|
+
it('wraps surrounding text in section blocks', () => {
|
|
92
|
+
const md = 'Before table\n\n| A | B |\n|---|---|\n| 1 | 2 |\n\nAfter table';
|
|
93
|
+
const result = markdownToSlack(md);
|
|
94
|
+
expect(result.blocks).toHaveLength(3);
|
|
95
|
+
expect(result.blocks[0].type).toBe('section');
|
|
96
|
+
expect(result.blocks[1].type).toBe('table');
|
|
97
|
+
expect(result.blocks[2].type).toBe('section');
|
|
98
|
+
});
|
|
99
|
+
it('does not convert tables inside code blocks', () => {
|
|
100
|
+
const md = '```\n| A | B |\n|---|---|\n| 1 | 2 |\n```';
|
|
101
|
+
const result = markdownToSlack(md);
|
|
102
|
+
expect(result.blocks).toBeUndefined();
|
|
103
|
+
});
|
|
104
|
+
it('converts only first table to block, extras become code blocks', () => {
|
|
105
|
+
const md = '| A | B |\n|---|---|\n| 1 | 2 |\n\n| C | D |\n|---|---|\n| 3 | 4 |';
|
|
106
|
+
const result = markdownToSlack(md);
|
|
107
|
+
expect(result.blocks).toBeDefined();
|
|
108
|
+
const tableBlocks = result.blocks.filter(b => b.type === 'table');
|
|
109
|
+
expect(tableBlocks).toHaveLength(1); // only first table is a real table block
|
|
110
|
+
const sectionBlocks = result.blocks.filter(b => b.type === 'section');
|
|
111
|
+
// second table should be in a section as a code block
|
|
112
|
+
const hasCodeBlock = sectionBlocks.some(b => {
|
|
113
|
+
const text = b.text?.text ?? '';
|
|
114
|
+
return text.includes('```');
|
|
115
|
+
});
|
|
116
|
+
expect(hasCodeBlock).toBe(true);
|
|
117
|
+
});
|
|
118
|
+
it('pads rows with fewer cells than header', () => {
|
|
119
|
+
const md = '| A | B | C |\n|---|---|---|\n| 1 |';
|
|
120
|
+
const result = markdownToSlack(md);
|
|
121
|
+
const rows = result.blocks[0].rows;
|
|
122
|
+
expect(rows[1]).toHaveLength(3); // padded to match header count
|
|
123
|
+
expect(rows[1][1].text).toBe('');
|
|
124
|
+
expect(rows[1][2].text).toBe('');
|
|
125
|
+
});
|
|
126
|
+
it('includes fallback text for notifications', () => {
|
|
127
|
+
const md = '| A | B |\n|---|---|\n| 1 | 2 |';
|
|
128
|
+
const result = markdownToSlack(md);
|
|
129
|
+
expect(typeof result.text).toBe('string');
|
|
130
|
+
expect(result.text.length).toBeGreaterThan(0);
|
|
131
|
+
});
|
|
132
|
+
});
|
|
56
133
|
//# sourceMappingURL=mrkdwn.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mrkdwn.test.js","sourceRoot":"","sources":["../../src/__tests__/mrkdwn.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"mrkdwn.test.js","sourceRoot":"","sources":["../../src/__tests__/mrkdwn.test.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { WebClient } from '@slack/web-api';
|
|
2
2
|
import { verifySignature } from './verify.js';
|
|
3
|
-
import {
|
|
3
|
+
import { markdownToSlack } from './mrkdwn.js';
|
|
4
4
|
export function slackConnector(options) {
|
|
5
5
|
const { appId, botToken, signingSecret, thinkingMessage } = options;
|
|
6
6
|
const slack = new WebClient(botToken);
|
|
@@ -184,20 +184,31 @@ function createSlackOutput(slack, context, thinkingMessage) {
|
|
|
184
184
|
const [channel, threadTs] = context.conversationId.split(':');
|
|
185
185
|
let progressTs;
|
|
186
186
|
let lastProgressTime = 0;
|
|
187
|
+
let thinkingReady;
|
|
187
188
|
const THROTTLE_MS = 1500;
|
|
189
|
+
const THINKING_TIMEOUT_MS = 3000;
|
|
190
|
+
/** Wait for thinking indicator with timeout — never blocks result delivery for long */
|
|
191
|
+
async function awaitThinking() {
|
|
192
|
+
if (!thinkingReady)
|
|
193
|
+
return;
|
|
194
|
+
const timeout = new Promise(resolve => setTimeout(resolve, THINKING_TIMEOUT_MS));
|
|
195
|
+
await Promise.race([thinkingReady, timeout]);
|
|
196
|
+
thinkingReady = undefined;
|
|
197
|
+
}
|
|
188
198
|
// Send thinking indicator immediately on creation (context block = small text, like v1)
|
|
189
199
|
if (thinkingMessage && thinkingMessage !== '') {
|
|
190
|
-
slack.chat.postMessage({
|
|
200
|
+
thinkingReady = slack.chat.postMessage({
|
|
191
201
|
channel,
|
|
192
202
|
thread_ts: threadTs,
|
|
193
203
|
text: thinkingMessage,
|
|
194
204
|
blocks: [{ type: 'context', elements: [{ type: 'mrkdwn', text: thinkingMessage }] }],
|
|
195
205
|
})
|
|
196
206
|
.then(r => { progressTs = r.ts; lastProgressTime = Date.now(); })
|
|
197
|
-
.catch(() => { });
|
|
207
|
+
.catch((err) => { console.warn('[slack] thinkingMessage failed:', err); });
|
|
198
208
|
}
|
|
199
209
|
return {
|
|
200
210
|
async showProgress(text) {
|
|
211
|
+
await awaitThinking();
|
|
201
212
|
const now = Date.now();
|
|
202
213
|
if (now - lastProgressTime < THROTTLE_MS && progressTs)
|
|
203
214
|
return;
|
|
@@ -211,11 +222,12 @@ function createSlackOutput(slack, context, thinkingMessage) {
|
|
|
211
222
|
}
|
|
212
223
|
lastProgressTime = now;
|
|
213
224
|
}
|
|
214
|
-
catch {
|
|
215
|
-
|
|
225
|
+
catch (err) {
|
|
226
|
+
console.warn('[slack] showProgress failed:', err);
|
|
216
227
|
}
|
|
217
228
|
},
|
|
218
229
|
async sendResult(text) {
|
|
230
|
+
await awaitThinking();
|
|
219
231
|
// Delete progress/thinking message if exists
|
|
220
232
|
if (progressTs) {
|
|
221
233
|
try {
|
|
@@ -224,11 +236,17 @@ function createSlackOutput(slack, context, thinkingMessage) {
|
|
|
224
236
|
catch {
|
|
225
237
|
// Ignore
|
|
226
238
|
}
|
|
239
|
+
progressTs = undefined;
|
|
240
|
+
}
|
|
241
|
+
// Guard against empty text — Slack API rejects empty messages with no_text
|
|
242
|
+
if (!text.trim()) {
|
|
243
|
+
console.warn('[slack] sendResult skipped: empty text');
|
|
244
|
+
return;
|
|
227
245
|
}
|
|
228
246
|
console.log(`[slack] sendResult: channel=${channel}, thread_ts=${threadTs}, text.length=${text.length}`);
|
|
229
247
|
try {
|
|
230
|
-
const
|
|
231
|
-
const result = await slack.chat.postMessage({ channel, thread_ts: threadTs,
|
|
248
|
+
const payload = markdownToSlack(text);
|
|
249
|
+
const result = await slack.chat.postMessage({ channel, thread_ts: threadTs, ...payload });
|
|
232
250
|
console.log(`[slack] sendResult ok: ts=${result.ts}, ok=${result.ok}`);
|
|
233
251
|
}
|
|
234
252
|
catch (err) {
|
package/dist/connector.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
|
package/dist/mrkdwn.d.ts
CHANGED
|
@@ -13,4 +13,19 @@
|
|
|
13
13
|
* Code blocks (``` and `) are preserved as-is since Slack supports them natively.
|
|
14
14
|
*/
|
|
15
15
|
export declare function markdownToMrkdwn(md: string): string;
|
|
16
|
+
export type SlackMessagePayload = {
|
|
17
|
+
text: string;
|
|
18
|
+
blocks?: Array<Record<string, unknown>>;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Convert markdown to a Slack message payload with Block Kit support.
|
|
22
|
+
*
|
|
23
|
+
* When the markdown contains tables, they are converted to Slack table blocks.
|
|
24
|
+
* Non-table text is wrapped in section blocks with mrkdwn formatting.
|
|
25
|
+
* When no tables are present, returns plain mrkdwn text (no blocks).
|
|
26
|
+
*
|
|
27
|
+
* Slack limits: max 1 table block per message. If multiple tables exist,
|
|
28
|
+
* only the first becomes a table block; the rest are rendered as code blocks.
|
|
29
|
+
*/
|
|
30
|
+
export declare function markdownToSlack(md: string): SlackMessagePayload;
|
|
16
31
|
//# sourceMappingURL=mrkdwn.d.ts.map
|
package/dist/mrkdwn.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mrkdwn.d.ts","sourceRoot":"","sources":["../src/mrkdwn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgDnD"}
|
|
1
|
+
{"version":3,"file":"mrkdwn.d.ts","sourceRoot":"","sources":["../src/mrkdwn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAgDnD;AAID,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACxC,CAAA;AA2HD;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,mBAAmB,CAgD/D"}
|
package/dist/mrkdwn.js
CHANGED
|
@@ -50,4 +50,165 @@ export function markdownToMrkdwn(md) {
|
|
|
50
50
|
}
|
|
51
51
|
return text;
|
|
52
52
|
}
|
|
53
|
+
/** Check if a line is a markdown table separator (|---|---|) */
|
|
54
|
+
function isTableSeparator(line) {
|
|
55
|
+
return /^\|?(\s*:?-+:?\s*\|)+\s*:?-+:?\s*\|?\s*$/.test(line.trim());
|
|
56
|
+
}
|
|
57
|
+
/** Check if a line looks like a markdown table row */
|
|
58
|
+
function isTableRow(line) {
|
|
59
|
+
const trimmed = line.trim();
|
|
60
|
+
return trimmed.includes('|') && trimmed.length > 0 && !isTableSeparator(trimmed);
|
|
61
|
+
}
|
|
62
|
+
/** Check if text contains a markdown table (header + separator pattern) */
|
|
63
|
+
function containsTable(text) {
|
|
64
|
+
const lines = text.split('\n');
|
|
65
|
+
for (let i = 0; i < lines.length - 1; i++) {
|
|
66
|
+
if (isTableRow(lines[i]) && isTableSeparator(lines[i + 1]))
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
/** Split markdown into text and table segments, keeping code blocks intact */
|
|
72
|
+
function splitIntoSegments(md) {
|
|
73
|
+
const lines = md.split('\n');
|
|
74
|
+
const segments = [];
|
|
75
|
+
let textBuf = [];
|
|
76
|
+
let inCodeBlock = false;
|
|
77
|
+
let i = 0;
|
|
78
|
+
while (i < lines.length) {
|
|
79
|
+
// Track fenced code block boundaries
|
|
80
|
+
if (lines[i].trimStart().startsWith('```')) {
|
|
81
|
+
inCodeBlock = !inCodeBlock;
|
|
82
|
+
textBuf.push(lines[i]);
|
|
83
|
+
i++;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
if (inCodeBlock) {
|
|
87
|
+
textBuf.push(lines[i]);
|
|
88
|
+
i++;
|
|
89
|
+
continue;
|
|
90
|
+
}
|
|
91
|
+
// Detect table start: header row followed by separator row
|
|
92
|
+
if (i + 1 < lines.length && isTableRow(lines[i]) && isTableSeparator(lines[i + 1])) {
|
|
93
|
+
// Flush accumulated text
|
|
94
|
+
if (textBuf.length > 0) {
|
|
95
|
+
segments.push({ type: 'text', content: textBuf.join('\n') });
|
|
96
|
+
textBuf = [];
|
|
97
|
+
}
|
|
98
|
+
// Collect all table lines (header + separator + data rows)
|
|
99
|
+
const tableLines = [lines[i], lines[i + 1]];
|
|
100
|
+
i += 2;
|
|
101
|
+
while (i < lines.length && isTableRow(lines[i])) {
|
|
102
|
+
tableLines.push(lines[i]);
|
|
103
|
+
i++;
|
|
104
|
+
}
|
|
105
|
+
segments.push({ type: 'table', content: tableLines.join('\n') });
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
textBuf.push(lines[i]);
|
|
109
|
+
i++;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (textBuf.length > 0) {
|
|
113
|
+
segments.push({ type: 'text', content: textBuf.join('\n') });
|
|
114
|
+
}
|
|
115
|
+
return segments;
|
|
116
|
+
}
|
|
117
|
+
/** Parse cells from a table row line */
|
|
118
|
+
function parseRowCells(line) {
|
|
119
|
+
return line.replace(/^\|/, '').replace(/\|\s*$/, '').split('|').map(c => c.trim());
|
|
120
|
+
}
|
|
121
|
+
/** Parse column alignments from a separator row */
|
|
122
|
+
function parseColumnAlignments(separator) {
|
|
123
|
+
return parseRowCells(separator).map(col => {
|
|
124
|
+
const t = col.trim();
|
|
125
|
+
if (t.startsWith(':') && t.endsWith(':'))
|
|
126
|
+
return 'center';
|
|
127
|
+
if (t.endsWith(':'))
|
|
128
|
+
return 'right';
|
|
129
|
+
return 'left';
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
/** Convert a markdown table string into a Slack table block */
|
|
133
|
+
function parseTableToBlock(tableStr) {
|
|
134
|
+
const lines = tableStr.trim().split('\n');
|
|
135
|
+
const headerCells = parseRowCells(lines[0]);
|
|
136
|
+
const alignments = parseColumnAlignments(lines[1]);
|
|
137
|
+
const colCount = headerCells.length;
|
|
138
|
+
const columnSettings = Array.from({ length: colCount }, (_, i) => ({
|
|
139
|
+
align: alignments[i] || 'left',
|
|
140
|
+
}));
|
|
141
|
+
const rows = [];
|
|
142
|
+
// Header row
|
|
143
|
+
rows.push(headerCells.map(text => ({ type: 'raw_text', text })));
|
|
144
|
+
// Data rows (pad to column count if needed)
|
|
145
|
+
for (let r = 2; r < lines.length; r++) {
|
|
146
|
+
const cells = parseRowCells(lines[r]);
|
|
147
|
+
rows.push(Array.from({ length: colCount }, (_, i) => ({
|
|
148
|
+
type: 'raw_text',
|
|
149
|
+
text: cells[i] ?? '',
|
|
150
|
+
})));
|
|
151
|
+
}
|
|
152
|
+
return { type: 'table', column_settings: columnSettings, rows };
|
|
153
|
+
}
|
|
154
|
+
const SECTION_TEXT_LIMIT = 3000;
|
|
155
|
+
/**
|
|
156
|
+
* Convert markdown to a Slack message payload with Block Kit support.
|
|
157
|
+
*
|
|
158
|
+
* When the markdown contains tables, they are converted to Slack table blocks.
|
|
159
|
+
* Non-table text is wrapped in section blocks with mrkdwn formatting.
|
|
160
|
+
* When no tables are present, returns plain mrkdwn text (no blocks).
|
|
161
|
+
*
|
|
162
|
+
* Slack limits: max 1 table block per message. If multiple tables exist,
|
|
163
|
+
* only the first becomes a table block; the rest are rendered as code blocks.
|
|
164
|
+
*/
|
|
165
|
+
export function markdownToSlack(md) {
|
|
166
|
+
// Quick check: strip code blocks and look for tables
|
|
167
|
+
const withoutCode = md.replace(/```[\s\S]*?```/g, '');
|
|
168
|
+
if (!containsTable(withoutCode)) {
|
|
169
|
+
return { text: markdownToMrkdwn(md) };
|
|
170
|
+
}
|
|
171
|
+
const segments = splitIntoSegments(md);
|
|
172
|
+
const blocks = [];
|
|
173
|
+
let tableUsed = false;
|
|
174
|
+
for (const seg of segments) {
|
|
175
|
+
if (seg.type === 'table') {
|
|
176
|
+
if (!tableUsed) {
|
|
177
|
+
blocks.push(parseTableToBlock(seg.content));
|
|
178
|
+
tableUsed = true;
|
|
179
|
+
}
|
|
180
|
+
else {
|
|
181
|
+
// Slack allows only 1 table per message; extras become code blocks
|
|
182
|
+
blocks.push({
|
|
183
|
+
type: 'section',
|
|
184
|
+
text: { type: 'mrkdwn', text: '```\n' + seg.content + '\n```' },
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
const mrkdwn = markdownToMrkdwn(seg.content).trim();
|
|
190
|
+
if (!mrkdwn)
|
|
191
|
+
continue;
|
|
192
|
+
if (mrkdwn.length <= SECTION_TEXT_LIMIT) {
|
|
193
|
+
blocks.push({ type: 'section', text: { type: 'mrkdwn', text: mrkdwn } });
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
// Split long text at paragraph boundaries to stay within section limit
|
|
197
|
+
let remaining = mrkdwn;
|
|
198
|
+
while (remaining.length > 0) {
|
|
199
|
+
if (remaining.length <= SECTION_TEXT_LIMIT) {
|
|
200
|
+
blocks.push({ type: 'section', text: { type: 'mrkdwn', text: remaining } });
|
|
201
|
+
break;
|
|
202
|
+
}
|
|
203
|
+
const splitAt = remaining.lastIndexOf('\n\n', SECTION_TEXT_LIMIT);
|
|
204
|
+
const cutPoint = splitAt > 0 ? splitAt : SECTION_TEXT_LIMIT;
|
|
205
|
+
blocks.push({ type: 'section', text: { type: 'mrkdwn', text: remaining.slice(0, cutPoint) } });
|
|
206
|
+
remaining = remaining.slice(cutPoint).replace(/^\n+/, '');
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Fallback text for notifications / accessibility
|
|
212
|
+
return { text: markdownToMrkdwn(md), blocks };
|
|
213
|
+
}
|
|
53
214
|
//# sourceMappingURL=mrkdwn.js.map
|
package/dist/mrkdwn.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mrkdwn.js","sourceRoot":"","sources":["../src/mrkdwn.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,gFAAgF;AAChF,MAAM,EAAE,GAAG,cAAc,CAAA;AAEzB,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,MAAM,YAAY,GAAa,EAAE,CAAA;IAEjC,SAAS,IAAI,CAAC,KAAa;QACzB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,OAAO,GAAG,EAAE,MAAM,YAAY,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,EAAE,CAAA;IAClD,CAAC;IAED,yEAAyE;IACzE,IAAI,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAEvD,qCAAqC;IACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAA;IAE1F,qCAAqC;IACrC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAA;IAE7F,sCAAsC;IACtC,kEAAkE;IAClE,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;IAE9E,0CAA0C;IAC1C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,CAAA;IAE/E,2EAA2E;IAC3E,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,CAAC,CAAC,CAAA;IAE7E,0DAA0D;IAC1D,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAA;IAEnE,sCAAsC;IACtC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;IAEzC,sBAAsB;IACtB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAA;IAE3C,8CAA8C;IAC9C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAA;IAE/C,6CAA6C;IAC7C,gFAAgF;IAChF,mEAAmE;IACnE,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"mrkdwn.js","sourceRoot":"","sources":["../src/mrkdwn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sena-ai/connector-slack",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"dev": "tsc -b --watch"
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
|
-
"@sena-ai/core": "^1.0.
|
|
20
|
+
"@sena-ai/core": "^1.0.13",
|
|
21
21
|
"@slack/web-api": "^7.0.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|