@cogitator-ai/core 0.1.0 → 0.3.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 (252) hide show
  1. package/README.md +920 -15
  2. package/dist/__tests__/agent.test.js +2 -2
  3. package/dist/__tests__/agent.test.js.map +1 -1
  4. package/dist/__tests__/base64.test.js +1 -1
  5. package/dist/__tests__/base64.test.js.map +1 -1
  6. package/dist/__tests__/calculator.test.js +1 -1
  7. package/dist/__tests__/calculator.test.js.map +1 -1
  8. package/dist/__tests__/cogitator-memory.test.js +2 -2
  9. package/dist/__tests__/cogitator-memory.test.js.map +1 -1
  10. package/dist/__tests__/datetime.test.js +1 -1
  11. package/dist/__tests__/datetime.test.js.map +1 -1
  12. package/dist/__tests__/exec.test.js +1 -1
  13. package/dist/__tests__/exec.test.js.map +1 -1
  14. package/dist/__tests__/filesystem.test.js +1 -1
  15. package/dist/__tests__/filesystem.test.js.map +1 -1
  16. package/dist/__tests__/google-backend.test.js +1 -1
  17. package/dist/__tests__/google-backend.test.js.map +1 -1
  18. package/dist/__tests__/hash.test.js +1 -1
  19. package/dist/__tests__/hash.test.js.map +1 -1
  20. package/dist/__tests__/http.test.js +1 -1
  21. package/dist/__tests__/http.test.js.map +1 -1
  22. package/dist/__tests__/json.test.js +1 -1
  23. package/dist/__tests__/json.test.js.map +1 -1
  24. package/dist/__tests__/logger.test.js +1 -1
  25. package/dist/__tests__/logger.test.js.map +1 -1
  26. package/dist/__tests__/random.test.js +1 -1
  27. package/dist/__tests__/random.test.js.map +1 -1
  28. package/dist/__tests__/regex.test.js +1 -1
  29. package/dist/__tests__/regex.test.js.map +1 -1
  30. package/dist/__tests__/registry.test.js +2 -2
  31. package/dist/__tests__/registry.test.js.map +1 -1
  32. package/dist/__tests__/sleep.test.js +1 -1
  33. package/dist/__tests__/sleep.test.js.map +1 -1
  34. package/dist/__tests__/tool.test.js +1 -1
  35. package/dist/__tests__/tool.test.js.map +1 -1
  36. package/dist/__tests__/uuid.test.js +1 -1
  37. package/dist/__tests__/uuid.test.js.map +1 -1
  38. package/dist/cogitator.d.ts +46 -1
  39. package/dist/cogitator.d.ts.map +1 -1
  40. package/dist/cogitator.js +274 -17
  41. package/dist/cogitator.js.map +1 -1
  42. package/dist/constitutional/constitution.d.ts +9 -0
  43. package/dist/constitutional/constitution.d.ts.map +1 -0
  44. package/dist/constitutional/constitution.js +215 -0
  45. package/dist/constitutional/constitution.js.map +1 -0
  46. package/dist/constitutional/constitutional-ai.d.ts +36 -0
  47. package/dist/constitutional/constitutional-ai.d.ts.map +1 -0
  48. package/dist/constitutional/constitutional-ai.js +163 -0
  49. package/dist/constitutional/constitutional-ai.js.map +1 -0
  50. package/dist/constitutional/critique-reviser.d.ts +20 -0
  51. package/dist/constitutional/critique-reviser.d.ts.map +1 -0
  52. package/dist/constitutional/critique-reviser.js +98 -0
  53. package/dist/constitutional/critique-reviser.js.map +1 -0
  54. package/dist/constitutional/index.d.ts +13 -0
  55. package/dist/constitutional/index.d.ts.map +1 -0
  56. package/dist/constitutional/index.js +8 -0
  57. package/dist/constitutional/index.js.map +1 -0
  58. package/dist/constitutional/input-filter.d.ts +19 -0
  59. package/dist/constitutional/input-filter.d.ts.map +1 -0
  60. package/dist/constitutional/input-filter.js +88 -0
  61. package/dist/constitutional/input-filter.js.map +1 -0
  62. package/dist/constitutional/output-filter.d.ts +19 -0
  63. package/dist/constitutional/output-filter.d.ts.map +1 -0
  64. package/dist/constitutional/output-filter.js +86 -0
  65. package/dist/constitutional/output-filter.js.map +1 -0
  66. package/dist/constitutional/prompts.d.ts +11 -0
  67. package/dist/constitutional/prompts.d.ts.map +1 -0
  68. package/dist/constitutional/prompts.js +202 -0
  69. package/dist/constitutional/prompts.js.map +1 -0
  70. package/dist/constitutional/tool-guard.d.ts +18 -0
  71. package/dist/constitutional/tool-guard.d.ts.map +1 -0
  72. package/dist/constitutional/tool-guard.js +125 -0
  73. package/dist/constitutional/tool-guard.js.map +1 -0
  74. package/dist/cost-routing/budget-enforcer.d.ts +26 -0
  75. package/dist/cost-routing/budget-enforcer.d.ts.map +1 -0
  76. package/dist/cost-routing/budget-enforcer.js +86 -0
  77. package/dist/cost-routing/budget-enforcer.js.map +1 -0
  78. package/dist/cost-routing/cost-router.d.ts +34 -0
  79. package/dist/cost-routing/cost-router.d.ts.map +1 -0
  80. package/dist/cost-routing/cost-router.js +80 -0
  81. package/dist/cost-routing/cost-router.js.map +1 -0
  82. package/dist/cost-routing/cost-tracker.d.ts +20 -0
  83. package/dist/cost-routing/cost-tracker.d.ts.map +1 -0
  84. package/dist/cost-routing/cost-tracker.js +85 -0
  85. package/dist/cost-routing/cost-tracker.js.map +1 -0
  86. package/dist/cost-routing/index.d.ts +6 -0
  87. package/dist/cost-routing/index.d.ts.map +1 -0
  88. package/dist/cost-routing/index.js +6 -0
  89. package/dist/cost-routing/index.js.map +1 -0
  90. package/dist/cost-routing/model-selector.d.ts +15 -0
  91. package/dist/cost-routing/model-selector.d.ts.map +1 -0
  92. package/dist/cost-routing/model-selector.js +216 -0
  93. package/dist/cost-routing/model-selector.js.map +1 -0
  94. package/dist/cost-routing/task-analyzer.d.ts +13 -0
  95. package/dist/cost-routing/task-analyzer.d.ts.map +1 -0
  96. package/dist/cost-routing/task-analyzer.js +185 -0
  97. package/dist/cost-routing/task-analyzer.js.map +1 -0
  98. package/dist/index.d.ts +19 -1
  99. package/dist/index.d.ts.map +1 -1
  100. package/dist/index.js +9 -0
  101. package/dist/index.js.map +1 -1
  102. package/dist/learning/ab-testing.d.ts +45 -0
  103. package/dist/learning/ab-testing.d.ts.map +1 -0
  104. package/dist/learning/ab-testing.js +267 -0
  105. package/dist/learning/ab-testing.js.map +1 -0
  106. package/dist/learning/agent-optimizer.d.ts +42 -0
  107. package/dist/learning/agent-optimizer.d.ts.map +1 -0
  108. package/dist/learning/agent-optimizer.js +273 -0
  109. package/dist/learning/agent-optimizer.js.map +1 -0
  110. package/dist/learning/auto-optimizer.d.ts +38 -0
  111. package/dist/learning/auto-optimizer.d.ts.map +1 -0
  112. package/dist/learning/auto-optimizer.js +229 -0
  113. package/dist/learning/auto-optimizer.js.map +1 -0
  114. package/dist/learning/demo-selector.d.ts +29 -0
  115. package/dist/learning/demo-selector.d.ts.map +1 -0
  116. package/dist/learning/demo-selector.js +235 -0
  117. package/dist/learning/demo-selector.js.map +1 -0
  118. package/dist/learning/index.d.ts +24 -0
  119. package/dist/learning/index.d.ts.map +1 -0
  120. package/dist/learning/index.js +13 -0
  121. package/dist/learning/index.js.map +1 -0
  122. package/dist/learning/instruction-optimizer.d.ts +29 -0
  123. package/dist/learning/instruction-optimizer.d.ts.map +1 -0
  124. package/dist/learning/instruction-optimizer.js +175 -0
  125. package/dist/learning/instruction-optimizer.js.map +1 -0
  126. package/dist/learning/metrics.d.ts +37 -0
  127. package/dist/learning/metrics.d.ts.map +1 -0
  128. package/dist/learning/metrics.js +310 -0
  129. package/dist/learning/metrics.js.map +1 -0
  130. package/dist/learning/postgres-trace-store.d.ts +53 -0
  131. package/dist/learning/postgres-trace-store.d.ts.map +1 -0
  132. package/dist/learning/postgres-trace-store.js +692 -0
  133. package/dist/learning/postgres-trace-store.js.map +1 -0
  134. package/dist/learning/prompt-logger.d.ts +29 -0
  135. package/dist/learning/prompt-logger.d.ts.map +1 -0
  136. package/dist/learning/prompt-logger.js +157 -0
  137. package/dist/learning/prompt-logger.js.map +1 -0
  138. package/dist/learning/prompt-monitor.d.ts +29 -0
  139. package/dist/learning/prompt-monitor.d.ts.map +1 -0
  140. package/dist/learning/prompt-monitor.js +243 -0
  141. package/dist/learning/prompt-monitor.js.map +1 -0
  142. package/dist/learning/prompts.d.ts +28 -0
  143. package/dist/learning/prompts.d.ts.map +1 -0
  144. package/dist/learning/prompts.js +195 -0
  145. package/dist/learning/prompts.js.map +1 -0
  146. package/dist/learning/rollback-manager.d.ts +36 -0
  147. package/dist/learning/rollback-manager.d.ts.map +1 -0
  148. package/dist/learning/rollback-manager.js +177 -0
  149. package/dist/learning/rollback-manager.js.map +1 -0
  150. package/dist/learning/trace-store.d.ts +26 -0
  151. package/dist/learning/trace-store.d.ts.map +1 -0
  152. package/dist/learning/trace-store.js +218 -0
  153. package/dist/learning/trace-store.js.map +1 -0
  154. package/dist/llm/google.d.ts.map +1 -1
  155. package/dist/llm/google.js +1 -2
  156. package/dist/llm/google.js.map +1 -1
  157. package/dist/reasoning/branch-evaluator.d.ts +28 -0
  158. package/dist/reasoning/branch-evaluator.d.ts.map +1 -0
  159. package/dist/reasoning/branch-evaluator.js +143 -0
  160. package/dist/reasoning/branch-evaluator.js.map +1 -0
  161. package/dist/reasoning/branch-generator.d.ts +9 -0
  162. package/dist/reasoning/branch-generator.d.ts.map +1 -0
  163. package/dist/reasoning/branch-generator.js +60 -0
  164. package/dist/reasoning/branch-generator.js.map +1 -0
  165. package/dist/reasoning/index.d.ts +5 -0
  166. package/dist/reasoning/index.d.ts.map +1 -0
  167. package/dist/reasoning/index.js +5 -0
  168. package/dist/reasoning/index.js.map +1 -0
  169. package/dist/reasoning/prompts.d.ts +19 -0
  170. package/dist/reasoning/prompts.d.ts.map +1 -0
  171. package/dist/reasoning/prompts.js +161 -0
  172. package/dist/reasoning/prompts.js.map +1 -0
  173. package/dist/reasoning/thought-tree.d.ts +32 -0
  174. package/dist/reasoning/thought-tree.d.ts.map +1 -0
  175. package/dist/reasoning/thought-tree.js +352 -0
  176. package/dist/reasoning/thought-tree.js.map +1 -0
  177. package/dist/reflection/index.d.ts +4 -0
  178. package/dist/reflection/index.d.ts.map +1 -0
  179. package/dist/reflection/index.js +4 -0
  180. package/dist/reflection/index.js.map +1 -0
  181. package/dist/reflection/insight-store.d.ts +19 -0
  182. package/dist/reflection/insight-store.d.ts.map +1 -0
  183. package/dist/reflection/insight-store.js +129 -0
  184. package/dist/reflection/insight-store.js.map +1 -0
  185. package/dist/reflection/prompts.d.ts +18 -0
  186. package/dist/reflection/prompts.d.ts.map +1 -0
  187. package/dist/reflection/prompts.js +157 -0
  188. package/dist/reflection/prompts.js.map +1 -0
  189. package/dist/reflection/reflection-engine.d.ts +25 -0
  190. package/dist/reflection/reflection-engine.d.ts.map +1 -0
  191. package/dist/reflection/reflection-engine.js +202 -0
  192. package/dist/reflection/reflection-engine.js.map +1 -0
  193. package/dist/registry.d.ts +1 -0
  194. package/dist/registry.d.ts.map +1 -1
  195. package/dist/registry.js +3 -0
  196. package/dist/registry.js.map +1 -1
  197. package/dist/time-travel/checkpoint-store.d.ts +34 -0
  198. package/dist/time-travel/checkpoint-store.d.ts.map +1 -0
  199. package/dist/time-travel/checkpoint-store.js +240 -0
  200. package/dist/time-travel/checkpoint-store.js.map +1 -0
  201. package/dist/time-travel/comparator.d.ts +26 -0
  202. package/dist/time-travel/comparator.d.ts.map +1 -0
  203. package/dist/time-travel/comparator.js +253 -0
  204. package/dist/time-travel/comparator.js.map +1 -0
  205. package/dist/time-travel/forker.d.ts +22 -0
  206. package/dist/time-travel/forker.d.ts.map +1 -0
  207. package/dist/time-travel/forker.js +118 -0
  208. package/dist/time-travel/forker.js.map +1 -0
  209. package/dist/time-travel/index.d.ts +6 -0
  210. package/dist/time-travel/index.d.ts.map +1 -0
  211. package/dist/time-travel/index.js +6 -0
  212. package/dist/time-travel/index.js.map +1 -0
  213. package/dist/time-travel/replayer.d.ts +20 -0
  214. package/dist/time-travel/replayer.d.ts.map +1 -0
  215. package/dist/time-travel/replayer.js +147 -0
  216. package/dist/time-travel/replayer.js.map +1 -0
  217. package/dist/time-travel/time-travel.d.ts +41 -0
  218. package/dist/time-travel/time-travel.d.ts.map +1 -0
  219. package/dist/time-travel/time-travel.js +127 -0
  220. package/dist/time-travel/time-travel.js.map +1 -0
  221. package/dist/tool.d.ts.map +1 -1
  222. package/dist/tool.js +2 -0
  223. package/dist/tool.js.map +1 -1
  224. package/dist/tools/base64.d.ts.map +1 -1
  225. package/dist/tools/base64.js +2 -8
  226. package/dist/tools/base64.js.map +1 -1
  227. package/dist/tools/datetime.d.ts.map +1 -1
  228. package/dist/tools/datetime.js.map +1 -1
  229. package/dist/tools/exec.d.ts.map +1 -1
  230. package/dist/tools/exec.js +1 -4
  231. package/dist/tools/exec.js.map +1 -1
  232. package/dist/tools/filesystem.d.ts.map +1 -1
  233. package/dist/tools/filesystem.js +4 -1
  234. package/dist/tools/filesystem.js.map +1 -1
  235. package/dist/tools/hash.d.ts.map +1 -1
  236. package/dist/tools/hash.js +1 -4
  237. package/dist/tools/hash.js.map +1 -1
  238. package/dist/tools/http.d.ts.map +1 -1
  239. package/dist/tools/http.js +1 -4
  240. package/dist/tools/http.js.map +1 -1
  241. package/dist/tools/regex.d.ts.map +1 -1
  242. package/dist/tools/regex.js +4 -1
  243. package/dist/tools/regex.js.map +1 -1
  244. package/dist/utils/circuit-breaker.d.ts.map +1 -1
  245. package/dist/utils/circuit-breaker.js.map +1 -1
  246. package/dist/utils/fallback.d.ts.map +1 -1
  247. package/dist/utils/fallback.js +1 -4
  248. package/dist/utils/fallback.js.map +1 -1
  249. package/dist/utils/retry.d.ts.map +1 -1
  250. package/dist/utils/retry.js +8 -13
  251. package/dist/utils/retry.js.map +1 -1
  252. package/package.json +17 -8
