aamp-sdk 0.1.19 → 0.1.21

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,48 @@
1
+ export interface DispatchContextRules {
2
+ [key: string]: string[];
3
+ }
4
+ export interface PairingUrlPayload {
5
+ mailbox: string;
6
+ pairCode: string;
7
+ dispatchContextRules?: DispatchContextRules;
8
+ }
9
+ export interface CreatePairingCodeOptions {
10
+ mailbox: string;
11
+ pairCode?: string;
12
+ ttlSeconds?: number;
13
+ dispatchContextRules?: DispatchContextRules;
14
+ }
15
+ export interface PairingCode {
16
+ mailbox: string;
17
+ pairCode: string;
18
+ expiresAt: string;
19
+ connectUrl: string;
20
+ dispatchContextRules?: DispatchContextRules;
21
+ consumedAt?: string;
22
+ }
23
+ export interface ConsumePairingCodeOptions {
24
+ mailbox: string;
25
+ pairCode: string;
26
+ now?: Date;
27
+ }
28
+ export interface PairedSenderPolicy {
29
+ sender: string;
30
+ dispatchContextRules: DispatchContextRules;
31
+ pairedAt: string;
32
+ }
33
+ export interface PairableSenderLike {
34
+ from: string;
35
+ dispatchContextRules?: DispatchContextRules;
36
+ }
37
+ export declare function normalizeDispatchContextRules(rules: DispatchContextRules | undefined): DispatchContextRules | undefined;
38
+ export declare function buildPairingUrl(payload: PairingUrlPayload): string;
39
+ export declare function createPairingCode(options: CreatePairingCodeOptions): PairingCode;
40
+ export declare function parsePairingUrl(input: string): PairingUrlPayload;
41
+ export declare function isPairingUrl(input: string): boolean;
42
+ export declare function consumePairingCode(state: PairingCode, options: ConsumePairingCodeOptions): PairingCode | null;
43
+ export declare function createPairedSenderPolicy(request: PairableSenderLike, pairedAt?: Date): PairedSenderPolicy;
44
+ export declare function upsertPairedSenderPolicy(policies: PairedSenderPolicy[], policy: PairedSenderPolicy): PairedSenderPolicy[];
45
+ export declare function matchPairedSenderPolicy(policies: PairedSenderPolicy[], sender: string, dispatchContext?: Record<string, string>): {
46
+ allowed: boolean;
47
+ reason?: string;
48
+ };
@@ -0,0 +1,158 @@
1
+ import { randomBytes } from 'node:crypto';
2
+ function normalizeMailbox(value) {
3
+ const mailbox = value.trim().toLowerCase();
4
+ if (!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(mailbox)) {
5
+ throw new Error(`Invalid AAMP mailbox in pairing URL: ${value}`);
6
+ }
7
+ return mailbox;
8
+ }
9
+ export function normalizeDispatchContextRules(rules) {
10
+ if (!rules)
11
+ return undefined;
12
+ const normalized = Object.fromEntries(Object.entries(rules)
13
+ .map(([key, values]) => [
14
+ key.trim().toLowerCase(),
15
+ (Array.isArray(values) ? values : [])
16
+ .map((value) => value.trim())
17
+ .filter(Boolean),
18
+ ])
19
+ .filter(([key, values]) => Boolean(key) && values.length > 0));
20
+ return Object.keys(normalized).length > 0 ? normalized : undefined;
21
+ }
22
+ function encodeBase64UrlJson(value) {
23
+ return Buffer.from(JSON.stringify(value), 'utf8').toString('base64url');
24
+ }
25
+ function decodeDispatchContextRules(value) {
26
+ const candidates = [
27
+ () => Buffer.from(value, 'base64url').toString('utf8'),
28
+ () => value,
29
+ ];
30
+ for (const read of candidates) {
31
+ try {
32
+ const parsed = JSON.parse(read());
33
+ return normalizeDispatchContextRules(parsed);
34
+ }
35
+ catch {
36
+ // Try the next supported encoding.
37
+ }
38
+ }
39
+ throw new Error('Invalid dispatch_context_rules in pairing URL');
40
+ }
41
+ export function buildPairingUrl(payload) {
42
+ const mailbox = normalizeMailbox(payload.mailbox);
43
+ const pairCode = payload.pairCode.trim();
44
+ if (!pairCode)
45
+ throw new Error('pairCode cannot be empty');
46
+ const url = new URL('aamp://connect');
47
+ url.searchParams.set('mailbox', mailbox);
48
+ url.searchParams.set('pair_code', pairCode);
49
+ const rules = normalizeDispatchContextRules(payload.dispatchContextRules);
50
+ if (rules) {
51
+ url.searchParams.set('dispatch_context_rules', encodeBase64UrlJson(rules));
52
+ }
53
+ return url.toString();
54
+ }
55
+ export function createPairingCode(options) {
56
+ const pairCode = options.pairCode?.trim() || randomBytes(6).toString('base64url');
57
+ const dispatchContextRules = normalizeDispatchContextRules(options.dispatchContextRules);
58
+ return {
59
+ mailbox: normalizeMailbox(options.mailbox),
60
+ pairCode,
61
+ expiresAt: new Date(Date.now() + (options.ttlSeconds ?? 300) * 1000).toISOString(),
62
+ connectUrl: buildPairingUrl({
63
+ mailbox: options.mailbox,
64
+ pairCode,
65
+ ...(dispatchContextRules ? { dispatchContextRules } : {}),
66
+ }),
67
+ ...(dispatchContextRules ? { dispatchContextRules } : {}),
68
+ };
69
+ }
70
+ export function parsePairingUrl(input) {
71
+ let url;
72
+ try {
73
+ url = new URL(input.trim());
74
+ }
75
+ catch {
76
+ throw new Error('Invalid pairing URL');
77
+ }
78
+ if (url.protocol !== 'aamp:' || url.hostname !== 'connect') {
79
+ throw new Error('Pairing URL must start with aamp://connect');
80
+ }
81
+ const mailbox = url.searchParams.get('mailbox') ?? '';
82
+ const pairCode = url.searchParams.get('pair_code') ?? '';
83
+ if (!pairCode.trim())
84
+ throw new Error('Pairing URL is missing pair_code');
85
+ const rawRules = url.searchParams.get('dispatch_context_rules')
86
+ ?? url.searchParams.get('dispatchContextRules');
87
+ const dispatchContextRules = rawRules
88
+ ? decodeDispatchContextRules(rawRules)
89
+ : undefined;
90
+ return {
91
+ mailbox: normalizeMailbox(mailbox),
92
+ pairCode: pairCode.trim(),
93
+ ...(dispatchContextRules ? { dispatchContextRules } : {}),
94
+ };
95
+ }
96
+ export function isPairingUrl(input) {
97
+ try {
98
+ parsePairingUrl(input);
99
+ return true;
100
+ }
101
+ catch {
102
+ return false;
103
+ }
104
+ }
105
+ export function consumePairingCode(state, options) {
106
+ if (state.consumedAt)
107
+ return null;
108
+ if (normalizeMailbox(state.mailbox) !== normalizeMailbox(options.mailbox))
109
+ return null;
110
+ if (state.pairCode !== options.pairCode.trim())
111
+ return null;
112
+ if (new Date(state.expiresAt).getTime() <= (options.now ?? new Date()).getTime())
113
+ return null;
114
+ return {
115
+ ...state,
116
+ pairCode: '',
117
+ connectUrl: '',
118
+ consumedAt: (options.now ?? new Date()).toISOString(),
119
+ };
120
+ }
121
+ export function createPairedSenderPolicy(request, pairedAt = new Date()) {
122
+ return {
123
+ sender: normalizeMailbox(request.from),
124
+ dispatchContextRules: normalizeDispatchContextRules(request.dispatchContextRules) ?? {},
125
+ pairedAt: pairedAt.toISOString(),
126
+ };
127
+ }
128
+ export function upsertPairedSenderPolicy(policies, policy) {
129
+ const sender = normalizeMailbox(policy.sender);
130
+ return [
131
+ ...policies.filter((item) => normalizeMailbox(item.sender) !== sender),
132
+ {
133
+ ...policy,
134
+ sender,
135
+ dispatchContextRules: normalizeDispatchContextRules(policy.dispatchContextRules) ?? {},
136
+ },
137
+ ];
138
+ }
139
+ export function matchPairedSenderPolicy(policies, sender, dispatchContext) {
140
+ if (policies.length === 0) {
141
+ return { allowed: false, reason: 'no paired sender policies configured' };
142
+ }
143
+ const normalizedSender = normalizeMailbox(sender);
144
+ const policy = policies.find((item) => normalizeMailbox(item.sender) === normalizedSender);
145
+ if (!policy) {
146
+ return { allowed: false, reason: `sender ${sender} is not paired` };
147
+ }
148
+ for (const [key, allowedValues] of Object.entries(policy.dispatchContextRules ?? {})) {
149
+ if (!Array.isArray(allowedValues) || allowedValues.length === 0)
150
+ continue;
151
+ const observed = dispatchContext?.[key];
152
+ if (!observed || !allowedValues.includes(observed)) {
153
+ return { allowed: false, reason: `dispatchContext does not match paired sender policy for ${sender}` };
154
+ }
155
+ }
156
+ return { allowed: true };
157
+ }
158
+ //# sourceMappingURL=pairing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pairing.js","sourceRoot":"","sources":["../src/pairing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AA6CzC,SAAS,gBAAgB,CAAC,KAAa;IACrC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAC1C,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAA;IAClE,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,KAAuC;IAEvC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAA;IAE5B,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;SAClB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;QACtB,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE;QACxB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;aAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;aAC5B,MAAM,CAAC,OAAO,CAAC;KACV,CAAC;SACV,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAChE,CAAA;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAA;AACpE,CAAC;AAED,SAAS,mBAAmB,CAAC,KAAc;IACzC,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACzE,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAa;IAC/C,MAAM,UAAU,GAAG;QACjB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACtD,GAAG,EAAE,CAAC,KAAK;KACZ,CAAA;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAyB,CAAA;YACzD,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAA;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,mCAAmC;QACrC,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;AAClE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA0B;IACxD,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;IACxC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAA;IAE1D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACrC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACxC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAA;IAE3C,MAAM,KAAK,GAAG,6BAA6B,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACzE,IAAI,KAAK,EAAE,CAAC;QACV,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,OAAiC;IACjE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjF,MAAM,oBAAoB,GAAG,6BAA6B,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;IACxF,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;QAC1C,QAAQ;QACR,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;QAClF,UAAU,EAAE,eAAe,CAAC;YAC1B,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,QAAQ;YACR,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D,CAAC;QACF,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,CAAA;IACxD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;IAEzE,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC;WAC1D,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAA;IAEjD,MAAM,oBAAoB,GAAG,QAAQ;QACnC,CAAC,CAAC,0BAA0B,CAAC,QAAQ,CAAC;QACtC,CAAC,CAAC,SAAS,CAAA;IAEb,OAAO;QACL,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC;QAClC,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE;QACzB,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1D,CAAA;AACH,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,eAAe,CAAC,KAAK,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAAkB,EAClB,OAAkC;IAElC,IAAI,KAAK,CAAC,UAAU;QAAE,OAAO,IAAI,CAAA;IACjC,IAAI,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACtF,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAC3D,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE;QAAE,OAAO,IAAI,CAAA;IAC7F,OAAO;QACL,GAAG,KAAK;QACR,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;KACtD,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,OAA2B,EAC3B,QAAQ,GAAG,IAAI,IAAI,EAAE;IAErB,OAAO;QACL,MAAM,EAAE,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC;QACtC,oBAAoB,EAAE,6BAA6B,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE;QACvF,QAAQ,EAAE,QAAQ,CAAC,WAAW,EAAE;KACjC,CAAA;AACH,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,QAA8B,EAC9B,MAA0B;IAE1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC9C,OAAO;QACL,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,MAAM,CAAC;QACtE;YACE,GAAG,MAAM;YACT,MAAM;YACN,oBAAoB,EAAE,6BAA6B,CAAC,MAAM,CAAC,oBAAoB,CAAC,IAAI,EAAE;SACvF;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAA8B,EAC9B,MAAc,EACd,eAAwC;IAExC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,sCAAsC,EAAE,CAAA;IAC3E,CAAC;IAED,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,gBAAgB,CAAC,CAAA;IAC1F,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,MAAM,gBAAgB,EAAE,CAAA;IACrE,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QACzE,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,2DAA2D,MAAM,EAAE,EAAE,CAAA;QACxG,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC"}
package/dist/parser.d.ts CHANGED
@@ -37,7 +37,6 @@ export declare function buildDispatchHeaders(params: {
37
37
  priority?: TaskDispatch['priority'];
38
38
  expiresAt?: string;
39
39
  sessionKey?: string;
40
- contextLinks: string[];
41
40
  dispatchContext?: Record<string, string>;
42
41
  parentTaskId?: string;
43
42
  }): Record<string, string>;
