autotel-eventcatalog 30.0.0 → 30.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Changelog
2
2
 
3
+ ## 30.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 4b9125f: **autotel-tanstack:** `traceLoader` and `traceBeforeLoad` take the route context first and run your function inside their span:
8
+
9
+ ```ts
10
+ beforeLoad: (ctx) => traceBeforeLoad(ctx, async ({ search }) => { ... }),
11
+ loader: (ctx) => traceLoader(ctx, async ({ params }) => { ... }),
12
+ ```
13
+
14
+ TanStack Router keeps typing `params`, `search` and the context `beforeLoad` returns, and spans you start inside a loader nest under it. `createTracedRoute(id).loader` and `.beforeLoad` take the context the same way.
15
+
16
+ **autotel-audit:** `withAudit` and `securityEvent` default `onMissingContext` to `skip` when telemetry is off (no `init()` and no tracer provider) and to `warn` otherwise. `configureAudit({ onMissingContext })` sets a process-wide default; a per-call option overrides it.
17
+
18
+ **autotel:** `hasTracerProvider()` reports whether an isolated or global tracer provider can record spans.
19
+
20
+ **autotel-aws:** `autoInstrumentAWS()` loads the Smithy client in the ESM build as well as CJS.
21
+
22
+ **autotel-mcp:** invalid CLI arguments set exit code 2.
23
+
24
+ Dependencies are refreshed across the packages.
25
+
26
+ - autotel-subscribers@59.0.1
27
+
3
28
  ## 30.0.0
4
29
 
5
30
  ### Patch Changes
package/dist/cli.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- const require_map_html = require('./map-html-D56rylWV.cjs');
2
+ const require_map_html = require('./map-html-z_s-sHg3.cjs');
3
3
  let node_fs_promises = require("node:fs/promises");
4
4
  let node_path = require("node:path");
5
5
  node_path = require_map_html.__toESM(node_path, 1);
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
 
2
- import { H as loadSnapshot, I as countDriftEntries, L as countDriftReport, P as compareDriftReports, R as diffCatalogAgainstSnapshot, V as readCatalogState, _ as getRenderer, a as buildGenerateSummary, f as buildStampSummary, m as evaluatePolicy, o as generateCatalogFromSnapshot, p as stampCatalog, r as buildLiveMap, t as renderLiveMapHtml, v as listRendererNames, y as registerRenderer } from "./map-html-BrSITccr.js";
2
+ import { H as loadSnapshot, I as countDriftEntries, L as countDriftReport, P as compareDriftReports, R as diffCatalogAgainstSnapshot, V as readCatalogState, _ as getRenderer, a as buildGenerateSummary, f as buildStampSummary, m as evaluatePolicy, o as generateCatalogFromSnapshot, p as stampCatalog, r as buildLiveMap, t as renderLiveMapHtml, v as listRendererNames, y as registerRenderer } from "./map-html-DMCQZuer.js";
3
3
  import { mkdir, writeFile } from "node:fs/promises";
4
4
  import path from "node:path";
5
5
  import { pathToFileURL } from "node:url";
package/dist/index.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
 
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
3
- const require_map_html = require('./map-html-D56rylWV.cjs');
3
+ const require_map_html = require('./map-html-z_s-sHg3.cjs');
4
4
 
5
5
  exports.EVENTCATALOG_SNAPSHOT_DIFF_SPEC = require_map_html.EVENTCATALOG_SNAPSHOT_DIFF_SPEC;
6
6
  exports.GENERATE_SUMMARY_SPEC = require_map_html.GENERATE_SUMMARY_SPEC;
package/dist/index.d.cts CHANGED
@@ -9,7 +9,7 @@ import { Channel, Event, Service } from "@eventcatalog/sdk";
9
9
  * JSON, or is not recognisable as an autotel snapshot, so the CLI surfaces
10
10
  * an actionable message rather than a raw `ENOENT` or `SyntaxError`.
11
11
  */
12
- declare function loadSnapshot(path: string): Promise<ArchitectureSnapshot$1>;
12
+ export declare function loadSnapshot(path: string): Promise<ArchitectureSnapshot$1>;
13
13
  //#endregion
14
14
  //#region src/generate.d.ts
