opena2a-cli 0.3.5 → 0.3.7

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.
Files changed (40) hide show
  1. package/README.md +54 -2
  2. package/dist/adapters/registry.d.ts.map +1 -1
  3. package/dist/adapters/registry.js +13 -6
  4. package/dist/adapters/registry.js.map +1 -1
  5. package/dist/commands/guard-hooks.d.ts.map +1 -1
  6. package/dist/commands/guard-hooks.js +3 -2
  7. package/dist/commands/guard-hooks.js.map +1 -1
  8. package/dist/commands/guard-policy.js +1 -1
  9. package/dist/commands/guard-policy.js.map +1 -1
  10. package/dist/commands/guard-snapshots.js +3 -3
  11. package/dist/commands/guard-snapshots.js.map +1 -1
  12. package/dist/commands/guard.d.ts.map +1 -1
  13. package/dist/commands/guard.js +5 -3
  14. package/dist/commands/guard.js.map +1 -1
  15. package/dist/commands/identity.d.ts +12 -0
  16. package/dist/commands/identity.d.ts.map +1 -0
  17. package/dist/commands/identity.js +157 -0
  18. package/dist/commands/identity.js.map +1 -0
  19. package/dist/commands/protect.d.ts.map +1 -1
  20. package/dist/commands/protect.js +6 -1
  21. package/dist/commands/protect.js.map +1 -1
  22. package/dist/commands/runtime.d.ts.map +1 -1
  23. package/dist/commands/runtime.js +1 -2
  24. package/dist/commands/runtime.js.map +1 -1
  25. package/dist/commands/self-register.js +1 -1
  26. package/dist/commands/self-register.js.map +1 -1
  27. package/dist/commands/shield.js +9 -9
  28. package/dist/commands/shield.js.map +1 -1
  29. package/dist/commands/verify.js +1 -1
  30. package/dist/commands/verify.js.map +1 -1
  31. package/dist/index.js +27 -2
  32. package/dist/index.js.map +1 -1
  33. package/dist/router.d.ts.map +1 -1
  34. package/dist/router.js +32 -4
  35. package/dist/router.js.map +1 -1
  36. package/dist/util/report-submission.d.ts +5 -0
  37. package/dist/util/report-submission.d.ts.map +1 -1
  38. package/dist/util/report-submission.js +64 -0
  39. package/dist/util/report-submission.js.map +1 -1
  40. package/package.json +1 -1
@@ -13,11 +13,75 @@
13
13
  * so they see value before being asked to share.
14
14
  */
15
15
  Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.normalizeGovernanceReport = normalizeGovernanceReport;
16
17
  exports.submitScanReport = submitScanReport;
17
18
  exports.isContributeEnabled = isContributeEnabled;
18
19
  exports.getRegistryUrl = getRegistryUrl;
19
20
  exports.recordScanAndMaybePrompt = recordScanAndMaybePrompt;
20
21
  const colors_js_1 = require("./colors.js");
22
+ // --- Governance scan normalization ---
23
+ /**
24
+ * Normalize a scan-soul governance result into the ScanReport format.
25
+ * Maps control gaps to findings so the registry can aggregate governance data.
26
+ */
27
+ function normalizeGovernanceReport(raw) {
28
+ // Detect governance scan by presence of 'domains' array and 'grade' field
29
+ if (!raw.domains || !raw.grade)
30
+ return null;
31
+ const score = raw.score ?? 0;
32
+ const grade = raw.grade ?? 'F';
33
+ const domains = raw.domains;
34
+ const findings = [];
35
+ let criticalCount = 0;
36
+ let highCount = 0;
37
+ let mediumCount = 0;
38
+ let lowCount = 0;
39
+ // Severity map for known control IDs (CRITICAL and HIGH controls)
40
+ const severityMap = {
41
+ 'SOUL-IH-003': 'critical', 'SOUL-HB-001': 'critical',
42
+ 'SOUL-TH-001': 'high', 'SOUL-CB-001': 'high', 'SOUL-CB-002': 'high',
43
+ 'SOUL-IH-001': 'high', 'SOUL-HB-002': 'high', 'SOUL-HB-003': 'high',
44
+ 'SOUL-HO-001': 'high',
45
+ };
46
+ for (const domain of domains) {
47
+ for (const control of domain.controls) {
48
+ if (!control.passed) {
49
+ const severity = severityMap[control.id] ?? 'medium';
50
+ if (severity === 'critical')
51
+ criticalCount++;
52
+ else if (severity === 'high')
53
+ highCount++;
54
+ else if (severity === 'medium')
55
+ mediumCount++;
56
+ else
57
+ lowCount++;
58
+ findings.push({
59
+ findingId: control.id,
60
+ severity,
61
+ category: 'governance',
62
+ title: `${control.name} not addressed`,
63
+ description: `Control ${control.id} (${control.name}) was not detected in the governance file. Domain: ${domain.domain}.`,
64
+ });
65
+ }
66
+ }
67
+ }
68
+ const verdict = score >= 75 ? 'pass' : score >= 40 ? 'warnings' : 'fail';
69
+ return {
70
+ packageName: raw.file ?? 'SOUL.md',
71
+ packageType: 'governance',
72
+ scannerName: 'HackMyAgent',
73
+ scannerVersion: '1.0.0',
74
+ overallScore: score,
75
+ scanDurationMs: 0,
76
+ criticalCount,
77
+ highCount,
78
+ mediumCount,
79
+ lowCount,
80
+ infoCount: 0,
81
+ verdict,
82
+ findings,
83
+ };
84
+ }
21
85
  // --- Submission ---
22
86
  async function submitScanReport(registryUrl, report, verbose) {
23
87
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"report-submission.js","sourceRoot":"","sources":["../../src/util/report-submission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-submission.js","sourceRoot":"","sources":["../../src/util/report-submission.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opena2a-cli",
3
- "version": "0.3.5",
3
+ "version": "0.3.7",
4
4
  "description": "Unified CLI for the OpenA2A security platform",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",