@neurcode-ai/governance-runtime 0.1.1 → 0.1.3

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/index.js CHANGED
@@ -24,7 +24,7 @@ function extractPlannedFilePaths(planFiles) {
24
24
  }
25
25
  return Array.from(plannedFilePaths);
26
26
  }
27
- function detectConstraintViolations(intentConstraints, policyRules, extraConstraintRules, changedFiles) {
27
+ function detectConstraintViolations(intentConstraints, policyRules, extraConstraintRules, changedFiles, fileContents) {
28
28
  const compiled = (0, constraints_2.compileDeterministicConstraints)({
29
29
  intentConstraints,
30
30
  policyRules,
@@ -38,17 +38,153 @@ function detectConstraintViolations(intentConstraints, policyRules, extraConstra
38
38
  }
39
39
  const violations = [];
40
40
  const seenViolations = new Set();
41
+ const normalizedFileContents = {};
42
+ for (const [path, content] of Object.entries(fileContents || {})) {
43
+ normalizedFileContents[normalizeRepoPath(path)] = content;
44
+ }
45
+ const pathMatchesRule = (rule, filePath) => {
46
+ const include = rule.pathIncludes || [];
47
+ const exclude = rule.pathExcludes || [];
48
+ if (include.length > 0 && !include.some((pattern) => pattern.test(filePath))) {
49
+ return false;
50
+ }
51
+ if (exclude.length > 0 && exclude.some((pattern) => pattern.test(filePath))) {
52
+ return false;
53
+ }
54
+ return true;
55
+ };
56
+ const countMatches = (pattern, input) => {
57
+ if (!input)
58
+ return 0;
59
+ const flags = pattern.flags.includes('g') ? pattern.flags : `${pattern.flags}g`;
60
+ const re = new RegExp(pattern.source, flags);
61
+ let total = 0;
62
+ for (const _match of input.matchAll(re)) {
63
+ total += 1;
64
+ }
65
+ return total;
66
+ };
67
+ const addedLinesByPath = new Map();
68
+ for (const file of changedFiles) {
69
+ const addedLines = (file.hunks || []).flatMap((hunk) => hunk.lines
70
+ .filter((line) => line.type === 'added')
71
+ .map((line) => line.content));
72
+ addedLinesByPath.set(file.path, addedLines.join('\n'));
73
+ }
74
+ const candidateRepoPaths = new Set([
75
+ ...changedFiles.map((file) => file.path),
76
+ ...Object.keys(normalizedFileContents),
77
+ ]);
41
78
  for (const rule of rules) {
79
+ if (rule.evaluationMode === 'signature_delta') {
80
+ for (const file of changedFiles) {
81
+ if (!pathMatchesRule(rule, file.path)) {
82
+ continue;
83
+ }
84
+ const addedSignatureLines = (file.hunks || []).flatMap((hunk) => hunk.lines
85
+ .filter((line) => line.type === 'added' && new RegExp(rule.pattern.source, rule.pattern.flags).test(line.content))
86
+ .map((line) => line.content));
87
+ const removedSignatureLines = (file.hunks || []).flatMap((hunk) => hunk.lines
88
+ .filter((line) => line.type === 'removed' && new RegExp(rule.pattern.source, rule.pattern.flags).test(line.content))
89
+ .map((line) => line.content));
90
+ const deltaCount = addedSignatureLines.length + removedSignatureLines.length;
91
+ if (deltaCount === 0) {
92
+ continue;
93
+ }
94
+ const violation = `Exported API signature delta detected in ${file.path} ` +
95
+ `(added ${addedSignatureLines.length}, removed ${removedSignatureLines.length}, violates constraint: "${rule.displayName}")`;
96
+ if (!seenViolations.has(violation)) {
97
+ seenViolations.add(violation);
98
+ violations.push(violation);
99
+ }
100
+ }
101
+ continue;
102
+ }
103
+ const hasMatchBounds = (typeof rule.maxMatchesPerFile === 'number' && Number.isFinite(rule.maxMatchesPerFile))
104
+ || (typeof rule.minMatchesPerFile === 'number' && Number.isFinite(rule.minMatchesPerFile));
105
+ if (rule.evaluationScope === 'repo' && hasMatchBounds) {
106
+ let repoMatchCount = 0;
107
+ let scannedPaths = 0;
108
+ for (const filePath of candidateRepoPaths) {
109
+ if (!pathMatchesRule(rule, filePath)) {
110
+ continue;
111
+ }
112
+ const fullContent = normalizedFileContents[filePath];
113
+ const addedFallback = addedLinesByPath.get(filePath) || '';
114
+ const haystack = rule.evaluationMode === 'full_file' && typeof fullContent === 'string'
115
+ ? fullContent
116
+ : addedFallback;
117
+ if (!haystack) {
118
+ continue;
119
+ }
120
+ scannedPaths += 1;
121
+ repoMatchCount += countMatches(rule.pattern, haystack);
122
+ }
123
+ if (typeof rule.maxMatchesPerFile === 'number'
124
+ && Number.isFinite(rule.maxMatchesPerFile)
125
+ && repoMatchCount > rule.maxMatchesPerFile) {
126
+ const violation = `${rule.matchToken} matched ${repoMatchCount} times across repository scope ` +
127
+ `(limit ${rule.maxMatchesPerFile}, scanned ${scannedPaths} file(s), violates constraint: "${rule.displayName}")`;
128
+ if (!seenViolations.has(violation)) {
129
+ seenViolations.add(violation);
130
+ violations.push(violation);
131
+ }
132
+ }
133
+ if (typeof rule.minMatchesPerFile === 'number'
134
+ && Number.isFinite(rule.minMatchesPerFile)
135
+ && repoMatchCount < rule.minMatchesPerFile) {
136
+ const violation = `${rule.matchToken} matched ${repoMatchCount} times across repository scope ` +
137
+ `(minimum ${rule.minMatchesPerFile}, scanned ${scannedPaths} file(s), violates constraint: "${rule.displayName}")`;
138
+ if (!seenViolations.has(violation)) {
139
+ seenViolations.add(violation);
140
+ violations.push(violation);
141
+ }
142
+ }
143
+ continue;
144
+ }
42
145
  for (const file of changedFiles) {
146
+ if (!pathMatchesRule(rule, file.path)) {
147
+ continue;
148
+ }
43
149
  if (!file.hunks || file.hunks.length === 0) {
44
150
  continue;
45
151
  }
152
+ const addedLines = addedLinesByPath.get(file.path) || '';
153
+ if (hasMatchBounds) {
154
+ const fullContent = normalizedFileContents[file.path];
155
+ const haystack = rule.evaluationMode === 'full_file' && typeof fullContent === 'string'
156
+ ? fullContent
157
+ : addedLines;
158
+ const matchCount = countMatches(rule.pattern, haystack);
159
+ if (typeof rule.maxMatchesPerFile === 'number'
160
+ && Number.isFinite(rule.maxMatchesPerFile)
161
+ && matchCount > rule.maxMatchesPerFile) {
162
+ const violation = `${rule.matchToken} matched ${matchCount} times in ${file.path} ` +
163
+ `(limit ${rule.maxMatchesPerFile}, violates constraint: "${rule.displayName}")`;
164
+ if (!seenViolations.has(violation)) {
165
+ seenViolations.add(violation);
166
+ violations.push(violation);
167
+ }
168
+ }
169
+ if (typeof rule.minMatchesPerFile === 'number'
170
+ && Number.isFinite(rule.minMatchesPerFile)
171
+ && matchCount < rule.minMatchesPerFile) {
172
+ const violation = `${rule.matchToken} matched ${matchCount} times in ${file.path} ` +
173
+ `(minimum ${rule.minMatchesPerFile}, violates constraint: "${rule.displayName}")`;
174
+ if (!seenViolations.has(violation)) {
175
+ seenViolations.add(violation);
176
+ violations.push(violation);
177
+ }
178
+ }
179
+ continue;
180
+ }
46
181
  for (const hunk of file.hunks) {
47
182
  for (const line of hunk.lines) {
48
183
  if (line.type !== 'added') {
49
184
  continue;
50
185
  }
51
- if (!rule.pattern.test(line.content)) {
186
+ const pattern = new RegExp(rule.pattern.source, rule.pattern.flags);
187
+ if (!pattern.test(line.content)) {
52
188
  continue;
53
189
  }
54
190
  const violation = `${rule.matchToken} found in ${file.path} (violates constraint: \"${rule.displayName}\")`;
@@ -114,7 +250,7 @@ function evaluatePlanVerification(input) {
114
250
  const adherenceScore = totalPlannedFiles > 0
115
251
  ? Math.round((plannedFilesModified / totalPlannedFiles) * 100)
116
252
  : 0;
117
- const constraintViolations = detectConstraintViolations(input.intentConstraints, input.policyRules, input.extraConstraintRules, normalizedChangedFiles);
253
+ const constraintViolations = detectConstraintViolations(input.intentConstraints, input.policyRules, input.extraConstraintRules, normalizedChangedFiles, input.fileContents);
118
254
  const verdict = resolvePlanVerdict({
119
255
  bloatCount,
120
256
  adherenceScore,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAuFA,0DAeC;AA8ND,gDAyBC;AAED,oEAqBC;AAED,4DAwFC;AA7cD,6CAMuB;AALrB,8HAAA,+BAA+B,OAAA;AAMjC,+CAAkG;AA2ElG,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACnE,CAAC;AAED,SAAgB,uBAAuB,CAAC,SAA8B;IACpE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YACzD,gBAAgB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,0BAA0B,CACjC,iBAAqC,EACrC,WAAiC,EACjC,oBAA+D,EAC/D,YAA4B,EAC5B,YAAqC;IAErC,MAAM,QAAQ,GAAG,IAAA,6CAA+B,EAAC;QAC/C,iBAAiB;QACjB,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACZ,GAAG,QAAQ,CAAC,KAAK;QACjB,GAAG,CAAC,oBAAoB,IAAI,EAAE,CAAC;KAChC,CAAC;IAEF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,sBAAsB,GAA2B,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,CAAC;QACjE,sBAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC;IAC5D,CAAC;IAED,MAAM,eAAe,GAAG,CAAC,IAAiC,EAAE,QAAgB,EAAW,EAAE;QACvF,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,KAAa,EAAU,EAAE;QAC9D,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC;QAChF,MAAM,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,KAAK,IAAI,CAAC,CAAC;QACb,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACnD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CACrD,IAAI,CAAC,KAAK;aACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;QACF,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAS;QACzC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;QACxC,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC;KACvC,CAAC,CAAC;IAEH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,cAAc,KAAK,iBAAiB,EAAE,CAAC;YAC9C,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBACtC,SAAS;gBACX,CAAC;gBACD,MAAM,mBAAmB,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAC9D,IAAI,CAAC,KAAK;qBACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACjH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;gBACF,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChE,IAAI,CAAC,KAAK;qBACP,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBACnH,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAC/B,CAAC;gBACF,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC;gBAC7E,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;oBACrB,SAAS;gBACX,CAAC;gBACD,MAAM,SAAS,GACb,4CAA4C,IAAI,CAAC,IAAI,GAAG;oBACxD,UAAU,mBAAmB,CAAC,MAAM,aAAa,qBAAqB,CAAC,MAAM,2BAA2B,IAAI,CAAC,WAAW,IAAI,CAAC;gBAC/H,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,cAAc,GAClB,CAAC,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;eACpF,CAAC,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAE7F,IAAI,IAAI,CAAC,eAAe,KAAK,MAAM,IAAI,cAAc,EAAE,CAAC;YACtD,IAAI,cAAc,GAAG,CAAC,CAAC;YACvB,IAAI,YAAY,GAAG,CAAC,CAAC;YACrB,KAAK,MAAM,QAAQ,IAAI,kBAAkB,EAAE,CAAC;gBAC1C,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;oBACrC,SAAS;gBACX,CAAC;gBACD,MAAM,WAAW,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACrD,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAC3D,MAAM,QAAQ,GACZ,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;oBACpE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,aAAa,CAAC;gBACpB,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,SAAS;gBACX,CAAC;gBACD,YAAY,IAAI,CAAC,CAAC;gBAClB,cAAc,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACzD,CAAC;YAED,IACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;mBACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;mBACvC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAC1C,CAAC;gBACD,MAAM,SAAS,GACb,GAAG,IAAI,CAAC,UAAU,YAAY,cAAc,iCAAiC;oBAC7E,UAAU,IAAI,CAAC,iBAAiB,aAAa,YAAY,mCAAmC,IAAI,CAAC,WAAW,IAAI,CAAC;gBACnH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YAED,IACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;mBACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;mBACvC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAC1C,CAAC;gBACD,MAAM,SAAS,GACb,GAAG,IAAI,CAAC,UAAU,YAAY,cAAc,iCAAiC;oBAC7E,YAAY,IAAI,CAAC,iBAAiB,aAAa,YAAY,mCAAmC,IAAI,CAAC,WAAW,IAAI,CAAC;gBACrH,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;oBACnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,SAAS;YACX,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAEzD,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtD,MAAM,QAAQ,GACZ,IAAI,CAAC,cAAc,KAAK,WAAW,IAAI,OAAO,WAAW,KAAK,QAAQ;oBACpE,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,UAAU,CAAC;gBACjB,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;gBACxD,IACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;uBACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;uBACvC,UAAU,GAAG,IAAI,CAAC,iBAAiB,EACtC,CAAC;oBACD,MAAM,SAAS,GACb,GAAG,IAAI,CAAC,UAAU,YAAY,UAAU,aAAa,IAAI,CAAC,IAAI,GAAG;wBACjE,UAAU,IAAI,CAAC,iBAAiB,2BAA2B,IAAI,CAAC,WAAW,IAAI,CAAC;oBAClF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,IACE,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;uBACvC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC;uBACvC,UAAU,GAAG,IAAI,CAAC,iBAAiB,EACtC,CAAC;oBACD,MAAM,SAAS,GACb,GAAG,IAAI,CAAC,UAAU,YAAY,UAAU,aAAa,IAAI,CAAC,IAAI,GAAG;wBACjE,YAAY,IAAI,CAAC,iBAAiB,2BAA2B,IAAI,CAAC,WAAW,IAAI,CAAC;oBACpF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBACnC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;wBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,SAAS;YACX,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC1B,SAAS;oBACX,CAAC;oBACD,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACpE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAChC,SAAS;oBACX,CAAC;oBACD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,UAAU,aAAa,IAAI,CAAC,IAAI,4BAA4B,IAAI,CAAC,WAAW,KAAK,CAAC;oBAC5G,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;wBAClC,SAAS;oBACX,CAAC;oBACD,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBAC9B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC7B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAgB,kBAAkB,CAAC,KAMlC;IACC,IAAI,KAAK,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,iBAAiB,KAAK,CAAC,IAAI,KAAK,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;QACtE,uDAAuD;QACvD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC,IAAI,KAAK,CAAC,cAAc,GAAG,EAAE,EAAE,CAAC;QACtD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,4BAA4B,CAAC,MAG5C;IACC,IAAI,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,OAAO,2BAA2B,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1K,CAAC;IAED,IAAI,MAAM,CAAC,iBAAiB,KAAK,CAAC,IAAI,MAAM,CAAC,oBAAoB,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO,wEAAwE,CAAC;IAClF,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,qBAAqB,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,0BAA0B,CAAC;IAC3I,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC9B,OAAO,uBAAuB,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,2BAA2B,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,UAAU,6BAA6B,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAChO,CAAC;IAED,OAAO,qBAAqB,MAAM,CAAC,cAAc,MAAM,MAAM,CAAC,oBAAoB,IAAI,MAAM,CAAC,iBAAiB,6BAA6B,MAAM,CAAC,UAAU,6BAA6B,CAAC;AAC5L,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAA4B;IACnE,MAAM,gBAAgB,GAAG,uBAAuB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE7C,MAAM,sBAAsB,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC/D,GAAG,IAAI;QACP,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;QACnE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;KACxB,CAAC,CAAC,CAAC;IAEJ,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CACjC,IAAI,GAAG,CACL,sBAAsB;SACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CACnB,CACF,CAAC;IACF,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE7C,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACtF,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,MAAM,iBAAiB,GAAG,UAAU,CAAC,IAAI,CAAC;IAC1C,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACtG,MAAM,cAAc,GAAG,iBAAiB,GAAG,CAAC;QAC1C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,GAAG,GAAG,CAAC;QAC9D,CAAC,CAAC,CAAC,CAAC;IAEN,MAAM,oBAAoB,GAAG,0BAA0B,CACrD,KAAK,CAAC,iBAAiB,EACvB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,oBAAoB,EAC1B,sBAAsB,EACtB,KAAK,CAAC,YAAY,CACnB,CAAC;IACF,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,UAAU;QACV,cAAc;QACd,iBAAiB;QACjB,oBAAoB;QACpB,oBAAoB;KACrB,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS;QAChC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,UAAU;QAC5B,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS;QAClC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY;QAC9B,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAExE,MAAM,WAAW,GAAoB;QACnC,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;SACxB,CAAC,CAAC;QACH,UAAU;QACV,oBAAoB;QACpB,iBAAiB;KAClB,CAAC;IAEF,MAAM,OAAO,GAAG,4BAA4B,CAAC;QAC3C,oBAAoB;QACpB,iBAAiB;QACjB,oBAAoB;QACpB,OAAO;QACP,cAAc;QACd,UAAU;KACX,CAAC,CAAC;IAEH,OAAO;QACL,cAAc;QACd,UAAU;QACV,UAAU;QACV,oBAAoB;QACpB,iBAAiB;QACjB,gBAAgB,EAAE,UAAU,KAAK,CAAC;QAClC,oBAAoB;QACpB,OAAO;QACP,WAAW;QACX,OAAO;KACR,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neurcode-ai/governance-runtime",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Deterministic plan/diff governance runtime shared by CLI, API, and integrations",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",