@adonis-agora/telescope 0.26.0 → 0.26.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/src/ai/factory.d.ts.map +1 -1
  3. package/dist/src/ai/factory.js +26 -3
  4. package/dist/src/ai/factory.js.map +1 -1
  5. package/dist/src/ai/index.d.ts +1 -1
  6. package/dist/src/ai/index.js +1 -1
  7. package/dist/src/alerts/index.d.ts +1 -1
  8. package/dist/src/alerts/index.js +1 -1
  9. package/dist/src/client_errors/ingestor.d.ts.map +1 -1
  10. package/dist/src/client_errors/ingestor.js +3 -2
  11. package/dist/src/client_errors/ingestor.js.map +1 -1
  12. package/dist/src/diagnostics_watcher.d.ts.map +1 -1
  13. package/dist/src/diagnostics_watcher.js +12 -4
  14. package/dist/src/diagnostics_watcher.js.map +1 -1
  15. package/dist/src/index.d.ts +1 -1
  16. package/dist/src/index.js +1 -1
  17. package/dist/src/mcp/index.d.ts +1 -1
  18. package/dist/src/mcp/index.js +1 -1
  19. package/dist/src/profiling/index.d.ts +1 -1
  20. package/dist/src/profiling/index.js +1 -1
  21. package/dist/src/redaction/redact.d.ts.map +1 -1
  22. package/dist/src/redaction/redact.js +8 -3
  23. package/dist/src/redaction/redact.js.map +1 -1
  24. package/dist/src/report_failure.d.ts +31 -0
  25. package/dist/src/report_failure.d.ts.map +1 -0
  26. package/dist/src/report_failure.js +70 -0
  27. package/dist/src/report_failure.js.map +1 -0
  28. package/dist/src/stores/lucid.d.ts +13 -2
  29. package/dist/src/stores/lucid.d.ts.map +1 -1
  30. package/dist/src/stores/lucid.js +85 -12
  31. package/dist/src/stores/lucid.js.map +1 -1
  32. package/dist/src/stores/memory.d.ts +11 -1
  33. package/dist/src/stores/memory.d.ts.map +1 -1
  34. package/dist/src/stores/memory.js +54 -26
  35. package/dist/src/stores/memory.js.map +1 -1
  36. package/dist/src/telescope_middleware.d.ts.map +1 -1
  37. package/dist/src/telescope_middleware.js +5 -3
  38. package/dist/src/telescope_middleware.js.map +1 -1
  39. package/dist/src/ui/index.d.ts +1 -1
  40. package/dist/src/ui/index.js +1 -1
  41. package/dist/src/watchers/index.d.ts +1 -1
  42. package/dist/src/watchers/index.js +1 -1
  43. package/dist/src/watchers/query_family_hash.d.ts.map +1 -1
  44. package/dist/src/watchers/query_family_hash.js +23 -1
  45. package/dist/src/watchers/query_family_hash.js.map +1 -1
  46. package/dist/src/watchers/record.d.ts.map +1 -1
  47. package/dist/src/watchers/record.js +4 -2
  48. package/dist/src/watchers/record.js.map +1 -1
  49. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # @adonis-agora/telescope
2
2
 
