@robono/server 0.23.1 → 0.25.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.
Files changed (74) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/HISTORY-IMPORT.md +97 -0
  3. package/HOSTED.md +241 -0
  4. package/README.md +28 -3
  5. package/SBOM.spdx.json +9 -9
  6. package/dist/calling-session-handle.d.ts.map +1 -1
  7. package/dist/calling-session-handle.js +1 -0
  8. package/dist/calling-session-handle.js.map +1 -1
  9. package/dist/history-import-cli.d.ts +11 -0
  10. package/dist/history-import-cli.d.ts.map +1 -0
  11. package/dist/history-import-cli.js +83 -0
  12. package/dist/history-import-cli.js.map +1 -0
  13. package/dist/history-import.d.ts +64 -0
  14. package/dist/history-import.d.ts.map +1 -0
  15. package/dist/history-import.js +69 -0
  16. package/dist/history-import.js.map +1 -0
  17. package/dist/hosted-sessions.d.ts +38 -0
  18. package/dist/hosted-sessions.d.ts.map +1 -0
  19. package/dist/hosted-sessions.js +68 -0
  20. package/dist/hosted-sessions.js.map +1 -0
  21. package/dist/index.d.ts +3 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +2 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/managed-media.d.ts +2 -1
  26. package/dist/managed-media.d.ts.map +1 -1
  27. package/dist/managed-media.js +1 -1
  28. package/dist/managed-media.js.map +1 -1
  29. package/dist/messaging-notification-providers.d.ts +51 -1
  30. package/dist/messaging-notification-providers.d.ts.map +1 -1
  31. package/dist/messaging-notification-providers.js +28 -5
  32. package/dist/messaging-notification-providers.js.map +1 -1
  33. package/dist/messaging-notifications.d.ts +2 -0
  34. package/dist/messaging-notifications.d.ts.map +1 -1
  35. package/dist/messaging-push-worker.d.ts.map +1 -1
  36. package/dist/messaging-push-worker.js +3 -2
  37. package/dist/messaging-push-worker.js.map +1 -1
  38. package/dist/messenger-check.d.ts +1 -0
  39. package/dist/messenger-check.d.ts.map +1 -1
  40. package/dist/messenger-check.js +7 -5
  41. package/dist/messenger-check.js.map +1 -1
  42. package/dist/messenger-connected-templates.js +15 -15
  43. package/dist/messenger-connected-templates.js.map +1 -1
  44. package/dist/messenger-framework-templates.d.ts +3 -0
  45. package/dist/messenger-framework-templates.d.ts.map +1 -0
  46. package/dist/messenger-framework-templates.js +68 -0
  47. package/dist/messenger-framework-templates.js.map +1 -0
  48. package/dist/messenger-hosted-install.d.ts +3 -0
  49. package/dist/messenger-hosted-install.d.ts.map +1 -0
  50. package/dist/messenger-hosted-install.js +107 -0
  51. package/dist/messenger-hosted-install.js.map +1 -0
  52. package/dist/messenger-hosted-templates.d.ts +6 -0
  53. package/dist/messenger-hosted-templates.d.ts.map +1 -0
  54. package/dist/messenger-hosted-templates.js +84 -0
  55. package/dist/messenger-hosted-templates.js.map +1 -0
  56. package/dist/messenger-init.d.ts.map +1 -1
  57. package/dist/messenger-init.js +8 -14
  58. package/dist/messenger-init.js.map +1 -1
  59. package/dist/messenger-install-cli.js +10 -7
  60. package/dist/messenger-install-cli.js.map +1 -1
  61. package/dist/messenger-install.d.ts +24 -1
  62. package/dist/messenger-install.d.ts.map +1 -1
  63. package/dist/messenger-install.js +32 -15
  64. package/dist/messenger-install.js.map +1 -1
  65. package/dist/messenger-node.d.ts.map +1 -1
  66. package/dist/messenger-node.js +1 -0
  67. package/dist/messenger-node.js.map +1 -1
  68. package/dist/messenger-upgrade.js +1 -1
  69. package/dist/messenger-upgrade.js.map +1 -1
  70. package/dist/messenger.d.ts +5 -1
  71. package/dist/messenger.d.ts.map +1 -1
  72. package/dist/messenger.js +14 -8
  73. package/dist/messenger.js.map +1 -1
  74. package/package.json +6 -3
