@alexnetrebskii/hive-agent 0.16.0 → 0.17.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;AAqWzC,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,10 +3,11 @@
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
  */
@@ -147,7 +148,7 @@ Usage:
147
148
  properties: combinedProperties,
148
149
  required: ['agent']
149
150
  },
150
- execute: async (params, context) => {
151
+ execute: async (params, toolCtx) => {
151
152
  const { agent: agentName, ...inputParams } = params;
152
153
  const agentConfig = agents.find(a => a.name === agentName);
153
154
  if (!agentConfig) {
@@ -227,9 +228,10 @@ Usage:
227
228
  // Pass trace builder for nested tracing
228
229
  _traceBuilder: parentTraceBuilder,
229
230
  // Pass context to sub-agent so its tools receive the same context
230
- conversationId: context.conversationId,
231
- userId: context.userId,
232
- metadata: context.metadata
231
+ conversationId: toolCtx.conversationId,
232
+ userId: toolCtx.userId,
233
+ // Pass context so sub-agent can read/write to same context
234
+ context: toolCtx.context
233
235
  });
234
236
  // End sub-agent span in trace
235
237
  if (parentTraceBuilder) {
@@ -402,17 +404,22 @@ export class Hive {
402
404
  /**
403
405
  * Get tools including internal tools for a specific run
404
406
  */
405
- getRunTools(todoManager) {
406
- return [
407
+ getRunTools(todoManager, context, agentName) {
408
+ const tools = [
407
409
  ...this.tools,
408
410
  createTodoTool(todoManager)
409
411
  ];
412
+ // Add context tools if Context is provided
413
+ if (context) {
414
+ tools.push(...createContextTools(context, agentName));
415
+ }
416
+ return tools;
410
417
  }
411
418
  /**
412
419
  * Run the agent with a user message
413
420
  */
414
421
  async run(message, options = {}) {
415
- const { conversationId, userId, metadata, history: providedHistory, signal, shouldContinue } = options;
422
+ const { conversationId, userId, history: providedHistory, signal, shouldContinue, context } = options;
416
423
  // Load history from repository or use provided
417
424
  let history = [];
418
425
  if (providedHistory) {
@@ -483,7 +490,7 @@ export class Hive {
483
490
  remainingTokens: this.contextManager.getRemainingTokens(),
484
491
  conversationId,
485
492
  userId,
486
- metadata
493
+ context
487
494
  };
488
495
  // Create or use existing trace builder
489
496
  // If _traceBuilder is passed (from parent agent), use it
@@ -496,7 +503,7 @@ export class Hive {
496
503
  // Execute the agent loop
497
504
  const result = await executeLoop({
498
505
  systemPrompt: this.config.systemPrompt,
499
- tools: this.getRunTools(todoManager),
506
+ tools: this.getRunTools(todoManager, context, this.config.agentName),
500
507
  llm: this.config.llm,
501
508
  logger: this.config.logger,
502
509
  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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"}
package/dist/context.d.ts CHANGED
@@ -1,52 +1,236 @@
1
1
  /**
2
- * Context Management
2
+ * Context - A virtual filesystem for agent communication
3
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
4
+ * Enables tools and sub-agents to read/write shared data without passing
5
+ * content through return values. Similar to how Claude Code uses the
6
+ * actual filesystem for agent coordination.
7
+ *
8
+ * Usage:
9
+ * ```typescript
10
+ * const context = new Context({
11
+ * schemas: {
12
+ * 'plan/current': {
13
+ * type: 'object',
14
+ * properties: {
15
+ * title: { type: 'string' },
16
+ * days: { type: 'array' }
17
+ * },
18
+ * required: ['title', 'days']
19
+ * }
20
+ * }
21
+ * })
22
+ *
23
+ * // Pre-populate before run
24
+ * context.write('user/preferences', { theme: 'dark' })
25
+ *
26
+ * const result = await hive.run(message, { context })
27
+ *
28
+ * // Read results after run (validated against schema)
29
+ * const plan = context.read('plan/current')
30
+ * ```
25
31
  */
26
- export declare function truncateOldMessages(messages: Message[], maxTokens: number, preserveFirst?: number): Message[];
32
+ import type { JSONSchema } from './types.js';
33
+ export interface ContextEntry {
34
+ value: unknown;
35
+ createdAt: number;
36
+ updatedAt: number;
37
+ /** Optional metadata about who wrote this entry */
38
+ writtenBy?: string;
39
+ }
40
+ export interface ContextListItem {
41
+ path: string;
42
+ updatedAt: number;
43
+ writtenBy?: string;
44
+ /** Preview of value (for objects: type, for primitives: value) */
45
+ preview: string;
46
+ }
47
+ /** Custom validator function */
48
+ export type ValidatorFn = (value: unknown) => ValidationError[] | null;
49
+ /** Zod-like schema interface (duck typing to avoid hard dependency) */
50
+ export interface ZodLike {
51
+ safeParse(value: unknown): {
52
+ success: true;
53
+ data: unknown;
54
+ } | {
55
+ success: false;
56
+ error: {
57
+ errors: Array<{
58
+ path: (string | number)[];
59
+ message: string;
60
+ }>;
61
+ };
62
+ };
63
+ }
64
+ export interface ContextSchema {
65
+ /** JSON Schema for validation (use for .schema paths) */
66
+ schema?: JSONSchema;
67
+ /** Custom validator function (use for .validate paths) */
68
+ validate?: ValidatorFn;
69
+ /** Zod schema for validation (use for .zod paths) */
70
+ zod?: ZodLike;
71
+ /** Description shown to AI about what this path expects */
72
+ description?: string;
73
+ }
74
+ export interface ContextConfig {
75
+ /**
76
+ * Validators for context paths. Extension in path determines validation:
77
+ *
78
+ * Format extensions (basic validation):
79
+ * - 'path/name.json' → validates valid JSON object/array
80
+ * - 'path/name.md' → validates string (markdown)
81
+ * - 'path/name.txt' → validates string
82
+ * - 'path/name.num' → validates number
83
+ * - 'path/name.bool' → validates boolean
84
+ *
85
+ * Schema extensions (with validator value):
86
+ * - 'path/name.schema' → JSON Schema validation
87
+ * - 'path/name.zod' → Zod schema validation
88
+ * - 'path/name.validate' → Custom validator function
89
+ */
90
+ validators?: Record<string, JSONSchema | ValidatorFn | ZodLike | ContextSchema | null>;
91
+ }
92
+ export interface ValidationError {
93
+ path: string;
94
+ message: string;
95
+ expected?: string;
96
+ received?: string;
97
+ }
98
+ export interface WriteResult {
99
+ success: boolean;
100
+ errors?: ValidationError[];
101
+ }
102
+ /** Supported format extensions */
103
+ type FormatExt = 'json' | 'md' | 'txt' | 'num' | 'bool';
104
+ type SchemaExt = 'schema' | 'zod' | 'validate';
105
+ type ValidatorType = FormatExt | SchemaExt;
27
106
  /**
28
- * Context manager for tracking token usage during execution
107
+ * Context provides a virtual filesystem for agent communication
29
108
  */
30
- export declare class ContextManager {
31
- private maxTokens;
32
- private strategy;
33
- private currentTokens;
34
- constructor(maxTokens?: number, strategy?: ContextStrategy);
109
+ export declare class Context {
110
+ private data;
111
+ private validators;
112
+ /** Extension to type mapping */
113
+ private static readonly EXT_MAP;
114
+ constructor(config?: ContextConfig);
115
+ /**
116
+ * Register a validator for a path (can also be called after construction)
117
+ *
118
+ * For paths with format extensions (.json, .md, etc.), the validator adds
119
+ * additional validation on top of the basic format check.
120
+ *
121
+ * @example
122
+ * // Basic format validation only
123
+ * context.registerValidator('data/config.json', null)
124
+ *
125
+ * // Format + JSON Schema validation
126
+ * context.registerValidator('data/config.json', { type: 'object', properties: {...} })
127
+ *
128
+ * // Format + Zod validation
129
+ * context.registerValidator('data/user.json', z.object({ name: z.string() }))
130
+ */
131
+ registerValidator(key: string, value: JSONSchema | ValidatorFn | ZodLike | ContextSchema | null): void;
132
+ /** Parse path and extension */
133
+ private parsePathExt;
134
+ /** Check if extension is a format type */
135
+ private isFormatExt;
136
+ /** Check if value looks like a Zod schema */
137
+ private isZodLike;
138
+ /**
139
+ * Write a value to the context at the given path
140
+ *
141
+ * @param path - Dot-separated path (e.g., 'meals.today', 'user.preferences')
142
+ * @param value - Any JSON-serializable value
143
+ * @param writtenBy - Optional identifier of who wrote this (tool name, agent name)
144
+ * @returns WriteResult with success status and any validation errors
145
+ */
146
+ write(path: string, value: unknown, writtenBy?: string): WriteResult;
147
+ /**
148
+ * Get validator info for a path
149
+ */
150
+ getValidator(path: string): {
151
+ type: ValidatorType;
152
+ schema?: JSONSchema;
153
+ description?: string;
154
+ } | undefined;
35
155
  /**
36
- * Update current token count
156
+ * Get schema for a path (if JSON schema validator)
37
157
  */
38
- updateTokenCount(messages: Message[]): void;
158
+ getSchema(path: string): JSONSchema | undefined;
39
159
  /**
40
- * Get remaining tokens available
160
+ * Get validator description for a path
41
161
  */
42
- getRemainingTokens(): number;
162
+ getValidatorDescription(path: string): string | undefined;
43
163
  /**
44
- * Check if context is within limits
164
+ * Get all paths with validators
45
165
  */
46
- isWithinLimits(): boolean;
166
+ getValidatorPaths(): string[];
47
167
  /**
48
- * Manage context according to strategy
168
+ * Validate a value against a JSON schema
49
169
  */
50
- manageContext(messages: Message[]): Message[];
170
+ private validateSchema;
171
+ /**
172
+ * Validate a single property
173
+ */
174
+ private validateProperty;
175
+ /**
176
+ * Validate a value using Zod schema
177
+ */
178
+ private validateZod;
179
+ /**
180
+ * Validate a value against a format extension
181
+ */
182
+ private validateFormat;
183
+ /**
184
+ * Read a value from the context
185
+ *
186
+ * @param path - Path to read from
187
+ * @returns The value, or undefined if not found
188
+ */
189
+ read<T = unknown>(path: string): T | undefined;
190
+ /**
191
+ * Check if a path exists in the context
192
+ */
193
+ has(path: string): boolean;
194
+ /**
195
+ * Delete a path from the context
196
+ */
197
+ delete(path: string): boolean;
198
+ /**
199
+ * List all paths, optionally filtered by prefix
200
+ *
201
+ * @param prefix - Optional prefix to filter paths (e.g., 'meals' lists 'meals.today', 'meals.yesterday')
202
+ * @returns Array of context items with metadata
203
+ */
204
+ list(prefix?: string): ContextListItem[];
205
+ /**
206
+ * Get all paths (just the keys, no metadata)
207
+ */
208
+ keys(prefix?: string): string[];
209
+ /**
210
+ * Clear all data from the context
211
+ */
212
+ clear(): void;
213
+ /**
214
+ * Get the full entry with metadata
215
+ */
216
+ getEntry(path: string): ContextEntry | undefined;
217
+ /**
218
+ * Export all data as a plain object
219
+ */
220
+ toObject(): Record<string, unknown>;
221
+ /**
222
+ * Import data from a plain object
223
+ */
224
+ fromObject(obj: Record<string, unknown>, writtenBy?: string): void;
225
+ /**
226
+ * Get number of entries
227
+ */
228
+ get size(): number;
229
+ private getPreview;
51
230
  }
231
+ /**
232
+ * Create context tools for agents to interact with Context
233
+ */
234
+ export declare function createContextTools(context: Context, agentName?: string): import('./types.js').Tool[];
235
+ export {};
52
236
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.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"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,gCAAgC;AAChC,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,OAAO,KAAK,eAAe,EAAE,GAAG,IAAI,CAAA;AAEtE,uEAAuE;AACvE,MAAM,WAAW,OAAO;IACtB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG;QAAE,OAAO,EAAE,IAAI,CAAC;QAAC,IAAI,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,OAAO,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE;YAAE,MAAM,EAAE,KAAK,CAAC;gBAAE,IAAI,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,CAAC,CAAA;SAAE,CAAA;KAAE,CAAA;CAC3J;AAED,MAAM,WAAW,aAAa;IAC5B,yDAAyD;IACzD,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,WAAW,CAAA;IACtB,qDAAqD;IACrD,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,GAAG,IAAI,CAAC,CAAA;CACvF;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,eAAe,EAAE,CAAA;CAC3B;AAED,kCAAkC;AAClC,KAAK,SAAS,GAAG,MAAM,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AACvD,KAAK,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAA;AAC9C,KAAK,aAAa,GAAG,SAAS,GAAG,SAAS,CAAA;AAU1C;;GAEG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,IAAI,CAAuC;IACnD,OAAO,CAAC,UAAU,CAAyC;IAE3D,gCAAgC;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAS9B;gBAEW,MAAM,CAAC,EAAE,aAAa;IAQlC;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,aAAa,GAAG,IAAI,GAAG,IAAI;IA4BtG,+BAA+B;IAC/B,OAAO,CAAC,YAAY;IASpB,0CAA0C;IAC1C,OAAO,CAAC,WAAW;IAInB,6CAA6C;IAC7C,OAAO,CAAC,SAAS;IASjB;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,WAAW;IA4CpE;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,aAAa,CAAC;QAAC,MAAM,CAAC,EAAE,UAAU,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS;IAM1G;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAK/C;;OAEG;IACH,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkExB;;OAEG;IACH,OAAO,CAAC,WAAW;IAanB;;OAEG;IACH,OAAO,CAAC,cAAc;IAwDtB;;;;;OAKG;IACH,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;IAI9C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B;;OAEG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B;;;;;OAKG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,eAAe,EAAE;IAoBxC;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAS/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIhD;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQnC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAMlE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,OAAO,CAAC,UAAU;CA6BnB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,YAAY,EAAE,IAAI,EAAE,CAyKpG"}