3
+ ## 0.26.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#230](https://github.com/DavideCarvalho/adonis-agora-telescope/pull/230) [`311b22c`](https://github.com/DavideCarvalho/adonis-agora-telescope/commit/311b22c19f0b4701881cdd0ba0e5f47ad0013132) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Fix a permanently broken store after concurrent boots, fold repeated record failures into one line per minute, and stop importing `@anthropic-ai/sdk` at boot.
8
+
9
+ - `LucidTelescopeStore` (`autoCreateTable`): when several processes boot against a fresh Postgres at once, `CREATE TABLE IF NOT EXISTS "telescope_schema_meta"` can fail with `duplicate key value violates unique constraint "pg_type_typname_nsp_index"`. The rejected init was cached for the life of the process, so every later entry failed. Concurrent-DDL errors are now retried (they become the no-op `IF NOT EXISTS` meant), a concurrent marker insert is tolerated, and any failed init is retried after 5s instead of being cached forever.
10
+ - Record-failure logs (`RedisWatcher`/`LucidQueryWatcher`/… `failed to record telescope entry`, `TelescopeMiddleware`, `DiagnosticsWatcher`, client errors) print the first occurrence of each distinct failure at once, then one line per minute with how many identical failures it stood for, instead of one synchronous stderr line per entry (~145k lines per pod in a multi-pod load test).
11
+ - The AI diagnoser builds its Anthropic client lazily: the optional `@anthropic-ai/sdk` peer is imported on the first diagnosis, not when the provider boots.
12
+
13
+ ## 0.26.1
14
+
15
+ ### Patch Changes
16
+
17
+ - [#229](https://github.com/DavideCarvalho/adonis-agora-telescope/pull/229) [`0ba2c6e`](https://github.com/DavideCarvalho/adonis-agora-telescope/commit/0ba2c6e04bc595f98f7e85fd6331dd052e0369b9) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Cheaper recording on the hot path:
18
+
19
+ - The in-memory store appends and evicts in O(1) amortized time instead of `unshift` + `pop`, which moved every retained entry on each write (≈73 µs → ≈2 µs per record at `maxEntries: 100000`).
20
+ - Query family hashes are memoized per SQL string (bounded at 2,000 statements up to 4 KiB each), so each recorded query skips three regex passes (≈1.9 µs → ≈0.08 µs).
21
+ - Redaction builds dotted key paths only when `redact.paths` is configured, roughly halving the walk cost for a typical request entry.
22
+ - The middleware's dashboard-path check no longer allocates a split array per request.
23
+
3
24
  ## 0.26.0
4
25
 
5
26
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAgC,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC3E,oBAAoB,GAAG,IAAI,CAuB7B"}
1
+ {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAgC,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,yBAAyB,EACjC,OAAO,GAAE;IAAE,KAAK,CAAC,EAAE,cAAc,CAAC;IAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAC3E,oBAAoB,GAAG,IAAI,CAsB7B"}
@@ -1,4 +1,3 @@
1
- import Anthropic from '@anthropic-ai/sdk';
2
1
  import { DiagnosisCache } from './diagnosis_cache.js';
3
2
  import { TelescopeAiDiagnoser } from './telescope_ai_diagnoser.js';
4
3
  /**
@@ -19,8 +18,7 @@ export function createDiagnoser(config, options = {}) {
19
18
  if (client === null) {
20
19
  if (config.apiKey === null)
21
20
  return null;
22
- // The SDK's `Anthropic` instance satisfies the structural client contract.
23
- client = new Anthropic({ apiKey: config.apiKey });
21
+ client = lazyAnthropicClient(config.apiKey);
24
22
  }
25
23
  const cache = options.cache ??
26
24
  (config.cacheTtlMs !== null ? new DiagnosisCache({ ttlMs: config.cacheTtlMs }) : undefined);
@@ -33,4 +31,29 @@ export function createDiagnoser(config, options = {}) {
33
31
  ...(options.logger !== undefined ? { logger: options.logger } : {}),
34
32
  });
35
33
  }
34
+ /**
35
+ * An {@link AnthropicMessagesClient} that imports `@anthropic-ai/sdk` (an optional
36
+ * peer) on the first diagnosis instead of at boot. Diagnoses are rare and on demand;
37
+ * importing the SDK eagerly cost every process that loads telescope a few MB of heap
38
+ * and module-load time for a client most never call.
39
+ */
40
+ function lazyAnthropicClient(apiKey) {
41
+ let client = null;
42
+ return {
43
+ messages: {
44
+ async create(body) {
45
+ if (client === null) {
46
+ client = import('@anthropic-ai/sdk').then(
47
+ // The SDK's `Anthropic` instance satisfies the structural client contract.
48
+ ({ default: Anthropic }) => new Anthropic({ apiKey }));
49
+ // A failed import (peer missing) is retried on the next diagnosis.
50
+ client.catch(() => {
51
+ client = null;
52
+ });
53
+ }
54
+ return (await client).messages.create(body);
55
+ },
56
+ },
57
+ };
58
+ }
36
59
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAgC,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC,EACjC,OAAO,GAAmE,EAAE;IAE5E,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEjC,6EAA6E;IAC7E,IAAI,MAAM,GAAmC,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACxC,2EAA2E;QAC3E,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAuC,CAAC;IAC1F,CAAC;IAED,MAAM,KAAK,GACT,OAAO,CAAC,KAAK;QACb,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9F,OAAO,IAAI,oBAAoB,CAAC;QAC9B,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/ai/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAuB,MAAM,sBAAsB,CAAC;AAC3E,OAAO,EAAgC,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAEjG;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAiC,EACjC,OAAO,GAAmE,EAAE;IAE5E,IAAI,CAAC,MAAM,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAEjC,6EAA6E;IAC7E,IAAI,MAAM,GAAmC,MAAM,CAAC,MAAM,CAAC;IAC3D,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,GACT,OAAO,CAAC,KAAK;QACb,CAAC,MAAM,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE9F,OAAO,IAAI,oBAAoB,CAAC;QAC9B,MAAM;QACN,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,OAAO,EAAE,IAAI;QACb,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAAC,MAAc;IACzC,IAAI,MAAM,GAA4C,IAAI,CAAC;IAC3D,OAAO;QACL,QAAQ,EAAE;YACR,KAAK,CAAC,MAAM,CAAC,IAAI;gBACf,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;oBACpB,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI;oBACvC,2EAA2E;oBAC3E,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CACzB,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,CAAuC,CAClE,CAAC;oBACF,mEAAmE;oBACnE,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;wBAChB,MAAM,GAAG,IAAI,CAAC;oBAChB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,OAAO,CAAC,MAAM,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;SACF;KACF,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.26.0";
2
+ export declare const VERSION = "0.26.2";
3
3
  export type { ResolvedTelescopeAiConfig, TelescopeAiConfig, } from './define_config.js';
4
4
  export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
5
5
  export type { Diagnosis, DiagnosisConfidence, ExceptionEntryContent } from './diagnoser.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.26.0';
2
+ export const VERSION = '0.26.2';
3
3
  // — config —
4
4
  export { DEFAULT_MAX_TOKENS, DEFAULT_MODEL, defineConfig, resolveConfig, } from './define_config.js';
5
5
  // — diagnosis model + parsing —
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.26.0";
2
+ export declare const VERSION = "0.26.2";
3
3
  export type { AlertChannel, ChannelFetch, ConsoleSink } from './alert_channel.js';
4
4
  export { consoleChannel, customChannel, slackChannel, webhookChannel, } from './alert_channel.js';
5
5
  export type { AlertDiagnosis, AlertGeoLocation, AlertMetric, AlertPayload, AlertRule, ExceptionAlertContext, GeoLookup, ResolvedAlerts, } from './alert_rule.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.26.0';
2
+ export const VERSION = '0.26.2';
3
3
  // — channels —
4
4
  export { consoleChannel, customChannel, slackChannel, webhookChannel, } from './alert_channel.js';
5
5
  // — alerter (exception source → tracker → channels) —
@@ -1 +1 @@
1
- {"version":3,"file":"ingestor.d.ts","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,IAAI,IAAI,OAAO,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,kFAAkF;IAClF,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC1C,6DAA6D;IAC7D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,+EAA+E;AAC/E,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC;;;;OAIG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IAC7D,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,GACpB,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAQtD;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAGjE;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAS;IAEhC,YAAY,IAAI,EAAE,uBAAuB,EAQxC;IAEK,MAAM,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4E1D;IAED;;;;OAIG;YACW,YAAY;IAmB1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;CAIjB"}
1
+ {"version":3,"file":"ingestor.d.ts","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAE9D,OAAO,EACL,KAAK,sBAAsB,EAG5B,MAAM,iBAAiB,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,WAAW,kBAAkB;IACjC,yDAAyD;IACzD,IAAI,IAAI,OAAO,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,kFAAkF;IAClF,EAAE,IAAI,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,6DAA6D;AAC7D,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC1C,6DAA6D;IAC7D,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED,gFAAgF;AAChF,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,kBAAkB,CAAC;IAC5B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,+EAA+E;AAC/E,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,0BAA0B,CAAC;IACnC;;;;OAIG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAAC;IAC7D,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC;IACzB,yEAAyE;IACzE,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,cAAc,GACpB,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,CAAC,KAAK,IAAI,CAQtD;AAOD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAGjE;AAED;;;;;;;;GAQG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuD;IAC9E,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAyB;IACjD,6EAA6E;IAC7E,OAAO,CAAC,eAAe,CAAS;IAEhC,YAAY,IAAI,EAAE,uBAAuB,EAQxC;IAEK,MAAM,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CA4E1D;IAED;;;;OAIG;YACW,YAAY;IAmB1B;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IAQpB,2EAA2E;IAC3E,OAAO,CAAC,QAAQ;CAIjB"}
@@ -2,6 +2,7 @@ import { currentUserRef } from '../context_accessor.js';
2
2
  import { EntryType } from '../entry.js';
3
3
  import { exceptionFamilyHash } from '../exception_family_hash.js';
4
4
  import { getTelescopeRuntime } from '../registry.js';
5
+ import { failureMessage, reportFailure } from '../report_failure.js';
5
6
  import { ClientErrorRateLimiter } from './rate_limiter.js';
6
7
  import { userIdentityTag, validateClientErrorBody, } from './validation.js';
7
8
  /**
@@ -20,8 +21,8 @@ export function storeRecorder(store) {
20
21
  };
21
22
  }
22
23
  function reportError(err) {
23
- const message = err instanceof Error ? err.message : String(err);
24
- console.error(`telescope client-errors: failed to record entry: ${message}`);
24
+ const line = `telescope client-errors: failed to record entry: ${failureMessage(err)}`;
25
+ reportFailure(line, line);
25
26
  }
26
27
  /**
27
28
  * The user to attribute a browser-reported error to.
@@ -1 +1 @@
1
- {"version":3,"file":"ingestor.js","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ingestor.js","sourceRoot":"","sources":["../../../src/client_errors/ingestor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics_watcher.d.ts","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,cAAuB,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAkB;IAa3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZxB,QAAQ,CAAC,IAAI,eAAyB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,gFAAgF;IAChF,OAAO,CAAC,gBAAgB,CAAyC;IACjE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,YACmB,KAAK,EAAE,cAAc,EACtC,OAAO,GAAE,yBAA8B,EAIxC;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAWZ;IAED,qEAAqE;IACrE,IAAI,IAAI,IAAI,CAUX;IAED,gFAAgF;IAChF,OAAO,CAAC,SAAS;IAQjB,+EAA+E;IAC/E,OAAO,CAAC,UAAU;CAqBnB;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,WAAW,CAAC,sBAAsB,CAAC,CA0B9F"}
1
+ {"version":3,"file":"diagnostics_watcher.d.ts","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,uDAAuD;AACvD,eAAO,MAAM,qBAAqB,cAAuB,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,WAAW,yBAAyB;IACxC;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACrC,gFAAgF;IAChF,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjB,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IACX,+DAA+D;IAC/D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAkB;IAa3B,OAAO,CAAC,QAAQ,CAAC,KAAK;IAZxB,QAAQ,CAAC,IAAI,eAAyB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,gFAAgF;IAChF,OAAO,CAAC,gBAAgB,CAAyC;IACjE,+EAA+E;IAC/E,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6C;IAC3E,qEAAqE;IACrE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAsB;IAC/C,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,YACmB,KAAK,EAAE,cAAc,EACtC,OAAO,GAAE,yBAA8B,EAIxC;IAED;;;;OAIG;IACH,KAAK,IAAI,IAAI,CAWZ;IAED,qEAAqE;IACrE,IAAI,IAAI,IAAI,CAUX;IAED,gFAAgF;IAChF,OAAO,CAAC,SAAS;IAQjB,+EAA+E;IAC/E,OAAO,CAAC,UAAU;CAmBnB;AAYD,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,eAAe,GAAG,WAAW,CAAC,sBAAsB,CAAC,CA0B9F"}
@@ -1,6 +1,7 @@
1
1
  import diagnostics_channel from 'node:diagnostics_channel';
2
2
  import { getDiagnosticsRegistry, isDiagnosticClaimed, isDiagnosticEvent, } from './diagnostics_registry.js';
3
3
  import { EntryType } from './entry.js';
4
+ import { failureMessage, reportFailure } from './report_failure.js';
4
5
  /** Telescope entry `type` produced by this watcher. */
5
6
  export const DIAGNOSTIC_ENTRY_TYPE = EntryType.Diagnostic;
6
7
  /**
@@ -99,16 +100,23 @@ export class DiagnosticsWatcher {
99
100
  // This runs inside a synchronous `node:diagnostics_channel` subscriber, so we
100
101
  // CANNOT await the now-async store. Fire-and-forget and swallow rejections —
101
102
  // telescope must never break (or block) an emitting code path.
102
- void this.store.record(buildDiagnosticEntry(msg)).catch((err) => {
103
- console.error('DiagnosticsWatcher: failed to record diagnostic event:', err);
104
- });
103
+ void this.store.record(buildDiagnosticEntry(msg)).catch(reportDiagnosticFailure);
105
104
  }
106
105
  catch (err) {
107
106
  // NOT rethrown — telescope must never break an emitting code path.
108
- console.error('DiagnosticsWatcher: failed to record diagnostic event:', err);
107
+ reportDiagnosticFailure(err);
109
108
  }
110
109
  }
111
110
  }
111
+ /**
112
+ * Report a failed diagnostic record. The first occurrence of a failure logs the full
113
+ * error (stack included) as before; identical repeats are folded into a periodic count
114
+ * so a broken store cannot flood the logs with one stack per event.
115
+ */
116
+ function reportDiagnosticFailure(err) {
117
+ const line = `DiagnosticsWatcher: failed to record diagnostic event: ${failureMessage(err)}`;
118
+ reportFailure(line, line, console.error, err);
119
+ }
112
120
  /** Map a {@link DiagnosticEvent} envelope to a Telescope {@link RecordInput}. */
113
121
  export function buildDiagnosticEntry(msg) {
114
122
  const traceId = msg.traceId ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics_watcher.js","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnostics_watcher.js","sourceRoot":"","sources":["../../src/diagnostics_watcher.ts"],"names":[],"mappings":"AAAA,OAAO,mBAAqC,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAEL,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,SAAS,EAAoB,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpE,uDAAuD;AACvD,MAAM,CAAC,MAAM,qBAAqB,GAAG,SAAS,CAAC,UAAU,CAAC;AAmD1D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,kBAAkB;IAaV,KAAK;IAZf,IAAI,GAAG,qBAAqB,CAAC;IAC9B,OAAO,GAAG,KAAK,CAAC;IACxB,gFAAgF;IACxE,gBAAgB,GAAoC,IAAI,CAAC;IACjE,+EAA+E;IAC9D,aAAa,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC3E,qEAAqE;IACpD,QAAQ,CAAsB;IAC/C,2DAA2D;IAC1C,aAAa,CAAU;IAExC,YACmB,KAAqB,EACtC,OAAO,GAA8B,EAAE;qBADtB,KAAK;QAGtB,IAAI,CAAC,QAAQ,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,KAAK,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAC;QAC1C,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,QAAQ;YAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACjC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,qEAAqE;IACrE,IAAI;QACF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,sBAAsB,EAAE,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAClE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACjD,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,gFAAgF;IACxE,SAAS,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO;QACzC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,OAAO,GAAY,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3D,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,+EAA+E;IACvE,UAAU,CAAC,GAAY;QAC7B,IAAI,CAAC;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC;gBAAE,OAAO;YACpC,sEAAsE;YACtE,8EAA8E;YAC9E,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBAAE,OAAO;YACzD,2EAA2E;YAC3E,6EAA6E;YAC7E,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC;gBAAE,OAAO;YAC3E,8EAA8E;YAC9E,6EAA6E;YAC7E,+DAA+D;YAC/D,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QACnF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mEAAmE;YACnE,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,uBAAuB,CAAC,GAAY;IAC3C,MAAM,IAAI,GAAG,0DAA0D,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IAC7F,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,oBAAoB,CAAC,GAAoB;IACvD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;IACpC,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC;IAC1C,MAAM,OAAO,GAA2B;QACtC,mEAAmE;QACnE,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI;QAChB,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,OAAO;QACP,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU;KACX,CAAC;IACF,OAAO;QACL,IAAI,EAAE,qBAAqB;QAC3B,0EAA0E;QAC1E,UAAU,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,EAAE;QACrC,IAAI,EAAE,CAAC,OAAO,GAAG,CAAC,GAAG,EAAE,EAAE,SAAS,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO;QACP,6EAA6E;QAC7E,OAAO;QACP,4EAA4E;QAC5E,+EAA+E;QAC/E,yEAAyE;QACzE,UAAU;KACX,CAAC;AACJ,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.26.0";
2
+ export declare const VERSION = "0.26.2";
3
3
  export { configure } from '../configure.js';
4
4
  export type { DiagnoserLike, DiagnosisCoordinatorOptions, DiagnosisSummary, } from './ai/diagnosis_coordinator.js';
5
5
  export { DiagnosisCoordinator, formatDiagnosisMarkdown, } from './ai/diagnosis_coordinator.js';
package/dist/src/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.26.0';
2
+ export const VERSION = '0.26.2';
3
3
  // Re-export the configure hook from the package root so `node ace configure` finds it
4
4
  export { configure } from '../configure.js';
5
5
  // — AI diagnosis coordinator (wires the MCP tool + the alerter; SDK-free) —
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.26.0";
2
+ export declare const VERSION = "0.26.2";
3
3
  export type { McpToolName, ResolvedTelescopeMcpConfig, TelescopeMcpConfig, } from './define_config.js';
4
4
  export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
5
5
  export type { DiagnoseExceptionHook, JsonRpcRequest, McpToolSpec, TelescopeMcpServerOptions, } from './server.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.26.0';
2
+ export const VERSION = '0.26.2';
3
3
  // — config —
4
4
  export { defineConfig, MCP_TOOL_NAMES, resolveConfig } from './define_config.js';
5
5
  // — server (plain, testable JSON-RPC surface) —
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export declare const VERSION = "0.26.0";
2
+ export declare const VERSION = "0.26.2";
3
3
  export { aggregateCpuProfile } from './aggregate-profile.js';
4
4
  export type { CpuProfilerOptions, CpuProfilerResult, InspectorSessionLike, SessionFactory, } from './cpu-profiler.js';
5
5
  export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
@@ -1,5 +1,5 @@
1
1
  /** Keep in sync with this package's `version` in package.json. */
2
- export const VERSION = '0.26.0';
2
+ export const VERSION = '0.26.2';
3
3
  export { aggregateCpuProfile } from './aggregate-profile.js';
4
4
  export { CpuProfiler, defaultSessionFactory } from './cpu-profiler.js';
5
5
  export { defineConfig, resolveConfig } from './define_config.js';
@@ -1 +1 @@
1
- {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../src/redaction/redact.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAgBhD,CAAC;AAyBF,2DAA2D;AAC3D,eAAO,MAAM,YAAY,eAAe,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,aAAa,EACb,UAAU,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,GAAG,iBAAiB,CACnF,CAAC;AAEF,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,sDAAsD;IACtD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,kBAAkB,CAO5E;AA4BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,mBAAmB,CAE9F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,kBAAkB,GACvB,mBAAmB,CAwHrB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAE3E"}
1
+ {"version":3,"file":"redact.d.ts","sourceRoot":"","sources":["../../../src/redaction/redact.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAgBhD,CAAC;AAyBF,2DAA2D;AAC3D,eAAO,MAAM,YAAY,eAAe,CAAC;AAEzC,MAAM,WAAW,aAAa;IAC5B,sFAAsF;IACtF,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACxC;AAED;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,IAAI,CAC7B,aAAa,EACb,UAAU,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,UAAU,GAAG,iBAAiB,CACnF,CAAC;AAEF,2FAA2F;AAC3F,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,+EAA+E;IAC/E,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,kBAAkB;IACjC,2EAA2E;IAC3E,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,sDAAsD;IACtD,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,aAAa,GAAG,kBAAkB,CAO5E;AA4BD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,mBAAmB,CAE9F;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,kBAAkB,GACvB,mBAAmB,CA6HrB;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,GAAE,aAAkB,GAAG,OAAO,CAE3E"}
@@ -109,6 +109,10 @@ export function redactBoundedWith(value, options, spec) {
109
109
  const maxContentBytes = options.maxContentBytes ?? DEFAULT_MAX_CONTENT_BYTES;
110
110
  const seen = new WeakSet();
111
111
  const keyMasked = maskedKeyLookup(spec);
112
+ // Dotted paths only matter when `paths` were configured. Without them (the
113
+ // default) skip building a path string per visited key/index — it was the walk's
114
+ // main allocation and nothing would ever read it.
115
+ const trackPaths = paths.size > 0;
112
116
  // Mutable walk state: node + byte budgets and a truncation flag. Kept in the
113
117
  // closure (not threaded through args) so the per-call accounting stays cheap.
114
118
  let nodesRemaining = maxNodes;
@@ -154,7 +158,8 @@ export function redactBoundedWith(value, options, spec) {
154
158
  mapped.push(SIZE_MARKER);
155
159
  break;
156
160
  }
157
- mapped.push(walk(node[index], path ? `${path}.${index}` : String(index), depth + 1));
161
+ const childPath = trackPaths ? (path ? `${path}.${index}` : String(index)) : '';
162
+ mapped.push(walk(node[index], childPath, depth + 1));
158
163
  }
159
164
  if (node.length > maxArrayLength) {
160
165
  truncated = true;
@@ -200,8 +205,8 @@ export function redactBoundedWith(value, options, spec) {
200
205
  }
201
206
  // Object keys are real serialized bytes — charge them too.
202
207
  bytesRemaining -= key.length;
203
- const childPath = path ? `${path}.${key}` : key;
204
- if (keyMasked(key) || paths.has(childPath)) {
208
+ const childPath = trackPaths ? (path ? `${path}.${key}` : key) : '';
209
+ if (keyMasked(key) || (trackPaths && paths.has(childPath))) {
205
210
  result[key] = mask;
206
211
  }
207
212
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../../src/redaction/redact.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"redact.js","sourceRoot":"","sources":["../../../src/redaction/redact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Rate-limited failure reporting for telescope's fire-and-forget record paths.
3
+ *
4
+ * Every watcher records on the host's hot path and reports a failed write instead of
5
+ * throwing. When the store is broken for a while (database down, schema not created
6
+ * yet, a permission error), that used to print one line PER ENTRY — hundreds of
7
+ * identical lines a minute from the Redis / query watchers alone, each a synchronous
8
+ * stderr write on the event loop that telescope is supposed to stay off of.
9
+ *
10
+ * Here the first occurrence of a given `source` + message is printed immediately and
11
+ * identical repeats inside the next {@link REPORT_WINDOW_MS} are only counted; when the
12
+ * window closes, one line reports how many repeats it folded (nothing at all when there
13
+ * were none). Same information — every distinct failure is still reported, with its
14
+ * count — in a bounded number of lines.
15
+ */
16
+ /** Window during which identical failures are folded into one line. */
17
+ export declare const REPORT_WINDOW_MS = 60000;
18
+ type Log = (message: string, ...extra: unknown[]) => void;
19
+ /**
20
+ * Print `line` through `log` unless an identical `key` is already inside its
21
+ * {@link REPORT_WINDOW_MS} window; in that case only count it — the count is printed
22
+ * once when the window closes. `extra` is forwarded to `log` after the line (e.g. the
23
+ * original error object) on the first, immediate report.
24
+ */
25
+ export declare function reportFailure(key: string, line: string, log?: Log, ...extra: unknown[]): void;
26
+ /** The message of an unknown thrown value. */
27
+ export declare function failureMessage(err: unknown): string;
28
+ /** Forget every tracked failure and cancel pending summaries (tests). */
29
+ export declare function resetFailureReports(): void;
30
+ export {};
31
+ //# sourceMappingURL=report_failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report_failure.d.ts","sourceRoot":"","sources":["../../src/report_failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,eAAO,MAAM,gBAAgB,QAAS,CAAC;AAKvC,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAkC1D;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EACZ,GAAG,GAAE,GAAmB,EACxB,GAAG,KAAK,EAAE,OAAO,EAAE,GAClB,IAAI,CAYN;AAED,8CAA8C;AAC9C,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEnD;AAED,yEAAyE;AACzE,wBAAgB,mBAAmB,IAAI,IAAI,CAG1C"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Rate-limited failure reporting for telescope's fire-and-forget record paths.
3
+ *
4
+ * Every watcher records on the host's hot path and reports a failed write instead of
5
+ * throwing. When the store is broken for a while (database down, schema not created
6
+ * yet, a permission error), that used to print one line PER ENTRY — hundreds of
7
+ * identical lines a minute from the Redis / query watchers alone, each a synchronous
8
+ * stderr write on the event loop that telescope is supposed to stay off of.
9
+ *
10
+ * Here the first occurrence of a given `source` + message is printed immediately and
11
+ * identical repeats inside the next {@link REPORT_WINDOW_MS} are only counted; when the
12
+ * window closes, one line reports how many repeats it folded (nothing at all when there
13
+ * were none). Same information — every distinct failure is still reported, with its
14
+ * count — in a bounded number of lines.
15
+ */
16
+ /** Window during which identical failures are folded into one line. */
17
+ export const REPORT_WINDOW_MS = 60_000;
18
+ /** Distinct failure keys tracked at once; past this, new keys print unthrottled (bounds memory). */
19
+ const MAX_TRACKED = 500;
20
+ const reports = new Map();
21
+ function closeWindow(key) {
22
+ const state = reports.get(key);
23
+ if (state === undefined)
24
+ return;
25
+ if (state.suppressed === 0) {
26
+ reports.delete(key);
27
+ return;
28
+ }
29
+ const n = state.suppressed;
30
+ state.suppressed = 0;
31
+ state.log(`${state.line} (repeated ${n} more time${n === 1 ? '' : 's'} in the last ${REPORT_WINDOW_MS / 1000}s)`);
32
+ // Keep folding while the failure persists: one summary line per window.
33
+ armWindow(key, state);
34
+ }
35
+ function armWindow(key, state) {
36
+ state.timer = setTimeout(() => closeWindow(key), REPORT_WINDOW_MS);
37
+ // Never keep the process alive just to print a summary.
38
+ state.timer.unref?.();
39
+ }
40
+ /**
41
+ * Print `line` through `log` unless an identical `key` is already inside its
42
+ * {@link REPORT_WINDOW_MS} window; in that case only count it — the count is printed
43
+ * once when the window closes. `extra` is forwarded to `log` after the line (e.g. the
44
+ * original error object) on the first, immediate report.
45
+ */
46
+ export function reportFailure(key, line, log = console.error, ...extra) {
47
+ const state = reports.get(key);
48
+ if (state !== undefined) {
49
+ state.suppressed += 1;
50
+ state.line = line;
51
+ return;
52
+ }
53
+ log(line, ...extra);
54
+ if (reports.size >= MAX_TRACKED)
55
+ return;
56
+ const fresh = { suppressed: 0, line, log };
57
+ reports.set(key, fresh);
58
+ armWindow(key, fresh);
59
+ }
60
+ /** The message of an unknown thrown value. */
61
+ export function failureMessage(err) {
62
+ return err instanceof Error ? err.message : String(err);
63
+ }
64
+ /** Forget every tracked failure and cancel pending summaries (tests). */
65
+ export function resetFailureReports() {
66
+ for (const state of reports.values())
67
+ clearTimeout(state.timer);
68
+ reports.clear();
69
+ }
70
+ //# sourceMappingURL=report_failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report_failure.js","sourceRoot":"","sources":["../../src/report_failure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEvC,oGAAoG;AACpG,MAAM,WAAW,GAAG,GAAG,CAAC;AAYxB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;AAE/C,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO;IAChC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO;IACT,CAAC;IACD,MAAM,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC;IAC3B,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACrB,KAAK,CAAC,GAAG,CACP,GAAG,KAAK,CAAC,IAAI,cAAc,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,gBAAgB,gBAAgB,GAAG,IAAI,IAAI,CACvG,CAAC;IACF,wEAAwE;IACxE,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,SAAS,CAAC,GAAW,EAAE,KAAkB;IAChD,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;IACnE,wDAAwD;IACxD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAC3B,GAAW,EACX,IAAY,EACZ,GAAG,GAAQ,OAAO,CAAC,KAAK,EACxB,GAAG,KAAgB;IAEnB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;QACtB,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;QAClB,OAAO;IACT,CAAC;IACD,GAAG,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC;IACpB,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW;QAAE,OAAO;IACxC,MAAM,KAAK,GAAgB,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACxB,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,8CAA8C;AAC9C,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC1D,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,mBAAmB;IACjC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;QAAE,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChE,OAAO,CAAC,KAAK,EAAE,CAAC;AAClB,CAAC"}
@@ -48,6 +48,8 @@ export declare function createTableStatements(tableName?: string, dialect?: stri
48
48
  * never invalidate the gate.
49
49
  */
50
50
  export declare const SCHEMA_META_TABLE_NAME = "telescope_schema_meta";
51
+ /** How long a failed store init is shared by callers before the next call retries it. */
52
+ export declare const INIT_RETRY_DELAY_MS = 5000;
51
53
  /**
52
54
  * The slice of an AdonisJS Lucid `Database` (or `QueryClientContract`) this store
53
55
  * uses. Typed structurally so `@adonisjs/lucid` stays an *optional peer* dependency
@@ -142,8 +144,10 @@ export declare class LucidTelescopeStore implements TelescopeStore {
142
144
  private readonly tableName;
143
145
  private readonly maxEntries;
144
146
  private readonly autoCreateTable;
145
- /** Lazily-resolved init (table creation + sequence seed), run at most once. */
147
+ /** Lazily-resolved init (table creation + sequence seed), run once — re-run after a failure. */
146
148
  private ready;
149
+ /** When the current {@link ready} attempt failed (epoch ms), or null while it has not. */
150
+ private initFailedAt;
147
151
  private sequence;
148
152
  private pending;
149
153
  /** The running drain, while one is scheduled or writing. */
@@ -213,7 +217,14 @@ export declare class LucidTelescopeStore implements TelescopeStore {
213
217
  * row the database rejects fails only its own `record()`.
214
218
  */
215
219
  private writeBatch;
216
- /** Run table creation (optional) + sequence seeding exactly once. */
220
+ /**
221
+ * Run table creation (optional) + sequence seeding once. A FAILED init is not cached
222
+ * forever: after {@link INIT_RETRY_DELAY_MS} the next call tries again, so a transient
223
+ * error at boot (database not reachable yet, a concurrent-DDL race with another
224
+ * process) no longer leaves this store failing every entry for the life of the
225
+ * process. Inside the delay, callers share the failed attempt instead of each
226
+ * re-issuing the DDL.
227
+ */
217
228
  private init;
218
229
  private doInit;
219
230
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lucid.d.ts","sourceRoot":"","sources":["../../../src/stores/lucid.ts"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,KAAK,EAAiB,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAG5F,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,cAAc,EACd,YAAY,EACZ,UAAU,EACX,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAEtD;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,GAAE,MAA2B,EACtC,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,EAAE,CA2BV;AAiGD;;;;;;GAMG;AACH,eAAO,MAAM,sBAAsB,0BAA0B,CAAC;AAE9D,yFAAyF;AACzF,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AA+BzC;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB,CAAC;IAC3C,gDAAgD;IAChD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAAC;IAC7C,2DAA2D;IAC3D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9D,gGAAgG;IAChG,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,kEAAkE;IAClE,UAAU,CAAC,IAAI;QAAE,OAAO,CAAC,EAAE;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;CAC/C;AAED,6EAA6E;AAC7E,MAAM,WAAW,qBAAqB;IACpC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5C,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9D,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAClD,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC;IAC1D,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IACzD,OAAO,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,wFAAwF;IACxF,UAAU,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACrD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;uDACmD;IACnD,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACjE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IACzE,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1B,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;CAClD;AAED,MAAM,WAAW,sBAAsB;IACrC,mDAAmD;IACnD,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACpF;AAED,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IAChC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AA0CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,mBAAoB,YAAW,cAAc;IAgBtD,OAAO,CAAC,QAAQ,CAAC,EAAE;IAfrB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,gGAAgG;IAChG,OAAO,CAAC,KAAK,CAA8B;IAC3C,0FAA0F;IAC1F,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAK;IACrB,OAAO,CAAC,OAAO,CAAsB;IACrC,4DAA4D;IAC5D,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,OAAO,CAAK;IACpB,OAAO,CAAC,UAAU,CAAS;IAE3B,YACmB,EAAE,EAAE,iBAAiB,EACtC,OAAO,GAAE,iBAAsB,EAMhC;IAEK,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAwD7E;IAED,yDAAyD;IACzD,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED,kFAAkF;IAC5E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAE3B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAMrC;IAED,IAAI,CAAC,KAAK,GAAE,UAAe,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAiD7C;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA2BvD;IAED;;;;;;;;;OASG;IACH,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAmDhE;IAED;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAwB7D;IAED;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAwCtD;IAED,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAMvB;IAED;;;;OAIG;IACH,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqCzD;IAED,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAMrB;IAED,mEAAmE;IACnE,IAAI,QAAQ,IAAI,MAAM,GAAG,IAAI,CAE5B;IAED,wDAAwD;YAC1C,QAAQ;IAQtB,oEAAoE;IACpE,OAAO,CAAC,aAAa;IAcrB,+DAA+D;YACjD,KAAK;IAOnB,qDAAqD;IACrD,OAAO,CAAC,SAAS;IAYjB;;;OAGG;YACW,UAAU;IAuBxB;;;;;;;OAOG;IACH,OAAO,CAAC,IAAI;YAmBE,MAAM;IAepB;;;;;;OAMG;YACW,eAAe;IAa7B,oFAAoF;YACtE,qBAAqB;IAKnC,mFAAmF;YACrE,sBAAsB;CAcrC;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,EAAE,EAAE,iBAAiB,EACrB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAEf"}