@kilnai/runtime 0.1.13 → 0.1.15
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/channels/api-channel.d.ts +0 -8
- package/dist/channels/api-channel.d.ts.map +1 -1
- package/dist/channels/api-channel.js +0 -11
- package/dist/channels/api-channel.js.map +1 -1
- package/dist/channels/whatsapp-api.d.ts +40 -1
- package/dist/channels/whatsapp-api.d.ts.map +1 -1
- package/dist/channels/whatsapp-api.js +32 -1
- package/dist/channels/whatsapp-api.js.map +1 -1
- package/dist/gateway/auth-middleware.d.ts +25 -0
- package/dist/gateway/auth-middleware.d.ts.map +1 -0
- package/dist/gateway/auth-middleware.js +71 -0
- package/dist/gateway/auth-middleware.js.map +1 -0
- package/dist/gateway/gateway-routes.d.ts.map +1 -1
- package/dist/gateway/gateway-routes.js +10 -0
- package/dist/gateway/gateway-routes.js.map +1 -1
- package/dist/gateway/gateway-server.d.ts.map +1 -1
- package/dist/gateway/gateway-server.js +21 -0
- package/dist/gateway/gateway-server.js.map +1 -1
- package/dist/gateway/mode-b-routes.d.ts +1 -0
- package/dist/gateway/mode-b-routes.d.ts.map +1 -1
- package/dist/gateway/mode-b-routes.js +4 -0
- package/dist/gateway/mode-b-routes.js.map +1 -1
- package/dist/gateway/outbound-routes.d.ts +9 -0
- package/dist/gateway/outbound-routes.d.ts.map +1 -0
- package/dist/gateway/outbound-routes.js +66 -0
- package/dist/gateway/outbound-routes.js.map +1 -0
- package/dist/gateway/tenant-admin-routes.d.ts.map +1 -1
- package/dist/gateway/tenant-admin-routes.js +3 -8
- package/dist/gateway/tenant-admin-routes.js.map +1 -1
- package/dist/gateway/tenant-routes.d.ts +1 -0
- package/dist/gateway/tenant-routes.d.ts.map +1 -1
- package/dist/gateway/tenant-routes.js +4 -0
- package/dist/gateway/tenant-routes.js.map +1 -1
- package/dist/gateway/whatsapp-webhook-routes.d.ts +1 -0
- package/dist/gateway/whatsapp-webhook-routes.d.ts.map +1 -1
- package/dist/gateway/whatsapp-webhook-routes.js +25 -3
- package/dist/gateway/whatsapp-webhook-routes.js.map +1 -1
- package/dist/gateway/ws-routes.d.ts +1 -0
- package/dist/gateway/ws-routes.d.ts.map +1 -1
- package/dist/gateway/ws-routes.js +5 -0
- package/dist/gateway/ws-routes.js.map +1 -1
- package/dist/gateway/ws-tenant-routes.d.ts +1 -0
- package/dist/gateway/ws-tenant-routes.d.ts.map +1 -1
- package/dist/gateway/ws-tenant-routes.js +6 -0
- package/dist/gateway/ws-tenant-routes.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -4,9 +4,6 @@ export interface SseWriter {
|
|
|
4
4
|
write(data: string): void;
|
|
5
5
|
close(): void;
|
|
6
6
|
}
|
|
7
|
-
interface ApiChannelConfig {
|
|
8
|
-
apiKey?: string;
|
|
9
|
-
}
|
|
10
7
|
/**
|
|
11
8
|
* Channel adapter for REST API consumers with SSE streaming.
|
|
12
9
|
* receive() accepts incoming API messages and invokes the registered handler.
|
|
@@ -17,11 +14,9 @@ export declare class ApiChannel implements Channel {
|
|
|
17
14
|
readonly name = "api";
|
|
18
15
|
readonly defaultFormat: MessageFormat;
|
|
19
16
|
readonly supportedModalities: readonly Modality[];
|
|
20
|
-
private readonly config;
|
|
21
17
|
private readonly responseQueue;
|
|
22
18
|
private readonly sseClients;
|
|
23
19
|
private messageHandler;
|
|
24
|
-
constructor(config?: ApiChannelConfig);
|
|
25
20
|
/** Register a handler for incoming API messages */
|
|
26
21
|
onMessage(handler: (message: IncomingMessage) => void): void;
|
|
27
22
|
receive(message: IncomingMessage): Promise<void>;
|
|
@@ -35,9 +30,6 @@ export declare class ApiChannel implements Channel {
|
|
|
35
30
|
get sseClientCount(): number;
|
|
36
31
|
/** Returns and clears all queued responses (for REST polling) */
|
|
37
32
|
pollResponses(): OutgoingMessage[];
|
|
38
|
-
/** Returns true if no apiKey configured, or if key matches */
|
|
39
|
-
validateApiKey(key: string): boolean;
|
|
40
33
|
private broadcastSse;
|
|
41
34
|
}
|
|
42
|
-
export {};
|
|
43
35
|
//# sourceMappingURL=api-channel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-channel.d.ts","sourceRoot":"","sources":["../../src/channels/api-channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMpH,uFAAuF;AACvF,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,IAAI,IAAI,CAAC;CACf;AAED
|
|
1
|
+
{"version":3,"file":"api-channel.d.ts","sourceRoot":"","sources":["../../src/channels/api-channel.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAMpH,uFAAuF;AACvF,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,OAAO;IACxC,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAgB;IACrD,QAAQ,CAAC,mBAAmB,EAAE,SAAS,QAAQ,EAAE,CAAsC;IAEvF,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyB;IACvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,cAAc,CAAqD;IAE3E,mDAAmD;IACnD,SAAS,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,GAAG,IAAI;IAItD,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAMhD,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB9C,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/D,mCAAmC;IACnC,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIrC,sCAAsC;IACtC,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIxC,sCAAsC;IACtC,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,iEAAiE;IACjE,aAAa,IAAI,eAAe,EAAE;IAIlC,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -13,13 +13,9 @@ export class ApiChannel {
|
|
|
13
13
|
name = "api";
|
|
14
14
|
defaultFormat = "structured";
|
|
15
15
|
supportedModalities = ["text", "image", "audio", "file"];
|
|
16
|
-
config;
|
|
17
16
|
responseQueue = [];
|
|
18
17
|
sseClients = new Set();
|
|
19
18
|
messageHandler = null;
|
|
20
|
-
constructor(config = {}) {
|
|
21
|
-
this.config = config;
|
|
22
|
-
}
|
|
23
19
|
/** Register a handler for incoming API messages */
|
|
24
20
|
onMessage(handler) {
|
|
25
21
|
this.messageHandler = handler;
|
|
@@ -74,13 +70,6 @@ export class ApiChannel {
|
|
|
74
70
|
pollResponses() {
|
|
75
71
|
return this.responseQueue.splice(0);
|
|
76
72
|
}
|
|
77
|
-
/** Returns true if no apiKey configured, or if key matches */
|
|
78
|
-
validateApiKey(key) {
|
|
79
|
-
if (!this.config.apiKey) {
|
|
80
|
-
return true;
|
|
81
|
-
}
|
|
82
|
-
return key === this.config.apiKey;
|
|
83
|
-
}
|
|
84
73
|
broadcastSse(payload) {
|
|
85
74
|
for (const client of this.sseClients) {
|
|
86
75
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-channel.js","sourceRoot":"","sources":["../../src/channels/api-channel.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,kFAAkF;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,MAAM,cAAc,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"api-channel.js","sourceRoot":"","sources":["../../src/channels/api-channel.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,14 +7,53 @@ export declare function whatsappMessagesUrl(phoneNumberId: string): string;
|
|
|
7
7
|
* The caller must include a valid access token in the Authorization header to fetch the actual binary.
|
|
8
8
|
*/
|
|
9
9
|
export declare function whatsappMediaUrl(mediaId: string): string;
|
|
10
|
+
/** Parameter for a template component (text, image, document, video) */
|
|
11
|
+
export interface WhatsAppTemplateParameter {
|
|
12
|
+
readonly type: "text" | "image" | "document" | "video";
|
|
13
|
+
readonly text?: string;
|
|
14
|
+
readonly image?: {
|
|
15
|
+
readonly link: string;
|
|
16
|
+
};
|
|
17
|
+
readonly document?: {
|
|
18
|
+
readonly link: string;
|
|
19
|
+
readonly filename: string;
|
|
20
|
+
};
|
|
21
|
+
readonly video?: {
|
|
22
|
+
readonly link: string;
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/** Component within a template message (header, body, or button) */
|
|
26
|
+
export interface WhatsAppTemplateComponent {
|
|
27
|
+
readonly type: "header" | "body" | "button";
|
|
28
|
+
readonly parameters: readonly WhatsAppTemplateParameter[];
|
|
29
|
+
readonly sub_type?: "quick_reply" | "url";
|
|
30
|
+
readonly index?: string;
|
|
31
|
+
}
|
|
32
|
+
/** Response from WhatsApp Cloud API after sending a message */
|
|
33
|
+
export interface WhatsAppSendResult {
|
|
34
|
+
readonly whatsappMessageId: string;
|
|
35
|
+
}
|
|
10
36
|
/**
|
|
11
37
|
* Send a message via the WhatsApp Cloud API.
|
|
12
38
|
*
|
|
13
39
|
* @param phoneNumberId - The WhatsApp Business phone number ID
|
|
14
40
|
* @param accessToken - The access token for authentication
|
|
15
41
|
* @param to - The recipient phone number
|
|
16
|
-
* @param body - The message payload (type, text, image, audio, document, etc.)
|
|
42
|
+
* @param body - The message payload (type, text, image, audio, document, template, etc.)
|
|
17
43
|
* @returns The fetch Response
|
|
18
44
|
*/
|
|
19
45
|
export declare function sendWhatsAppMessage(phoneNumberId: string, accessToken: string, to: string, body: Record<string, unknown>): Promise<Response>;
|
|
46
|
+
/**
|
|
47
|
+
* Send a pre-approved template message via WhatsApp Cloud API.
|
|
48
|
+
* Used for business-initiated messages outside the 24-hour service window.
|
|
49
|
+
*
|
|
50
|
+
* @param phoneNumberId - The WhatsApp Business phone number ID
|
|
51
|
+
* @param accessToken - The access token for authentication
|
|
52
|
+
* @param to - The recipient phone number (E.164 format)
|
|
53
|
+
* @param templateName - The approved template name (snake_case)
|
|
54
|
+
* @param languageCode - BCP 47 language code (e.g., "en_US", "es_MX")
|
|
55
|
+
* @param components - Optional resolved template components with variable values
|
|
56
|
+
* @returns The WhatsApp message ID (wamid) for delivery tracking
|
|
57
|
+
*/
|
|
58
|
+
export declare function sendWhatsAppTemplate(phoneNumberId: string, accessToken: string, to: string, templateName: string, languageCode: string, components?: readonly WhatsAppTemplateComponent[]): Promise<WhatsAppSendResult>;
|
|
20
59
|
//# sourceMappingURL=whatsapp-api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp-api.d.ts","sourceRoot":"","sources":["../../src/channels/whatsapp-api.ts"],"names":[],"mappings":"AAGA,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAElD,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAkBnB"}
|
|
1
|
+
{"version":3,"file":"whatsapp-api.d.ts","sourceRoot":"","sources":["../../src/channels/whatsapp-api.ts"],"names":[],"mappings":"AAGA,iCAAiC;AACjC,eAAO,MAAM,0BAA0B,UAAU,CAAC;AAElD,yDAAyD;AACzD,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAExD;AAID,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,QAAQ,CAAC,QAAQ,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IACzE,QAAQ,CAAC,KAAK,CAAC,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,oEAAoE;AACpE,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,SAAS,yBAAyB,EAAE,CAAC;IAC1D,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,KAAK,CAAC;IAC1C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,+DAA+D;AAC/D,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,wBAAsB,mBAAmB,CACvC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,QAAQ,CAAC,CAkBnB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,SAAS,yBAAyB,EAAE,GAChD,OAAO,CAAC,kBAAkB,CAAC,CAoB7B"}
|
|
@@ -19,7 +19,7 @@ export function whatsappMediaUrl(mediaId) {
|
|
|
19
19
|
* @param phoneNumberId - The WhatsApp Business phone number ID
|
|
20
20
|
* @param accessToken - The access token for authentication
|
|
21
21
|
* @param to - The recipient phone number
|
|
22
|
-
* @param body - The message payload (type, text, image, audio, document, etc.)
|
|
22
|
+
* @param body - The message payload (type, text, image, audio, document, template, etc.)
|
|
23
23
|
* @returns The fetch Response
|
|
24
24
|
*/
|
|
25
25
|
export async function sendWhatsAppMessage(phoneNumberId, accessToken, to, body) {
|
|
@@ -41,4 +41,35 @@ export async function sendWhatsAppMessage(phoneNumberId, accessToken, to, body)
|
|
|
41
41
|
}
|
|
42
42
|
return res;
|
|
43
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Send a pre-approved template message via WhatsApp Cloud API.
|
|
46
|
+
* Used for business-initiated messages outside the 24-hour service window.
|
|
47
|
+
*
|
|
48
|
+
* @param phoneNumberId - The WhatsApp Business phone number ID
|
|
49
|
+
* @param accessToken - The access token for authentication
|
|
50
|
+
* @param to - The recipient phone number (E.164 format)
|
|
51
|
+
* @param templateName - The approved template name (snake_case)
|
|
52
|
+
* @param languageCode - BCP 47 language code (e.g., "en_US", "es_MX")
|
|
53
|
+
* @param components - Optional resolved template components with variable values
|
|
54
|
+
* @returns The WhatsApp message ID (wamid) for delivery tracking
|
|
55
|
+
*/
|
|
56
|
+
export async function sendWhatsAppTemplate(phoneNumberId, accessToken, to, templateName, languageCode, components) {
|
|
57
|
+
const template = {
|
|
58
|
+
name: templateName,
|
|
59
|
+
language: { code: languageCode },
|
|
60
|
+
};
|
|
61
|
+
if (components && components.length > 0) {
|
|
62
|
+
template.components = components;
|
|
63
|
+
}
|
|
64
|
+
const res = await sendWhatsAppMessage(phoneNumberId, accessToken, to, {
|
|
65
|
+
type: "template",
|
|
66
|
+
template,
|
|
67
|
+
});
|
|
68
|
+
const json = (await res.json());
|
|
69
|
+
const messageId = json.messages?.[0]?.id;
|
|
70
|
+
if (!messageId) {
|
|
71
|
+
throw new Error("WhatsApp API returned no message ID for template send");
|
|
72
|
+
}
|
|
73
|
+
return { whatsappMessageId: messageId };
|
|
74
|
+
}
|
|
44
75
|
//# sourceMappingURL=whatsapp-api.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"whatsapp-api.js","sourceRoot":"","sources":["../../src/channels/whatsapp-api.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,0FAA0F;AAE1F,iCAAiC;AACjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,OAAO,8BAA8B,0BAA0B,IAAI,aAAa,WAAW,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,8BAA8B,0BAA0B,IAAI,OAAO,EAAE,CAAC;AAC/E,CAAC;
|
|
1
|
+
{"version":3,"file":"whatsapp-api.js","sourceRoot":"","sources":["../../src/channels/whatsapp-api.ts"],"names":[],"mappings":"AAAA,mCAAmC;AACnC,0FAA0F;AAE1F,iCAAiC;AACjC,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAElD,yDAAyD;AACzD,MAAM,UAAU,mBAAmB,CAAC,aAAqB;IACvD,OAAO,8BAA8B,0BAA0B,IAAI,aAAa,WAAW,CAAC;AAC9F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,OAAO,8BAA8B,0BAA0B,IAAI,OAAO,EAAE,CAAC;AAC/E,CAAC;AA0BD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,aAAqB,EACrB,WAAmB,EACnB,EAAU,EACV,IAA6B;IAE7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE;QAC1D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,iBAAiB,EAAE,UAAU;YAC7B,EAAE;YACF,GAAG,IAAI;SACR,CAAC;KACH,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,aAAqB,EACrB,WAAmB,EACnB,EAAU,EACV,YAAoB,EACpB,YAAoB,EACpB,UAAiD;IAEjD,MAAM,QAAQ,GAA4B;QACxC,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;KACjC,CAAC;IACF,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;IACnC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,WAAW,EAAE,EAAE,EAAE;QACpE,IAAI,EAAE,UAAU;QAChB,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAyC,CAAC;IACxE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACzC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC;AAC1C,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { Context, Next } from "hono";
|
|
2
|
+
/**
|
|
3
|
+
* Require API key via X-Api-Key header. Returns 401 if missing or invalid.
|
|
4
|
+
*/
|
|
5
|
+
export declare function requireApiKey(key: string): (c: Context, next: Next) => Promise<Response | void>;
|
|
6
|
+
/**
|
|
7
|
+
* Require Bearer token via Authorization header. Returns 401 if missing or invalid.
|
|
8
|
+
*/
|
|
9
|
+
export declare function requireBearer(token: string): (c: Context, next: Next) => Promise<Response | void>;
|
|
10
|
+
/**
|
|
11
|
+
* Validate HMAC-SHA256 signature from a specified header against the raw request body.
|
|
12
|
+
* Strips optional "sha256=" prefix from the signature (Meta/WhatsApp convention).
|
|
13
|
+
* Returns 401 if the header is missing or the signature is invalid.
|
|
14
|
+
*/
|
|
15
|
+
export declare function requireWebhookSignature(secret: string, headerName: string): (c: Context, next: Next) => Promise<Response | void>;
|
|
16
|
+
/**
|
|
17
|
+
* Check if a WebSocket origin is allowed. Utility function, not middleware.
|
|
18
|
+
*
|
|
19
|
+
* - Empty/undefined allowedOrigins -> allow all (open mode)
|
|
20
|
+
* - No Origin header (null) -> allow (non-browser client)
|
|
21
|
+
* - localhost/127.0.0.1 any port -> always allowed
|
|
22
|
+
* - Otherwise -> exact match against allowedOrigins list
|
|
23
|
+
*/
|
|
24
|
+
export declare function isOriginAllowed(origin: string | null, allowedOrigins?: readonly string[]): boolean;
|
|
25
|
+
//# sourceMappingURL=auth-middleware.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-middleware.d.ts","sourceRoot":"","sources":["../../src/gateway/auth-middleware.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG1C;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQ/F;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAQjG;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,GACjB,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAetD;AAID;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAYlG"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
// Composable auth middleware for gateway routes
|
|
2
|
+
// Each function returns a Hono middleware or utility for a specific auth mechanism
|
|
3
|
+
import { verifyHmacSha256 } from "../utils/hmac.js";
|
|
4
|
+
/**
|
|
5
|
+
* Require API key via X-Api-Key header. Returns 401 if missing or invalid.
|
|
6
|
+
*/
|
|
7
|
+
export function requireApiKey(key) {
|
|
8
|
+
return async (c, next) => {
|
|
9
|
+
const provided = c.req.header("x-api-key");
|
|
10
|
+
if (!provided || provided !== key) {
|
|
11
|
+
return c.json({ error: "unauthorized", message: "Invalid or missing API key" }, 401);
|
|
12
|
+
}
|
|
13
|
+
return next();
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Require Bearer token via Authorization header. Returns 401 if missing or invalid.
|
|
18
|
+
*/
|
|
19
|
+
export function requireBearer(token) {
|
|
20
|
+
return async (c, next) => {
|
|
21
|
+
const auth = c.req.header("authorization");
|
|
22
|
+
if (!auth || auth !== `Bearer ${token}`) {
|
|
23
|
+
return c.json({ error: "unauthorized", message: "Invalid or missing Bearer token" }, 401);
|
|
24
|
+
}
|
|
25
|
+
return next();
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Validate HMAC-SHA256 signature from a specified header against the raw request body.
|
|
30
|
+
* Strips optional "sha256=" prefix from the signature (Meta/WhatsApp convention).
|
|
31
|
+
* Returns 401 if the header is missing or the signature is invalid.
|
|
32
|
+
*/
|
|
33
|
+
export function requireWebhookSignature(secret, headerName) {
|
|
34
|
+
return async (c, next) => {
|
|
35
|
+
const signature = c.req.header(headerName);
|
|
36
|
+
if (!signature) {
|
|
37
|
+
return c.json({ error: "unauthorized", message: `Missing ${headerName} header` }, 401);
|
|
38
|
+
}
|
|
39
|
+
const body = await c.req.text();
|
|
40
|
+
const sig = signature.startsWith("sha256=") ? signature.slice(7) : signature;
|
|
41
|
+
if (!verifyHmacSha256(secret, body, sig)) {
|
|
42
|
+
return c.json({ error: "unauthorized", message: "Invalid webhook signature" }, 401);
|
|
43
|
+
}
|
|
44
|
+
return next();
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
const LOCALHOST_HOSTNAMES = new Set(["localhost", "127.0.0.1"]);
|
|
48
|
+
/**
|
|
49
|
+
* Check if a WebSocket origin is allowed. Utility function, not middleware.
|
|
50
|
+
*
|
|
51
|
+
* - Empty/undefined allowedOrigins -> allow all (open mode)
|
|
52
|
+
* - No Origin header (null) -> allow (non-browser client)
|
|
53
|
+
* - localhost/127.0.0.1 any port -> always allowed
|
|
54
|
+
* - Otherwise -> exact match against allowedOrigins list
|
|
55
|
+
*/
|
|
56
|
+
export function isOriginAllowed(origin, allowedOrigins) {
|
|
57
|
+
if (!allowedOrigins || allowedOrigins.length === 0)
|
|
58
|
+
return true;
|
|
59
|
+
if (!origin)
|
|
60
|
+
return true;
|
|
61
|
+
try {
|
|
62
|
+
const url = new URL(origin);
|
|
63
|
+
if (LOCALHOST_HOSTNAMES.has(url.hostname))
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
return allowedOrigins.includes(origin);
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=auth-middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-middleware.js","sourceRoot":"","sources":["../../src/gateway/auth-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-routes.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-routes.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAGtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAEhF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAClB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,YAAY,CAAC,EAAE,eAAe,CAAC;IAC/B,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,YAAY,CAAC,EAAE,wBAAwB,CAAC;CACzC;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAC;IACpC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC;IACzC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAC;IAC3C,QAAQ,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACvD,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;CAC1D;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAiKlE"}
|
|
@@ -9,6 +9,7 @@ import { createDelegationRoutes } from "./delegation-routes.js";
|
|
|
9
9
|
import { createTenantRoutes } from "./tenant-routes.js";
|
|
10
10
|
import { createWhatsAppWebhookRoutes } from "./whatsapp-webhook-routes.js";
|
|
11
11
|
import { createTenantAdminRoutes } from "./tenant-admin-routes.js";
|
|
12
|
+
import { createOutboundRoutes } from "./outbound-routes.js";
|
|
12
13
|
import { HealthRegistry } from "./health-registry.js";
|
|
13
14
|
import { securityMiddleware } from "./security-middleware.js";
|
|
14
15
|
import { safetyMiddleware } from "./safety-middleware.js";
|
|
@@ -112,6 +113,7 @@ export function createGatewayApp(config) {
|
|
|
112
113
|
tenantRegistry: tenantRuntime.tenantRegistry,
|
|
113
114
|
billing: tenantRuntime.billing,
|
|
114
115
|
eventEmitter: loadedApp.eventEmitter,
|
|
116
|
+
allowedOrigins: channel.allowedOrigins,
|
|
115
117
|
});
|
|
116
118
|
app.route(`/apps/${loadedApp.name}`, wsTenantApp);
|
|
117
119
|
}
|
|
@@ -121,6 +123,7 @@ export function createGatewayApp(config) {
|
|
|
121
123
|
webChannel: loadedApp.webChannel,
|
|
122
124
|
upgradeWebSocket: config.upgradeWebSocket,
|
|
123
125
|
validateToken: config.validateToken,
|
|
126
|
+
apiKey: runtime.apiKey,
|
|
124
127
|
processMessage: async (userId, parts) => {
|
|
125
128
|
const session = runtime.sessionRegistry.getOrCreate({
|
|
126
129
|
appName: loadedApp.name,
|
|
@@ -138,6 +141,13 @@ export function createGatewayApp(config) {
|
|
|
138
141
|
if (loadedApp.tenantAdminConfig) {
|
|
139
142
|
const adminApp = createTenantAdminRoutes(loadedApp.tenantAdminConfig);
|
|
140
143
|
app.route(`/admin/${loadedApp.name}`, adminApp);
|
|
144
|
+
// Outbound send routes (same auth as admin)
|
|
145
|
+
const outboundApp = createOutboundRoutes({
|
|
146
|
+
tenantRegistry: loadedApp.tenantAdminConfig.tenantRegistry,
|
|
147
|
+
appName: loadedApp.name,
|
|
148
|
+
adminToken: loadedApp.tenantAdminConfig.adminToken,
|
|
149
|
+
});
|
|
150
|
+
app.route(`/outbound/${loadedApp.name}`, outboundApp);
|
|
141
151
|
}
|
|
142
152
|
}
|
|
143
153
|
// Mount webhook trigger routes per app
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-routes.js","sourceRoot":"","sources":["../../src/gateway/gateway-routes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"gateway-routes.js","sourceRoot":"","sources":["../../src/gateway/gateway-routes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-server.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-server.ts"],"names":[],"mappings":"AAuCA,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAClI,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAmDD,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"gateway-server.d.ts","sourceRoot":"","sources":["../../src/gateway/gateway-server.ts"],"names":[],"mappings":"AAuCA,YAAY,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAClI,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,YAAY,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;CAClC;AAmDD,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAygBnG;AAuID,wBAAsB,cAAc,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF9E"}
|
|
@@ -221,6 +221,9 @@ export async function startGateway(configPath, options) {
|
|
|
221
221
|
sessionRegistry.eventEmitter = eventEmitter;
|
|
222
222
|
loaded.eventEmitter = eventEmitter;
|
|
223
223
|
}
|
|
224
|
+
// Resolve API key from channel binding (shared across REST + WS for this app)
|
|
225
|
+
const apiChannel = loaded.binding.channels.find((ch) => ch.type === "api");
|
|
226
|
+
const resolvedApiKey = apiChannel?.apiKeyEnv ? process.env[apiChannel.apiKeyEnv] ?? undefined : undefined;
|
|
224
227
|
if (isMultiTenant) {
|
|
225
228
|
// Multi-tenant: use TenantRegistry + tenant routes
|
|
226
229
|
const tenantStorageDir = join(resolved.memoryBasePath, "tenants");
|
|
@@ -232,17 +235,20 @@ export async function startGateway(configPath, options) {
|
|
|
232
235
|
sessionRegistry,
|
|
233
236
|
tenantRegistry,
|
|
234
237
|
billing: resolved.modeBConfig.billing,
|
|
238
|
+
apiKey: resolvedApiKey,
|
|
235
239
|
};
|
|
236
240
|
// WhatsApp webhook: find whatsapp channel with verifyTokenEnv
|
|
237
241
|
const whatsappChannel = loaded.binding.channels.find((ch) => ch.type === "whatsapp");
|
|
238
242
|
if (whatsappChannel) {
|
|
239
243
|
const verifyTokenEnv = whatsappChannel.verifyTokenEnv ?? "";
|
|
244
|
+
const appSecretEnv = whatsappChannel.appSecretEnv ?? "";
|
|
240
245
|
loaded.whatsappWebhookConfig = {
|
|
241
246
|
appName: loaded.name,
|
|
242
247
|
orchestrator,
|
|
243
248
|
sessionRegistry,
|
|
244
249
|
tenantRegistry,
|
|
245
250
|
verifyToken: verifyTokenEnv ? process.env[verifyTokenEnv] ?? "" : "",
|
|
251
|
+
appSecret: appSecretEnv ? process.env[appSecretEnv] ?? undefined : undefined,
|
|
246
252
|
billing: resolved.modeBConfig.billing,
|
|
247
253
|
eventEmitter,
|
|
248
254
|
memoryBasePath: resolved.memoryBasePath,
|
|
@@ -268,9 +274,24 @@ export async function startGateway(configPath, options) {
|
|
|
268
274
|
sessionRegistry,
|
|
269
275
|
billing: resolved.modeBConfig.billing,
|
|
270
276
|
systemPrompt,
|
|
277
|
+
apiKey: resolvedApiKey,
|
|
271
278
|
};
|
|
272
279
|
}
|
|
273
280
|
}
|
|
281
|
+
// Auth warnings: notify when channels lack auth configuration
|
|
282
|
+
for (const loaded of loadedApps) {
|
|
283
|
+
for (const channel of loaded.binding.channels) {
|
|
284
|
+
if (channel.type === "api" && channel.path && !channel.apiKeyEnv) {
|
|
285
|
+
console.warn(` [warn] API channel at ${channel.path} has no apiKeyEnv -- endpoints are unauthenticated`);
|
|
286
|
+
}
|
|
287
|
+
if (channel.type === "whatsapp" && !channel.appSecretEnv) {
|
|
288
|
+
console.warn(` [warn] WhatsApp channel for ${loaded.name} has no appSecretEnv -- webhook signatures will not be verified`);
|
|
289
|
+
}
|
|
290
|
+
if (channel.multiTenant && !channel.adminTokenEnv) {
|
|
291
|
+
console.warn(` [warn] Multi-tenant app ${loaded.name} has no adminTokenEnv -- admin routes are unauthenticated`);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
}
|
|
274
295
|
const port = options?.port ?? gatewayConfig.port;
|
|
275
296
|
const delegationRegistry = { targets: delegationTargets };
|
|
276
297
|
// Create health registry and register subsystem checkers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-server.js","sourceRoot":"","sources":["../../src/gateway/gateway-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway-server.js","sourceRoot":"","sources":["../../src/gateway/gateway-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ export interface ModeBAppRuntime {
|
|
|
9
9
|
readonly sessionRegistry: SessionRegistry;
|
|
10
10
|
readonly billing?: BillingConfig;
|
|
11
11
|
readonly systemPrompt: string;
|
|
12
|
+
readonly apiKey?: string;
|
|
12
13
|
}
|
|
13
14
|
export declare function createModeBRoutes(runtime: ModeBAppRuntime): Hono;
|
|
14
15
|
//# sourceMappingURL=mode-b-routes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode-b-routes.d.ts","sourceRoot":"","sources":["../../src/gateway/mode-b-routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"mode-b-routes.d.ts","sourceRoot":"","sources":["../../src/gateway/mode-b-routes.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAG5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D,6CAA6C;AAC7C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAUD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAuGhE"}
|