run402 4.6.0 → 4.8.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/lib/notifications.mjs +431 -11
- package/lib/webhook-secret.mjs +6 -0
- package/package.json +1 -1
- package/sdk/dist/errors.d.ts +53 -2
- package/sdk/dist/errors.d.ts.map +1 -1
- package/sdk/dist/errors.js +91 -0
- package/sdk/dist/errors.js.map +1 -1
- package/sdk/dist/index.d.ts +2 -2
- package/sdk/dist/index.d.ts.map +1 -1
- package/sdk/dist/index.js +1 -1
- package/sdk/dist/index.js.map +1 -1
- package/sdk/dist/namespaces/admin.d.ts +254 -4
- package/sdk/dist/namespaces/admin.d.ts.map +1 -1
- package/sdk/dist/namespaces/admin.js +134 -4
- package/sdk/dist/namespaces/admin.js.map +1 -1
- package/sdk/dist/node/_paid-stack.d.ts +1 -1
- package/sdk/dist/node/_paid-stack.d.ts.map +1 -1
- package/sdk/dist/node/index.d.ts +15 -2
- package/sdk/dist/node/index.d.ts.map +1 -1
- package/sdk/dist/node/index.js +23 -4
- package/sdk/dist/node/index.js.map +1 -1
- package/sdk/dist/node/paid-fetch.d.ts +147 -9
- package/sdk/dist/node/paid-fetch.d.ts.map +1 -1
- package/sdk/dist/node/paid-fetch.js +785 -75
- package/sdk/dist/node/paid-fetch.js.map +1 -1
- package/sdk/dist/node/payment-attempts.d.ts +54 -0
- package/sdk/dist/node/payment-attempts.d.ts.map +1 -0
- package/sdk/dist/node/payment-attempts.js +220 -0
- package/sdk/dist/node/payment-attempts.js.map +1 -0
package/lib/notifications.mjs
CHANGED
|
@@ -1,32 +1,61 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* run402 notifications — Operator health notifications.
|
|
2
|
+
* run402 notifications — Operator health notifications + Telegram channel/rules.
|
|
3
3
|
*
|
|
4
4
|
* Wraps the v1.55 `add-operator-health-notifications` API surface:
|
|
5
5
|
*
|
|
6
6
|
* - run402 notifications list [--type ...] [--since ...] [--limit N] [--after <cursor>]
|
|
7
7
|
* - run402 notifications get <id>
|
|
8
8
|
* - run402 notifications preferences [get|set ...]
|
|
9
|
-
* - run402 notifications test
|
|
9
|
+
* - run402 notifications test [--source app|platform] [--type <event_type>]
|
|
10
10
|
* - run402 webhook-secret rotate
|
|
11
11
|
*
|
|
12
|
+
* ...and the `notification-channel-routing-telegram` cascade (self-serve
|
|
13
|
+
* Telegram push + per-rule routing on top of the substrate above):
|
|
14
|
+
*
|
|
15
|
+
* - run402 notifications channels connect telegram [--label <name>]
|
|
16
|
+
* - run402 notifications channels list
|
|
17
|
+
* - run402 notifications channels revoke <binding_id>
|
|
18
|
+
* - run402 notifications rules add --binding <id> [--project <id>] [--source app|platform] [--type a,b] [--class a,b]
|
|
19
|
+
* - run402 notifications rules list
|
|
20
|
+
* - run402 notifications rules rm <rule_id>
|
|
21
|
+
*
|
|
12
22
|
* All commands use the allowance-wallet auth path (SIWX). The assurance
|
|
13
|
-
* ladder is enforced server-side; CLI surfaces 403 errors
|
|
14
|
-
*
|
|
23
|
+
* ladder is enforced server-side; CLI surfaces 403/412/503 errors verbatim
|
|
24
|
+
* (message + code + next_actions) via reportSdkError — no client-side
|
|
25
|
+
* special-casing needed, e.g. a not-yet-provisioned Telegram bot surfaces as
|
|
26
|
+
* 503 TELEGRAM_CHANNEL_NOT_CONFIGURED with its next_actions intact.
|
|
27
|
+
*
|
|
28
|
+
* `channels`/`rules` are nested groups dispatched via `if (sub === ...)`
|
|
29
|
+
* (not `case`), mirroring cli/lib/org.mjs's `member`/`invite` groups — see
|
|
30
|
+
* sync.test.ts's parseNotificationsGroupActions for why.
|
|
15
31
|
*/
|
|
16
32
|
|
|
17
33
|
import { allowanceAuthHeaders } from "./config.mjs";
|
|
18
34
|
import { getSdk } from "./sdk.mjs";
|
|
19
35
|
import { reportSdkError, fail } from "./sdk-errors.mjs";
|
|
20
|
-
import {
|
|
36
|
+
import {
|
|
37
|
+
assertAllowedValue,
|
|
38
|
+
assertKnownFlags,
|
|
39
|
+
flagValue,
|
|
40
|
+
normalizeArgv,
|
|
41
|
+
positionalArgs,
|
|
42
|
+
requirePositionalCount,
|
|
43
|
+
} from "./argparse.mjs";
|
|
21
44
|
|
|
22
|
-
const HELP = `run402 notifications — Operator health notifications
|
|
45
|
+
const HELP = `run402 notifications — Operator health notifications + Telegram channel/rules
|
|
23
46
|
|
|
24
47
|
Usage:
|
|
25
48
|
run402 notifications list [--type <event_type>] [--since <iso>] [--limit N] [--after <cursor>]
|
|
26
49
|
run402 notifications get <id>
|
|
27
50
|
run402 notifications preferences
|
|
28
51
|
run402 notifications preferences set <key>=<value> [<key>=<value> ...]
|
|
29
|
-
run402 notifications test
|
|
52
|
+
run402 notifications test [--source app|platform] [--type <event_type>]
|
|
53
|
+
run402 notifications channels connect telegram [--label <name>]
|
|
54
|
+
run402 notifications channels list
|
|
55
|
+
run402 notifications channels revoke <binding_id>
|
|
56
|
+
run402 notifications rules add --binding <binding_id> [--project <id>] [--source app|platform] [--type a,b] [--class a,b]
|
|
57
|
+
run402 notifications rules list
|
|
58
|
+
run402 notifications rules rm <rule_id>
|
|
30
59
|
|
|
31
60
|
Examples:
|
|
32
61
|
run402 notifications list --limit 10
|
|
@@ -36,13 +65,112 @@ Examples:
|
|
|
36
65
|
run402 notifications preferences set digest_cadence=weekly digest_day_of_week=1
|
|
37
66
|
run402 notifications preferences set webhook_url=https://my-receiver.example.com/hook
|
|
38
67
|
run402 notifications test
|
|
68
|
+
run402 notifications test --source app --type signature_failed
|
|
69
|
+
run402 notifications channels connect telegram --label "kychon alerts"
|
|
70
|
+
run402 notifications channels list
|
|
71
|
+
run402 notifications rules add --binding bnd_1 --project prj_abc --source app --type signature_failed
|
|
39
72
|
|
|
40
73
|
Auth ladder (enforced server-side):
|
|
41
74
|
- SIWX wallet: read own notifications + preferences
|
|
42
75
|
- email_verified: cross-wallet rollup reads + multi-wallet preference updates
|
|
43
|
-
- operator_passkey: webhook URL changes, webhook secret rotation
|
|
76
|
+
- operator_passkey: webhook URL changes, webhook secret rotation, Telegram
|
|
77
|
+
channel connect/revoke, routing rule add/rm (channel
|
|
78
|
+
connect additionally requires a VERIFIED operator email)
|
|
79
|
+
|
|
80
|
+
Telegram channels + routing rules teach their own rule model in detail via
|
|
81
|
+
'run402 notifications channels --help' / 'run402 notifications rules --help'
|
|
82
|
+
(AND'd match dimensions, wildcards, one rule -> one chat, no rules -> no
|
|
83
|
+
Telegram traffic).
|
|
44
84
|
`;
|
|
45
85
|
|
|
86
|
+
const CHANNELS_HELP = `run402 notifications channels — Telegram channel bindings
|
|
87
|
+
|
|
88
|
+
Usage:
|
|
89
|
+
run402 notifications channels connect telegram [--label <name>]
|
|
90
|
+
run402 notifications channels list
|
|
91
|
+
run402 notifications channels revoke <binding_id>
|
|
92
|
+
|
|
93
|
+
connect telegram:
|
|
94
|
+
Creates a PENDING binding and prints two single-use, 15-minute deep links:
|
|
95
|
+
a private-chat link and a group-chat link. Open ONE of them in Telegram and
|
|
96
|
+
tap Start — whichever is tapped first consumes the code. This command then
|
|
97
|
+
POLLS 'channels list' (every few seconds, printing progress to stderr)
|
|
98
|
+
until the binding flips to active, or the code expires, whichever happens
|
|
99
|
+
first. Requires operator_passkey assurance AND a VERIFIED operator email
|
|
100
|
+
(bindings are addressed to it — see 'run402 agent verify-email').
|
|
101
|
+
|
|
102
|
+
--label <name> Human-readable name for the chat (e.g. "kychon alerts"),
|
|
103
|
+
1-64 characters.
|
|
104
|
+
|
|
105
|
+
list:
|
|
106
|
+
Shows every notification channel — email, webhook, and every live
|
|
107
|
+
(non-revoked) Telegram binding — for the authenticated wallet.
|
|
108
|
+
|
|
109
|
+
revoke <binding_id>:
|
|
110
|
+
Revokes a Telegram binding. Requires operator_passkey assurance. A
|
|
111
|
+
missing / already-revoked / another operator's binding id all return the
|
|
112
|
+
same not-found error (no existence oracle).
|
|
113
|
+
|
|
114
|
+
Until the platform's dedicated Telegram bot is provisioned on this
|
|
115
|
+
deployment, 'connect telegram' returns 503 TELEGRAM_CHANNEL_NOT_CONFIGURED
|
|
116
|
+
with a next_actions entry pointing at the operator to finish setup.
|
|
117
|
+
|
|
118
|
+
Examples:
|
|
119
|
+
run402 notifications channels connect telegram
|
|
120
|
+
run402 notifications channels connect telegram --label "kychon alerts"
|
|
121
|
+
run402 notifications channels list
|
|
122
|
+
run402 notifications channels revoke bnd_1a2b3c
|
|
123
|
+
`;
|
|
124
|
+
|
|
125
|
+
const RULES_HELP = `run402 notifications rules — Telegram routing rules
|
|
126
|
+
|
|
127
|
+
Usage:
|
|
128
|
+
run402 notifications rules add --binding <binding_id> [--project <id>] [--source app|platform] [--type a,b] [--class a,b]
|
|
129
|
+
run402 notifications rules list
|
|
130
|
+
run402 notifications rules rm <rule_id>
|
|
131
|
+
|
|
132
|
+
The rule model:
|
|
133
|
+
- One rule routes to exactly ONE Telegram binding (one chat) — "N
|
|
134
|
+
destinations" is N rules, never a fan-out list on a single rule.
|
|
135
|
+
- Every match dimension you set is ANDed: --project + --source + --type +
|
|
136
|
+
--class must ALL match an event for the rule to fire.
|
|
137
|
+
- An OMITTED dimension is a WILDCARD (matches anything for that
|
|
138
|
+
dimension). 'rules add --binding bnd_1' with no other flags matches
|
|
139
|
+
EVERY event routed to that operator.
|
|
140
|
+
- --type and --class accept comma-separated lists and match if the event
|
|
141
|
+
is ANY of the listed values, e.g.
|
|
142
|
+
--type signature_failed,signature_expired.
|
|
143
|
+
- --source is "app" (your deployed function's events.emit(...) calls from
|
|
144
|
+
@run402/functions) or "platform" (deploys, lifecycle, verification,
|
|
145
|
+
...). Omit it to match both.
|
|
146
|
+
- Multiple rules OR together across an event; if two of YOUR rules both
|
|
147
|
+
resolve to the SAME binding for one event, only one message is sent
|
|
148
|
+
(deduped per chat, not per rule).
|
|
149
|
+
- NO RULES = NO TELEGRAM TRAFFIC for that operator. The Telegram channel
|
|
150
|
+
is opt-in per event, per rule — there is no "send everything" default,
|
|
151
|
+
unlike the always-on email channel.
|
|
152
|
+
- Rules govern the Telegram channel ONLY (v1). The mandatory email floor
|
|
153
|
+
(security / recovery / billing_critical / destructive_lifecycle /
|
|
154
|
+
verification classes) is completely untouched by this command and can
|
|
155
|
+
NEVER be silenced by adding or omitting a rule.
|
|
156
|
+
|
|
157
|
+
Requires operator_passkey assurance for add/rm. 'rules add' rejects an
|
|
158
|
+
unusable telegram_binding_id (revoked / not yours / nonexistent) with the
|
|
159
|
+
same 404 either way (authorize-before-reveal) — run 'channels list' first to
|
|
160
|
+
confirm the binding is 'active'.
|
|
161
|
+
|
|
162
|
+
Examples:
|
|
163
|
+
run402 notifications rules add --binding bnd_1
|
|
164
|
+
run402 notifications rules add --binding bnd_1 --project prj_abc --source app --type signature_failed
|
|
165
|
+
run402 notifications rules add --binding bnd_1 --class security,recovery
|
|
166
|
+
run402 notifications rules list
|
|
167
|
+
run402 notifications rules rm rule_9b21fa0a
|
|
168
|
+
`;
|
|
169
|
+
|
|
170
|
+
// ---------------------------------------------------------------------------
|
|
171
|
+
// Operator health notifications (v1.55) — list / get / preferences / test.
|
|
172
|
+
// ---------------------------------------------------------------------------
|
|
173
|
+
|
|
46
174
|
async function list(args) {
|
|
47
175
|
const parsedArgs = normalizeArgv(args);
|
|
48
176
|
const valueFlags = ["--type", "--since", "--limit", "--after"];
|
|
@@ -133,25 +261,317 @@ async function preferences(args) {
|
|
|
133
261
|
|
|
134
262
|
async function test(args) {
|
|
135
263
|
const parsedArgs = normalizeArgv(args);
|
|
136
|
-
|
|
137
|
-
|
|
264
|
+
const valueFlags = ["--source", "--type"];
|
|
265
|
+
assertKnownFlags(parsedArgs, [...valueFlags, "--help", "-h"], valueFlags);
|
|
266
|
+
const extra = positionalArgs(parsedArgs, valueFlags);
|
|
138
267
|
if (extra.length > 0) {
|
|
139
268
|
fail({ code: "BAD_USAGE", message: `Unexpected argument for notifications test: ${extra[0]}` });
|
|
140
269
|
}
|
|
270
|
+
const source = flagValue(parsedArgs, "--source");
|
|
271
|
+
if (source !== null) assertAllowedValue(source, ["app", "platform"], "--source");
|
|
272
|
+
const eventType = flagValue(parsedArgs, "--type");
|
|
141
273
|
allowanceAuthHeaders("/agent/v1/notifications/test");
|
|
274
|
+
const opts = {};
|
|
275
|
+
if (source) opts.source = source;
|
|
276
|
+
if (eventType) opts.eventType = eventType;
|
|
142
277
|
try {
|
|
143
|
-
const data = await getSdk().admin.testNotification();
|
|
278
|
+
const data = await getSdk().admin.testNotification(opts);
|
|
144
279
|
console.log(JSON.stringify(data, null, 2));
|
|
145
280
|
} catch (err) {
|
|
146
281
|
reportSdkError(err);
|
|
147
282
|
}
|
|
148
283
|
}
|
|
149
284
|
|
|
285
|
+
// ---------------------------------------------------------------------------
|
|
286
|
+
// Telegram channel bindings — notification-channel-routing-telegram.
|
|
287
|
+
// ---------------------------------------------------------------------------
|
|
288
|
+
|
|
289
|
+
const TELEGRAM_CONNECT_POLL_INTERVAL_MS = 3000;
|
|
290
|
+
/** Fallback wait bound if the server's code_expires_at is somehow
|
|
291
|
+
* unparseable — the connect code's real TTL is 15 minutes server-side. */
|
|
292
|
+
const TELEGRAM_CONNECT_FALLBACK_TIMEOUT_MS = 20 * 60 * 1000;
|
|
293
|
+
/** Print a progress line every Nth poll tick (~15s at the interval above) —
|
|
294
|
+
* frequent enough to reassure, not so frequent it floods stderr. */
|
|
295
|
+
const TELEGRAM_CONNECT_PROGRESS_EVERY_N_TICKS = 5;
|
|
296
|
+
|
|
297
|
+
function sleep(ms) {
|
|
298
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Poll `GET /agent/v1/notifications/channels` until `bindingId` shows
|
|
303
|
+
* `status: "active"`, or the connect code's `codeExpiresAt` passes.
|
|
304
|
+
* Transient poll failures (network blips) are logged and retried rather
|
|
305
|
+
* than aborting the whole connect flow — bounded by the same expiry.
|
|
306
|
+
*/
|
|
307
|
+
async function pollTelegramBindingActive(bindingId, codeExpiresAt) {
|
|
308
|
+
const parsedExpiry = Date.parse(codeExpiresAt);
|
|
309
|
+
const deadlineMs = Number.isFinite(parsedExpiry) ? parsedExpiry : Date.now() + TELEGRAM_CONNECT_FALLBACK_TIMEOUT_MS;
|
|
310
|
+
let tick = 0;
|
|
311
|
+
for (;;) {
|
|
312
|
+
await sleep(TELEGRAM_CONNECT_POLL_INTERVAL_MS);
|
|
313
|
+
tick += 1;
|
|
314
|
+
let channels;
|
|
315
|
+
try {
|
|
316
|
+
channels = await getSdk().admin.channels.list();
|
|
317
|
+
} catch (err) {
|
|
318
|
+
console.error(` (poll failed, retrying: ${err?.message || err})`);
|
|
319
|
+
if (Date.now() >= deadlineMs) return { active: false, timedOut: true, binding: null };
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
const binding = (channels.telegram || []).find((b) => b.id === bindingId) || null;
|
|
323
|
+
if (binding && binding.status === "active") {
|
|
324
|
+
return { active: true, binding };
|
|
325
|
+
}
|
|
326
|
+
if (Date.now() >= deadlineMs) {
|
|
327
|
+
return { active: false, timedOut: true, binding };
|
|
328
|
+
}
|
|
329
|
+
if (tick % TELEGRAM_CONNECT_PROGRESS_EVERY_N_TICKS === 1) {
|
|
330
|
+
const remainingSec = Math.max(0, Math.round((deadlineMs - Date.now()) / 1000));
|
|
331
|
+
const status = binding ? binding.status : "pending";
|
|
332
|
+
console.error(` waiting for you to tap the link in Telegram... (status: ${status}, ${remainingSec}s left)`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
async function channelsConnect(args) {
|
|
338
|
+
const a = normalizeArgv(args);
|
|
339
|
+
assertKnownFlags(a, ["--label", "--help", "-h"], ["--label"]);
|
|
340
|
+
const label = flagValue(a, "--label");
|
|
341
|
+
const positionals = positionalArgs(a, ["--label"]);
|
|
342
|
+
if (positionals.length === 0) {
|
|
343
|
+
fail({
|
|
344
|
+
code: "BAD_USAGE",
|
|
345
|
+
message: "Usage: run402 notifications channels connect telegram [--label <name>]",
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
if (positionals[0] !== "telegram") {
|
|
349
|
+
fail({
|
|
350
|
+
code: "BAD_USAGE",
|
|
351
|
+
message: `Unknown channel type: ${positionals[0]}. Only 'telegram' is supported.`,
|
|
352
|
+
details: { channel_type: positionals[0] },
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
if (positionals.length > 1) {
|
|
356
|
+
fail({ code: "BAD_USAGE", message: `Unexpected argument for notifications channels connect: ${positionals[1]}` });
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
allowanceAuthHeaders("/agent/v1/notifications/channels/telegram");
|
|
360
|
+
let pending;
|
|
361
|
+
try {
|
|
362
|
+
pending = await getSdk().admin.channels.connectTelegram(label ? { label } : {});
|
|
363
|
+
} catch (err) {
|
|
364
|
+
reportSdkError(err);
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
console.error("");
|
|
369
|
+
console.error("Open ONE of these links in Telegram and tap Start to connect this channel:");
|
|
370
|
+
console.error(` Private chat: ${pending.connect_url}`);
|
|
371
|
+
console.error(` Group chat: ${pending.connect_group_url}`);
|
|
372
|
+
console.error(` Expires: ${pending.code_expires_at}`);
|
|
373
|
+
console.error("");
|
|
374
|
+
console.error("Waiting for you to tap the link...");
|
|
375
|
+
|
|
376
|
+
const outcome = await pollTelegramBindingActive(pending.binding_id, pending.code_expires_at);
|
|
377
|
+
if (outcome.active) {
|
|
378
|
+
console.error("Connected.");
|
|
379
|
+
console.log(JSON.stringify({ ...pending, connected: true, binding: outcome.binding }, null, 2));
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
console.error("Timed out waiting for you to tap the link — the connect code has expired.");
|
|
383
|
+
console.error("Run `run402 notifications channels connect telegram` again for a fresh link.");
|
|
384
|
+
console.log(JSON.stringify({ ...pending, connected: false, timed_out: true }, null, 2));
|
|
385
|
+
process.exit(1);
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
async function channelsList() {
|
|
389
|
+
allowanceAuthHeaders("/agent/v1/notifications/channels");
|
|
390
|
+
try {
|
|
391
|
+
console.log(JSON.stringify(await getSdk().admin.channels.list(), null, 2));
|
|
392
|
+
} catch (err) {
|
|
393
|
+
reportSdkError(err);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
async function channelsRevoke(args) {
|
|
398
|
+
const a = normalizeArgv(args);
|
|
399
|
+
assertKnownFlags(a, ["--help", "-h"]);
|
|
400
|
+
const [bindingId] = requirePositionalCount(a, [], {
|
|
401
|
+
min: 1,
|
|
402
|
+
max: 1,
|
|
403
|
+
command: "run402 notifications channels revoke <binding_id>",
|
|
404
|
+
missing: "Missing <binding_id>.",
|
|
405
|
+
});
|
|
406
|
+
allowanceAuthHeaders("/agent/v1/notifications/channels/telegram");
|
|
407
|
+
try {
|
|
408
|
+
console.log(JSON.stringify(await getSdk().admin.channels.revokeTelegram(bindingId), null, 2));
|
|
409
|
+
} catch (err) {
|
|
410
|
+
reportSdkError(err);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
async function runChannels(args) {
|
|
415
|
+
const channelsAction = args[0];
|
|
416
|
+
const rest = args.slice(1);
|
|
417
|
+
if (!channelsAction || channelsAction === "--help" || channelsAction === "-h") {
|
|
418
|
+
console.log(CHANNELS_HELP);
|
|
419
|
+
process.exit(channelsAction ? 0 : 1);
|
|
420
|
+
}
|
|
421
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
422
|
+
console.log(CHANNELS_HELP);
|
|
423
|
+
process.exit(0);
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
if (channelsAction === "connect") {
|
|
427
|
+
await channelsConnect(rest);
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
if (channelsAction === "list") {
|
|
431
|
+
await channelsList();
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
if (channelsAction === "revoke") {
|
|
435
|
+
await channelsRevoke(rest);
|
|
436
|
+
return;
|
|
437
|
+
}
|
|
438
|
+
fail({
|
|
439
|
+
code: "BAD_USAGE",
|
|
440
|
+
message: `Unknown 'notifications channels' action: ${channelsAction}. Try connect | list | revoke.`,
|
|
441
|
+
});
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// ---------------------------------------------------------------------------
|
|
445
|
+
// Telegram routing rules — notification-channel-routing-telegram.
|
|
446
|
+
// ---------------------------------------------------------------------------
|
|
447
|
+
|
|
448
|
+
function splitCsv(value) {
|
|
449
|
+
return value
|
|
450
|
+
.split(",")
|
|
451
|
+
.map((s) => s.trim())
|
|
452
|
+
.filter((s) => s.length > 0);
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
async function rulesAdd(args) {
|
|
456
|
+
const a = normalizeArgv(args);
|
|
457
|
+
const valueFlags = ["--binding", "--project", "--source", "--type", "--class"];
|
|
458
|
+
assertKnownFlags(a, [...valueFlags, "--help", "-h"], valueFlags);
|
|
459
|
+
const positionals = positionalArgs(a, valueFlags);
|
|
460
|
+
if (positionals.length > 0) {
|
|
461
|
+
fail({ code: "BAD_USAGE", message: `Unexpected argument for notifications rules add: ${positionals[0]}` });
|
|
462
|
+
}
|
|
463
|
+
|
|
464
|
+
const bindingId = flagValue(a, "--binding");
|
|
465
|
+
if (!bindingId) {
|
|
466
|
+
fail({
|
|
467
|
+
code: "BAD_USAGE",
|
|
468
|
+
message:
|
|
469
|
+
"Usage: run402 notifications rules add --binding <binding_id> [--project <id>] [--source app|platform] [--type a,b] [--class a,b]",
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
const projectId = flagValue(a, "--project");
|
|
473
|
+
const source = flagValue(a, "--source");
|
|
474
|
+
if (source !== null) assertAllowedValue(source, ["app", "platform"], "--source");
|
|
475
|
+
const typeRaw = flagValue(a, "--type");
|
|
476
|
+
const classRaw = flagValue(a, "--class");
|
|
477
|
+
|
|
478
|
+
const input = { telegramBindingId: bindingId };
|
|
479
|
+
if (projectId) input.projectId = projectId;
|
|
480
|
+
if (source) input.source = source;
|
|
481
|
+
if (typeRaw !== null) input.eventTypes = splitCsv(typeRaw);
|
|
482
|
+
if (classRaw !== null) input.classes = splitCsv(classRaw);
|
|
483
|
+
|
|
484
|
+
allowanceAuthHeaders("/agent/v1/notifications/rules");
|
|
485
|
+
try {
|
|
486
|
+
console.log(JSON.stringify(await getSdk().admin.rules.create(input), null, 2));
|
|
487
|
+
} catch (err) {
|
|
488
|
+
reportSdkError(err);
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
async function rulesList() {
|
|
493
|
+
allowanceAuthHeaders("/agent/v1/notifications/rules");
|
|
494
|
+
try {
|
|
495
|
+
console.log(JSON.stringify(await getSdk().admin.rules.list(), null, 2));
|
|
496
|
+
} catch (err) {
|
|
497
|
+
reportSdkError(err);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
|
|
501
|
+
async function rulesRm(args) {
|
|
502
|
+
const a = normalizeArgv(args);
|
|
503
|
+
assertKnownFlags(a, ["--help", "-h"]);
|
|
504
|
+
const [ruleId] = requirePositionalCount(a, [], {
|
|
505
|
+
min: 1,
|
|
506
|
+
max: 1,
|
|
507
|
+
command: "run402 notifications rules rm <rule_id>",
|
|
508
|
+
missing: "Missing <rule_id>.",
|
|
509
|
+
});
|
|
510
|
+
allowanceAuthHeaders("/agent/v1/notifications/rules");
|
|
511
|
+
try {
|
|
512
|
+
console.log(JSON.stringify(await getSdk().admin.rules.delete(ruleId), null, 2));
|
|
513
|
+
} catch (err) {
|
|
514
|
+
reportSdkError(err);
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
async function runRules(args) {
|
|
519
|
+
const rulesAction = args[0];
|
|
520
|
+
const rest = args.slice(1);
|
|
521
|
+
if (!rulesAction || rulesAction === "--help" || rulesAction === "-h") {
|
|
522
|
+
console.log(RULES_HELP);
|
|
523
|
+
process.exit(rulesAction ? 0 : 1);
|
|
524
|
+
}
|
|
525
|
+
if (rest.includes("--help") || rest.includes("-h")) {
|
|
526
|
+
console.log(RULES_HELP);
|
|
527
|
+
process.exit(0);
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
if (rulesAction === "add") {
|
|
531
|
+
await rulesAdd(rest);
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
if (rulesAction === "list") {
|
|
535
|
+
await rulesList();
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
if (rulesAction === "rm") {
|
|
539
|
+
await rulesRm(rest);
|
|
540
|
+
return;
|
|
541
|
+
}
|
|
542
|
+
fail({
|
|
543
|
+
code: "BAD_USAGE",
|
|
544
|
+
message: `Unknown 'notifications rules' action: ${rulesAction}. Try add | list | rm.`,
|
|
545
|
+
});
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
// ---------------------------------------------------------------------------
|
|
549
|
+
// Dispatch.
|
|
550
|
+
// ---------------------------------------------------------------------------
|
|
551
|
+
|
|
150
552
|
export async function run(sub, args) {
|
|
151
553
|
if (!sub || sub === "--help" || sub === "-h") {
|
|
152
554
|
console.log(HELP);
|
|
153
555
|
process.exit(0);
|
|
154
556
|
}
|
|
557
|
+
// Nested groups use `if (sub === ...)` (not `case`) so the sync test
|
|
558
|
+
// extracts their leaf actions via the dedicated channelsAction/rulesAction
|
|
559
|
+
// parsers, mirroring cli/lib/org.mjs's member/invite groups.
|
|
560
|
+
if (sub === "channels") {
|
|
561
|
+
await runChannels(args ?? []);
|
|
562
|
+
return;
|
|
563
|
+
}
|
|
564
|
+
if (sub === "rules") {
|
|
565
|
+
await runRules(args ?? []);
|
|
566
|
+
return;
|
|
567
|
+
}
|
|
568
|
+
// Flat subcommands share the module-level HELP: --help/-h anywhere in the
|
|
569
|
+
// argv must short-circuit BEFORE the handlers touch auth/config (the
|
|
570
|
+
// cli-help.test.mjs contract) — same pre-switch check as cli/lib/org.mjs.
|
|
571
|
+
if (Array.isArray(args) && (args.includes("--help") || args.includes("-h"))) {
|
|
572
|
+
console.log(HELP);
|
|
573
|
+
process.exit(0);
|
|
574
|
+
}
|
|
155
575
|
switch (sub) {
|
|
156
576
|
case "list":
|
|
157
577
|
await list(args);
|
package/lib/webhook-secret.mjs
CHANGED
|
@@ -27,6 +27,12 @@ export async function run(sub, args = []) {
|
|
|
27
27
|
console.log(HELP);
|
|
28
28
|
process.exit(0);
|
|
29
29
|
}
|
|
30
|
+
// --help/-h anywhere in the argv must short-circuit BEFORE auth/config side
|
|
31
|
+
// effects (the cli-help.test.mjs contract) — same check as notifications.mjs.
|
|
32
|
+
if (Array.isArray(args) && (args.includes("--help") || args.includes("-h"))) {
|
|
33
|
+
console.log(HELP);
|
|
34
|
+
process.exit(0);
|
|
35
|
+
}
|
|
30
36
|
if (sub !== "rotate") {
|
|
31
37
|
fail({
|
|
32
38
|
code: "UNKNOWN_SUBCOMMAND",
|
package/package.json
CHANGED
package/sdk/dist/errors.d.ts
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* (or the exported `is*` guards) to branch on errors safely across SDK copies
|
|
16
16
|
* and realms — value comparison, no class-identity dependency.
|
|
17
17
|
*/
|
|
18
|
-
export type Run402ErrorKind = "payment_required" | "project_not_found" | "unauthorized" | "not_authorized" | "api_error" | "network_error" | "local_error" | "deploy_error" | "transfer_freeze" | "step_up_required" | "operator_approval_required";
|
|
18
|
+
export type Run402ErrorKind = "payment_required" | "project_not_found" | "unauthorized" | "not_authorized" | "api_error" | "network_error" | "payment_attempt_error" | "local_error" | "deploy_error" | "transfer_freeze" | "step_up_required" | "operator_approval_required";
|
|
19
19
|
/**
|
|
20
20
|
* Quota-denial scope discriminator (v1.46+). Indicates whether a quota-related
|
|
21
21
|
* denial was enforced against the pooled organization total (`"organization"`)
|
|
@@ -185,6 +185,55 @@ export declare class NetworkError extends Run402Error {
|
|
|
185
185
|
readonly cause: unknown;
|
|
186
186
|
constructor(message: string, cause: unknown, context: string);
|
|
187
187
|
}
|
|
188
|
+
/**
|
|
189
|
+
* Phase of an automatic x402 payment attempt. `initial_request` and
|
|
190
|
+
* `payment_signing` occur before a payment-bearing request is dispatched;
|
|
191
|
+
* `payment_submission` and `payment_response` are at/after that boundary.
|
|
192
|
+
*/
|
|
193
|
+
export type PaymentAttemptPhase = "initial_request" | "challenge_received" | "payment_signing" | "payment_submission" | "payment_response";
|
|
194
|
+
export type PaymentAttemptMutationState = "not_started" | "in_progress" | "completed" | "ambiguous";
|
|
195
|
+
/**
|
|
196
|
+
* Node paid-fetch failure with an explicit payment-effect boundary.
|
|
197
|
+
*
|
|
198
|
+
* A caller may repeat the request only when `safeToRetry === true`. Once a
|
|
199
|
+
* payment-bearing request may have reached the target, the SDK reports an
|
|
200
|
+
* ambiguous mutation and directs the caller to reconcile by
|
|
201
|
+
* `paymentAttemptId`; it never turns a post-dispatch transport error into a
|
|
202
|
+
* blind retry. The raw cause remains available in-process but is deliberately
|
|
203
|
+
* omitted from `toJSON()` and the canonical body.
|
|
204
|
+
*/
|
|
205
|
+
export declare class PaymentAttemptError extends Run402Error {
|
|
206
|
+
readonly kind: "payment_attempt_error";
|
|
207
|
+
readonly code: string;
|
|
208
|
+
readonly phase: PaymentAttemptPhase;
|
|
209
|
+
readonly paymentAttemptId: string;
|
|
210
|
+
readonly providerStarted: boolean;
|
|
211
|
+
readonly responseStatus: number | null;
|
|
212
|
+
readonly retryable: boolean;
|
|
213
|
+
readonly safeToRetry: boolean;
|
|
214
|
+
readonly mutationState: PaymentAttemptMutationState;
|
|
215
|
+
readonly cause: unknown;
|
|
216
|
+
constructor(init: {
|
|
217
|
+
code: string;
|
|
218
|
+
message: string;
|
|
219
|
+
phase: PaymentAttemptPhase;
|
|
220
|
+
paymentAttemptId: string;
|
|
221
|
+
providerStarted: boolean;
|
|
222
|
+
responseStatus?: number | null;
|
|
223
|
+
mutationState: PaymentAttemptMutationState;
|
|
224
|
+
safeToRetry: boolean;
|
|
225
|
+
/** Operational retryability; defaults to safeToRetry. */
|
|
226
|
+
retryable?: boolean;
|
|
227
|
+
nextActions?: NextAction[];
|
|
228
|
+
cause: unknown;
|
|
229
|
+
request?: {
|
|
230
|
+
method: string;
|
|
231
|
+
origin: string | null;
|
|
232
|
+
path_sha256: string | null;
|
|
233
|
+
};
|
|
234
|
+
});
|
|
235
|
+
toJSON(): Record<string, unknown>;
|
|
236
|
+
}
|
|
188
237
|
/** Local/filesystem error — input validation, missing path, unreadable dir. No HTTP involved. */
|
|
189
238
|
export declare class LocalError extends Run402Error {
|
|
190
239
|
static readonly DEFAULT_CODE = "LOCAL_ERROR";
|
|
@@ -296,7 +345,7 @@ export declare class TransferFreezeError extends Run402Error {
|
|
|
296
345
|
* `initialize_wallet`, plus `operator_approve` (synthesized for WRITE_AUTH).
|
|
297
346
|
* Tolerates unknown future gateway types via the `(string & {})` fallback.
|
|
298
347
|
*/
|
|
299
|
-
export type NextActionType = "retry" | "authenticate" | "submit_payment" | "renew_tier" | "check_usage" | "resume_deploy" | "edit_request" | "edit_migration" | "create_project" | "initialize_wallet" | "deploy" | "operator_approve" | "contact_support";
|
|
348
|
+
export type NextActionType = "retry" | "poll" | "reconcile_payment" | "authenticate" | "submit_payment" | "renew_tier" | "check_usage" | "resume_deploy" | "edit_request" | "edit_migration" | "create_project" | "initialize_wallet" | "deploy" | "operator_approve" | "contact_support";
|
|
300
349
|
/**
|
|
301
350
|
* A single advisory "what to do next" entry. Mirrors the gateway's
|
|
302
351
|
* `next_actions[]` shape (`{ type, method?, path?, auth?, why? }`) extended with
|
|
@@ -413,6 +462,8 @@ export declare function isNotAuthorized(e: unknown): e is NotAuthorizedError;
|
|
|
413
462
|
export declare function isApiError(e: unknown): e is ApiError;
|
|
414
463
|
/** True if `e` is a {@link NetworkError}. */
|
|
415
464
|
export declare function isNetworkError(e: unknown): e is NetworkError;
|
|
465
|
+
/** True if `e` is a phase-aware automatic x402 payment failure. */
|
|
466
|
+
export declare function isPaymentAttemptError(e: unknown): e is PaymentAttemptError;
|
|
416
467
|
/** True if `e` is a {@link LocalError}. */
|
|
417
468
|
export declare function isLocalError(e: unknown): e is LocalError;
|
|
418
469
|
/** True if `e` is a {@link Run402DeployError}. */
|
package/sdk/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,kBAAkB,GAClB,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,WAAW,GACX,eAAe,GACf,uBAAuB,GACvB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,kBAAkB,GAClB,4BAA4B,CAAC;AAEjC;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1D,8BAAsB,WAAY,SAAQ,KAAK;IAC7C;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,EAAG,IAAI,CAAU;IACvC;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IACxC,iFAAiF;IACjF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,mFAAmF;IACnF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,kDAAkD;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,yFAAyF;IACzF,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,mFAAmF;IACnF,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,yGAAyG;IACzG,QAAQ,CAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;gBAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAyClF;;;;;;OAMG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAmBlC;AAkBD;;;;;;;;GAQG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,MAAM,CAAC,QAAQ,CAAC,YAAY,sBAAsB;IAClD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,sBAAsB;IACtD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,kBAAkB,CAAU;CAC7C;AAED,qGAAqG;AACrG,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,MAAM,CAAC,QAAQ,CAAC,YAAY,uBAAuB;IACnD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,eAAe;IAC/C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,mBAAmB,CAAU;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBACf,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,GAAE,OAAc;CAInG;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,CAAC,QAAQ,CAAC,YAAY,kBAAkB;IAC9C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,UAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;CACzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,MAAM,CAAC,QAAQ,CAAC,YAAY,oBAAoB;IAChD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,UAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,gBAAgB,CAAU;IAC1C,4EAA4E;IAC5E,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,sGAAsG;IACtG,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAuBlE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS3C;AAED,wDAAwD;AACxD,qBAAa,QAAS,SAAQ,WAAW;IACvC,MAAM,CAAC,QAAQ,CAAC,YAAY,eAAe;IAC3C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,SAAS;IACzC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,WAAW,CAAU;CACtC;AAED,iGAAiG;AACjG,qBAAa,YAAa,SAAQ,WAAW;IAC3C,MAAM,CAAC,QAAQ,CAAC,YAAY,mBAAmB;IAC/C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,aAAa;IAC7C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,QAAQ;IACzC,QAAQ,CAAC,IAAI,EAAG,eAAe,CAAU;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBACZ,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;CAI7D;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,oBAAoB,GACpB,iBAAiB,GACjB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB,MAAM,MAAM,2BAA2B,GACnC,aAAa,GACb,aAAa,GACb,WAAW,GACX,WAAW,CAAC;AAEhB;;;;;;;;;GASG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,QAAQ,CAAC,IAAI,EAAG,uBAAuB,CAAU;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,mBAAmB,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;IACpD,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;gBAEZ,IAAI,EAAE;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,mBAAmB,CAAC;QAC3B,gBAAgB,EAAE,MAAM,CAAC;QACzB,eAAe,EAAE,OAAO,CAAC;QACzB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,aAAa,EAAE,2BAA2B,CAAC;QAC3C,WAAW,EAAE,OAAO,CAAC;QACrB,yDAAyD;QACzD,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;QAC3B,KAAK,EAAE,OAAO,CAAC;QACf,OAAO,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;YAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC;KACjF;IA+DQ,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS3C;AAED,iGAAiG;AACjG,qBAAa,UAAW,SAAQ,WAAW;IACzC,MAAM,CAAC,QAAQ,CAAC,YAAY,iBAAiB;IAC7C,MAAM,CAAC,QAAQ,CAAC,gBAAgB,WAAW;IAC3C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,aAAa,CAAU;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;OAOG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,KAAK,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,EAAE,CAAA;KAAE;CAyBnG;AAED,qGAAqG;AACrG,qBAAa,yBAA0B,SAAQ,UAAU;IACvD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;gBAGzB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CAyBxC;AAED,eAAO,MAAM,8BAA8B,8IAKjC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAC;AAIvF;;;;;;;;;GASG;AACH,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,6BAA6B,GAC7B,yBAAyB,GACzB,uBAAuB,GACvB,kBAAkB,GAClB,+BAA+B,GAC/B,uBAAuB,GACvB,mBAAmB,GACnB,qBAAqB,GACrB,mBAAmB,GACnB,uBAAuB,GACvB,uBAAuB,GACvB,cAAc,GACd,qBAAqB,GACrB,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,eAAe,GACf,eAAe,GACf,gBAAgB,GAChB,eAAe,GACf,mBAAmB,GACnB,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAChD,QAAQ,CAAC,IAAI,EAAG,cAAc,CAAU;IACxC,QAAQ,CAAC,IAAI,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,CAAC,EAAE,qBAAqB,CAAC;gBAG7C,OAAO,EAAE,MAAM,EACf,IAAI,EAAE;QACJ,IAAI,EAAE,qBAAqB,CAAC;QAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,GAAG,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QACvB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,CAAC,EAAE,qBAAqB,CAAC;QACtC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;KACjB;IAiBM,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAgB3C;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAC,QAAQ,CAAC,YAAY,kCAAkC;IAC9D,MAAM,CAAC,QAAQ,CAAC,gBAAgB,gBAAgB;IAChD,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,iBAAiB,CAAU;IAC3C,6DAA6D;IAC7D,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,wFAAwF;IACxF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,qDAAqD;IACrD,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;CAgB5E;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,MAAM,GACN,mBAAmB,GACnB,cAAc,GACd,gBAAgB,GAChB,YAAY,GACZ,aAAa,GACb,eAAe,GACf,cAAc,GACd,gBAAgB,GAChB,gBAAgB,GAChB,mBAAmB,GACnB,QAAQ,GACR,kBAAkB,GAClB,iBAAiB,CAAC;AAEtB;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,cAAc,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACrC,sEAAsE;IACtE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAgCD;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAoB,SAAQ,WAAW;IAClD,MAAM,CAAC,QAAQ,CAAC,YAAY,sBAAsB;IAClD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,UAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,kBAAkB,CAAU;IAC5C,mGAAmG;IACnG,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM;IAuBlE,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS3C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,6BAA8B,SAAQ,WAAW;IAC5D,MAAM,CAAC,QAAQ,CAAC,YAAY,yBAAyB;IACrD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,UAAU;IAC1C,MAAM,CAAC,QAAQ,CAAC,iBAAiB,SAAS;IAC1C,QAAQ,CAAC,IAAI,EAAG,4BAA4B,CAAU;IACtD,oFAAoF;IACpF,QAAQ,CAAC,SAAS,EAAG,UAAU,CAAU;IACzC,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACjE,2FAA2F;IAC3F,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;gBAGrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,EACf,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,UAAU,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KAAE;IAexF,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAS3C;AA4BD,yGAAyG;AACzG,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,CAM1D;AAED,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAElE;AAED,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,eAAe,CAElE;AAED,4DAA4D;AAC5D,wBAAgB,2BAA2B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,yBAAyB,CAEtF;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG;IAAE,IAAI,EAAE,0BAA0B,CAAA;CAAE,CAE5G;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG;IAAE,IAAI,EAAE,4BAA4B,CAAA;CAAE,CAEhH;AAED,+EAA+E;AAC/E,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG;IAAE,IAAI,EAAE,4BAA4B,CAAA;CAAE,CAEhH;AAED,iFAAiF;AACjF,wBAAgB,kCAAkC,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,WAAW,GAAG;IAAE,IAAI,EAAE,qCAAqC,CAAA;CAAE,CAEjI;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED,oGAAoG;AACpG,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,kBAAkB,CAEnE;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,QAAQ,CAEpD;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,YAAY,CAE5D;AAED,mEAAmE;AACnE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AAED,2CAA2C;AAC3C,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,UAAU,CAExD;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,iBAAiB,CAEhE;AAED,oDAAoD;AACpD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAE1E;AAED,8FAA8F;AAC9F,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,mBAAmB,CAErE;AAED,4GAA4G;AAC5G,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,6BAA6B,CAEzF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAEtE;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAU1D"}
|