centient 2.21.0 → 2.25.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 (91) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/README.md +134 -21
  3. package/dist/cli.d.ts +38 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +816 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/commands.d.ts +18 -0
  8. package/dist/commands.d.ts.map +1 -0
  9. package/dist/commands.js +341 -0
  10. package/dist/commands.js.map +1 -0
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +86 -18
  14. package/dist/index.js.map +1 -1
  15. package/dist/server.d.ts +4 -0
  16. package/dist/server.d.ts.map +1 -1
  17. package/dist/server.js +167 -96
  18. package/dist/server.js.map +1 -1
  19. package/dist/telemetry/tracer.d.ts.map +1 -1
  20. package/dist/telemetry/tracer.js +15 -1
  21. package/dist/telemetry/tracer.js.map +1 -1
  22. package/dist/tools/knowledge/promoteDecision.d.ts.map +1 -1
  23. package/dist/tools/knowledge/promoteDecision.js +7 -1
  24. package/dist/tools/knowledge/promoteDecision.js.map +1 -1
  25. package/dist/tools/knowledge/promoteLearning.d.ts.map +1 -1
  26. package/dist/tools/knowledge/promoteLearning.js +7 -1
  27. package/dist/tools/knowledge/promoteLearning.js.map +1 -1
  28. package/dist/tools/memory-bank/pushToMemoryBank.d.ts +9 -0
  29. package/dist/tools/memory-bank/pushToMemoryBank.d.ts.map +1 -0
  30. package/dist/tools/memory-bank/pushToMemoryBank.js +195 -0
  31. package/dist/tools/memory-bank/pushToMemoryBank.js.map +1 -0
  32. package/dist/tools/patterns/executeSkill.js +0 -41
  33. package/dist/tools/patterns/executeSkill.js.map +1 -1
  34. package/dist/tools/patterns/loadSkill.js +0 -17
  35. package/dist/tools/patterns/loadSkill.js.map +1 -1
  36. package/dist/tools/patterns/searchPatterns.js +0 -15
  37. package/dist/tools/patterns/searchPatterns.js.map +1 -1
  38. package/dist/tools/patterns/signPattern.js +0 -20
  39. package/dist/tools/patterns/signPattern.js.map +1 -1
  40. package/dist/utils/AuditLogger.d.ts +25 -18
  41. package/dist/utils/AuditLogger.d.ts.map +1 -1
  42. package/dist/utils/AuditLogger.js +261 -150
  43. package/dist/utils/AuditLogger.js.map +1 -1
  44. package/dist/utils/GeminiEmbeddingService.d.ts +25 -0
  45. package/dist/utils/GeminiEmbeddingService.d.ts.map +1 -0
  46. package/dist/utils/GeminiEmbeddingService.js +115 -0
  47. package/dist/utils/GeminiEmbeddingService.js.map +1 -0
  48. package/dist/utils/InstanceRegistry.d.ts +47 -0
  49. package/dist/utils/InstanceRegistry.d.ts.map +1 -0
  50. package/dist/utils/InstanceRegistry.js +195 -0
  51. package/dist/utils/InstanceRegistry.js.map +1 -0
  52. package/dist/utils/MetaKnowledgeEncryption.d.ts +21 -0
  53. package/dist/utils/MetaKnowledgeEncryption.d.ts.map +1 -0
  54. package/dist/utils/MetaKnowledgeEncryption.js +125 -0
  55. package/dist/utils/MetaKnowledgeEncryption.js.map +1 -0
  56. package/dist/utils/MetaKnowledgeManager.d.ts +18 -0
  57. package/dist/utils/MetaKnowledgeManager.d.ts.map +1 -1
  58. package/dist/utils/MetaKnowledgeManager.js +110 -6
  59. package/dist/utils/MetaKnowledgeManager.js.map +1 -1
  60. package/dist/utils/PatternIndexer.d.ts +1 -2
  61. package/dist/utils/PatternIndexer.d.ts.map +1 -1
  62. package/dist/utils/PatternIndexer.js +40 -72
  63. package/dist/utils/PatternIndexer.js.map +1 -1
  64. package/dist/utils/SessionCoordinator.d.ts +0 -1
  65. package/dist/utils/SessionCoordinator.d.ts.map +1 -1
  66. package/dist/utils/SessionCoordinator.js +3 -61
  67. package/dist/utils/SessionCoordinator.js.map +1 -1
  68. package/dist/utils/VertexSync.d.ts +12 -0
  69. package/dist/utils/VertexSync.d.ts.map +1 -0
  70. package/dist/utils/VertexSync.js +173 -0
  71. package/dist/utils/VertexSync.js.map +1 -0
  72. package/dist/utils/config.d.ts +60 -0
  73. package/dist/utils/config.d.ts.map +1 -0
  74. package/dist/utils/config.js +246 -0
  75. package/dist/utils/config.js.map +1 -0
  76. package/dist/utils/rlvr/RewardHistoryStore.d.ts +0 -2
  77. package/dist/utils/rlvr/RewardHistoryStore.d.ts.map +1 -1
  78. package/dist/utils/rlvr/RewardHistoryStore.js +5 -18
  79. package/dist/utils/rlvr/RewardHistoryStore.js.map +1 -1
  80. package/package.json +2 -1
  81. package/templates/claude/commands/check-duplicate.md +57 -0
  82. package/templates/claude/commands/checkpoint.md +47 -0
  83. package/templates/claude/commands/constraint.md +60 -0
  84. package/templates/claude/commands/finalize.md +56 -0
  85. package/templates/claude/commands/history.md +60 -0
  86. package/templates/claude/commands/note.md +50 -0
  87. package/templates/claude/commands/patterns.md +51 -0
  88. package/templates/claude/commands/promote.md +62 -0
  89. package/templates/claude/commands/recall.md +55 -0
  90. package/templates/claude/commands/session-start.md +52 -0
  91. package/templates/claude/commands/session-status.md +62 -0
