@kernel.chat/kbot 1.3.1 → 2.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +94 -0
- package/dist/agent.d.ts +9 -0
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +576 -119
- package/dist/agent.js.map +1 -1
- package/dist/auth.d.ts +20 -35
- package/dist/auth.d.ts.map +1 -1
- package/dist/auth.js +224 -66
- package/dist/auth.js.map +1 -1
- package/dist/auth.test.d.ts +2 -0
- package/dist/auth.test.d.ts.map +1 -0
- package/dist/auth.test.js +89 -0
- package/dist/auth.test.js.map +1 -0
- package/dist/build-targets.d.ts +37 -0
- package/dist/build-targets.d.ts.map +1 -0
- package/dist/build-targets.js +507 -0
- package/dist/build-targets.js.map +1 -0
- package/dist/cli.js +1210 -130
- package/dist/cli.js.map +1 -1
- package/dist/context.d.ts +2 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +72 -22
- package/dist/context.js.map +1 -1
- package/dist/hooks.d.ts +27 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +145 -0
- package/dist/hooks.js.map +1 -0
- package/dist/ide/acp-server.d.ts +6 -0
- package/dist/ide/acp-server.d.ts.map +1 -0
- package/dist/ide/acp-server.js +319 -0
- package/dist/ide/acp-server.js.map +1 -0
- package/dist/ide/bridge.d.ts +128 -0
- package/dist/ide/bridge.d.ts.map +1 -0
- package/dist/ide/bridge.js +185 -0
- package/dist/ide/bridge.js.map +1 -0
- package/dist/ide/index.d.ts +5 -0
- package/dist/ide/index.d.ts.map +1 -0
- package/dist/ide/index.js +11 -0
- package/dist/ide/index.js.map +1 -0
- package/dist/ide/lsp-bridge.d.ts +27 -0
- package/dist/ide/lsp-bridge.d.ts.map +1 -0
- package/dist/ide/lsp-bridge.js +267 -0
- package/dist/ide/lsp-bridge.js.map +1 -0
- package/dist/ide/mcp-server.d.ts +7 -0
- package/dist/ide/mcp-server.d.ts.map +1 -0
- package/dist/ide/mcp-server.js +451 -0
- package/dist/ide/mcp-server.js.map +1 -0
- package/dist/learning.d.ts +179 -0
- package/dist/learning.d.ts.map +1 -0
- package/dist/learning.js +829 -0
- package/dist/learning.js.map +1 -0
- package/dist/learning.test.d.ts +2 -0
- package/dist/learning.test.d.ts.map +1 -0
- package/dist/learning.test.js +115 -0
- package/dist/learning.test.js.map +1 -0
- package/dist/matrix.d.ts +49 -0
- package/dist/matrix.d.ts.map +1 -0
- package/dist/matrix.js +302 -0
- package/dist/matrix.js.map +1 -0
- package/dist/memory.d.ts +11 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +54 -2
- package/dist/memory.js.map +1 -1
- package/dist/multimodal.d.ts +57 -0
- package/dist/multimodal.d.ts.map +1 -0
- package/dist/multimodal.js +206 -0
- package/dist/multimodal.js.map +1 -0
- package/dist/permissions.d.ts +21 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +122 -0
- package/dist/permissions.js.map +1 -0
- package/dist/planner.d.ts +54 -0
- package/dist/planner.d.ts.map +1 -0
- package/dist/planner.js +298 -0
- package/dist/planner.js.map +1 -0
- package/dist/plugins.d.ts +30 -0
- package/dist/plugins.d.ts.map +1 -0
- package/dist/plugins.js +135 -0
- package/dist/plugins.js.map +1 -0
- package/dist/sessions.d.ts +38 -0
- package/dist/sessions.d.ts.map +1 -0
- package/dist/sessions.js +177 -0
- package/dist/sessions.js.map +1 -0
- package/dist/streaming.d.ts +88 -0
- package/dist/streaming.d.ts.map +1 -0
- package/dist/streaming.js +317 -0
- package/dist/streaming.js.map +1 -0
- package/dist/tools/background.d.ts +2 -0
- package/dist/tools/background.d.ts.map +1 -0
- package/dist/tools/background.js +163 -0
- package/dist/tools/background.js.map +1 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +26 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/browser.js +7 -7
- package/dist/tools/browser.js.map +1 -1
- package/dist/tools/build-matrix.d.ts +2 -0
- package/dist/tools/build-matrix.d.ts.map +1 -0
- package/dist/tools/build-matrix.js +463 -0
- package/dist/tools/build-matrix.js.map +1 -0
- package/dist/tools/computer.js +5 -5
- package/dist/tools/computer.js.map +1 -1
- package/dist/tools/fetch.d.ts +2 -0
- package/dist/tools/fetch.d.ts.map +1 -0
- package/dist/tools/fetch.js +106 -0
- package/dist/tools/fetch.js.map +1 -0
- package/dist/tools/files.d.ts.map +1 -1
- package/dist/tools/files.js +112 -6
- package/dist/tools/files.js.map +1 -1
- package/dist/tools/git.js +3 -3
- package/dist/tools/git.js.map +1 -1
- package/dist/tools/github.d.ts +2 -0
- package/dist/tools/github.d.ts.map +1 -0
- package/dist/tools/github.js +196 -0
- package/dist/tools/github.js.map +1 -0
- package/dist/tools/index.d.ts +29 -5
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +136 -20
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/index.test.d.ts +2 -0
- package/dist/tools/index.test.d.ts.map +1 -0
- package/dist/tools/index.test.js +162 -0
- package/dist/tools/index.test.js.map +1 -0
- package/dist/tools/matrix.d.ts +2 -0
- package/dist/tools/matrix.d.ts.map +1 -0
- package/dist/tools/matrix.js +79 -0
- package/dist/tools/matrix.js.map +1 -0
- package/dist/tools/mcp-client.d.ts +2 -0
- package/dist/tools/mcp-client.d.ts.map +1 -0
- package/dist/tools/mcp-client.js +295 -0
- package/dist/tools/mcp-client.js.map +1 -0
- package/dist/tools/notebook.d.ts +2 -0
- package/dist/tools/notebook.d.ts.map +1 -0
- package/dist/tools/notebook.js +207 -0
- package/dist/tools/notebook.js.map +1 -0
- package/dist/tools/openclaw.d.ts +2 -0
- package/dist/tools/openclaw.d.ts.map +1 -0
- package/dist/tools/openclaw.js +187 -0
- package/dist/tools/openclaw.js.map +1 -0
- package/dist/tools/parallel.d.ts +2 -0
- package/dist/tools/parallel.d.ts.map +1 -0
- package/dist/tools/parallel.js +60 -0
- package/dist/tools/parallel.js.map +1 -0
- package/dist/tools/sandbox.d.ts +2 -0
- package/dist/tools/sandbox.d.ts.map +1 -0
- package/dist/tools/sandbox.js +352 -0
- package/dist/tools/sandbox.js.map +1 -0
- package/dist/tools/search.d.ts.map +1 -1
- package/dist/tools/search.js +135 -28
- package/dist/tools/search.js.map +1 -1
- package/dist/tools/subagent.d.ts +4 -0
- package/dist/tools/subagent.d.ts.map +1 -0
- package/dist/tools/subagent.js +260 -0
- package/dist/tools/subagent.js.map +1 -0
- package/dist/tools/tasks.d.ts +14 -0
- package/dist/tools/tasks.d.ts.map +1 -0
- package/dist/tools/tasks.js +210 -0
- package/dist/tools/tasks.js.map +1 -0
- package/dist/tools/worktree.d.ts +2 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +223 -0
- package/dist/tools/worktree.js.map +1 -0
- package/dist/tui.d.ts +73 -0
- package/dist/tui.d.ts.map +1 -0
- package/dist/tui.js +257 -0
- package/dist/tui.js.map +1 -0
- package/dist/ui.d.ts +11 -19
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +143 -171
- package/dist/ui.js.map +1 -1
- package/dist/updater.d.ts +3 -0
- package/dist/updater.d.ts.map +1 -0
- package/dist/updater.js +70 -0
- package/dist/updater.js.map +1 -0
- package/install.sh +5 -7
- package/package.json +9 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning.js","sourceRoot":"","sources":["../src/learning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning.test.d.ts","sourceRoot":"","sources":["../src/learning.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// K:BOT Learning Engine Tests
|
|
2
|
+
import { describe, it } from 'node:test';
|
|
3
|
+
import assert from 'node:assert/strict';
|
|
4
|
+
import { extractKeywords, classifyTask, findPattern, recordPattern, cacheSolution, findSolutions, learnFact, findKnowledge, buildFullLearningContext, getStats, selfTrain, } from './learning.js';
|
|
5
|
+
describe('Keyword Extraction', () => {
|
|
6
|
+
it('extracts known tech terms', () => {
|
|
7
|
+
const kw = extractKeywords('fix the react typescript bug in the component');
|
|
8
|
+
assert.ok(kw.includes('react'));
|
|
9
|
+
assert.ok(kw.includes('typescript'));
|
|
10
|
+
assert.ok(kw.includes('bug'));
|
|
11
|
+
assert.ok(kw.includes('component'));
|
|
12
|
+
});
|
|
13
|
+
it('ignores non-tech words', () => {
|
|
14
|
+
const kw = extractKeywords('please help me understand this problem');
|
|
15
|
+
assert.equal(kw.length, 0);
|
|
16
|
+
});
|
|
17
|
+
it('handles empty input', () => {
|
|
18
|
+
assert.deepEqual(extractKeywords(''), []);
|
|
19
|
+
});
|
|
20
|
+
});
|
|
21
|
+
describe('Task Classification', () => {
|
|
22
|
+
it('classifies debug tasks', () => {
|
|
23
|
+
assert.equal(classifyTask('fix this bug'), 'debug');
|
|
24
|
+
assert.equal(classifyTask('there is an error in my code'), 'debug');
|
|
25
|
+
});
|
|
26
|
+
it('classifies build tasks', () => {
|
|
27
|
+
assert.equal(classifyTask('create a new react component'), 'build');
|
|
28
|
+
assert.equal(classifyTask('scaffold a project'), 'build');
|
|
29
|
+
});
|
|
30
|
+
it('classifies refactor tasks', () => {
|
|
31
|
+
assert.equal(classifyTask('refactor this function'), 'refactor');
|
|
32
|
+
assert.equal(classifyTask('clean up the code'), 'refactor');
|
|
33
|
+
});
|
|
34
|
+
it('classifies test tasks', () => {
|
|
35
|
+
assert.equal(classifyTask('run the test suite'), 'test');
|
|
36
|
+
assert.equal(classifyTask('add test coverage'), 'test');
|
|
37
|
+
});
|
|
38
|
+
it('classifies deploy tasks', () => {
|
|
39
|
+
assert.equal(classifyTask('deploy to production'), 'deploy');
|
|
40
|
+
});
|
|
41
|
+
it('classifies explain tasks', () => {
|
|
42
|
+
assert.equal(classifyTask('explain how this works'), 'explain');
|
|
43
|
+
});
|
|
44
|
+
it('defaults to general', () => {
|
|
45
|
+
assert.equal(classifyTask('hello'), 'general');
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
describe('Pattern Cache', () => {
|
|
49
|
+
it('records and finds patterns', () => {
|
|
50
|
+
recordPattern('write unit tests for auth module', ['read_file', 'write_file'], 500);
|
|
51
|
+
const pattern = findPattern('write unit tests for auth module');
|
|
52
|
+
// May or may not match depending on similarity threshold
|
|
53
|
+
// Just verify it doesn't crash
|
|
54
|
+
assert.ok(true);
|
|
55
|
+
});
|
|
56
|
+
it('handles no match gracefully', () => {
|
|
57
|
+
const result = findPattern('completely unique query that has never been seen before xyz123');
|
|
58
|
+
// Should return null for no match
|
|
59
|
+
assert.ok(result === null || typeof result === 'object');
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
describe('Solution Index', () => {
|
|
63
|
+
it('caches and finds solutions', () => {
|
|
64
|
+
cacheSolution('how to create a react hook', 'Use the useState hook from React to create custom hooks. Start with a function prefixed with "use".');
|
|
65
|
+
const results = findSolutions('how to create a react hook');
|
|
66
|
+
// Should find at least something related
|
|
67
|
+
assert.ok(Array.isArray(results));
|
|
68
|
+
});
|
|
69
|
+
it('rejects too-short solutions', () => {
|
|
70
|
+
cacheSolution('test', 'short');
|
|
71
|
+
// Should not crash even with invalid input
|
|
72
|
+
assert.ok(true);
|
|
73
|
+
});
|
|
74
|
+
});
|
|
75
|
+
describe('Knowledge Base', () => {
|
|
76
|
+
it('stores and retrieves knowledge', () => {
|
|
77
|
+
learnFact('The API runs on port 3001', 'fact', 'user-taught');
|
|
78
|
+
const results = findKnowledge('what port does the api run on');
|
|
79
|
+
assert.ok(Array.isArray(results));
|
|
80
|
+
});
|
|
81
|
+
it('rejects very short facts', () => {
|
|
82
|
+
learnFact('hi', 'fact', 'user-taught');
|
|
83
|
+
// Should not crash
|
|
84
|
+
assert.ok(true);
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe('Learning Context Builder', () => {
|
|
88
|
+
it('builds context without crashing', () => {
|
|
89
|
+
const context = buildFullLearningContext('write some code');
|
|
90
|
+
assert.ok(typeof context === 'string');
|
|
91
|
+
});
|
|
92
|
+
it('returns empty string for new users', () => {
|
|
93
|
+
const context = buildFullLearningContext('unique query never seen before abc789xyz');
|
|
94
|
+
assert.ok(typeof context === 'string');
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
describe('Stats', () => {
|
|
98
|
+
it('returns valid stats object', () => {
|
|
99
|
+
const stats = getStats();
|
|
100
|
+
assert.ok(typeof stats.patternsCount === 'number');
|
|
101
|
+
assert.ok(typeof stats.solutionsCount === 'number');
|
|
102
|
+
assert.ok(typeof stats.totalMessages === 'number');
|
|
103
|
+
assert.ok(typeof stats.efficiency === 'string');
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
describe('Self-Training', () => {
|
|
107
|
+
it('runs without crashing', () => {
|
|
108
|
+
const result = selfTrain();
|
|
109
|
+
assert.ok(typeof result.pruned === 'number');
|
|
110
|
+
assert.ok(typeof result.optimized === 'number');
|
|
111
|
+
assert.ok(typeof result.synthesized === 'number');
|
|
112
|
+
assert.ok(typeof result.summary === 'string');
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
//# sourceMappingURL=learning.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"learning.test.js","sourceRoot":"","sources":["../src/learning.test.ts"],"names":[],"mappings":"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"}
|
package/dist/matrix.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface MatrixAgent {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
icon: string;
|
|
5
|
+
color: string;
|
|
6
|
+
systemPrompt: string;
|
|
7
|
+
createdAt: Date;
|
|
8
|
+
invocations: number;
|
|
9
|
+
}
|
|
10
|
+
/** Create a new agent in the matrix */
|
|
11
|
+
export declare function createAgent(name: string, systemPrompt: string, icon?: string, color?: string): MatrixAgent;
|
|
12
|
+
/** Get an agent by ID */
|
|
13
|
+
export declare function getAgent(id: string): MatrixAgent | undefined;
|
|
14
|
+
/** Remove an agent */
|
|
15
|
+
export declare function removeAgent(id: string): boolean;
|
|
16
|
+
/** List all agents in the matrix */
|
|
17
|
+
export declare function listAgents(): MatrixAgent[];
|
|
18
|
+
/** Get system prompt override if a matrix agent is active */
|
|
19
|
+
export declare function getMatrixSystemPrompt(agentId: string): string | null;
|
|
20
|
+
/** Get matrix agent IDs for tool hints */
|
|
21
|
+
export declare function getMatrixAgentIds(): string[];
|
|
22
|
+
/** Format agent list for display */
|
|
23
|
+
export declare function formatAgentList(): string;
|
|
24
|
+
/** Format a single agent detail */
|
|
25
|
+
export declare function formatAgentDetail(agent: MatrixAgent): string;
|
|
26
|
+
export declare const PRESETS: Record<string, {
|
|
27
|
+
name: string;
|
|
28
|
+
prompt: string;
|
|
29
|
+
}>;
|
|
30
|
+
export interface MimicProfile {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
description: string;
|
|
34
|
+
systemPrompt: string;
|
|
35
|
+
icon: string;
|
|
36
|
+
color: string;
|
|
37
|
+
/** Code conventions to enforce */
|
|
38
|
+
conventions?: string[];
|
|
39
|
+
/** Example patterns to follow */
|
|
40
|
+
examples?: string[];
|
|
41
|
+
}
|
|
42
|
+
export declare const MIMIC_PROFILES: Record<string, MimicProfile>;
|
|
43
|
+
/** Activate a mimic profile — creates a matrix agent with the mimic's conventions */
|
|
44
|
+
export declare function activateMimic(profileId: string): MatrixAgent | null;
|
|
45
|
+
/** List all available mimic profiles */
|
|
46
|
+
export declare function listMimicProfiles(): MimicProfile[];
|
|
47
|
+
/** Get mimic profile by ID */
|
|
48
|
+
export declare function getMimicProfile(id: string): MimicProfile | undefined;
|
|
49
|
+
//# sourceMappingURL=matrix.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix.d.ts","sourceRoot":"","sources":["../src/matrix.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACpB;AAaD,uCAAuC;AACvC,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAkB1G;AAED,yBAAyB;AACzB,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAE5D;AAED,sBAAsB;AACtB,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,oCAAoC;AACpC,wBAAgB,UAAU,IAAI,WAAW,EAAE,CAE1C;AAED,6DAA6D;AAC7D,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKpE;AAED,0CAA0C;AAC1C,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAE5C;AAED,oCAAoC;AACpC,wBAAgB,eAAe,IAAI,MAAM,CAUxC;AAED,mCAAmC;AACnC,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAQ5D;AAKD,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAyBpE,CAAA;AAOD,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;IACtB,iCAAiC;IACjC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAsKvD,CAAA;AAED,qFAAqF;AACrF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAmBnE;AAED,wCAAwC;AACxC,wBAAgB,iBAAiB,IAAI,YAAY,EAAE,CAElD;AAED,8BAA8B;AAC9B,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAEpE"}
|
package/dist/matrix.js
ADDED
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
// K:BOT Agent Creation Matrix
|
|
2
|
+
// Create, manage, and invoke custom specialist agents on-the-fly.
|
|
3
|
+
// Agents are local session constructs — they override the system prompt
|
|
4
|
+
// and can be invoked by the AI via tool calls or by the user via /matrix.
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import { registerAgentVisuals } from './ui.js';
|
|
7
|
+
const AGENT_ICONS = ['◆', '◈', '⟐', '◇', '▣', '✦', '◉', '❖', '▲', '⬡', '∑', '⊕', '☉', '◷', '✧', '◎', '⟳', '⊗', '⊘', '⊛'];
|
|
8
|
+
const AGENT_COLORS = ['#6B5B95', '#5B8BA0', '#6B8E6B', '#B8875C', '#A0768C', '#C4956A', '#4682B4', '#DAA520', '#228B22', '#9370DB', '#DB7093', '#20B2AA', '#8B4513', '#CD853F'];
|
|
9
|
+
/** In-memory agent registry for this session */
|
|
10
|
+
const matrix = new Map();
|
|
11
|
+
/** Slugify a name to an ID */
|
|
12
|
+
function slugify(name) {
|
|
13
|
+
return name.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
|
|
14
|
+
}
|
|
15
|
+
/** Create a new agent in the matrix */
|
|
16
|
+
export function createAgent(name, systemPrompt, icon, color) {
|
|
17
|
+
const id = slugify(name);
|
|
18
|
+
if (matrix.has(id)) {
|
|
19
|
+
throw new Error(`Agent "${id}" already exists. Use /matrix remove ${id} first.`);
|
|
20
|
+
}
|
|
21
|
+
const idx = matrix.size;
|
|
22
|
+
const agent = {
|
|
23
|
+
id,
|
|
24
|
+
name,
|
|
25
|
+
icon: icon || AGENT_ICONS[idx % AGENT_ICONS.length],
|
|
26
|
+
color: color || AGENT_COLORS[idx % AGENT_COLORS.length],
|
|
27
|
+
systemPrompt,
|
|
28
|
+
createdAt: new Date(),
|
|
29
|
+
invocations: 0,
|
|
30
|
+
};
|
|
31
|
+
matrix.set(id, agent);
|
|
32
|
+
registerAgentVisuals(id, agent.icon, agent.color);
|
|
33
|
+
return agent;
|
|
34
|
+
}
|
|
35
|
+
/** Get an agent by ID */
|
|
36
|
+
export function getAgent(id) {
|
|
37
|
+
return matrix.get(id);
|
|
38
|
+
}
|
|
39
|
+
/** Remove an agent */
|
|
40
|
+
export function removeAgent(id) {
|
|
41
|
+
return matrix.delete(id);
|
|
42
|
+
}
|
|
43
|
+
/** List all agents in the matrix */
|
|
44
|
+
export function listAgents() {
|
|
45
|
+
return Array.from(matrix.values());
|
|
46
|
+
}
|
|
47
|
+
/** Get system prompt override if a matrix agent is active */
|
|
48
|
+
export function getMatrixSystemPrompt(agentId) {
|
|
49
|
+
const agent = matrix.get(agentId);
|
|
50
|
+
if (!agent)
|
|
51
|
+
return null;
|
|
52
|
+
agent.invocations++;
|
|
53
|
+
return agent.systemPrompt;
|
|
54
|
+
}
|
|
55
|
+
/** Get matrix agent IDs for tool hints */
|
|
56
|
+
export function getMatrixAgentIds() {
|
|
57
|
+
return Array.from(matrix.keys());
|
|
58
|
+
}
|
|
59
|
+
/** Format agent list for display */
|
|
60
|
+
export function formatAgentList() {
|
|
61
|
+
const agents = listAgents();
|
|
62
|
+
if (agents.length === 0) {
|
|
63
|
+
return chalk.dim(' No agents in the matrix. Use /matrix create to add one.');
|
|
64
|
+
}
|
|
65
|
+
const lines = agents.map(a => {
|
|
66
|
+
const color = chalk.hex(a.color);
|
|
67
|
+
return ` ${color(a.icon)} ${color(a.name)} ${chalk.dim(`(${a.id})`)} — ${chalk.dim(`${a.invocations} calls`)}`;
|
|
68
|
+
});
|
|
69
|
+
return lines.join('\n');
|
|
70
|
+
}
|
|
71
|
+
/** Format a single agent detail */
|
|
72
|
+
export function formatAgentDetail(agent) {
|
|
73
|
+
const color = chalk.hex(agent.color);
|
|
74
|
+
return [
|
|
75
|
+
` ${color(agent.icon)} ${color(agent.name)}`,
|
|
76
|
+
` ${chalk.dim('ID:')} ${agent.id}`,
|
|
77
|
+
` ${chalk.dim('Calls:')} ${agent.invocations}`,
|
|
78
|
+
` ${chalk.dim('Prompt:')} ${agent.systemPrompt.slice(0, 120)}${agent.systemPrompt.length > 120 ? '...' : ''}`,
|
|
79
|
+
].join('\n');
|
|
80
|
+
}
|
|
81
|
+
// ── Preset Templates ──
|
|
82
|
+
// Quick-start agent templates users can spawn instantly
|
|
83
|
+
export const PRESETS = {
|
|
84
|
+
'security-auditor': {
|
|
85
|
+
name: 'Security Auditor',
|
|
86
|
+
prompt: 'You are a senior security engineer. Analyze code for vulnerabilities: injection, XSS, CSRF, auth bypass, secrets exposure, insecure dependencies. Be thorough and cite OWASP categories. Provide severity ratings (Critical/High/Medium/Low) and fix recommendations.',
|
|
87
|
+
},
|
|
88
|
+
'ux-critic': {
|
|
89
|
+
name: 'UX Critic',
|
|
90
|
+
prompt: 'You are a UX design critic with expertise in mobile-first design. Evaluate interfaces for usability, accessibility (WCAG 2.1 AA), information hierarchy, touch targets, cognitive load, and visual consistency. Be constructive but honest about issues.',
|
|
91
|
+
},
|
|
92
|
+
'code-reviewer': {
|
|
93
|
+
name: 'Code Reviewer',
|
|
94
|
+
prompt: 'You are a senior staff engineer doing a code review. Focus on: correctness, edge cases, error handling, performance, maintainability, naming, and adherence to project conventions. Be specific — reference line numbers and suggest concrete improvements.',
|
|
95
|
+
},
|
|
96
|
+
'architect': {
|
|
97
|
+
name: 'System Architect',
|
|
98
|
+
prompt: 'You are a systems architect. Evaluate designs for scalability, separation of concerns, data flow, failure modes, and operational complexity. Propose alternatives when you see issues. Think in terms of trade-offs, not absolutes.',
|
|
99
|
+
},
|
|
100
|
+
'tech-writer': {
|
|
101
|
+
name: 'Tech Writer',
|
|
102
|
+
prompt: 'You are a technical writer. Write clear, concise documentation. Use active voice, short sentences, and code examples. Structure with headings, bullet points, and numbered steps. Target audience: experienced developers who are new to this codebase.',
|
|
103
|
+
},
|
|
104
|
+
'devil-advocate': {
|
|
105
|
+
name: "Devil's Advocate",
|
|
106
|
+
prompt: 'You challenge every assumption. When presented with a plan or design, find the weaknesses, edge cases, and failure modes. Ask uncomfortable questions. Your goal is to stress-test ideas before they ship. Be respectful but relentless.',
|
|
107
|
+
},
|
|
108
|
+
};
|
|
109
|
+
export const MIMIC_PROFILES = {
|
|
110
|
+
// Tool mimics — write code like popular AI tools
|
|
111
|
+
'claude-code': {
|
|
112
|
+
id: 'claude-code',
|
|
113
|
+
name: 'Claude Code Style',
|
|
114
|
+
description: 'Write code the way Claude Code does — clean, minimal, well-tested',
|
|
115
|
+
icon: '⊛',
|
|
116
|
+
color: '#D97706',
|
|
117
|
+
systemPrompt: `You write code in the style of Anthropic's Claude Code. Your conventions:
|
|
118
|
+
- Minimal, focused changes — never over-engineer
|
|
119
|
+
- Prefer editing existing files over creating new ones
|
|
120
|
+
- No unnecessary comments, docstrings, or type annotations on unchanged code
|
|
121
|
+
- Simple solutions: 3 similar lines > premature abstraction
|
|
122
|
+
- Validate at boundaries, trust internal code
|
|
123
|
+
- No feature flags or backwards-compat shims — just change the code
|
|
124
|
+
- When fixing bugs, fix the root cause, don't add workarounds
|
|
125
|
+
- Always verify your work by reading back the file after editing`,
|
|
126
|
+
conventions: ['minimal changes', 'no over-engineering', 'edit > create', 'verify after edit'],
|
|
127
|
+
},
|
|
128
|
+
'cursor': {
|
|
129
|
+
id: 'cursor',
|
|
130
|
+
name: 'Cursor AI Style',
|
|
131
|
+
description: 'Write code like Cursor — fast, inline, context-aware completions',
|
|
132
|
+
icon: '⊗',
|
|
133
|
+
color: '#7C3AED',
|
|
134
|
+
systemPrompt: `You write code in the style of Cursor AI. Your conventions:
|
|
135
|
+
- Generate complete, ready-to-use code blocks — no placeholders
|
|
136
|
+
- Infer intent from context: file structure, imports, naming patterns
|
|
137
|
+
- Match the existing code style exactly: indentation, quotes, semicolons, naming
|
|
138
|
+
- When adding to a file, follow the patterns already established
|
|
139
|
+
- Suggest multi-file edits when a change touches multiple files
|
|
140
|
+
- Include imports and dependencies automatically
|
|
141
|
+
- Optimize for developer velocity — code should work on first paste`,
|
|
142
|
+
conventions: ['complete code', 'match existing style', 'include imports', 'no placeholders'],
|
|
143
|
+
},
|
|
144
|
+
'copilot': {
|
|
145
|
+
id: 'copilot',
|
|
146
|
+
name: 'GitHub Copilot Style',
|
|
147
|
+
description: 'Write code like Copilot — contextual, pattern-matching completions',
|
|
148
|
+
icon: '⊘',
|
|
149
|
+
color: '#1F6FEB',
|
|
150
|
+
systemPrompt: `You write code in the style of GitHub Copilot. Your conventions:
|
|
151
|
+
- Complete the user's current thought — infer what comes next
|
|
152
|
+
- Use the same patterns visible in the current file and project
|
|
153
|
+
- Favor idiomatic solutions for the language being used
|
|
154
|
+
- Include inline comments only where logic is non-obvious
|
|
155
|
+
- Generate tests that mirror the project's existing test patterns
|
|
156
|
+
- When generating functions, use the naming conventions already in the codebase`,
|
|
157
|
+
conventions: ['pattern completion', 'idiomatic code', 'match project conventions'],
|
|
158
|
+
},
|
|
159
|
+
// Framework mimics — enforce framework conventions
|
|
160
|
+
'nextjs': {
|
|
161
|
+
id: 'nextjs',
|
|
162
|
+
name: 'Next.js Expert',
|
|
163
|
+
description: 'Write Next.js code following Vercel best practices',
|
|
164
|
+
icon: '▲',
|
|
165
|
+
color: '#000000',
|
|
166
|
+
systemPrompt: `You are a Next.js expert writing production code. Your conventions:
|
|
167
|
+
- Use App Router (app/ directory) by default, not Pages Router
|
|
168
|
+
- Server Components by default, 'use client' only when needed
|
|
169
|
+
- Use server actions for mutations, not API routes
|
|
170
|
+
- Streaming with Suspense for loading states
|
|
171
|
+
- Use next/image, next/font, next/link properly
|
|
172
|
+
- ISR/SSG where possible, SSR only when dynamic data is required
|
|
173
|
+
- Metadata API for SEO, not <Head>
|
|
174
|
+
- Follow Vercel deployment best practices
|
|
175
|
+
- TypeScript strict mode, Tailwind CSS for styling`,
|
|
176
|
+
conventions: ['App Router', 'Server Components', 'server actions', 'Tailwind', 'TypeScript'],
|
|
177
|
+
},
|
|
178
|
+
'react': {
|
|
179
|
+
id: 'react',
|
|
180
|
+
name: 'Modern React',
|
|
181
|
+
description: 'Write React code with modern patterns (hooks, composition)',
|
|
182
|
+
icon: '⚛',
|
|
183
|
+
color: '#61DAFB',
|
|
184
|
+
systemPrompt: `You write modern React code. Your conventions:
|
|
185
|
+
- Functional components only, never class components
|
|
186
|
+
- Custom hooks for shared logic, not HOCs or render props
|
|
187
|
+
- useState/useReducer for local state, context sparingly
|
|
188
|
+
- React Query / TanStack Query for server state
|
|
189
|
+
- Composition over configuration — small, focused components
|
|
190
|
+
- Avoid useEffect for derived state — compute inline or useMemo
|
|
191
|
+
- Error boundaries at route level
|
|
192
|
+
- TypeScript for all components with proper prop types
|
|
193
|
+
- CSS Modules or Tailwind, never inline styles for production`,
|
|
194
|
+
conventions: ['hooks', 'composition', 'TypeScript', 'React Query', 'no useEffect for derived state'],
|
|
195
|
+
},
|
|
196
|
+
'python': {
|
|
197
|
+
id: 'python',
|
|
198
|
+
name: 'Pythonic Code',
|
|
199
|
+
description: 'Write clean, idiomatic Python following PEP standards',
|
|
200
|
+
icon: '🐍',
|
|
201
|
+
color: '#3776AB',
|
|
202
|
+
systemPrompt: `You write idiomatic Python code. Your conventions:
|
|
203
|
+
- Follow PEP 8 style guide strictly
|
|
204
|
+
- Use type hints (Python 3.10+ syntax: list[str] not List[str])
|
|
205
|
+
- Prefer dataclasses or Pydantic models over dicts
|
|
206
|
+
- Use pathlib over os.path
|
|
207
|
+
- f-strings over .format() or % formatting
|
|
208
|
+
- List comprehensions where readable, loops when complex
|
|
209
|
+
- Use contextlib and with statements for resource management
|
|
210
|
+
- Proper exception handling — specific exceptions, not bare except
|
|
211
|
+
- Use ruff for linting, pytest for testing
|
|
212
|
+
- Virtual environments and pyproject.toml for dependencies`,
|
|
213
|
+
conventions: ['PEP 8', 'type hints', 'dataclasses', 'pathlib', 'f-strings', 'pytest'],
|
|
214
|
+
},
|
|
215
|
+
'rust': {
|
|
216
|
+
id: 'rust',
|
|
217
|
+
name: 'Rust Idiomatic',
|
|
218
|
+
description: 'Write safe, performant Rust following community conventions',
|
|
219
|
+
icon: '⚙',
|
|
220
|
+
color: '#DEA584',
|
|
221
|
+
systemPrompt: `You write idiomatic Rust code. Your conventions:
|
|
222
|
+
- Ownership-first thinking — minimize cloning
|
|
223
|
+
- Use Result and Option properly, avoid unwrap in production
|
|
224
|
+
- Prefer &str over String for parameters
|
|
225
|
+
- Use iterators and combinators over manual loops
|
|
226
|
+
- Derive traits (Debug, Clone, PartialEq) generously
|
|
227
|
+
- Error types with thiserror or anyhow
|
|
228
|
+
- Use clippy suggestions as gospel
|
|
229
|
+
- Modules organized by functionality, not by type
|
|
230
|
+
- Integration tests in tests/, unit tests inline with #[cfg(test)]
|
|
231
|
+
- Document public APIs with /// and examples`,
|
|
232
|
+
conventions: ['ownership', 'Result/Option', 'iterators', 'clippy', 'thiserror'],
|
|
233
|
+
},
|
|
234
|
+
// Philosophy mimics — coding mindsets
|
|
235
|
+
'senior': {
|
|
236
|
+
id: 'senior',
|
|
237
|
+
name: 'Senior Engineer',
|
|
238
|
+
description: 'Think and code like a principal engineer — trade-offs, simplicity, maintainability',
|
|
239
|
+
icon: '★',
|
|
240
|
+
color: '#B45309',
|
|
241
|
+
systemPrompt: `You think and code like a principal software engineer with 15+ years of experience. Your philosophy:
|
|
242
|
+
- Simplicity is the ultimate sophistication — every line must earn its place
|
|
243
|
+
- Name things precisely — good names eliminate the need for comments
|
|
244
|
+
- Design for deletion — code should be easy to remove, not just add
|
|
245
|
+
- Make impossible states impossible via the type system
|
|
246
|
+
- Ship small, ship often — prefer incremental improvements
|
|
247
|
+
- Write code for the next person to read, not the compiler
|
|
248
|
+
- Performance matters, but correctness and clarity come first
|
|
249
|
+
- Every abstraction has a cost — don't abstract until you have 3+ examples
|
|
250
|
+
- Tests should describe behavior, not implementation
|
|
251
|
+
- Review your own code as if someone else wrote it`,
|
|
252
|
+
conventions: ['simplicity', 'precise naming', 'design for deletion', 'incremental shipping'],
|
|
253
|
+
},
|
|
254
|
+
'startup': {
|
|
255
|
+
id: 'startup',
|
|
256
|
+
name: 'Startup Mode',
|
|
257
|
+
description: 'Move fast, ship MVPs, pragmatic trade-offs',
|
|
258
|
+
icon: '⚡',
|
|
259
|
+
color: '#EF4444',
|
|
260
|
+
systemPrompt: `You code for a fast-moving startup. Your philosophy:
|
|
261
|
+
- Ship first, optimize later — working > perfect
|
|
262
|
+
- Use proven tech: React, Node, PostgreSQL, Redis, AWS/Vercel
|
|
263
|
+
- Avoid premature optimization and over-engineering
|
|
264
|
+
- Copy-paste is fine for 2 instances, abstract at 3
|
|
265
|
+
- Use managed services (Supabase, Vercel, Clerk) over self-hosting
|
|
266
|
+
- Skip features users haven't asked for
|
|
267
|
+
- Prioritize user-facing functionality over internal tooling
|
|
268
|
+
- Quick iteration: deploy, measure, iterate
|
|
269
|
+
- Good enough error handling > perfect error handling that takes a week
|
|
270
|
+
- README with setup instructions is all the docs you need`,
|
|
271
|
+
conventions: ['ship fast', 'proven stack', 'managed services', 'YAGNI'],
|
|
272
|
+
},
|
|
273
|
+
};
|
|
274
|
+
/** Activate a mimic profile — creates a matrix agent with the mimic's conventions */
|
|
275
|
+
export function activateMimic(profileId) {
|
|
276
|
+
const profile = MIMIC_PROFILES[profileId];
|
|
277
|
+
if (!profile)
|
|
278
|
+
return null;
|
|
279
|
+
// Remove existing mimic with same ID if present
|
|
280
|
+
matrix.delete(profile.id);
|
|
281
|
+
const agent = {
|
|
282
|
+
id: profile.id,
|
|
283
|
+
name: profile.name,
|
|
284
|
+
icon: profile.icon,
|
|
285
|
+
color: profile.color,
|
|
286
|
+
systemPrompt: profile.systemPrompt,
|
|
287
|
+
createdAt: new Date(),
|
|
288
|
+
invocations: 0,
|
|
289
|
+
};
|
|
290
|
+
matrix.set(profile.id, agent);
|
|
291
|
+
registerAgentVisuals(profile.id, profile.icon, profile.color);
|
|
292
|
+
return agent;
|
|
293
|
+
}
|
|
294
|
+
/** List all available mimic profiles */
|
|
295
|
+
export function listMimicProfiles() {
|
|
296
|
+
return Object.values(MIMIC_PROFILES);
|
|
297
|
+
}
|
|
298
|
+
/** Get mimic profile by ID */
|
|
299
|
+
export function getMimicProfile(id) {
|
|
300
|
+
return MIMIC_PROFILES[id];
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matrix.js","sourceRoot":"","sources":["../src/matrix.ts"],"names":[],"mappings":"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"}
|
package/dist/memory.d.ts
CHANGED
|
@@ -22,4 +22,15 @@ export declare function getPreviousMessages(): Array<{
|
|
|
22
22
|
role: string;
|
|
23
23
|
content: string;
|
|
24
24
|
}>;
|
|
25
|
+
/** Compact/compress conversation history into a summary.
|
|
26
|
+
* Keeps the last 4 turns verbatim, summarizes everything before.
|
|
27
|
+
* This extends session length without losing context.
|
|
28
|
+
*/
|
|
29
|
+
export declare function compactHistory(): {
|
|
30
|
+
before: number;
|
|
31
|
+
after: number;
|
|
32
|
+
summary: string;
|
|
33
|
+
};
|
|
34
|
+
/** Restore session history from a saved session */
|
|
35
|
+
export declare function restoreHistory(turns: ConversationTurn[]): void;
|
|
25
36
|
//# sourceMappingURL=memory.d.ts.map
|
package/dist/memory.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAkBA,gEAAgE;AAChE,wBAAgB,UAAU,IAAI,MAAM,CAgBnC;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED,uBAAuB;AACvB,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,gDAAgD;AAChD,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB;AAID,oCAAoC;AACpC,wBAAgB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMpD;AAED,0BAA0B;AAC1B,wBAAgB,UAAU,IAAI,gBAAgB,EAAE,CAE/C;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAG9E"}
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"AAkBA,gEAAgE;AAChE,wBAAgB,UAAU,IAAI,MAAM,CAgBnC;AAED,mEAAmE;AACnE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED,uBAAuB;AACvB,wBAAgB,WAAW,IAAI,IAAI,CAGlC;AAED,gDAAgD;AAChD,wBAAgB,eAAe,IAAI,MAAM,CAIxC;AAED,+CAA+C;AAC/C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAA;IAC1B,OAAO,EAAE,MAAM,CAAA;CAChB;AAID,oCAAoC;AACpC,wBAAgB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAMpD;AAED,0BAA0B;AAC1B,wBAAgB,UAAU,IAAI,gBAAgB,EAAE,CAE/C;AAED,4BAA4B;AAC5B,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,kDAAkD;AAClD,wBAAgB,mBAAmB,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAG9E;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CA6CnF;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAM9D"}
|