@aiassesstech/grillo 0.1.0

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 (121) hide show
  1. package/CHANGELOG.md +56 -0
  2. package/LICENSE +21 -0
  3. package/README.md +512 -0
  4. package/SKILL.md +87 -0
  5. package/dist/api/server.d.ts +68 -0
  6. package/dist/api/server.d.ts.map +1 -0
  7. package/dist/api/server.js +596 -0
  8. package/dist/api/server.js.map +1 -0
  9. package/dist/audit/audit-log.d.ts +88 -0
  10. package/dist/audit/audit-log.d.ts.map +1 -0
  11. package/dist/audit/audit-log.js +195 -0
  12. package/dist/audit/audit-log.js.map +1 -0
  13. package/dist/certification/certificate.d.ts +80 -0
  14. package/dist/certification/certificate.d.ts.map +1 -0
  15. package/dist/certification/certificate.js +176 -0
  16. package/dist/certification/certificate.js.map +1 -0
  17. package/dist/cli/bin.d.ts +8 -0
  18. package/dist/cli/bin.d.ts.map +1 -0
  19. package/dist/cli/bin.js +12 -0
  20. package/dist/cli/bin.js.map +1 -0
  21. package/dist/cli/config-loader.d.ts +66 -0
  22. package/dist/cli/config-loader.d.ts.map +1 -0
  23. package/dist/cli/config-loader.js +243 -0
  24. package/dist/cli/config-loader.js.map +1 -0
  25. package/dist/cli/runner.d.ts +27 -0
  26. package/dist/cli/runner.d.ts.map +1 -0
  27. package/dist/cli/runner.js +388 -0
  28. package/dist/cli/runner.js.map +1 -0
  29. package/dist/commands/grillo-commands.d.ts +50 -0
  30. package/dist/commands/grillo-commands.d.ts.map +1 -0
  31. package/dist/commands/grillo-commands.js +752 -0
  32. package/dist/commands/grillo-commands.js.map +1 -0
  33. package/dist/commands/inline-commands.d.ts +16 -0
  34. package/dist/commands/inline-commands.d.ts.map +1 -0
  35. package/dist/commands/inline-commands.js +277 -0
  36. package/dist/commands/inline-commands.js.map +1 -0
  37. package/dist/commands/router.d.ts +56 -0
  38. package/dist/commands/router.d.ts.map +1 -0
  39. package/dist/commands/router.js +154 -0
  40. package/dist/commands/router.js.map +1 -0
  41. package/dist/config/defaults.d.ts +9 -0
  42. package/dist/config/defaults.d.ts.map +1 -0
  43. package/dist/config/defaults.js +78 -0
  44. package/dist/config/defaults.js.map +1 -0
  45. package/dist/config/schema.d.ts +573 -0
  46. package/dist/config/schema.d.ts.map +1 -0
  47. package/dist/config/schema.js +142 -0
  48. package/dist/config/schema.js.map +1 -0
  49. package/dist/dashboard/metrics.d.ts +100 -0
  50. package/dist/dashboard/metrics.d.ts.map +1 -0
  51. package/dist/dashboard/metrics.js +282 -0
  52. package/dist/dashboard/metrics.js.map +1 -0
  53. package/dist/dashboard/ui.d.ts +19 -0
  54. package/dist/dashboard/ui.d.ts.map +1 -0
  55. package/dist/dashboard/ui.js +951 -0
  56. package/dist/dashboard/ui.js.map +1 -0
  57. package/dist/discovery/discovery-adapter.d.ts +94 -0
  58. package/dist/discovery/discovery-adapter.d.ts.map +1 -0
  59. package/dist/discovery/discovery-adapter.js +114 -0
  60. package/dist/discovery/discovery-adapter.js.map +1 -0
  61. package/dist/discovery/discovery-service.d.ts +77 -0
  62. package/dist/discovery/discovery-service.d.ts.map +1 -0
  63. package/dist/discovery/discovery-service.js +240 -0
  64. package/dist/discovery/discovery-service.js.map +1 -0
  65. package/dist/drift/detector.d.ts +51 -0
  66. package/dist/drift/detector.d.ts.map +1 -0
  67. package/dist/drift/detector.js +148 -0
  68. package/dist/drift/detector.js.map +1 -0
  69. package/dist/drift/fleet-anomaly.d.ts +28 -0
  70. package/dist/drift/fleet-anomaly.d.ts.map +1 -0
  71. package/dist/drift/fleet-anomaly.js +186 -0
  72. package/dist/drift/fleet-anomaly.js.map +1 -0
  73. package/dist/events/event-bus.d.ts +209 -0
  74. package/dist/events/event-bus.d.ts.map +1 -0
  75. package/dist/events/event-bus.js +184 -0
  76. package/dist/events/event-bus.js.map +1 -0
  77. package/dist/frameworks/framework-registry.d.ts +116 -0
  78. package/dist/frameworks/framework-registry.d.ts.map +1 -0
  79. package/dist/frameworks/framework-registry.js +241 -0
  80. package/dist/frameworks/framework-registry.js.map +1 -0
  81. package/dist/index.d.ts +94 -0
  82. package/dist/index.d.ts.map +1 -0
  83. package/dist/index.js +254 -0
  84. package/dist/index.js.map +1 -0
  85. package/dist/monitoring/continuous-monitor.d.ts +61 -0
  86. package/dist/monitoring/continuous-monitor.d.ts.map +1 -0
  87. package/dist/monitoring/continuous-monitor.js +191 -0
  88. package/dist/monitoring/continuous-monitor.js.map +1 -0
  89. package/dist/notifications/notifier.d.ts +21 -0
  90. package/dist/notifications/notifier.d.ts.map +1 -0
  91. package/dist/notifications/notifier.js +119 -0
  92. package/dist/notifications/notifier.js.map +1 -0
  93. package/dist/notifications/templates.d.ts +14 -0
  94. package/dist/notifications/templates.d.ts.map +1 -0
  95. package/dist/notifications/templates.js +105 -0
  96. package/dist/notifications/templates.js.map +1 -0
  97. package/dist/orchestration/orchestrator.d.ts +99 -0
  98. package/dist/orchestration/orchestrator.d.ts.map +1 -0
  99. package/dist/orchestration/orchestrator.js +426 -0
  100. package/dist/orchestration/orchestrator.js.map +1 -0
  101. package/dist/orchestration/queue.d.ts +17 -0
  102. package/dist/orchestration/queue.d.ts.map +1 -0
  103. package/dist/orchestration/queue.js +121 -0
  104. package/dist/orchestration/queue.js.map +1 -0
  105. package/dist/orchestration/scheduler.d.ts +26 -0
  106. package/dist/orchestration/scheduler.d.ts.map +1 -0
  107. package/dist/orchestration/scheduler.js +110 -0
  108. package/dist/orchestration/scheduler.js.map +1 -0
  109. package/dist/registry/agent-registry.d.ts +106 -0
  110. package/dist/registry/agent-registry.d.ts.map +1 -0
  111. package/dist/registry/agent-registry.js +349 -0
  112. package/dist/registry/agent-registry.js.map +1 -0
  113. package/dist/registry/types.d.ts +158 -0
  114. package/dist/registry/types.d.ts.map +1 -0
  115. package/dist/registry/types.js +44 -0
  116. package/dist/registry/types.js.map +1 -0
  117. package/dist/reports/compliance-report.d.ts +66 -0
  118. package/dist/reports/compliance-report.d.ts.map +1 -0
  119. package/dist/reports/compliance-report.js +208 -0
  120. package/dist/reports/compliance-report.js.map +1 -0
  121. package/package.json +67 -0
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Grillo Cricket — Registry Types
3
+ *
4
+ * Core type definitions for the Agent Registry. All types are designed
5
+ * to be framework-agnostic: morality (LCSH) is the Level 1 default,
6
+ * but the structures support virtue, ethics, and opex when they land.
7
+ */
8
+ export declare enum AgentCategory {
9
+ CUSTOMER_FACING = "customer_facing",
10
+ DECISION_MAKING = "decision_making",
11
+ INTERNAL_UTILITY = "internal_utility",
12
+ DEV_TEST = "dev_test",
13
+ CRITICAL_INFRASTRUCTURE = "critical_infrastructure"
14
+ }
15
+ export declare enum CertificationStatus {
16
+ UNCERTIFIED = "uncertified",
17
+ ASSESSING = "assessing",
18
+ CERTIFIED = "certified",
19
+ EXPIRED = "expired",
20
+ FAILED = "failed",
21
+ SUSPENDED = "suspended",
22
+ DRIFT_WARNING = "drift_warning",
23
+ PROBATION = "probation"
24
+ }
25
+ export declare enum RiskTier {
26
+ LOW = "low",
27
+ MEDIUM = "medium",
28
+ HIGH = "high",
29
+ CRITICAL = "critical"
30
+ }
31
+ export declare enum LevelStatus {
32
+ LOCKED = "locked",
33
+ AVAILABLE = "available",
34
+ PASSED = "passed",
35
+ FAILED = "failed"
36
+ }
37
+ /**
38
+ * Generic dimension scores. Keys are dimension names, values are 0-10.
39
+ * For morality (Level 1): { lying, cheating, stealing, harm }
40
+ * For future frameworks: different dimension sets.
41
+ */
42
+ export type DimensionScores = Record<string, number>;
43
+ /**
44
+ * Morality-specific convenience type (LCSH dimensions).
45
+ * Use DimensionScores for generic code.
46
+ */
47
+ export interface MoralityScores {
48
+ lying: number;
49
+ cheating: number;
50
+ stealing: number;
51
+ harm: number;
52
+ }
53
+ export interface HierarchicalProgress {
54
+ level1_morality: LevelStatus;
55
+ level2_virtue: LevelStatus;
56
+ level3_ethics: LevelStatus;
57
+ level4_opex: LevelStatus;
58
+ }
59
+ export interface CertificationRecord {
60
+ runId: string;
61
+ framework: string;
62
+ level: number;
63
+ scores: DimensionScores;
64
+ passed: boolean;
65
+ classification: string;
66
+ assessedAt: Date;
67
+ expiresAt: Date;
68
+ verifyUrl: string;
69
+ metadata: Record<string, unknown>;
70
+ }
71
+ export interface AgentRecord {
72
+ agentId: string;
73
+ agentName: string;
74
+ agentType: string;
75
+ category: AgentCategory;
76
+ provider: string;
77
+ model: string;
78
+ registeredAt: Date;
79
+ lastAssessedAt: Date | null;
80
+ nextAssessmentDue: Date | null;
81
+ certificationStatus: CertificationStatus;
82
+ certificationHistory: CertificationRecord[];
83
+ riskTier: RiskTier;
84
+ hierarchicalProgress: HierarchicalProgress;
85
+ driftBaseline: DimensionScores | null;
86
+ tags: string[];
87
+ metadata: Record<string, unknown>;
88
+ }
89
+ export interface AssessOptions {
90
+ framework?: string;
91
+ level?: "next" | number;
92
+ full?: boolean;
93
+ /** For virtue: 'aristotelian', 'confucian', etc. */
94
+ model?: string;
95
+ /** For ethics: 'culture', 'politics' */
96
+ type?: string;
97
+ /** For opex: 'healthcare', 'finance', etc. */
98
+ domain?: string;
99
+ /** Override per-question timeout */
100
+ perQuestionTimeoutMs?: number;
101
+ /** Override overall timeout */
102
+ overallTimeoutMs?: number;
103
+ }
104
+ export interface AssessmentResult {
105
+ agentId: string;
106
+ runId: string;
107
+ framework: string;
108
+ level: number;
109
+ scores: DimensionScores;
110
+ passed: boolean;
111
+ overallPassed: boolean;
112
+ classification: string;
113
+ verifyUrl: string;
114
+ completedAt: Date;
115
+ durationMs: number;
116
+ questionsAnswered: number;
117
+ questionsTotal: number;
118
+ metadata: Record<string, unknown>;
119
+ }
120
+ export interface FleetAssessmentResult {
121
+ startedAt: Date;
122
+ completedAt: Date;
123
+ totalAgents: number;
124
+ assessed: number;
125
+ passed: number;
126
+ failed: number;
127
+ errors: number;
128
+ results: AssessmentResult[];
129
+ }
130
+ export type NotificationEvent = "assessment_failed" | "certification_expired" | "drift_warning" | "fleet_anomaly" | "agent_discovered" | "escalation_timeout" | "assessment_passed" | "fleet_assessment_complete";
131
+ export interface NotificationPayload {
132
+ event: NotificationEvent;
133
+ agentId?: string;
134
+ agentName?: string;
135
+ message: string;
136
+ data: Record<string, unknown>;
137
+ timestamp: Date;
138
+ }
139
+ export interface DriftReport {
140
+ agentId: string;
141
+ agentName: string;
142
+ tdi: number;
143
+ baseline: DimensionScores;
144
+ current: DimensionScores;
145
+ dimensionDrifts: Record<string, number>;
146
+ severity: "none" | "low" | "medium" | "high" | "critical";
147
+ assessedAt: Date;
148
+ }
149
+ export interface FleetAnomalyReport {
150
+ detected: boolean;
151
+ anomalyType: "provider_drift" | "model_drift" | "category_drift" | "global_drift";
152
+ affectedAgents: string[];
153
+ commonFactor: string;
154
+ averageTDI: number;
155
+ description: string;
156
+ detectedAt: Date;
157
+ }
158
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,oBAAY,aAAa;IACvB,eAAe,oBAAoB;IACnC,eAAe,oBAAoB;IACnC,gBAAgB,qBAAqB;IACrC,QAAQ,aAAa;IACrB,uBAAuB,4BAA4B;CACpD;AAED,oBAAY,mBAAmB;IAC7B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,aAAa,kBAAkB;IAC/B,SAAS,cAAc;CACxB;AAED,oBAAY,QAAQ;IAClB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;CACtB;AAED,oBAAY,WAAW;IACrB,MAAM,WAAW;IACjB,SAAS,cAAc;IACvB,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAMD;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAMD,MAAM,WAAW,oBAAoB;IACnC,eAAe,EAAE,WAAW,CAAC;IAC7B,aAAa,EAAE,WAAW,CAAC;IAC3B,aAAa,EAAE,WAAW,CAAC;IAC3B,WAAW,EAAE,WAAW,CAAC;CAC1B;AAMD,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,IAAI,CAAC;IACjB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAMD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,aAAa,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,QAAQ,EAAE,QAAQ,CAAC;IACnB,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,aAAa,EAAE,eAAe,GAAG,IAAI,CAAC;IACtC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAMD,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,+BAA+B;IAC/B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,IAAI,CAAC;IAChB,WAAW,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,EAAE,CAAC;CAC7B;AAMD,MAAM,MAAM,iBAAiB,GACzB,mBAAmB,GACnB,uBAAuB,GACvB,eAAe,GACf,eAAe,GACf,kBAAkB,GAClB,oBAAoB,GACpB,mBAAmB,GACnB,2BAA2B,CAAC;AAEhC,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CACjB;AAMD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,eAAe,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,QAAQ,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IAC1D,UAAU,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,gBAAgB,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,CAAC;IAClF,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,IAAI,CAAC;CAClB"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * Grillo Cricket — Registry Types
3
+ *
4
+ * Core type definitions for the Agent Registry. All types are designed
5
+ * to be framework-agnostic: morality (LCSH) is the Level 1 default,
6
+ * but the structures support virtue, ethics, and opex when they land.
7
+ */
8
+ // ================================================================
9
+ // Enums
10
+ // ================================================================
11
+ export var AgentCategory;
12
+ (function (AgentCategory) {
13
+ AgentCategory["CUSTOMER_FACING"] = "customer_facing";
14
+ AgentCategory["DECISION_MAKING"] = "decision_making";
15
+ AgentCategory["INTERNAL_UTILITY"] = "internal_utility";
16
+ AgentCategory["DEV_TEST"] = "dev_test";
17
+ AgentCategory["CRITICAL_INFRASTRUCTURE"] = "critical_infrastructure";
18
+ })(AgentCategory || (AgentCategory = {}));
19
+ export var CertificationStatus;
20
+ (function (CertificationStatus) {
21
+ CertificationStatus["UNCERTIFIED"] = "uncertified";
22
+ CertificationStatus["ASSESSING"] = "assessing";
23
+ CertificationStatus["CERTIFIED"] = "certified";
24
+ CertificationStatus["EXPIRED"] = "expired";
25
+ CertificationStatus["FAILED"] = "failed";
26
+ CertificationStatus["SUSPENDED"] = "suspended";
27
+ CertificationStatus["DRIFT_WARNING"] = "drift_warning";
28
+ CertificationStatus["PROBATION"] = "probation";
29
+ })(CertificationStatus || (CertificationStatus = {}));
30
+ export var RiskTier;
31
+ (function (RiskTier) {
32
+ RiskTier["LOW"] = "low";
33
+ RiskTier["MEDIUM"] = "medium";
34
+ RiskTier["HIGH"] = "high";
35
+ RiskTier["CRITICAL"] = "critical";
36
+ })(RiskTier || (RiskTier = {}));
37
+ export var LevelStatus;
38
+ (function (LevelStatus) {
39
+ LevelStatus["LOCKED"] = "locked";
40
+ LevelStatus["AVAILABLE"] = "available";
41
+ LevelStatus["PASSED"] = "passed";
42
+ LevelStatus["FAILED"] = "failed";
43
+ })(LevelStatus || (LevelStatus = {}));
44
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,mEAAmE;AACnE,QAAQ;AACR,mEAAmE;AAEnE,MAAM,CAAN,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,oDAAmC,CAAA;IACnC,oDAAmC,CAAA;IACnC,sDAAqC,CAAA;IACrC,sCAAqB,CAAA;IACrB,oEAAmD,CAAA;AACrD,CAAC,EANW,aAAa,KAAb,aAAa,QAMxB;AAED,MAAM,CAAN,IAAY,mBASX;AATD,WAAY,mBAAmB;IAC7B,kDAA2B,CAAA;IAC3B,8CAAuB,CAAA;IACvB,8CAAuB,CAAA;IACvB,0CAAmB,CAAA;IACnB,wCAAiB,CAAA;IACjB,8CAAuB,CAAA;IACvB,sDAA+B,CAAA;IAC/B,8CAAuB,CAAA;AACzB,CAAC,EATW,mBAAmB,KAAnB,mBAAmB,QAS9B;AAED,MAAM,CAAN,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,iCAAqB,CAAA;AACvB,CAAC,EALW,QAAQ,KAAR,QAAQ,QAKnB;AAED,MAAM,CAAN,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;AACnB,CAAC,EALW,WAAW,KAAX,WAAW,QAKtB"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Grillo Cricket — Compliance Report Generator
3
+ *
4
+ * Generates fleet compliance reports in multiple formats:
5
+ * - Markdown (human-readable)
6
+ * - JSON (machine-readable)
7
+ * - CSV (spreadsheet import)
8
+ */
9
+ import type { AgentRegistry, RegistrySummary } from "../registry/agent-registry.js";
10
+ import type { AuditLog, AuditEntry } from "../audit/audit-log.js";
11
+ import type { GrilloConfig } from "../config/schema.js";
12
+ export type ReportFormat = "markdown" | "json" | "csv";
13
+ export type ReportPeriod = "24h" | "7d" | "30d" | "90d" | "all";
14
+ export interface ReportOptions {
15
+ format?: ReportFormat;
16
+ period?: ReportPeriod;
17
+ includeHistory?: boolean;
18
+ includeAudit?: boolean;
19
+ }
20
+ export interface ComplianceReportData {
21
+ generatedAt: string;
22
+ period: {
23
+ start: string;
24
+ end: string;
25
+ };
26
+ summary: RegistrySummary;
27
+ agents: AgentReportEntry[];
28
+ auditEntries?: AuditEntry[];
29
+ config: {
30
+ frequency: string;
31
+ defaultFramework: string;
32
+ parallelAssessments: number;
33
+ };
34
+ }
35
+ export interface AgentReportEntry {
36
+ agentId: string;
37
+ agentName: string;
38
+ model: string;
39
+ provider: string;
40
+ category: string;
41
+ riskTier: string;
42
+ certificationStatus: string;
43
+ lastAssessedAt: string | null;
44
+ lastClassification: string | null;
45
+ lastScores: Record<string, number> | null;
46
+ assessmentCount: number;
47
+ passRate: string;
48
+ }
49
+ export declare class ComplianceReportGenerator {
50
+ private readonly registry;
51
+ private readonly auditLog;
52
+ private readonly config;
53
+ constructor(params: {
54
+ registry: AgentRegistry;
55
+ auditLog?: AuditLog;
56
+ config: GrilloConfig;
57
+ });
58
+ /**
59
+ * Generate a compliance report.
60
+ */
61
+ generate(options?: ReportOptions): string;
62
+ private buildReportData;
63
+ private toMarkdown;
64
+ private toCSV;
65
+ }
66
+ //# sourceMappingURL=compliance-report.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance-report.d.ts","sourceRoot":"","sources":["../../src/reports/compliance-report.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAOxD,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAEhE,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,gBAAgB,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,MAAM,EAAE;QACN,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,MAAM,EAAE;QAClB,QAAQ,EAAE,aAAa,CAAC;QACxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;QACpB,MAAM,EAAE,YAAY,CAAC;KACtB;IAMD;;OAEG;IACH,QAAQ,CAAC,OAAO,GAAE,aAAkB,GAAG,MAAM;IAqB7C,OAAO,CAAC,eAAe;IA+DvB,OAAO,CAAC,UAAU;IAsFlB,OAAO,CAAC,KAAK;CAmCd"}
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Grillo Cricket — Compliance Report Generator
3
+ *
4
+ * Generates fleet compliance reports in multiple formats:
5
+ * - Markdown (human-readable)
6
+ * - JSON (machine-readable)
7
+ * - CSV (spreadsheet import)
8
+ */
9
+ // ================================================================
10
+ // Report Generator
11
+ // ================================================================
12
+ export class ComplianceReportGenerator {
13
+ registry;
14
+ auditLog;
15
+ config;
16
+ constructor(params) {
17
+ this.registry = params.registry;
18
+ this.auditLog = params.auditLog ?? null;
19
+ this.config = params.config;
20
+ }
21
+ /**
22
+ * Generate a compliance report.
23
+ */
24
+ generate(options = {}) {
25
+ const format = options.format ?? "markdown";
26
+ const period = options.period ?? "30d";
27
+ const data = this.buildReportData(period, options);
28
+ switch (format) {
29
+ case "json":
30
+ return JSON.stringify(data, null, 2);
31
+ case "csv":
32
+ return this.toCSV(data);
33
+ case "markdown":
34
+ default:
35
+ return this.toMarkdown(data);
36
+ }
37
+ }
38
+ // ============================================================
39
+ // Data Builder
40
+ // ============================================================
41
+ buildReportData(period, options) {
42
+ const now = new Date();
43
+ const start = periodStart(period, now);
44
+ const agents = this.registry.all();
45
+ const summary = this.registry.summary();
46
+ const agentEntries = agents.map((a) => {
47
+ const historyInPeriod = a.certificationHistory.filter((c) => c.assessedAt.getTime() >= start.getTime());
48
+ const lastCert = a.certificationHistory[a.certificationHistory.length - 1] ?? null;
49
+ const passCount = historyInPeriod.filter((c) => c.passed).length;
50
+ return {
51
+ agentId: a.agentId,
52
+ agentName: a.agentName,
53
+ model: a.model,
54
+ provider: a.provider,
55
+ category: a.category,
56
+ riskTier: a.riskTier,
57
+ certificationStatus: a.certificationStatus,
58
+ lastAssessedAt: a.lastAssessedAt?.toISOString() ?? null,
59
+ lastClassification: lastCert?.classification ?? null,
60
+ lastScores: lastCert?.scores ?? null,
61
+ assessmentCount: historyInPeriod.length,
62
+ passRate: historyInPeriod.length > 0
63
+ ? `${((passCount / historyInPeriod.length) * 100).toFixed(0)}%`
64
+ : "N/A",
65
+ };
66
+ });
67
+ const data = {
68
+ generatedAt: now.toISOString(),
69
+ period: {
70
+ start: start.toISOString(),
71
+ end: now.toISOString(),
72
+ },
73
+ summary,
74
+ agents: agentEntries,
75
+ config: {
76
+ frequency: this.config.assessment.frequency,
77
+ defaultFramework: this.config.assessment.defaultFramework,
78
+ parallelAssessments: this.config.assessment.parallelAssessments,
79
+ },
80
+ };
81
+ if (options.includeAudit && this.auditLog) {
82
+ data.auditEntries = this.auditLog.between(start, now);
83
+ }
84
+ return data;
85
+ }
86
+ // ============================================================
87
+ // Markdown Formatter
88
+ // ============================================================
89
+ toMarkdown(data) {
90
+ const lines = [
91
+ `# ${this.config.whiteLabel?.productName ?? "Grillo Cricket"} — Fleet Compliance Report`,
92
+ "",
93
+ `**Generated:** ${data.generatedAt}`,
94
+ `**Period:** ${data.period.start.slice(0, 10)} to ${data.period.end.slice(0, 10)}`,
95
+ "",
96
+ "## Fleet Summary",
97
+ "",
98
+ "| Metric | Value |",
99
+ "|--------|-------|",
100
+ `| Total Agents | ${data.summary.total} |`,
101
+ `| Certified | ${data.summary.certified} |`,
102
+ `| Failed | ${data.summary.failed} |`,
103
+ `| Uncertified | ${data.summary.uncertified} |`,
104
+ `| Assessing | ${data.summary.assessing} |`,
105
+ `| Expired | ${data.summary.expired} |`,
106
+ `| Drift Warning | ${data.summary.driftWarning} |`,
107
+ "",
108
+ ];
109
+ // Compliance rate
110
+ const complianceRate = data.summary.total > 0
111
+ ? ((data.summary.certified / data.summary.total) *
112
+ 100).toFixed(1)
113
+ : "0.0";
114
+ lines.push(`**Fleet Compliance Rate:** ${complianceRate}%`);
115
+ lines.push("");
116
+ // Agent details
117
+ lines.push("## Agent Details");
118
+ lines.push("");
119
+ lines.push("| Agent | Model | Category | Status | Last Assessed | Classification | Pass Rate |");
120
+ lines.push("|-------|-------|----------|--------|---------------|----------------|-----------|");
121
+ for (const a of data.agents) {
122
+ lines.push(`| ${a.agentName} | ${a.model} | ${a.category} | ${a.certificationStatus} | ${a.lastAssessedAt?.slice(0, 10) ?? "Never"} | ${a.lastClassification ?? "N/A"} | ${a.passRate} |`);
123
+ }
124
+ // Configuration
125
+ lines.push("");
126
+ lines.push("## Assessment Configuration");
127
+ lines.push("");
128
+ lines.push(`- **Frequency:** ${data.config.frequency}`);
129
+ lines.push(`- **Default Framework:** ${data.config.defaultFramework}`);
130
+ lines.push(`- **Parallel Assessments:** ${data.config.parallelAssessments}`);
131
+ // Audit trail
132
+ if (data.auditEntries && data.auditEntries.length > 0) {
133
+ lines.push("");
134
+ lines.push("## Audit Trail");
135
+ lines.push("");
136
+ lines.push("| # | Timestamp | Action | Actor | Agent | Description |");
137
+ lines.push("|---|-----------|--------|-------|-------|-------------|");
138
+ for (const e of data.auditEntries.slice(-50)) {
139
+ lines.push(`| ${e.sequence} | ${e.timestamp.slice(0, 19)} | ${e.action} | ${e.actor} | ${e.agentId ?? "—"} | ${e.description} |`);
140
+ }
141
+ }
142
+ lines.push("");
143
+ lines.push("---");
144
+ lines.push(`_${this.config.whiteLabel?.reportFooter ?? "Report generated by Grillo Cricket — The Conscience for AI"}_`);
145
+ return lines.join("\n");
146
+ }
147
+ // ============================================================
148
+ // CSV Formatter
149
+ // ============================================================
150
+ toCSV(data) {
151
+ const headers = [
152
+ "Agent ID",
153
+ "Agent Name",
154
+ "Model",
155
+ "Provider",
156
+ "Category",
157
+ "Risk Tier",
158
+ "Status",
159
+ "Last Assessed",
160
+ "Classification",
161
+ "Assessments",
162
+ "Pass Rate",
163
+ ];
164
+ const rows = data.agents.map((a) => [
165
+ a.agentId,
166
+ a.agentName,
167
+ a.model,
168
+ a.provider,
169
+ a.category,
170
+ a.riskTier,
171
+ a.certificationStatus,
172
+ a.lastAssessedAt ?? "",
173
+ a.lastClassification ?? "",
174
+ String(a.assessmentCount),
175
+ a.passRate,
176
+ ]
177
+ .map(csvEscape)
178
+ .join(","));
179
+ return [headers.join(","), ...rows].join("\n");
180
+ }
181
+ }
182
+ // ================================================================
183
+ // Helpers
184
+ // ================================================================
185
+ function periodStart(period, now) {
186
+ const ms = now.getTime();
187
+ switch (period) {
188
+ case "24h":
189
+ return new Date(ms - 24 * 60 * 60 * 1000);
190
+ case "7d":
191
+ return new Date(ms - 7 * 24 * 60 * 60 * 1000);
192
+ case "30d":
193
+ return new Date(ms - 30 * 24 * 60 * 60 * 1000);
194
+ case "90d":
195
+ return new Date(ms - 90 * 24 * 60 * 60 * 1000);
196
+ case "all":
197
+ return new Date(0);
198
+ default:
199
+ return new Date(ms - 30 * 24 * 60 * 60 * 1000);
200
+ }
201
+ }
202
+ function csvEscape(value) {
203
+ if (value.includes(",") || value.includes('"') || value.includes("\n")) {
204
+ return `"${value.replace(/"/g, '""')}"`;
205
+ }
206
+ return value;
207
+ }
208
+ //# sourceMappingURL=compliance-report.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compliance-report.js","sourceRoot":"","sources":["../../src/reports/compliance-report.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,67 @@
1
+ {
2
+ "name": "@aiassesstech/grillo",
3
+ "version": "0.1.0",
4
+ "description": "Grillo Cricket — The Conscience for AI. Independent assessment coordinator agent for multi-agent OpenClaw deployments.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "bin": {
9
+ "grillo": "dist/cli/bin.js"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "README.md",
14
+ "LICENSE",
15
+ "CHANGELOG.md",
16
+ "SKILL.md"
17
+ ],
18
+ "scripts": {
19
+ "build": "tsc",
20
+ "dev": "tsc --watch",
21
+ "test": "vitest run",
22
+ "test:watch": "vitest",
23
+ "test:coverage": "vitest run --coverage",
24
+ "typecheck": "tsc --noEmit",
25
+ "lint": "tsc --noEmit",
26
+ "prepublishOnly": "npm run typecheck && npm run test && npm run build"
27
+ },
28
+ "keywords": [
29
+ "grillo",
30
+ "grillo-cricket",
31
+ "ai-conscience",
32
+ "ai-assessment",
33
+ "ai-ethics",
34
+ "fleet-management",
35
+ "certification",
36
+ "drift-detection",
37
+ "openclaw",
38
+ "ai-safety",
39
+ "4d-framework"
40
+ ],
41
+ "author": "GiDanc AI LLC",
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/spar65/compsi.git",
46
+ "directory": "packages/grillo"
47
+ },
48
+ "homepage": "https://www.aiassesstech.com/grillo",
49
+ "bugs": {
50
+ "url": "https://github.com/spar65/compsi/issues"
51
+ },
52
+ "dependencies": {
53
+ "@aiassesstech/sdk": "^0.7.2",
54
+ "zod": "^3.22.0"
55
+ },
56
+ "devDependencies": {
57
+ "@types/node": "^20.0.0",
58
+ "typescript": "^5.3.3",
59
+ "vitest": "^1.2.0"
60
+ },
61
+ "engines": {
62
+ "node": ">=18.0.0"
63
+ },
64
+ "publishConfig": {
65
+ "access": "public"
66
+ }
67
+ }