erosolar-cli 2.1.171 → 2.1.172

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 (209) hide show
  1. package/README.md +1 -1
  2. package/agents/erosolar-code.rules.json +2 -2
  3. package/agents/general.rules.json +3 -21
  4. package/dist/StringUtils.d.ts +8 -0
  5. package/dist/StringUtils.d.ts.map +1 -0
  6. package/dist/StringUtils.js +11 -0
  7. package/dist/StringUtils.js.map +1 -0
  8. package/dist/capabilities/statusCapability.js +2 -2
  9. package/dist/capabilities/statusCapability.js.map +1 -1
  10. package/dist/contracts/agent-schemas.json +5 -5
  11. package/dist/core/agent.d.ts +24 -83
  12. package/dist/core/agent.d.ts.map +1 -1
  13. package/dist/core/agent.js +248 -499
  14. package/dist/core/agent.js.map +1 -1
  15. package/dist/core/aiFlowSupervisor.d.ts +44 -0
  16. package/dist/core/aiFlowSupervisor.d.ts.map +1 -0
  17. package/dist/core/aiFlowSupervisor.js +299 -0
  18. package/dist/core/aiFlowSupervisor.js.map +1 -0
  19. package/dist/core/cliTestHarness.d.ts +200 -0
  20. package/dist/core/cliTestHarness.d.ts.map +1 -0
  21. package/dist/core/cliTestHarness.js +549 -0
  22. package/dist/core/cliTestHarness.js.map +1 -0
  23. package/dist/core/preferences.d.ts +0 -1
  24. package/dist/core/preferences.d.ts.map +1 -1
  25. package/dist/core/preferences.js +1 -8
  26. package/dist/core/preferences.js.map +1 -1
  27. package/dist/core/schemaValidator.js +3 -3
  28. package/dist/core/schemaValidator.js.map +1 -1
  29. package/dist/core/testUtils.d.ts +121 -0
  30. package/dist/core/testUtils.d.ts.map +1 -0
  31. package/dist/core/testUtils.js +235 -0
  32. package/dist/core/testUtils.js.map +1 -0
  33. package/dist/core/toolPreconditions.d.ts +11 -0
  34. package/dist/core/toolPreconditions.d.ts.map +1 -1
  35. package/dist/core/toolPreconditions.js +164 -33
  36. package/dist/core/toolPreconditions.js.map +1 -1
  37. package/dist/core/toolRuntime.d.ts.map +1 -1
  38. package/dist/core/toolRuntime.js +114 -9
  39. package/dist/core/toolRuntime.js.map +1 -1
  40. package/dist/core/toolValidation.d.ts +116 -0
  41. package/dist/core/toolValidation.d.ts.map +1 -0
  42. package/dist/core/toolValidation.js +282 -0
  43. package/dist/core/toolValidation.js.map +1 -0
  44. package/dist/core/updateChecker.d.ts +1 -61
  45. package/dist/core/updateChecker.d.ts.map +1 -1
  46. package/dist/core/updateChecker.js +3 -147
  47. package/dist/core/updateChecker.js.map +1 -1
  48. package/dist/headless/evalMode.d.ts.map +1 -1
  49. package/dist/headless/evalMode.js +0 -6
  50. package/dist/headless/evalMode.js.map +1 -1
  51. package/dist/headless/headlessApp.d.ts.map +1 -1
  52. package/dist/headless/headlessApp.js +39 -6
  53. package/dist/headless/headlessApp.js.map +1 -1
  54. package/dist/mcp/sseClient.d.ts +1 -4
  55. package/dist/mcp/sseClient.d.ts.map +1 -1
  56. package/dist/mcp/sseClient.js +2 -36
  57. package/dist/mcp/sseClient.js.map +1 -1
  58. package/dist/mcp/stdioClient.d.ts +1 -4
  59. package/dist/mcp/stdioClient.d.ts.map +1 -1
  60. package/dist/mcp/stdioClient.js +1 -41
  61. package/dist/mcp/stdioClient.js.map +1 -1
  62. package/dist/mcp/toolBridge.d.ts +0 -3
  63. package/dist/mcp/toolBridge.d.ts.map +1 -1
  64. package/dist/mcp/toolBridge.js +2 -2
  65. package/dist/mcp/toolBridge.js.map +1 -1
  66. package/dist/mcp/types.d.ts +0 -18
  67. package/dist/mcp/types.d.ts.map +1 -1
  68. package/dist/plugins/tools/nodeDefaults.d.ts.map +1 -1
  69. package/dist/plugins/tools/nodeDefaults.js +2 -0
  70. package/dist/plugins/tools/nodeDefaults.js.map +1 -1
  71. package/dist/providers/openaiResponsesProvider.d.ts.map +1 -1
  72. package/dist/providers/openaiResponsesProvider.js +74 -79
  73. package/dist/providers/openaiResponsesProvider.js.map +1 -1
  74. package/dist/runtime/agentController.d.ts.map +1 -1
  75. package/dist/runtime/agentController.js +3 -6
  76. package/dist/runtime/agentController.js.map +1 -1
  77. package/dist/runtime/agentSession.d.ts +2 -0
  78. package/dist/runtime/agentSession.d.ts.map +1 -1
  79. package/dist/runtime/agentSession.js +2 -2
  80. package/dist/runtime/agentSession.js.map +1 -1
  81. package/dist/shell/interactiveShell.d.ts +18 -20
  82. package/dist/shell/interactiveShell.d.ts.map +1 -1
  83. package/dist/shell/interactiveShell.js +291 -329
  84. package/dist/shell/interactiveShell.js.map +1 -1
  85. package/dist/shell/shellApp.d.ts.map +1 -1
  86. package/dist/shell/shellApp.js +8 -16
  87. package/dist/shell/shellApp.js.map +1 -1
  88. package/dist/shell/systemPrompt.d.ts.map +1 -1
  89. package/dist/shell/systemPrompt.js +15 -4
  90. package/dist/shell/systemPrompt.js.map +1 -1
  91. package/dist/subagents/taskRunner.js +1 -2
  92. package/dist/subagents/taskRunner.js.map +1 -1
  93. package/dist/tools/bashTools.d.ts.map +1 -1
  94. package/dist/tools/bashTools.js +8 -101
  95. package/dist/tools/bashTools.js.map +1 -1
  96. package/dist/tools/diffUtils.d.ts +2 -8
  97. package/dist/tools/diffUtils.d.ts.map +1 -1
  98. package/dist/tools/diffUtils.js +13 -72
  99. package/dist/tools/diffUtils.js.map +1 -1
  100. package/dist/tools/grepTools.d.ts.map +1 -1
  101. package/dist/tools/grepTools.js +2 -10
  102. package/dist/tools/grepTools.js.map +1 -1
  103. package/dist/tools/planningTools.d.ts +10 -0
  104. package/dist/tools/planningTools.d.ts.map +1 -1
  105. package/dist/tools/planningTools.js +16 -0
  106. package/dist/tools/planningTools.js.map +1 -1
  107. package/dist/tools/searchTools.d.ts.map +1 -1
  108. package/dist/tools/searchTools.js +2 -4
  109. package/dist/tools/searchTools.js.map +1 -1
  110. package/dist/ui/PromptController.d.ts +4 -4
  111. package/dist/ui/PromptController.d.ts.map +1 -1
  112. package/dist/ui/PromptController.js +7 -1
  113. package/dist/ui/PromptController.js.map +1 -1
  114. package/dist/ui/ShellUIAdapter.d.ts +28 -292
  115. package/dist/ui/ShellUIAdapter.d.ts.map +1 -1
  116. package/dist/ui/ShellUIAdapter.js +121 -1513
  117. package/dist/ui/ShellUIAdapter.js.map +1 -1
  118. package/dist/ui/UnifiedUIRenderer.d.ts +30 -136
  119. package/dist/ui/UnifiedUIRenderer.d.ts.map +1 -1
  120. package/dist/ui/UnifiedUIRenderer.js +370 -955
  121. package/dist/ui/UnifiedUIRenderer.js.map +1 -1
  122. package/dist/ui/animatedStatus.d.ts +6 -128
  123. package/dist/ui/animatedStatus.d.ts.map +1 -1
  124. package/dist/ui/animatedStatus.js +50 -383
  125. package/dist/ui/animatedStatus.js.map +1 -1
  126. package/dist/ui/display.d.ts +26 -182
  127. package/dist/ui/display.d.ts.map +1 -1
  128. package/dist/ui/display.js +97 -678
  129. package/dist/ui/display.js.map +1 -1
  130. package/dist/ui/layout.d.ts +1 -0
  131. package/dist/ui/layout.d.ts.map +1 -1
  132. package/dist/ui/layout.js +12 -0
  133. package/dist/ui/layout.js.map +1 -1
  134. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts +7 -61
  135. package/dist/ui/orchestration/UIUpdateCoordinator.d.ts.map +1 -1
  136. package/dist/ui/orchestration/UIUpdateCoordinator.js +20 -232
  137. package/dist/ui/orchestration/UIUpdateCoordinator.js.map +1 -1
  138. package/dist/ui/planOverlay.d.ts +28 -0
  139. package/dist/ui/planOverlay.d.ts.map +1 -0
  140. package/dist/ui/planOverlay.js +156 -0
  141. package/dist/ui/planOverlay.js.map +1 -0
  142. package/dist/ui/shortcutsHelp.d.ts.map +1 -1
  143. package/dist/ui/shortcutsHelp.js +1 -0
  144. package/dist/ui/shortcutsHelp.js.map +1 -1
  145. package/dist/ui/streamingFormatter.d.ts +30 -0
  146. package/dist/ui/streamingFormatter.d.ts.map +1 -0
  147. package/dist/ui/streamingFormatter.js +91 -0
  148. package/dist/ui/streamingFormatter.js.map +1 -0
  149. package/dist/ui/unified/index.d.ts +1 -30
  150. package/dist/ui/unified/index.d.ts.map +1 -1
  151. package/dist/ui/unified/index.js +2 -45
  152. package/dist/ui/unified/index.js.map +1 -1
  153. package/dist/utils/errorUtils.d.ts +16 -0
  154. package/dist/utils/errorUtils.d.ts.map +1 -0
  155. package/dist/utils/errorUtils.js +66 -0
  156. package/dist/utils/errorUtils.js.map +1 -0
  157. package/package.json +2 -1
  158. package/dist/codex/capabilities/codexCoreCapability.d.ts +0 -6
  159. package/dist/codex/capabilities/codexCoreCapability.d.ts.map +0 -1
  160. package/dist/codex/capabilities/codexCoreCapability.js +0 -516
  161. package/dist/codex/capabilities/codexCoreCapability.js.map +0 -1
  162. package/dist/codex/fs.d.ts +0 -4
  163. package/dist/codex/fs.d.ts.map +0 -1
  164. package/dist/codex/fs.js +0 -25
  165. package/dist/codex/fs.js.map +0 -1
  166. package/dist/codex/persistence/planStore.d.ts +0 -4
  167. package/dist/codex/persistence/planStore.d.ts.map +0 -1
  168. package/dist/codex/persistence/planStore.js +0 -59
  169. package/dist/codex/persistence/planStore.js.map +0 -1
  170. package/dist/codex/pluginAllowlist.d.ts +0 -4
  171. package/dist/codex/pluginAllowlist.d.ts.map +0 -1
  172. package/dist/codex/pluginAllowlist.js +0 -14
  173. package/dist/codex/pluginAllowlist.js.map +0 -1
  174. package/dist/codex/types.d.ts +0 -21
  175. package/dist/codex/types.d.ts.map +0 -1
  176. package/dist/codex/types.js +0 -62
  177. package/dist/codex/types.js.map +0 -1
  178. package/dist/core/reliabilityPrompt.d.ts +0 -9
  179. package/dist/core/reliabilityPrompt.d.ts.map +0 -1
  180. package/dist/core/reliabilityPrompt.js +0 -31
  181. package/dist/core/reliabilityPrompt.js.map +0 -1
  182. package/dist/ui/UnifiedUIController.d.ts +0 -81
  183. package/dist/ui/UnifiedUIController.d.ts.map +0 -1
  184. package/dist/ui/UnifiedUIController.js +0 -212
  185. package/dist/ui/UnifiedUIController.js.map +0 -1
  186. package/dist/ui/animation/AnimationScheduler.d.ts +0 -192
  187. package/dist/ui/animation/AnimationScheduler.d.ts.map +0 -1
  188. package/dist/ui/animation/AnimationScheduler.js +0 -432
  189. package/dist/ui/animation/AnimationScheduler.js.map +0 -1
  190. package/dist/ui/inPlaceUpdater.d.ts +0 -181
  191. package/dist/ui/inPlaceUpdater.d.ts.map +0 -1
  192. package/dist/ui/inPlaceUpdater.js +0 -515
  193. package/dist/ui/inPlaceUpdater.js.map +0 -1
  194. package/dist/ui/interrupts/InterruptManager.d.ts +0 -142
  195. package/dist/ui/interrupts/InterruptManager.d.ts.map +0 -1
  196. package/dist/ui/interrupts/InterruptManager.js +0 -439
  197. package/dist/ui/interrupts/InterruptManager.js.map +0 -1
  198. package/dist/ui/telemetry/ResponseTracker.d.ts +0 -22
  199. package/dist/ui/telemetry/ResponseTracker.d.ts.map +0 -1
  200. package/dist/ui/telemetry/ResponseTracker.js +0 -60
  201. package/dist/ui/telemetry/ResponseTracker.js.map +0 -1
  202. package/dist/ui/telemetry/UITelemetry.d.ts +0 -181
  203. package/dist/ui/telemetry/UITelemetry.d.ts.map +0 -1
  204. package/dist/ui/telemetry/UITelemetry.js +0 -446
  205. package/dist/ui/telemetry/UITelemetry.js.map +0 -1
  206. package/dist/ui/unified/layout.d.ts +0 -12
  207. package/dist/ui/unified/layout.d.ts.map +0 -1
  208. package/dist/ui/unified/layout.js +0 -96
  209. package/dist/ui/unified/layout.js.map +0 -1
