@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.
@@ -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;AAmWzC,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;IAOnB;;OAEG;IACG,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,WAAW,CAAC;CA6J3E"}
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 a clarifying question when you need more information.
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 when you need specific information to proceed
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: 'The question to ask the user'
58
+ description: 'Single question to ask the user (legacy format). Use this OR questions, not both.'
32
59
  },
33
60
  options: {
34
- type: 'string',
35
- description: 'Optional array of choices for the user'
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: ['question']
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, context) => {
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: context.conversationId,
231
- userId: context.userId,
232
- metadata: context.metadata
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
- return [
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, metadata, history: providedHistory, signal, shouldContinue } = options;
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
- metadata
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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"}