@@ -0,0 +1,64 @@
1
+ import { RobonoManagedMedia } from './managed-media.js';
2
+ import type { MessagingStoredMedia, MessagingUploadFile, MessagingMediaKind } from './messaging-media.js';
3
+ export interface HistoryImportMessage {
4
+ sourceId: string;
5
+ authorId: string;
6
+ sentAt: string;
7
+ content: {
8
+ kind: 'text' | 'voice' | 'image' | 'video' | 'document';
9
+ text?: string;
10
+ media?: MessagingStoredMedia;
11
+ };
12
+ replyToSourceId?: string;
13
+ }
14
+ export interface HistoryImportStatus {
15
+ jobId: string;
16
+ state: 'staging' | 'committing' | 'complete' | 'cancelled';
17
+ expiresAt?: string;
18
+ stagedCount?: number;
19
+ importedCount?: number;
20
+ }
21
+ /** Server-only. A manage-scoped key cannot be exposed in an app or browser. */
22
+ export declare class RobonoHistoryImport {
23
+ private options;
24
+ private endpoint;
25
+ constructor(options: {
26
+ apiKey: string;
27
+ baseUrl?: string;
28
+ mediaUrl?: string;
29
+ fetch?: typeof fetch;
30
+ });
31
+ private request;
32
+ start(input: {
33
+ jobId: string;
34
+ conversationId: string;
35
+ authors: string[];
36
+ count: number;
37
+ }): Promise<HistoryImportStatus>;
38
+ append(jobId: string, messages: Array<HistoryImportMessage & {
39
+ ordinal: number;
40
+ }>): Promise<HistoryImportStatus>;
41
+ status(jobId: string): Promise<HistoryImportStatus>;
42
+ commit(jobId: string): Promise<HistoryImportStatus>;
43
+ cancel(jobId: string): Promise<HistoryImportStatus>;
44
+ /** Upload historic files privately, with normal limits, verification and screening. */
45
+ media(jobId: string): RobonoManagedMedia;
46
+ upload(input: {
47
+ jobId: string;
48
+ conversationId: string;
49
+ authorId: string;
50
+ uploadId: string;
51
+ kind: MessagingMediaKind;
52
+ file: MessagingUploadFile;
53
+ bytes: Uint8Array;
54
+ }): Promise<MessagingStoredMedia>;
55
+ /** Retry this whole operation with the same job/source IDs after interruption. */
56
+ importMessages(input: {
57
+ jobId: string;
58
+ conversationId: string;
59
+ authors: string[];
60
+ messages: HistoryImportMessage[];
61
+ onProgress?: (accepted: number, total: number) => void;
62
+ }): Promise<HistoryImportStatus>;
63
+ }
64
+ //# sourceMappingURL=history-import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-import.d.ts","sourceRoot":"","sources":["../src/history-import.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAC,oBAAoB,EAAC,mBAAmB,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AACtG,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,MAAM,EAAC,MAAM,CAAC;IAC9C,OAAO,EAAC;QAAC,IAAI,EAAC,MAAM,GAAC,OAAO,GAAC,OAAO,GAAC,OAAO,GAAC,UAAU,CAAC;QAAA,IAAI,CAAC,EAAC,MAAM,CAAC;QAAA,KAAK,CAAC,EAAC,oBAAoB,CAAA;KAAC,CAAC;IAClG,eAAe,CAAC,EAAC,MAAM,CAAC;CACxB;AACD,MAAM,WAAW,mBAAmB;IAAE,KAAK,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,SAAS,GAAC,YAAY,GAAC,UAAU,GAAC,WAAW,CAAC;IAAA,SAAS,CAAC,EAAC,MAAM,CAAC;IAAA,WAAW,CAAC,EAAC,MAAM,CAAC;IAAA,aAAa,CAAC,EAAC,MAAM,CAAA;CAAC;AAEnK,+EAA+E;AAC/E,qBAAa,mBAAmB;IAEnB,OAAO,CAAC,OAAO;IAD3B,OAAO,CAAC,QAAQ,CAAQ;gBACJ,OAAO,EAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC;QAAA,QAAQ,CAAC,EAAC,MAAM,CAAC;QAAA,KAAK,CAAC,EAAC,OAAO,KAAK,CAAA;KAAC;YAIlF,OAAO;IAOrB,KAAK,CAAC,KAAK,EAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,EAAE,CAAC;QAAA,KAAK,EAAC,MAAM,CAAA;KAAC;IAC9E,MAAM,CAAC,KAAK,EAAC,MAAM,EAAC,QAAQ,EAAC,KAAK,CAAC,oBAAoB,GAAC;QAAC,OAAO,EAAC,MAAM,CAAA;KAAC,CAAC;IACzE,MAAM,CAAC,KAAK,EAAC,MAAM;IACnB,MAAM,CAAC,KAAK,EAAC,MAAM;IACnB,MAAM,CAAC,KAAK,EAAC,MAAM;IACnB,uFAAuF;IACvF,KAAK,CAAC,KAAK,EAAC,MAAM;IAIZ,MAAM,CAAC,KAAK,EAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,QAAQ,EAAC,MAAM,CAAC;QAAA,QAAQ,EAAC,MAAM,CAAC;QAAA,IAAI,EAAC,kBAAkB,CAAC;QAAA,IAAI,EAAC,mBAAmB,CAAC;QAAA,KAAK,EAAC,UAAU,CAAA;KAAC,GAAE,OAAO,CAAC,oBAAoB,CAAC;IAUxL,kFAAkF;IAC5E,cAAc,CAAC,KAAK,EAAC;QAAC,KAAK,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,EAAE,CAAC;QAAA,QAAQ,EAAC,oBAAoB,EAAE,CAAC;QAAA,UAAU,CAAC,EAAC,CAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,KAAG,IAAI,CAAA;KAAC,GAAE,OAAO,CAAC,mBAAmB,CAAC;CAW/L"}
@@ -0,0 +1,69 @@
1
+ import { RobonoError } from './errors.js';
2
+ import { RobonoManagedMedia } from './managed-media.js';
3
+ const uuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
4
+ /** Server-only. A manage-scoped key cannot be exposed in an app or browser. */
5
+ export class RobonoHistoryImport {
6
+ options;
7
+ endpoint;
8
+ constructor(options) {
9
+ this.options = options;
10
+ const url = new URL(options.baseUrl ?? 'https://api.robono.com/v1/messaging/import');
11
+ if (url.protocol !== 'https:' || url.username || url.password || !options.apiKey.trim())
12
+ throw Error('Use an HTTPS import endpoint and a server API key.');
13
+ this.endpoint = url.href;
14
+ }
15
+ async request(operation, body) {
16
+ if (!uuid.test(body.jobId))
17
+ throw Error('Use a UUID job ID, and keep it unchanged when retrying.');
18
+ const response = await (this.options.fetch ?? fetch)(this.endpoint, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(120000), headers: { authorization: 'Bearer ' + this.options.apiKey, 'content-type': 'application/json' }, body: JSON.stringify({ ...body, operation }) });
19
+ const data = await response.json().catch(() => null);
20
+ if (!response.ok)
21
+ throw new RobonoError(data?.error?.message ?? 'History import failed.', { status: response.status, code: data?.error?.code ?? 'history_import_failed', retryable: response.status === 429 || response.status >= 500 });
22
+ if (data?.jobId !== body.jobId)
23
+ throw Error('The import service returned an unexpected job.');
24
+ return data;
25
+ }
26
+ start(input) { return this.request('start', input); }
27
+ append(jobId, messages) { return this.request('append', { jobId, messages }); }
28
+ status(jobId) { return this.request('status', { jobId }); }
29
+ commit(jobId) { return this.request('commit', { jobId }); }
30
+ cancel(jobId) { return this.request('cancel', { jobId }); }
31
+ /** Upload historic files privately, with normal limits, verification and screening. */
32
+ media(jobId) {
33
+ if (!uuid.test(jobId))
34
+ throw Error('Use a UUID job ID.');
35
+ return new RobonoManagedMedia({ apiKey: this.options.apiKey, importJobId: jobId, ...(this.options.mediaUrl ? { baseUrl: this.options.mediaUrl } : {}), ...(this.options.fetch ? { fetch: this.options.fetch } : {}) });
36
+ }
37
+ async upload(input) {
38
+ if (input.bytes.byteLength !== input.file.byteSize)
39
+ throw Error('The file size must match the supplied bytes.');
40
+ const media = this.media(input.jobId), context = { actorId: input.authorId, conversationId: input.conversationId, uploadId: input.uploadId };
41
+ const plan = await media.prepare({ ...context, kind: input.kind, file: input.file });
42
+ if ('media' in plan)
43
+ return plan.media;
44
+ const url = new URL(plan.url);
45
+ if (url.protocol !== 'https:' || url.username || url.password)
46
+ throw Error('A private HTTPS upload URL is required.');
47
+ // Never forward the account key to the storage URL.
48
+ const response = await (this.options.fetch ?? fetch)(url, { method: 'PUT', redirect: 'error', headers: plan.headers ?? {}, body: input.bytes, signal: AbortSignal.timeout(120000) });
49
+ if (!response.ok)
50
+ throw new RobonoError('The imported attachment upload failed.', { status: response.status, code: 'import_upload_failed', retryable: response.status === 429 || response.status >= 500 });
51
+ return (await media.complete(context)).media;
52
+ }
53
+ /** Retry this whole operation with the same job/source IDs after interruption. */
54
+ async importMessages(input) {
55
+ if (!input.messages.length || input.messages.length > 10000 || new Set(input.messages.map(m => m.sourceId)).size !== input.messages.length)
56
+ throw Error('Import 1–10,000 messages with unique source IDs.');
57
+ const started = await this.start({ jobId: input.jobId, conversationId: input.conversationId, authors: input.authors, count: input.messages.length });
58
+ if (started.state === 'complete')
59
+ return started;
60
+ if (started.state !== 'staging')
61
+ throw Error('This import is no longer active.');
62
+ for (let offset = 0; offset < input.messages.length; offset += 20) {
63
+ await this.append(input.jobId, input.messages.slice(offset, offset + 20).map((message, index) => ({ ...message, ordinal: offset + index })));
64
+ input.onProgress?.(Math.min(offset + 20, input.messages.length), input.messages.length);
65
+ }
66
+ return this.commit(input.jobId);
67
+ }
68
+ }
69
+ //# sourceMappingURL=history-import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-import.js","sourceRoot":"","sources":["../src/history-import.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type MessagingBackendOptions } from './messaging.js';
2
+ export interface RobonoHostedSession {
3
+ token: string;
4
+ userId: string;
5
+ appId: string;
6
+ expiresAt: string;
7
+ endpoint: string;
8
+ }
9
+ /** Server-only sign-in bridge. Verify the existing login before supplying userId.
10
+ * The returned token goes only to that user, never an app-wide credential. */
11
+ export declare class RobonoSessions {
12
+ private backend;
13
+ constructor(options: MessagingBackendOptions);
14
+ create(input: {
15
+ userId: string;
16
+ origins?: string[];
17
+ expiresInSeconds?: number;
18
+ }): Promise<RobonoHostedSession>;
19
+ revoke(input: {
20
+ userId: string;
21
+ token: string;
22
+ }): Promise<{
23
+ revoked: true;
24
+ }>;
25
+ /** Revoke this server key's sessions for a suspended or deleted account.
26
+ * Also synchronize its communication permissions through the existing APIs. */
27
+ revokeUser(userId: string): Promise<{
28
+ revoked: true;
29
+ }>;
30
+ }
31
+ /** The only customer-hosted endpoint in the standard connection: verify the
32
+ * existing login and issue its short-lived session. No chat traffic passes here. */
33
+ export declare function createRobonoTokenHandler(options: MessagingBackendOptions & {
34
+ authenticate: (request: Request) => Promise<string | null>;
35
+ origins: string[];
36
+ expiresInSeconds?: number;
37
+ }): (request: Request) => Promise<Response>;
38
+ //# sourceMappingURL=hosted-sessions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-sessions.d.ts","sourceRoot":"","sources":["../src/hosted-sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,uBAAuB,EAAC,MAAM,gBAAgB,CAAC;AAEnF,MAAM,WAAW,mBAAmB;IACnC,KAAK,EAAC,MAAM,CAAC;IACb,MAAM,EAAC,MAAM,CAAC;IACd,KAAK,EAAC,MAAM,CAAC;IACb,SAAS,EAAC,MAAM,CAAC;IACjB,QAAQ,EAAC,MAAM,CAAC;CAChB;AACD;8EAC8E;AAC9E,qBAAa,cAAc;IAC1B,OAAO,CAAC,OAAO,CAAwB;gBAC3B,OAAO,EAAC,uBAAuB;IAGrC,MAAM,CAAC,KAAK,EAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,EAAE,CAAC;QAAA,gBAAgB,CAAC,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC,mBAAmB,CAAC;IAM3G,MAAM,CAAC,KAAK,EAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC;QAAC,OAAO,EAAC,IAAI,CAAA;KAAC,CAAC;IAClE;mFAC+E;IAC/E,UAAU,CAAC,MAAM,EAAC,MAAM,GAAE,OAAO,CAAC;QAAC,OAAO,EAAC,IAAI,CAAA;KAAC,CAAC;CACjD;AAGD;oFACoF;AACpF,wBAAgB,wBAAwB,CAAC,OAAO,EAAC,uBAAuB,GAAC;IAAC,YAAY,EAAC,CAAC,OAAO,EAAC,OAAO,KAAG,OAAO,CAAC,MAAM,GAAC,IAAI,CAAC,CAAC;IAAA,OAAO,EAAC,MAAM,EAAE,CAAC;IAAA,gBAAgB,CAAC,EAAC,MAAM,CAAA;CAAC,IAiB3J,SAAQ,OAAO,uBAM5B"}
@@ -0,0 +1,68 @@
1
+ import { RobonoMessagingBackend } from './messaging.js';
2
+ /** Server-only sign-in bridge. Verify the existing login before supplying userId.
3
+ * The returned token goes only to that user, never an app-wide credential. */
4
+ export class RobonoSessions {
5
+ backend;
6
+ constructor(options) {
7
+ this.backend = new RobonoMessagingBackend({ ...options, baseUrl: options.baseUrl ?? 'https://api.robono.com/v1/messenger/sessions' });
8
+ }
9
+ async create(input) {
10
+ validateUser(input.userId);
11
+ const result = await this.backend.request('create', input);
12
+ if (result?.userId !== input.userId || typeof result.appId !== 'string' || !/^[a-f0-9-]{36}$/.test(result.appId) || typeof result.token !== 'string' || !/^rms_[A-Za-z0-9_-]{43}$/.test(result.token) || !Number.isFinite(Date.parse(result.expiresAt)) || Date.parse(result.expiresAt) <= Date.now() || typeof result.endpoint !== 'string' || !/^https:\/\/(?:[a-z0-9-]+\.)?api\.robono\.com\/v1\/messenger$/.test(result.endpoint))
13
+ throw Error('Invalid Robono session response');
14
+ return result;
15
+ }
16
+ revoke(input) { validateUser(input.userId); return this.backend.request('revoke', input); }
17
+ /** Revoke this server key's sessions for a suspended or deleted account.
18
+ * Also synchronize its communication permissions through the existing APIs. */
19
+ revokeUser(userId) { validateUser(userId); return this.backend.request('revoke-user', { userId }); }
20
+ }
21
+ function validateUser(value) { if (typeof value !== 'string' || value.length < 1 || value.length > 200 || value.trim() !== value || /[\u0000-\u001f\u007f]/.test(value))
22
+ throw Error('Supply your verified user ID'); }
23
+ /** The only customer-hosted endpoint in the standard connection: verify the
24
+ * existing login and issue its short-lived session. No chat traffic passes here. */
25
+ export function createRobonoTokenHandler(options) {
26
+ const sessions = new RobonoSessions(options), origins = new Set(options.origins);
27
+ for (const origin of origins) {
28
+ const url = new URL(origin);
29
+ if (url.origin !== origin || url.protocol !== 'https:' && !(url.protocol === 'http:' && ['localhost', '127.0.0.1', '[::1]'].includes(url.hostname)))
30
+ throw Error('Use exact HTTPS website origins.');
31
+ }
32
+ const handle = async (request) => {
33
+ const fail = (code, status) => Response.json({ error: { code } }, { status, headers: { 'cache-control': 'no-store' } });
34
+ const origin = request.headers.get('origin');
35
+ if (request.method === 'OPTIONS')
36
+ return origin && origins.has(origin) ? new Response(null, { status: 204 }) : fail('origin_not_allowed', 403);
37
+ if (request.method !== 'POST')
38
+ return fail('method_not_allowed', 405);
39
+ if (origin && !origins.has(origin))
40
+ return fail('origin_not_allowed', 403);
41
+ if (!origin && !/^Bearer\s+\S+$/i.test(request.headers.get('authorization') ?? ''))
42
+ return fail('authentication_required', 401);
43
+ if (request.headers.get('content-type')?.split(';')[0]?.trim().toLowerCase() !== 'application/json')
44
+ return fail('json_required', 415);
45
+ try {
46
+ const userId = await options.authenticate(request);
47
+ if (!userId)
48
+ return fail('authentication_required', 401);
49
+ const session = await sessions.create({ userId, origins: [...origins], ...(options.expiresInSeconds ? { expiresInSeconds: options.expiresInSeconds } : {}) });
50
+ return Response.json(session, { headers: { 'cache-control': 'no-store', 'x-content-type-options': 'nosniff' } });
51
+ }
52
+ catch {
53
+ return fail('session_unavailable', 503);
54
+ }
55
+ };
56
+ return async (request) => {
57
+ const response = await handle(request), origin = request.headers.get('origin');
58
+ response.headers.set('cache-control', 'no-store');
59
+ response.headers.set('vary', 'Origin');
60
+ if (origin && origins.has(origin)) {
61
+ response.headers.set('access-control-allow-origin', origin);
62
+ response.headers.set('access-control-allow-methods', 'POST, OPTIONS');
63
+ response.headers.set('access-control-allow-headers', 'Authorization, Content-Type');
64
+ }
65
+ return response;
66
+ };
67
+ }
68
+ //# sourceMappingURL=hosted-sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hosted-sessions.js","sourceRoot":"","sources":["../src/hosted-sessions.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -30,4 +30,7 @@ export { checkRobonoMessengerSetup, type MessengerSetupCheck } from './messenger
30
30
  export { supabaseMessengerAuthentication, firebaseMessengerAuthentication } from './messenger-auth.js';
