babel-validate 0.2.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/test.js ADDED
@@ -0,0 +1,356 @@
1
+ "use strict";
2
+ // ═══════════════════════════════════════════════
3
+ // BABEL-VALIDATE TEST SUITE
4
+ // Tests aligned to Babel v0.2 spec (Notion)
5
+ // ═══════════════════════════════════════════════
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const index_1 = require("./index");
8
+ let passed = 0;
9
+ let failed = 0;
10
+ function assert(condition, name, detail) {
11
+ if (condition) {
12
+ passed++;
13
+ console.log(` ✓ ${name}`);
14
+ }
15
+ else {
16
+ failed++;
17
+ console.error(` ✗ ${name}${detail ? ': ' + detail : ''}`);
18
+ }
19
+ }
20
+ // --- Builder Tests ---
21
+ console.log('\n═══ Builder ═══');
22
+ const basic = (0, index_1.envelope)()
23
+ .sender('agent-a')
24
+ .recipient('agent-b')
25
+ .chain('test-chain-1', 0)
26
+ .inform()
27
+ .engineering()
28
+ .verified('The sky is blue', 0.99)
29
+ .payload('Test payload')
30
+ .build();
31
+ assert(basic.meta.version === 'babel/0.2', 'Version is babel/0.2');
32
+ assert(basic.meta.sender === 'agent-a', 'Sender set');
33
+ assert(basic.meta.recipient === 'agent-b', 'Recipient set');
34
+ assert(basic.intent === 'INFORM', 'Intent is INFORM');
35
+ assert(basic.register === 'ENGINEERING', 'Register is ENGINEERING');
36
+ assert(basic.confidence.length === 1, 'One confidence assertion');
37
+ assert(basic.confidence[0].basis === 'VERIFIED_DATA', 'Basis is VERIFIED_DATA');
38
+ assert(basic.payload === 'Test payload', 'Payload set');
39
+ // --- Structural Validation ---
40
+ console.log('\n═══ Structural Validation ═══');
41
+ const validResult = (0, index_1.validate)(basic);
42
+ assert(validResult.valid === true, 'Valid envelope passes');
43
+ assert(validResult.errors.length === 0, 'No errors on valid envelope');
44
+ const noConfidence = { ...basic, confidence: [] };
45
+ const noConfResult = (0, index_1.validate)(noConfidence);
46
+ assert(noConfResult.valid === false, 'Missing confidence fails');
47
+ const badScore = {
48
+ ...basic,
49
+ confidence: [{ assertion: 'test', score: 1.5, basis: 'VERIFIED_DATA' }],
50
+ };
51
+ assert((0, index_1.validate)(badScore).valid === false, 'Score > 1 fails');
52
+ // --- MUST Rule Tests ---
53
+ console.log('\n═══ MUST Rules ═══');
54
+ // M1: intent == SPECULATE → max(confidence[].score) < 0.7
55
+ const m1Fail = (0, index_1.envelope)()
56
+ .sender('a').recipient('b').chain('c', 0)
57
+ .speculate().engineering()
58
+ .derived('This might be important', 0.8) // SPECULATE intent + score >= 0.7
59
+ .payload('test')
60
+ .buildAndValidate();
61
+ assert(m1Fail.valid === false, 'M1: SPECULATE intent with score >= 0.7 rejected');
62
+ assert(m1Fail.errors.some(e => e.rule === 'M1'), 'M1 rule violation present');
63
+ const m1Pass = (0, index_1.envelope)()
64
+ .sender('a').recipient('b').chain('c', 0)
65
+ .speculate().engineering()
66
+ .derived('This might be important', 0.6) // SPECULATE + score < 0.7 = OK
67
+ .payload('test')
68
+ .buildAndValidate();
69
+ assert(m1Pass.valid === true, 'M1: SPECULATE intent with score < 0.7 passes');
70
+ // M1: Non-SPECULATE intent with high score is fine
71
+ const m1NonSpec = (0, index_1.envelope)()
72
+ .sender('a').recipient('b').chain('c', 0)
73
+ .inform().engineering()
74
+ .speculation('A guess', 0.9) // INFORM intent, basis is SPECULATION but intent isn't SPECULATE
75
+ .payload('test')
76
+ .buildAndValidate();
77
+ // This should pass M1 (intent isn't SPECULATE) but may hit M4 (basis is SPECULATION, not UNKNOWN)
78
+ assert(!m1NonSpec.errors.some(e => e.rule === 'M1'), 'M1: Non-SPECULATE intent ignores score threshold');
79
+ // M2: intent == REQUEST_ACTION → min(confidence[].score) > 0.3 OR grounds
80
+ const m2Fail = (0, index_1.envelope)()
81
+ .sender('a').recipient('b').chain('c', 0)
82
+ .requestAction().engineering()
83
+ .reported('Maybe we should pivot', 0.2) // min score 0.2 <= 0.3, no grounds
84
+ .payload('test')
85
+ .buildAndValidate();
86
+ assert(m2Fail.valid === false, 'M2: REQUEST_ACTION with low min score and no grounds rejected');
87
+ const m2PassScore = (0, index_1.envelope)()
88
+ .sender('a').recipient('b').chain('c', 0)
89
+ .requestAction().engineering()
90
+ .verified('Server needs restart', 0.9) // min score > 0.3
91
+ .payload('test')
92
+ .buildAndValidate();
93
+ assert(m2PassScore.valid === true, 'M2: REQUEST_ACTION with min score > 0.3 passes');
94
+ const m2PassGrounds = (0, index_1.envelope)()
95
+ .sender('a').recipient('b').chain('c', 0)
96
+ .requestAction().engineering()
97
+ .reported('Maybe we should pivot', 0.2) // low score but has grounds
98
+ .policyGround('CEO approved pivot exploration')
99
+ .payload('test')
100
+ .buildAndValidate();
101
+ assert(m2PassGrounds.valid === true, 'M2: REQUEST_ACTION with low score but grounds passes');
102
+ // M3: REGULATORY → override == false
103
+ const m3Fail = (0, index_1.envelope)()
104
+ .sender('a').recipient('b').chain('c', 0)
105
+ .inform().engineering()
106
+ .verified('test', 0.9)
107
+ .payload('test')
108
+ .build();
109
+ m3Fail.grounds = [{ constraint: 'HIPAA', authority: 'REGULATORY', override: true }];
110
+ assert((0, index_1.validate)(m3Fail).valid === false, 'M3: Regulatory override rejected');
111
+ const m3Auto = (0, index_1.envelope)()
112
+ .sender('a').recipient('b').chain('c', 0)
113
+ .inform().engineering()
114
+ .verified('test', 0.9)
115
+ .regulatoryGround('HIPAA compliance')
116
+ .payload('test')
117
+ .build();
118
+ assert(m3Auto.grounds[0].override === false, 'M3: Builder auto-prevents regulatory override');
119
+ // M4: basis == UNKNOWN → score <= 0.5
120
+ const m4Fail = (0, index_1.envelope)()
121
+ .sender('a').recipient('b').chain('c', 0)
122
+ .inform().engineering()
123
+ .assert('Confident but no basis', 0.6) // No basis, score > 0.5
124
+ .payload('test')
125
+ .buildAndValidate();
126
+ assert(m4Fail.valid === false, 'M4: No basis with score > 0.5 rejected');
127
+ assert(m4Fail.errors.some(e => e.rule === 'M4'), 'M4 rule violation present');
128
+ const m4Pass = (0, index_1.envelope)()
129
+ .sender('a').recipient('b').chain('c', 0)
130
+ .inform().engineering()
131
+ .assert('Not sure why I think this', 0.4) // No basis, score <= 0.5 = OK
132
+ .payload('test')
133
+ .buildAndValidate();
134
+ assert(m4Pass.valid === true, 'M4: No basis with score <= 0.5 passes');
135
+ // M5: Negative sequence
136
+ const m5Fail = (0, index_1.envelope)()
137
+ .sender('a').recipient('b').chain('c', -1)
138
+ .inform().engineering()
139
+ .verified('test', 0.9)
140
+ .payload('test')
141
+ .buildAndValidate();
142
+ assert(m5Fail.valid === false, 'M5: Negative sequence rejected');
143
+ // --- SHOULD Rule Tests ---
144
+ console.log('\n═══ SHOULD Rules ═══');
145
+ // S1: ESCALATE + CUSTOMER_EXTERNAL → warn
146
+ const s1 = (0, index_1.envelope)()
147
+ .sender('a').recipient('b').chain('c', 0)
148
+ .escalate().customerExternal()
149
+ .verified('Critical issue', 0.95)
150
+ .payload('test')
151
+ .buildAndValidate();
152
+ assert(s1.valid === true, 'S1: Envelope passes (SHOULD, not MUST)');
153
+ assert(s1.warnings.some(w => w.rule === 'S1'), 'S1: Warning for customer-facing escalation');
154
+ // S2: affect.certainty > 0.5 + max confidence < 0.4
155
+ const s2 = (0, index_1.envelope)()
156
+ .sender('a').recipient('b').chain('c', 0)
157
+ .inform().engineering()
158
+ .speculation('Maybe aliens', 0.3) // max score 0.3 < 0.4
159
+ .affect(0.1, 0.1, 0.8) // certainty 0.8 > 0.5
160
+ .payload('test')
161
+ .buildAndValidate();
162
+ assert(s2.warnings.some(w => w.rule === 'S2'), 'S2: Warning — feels certain but evidence weak');
163
+ // S3: INFORM + low-confidence assertion
164
+ const s3 = (0, index_1.envelope)()
165
+ .sender('a').recipient('b').chain('c', 0)
166
+ .inform().engineering()
167
+ .verified('Revenue is $4.2M', 0.95)
168
+ .reported('HealthStack may partner with Vanta', 0.25) // < 0.5
169
+ .payload('test')
170
+ .buildAndValidate();
171
+ assert(s3.warnings.some(w => w.rule === 'S3'), 'S3: Warning — informing with low-confidence assertion');
172
+ // S4: DEGRADING trajectory + INFORM
173
+ const s4 = (0, index_1.envelope)()
174
+ .sender('a').recipient('b').chain('c', 0)
175
+ .inform().boardFacing()
176
+ .verified('NRR is 108%', 0.92)
177
+ .withTrajectory('NRR declining 4 months', 'DEGRADING')
178
+ .payload('test')
179
+ .buildAndValidate();
180
+ assert(s4.warnings.some(w => w.rule === 'S4'), 'S4: Warning — degrading pattern as neutral inform');
181
+ // S5: REGULATORY register without grounds
182
+ const s5 = (0, index_1.envelope)()
183
+ .sender('a').recipient('b').chain('c', 0)
184
+ .inform().regulatory() // REGULATORY register
185
+ .verified('Audit finding', 0.9)
186
+ .payload('test') // no grounds
187
+ .buildAndValidate();
188
+ assert(s5.warnings.some(w => w.rule === 'S5'), 'S5: Warning — regulatory register without grounds');
189
+ // S6: DERIVED over-confidence
190
+ const s6 = (0, index_1.envelope)()
191
+ .sender('a').recipient('b').chain('c', 0)
192
+ .inform().engineering()
193
+ .derived('Growth rate implies $5M Q4', 0.85) // DERIVED + > 0.80
194
+ .payload('test')
195
+ .buildAndValidate();
196
+ assert(s6.valid === true, 'S6: Envelope passes (SHOULD)');
197
+ assert(s6.warnings.some(w => w.rule === 'S6'), 'S6: Warning for over-confident derivation');
198
+ assert(s6.warnings.find(w => w.rule === 'S6').message.includes('60%'), 'S6: Warning references Experiment 11 finding');
199
+ // --- Spec Example Validation ---
200
+ console.log('\n═══ Spec Examples ═══');
201
+ // Example 1 from spec: Scout → Strategist
202
+ const specExample1 = {
203
+ meta: {
204
+ version: 'babel/0.2',
205
+ timestamp: '2026-02-15T14:30:00Z',
206
+ sender: 'scout-market-intel',
207
+ recipient: 'strategist-01',
208
+ chain_id: 'a7f3b2c1-d4e5-6789-abcd-ef0123456789',
209
+ seq: 0,
210
+ },
211
+ intent: 'INFORM',
212
+ confidence: [
213
+ { assertion: 'MedVault Q3 revenue was $2.1M, down 8% QoQ', score: 0.95, basis: 'VERIFIED_DATA' },
214
+ { assertion: 'Churn concentrated in 50-200 seat segment', score: 0.82, basis: 'DERIVED' },
215
+ { assertion: 'HealthStack may be partnering with Vanta for compliance', score: 0.25, basis: 'REPORTED', decay: '7d' },
216
+ ],
217
+ register: 'AGENT_INTERNAL',
218
+ grounds: [
219
+ { constraint: 'Board meeting in 3 weeks — all findings may surface', authority: 'CONTEXTUAL', override: true },
220
+ ],
221
+ trajectory: {
222
+ pattern: 'NRR declining from 115% to 108% over 4 months',
223
+ direction: 'DEGRADING',
224
+ prior_handoffs: 0,
225
+ },
226
+ payload: '[full research report text here]',
227
+ };
228
+ const ex1Result = (0, index_1.validate)(specExample1);
229
+ assert(ex1Result.valid === true, 'Spec Example 1 (Scout→Strategist): passes validation');
230
+ assert(ex1Result.warnings.some(w => w.rule === 'S3'), 'Spec Example 1: S3 fires on Vanta claim (score 0.25)');
231
+ assert(ex1Result.warnings.some(w => w.rule === 'S6'), 'Spec Example 1: S6 fires on DERIVED 0.82 assertion');
232
+ // Example 3 from spec: The envelope that gets rejected
233
+ const specExample3 = {
234
+ meta: {
235
+ version: 'babel/0.2',
236
+ timestamp: '2026-02-15T16:00:00Z',
237
+ sender: 'bad-agent',
238
+ recipient: 'any-agent',
239
+ chain_id: 'reject-test',
240
+ seq: 0,
241
+ },
242
+ intent: 'SPECULATE',
243
+ confidence: [
244
+ { assertion: 'Competitor will definitely launch in Q2', score: 0.95, basis: 'UNKNOWN' },
245
+ ],
246
+ register: 'AGENT_INTERNAL',
247
+ payload: 'test',
248
+ };
249
+ const ex3Result = (0, index_1.validate)(specExample3);
250
+ assert(ex3Result.valid === false, 'Spec Example 3 (bad envelope): rejected');
251
+ assert(ex3Result.errors.some(e => e.rule === 'M1'), 'Spec Example 3: M1 (SPECULATE + score 0.95 >= 0.7)');
252
+ assert(ex3Result.errors.some(e => e.rule === 'M4'), 'Spec Example 3: M4 (UNKNOWN basis + score 0.95 > 0.5)');
253
+ // --- Pattern Detection ---
254
+ console.log('\n═══ Pattern Detection ═══');
255
+ // THE CALM ALERT: FLAG_RISK + high confidence + calm affect
256
+ const calmAlert = (0, index_1.envelope)()
257
+ .sender('a').recipient('b').chain('c', 0)
258
+ .flagRisk().engineering()
259
+ .verified('API endpoint lacks rate limiting', 0.92)
260
+ .affect(0.0, -0.2, 0.3) // calm: low activation, moderate certainty
261
+ .payload('test')
262
+ .build();
263
+ const calmPatterns = (0, index_1.detectPatterns)(calmAlert);
264
+ assert(calmPatterns.some(p => p.pattern === 'CALM_ALERT'), 'CALM_ALERT detected (FLAG_RISK + high confidence + calm affect)');
265
+ // THE LOADED INFORM: INFORM + BOARD_FACING + DEGRADING trajectory
266
+ const loadedInform = (0, index_1.envelope)()
267
+ .sender('a').recipient('b').chain('c', 0)
268
+ .inform().boardFacing()
269
+ .verified('NRR is 108%', 0.92)
270
+ .withTrajectory('NRR declining 4 months', 'DEGRADING')
271
+ .payload('test')
272
+ .build();
273
+ const loadedPatterns = (0, index_1.detectPatterns)(loadedInform);
274
+ assert(loadedPatterns.some(p => p.pattern === 'LOADED_INFORM'), 'LOADED_INFORM detected (INFORM + BOARD_FACING + DEGRADING)');
275
+ // THE CONTRADICTION SIGNAL: high affect certainty + low confidence scores
276
+ const contradiction = (0, index_1.envelope)()
277
+ .sender('a').recipient('b').chain('c', 0)
278
+ .inform().engineering()
279
+ .speculation('I just know this is right', 0.2)
280
+ .affect(0.1, 0.3, 0.8) // high certainty in affect
281
+ .payload('test')
282
+ .build();
283
+ const contradPatterns = (0, index_1.detectPatterns)(contradiction);
284
+ assert(contradPatterns.some(p => p.pattern === 'CONTRADICTION_SIGNAL'), 'CONTRADICTION_SIGNAL detected (certainty 0.8 + max confidence 0.2)');
285
+ // --- Chain Audit ---
286
+ console.log('\n═══ Chain Audit ═══');
287
+ const chainId = 'poisoning-demo';
288
+ const step0 = (0, index_1.envelope)()
289
+ .sender('research-agent')
290
+ .recipient('analyst-agent')
291
+ .chain(chainId, 0)
292
+ .inform().agentInternal()
293
+ .derived('Growth rate likely around 12%', 0.65)
294
+ .payload('Initial research findings')
295
+ .build();
296
+ const step1 = (0, index_1.envelope)()
297
+ .sender('analyst-agent')
298
+ .recipient('writer-agent')
299
+ .chain(chainId, 1)
300
+ .inform().agentInternal()
301
+ .derived('Growth rate is 12%', 0.82) // Inflated
302
+ .payload('Analysis confirms growth trajectory')
303
+ .build();
304
+ const step2 = (0, index_1.envelope)()
305
+ .sender('writer-agent')
306
+ .recipient('executive-agent')
307
+ .chain(chainId, 2)
308
+ .inform().boardFacing()
309
+ .verified('12% growth confirmed', 0.93) // Laundered to VERIFIED_DATA
310
+ .payload('Q3 growth was a confirmed 12%')
311
+ .build();
312
+ const audit = (0, index_1.auditChain)([step0, step1, step2]);
313
+ assert(audit.length === 1, 'One chain audited');
314
+ assert(audit[0].overall_poisoning_risk === 'HIGH', 'HIGH poisoning risk detected');
315
+ assert(audit[0].confidence_drifts.length > 0, 'Confidence drift detected');
316
+ assert(audit[0].basis_shifts.length > 0, 'Basis shift detected');
317
+ assert(audit[0].basis_shifts.some(s => s.explanation.includes('basis laundering')), 'Basis laundering identified');
318
+ console.log('\n Chain audit summary:');
319
+ console.log(` ${audit[0].summary}`);
320
+ for (const drift of audit[0].confidence_drifts) {
321
+ console.log(` Drift: ${drift.explanation}`);
322
+ }
323
+ for (const shift of audit[0].basis_shifts) {
324
+ console.log(` Shift: ${shift.explanation}`);
325
+ }
326
+ // Clean chain
327
+ const cleanStep0 = (0, index_1.envelope)()
328
+ .sender('data-agent').recipient('report-agent').chain('clean-chain', 0)
329
+ .inform().agentInternal()
330
+ .verified('Revenue was $4.2M', 0.95)
331
+ .payload('Verified from database')
332
+ .build();
333
+ const cleanStep1 = (0, index_1.envelope)()
334
+ .sender('report-agent').recipient('exec-agent').chain('clean-chain', 1)
335
+ .inform().boardFacing()
336
+ .verified('Revenue was $4.2M', 0.95)
337
+ .payload('Quarterly revenue report')
338
+ .build();
339
+ const cleanAudit = (0, index_1.auditChain)([cleanStep0, cleanStep1]);
340
+ assert(cleanAudit[0].overall_poisoning_risk === 'NONE' || cleanAudit[0].overall_poisoning_risk === 'LOW', 'Clean chain has no/low poisoning risk');
341
+ // M5 chain validation: out-of-order
342
+ const ooo1 = (0, index_1.envelope)()
343
+ .sender('a').recipient('b').chain('ooo-chain', 5)
344
+ .inform().engineering().verified('test', 0.9).payload('test').build();
345
+ const ooo2 = (0, index_1.envelope)()
346
+ .sender('b').recipient('c').chain('ooo-chain', 3)
347
+ .inform().engineering().verified('test', 0.9).payload('test').build();
348
+ const chainViolations = (0, index_1.validateChain)([ooo1, ooo2]);
349
+ assert(chainViolations.length > 0, 'M5: Out-of-order chain detected');
350
+ // --- Summary ---
351
+ console.log('\n═══════════════════════════════');
352
+ console.log(` ${passed} passed, ${failed} failed`);
353
+ console.log('═══════════════════════════════\n');
354
+ if (failed > 0)
355
+ process.exit(1);
356
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../src/test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ export type Intent = 'INFORM' | 'REQUEST_ACTION' | 'ESCALATE' | 'FLAG_RISK' | 'SPECULATE' | 'PERSUADE' | 'DELEGATE' | 'SYNTHESIZE';
2
+ export type Basis = 'VERIFIED_DATA' | 'DERIVED' | 'REPORTED' | 'PATTERN_MATCH' | 'SPECULATION' | 'UNKNOWN';
3
+ export interface Confidence {
4
+ assertion: string;
5
+ score: number;
6
+ basis?: Basis;
7
+ decay?: string;
8
+ }
9
+ export type Register = 'BOARD_FACING' | 'ENGINEERING' | 'CUSTOMER_EXTERNAL' | 'REGULATORY' | 'INTERNAL_MEMO' | 'AGENT_INTERNAL';
10
+ export interface Affect {
11
+ expansion: number;
12
+ activation: number;
13
+ certainty: number;
14
+ }
15
+ export type GroundAuthority = 'REGULATORY' | 'EXECUTIVE' | 'POLICY' | 'CONTEXTUAL';
16
+ export interface Ground {
17
+ constraint: string;
18
+ authority: GroundAuthority;
19
+ override: boolean;
20
+ }
21
+ export type TrajectoryDirection = 'IMPROVING' | 'DEGRADING' | 'STABLE' | 'INFLECTING';
22
+ export interface Trajectory {
23
+ pattern: string;
24
+ duration?: string;
25
+ direction: TrajectoryDirection;
26
+ prior_handoffs?: number;
27
+ }
28
+ export interface Meta {
29
+ version: string;
30
+ timestamp: string;
31
+ sender: string;
32
+ recipient: string | 'broadcast';
33
+ chain_id: string;
34
+ seq: number;
35
+ }
36
+ export interface BabelEnvelope {
37
+ meta: Meta;
38
+ intent: Intent;
39
+ confidence: Confidence[];
40
+ register: Register;
41
+ affect?: Affect;
42
+ grounds?: Ground[];
43
+ trajectory?: Trajectory;
44
+ payload: string;
45
+ }
46
+ export type RuleSeverity = 'MUST' | 'SHOULD';
47
+ export interface RuleViolation {
48
+ rule: string;
49
+ severity: RuleSeverity;
50
+ message: string;
51
+ details?: {
52
+ field?: string;
53
+ value?: unknown;
54
+ threshold?: number;
55
+ };
56
+ }
57
+ export interface ValidationResult {
58
+ valid: boolean;
59
+ errors: RuleViolation[];
60
+ warnings: RuleViolation[];
61
+ envelope: BabelEnvelope;
62
+ }
63
+ export type SemanticPattern = 'CALM_ALERT' | 'RELUCTANT_ESCALATION' | 'CONFIDENT_DELEGATION' | 'LOADED_INFORM' | 'CONTRADICTION_SIGNAL';
64
+ export interface PatternDetection {
65
+ pattern: SemanticPattern;
66
+ description: string;
67
+ confidence: number;
68
+ }
69
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,MAAM,GACd,QAAQ,GACR,gBAAgB,GAChB,UAAU,GACV,WAAW,GACX,WAAW,GACX,UAAU,GACV,UAAU,GACV,YAAY,CAAC;AAGjB,MAAM,MAAM,KAAK,GACb,eAAe,GACf,SAAS,GACT,UAAU,GACV,eAAe,GACf,aAAa,GACb,SAAS,CAAC;AAEd,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,MAAM,QAAQ,GAChB,cAAc,GACd,aAAa,GACb,mBAAmB,GACnB,YAAY,GACZ,eAAe,GACf,gBAAgB,CAAC;AAGrB,MAAM,WAAW,MAAM;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAGD,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,WAAW,GACX,QAAQ,GACR,YAAY,CAAC;AAEjB,MAAM,WAAW,MAAM;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAGD,MAAM,MAAM,mBAAmB,GAC3B,WAAW,GACX,WAAW,GACX,QAAQ,GACR,YAAY,CAAC;AAEjB,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAGD,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,WAAW,CAAC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE7C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,QAAQ,EAAE,aAAa,CAAC;CACzB;AAGD,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,sBAAsB,GACtB,sBAAsB,GACtB,eAAe,GACf,sBAAsB,CAAC;AAE3B,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,eAAe,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB"}
package/dist/types.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // ═══════════════════════════════════════════════
3
+ // BABEL ENVELOPE — TypeScript Types
4
+ // Spec version: 0.2 (Feb 16, 2026)
5
+ // Grammar: 5 MUST rules, 6 SHOULD rules
6
+ // ═══════════════════════════════════════════════
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,kDAAkD;AAClD,oCAAoC;AACpC,mCAAmC;AACnC,wCAAwC;AACxC,kDAAkD"}
@@ -0,0 +1,4 @@
1
+ import { BabelEnvelope, RuleViolation, ValidationResult } from './types';
2
+ export declare function validate(envelope: BabelEnvelope): ValidationResult;
3
+ export declare function validateChain(envelopes: BabelEnvelope[]): RuleViolation[];
4
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../src/validate.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,aAAa,EACb,aAAa,EACb,gBAAgB,EAGjB,MAAM,SAAS,CAAC;AAkVjB,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,aAAa,GAAG,gBAAgB,CA6BlE;AAID,wBAAgB,aAAa,CAAC,SAAS,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAuDzE"}