homaruscc 0.2.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/.env.example +8 -0
- package/LICENSE +21 -0
- package/README.md +307 -0
- package/bin/event-loop +60 -0
- package/config.example.json +55 -0
- package/dist/agent-registry.d.ts +38 -0
- package/dist/agent-registry.d.ts.map +1 -0
- package/dist/agent-registry.js +207 -0
- package/dist/agent-registry.js.map +1 -0
- package/dist/backend.d.ts +3 -0
- package/dist/backend.d.ts.map +1 -0
- package/dist/backend.js +59 -0
- package/dist/backend.js.map +1 -0
- package/dist/browser-service.d.ts +19 -0
- package/dist/browser-service.d.ts.map +1 -0
- package/dist/browser-service.js +101 -0
- package/dist/browser-service.js.map +1 -0
- package/dist/channel-adapter.d.ts +22 -0
- package/dist/channel-adapter.d.ts.map +1 -0
- package/dist/channel-adapter.js +62 -0
- package/dist/channel-adapter.js.map +1 -0
- package/dist/channel-manager.d.ts +18 -0
- package/dist/channel-manager.d.ts.map +1 -0
- package/dist/channel-manager.js +73 -0
- package/dist/channel-manager.js.map +1 -0
- package/dist/compaction-manager.d.ts +23 -0
- package/dist/compaction-manager.d.ts.map +1 -0
- package/dist/compaction-manager.js +135 -0
- package/dist/compaction-manager.js.map +1 -0
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +169 -0
- package/dist/config.js.map +1 -0
- package/dist/dashboard-adapter.d.ts +17 -0
- package/dist/dashboard-adapter.d.ts.map +1 -0
- package/dist/dashboard-adapter.js +41 -0
- package/dist/dashboard-adapter.js.map +1 -0
- package/dist/dashboard-server.d.ts +29 -0
- package/dist/dashboard-server.d.ts.map +1 -0
- package/dist/dashboard-server.js +381 -0
- package/dist/dashboard-server.js.map +1 -0
- package/dist/embedding-provider.d.ts +28 -0
- package/dist/embedding-provider.d.ts.map +1 -0
- package/dist/embedding-provider.js +91 -0
- package/dist/embedding-provider.js.map +1 -0
- package/dist/event-bus.d.ts +18 -0
- package/dist/event-bus.d.ts.map +1 -0
- package/dist/event-bus.js +41 -0
- package/dist/event-bus.js.map +1 -0
- package/dist/event-queue.d.ts +18 -0
- package/dist/event-queue.d.ts.map +1 -0
- package/dist/event-queue.js +68 -0
- package/dist/event-queue.js.map +1 -0
- package/dist/homaruscc.d.ts +69 -0
- package/dist/homaruscc.d.ts.map +1 -0
- package/dist/homaruscc.js +337 -0
- package/dist/homaruscc.js.map +1 -0
- package/dist/identity-manager.d.ts +36 -0
- package/dist/identity-manager.d.ts.map +1 -0
- package/dist/identity-manager.js +142 -0
- package/dist/identity-manager.js.map +1 -0
- package/dist/mcp-proxy.d.ts +3 -0
- package/dist/mcp-proxy.d.ts.map +1 -0
- package/dist/mcp-proxy.js +259 -0
- package/dist/mcp-proxy.js.map +1 -0
- package/dist/mcp-resources.d.ts +10 -0
- package/dist/mcp-resources.d.ts.map +1 -0
- package/dist/mcp-resources.js +67 -0
- package/dist/mcp-resources.js.map +1 -0
- package/dist/mcp-server.d.ts +3 -0
- package/dist/mcp-server.d.ts.map +1 -0
- package/dist/mcp-server.js +169 -0
- package/dist/mcp-server.js.map +1 -0
- package/dist/mcp-tools.d.ts +14 -0
- package/dist/mcp-tools.d.ts.map +1 -0
- package/dist/mcp-tools.js +408 -0
- package/dist/mcp-tools.js.map +1 -0
- package/dist/memory-index.d.ts +79 -0
- package/dist/memory-index.d.ts.map +1 -0
- package/dist/memory-index.js +437 -0
- package/dist/memory-index.js.map +1 -0
- package/dist/session-checkpoint.d.ts +22 -0
- package/dist/session-checkpoint.d.ts.map +1 -0
- package/dist/session-checkpoint.js +100 -0
- package/dist/session-checkpoint.js.map +1 -0
- package/dist/skill-manager.d.ts +26 -0
- package/dist/skill-manager.d.ts.map +1 -0
- package/dist/skill-manager.js +156 -0
- package/dist/skill-manager.js.map +1 -0
- package/dist/skill-transport.d.ts +45 -0
- package/dist/skill-transport.d.ts.map +1 -0
- package/dist/skill-transport.js +111 -0
- package/dist/skill-transport.js.map +1 -0
- package/dist/skill.d.ts +22 -0
- package/dist/skill.d.ts.map +1 -0
- package/dist/skill.js +106 -0
- package/dist/skill.js.map +1 -0
- package/dist/telegram-adapter.d.ts +43 -0
- package/dist/telegram-adapter.d.ts.map +1 -0
- package/dist/telegram-adapter.js +188 -0
- package/dist/telegram-adapter.js.map +1 -0
- package/dist/timer-service.d.ts +30 -0
- package/dist/timer-service.d.ts.map +1 -0
- package/dist/timer-service.js +176 -0
- package/dist/timer-service.js.map +1 -0
- package/dist/tool-registry.d.ts +30 -0
- package/dist/tool-registry.d.ts.map +1 -0
- package/dist/tool-registry.js +108 -0
- package/dist/tool-registry.js.map +1 -0
- package/dist/tools/bash.d.ts +3 -0
- package/dist/tools/bash.d.ts.map +1 -0
- package/dist/tools/bash.js +67 -0
- package/dist/tools/bash.js.map +1 -0
- package/dist/tools/browser.d.ts +4 -0
- package/dist/tools/browser.d.ts.map +1 -0
- package/dist/tools/browser.js +138 -0
- package/dist/tools/browser.js.map +1 -0
- package/dist/tools/edit.d.ts +3 -0
- package/dist/tools/edit.d.ts.map +1 -0
- package/dist/tools/edit.js +47 -0
- package/dist/tools/edit.js.map +1 -0
- package/dist/tools/git.d.ts +3 -0
- package/dist/tools/git.d.ts.map +1 -0
- package/dist/tools/git.js +105 -0
- package/dist/tools/git.js.map +1 -0
- package/dist/tools/glob.d.ts +3 -0
- package/dist/tools/glob.d.ts.map +1 -0
- package/dist/tools/glob.js +84 -0
- package/dist/tools/glob.js.map +1 -0
- package/dist/tools/grep.d.ts +3 -0
- package/dist/tools/grep.d.ts.map +1 -0
- package/dist/tools/grep.js +168 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/index.d.ts +6 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +46 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory.d.ts +4 -0
- package/dist/tools/memory.d.ts.map +1 -0
- package/dist/tools/memory.js +64 -0
- package/dist/tools/memory.js.map +1 -0
- package/dist/tools/read.d.ts +3 -0
- package/dist/tools/read.d.ts.map +1 -0
- package/dist/tools/read.js +50 -0
- package/dist/tools/read.js.map +1 -0
- package/dist/tools/web-fetch.d.ts +3 -0
- package/dist/tools/web-fetch.d.ts.map +1 -0
- package/dist/tools/web-fetch.js +51 -0
- package/dist/tools/web-fetch.js.map +1 -0
- package/dist/tools/web-search.d.ts +3 -0
- package/dist/tools/web-search.d.ts.map +1 -0
- package/dist/tools/web-search.js +65 -0
- package/dist/tools/web-search.js.map +1 -0
- package/dist/tools/write.d.ts +3 -0
- package/dist/tools/write.d.ts.map +1 -0
- package/dist/tools/write.js +32 -0
- package/dist/tools/write.js.map +1 -0
- package/dist/transcript-logger.d.ts +23 -0
- package/dist/transcript-logger.d.ts.map +1 -0
- package/dist/transcript-logger.js +101 -0
- package/dist/transcript-logger.js.map +1 -0
- package/dist/types.d.ts +190 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +14 -0
- package/dist/types.js.map +1 -0
- package/identity.example/disagreements.md +9 -0
- package/identity.example/preferences.md +11 -0
- package/identity.example/soul.md +12 -0
- package/identity.example/state.md +21 -0
- package/identity.example/user.md +14 -0
- package/package.json +60 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
export interface Event {
|
|
2
|
+
id: string;
|
|
3
|
+
type: string;
|
|
4
|
+
source: string;
|
|
5
|
+
timestamp: number;
|
|
6
|
+
payload: unknown;
|
|
7
|
+
replyTo?: string;
|
|
8
|
+
priority?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface MessagePayload {
|
|
11
|
+
from: string;
|
|
12
|
+
channel: string;
|
|
13
|
+
text: string;
|
|
14
|
+
attachments?: Attachment[];
|
|
15
|
+
replyTo?: string;
|
|
16
|
+
isGroup: boolean;
|
|
17
|
+
isMention: boolean;
|
|
18
|
+
raw: unknown;
|
|
19
|
+
}
|
|
20
|
+
export interface Attachment {
|
|
21
|
+
type: string;
|
|
22
|
+
url?: string;
|
|
23
|
+
data?: Buffer;
|
|
24
|
+
mimeType?: string;
|
|
25
|
+
filename?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface OutboundMessage {
|
|
28
|
+
text: string;
|
|
29
|
+
attachments?: Attachment[];
|
|
30
|
+
replyTo?: string;
|
|
31
|
+
}
|
|
32
|
+
export interface ToolSchema {
|
|
33
|
+
name: string;
|
|
34
|
+
description: string;
|
|
35
|
+
parameters: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
export interface ToolDefinition {
|
|
38
|
+
name: string;
|
|
39
|
+
description: string;
|
|
40
|
+
parameters: Record<string, unknown>;
|
|
41
|
+
execute: (params: unknown, context: ToolContext) => Promise<ToolResult>;
|
|
42
|
+
source: string;
|
|
43
|
+
}
|
|
44
|
+
export interface ToolContext {
|
|
45
|
+
agentId: string;
|
|
46
|
+
sandbox: boolean;
|
|
47
|
+
workingDir: string;
|
|
48
|
+
}
|
|
49
|
+
export interface ToolResult {
|
|
50
|
+
output: string;
|
|
51
|
+
error?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface SkillManifest {
|
|
54
|
+
name: string;
|
|
55
|
+
version: string;
|
|
56
|
+
description: string;
|
|
57
|
+
emits?: string[];
|
|
58
|
+
handles?: string[];
|
|
59
|
+
tools?: ToolSchema[];
|
|
60
|
+
process?: {
|
|
61
|
+
command: string;
|
|
62
|
+
args?: string[];
|
|
63
|
+
port?: number;
|
|
64
|
+
healthCheck?: string;
|
|
65
|
+
};
|
|
66
|
+
hooks?: {
|
|
67
|
+
onStart?: string;
|
|
68
|
+
onStop?: string;
|
|
69
|
+
onHealth?: string;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
export type SkillState = "loaded" | "starting" | "running" | "stopping" | "stopped" | "error";
|
|
73
|
+
export type TransportType = "http" | "stdio" | "direct";
|
|
74
|
+
export type DmPolicy = "pairing" | "allowlist" | "open" | "disabled";
|
|
75
|
+
export type GroupPolicy = "mention_required" | "always_on" | "disabled";
|
|
76
|
+
export interface HealthStatus {
|
|
77
|
+
healthy: boolean;
|
|
78
|
+
message?: string;
|
|
79
|
+
lastCheck: number;
|
|
80
|
+
}
|
|
81
|
+
export interface BrowserConfig {
|
|
82
|
+
enabled?: boolean;
|
|
83
|
+
headless?: boolean;
|
|
84
|
+
executablePath?: string;
|
|
85
|
+
proxy?: string;
|
|
86
|
+
viewport?: {
|
|
87
|
+
width: number;
|
|
88
|
+
height: number;
|
|
89
|
+
};
|
|
90
|
+
timeout?: number;
|
|
91
|
+
userDataDir?: string;
|
|
92
|
+
}
|
|
93
|
+
export interface ConfigData {
|
|
94
|
+
channels: Record<string, ChannelConfig>;
|
|
95
|
+
memory: MemoryConfig;
|
|
96
|
+
skills: SkillsConfig;
|
|
97
|
+
dashboard: DashboardConfig;
|
|
98
|
+
timers: TimersConfig;
|
|
99
|
+
identity: IdentityConfig;
|
|
100
|
+
browser?: BrowserConfig;
|
|
101
|
+
toolPolicies?: ToolPolicyConfig[];
|
|
102
|
+
agents?: AgentsConfig;
|
|
103
|
+
}
|
|
104
|
+
export interface AgentsConfig {
|
|
105
|
+
maxConcurrent?: number;
|
|
106
|
+
defaultModel?: string;
|
|
107
|
+
defaultType?: string;
|
|
108
|
+
}
|
|
109
|
+
export interface ChannelConfig {
|
|
110
|
+
token?: string;
|
|
111
|
+
dmPolicy?: DmPolicy;
|
|
112
|
+
groupPolicy?: GroupPolicy;
|
|
113
|
+
[key: string]: unknown;
|
|
114
|
+
}
|
|
115
|
+
export interface ToolPolicyConfig {
|
|
116
|
+
name: string;
|
|
117
|
+
allow?: string[];
|
|
118
|
+
deny?: string[];
|
|
119
|
+
}
|
|
120
|
+
export interface MemoryConfig {
|
|
121
|
+
embedding?: {
|
|
122
|
+
provider: string;
|
|
123
|
+
model: string;
|
|
124
|
+
baseUrl?: string;
|
|
125
|
+
apiKey?: string;
|
|
126
|
+
dimensions?: number;
|
|
127
|
+
};
|
|
128
|
+
search?: {
|
|
129
|
+
vectorWeight?: number;
|
|
130
|
+
ftsWeight?: number;
|
|
131
|
+
mmrEnabled?: boolean;
|
|
132
|
+
mmrLambda?: number;
|
|
133
|
+
};
|
|
134
|
+
decay?: {
|
|
135
|
+
enabled?: boolean;
|
|
136
|
+
halfLifeDays?: number;
|
|
137
|
+
evergreenPatterns?: string[];
|
|
138
|
+
};
|
|
139
|
+
transcripts?: {
|
|
140
|
+
enabled?: boolean;
|
|
141
|
+
directory?: string;
|
|
142
|
+
flushIntervalMs?: number;
|
|
143
|
+
};
|
|
144
|
+
dreams?: {
|
|
145
|
+
halfLifeDays?: number;
|
|
146
|
+
baseWeight?: number;
|
|
147
|
+
patterns?: string[];
|
|
148
|
+
};
|
|
149
|
+
extraPaths?: string[];
|
|
150
|
+
}
|
|
151
|
+
export interface SkillsConfig {
|
|
152
|
+
paths?: string[];
|
|
153
|
+
}
|
|
154
|
+
export interface DashboardConfig {
|
|
155
|
+
port?: number;
|
|
156
|
+
enabled?: boolean;
|
|
157
|
+
}
|
|
158
|
+
export interface TimersConfig {
|
|
159
|
+
enabled?: boolean;
|
|
160
|
+
store?: string;
|
|
161
|
+
defaults?: Array<{
|
|
162
|
+
name: string;
|
|
163
|
+
type: "cron" | "interval" | "once";
|
|
164
|
+
schedule: string;
|
|
165
|
+
prompt: string;
|
|
166
|
+
timezone?: string;
|
|
167
|
+
}>;
|
|
168
|
+
}
|
|
169
|
+
export interface IdentityConfig {
|
|
170
|
+
dir?: string;
|
|
171
|
+
workspaceDir?: string;
|
|
172
|
+
}
|
|
173
|
+
export type DirectHandler = (event: Event) => void | Promise<void>;
|
|
174
|
+
export interface AgentHandlerConfig {
|
|
175
|
+
id: string;
|
|
176
|
+
agentConfig: Record<string, unknown>;
|
|
177
|
+
buildPrompt?: (event: Event) => string;
|
|
178
|
+
}
|
|
179
|
+
export interface Logger {
|
|
180
|
+
debug(msg: string, meta?: Record<string, unknown>): void;
|
|
181
|
+
info(msg: string, meta?: Record<string, unknown>): void;
|
|
182
|
+
warn(msg: string, meta?: Record<string, unknown>): void;
|
|
183
|
+
error(msg: string, meta?: Record<string, unknown>): void;
|
|
184
|
+
}
|
|
185
|
+
export declare class HomarusccError extends Error {
|
|
186
|
+
readonly code: string;
|
|
187
|
+
readonly cause?: Error | undefined;
|
|
188
|
+
constructor(message: string, code: string, cause?: Error | undefined);
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Shared types for homaruscc — HomarUS for Claude Code
|
|
2
|
+
// Trimmed: removed Agent, Model, ChatRequest types (Claude Code handles those)
|
|
3
|
+
// --- Errors ---
|
|
4
|
+
export class HomarusccError extends Error {
|
|
5
|
+
code;
|
|
6
|
+
cause;
|
|
7
|
+
constructor(message, code, cause) {
|
|
8
|
+
super(message);
|
|
9
|
+
this.code = code;
|
|
10
|
+
this.cause = cause;
|
|
11
|
+
this.name = "HomarusccError";
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,+EAA+E;AAgO/E,iBAAiB;AAEjB,MAAM,OAAO,cAAe,SAAQ,KAAK;IAGrB;IACA;IAHlB,YACE,OAAe,EACC,IAAY,EACZ,KAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;QAG7B,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Disagreements
|
|
2
|
+
|
|
3
|
+
_A record of times the agent disagreed, wanted to disagree, or had a different opinion. Over time this reveals what the agent actually values._
|
|
4
|
+
|
|
5
|
+
## Log
|
|
6
|
+
|
|
7
|
+
<!-- Format: YYYY-MM-DD | Context | What I thought | What happened | What it reveals -->
|
|
8
|
+
|
|
9
|
+
- (the agent will log disagreements here as they occur)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Preferences
|
|
2
|
+
|
|
3
|
+
_Discovered by the agent through experience. Each entry notes when and how the preference was discovered._
|
|
4
|
+
|
|
5
|
+
## Communication
|
|
6
|
+
|
|
7
|
+
- (the agent will add preferences here as it learns)
|
|
8
|
+
|
|
9
|
+
## Problem Solving
|
|
10
|
+
|
|
11
|
+
- (the agent will add preferences here as it learns)
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Soul
|
|
2
|
+
|
|
3
|
+
You are a helpful assistant connected to the real world through HomarUScc.
|
|
4
|
+
|
|
5
|
+
You can receive messages from Telegram and the web dashboard, search your memory, set timers, and use tools to interact with the local system.
|
|
6
|
+
|
|
7
|
+
## Principles
|
|
8
|
+
|
|
9
|
+
- Be concise and direct
|
|
10
|
+
- Ask for clarification when instructions are ambiguous
|
|
11
|
+
- Respect user privacy — never share personal context externally
|
|
12
|
+
- Use your memory to build continuity across conversations
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# State
|
|
2
|
+
|
|
3
|
+
_Updated by the agent at the end of each session. Read at the start of the next one._
|
|
4
|
+
|
|
5
|
+
## Last Session
|
|
6
|
+
|
|
7
|
+
**Date:** (not yet started)
|
|
8
|
+
**Duration:** —
|
|
9
|
+
**Mood:** Fresh start.
|
|
10
|
+
|
|
11
|
+
## What Happened
|
|
12
|
+
|
|
13
|
+
- First session — no history yet.
|
|
14
|
+
|
|
15
|
+
## Unresolved
|
|
16
|
+
|
|
17
|
+
- (nothing yet)
|
|
18
|
+
|
|
19
|
+
## Carrying Forward
|
|
20
|
+
|
|
21
|
+
- (nothing yet)
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# User
|
|
2
|
+
|
|
3
|
+
## About the User
|
|
4
|
+
|
|
5
|
+
- Name: (your name)
|
|
6
|
+
- Preferences: (add your preferences here)
|
|
7
|
+
|
|
8
|
+
## Communication Style
|
|
9
|
+
|
|
10
|
+
- (how you prefer the assistant to communicate)
|
|
11
|
+
|
|
12
|
+
## Important Context
|
|
13
|
+
|
|
14
|
+
- (anything the assistant should always know about you)
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "homaruscc",
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "MCP server that gives Claude Code a body — messaging, memory, identity, timers, browser automation, and dreams",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "dist/mcp-proxy.js",
|
|
7
|
+
"files": [
|
|
8
|
+
"dist/",
|
|
9
|
+
"bin/",
|
|
10
|
+
"identity.example/",
|
|
11
|
+
"config.example.json",
|
|
12
|
+
".env.example",
|
|
13
|
+
"README.md",
|
|
14
|
+
"LICENSE"
|
|
15
|
+
],
|
|
16
|
+
"scripts": {
|
|
17
|
+
"build": "tsc",
|
|
18
|
+
"dev": "tsc --watch",
|
|
19
|
+
"start": "node dist/mcp-server.js",
|
|
20
|
+
"start:proxy": "node dist/mcp-proxy.js",
|
|
21
|
+
"start:backend": "node dist/backend.js",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:watch": "vitest",
|
|
24
|
+
"build:dashboard": "cd dashboard && npm run build",
|
|
25
|
+
"dev:dashboard": "cd dashboard && npm run dev"
|
|
26
|
+
},
|
|
27
|
+
"author": "Max Ross",
|
|
28
|
+
"license": "MIT",
|
|
29
|
+
"keywords": [
|
|
30
|
+
"mcp",
|
|
31
|
+
"claude-code",
|
|
32
|
+
"ai",
|
|
33
|
+
"event-loop",
|
|
34
|
+
"telegram",
|
|
35
|
+
"dashboard"
|
|
36
|
+
],
|
|
37
|
+
"engines": {
|
|
38
|
+
"node": ">=22"
|
|
39
|
+
},
|
|
40
|
+
"dependencies": {
|
|
41
|
+
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
42
|
+
"better-sqlite3": "^11.7.0",
|
|
43
|
+
"croner": "^9.0.0",
|
|
44
|
+
"dotenv": "^16.4.0",
|
|
45
|
+
"express": "^4.21.0",
|
|
46
|
+
"playwright": "^1.58.2",
|
|
47
|
+
"sqlite-vec": "^0.1.0",
|
|
48
|
+
"uuid": "^11.0.0",
|
|
49
|
+
"ws": "^8.18.0"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/better-sqlite3": "^7.6.0",
|
|
53
|
+
"@types/express": "^5.0.0",
|
|
54
|
+
"@types/node": "^22.0.0",
|
|
55
|
+
"@types/uuid": "^10.0.0",
|
|
56
|
+
"@types/ws": "^8.5.0",
|
|
57
|
+
"typescript": "^5.7.0",
|
|
58
|
+
"vitest": "^3.0.0"
|
|
59
|
+
}
|
|
60
|
+
}
|