mcp-cognition-engine 1.0.0-alpha.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.
Files changed (158) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +281 -0
  3. package/dist/cli.d.ts +18 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +66 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/cognition-engine/ast-constraint-solver.d.ts +67 -0
  8. package/dist/cognition-engine/ast-constraint-solver.d.ts.map +1 -0
  9. package/dist/cognition-engine/ast-constraint-solver.js +294 -0
  10. package/dist/cognition-engine/ast-constraint-solver.js.map +1 -0
  11. package/dist/cognition-engine/constraint-validator.d.ts +35 -0
  12. package/dist/cognition-engine/constraint-validator.d.ts.map +1 -0
  13. package/dist/cognition-engine/constraint-validator.js +55 -0
  14. package/dist/cognition-engine/constraint-validator.js.map +1 -0
  15. package/dist/cognition-engine/graph-traverser.d.ts +43 -0
  16. package/dist/cognition-engine/graph-traverser.d.ts.map +1 -0
  17. package/dist/cognition-engine/graph-traverser.js +205 -0
  18. package/dist/cognition-engine/graph-traverser.js.map +1 -0
  19. package/dist/cognition-engine/index.d.ts +51 -0
  20. package/dist/cognition-engine/index.d.ts.map +1 -0
  21. package/dist/cognition-engine/index.js +60 -0
  22. package/dist/cognition-engine/index.js.map +1 -0
  23. package/dist/cognition-engine/intent-recognizer.d.ts +25 -0
  24. package/dist/cognition-engine/intent-recognizer.d.ts.map +1 -0
  25. package/dist/cognition-engine/intent-recognizer.js +226 -0
  26. package/dist/cognition-engine/intent-recognizer.js.map +1 -0
  27. package/dist/cognition-engine/types.d.ts +96 -0
  28. package/dist/cognition-engine/types.d.ts.map +1 -0
  29. package/dist/cognition-engine/types.js +17 -0
  30. package/dist/cognition-engine/types.js.map +1 -0
  31. package/dist/conflict/arbitrator.d.ts +24 -0
  32. package/dist/conflict/arbitrator.d.ts.map +1 -0
  33. package/dist/conflict/arbitrator.js +43 -0
  34. package/dist/conflict/arbitrator.js.map +1 -0
  35. package/dist/index.d.ts +17 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +90 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/legacy-engine/ast-diff.d.ts +23 -0
  40. package/dist/legacy-engine/ast-diff.d.ts.map +1 -0
  41. package/dist/legacy-engine/ast-diff.js +146 -0
  42. package/dist/legacy-engine/ast-diff.js.map +1 -0
  43. package/dist/legacy-engine/ast-node.d.ts +24 -0
  44. package/dist/legacy-engine/ast-node.d.ts.map +1 -0
  45. package/dist/legacy-engine/ast-node.js +52 -0
  46. package/dist/legacy-engine/ast-node.js.map +1 -0
  47. package/dist/legacy-engine/parsers.d.ts +34 -0
  48. package/dist/legacy-engine/parsers.d.ts.map +1 -0
  49. package/dist/legacy-engine/parsers.js +134 -0
  50. package/dist/legacy-engine/parsers.js.map +1 -0
  51. package/dist/legacy-engine/regex-fallback.d.ts +23 -0
  52. package/dist/legacy-engine/regex-fallback.d.ts.map +1 -0
  53. package/dist/legacy-engine/regex-fallback.js +40 -0
  54. package/dist/legacy-engine/regex-fallback.js.map +1 -0
  55. package/dist/legacy-engine/rule-generator.d.ts +31 -0
  56. package/dist/legacy-engine/rule-generator.d.ts.map +1 -0
  57. package/dist/legacy-engine/rule-generator.js +54 -0
  58. package/dist/legacy-engine/rule-generator.js.map +1 -0
  59. package/dist/legacy-engine/rule-matcher.d.ts +28 -0
  60. package/dist/legacy-engine/rule-matcher.d.ts.map +1 -0
  61. package/dist/legacy-engine/rule-matcher.js +79 -0
  62. package/dist/legacy-engine/rule-matcher.js.map +1 -0
  63. package/dist/legacy-engine/token-controller.d.ts +31 -0
  64. package/dist/legacy-engine/token-controller.d.ts.map +1 -0
  65. package/dist/legacy-engine/token-controller.js +66 -0
  66. package/dist/legacy-engine/token-controller.js.map +1 -0
  67. package/dist/middleware/response-validation.d.ts +27 -0
  68. package/dist/middleware/response-validation.d.ts.map +1 -0
  69. package/dist/middleware/response-validation.js +50 -0
  70. package/dist/middleware/response-validation.js.map +1 -0
  71. package/dist/modes/confirm.d.ts +29 -0
  72. package/dist/modes/confirm.d.ts.map +1 -0
  73. package/dist/modes/confirm.js +27 -0
  74. package/dist/modes/confirm.js.map +1 -0
  75. package/dist/modes/silent.d.ts +24 -0
  76. package/dist/modes/silent.d.ts.map +1 -0
  77. package/dist/modes/silent.js +24 -0
  78. package/dist/modes/silent.js.map +1 -0
  79. package/dist/resources/cognition-resources.d.ts +28 -0
  80. package/dist/resources/cognition-resources.d.ts.map +1 -0
  81. package/dist/resources/cognition-resources.js +124 -0
  82. package/dist/resources/cognition-resources.js.map +1 -0
  83. package/dist/storage/client.d.ts +26 -0
  84. package/dist/storage/client.d.ts.map +1 -0
  85. package/dist/storage/client.js +45 -0
  86. package/dist/storage/client.js.map +1 -0
  87. package/dist/storage/cognition-repository.d.ts +55 -0
  88. package/dist/storage/cognition-repository.d.ts.map +1 -0
  89. package/dist/storage/cognition-repository.js +287 -0
  90. package/dist/storage/cognition-repository.js.map +1 -0
  91. package/dist/storage/cognition-types.d.ts +96 -0
  92. package/dist/storage/cognition-types.d.ts.map +1 -0
  93. package/dist/storage/cognition-types.js +41 -0
  94. package/dist/storage/cognition-types.js.map +1 -0
  95. package/dist/storage/conflict-repo.d.ts +41 -0
  96. package/dist/storage/conflict-repo.d.ts.map +1 -0
  97. package/dist/storage/conflict-repo.js +67 -0
  98. package/dist/storage/conflict-repo.js.map +1 -0
  99. package/dist/storage/diff-log-repo.d.ts +48 -0
  100. package/dist/storage/diff-log-repo.d.ts.map +1 -0
  101. package/dist/storage/diff-log-repo.js +51 -0
  102. package/dist/storage/diff-log-repo.js.map +1 -0
  103. package/dist/storage/metric-repo.d.ts +20 -0
  104. package/dist/storage/metric-repo.d.ts.map +1 -0
  105. package/dist/storage/metric-repo.js +36 -0
  106. package/dist/storage/metric-repo.js.map +1 -0
  107. package/dist/storage/rule-repo.d.ts +66 -0
  108. package/dist/storage/rule-repo.d.ts.map +1 -0
  109. package/dist/storage/rule-repo.js +188 -0
  110. package/dist/storage/rule-repo.js.map +1 -0
  111. package/dist/tools/analyze-workspace.d.ts +26 -0
  112. package/dist/tools/analyze-workspace.d.ts.map +1 -0
  113. package/dist/tools/analyze-workspace.js +147 -0
  114. package/dist/tools/analyze-workspace.js.map +1 -0
  115. package/dist/tools/capture-diff.d.ts +26 -0
  116. package/dist/tools/capture-diff.d.ts.map +1 -0
  117. package/dist/tools/capture-diff.js +58 -0
  118. package/dist/tools/capture-diff.js.map +1 -0
  119. package/dist/tools/cognition-tools.d.ts +60 -0
  120. package/dist/tools/cognition-tools.d.ts.map +1 -0
  121. package/dist/tools/cognition-tools.js +170 -0
  122. package/dist/tools/cognition-tools.js.map +1 -0
  123. package/dist/tools/config-tools.d.ts +29 -0
  124. package/dist/tools/config-tools.d.ts.map +1 -0
  125. package/dist/tools/config-tools.js +58 -0
  126. package/dist/tools/config-tools.js.map +1 -0
  127. package/dist/tools/confirm-rule.d.ts +32 -0
  128. package/dist/tools/confirm-rule.d.ts.map +1 -0
  129. package/dist/tools/confirm-rule.js +64 -0
  130. package/dist/tools/confirm-rule.js.map +1 -0
  131. package/dist/tools/injection-approval.d.ts +43 -0
  132. package/dist/tools/injection-approval.d.ts.map +1 -0
  133. package/dist/tools/injection-approval.js +102 -0
  134. package/dist/tools/injection-approval.js.map +1 -0
  135. package/dist/tools/list-rules.d.ts +24 -0
  136. package/dist/tools/list-rules.d.ts.map +1 -0
  137. package/dist/tools/list-rules.js +20 -0
  138. package/dist/tools/list-rules.js.map +1 -0
  139. package/dist/tools/query-rules.d.ts +25 -0
  140. package/dist/tools/query-rules.d.ts.map +1 -0
  141. package/dist/tools/query-rules.js +65 -0
  142. package/dist/tools/query-rules.js.map +1 -0
  143. package/dist/tools/resolve-conflict.d.ts +33 -0
  144. package/dist/tools/resolve-conflict.d.ts.map +1 -0
  145. package/dist/tools/resolve-conflict.js +35 -0
  146. package/dist/tools/resolve-conflict.js.map +1 -0
  147. package/dist/types.d.ts +190 -0
  148. package/dist/types.d.ts.map +1 -0
  149. package/dist/types.js +50 -0
  150. package/dist/types.js.map +1 -0
  151. package/docs/api-reference.md +1229 -0
  152. package/docs/community/feedback-playbook.md +94 -0
  153. package/docs/integration-snippets.md +100 -0
  154. package/docs/mcp-integration-guide.md +151 -0
  155. package/docs/phase4-mcp-feedback.md +155 -0
  156. package/docs/trust-governance-protocol.md +72 -0
  157. package/package.json +74 -0
  158. package/prisma/schema.prisma +145 -0
