autotel-pact 3.0.0 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/attrs-DbCs1ou0.cjs +61 -0
- package/dist/attrs-DbCs1ou0.cjs.map +1 -0
- package/dist/attrs-ElwK54Ym.js +43 -0
- package/dist/attrs-ElwK54Ym.js.map +1 -0
- package/dist/audit.cjs +155 -394
- package/dist/audit.cjs.map +1 -1
- package/dist/audit.d.cts +15 -13
- package/dist/audit.d.cts.map +1 -0
- package/dist/audit.d.ts +15 -13
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +153 -388
- package/dist/audit.js.map +1 -1
- package/dist/auto-wrap.cjs +206 -240
- package/dist/auto-wrap.cjs.map +1 -1
- package/dist/auto-wrap.d.cts +9 -7
- package/dist/auto-wrap.d.cts.map +1 -0
- package/dist/auto-wrap.d.ts +9 -7
- package/dist/auto-wrap.d.ts.map +1 -0
- package/dist/auto-wrap.js +205 -233
- package/dist/auto-wrap.js.map +1 -1
- package/dist/broker.cjs +65 -68
- package/dist/broker.cjs.map +1 -1
- package/dist/broker.d.cts +11 -9
- package/dist/broker.d.cts.map +1 -0
- package/dist/broker.d.ts +11 -9
- package/dist/broker.d.ts.map +1 -0
- package/dist/broker.js +64 -67
- package/dist/broker.js.map +1 -1
- package/dist/cli.cjs +166 -620
- package/dist/cli.cjs.map +1 -1
- package/dist/cli.d.cts +3 -2
- package/dist/cli.d.cts.map +1 -0
- package/dist/cli.d.ts +3 -2
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +165 -614
- package/dist/cli.js.map +1 -1
- package/dist/index.cjs +245 -952
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +90 -86
- package/dist/index.d.cts.map +1 -0
- package/dist/index.d.ts +90 -86
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +216 -918
- package/dist/index.js.map +1 -1
- package/dist/labels-0Cwk5E-8.cjs +41 -0
- package/dist/labels-0Cwk5E-8.cjs.map +1 -0
- package/dist/labels-BQjT_Zrv.js +23 -0
- package/dist/labels-BQjT_Zrv.js.map +1 -0
- package/dist/{ledger-D88TzN1c.d.cts → ledger-BAFsRX6y.d.cts} +8 -6
- package/dist/ledger-BAFsRX6y.d.cts.map +1 -0
- package/dist/ledger-BayQwemz.cjs +267 -0
- package/dist/ledger-BayQwemz.cjs.map +1 -0
- package/dist/{ledger-BuBmfWNc.d.ts → ledger-Bzh_6tbV.d.ts} +8 -6
- package/dist/ledger-Bzh_6tbV.d.ts.map +1 -0
- package/dist/ledger-sII3Ig3Y.js +174 -0
- package/dist/ledger-sII3Ig3Y.js.map +1 -0
- package/dist/pact-file-B8QjVrC7.cjs +76 -0
- package/dist/pact-file-B8QjVrC7.cjs.map +1 -0
- package/dist/pact-file-CkE4NFZ1.js +57 -0
- package/dist/pact-file-CkE4NFZ1.js.map +1 -0
- package/dist/processor.cjs +112 -185
- package/dist/processor.cjs.map +1 -1
- package/dist/processor.d.cts +41 -40
- package/dist/processor.d.cts.map +1 -0
- package/dist/processor.d.ts +41 -40
- package/dist/processor.d.ts.map +1 -0
- package/dist/processor.js +111 -179
- package/dist/processor.js.map +1 -1
- package/dist/provider.cjs +90 -205
- package/dist/provider.cjs.map +1 -1
- package/dist/provider.d.cts +26 -25
- package/dist/provider.d.cts.map +1 -0
- package/dist/provider.d.ts +26 -25
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +88 -199
- package/dist/provider.js.map +1 -1
- package/dist/tag.cjs +14 -44
- package/dist/tag.cjs.map +1 -1
- package/dist/tag.d.cts +4 -2
- package/dist/tag.d.cts.map +1 -0
- package/dist/tag.d.ts +4 -2
- package/dist/tag.d.ts.map +1 -0
- package/dist/tag.js +13 -42
- package/dist/tag.js.map +1 -1
- package/dist/types-D_0kgK2e.d.cts +154 -0
- package/dist/types-D_0kgK2e.d.cts.map +1 -0
- package/dist/types-D_0kgK2e.d.ts +154 -0
- package/dist/types-D_0kgK2e.d.ts.map +1 -0
- package/package.json +6 -6
- package/dist/types-BHGiwqcp.d.cts +0 -157
- package/dist/types-BHGiwqcp.d.ts +0 -157
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Kind of contract interaction observed.
|
|
4
|
+
*/
|
|
5
|
+
type PactKind = 'message' | 'http';
|
|
6
|
+
type PactOutcome = 'passed' | 'failed';
|
|
7
|
+
type LedgerSource = 'test' | 'production';
|
|
8
|
+
type LedgerRole = 'consumer' | 'provider';
|
|
9
|
+
declare const LEDGER_ENTRY_SPEC = "autotel-pact-ledger-entry/v0.2.0";
|
|
10
|
+
declare const AUDIT_MATRIX_SPEC = "autotel-pact-audit-matrix/v0.2.0";
|
|
11
|
+
/**
|
|
12
|
+
* Metadata about a single Pact interaction, derived from the reified message
|
|
13
|
+
* plus the consumer/provider config. Stamped onto the span and the ledger entry.
|
|
14
|
+
*/
|
|
15
|
+
interface PactInteractionMeta {
|
|
16
|
+
consumer: string;
|
|
17
|
+
provider: string;
|
|
18
|
+
description: string;
|
|
19
|
+
states: string[];
|
|
20
|
+
kind: PactKind;
|
|
21
|
+
interactionId?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Per-interaction ledger evidence (consumer exercise, provider verify, or production tag).
|
|
25
|
+
*/
|
|
26
|
+
interface InteractionLedgerEntry {
|
|
27
|
+
type?: 'interaction';
|
|
28
|
+
spec: typeof LEDGER_ENTRY_SPEC;
|
|
29
|
+
consumer: string;
|
|
30
|
+
provider: string;
|
|
31
|
+
interaction: string;
|
|
32
|
+
interaction_id?: string;
|
|
33
|
+
states: string[];
|
|
34
|
+
kind: PactKind;
|
|
35
|
+
outcome: PactOutcome;
|
|
36
|
+
source: LedgerSource;
|
|
37
|
+
role: LedgerRole;
|
|
38
|
+
duration_ms: number;
|
|
39
|
+
observed_at: string;
|
|
40
|
+
trace_id?: string;
|
|
41
|
+
span_id?: string;
|
|
42
|
+
run_id?: string;
|
|
43
|
+
git_sha?: string;
|
|
44
|
+
error?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Run-level provider verification failure — does not imply per-interaction outcomes.
|
|
48
|
+
*/
|
|
49
|
+
interface ProviderVerificationRunEntry {
|
|
50
|
+
type: 'provider_verification_run';
|
|
51
|
+
spec: typeof LEDGER_ENTRY_SPEC;
|
|
52
|
+
consumer: string;
|
|
53
|
+
provider: string;
|
|
54
|
+
outcome: 'failed';
|
|
55
|
+
source: LedgerSource;
|
|
56
|
+
role: 'provider';
|
|
57
|
+
observed_at: string;
|
|
58
|
+
error: string;
|
|
59
|
+
run_id?: string;
|
|
60
|
+
git_sha?: string;
|
|
61
|
+
trace_id?: string;
|
|
62
|
+
span_id?: string;
|
|
63
|
+
}
|
|
64
|
+
type LedgerRecord = InteractionLedgerEntry | ProviderVerificationRunEntry;
|
|
65
|
+
declare function isInteractionLedgerEntry(entry: LedgerRecord): entry is InteractionLedgerEntry;
|
|
66
|
+
declare function isProviderVerificationRun(entry: LedgerRecord): entry is ProviderVerificationRunEntry;
|
|
67
|
+
/**
|
|
68
|
+
* Shape of a Pact contract file on disk (subset we read).
|
|
69
|
+
*/
|
|
70
|
+
interface PactFile {
|
|
71
|
+
consumer: {
|
|
72
|
+
name: string;
|
|
73
|
+
};
|
|
74
|
+
provider: {
|
|
75
|
+
name: string;
|
|
76
|
+
};
|
|
77
|
+
messages?: Array<{
|
|
78
|
+
description: string;
|
|
79
|
+
providerStates?: Array<{
|
|
80
|
+
name: string;
|
|
81
|
+
}>;
|
|
82
|
+
metadata?: Record<string, unknown>;
|
|
83
|
+
}>;
|
|
84
|
+
interactions?: Array<{
|
|
85
|
+
description: string;
|
|
86
|
+
providerStates?: Array<{
|
|
87
|
+
name: string;
|
|
88
|
+
}>;
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
interface BrokerVerification {
|
|
93
|
+
consumer: string;
|
|
94
|
+
provider: string;
|
|
95
|
+
success: boolean;
|
|
96
|
+
verifiedAt?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Populated when the broker could not be reached or returned a non-2xx
|
|
99
|
+
* response. Distinguishes "broker said the pact is not verified" (no error)
|
|
100
|
+
* from "we could not determine verification status" (error set).
|
|
101
|
+
*/
|
|
102
|
+
error?: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* One row in the audit matrix.
|
|
106
|
+
*/
|
|
107
|
+
interface AuditRow {
|
|
108
|
+
consumer: string;
|
|
109
|
+
provider: string;
|
|
110
|
+
interaction: string;
|
|
111
|
+
interaction_id?: string;
|
|
112
|
+
kind: PactKind;
|
|
113
|
+
contracted: boolean;
|
|
114
|
+
/** Any interaction-level ledger hit in the window (test or production). */
|
|
115
|
+
observed: boolean;
|
|
116
|
+
test_seen: boolean;
|
|
117
|
+
prod_seen: boolean;
|
|
118
|
+
provider_verified: boolean;
|
|
119
|
+
broker_verified: boolean;
|
|
120
|
+
broker_verified_at?: string;
|
|
121
|
+
/** Set when the broker check failed (network error, non-2xx, parse error). */
|
|
122
|
+
broker_error?: string;
|
|
123
|
+
last_observed_at?: string;
|
|
124
|
+
last_outcome?: PactOutcome;
|
|
125
|
+
}
|
|
126
|
+
interface AuditMatrix {
|
|
127
|
+
spec: typeof AUDIT_MATRIX_SPEC;
|
|
128
|
+
rows: AuditRow[];
|
|
129
|
+
counts: {
|
|
130
|
+
total: number; /** Any contracted row. */
|
|
131
|
+
contracted: number; /** Any row with test_seen OR prod_seen. */
|
|
132
|
+
observed: number; /** Contracted AND seen in a consumer test. */
|
|
133
|
+
contracted_and_test_seen: number; /** Contracted but not seen in a consumer test (stale confidence). */
|
|
134
|
+
contracted_not_test_seen: number; /** Seen (test or production) without a matching contract (ungoverned flow). */
|
|
135
|
+
test_or_prod_seen_not_contracted: number;
|
|
136
|
+
test_seen: number;
|
|
137
|
+
prod_seen: number;
|
|
138
|
+
provider_verified: number;
|
|
139
|
+
broker_verified: number;
|
|
140
|
+
};
|
|
141
|
+
window_days: number;
|
|
142
|
+
generated_at: string;
|
|
143
|
+
verification_failures?: ProviderVerificationRunEntry[];
|
|
144
|
+
}
|
|
145
|
+
interface PactInteractionKey {
|
|
146
|
+
consumer: string;
|
|
147
|
+
provider: string;
|
|
148
|
+
interaction: string;
|
|
149
|
+
kind: PactKind;
|
|
150
|
+
interactionId?: string;
|
|
151
|
+
}
|
|
152
|
+
//#endregion
|
|
153
|
+
export { isProviderVerificationRun as _, InteractionLedgerEntry as a, LedgerRole as c, PactInteractionKey as d, PactInteractionMeta as f, isInteractionLedgerEntry as g, ProviderVerificationRunEntry as h, BrokerVerification as i, LedgerSource as l, PactOutcome as m, AuditMatrix as n, LEDGER_ENTRY_SPEC as o, PactKind as p, AuditRow as r, LedgerRecord as s, AUDIT_MATRIX_SPEC as t, PactFile as u };
|
|
154
|
+
//# sourceMappingURL=types-D_0kgK2e.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-D_0kgK2e.d.cts","names":[],"sources":["../src/types.ts"],"mappings":";;AAGA;;KAAY,QAAA;AAAA,KAEA,WAAA;AAAA,KAEA,YAAA;AAAA,KACA,UAAA;AAAA,cAEC,iBAAA;AAAA,cACA,iBAAA;;AANU;AAEvB;;UAUiB,mBAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,MAAA;EACA,IAAA,EAAM,QAAQ;EACd,aAAA;AAAA;AAbF;;;AAAA,UAmBiB,sBAAA;EACf,IAAA;EACA,IAAA,SAAa,iBAAA;EACb,QAAA;EACA,QAAA;EACA,WAAA;EACA,cAAA;EACA,MAAA;EACA,IAAA,EAAM,QAAA;EACN,OAAA,EAAS,WAAA;EACT,MAAA,EAAQ,YAAA;EACR,IAAA,EAAM,UAAA;EACN,WAAA;EACA,WAAA;EACA,QAAA;EACA,OAAA;EACA,MAAA;EACA,OAAA;EACA,KAAA;AAAA;AAlBF;;;AAAA,UAwBiB,4BAAA;EACf,IAAA;EACA,IAAA,SAAa,iBAAA;EACb,QAAA;EACA,QAAA;EACA,OAAA;EACA,MAAA,EAAQ,YAAY;EACpB,IAAA;EACA,WAAA;EACA,KAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,KAGU,YAAA,GAAe,sBAAA,GAAyB,4BAA4B;AAAA,iBAEhE,wBAAA,CACd,KAAA,EAAO,YAAA,GACN,KAAA,IAAS,sBAAsB;AAAA,iBAIlB,yBAAA,CACd,KAAA,EAAO,YAAA,GACN,KAAA,IAAS,4BAA4B;;;;UAOvB,QAAA;EACf,QAAA;IAAY,IAAA;EAAA;EACZ,QAAA;IAAY,IAAA;EAAA;EACZ,QAAA,GAAW,KAAA;IACT,WAAA;IACA,cAAA,GAAiB,KAAA;MAAQ,IAAA;IAAA;IACzB,QAAA,GAAW,MAAA;EAAA;EAEb,YAAA,GAAe,KAAA;IACb,WAAA;IACA,cAAA,GAAiB,KAAA;MAAQ,IAAA;IAAA;IACzB,QAAA,GAAW,MAAA;EAAA;AAAA;AAAA,UAIE,kBAAA;EACf,QAAA;EACA,QAAA;EACA,OAAA;EACA,UAAA;EAzCA;;;;AAEO;EA6CP,KAAA;AAAA;;;AA1C8E;UAgD/D,QAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,cAAA;EACA,IAAA,EAAM,QAAA;EACN,UAAA;EAlDU;EAoDV,QAAA;EACA,SAAA;EACA,SAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EApDO;EAsDP,YAAA;EACA,gBAAA;EACA,YAAA,GAAe,WAAW;AAAA;AAAA,UAGX,WAAA;EACf,IAAA,SAAa,iBAAA;EACb,IAAA,EAAM,QAAA;EACN,MAAA;IACE,KAAA,UAjDW;IAmDX,UAAA,UA/CiB;IAiDjB,QAAA,UAnDa;IAqDb,wBAAA,UArDkB;IAuDlB,wBAAA,UA9DU;IAgEV,gCAAA;IACA,SAAA;IACA,SAAA;IACA,iBAAA;IACA,eAAA;EAAA;EAEF,WAAA;EACA,YAAA;EACA,qBAAA,GAAwB,4BAAA;AAAA;AAAA,UAGT,kBAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,IAAA,EAAM,QAAQ;EACd,aAAA;AAAA"}
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
//#region src/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Kind of contract interaction observed.
|
|
4
|
+
*/
|
|
5
|
+
type PactKind = 'message' | 'http';
|
|
6
|
+
type PactOutcome = 'passed' | 'failed';
|
|
7
|
+
type LedgerSource = 'test' | 'production';
|
|
8
|
+
type LedgerRole = 'consumer' | 'provider';
|
|
9
|
+
declare const LEDGER_ENTRY_SPEC = "autotel-pact-ledger-entry/v0.2.0";
|
|
10
|
+
declare const AUDIT_MATRIX_SPEC = "autotel-pact-audit-matrix/v0.2.0";
|
|
11
|
+
/**
|
|
12
|
+
* Metadata about a single Pact interaction, derived from the reified message
|
|
13
|
+
* plus the consumer/provider config. Stamped onto the span and the ledger entry.
|
|
14
|
+
*/
|
|
15
|
+
interface PactInteractionMeta {
|
|
16
|
+
consumer: string;
|
|
17
|
+
provider: string;
|
|
18
|
+
description: string;
|
|
19
|
+
states: string[];
|
|
20
|
+
kind: PactKind;
|
|
21
|
+
interactionId?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Per-interaction ledger evidence (consumer exercise, provider verify, or production tag).
|
|
25
|
+
*/
|
|
26
|
+
interface InteractionLedgerEntry {
|
|
27
|
+
type?: 'interaction';
|
|
28
|
+
spec: typeof LEDGER_ENTRY_SPEC;
|
|
29
|
+
consumer: string;
|
|
30
|
+
provider: string;
|
|
31
|
+
interaction: string;
|
|
32
|
+
interaction_id?: string;
|
|
33
|
+
states: string[];
|
|
34
|
+
kind: PactKind;
|
|
35
|
+
outcome: PactOutcome;
|
|
36
|
+
source: LedgerSource;
|
|
37
|
+
role: LedgerRole;
|
|
38
|
+
duration_ms: number;
|
|
39
|
+
observed_at: string;
|
|
40
|
+
trace_id?: string;
|
|
41
|
+
span_id?: string;
|
|
42
|
+
run_id?: string;
|
|
43
|
+
git_sha?: string;
|
|
44
|
+
error?: string;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Run-level provider verification failure — does not imply per-interaction outcomes.
|
|
48
|
+
*/
|
|
49
|
+
interface ProviderVerificationRunEntry {
|
|
50
|
+
type: 'provider_verification_run';
|
|
51
|
+
spec: typeof LEDGER_ENTRY_SPEC;
|
|
52
|
+
consumer: string;
|
|
53
|
+
provider: string;
|
|
54
|
+
outcome: 'failed';
|
|
55
|
+
source: LedgerSource;
|
|
56
|
+
role: 'provider';
|
|
57
|
+
observed_at: string;
|
|
58
|
+
error: string;
|
|
59
|
+
run_id?: string;
|
|
60
|
+
git_sha?: string;
|
|
61
|
+
trace_id?: string;
|
|
62
|
+
span_id?: string;
|
|
63
|
+
}
|
|
64
|
+
type LedgerRecord = InteractionLedgerEntry | ProviderVerificationRunEntry;
|
|
65
|
+
declare function isInteractionLedgerEntry(entry: LedgerRecord): entry is InteractionLedgerEntry;
|
|
66
|
+
declare function isProviderVerificationRun(entry: LedgerRecord): entry is ProviderVerificationRunEntry;
|
|
67
|
+
/**
|
|
68
|
+
* Shape of a Pact contract file on disk (subset we read).
|
|
69
|
+
*/
|
|
70
|
+
interface PactFile {
|
|
71
|
+
consumer: {
|
|
72
|
+
name: string;
|
|
73
|
+
};
|
|
74
|
+
provider: {
|
|
75
|
+
name: string;
|
|
76
|
+
};
|
|
77
|
+
messages?: Array<{
|
|
78
|
+
description: string;
|
|
79
|
+
providerStates?: Array<{
|
|
80
|
+
name: string;
|
|
81
|
+
}>;
|
|
82
|
+
metadata?: Record<string, unknown>;
|
|
83
|
+
}>;
|
|
84
|
+
interactions?: Array<{
|
|
85
|
+
description: string;
|
|
86
|
+
providerStates?: Array<{
|
|
87
|
+
name: string;
|
|
88
|
+
}>;
|
|
89
|
+
metadata?: Record<string, unknown>;
|
|
90
|
+
}>;
|
|
91
|
+
}
|
|
92
|
+
interface BrokerVerification {
|
|
93
|
+
consumer: string;
|
|
94
|
+
provider: string;
|
|
95
|
+
success: boolean;
|
|
96
|
+
verifiedAt?: string;
|
|
97
|
+
/**
|
|
98
|
+
* Populated when the broker could not be reached or returned a non-2xx
|
|
99
|
+
* response. Distinguishes "broker said the pact is not verified" (no error)
|
|
100
|
+
* from "we could not determine verification status" (error set).
|
|
101
|
+
*/
|
|
102
|
+
error?: string;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* One row in the audit matrix.
|
|
106
|
+
*/
|
|
107
|
+
interface AuditRow {
|
|
108
|
+
consumer: string;
|
|
109
|
+
provider: string;
|
|
110
|
+
interaction: string;
|
|
111
|
+
interaction_id?: string;
|
|
112
|
+
kind: PactKind;
|
|
113
|
+
contracted: boolean;
|
|
114
|
+
/** Any interaction-level ledger hit in the window (test or production). */
|
|
115
|
+
observed: boolean;
|
|
116
|
+
test_seen: boolean;
|
|
117
|
+
prod_seen: boolean;
|
|
118
|
+
provider_verified: boolean;
|
|
119
|
+
broker_verified: boolean;
|
|
120
|
+
broker_verified_at?: string;
|
|
121
|
+
/** Set when the broker check failed (network error, non-2xx, parse error). */
|
|
122
|
+
broker_error?: string;
|
|
123
|
+
last_observed_at?: string;
|
|
124
|
+
last_outcome?: PactOutcome;
|
|
125
|
+
}
|
|
126
|
+
interface AuditMatrix {
|
|
127
|
+
spec: typeof AUDIT_MATRIX_SPEC;
|
|
128
|
+
rows: AuditRow[];
|
|
129
|
+
counts: {
|
|
130
|
+
total: number; /** Any contracted row. */
|
|
131
|
+
contracted: number; /** Any row with test_seen OR prod_seen. */
|
|
132
|
+
observed: number; /** Contracted AND seen in a consumer test. */
|
|
133
|
+
contracted_and_test_seen: number; /** Contracted but not seen in a consumer test (stale confidence). */
|
|
134
|
+
contracted_not_test_seen: number; /** Seen (test or production) without a matching contract (ungoverned flow). */
|
|
135
|
+
test_or_prod_seen_not_contracted: number;
|
|
136
|
+
test_seen: number;
|
|
137
|
+
prod_seen: number;
|
|
138
|
+
provider_verified: number;
|
|
139
|
+
broker_verified: number;
|
|
140
|
+
};
|
|
141
|
+
window_days: number;
|
|
142
|
+
generated_at: string;
|
|
143
|
+
verification_failures?: ProviderVerificationRunEntry[];
|
|
144
|
+
}
|
|
145
|
+
interface PactInteractionKey {
|
|
146
|
+
consumer: string;
|
|
147
|
+
provider: string;
|
|
148
|
+
interaction: string;
|
|
149
|
+
kind: PactKind;
|
|
150
|
+
interactionId?: string;
|
|
151
|
+
}
|
|
152
|
+
//#endregion
|
|
153
|
+
export { isProviderVerificationRun as _, InteractionLedgerEntry as a, LedgerRole as c, PactInteractionKey as d, PactInteractionMeta as f, isInteractionLedgerEntry as g, ProviderVerificationRunEntry as h, BrokerVerification as i, LedgerSource as l, PactOutcome as m, AuditMatrix as n, LEDGER_ENTRY_SPEC as o, PactKind as p, AuditRow as r, LedgerRecord as s, AUDIT_MATRIX_SPEC as t, PactFile as u };
|
|
154
|
+
//# sourceMappingURL=types-D_0kgK2e.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types-D_0kgK2e.d.ts","names":[],"sources":["../src/types.ts"],"mappings":";;AAGA;;KAAY,QAAA;AAAA,KAEA,WAAA;AAAA,KAEA,YAAA;AAAA,KACA,UAAA;AAAA,cAEC,iBAAA;AAAA,cACA,iBAAA;;AANU;AAEvB;;UAUiB,mBAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,MAAA;EACA,IAAA,EAAM,QAAQ;EACd,aAAA;AAAA;AAbF;;;AAAA,UAmBiB,sBAAA;EACf,IAAA;EACA,IAAA,SAAa,iBAAA;EACb,QAAA;EACA,QAAA;EACA,WAAA;EACA,cAAA;EACA,MAAA;EACA,IAAA,EAAM,QAAA;EACN,OAAA,EAAS,WAAA;EACT,MAAA,EAAQ,YAAA;EACR,IAAA,EAAM,UAAA;EACN,WAAA;EACA,WAAA;EACA,QAAA;EACA,OAAA;EACA,MAAA;EACA,OAAA;EACA,KAAA;AAAA;AAlBF;;;AAAA,UAwBiB,4BAAA;EACf,IAAA;EACA,IAAA,SAAa,iBAAA;EACb,QAAA;EACA,QAAA;EACA,OAAA;EACA,MAAA,EAAQ,YAAY;EACpB,IAAA;EACA,WAAA;EACA,KAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,OAAA;AAAA;AAAA,KAGU,YAAA,GAAe,sBAAA,GAAyB,4BAA4B;AAAA,iBAEhE,wBAAA,CACd,KAAA,EAAO,YAAA,GACN,KAAA,IAAS,sBAAsB;AAAA,iBAIlB,yBAAA,CACd,KAAA,EAAO,YAAA,GACN,KAAA,IAAS,4BAA4B;;;;UAOvB,QAAA;EACf,QAAA;IAAY,IAAA;EAAA;EACZ,QAAA;IAAY,IAAA;EAAA;EACZ,QAAA,GAAW,KAAA;IACT,WAAA;IACA,cAAA,GAAiB,KAAA;MAAQ,IAAA;IAAA;IACzB,QAAA,GAAW,MAAA;EAAA;EAEb,YAAA,GAAe,KAAA;IACb,WAAA;IACA,cAAA,GAAiB,KAAA;MAAQ,IAAA;IAAA;IACzB,QAAA,GAAW,MAAA;EAAA;AAAA;AAAA,UAIE,kBAAA;EACf,QAAA;EACA,QAAA;EACA,OAAA;EACA,UAAA;EAzCA;;;;AAEO;EA6CP,KAAA;AAAA;;;AA1C8E;UAgD/D,QAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,cAAA;EACA,IAAA,EAAM,QAAA;EACN,UAAA;EAlDU;EAoDV,QAAA;EACA,SAAA;EACA,SAAA;EACA,iBAAA;EACA,eAAA;EACA,kBAAA;EApDO;EAsDP,YAAA;EACA,gBAAA;EACA,YAAA,GAAe,WAAW;AAAA;AAAA,UAGX,WAAA;EACf,IAAA,SAAa,iBAAA;EACb,IAAA,EAAM,QAAA;EACN,MAAA;IACE,KAAA,UAjDW;IAmDX,UAAA,UA/CiB;IAiDjB,QAAA,UAnDa;IAqDb,wBAAA,UArDkB;IAuDlB,wBAAA,UA9DU;IAgEV,gCAAA;IACA,SAAA;IACA,SAAA;IACA,iBAAA;IACA,eAAA;EAAA;EAEF,WAAA;EACA,YAAA;EACA,qBAAA,GAAwB,4BAAA;AAAA;AAAA,UAGT,kBAAA;EACf,QAAA;EACA,QAAA;EACA,WAAA;EACA,IAAA,EAAM,QAAQ;EACd,aAAA;AAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "autotel-pact",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"description": "Runtime evidence for Pact contracts — autotel bridge that records which contract interactions were actually exercised, and audits 'contracted but never observed'.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"license": "MIT",
|
|
71
71
|
"peerDependencies": {
|
|
72
72
|
"@pact-foundation/pact": ">=16",
|
|
73
|
-
"autotel": "3.
|
|
73
|
+
"autotel": "3.7.0"
|
|
74
74
|
},
|
|
75
75
|
"peerDependenciesMeta": {
|
|
76
76
|
"@pact-foundation/pact": {
|
|
@@ -81,10 +81,10 @@
|
|
|
81
81
|
"@pact-foundation/pact": "^16.5.0",
|
|
82
82
|
"@types/node": "^25.9.2",
|
|
83
83
|
"rimraf": "^6.1.3",
|
|
84
|
-
"
|
|
84
|
+
"tsdown": "^0.22.2",
|
|
85
85
|
"typescript": "^6.0.3",
|
|
86
86
|
"vitest": "^4.1.8",
|
|
87
|
-
"autotel": "3.
|
|
87
|
+
"autotel": "3.7.0"
|
|
88
88
|
},
|
|
89
89
|
"repository": {
|
|
90
90
|
"type": "git",
|
|
@@ -96,8 +96,8 @@
|
|
|
96
96
|
},
|
|
97
97
|
"homepage": "https://github.com/jagreehal/autotel/tree/main/packages/autotel-pact#readme",
|
|
98
98
|
"scripts": {
|
|
99
|
-
"build": "
|
|
100
|
-
"dev": "
|
|
99
|
+
"build": "tsdown",
|
|
100
|
+
"dev": "tsdown --watch",
|
|
101
101
|
"lint": "eslint src/**/*.ts",
|
|
102
102
|
"lint:fix": "eslint src/**/*.ts --fix",
|
|
103
103
|
"type-check": "tsc --noEmit",
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Kind of contract interaction observed.
|
|
3
|
-
*/
|
|
4
|
-
type PactKind = 'message' | 'http';
|
|
5
|
-
type PactOutcome = 'passed' | 'failed';
|
|
6
|
-
type LedgerSource = 'test' | 'production';
|
|
7
|
-
type LedgerRole = 'consumer' | 'provider';
|
|
8
|
-
declare const LEDGER_ENTRY_SPEC = "autotel-pact-ledger-entry/v0.2.0";
|
|
9
|
-
declare const AUDIT_MATRIX_SPEC = "autotel-pact-audit-matrix/v0.2.0";
|
|
10
|
-
/**
|
|
11
|
-
* Metadata about a single Pact interaction, derived from the reified message
|
|
12
|
-
* plus the consumer/provider config. Stamped onto the span and the ledger entry.
|
|
13
|
-
*/
|
|
14
|
-
interface PactInteractionMeta {
|
|
15
|
-
consumer: string;
|
|
16
|
-
provider: string;
|
|
17
|
-
description: string;
|
|
18
|
-
states: string[];
|
|
19
|
-
kind: PactKind;
|
|
20
|
-
interactionId?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Per-interaction ledger evidence (consumer exercise, provider verify, or production tag).
|
|
24
|
-
*/
|
|
25
|
-
interface InteractionLedgerEntry {
|
|
26
|
-
type?: 'interaction';
|
|
27
|
-
spec: typeof LEDGER_ENTRY_SPEC;
|
|
28
|
-
consumer: string;
|
|
29
|
-
provider: string;
|
|
30
|
-
interaction: string;
|
|
31
|
-
interaction_id?: string;
|
|
32
|
-
states: string[];
|
|
33
|
-
kind: PactKind;
|
|
34
|
-
outcome: PactOutcome;
|
|
35
|
-
source: LedgerSource;
|
|
36
|
-
role: LedgerRole;
|
|
37
|
-
duration_ms: number;
|
|
38
|
-
observed_at: string;
|
|
39
|
-
trace_id?: string;
|
|
40
|
-
span_id?: string;
|
|
41
|
-
run_id?: string;
|
|
42
|
-
git_sha?: string;
|
|
43
|
-
error?: string;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Run-level provider verification failure — does not imply per-interaction outcomes.
|
|
47
|
-
*/
|
|
48
|
-
interface ProviderVerificationRunEntry {
|
|
49
|
-
type: 'provider_verification_run';
|
|
50
|
-
spec: typeof LEDGER_ENTRY_SPEC;
|
|
51
|
-
consumer: string;
|
|
52
|
-
provider: string;
|
|
53
|
-
outcome: 'failed';
|
|
54
|
-
source: LedgerSource;
|
|
55
|
-
role: 'provider';
|
|
56
|
-
observed_at: string;
|
|
57
|
-
error: string;
|
|
58
|
-
run_id?: string;
|
|
59
|
-
git_sha?: string;
|
|
60
|
-
trace_id?: string;
|
|
61
|
-
span_id?: string;
|
|
62
|
-
}
|
|
63
|
-
type LedgerRecord = InteractionLedgerEntry | ProviderVerificationRunEntry;
|
|
64
|
-
declare function isInteractionLedgerEntry(entry: LedgerRecord): entry is InteractionLedgerEntry;
|
|
65
|
-
declare function isProviderVerificationRun(entry: LedgerRecord): entry is ProviderVerificationRunEntry;
|
|
66
|
-
/**
|
|
67
|
-
* Shape of a Pact contract file on disk (subset we read).
|
|
68
|
-
*/
|
|
69
|
-
interface PactFile {
|
|
70
|
-
consumer: {
|
|
71
|
-
name: string;
|
|
72
|
-
};
|
|
73
|
-
provider: {
|
|
74
|
-
name: string;
|
|
75
|
-
};
|
|
76
|
-
messages?: Array<{
|
|
77
|
-
description: string;
|
|
78
|
-
providerStates?: Array<{
|
|
79
|
-
name: string;
|
|
80
|
-
}>;
|
|
81
|
-
metadata?: Record<string, unknown>;
|
|
82
|
-
}>;
|
|
83
|
-
interactions?: Array<{
|
|
84
|
-
description: string;
|
|
85
|
-
providerStates?: Array<{
|
|
86
|
-
name: string;
|
|
87
|
-
}>;
|
|
88
|
-
metadata?: Record<string, unknown>;
|
|
89
|
-
}>;
|
|
90
|
-
}
|
|
91
|
-
interface BrokerVerification {
|
|
92
|
-
consumer: string;
|
|
93
|
-
provider: string;
|
|
94
|
-
success: boolean;
|
|
95
|
-
verifiedAt?: string;
|
|
96
|
-
/**
|
|
97
|
-
* Populated when the broker could not be reached or returned a non-2xx
|
|
98
|
-
* response. Distinguishes "broker said the pact is not verified" (no error)
|
|
99
|
-
* from "we could not determine verification status" (error set).
|
|
100
|
-
*/
|
|
101
|
-
error?: string;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* One row in the audit matrix.
|
|
105
|
-
*/
|
|
106
|
-
interface AuditRow {
|
|
107
|
-
consumer: string;
|
|
108
|
-
provider: string;
|
|
109
|
-
interaction: string;
|
|
110
|
-
interaction_id?: string;
|
|
111
|
-
kind: PactKind;
|
|
112
|
-
contracted: boolean;
|
|
113
|
-
/** Any interaction-level ledger hit in the window (test or production). */
|
|
114
|
-
observed: boolean;
|
|
115
|
-
test_seen: boolean;
|
|
116
|
-
prod_seen: boolean;
|
|
117
|
-
provider_verified: boolean;
|
|
118
|
-
broker_verified: boolean;
|
|
119
|
-
broker_verified_at?: string;
|
|
120
|
-
/** Set when the broker check failed (network error, non-2xx, parse error). */
|
|
121
|
-
broker_error?: string;
|
|
122
|
-
last_observed_at?: string;
|
|
123
|
-
last_outcome?: PactOutcome;
|
|
124
|
-
}
|
|
125
|
-
interface AuditMatrix {
|
|
126
|
-
spec: typeof AUDIT_MATRIX_SPEC;
|
|
127
|
-
rows: AuditRow[];
|
|
128
|
-
counts: {
|
|
129
|
-
total: number;
|
|
130
|
-
/** Any contracted row. */
|
|
131
|
-
contracted: number;
|
|
132
|
-
/** Any row with test_seen OR prod_seen. */
|
|
133
|
-
observed: number;
|
|
134
|
-
/** Contracted AND seen in a consumer test. */
|
|
135
|
-
contracted_and_test_seen: number;
|
|
136
|
-
/** Contracted but not seen in a consumer test (stale confidence). */
|
|
137
|
-
contracted_not_test_seen: number;
|
|
138
|
-
/** Seen (test or production) without a matching contract (ungoverned flow). */
|
|
139
|
-
test_or_prod_seen_not_contracted: number;
|
|
140
|
-
test_seen: number;
|
|
141
|
-
prod_seen: number;
|
|
142
|
-
provider_verified: number;
|
|
143
|
-
broker_verified: number;
|
|
144
|
-
};
|
|
145
|
-
window_days: number;
|
|
146
|
-
generated_at: string;
|
|
147
|
-
verification_failures?: ProviderVerificationRunEntry[];
|
|
148
|
-
}
|
|
149
|
-
interface PactInteractionKey {
|
|
150
|
-
consumer: string;
|
|
151
|
-
provider: string;
|
|
152
|
-
interaction: string;
|
|
153
|
-
kind: PactKind;
|
|
154
|
-
interactionId?: string;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export { AUDIT_MATRIX_SPEC as A, type BrokerVerification as B, type InteractionLedgerEntry as I, LEDGER_ENTRY_SPEC as L, type PactInteractionMeta as P, type PactOutcome as a, type PactFile as b, type PactInteractionKey as c, type AuditMatrix as d, type AuditRow as e, type LedgerRecord as f, type LedgerRole as g, type LedgerSource as h, type PactKind as i, type ProviderVerificationRunEntry as j, isInteractionLedgerEntry as k, isProviderVerificationRun as l };
|
package/dist/types-BHGiwqcp.d.ts
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Kind of contract interaction observed.
|
|
3
|
-
*/
|
|
4
|
-
type PactKind = 'message' | 'http';
|
|
5
|
-
type PactOutcome = 'passed' | 'failed';
|
|
6
|
-
type LedgerSource = 'test' | 'production';
|
|
7
|
-
type LedgerRole = 'consumer' | 'provider';
|
|
8
|
-
declare const LEDGER_ENTRY_SPEC = "autotel-pact-ledger-entry/v0.2.0";
|
|
9
|
-
declare const AUDIT_MATRIX_SPEC = "autotel-pact-audit-matrix/v0.2.0";
|
|
10
|
-
/**
|
|
11
|
-
* Metadata about a single Pact interaction, derived from the reified message
|
|
12
|
-
* plus the consumer/provider config. Stamped onto the span and the ledger entry.
|
|
13
|
-
*/
|
|
14
|
-
interface PactInteractionMeta {
|
|
15
|
-
consumer: string;
|
|
16
|
-
provider: string;
|
|
17
|
-
description: string;
|
|
18
|
-
states: string[];
|
|
19
|
-
kind: PactKind;
|
|
20
|
-
interactionId?: string;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Per-interaction ledger evidence (consumer exercise, provider verify, or production tag).
|
|
24
|
-
*/
|
|
25
|
-
interface InteractionLedgerEntry {
|
|
26
|
-
type?: 'interaction';
|
|
27
|
-
spec: typeof LEDGER_ENTRY_SPEC;
|
|
28
|
-
consumer: string;
|
|
29
|
-
provider: string;
|
|
30
|
-
interaction: string;
|
|
31
|
-
interaction_id?: string;
|
|
32
|
-
states: string[];
|
|
33
|
-
kind: PactKind;
|
|
34
|
-
outcome: PactOutcome;
|
|
35
|
-
source: LedgerSource;
|
|
36
|
-
role: LedgerRole;
|
|
37
|
-
duration_ms: number;
|
|
38
|
-
observed_at: string;
|
|
39
|
-
trace_id?: string;
|
|
40
|
-
span_id?: string;
|
|
41
|
-
run_id?: string;
|
|
42
|
-
git_sha?: string;
|
|
43
|
-
error?: string;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Run-level provider verification failure — does not imply per-interaction outcomes.
|
|
47
|
-
*/
|
|
48
|
-
interface ProviderVerificationRunEntry {
|
|
49
|
-
type: 'provider_verification_run';
|
|
50
|
-
spec: typeof LEDGER_ENTRY_SPEC;
|
|
51
|
-
consumer: string;
|
|
52
|
-
provider: string;
|
|
53
|
-
outcome: 'failed';
|
|
54
|
-
source: LedgerSource;
|
|
55
|
-
role: 'provider';
|
|
56
|
-
observed_at: string;
|
|
57
|
-
error: string;
|
|
58
|
-
run_id?: string;
|
|
59
|
-
git_sha?: string;
|
|
60
|
-
trace_id?: string;
|
|
61
|
-
span_id?: string;
|
|
62
|
-
}
|
|
63
|
-
type LedgerRecord = InteractionLedgerEntry | ProviderVerificationRunEntry;
|
|
64
|
-
declare function isInteractionLedgerEntry(entry: LedgerRecord): entry is InteractionLedgerEntry;
|
|
65
|
-
declare function isProviderVerificationRun(entry: LedgerRecord): entry is ProviderVerificationRunEntry;
|
|
66
|
-
/**
|
|
67
|
-
* Shape of a Pact contract file on disk (subset we read).
|
|
68
|
-
*/
|
|
69
|
-
interface PactFile {
|
|
70
|
-
consumer: {
|
|
71
|
-
name: string;
|
|
72
|
-
};
|
|
73
|
-
provider: {
|
|
74
|
-
name: string;
|
|
75
|
-
};
|
|
76
|
-
messages?: Array<{
|
|
77
|
-
description: string;
|
|
78
|
-
providerStates?: Array<{
|
|
79
|
-
name: string;
|
|
80
|
-
}>;
|
|
81
|
-
metadata?: Record<string, unknown>;
|
|
82
|
-
}>;
|
|
83
|
-
interactions?: Array<{
|
|
84
|
-
description: string;
|
|
85
|
-
providerStates?: Array<{
|
|
86
|
-
name: string;
|
|
87
|
-
}>;
|
|
88
|
-
metadata?: Record<string, unknown>;
|
|
89
|
-
}>;
|
|
90
|
-
}
|
|
91
|
-
interface BrokerVerification {
|
|
92
|
-
consumer: string;
|
|
93
|
-
provider: string;
|
|
94
|
-
success: boolean;
|
|
95
|
-
verifiedAt?: string;
|
|
96
|
-
/**
|
|
97
|
-
* Populated when the broker could not be reached or returned a non-2xx
|
|
98
|
-
* response. Distinguishes "broker said the pact is not verified" (no error)
|
|
99
|
-
* from "we could not determine verification status" (error set).
|
|
100
|
-
*/
|
|
101
|
-
error?: string;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* One row in the audit matrix.
|
|
105
|
-
*/
|
|
106
|
-
interface AuditRow {
|
|
107
|
-
consumer: string;
|
|
108
|
-
provider: string;
|
|
109
|
-
interaction: string;
|
|
110
|
-
interaction_id?: string;
|
|
111
|
-
kind: PactKind;
|
|
112
|
-
contracted: boolean;
|
|
113
|
-
/** Any interaction-level ledger hit in the window (test or production). */
|
|
114
|
-
observed: boolean;
|
|
115
|
-
test_seen: boolean;
|
|
116
|
-
prod_seen: boolean;
|
|
117
|
-
provider_verified: boolean;
|
|
118
|
-
broker_verified: boolean;
|
|
119
|
-
broker_verified_at?: string;
|
|
120
|
-
/** Set when the broker check failed (network error, non-2xx, parse error). */
|
|
121
|
-
broker_error?: string;
|
|
122
|
-
last_observed_at?: string;
|
|
123
|
-
last_outcome?: PactOutcome;
|
|
124
|
-
}
|
|
125
|
-
interface AuditMatrix {
|
|
126
|
-
spec: typeof AUDIT_MATRIX_SPEC;
|
|
127
|
-
rows: AuditRow[];
|
|
128
|
-
counts: {
|
|
129
|
-
total: number;
|
|
130
|
-
/** Any contracted row. */
|
|
131
|
-
contracted: number;
|
|
132
|
-
/** Any row with test_seen OR prod_seen. */
|
|
133
|
-
observed: number;
|
|
134
|
-
/** Contracted AND seen in a consumer test. */
|
|
135
|
-
contracted_and_test_seen: number;
|
|
136
|
-
/** Contracted but not seen in a consumer test (stale confidence). */
|
|
137
|
-
contracted_not_test_seen: number;
|
|
138
|
-
/** Seen (test or production) without a matching contract (ungoverned flow). */
|
|
139
|
-
test_or_prod_seen_not_contracted: number;
|
|
140
|
-
test_seen: number;
|
|
141
|
-
prod_seen: number;
|
|
142
|
-
provider_verified: number;
|
|
143
|
-
broker_verified: number;
|
|
144
|
-
};
|
|
145
|
-
window_days: number;
|
|
146
|
-
generated_at: string;
|
|
147
|
-
verification_failures?: ProviderVerificationRunEntry[];
|
|
148
|
-
}
|
|
149
|
-
interface PactInteractionKey {
|
|
150
|
-
consumer: string;
|
|
151
|
-
provider: string;
|
|
152
|
-
interaction: string;
|
|
153
|
-
kind: PactKind;
|
|
154
|
-
interactionId?: string;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
export { AUDIT_MATRIX_SPEC as A, type BrokerVerification as B, type InteractionLedgerEntry as I, LEDGER_ENTRY_SPEC as L, type PactInteractionMeta as P, type PactOutcome as a, type PactFile as b, type PactInteractionKey as c, type AuditMatrix as d, type AuditRow as e, type LedgerRecord as f, type LedgerRole as g, type LedgerSource as h, type PactKind as i, type ProviderVerificationRunEntry as j, isInteractionLedgerEntry as k, isProviderVerificationRun as l };
|