31
31
  export { createMessagingExtrasBackend, createMessagingExtrasBackendAdapter } from './messaging-extras.js';
32
32
  export { RobonoMessengerConnections, type MessengerContactInput, type MessengerCallingContext } from './messenger-connections.js';
33
+ export { RobonoSessions, createRobonoTokenHandler, type RobonoHostedSession } from './hosted-sessions.js';
34
+ export { RobonoHistoryImport } from './history-import.js';
35
+ export type { HistoryImportMessage, HistoryImportStatus } from './history-import.js';
33
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrI,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtE,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAC,kCAAkC,EAAC,MAAM,sBAAsB,CAAC;AACxE,YAAY,EAAC,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AACtI,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAC,qBAAqB,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AACjF,YAAY,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAC,2BAA2B,EAAC,KAAK,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AACtF,YAAY,EAAC,4BAA4B,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAEjF,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAC,aAAa,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAC,yBAAyB,EAAC,KAAK,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAC,+BAA+B,EAAC,+BAA+B,EAAC,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EAAC,4BAA4B,EAAC,mCAAmC,EAAC,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAC,0BAA0B,EAAC,KAAK,qBAAqB,EAAC,KAAK,uBAAuB,EAAC,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,YAAY,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACrI,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC1D,YAAY,EACV,yBAAyB,EACzB,0BAA0B,EAC1B,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACtE,mBAAmB,YAAY,CAAC;AAEhC,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AACvF,YAAY,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEpF,OAAO,EAAC,kCAAkC,EAAC,MAAM,sBAAsB,CAAC;AACxE,YAAY,EAAC,uBAAuB,EAAE,uBAAuB,EAAE,mBAAmB,EAAE,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AACtI,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAC,qBAAqB,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AACjF,YAAY,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAC,2BAA2B,EAAC,KAAK,qBAAqB,EAAC,MAAM,gBAAgB,CAAC;AACtF,YAAY,EAAC,4BAA4B,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAEjF,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAC,aAAa,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAElE,OAAO,EAAC,yBAAyB,EAAC,KAAK,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAC,+BAA+B,EAAC,+BAA+B,EAAC,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EAAC,4BAA4B,EAAC,mCAAmC,EAAC,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAC,0BAA0B,EAAC,KAAK,qBAAqB,EAAC,KAAK,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AAC9H,OAAO,EAAC,cAAc,EAAC,wBAAwB,EAAC,KAAK,mBAAmB,EAAC,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAC,oBAAoB,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -20,4 +20,6 @@ export { checkRobonoMessengerSetup } from './messenger-check.js';
20
20
  export { supabaseMessengerAuthentication, firebaseMessengerAuthentication } from './messenger-auth.js';