15
15
  interface GenerateOptions {
@@ -31,7 +31,7 @@ type GenerateSummaryItem = {
31
31
  interface GenerateResult {
32
32
  operations: GenerateSummaryItem[];
33
33
  }
34
- declare const GENERATE_SUMMARY_SPEC: "autotel-eventcatalog-generate-summary/v0.1.0";
34
+ export declare const GENERATE_SUMMARY_SPEC: 'autotel-eventcatalog-generate-summary/v0.1.0';
35
35
  type GenerateSummary = {
36
36
  spec: typeof GENERATE_SUMMARY_SPEC;
37
37
  dryRun: boolean;
@@ -84,12 +84,12 @@ interface JsonSchemaNode {
84
84
  format?: string;
85
85
  description?: string;
86
86
  }
87
- declare function generateCatalogFromSnapshot(opts: GenerateOptions): Promise<GenerateResult>;
88
- declare function buildGenerateSummary(result: GenerateResult, options: {
87
+ export declare function generateCatalogFromSnapshot(opts: GenerateOptions): Promise<GenerateResult>;
88
+ export declare function buildGenerateSummary(result: GenerateResult, options: {
89
89
  dryRun: boolean;
90
90
  edgesOnly: boolean;
91
91
  }): GenerateSummary;
92
- declare function inferJsonSchemaFromObservation(observation: EventObservation): JsonSchemaNode;
92
+ export declare function inferJsonSchemaFromObservation(observation: EventObservation): JsonSchemaNode;
93
93
  //#endregion
94
94
  //#region src/catalog.d.ts
95
95
  type SchemaConstraint = {
@@ -114,13 +114,13 @@ type CatalogState = {
114
114
  services: Map<string, CatalogService>;
115
115
  channels: Map<string, CatalogChannel>;
116
116
  };
117
- declare function readCatalogState(catalogPath: string): Promise<CatalogState>;
117
+ export declare function readCatalogState(catalogPath: string): Promise<CatalogState>;
118
118
  /**
119
119
  * Extract field paths from a JSON Schema. Mirrors the dotted-path convention
120
120
  * used by the snapshot subscriber: arrays collapse to `[]`, nested objects
121
121
  * use `.`. We walk `properties` (objects) and `items` (arrays).
122
122
  */
123
- declare function extractDeclaredFieldPaths(schema?: JsonSchemaNode, prefix?: string): string[];
123
+ export declare function extractDeclaredFieldPaths(schema?: JsonSchemaNode, prefix?: string): string[];
124
124
  //#endregion
125
125
  //#region src/diff.d.ts
126
126
  type EventDrift = {
@@ -170,7 +170,7 @@ type DriftReport = {
170
170
  channels: ChannelDrift;
171
171
  };
172
172
  /** True if the report contains any drift worth surfacing in a PR check. */
173
- declare function hasDrift(report: DriftReport): boolean;
173
+ export declare function hasDrift(report: DriftReport): boolean;
174
174
  /**
175
175
  * Per-category counts for a DriftReport. Keeps the dashboard's hero meter,
176
176
  * the CLI's summary-output, and the action's structured output all agreeing
@@ -190,8 +190,8 @@ type DriftCounts = {
190
190
  undocumentedServices: number;
191
191
  undocumentedChannels: number;
192
192
  };
193
- declare function countDriftReport(report: DriftReport): DriftCounts;
194
- declare function diffCatalogAgainstSnapshot(snapshot: ArchitectureSnapshot, catalog: CatalogState): DriftReport;
193
+ export declare function countDriftReport(report: DriftReport): DriftCounts;
194
+ export declare function diffCatalogAgainstSnapshot(snapshot: ArchitectureSnapshot, catalog: CatalogState): DriftReport;
195
195
  //#endregion
196
196
  //#region src/diff-vs-base.d.ts
197
197
  type DriftDelta = {
@@ -217,14 +217,14 @@ type DriftEntries = {
217
217
  observedButUndocumented: string[];
218
218
  };
219
219
  };
220
- declare function compareDriftReports(base: DriftReport, head: DriftReport): DriftDelta;
220
+ export declare function compareDriftReports(base: DriftReport, head: DriftReport): DriftDelta;
221
221
  /**
222
222
  * Per-category counts for one side of a DriftDelta (introduced or resolved).
223
223
  * Same shape as DriftCounts so dashboards and CI can render the
224
224
  * introduced/resolved sections with identical accounting.
225
225
  */
226
- declare function countDriftEntries(entries: DriftEntries): DriftCounts;
227
- declare function countDriftDelta(delta: DriftDelta): {
226
+ export declare function countDriftEntries(entries: DriftEntries): DriftCounts;
227
+ export declare function countDriftDelta(delta: DriftDelta): {
228
228
  introduced: DriftCounts;
229
229
  resolved: DriftCounts;
230
230
  };
@@ -242,23 +242,23 @@ interface Renderer {
242
242
  }
243
243
  //#endregion
244
244
  //#region src/renderers/markdown.d.ts
245
- declare function renderMarkdown(report: DriftReport): string;
245
+ export declare function renderMarkdown(report: DriftReport): string;
246
246
  /**
247
247
  * Render the diff-of-diffs as a PR-comment-friendly markdown block. Sections
248
248
  * appear only when they have content, so a clean PR produces a tight message.
249
249
  */
250
- declare function renderDeltaMarkdown(delta: DriftDelta): string;
250
+ export declare function renderDeltaMarkdown(delta: DriftDelta): string;
251
251
  //#endregion
252
252
  //#region src/renderers/terminal.d.ts
253
- declare function renderTerminal(report: DriftReport): string;
254
- declare function renderDeltaTerminal(delta: DriftDelta): string;
253
+ export declare function renderTerminal(report: DriftReport): string;
254
+ export declare function renderDeltaTerminal(delta: DriftDelta): string;
255
255
  //#endregion
256
256
  //#region src/renderers/json.d.ts
257
257
  /**
258
258
  * Versioned identifier baked into the JSON envelope. Bumping it is a
259
259
  * breaking change for downstream consumers; add fields rather than rename.
260
260
  */
261
- declare const REPORT_SPEC: "autotel-eventcatalog-report/v0.2.0";
261
+ export declare const REPORT_SPEC: 'autotel-eventcatalog-report/v0.2.0';
262
262
  type JsonReport = {
263
263
  mode: 'all';
264
264
  report: DriftReport;
@@ -269,7 +269,7 @@ type JsonReport = {
269
269
  type JsonReportEnvelope = {
270
270
  spec: typeof REPORT_SPEC;
271
271
  } & JsonReport;
272
- declare function renderJson(data: JsonReport): string;
272
+ export declare function renderJson(data: JsonReport): string;
273
273
  //#endregion
274
274
  //#region src/eventcatalog-snapshot-diff.d.ts
275
275
  type SnapshotResourceType = 'event' | 'command' | 'query' | 'service' | 'domain' | 'channel';
@@ -312,34 +312,34 @@ type EventCatalogSnapshotDiff = {
312
312
  resources: ResourceChange[];
313
313
  relationships: RelationshipChange[];
314
314
  };
315
- declare function toSnapshotDiffFromReport(report: DriftReport): EventCatalogSnapshotDiff;
316
- declare function toSnapshotDiffFromDelta(delta: DriftDelta): EventCatalogSnapshotDiff;
315
+ export declare function toSnapshotDiffFromReport(report: DriftReport): EventCatalogSnapshotDiff;
316
+ export declare function toSnapshotDiffFromDelta(delta: DriftDelta): EventCatalogSnapshotDiff;
317
317
  //#endregion
318
318
  //#region src/renderers/eventcatalog-snapshot-diff.d.ts
319
- declare const EVENTCATALOG_SNAPSHOT_DIFF_SPEC: "autotel-eventcatalog-snapshot-diff/v0.1.0";
319
+ export declare const EVENTCATALOG_SNAPSHOT_DIFF_SPEC: 'autotel-eventcatalog-snapshot-diff/v0.1.0';
320
320
  type EventCatalogSnapshotDiffEnvelope = {
321
321
  spec: typeof EVENTCATALOG_SNAPSHOT_DIFF_SPEC;
322
322
  mode: 'all' | 'new-only';
323
323
  diff: ReturnType<typeof toSnapshotDiffFromReport>;
324
324
  };
325
- declare function renderEventCatalogSnapshotDiffFromReport(report: DriftReport): string;
326
- declare function renderEventCatalogSnapshotDiffFromDelta(delta: DriftDelta): string;
325
+ export declare function renderEventCatalogSnapshotDiffFromReport(report: DriftReport): string;
326
+ export declare function renderEventCatalogSnapshotDiffFromDelta(delta: DriftDelta): string;
327
327
  //#endregion
328
328
  //#region src/renderers/index.d.ts
329
329
  /**
330
330
  * @deprecated Use `listRenderers()` for the full registry (built-ins plus
331
331
  * any registered at runtime). Kept for backwards compatibility.
332
332
  */
333
- declare const RENDERERS: readonly Renderer[];
333
+ export declare const RENDERERS: readonly Renderer[];
334
334
  /**
335
335
  * Names of the built-in renderers, narrowed to a string literal union via
336
336
  * `as const`. Custom renderers registered via `registerRenderer` widen the
337
337
  * runtime set but not this type; the CLI uses `listRendererNames()` for
338
338
  * runtime listings.
339
339
  */
340
- declare const RENDERER_NAMES: readonly ["markdown", "terminal", "json", "eventcatalog-snapshot-diff"];
340
+ export declare const RENDERER_NAMES: readonly ['markdown', 'terminal', 'json', 'eventcatalog-snapshot-diff'];
341
341
  type RendererName = (typeof RENDERER_NAMES)[number];
342
- declare function getRenderer(name: string): Renderer | undefined;
342
+ export declare function getRenderer(name: string): Renderer | undefined;
343
343
  //#endregion
344
344
  //#region src/policy.d.ts
345
345
  type DriftPolicyMode = 'all' | 'new-only';
@@ -354,11 +354,11 @@ type PolicyEvaluationResult = {
354
354
  shouldFail: boolean;
355
355
  reason: string;
356
356
  };
357
- declare function evaluatePolicy(input: PolicyEvaluationInput): PolicyEvaluationResult;
357
+ export declare function evaluatePolicy(input: PolicyEvaluationInput): PolicyEvaluationResult;
358
358
  //#endregion
359
359
  //#region src/stamp.d.ts
360
- declare const STAMP_START = "<!-- autotel:stamp-start -->";
361
- declare const STAMP_END = "<!-- autotel:stamp-end -->";
360
+ export declare const STAMP_START = "<!-- autotel:stamp-start -->";
361
+ export declare const STAMP_END = "<!-- autotel:stamp-end -->";
362
362
  interface StampOptions {
363
363
  /** Loaded snapshot, OR pass `loadSnapshot(path)` from the caller. */
364
364
  snapshot: ArchitectureSnapshot;
@@ -394,15 +394,15 @@ type StampResult = {
394
394
  updates: StampUpdate[];
395
395
  skips: StampSkip[];
396
396
  };
397
- declare function stampCatalog(opts: StampOptions): Promise<StampResult>;
397
+ export declare function stampCatalog(opts: StampOptions): Promise<StampResult>;
398
398
  /**
399
399
  * Render the evidence block. Designed to be readable in raw mdx AND visually
400
400
  * distinct when rendered by EventCatalog (uses the existing
401
401
  * `.evidence-callout` class, plus a small header label).
402
402
  */
403
- declare function buildStampBlock(obs: EventObservation): string;
403
+ export declare function buildStampBlock(obs: EventObservation): string;
404
404
  /** Versioned identifier for the stamp summary JSON file. */
405
- declare const STAMP_SUMMARY_SPEC: "autotel-eventcatalog-stamp-summary/v0.1.0";
405
+ export declare const STAMP_SUMMARY_SPEC: 'autotel-eventcatalog-stamp-summary/v0.1.0';
406
406
  type StampSummary = {
407
407
  spec: typeof STAMP_SUMMARY_SPEC;
408
408
  dryRun: boolean;
@@ -423,7 +423,7 @@ type StampSummary = {
423
423
  */
424
424
  hadChanges: boolean;
425
425
  };
426
- declare function buildStampSummary(result: StampResult, dryRun: boolean): StampSummary;
426
+ export declare function buildStampSummary(result: StampResult, dryRun: boolean): StampSummary;
427
427
  //#endregion
428
428
  //#region src/suggest.d.ts
429
429
  type SuggestionConfidence = 'likely' | 'possible';
@@ -447,7 +447,7 @@ type RenameSuggestion = {
447
447
  * same catalog entry cannot both be that rename, and offering both would send
448
448
  * someone to rename one thing twice.
449
449
  */
450
- declare function suggestRenames(report: DriftReport): RenameSuggestion[];
450
+ export declare function suggestRenames(report: DriftReport): RenameSuggestion[];
451
451
  /**
452
452
  * The pairing itself, over two plain lists.
453
453
  *
@@ -455,12 +455,12 @@ declare function suggestRenames(report: DriftReport): RenameSuggestion[];
455
455
  * building a `DriftReport` — one rule, so the map and the report can never
456
456
  * disagree about whether something is a rename.
457
457
  */
458
- declare function suggestRenamesBetween(observed: string[], documented: string[]): RenameSuggestion[];
458
+ export declare function suggestRenamesBetween(observed: string[], documented: string[]): RenameSuggestion[];
459
459
  /** One line a human can act on, shared by every renderer. */
460
- declare function describeSuggestion(suggestion: RenameSuggestion): string;
460
+ export declare function describeSuggestion(suggestion: RenameSuggestion): string;
461
461
  //#endregion
462
462
  //#region src/map.d.ts
463
- declare const LIVE_MAP_SPEC = "autotel-eventcatalog-map/v0.1.0";
463
+ export declare const LIVE_MAP_SPEC = "autotel-eventcatalog-map/v0.1.0";
464
464
  type MapLiveness = 'observed' | 'declared-only' | 'undocumented';
465
465
  type MapEvidence = 'observed' | 'asserted';
466
466
  type MapNodeKind = 'service' | 'event' | 'channel';
@@ -521,7 +521,7 @@ type LiveMap = {
521
521
  */
522
522
  suggestions: RenameSuggestion[];
523
523
  };
524
- declare function buildLiveMap(snapshot: ArchitectureSnapshot, catalog: CatalogState): LiveMap;
524
+ export declare function buildLiveMap(snapshot: ArchitectureSnapshot, catalog: CatalogState): LiveMap;
525
525
  //#endregion
526
526
  //#region src/renderers/map-html.d.ts
527
527
  type MapMode = 'static' | 'replay' | 'live';
@@ -538,6 +538,6 @@ type RenderMapOptions = {
538
538
  liveEventName?: string;
539
539
  title?: string;
540
540
  };
541
- declare function renderLiveMapHtml(map: LiveMap, options?: RenderMapOptions): string;
541
+ export declare function renderLiveMapHtml(map: LiveMap, options?: RenderMapOptions): string;
542
542
  //#endregion
543
- export { type ArchitectureSnapshot, type CatalogChannel, type CatalogEvent, type CatalogService, type CatalogState, type ChannelDrift, type DriftCounts, type DriftDelta, type DriftEntries, type DriftPolicyMode, type DriftReport, EVENTCATALOG_SNAPSHOT_DIFF_SPEC, type EventCatalogSnapshotDiff, type EventCatalogSnapshotDiffEnvelope, type EventDrift, type EventObservation, type FieldDrift, GENERATE_SUMMARY_SPEC, type GenerateOptions, type GenerateResult, type GenerateSummary, type GenerateSummaryItem, type JsonReport, type JsonReportEnvelope, LIVE_MAP_SPEC, type LiveMap, type LiveMapSummary, type MapEdge, type MapEdgeKind, type MapEvidence, type MapLiveness, type MapMode, type MapNode, type MapNodeKind, type PolicyEvaluationInput, type PolicyEvaluationResult, RENDERERS, RENDERER_NAMES, REPORT_SPEC, type RelationshipChange, type RenameSuggestion, type RenderMapOptions, type Renderer, type RendererName, type ResourceChange, STAMP_END, STAMP_START, STAMP_SUMMARY_SPEC, type ServiceDrift, type StampOptions, type StampResult, type StampSkip, type StampSummary, type StampUpdate, type SuggestionConfidence, buildGenerateSummary, buildLiveMap, buildStampBlock, buildStampSummary, compareDriftReports, countDriftDelta, countDriftEntries, countDriftReport, describeSuggestion, diffCatalogAgainstSnapshot, evaluatePolicy, extractDeclaredFieldPaths, generateCatalogFromSnapshot, getRenderer, hasDrift, inferJsonSchemaFromObservation, loadSnapshot, readCatalogState, renderDeltaMarkdown, renderDeltaTerminal, renderEventCatalogSnapshotDiffFromDelta, renderEventCatalogSnapshotDiffFromReport, renderJson, renderLiveMapHtml, renderMarkdown, renderTerminal, stampCatalog, suggestRenames, suggestRenamesBetween, toSnapshotDiffFromDelta, toSnapshotDiffFromReport };
543
+ export type { ArchitectureSnapshot, CatalogChannel, CatalogEvent, CatalogService, CatalogState, ChannelDrift, DriftCounts, DriftDelta, DriftEntries, DriftPolicyMode, DriftReport, EventCatalogSnapshotDiff, EventCatalogSnapshotDiffEnvelope, EventDrift, EventObservation, FieldDrift, GenerateOptions, GenerateResult, GenerateSummary, GenerateSummaryItem, JsonReport, JsonReportEnvelope, LiveMap, LiveMapSummary, MapEdge, MapEdgeKind, MapEvidence, MapLiveness, MapMode, MapNode, MapNodeKind, PolicyEvaluationInput, PolicyEvaluationResult, RelationshipChange, RenameSuggestion, RenderMapOptions, Renderer, RendererName, ResourceChange, ServiceDrift, StampOptions, StampResult, StampSkip, StampSummary, StampUpdate, SuggestionConfidence };
package/dist/index.d.ts CHANGED
@@ -9,7 +9,7 @@ import { ArchitectureSnapshot, ArchitectureSnapshot as ArchitectureSnapshot$1, E
9
9
  * JSON, or is not recognisable as an autotel snapshot, so the CLI surfaces
10
10
  * an actionable message rather than a raw `ENOENT` or `SyntaxError`.
11
11
  */
12
- declare function loadSnapshot(path: string): Promise<ArchitectureSnapshot$1>;
12
+ export declare function loadSnapshot(path: string): Promise<ArchitectureSnapshot$1>;
13
13
  //#endregion
14
14
  //#region src/generate.d.ts
15
15
  interface GenerateOptions {
@@ -31,7 +31,7 @@ type GenerateSummaryItem = {
31
31
  interface GenerateResult {
32
32
  operations: GenerateSummaryItem[];
33
33
  }
34
- declare const GENERATE_SUMMARY_SPEC: "autotel-eventcatalog-generate-summary/v0.1.0";
34
+ export declare const GENERATE_SUMMARY_SPEC: 'autotel-eventcatalog-generate-summary/v0.1.0';
35
35
  type GenerateSummary = {
36
36
  spec: typeof GENERATE_SUMMARY_SPEC;
37
37
  dryRun: boolean;
@@ -84,12 +84,12 @@ interface JsonSchemaNode {
84
84
  format?: string;
85
85
  description?: string;
86
86
  }
87
- declare function generateCatalogFromSnapshot(opts: GenerateOptions): Promise<GenerateResult>;
88
- declare function buildGenerateSummary(result: GenerateResult, options: {
87
+ export declare function generateCatalogFromSnapshot(opts: GenerateOptions): Promise<GenerateResult>;
88
+ export declare function buildGenerateSummary(result: GenerateResult, options: {
89
89
  dryRun: boolean;
90
90
  edgesOnly: boolean;
91
91
  }): GenerateSummary;
92
- declare function inferJsonSchemaFromObservation(observation: EventObservation): JsonSchemaNode;
92
+ export declare function inferJsonSchemaFromObservation(observation: EventObservation): JsonSchemaNode;
93
93
  //#endregion
94
94
  //#region src/catalog.d.ts
95
95
  type SchemaConstraint = {
@@ -114,13 +114,13 @@ type CatalogState = {
114
114
  services: Map<string, CatalogService>;
115
115
  channels: Map<string, CatalogChannel>;
116
116
  };
117
- declare function readCatalogState(catalogPath: string): Promise<CatalogState>;
117
+ export declare function readCatalogState(catalogPath: string): Promise<CatalogState>;
118
118
  /**
119
119
  * Extract field paths from a JSON Schema. Mirrors the dotted-path convention
120
120
  * used by the snapshot subscriber: arrays collapse to `[]`, nested objects
121
121
  * use `.`. We walk `properties` (objects) and `items` (arrays).
122
122
  */
123
- declare function extractDeclaredFieldPaths(schema?: JsonSchemaNode, prefix?: string): string[];
123
+ export declare function extractDeclaredFieldPaths(schema?: JsonSchemaNode, prefix?: string): string[];
124
124
  //#endregion
125
125
  //#region src/diff.d.ts
126
126
  type EventDrift = {
@@ -170,7 +170,7 @@ type DriftReport = {
170
170
  channels: ChannelDrift;
171
171
  };
172
172
  /** True if the report contains any drift worth surfacing in a PR check. */
173
- declare function hasDrift(report: DriftReport): boolean;
173
+ export declare function hasDrift(report: DriftReport): boolean;
174
174
  /**
175
175
  * Per-category counts for a DriftReport. Keeps the dashboard's hero meter,
176
176
  * the CLI's summary-output, and the action's structured output all agreeing
@@ -190,8 +190,8 @@ type DriftCounts = {
190
190
  undocumentedServices: number;
191
191
  undocumentedChannels: number;
192
192
  };
193
- declare function countDriftReport(report: DriftReport): DriftCounts;
194
- declare function diffCatalogAgainstSnapshot(snapshot: ArchitectureSnapshot, catalog: CatalogState): DriftReport;
193
+ export declare function countDriftReport(report: DriftReport): DriftCounts;
194
+ export declare function diffCatalogAgainstSnapshot(snapshot: ArchitectureSnapshot, catalog: CatalogState): DriftReport;
195
195
  //#endregion
196
196
  //#region src/diff-vs-base.d.ts
197
197
  type DriftDelta = {
@@ -217,14 +217,14 @@ type DriftEntries = {
217
217
  observedButUndocumented: string[];
218
218
  };
219
219
  };
220
- declare function compareDriftReports(base: DriftReport, head: DriftReport): DriftDelta;
220
+ export declare function compareDriftReports(base: DriftReport, head: DriftReport): DriftDelta;
221
221
  /**
222
222
  * Per-category counts for one side of a DriftDelta (introduced or resolved).
223
223
  * Same shape as DriftCounts so dashboards and CI can render the
224
224
  * introduced/resolved sections with identical accounting.
225
225
  */
226
- declare function countDriftEntries(entries: DriftEntries): DriftCounts;
227
- declare function countDriftDelta(delta: DriftDelta): {
226
+ export declare function countDriftEntries(entries: DriftEntries): DriftCounts;
227
+ export declare function countDriftDelta(delta: DriftDelta): {
228
228
  introduced: DriftCounts;
229
229
  resolved: DriftCounts;
230
230
  };
@@ -242,23 +242,23 @@ interface Renderer {
242
242
  }
243
243
  //#endregion
244
244
  //#region src/renderers/markdown.d.ts
245
- declare function renderMarkdown(report: DriftReport): string;
245
+ export declare function renderMarkdown(report: DriftReport): string;
246
246
  /**
247
247
  * Render the diff-of-diffs as a PR-comment-friendly markdown block. Sections
248
248
  * appear only when they have content, so a clean PR produces a tight message.
249
249
  */
250
- declare function renderDeltaMarkdown(delta: DriftDelta): string;
250
+ export declare function renderDeltaMarkdown(delta: DriftDelta): string;
251
251
  //#endregion
252
252
  //#region src/renderers/terminal.d.ts
253
- declare function renderTerminal(report: DriftReport): string;
254
- declare function renderDeltaTerminal(delta: DriftDelta): string;
253
+ export declare function renderTerminal(report: DriftReport): string;
254
+ export declare function renderDeltaTerminal(delta: DriftDelta): string;
255
255
  //#endregion
256
256
  //#region src/renderers/json.d.ts
257
257
  /**
258
258
  * Versioned identifier baked into the JSON envelope. Bumping it is a
259
259
  * breaking change for downstream consumers; add fields rather than rename.
260
260
  */
261
- declare const REPORT_SPEC: "autotel-eventcatalog-report/v0.2.0";
261
+ export declare const REPORT_SPEC: 'autotel-eventcatalog-report/v0.2.0';
262
262
  type JsonReport = {
263
263
  mode: 'all';
264
264
  report: DriftReport;
@@ -269,7 +269,7 @@ type JsonReport = {
269
269
  type JsonReportEnvelope = {
270
270
  spec: typeof REPORT_SPEC;
271
271
  } & JsonReport;
272
- declare function renderJson(data: JsonReport): string;
272
+ export declare function renderJson(data: JsonReport): string;
273
273
  //#endregion
274
274
  //#region src/eventcatalog-snapshot-diff.d.ts
275
275
  type SnapshotResourceType = 'event' | 'command' | 'query' | 'service' | 'domain' | 'channel';
@@ -312,34 +312,34 @@ type EventCatalogSnapshotDiff = {
312
312
  resources: ResourceChange[];
313
313
  relationships: RelationshipChange[];
314
314
  };
315
- declare function toSnapshotDiffFromReport(report: DriftReport): EventCatalogSnapshotDiff;
316
- declare function toSnapshotDiffFromDelta(delta: DriftDelta): EventCatalogSnapshotDiff;
315
+ export declare function toSnapshotDiffFromReport(report: DriftReport): EventCatalogSnapshotDiff;
316
+ export declare function toSnapshotDiffFromDelta(delta: DriftDelta): EventCatalogSnapshotDiff;
317
317
  //#endregion
318
318
  //#region src/renderers/eventcatalog-snapshot-diff.d.ts
319
- declare const EVENTCATALOG_SNAPSHOT_DIFF_SPEC: "autotel-eventcatalog-snapshot-diff/v0.1.0";
319
+ export declare const EVENTCATALOG_SNAPSHOT_DIFF_SPEC: 'autotel-eventcatalog-snapshot-diff/v0.1.0';
320
320
  type EventCatalogSnapshotDiffEnvelope = {
321
321
  spec: typeof EVENTCATALOG_SNAPSHOT_DIFF_SPEC;
322
322
  mode: 'all' | 'new-only';
323
323
  diff: ReturnType<typeof toSnapshotDiffFromReport>;
324
324
  };
325
- declare function renderEventCatalogSnapshotDiffFromReport(report: DriftReport): string;
326
- declare function renderEventCatalogSnapshotDiffFromDelta(delta: DriftDelta): string;
325
+ export declare function renderEventCatalogSnapshotDiffFromReport(report: DriftReport): string;
326
+ export declare function renderEventCatalogSnapshotDiffFromDelta(delta: DriftDelta): string;
327
327
  //#endregion
328
328
  //#region src/renderers/index.d.ts
329
329
  /**
330
330
  * @deprecated Use `listRenderers()` for the full registry (built-ins plus
331
331
  * any registered at runtime). Kept for backwards compatibility.
332
332
  */
333
- declare const RENDERERS: readonly Renderer[];
333
+ export declare const RENDERERS: readonly Renderer[];
334
334
  /**
335
335
  * Names of the built-in renderers, narrowed to a string literal union via
336
336
  * `as const`. Custom renderers registered via `registerRenderer` widen the
337
337
  * runtime set but not this type; the CLI uses `listRendererNames()` for
338
338
  * runtime listings.
339
339
  */
340
- declare const RENDERER_NAMES: readonly ["markdown", "terminal", "json", "eventcatalog-snapshot-diff"];
340
+ export declare const RENDERER_NAMES: readonly ['markdown', 'terminal', 'json', 'eventcatalog-snapshot-diff'];
341
341
  type RendererName = (typeof RENDERER_NAMES)[number];
342
- declare function getRenderer(name: string): Renderer | undefined;
342
+ export declare function getRenderer(name: string): Renderer | undefined;
343
343
  //#endregion
344
344
  //#region src/policy.d.ts
345
345
  type DriftPolicyMode = 'all' | 'new-only';
@@ -354,11 +354,11 @@ type PolicyEvaluationResult = {
354
354
  shouldFail: boolean;
355
355
  reason: string;
356
356
  };
357
- declare function evaluatePolicy(input: PolicyEvaluationInput): PolicyEvaluationResult;
357
+ export declare function evaluatePolicy(input: PolicyEvaluationInput): PolicyEvaluationResult;
358
358
  //#endregion
359
359
  //#region src/stamp.d.ts
360
- declare const STAMP_START = "<!-- autotel:stamp-start -->";
361
- declare const STAMP_END = "<!-- autotel:stamp-end -->";
360
+ export declare const STAMP_START = "<!-- autotel:stamp-start -->";
361
+ export declare const STAMP_END = "<!-- autotel:stamp-end -->";
362
362
  interface StampOptions {
363
363
  /** Loaded snapshot, OR pass `loadSnapshot(path)` from the caller. */
364
364
  snapshot: ArchitectureSnapshot;
@@ -394,15 +394,15 @@ type StampResult = {
394
394
  updates: StampUpdate[];
395
395
  skips: StampSkip[];
396
396
  };
397
- declare function stampCatalog(opts: StampOptions): Promise<StampResult>;
397
+ export declare function stampCatalog(opts: StampOptions): Promise<StampResult>;
398
398
  /**
399
399
  * Render the evidence block. Designed to be readable in raw mdx AND visually
400
400
  * distinct when rendered by EventCatalog (uses the existing
401
401
  * `.evidence-callout` class, plus a small header label).
402
402
  */
403
- declare function buildStampBlock(obs: EventObservation): string;
403
+ export declare function buildStampBlock(obs: EventObservation): string;
404
404
  /** Versioned identifier for the stamp summary JSON file. */
405
- declare const STAMP_SUMMARY_SPEC: "autotel-eventcatalog-stamp-summary/v0.1.0";
405
+ export declare const STAMP_SUMMARY_SPEC: 'autotel-eventcatalog-stamp-summary/v0.1.0';
406
406
  type StampSummary = {
407
407
  spec: typeof STAMP_SUMMARY_SPEC;
408
408
  dryRun: boolean;
@@ -423,7 +423,7 @@ type StampSummary = {
423
423
  */
424
424
  hadChanges: boolean;
425
425
  };
426
- declare function buildStampSummary(result: StampResult, dryRun: boolean): StampSummary;
426
+ export declare function buildStampSummary(result: StampResult, dryRun: boolean): StampSummary;
427
427
  //#endregion
428
428
  //#region src/suggest.d.ts
429
429
  type SuggestionConfidence = 'likely' | 'possible';
@@ -447,7 +447,7 @@ type RenameSuggestion = {
447
447
  * same catalog entry cannot both be that rename, and offering both would send
448
448
  * someone to rename one thing twice.
449
449
  */
450
- declare function suggestRenames(report: DriftReport): RenameSuggestion[];
450
+ export declare function suggestRenames(report: DriftReport): RenameSuggestion[];
451
451
  /**
452
452
  * The pairing itself, over two plain lists.
453
453
  *
@@ -455,12 +455,12 @@ declare function suggestRenames(report: DriftReport): RenameSuggestion[];
455
455
  * building a `DriftReport` — one rule, so the map and the report can never
456
456
  * disagree about whether something is a rename.
457
457
  */
458
- declare function suggestRenamesBetween(observed: string[], documented: string[]): RenameSuggestion[];
458
+ export declare function suggestRenamesBetween(observed: string[], documented: string[]): RenameSuggestion[];
459
459
  /** One line a human can act on, shared by every renderer. */
460
- declare function describeSuggestion(suggestion: RenameSuggestion): string;
460
+ export declare function describeSuggestion(suggestion: RenameSuggestion): string;
461
461
  //#endregion
462
462
  //#region src/map.d.ts
463
- declare const LIVE_MAP_SPEC = "autotel-eventcatalog-map/v0.1.0";
463
+ export declare const LIVE_MAP_SPEC = "autotel-eventcatalog-map/v0.1.0";
464
464
  type MapLiveness = 'observed' | 'declared-only' | 'undocumented';
465
465
  type MapEvidence = 'observed' | 'asserted';
466
466
  type MapNodeKind = 'service' | 'event' | 'channel';
@@ -521,7 +521,7 @@ type LiveMap = {
521
521
  */
522
522
  suggestions: RenameSuggestion[];
523
523
  };
524
- declare function buildLiveMap(snapshot: ArchitectureSnapshot, catalog: CatalogState): LiveMap;
524
+ export declare function buildLiveMap(snapshot: ArchitectureSnapshot, catalog: CatalogState): LiveMap;
525
525
  //#endregion
526
526
  //#region src/renderers/map-html.d.ts
527
527
  type MapMode = 'static' | 'replay' | 'live';
@@ -538,6 +538,6 @@ type RenderMapOptions = {
538
538
  liveEventName?: string;
539
539
  title?: string;
540
540
  };
541
- declare function renderLiveMapHtml(map: LiveMap, options?: RenderMapOptions): string;
541
+ export declare function renderLiveMapHtml(map: LiveMap, options?: RenderMapOptions): string;
542
542
  //#endregion
543
- export { type ArchitectureSnapshot, type CatalogChannel, type CatalogEvent, type CatalogService, type CatalogState, type ChannelDrift, type DriftCounts, type DriftDelta, type DriftEntries, type DriftPolicyMode, type DriftReport, EVENTCATALOG_SNAPSHOT_DIFF_SPEC, type EventCatalogSnapshotDiff, type EventCatalogSnapshotDiffEnvelope, type EventDrift, type EventObservation, type FieldDrift, GENERATE_SUMMARY_SPEC, type GenerateOptions, type GenerateResult, type GenerateSummary, type GenerateSummaryItem, type JsonReport, type JsonReportEnvelope, LIVE_MAP_SPEC, type LiveMap, type LiveMapSummary, type MapEdge, type MapEdgeKind, type MapEvidence, type MapLiveness, type MapMode, type MapNode, type MapNodeKind, type PolicyEvaluationInput, type PolicyEvaluationResult, RENDERERS, RENDERER_NAMES, REPORT_SPEC, type RelationshipChange, type RenameSuggestion, type RenderMapOptions, type Renderer, type RendererName, type ResourceChange, STAMP_END, STAMP_START, STAMP_SUMMARY_SPEC, type ServiceDrift, type StampOptions, type StampResult, type StampSkip, type StampSummary, type StampUpdate, type SuggestionConfidence, buildGenerateSummary, buildLiveMap, buildStampBlock, buildStampSummary, compareDriftReports, countDriftDelta, countDriftEntries, countDriftReport, describeSuggestion, diffCatalogAgainstSnapshot, evaluatePolicy, extractDeclaredFieldPaths, generateCatalogFromSnapshot, getRenderer, hasDrift, inferJsonSchemaFromObservation, loadSnapshot, readCatalogState, renderDeltaMarkdown, renderDeltaTerminal, renderEventCatalogSnapshotDiffFromDelta, renderEventCatalogSnapshotDiffFromReport, renderJson, renderLiveMapHtml, renderMarkdown, renderTerminal, stampCatalog, suggestRenames, suggestRenamesBetween, toSnapshotDiffFromDelta, toSnapshotDiffFromReport };
543
+ export type { ArchitectureSnapshot, CatalogChannel, CatalogEvent, CatalogService, CatalogState, ChannelDrift, DriftCounts, DriftDelta, DriftEntries, DriftPolicyMode, DriftReport, EventCatalogSnapshotDiff, EventCatalogSnapshotDiffEnvelope, EventDrift, EventObservation, FieldDrift, GenerateOptions, GenerateResult, GenerateSummary, GenerateSummaryItem, JsonReport, JsonReportEnvelope, LiveMap, LiveMapSummary, MapEdge, MapEdgeKind, MapEvidence, MapLiveness, MapMode, MapNode, MapNodeKind, PolicyEvaluationInput, PolicyEvaluationResult, RelationshipChange, RenameSuggestion, RenderMapOptions, Renderer, RendererName, ResourceChange, ServiceDrift, StampOptions, StampResult, StampSkip, StampSummary, StampUpdate, SuggestionConfidence };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
- import { A as renderMarkdown, B as extractDeclaredFieldPaths, C as toSnapshotDiffFromDelta, D as renderDeltaTerminal, E as renderJson, F as countDriftDelta, H as loadSnapshot, I as countDriftEntries, L as countDriftReport, M as suggestRenames, N as suggestRenamesBetween, O as renderTerminal, P as compareDriftReports, R as diffCatalogAgainstSnapshot, S as renderEventCatalogSnapshotDiffFromReport, T as REPORT_SPEC, V as readCatalogState, _ as getRenderer, a as buildGenerateSummary, b as EVENTCATALOG_SNAPSHOT_DIFF_SPEC, c as STAMP_END, d as buildStampBlock, f as buildStampSummary, g as RENDERER_NAMES, h as RENDERERS, i as GENERATE_SUMMARY_SPEC, j as describeSuggestion, k as renderDeltaMarkdown, l as STAMP_START, m as evaluatePolicy, n as LIVE_MAP_SPEC, o as generateCatalogFromSnapshot, p as stampCatalog, r as buildLiveMap, s as inferJsonSchemaFromObservation, t as renderLiveMapHtml, u as STAMP_SUMMARY_SPEC, w as toSnapshotDiffFromReport, x as renderEventCatalogSnapshotDiffFromDelta, z as hasDrift } from "./map-html-BrSITccr.js";
2
+ import { A as renderMarkdown, B as extractDeclaredFieldPaths, C as toSnapshotDiffFromDelta, D as renderDeltaTerminal, E as renderJson, F as countDriftDelta, H as loadSnapshot, I as countDriftEntries, L as countDriftReport, M as suggestRenames, N as suggestRenamesBetween, O as renderTerminal, P as compareDriftReports, R as diffCatalogAgainstSnapshot, S as renderEventCatalogSnapshotDiffFromReport, T as REPORT_SPEC, V as readCatalogState, _ as getRenderer, a as buildGenerateSummary, b as EVENTCATALOG_SNAPSHOT_DIFF_SPEC, c as STAMP_END, d as buildStampBlock, f as buildStampSummary, g as RENDERER_NAMES, h as RENDERERS, i as GENERATE_SUMMARY_SPEC, j as describeSuggestion, k as renderDeltaMarkdown, l as STAMP_START, m as evaluatePolicy, n as LIVE_MAP_SPEC, o as generateCatalogFromSnapshot, p as stampCatalog, r as buildLiveMap, s as inferJsonSchemaFromObservation, t as renderLiveMapHtml, u as STAMP_SUMMARY_SPEC, w as toSnapshotDiffFromReport, x as renderEventCatalogSnapshotDiffFromDelta, z as hasDrift } from "./map-html-DMCQZuer.js";
3
3
 
4
4
  export { EVENTCATALOG_SNAPSHOT_DIFF_SPEC, GENERATE_SUMMARY_SPEC, LIVE_MAP_SPEC, RENDERERS, RENDERER_NAMES, REPORT_SPEC, STAMP_END, STAMP_START, STAMP_SUMMARY_SPEC, buildGenerateSummary, buildLiveMap, buildStampBlock, buildStampSummary, compareDriftReports, countDriftDelta, countDriftEntries, countDriftReport, describeSuggestion, diffCatalogAgainstSnapshot, evaluatePolicy, extractDeclaredFieldPaths, generateCatalogFromSnapshot, getRenderer, hasDrift, inferJsonSchemaFromObservation, loadSnapshot, readCatalogState, renderDeltaMarkdown, renderDeltaTerminal, renderEventCatalogSnapshotDiffFromDelta, renderEventCatalogSnapshotDiffFromReport, renderJson, renderLiveMapHtml, renderMarkdown, renderTerminal, stampCatalog, suggestRenames, suggestRenamesBetween, toSnapshotDiffFromDelta, toSnapshotDiffFromReport };
@@ -1518,7 +1518,7 @@ function buildLiveMap(snapshot, catalog) {
1518
1518
  }
1519
1519
 
1520
1520
  //#endregion
1521
- //#region \0@oxc-project+runtime@0.147.0/helpers/esm/taggedTemplateLiteral.js
1521
+ //#region \0@oxc-project+runtime@0.151.0/helpers/esm/taggedTemplateLiteral.js
1522
1522
  function _taggedTemplateLiteral(e, t) {
1523
1523
  return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } }));
1524
1524
  }
@@ -1546,7 +1546,7 @@ function buildLiveMap(snapshot, catalog) {
1546
1546
  }
1547
1547
 
1548
1548
  //#endregion
1549
- //#region \0@oxc-project+runtime@0.147.0/helpers/esm/taggedTemplateLiteral.js
1549
+ //#region \0@oxc-project+runtime@0.151.0/helpers/esm/taggedTemplateLiteral.js
1550
1550
  function _taggedTemplateLiteral(e, t) {
1551
1551
  return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } }));
1552
1552
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autotel-eventcatalog",
3
- "version": "30.0.0",
3
+ "version": "30.0.1",
4
4
  "description": "Diff your autotel architecture snapshot against an EventCatalog and report drift. Same model as Pact, for event architectures.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -52,24 +52,24 @@
52
52
  "autotel-subscribers": "*"
53
53
  },
54
54
  "devDependencies": {
55
- "@types/node": "^26.1.2",
56
- "autotel-subscribers": "59.0.0",
57
- "playwright": "^1.62.0",
55
+ "@types/node": "^26.6.3",
56
+ "autotel-subscribers": "59.0.1",
57
+ "playwright": "^1.63.0",
58
58
  "rimraf": "^6.1.3",
59
- "tsdown": "^0.22.14",
60
- "typescript": "^6.0.3",
61
- "vitest": "^4.1.10"
59
+ "tsdown": "^0.23.0",
60
+ "typescript": "^7.0.2",
61
+ "vitest": "^5.0.2"
62
62
  },
63
63
  "dependencies": {
64
- "@eventcatalog/sdk": "^2.26.3"
64
+ "@eventcatalog/sdk": "^2.29.1"
65
65
  },
66
66
  "scripts": {
67
67
  "build": "tsdown",
68
68
  "clean": "rimraf dist",
69
69
  "dev": "tsdown --watch",
70
70
  "format:check": "prettier --check src/**/*.ts",
71
- "lint": "eslint src/**/*.ts",
72
- "lint:fix": "eslint src/**/*.ts --fix",
71
+ "lint": "oxlint -c oxlint.json --disable-nested-config src",
72
+ "lint:fix": "pnpm lint --fix",
73
73
  "quality": "pnpm type-check && pnpm test && pnpm test:e2e && pnpm lint && pnpm format:check",
74
74
  "test": "vitest run --exclude **/*.e2e.test.ts",
75
75
  "test:browser": "vitest run map.browser.e2e",