@tashiscool/agents 0.1.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.
Files changed (46) hide show
  1. package/README.md +186 -0
  2. package/dist/conversation.d.ts +146 -0
  3. package/dist/conversation.d.ts.map +1 -0
  4. package/dist/conversation.js +239 -0
  5. package/dist/conversation.js.map +1 -0
  6. package/dist/events.d.ts +218 -0
  7. package/dist/events.d.ts.map +1 -0
  8. package/dist/events.js +299 -0
  9. package/dist/events.js.map +1 -0
  10. package/dist/executor.d.ts +144 -0
  11. package/dist/executor.d.ts.map +1 -0
  12. package/dist/executor.js +362 -0
  13. package/dist/executor.js.map +1 -0
  14. package/dist/index.d.ts +26 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +27 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/langchain.d.ts +210 -0
  19. package/dist/langchain.d.ts.map +1 -0
  20. package/dist/langchain.js +333 -0
  21. package/dist/langchain.js.map +1 -0
  22. package/dist/mcp.d.ts +208 -0
  23. package/dist/mcp.d.ts.map +1 -0
  24. package/dist/mcp.js +266 -0
  25. package/dist/mcp.js.map +1 -0
  26. package/dist/memory.d.ts +96 -0
  27. package/dist/memory.d.ts.map +1 -0
  28. package/dist/memory.js +248 -0
  29. package/dist/memory.js.map +1 -0
  30. package/dist/oauth.d.ts +158 -0
  31. package/dist/oauth.d.ts.map +1 -0
  32. package/dist/oauth.js +344 -0
  33. package/dist/oauth.js.map +1 -0
  34. package/dist/output.d.ts +262 -0
  35. package/dist/output.d.ts.map +1 -0
  36. package/dist/output.js +249 -0
  37. package/dist/output.js.map +1 -0
  38. package/dist/session.d.ts +212 -0
  39. package/dist/session.d.ts.map +1 -0
  40. package/dist/session.js +347 -0
  41. package/dist/session.js.map +1 -0
  42. package/dist/tools.d.ts +125 -0
  43. package/dist/tools.d.ts.map +1 -0
  44. package/dist/tools.js +195 -0
  45. package/dist/tools.js.map +1 -0
  46. package/package.json +45 -0
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Agent Event Stream
3
+ * Process and handle streaming events from LLM agents
4
+ */
5
+ /**
6
+ * Base event types for agent execution
7
+ */
8
+ export type AgentEventType = 'agent_start' | 'agent_end' | 'agent_error' | 'llm_start' | 'llm_stream' | 'llm_end' | 'llm_error' | 'tool_start' | 'tool_end' | 'tool_error' | 'thinking_start' | 'thinking_end' | 'message_start' | 'message_delta' | 'message_end';
9
+ /**
10
+ * Base agent event
11
+ */
12
+ export interface AgentEvent<T = unknown> {
13
+ /** Event type */
14
+ type: AgentEventType;
15
+ /** Event timestamp */
16
+ timestamp: Date;
17
+ /** Run ID for correlation */
18
+ runId: string;
19
+ /** Parent run ID (for nested operations) */
20
+ parentRunId?: string;
21
+ /** Event payload */
22
+ data: T;
23
+ /** Event metadata */
24
+ metadata?: Record<string, unknown>;
25
+ }
26
+ /**
27
+ * Agent start event data
28
+ */
29
+ export interface AgentStartData {
30
+ agentName: string;
31
+ input: unknown;
32
+ tools?: string[];
33
+ }
34
+ /**
35
+ * Agent end event data
36
+ */
37
+ export interface AgentEndData {
38
+ agentName: string;
39
+ output: unknown;
40
+ durationMs: number;
41
+ }
42
+ /**
43
+ * LLM stream event data
44
+ */
45
+ export interface LlmStreamData {
46
+ model: string;
47
+ delta: string;
48
+ finishReason?: string;
49
+ }
50
+ /**
51
+ * Tool call event data
52
+ */
53
+ export interface ToolCallData {
54
+ toolName: string;
55
+ toolCallId: string;
56
+ arguments: Record<string, unknown>;
57
+ result?: unknown;
58
+ error?: string;
59
+ }
60
+ /**
61
+ * Event handler function
62
+ */
63
+ export type EventHandler<T = unknown> = (event: AgentEvent<T>) => void | Promise<void>;
64
+ /**
65
+ * Event filter function
66
+ */
67
+ export type EventFilter = (event: AgentEvent) => boolean;
68
+ /**
69
+ * Event transformer function
70
+ */
71
+ export type EventTransformer<TIn = unknown, TOut = unknown> = (event: AgentEvent<TIn>) => AgentEvent<TOut> | null;
72
+ /**
73
+ * Event stream processor
74
+ */
75
+ export declare class EventStreamProcessor {
76
+ private handlers;
77
+ private filters;
78
+ private transformers;
79
+ private eventBuffer;
80
+ private bufferSize;
81
+ private isProcessing;
82
+ constructor(options?: {
83
+ bufferSize?: number;
84
+ });
85
+ /**
86
+ * Subscribe to specific event type
87
+ */
88
+ on<T>(type: AgentEventType | '*', handler: EventHandler<T>): () => void;
89
+ /**
90
+ * Subscribe to multiple event types
91
+ */
92
+ onMany(types: AgentEventType[], handler: EventHandler): () => void;
93
+ /**
94
+ * Add event filter
95
+ */
96
+ addFilter(filter: EventFilter): void;
97
+ /**
98
+ * Add event transformer
99
+ */
100
+ addTransformer(transformer: EventTransformer): void;
101
+ /**
102
+ * Process a single event
103
+ */
104
+ process(event: AgentEvent): Promise<void>;
105
+ /**
106
+ * Process multiple events
107
+ */
108
+ processAll(events: AgentEvent[]): Promise<void>;
109
+ /**
110
+ * Get buffered events
111
+ */
112
+ getBuffer(): AgentEvent[];
113
+ /**
114
+ * Get events by type from buffer
115
+ */
116
+ getBufferedByType(type: AgentEventType): AgentEvent[];
117
+ /**
118
+ * Get events by run ID
119
+ */
120
+ getBufferedByRun(runId: string): AgentEvent[];
121
+ /**
122
+ * Clear buffer
123
+ */
124
+ clearBuffer(): void;
125
+ /**
126
+ * Remove all handlers
127
+ */
128
+ removeAllHandlers(): void;
129
+ }
130
+ /**
131
+ * Event emitter for agent execution
132
+ */
133
+ export declare class AgentEventEmitter {
134
+ private processor;
135
+ private currentRunId;
136
+ private parentRunId?;
137
+ private startTime;
138
+ constructor(processor?: EventStreamProcessor, parentRunId?: string);
139
+ /**
140
+ * Get current run ID
141
+ */
142
+ get runId(): string;
143
+ /**
144
+ * Create child emitter for nested operations
145
+ */
146
+ child(): AgentEventEmitter;
147
+ /**
148
+ * Emit an event
149
+ */
150
+ emit<T>(type: AgentEventType, data: T): Promise<void>;
151
+ /**
152
+ * Emit agent start
153
+ */
154
+ agentStart(agentName: string, input: unknown, tools?: string[]): Promise<void>;
155
+ /**
156
+ * Emit agent end
157
+ */
158
+ agentEnd(agentName: string, output: unknown): Promise<void>;
159
+ /**
160
+ * Emit agent error
161
+ */
162
+ agentError(error: Error): Promise<void>;
163
+ /**
164
+ * Emit LLM stream delta
165
+ */
166
+ llmStream(model: string, delta: string, finishReason?: string): Promise<void>;
167
+ /**
168
+ * Emit tool start
169
+ */
170
+ toolStart(toolName: string, toolCallId: string, args: Record<string, unknown>): Promise<void>;
171
+ /**
172
+ * Emit tool end
173
+ */
174
+ toolEnd(toolName: string, toolCallId: string, args: Record<string, unknown>, result: unknown): Promise<void>;
175
+ /**
176
+ * Emit tool error
177
+ */
178
+ toolError(toolName: string, toolCallId: string, args: Record<string, unknown>, error: string): Promise<void>;
179
+ /**
180
+ * Get the processor
181
+ */
182
+ getProcessor(): EventStreamProcessor;
183
+ }
184
+ /**
185
+ * Create an event stream processor
186
+ */
187
+ export declare function createEventProcessor(options?: {
188
+ bufferSize?: number;
189
+ }): EventStreamProcessor;
190
+ /**
191
+ * Create an event emitter
192
+ */
193
+ export declare function createEventEmitter(processor?: EventStreamProcessor): AgentEventEmitter;
194
+ /**
195
+ * Common event filters
196
+ */
197
+ export declare const EventFilters: {
198
+ /** Filter by run ID */
199
+ byRunId: (runId: string) => EventFilter;
200
+ /** Filter by event types */
201
+ byTypes: (types: AgentEventType[]) => EventFilter;
202
+ /** Exclude event types */
203
+ excludeTypes: (types: AgentEventType[]) => EventFilter;
204
+ /** Filter LLM events only */
205
+ llmOnly: () => EventFilter;
206
+ /** Filter tool events only */
207
+ toolOnly: () => EventFilter;
208
+ };
209
+ /**
210
+ * Common event transformers
211
+ */
212
+ export declare const EventTransformers: {
213
+ /** Add metadata to all events */
214
+ addMetadata: (meta: Record<string, unknown>) => EventTransformer;
215
+ /** Redact sensitive data */
216
+ redact: (keys: string[]) => EventTransformer;
217
+ };
218
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
package/dist/events.js ADDED
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Agent Event Stream
3
+ * Process and handle streaming events from LLM agents
4
+ */
5
+ /**
6
+ * Event stream processor
7
+ */
8
+ export class EventStreamProcessor {
9
+ handlers = new Map();
10
+ filters = [];
11
+ transformers = [];
12
+ eventBuffer = [];
13
+ bufferSize;
14
+ isProcessing = false;
15
+ constructor(options = {}) {
16
+ this.bufferSize = options.bufferSize || 100;
17
+ }
18
+ /**
19
+ * Subscribe to specific event type
20
+ */
21
+ on(type, handler) {
22
+ if (!this.handlers.has(type)) {
23
+ this.handlers.set(type, []);
24
+ }
25
+ this.handlers.get(type).push(handler);
26
+ // Return unsubscribe function
27
+ return () => {
28
+ const handlers = this.handlers.get(type);
29
+ if (handlers) {
30
+ const index = handlers.indexOf(handler);
31
+ if (index !== -1) {
32
+ handlers.splice(index, 1);
33
+ }
34
+ }
35
+ };
36
+ }
37
+ /**
38
+ * Subscribe to multiple event types
39
+ */
40
+ onMany(types, handler) {
41
+ const unsubscribes = types.map((type) => this.on(type, handler));
42
+ return () => unsubscribes.forEach((unsub) => unsub());
43
+ }
44
+ /**
45
+ * Add event filter
46
+ */
47
+ addFilter(filter) {
48
+ this.filters.push(filter);
49
+ }
50
+ /**
51
+ * Add event transformer
52
+ */
53
+ addTransformer(transformer) {
54
+ this.transformers.push(transformer);
55
+ }
56
+ /**
57
+ * Process a single event
58
+ */
59
+ async process(event) {
60
+ // Apply filters
61
+ for (const filter of this.filters) {
62
+ if (!filter(event)) {
63
+ return;
64
+ }
65
+ }
66
+ // Apply transformers
67
+ let transformed = event;
68
+ for (const transformer of this.transformers) {
69
+ transformed = transformer(transformed);
70
+ if (!transformed)
71
+ return;
72
+ }
73
+ // Buffer event
74
+ this.eventBuffer.push(transformed);
75
+ if (this.eventBuffer.length > this.bufferSize) {
76
+ this.eventBuffer.shift();
77
+ }
78
+ // Call specific handlers
79
+ const specificHandlers = this.handlers.get(transformed.type) || [];
80
+ for (const handler of specificHandlers) {
81
+ await handler(transformed);
82
+ }
83
+ // Call wildcard handlers
84
+ const wildcardHandlers = this.handlers.get('*') || [];
85
+ for (const handler of wildcardHandlers) {
86
+ await handler(transformed);
87
+ }
88
+ }
89
+ /**
90
+ * Process multiple events
91
+ */
92
+ async processAll(events) {
93
+ for (const event of events) {
94
+ await this.process(event);
95
+ }
96
+ }
97
+ /**
98
+ * Get buffered events
99
+ */
100
+ getBuffer() {
101
+ return [...this.eventBuffer];
102
+ }
103
+ /**
104
+ * Get events by type from buffer
105
+ */
106
+ getBufferedByType(type) {
107
+ return this.eventBuffer.filter((e) => e.type === type);
108
+ }
109
+ /**
110
+ * Get events by run ID
111
+ */
112
+ getBufferedByRun(runId) {
113
+ return this.eventBuffer.filter((e) => e.runId === runId);
114
+ }
115
+ /**
116
+ * Clear buffer
117
+ */
118
+ clearBuffer() {
119
+ this.eventBuffer = [];
120
+ }
121
+ /**
122
+ * Remove all handlers
123
+ */
124
+ removeAllHandlers() {
125
+ this.handlers.clear();
126
+ }
127
+ }
128
+ /**
129
+ * Generate run ID
130
+ */
131
+ function generateRunId() {
132
+ return `run_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
133
+ }
134
+ /**
135
+ * Event emitter for agent execution
136
+ */
137
+ export class AgentEventEmitter {
138
+ processor;
139
+ currentRunId;
140
+ parentRunId;
141
+ startTime;
142
+ constructor(processor, parentRunId) {
143
+ this.processor = processor || new EventStreamProcessor();
144
+ this.currentRunId = generateRunId();
145
+ this.parentRunId = parentRunId;
146
+ this.startTime = Date.now();
147
+ }
148
+ /**
149
+ * Get current run ID
150
+ */
151
+ get runId() {
152
+ return this.currentRunId;
153
+ }
154
+ /**
155
+ * Create child emitter for nested operations
156
+ */
157
+ child() {
158
+ return new AgentEventEmitter(this.processor, this.currentRunId);
159
+ }
160
+ /**
161
+ * Emit an event
162
+ */
163
+ async emit(type, data) {
164
+ const event = {
165
+ type,
166
+ timestamp: new Date(),
167
+ runId: this.currentRunId,
168
+ parentRunId: this.parentRunId,
169
+ data,
170
+ };
171
+ await this.processor.process(event);
172
+ }
173
+ /**
174
+ * Emit agent start
175
+ */
176
+ async agentStart(agentName, input, tools) {
177
+ await this.emit('agent_start', {
178
+ agentName,
179
+ input,
180
+ tools,
181
+ });
182
+ }
183
+ /**
184
+ * Emit agent end
185
+ */
186
+ async agentEnd(agentName, output) {
187
+ await this.emit('agent_end', {
188
+ agentName,
189
+ output,
190
+ durationMs: Date.now() - this.startTime,
191
+ });
192
+ }
193
+ /**
194
+ * Emit agent error
195
+ */
196
+ async agentError(error) {
197
+ await this.emit('agent_error', {
198
+ message: error.message,
199
+ stack: error.stack,
200
+ durationMs: Date.now() - this.startTime,
201
+ });
202
+ }
203
+ /**
204
+ * Emit LLM stream delta
205
+ */
206
+ async llmStream(model, delta, finishReason) {
207
+ await this.emit('llm_stream', {
208
+ model,
209
+ delta,
210
+ finishReason,
211
+ });
212
+ }
213
+ /**
214
+ * Emit tool start
215
+ */
216
+ async toolStart(toolName, toolCallId, args) {
217
+ await this.emit('tool_start', {
218
+ toolName,
219
+ toolCallId,
220
+ arguments: args,
221
+ });
222
+ }
223
+ /**
224
+ * Emit tool end
225
+ */
226
+ async toolEnd(toolName, toolCallId, args, result) {
227
+ await this.emit('tool_end', {
228
+ toolName,
229
+ toolCallId,
230
+ arguments: args,
231
+ result,
232
+ });
233
+ }
234
+ /**
235
+ * Emit tool error
236
+ */
237
+ async toolError(toolName, toolCallId, args, error) {
238
+ await this.emit('tool_error', {
239
+ toolName,
240
+ toolCallId,
241
+ arguments: args,
242
+ error,
243
+ });
244
+ }
245
+ /**
246
+ * Get the processor
247
+ */
248
+ getProcessor() {
249
+ return this.processor;
250
+ }
251
+ }
252
+ /**
253
+ * Create an event stream processor
254
+ */
255
+ export function createEventProcessor(options) {
256
+ return new EventStreamProcessor(options);
257
+ }
258
+ /**
259
+ * Create an event emitter
260
+ */
261
+ export function createEventEmitter(processor) {
262
+ return new AgentEventEmitter(processor);
263
+ }
264
+ /**
265
+ * Common event filters
266
+ */
267
+ export const EventFilters = {
268
+ /** Filter by run ID */
269
+ byRunId: (runId) => (event) => event.runId === runId,
270
+ /** Filter by event types */
271
+ byTypes: (types) => (event) => types.includes(event.type),
272
+ /** Exclude event types */
273
+ excludeTypes: (types) => (event) => !types.includes(event.type),
274
+ /** Filter LLM events only */
275
+ llmOnly: () => (event) => event.type.startsWith('llm_'),
276
+ /** Filter tool events only */
277
+ toolOnly: () => (event) => event.type.startsWith('tool_'),
278
+ };
279
+ /**
280
+ * Common event transformers
281
+ */
282
+ export const EventTransformers = {
283
+ /** Add metadata to all events */
284
+ addMetadata: (meta) => (event) => ({
285
+ ...event,
286
+ metadata: { ...event.metadata, ...meta },
287
+ }),
288
+ /** Redact sensitive data */
289
+ redact: (keys) => (event) => {
290
+ const data = { ...event.data };
291
+ for (const key of keys) {
292
+ if (key in data) {
293
+ data[key] = '[REDACTED]';
294
+ }
295
+ }
296
+ return { ...event, data };
297
+ },
298
+ };
299
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /**
2
+ * Batch Executor
3
+ * Execute multiple tool calls with routing, concurrency control, and error handling
4
+ */
5
+ import type { ToolDefinition, ToolCall, ToolResult } from './tools.js';
6
+ /**
7
+ * Execution priority
8
+ */
9
+ export type ExecutionPriority = 'high' | 'normal' | 'low';
10
+ /**
11
+ * Execution strategy
12
+ */
13
+ export type ExecutionStrategy = 'parallel' | 'sequential' | 'adaptive';
14
+ /**
15
+ * Tool call with execution metadata
16
+ */
17
+ export interface EnhancedToolCall extends ToolCall {
18
+ /** Execution priority */
19
+ priority?: ExecutionPriority;
20
+ /** Timeout in milliseconds */
21
+ timeoutMs?: number;
22
+ /** Number of retries on failure */
23
+ retries?: number;
24
+ /** Dependencies (tool call IDs that must complete first) */
25
+ dependsOn?: string[];
26
+ }
27
+ /**
28
+ * Enhanced tool result
29
+ */
30
+ export interface EnhancedToolResult extends ToolResult {
31
+ /** Execution duration in milliseconds */
32
+ durationMs: number;
33
+ /** Number of retries attempted */
34
+ retriesAttempted: number;
35
+ /** Whether result is from cache */
36
+ cached: boolean;
37
+ }
38
+ /**
39
+ * Batch execution options
40
+ */
41
+ export interface BatchExecutionOptions {
42
+ /** Maximum concurrent executions */
43
+ maxConcurrency?: number;
44
+ /** Default timeout per tool call */
45
+ defaultTimeoutMs?: number;
46
+ /** Default number of retries */
47
+ defaultRetries?: number;
48
+ /** Execution strategy */
49
+ strategy?: ExecutionStrategy;
50
+ /** Stop on first error */
51
+ stopOnError?: boolean;
52
+ /** Cache results */
53
+ enableCache?: boolean;
54
+ /** Cache TTL in milliseconds */
55
+ cacheTtlMs?: number;
56
+ }
57
+ /**
58
+ * Execution progress callback
59
+ */
60
+ export type ProgressCallback = (progress: {
61
+ completed: number;
62
+ total: number;
63
+ current?: EnhancedToolCall;
64
+ result?: EnhancedToolResult;
65
+ }) => void;
66
+ /**
67
+ * Tool router for dynamic tool selection
68
+ */
69
+ export interface ToolRouter {
70
+ /** Route a tool call to the appropriate tool */
71
+ route(call: ToolCall): ToolDefinition | undefined;
72
+ /** Check if a tool is available */
73
+ hasRoute(toolName: string): boolean;
74
+ /** List all available routes */
75
+ listRoutes(): string[];
76
+ }
77
+ /**
78
+ * Simple tool router implementation
79
+ */
80
+ export declare class SimpleToolRouter implements ToolRouter {
81
+ private tools;
82
+ private aliases;
83
+ /**
84
+ * Register a tool
85
+ */
86
+ register(tool: ToolDefinition): void;
87
+ /**
88
+ * Register multiple tools
89
+ */
90
+ registerAll(tools: ToolDefinition[]): void;
91
+ /**
92
+ * Add an alias for a tool
93
+ */
94
+ addAlias(alias: string, toolName: string): void;
95
+ route(call: ToolCall): ToolDefinition | undefined;
96
+ hasRoute(toolName: string): boolean;
97
+ listRoutes(): string[];
98
+ }
99
+ /**
100
+ * Batch executor for tool calls
101
+ */
102
+ export declare class BatchExecutor {
103
+ private router;
104
+ private options;
105
+ private cache?;
106
+ constructor(router: ToolRouter, options?: BatchExecutionOptions);
107
+ /**
108
+ * Execute a single tool call
109
+ */
110
+ executeOne(call: EnhancedToolCall): Promise<EnhancedToolResult>;
111
+ /**
112
+ * Execute multiple tool calls
113
+ */
114
+ execute(calls: EnhancedToolCall[], onProgress?: ProgressCallback): Promise<EnhancedToolResult[]>;
115
+ /**
116
+ * Execute sequentially
117
+ */
118
+ private executeSequential;
119
+ /**
120
+ * Execute in parallel with concurrency limit
121
+ */
122
+ private executeParallel;
123
+ /**
124
+ * Adaptive execution based on dependencies
125
+ */
126
+ private executeAdaptive;
127
+ /**
128
+ * Clear cache
129
+ */
130
+ clearCache(): void;
131
+ /**
132
+ * Cleanup expired cache entries
133
+ */
134
+ cleanupCache(): number;
135
+ }
136
+ /**
137
+ * Create a batch executor
138
+ */
139
+ export declare function createBatchExecutor(tools: ToolDefinition[], options?: BatchExecutionOptions): BatchExecutor;
140
+ /**
141
+ * Create a batch executor with custom router
142
+ */
143
+ export declare function createBatchExecutorWithRouter(router: ToolRouter, options?: BatchExecutionOptions): BatchExecutor;
144
+ //# sourceMappingURL=executor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}