@substrat-run/control-plane-api 0.111.0 → 0.113.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.
@@ -1 +1 @@
1
- {"version":3,"file":"cf-observability.d.ts","sourceRoot":"","sources":["../src/cf-observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAKpB,MAAM,oBAAoB,CAAC;AA2G5B;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,CAmsB7F"}
1
+ {"version":3,"file":"cf-observability.d.ts","sourceRoot":"","sources":["../src/cf-observability.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EAKpB,MAAM,oBAAoB,CAAC;AA4H5B;;;;;;;;GAQG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;;;;;;;;;OAgBG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAgED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,sBAAsB,GAAG,mBAAmB,CAmuB7F"}
@@ -10,13 +10,20 @@
10
10
  */
11
11
  const MAX_CORRELATED_INVOCATIONS = 40;
12
12
  const MAX_LINES_PER_INVOCATION = 20;
13
+ /**
14
+ * A 501 is an honest refusal, not a failure: the route exists to say "this version does
15
+ * not declare that capability" (an undeclared owner-seat or configure hook, #1345). The
16
+ * failure record already keeps it out (`recordOpsFailure`); the log view agrees with it.
17
+ */
18
+ const CAPABILITY_ABSENT = 501;
13
19
  /** The event is a stamped invocation line whose request FAILED. */
14
20
  function isFailedInvocation(e) {
15
21
  const source = (e.raw?.['source'] ?? {});
16
22
  if (source['substrat'] !== 'invocation')
17
23
  return false;
18
24
  const status = source['status'];
19
- return source['threw'] === true || (typeof status === 'number' && status >= 500);
25
+ return (source['threw'] === true ||
26
+ (typeof status === 'number' && status >= 500 && status !== CAPABILITY_ABSENT));
20
27
  }
21
28
  /**
22
29
  * The event is a stamped invocation line belonging to the tenant (and the narrowing) that
@@ -61,7 +68,13 @@ function describeInvocation(e) {
61
68
  const path = typeof source['path'] === 'string' ? source['path'] : '?';
62
69
  const status = typeof source['status'] === 'number' ? source['status'] : null;
63
70
  const ms = typeof source['durationMs'] === 'number' ? source['durationMs'] : null;
64
- const outcome = source['threw'] === true ? 'threw' : (status ?? '—');
71
+ const outcome = source['threw'] === true
72
+ ? 'threw'
73
+ : status === CAPABILITY_ABSENT
74
+ ? // Labelled rather than hidden: the line is still the evidence that something
75
+ // asked, and it reads as the answer it is instead of a red error row.
76
+ `${status} capability absent`
77
+ : (status ?? '—');
65
78
  return {
66
79
  ...e,
67
80
  message: `${method} ${path} → ${outcome}${ms === null ? '' : ` (${ms} ms)`}`,
@@ -505,6 +518,17 @@ export function createCfObservabilityReader(opts) {
505
518
  * while burying the app's own output.
506
519
  */
507
520
  async function queryTenantLogs(input) {
521
+ // ONE timeframe, computed once and handed to every query below — the phases are not
522
+ // independent reads. Phase two expands an invocation the earlier phases found, and a
523
+ // phase that recomputed `Date.now()` for itself would search a window shifted by the
524
+ // time the previous one took: a sibling line near the edge would fall outside and the
525
+ // page would show half an invocation. The cursor makes that sharper still — a
526
+ // five-minute window has edges a whole request can straddle.
527
+ const to = input.until ? Date.parse(input.until) : Date.now();
528
+ const timeframe = {
529
+ from: input.since ? Date.parse(input.since) : to - input.hours * 3_600_000,
530
+ to,
531
+ };
508
532
  const base = [
509
533
  { key: 'tenantId', operation: 'eq', type: 'string', value: input.tenantId },
510
534
  { key: 'substrat', operation: 'eq', type: 'string', value: 'invocation' },
@@ -523,10 +547,14 @@ export function createCfObservabilityReader(opts) {
523
547
  // recent invocations and answer "none" if the error was the 41st: an empty page that
524
548
  // reads as "nothing is wrong" and means "I did not look".
525
549
  //
526
- // So an error read selects the invocations to expand itself. It takes three queries,
550
+ // So an error read selects the invocations to expand itself. It takes four queries,
527
551
  // because "an error" arrives in three shapes and no single filter spans them:
528
552
  //
529
- // 1. a FAILED response — the stamped line carries `status >= 500`;
553
+ // 1. a FAILED response — the stamped line carries `status >= 500`, less 501, which
554
+ // is a declared-absent capability rather than a failure (`isFailedInvocation`).
555
+ // It is asked for as `= 500` plus `>= 502` rather than filtered afterwards, so a
556
+ // page-render trickle of 501s cannot fill phase one and spend phase two's budget
557
+ // on invocations the level filter below would only throw away;
530
558
  // 2. an ESCAPE — the error got past `onError` itself, so the line carries
531
559
  // `threw: true` and `status: null`, which no comparison on `status` can match.
532
560
  // These are the rarest lines and the most interesting ones on the page;
@@ -547,12 +575,16 @@ export function createCfObservabilityReader(opts) {
547
575
  const [stamped, errorLines] = isErrorRead
548
576
  ? await Promise.all([
549
577
  Promise.all([
550
- queryRaw([...base, { key: 'status', operation: 'gte', type: 'number', value: 500 }], input.hours, phaseOneLimit),
551
- queryRaw([...base, { key: 'threw', operation: 'eq', type: 'boolean', value: true }], input.hours, phaseOneLimit),
552
- ]).then((pages) => pages.flat()),
553
- queryRaw([{ key: '$metadata.level', operation: 'eq', type: 'string', value: 'error' }], input.hours, phaseOneLimit),
578
+ queryRaw([...base, { key: 'status', operation: 'eq', type: 'number', value: 500 }], timeframe, phaseOneLimit),
579
+ queryRaw([...base, { key: 'status', operation: 'gte', type: 'number', value: CAPABILITY_ABSENT + 1 }], timeframe, phaseOneLimit),
580
+ queryRaw([...base, { key: 'threw', operation: 'eq', type: 'boolean', value: true }], timeframe, phaseOneLimit),
581
+ // Newest first across the pages, not page order: the correlation cap is spent
582
+ // in this order, and a busy `= 500` page must not crowd out a newer 502 or
583
+ // escape just because its query was listed first.
584
+ ]).then((pages) => pages.flat().sort((a, b) => rawTime(b) - rawTime(a))),
585
+ queryRaw([{ key: '$metadata.level', operation: 'eq', type: 'string', value: 'error' }], timeframe, phaseOneLimit),
554
586
  ])
555
- : [await queryRaw(base, input.hours, phaseOneLimit), []];
587
+ : [await queryRaw(base, timeframe, phaseOneLimit), []];
556
588
  const trusted = invocationIds(stamped);
557
589
  const trustedIds = new Set(trusted);
558
590
  const candidates = invocationIds(errorLines).filter((id) => !trustedIds.has(id));
@@ -565,7 +597,7 @@ export function createCfObservabilityReader(opts) {
565
597
  // crowded out of the page by a noisy neighbour's error lines.
566
598
  const requestIds = [...trusted, ...candidates].slice(0, MAX_CORRELATED_INVOCATIONS);
567
599
  const sibling = await Promise.all(requestIds.map(async (id) => {
568
- const events = await queryRaw([{ key: '$metadata.requestId', operation: 'eq', type: 'string', value: id }], input.hours, MAX_LINES_PER_INVOCATION);
600
+ const events = await queryRaw([{ key: '$metadata.requestId', operation: 'eq', type: 'string', value: id }], timeframe, MAX_LINES_PER_INVOCATION);
569
601
  // An account-wide candidate earns its place only by producing this tenant's
570
602
  // stamped line. No stamped line, or somebody else's, and the whole invocation is
571
603
  // dropped — a line shown to the wrong tenant is exactly the leak the tenant grain
@@ -609,6 +641,10 @@ export function createCfObservabilityReader(opts) {
609
641
  ...new Set(events.map((e) => idOf(e)).filter((id) => typeof id === 'string' && id !== '')),
610
642
  ];
611
643
  }
644
+ /** A raw event's `timestamp`, or 0 when it carries none (sorted last). */
645
+ function rawTime(e) {
646
+ return typeof e['timestamp'] === 'number' ? e['timestamp'] : 0;
647
+ }
612
648
  /** `$metadata.requestId`, the key every line of one invocation shares. */
613
649
  function idOf(e) {
614
650
  const metadata = (e['$metadata'] ?? {});
@@ -619,14 +655,17 @@ export function createCfObservabilityReader(opts) {
619
655
  /** A telemetry `events` query returning the raw events, filters passed through. */
620
656
  async function queryRaw(
621
657
  // `value` is `string | number | boolean`: every filter was an equality on an id until
622
- // the error read needed `status >= 500` (the one numeric comparison in this file) and
658
+ // the error read needed `status = 500` / `status >= 502` (the numeric comparisons) and
623
659
  // `threw = true` (the one boolean).
624
- filters, hours, limit) {
625
- const to = Date.now();
660
+ filters,
661
+ // The window, already decided by the caller — every phase of one tenant-log read
662
+ // searches the same one, so this takes the instants rather than a duration it would
663
+ // have to re-anchor to a `Date.now()` of its own.
664
+ timeframe, limit) {
626
665
  const res = await authed(`https://api.cloudflare.com/client/v4/accounts/${opts.accountId}/workers/observability/telemetry/query`, {
627
666
  queryId: 'substrat-tenant-logs',
628
667
  view: 'events',
629
- timeframe: { from: to - hours * 3_600_000, to },
668
+ timeframe,
630
669
  parameters: { datasets: ['cloudflare-workers'], filters, limit },
631
670
  limit,
632
671
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cf-observability.js","sourceRoot":"","sources":["../src/cf-observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cf-observability.js","sourceRoot":"","sources":["../src/cf-observability.ts"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,wBAAwB,GAAG,EAAE,CAAC;AAEpC;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,mEAAmE;AACnE,SAAS,kBAAkB,CAAC,CAAiB;IAC3C,MAAM,MAAM,GAAG,CAAE,CAAC,CAAC,GAA+B,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;IACjG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAChC,OAAO,CACL,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;QACxB,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,MAAM,KAAK,iBAAiB,CAAC,CAC9E,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CACrB,CAA0B,EAC1B,KAAgE;IAEhE,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;IAC9D,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,YAAY;QAAE,OAAO,KAAK,CAAC;IACtD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,KAAK,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,KAAK,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC1E,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAS,kBAAkB,CAAC,CAAiB;IAC3C,MAAM,MAAM,GAAG,CAAE,CAAC,CAAC,GAA+B,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;IACjG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,YAAY;QAAE,OAAO,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAC7E,MAAM,IAAI,GAAG,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IACvE,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,MAAM,EAAE,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,MAAM,OAAO,GACX,MAAM,CAAC,OAAO,CAAC,KAAK,IAAI;QACtB,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,MAAM,KAAK,iBAAiB;YAC5B,CAAC,CAAC,6EAA6E;gBAC7E,sEAAsE;gBACtE,GAAG,MAAM,oBAAoB;YAC/B,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC;IACxB,OAAO;QACL,GAAG,CAAC;QACJ,OAAO,EAAE,GAAG,MAAM,IAAI,IAAI,MAAM,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE;QAC5E,iFAAiF;QACjF,wEAAwE;QACxE,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;KAC7D,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,CAA0B;IAC9C,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAA4B,CAAC;IACnE,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAA4B,CAAC;IACjE,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9B,KAAK,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAChC,sFAAsF;QACtF,+EAA+E;QAC/E,OAAO,EACL,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YACxB,GAAG,CAAE,OAAO,CAAC,OAAO,CAAyC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC/E,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACrC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAClE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QACpC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtC,GAAG,EAAE,CAAC;KACP,CAAC;AACJ,CAAC;AAwCD,MAAM,WAAW,GAAG,8CAA8C,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,aAAa,GAAG;;;;;;;;;;;;;;;CAerB,CAAC;AAEF;;;;;;GAMG;AACH;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B,SAAS,WAAW,CAAC,SAAoD;IACvE,OAAO;;;;;mBAKU,gBAAgB;;sBAEb,SAAS;;;0DAG2B,SAAS;;;;;CAKlE,CAAC;AACF,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA4B;IACtE,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,IAAa,EAAE,EAAE,CAC5C,KAAK,CAAC,GAAG,EAAE;QACT,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE;YACxC,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEL,OAAO;QACL,KAAK,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE;YAC5B,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;YACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE;gBACpC,KAAK,EAAE,aAAa;gBACpB,SAAS,EAAE;oBACT,UAAU,EAAE,IAAI,CAAC,SAAS;oBAC1B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;oBAC/B,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE;iBAC9B;aACF,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAa7B,CAAC;YACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;gBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtF,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;YACnE,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,0BAA0B,IAAI,EAAE,CAAC;YAClF,OAAO,MAAM;iBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACX,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,IAAI,WAAW;gBAChD,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,qBAAqB,IAAI,IAAI;gBACtD,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC;gBAC9B,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;gBAC1B,WAAW,EAAE,CAAC,CAAC,GAAG,EAAE,WAAW,IAAI,CAAC;gBACpC,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC;gBACxC,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,UAAU,IAAI,CAAC;aACzC,CAAC,CAAC;iBACF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7C,CAAC;QAED,KAAK,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE;YAC5C,0EAA0E;YAC1E,6DAA6D;YAC7D,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,SAAS,GAAG,aAAa,KAAK,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,cAAc,CAAC;YACnF,MAAM,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC;YAExD,6EAA6E;YAC7E,+EAA+E;YAC/E,4EAA4E;YAC5E,6EAA6E;YAC7E,8EAA8E;YAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YACpE,oFAAoF;YACpF,8EAA8E;YAC9E,kFAAkF;YAClF,8EAA8E;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;YACnF,MAAM,MAAM,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,OAAO,GAA2B,EAAE,CAAC;YAC3C,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;gBACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,QAAQ;oBAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;YAEnG,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC5B,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,WAAW,EAAE;oBACpC,KAAK,EAAE,WAAW,CAAC,SAAS,CAAC;oBAC7B,SAAS,EAAE;wBACT,UAAU,EAAE,IAAI,CAAC,SAAS;wBAC1B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE;wBAC/B,WAAW,EAAE,EAAE,CAAC,WAAW,EAAE;wBAC7B,OAAO;qBACR;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAY7B,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;oBACnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;oBACtF,MAAM,IAAI,KAAK,CAAC,6CAA6C,OAAO,EAAE,CAAC,CAAC;gBAC1E,CAAC;gBACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,0BAA0B,IAAI,EAAE,CAAC;gBAChF,6EAA6E;gBAC7E,2EAA2E;gBAC3E,oEAAoE;gBACpE,IAAI,IAAI,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;oBACpC,MAAM,IAAI,KAAK,CACb,kDAAkD,gBAAgB,2DAA2D,CAC9H,CAAC;gBACJ,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CACH,CAAC;YAEF,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,SAAS,CAAC,CAAC;gBACxC,yEAAyE;gBACzE,yCAAyC;gBACzC,IAAI,KAAK,KAAK,SAAS;oBAAE,OAAO,EAAE,CAAC;gBACnC,OAAO;oBACL;wBACE,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,UAAU,IAAI,WAAW;wBAChD,SAAS,EAAE,CAAC,CAAC,UAAU,EAAE,qBAAqB,IAAI,IAAI;wBACtD,uEAAuE;wBACvE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG;wBAChD,aAAa;wBACb,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,QAAQ,IAAI,CAAC;wBAC9B,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC;qBAC3B;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC;QAED,KAAK,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;YACxD,8EAA8E;YAC9E,6EAA6E;YAC7E,4EAA4E;YAC5E,wDAAwD;YACxD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;gBAClG,OAAO,KAAK;qBACT,IAAI,EAAE;qBACN,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;qBACvD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YACrB,CAAC;YACD,OAAO,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,oFAAoF;QACpF,mFAAmF;QACnF,8EAA8E;QAC9E,6CAA6C;QAC7C,GAAG,CAAC,IAAI,CAAC,aAAa;YACpB,CAAC,CAAC;gBACE,aAAa,EAAE,CAAC,KAAuE,EAAE,EAAE,CACzF,kBAAkB,CAAC,IAAI,CAAC,aAAc,EAAE,KAAK,CAAC;gBAChD,mBAAmB,EAAE,CAAC,KAA6E,EAAE,EAAE,CACrG,wBAAwB,CAAC,IAAI,CAAC,aAAc,EAAE,KAAK,CAAC;aACvD;YACH,CAAC,CAAC,EAAE,CAAC;QAEP,KAAK,CAAC,UAAU,CAAC,KAAK;YACpB,OAAO,eAAe,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE;YAC7C,gFAAgF;YAChF,iFAAiF;YACjF,sBAAsB;YACtB,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAElF,gFAAgF;YAChF,6EAA6E;YAC7E,iFAAiF;YACjF,+CAA+C;YAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAA6B,CAAC;YACnD,IAAI,SAAS,GAAG,KAAK,CAAC;YACtB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,IAAI,CAAC,SAAS;oBAAE,SAAS,GAAG,IAAI,CAAC;gBACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,CAAC,IAAI,CAAC,IAAI;wBAAE,SAAS;oBACzB,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,SAAS,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpE,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBAChC,IAAI,QAAQ,EAAE,CAAC;wBACb,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC;wBACpB,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC;4BAAE,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;wBACzF,QAAQ,CAAC,SAAS,KAAK,IAAI,CAAC,GAAG,CAAC;oBAClC,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;4BACb,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,IAAI,EAAE,IAAI,CAAC,IAAI;4BACf,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,KAAK,EAAE,CAAC;4BACR,QAAQ,EAAE,IAAI,CAAC,SAAS;4BACxB,SAAS,EAAE,IAAI,CAAC,GAAG;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3F,SAAS;gBACT,iFAAiF;gBACjF,6EAA6E;gBAC7E,uDAAuD;gBACvD,YAAY,EAAE,IAAI;gBAClB,KAAK;aACN,CAAC;QACJ,CAAC;KACF,CAAC;IAEF;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,UAAU,kBAAkB,CAC/B,OAAe,EACf,KAKC;QAED,MAAM,KAAK,GAAG;YACZ,YAAY,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACvC,iCAAiC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,QAAQ;SAC9E,CAAC;QACF,IAAI,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,KAAK,CAAC,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,WAAW,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEvE,sFAAsF;QACtF,qFAAqF;QACrF,gFAAgF;QAChF,4EAA4E;QAC5E,MAAM,GAAG,GAAG;;;;;;;;;aASH,SAAS,CAAC,OAAO,CAAC;cACjB,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;;;;kBAIf,CAAC;QAEf,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;YACnC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5B,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC1B,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YAC9B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC1B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;YACpC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;SACrC,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,UAAU,wBAAwB,CACrC,OAAe,EACf,KAA8D;QAE9D,oFAAoF;QACpF,oFAAoF;QACpF,uCAAuC;QACvC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACnD,MAAM,aAAa,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClE,MAAM,GAAG,GAAG;;;iDAGiC,aAAa;;;;;aAKjD,SAAS,CAAC,OAAO,CAAC;uBACR,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC;4CACJ,KAAK;wBACzB,MAAM;;;cAGhB,gBAAgB;kBACZ,CAAC;QAEf,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,MAAM,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CACb,yDAAyD,gBAAgB,2DAA2D,CACrI,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACxB,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;YACpC,+EAA+E;YAC/E,mCAAmC;YACnC,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC9B,OAAO;gBACL;oBACE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;oBACnC,KAAK;oBACL,aAAa;oBACb,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;oBAC9B,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;oBAC1B,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;oBACpC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;iBACrC;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,gFAAgF;IAChF,KAAK,UAAU,kBAAkB,CAAC,GAAW;QAC3C,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,iDAAiD,IAAI,CAAC,SAAS,uBAAuB,EACtF,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CACrF,CAAC;QACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,kDAAkD,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAA8C,CAAC;QAC3E,OAAO,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IACzB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,KAAK,UAAU,eAAe,CAAC,KAU9B;QACC,oFAAoF;QACpF,qFAAqF;QACrF,qFAAqF;QACrF,sFAAsF;QACtF,8EAA8E;QAC9E,6DAA6D;QAC7D,MAAM,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG;YAChB,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,GAAG,SAAS;YAC1E,EAAE;SACH,CAAC;QACF,MAAM,IAAI,GAAG;YACX,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE;YAC3E,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE;SAC1E,CAAC;QACF,IAAI,KAAK,CAAC,OAAO;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACxG,IAAI,KAAK,CAAC,QAAQ;YAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE3G,gFAAgF;QAChF,uBAAuB;QACvB,EAAE;QACF,gFAAgF;QAChF,oFAAoF;QACpF,sFAAsF;QACtF,sFAAsF;QACtF,qFAAqF;QACrF,0DAA0D;QAC1D,EAAE;QACF,oFAAoF;QACpF,8EAA8E;QAC9E,EAAE;QACF,qFAAqF;QACrF,qFAAqF;QACrF,sFAAsF;QACtF,sFAAsF;QACtF,oEAAoE;QACpE,4EAA4E;QAC5E,oFAAoF;QACpF,6EAA6E;QAC7E,qFAAqF;QACrF,iFAAiF;QACjF,gDAAgD;QAChD,EAAE;QACF,kFAAkF;QAClF,6EAA6E;QAC7E,mFAAmF;QACnF,gFAAgF;QAChF,qFAAqF;QACrF,2EAA2E;QAC3E,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC;QAC3D,iFAAiF;QACjF,sDAAsD;QACtD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,WAAW;YACvC,CAAC,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,OAAO,CAAC,GAAG,CAAC;oBACV,QAAQ,CACN,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EACzE,SAAS,EACT,aAAa,CACd;oBACD,QAAQ,CACN,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,iBAAiB,GAAG,CAAC,EAAE,CAAC,EAC5F,SAAS,EACT,aAAa,CACd;oBACD,QAAQ,CACN,CAAC,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAC1E,SAAS,EACT,aAAa,CACd;oBACD,8EAA8E;oBAC9E,2EAA2E;oBAC3E,kDAAkD;iBACnD,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,QAAQ,CACN,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAC7E,SAAS,EACT,aAAa,CACd;aACF,CAAC;YACJ,CAAC,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QAEzD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QACpC,MAAM,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAE/D,kFAAkF;QAClF,0EAA0E;QAC1E,sFAAsF;QACtF,qFAAqF;QACrF,8DAA8D;QAC9D,MAAM,UAAU,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;QACpF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC1B,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,EAC5E,SAAS,EACT,wBAAwB,CACzB,CAAC;YACF,4EAA4E;YAC5E,iFAAiF;YACjF,kFAAkF;YAClF,4EAA4E;YAC5E,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC;YACpF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CACH,CAAC;QAEF,iFAAiF;QACjF,sFAAsF;QACtF,mFAAmF;QACnF,2CAA2C;QAC3C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAmC,CAAC;QACxD,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS;gBAAE,SAAS;YAC7C,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAA4B,CAAC;YACnE,MAAM,EAAE,GAAG,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACnF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC;QACzC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAC5B,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;aACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;aAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAClC,sFAAsF;YACtF,mFAAmF;YACnF,mFAAmF;YACnF,gFAAgF;YAChF,qFAAqF;YACrF,2DAA2D;aAC1D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;aACvD,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,2EAA2E;IAC3E,SAAS,aAAa,CAAC,MAAsC;QAC3D,OAAO;YACL,GAAG,IAAI,GAAG,CACR,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,EAAE,KAAK,EAAE,CAAC,CAC7F;SACF,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,SAAS,OAAO,CAAC,CAA0B;QACzC,OAAO,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,0EAA0E;IAC1E,SAAS,IAAI,CAAC,CAA0B;QACtC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAA4B,CAAC;QACnE,MAAM,OAAO,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAA4B,CAAC;QACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;QAC3D,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,mFAAmF;IACnF,KAAK,UAAU,QAAQ;IACrB,sFAAsF;IACtF,uFAAuF;IACvF,oCAAoC;IACpC,OAAkG;IAClG,iFAAiF;IACjF,oFAAoF;IACpF,kDAAkD;IAClD,SAAuC,EACvC,KAAa;QAEb,MAAM,GAAG,GAAG,MAAM,MAAM,CACtB,iDAAiD,IAAI,CAAC,SAAS,wCAAwC,EACvG;YACE,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;YAChE,KAAK;SACN,CACF,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAClC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAAmC,CAAC;IAClG,CAAC;IAED,uFAAuF;IACvF,KAAK,UAAU,WAAW,CACxB,OAA2B,EAC3B,KAAyB,EACzB,MAA0B,EAC1B,KAAa,EACb,KAAa;QAEb,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,OAAO,GAA2E,EAAE,CAAC;QAC3F,4EAA4E;QAC5E,6CAA6C;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9F,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACnG,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,MAAM,CACtB,iDAAiD,IAAI,CAAC,SAAS,wCAAwC,EACvG;YACE,OAAO,EAAE,sBAAsB;YAC/B,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,EAAE,EAAE;YAC/C,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE;YAChE,KAAK;SACN,CACF,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,sCAAsC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QACD,8EAA8E;QAC9E,6EAA6E;QAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAEnE,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,KAAK,UAAU,UAAU,CAAC,OAAe,EAAE,KAAa,EAAE,KAAa;QACrE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,MAAM,MAAM,CACtB,iDAAiD,IAAI,CAAC,SAAS,wCAAwC,EACvG;YACE,OAAO,EAAE,0BAA0B;YACnC,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,EAAE,IAAI,EAAE,EAAE,GAAG,KAAK,GAAG,SAAS,EAAE,EAAE,EAAE;YAC/C,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,EAAE,GAAG,EAAE,mBAAmB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;oBAC7E,EAAE,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE;iBAC/E;gBACD,KAAK;aACN;YACD,KAAK;SACN,CACF,CAAC;QACF,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAI7B,CAAC;QACF,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;QAClC,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,EAAE,CAAC,CAEnE,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YAC9D,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,EAAE,CAA4B,CAAC;YACnE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,CAA4B,CAAC;YACnE,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAA4B,CAAC;YACnE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAA4B,CAAC;YAC7D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAG,CAAC,MAAM,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAC9E,gFAAgF;YAChF,2EAA2E;YAC3E,0CAA0C;YAC1C,MAAM,OAAO,GAAG,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,MAAM,CAAC,SAAS,CAAY,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7F,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC;YAC9D,OAAO;gBACL,OAAO,EAAE,CAAC,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,OAAO;gBAC1F,IAAI;gBACJ,4EAA4E;gBAC5E,gFAAgF;gBAChF,4CAA4C;gBAC5C,MAAM,EAAE,EAAE,CAAC,gBAAgB,CAAC;oBAC1B,CAAC,CAAE,gBAA0B;oBAC7B,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC;wBACjB,CAAC,CAAE,QAAkB;wBACrB,CAAC,CAAE,SAAmB;gBAC1B,GAAG,EAAE,IAAI;gBACT,SAAS,EAAE,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,CAAC,WAAW,CAAY,CAAC,CAAC,CAAC,IAAI;aAClF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,+EAA+E;QAC/E,oFAAoF;QACpF,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,SAAS,CAAC,OAAe;IAChC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,MAAM,IAAI,KAAK,CAAC,6EAA6E,CAAC,CAAC;IACjG,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,SAAS,SAAS,CAAC,CAAS;IAC1B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAI,CAAC,GAAG,CAAC;AAClB,CAAC;AAED,oFAAoF;AACpF,SAAS,KAAK,CAAC,CAAU;IACvB,OAAO,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,CAAU;IAC3B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACnD,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,OAAO,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC;AAC5D,CAAC;AAED,0FAA0F;AAC1F,SAAS,MAAM,CAAC,IAAmB;IACjC,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IAChC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/dist/index.d.ts CHANGED
@@ -30,7 +30,8 @@ export type { DoNamespaceReader, DoNamespaceRecord, CfDoNamespaceOptions } from
30
30
  export { createCfObservabilityReader } from './cf-observability.js';
31
31
  export type { CfObservabilityOptions } from './cf-observability.js';
32
32
  export type { ScopeBackup, ScopeBackupStore, DirectoryBackup, DirectoryBackupStore, } from './backups.js';
33
- export { createR2AccessLogSink, createR2BackupStore, createR2DirectoryBackupStore, pruneAccessLogBatches, pruneScopeBackups, } from './r2-backups.js';
33
+ export { createR2AccessLogSink, createR2BackupStore, createR2DirectoryBackupStore, createR2EventSink, pruneAccessLogBatches, pruneScopeBackups, } from './r2-backups.js';
34
+ export { createPipelinesEventSink } from './pipelines-sink.js';
34
35
  export { backupDirectoryIfDue } from './directory-backup.js';
35
36
  export type { DirectoryBackupOptions, DirectoryBackupResult } from './directory-backup.js';
36
37
  export { maskDump, maskRecords, MASKED } from './mask.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -16,7 +16,14 @@ export { createCustomHostnameProvisioner, mapCfStatus, extractRecords, reconcile
16
16
  export { TENANT_SERIES_SCOPE_CAP } from './observability.js';
17
17
  export { createCfDoNamespaceReader, namespacesForScript } from './do-namespaces.js';
18
18
  export { createCfObservabilityReader } from './cf-observability.js';
19
- export { createR2AccessLogSink, createR2BackupStore, createR2DirectoryBackupStore, pruneAccessLogBatches, pruneScopeBackups, } from './r2-backups.js';
19
+ export { createR2AccessLogSink, createR2BackupStore, createR2DirectoryBackupStore,
20
+ // The `EventSink` seam's NDJSON shape (#1334). Written and tested since the seam
21
+ // landed and NOT exported until now, which is why nothing could bind it: the drain
22
+ // phase has been complete on both adapters and unreachable from any deployment.
23
+ createR2EventSink, pruneAccessLogBatches, pruneScopeBackups, } from './r2-backups.js';
24
+ // The same seam's Pipelines shape — kernel-design §5.3's Cloudflare row for event
25
+ // transport. Which one a deployment binds is its choice; the drain never learns.
26
+ export { createPipelinesEventSink } from './pipelines-sink.js';
20
27
  // #40 — the scheduled directory copy. Exported as a function the CP worker's cron calls,
21
28
  // not as a route with a timer behind it: this package stays library-only, exactly as the
22
29
  // platform-request drain does (the recurrence has to come from a deployment, #444).
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEpG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,yBAAyB,GAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUrG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GAYzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOjF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAQhG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAa/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAQpE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B,EAC5B,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,yFAAyF;AACzF,yFAAyF;AACzF,oFAAoF;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,uFAAuF;AACvF,yFAAyF;AACzF,uFAAuF;AACvF,yFAAyF;AACzF,8EAA8E;AAC9E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAEpG,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,2BAA2B,EAC3B,mBAAmB,EACnB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACpF,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EACL,yBAAyB,GAG1B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAUrG,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EACL,0BAA0B,EAC1B,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GAYzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAOjF,OAAO,EACL,qBAAqB,EACrB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAUrB,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAQhG,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,+BAA+B,EAC/B,WAAW,EACX,cAAc,EACd,yBAAyB,EACzB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAa/B,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEpF,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAQpE,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,4BAA4B;AAC5B,iFAAiF;AACjF,mFAAmF;AACnF,gFAAgF;AAChF,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,kFAAkF;AAClF,iFAAiF;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,yFAAyF;AACzF,yFAAyF;AACzF,oFAAoF;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAE7D,uFAAuF;AACvF,yFAAyF;AACzF,uFAAuF;AACvF,yFAAyF;AACzF,8EAA8E;AAC9E,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
@@ -235,6 +235,15 @@ export interface ObservabilityReader {
235
235
  * only the stamped lines rather than guessing — under-reporting is survivable here and
236
236
  * misattribution is not, since a line shown to the wrong tenant is precisely the leak
237
237
  * the grain decision exists to prevent.
238
+ *
239
+ * `since`/`until` are ISO instants and they travel together, because a window is two
240
+ * instants and `hours` alone can only name one of them: it always ends at now, so it
241
+ * can say "the last three hours" and never "the three minutes around the failure the
242
+ * chart just drew". That instant is in the past, which is the one window `hours` cannot
243
+ * express — hence the pair. `until` defaults to now and `since` to `until − hours`, so
244
+ * a caller that passes neither gets exactly the trailing window it always did; both
245
+ * given, `hours` is ignored rather than intersected, since two spellings of the same
246
+ * bound cannot both be honoured and the explicit one is the one the caller meant.
238
247
  */
239
248
  tenantLogs?(input: {
240
249
  tenantId: string;
@@ -243,6 +252,8 @@ export interface ObservabilityReader {
243
252
  level?: string;
244
253
  search?: string;
245
254
  hours: number;
255
+ since?: string;
256
+ until?: string;
246
257
  limit: number;
247
258
  }): Promise<RecentLogEvent[]>;
248
259
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observability.d.ts","sourceRoot":"","sources":["../src/observability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { EventSink } from '@substrat-run/kernel';
2
+ /**
3
+ * The Pipelines implementation of the `EventSink` seam (#1334) — Tier 2 proper, the row
4
+ * kernel-design §5.3 names for the Cloudflare adapter: "Event transport | Pipelines →
5
+ * Iceberg/R2". `createR2EventSink` is the same seam's NDJSON staging shape, and the pure
6
+ * adapter's counterpart; the drain never learns which it is bound to.
7
+ *
8
+ * **Ordering, and what a partial ship means.** A batch over the request budget is packed
9
+ * into several requests and sent one after another. If the third fails, `ship` throws,
10
+ * the sweep stamps NOTHING, and the whole batch is offered again next tick — so the
11
+ * first two chunks land twice. That is the trade the seam's contract already names: at
12
+ * least once, never fewer, because the lake is keyed by event id and a duplicate is
13
+ * reconcilable where a hole is not. Sending sequentially rather than in parallel keeps
14
+ * the duplicated prefix small and bounded instead of arbitrary.
15
+ *
16
+ * **What a resolved `send` claims.** Cloudflare documents the promise as resolving "when
17
+ * records are confirmed as ingested" into the durable stream. That is what licenses the
18
+ * `drainedAt` stamp, and it is the one assumption this sink rests on: if a future runtime
19
+ * resolves early, "the lake has everything" silently stops being checkable. It is stated
20
+ * here so that a change to it is a change to something written down.
21
+ */
22
+ export declare function createPipelinesEventSink(stream: unknown): EventSink;
23
+ //# sourceMappingURL=pipelines-sink.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines-sink.d.ts","sourceRoot":"","sources":["../src/pipelines-sink.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAsItD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CA+CnE"}
@@ -0,0 +1,183 @@
1
+ /**
2
+ * Cloudflare's documented ceiling is 5 MB per ingestion request. This is the budget the
3
+ * sink packs to, left deliberately under it: `JSON.stringify` here and the encoder on
4
+ * Cloudflare's side need not agree byte for byte, and a batch rejected for being one
5
+ * kilobyte over is a scope that never drains again — its next pass builds the same
6
+ * oversized batch, forever.
7
+ */
8
+ const MAX_REQUEST_BYTES = 4 * 1024 * 1024;
9
+ /**
10
+ * The serialized size of one row in BYTES.
11
+ *
12
+ * `JSON.stringify(x).length` is not this, and the difference is not academic: `.length`
13
+ * counts UTF-16 code units, so ordinary Swedish text measures ~13% under its real UTF-8
14
+ * size and CJK or emoji can measure at a third of it. Cloudflare's ceiling is bytes.
15
+ * Measuring a byte budget with a code-unit ruler means a batch can pass the check here
16
+ * and be rejected there — and a rejected batch is a scope that never drains, because the
17
+ * next pass rebuilds exactly the same one.
18
+ *
19
+ * `TextEncoder` is the web-standard UTF-8 encoder, available identically in Workers and
20
+ * Node — the same reason the repo reaches for `globalThis.crypto` over a node import.
21
+ */
22
+ const UTF8 = new TextEncoder();
23
+ const byteLength = (row) => UTF8.encode(JSON.stringify(row)).length;
24
+ /**
25
+ * An event the platform cannot ship at all, because one event exceeds a whole request.
26
+ * Left as a throw rather than a skip: skipping it would drain the scope past a row the
27
+ * lake never received, and `drainedAt` would then claim exact history that has a hole in
28
+ * it. Failing keeps the row undrained and visible in the sweep's errors.
29
+ */
30
+ function tooLarge(event, bytes) {
31
+ return new Error(`event sink: event ${event.id} (${event.type}) serializes to ${bytes} bytes, over the ` +
32
+ `${MAX_REQUEST_BYTES}-byte request budget — it cannot be shipped and the scope will not drain past it`);
33
+ }
34
+ /**
35
+ * One drained event as the stream's declared schema wants it.
36
+ *
37
+ * Three shape changes, each forced by the schema rather than chosen:
38
+ *
39
+ * - **`entity` flattens** to `entity_type` / `entity_id`. The envelope holds one ref; the
40
+ * outbox has always held two columns, and the generated schema follows the outbox.
41
+ * - **`occurredAt` becomes epoch milliseconds.** The spine stores ISO 8601 text — the
42
+ * repo's rule, and the one that keeps a row and the event announcing it agreeing about
43
+ * when — while the stream column is a millisecond `timestamp`. The conversion belongs
44
+ * here, at the seam, and nowhere upstream of it.
45
+ * - **`undefined` becomes `null`.** The envelope spells "absent" by omission for the
46
+ * optional fields; the stream's columns are nullable and JSON drops an undefined value
47
+ * entirely. Omitting a declared column and stating it is null are different rows.
48
+ */
49
+ function toRow(e) {
50
+ return {
51
+ id: e.id,
52
+ type: e.type,
53
+ schema_version: e.schemaVersion,
54
+ occurred_at: Date.parse(e.occurredAt),
55
+ tenant_id: e.tenantId,
56
+ scope_id: e.scopeId,
57
+ actor: e.actor,
58
+ entity_type: e.entity.entityType,
59
+ entity_id: e.entity.entityId,
60
+ pii_class: e.piiClass,
61
+ subject_id: e.subjectId ?? null,
62
+ payload: e.payload ?? null,
63
+ authorization: e.authorization ?? null,
64
+ impersonation: e.impersonation ?? null,
65
+ operation: e.operation,
66
+ version: e.version,
67
+ // #1237 — the column the drain dropped until it was made part of `DrainedEvent`.
68
+ // A null here is the ordinary case (an operation emitted this directly); a null
69
+ // because nothing supplied it would read as the same thing, which is why the shape
70
+ // makes it required.
71
+ caused_by: e.causedBy,
72
+ // #1237, and the third time this exact omission has been caught: the stream schema
73
+ // derives its columns from the outbox, so declaring one here is not what fills it —
74
+ // this mapper is. A column declared and never written is null on every row in the
75
+ // lake, which reads as "no call was ever recorded" rather than as a gap.
76
+ invocation_id: e.invocationId,
77
+ };
78
+ }
79
+ /**
80
+ * The row, plus its own serialized size.
81
+ *
82
+ * Every tenant's events share one parquet file — a Data Catalog sink cannot partition —
83
+ * so R2 reports no per-tenant storage and summing this column per tenant is the only
84
+ * honest per-tenant measure the lake can offer. It is the row AS SHIPPED, not as stored;
85
+ * see SINK_COMPUTED in tools/lake-schema-emit.mjs for why that is the better billing
86
+ * basis rather than a concession.
87
+ *
88
+ * **Deduplicate before summing.** A bare `SUM(bytes) GROUP BY tenant_id` is wrong here,
89
+ * and this file's own delivery contract is why: `ship` is at-least-once, so a batch whose
90
+ * later chunk failed re-sends the prefix that already landed, and those rows are real rows
91
+ * in the table. Summing them bills a tenant for the platform's retry. The lake is keyed by
92
+ * event id, which is what makes the duplicate reconcilable — so collapse on `(tenant_id,
93
+ * id)` first and sum one row per event:
94
+ *
95
+ * ```sql
96
+ * SELECT tenant_id, SUM(bytes) FROM (
97
+ * SELECT DISTINCT tenant_id, id, bytes FROM kernel.events
98
+ * ) GROUP BY tenant_id
99
+ * ```
100
+ *
101
+ * `bytes` is deterministic for a given event — the same row serializes to the same
102
+ * length — so `DISTINCT` over the triple collapses duplicates rather than multiplying
103
+ * them, which would not hold for a column the shipper recomputed per attempt.
104
+ *
105
+ * Measured on the row WITHOUT this field, then the field added — the alternative is a
106
+ * fixpoint, since writing the number changes the length that produced it. So `bytes` is
107
+ * the size of the event's own data and excludes itself, which is both computable and the
108
+ * quantity anyone would actually want to be charged for.
109
+ */
110
+ function toSizedRow(e) {
111
+ const row = toRow(e);
112
+ return { ...row, bytes: byteLength(row) };
113
+ }
114
+ /**
115
+ * The Pipelines implementation of the `EventSink` seam (#1334) — Tier 2 proper, the row
116
+ * kernel-design §5.3 names for the Cloudflare adapter: "Event transport | Pipelines →
117
+ * Iceberg/R2". `createR2EventSink` is the same seam's NDJSON staging shape, and the pure
118
+ * adapter's counterpart; the drain never learns which it is bound to.
119
+ *
120
+ * **Ordering, and what a partial ship means.** A batch over the request budget is packed
121
+ * into several requests and sent one after another. If the third fails, `ship` throws,
122
+ * the sweep stamps NOTHING, and the whole batch is offered again next tick — so the
123
+ * first two chunks land twice. That is the trade the seam's contract already names: at
124
+ * least once, never fewer, because the lake is keyed by event id and a duplicate is
125
+ * reconcilable where a hole is not. Sending sequentially rather than in parallel keeps
126
+ * the duplicated prefix small and bounded instead of arbitrary.
127
+ *
128
+ * **What a resolved `send` claims.** Cloudflare documents the promise as resolving "when
129
+ * records are confirmed as ingested" into the durable stream. That is what licenses the
130
+ * `drainedAt` stamp, and it is the one assumption this sink rests on: if a future runtime
131
+ * resolves early, "the lake has everything" silently stops being checkable. It is stated
132
+ * here so that a change to it is a change to something written down.
133
+ */
134
+ export function createPipelinesEventSink(stream) {
135
+ const pipeline = stream;
136
+ return {
137
+ async ship(scope, events) {
138
+ const first = events[0];
139
+ const last = events[events.length - 1];
140
+ if (!first || !last) {
141
+ // The sweep never ships an empty batch; returning a ref for records that were
142
+ // never sent would be a lie, and the stamp it licenses would be one too.
143
+ throw new Error('event sink: refusing to ship an empty batch');
144
+ }
145
+ // Packed by BYTES, not by count. The drain's budget is a row count (200 by
146
+ // default) and the ceiling here is a size, so one scope emitting fat payloads
147
+ // reaches the limit in far fewer rows than one emitting thin ones. A count-based
148
+ // split would work until the day a vertical started attaching documents.
149
+ let batch = [];
150
+ let bytes = 0;
151
+ let requests = 0;
152
+ const flush = async () => {
153
+ if (batch.length === 0)
154
+ return;
155
+ await pipeline.send(batch);
156
+ requests += 1;
157
+ batch = [];
158
+ bytes = 0;
159
+ };
160
+ for (const event of events) {
161
+ const row = toSizedRow(event);
162
+ // The BUDGET measures the row as actually sent, `bytes` field included — what
163
+ // Cloudflare weighs is the request, not the event. Deliberately not the same
164
+ // number as the column: one answers "will this request fit", the other "what did
165
+ // this tenant store". +1 for the comma this row contributes to the encoded array.
166
+ const size = byteLength(row) + 1;
167
+ if (size > MAX_REQUEST_BYTES)
168
+ throw tooLarge(event, size);
169
+ if (bytes + size > MAX_REQUEST_BYTES)
170
+ await flush();
171
+ batch.push(row);
172
+ bytes += size;
173
+ }
174
+ await flush();
175
+ // Not addressable, and shaped so it cannot be mistaken for something that is: a
176
+ // stream has no key to hand back the way an R2 object does. What the caller's
177
+ // report can honestly carry is which scope's events went, over what id range, in
178
+ // how many requests.
179
+ return { ref: `pipelines:${scope.scopeId}/${first.id}..${last.id}#${requests}` };
180
+ },
181
+ };
182
+ }
183
+ //# sourceMappingURL=pipelines-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pipelines-sink.js","sourceRoot":"","sources":["../src/pipelines-sink.ts"],"names":[],"mappings":"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"}