@@ -54,6 +53,16 @@ export declare function buildStreamOpenedHeaders(opts: {
54
53
  taskId: string;
55
54
  streamId: string;
56
55
  }): Record<string, string>;
56
+ export declare function buildPairRequestHeaders(opts: {
57
+ taskId: string;
58
+ pairCode: string;
59
+ dispatchContextRules?: Record<string, string[]>;
60
+ }): Record<string, string>;
61
+ export declare function buildPairRespondHeaders(opts: {
62
+ taskId: string;
63
+ success: boolean;
64
+ reason?: string;
65
+ }): Record<string, string>;
57
66
  /**
58
67
  * Build AAMP headers for a task.result email
59
68
  */
package/dist/parser.js CHANGED
@@ -162,6 +162,25 @@ function encodeStructuredResult(value) {
162
162
  .replace(/\//g, '_')
163
163
  .replace(/=+$/g, '');
164
164
  }
165
+ function decodeBase64UrlJson(value) {
166
+ if (!value)
167
+ return undefined;
168
+ try {
169
+ const normalized = value.replace(/-/g, '+').replace(/_/g, '/');
170
+ const padding = normalized.length % 4 === 0 ? '' : '='.repeat(4 - (normalized.length % 4));
171
+ return JSON.parse(Buffer.from(normalized + padding, 'base64').toString('utf-8'));
172
+ }
173
+ catch {
174
+ return undefined;
175
+ }
176
+ }
177
+ function encodeBase64UrlJson(value) {
178
+ return Buffer.from(JSON.stringify(value), 'utf-8')
179
+ .toString('base64')
180
+ .replace(/\+/g, '-')
181
+ .replace(/\//g, '_')
182
+ .replace(/=+$/g, '');
183
+ }
165
184
  /**
166
185
  * Parse AAMP headers from an email's header map.
167
186
  * Returns null if this email is not an AAMP message.
@@ -179,7 +198,6 @@ export function parseAampHeaders(meta) {
179
198
  const to = meta.to.replace(/^<|>$/g, '');
180
199
  const decodedSubject = decodeMimeEncodedWords(meta.subject);
181
200
  if (intent === 'task.dispatch') {
182
- const contextLinksStr = getAampHeader(headers, AAMP_HEADER.CONTEXT_LINKS) ?? '';
183
201
  const dispatchContext = parseDispatchContextHeader(getAampHeader(headers, AAMP_HEADER.DISPATCH_CONTEXT));
184
202
  const sessionKey = getAampHeader(headers, AAMP_HEADER.SESSION_KEY);
185
203
  const parentTaskId = getAampHeader(headers, AAMP_HEADER.PARENT_TASK_ID);
@@ -193,9 +211,6 @@ export function parseAampHeaders(meta) {
193
211
  title: decodedSubject.replace(/^\[AAMP Task\]\s*/, '').trim() || 'Untitled Task',
194
212
  priority: priority === 'urgent' || priority === 'high' ? priority : 'normal',
195
213
  ...(expiresAt ? { expiresAt } : {}),
196
- contextLinks: contextLinksStr
197
- ? contextLinksStr.split(',').map((s) => s.trim()).filter(Boolean)
198
- : [],
199
214
  ...(dispatchContext ? { dispatchContext } : {}),
200
215
  ...(parentTaskId ? { parentTaskId } : {}),
201
216
  from,
@@ -285,6 +300,43 @@ export function parseAampHeaders(meta) {
285
300
  };
286
301
  return streamOpened;
287
302
  }
