@mono-agent/messenger-adapter 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../src/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import type { ChannelDriver, SettingsJsonValue } from "@mono-agent/agent-contracts";
2
+ import { type MessengerAdapterConfig } from "./config.js";
3
+ import { type MessengerAdapterStartResult, type StartMessengerAdapterOptions } from "./start.js";
4
+ export type MessengerChannelDriverConfig = {
5
+ readonly [key: string]: SettingsJsonValue;
6
+ };
7
+ export interface MessengerChannelDriverOptions {
8
+ readonly id?: string;
9
+ readonly label?: string;
10
+ readonly config?: MessengerChannelDriverConfig;
11
+ readonly startAdapter?: (options: StartMessengerAdapterOptions) => Promise<MessengerAdapterStartResult>;
12
+ }
13
+ export declare function createMessengerChannelDriver(options?: MessengerChannelDriverOptions): ChannelDriver<MessengerAdapterConfig>;
14
+ export declare const createChannelDriver: typeof createMessengerChannelDriver;
15
+ //# sourceMappingURL=channel-driver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-driver.d.ts","sourceRoot":"","sources":["../src/channel-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,aAAa,EAGb,iBAAiB,EAClB,MAAM,6BAA6B,CAAC;AASrC,OAAO,EAKL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AACrB,OAAO,EAEL,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,EAClC,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;CAC3C,CAAC;AAEF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,4BAA4B,CAAC;IAC/C,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,4BAA4B,KAAK,OAAO,CAAC,2BAA2B,CAAC,CAAC;CACzG;AAkBD,wBAAgB,4BAA4B,CAC1C,OAAO,GAAE,6BAAkC,GAC1C,aAAa,CAAC,sBAAsB,CAAC,CAsGvC;AAED,eAAO,MAAM,mBAAmB,qCAA+B,CAAC"}
@@ -0,0 +1,209 @@
1
+ import { encodeJsonEnvValue, normalizeOptionalString, readJsonSection, readSettingsJson, } from "@mono-agent/agent-contracts";
2
+ import { MESSENGER_CHANNEL_ID, messengerUserIdFromConversation } from "./adapter.js";
3
+ import { assertNoMessengerSecretsInJson, loadMessengerAdapterConfig, MessengerAdapterConfigError, MESSENGER_CONFIG_FIELDS, } from "./config.js";
4
+ import { startMessengerAdapter, } from "./start.js";
5
+ const BOOLEAN_RAW_CONFIG_FIELDS = ["enabled", "allowAllUsers", "allowNonLoopback"];
6
+ // `pageAccessToken`, `appSecret`, and `verifyToken` are deliberately absent:
7
+ // they are environment-only and `assertNoMessengerSecretsInJson` rejects them.
8
+ const STRING_RAW_CONFIG_FIELDS = [
9
+ "host",
10
+ "webhookPath",
11
+ "apiVersion",
12
+ "proactiveMessagingType",
13
+ "proactiveTag",
14
+ ];
15
+ const INTEGER_RAW_CONFIG_FIELDS = ["port"];
16
+ const STRING_ARRAY_RAW_CONFIG_FIELDS = ["allowedUserIds"];
17
+ const DEFAULT_CHANNEL_LABEL = "Facebook Messenger";
18
+ const DISABLED_REASON = "Messenger is disabled.";
19
+ const CONFIG_VIEW_PLACEHOLDER = "—";
20
+ export function createMessengerChannelDriver(options = {}) {
21
+ const id = options.id ?? MESSENGER_CHANNEL_ID;
22
+ const label = options.label ?? DEFAULT_CHANNEL_LABEL;
23
+ return {
24
+ id,
25
+ label,
26
+ processJobs: { conversationScheme: MESSENGER_CHANNEL_ID },
27
+ async configView(input) {
28
+ const section = await readMessengerConfigViewSection(options, input);
29
+ let status = "active";
30
+ try {
31
+ const config = await loadMessengerChannelConfig(options, input);
32
+ if (!config.enabled) {
33
+ status = "disabled";
34
+ }
35
+ }
36
+ catch (error) {
37
+ if (!isMessengerConfigError(error)) {
38
+ throw error;
39
+ }
40
+ }
41
+ return {
42
+ id,
43
+ label,
44
+ status,
45
+ fields: MESSENGER_CONFIG_FIELDS.map((field) => toChannelConfigViewField(field, section, input.env)),
46
+ };
47
+ },
48
+ async loadConfig(input) {
49
+ return await loadMessengerChannelConfig(options, input);
50
+ },
51
+ isConfigError(error) {
52
+ return isMessengerConfigError(error);
53
+ },
54
+ disabledReason(config) {
55
+ return config.enabled ? undefined : DISABLED_REASON;
56
+ },
57
+ async start(input) {
58
+ const startAdapter = options.startAdapter ?? startMessengerAdapter;
59
+ const result = await startAdapter({
60
+ config: input.config,
61
+ responder: input.responder,
62
+ ...(input.logger === undefined ? {} : { logger: input.logger }),
63
+ onServerError: (reason) => input.onFailure(`Messenger webhook server failed: ${reason}`),
64
+ });
65
+ const isAllowed = (userId) => input.config.allowAllUsers || input.config.allowedUserIds.includes(userId);
66
+ return {
67
+ summary: {
68
+ host: result.host,
69
+ port: result.port,
70
+ path: result.webhookPath,
71
+ webhookUrl: `http://${formatHost(result.host)}:${result.port}${result.webhookPath}`,
72
+ },
73
+ stop: () => result.stop(),
74
+ notify: async ({ conversationId, text, verbatim, deliveryKey }) => {
75
+ const userId = messengerUserIdFromConversation(conversationId);
76
+ if (userId === undefined) {
77
+ input.logger?.warn?.("Messenger proactive notify skipped: unparseable destination.", { conversationId });
78
+ return { delivered: false, reason: "unparseable messenger destination", retryable: false };
79
+ }
80
+ if (!isAllowed(userId)) {
81
+ input.logger?.warn?.("Messenger proactive notify skipped: destination not in allowlist.", { conversationId });
82
+ return { delivered: false, reason: "messenger user is not in the adapter allowlist", retryable: false };
83
+ }
84
+ return await result.notify(userId, text, {
85
+ ...(verbatim === undefined ? {} : { verbatim }),
86
+ ...(deliveryKey === undefined ? {} : { deliveryKey }),
87
+ });
88
+ },
89
+ processJobs: {
90
+ update: async ({ conversationId, processJob }) => {
91
+ const userId = messengerUserIdFromConversation(conversationId);
92
+ if (userId === undefined
93
+ || processJob.origin.channel !== MESSENGER_CHANNEL_ID
94
+ || conversationId !== baseConversationId(processJob.origin.conversationId)) {
95
+ return {
96
+ delivered: false,
97
+ code: "process_job_origin_mismatch",
98
+ reason: "The process-job origin does not match the Messenger destination.",
99
+ retryable: false,
100
+ };
101
+ }
102
+ return await result.updateProcessJob(userId, processJob);
103
+ },
104
+ wake: async ({ conversationId, text, deliveryKey, processJob }) => {
105
+ const userId = messengerUserIdFromConversation(conversationId);
106
+ if (userId === undefined
107
+ || processJob.origin.channel !== MESSENGER_CHANNEL_ID
108
+ || conversationId !== baseConversationId(processJob.origin.conversationId)) {
109
+ return {
110
+ delivered: false,
111
+ code: "process_job_origin_mismatch",
112
+ reason: "The process-job origin does not match the Messenger destination.",
113
+ retryable: false,
114
+ };
115
+ }
116
+ return await result.notify(userId, text, { deliveryKey, steerActive: true });
117
+ },
118
+ },
119
+ };
120
+ },
121
+ };
122
+ }
123
+ export const createChannelDriver = createMessengerChannelDriver;
124
+ function baseConversationId(conversationId) {
125
+ return conversationId.split("#", 1)[0] ?? conversationId;
126
+ }
127
+ function formatHost(host) {
128
+ return host.includes(":") && !host.startsWith("[") ? `[${host}]` : host;
129
+ }
130
+ async function loadMessengerChannelConfig(options, input) {
131
+ if (options.config !== undefined) {
132
+ validateMessengerChannelDriverConfig(options.config);
133
+ return await loadMessengerAdapterConfig({
134
+ env: input.env,
135
+ json: { messenger: options.config },
136
+ });
137
+ }
138
+ return await loadMessengerAdapterConfig({ env: input.env, jsonPath: input.configPath });
139
+ }
140
+ async function readMessengerConfigViewSection(options, input) {
141
+ if (options.config !== undefined) {
142
+ return options.config;
143
+ }
144
+ const { json } = await readSettingsJson(input.configPath);
145
+ return readJsonSection(json, MESSENGER_CHANNEL_ID);
146
+ }
147
+ function isMessengerConfigError(error) {
148
+ return error instanceof MessengerAdapterConfigError;
149
+ }
150
+ function toChannelConfigViewField(field, section, env) {
151
+ const envValue = normalizeOptionalString(env[field.env]);
152
+ const jsonValue = encodeJsonEnvValue(field.fromJson(section), field.kind ?? "string");
153
+ const resolved = envValue ?? jsonValue;
154
+ const source = envValue !== undefined ? "env" : jsonValue !== undefined ? "json" : "default";
155
+ return {
156
+ id: field.id,
157
+ label: labelForFieldId(field.id),
158
+ value: field.secret === true ? (resolved === undefined ? "unset" : "set") : resolved ?? CONFIG_VIEW_PLACEHOLDER,
159
+ source,
160
+ ...(field.secret === true ? { redacted: true } : {}),
161
+ envKey: field.env,
162
+ };
163
+ }
164
+ function labelForFieldId(id) {
165
+ const words = id
166
+ .split(".")
167
+ .slice(1)
168
+ .join(" ")
169
+ .replace(/([a-z0-9])([A-Z])/gu, "$1 $2")
170
+ .toLowerCase();
171
+ return words.charAt(0).toUpperCase() + words.slice(1);
172
+ }
173
+ function validateMessengerChannelDriverConfig(config) {
174
+ // Fail closed on a credential in the inline plugin config before any type
175
+ // check: it must never reach the loader, and the operator must be told.
176
+ assertNoMessengerSecretsInJson(config);
177
+ for (const key of BOOLEAN_RAW_CONFIG_FIELDS) {
178
+ validateRawField(config, key, (value) => typeof value === "boolean", "a boolean");
179
+ }
180
+ for (const key of STRING_RAW_CONFIG_FIELDS) {
181
+ validateRawField(config, key, (value) => typeof value === "string", "a string");
182
+ }
183
+ for (const key of INTEGER_RAW_CONFIG_FIELDS) {
184
+ validateRawField(config, key, (value) => typeof value === "number" && Number.isInteger(value), "an integer");
185
+ }
186
+ for (const key of STRING_ARRAY_RAW_CONFIG_FIELDS) {
187
+ validateRawField(config, key, (value) => Array.isArray(value) && value.every((item) => typeof item === "string"), "an array of strings");
188
+ }
189
+ }
190
+ function validateRawField(config, key, isValid, expected) {
191
+ if (!Object.prototype.hasOwnProperty.call(config, key)) {
192
+ return;
193
+ }
194
+ const value = config[key];
195
+ if (isValid(value)) {
196
+ return;
197
+ }
198
+ throw new MessengerAdapterConfigError("invalid_config", `messenger.${key} must be ${expected}.`, { field: `messenger.${key}`, expected, reason: describeRawValue(value) });
199
+ }
200
+ function describeRawValue(value) {
201
+ if (value === undefined)
202
+ return "undefined";
203
+ if (value === null)
204
+ return "null";
205
+ if (Array.isArray(value))
206
+ return "array";
207
+ return typeof value;
208
+ }
209
+ //# sourceMappingURL=channel-driver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel-driver.js","sourceRoot":"","sources":["../src/channel-driver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ import type { JsonEnvFieldSpec, SettingsJson } from "@mono-agent/agent-contracts";
2
+ export declare const MESSENGER_MESSAGING_TYPES: readonly ["RESPONSE", "UPDATE", "MESSAGE_TAG"];
3
+ export type MessengerMessagingType = (typeof MESSENGER_MESSAGING_TYPES)[number];
4
+ export declare const DEFAULT_MESSENGER_HOST = "127.0.0.1";
5
+ export declare const DEFAULT_MESSENGER_PORT = 8650;
6
+ export declare const DEFAULT_MESSENGER_WEBHOOK_PATH = "/messenger/webhook";
7
+ export declare const DEFAULT_MESSENGER_API_VERSION = "v21.0";
8
+ export interface MessengerAdapterConfig {
9
+ readonly enabled: boolean;
10
+ readonly pageAccessToken: string;
11
+ readonly appSecret: string;
12
+ readonly verifyToken: string;
13
+ /** Page-scoped user ids (PSIDs) allowed to talk to the agent. */
14
+ readonly allowedUserIds: readonly string[];
15
+ readonly allowAllUsers: boolean;
16
+ readonly host: string;
17
+ readonly port: number;
18
+ readonly webhookPath: string;
19
+ readonly apiVersion: string;
20
+ readonly allowNonLoopback: boolean;
21
+ /**
22
+ * `messaging_type` used for proactive (cron/webhook) deliveries. Ordinary
23
+ * replies always use `RESPONSE`. Meta requires `MESSAGE_TAG` plus a policy
24
+ * `tag` outside the 24-hour standard messaging window.
25
+ */
26
+ readonly proactiveMessagingType: MessengerMessagingType;
27
+ readonly proactiveTag?: string;
28
+ }
29
+ export interface RedactedMessengerAdapterConfig {
30
+ readonly enabled: boolean;
31
+ readonly pageAccessToken: {
32
+ readonly present: boolean;
33
+ readonly redacted: true;
34
+ };
35
+ readonly appSecret: {
36
+ readonly present: boolean;
37
+ readonly redacted: true;
38
+ };
39
+ readonly verifyToken: {
40
+ readonly present: boolean;
41
+ readonly redacted: true;
42
+ };
43
+ readonly allowedUserIds: {
44
+ readonly count: number;
45
+ };
46
+ readonly allowAllUsers: boolean;
47
+ readonly host: string;
48
+ readonly port: number;
49
+ readonly webhookPath: string;
50
+ readonly apiVersion: string;
51
+ readonly allowNonLoopback: boolean;
52
+ readonly proactiveMessagingType: MessengerMessagingType;
53
+ readonly proactiveTag?: string;
54
+ }
55
+ export type MessengerAdapterConfigErrorCode = "missing_required_config" | "invalid_config";
56
+ export interface MessengerAdapterConfigErrorDetails {
57
+ readonly code?: MessengerAdapterConfigErrorCode;
58
+ readonly env?: string;
59
+ readonly reason?: string;
60
+ readonly [key: string]: unknown;
61
+ }
62
+ export declare class MessengerAdapterConfigError extends Error {
63
+ readonly code: MessengerAdapterConfigErrorCode;
64
+ readonly details: MessengerAdapterConfigErrorDetails;
65
+ constructor(code: MessengerAdapterConfigErrorCode, message: string, details?: MessengerAdapterConfigErrorDetails);
66
+ }
67
+ export interface LoadMessengerAdapterConfigInput {
68
+ readonly env: Record<string, string | undefined>;
69
+ readonly json?: SettingsJson;
70
+ readonly jsonPath?: string;
71
+ }
72
+ /**
73
+ * Credentials the adapter accepts ONLY from the environment. They are never
74
+ * layered from JSON, and a JSON section that carries one is rejected outright
75
+ * rather than silently ignored — an operator who put a Page token in a
76
+ * world-readable config file must be told, not quietly left unauthenticated.
77
+ */
78
+ export declare const MESSENGER_ENV_ONLY_SECRET_KEYS: readonly ["pageAccessToken", "appSecret", "verifyToken"];
79
+ /**
80
+ * Reject any env-only credential supplied through inline or file JSON. Called
81
+ * before layering so JSON can never satisfy a required secret.
82
+ */
83
+ export declare function assertNoMessengerSecretsInJson(section: Record<string, unknown>): void;
84
+ /**
85
+ * The `messenger` section's field registry: the single source of truth for the
86
+ * JSON→env layering and the app's config provenance view. The three credentials
87
+ * read `undefined` from JSON by construction — see
88
+ * {@link MESSENGER_ENV_ONLY_SECRET_KEYS}.
89
+ */
90
+ export declare const MESSENGER_CONFIG_FIELDS: readonly JsonEnvFieldSpec[];
91
+ export declare function loadMessengerAdapterConfig(input: LoadMessengerAdapterConfigInput): Promise<MessengerAdapterConfig>;
92
+ /**
93
+ * Validate a complete, enabled config. Split out of
94
+ * {@link loadMessengerAdapterConfig} so every entry point that can reach a bind
95
+ * — including a programmatically constructed config handed straight to
96
+ * `startMessengerAdapter` — enforces the same rules. A disabled config is not
97
+ * validated (nothing binds, nothing sends).
98
+ */
99
+ export declare function assertValidMessengerAdapterConfig(config: MessengerAdapterConfig): void;
100
+ /**
101
+ * The single non-loopback gate. Called during config load, again in
102
+ * `startMessengerAdapter`, and once more immediately before `listen()`, so no
103
+ * construction path can reach a public bind without the explicit opt-in.
104
+ */
105
+ export declare function assertMessengerBindAllowed(host: string, allowNonLoopback: boolean): void;
106
+ export declare function redactMessengerAdapterConfig(config: MessengerAdapterConfig): RedactedMessengerAdapterConfig;
107
+ export declare function isLoopbackHost(host: string): boolean;
108
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js ADDED
@@ -0,0 +1,187 @@
1
+ import { fieldSpecMappings, layerJsonOntoEnv, normalizeOptionalString, readBoolean, readChoice, readCsv, readInteger, readJsonSection, readSettingsJson, readString, } from "@mono-agent/agent-contracts";
2
+ export const MESSENGER_MESSAGING_TYPES = ["RESPONSE", "UPDATE", "MESSAGE_TAG"];
3
+ export const DEFAULT_MESSENGER_HOST = "127.0.0.1";
4
+ export const DEFAULT_MESSENGER_PORT = 8650;
5
+ export const DEFAULT_MESSENGER_WEBHOOK_PATH = "/messenger/webhook";
6
+ export const DEFAULT_MESSENGER_API_VERSION = "v21.0";
7
+ export class MessengerAdapterConfigError extends Error {
8
+ code;
9
+ details;
10
+ constructor(code, message, details = {}) {
11
+ super(message);
12
+ this.name = "MessengerAdapterConfigError";
13
+ this.code = code;
14
+ this.details = { ...details, code };
15
+ }
16
+ }
17
+ const invalidConfig = (message, details) => new MessengerAdapterConfigError("invalid_config", message, details);
18
+ const missingRequiredConfig = (message, details) => new MessengerAdapterConfigError("missing_required_config", message, details);
19
+ /**
20
+ * Credentials the adapter accepts ONLY from the environment. They are never
21
+ * layered from JSON, and a JSON section that carries one is rejected outright
22
+ * rather than silently ignored — an operator who put a Page token in a
23
+ * world-readable config file must be told, not quietly left unauthenticated.
24
+ */
25
+ export const MESSENGER_ENV_ONLY_SECRET_KEYS = ["pageAccessToken", "appSecret", "verifyToken"];
26
+ const ENV_KEY_BY_SECRET_JSON_KEY = {
27
+ pageAccessToken: "MONO_AGENT_MESSENGER_PAGE_ACCESS_TOKEN",
28
+ appSecret: "MONO_AGENT_MESSENGER_APP_SECRET",
29
+ verifyToken: "MONO_AGENT_MESSENGER_VERIFY_TOKEN",
30
+ };
31
+ /**
32
+ * Reject any env-only credential supplied through inline or file JSON. Called
33
+ * before layering so JSON can never satisfy a required secret.
34
+ */
35
+ export function assertNoMessengerSecretsInJson(section) {
36
+ for (const key of MESSENGER_ENV_ONLY_SECRET_KEYS) {
37
+ if (Object.prototype.hasOwnProperty.call(section, key) && section[key] !== undefined) {
38
+ throw invalidConfig(`messenger.${key} cannot be set in JSON config; set ${ENV_KEY_BY_SECRET_JSON_KEY[key]} in the environment instead.`, { field: `messenger.${key}`, env: ENV_KEY_BY_SECRET_JSON_KEY[key], reason: "env_only_secret" });
39
+ }
40
+ }
41
+ }
42
+ /**
43
+ * The `messenger` section's field registry: the single source of truth for the
44
+ * JSON→env layering and the app's config provenance view. The three credentials
45
+ * read `undefined` from JSON by construction — see
46
+ * {@link MESSENGER_ENV_ONLY_SECRET_KEYS}.
47
+ */
48
+ export const MESSENGER_CONFIG_FIELDS = [
49
+ { id: "messenger.enabled", env: "MONO_AGENT_MESSENGER_ENABLED", kind: "boolean", fromJson: (s) => s.enabled },
50
+ { id: "messenger.pageAccessToken", env: "MONO_AGENT_MESSENGER_PAGE_ACCESS_TOKEN", secret: true, fromJson: () => undefined },
51
+ { id: "messenger.appSecret", env: "MONO_AGENT_MESSENGER_APP_SECRET", secret: true, fromJson: () => undefined },
52
+ { id: "messenger.verifyToken", env: "MONO_AGENT_MESSENGER_VERIFY_TOKEN", secret: true, fromJson: () => undefined },
53
+ { id: "messenger.allowedUserIds", env: "MONO_AGENT_MESSENGER_ALLOWED_USER_IDS", kind: "csv", fromJson: (s) => s.allowedUserIds },
54
+ { id: "messenger.allowAllUsers", env: "MONO_AGENT_MESSENGER_ALLOW_ALL_USERS", kind: "boolean", fromJson: (s) => s.allowAllUsers },
55
+ { id: "messenger.host", env: "MONO_AGENT_MESSENGER_HOST", fromJson: (s) => s.host },
56
+ { id: "messenger.port", env: "MONO_AGENT_MESSENGER_PORT", kind: "integer", fromJson: (s) => s.port },
57
+ { id: "messenger.webhookPath", env: "MONO_AGENT_MESSENGER_WEBHOOK_PATH", fromJson: (s) => s.webhookPath },
58
+ { id: "messenger.apiVersion", env: "MONO_AGENT_MESSENGER_API_VERSION", fromJson: (s) => s.apiVersion },
59
+ { id: "messenger.allowNonLoopback", env: "MONO_AGENT_MESSENGER_ALLOW_NON_LOOPBACK", kind: "boolean", fromJson: (s) => s.allowNonLoopback },
60
+ { id: "messenger.proactiveMessagingType", env: "MONO_AGENT_MESSENGER_PROACTIVE_MESSAGING_TYPE", fromJson: (s) => s.proactiveMessagingType },
61
+ { id: "messenger.proactiveTag", env: "MONO_AGENT_MESSENGER_PROACTIVE_TAG", fromJson: (s) => s.proactiveTag },
62
+ ];
63
+ export async function loadMessengerAdapterConfig(input) {
64
+ const json = input.json ?? (input.jsonPath === undefined ? {} : (await readSettingsJson(input.jsonPath)).json);
65
+ const section = readJsonSection(json, "messenger");
66
+ assertNoMessengerSecretsInJson(section);
67
+ const env = layerJsonOntoEnv(input.env, fieldSpecMappings(section, MESSENGER_CONFIG_FIELDS));
68
+ const enabled = readBoolean(env.MONO_AGENT_MESSENGER_ENABLED, "MONO_AGENT_MESSENGER_ENABLED", false, invalidConfig);
69
+ const pageAccessToken = normalizeOptionalString(env.MONO_AGENT_MESSENGER_PAGE_ACCESS_TOKEN) ?? "";
70
+ const appSecret = normalizeOptionalString(env.MONO_AGENT_MESSENGER_APP_SECRET) ?? "";
71
+ const verifyToken = normalizeOptionalString(env.MONO_AGENT_MESSENGER_VERIFY_TOKEN) ?? "";
72
+ const allowedUserIds = readCsv(env.MONO_AGENT_MESSENGER_ALLOWED_USER_IDS);
73
+ const allowAllUsers = readBoolean(env.MONO_AGENT_MESSENGER_ALLOW_ALL_USERS, "MONO_AGENT_MESSENGER_ALLOW_ALL_USERS", false, invalidConfig);
74
+ const host = readString(env.MONO_AGENT_MESSENGER_HOST, DEFAULT_MESSENGER_HOST);
75
+ const port = readInteger(env.MONO_AGENT_MESSENGER_PORT, "MONO_AGENT_MESSENGER_PORT", DEFAULT_MESSENGER_PORT, invalidConfig, { min: 1, max: 65_535 });
76
+ const webhookPath = normalizeWebhookPath(readString(env.MONO_AGENT_MESSENGER_WEBHOOK_PATH, DEFAULT_MESSENGER_WEBHOOK_PATH));
77
+ const apiVersion = normalizeApiVersion(readString(env.MONO_AGENT_MESSENGER_API_VERSION, DEFAULT_MESSENGER_API_VERSION));
78
+ const allowNonLoopback = readBoolean(env.MONO_AGENT_MESSENGER_ALLOW_NON_LOOPBACK, "MONO_AGENT_MESSENGER_ALLOW_NON_LOOPBACK", false, invalidConfig);
79
+ const proactiveMessagingType = readChoice(env.MONO_AGENT_MESSENGER_PROACTIVE_MESSAGING_TYPE, "MONO_AGENT_MESSENGER_PROACTIVE_MESSAGING_TYPE", MESSENGER_MESSAGING_TYPES, "RESPONSE", invalidConfig);
80
+ const proactiveTag = normalizeOptionalString(env.MONO_AGENT_MESSENGER_PROACTIVE_TAG);
81
+ const config = {
82
+ enabled,
83
+ pageAccessToken,
84
+ appSecret,
85
+ verifyToken,
86
+ allowedUserIds,
87
+ allowAllUsers,
88
+ host,
89
+ port,
90
+ webhookPath,
91
+ apiVersion,
92
+ allowNonLoopback,
93
+ proactiveMessagingType,
94
+ ...(proactiveTag === undefined ? {} : { proactiveTag }),
95
+ };
96
+ // A disabled channel never validates its secrets or allowlist: status reads it
97
+ // as "disabled", not "waiting for config".
98
+ if (!enabled) {
99
+ return config;
100
+ }
101
+ assertValidMessengerAdapterConfig(config);
102
+ return config;
103
+ }
104
+ /**
105
+ * Validate a complete, enabled config. Split out of
106
+ * {@link loadMessengerAdapterConfig} so every entry point that can reach a bind
107
+ * — including a programmatically constructed config handed straight to
108
+ * `startMessengerAdapter` — enforces the same rules. A disabled config is not
109
+ * validated (nothing binds, nothing sends).
110
+ */
111
+ export function assertValidMessengerAdapterConfig(config) {
112
+ if (!config.enabled) {
113
+ return;
114
+ }
115
+ for (const [value, name] of [
116
+ [config.pageAccessToken, "MONO_AGENT_MESSENGER_PAGE_ACCESS_TOKEN"],
117
+ [config.appSecret, "MONO_AGENT_MESSENGER_APP_SECRET"],
118
+ [config.verifyToken, "MONO_AGENT_MESSENGER_VERIFY_TOKEN"],
119
+ ]) {
120
+ if (value.length === 0) {
121
+ throw missingRequiredConfig(`Messenger adapter requires ${name}.`, { env: name });
122
+ }
123
+ }
124
+ if (!config.allowAllUsers && config.allowedUserIds.length === 0) {
125
+ throw missingRequiredConfig("Messenger adapter requires MONO_AGENT_MESSENGER_ALLOWED_USER_IDS or MONO_AGENT_MESSENGER_ALLOW_ALL_USERS=true.", { env: "MONO_AGENT_MESSENGER_ALLOWED_USER_IDS" });
126
+ }
127
+ assertMessengerBindAllowed(config.host, config.allowNonLoopback);
128
+ if (config.proactiveMessagingType === "MESSAGE_TAG" && config.proactiveTag === undefined) {
129
+ throw invalidConfig("Messenger adapter proactiveMessagingType MESSAGE_TAG requires MONO_AGENT_MESSENGER_PROACTIVE_TAG.", { env: "MONO_AGENT_MESSENGER_PROACTIVE_TAG" });
130
+ }
131
+ }
132
+ /**
133
+ * The single non-loopback gate. Called during config load, again in
134
+ * `startMessengerAdapter`, and once more immediately before `listen()`, so no
135
+ * construction path can reach a public bind without the explicit opt-in.
136
+ */
137
+ export function assertMessengerBindAllowed(host, allowNonLoopback) {
138
+ if (allowNonLoopback || isLoopbackHost(host)) {
139
+ return;
140
+ }
141
+ throw invalidConfig(`Messenger adapter host ${host} is not loopback; set MONO_AGENT_MESSENGER_ALLOW_NON_LOOPBACK=true to bind it (put it behind a TLS reverse proxy or tunnel).`, { env: "MONO_AGENT_MESSENGER_HOST", reason: host });
142
+ }
143
+ export function redactMessengerAdapterConfig(config) {
144
+ return {
145
+ enabled: config.enabled,
146
+ pageAccessToken: { present: config.pageAccessToken.length > 0, redacted: true },
147
+ appSecret: { present: config.appSecret.length > 0, redacted: true },
148
+ verifyToken: { present: config.verifyToken.length > 0, redacted: true },
149
+ allowedUserIds: { count: config.allowedUserIds.length },
150
+ allowAllUsers: config.allowAllUsers,
151
+ host: config.host,
152
+ port: config.port,
153
+ webhookPath: config.webhookPath,
154
+ apiVersion: config.apiVersion,
155
+ allowNonLoopback: config.allowNonLoopback,
156
+ proactiveMessagingType: config.proactiveMessagingType,
157
+ ...(config.proactiveTag === undefined ? {} : { proactiveTag: config.proactiveTag }),
158
+ };
159
+ }
160
+ export function isLoopbackHost(host) {
161
+ const normalized = host.trim().toLowerCase();
162
+ return normalized === "127.0.0.1" || normalized === "localhost" || normalized === "::1" || normalized === "[::1]";
163
+ }
164
+ function normalizeWebhookPath(path) {
165
+ const trimmed = path.trim();
166
+ const withSlash = trimmed.startsWith("/") ? trimmed : `/${trimmed}`;
167
+ const withoutTrailing = withSlash.length > 1 ? withSlash.replace(/\/+$/u, "") : withSlash;
168
+ if (withoutTrailing === "/" || withoutTrailing.includes("?") || withoutTrailing.includes("#")) {
169
+ throw invalidConfig("Messenger adapter webhookPath must be a non-root path without a query or fragment.", {
170
+ env: "MONO_AGENT_MESSENGER_WEBHOOK_PATH",
171
+ reason: path,
172
+ });
173
+ }
174
+ return withoutTrailing;
175
+ }
176
+ function normalizeApiVersion(version) {
177
+ const trimmed = version.trim();
178
+ const normalized = trimmed.startsWith("v") ? trimmed : `v${trimmed}`;
179
+ if (!/^v\d+(?:\.\d+)?$/u.test(normalized)) {
180
+ throw invalidConfig("Messenger adapter apiVersion must look like v21.0.", {
181
+ env: "MONO_AGENT_MESSENGER_API_VERSION",
182
+ reason: version,
183
+ });
184
+ }
185
+ return normalized;
186
+ }
187
+ //# sourceMappingURL=config.js.map