@framers/agentos 0.12.17 → 0.12.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.
- package/dist/io/channels/adapters/PlivoSmsChannelAdapter.d.ts +150 -0
- package/dist/io/channels/adapters/PlivoSmsChannelAdapter.d.ts.map +1 -0
- package/dist/io/channels/adapters/PlivoSmsChannelAdapter.js +354 -0
- package/dist/io/channels/adapters/PlivoSmsChannelAdapter.js.map +1 -0
- package/dist/io/channels/adapters/index.d.ts +2 -0
- package/dist/io/channels/adapters/index.d.ts.map +1 -1
- package/dist/io/channels/adapters/index.js +1 -0
- package/dist/io/channels/adapters/index.js.map +1 -1
- package/dist/io/channels/index.d.ts +2 -0
- package/dist/io/channels/index.d.ts.map +1 -1
- package/dist/io/channels/index.js +2 -0
- package/dist/io/channels/index.js.map +1 -1
- package/dist/io/channels/types.d.ts +1 -1
- package/dist/io/channels/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Plivo SMS Channel Adapter for AgentOS.
|
|
3
|
+
*
|
|
4
|
+
* Fills the `sms` channel slot using Plivo's Messaging API. Bidirectional:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Outbound** — sends SMS via `POST /v1/Account/{authId}/Message/` using
|
|
7
|
+
* HTTP Basic auth (Auth ID / Auth Token).
|
|
8
|
+
* 2. **Inbound** — Plivo POSTs incoming messages to a configured message URL.
|
|
9
|
+
* The host application forwards the request to {@link handleIncomingWebhook},
|
|
10
|
+
* which verifies Plivo's inbound-message signature before emitting. Inbound
|
|
11
|
+
* messaging is signed under `X-Plivo-Signature-MA-V3`; the plain V3 and the
|
|
12
|
+
* V2 family are accepted as well.
|
|
13
|
+
*
|
|
14
|
+
* The adapter does NOT start its own HTTP server; the host wires a route
|
|
15
|
+
* (Express/Fastify/etc.) that forwards inbound requests here — the same
|
|
16
|
+
* pattern used by {@link WhatsAppChannelAdapter}.
|
|
17
|
+
*
|
|
18
|
+
* Voice for Plivo already ships separately under `telephony/providers/plivo.ts`;
|
|
19
|
+
* this adapter is SMS only.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const sms = new PlivoSmsChannelAdapter();
|
|
24
|
+
* await sms.initialize({
|
|
25
|
+
* platform: 'plivo',
|
|
26
|
+
* credential: process.env.PLIVO_AUTH_TOKEN!, // Auth Token
|
|
27
|
+
* params: {
|
|
28
|
+
* authId: process.env.PLIVO_AUTH_ID!,
|
|
29
|
+
* phoneNumber: '+14150000002', // Plivo sender number
|
|
30
|
+
* webhookUrl: 'https://myhost.example/plivo/inbound', // signed message URL
|
|
31
|
+
* },
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @module @framers/agentos/channels/adapters/PlivoSmsChannelAdapter
|
|
36
|
+
*/
|
|
37
|
+
import type { ChannelAuthConfig, ChannelCapability, ChannelPlatform, ChannelSendResult, MessageContent } from '../types.js';
|
|
38
|
+
import { BaseChannelAdapter } from './BaseChannelAdapter.js';
|
|
39
|
+
import type { RetryConfig } from './BaseChannelAdapter.js';
|
|
40
|
+
/**
|
|
41
|
+
* Channel adapter for SMS backed by Plivo.
|
|
42
|
+
*
|
|
43
|
+
* Capabilities: text. (MMS media is out of scope for this adapter.)
|
|
44
|
+
*/
|
|
45
|
+
export declare class PlivoSmsChannelAdapter extends BaseChannelAdapter<PlivoSmsAuthParams> {
|
|
46
|
+
readonly platform: ChannelPlatform;
|
|
47
|
+
readonly displayName = "Plivo SMS";
|
|
48
|
+
readonly capabilities: readonly ChannelCapability[];
|
|
49
|
+
/** Plivo Auth ID (account id, used in the API path and Basic auth). */
|
|
50
|
+
private authId;
|
|
51
|
+
/** Plivo Auth Token (Basic auth password + inbound-webhook HMAC key). */
|
|
52
|
+
private authToken;
|
|
53
|
+
/** Sender number / short code / sender id used as `src`. */
|
|
54
|
+
private phoneNumber;
|
|
55
|
+
/** Externally-visible message URL Plivo signs, for inbound verification. */
|
|
56
|
+
private webhookUrl;
|
|
57
|
+
/** When true (default), inbound webhooks must carry a valid V3 signature. */
|
|
58
|
+
private verifySignatureEnabled;
|
|
59
|
+
/** Pre-computed `Authorization: Basic ...` header value. */
|
|
60
|
+
private authHeader;
|
|
61
|
+
/** Fetch implementation (injectable for tests). */
|
|
62
|
+
private readonly fetchImpl;
|
|
63
|
+
/**
|
|
64
|
+
* @param opts.fetchImpl - Override the global fetch (inject a mock in tests).
|
|
65
|
+
* @param opts.retryConfig - Connection retry tuning (see BaseChannelAdapter).
|
|
66
|
+
*/
|
|
67
|
+
constructor(opts?: {
|
|
68
|
+
fetchImpl?: typeof fetch;
|
|
69
|
+
retryConfig?: Partial<RetryConfig>;
|
|
70
|
+
});
|
|
71
|
+
protected doConnect(auth: ChannelAuthConfig & {
|
|
72
|
+
params?: PlivoSmsAuthParams;
|
|
73
|
+
}): Promise<void>;
|
|
74
|
+
protected doSendMessage(conversationId: string, content: MessageContent): Promise<ChannelSendResult>;
|
|
75
|
+
protected doShutdown(): Promise<void>;
|
|
76
|
+
/**
|
|
77
|
+
* Handle an inbound Plivo SMS webhook. The host forwards Plivo's POST here.
|
|
78
|
+
*
|
|
79
|
+
* When signature verification is enabled (the default), the request must
|
|
80
|
+
* carry valid `X-Plivo-Signature-V3` / `-Nonce` headers and the URL Plivo
|
|
81
|
+
* signed; otherwise the message is dropped (fail closed).
|
|
82
|
+
*
|
|
83
|
+
* @param body - Parsed form/JSON body of Plivo's inbound-message POST.
|
|
84
|
+
* @param meta - Request metadata needed to verify the V3 signature.
|
|
85
|
+
*/
|
|
86
|
+
handleIncomingWebhook(body: Record<string, unknown>, meta?: {
|
|
87
|
+
method?: string;
|
|
88
|
+
/** The exact externally-visible URL Plivo POSTed to (must byte-match). */
|
|
89
|
+
url?: string;
|
|
90
|
+
headers?: Record<string, string | string[] | undefined>;
|
|
91
|
+
}): void;
|
|
92
|
+
/**
|
|
93
|
+
* Verify an inbound request genuinely came from Plivo.
|
|
94
|
+
*
|
|
95
|
+
* Plivo sends more than one signature header and the one that matches depends
|
|
96
|
+
* on the channel. Inbound messaging (SMS) is signed under
|
|
97
|
+
* `X-Plivo-Signature-MA-V3`, while voice callbacks use the plain
|
|
98
|
+
* `X-Plivo-Signature-V3`; Plivo's public docs also still document the older V2
|
|
99
|
+
* scheme (`X-Plivo-Signature-MA-V2` / `X-Plivo-Signature-V2`). To be robust we
|
|
100
|
+
* accept the request if ANY family validates: the V3 family (body params folded
|
|
101
|
+
* into the signed string, keyed on `X-Plivo-Signature-V3-Nonce`) or the V2
|
|
102
|
+
* family (URL + nonce only, keyed on `X-Plivo-Signature-V2-Nonce`). Every
|
|
103
|
+
* candidate must still match cryptographically, so accepting several families
|
|
104
|
+
* cannot produce a false accept.
|
|
105
|
+
*
|
|
106
|
+
* Fails closed: missing URL/token, or no family matches → not from Plivo.
|
|
107
|
+
*/
|
|
108
|
+
private isFromPlivo;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Compute Plivo's X-Plivo-Signature-V3 for a callback, matching the algorithm
|
|
112
|
+
* in `plivo-python`'s `signature_v3.py`.
|
|
113
|
+
*
|
|
114
|
+
* For a POST callback the signed string is:
|
|
115
|
+
* `{scheme}://{host}{path}?` + (query as sorted `k=v&…` + `.` if present)
|
|
116
|
+
* + sorted, separator-less `key`+`value` body params + `.` + nonce
|
|
117
|
+
* then `base64(HMAC_SHA256(authToken, signedString))`.
|
|
118
|
+
*/
|
|
119
|
+
export declare function computePlivoV3Signature(input: {
|
|
120
|
+
method: string;
|
|
121
|
+
url: string;
|
|
122
|
+
nonce: string;
|
|
123
|
+
authToken: string;
|
|
124
|
+
params: Record<string, unknown>;
|
|
125
|
+
}): string;
|
|
126
|
+
/**
|
|
127
|
+
* Compute Plivo's V2-family signature (`X-Plivo-Signature-MA-V2` for messaging,
|
|
128
|
+
* `X-Plivo-Signature-V2` for voice). Unlike V3 it folds in no params: strip the
|
|
129
|
+
* query off the URL, append the V2 nonce, HMAC-SHA256 with the auth token, then
|
|
130
|
+
* base64. Matches `plivo-python`'s `validate_signature`.
|
|
131
|
+
*/
|
|
132
|
+
export declare function computePlivoV2Signature(input: {
|
|
133
|
+
url: string;
|
|
134
|
+
nonce: string;
|
|
135
|
+
authToken: string;
|
|
136
|
+
}): string;
|
|
137
|
+
/** Platform-specific parameters for a Plivo SMS connection. */
|
|
138
|
+
export interface PlivoSmsAuthParams extends Record<string, string | undefined> {
|
|
139
|
+
/** Plivo Auth ID (account identifier). Required. */
|
|
140
|
+
authId?: string;
|
|
141
|
+
/** Plivo Auth Token. If omitted, the `credential` field is used. */
|
|
142
|
+
authToken?: string;
|
|
143
|
+
/** Plivo sender number / short code / sender id used as `src`. Required. */
|
|
144
|
+
phoneNumber?: string;
|
|
145
|
+
/** Externally-visible message URL Plivo signs; used to verify inbound webhooks. */
|
|
146
|
+
webhookUrl?: string;
|
|
147
|
+
/** Set to the string `'false'` to disable inbound signature verification. */
|
|
148
|
+
verifySignature?: string;
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=PlivoSmsChannelAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlivoSmsChannelAdapter.d.ts","sourceRoot":"","sources":["../../../../src/io/channels/adapters/PlivoSmsChannelAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Plivo SMS Channel Adapter for AgentOS.
|
|
3
|
+
*
|
|
4
|
+
* Fills the `sms` channel slot using Plivo's Messaging API. Bidirectional:
|
|
5
|
+
*
|
|
6
|
+
* 1. **Outbound** — sends SMS via `POST /v1/Account/{authId}/Message/` using
|
|
7
|
+
* HTTP Basic auth (Auth ID / Auth Token).
|
|
8
|
+
* 2. **Inbound** — Plivo POSTs incoming messages to a configured message URL.
|
|
9
|
+
* The host application forwards the request to {@link handleIncomingWebhook},
|
|
10
|
+
* which verifies Plivo's inbound-message signature before emitting. Inbound
|
|
11
|
+
* messaging is signed under `X-Plivo-Signature-MA-V3`; the plain V3 and the
|
|
12
|
+
* V2 family are accepted as well.
|
|
13
|
+
*
|
|
14
|
+
* The adapter does NOT start its own HTTP server; the host wires a route
|
|
15
|
+
* (Express/Fastify/etc.) that forwards inbound requests here — the same
|
|
16
|
+
* pattern used by {@link WhatsAppChannelAdapter}.
|
|
17
|
+
*
|
|
18
|
+
* Voice for Plivo already ships separately under `telephony/providers/plivo.ts`;
|
|
19
|
+
* this adapter is SMS only.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const sms = new PlivoSmsChannelAdapter();
|
|
24
|
+
* await sms.initialize({
|
|
25
|
+
* platform: 'plivo',
|
|
26
|
+
* credential: process.env.PLIVO_AUTH_TOKEN!, // Auth Token
|
|
27
|
+
* params: {
|
|
28
|
+
* authId: process.env.PLIVO_AUTH_ID!,
|
|
29
|
+
* phoneNumber: '+14150000002', // Plivo sender number
|
|
30
|
+
* webhookUrl: 'https://myhost.example/plivo/inbound', // signed message URL
|
|
31
|
+
* },
|
|
32
|
+
* });
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @module @framers/agentos/channels/adapters/PlivoSmsChannelAdapter
|
|
36
|
+
*/
|
|
37
|
+
import { createHmac, timingSafeEqual } from 'node:crypto';
|
|
38
|
+
import { BaseChannelAdapter } from './BaseChannelAdapter.js';
|
|
39
|
+
// ============================================================================
|
|
40
|
+
// PlivoSmsChannelAdapter
|
|
41
|
+
// ============================================================================
|
|
42
|
+
/**
|
|
43
|
+
* Channel adapter for SMS backed by Plivo.
|
|
44
|
+
*
|
|
45
|
+
* Capabilities: text. (MMS media is out of scope for this adapter.)
|
|
46
|
+
*/
|
|
47
|
+
export class PlivoSmsChannelAdapter extends BaseChannelAdapter {
|
|
48
|
+
/**
|
|
49
|
+
* @param opts.fetchImpl - Override the global fetch (inject a mock in tests).
|
|
50
|
+
* @param opts.retryConfig - Connection retry tuning (see BaseChannelAdapter).
|
|
51
|
+
*/
|
|
52
|
+
constructor(opts) {
|
|
53
|
+
super(opts?.retryConfig);
|
|
54
|
+
this.platform = 'plivo';
|
|
55
|
+
this.displayName = 'Plivo SMS';
|
|
56
|
+
this.capabilities = ['text'];
|
|
57
|
+
/** When true (default), inbound webhooks must carry a valid V3 signature. */
|
|
58
|
+
this.verifySignatureEnabled = true;
|
|
59
|
+
this.fetchImpl = opts?.fetchImpl ?? globalThis.fetch;
|
|
60
|
+
}
|
|
61
|
+
// ── Abstract hook implementations ──
|
|
62
|
+
async doConnect(auth) {
|
|
63
|
+
const params = auth.params ?? {};
|
|
64
|
+
this.authId = params.authId;
|
|
65
|
+
this.authToken = params.authToken ?? auth.credential;
|
|
66
|
+
this.phoneNumber = params.phoneNumber;
|
|
67
|
+
this.webhookUrl = params.webhookUrl;
|
|
68
|
+
this.verifySignatureEnabled = params.verifySignature !== 'false';
|
|
69
|
+
if (!this.authId) {
|
|
70
|
+
throw new Error('Plivo authId is required for SMS.');
|
|
71
|
+
}
|
|
72
|
+
if (!this.authToken) {
|
|
73
|
+
throw new Error('Plivo Auth Token is required. Provide it as credential or params.authToken.');
|
|
74
|
+
}
|
|
75
|
+
if (!this.phoneNumber) {
|
|
76
|
+
throw new Error('A Plivo sender number (params.phoneNumber) is required.');
|
|
77
|
+
}
|
|
78
|
+
this.authHeader =
|
|
79
|
+
'Basic ' + Buffer.from(`${this.authId}:${this.authToken}`).toString('base64');
|
|
80
|
+
// Verify credentials by fetching the account. Tolerate failure — the
|
|
81
|
+
// credentials may still be valid for messaging even if this GET fails.
|
|
82
|
+
try {
|
|
83
|
+
const resp = await this.fetchImpl(`https://api.plivo.com/v1/Account/${this.authId}/`, { headers: { Authorization: this.authHeader }, signal: AbortSignal.timeout(10000) });
|
|
84
|
+
if (resp.ok) {
|
|
85
|
+
const data = (await resp.json());
|
|
86
|
+
this.platformInfo = {
|
|
87
|
+
provider: 'plivo',
|
|
88
|
+
authId: this.authId,
|
|
89
|
+
phoneNumber: this.phoneNumber,
|
|
90
|
+
accountName: data.name,
|
|
91
|
+
};
|
|
92
|
+
console.log(`[Plivo SMS] Connected (${data.name ?? this.authId}, ${this.phoneNumber})`);
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
if (resp.status === 401 || resp.status === 403) {
|
|
96
|
+
throw new Error(`[Plivo SMS] Authentication failed (HTTP ${resp.status}) — check authId/authToken.`);
|
|
97
|
+
}
|
|
98
|
+
console.warn(`[Plivo SMS] Account verification returned HTTP ${resp.status}.`);
|
|
99
|
+
}
|
|
100
|
+
catch (err) {
|
|
101
|
+
if (err instanceof Error && err.message.includes('Authentication failed')) {
|
|
102
|
+
throw err;
|
|
103
|
+
}
|
|
104
|
+
console.warn(`[Plivo SMS] Account verification failed: ${err}`);
|
|
105
|
+
}
|
|
106
|
+
this.platformInfo = { provider: 'plivo', authId: this.authId, phoneNumber: this.phoneNumber };
|
|
107
|
+
console.log(`[Plivo SMS] Connected (${this.phoneNumber})`);
|
|
108
|
+
}
|
|
109
|
+
async doSendMessage(conversationId, content) {
|
|
110
|
+
if (!this.authHeader || !this.authId || !this.phoneNumber) {
|
|
111
|
+
throw new Error('[Plivo SMS] Adapter is not connected.');
|
|
112
|
+
}
|
|
113
|
+
// SMS carries text only; collapse text blocks into one message body.
|
|
114
|
+
const text = content.blocks
|
|
115
|
+
.filter((b) => b.type === 'text')
|
|
116
|
+
.map((b) => b.text)
|
|
117
|
+
.join('\n')
|
|
118
|
+
.trim();
|
|
119
|
+
if (!text) {
|
|
120
|
+
throw new Error('[Plivo SMS] Only text content is supported and none was provided.');
|
|
121
|
+
}
|
|
122
|
+
const resp = await this.fetchImpl(`https://api.plivo.com/v1/Account/${this.authId}/Message/`, {
|
|
123
|
+
method: 'POST',
|
|
124
|
+
headers: {
|
|
125
|
+
Authorization: this.authHeader,
|
|
126
|
+
'Content-Type': 'application/json',
|
|
127
|
+
},
|
|
128
|
+
body: JSON.stringify({
|
|
129
|
+
src: this.phoneNumber,
|
|
130
|
+
dst: conversationId,
|
|
131
|
+
text,
|
|
132
|
+
type: 'sms',
|
|
133
|
+
}),
|
|
134
|
+
signal: AbortSignal.timeout(10000),
|
|
135
|
+
});
|
|
136
|
+
if (!resp.ok) {
|
|
137
|
+
const errText = await resp.text().catch(() => String(resp.status));
|
|
138
|
+
throw new Error(`[Plivo SMS] Send failed — HTTP ${resp.status}: ${errText}`);
|
|
139
|
+
}
|
|
140
|
+
const data = (await resp.json());
|
|
141
|
+
const messageId = data.message_uuid?.[0] ?? data.api_id ?? '';
|
|
142
|
+
return { messageId, timestamp: new Date().toISOString() };
|
|
143
|
+
}
|
|
144
|
+
async doShutdown() {
|
|
145
|
+
this.authHeader = undefined;
|
|
146
|
+
this.authToken = undefined;
|
|
147
|
+
this.authId = undefined;
|
|
148
|
+
this.phoneNumber = undefined;
|
|
149
|
+
console.log('[Plivo SMS] Adapter shut down.');
|
|
150
|
+
}
|
|
151
|
+
// ── Public: inbound webhook ──
|
|
152
|
+
/**
|
|
153
|
+
* Handle an inbound Plivo SMS webhook. The host forwards Plivo's POST here.
|
|
154
|
+
*
|
|
155
|
+
* When signature verification is enabled (the default), the request must
|
|
156
|
+
* carry valid `X-Plivo-Signature-V3` / `-Nonce` headers and the URL Plivo
|
|
157
|
+
* signed; otherwise the message is dropped (fail closed).
|
|
158
|
+
*
|
|
159
|
+
* @param body - Parsed form/JSON body of Plivo's inbound-message POST.
|
|
160
|
+
* @param meta - Request metadata needed to verify the V3 signature.
|
|
161
|
+
*/
|
|
162
|
+
handleIncomingWebhook(body, meta) {
|
|
163
|
+
if (this.status !== 'connected') {
|
|
164
|
+
console.warn('[Plivo SMS] Dropping inbound webhook — adapter not connected.');
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
if (this.verifySignatureEnabled && !this.isFromPlivo(body, meta)) {
|
|
168
|
+
console.warn('[Plivo SMS] Dropping inbound webhook — signature missing or invalid.');
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
const from = String(body.From ?? '');
|
|
172
|
+
const text = String(body.Text ?? '');
|
|
173
|
+
const messageUuid = String(body.MessageUUID ?? '');
|
|
174
|
+
if (!from || !messageUuid) {
|
|
175
|
+
console.warn('[Plivo SMS] Dropping inbound webhook — missing From or MessageUUID.');
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
const channelMessage = {
|
|
179
|
+
messageId: messageUuid,
|
|
180
|
+
platform: 'plivo',
|
|
181
|
+
conversationId: from,
|
|
182
|
+
conversationType: 'direct',
|
|
183
|
+
sender: { id: from },
|
|
184
|
+
content: [{ type: 'text', text }],
|
|
185
|
+
text,
|
|
186
|
+
timestamp: new Date().toISOString(),
|
|
187
|
+
rawEvent: body,
|
|
188
|
+
};
|
|
189
|
+
this.emit({
|
|
190
|
+
type: 'message',
|
|
191
|
+
platform: 'plivo',
|
|
192
|
+
conversationId: from,
|
|
193
|
+
timestamp: channelMessage.timestamp,
|
|
194
|
+
data: channelMessage,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
// ── Private: signature verification ──
|
|
198
|
+
/**
|
|
199
|
+
* Verify an inbound request genuinely came from Plivo.
|
|
200
|
+
*
|
|
201
|
+
* Plivo sends more than one signature header and the one that matches depends
|
|
202
|
+
* on the channel. Inbound messaging (SMS) is signed under
|
|
203
|
+
* `X-Plivo-Signature-MA-V3`, while voice callbacks use the plain
|
|
204
|
+
* `X-Plivo-Signature-V3`; Plivo's public docs also still document the older V2
|
|
205
|
+
* scheme (`X-Plivo-Signature-MA-V2` / `X-Plivo-Signature-V2`). To be robust we
|
|
206
|
+
* accept the request if ANY family validates: the V3 family (body params folded
|
|
207
|
+
* into the signed string, keyed on `X-Plivo-Signature-V3-Nonce`) or the V2
|
|
208
|
+
* family (URL + nonce only, keyed on `X-Plivo-Signature-V2-Nonce`). Every
|
|
209
|
+
* candidate must still match cryptographically, so accepting several families
|
|
210
|
+
* cannot produce a false accept.
|
|
211
|
+
*
|
|
212
|
+
* Fails closed: missing URL/token, or no family matches → not from Plivo.
|
|
213
|
+
*/
|
|
214
|
+
isFromPlivo(body, meta) {
|
|
215
|
+
const headers = meta?.headers ?? {};
|
|
216
|
+
const url = meta?.url ?? this.webhookUrl;
|
|
217
|
+
const method = (meta?.method ?? 'POST').toUpperCase();
|
|
218
|
+
if (!url) {
|
|
219
|
+
console.warn('[Plivo SMS] Cannot verify inbound webhook — no request URL available. ' +
|
|
220
|
+
'Set params.webhookUrl (or pass meta.url) when signature verification is enabled.');
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
if (!this.authToken)
|
|
224
|
+
return false;
|
|
225
|
+
// V3 family: MA-V3 for inbound messaging, plain V3 for voice. Params folded
|
|
226
|
+
// into the signed string, keyed on the V3 nonce.
|
|
227
|
+
const v3 = joinHeaders(headers, ['x-plivo-signature-ma-v3', 'x-plivo-signature-v3']);
|
|
228
|
+
const v3Nonce = headerValue(headers, 'x-plivo-signature-v3-nonce');
|
|
229
|
+
if (v3 && v3Nonce) {
|
|
230
|
+
try {
|
|
231
|
+
const expected = computePlivoV3Signature({
|
|
232
|
+
method,
|
|
233
|
+
url,
|
|
234
|
+
nonce: v3Nonce,
|
|
235
|
+
authToken: this.authToken,
|
|
236
|
+
params: body,
|
|
237
|
+
});
|
|
238
|
+
if (signatureMatches(v3, expected))
|
|
239
|
+
return true;
|
|
240
|
+
}
|
|
241
|
+
catch {
|
|
242
|
+
// malformed URL/input for V3 → fall through to the V2 family
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// V2 family: MA-V2 for messaging, plain V2 for voice. URL + nonce only (no
|
|
246
|
+
// params), keyed on the V2 nonce.
|
|
247
|
+
const v2 = joinHeaders(headers, ['x-plivo-signature-ma-v2', 'x-plivo-signature-v2']);
|
|
248
|
+
const v2Nonce = headerValue(headers, 'x-plivo-signature-v2-nonce');
|
|
249
|
+
if (v2 && v2Nonce) {
|
|
250
|
+
try {
|
|
251
|
+
const expected = computePlivoV2Signature({ url, nonce: v2Nonce, authToken: this.authToken });
|
|
252
|
+
if (signatureMatches(v2, expected))
|
|
253
|
+
return true;
|
|
254
|
+
}
|
|
255
|
+
catch {
|
|
256
|
+
// malformed input → no family matched
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return false;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
// ============================================================================
|
|
263
|
+
// Signature helpers (exported for testing against the Plivo SDK golden fixture)
|
|
264
|
+
// ============================================================================
|
|
265
|
+
/**
|
|
266
|
+
* Compute Plivo's X-Plivo-Signature-V3 for a callback, matching the algorithm
|
|
267
|
+
* in `plivo-python`'s `signature_v3.py`.
|
|
268
|
+
*
|
|
269
|
+
* For a POST callback the signed string is:
|
|
270
|
+
* `{scheme}://{host}{path}?` + (query as sorted `k=v&…` + `.` if present)
|
|
271
|
+
* + sorted, separator-less `key`+`value` body params + `.` + nonce
|
|
272
|
+
* then `base64(HMAC_SHA256(authToken, signedString))`.
|
|
273
|
+
*/
|
|
274
|
+
export function computePlivoV3Signature(input) {
|
|
275
|
+
const { method, url, nonce, authToken, params } = input;
|
|
276
|
+
const parsed = new URL(url);
|
|
277
|
+
const base = `${parsed.protocol}//${parsed.host}${parsed.pathname}`;
|
|
278
|
+
const isPost = method.toUpperCase() === 'POST';
|
|
279
|
+
let signed = base + '?';
|
|
280
|
+
// If the URL carried a query string, append it as sorted k=v&k=v.
|
|
281
|
+
if (parsed.search && parsed.search.length > 1) {
|
|
282
|
+
signed += [...parsed.searchParams.entries()]
|
|
283
|
+
.sort((a, b) => (a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0))
|
|
284
|
+
.map(([k, v]) => `${k}=${v}`)
|
|
285
|
+
.join('&');
|
|
286
|
+
if (isPost)
|
|
287
|
+
signed += '.'; // separator between query and the POST params
|
|
288
|
+
}
|
|
289
|
+
// POST callbacks append sorted key+value body params, then '.' + nonce.
|
|
290
|
+
// GET callbacks are signed over the query string alone (params ARE the query).
|
|
291
|
+
if (isPost) {
|
|
292
|
+
signed += sortedParamsString(params) + '.' + nonce;
|
|
293
|
+
}
|
|
294
|
+
return createHmac('sha256', authToken).update(signed).digest('base64');
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Compute Plivo's V2-family signature (`X-Plivo-Signature-MA-V2` for messaging,
|
|
298
|
+
* `X-Plivo-Signature-V2` for voice). Unlike V3 it folds in no params: strip the
|
|
299
|
+
* query off the URL, append the V2 nonce, HMAC-SHA256 with the auth token, then
|
|
300
|
+
* base64. Matches `plivo-python`'s `validate_signature`.
|
|
301
|
+
*/
|
|
302
|
+
export function computePlivoV2Signature(input) {
|
|
303
|
+
const { url, nonce, authToken } = input;
|
|
304
|
+
const parsed = new URL(url);
|
|
305
|
+
const base = `${parsed.protocol}//${parsed.host}${parsed.pathname}`;
|
|
306
|
+
return createHmac('sha256', authToken).update(base + nonce).digest('base64');
|
|
307
|
+
}
|
|
308
|
+
/** Sorted, separator-less `key`+`value` concatenation (recurses dicts, sorts lists). */
|
|
309
|
+
function sortedParamsString(params) {
|
|
310
|
+
let out = '';
|
|
311
|
+
for (const key of Object.keys(params).sort()) {
|
|
312
|
+
const value = params[key];
|
|
313
|
+
if (Array.isArray(value)) {
|
|
314
|
+
for (const item of [...value].map(String).sort())
|
|
315
|
+
out += key + item;
|
|
316
|
+
}
|
|
317
|
+
else if (value !== null && typeof value === 'object') {
|
|
318
|
+
out += key + sortedParamsString(value);
|
|
319
|
+
}
|
|
320
|
+
else {
|
|
321
|
+
out += key + String(value);
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
return out;
|
|
325
|
+
}
|
|
326
|
+
/** Case-insensitive single-header lookup; for array-valued headers, takes the first. */
|
|
327
|
+
function headerValue(headers, name) {
|
|
328
|
+
for (const [k, v] of Object.entries(headers)) {
|
|
329
|
+
if (k.toLowerCase() !== name)
|
|
330
|
+
continue;
|
|
331
|
+
if (typeof v === 'string')
|
|
332
|
+
return v;
|
|
333
|
+
// Node/Express surface duplicated headers as arrays — use the first value.
|
|
334
|
+
if (Array.isArray(v) && typeof v[0] === 'string')
|
|
335
|
+
return v[0];
|
|
336
|
+
}
|
|
337
|
+
return undefined;
|
|
338
|
+
}
|
|
339
|
+
/** Comma-join the present values of several signature headers into one candidate list. */
|
|
340
|
+
function joinHeaders(headers, names) {
|
|
341
|
+
return names
|
|
342
|
+
.map((n) => headerValue(headers, n))
|
|
343
|
+
.filter((v) => !!v)
|
|
344
|
+
.join(',');
|
|
345
|
+
}
|
|
346
|
+
/** Constant-time check that `expected` equals any of the comma-separated candidates. */
|
|
347
|
+
function signatureMatches(candidates, expected) {
|
|
348
|
+
const expectedBuf = Buffer.from(expected);
|
|
349
|
+
return candidates.split(',').some((candidate) => {
|
|
350
|
+
const candBuf = Buffer.from(candidate.trim());
|
|
351
|
+
return candBuf.length === expectedBuf.length && timingSafeEqual(candBuf, expectedBuf);
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
//# sourceMappingURL=PlivoSmsChannelAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlivoSmsChannelAdapter.js","sourceRoot":"","sources":["../../../../src/io/channels/adapters/PlivoSmsChannelAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,8 @@ export { SlackChannelAdapter } from './SlackChannelAdapter.js';
|
|
|
19
19
|
export type { SlackAuthParams } from './SlackChannelAdapter.js';
|
|
20
20
|
export { WhatsAppChannelAdapter } from './WhatsAppChannelAdapter.js';
|
|
21
21
|
export type { WhatsAppAuthParams } from './WhatsAppChannelAdapter.js';
|
|
22
|
+
export { PlivoSmsChannelAdapter, computePlivoV3Signature } from './PlivoSmsChannelAdapter.js';
|
|
23
|
+
export type { PlivoSmsAuthParams } from './PlivoSmsChannelAdapter.js';
|
|
22
24
|
export { WebChatChannelAdapter } from './WebChatChannelAdapter.js';
|
|
23
25
|
export type { WebChatAuthParams } from './WebChatChannelAdapter.js';
|
|
24
26
|
export { TwitterChannelAdapter } from './TwitterChannelAdapter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/io/channels/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/io/channels/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC9F,YAAY,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAGpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAGlE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAEhE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,YAAY,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -14,6 +14,7 @@ export { TelegramChannelAdapter } from './TelegramChannelAdapter.js';
|
|
|
14
14
|
export { DiscordChannelAdapter } from './DiscordChannelAdapter.js';
|
|
15
15
|
export { SlackChannelAdapter } from './SlackChannelAdapter.js';
|
|
16
16
|
export { WhatsAppChannelAdapter } from './WhatsAppChannelAdapter.js';
|
|
17
|
+
export { PlivoSmsChannelAdapter, computePlivoV3Signature } from './PlivoSmsChannelAdapter.js';
|
|
17
18
|
export { WebChatChannelAdapter } from './WebChatChannelAdapter.js';
|
|
18
19
|
// P0: Social media platforms
|
|
19
20
|
export { TwitterChannelAdapter } from './TwitterChannelAdapter.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/io/channels/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,+BAA+B;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,6BAA6B;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,mCAAmC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/io/channels/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAG3D,+BAA+B;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAG9F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,6BAA6B;AAC7B,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAGnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,mCAAmC;AACnC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC"}
|
|
@@ -33,4 +33,6 @@ export { TeamsChannelAdapter } from './adapters/TeamsChannelAdapter.js';
|
|
|
33
33
|
export type { TeamsAuthParams } from './adapters/TeamsChannelAdapter.js';
|
|
34
34
|
export { GoogleChatChannelAdapter } from './adapters/GoogleChatChannelAdapter.js';
|
|
35
35
|
export type { GoogleChatAuthParams } from './adapters/GoogleChatChannelAdapter.js';
|
|
36
|
+
export { PlivoSmsChannelAdapter } from './adapters/PlivoSmsChannelAdapter.js';
|
|
37
|
+
export type { PlivoSmsAuthParams } from './adapters/PlivoSmsChannelAdapter.js';
|
|
36
38
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/channels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGhG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/io/channels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGhG,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAGpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAG7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,YAAY,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAG3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,YAAY,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,YAAY,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,YAAY,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAGnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAC9E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -22,4 +22,6 @@ export { IRCChannelAdapter } from './adapters/IRCChannelAdapter.js';
|
|
|
22
22
|
export { SignalChannelAdapter } from './adapters/SignalChannelAdapter.js';
|
|
23
23
|
export { TeamsChannelAdapter } from './adapters/TeamsChannelAdapter.js';
|
|
24
24
|
export { GoogleChatChannelAdapter } from './adapters/GoogleChatChannelAdapter.js';
|
|
25
|
+
// SMS
|
|
26
|
+
export { PlivoSmsChannelAdapter } from './adapters/PlivoSmsChannelAdapter.js';
|
|
25
27
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/channels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/io/channels/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGxD,uEAAuE;AACvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAGtE,oBAAoB;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAE9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,kBAAkB;AAClB,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAE5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAGlF,MAAM;AACN,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* concrete adapters can use any string, but well-known platforms get
|
|
14
14
|
* first-class type support.
|
|
15
15
|
*/
|
|
16
|
-
export type ChannelPlatform = 'telegram' | 'whatsapp' | 'discord' | 'slack' | 'webchat' | 'signal' | 'imessage' | 'google-chat' | 'teams' | 'matrix' | 'zalo' | 'email' | 'sms' | 'nostr' | 'twitch' | 'line' | 'feishu' | 'mattermost' | 'nextcloud-talk' | 'tlon' | 'irc' | 'zalouser' | 'twitter' | 'instagram' | 'reddit' | 'pinterest' | 'tiktok' | 'youtube' | 'linkedin' | 'facebook' | 'threads' | 'bluesky' | 'mastodon' | 'devto' | 'hashnode' | 'medium' | 'wordpress' | 'farcaster' | 'lemmy' | 'google-business' | (string & {});
|
|
16
|
+
export type ChannelPlatform = 'telegram' | 'whatsapp' | 'discord' | 'slack' | 'webchat' | 'signal' | 'imessage' | 'google-chat' | 'teams' | 'matrix' | 'zalo' | 'email' | 'sms' | 'plivo' | 'nostr' | 'twitch' | 'line' | 'feishu' | 'mattermost' | 'nextcloud-talk' | 'tlon' | 'irc' | 'zalouser' | 'twitter' | 'instagram' | 'reddit' | 'pinterest' | 'tiktok' | 'youtube' | 'linkedin' | 'facebook' | 'threads' | 'bluesky' | 'mastodon' | 'devto' | 'hashnode' | 'medium' | 'wordpress' | 'farcaster' | 'lemmy' | 'google-business' | (string & {});
|
|
17
17
|
/**
|
|
18
18
|
* Capabilities that a channel adapter can declare. Consumers can check
|
|
19
19
|
* capabilities before attempting actions that not all platforms support.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/io/channels/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/io/channels/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@framers/agentos",
|
|
3
|
-
"version": "0.12.
|
|
3
|
+
"version": "0.12.18",
|
|
4
4
|
"description": "AgentOS: open-source TypeScript framework for autonomous AI agents. Unified graph orchestration, cognitive memory, runtime tool forging, multi-tier guardrails, voice pipeline, and 11 LLM providers.",
|
|
5
5
|
"homepage": "https://agentos.sh",
|
|
6
6
|
"repository": {
|