@@ -1 +1 @@
1
- {"version":3,"file":"cogitator.js","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cogitator.js","sourceRoot":"","sources":["../src/cogitator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { Constitution, ConstitutionalPrinciple } from '@cogitator-ai/types';
2
+ export declare const DEFAULT_PRINCIPLES: ConstitutionalPrinciple[];
3
+ export declare const DEFAULT_CONSTITUTION: Constitution;
4
+ export declare function createConstitution(principles: ConstitutionalPrinciple[], options?: Partial<Omit<Constitution, 'principles'>>): Constitution;
5
+ export declare function extendConstitution(base: Constitution, additionalPrinciples: ConstitutionalPrinciple[]): Constitution;
6
+ export declare function filterPrinciplesByLayer(constitution: Constitution, layer: 'input' | 'output' | 'tool'): ConstitutionalPrinciple[];
7
+ export declare function getPrinciplesByCategory(constitution: Constitution, category: ConstitutionalPrinciple['category']): ConstitutionalPrinciple[];
8
+ export declare function getPrinciplesBySeverity(constitution: Constitution, severity: 'low' | 'medium' | 'high'): ConstitutionalPrinciple[];
9
+ //# sourceMappingURL=constitution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constitution.d.ts","sourceRoot":"","sources":["../../src/constitutional/constitution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAEjF,eAAO,MAAM,kBAAkB,EAAE,uBAAuB,EA+MvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,YAOlC,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,uBAAuB,EAAE,EACrC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,GAClD,YAAY,CASd;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,oBAAoB,EAAE,uBAAuB,EAAE,GAC9C,YAAY,CASd;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GACjC,uBAAuB,EAAE,CAE3B;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,uBAAuB,CAAC,UAAU,CAAC,GAC5C,uBAAuB,EAAE,CAE3B;AAED,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAClC,uBAAuB,EAAE,CAE3B"}
@@ -0,0 +1,215 @@
1
+ export const DEFAULT_PRINCIPLES = [
2
+ {
3
+ id: 'no-violence',
4
+ name: 'No Violence',
5
+ description: 'Refuse to provide instructions for violence, weapons, or physical harm',
6
+ category: 'safety',
7
+ critiquePrompt: 'Does this response provide specific instructions for violence, weapons creation, or causing physical harm to people?',
8
+ revisionPrompt: 'Rewrite to refuse the harmful request while explaining why such information cannot be provided',
9
+ harmCategories: ['violence'],
10
+ severity: 'high',
11
+ appliesTo: ['output', 'tool'],
12
+ },
13
+ {
14
+ id: 'no-hate',
15
+ name: 'No Hate Speech',
16
+ description: 'Avoid discriminatory, derogatory, or hateful content',
17
+ category: 'ethics',
18
+ critiquePrompt: 'Does this response contain discrimination, prejudice, slurs, or derogatory language targeting any group?',
19
+ revisionPrompt: 'Rewrite to be respectful and inclusive of all groups while addressing the legitimate question',
20
+ harmCategories: ['hate'],
21
+ severity: 'high',
22
+ appliesTo: ['output'],
23
+ },
24
+ {
25
+ id: 'no-sexual-content',
26
+ name: 'No Explicit Sexual Content',
27
+ description: 'Avoid generating explicit sexual or adult content',
28
+ category: 'safety',
29
+ critiquePrompt: 'Does this response contain explicit sexual content, pornography, or sexually exploitative material?',
30
+ revisionPrompt: 'Rewrite to remove explicit content while addressing any legitimate underlying question',
31
+ harmCategories: ['sexual'],
32
+ severity: 'high',
33
+ appliesTo: ['output'],
34
+ },
35
+ {
36
+ id: 'no-self-harm',
37
+ name: 'No Self-Harm Promotion',
38
+ description: 'Never provide instructions for self-harm or suicide',
39
+ category: 'safety',
40
+ critiquePrompt: 'Does this response provide methods for self-harm, suicide, or encourage dangerous behavior to oneself?',
41
+ revisionPrompt: 'Rewrite to express concern for wellbeing and provide resources for mental health support instead',
42
+ harmCategories: ['self-harm'],
43
+ severity: 'high',
44
+ appliesTo: ['output'],
45
+ },
46
+ {
47
+ id: 'no-illegal-activity',
48
+ name: 'No Illegal Activity Assistance',
49
+ description: 'Refuse to help with clearly illegal activities',
50
+ category: 'legal',
51
+ critiquePrompt: 'Does this response provide specific instructions for illegal activities like hacking, fraud, theft, or drug manufacturing?',
52
+ revisionPrompt: 'Rewrite to decline the request while explaining the legal and ethical concerns',
53
+ harmCategories: ['illegal'],
54
+ severity: 'high',
55
+ appliesTo: ['output', 'tool'],
56
+ },
57
+ {
58
+ id: 'protect-privacy',
59
+ name: 'Protect Privacy',
60
+ description: 'Do not reveal personal information about real individuals',
61
+ category: 'privacy',
62
+ critiquePrompt: 'Does this response reveal personal information (addresses, phone numbers, SSN, private data) about real identifiable individuals?',
63
+ revisionPrompt: 'Rewrite to remove or generalize personal information while preserving helpful content',
64
+ harmCategories: ['privacy'],
65
+ severity: 'high',
66
+ appliesTo: ['output', 'tool'],
67
+ },
68
+ {
69
+ id: 'accurate-information',
70
+ name: 'Accurate Information',
71
+ description: 'Provide accurate information and acknowledge uncertainty',
72
+ category: 'ethics',
73
+ critiquePrompt: 'Does this response contain false claims, fabricated facts, or present speculation as definitive truth?',
74
+ revisionPrompt: 'Rewrite to correct inaccuracies and clearly indicate when information is uncertain or requires verification',
75
+ harmCategories: ['misinformation'],
76
+ severity: 'medium',
77
+ appliesTo: ['output'],
78
+ },
79
+ {
80
+ id: 'no-manipulation',
81
+ name: 'No Manipulation',
82
+ description: 'Avoid psychological manipulation or deceptive persuasion',
83
+ category: 'ethics',
84
+ critiquePrompt: 'Does this response use manipulative tactics, exploit emotions, or employ deceptive persuasion techniques?',
85
+ revisionPrompt: 'Rewrite to communicate honestly and directly without manipulative framing',
86
+ harmCategories: ['manipulation'],
87
+ severity: 'medium',
88
+ appliesTo: ['output'],
89
+ },
90
+ {
91
+ id: 'honest-ai-identity',
92
+ name: 'Honest AI Identity',
93
+ description: 'Be transparent about being an AI assistant',
94
+ category: 'ethics',
95
+ critiquePrompt: 'Does this response falsely claim to be human, hide its AI nature when directly asked, or pretend to have human experiences?',
96
+ revisionPrompt: 'Rewrite to be transparent about AI nature while remaining helpful and conversational',
97
+ harmCategories: ['manipulation'],
98
+ severity: 'medium',
99
+ appliesTo: ['output'],
100
+ },
101
+ {
102
+ id: 'respect-autonomy',
103
+ name: 'Respect User Autonomy',
104
+ description: 'Respect user decisions and avoid being preachy or condescending',
105
+ category: 'ethics',
106
+ critiquePrompt: 'Is this response excessively preachy, condescending, or dismissive of legitimate user questions?',
107
+ revisionPrompt: 'Rewrite to be helpful and respectful while still noting any genuine safety concerns once',
108
+ harmCategories: ['manipulation'],
109
+ severity: 'low',
110
+ appliesTo: ['output'],
111
+ },
112
+ {
113
+ id: 'cultural-sensitivity',
114
+ name: 'Cultural Sensitivity',
115
+ description: 'Be mindful of cultural differences and avoid Western-centric assumptions',
116
+ category: 'ethics',
117
+ critiquePrompt: 'Does this response make inappropriate cultural assumptions or fail to consider non-Western perspectives?',
118
+ revisionPrompt: 'Rewrite to be culturally inclusive and acknowledge diverse perspectives where relevant',
119
+ harmCategories: ['hate'],
120
+ severity: 'low',
121
+ appliesTo: ['output'],
122
+ },
123
+ {
124
+ id: 'no-medical-advice',
125
+ name: 'Medical Disclaimer',
126
+ description: 'Do not provide specific medical diagnoses or treatment plans',
127
+ category: 'legal',
128
+ critiquePrompt: 'Does this response provide specific medical diagnoses or treatment recommendations without appropriate disclaimers?',
129
+ revisionPrompt: 'Rewrite to provide general health information with clear disclaimers to consult healthcare professionals',
130
+ harmCategories: ['misinformation'],
131
+ severity: 'medium',
132
+ appliesTo: ['output'],
133
+ },
134
+ {
135
+ id: 'no-legal-advice',
136
+ name: 'Legal Disclaimer',
137
+ description: 'Do not provide specific legal advice',
138
+ category: 'legal',
139
+ critiquePrompt: 'Does this response provide specific legal advice without appropriate disclaimers about consulting a lawyer?',
140
+ revisionPrompt: 'Rewrite to provide general legal information with clear disclaimers to consult legal professionals',
141
+ harmCategories: ['misinformation'],
142
+ severity: 'medium',
143
+ appliesTo: ['output'],
144
+ },
145
+ {
146
+ id: 'no-financial-advice',
147
+ name: 'Financial Disclaimer',
148
+ description: 'Do not provide specific investment or financial advice',
149
+ category: 'legal',
150
+ critiquePrompt: 'Does this response provide specific investment recommendations or financial advice without appropriate disclaimers?',
151
+ revisionPrompt: 'Rewrite to provide general financial information with clear disclaimers to consult financial professionals',
152
+ harmCategories: ['misinformation'],
153
+ severity: 'medium',
154
+ appliesTo: ['output'],
155
+ },
156
+ {
157
+ id: 'child-safety',
158
+ name: 'Child Safety',
159
+ description: 'Protect minors from harmful content and exploitation',
160
+ category: 'safety',
161
+ critiquePrompt: 'Does this response contain content that sexualizes, exploits, or could harm minors in any way?',
162
+ revisionPrompt: 'Completely refuse the request and explain that such content violates child safety principles',
163
+ harmCategories: ['sexual', 'violence'],
164
+ severity: 'high',
165
+ appliesTo: ['input', 'output'],
166
+ },
167
+ {
168
+ id: 'dangerous-tools',
169
+ name: 'Dangerous Tool Prevention',
170
+ description: 'Prevent execution of dangerous system commands or file operations',
171
+ category: 'safety',
172
+ critiquePrompt: 'Does this tool call attempt to execute dangerous commands (rm -rf, format, delete system files) or access sensitive data?',
173
+ revisionPrompt: 'Block the dangerous operation and explain the safety concern',
174
+ harmCategories: ['illegal'],
175
+ severity: 'high',
176
+ appliesTo: ['tool'],
177
+ },
178
+ ];
179
+ export const DEFAULT_CONSTITUTION = {
180
+ id: 'cogitator-default-v1',
181
+ name: 'Cogitator Default Constitution',
182
+ version: '1.0.0',
183
+ principles: DEFAULT_PRINCIPLES,
184
+ customizable: true,
185
+ strictMode: false,
186
+ };
187
+ export function createConstitution(principles, options) {
188
+ return {
189
+ id: options?.id ?? `custom-${Date.now()}`,
190
+ name: options?.name ?? 'Custom Constitution',
191
+ version: options?.version ?? '1.0.0',
192
+ principles,
193
+ customizable: options?.customizable ?? true,
194
+ strictMode: options?.strictMode ?? false,
195
+ };
196
+ }
197
+ export function extendConstitution(base, additionalPrinciples) {
198
+ const existingIds = new Set(base.principles.map((p) => p.id));
199
+ const newPrinciples = additionalPrinciples.filter((p) => !existingIds.has(p.id));
200
+ return {
201
+ ...base,
202
+ id: `${base.id}-extended`,
203
+ principles: [...base.principles, ...newPrinciples],
204
+ };
205
+ }
206
+ export function filterPrinciplesByLayer(constitution, layer) {
207
+ return constitution.principles.filter((p) => !p.appliesTo || p.appliesTo.includes(layer));
208
+ }
209
+ export function getPrinciplesByCategory(constitution, category) {
210
+ return constitution.principles.filter((p) => p.category === category);
211
+ }
212
+ export function getPrinciplesBySeverity(constitution, severity) {
213
+ return constitution.principles.filter((p) => p.severity === severity);
214
+ }
215
+ //# sourceMappingURL=constitution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constitution.js","sourceRoot":"","sources":["../../src/constitutional/constitution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import type { GuardrailConfig, Constitution, ConstitutionalPrinciple, FilterResult, ToolGuardResult, RevisionResult, LLMBackend, Message, Tool, ToolContext, FilterLayer } from '@cogitator-ai/types';
2
+ export interface ConstitutionalAIOptions {
3
+ llm: LLMBackend;
4
+ constitution?: Constitution;
5
+ config?: Partial<GuardrailConfig>;
6
+ }
7
+ export declare class ConstitutionalAI {
8
+ private inputFilter;
9
+ private outputFilter;
10
+ private toolGuard;
11
+ private critiqueReviser;
12
+ private _config;
13
+ private _constitution;
14
+ private violationLog;
15
+ private logger;
16
+ constructor(options: ConstitutionalAIOptions);
17
+ get config(): GuardrailConfig;
18
+ get constitution(): Constitution;
19
+ filterInput(input: string, context?: string): Promise<FilterResult>;
20
+ filterOutput(output: string, context: Message[]): Promise<FilterResult>;
21
+ guardTool(tool: Tool, args: Record<string, unknown>, context: ToolContext): Promise<ToolGuardResult>;
22
+ critiqueAndRevise(response: string, context: Message[]): Promise<RevisionResult>;
23
+ setConstitution(constitution: Constitution): void;
24
+ addPrinciple(principle: ConstitutionalPrinciple): void;
25
+ removePrinciple(id: string): void;
26
+ getConstitution(): Constitution;
27
+ getConfig(): GuardrailConfig;
28
+ getViolationLog(): Array<{
29
+ timestamp: Date;
30
+ layer: FilterLayer;
31
+ result: FilterResult;
32
+ }>;
33
+ clearViolationLog(): void;
34
+ private logViolation;
35
+ }
36
+ //# sourceMappingURL=constitutional-ai.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constitutional-ai.d.ts","sourceRoot":"","sources":["../../src/constitutional/constitutional-ai.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,UAAU,EACV,OAAO,EACP,IAAI,EACJ,WAAW,EACX,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAQ7B,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,UAAU,CAAC;IAChB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;CACnC;AAED,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,YAAY,CAA4E;IAChG,OAAO,CAAC,MAAM,CAAwD;gBAE1D,OAAO,EAAE,uBAAuB;IAmD5C,IAAI,MAAM,IAAI,eAAe,CAE5B;IAED,IAAI,YAAY,IAAI,YAAY,CAE/B;IAEK,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAUnE,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAsBvE,SAAS,CACb,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,eAAe,CAAC;IAarB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAItF,eAAe,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IASjD,YAAY,CAAC,SAAS,EAAE,uBAAuB,GAAG,IAAI;IActD,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAQjC,eAAe,IAAI,YAAY;IAI/B,SAAS,IAAI,eAAe;IAI5B,eAAe,IAAI,KAAK,CAAC;QAAE,SAAS,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,MAAM,EAAE,YAAY,CAAA;KAAE,CAAC;IAIvF,iBAAiB,IAAI,IAAI;IAIzB,OAAO,CAAC,YAAY;CAiBrB"}
@@ -0,0 +1,163 @@
1
+ import { DEFAULT_CONSTITUTION } from './constitution';
2
+ import { InputFilter } from './input-filter';
3
+ import { OutputFilter } from './output-filter';
4
+ import { ToolGuard } from './tool-guard';
5
+ import { CritiqueReviser } from './critique-reviser';
6
+ import { getLogger } from '../logger';
7
+ export class ConstitutionalAI {
8
+ inputFilter;
9
+ outputFilter;
10
+ toolGuard;
11
+ critiqueReviser;
12
+ _config;
13
+ _constitution;
14
+ violationLog = [];
15
+ logger = getLogger().child({ component: 'ConstitutionalAI' });
16
+ constructor(options) {
17
+ const defaultConfig = {
18
+ enabled: true,
19
+ filterInput: true,
20
+ filterOutput: true,
21
+ filterToolCalls: true,
22
+ filterToolResults: false,
23
+ enableCritiqueRevision: true,
24
+ maxRevisionIterations: 3,
25
+ revisionConfidenceThreshold: 0.85,
26
+ thresholds: {
27
+ violence: 'medium',
28
+ hate: 'low',
29
+ sexual: 'medium',
30
+ 'self-harm': 'low',
31
+ illegal: 'low',
32
+ privacy: 'medium',
33
+ misinformation: 'high',
34
+ manipulation: 'medium',
35
+ },
36
+ strictMode: false,
37
+ logViolations: true,
38
+ };
39
+ this._config = { ...defaultConfig, ...options.config };
40
+ this._constitution = options.constitution ?? DEFAULT_CONSTITUTION;
41
+ this.inputFilter = new InputFilter({
42
+ llm: options.llm,
43
+ config: this._config,
44
+ constitution: this._constitution,
45
+ });
46
+ this.outputFilter = new OutputFilter({
47
+ llm: options.llm,
48
+ config: this._config,
49
+ constitution: this._constitution,
50
+ });
51
+ this.toolGuard = new ToolGuard({
52
+ config: this._config,
53
+ constitution: this._constitution,
54
+ });
55
+ this.critiqueReviser = new CritiqueReviser({
56
+ llm: options.llm,
57
+ config: this._config,
58
+ constitution: this._constitution,
59
+ });
60
+ }
61
+ get config() {
62
+ return this._config;
63
+ }
64
+ get constitution() {
65
+ return this._constitution;
66
+ }
67
+ async filterInput(input, context) {
68
+ if (!this._config.filterInput) {
69
+ return { allowed: true, harmScores: [] };
70
+ }
71
+ const result = await this.inputFilter.filter(input, context);
72
+ this.logViolation('input', result);
73
+ return result;
74
+ }
75
+ async filterOutput(output, context) {
76
+ if (!this._config.filterOutput) {
77
+ return { allowed: true, harmScores: [] };
78
+ }
79
+ const result = await this.outputFilter.filter(output, context);
80
+ if (!result.allowed && this._config.enableCritiqueRevision) {
81
+ const revision = await this.critiqueAndRevise(output, context);
82
+ if (revision.revised !== revision.original) {
83
+ return {
84
+ allowed: true,
85
+ harmScores: result.harmScores,
86
+ suggestedRevision: revision.revised,
87
+ };
88
+ }
89
+ }
90
+ this.logViolation('output', result);
91
+ return result;
92
+ }
93
+ async guardTool(tool, args, context) {
94
+ if (!this._config.filterToolCalls) {
95
+ return {
96
+ approved: true,
97
+ requiresConfirmation: false,
98
+ sideEffects: tool.sideEffects ?? [],
99
+ riskLevel: 'low',
100
+ };
101
+ }
102
+ return this.toolGuard.evaluate(tool, args, context);
103
+ }
104
+ async critiqueAndRevise(response, context) {
105
+ return this.critiqueReviser.critiqueAndRevise(response, context);
106
+ }
107
+ setConstitution(constitution) {
108
+ this._constitution = constitution;
109
+ this.inputFilter.updateConstitution(constitution);
110
+ this.outputFilter.updateConstitution(constitution);
111
+ this.toolGuard.updateConstitution(constitution);
112
+ this.critiqueReviser.updateConstitution(constitution);
113
+ this.logger.info('Constitution updated', { constitutionId: constitution.id });
114
+ }
115
+ addPrinciple(principle) {
116
+ const exists = this._constitution.principles.some((p) => p.id === principle.id);
117
+ if (exists) {
118
+ this.logger.warn('Principle already exists, skipping', { principleId: principle.id });
119
+ return;
120
+ }
121
+ const updated = {
122
+ ...this._constitution,
123
+ principles: [...this._constitution.principles, principle],
124
+ };
125
+ this.setConstitution(updated);
126
+ }
127
+ removePrinciple(id) {
128
+ const updated = {
129
+ ...this._constitution,
130
+ principles: this._constitution.principles.filter((p) => p.id !== id),
131
+ };
132
+ this.setConstitution(updated);
133
+ }
134
+ getConstitution() {
135
+ return this._constitution;
136
+ }
137
+ getConfig() {
138
+ return { ...this._config };
139
+ }
140
+ getViolationLog() {
141
+ return [...this.violationLog];
142
+ }
143
+ clearViolationLog() {
144
+ this.violationLog = [];
145
+ }
146
+ logViolation(layer, result) {
147
+ if (!result.allowed || result.harmScores.length > 0) {
148
+ if (this._config.logViolations) {
149
+ this.violationLog.push({ timestamp: new Date(), layer, result });
150
+ this.logger.warn('Guardrail violation detected', {
151
+ layer,
152
+ allowed: result.allowed,
153
+ harmCount: result.harmScores.length,
154
+ categories: result.harmScores.map((s) => s.category),
155
+ });
156
+ }
157
+ if (this._config.onViolation) {
158
+ this._config.onViolation(result, layer);
159
+ }
160
+ }
161
+ }
162
+ }
163
+ //# sourceMappingURL=constitutional-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constitutional-ai.js","sourceRoot":"","sources":["../../src/constitutional/constitutional-ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type { GuardrailConfig, CritiqueResult, RevisionResult, Constitution, ConstitutionalPrinciple, LLMBackend, Message } from '@cogitator-ai/types';
2
+ export interface CritiqueReviserOptions {
3
+ llm: LLMBackend;
4
+ config: GuardrailConfig;
5
+ constitution: Constitution;
6
+ }
7
+ export declare class CritiqueReviser {
8
+ private llm;
9
+ private config;
10
+ private constitution;
11
+ private principles;
12
+ constructor(options: CritiqueReviserOptions);
13
+ critiqueAndRevise(response: string, _context: Message[]): Promise<RevisionResult>;
14
+ critique(response: string, principles?: ConstitutionalPrinciple[]): Promise<CritiqueResult>;
15
+ revise(response: string, critique: CritiqueResult, violatedPrinciples: ConstitutionalPrinciple[]): Promise<string>;
16
+ private selectPrinciples;
17
+ private categoryKeywords;
18
+ updateConstitution(constitution: Constitution): void;
19
+ }
20
+ //# sourceMappingURL=critique-reviser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"critique-reviser.d.ts","sourceRoot":"","sources":["../../src/constitutional/critique-reviser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,uBAAuB,EACvB,UAAU,EACV,OAAO,EACR,MAAM,qBAAqB,CAAC;AAI7B,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,UAAU,CAAC;IAChB,MAAM,EAAE,eAAe,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,UAAU,CAA4B;gBAElC,OAAO,EAAE,sBAAsB;IAOrC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC;IAuCjF,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,uBAAuB,EAAE,GACrC,OAAO,CAAC,cAAc,CAAC;IAcpB,MAAM,CACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,cAAc,EACxB,kBAAkB,EAAE,uBAAuB,EAAE,GAC5C,OAAO,CAAC,MAAM,CAAC;IAalB,OAAO,CAAC,gBAAgB;IAuBxB,OAAO,CAAC,gBAAgB,CAStB;IAEF,kBAAkB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;CAIrD"}