@siglo/notifications 1.0.3 → 1.2.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.
- package/README.md +179 -154
- package/dist/approvals.d.ts.map +1 -1
- package/dist/approvals.js +27 -9
- package/dist/approvals.js.map +1 -1
- package/dist/callbacks.d.ts.map +1 -1
- package/dist/callbacks.js +68 -13
- package/dist/callbacks.js.map +1 -1
- package/dist/dispatch.d.ts.map +1 -1
- package/dist/dispatch.js +10 -4
- package/dist/dispatch.js.map +1 -1
- package/dist/egress.d.ts.map +1 -1
- package/dist/egress.js +23 -8
- package/dist/egress.js.map +1 -1
- package/dist/monitor.d.ts.map +1 -1
- package/dist/monitor.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +6 -2
- package/dist/registry.js.map +1 -1
- package/dist/sms.d.ts.map +1 -1
- package/dist/sms.js +18 -5
- package/dist/sms.js.map +1 -1
- package/dist/steps.d.ts.map +1 -1
- package/dist/steps.js +143 -27
- package/dist/steps.js.map +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +7 -2
- package/dist/testing/index.js.map +1 -1
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +15 -6
- package/dist/tokens.js.map +1 -1
- package/dist/transports.d.ts.map +1 -1
- package/dist/transports.js +116 -14
- package/dist/transports.js.map +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +16 -4
package/dist/callbacks.js
CHANGED
|
@@ -15,9 +15,14 @@ async function handleNotificationCallback(token, options) {
|
|
|
15
15
|
// Never attribute an unverified token to a workflow or accept caller ambient scope.
|
|
16
16
|
if (!verified?.inspection)
|
|
17
17
|
return;
|
|
18
|
-
core_1.stepInspectionStorage.run({ ...verified.inspection, stackId: verified.stackId, monitor: options.monitor }, () => (0, core_1.recordInspection)({
|
|
18
|
+
core_1.stepInspectionStorage.run({ ...verified.inspection, stackId: verified.stackId, monitor: options.monitor }, () => (0, core_1.recordInspection)({
|
|
19
|
+
version: 1,
|
|
20
|
+
kind: 'notification',
|
|
21
|
+
approval: true,
|
|
19
22
|
outcome: approvalState === 'approved' || approvalState === 'rejected' ? 'success' : 'failure',
|
|
20
|
-
approvalState,
|
|
23
|
+
approvalState,
|
|
24
|
+
approvalExpiresAt: verified.expiresAt,
|
|
25
|
+
}));
|
|
21
26
|
};
|
|
22
27
|
try {
|
|
23
28
|
const p = await (0, tokens_1.verifyActionToken)(token, options.signingSecret, { toleranceSeconds: options.toleranceSeconds });
|
|
@@ -27,7 +32,7 @@ async function handleNotificationCallback(token, options) {
|
|
|
27
32
|
return { status: 403, body: { message: 'Authenticated approval required' } };
|
|
28
33
|
}
|
|
29
34
|
return await (0, approvals_1.getApprovalRevocationStore)().withApprovalLock(p.correlationKey, async () => {
|
|
30
|
-
if (options.authorize && !await options.authorize(p)) {
|
|
35
|
+
if (options.authorize && !(await options.authorize(p))) {
|
|
31
36
|
report('forbidden');
|
|
32
37
|
return { status: 403, body: { message: 'Approval forbidden' } };
|
|
33
38
|
}
|
|
@@ -36,10 +41,16 @@ async function handleNotificationCallback(token, options) {
|
|
|
36
41
|
return { status: 409, body: { message: 'Approval cancelled' } };
|
|
37
42
|
}
|
|
38
43
|
const adapter = (0, core_1.getStorageAdapter)();
|
|
39
|
-
const record = adapter?.getWaitRecord
|
|
44
|
+
const record = adapter?.getWaitRecord
|
|
45
|
+
? await adapter.getWaitRecord(p.correlationKey)
|
|
46
|
+
: core_1.defaultDurableManager.getWaiting(p.correlationKey);
|
|
40
47
|
if (record && record.stackId !== p.stackId)
|
|
41
48
|
throw new core_1.ValidationException([{ field: 'token', message: 'Approval workflow mismatch' }]);
|
|
42
|
-
await (0, core_1.resumeWorkflow)(options.workflow, p.correlationKey, {
|
|
49
|
+
await (0, core_1.resumeWorkflow)(options.workflow, p.correlationKey, {
|
|
50
|
+
approved: p.approved,
|
|
51
|
+
event: { type: p.expectedEvent },
|
|
52
|
+
expectedEvent: p.expectedEvent,
|
|
53
|
+
});
|
|
43
54
|
report(p.approved ? 'approved' : 'rejected');
|
|
44
55
|
return { status: 200, body: { message: 'Approval recorded' }, redirect: options.onSuccessRedirect };
|
|
45
56
|
});
|
|
@@ -49,14 +60,39 @@ async function handleNotificationCallback(token, options) {
|
|
|
49
60
|
const conflict = e instanceof core_1.WorkflowAlreadyResumedException || e instanceof core_1.DuplicateEventException;
|
|
50
61
|
const invalid = e instanceof core_1.ValidationException;
|
|
51
62
|
report(conflict ? 'conflict' : expired ? 'expired' : 'failed');
|
|
52
|
-
return {
|
|
63
|
+
return {
|
|
64
|
+
status: conflict ? 409 : expired ? 410 : invalid ? 400 : 500,
|
|
65
|
+
body: {
|
|
66
|
+
message: conflict
|
|
67
|
+
? 'Approval already resolved'
|
|
68
|
+
: expired
|
|
69
|
+
? 'Approval expired'
|
|
70
|
+
: invalid
|
|
71
|
+
? 'Invalid approval'
|
|
72
|
+
: 'Unable to process approval',
|
|
73
|
+
},
|
|
74
|
+
redirect: expired ? options.onExpiredRedirect : options.onErrorRedirect,
|
|
75
|
+
};
|
|
53
76
|
}
|
|
54
77
|
}
|
|
55
78
|
function renderApprovalConfirmation(result) {
|
|
56
79
|
return `<!doctype html><html lang="en"><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>${(0, transports_1.escapeHtml)(result.body.message)}</title><main><h1>${(0, transports_1.escapeHtml)(result.body.message)}</h1><p>You may close this window.</p></main></html>`;
|
|
57
80
|
}
|
|
58
81
|
function headers(origin, options) {
|
|
59
|
-
return {
|
|
82
|
+
return {
|
|
83
|
+
'Cache-Control': 'no-store',
|
|
84
|
+
'Referrer-Policy': 'no-referrer',
|
|
85
|
+
'X-Content-Type-Options': 'nosniff',
|
|
86
|
+
'Content-Security-Policy': "default-src 'none'; frame-ancestors 'none'; form-action 'self'; base-uri 'none'",
|
|
87
|
+
...(origin && options.allowedOrigins?.includes(origin)
|
|
88
|
+
? {
|
|
89
|
+
'Access-Control-Allow-Origin': origin,
|
|
90
|
+
Vary: 'Origin',
|
|
91
|
+
'Access-Control-Allow-Methods': 'GET, POST, OPTIONS',
|
|
92
|
+
'Access-Control-Allow-Headers': 'Content-Type',
|
|
93
|
+
}
|
|
94
|
+
: {}),
|
|
95
|
+
};
|
|
60
96
|
}
|
|
61
97
|
function tokenFrom(query, body) {
|
|
62
98
|
const token = query?.token ?? body?.token;
|
|
@@ -67,9 +103,15 @@ async function route(method, query, body, options, request, origin) {
|
|
|
67
103
|
if (method === 'GET' || method === 'HEAD') {
|
|
68
104
|
try {
|
|
69
105
|
const token = tokenFrom(query, undefined);
|
|
70
|
-
const p = await (0, tokens_1.verifyActionToken)(token, options.signingSecret, {
|
|
106
|
+
const p = await (0, tokens_1.verifyActionToken)(token, options.signingSecret, {
|
|
107
|
+
toleranceSeconds: options.toleranceSeconds,
|
|
108
|
+
});
|
|
71
109
|
const message = p.approved ? 'Confirm approval' : 'Confirm rejection';
|
|
72
|
-
return {
|
|
110
|
+
return {
|
|
111
|
+
status: 200,
|
|
112
|
+
body: { message },
|
|
113
|
+
html: `<!doctype html><html lang="en"><meta charset="utf-8"><title>${message}</title><main><h1>${message}</h1><form method="post" action="?"><input type="hidden" name="token" value="${(0, transports_1.escapeHtml)(token)}"><button type="submit">${message}</button></form></main></html>`,
|
|
114
|
+
};
|
|
73
115
|
}
|
|
74
116
|
catch {
|
|
75
117
|
return { status: 400, body: { message: 'Invalid approval' } };
|
|
@@ -100,7 +142,9 @@ function createNotificationExpressMiddleware(options) {
|
|
|
100
142
|
if (r.redirect)
|
|
101
143
|
res.redirect(303, r.redirect);
|
|
102
144
|
else if (r.html || options.responseFormat === 'html')
|
|
103
|
-
res.status(r.status)
|
|
145
|
+
res.status(r.status)
|
|
146
|
+
.type('html')
|
|
147
|
+
.send(r.html ?? renderApprovalConfirmation(r));
|
|
104
148
|
else
|
|
105
149
|
res.status(r.status).json(r.body);
|
|
106
150
|
};
|
|
@@ -122,7 +166,10 @@ function createNotificationFastifyHandler(options) {
|
|
|
122
166
|
if (r.redirect)
|
|
123
167
|
reply.code(303).redirect(r.redirect);
|
|
124
168
|
else if (r.html || options.responseFormat === 'html')
|
|
125
|
-
reply
|
|
169
|
+
reply
|
|
170
|
+
.code(r.status)
|
|
171
|
+
.type('text/html')
|
|
172
|
+
.send(r.html ?? renderApprovalConfirmation(r));
|
|
126
173
|
else
|
|
127
174
|
reply.code(r.status).send(r.body);
|
|
128
175
|
};
|
|
@@ -134,11 +181,19 @@ function createNotificationHonoHandler(options) {
|
|
|
134
181
|
c.header('Allow', 'GET, HEAD, POST, OPTIONS');
|
|
135
182
|
if (c.req.method === 'OPTIONS')
|
|
136
183
|
return c.body(null, 204);
|
|
137
|
-
const body = c.req.method === 'POST'
|
|
184
|
+
const body = c.req.method === 'POST'
|
|
185
|
+
? c.req.header('content-type')?.includes('application/json')
|
|
186
|
+
? await c.req.json()
|
|
187
|
+
: await c.req.parseBody()
|
|
188
|
+
: undefined;
|
|
138
189
|
const r = await route(c.req.method, { token: c.req.query('token') }, body, options, c, c.req.header('origin'));
|
|
139
190
|
if (c.req.method === 'HEAD')
|
|
140
191
|
return c.body(null, r.status);
|
|
141
|
-
return r.redirect
|
|
192
|
+
return r.redirect
|
|
193
|
+
? c.redirect(r.redirect, 303)
|
|
194
|
+
: r.html || options.responseFormat === 'html'
|
|
195
|
+
? c.html(r.html ?? renderApprovalConfirmation(r), r.status)
|
|
196
|
+
: c.json(r.body, r.status);
|
|
142
197
|
};
|
|
143
198
|
}
|
|
144
199
|
//# sourceMappingURL=callbacks.js.map
|
package/dist/callbacks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../src/callbacks.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"callbacks.js","sourceRoot":"","sources":["../src/callbacks.ts"],"names":[],"mappings":"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"}
|
package/dist/dispatch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,MAAM,WAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,SAAS,CAAC;AAC3D,MAAM,WAAW,cAAc;IAC3B,OAAO,EAAE,2BAA2B,CAAC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AACD,+FAA+F;AAC/F,MAAM,WAAW,yBAAyB;IACtC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;CACxF;AACD,qBAAa,iCAAkC,YAAW,yBAAyB;IAC/E,OAAO,CAAC,OAAO,CAA8C;IACvD,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAW7F;AACD,qBAAa,iCAAkC,YAAW,yBAAyB;IACnE,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE;QAAE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YAAE,IAAI,EAAE,GAAG,EAAE,CAAA;SAAE,CAAC,CAAA;KAAE;IACtF,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAK3B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;CAc7F;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,yBAAyB,GAAG,IAAI,CAEzF;AACD,wBAAgB,4BAA4B,IAAI,yBAAyB,CAExE"}
|
package/dist/dispatch.js
CHANGED
|
@@ -10,8 +10,10 @@ class InMemoryNotificationDispatchStore {
|
|
|
10
10
|
if (!intent) {
|
|
11
11
|
intent = create();
|
|
12
12
|
this.intents.set(key, intent);
|
|
13
|
-
intent.catch(() => {
|
|
14
|
-
this.intents.
|
|
13
|
+
intent.catch(() => {
|
|
14
|
+
if (this.intents.get(key) === intent)
|
|
15
|
+
this.intents.delete(key);
|
|
16
|
+
});
|
|
15
17
|
}
|
|
16
18
|
return intent;
|
|
17
19
|
}
|
|
@@ -37,6 +39,10 @@ class PostgresNotificationDispatchStore {
|
|
|
37
39
|
}
|
|
38
40
|
exports.PostgresNotificationDispatchStore = PostgresNotificationDispatchStore;
|
|
39
41
|
let store = new InMemoryNotificationDispatchStore();
|
|
40
|
-
function configureNotificationDispatchStore(value) {
|
|
41
|
-
|
|
42
|
+
function configureNotificationDispatchStore(value) {
|
|
43
|
+
store = value;
|
|
44
|
+
}
|
|
45
|
+
function getNotificationDispatchStore() {
|
|
46
|
+
return store;
|
|
47
|
+
}
|
|
42
48
|
//# sourceMappingURL=dispatch.js.map
|
package/dist/dispatch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../src/dispatch.ts"],"names":[],"mappings":";;;AA8CA,gFAEC;AACD,oEAEC;AA1CD,MAAa,iCAAiC;IAClC,OAAO,GAAG,IAAI,GAAG,EAAmC,CAAC;IAC7D,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,MAAqC;QAC5D,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,MAAM,GAAG,MAAM,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC9B,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;gBACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,MAAM;oBAAE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACnE,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAbD,8EAaC;AACD,MAAa,iCAAiC;IACtB;IAApB,YAAoB,MAAwE;QAAxE,WAAM,GAAN,MAAM,CAAkE;IAAG,CAAC;IAChG,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACnB,gKAAgK,CACnK,CAAC;IACN,CAAC;IACD,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,MAAqC;QAC5D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACpC,0EAA0E,EAC1E,CAAC,GAAG,CAAC,CACR,CAAC;QACF,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,MAAM,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAClC;qGACyF,EACzF,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAChC,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACjC,CAAC;CACJ;AArBD,8EAqBC;AACD,IAAI,KAAK,GAA8B,IAAI,iCAAiC,EAAE,CAAC;AAC/E,SAAgB,kCAAkC,CAAC,KAAgC;IAC/E,KAAK,GAAG,KAAK,CAAC;AAClB,CAAC;AACD,SAAgB,4BAA4B;IACxC,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
package/dist/egress.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"egress.d.ts","sourceRoot":"","sources":["../src/egress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,oGAAoG;AACpG,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"egress.d.ts","sourceRoot":"","sources":["../src/egress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,oGAAoG;AACpG,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CA8BpE;AACD,iGAAiG;AACjG,eAAO,MAAM,wBAAwB,EAAE,OAAO,MAkB3B,CAAC;AACpB,wGAAwG;AACxG,eAAO,MAAM,uBAAuB,EA0D9B,OAAO,KAAK,CAAC"}
|
package/dist/egress.js
CHANGED
|
@@ -10,17 +10,26 @@ function isPublicNotificationAddress(address) {
|
|
|
10
10
|
const ip = address.replace(/^\[|\]$/g, '').toLowerCase();
|
|
11
11
|
if ((0, node_net_1.isIP)(ip) === 4) {
|
|
12
12
|
const [a, b, c] = ip.split('.').map(Number);
|
|
13
|
-
return !(a === 0 ||
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
return !(a === 0 ||
|
|
14
|
+
a === 10 ||
|
|
15
|
+
a === 127 ||
|
|
16
|
+
a >= 224 ||
|
|
17
|
+
(a === 100 && b >= 64 && b <= 127) ||
|
|
18
|
+
(a === 169 && b === 254) ||
|
|
19
|
+
(a === 172 && b >= 16 && b <= 31) ||
|
|
20
|
+
(a === 192 && (b === 0 || b === 168 || (b === 88 && c === 99))) ||
|
|
21
|
+
(a === 198 && (b === 18 || b === 19 || (b === 51 && c === 100))) ||
|
|
22
|
+
(a === 203 && b === 0 && c === 113));
|
|
17
23
|
}
|
|
18
24
|
if ((0, node_net_1.isIP)(ip) === 6) {
|
|
19
25
|
// Accept global unicast only; reject mapped IPv4, loopback, ULA, link-local,
|
|
20
26
|
// multicast, transition/special-use space and documentation prefixes.
|
|
21
27
|
const normalized = new URL(`https://[${ip}]/`).hostname.slice(1, -1);
|
|
22
28
|
const [first, second] = normalized.split(':').map(value => parseInt(value || '0', 16));
|
|
23
|
-
return first >= 0x2000 &&
|
|
29
|
+
return (first >= 0x2000 &&
|
|
30
|
+
first < 0x3fff &&
|
|
31
|
+
first !== 0x2002 &&
|
|
32
|
+
!(first === 0x2001 && (second <= 0x1ff || second === 0xdb8)));
|
|
24
33
|
}
|
|
25
34
|
return false;
|
|
26
35
|
}
|
|
@@ -56,10 +65,16 @@ exports.publicNotificationFetch = (async (input, init = {}) => {
|
|
|
56
65
|
throw new Error('Private notification destination forbidden');
|
|
57
66
|
return new Promise((resolve, reject) => {
|
|
58
67
|
const requestHeaders = {};
|
|
59
|
-
new Headers(init.headers).forEach((value, key) => {
|
|
68
|
+
new Headers(init.headers).forEach((value, key) => {
|
|
69
|
+
requestHeaders[key] = value;
|
|
70
|
+
});
|
|
60
71
|
const req = (0, node_https_1.request)(url, {
|
|
61
|
-
method: init.method ?? 'POST',
|
|
62
|
-
|
|
72
|
+
method: init.method ?? 'POST',
|
|
73
|
+
headers: requestHeaders,
|
|
74
|
+
lookup: exports.publicNotificationLookup,
|
|
75
|
+
agent: false,
|
|
76
|
+
signal: init.signal ?? undefined,
|
|
77
|
+
timeout: 30000,
|
|
63
78
|
}, response => {
|
|
64
79
|
if ((response.statusCode ?? 500) >= 300 && (response.statusCode ?? 500) < 400) {
|
|
65
80
|
response.destroy();
|
package/dist/egress.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"egress.js","sourceRoot":"","sources":["../src/egress.ts"],"names":[],"mappings":";;;AAIA,
|
|
1
|
+
{"version":3,"file":"egress.js","sourceRoot":"","sources":["../src/egress.ts"],"names":[],"mappings":"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"}
|
package/dist/monitor.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAGxF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB;
|
|
1
|
+
{"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAe,MAAM,aAAa,CAAC;AAGxF;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,oBAAoB;IAC7C,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,GAAE,MAAM,EAAO;IAGxC,IAAI,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI;CAGrD"}
|
package/dist/monitor.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":";;;AAAA,sCAAwF;AACxF,0CAAgD;AAEhD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,2BAAoB;
|
|
1
|
+
{"version":3,"file":"monitor.js","sourceRoot":"","sources":["../src/monitor.ts"],"names":[],"mappings":";;;AAAA,sCAAwF;AACxF,0CAAgD;AAEhD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,2BAAoB;IAC5B;IAA7B,YAA6B,QAAkB,EAAE;QAC7C,KAAK,EAAE,CAAC;QADiB,UAAK,GAAL,KAAK,CAAe;IAEjD,CAAC;IACQ,IAAI,CAAC,KAA6B;QACvC,KAAK,CAAC,IAAI,CAAC,IAAA,kBAAW,EAAC,IAAA,wBAAe,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;CACJ;AAPD,kDAOC"}
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErE,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAErE,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAEpF;AACD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,mBAAmB,GAAG,qBAAqB,CAI5F;AACD,wBAAgB,2BAA2B,IAAI,IAAI,CAElD"}
|
package/dist/registry.js
CHANGED
|
@@ -4,12 +4,16 @@ exports.registerNotificationTransport = registerNotificationTransport;
|
|
|
4
4
|
exports.getNotificationTransport = getNotificationTransport;
|
|
5
5
|
exports.clearNotificationTransports = clearNotificationTransports;
|
|
6
6
|
const transports = new Map();
|
|
7
|
-
function registerNotificationTransport(transport) {
|
|
7
|
+
function registerNotificationTransport(transport) {
|
|
8
|
+
transports.set(transport.channel, transport);
|
|
9
|
+
}
|
|
8
10
|
function getNotificationTransport(channel) {
|
|
9
11
|
const transport = transports.get(channel);
|
|
10
12
|
if (!transport)
|
|
11
13
|
throw new Error(`No notification transport registered for ${channel}`);
|
|
12
14
|
return transport;
|
|
13
15
|
}
|
|
14
|
-
function clearNotificationTransports() {
|
|
16
|
+
function clearNotificationTransports() {
|
|
17
|
+
transports.clear();
|
|
18
|
+
}
|
|
15
19
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";;AAEA,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":";;AAEA,sEAEC;AACD,4DAIC;AACD,kEAEC;AAXD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA8C,CAAC;AACzE,SAAgB,6BAA6B,CAAC,SAAgC;IAC1E,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;AACjD,CAAC;AACD,SAAgB,wBAAwB,CAAC,OAA4B;IACjE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;IACvF,OAAO,SAAS,CAAC;AACrB,CAAC;AACD,SAAgB,2BAA2B;IACvC,UAAU,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
|
package/dist/sms.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms.d.ts","sourceRoot":"","sources":["../src/sms.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"sms.d.ts","sourceRoot":"","sources":["../src/sms.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,cAAc;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACrB;AACD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACrE,cAAc,CAwBhB;AAED,2FAA2F;AAC3F,wBAAgB,0BAA0B,CAAC,MAAM,SAAa,GAAG,MAAM,CAGtE;AACD,MAAM,WAAW,kBAAkB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;CACrB;AACD,oGAAoG;AACpG,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,kBAAkB,EAAE,GAAG,SAAa,GAAG,IAAI,CAUnH"}
|
package/dist/sms.js
CHANGED
|
@@ -16,16 +16,26 @@ function parseTwilioSmsReply(params, options) {
|
|
|
16
16
|
(0, tokens_1.invalidToken)('Invalid SMS webhook configuration');
|
|
17
17
|
if (Object.values(params).some(value => typeof value !== 'string'))
|
|
18
18
|
(0, tokens_1.invalidToken)('Invalid SMS form');
|
|
19
|
-
const signed = Object.keys(params)
|
|
19
|
+
const signed = Object.keys(params)
|
|
20
|
+
.sort()
|
|
21
|
+
.reduce((value, key) => value + key + params[key], options.publicUrl);
|
|
20
22
|
const expected = (0, node_crypto_1.createHmac)('sha1', options.authToken).update(signed).digest('base64');
|
|
21
23
|
if (!(0, crypto_1.timingSafeCompare)(expected, options.signature, 'base64'))
|
|
22
24
|
(0, tokens_1.invalidToken)('Invalid SMS signature');
|
|
23
|
-
if (!/^SM[a-zA-Z0-9]+$/.test(params.MessageSid ?? '') ||
|
|
25
|
+
if (!/^SM[a-zA-Z0-9]+$/.test(params.MessageSid ?? '') ||
|
|
26
|
+
!/^\+[1-9]\d{6,14}$/.test(params.From ?? '') ||
|
|
27
|
+
!/^\+[1-9]\d{6,14}$/.test(params.To ?? ''))
|
|
24
28
|
(0, tokens_1.invalidToken)('Invalid SMS sender or message ID');
|
|
25
29
|
const match = /^(approve|reject)\s+([a-zA-Z0-9:_-]{1,256})$/i.exec((params.Body ?? '').trim());
|
|
26
30
|
if (!match)
|
|
27
31
|
(0, tokens_1.invalidToken)('Reply must contain APPROVE or REJECT and a request reference');
|
|
28
|
-
return {
|
|
32
|
+
return {
|
|
33
|
+
messageId: params.MessageSid,
|
|
34
|
+
from: params.From,
|
|
35
|
+
to: params.To,
|
|
36
|
+
approved: match[1].toLowerCase() === 'approve',
|
|
37
|
+
reference: match[2],
|
|
38
|
+
};
|
|
29
39
|
}
|
|
30
40
|
/** Generate once and persist with the request, expected sender, destination and expiry. */
|
|
31
41
|
function createSmsApprovalReference(prefix = 'approval') {
|
|
@@ -35,8 +45,11 @@ function createSmsApprovalReference(prefix = 'approval') {
|
|
|
35
45
|
}
|
|
36
46
|
/** Validation only: the application must atomically consume its pending request before resuming. */
|
|
37
47
|
function validateSmsApprovalReply(reply, pending, now = Date.now()) {
|
|
38
|
-
if (!Number.isFinite(pending.expiresAt) ||
|
|
39
|
-
|
|
48
|
+
if (!Number.isFinite(pending.expiresAt) ||
|
|
49
|
+
pending.expiresAt <= now ||
|
|
50
|
+
!(0, crypto_1.timingSafeCompare)(reply.reference, pending.reference, 'utf8') ||
|
|
51
|
+
reply.from !== pending.from ||
|
|
52
|
+
reply.to !== pending.to) {
|
|
40
53
|
(0, tokens_1.invalidToken)('SMS reply does not match a pending approval');
|
|
41
54
|
}
|
|
42
55
|
}
|
package/dist/sms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sms.js","sourceRoot":"","sources":["../src/sms.ts"],"names":[],"mappings":";;AAeA,
|
|
1
|
+
{"version":3,"file":"sms.js","sourceRoot":"","sources":["../src/sms.ts"],"names":[],"mappings":"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"}
|
package/dist/steps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"steps.d.ts","sourceRoot":"","sources":["../src/steps.ts"],"names":[],"mappings":"AAEA,OAAO,EACH,IAAI,EAaP,MAAM,aAAa,CAAC;AAKrB,OAAO,EACH,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAElB,cAAc,EACd,qBAAqB,EAExB,MAAM,SAAS,CAAC;AAGjB,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,IAAI,CAE1F;AAYD,wBAAgB,wCAAwC,IAAI,IAAI,CAK/D;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EAChE,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC,GACpC,IAAI,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAEhC;AAkMD,wBAAgB,2BAA2B,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,GAAG,GAAG,EACvE,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,0BAA0B,CAAC,CAAC,CAAC,GACvC,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAyD5B"}
|