genieceo 0.1.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/DEVELOPMENT.md +240 -0
- package/LICENSE +21 -0
- package/README.md +443 -0
- package/config.example.json +28 -0
- package/dist/agent/context.d.ts +38 -0
- package/dist/agent/context.d.ts.map +1 -0
- package/dist/agent/context.js +131 -0
- package/dist/agent/context.js.map +1 -0
- package/dist/agent/index.d.ts +10 -0
- package/dist/agent/index.d.ts.map +1 -0
- package/dist/agent/index.js +54 -0
- package/dist/agent/index.js.map +1 -0
- package/dist/agent/loop.d.ts +40 -0
- package/dist/agent/loop.d.ts.map +1 -0
- package/dist/agent/loop.js +104 -0
- package/dist/agent/loop.js.map +1 -0
- package/dist/agent/subagent.d.ts +35 -0
- package/dist/agent/subagent.d.ts.map +1 -0
- package/dist/agent/subagent.js +96 -0
- package/dist/agent/subagent.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +8 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +161 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/init.d.ts +6 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +56 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/onboard.d.ts +6 -0
- package/dist/cli/commands/onboard.d.ts.map +1 -0
- package/dist/cli/commands/onboard.js +277 -0
- package/dist/cli/commands/onboard.js.map +1 -0
- package/dist/cli/commands/status.d.ts +6 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +107 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +49 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/manager.d.ts +43 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +147 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/schema.d.ts +179 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +74 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/providers/llm.d.ts +46 -0
- package/dist/providers/llm.d.ts.map +1 -0
- package/dist/providers/llm.js +175 -0
- package/dist/providers/llm.js.map +1 -0
- package/dist/skills/loader.d.ts +49 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +218 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/tools/base.d.ts +42 -0
- package/dist/tools/base.d.ts.map +1 -0
- package/dist/tools/base.js +90 -0
- package/dist/tools/base.js.map +1 -0
- package/dist/tools/filesystem.d.ts +17 -0
- package/dist/tools/filesystem.d.ts.map +1 -0
- package/dist/tools/filesystem.js +117 -0
- package/dist/tools/filesystem.js.map +1 -0
- package/dist/tools/shell.d.ts +8 -0
- package/dist/tools/shell.d.ts.map +1 -0
- package/dist/tools/shell.js +79 -0
- package/dist/tools/shell.js.map +1 -0
- package/dist/tools/spawn.d.ts +8 -0
- package/dist/tools/spawn.d.ts.map +1 -0
- package/dist/tools/spawn.js +23 -0
- package/dist/tools/spawn.js.map +1 -0
- package/dist/tools/web.d.ts +8 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +194 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/types/index.d.ts +51 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +6 -0
- package/dist/types/index.js.map +1 -0
- package/dist/workspace/manager.d.ts +38 -0
- package/dist/workspace/manager.d.ts.map +1 -0
- package/dist/workspace/manager.js +140 -0
- package/dist/workspace/manager.js.map +1 -0
- package/docs/ONBOARDING.md +229 -0
- package/docs/WEB_SEARCH.md +365 -0
- package/package.json +38 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.chatCommand = chatCommand;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const ora_1 = __importDefault(require("ora"));
|
|
42
|
+
const readline = __importStar(require("readline"));
|
|
43
|
+
const manager_1 = require("../../config/manager");
|
|
44
|
+
const manager_2 = require("../../workspace/manager");
|
|
45
|
+
const agent_1 = require("../../agent");
|
|
46
|
+
/**
|
|
47
|
+
* Chat command
|
|
48
|
+
* Interactive chat or single message mode
|
|
49
|
+
*/
|
|
50
|
+
async function chatCommand(options) {
|
|
51
|
+
try {
|
|
52
|
+
// Load configuration
|
|
53
|
+
const configManager = (0, manager_1.getConfigManager)();
|
|
54
|
+
const config = await configManager.load();
|
|
55
|
+
// Validate configuration
|
|
56
|
+
const validation = await configManager.validate();
|
|
57
|
+
if (!validation.valid) {
|
|
58
|
+
console.error(chalk_1.default.red('✗ Configuration error:'));
|
|
59
|
+
validation.errors?.forEach(error => {
|
|
60
|
+
console.error(chalk_1.default.red(` • ${error}`));
|
|
61
|
+
});
|
|
62
|
+
console.log(chalk_1.default.gray('\nRun "genieceo init" to set up configuration'));
|
|
63
|
+
process.exit(1);
|
|
64
|
+
}
|
|
65
|
+
// Ensure workspace is initialized
|
|
66
|
+
const workspaceManager = (0, manager_2.getWorkspaceManager)(config.workspace);
|
|
67
|
+
const isInitialized = await workspaceManager.isInitialized();
|
|
68
|
+
if (!isInitialized) {
|
|
69
|
+
console.log(chalk_1.default.yellow('Workspace not initialized. Initializing now...'));
|
|
70
|
+
await workspaceManager.init();
|
|
71
|
+
}
|
|
72
|
+
// Create agent
|
|
73
|
+
const spinner = (0, ora_1.default)('Initializing agent...').start();
|
|
74
|
+
const agent = await (0, agent_1.createAgent)(config);
|
|
75
|
+
spinner.succeed('Agent ready');
|
|
76
|
+
// Single message mode
|
|
77
|
+
if (options.message) {
|
|
78
|
+
await handleSingleMessage(agent, options.message);
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
// Interactive mode
|
|
82
|
+
await handleInteractiveMode(agent);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
console.error(chalk_1.default.red('\n✗ Error:'));
|
|
86
|
+
console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Handle single message mode
|
|
92
|
+
*/
|
|
93
|
+
async function handleSingleMessage(agent, message) {
|
|
94
|
+
const spinner = (0, ora_1.default)('Thinking...').start();
|
|
95
|
+
try {
|
|
96
|
+
const response = await agent.run(message);
|
|
97
|
+
spinner.stop();
|
|
98
|
+
console.log(chalk_1.default.blue('\n💬 Response:\n'));
|
|
99
|
+
console.log(response);
|
|
100
|
+
console.log('');
|
|
101
|
+
}
|
|
102
|
+
catch (error) {
|
|
103
|
+
spinner.fail('Failed');
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Handle interactive mode
|
|
109
|
+
*/
|
|
110
|
+
async function handleInteractiveMode(agent) {
|
|
111
|
+
console.log(chalk_1.default.blue.bold('\n💬 genieceo Chat'));
|
|
112
|
+
console.log(chalk_1.default.gray('Type your message and press Enter. Type "exit" to quit.\n'));
|
|
113
|
+
const rl = readline.createInterface({
|
|
114
|
+
input: process.stdin,
|
|
115
|
+
output: process.stdout,
|
|
116
|
+
prompt: chalk_1.default.green('You> '),
|
|
117
|
+
});
|
|
118
|
+
const history = [];
|
|
119
|
+
rl.prompt();
|
|
120
|
+
rl.on('line', async (line) => {
|
|
121
|
+
const input = line.trim();
|
|
122
|
+
// Handle exit
|
|
123
|
+
if (input.toLowerCase() === 'exit' || input.toLowerCase() === 'quit') {
|
|
124
|
+
console.log(chalk_1.default.gray('\nGoodbye! 👋\n'));
|
|
125
|
+
rl.close();
|
|
126
|
+
process.exit(0);
|
|
127
|
+
}
|
|
128
|
+
// Skip empty input
|
|
129
|
+
if (!input) {
|
|
130
|
+
rl.prompt();
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
// Process message
|
|
134
|
+
const spinner = (0, ora_1.default)('Thinking...').start();
|
|
135
|
+
try {
|
|
136
|
+
const result = await agent.runWithHistory(input, history);
|
|
137
|
+
spinner.stop();
|
|
138
|
+
// Update history
|
|
139
|
+
history.length = 0;
|
|
140
|
+
history.push(...result.updatedHistory);
|
|
141
|
+
// Display response
|
|
142
|
+
console.log(chalk_1.default.blue('\nAssistant> ') + result.response + '\n');
|
|
143
|
+
}
|
|
144
|
+
catch (error) {
|
|
145
|
+
spinner.fail('Error');
|
|
146
|
+
console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
|
|
147
|
+
console.log('');
|
|
148
|
+
}
|
|
149
|
+
rl.prompt();
|
|
150
|
+
});
|
|
151
|
+
rl.on('close', () => {
|
|
152
|
+
console.log(chalk_1.default.gray('\nGoodbye! 👋\n'));
|
|
153
|
+
process.exit(0);
|
|
154
|
+
});
|
|
155
|
+
// Handle Ctrl+C
|
|
156
|
+
rl.on('SIGINT', () => {
|
|
157
|
+
console.log(chalk_1.default.gray('\n\nGoodbye! 👋\n'));
|
|
158
|
+
process.exit(0);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/cli/commands/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC,CAgDjD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.initCommand = initCommand;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const manager_1 = require("../../config/manager");
|
|
9
|
+
const manager_2 = require("../../workspace/manager");
|
|
10
|
+
/**
|
|
11
|
+
* Initialize command
|
|
12
|
+
* Sets up workspace and creates default configuration
|
|
13
|
+
*/
|
|
14
|
+
async function initCommand() {
|
|
15
|
+
console.log(chalk_1.default.blue.bold('\n🚀 Initializing genieceo...\n'));
|
|
16
|
+
try {
|
|
17
|
+
// Initialize config
|
|
18
|
+
const configManager = (0, manager_1.getConfigManager)();
|
|
19
|
+
const config = await configManager.load();
|
|
20
|
+
console.log(chalk_1.default.green('✓') + ' Configuration loaded/created');
|
|
21
|
+
console.log(chalk_1.default.gray(` Location: ${configManager.getConfigPath()}`));
|
|
22
|
+
// Initialize workspace
|
|
23
|
+
const workspaceManager = (0, manager_2.getWorkspaceManager)(config.workspace);
|
|
24
|
+
await workspaceManager.init();
|
|
25
|
+
console.log(chalk_1.default.green('✓') + ' Workspace initialized');
|
|
26
|
+
console.log(chalk_1.default.gray(` Location: ${workspaceManager.getWorkspacePath()}`));
|
|
27
|
+
// Validate configuration
|
|
28
|
+
const validation = await configManager.validate();
|
|
29
|
+
if (!validation.valid) {
|
|
30
|
+
console.log(chalk_1.default.yellow('\n⚠️ Configuration warnings:'));
|
|
31
|
+
validation.errors?.forEach(error => {
|
|
32
|
+
console.log(chalk_1.default.yellow(` • ${error}`));
|
|
33
|
+
});
|
|
34
|
+
console.log(chalk_1.default.gray('\nTo fix:'));
|
|
35
|
+
console.log(chalk_1.default.gray(' • Run the setup wizard: genieceo onboard'));
|
|
36
|
+
console.log(chalk_1.default.gray(' • Or edit config manually: ' + configManager.getConfigPath()));
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.log(chalk_1.default.green('\n✓ Configuration is valid'));
|
|
40
|
+
}
|
|
41
|
+
console.log(chalk_1.default.blue.bold('\n✨ genieceo is ready!'));
|
|
42
|
+
console.log(chalk_1.default.gray('\nNext steps:'));
|
|
43
|
+
if (!validation.valid) {
|
|
44
|
+
console.log(chalk_1.default.gray(' • Complete setup: genieceo onboard (recommended)'));
|
|
45
|
+
}
|
|
46
|
+
console.log(chalk_1.default.gray(' • Run: genieceo chat'));
|
|
47
|
+
console.log(chalk_1.default.gray(' • Or: genieceo chat -m "your message"'));
|
|
48
|
+
console.log(chalk_1.default.gray(' • Check status: genieceo status\n'));
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
console.error(chalk_1.default.red('✗ Initialization failed:'));
|
|
52
|
+
console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
|
|
53
|
+
process.exit(1);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboard.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"AAOA;;;GAGG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CA+CpD"}
|
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.onboardCommand = onboardCommand;
|
|
40
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
41
|
+
const readline = __importStar(require("readline"));
|
|
42
|
+
const manager_1 = require("../../config/manager");
|
|
43
|
+
const llm_1 = require("../../providers/llm");
|
|
44
|
+
const pi_ai_1 = require("@mariozechner/pi-ai");
|
|
45
|
+
/**
|
|
46
|
+
* Onboarding command
|
|
47
|
+
* Interactive setup for LLM and web search configuration
|
|
48
|
+
*/
|
|
49
|
+
async function onboardCommand() {
|
|
50
|
+
console.log(chalk_1.default.blue.bold('\n👋 Welcome to genieceo onboarding!\n'));
|
|
51
|
+
console.log(chalk_1.default.gray('This wizard will help you configure your AI agent.\n'));
|
|
52
|
+
const rl = readline.createInterface({
|
|
53
|
+
input: process.stdin,
|
|
54
|
+
output: process.stdout,
|
|
55
|
+
});
|
|
56
|
+
try {
|
|
57
|
+
const configManager = (0, manager_1.getConfigManager)();
|
|
58
|
+
let config = await configManager.load();
|
|
59
|
+
// Step 1: Configure LLM Provider
|
|
60
|
+
console.log(chalk_1.default.cyan.bold('Step 1: LLM Configuration'));
|
|
61
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
62
|
+
config = await configureLLM(rl, config);
|
|
63
|
+
// Step 2: Health check LLM
|
|
64
|
+
console.log(chalk_1.default.cyan.bold('\nStep 2: LLM Health Check'));
|
|
65
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
66
|
+
await healthCheckLLM(config);
|
|
67
|
+
// Step 3: Configure Web Search
|
|
68
|
+
console.log(chalk_1.default.cyan.bold('\nStep 3: Web Search Configuration'));
|
|
69
|
+
console.log(chalk_1.default.gray('─'.repeat(50)));
|
|
70
|
+
config = await configureWebSearch(rl, config);
|
|
71
|
+
// Save final configuration
|
|
72
|
+
await configManager.save(config);
|
|
73
|
+
// Success message
|
|
74
|
+
console.log(chalk_1.default.green.bold('\n✨ Onboarding complete!'));
|
|
75
|
+
console.log(chalk_1.default.gray('\nYour configuration has been saved to:'));
|
|
76
|
+
console.log(chalk_1.default.gray(` ${configManager.getConfigPath()}`));
|
|
77
|
+
console.log(chalk_1.default.gray('\nNext steps:'));
|
|
78
|
+
console.log(chalk_1.default.gray(' • Run: genieceo chat'));
|
|
79
|
+
console.log(chalk_1.default.gray(' • Or: genieceo chat -m "your message"'));
|
|
80
|
+
console.log(chalk_1.default.gray(' • Check status: genieceo status\n'));
|
|
81
|
+
rl.close();
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
rl.close();
|
|
85
|
+
console.error(chalk_1.default.red('\n✗ Onboarding failed:'));
|
|
86
|
+
console.error(chalk_1.default.red(error instanceof Error ? error.message : String(error)));
|
|
87
|
+
process.exit(1);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Configure LLM provider
|
|
92
|
+
*/
|
|
93
|
+
async function configureLLM(rl, config) {
|
|
94
|
+
// Get available providers
|
|
95
|
+
const availableProviders = (0, pi_ai_1.getProviders)();
|
|
96
|
+
console.log(chalk_1.default.gray('\nAvailable LLM providers:'));
|
|
97
|
+
availableProviders.forEach((provider, index) => {
|
|
98
|
+
console.log(chalk_1.default.gray(` ${index + 1}. ${provider}`));
|
|
99
|
+
});
|
|
100
|
+
// Ask for provider
|
|
101
|
+
const provider = await question(rl, chalk_1.default.white(`\nSelect a provider [${availableProviders.join('/')}] (default: openai): `));
|
|
102
|
+
const selectedProvider = provider.trim().toLowerCase() || 'openai';
|
|
103
|
+
if (!availableProviders.includes(selectedProvider)) {
|
|
104
|
+
throw new Error(`Invalid provider. Choose from: ${availableProviders.join(', ')}`);
|
|
105
|
+
}
|
|
106
|
+
// Ask for API key
|
|
107
|
+
const currentKey = selectedProvider === 'openai'
|
|
108
|
+
? config.llm.openai.apiKey
|
|
109
|
+
: config.llm.anthropic?.apiKey || '';
|
|
110
|
+
const keyPrompt = currentKey
|
|
111
|
+
? `Enter ${selectedProvider} API key (press Enter to keep current): `
|
|
112
|
+
: `Enter ${selectedProvider} API key: `;
|
|
113
|
+
const apiKey = await question(rl, chalk_1.default.white(keyPrompt));
|
|
114
|
+
const finalApiKey = apiKey.trim() || currentKey;
|
|
115
|
+
if (!finalApiKey) {
|
|
116
|
+
throw new Error('API key is required');
|
|
117
|
+
}
|
|
118
|
+
// Update config with API key
|
|
119
|
+
if (selectedProvider === 'openai') {
|
|
120
|
+
config.llm.openai.apiKey = finalApiKey;
|
|
121
|
+
}
|
|
122
|
+
else if (selectedProvider === 'anthropic') {
|
|
123
|
+
config.llm.anthropic = { apiKey: finalApiKey };
|
|
124
|
+
}
|
|
125
|
+
console.log(chalk_1.default.green('✓ API key saved'));
|
|
126
|
+
// Get available models for the provider
|
|
127
|
+
const tempLLMProvider = new llm_1.LLMProvider(config);
|
|
128
|
+
const models = tempLLMProvider.getAvailableModels(selectedProvider);
|
|
129
|
+
if (models.length === 0) {
|
|
130
|
+
console.log(chalk_1.default.yellow('⚠️ Could not fetch models for this provider'));
|
|
131
|
+
// Ask user to manually input model
|
|
132
|
+
const modelInput = await question(rl, chalk_1.default.white(`\nEnter model ID (e.g., gpt-4o, claude-3-5-sonnet-20241022): `));
|
|
133
|
+
if (!modelInput.trim()) {
|
|
134
|
+
throw new Error('Model ID is required');
|
|
135
|
+
}
|
|
136
|
+
config.model = `${selectedProvider}:${modelInput.trim()}`;
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Display available models
|
|
140
|
+
console.log(chalk_1.default.gray('\nAvailable models:'));
|
|
141
|
+
models.forEach((model, index) => {
|
|
142
|
+
console.log(chalk_1.default.gray(` ${index + 1}. ${model.id}${model.name ? ` - ${model.name}` : ''}`));
|
|
143
|
+
});
|
|
144
|
+
// Ask for model selection
|
|
145
|
+
const defaultModel = models[0].id;
|
|
146
|
+
const modelInput = await question(rl, chalk_1.default.white(`\nSelect model [enter model ID or number] (default: ${defaultModel}): `));
|
|
147
|
+
let selectedModel;
|
|
148
|
+
const input = modelInput.trim();
|
|
149
|
+
if (!input) {
|
|
150
|
+
selectedModel = defaultModel;
|
|
151
|
+
}
|
|
152
|
+
else if (/^\d+$/.test(input)) {
|
|
153
|
+
// User entered a number
|
|
154
|
+
const index = parseInt(input) - 1;
|
|
155
|
+
if (index >= 0 && index < models.length) {
|
|
156
|
+
selectedModel = models[index].id;
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw new Error(`Invalid model number. Choose 1-${models.length}`);
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
// User entered model ID directly
|
|
164
|
+
selectedModel = input;
|
|
165
|
+
}
|
|
166
|
+
config.model = `${selectedProvider}:${selectedModel}`;
|
|
167
|
+
}
|
|
168
|
+
console.log(chalk_1.default.green(`✓ Model set to: ${config.model}`));
|
|
169
|
+
return config;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Health check LLM configuration
|
|
173
|
+
*/
|
|
174
|
+
async function healthCheckLLM(config) {
|
|
175
|
+
console.log(chalk_1.default.gray('\nTesting LLM connection...'));
|
|
176
|
+
const llmProvider = new llm_1.LLMProvider(config);
|
|
177
|
+
// Validate configuration
|
|
178
|
+
const validation = llmProvider.validateConfig();
|
|
179
|
+
if (!validation.valid) {
|
|
180
|
+
console.log(chalk_1.default.red('✗ Configuration validation failed:'));
|
|
181
|
+
validation.errors?.forEach(error => {
|
|
182
|
+
console.log(chalk_1.default.red(` • ${error}`));
|
|
183
|
+
});
|
|
184
|
+
throw new Error('LLM configuration is invalid');
|
|
185
|
+
}
|
|
186
|
+
console.log(chalk_1.default.green('✓ Configuration validated'));
|
|
187
|
+
// Try a simple generation
|
|
188
|
+
try {
|
|
189
|
+
console.log(chalk_1.default.gray('Making a test API call...'));
|
|
190
|
+
const response = await llmProvider.generate([
|
|
191
|
+
{
|
|
192
|
+
role: 'user',
|
|
193
|
+
content: 'Say "Hello! I am working correctly." if you can read this.',
|
|
194
|
+
},
|
|
195
|
+
], {}, 1);
|
|
196
|
+
console.log(chalk_1.default.green('✓ LLM health check passed'));
|
|
197
|
+
console.log(chalk_1.default.gray(` Response: ${response.text.slice(0, 100)}${response.text.length > 100 ? '...' : ''}`));
|
|
198
|
+
console.log(chalk_1.default.gray(` Tokens used: ${response.usage.totalTokens}`));
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
console.log(chalk_1.default.red('✗ LLM health check failed'));
|
|
202
|
+
throw new Error(`LLM test failed: ${error instanceof Error ? error.message : error}`);
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Configure web search tool
|
|
207
|
+
*/
|
|
208
|
+
async function configureWebSearch(rl, config) {
|
|
209
|
+
console.log(chalk_1.default.gray('\nWeb search providers:'));
|
|
210
|
+
console.log(chalk_1.default.gray(' 1. auto - Try Tavily, then Brave, then browser (recommended)'));
|
|
211
|
+
console.log(chalk_1.default.gray(' 2. tavily - Tavily Search API (requires API key)'));
|
|
212
|
+
console.log(chalk_1.default.gray(' 3. brave - Brave Search API (requires API key)'));
|
|
213
|
+
console.log(chalk_1.default.gray(' 4. browser - Free browser-based search (no API key needed)'));
|
|
214
|
+
const provider = await question(rl, chalk_1.default.white('\nSelect web search provider [auto/tavily/brave/browser] (default: auto): '));
|
|
215
|
+
const selectedProvider = provider.trim().toLowerCase() || 'auto';
|
|
216
|
+
if (!['auto', 'tavily', 'brave', 'browser'].includes(selectedProvider)) {
|
|
217
|
+
throw new Error('Invalid provider. Choose from: auto, tavily, brave, browser');
|
|
218
|
+
}
|
|
219
|
+
config.tools.webSearch.provider = selectedProvider;
|
|
220
|
+
console.log(chalk_1.default.green(`✓ Web search provider set to: ${selectedProvider}`));
|
|
221
|
+
// Configure API keys based on selection
|
|
222
|
+
if (selectedProvider === 'tavily' || selectedProvider === 'auto') {
|
|
223
|
+
const currentKey = config.tools.webSearch.tavily?.apiKey || '';
|
|
224
|
+
const skipTavily = selectedProvider === 'auto'
|
|
225
|
+
? await question(rl, chalk_1.default.white('\nConfigure Tavily API? [y/N]: '))
|
|
226
|
+
: 'y';
|
|
227
|
+
if (skipTavily.toLowerCase() === 'y' || selectedProvider === 'tavily') {
|
|
228
|
+
const keyPrompt = currentKey
|
|
229
|
+
? 'Enter Tavily API key (press Enter to keep current): '
|
|
230
|
+
: 'Enter Tavily API key (get one at https://tavily.com): ';
|
|
231
|
+
const apiKey = await question(rl, chalk_1.default.white(keyPrompt));
|
|
232
|
+
const finalKey = apiKey.trim() || currentKey;
|
|
233
|
+
if (finalKey) {
|
|
234
|
+
config.tools.webSearch.tavily = { apiKey: finalKey };
|
|
235
|
+
console.log(chalk_1.default.green('✓ Tavily API key saved'));
|
|
236
|
+
}
|
|
237
|
+
else if (selectedProvider === 'tavily') {
|
|
238
|
+
throw new Error('Tavily API key is required when using tavily provider');
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (selectedProvider === 'brave' || selectedProvider === 'auto') {
|
|
243
|
+
const currentKey = config.tools.webSearch.brave?.apiKey || '';
|
|
244
|
+
const skipBrave = selectedProvider === 'auto'
|
|
245
|
+
? await question(rl, chalk_1.default.white('\nConfigure Brave API? [y/N]: '))
|
|
246
|
+
: 'y';
|
|
247
|
+
if (skipBrave.toLowerCase() === 'y' || selectedProvider === 'brave') {
|
|
248
|
+
const keyPrompt = currentKey
|
|
249
|
+
? 'Enter Brave API key (press Enter to keep current): '
|
|
250
|
+
: 'Enter Brave API key (get one at https://brave.com/search/api): ';
|
|
251
|
+
const apiKey = await question(rl, chalk_1.default.white(keyPrompt));
|
|
252
|
+
const finalKey = apiKey.trim() || currentKey;
|
|
253
|
+
if (finalKey) {
|
|
254
|
+
config.tools.webSearch.brave = { apiKey: finalKey };
|
|
255
|
+
console.log(chalk_1.default.green('✓ Brave API key saved'));
|
|
256
|
+
}
|
|
257
|
+
else if (selectedProvider === 'brave') {
|
|
258
|
+
throw new Error('Brave API key is required when using brave provider');
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
if (selectedProvider === 'browser') {
|
|
263
|
+
console.log(chalk_1.default.yellow('ℹ️ Browser-based search requires no API key but may have limited results'));
|
|
264
|
+
}
|
|
265
|
+
return config;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Helper function to ask a question and return the answer
|
|
269
|
+
*/
|
|
270
|
+
function question(rl, prompt) {
|
|
271
|
+
return new Promise((resolve) => {
|
|
272
|
+
rl.question(prompt, (answer) => {
|
|
273
|
+
resolve(answer);
|
|
274
|
+
});
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=onboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboard.js","sourceRoot":"","sources":["../../../src/cli/commands/onboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/status.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CA2GnD"}
|