claude-cognitive 0.3.4 → 0.4.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 (86) hide show
  1. package/README.md +52 -2
  2. package/dist/agents/context.d.ts.map +1 -1
  3. package/dist/agents/context.js +7 -7
  4. package/dist/agents/context.js.map +1 -1
  5. package/dist/cli/commands/feedback-stats.d.ts +10 -0
  6. package/dist/cli/commands/feedback-stats.d.ts.map +1 -0
  7. package/dist/cli/commands/feedback-stats.js +70 -0
  8. package/dist/cli/commands/feedback-stats.js.map +1 -0
  9. package/dist/cli/commands/feedback-sync.d.ts +10 -0
  10. package/dist/cli/commands/feedback-sync.d.ts.map +1 -0
  11. package/dist/cli/commands/feedback-sync.js +117 -0
  12. package/dist/cli/commands/feedback-sync.js.map +1 -0
  13. package/dist/cli/commands/index.d.ts +2 -0
  14. package/dist/cli/commands/index.d.ts.map +1 -1
  15. package/dist/cli/commands/index.js +2 -0
  16. package/dist/cli/commands/index.js.map +1 -1
  17. package/dist/cli/commands/init.d.ts.map +1 -1
  18. package/dist/cli/commands/init.js +32 -37
  19. package/dist/cli/commands/init.js.map +1 -1
  20. package/dist/cli/index.js +4 -2
  21. package/dist/cli/index.js.map +1 -1
  22. package/dist/client.d.ts +121 -22
  23. package/dist/client.d.ts.map +1 -1
  24. package/dist/client.js +203 -31
  25. package/dist/client.js.map +1 -1
  26. package/dist/events.d.ts +20 -0
  27. package/dist/events.d.ts.map +1 -1
  28. package/dist/events.js.map +1 -1
  29. package/dist/feedback/constants.d.ts +72 -0
  30. package/dist/feedback/constants.d.ts.map +1 -0
  31. package/dist/feedback/constants.js +145 -0
  32. package/dist/feedback/constants.js.map +1 -0
  33. package/dist/feedback/detector.d.ts +75 -0
  34. package/dist/feedback/detector.d.ts.map +1 -0
  35. package/dist/feedback/detector.js +393 -0
  36. package/dist/feedback/detector.js.map +1 -0
  37. package/dist/feedback/index.d.ts +85 -0
  38. package/dist/feedback/index.d.ts.map +1 -0
  39. package/dist/feedback/index.js +194 -0
  40. package/dist/feedback/index.js.map +1 -0
  41. package/dist/feedback/offline-queue.d.ts +110 -0
  42. package/dist/feedback/offline-queue.d.ts.map +1 -0
  43. package/dist/feedback/offline-queue.js +188 -0
  44. package/dist/feedback/offline-queue.js.map +1 -0
  45. package/dist/feedback/scorer.d.ts +81 -0
  46. package/dist/feedback/scorer.d.ts.map +1 -0
  47. package/dist/feedback/scorer.js +194 -0
  48. package/dist/feedback/scorer.js.map +1 -0
  49. package/dist/feedback/similarity.d.ts +19 -0
  50. package/dist/feedback/similarity.d.ts.map +1 -0
  51. package/dist/feedback/similarity.js +49 -0
  52. package/dist/feedback/similarity.js.map +1 -0
  53. package/dist/feedback/tracker.d.ts +104 -0
  54. package/dist/feedback/tracker.d.ts.map +1 -0
  55. package/dist/feedback/tracker.js +324 -0
  56. package/dist/feedback/tracker.js.map +1 -0
  57. package/dist/hooks/process-session.d.ts.map +1 -1
  58. package/dist/hooks/process-session.js +13 -1
  59. package/dist/hooks/process-session.js.map +1 -1
  60. package/dist/index.d.ts +7 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +13 -0
  63. package/dist/index.js.map +1 -1
  64. package/dist/learn/index.d.ts.map +1 -1
  65. package/dist/learn/index.js +6 -2
  66. package/dist/learn/index.js.map +1 -1
  67. package/dist/mcp/handlers.d.ts +9 -1
  68. package/dist/mcp/handlers.d.ts.map +1 -1
  69. package/dist/mcp/handlers.js +66 -0
  70. package/dist/mcp/handlers.js.map +1 -1
  71. package/dist/mcp/server.d.ts.map +1 -1
  72. package/dist/mcp/server.js +42 -2
  73. package/dist/mcp/server.js.map +1 -1
  74. package/dist/mcp/tools.d.ts +77 -0
  75. package/dist/mcp/tools.d.ts.map +1 -1
  76. package/dist/mcp/tools.js +30 -0
  77. package/dist/mcp/tools.js.map +1 -1
  78. package/dist/mcp/types.d.ts +16 -0
  79. package/dist/mcp/types.d.ts.map +1 -1
  80. package/dist/mind.d.ts +25 -1
  81. package/dist/mind.d.ts.map +1 -1
  82. package/dist/mind.js +196 -11
  83. package/dist/mind.js.map +1 -1
  84. package/dist/types.d.ts +166 -1
  85. package/dist/types.d.ts.map +1 -1
  86. package/package.json +1 -1
