neuron-inspector 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/compound-tools.js +2 -136
  2. package/dist/compound-tools.js.map +1 -1
  3. package/dist/monitor.js +208 -7
  4. package/dist/monitor.js.map +1 -1
  5. package/dist/recipe-tools.js +6 -39
  6. package/dist/recipe-tools.js.map +1 -1
  7. package/dist/recipes.d.ts +0 -4
  8. package/dist/recipes.js +3 -49
  9. package/dist/recipes.js.map +1 -1
  10. package/dist/server.js +53 -166
  11. package/dist/server.js.map +1 -1
  12. package/dist/tools.js +0 -26
  13. package/dist/tools.js.map +1 -1
  14. package/package.json +3 -4
  15. package/recipes/linkedin-outreach/learnings.md +1 -17
  16. package/recipes/planner/agent.md +1 -66
  17. package/recipes/planner/learnings.md +1 -49
  18. package/recipes/social-ops/learnings.md +13 -33
  19. package/dist/__tests__/monitor.test.d.ts +0 -1
  20. package/dist/__tests__/monitor.test.js +0 -286
  21. package/dist/__tests__/monitor.test.js.map +0 -1
  22. package/dist/__tests__/recipes.test.d.ts +0 -1
  23. package/dist/__tests__/recipes.test.js +0 -415
  24. package/dist/__tests__/recipes.test.js.map +0 -1
  25. package/dist/__tests__/scheduler.test.d.ts +0 -1
  26. package/dist/__tests__/scheduler.test.js +0 -316
  27. package/dist/__tests__/scheduler.test.js.map +0 -1
  28. package/dist/__tests__/session-state.test.d.ts +0 -1
  29. package/dist/__tests__/session-state.test.js +0 -335
  30. package/dist/__tests__/session-state.test.js.map +0 -1
  31. package/dist/collections/__tests__/assertions.test.d.ts +0 -1
  32. package/dist/collections/__tests__/assertions.test.js +0 -203
  33. package/dist/collections/__tests__/assertions.test.js.map +0 -1
  34. package/dist/collections/__tests__/dynamic-vars.test.d.ts +0 -1
  35. package/dist/collections/__tests__/dynamic-vars.test.js +0 -169
  36. package/dist/collections/__tests__/dynamic-vars.test.js.map +0 -1
  37. package/dist/collections/__tests__/execution.test.d.ts +0 -1
  38. package/dist/collections/__tests__/execution.test.js +0 -271
  39. package/dist/collections/__tests__/execution.test.js.map +0 -1
  40. package/dist/collections/__tests__/integration.test.d.ts +0 -1
  41. package/dist/collections/__tests__/integration.test.js +0 -478
  42. package/dist/collections/__tests__/integration.test.js.map +0 -1
  43. package/dist/collections/__tests__/resolver.test.d.ts +0 -1
  44. package/dist/collections/__tests__/resolver.test.js +0 -282
  45. package/dist/collections/__tests__/resolver.test.js.map +0 -1
  46. package/dist/collections/__tests__/scenario.test.d.ts +0 -1
  47. package/dist/collections/__tests__/scenario.test.js +0 -367
  48. package/dist/collections/__tests__/scenario.test.js.map +0 -1
  49. package/dist/collections/__tests__/scripts.test.d.ts +0 -1
  50. package/dist/collections/__tests__/scripts.test.js +0 -245
  51. package/dist/collections/__tests__/scripts.test.js.map +0 -1
  52. package/dist/collections/__tests__/store.test.d.ts +0 -1
  53. package/dist/collections/__tests__/store.test.js +0 -313
  54. package/dist/collections/__tests__/store.test.js.map +0 -1
  55. package/dist/collections/assertions.d.ts +0 -16
  56. package/dist/collections/assertions.js +0 -107
  57. package/dist/collections/assertions.js.map +0 -1
  58. package/dist/collections/dynamic-vars.d.ts +0 -75
  59. package/dist/collections/dynamic-vars.js +0 -187
  60. package/dist/collections/dynamic-vars.js.map +0 -1
  61. package/dist/collections/executor.d.ts +0 -100
  62. package/dist/collections/executor.js +0 -301
  63. package/dist/collections/executor.js.map +0 -1
  64. package/dist/collections/http.d.ts +0 -9
  65. package/dist/collections/http.js +0 -194
  66. package/dist/collections/http.js.map +0 -1
  67. package/dist/collections/index.d.ts +0 -12
  68. package/dist/collections/index.js +0 -27
  69. package/dist/collections/index.js.map +0 -1
  70. package/dist/collections/postman.d.ts +0 -10
  71. package/dist/collections/postman.js +0 -288
  72. package/dist/collections/postman.js.map +0 -1
  73. package/dist/collections/resolver.d.ts +0 -74
  74. package/dist/collections/resolver.js +0 -330
  75. package/dist/collections/resolver.js.map +0 -1
  76. package/dist/collections/scripts.d.ts +0 -20
  77. package/dist/collections/scripts.js +0 -225
  78. package/dist/collections/scripts.js.map +0 -1
  79. package/dist/collections/store.d.ts +0 -68
  80. package/dist/collections/store.js +0 -507
  81. package/dist/collections/store.js.map +0 -1
  82. package/dist/collections/tools.d.ts +0 -8
  83. package/dist/collections/tools.js +0 -1276
  84. package/dist/collections/tools.js.map +0 -1
  85. package/dist/collections/types.d.ts +0 -226
  86. package/dist/collections/types.js +0 -3
  87. package/dist/collections/types.js.map +0 -1
  88. package/dist/killswitch.d.ts +0 -8
  89. package/dist/killswitch.js +0 -304
  90. package/dist/killswitch.js.map +0 -1
  91. package/dist/resilience.d.ts +0 -112
  92. package/dist/resilience.js +0 -319
  93. package/dist/resilience.js.map +0 -1
  94. package/recipes/autopilot/agent.md +0 -316
  95. package/recipes/autopilot/learnings.md +0 -33
  96. package/recipes/autopilot/recipe.yaml +0 -96
  97. package/recipes/inbox-responder/agent.md +0 -268
  98. package/recipes/inbox-responder/learnings.md +0 -25
  99. package/recipes/inbox-responder/recipe.yaml +0 -82
