@driftfence/core 0.1.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.
Files changed (92) hide show
  1. package/LICENSE +81 -0
  2. package/README.md +36 -0
  3. package/dist/draft/scenario.d.ts +3 -0
  4. package/dist/draft/scenario.d.ts.map +1 -0
  5. package/dist/draft/scenario.js +207 -0
  6. package/dist/draft/scenario.js.map +1 -0
  7. package/dist/index.d.ts +22 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +38 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/io/config.d.ts +10 -0
  12. package/dist/io/config.d.ts.map +1 -0
  13. package/dist/io/config.js +165 -0
  14. package/dist/io/config.js.map +1 -0
  15. package/dist/io/contracts.d.ts +7 -0
  16. package/dist/io/contracts.d.ts.map +1 -0
  17. package/dist/io/contracts.js +562 -0
  18. package/dist/io/contracts.js.map +1 -0
  19. package/dist/io/files.d.ts +6 -0
  20. package/dist/io/files.d.ts.map +1 -0
  21. package/dist/io/files.js +49 -0
  22. package/dist/io/files.js.map +1 -0
  23. package/dist/io/suppressions.d.ts +16 -0
  24. package/dist/io/suppressions.d.ts.map +1 -0
  25. package/dist/io/suppressions.js +108 -0
  26. package/dist/io/suppressions.js.map +1 -0
  27. package/dist/io/traces.d.ts +3 -0
  28. package/dist/io/traces.d.ts.map +1 -0
  29. package/dist/io/traces.js +40 -0
  30. package/dist/io/traces.js.map +1 -0
  31. package/dist/match/expr.d.ts +3 -0
  32. package/dist/match/expr.d.ts.map +1 -0
  33. package/dist/match/expr.js +43 -0
  34. package/dist/match/expr.js.map +1 -0
  35. package/dist/match/value.d.ts +5 -0
  36. package/dist/match/value.d.ts.map +1 -0
  37. package/dist/match/value.js +127 -0
  38. package/dist/match/value.js.map +1 -0
  39. package/dist/normalize/trace.d.ts +12 -0
  40. package/dist/normalize/trace.d.ts.map +1 -0
  41. package/dist/normalize/trace.js +215 -0
  42. package/dist/normalize/trace.js.map +1 -0
  43. package/dist/query/index.d.ts +4 -0
  44. package/dist/query/index.d.ts.map +1 -0
  45. package/dist/query/index.js +96 -0
  46. package/dist/query/index.js.map +1 -0
  47. package/dist/report/check.d.ts +3 -0
  48. package/dist/report/check.d.ts.map +1 -0
  49. package/dist/report/check.js +347 -0
  50. package/dist/report/check.js.map +1 -0
  51. package/dist/report/render.d.ts +11 -0
  52. package/dist/report/render.d.ts.map +1 -0
  53. package/dist/report/render.js +99 -0
  54. package/dist/report/render.js.map +1 -0
  55. package/dist/schemas/index.d.ts +578 -0
  56. package/dist/schemas/index.d.ts.map +1 -0
  57. package/dist/schemas/index.js +492 -0
  58. package/dist/schemas/index.js.map +1 -0
  59. package/dist/tsconfig.tsbuildinfo +1 -0
  60. package/dist/types.d.ts +402 -0
  61. package/dist/types.d.ts.map +1 -0
  62. package/dist/types.js +3 -0
  63. package/dist/types.js.map +1 -0
  64. package/dist/utils/errors.d.ts +18 -0
  65. package/dist/utils/errors.d.ts.map +1 -0
  66. package/dist/utils/errors.js +34 -0
  67. package/dist/utils/errors.js.map +1 -0
  68. package/dist/utils/json.d.ts +10 -0
  69. package/dist/utils/json.d.ts.map +1 -0
  70. package/dist/utils/json.js +98 -0
  71. package/dist/utils/json.js.map +1 -0
  72. package/dist/utils/order.d.ts +8 -0
  73. package/dist/utils/order.d.ts.map +1 -0
  74. package/dist/utils/order.js +42 -0
  75. package/dist/utils/order.js.map +1 -0
  76. package/dist/utils/path.d.ts +8 -0
  77. package/dist/utils/path.d.ts.map +1 -0
  78. package/dist/utils/path.js +168 -0
  79. package/dist/utils/path.js.map +1 -0
  80. package/dist/verify/invariants.d.ts +3 -0
  81. package/dist/verify/invariants.d.ts.map +1 -0
  82. package/dist/verify/invariants.js +38 -0
  83. package/dist/verify/invariants.js.map +1 -0
  84. package/dist/verify/sequence.d.ts +3 -0
  85. package/dist/verify/sequence.d.ts.map +1 -0
  86. package/dist/verify/sequence.js +151 -0
  87. package/dist/verify/sequence.js.map +1 -0
  88. package/dist/verify/summary.d.ts +8 -0
  89. package/dist/verify/summary.d.ts.map +1 -0
  90. package/dist/verify/summary.js +132 -0
  91. package/dist/verify/summary.js.map +1 -0
  92. package/package.json +47 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequence.js","sourceRoot":"","sources":["../../src/verify/sequence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ComponentResult, MatchContext, MatchOptions, ScenarioExpectations, TraceFile } from "../types";
