jiva-core 0.3.23 → 0.3.41-dev.fe6fe48
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 +232 -570
- package/dist/code/agent.d.ts +105 -0
- package/dist/code/agent.d.ts.map +1 -0
- package/dist/code/agent.js +837 -0
- package/dist/code/agent.js.map +1 -0
- package/dist/code/file-lock.d.ts +15 -0
- package/dist/code/file-lock.d.ts.map +1 -0
- package/dist/code/file-lock.js +36 -0
- package/dist/code/file-lock.js.map +1 -0
- package/dist/code/lsp/client.d.ts +30 -0
- package/dist/code/lsp/client.d.ts.map +1 -0
- package/dist/code/lsp/client.js +181 -0
- package/dist/code/lsp/client.js.map +1 -0
- package/dist/code/lsp/language.d.ts +12 -0
- package/dist/code/lsp/language.d.ts.map +1 -0
- package/dist/code/lsp/language.js +145 -0
- package/dist/code/lsp/language.js.map +1 -0
- package/dist/code/lsp/manager.d.ts +39 -0
- package/dist/code/lsp/manager.d.ts.map +1 -0
- package/dist/code/lsp/manager.js +108 -0
- package/dist/code/lsp/manager.js.map +1 -0
- package/dist/code/lsp/server.d.ts +15 -0
- package/dist/code/lsp/server.d.ts.map +1 -0
- package/dist/code/lsp/server.js +78 -0
- package/dist/code/lsp/server.js.map +1 -0
- package/dist/code/tools/bash.d.ts +3 -0
- package/dist/code/tools/bash.d.ts.map +1 -0
- package/dist/code/tools/bash.js +110 -0
- package/dist/code/tools/bash.js.map +1 -0
- package/dist/code/tools/edit.d.ts +11 -0
- package/dist/code/tools/edit.d.ts.map +1 -0
- package/dist/code/tools/edit.js +459 -0
- package/dist/code/tools/edit.js.map +1 -0
- package/dist/code/tools/glob.d.ts +3 -0
- package/dist/code/tools/glob.d.ts.map +1 -0
- package/dist/code/tools/glob.js +62 -0
- package/dist/code/tools/glob.js.map +1 -0
- package/dist/code/tools/grep.d.ts +3 -0
- package/dist/code/tools/grep.d.ts.map +1 -0
- package/dist/code/tools/grep.js +147 -0
- package/dist/code/tools/grep.js.map +1 -0
- package/dist/code/tools/index.d.ts +31 -0
- package/dist/code/tools/index.d.ts.map +1 -0
- package/dist/code/tools/index.js +9 -0
- package/dist/code/tools/index.js.map +1 -0
- package/dist/code/tools/read.d.ts +3 -0
- package/dist/code/tools/read.d.ts.map +1 -0
- package/dist/code/tools/read.js +120 -0
- package/dist/code/tools/read.js.map +1 -0
- package/dist/code/tools/spawn.d.ts +3 -0
- package/dist/code/tools/spawn.d.ts.map +1 -0
- package/dist/code/tools/spawn.js +49 -0
- package/dist/code/tools/spawn.js.map +1 -0
- package/dist/code/tools/write.d.ts +3 -0
- package/dist/code/tools/write.d.ts.map +1 -0
- package/dist/code/tools/write.js +82 -0
- package/dist/code/tools/write.js.map +1 -0
- package/dist/core/agent-interface.d.ts +54 -0
- package/dist/core/agent-interface.d.ts.map +1 -0
- package/dist/core/agent-interface.js +8 -0
- package/dist/core/agent-interface.js.map +1 -0
- package/dist/core/agent-spawner.d.ts.map +1 -1
- package/dist/core/agent-spawner.js +3 -0
- package/dist/core/agent-spawner.js.map +1 -1
- package/dist/core/client-agent.d.ts +22 -2
- package/dist/core/client-agent.d.ts.map +1 -1
- package/dist/core/client-agent.js +145 -26
- package/dist/core/client-agent.js.map +1 -1
- package/dist/core/config.d.ts +144 -17
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +25 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/conversation-manager.d.ts +4 -1
- package/dist/core/conversation-manager.d.ts.map +1 -1
- package/dist/core/conversation-manager.js +47 -17
- package/dist/core/conversation-manager.js.map +1 -1
- package/dist/core/dual-agent.d.ts +18 -5
- package/dist/core/dual-agent.d.ts.map +1 -1
- package/dist/core/dual-agent.js +152 -59
- package/dist/core/dual-agent.js.map +1 -1
- package/dist/core/manager-agent.d.ts +38 -2
- package/dist/core/manager-agent.d.ts.map +1 -1
- package/dist/core/manager-agent.js +144 -23
- package/dist/core/manager-agent.js.map +1 -1
- package/dist/core/types/agent-context.d.ts +30 -0
- package/dist/core/types/agent-context.d.ts.map +1 -0
- package/dist/core/types/agent-context.js +8 -0
- package/dist/core/types/agent-context.js.map +1 -0
- package/dist/core/types/completion-signal.d.ts +17 -0
- package/dist/core/types/completion-signal.d.ts.map +1 -0
- package/dist/core/types/completion-signal.js +8 -0
- package/dist/core/types/completion-signal.js.map +1 -0
- package/dist/core/utils/serialize-agent-context.d.ts +23 -0
- package/dist/core/utils/serialize-agent-context.d.ts.map +1 -0
- package/dist/core/utils/serialize-agent-context.js +75 -0
- package/dist/core/utils/serialize-agent-context.js.map +1 -0
- package/dist/core/worker-agent.d.ts +14 -3
- package/dist/core/worker-agent.d.ts.map +1 -1
- package/dist/core/worker-agent.js +261 -68
- package/dist/core/worker-agent.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/cli/index.js +146 -25
- package/dist/interfaces/cli/index.js.map +1 -1
- package/dist/interfaces/cli/repl.d.ts +8 -2
- package/dist/interfaces/cli/repl.d.ts.map +1 -1
- package/dist/interfaces/cli/repl.js +39 -3
- package/dist/interfaces/cli/repl.js.map +1 -1
- package/dist/interfaces/cli/setup-wizard.d.ts.map +1 -1
- package/dist/interfaces/cli/setup-wizard.js +92 -0
- package/dist/interfaces/cli/setup-wizard.js.map +1 -1
- package/dist/interfaces/http/routes/chat.js +2 -2
- package/dist/interfaces/http/routes/chat.js.map +1 -1
- package/dist/interfaces/http/session-manager.d.ts +7 -4
- package/dist/interfaces/http/session-manager.d.ts.map +1 -1
- package/dist/interfaces/http/session-manager.js +56 -15
- package/dist/interfaces/http/session-manager.js.map +1 -1
- package/dist/models/base.d.ts +16 -1
- package/dist/models/base.d.ts.map +1 -1
- package/dist/models/harmony.d.ts +7 -1
- package/dist/models/harmony.d.ts.map +1 -1
- package/dist/models/harmony.js +21 -3
- package/dist/models/harmony.js.map +1 -1
- package/dist/models/krutrim.d.ts +31 -1
- package/dist/models/krutrim.d.ts.map +1 -1
- package/dist/models/krutrim.js +55 -11
- package/dist/models/krutrim.js.map +1 -1
- package/dist/models/orchestrator.d.ts +24 -0
- package/dist/models/orchestrator.d.ts.map +1 -1
- package/dist/models/orchestrator.js +40 -6
- package/dist/models/orchestrator.js.map +1 -1
- package/package.json +8 -6
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CodeAgent — single streaming loop for coding tasks.
|
|
3
|
+
*
|
|
4
|
+
* Unlike the three-agent DualAgent, CodeAgent uses a direct model → tools → model loop
|
|
5
|
+
* without the Manager/Worker/Client overhead. This is modeled after opencode's SessionProcessor.
|
|
6
|
+
*/
|
|
7
|
+
import { ModelOrchestrator } from '../models/orchestrator.js';
|
|
8
|
+
import { WorkspaceManager } from '../core/workspace.js';
|
|
9
|
+
import { ConversationManager } from '../core/conversation-manager.js';
|
|
10
|
+
import type { Message } from '../models/base.js';
|
|
11
|
+
export interface AgentResponse {
|
|
12
|
+
content: string;
|
|
13
|
+
toolsUsed: string[];
|
|
14
|
+
iterations: number;
|
|
15
|
+
}
|
|
16
|
+
export interface CodeAgentConfig {
|
|
17
|
+
orchestrator: ModelOrchestrator;
|
|
18
|
+
workspace: WorkspaceManager;
|
|
19
|
+
conversationManager?: ConversationManager;
|
|
20
|
+
maxIterations?: number;
|
|
21
|
+
lspEnabled?: boolean;
|
|
22
|
+
depth?: number;
|
|
23
|
+
maxDepth?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Token count at which in-loop context compaction is triggered.
|
|
26
|
+
* When promptTokens in a response exceeds this threshold, the message history
|
|
27
|
+
* is condensed to free up context window space.
|
|
28
|
+
* Default: 90000 (safe for a 128K context model, leaving ~38K for output).
|
|
29
|
+
* Set to 0 to disable in-loop compaction.
|
|
30
|
+
*/
|
|
31
|
+
compactionThreshold?: number;
|
|
32
|
+
}
|
|
33
|
+
export declare class CodeAgent {
|
|
34
|
+
private orchestrator;
|
|
35
|
+
private workspace;
|
|
36
|
+
private conversationManager?;
|
|
37
|
+
private maxIterations;
|
|
38
|
+
private compactionThreshold;
|
|
39
|
+
private lsp;
|
|
40
|
+
private depth;
|
|
41
|
+
private maxDepth;
|
|
42
|
+
private history;
|
|
43
|
+
private tools;
|
|
44
|
+
constructor(config: CodeAgentConfig);
|
|
45
|
+
/**
|
|
46
|
+
* Planning phase — explores the codebase with read-only tools and produces a structured
|
|
47
|
+
* implementation plan WITHOUT making any changes. Call this before `chat()` when you want
|
|
48
|
+
* the user to review and approve a plan before any files are touched.
|
|
49
|
+
*
|
|
50
|
+
* The returned string is the plan text ready for display.
|
|
51
|
+
* This call does NOT modify `this.history`; it runs in an isolated message thread.
|
|
52
|
+
*/
|
|
53
|
+
plan(task: string): Promise<string>;
|
|
54
|
+
/**
|
|
55
|
+
* Process a user message and return the agent's response.
|
|
56
|
+
* Runs the model → tools → model loop until no more tool calls or max iterations.
|
|
57
|
+
*/
|
|
58
|
+
chat(userMessage: string, onChunk?: (text: string) => void): Promise<AgentResponse>;
|
|
59
|
+
/**
|
|
60
|
+
* Compact the live messages array when the context window is filling up.
|
|
61
|
+
*
|
|
62
|
+
* Strategy (mirrors opencode's compaction approach):
|
|
63
|
+
* 1. Keep the system/developer prompt (index 0).
|
|
64
|
+
* 2. Identify tool-call + tool-result pairs in the middle of the conversation.
|
|
65
|
+
* 3. Replace bulky tool results with compact "[result summarised]" placeholders.
|
|
66
|
+
* 4. If a ConversationManager is available, generate a structured summary of
|
|
67
|
+
* the condensed middle section and inject it as a single context message.
|
|
68
|
+
*
|
|
69
|
+
* This runs in-loop (mid-turn) so we only compact once per chat() invocation
|
|
70
|
+
* to avoid thrashing (controlled by the `compactedThisTurn` flag in the caller).
|
|
71
|
+
*/
|
|
72
|
+
private compactInLoopMessages;
|
|
73
|
+
/** Clean up LSP servers and other resources. */
|
|
74
|
+
cleanup(): Promise<void>;
|
|
75
|
+
getWorkspace(): WorkspaceManager;
|
|
76
|
+
getMCPManager(): {
|
|
77
|
+
getServerStatus(): Array<{
|
|
78
|
+
name: string;
|
|
79
|
+
connected: boolean;
|
|
80
|
+
enabled: boolean;
|
|
81
|
+
toolCount: number;
|
|
82
|
+
}>;
|
|
83
|
+
getClient(): {
|
|
84
|
+
getAllTools(): Array<{
|
|
85
|
+
name: string;
|
|
86
|
+
description: string;
|
|
87
|
+
}>;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
resetConversation(): void;
|
|
91
|
+
getConversationHistory(): Message[];
|
|
92
|
+
getConversationManager(): ConversationManager | null | undefined;
|
|
93
|
+
saveConversation(): Promise<string | null>;
|
|
94
|
+
loadConversation(id: string): Promise<void>;
|
|
95
|
+
listConversations(): Promise<Array<{
|
|
96
|
+
id: string;
|
|
97
|
+
title?: string;
|
|
98
|
+
updated: string | number;
|
|
99
|
+
messageCount: number;
|
|
100
|
+
workspace?: string;
|
|
101
|
+
}>>;
|
|
102
|
+
/** Get the code mode indicator for UI display. */
|
|
103
|
+
static get indicator(): string;
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=agent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/code/agent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,OAAO,EAAQ,MAAM,mBAAmB,CAAC;AAiBvD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAkDD,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,iBAAiB,CAAC;IAChC,SAAS,EAAE,gBAAgB,CAAC;IAC5B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAuED,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAoB;IACxC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,mBAAmB,CAAC,CAAsB;IAClD,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,GAAG,CAAa;IACxB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,KAAK,CAAc;gBAEf,MAAM,EAAE,eAAe;IAyBnC;;;;;;;OAOG;IACG,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAkHzC;;;OAGG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,aAAa,CAAC;IAidzF;;;;;;;;;;;;OAYG;YACW,qBAAqB;IA6FnC,gDAAgD;IAC1C,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAS9B,YAAY,IAAI,gBAAgB;IAIhC,aAAa,IAAI;QACf,eAAe,IAAI,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,OAAO,CAAC;YAAC,OAAO,EAAE,OAAO,CAAC;YAAC,SAAS,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpG,SAAS,IAAI;YAAE,WAAW,IAAI,KAAK,CAAC;gBAAE,IAAI,EAAE,MAAM,CAAC;gBAAC,WAAW,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAC;KAC9E;IAgBD,iBAAiB,IAAI,IAAI;IAIzB,sBAAsB,IAAI,OAAO,EAAE;IAInC,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,GAAG,SAAS;IAI1D,gBAAgB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAU1C,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ3C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK7I,kDAAkD;IAClD,MAAM,KAAK,SAAS,IAAI,MAAM,CAE7B;CACF"}
|