agentic-qe 1.8.3 → 1.9.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 (290) hide show
  1. package/.claude/skills/agentic-jujutsu/SKILL.md +645 -0
  2. package/.claude/skills/cicd-pipeline-qe-orchestrator/README.md +2 -2
  3. package/.claude/skills/cicd-pipeline-qe-orchestrator/SKILL.md +6 -6
  4. package/CHANGELOG.md +595 -0
  5. package/README.md +117 -16
  6. package/config/constitution.schema.json +423 -0
  7. package/config/otel-collector.yaml +234 -0
  8. package/dist/App.d.ts +5 -0
  9. package/dist/App.d.ts.map +1 -0
  10. package/dist/App.js +15 -0
  11. package/dist/App.js.map +1 -0
  12. package/dist/cli/commands/constitution.d.ts +34 -0
  13. package/dist/cli/commands/constitution.d.ts.map +1 -0
  14. package/dist/cli/commands/constitution.js +679 -0
  15. package/dist/cli/commands/constitution.js.map +1 -0
  16. package/dist/cli/commands/init-claude-md-template.js +3 -3
  17. package/dist/cli/commands/init.d.ts +8 -75
  18. package/dist/cli/commands/init.d.ts.map +1 -1
  19. package/dist/cli/commands/init.js +22 -2292
  20. package/dist/cli/commands/init.js.map +1 -1
  21. package/dist/cli/commands/telemetry.d.ts +36 -0
  22. package/dist/cli/commands/telemetry.d.ts.map +1 -0
  23. package/dist/cli/commands/telemetry.js +364 -0
  24. package/dist/cli/commands/telemetry.js.map +1 -0
  25. package/dist/cli/index.js +66 -0
  26. package/dist/cli/index.js.map +1 -1
  27. package/dist/cli/init/agents.d.ts +22 -0
  28. package/dist/cli/init/agents.d.ts.map +1 -0
  29. package/dist/cli/init/agents.js +522 -0
  30. package/dist/cli/init/agents.js.map +1 -0
  31. package/dist/cli/init/bash-wrapper.d.ts +14 -0
  32. package/dist/cli/init/bash-wrapper.d.ts.map +1 -0
  33. package/dist/cli/init/bash-wrapper.js +47 -0
  34. package/dist/cli/init/bash-wrapper.js.map +1 -0
  35. package/dist/cli/init/claude-config.d.ts +24 -0
  36. package/dist/cli/init/claude-config.d.ts.map +1 -0
  37. package/dist/cli/init/claude-config.js +275 -0
  38. package/dist/cli/init/claude-config.js.map +1 -0
  39. package/dist/cli/init/claude-md.d.ts +19 -0
  40. package/dist/cli/init/claude-md.d.ts.map +1 -0
  41. package/dist/cli/init/claude-md.js +153 -0
  42. package/dist/cli/init/claude-md.js.map +1 -0
  43. package/dist/cli/init/commands.d.ts +6 -0
  44. package/dist/cli/init/commands.d.ts.map +1 -0
  45. package/dist/cli/init/commands.js +83 -0
  46. package/dist/cli/init/commands.js.map +1 -0
  47. package/dist/cli/init/database-init.d.ts +15 -0
  48. package/dist/cli/init/database-init.d.ts.map +1 -0
  49. package/dist/cli/init/database-init.js +203 -0
  50. package/dist/cli/init/database-init.js.map +1 -0
  51. package/dist/cli/init/directory-structure.d.ts +14 -0
  52. package/dist/cli/init/directory-structure.d.ts.map +1 -0
  53. package/dist/cli/init/directory-structure.js +107 -0
  54. package/dist/cli/init/directory-structure.js.map +1 -0
  55. package/dist/cli/init/documentation.d.ts +14 -0
  56. package/dist/cli/init/documentation.d.ts.map +1 -0
  57. package/dist/cli/init/documentation.js +195 -0
  58. package/dist/cli/init/documentation.js.map +1 -0
  59. package/dist/cli/init/fleet-config.d.ts +34 -0
  60. package/dist/cli/init/fleet-config.d.ts.map +1 -0
  61. package/dist/cli/init/fleet-config.js +269 -0
  62. package/dist/cli/init/fleet-config.js.map +1 -0
  63. package/dist/cli/init/helpers.d.ts +6 -0
  64. package/dist/cli/init/helpers.d.ts.map +1 -0
  65. package/dist/cli/init/helpers.js +94 -0
  66. package/dist/cli/init/helpers.js.map +1 -0
  67. package/dist/cli/init/index.d.ts +32 -0
  68. package/dist/cli/init/index.d.ts.map +1 -0
  69. package/dist/cli/init/index.js +294 -0
  70. package/dist/cli/init/index.js.map +1 -0
  71. package/dist/cli/init/skills.d.ts +6 -0
  72. package/dist/cli/init/skills.d.ts.map +1 -0
  73. package/dist/cli/init/skills.js +138 -0
  74. package/dist/cli/init/skills.js.map +1 -0
  75. package/dist/cli/init/utils/file-utils.d.ts +74 -0
  76. package/dist/cli/init/utils/file-utils.d.ts.map +1 -0
  77. package/dist/cli/init/utils/file-utils.js +187 -0
  78. package/dist/cli/init/utils/file-utils.js.map +1 -0
  79. package/dist/cli/init/utils/index.d.ts +18 -0
  80. package/dist/cli/init/utils/index.d.ts.map +1 -0
  81. package/dist/cli/init/utils/index.js +48 -0
  82. package/dist/cli/init/utils/index.js.map +1 -0
  83. package/dist/cli/init/utils/log-utils.d.ts +47 -0
  84. package/dist/cli/init/utils/log-utils.d.ts.map +1 -0
  85. package/dist/cli/init/utils/log-utils.js +68 -0
  86. package/dist/cli/init/utils/log-utils.js.map +1 -0
  87. package/dist/cli/init/utils/path-utils.d.ts +91 -0
  88. package/dist/cli/init/utils/path-utils.d.ts.map +1 -0
  89. package/dist/cli/init/utils/path-utils.js +208 -0
  90. package/dist/cli/init/utils/path-utils.js.map +1 -0
  91. package/dist/cli/init/utils/validation-utils.d.ts +44 -0
  92. package/dist/cli/init/utils/validation-utils.d.ts.map +1 -0
  93. package/dist/cli/init/utils/validation-utils.js +68 -0
  94. package/dist/cli/init/utils/validation-utils.js.map +1 -0
  95. package/dist/cli/init/utils.d.ts +183 -0
  96. package/dist/cli/init/utils.d.ts.map +1 -0
  97. package/dist/cli/init/utils.js +354 -0
  98. package/dist/cli/init/utils.js.map +1 -0
  99. package/dist/components/Dashboard/Dashboard.d.ts +4 -0
  100. package/dist/components/Dashboard/Dashboard.d.ts.map +1 -0
  101. package/dist/components/Dashboard/Dashboard.js +148 -0
  102. package/dist/components/Dashboard/Dashboard.js.map +1 -0
  103. package/dist/components/Dashboard/DashboardHeader.d.ts +4 -0
  104. package/dist/components/Dashboard/DashboardHeader.d.ts.map +1 -0
  105. package/dist/components/Dashboard/DashboardHeader.js +138 -0
  106. package/dist/components/Dashboard/DashboardHeader.js.map +1 -0
  107. package/dist/constitution/evaluators/ast-evaluator.d.ts +42 -0
  108. package/dist/constitution/evaluators/ast-evaluator.d.ts.map +1 -0
  109. package/dist/constitution/evaluators/ast-evaluator.js +303 -0
  110. package/dist/constitution/evaluators/ast-evaluator.js.map +1 -0
  111. package/dist/constitution/evaluators/base.d.ts +144 -0
  112. package/dist/constitution/evaluators/base.d.ts.map +1 -0
  113. package/dist/constitution/evaluators/base.js +144 -0
  114. package/dist/constitution/evaluators/base.js.map +1 -0
  115. package/dist/constitution/evaluators/index.d.ts +19 -0
  116. package/dist/constitution/evaluators/index.d.ts.map +1 -0
  117. package/dist/constitution/evaluators/index.js +56 -0
  118. package/dist/constitution/evaluators/index.js.map +1 -0
  119. package/dist/constitution/evaluators/metric-evaluator.d.ts +59 -0
  120. package/dist/constitution/evaluators/metric-evaluator.d.ts.map +1 -0
  121. package/dist/constitution/evaluators/metric-evaluator.js +195 -0
  122. package/dist/constitution/evaluators/metric-evaluator.js.map +1 -0
  123. package/dist/constitution/evaluators/pattern-evaluator.d.ts +66 -0
  124. package/dist/constitution/evaluators/pattern-evaluator.d.ts.map +1 -0
  125. package/dist/constitution/evaluators/pattern-evaluator.js +221 -0
  126. package/dist/constitution/evaluators/pattern-evaluator.js.map +1 -0
  127. package/dist/constitution/evaluators/semantic-evaluator.d.ts +68 -0
  128. package/dist/constitution/evaluators/semantic-evaluator.d.ts.map +1 -0
  129. package/dist/constitution/evaluators/semantic-evaluator.js +250 -0
  130. package/dist/constitution/evaluators/semantic-evaluator.js.map +1 -0
  131. package/dist/constitution/index.d.ts +105 -0
  132. package/dist/constitution/index.d.ts.map +1 -0
  133. package/dist/constitution/index.js +207 -0
  134. package/dist/constitution/index.js.map +1 -0
  135. package/dist/constitution/loader.d.ts +141 -0
  136. package/dist/constitution/loader.d.ts.map +1 -0
  137. package/dist/constitution/loader.js +515 -0
  138. package/dist/constitution/loader.js.map +1 -0
  139. package/dist/constitution/schema.d.ts +409 -0
  140. package/dist/constitution/schema.d.ts.map +1 -0
  141. package/dist/constitution/schema.js +71 -0
  142. package/dist/constitution/schema.js.map +1 -0
  143. package/dist/contexts/DashboardContext.d.ts +41 -0
  144. package/dist/contexts/DashboardContext.d.ts.map +1 -0
  145. package/dist/contexts/DashboardContext.js +187 -0
  146. package/dist/contexts/DashboardContext.js.map +1 -0
  147. package/dist/core/memory/MemoryManagerFactory.d.ts +77 -0
  148. package/dist/core/memory/MemoryManagerFactory.d.ts.map +1 -0
  149. package/dist/core/memory/MemoryManagerFactory.js +270 -0
  150. package/dist/core/memory/MemoryManagerFactory.js.map +1 -0
  151. package/dist/core/memory/SwarmMemoryManager.d.ts +58 -0
  152. package/dist/core/memory/SwarmMemoryManager.d.ts.map +1 -1
  153. package/dist/core/memory/SwarmMemoryManager.js +375 -131
  154. package/dist/core/memory/SwarmMemoryManager.js.map +1 -1
  155. package/dist/core/memory/index.d.ts +1 -0
  156. package/dist/core/memory/index.d.ts.map +1 -1
  157. package/dist/core/memory/index.js +12 -1
  158. package/dist/core/memory/index.js.map +1 -1
  159. package/dist/hooks/useKeyboardShortcuts.d.ts +12 -0
  160. package/dist/hooks/useKeyboardShortcuts.d.ts.map +1 -0
  161. package/dist/hooks/useKeyboardShortcuts.js +69 -0
  162. package/dist/hooks/useKeyboardShortcuts.js.map +1 -0
  163. package/dist/mcp/handlers/memory/memory-backup.js +6 -6
  164. package/dist/mcp/handlers/memory/memory-backup.js.map +1 -1
  165. package/dist/mcp/handlers/phase2/Phase2Tools.d.ts.map +1 -1
  166. package/dist/mcp/handlers/phase2/Phase2Tools.js +4 -2
  167. package/dist/mcp/handlers/phase2/Phase2Tools.js.map +1 -1
  168. package/dist/mcp/server.d.ts.map +1 -1
  169. package/dist/mcp/server.js +4 -38
  170. package/dist/mcp/server.js.map +1 -1
  171. package/dist/mcp/services/AgentRegistry.d.ts.map +1 -1
  172. package/dist/mcp/services/AgentRegistry.js +4 -4
  173. package/dist/mcp/services/AgentRegistry.js.map +1 -1
  174. package/dist/persistence/event-store.d.ts +162 -0
  175. package/dist/persistence/event-store.d.ts.map +1 -0
  176. package/dist/persistence/event-store.js +315 -0
  177. package/dist/persistence/event-store.js.map +1 -0
  178. package/dist/persistence/index.d.ts +145 -0
  179. package/dist/persistence/index.d.ts.map +1 -0
  180. package/dist/persistence/index.js +227 -0
  181. package/dist/persistence/index.js.map +1 -0
  182. package/dist/persistence/metrics-aggregator.d.ts +187 -0
  183. package/dist/persistence/metrics-aggregator.d.ts.map +1 -0
  184. package/dist/persistence/metrics-aggregator.js +495 -0
  185. package/dist/persistence/metrics-aggregator.js.map +1 -0
  186. package/dist/persistence/reasoning-store.d.ts +178 -0
  187. package/dist/persistence/reasoning-store.d.ts.map +1 -0
  188. package/dist/persistence/reasoning-store.js +440 -0
  189. package/dist/persistence/reasoning-store.js.map +1 -0
  190. package/dist/persistence/schema.d.ts +181 -0
  191. package/dist/persistence/schema.d.ts.map +1 -0
  192. package/dist/persistence/schema.js +186 -0
  193. package/dist/persistence/schema.js.map +1 -0
  194. package/dist/telemetry/bootstrap.d.ts +67 -0
  195. package/dist/telemetry/bootstrap.d.ts.map +1 -0
  196. package/dist/telemetry/bootstrap.js +320 -0
  197. package/dist/telemetry/bootstrap.js.map +1 -0
  198. package/dist/telemetry/index.d.ts +16 -0
  199. package/dist/telemetry/index.d.ts.map +1 -0
  200. package/dist/telemetry/index.js +84 -0
  201. package/dist/telemetry/index.js.map +1 -0
  202. package/dist/telemetry/instrumentation/agent.d.ts +158 -0
  203. package/dist/telemetry/instrumentation/agent.d.ts.map +1 -0
  204. package/dist/telemetry/instrumentation/agent.js +372 -0
  205. package/dist/telemetry/instrumentation/agent.js.map +1 -0
  206. package/dist/telemetry/instrumentation/index.d.ts +24 -0
  207. package/dist/telemetry/instrumentation/index.d.ts.map +1 -0
  208. package/dist/telemetry/instrumentation/index.js +54 -0
  209. package/dist/telemetry/instrumentation/index.js.map +1 -0
  210. package/dist/telemetry/instrumentation/memory.d.ts +313 -0
  211. package/dist/telemetry/instrumentation/memory.d.ts.map +1 -0
  212. package/dist/telemetry/instrumentation/memory.js +552 -0
  213. package/dist/telemetry/instrumentation/memory.js.map +1 -0
  214. package/dist/telemetry/instrumentation/task.d.ts +146 -0
  215. package/dist/telemetry/instrumentation/task.d.ts.map +1 -0
  216. package/dist/telemetry/instrumentation/task.js +305 -0
  217. package/dist/telemetry/instrumentation/task.js.map +1 -0
  218. package/dist/telemetry/metrics/agent-metrics.d.ts +109 -0
  219. package/dist/telemetry/metrics/agent-metrics.d.ts.map +1 -0
  220. package/dist/telemetry/metrics/agent-metrics.js +213 -0
  221. package/dist/telemetry/metrics/agent-metrics.js.map +1 -0
  222. package/dist/telemetry/metrics/collectors/cost.d.ts +246 -0
  223. package/dist/telemetry/metrics/collectors/cost.d.ts.map +1 -0
  224. package/dist/telemetry/metrics/collectors/cost.js +526 -0
  225. package/dist/telemetry/metrics/collectors/cost.js.map +1 -0
  226. package/dist/telemetry/metrics/collectors/pricing-config.d.ts +87 -0
  227. package/dist/telemetry/metrics/collectors/pricing-config.d.ts.map +1 -0
  228. package/dist/telemetry/metrics/collectors/pricing-config.js +207 -0
  229. package/dist/telemetry/metrics/collectors/pricing-config.js.map +1 -0
  230. package/dist/telemetry/metrics/index.d.ts +54 -0
  231. package/dist/telemetry/metrics/index.d.ts.map +1 -0
  232. package/dist/telemetry/metrics/index.js +116 -0
  233. package/dist/telemetry/metrics/index.js.map +1 -0
  234. package/dist/telemetry/metrics/quality-metrics.d.ts +171 -0
  235. package/dist/telemetry/metrics/quality-metrics.d.ts.map +1 -0
  236. package/dist/telemetry/metrics/quality-metrics.js +259 -0
  237. package/dist/telemetry/metrics/quality-metrics.js.map +1 -0
  238. package/dist/telemetry/metrics/system-metrics.d.ts +129 -0
  239. package/dist/telemetry/metrics/system-metrics.d.ts.map +1 -0
  240. package/dist/telemetry/metrics/system-metrics.js +380 -0
  241. package/dist/telemetry/metrics/system-metrics.js.map +1 -0
  242. package/dist/telemetry/types.d.ts +195 -0
  243. package/dist/telemetry/types.d.ts.map +1 -0
  244. package/dist/telemetry/types.js +90 -0
  245. package/dist/telemetry/types.js.map +1 -0
  246. package/dist/visualization/api/RestEndpoints.d.ts +136 -0
  247. package/dist/visualization/api/RestEndpoints.d.ts.map +1 -0
  248. package/dist/visualization/api/RestEndpoints.js +428 -0
  249. package/dist/visualization/api/RestEndpoints.js.map +1 -0
  250. package/dist/visualization/api/WebSocketServer.d.ts +165 -0
  251. package/dist/visualization/api/WebSocketServer.d.ts.map +1 -0
  252. package/dist/visualization/api/WebSocketServer.js +518 -0
  253. package/dist/visualization/api/WebSocketServer.js.map +1 -0
  254. package/dist/visualization/core/DataTransformer.d.ts +89 -0
  255. package/dist/visualization/core/DataTransformer.d.ts.map +1 -0
  256. package/dist/visualization/core/DataTransformer.js +478 -0
  257. package/dist/visualization/core/DataTransformer.js.map +1 -0
  258. package/dist/visualization/index.d.ts +92 -0
  259. package/dist/visualization/index.d.ts.map +1 -0
  260. package/dist/visualization/index.js +121 -0
  261. package/dist/visualization/index.js.map +1 -0
  262. package/dist/visualization/types.d.ts +148 -0
  263. package/dist/visualization/types.d.ts.map +1 -0
  264. package/dist/visualization/types.js +7 -0
  265. package/dist/visualization/types.js.map +1 -0
  266. package/dist/voting/consensus.d.ts +87 -0
  267. package/dist/voting/consensus.d.ts.map +1 -0
  268. package/dist/voting/consensus.js +568 -0
  269. package/dist/voting/consensus.js.map +1 -0
  270. package/dist/voting/index.d.ts +12 -0
  271. package/dist/voting/index.d.ts.map +1 -0
  272. package/dist/voting/index.js +36 -0
  273. package/dist/voting/index.js.map +1 -0
  274. package/dist/voting/orchestrator.d.ts +65 -0
  275. package/dist/voting/orchestrator.d.ts.map +1 -0
  276. package/dist/voting/orchestrator.js +306 -0
  277. package/dist/voting/orchestrator.js.map +1 -0
  278. package/dist/voting/panel-assembly.d.ts +54 -0
  279. package/dist/voting/panel-assembly.d.ts.map +1 -0
  280. package/dist/voting/panel-assembly.js +192 -0
  281. package/dist/voting/panel-assembly.js.map +1 -0
  282. package/dist/voting/protocol.d.ts +119 -0
  283. package/dist/voting/protocol.d.ts.map +1 -0
  284. package/dist/voting/protocol.js +18 -0
  285. package/dist/voting/protocol.js.map +1 -0
  286. package/dist/voting/types.d.ts +125 -0
  287. package/dist/voting/types.d.ts.map +1 -0
  288. package/dist/voting/types.js +7 -0
  289. package/dist/voting/types.js.map +1 -0
  290. package/package.json +43 -2
