kiro-memory 1.5.0 → 1.7.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 +120 -101
- package/package.json +18 -8
- package/plugin/dist/cli/contextkit.js +2609 -593
- package/plugin/dist/hooks/agentSpawn.js +1399 -279
- package/plugin/dist/hooks/kiro-hooks.js +1307 -222
- package/plugin/dist/hooks/postToolUse.js +1404 -264
- package/plugin/dist/hooks/stop.js +1381 -261
- package/plugin/dist/hooks/userPromptSubmit.js +1369 -258
- package/plugin/dist/index.js +1352 -255
- package/plugin/dist/sdk/index.js +1306 -220
- package/plugin/dist/servers/mcp-server.js +203 -2
- package/plugin/dist/services/search/EmbeddingService.js +363 -0
- package/plugin/dist/services/search/HybridSearch.js +703 -151
- package/plugin/dist/services/search/ScoringEngine.js +75 -0
- package/plugin/dist/services/search/VectorSearch.js +512 -0
- package/plugin/dist/services/search/index.js +776 -64
- package/plugin/dist/services/sqlite/Database.js +73 -6
- package/plugin/dist/services/sqlite/Observations.js +70 -6
- package/plugin/dist/services/sqlite/Search.js +98 -8
- package/plugin/dist/services/sqlite/Summaries.js +8 -5
- package/plugin/dist/services/sqlite/index.js +413 -24
- package/plugin/dist/shared/paths.js +6 -3
- package/plugin/dist/types/worker-types.js +6 -0
- package/plugin/dist/viewer.js +381 -73
- package/plugin/dist/worker-service.js +4585 -195
package/README.md
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
|
-
<strong>Persistent cross-session memory for
|
|
6
|
+
<strong>Persistent cross-session memory for AI coding assistants.</strong><br/>
|
|
7
|
+
<em>Works with <a href="https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview">Claude Code</a>, <a href="https://www.cursor.com/">Cursor</a>, <a href="https://codeium.com/windsurf">Windsurf</a>, <a href="https://github.com/cline/cline">Cline</a>, and any MCP-compatible editor.</em>
|
|
7
8
|
</p>
|
|
8
9
|
|
|
9
10
|
<p align="center">
|
|
@@ -14,7 +15,9 @@
|
|
|
14
15
|
|
|
15
16
|
---
|
|
16
17
|
|
|
17
|
-
Kiro Memory gives your
|
|
18
|
+
Kiro Memory gives your AI coding assistant memory that persists across sessions. It automatically captures what happened -- files changed, tools used, decisions made -- and feeds relevant context back at the start of the next session. No manual bookkeeping. Your agent picks up exactly where it left off.
|
|
19
|
+
|
|
20
|
+
Works with **Claude Code** (hooks), **Cursor** (rules + MCP), **Windsurf** (rules + MCP), **Cline** (custom instructions + MCP), and any editor that supports the **Model Context Protocol**.
|
|
18
21
|
|
|
19
22
|
## What Your Agent Sees
|
|
20
23
|
|
|
@@ -40,13 +43,18 @@ When a new session starts, Kiro Memory automatically injects previous session co
|
|
|
40
43
|
|
|
41
44
|
## Features
|
|
42
45
|
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **
|
|
46
|
-
- **
|
|
46
|
+
- **Multi-Editor Support** -- Works with Claude Code, Cursor, Windsurf, Cline, and any MCP-compatible editor
|
|
47
|
+
- **Automatic Context Injection** -- Previous session knowledge injected at agent start via hooks
|
|
48
|
+
- **Vector Search** -- Local embeddings with semantic similarity search (no API keys required)
|
|
49
|
+
- **Smart Ranking** -- 4-signal scoring (recency, frequency, semantic, decay) for relevance ordering
|
|
50
|
+
- **Memory Decay** -- Automatic stale detection and consolidation of old observations
|
|
51
|
+
- **Structured Knowledge** -- Store architectural decisions, constraints, heuristics, and rejected approaches
|
|
52
|
+
- **Session Checkpoint & Resume** -- Checkpoint sessions and resume from where you left off
|
|
53
|
+
- **Activity Reports** -- Weekly/monthly digests in text, Markdown, or JSON format
|
|
54
|
+
- **Analytics Dashboard** -- Activity timeline, type distribution, session stats, and file hotspots
|
|
55
|
+
- **Session Summaries** -- Structured summaries generated when sessions end
|
|
47
56
|
- **Web Dashboard** -- Real-time viewer at `http://localhost:3001` with dark/light theme, search, project filters, and live updates via SSE
|
|
48
|
-
- **
|
|
49
|
-
- **MCP Server** -- 4 tools (`search`, `timeline`, `get_observations`, `get_context`) exposed via Model Context Protocol
|
|
57
|
+
- **MCP Server** -- 10 tools exposed via Model Context Protocol
|
|
50
58
|
- **Full-Text Search** -- SQLite FTS5 for fast, typo-tolerant search across all stored context
|
|
51
59
|
- **TypeScript SDK** -- Programmatic access to the entire memory system
|
|
52
60
|
- **CLI** -- Query and manage context directly from the terminal
|
|
@@ -57,8 +65,12 @@ When a new session starts, Kiro Memory automatically injects previous session co
|
|
|
57
65
|
# Install globally
|
|
58
66
|
npm install -g kiro-memory
|
|
59
67
|
|
|
60
|
-
# Install
|
|
61
|
-
kiro-memory install
|
|
68
|
+
# Install for your editor
|
|
69
|
+
kiro-memory install # Auto-detects your editor
|
|
70
|
+
kiro-memory install --claude-code # Claude Code (hooks + MCP)
|
|
71
|
+
kiro-memory install --cursor # Cursor (rules + MCP)
|
|
72
|
+
kiro-memory install --windsurf # Windsurf (rules + MCP)
|
|
73
|
+
kiro-memory install --cline # Cline (instructions + MCP)
|
|
62
74
|
```
|
|
63
75
|
|
|
64
76
|
Or from source:
|
|
@@ -70,96 +82,71 @@ npm install && npm run build
|
|
|
70
82
|
npm run install:kiro
|
|
71
83
|
```
|
|
72
84
|
|
|
73
|
-
|
|
85
|
+
Once installed, the worker auto-starts and the web dashboard is available at `http://localhost:3001`.
|
|
74
86
|
|
|
75
|
-
|
|
87
|
+
## Editor Integration
|
|
76
88
|
|
|
77
|
-
|
|
78
|
-
kiro-cli --agent kiro-memory
|
|
79
|
-
```
|
|
89
|
+
### Claude Code
|
|
80
90
|
|
|
81
|
-
|
|
91
|
+
Registers **4 hooks** and an **MCP server** automatically via `kiro-memory install --claude-code`:
|
|
82
92
|
|
|
83
|
-
|
|
93
|
+
| Hook | Trigger | Purpose |
|
|
94
|
+
|------|---------|---------|
|
|
95
|
+
| `PreToolUse` | Before tool runs | Injects session context |
|
|
96
|
+
| `PostToolUse` | After tool completes | Captures file writes, commands, research |
|
|
97
|
+
| `Notification` | User sends prompt | Records prompts for continuity |
|
|
98
|
+
| `Stop` | Session ends | Generates structured session summary |
|
|
84
99
|
|
|
85
|
-
|
|
86
|
-
# Bash
|
|
87
|
-
echo 'alias kiro="kiro-cli --agent kiro-memory"' >> ~/.bashrc && source ~/.bashrc
|
|
100
|
+
### Cursor / Windsurf / Cline
|
|
88
101
|
|
|
89
|
-
|
|
90
|
-
echo 'alias kiro="kiro-cli --agent kiro-memory"' >> ~/.zshrc && source ~/.zshrc
|
|
91
|
-
```
|
|
102
|
+
For editors without hook support, Kiro Memory uses **rules files** + **MCP server**:
|
|
92
103
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
Kiro Memory registers **4 hooks** and an **MCP server** with Kiro CLI via a custom agent. The agent configuration is installed to `~/.kiro/agents/kiro-memory.json` and is activated with `kiro --agent kiro-memory`:
|
|
98
|
-
|
|
99
|
-
```json
|
|
100
|
-
{
|
|
101
|
-
"name": "kiro-memory",
|
|
102
|
-
"tools": ["read", "write", "shell", "glob", "grep", "@kiro-memory"],
|
|
103
|
-
"mcpServers": {
|
|
104
|
-
"kiro-memory": {
|
|
105
|
-
"command": "node",
|
|
106
|
-
"args": ["/path/to/dist/servers/mcp-server.js"]
|
|
107
|
-
}
|
|
108
|
-
},
|
|
109
|
-
"hooks": {
|
|
110
|
-
"agentSpawn": [{ "command": "node /path/to/dist/hooks/agentSpawn.js" }],
|
|
111
|
-
"userPromptSubmit": [{ "command": "node /path/to/dist/hooks/userPromptSubmit.js" }],
|
|
112
|
-
"postToolUse": [{ "command": "node /path/to/dist/hooks/postToolUse.js", "matcher": "*" }],
|
|
113
|
-
"stop": [{ "command": "node /path/to/dist/hooks/stop.js" }]
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
```
|
|
104
|
+
- **Cursor**: `.cursor/rules/kiro-memory.mdc` + MCP config in `.cursor/mcp.json`
|
|
105
|
+
- **Windsurf**: `.windsurfrules` + MCP config in `~/.codeium/windsurf/mcp_config.json`
|
|
106
|
+
- **Cline**: `.clinerules` + MCP config in Cline settings
|
|
117
107
|
|
|
118
|
-
The
|
|
108
|
+
The MCP server exposes 10 tools that your AI assistant can use directly.
|
|
119
109
|
|
|
120
110
|
## Architecture
|
|
121
111
|
|
|
122
112
|
```
|
|
123
|
-
|
|
113
|
+
Claude Code / Cursor / Windsurf / Cline
|
|
124
114
|
|
|
|
125
115
|
+-------------+-------------+
|
|
126
116
|
| | |
|
|
127
|
-
|
|
128
|
-
(
|
|
117
|
+
Hooks MCP Server Rules Files
|
|
118
|
+
(auto-capture) (10 tools) (editor config)
|
|
129
119
|
| | |
|
|
130
120
|
+------+------+------+------+
|
|
131
121
|
| |
|
|
132
|
-
Worker HTTP
|
|
133
|
-
(port 3001)
|
|
122
|
+
Worker HTTP Vector Index
|
|
123
|
+
(port 3001) (embeddings)
|
|
134
124
|
| |
|
|
135
125
|
Web Dashboard |
|
|
136
126
|
(localhost:3001) |
|
|
137
127
|
| |
|
|
138
128
|
+------+-----+
|
|
139
129
|
|
|
|
140
|
-
|
|
141
|
-
|
|
130
|
+
SQLite + FTS5 + Embeddings
|
|
131
|
+
(~/.kiro-memory/kiro-memory.db)
|
|
142
132
|
```
|
|
143
133
|
|
|
144
|
-
> The worker auto-starts when
|
|
145
|
-
|
|
146
|
-
### Hooks
|
|
147
|
-
|
|
148
|
-
| Hook | Trigger | Purpose |
|
|
149
|
-
|------|---------|---------|
|
|
150
|
-
| `agentSpawn` | Session starts | Injects relevant context from previous sessions |
|
|
151
|
-
| `userPromptSubmit` | User sends prompt | Records the prompt for session continuity |
|
|
152
|
-
| `postToolUse` | Any tool completes | Captures file writes, commands, research actions |
|
|
153
|
-
| `stop` | Session ends | Generates and stores a structured session summary |
|
|
134
|
+
> The worker auto-starts when a session begins. No manual setup required.
|
|
154
135
|
|
|
155
136
|
### MCP Tools
|
|
156
137
|
|
|
157
138
|
| Tool | Description |
|
|
158
139
|
|------|-------------|
|
|
159
|
-
| `search` | Full-text search across observations and summaries
|
|
160
|
-
| `timeline` | Chronological context around a specific observation
|
|
161
|
-
| `get_observations` | Retrieve full details of
|
|
162
|
-
| `get_context` | Get recent observations, summaries, and prompts for a project
|
|
140
|
+
| `search` | Full-text search across observations and summaries with project/type filters |
|
|
141
|
+
| `timeline` | Chronological context around a specific observation |
|
|
142
|
+
| `get_observations` | Retrieve full details of observations by ID |
|
|
143
|
+
| `get_context` | Get recent observations, summaries, and prompts for a project |
|
|
144
|
+
| `store_observation` | Store a new observation from the AI assistant |
|
|
145
|
+
| `store_summary` | Store a session summary |
|
|
146
|
+
| `store_knowledge` | Store structured knowledge (decision, constraint, heuristic, rejected) |
|
|
147
|
+
| `resume_session` | Get checkpoint data to resume a previous session |
|
|
148
|
+
| `generate_report` | Generate weekly/monthly activity report in Markdown |
|
|
149
|
+
| `get_recent_context` | Get recent memory context for session injection |
|
|
163
150
|
|
|
164
151
|
### Storage
|
|
165
152
|
|
|
@@ -181,8 +168,6 @@ const ctx = createKiroMemory({ project: 'my-project' });
|
|
|
181
168
|
|
|
182
169
|
// Retrieve context for the current project
|
|
183
170
|
const context = await ctx.getContext();
|
|
184
|
-
console.log(context.relevantObservations);
|
|
185
|
-
console.log(context.relevantSummaries);
|
|
186
171
|
|
|
187
172
|
// Store an observation
|
|
188
173
|
await ctx.storeObservation({
|
|
@@ -191,22 +176,23 @@ await ctx.storeObservation({
|
|
|
191
176
|
content: 'Fixed OAuth flow -- tokens now refresh with 5-min buffer'
|
|
192
177
|
});
|
|
193
178
|
|
|
194
|
-
//
|
|
195
|
-
const results = await ctx.
|
|
196
|
-
|
|
197
|
-
|
|
179
|
+
// Semantic search with vector embeddings
|
|
180
|
+
const results = await ctx.hybridSearch('authentication flow', { limit: 10 });
|
|
181
|
+
|
|
182
|
+
// Store structured knowledge
|
|
183
|
+
await ctx.storeKnowledge({
|
|
184
|
+
knowledgeType: 'decision',
|
|
185
|
+
title: 'Chose PostgreSQL over MongoDB',
|
|
186
|
+
content: 'ACID compliance required for financial transactions',
|
|
187
|
+
reasoning: 'Need strong consistency guarantees'
|
|
198
188
|
});
|
|
199
189
|
|
|
200
|
-
//
|
|
201
|
-
|
|
190
|
+
// Session checkpoint & resume
|
|
191
|
+
await ctx.createCheckpoint('session-123', { completedSteps: ['auth', 'db'] });
|
|
192
|
+
const checkpoint = await ctx.getCheckpoint('session-123');
|
|
202
193
|
|
|
203
|
-
//
|
|
204
|
-
await ctx.
|
|
205
|
-
request: 'Implement OAuth2 login',
|
|
206
|
-
learned: 'Google OAuth requires PKCE for SPAs',
|
|
207
|
-
completed: 'Login flow with Google provider',
|
|
208
|
-
nextSteps: 'Add refresh token rotation'
|
|
209
|
-
});
|
|
194
|
+
// Generate activity report
|
|
195
|
+
const report = await ctx.generateReport({ period: 'weekly' });
|
|
210
196
|
|
|
211
197
|
// Always close when done
|
|
212
198
|
ctx.close();
|
|
@@ -216,16 +202,22 @@ ctx.close();
|
|
|
216
202
|
|
|
217
203
|
| Method | Returns | Description |
|
|
218
204
|
|--------|---------|-------------|
|
|
219
|
-
| `getContext()` | `ContextContext` | Recent observations, summaries, and prompts
|
|
205
|
+
| `getContext()` | `ContextContext` | Recent observations, summaries, and prompts |
|
|
220
206
|
| `storeObservation(data)` | `number` | Store an observation, returns its ID |
|
|
221
207
|
| `storeSummary(data)` | `number` | Store a session summary, returns its ID |
|
|
222
208
|
| `search(query)` | `{ observations, summaries }` | Basic full-text search |
|
|
223
|
-
| `searchAdvanced(query, filters)` | `{ observations, summaries }` | FTS5 search with
|
|
209
|
+
| `searchAdvanced(query, filters)` | `{ observations, summaries }` | FTS5 search with filters |
|
|
210
|
+
| `hybridSearch(query, opts)` | `ScoredResult[]` | Vector + FTS5 hybrid search with smart ranking |
|
|
211
|
+
| `semanticSearch(query, opts)` | `ScoredResult[]` | Pure vector similarity search |
|
|
212
|
+
| `storeKnowledge(data)` | `number` | Store structured knowledge (decision/constraint/heuristic) |
|
|
213
|
+
| `getKnowledge(filters)` | `KnowledgeItem[]` | Retrieve knowledge by type |
|
|
214
|
+
| `createCheckpoint(sessionId, data)` | `void` | Save session checkpoint for resume |
|
|
215
|
+
| `getCheckpoint(sessionId)` | `DBCheckpoint \| null` | Retrieve latest session checkpoint |
|
|
216
|
+
| `generateReport(opts)` | `ReportData` | Generate weekly/monthly activity report |
|
|
217
|
+
| `runDecay(opts)` | `DecayResult` | Run memory decay and stale detection |
|
|
218
|
+
| `consolidateStale(opts)` | `ConsolidateResult` | Consolidate stale observations |
|
|
224
219
|
| `getTimeline(anchorId, before, after)` | `TimelineEntry[]` | Chronological context around an observation |
|
|
225
|
-
| `getRecentObservations(limit)` | `Observation[]` | Most recent observations |
|
|
226
|
-
| `getRecentSummaries(limit)` | `Summary[]` | Most recent summaries |
|
|
227
220
|
| `getOrCreateSession(id)` | `DBSession` | Get or initialize a session |
|
|
228
|
-
| `storePrompt(sessionId, num, text)` | `number` | Store a user prompt |
|
|
229
221
|
| `close()` | `void` | Close the database connection |
|
|
230
222
|
|
|
231
223
|
## CLI Reference
|
|
@@ -236,27 +228,41 @@ kiro-memory <command> [options]
|
|
|
236
228
|
|
|
237
229
|
| Command | Alias | Description |
|
|
238
230
|
|---------|-------|-------------|
|
|
231
|
+
| `kiro-memory install` | -- | Install hooks + MCP for your editor |
|
|
239
232
|
| `kiro-memory context` | `ctx` | Display current project context |
|
|
240
233
|
| `kiro-memory search <query>` | -- | Search across all stored context |
|
|
241
|
-
| `kiro-memory
|
|
242
|
-
| `kiro-memory
|
|
234
|
+
| `kiro-memory semantic-search <query>` | `ss` | Vector similarity search |
|
|
235
|
+
| `kiro-memory observations [limit]` | `obs` | Show recent observations |
|
|
236
|
+
| `kiro-memory summaries [limit]` | `sum` | Show recent summaries |
|
|
243
237
|
| `kiro-memory add-observation <title> <content>` | `add-obs` | Manually add an observation |
|
|
244
238
|
| `kiro-memory add-summary <content>` | `add-sum` | Manually add a summary |
|
|
239
|
+
| `kiro-memory add-knowledge <type> <title> <content>` | -- | Store structured knowledge |
|
|
240
|
+
| `kiro-memory resume [sessionId]` | -- | Resume from last checkpoint |
|
|
241
|
+
| `kiro-memory report` | -- | Generate activity report |
|
|
242
|
+
| `kiro-memory decay` | -- | Run memory decay detection |
|
|
243
|
+
| `kiro-memory embeddings` | -- | Build/rebuild vector index |
|
|
244
|
+
| `kiro-memory doctor` | -- | Run environment diagnostics |
|
|
245
245
|
|
|
246
246
|
### Examples
|
|
247
247
|
|
|
248
248
|
```bash
|
|
249
|
-
#
|
|
250
|
-
kiro-memory
|
|
249
|
+
# Install for Claude Code
|
|
250
|
+
kiro-memory install --claude-code
|
|
251
|
+
|
|
252
|
+
# Search with vector similarity
|
|
253
|
+
kiro-memory semantic-search "authentication flow"
|
|
254
|
+
|
|
255
|
+
# Generate a weekly report in Markdown
|
|
256
|
+
kiro-memory report --period=weekly --format=md --output=report.md
|
|
251
257
|
|
|
252
|
-
#
|
|
253
|
-
kiro-memory
|
|
258
|
+
# Store an architectural decision
|
|
259
|
+
kiro-memory add-knowledge decision "Use PostgreSQL" "ACID compliance for transactions"
|
|
254
260
|
|
|
255
|
-
#
|
|
256
|
-
kiro-memory
|
|
261
|
+
# Resume a previous session
|
|
262
|
+
kiro-memory resume
|
|
257
263
|
|
|
258
|
-
#
|
|
259
|
-
kiro-memory
|
|
264
|
+
# Run memory decay to clean stale observations
|
|
265
|
+
kiro-memory decay --days=30
|
|
260
266
|
```
|
|
261
267
|
|
|
262
268
|
## Configuration
|
|
@@ -386,10 +392,10 @@ The agent configuration was not installed. Run the install command:
|
|
|
386
392
|
kiro-memory install
|
|
387
393
|
```
|
|
388
394
|
|
|
389
|
-
This creates the agent config at `~/.kiro/agents/
|
|
395
|
+
This creates the agent config at `~/.kiro/agents/kiro-memory.json`. Then start Kiro with:
|
|
390
396
|
|
|
391
397
|
```bash
|
|
392
|
-
kiro-cli --agent
|
|
398
|
+
kiro-cli --agent kiro-memory
|
|
393
399
|
```
|
|
394
400
|
|
|
395
401
|
### Port 3001 already in use
|
|
@@ -413,6 +419,19 @@ Run the built-in doctor command to check your environment:
|
|
|
413
419
|
kiro-memory doctor
|
|
414
420
|
```
|
|
415
421
|
|
|
422
|
+
## Security
|
|
423
|
+
|
|
424
|
+
Kiro Memory runs **locally only** on `127.0.0.1` and implements multiple layers of protection:
|
|
425
|
+
|
|
426
|
+
- **Token Authentication** on the notify endpoint (shared secret via `~/.kiro-memory/worker.token`)
|
|
427
|
+
- **Rate Limiting** on all API endpoints (200 req/min global, 60 req/min for notifications)
|
|
428
|
+
- **Helmet** security headers with Content Security Policy
|
|
429
|
+
- **CORS** restricted to localhost origins
|
|
430
|
+
- **Input Validation** on all POST endpoints (type checking, length limits, safe character patterns)
|
|
431
|
+
- **SSE Connection Limit** (max 50 concurrent clients)
|
|
432
|
+
|
|
433
|
+
To report a security vulnerability, please open a [private security advisory](https://github.com/auriti-web-design/kiro-memory/security/advisories/new).
|
|
434
|
+
|
|
416
435
|
## Contributing
|
|
417
436
|
|
|
418
437
|
Contributions are welcome. Please open an issue to discuss proposed changes before submitting a pull request. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
package/package.json
CHANGED
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiro-memory",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "Persistent cross-session memory for
|
|
3
|
+
"version": "1.7.0",
|
|
4
|
+
"description": "Persistent cross-session memory for AI coding assistants. Works with Claude Code, Cursor, Windsurf, Cline, and any MCP-compatible editor.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"kiro",
|
|
7
|
-
"
|
|
8
|
-
"
|
|
7
|
+
"claude-code",
|
|
8
|
+
"cursor",
|
|
9
|
+
"windsurf",
|
|
10
|
+
"cline",
|
|
9
11
|
"memory",
|
|
10
|
-
"persistence",
|
|
11
12
|
"mcp",
|
|
12
|
-
"
|
|
13
|
+
"context",
|
|
14
|
+
"persistence",
|
|
15
|
+
"vector-search",
|
|
16
|
+
"embeddings",
|
|
13
17
|
"sqlite",
|
|
14
18
|
"typescript",
|
|
15
|
-
"agent",
|
|
16
19
|
"ai-tools"
|
|
17
20
|
],
|
|
18
21
|
"author": "auriti-web-design",
|
|
@@ -58,7 +61,7 @@
|
|
|
58
61
|
"worker:restart": "bun plugin/scripts/worker-service.cjs restart",
|
|
59
62
|
"worker:status": "bun plugin/scripts/worker-service.cjs status",
|
|
60
63
|
"worker:logs": "tail -n 50 ~/.contextkit/logs/worker-$(date +%Y-%m-%d).log",
|
|
61
|
-
"worker:tail": "tail -f 50 ~/.contextkit/logs/worker-$(date +%Y-%m-%d).log",
|
|
64
|
+
"worker:tail": "tail -f -n 50 ~/.contextkit/logs/worker-$(date +%Y-%m-%d).log",
|
|
62
65
|
"queue": "bun scripts/check-pending-queue.ts",
|
|
63
66
|
"queue:process": "bun scripts/check-pending-queue.ts --process",
|
|
64
67
|
"queue:clear": "bun scripts/clear-failed-queue.ts --all --force",
|
|
@@ -95,8 +98,10 @@
|
|
|
95
98
|
"cors": "^2.8.5",
|
|
96
99
|
"dompurify": "^3.3.1",
|
|
97
100
|
"express": "^4.18.2",
|
|
101
|
+
"express-rate-limit": "^8.2.1",
|
|
98
102
|
"glob": "^11.0.3",
|
|
99
103
|
"handlebars": "^4.7.8",
|
|
104
|
+
"helmet": "^8.1.0",
|
|
100
105
|
"lucide-react": "^0.574.0",
|
|
101
106
|
"react": "^18.3.1",
|
|
102
107
|
"react-dom": "^18.3.1",
|
|
@@ -104,11 +109,16 @@
|
|
|
104
109
|
"yaml": "^2.8.2",
|
|
105
110
|
"zod": "^3.23.8"
|
|
106
111
|
},
|
|
112
|
+
"optionalDependencies": {
|
|
113
|
+
"fastembed": "^2.1.0",
|
|
114
|
+
"@huggingface/transformers": "^3.8.0"
|
|
115
|
+
},
|
|
107
116
|
"devDependencies": {
|
|
108
117
|
"@types/better-sqlite3": "^7.6.13",
|
|
109
118
|
"@types/cors": "^2.8.19",
|
|
110
119
|
"@types/dompurify": "^3.0.5",
|
|
111
120
|
"@types/express": "^4.17.21",
|
|
121
|
+
"@types/express-rate-limit": "^5.1.3",
|
|
112
122
|
"@types/node": "^20.0.0",
|
|
113
123
|
"@types/react": "^18.3.5",
|
|
114
124
|
"@types/react-dom": "^18.3.0",
|