@@ -81,9 +81,9 @@ export function validateToolArguments(toolName, schema, args) {
81
81
  for (const [key, value] of Object.entries(args)) {
82
82
  const definition = properties[key];
83
83
  if (!definition) {
84
- // Silently ignore unknown properties - models sometimes hallucinate extra params
85
- // This is more lenient than strict JSON schema validation but prevents errors
86
- // when models pass extra parameters that don't affect tool behavior
84
+ if (schema.additionalProperties === false) {
85
+ errors.push(`Property "${key}" is not allowed.`);
86
+ }
87
87
  continue;
88
88
  }
89
89
  validateSchemaProperty(definition, value, key, errors);
@@ -1 +1 @@
1
- {"version":3,"file":"schemaValidator.js","sourceRoot":"","sources":["../../src/core/schemaValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaValidator.js","sourceRoot":"","sources":["../../src/core/schemaValidator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Comprehensive test utilities for tool validation and AI flow testing
3
+ * Provides type-safe testing patterns for erosolar-cli software engineering
4
+ */
5
+ import type { ToolCallRequest, ToolResponse, JSONSchemaObject, Result, ToolSuccessResponse, ToolErrorResponse, ToolWarningResponse } from './types.js';
6
+ import { validateToolPreconditions, validateAIFlowPatterns } from './toolPreconditions.js';
7
+ /**
8
+ * Test utilities for tool validation and AI flow testing
9
+ */
10
+ export declare namespace ToolTestUtils {
11
+ /**
12
+ * Creates a mock tool call for testing
13
+ */
14
+ function createMockToolCall(name: string, args?: Record<string, unknown>): ToolCallRequest;
15
+ /**
16
+ * Creates a mock successful tool response
17
+ */
18
+ function createMockSuccessResponse(content: string, metadata?: ToolSuccessResponse['metadata']): ToolSuccessResponse;
19
+ /**
20
+ * Creates a mock error tool response
21
+ */
22
+ function createMockErrorResponse(code: string, message: string, recoverable?: boolean): ToolErrorResponse;
23
+ /**
24
+ * Creates a mock warning tool response
25
+ */
26
+ function createMockWarningResponse(content: string, warnings: ToolWarningResponse['warnings']): ToolWarningResponse;
27
+ /**
28
+ * Validates tool arguments against schema with detailed error reporting
29
+ */
30
+ function validateToolArgs(toolName: string, schema: JSONSchemaObject | undefined, args: Record<string, unknown>): Result<void, string[]>;
31
+ /**
32
+ * Tests AI flow patterns with tool history simulation
33
+ */
34
+ function testAIFlowPatterns(toolName: string, args: Record<string, unknown>, toolHistory: Array<{
35
+ toolName: string;
36
+ args: Record<string, unknown>;
37
+ timestamp: number;
38
+ }>): {
39
+ preflightWarnings: ReturnType<typeof validateToolPreconditions>;
40
+ aiFlowWarnings: ReturnType<typeof validateAIFlowPatterns>;
41
+ };
42
+ /**
43
+ * Type-safe assertion for tool responses
44
+ */
45
+ function assertToolSuccess(response: ToolResponse): asserts response is ToolSuccessResponse;
46
+ /**
47
+ * Type-safe assertion for tool errors
48
+ */
49
+ function assertToolError(response: ToolResponse): asserts response is ToolErrorResponse;
50
+ /**
51
+ * Type-safe assertion for tool warnings
52
+ */
53
+ function assertToolWarning(response: ToolResponse): asserts response is ToolWarningResponse;
54
+ /**
55
+ * Creates a test suite for tool validation
56
+ */
57
+ function createToolTestSuite(toolName: string, schema: JSONSchemaObject | undefined): {
58
+ /**
59
+ * Test valid arguments
60
+ */
61
+ testValidArgs(args: Record<string, unknown>): void;
62
+ /**
63
+ * Test invalid arguments
64
+ */
65
+ testInvalidArgs(args: Record<string, unknown>, expectedErrors: string[]): void;
66
+ /**
67
+ * Test required arguments
68
+ */
69
+ testRequiredArgs(requiredArgs: string[]): void;
70
+ };
71
+ /**
72
+ * Performance testing utilities
73
+ */
74
+ namespace Performance {
75
+ /**
76
+ * Measures tool execution time
77
+ */
78
+ function measureExecutionTime<T>(fn: () => Promise<T> | T): Promise<{
79
+ result: T;
80
+ executionTime: number;
81
+ }>;
82
+ /**
83
+ * Runs performance benchmark
84
+ */
85
+ function benchmark(fn: () => Promise<unknown> | unknown, iterations?: number): Promise<{
86
+ averageTime: number;
87
+ minTime: number;
88
+ maxTime: number;
89
+ totalTime: number;
90
+ }>;
91
+ }
92
+ /**
93
+ * AI flow testing utilities
94
+ */
95
+ namespace AIFlow {
96
+ /**
97
+ * Simulates a complete AI flow with tool history
98
+ */
99
+ function simulateAIFlow(flow: Array<{
100
+ toolName: string;
101
+ args: Record<string, unknown>;
102
+ }>): Array<{
103
+ toolName: string;
104
+ args: Record<string, unknown>;
105
+ warnings: ReturnType<typeof validateAIFlowPatterns>;
106
+ }>;
107
+ /**
108
+ * Tests for common AI flow anti-patterns
109
+ */
110
+ function detectAntiPatterns(flow: Array<{
111
+ toolName: string;
112
+ args: Record<string, unknown>;
113
+ }>): {
114
+ sequentialReads: boolean;
115
+ editWithoutRead: boolean;
116
+ multipleValidations: boolean;
117
+ inefficientGitOps: boolean;
118
+ };
119
+ }
120
+ }
121
+ //# sourceMappingURL=testUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/core/testUtils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * Comprehensive test utilities for tool validation and AI flow testing
3
+ * Provides type-safe testing patterns for erosolar-cli software engineering
4
+ */
5
+ import { validateToolArguments, ToolArgumentValidationError } from './schemaValidator.js';
6
+ import { validateToolPreconditions, validateAIFlowPatterns } from './toolPreconditions.js';
7
+ /**
8
+ * Test utilities for tool validation and AI flow testing
9
+ */
10
+ export var ToolTestUtils;
11
+ (function (ToolTestUtils) {
12
+ /**
13
+ * Creates a mock tool call for testing
14
+ */
15
+ function createMockToolCall(name, args = {}) {
16
+ return {
17
+ id: `test-${Date.now()}-${Math.random().toString(36).substring(2)}`,
18
+ name,
19
+ arguments: args
20
+ };
21
+ }
22
+ ToolTestUtils.createMockToolCall = createMockToolCall;
23
+ /**
24
+ * Creates a mock successful tool response
25
+ */
26
+ function createMockSuccessResponse(content, metadata) {
27
+ return {
28
+ type: 'success',
29
+ content,
30
+ metadata: {
31
+ timestamp: Date.now(),
32
+ toolName: 'test-tool',
33
+ ...metadata
34
+ }
35
+ };
36
+ }
37
+ ToolTestUtils.createMockSuccessResponse = createMockSuccessResponse;
38
+ /**
39
+ * Creates a mock error tool response
40
+ */
41
+ function createMockErrorResponse(code, message, recoverable = false) {
42
+ return {
43
+ type: 'error',
44
+ error: {
45
+ code,
46
+ message,
47
+ recoverable,
48
+ toolName: 'test-tool'
49
+ }
50
+ };
51
+ }
52
+ ToolTestUtils.createMockErrorResponse = createMockErrorResponse;
53
+ /**
54
+ * Creates a mock warning tool response
55
+ */
56
+ function createMockWarningResponse(content, warnings) {
57
+ return {
58
+ type: 'warning',
59
+ content,
60
+ warnings
61
+ };
62
+ }
63
+ ToolTestUtils.createMockWarningResponse = createMockWarningResponse;
64
+ /**
65
+ * Validates tool arguments against schema with detailed error reporting
66
+ */
67
+ function validateToolArgs(toolName, schema, args) {
68
+ try {
69
+ validateToolArguments(toolName, schema, args);
70
+ return { ok: true, value: undefined };
71
+ }
72
+ catch (error) {
73
+ if (error instanceof ToolArgumentValidationError) {
74
+ return { ok: false, error: [...error.issues] };
75
+ }
76
+ return { ok: false, error: [String(error)] };
77
+ }
78
+ }
79
+ ToolTestUtils.validateToolArgs = validateToolArgs;
80
+ /**
81
+ * Tests AI flow patterns with tool history simulation
82
+ */
83
+ function testAIFlowPatterns(toolName, args, toolHistory) {
84
+ return {
85
+ preflightWarnings: validateToolPreconditions(toolName, args),
86
+ aiFlowWarnings: validateAIFlowPatterns(toolName, args, toolHistory)
87
+ };
88
+ }
89
+ ToolTestUtils.testAIFlowPatterns = testAIFlowPatterns;
90
+ /**
91
+ * Type-safe assertion for tool responses
92
+ */
93
+ function assertToolSuccess(response) {
94
+ if (response.type !== 'success') {
95
+ throw new Error(`Expected success response, got ${response.type}`);
96
+ }
97
+ }
98
+ ToolTestUtils.assertToolSuccess = assertToolSuccess;
99
+ /**
100
+ * Type-safe assertion for tool errors
101
+ */
102
+ function assertToolError(response) {
103
+ if (response.type !== 'error') {
104
+ throw new Error(`Expected error response, got ${response.type}`);
105
+ }
106
+ }
107
+ ToolTestUtils.assertToolError = assertToolError;
108
+ /**
109
+ * Type-safe assertion for tool warnings
110
+ */
111
+ function assertToolWarning(response) {
112
+ if (response.type !== 'warning') {
113
+ throw new Error(`Expected warning response, got ${response.type}`);
114
+ }
115
+ }
116
+ ToolTestUtils.assertToolWarning = assertToolWarning;
117
+ /**
118
+ * Creates a test suite for tool validation
119
+ */
120
+ function createToolTestSuite(toolName, schema) {
121
+ return {
122
+ /**
123
+ * Test valid arguments
124
+ */
125
+ testValidArgs(args) {
126
+ const result = validateToolArgs(toolName, schema, args);
127
+ if (!result.ok) {
128
+ throw new Error(`Expected valid arguments: ${result.error.join(', ')}`);
129
+ }
130
+ },
131
+ /**
132
+ * Test invalid arguments
133
+ */
134
+ testInvalidArgs(args, expectedErrors) {
135
+ const result = validateToolArgs(toolName, schema, args);
136
+ if (result.ok) {
137
+ throw new Error('Expected invalid arguments');
138
+ }
139
+ const missingErrors = expectedErrors.filter(expected => !result.error.some(actual => actual.includes(expected)));
140
+ if (missingErrors.length > 0) {
141
+ throw new Error(`Missing expected errors: ${missingErrors.join(', ')}`);
142
+ }
143
+ },
144
+ /**
145
+ * Test required arguments
146
+ */
147
+ testRequiredArgs(requiredArgs) {
148
+ for (const arg of requiredArgs) {
149
+ const result = validateToolArgs(toolName, schema, {});
150
+ if (result.ok || !result.error.some(e => e.includes(arg))) {
151
+ throw new Error(`Expected missing required argument: ${arg}`);
152
+ }
153
+ }
154
+ }
155
+ };
156
+ }
157
+ ToolTestUtils.createToolTestSuite = createToolTestSuite;
158
+ /**
159
+ * Performance testing utilities
160
+ */
161
+ let Performance;
162
+ (function (Performance) {
163
+ /**
164
+ * Measures tool execution time
165
+ */
166
+ async function measureExecutionTime(fn) {
167
+ const start = performance.now();
168
+ const result = await fn();
169
+ const executionTime = performance.now() - start;
170
+ return { result, executionTime };
171
+ }
172
+ Performance.measureExecutionTime = measureExecutionTime;
173
+ /**
174
+ * Runs performance benchmark
175
+ */
176
+ async function benchmark(fn, iterations = 100) {
177
+ const times = [];
178
+ for (let i = 0; i < iterations; i++) {
179
+ const start = performance.now();
180
+ await fn();
181
+ const end = performance.now();
182
+ times.push(end - start);
183
+ }
184
+ const totalTime = times.reduce((sum, time) => sum + time, 0);
185
+ const averageTime = totalTime / iterations;
186
+ const minTime = Math.min(...times);
187
+ const maxTime = Math.max(...times);
188
+ return { averageTime, minTime, maxTime, totalTime };
189
+ }
190
+ Performance.benchmark = benchmark;
191
+ })(Performance = ToolTestUtils.Performance || (ToolTestUtils.Performance = {}));
192
+ /**
193
+ * AI flow testing utilities
194
+ */
195
+ let AIFlow;
196
+ (function (AIFlow) {
197
+ /**
198
+ * Simulates a complete AI flow with tool history
199
+ */
200
+ function simulateAIFlow(flow) {
201
+ const toolHistory = [];
202
+ const results = [];
203
+ for (const step of flow) {
204
+ const warnings = validateAIFlowPatterns(step.toolName, step.args, toolHistory);
205
+ results.push({
206
+ toolName: step.toolName,
207
+ args: step.args,
208
+ warnings
209
+ });
210
+ // Add to history for next iteration
211
+ toolHistory.push({
212
+ toolName: step.toolName,
213
+ args: step.args,
214
+ timestamp: Date.now()
215
+ });
216
+ }
217
+ return results;
218
+ }
219
+ AIFlow.simulateAIFlow = simulateAIFlow;
220
+ /**
221
+ * Tests for common AI flow anti-patterns
222
+ */
223
+ function detectAntiPatterns(flow) {
224
+ const toolNames = flow.map(step => step.toolName);
225
+ return {
226
+ sequentialReads: toolNames.filter(name => name.includes('read') || name.includes('Read')).length > 1,
227
+ editWithoutRead: toolNames.includes('Edit') && !toolNames.some(name => name.includes('read') || name.includes('Read')),
228
+ multipleValidations: toolNames.filter(name => name.includes('test') || name.includes('validate') || name.includes('check')).length > 1,
229
+ inefficientGitOps: toolNames.filter(name => name.includes('git') || name.includes('Git')).length > 2
230
+ };
231
+ }
232
+ AIFlow.detectAntiPatterns = detectAntiPatterns;
233
+ })(AIFlow = ToolTestUtils.AIFlow || (ToolTestUtils.AIFlow = {}));
234
+ })(ToolTestUtils || (ToolTestUtils = {}));
235
+ //# sourceMappingURL=testUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/core/testUtils.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,17 @@ export interface PreflightWarning {
8
8
  readonly severity: 'critical' | 'warning' | 'info';
9
9
  readonly suggestion: string;
10
10
  }
11
+ export declare const AI_FLOW_VALIDATION_PATTERNS: {
12
+ readonly EDIT_LONG_SINGLE_LINE: RegExp;
13
+ readonly EDIT_PLACEHOLDER_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp];
14
+ readonly EDIT_FUNCTION_SIGNATURE: RegExp;
15
+ readonly SEARCH_OVERLY_BROAD: readonly [RegExp, RegExp, RegExp, RegExp];
16
+ readonly GIT_REDUNDANT_STATUS: RegExp;
17
+ readonly GIT_INEFFICIENT_CHAIN: RegExp;
18
+ readonly NPM_INCOMPLETE_PUBLISH: RegExp;
19
+ readonly CONTEXT_REDUNDANT_SNAPSHOT: RegExp;
20
+ readonly VALIDATION_EARLY_RUN: RegExp;
21
+ };
11
22
  /**
12
23
  * Validate tool preconditions before execution to prevent common AI flow failures.
13
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"toolPreconditions.d.ts","sourceRoot":"","sources":["../../src/core/toolPreconditions.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAGD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,EAAE,CA0GpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9F,gBAAgB,EAAE,CAoFpB"}
1
+ {"version":3,"file":"toolPreconditions.d.ts","sourceRoot":"","sources":["../../src/core/toolPreconditions.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAGD,eAAO,MAAM,2BAA2B;;;;;;;;;;CA+B9B,CAAC;AAEX;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,gBAAgB,EAAE,CAkMpB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,EAAE,SAAS;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,GAC9F,gBAAgB,EAAE,CA6EpB"}