@alexnetrebskii/hive-agent 0.16.0 → 0.18.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/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +57 -20
- package/dist/agent.js.map +1 -1
- package/dist/context-manager.d.ts +52 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +124 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/context.d.ts +221 -37
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +627 -99
- package/dist/context.js.map +1 -1
- package/dist/executor.d.ts +1 -1
- package/dist/executor.d.ts.map +1 -1
- package/dist/executor.js +30 -7
- package/dist/executor.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +36 -3
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAGV,UAAU,EACV,WAAW,EAIZ,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EAGV,UAAU,EACV,WAAW,EAIZ,MAAM,YAAY,CAAA;AAInB,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAmYzC,0BAA0B;AAC1B,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE;IACjC,WAAW,EAAE,MAAM,CAAA;IACnB,YAAY,EAAE,MAAM,CAAA;IACpB,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,KAAK,EAAE,MAAM,CAAA;CACd,CAAC,CAAA;AAEF;;GAEG;AACH,qBAAa,IAAI;IACf,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,KAAK,CAAQ;IACrB,kEAAkE;IAClE,OAAO,CAAC,aAAa,CAAmB;IACxC,oEAAoE;IACpE,OAAO,CAAC,mBAAmB,CAAC,CAAc;gBAE9B,MAAM,EAAE,UAAU;IA2B9B;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAoBzD;;OAEG;IACH,wBAAwB,IAAI,YAAY;IAMxC;;OAEG;IACH,sBAAsB,IAAI,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACH,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/D;;OAEG;IACH,OAAO,CAAC,WAAW;IAcnB;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CA6J3E"}
|
package/dist/agent.js
CHANGED
|
@@ -3,39 +3,70 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Main agent class that orchestrates tool execution, sub-agents, and context management.
|
|
5
5
|
*/
|
|
6
|
-
import { ContextManager } from './context.js';
|
|
6
|
+
import { ContextManager } from './context-manager.js';
|
|
7
7
|
import { executeLoop } from './executor.js';
|
|
8
8
|
import { TodoManager, createTodoTool } from './todo.js';
|
|
9
9
|
import { TraceBuilder } from './trace.js';
|
|
10
|
+
import { createContextTools } from './context.js';
|
|
10
11
|
/**
|
|
11
12
|
* Create the __ask_user__ tool
|
|
12
13
|
*/
|
|
13
14
|
function createAskUserTool() {
|
|
14
15
|
return {
|
|
15
16
|
name: '__ask_user__',
|
|
16
|
-
description: `Ask the user
|
|
17
|
+
description: `Ask the user clarifying question(s) when you need more information.
|
|
18
|
+
|
|
19
|
+
Supports two formats:
|
|
20
|
+
|
|
21
|
+
1. Single question (legacy):
|
|
22
|
+
{ "question": "Which database?", "options": ["PostgreSQL", "MySQL"] }
|
|
23
|
+
|
|
24
|
+
2. Multiple questions with rich options:
|
|
25
|
+
{
|
|
26
|
+
"questions": [
|
|
27
|
+
{
|
|
28
|
+
"question": "Which database should we use?",
|
|
29
|
+
"header": "Database",
|
|
30
|
+
"options": [
|
|
31
|
+
{ "label": "PostgreSQL", "description": "Best for complex queries" },
|
|
32
|
+
{ "label": "MongoDB", "description": "Best for flexible schemas" }
|
|
33
|
+
],
|
|
34
|
+
"multiSelect": false
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"question": "Which features do you need?",
|
|
38
|
+
"header": "Features",
|
|
39
|
+
"options": [
|
|
40
|
+
{ "label": "Auth", "description": "User authentication" },
|
|
41
|
+
{ "label": "Cache", "description": "Redis caching layer" }
|
|
42
|
+
],
|
|
43
|
+
"multiSelect": true
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
17
47
|
|
|
18
48
|
Usage:
|
|
19
49
|
- Use when requirements are ambiguous
|
|
20
50
|
- Use when you need the user to make a decision
|
|
21
|
-
- Use
|
|
22
|
-
|
|
23
|
-
Examples:
|
|
24
|
-
- { "question": "Which database should I use?", "options": ["PostgreSQL", "MySQL", "MongoDB"] }
|
|
25
|
-
- { "question": "What is the target directory for the output files?" }`,
|
|
51
|
+
- Use questions array for multiple related decisions
|
|
52
|
+
- Use multiSelect: true when choices aren't mutually exclusive`,
|
|
26
53
|
parameters: {
|
|
27
54
|
type: 'object',
|
|
28
55
|
properties: {
|
|
29
56
|
question: {
|
|
30
57
|
type: 'string',
|
|
31
|
-
description: '
|
|
58
|
+
description: 'Single question to ask the user (legacy format). Use this OR questions, not both.'
|
|
32
59
|
},
|
|
33
60
|
options: {
|
|
34
|
-
type: '
|
|
35
|
-
description: 'Optional array of choices for
|
|
61
|
+
type: 'array',
|
|
62
|
+
description: 'Optional array of choices for single question (legacy format)'
|
|
63
|
+
},
|
|
64
|
+
questions: {
|
|
65
|
+
type: 'array',
|
|
66
|
+
description: 'Array of 1-4 questions for multi-question format. Each item has: question (string), header (short label), options (array of {label, description}), multiSelect (boolean). Use this OR question, not both.'
|
|
36
67
|
}
|
|
37
68
|
},
|
|
38
|
-
required: [
|
|
69
|
+
required: []
|
|
39
70
|
},
|
|
40
71
|
execute: async () => {
|
|
41
72
|
// This tool is handled specially in the executor
|
|
@@ -147,7 +178,7 @@ Usage:
|
|
|
147
178
|
properties: combinedProperties,
|
|
148
179
|
required: ['agent']
|
|
149
180
|
},
|
|
150
|
-
execute: async (params,
|
|
181
|
+
execute: async (params, toolCtx) => {
|
|
151
182
|
const { agent: agentName, ...inputParams } = params;
|
|
152
183
|
const agentConfig = agents.find(a => a.name === agentName);
|
|
153
184
|
if (!agentConfig) {
|
|
@@ -227,9 +258,10 @@ Usage:
|
|
|
227
258
|
// Pass trace builder for nested tracing
|
|
228
259
|
_traceBuilder: parentTraceBuilder,
|
|
229
260
|
// Pass context to sub-agent so its tools receive the same context
|
|
230
|
-
conversationId:
|
|
231
|
-
userId:
|
|
232
|
-
|
|
261
|
+
conversationId: toolCtx.conversationId,
|
|
262
|
+
userId: toolCtx.userId,
|
|
263
|
+
// Pass context so sub-agent can read/write to same context
|
|
264
|
+
context: toolCtx.context
|
|
233
265
|
});
|
|
234
266
|
// End sub-agent span in trace
|
|
235
267
|
if (parentTraceBuilder) {
|
|
@@ -402,17 +434,22 @@ export class Hive {
|
|
|
402
434
|
/**
|
|
403
435
|
* Get tools including internal tools for a specific run
|
|
404
436
|
*/
|
|
405
|
-
getRunTools(todoManager) {
|
|
406
|
-
|
|
437
|
+
getRunTools(todoManager, context, agentName) {
|
|
438
|
+
const tools = [
|
|
407
439
|
...this.tools,
|
|
408
440
|
createTodoTool(todoManager)
|
|
409
441
|
];
|
|
442
|
+
// Add context tools if Context is provided
|
|
443
|
+
if (context) {
|
|
444
|
+
tools.push(...createContextTools(context, agentName));
|
|
445
|
+
}
|
|
446
|
+
return tools;
|
|
410
447
|
}
|
|
411
448
|
/**
|
|
412
449
|
* Run the agent with a user message
|
|
413
450
|
*/
|
|
414
451
|
async run(message, options = {}) {
|
|
415
|
-
const { conversationId, userId,
|
|
452
|
+
const { conversationId, userId, history: providedHistory, signal, shouldContinue, context } = options;
|
|
416
453
|
// Load history from repository or use provided
|
|
417
454
|
let history = [];
|
|
418
455
|
if (providedHistory) {
|
|
@@ -483,7 +520,7 @@ export class Hive {
|
|
|
483
520
|
remainingTokens: this.contextManager.getRemainingTokens(),
|
|
484
521
|
conversationId,
|
|
485
522
|
userId,
|
|
486
|
-
|
|
523
|
+
context
|
|
487
524
|
};
|
|
488
525
|
// Create or use existing trace builder
|
|
489
526
|
// If _traceBuilder is passed (from parent agent), use it
|
|
@@ -496,7 +533,7 @@ export class Hive {
|
|
|
496
533
|
// Execute the agent loop
|
|
497
534
|
const result = await executeLoop({
|
|
498
535
|
systemPrompt: this.config.systemPrompt,
|
|
499
|
-
tools: this.getRunTools(todoManager),
|
|
536
|
+
tools: this.getRunTools(todoManager, context, this.config.agentName),
|
|
500
537
|
llm: this.config.llm,
|
|
501
538
|
logger: this.config.logger,
|
|
502
539
|
maxIterations: this.config.maxIterations,
|
package/dist/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Management
|
|
3
|
+
*
|
|
4
|
+
* Token estimation and context management utilities.
|
|
5
|
+
*/
|
|
6
|
+
import type { Message, ContentBlock, ContextStrategy } from './types.js';
|
|
7
|
+
/**
|
|
8
|
+
* Estimate token count from text (approximately 4 chars per token)
|
|
9
|
+
*/
|
|
10
|
+
export declare function estimateTokens(text: string): number;
|
|
11
|
+
/**
|
|
12
|
+
* Estimate tokens for a message
|
|
13
|
+
*/
|
|
14
|
+
export declare function estimateMessageTokens(message: Message): number;
|
|
15
|
+
/**
|
|
16
|
+
* Estimate tokens for a content block
|
|
17
|
+
*/
|
|
18
|
+
export declare function estimateContentBlockTokens(block: ContentBlock): number;
|
|
19
|
+
/**
|
|
20
|
+
* Estimate total tokens for all messages
|
|
21
|
+
*/
|
|
22
|
+
export declare function estimateTotalTokens(messages: Message[]): number;
|
|
23
|
+
/**
|
|
24
|
+
* Truncate old messages to fit within token limit
|
|
25
|
+
*/
|
|
26
|
+
export declare function truncateOldMessages(messages: Message[], maxTokens: number, preserveFirst?: number): Message[];
|
|
27
|
+
/**
|
|
28
|
+
* Context manager for tracking token usage during execution
|
|
29
|
+
*/
|
|
30
|
+
export declare class ContextManager {
|
|
31
|
+
private maxTokens;
|
|
32
|
+
private strategy;
|
|
33
|
+
private currentTokens;
|
|
34
|
+
constructor(maxTokens?: number, strategy?: ContextStrategy);
|
|
35
|
+
/**
|
|
36
|
+
* Update current token count
|
|
37
|
+
*/
|
|
38
|
+
updateTokenCount(messages: Message[]): void;
|
|
39
|
+
/**
|
|
40
|
+
* Get remaining tokens available
|
|
41
|
+
*/
|
|
42
|
+
getRemainingTokens(): number;
|
|
43
|
+
/**
|
|
44
|
+
* Check if context is within limits
|
|
45
|
+
*/
|
|
46
|
+
isWithinLimits(): boolean;
|
|
47
|
+
/**
|
|
48
|
+
* Manage context according to strategy
|
|
49
|
+
*/
|
|
50
|
+
manageContext(messages: Message[]): Message[];
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=context-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.d.ts","sourceRoot":"","sources":["../src/context-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAExE;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQ9D;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,YAAY,GAAG,MAAM,CAatE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,aAAa,GAAE,MAAU,GACxB,OAAO,EAAE,CA2BX;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,aAAa,CAAY;gBAErB,SAAS,GAAE,MAAe,EAAE,QAAQ,GAAE,eAAgC;IAKlF;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAI3C;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAI5B;;OAEG;IACH,cAAc,IAAI,OAAO;IAIzB;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE;CAmB9C"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Management
|
|
3
|
+
*
|
|
4
|
+
* Token estimation and context management utilities.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Estimate token count from text (approximately 4 chars per token)
|
|
8
|
+
*/
|
|
9
|
+
export function estimateTokens(text) {
|
|
10
|
+
return Math.ceil(text.length / 4);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Estimate tokens for a message
|
|
14
|
+
*/
|
|
15
|
+
export function estimateMessageTokens(message) {
|
|
16
|
+
if (typeof message.content === 'string') {
|
|
17
|
+
return estimateTokens(message.content);
|
|
18
|
+
}
|
|
19
|
+
return message.content.reduce((sum, block) => {
|
|
20
|
+
return sum + estimateContentBlockTokens(block);
|
|
21
|
+
}, 0);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Estimate tokens for a content block
|
|
25
|
+
*/
|
|
26
|
+
export function estimateContentBlockTokens(block) {
|
|
27
|
+
switch (block.type) {
|
|
28
|
+
case 'text':
|
|
29
|
+
return estimateTokens(block.text);
|
|
30
|
+
case 'thinking':
|
|
31
|
+
return estimateTokens(block.thinking);
|
|
32
|
+
case 'tool_use':
|
|
33
|
+
return estimateTokens(block.name) + estimateTokens(JSON.stringify(block.input));
|
|
34
|
+
case 'tool_result':
|
|
35
|
+
return estimateTokens(block.content);
|
|
36
|
+
default:
|
|
37
|
+
return 0;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Estimate total tokens for all messages
|
|
42
|
+
*/
|
|
43
|
+
export function estimateTotalTokens(messages) {
|
|
44
|
+
return messages.reduce((sum, msg) => sum + estimateMessageTokens(msg), 0);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Truncate old messages to fit within token limit
|
|
48
|
+
*/
|
|
49
|
+
export function truncateOldMessages(messages, maxTokens, preserveFirst = 1) {
|
|
50
|
+
if (messages.length <= preserveFirst) {
|
|
51
|
+
return messages;
|
|
52
|
+
}
|
|
53
|
+
const result = [];
|
|
54
|
+
let totalTokens = 0;
|
|
55
|
+
// Always preserve first N messages (usually system context)
|
|
56
|
+
for (let i = 0; i < preserveFirst && i < messages.length; i++) {
|
|
57
|
+
result.push(messages[i]);
|
|
58
|
+
totalTokens += estimateMessageTokens(messages[i]);
|
|
59
|
+
}
|
|
60
|
+
// Add messages from the end until we hit the limit
|
|
61
|
+
const remaining = [];
|
|
62
|
+
for (let i = messages.length - 1; i >= preserveFirst; i--) {
|
|
63
|
+
const msgTokens = estimateMessageTokens(messages[i]);
|
|
64
|
+
if (totalTokens + msgTokens <= maxTokens) {
|
|
65
|
+
remaining.unshift(messages[i]);
|
|
66
|
+
totalTokens += msgTokens;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return [...result, ...remaining];
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Context manager for tracking token usage during execution
|
|
76
|
+
*/
|
|
77
|
+
export class ContextManager {
|
|
78
|
+
maxTokens;
|
|
79
|
+
strategy;
|
|
80
|
+
currentTokens = 0;
|
|
81
|
+
constructor(maxTokens = 100000, strategy = 'truncate_old') {
|
|
82
|
+
this.maxTokens = maxTokens;
|
|
83
|
+
this.strategy = strategy;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Update current token count
|
|
87
|
+
*/
|
|
88
|
+
updateTokenCount(messages) {
|
|
89
|
+
this.currentTokens = estimateTotalTokens(messages);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get remaining tokens available
|
|
93
|
+
*/
|
|
94
|
+
getRemainingTokens() {
|
|
95
|
+
return Math.max(0, this.maxTokens - this.currentTokens);
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Check if context is within limits
|
|
99
|
+
*/
|
|
100
|
+
isWithinLimits() {
|
|
101
|
+
return this.currentTokens <= this.maxTokens;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Manage context according to strategy
|
|
105
|
+
*/
|
|
106
|
+
manageContext(messages) {
|
|
107
|
+
this.updateTokenCount(messages);
|
|
108
|
+
if (this.isWithinLimits()) {
|
|
109
|
+
return messages;
|
|
110
|
+
}
|
|
111
|
+
switch (this.strategy) {
|
|
112
|
+
case 'truncate_old':
|
|
113
|
+
return truncateOldMessages(messages, this.maxTokens);
|
|
114
|
+
case 'summarize':
|
|
115
|
+
// Summarization would require LLM call - for now, fall back to truncation
|
|
116
|
+
return truncateOldMessages(messages, this.maxTokens);
|
|
117
|
+
case 'error':
|
|
118
|
+
throw new Error(`Context limit exceeded: ${this.currentTokens} > ${this.maxTokens} tokens`);
|
|
119
|
+
default:
|
|
120
|
+
return messages;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=context-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-manager.js","sourceRoot":"","sources":["../src/context-manager.ts"],"names":[],"mappings":"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"}
|