@ai-devkit/channel-connector 0.5.0 → 0.7.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.
- package/README.md +31 -0
- package/dist/ChannelManager.d.ts +1 -1
- package/dist/ChannelManager.d.ts.map +1 -1
- package/dist/ChannelManager.js +2 -8
- package/dist/ChannelManager.js.map +1 -1
- package/dist/ConfigStore.d.ts +1 -1
- package/dist/ConfigStore.d.ts.map +1 -1
- package/dist/ConfigStore.js +5 -41
- package/dist/ConfigStore.js.map +1 -1
- package/dist/adapters/ChannelAdapter.d.ts +1 -1
- package/dist/adapters/ChannelAdapter.d.ts.map +1 -1
- package/dist/adapters/ChannelAdapter.js +1 -2
- package/dist/adapters/TelegramAdapter.d.ts +2 -2
- package/dist/adapters/TelegramAdapter.d.ts.map +1 -1
- package/dist/adapters/TelegramAdapter.js +13 -16
- package/dist/adapters/TelegramAdapter.js.map +1 -1
- package/dist/index.d.ts +6 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -11
- package/dist/index.js.map +1 -1
- package/dist/types.js +1 -2
- package/dist/utils/telegramHtml.js +3 -6
- package/dist/utils/telegramHtml.js.map +1 -1
- package/package.json +9 -8
- package/vitest.config.ts +20 -0
package/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# @ai-devkit/channel-connector
|
|
2
|
+
|
|
3
|
+
Bridge AI DevKit agent sessions to external messaging channels.
|
|
4
|
+
|
|
5
|
+
This package powers the `ai-devkit channel` commands. Use it when you need the lower-level connector layer that routes messages between running AI coding agents and channels such as Telegram.
|
|
6
|
+
|
|
7
|
+
## What It Provides
|
|
8
|
+
|
|
9
|
+
- **Channel abstraction** — Common interface for external messaging channels
|
|
10
|
+
- **Agent routing** — Forward prompts to running AI coding agent sessions
|
|
11
|
+
- **Response delivery** — Send agent output back through the connected channel
|
|
12
|
+
- **Connector foundation** — Shared utilities for adding future channels
|
|
13
|
+
|
|
14
|
+
## Typical Use
|
|
15
|
+
|
|
16
|
+
Most users should use the CLI:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
ai-devkit channel connect telegram
|
|
20
|
+
ai-devkit channel start --agent <agent-name>
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Use this package directly only when building custom channel integrations or extending AI DevKit's remote-control surface.
|
|
24
|
+
|
|
25
|
+
## Documentation
|
|
26
|
+
|
|
27
|
+
Full guides and workflow examples: **[ai-devkit.com/docs](https://ai-devkit.com/docs/)**
|
|
28
|
+
|
|
29
|
+
## License
|
|
30
|
+
|
|
31
|
+
MIT
|
package/dist/ChannelManager.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelManager.d.ts","sourceRoot":"","sources":["../src/ChannelManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ChannelManager.d.ts","sourceRoot":"","sources":["../src/ChannelManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE;;;GAGG;AACH,qBAAa,cAAc;IACvB,OAAO,CAAC,QAAQ,CAA0C;IAE1D;;;OAGG;IACH,eAAe,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAO9C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIpD;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAK/B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAIjC"}
|
package/dist/ChannelManager.js
CHANGED
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ChannelManager = void 0;
|
|
4
1
|
/**
|
|
5
2
|
* Central registry for channel adapters.
|
|
6
3
|
* Manages adapter lifecycle (start/stop).
|
|
7
4
|
*/
|
|
8
|
-
class ChannelManager {
|
|
9
|
-
|
|
10
|
-
this.adapters = new Map();
|
|
11
|
-
}
|
|
5
|
+
export class ChannelManager {
|
|
6
|
+
adapters = new Map();
|
|
12
7
|
/**
|
|
13
8
|
* Register a channel adapter.
|
|
14
9
|
* @throws If an adapter for the same type is already registered.
|
|
@@ -40,5 +35,4 @@ class ChannelManager {
|
|
|
40
35
|
await Promise.all(stopPromises);
|
|
41
36
|
}
|
|
42
37
|
}
|
|
43
|
-
exports.ChannelManager = ChannelManager;
|
|
44
38
|
//# sourceMappingURL=ChannelManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelManager.js","sourceRoot":"","sources":["../src/ChannelManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ChannelManager.js","sourceRoot":"","sources":["../src/ChannelManager.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,OAAO,cAAc;IACf,QAAQ,GAAgC,IAAI,GAAG,EAAE,CAAC;IAE1D;;;OAGG;IACH,eAAe,CAAC,OAAuB;QACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,qBAAqB,OAAO,CAAC,IAAI,yBAAyB,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACV,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC7E,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO;QACT,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;CACJ"}
|
package/dist/ConfigStore.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigStore.d.ts","sourceRoot":"","sources":["../src/ConfigStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ConfigStore.d.ts","sourceRoot":"","sources":["../src/ConfigStore.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAK9D;;;;GAIG;AACH,qBAAa,WAAW;IACpB,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,CAAC,EAAE,MAAM;IAI/B;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,aAAa,CAAC;IASzC;;OAEG;IACG,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnE;;OAEG;IACG,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;YAKnD,WAAW;CAK5B"}
|
package/dist/ConfigStore.js
CHANGED
|
@@ -1,42 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.ConfigStore = void 0;
|
|
37
|
-
const fs = __importStar(require("fs"));
|
|
38
|
-
const path = __importStar(require("path"));
|
|
39
|
-
const os = __importStar(require("os"));
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import * as path from 'path';
|
|
3
|
+
import * as os from 'os';
|
|
40
4
|
const DEFAULT_CONFIG_PATH = path.join(os.homedir(), '.ai-devkit', 'channels.json');
|
|
41
5
|
const DEFAULT_CONFIG = { channels: {} };
|
|
42
6
|
/**
|
|
@@ -44,7 +8,8 @@ const DEFAULT_CONFIG = { channels: {} };
|
|
|
44
8
|
* Default location: ~/.ai-devkit/channels.json
|
|
45
9
|
* File permissions are set to 0600 to protect tokens.
|
|
46
10
|
*/
|
|
47
|
-
class ConfigStore {
|
|
11
|
+
export class ConfigStore {
|
|
12
|
+
configPath;
|
|
48
13
|
constructor(configPath) {
|
|
49
14
|
this.configPath = configPath ?? DEFAULT_CONFIG_PATH;
|
|
50
15
|
}
|
|
@@ -89,5 +54,4 @@ class ConfigStore {
|
|
|
89
54
|
fs.writeFileSync(this.configPath, JSON.stringify(config, null, 2), { mode: 0o600 });
|
|
90
55
|
}
|
|
91
56
|
}
|
|
92
|
-
exports.ConfigStore = ConfigStore;
|
|
93
57
|
//# sourceMappingURL=ConfigStore.js.map
|
package/dist/ConfigStore.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigStore.js","sourceRoot":"","sources":["../src/ConfigStore.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConfigStore.js","sourceRoot":"","sources":["../src/ConfigStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAGzB,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,eAAe,CAAC,CAAC;AACnF,MAAM,cAAc,GAAkB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAEvD;;;;GAIG;AACH,MAAM,OAAO,WAAW;IACZ,UAAU,CAAS;IAE3B,YAAY,UAAmB;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,mBAAmB,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACX,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAkB,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,EAAE,GAAG,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;QAC/C,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAAmB;QAC/C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,IAAY;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAY;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,MAAqB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC1C,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvC,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACxF,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChannelAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ChannelAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ChannelAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/ChannelAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,4CAA4C;IAC5C,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB,4CAA4C;IAC5C,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEtB;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAElE,oDAAoD;IACpD,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CACjC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ChannelAdapter } from './ChannelAdapter';
|
|
2
|
-
import type { IncomingMessage } from '../types';
|
|
1
|
+
import type { ChannelAdapter } from './ChannelAdapter.js';
|
|
2
|
+
import type { IncomingMessage } from '../types.js';
|
|
3
3
|
export declare const TELEGRAM_CHANNEL_TYPE = "telegram";
|
|
4
4
|
export declare const TELEGRAM_MAX_MESSAGE_LENGTH = 4096;
|
|
5
5
|
export interface TelegramAdapterOptions {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelegramAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/TelegramAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TelegramAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/TelegramAdapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAGhD,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,cAAc;IAClD,QAAQ,CAAC,IAAI,cAAyB;IAEtC,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,cAAc,CAA0D;IAChF,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,sBAAsB;IAIrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAwBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B;;;;;OAKG;IACG,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI3D,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;CAGtC"}
|
|
@@ -1,27 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const telegramHtml_1 = require("../utils/telegramHtml");
|
|
6
|
-
exports.TELEGRAM_CHANNEL_TYPE = 'telegram';
|
|
7
|
-
exports.TELEGRAM_MAX_MESSAGE_LENGTH = 4096;
|
|
1
|
+
import { Telegraf } from 'telegraf';
|
|
2
|
+
import { markdownToTelegramHtml } from '../utils/telegramHtml.js';
|
|
3
|
+
export const TELEGRAM_CHANNEL_TYPE = 'telegram';
|
|
4
|
+
export const TELEGRAM_MAX_MESSAGE_LENGTH = 4096;
|
|
8
5
|
const TELEGRAM_PARSE_MODE = 'HTML';
|
|
9
6
|
/**
|
|
10
7
|
* Telegram Bot API adapter using telegraf with long polling.
|
|
11
8
|
*/
|
|
12
|
-
class TelegramAdapter {
|
|
9
|
+
export class TelegramAdapter {
|
|
10
|
+
type = TELEGRAM_CHANNEL_TYPE;
|
|
11
|
+
bot;
|
|
12
|
+
messageHandler = null;
|
|
13
|
+
running = false;
|
|
13
14
|
constructor(options) {
|
|
14
|
-
this.
|
|
15
|
-
this.messageHandler = null;
|
|
16
|
-
this.running = false;
|
|
17
|
-
this.bot = new telegraf_1.Telegraf(options.botToken);
|
|
15
|
+
this.bot = new Telegraf(options.botToken);
|
|
18
16
|
}
|
|
19
17
|
async start() {
|
|
20
18
|
this.bot.on('text', async (ctx) => {
|
|
21
19
|
if (!this.messageHandler)
|
|
22
20
|
return;
|
|
23
21
|
const msg = {
|
|
24
|
-
channelType:
|
|
22
|
+
channelType: TELEGRAM_CHANNEL_TYPE,
|
|
25
23
|
chatId: String(ctx.message.chat.id),
|
|
26
24
|
userId: String(ctx.message.from.id),
|
|
27
25
|
text: ctx.message.text,
|
|
@@ -49,8 +47,8 @@ class TelegramAdapter {
|
|
|
49
47
|
* mid-tag and produce a partial render in the second chunk.
|
|
50
48
|
*/
|
|
51
49
|
async sendMessage(chatId, text) {
|
|
52
|
-
const html =
|
|
53
|
-
const chunks = chunkMessage(html,
|
|
50
|
+
const html = markdownToTelegramHtml(text);
|
|
51
|
+
const chunks = chunkMessage(html, TELEGRAM_MAX_MESSAGE_LENGTH);
|
|
54
52
|
for (const chunk of chunks) {
|
|
55
53
|
try {
|
|
56
54
|
await this.bot.telegram.sendMessage(chatId, chunk, { parse_mode: TELEGRAM_PARSE_MODE });
|
|
@@ -71,7 +69,6 @@ class TelegramAdapter {
|
|
|
71
69
|
return this.running;
|
|
72
70
|
}
|
|
73
71
|
}
|
|
74
|
-
exports.TelegramAdapter = TelegramAdapter;
|
|
75
72
|
function isParseEntitiesError(error) {
|
|
76
73
|
if (!error || typeof error !== 'object')
|
|
77
74
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TelegramAdapter.js","sourceRoot":"","sources":["../../src/adapters/TelegramAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TelegramAdapter.js","sourceRoot":"","sources":["../../src/adapters/TelegramAdapter.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export { ChannelManager } from './ChannelManager';
|
|
2
|
-
export { ConfigStore } from './ConfigStore';
|
|
3
|
-
export { TelegramAdapter, TELEGRAM_CHANNEL_TYPE, TELEGRAM_MAX_MESSAGE_LENGTH } from './adapters/TelegramAdapter';
|
|
4
|
-
export type { TelegramAdapterOptions } from './adapters/TelegramAdapter';
|
|
5
|
-
export type { ChannelAdapter } from './adapters/ChannelAdapter';
|
|
6
|
-
export type { IncomingMessage, MessageHandler, ChannelConfig, ChannelEntry, ChannelType, TelegramConfig, } from './types';
|
|
1
|
+
export { ChannelManager } from './ChannelManager.js';
|
|
2
|
+
export { ConfigStore } from './ConfigStore.js';
|
|
3
|
+
export { TelegramAdapter, TELEGRAM_CHANNEL_TYPE, TELEGRAM_MAX_MESSAGE_LENGTH } from './adapters/TelegramAdapter.js';
|
|
4
|
+
export type { TelegramAdapterOptions } from './adapters/TelegramAdapter.js';
|
|
5
|
+
export type { ChannelAdapter } from './adapters/ChannelAdapter.js';
|
|
6
|
+
export type { IncomingMessage, MessageHandler, ChannelConfig, ChannelEntry, ChannelType, TelegramConfig, } from './types.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACpH,YAAY,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,YAAY,EACR,eAAe,EACf,cAAc,EACd,aAAa,EACb,YAAY,EACZ,WAAW,EACX,cAAc,GACjB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var ChannelManager_1 = require("./ChannelManager");
|
|
5
|
-
Object.defineProperty(exports, "ChannelManager", { enumerable: true, get: function () { return ChannelManager_1.ChannelManager; } });
|
|
6
|
-
var ConfigStore_1 = require("./ConfigStore");
|
|
7
|
-
Object.defineProperty(exports, "ConfigStore", { enumerable: true, get: function () { return ConfigStore_1.ConfigStore; } });
|
|
8
|
-
var TelegramAdapter_1 = require("./adapters/TelegramAdapter");
|
|
9
|
-
Object.defineProperty(exports, "TelegramAdapter", { enumerable: true, get: function () { return TelegramAdapter_1.TelegramAdapter; } });
|
|
10
|
-
Object.defineProperty(exports, "TELEGRAM_CHANNEL_TYPE", { enumerable: true, get: function () { return TelegramAdapter_1.TELEGRAM_CHANNEL_TYPE; } });
|
|
11
|
-
Object.defineProperty(exports, "TELEGRAM_MAX_MESSAGE_LENGTH", { enumerable: true, get: function () { return TelegramAdapter_1.TELEGRAM_MAX_MESSAGE_LENGTH; } });
|
|
1
|
+
export { ChannelManager } from './ChannelManager.js';
|
|
2
|
+
export { ConfigStore } from './ConfigStore.js';
|
|
3
|
+
export { TelegramAdapter, TELEGRAM_CHANNEL_TYPE, TELEGRAM_MAX_MESSAGE_LENGTH } from './adapters/TelegramAdapter.js';
|
|
12
4
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC"}
|
package/dist/types.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.markdownToTelegramHtml = markdownToTelegramHtml;
|
|
4
|
-
const marked_1 = require("marked");
|
|
1
|
+
import { Marked } from 'marked';
|
|
5
2
|
const escapeHtml = (s) => s.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>');
|
|
6
3
|
const escapeUrl = (s) => s.replace(/&/g, '&').replace(/"/g, '"');
|
|
7
4
|
const renderer = {
|
|
@@ -77,12 +74,12 @@ const renderer = {
|
|
|
77
74
|
return escapeHtml(token.text);
|
|
78
75
|
},
|
|
79
76
|
};
|
|
80
|
-
const marked = new
|
|
77
|
+
const marked = new Marked({ renderer });
|
|
81
78
|
/**
|
|
82
79
|
* Convert markdown to Telegram-compatible HTML (uses only the tag subset
|
|
83
80
|
* Telegram's Bot API accepts for parse_mode: 'HTML').
|
|
84
81
|
*/
|
|
85
|
-
function markdownToTelegramHtml(markdown) {
|
|
82
|
+
export function markdownToTelegramHtml(markdown) {
|
|
86
83
|
return marked.parse(markdown, { async: false }).trimEnd();
|
|
87
84
|
}
|
|
88
85
|
//# sourceMappingURL=telegramHtml.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegramHtml.js","sourceRoot":"","sources":["../../src/utils/telegramHtml.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"telegramHtml.js","sourceRoot":"","sources":["../../src/utils/telegramHtml.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -3,20 +3,22 @@
|
|
|
3
3
|
"nx": {
|
|
4
4
|
"name": "channel-connector"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.7.0",
|
|
7
|
+
"type": "module",
|
|
7
8
|
"description": "Generic messaging bridge for connecting to external communication platforms",
|
|
8
9
|
"main": "dist/index.js",
|
|
9
10
|
"types": "dist/index.d.ts",
|
|
10
11
|
"exports": {
|
|
11
12
|
".": {
|
|
12
13
|
"types": "./dist/index.d.ts",
|
|
13
|
-
"
|
|
14
|
+
"import": "./dist/index.js"
|
|
14
15
|
}
|
|
15
16
|
},
|
|
16
17
|
"scripts": {
|
|
17
18
|
"build": "tsc",
|
|
18
|
-
"test": "
|
|
19
|
-
"test:
|
|
19
|
+
"test": "vitest run",
|
|
20
|
+
"test:watch": "vitest",
|
|
21
|
+
"test:coverage": "vitest run --coverage",
|
|
20
22
|
"lint": "eslint src --ext .ts",
|
|
21
23
|
"typecheck": "tsc --noEmit",
|
|
22
24
|
"clean": "rm -rf dist"
|
|
@@ -35,14 +37,13 @@
|
|
|
35
37
|
"telegraf": "^4.16.3"
|
|
36
38
|
},
|
|
37
39
|
"devDependencies": {
|
|
38
|
-
"@types/jest": "^30.0.0",
|
|
39
40
|
"@types/node": "^20.11.5",
|
|
40
41
|
"@typescript-eslint/eslint-plugin": "^6.19.1",
|
|
41
42
|
"@typescript-eslint/parser": "^6.19.1",
|
|
43
|
+
"@vitest/coverage-v8": "^2.1.0",
|
|
42
44
|
"eslint": "^8.56.0",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"typescript": "^5.3.3"
|
|
45
|
+
"typescript": "^5.5.0",
|
|
46
|
+
"vitest": "^2.1.0"
|
|
46
47
|
},
|
|
47
48
|
"engines": {
|
|
48
49
|
"node": ">=20.20.0"
|
package/vitest.config.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { defineConfig } from 'vitest/config';
|
|
2
|
+
|
|
3
|
+
export default defineConfig({
|
|
4
|
+
test: {
|
|
5
|
+
globals: true,
|
|
6
|
+
environment: 'node',
|
|
7
|
+
include: ['src/**/__tests__/**/*.test.ts', 'src/**/*.test.ts'],
|
|
8
|
+
coverage: {
|
|
9
|
+
provider: 'v8',
|
|
10
|
+
include: ['src/**/*.ts'],
|
|
11
|
+
exclude: ['src/index.ts', 'src/**/*.d.ts', 'src/types.ts'],
|
|
12
|
+
thresholds: {
|
|
13
|
+
branches: 75,
|
|
14
|
+
functions: 75,
|
|
15
|
+
lines: 75,
|
|
16
|
+
statements: 75,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
});
|