@defai.digital/ax-cli 4.0.3 → 4.0.5
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/README.md +61 -2
- package/dist/commands/mcp.js +61 -28
- package/dist/commands/mcp.js.map +1 -1
- package/dist/design/figma-alias.d.ts +5 -0
- package/dist/design/figma-alias.js +11 -4
- package/dist/design/figma-alias.js.map +1 -1
- package/dist/design/figma-audit.js +9 -1
- package/dist/design/figma-audit.js.map +1 -1
- package/dist/design/figma-client.d.ts +4 -0
- package/dist/design/figma-client.js +44 -11
- package/dist/design/figma-client.js.map +1 -1
- package/dist/design/figma-tokens.js +19 -8
- package/dist/design/figma-tokens.js.map +1 -1
- package/dist/mcp/automatosx-loader.d.ts +16 -1
- package/dist/mcp/automatosx-loader.js +18 -8
- package/dist/mcp/automatosx-loader.js.map +1 -1
- package/dist/mcp/cancellation.d.ts +3 -0
- package/dist/mcp/cancellation.js +22 -3
- package/dist/mcp/cancellation.js.map +1 -1
- package/dist/mcp/content-length-transport.d.ts +3 -0
- package/dist/mcp/content-length-transport.js +32 -1
- package/dist/mcp/content-length-transport.js.map +1 -1
- package/dist/mcp/progress.d.ts +3 -0
- package/dist/mcp/progress.js +22 -4
- package/dist/mcp/progress.js.map +1 -1
- package/dist/mcp/schema-validator.d.ts +5 -0
- package/dist/mcp/schema-validator.js +46 -11
- package/dist/mcp/schema-validator.js.map +1 -1
- package/dist/mcp/templates.js +4 -1
- package/dist/mcp/templates.js.map +1 -1
- package/dist/sdk/errors.d.ts +7 -2
- package/dist/sdk/errors.js +17 -5
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.d.ts +5 -5
- package/dist/sdk/index.js +113 -31
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/progress-reporter.d.ts +8 -0
- package/dist/sdk/progress-reporter.js +41 -6
- package/dist/sdk/progress-reporter.js.map +1 -1
- package/dist/sdk/testing.d.ts +20 -3
- package/dist/sdk/testing.js +177 -20
- package/dist/sdk/testing.js.map +1 -1
- package/dist/sdk/tool-registry.d.ts +32 -1
- package/dist/sdk/tool-registry.js +111 -13
- package/dist/sdk/tool-registry.js.map +1 -1
- package/dist/sdk/unified-logger.d.ts +6 -0
- package/dist/sdk/unified-logger.js +48 -8
- package/dist/sdk/unified-logger.js.map +1 -1
- package/dist/sdk/version.d.ts +1 -1
- package/dist/sdk/version.js +20 -6
- package/dist/sdk/version.js.map +1 -1
- package/dist/tools/design-tool.d.ts +9 -0
- package/dist/tools/design-tool.js +72 -35
- package/dist/tools/design-tool.js.map +1 -1
- package/dist/ui/components/diff-renderer.js +4 -4
- package/dist/ui/components/diff-renderer.js.map +1 -1
- package/dist/ui/themes/theme-registry.d.ts +3 -1
- package/dist/ui/themes/theme-registry.js +5 -3
- package/dist/ui/themes/theme-registry.js.map +1 -1
- package/package.json +1 -1
|
@@ -55,14 +55,40 @@ export class ProgressReporter extends EventEmitter {
|
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Report a progress event
|
|
58
|
+
*
|
|
59
|
+
* @param event - Event data (timestamp will be added automatically)
|
|
60
|
+
* @throws Error if required fields (agentId, name, type) are missing or invalid
|
|
58
61
|
*/
|
|
59
62
|
report(event) {
|
|
60
|
-
|
|
63
|
+
// Validate required fields
|
|
64
|
+
if (!event.agentId || typeof event.agentId !== 'string') {
|
|
65
|
+
throw new Error('ProgressReporter.report: agentId is required and must be a string');
|
|
66
|
+
}
|
|
67
|
+
if (!event.name || typeof event.name !== 'string') {
|
|
68
|
+
throw new Error('ProgressReporter.report: name is required and must be a string');
|
|
69
|
+
}
|
|
70
|
+
if (!event.type || !Object.values(ProgressEventType).includes(event.type)) {
|
|
71
|
+
throw new Error('ProgressReporter.report: type is required and must be a valid ProgressEventType');
|
|
72
|
+
}
|
|
73
|
+
// BUG FIX: Deep copy metadata to prevent external mutation of emitted events
|
|
74
|
+
// Without this, external code could modify the metadata after event emission
|
|
75
|
+
// and corrupt the event data that listeners received
|
|
76
|
+
const timestamp = Date.now();
|
|
77
|
+
const clonedMetadata = event.metadata ? { ...event.metadata } : undefined;
|
|
78
|
+
// BUG FIX: Emit separate event objects to each channel
|
|
79
|
+
// If we emit the same object to both 'progress' and event.type, a listener
|
|
80
|
+
// on 'progress' could mutate the event and affect listeners on event.type
|
|
81
|
+
// (or vice versa). Each emission gets its own copy.
|
|
82
|
+
this.emit('progress', {
|
|
61
83
|
...event,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
this.emit(event.type,
|
|
84
|
+
metadata: clonedMetadata ? { ...clonedMetadata } : undefined,
|
|
85
|
+
timestamp,
|
|
86
|
+
});
|
|
87
|
+
this.emit(event.type, {
|
|
88
|
+
...event,
|
|
89
|
+
metadata: clonedMetadata ? { ...clonedMetadata } : undefined,
|
|
90
|
+
timestamp,
|
|
91
|
+
});
|
|
66
92
|
}
|
|
67
93
|
/**
|
|
68
94
|
* Report task start
|
|
@@ -78,13 +104,22 @@ export class ProgressReporter extends EventEmitter {
|
|
|
78
104
|
}
|
|
79
105
|
/**
|
|
80
106
|
* Report task progress
|
|
107
|
+
*
|
|
108
|
+
* @param agentId - Agent identifier
|
|
109
|
+
* @param name - Task name
|
|
110
|
+
* @param progress - Progress percentage (0-100), will be clamped to valid range
|
|
111
|
+
* @param message - Optional status message
|
|
81
112
|
*/
|
|
82
113
|
taskProgress(agentId, name, progress, message) {
|
|
114
|
+
// Validate progress is a valid number
|
|
115
|
+
const validProgress = typeof progress === 'number' && !isNaN(progress) && isFinite(progress)
|
|
116
|
+
? Math.max(0, Math.min(100, progress))
|
|
117
|
+
: 0; // Default to 0 for invalid values
|
|
83
118
|
this.report({
|
|
84
119
|
type: ProgressEventType.TASK_PROGRESS,
|
|
85
120
|
agentId,
|
|
86
121
|
name,
|
|
87
|
-
progress:
|
|
122
|
+
progress: validProgress,
|
|
88
123
|
message,
|
|
89
124
|
});
|
|
90
125
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-reporter.js","sourceRoot":"","sources":["../../src/sdk/progress-reporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAN,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC3B,+BAA+B;IAC/B,8CAAyB,CAAA;IACzB,0CAA0C;IAC1C,oDAA+B,CAAA;IAC/B,6BAA6B;IAC7B,oDAA+B,CAAA;IAC/B,iCAAiC;IACjC,8CAAyB,CAAA;IACzB,6BAA6B;IAC7B,8CAAyB,CAAA;IACzB,+BAA+B;IAC/B,oDAA+B,CAAA;IAC/B,4BAA4B;IAC5B,oDAA+B,CAAA;AACjC,CAAC,EAfW,iBAAiB,KAAjB,iBAAiB,QAe5B;AAsBD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACxC,MAAM,CAAC,QAAQ,GAA4B,IAAI,CAAC;IAExD;QACE,KAAK,EAAE,CAAC;QACR,uDAAuD;QACvD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK;QACV,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9B,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC/C,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"progress-reporter.js","sourceRoot":"","sources":["../../src/sdk/progress-reporter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;GAEG;AACH,MAAM,CAAN,IAAY,iBAeX;AAfD,WAAY,iBAAiB;IAC3B,+BAA+B;IAC/B,8CAAyB,CAAA;IACzB,0CAA0C;IAC1C,oDAA+B,CAAA;IAC/B,6BAA6B;IAC7B,oDAA+B,CAAA;IAC/B,iCAAiC;IACjC,8CAAyB,CAAA;IACzB,6BAA6B;IAC7B,8CAAyB,CAAA;IACzB,+BAA+B;IAC/B,oDAA+B,CAAA;IAC/B,4BAA4B;IAC5B,oDAA+B,CAAA;AACjC,CAAC,EAfW,iBAAiB,KAAjB,iBAAiB,QAe5B;AAsBD;;GAEG;AACH,MAAM,OAAO,gBAAiB,SAAQ,YAAY;IACxC,MAAM,CAAC,QAAQ,GAA4B,IAAI,CAAC;IAExD;QACE,KAAK,EAAE,CAAC;QACR,uDAAuD;QACvD,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC/B,gBAAgB,CAAC,QAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACrD,CAAC;QACD,OAAO,gBAAgB,CAAC,QAAQ,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK;QACV,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC9B,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YAC/C,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAuC;QAC5C,2BAA2B;QAC3B,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;QACvF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClD,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACrG,CAAC;QAED,6EAA6E;QAC7E,6EAA6E;QAC7E,qDAAqD;QACrD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QAE1E,uDAAuD;QACvD,2EAA2E;QAC3E,0EAA0E;QAC1E,oDAAoD;QACpD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,GAAG,KAAK;YACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;YAC5D,SAAS;SACV,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YACpB,GAAG,KAAK;YACR,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;YAC5D,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe,EAAE,IAAY,EAAE,OAAgB;QACvD,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,UAAU;YAClC,OAAO;YACP,IAAI;YACJ,OAAO;YACP,QAAQ,EAAE,CAAC;SACZ,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,OAAe,EAAE,IAAY,EAAE,QAAgB,EAAE,OAAgB;QAC5E,sCAAsC;QACtC,MAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC;YAC1F,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC,CAAC,CAAC,kCAAkC;QAEzC,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,aAAa;YACrC,OAAO;YACP,IAAI;YACJ,QAAQ,EAAE,aAAa;YACvB,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,IAAY,EAAE,OAAgB;QAC1D,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,aAAa;YACrC,OAAO;YACP,IAAI;YACJ,OAAO;YACP,QAAQ,EAAE,GAAG;SACd,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe,EAAE,IAAY,EAAE,KAAa;QACpD,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,UAAU;YAClC,OAAO;YACP,IAAI;YACJ,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAAe,EAAE,QAAgB,EAAE,OAAgB;QAC3D,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,UAAU;YAClC,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,QAAgB,EAAE,OAAgB;QAC9D,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,aAAa;YACrC,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAAe,EAAE,OAAe,EAAE,QAAkC;QAC/E,IAAI,CAAC,MAAM,CAAC;YACV,IAAI,EAAE,iBAAiB,CAAC,aAAa;YACrC,OAAO;YACP,IAAI,EAAE,QAAQ;YACd,OAAO;YACP,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,QAAwC;QACjD,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAC9B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,IAAuB,EAAE,QAAwC;QACvE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACxB,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,QAAQ;QAIN,OAAO;YACL,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC;YAC7C,YAAY,EAAE,IAAI,CAAC,eAAe,EAAE;SACrC,CAAC;IACJ,CAAC;;AAGH;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,gBAAgB,CAAC,WAAW,EAAE,CAAC;AACxC,CAAC"}
|
package/dist/sdk/testing.d.ts
CHANGED
|
@@ -61,6 +61,8 @@ export declare class MockAgent extends EventEmitter {
|
|
|
61
61
|
processUserMessageStream(message: string): AsyncGenerator<StreamingChunk>;
|
|
62
62
|
/**
|
|
63
63
|
* Get chat history (mock implementation)
|
|
64
|
+
*
|
|
65
|
+
* Returns deep copies of chat entries to prevent external mutation.
|
|
64
66
|
*/
|
|
65
67
|
getChatHistory(): ChatEntry[];
|
|
66
68
|
/**
|
|
@@ -90,8 +92,9 @@ export declare class MockAgent extends EventEmitter {
|
|
|
90
92
|
isBashExecuting(): boolean;
|
|
91
93
|
/**
|
|
92
94
|
* Dispose of mock agent
|
|
95
|
+
* Note: Returns void to match LLMAgent.dispose() signature
|
|
93
96
|
*/
|
|
94
|
-
dispose():
|
|
97
|
+
dispose(): void;
|
|
95
98
|
/**
|
|
96
99
|
* Reset mock agent state
|
|
97
100
|
*
|
|
@@ -102,7 +105,8 @@ export declare class MockAgent extends EventEmitter {
|
|
|
102
105
|
/**
|
|
103
106
|
* Set new responses
|
|
104
107
|
*
|
|
105
|
-
* @param responses - New responses to use
|
|
108
|
+
* @param responses - New responses to use (must have at least one response)
|
|
109
|
+
* @throws Error if responses array is empty
|
|
106
110
|
*/
|
|
107
111
|
setResponses(responses: string[]): void;
|
|
108
112
|
/**
|
|
@@ -253,6 +257,8 @@ export declare class MockMCPServer {
|
|
|
253
257
|
disconnect(): Promise<void>;
|
|
254
258
|
/**
|
|
255
259
|
* List available tools
|
|
260
|
+
*
|
|
261
|
+
* Returns deep copies of tool definitions to prevent external mutation.
|
|
256
262
|
*/
|
|
257
263
|
listTools(): Promise<Array<{
|
|
258
264
|
name: string;
|
|
@@ -261,6 +267,10 @@ export declare class MockMCPServer {
|
|
|
261
267
|
}>>;
|
|
262
268
|
/**
|
|
263
269
|
* Call a tool on the mock server
|
|
270
|
+
*
|
|
271
|
+
* @param name - Tool name to call
|
|
272
|
+
* @param args - Arguments to pass to the tool
|
|
273
|
+
* @throws Error if server not connected, tool not found, or handler throws
|
|
264
274
|
*/
|
|
265
275
|
callTool(name: string, args: any): Promise<any>;
|
|
266
276
|
/**
|
|
@@ -273,6 +283,9 @@ export declare class MockMCPServer {
|
|
|
273
283
|
}>>;
|
|
274
284
|
/**
|
|
275
285
|
* Read a resource from the mock server
|
|
286
|
+
*
|
|
287
|
+
* @param uri - Resource URI to read
|
|
288
|
+
* @throws Error if server not connected, resource not found, or handler throws
|
|
276
289
|
*/
|
|
277
290
|
readResource(uri: string): Promise<string>;
|
|
278
291
|
/**
|
|
@@ -284,6 +297,10 @@ export declare class MockMCPServer {
|
|
|
284
297
|
}>>;
|
|
285
298
|
/**
|
|
286
299
|
* Execute a prompt
|
|
300
|
+
*
|
|
301
|
+
* @param name - Prompt name to execute
|
|
302
|
+
* @param args - Optional arguments for the prompt
|
|
303
|
+
* @throws Error if server not connected, prompt not found, or handler throws
|
|
287
304
|
*/
|
|
288
305
|
executePrompt(name: string, args?: any): Promise<any>;
|
|
289
306
|
/**
|
|
@@ -343,7 +360,7 @@ export declare function createMockMCPServer(options: MockMCPServerOptions): Mock
|
|
|
343
360
|
* // Now agent is idle
|
|
344
361
|
* ```
|
|
345
362
|
*/
|
|
346
|
-
export declare function waitForAgent(
|
|
363
|
+
export declare function waitForAgent(agent: any, options?: {
|
|
347
364
|
timeout?: number;
|
|
348
365
|
}): Promise<void>;
|
|
349
366
|
/**
|
package/dist/sdk/testing.js
CHANGED
|
@@ -39,7 +39,10 @@ export class MockAgent extends EventEmitter {
|
|
|
39
39
|
*/
|
|
40
40
|
constructor(options = {}) {
|
|
41
41
|
super();
|
|
42
|
-
|
|
42
|
+
// BUG FIX: Clone responses array to prevent external mutation
|
|
43
|
+
// Without this, the caller could modify the responses array after construction
|
|
44
|
+
// and unexpectedly change the mock's behavior during tests
|
|
45
|
+
this.responses = options.responses ? [...options.responses] : ['Mock response'];
|
|
43
46
|
}
|
|
44
47
|
/**
|
|
45
48
|
* Process a user message (mock implementation)
|
|
@@ -60,7 +63,10 @@ export class MockAgent extends EventEmitter {
|
|
|
60
63
|
};
|
|
61
64
|
this.history.push(userEntry);
|
|
62
65
|
// Get next response (cycle through)
|
|
63
|
-
|
|
66
|
+
// Guard against empty responses array to prevent modulo-by-zero
|
|
67
|
+
const response = this.responses.length > 0
|
|
68
|
+
? this.responses[this.currentResponseIndex % this.responses.length]
|
|
69
|
+
: 'No response configured';
|
|
64
70
|
this.currentResponseIndex++;
|
|
65
71
|
// Add assistant response to history
|
|
66
72
|
const assistantEntry = {
|
|
@@ -77,7 +83,13 @@ export class MockAgent extends EventEmitter {
|
|
|
77
83
|
this.emit('stream', {
|
|
78
84
|
type: 'done',
|
|
79
85
|
});
|
|
80
|
-
|
|
86
|
+
// BUG FIX: Return deep copies to prevent external mutation of internal history
|
|
87
|
+
// Without this, callers could modify the returned entries and corrupt
|
|
88
|
+
// the mock agent's internal chat history
|
|
89
|
+
return this.history.map(entry => ({
|
|
90
|
+
...entry,
|
|
91
|
+
timestamp: new Date(entry.timestamp.getTime()),
|
|
92
|
+
}));
|
|
81
93
|
}
|
|
82
94
|
/**
|
|
83
95
|
* Process user message with streaming (mock implementation)
|
|
@@ -94,7 +106,10 @@ export class MockAgent extends EventEmitter {
|
|
|
94
106
|
};
|
|
95
107
|
this.history.push(userEntry);
|
|
96
108
|
// Get next response
|
|
97
|
-
|
|
109
|
+
// Guard against empty responses array to prevent modulo-by-zero
|
|
110
|
+
const response = this.responses.length > 0
|
|
111
|
+
? this.responses[this.currentResponseIndex % this.responses.length]
|
|
112
|
+
: 'No response configured';
|
|
98
113
|
this.currentResponseIndex++;
|
|
99
114
|
// Stream the response character by character (for realistic testing)
|
|
100
115
|
const words = response.split(' ');
|
|
@@ -117,10 +132,19 @@ export class MockAgent extends EventEmitter {
|
|
|
117
132
|
}
|
|
118
133
|
/**
|
|
119
134
|
* Get chat history (mock implementation)
|
|
135
|
+
*
|
|
136
|
+
* Returns deep copies of chat entries to prevent external mutation.
|
|
120
137
|
*/
|
|
121
138
|
getChatHistory() {
|
|
122
139
|
this.checkDisposed();
|
|
123
|
-
|
|
140
|
+
// BUG FIX: Return deep copies to prevent external mutation of internal history
|
|
141
|
+
// Without this, callers could modify the returned entries and corrupt
|
|
142
|
+
// the mock agent's internal chat history (e.g., change timestamps, content)
|
|
143
|
+
return this.history.map(entry => ({
|
|
144
|
+
...entry,
|
|
145
|
+
// Clone Date objects to prevent mutation
|
|
146
|
+
timestamp: new Date(entry.timestamp.getTime()),
|
|
147
|
+
}));
|
|
124
148
|
}
|
|
125
149
|
/**
|
|
126
150
|
* Execute bash command (mock implementation)
|
|
@@ -165,8 +189,9 @@ export class MockAgent extends EventEmitter {
|
|
|
165
189
|
}
|
|
166
190
|
/**
|
|
167
191
|
* Dispose of mock agent
|
|
192
|
+
* Note: Returns void to match LLMAgent.dispose() signature
|
|
168
193
|
*/
|
|
169
|
-
|
|
194
|
+
dispose() {
|
|
170
195
|
if (this.disposed)
|
|
171
196
|
return;
|
|
172
197
|
this.disposed = true;
|
|
@@ -188,11 +213,18 @@ export class MockAgent extends EventEmitter {
|
|
|
188
213
|
/**
|
|
189
214
|
* Set new responses
|
|
190
215
|
*
|
|
191
|
-
* @param responses - New responses to use
|
|
216
|
+
* @param responses - New responses to use (must have at least one response)
|
|
217
|
+
* @throws Error if responses array is empty
|
|
192
218
|
*/
|
|
193
219
|
setResponses(responses) {
|
|
194
220
|
this.checkDisposed();
|
|
195
|
-
|
|
221
|
+
if (!responses || responses.length === 0) {
|
|
222
|
+
throw new Error('MockAgent.setResponses: responses array must not be empty');
|
|
223
|
+
}
|
|
224
|
+
// BUG FIX: Clone responses array to prevent external mutation
|
|
225
|
+
// Without this, the caller could modify the responses array after setting
|
|
226
|
+
// and unexpectedly change the mock's behavior during tests
|
|
227
|
+
this.responses = [...responses];
|
|
196
228
|
this.currentResponseIndex = 0;
|
|
197
229
|
}
|
|
198
230
|
/**
|
|
@@ -248,7 +280,10 @@ export function createMockAgent(responses) {
|
|
|
248
280
|
export class MockSettingsManager {
|
|
249
281
|
settings;
|
|
250
282
|
constructor(settings = {}) {
|
|
251
|
-
|
|
283
|
+
// BUG FIX: Clone settings to prevent external mutation
|
|
284
|
+
// Without this, the caller could modify the settings object after construction
|
|
285
|
+
// and unexpectedly change the mock's behavior during tests
|
|
286
|
+
this.settings = { ...settings };
|
|
252
287
|
}
|
|
253
288
|
loadUserSettings() {
|
|
254
289
|
// No-op for mock
|
|
@@ -266,6 +301,11 @@ export class MockSettingsManager {
|
|
|
266
301
|
return this.settings.model || 'glm-4.6';
|
|
267
302
|
}
|
|
268
303
|
updateUserSetting(key, value) {
|
|
304
|
+
// Validate key is one of the valid settings keys
|
|
305
|
+
const validKeys = ['apiKey', 'baseURL', 'model'];
|
|
306
|
+
if (!validKeys.includes(key)) {
|
|
307
|
+
console.warn(`MockSettingsManager.updateUserSetting: '${key}' is not a recognized setting key`);
|
|
308
|
+
}
|
|
269
309
|
this.settings[key] = value;
|
|
270
310
|
}
|
|
271
311
|
saveUserSettings() {
|
|
@@ -324,7 +364,33 @@ export class MockMCPServer {
|
|
|
324
364
|
options;
|
|
325
365
|
connected = false;
|
|
326
366
|
constructor(options) {
|
|
327
|
-
|
|
367
|
+
// BUG FIX: Deep clone options to prevent external mutation
|
|
368
|
+
// Without this, external code could modify the options after construction
|
|
369
|
+
// (e.g., modify tools array, change handlers) and unexpectedly affect
|
|
370
|
+
// the mock server's behavior during tests
|
|
371
|
+
this.options = {
|
|
372
|
+
name: options.name,
|
|
373
|
+
version: options.version,
|
|
374
|
+
// Clone arrays to prevent external mutation, but keep handler references
|
|
375
|
+
// (handlers are functions and cannot be cloned)
|
|
376
|
+
tools: options.tools ? options.tools.map(t => ({
|
|
377
|
+
name: t.name,
|
|
378
|
+
description: t.description,
|
|
379
|
+
inputSchema: JSON.parse(JSON.stringify(t.inputSchema)),
|
|
380
|
+
handler: t.handler,
|
|
381
|
+
})) : undefined,
|
|
382
|
+
resources: options.resources ? options.resources.map(r => ({
|
|
383
|
+
uri: r.uri,
|
|
384
|
+
name: r.name,
|
|
385
|
+
mimeType: r.mimeType,
|
|
386
|
+
handler: r.handler,
|
|
387
|
+
})) : undefined,
|
|
388
|
+
prompts: options.prompts ? options.prompts.map(p => ({
|
|
389
|
+
name: p.name,
|
|
390
|
+
description: p.description,
|
|
391
|
+
handler: p.handler,
|
|
392
|
+
})) : undefined,
|
|
393
|
+
};
|
|
328
394
|
}
|
|
329
395
|
/**
|
|
330
396
|
* Connect the mock server
|
|
@@ -340,19 +406,28 @@ export class MockMCPServer {
|
|
|
340
406
|
}
|
|
341
407
|
/**
|
|
342
408
|
* List available tools
|
|
409
|
+
*
|
|
410
|
+
* Returns deep copies of tool definitions to prevent external mutation.
|
|
343
411
|
*/
|
|
344
412
|
async listTools() {
|
|
345
413
|
if (!this.connected) {
|
|
346
414
|
throw new Error('Server not connected');
|
|
347
415
|
}
|
|
416
|
+
// BUG FIX: Deep clone inputSchema to prevent external mutation of internal state
|
|
417
|
+
// Without this, callers could modify the returned schema and corrupt
|
|
418
|
+
// the mock server's tool definitions
|
|
348
419
|
return (this.options.tools || []).map(tool => ({
|
|
349
420
|
name: tool.name,
|
|
350
421
|
description: tool.description,
|
|
351
|
-
inputSchema: tool.inputSchema
|
|
422
|
+
inputSchema: JSON.parse(JSON.stringify(tool.inputSchema))
|
|
352
423
|
}));
|
|
353
424
|
}
|
|
354
425
|
/**
|
|
355
426
|
* Call a tool on the mock server
|
|
427
|
+
*
|
|
428
|
+
* @param name - Tool name to call
|
|
429
|
+
* @param args - Arguments to pass to the tool
|
|
430
|
+
* @throws Error if server not connected, tool not found, or handler throws
|
|
356
431
|
*/
|
|
357
432
|
async callTool(name, args) {
|
|
358
433
|
if (!this.connected) {
|
|
@@ -362,7 +437,19 @@ export class MockMCPServer {
|
|
|
362
437
|
if (!tool) {
|
|
363
438
|
throw new Error(`Tool not found: ${name}`);
|
|
364
439
|
}
|
|
365
|
-
|
|
440
|
+
try {
|
|
441
|
+
// BUG FIX: Clone args before passing to handler to prevent mutation
|
|
442
|
+
// Without this, the handler could modify the caller's args object
|
|
443
|
+
const clonedArgs = args !== null && args !== undefined
|
|
444
|
+
? JSON.parse(JSON.stringify(args))
|
|
445
|
+
: args;
|
|
446
|
+
return await tool.handler(clonedArgs);
|
|
447
|
+
}
|
|
448
|
+
catch (error) {
|
|
449
|
+
// Wrap handler errors with context
|
|
450
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
451
|
+
throw new Error(`Tool '${name}' execution failed: ${message}`);
|
|
452
|
+
}
|
|
366
453
|
}
|
|
367
454
|
/**
|
|
368
455
|
* List available resources
|
|
@@ -379,6 +466,9 @@ export class MockMCPServer {
|
|
|
379
466
|
}
|
|
380
467
|
/**
|
|
381
468
|
* Read a resource from the mock server
|
|
469
|
+
*
|
|
470
|
+
* @param uri - Resource URI to read
|
|
471
|
+
* @throws Error if server not connected, resource not found, or handler throws
|
|
382
472
|
*/
|
|
383
473
|
async readResource(uri) {
|
|
384
474
|
if (!this.connected) {
|
|
@@ -388,7 +478,13 @@ export class MockMCPServer {
|
|
|
388
478
|
if (!resource) {
|
|
389
479
|
throw new Error(`Resource not found: ${uri}`);
|
|
390
480
|
}
|
|
391
|
-
|
|
481
|
+
try {
|
|
482
|
+
return await resource.handler();
|
|
483
|
+
}
|
|
484
|
+
catch (error) {
|
|
485
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
486
|
+
throw new Error(`Resource '${uri}' read failed: ${message}`);
|
|
487
|
+
}
|
|
392
488
|
}
|
|
393
489
|
/**
|
|
394
490
|
* List available prompts
|
|
@@ -404,6 +500,10 @@ export class MockMCPServer {
|
|
|
404
500
|
}
|
|
405
501
|
/**
|
|
406
502
|
* Execute a prompt
|
|
503
|
+
*
|
|
504
|
+
* @param name - Prompt name to execute
|
|
505
|
+
* @param args - Optional arguments for the prompt
|
|
506
|
+
* @throws Error if server not connected, prompt not found, or handler throws
|
|
407
507
|
*/
|
|
408
508
|
async executePrompt(name, args) {
|
|
409
509
|
if (!this.connected) {
|
|
@@ -413,7 +513,18 @@ export class MockMCPServer {
|
|
|
413
513
|
if (!prompt) {
|
|
414
514
|
throw new Error(`Prompt not found: ${name}`);
|
|
415
515
|
}
|
|
416
|
-
|
|
516
|
+
try {
|
|
517
|
+
// BUG FIX: Clone args before passing to handler to prevent mutation
|
|
518
|
+
// Without this, the handler could modify the caller's args object
|
|
519
|
+
const clonedArgs = args !== null && args !== undefined
|
|
520
|
+
? JSON.parse(JSON.stringify(args))
|
|
521
|
+
: args;
|
|
522
|
+
return await prompt.handler(clonedArgs);
|
|
523
|
+
}
|
|
524
|
+
catch (error) {
|
|
525
|
+
const message = error instanceof Error ? error.message : 'Unknown error';
|
|
526
|
+
throw new Error(`Prompt '${name}' execution failed: ${message}`);
|
|
527
|
+
}
|
|
417
528
|
}
|
|
418
529
|
/**
|
|
419
530
|
* Check if server is connected
|
|
@@ -478,27 +589,73 @@ export function createMockMCPServer(options) {
|
|
|
478
589
|
* // Now agent is idle
|
|
479
590
|
* ```
|
|
480
591
|
*/
|
|
481
|
-
export async function waitForAgent(
|
|
592
|
+
export async function waitForAgent(agent, options) {
|
|
482
593
|
return new Promise((resolve, reject) => {
|
|
483
594
|
const timeout = options?.timeout || 5000;
|
|
484
595
|
let resolved = false;
|
|
596
|
+
let completionTimer;
|
|
597
|
+
let streamListener;
|
|
598
|
+
let errorListener;
|
|
599
|
+
const cleanup = () => {
|
|
600
|
+
// BUG FIX: Always clean up both timers and event listeners to prevent memory leaks
|
|
601
|
+
if (completionTimer !== undefined) {
|
|
602
|
+
clearTimeout(completionTimer);
|
|
603
|
+
completionTimer = undefined;
|
|
604
|
+
}
|
|
605
|
+
// Remove stream listener if it was added
|
|
606
|
+
if (streamListener && agent && typeof agent.off === 'function') {
|
|
607
|
+
agent.off('stream', streamListener);
|
|
608
|
+
streamListener = undefined;
|
|
609
|
+
}
|
|
610
|
+
// BUG FIX: Remove error listener if it was added
|
|
611
|
+
if (errorListener && agent && typeof agent.off === 'function') {
|
|
612
|
+
agent.off('error', errorListener);
|
|
613
|
+
errorListener = undefined;
|
|
614
|
+
}
|
|
615
|
+
};
|
|
485
616
|
const timer = setTimeout(() => {
|
|
486
617
|
if (!resolved) {
|
|
487
618
|
resolved = true;
|
|
619
|
+
cleanup();
|
|
488
620
|
reject(new Error(`Agent did not complete within ${timeout}ms`));
|
|
489
621
|
}
|
|
490
622
|
}, timeout);
|
|
491
|
-
//
|
|
492
|
-
//
|
|
493
|
-
|
|
494
|
-
|
|
623
|
+
// BUG FIX: Listen for 'done' stream event instead of arbitrary delay
|
|
624
|
+
// This properly waits for the agent to complete rather than using a fixed timeout
|
|
625
|
+
if (agent && typeof agent.on === 'function') {
|
|
626
|
+
streamListener = (chunk) => {
|
|
627
|
+
if (chunk && chunk.type === 'done' && !resolved) {
|
|
628
|
+
resolved = true;
|
|
629
|
+
clearTimeout(timer);
|
|
630
|
+
cleanup();
|
|
631
|
+
resolve();
|
|
632
|
+
}
|
|
633
|
+
};
|
|
634
|
+
agent.on('stream', streamListener);
|
|
635
|
+
// BUG FIX: Listen for error events so waitForAgent rejects with the actual error
|
|
636
|
+
// Without this, agent errors would be silently ignored and waitForAgent would
|
|
637
|
+
// either timeout or resolve via fallback, hiding the real failure
|
|
638
|
+
errorListener = (error) => {
|
|
639
|
+
if (!resolved) {
|
|
640
|
+
resolved = true;
|
|
641
|
+
clearTimeout(timer);
|
|
642
|
+
cleanup();
|
|
643
|
+
reject(error);
|
|
644
|
+
}
|
|
645
|
+
};
|
|
646
|
+
agent.on('error', errorListener);
|
|
647
|
+
}
|
|
648
|
+
// Fallback: resolve after a short delay if no stream events
|
|
649
|
+
// This handles agents that don't emit stream events
|
|
650
|
+
completionTimer = setTimeout(() => {
|
|
495
651
|
if (!resolved) {
|
|
496
652
|
resolved = true;
|
|
497
653
|
clearTimeout(timer);
|
|
654
|
+
cleanup();
|
|
498
655
|
resolve();
|
|
499
656
|
}
|
|
500
657
|
}, 100);
|
|
501
|
-
//
|
|
658
|
+
// Allow process to exit if these are the only timers
|
|
502
659
|
timer.unref?.();
|
|
503
660
|
completionTimer.unref?.();
|
|
504
661
|
});
|
package/dist/sdk/testing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/sdk/testing.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/sdk/testing.ts"],"names":[],"mappings":"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"}
|
|
@@ -73,8 +73,21 @@ export declare class ToolRegistry {
|
|
|
73
73
|
* Unregister a tool
|
|
74
74
|
*/
|
|
75
75
|
unregisterTool(toolName: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Deep clone an LLMTool definition to prevent external mutation
|
|
78
|
+
* @internal
|
|
79
|
+
*/
|
|
80
|
+
private cloneDefinition;
|
|
81
|
+
/**
|
|
82
|
+
* Deep clone a RegisteredTool to prevent external mutation
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
private cloneTool;
|
|
76
86
|
/**
|
|
77
87
|
* Get a registered tool
|
|
88
|
+
*
|
|
89
|
+
* Returns a deep copy to prevent external mutation of registry state.
|
|
90
|
+
* Note: The executor function reference is shared (cannot be cloned).
|
|
78
91
|
*/
|
|
79
92
|
getTool(toolName: string): RegisteredTool | undefined;
|
|
80
93
|
/**
|
|
@@ -83,14 +96,20 @@ export declare class ToolRegistry {
|
|
|
83
96
|
hasTool(toolName: string): boolean;
|
|
84
97
|
/**
|
|
85
98
|
* Get all tool definitions (OpenAI format)
|
|
99
|
+
*
|
|
100
|
+
* Returns deep copies to prevent external mutation of registry state.
|
|
86
101
|
*/
|
|
87
102
|
getAllToolDefinitions(): LLMTool[];
|
|
88
103
|
/**
|
|
89
104
|
* Get tool definitions from specific source
|
|
105
|
+
*
|
|
106
|
+
* Returns deep copies to prevent external mutation of registry state.
|
|
90
107
|
*/
|
|
91
108
|
getToolDefinitionsBySource(source: 'ax-cli' | 'automatosx'): LLMTool[];
|
|
92
109
|
/**
|
|
93
110
|
* Get tool definitions by tag
|
|
111
|
+
*
|
|
112
|
+
* Returns deep copies to prevent external mutation of registry state.
|
|
94
113
|
*/
|
|
95
114
|
getToolDefinitionsByTag(tag: string): LLMTool[];
|
|
96
115
|
/**
|
|
@@ -124,6 +143,8 @@ export declare class ToolRegistry {
|
|
|
124
143
|
};
|
|
125
144
|
/**
|
|
126
145
|
* Export registry as JSON (excluding executors)
|
|
146
|
+
*
|
|
147
|
+
* Returns deep copies to prevent external mutation of registry state.
|
|
127
148
|
*/
|
|
128
149
|
exportDefinitions(): {
|
|
129
150
|
tools: Array<{
|
|
@@ -146,12 +167,22 @@ export declare class ToolRegistry {
|
|
|
146
167
|
export declare function getToolRegistry(): ToolRegistry;
|
|
147
168
|
/**
|
|
148
169
|
* Helper: Register multiple tools at once
|
|
170
|
+
*
|
|
171
|
+
* @param source - Source system registering the tools
|
|
172
|
+
* @param tools - Array of tool definitions with executors
|
|
173
|
+
* @returns Object with success status and any errors encountered
|
|
149
174
|
*/
|
|
150
175
|
export declare function registerTools(source: 'ax-cli' | 'automatosx', tools: Array<{
|
|
151
176
|
definition: LLMTool;
|
|
152
177
|
executor: ToolExecutor;
|
|
153
178
|
options?: ToolRegistrationOptions;
|
|
154
|
-
}>):
|
|
179
|
+
}>): {
|
|
180
|
+
registered: string[];
|
|
181
|
+
errors: Array<{
|
|
182
|
+
name: string;
|
|
183
|
+
error: string;
|
|
184
|
+
}>;
|
|
185
|
+
};
|
|
155
186
|
/**
|
|
156
187
|
* Helper: Create a simple tool executor from a function
|
|
157
188
|
*/
|