@skyramp/mcp 0.2.6 → 0.2.7

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 (184) hide show
  1. package/build/commands/commandLibrary.d.ts +12 -0
  2. package/build/commands/recommendTestsAndExecuteCommand.d.ts +2 -0
  3. package/build/commands/testThisEndpointCommand.d.ts +2 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +1 -2
  6. package/build/playwright/PlaywrightTraceService.d.ts +32 -0
  7. package/build/playwright/index.d.ts +3 -0
  8. package/build/playwright/registerPlaywrightTools.d.ts +8 -0
  9. package/build/playwright/registerPlaywrightTools.js +12 -11
  10. package/build/playwright/traceRecordingPrompt.d.ts +13 -0
  11. package/build/playwright/traceRecordingPrompt.js +3 -11
  12. package/build/prompts/code-reuse.d.ts +1 -0
  13. package/build/prompts/enhance-assertions/contractProviderAssertionsPrompt.d.ts +2 -0
  14. package/build/prompts/enhance-assertions/integrationAssertionsPrompt.d.ts +2 -0
  15. package/build/prompts/enhance-assertions/sharedAssertionRules.d.ts +15 -0
  16. package/build/prompts/enhance-assertions/uiAssertionsPrompt.d.ts +2 -0
  17. package/build/prompts/fix-error-prompt.d.ts +1 -0
  18. package/build/prompts/initialize-workspace/initializeWorkspacePrompt.d.ts +1 -0
  19. package/build/prompts/modularization/integration-test-modularization.d.ts +1 -0
  20. package/build/prompts/modularization/ui-test-modularization.d.ts +1 -0
  21. package/build/prompts/personas.d.ts +21 -0
  22. package/build/prompts/pom-aware-code-reuse.d.ts +1 -0
  23. package/build/prompts/startTraceCollectionPrompts.d.ts +2 -0
  24. package/build/prompts/test-maintenance/actionsInstructions.d.ts +35 -0
  25. package/build/prompts/test-maintenance/drift-analysis-prompt.d.ts +4 -0
  26. package/build/prompts/test-maintenance/driftAnalysisSections.d.ts +13 -0
  27. package/build/prompts/test-recommendation/analysisOutputPrompt.d.ts +84 -0
  28. package/build/prompts/test-recommendation/analysisOutputPrompt.test.d.ts +1 -0
  29. package/build/prompts/test-recommendation/analysisOutputPrompt.test.js +1 -0
  30. package/build/prompts/test-recommendation/diffExecutionPlan.d.ts +17 -0
  31. package/build/prompts/test-recommendation/diffExecutionPlan.js +7 -16
  32. package/build/prompts/test-recommendation/fullRepoCatalog.d.ts +7 -0
  33. package/build/prompts/test-recommendation/mergeEnrichedScenarios.test.d.ts +1 -0
  34. package/build/prompts/test-recommendation/mergeEnrichedScenarios.test.js +1 -0
  35. package/build/prompts/test-recommendation/promptPlan.d.ts +203 -0
  36. package/build/prompts/test-recommendation/promptPlan.test.d.ts +1 -0
  37. package/build/prompts/test-recommendation/recommendationSections.d.ts +35 -0
  38. package/build/prompts/test-recommendation/recommendationShared.d.ts +31 -0
  39. package/build/prompts/test-recommendation/registerRecommendTestsPrompt.d.ts +7 -0
  40. package/build/prompts/test-recommendation/scopeAssessment.d.ts +55 -0
  41. package/build/prompts/test-recommendation/scopeAssessment.js +2 -2
  42. package/build/prompts/test-recommendation/scopeAssessment.test.d.ts +1 -0
  43. package/build/prompts/test-recommendation/scopeAssessment.test.js +1 -0
  44. package/build/prompts/test-recommendation/test-recommendation-prompt.d.ts +6 -0
  45. package/build/prompts/test-recommendation/test-recommendation-prompt.js +4 -4
  46. package/build/prompts/test-recommendation/test-recommendation-prompt.test.d.ts +1 -0
  47. package/build/prompts/test-recommendation/test-recommendation-prompt.test.js +6 -99
  48. package/build/prompts/testbot/testbot-prompts.d.ts +11 -0
  49. package/build/prompts/testbot/testbot-prompts.js +198 -34
  50. package/build/prompts/testbot/testbot-prompts.test.d.ts +1 -0
  51. package/build/prompts/testbot/testbot-prompts.test.js +15 -73
  52. package/build/resources/analysisResources.d.ts +17 -0
  53. package/build/resources/progressResource.d.ts +2 -0
  54. package/build/resources/testbotResource.d.ts +2 -0
  55. package/build/services/AnalyticsService.d.ts +13 -0
  56. package/build/services/AnalyticsService.test.d.ts +1 -0
  57. package/build/services/AnalyticsService.test.js +86 -0
  58. package/build/services/ModularizationService.d.ts +11 -0
  59. package/build/services/ScenarioGenerationService.d.ts +37 -0
  60. package/build/services/ScenarioGenerationService.integration.test.d.ts +1 -0
  61. package/build/services/ScenarioGenerationService.integration.test.js +4 -0
  62. package/build/services/ScenarioGenerationService.test.d.ts +1 -0
  63. package/build/services/TestDiscoveryService.d.ts +128 -0
  64. package/build/services/TestDiscoveryService.test.d.ts +1 -0
  65. package/build/services/TestDiscoveryService.test.js +4 -3
  66. package/build/services/TestExecutionService.d.ts +46 -0
  67. package/build/services/TestExecutionService.test.d.ts +1 -0
  68. package/build/services/TestExecutionService.test.js +33 -25
  69. package/build/services/TestGenerationService.d.ts +56 -0
  70. package/build/services/TestGenerationService.test.d.ts +1 -0
  71. package/build/services/TestGenerationService.test.js +10 -8
  72. package/build/services/containerEnv.d.ts +14 -0
  73. package/build/tool-phase-coverage.test.d.ts +1 -0
  74. package/build/tool-phase-coverage.test.js +2 -0
  75. package/build/tool-phases.d.ts +38 -0
  76. package/build/tools/auth/loginTool.d.ts +2 -0
  77. package/build/tools/auth/logoutTool.d.ts +2 -0
  78. package/build/tools/code-refactor/codeReuseTool.d.ts +2 -0
  79. package/build/tools/code-refactor/enhanceAssertionsTool.d.ts +2 -0
  80. package/build/tools/code-refactor/modularizationTool.d.ts +2 -0
  81. package/build/tools/executeSkyrampTestTool.d.ts +2 -0
  82. package/build/tools/fixErrorTool.d.ts +2 -0
  83. package/build/tools/generate-tests/generateBatchScenarioRestTool.d.ts +45 -0
  84. package/build/tools/generate-tests/generateBatchScenarioRestTool.test.d.ts +1 -0
  85. package/build/tools/generate-tests/generateBatchScenarioRestTool.test.js +11 -9
  86. package/build/tools/generate-tests/generateContractRestTool.d.ts +31 -0
  87. package/build/tools/generate-tests/generateE2ERestTool.d.ts +13 -0
  88. package/build/tools/generate-tests/generateFuzzRestTool.d.ts +10 -0
  89. package/build/tools/generate-tests/generateIntegrationRestTool.d.ts +16 -0
  90. package/build/tools/generate-tests/generateLoadRestTool.d.ts +18 -0
  91. package/build/tools/generate-tests/generateLoadRestTool.test.d.ts +1 -0
  92. package/build/tools/generate-tests/generateMockRestTool.d.ts +64 -0
  93. package/build/tools/generate-tests/generateSmokeRestTool.d.ts +8 -0
  94. package/build/tools/generate-tests/generateUIRestTool.d.ts +14 -0
  95. package/build/tools/generate-tests/generateUIRestTool.js +1 -1
  96. package/build/tools/generate-tests/loadTestSchema.d.ts +39 -0
  97. package/build/tools/one-click/oneClickTool.d.ts +11 -0
  98. package/build/tools/submitReportTool.d.ts +384 -0
  99. package/build/tools/submitReportTool.js +144 -2
  100. package/build/tools/submitReportTool.test.d.ts +1 -0
  101. package/build/tools/submitReportTool.test.js +215 -5
  102. package/build/tools/test-management/actionsTool.d.ts +10 -0
  103. package/build/tools/test-management/analyzeChangesTool.d.ts +27 -0
  104. package/build/tools/test-management/analyzeChangesTool.js +44 -7
  105. package/build/tools/test-management/analyzeChangesTool.test.d.ts +1 -0
  106. package/build/tools/test-management/analyzeChangesTool.test.js +76 -39
  107. package/build/tools/test-management/analyzeTestHealthTool.d.ts +2 -0
  108. package/build/tools/test-management/index.d.ts +3 -0
  109. package/build/tools/test-management/index.js +0 -1
  110. package/build/tools/trace/resolveSaveStoragePath.d.ts +7 -0
  111. package/build/tools/trace/resolveSaveStoragePath.test.d.ts +1 -0
  112. package/build/tools/trace/resolveSessionPaths.d.ts +40 -0
  113. package/build/tools/trace/resolveSessionPaths.test.d.ts +1 -0
  114. package/build/tools/trace/sessionState.d.ts +2 -0
  115. package/build/tools/trace/sessionState.test.d.ts +1 -0
  116. package/build/tools/trace/startTraceCollectionTool.d.ts +2 -0
  117. package/build/tools/trace/stopTraceCollectionTool.d.ts +2 -0
  118. package/build/tools/workspace/initScanWorkspaceTool.d.ts +4 -0
  119. package/build/tools/workspace/initializeWorkspaceTool.d.ts +2 -0
  120. package/build/tools/workspace/initializeWorkspaceTool.test.d.ts +1 -0
  121. package/build/tools/workspace/initializeWorkspaceTool.test.js +134 -0
  122. package/build/types/OneClickCommands.d.ts +68 -0
  123. package/build/types/RepositoryAnalysis.d.ts +3004 -0
  124. package/build/types/TestAnalysis.d.ts +96 -0
  125. package/build/types/TestExecution.d.ts +53 -0
  126. package/build/types/TestRecommendation.d.ts +12 -0
  127. package/build/types/TestTypes.d.ts +234 -0
  128. package/build/utils/AnalysisStateManager.d.ts +182 -0
  129. package/build/utils/AnalysisStateManager.test.d.ts +1 -0
  130. package/build/utils/analyze-openapi.d.ts +1 -0
  131. package/build/utils/branchDiff.d.ts +18 -0
  132. package/build/utils/dartRouteExtractor.d.ts +45 -0
  133. package/build/utils/dartRouteExtractor.test.d.ts +1 -0
  134. package/build/utils/docker.d.ts +19 -0
  135. package/build/utils/docker.test.d.ts +1 -0
  136. package/build/utils/docker.test.js +10 -9
  137. package/build/utils/featureFlags.d.ts +37 -0
  138. package/build/utils/featureFlags.test.d.ts +1 -0
  139. package/build/utils/gitStaging.d.ts +24 -0
  140. package/build/utils/gitStaging.test.d.ts +1 -0
  141. package/build/utils/gitStaging.test.js +13 -7
  142. package/build/utils/httpDefaults.d.ts +10 -0
  143. package/build/utils/httpDefaults.test.d.ts +1 -0
  144. package/build/utils/initAgent.d.ts +36 -0
  145. package/build/utils/language-helper.d.ts +6 -0
  146. package/build/utils/logger.d.ts +11 -0
  147. package/build/utils/normalizeParams.d.ts +14 -0
  148. package/build/utils/normalizeSkyrampImports.d.ts +13 -0
  149. package/build/utils/pr-comment-parser.d.ts +31 -0
  150. package/build/utils/pr-comment-parser.test.d.ts +1 -0
  151. package/build/utils/pr-comment-parser.test.js +6 -5
  152. package/build/utils/projectMetadata.d.ts +15 -0
  153. package/build/utils/projectMetadata.test.d.ts +1 -0
  154. package/build/utils/proxy-terminal.d.ts +2 -0
  155. package/build/utils/repoScanner.d.ts +27 -0
  156. package/build/utils/repoScanner.test.d.ts +1 -0
  157. package/build/utils/routeParsers.d.ts +63 -0
  158. package/build/utils/routeParsers.test.d.ts +1 -0
  159. package/build/utils/scenarioDrafting.d.ts +71 -0
  160. package/build/utils/scenarioDrafting.test.d.ts +1 -0
  161. package/build/utils/skyrampMdContent.d.ts +5 -0
  162. package/build/utils/sourceRouteExtractor.d.ts +48 -0
  163. package/build/utils/sourceRouteExtractor.test.d.ts +1 -0
  164. package/build/utils/telemetry.d.ts +32 -0
  165. package/build/utils/telemetry.test.d.ts +1 -0
  166. package/build/utils/trace-parser.d.ts +32 -0
  167. package/build/utils/trace-parser.test.d.ts +6 -0
  168. package/build/utils/uiPageEnumerator.d.ts +146 -0
  169. package/build/utils/uiPageEnumerator.js +58 -14
  170. package/build/utils/uiPageEnumerator.test.d.ts +1 -0
  171. package/build/utils/uiPageEnumerator.test.js +223 -43
  172. package/build/utils/utils.d.ts +39 -0
  173. package/build/utils/utils.test.d.ts +1 -0
  174. package/build/utils/versions.d.ts +3 -0
  175. package/build/utils/versions.js +1 -1
  176. package/build/utils/workspaceAuth.d.ts +127 -0
  177. package/build/utils/workspaceAuth.test.d.ts +1 -0
  178. package/build/utils/workspaceAuth.test.js +25 -25
  179. package/build/workspace/index.d.ts +1 -0
  180. package/build/workspace/workspace.d.ts +390 -0
  181. package/build/workspace/workspace.test.d.ts +1 -0
  182. package/package.json +8 -3
  183. package/build/tools/test-management/uiAnalyzeChangesTool.js +0 -155
  184. package/build/tools/test-management/uiAnalyzeChangesTool.test.js +0 -147
