@pellux/goodvibes-sdk 0.33.34 → 0.33.36
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/contracts/artifacts/operator-contract.json +78 -1
- package/dist/events/control-plane.d.ts +1 -1
- package/dist/events/control-plane.d.ts.map +1 -1
- package/dist/events/control-plane.js +1 -0
- package/dist/events/routes.d.ts +1 -1
- package/dist/events/routes.d.ts.map +1 -1
- package/dist/events/routes.js +1 -0
- package/dist/platform/adapters/index.d.ts +1 -0
- package/dist/platform/adapters/index.d.ts.map +1 -1
- package/dist/platform/adapters/index.js +1 -0
- package/dist/platform/adapters/telephony/index.d.ts +3 -0
- package/dist/platform/adapters/telephony/index.d.ts.map +1 -0
- package/dist/platform/adapters/telephony/index.js +170 -0
- package/dist/platform/adapters/types.d.ts +1 -1
- package/dist/platform/adapters/types.d.ts.map +1 -1
- package/dist/platform/automation/types.d.ts +1 -1
- package/dist/platform/automation/types.d.ts.map +1 -1
- package/dist/platform/channels/builtin/accounts.d.ts.map +1 -1
- package/dist/platform/channels/builtin/accounts.js +25 -0
- package/dist/platform/channels/builtin/contracts.d.ts.map +1 -1
- package/dist/platform/channels/builtin/contracts.js +9 -0
- package/dist/platform/channels/builtin/plugins.d.ts.map +1 -1
- package/dist/platform/channels/builtin/plugins.js +2 -1
- package/dist/platform/channels/builtin/presentation.d.ts.map +1 -1
- package/dist/platform/channels/builtin/presentation.js +3 -0
- package/dist/platform/channels/builtin/setup-schema.d.ts.map +1 -1
- package/dist/platform/channels/builtin/setup-schema.js +54 -0
- package/dist/platform/channels/builtin/shared.d.ts +1 -1
- package/dist/platform/channels/builtin/shared.d.ts.map +1 -1
- package/dist/platform/channels/builtin/shared.js +2 -0
- package/dist/platform/channels/builtin/surfaces.d.ts.map +1 -1
- package/dist/platform/channels/builtin/surfaces.js +1 -0
- package/dist/platform/channels/builtin/targets.d.ts.map +1 -1
- package/dist/platform/channels/builtin/targets.js +18 -0
- package/dist/platform/channels/delivery/strategies-bridge.d.ts +1 -0
- package/dist/platform/channels/delivery/strategies-bridge.d.ts.map +1 -1
- package/dist/platform/channels/delivery/strategies-bridge.js +81 -0
- package/dist/platform/channels/delivery-router.d.ts.map +1 -1
- package/dist/platform/channels/delivery-router.js +2 -1
- package/dist/platform/channels/reply-pipeline.d.ts.map +1 -1
- package/dist/platform/channels/reply-pipeline.js +9 -0
- package/dist/platform/channels/route-manager.d.ts.map +1 -1
- package/dist/platform/channels/route-manager.js +1 -0
- package/dist/platform/channels/surface-registry.d.ts.map +1 -1
- package/dist/platform/channels/surface-registry.js +4 -0
- package/dist/platform/channels/types.d.ts +1 -1
- package/dist/platform/channels/types.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-surfaces.d.ts +14 -0
- package/dist/platform/config/schema-domain-surfaces.d.ts.map +1 -1
- package/dist/platform/config/schema-domain-surfaces.js +82 -0
- package/dist/platform/config/schema-types.d.ts +17 -2
- package/dist/platform/config/schema-types.d.ts.map +1 -1
- package/dist/platform/config/service-registry.d.ts +6 -1
- package/dist/platform/config/service-registry.d.ts.map +1 -1
- package/dist/platform/config/service-registry.js +5 -1
- package/dist/platform/control-plane/gateway.d.ts +2 -2
- package/dist/platform/control-plane/gateway.d.ts.map +1 -1
- package/dist/platform/control-plane/operator-contract-schemas-admin.d.ts.map +1 -1
- package/dist/platform/control-plane/operator-contract-schemas-admin.js +1 -0
- package/dist/platform/control-plane/types.d.ts +1 -1
- package/dist/platform/control-plane/types.d.ts.map +1 -1
- package/dist/platform/daemon/control-plane.d.ts +1 -1
- package/dist/platform/daemon/control-plane.d.ts.map +1 -1
- package/dist/platform/daemon/facade-types.d.ts +1 -1
- package/dist/platform/daemon/facade-types.d.ts.map +1 -1
- package/dist/platform/daemon/facade.d.ts.map +1 -1
- package/dist/platform/daemon/http/openai-compatible-routes.d.ts.map +1 -1
- package/dist/platform/daemon/http/openai-compatible-routes.js +12 -4
- package/dist/platform/daemon/http/router.d.ts +2 -2
- package/dist/platform/daemon/http/router.d.ts.map +1 -1
- package/dist/platform/daemon/http/router.js +49 -3
- package/dist/platform/daemon/http/runtime-route-types.d.ts +1 -1
- package/dist/platform/daemon/http/runtime-route-types.d.ts.map +1 -1
- package/dist/platform/daemon/surface-actions.d.ts +1 -1
- package/dist/platform/daemon/surface-actions.d.ts.map +1 -1
- package/dist/platform/daemon/surface-delivery.d.ts +1 -1
- package/dist/platform/daemon/surface-delivery.d.ts.map +1 -1
- package/dist/platform/daemon/surface-delivery.js +2 -0
- package/dist/platform/daemon/surface-policy.d.ts +1 -1
- package/dist/platform/daemon/surface-policy.d.ts.map +1 -1
- package/dist/platform/daemon/surface-policy.js +8 -0
- package/dist/platform/daemon/types.d.ts +3 -3
- package/dist/platform/daemon/types.d.ts.map +1 -1
- package/dist/platform/knowledge/scope-records.js +40 -1
- package/dist/platform/version.js +1 -1
- package/package.json +9 -9
|
@@ -8,6 +8,7 @@ export { handleTelegramSurfaceWebhook } from './telegram/index.js';
|
|
|
8
8
|
export { handleGoogleChatSurfaceWebhook } from './google-chat/index.js';
|
|
9
9
|
export { handleSignalSurfaceWebhook } from './signal/index.js';
|
|
10
10
|
export { handleWhatsAppSurfaceWebhook } from './whatsapp/index.js';
|
|
11
|
+
export { handleTelephonySurfaceWebhook } from './telephony/index.js';
|
|
11
12
|
export { handleIMessageSurfaceWebhook } from './imessage/index.js';
|
|
12
13
|
export { handleMSTeamsSurfaceWebhook } from './msteams/index.js';
|
|
13
14
|
export { handleBlueBubblesSurfaceWebhook } from './bluebubbles/index.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/platform/adapters/telephony/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAiEzD,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CAwHnH"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { createHash, createHmac } from 'node:crypto';
|
|
2
|
+
import { constantTimeEquals, parseJsonRecord, readBearerOrHeaderToken, readTextBodyWithinLimit } from '../helpers.js';
|
|
3
|
+
function readRecord(value) {
|
|
4
|
+
return value && typeof value === 'object' ? value : null;
|
|
5
|
+
}
|
|
6
|
+
function readString(value) {
|
|
7
|
+
return typeof value === 'string' && value.trim().length > 0 ? value.trim() : undefined;
|
|
8
|
+
}
|
|
9
|
+
function parseTelephonyBody(req, rawBody) {
|
|
10
|
+
const contentType = req.headers.get('content-type') ?? '';
|
|
11
|
+
if (contentType.includes('application/json')) {
|
|
12
|
+
return parseJsonRecord(rawBody);
|
|
13
|
+
}
|
|
14
|
+
const params = new URLSearchParams(rawBody);
|
|
15
|
+
const parsed = {};
|
|
16
|
+
for (const [key, value] of params.entries())
|
|
17
|
+
parsed[key] = value;
|
|
18
|
+
return parsed;
|
|
19
|
+
}
|
|
20
|
+
function signatureCandidateUrls(req, context) {
|
|
21
|
+
const requestUrl = new URL(req.url);
|
|
22
|
+
const candidates = [requestUrl.toString()];
|
|
23
|
+
const publicBaseUrl = readString(context.configManager.get('web.publicBaseUrl'))
|
|
24
|
+
?? readString(context.configManager.get('controlPlane.baseUrl'));
|
|
25
|
+
if (publicBaseUrl) {
|
|
26
|
+
candidates.push(new URL(`${requestUrl.pathname}${requestUrl.search}`, publicBaseUrl.endsWith('/') ? publicBaseUrl : `${publicBaseUrl}/`).toString());
|
|
27
|
+
}
|
|
28
|
+
return [...new Set(candidates)];
|
|
29
|
+
}
|
|
30
|
+
function twilioSignatureBaseString(url, rawBody, req) {
|
|
31
|
+
const parsedUrl = new URL(url);
|
|
32
|
+
const bodyHash = parsedUrl.searchParams.get('bodySHA256');
|
|
33
|
+
if (bodyHash) {
|
|
34
|
+
const expectedHash = createHash('sha256').update(rawBody).digest('hex');
|
|
35
|
+
if (!constantTimeEquals(expectedHash, bodyHash.toLowerCase()))
|
|
36
|
+
return null;
|
|
37
|
+
return url;
|
|
38
|
+
}
|
|
39
|
+
const contentType = req.headers.get('content-type') ?? '';
|
|
40
|
+
if (contentType.includes('application/json'))
|
|
41
|
+
return null;
|
|
42
|
+
const params = [...new URLSearchParams(rawBody).entries()]
|
|
43
|
+
.sort(([left], [right]) => left.localeCompare(right));
|
|
44
|
+
return `${url}${params.map(([key, value]) => `${key}${value}`).join('')}`;
|
|
45
|
+
}
|
|
46
|
+
function verifyTwilioSignature(req, rawBody, context, authToken, signature) {
|
|
47
|
+
if (!authToken || !signature)
|
|
48
|
+
return false;
|
|
49
|
+
for (const url of signatureCandidateUrls(req, context)) {
|
|
50
|
+
const baseString = twilioSignatureBaseString(url, rawBody, req);
|
|
51
|
+
if (!baseString)
|
|
52
|
+
continue;
|
|
53
|
+
const expected = createHmac('sha1', authToken).update(baseString).digest('base64');
|
|
54
|
+
if (constantTimeEquals(expected, signature))
|
|
55
|
+
return true;
|
|
56
|
+
}
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
export async function handleTelephonySurfaceWebhook(req, context) {
|
|
60
|
+
const configuredSecret = String(context.configManager.get('surfaces.telephony.webhookSecret') ?? '')
|
|
61
|
+
|| await context.serviceRegistry.resolveSecret('telephony', 'signingSecret')
|
|
62
|
+
|| String(context.configManager.get('surfaces.telephony.token') ?? '')
|
|
63
|
+
|| await context.serviceRegistry.resolveSecret('telephony', 'primary')
|
|
64
|
+
|| process.env.TELEPHONY_WEBHOOK_SECRET
|
|
65
|
+
|| process.env.TWILIO_WEBHOOK_SECRET
|
|
66
|
+
|| process.env.TELEPHONY_BRIDGE_TOKEN
|
|
67
|
+
|| '';
|
|
68
|
+
const twilioAuthToken = await context.serviceRegistry.resolveSecret('telephony', 'authToken')
|
|
69
|
+
|| String(context.configManager.get('surfaces.telephony.authToken') ?? '')
|
|
70
|
+
|| process.env.TWILIO_AUTH_TOKEN
|
|
71
|
+
|| '';
|
|
72
|
+
if (!configuredSecret && !twilioAuthToken) {
|
|
73
|
+
return Response.json({ error: 'Telephony webhook is not configured' }, { status: 503 });
|
|
74
|
+
}
|
|
75
|
+
const rawBody = await readTextBodyWithinLimit(req);
|
|
76
|
+
if (rawBody instanceof Response)
|
|
77
|
+
return rawBody;
|
|
78
|
+
const providedToken = readBearerOrHeaderToken(req, 'x-goodvibes-telephony-token');
|
|
79
|
+
const providedTwilioSignature = readString(req.headers.get('x-twilio-signature')) ?? '';
|
|
80
|
+
const sharedSecretAllowed = configuredSecret ? constantTimeEquals(configuredSecret, providedToken) : false;
|
|
81
|
+
const twilioSignatureAllowed = verifyTwilioSignature(req, rawBody, context, twilioAuthToken, providedTwilioSignature);
|
|
82
|
+
if (!sharedSecretAllowed && !twilioSignatureAllowed) {
|
|
83
|
+
return Response.json({ error: 'Unauthorized' }, { status: 401 });
|
|
84
|
+
}
|
|
85
|
+
const parsed = parseTelephonyBody(req, rawBody);
|
|
86
|
+
if (parsed instanceof Response)
|
|
87
|
+
return parsed;
|
|
88
|
+
const payload = readRecord(parsed);
|
|
89
|
+
if (!payload)
|
|
90
|
+
return Response.json({ error: 'Invalid request body' }, { status: 400 });
|
|
91
|
+
const from = readString(payload.from) ?? readString(payload.From) ?? readString(payload.caller) ?? readString(payload.Caller) ?? readString(payload.source);
|
|
92
|
+
const to = readString(payload.to) ?? readString(payload.To) ?? readString(context.configManager.get('surfaces.telephony.fromNumber')) ?? 'telephony';
|
|
93
|
+
const text = readString(payload.text)
|
|
94
|
+
?? readString(payload.message)
|
|
95
|
+
?? readString(payload.Body)
|
|
96
|
+
?? readString(payload.body)
|
|
97
|
+
?? readString(payload.SpeechResult)
|
|
98
|
+
?? readString(payload.transcription)
|
|
99
|
+
?? '';
|
|
100
|
+
if (!from)
|
|
101
|
+
return Response.json({ error: 'Missing telephony sender' }, { status: 400 });
|
|
102
|
+
const messageId = readString(payload.messageId) ?? readString(payload.MessageSid) ?? readString(payload.SmsSid) ?? readString(payload.CallSid);
|
|
103
|
+
const policy = await context.authorizeSurfaceIngress({
|
|
104
|
+
surface: 'telephony',
|
|
105
|
+
userId: from,
|
|
106
|
+
channelId: from,
|
|
107
|
+
groupId: from,
|
|
108
|
+
conversationKind: 'direct',
|
|
109
|
+
text,
|
|
110
|
+
mentioned: true,
|
|
111
|
+
metadata: {
|
|
112
|
+
...payload,
|
|
113
|
+
messageId,
|
|
114
|
+
to,
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
if (!policy.allowed) {
|
|
118
|
+
return Response.json({ error: `Blocked by channel policy: ${policy.reason}` }, { status: 403 });
|
|
119
|
+
}
|
|
120
|
+
const binding = await context.routeBindings.upsertBinding({
|
|
121
|
+
kind: 'channel',
|
|
122
|
+
surfaceKind: 'telephony',
|
|
123
|
+
surfaceId: to,
|
|
124
|
+
externalId: from,
|
|
125
|
+
channelId: from,
|
|
126
|
+
title: from,
|
|
127
|
+
metadata: {
|
|
128
|
+
...payload,
|
|
129
|
+
messageId,
|
|
130
|
+
to,
|
|
131
|
+
},
|
|
132
|
+
});
|
|
133
|
+
if (!text) {
|
|
134
|
+
return Response.json({
|
|
135
|
+
acknowledged: true,
|
|
136
|
+
queued: false,
|
|
137
|
+
outcome: 'ignored',
|
|
138
|
+
reason: 'no-actionable-text',
|
|
139
|
+
bindingId: binding.id,
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
const submission = await context.sessionBroker.submitMessage({
|
|
143
|
+
routeId: binding.id,
|
|
144
|
+
surfaceKind: 'telephony',
|
|
145
|
+
surfaceId: binding.surfaceId,
|
|
146
|
+
externalId: binding.externalId,
|
|
147
|
+
threadId: binding.channelId,
|
|
148
|
+
userId: from,
|
|
149
|
+
displayName: from,
|
|
150
|
+
title: from,
|
|
151
|
+
body: text,
|
|
152
|
+
metadata: {
|
|
153
|
+
messageId,
|
|
154
|
+
to,
|
|
155
|
+
},
|
|
156
|
+
});
|
|
157
|
+
if (submission.mode === 'continued-live') {
|
|
158
|
+
return Response.json({ acknowledged: true, continued: true, sessionId: submission.session.id, agentId: submission.activeAgentId ?? null });
|
|
159
|
+
}
|
|
160
|
+
const spawnResult = context.trySpawnAgent({ mode: 'spawn', task: submission.task }, 'handleTelephonySurfaceWebhook', submission.session.id);
|
|
161
|
+
if (spawnResult instanceof Response)
|
|
162
|
+
return spawnResult;
|
|
163
|
+
await context.sessionBroker.bindAgent(submission.session.id, spawnResult.id);
|
|
164
|
+
context.queueSurfaceReplyFromBinding(submission.routeBinding ?? binding, {
|
|
165
|
+
agentId: spawnResult.id,
|
|
166
|
+
task: text,
|
|
167
|
+
sessionId: submission.session.id,
|
|
168
|
+
});
|
|
169
|
+
return Response.json({ acknowledged: true, queued: true, bindingId: binding.id, sessionId: submission.session.id, agentId: spawnResult.id });
|
|
170
|
+
}
|
|
@@ -52,7 +52,7 @@ export interface SurfaceAdapterContext {
|
|
|
52
52
|
readonly routeBindings: RouteBindingManager;
|
|
53
53
|
readonly sessionBroker: SharedSessionBroker;
|
|
54
54
|
readonly authorizeSurfaceIngress: (input: {
|
|
55
|
-
surface: Extract<AutomationSurfaceKind, 'slack' | 'discord' | 'ntfy' | 'homeassistant' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix'>;
|
|
55
|
+
surface: Extract<AutomationSurfaceKind, 'slack' | 'discord' | 'ntfy' | 'homeassistant' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'telephony' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix'>;
|
|
56
56
|
userId?: string | undefined;
|
|
57
57
|
channelId?: string | undefined;
|
|
58
58
|
groupId?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/adapters/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/adapters/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
export type AutomationJobStatus = 'enabled' | 'paused' | 'error' | 'archived';
|
|
7
7
|
export type AutomationRunStatus = 'queued' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
8
8
|
export type AutomationRunTrigger = 'scheduled' | 'manual' | 'catch_up' | 'webhook' | 'surface' | 'watcher';
|
|
9
|
-
export type AutomationSurfaceKind = 'tui' | 'web' | 'slack' | 'discord' | 'ntfy' | 'webhook' | 'homeassistant' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix' | 'service';
|
|
9
|
+
export type AutomationSurfaceKind = 'tui' | 'web' | 'slack' | 'discord' | 'ntfy' | 'webhook' | 'homeassistant' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'telephony' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix' | 'service';
|
|
10
10
|
export type AutomationRouteKind = 'session' | 'thread' | 'channel' | 'message';
|
|
11
11
|
export type AutomationSourceKind = 'schedule' | 'manual' | 'hook' | 'webhook' | 'surface' | 'watcher';
|
|
12
12
|
export type AutomationExecutionKind = 'isolated' | 'current' | 'pinned' | 'background' | 'main';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/automation/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/platform/automation/types.ts"],"names":[],"mappings":"AAAA,qFAAqF;AAErF;;;GAGG;AAEH,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC9E,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,WAAW,CAAC;AAC9F,MAAM,MAAM,oBAAoB,GAC5B,WAAW,GACX,QAAQ,GACR,UAAU,GACV,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,MAAM,qBAAqB,GAC7B,KAAK,GACL,KAAK,GACL,OAAO,GACP,SAAS,GACT,MAAM,GACN,SAAS,GACT,eAAe,GACf,UAAU,GACV,aAAa,GACb,QAAQ,GACR,UAAU,GACV,WAAW,GACX,UAAU,GACV,SAAS,GACT,aAAa,GACb,YAAY,GACZ,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC/E,MAAM,MAAM,oBAAoB,GAC5B,UAAU,GACV,QAAQ,GACR,MAAM,GACN,SAAS,GACT,SAAS,GACT,SAAS,CAAC;AACd,MAAM,MAAM,uBAAuB,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,YAAY,GAAG,MAAM,CAAC;AAChG,MAAM,MAAM,6BAA6B,GAAG,uBAAuB,GAAG,SAAS,GAAG,OAAO,CAAC;AAC1F,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,CAAC;AAC7F,MAAM,MAAM,wBAAwB,GAAG,iBAAiB,GAAG,UAAU,GAAG,WAAW,CAAC;AACpF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,YAAY,CAAC;AACnG,MAAM,MAAM,uBAAuB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,kBAAkB,CAAC;AAClG,MAAM,MAAM,sBAAsB,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AACzE,MAAM,MAAM,2BAA2B,GAAG,aAAa,GAAG,eAAe,CAAC;AAE1E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAClE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACnE,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACzD;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,uBAAuB,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,6BAA6B,CAAC;CACpD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,OAAO,GAAG,aAAa,CAAC;AAEzE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,MAAM,kBAAkB,GAC1B,oBAAoB,GACpB,uBAAuB,GACvB,sBAAsB,CAAC;AAE3B,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,QAAQ,CAAC,MAAM,CAAC,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;CACxD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,kBAAkB,GAAG,eAAe,GAAG,SAAS,CAAC;CAChF;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/accounts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAEV,oBAAoB,EAEpB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC;CAC9E;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oBAAoB,CAAC,
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/accounts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAEV,oBAAoB,EAEpB,cAAc,EACf,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAE7D,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC;CAC9E;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,oBAAoB,CAAC,CA0U/B;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,qBAAqB,EAC9B,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAKtC"}
|
|
@@ -203,6 +203,31 @@ export async function buildBuiltinAccount(context, surface) {
|
|
|
203
203
|
},
|
|
204
204
|
});
|
|
205
205
|
}
|
|
206
|
+
case 'telephony': {
|
|
207
|
+
const surfaces = context.deps.configManager.getCategory('surfaces');
|
|
208
|
+
const secrets = await Promise.all([
|
|
209
|
+
describeBuiltinSecret(context.deps, 'accountSid', 'Account SID', surfaces.telephony.accountSid, ['TWILIO_ACCOUNT_SID']),
|
|
210
|
+
describeBuiltinSecret(context.deps, 'authToken', 'Auth token', surfaces.telephony.authToken, ['TWILIO_AUTH_TOKEN'], 'telephony', 'authToken'),
|
|
211
|
+
describeBuiltinSecret(context.deps, 'primary', 'Bridge token', surfaces.telephony.token, ['TELEPHONY_BRIDGE_TOKEN'], 'telephony', 'primary'),
|
|
212
|
+
describeBuiltinSecret(context.deps, 'signingSecret', 'Webhook secret', surfaces.telephony.webhookSecret, ['TELEPHONY_WEBHOOK_SECRET', 'TWILIO_WEBHOOK_SECRET'], 'telephony', 'signingSecret'),
|
|
213
|
+
]);
|
|
214
|
+
return finalizeBuiltinChannelAccount({
|
|
215
|
+
surface,
|
|
216
|
+
label: 'Telephony',
|
|
217
|
+
enabled: context.deps.surfaceDeliveryEnabled('telephony'),
|
|
218
|
+
accountId: surfaces.telephony.accountSid || surfaces.telephony.fromNumber || 'surface:telephony',
|
|
219
|
+
secrets,
|
|
220
|
+
metadata: {
|
|
221
|
+
provider: surfaces.telephony.provider,
|
|
222
|
+
mode: surfaces.telephony.mode,
|
|
223
|
+
bridgeUrl: surfaces.telephony.bridgeUrl,
|
|
224
|
+
fromNumber: surfaces.telephony.fromNumber,
|
|
225
|
+
defaultRecipient: surfaces.telephony.defaultRecipient,
|
|
226
|
+
voiceLanguage: surfaces.telephony.voiceLanguage,
|
|
227
|
+
setupVersion: surfaces.telephony.setupVersion,
|
|
228
|
+
},
|
|
229
|
+
});
|
|
230
|
+
}
|
|
206
231
|
case 'imessage': {
|
|
207
232
|
const surfaces = context.deps.configManager.getCategory('surfaces');
|
|
208
233
|
const secrets = await Promise.all([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAK1B,mBAAmB,EAEnB,qBAAqB,EAErB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,aAAa,CAAC;AAIrB,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC9G,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;CAClI;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,GACtB,IAAI,CACL,aAAa,EACX,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,QAAQ,GACR,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,CAClB,CAWA;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAmBzC;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAK1B,mBAAmB,EAEnB,qBAAqB,EAErB,mBAAmB,EACnB,qBAAqB,EACrB,cAAc,EACd,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAEL,KAAK,yBAAyB,EAE/B,MAAM,aAAa,CAAC;AAIrB,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAClF,QAAQ,CAAC,cAAc,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAAC;IAC9G,QAAQ,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAAC;CAClI;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,GACtB,IAAI,CACL,aAAa,EACX,cAAc,GACd,cAAc,GACd,gBAAgB,GAChB,QAAQ,GACR,mBAAmB,GACnB,mBAAmB,GACnB,kBAAkB,GAClB,eAAe,CAClB,CAWA;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,SAAS,mBAAmB,EAAE,CAAC,CAmBzC;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC,CAwH9B;AAED,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAsCrC;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,sBAAsB,EAC/B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CAoDrC"}
|
|
@@ -69,6 +69,15 @@ export async function getBuiltinDoctorReport(context, surface, accountId) {
|
|
|
69
69
|
if (surface === 'whatsapp' && !surfaces.whatsapp.phoneNumberId && surfaces.whatsapp.provider === 'meta-cloud') {
|
|
70
70
|
pushCheck('provider-shape', 'Provider metadata', 'warn', 'Meta Cloud mode works best with a phone number id configured.', 'setup');
|
|
71
71
|
}
|
|
72
|
+
if (surface === 'telephony' && surfaces.telephony.provider === 'bridge' && !surfaces.telephony.bridgeUrl) {
|
|
73
|
+
pushCheck('bridge-url', 'Bridge URL', 'fail', 'Bridge mode requires a telephony bridge URL.', 'setup');
|
|
74
|
+
}
|
|
75
|
+
if (surface === 'telephony' && surfaces.telephony.provider === 'twilio' && (!surfaces.telephony.accountSid || !surfaces.telephony.authToken || !surfaces.telephony.fromNumber)) {
|
|
76
|
+
pushCheck('twilio-credentials', 'Twilio credentials', 'fail', 'Direct provider mode requires account SID, auth token, and a sender/caller number.', 'setup');
|
|
77
|
+
}
|
|
78
|
+
if (surface === 'telephony' && !surfaces.telephony.defaultRecipient) {
|
|
79
|
+
pushCheck('default-recipient', 'Default recipient', 'warn', 'No default phone recipient is configured; proactive delivery requires a route binding or explicit target.', 'setup');
|
|
80
|
+
}
|
|
72
81
|
if (surface === 'imessage' && !surfaces.imessage.bridgeUrl) {
|
|
73
82
|
pushCheck('bridge-url', 'Bridge URL', 'fail', 'iMessage requires a bridge URL or local companion endpoint.', 'setup');
|
|
74
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/plugins.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/plugins.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { handleBlueBubblesSurfaceWebhook, handleDiscordSurfaceWebhook, handleGenericWebhookSurface, handleGoogleChatSurfaceWebhook, handleHomeAssistantSurfaceWebhook, handleIMessageSurfaceWebhook, handleMSTeamsSurfaceWebhook, handleMattermostSurfaceWebhook, handleMatrixSurfaceWebhook, handleNtfySurfaceWebhook, handleSignalSurfaceWebhook, handleSlackSurfaceWebhook, handleTelegramSurfaceWebhook, handleWhatsAppSurfaceWebhook, } from '../../adapters/index.js';
|
|
1
|
+
import { handleBlueBubblesSurfaceWebhook, handleDiscordSurfaceWebhook, handleGenericWebhookSurface, handleGoogleChatSurfaceWebhook, handleHomeAssistantSurfaceWebhook, handleIMessageSurfaceWebhook, handleMSTeamsSurfaceWebhook, handleMattermostSurfaceWebhook, handleMatrixSurfaceWebhook, handleNtfySurfaceWebhook, handleSignalSurfaceWebhook, handleSlackSurfaceWebhook, handleTelephonySurfaceWebhook, handleTelegramSurfaceWebhook, handleWhatsAppSurfaceWebhook, } from '../../adapters/index.js';
|
|
2
2
|
export function registerBuiltinChannelPlugins(context) {
|
|
3
3
|
context.deps.channelPlugins.register({
|
|
4
4
|
id: 'surface:tui',
|
|
@@ -189,6 +189,7 @@ export function registerBuiltinChannelPlugins(context) {
|
|
|
189
189
|
registerRouterBackedPlugin(context, 'google-chat', 'Google Chat', ['ingress', 'egress', 'threaded_reply', 'interactive_actions', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/google-chat', handleGoogleChatSurfaceWebhook);
|
|
190
190
|
registerRouterBackedPlugin(context, 'signal', 'Signal', ['ingress', 'egress', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/signal', handleSignalSurfaceWebhook);
|
|
191
191
|
registerRouterBackedPlugin(context, 'whatsapp', 'WhatsApp', ['ingress', 'egress', 'interactive_actions', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/whatsapp', handleWhatsAppSurfaceWebhook);
|
|
192
|
+
registerRouterBackedPlugin(context, 'telephony', 'Telephony', ['ingress', 'egress', 'delivery_only', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/telephony', handleTelephonySurfaceWebhook);
|
|
192
193
|
registerRouterBackedPlugin(context, 'imessage', 'iMessage', ['ingress', 'egress', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/imessage', handleIMessageSurfaceWebhook);
|
|
193
194
|
registerRouterBackedPlugin(context, 'msteams', 'Microsoft Teams', ['ingress', 'egress', 'threaded_reply', 'interactive_actions', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/msteams', handleMSTeamsSurfaceWebhook);
|
|
194
195
|
registerRouterBackedPlugin(context, 'bluebubbles', 'BlueBubbles', ['ingress', 'egress', 'account_lifecycle', 'target_resolution', 'agent_tools'], '/webhook/bluebubbles', handleBlueBubblesSurfaceWebhook);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,
|
|
1
|
+
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/presentation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,mBAAmB,CAsChF;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CAqCtE"}
|
|
@@ -31,6 +31,7 @@ export function renderBuiltinPolicy(surface) {
|
|
|
31
31
|
return { ...base, reasoningVisibility: 'summary', format: 'json', supportsThreads: true, maxChunkChars: 8_000 };
|
|
32
32
|
case 'signal':
|
|
33
33
|
case 'whatsapp':
|
|
34
|
+
case 'telephony':
|
|
34
35
|
case 'imessage':
|
|
35
36
|
case 'bluebubbles':
|
|
36
37
|
return { ...base, reasoningVisibility: 'summary', format: 'plain', supportsThreads: false, maxChunkChars: 3_500 };
|
|
@@ -60,6 +61,8 @@ export function surfaceLabelForBuiltin(surface) {
|
|
|
60
61
|
return 'Signal';
|
|
61
62
|
case 'whatsapp':
|
|
62
63
|
return 'WhatsApp';
|
|
64
|
+
case 'telephony':
|
|
65
|
+
return 'Telephony';
|
|
63
66
|
case 'imessage':
|
|
64
67
|
return 'iMessage';
|
|
65
68
|
case 'msteams':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-schema.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/setup-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AAUrB,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,
|
|
1
|
+
{"version":3,"file":"setup-schema.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/setup-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,kBAAkB,EAClB,cAAc,EACf,MAAM,aAAa,CAAC;AAUrB,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,kBAAkB,CAwjBjF"}
|
|
@@ -365,6 +365,60 @@ export function getBuiltinSetupSchema(surface) {
|
|
|
365
365
|
],
|
|
366
366
|
metadata: {},
|
|
367
367
|
};
|
|
368
|
+
case 'telephony':
|
|
369
|
+
return {
|
|
370
|
+
surface,
|
|
371
|
+
version: CHANNEL_SETUP_VERSION,
|
|
372
|
+
label: 'Telephony',
|
|
373
|
+
setupMode: 'bridge',
|
|
374
|
+
description: 'Telephony supports bridge-backed SMS/voice delivery or direct Twilio SMS and voice-call delivery.',
|
|
375
|
+
fields: [
|
|
376
|
+
setupField('enabled', 'Enabled', 'boolean', false, { configKey: 'surfaces.telephony.enabled', defaultValue: false }),
|
|
377
|
+
setupField('provider', 'Provider', 'select', true, {
|
|
378
|
+
configKey: 'surfaces.telephony.provider',
|
|
379
|
+
options: [{ value: 'twilio', label: 'Twilio' }, { value: 'bridge', label: 'Bridge' }],
|
|
380
|
+
}),
|
|
381
|
+
setupField('mode', 'Mode', 'select', true, {
|
|
382
|
+
configKey: 'surfaces.telephony.mode',
|
|
383
|
+
options: [{ value: 'sms', label: 'SMS' }, { value: 'voice', label: 'Voice call' }, { value: 'bridge', label: 'Bridge' }],
|
|
384
|
+
}),
|
|
385
|
+
setupField('bridgeUrl', 'Bridge URL', 'url', false, { configKey: 'surfaces.telephony.bridgeUrl', placeholder: 'https://telephony-bridge.example.test' }),
|
|
386
|
+
setupField('accountSid', 'Account SID', 'string', false, { configKey: 'surfaces.telephony.accountSid' }),
|
|
387
|
+
setupField('authToken', 'Auth token', 'secret', false, { configKey: 'surfaces.telephony.authToken', secretTargetId: 'authToken' }),
|
|
388
|
+
setupField('fromNumber', 'From number', 'string', false, { configKey: 'surfaces.telephony.fromNumber', placeholder: '+15551234567' }),
|
|
389
|
+
setupField('defaultRecipient', 'Default recipient', 'string', false, { configKey: 'surfaces.telephony.defaultRecipient', placeholder: '+15557654321' }),
|
|
390
|
+
setupField('token', 'Bridge token', 'secret', false, { configKey: 'surfaces.telephony.token', secretTargetId: 'primary' }),
|
|
391
|
+
setupField('webhookSecret', 'Webhook secret', 'secret', false, { configKey: 'surfaces.telephony.webhookSecret', secretTargetId: 'signingSecret' }),
|
|
392
|
+
setupField('voiceLanguage', 'Voice language', 'string', false, { configKey: 'surfaces.telephony.voiceLanguage', defaultValue: 'en-US' }),
|
|
393
|
+
],
|
|
394
|
+
secretTargets: [
|
|
395
|
+
secretTarget(surface, 'authToken', 'Auth token', false, 'Used for direct Twilio SMS or voice delivery.', {
|
|
396
|
+
serviceName: 'telephony',
|
|
397
|
+
serviceField: 'authToken',
|
|
398
|
+
envKeys: ['TWILIO_AUTH_TOKEN'],
|
|
399
|
+
configKeys: ['surfaces.telephony.authToken'],
|
|
400
|
+
}),
|
|
401
|
+
secretTarget(surface, 'primary', 'Bridge token', false, 'Used to authenticate against a telephony bridge.', {
|
|
402
|
+
serviceName: 'telephony',
|
|
403
|
+
serviceField: 'primary',
|
|
404
|
+
envKeys: ['TELEPHONY_BRIDGE_TOKEN'],
|
|
405
|
+
configKeys: ['surfaces.telephony.token'],
|
|
406
|
+
}),
|
|
407
|
+
secretTarget(surface, 'signingSecret', 'Webhook secret', false, 'Used to verify inbound telephony callbacks.', {
|
|
408
|
+
serviceName: 'telephony',
|
|
409
|
+
serviceField: 'signingSecret',
|
|
410
|
+
envKeys: ['TELEPHONY_WEBHOOK_SECRET', 'TWILIO_WEBHOOK_SECRET'],
|
|
411
|
+
configKeys: ['surfaces.telephony.webhookSecret'],
|
|
412
|
+
}),
|
|
413
|
+
],
|
|
414
|
+
externalSteps: [
|
|
415
|
+
'Choose bridge mode or direct Twilio provider mode.',
|
|
416
|
+
'For bridge mode, configure the bridge URL and bridge token.',
|
|
417
|
+
'For direct provider mode, store the account SID, auth token, and sender/caller number.',
|
|
418
|
+
'Configure a webhook secret before accepting inbound SMS or voice callbacks.',
|
|
419
|
+
],
|
|
420
|
+
metadata: {},
|
|
421
|
+
};
|
|
368
422
|
case 'imessage':
|
|
369
423
|
return {
|
|
370
424
|
surface,
|
|
@@ -10,7 +10,7 @@ import type { ChannelPolicyManager } from '../policy-manager.js';
|
|
|
10
10
|
import type { ChannelPluginRegistry } from '../plugin-registry.js';
|
|
11
11
|
import type { ChannelProviderRuntimeManager } from '../provider-runtime.js';
|
|
12
12
|
import type { RouteBindingManager } from '../route-manager.js';
|
|
13
|
-
export type ManagedSurface = 'slack' | 'discord' | 'ntfy' | 'webhook' | 'homeassistant' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix';
|
|
13
|
+
export type ManagedSurface = 'slack' | 'discord' | 'ntfy' | 'webhook' | 'homeassistant' | 'telegram' | 'google-chat' | 'signal' | 'whatsapp' | 'telephony' | 'imessage' | 'msteams' | 'bluebubbles' | 'mattermost' | 'matrix';
|
|
14
14
|
export interface BuiltinChannelRuntimeDeps {
|
|
15
15
|
readonly configManager: ConfigManager;
|
|
16
16
|
readonly secretsManager: SecretsManager;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,wBAAwB,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,SAAS,GACT,MAAM,GACN,SAAS,GACT,eAAe,GACf,UAAU,GACV,aAAa,GACb,QAAQ,GACR,UAAU,GACV,UAAU,GACV,SAAS,GACT,aAAa,GACb,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;IACxC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,aAAa,EAAE,mBAAmB,CAAC;IAC5C,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,eAAe,CAAC,EAAE,6BAA6B,GAAG,SAAS,CAAC;IACrE,QAAQ,CAAC,cAAc,EAAE,qBAAqB,CAAC;IAC/C,QAAQ,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,OAAO,CAAC;IACtE,QAAQ,CAAC,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;IACjE,QAAQ,CAAC,iCAAiC,EAAE,MAAM,4BAA4B,CAAC;IAC/E,QAAQ,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvF,QAAQ,CAAC,sBAAsB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtF,QAAQ,CAAC,wBAAwB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,QAAQ,CAAC,qBAAqB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrF,QAAQ,CAAC,wBAAwB,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxF,QAAQ,CAAC,0BAA0B,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxH,QAAQ,CAAC,4BAA4B,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1H,QAAQ,CAAC,yBAAyB,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvH,QAAQ,CAAC,4BAA4B,EAAE,CAAC,QAAQ,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3H;AAED,KAAK,oBAAoB,GAAG,MAAM,cAAc,CAAC;AAEjD,eAAO,MAAM,qBAAqB,IAAI,CAAC;AACvC,eAAO,MAAM,uBAAuB,0IAU1B,CAAC;AAEX,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,cAAc,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/shared.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,GAAG,IAAI,CAE/F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"surfaces.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/surfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,GAAG,sBAAsB,GAAG,IAAI,CAE/F;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,IAAI,cAAc,CAgBnF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAE/G;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAI1E;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOlG;AAED,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOlG;AAED,wBAAsB,sBAAsB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAOpG;AAED,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAO9F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAE5B,qBAAqB,EACrB,cAAc,EACd,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;CAC1C;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAsCvC;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,2BAA2B,GACpC,qBAAqB,GAAG,IAAI,CA0E9B;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,2BAA2B,GACpC,uBAAuB,CAUzB;AAED,wBAAsB,0CAA0C,CAC9D,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAe3C;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAIjF;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"targets.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/builtin/targets.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uBAAuB,EACvB,qBAAqB,EACrB,4BAA4B,EAE5B,qBAAqB,EACrB,cAAc,EACd,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7E,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,IAAI,EAAE,yBAAyB,CAAC;CAC1C;AAED,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAsCvC;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,2BAA2B,GACpC,qBAAqB,GAAG,IAAI,CA0E9B;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,2BAA2B,GACpC,uBAAuB,CAUzB;AAED,wBAAsB,0CAA0C,CAC9D,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,2BAA2B,GACnC,OAAO,CAAC,SAAS,qBAAqB,EAAE,CAAC,CAe3C;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAIjF;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAWlC;AAED,wBAAsB,8BAA8B,CAClD,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,4BAA4B,GACrC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CA6UlC"}
|
|
@@ -397,6 +397,24 @@ export async function lookupBuiltinProviderDirectory(context, surface, query, op
|
|
|
397
397
|
metadata: { provider: 'whatsapp', mode: surfaces.whatsapp.provider },
|
|
398
398
|
}], needle, limit);
|
|
399
399
|
}
|
|
400
|
+
if (surface === 'telephony') {
|
|
401
|
+
if (!surfaces.telephony.defaultRecipient && !surfaces.telephony.fromNumber && !surfaces.telephony.accountSid)
|
|
402
|
+
return [];
|
|
403
|
+
return filterProviderDirectory([{
|
|
404
|
+
id: surfaces.telephony.defaultRecipient || surfaces.telephony.fromNumber || surfaces.telephony.accountSid,
|
|
405
|
+
surface,
|
|
406
|
+
kind: 'user',
|
|
407
|
+
label: surfaces.telephony.defaultRecipient || surfaces.telephony.fromNumber || surfaces.telephony.accountSid,
|
|
408
|
+
handle: surfaces.telephony.defaultRecipient || surfaces.telephony.fromNumber || surfaces.telephony.accountSid,
|
|
409
|
+
isDirect: true,
|
|
410
|
+
searchText: [
|
|
411
|
+
surfaces.telephony.defaultRecipient,
|
|
412
|
+
surfaces.telephony.fromNumber,
|
|
413
|
+
surfaces.telephony.accountSid,
|
|
414
|
+
].filter(Boolean).join(' '),
|
|
415
|
+
metadata: { provider: 'telephony', mode: surfaces.telephony.mode },
|
|
416
|
+
}], needle, limit);
|
|
417
|
+
}
|
|
400
418
|
if (surface === 'imessage') {
|
|
401
419
|
if (!surfaces.imessage.defaultChatId && !surfaces.imessage.account)
|
|
402
420
|
return [];
|
|
@@ -4,6 +4,7 @@ import { ServiceRegistry } from '../../config/service-registry.js';
|
|
|
4
4
|
import type { ChannelDeliveryStrategy } from './types.js';
|
|
5
5
|
export declare function createSignalDeliveryStrategy(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
6
6
|
export declare function createWhatsAppDeliveryStrategy(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
7
|
+
export declare function createTelephonyDeliveryStrategy(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
7
8
|
export declare function createIMessageDeliveryStrategy(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
8
9
|
export declare function createBlueBubblesDeliveryStrategy(configManager: ConfigManager, serviceRegistry: ServiceRegistry, artifactStore: ArtifactStore): ChannelDeliveryStrategy;
|
|
9
10
|
//# sourceMappingURL=strategies-bridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"strategies-bridge.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/delivery/strategies-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2EzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAyCzB"}
|
|
1
|
+
{"version":3,"file":"strategies-bridge.d.ts","sourceRoot":"","sources":["../../../../src/platform/channels/delivery/strategies-bridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAe1D,wBAAgB,4BAA4B,CAC1C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA2EzB;AAWD,wBAAgB,+BAA+B,CAC7C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAuFzB;AAED,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CA6CzB;AAED,wBAAgB,iCAAiC,CAC/C,aAAa,EAAE,aAAa,EAC5B,eAAe,EAAE,eAAe,EAChC,aAAa,EAAE,aAAa,GAC3B,uBAAuB,CAyCzB"}
|