package/README.md CHANGED
@@ -43,7 +43,7 @@ claude-cognitive uninstall --delete-bank
43
43
 
44
44
  ## How It Works
45
45
 
46
- ![Session Lifecycle](./docs/session-lifecycle.svg)
46
+ ![Session Lifecycle](./docs/session-lifecycle.png)
47
47
 
48
48
  ### Core Operations
49
49
 
@@ -67,7 +67,7 @@ claude-cognitive uninstall --delete-bank
67
67
 
68
68
  ## Architecture
69
69
 
70
- ![Architecture](./docs/architecture.svg)
70
+ ![Architecture](./docs/architecture.png)
71
71
 
72
72
  ### Memory Layers
73
73
 
@@ -116,6 +116,8 @@ claude-cognitive reflect "query" # Reason about knowledge
116
116
  claude-cognitive config # Show configuration
117
117
  claude-cognitive update # Update global configuration
118
118
  claude-cognitive update --check # Check what needs updating
119
+ claude-cognitive feedback-stats # Show feedback queue statistics
120
+ claude-cognitive feedback-sync # Sync pending feedback signals
119
121
  claude-cognitive uninstall # Remove from project
120
122
  ```
121
123
 
@@ -175,6 +177,53 @@ When Hindsight becomes available again, offline memories are automatically synce
175
177
 
176
178
  ---
177
179
 
180
+ ## Feedback Signals
181
+
182
+ claude-cognitive automatically tracks which recalled memories are useful and submits feedback to Hindsight. This enables **query-context aware scoring** - frequently used facts rank higher in future recalls.
183
+
184
+ ### How It Works
185
+
186
+ 1. **Track** - Recalls are tracked during sessions
187
+ 2. **Detect** - 4 detection strategies identify which facts Claude used
188
+ 3. **Score** - Signals are aggregated into used/ignored verdicts
189
+ 4. **Submit** - Feedback is sent to Hindsight (or queued offline)
190
+ 5. **Boost** - Future recalls prioritize frequently-used facts
191
+
192
+ ### Detection Strategies
193
+
194
+ | Strategy | Confidence | Description |
195
+ |----------|------------|-------------|
196
+ | Explicit Reference | 0.9 | "I remember...", "As mentioned before..." |
197
+ | Semantic Similarity | 0.7 | Word overlap between response and facts |
198
+ | File Access | 0.4 | Fact mentions files Claude accessed |
199
+ | Task Correlation | 0.5 | Fact topics match completed tasks |
200
+
201
+ ### Configuration
202
+
203
+ ```json
204
+ {
205
+ "feedback": {
206
+ "enabled": true,
207
+ "detection": {
208
+ "explicit": true,
209
+ "semantic": true,
210
+ "behavioral": true
211
+ }
212
+ }
213
+ }
214
+ ```
215
+
216
+ ### CLI Commands
217
+
218
+ ```bash
219
+ claude-cognitive feedback-stats # Show queue statistics
220
+ claude-cognitive feedback-sync # Sync pending signals
221
+ ```
222
+
223
+ See [Feedback Signals](./docs/feedback-signals.md) for full documentation.
224
+
225
+ ---
226
+
178
227
  ## API Usage
179
228
 
180
229
  ```typescript
@@ -220,6 +269,7 @@ Without Hindsight, claude-cognitive works in offline mode - memories are stored
220
269
  - **[Concepts](./docs/concepts.md)** - Memory networks, operations, architecture
221
270
  - **[Configuration](./docs/configuration.md)** - Full configuration reference
222
271
  - **[API Reference](./docs/api-reference.md)** - Complete API documentation
272
+ - **[Feedback Signals](./docs/feedback-signals.md)** - Automatic usage tracking
223
273
  - **[Performance](./docs/performance.md)** - Benchmarks and optimization
224
274
 