@@ -0,0 +1,3004 @@
1
+ import { z } from "zod";
2
+ import { ScenarioCategory } from "./TestRecommendation.js";
3
+ import { TestType } from "./TestTypes.js";
4
+ import type { ProjectType, DeploymentPattern } from "../utils/projectMetadata.js";
5
+ /**
6
+ * Repository Analysis Types
7
+ * Comprehensive structure for analyzing code repositories
8
+ */
9
+ export declare enum AnalysisScope {
10
+ FullRepo = "full_repo",
11
+ CurrentBranchDiff = "current_branch_diff"
12
+ }
13
+ /** Returns true when the analysis was scoped to the current branch diff (PR mode). */
14
+ export declare function isDiff(scope: AnalysisScope | string | undefined): boolean;
15
+ export interface ParamInfo {
16
+ name: string;
17
+ type: string;
18
+ required: boolean;
19
+ description?: string;
20
+ constraints?: string;
21
+ }
22
+ export interface CookieInfo {
23
+ name: string;
24
+ sampleValue: string;
25
+ purpose: string;
26
+ httpOnly: boolean;
27
+ secure: boolean;
28
+ }
29
+ export interface EndpointInteraction {
30
+ description: string;
31
+ type: "success" | "error" | "edge-case";
32
+ request: {
33
+ contentType?: string;
34
+ body?: Record<string, any>;
35
+ headers?: Record<string, string>;
36
+ queryParams?: Record<string, any>;
37
+ };
38
+ response: {
39
+ statusCode: number;
40
+ description: string;
41
+ body?: Record<string, any>;
42
+ headers?: Record<string, string>;
43
+ cookies?: CookieInfo[];
44
+ };
45
+ }
46
+ export interface EndpointMethod {
47
+ method: string;
48
+ description: string;
49
+ queryParams: ParamInfo[];
50
+ authRequired: boolean;
51
+ authType?: string;
52
+ scopes?: string[];
53
+ sourceFile: string;
54
+ interactions: EndpointInteraction[];
55
+ dependsOn?: string[];
56
+ createsResource?: string;
57
+ }
58
+ export interface EnrichedEndpoint {
59
+ path: string;
60
+ resourceGroup: string;
61
+ pathParams: ParamInfo[];
62
+ methods: EndpointMethod[];
63
+ }
64
+ export interface ChainingRef {
65
+ sourceStep: number;
66
+ sourceField: string;
67
+ sourceLocation: "body" | "header" | "cookie";
68
+ targetParam: string;
69
+ targetLocation: "path" | "body" | "query" | "header" | "cookie";
70
+ }
71
+ export interface ScenarioStep {
72
+ order: number;
73
+ method: string;
74
+ path: string;
75
+ description: string;
76
+ interactionType: "success" | "error" | "edge-case";
77
+ requestBody?: Record<string, any>;
78
+ queryParams?: Record<string, any>;
79
+ responseBody?: Record<string, any>;
80
+ expectedStatusCode: number;
81
+ expectedResponseFields?: string[];
82
+ chainsFrom?: ChainingRef | ChainingRef[];
83
+ /** Structured hint for the LLM: fields that MUST appear in the request body for this step. */
84
+ bodyMustInclude?: string[];
85
+ }
86
+ export declare enum ScenarioSource {
87
+ CodeInferred = "code-inferred",
88
+ Trace = "trace",
89
+ Documentation = "documentation",
90
+ AgentEnriched = "agent-enriched"
91
+ }
92
+ export interface DraftedScenario {
93
+ scenarioName: string;
94
+ description: string;
95
+ category: ScenarioCategory;
96
+ priority: "high" | "medium" | "low";
97
+ steps: ScenarioStep[];
98
+ chainingKeys: string[];
99
+ requiresAuth: boolean;
100
+ estimatedComplexity: "simple" | "moderate" | "complex";
101
+ source?: ScenarioSource;
102
+ /** Only integration, contract, e2e, and ui are valid for drafted scenarios. */
103
+ testType?: TestType;
104
+ /** Internal marker for destructive sibling auth-boundary scenarios. */
105
+ isAttackSurfaceSecurityBoundary?: boolean;
106
+ /**
107
+ * The specific bug or formula this test is designed to catch.
108
+ * Written during scenario drafting when source code is read.
109
+ * Examples:
110
+ * "discount formula: total_amount = subtotal * (1 - discount_value / 100)"
111
+ * "items not recalculated after PATCH — total_amount stays at old value"
112
+ * "missing 404 guard on non-existent order_id"
113
+ * Used by the testbot to compute exact assertion values instead of null-checks.
114
+ */
115
+ bugCatchingTarget?: string;
116
+ }
117
+ export interface BranchDiffContext {
118
+ currentBranch: string;
119
+ baseBranch: string;
120
+ changedFiles: string[];
121
+ newEndpoints: Array<{
122
+ path: string;
123
+ methods: Array<{
124
+ method: string;
125
+ sourceFile: string;
126
+ interactionCount: number;
127
+ }>;
128
+ }>;
129
+ modifiedEndpoints: Array<{
130
+ path: string;
131
+ methods: Array<{
132
+ method: string;
133
+ sourceFile: string;
134
+ changeType: "added" | "modified" | "removed";
135
+ }>;
136
+ }>;
137
+ removedEndpoints?: Array<{
138
+ path: string;
139
+ methods: Array<{
140
+ method: string;
141
+ sourceFile: string;
142
+ changeType: "removed";
143
+ }>;
144
+ }>;
145
+ affectedServices: string[];
146
+ summary?: string;
147
+ }
148
+ export interface RepositoryAnalysis {
149
+ metadata: AnalysisMetadata;
150
+ projectClassification: ProjectClassification;
151
+ technologyStack: TechnologyStack;
152
+ businessContext: BusinessContext;
153
+ artifacts: DiscoveredArtifacts;
154
+ apiEndpoints: ApiEndpointInfo;
155
+ authentication: AuthenticationInfo;
156
+ infrastructure: InfrastructureInfo;
157
+ existingTests: ExistingTestInfo;
158
+ branchDiffContext?: BranchDiffContext;
159
+ }
160
+ export interface AnalysisMetadata {
161
+ repositoryName: string;
162
+ analysisDate: string;
163
+ scanDepth: "quick" | "full";
164
+ analysisScope?: AnalysisScope;
165
+ }
166
+ export interface ProjectClassification {
167
+ projectType: ProjectType;
168
+ primaryLanguage: string;
169
+ primaryFramework: string;
170
+ deploymentPattern: DeploymentPattern;
171
+ }
172
+ export interface TechnologyStack {
173
+ languages: string[];
174
+ frameworks: string[];
175
+ runtime: string;
176
+ keyDependencies: Array<{
177
+ name: string;
178
+ version: string;
179
+ purpose: string;
180
+ }>;
181
+ }
182
+ export interface BusinessContext {
183
+ mainPurpose: string;
184
+ userFlows: string[];
185
+ dataFlows: string[];
186
+ integrationPatterns: string[];
187
+ draftedScenarios: DraftedScenario[];
188
+ }
189
+ export interface DiscoveredArtifacts {
190
+ openApiSpecs: Array<{
191
+ path: string;
192
+ version: string;
193
+ endpointCount: number;
194
+ baseUrl: string;
195
+ authType: string;
196
+ }>;
197
+ playwrightRecordings: Array<{
198
+ path: string;
199
+ description: string;
200
+ }>;
201
+ traceFiles: TraceFile[];
202
+ notFound: string[];
203
+ }
204
+ export interface TraceFile {
205
+ path: string;
206
+ format: string;
207
+ analyzed?: boolean;
208
+ userFlows?: string[];
209
+ }
210
+ export interface ApiEndpointInfo {
211
+ totalCount: number;
212
+ baseUrl: string;
213
+ endpoints: EnrichedEndpoint[];
214
+ }
215
+ export interface AuthenticationInfo {
216
+ method: string;
217
+ configLocation: string;
218
+ envVarsRequired: string[];
219
+ setupExample: string;
220
+ }
221
+ export interface InfrastructureInfo {
222
+ isContainerized: boolean;
223
+ hasDockerCompose: boolean;
224
+ hasKubernetes: boolean;
225
+ hasCiCd: boolean;
226
+ ciCdPlatform?: string;
227
+ }
228
+ export interface ExistingTestInfo {
229
+ frameworks: string[];
230
+ coverage: {
231
+ unit: number;
232
+ integration: number;
233
+ e2e: number;
234
+ ui: number;
235
+ load: number;
236
+ contract: number;
237
+ smoke: number;
238
+ };
239
+ testLocations: Record<string, string>;
240
+ hasCoverageReports: boolean;
241
+ estimatedCoverage?: number;
242
+ /**
243
+ * Paths of external test files that are relevant to the current PR's changed endpoints
244
+ * (relevance determined by resource-name overlap). The agent should read these files
245
+ * in Step 0 to definitively determine coverage before generating new tests.
246
+ */
247
+ relevantExternalTestPaths?: string[];
248
+ }
249
+ export declare const analysisScopeSchema: z.ZodNativeEnum<typeof AnalysisScope>;
250
+ export declare const paramInfoSchema: z.ZodObject<{
251
+ name: z.ZodString;
252
+ type: z.ZodString;
253
+ required: z.ZodBoolean;
254
+ description: z.ZodOptional<z.ZodString>;
255
+ constraints: z.ZodOptional<z.ZodString>;
256
+ }, "strip", z.ZodTypeAny, {
257
+ type: string;
258
+ name: string;
259
+ required: boolean;
260
+ description?: string | undefined;
261
+ constraints?: string | undefined;
262
+ }, {
263
+ type: string;
264
+ name: string;
265
+ required: boolean;
266
+ description?: string | undefined;
267
+ constraints?: string | undefined;
268
+ }>;
269
+ export declare const cookieInfoSchema: z.ZodObject<{
270
+ name: z.ZodString;
271
+ sampleValue: z.ZodString;
272
+ purpose: z.ZodString;
273
+ httpOnly: z.ZodBoolean;
274
+ secure: z.ZodBoolean;
275
+ }, "strip", z.ZodTypeAny, {
276
+ name: string;
277
+ sampleValue: string;
278
+ purpose: string;
279
+ httpOnly: boolean;
280
+ secure: boolean;
281
+ }, {
282
+ name: string;
283
+ sampleValue: string;
284
+ purpose: string;
285
+ httpOnly: boolean;
286
+ secure: boolean;
287
+ }>;
288
+ export declare const endpointInteractionSchema: z.ZodObject<{
289
+ description: z.ZodString;
290
+ type: z.ZodEnum<["success", "error", "edge-case"]>;
291
+ request: z.ZodObject<{
292
+ contentType: z.ZodOptional<z.ZodString>;
293
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
294
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
295
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
296
+ }, "strip", z.ZodTypeAny, {
297
+ body?: Record<string, any> | undefined;
298
+ contentType?: string | undefined;
299
+ headers?: Record<string, string> | undefined;
300
+ queryParams?: Record<string, any> | undefined;
301
+ }, {
302
+ body?: Record<string, any> | undefined;
303
+ contentType?: string | undefined;
304
+ headers?: Record<string, string> | undefined;
305
+ queryParams?: Record<string, any> | undefined;
306
+ }>;
307
+ response: z.ZodObject<{
308
+ statusCode: z.ZodNumber;
309
+ description: z.ZodString;
310
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
311
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
312
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
313
+ name: z.ZodString;
314
+ sampleValue: z.ZodString;
315
+ purpose: z.ZodString;
316
+ httpOnly: z.ZodBoolean;
317
+ secure: z.ZodBoolean;
318
+ }, "strip", z.ZodTypeAny, {
319
+ name: string;
320
+ sampleValue: string;
321
+ purpose: string;
322
+ httpOnly: boolean;
323
+ secure: boolean;
324
+ }, {
325
+ name: string;
326
+ sampleValue: string;
327
+ purpose: string;
328
+ httpOnly: boolean;
329
+ secure: boolean;
330
+ }>, "many">>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ description: string;
333
+ statusCode: number;
334
+ body?: Record<string, any> | undefined;
335
+ headers?: Record<string, string> | undefined;
336
+ cookies?: {
337
+ name: string;
338
+ sampleValue: string;
339
+ purpose: string;
340
+ httpOnly: boolean;
341
+ secure: boolean;
342
+ }[] | undefined;
343
+ }, {
344
+ description: string;
345
+ statusCode: number;
346
+ body?: Record<string, any> | undefined;
347
+ headers?: Record<string, string> | undefined;
348
+ cookies?: {
349
+ name: string;
350
+ sampleValue: string;
351
+ purpose: string;
352
+ httpOnly: boolean;
353
+ secure: boolean;
354
+ }[] | undefined;
355
+ }>;
356
+ }, "strip", z.ZodTypeAny, {
357
+ type: "error" | "success" | "edge-case";
358
+ description: string;
359
+ request: {
360
+ body?: Record<string, any> | undefined;
361
+ contentType?: string | undefined;
362
+ headers?: Record<string, string> | undefined;
363
+ queryParams?: Record<string, any> | undefined;
364
+ };
365
+ response: {
366
+ description: string;
367
+ statusCode: number;
368
+ body?: Record<string, any> | undefined;
369
+ headers?: Record<string, string> | undefined;
370
+ cookies?: {
371
+ name: string;
372
+ sampleValue: string;
373
+ purpose: string;
374
+ httpOnly: boolean;
375
+ secure: boolean;
376
+ }[] | undefined;
377
+ };
378
+ }, {
379
+ type: "error" | "success" | "edge-case";
380
+ description: string;
381
+ request: {
382
+ body?: Record<string, any> | undefined;
383
+ contentType?: string | undefined;
384
+ headers?: Record<string, string> | undefined;
385
+ queryParams?: Record<string, any> | undefined;
386
+ };
387
+ response: {
388
+ description: string;
389
+ statusCode: number;
390
+ body?: Record<string, any> | undefined;
391
+ headers?: Record<string, string> | undefined;
392
+ cookies?: {
393
+ name: string;
394
+ sampleValue: string;
395
+ purpose: string;
396
+ httpOnly: boolean;
397
+ secure: boolean;
398
+ }[] | undefined;
399
+ };
400
+ }>;
401
+ export declare const endpointMethodSchema: z.ZodObject<{
402
+ method: z.ZodString;
403
+ description: z.ZodString;
404
+ queryParams: z.ZodArray<z.ZodObject<{
405
+ name: z.ZodString;
406
+ type: z.ZodString;
407
+ required: z.ZodBoolean;
408
+ description: z.ZodOptional<z.ZodString>;
409
+ constraints: z.ZodOptional<z.ZodString>;
410
+ }, "strip", z.ZodTypeAny, {
411
+ type: string;
412
+ name: string;
413
+ required: boolean;
414
+ description?: string | undefined;
415
+ constraints?: string | undefined;
416
+ }, {
417
+ type: string;
418
+ name: string;
419
+ required: boolean;
420
+ description?: string | undefined;
421
+ constraints?: string | undefined;
422
+ }>, "many">;
423
+ authRequired: z.ZodBoolean;
424
+ authType: z.ZodOptional<z.ZodString>;
425
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
426
+ sourceFile: z.ZodString;
427
+ interactions: z.ZodArray<z.ZodObject<{
428
+ description: z.ZodString;
429
+ type: z.ZodEnum<["success", "error", "edge-case"]>;
430
+ request: z.ZodObject<{
431
+ contentType: z.ZodOptional<z.ZodString>;
432
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
433
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
434
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
435
+ }, "strip", z.ZodTypeAny, {
436
+ body?: Record<string, any> | undefined;
437
+ contentType?: string | undefined;
438
+ headers?: Record<string, string> | undefined;
439
+ queryParams?: Record<string, any> | undefined;
440
+ }, {
441
+ body?: Record<string, any> | undefined;
442
+ contentType?: string | undefined;
443
+ headers?: Record<string, string> | undefined;
444
+ queryParams?: Record<string, any> | undefined;
445
+ }>;
446
+ response: z.ZodObject<{
447
+ statusCode: z.ZodNumber;
448
+ description: z.ZodString;
449
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
450
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
451
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
452
+ name: z.ZodString;
453
+ sampleValue: z.ZodString;
454
+ purpose: z.ZodString;
455
+ httpOnly: z.ZodBoolean;
456
+ secure: z.ZodBoolean;
457
+ }, "strip", z.ZodTypeAny, {
458
+ name: string;
459
+ sampleValue: string;
460
+ purpose: string;
461
+ httpOnly: boolean;
462
+ secure: boolean;
463
+ }, {
464
+ name: string;
465
+ sampleValue: string;
466
+ purpose: string;
467
+ httpOnly: boolean;
468
+ secure: boolean;
469
+ }>, "many">>;
470
+ }, "strip", z.ZodTypeAny, {
471
+ description: string;
472
+ statusCode: number;
473
+ body?: Record<string, any> | undefined;
474
+ headers?: Record<string, string> | undefined;
475
+ cookies?: {
476
+ name: string;
477
+ sampleValue: string;
478
+ purpose: string;
479
+ httpOnly: boolean;
480
+ secure: boolean;
481
+ }[] | undefined;
482
+ }, {
483
+ description: string;
484
+ statusCode: number;
485
+ body?: Record<string, any> | undefined;
486
+ headers?: Record<string, string> | undefined;
487
+ cookies?: {
488
+ name: string;
489
+ sampleValue: string;
490
+ purpose: string;
491
+ httpOnly: boolean;
492
+ secure: boolean;
493
+ }[] | undefined;
494
+ }>;
495
+ }, "strip", z.ZodTypeAny, {
496
+ type: "error" | "success" | "edge-case";
497
+ description: string;
498
+ request: {
499
+ body?: Record<string, any> | undefined;
500
+ contentType?: string | undefined;
501
+ headers?: Record<string, string> | undefined;
502
+ queryParams?: Record<string, any> | undefined;
503
+ };
504
+ response: {
505
+ description: string;
506
+ statusCode: number;
507
+ body?: Record<string, any> | undefined;
508
+ headers?: Record<string, string> | undefined;
509
+ cookies?: {
510
+ name: string;
511
+ sampleValue: string;
512
+ purpose: string;
513
+ httpOnly: boolean;
514
+ secure: boolean;
515
+ }[] | undefined;
516
+ };
517
+ }, {
518
+ type: "error" | "success" | "edge-case";
519
+ description: string;
520
+ request: {
521
+ body?: Record<string, any> | undefined;
522
+ contentType?: string | undefined;
523
+ headers?: Record<string, string> | undefined;
524
+ queryParams?: Record<string, any> | undefined;
525
+ };
526
+ response: {
527
+ description: string;
528
+ statusCode: number;
529
+ body?: Record<string, any> | undefined;
530
+ headers?: Record<string, string> | undefined;
531
+ cookies?: {
532
+ name: string;
533
+ sampleValue: string;
534
+ purpose: string;
535
+ httpOnly: boolean;
536
+ secure: boolean;
537
+ }[] | undefined;
538
+ };
539
+ }>, "many">;
540
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
541
+ createsResource: z.ZodOptional<z.ZodString>;
542
+ }, "strip", z.ZodTypeAny, {
543
+ method: string;
544
+ description: string;
545
+ queryParams: {
546
+ type: string;
547
+ name: string;
548
+ required: boolean;
549
+ description?: string | undefined;
550
+ constraints?: string | undefined;
551
+ }[];
552
+ authRequired: boolean;
553
+ sourceFile: string;
554
+ interactions: {
555
+ type: "error" | "success" | "edge-case";
556
+ description: string;
557
+ request: {
558
+ body?: Record<string, any> | undefined;
559
+ contentType?: string | undefined;
560
+ headers?: Record<string, string> | undefined;
561
+ queryParams?: Record<string, any> | undefined;
562
+ };
563
+ response: {
564
+ description: string;
565
+ statusCode: number;
566
+ body?: Record<string, any> | undefined;
567
+ headers?: Record<string, string> | undefined;
568
+ cookies?: {
569
+ name: string;
570
+ sampleValue: string;
571
+ purpose: string;
572
+ httpOnly: boolean;
573
+ secure: boolean;
574
+ }[] | undefined;
575
+ };
576
+ }[];
577
+ authType?: string | undefined;
578
+ scopes?: string[] | undefined;
579
+ dependsOn?: string[] | undefined;
580
+ createsResource?: string | undefined;
581
+ }, {
582
+ method: string;
583
+ description: string;
584
+ queryParams: {
585
+ type: string;
586
+ name: string;
587
+ required: boolean;
588
+ description?: string | undefined;
589
+ constraints?: string | undefined;
590
+ }[];
591
+ authRequired: boolean;
592
+ sourceFile: string;
593
+ interactions: {
594
+ type: "error" | "success" | "edge-case";
595
+ description: string;
596
+ request: {
597
+ body?: Record<string, any> | undefined;
598
+ contentType?: string | undefined;
599
+ headers?: Record<string, string> | undefined;
600
+ queryParams?: Record<string, any> | undefined;
601
+ };
602
+ response: {
603
+ description: string;
604
+ statusCode: number;
605
+ body?: Record<string, any> | undefined;
606
+ headers?: Record<string, string> | undefined;
607
+ cookies?: {
608
+ name: string;
609
+ sampleValue: string;
610
+ purpose: string;
611
+ httpOnly: boolean;
612
+ secure: boolean;
613
+ }[] | undefined;
614
+ };
615
+ }[];
616
+ authType?: string | undefined;
617
+ scopes?: string[] | undefined;
618
+ dependsOn?: string[] | undefined;
619
+ createsResource?: string | undefined;
620
+ }>;
621
+ export declare const enrichedEndpointSchema: z.ZodObject<{
622
+ path: z.ZodString;
623
+ resourceGroup: z.ZodString;
624
+ pathParams: z.ZodArray<z.ZodObject<{
625
+ name: z.ZodString;
626
+ type: z.ZodString;
627
+ required: z.ZodBoolean;
628
+ description: z.ZodOptional<z.ZodString>;
629
+ constraints: z.ZodOptional<z.ZodString>;
630
+ }, "strip", z.ZodTypeAny, {
631
+ type: string;
632
+ name: string;
633
+ required: boolean;
634
+ description?: string | undefined;
635
+ constraints?: string | undefined;
636
+ }, {
637
+ type: string;
638
+ name: string;
639
+ required: boolean;
640
+ description?: string | undefined;
641
+ constraints?: string | undefined;
642
+ }>, "many">;
643
+ methods: z.ZodArray<z.ZodObject<{
644
+ method: z.ZodString;
645
+ description: z.ZodString;
646
+ queryParams: z.ZodArray<z.ZodObject<{
647
+ name: z.ZodString;
648
+ type: z.ZodString;
649
+ required: z.ZodBoolean;
650
+ description: z.ZodOptional<z.ZodString>;
651
+ constraints: z.ZodOptional<z.ZodString>;
652
+ }, "strip", z.ZodTypeAny, {
653
+ type: string;
654
+ name: string;
655
+ required: boolean;
656
+ description?: string | undefined;
657
+ constraints?: string | undefined;
658
+ }, {
659
+ type: string;
660
+ name: string;
661
+ required: boolean;
662
+ description?: string | undefined;
663
+ constraints?: string | undefined;
664
+ }>, "many">;
665
+ authRequired: z.ZodBoolean;
666
+ authType: z.ZodOptional<z.ZodString>;
667
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
668
+ sourceFile: z.ZodString;
669
+ interactions: z.ZodArray<z.ZodObject<{
670
+ description: z.ZodString;
671
+ type: z.ZodEnum<["success", "error", "edge-case"]>;
672
+ request: z.ZodObject<{
673
+ contentType: z.ZodOptional<z.ZodString>;
674
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
675
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
676
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
677
+ }, "strip", z.ZodTypeAny, {
678
+ body?: Record<string, any> | undefined;
679
+ contentType?: string | undefined;
680
+ headers?: Record<string, string> | undefined;
681
+ queryParams?: Record<string, any> | undefined;
682
+ }, {
683
+ body?: Record<string, any> | undefined;
684
+ contentType?: string | undefined;
685
+ headers?: Record<string, string> | undefined;
686
+ queryParams?: Record<string, any> | undefined;
687
+ }>;
688
+ response: z.ZodObject<{
689
+ statusCode: z.ZodNumber;
690
+ description: z.ZodString;
691
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
692
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
693
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
694
+ name: z.ZodString;
695
+ sampleValue: z.ZodString;
696
+ purpose: z.ZodString;
697
+ httpOnly: z.ZodBoolean;
698
+ secure: z.ZodBoolean;
699
+ }, "strip", z.ZodTypeAny, {
700
+ name: string;
701
+ sampleValue: string;
702
+ purpose: string;
703
+ httpOnly: boolean;
704
+ secure: boolean;
705
+ }, {
706
+ name: string;
707
+ sampleValue: string;
708
+ purpose: string;
709
+ httpOnly: boolean;
710
+ secure: boolean;
711
+ }>, "many">>;
712
+ }, "strip", z.ZodTypeAny, {
713
+ description: string;
714
+ statusCode: number;
715
+ body?: Record<string, any> | undefined;
716
+ headers?: Record<string, string> | undefined;
717
+ cookies?: {
718
+ name: string;
719
+ sampleValue: string;
720
+ purpose: string;
721
+ httpOnly: boolean;
722
+ secure: boolean;
723
+ }[] | undefined;
724
+ }, {
725
+ description: string;
726
+ statusCode: number;
727
+ body?: Record<string, any> | undefined;
728
+ headers?: Record<string, string> | undefined;
729
+ cookies?: {
730
+ name: string;
731
+ sampleValue: string;
732
+ purpose: string;
733
+ httpOnly: boolean;
734
+ secure: boolean;
735
+ }[] | undefined;
736
+ }>;
737
+ }, "strip", z.ZodTypeAny, {
738
+ type: "error" | "success" | "edge-case";
739
+ description: string;
740
+ request: {
741
+ body?: Record<string, any> | undefined;
742
+ contentType?: string | undefined;
743
+ headers?: Record<string, string> | undefined;
744
+ queryParams?: Record<string, any> | undefined;
745
+ };
746
+ response: {
747
+ description: string;
748
+ statusCode: number;
749
+ body?: Record<string, any> | undefined;
750
+ headers?: Record<string, string> | undefined;
751
+ cookies?: {
752
+ name: string;
753
+ sampleValue: string;
754
+ purpose: string;
755
+ httpOnly: boolean;
756
+ secure: boolean;
757
+ }[] | undefined;
758
+ };
759
+ }, {
760
+ type: "error" | "success" | "edge-case";
761
+ description: string;
762
+ request: {
763
+ body?: Record<string, any> | undefined;
764
+ contentType?: string | undefined;
765
+ headers?: Record<string, string> | undefined;
766
+ queryParams?: Record<string, any> | undefined;
767
+ };
768
+ response: {
769
+ description: string;
770
+ statusCode: number;
771
+ body?: Record<string, any> | undefined;
772
+ headers?: Record<string, string> | undefined;
773
+ cookies?: {
774
+ name: string;
775
+ sampleValue: string;
776
+ purpose: string;
777
+ httpOnly: boolean;
778
+ secure: boolean;
779
+ }[] | undefined;
780
+ };
781
+ }>, "many">;
782
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
783
+ createsResource: z.ZodOptional<z.ZodString>;
784
+ }, "strip", z.ZodTypeAny, {
785
+ method: string;
786
+ description: string;
787
+ queryParams: {
788
+ type: string;
789
+ name: string;
790
+ required: boolean;
791
+ description?: string | undefined;
792
+ constraints?: string | undefined;
793
+ }[];
794
+ authRequired: boolean;
795
+ sourceFile: string;
796
+ interactions: {
797
+ type: "error" | "success" | "edge-case";
798
+ description: string;
799
+ request: {
800
+ body?: Record<string, any> | undefined;
801
+ contentType?: string | undefined;
802
+ headers?: Record<string, string> | undefined;
803
+ queryParams?: Record<string, any> | undefined;
804
+ };
805
+ response: {
806
+ description: string;
807
+ statusCode: number;
808
+ body?: Record<string, any> | undefined;
809
+ headers?: Record<string, string> | undefined;
810
+ cookies?: {
811
+ name: string;
812
+ sampleValue: string;
813
+ purpose: string;
814
+ httpOnly: boolean;
815
+ secure: boolean;
816
+ }[] | undefined;
817
+ };
818
+ }[];
819
+ authType?: string | undefined;
820
+ scopes?: string[] | undefined;
821
+ dependsOn?: string[] | undefined;
822
+ createsResource?: string | undefined;
823
+ }, {
824
+ method: string;
825
+ description: string;
826
+ queryParams: {
827
+ type: string;
828
+ name: string;
829
+ required: boolean;
830
+ description?: string | undefined;
831
+ constraints?: string | undefined;
832
+ }[];
833
+ authRequired: boolean;
834
+ sourceFile: string;
835
+ interactions: {
836
+ type: "error" | "success" | "edge-case";
837
+ description: string;
838
+ request: {
839
+ body?: Record<string, any> | undefined;
840
+ contentType?: string | undefined;
841
+ headers?: Record<string, string> | undefined;
842
+ queryParams?: Record<string, any> | undefined;
843
+ };
844
+ response: {
845
+ description: string;
846
+ statusCode: number;
847
+ body?: Record<string, any> | undefined;
848
+ headers?: Record<string, string> | undefined;
849
+ cookies?: {
850
+ name: string;
851
+ sampleValue: string;
852
+ purpose: string;
853
+ httpOnly: boolean;
854
+ secure: boolean;
855
+ }[] | undefined;
856
+ };
857
+ }[];
858
+ authType?: string | undefined;
859
+ scopes?: string[] | undefined;
860
+ dependsOn?: string[] | undefined;
861
+ createsResource?: string | undefined;
862
+ }>, "many">;
863
+ }, "strip", z.ZodTypeAny, {
864
+ path: string;
865
+ resourceGroup: string;
866
+ pathParams: {
867
+ type: string;
868
+ name: string;
869
+ required: boolean;
870
+ description?: string | undefined;
871
+ constraints?: string | undefined;
872
+ }[];
873
+ methods: {
874
+ method: string;
875
+ description: string;
876
+ queryParams: {
877
+ type: string;
878
+ name: string;
879
+ required: boolean;
880
+ description?: string | undefined;
881
+ constraints?: string | undefined;
882
+ }[];
883
+ authRequired: boolean;
884
+ sourceFile: string;
885
+ interactions: {
886
+ type: "error" | "success" | "edge-case";
887
+ description: string;
888
+ request: {
889
+ body?: Record<string, any> | undefined;
890
+ contentType?: string | undefined;
891
+ headers?: Record<string, string> | undefined;
892
+ queryParams?: Record<string, any> | undefined;
893
+ };
894
+ response: {
895
+ description: string;
896
+ statusCode: number;
897
+ body?: Record<string, any> | undefined;
898
+ headers?: Record<string, string> | undefined;
899
+ cookies?: {
900
+ name: string;
901
+ sampleValue: string;
902
+ purpose: string;
903
+ httpOnly: boolean;
904
+ secure: boolean;
905
+ }[] | undefined;
906
+ };
907
+ }[];
908
+ authType?: string | undefined;
909
+ scopes?: string[] | undefined;
910
+ dependsOn?: string[] | undefined;
911
+ createsResource?: string | undefined;
912
+ }[];
913
+ }, {
914
+ path: string;
915
+ resourceGroup: string;
916
+ pathParams: {
917
+ type: string;
918
+ name: string;
919
+ required: boolean;
920
+ description?: string | undefined;
921
+ constraints?: string | undefined;
922
+ }[];
923
+ methods: {
924
+ method: string;
925
+ description: string;
926
+ queryParams: {
927
+ type: string;
928
+ name: string;
929
+ required: boolean;
930
+ description?: string | undefined;
931
+ constraints?: string | undefined;
932
+ }[];
933
+ authRequired: boolean;
934
+ sourceFile: string;
935
+ interactions: {
936
+ type: "error" | "success" | "edge-case";
937
+ description: string;
938
+ request: {
939
+ body?: Record<string, any> | undefined;
940
+ contentType?: string | undefined;
941
+ headers?: Record<string, string> | undefined;
942
+ queryParams?: Record<string, any> | undefined;
943
+ };
944
+ response: {
945
+ description: string;
946
+ statusCode: number;
947
+ body?: Record<string, any> | undefined;
948
+ headers?: Record<string, string> | undefined;
949
+ cookies?: {
950
+ name: string;
951
+ sampleValue: string;
952
+ purpose: string;
953
+ httpOnly: boolean;
954
+ secure: boolean;
955
+ }[] | undefined;
956
+ };
957
+ }[];
958
+ authType?: string | undefined;
959
+ scopes?: string[] | undefined;
960
+ dependsOn?: string[] | undefined;
961
+ createsResource?: string | undefined;
962
+ }[];
963
+ }>;
964
+ export declare const chainingRefSchema: z.ZodObject<{
965
+ sourceStep: z.ZodNumber;
966
+ sourceField: z.ZodString;
967
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
968
+ targetParam: z.ZodString;
969
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
970
+ }, "strip", z.ZodTypeAny, {
971
+ sourceStep: number;
972
+ sourceField: string;
973
+ sourceLocation: "cookie" | "body" | "header";
974
+ targetParam: string;
975
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
976
+ }, {
977
+ sourceStep: number;
978
+ sourceField: string;
979
+ sourceLocation: "cookie" | "body" | "header";
980
+ targetParam: string;
981
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
982
+ }>;
983
+ export declare const scenarioStepSchema: z.ZodObject<{
984
+ order: z.ZodNumber;
985
+ method: z.ZodString;
986
+ path: z.ZodString;
987
+ description: z.ZodString;
988
+ interactionType: z.ZodEnum<["success", "error", "edge-case"]>;
989
+ requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
990
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
991
+ responseBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
992
+ expectedStatusCode: z.ZodNumber;
993
+ expectedResponseFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
994
+ chainsFrom: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
995
+ sourceStep: z.ZodNumber;
996
+ sourceField: z.ZodString;
997
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
998
+ targetParam: z.ZodString;
999
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
1000
+ }, "strip", z.ZodTypeAny, {
1001
+ sourceStep: number;
1002
+ sourceField: string;
1003
+ sourceLocation: "cookie" | "body" | "header";
1004
+ targetParam: string;
1005
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1006
+ }, {
1007
+ sourceStep: number;
1008
+ sourceField: string;
1009
+ sourceLocation: "cookie" | "body" | "header";
1010
+ targetParam: string;
1011
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1012
+ }>, z.ZodArray<z.ZodObject<{
1013
+ sourceStep: z.ZodNumber;
1014
+ sourceField: z.ZodString;
1015
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
1016
+ targetParam: z.ZodString;
1017
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
1018
+ }, "strip", z.ZodTypeAny, {
1019
+ sourceStep: number;
1020
+ sourceField: string;
1021
+ sourceLocation: "cookie" | "body" | "header";
1022
+ targetParam: string;
1023
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1024
+ }, {
1025
+ sourceStep: number;
1026
+ sourceField: string;
1027
+ sourceLocation: "cookie" | "body" | "header";
1028
+ targetParam: string;
1029
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1030
+ }>, "many">]>>;
1031
+ bodyMustInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1032
+ }, "strip", z.ZodTypeAny, {
1033
+ path: string;
1034
+ method: string;
1035
+ description: string;
1036
+ order: number;
1037
+ interactionType: "error" | "success" | "edge-case";
1038
+ expectedStatusCode: number;
1039
+ queryParams?: Record<string, any> | undefined;
1040
+ requestBody?: Record<string, any> | undefined;
1041
+ responseBody?: Record<string, any> | undefined;
1042
+ expectedResponseFields?: string[] | undefined;
1043
+ chainsFrom?: {
1044
+ sourceStep: number;
1045
+ sourceField: string;
1046
+ sourceLocation: "cookie" | "body" | "header";
1047
+ targetParam: string;
1048
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1049
+ } | {
1050
+ sourceStep: number;
1051
+ sourceField: string;
1052
+ sourceLocation: "cookie" | "body" | "header";
1053
+ targetParam: string;
1054
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1055
+ }[] | undefined;
1056
+ bodyMustInclude?: string[] | undefined;
1057
+ }, {
1058
+ path: string;
1059
+ method: string;
1060
+ description: string;
1061
+ order: number;
1062
+ interactionType: "error" | "success" | "edge-case";
1063
+ expectedStatusCode: number;
1064
+ queryParams?: Record<string, any> | undefined;
1065
+ requestBody?: Record<string, any> | undefined;
1066
+ responseBody?: Record<string, any> | undefined;
1067
+ expectedResponseFields?: string[] | undefined;
1068
+ chainsFrom?: {
1069
+ sourceStep: number;
1070
+ sourceField: string;
1071
+ sourceLocation: "cookie" | "body" | "header";
1072
+ targetParam: string;
1073
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1074
+ } | {
1075
+ sourceStep: number;
1076
+ sourceField: string;
1077
+ sourceLocation: "cookie" | "body" | "header";
1078
+ targetParam: string;
1079
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1080
+ }[] | undefined;
1081
+ bodyMustInclude?: string[] | undefined;
1082
+ }>;
1083
+ export declare const draftedScenarioSchema: z.ZodObject<{
1084
+ scenarioName: z.ZodString;
1085
+ description: z.ZodString;
1086
+ category: z.ZodEnum<["new_endpoint", "bug_caught", "business_rule", "security_boundary", "data_integrity", "breaking_change", "auth", "error_handling", "workflow", "data_validation", "crud"]>;
1087
+ priority: z.ZodEnum<["high", "medium", "low"]>;
1088
+ steps: z.ZodArray<z.ZodObject<{
1089
+ order: z.ZodNumber;
1090
+ method: z.ZodString;
1091
+ path: z.ZodString;
1092
+ description: z.ZodString;
1093
+ interactionType: z.ZodEnum<["success", "error", "edge-case"]>;
1094
+ requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1095
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1096
+ responseBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1097
+ expectedStatusCode: z.ZodNumber;
1098
+ expectedResponseFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1099
+ chainsFrom: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
1100
+ sourceStep: z.ZodNumber;
1101
+ sourceField: z.ZodString;
1102
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
1103
+ targetParam: z.ZodString;
1104
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
1105
+ }, "strip", z.ZodTypeAny, {
1106
+ sourceStep: number;
1107
+ sourceField: string;
1108
+ sourceLocation: "cookie" | "body" | "header";
1109
+ targetParam: string;
1110
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1111
+ }, {
1112
+ sourceStep: number;
1113
+ sourceField: string;
1114
+ sourceLocation: "cookie" | "body" | "header";
1115
+ targetParam: string;
1116
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1117
+ }>, z.ZodArray<z.ZodObject<{
1118
+ sourceStep: z.ZodNumber;
1119
+ sourceField: z.ZodString;
1120
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
1121
+ targetParam: z.ZodString;
1122
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
1123
+ }, "strip", z.ZodTypeAny, {
1124
+ sourceStep: number;
1125
+ sourceField: string;
1126
+ sourceLocation: "cookie" | "body" | "header";
1127
+ targetParam: string;
1128
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1129
+ }, {
1130
+ sourceStep: number;
1131
+ sourceField: string;
1132
+ sourceLocation: "cookie" | "body" | "header";
1133
+ targetParam: string;
1134
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1135
+ }>, "many">]>>;
1136
+ bodyMustInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1137
+ }, "strip", z.ZodTypeAny, {
1138
+ path: string;
1139
+ method: string;
1140
+ description: string;
1141
+ order: number;
1142
+ interactionType: "error" | "success" | "edge-case";
1143
+ expectedStatusCode: number;
1144
+ queryParams?: Record<string, any> | undefined;
1145
+ requestBody?: Record<string, any> | undefined;
1146
+ responseBody?: Record<string, any> | undefined;
1147
+ expectedResponseFields?: string[] | undefined;
1148
+ chainsFrom?: {
1149
+ sourceStep: number;
1150
+ sourceField: string;
1151
+ sourceLocation: "cookie" | "body" | "header";
1152
+ targetParam: string;
1153
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1154
+ } | {
1155
+ sourceStep: number;
1156
+ sourceField: string;
1157
+ sourceLocation: "cookie" | "body" | "header";
1158
+ targetParam: string;
1159
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1160
+ }[] | undefined;
1161
+ bodyMustInclude?: string[] | undefined;
1162
+ }, {
1163
+ path: string;
1164
+ method: string;
1165
+ description: string;
1166
+ order: number;
1167
+ interactionType: "error" | "success" | "edge-case";
1168
+ expectedStatusCode: number;
1169
+ queryParams?: Record<string, any> | undefined;
1170
+ requestBody?: Record<string, any> | undefined;
1171
+ responseBody?: Record<string, any> | undefined;
1172
+ expectedResponseFields?: string[] | undefined;
1173
+ chainsFrom?: {
1174
+ sourceStep: number;
1175
+ sourceField: string;
1176
+ sourceLocation: "cookie" | "body" | "header";
1177
+ targetParam: string;
1178
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1179
+ } | {
1180
+ sourceStep: number;
1181
+ sourceField: string;
1182
+ sourceLocation: "cookie" | "body" | "header";
1183
+ targetParam: string;
1184
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1185
+ }[] | undefined;
1186
+ bodyMustInclude?: string[] | undefined;
1187
+ }>, "many">;
1188
+ chainingKeys: z.ZodArray<z.ZodString, "many">;
1189
+ requiresAuth: z.ZodBoolean;
1190
+ estimatedComplexity: z.ZodEnum<["simple", "moderate", "complex"]>;
1191
+ source: z.ZodOptional<z.ZodNativeEnum<typeof ScenarioSource>>;
1192
+ testType: z.ZodOptional<z.ZodNativeEnum<typeof TestType>>;
1193
+ bugCatchingTarget: z.ZodOptional<z.ZodString>;
1194
+ }, "strip", z.ZodTypeAny, {
1195
+ description: string;
1196
+ priority: "high" | "medium" | "low";
1197
+ scenarioName: string;
1198
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
1199
+ steps: {
1200
+ path: string;
1201
+ method: string;
1202
+ description: string;
1203
+ order: number;
1204
+ interactionType: "error" | "success" | "edge-case";
1205
+ expectedStatusCode: number;
1206
+ queryParams?: Record<string, any> | undefined;
1207
+ requestBody?: Record<string, any> | undefined;
1208
+ responseBody?: Record<string, any> | undefined;
1209
+ expectedResponseFields?: string[] | undefined;
1210
+ chainsFrom?: {
1211
+ sourceStep: number;
1212
+ sourceField: string;
1213
+ sourceLocation: "cookie" | "body" | "header";
1214
+ targetParam: string;
1215
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1216
+ } | {
1217
+ sourceStep: number;
1218
+ sourceField: string;
1219
+ sourceLocation: "cookie" | "body" | "header";
1220
+ targetParam: string;
1221
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1222
+ }[] | undefined;
1223
+ bodyMustInclude?: string[] | undefined;
1224
+ }[];
1225
+ chainingKeys: string[];
1226
+ requiresAuth: boolean;
1227
+ estimatedComplexity: "simple" | "moderate" | "complex";
1228
+ testType?: TestType | undefined;
1229
+ source?: ScenarioSource | undefined;
1230
+ bugCatchingTarget?: string | undefined;
1231
+ }, {
1232
+ description: string;
1233
+ priority: "high" | "medium" | "low";
1234
+ scenarioName: string;
1235
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
1236
+ steps: {
1237
+ path: string;
1238
+ method: string;
1239
+ description: string;
1240
+ order: number;
1241
+ interactionType: "error" | "success" | "edge-case";
1242
+ expectedStatusCode: number;
1243
+ queryParams?: Record<string, any> | undefined;
1244
+ requestBody?: Record<string, any> | undefined;
1245
+ responseBody?: Record<string, any> | undefined;
1246
+ expectedResponseFields?: string[] | undefined;
1247
+ chainsFrom?: {
1248
+ sourceStep: number;
1249
+ sourceField: string;
1250
+ sourceLocation: "cookie" | "body" | "header";
1251
+ targetParam: string;
1252
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1253
+ } | {
1254
+ sourceStep: number;
1255
+ sourceField: string;
1256
+ sourceLocation: "cookie" | "body" | "header";
1257
+ targetParam: string;
1258
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1259
+ }[] | undefined;
1260
+ bodyMustInclude?: string[] | undefined;
1261
+ }[];
1262
+ chainingKeys: string[];
1263
+ requiresAuth: boolean;
1264
+ estimatedComplexity: "simple" | "moderate" | "complex";
1265
+ testType?: TestType | undefined;
1266
+ source?: ScenarioSource | undefined;
1267
+ bugCatchingTarget?: string | undefined;
1268
+ }>;
1269
+ export declare const branchDiffContextSchema: z.ZodObject<{
1270
+ currentBranch: z.ZodString;
1271
+ baseBranch: z.ZodString;
1272
+ changedFiles: z.ZodArray<z.ZodString, "many">;
1273
+ newEndpoints: z.ZodArray<z.ZodObject<{
1274
+ path: z.ZodString;
1275
+ methods: z.ZodArray<z.ZodObject<{
1276
+ method: z.ZodString;
1277
+ sourceFile: z.ZodString;
1278
+ interactionCount: z.ZodNumber;
1279
+ }, "strip", z.ZodTypeAny, {
1280
+ method: string;
1281
+ sourceFile: string;
1282
+ interactionCount: number;
1283
+ }, {
1284
+ method: string;
1285
+ sourceFile: string;
1286
+ interactionCount: number;
1287
+ }>, "many">;
1288
+ }, "strip", z.ZodTypeAny, {
1289
+ path: string;
1290
+ methods: {
1291
+ method: string;
1292
+ sourceFile: string;
1293
+ interactionCount: number;
1294
+ }[];
1295
+ }, {
1296
+ path: string;
1297
+ methods: {
1298
+ method: string;
1299
+ sourceFile: string;
1300
+ interactionCount: number;
1301
+ }[];
1302
+ }>, "many">;
1303
+ modifiedEndpoints: z.ZodArray<z.ZodObject<{
1304
+ path: z.ZodString;
1305
+ methods: z.ZodArray<z.ZodObject<{
1306
+ method: z.ZodString;
1307
+ sourceFile: z.ZodString;
1308
+ changeType: z.ZodEnum<["added", "modified", "removed"]>;
1309
+ }, "strip", z.ZodTypeAny, {
1310
+ method: string;
1311
+ sourceFile: string;
1312
+ changeType: "added" | "modified" | "removed";
1313
+ }, {
1314
+ method: string;
1315
+ sourceFile: string;
1316
+ changeType: "added" | "modified" | "removed";
1317
+ }>, "many">;
1318
+ }, "strip", z.ZodTypeAny, {
1319
+ path: string;
1320
+ methods: {
1321
+ method: string;
1322
+ sourceFile: string;
1323
+ changeType: "added" | "modified" | "removed";
1324
+ }[];
1325
+ }, {
1326
+ path: string;
1327
+ methods: {
1328
+ method: string;
1329
+ sourceFile: string;
1330
+ changeType: "added" | "modified" | "removed";
1331
+ }[];
1332
+ }>, "many">;
1333
+ removedEndpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
1334
+ path: z.ZodString;
1335
+ methods: z.ZodArray<z.ZodObject<{
1336
+ method: z.ZodString;
1337
+ sourceFile: z.ZodString;
1338
+ changeType: z.ZodLiteral<"removed">;
1339
+ }, "strip", z.ZodTypeAny, {
1340
+ method: string;
1341
+ sourceFile: string;
1342
+ changeType: "removed";
1343
+ }, {
1344
+ method: string;
1345
+ sourceFile: string;
1346
+ changeType: "removed";
1347
+ }>, "many">;
1348
+ }, "strip", z.ZodTypeAny, {
1349
+ path: string;
1350
+ methods: {
1351
+ method: string;
1352
+ sourceFile: string;
1353
+ changeType: "removed";
1354
+ }[];
1355
+ }, {
1356
+ path: string;
1357
+ methods: {
1358
+ method: string;
1359
+ sourceFile: string;
1360
+ changeType: "removed";
1361
+ }[];
1362
+ }>, "many">>;
1363
+ affectedServices: z.ZodArray<z.ZodString, "many">;
1364
+ summary: z.ZodOptional<z.ZodString>;
1365
+ }, "strip", z.ZodTypeAny, {
1366
+ currentBranch: string;
1367
+ baseBranch: string;
1368
+ changedFiles: string[];
1369
+ newEndpoints: {
1370
+ path: string;
1371
+ methods: {
1372
+ method: string;
1373
+ sourceFile: string;
1374
+ interactionCount: number;
1375
+ }[];
1376
+ }[];
1377
+ modifiedEndpoints: {
1378
+ path: string;
1379
+ methods: {
1380
+ method: string;
1381
+ sourceFile: string;
1382
+ changeType: "added" | "modified" | "removed";
1383
+ }[];
1384
+ }[];
1385
+ affectedServices: string[];
1386
+ removedEndpoints?: {
1387
+ path: string;
1388
+ methods: {
1389
+ method: string;
1390
+ sourceFile: string;
1391
+ changeType: "removed";
1392
+ }[];
1393
+ }[] | undefined;
1394
+ summary?: string | undefined;
1395
+ }, {
1396
+ currentBranch: string;
1397
+ baseBranch: string;
1398
+ changedFiles: string[];
1399
+ newEndpoints: {
1400
+ path: string;
1401
+ methods: {
1402
+ method: string;
1403
+ sourceFile: string;
1404
+ interactionCount: number;
1405
+ }[];
1406
+ }[];
1407
+ modifiedEndpoints: {
1408
+ path: string;
1409
+ methods: {
1410
+ method: string;
1411
+ sourceFile: string;
1412
+ changeType: "added" | "modified" | "removed";
1413
+ }[];
1414
+ }[];
1415
+ affectedServices: string[];
1416
+ removedEndpoints?: {
1417
+ path: string;
1418
+ methods: {
1419
+ method: string;
1420
+ sourceFile: string;
1421
+ changeType: "removed";
1422
+ }[];
1423
+ }[] | undefined;
1424
+ summary?: string | undefined;
1425
+ }>;
1426
+ export declare const analysisMetadataSchema: z.ZodObject<{
1427
+ repositoryName: z.ZodString;
1428
+ analysisDate: z.ZodString;
1429
+ scanDepth: z.ZodEnum<["quick", "full"]>;
1430
+ analysisScope: z.ZodOptional<z.ZodNativeEnum<typeof AnalysisScope>>;
1431
+ }, "strip", z.ZodTypeAny, {
1432
+ repositoryName: string;
1433
+ analysisDate: string;
1434
+ scanDepth: "quick" | "full";
1435
+ analysisScope?: AnalysisScope | undefined;
1436
+ }, {
1437
+ repositoryName: string;
1438
+ analysisDate: string;
1439
+ scanDepth: "quick" | "full";
1440
+ analysisScope?: AnalysisScope | undefined;
1441
+ }>;
1442
+ export declare const projectClassificationSchema: z.ZodObject<{
1443
+ projectType: z.ZodEnum<["rest-api", "frontend", "full-stack", "microservices", "library", "cli", "other"]>;
1444
+ primaryLanguage: z.ZodString;
1445
+ primaryFramework: z.ZodString;
1446
+ deploymentPattern: z.ZodEnum<["microservices", "full-stack", "containerized-monolith", "traditional", "unknown"]>;
1447
+ }, "strip", z.ZodTypeAny, {
1448
+ projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
1449
+ primaryLanguage: string;
1450
+ primaryFramework: string;
1451
+ deploymentPattern: "unknown" | "full-stack" | "microservices" | "containerized-monolith" | "traditional";
1452
+ }, {
1453
+ projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
1454
+ primaryLanguage: string;
1455
+ primaryFramework: string;
1456
+ deploymentPattern: "unknown" | "full-stack" | "microservices" | "containerized-monolith" | "traditional";
1457
+ }>;
1458
+ export declare const repositoryAnalysisSchema: z.ZodObject<{
1459
+ metadata: z.ZodObject<{
1460
+ repositoryName: z.ZodString;
1461
+ analysisDate: z.ZodString;
1462
+ scanDepth: z.ZodEnum<["quick", "full"]>;
1463
+ analysisScope: z.ZodOptional<z.ZodNativeEnum<typeof AnalysisScope>>;
1464
+ }, "strip", z.ZodTypeAny, {
1465
+ repositoryName: string;
1466
+ analysisDate: string;
1467
+ scanDepth: "quick" | "full";
1468
+ analysisScope?: AnalysisScope | undefined;
1469
+ }, {
1470
+ repositoryName: string;
1471
+ analysisDate: string;
1472
+ scanDepth: "quick" | "full";
1473
+ analysisScope?: AnalysisScope | undefined;
1474
+ }>;
1475
+ projectClassification: z.ZodObject<{
1476
+ projectType: z.ZodEnum<["rest-api", "frontend", "full-stack", "microservices", "library", "cli", "other"]>;
1477
+ primaryLanguage: z.ZodString;
1478
+ primaryFramework: z.ZodString;
1479
+ deploymentPattern: z.ZodEnum<["microservices", "full-stack", "containerized-monolith", "traditional", "unknown"]>;
1480
+ }, "strip", z.ZodTypeAny, {
1481
+ projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
1482
+ primaryLanguage: string;
1483
+ primaryFramework: string;
1484
+ deploymentPattern: "unknown" | "full-stack" | "microservices" | "containerized-monolith" | "traditional";
1485
+ }, {
1486
+ projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
1487
+ primaryLanguage: string;
1488
+ primaryFramework: string;
1489
+ deploymentPattern: "unknown" | "full-stack" | "microservices" | "containerized-monolith" | "traditional";
1490
+ }>;
1491
+ technologyStack: z.ZodObject<{
1492
+ languages: z.ZodArray<z.ZodString, "many">;
1493
+ frameworks: z.ZodArray<z.ZodString, "many">;
1494
+ runtime: z.ZodString;
1495
+ keyDependencies: z.ZodArray<z.ZodObject<{
1496
+ name: z.ZodString;
1497
+ version: z.ZodString;
1498
+ purpose: z.ZodString;
1499
+ }, "strip", z.ZodTypeAny, {
1500
+ version: string;
1501
+ name: string;
1502
+ purpose: string;
1503
+ }, {
1504
+ version: string;
1505
+ name: string;
1506
+ purpose: string;
1507
+ }>, "many">;
1508
+ }, "strip", z.ZodTypeAny, {
1509
+ runtime: string;
1510
+ languages: string[];
1511
+ frameworks: string[];
1512
+ keyDependencies: {
1513
+ version: string;
1514
+ name: string;
1515
+ purpose: string;
1516
+ }[];
1517
+ }, {
1518
+ runtime: string;
1519
+ languages: string[];
1520
+ frameworks: string[];
1521
+ keyDependencies: {
1522
+ version: string;
1523
+ name: string;
1524
+ purpose: string;
1525
+ }[];
1526
+ }>;
1527
+ businessContext: z.ZodObject<{
1528
+ mainPurpose: z.ZodString;
1529
+ userFlows: z.ZodArray<z.ZodString, "many">;
1530
+ dataFlows: z.ZodArray<z.ZodString, "many">;
1531
+ integrationPatterns: z.ZodArray<z.ZodString, "many">;
1532
+ draftedScenarios: z.ZodArray<z.ZodObject<{
1533
+ scenarioName: z.ZodString;
1534
+ description: z.ZodString;
1535
+ category: z.ZodEnum<["new_endpoint", "bug_caught", "business_rule", "security_boundary", "data_integrity", "breaking_change", "auth", "error_handling", "workflow", "data_validation", "crud"]>;
1536
+ priority: z.ZodEnum<["high", "medium", "low"]>;
1537
+ steps: z.ZodArray<z.ZodObject<{
1538
+ order: z.ZodNumber;
1539
+ method: z.ZodString;
1540
+ path: z.ZodString;
1541
+ description: z.ZodString;
1542
+ interactionType: z.ZodEnum<["success", "error", "edge-case"]>;
1543
+ requestBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1544
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1545
+ responseBody: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1546
+ expectedStatusCode: z.ZodNumber;
1547
+ expectedResponseFields: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1548
+ chainsFrom: z.ZodOptional<z.ZodUnion<[z.ZodObject<{
1549
+ sourceStep: z.ZodNumber;
1550
+ sourceField: z.ZodString;
1551
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
1552
+ targetParam: z.ZodString;
1553
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
1554
+ }, "strip", z.ZodTypeAny, {
1555
+ sourceStep: number;
1556
+ sourceField: string;
1557
+ sourceLocation: "cookie" | "body" | "header";
1558
+ targetParam: string;
1559
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1560
+ }, {
1561
+ sourceStep: number;
1562
+ sourceField: string;
1563
+ sourceLocation: "cookie" | "body" | "header";
1564
+ targetParam: string;
1565
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1566
+ }>, z.ZodArray<z.ZodObject<{
1567
+ sourceStep: z.ZodNumber;
1568
+ sourceField: z.ZodString;
1569
+ sourceLocation: z.ZodEnum<["body", "header", "cookie"]>;
1570
+ targetParam: z.ZodString;
1571
+ targetLocation: z.ZodEnum<["path", "body", "query", "header", "cookie"]>;
1572
+ }, "strip", z.ZodTypeAny, {
1573
+ sourceStep: number;
1574
+ sourceField: string;
1575
+ sourceLocation: "cookie" | "body" | "header";
1576
+ targetParam: string;
1577
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1578
+ }, {
1579
+ sourceStep: number;
1580
+ sourceField: string;
1581
+ sourceLocation: "cookie" | "body" | "header";
1582
+ targetParam: string;
1583
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1584
+ }>, "many">]>>;
1585
+ bodyMustInclude: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1586
+ }, "strip", z.ZodTypeAny, {
1587
+ path: string;
1588
+ method: string;
1589
+ description: string;
1590
+ order: number;
1591
+ interactionType: "error" | "success" | "edge-case";
1592
+ expectedStatusCode: number;
1593
+ queryParams?: Record<string, any> | undefined;
1594
+ requestBody?: Record<string, any> | undefined;
1595
+ responseBody?: Record<string, any> | undefined;
1596
+ expectedResponseFields?: string[] | undefined;
1597
+ chainsFrom?: {
1598
+ sourceStep: number;
1599
+ sourceField: string;
1600
+ sourceLocation: "cookie" | "body" | "header";
1601
+ targetParam: string;
1602
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1603
+ } | {
1604
+ sourceStep: number;
1605
+ sourceField: string;
1606
+ sourceLocation: "cookie" | "body" | "header";
1607
+ targetParam: string;
1608
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1609
+ }[] | undefined;
1610
+ bodyMustInclude?: string[] | undefined;
1611
+ }, {
1612
+ path: string;
1613
+ method: string;
1614
+ description: string;
1615
+ order: number;
1616
+ interactionType: "error" | "success" | "edge-case";
1617
+ expectedStatusCode: number;
1618
+ queryParams?: Record<string, any> | undefined;
1619
+ requestBody?: Record<string, any> | undefined;
1620
+ responseBody?: Record<string, any> | undefined;
1621
+ expectedResponseFields?: string[] | undefined;
1622
+ chainsFrom?: {
1623
+ sourceStep: number;
1624
+ sourceField: string;
1625
+ sourceLocation: "cookie" | "body" | "header";
1626
+ targetParam: string;
1627
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1628
+ } | {
1629
+ sourceStep: number;
1630
+ sourceField: string;
1631
+ sourceLocation: "cookie" | "body" | "header";
1632
+ targetParam: string;
1633
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1634
+ }[] | undefined;
1635
+ bodyMustInclude?: string[] | undefined;
1636
+ }>, "many">;
1637
+ chainingKeys: z.ZodArray<z.ZodString, "many">;
1638
+ requiresAuth: z.ZodBoolean;
1639
+ estimatedComplexity: z.ZodEnum<["simple", "moderate", "complex"]>;
1640
+ source: z.ZodOptional<z.ZodNativeEnum<typeof ScenarioSource>>;
1641
+ testType: z.ZodOptional<z.ZodNativeEnum<typeof TestType>>;
1642
+ bugCatchingTarget: z.ZodOptional<z.ZodString>;
1643
+ }, "strip", z.ZodTypeAny, {
1644
+ description: string;
1645
+ priority: "high" | "medium" | "low";
1646
+ scenarioName: string;
1647
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
1648
+ steps: {
1649
+ path: string;
1650
+ method: string;
1651
+ description: string;
1652
+ order: number;
1653
+ interactionType: "error" | "success" | "edge-case";
1654
+ expectedStatusCode: number;
1655
+ queryParams?: Record<string, any> | undefined;
1656
+ requestBody?: Record<string, any> | undefined;
1657
+ responseBody?: Record<string, any> | undefined;
1658
+ expectedResponseFields?: string[] | undefined;
1659
+ chainsFrom?: {
1660
+ sourceStep: number;
1661
+ sourceField: string;
1662
+ sourceLocation: "cookie" | "body" | "header";
1663
+ targetParam: string;
1664
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1665
+ } | {
1666
+ sourceStep: number;
1667
+ sourceField: string;
1668
+ sourceLocation: "cookie" | "body" | "header";
1669
+ targetParam: string;
1670
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1671
+ }[] | undefined;
1672
+ bodyMustInclude?: string[] | undefined;
1673
+ }[];
1674
+ chainingKeys: string[];
1675
+ requiresAuth: boolean;
1676
+ estimatedComplexity: "simple" | "moderate" | "complex";
1677
+ testType?: TestType | undefined;
1678
+ source?: ScenarioSource | undefined;
1679
+ bugCatchingTarget?: string | undefined;
1680
+ }, {
1681
+ description: string;
1682
+ priority: "high" | "medium" | "low";
1683
+ scenarioName: string;
1684
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
1685
+ steps: {
1686
+ path: string;
1687
+ method: string;
1688
+ description: string;
1689
+ order: number;
1690
+ interactionType: "error" | "success" | "edge-case";
1691
+ expectedStatusCode: number;
1692
+ queryParams?: Record<string, any> | undefined;
1693
+ requestBody?: Record<string, any> | undefined;
1694
+ responseBody?: Record<string, any> | undefined;
1695
+ expectedResponseFields?: string[] | undefined;
1696
+ chainsFrom?: {
1697
+ sourceStep: number;
1698
+ sourceField: string;
1699
+ sourceLocation: "cookie" | "body" | "header";
1700
+ targetParam: string;
1701
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1702
+ } | {
1703
+ sourceStep: number;
1704
+ sourceField: string;
1705
+ sourceLocation: "cookie" | "body" | "header";
1706
+ targetParam: string;
1707
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1708
+ }[] | undefined;
1709
+ bodyMustInclude?: string[] | undefined;
1710
+ }[];
1711
+ chainingKeys: string[];
1712
+ requiresAuth: boolean;
1713
+ estimatedComplexity: "simple" | "moderate" | "complex";
1714
+ testType?: TestType | undefined;
1715
+ source?: ScenarioSource | undefined;
1716
+ bugCatchingTarget?: string | undefined;
1717
+ }>, "many">;
1718
+ }, "strip", z.ZodTypeAny, {
1719
+ mainPurpose: string;
1720
+ userFlows: string[];
1721
+ dataFlows: string[];
1722
+ integrationPatterns: string[];
1723
+ draftedScenarios: {
1724
+ description: string;
1725
+ priority: "high" | "medium" | "low";
1726
+ scenarioName: string;
1727
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
1728
+ steps: {
1729
+ path: string;
1730
+ method: string;
1731
+ description: string;
1732
+ order: number;
1733
+ interactionType: "error" | "success" | "edge-case";
1734
+ expectedStatusCode: number;
1735
+ queryParams?: Record<string, any> | undefined;
1736
+ requestBody?: Record<string, any> | undefined;
1737
+ responseBody?: Record<string, any> | undefined;
1738
+ expectedResponseFields?: string[] | undefined;
1739
+ chainsFrom?: {
1740
+ sourceStep: number;
1741
+ sourceField: string;
1742
+ sourceLocation: "cookie" | "body" | "header";
1743
+ targetParam: string;
1744
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1745
+ } | {
1746
+ sourceStep: number;
1747
+ sourceField: string;
1748
+ sourceLocation: "cookie" | "body" | "header";
1749
+ targetParam: string;
1750
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1751
+ }[] | undefined;
1752
+ bodyMustInclude?: string[] | undefined;
1753
+ }[];
1754
+ chainingKeys: string[];
1755
+ requiresAuth: boolean;
1756
+ estimatedComplexity: "simple" | "moderate" | "complex";
1757
+ testType?: TestType | undefined;
1758
+ source?: ScenarioSource | undefined;
1759
+ bugCatchingTarget?: string | undefined;
1760
+ }[];
1761
+ }, {
1762
+ mainPurpose: string;
1763
+ userFlows: string[];
1764
+ dataFlows: string[];
1765
+ integrationPatterns: string[];
1766
+ draftedScenarios: {
1767
+ description: string;
1768
+ priority: "high" | "medium" | "low";
1769
+ scenarioName: string;
1770
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
1771
+ steps: {
1772
+ path: string;
1773
+ method: string;
1774
+ description: string;
1775
+ order: number;
1776
+ interactionType: "error" | "success" | "edge-case";
1777
+ expectedStatusCode: number;
1778
+ queryParams?: Record<string, any> | undefined;
1779
+ requestBody?: Record<string, any> | undefined;
1780
+ responseBody?: Record<string, any> | undefined;
1781
+ expectedResponseFields?: string[] | undefined;
1782
+ chainsFrom?: {
1783
+ sourceStep: number;
1784
+ sourceField: string;
1785
+ sourceLocation: "cookie" | "body" | "header";
1786
+ targetParam: string;
1787
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1788
+ } | {
1789
+ sourceStep: number;
1790
+ sourceField: string;
1791
+ sourceLocation: "cookie" | "body" | "header";
1792
+ targetParam: string;
1793
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
1794
+ }[] | undefined;
1795
+ bodyMustInclude?: string[] | undefined;
1796
+ }[];
1797
+ chainingKeys: string[];
1798
+ requiresAuth: boolean;
1799
+ estimatedComplexity: "simple" | "moderate" | "complex";
1800
+ testType?: TestType | undefined;
1801
+ source?: ScenarioSource | undefined;
1802
+ bugCatchingTarget?: string | undefined;
1803
+ }[];
1804
+ }>;
1805
+ artifacts: z.ZodObject<{
1806
+ openApiSpecs: z.ZodArray<z.ZodObject<{
1807
+ path: z.ZodString;
1808
+ version: z.ZodString;
1809
+ endpointCount: z.ZodNumber;
1810
+ baseUrl: z.ZodString;
1811
+ authType: z.ZodString;
1812
+ }, "strip", z.ZodTypeAny, {
1813
+ path: string;
1814
+ version: string;
1815
+ authType: string;
1816
+ baseUrl: string;
1817
+ endpointCount: number;
1818
+ }, {
1819
+ path: string;
1820
+ version: string;
1821
+ authType: string;
1822
+ baseUrl: string;
1823
+ endpointCount: number;
1824
+ }>, "many">;
1825
+ playwrightRecordings: z.ZodArray<z.ZodObject<{
1826
+ path: z.ZodString;
1827
+ description: z.ZodString;
1828
+ }, "strip", z.ZodTypeAny, {
1829
+ path: string;
1830
+ description: string;
1831
+ }, {
1832
+ path: string;
1833
+ description: string;
1834
+ }>, "many">;
1835
+ traceFiles: z.ZodArray<z.ZodObject<{
1836
+ path: z.ZodString;
1837
+ format: z.ZodString;
1838
+ analyzed: z.ZodOptional<z.ZodBoolean>;
1839
+ userFlows: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1840
+ }, "strip", z.ZodTypeAny, {
1841
+ path: string;
1842
+ format: string;
1843
+ userFlows?: string[] | undefined;
1844
+ analyzed?: boolean | undefined;
1845
+ }, {
1846
+ path: string;
1847
+ format: string;
1848
+ userFlows?: string[] | undefined;
1849
+ analyzed?: boolean | undefined;
1850
+ }>, "many">;
1851
+ notFound: z.ZodArray<z.ZodString, "many">;
1852
+ }, "strip", z.ZodTypeAny, {
1853
+ openApiSpecs: {
1854
+ path: string;
1855
+ version: string;
1856
+ authType: string;
1857
+ baseUrl: string;
1858
+ endpointCount: number;
1859
+ }[];
1860
+ playwrightRecordings: {
1861
+ path: string;
1862
+ description: string;
1863
+ }[];
1864
+ traceFiles: {
1865
+ path: string;
1866
+ format: string;
1867
+ userFlows?: string[] | undefined;
1868
+ analyzed?: boolean | undefined;
1869
+ }[];
1870
+ notFound: string[];
1871
+ }, {
1872
+ openApiSpecs: {
1873
+ path: string;
1874
+ version: string;
1875
+ authType: string;
1876
+ baseUrl: string;
1877
+ endpointCount: number;
1878
+ }[];
1879
+ playwrightRecordings: {
1880
+ path: string;
1881
+ description: string;
1882
+ }[];
1883
+ traceFiles: {
1884
+ path: string;
1885
+ format: string;
1886
+ userFlows?: string[] | undefined;
1887
+ analyzed?: boolean | undefined;
1888
+ }[];
1889
+ notFound: string[];
1890
+ }>;
1891
+ apiEndpoints: z.ZodObject<{
1892
+ totalCount: z.ZodNumber;
1893
+ baseUrl: z.ZodString;
1894
+ endpoints: z.ZodArray<z.ZodObject<{
1895
+ path: z.ZodString;
1896
+ resourceGroup: z.ZodString;
1897
+ pathParams: z.ZodArray<z.ZodObject<{
1898
+ name: z.ZodString;
1899
+ type: z.ZodString;
1900
+ required: z.ZodBoolean;
1901
+ description: z.ZodOptional<z.ZodString>;
1902
+ constraints: z.ZodOptional<z.ZodString>;
1903
+ }, "strip", z.ZodTypeAny, {
1904
+ type: string;
1905
+ name: string;
1906
+ required: boolean;
1907
+ description?: string | undefined;
1908
+ constraints?: string | undefined;
1909
+ }, {
1910
+ type: string;
1911
+ name: string;
1912
+ required: boolean;
1913
+ description?: string | undefined;
1914
+ constraints?: string | undefined;
1915
+ }>, "many">;
1916
+ methods: z.ZodArray<z.ZodObject<{
1917
+ method: z.ZodString;
1918
+ description: z.ZodString;
1919
+ queryParams: z.ZodArray<z.ZodObject<{
1920
+ name: z.ZodString;
1921
+ type: z.ZodString;
1922
+ required: z.ZodBoolean;
1923
+ description: z.ZodOptional<z.ZodString>;
1924
+ constraints: z.ZodOptional<z.ZodString>;
1925
+ }, "strip", z.ZodTypeAny, {
1926
+ type: string;
1927
+ name: string;
1928
+ required: boolean;
1929
+ description?: string | undefined;
1930
+ constraints?: string | undefined;
1931
+ }, {
1932
+ type: string;
1933
+ name: string;
1934
+ required: boolean;
1935
+ description?: string | undefined;
1936
+ constraints?: string | undefined;
1937
+ }>, "many">;
1938
+ authRequired: z.ZodBoolean;
1939
+ authType: z.ZodOptional<z.ZodString>;
1940
+ scopes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
1941
+ sourceFile: z.ZodString;
1942
+ interactions: z.ZodArray<z.ZodObject<{
1943
+ description: z.ZodString;
1944
+ type: z.ZodEnum<["success", "error", "edge-case"]>;
1945
+ request: z.ZodObject<{
1946
+ contentType: z.ZodOptional<z.ZodString>;
1947
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1948
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1949
+ queryParams: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1950
+ }, "strip", z.ZodTypeAny, {
1951
+ body?: Record<string, any> | undefined;
1952
+ contentType?: string | undefined;
1953
+ headers?: Record<string, string> | undefined;
1954
+ queryParams?: Record<string, any> | undefined;
1955
+ }, {
1956
+ body?: Record<string, any> | undefined;
1957
+ contentType?: string | undefined;
1958
+ headers?: Record<string, string> | undefined;
1959
+ queryParams?: Record<string, any> | undefined;
1960
+ }>;
1961
+ response: z.ZodObject<{
1962
+ statusCode: z.ZodNumber;
1963
+ description: z.ZodString;
1964
+ body: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
1965
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1966
+ cookies: z.ZodOptional<z.ZodArray<z.ZodObject<{
1967
+ name: z.ZodString;
1968
+ sampleValue: z.ZodString;
1969
+ purpose: z.ZodString;
1970
+ httpOnly: z.ZodBoolean;
1971
+ secure: z.ZodBoolean;
1972
+ }, "strip", z.ZodTypeAny, {
1973
+ name: string;
1974
+ sampleValue: string;
1975
+ purpose: string;
1976
+ httpOnly: boolean;
1977
+ secure: boolean;
1978
+ }, {
1979
+ name: string;
1980
+ sampleValue: string;
1981
+ purpose: string;
1982
+ httpOnly: boolean;
1983
+ secure: boolean;
1984
+ }>, "many">>;
1985
+ }, "strip", z.ZodTypeAny, {
1986
+ description: string;
1987
+ statusCode: number;
1988
+ body?: Record<string, any> | undefined;
1989
+ headers?: Record<string, string> | undefined;
1990
+ cookies?: {
1991
+ name: string;
1992
+ sampleValue: string;
1993
+ purpose: string;
1994
+ httpOnly: boolean;
1995
+ secure: boolean;
1996
+ }[] | undefined;
1997
+ }, {
1998
+ description: string;
1999
+ statusCode: number;
2000
+ body?: Record<string, any> | undefined;
2001
+ headers?: Record<string, string> | undefined;
2002
+ cookies?: {
2003
+ name: string;
2004
+ sampleValue: string;
2005
+ purpose: string;
2006
+ httpOnly: boolean;
2007
+ secure: boolean;
2008
+ }[] | undefined;
2009
+ }>;
2010
+ }, "strip", z.ZodTypeAny, {
2011
+ type: "error" | "success" | "edge-case";
2012
+ description: string;
2013
+ request: {
2014
+ body?: Record<string, any> | undefined;
2015
+ contentType?: string | undefined;
2016
+ headers?: Record<string, string> | undefined;
2017
+ queryParams?: Record<string, any> | undefined;
2018
+ };
2019
+ response: {
2020
+ description: string;
2021
+ statusCode: number;
2022
+ body?: Record<string, any> | undefined;
2023
+ headers?: Record<string, string> | undefined;
2024
+ cookies?: {
2025
+ name: string;
2026
+ sampleValue: string;
2027
+ purpose: string;
2028
+ httpOnly: boolean;
2029
+ secure: boolean;
2030
+ }[] | undefined;
2031
+ };
2032
+ }, {
2033
+ type: "error" | "success" | "edge-case";
2034
+ description: string;
2035
+ request: {
2036
+ body?: Record<string, any> | undefined;
2037
+ contentType?: string | undefined;
2038
+ headers?: Record<string, string> | undefined;
2039
+ queryParams?: Record<string, any> | undefined;
2040
+ };
2041
+ response: {
2042
+ description: string;
2043
+ statusCode: number;
2044
+ body?: Record<string, any> | undefined;
2045
+ headers?: Record<string, string> | undefined;
2046
+ cookies?: {
2047
+ name: string;
2048
+ sampleValue: string;
2049
+ purpose: string;
2050
+ httpOnly: boolean;
2051
+ secure: boolean;
2052
+ }[] | undefined;
2053
+ };
2054
+ }>, "many">;
2055
+ dependsOn: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2056
+ createsResource: z.ZodOptional<z.ZodString>;
2057
+ }, "strip", z.ZodTypeAny, {
2058
+ method: string;
2059
+ description: string;
2060
+ queryParams: {
2061
+ type: string;
2062
+ name: string;
2063
+ required: boolean;
2064
+ description?: string | undefined;
2065
+ constraints?: string | undefined;
2066
+ }[];
2067
+ authRequired: boolean;
2068
+ sourceFile: string;
2069
+ interactions: {
2070
+ type: "error" | "success" | "edge-case";
2071
+ description: string;
2072
+ request: {
2073
+ body?: Record<string, any> | undefined;
2074
+ contentType?: string | undefined;
2075
+ headers?: Record<string, string> | undefined;
2076
+ queryParams?: Record<string, any> | undefined;
2077
+ };
2078
+ response: {
2079
+ description: string;
2080
+ statusCode: number;
2081
+ body?: Record<string, any> | undefined;
2082
+ headers?: Record<string, string> | undefined;
2083
+ cookies?: {
2084
+ name: string;
2085
+ sampleValue: string;
2086
+ purpose: string;
2087
+ httpOnly: boolean;
2088
+ secure: boolean;
2089
+ }[] | undefined;
2090
+ };
2091
+ }[];
2092
+ authType?: string | undefined;
2093
+ scopes?: string[] | undefined;
2094
+ dependsOn?: string[] | undefined;
2095
+ createsResource?: string | undefined;
2096
+ }, {
2097
+ method: string;
2098
+ description: string;
2099
+ queryParams: {
2100
+ type: string;
2101
+ name: string;
2102
+ required: boolean;
2103
+ description?: string | undefined;
2104
+ constraints?: string | undefined;
2105
+ }[];
2106
+ authRequired: boolean;
2107
+ sourceFile: string;
2108
+ interactions: {
2109
+ type: "error" | "success" | "edge-case";
2110
+ description: string;
2111
+ request: {
2112
+ body?: Record<string, any> | undefined;
2113
+ contentType?: string | undefined;
2114
+ headers?: Record<string, string> | undefined;
2115
+ queryParams?: Record<string, any> | undefined;
2116
+ };
2117
+ response: {
2118
+ description: string;
2119
+ statusCode: number;
2120
+ body?: Record<string, any> | undefined;
2121
+ headers?: Record<string, string> | undefined;
2122
+ cookies?: {
2123
+ name: string;
2124
+ sampleValue: string;
2125
+ purpose: string;
2126
+ httpOnly: boolean;
2127
+ secure: boolean;
2128
+ }[] | undefined;
2129
+ };
2130
+ }[];
2131
+ authType?: string | undefined;
2132
+ scopes?: string[] | undefined;
2133
+ dependsOn?: string[] | undefined;
2134
+ createsResource?: string | undefined;
2135
+ }>, "many">;
2136
+ }, "strip", z.ZodTypeAny, {
2137
+ path: string;
2138
+ resourceGroup: string;
2139
+ pathParams: {
2140
+ type: string;
2141
+ name: string;
2142
+ required: boolean;
2143
+ description?: string | undefined;
2144
+ constraints?: string | undefined;
2145
+ }[];
2146
+ methods: {
2147
+ method: string;
2148
+ description: string;
2149
+ queryParams: {
2150
+ type: string;
2151
+ name: string;
2152
+ required: boolean;
2153
+ description?: string | undefined;
2154
+ constraints?: string | undefined;
2155
+ }[];
2156
+ authRequired: boolean;
2157
+ sourceFile: string;
2158
+ interactions: {
2159
+ type: "error" | "success" | "edge-case";
2160
+ description: string;
2161
+ request: {
2162
+ body?: Record<string, any> | undefined;
2163
+ contentType?: string | undefined;
2164
+ headers?: Record<string, string> | undefined;
2165
+ queryParams?: Record<string, any> | undefined;
2166
+ };
2167
+ response: {
2168
+ description: string;
2169
+ statusCode: number;
2170
+ body?: Record<string, any> | undefined;
2171
+ headers?: Record<string, string> | undefined;
2172
+ cookies?: {
2173
+ name: string;
2174
+ sampleValue: string;
2175
+ purpose: string;
2176
+ httpOnly: boolean;
2177
+ secure: boolean;
2178
+ }[] | undefined;
2179
+ };
2180
+ }[];
2181
+ authType?: string | undefined;
2182
+ scopes?: string[] | undefined;
2183
+ dependsOn?: string[] | undefined;
2184
+ createsResource?: string | undefined;
2185
+ }[];
2186
+ }, {
2187
+ path: string;
2188
+ resourceGroup: string;
2189
+ pathParams: {
2190
+ type: string;
2191
+ name: string;
2192
+ required: boolean;
2193
+ description?: string | undefined;
2194
+ constraints?: string | undefined;
2195
+ }[];
2196
+ methods: {
2197
+ method: string;
2198
+ description: string;
2199
+ queryParams: {
2200
+ type: string;
2201
+ name: string;
2202
+ required: boolean;
2203
+ description?: string | undefined;
2204
+ constraints?: string | undefined;
2205
+ }[];
2206
+ authRequired: boolean;
2207
+ sourceFile: string;
2208
+ interactions: {
2209
+ type: "error" | "success" | "edge-case";
2210
+ description: string;
2211
+ request: {
2212
+ body?: Record<string, any> | undefined;
2213
+ contentType?: string | undefined;
2214
+ headers?: Record<string, string> | undefined;
2215
+ queryParams?: Record<string, any> | undefined;
2216
+ };
2217
+ response: {
2218
+ description: string;
2219
+ statusCode: number;
2220
+ body?: Record<string, any> | undefined;
2221
+ headers?: Record<string, string> | undefined;
2222
+ cookies?: {
2223
+ name: string;
2224
+ sampleValue: string;
2225
+ purpose: string;
2226
+ httpOnly: boolean;
2227
+ secure: boolean;
2228
+ }[] | undefined;
2229
+ };
2230
+ }[];
2231
+ authType?: string | undefined;
2232
+ scopes?: string[] | undefined;
2233
+ dependsOn?: string[] | undefined;
2234
+ createsResource?: string | undefined;
2235
+ }[];
2236
+ }>, "many">;
2237
+ }, "strip", z.ZodTypeAny, {
2238
+ baseUrl: string;
2239
+ totalCount: number;
2240
+ endpoints: {
2241
+ path: string;
2242
+ resourceGroup: string;
2243
+ pathParams: {
2244
+ type: string;
2245
+ name: string;
2246
+ required: boolean;
2247
+ description?: string | undefined;
2248
+ constraints?: string | undefined;
2249
+ }[];
2250
+ methods: {
2251
+ method: string;
2252
+ description: string;
2253
+ queryParams: {
2254
+ type: string;
2255
+ name: string;
2256
+ required: boolean;
2257
+ description?: string | undefined;
2258
+ constraints?: string | undefined;
2259
+ }[];
2260
+ authRequired: boolean;
2261
+ sourceFile: string;
2262
+ interactions: {
2263
+ type: "error" | "success" | "edge-case";
2264
+ description: string;
2265
+ request: {
2266
+ body?: Record<string, any> | undefined;
2267
+ contentType?: string | undefined;
2268
+ headers?: Record<string, string> | undefined;
2269
+ queryParams?: Record<string, any> | undefined;
2270
+ };
2271
+ response: {
2272
+ description: string;
2273
+ statusCode: number;
2274
+ body?: Record<string, any> | undefined;
2275
+ headers?: Record<string, string> | undefined;
2276
+ cookies?: {
2277
+ name: string;
2278
+ sampleValue: string;
2279
+ purpose: string;
2280
+ httpOnly: boolean;
2281
+ secure: boolean;
2282
+ }[] | undefined;
2283
+ };
2284
+ }[];
2285
+ authType?: string | undefined;
2286
+ scopes?: string[] | undefined;
2287
+ dependsOn?: string[] | undefined;
2288
+ createsResource?: string | undefined;
2289
+ }[];
2290
+ }[];
2291
+ }, {
2292
+ baseUrl: string;
2293
+ totalCount: number;
2294
+ endpoints: {
2295
+ path: string;
2296
+ resourceGroup: string;
2297
+ pathParams: {
2298
+ type: string;
2299
+ name: string;
2300
+ required: boolean;
2301
+ description?: string | undefined;
2302
+ constraints?: string | undefined;
2303
+ }[];
2304
+ methods: {
2305
+ method: string;
2306
+ description: string;
2307
+ queryParams: {
2308
+ type: string;
2309
+ name: string;
2310
+ required: boolean;
2311
+ description?: string | undefined;
2312
+ constraints?: string | undefined;
2313
+ }[];
2314
+ authRequired: boolean;
2315
+ sourceFile: string;
2316
+ interactions: {
2317
+ type: "error" | "success" | "edge-case";
2318
+ description: string;
2319
+ request: {
2320
+ body?: Record<string, any> | undefined;
2321
+ contentType?: string | undefined;
2322
+ headers?: Record<string, string> | undefined;
2323
+ queryParams?: Record<string, any> | undefined;
2324
+ };
2325
+ response: {
2326
+ description: string;
2327
+ statusCode: number;
2328
+ body?: Record<string, any> | undefined;
2329
+ headers?: Record<string, string> | undefined;
2330
+ cookies?: {
2331
+ name: string;
2332
+ sampleValue: string;
2333
+ purpose: string;
2334
+ httpOnly: boolean;
2335
+ secure: boolean;
2336
+ }[] | undefined;
2337
+ };
2338
+ }[];
2339
+ authType?: string | undefined;
2340
+ scopes?: string[] | undefined;
2341
+ dependsOn?: string[] | undefined;
2342
+ createsResource?: string | undefined;
2343
+ }[];
2344
+ }[];
2345
+ }>;
2346
+ authentication: z.ZodObject<{
2347
+ method: z.ZodString;
2348
+ configLocation: z.ZodString;
2349
+ envVarsRequired: z.ZodArray<z.ZodString, "many">;
2350
+ setupExample: z.ZodString;
2351
+ }, "strip", z.ZodTypeAny, {
2352
+ method: string;
2353
+ configLocation: string;
2354
+ envVarsRequired: string[];
2355
+ setupExample: string;
2356
+ }, {
2357
+ method: string;
2358
+ configLocation: string;
2359
+ envVarsRequired: string[];
2360
+ setupExample: string;
2361
+ }>;
2362
+ infrastructure: z.ZodObject<{
2363
+ isContainerized: z.ZodBoolean;
2364
+ hasDockerCompose: z.ZodBoolean;
2365
+ hasKubernetes: z.ZodBoolean;
2366
+ hasCiCd: z.ZodBoolean;
2367
+ ciCdPlatform: z.ZodOptional<z.ZodString>;
2368
+ }, "strip", z.ZodTypeAny, {
2369
+ isContainerized: boolean;
2370
+ hasDockerCompose: boolean;
2371
+ hasKubernetes: boolean;
2372
+ hasCiCd: boolean;
2373
+ ciCdPlatform?: string | undefined;
2374
+ }, {
2375
+ isContainerized: boolean;
2376
+ hasDockerCompose: boolean;
2377
+ hasKubernetes: boolean;
2378
+ hasCiCd: boolean;
2379
+ ciCdPlatform?: string | undefined;
2380
+ }>;
2381
+ existingTests: z.ZodObject<{
2382
+ frameworks: z.ZodArray<z.ZodString, "many">;
2383
+ coverage: z.ZodObject<{
2384
+ unit: z.ZodNumber;
2385
+ integration: z.ZodNumber;
2386
+ e2e: z.ZodNumber;
2387
+ ui: z.ZodNumber;
2388
+ load: z.ZodNumber;
2389
+ contract: z.ZodNumber;
2390
+ smoke: z.ZodNumber;
2391
+ }, "strip", z.ZodTypeAny, {
2392
+ smoke: number;
2393
+ contract: number;
2394
+ load: number;
2395
+ integration: number;
2396
+ e2e: number;
2397
+ ui: number;
2398
+ unit: number;
2399
+ }, {
2400
+ smoke: number;
2401
+ contract: number;
2402
+ load: number;
2403
+ integration: number;
2404
+ e2e: number;
2405
+ ui: number;
2406
+ unit: number;
2407
+ }>;
2408
+ testLocations: z.ZodRecord<z.ZodString, z.ZodString>;
2409
+ hasCoverageReports: z.ZodBoolean;
2410
+ estimatedCoverage: z.ZodOptional<z.ZodNumber>;
2411
+ relevantExternalTestPaths: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
2412
+ }, "strip", z.ZodTypeAny, {
2413
+ frameworks: string[];
2414
+ coverage: {
2415
+ smoke: number;
2416
+ contract: number;
2417
+ load: number;
2418
+ integration: number;
2419
+ e2e: number;
2420
+ ui: number;
2421
+ unit: number;
2422
+ };
2423
+ testLocations: Record<string, string>;
2424
+ hasCoverageReports: boolean;
2425
+ estimatedCoverage?: number | undefined;
2426
+ relevantExternalTestPaths?: string[] | undefined;
2427
+ }, {
2428
+ frameworks: string[];
2429
+ coverage: {
2430
+ smoke: number;
2431
+ contract: number;
2432
+ load: number;
2433
+ integration: number;
2434
+ e2e: number;
2435
+ ui: number;
2436
+ unit: number;
2437
+ };
2438
+ testLocations: Record<string, string>;
2439
+ hasCoverageReports: boolean;
2440
+ estimatedCoverage?: number | undefined;
2441
+ relevantExternalTestPaths?: string[] | undefined;
2442
+ }>;
2443
+ branchDiffContext: z.ZodOptional<z.ZodObject<{
2444
+ currentBranch: z.ZodString;
2445
+ baseBranch: z.ZodString;
2446
+ changedFiles: z.ZodArray<z.ZodString, "many">;
2447
+ newEndpoints: z.ZodArray<z.ZodObject<{
2448
+ path: z.ZodString;
2449
+ methods: z.ZodArray<z.ZodObject<{
2450
+ method: z.ZodString;
2451
+ sourceFile: z.ZodString;
2452
+ interactionCount: z.ZodNumber;
2453
+ }, "strip", z.ZodTypeAny, {
2454
+ method: string;
2455
+ sourceFile: string;
2456
+ interactionCount: number;
2457
+ }, {
2458
+ method: string;
2459
+ sourceFile: string;
2460
+ interactionCount: number;
2461
+ }>, "many">;
2462
+ }, "strip", z.ZodTypeAny, {
2463
+ path: string;
2464
+ methods: {
2465
+ method: string;
2466
+ sourceFile: string;
2467
+ interactionCount: number;
2468
+ }[];
2469
+ }, {
2470
+ path: string;
2471
+ methods: {
2472
+ method: string;
2473
+ sourceFile: string;
2474
+ interactionCount: number;
2475
+ }[];
2476
+ }>, "many">;
2477
+ modifiedEndpoints: z.ZodArray<z.ZodObject<{
2478
+ path: z.ZodString;
2479
+ methods: z.ZodArray<z.ZodObject<{
2480
+ method: z.ZodString;
2481
+ sourceFile: z.ZodString;
2482
+ changeType: z.ZodEnum<["added", "modified", "removed"]>;
2483
+ }, "strip", z.ZodTypeAny, {
2484
+ method: string;
2485
+ sourceFile: string;
2486
+ changeType: "added" | "modified" | "removed";
2487
+ }, {
2488
+ method: string;
2489
+ sourceFile: string;
2490
+ changeType: "added" | "modified" | "removed";
2491
+ }>, "many">;
2492
+ }, "strip", z.ZodTypeAny, {
2493
+ path: string;
2494
+ methods: {
2495
+ method: string;
2496
+ sourceFile: string;
2497
+ changeType: "added" | "modified" | "removed";
2498
+ }[];
2499
+ }, {
2500
+ path: string;
2501
+ methods: {
2502
+ method: string;
2503
+ sourceFile: string;
2504
+ changeType: "added" | "modified" | "removed";
2505
+ }[];
2506
+ }>, "many">;
2507
+ removedEndpoints: z.ZodOptional<z.ZodArray<z.ZodObject<{
2508
+ path: z.ZodString;
2509
+ methods: z.ZodArray<z.ZodObject<{
2510
+ method: z.ZodString;
2511
+ sourceFile: z.ZodString;
2512
+ changeType: z.ZodLiteral<"removed">;
2513
+ }, "strip", z.ZodTypeAny, {
2514
+ method: string;
2515
+ sourceFile: string;
2516
+ changeType: "removed";
2517
+ }, {
2518
+ method: string;
2519
+ sourceFile: string;
2520
+ changeType: "removed";
2521
+ }>, "many">;
2522
+ }, "strip", z.ZodTypeAny, {
2523
+ path: string;
2524
+ methods: {
2525
+ method: string;
2526
+ sourceFile: string;
2527
+ changeType: "removed";
2528
+ }[];
2529
+ }, {
2530
+ path: string;
2531
+ methods: {
2532
+ method: string;
2533
+ sourceFile: string;
2534
+ changeType: "removed";
2535
+ }[];
2536
+ }>, "many">>;
2537
+ affectedServices: z.ZodArray<z.ZodString, "many">;
2538
+ summary: z.ZodOptional<z.ZodString>;
2539
+ }, "strip", z.ZodTypeAny, {
2540
+ currentBranch: string;
2541
+ baseBranch: string;
2542
+ changedFiles: string[];
2543
+ newEndpoints: {
2544
+ path: string;
2545
+ methods: {
2546
+ method: string;
2547
+ sourceFile: string;
2548
+ interactionCount: number;
2549
+ }[];
2550
+ }[];
2551
+ modifiedEndpoints: {
2552
+ path: string;
2553
+ methods: {
2554
+ method: string;
2555
+ sourceFile: string;
2556
+ changeType: "added" | "modified" | "removed";
2557
+ }[];
2558
+ }[];
2559
+ affectedServices: string[];
2560
+ removedEndpoints?: {
2561
+ path: string;
2562
+ methods: {
2563
+ method: string;
2564
+ sourceFile: string;
2565
+ changeType: "removed";
2566
+ }[];
2567
+ }[] | undefined;
2568
+ summary?: string | undefined;
2569
+ }, {
2570
+ currentBranch: string;
2571
+ baseBranch: string;
2572
+ changedFiles: string[];
2573
+ newEndpoints: {
2574
+ path: string;
2575
+ methods: {
2576
+ method: string;
2577
+ sourceFile: string;
2578
+ interactionCount: number;
2579
+ }[];
2580
+ }[];
2581
+ modifiedEndpoints: {
2582
+ path: string;
2583
+ methods: {
2584
+ method: string;
2585
+ sourceFile: string;
2586
+ changeType: "added" | "modified" | "removed";
2587
+ }[];
2588
+ }[];
2589
+ affectedServices: string[];
2590
+ removedEndpoints?: {
2591
+ path: string;
2592
+ methods: {
2593
+ method: string;
2594
+ sourceFile: string;
2595
+ changeType: "removed";
2596
+ }[];
2597
+ }[] | undefined;
2598
+ summary?: string | undefined;
2599
+ }>>;
2600
+ }, "strip", z.ZodTypeAny, {
2601
+ metadata: {
2602
+ repositoryName: string;
2603
+ analysisDate: string;
2604
+ scanDepth: "quick" | "full";
2605
+ analysisScope?: AnalysisScope | undefined;
2606
+ };
2607
+ projectClassification: {
2608
+ projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
2609
+ primaryLanguage: string;
2610
+ primaryFramework: string;
2611
+ deploymentPattern: "unknown" | "full-stack" | "microservices" | "containerized-monolith" | "traditional";
2612
+ };
2613
+ technologyStack: {
2614
+ runtime: string;
2615
+ languages: string[];
2616
+ frameworks: string[];
2617
+ keyDependencies: {
2618
+ version: string;
2619
+ name: string;
2620
+ purpose: string;
2621
+ }[];
2622
+ };
2623
+ businessContext: {
2624
+ mainPurpose: string;
2625
+ userFlows: string[];
2626
+ dataFlows: string[];
2627
+ integrationPatterns: string[];
2628
+ draftedScenarios: {
2629
+ description: string;
2630
+ priority: "high" | "medium" | "low";
2631
+ scenarioName: string;
2632
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
2633
+ steps: {
2634
+ path: string;
2635
+ method: string;
2636
+ description: string;
2637
+ order: number;
2638
+ interactionType: "error" | "success" | "edge-case";
2639
+ expectedStatusCode: number;
2640
+ queryParams?: Record<string, any> | undefined;
2641
+ requestBody?: Record<string, any> | undefined;
2642
+ responseBody?: Record<string, any> | undefined;
2643
+ expectedResponseFields?: string[] | undefined;
2644
+ chainsFrom?: {
2645
+ sourceStep: number;
2646
+ sourceField: string;
2647
+ sourceLocation: "cookie" | "body" | "header";
2648
+ targetParam: string;
2649
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
2650
+ } | {
2651
+ sourceStep: number;
2652
+ sourceField: string;
2653
+ sourceLocation: "cookie" | "body" | "header";
2654
+ targetParam: string;
2655
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
2656
+ }[] | undefined;
2657
+ bodyMustInclude?: string[] | undefined;
2658
+ }[];
2659
+ chainingKeys: string[];
2660
+ requiresAuth: boolean;
2661
+ estimatedComplexity: "simple" | "moderate" | "complex";
2662
+ testType?: TestType | undefined;
2663
+ source?: ScenarioSource | undefined;
2664
+ bugCatchingTarget?: string | undefined;
2665
+ }[];
2666
+ };
2667
+ artifacts: {
2668
+ openApiSpecs: {
2669
+ path: string;
2670
+ version: string;
2671
+ authType: string;
2672
+ baseUrl: string;
2673
+ endpointCount: number;
2674
+ }[];
2675
+ playwrightRecordings: {
2676
+ path: string;
2677
+ description: string;
2678
+ }[];
2679
+ traceFiles: {
2680
+ path: string;
2681
+ format: string;
2682
+ userFlows?: string[] | undefined;
2683
+ analyzed?: boolean | undefined;
2684
+ }[];
2685
+ notFound: string[];
2686
+ };
2687
+ apiEndpoints: {
2688
+ baseUrl: string;
2689
+ totalCount: number;
2690
+ endpoints: {
2691
+ path: string;
2692
+ resourceGroup: string;
2693
+ pathParams: {
2694
+ type: string;
2695
+ name: string;
2696
+ required: boolean;
2697
+ description?: string | undefined;
2698
+ constraints?: string | undefined;
2699
+ }[];
2700
+ methods: {
2701
+ method: string;
2702
+ description: string;
2703
+ queryParams: {
2704
+ type: string;
2705
+ name: string;
2706
+ required: boolean;
2707
+ description?: string | undefined;
2708
+ constraints?: string | undefined;
2709
+ }[];
2710
+ authRequired: boolean;
2711
+ sourceFile: string;
2712
+ interactions: {
2713
+ type: "error" | "success" | "edge-case";
2714
+ description: string;
2715
+ request: {
2716
+ body?: Record<string, any> | undefined;
2717
+ contentType?: string | undefined;
2718
+ headers?: Record<string, string> | undefined;
2719
+ queryParams?: Record<string, any> | undefined;
2720
+ };
2721
+ response: {
2722
+ description: string;
2723
+ statusCode: number;
2724
+ body?: Record<string, any> | undefined;
2725
+ headers?: Record<string, string> | undefined;
2726
+ cookies?: {
2727
+ name: string;
2728
+ sampleValue: string;
2729
+ purpose: string;
2730
+ httpOnly: boolean;
2731
+ secure: boolean;
2732
+ }[] | undefined;
2733
+ };
2734
+ }[];
2735
+ authType?: string | undefined;
2736
+ scopes?: string[] | undefined;
2737
+ dependsOn?: string[] | undefined;
2738
+ createsResource?: string | undefined;
2739
+ }[];
2740
+ }[];
2741
+ };
2742
+ authentication: {
2743
+ method: string;
2744
+ configLocation: string;
2745
+ envVarsRequired: string[];
2746
+ setupExample: string;
2747
+ };
2748
+ infrastructure: {
2749
+ isContainerized: boolean;
2750
+ hasDockerCompose: boolean;
2751
+ hasKubernetes: boolean;
2752
+ hasCiCd: boolean;
2753
+ ciCdPlatform?: string | undefined;
2754
+ };
2755
+ existingTests: {
2756
+ frameworks: string[];
2757
+ coverage: {
2758
+ smoke: number;
2759
+ contract: number;
2760
+ load: number;
2761
+ integration: number;
2762
+ e2e: number;
2763
+ ui: number;
2764
+ unit: number;
2765
+ };
2766
+ testLocations: Record<string, string>;
2767
+ hasCoverageReports: boolean;
2768
+ estimatedCoverage?: number | undefined;
2769
+ relevantExternalTestPaths?: string[] | undefined;
2770
+ };
2771
+ branchDiffContext?: {
2772
+ currentBranch: string;
2773
+ baseBranch: string;
2774
+ changedFiles: string[];
2775
+ newEndpoints: {
2776
+ path: string;
2777
+ methods: {
2778
+ method: string;
2779
+ sourceFile: string;
2780
+ interactionCount: number;
2781
+ }[];
2782
+ }[];
2783
+ modifiedEndpoints: {
2784
+ path: string;
2785
+ methods: {
2786
+ method: string;
2787
+ sourceFile: string;
2788
+ changeType: "added" | "modified" | "removed";
2789
+ }[];
2790
+ }[];
2791
+ affectedServices: string[];
2792
+ removedEndpoints?: {
2793
+ path: string;
2794
+ methods: {
2795
+ method: string;
2796
+ sourceFile: string;
2797
+ changeType: "removed";
2798
+ }[];
2799
+ }[] | undefined;
2800
+ summary?: string | undefined;
2801
+ } | undefined;
2802
+ }, {
2803
+ metadata: {
2804
+ repositoryName: string;
2805
+ analysisDate: string;
2806
+ scanDepth: "quick" | "full";
2807
+ analysisScope?: AnalysisScope | undefined;
2808
+ };
2809
+ projectClassification: {
2810
+ projectType: "rest-api" | "frontend" | "full-stack" | "microservices" | "library" | "cli" | "other";
2811
+ primaryLanguage: string;
2812
+ primaryFramework: string;
2813
+ deploymentPattern: "unknown" | "full-stack" | "microservices" | "containerized-monolith" | "traditional";
2814
+ };
2815
+ technologyStack: {
2816
+ runtime: string;
2817
+ languages: string[];
2818
+ frameworks: string[];
2819
+ keyDependencies: {
2820
+ version: string;
2821
+ name: string;
2822
+ purpose: string;
2823
+ }[];
2824
+ };
2825
+ businessContext: {
2826
+ mainPurpose: string;
2827
+ userFlows: string[];
2828
+ dataFlows: string[];
2829
+ integrationPatterns: string[];
2830
+ draftedScenarios: {
2831
+ description: string;
2832
+ priority: "high" | "medium" | "low";
2833
+ scenarioName: string;
2834
+ category: "breaking_change" | "new_endpoint" | "bug_caught" | "business_rule" | "security_boundary" | "data_integrity" | "auth" | "error_handling" | "workflow" | "data_validation" | "crud";
2835
+ steps: {
2836
+ path: string;
2837
+ method: string;
2838
+ description: string;
2839
+ order: number;
2840
+ interactionType: "error" | "success" | "edge-case";
2841
+ expectedStatusCode: number;
2842
+ queryParams?: Record<string, any> | undefined;
2843
+ requestBody?: Record<string, any> | undefined;
2844
+ responseBody?: Record<string, any> | undefined;
2845
+ expectedResponseFields?: string[] | undefined;
2846
+ chainsFrom?: {
2847
+ sourceStep: number;
2848
+ sourceField: string;
2849
+ sourceLocation: "cookie" | "body" | "header";
2850
+ targetParam: string;
2851
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
2852
+ } | {
2853
+ sourceStep: number;
2854
+ sourceField: string;
2855
+ sourceLocation: "cookie" | "body" | "header";
2856
+ targetParam: string;
2857
+ targetLocation: "path" | "cookie" | "body" | "header" | "query";
2858
+ }[] | undefined;
2859
+ bodyMustInclude?: string[] | undefined;
2860
+ }[];
2861
+ chainingKeys: string[];
2862
+ requiresAuth: boolean;
2863
+ estimatedComplexity: "simple" | "moderate" | "complex";
2864
+ testType?: TestType | undefined;
2865
+ source?: ScenarioSource | undefined;
2866
+ bugCatchingTarget?: string | undefined;
2867
+ }[];
2868
+ };
2869
+ artifacts: {
2870
+ openApiSpecs: {
2871
+ path: string;
2872
+ version: string;
2873
+ authType: string;
2874
+ baseUrl: string;
2875
+ endpointCount: number;
2876
+ }[];
2877
+ playwrightRecordings: {
2878
+ path: string;
2879
+ description: string;
2880
+ }[];
2881
+ traceFiles: {
2882
+ path: string;
2883
+ format: string;
2884
+ userFlows?: string[] | undefined;
2885
+ analyzed?: boolean | undefined;
2886
+ }[];
2887
+ notFound: string[];
2888
+ };
2889
+ apiEndpoints: {
2890
+ baseUrl: string;
2891
+ totalCount: number;
2892
+ endpoints: {
2893
+ path: string;
2894
+ resourceGroup: string;
2895
+ pathParams: {
2896
+ type: string;
2897
+ name: string;
2898
+ required: boolean;
2899
+ description?: string | undefined;
2900
+ constraints?: string | undefined;
2901
+ }[];
2902
+ methods: {
2903
+ method: string;
2904
+ description: string;
2905
+ queryParams: {
2906
+ type: string;
2907
+ name: string;
2908
+ required: boolean;
2909
+ description?: string | undefined;
2910
+ constraints?: string | undefined;
2911
+ }[];
2912
+ authRequired: boolean;
2913
+ sourceFile: string;
2914
+ interactions: {
2915
+ type: "error" | "success" | "edge-case";
2916
+ description: string;
2917
+ request: {
2918
+ body?: Record<string, any> | undefined;
2919
+ contentType?: string | undefined;
2920
+ headers?: Record<string, string> | undefined;
2921
+ queryParams?: Record<string, any> | undefined;
2922
+ };
2923
+ response: {
2924
+ description: string;
2925
+ statusCode: number;
2926
+ body?: Record<string, any> | undefined;
2927
+ headers?: Record<string, string> | undefined;
2928
+ cookies?: {
2929
+ name: string;
2930
+ sampleValue: string;
2931
+ purpose: string;
2932
+ httpOnly: boolean;
2933
+ secure: boolean;
2934
+ }[] | undefined;
2935
+ };
2936
+ }[];
2937
+ authType?: string | undefined;
2938
+ scopes?: string[] | undefined;
2939
+ dependsOn?: string[] | undefined;
2940
+ createsResource?: string | undefined;
2941
+ }[];
2942
+ }[];
2943
+ };
2944
+ authentication: {
2945
+ method: string;
2946
+ configLocation: string;
2947
+ envVarsRequired: string[];
2948
+ setupExample: string;
2949
+ };
2950
+ infrastructure: {
2951
+ isContainerized: boolean;
2952
+ hasDockerCompose: boolean;
2953
+ hasKubernetes: boolean;
2954
+ hasCiCd: boolean;
2955
+ ciCdPlatform?: string | undefined;
2956
+ };
2957
+ existingTests: {
2958
+ frameworks: string[];
2959
+ coverage: {
2960
+ smoke: number;
2961
+ contract: number;
2962
+ load: number;
2963
+ integration: number;
2964
+ e2e: number;
2965
+ ui: number;
2966
+ unit: number;
2967
+ };
2968
+ testLocations: Record<string, string>;
2969
+ hasCoverageReports: boolean;
2970
+ estimatedCoverage?: number | undefined;
2971
+ relevantExternalTestPaths?: string[] | undefined;
2972
+ };
2973
+ branchDiffContext?: {
2974
+ currentBranch: string;
2975
+ baseBranch: string;
2976
+ changedFiles: string[];
2977
+ newEndpoints: {
2978
+ path: string;
2979
+ methods: {
2980
+ method: string;
2981
+ sourceFile: string;
2982
+ interactionCount: number;
2983
+ }[];
2984
+ }[];
2985
+ modifiedEndpoints: {
2986
+ path: string;
2987
+ methods: {
2988
+ method: string;
2989
+ sourceFile: string;
2990
+ changeType: "added" | "modified" | "removed";
2991
+ }[];
2992
+ }[];
2993
+ affectedServices: string[];
2994
+ removedEndpoints?: {
2995
+ path: string;
2996
+ methods: {
2997
+ method: string;
2998
+ sourceFile: string;
2999
+ changeType: "removed";
3000
+ }[];
3001
+ }[] | undefined;
3002
+ summary?: string | undefined;
3003
+ } | undefined;
3004
+ }>;