@@ -0,0 +1,409 @@
1
+ /**
2
+ * Constitution Schema - TypeScript Type Definitions
3
+ *
4
+ * Defines the structure for quality evaluation constitutions that govern
5
+ * agent behavior and quality criteria in the Agentic QE Fleet.
6
+ *
7
+ * @module constitution/schema
8
+ * @version 1.0.0
9
+ */
10
+ /**
11
+ * Priority levels for principles and rules
12
+ */
13
+ export type PriorityLevel = 'critical' | 'high' | 'medium' | 'low';
14
+ /**
15
+ * Severity levels for rule violations
16
+ */
17
+ export type SeverityLevel = 'error' | 'warning' | 'info';
18
+ /**
19
+ * Aggregation methods for metrics
20
+ */
21
+ export type AggregationType = 'sum' | 'avg' | 'min' | 'max' | 'count' | 'percentile';
22
+ /**
23
+ * Condition operators for rule evaluation
24
+ */
25
+ export type ConditionOperator = 'equals' | 'not_equals' | 'greater_than' | 'less_than' | 'greater_than_or_equal' | 'less_than_or_equal' | 'contains' | 'not_contains' | 'matches' | 'in' | 'not_in' | 'exists' | 'not_exists';
26
+ /**
27
+ * Action types when rules are triggered
28
+ */
29
+ export type ActionType = 'fail' | 'warn' | 'notify' | 'log' | 'block' | 'require_review' | 'auto_fix' | 'escalate';
30
+ /**
31
+ * Threshold comparison modes
32
+ */
33
+ export type ThresholdMode = 'absolute' | 'percentage' | 'relative';
34
+ /**
35
+ * Constitution status
36
+ */
37
+ export type ConstitutionStatus = 'active' | 'deprecated' | 'draft' | 'archived';
38
+ /**
39
+ * Principle definition within a constitution
40
+ * Represents a core quality principle that guides evaluation
41
+ */
42
+ export interface Principle {
43
+ /** Unique identifier for the principle */
44
+ id: string;
45
+ /** Human-readable name */
46
+ name: string;
47
+ /** Detailed description of the principle */
48
+ description: string;
49
+ /** Priority level for this principle */
50
+ priority: PriorityLevel;
51
+ /** Category grouping for the principle */
52
+ category: string;
53
+ /** Optional tags for filtering and search */
54
+ tags?: string[];
55
+ /** Whether this principle is mandatory */
56
+ mandatory?: boolean;
57
+ /** Related principle IDs */
58
+ relatedPrinciples?: string[];
59
+ }
60
+ /**
61
+ * Condition for rule evaluation
62
+ */
63
+ export interface RuleCondition {
64
+ /** The field or metric to evaluate */
65
+ field: string;
66
+ /** Comparison operator */
67
+ operator: ConditionOperator;
68
+ /** Value to compare against */
69
+ value: string | number | boolean | string[] | number[];
70
+ /** Optional unit for the value */
71
+ unit?: string;
72
+ /** Nested conditions for complex logic */
73
+ and?: RuleCondition[];
74
+ /** Alternative conditions */
75
+ or?: RuleCondition[];
76
+ }
77
+ /**
78
+ * Action to take when a rule is triggered
79
+ */
80
+ export interface RuleAction {
81
+ /** Type of action to perform */
82
+ type: ActionType;
83
+ /** Message to display or log */
84
+ message: string;
85
+ /** Additional parameters for the action */
86
+ params?: Record<string, unknown>;
87
+ /** Whether to halt further processing */
88
+ stopProcessing?: boolean;
89
+ /** Notification targets */
90
+ notify?: string[];
91
+ }
92
+ /**
93
+ * Rule definition linking principles to conditions and actions
94
+ */
95
+ export interface Rule {
96
+ /** Unique identifier for the rule */
97
+ id: string;
98
+ /** Human-readable name */
99
+ name?: string;
100
+ /** Reference to the principle this rule enforces */
101
+ principleId: string;
102
+ /** Condition that triggers the rule */
103
+ condition: RuleCondition;
104
+ /** Action to take when condition is met */
105
+ action: RuleAction;
106
+ /** Severity of rule violation */
107
+ severity: SeverityLevel;
108
+ /** Whether this rule is enabled */
109
+ enabled?: boolean;
110
+ /** Description of what this rule checks */
111
+ description?: string;
112
+ /** Remediation guidance when rule is violated */
113
+ remediation?: string;
114
+ /** Example of compliant code/configuration */
115
+ examples?: string[];
116
+ }
117
+ /**
118
+ * Metric definition for quality measurement
119
+ */
120
+ export interface MetricDefinition {
121
+ /** Unique identifier for the metric */
122
+ id: string;
123
+ /** Human-readable name */
124
+ name: string;
125
+ /** Description of what this metric measures */
126
+ description?: string;
127
+ /** Unit of measurement */
128
+ unit: string;
129
+ /** How to aggregate multiple values */
130
+ aggregation: AggregationType;
131
+ /** Target value to achieve */
132
+ targetValue?: number;
133
+ /** Value that triggers a warning */
134
+ warningThreshold?: number;
135
+ /** Value that triggers a critical alert */
136
+ criticalThreshold?: number;
137
+ /** Data type of the metric value */
138
+ dataType?: 'number' | 'percentage' | 'duration' | 'count' | 'ratio';
139
+ /** Whether higher values are better */
140
+ higherIsBetter?: boolean;
141
+ /** Formula for computed metrics */
142
+ formula?: string;
143
+ /** Dependencies on other metrics */
144
+ dependencies?: string[];
145
+ /** Percentile for percentile-based metrics */
146
+ percentile?: number;
147
+ }
148
+ /**
149
+ * Threshold definition for quality gates
150
+ */
151
+ export interface Threshold {
152
+ /** Unique identifier for the threshold */
153
+ id: string;
154
+ /** Reference to the metric this threshold applies to */
155
+ metricId: string;
156
+ /** Human-readable name */
157
+ name?: string;
158
+ /** Comparison mode */
159
+ mode: ThresholdMode;
160
+ /** Warning level value */
161
+ warning: number;
162
+ /** Critical level value */
163
+ critical: number;
164
+ /** Target value to aim for */
165
+ target?: number;
166
+ /** Whether to block on threshold violation */
167
+ blocking?: boolean;
168
+ /** Time period for the threshold evaluation */
169
+ period?: string;
170
+ /** Applicable environments */
171
+ environments?: string[];
172
+ }
173
+ /**
174
+ * Metadata about the constitution
175
+ */
176
+ export interface ConstitutionMetadata {
177
+ /** When the constitution was created */
178
+ createdAt: string;
179
+ /** When the constitution was last updated */
180
+ updatedAt: string;
181
+ /** Who created or maintains the constitution */
182
+ author: string;
183
+ /** Applicable agent types */
184
+ applicableTo: string[];
185
+ /** Parent constitution to inherit from */
186
+ inheritsFrom?: string;
187
+ /** Current status of the constitution */
188
+ status: ConstitutionStatus;
189
+ /** Optional expiration date */
190
+ expiresAt?: string;
191
+ /** Changelog entries */
192
+ changelog?: ChangelogEntry[];
193
+ /** Custom properties */
194
+ customProperties?: Record<string, unknown>;
195
+ }
196
+ /**
197
+ * Changelog entry for constitution version history
198
+ */
199
+ export interface ChangelogEntry {
200
+ /** Version number */
201
+ version: string;
202
+ /** Date of change */
203
+ date: string;
204
+ /** Description of changes */
205
+ description: string;
206
+ /** Who made the change */
207
+ author?: string;
208
+ }
209
+ /**
210
+ * Complete constitution definition
211
+ */
212
+ export interface Constitution {
213
+ /** Unique identifier for the constitution */
214
+ id: string;
215
+ /** Human-readable name */
216
+ name: string;
217
+ /** Semantic version string */
218
+ version: string;
219
+ /** Description of the constitution's purpose */
220
+ description: string;
221
+ /** Core principles */
222
+ principles: Principle[];
223
+ /** Evaluation rules */
224
+ rules: Rule[];
225
+ /** Metric definitions */
226
+ metrics: MetricDefinition[];
227
+ /** Quality thresholds */
228
+ thresholds: Threshold[];
229
+ /** Constitution metadata */
230
+ metadata: ConstitutionMetadata;
231
+ }
232
+ /**
233
+ * Result of constitution validation
234
+ */
235
+ export interface ValidationResult {
236
+ /** Whether validation passed */
237
+ valid: boolean;
238
+ /** List of validation errors */
239
+ errors: ValidationError[];
240
+ /** List of validation warnings */
241
+ warnings: ValidationWarning[];
242
+ }
243
+ /**
244
+ * Validation error details
245
+ */
246
+ export interface ValidationError {
247
+ /** JSON path to the error location */
248
+ path: string;
249
+ /** Error message */
250
+ message: string;
251
+ /** Error code */
252
+ code: string;
253
+ /** Expected value or type */
254
+ expected?: string;
255
+ /** Actual value received */
256
+ actual?: string;
257
+ }
258
+ /**
259
+ * Validation warning details
260
+ */
261
+ export interface ValidationWarning {
262
+ /** JSON path to the warning location */
263
+ path: string;
264
+ /** Warning message */
265
+ message: string;
266
+ /** Warning code */
267
+ code: string;
268
+ /** Suggested improvement */
269
+ suggestion?: string;
270
+ }
271
+ /**
272
+ * Options for loading constitutions
273
+ */
274
+ export interface LoadOptions {
275
+ /** Whether to validate after loading */
276
+ validate?: boolean;
277
+ /** Whether to resolve inheritance */
278
+ resolveInheritance?: boolean;
279
+ /** Custom schema path */
280
+ schemaPath?: string;
281
+ /** Strict mode for validation */
282
+ strict?: boolean;
283
+ }
284
+ /**
285
+ * Options for merging constitutions
286
+ */
287
+ export interface MergeOptions {
288
+ /** Strategy for array merging */
289
+ arrayStrategy?: 'replace' | 'concat' | 'merge';
290
+ /** Whether to preserve base metadata */
291
+ preserveMetadata?: boolean;
292
+ /** Deep merge objects */
293
+ deepMerge?: boolean;
294
+ }
295
+ /**
296
+ * Agent type to constitution mapping
297
+ */
298
+ export interface AgentConstitutionMapping {
299
+ /** Agent type identifier */
300
+ agentType: string;
301
+ /** Primary constitution ID */
302
+ constitutionId: string;
303
+ /** Additional constitution IDs to apply */
304
+ additionalConstitutions?: string[];
305
+ /** Override settings */
306
+ overrides?: Partial<Constitution>;
307
+ }
308
+ /**
309
+ * Constitution evaluation context
310
+ */
311
+ export interface EvaluationContext {
312
+ /** Agent performing the evaluation */
313
+ agentId: string;
314
+ /** Agent type */
315
+ agentType: string;
316
+ /** Target being evaluated */
317
+ target: string;
318
+ /** Environment context */
319
+ environment: string;
320
+ /** Additional context data */
321
+ data: Record<string, unknown>;
322
+ /** Timestamp of evaluation */
323
+ timestamp: string;
324
+ }
325
+ /**
326
+ * Result of constitution evaluation
327
+ */
328
+ export interface EvaluationResult {
329
+ /** Overall pass/fail status */
330
+ passed: boolean;
331
+ /** Constitution that was evaluated */
332
+ constitutionId: string;
333
+ /** Individual rule results */
334
+ ruleResults: RuleEvaluationResult[];
335
+ /** Metric values collected */
336
+ metricValues: MetricValue[];
337
+ /** Threshold violations */
338
+ thresholdViolations: ThresholdViolation[];
339
+ /** Overall score (0-100) */
340
+ score: number;
341
+ /** Evaluation context */
342
+ context: EvaluationContext;
343
+ /** Duration of evaluation in ms */
344
+ duration: number;
345
+ }
346
+ /**
347
+ * Result of individual rule evaluation
348
+ */
349
+ export interface RuleEvaluationResult {
350
+ /** Rule ID */
351
+ ruleId: string;
352
+ /** Whether rule passed */
353
+ passed: boolean;
354
+ /** Actual value that was evaluated */
355
+ actualValue: unknown;
356
+ /** Message from the rule */
357
+ message?: string;
358
+ /** Action that was triggered */
359
+ actionTaken?: ActionType;
360
+ }
361
+ /**
362
+ * Collected metric value
363
+ */
364
+ export interface MetricValue {
365
+ /** Metric ID */
366
+ metricId: string;
367
+ /** Collected value */
368
+ value: number;
369
+ /** Unit of measurement */
370
+ unit: string;
371
+ /** Timestamp of collection */
372
+ timestamp: string;
373
+ /** Additional context */
374
+ context?: Record<string, unknown>;
375
+ }
376
+ /**
377
+ * Threshold violation details
378
+ */
379
+ export interface ThresholdViolation {
380
+ /** Threshold ID */
381
+ thresholdId: string;
382
+ /** Metric ID */
383
+ metricId: string;
384
+ /** Actual value */
385
+ actualValue: number;
386
+ /** Threshold value that was violated */
387
+ thresholdValue: number;
388
+ /** Severity level */
389
+ severity: 'warning' | 'critical';
390
+ /** Whether this is blocking */
391
+ blocking: boolean;
392
+ }
393
+ /**
394
+ * Type guard to check if an object is a valid Constitution
395
+ */
396
+ export declare function isConstitution(obj: unknown): obj is Constitution;
397
+ /**
398
+ * Type guard to check if an object is a valid Principle
399
+ */
400
+ export declare function isPrinciple(obj: unknown): obj is Principle;
401
+ /**
402
+ * Type guard to check if an object is a valid Rule
403
+ */
404
+ export declare function isRule(obj: unknown): obj is Rule;
405
+ /**
406
+ * Type guard to check if an object is a valid MetricDefinition
407
+ */
408
+ export declare function isMetricDefinition(obj: unknown): obj is MetricDefinition;
409
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/constitution/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ /**
3
+ * Constitution Schema - TypeScript Type Definitions
4
+ *
5
+ * Defines the structure for quality evaluation constitutions that govern
6
+ * agent behavior and quality criteria in the Agentic QE Fleet.
7
+ *
8
+ * @module constitution/schema
9
+ * @version 1.0.0
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.isConstitution = isConstitution;
13
+ exports.isPrinciple = isPrinciple;
14
+ exports.isRule = isRule;
15
+ exports.isMetricDefinition = isMetricDefinition;
16
+ /**
17
+ * Type guard to check if an object is a valid Constitution
18
+ */
19
+ function isConstitution(obj) {
20
+ if (!obj || typeof obj !== 'object')
21
+ return false;
22
+ const c = obj;
23
+ return (typeof c.id === 'string' &&
24
+ typeof c.name === 'string' &&
25
+ typeof c.version === 'string' &&
26
+ typeof c.description === 'string' &&
27
+ Array.isArray(c.principles) &&
28
+ Array.isArray(c.rules) &&
29
+ Array.isArray(c.metrics) &&
30
+ Array.isArray(c.thresholds) &&
31
+ c.metadata !== undefined);
32
+ }
33
+ /**
34
+ * Type guard to check if an object is a valid Principle
35
+ */
36
+ function isPrinciple(obj) {
37
+ if (!obj || typeof obj !== 'object')
38
+ return false;
39
+ const p = obj;
40
+ return (typeof p.id === 'string' &&
41
+ typeof p.name === 'string' &&
42
+ typeof p.description === 'string' &&
43
+ ['critical', 'high', 'medium', 'low'].includes(p.priority) &&
44
+ typeof p.category === 'string');
45
+ }
46
+ /**
47
+ * Type guard to check if an object is a valid Rule
48
+ */
49
+ function isRule(obj) {
50
+ if (!obj || typeof obj !== 'object')
51
+ return false;
52
+ const r = obj;
53
+ return (typeof r.id === 'string' &&
54
+ typeof r.principleId === 'string' &&
55
+ r.condition !== undefined &&
56
+ r.action !== undefined &&
57
+ ['error', 'warning', 'info'].includes(r.severity));
58
+ }
59
+ /**
60
+ * Type guard to check if an object is a valid MetricDefinition
61
+ */
62
+ function isMetricDefinition(obj) {
63
+ if (!obj || typeof obj !== 'object')
64
+ return false;
65
+ const m = obj;
66
+ return (typeof m.id === 'string' &&
67
+ typeof m.name === 'string' &&
68
+ typeof m.unit === 'string' &&
69
+ ['sum', 'avg', 'min', 'max', 'count', 'percentile'].includes(m.aggregation));
70
+ }
71
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/constitution/schema.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAobH,wCAcC;AAKD,kCAUC;AAKD,wBAUC;AAKD,gDASC;AA7DD;;GAEG;AACH,SAAgB,cAAc,CAAC,GAAY;IACzC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAA4B,CAAC;IACvC,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,OAAO,KAAK,QAAQ;QAC7B,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QACxB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC3B,CAAC,CAAC,QAAQ,KAAK,SAAS,CACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAAyB,CAAC;IACpC,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAkB,CAAC;QACpE,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAC/B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,GAAY;IACjC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAAoB,CAAC;IAC/B,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ;QACjC,CAAC,CAAC,SAAS,KAAK,SAAS;QACzB,CAAC,CAAC,MAAM,KAAK,SAAS;QACtB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAkB,CAAC,CAC5D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAgB,kBAAkB,CAAC,GAAY;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,MAAM,CAAC,GAAG,GAAgC,CAAC;IAC3C,OAAO,CACL,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ;QACxB,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ;QAC1B,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAqB,CAAC,CACtF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
1
+ import React from 'react';
2
+ import { WebSocketClient } from '../services/websocket/WebSocketClient';
3
+ export interface DashboardFilters {
4
+ sessionId: string | null;
5
+ timeRange: {
6
+ start: Date | null;
7
+ end: Date | null;
8
+ };
9
+ agents: string[];
10
+ searchTerm: string;
11
+ }
12
+ export interface Notification {
13
+ id: string;
14
+ type: 'info' | 'success' | 'warning' | 'error';
15
+ title: string;
16
+ message: string;
17
+ timestamp: Date;
18
+ read: boolean;
19
+ }
20
+ interface DashboardContextValue {
21
+ filters: DashboardFilters;
22
+ updateFilters: (filters: Partial<DashboardFilters>) => void;
23
+ resetFilters: () => void;
24
+ wsClient: WebSocketClient | null;
25
+ wsConnected: boolean;
26
+ wsError: string | null;
27
+ notifications: Notification[];
28
+ addNotification: (notification: Omit<Notification, 'id' | 'timestamp' | 'read'>) => void;
29
+ markNotificationRead: (id: string) => void;
30
+ clearNotifications: () => void;
31
+ activeView: 'overview' | 'mindmap' | 'metrics' | 'timeline';
32
+ setActiveView: (view: 'overview' | 'mindmap' | 'metrics' | 'timeline') => void;
33
+ exportData: () => void;
34
+ refreshData: () => void;
35
+ }
36
+ export declare const DashboardProvider: React.FC<{
37
+ children: React.ReactNode;
38
+ }>;
39
+ export declare const useDashboard: () => DashboardContextValue;
40
+ export {};
41
+ //# sourceMappingURL=DashboardContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DashboardContext.d.ts","sourceRoot":"","sources":["../../src/contexts/DashboardContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsE,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE;QACT,KAAK,EAAE,IAAI,GAAG,IAAI,CAAC;QACnB,GAAG,EAAE,IAAI,GAAG,IAAI,CAAC;KAClB,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,UAAU,qBAAqB;IAE7B,OAAO,EAAE,gBAAgB,CAAC;IAC1B,aAAa,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;IAC5D,YAAY,EAAE,MAAM,IAAI,CAAC;IAGzB,QAAQ,EAAE,eAAe,GAAG,IAAI,CAAC;IACjC,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvB,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,eAAe,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC;IACzF,oBAAoB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,MAAM,IAAI,CAAC;IAG/B,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAC5D,aAAa,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,KAAK,IAAI,CAAC;IAG/E,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAcD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAqJrE,CAAC;AAEF,eAAO,MAAM,YAAY,QAAO,qBAM/B,CAAC"}