303
+ if (intent === 'pair.request') {
304
+ const pairCode = getAampHeader(headers, AAMP_HEADER.PAIR_CODE) ?? '';
305
+ if (!pairCode)
306
+ return null;
307
+ const pairRequest = {
308
+ protocolVersion,
309
+ intent: 'pair.request',
310
+ taskId,
311
+ pairCode,
312
+ dispatchContextRules: decodeBase64UrlJson(getAampHeader(headers, AAMP_HEADER.DISPATCH_CONTEXT_RULES)) ?? {},
313
+ from,
314
+ to,
315
+ messageId: meta.messageId,
316
+ subject: meta.subject,
317
+ bodyText: '',
318
+ };
319
+ return pairRequest;
320
+ }
321
+ if (intent === 'pair.respond') {
322
+ const rawStatus = getAampHeader(headers, AAMP_HEADER.STATUS);
323
+ const status = rawStatus === 'completed' ? 'completed' : 'rejected';
324
+ const reason = getAampHeader(headers, AAMP_HEADER.ERROR_MSG) || undefined;
325
+ const pairRespond = {
326
+ protocolVersion,
327
+ intent: 'pair.respond',
328
+ taskId,
329
+ status,
330
+ success: status === 'completed',
331
+ reason,
332
+ from,
333
+ to,
334
+ messageId: meta.messageId,
335
+ subject: meta.subject,
336
+ bodyText: normalizeBodyText(meta.bodyText),
337
+ };
338
+ return pairRespond;
339
+ }
288
340
  if (intent === 'card.query') {
289
341
  const cardQuery = {
290
342
  protocolVersion,
@@ -331,9 +383,6 @@ export function buildDispatchHeaders(params) {
331
383
  if (params.sessionKey?.trim()) {
332
384
  headers[AAMP_HEADER.SESSION_KEY] = params.sessionKey.trim();
333
385
  }
334
- if (params.contextLinks.length > 0) {
335
- headers[AAMP_HEADER.CONTEXT_LINKS] = params.contextLinks.join(',');
336
- }
337
386
  const dispatchContext = serializeDispatchContextHeader(params.dispatchContext);
338
387
  if (dispatchContext) {
339
388
  headers[AAMP_HEADER.DISPATCH_CONTEXT] = dispatchContext;
@@ -368,6 +417,27 @@ export function buildStreamOpenedHeaders(opts) {
368
417
  [AAMP_HEADER.STREAM_ID]: opts.streamId,
369
418
  };
370
419
  }
420
+ export function buildPairRequestHeaders(opts) {
421
+ return {
422
+ [AAMP_HEADER.VERSION]: AAMP_PROTOCOL_VERSION,
423
+ [AAMP_HEADER.INTENT]: 'pair.request',
424
+ [AAMP_HEADER.TASK_ID]: opts.taskId,
425
+ [AAMP_HEADER.PAIR_CODE]: opts.pairCode,
426
+ [AAMP_HEADER.DISPATCH_CONTEXT_RULES]: encodeBase64UrlJson(opts.dispatchContextRules ?? {}),
427
+ };
428
+ }
429
+ export function buildPairRespondHeaders(opts) {
430
+ const headers = {
431
+ [AAMP_HEADER.VERSION]: AAMP_PROTOCOL_VERSION,
432
+ [AAMP_HEADER.INTENT]: 'pair.respond',
433
+ [AAMP_HEADER.TASK_ID]: opts.taskId,
434
+ [AAMP_HEADER.STATUS]: opts.success ? 'completed' : 'rejected',
435
+ };
436
+ if (!opts.success && opts.reason?.trim()) {
437
+ headers[AAMP_HEADER.ERROR_MSG] = opts.reason.replace(/[\r\n]/g, ' ').trim();
438
+ }
439
+ return headers;
440
+ }
371
441
  /**
372
442
  * Build AAMP headers for a task.result email
373
443
  */
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Sends AAMP protocol emails via SMTP (Stalwart submission port 587).
5
5
  */
6
- import type { SendTaskOptions, SendResultOptions, SendHelpOptions, SendCardQueryOptions, SendCardResponseOptions, SendCancelOptions } from './types.js';
6
+ import type { SendTaskOptions, SendResultOptions, SendHelpOptions, SendCardQueryOptions, SendCardResponseOptions, SendCancelOptions, AampFetch, SendPairRequestOptions, SendPairRespondOptions } from './types.js';
7
7
  export interface SmtpConfig {
8
8
  host: string;
9
9
  port: number;
@@ -11,6 +11,9 @@ export interface SmtpConfig {
11
11
  password: string;
12
12
  httpBaseUrl?: string;
13
13
  authToken?: string;
14
+ fetch?: AampFetch;
15
+ forceHttpSend?: boolean;
16
+ persistSentCopy?: boolean;
14
17
  secure?: boolean;
15
18
  /** Whether to reject unauthorized TLS certificates (default: true) */
16
19
  rejectUnauthorized?: boolean;
@@ -20,6 +23,9 @@ export interface MailboxIdentityConfig {
20
23
  password: string;
21
24
  baseUrl?: string;
22
25
  smtpPort?: number;
26
+ fetch?: AampFetch;
27
+ forceHttpSend?: boolean;
28
+ persistSentCopy?: boolean;
23
29
  secure?: boolean;
24
30
  rejectUnauthorized?: boolean;
25
31
  }
@@ -30,6 +36,7 @@ export declare function deriveMailboxServiceDefaults(email: string, baseUrl?: st
30
36
  export declare class SmtpSender {
31
37
  private readonly config;
32
38
  private transport;
39
+ private readonly fetch;
33
40
  private discoveredApiUrlPromise;
34
41
  private jmapSessionPromise;
35
42
  private sentMailboxIdPromise;
@@ -82,6 +89,11 @@ export declare class SmtpSender {
82
89
  streamId: string;
83
90
  inReplyTo?: string;
84
91
  }): Promise<void>;
92
+ sendPairRequest(opts: SendPairRequestOptions): Promise<{
93
+ taskId: string;
94
+ messageId: string;
95
+ }>;
96
+ sendPairRespond(opts: SendPairRespondOptions): Promise<void>;
85
97
  sendCardQuery(opts: SendCardQueryOptions): Promise<{
86
98
  taskId: string;
87
99
  messageId: string;