@@ -0,0 +1,145 @@
1
+ generator client {
2
+ provider = "prisma-client-js"
3
+ }
4
+
5
+ datasource db {
6
+ provider = "sqlite"
7
+ url = env("DATABASE_URL")
8
+ }
9
+
10
+ model Rule {
11
+ id String @id @default(uuid())
12
+ projectId String?
13
+ scope String @default("project")
14
+ priority Float @default(1.0)
15
+ type String
16
+ pattern String
17
+ suggestion String
18
+ language String @default("typescript")
19
+ fileExtensions String?
20
+ tags String?
21
+ confidence String @default("medium")
22
+ source String @default("auto")
23
+ category String?
24
+ status String @default("active")
25
+ matchCount Int @default(0)
26
+ createdAt DateTime @default(now())
27
+ updatedAt DateTime @updatedAt
28
+ lastUsedAt DateTime?
29
+ diffLogs DiffLog[]
30
+ conflictA ConflictRecord[] @relation("conflictRuleA")
31
+ conflictB ConflictRecord[] @relation("conflictRuleB")
32
+ versions RuleVersion[]
33
+ }
34
+
35
+ model DiffLog {
36
+ id String @id @default(uuid())
37
+ ruleId String?
38
+ filePath String
39
+ fileExtension String
40
+ language String
41
+ projectId String?
42
+ originalHash String
43
+ modifiedHash String
44
+ diffContent String
45
+ astStatus String?
46
+ diffType String
47
+ operations String?
48
+ createdAt DateTime @default(now())
49
+ rule Rule? @relation(fields: [ruleId], references: [id])
50
+ }
51
+
52
+ model ConflictRecord {
53
+ id String @id @default(uuid())
54
+ ruleAId String
55
+ ruleBId String
56
+ scopeKey String
57
+ resolution String?
58
+ batchChoice String?
59
+ resolvedAt DateTime?
60
+ createdAt DateTime @default(now())
61
+ ruleA Rule @relation("conflictRuleA", fields: [ruleAId], references: [id])
62
+ ruleB Rule @relation("conflictRuleB", fields: [ruleBId], references: [id])
63
+ }
64
+
65
+ model MetricEvent {
66
+ id String @id @default(uuid())
67
+ eventType String
68
+ properties String?
69
+ createdAt DateTime @default(now())
70
+ }
71
+
72
+ model AppConfig {
73
+ id String @id @default("default")
74
+ mode String @default("silent")
75
+ data String?
76
+ }
77
+ model RuleVersion {
78
+ id String @id @default(uuid())
79
+ ruleId String
80
+ pattern String
81
+ suggestion String?
82
+ editedBy String?
83
+ createdAt DateTime @default(now())
84
+
85
+ rule Rule @relation(fields: [ruleId], references: [id])
86
+ }
87
+
88
+ // ── Cognition Graph (Phase 2+) ─────────────────────────────
89
+ // Independent from legacy Rule engine. Do NOT modify existing models.
90
+
91
+ /// Cognitive node: represents an intent, constraint, heuristic, or pattern
92
+ /// in the cognition graph. Payload stores structured data only (AST JSON, DSL),
93
+ /// NEVER natural language. Uses String for JSON fields (SQLite limitation).
94
+ model CognitionNode {
95
+ id String @id @default(cuid())
96
+ type String // INTENT | CONSTRAINT | HEURISTIC | PATTERN
97
+ semanticHash String @unique
98
+ abstractionLevel Int @default(0)
99
+ payload String // JSON — structured AST templates / constraint expressions
100
+ metadata String? // JSON — optional metadata (source diffId, etc.)
101
+ createdAt DateTime @default(now())
102
+ updatedAt DateTime @updatedAt
103
+
104
+ outgoingEdges CognitionEdge[] @relation("edgeSource")
105
+ incomingEdges CognitionEdge[] @relation("edgeTarget")
106
+ astTemplate AstTemplate?
107
+
108
+ @@index([abstractionLevel])
109
+ @@index([type])
110
+ }
111
+
112
+ /// Semantic edge connecting two cognition nodes.
113
+ /// Each (sourceId, targetId, relation) triple is unique.
114
+ /// relation values: CAUSES | PRECEDES | MUTEX | GENERALIZES | REFINES
115
+ model CognitionEdge {
116
+ id String @id @default(cuid())
117
+ sourceId String
118
+ targetId String
119
+ relation String // CAUSES | PRECEDES | MUTEX | GENERALIZES | REFINES
120
+ weight Float @default(1.0)
121
+ metadata String? // JSON — optional edge metadata
122
+ createdAt DateTime @default(now())
123
+
124
+ source CognitionNode @relation("edgeSource", fields: [sourceId], references: [id], onDelete: Cascade)
125
+ target CognitionNode @relation("edgeTarget", fields: [targetId], references: [id], onDelete: Cascade)
126
+
127
+ @@unique([sourceId, targetId, relation])
128
+ @@index([sourceId])
129
+ @@index([targetId])
130
+ @@index([relation])
131
+ }
132
+
133
+ /// Executable AST template linked to a cognition node.
134
+ /// Stores DSL/JSON patterns for AST-level validation or transformation.
135
+ /// NEVER stores natural language suggestions.
136
+ model AstTemplate {
137
+ id String @id @default(cuid())
138
+ nodeId String @unique
139
+ language String
140
+ templateDsl String
141
+ validationSchema String? // JSON — schema for validating templateDsl
142
+ createdAt DateTime @default(now())
143
+
144
+ node CognitionNode @relation(fields: [nodeId], references: [id], onDelete: Cascade)
145
+ }