claude-cognitive 0.3.2 → 0.4.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.
- package/README.md +57 -35
- package/dist/agents/context.d.ts.map +1 -1
- package/dist/agents/context.js +7 -7
- package/dist/agents/context.js.map +1 -1
- package/dist/cli/commands/feedback-stats.d.ts +10 -0
- package/dist/cli/commands/feedback-stats.d.ts.map +1 -0
- package/dist/cli/commands/feedback-stats.js +70 -0
- package/dist/cli/commands/feedback-stats.js.map +1 -0
- package/dist/cli/commands/feedback-sync.d.ts +10 -0
- package/dist/cli/commands/feedback-sync.d.ts.map +1 -0
- package/dist/cli/commands/feedback-sync.js +117 -0
- package/dist/cli/commands/feedback-sync.js.map +1 -0
- package/dist/cli/commands/index.d.ts +2 -0
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +130 -4
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/semantic.d.ts +4 -2
- package/dist/cli/commands/semantic.d.ts.map +1 -1
- package/dist/cli/commands/semantic.js +8 -57
- package/dist/cli/commands/semantic.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +0 -2
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/sync.d.ts +4 -2
- package/dist/cli/commands/sync.d.ts.map +1 -1
- package/dist/cli/commands/sync.js +9 -250
- package/dist/cli/commands/sync.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +106 -1
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +3 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/utils/output.d.ts +0 -2
- package/dist/cli/utils/output.d.ts.map +1 -1
- package/dist/cli/utils/output.js +0 -2
- package/dist/cli/utils/output.js.map +1 -1
- package/dist/client.d.ts +121 -22
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +209 -36
- package/dist/client.js.map +1 -1
- package/dist/events.d.ts +30 -1
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js.map +1 -1
- package/dist/feedback/constants.d.ts +72 -0
- package/dist/feedback/constants.d.ts.map +1 -0
- package/dist/feedback/constants.js +145 -0
- package/dist/feedback/constants.js.map +1 -0
- package/dist/feedback/detector.d.ts +75 -0
- package/dist/feedback/detector.d.ts.map +1 -0
- package/dist/feedback/detector.js +393 -0
- package/dist/feedback/detector.js.map +1 -0
- package/dist/feedback/index.d.ts +85 -0
- package/dist/feedback/index.d.ts.map +1 -0
- package/dist/feedback/index.js +194 -0
- package/dist/feedback/index.js.map +1 -0
- package/dist/feedback/offline-queue.d.ts +110 -0
- package/dist/feedback/offline-queue.d.ts.map +1 -0
- package/dist/feedback/offline-queue.js +188 -0
- package/dist/feedback/offline-queue.js.map +1 -0
- package/dist/feedback/scorer.d.ts +81 -0
- package/dist/feedback/scorer.d.ts.map +1 -0
- package/dist/feedback/scorer.js +194 -0
- package/dist/feedback/scorer.js.map +1 -0
- package/dist/feedback/similarity.d.ts +19 -0
- package/dist/feedback/similarity.d.ts.map +1 -0
- package/dist/feedback/similarity.js +49 -0
- package/dist/feedback/similarity.js.map +1 -0
- package/dist/feedback/tracker.d.ts +104 -0
- package/dist/feedback/tracker.d.ts.map +1 -0
- package/dist/feedback/tracker.js +324 -0
- package/dist/feedback/tracker.js.map +1 -0
- package/dist/hooks/process-session.d.ts.map +1 -1
- package/dist/hooks/process-session.js +17 -8
- package/dist/hooks/process-session.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -0
- package/dist/index.js.map +1 -1
- package/dist/learn/index.d.ts.map +1 -1
- package/dist/learn/index.js +6 -2
- package/dist/learn/index.js.map +1 -1
- package/dist/mcp/handlers.d.ts +9 -1
- package/dist/mcp/handlers.d.ts.map +1 -1
- package/dist/mcp/handlers.js +66 -0
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +42 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +77 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +30 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/mcp/types.d.ts +16 -0
- package/dist/mcp/types.d.ts.map +1 -1
- package/dist/mind.d.ts +47 -28
- package/dist/mind.d.ts.map +1 -1
- package/dist/mind.js +351 -104
- package/dist/mind.js.map +1 -1
- package/dist/offline.d.ts +111 -0
- package/dist/offline.d.ts.map +1 -0
- package/dist/offline.js +198 -0
- package/dist/offline.js.map +1 -0
- package/dist/types.d.ts +171 -1
- package/dist/types.d.ts.map +1 -1
- 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
|
-

|
|
47
47
|
|
|
48
48
|
### Core Operations
|
|
49
49
|
|
|
@@ -67,14 +67,14 @@ claude-cognitive uninstall --delete-bank
|
|
|
67
67
|
|
|
68
68
|
## Architecture
|
|
69
69
|
|
|
70
|
-

