@getripple/core 1.0.6 → 1.0.8
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/audit.d.ts +3 -0
- package/dist/audit.js +15 -0
- package/dist/audit.js.map +1 -1
- package/dist/graph.js +145 -183
- package/dist/graph.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/risk.d.ts +33 -0
- package/dist/risk.js +264 -0
- package/dist/risk.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -23,6 +23,7 @@ __exportStar(require("./graph"), exports);
|
|
|
23
23
|
__exportStar(require("./normalizer"), exports);
|
|
24
24
|
__exportStar(require("./policy"), exports);
|
|
25
25
|
__exportStar(require("./readiness"), exports);
|
|
26
|
+
__exportStar(require("./risk"), exports);
|
|
26
27
|
__exportStar(require("./staged-check"), exports);
|
|
27
28
|
__exportStar(require("./types"), exports);
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,mDAAiC;AACjC,kDAAgC;AAChC,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,iDAA+B;AAC/B,0CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,6CAA2B;AAC3B,0CAAwB;AACxB,mDAAiC;AACjC,kDAAgC;AAChC,0CAAwB;AACxB,+CAA6B;AAC7B,2CAAyB;AACzB,8CAA4B;AAC5B,yCAAuB;AACvB,iDAA+B;AAC/B,0CAAwB"}
|
package/dist/risk.d.ts
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ControlBoundaryRisk } from "./change-intent";
|
|
2
|
+
import type { StagedCheckFileSummary } from "./staged-check";
|
|
3
|
+
export type RippleRiskLevel = "low" | "medium" | "high" | "critical";
|
|
4
|
+
export type RippleRiskReasonKind = "boundary-crossed" | "intent-drift" | "risky-path" | "blast-radius" | "public-contract" | "test-gap" | "policy-rule" | "readiness-drift";
|
|
5
|
+
export type RippleRiskReason = {
|
|
6
|
+
kind: RippleRiskReasonKind;
|
|
7
|
+
severity: RippleRiskLevel;
|
|
8
|
+
message: string;
|
|
9
|
+
evidence: string[];
|
|
10
|
+
};
|
|
11
|
+
export type RippleRiskSummary = {
|
|
12
|
+
level: RippleRiskLevel;
|
|
13
|
+
score: number;
|
|
14
|
+
summary: string;
|
|
15
|
+
reasons: RippleRiskReason[];
|
|
16
|
+
affectedFiles: string[];
|
|
17
|
+
affectedSymbols: string[];
|
|
18
|
+
requiredActions: string[];
|
|
19
|
+
};
|
|
20
|
+
export type BuildRippleRiskSummaryInput = {
|
|
21
|
+
boundaryRisk: ControlBoundaryRisk;
|
|
22
|
+
allowedFiles: string[];
|
|
23
|
+
allowedSymbols: string[];
|
|
24
|
+
changedFiles: string[];
|
|
25
|
+
changedOutsideBoundaryFiles: string[];
|
|
26
|
+
changedOutsideBoundarySymbols: string[];
|
|
27
|
+
unplannedFiles?: string[];
|
|
28
|
+
unplannedSymbols?: string[];
|
|
29
|
+
verificationTargets: string[];
|
|
30
|
+
nextSteps: string[];
|
|
31
|
+
stagedFiles: StagedCheckFileSummary[];
|
|
32
|
+
};
|
|
33
|
+
export declare function buildRippleRiskSummary(input: BuildRippleRiskSummaryInput): RippleRiskSummary;
|
package/dist/risk.js
ADDED
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildRippleRiskSummary = void 0;
|
|
4
|
+
const GRAPH_RISK_WEIGHT = {
|
|
5
|
+
safe: 0,
|
|
6
|
+
caution: 16,
|
|
7
|
+
dangerous: 32,
|
|
8
|
+
};
|
|
9
|
+
const CONTRACT_RISK_WEIGHT = {
|
|
10
|
+
review: 16,
|
|
11
|
+
high: 28,
|
|
12
|
+
};
|
|
13
|
+
const RISKY_PATH_RULES = [
|
|
14
|
+
{
|
|
15
|
+
pattern: /(^|[\\/])(auth|security|permissions?)([\\/]|$)/i,
|
|
16
|
+
label: "auth/security/permission code",
|
|
17
|
+
severity: "high",
|
|
18
|
+
weight: 24,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
pattern: /(^|[\\/])(payments?|billing|checkout)([\\/]|$)/i,
|
|
22
|
+
label: "payment/billing code",
|
|
23
|
+
severity: "critical",
|
|
24
|
+
weight: 36,
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
pattern: /(^|[\\/])(migrations?|schema|database|db)([\\/]|$)/i,
|
|
28
|
+
label: "database/schema/migration code",
|
|
29
|
+
severity: "critical",
|
|
30
|
+
weight: 36,
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
pattern: /(^|[\\/])(infra|deploy|deployment|terraform|k8s|kubernetes|docker)([\\/]|$)/i,
|
|
34
|
+
label: "infra/deployment code",
|
|
35
|
+
severity: "high",
|
|
36
|
+
weight: 26,
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
pattern: /(^|[\\/])\.github[\\/]workflows[\\/]|(^|[\\/])(config|configs)([\\/]|$)|\.(env|ya?ml|toml|ini)$/i,
|
|
40
|
+
label: "config/CI code",
|
|
41
|
+
severity: "high",
|
|
42
|
+
weight: 22,
|
|
43
|
+
},
|
|
44
|
+
];
|
|
45
|
+
function buildRippleRiskSummary(input) {
|
|
46
|
+
const reasons = [];
|
|
47
|
+
const affectedFiles = new Set(input.changedFiles);
|
|
48
|
+
const affectedSymbols = new Set([
|
|
49
|
+
...input.changedOutsideBoundarySymbols,
|
|
50
|
+
...(input.unplannedSymbols ?? []),
|
|
51
|
+
]);
|
|
52
|
+
addBoundaryReasons(input, reasons);
|
|
53
|
+
addIntentReasons(input, reasons);
|
|
54
|
+
addPolicyReason(input, reasons);
|
|
55
|
+
addFileRiskReasons(input, reasons, affectedFiles);
|
|
56
|
+
addContractReasons(input, reasons, affectedSymbols);
|
|
57
|
+
addVerificationReason(input, reasons);
|
|
58
|
+
const score = Math.min(100, reasons.reduce((total, reason) => total + reason.weight, 0));
|
|
59
|
+
const level = riskLevelForScore(score);
|
|
60
|
+
const requiredActions = buildRequiredActions(input, reasons);
|
|
61
|
+
return {
|
|
62
|
+
level,
|
|
63
|
+
score,
|
|
64
|
+
summary: buildRiskSummary(level, score, reasons),
|
|
65
|
+
reasons: reasons.map(({ weight: _weight, ...reason }) => reason),
|
|
66
|
+
affectedFiles: Array.from(affectedFiles).sort(),
|
|
67
|
+
affectedSymbols: Array.from(affectedSymbols).sort(),
|
|
68
|
+
requiredActions,
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
exports.buildRippleRiskSummary = buildRippleRiskSummary;
|
|
72
|
+
function addBoundaryReasons(input, reasons) {
|
|
73
|
+
if (input.changedOutsideBoundaryFiles.length > 0) {
|
|
74
|
+
reasons.push({
|
|
75
|
+
kind: "boundary-crossed",
|
|
76
|
+
severity: "high",
|
|
77
|
+
weight: 34,
|
|
78
|
+
message: "Agent changed files outside the approved Ripple boundary.",
|
|
79
|
+
evidence: [
|
|
80
|
+
...input.allowedFiles.map((file) => `allowed file: ${file}`),
|
|
81
|
+
...input.changedOutsideBoundaryFiles.map((file) => `changed outside boundary: ${file}`),
|
|
82
|
+
],
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
if (input.changedOutsideBoundarySymbols.length > 0) {
|
|
86
|
+
reasons.push({
|
|
87
|
+
kind: "boundary-crossed",
|
|
88
|
+
severity: "high",
|
|
89
|
+
weight: 36,
|
|
90
|
+
message: "Agent changed symbols outside the approved Ripple boundary.",
|
|
91
|
+
evidence: [
|
|
92
|
+
...input.allowedSymbols.map((symbol) => `allowed symbol: ${symbol}`),
|
|
93
|
+
...input.changedOutsideBoundarySymbols.map((symbol) => `changed outside boundary: ${symbol}`),
|
|
94
|
+
],
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function addIntentReasons(input, reasons) {
|
|
99
|
+
const unplannedFiles = input.unplannedFiles ?? [];
|
|
100
|
+
const unplannedSymbols = input.unplannedSymbols ?? [];
|
|
101
|
+
if (unplannedFiles.length > 0) {
|
|
102
|
+
reasons.push({
|
|
103
|
+
kind: "intent-drift",
|
|
104
|
+
severity: "medium",
|
|
105
|
+
weight: 22,
|
|
106
|
+
message: "Agent changed files outside the saved task plan.",
|
|
107
|
+
evidence: unplannedFiles.map((file) => `unplanned file: ${file}`),
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
if (unplannedSymbols.length > 0) {
|
|
111
|
+
reasons.push({
|
|
112
|
+
kind: "intent-drift",
|
|
113
|
+
severity: "medium",
|
|
114
|
+
weight: 20,
|
|
115
|
+
message: "Agent changed symbols outside the saved task plan.",
|
|
116
|
+
evidence: unplannedSymbols.map((symbol) => `unplanned symbol: ${symbol}`),
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
function addPolicyReason(input, reasons) {
|
|
121
|
+
if (input.boundaryRisk === "high" || input.boundaryRisk === "critical") {
|
|
122
|
+
reasons.push({
|
|
123
|
+
kind: "policy-rule",
|
|
124
|
+
severity: input.boundaryRisk,
|
|
125
|
+
weight: input.boundaryRisk === "critical" ? 55 : 35,
|
|
126
|
+
message: `Saved intent is marked ${input.boundaryRisk} risk by Ripple policy/boundary analysis.`,
|
|
127
|
+
evidence: [`boundary risk: ${input.boundaryRisk}`],
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
function addFileRiskReasons(input, reasons, affectedFiles) {
|
|
132
|
+
for (const file of input.stagedFiles) {
|
|
133
|
+
affectedFiles.add(file.file);
|
|
134
|
+
const graphWeight = GRAPH_RISK_WEIGHT[file.modificationRisk];
|
|
135
|
+
if (graphWeight > 0) {
|
|
136
|
+
reasons.push({
|
|
137
|
+
kind: "blast-radius",
|
|
138
|
+
severity: file.modificationRisk === "dangerous" ? "high" : "medium",
|
|
139
|
+
weight: graphWeight,
|
|
140
|
+
message: `${file.file} is marked ${file.modificationRisk} by Ripple graph risk.`,
|
|
141
|
+
evidence: [
|
|
142
|
+
`importer count: ${file.importerCount}`,
|
|
143
|
+
`symbol count: ${file.symbolCount}`,
|
|
144
|
+
],
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (file.importerCount >= 5) {
|
|
148
|
+
reasons.push({
|
|
149
|
+
kind: "blast-radius",
|
|
150
|
+
severity: "high",
|
|
151
|
+
weight: 26,
|
|
152
|
+
message: `${file.file} has a large downstream blast radius.`,
|
|
153
|
+
evidence: [`${file.importerCount} direct importers may be affected`],
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
else if (file.importerCount >= 2) {
|
|
157
|
+
reasons.push({
|
|
158
|
+
kind: "blast-radius",
|
|
159
|
+
severity: "medium",
|
|
160
|
+
weight: 14,
|
|
161
|
+
message: `${file.file} is shared by multiple downstream files.`,
|
|
162
|
+
evidence: [`${file.importerCount} direct importers may be affected`],
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
const riskyPath = RISKY_PATH_RULES.find((rule) => rule.pattern.test(file.file));
|
|
166
|
+
if (riskyPath) {
|
|
167
|
+
reasons.push({
|
|
168
|
+
kind: "risky-path",
|
|
169
|
+
severity: riskyPath.severity,
|
|
170
|
+
weight: riskyPath.weight,
|
|
171
|
+
message: `${file.file} touches ${riskyPath.label}.`,
|
|
172
|
+
evidence: [`changed file: ${file.file}`],
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
function addContractReasons(input, reasons, affectedSymbols) {
|
|
178
|
+
const contractRisks = input.stagedFiles.flatMap((file) => file.contractRisks);
|
|
179
|
+
if (contractRisks.length === 0) {
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
const highestRisk = contractRisks.some((contractRisk) => contractRisk.risk === "high")
|
|
183
|
+
? "high"
|
|
184
|
+
: "review";
|
|
185
|
+
for (const contractRisk of contractRisks) {
|
|
186
|
+
affectedSymbols.add(contractRisk.symbol);
|
|
187
|
+
}
|
|
188
|
+
reasons.push({
|
|
189
|
+
kind: "public-contract",
|
|
190
|
+
severity: highestRisk === "high" ? "high" : "medium",
|
|
191
|
+
weight: Math.max(...contractRisks.map((contractRisk) => CONTRACT_RISK_WEIGHT[contractRisk.risk])),
|
|
192
|
+
message: "Changed exported/public symbols may affect callers or external contracts.",
|
|
193
|
+
evidence: uniqueItems(contractRisks.flatMap((contractRisk) => [
|
|
194
|
+
`symbol: ${contractRisk.symbol}`,
|
|
195
|
+
`callers: ${contractRisk.callers}`,
|
|
196
|
+
`exported: ${contractRisk.exported}`,
|
|
197
|
+
`reason: ${contractRisk.reason}`,
|
|
198
|
+
])),
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
function addVerificationReason(input, reasons) {
|
|
202
|
+
if (input.changedFiles.length > 0 && input.verificationTargets.length === 0) {
|
|
203
|
+
reasons.push({
|
|
204
|
+
kind: "test-gap",
|
|
205
|
+
severity: "medium",
|
|
206
|
+
weight: 10,
|
|
207
|
+
message: "No verification target was detected for this change.",
|
|
208
|
+
evidence: ["verification targets: none"],
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
function buildRequiredActions(input, reasons) {
|
|
213
|
+
const actions = [];
|
|
214
|
+
if (input.changedOutsideBoundaryFiles.length > 0 ||
|
|
215
|
+
input.changedOutsideBoundarySymbols.length > 0) {
|
|
216
|
+
actions.push("Undo the outside-boundary change or create a wider human-approved intent.");
|
|
217
|
+
}
|
|
218
|
+
if (reasons.some((reason) => reason.kind === "blast-radius")) {
|
|
219
|
+
actions.push("Review downstream callers/importers before continuing.");
|
|
220
|
+
}
|
|
221
|
+
if (reasons.some((reason) => reason.kind === "public-contract")) {
|
|
222
|
+
actions.push("Review public contract changes before keeping this edit.");
|
|
223
|
+
}
|
|
224
|
+
if (input.verificationTargets.length > 0) {
|
|
225
|
+
actions.push(...input.verificationTargets.map((target) => `Run verification target: ${target}`));
|
|
226
|
+
}
|
|
227
|
+
else if (input.changedFiles.length > 0) {
|
|
228
|
+
actions.push("Run the narrowest relevant test/typecheck before handoff.");
|
|
229
|
+
}
|
|
230
|
+
if (actions.length === 0) {
|
|
231
|
+
actions.push("Continue with normal verification and review for the saved intent.");
|
|
232
|
+
}
|
|
233
|
+
return uniqueItems(actions);
|
|
234
|
+
}
|
|
235
|
+
function buildRiskSummary(level, score, reasons) {
|
|
236
|
+
if (reasons.length === 0) {
|
|
237
|
+
return `LOW risk ${score}/100: no boundary, graph, policy, contract, or verification risk signals were detected.`;
|
|
238
|
+
}
|
|
239
|
+
const topReason = reasons.slice().sort((a, b) => b.weight - a.weight)[0];
|
|
240
|
+
return `${level.toUpperCase()} risk ${score}/100: ${topReason.message}`;
|
|
241
|
+
}
|
|
242
|
+
function riskLevelForScore(score) {
|
|
243
|
+
if (score >= 81) {
|
|
244
|
+
return "critical";
|
|
245
|
+
}
|
|
246
|
+
if (score >= 51) {
|
|
247
|
+
return "high";
|
|
248
|
+
}
|
|
249
|
+
if (score >= 21) {
|
|
250
|
+
return "medium";
|
|
251
|
+
}
|
|
252
|
+
return "low";
|
|
253
|
+
}
|
|
254
|
+
function uniqueItems(items) {
|
|
255
|
+
const seen = new Set();
|
|
256
|
+
return items.filter((item) => {
|
|
257
|
+
if (seen.has(item)) {
|
|
258
|
+
return false;
|
|
259
|
+
}
|
|
260
|
+
seen.add(item);
|
|
261
|
+
return true;
|
|
262
|
+
});
|
|
263
|
+
}
|
|
264
|
+
//# sourceMappingURL=risk.js.map
|
package/dist/risk.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"risk.js","sourceRoot":"","sources":["../src/risk.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED