@getripple/core 1.0.7 → 1.0.9
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/CHANGELOG.md +27 -0
- package/README.md +38 -28
- package/dist/agent-workflow.d.ts +6 -1
- package/dist/agent-workflow.js +44 -9
- package/dist/agent-workflow.js.map +1 -1
- package/dist/approval.d.ts +1 -1
- package/dist/approval.js +7 -3
- package/dist/approval.js.map +1 -1
- package/dist/audit.d.ts +34 -2
- package/dist/audit.js +152 -3
- package/dist/audit.js.map +1 -1
- package/dist/change-intent.d.ts +85 -0
- package/dist/change-intent.js +557 -15
- package/dist/change-intent.js.map +1 -1
- package/dist/graph.js +145 -183
- package/dist/graph.js.map +1 -1
- package/dist/policy.d.ts +9 -0
- package/dist/policy.js +232 -3
- package/dist/policy.js.map +1 -1
- package/dist/readiness.js +21 -12
- package/dist/readiness.js.map +1 -1
- package/dist/staged-check.d.ts +6 -2
- package/dist/staged-check.js +83 -4
- package/dist/staged-check.js.map +1 -1
- package/package.json +3 -3
package/dist/policy.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ export type RipplePolicy = {
|
|
|
13
13
|
defaultMode?: ControlMode;
|
|
14
14
|
riskRules?: RipplePolicyRiskRule[];
|
|
15
15
|
};
|
|
16
|
+
export type SmartRipplePolicyDetection = {
|
|
17
|
+
kind: string;
|
|
18
|
+
evidence: string[];
|
|
19
|
+
rules: RipplePolicyRiskRule[];
|
|
20
|
+
};
|
|
16
21
|
export type LoadedRipplePolicy = {
|
|
17
22
|
policy: RipplePolicy;
|
|
18
23
|
path: string;
|
|
@@ -47,6 +52,10 @@ export type RipplePolicyExplanationOptions = {
|
|
|
47
52
|
controlMode?: ControlMode;
|
|
48
53
|
};
|
|
49
54
|
export declare function defaultRipplePolicy(): RipplePolicy;
|
|
55
|
+
export declare function buildSmartRipplePolicy(workspaceRoot: string): {
|
|
56
|
+
policy: RipplePolicy;
|
|
57
|
+
detections: SmartRipplePolicyDetection[];
|
|
58
|
+
};
|
|
50
59
|
export declare function formatRipplePolicy(policy?: RipplePolicy): string;
|
|
51
60
|
export declare function ripplePolicyPath(workspaceRoot: string): string;
|
|
52
61
|
export declare function loadRipplePolicy(workspaceRoot: string): LoadedRipplePolicy;
|
package/dist/policy.js
CHANGED
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.explainRipplePolicyForIntent = exports.explainRipplePolicyForTarget = exports.resolveRipplePolicyForTarget = exports.loadRipplePolicy = exports.ripplePolicyPath = exports.formatRipplePolicy = exports.defaultRipplePolicy = exports.RIPPLE_POLICY_PATH = void 0;
|
|
26
|
+
exports.explainRipplePolicyForIntent = exports.explainRipplePolicyForTarget = exports.resolveRipplePolicyForTarget = exports.loadRipplePolicy = exports.ripplePolicyPath = exports.formatRipplePolicy = exports.buildSmartRipplePolicy = exports.defaultRipplePolicy = exports.RIPPLE_POLICY_PATH = void 0;
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
29
|
exports.RIPPLE_POLICY_PATH = ".ripple/policy.json";
|
|
@@ -55,6 +55,22 @@ function defaultRipplePolicy() {
|
|
|
55
55
|
};
|
|
56
56
|
}
|
|
57
57
|
exports.defaultRipplePolicy = defaultRipplePolicy;
|
|
58
|
+
function buildSmartRipplePolicy(workspaceRoot) {
|
|
59
|
+
const base = defaultRipplePolicy();
|
|
60
|
+
const detections = detectSmartRipplePolicyRules(workspaceRoot);
|
|
61
|
+
const riskRules = mergeRippleRiskRules([
|
|
62
|
+
...(base.riskRules ?? []),
|
|
63
|
+
...detections.flatMap((detection) => detection.rules),
|
|
64
|
+
]);
|
|
65
|
+
return {
|
|
66
|
+
policy: {
|
|
67
|
+
...base,
|
|
68
|
+
riskRules,
|
|
69
|
+
},
|
|
70
|
+
detections,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
exports.buildSmartRipplePolicy = buildSmartRipplePolicy;
|
|
58
74
|
function formatRipplePolicy(policy = defaultRipplePolicy()) {
|
|
59
75
|
return `${JSON.stringify(policy, null, 2)}\n`;
|
|
60
76
|
}
|
|
@@ -163,10 +179,10 @@ function explainRipplePolicyForTarget(loaded, targetFile, options = {}) {
|
|
|
163
179
|
why.push("PR mode still requires human review before merge.");
|
|
164
180
|
}
|
|
165
181
|
if (humanGate === "required-before-edit") {
|
|
166
|
-
nextSteps.push("Ask the human to approve before the agent edits this file.");
|
|
182
|
+
nextSteps.push("Ask the human to approve before the agent edits this file. Agent must get human approval before editing.");
|
|
167
183
|
}
|
|
168
184
|
else if (humanGate === "required-before-merge") {
|
|
169
|
-
nextSteps.push("Require human review before merging this change.");
|
|
185
|
+
nextSteps.push("Require human review before merging this change. Agent must get human approval before merging.");
|
|
170
186
|
}
|
|
171
187
|
else {
|
|
172
188
|
nextSteps.push("Use ripple plan to create a saved intent before editing.");
|
|
@@ -212,6 +228,219 @@ function explainRipplePolicyForIntent(loaded, intent) {
|
|
|
212
228
|
};
|
|
213
229
|
}
|
|
214
230
|
exports.explainRipplePolicyForIntent = explainRipplePolicyForIntent;
|
|
231
|
+
function detectSmartRipplePolicyRules(workspaceRoot) {
|
|
232
|
+
const detections = [];
|
|
233
|
+
const addDetection = (kind, evidence, rules) => {
|
|
234
|
+
const cleanEvidence = uniqueItems(evidence.filter(Boolean));
|
|
235
|
+
if (cleanEvidence.length === 0) {
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
detections.push({ kind, evidence: cleanEvidence, rules });
|
|
239
|
+
};
|
|
240
|
+
const has = (relativePath) => pathExists(workspaceRoot, relativePath);
|
|
241
|
+
const hasAny = (relativePaths) => relativePaths.filter((relativePath) => has(relativePath));
|
|
242
|
+
const packageJson = readPackageJson(workspaceRoot);
|
|
243
|
+
const dependencies = packageJsonDependencies(packageJson);
|
|
244
|
+
const nextEvidence = [
|
|
245
|
+
...hasAny(["next.config.js", "next.config.mjs", "next.config.ts", "app", "pages"]),
|
|
246
|
+
...(dependencies.has("next") ? ["package.json dependency: next"] : []),
|
|
247
|
+
];
|
|
248
|
+
addDetection("nextjs", nextEvidence, [
|
|
249
|
+
{
|
|
250
|
+
paths: ["app/api/**", "pages/api/**", "middleware.ts", "middleware.js"],
|
|
251
|
+
risk: "high",
|
|
252
|
+
requireHumanBeforeEdit: true,
|
|
253
|
+
requireHumanBeforeMerge: true,
|
|
254
|
+
},
|
|
255
|
+
]);
|
|
256
|
+
const prismaEvidence = [
|
|
257
|
+
...hasAny(["prisma/schema.prisma", "prisma/migrations"]),
|
|
258
|
+
...(dependencies.has("prisma") || dependencies.has("@prisma/client")
|
|
259
|
+
? ["package.json dependency: prisma"]
|
|
260
|
+
: []),
|
|
261
|
+
];
|
|
262
|
+
addDetection("prisma", prismaEvidence, [
|
|
263
|
+
{
|
|
264
|
+
paths: ["prisma/schema.prisma", "prisma/migrations/**"],
|
|
265
|
+
risk: "critical",
|
|
266
|
+
requireHumanBeforeEdit: true,
|
|
267
|
+
requireHumanBeforeMerge: true,
|
|
268
|
+
},
|
|
269
|
+
]);
|
|
270
|
+
const drizzleEvidence = [
|
|
271
|
+
...hasAny(["drizzle", "drizzle.config.ts", "drizzle.config.js"]),
|
|
272
|
+
...(dependencies.has("drizzle-orm") ? ["package.json dependency: drizzle-orm"] : []),
|
|
273
|
+
];
|
|
274
|
+
addDetection("drizzle", drizzleEvidence, [
|
|
275
|
+
{
|
|
276
|
+
paths: ["drizzle/**", "drizzle.config.*"],
|
|
277
|
+
risk: "critical",
|
|
278
|
+
requireHumanBeforeEdit: true,
|
|
279
|
+
requireHumanBeforeMerge: true,
|
|
280
|
+
},
|
|
281
|
+
]);
|
|
282
|
+
const envEvidence = hasAny([".env", ".env.local", ".env.production", ".env.example"]);
|
|
283
|
+
addDetection("env", envEvidence, [
|
|
284
|
+
{
|
|
285
|
+
paths: [".env", ".env.*"],
|
|
286
|
+
risk: "critical",
|
|
287
|
+
requireHumanBeforeEdit: true,
|
|
288
|
+
requireHumanBeforeMerge: true,
|
|
289
|
+
},
|
|
290
|
+
]);
|
|
291
|
+
const githubEvidence = findGithubWorkflowEvidence(workspaceRoot);
|
|
292
|
+
addDetection("github-actions", githubEvidence, [
|
|
293
|
+
{
|
|
294
|
+
paths: [".github/workflows/**"],
|
|
295
|
+
risk: "high",
|
|
296
|
+
requireHumanBeforeEdit: true,
|
|
297
|
+
requireHumanBeforeMerge: true,
|
|
298
|
+
},
|
|
299
|
+
]);
|
|
300
|
+
const lockfileEvidence = hasAny(["package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lockb"]);
|
|
301
|
+
addDetection("lockfiles", lockfileEvidence, [
|
|
302
|
+
{
|
|
303
|
+
paths: ["package-lock.json", "pnpm-lock.yaml", "yarn.lock", "bun.lockb"],
|
|
304
|
+
risk: "medium",
|
|
305
|
+
requireHumanBeforeMerge: true,
|
|
306
|
+
},
|
|
307
|
+
]);
|
|
308
|
+
const infraEvidence = hasAny(["Dockerfile", "docker-compose.yml", "docker-compose.yaml", "terraform", "infra"]);
|
|
309
|
+
addDetection("infra", infraEvidence, [
|
|
310
|
+
{
|
|
311
|
+
paths: ["Dockerfile", "docker-compose.*", "terraform/**", "infra/**"],
|
|
312
|
+
risk: "high",
|
|
313
|
+
requireHumanBeforeEdit: true,
|
|
314
|
+
requireHumanBeforeMerge: true,
|
|
315
|
+
},
|
|
316
|
+
]);
|
|
317
|
+
const appRiskEvidence = findDirectoriesMatching(workspaceRoot, [
|
|
318
|
+
"auth",
|
|
319
|
+
"security",
|
|
320
|
+
"session",
|
|
321
|
+
"payment",
|
|
322
|
+
"payments",
|
|
323
|
+
"billing",
|
|
324
|
+
"db",
|
|
325
|
+
"database",
|
|
326
|
+
"migration",
|
|
327
|
+
"migrations",
|
|
328
|
+
]);
|
|
329
|
+
const appRiskRules = appRiskEvidence.flatMap((relativePath) => {
|
|
330
|
+
const name = path.basename(relativePath).toLowerCase();
|
|
331
|
+
const isCritical = ["payment", "payments", "billing", "db", "database", "migration", "migrations"].includes(name);
|
|
332
|
+
return [
|
|
333
|
+
{
|
|
334
|
+
paths: [`${relativePath}/**`],
|
|
335
|
+
risk: isCritical ? "critical" : "high",
|
|
336
|
+
requireHumanBeforeEdit: true,
|
|
337
|
+
requireHumanBeforeMerge: isCritical,
|
|
338
|
+
},
|
|
339
|
+
];
|
|
340
|
+
});
|
|
341
|
+
addDetection("risky-directories", appRiskEvidence, appRiskRules);
|
|
342
|
+
return detections;
|
|
343
|
+
}
|
|
344
|
+
function mergeRippleRiskRules(rules) {
|
|
345
|
+
const merged = new Map();
|
|
346
|
+
rules.forEach((rule) => {
|
|
347
|
+
const key = rule.paths.join("\u0000");
|
|
348
|
+
const existing = merged.get(key);
|
|
349
|
+
if (!existing) {
|
|
350
|
+
merged.set(key, { ...rule, paths: [...rule.paths] });
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
const allowPrMode = existing.allowPrMode === true || rule.allowPrMode === true ? true : undefined;
|
|
354
|
+
merged.set(key, {
|
|
355
|
+
paths: existing.paths,
|
|
356
|
+
risk: mergeRisk(existing.risk, rule.risk),
|
|
357
|
+
requireHumanBeforeEdit: existing.requireHumanBeforeEdit === true || rule.requireHumanBeforeEdit === true,
|
|
358
|
+
requireHumanBeforeMerge: existing.requireHumanBeforeMerge === true || rule.requireHumanBeforeMerge === true,
|
|
359
|
+
...(allowPrMode === true ? { allowPrMode } : {}),
|
|
360
|
+
});
|
|
361
|
+
});
|
|
362
|
+
return [...merged.values()];
|
|
363
|
+
}
|
|
364
|
+
function mergeRisk(first, second) {
|
|
365
|
+
if (!second) {
|
|
366
|
+
return first;
|
|
367
|
+
}
|
|
368
|
+
if (!first) {
|
|
369
|
+
return second;
|
|
370
|
+
}
|
|
371
|
+
return strongestRisk(first, second);
|
|
372
|
+
}
|
|
373
|
+
function findGithubWorkflowEvidence(workspaceRoot) {
|
|
374
|
+
const workflowsRoot = path.join(workspaceRoot, ".github", "workflows");
|
|
375
|
+
if (!fs.existsSync(workflowsRoot) || !fs.statSync(workflowsRoot).isDirectory()) {
|
|
376
|
+
return [];
|
|
377
|
+
}
|
|
378
|
+
return fs
|
|
379
|
+
.readdirSync(workflowsRoot)
|
|
380
|
+
.filter((entry) => entry !== "ripple.yml")
|
|
381
|
+
.filter((entry) => /\.(ya?ml)$/i.test(entry))
|
|
382
|
+
.map((entry) => path.join(".github", "workflows", entry).split(path.sep).join("/"));
|
|
383
|
+
}
|
|
384
|
+
function pathExists(workspaceRoot, relativePath) {
|
|
385
|
+
return fs.existsSync(path.join(workspaceRoot, relativePath));
|
|
386
|
+
}
|
|
387
|
+
function readPackageJson(workspaceRoot) {
|
|
388
|
+
const packagePath = path.join(workspaceRoot, "package.json");
|
|
389
|
+
if (!fs.existsSync(packagePath)) {
|
|
390
|
+
return undefined;
|
|
391
|
+
}
|
|
392
|
+
try {
|
|
393
|
+
return JSON.parse(fs.readFileSync(packagePath, "utf8"));
|
|
394
|
+
}
|
|
395
|
+
catch {
|
|
396
|
+
return undefined;
|
|
397
|
+
}
|
|
398
|
+
}
|
|
399
|
+
function packageJsonDependencies(value) {
|
|
400
|
+
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
401
|
+
return new Set();
|
|
402
|
+
}
|
|
403
|
+
const record = value;
|
|
404
|
+
const names = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"]
|
|
405
|
+
.flatMap((field) => {
|
|
406
|
+
const dependencies = record[field];
|
|
407
|
+
if (!dependencies || typeof dependencies !== "object" || Array.isArray(dependencies)) {
|
|
408
|
+
return [];
|
|
409
|
+
}
|
|
410
|
+
return Object.keys(dependencies);
|
|
411
|
+
});
|
|
412
|
+
return new Set(names);
|
|
413
|
+
}
|
|
414
|
+
function findDirectoriesMatching(workspaceRoot, names) {
|
|
415
|
+
const targets = new Set(names.map((name) => name.toLowerCase()));
|
|
416
|
+
const results = [];
|
|
417
|
+
const ignored = new Set([".git", ".ripple", "node_modules", "dist", "build", "out", "coverage", ".next"]);
|
|
418
|
+
const visit = (absoluteDir, depth) => {
|
|
419
|
+
if (depth > 4) {
|
|
420
|
+
return;
|
|
421
|
+
}
|
|
422
|
+
let entries;
|
|
423
|
+
try {
|
|
424
|
+
entries = fs.readdirSync(absoluteDir, { withFileTypes: true });
|
|
425
|
+
}
|
|
426
|
+
catch {
|
|
427
|
+
return;
|
|
428
|
+
}
|
|
429
|
+
entries.forEach((entry) => {
|
|
430
|
+
if (!entry.isDirectory() || ignored.has(entry.name)) {
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
const absolutePath = path.join(absoluteDir, entry.name);
|
|
434
|
+
const relativePath = normalizePolicyPath(path.relative(workspaceRoot, absolutePath));
|
|
435
|
+
if (targets.has(entry.name.toLowerCase())) {
|
|
436
|
+
results.push(relativePath);
|
|
437
|
+
}
|
|
438
|
+
visit(absolutePath, depth + 1);
|
|
439
|
+
});
|
|
440
|
+
};
|
|
441
|
+
visit(workspaceRoot, 0);
|
|
442
|
+
return uniqueItems(results).sort();
|
|
443
|
+
}
|
|
215
444
|
function policyHumanGate(resolution, effectiveMode) {
|
|
216
445
|
if (resolution.requireHumanBeforeEdit || effectiveMode === "brainstorm") {
|
|
217
446
|
return "required-before-edit";
|
package/dist/policy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../src/policy.ts"],"names":[],"mappings":"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"}
|
package/dist/readiness.js
CHANGED
|
@@ -45,7 +45,8 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
|
|
|
45
45
|
const gitOk = gitCheck.ok;
|
|
46
46
|
const gitIgnoreCheck = rippleGitIgnoreCheck(workspaceRoot);
|
|
47
47
|
const ciWorkflowOk = fs.existsSync(workflowPath);
|
|
48
|
-
const
|
|
48
|
+
const latestIntentExists = fs.existsSync(latestIntentPath);
|
|
49
|
+
const latestIntentOk = latestIntentExists && hasActiveChangeIntentProtocol(latestIntentPath);
|
|
49
50
|
const explicitPolicyOk = fs.existsSync(policyPath);
|
|
50
51
|
const checks = {
|
|
51
52
|
graph: {
|
|
@@ -68,10 +69,10 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
|
|
|
68
69
|
ok: latestIntentOk,
|
|
69
70
|
detail: latestIntentOk
|
|
70
71
|
? formatWorkspacePath(workspaceRoot, latestIntentPath)
|
|
71
|
-
:
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
: latestIntentExists
|
|
73
|
+
? "No active local intent found; latest.json is a closed or invalid marker."
|
|
74
|
+
: "No active local intent found; this is normal until an agent creates a saved plan.",
|
|
75
|
+
fix: undefined,
|
|
75
76
|
},
|
|
76
77
|
};
|
|
77
78
|
const enforcement = buildEnforcementReadiness({
|
|
@@ -87,9 +88,10 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
|
|
|
87
88
|
.map((check) => check.fix)
|
|
88
89
|
.filter((fix) => Boolean(fix));
|
|
89
90
|
if (nextSteps.length === 0) {
|
|
90
|
-
nextSteps.push("Run ripple ci --base origin/main --
|
|
91
|
+
nextSteps.push("Run ripple ci --base origin/main --github-annotations.");
|
|
91
92
|
}
|
|
92
|
-
const
|
|
93
|
+
const requiredChecks = [checks.graph, checks.git, checks.gitIgnore, checks.ciWorkflow];
|
|
94
|
+
const status = requiredChecks.every((check) => check.ok) ? "ready" : "needs_setup";
|
|
93
95
|
const contract = readinessContract(status, enforcement, nextSteps);
|
|
94
96
|
return {
|
|
95
97
|
status,
|
|
@@ -110,6 +112,15 @@ function buildRippleReadinessSummary(workspaceRoot, engine) {
|
|
|
110
112
|
};
|
|
111
113
|
}
|
|
112
114
|
exports.buildRippleReadinessSummary = buildRippleReadinessSummary;
|
|
115
|
+
function hasActiveChangeIntentProtocol(filePath) {
|
|
116
|
+
try {
|
|
117
|
+
const parsed = JSON.parse(fs.readFileSync(filePath, "utf8"));
|
|
118
|
+
return parsed.protocol === "ripple-change-intent";
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
return false;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
113
124
|
function readinessContract(status, enforcement, nextSteps) {
|
|
114
125
|
if (status === "ready") {
|
|
115
126
|
return {
|
|
@@ -132,8 +143,9 @@ function readinessContract(status, enforcement, nextSteps) {
|
|
|
132
143
|
}
|
|
133
144
|
function buildEnforcementReadiness(input) {
|
|
134
145
|
const canGuideAgents = input.graphOk;
|
|
135
|
-
const canDetectDrift = input.graphOk && input.gitOk
|
|
136
|
-
const
|
|
146
|
+
const canDetectDrift = input.graphOk && input.gitOk;
|
|
147
|
+
const permanentSetupReady = input.gitIgnoreOk && input.ciWorkflowOk;
|
|
148
|
+
const canBlockInCi = canDetectDrift && permanentSetupReady;
|
|
137
149
|
const level = enforcementLevel({
|
|
138
150
|
canGuideAgents,
|
|
139
151
|
canDetectDrift,
|
|
@@ -193,9 +205,6 @@ function enforcementGaps(input) {
|
|
|
193
205
|
if (!input.gitIgnoreOk) {
|
|
194
206
|
gaps.push("Missing .gitignore hygiene for .ripple/.cache/; generated cache files may be committed accidentally.");
|
|
195
207
|
}
|
|
196
|
-
if (!input.latestIntentOk) {
|
|
197
|
-
gaps.push("No latest saved intent exists, so Ripple cannot compare agent work to a plan.");
|
|
198
|
-
}
|
|
199
208
|
if (!input.ciWorkflowOk) {
|
|
200
209
|
gaps.push("Ripple setup is missing the CI workflow, so unsafe changes cannot be blocked in PR checks.");
|
|
201
210
|
}
|
package/dist/readiness.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,yCAAoF;AACpF,mDAA0D;AAC1D,+BAAgC;AAGnB,QAAA,uBAAuB,GAAG,8BAA8B,CAAC;AACzD,QAAA,qBAAqB,GAAG,YAAY,CAAC;AACrC,QAAA,4BAA4B,GAAG,iBAAiB,CAAC;AAkD9D,SAAgB,2BAA2B,CACzC,aAAqB,EACrB,MAAmB;IAEnB,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,IAAA,kCAAuB,EAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,+BAAuB,CAAC,CAAC;IACvE,MAAM,gBAAgB,GAAG,IAAA,uCAAuB,EAAC,aAAa,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,gBAAgB,CAAC,aAAa,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;IACjD,MAAM,
|
|
1
|
+
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../src/readiness.ts"],"names":[],"mappings":"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"}
|
package/dist/staged-check.d.ts
CHANGED
|
@@ -64,8 +64,9 @@ export type StagedCheckAgentActions = {
|
|
|
64
64
|
};
|
|
65
65
|
export type StagedCheckSummary = {
|
|
66
66
|
workspace: string;
|
|
67
|
-
mode: "staged" | "changed";
|
|
67
|
+
mode: "staged" | "changed" | "worktree";
|
|
68
68
|
baseRef?: string;
|
|
69
|
+
changeFingerprint: string;
|
|
69
70
|
stagedFiles: number;
|
|
70
71
|
checkedFiles: number;
|
|
71
72
|
skippedFiles: string[];
|
|
@@ -81,7 +82,7 @@ export type StagedCheckSummary = {
|
|
|
81
82
|
export type BuildStagedCheckSummaryOptions = {
|
|
82
83
|
workspaceRoot: string;
|
|
83
84
|
stagedFiles: string[];
|
|
84
|
-
mode?: "staged" | "changed";
|
|
85
|
+
mode?: "staged" | "changed" | "worktree";
|
|
85
86
|
baseRef?: string;
|
|
86
87
|
stagedDiff?: string;
|
|
87
88
|
task?: string;
|
|
@@ -90,6 +91,9 @@ export type BuildStagedCheckSummaryOptions = {
|
|
|
90
91
|
export declare function isRippleSourceFile(filePath: string): boolean;
|
|
91
92
|
export declare function listGitStagedFiles(workspaceRoot: string): string[];
|
|
92
93
|
export declare function listGitStagedDiff(workspaceRoot: string): string;
|
|
94
|
+
export declare function fingerprintRippleChangeDiff(diff: string): string;
|
|
95
|
+
export declare function listGitWorktreeFiles(workspaceRoot: string): string[];
|
|
96
|
+
export declare function listGitWorktreeDiff(workspaceRoot: string): string;
|
|
93
97
|
export declare function listGitChangedFiles(workspaceRoot: string, baseRef: string): string[];
|
|
94
98
|
export declare function listGitChangedDiff(workspaceRoot: string, baseRef: string): string;
|
|
95
99
|
export declare function buildStagedCheckSummary(engine: GraphEngine, options: BuildStagedCheckSummaryOptions): StagedCheckSummary;
|
package/dist/staged-check.js
CHANGED
|
@@ -23,9 +23,10 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.highestStagedRisk = exports.buildStagedCheckSummary = exports.listGitChangedDiff = exports.listGitChangedFiles = exports.listGitStagedDiff = exports.listGitStagedFiles = exports.isRippleSourceFile = void 0;
|
|
26
|
+
exports.highestStagedRisk = exports.buildStagedCheckSummary = exports.listGitChangedDiff = exports.listGitChangedFiles = exports.listGitWorktreeDiff = exports.listGitWorktreeFiles = exports.fingerprintRippleChangeDiff = exports.listGitStagedDiff = exports.listGitStagedFiles = exports.isRippleSourceFile = void 0;
|
|
27
27
|
const fs = __importStar(require("fs"));
|
|
28
28
|
const path = __importStar(require("path"));
|
|
29
|
+
const crypto = __importStar(require("crypto"));
|
|
29
30
|
const ts_morph_1 = require("ts-morph");
|
|
30
31
|
const git_1 = require("./git");
|
|
31
32
|
const SOURCE_FILE_RE = /\.(ts|tsx|js|jsx|py)$/i;
|
|
@@ -74,6 +75,80 @@ function listGitStagedDiff(workspaceRoot) {
|
|
|
74
75
|
}
|
|
75
76
|
}
|
|
76
77
|
exports.listGitStagedDiff = listGitStagedDiff;
|
|
78
|
+
function fingerprintRippleChangeDiff(diff) {
|
|
79
|
+
const sourceDiff = normalizeRippleSourceDiff(diff);
|
|
80
|
+
return crypto
|
|
81
|
+
.createHash("sha256")
|
|
82
|
+
.update(sourceDiff, "utf8")
|
|
83
|
+
.digest("hex");
|
|
84
|
+
}
|
|
85
|
+
exports.fingerprintRippleChangeDiff = fingerprintRippleChangeDiff;
|
|
86
|
+
function normalizeRippleSourceDiff(diff) {
|
|
87
|
+
const normalized = diff.replace(/\r\n/g, "\n");
|
|
88
|
+
const sourceBlocks = [];
|
|
89
|
+
let currentBlock = [];
|
|
90
|
+
const flush = () => {
|
|
91
|
+
if (currentBlock.length > 0 && diffBlockTargetsRippleSource(currentBlock)) {
|
|
92
|
+
sourceBlocks.push(currentBlock.join("\n"));
|
|
93
|
+
}
|
|
94
|
+
currentBlock = [];
|
|
95
|
+
};
|
|
96
|
+
normalized.split("\n").forEach((line) => {
|
|
97
|
+
if (line.startsWith("diff --git ")) {
|
|
98
|
+
flush();
|
|
99
|
+
currentBlock = [line];
|
|
100
|
+
return;
|
|
101
|
+
}
|
|
102
|
+
if (currentBlock.length > 0) {
|
|
103
|
+
currentBlock.push(line);
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
flush();
|
|
107
|
+
return sourceBlocks.join("\n");
|
|
108
|
+
}
|
|
109
|
+
function diffBlockTargetsRippleSource(lines) {
|
|
110
|
+
return lines.some((line) => {
|
|
111
|
+
if (!line.startsWith("+++ ") && !line.startsWith("--- ")) {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
const file = parseDiffFilePath(line.slice(4));
|
|
115
|
+
return Boolean(file && isRippleSourceFile(file));
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
function listGitWorktreeFiles(workspaceRoot) {
|
|
119
|
+
try {
|
|
120
|
+
const output = (0, git_1.execGit)(workspaceRoot, [
|
|
121
|
+
"diff",
|
|
122
|
+
"--name-only",
|
|
123
|
+
"--diff-filter=ACMR",
|
|
124
|
+
]);
|
|
125
|
+
return output
|
|
126
|
+
.split(/\r?\n/)
|
|
127
|
+
.map((line) => line.trim())
|
|
128
|
+
.filter(Boolean)
|
|
129
|
+
.concat(listGitUntrackedSourceFiles(workspaceRoot))
|
|
130
|
+
.filter(uniqueString);
|
|
131
|
+
}
|
|
132
|
+
catch (err) {
|
|
133
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
134
|
+
throw new Error(`Could not read worktree files with git diff: ${message}`);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.listGitWorktreeFiles = listGitWorktreeFiles;
|
|
138
|
+
function listGitWorktreeDiff(workspaceRoot) {
|
|
139
|
+
try {
|
|
140
|
+
return (0, git_1.execGit)(workspaceRoot, [
|
|
141
|
+
"diff",
|
|
142
|
+
"--unified=0",
|
|
143
|
+
"--no-ext-diff",
|
|
144
|
+
]);
|
|
145
|
+
}
|
|
146
|
+
catch (err) {
|
|
147
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
148
|
+
throw new Error(`Could not read worktree diff with git diff: ${message}`);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
exports.listGitWorktreeDiff = listGitWorktreeDiff;
|
|
77
152
|
function listGitChangedFiles(workspaceRoot, baseRef) {
|
|
78
153
|
try {
|
|
79
154
|
const output = (0, git_1.execGit)(workspaceRoot, [
|
|
@@ -255,10 +330,13 @@ function buildStagedCheckSummary(engine, options) {
|
|
|
255
330
|
const baseRef = mode === "changed" ? options.baseRef ?? "HEAD" : undefined;
|
|
256
331
|
const sourceFiles = options.stagedFiles.filter(isRippleSourceFile);
|
|
257
332
|
const skippedFiles = options.stagedFiles.filter((file) => !isRippleSourceFile(file));
|
|
258
|
-
const
|
|
333
|
+
const rawDiff = options.stagedDiff ??
|
|
259
334
|
(mode === "changed"
|
|
260
335
|
? listGitChangedDiff(options.workspaceRoot, baseRef ?? "HEAD")
|
|
261
|
-
:
|
|
336
|
+
: mode === "worktree"
|
|
337
|
+
? listGitWorktreeDiff(options.workspaceRoot)
|
|
338
|
+
: listGitStagedDiff(options.workspaceRoot));
|
|
339
|
+
const stagedDiff = parseStagedDiff(rawDiff);
|
|
262
340
|
const files = [];
|
|
263
341
|
const missingFiles = [];
|
|
264
342
|
const task = options.task ?? DEFAULT_STAGED_CHECK_TASK;
|
|
@@ -323,6 +401,7 @@ function buildStagedCheckSummary(engine, options) {
|
|
|
323
401
|
workspace: path.resolve(options.workspaceRoot),
|
|
324
402
|
mode,
|
|
325
403
|
baseRef,
|
|
404
|
+
changeFingerprint: fingerprintRippleChangeDiff(rawDiff),
|
|
326
405
|
stagedFiles: sourceFiles.length,
|
|
327
406
|
checkedFiles: files.length,
|
|
328
407
|
skippedFiles,
|
|
@@ -460,7 +539,7 @@ function getChangedSymbolsForFile(engine, workspaceRoot, projectPath, diff, mode
|
|
|
460
539
|
if (diff.changedLineRanges.length === 0) {
|
|
461
540
|
return [];
|
|
462
541
|
}
|
|
463
|
-
const content = mode === "changed"
|
|
542
|
+
const content = mode === "changed" || mode === "worktree"
|
|
464
543
|
? readWorkingTreeFileContent(workspaceRoot, projectPath)
|
|
465
544
|
: readStagedFileContent(workspaceRoot, projectPath);
|
|
466
545
|
if (content === null) {
|