2
+ export declare function deriveActualSummary(trace: TraceFile): {
3
+ effects: string[];
4
+ emits: string[];
5
+ };
6
+ export declare function compareSummary(expect: ScenarioExpectations, trace: TraceFile): ComponentResult[];
7
+ export declare function compareOutput(expect: ScenarioExpectations, trace: TraceFile, context: MatchContext, options: MatchOptions): ComponentResult[];
8
+ //# sourceMappingURL=summary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/verify/summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,oBAAoB,EACpB,SAAS,EACV,MAAM,UAAU,CAAC;AA+DlB,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG;IACrD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB,CAiBA;AAED,wBAAgB,cAAc,CAC5B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,SAAS,GACf,eAAe,EAAE,CAiBnB;AAED,wBAAgB,aAAa,CAC3B,MAAM,EAAE,oBAAoB,EAC5B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,YAAY,GACpB,eAAe,EAAE,CAgGnB"}
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deriveActualSummary = deriveActualSummary;
4
+ exports.compareSummary = compareSummary;
5
+ exports.compareOutput = compareOutput;
6
+ const value_1 = require("../match/value");
7
+ function classifySetComponent(component, approved, actual, allowedExtras) {
8
+ const approvedSet = new Set(approved);
9
+ const actualSet = new Set(actual.filter((item) => !allowedExtras.includes(item)));
10
+ const added = [...actualSet]
11
+ .filter((item) => !approvedSet.has(item))
12
+ .sort((left, right) => left.localeCompare(right));
13
+ const removed = [...approvedSet]
14
+ .filter((item) => !actualSet.has(item))
15
+ .sort((left, right) => left.localeCompare(right));
16
+ if (added.length === 0 && removed.length === 0) {
17
+ return {
18
+ component,
19
+ status: "CONFORMING",
20
+ code: "PASS",
21
+ message: `${component} conform to the approved contract.`
22
+ };
23
+ }
24
+ if (added.length > 0 && removed.length === 0) {
25
+ return {
26
+ component,
27
+ status: "WIDENING_REQUEST",
28
+ code: "SUMMARY_WIDEN",
29
+ message: `Actual ${component.split(".")[1]} contain additional behavior not covered by the contract.`,
30
+ added
31
+ };
32
+ }
33
+ if (added.length === 0 && removed.length > 0) {
34
+ return {
35
+ component,
36
+ status: "NARROWING",
37
+ code: "SUMMARY_NARROW",
38
+ message: `Actual ${component.split(".")[1]} are missing approved behavior.`,
39
+ removed
40
+ };
41
+ }
42
+ return {
43
+ component,
44
+ status: "VIOLATING",
45
+ code: "SUMMARY_INCOMPARABLE",
46
+ message: `Actual ${component.split(".")[1]} both add and remove approved behavior.`,
47
+ added,
48
+ removed
49
+ };
50
+ }
51
+ function deriveActualSummary(trace) {
52
+ return {
53
+ effects: Array.from(new Set(trace.calls
54
+ .filter((call) => call.kind === "effect")
55
+ .map((call) => call.name))).sort((left, right) => left.localeCompare(right)),
56
+ emits: Array.from(new Set(trace.calls
57
+ .filter((call) => call.kind === "emit")
58
+ .map((call) => call.event))).sort((left, right) => left.localeCompare(right))
59
+ };
60
+ }
61
+ function compareSummary(expect, trace) {
62
+ const actualSummary = deriveActualSummary(trace);
63
+ return [
64
+ classifySetComponent("summary.effects", expect.summary.effects ?? [], actualSummary.effects, expect.summary.allowExtraEffects ?? []),
65
+ classifySetComponent("summary.emits", expect.summary.emits ?? [], actualSummary.emits, expect.summary.allowExtraEmits ?? [])
66
+ ];
67
+ }
68
+ function compareOutput(expect, trace, context, options) {
69
+ const results = [];
70
+ if (expect.output !== undefined) {
71
+ const outputMatch = (0, value_1.matchValue)(expect.output, trace.output, context, options, "output");
72
+ results.push(outputMatch.ok
73
+ ? {
74
+ component: "output",
75
+ status: "CONFORMING",
76
+ code: "PASS",
77
+ message: "Output matches the approved contract."
78
+ }
79
+ : {
80
+ component: "output",
81
+ status: "VIOLATING",
82
+ code: "OUTPUT_MISMATCH",
83
+ message: (0, value_1.describeMatchFailure)(outputMatch.failure ?? {
84
+ path: "output",
85
+ expected: expect.output,
86
+ actual: trace.output
87
+ })
88
+ });
89
+ }
90
+ if (expect.error !== undefined) {
91
+ const errorMatch = (0, value_1.matchErrorExpectation)(expect.error, trace.error, context, options);
92
+ results.push(errorMatch.ok
93
+ ? {
94
+ component: "error",
95
+ status: "CONFORMING",
96
+ code: "PASS",
97
+ message: "Error behavior matches the approved contract."
98
+ }
99
+ : {
100
+ component: "error",
101
+ status: "VIOLATING",
102
+ code: "ERROR_MISMATCH",
103
+ message: (0, value_1.describeMatchFailure)(errorMatch.failure ?? {
104
+ path: "error",
105
+ expected: expect.error,
106
+ actual: trace.error
107
+ })
108
+ });
109
+ }
110
+ if (expect.stateAfter !== undefined) {
111
+ const stateAfterMatch = (0, value_1.matchValue)(expect.stateAfter, trace.stateAfter, context, options, "stateAfter");
112
+ results.push(stateAfterMatch.ok
113
+ ? {
114
+ component: "stateAfter",
115
+ status: "CONFORMING",
116
+ code: "PASS",
117
+ message: "State-after matches the approved contract."
118
+ }
119
+ : {
120
+ component: "stateAfter",
121
+ status: "VIOLATING",
122
+ code: "STATE_AFTER_MISMATCH",
123
+ message: (0, value_1.describeMatchFailure)(stateAfterMatch.failure ?? {
124
+ path: "stateAfter",
125
+ expected: expect.stateAfter,
126
+ actual: trace.stateAfter
127
+ })
128
+ });
129
+ }
130
+ return results;
131
+ }
132
+ //# sourceMappingURL=summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/verify/summary.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "@driftfence/core",
3
+ "version": "0.1.0",
4
+ "license": "BUSL-1.1",
5
+ "description": "Core schemas, normalization, diffing, and reporting for DriftFence.",
6
+ "type": "commonjs",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "homepage": "https://github.com/austindyoung/DriftFenceV2#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/austindyoung/DriftFenceV2/issues"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/austindyoung/DriftFenceV2.git",
16
+ "directory": "packages/core"
17
+ },
18
+ "engines": {
19
+ "node": ">=20.19.0"
20
+ },
21
+ "keywords": [
22
+ "driftfence",
23
+ "contracts",
24
+ "tracing",
25
+ "testing",
26
+ "governance"
27
+ ],
28
+ "files": [
29
+ "dist",
30
+ "README.md"
31
+ ],
32
+ "publishConfig": {
33
+ "access": "public"
34
+ },
35
+ "dependencies": {
36
+ "picomatch": "^4.0.3",
37
+ "yaml": "^2.8.2",
38
+ "zod": "^4.3.6",
39
+ "zod-to-json-schema": "^3.25.1"
40
+ },
41
+ "exports": {
42
+ ".": {
43
+ "types": "./dist/index.d.ts",
44
+ "default": "./dist/index.js"
45
+ }
46
+ }
47
+ }