@sena-ai/connector-slack 1.0.9 → 1.0.10
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.d.ts +2 -0
- package/dist/__tests__/mrkdwn.test.d.ts.map +1 -0
- package/dist/__tests__/mrkdwn.test.js +56 -0
- package/dist/__tests__/mrkdwn.test.js.map +1 -0
- package/dist/connector.d.ts.map +1 -1
- package/dist/connector.js +3 -1
- package/dist/connector.js.map +1 -1
- package/dist/mrkdwn.d.ts +16 -0
- package/dist/mrkdwn.d.ts.map +1 -0
- package/dist/mrkdwn.js +51 -0
- package/dist/mrkdwn.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mrkdwn.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/mrkdwn.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { markdownToMrkdwn } from '../mrkdwn.js';
|
|
3
|
+
describe('markdownToMrkdwn', () => {
|
|
4
|
+
it('converts bold', () => {
|
|
5
|
+
expect(markdownToMrkdwn('this is **bold** text')).toBe('this is *bold* text');
|
|
6
|
+
});
|
|
7
|
+
it('converts italic (single asterisk)', () => {
|
|
8
|
+
expect(markdownToMrkdwn('this is *italic* text')).toBe('this is _italic_ text');
|
|
9
|
+
});
|
|
10
|
+
it('converts bold+italic', () => {
|
|
11
|
+
expect(markdownToMrkdwn('this is ***bold italic*** text')).toBe('this is *_bold italic_* text');
|
|
12
|
+
});
|
|
13
|
+
it('converts strikethrough', () => {
|
|
14
|
+
expect(markdownToMrkdwn('this is ~~deleted~~ text')).toBe('this is ~deleted~ text');
|
|
15
|
+
});
|
|
16
|
+
it('converts links', () => {
|
|
17
|
+
expect(markdownToMrkdwn('click [here](https://example.com)')).toBe('click <https://example.com|here>');
|
|
18
|
+
});
|
|
19
|
+
it('converts images to links', () => {
|
|
20
|
+
expect(markdownToMrkdwn('')).toBe('<https://img.png|alt text>');
|
|
21
|
+
});
|
|
22
|
+
it('converts headings to bold', () => {
|
|
23
|
+
expect(markdownToMrkdwn('# Title\n## Subtitle')).toBe('*Title*\n*Subtitle*');
|
|
24
|
+
});
|
|
25
|
+
it('converts horizontal rules', () => {
|
|
26
|
+
expect(markdownToMrkdwn('above\n---\nbelow')).toBe('above\n———\nbelow');
|
|
27
|
+
});
|
|
28
|
+
it('converts unordered list markers to bullets', () => {
|
|
29
|
+
expect(markdownToMrkdwn('- item 1\n- item 2\n* item 3')).toBe('• item 1\n• item 2\n• item 3');
|
|
30
|
+
});
|
|
31
|
+
it('preserves inline code', () => {
|
|
32
|
+
expect(markdownToMrkdwn('use `**not bold**` here')).toBe('use `**not bold**` here');
|
|
33
|
+
});
|
|
34
|
+
it('preserves code blocks', () => {
|
|
35
|
+
const input = '```\n**not bold**\n[not a link](url)\n```';
|
|
36
|
+
expect(markdownToMrkdwn(input)).toBe(input);
|
|
37
|
+
});
|
|
38
|
+
it('handles mixed content', () => {
|
|
39
|
+
const input = '## Summary\n\nThis is **important** and [link](https://x.com).\n\n```js\nconst x = 1\n```';
|
|
40
|
+
const expected = '*Summary*\n\nThis is *important* and <https://x.com|link>.\n\n```js\nconst x = 1\n```';
|
|
41
|
+
expect(markdownToMrkdwn(input)).toBe(expected);
|
|
42
|
+
});
|
|
43
|
+
it('passes through plain text unchanged', () => {
|
|
44
|
+
const input = 'just plain text with no formatting';
|
|
45
|
+
expect(markdownToMrkdwn(input)).toBe(input);
|
|
46
|
+
});
|
|
47
|
+
it('handles numbered lists (no change needed)', () => {
|
|
48
|
+
const input = '1. first\n2. second';
|
|
49
|
+
expect(markdownToMrkdwn(input)).toBe(input);
|
|
50
|
+
});
|
|
51
|
+
it('preserves blockquotes', () => {
|
|
52
|
+
const input = '> this is a quote';
|
|
53
|
+
expect(markdownToMrkdwn(input)).toBe('> this is a quote');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=mrkdwn.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mrkdwn.test.js","sourceRoot":"","sources":["../../src/__tests__/mrkdwn.test.ts"],"names":[],"mappings":"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"}
|
package/dist/connector.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAiF,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"connector.d.ts","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAiF,MAAM,eAAe,CAAA;AAK7H,MAAM,MAAM,qBAAqB,GAAG;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,MAAM,CAAA;IACrB,kHAAkH;IAClH,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CACjC,CAAA;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,SAAS,CAoCxE"}
|
package/dist/connector.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { WebClient } from '@slack/web-api';
|
|
2
2
|
import { verifySignature } from './verify.js';
|
|
3
|
+
import { markdownToMrkdwn } from './mrkdwn.js';
|
|
3
4
|
export function slackConnector(options) {
|
|
4
5
|
const { appId, botToken, signingSecret, thinkingMessage } = options;
|
|
5
6
|
const slack = new WebClient(botToken);
|
|
@@ -226,7 +227,8 @@ function createSlackOutput(slack, context, thinkingMessage) {
|
|
|
226
227
|
}
|
|
227
228
|
console.log(`[slack] sendResult: channel=${channel}, thread_ts=${threadTs}, text.length=${text.length}`);
|
|
228
229
|
try {
|
|
229
|
-
const
|
|
230
|
+
const mrkdwnText = markdownToMrkdwn(text);
|
|
231
|
+
const result = await slack.chat.postMessage({ channel, thread_ts: threadTs, text: mrkdwnText });
|
|
230
232
|
console.log(`[slack] sendResult ok: ts=${result.ts}, ok=${result.ok}`);
|
|
231
233
|
}
|
|
232
234
|
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;
|
|
1
|
+
{"version":3,"file":"connector.js","sourceRoot":"","sources":["../src/connector.ts"],"names":[],"mappings":"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"}
|
package/dist/mrkdwn.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert standard Markdown to Slack mrkdwn format.
|
|
3
|
+
*
|
|
4
|
+
* Key differences handled:
|
|
5
|
+
* - **bold** → *bold*
|
|
6
|
+
* - *italic* → _italic_
|
|
7
|
+
* - ~~strike~~ → ~strike~
|
|
8
|
+
* - [text](url) → <url|text>
|
|
9
|
+
* -  → <url|alt> (images → links)
|
|
10
|
+
* - # Heading → *Heading*
|
|
11
|
+
* - Horizontal rules (--- etc.) → ———
|
|
12
|
+
*
|
|
13
|
+
* Code blocks (``` and `) are preserved as-is since Slack supports them natively.
|
|
14
|
+
*/
|
|
15
|
+
export declare function markdownToMrkdwn(md: string): string;
|
|
16
|
+
//# sourceMappingURL=mrkdwn.d.ts.map
|
|
@@ -0,0 +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,CA8CnD"}
|
package/dist/mrkdwn.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert standard Markdown to Slack mrkdwn format.
|
|
3
|
+
*
|
|
4
|
+
* Key differences handled:
|
|
5
|
+
* - **bold** → *bold*
|
|
6
|
+
* - *italic* → _italic_
|
|
7
|
+
* - ~~strike~~ → ~strike~
|
|
8
|
+
* - [text](url) → <url|text>
|
|
9
|
+
* -  → <url|alt> (images → links)
|
|
10
|
+
* - # Heading → *Heading*
|
|
11
|
+
* - Horizontal rules (--- etc.) → ———
|
|
12
|
+
*
|
|
13
|
+
* Code blocks (``` and `) are preserved as-is since Slack supports them natively.
|
|
14
|
+
*/
|
|
15
|
+
// Use zero-width spaces as placeholder boundaries (won't appear in normal text)
|
|
16
|
+
const PH = '\u200B\u200B';
|
|
17
|
+
export function markdownToMrkdwn(md) {
|
|
18
|
+
const placeholders = [];
|
|
19
|
+
function hold(value) {
|
|
20
|
+
placeholders.push(value);
|
|
21
|
+
return `${PH}PH_${placeholders.length - 1}${PH}`;
|
|
22
|
+
}
|
|
23
|
+
// 1. Extract code blocks and inline code to protect them from conversion
|
|
24
|
+
let text = md.replace(/```[\s\S]*?```/g, match => hold(match));
|
|
25
|
+
text = text.replace(/`[^`\n]+`/g, match => hold(match));
|
|
26
|
+
// 2. Images:  → <url|alt>
|
|
27
|
+
text = text.replace(/!\[([^\]]*)\]\(([^)]+)\)/g, (_, alt, url) => hold(`<${url}|${alt}>`));
|
|
28
|
+
// 3. Links: [text](url) → <url|text>
|
|
29
|
+
text = text.replace(/\[([^\]]+)\]\(([^)]+)\)/g, (_, label, url) => hold(`<${url}|${label}>`));
|
|
30
|
+
// 4. Headings: # text → *text* (bold)
|
|
31
|
+
// Use placeholder to prevent italic regex from catching the *s
|
|
32
|
+
text = text.replace(/^#{1,6}\s+(.+)$/gm, (_, content) => hold(`*${content}*`));
|
|
33
|
+
// 5. Bold + Italic: ***text*** → *_text_*
|
|
34
|
+
text = text.replace(/\*{3}(.+?)\*{3}/g, (_, content) => hold(`*_${content}_*`));
|
|
35
|
+
// 6. Bold: **text** → *text* (use placeholder to protect from italic pass)
|
|
36
|
+
text = text.replace(/\*{2}(.+?)\*{2}/g, (_, content) => hold(`*${content}*`));
|
|
37
|
+
// 7. Italic: *text* → _text_ (remaining single asterisks)
|
|
38
|
+
text = text.replace(/(?<!\*)\*(?!\*)(.+?)(?<!\*)\*(?!\*)/g, '_$1_');
|
|
39
|
+
// 8. Strikethrough: ~~text~~ → ~text~
|
|
40
|
+
text = text.replace(/~~(.+?)~~/g, '~$1~');
|
|
41
|
+
// 9. Horizontal rules
|
|
42
|
+
text = text.replace(/^[-*_]{3,}$/gm, '———');
|
|
43
|
+
// 10. Unordered list markers: - item → • item
|
|
44
|
+
text = text.replace(/^(\s*)[-*+]\s+/gm, '$1• ');
|
|
45
|
+
// Restore all placeholders
|
|
46
|
+
for (let i = 0; i < placeholders.length; i++) {
|
|
47
|
+
text = text.replace(`${PH}PH_${i}${PH}`, placeholders[i]);
|
|
48
|
+
}
|
|
49
|
+
return text;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=mrkdwn.js.map
|
|
@@ -0,0 +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,2BAA2B;IAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,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"}
|
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.10",
|
|
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.8",
|
|
21
21
|
"@slack/web-api": "^7.0.0"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|