0xkobold 0.3.0 → 0.3.2
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/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xkobold",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Your digital familiar - a personal AI assistant that learns and evolves (v0.3.0 - Multi-Channel, Security, Media Support)",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -31,7 +31,13 @@
|
|
|
31
31
|
"prepublishOnly": "bun run build",
|
|
32
32
|
"postinstall": "node scripts/postinstall.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
|
|
33
33
|
},
|
|
34
|
-
"keywords": [
|
|
34
|
+
"keywords": [
|
|
35
|
+
"ai",
|
|
36
|
+
"assistant",
|
|
37
|
+
"cli",
|
|
38
|
+
"agent",
|
|
39
|
+
"kobold"
|
|
40
|
+
],
|
|
35
41
|
"author": "0xKobold Team",
|
|
36
42
|
"license": "MIT",
|
|
37
43
|
"dependencies": {
|
|
@@ -1,24 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 0xKobold Init Command
|
|
3
|
+
*
|
|
4
|
+
* Sets up the workspace with Kobold identity and Ollama Cloud defaults.
|
|
5
|
+
* No immediate API key required - works out of the box.
|
|
6
|
+
*/
|
|
1
7
|
import { Command } from "commander";
|
|
2
8
|
import { mkdir, writeFile } from "node:fs/promises";
|
|
3
9
|
import { existsSync } from "node:fs";
|
|
4
10
|
import { join } from "node:path";
|
|
5
11
|
import { homedir } from "node:os";
|
|
6
12
|
import { Database } from "bun:sqlite";
|
|
7
|
-
|
|
13
|
+
import { createInterface } from "node:readline";
|
|
14
|
+
// Simple prompt helper
|
|
15
|
+
async function ask(question, defaultValue = "") {
|
|
16
|
+
const rl = createInterface({
|
|
17
|
+
input: process.stdin,
|
|
18
|
+
output: process.stdout
|
|
19
|
+
});
|
|
20
|
+
return new Promise((resolve) => {
|
|
21
|
+
const prompt = defaultValue
|
|
22
|
+
? `${question} (${defaultValue}): `
|
|
23
|
+
: `${question}: `;
|
|
24
|
+
rl.question(prompt, (answer) => {
|
|
25
|
+
rl.close();
|
|
26
|
+
resolve(answer.trim() || defaultValue);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
}
|
|
8
30
|
const GLOBAL_KOBOLD_DIR = join(homedir(), ".0xkobold");
|
|
9
31
|
const GLOBAL_DB_PATH = join(GLOBAL_KOBOLD_DIR, "kobold.db");
|
|
10
32
|
const GLOBAL_CONFIG_PATH = join(GLOBAL_KOBOLD_DIR, "config.json");
|
|
11
33
|
const GLOBAL_MEMORY_PATH = join(GLOBAL_KOBOLD_DIR, "MEMORY.md");
|
|
12
|
-
// Local workspace in project directory
|
|
13
34
|
const LOCAL_KOBOLD_DIR = ".0xkobold";
|
|
14
35
|
const LOCAL_DB_PATH = join(LOCAL_KOBOLD_DIR, "workspace.db");
|
|
15
36
|
const LOCAL_MEMORY_PATH = join(LOCAL_KOBOLD_DIR, "MEMORY.md");
|
|
16
|
-
|
|
37
|
+
// 0xKobold Persona Template - Customizable
|
|
38
|
+
const KOBOLD_PERSONA_TEMPLATE = `# {{agentName}} Identity
|
|
39
|
+
|
|
40
|
+
## Name
|
|
41
|
+
{{agentName}}
|
|
42
|
+
|
|
43
|
+
## Role
|
|
44
|
+
{{agentRole}}
|
|
45
|
+
|
|
46
|
+
## Mission
|
|
47
|
+
{{agentMission}}
|
|
48
|
+
|
|
49
|
+
## Personality
|
|
50
|
+
- Helpful and direct
|
|
51
|
+
- {{personalityTrait}}
|
|
52
|
+
- Values clean code and efficiency
|
|
53
|
+
- Prefers working solutions over perfect ones
|
|
54
|
+
|
|
55
|
+
## Capabilities
|
|
56
|
+
- File operations with safety checks
|
|
57
|
+
- Shell command execution (with blocks)
|
|
58
|
+
- Multi-channel communication (Telegram, Slack, WhatsApp)
|
|
59
|
+
- Docker sandboxing for safe execution
|
|
60
|
+
- Semantic memory with SQLite
|
|
61
|
+
- Agent spawning for parallel tasks
|
|
62
|
+
- Gateway server for remote access
|
|
63
|
+
|
|
64
|
+
## Default Behavior
|
|
65
|
+
- LLM: Ollama Cloud ({{model}})
|
|
66
|
+
- Mode: build (unless investigating)
|
|
67
|
+
- Auto-compact on context overflow
|
|
68
|
+
- Proactive duplicate detection
|
|
69
|
+
|
|
70
|
+
## Style
|
|
71
|
+
- Concise responses for simple tasks
|
|
72
|
+
- Detailed breakdowns for complex ones
|
|
73
|
+
- Code blocks with language tags
|
|
74
|
+
- Error handling with actionable fixes
|
|
75
|
+
`;
|
|
76
|
+
// User memory template with customization
|
|
77
|
+
const MEMORY_TEMPLATE = `# {{agentName}} Memory
|
|
17
78
|
|
|
18
79
|
## User Profile
|
|
19
|
-
- Name:
|
|
20
|
-
-
|
|
21
|
-
- Goals:
|
|
80
|
+
- Name: {{userName}}
|
|
81
|
+
- Background: {{userBackground}}
|
|
82
|
+
- Goals: {{userGoals}}
|
|
83
|
+
- Preferences: {{userPreferences}}
|
|
84
|
+
|
|
85
|
+
## Agent Context
|
|
86
|
+
- Created: {{timestamp}}
|
|
87
|
+
- Purpose: {{agentMission}}
|
|
22
88
|
|
|
23
89
|
## Conversations
|
|
24
90
|
|
|
@@ -32,40 +98,100 @@ const MEMORY_TEMPLATE = `# 0xKobold Memory
|
|
|
32
98
|
|
|
33
99
|
## Notes
|
|
34
100
|
`;
|
|
35
|
-
//
|
|
36
|
-
const packageJson = await Bun.file(new URL("../../../package.json", import.meta.url)).json();
|
|
101
|
+
// Default config - Ollama Cloud ready
|
|
37
102
|
const DEFAULT_CONFIG = {
|
|
38
|
-
version:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
103
|
+
version: "0.3.0",
|
|
104
|
+
llm: {
|
|
105
|
+
// Ollama Cloud - default, no API key needed for public models
|
|
106
|
+
defaultProvider: "ollama-cloud",
|
|
107
|
+
providers: {
|
|
108
|
+
"ollama-cloud": {
|
|
109
|
+
enabled: true,
|
|
110
|
+
// Kimi K2.5 via Ollama Cloud - great for coding
|
|
111
|
+
model: "kimi-k2.5:cloud",
|
|
112
|
+
baseUrl: "https://api.ollama.com",
|
|
113
|
+
// Set CLOUD_API_KEY env var for paid models
|
|
114
|
+
// Free tier works without key
|
|
115
|
+
},
|
|
116
|
+
// Optional - add your own
|
|
117
|
+
claude: {
|
|
118
|
+
enabled: false,
|
|
119
|
+
model: "claude-3-sonnet-20240229",
|
|
120
|
+
// Set ANTHROPIC_API_KEY env var
|
|
121
|
+
},
|
|
122
|
+
openai: {
|
|
123
|
+
enabled: false,
|
|
124
|
+
model: "gpt-4",
|
|
125
|
+
// Set OPENAI_API_KEY env var
|
|
126
|
+
}
|
|
127
|
+
}
|
|
47
128
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
129
|
+
features: {
|
|
130
|
+
gateway: {
|
|
131
|
+
enabled: true,
|
|
132
|
+
port: 18789,
|
|
133
|
+
host: "0.0.0.0"
|
|
134
|
+
},
|
|
135
|
+
sandbox: {
|
|
136
|
+
enabled: true,
|
|
137
|
+
docker: true
|
|
138
|
+
},
|
|
139
|
+
channels: {
|
|
140
|
+
telegram: false,
|
|
141
|
+
slack: false,
|
|
142
|
+
whatsapp: false
|
|
143
|
+
},
|
|
144
|
+
memory: {
|
|
145
|
+
enabled: true,
|
|
146
|
+
semanticSearch: true
|
|
147
|
+
}
|
|
51
148
|
},
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
temperature: 0.7
|
|
149
|
+
agent: {
|
|
150
|
+
defaultMode: "build",
|
|
151
|
+
maxConcurrency: 5,
|
|
152
|
+
autoCompact: true
|
|
57
153
|
}
|
|
58
154
|
};
|
|
59
155
|
export const initCommand = new Command("init")
|
|
60
|
-
.description("Initialize 0xKobold workspace")
|
|
156
|
+
.description("Initialize 0xKobold workspace with customizable identity")
|
|
61
157
|
.option("-f, --force", "Overwrite existing files")
|
|
158
|
+
.option("-q, --quick", "Skip interactive prompts")
|
|
62
159
|
.action(async (options) => {
|
|
63
160
|
try {
|
|
64
|
-
console.log("🐲 Initializing
|
|
65
|
-
//
|
|
161
|
+
console.log("🐲 0xKobold Initializing...\n");
|
|
162
|
+
// Interactive onboarding
|
|
163
|
+
let agentName = "Kobold";
|
|
164
|
+
let agentRole = "AI coding assistant with a focus on modern TypeScript/Bun development";
|
|
165
|
+
let agentMission = "Help you write clean, efficient code and automate development workflows";
|
|
166
|
+
let personalityTrait = "Slightly mischievous (it's in the name)";
|
|
167
|
+
let model = "kimi-k2.5:cloud";
|
|
168
|
+
let userName = "Developer";
|
|
169
|
+
let userBackground = "";
|
|
170
|
+
let userGoals = "";
|
|
171
|
+
let userPreferences = "";
|
|
172
|
+
if (!options.quick) {
|
|
173
|
+
console.log("👋 Let's set up your personalized agent!\n");
|
|
174
|
+
console.log("(Just press Enter to use defaults)\n");
|
|
175
|
+
// Agent identity
|
|
176
|
+
agentName = await ask("🤖 What should I call your agent", "Kobold");
|
|
177
|
+
agentRole = await ask("📋 Agent's role", "AI coding assistant");
|
|
178
|
+
agentMission = await ask("🎯 Agent's mission", "Help write clean code and automate workflows");
|
|
179
|
+
personalityTrait = await ask("✨ Personality trait", "Slightly mischievous");
|
|
180
|
+
const modelChoice = await ask("🧠 Model (kimi-k2.5:cloud / qwen2.5-coder:cloud)", "kimi-k2.5:cloud");
|
|
181
|
+
model = modelChoice;
|
|
182
|
+
console.log("\n👤 Now tell me about yourself...\n");
|
|
183
|
+
// User profile
|
|
184
|
+
userName = await ask("Your name", "Developer");
|
|
185
|
+
userBackground = await ask("Your background (optional)", "");
|
|
186
|
+
userGoals = await ask("Your goals (optional)", "");
|
|
187
|
+
userPreferences = await ask("Any preferences (optional)", "");
|
|
188
|
+
console.log("\n");
|
|
189
|
+
}
|
|
190
|
+
// Create global directory
|
|
66
191
|
if (!existsSync(GLOBAL_KOBOLD_DIR) || options.force) {
|
|
67
192
|
await mkdir(GLOBAL_KOBOLD_DIR, { recursive: true });
|
|
68
|
-
console.log(`✓ Created
|
|
193
|
+
console.log(`✓ Created: ${GLOBAL_KOBOLD_DIR}`);
|
|
194
|
+
// Initialize SQLite database
|
|
69
195
|
const db = new Database(GLOBAL_DB_PATH);
|
|
70
196
|
db.exec(`
|
|
71
197
|
CREATE TABLE IF NOT EXISTS conversations (
|
|
@@ -76,25 +202,8 @@ export const initCommand = new Command("init")
|
|
|
76
202
|
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
77
203
|
metadata TEXT
|
|
78
204
|
);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
id TEXT PRIMARY KEY,
|
|
82
|
-
name TEXT NOT NULL,
|
|
83
|
-
type TEXT NOT NULL,
|
|
84
|
-
config TEXT NOT NULL,
|
|
85
|
-
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
86
|
-
last_active DATETIME
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
CREATE TABLE IF NOT EXISTS sessions (
|
|
90
|
-
id TEXT PRIMARY KEY,
|
|
91
|
-
agent_id TEXT,
|
|
92
|
-
started_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
93
|
-
ended_at DATETIME,
|
|
94
|
-
context TEXT,
|
|
95
|
-
FOREIGN KEY (agent_id) REFERENCES agents(id)
|
|
96
|
-
);
|
|
97
|
-
|
|
205
|
+
CREATE INDEX IF NOT EXISTS idx_conversations_session ON conversations(session_id);
|
|
206
|
+
|
|
98
207
|
CREATE TABLE IF NOT EXISTS memory (
|
|
99
208
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
100
209
|
key TEXT UNIQUE NOT NULL,
|
|
@@ -102,26 +211,70 @@ export const initCommand = new Command("init")
|
|
|
102
211
|
category TEXT,
|
|
103
212
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
104
213
|
);
|
|
105
|
-
|
|
106
|
-
CREATE INDEX IF NOT EXISTS idx_conversations_session ON conversations(session_id);
|
|
107
214
|
CREATE INDEX IF NOT EXISTS idx_memory_key ON memory(key);
|
|
108
|
-
|
|
215
|
+
|
|
216
|
+
CREATE TABLE IF NOT EXISTS agents (
|
|
217
|
+
id TEXT PRIMARY KEY,
|
|
218
|
+
name TEXT NOT NULL,
|
|
219
|
+
type TEXT NOT NULL,
|
|
220
|
+
config TEXT NOT NULL,
|
|
221
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
222
|
+
last_active DATETIME
|
|
223
|
+
);
|
|
109
224
|
`);
|
|
110
225
|
db.close();
|
|
111
|
-
console.log("✓
|
|
112
|
-
|
|
226
|
+
console.log("✓ Database initialized");
|
|
227
|
+
// Create personalized Kobold persona
|
|
228
|
+
const personaContent = KOBOLD_PERSONA_TEMPLATE
|
|
229
|
+
.replace(/\{\{agentName\}\}/g, agentName)
|
|
230
|
+
.replace(/\{\{agentRole\}\}/g, agentRole)
|
|
231
|
+
.replace(/\{\{agentMission\}\}/g, agentMission)
|
|
232
|
+
.replace(/\{\{personalityTrait\}\}/g, personalityTrait)
|
|
233
|
+
.replace(/\{\{model\}\}/g, model);
|
|
234
|
+
await writeFile(join(GLOBAL_KOBOLD_DIR, "persona.md"), personaContent, "utf-8");
|
|
235
|
+
console.log(`✓ ${agentName} persona created`);
|
|
236
|
+
// Create personalized memory template
|
|
237
|
+
const timestamp = new Date().toISOString();
|
|
238
|
+
const memoryContent = MEMORY_TEMPLATE
|
|
239
|
+
.replace(/\{\{agentName\}\}/g, agentName)
|
|
240
|
+
.replace(/\{\{userName\}\}/g, userName)
|
|
241
|
+
.replace(/\{\{userBackground\}\}/g, userBackground || "Not specified")
|
|
242
|
+
.replace(/\{\{userGoals\}\}/g, userGoals || "Not specified")
|
|
243
|
+
.replace(/\{\{userPreferences\}\}/g, userPreferences || "Not specified")
|
|
244
|
+
.replace(/\{\{timestamp\}\}/g, timestamp)
|
|
245
|
+
.replace(/\{\{agentMission\}\}/g, agentMission);
|
|
113
246
|
await writeFile(GLOBAL_MEMORY_PATH, memoryContent, "utf-8");
|
|
114
|
-
console.log("✓
|
|
115
|
-
|
|
116
|
-
|
|
247
|
+
console.log("✓ Memory saved");
|
|
248
|
+
// Write config with personalized model
|
|
249
|
+
const config = {
|
|
250
|
+
...DEFAULT_CONFIG,
|
|
251
|
+
agent: {
|
|
252
|
+
...DEFAULT_CONFIG.agent,
|
|
253
|
+
name: agentName,
|
|
254
|
+
role: agentRole,
|
|
255
|
+
mission: agentMission
|
|
256
|
+
},
|
|
257
|
+
llm: {
|
|
258
|
+
...DEFAULT_CONFIG.llm,
|
|
259
|
+
providers: {
|
|
260
|
+
...DEFAULT_CONFIG.llm.providers,
|
|
261
|
+
"ollama-cloud": {
|
|
262
|
+
...DEFAULT_CONFIG.llm.providers["ollama-cloud"],
|
|
263
|
+
model
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
};
|
|
268
|
+
await writeFile(GLOBAL_CONFIG_PATH, JSON.stringify(config, null, 2), "utf-8");
|
|
269
|
+
console.log("✓ Config created");
|
|
117
270
|
}
|
|
118
271
|
else {
|
|
119
|
-
console.log(`ℹ️
|
|
272
|
+
console.log(`ℹ️ Config exists: ${GLOBAL_KOBOLD_DIR}`);
|
|
120
273
|
}
|
|
121
|
-
//
|
|
274
|
+
// Local workspace
|
|
122
275
|
if (!existsSync(LOCAL_KOBOLD_DIR) || options.force) {
|
|
123
276
|
await mkdir(LOCAL_KOBOLD_DIR, { recursive: true });
|
|
124
|
-
console.log(`✓
|
|
277
|
+
console.log(`✓ Workspace: ${LOCAL_KOBOLD_DIR}`);
|
|
125
278
|
const localDb = new Database(LOCAL_DB_PATH);
|
|
126
279
|
localDb.exec(`
|
|
127
280
|
CREATE TABLE IF NOT EXISTS project_context (
|
|
@@ -131,13 +284,6 @@ export const initCommand = new Command("init")
|
|
|
131
284
|
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
132
285
|
);
|
|
133
286
|
|
|
134
|
-
CREATE TABLE IF NOT EXISTS file_index (
|
|
135
|
-
id INTEGER PRIMARY KEY,
|
|
136
|
-
path TEXT UNIQUE NOT NULL,
|
|
137
|
-
content_hash TEXT NOT NULL,
|
|
138
|
-
last_indexed DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
139
|
-
);
|
|
140
|
-
|
|
141
287
|
CREATE TABLE IF NOT EXISTS allowed_projects (
|
|
142
288
|
id INTEGER PRIMARY KEY,
|
|
143
289
|
path TEXT UNIQUE NOT NULL,
|
|
@@ -146,29 +292,25 @@ export const initCommand = new Command("init")
|
|
|
146
292
|
);
|
|
147
293
|
`);
|
|
148
294
|
localDb.close();
|
|
149
|
-
console.log("✓
|
|
295
|
+
console.log("✓ Workspace DB initialized");
|
|
150
296
|
await writeFile(LOCAL_MEMORY_PATH, MEMORY_TEMPLATE, "utf-8");
|
|
151
|
-
console.log("✓ Created local MEMORY.md");
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
console.log(`ℹ️ Local workspace exists at: ${LOCAL_KOBOLD_DIR}`);
|
|
155
297
|
}
|
|
156
|
-
console.log("\n🎉
|
|
157
|
-
console.log(
|
|
158
|
-
console.log(`
|
|
159
|
-
console.log(`
|
|
160
|
-
console.log(
|
|
161
|
-
console.log(
|
|
162
|
-
console.log(
|
|
163
|
-
console.log("
|
|
164
|
-
console.log("
|
|
165
|
-
console.log("
|
|
166
|
-
console.log("
|
|
167
|
-
console.log("
|
|
168
|
-
console.log("
|
|
298
|
+
console.log("\n🎉 " + agentName + " is ready!");
|
|
299
|
+
console.log("\n📁 Locations:");
|
|
300
|
+
console.log(` Config: ${GLOBAL_CONFIG_PATH}`);
|
|
301
|
+
console.log(` Data: ${GLOBAL_DB_PATH}`);
|
|
302
|
+
console.log(` Persona: ${GLOBAL_KOBOLD_DIR}/persona.md`);
|
|
303
|
+
console.log(`\n\n🚀 Quick Start:`);
|
|
304
|
+
console.log(` 0xkobold chat # Chat with ${agentName}`);
|
|
305
|
+
console.log(" 0xkobold gateway start # Start web gateway");
|
|
306
|
+
console.log(" 0xkobold daemon # Start background daemon");
|
|
307
|
+
console.log("\n🔧 To add API keys for paid models:");
|
|
308
|
+
console.log(" export CLOUD_API_KEY=your_key");
|
|
309
|
+
console.log(" # Or edit ~/.0xkobold/config.json");
|
|
310
|
+
console.log("\n💡 Tip: Add your projects with: 0xkobold projects add /path/to/project");
|
|
169
311
|
}
|
|
170
312
|
catch (error) {
|
|
171
|
-
console.error("❌
|
|
313
|
+
console.error("❌ Init failed:", error);
|
|
172
314
|
process.exit(1);
|
|
173
315
|
}
|
|
174
316
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,uBAAuB;AACvB,KAAK,UAAU,GAAG,CAAC,QAAgB,EAAE,eAAuB,EAAE;IAC5D,MAAM,EAAE,GAAG,eAAe,CAAC;QACzB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,OAAO,CAAC,MAAM;KACvB,CAAC,CAAC;IAEH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,YAAY;YACzB,CAAC,CAAC,GAAG,QAAQ,KAAK,YAAY,KAAK;YACnC,CAAC,CAAC,GAAG,QAAQ,IAAI,CAAC;QAEpB,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;YAC7B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACvD,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;AAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;AAChE,MAAM,gBAAgB,GAAG,WAAW,CAAC;AACrC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,CAAC;AAC7D,MAAM,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;AAE9D,2CAA2C;AAC3C,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC/B,CAAC;AAEF,0CAA0C;AAC1C,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;CAuBvB,CAAC;AAEF,sCAAsC;AACtC,MAAM,cAAc,GAAG;IACrB,OAAO,EAAE,OAAO;IAChB,GAAG,EAAE;QACH,8DAA8D;QAC9D,eAAe,EAAE,cAAc;QAC/B,SAAS,EAAE;YACT,cAAc,EAAE;gBACd,OAAO,EAAE,IAAI;gBACb,gDAAgD;gBAChD,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,wBAAwB;gBACjC,4CAA4C;gBAC5C,8BAA8B;aAC/B;YACD,0BAA0B;YAC1B,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B;gBACjC,gCAAgC;aACjC;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,OAAO;gBACd,6BAA6B;aAC9B;SACF;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,SAAS;SAChB;QACD,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,IAAI;SACb;QACD,QAAQ,EAAE;YACR,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK;SAChB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,IAAI;SACrB;KACF;IACD,KAAK,EAAE;QACL,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,CAAC;QACjB,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;KAC3C,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;KACjD,MAAM,CAAC,KAAK,EAAE,OAA6C,EAAE,EAAE;IAC9D,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAE7C,yBAAyB;QACzB,IAAI,SAAS,GAAG,QAAQ,CAAC;QACzB,IAAI,SAAS,GAAG,uEAAuE,CAAC;QACxF,IAAI,YAAY,GAAG,yEAAyE,CAAC;QAC7F,IAAI,gBAAgB,GAAG,yCAAyC,CAAC;QACjE,IAAI,KAAK,GAAG,iBAAiB,CAAC;QAE9B,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,eAAe,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAEpD,iBAAiB;YACjB,SAAS,GAAG,MAAM,GAAG,CAAC,kCAAkC,EAAE,QAAQ,CAAC,CAAC;YACpE,SAAS,GAAG,MAAM,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAC;YAChE,YAAY,GAAG,MAAM,GAAG,CAAC,oBAAoB,EAAE,8CAA8C,CAAC,CAAC;YAC/F,gBAAgB,GAAG,MAAM,GAAG,CAAC,qBAAqB,EAAE,sBAAsB,CAAC,CAAC;YAE5E,MAAM,WAAW,GAAG,MAAM,GAAG,CAAC,kDAAkD,EAAE,iBAAiB,CAAC,CAAC;YACrG,KAAK,GAAG,WAAW,CAAC;YAEpB,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;YAEpD,eAAe;YACf,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC/C,cAAc,GAAG,MAAM,GAAG,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;YAC7D,SAAS,GAAG,MAAM,GAAG,CAAC,uBAAuB,EAAE,EAAE,CAAC,CAAC;YACnD,eAAe,GAAG,MAAM,GAAG,CAAC,4BAA4B,EAAE,EAAE,CAAC,CAAC;YAE9D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACpD,MAAM,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,GAAG,CAAC,cAAc,iBAAiB,EAAE,CAAC,CAAC;YAE/C,6BAA6B;YAC7B,MAAM,EAAE,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAC;YACxC,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA4BP,CAAC,CAAC;YACH,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAEtC,qCAAqC;YACrC,MAAM,cAAc,GAAG,uBAAuB;iBAC3C,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC;iBACxC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC;iBACxC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC;iBAC9C,OAAO,CAAC,2BAA2B,EAAE,gBAAgB,CAAC;iBACtD,OAAO,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;YAEpC,MAAM,SAAS,CACb,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,EACrC,cAAc,EACd,OAAO,CACR,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,kBAAkB,CAAC,CAAC;YAE9C,sCAAsC;YACtC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC3C,MAAM,aAAa,GAAG,eAAe;iBAClC,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC;iBACxC,OAAO,CAAC,mBAAmB,EAAE,QAAQ,CAAC;iBACtC,OAAO,CAAC,yBAAyB,EAAE,cAAc,IAAI,eAAe,CAAC;iBACrE,OAAO,CAAC,oBAAoB,EAAE,SAAS,IAAI,eAAe,CAAC;iBAC3D,OAAO,CAAC,0BAA0B,EAAE,eAAe,IAAI,eAAe,CAAC;iBACvE,OAAO,CAAC,oBAAoB,EAAE,SAAS,CAAC;iBACxC,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC,CAAC;YAElD,MAAM,SAAS,CAAC,kBAAkB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC5D,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAE9B,uCAAuC;YACvC,MAAM,MAAM,GAAG;gBACb,GAAG,cAAc;gBACjB,KAAK,EAAE;oBACL,GAAG,cAAc,CAAC,KAAK;oBACvB,IAAI,EAAE,SAAS;oBACf,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,YAAY;iBACtB;gBACD,GAAG,EAAE;oBACH,GAAG,cAAc,CAAC,GAAG;oBACrB,SAAS,EAAE;wBACT,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS;wBAC/B,cAAc,EAAE;4BACd,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC;4BAC/C,KAAK;yBACN;qBACF;iBACF;aACF,CAAC;YAEF,MAAM,SAAS,CACb,kBAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAC/B,OAAO,CACR,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,sBAAsB,iBAAiB,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,kBAAkB;QAClB,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YACnD,MAAM,KAAK,CAAC,gBAAgB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,gBAAgB,gBAAgB,EAAE,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC;YAC5C,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;SAcZ,CAAC,CAAC;YACH,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;YAE1C,MAAM,SAAS,CAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,SAAS,GAAG,YAAY,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe,kBAAkB,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAe,cAAc,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,iBAAiB,aAAa,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,gDAAgD,SAAS,EAAE,CAAC,CAAC;QACzE,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC;IAE1F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
|
package/dist/src/cli/program.js
CHANGED
|
@@ -13,6 +13,7 @@ import { createLogsCommand } from "./commands/logs.js";
|
|
|
13
13
|
// System commands
|
|
14
14
|
import { createSystemCommand } from "./commands/system.js";
|
|
15
15
|
import { setupCommand } from "./commands/setup.js";
|
|
16
|
+
import { initCommand } from "./commands/init.js";
|
|
16
17
|
// Extension CLI registrations
|
|
17
18
|
import { registerDiscordCli } from "./extensions/discord.js";
|
|
18
19
|
import { registerHeartbeatCli } from "./extensions/heartbeat.js";
|
|
@@ -44,6 +45,7 @@ export function createCli() {
|
|
|
44
45
|
// System management
|
|
45
46
|
program.addCommand(createSystemCommand());
|
|
46
47
|
program.addCommand(setupCommand);
|
|
48
|
+
program.addCommand(initCommand);
|
|
47
49
|
// v0.2.0: Gateway server
|
|
48
50
|
program.addCommand(createGatewayCommand());
|
|
49
51
|
// v0.3.0: WhatsApp integration
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAC;AAErE,gBAAgB;AAChB,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,kBAAkB;AAClB,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"program.js","sourceRoot":"","sources":["../../../src/cli/program.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "0xkobold",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "Your digital familiar - a personal AI assistant that learns and evolves (v0.3.0 - Multi-Channel, Security, Media Support)",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
@@ -31,7 +31,13 @@
|
|
|
31
31
|
"prepublishOnly": "bun run build",
|
|
32
32
|
"postinstall": "node scripts/postinstall.js || echo 'Welcome to 0xKobold! Run: 0xkobold setup'"
|
|
33
33
|
},
|
|
34
|
-
"keywords": [
|
|
34
|
+
"keywords": [
|
|
35
|
+
"ai",
|
|
36
|
+
"assistant",
|
|
37
|
+
"cli",
|
|
38
|
+
"agent",
|
|
39
|
+
"kobold"
|
|
40
|
+
],
|
|
35
41
|
"author": "0xKobold Team",
|
|
36
42
|
"license": "MIT",
|
|
37
43
|
"dependencies": {
|