renma 0.13.2 → 0.14.1

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.
@@ -0,0 +1,460 @@
1
+ import { createHash } from "node:crypto";
2
+ const NODE_TYPES = [
3
+ "asset",
4
+ "owner",
5
+ "lifecycle_status",
6
+ "security_profile",
7
+ "effective_policy",
8
+ "diagnostic",
9
+ ];
10
+ const EDGE_TYPES = [
11
+ "owned_by",
12
+ "has_lifecycle_status",
13
+ "declares_dependency",
14
+ "references",
15
+ "selects_security_profile",
16
+ "inherits_policy",
17
+ "has_effective_policy",
18
+ "has_diagnostic",
19
+ ];
20
+ const FINDING_SEVERITIES = [
21
+ "critical",
22
+ "high",
23
+ "medium",
24
+ "low",
25
+ "error",
26
+ "warning",
27
+ "info",
28
+ ];
29
+ const RISK_CLASSES = [
30
+ "violation",
31
+ "suspicious",
32
+ "advisory",
33
+ "unclassified",
34
+ ];
35
+ export function buildTrustGraph(input) {
36
+ const nodes = new Map();
37
+ const edges = new Map();
38
+ const assets = stableAssets(input.catalog.assets);
39
+ const assetsById = new Map(assets.map((asset) => [asset.id, asset]));
40
+ const assetsByPath = new Map(assets.map((asset) => [normalizeReference(asset.sourcePath), asset]));
41
+ for (const asset of assets) {
42
+ addNode(nodes, assetNode(asset));
43
+ if (asset.metadata.owner) {
44
+ const ownerNodeId = ownerNode(asset.metadata.owner).id;
45
+ addNode(nodes, ownerNode(asset.metadata.owner));
46
+ addEdge(edges, {
47
+ from: assetNodeId(asset),
48
+ to: ownerNodeId,
49
+ type: "owned_by",
50
+ evidence: metadataEvidence(asset, "owner"),
51
+ });
52
+ }
53
+ if (asset.metadata.status) {
54
+ const lifecycleNodeId = lifecycleStatusNode(asset.metadata.status).id;
55
+ addNode(nodes, lifecycleStatusNode(asset.metadata.status));
56
+ addEdge(edges, {
57
+ from: assetNodeId(asset),
58
+ to: lifecycleNodeId,
59
+ type: "has_lifecycle_status",
60
+ evidence: metadataEvidence(asset, "status"),
61
+ });
62
+ }
63
+ }
64
+ for (const dependency of stableDependencies(input.catalog.dependencies)) {
65
+ const source = assetsById.get(dependency.from);
66
+ const target = resolveDependencyTarget(dependency, assets);
67
+ if (!source || !target)
68
+ continue;
69
+ addEdge(edges, {
70
+ from: assetNodeId(source),
71
+ to: assetNodeId(target),
72
+ type: dependency.kind === "references" ? "references" : "declares_dependency",
73
+ properties: {
74
+ dependencyKind: dependency.kind,
75
+ declaredTarget: dependency.to,
76
+ },
77
+ evidence: dependency.evidence ? [dependency.evidence] : [],
78
+ });
79
+ }
80
+ for (const policy of input.securityPolicies ?? []) {
81
+ const asset = assetsByPath.get(normalizeReference(policy.path));
82
+ if (!asset)
83
+ continue;
84
+ addPolicyEvidence(nodes, edges, asset, policy);
85
+ }
86
+ const findings = stableTrustGraphFindings((input.findings ?? []).map(findingToTrustGraphFinding), (input.diagnostics ?? []).map(diagnosticToTrustGraphFinding));
87
+ for (const finding of findings) {
88
+ const diagnostic = diagnosticNode(finding);
89
+ addNode(nodes, diagnostic);
90
+ const asset = finding.path
91
+ ? assetsByPath.get(normalizeReference(finding.path))
92
+ : undefined;
93
+ if (asset) {
94
+ addEdge(edges, {
95
+ from: assetNodeId(asset),
96
+ to: diagnostic.id,
97
+ type: "has_diagnostic",
98
+ evidence: finding.evidence ? [finding.evidence] : [],
99
+ });
100
+ }
101
+ }
102
+ const sortedNodes = [...nodes.values()].sort(compareNodes);
103
+ const sortedEdges = [...edges.values()].sort(compareEdges);
104
+ return {
105
+ schemaVersion: "renma.trustGraph.v1",
106
+ summary: summarizeTrustGraph(assets.length, sortedNodes, sortedEdges, findings),
107
+ nodes: sortedNodes,
108
+ edges: sortedEdges,
109
+ findings,
110
+ };
111
+ }
112
+ function addPolicyEvidence(nodes, edges, asset, policy) {
113
+ if (policy.selectedSecurityProfile) {
114
+ const profile = securityProfileNode(policy.selectedSecurityProfile);
115
+ addNode(nodes, profile);
116
+ addEdge(edges, {
117
+ from: assetNodeId(asset),
118
+ to: profile.id,
119
+ type: "selects_security_profile",
120
+ properties: {
121
+ profileResolution: policy.profileResolution,
122
+ profileChain: policy.profileChain,
123
+ },
124
+ evidence: policy.evidence.selectedSecurityProfile
125
+ ? [policy.evidence.selectedSecurityProfile]
126
+ : [],
127
+ });
128
+ }
129
+ for (let index = 1; index < policy.profileChain.length; index += 1) {
130
+ const childProfile = policy.profileChain[index];
131
+ const parentProfile = policy.profileChain[index - 1];
132
+ if (!childProfile || !parentProfile)
133
+ continue;
134
+ const child = securityProfileNode(childProfile);
135
+ const parent = securityProfileNode(parentProfile);
136
+ addNode(nodes, child);
137
+ addNode(nodes, parent);
138
+ addEdge(edges, {
139
+ from: child.id,
140
+ to: parent.id,
141
+ type: "inherits_policy",
142
+ });
143
+ }
144
+ const effective = effectivePolicyNode(policy.effectivePolicy);
145
+ addNode(nodes, effective);
146
+ addEdge(edges, {
147
+ from: assetNodeId(asset),
148
+ to: effective.id,
149
+ type: "has_effective_policy",
150
+ properties: {
151
+ hasLocalPolicyMetadata: policy.hasLocalPolicyMetadata,
152
+ },
153
+ evidence: policy.evidence.policyFields,
154
+ });
155
+ }
156
+ function assetNode(asset) {
157
+ return {
158
+ id: assetNodeId(asset),
159
+ type: "asset",
160
+ label: asset.id,
161
+ properties: {
162
+ assetId: asset.id,
163
+ kind: asset.kind,
164
+ sourcePath: asset.sourcePath,
165
+ contentHash: asset.contentHash,
166
+ tags: asset.metadata.tags,
167
+ ...(asset.metadata.owner ? { owner: asset.metadata.owner } : {}),
168
+ ...(asset.metadata.status ? { status: asset.metadata.status } : {}),
169
+ },
170
+ evidence: [
171
+ {
172
+ path: asset.sourcePath,
173
+ startLine: 1,
174
+ endLine: 1,
175
+ snippet: asset.id,
176
+ },
177
+ ],
178
+ };
179
+ }
180
+ function ownerNode(owner) {
181
+ return {
182
+ id: `owner:${owner}`,
183
+ type: "owner",
184
+ label: owner,
185
+ };
186
+ }
187
+ function lifecycleStatusNode(status) {
188
+ return {
189
+ id: `lifecycle_status:${status}`,
190
+ type: "lifecycle_status",
191
+ label: status,
192
+ };
193
+ }
194
+ function securityProfileNode(profile) {
195
+ return {
196
+ id: `security_profile:${profile}`,
197
+ type: "security_profile",
198
+ label: profile,
199
+ };
200
+ }
201
+ function effectivePolicyNode(policy) {
202
+ return {
203
+ id: `effective_policy:${policy.fingerprint}`,
204
+ type: "effective_policy",
205
+ label: policy.fingerprint,
206
+ properties: {
207
+ fingerprint: policy.fingerprint,
208
+ allowedData: policy.allowedData,
209
+ forbiddenInputs: policy.forbiddenInputs,
210
+ networkAllowed: policy.networkAllowed,
211
+ externalUploadAllowed: policy.externalUploadAllowed,
212
+ secretsAllowed: policy.secretsAllowed,
213
+ humanApprovalRequired: policy.humanApprovalRequired,
214
+ approvedNetworkDestinations: policy.approvedNetworkDestinations,
215
+ approvedUploadDestinations: policy.approvedUploadDestinations,
216
+ disallowedCommands: policy.disallowedCommands,
217
+ },
218
+ };
219
+ }
220
+ function diagnosticNode(finding) {
221
+ const id = diagnosticNodeId(finding);
222
+ return {
223
+ id,
224
+ type: "diagnostic",
225
+ label: finding.id ?? finding.code ?? finding.message,
226
+ properties: {
227
+ source: finding.source,
228
+ severity: finding.severity,
229
+ message: finding.message,
230
+ ...(finding.id ? { id: finding.id } : {}),
231
+ ...(finding.code ? { code: finding.code } : {}),
232
+ ...(finding.title ? { title: finding.title } : {}),
233
+ ...(finding.riskClass ? { riskClass: finding.riskClass } : {}),
234
+ ...(finding.path ? { path: finding.path } : {}),
235
+ },
236
+ evidence: finding.evidence ? [finding.evidence] : [],
237
+ };
238
+ }
239
+ function assetNodeId(asset) {
240
+ // Trust Graph v1 keeps asset IDs logical. Duplicate-id diagnostics preserve
241
+ // per-source evidence when multiple catalog assets share the same id.
242
+ return `asset:${asset.id}`;
243
+ }
244
+ function addNode(nodes, node) {
245
+ const existing = nodes.get(node.id);
246
+ if (!existing) {
247
+ nodes.set(node.id, {
248
+ ...node,
249
+ ...(node.evidence ? { evidence: stableEvidence(node.evidence) } : {}),
250
+ });
251
+ return;
252
+ }
253
+ if (node.evidence && node.evidence.length > 0) {
254
+ nodes.set(node.id, {
255
+ ...existing,
256
+ evidence: stableEvidence([
257
+ ...(existing.evidence ?? []),
258
+ ...node.evidence,
259
+ ]),
260
+ });
261
+ }
262
+ }
263
+ function addEdge(edges, edge) {
264
+ const id = edgeId(edge);
265
+ const existing = edges.get(id);
266
+ const next = {
267
+ id,
268
+ ...edge,
269
+ ...(edge.evidence ? { evidence: stableEvidence(edge.evidence) } : {}),
270
+ };
271
+ if (!existing) {
272
+ edges.set(id, next);
273
+ return;
274
+ }
275
+ if (edge.evidence && edge.evidence.length > 0) {
276
+ edges.set(id, {
277
+ ...existing,
278
+ evidence: stableEvidence([
279
+ ...(existing.evidence ?? []),
280
+ ...edge.evidence,
281
+ ]),
282
+ });
283
+ }
284
+ }
285
+ function edgeId(edge) {
286
+ return `edge:${shortHash(JSON.stringify([
287
+ edge.from,
288
+ edge.type,
289
+ edge.to,
290
+ edge.properties ?? {},
291
+ edge.evidence?.map(evidenceKey) ?? [],
292
+ ]))}`;
293
+ }
294
+ function diagnosticNodeId(finding) {
295
+ return `diagnostic:${shortHash(JSON.stringify([
296
+ finding.source,
297
+ finding.id ?? finding.code ?? "",
298
+ finding.severity,
299
+ finding.path ?? "",
300
+ finding.evidence?.startLine ?? 0,
301
+ finding.evidence?.endLine ?? 0,
302
+ finding.message,
303
+ ]))}`;
304
+ }
305
+ function shortHash(value) {
306
+ return createHash("sha256").update(value).digest("hex").slice(0, 16);
307
+ }
308
+ function metadataEvidence(asset, field) {
309
+ const evidence = asset.metadataFields[field];
310
+ if (!evidence)
311
+ return [];
312
+ return [
313
+ {
314
+ path: evidence.path,
315
+ startLine: evidence.startLine,
316
+ endLine: evidence.endLine,
317
+ snippet: evidence.raw,
318
+ },
319
+ ];
320
+ }
321
+ function findingToTrustGraphFinding(finding) {
322
+ return {
323
+ source: "finding",
324
+ id: finding.id,
325
+ title: finding.title,
326
+ severity: finding.severity,
327
+ message: finding.title,
328
+ path: finding.evidence.path,
329
+ evidence: finding.evidence,
330
+ ...(finding.riskClass ? { riskClass: finding.riskClass } : {}),
331
+ };
332
+ }
333
+ function diagnosticToTrustGraphFinding(diagnostic) {
334
+ const diagnosticPath = diagnostic.path ?? diagnostic.evidence?.path;
335
+ return {
336
+ source: "diagnostic",
337
+ ...(diagnostic.code ? { code: diagnostic.code } : {}),
338
+ severity: diagnostic.severity,
339
+ message: diagnostic.message,
340
+ ...(diagnosticPath ? { path: diagnosticPath } : {}),
341
+ ...(diagnostic.evidence ? { evidence: diagnostic.evidence } : {}),
342
+ };
343
+ }
344
+ function stableTrustGraphFindings(findings, diagnostics) {
345
+ return [...findings, ...diagnostics].sort((left, right) => {
346
+ const byPath = (left.path ?? "").localeCompare(right.path ?? "");
347
+ if (byPath !== 0)
348
+ return byPath;
349
+ const byLine = (left.evidence?.startLine ?? 0) - (right.evidence?.startLine ?? 0);
350
+ if (byLine !== 0)
351
+ return byLine;
352
+ const bySeverity = FINDING_SEVERITIES.indexOf(left.severity) -
353
+ FINDING_SEVERITIES.indexOf(right.severity);
354
+ if (bySeverity !== 0)
355
+ return bySeverity;
356
+ return ((left.id ?? left.code ?? "").localeCompare(right.id ?? right.code ?? "") || left.message.localeCompare(right.message));
357
+ });
358
+ }
359
+ function summarizeTrustGraph(assetCount, nodes, edges, findings) {
360
+ const nodeTypeCounts = zeroCounts(NODE_TYPES);
361
+ const edgeTypeCounts = zeroCounts(EDGE_TYPES);
362
+ const findingSeverityCounts = zeroCounts(FINDING_SEVERITIES);
363
+ const riskClassCounts = zeroCounts(RISK_CLASSES);
364
+ for (const node of nodes)
365
+ nodeTypeCounts[node.type] += 1;
366
+ for (const edge of edges)
367
+ edgeTypeCounts[edge.type] += 1;
368
+ for (const finding of findings) {
369
+ findingSeverityCounts[finding.severity] += 1;
370
+ riskClassCounts[finding.riskClass ?? "unclassified"] += 1;
371
+ }
372
+ return {
373
+ assetCount,
374
+ nodeCount: nodes.length,
375
+ edgeCount: edges.length,
376
+ findingCount: findings.length,
377
+ nodeTypeCounts,
378
+ edgeTypeCounts,
379
+ findingSeverityCounts,
380
+ riskClassCounts,
381
+ };
382
+ }
383
+ function zeroCounts(values) {
384
+ return Object.fromEntries(values.map((value) => [value, 0]));
385
+ }
386
+ function resolveDependencyTarget(dependency, assets) {
387
+ const target = normalizeReference(dependency.to);
388
+ return assets.find((asset) => asset.id === dependency.to ||
389
+ normalizeReference(asset.sourcePath) === target);
390
+ }
391
+ function normalizeReference(reference) {
392
+ return reference.replace(/\\/g, "/").replace(/^\.\//, "");
393
+ }
394
+ function stableAssets(assets) {
395
+ return [...assets].sort((left, right) => {
396
+ const byKind = left.kind.localeCompare(right.kind);
397
+ if (byKind !== 0)
398
+ return byKind;
399
+ const byPath = left.sourcePath.localeCompare(right.sourcePath);
400
+ if (byPath !== 0)
401
+ return byPath;
402
+ return left.id.localeCompare(right.id);
403
+ });
404
+ }
405
+ function stableDependencies(dependencies) {
406
+ return [...dependencies].sort((left, right) => {
407
+ const byFrom = left.from.localeCompare(right.from);
408
+ if (byFrom !== 0)
409
+ return byFrom;
410
+ const byKind = left.kind.localeCompare(right.kind);
411
+ if (byKind !== 0)
412
+ return byKind;
413
+ const byTo = left.to.localeCompare(right.to);
414
+ if (byTo !== 0)
415
+ return byTo;
416
+ return left.sourcePath.localeCompare(right.sourcePath);
417
+ });
418
+ }
419
+ function stableEvidence(evidence) {
420
+ const evidenceByKey = new Map(evidence.map((item) => [evidenceKey(item), item]));
421
+ return [...evidenceByKey.values()].sort((left, right) => {
422
+ const byPath = left.path.localeCompare(right.path);
423
+ if (byPath !== 0)
424
+ return byPath;
425
+ const byStart = left.startLine - right.startLine;
426
+ if (byStart !== 0)
427
+ return byStart;
428
+ const byEnd = left.endLine - right.endLine;
429
+ if (byEnd !== 0)
430
+ return byEnd;
431
+ return left.snippet.localeCompare(right.snippet);
432
+ });
433
+ }
434
+ function evidenceKey(evidence) {
435
+ return [
436
+ evidence.path,
437
+ evidence.startLine,
438
+ evidence.endLine,
439
+ evidence.snippet,
440
+ ].join("\0");
441
+ }
442
+ function compareNodes(left, right) {
443
+ const byType = NODE_TYPES.indexOf(left.type) - NODE_TYPES.indexOf(right.type);
444
+ if (byType !== 0)
445
+ return byType;
446
+ return left.id.localeCompare(right.id);
447
+ }
448
+ function compareEdges(left, right) {
449
+ const byFrom = left.from.localeCompare(right.from);
450
+ if (byFrom !== 0)
451
+ return byFrom;
452
+ const byType = EDGE_TYPES.indexOf(left.type) - EDGE_TYPES.indexOf(right.type);
453
+ if (byType !== 0)
454
+ return byType;
455
+ const byTo = left.to.localeCompare(right.to);
456
+ if (byTo !== 0)
457
+ return byTo;
458
+ return left.id.localeCompare(right.id);
459
+ }
460
+ //# sourceMappingURL=trust-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trust-graph.js","sourceRoot":"","sources":["../src/trust-graph.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { ContextLensSummary } from "./context-lens.js";
2
2
  import type { SecurityPolicyInventorySummary } from "./security-policy-inventory.js";
3
+ import type { TrustGraph } from "./trust-graph.js";
3
4
  /** Finding severity used for scan reports and failure thresholds. */
4
5
  export type Severity = "low" | "medium" | "high" | "critical";
5
6
  /** Security review taxonomy for static scan findings. */
@@ -37,6 +38,7 @@ export interface DiagnosticV2 {
37
38
  code: string;
38
39
  severity: "error" | "warning" | "info";
39
40
  message: string;
41
+ repairPolicy?: "preserve_semantics";
40
42
  location?: DiagnosticLocation;
41
43
  relatedLocations?: DiagnosticLocation[];
42
44
  repairConstraints?: RepairConstraint[];
@@ -199,6 +201,7 @@ export interface ScanResult {
199
201
  format: "text" | "json";
200
202
  contextLens?: ContextLensSummary;
201
203
  securityPolicyInventory?: SecurityPolicyInventorySummary;
204
+ trustGraph?: TrustGraph;
202
205
  findings: Finding[];
203
206
  diagnostics: Diagnostic[];
204
207
  diagnosticsV2: DiagnosticV2[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "renma",
3
- "version": "0.13.2",
3
+ "version": "0.14.1",
4
4
  "description": "Manage human-curated context assets for LLMs and agents in Git.",
5
5
  "license": "MIT",
6
6
  "repository": {