|
|
71
71
|
|
|
72
|
-
###
|
|
72
|
+
### Memory Layers
|
|
73
73
|
|
|
74
|
-
| Layer | Storage
|
|
75
|
-
| ------------- |
|
|
76
|
-
| **Hindsight** | PostgreSQL + pgvector
|
|
77
|
-
| **
|
|
74
|
+
| Layer | Storage | Purpose |
|
|
75
|
+
| ------------- | ------------------------------- | ------------------------------------------------------ |
|
|
76
|
+
| **Hindsight** | PostgreSQL + pgvector | All memories, entity graphs, 4-way retrieval, opinions |
|
|
77
|
+
| **Offline** | `.claude/offline-memories.json` | Local storage when Hindsight unavailable (auto-syncs) |
|
|
78
78
|
|
|
79
79
|
---
|
|
80
80
|
|
|
@@ -113,10 +113,11 @@ claude-cognitive learn # Bootstrap from codebase
|
|
|
113
113
|
claude-cognitive learn --depth full # Full analysis with git history
|
|
114
114
|
claude-cognitive recall "query" # Search memories
|
|
115
115
|
claude-cognitive reflect "query" # Reason about knowledge
|
|
116
|
-
claude-cognitive semantic # Show semantic memory
|
|
117
116
|
claude-cognitive config # Show configuration
|
|
118
117
|
claude-cognitive update # Update global configuration
|
|
119
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
|
|
120
121
|
claude-cognitive uninstall # Remove from project
|
|
121
122
|
```
|
|
122
123
|
|
|
@@ -159,47 +160,67 @@ Each memory bank has personality traits that shape how `reflect()` reasons:
|
|
|
159
160
|
|
|
160
161
|
---
|
|
161
162
|
|
|
162
|
-
##
|
|
163
|
+
## Graceful Degradation & Offline Mode
|
|
163
164
|
|
|
164
|
-
|
|
165
|
+
When Hindsight is unavailable, claude-cognitive stores memories locally and syncs when reconnected:
|
|
165
166
|
|
|
166
|
-
|
|
167
|
-
|
|
167
|
+
| Operation | With Hindsight | Without Hindsight (Offline) |
|
|
168
|
+
| ------------- | -------------- | -------------------------------- |
|
|
169
|
+
| Session start | Full context | Recent offline memories |
|
|
170
|
+
| recall | 4-way search | Text search in offline store |
|
|
171
|
+
| reflect | LLM reasoning | Error (requires Hindsight) |
|
|
172
|
+
| retain | Stored | Stored offline, auto-syncs later |
|
|
168
173
|
|
|
169
|
-
|
|
170
|
-
- Supabase for auth and database
|
|
171
|
-
- NativeWind for styling
|
|
174
|
+
**Offline storage:** `.claude/offline-memories.json`
|
|
172
175
|
|
|
173
|
-
|
|
176
|
+
When Hindsight becomes available again, offline memories are automatically synced and cleared.
|
|
174
177
|
|
|
175
|
-
|
|
176
|
-
- Zustand for state management
|
|
178
|
+
---
|
|
177
179
|
|
|
178
|
-
##
|
|
180
|
+
## Feedback Signals
|
|
179
181
|
|
|
180
|
-
-
|
|
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.
|
|
181
183
|
|
|
182
|
-
|
|
184
|
+
### How It Works
|
|
183
185
|
|
|
184
|
-
|
|
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
|
|
185
191
|
|
|
186
|
-
|
|
187
|
-
```
|
|
192
|
+
### Detection Strategies
|
|
188
193
|
|
|
189
|
-
|
|
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 |
|
|
190
200
|
|
|
191
|
-
|
|
201
|
+
### Configuration
|
|
192
202
|
|
|
193
|
-
|
|
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
|
|
194
217
|
|
|
195
|
-
|
|
218
|
+
```bash
|
|
219
|
+
claude-cognitive feedback-stats # Show queue statistics
|
|
220
|
+
claude-cognitive feedback-sync # Sync pending signals
|
|
221
|
+
```
|
|
196
222
|
|
|
197
|
-
|
|
198
|
-
| ------------- | -------------- | -------------------------- |
|
|
199
|
-
| Session start | Full context | Semantic only |
|
|
200
|
-
| recall | 4-way search | Empty results |
|
|
201
|
-
| reflect | LLM reasoning | Error (requires Hindsight) |
|
|
202
|
-
| retain | Stored | Skipped |
|
|
223
|
+
See [Feedback Signals](./docs/feedback-signals.md) for full documentation.
|
|
203
224
|
|
|
204
225
|
---
|
|
205
226
|
|
|
@@ -238,7 +259,7 @@ const result = await mind.learn({ depth: "full" });
|
|
|
238
259
|
- **Node.js 18+**
|
|
239
260
|
- **[Hindsight](https://github.com/vectorize-io/hindsight)** server running (for full functionality)
|
|
240
261
|
|
|
241
|
-
Without Hindsight, claude-cognitive works in
|
|
262
|
+
Without Hindsight, claude-cognitive works in offline mode - memories are stored locally and automatically synced when Hindsight becomes available.
|
|
242
263
|
|
|
243
264
|
---
|
|
244
265
|
|
|
@@ -248,6 +269,7 @@ Without Hindsight, claude-cognitive works in degraded mode with semantic memory
|
|
|
248
269
|
- **[Concepts](./docs/concepts.md)** - Memory networks, operations, architecture
|
|
249
270
|
- **[Configuration](./docs/configuration.md)** - Full configuration reference
|
|
250
271
|
- **[API Reference](./docs/api-reference.md)** - Complete API documentation
|
|
272
|
+
- **[Feedback Signals](./docs/feedback-signals.md)** - Automatic usage tracking
|
|
251
273
|
- **[Performance](./docs/performance.md)** - Benchmarks and optimization
|
|
252
274
|
|
|
253
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,
|
|
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"}
|
package/dist/agents/context.js
CHANGED
|
@@ -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(
|
|
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":"AAAA;;;GAGG;AAUH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAAuB,EACvB,MAAc,EACd,QAAuB,EACvB,IAAY,EACZ,UAAkC,EAAE;IAEpC,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,iBAAiB,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IAExE,
|
|
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":"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"}
|
|
@@ -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":"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"}
|
|
@@ -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":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/install.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AA8hB/B;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAmZrD"}
|