@@ -1,478 +0,0 @@
1
- import { describe, it, expect, beforeAll, afterAll, beforeEach, afterEach } from "vitest";
2
- import { createServer } from "node:http";
3
- import { mkdtemp, rm } from "node:fs/promises";
4
- import { join } from "node:path";
5
- import { tmpdir } from "node:os";
6
- import { YamlCollectionStore } from "../store.js";
7
- import { FetchHttpExecutor } from "../http.js";
8
- import { OperatorRegistry } from "../assertions.js";
9
- import { DeclarativeScriptRunner } from "../scripts.js";
10
- import { buildDefaultRegistry } from "../dynamic-vars.js";
11
- import { buildDefaultPipeline } from "../resolver.js";
12
- import { buildCollectionHandler } from "../tools.js";
13
- // ── Test HTTP server ────────────────────────────────────────────
14
- let server;
15
- let baseUrl;
16
- const tokens = new Map();
17
- const bots = new Map();
18
- function parseBody(req) {
19
- return new Promise((resolve) => {
20
- let data = "";
21
- req.on("data", (chunk) => { data += chunk; });
22
- req.on("end", () => {
23
- try {
24
- resolve(JSON.parse(data));
25
- }
26
- catch {
27
- resolve(null);
28
- }
29
- });
30
- });
31
- }
32
- function json(res, status, data) {
33
- res.writeHead(status, { "Content-Type": "application/json" });
34
- res.end(JSON.stringify(data));
35
- }
36
- beforeAll(async () => {
37
- server = createServer(async (req, res) => {
38
- const url = new URL(req.url, `http://${req.headers.host}`);
39
- const path = url.pathname;
40
- const method = req.method;
41
- // Auth check (skip for login)
42
- if (path !== "/api/v1/auth/login" && path !== "/api/v1/slow") {
43
- const auth = req.headers.authorization;
44
- if (!auth || !tokens.has(auth.replace("Bearer ", ""))) {
45
- return json(res, 401, { error: "Unauthorized" });
46
- }
47
- }
48
- // Routes
49
- if (method === "POST" && path === "/api/v1/auth/login") {
50
- const body = await parseBody(req);
51
- if (body?.email === "test@test.com" && body?.password === "pass123") {
52
- const token = `tok-${Date.now()}`;
53
- tokens.set(token, true);
54
- return json(res, 200, { token, user: { email: body.email } });
55
- }
56
- return json(res, 401, { error: "Invalid credentials" });
57
- }
58
- if (method === "GET" && path === "/api/v1/bots") {
59
- return json(res, 200, [...bots.values()]);
60
- }
61
- if (method === "POST" && path === "/api/v1/bots") {
62
- const body = await parseBody(req);
63
- const id = `bot-${Date.now()}`;
64
- const bot = { id, name: body?.name ?? "Unnamed" };
65
- bots.set(id, bot);
66
- return json(res, 201, bot);
67
- }
68
- const botMatch = path.match(/^\/api\/v1\/bots\/(.+)$/);
69
- if (botMatch) {
70
- const id = botMatch[1];
71
- if (method === "GET") {
72
- const bot = bots.get(id);
73
- if (!bot)
74
- return json(res, 404, { error: "Not found" });
75
- return json(res, 200, bot);
76
- }
77
- if (method === "DELETE") {
78
- if (!bots.has(id))
79
- return json(res, 404, { error: "Not found" });
80
- bots.delete(id);
81
- return json(res, 200, { deleted: true });
82
- }
83
- }
84
- if (method === "GET" && path === "/api/v1/slow") {
85
- // Delayed response for timeout test
86
- await new Promise((r) => setTimeout(r, 3000));
87
- return json(res, 200, { slow: true });
88
- }
89
- json(res, 404, { error: "Not found" });
90
- });
91
- await new Promise((resolve) => {
92
- server.listen(0, "127.0.0.1", () => {
93
- const addr = server.address();
94
- baseUrl = `http://127.0.0.1:${addr.port}/api/v1`;
95
- resolve();
96
- });
97
- });
98
- });
99
- afterAll(async () => {
100
- await new Promise((resolve) => server.close(() => resolve()));
101
- });
102
- // ── Test setup ──────────────────────────────────────────────────
103
- let globalDir;
104
- let projectDir;
105
- let store;
106
- let handler;
107
- beforeEach(async () => {
108
- globalDir = await mkdtemp(join(tmpdir(), "neuron-integ-global-"));
109
- projectDir = await mkdtemp(join(tmpdir(), "neuron-integ-project-"));
110
- store = new YamlCollectionStore(globalDir, projectDir);
111
- const httpExecutor = new FetchHttpExecutor();
112
- const dynamicVars = buildDefaultRegistry();
113
- const pipeline = buildDefaultPipeline(dynamicVars);
114
- const evaluator = new OperatorRegistry();
115
- const scriptRunner = new DeclarativeScriptRunner();
116
- handler = buildCollectionHandler(store, httpExecutor, pipeline, evaluator, scriptRunner);
117
- // Clear state
118
- tokens.clear();
119
- bots.clear();
120
- });
121
- afterEach(async () => {
122
- await rm(globalDir, { recursive: true, force: true });
123
- await rm(projectDir, { recursive: true, force: true });
124
- });
125
- // ── Integration tests ───────────────────────────────────────────
126
- describe("integration: full scenario with real HTTP", () => {
127
- it("runs a bot-lifecycle scenario end to end", async () => {
128
- // Create collection
129
- await handler("neuron_api_create_collection", { name: "Integration API" });
130
- // Set up environment
131
- await handler("neuron_api_set_env", {
132
- collection: "integration-api",
133
- name: "local",
134
- base_url: baseUrl,
135
- });
136
- await handler("neuron_api_switch_env", { collection: "integration-api", name: "local" });
137
- // Add endpoints
138
- await handler("neuron_api_upsert_endpoint", {
139
- collection: "integration-api",
140
- folder: "auth",
141
- method: "POST",
142
- path: "/auth/login",
143
- body: { email: "test@test.com", password: "pass123" },
144
- tests: [
145
- { check: "status", expect: 200 },
146
- { check: "body.token", op: "exists" },
147
- ],
148
- extract: { auth_token: "body.token" },
149
- });
150
- await handler("neuron_api_upsert_endpoint", {
151
- collection: "integration-api",
152
- folder: "bots",
153
- method: "POST",
154
- path: "/bots",
155
- headers: { Authorization: "Bearer {{auth_token}}" },
156
- body: { name: "Integration Bot" },
157
- tests: [
158
- { check: "status", expect: 201 },
159
- { check: "body.id", op: "exists" },
160
- { check: "body.name", expect: "Integration Bot" },
161
- ],
162
- extract: { bot_id: "body.id" },
163
- });
164
- await handler("neuron_api_upsert_endpoint", {
165
- collection: "integration-api",
166
- folder: "bots",
167
- method: "GET",
168
- path: "/bots/{{bot_id}}",
169
- headers: { Authorization: "Bearer {{auth_token}}" },
170
- tests: [
171
- { check: "status", expect: 200 },
172
- { check: "body.name", expect: "Integration Bot" },
173
- ],
174
- });
175
- await handler("neuron_api_upsert_endpoint", {
176
- collection: "integration-api",
177
- folder: "bots",
178
- method: "DELETE",
179
- path: "/bots/{{bot_id}}",
180
- headers: { Authorization: "Bearer {{auth_token}}" },
181
- tests: [{ check: "status", expect: 200 }],
182
- });
183
- // Verify collection structure
184
- const coll = (await handler("neuron_api_get_collection", {
185
- collection: "integration-api",
186
- }));
187
- expect(coll.summary.folder_count).toBe(2);
188
- expect(coll.summary.endpoint_count).toBe(4);
189
- // Run scenario: add scenario first by saving the collection
190
- const saved = await store.get("integration-api");
191
- saved.collection.scenarios = {
192
- "bot-lifecycle": {
193
- description: "Full CRUD lifecycle",
194
- steps: [
195
- { ref: "auth/Post Login" },
196
- { ref: "bots/Post Bots" },
197
- { ref: "bots/Get Bots" },
198
- { ref: "bots/Delete Bots" },
199
- ],
200
- },
201
- };
202
- await store.save("integration-api", saved.collection);
203
- // Run the scenario
204
- const result = (await handler("neuron_api_run_scenario", {
205
- collection: "integration-api",
206
- scenario: "bot-lifecycle",
207
- }));
208
- expect(result.passed).toBe(true);
209
- expect(result.steps).toHaveLength(4);
210
- // Step 0: Login succeeded and extracted token
211
- expect(result.steps[0].response.status).toBe(200);
212
- expect(result.extracted.auth_token).toBeDefined();
213
- expect(result.extracted.auth_token).toMatch(/^tok-/);
214
- // Step 1: Create Bot succeeded and extracted bot_id
215
- expect(result.steps[1].response.status).toBe(201);
216
- expect(result.extracted.bot_id).toBeDefined();
217
- expect(result.extracted.bot_id).toMatch(/^bot-/);
218
- // Step 2: Get Bot used extracted bot_id
219
- expect(result.steps[2].response.status).toBe(200);
220
- expect(result.steps[2].response.body.name).toBe("Integration Bot");
221
- // Step 3: Delete Bot succeeded
222
- expect(result.steps[3].response.status).toBe(200);
223
- // Verify bot is actually deleted
224
- expect(bots.size).toBe(0);
225
- });
226
- it("runs a single endpoint against the real server", async () => {
227
- await handler("neuron_api_create_collection", { name: "Single Test" });
228
- await handler("neuron_api_set_env", {
229
- collection: "single-test",
230
- name: "local",
231
- base_url: baseUrl,
232
- });
233
- await handler("neuron_api_switch_env", { collection: "single-test", name: "local" });
234
- await handler("neuron_api_upsert_endpoint", {
235
- collection: "single-test",
236
- folder: "auth",
237
- method: "POST",
238
- path: "/auth/login",
239
- body: { email: "test@test.com", password: "pass123" },
240
- tests: [{ check: "status", expect: 200 }],
241
- });
242
- const result = (await handler("neuron_api_run", {
243
- collection: "single-test",
244
- folder: "auth",
245
- method: "POST",
246
- path: "/auth/login",
247
- }));
248
- expect(result.response.status).toBe(200);
249
- expect(result.response.body.token).toBeDefined();
250
- expect(result.assertions[0].passed).toBe(true);
251
- expect(result.response.timing.total_ms).toBeGreaterThan(0);
252
- });
253
- it("reports failed assertions from real server", async () => {
254
- await handler("neuron_api_create_collection", { name: "Fail Test" });
255
- await handler("neuron_api_set_env", {
256
- collection: "fail-test",
257
- name: "local",
258
- base_url: baseUrl,
259
- });
260
- await handler("neuron_api_switch_env", { collection: "fail-test", name: "local" });
261
- await handler("neuron_api_upsert_endpoint", {
262
- collection: "fail-test",
263
- folder: "auth",
264
- method: "POST",
265
- path: "/auth/login",
266
- body: { email: "wrong@test.com", password: "wrong" },
267
- tests: [
268
- { check: "status", expect: 200 }, // Will fail: server returns 401
269
- ],
270
- });
271
- const result = (await handler("neuron_api_run", {
272
- collection: "fail-test",
273
- folder: "auth",
274
- method: "POST",
275
- path: "/auth/login",
276
- }));
277
- expect(result.response.status).toBe(401);
278
- expect(result.assertions[0].passed).toBe(false);
279
- expect(result.assertions[0].actual).toBe(401);
280
- expect(result.assertions[0].expected).toBe(200);
281
- });
282
- it("handles timeout", async () => {
283
- await handler("neuron_api_create_collection", { name: "Timeout Test" });
284
- await handler("neuron_api_set_env", {
285
- collection: "timeout-test",
286
- name: "local",
287
- base_url: baseUrl,
288
- });
289
- await handler("neuron_api_switch_env", { collection: "timeout-test", name: "local" });
290
- await handler("neuron_api_upsert_endpoint", {
291
- collection: "timeout-test",
292
- folder: "slow",
293
- method: "GET",
294
- path: "/slow",
295
- timeout_ms: 500, // Server delays 3s, we timeout at 500ms
296
- });
297
- const result = (await handler("neuron_api_run", {
298
- collection: "timeout-test",
299
- folder: "slow",
300
- method: "GET",
301
- path: "/slow",
302
- }));
303
- expect(result.response.status).toBe(0);
304
- expect(result.response.statusText).toBe("timeout");
305
- expect(result.error).toBe("timeout");
306
- }, 10000);
307
- it("fails pre-execution on unresolved variables", async () => {
308
- await handler("neuron_api_create_collection", { name: "Unresolved Test" });
309
- await handler("neuron_api_set_env", {
310
- collection: "unresolved-test",
311
- name: "local",
312
- base_url: baseUrl,
313
- });
314
- await handler("neuron_api_switch_env", { collection: "unresolved-test", name: "local" });
315
- await handler("neuron_api_upsert_endpoint", {
316
- collection: "unresolved-test",
317
- folder: "broken",
318
- method: "GET",
319
- path: "/bots/{{missing_id}}",
320
- });
321
- const result = (await handler("neuron_api_run", {
322
- collection: "unresolved-test",
323
- folder: "broken",
324
- method: "GET",
325
- path: "/bots/{{missing_id}}",
326
- }));
327
- expect(result.error).toContain("Unresolved");
328
- expect(result.error).toContain("missing_id");
329
- // No HTTP call should have been made
330
- expect(result.response.status).toBe(0);
331
- });
332
- });
333
- // ── Query tool tests ────────────────────────────────────────────
334
- describe("neuron_api_query", () => {
335
- beforeEach(async () => {
336
- await store.save("api-one", {
337
- name: "API One",
338
- folders: {
339
- auth: {
340
- endpoints: [
341
- { name: "Login", method: "POST", path: "/auth/login", tags: ["auth", "critical"] },
342
- { name: "Get Profile", method: "GET", path: "/auth/me", tags: ["auth"] },
343
- ],
344
- },
345
- bots: {
346
- endpoints: [
347
- { name: "List Bots", method: "GET", path: "/bots", description: "Retrieve all bots" },
348
- { name: "Create Bot", method: "POST", path: "/bots", tags: ["write"] },
349
- ],
350
- },
351
- },
352
- });
353
- await store.save("api-two", {
354
- name: "API Two",
355
- folders: {
356
- orders: {
357
- endpoints: [
358
- { name: "List Orders", method: "GET", path: "/orders", tags: ["read"] },
359
- ],
360
- },
361
- },
362
- });
363
- });
364
- it("returns all endpoints when no filters", async () => {
365
- const result = (await handler("neuron_api_query", {}));
366
- expect(result.count).toBe(5);
367
- });
368
- it("filters by method", async () => {
369
- const result = (await handler("neuron_api_query", { method: "POST" }));
370
- expect(result.count).toBe(2);
371
- expect(result.results.every((r) => r.endpoint.method === "POST")).toBe(true);
372
- });
373
- it("filters by path pattern", async () => {
374
- const result = (await handler("neuron_api_query", { path: "/bots" }));
375
- expect(result.count).toBe(2); // List Bots and Create Bot
376
- });
377
- it("filters by folder", async () => {
378
- const result = (await handler("neuron_api_query", { folder: "auth" }));
379
- expect(result.count).toBe(2);
380
- expect(result.results.every((r) => r.folder === "auth")).toBe(true);
381
- });
382
- it("filters by tags", async () => {
383
- const result = (await handler("neuron_api_query", { tags: ["critical"] }));
384
- expect(result.count).toBe(1);
385
- expect(result.results[0].endpoint.name).toBe("Login");
386
- });
387
- it("filters by free text", async () => {
388
- const result = (await handler("neuron_api_query", { text: "retrieve" }));
389
- expect(result.count).toBe(1);
390
- expect(result.results[0].endpoint.name).toBe("List Bots");
391
- });
392
- it("filters by collection", async () => {
393
- const result = (await handler("neuron_api_query", { collection: "api-two" }));
394
- expect(result.count).toBe(1);
395
- expect(result.results[0].collection).toBe("api-two");
396
- });
397
- it("combines filters", async () => {
398
- const result = (await handler("neuron_api_query", {
399
- collection: "api-one",
400
- method: "GET",
401
- folder: "auth",
402
- }));
403
- expect(result.count).toBe(1);
404
- expect(result.results[0].endpoint.name).toBe("Get Profile");
405
- });
406
- });
407
- // ── Generate tests tool ─────────────────────────────────────────
408
- describe("neuron_api_generate_tests", () => {
409
- beforeEach(async () => {
410
- await store.save("api", {
411
- name: "API",
412
- folders: {
413
- bots: {
414
- endpoints: [
415
- { name: "List Bots", method: "GET", path: "/bots" },
416
- { name: "Create Bot", method: "POST", path: "/bots", body: { name: "Test" } },
417
- { name: "Get Bot", method: "GET", path: "/bots/{{bot_id}}" },
418
- { name: "Delete Bot", method: "DELETE", path: "/bots/{{bot_id}}" },
419
- ],
420
- },
421
- },
422
- });
423
- });
424
- it("suggests 200 for GET list endpoint", async () => {
425
- const result = (await handler("neuron_api_generate_tests", {
426
- collection: "api",
427
- folder: "bots",
428
- method: "GET",
429
- path: "/bots",
430
- }));
431
- const statusSuggestion = result.suggestions.find((s) => s.check === "status" && s.expect === 200);
432
- expect(statusSuggestion).toBeDefined();
433
- const arraySuggestion = result.suggestions.find((s) => s.op === "isArray");
434
- expect(arraySuggestion).toBeDefined();
435
- });
436
- it("suggests 201 and body.id for POST", async () => {
437
- const result = (await handler("neuron_api_generate_tests", {
438
- collection: "api",
439
- folder: "bots",
440
- method: "POST",
441
- path: "/bots",
442
- }));
443
- const statusSuggestion = result.suggestions.find((s) => s.check === "status" && s.expect === 201);
444
- expect(statusSuggestion).toBeDefined();
445
- const idSuggestion = result.suggestions.find((s) => s.check === "body.id" && s.op === "exists");
446
- expect(idSuggestion).toBeDefined();
447
- });
448
- it("suggests 404 error scenario for parameterized paths", async () => {
449
- const result = (await handler("neuron_api_generate_tests", {
450
- collection: "api",
451
- folder: "bots",
452
- method: "GET",
453
- path: "/bots/{{bot_id}}",
454
- }));
455
- const notFoundSuggestion = result.suggestions.find((s) => s.expect === 404);
456
- expect(notFoundSuggestion).toBeDefined();
457
- });
458
- it("always suggests timing check", async () => {
459
- const result = (await handler("neuron_api_generate_tests", {
460
- collection: "api",
461
- folder: "bots",
462
- method: "DELETE",
463
- path: "/bots/{{bot_id}}",
464
- }));
465
- const timingSuggestion = result.suggestions.find((s) => s.check === "timing.total");
466
- expect(timingSuggestion).toBeDefined();
467
- });
468
- it("returns error for missing endpoint", async () => {
469
- const result = (await handler("neuron_api_generate_tests", {
470
- collection: "api",
471
- folder: "bots",
472
- method: "PATCH",
473
- path: "/bots",
474
- }));
475
- expect(result.error).toContain("not found");
476
- });
477
- });
478
- //# sourceMappingURL=integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../../src/collections/__tests__/integration.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC1F,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD,mEAAmE;AAEnE,IAAI,MAAc,CAAC;AACnB,IAAI,OAAe,CAAC;AACpB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;AAC1C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAwC,CAAC;AAE7D,SAAS,SAAS,CAAC,GAAoB;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,IAAI,CAAC,GAAmB,EAAE,MAAc,EAAE,IAAa;IAC9D,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;IAC9D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,GAAG,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAI,EAAE,UAAU,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAO,CAAC;QAE3B,8BAA8B;QAC9B,IAAI,IAAI,KAAK,oBAAoB,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAC7D,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;YACvC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,SAAS;QACT,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,oBAAoB,EAAE,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,IAAI,EAAE,KAAK,KAAK,eAAe,IAAI,IAAI,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACpE,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,EAAE,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,SAAS,EAAE,CAAC;YAClD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAClB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACvD,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzB,IAAI,CAAC,GAAG;oBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACxD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC7B,CAAC;YACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACjE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAChB,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,cAAc,EAAE,CAAC;YAChD,oCAAoC;YACpC,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;YAC9C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE;YACjC,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAsB,CAAC;YAClD,OAAO,GAAG,oBAAoB,IAAI,CAAC,IAAI,SAAS,CAAC;YACjD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,IAAI,SAAiB,CAAC;AACtB,IAAI,UAAkB,CAAC;AACvB,IAAI,KAA0B,CAAC;AAC/B,IAAI,OAA0E,CAAC;AAE/E,UAAU,CAAC,KAAK,IAAI,EAAE;IACpB,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC,CAAC;IAClE,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;IACpE,KAAK,GAAG,IAAI,mBAAmB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAG,oBAAoB,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,gBAAgB,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,IAAI,uBAAuB,EAAE,CAAC;IACnD,OAAO,GAAG,sBAAsB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;IAEzF,cAAc;IACd,MAAM,CAAC,KAAK,EAAE,CAAC;IACf,IAAI,CAAC,KAAK,EAAE,CAAC;AACf,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,EAAE,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,QAAQ,CAAC,2CAA2C,EAAE,GAAG,EAAE;IACzD,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,oBAAoB;QACpB,MAAM,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAE3E,qBAAqB;QACrB,MAAM,OAAO,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,iBAAiB;YAC7B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzF,gBAAgB;QAChB,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE;YACrD,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE;gBAChC,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,EAAE,QAAQ,EAAE;aACtC;YACD,OAAO,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE;SACtC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,EAAE;YACnD,IAAI,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;YACjC,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE;gBAChC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE;gBAClC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE;aAClD;YACD,OAAO,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;SAC/B,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,EAAE;YACnD,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE;gBAChC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,iBAAiB,EAAE;aAClD;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,EAAE,aAAa,EAAE,uBAAuB,EAAE;YACnD,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC1C,CAAC,CAAC;QAEH,8BAA8B;QAC9B,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACvD,UAAU,EAAE,iBAAiB;SAC9B,CAAC,CAAQ,CAAC;QACX,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE5C,4DAA4D;QAC5D,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACjD,KAAM,CAAC,UAAU,CAAC,SAAS,GAAG;YAC5B,eAAe,EAAE;gBACf,WAAW,EAAE,qBAAqB;gBAClC,KAAK,EAAE;oBACL,EAAE,GAAG,EAAE,iBAAiB,EAAE;oBAC1B,EAAE,GAAG,EAAE,gBAAgB,EAAE;oBACzB,EAAE,GAAG,EAAE,eAAe,EAAE;oBACxB,EAAE,GAAG,EAAE,kBAAkB,EAAE;iBAC5B;aACF;SACF,CAAC;QACF,MAAM,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAM,CAAC,UAAU,CAAC,CAAC;QAEvD,mBAAmB;QACnB,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,yBAAyB,EAAE;YACvD,UAAU,EAAE,iBAAiB;YAC7B,QAAQ,EAAE,eAAe;SAC1B,CAAC,CAAQ,CAAC;QAEX,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAErC,8CAA8C;QAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAErD,oDAAoD;QACpD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjD,wCAAwC;QACxC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEnE,+BAA+B;QAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,iCAAiC;QACjC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;QACvE,MAAM,OAAO,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,aAAa;YACzB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAErF,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE;YACrD,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE;YAC9C,UAAU,EAAE,aAAa;YACzB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;SACpB,CAAC,CAAQ,CAAC;QAEX,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACrE,MAAM,OAAO,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,WAAW;YACvB,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEnF,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,OAAO,EAAE;YACpD,KAAK,EAAE;gBACL,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,EAAG,gCAAgC;aACpE;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE;YAC9C,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa;SACpB,CAAC,CAAQ,CAAC;QAEX,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;QACxE,MAAM,OAAO,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,cAAc;YAC1B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtF,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,GAAG,EAAE,wCAAwC;SAC1D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE;YAC9C,UAAU,EAAE,cAAc;YAC1B,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAQ,CAAC;QAEX,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,EAAE,KAAK,CAAC,CAAC;IAEV,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,OAAO,CAAC,8BAA8B,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC;QAC3E,MAAM,OAAO,CAAC,oBAAoB,EAAE;YAClC,UAAU,EAAE,iBAAiB;YAC7B,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,uBAAuB,EAAE,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAEzF,MAAM,OAAO,CAAC,4BAA4B,EAAE;YAC1C,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,gBAAgB,EAAE;YAC9C,UAAU,EAAE,iBAAiB;YAC7B,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,sBAAsB;SAC7B,CAAC,CAAQ,CAAC;QAEX,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7C,qCAAqC;QACrC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,SAAS,EAAE;wBACT,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE;wBAClF,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;qBACzE;iBACF;gBACD,IAAI,EAAE;oBACJ,SAAS,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE;wBACrF,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE;qBACvE;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;YAC1B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;gBACP,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE;qBACxE;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAQ,CAAC;QAC9D,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAQ,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAQ,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAQ,CAAC;QAC9E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAQ,CAAC;QAClF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAQ,CAAC;QAChF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAQ,CAAC;QACrF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAChC,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,kBAAkB,EAAE;YAChD,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,MAAM;SACf,CAAC,CAAQ,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,mEAAmE;AAEnE,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE;YACtB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,SAAS,EAAE;wBACT,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;wBACnD,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;wBAC7E,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE;wBAC5D,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE;qBACnE;iBACF;aACF;SACF,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACzD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,OAAO;SACd,CAAC,CAAQ,CAAC;QAEX,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CACrD,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QAChF,MAAM,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACzD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,OAAO;SACd,CAAC,CAAQ,CAAC;QAEX,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,GAAG,CACrD,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;QAEvC,MAAM,YAAY,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAC1C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,KAAK,QAAQ,CACvD,CAAC;QACF,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACzD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAQ,CAAC;QAEX,MAAM,kBAAkB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAChD,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,GAAG,CAC7B,CAAC;QACF,MAAM,CAAC,kBAAkB,CAAC,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACzD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,QAAQ;YAChB,IAAI,EAAE,kBAAkB;SACzB,CAAC,CAAQ,CAAC;QAEX,MAAM,gBAAgB,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAC9C,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,cAAc,CACvC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,MAAM,GAAG,CAAC,MAAM,OAAO,CAAC,2BAA2B,EAAE;YACzD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,OAAO;SACd,CAAC,CAAQ,CAAC;QACX,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};