@@ -0,0 +1,246 @@
1
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "fs";
2
+ import { join } from "path";
3
+ import { homedir } from "os";
4
+ function computeCentientDir() {
5
+ return join(homedir(), ".centient");
6
+ }
7
+ function computeConfigFilePath() {
8
+ return join(computeCentientDir(), "config.json");
9
+ }
10
+ function getDefaultConfig() {
11
+ const centientDir = computeCentientDir();
12
+ return {
13
+ logs: {
14
+ path: join(centientDir, "logs"),
15
+ maxSizeMB: 50,
16
+ retentionDays: 90,
17
+ },
18
+ qdrant: {},
19
+ gemini: {},
20
+ openrouter: {},
21
+ metaKnowledge: {
22
+ path: join(homedir(), ".mcp-context"),
23
+ encryption: {
24
+ enabled: false,
25
+ algorithm: "aes-256-gcm",
26
+ keySource: "derived",
27
+ },
28
+ vertex: {
29
+ enabled: false,
30
+ syncOnPromote: false,
31
+ },
32
+ retention: {
33
+ days: 0,
34
+ archiveBeforePurge: true,
35
+ archivePath: join(centientDir, "archives"),
36
+ },
37
+ },
38
+ };
39
+ }
40
+ const CONFIG_TEMPLATE = `{
41
+ "logs": {
42
+ "path": "~/.centient/logs",
43
+ "maxSizeMB": 50,
44
+ "retentionDays": 90
45
+ },
46
+ "qdrant": {
47
+ "url": "",
48
+ "apiKey": ""
49
+ },
50
+ "gemini": {
51
+ "apiKey": ""
52
+ },
53
+ "openrouter": {
54
+ "apiKey": ""
55
+ },
56
+ "metaKnowledge": {
57
+ "path": "~/.mcp-context",
58
+ "encryption": {
59
+ "enabled": false,
60
+ "algorithm": "aes-256-gcm",
61
+ "keySource": "derived"
62
+ },
63
+ "vertex": {
64
+ "enabled": false,
65
+ "projectId": "",
66
+ "location": "us-central1",
67
+ "syncOnPromote": false
68
+ },
69
+ "retention": {
70
+ "days": 0,
71
+ "archiveBeforePurge": true,
72
+ "archivePath": "~/.centient/archives"
73
+ }
74
+ }
75
+ }
76
+ `;
77
+ const CONFIG_README = `# Centient Configuration
78
+
79
+ This directory contains configuration and data for centient MCP server.
80
+
81
+ ## Files
82
+
83
+ - \`config.json\` - Main configuration file
84
+ - \`instances/\` - Running instance registry (auto-managed)
85
+ - \`logs/\` - Audit logs (auto-managed)
86
+
87
+ ## Configuration
88
+
89
+ Edit \`config.json\` to set your API keys and preferences.
90
+
91
+ ### Required API Keys
92
+
93
+ Set these either in config.json or as environment variables:
94
+
95
+ | Config Key | Environment Variable | Description |
96
+ |------------|---------------------|-------------|
97
+ | qdrant.url | QDRANT_URL | Qdrant Cloud cluster URL |
98
+ | qdrant.apiKey | QDRANT_API_KEY | Qdrant API key |
99
+ | gemini.apiKey | GEMINI_API_KEY | Google Gemini API key |
100
+ | openrouter.apiKey | OPENROUTER_API_KEY | OpenRouter API key |
101
+
102
+ ### Logs Configuration
103
+
104
+ | Key | Default | Description |
105
+ |-----|---------|-------------|
106
+ | logs.path | ~/.centient/logs | Audit log directory |
107
+ | logs.maxSizeMB | 50 | Rotate when log exceeds this size |
108
+ | logs.retentionDays | 90 | Delete rotated logs older than this |
109
+
110
+ ## Environment Variables Take Priority
111
+
112
+ If an environment variable is set, it overrides the config file value.
113
+ This allows you to keep secrets in environment variables while using
114
+ the config file for non-sensitive settings.
115
+ `;
116
+ let cachedConfig = null;
117
+ function ensureConfigDir() {
118
+ const centientDir = computeCentientDir();
119
+ const configPath = computeConfigFilePath();
120
+ if (!existsSync(centientDir)) {
121
+ mkdirSync(centientDir, { recursive: true });
122
+ }
123
+ const readmePath = join(centientDir, "README.md");
124
+ if (!existsSync(readmePath)) {
125
+ writeFileSync(readmePath, CONFIG_README, "utf-8");
126
+ }
127
+ if (!existsSync(configPath)) {
128
+ writeFileSync(configPath, CONFIG_TEMPLATE, "utf-8");
129
+ }
130
+ }
131
+ function loadConfigFile() {
132
+ const configPath = computeConfigFilePath();
133
+ try {
134
+ if (!existsSync(configPath)) {
135
+ return {};
136
+ }
137
+ const content = readFileSync(configPath, "utf-8");
138
+ return JSON.parse(content);
139
+ }
140
+ catch (error) {
141
+ console.error(`[Config] Failed to load ${configPath}:`, error);
142
+ return {};
143
+ }
144
+ }
145
+ function expandPath(path) {
146
+ if (path.startsWith("~/")) {
147
+ return join(homedir(), path.slice(2));
148
+ }
149
+ return path;
150
+ }
151
+ function mergeConfig(fileConfig) {
152
+ const defaults = getDefaultConfig();
153
+ const config = {
154
+ logs: {
155
+ path: expandPath(fileConfig.logs?.path ?? defaults.logs.path),
156
+ maxSizeMB: fileConfig.logs?.maxSizeMB ?? defaults.logs.maxSizeMB,
157
+ retentionDays: fileConfig.logs?.retentionDays ?? defaults.logs.retentionDays,
158
+ },
159
+ qdrant: {
160
+ url: process.env.QDRANT_URL || fileConfig.qdrant?.url || undefined,
161
+ apiKey: process.env.QDRANT_API_KEY || fileConfig.qdrant?.apiKey || undefined,
162
+ },
163
+ gemini: {
164
+ apiKey: process.env.GEMINI_API_KEY || fileConfig.gemini?.apiKey || undefined,
165
+ },
166
+ openrouter: {
167
+ apiKey: process.env.OPENROUTER_API_KEY || fileConfig.openrouter?.apiKey || undefined,
168
+ },
169
+ metaKnowledge: {
170
+ path: expandPath(fileConfig.metaKnowledge?.path ?? defaults.metaKnowledge.path),
171
+ encryption: {
172
+ enabled: fileConfig.metaKnowledge?.encryption?.enabled ?? defaults.metaKnowledge.encryption.enabled,
173
+ algorithm: fileConfig.metaKnowledge?.encryption?.algorithm ?? defaults.metaKnowledge.encryption.algorithm,
174
+ keySource: fileConfig.metaKnowledge?.encryption?.keySource ?? defaults.metaKnowledge.encryption.keySource,
175
+ },
176
+ vertex: {
177
+ enabled: fileConfig.metaKnowledge?.vertex?.enabled ?? defaults.metaKnowledge.vertex.enabled,
178
+ projectId: fileConfig.metaKnowledge?.vertex?.projectId,
179
+ location: fileConfig.metaKnowledge?.vertex?.location,
180
+ syncOnPromote: fileConfig.metaKnowledge?.vertex?.syncOnPromote ?? defaults.metaKnowledge.vertex.syncOnPromote,
181
+ },
182
+ retention: {
183
+ days: fileConfig.metaKnowledge?.retention?.days ?? defaults.metaKnowledge.retention.days,
184
+ archiveBeforePurge: fileConfig.metaKnowledge?.retention?.archiveBeforePurge ?? defaults.metaKnowledge.retention.archiveBeforePurge,
185
+ archivePath: expandPath(fileConfig.metaKnowledge?.retention?.archivePath ?? defaults.metaKnowledge.retention.archivePath),
186
+ },
187
+ },
188
+ };
189
+ return config;
190
+ }
191
+ export function getConfig(reload = false) {
192
+ if (cachedConfig && !reload) {
193
+ return cachedConfig;
194
+ }
195
+ ensureConfigDir();
196
+ const fileConfig = loadConfigFile();
197
+ cachedConfig = mergeConfig(fileConfig);
198
+ return cachedConfig;
199
+ }
200
+ export function getLogsConfig() {
201
+ return getConfig().logs;
202
+ }
203
+ export function getLogsPath() {
204
+ return getConfig().logs.path;
205
+ }
206
+ export function getAuditLogPath() {
207
+ return join(getLogsPath(), "audit.jsonl");
208
+ }
209
+ export function getQdrantConfig() {
210
+ return getConfig().qdrant;
211
+ }
212
+ export function getGeminiConfig() {
213
+ return getConfig().gemini;
214
+ }
215
+ export function getOpenRouterConfig() {
216
+ return getConfig().openrouter;
217
+ }
218
+ export function getMetaKnowledgeConfig() {
219
+ return getConfig().metaKnowledge;
220
+ }
221
+ export function validateConfig() {
222
+ const config = getConfig();
223
+ const missing = [];
224
+ if (!config.qdrant.url)
225
+ missing.push("QDRANT_URL");
226
+ if (!config.qdrant.apiKey)
227
+ missing.push("QDRANT_API_KEY");
228
+ if (!config.gemini.apiKey)
229
+ missing.push("GEMINI_API_KEY");
230
+ if (!config.openrouter.apiKey)
231
+ missing.push("OPENROUTER_API_KEY");
232
+ return {
233
+ valid: missing.length === 0,
234
+ missing,
235
+ };
236
+ }
237
+ export function getCentientDir() {
238
+ return computeCentientDir();
239
+ }
240
+ export function getConfigPath() {
241
+ return computeConfigFilePath();
242
+ }
243
+ export function resetConfigCache() {
244
+ cachedConfig = null;
245
+ }
246
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,8 @@
1
1
  import { RewardSignal, RewardHistory } from "./types.js";
