@principles/core 1.277.0 → 1.277.2
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/runtime-v2/__tests__/replay-production-parity.test.d.ts +13 -0
- package/dist/runtime-v2/__tests__/replay-production-parity.test.d.ts.map +1 -0
- package/dist/runtime-v2/__tests__/replay-production-parity.test.js +133 -0
- package/dist/runtime-v2/__tests__/replay-production-parity.test.js.map +1 -0
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js +36 -0
- package/dist/runtime-v2/activation/__tests__/activation-dispatcher.test.js.map +1 -1
- package/dist/runtime-v2/activation/activation-dispatcher.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-dispatcher.js +4 -0
- package/dist/runtime-v2/activation/activation-dispatcher.js.map +1 -1
- package/dist/runtime-v2/activation/activation-types.d.ts +11 -1
- package/dist/runtime-v2/activation/activation-types.d.ts.map +1 -1
- package/dist/runtime-v2/activation/activation-types.js.map +1 -1
- package/dist/runtime-v2/activation/production-gate-deps.d.ts +18 -1
- package/dist/runtime-v2/activation/production-gate-deps.d.ts.map +1 -1
- package/dist/runtime-v2/activation/production-gate-deps.js +5 -1
- package/dist/runtime-v2/activation/production-gate-deps.js.map +1 -1
- package/dist/runtime-v2/activation/writers/rule-host-writer.d.ts +18 -0
- package/dist/runtime-v2/activation/writers/rule-host-writer.d.ts.map +1 -1
- package/dist/runtime-v2/activation/writers/rule-host-writer.js +36 -1
- package/dist/runtime-v2/activation/writers/rule-host-writer.js.map +1 -1
- package/dist/runtime-v2/golden-trace-replay-validator.d.ts +8 -0
- package/dist/runtime-v2/golden-trace-replay-validator.d.ts.map +1 -1
- package/dist/runtime-v2/golden-trace-replay-validator.js +9 -3
- package/dist/runtime-v2/golden-trace-replay-validator.js.map +1 -1
- package/dist/runtime-v2/golden-trace.d.ts +9 -0
- package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/dist/runtime-v2/golden-trace.js +7 -1
- package/dist/runtime-v2/golden-trace.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +5 -1
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +3 -1
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js +43 -0
- package/dist/runtime-v2/internalization/__tests__/diag-router-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js +55 -0
- package/dist/runtime-v2/internalization/__tests__/mvp-core-loop-journeys.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.js +30 -9
- package/dist/runtime-v2/internalization/__tests__/rule-code-dialect.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.d.ts +12 -0
- package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.js +256 -0
- package/dist/runtime-v2/internalization/__tests__/rule-reliability-validation.test.js.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js +131 -0
- package/dist/runtime-v2/internalization/__tests__/shared-information-plane-runner.test.js.map +1 -1
- package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.d.ts +11 -0
- package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.js +133 -0
- package/dist/runtime-v2/internalization/__tests__/tool-semantic-registry.test.js.map +1 -0
- package/dist/runtime-v2/internalization/diag-router-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/diag-router-runner.js +35 -0
- package/dist/runtime-v2/internalization/diag-router-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-output.d.ts +10 -0
- package/dist/runtime-v2/internalization/evaluator-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-output.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +4 -0
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/index.d.ts +5 -1
- package/dist/runtime-v2/internalization/index.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/index.js +3 -1
- package/dist/runtime-v2/internalization/index.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.js +23 -0
- package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts +11 -0
- package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js +11 -1
- package/dist/runtime-v2/internalization/legacy-rule-contract-scanner.js.map +1 -1
- package/dist/runtime-v2/internalization/refiner-rulehost-gate.d.ts +21 -0
- package/dist/runtime-v2/internalization/refiner-rulehost-gate.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/refiner-rulehost-gate.js +30 -9
- package/dist/runtime-v2/internalization/refiner-rulehost-gate.js.map +1 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts +18 -0
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js +11 -3
- package/dist/runtime-v2/internalization/refiner-sandbox-wrapper.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-code-validator.d.ts +7 -4
- package/dist/runtime-v2/internalization/rule-code-validator.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rule-code-validator.js +25 -2
- package/dist/runtime-v2/internalization/rule-code-validator.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-context-v2.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rule-context-v2.js +6 -26
- package/dist/runtime-v2/internalization/rule-context-v2.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-host-contracts.d.ts +10 -1
- package/dist/runtime-v2/internalization/rule-host-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rule-host-input-builder.d.ts +21 -0
- package/dist/runtime-v2/internalization/rule-host-input-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rule-host-input-builder.js +28 -1
- package/dist/runtime-v2/internalization/rule-host-input-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-reliability-validation.d.ts +67 -0
- package/dist/runtime-v2/internalization/rule-reliability-validation.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/rule-reliability-validation.js +178 -0
- package/dist/runtime-v2/internalization/rule-reliability-validation.js.map +1 -0
- package/dist/runtime-v2/internalization/tool-semantic-baseline.d.ts +26 -0
- package/dist/runtime-v2/internalization/tool-semantic-baseline.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/tool-semantic-baseline.js +57 -0
- package/dist/runtime-v2/internalization/tool-semantic-baseline.js.map +1 -0
- package/dist/runtime-v2/internalization/tool-semantic-registry.d.ts +76 -0
- package/dist/runtime-v2/internalization/tool-semantic-registry.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/tool-semantic-registry.js +113 -0
- package/dist/runtime-v2/internalization/tool-semantic-registry.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"legacy-rule-contract-scanner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/legacy-rule-contract-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAmCH,0EAA0E;AAC1E,4EAA4E;AAC5E,yEAAyE;AACzE,kEAAkE;AAClE,MAAM,eAAe,GAA6B;IAChD,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,EAAE,oBAAoB,EAAE;IAC3D,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE;IACnD,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,sBAAsB,EAAE;IAC5D,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,EAAE,oBAAoB,EAAE;IAC9D,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,EAAE;CAC/D,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"legacy-rule-contract-scanner.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/legacy-rule-contract-scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,38 @@
|
|
|
1
1
|
import type { GoldenTrace } from '../golden-trace.js';
|
|
2
2
|
import type { RefinerSandboxResult, RefinerSandboxOptions } from './refiner-sandbox-wrapper.js';
|
|
3
|
+
import type { ToolSemanticRegistry } from './tool-semantic-registry.js';
|
|
4
|
+
import { type RuleReliabilityFailure } from './rule-reliability-validation.js';
|
|
3
5
|
export type RefinerRuleHostGateDecision = 'accepted_shadow' | 'rejected_validation_failed' | 'rejected_forbidden_pattern' | 'rejected_timeout' | 'rejected_runtime_error' | 'rejected_no_cases';
|
|
4
6
|
export interface RefinerRuleHostGateInput {
|
|
5
7
|
code: string;
|
|
6
8
|
goldenTrace: GoldenTrace;
|
|
7
9
|
requestedMode?: 'shadow' | 'live';
|
|
8
10
|
softTimeoutMs?: number;
|
|
11
|
+
/**
|
|
12
|
+
* PRI-634-F Phase 2: registry the production gate resolves tool semantics
|
|
13
|
+
* with. Threaded into the sandbox so replay synthetic inputs derive
|
|
14
|
+
* canonicalKind + extraction hints identically to production. Absent →
|
|
15
|
+
* legacy replay inputs (parity disabled).
|
|
16
|
+
*/
|
|
17
|
+
toolSemantics?: ToolSemanticRegistry;
|
|
18
|
+
/**
|
|
19
|
+
* PRI-634-F Phase 2: workspace root for replay path normalization — the
|
|
20
|
+
* same root the production gate normalizes against. Absent → legacy
|
|
21
|
+
* normalizedPath=null replay inputs.
|
|
22
|
+
*/
|
|
23
|
+
projectDir?: string;
|
|
9
24
|
}
|
|
10
25
|
export interface RefinerRuleHostGateResult {
|
|
11
26
|
decision: RefinerRuleHostGateDecision;
|
|
12
27
|
applicationMode: 'shadow';
|
|
13
28
|
sandboxResult: RefinerSandboxResult;
|
|
14
29
|
reasons: string[];
|
|
30
|
+
/**
|
|
31
|
+
* PRI-634-F Phase 3: layered attribution for every rejected decision
|
|
32
|
+
* ({layer, reasonCode, evidence, nextAction} — SPEC §8/§10). Absent on
|
|
33
|
+
* accepted_shadow. Routing only — no repair.
|
|
34
|
+
*/
|
|
35
|
+
failure?: RuleReliabilityFailure;
|
|
15
36
|
}
|
|
16
37
|
export interface RefinerRuleHostGateDeps {
|
|
17
38
|
evaluateInSandbox: (code: string, goldenTrace: GoldenTrace, opts?: RefinerSandboxOptions) => RefinerSandboxResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refiner-rulehost-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-rulehost-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAA4B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"refiner-rulehost-gate.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-rulehost-gate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAA4B,MAAM,8BAA8B,CAAC;AAC1H,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAyB,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAEtG,MAAM,MAAM,2BAA2B,GACnC,iBAAiB,GACjB,4BAA4B,GAC5B,4BAA4B,GAC5B,kBAAkB,GAClB,wBAAwB,GACxB,mBAAmB,CAAC;AAExB,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,2BAA2B,CAAC;IACtC,eAAe,EAAE,QAAQ,CAAC;IAC1B,aAAa,EAAE,oBAAoB,CAAC;IACpC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAED,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,CACjB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,CAAC,EAAE,qBAAqB,KACzB,oBAAoB,CAAC;CAC3B;AA8DD,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,wBAAwB,EAC/B,IAAI,EAAE,uBAAuB,GAC5B,yBAAyB,CAkI3B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { classifyReplayFailure } from './rule-reliability-validation.js';
|
|
1
2
|
const EMPTY_SANDBOX_RESULT = {
|
|
2
3
|
success: false,
|
|
3
4
|
failedCases: [],
|
|
@@ -54,42 +55,54 @@ export function evaluateRefinerRuleHostGate(input, deps) {
|
|
|
54
55
|
reasons.push('requestedMode=live is not supported in PRI-173; applicationMode forced to shadow');
|
|
55
56
|
}
|
|
56
57
|
if (input.goldenTrace.cases.length === 0) {
|
|
58
|
+
const decision = 'rejected_no_cases';
|
|
57
59
|
return {
|
|
58
|
-
decision
|
|
60
|
+
decision,
|
|
59
61
|
applicationMode: 'shadow',
|
|
60
62
|
sandboxResult: EMPTY_SANDBOX_RESULT,
|
|
61
63
|
reasons: ['goldenTrace.cases is empty — no test cases to validate against', ...reasons],
|
|
64
|
+
failure: classifyReplayFailure(decision, EMPTY_SANDBOX_RESULT),
|
|
62
65
|
};
|
|
63
66
|
}
|
|
64
|
-
const sandboxOpts =
|
|
67
|
+
const sandboxOpts = {
|
|
68
|
+
...(input.softTimeoutMs !== undefined ? { softTimeoutMs: input.softTimeoutMs } : {}),
|
|
69
|
+
...(input.toolSemantics !== undefined ? { toolSemantics: input.toolSemantics } : {}),
|
|
70
|
+
...(input.projectDir !== undefined ? { projectDir: input.projectDir } : {}),
|
|
71
|
+
};
|
|
65
72
|
const sandboxOutcome = invokeSandboxSafe(deps, { code: input.code, goldenTrace: input.goldenTrace, opts: sandboxOpts });
|
|
66
73
|
if (sandboxOutcome.threw) {
|
|
74
|
+
const decision = 'rejected_runtime_error';
|
|
67
75
|
return {
|
|
68
|
-
decision
|
|
76
|
+
decision,
|
|
69
77
|
applicationMode: 'shadow',
|
|
70
78
|
sandboxResult: sandboxOutcome.result,
|
|
71
79
|
reasons: ['sandbox adapter failure: evaluateInSandbox threw', ...reasons],
|
|
80
|
+
failure: classifyReplayFailure(decision, sandboxOutcome.result),
|
|
72
81
|
};
|
|
73
82
|
}
|
|
74
83
|
const sandboxResult = sandboxOutcome.result;
|
|
75
84
|
if (sandboxResult.forbiddenPatternViolations.length > 0) {
|
|
85
|
+
const decision = 'rejected_forbidden_pattern';
|
|
76
86
|
return {
|
|
77
|
-
decision
|
|
87
|
+
decision,
|
|
78
88
|
applicationMode: 'shadow',
|
|
79
89
|
sandboxResult,
|
|
80
90
|
reasons: [
|
|
81
91
|
`forbidden patterns detected: ${sandboxResult.forbiddenPatternViolations.join(', ')}`,
|
|
82
92
|
...reasons,
|
|
83
93
|
],
|
|
94
|
+
failure: classifyReplayFailure(decision, sandboxResult),
|
|
84
95
|
};
|
|
85
96
|
}
|
|
86
97
|
if (sandboxResult.failedCases.length === 0) {
|
|
87
98
|
if (!sandboxResult.success) {
|
|
99
|
+
const decision = 'rejected_runtime_error';
|
|
88
100
|
return {
|
|
89
|
-
decision
|
|
101
|
+
decision,
|
|
90
102
|
applicationMode: 'shadow',
|
|
91
103
|
sandboxResult,
|
|
92
104
|
reasons: ['sandbox reported success=false with no failedCases or forbiddenPatternViolations — fail closed', ...reasons],
|
|
105
|
+
failure: classifyReplayFailure(decision, sandboxResult),
|
|
93
106
|
};
|
|
94
107
|
}
|
|
95
108
|
return {
|
|
@@ -101,51 +114,59 @@ export function evaluateRefinerRuleHostGate(input, deps) {
|
|
|
101
114
|
}
|
|
102
115
|
const errorTypes = new Set(sandboxResult.failedCases.map((c) => c.errorType));
|
|
103
116
|
if (errorTypes.has('timeout')) {
|
|
117
|
+
const decision = 'rejected_timeout';
|
|
104
118
|
const timeoutCases = sandboxResult.failedCases.filter((c) => c.errorType === 'timeout');
|
|
105
119
|
return {
|
|
106
|
-
decision
|
|
120
|
+
decision,
|
|
107
121
|
applicationMode: 'shadow',
|
|
108
122
|
sandboxResult,
|
|
109
123
|
reasons: [
|
|
110
124
|
...timeoutCases.map((c) => `case ${c.caseId}: timeout — ${c.message}`),
|
|
111
125
|
...reasons,
|
|
112
126
|
],
|
|
127
|
+
failure: classifyReplayFailure(decision, sandboxResult),
|
|
113
128
|
};
|
|
114
129
|
}
|
|
115
130
|
const runtimeErrorTypes = new Set(['runtime_error', 'syntax_error', 'unknown']);
|
|
116
131
|
const hasRuntimeError = [...errorTypes].some((t) => runtimeErrorTypes.has(t));
|
|
117
132
|
if (hasRuntimeError) {
|
|
133
|
+
const decision = 'rejected_runtime_error';
|
|
118
134
|
const runtimeCases = sandboxResult.failedCases.filter((c) => runtimeErrorTypes.has(c.errorType));
|
|
119
135
|
return {
|
|
120
|
-
decision
|
|
136
|
+
decision,
|
|
121
137
|
applicationMode: 'shadow',
|
|
122
138
|
sandboxResult,
|
|
123
139
|
reasons: [
|
|
124
140
|
...runtimeCases.map((c) => `case ${c.caseId}: ${c.errorType} — ${c.message}`),
|
|
125
141
|
...reasons,
|
|
126
142
|
],
|
|
143
|
+
failure: classifyReplayFailure(decision, sandboxResult),
|
|
127
144
|
};
|
|
128
145
|
}
|
|
129
146
|
if (errorTypes.has('validation_failed')) {
|
|
147
|
+
const decision = 'rejected_validation_failed';
|
|
130
148
|
const validationCases = sandboxResult.failedCases.filter((c) => c.errorType === 'validation_failed');
|
|
131
149
|
return {
|
|
132
|
-
decision
|
|
150
|
+
decision,
|
|
133
151
|
applicationMode: 'shadow',
|
|
134
152
|
sandboxResult,
|
|
135
153
|
reasons: [
|
|
136
154
|
...validationCases.map((c) => `case ${c.caseId}: validation_failed — ${c.message}`),
|
|
137
155
|
...reasons,
|
|
138
156
|
],
|
|
157
|
+
failure: classifyReplayFailure(decision, sandboxResult),
|
|
139
158
|
};
|
|
140
159
|
}
|
|
160
|
+
const fallbackDecision = 'rejected_runtime_error';
|
|
141
161
|
return {
|
|
142
|
-
decision:
|
|
162
|
+
decision: fallbackDecision,
|
|
143
163
|
applicationMode: 'shadow',
|
|
144
164
|
sandboxResult,
|
|
145
165
|
reasons: [
|
|
146
166
|
...sandboxResult.failedCases.map((c) => `case ${c.caseId}: ${c.errorType} — ${c.message}`),
|
|
147
167
|
...reasons,
|
|
148
168
|
],
|
|
169
|
+
failure: classifyReplayFailure(fallbackDecision, sandboxResult),
|
|
149
170
|
};
|
|
150
171
|
}
|
|
151
172
|
//# sourceMappingURL=refiner-rulehost-gate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refiner-rulehost-gate.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-rulehost-gate.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"refiner-rulehost-gate.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-rulehost-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { GoldenTrace, GoldenTraceDecision } from '../golden-trace.js';
|
|
2
2
|
import type { ReplayEvaluateFn } from '../golden-trace-replay-validator.js';
|
|
3
3
|
import type { RuleHostDecision } from './rule-host-contracts.js';
|
|
4
|
+
import type { ToolSemanticRegistry } from './tool-semantic-registry.js';
|
|
4
5
|
export type RefinerSandboxErrorType = 'forbidden_pattern' | 'syntax_error' | 'runtime_error' | 'timeout' | 'validation_failed' | 'unknown';
|
|
5
6
|
export interface RefinerSandboxFailedCase {
|
|
6
7
|
caseId: string;
|
|
@@ -33,6 +34,23 @@ export interface RefinerSandboxResult {
|
|
|
33
34
|
export interface RefinerSandboxOptions {
|
|
34
35
|
/** Elapsed-time classification threshold (NOT hard cancellation). See evaluateInRefinerSandbox JSDoc. */
|
|
35
36
|
softTimeoutMs?: number;
|
|
37
|
+
/**
|
|
38
|
+
* PRI-634-F Phase 2: the ToolSemanticRegistry used by the production gate.
|
|
39
|
+
* When provided, replay synthetic inputs resolve canonicalKind and
|
|
40
|
+
* bash/write extraction hints from the SAME registry, closing the
|
|
41
|
+
* replay/production divergence (baseline: replay built every input with
|
|
42
|
+
* no hints, so bash command extraction never fired and normalizedPath
|
|
43
|
+
* stayed null). Absent → legacy behavior.
|
|
44
|
+
*/
|
|
45
|
+
toolSemantics?: ToolSemanticRegistry;
|
|
46
|
+
/**
|
|
47
|
+
* PRI-634-F Phase 2: workspace root for path normalization. The production
|
|
48
|
+
* gate normalizes against the live workspace dir; replay normalizes against
|
|
49
|
+
* this. Same root + same pure function ⇒ identical normalizedPath for
|
|
50
|
+
* every case shape (absolute-under-root relativizes, escape paths return
|
|
51
|
+
* as-is, relative paths and synthetic <tool:X> paths are root-invariant).
|
|
52
|
+
*/
|
|
53
|
+
projectDir?: string;
|
|
36
54
|
}
|
|
37
55
|
export interface RefinerSandboxDependencies {
|
|
38
56
|
evaluateCode?: ReplayEvaluateFn;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refiner-sandbox-wrapper.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-sandbox-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAK5E,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"refiner-sandbox-wrapper.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-sandbox-wrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAmB,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5F,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAK5E,OAAO,KAAK,EAAkB,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAGxE,MAAM,MAAM,uBAAuB,GAC/B,mBAAmB,GACnB,cAAc,GACd,eAAe,GACf,SAAS,GACT,mBAAmB,GACnB,SAAS,CAAC;AAEd,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,uBAAuB,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;IACvC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC;CACnC;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,wBAAwB,EAAE,CAAC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,0BAA0B,EAAE,MAAM,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,qBAAqB;IACpC,yGAAyG;IACzG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC;AAED,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,eAAO,MAAM,cAAc,QAAQ,CAAC;AA0KpC;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,0BAA0B,GAAG,qBAAqB,GACvD,oBAAoB,CAyGtB"}
|
|
@@ -70,8 +70,12 @@ function resolveTimeoutMs(timeoutMs) {
|
|
|
70
70
|
}
|
|
71
71
|
return timeoutMs;
|
|
72
72
|
}
|
|
73
|
-
function evaluateCaseWithTimeout(evaluateFn, traceCase,
|
|
74
|
-
const
|
|
73
|
+
function evaluateCaseWithTimeout(evaluateFn, traceCase, replayContext) {
|
|
74
|
+
const { projectDir, toolSemantics, timeoutMs } = replayContext;
|
|
75
|
+
const hasOptions = projectDir !== undefined || toolSemantics !== undefined;
|
|
76
|
+
const input = createSyntheticRuleHostInput({ toolName: traceCase.toolName, params: traceCase.params }, traceCase.ruleContext !== undefined ? { context: traceCase.ruleContext } : {}, hasOptions
|
|
77
|
+
? { ...(projectDir !== undefined ? { projectDir } : {}), ...(toolSemantics !== undefined ? { toolSemantics } : {}) }
|
|
78
|
+
: {});
|
|
75
79
|
const helpers = {
|
|
76
80
|
isRiskPath: () => input.workspace.isRiskPath,
|
|
77
81
|
getToolName: () => input.action.toolName,
|
|
@@ -207,7 +211,11 @@ export function evaluateInRefinerSandbox(code, goldenTrace, deps) {
|
|
|
207
211
|
}
|
|
208
212
|
const failedCases = [];
|
|
209
213
|
for (const traceCase of goldenTrace.cases) {
|
|
210
|
-
const { result, error, timedOut, threw } = evaluateCaseWithTimeout(evaluateFn, traceCase,
|
|
214
|
+
const { result, error, timedOut, threw } = evaluateCaseWithTimeout(evaluateFn, traceCase, {
|
|
215
|
+
timeoutMs,
|
|
216
|
+
...(deps.projectDir !== undefined ? { projectDir: deps.projectDir } : {}),
|
|
217
|
+
...(deps.toolSemantics !== undefined ? { toolSemantics: deps.toolSemantics } : {}),
|
|
218
|
+
});
|
|
211
219
|
if (timedOut) {
|
|
212
220
|
failedCases.push({
|
|
213
221
|
caseId: traceCase.caseId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"refiner-sandbox-wrapper.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-sandbox-wrapper.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,kCAAkC,EAAE,MAAM,0BAA0B,CAAC;AACtG,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"refiner-sandbox-wrapper.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/refiner-sandbox-wrapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,16 +7,19 @@
|
|
|
7
7
|
*
|
|
8
8
|
* PRI-44: Pure validation logic, zero infrastructure dependency.
|
|
9
9
|
* VM-dependent checks remain in the plugin layer.
|
|
10
|
+
*
|
|
11
|
+
* PRI-668: pattern matching examines EXECUTABLE source only — comments and
|
|
12
|
+
* string-literal contents are masked first (maskNonExecutableText). A string
|
|
13
|
+
* literal is DATA; it can only become code through the dynamic-evaluation
|
|
14
|
+
* and bracket-access primitives, each of which is its own forbidden pattern,
|
|
15
|
+
* so the masking creates no escape. Template `${...}` interpolation stays
|
|
16
|
+
* un-masked (executable).
|
|
10
17
|
*/
|
|
11
18
|
export interface ValidationResult {
|
|
12
19
|
valid: boolean;
|
|
13
20
|
errors: string[];
|
|
14
21
|
warnings: string[];
|
|
15
22
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Pure forbidden-pattern check — returns labels of all forbidden patterns found.
|
|
18
|
-
* No VM, no filesystem, no side effects.
|
|
19
|
-
*/
|
|
20
23
|
export declare function checkForbiddenPatterns(code: string): string[];
|
|
21
24
|
/**
|
|
22
25
|
* Best-effort static check: find `return { ... }` statements where
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-code-validator.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-code-validator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rule-code-validator.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-code-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA0DD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAU7D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBjE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBzE"}
|
|
@@ -7,7 +7,15 @@
|
|
|
7
7
|
*
|
|
8
8
|
* PRI-44: Pure validation logic, zero infrastructure dependency.
|
|
9
9
|
* VM-dependent checks remain in the plugin layer.
|
|
10
|
+
*
|
|
11
|
+
* PRI-668: pattern matching examines EXECUTABLE source only — comments and
|
|
12
|
+
* string-literal contents are masked first (maskNonExecutableText). A string
|
|
13
|
+
* literal is DATA; it can only become code through the dynamic-evaluation
|
|
14
|
+
* and bracket-access primitives, each of which is its own forbidden pattern,
|
|
15
|
+
* so the masking creates no escape. Template `${...}` interpolation stays
|
|
16
|
+
* un-masked (executable).
|
|
10
17
|
*/
|
|
18
|
+
import { maskNonExecutableText } from './legacy-rule-contract-scanner.js';
|
|
11
19
|
const FORBIDDEN_PATTERNS = [
|
|
12
20
|
{ pattern: /\brequire\s*\(/, label: 'require' },
|
|
13
21
|
{ pattern: /\bimport\s+/, label: 'import' },
|
|
@@ -21,7 +29,9 @@ const FORBIDDEN_PATTERNS = [
|
|
|
21
29
|
{ pattern: /\bFunction\s*\(/, label: 'Function' },
|
|
22
30
|
{ pattern: /\bprocess\b(?![\w])/, label: 'process' },
|
|
23
31
|
{ pattern: /\bglobalThis\b/, label: 'globalThis' },
|
|
24
|
-
//
|
|
32
|
+
// Bare "global" as identifier/global. PRI-668: literal/comment occurrences
|
|
33
|
+
// no longer match — the source is masked before scanning (see header), so
|
|
34
|
+
// `paramsSummary.scope === 'global'` and `// global rule` are DATA, not access.
|
|
25
35
|
{ pattern: /\bglobal\b(?![A-Za-z])/, label: 'global' },
|
|
26
36
|
{ pattern: /\bReflect\b/, label: 'Reflect' },
|
|
27
37
|
{ pattern: /\bProxy\b/, label: 'Proxy' },
|
|
@@ -48,11 +58,24 @@ const FORBIDDEN_PATTERNS = [
|
|
|
48
58
|
/**
|
|
49
59
|
* Pure forbidden-pattern check — returns labels of all forbidden patterns found.
|
|
50
60
|
* No VM, no filesystem, no side effects.
|
|
61
|
+
*
|
|
62
|
+
* PRI-668: identifier-shaped patterns scan the MASKED source (comments +
|
|
63
|
+
* string-literal contents blanked) so a literal like 'global_apply' or a
|
|
64
|
+
* comment mentioning "global" is not flagged as an access. Template `${}`
|
|
65
|
+
* interpolation survives masking and stays subject to every pattern.
|
|
66
|
+
*
|
|
67
|
+
* EXCEPTION — the bracket-access pattern scans the RAW source: it exists
|
|
68
|
+
* precisely to catch forbidden-global names reached THROUGH a string literal
|
|
69
|
+
* (`globalThis['WeakRef']`), so masking would defeat it. The literal is the
|
|
70
|
+
* attack surface there, not incidental data.
|
|
51
71
|
*/
|
|
72
|
+
const BRACKET_ACCESS_LABEL = 'bracket access to forbidden global';
|
|
52
73
|
export function checkForbiddenPatterns(code) {
|
|
74
|
+
const executableSource = maskNonExecutableText(code);
|
|
53
75
|
const labels = [];
|
|
54
76
|
for (const { pattern, label } of FORBIDDEN_PATTERNS) {
|
|
55
|
-
|
|
77
|
+
const haystack = label === BRACKET_ACCESS_LABEL ? code : executableSource;
|
|
78
|
+
if (pattern.test(haystack)) {
|
|
56
79
|
labels.push(label);
|
|
57
80
|
}
|
|
58
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-code-validator.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-code-validator.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"rule-code-validator.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-code-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-context-v2.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-context-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"rule-context-v2.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-context-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAExF,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,IAAI,GAAG,SAAS,CAAC;AAErD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG,aAAa,CAAC;AAE5D,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,EAAE,aAAa,CAAC;IACjC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,CAAC;IACX,OAAO,EAAE,iBAAiB,CAAC;IAC3B,KAAK,EAAE,iBAAiB,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAqDD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,GAAG,aAAa,CAUrE;AAID,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAiC3E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAiC1E;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CA2B1E;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAqDtE;AAID,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAClC,iBAAiB,CAuCnB;AAkCD,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,aAAa,CAAsB,CAAC"}
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
*
|
|
18
18
|
* Spec: docs/superpowers/specs/2026-06-27-rulecode-context-vision-design.md §4.
|
|
19
19
|
*/
|
|
20
|
+
import { baselineToolAlias as TOOL_ALIAS } from './tool-semantic-baseline.js';
|
|
20
21
|
// ── internal constants ─────────────────────────────────────────────────────
|
|
21
22
|
const CANONICAL_KINDS = new Set([
|
|
22
23
|
'read',
|
|
@@ -50,33 +51,12 @@ function isFiniteNumber(value) {
|
|
|
50
51
|
function isNullOrNonNegativeFinite(value) {
|
|
51
52
|
return value === null || (typeof value === 'number' && Number.isFinite(value) && value >= 0);
|
|
52
53
|
}
|
|
53
|
-
// ── canonicalizeToolKind (
|
|
54
|
+
// ── canonicalizeToolKind (baseline alias table, spec §4.4) ──────────────────
|
|
54
55
|
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
-
// owns the CLOSED CanonicalKind enum + this pure lookup function.
|
|
60
|
-
const TOOL_ALIAS = {
|
|
61
|
-
read: 'read',
|
|
62
|
-
read_file: 'read',
|
|
63
|
-
read_many_files: 'read',
|
|
64
|
-
grep: 'search',
|
|
65
|
-
grep_search: 'search',
|
|
66
|
-
search_file_content: 'search',
|
|
67
|
-
glob: 'search',
|
|
68
|
-
write: 'write',
|
|
69
|
-
write_file: 'write',
|
|
70
|
-
edit: 'write',
|
|
71
|
-
edit_file: 'write',
|
|
72
|
-
replace: 'write',
|
|
73
|
-
apply_patch: 'write',
|
|
74
|
-
bash: 'execute',
|
|
75
|
-
exec: 'execute',
|
|
76
|
-
execute: 'execute',
|
|
77
|
-
run_shell_command: 'execute',
|
|
78
|
-
sessions_spawn: 'agent',
|
|
79
|
-
};
|
|
56
|
+
// PRI-634-F: the table moved to tool-semantic-baseline.ts (host-neutral
|
|
57
|
+
// generic vocabulary only) so canonicalizeToolKind and the host-layered
|
|
58
|
+
// ToolSemanticRegistry read ONE table. canonicalizeToolKind itself stays
|
|
59
|
+
// baseline-only — host-aware callers use buildToolSemanticRegistry().
|
|
80
60
|
export function canonicalizeToolKind(toolName) {
|
|
81
61
|
if (typeof toolName !== 'string')
|
|
82
62
|
return 'other';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-context-v2.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-context-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AA+
|
|
1
|
+
{"version":3,"file":"rule-context-v2.js","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-context-v2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,iBAAiB,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AA+C9E,8EAA8E;AAE9E,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAgB;IAClE,MAAM;IACN,QAAQ;IACR,OAAO;IACP,SAAS;IACT,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAE9F,MAAM,aAAa,GAAwB,IAAI,GAAG,CAAkB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEvG,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAoB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC;AAEvG,MAAM,UAAU,GAAwB,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC;AAE3F,MAAM,SAAS,GAAqB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;AAEhE,SAAS,IAAI,CAAC,MAAgB;IAC5B,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc;IACvC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED,SAAS,cAAc,CAAC,KAA8B;IACpD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,+EAA+E;AAC/E,EAAE;AACF,wEAAwE;AACxE,wEAAwE;AACxE,yEAAyE;AACzE,sEAAsE;AAEtE,MAAM,UAAU,oBAAoB,CAAC,QAAiB;IACpD,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAAE,OAAO,OAAO,CAAC;IACjD,wEAAwE;IACxE,sEAAsE;IACtE,sEAAsE;IACtE,0EAA0E;IAC1E,2EAA2E;IAC3E,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAC;IACzD,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACjC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;AAC3C,CAAC;AAED,8EAA8E;AAE9E,MAAM,UAAU,0BAA0B,CAAC,KAAc;IACvD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,+BAA+B,CAAC,EAAE,CAAC;IACrE,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,gDAAgD,CAAC,EAAE,CAAC;IACtF,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC;IACzB,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,EAAC,aAAa,EAAC,GAAG,KAAK,CAAC;IAC9B,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,EAAC,cAAc,EAAC,GAAG,KAAK,CAAC;IAC/B,IAAI,cAAc,KAAK,IAAI,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QAClE,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;IACxB,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC7D,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,uCAAuC,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,wDAAwD,CAAC,EAAE,CAAC;IAC9F,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,EAAC,MAAM,EAAC,GAAG,KAAK,CAAC;IACvB,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IACxD,CAAC;IACD,MAAM,EAAC,iBAAiB,EAAC,GAAG,KAAK,CAAC;IAClC,IAAI,iBAAiB,KAAK,SAAS,IAAI,OAAO,iBAAiB,KAAK,QAAQ,EAAE,CAAC;QAC7E,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACzC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;IACtB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;SAAM,CAAC;QACN,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,YAAY,GAAG,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,8BAA8B,CAAC,EAAE,CAAC;IACpE,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,+CAA+C,CAAC,EAAE,CAAC;IACrF,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,MAAM,EAAC,iBAAiB,EAAC,GAAG,KAAK,CAAC;IAClC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACrF,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;IACzE,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC;IACD,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAAc;IAClD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,gCAAgC,CAAC,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,iDAAiD,CAAC,EAAE,CAAC;IACvF,CAAC;IACD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACnC,CAAC;IAED,MAAM,aAAa,GAAG,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,oBAAoB,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,WAAW,GAAG,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACvB,MAAM,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,+EAA+E;IAC/E,gFAAgF;IAChF,2EAA2E;IAC3E,8EAA8E;IAC9E,MAAM,EAAC,OAAO,EAAC,GAAG,KAAK,CAAC;IACxB,MAAM,EAAC,KAAK,EAAC,GAAG,KAAK,CAAC;IACtB,IACE,aAAa,CAAC,KAAK;QACnB,WAAW,CAAC,KAAK;QACjB,iBAAiB,CAAC,OAAO,CAAC;QAC1B,iBAAiB,CAAC,KAAK,CAAC;QACxB,OAAO,CAAC,MAAM,KAAK,aAAa,EAChC,CAAC;QACD,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;QACxG,CAAC;QACD,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC;QAC3F,CAAC;QACD,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QACtG,CAAC;QACD,IAAI,KAAK,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC;AAED,8EAA8E;AAE9E,MAAM,UAAU,oBAAoB,CAClC,MAAyB,EACzB,UAAyB,EACzB,oBAAmC;IAEnC,IAAI,MAAM,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;QACpC,OAAO;YACL,iBAAiB,EAAE,SAAS;YAC5B,SAAS,EAAE,IAAI;YACf,UAAU,EAAE,IAAI;YAChB,oBAAoB,EAAE,IAAI;YAC1B,oBAAoB,EAAE,IAAI;SAC3B,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,IAAI,iBAAiB,GAAkB,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC;QAChC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACzC,SAAS,EAAE,CAAC;YACZ,IAAI,UAAU,KAAK,IAAI,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBAC9D,iBAAiB,GAAG,KAAK,CAAC;YAC5B,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,UAAU,EAAE,CAAC;YACb,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;gBAC5C,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,SAAS;QACT,UAAU;QACV,oBAAoB,EAAE,UAAU,CAAC,IAAI;QACrC,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,+EAA+E;AAC/E,0EAA0E;AAE1E,MAAM,kBAAkB,GAAsB;IAC5C,iBAAiB,EAAE,SAAS;IAC5B,SAAS,EAAE,IAAI;IACf,UAAU,EAAE,IAAI;IAChB,oBAAoB,EAAE,IAAI;IAC1B,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AACF,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAElC,MAAM,oBAAoB,GAAsB;IAC9C,MAAM,EAAE,aAAa;IACrB,iBAAiB,EAAE,uCAAuC;IAC1D,SAAS,EAAE,KAAK;IAChB,KAAK,EAAE,EAAE;CACV,CAAC;AACF,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;AAC1C,MAAM,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;AAEpC,MAAM,kBAAkB,GAAkB;IACxC,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,oBAAoB;IAC7B,KAAK,EAAE,kBAAkB;CAC1B,CAAC;AACF,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;AAElC,MAAM,CAAC,MAAM,wBAAwB,GAA4B,kBAAkB,CAAC"}
|
|
@@ -11,12 +11,21 @@
|
|
|
11
11
|
* - No filesystem, process, require, dynamic import, eval, or network access
|
|
12
12
|
*/
|
|
13
13
|
import type { CorrectionProposal } from './correction-proposal.js';
|
|
14
|
-
import type { RuleContextV2 } from './rule-context-v2.js';
|
|
14
|
+
import type { RuleContextV2, CanonicalKind } from './rule-context-v2.js';
|
|
15
15
|
export interface RuleHostInput {
|
|
16
16
|
action: {
|
|
17
17
|
toolName: string;
|
|
18
18
|
normalizedPath: string | null;
|
|
19
19
|
paramsSummary: Record<string, unknown>;
|
|
20
|
+
/**
|
|
21
|
+
* PRI-634-F Phase 2 (Replay/Production Input Parity): canonical tool kind
|
|
22
|
+
* resolved from the ToolSemanticRegistry (same registry instance for both
|
|
23
|
+
* replay and production). Optional on purpose — v1 rules that never read
|
|
24
|
+
* this field see `undefined` and behave exactly as before. Builders
|
|
25
|
+
* receiving a registry/kind populate it; unknown tools resolve to 'other',
|
|
26
|
+
* never throw.
|
|
27
|
+
*/
|
|
28
|
+
canonicalKind?: CanonicalKind;
|
|
20
29
|
};
|
|
21
30
|
workspace: {
|
|
22
31
|
isRiskPath: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rule-host-contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-host-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"rule-host-contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/internalization/rule-host-contracts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAMzE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE;QACN,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvC;;;;;;;WAOG;QACH,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B,CAAC;IACF,SAAS,EAAE;QACT,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,OAAO,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE;QACT,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,MAAM,CAAC;QAC7B,QAAQ,EAAE,MAAM,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;KACvD,CAAC;IACF;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAMD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,OAAO,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAMtF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC;AAMD,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,cAAc,CAAC;CACrD"}
|