@defai.digital/ax-cli 3.6.2 → 3.7.2

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":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Progress Reporter - Shared event system for AX <-> ax-cli integration
3
+ *
4
+ * Allows AutomatosX agents to report progress to ax-cli UI in real-time.
5
+ * This creates a unified progress visibility system across both applications.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ /**
9
+ * Progress event types
10
+ */
11
+ export declare enum ProgressEventType {
12
+ /** Agent started a new task */
13
+ TASK_START = "task_start",
14
+ /** Agent made progress on current task */
15
+ TASK_PROGRESS = "task_progress",
16
+ /** Agent completed a task */
17
+ TASK_COMPLETE = "task_complete",
18
+ /** Agent encountered an error */
19
+ TASK_ERROR = "task_error",
20
+ /** Tool execution started */
21
+ TOOL_START = "tool_start",
22
+ /** Tool execution completed */
23
+ TOOL_COMPLETE = "tool_complete",
24
+ /** General status update */
25
+ STATUS_UPDATE = "status_update"
26
+ }
27
+ /**
28
+ * Progress event data
29
+ */
30
+ export interface ProgressEvent {
31
+ /** Event type */
32
+ type: ProgressEventType;
33
+ /** Agent identifier (e.g., "ax-agent-1", "ax-cli-main") */
34
+ agentId: string;
35
+ /** Task or tool name */
36
+ name: string;
37
+ /** Optional message */
38
+ message?: string;
39
+ /** Progress percentage (0-100) */
40
+ progress?: number;
41
+ /** Additional metadata */
42
+ metadata?: Record<string, unknown>;
43
+ /** Timestamp */
44
+ timestamp: number;
45
+ }
46
+ /**
47
+ * Progress Reporter - Singleton event emitter for progress tracking
48
+ */
49
+ export declare class ProgressReporter extends EventEmitter {
50
+ private static instance;
51
+ private constructor();
52
+ /**
53
+ * Get the singleton instance
54
+ */
55
+ static getInstance(): ProgressReporter;
56
+ /**
57
+ * Reset the singleton (for testing)
58
+ */
59
+ static reset(): void;
60
+ /**
61
+ * Report a progress event
62
+ */
63
+ report(event: Omit<ProgressEvent, 'timestamp'>): void;
64
+ /**
65
+ * Report task start
66
+ */
67
+ taskStart(agentId: string, name: string, message?: string): void;
68
+ /**
69
+ * Report task progress
70
+ */
71
+ taskProgress(agentId: string, name: string, progress: number, message?: string): void;
72
+ /**
73
+ * Report task completion
74
+ */
75
+ taskComplete(agentId: string, name: string, message?: string): void;
76
+ /**
77
+ * Report task error
78
+ */
79
+ taskError(agentId: string, name: string, error: string): void;
80
+ /**
81
+ * Report tool execution start
82
+ */
83
+ toolStart(agentId: string, toolName: string, message?: string): void;
84
+ /**
85
+ * Report tool execution completion
86
+ */
87
+ toolComplete(agentId: string, toolName: string, message?: string): void;
88
+ /**
89
+ * Report general status update
90
+ */
91
+ statusUpdate(agentId: string, message: string, metadata?: Record<string, unknown>): void;
92
+ /**
93
+ * Subscribe to all progress events
94
+ */
95
+ onProgress(callback: (event: ProgressEvent) => void): () => void;
96
+ /**
97
+ * Subscribe to specific event type
98
+ */
99
+ onEvent(type: ProgressEventType, callback: (event: ProgressEvent) => void): () => void;
100
+ /**
101
+ * Get statistics about event emission
102
+ */
103
+ getStats(): {
104
+ listenerCount: number;
105
+ maxListeners: number;
106
+ };
107
+ }
108
+ /**
109
+ * Get the global progress reporter instance
110
+ */
111
+ export declare function getProgressReporter(): ProgressReporter;
@@ -0,0 +1,178 @@
1
+ /**
2
+ * Progress Reporter - Shared event system for AX <-> ax-cli integration
3
+ *
4
+ * Allows AutomatosX agents to report progress to ax-cli UI in real-time.
5
+ * This creates a unified progress visibility system across both applications.
6
+ */
7
+ import { EventEmitter } from 'events';
8
+ /**
9
+ * Progress event types
10
+ */
11
+ export var ProgressEventType;
12
+ (function (ProgressEventType) {
13
+ /** Agent started a new task */
14
+ ProgressEventType["TASK_START"] = "task_start";
15
+ /** Agent made progress on current task */
16
+ ProgressEventType["TASK_PROGRESS"] = "task_progress";
17
+ /** Agent completed a task */
18
+ ProgressEventType["TASK_COMPLETE"] = "task_complete";
19
+ /** Agent encountered an error */
20
+ ProgressEventType["TASK_ERROR"] = "task_error";
21
+ /** Tool execution started */
22
+ ProgressEventType["TOOL_START"] = "tool_start";
23
+ /** Tool execution completed */
24
+ ProgressEventType["TOOL_COMPLETE"] = "tool_complete";
25
+ /** General status update */
26
+ ProgressEventType["STATUS_UPDATE"] = "status_update";
27
+ })(ProgressEventType || (ProgressEventType = {}));
28
+ /**
29
+ * Progress Reporter - Singleton event emitter for progress tracking
30
+ */
31
+ export class ProgressReporter extends EventEmitter {
32
+ static instance = null;
33
+ constructor() {
34
+ super();
35
+ // Allow more listeners (multiple agents can subscribe)
36
+ this.setMaxListeners(50);
37
+ }
38
+ /**
39
+ * Get the singleton instance
40
+ */
41
+ static getInstance() {
42
+ if (!ProgressReporter.instance) {
43
+ ProgressReporter.instance = new ProgressReporter();
44
+ }
45
+ return ProgressReporter.instance;
46
+ }
47
+ /**
48
+ * Reset the singleton (for testing)
49
+ */
50
+ static reset() {
51
+ if (ProgressReporter.instance) {
52
+ ProgressReporter.instance.removeAllListeners();
53
+ ProgressReporter.instance = null;
54
+ }
55
+ }
56
+ /**
57
+ * Report a progress event
58
+ */
59
+ report(event) {
60
+ const fullEvent = {
61
+ ...event,
62
+ timestamp: Date.now(),
63
+ };
64
+ this.emit('progress', fullEvent);
65
+ this.emit(event.type, fullEvent);
66
+ }
67
+ /**
68
+ * Report task start
69
+ */
70
+ taskStart(agentId, name, message) {
71
+ this.report({
72
+ type: ProgressEventType.TASK_START,
73
+ agentId,
74
+ name,
75
+ message,
76
+ progress: 0,
77
+ });
78
+ }
79
+ /**
80
+ * Report task progress
81
+ */
82
+ taskProgress(agentId, name, progress, message) {
83
+ this.report({
84
+ type: ProgressEventType.TASK_PROGRESS,
85
+ agentId,
86
+ name,
87
+ progress: Math.max(0, Math.min(100, progress)),
88
+ message,
89
+ });
90
+ }
91
+ /**
92
+ * Report task completion
93
+ */
94
+ taskComplete(agentId, name, message) {
95
+ this.report({
96
+ type: ProgressEventType.TASK_COMPLETE,
97
+ agentId,
98
+ name,
99
+ message,
100
+ progress: 100,
101
+ });
102
+ }
103
+ /**
104
+ * Report task error
105
+ */
106
+ taskError(agentId, name, error) {
107
+ this.report({
108
+ type: ProgressEventType.TASK_ERROR,
109
+ agentId,
110
+ name,
111
+ message: error,
112
+ });
113
+ }
114
+ /**
115
+ * Report tool execution start
116
+ */
117
+ toolStart(agentId, toolName, message) {
118
+ this.report({
119
+ type: ProgressEventType.TOOL_START,
120
+ agentId,
121
+ name: toolName,
122
+ message,
123
+ });
124
+ }
125
+ /**
126
+ * Report tool execution completion
127
+ */
128
+ toolComplete(agentId, toolName, message) {
129
+ this.report({
130
+ type: ProgressEventType.TOOL_COMPLETE,
131
+ agentId,
132
+ name: toolName,
133
+ message,
134
+ });
135
+ }
136
+ /**
137
+ * Report general status update
138
+ */
139
+ statusUpdate(agentId, message, metadata) {
140
+ this.report({
141
+ type: ProgressEventType.STATUS_UPDATE,
142
+ agentId,
143
+ name: 'status',
144
+ message,
145
+ metadata,
146
+ });
147
+ }
148
+ /**
149
+ * Subscribe to all progress events
150
+ */
151
+ onProgress(callback) {
152
+ this.on('progress', callback);
153
+ return () => this.off('progress', callback);
154
+ }
155
+ /**
156
+ * Subscribe to specific event type
157
+ */
158
+ onEvent(type, callback) {
159
+ this.on(type, callback);
160
+ return () => this.off(type, callback);
161
+ }
162
+ /**
163
+ * Get statistics about event emission
164
+ */
165
+ getStats() {
166
+ return {
167
+ listenerCount: this.listenerCount('progress'),
168
+ maxListeners: this.getMaxListeners(),
169
+ };
170
+ }
171
+ }
172
+ /**
173
+ * Get the global progress reporter instance
174
+ */
175
+ export function getProgressReporter() {
176
+ return ProgressReporter.getInstance();
177
+ }
178
+ //# sourceMappingURL=progress-reporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress-reporter.js","sourceRoot":"","sources":["../../src/sdk/progress-reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Testing utilities for AX CLI SDK
3
+ *
4
+ * This module provides mock implementations and test helpers to make
5
+ * it easy to test code that uses the AX CLI SDK.
6
+ *
7
+ * @packageDocumentation
8
+ */
9
+ import { EventEmitter } from 'events';
10
+ import type { ChatEntry, StreamingChunk } from '../agent/llm-agent.js';
11
+ import type { ToolResult } from '../types/index.js';
12
+ /**
13
+ * Mock agent for testing
14
+ *
15
+ * Implements the same interface as LLMAgent but with predictable,
16
+ * controllable behavior for testing.
17
+ *
18
+ * @example
19
+ * ```typescript
20
+ * import { MockAgent } from '@defai.digital/ax-cli/sdk/testing';
21
+ *
22
+ * test('my integration', async () => {
23
+ * const agent = new MockAgent({
24
+ * responses: ['First response', 'Second response']
25
+ * });
26
+ *
27
+ * const result = await agent.processUserMessage('Hello');
28
+ * expect(result[0].content).toBe('First response');
29
+ * });
30
+ * ```
31
+ */
32
+ export declare class MockAgent extends EventEmitter {
33
+ private responses;
34
+ private currentResponseIndex;
35
+ private history;
36
+ private disposed;
37
+ /**
38
+ * Create a new mock agent
39
+ *
40
+ * @param options - Configuration for mock behavior
41
+ */
42
+ constructor(options?: {
43
+ /** Predefined responses to return (cycles through) */
44
+ responses?: string[];
45
+ });
46
+ /**
47
+ * Process a user message (mock implementation)
48
+ *
49
+ * Returns the next predefined response and adds it to history.
50
+ * Cycles through responses if called more times than responses available.
51
+ *
52
+ * @param message - User message (stored in history)
53
+ * @returns Mock chat history
54
+ */
55
+ processUserMessage(message: string): Promise<ChatEntry[]>;
56
+ /**
57
+ * Process user message with streaming (mock implementation)
58
+ *
59
+ * Yields mock stream chunks for the response.
60
+ */
61
+ processUserMessageStream(message: string): AsyncGenerator<StreamingChunk>;
62
+ /**
63
+ * Get chat history (mock implementation)
64
+ */
65
+ getChatHistory(): ChatEntry[];
66
+ /**
67
+ * Execute bash command (mock implementation)
68
+ *
69
+ * Always returns success with predefined output.
70
+ */
71
+ executeBashCommand(command: string): Promise<ToolResult>;
72
+ /**
73
+ * Get current directory (mock implementation)
74
+ */
75
+ getCurrentDirectory(): string;
76
+ /**
77
+ * Create checkpoint (mock implementation)
78
+ */
79
+ createCheckpoint(_description?: string): Promise<string>;
80
+ /**
81
+ * Rewind conversation (mock implementation)
82
+ */
83
+ rewindConversation(_checkpointId: string): Promise<{
84
+ success: boolean;
85
+ error?: string;
86
+ }>;
87
+ /**
88
+ * Check if bash is executing (mock implementation)
89
+ */
90
+ isBashExecuting(): boolean;
91
+ /**
92
+ * Dispose of mock agent
93
+ */
94
+ dispose(): Promise<void>;
95
+ /**
96
+ * Reset mock agent state
97
+ *
98
+ * Clears history and resets response index.
99
+ * Useful for reusing the same mock across multiple tests.
100
+ */
101
+ reset(): void;
102
+ /**
103
+ * Set new responses
104
+ *
105
+ * @param responses - New responses to use
106
+ */
107
+ setResponses(responses: string[]): void;
108
+ /**
109
+ * Get number of messages processed
110
+ */
111
+ getMessageCount(): number;
112
+ private checkDisposed;
113
+ }
114
+ /**
115
+ * Create a mock agent with predefined responses
116
+ *
117
+ * Convenience function for creating mock agents.
118
+ *
119
+ * @param responses - Predefined responses (optional)
120
+ * @returns Mock agent instance
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * import { createMockAgent } from '@defai.digital/ax-cli/sdk/testing';
125
+ *
126
+ * const agent = createMockAgent(['Hello!', 'How can I help?']);
127
+ * const result = await agent.processUserMessage('Hi');
128
+ * expect(result[0].content).toBe('Hello!');
129
+ * ```
130
+ */
131
+ export declare function createMockAgent(responses?: string[]): MockAgent;
132
+ /**
133
+ * Mock settings manager for testing
134
+ *
135
+ * Allows tests to control what settings are returned without
136
+ * needing actual config files.
137
+ *
138
+ * @example
139
+ * ```typescript
140
+ * import { MockSettingsManager } from '@defai.digital/ax-cli/sdk/testing';
141
+ *
142
+ * const settings = new MockSettingsManager({
143
+ * apiKey: 'test-key',
144
+ * baseURL: 'https://test.api.com',
145
+ * model: 'glm-4.6'
146
+ * });
147
+ * ```
148
+ */
149
+ export declare class MockSettingsManager {
150
+ private settings;
151
+ constructor(settings?: {
152
+ apiKey?: string;
153
+ baseURL?: string;
154
+ model?: string;
155
+ });
156
+ loadUserSettings(): void;
157
+ loadProjectSettings(): void;
158
+ getApiKey(): string | undefined;
159
+ getBaseURL(): string | undefined;
160
+ getCurrentModel(): string;
161
+ updateUserSetting(key: string, value: unknown): void;
162
+ saveUserSettings(): void;
163
+ }
164
+ /**
165
+ * Create a mock settings manager
166
+ *
167
+ * @param settings - Settings to return
168
+ * @returns Mock settings manager
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * import { createMockSettings } from '@defai.digital/ax-cli/sdk/testing';
173
+ *
174
+ * const settings = createMockSettings({
175
+ * apiKey: 'test-key',
176
+ * model: 'glm-4.6'
177
+ * });
178
+ * ```
179
+ */
180
+ export declare function createMockSettings(settings?: {
181
+ apiKey?: string;
182
+ baseURL?: string;
183
+ model?: string;
184
+ }): MockSettingsManager;