225
275
  ---
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agents/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,YAAY,CAAC,CA+BvB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA2D/D;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GACX,MAAM,CAeR"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/agents/context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,YAAY,CAAC,CA8BvB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,YAAY,GAAG,MAAM,CA2D/D;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,EACvB,IAAI,EAAE,MAAM,GACX,MAAM,CAeR"}
@@ -17,15 +17,15 @@
17
17
  */
18
18
  export async function getAgentContext(client, bankId, template, task, options = {}) {
19
19
  const { budget = "mid", additionalContext, maxMemories = 10 } = options;
20
- // Recall memories relevant to the task
21
- const recallOptions = {
22
- budget,
23
- factType: "all", // Agent benefits from all memory types
24
- includeEntities: true,
25
- };
26
20
  let memories = [];
27
21
  try {
28
- memories = await client.recall(bankId, task, recallOptions);
22
+ memories = await client.recall({
23
+ bankId,
24
+ query: task,
25
+ budget,
26
+ factType: "all", // Agent benefits from all memory types
27
+ includeEntities: true,
28
+ });
29
29
  // Limit to maxMemories
30
30
  memories = memories.slice(0, maxMemories);
31
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agents/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/agents/context.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI feedback-stats command - show feedback queue and processing statistics.
3
+ * @module cli/commands/feedback-stats
4
+ */
5
+ import type { CAC } from "cac";
6
+ /**
7
+ * Register the feedback-stats command.
8
+ */
9
+ export declare function registerFeedbackStatsCommand(cli: CAC): void;
10
+ //# sourceMappingURL=feedback-stats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-stats.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/feedback-stats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAuD/B;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAqC3D"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * CLI feedback-stats command - show feedback queue and processing statistics.
3
+ * @module cli/commands/feedback-stats
4
+ */
5
+ import { Mind } from "../../mind.js";
6
+ import { output, info } from "../utils/index.js";
7
+ /**
8
+ * Format feedback stats for human-readable output.
9
+ */
10
+ function formatFeedbackStats(result) {
11
+ const lines = [];
12
+ lines.push("Feedback System Status");
13
+ lines.push("=".repeat(40));
14
+ lines.push(`Bank: ${result.bankId}`);
15
+ lines.push(`Feedback enabled: ${result.feedbackEnabled ? "Yes" : "No"}`);
16
+ lines.push(`Mode: ${result.degraded ? "Degraded (offline)" : "Online"}`);
17
+ if (result.queue) {
18
+ lines.push("");
19
+ lines.push("Offline Queue:");
20
+ lines.push(` Total signals: ${result.queue.total}`);
21
+ lines.push(` Pending sync: ${result.queue.pending}`);
22
+ lines.push(` Already synced: ${result.queue.synced}`);
23
+ if (result.queue.lastSyncAttempt) {
24
+ const date = new Date(result.queue.lastSyncAttempt).toLocaleString();
25
+ lines.push(` Last sync attempt: ${date}`);
26
+ }
27
+ if (result.queue.lastSyncSuccess) {
28
+ const date = new Date(result.queue.lastSyncSuccess).toLocaleString();
29
+ lines.push(` Last successful sync: ${date}`);
30
+ }
31
+ }
32
+ else if (result.feedbackEnabled) {
33
+ lines.push("");
34
+ lines.push("Offline Queue: No pending signals");
35
+ }
36
+ return lines.join("\n");
37
+ }
38
+ /**
39
+ * Register the feedback-stats command.
40
+ */
41
+ export function registerFeedbackStatsCommand(cli) {
42
+ cli
43
+ .command("feedback-stats", "Show feedback queue and processing statistics")
44
+ .option("--project <path>", "Project directory (default: current directory)")
45
+ .option("--json", "Output as JSON")
46
+ .option("--quiet", "Suppress output")
47
+ .action(async (options) => {
48
+ const projectPath = options.project ?? process.cwd();
49
+ const mind = new Mind({ projectPath });
50
+ await mind.init();
51
+ const queue = mind.getOfflineFeedbackQueue();
52
+ const feedbackEnabled = queue !== null;
53
+ const result = {
54
+ feedbackEnabled,
55
+ degraded: mind.isDegraded,
56
+ bankId: mind.getBankId(),
57
+ };
58
+ if (queue) {
59
+ const stats = await queue.getStats();
60
+ result.queue = stats;
61
+ }
62
+ if (!feedbackEnabled && !options.quiet && !options.json) {
63
+ info("Feedback system is not enabled. Enable it in .claudemindrc:", options);
64
+ info(' "feedback": { "enabled": true }', options);
65
+ info("", options);
66
+ }
67
+ output(result, formatFeedbackStats, options);
68
+ });
69
+ }
70
+ //# sourceMappingURL=feedback-stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-stats.js","sourceRoot":"","sources":["../../../src/cli/commands/feedback-stats.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAErC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAejD;;GAEG;AACH,SAAS,mBAAmB,CAAC,MAA2B;IACtD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACrC,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACzE,KAAK,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEzE,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7B,KAAK,CAAC,IAAI,CAAC,oBAAoB,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,qBAAqB,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;QAEvD,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,wBAAwB,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,cAAc,EAAE,CAAC;YACrE,KAAK,CAAC,IAAI,CAAC,2BAA2B,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,GAAQ;IACnD,GAAG;SACA,OAAO,CAAC,gBAAgB,EAAE,+CAA+C,CAAC;SAC1E,MAAM,CACL,kBAAkB,EAClB,gDAAgD,CACjD;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,OAA6B,EAAE,EAAE;QAC9C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7C,MAAM,eAAe,GAAG,KAAK,KAAK,IAAI,CAAC;QAEvC,MAAM,MAAM,GAAwB;YAClC,eAAe;YACf,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE;SACzB,CAAC;QAEF,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YACrC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,IAAI,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,6DAA6D,EAAE,OAAO,CAAC,CAAC;YAC7E,IAAI,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACpB,CAAC;QAED,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * CLI feedback-sync command - sync pending offline feedback signals to Hindsight.
3
+ * @module cli/commands/feedback-sync
4
+ */
5
+ import type { CAC } from "cac";
6
+ /**
7
+ * Register the feedback-sync command.
8
+ */
9
+ export declare function registerFeedbackSyncCommand(cli: CAC): void;
10
+ //# sourceMappingURL=feedback-sync.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-sync.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/feedback-sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AA6C/B;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA+F1D"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * CLI feedback-sync command - sync pending offline feedback signals to Hindsight.
3
+ * @module cli/commands/feedback-sync
4
+ */
5
+ import { Mind } from "../../mind.js";
6
+ import { output, info } from "../utils/index.js";
7
+ /**
8
+ * Format feedback sync result for human-readable output.
9
+ */
10
+ function formatFeedbackSyncResult(result) {
11
+ const lines = [];
12
+ if (result.success) {
13
+ if (result.signalsSynced > 0) {
14
+ lines.push(`Successfully synced ${result.signalsSynced} feedback signal(s) to Hindsight.`);
15
+ }
16
+ else {
17
+ lines.push("No pending feedback signals to sync.");
18
+ }
19
+ if (result.signalsCleared > 0) {
20
+ lines.push(`Cleared ${result.signalsCleared} synced signal(s) from queue.`);
21
+ }
22
+ }
23
+ else {
24
+ lines.push(`Failed to sync feedback signals: ${result.error ?? "Unknown error"}`);
25
+ if (result.degraded) {
26
+ lines.push("Hindsight is unavailable. Signals will be synced when connection is restored.");
27
+ }
28
+ }
29
+ return lines.join("\n");
30
+ }
31
+ /**
32
+ * Register the feedback-sync command.
33
+ */
34
+ export function registerFeedbackSyncCommand(cli) {
35
+ cli
36
+ .command("feedback-sync", "Sync pending offline feedback signals to Hindsight")
37
+ .option("--project <path>", "Project directory (default: current directory)")
38
+ .option("--json", "Output as JSON")
39
+ .option("--quiet", "Suppress output")
40
+ .option("--clear", "Clear synced signals after successful sync")
41
+ .action(async (options) => {
42
+ const projectPath = options.project ?? process.cwd();
43
+ const mind = new Mind({ projectPath });
44
+ await mind.init();
45
+ const queue = mind.getOfflineFeedbackQueue();
46
+ if (!queue) {
47
+ const result = {
48
+ success: false,
49
+ signalsSynced: 0,
50
+ signalsCleared: 0,
51
+ error: "Feedback system is not enabled",
52
+ degraded: mind.isDegraded,
53
+ };
54
+ output(result, formatFeedbackSyncResult, options);
55
+ return;
56
+ }
57
+ // Check if we're in degraded mode
58
+ if (mind.isDegraded) {
59
+ // Attempt recovery first
60
+ info("Hindsight unavailable, attempting recovery...", options);
61
+ const recovered = await mind.attemptRecovery();
62
+ if (!recovered) {
63
+ const result = {
64
+ success: false,
65
+ signalsSynced: 0,
66
+ signalsCleared: 0,
67
+ error: "Hindsight is unavailable",
68
+ degraded: true,
69
+ };
70
+ output(result, formatFeedbackSyncResult, options);
71
+ return;
72
+ }
73
+ info("Connection restored!", options);
74
+ }
75
+ // Get pending count before sync
76
+ const statsBefore = await queue.getStats();
77
+ if (statsBefore.pending === 0) {
78
+ const result = {
79
+ success: true,
80
+ signalsSynced: 0,
81
+ signalsCleared: 0,
82
+ degraded: false,
83
+ };
84
+ output(result, formatFeedbackSyncResult, options);
85
+ return;
86
+ }
87
+ info(`Found ${statsBefore.pending} pending signal(s) to sync...`, options);
88
+ // Sync signals
89
+ let signalsSynced = 0;
90
+ let signalsCleared = 0;
91
+ try {
92
+ signalsSynced = await mind.syncOfflineFeedback();
93
+ // Clear synced signals if requested
94
+ if (options.clear && signalsSynced > 0) {
95
+ signalsCleared = await queue.clearSynced();
96
+ }
97
+ const result = {
98
+ success: true,
99
+ signalsSynced,
100
+ signalsCleared,
101
+ degraded: false,
102
+ };
103
+ output(result, formatFeedbackSyncResult, options);
104
+ }
105
+ catch (error) {
106
+ const result = {
107
+ success: false,
108
+ signalsSynced: 0,
109
+ signalsCleared: 0,
110
+ error: error instanceof Error ? error.message : String(error),
111
+ degraded: mind.isDegraded,
112
+ };
113
+ output(result, formatFeedbackSyncResult, options);
114
+ }
115
+ });
116
+ }
117
+ //# sourceMappingURL=feedback-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"feedback-sync.js","sourceRoot":"","sources":["../../../src/cli/commands/feedback-sync.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAiBjD;;GAEG;AACH,SAAS,wBAAwB,CAAC,MAA0B;IAC1D,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,aAAa,mCAAmC,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,WAAW,MAAM,CAAC,cAAc,+BAA+B,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oCAAoC,MAAM,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;QAClF,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CAAC,GAAQ;IAClD,GAAG;SACA,OAAO,CAAC,eAAe,EAAE,oDAAoD,CAAC;SAC9E,MAAM,CACL,kBAAkB,EAClB,gDAAgD,CACjD;SACA,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;SACpC,MAAM,CAAC,SAAS,EAAE,4CAA4C,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,OAA4B,EAAE,EAAE;QAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAErD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QACvC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QAElB,MAAM,KAAK,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,MAAM,GAAuB;gBACjC,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,KAAK,EAAE,gCAAgC;gBACvC,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC1B,CAAC;YACF,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,yBAAyB;YACzB,IAAI,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;YAC/D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE/C,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,MAAM,MAAM,GAAuB;oBACjC,OAAO,EAAE,KAAK;oBACd,aAAa,EAAE,CAAC;oBAChB,cAAc,EAAE,CAAC;oBACjB,KAAK,EAAE,0BAA0B;oBACjC,QAAQ,EAAE,IAAI;iBACf,CAAC;gBACF,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;QAED,gCAAgC;QAChC,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAuB;gBACjC,OAAO,EAAE,IAAI;gBACb,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO;QACT,CAAC;QAED,IAAI,CAAC,SAAS,WAAW,CAAC,OAAO,+BAA+B,EAAE,OAAO,CAAC,CAAC;QAE3E,eAAe;QACf,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC;YACH,aAAa,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEjD,oCAAoC;YACpC,IAAI,OAAO,CAAC,KAAK,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACvC,cAAc,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YAC7C,CAAC;YAED,MAAM,MAAM,GAAuB;gBACjC,OAAO,EAAE,IAAI;gBACb,aAAa;gBACb,cAAc;gBACd,QAAQ,EAAE,KAAK;aAChB,CAAC;YACF,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,MAAM,GAAuB;gBACjC,OAAO,EAAE,KAAK;gBACd,aAAa,EAAE,CAAC;gBAChB,cAAc,EAAE,CAAC;gBACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC7D,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC1B,CAAC;YACF,MAAM,CAAC,MAAM,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -16,4 +16,6 @@ export { registerUninstallCommand } from "./uninstall.js";
16
16
  export { registerSyncCommand } from "./sync.js";
17
17
  export { registerSyncSessionCommand } from "./sync-session.js";
18
18
  export { registerUpdateCommand } from "./update.js";
19
+ export { registerFeedbackStatsCommand } from "./feedback-stats.js";
20
+ export { registerFeedbackSyncCommand } from "./feedback-sync.js";
19
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -16,4 +16,6 @@ export { registerUninstallCommand } from "./uninstall.js";
16
16
  export { registerSyncCommand } from "./sync.js";
17
17
  export { registerSyncSessionCommand } from "./sync-session.js";
18
18
  export { registerUpdateCommand } from "./update.js";
19
+ export { registerFeedbackStatsCommand } from "./feedback-stats.js";
20
+ export { registerFeedbackSyncCommand } from "./feedback-sync.js";
19
21
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/commands/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAuB/B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CA0HlD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAqB/B;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAmHlD"}
@@ -2,7 +2,7 @@
2
2
  * CLI init command - initialize claude-cognitive for a project.
3
3
  * @module cli/commands/init
4
4
  */
5
- import { mkdir, writeFile, access } from "node:fs/promises";
5
+ import { writeFile, access } from "node:fs/promises";
6
6
  import { join } from "node:path";
7
7
  import { Mind } from "../../mind.js";
8
8
  import { CLIError, ExitCode, info, output } from "../utils/index.js";
@@ -20,15 +20,11 @@ export function registerInitCommand(cli) {
20
20
  .action(async (options) => {
21
21
  const projectPath = options.project ?? process.cwd();
22
22
  const rcPath = join(projectPath, ".claudemindrc");
23
- const semanticDir = join(projectPath, ".claude");
24
- const semanticPath = join(semanticDir, "memory.md");
25
23
  const result = {
26
24
  rcPath,
27
- semanticPath,
28
25
  bankId: "",
29
26
  created: {
30
27
  rc: false,
31
- semantic: false,
32
28
  bank: false,
33
29
  },
34
30
  };
@@ -39,11 +35,16 @@ export function registerInitCommand(cli) {
39
35
  if (rcExists && !options.force) {
40
36
  throw new CLIError("Configuration already exists. Use --force to overwrite.", ExitCode.CONFIG_ERROR, `Existing file: ${rcPath}`);
41
37
  }
42
- // Create default configuration
38
+ // Create default configuration with all options
43
39
  const defaultConfig = {
44
40
  hindsight: {
45
41
  host: "localhost",
46
42
  port: 8888,
43
+ timeouts: {
44
+ recall: 120000,
45
+ reflect: 180000,
46
+ retain: 90000,
47
+ },
47
48
  },
48
49
  bankId: options.bankId,
49
50
  disposition: {
@@ -51,42 +52,36 @@ export function registerInitCommand(cli) {
51
52
  literalism: 3,
52
53
  empathy: 3,
53
54
  },
54
- semantic: {
55
- path: ".claude/memory.md",
55
+ background: "",
56
+ context: {
57
+ recentMemoryLimit: 3,
58
+ },
59
+ retain: {
60
+ maxTranscriptLength: 25000,
61
+ filterToolResults: true,
62
+ filterFileContents: true,
63
+ maxCodeBlockLines: 30,
64
+ minSessionLength: 500,
65
+ },
66
+ feedback: {
67
+ enabled: true,
68
+ detection: {
69
+ explicit: true,
70
+ semantic: true,
71
+ behavioral: true,
72
+ semanticThreshold: 0.5,
73
+ },
74
+ hindsight: {
75
+ sendFeedback: true,
76
+ boostByUsefulness: true,
77
+ boostWeight: 0.3,
78
+ },
56
79
  },
57
80
  };
58
81
  // Write .claudemindrc
59
82
  await writeFile(rcPath, JSON.stringify(defaultConfig, null, 2) + "\n");
60
83
  result.created.rc = true;
61
84
  info(`Created ${rcPath}`, options);
62
- // Create .claude directory and memory.md if they don't exist
63
- const semanticExists = await access(semanticPath)
64
- .then(() => true)
65
- .catch(() => false);
66
- if (!semanticExists) {
67
- await mkdir(semanticDir, { recursive: true });
68
- const defaultSemantic = `# Project Memory
69
-
70
- ## Tech Stack
71
-
72
- <!-- Add your tech stack here -->
73
-
74
- ## Key Decisions
75
-
76
- <!-- Document important architectural decisions -->
77
-
78
- ## Critical Paths
79
-
80
- <!-- List important code paths -->
81
-
82
- ## Observations
83
-
84
- <!-- Promoted insights from Hindsight -->
85
- `;
86
- await writeFile(semanticPath, defaultSemantic);
87
- result.created.semantic = true;
88
- info(`Created ${semanticPath}`, options);
89
- }
90
85
  // Initialize Mind to create bank
91
86
  try {
92
87
  const mind = new Mind({ projectPath });
@@ -103,7 +98,7 @@ export function registerInitCommand(cli) {
103
98
  catch (error) {
104
99
  info(`Warning: Could not connect to Hindsight: ${error instanceof Error ? error.message : error}`, options);
105
100
  }
106
- output(result, (r) => `Initialized claude-cognitive:\n Config: ${r.rcPath}\n Semantic: ${r.semanticPath}\n Bank: ${r.bankId || "(not created)"}`, options);
101
+ output(result, (r) => `Initialized claude-cognitive:\n Config: ${r.rcPath}\n Bank: ${r.bankId || "(not created)"}\n\nContext is managed via .claude/rules/session-context.md at session start.`, options);
107
102
  });
108
103
  }
109
104
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAqBrE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,GAAG;SACA,OAAO,CAAC,MAAM,EAAE,qDAAqD,CAAC;SACtE,MAAM,CACL,kBAAkB,EAClB,gDAAgD,CACjD;SACA,MAAM,CACL,gBAAgB,EAChB,qDAAqD,CACtD;SACA,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAClD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAe;YACzB,MAAM;YACN,YAAY;YACZ,MAAM,EAAE,EAAE;YACV,OAAO,EAAE;gBACP,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,KAAK;gBACf,IAAI,EAAE,KAAK;aACZ;SACF,CAAC;QAEF,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;aAClC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,yDAAyD,EACzD,QAAQ,CAAC,YAAY,EACrB,kBAAkB,MAAM,EAAE,CAC3B,CAAC;QACJ,CAAC;QAED,+BAA+B;QAC/B,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;aACX;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE;gBACX,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;aACX;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,mBAAmB;aAC1B;SACF,CAAC;QAEF,sBAAsB;QACtB,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnC,6DAA6D;QAC7D,MAAM,cAAc,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;aAC9C,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,KAAK,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC9C,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;CAiB/B,CAAC;YACM,MAAM,SAAS,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YAC/C,MAAM,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;YAC/B,IAAI,CAAC,WAAW,YAAY,EAAE,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YAEvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,mDAAmD,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CACF,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAC5F,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,CACJ,MAAM,EACN,CAAC,CAAC,EAAE,EAAE,CACJ,4CAA4C,CAAC,CAAC,MAAM,iBAAiB,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,MAAM,IAAI,eAAe,EAAE,EAC/H,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAmBrE;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAQ;IAC1C,GAAG;SACA,OAAO,CAAC,MAAM,EAAE,qDAAqD,CAAC;SACtE,MAAM,CACL,kBAAkB,EAClB,gDAAgD,CACjD;SACA,MAAM,CACL,gBAAgB,EAChB,qDAAqD,CACtD;SACA,MAAM,CAAC,SAAS,EAAE,kCAAkC,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,SAAS,EAAE,iBAAiB,CAAC;SACpC,MAAM,CAAC,KAAK,EAAE,OAAoB,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAElD,MAAM,MAAM,GAAe;YACzB,MAAM;YACN,MAAM,EAAE,EAAE;YACV,OAAO,EAAE;gBACP,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,KAAK;aACZ;SACF,CAAC;QAEF,gCAAgC;QAChC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC;aAClC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAChB,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEtB,IAAI,QAAQ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,QAAQ,CAChB,yDAAyD,EACzD,QAAQ,CAAC,YAAY,EACrB,kBAAkB,MAAM,EAAE,CAC3B,CAAC;QACJ,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG;YACpB,SAAS,EAAE;gBACT,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE;oBACR,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,MAAM;oBACf,MAAM,EAAE,KAAK;iBACd;aACF;YACD,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,WAAW,EAAE;gBACX,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;aACX;YACD,UAAU,EAAE,EAAE;YACd,OAAO,EAAE;gBACP,iBAAiB,EAAE,CAAC;aACrB;YACD,MAAM,EAAE;gBACN,mBAAmB,EAAE,KAAK;gBAC1B,iBAAiB,EAAE,IAAI;gBACvB,kBAAkB,EAAE,IAAI;gBACxB,iBAAiB,EAAE,EAAE;gBACrB,gBAAgB,EAAE,GAAG;aACtB;YACD,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE;oBACT,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,IAAI;oBAChB,iBAAiB,EAAE,GAAG;iBACvB;gBACD,SAAS,EAAE;oBACT,YAAY,EAAE,IAAI;oBAClB,iBAAiB,EAAE,IAAI;oBACvB,WAAW,EAAE,GAAG;iBACjB;aACF;SACF,CAAC;QAEF,sBAAsB;QACtB,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,WAAW,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;QAEnC,iCAAiC;QACjC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;YACvC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,MAAM,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YAEvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,mDAAmD,EAAE,OAAO,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CACF,4CAA4C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,EAC5F,OAAO,CACR,CAAC;QACJ,CAAC;QAED,MAAM,CACJ,MAAM,EACN,CAAC,CAAC,EAAE,EAAE,CACJ,4CAA4C,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,MAAM,IAAI,eAAe,+EAA+E,EAC7K,OAAO,CACR,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC"}
package/dist/cli/index.js CHANGED
@@ -4,12 +4,12 @@
4
4
  */
5
5
  import { cac } from "cac";
6
6
  import { handleError } from "./utils/index.js";
7
- import { registerInitCommand, registerInstallCommand, registerUninstallCommand, registerServeCommand, registerStatusCommand, registerLearnCommand, registerRecallCommand, registerReflectCommand, registerSemanticCommand, registerConfigCommand, registerUpdateBankCommand, registerSyncCommand, registerSyncSessionCommand, registerUpdateCommand, } from "./commands/index.js";
7
+ import { registerInitCommand, registerInstallCommand, registerUninstallCommand, registerServeCommand, registerStatusCommand, registerLearnCommand, registerRecallCommand, registerReflectCommand, registerSemanticCommand, registerConfigCommand, registerUpdateBankCommand, registerSyncCommand, registerSyncSessionCommand, registerUpdateCommand, registerFeedbackStatsCommand, registerFeedbackSyncCommand, } from "./commands/index.js";
8
8
  import { registerInjectContextCommand } from "../hooks/inject-context.js";
9
9
  import { registerProcessSessionCommand } from "../hooks/process-session.js";
10
10
  import { registerBufferMessageCommand } from "../hooks/buffer-message.js";
11
11
  // Get version from package.json
12
- const VERSION = "0.3.2";
12
+ const VERSION = "0.4.0";
13
13
  /**
14
14
  * Create and configure the CLI.
15
15
  */
@@ -30,6 +30,8 @@ function createCLI() {
30
30
  registerSyncCommand(cli);
31
31
  registerSyncSessionCommand(cli);
32
32
  registerUpdateCommand(cli);
33
+ registerFeedbackStatsCommand(cli);
34
+ registerFeedbackSyncCommand(cli);
33
35
  // Register hook commands
34
36
  registerInjectContextCommand(cli);
35
37
  registerProcessSessionCommand(cli);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAY,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,gCAAgC;AAChC,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;GAEG;AACH,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAEpC,oBAAoB;IACpB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC9B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC/B,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAE3B,yBAAyB;IACzB,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAClC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACnC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAElC,cAAc;IACd,GAAG,CAAC,IAAI,EAAE,CAAC;IAEX,UAAU;IACV,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,WAAW,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,GAAG,EAAY,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,0BAA0B,EAC1B,qBAAqB,EACrB,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAE1E,gCAAgC;AAChC,MAAM,OAAO,GAAG,OAAO,CAAC;AAExB;;GAEG;AACH,SAAS,SAAS;IAChB,MAAM,GAAG,GAAG,GAAG,CAAC,kBAAkB,CAAC,CAAC;IAEpC,oBAAoB;IACpB,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC9B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC1B,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,sBAAsB,CAAC,GAAG,CAAC,CAAC;IAC5B,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC/B,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACzB,0BAA0B,CAAC,GAAG,CAAC,CAAC;IAChC,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC3B,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAClC,2BAA2B,CAAC,GAAG,CAAC,CAAC;IAEjC,yBAAyB;IACzB,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAClC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IACnC,4BAA4B,CAAC,GAAG,CAAC,CAAC;IAElC,cAAc;IACd,GAAG,CAAC,IAAI,EAAE,CAAC;IAEX,UAAU;IACV,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAErB,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC;IAExB,IAAI,CAAC;QACH,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACxC,MAAM,GAAG,CAAC,iBAAiB,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,WAAW,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;AACH,CAAC;AAED,iCAAiC;AACjC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,WAAW,CAAC,KAAK,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}