2
2
  export interface RewardHistoryStoreConfig {
3
3
  inMemoryOnly?: boolean;
4
- openaiApiKey?: string;
5
4
  }
6
5
  export declare class RewardHistoryStore {
7
- private openai;
8
6
  private config;
9
7
  private initialized;
10
8
  private useQdrant;
@@ -1 +1 @@
1
- {"version":3,"file":"RewardHistoryStore.d.ts","sourceRoot":"","sources":["../../../src/utils/rlvr/RewardHistoryStore.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAUtE,MAAM,WAAW,wBAAwB;IAEvC,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAYD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,GAAE,wBAA6B;IAc3C,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAmFrE,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAsBjE,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmCjC,cAAc,CAClB,KAAK,GAAE,MAAW,EAClB,QAAQ,GAAE,MAAU,GACnB,OAAO,CACR,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CACrE;IA+BK,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA0CjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B9C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBzB,QAAQ,IAAI,OAAO,CAAC;QACxB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;YAgDY,YAAY;YAsCZ,cAAc;IAyD5B,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,YAAY;YA4CN,YAAY;IAa1B,OAAO,CAAC,eAAe;CAIxB;AAWD,wBAAgB,qBAAqB,CACnC,MAAM,CAAC,EAAE,wBAAwB,GAChC,kBAAkB,CAKpB;AAKD,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}
1
+ {"version":3,"file":"RewardHistoryStore.d.ts","sourceRoot":"","sources":["../../../src/utils/rlvr/RewardHistoryStore.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAe,MAAM,YAAY,CAAC;AAWtE,MAAM,WAAW,wBAAwB;IAEvC,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAYD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,GAAE,wBAA6B;IAQ3C,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAmFrE,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB/C,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAsBjE,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAmCjC,cAAc,CAClB,KAAK,GAAE,MAAW,EAClB,QAAQ,GAAE,MAAU,GACnB,OAAO,CACR,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CACrE;IA+BK,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,KAAK,GAAE,MAAU,GAChB,OAAO,CAAC,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA0CjD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B9C,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBzB,QAAQ,IAAI,OAAO,CAAC;QACxB,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;QAC1B,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE;YACf,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;YAgDY,YAAY;YAsCZ,cAAc;IAyD5B,OAAO,CAAC,cAAc;IAiDtB,OAAO,CAAC,YAAY;YA4CN,YAAY;IAK1B,OAAO,CAAC,eAAe;CAIxB;AAWD,wBAAgB,qBAAqB,CACnC,MAAM,CAAC,EAAE,wBAAwB,GAChC,kBAAkB,CAKpB;AAKD,wBAAgB,uBAAuB,IAAI,IAAI,CAG9C"}
@@ -1,23 +1,16 @@
1
1
  import { randomUUID } from "crypto";
2
- import { OpenAI } from "openai";
3
2
  import { getQdrantClient } from "../QdrantConnectionManager.js";
3
+ import { getEmbeddingService } from "../GeminiEmbeddingService.js";
4
4
  const COLLECTION_NAME = "rlvr-reward-history";
5
5
  const VECTOR_SIZE = 3072;
6
6
  const MAX_REWARDS_PER_PATTERN = 100;
7
7
  const inMemoryStore = new Map();
8
8
  export class RewardHistoryStore {
9
- openai = null;
10
9
  config;
11
10
  initialized = false;
12
11
  useQdrant = false;
13
12
  constructor(config = {}) {
14
13
  this.config = config;
15
- if (!config.inMemoryOnly) {
16
- const openaiKey = config.openaiApiKey || process.env.OPENAI_API_KEY;
17
- if (openaiKey) {
18
- this.openai = new OpenAI({ apiKey: openaiKey });
19
- }
20
- }
21
14
  }
22
15
  async initialize() {
23
16
  if (this.initialized) {
@@ -152,7 +145,7 @@ export class RewardHistoryStore {
152
145
  .slice(0, limit);
153
146
  }
154
147
  async findSimilarPatterns(description, limit = 5) {
155
- if (!this.useQdrant || !this.openai) {
148
+ if (!this.useQdrant || !getEmbeddingService().isInitialized()) {
156
149
  return [];
157
150
  }
158
151
  try {
@@ -258,7 +251,7 @@ export class RewardHistoryStore {
258
251
  async saveToQdrant(signal) {
259
252
  try {
260
253
  const client = await getQdrantClient();
261
- if (!client || !this.openai)
254
+ if (!client || !getEmbeddingService().isInitialized())
262
255
  return;
263
256
  const embeddingText = `Pattern: ${signal.patternId}\n${signal.breakdown.map((b) => `${b.category}: ${b.details}`).join("\n")}`;
264
257
  const embedding = await this.getEmbedding(embeddingText);
@@ -401,14 +394,8 @@ export class RewardHistoryStore {
401
394
  };
402
395
  }
403
396
  async getEmbedding(text) {
404
- if (!this.openai) {
405
- throw new Error("OpenAI client not initialized");
406
- }
407
- const response = await this.openai.embeddings.create({
408
- model: "text-embedding-3-large",
409
- input: text,
410
- });
411
- return response.data[0].embedding;
397
+ const result = await getEmbeddingService().generateEmbedding(text, "rlvr");
398
+ return result.embedding;
412
399
  }
413
400
  generatePointId() {
414
401
  return randomUUID();
@@ -1 +1 @@
1
- {"version":3,"file":"RewardHistoryStore.js","sourceRoot":"","sources":["../../../src/utils/rlvr/RewardHistoryStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RewardHistoryStore.js","sourceRoot":"","sources":["../../../src/utils/rlvr/RewardHistoryStore.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centient",
3
- "version": "2.21.0",
3
+ "version": "2.25.1",
4
4
  "description": "MCP server for context engineering operations with handoff protocol, health monitoring, session branching with visualization, and query-based artifact loading",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -64,6 +64,7 @@
64
64
  },
65
65
  "files": [
66
66
  "dist",
67
+ "templates",
67
68
  "README.md",
68
69
  "CHANGELOG.md"
69
70
  ],
@@ -0,0 +1,57 @@
1
+ ---
2
+ centient-version: 2.25.1
3
+ description: Check for duplicate work
4
+ allowed-tools: mcp__centient__check_duplicate_work
5
+ ---
6
+
7
+ # /check-duplicate
8
+
9
+ Check if similar work already exists in the current session.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /check-duplicate implementing user authentication
15
+ /check-duplicate adding caching to API endpoints
16
+ ```
17
+
18
+ ## What This Does
19
+
20
+ 1. Calls `check_duplicate_work` with the description
21
+ 2. Returns matches above similarity threshold
22
+ 3. Helps avoid redundant implementations
23
+
24
+ ## Workflow
25
+
26
+ 1. **Check for Duplicates**: Call `check_duplicate_work` with:
27
+ - `description`: Description of the work you want to do
28
+ - `threshold`: Similarity threshold (default 0.75)
29
+
30
+ 2. **Display Results**: Show any matching prior work:
31
+ - Similar decisions or implementations
32
+ - Relevance score
33
+ - When the similar work was done
34
+
35
+ 3. **Recommend Action**:
36
+ - If duplicates found: Review existing work first
37
+ - If no duplicates: Proceed with implementation
38
+
39
+ ## When to Use
40
+
41
+ Run before starting:
42
+ - New feature implementations
43
+ - Refactoring efforts
44
+ - Bug fixes (might already be fixed)
45
+ - Pattern implementations
46
+
47
+ ## Example Output
48
+
49
+ ```
50
+ Found similar work:
51
+ 1. [0.85] Decision: Implemented JWT auth in session 2026-01-10
52
+ → Consider reusing existing implementation
53
+
54
+ No action needed - proceed with new work.
55
+ ```
56
+
57
+ Work description: $ARGUMENTS
@@ -0,0 +1,47 @@
1
+ ---
2
+ centient-version: 2.25.1
3
+ description: Save current progress as a checkpoint
4
+ allowed-tools: mcp__centient__*
5
+ ---
6
+
7
+ # /checkpoint
8
+
9
+ Create a checkpoint of current session progress to preserve context.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /checkpoint
15
+ /checkpoint authentication work
16
+ ```
17
+
18
+ ## What This Does
19
+
20
+ 1. Reviews current session state via `get_session_summary`
21
+ 2. Saves any unsaved decisions or learnings via `save_session_note`
22
+ 3. Shows compression metrics via `getCompressionRatio`
23
+ 4. Summarizes what was captured
24
+
25
+ ## Workflow
26
+
27
+ 1. **Review Session State**: Call `get_session_summary` to see:
28
+ - Total notes by type (decisions, hypotheses, blockers, learnings)
29
+ - Branch visualization if exploration branches exist
30
+ - Key memories captured so far
31
+
32
+ 2. **Save Recent Work**: If there are unsaved decisions or learnings from recent work, save them via `save_session_note`
33
+
34
+ 3. **Show Metrics**: Call `getCompressionRatio` with current projectPath to show token savings
35
+
36
+ 4. **Summarize**: Display what was captured in this checkpoint
37
+
38
+ ## When to Use
39
+
40
+ Run `/checkpoint` at these intervals:
41
+ - Every 30-45 minutes during active development
42
+ - After completing a major subtask
43
+ - Before context switching to a different area
44
+ - After making a significant architectural decision
45
+ - When encountering and resolving a blocker
46
+
47
+ Checkpoint context: $ARGUMENTS
@@ -0,0 +1,60 @@
1
+ ---
2
+ centient-version: 2.25.1
3
+ description: Manage session constraints
4
+ allowed-tools: mcp__centient__track_constraint, mcp__centient__get_constraints, mcp__centient__lift_constraint, mcp__centient__check_constraint_violation
5
+ ---
6
+
7
+ # /constraint
8
+
9
+ Track and enforce constraints throughout the session.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /constraint add No external API calls during testing
15
+ /constraint list
16
+ /constraint lift <constraint-id>
17
+ /constraint check npm install axios
18
+ ```
19
+
20
+ ## Commands
21
+
22
+ | Command | Description |
23
+ |---------|-------------|
24
+ | `add <constraint>` | Track a new constraint |
25
+ | `list` | Show all active constraints |
26
+ | `lift <id>` | Deactivate a constraint |
27
+ | `check <action>` | Check if action violates constraints |
28
+
29
+ ## Workflow
30
+
31
+ ### Adding Constraints
32
+
33
+ Call `track_constraint` with:
34
+ - `content`: The constraint text
35
+ - `scope`: "session", "task", or "file"
36
+ - `detected_from`: "explicit" (user-specified)
37
+
38
+ ### Listing Constraints
39
+
40
+ Call `get_constraints` to see all active constraints with:
41
+ - Constraint ID
42
+ - Content
43
+ - Keywords (auto-extracted)
44
+ - Scope and status
45
+
46
+ ### Checking Violations
47
+
48
+ Call `check_constraint_violation` with:
49
+ - `proposedAction`: The action to check
50
+
51
+ Returns violations with severity and reasons.
52
+
53
+ ## Example Constraints
54
+
55
+ - "No external API calls during data processing"
56
+ - "All database queries must use parameterized statements"
57
+ - "No console.log in production code"
58
+ - "All new functions must have JSDoc comments"
59
+
60
+ Constraint command: $ARGUMENTS
@@ -0,0 +1,56 @@
1
+ ---
2
+ centient-version: 2.25.1
3
+ description: End session and create artifacts
4
+ allowed-tools: mcp__centient__*
5
+ ---
6
+
7
+ # /finalize
8
+
9
+ Crystallize knowledge from this session into permanent, discoverable documentation.
10
+
11
+ ## Usage
12
+
13
+ ```
14
+ /finalize
15
+ /finalize --gist
16
+ ```
17
+
18
+ ## What This Does
19
+
20
+ 1. Extracts session memories via `extract_session_memories`
21
+ 2. Reviews git changes since session start
22
+ 3. Creates finalization pack (JSON + Markdown)
23
+ 4. Pushes to Memory Bank via `push_to_memory_bank`
24
+ 5. Cleans up session coordination via `finalize_session_coordination`
25
+ 6. Commits and pushes to GitHub
26
+
27
+ ## Workflow
28
+
29
+ 1. **Extract Memories**: Call `extract_session_memories` to get all session notes
30
+
31
+ 2. **Review Git Changes**: Check commits and file changes since session start
32
+
33
+ 3. **Generate Artifacts**: Create in `.agent-artifacts/YYYY-MM-DD-<session>/`:
34
+ - `finalization-pack.json` - Structured knowledge
35
+ - `finalization-pack.md` - Human-readable narrative
36
+ - `session-summary.md` - Concise summary
37
+
38
+ 4. **Push to Memory Bank**: Call `push_to_memory_bank` with the finalization pack path
39
+
40
+ 5. **Cleanup**: Call `finalize_session_coordination` to clean up Qdrant session
41
+
42
+ 6. **Commit**: Stage, commit, and push all artifacts to GitHub
43
+
44
+ ## Finalization Pack Structure
45
+
46
+ The JSON must include:
47
+ - `session`: id, date, branch, commit
48
+ - `summary`: sessionType, title, description, impact
49
+ - `memories`: decisions, learnings, patterns, blockers
50
+ - `files_modified`: created, modified, deleted, read_only
51
+
52
+ ## Options
53
+
54
+ - `--gist`: Also publish session to GitHub Gist for sharing
55
+
56
+ Finalize options: $ARGUMENTS