21
21
  export { createMessagingExtrasBackend, createMessagingExtrasBackendAdapter } from './messaging-extras.js';
22
22
  export { RobonoMessengerConnections } from './messenger-connections.js';
23
+ export { RobonoSessions, createRobonoTokenHandler } from './hosted-sessions.js';
24
+ export { RobonoHistoryImport } from './history-import.js';
23
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAM1D,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAGvF,OAAO,EAAC,kCAAkC,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAC,qBAAqB,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAEjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAC,2BAA2B,EAA4B,MAAM,gBAAgB,CAAC;AAGtF,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAC,yBAAyB,EAA0B,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAC,+BAA+B,EAAC,+BAA+B,EAAC,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EAAC,4BAA4B,EAAC,mCAAmC,EAAC,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAC,0BAA0B,EAAyD,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAM1D,OAAO,EACL,yBAAyB,EACzB,WAAW,EACX,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGtE,OAAO,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,gBAAgB,CAAC;AAGvF,OAAO,EAAC,kCAAkC,EAAC,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAC,sCAAsC,EAAC,MAAM,2BAA2B,CAAC;AAEjF,OAAO,EAAC,qBAAqB,EAAC,4BAA4B,EAAC,MAAM,eAAe,CAAC;AAEjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAC,2BAA2B,EAA4B,MAAM,gBAAgB,CAAC;AAGtF,cAAc,8BAA8B,CAAC;AAC7C,cAAc,uCAAuC,CAAC;AACtD,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAG/C,OAAO,EAAC,yBAAyB,EAA0B,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAC,+BAA+B,EAAC,+BAA+B,EAAC,MAAM,qBAAqB,CAAC;AAGpG,OAAO,EAAC,4BAA4B,EAAC,mCAAmC,EAAC,MAAM,uBAAuB,CAAC;AAEvG,OAAO,EAAC,0BAA0B,EAAyD,MAAM,4BAA4B,CAAC;AAC9H,OAAO,EAAC,cAAc,EAAC,wBAAwB,EAA0B,MAAM,sBAAsB,CAAC;AAEtG,OAAO,EAAC,mBAAmB,EAAC,MAAM,qBAAqB,CAAC"}
@@ -6,7 +6,8 @@ export declare class RobonoManagedMedia implements MessagingPrivateStorage {
6
6
  constructor(options: {
7
7
  apiKey: string;
8
8
  baseUrl?: string;
9
- fetch?: typeof fetch;
9
+ fetch?: typeof fetch; /** Server-only, authorized history migration. */
10
+ importJobId?: string;
10
11
  });
11
12
  private request;
12
13
  prepare(input: Parameters<MessagingPrivateStorage['prepare']>[0]): ReturnType<MessagingPrivateStorage['prepare']>;
@@ -1 +1 @@
1
- {"version":3,"file":"managed-media.d.ts","sourceRoot":"","sources":["../src/managed-media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,uBAAuB,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AACvF,yFAAyF;AACzF,qBAAa,kBAAmB,YAAW,uBAAuB;IAErD,OAAO,CAAC,OAAO;IAD3B,OAAO,CAAC,GAAG,CAAQ;gBACC,OAAO,EAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC;QAAA,KAAK,CAAC,EAAC,OAAO,KAAK,CAAA;KAAC;YAKjE,OAAO;IAOrB,OAAO,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACzG,QAAQ,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAKxH,QAAQ,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAClH,iBAAiB,CAAC,KAAK,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QAAA,KAAK,EAAC,oBAAoB,CAAA;KAAC,CAAC;IAChK,SAAS,CAAC,KAAK,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QAAA,KAAK,EAAC,oBAAoB,CAAA;KAAC,GAAC,IAAI,CAAC;IACvJ,OAAO,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC,oBAAoB,GAAC,IAAI,CAAC;CAG7G"}
1
+ {"version":3,"file":"managed-media.d.ts","sourceRoot":"","sources":["../src/managed-media.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,uBAAuB,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AACvF,yFAAyF;AACzF,qBAAa,kBAAmB,YAAW,uBAAuB;IAErD,OAAO,CAAC,OAAO;IAD3B,OAAO,CAAC,GAAG,CAAQ;gBACC,OAAO,EAAC;QAAC,MAAM,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC;QAAA,KAAK,CAAC,EAAC,OAAO,KAAK,CAAC,CAAA,iDAAiD;QAAA,WAAW,CAAC,EAAC,MAAM,CAAA;KAAC;YAKtI,OAAO;IAOrB,OAAO,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;IACzG,QAAQ,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAKxH,QAAQ,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAE,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAClH,iBAAiB,CAAC,KAAK,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QAAA,KAAK,EAAC,oBAAoB,CAAA;KAAC,CAAC;IAChK,SAAS,CAAC,KAAK,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,SAAS,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC;QAAC,GAAG,EAAC,MAAM,CAAC;QAAA,OAAO,CAAC,EAAC,MAAM,CAAC,MAAM,EAAC,MAAM,CAAC,CAAC;QAAA,KAAK,EAAC,oBAAoB,CAAA;KAAC,GAAC,IAAI,CAAC;IACvJ,OAAO,CAAC,KAAK,EAAC,UAAU,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAC;QAAC,OAAO,EAAC,MAAM,CAAC;QAAA,cAAc,EAAC,MAAM,CAAC;QAAA,OAAO,EAAC,MAAM,CAAA;KAAC,GAAE,OAAO,CAAC,oBAAoB,GAAC,IAAI,CAAC;CAG7G"}
@@ -11,7 +11,7 @@ export class RobonoManagedMedia {
11
11
  this.url = url.href;
12
12
  }
13
13
  async request(operation, input) {
14
- const response = await (this.options.fetch ?? fetch)(this.url, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(operation === 'complete' ? 120000 : 15000), headers: { authorization: `Bearer ${this.options.apiKey}`, 'content-type': 'application/json' }, body: JSON.stringify({ ...input, operation }) });
14
+ const response = await (this.options.fetch ?? fetch)(this.url, { method: 'POST', redirect: 'error', signal: AbortSignal.timeout(operation === 'complete' ? 120000 : 15000), headers: { authorization: `Bearer ${this.options.apiKey}`, 'content-type': 'application/json' }, body: JSON.stringify({ ...input, operation, ...(this.options.importJobId ? { importJobId: this.options.importJobId } : {}) }) });
15
15
  const data = await response.json().catch(() => null);
16
16
  if (response.status === 202 && data?.error?.code === 'screening_pending')
17
17
  throw new RobonoError('This attachment is being checked before delivery.', { status: 202, code: 'screening_pending', retryable: true });
@@ -1 +1 @@
1
- {"version":3,"file":"managed-media.js","sourceRoot":"","sources":["../src/managed-media.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,yFAAyF;AACzF,MAAM,OAAO,kBAAkB;IAEV;IADZ,GAAG,CAAQ;IACnB,YAAoB,OAA2D;QAA3D,YAAO,GAAP,OAAO,CAAoD;QAC9E,MAAM,GAAG,GAAC,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAE,2CAA2C,CAAC,CAAC;QAChF,IAAG,GAAG,CAAC,QAAQ,KAAG,QAAQ,IAAE,GAAG,CAAC,QAAQ,IAAE,GAAG,CAAC,QAAQ,IAAE,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;YAAC,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;QAC1I,IAAI,CAAC,GAAG,GAAC,GAAG,CAAC,IAAI,CAAC;IACnB,CAAC;IACO,KAAK,CAAC,OAAO,CAAC,SAAgB,EAAC,KAAY;QAClD,MAAM,QAAQ,GAAC,MAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAC,EAAC,MAAM,EAAC,MAAM,EAAC,QAAQ,EAAC,OAAO,EAAC,MAAM,EAAC,WAAW,CAAC,OAAO,CAAC,SAAS,KAAG,UAAU,CAAA,CAAC,CAAA,MAAM,CAAA,CAAC,CAAA,KAAK,CAAC,EAAC,OAAO,EAAC,EAAC,aAAa,EAAC,UAAU,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAC,cAAc,EAAC,kBAAkB,EAAC,EAAC,IAAI,EAAC,IAAI,CAAC,SAAS,CAAC,EAAC,GAAG,KAAK,EAAC,SAAS,EAAC,CAAC,EAAC,CAAC,CAAC;QAC/R,MAAM,IAAI,GAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAE,EAAE,CAAA,IAAI,CAAC,CAAC;QACjD,IAAG,QAAQ,CAAC,MAAM,KAAG,GAAG,IAAE,IAAI,EAAE,KAAK,EAAE,IAAI,KAAG,mBAAmB;YAAC,MAAM,IAAI,WAAW,CAAC,mDAAmD,EAAC,EAAC,MAAM,EAAC,GAAG,EAAC,IAAI,EAAC,mBAAmB,EAAC,SAAS,EAAC,IAAI,EAAC,CAAC,CAAC;QAClM,IAAG,CAAC,QAAQ,CAAC,EAAE;YAAC,MAAM,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAAE,4BAA4B,EAAC,EAAC,MAAM,EAAC,QAAQ,CAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAE,mBAAmB,EAAC,SAAS,EAAC,QAAQ,CAAC,MAAM,KAAG,GAAG,IAAE,QAAQ,CAAC,MAAM,IAAE,GAAG,EAAC,CAAC,CAAC;QACrN,OAAO,IAAI,CAAC;IACb,CAAC;IACD,OAAO,CAAC,KAAuD,IAAiD,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC;IACtJ,KAAK,CAAC,QAAQ,CAAC,KAAwD;QACtE,MAAM,MAAM,GAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;QAClD,oFAAoF;QACpF,OAAO,EAAC,IAAI,EAAC,MAAM,CAAC,IAAI,EAAC,KAAK,EAAC,MAAM,CAAC,KAAK,EAAC,CAAC;IAC9C,CAAC;IACD,QAAQ,CAAC,KAAwD,IAAkD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC;IAC1J,iBAAiB,CAAC,KAA6D,IAAkF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC;IACxM,SAAS,CAAC,KAA6D,IAAuF,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC;IACtM,KAAK,CAAC,OAAO,CAAC,KAAuD,IAAE,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC,CAAA,CAAC;IAC5G,KAAK,CAAC,OAAO,CAAC,KAA2D;QACxE,IAAG,CAAC;YAAA,OAAM,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;QAAA,CAAC;QAAA,OAAM,CAAC,EAAC,CAAC;YAAA,IAAG,CAAC,YAAY,WAAW,IAAE,CAAC,CAAC,MAAM,KAAG,GAAG;gBAAC,OAAO,IAAI,CAAC;YAAA,MAAM,CAAC,CAAC;QAAA,CAAC;IAClI,CAAC;CACD"}
1
+ {"version":3,"file":"managed-media.js","sourceRoot":"","sources":["../src/managed-media.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,13 @@ export interface CallingPushData {
16
16
  event_id: string;
17
17
  call_id: string;
18
18
  connection_id: string;
19
+ conversation_id?: string;
19
20
  kind: 'voice' | 'video';
20
21
  sequence: string;
21
22
  ring_expires_at: string;
22
23
  accountScope: string;
24
+ reason?: string;
25
+ decline_grant?: string;
23
26
  }
24
27
  export type CommunicationPushData = MessagingPushData | CallingPushData;
25
28
  export declare function notificationPresentation(data: CommunicationPushData, now?: number): {
@@ -30,7 +33,54 @@ export declare function notificationPresentation(data: CommunicationPushData, no
30
33
  ttl: number;
31
34
  channel: string;
32
35
  };
33
- type SendResult = Awaited<ReturnType<MessagingNotificationOptions['send']>>;
36
+ type SendResult = Awaited<ReturnType<MessagingNotificationOptions['send']>> & {
37
+ invalidVoipToken?: boolean;
38
+ };
39
+ /** Keep Apple's call-only transport separate from ordinary notifications. */
40
+ export declare function applePushEnvelope(device: MessagingPushDevice, data: CommunicationPushData, bundleId: string, title: string, now?: number): {
41
+ voip: boolean;
42
+ token: string;
43
+ topic: string;
44
+ pushType: string;
45
+ priority: string;
46
+ expiration: string;
47
+ payload: {
48
+ aps: {
49
+ 'content-available': number;
50
+ alert?: never;
51
+ sound?: never;
52
+ 'thread-id'?: never;
53
+ } | {
54
+ alert: {
55
+ title: string;
56
+ body: string;
57
+ };
58
+ sound: string;
59
+ 'thread-id': string;
60
+ 'content-available'?: never;
61
+ };
62
+ body: CommunicationPushData;
63
+ };
64
+ };
65
+ export declare function googlePushEnvelope(device: MessagingPushDevice, data: CommunicationPushData, title: string, now?: number): {
66
+ message: {
67
+ data: CommunicationPushData;
68
+ android: {
69
+ notification?: {
70
+ tag: string;
71
+ channel_id: string;
72
+ };
73
+ priority: string;
74
+ ttl: string;
75
+ collapse_key: string;
76
+ };
77
+ notification?: {
78
+ title: string;
79
+ body: string;
80
+ };
81
+ token: string;
82
+ };
83
+ };
34
84
  /** Uses only fixed Apple/Google endpoints. Private keys never enter notification payloads. */
35
85
  export declare function createMessagingPushSender(options: {
36
86
  apple?: AppleMessagingCredentials;
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-notification-providers.d.ts","sourceRoot":"","sources":["../src/messaging-notification-providers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,mBAAmB,EAAC,iBAAiB,EAAC,4BAA4B,EAAC,MAAM,8BAA8B,CAAC;AAErH,MAAM,WAAW,yBAAyB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,OAAO,CAAC,EAAC,OAAO,CAAA;CAAC;AAC1H,MAAM,WAAW,0BAA0B;IAAE,SAAS,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAA;CAAC;AACnG,MAAM,WAAW,eAAe;IAAE,KAAK,EAAC,kBAAkB,GAAC,mBAAmB,GAAC,wBAAwB,GAAC,yBAAyB,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,aAAa,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,OAAO,GAAC,OAAO,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAA;CAAC;AACtQ,MAAM,MAAM,qBAAqB,GAAC,iBAAiB,GAAC,eAAe,CAAC;AACpE,wBAAgB,wBAAwB,CAAC,IAAI,EAAC,qBAAqB,EAAC,GAAG,SAAW;;;;;;;EAIjF;AACD,KAAK,UAAU,GAAC,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAS1E,8FAA8F;AAC9F,wBAAgB,yBAAyB,CAAC,OAAO,EAAC;IAAC,KAAK,CAAC,EAAC,yBAAyB,CAAC;IAAA,MAAM,CAAC,EAAC,0BAA0B,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,OAAO,KAAK,CAAA;CAAC;;iBAwDrI,mBAAmB,QAAM,qBAAqB,GAAE,OAAO,CAAC,UAAU,CAAC;EAKtF"}
1
+ {"version":3,"file":"messaging-notification-providers.d.ts","sourceRoot":"","sources":["../src/messaging-notification-providers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,mBAAmB,EAAC,iBAAiB,EAAC,4BAA4B,EAAC,MAAM,8BAA8B,CAAC;AAErH,MAAM,WAAW,yBAAyB;IAAE,MAAM,EAAC,MAAM,CAAC;IAAA,KAAK,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,OAAO,CAAC,EAAC,OAAO,CAAA;CAAC;AAC1H,MAAM,WAAW,0BAA0B;IAAE,SAAS,EAAC,MAAM,CAAC;IAAA,WAAW,EAAC,MAAM,CAAC;IAAA,UAAU,EAAC,MAAM,CAAA;CAAC;AACnG,MAAM,WAAW,eAAe;IAAE,KAAK,EAAC,kBAAkB,GAAC,mBAAmB,GAAC,wBAAwB,GAAC,yBAAyB,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,OAAO,EAAC,MAAM,CAAC;IAAA,aAAa,EAAC,MAAM,CAAC;IAAA,eAAe,CAAC,EAAC,MAAM,CAAC;IAAA,IAAI,EAAC,OAAO,GAAC,OAAO,CAAC;IAAA,QAAQ,EAAC,MAAM,CAAC;IAAA,eAAe,EAAC,MAAM,CAAC;IAAA,YAAY,EAAC,MAAM,CAAC;IAAA,MAAM,CAAC,EAAC,MAAM,CAAC;IAAA,aAAa,CAAC,EAAC,MAAM,CAAA;CAAC;AACnU,MAAM,MAAM,qBAAqB,GAAC,iBAAiB,GAAC,eAAe,CAAC;AACpE,wBAAgB,wBAAwB,CAAC,IAAI,EAAC,qBAAqB,EAAC,GAAG,SAAW;;;;;;;EAIjF;AACD,KAAK,UAAU,GAAC,OAAO,CAAC,UAAU,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,CAAC,GAAC;IAAC,gBAAgB,CAAC,EAAC,OAAO,CAAA;CAAC,CAAC;AAStG,6EAA6E;AAC7E,wBAAgB,iBAAiB,CAAC,MAAM,EAAC,mBAAmB,EAAC,IAAI,EAAC,qBAAqB,EAAC,QAAQ,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,SAAW;;;;;;;;;;;;;;;;;;;;;;;;EAOlI;AACD,wBAAgB,kBAAkB,CAAC,MAAM,EAAC,mBAAmB,EAAC,IAAI,EAAC,qBAAqB,EAAC,KAAK,EAAC,MAAM,EAAC,GAAG,SAAW;;;;;;;;;;;;;;;;;;EAInH;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,CAAC,OAAO,EAAC;IAAC,KAAK,CAAC,EAAC,yBAAyB,CAAC;IAAA,MAAM,CAAC,EAAC,0BAA0B,CAAC;IAAA,KAAK,CAAC,EAAC,MAAM,CAAC;IAAA,KAAK,CAAC,EAAC,OAAO,KAAK,CAAA;CAAC;;iBAyDrI,mBAAmB,QAAM,qBAAqB,GAAE,OAAO,CAAC,UAAU,CAAC;EAKtF"}
@@ -1,3 +1,4 @@
1
+ import { Buffer } from 'node:buffer';
1
2
  import { createHash, createPrivateKey, sign } from 'node:crypto';
2
3
  import { connect } from 'node:http2';
3
4
  export function notificationPresentation(data, now = Date.now()) {
@@ -12,6 +13,21 @@ function jwt(header, claims, key, algorithm, p1363 = false) {
12
13
  return body + '.' + signature.toString('base64url');
13
14
  }
14
15
  function collapse(data) { return createHash('sha256').update(data.accountScope + ':' + (data.event === 'robono.messaging' ? data.conversationId : data.call_id)).digest('hex'); }
16
+ /** Keep Apple's call-only transport separate from ordinary notifications. */
17
+ export function applePushEnvelope(device, data, bundleId, title, now = Date.now()) {
18
+ const p = notificationPresentation(data, now), voip = p.call && !p.dismissed && device.systemCalling === true;
19
+ if (voip && !/^[a-f\d]{64,200}$/i.test(device.voipToken ?? ''))
20
+ throw Error('voip_token_missing');
21
+ return { voip, token: voip ? device.voipToken : device.token,
22
+ topic: bundleId + (voip ? '.voip' : ''), pushType: voip ? 'voip' : p.dismissed ? 'background' : 'alert',
23
+ priority: p.dismissed ? '5' : '10', expiration: voip ? '0' : String(p.expires),
24
+ payload: { aps: voip || p.dismissed ? { 'content-available': 1 } : { alert: { title: p.call ? 'Incoming call' : title, body: p.body }, sound: 'default', 'thread-id': collapse(data) }, body: data } };
25
+ }
26
+ export function googlePushEnvelope(device, data, title, now = Date.now()) {
27
+ const p = notificationPresentation(data, now), visible = !p.dismissed && !(p.call && device.systemCalling);
28
+ return { message: { token: device.token, ...(visible ? { notification: { title: p.call ? 'Incoming call' : title, body: p.body } } : {}), data,
29
+ android: { priority: 'high', ttl: p.ttl + 's', collapse_key: collapse(data), ...(visible ? { notification: { tag: collapse(data), channel_id: p.channel } } : {}) } } };
30
+ }
15
31
  /** Uses only fixed Apple/Google endpoints. Private keys never enter notification payloads. */
16
32
  export function createMessagingPushSender(options) {
17
33
  const title = options.title?.trim() || 'New message';
@@ -59,7 +75,14 @@ export function createMessagingPushSender(options) {
59
75
  const p = notificationPresentation(data);
60
76
  if (p.call && !p.dismissed && p.ttl <= 0)
61
77
  return { accepted: false, retryable: false, code: 'call_expired' };
62
- const payload = JSON.stringify({ aps: p.dismissed ? { 'content-available': 1 } : { alert: { title: p.call ? 'Incoming call' : title, body: p.body }, sound: 'default', 'thread-id': collapse(data) }, body: data });
78
+ let envelope;
79
+ try {
80
+ envelope = applePushEnvelope(device, data, apple.bundleId, title);
81
+ }
82
+ catch {
83
+ return { accepted: false, retryable: false, invalidVoipToken: true, code: 'voip_token_missing' };
84
+ }
85
+ const payload = JSON.stringify(envelope.payload);
63
86
  return new Promise(resolve => {
64
87
  const session = connect(apple.sandbox ? 'https://api.sandbox.push.apple.com' : 'https://api.push.apple.com');
65
88
  let finished = false;
@@ -67,7 +90,7 @@ export function createMessagingPushSender(options) {
67
90
  return; finished = true; clearTimeout(timer); session.destroy(); resolve(result); };
68
91
  const timer = setTimeout(() => finish({ accepted: false, retryable: true, code: 'apple_timeout' }), 15000);
69
92
  session.on('error', () => finish({ accepted: false, retryable: true, code: 'apple_connection_failed' }));
70
- const stream = session.request({ ':method': 'POST', ':path': '/3/device/' + device.token, authorization: 'bearer ' + appleToken.value, 'apns-topic': apple.bundleId, 'apns-push-type': p.dismissed ? 'background' : 'alert', 'apns-priority': p.dismissed ? '5' : '10', 'apns-expiration': String(p.expires), 'apns-collapse-id': collapse(data), 'content-type': 'application/json' });
93
+ const stream = session.request({ ':method': 'POST', ':path': '/3/device/' + envelope.token, authorization: 'bearer ' + appleToken.value, 'apns-topic': envelope.topic, 'apns-push-type': envelope.pushType, 'apns-priority': envelope.priority, 'apns-expiration': envelope.expiration, 'apns-collapse-id': collapse(data), 'content-type': 'application/json' });
71
94
  let status = 0, body = '';
72
95
  stream.setEncoding('utf8');
73
96
  stream.on('response', headers => { status = Number(headers[':status']); });
@@ -82,7 +105,8 @@ export function createMessagingPushSender(options) {
82
105
  catch { }
83
106
  if (status === 403)
84
107
  appleToken = { value: '', expires: 0 };
85
- finish({ accepted: status === 200, invalidDevice: status === 410 || reason === 'BadDeviceToken', retryable: reason === 'ExpiredProviderToken' || status === 429 || status >= 500, code: status === 200 ? 'accepted' : status === 403 ? 'apple_credentials_rejected' : 'apple_rejected' });
108
+ const invalidToken = status === 410 || reason === 'BadDeviceToken';
109
+ finish({ accepted: status === 200, invalidDevice: !envelope.voip && invalidToken, invalidVoipToken: envelope.voip && invalidToken, retryable: reason === 'ExpiredProviderToken' || status === 429 || status >= 500, code: status === 200 ? 'accepted' : status === 403 ? 'apple_credentials_rejected' : 'apple_rejected' });
86
110
  });
87
111
  stream.end(payload);
88
112
  });
@@ -95,8 +119,7 @@ export function createMessagingPushSender(options) {
95
119
  return { accepted: false, retryable: false, code: 'call_expired' };
96
120
  const response = await request('https://fcm.googleapis.com/v1/projects/' + encodeURIComponent(google.projectId) + '/messages:send', {
97
121
  method: 'POST', redirect: 'error', signal: AbortSignal.timeout(15000), headers: { authorization: 'Bearer ' + await googleAccess(), 'content-type': 'application/json' },
98
- body: JSON.stringify({ message: { token: device.token, ...(!p.dismissed ? { notification: { title: p.call ? 'Incoming call' : title, body: p.body } } : {}), data,
99
- android: { priority: 'high', ttl: p.ttl + 's', collapse_key: collapse(data), ...(!p.dismissed ? { notification: { tag: collapse(data), channel_id: p.channel } } : {}) } } }),
122
+ body: JSON.stringify(googlePushEnvelope(device, data, title)),
100
123
  });
101
124
  const result = await response.json().catch(() => null);
102
125
  if (response.status === 401)
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-notification-providers.js","sourceRoot":"","sources":["../src/messaging-notification-providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messaging-notification-providers.js","sourceRoot":"","sources":["../src/messaging-notification-providers.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ export interface MessagingPushDevice {
11
11
  userId: string;
12
12
  provider: 'apns' | 'fcm';
13
13
  token: string;
14
+ systemCalling?: boolean;
15
+ voipToken?: string | null;
14
16
  }
15
17
  export interface MessagingPushJob {
16
18
  id: string;
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-notifications.d.ts","sourceRoot":"","sources":["../src/messaging-notifications.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"messaging-notifications.d.ts","sourceRoot":"","sources":["../src/messaging-notifications.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"messaging-push-worker.d.ts","sourceRoot":"","sources":["../src/messaging-push-worker.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,eAAO,MAAM,yBAAyB,QAoDrC,CAAC"}
1
+ {"version":3,"file":"messaging-push-worker.d.ts","sourceRoot":"","sources":["../src/messaging-push-worker.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,eAAO,MAAM,yBAAyB,QAqDrC,CAAC"}