@ritwikamit/cl8 0.1.0-alpha.8
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/LICENSE +21 -0
- package/README.md +547 -0
- package/dist/agents/Agent.d.ts +27 -0
- package/dist/agents/Agent.d.ts.map +1 -0
- package/dist/agents/Agent.js +197 -0
- package/dist/agents/Agent.js.map +1 -0
- package/dist/agents/Executor.d.ts +12 -0
- package/dist/agents/Executor.d.ts.map +1 -0
- package/dist/agents/Executor.js +65 -0
- package/dist/agents/Executor.js.map +1 -0
- package/dist/agents/Planner.d.ts +14 -0
- package/dist/agents/Planner.d.ts.map +1 -0
- package/dist/agents/Planner.js +105 -0
- package/dist/agents/Planner.js.map +1 -0
- package/dist/agents/Reflector.d.ts +19 -0
- package/dist/agents/Reflector.d.ts.map +1 -0
- package/dist/agents/Reflector.js +97 -0
- package/dist/agents/Reflector.js.map +1 -0
- package/dist/agents/index.d.ts +5 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +12 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/bin/cl8.d.ts +3 -0
- package/dist/bin/cl8.d.ts.map +1 -0
- package/dist/bin/cl8.js +19 -0
- package/dist/bin/cl8.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +12 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +52 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/config.d.ts +8 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +69 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/init.d.ts +2 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +90 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/session.d.ts +6 -0
- package/dist/cli/commands/session.d.ts.map +1 -0
- package/dist/cli/commands/session.js +70 -0
- package/dist/cli/commands/session.js.map +1 -0
- package/dist/cli/hooks/useHistory.d.ts +14 -0
- package/dist/cli/hooks/useHistory.d.ts.map +1 -0
- package/dist/cli/hooks/useHistory.js +67 -0
- package/dist/cli/hooks/useHistory.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 +115 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/config/env.d.ts +7 -0
- package/dist/config/env.d.ts.map +1 -0
- package/dist/config/env.js +56 -0
- package/dist/config/env.js.map +1 -0
- package/dist/config/index.d.ts +10 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +125 -0
- package/dist/config/index.js.map +1 -0
- package/dist/core/Boot.d.ts +34 -0
- package/dist/core/Boot.d.ts.map +1 -0
- package/dist/core/Boot.js +97 -0
- package/dist/core/Boot.js.map +1 -0
- package/dist/core/Engine.d.ts +40 -0
- package/dist/core/Engine.d.ts.map +1 -0
- package/dist/core/Engine.js +127 -0
- package/dist/core/Engine.js.map +1 -0
- package/dist/core/Loop.d.ts +22 -0
- package/dist/core/Loop.d.ts.map +1 -0
- package/dist/core/Loop.js +221 -0
- package/dist/core/Loop.js.map +1 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +8 -0
- package/dist/core/index.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +47 -0
- package/dist/index.js.map +1 -0
- package/dist/memory/ConversationMemory.d.ts +24 -0
- package/dist/memory/ConversationMemory.d.ts.map +1 -0
- package/dist/memory/ConversationMemory.js +134 -0
- package/dist/memory/ConversationMemory.js.map +1 -0
- package/dist/memory/SessionManager.d.ts +19 -0
- package/dist/memory/SessionManager.d.ts.map +1 -0
- package/dist/memory/SessionManager.js +104 -0
- package/dist/memory/SessionManager.js.map +1 -0
- package/dist/memory/VectorMemory.d.ts +16 -0
- package/dist/memory/VectorMemory.d.ts.map +1 -0
- package/dist/memory/VectorMemory.js +87 -0
- package/dist/memory/VectorMemory.js.map +1 -0
- package/dist/memory/index.d.ts +4 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +10 -0
- package/dist/memory/index.js.map +1 -0
- package/dist/plugins/PluginLoader.d.ts +9 -0
- package/dist/plugins/PluginLoader.d.ts.map +1 -0
- package/dist/plugins/PluginLoader.js +86 -0
- package/dist/plugins/PluginLoader.js.map +1 -0
- package/dist/plugins/PluginManager.d.ts +18 -0
- package/dist/plugins/PluginManager.d.ts.map +1 -0
- package/dist/plugins/PluginManager.js +63 -0
- package/dist/plugins/PluginManager.js.map +1 -0
- package/dist/plugins/index.d.ts +11 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +16 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/providers/BaseProvider.d.ts +17 -0
- package/dist/providers/BaseProvider.d.ts.map +1 -0
- package/dist/providers/BaseProvider.js +33 -0
- package/dist/providers/BaseProvider.js.map +1 -0
- package/dist/providers/GeminiProvider.d.ts +14 -0
- package/dist/providers/GeminiProvider.d.ts.map +1 -0
- package/dist/providers/GeminiProvider.js +79 -0
- package/dist/providers/GeminiProvider.js.map +1 -0
- package/dist/providers/OllamaProvider.d.ts +14 -0
- package/dist/providers/OllamaProvider.d.ts.map +1 -0
- package/dist/providers/OllamaProvider.js +131 -0
- package/dist/providers/OllamaProvider.js.map +1 -0
- package/dist/providers/OpenAIProvider.d.ts +13 -0
- package/dist/providers/OpenAIProvider.d.ts.map +1 -0
- package/dist/providers/OpenAIProvider.js +109 -0
- package/dist/providers/OpenAIProvider.js.map +1 -0
- package/dist/providers/index.d.ts +23 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +57 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/services/AuditService.d.ts +23 -0
- package/dist/services/AuditService.d.ts.map +1 -0
- package/dist/services/AuditService.js +73 -0
- package/dist/services/AuditService.js.map +1 -0
- package/dist/services/SecurityService.d.ts +15 -0
- package/dist/services/SecurityService.d.ts.map +1 -0
- package/dist/services/SecurityService.js +60 -0
- package/dist/services/SecurityService.js.map +1 -0
- package/dist/services/ToolService.d.ts +19 -0
- package/dist/services/ToolService.d.ts.map +1 -0
- package/dist/services/ToolService.js +85 -0
- package/dist/services/ToolService.js.map +1 -0
- package/dist/services/index.d.ts +4 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +10 -0
- package/dist/services/index.js.map +1 -0
- package/dist/tools/BaseTool.d.ts +12 -0
- package/dist/tools/BaseTool.d.ts.map +1 -0
- package/dist/tools/BaseTool.js +25 -0
- package/dist/tools/BaseTool.js.map +1 -0
- package/dist/tools/FileTool.d.ts +14 -0
- package/dist/tools/FileTool.d.ts.map +1 -0
- package/dist/tools/FileTool.js +136 -0
- package/dist/tools/FileTool.js.map +1 -0
- package/dist/tools/SearchTool.d.ts +10 -0
- package/dist/tools/SearchTool.d.ts.map +1 -0
- package/dist/tools/SearchTool.js +117 -0
- package/dist/tools/SearchTool.js.map +1 -0
- package/dist/tools/ShellTool.d.ts +8 -0
- package/dist/tools/ShellTool.d.ts.map +1 -0
- package/dist/tools/ShellTool.js +87 -0
- package/dist/tools/ShellTool.js.map +1 -0
- package/dist/tools/index.d.ts +10 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +29 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/types/agent.d.ts +49 -0
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/agent.js +3 -0
- package/dist/types/agent.js.map +1 -0
- package/dist/types/config.d.ts +52 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +3 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +23 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/memory.d.ts +47 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +3 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/plugin.d.ts +31 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +3 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/provider.d.ts +43 -0
- package/dist/types/provider.d.ts.map +1 -0
- package/dist/types/provider.js +3 -0
- package/dist/types/provider.js.map +1 -0
- package/dist/types/tool.d.ts +41 -0
- package/dist/types/tool.d.ts.map +1 -0
- package/dist/types/tool.js +3 -0
- package/dist/types/tool.js.map +1 -0
- package/dist/ui/MarkdownRenderer.d.ts +17 -0
- package/dist/ui/MarkdownRenderer.d.ts.map +1 -0
- package/dist/ui/MarkdownRenderer.js +148 -0
- package/dist/ui/MarkdownRenderer.js.map +1 -0
- package/dist/ui/Spinner.d.ts +14 -0
- package/dist/ui/Spinner.d.ts.map +1 -0
- package/dist/ui/Spinner.js +79 -0
- package/dist/ui/Spinner.js.map +1 -0
- package/dist/ui/StreamingOutput.d.ts +15 -0
- package/dist/ui/StreamingOutput.d.ts.map +1 -0
- package/dist/ui/StreamingOutput.js +48 -0
- package/dist/ui/StreamingOutput.js.map +1 -0
- package/dist/ui/context-monitor.d.ts +11 -0
- package/dist/ui/context-monitor.d.ts.map +1 -0
- package/dist/ui/context-monitor.js +39 -0
- package/dist/ui/context-monitor.js.map +1 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +17 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/onboarding.d.ts +9 -0
- package/dist/ui/onboarding.d.ts.map +1 -0
- package/dist/ui/onboarding.js +40 -0
- package/dist/ui/onboarding.js.map +1 -0
- package/dist/ui/pixel-logo.d.ts +11 -0
- package/dist/ui/pixel-logo.d.ts.map +1 -0
- package/dist/ui/pixel-logo.js +112 -0
- package/dist/ui/pixel-logo.js.map +1 -0
- package/dist/ui/spinner-manager.d.ts +18 -0
- package/dist/ui/spinner-manager.d.ts.map +1 -0
- package/dist/ui/spinner-manager.js +109 -0
- package/dist/ui/spinner-manager.js.map +1 -0
- package/dist/ui/splash.d.ts +18 -0
- package/dist/ui/splash.d.ts.map +1 -0
- package/dist/ui/splash.js +116 -0
- package/dist/ui/splash.js.map +1 -0
- package/dist/ui/startup-tips.json +22 -0
- package/dist/ui/status-bar.d.ts +17 -0
- package/dist/ui/status-bar.d.ts.map +1 -0
- package/dist/ui/status-bar.js +54 -0
- package/dist/ui/status-bar.js.map +1 -0
- package/dist/ui/theme-manager.d.ts +22 -0
- package/dist/ui/theme-manager.d.ts.map +1 -0
- package/dist/ui/theme-manager.js +91 -0
- package/dist/ui/theme-manager.js.map +1 -0
- package/dist/ui/types.d.ts +19 -0
- package/dist/ui/types.d.ts.map +1 -0
- package/dist/ui/types.js +3 -0
- package/dist/ui/types.js.map +1 -0
- package/dist/ui/typing-animation.d.ts +9 -0
- package/dist/ui/typing-animation.d.ts.map +1 -0
- package/dist/ui/typing-animation.js +36 -0
- package/dist/ui/typing-animation.js.map +1 -0
- package/dist/ui/workspace-panel.d.ts +5 -0
- package/dist/ui/workspace-panel.d.ts.map +1 -0
- package/dist/ui/workspace-panel.js +30 -0
- package/dist/ui/workspace-panel.js.map +1 -0
- package/dist/utils/crypto.d.ts +6 -0
- package/dist/utils/crypto.d.ts.map +1 -0
- package/dist/utils/crypto.js +54 -0
- package/dist/utils/crypto.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +7 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +57 -0
- package/dist/utils/logger.js.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/config/env.ts"],"names":[],"mappings":";;;;;AASA,0BAMC;AAED,wBAGC;AAED,sCAMC;AAED,8BAKC;AAED,gCAIC;AAED,gCAIC;AA/CD,oDAA4B;AAC5B,0DAA6B;AAC7B,sDAAyB;AAEzB,MAAM,SAAS,GAAG;IAChB,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC;IACnC,mBAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC;CAC1C,CAAC;AAEF,SAAgB,OAAO;IACrB,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,IAAI,iBAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,gBAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,MAAM,CAAC,GAAW,EAAE,YAAqB;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,OAAO,KAAK,IAAI,YAAY,IAAI,EAAE,CAAC;AACrC,CAAC;AAED,SAAgB,aAAa,CAAC,GAAW;IACvC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,SAAS,CAAC,GAAW,EAAE,YAAoB;IACzD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC;AAC/C,CAAC;AAED,SAAgB,UAAU,CAAC,GAAW,EAAE,YAAqB;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,UAAU,CAAC,GAAW,EAAE,eAAyB,EAAE;IACjE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,CAAC,KAAK;QAAE,OAAO,YAAY,CAAC;IAChC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Conf from 'conf';
|
|
2
|
+
import { CL8Config } from '../types/config.js';
|
|
3
|
+
declare const DEFAULT_CONFIG: CL8Config;
|
|
4
|
+
declare function getStore(): Conf<CL8Config>;
|
|
5
|
+
export declare function loadConfig(): CL8Config;
|
|
6
|
+
export declare function updateConfig(partial: Partial<CL8Config>): CL8Config;
|
|
7
|
+
export declare function resetConfig(): CL8Config;
|
|
8
|
+
export declare function getConfigPath(): string;
|
|
9
|
+
export { getStore, DEFAULT_CONFIG };
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,SAAS,EAA0B,MAAM,oBAAoB,CAAC;AAKvE,QAAA,MAAM,cAAc,EAAE,SAyCrB,CAAC;AAIF,iBAAS,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,CAQnC;AAED,wBAAgB,UAAU,IAAI,SAAS,CAsCtC;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CAanE;AAED,wBAAgB,WAAW,IAAI,SAAS,CAIvC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -0,0 +1,125 @@
|
|
|
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.DEFAULT_CONFIG = void 0;
|
|
7
|
+
exports.loadConfig = loadConfig;
|
|
8
|
+
exports.updateConfig = updateConfig;
|
|
9
|
+
exports.resetConfig = resetConfig;
|
|
10
|
+
exports.getConfigPath = getConfigPath;
|
|
11
|
+
exports.getStore = getStore;
|
|
12
|
+
const conf_1 = __importDefault(require("conf"));
|
|
13
|
+
const node_path_1 = __importDefault(require("node:path"));
|
|
14
|
+
const env_js_1 = require("./env.js");
|
|
15
|
+
const DEFAULT_CONFIG = {
|
|
16
|
+
ai: {
|
|
17
|
+
openai: {
|
|
18
|
+
apiKey: undefined,
|
|
19
|
+
model: 'gpt-4o',
|
|
20
|
+
},
|
|
21
|
+
gemini: {
|
|
22
|
+
apiKey: undefined,
|
|
23
|
+
model: 'gemini-2.0-flash',
|
|
24
|
+
},
|
|
25
|
+
ollama: {
|
|
26
|
+
baseUrl: 'http://localhost:11434',
|
|
27
|
+
model: 'codellama',
|
|
28
|
+
},
|
|
29
|
+
defaultProvider: 'openai',
|
|
30
|
+
},
|
|
31
|
+
security: {
|
|
32
|
+
approvalMode: 'ask',
|
|
33
|
+
allowedCommands: [],
|
|
34
|
+
blockedCommands: ['rm -rf /', 'format', 'del /f /s'],
|
|
35
|
+
maxFileSize: 10 * 1024 * 1024,
|
|
36
|
+
sandboxEnabled: true,
|
|
37
|
+
},
|
|
38
|
+
workspace: {
|
|
39
|
+
root: node_path_1.default.resolve(process.cwd(), 'workspace'),
|
|
40
|
+
allowedPaths: [process.cwd()],
|
|
41
|
+
blockedPatterns: ['node_modules', '.git', 'dist', '.next', 'build'],
|
|
42
|
+
},
|
|
43
|
+
logging: {
|
|
44
|
+
level: 'info',
|
|
45
|
+
file: 'logs/cl8.log',
|
|
46
|
+
maxSize: 5 * 1024 * 1024,
|
|
47
|
+
maxFiles: 5,
|
|
48
|
+
},
|
|
49
|
+
plugins: {
|
|
50
|
+
directories: ['./plugins'],
|
|
51
|
+
allowlist: [],
|
|
52
|
+
blocklist: [],
|
|
53
|
+
},
|
|
54
|
+
theme: 'dark',
|
|
55
|
+
historySize: 100,
|
|
56
|
+
};
|
|
57
|
+
exports.DEFAULT_CONFIG = DEFAULT_CONFIG;
|
|
58
|
+
let store = null;
|
|
59
|
+
function getStore() {
|
|
60
|
+
if (!store) {
|
|
61
|
+
store = new conf_1.default({
|
|
62
|
+
projectName: 'cl8',
|
|
63
|
+
defaults: DEFAULT_CONFIG,
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return store;
|
|
67
|
+
}
|
|
68
|
+
function loadConfig() {
|
|
69
|
+
(0, env_js_1.loadEnv)();
|
|
70
|
+
const store = getStore();
|
|
71
|
+
const config = { ...DEFAULT_CONFIG };
|
|
72
|
+
const saved = store.store;
|
|
73
|
+
if (saved.ai)
|
|
74
|
+
config.ai = { ...config.ai, ...saved.ai };
|
|
75
|
+
if (saved.security)
|
|
76
|
+
config.security = { ...config.security, ...saved.security };
|
|
77
|
+
if (saved.workspace)
|
|
78
|
+
config.workspace = { ...config.workspace, ...saved.workspace };
|
|
79
|
+
if (saved.plugins)
|
|
80
|
+
config.plugins = { ...config.plugins, ...saved.plugins };
|
|
81
|
+
config.ai.openai = {
|
|
82
|
+
...config.ai.openai,
|
|
83
|
+
apiKey: (0, env_js_1.getEnv)('OPENAI_API_KEY') || config.ai.openai?.apiKey,
|
|
84
|
+
model: (0, env_js_1.getEnv)('OPENAI_MODEL') || config.ai.openai?.model || 'gpt-4o',
|
|
85
|
+
};
|
|
86
|
+
config.ai.gemini = {
|
|
87
|
+
...config.ai.gemini,
|
|
88
|
+
apiKey: (0, env_js_1.getEnv)('GEMINI_API_KEY') || config.ai.gemini?.apiKey,
|
|
89
|
+
model: (0, env_js_1.getEnv)('GEMINI_MODEL') || config.ai.gemini?.model || 'gemini-2.0-flash',
|
|
90
|
+
};
|
|
91
|
+
config.ai.ollama = {
|
|
92
|
+
...config.ai.ollama,
|
|
93
|
+
baseUrl: (0, env_js_1.getEnv)('OLLAMA_BASE_URL') || config.ai.ollama?.baseUrl || 'http://localhost:11434',
|
|
94
|
+
model: (0, env_js_1.getEnv)('OLLAMA_MODEL') || config.ai.ollama?.model || 'codellama',
|
|
95
|
+
};
|
|
96
|
+
config.ai.defaultProvider = ((0, env_js_1.getEnv)('CL8_DEFAULT_PROVIDER') || config.ai.defaultProvider);
|
|
97
|
+
config.workspace.root = (0, env_js_1.getEnv)('CL8_WORKSPACE') || config.workspace.root;
|
|
98
|
+
config.security.approvalMode = ((0, env_js_1.getEnv)('CL8_APPROVAL_MODE') || config.security.approvalMode);
|
|
99
|
+
config.logging.level = ((0, env_js_1.getEnv)('CL8_LOG_LEVEL') || config.logging.level);
|
|
100
|
+
config.plugins.directories = (0, env_js_1.getEnvList)('CL8_PLUGIN_DIRS') || config.plugins.directories;
|
|
101
|
+
return config;
|
|
102
|
+
}
|
|
103
|
+
function updateConfig(partial) {
|
|
104
|
+
const store = getStore();
|
|
105
|
+
const current = store.store;
|
|
106
|
+
const merged = {
|
|
107
|
+
...current,
|
|
108
|
+
...partial,
|
|
109
|
+
ai: { ...current.ai, ...partial.ai },
|
|
110
|
+
security: { ...current.security, ...partial.security },
|
|
111
|
+
workspace: { ...current.workspace, ...partial.workspace },
|
|
112
|
+
plugins: { ...current.plugins, ...partial.plugins },
|
|
113
|
+
};
|
|
114
|
+
store.set(merged);
|
|
115
|
+
return loadConfig();
|
|
116
|
+
}
|
|
117
|
+
function resetConfig() {
|
|
118
|
+
const store = getStore();
|
|
119
|
+
store.clear();
|
|
120
|
+
return loadConfig();
|
|
121
|
+
}
|
|
122
|
+
function getConfigPath() {
|
|
123
|
+
return getStore().path;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { CL8Config } from '../types/config.js';
|
|
2
|
+
import { ThemeManager } from '../ui/theme-manager.js';
|
|
3
|
+
import { TypingAnimation } from '../ui/typing-animation.js';
|
|
4
|
+
import { SpinnerManager } from '../ui/spinner-manager.js';
|
|
5
|
+
import { WorkspacePanel } from '../ui/workspace-panel.js';
|
|
6
|
+
import { ContextMonitor } from '../ui/context-monitor.js';
|
|
7
|
+
import { StatusBar } from '../ui/status-bar.js';
|
|
8
|
+
export interface BootOptions {
|
|
9
|
+
reducedMotion?: boolean;
|
|
10
|
+
highContrast?: boolean;
|
|
11
|
+
noSplash?: boolean;
|
|
12
|
+
resetOnboarding?: boolean;
|
|
13
|
+
theme?: 'dark' | 'light' | 'auto';
|
|
14
|
+
}
|
|
15
|
+
export interface BootResult {
|
|
16
|
+
config: CL8Config;
|
|
17
|
+
theme: ThemeManager;
|
|
18
|
+
typing: TypingAnimation;
|
|
19
|
+
spinner: SpinnerManager;
|
|
20
|
+
contextMonitor: ContextMonitor;
|
|
21
|
+
statusBar: StatusBar;
|
|
22
|
+
workspacePanel: WorkspacePanel;
|
|
23
|
+
}
|
|
24
|
+
export declare class Boot {
|
|
25
|
+
private options;
|
|
26
|
+
private logger;
|
|
27
|
+
constructor(options?: BootOptions);
|
|
28
|
+
startup(): Promise<BootResult>;
|
|
29
|
+
promptRestoreSession(): Promise<boolean>;
|
|
30
|
+
private getModelName;
|
|
31
|
+
private getRandomTip;
|
|
32
|
+
private showTip;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=Boot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Boot.d.ts","sourceRoot":"","sources":["../../src/core/Boot.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKhD,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,cAAc,CAAC;IACxB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,qBAAa,IAAI;IACf,OAAO,CAAC,OAAO,CAAc;IAC7B,OAAO,CAAC,MAAM,CAAe;gBAEjB,OAAO,GAAE,WAAgB;IAI/B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAiDpC,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC;IAaxC,OAAO,CAAC,YAAY;IASpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;CAIhB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
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.Boot = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const node_readline_1 = __importDefault(require("node:readline"));
|
|
9
|
+
const index_js_1 = require("../config/index.js");
|
|
10
|
+
const theme_manager_js_1 = require("../ui/theme-manager.js");
|
|
11
|
+
const typing_animation_js_1 = require("../ui/typing-animation.js");
|
|
12
|
+
const spinner_manager_js_1 = require("../ui/spinner-manager.js");
|
|
13
|
+
const onboarding_js_1 = require("../ui/onboarding.js");
|
|
14
|
+
const workspace_panel_js_1 = require("../ui/workspace-panel.js");
|
|
15
|
+
const context_monitor_js_1 = require("../ui/context-monitor.js");
|
|
16
|
+
const status_bar_js_1 = require("../ui/status-bar.js");
|
|
17
|
+
const splash_js_1 = require("../ui/splash.js");
|
|
18
|
+
const logger_js_1 = require("../utils/logger.js");
|
|
19
|
+
const startup_tips_json_1 = __importDefault(require("../ui/startup-tips.json"));
|
|
20
|
+
class Boot {
|
|
21
|
+
options;
|
|
22
|
+
logger = (0, logger_js_1.getLogger)();
|
|
23
|
+
constructor(options = {}) {
|
|
24
|
+
this.options = options;
|
|
25
|
+
}
|
|
26
|
+
async startup() {
|
|
27
|
+
const config = (0, index_js_1.loadConfig)();
|
|
28
|
+
if (this.options.resetOnboarding) {
|
|
29
|
+
(0, index_js_1.updateConfig)({ onboardingComplete: false });
|
|
30
|
+
config.onboardingComplete = false;
|
|
31
|
+
}
|
|
32
|
+
const reducedMotion = this.options.reducedMotion || false;
|
|
33
|
+
const theme = new theme_manager_js_1.ThemeManager(this.options.theme || 'auto');
|
|
34
|
+
const typing = new typing_animation_js_1.TypingAnimation(reducedMotion);
|
|
35
|
+
const spinner = new spinner_manager_js_1.SpinnerManager(reducedMotion);
|
|
36
|
+
const contextMonitor = new context_monitor_js_1.ContextMonitor();
|
|
37
|
+
const statusBar = new status_bar_js_1.StatusBar(theme);
|
|
38
|
+
const workspacePanel = new workspace_panel_js_1.WorkspacePanel();
|
|
39
|
+
const onboarding = new onboarding_js_1.Onboarding(typing, theme);
|
|
40
|
+
const isFirstLaunch = !config.onboardingComplete;
|
|
41
|
+
if (!this.options.noSplash && isFirstLaunch) {
|
|
42
|
+
await onboarding.showWelcome();
|
|
43
|
+
(0, index_js_1.updateConfig)({ onboardingComplete: true });
|
|
44
|
+
}
|
|
45
|
+
if (!this.options.noSplash) {
|
|
46
|
+
if (reducedMotion) {
|
|
47
|
+
await (0, splash_js_1.showReducedSplash)(theme, config);
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
await (0, splash_js_1.showSplash)(theme, config);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
const tip = this.getRandomTip();
|
|
54
|
+
if (!this.options.noSplash) {
|
|
55
|
+
this.showTip(tip, theme);
|
|
56
|
+
}
|
|
57
|
+
this.logger.info(`CL8 started | provider=${config.ai.defaultProvider} model=${this.getModelName(config)}`);
|
|
58
|
+
return {
|
|
59
|
+
config,
|
|
60
|
+
theme,
|
|
61
|
+
typing,
|
|
62
|
+
spinner,
|
|
63
|
+
contextMonitor,
|
|
64
|
+
statusBar,
|
|
65
|
+
workspacePanel,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
promptRestoreSession() {
|
|
69
|
+
return new Promise(resolve => {
|
|
70
|
+
const rl = node_readline_1.default.createInterface({
|
|
71
|
+
input: process.stdin,
|
|
72
|
+
output: process.stdout,
|
|
73
|
+
});
|
|
74
|
+
rl.question(chalk_1.default.dim(' Restore previous session? (Y/n) '), (answer) => {
|
|
75
|
+
rl.close();
|
|
76
|
+
resolve(answer.toLowerCase() !== 'n');
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
getModelName(config) {
|
|
81
|
+
switch (config.ai.defaultProvider) {
|
|
82
|
+
case 'openai': return config.ai.openai?.model || 'gpt-4o';
|
|
83
|
+
case 'gemini': return config.ai.gemini?.model || 'gemini-2.0-flash';
|
|
84
|
+
case 'ollama': return config.ai.ollama?.model || 'codellama';
|
|
85
|
+
default: return 'unknown';
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
getRandomTip() {
|
|
89
|
+
return startup_tips_json_1.default[Math.floor(Math.random() * startup_tips_json_1.default.length)];
|
|
90
|
+
}
|
|
91
|
+
showTip(tip, theme) {
|
|
92
|
+
console.log(` ${theme.chalkColors.dim('💡')} ${theme.chalkColors.dim(tip)}`);
|
|
93
|
+
console.log();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.Boot = Boot;
|
|
97
|
+
//# sourceMappingURL=Boot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Boot.js","sourceRoot":"","sources":["../../src/core/Boot.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { CL8Config } from '../types/config.js';
|
|
2
|
+
import { AgentMessage } from '../types/agent.js';
|
|
3
|
+
import { BaseProvider } from '../providers/BaseProvider.js';
|
|
4
|
+
import { ToolService } from '../services/ToolService.js';
|
|
5
|
+
import { SecurityService } from '../services/SecurityService.js';
|
|
6
|
+
import { AuditService } from '../services/AuditService.js';
|
|
7
|
+
import { Agent } from '../agents/Agent.js';
|
|
8
|
+
import { ConversationMemory } from '../memory/ConversationMemory.js';
|
|
9
|
+
import { SessionManager } from '../memory/SessionManager.js';
|
|
10
|
+
import { PluginManager } from '../plugins/PluginManager.js';
|
|
11
|
+
export declare class Engine {
|
|
12
|
+
private config;
|
|
13
|
+
private provider;
|
|
14
|
+
private toolService;
|
|
15
|
+
private securityService;
|
|
16
|
+
private auditService;
|
|
17
|
+
private agent;
|
|
18
|
+
private conversationMemory;
|
|
19
|
+
private sessionManager;
|
|
20
|
+
private pluginManager;
|
|
21
|
+
private logger;
|
|
22
|
+
private initialized;
|
|
23
|
+
constructor(config: CL8Config);
|
|
24
|
+
initialize(): Promise<void>;
|
|
25
|
+
getProvider(): BaseProvider;
|
|
26
|
+
getAgent(): Agent;
|
|
27
|
+
getToolService(): ToolService;
|
|
28
|
+
getConversationMemory(): ConversationMemory;
|
|
29
|
+
getSessionManager(): SessionManager;
|
|
30
|
+
getPluginManager(): PluginManager;
|
|
31
|
+
getSecurityService(): SecurityService;
|
|
32
|
+
getAuditService(): AuditService;
|
|
33
|
+
getConfig(): CL8Config;
|
|
34
|
+
getContext(sessionId: string): Promise<AgentMessage[]>;
|
|
35
|
+
addMessage(sessionId: string, message: AgentMessage): Promise<void>;
|
|
36
|
+
processUserInput(input: string, sessionId: string): Promise<AsyncIterable<string>>;
|
|
37
|
+
shutdown(): Promise<void>;
|
|
38
|
+
private getSystemPrompt;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=Engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAG5D,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,aAAa,CAAiB;IACtC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,SAAS;IAIvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8CjC,WAAW,IAAI,YAAY;IAI3B,QAAQ,IAAI,KAAK;IAIjB,cAAc,IAAI,WAAW;IAI7B,qBAAqB,IAAI,kBAAkB;IAI3C,iBAAiB,IAAI,cAAc;IAInC,gBAAgB,IAAI,aAAa;IAIjC,kBAAkB,IAAI,eAAe;IAIrC,eAAe,IAAI,YAAY;IAI/B,SAAS,IAAI,SAAS;IAIhB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAItD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,gBAAgB,CACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAO3B,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAe/B,OAAO,CAAC,eAAe;CAoBxB"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Engine = void 0;
|
|
4
|
+
const index_js_1 = require("../providers/index.js");
|
|
5
|
+
const ToolService_js_1 = require("../services/ToolService.js");
|
|
6
|
+
const SecurityService_js_1 = require("../services/SecurityService.js");
|
|
7
|
+
const AuditService_js_1 = require("../services/AuditService.js");
|
|
8
|
+
const Agent_js_1 = require("../agents/Agent.js");
|
|
9
|
+
const ConversationMemory_js_1 = require("../memory/ConversationMemory.js");
|
|
10
|
+
const SessionManager_js_1 = require("../memory/SessionManager.js");
|
|
11
|
+
const PluginManager_js_1 = require("../plugins/PluginManager.js");
|
|
12
|
+
const logger_js_1 = require("../utils/logger.js");
|
|
13
|
+
class Engine {
|
|
14
|
+
config;
|
|
15
|
+
provider;
|
|
16
|
+
toolService;
|
|
17
|
+
securityService;
|
|
18
|
+
auditService;
|
|
19
|
+
agent;
|
|
20
|
+
conversationMemory;
|
|
21
|
+
sessionManager;
|
|
22
|
+
pluginManager;
|
|
23
|
+
logger = (0, logger_js_1.getLogger)();
|
|
24
|
+
initialized = false;
|
|
25
|
+
constructor(config) {
|
|
26
|
+
this.config = config;
|
|
27
|
+
}
|
|
28
|
+
async initialize() {
|
|
29
|
+
if (this.initialized)
|
|
30
|
+
return;
|
|
31
|
+
this.logger.info('Initializing CL8 Engine...');
|
|
32
|
+
this.securityService = new SecurityService_js_1.SecurityService(this.config.security);
|
|
33
|
+
this.auditService = new AuditService_js_1.AuditService('logs', 1000);
|
|
34
|
+
this.toolService = new ToolService_js_1.ToolService(this.securityService, this.auditService);
|
|
35
|
+
const providerConfig = (0, index_js_1.getProviderConfig)(this.config.ai);
|
|
36
|
+
this.provider = (0, index_js_1.createProvider)(providerConfig);
|
|
37
|
+
const agentTools = this.toolService.getTools();
|
|
38
|
+
this.agent = new Agent_js_1.Agent(this.provider, this.toolService, agentTools, {
|
|
39
|
+
systemPrompt: this.getSystemPrompt(),
|
|
40
|
+
});
|
|
41
|
+
this.conversationMemory = new ConversationMemory_js_1.ConversationMemory(this.config.workspace.root, this.config.ai.openai?.model === 'gpt-4o' ? 128000 : 100000);
|
|
42
|
+
await this.conversationMemory.initialize();
|
|
43
|
+
this.sessionManager = new SessionManager_js_1.SessionManager(this.config.workspace.root);
|
|
44
|
+
await this.sessionManager.initialize();
|
|
45
|
+
this.pluginManager = new PluginManager_js_1.PluginManager(this.config.plugins.directories);
|
|
46
|
+
await this.pluginManager.loadAll();
|
|
47
|
+
for (const plugin of this.pluginManager.getEnabledPlugins()) {
|
|
48
|
+
for (const toolDef of plugin.tools) {
|
|
49
|
+
this.logger.info(`Registering plugin tool: ${toolDef.name}`);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
const session = this.sessionManager.createSession(this.config.workspace.root, this.config.ai.defaultProvider, providerConfig.model);
|
|
53
|
+
this.initialized = true;
|
|
54
|
+
this.logger.info(`Engine initialized. Session: ${session.id}`);
|
|
55
|
+
}
|
|
56
|
+
getProvider() {
|
|
57
|
+
return this.provider;
|
|
58
|
+
}
|
|
59
|
+
getAgent() {
|
|
60
|
+
return this.agent;
|
|
61
|
+
}
|
|
62
|
+
getToolService() {
|
|
63
|
+
return this.toolService;
|
|
64
|
+
}
|
|
65
|
+
getConversationMemory() {
|
|
66
|
+
return this.conversationMemory;
|
|
67
|
+
}
|
|
68
|
+
getSessionManager() {
|
|
69
|
+
return this.sessionManager;
|
|
70
|
+
}
|
|
71
|
+
getPluginManager() {
|
|
72
|
+
return this.pluginManager;
|
|
73
|
+
}
|
|
74
|
+
getSecurityService() {
|
|
75
|
+
return this.securityService;
|
|
76
|
+
}
|
|
77
|
+
getAuditService() {
|
|
78
|
+
return this.auditService;
|
|
79
|
+
}
|
|
80
|
+
getConfig() {
|
|
81
|
+
return this.config;
|
|
82
|
+
}
|
|
83
|
+
async getContext(sessionId) {
|
|
84
|
+
return this.conversationMemory.getMessages(sessionId);
|
|
85
|
+
}
|
|
86
|
+
async addMessage(sessionId, message) {
|
|
87
|
+
await this.conversationMemory.addMessage(sessionId, message);
|
|
88
|
+
}
|
|
89
|
+
async processUserInput(input, sessionId) {
|
|
90
|
+
const history = await this.getContext(sessionId);
|
|
91
|
+
const workspace = this.config.workspace.root;
|
|
92
|
+
return this.agent.processUserInput(input, sessionId, workspace, history);
|
|
93
|
+
}
|
|
94
|
+
async shutdown() {
|
|
95
|
+
this.logger.info('Shutting down CL8 Engine...');
|
|
96
|
+
const session = this.sessionManager.getCurrentSession();
|
|
97
|
+
if (session) {
|
|
98
|
+
await this.sessionManager.endSession(session.id);
|
|
99
|
+
}
|
|
100
|
+
await this.auditService.flush();
|
|
101
|
+
this.pluginManager.unloadAll();
|
|
102
|
+
this.initialized = false;
|
|
103
|
+
this.logger.info('Engine shutdown complete');
|
|
104
|
+
}
|
|
105
|
+
getSystemPrompt() {
|
|
106
|
+
return `You are CL8, a terminal-based AI coding and automation assistant.
|
|
107
|
+
|
|
108
|
+
Available tools:
|
|
109
|
+
- file: Read, write, edit files in workspace
|
|
110
|
+
- shell: Execute commands in the terminal
|
|
111
|
+
- search: Search for files and code patterns
|
|
112
|
+
|
|
113
|
+
Guidelines:
|
|
114
|
+
1. Understand the user's request fully before acting
|
|
115
|
+
2. Plan multi-step tasks before executing
|
|
116
|
+
3. Read files before editing them
|
|
117
|
+
4. Verify changes after making them
|
|
118
|
+
5. Explain what you're doing at each step
|
|
119
|
+
6. Ask for clarification when needed
|
|
120
|
+
7. Never execute dangerous commands without explicit approval
|
|
121
|
+
8. Respect the workspace boundaries
|
|
122
|
+
9. Keep responses clear and concise
|
|
123
|
+
10. Use markdown formatting for structured responses`;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
exports.Engine = Engine;
|
|
127
|
+
//# sourceMappingURL=Engine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Engine.js","sourceRoot":"","sources":["../../src/core/Engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Engine } from './Engine.js';
|
|
2
|
+
import { ThemeManager } from '../ui/theme-manager.js';
|
|
3
|
+
export declare class InteractiveLoop {
|
|
4
|
+
private engine;
|
|
5
|
+
private sessionId;
|
|
6
|
+
private spinner;
|
|
7
|
+
private output;
|
|
8
|
+
private rl;
|
|
9
|
+
private logger;
|
|
10
|
+
private running;
|
|
11
|
+
private multiLineBuffer;
|
|
12
|
+
private theme;
|
|
13
|
+
constructor(engine: Engine, theme: ThemeManager, sessionId?: string);
|
|
14
|
+
start(): Promise<void>;
|
|
15
|
+
private showHelpHint;
|
|
16
|
+
private promptLoop;
|
|
17
|
+
private getInput;
|
|
18
|
+
private handleUserInput;
|
|
19
|
+
private handleCommand;
|
|
20
|
+
private cleanup;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=Loop.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Loop.d.ts","sourceRoot":"","sources":["../../src/core/Loop.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAyDtD,qBAAa,eAAe;IAC1B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,EAAE,CAAqB;IAC/B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,eAAe,CAAgB;IACvC,OAAO,CAAC,KAAK,CAAe;gBAEhB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,MAAM;IAe7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B,OAAO,CAAC,YAAY;YAKN,UAAU;IAkCxB,OAAO,CAAC,QAAQ;YAYF,eAAe;YA0Cf,aAAa;IAgD3B,OAAO,CAAC,OAAO;CAKhB"}
|