fa-mcp-sdk 0.4.18 → 0.4.20

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.
@@ -522,20 +522,31 @@ at-toast-<type> e.g. at-toast-success, at-toast-error
522
522
  | `at-header-row-<name>` | Row for a specific header (e.g. `at-header-row-Authorization`) |
523
523
  | `at-header-input-<name>` | Input for a specific header value |
524
524
 
525
- **Sidebar — model settings**
525
+ **Sidebar — LLM settings**
526
+
527
+ The sidebar shows only the current model name (read-only) and a gear button. All LLM parameters (Base URL, API Key, Model Name, Temperature, Max Tokens, Max Turns, Limit (chars)) are edited in the LLM Settings modal opened via that button. Settings are persisted in `localStorage['mcpAgentLlmSettings']`. If `agentTester.openAi.exposeToClient` is `true` in config, the server sends `baseURL` and `apiKey` via `GET /agent-tester/api/config` → `llmDefaults` and the UI pre-fills them into localStorage on first open (security note: only enable `exposeToClient` when the tester is protected by `useAuth: true` or deployed in a trusted network). When the effective `apiKey` is empty, a red "API Key is not set" warning is shown below the model name.
526
528
 
527
529
  | testid | Element |
528
530
  |---|---|
529
531
  | `at-model-section` | Model section container |
530
- | `at-model-select` | Model `<select>` |
531
- | `at-custom-model-settings` | "Other..." custom model panel |
532
- | `at-custom-base-url` | Custom base URL input |
533
- | `at-custom-api-key` | Custom API key input |
534
- | `at-custom-model-name` | Custom model name input |
535
- | `at-model-temperature` | Temperature input |
536
- | `at-model-max-tokens` | Max tokens input |
537
- | `at-model-max-turns` | Max turns input |
538
- | `at-tool-result-limit` | Tool result char limit input |
532
+ | `at-model-display` | Read-only current model name |
533
+ | `at-llm-settings-btn` | Gear button that opens the LLM Settings modal |
534
+ | `at-api-key-warning` | "API Key is not set" warning (visible only when `apiKey` is empty) |
535
+ | `at-llm-modal` | LLM Settings modal overlay |
536
+ | `at-llm-modal-close` | Modal close (×) button |
537
+ | `at-llm-modal-cancel` | Modal Cancel button |
538
+ | `at-llm-modal-save` | Modal Save button |
539
+ | `at-llm-base-url` | Base URL input (optional — empty means OpenAI default) |
540
+ | `at-llm-api-key` | API Key input (password field) |
541
+ | `at-llm-api-key-toggle` | Show/hide API key visibility toggle |
542
+ | `at-llm-model-name` | Model Name input (editable combobox) |
543
+ | `at-llm-model-dropdown-toggle` | Model dropdown arrow button |
544
+ | `at-llm-model-dropdown-list` | Model dropdown list (preset models) |
545
+ | `at-llm-model-option-<name>` | Individual model option inside the list |
546
+ | `at-llm-temperature` | Temperature input |
547
+ | `at-llm-max-tokens` | Max tokens input |
548
+ | `at-llm-max-turns` | Max turns input |
549
+ | `at-llm-limit-chars` | Tool result char limit input |
539
550
 
540
551
  **Sidebar — prompts**
541
552
 
@@ -50,7 +50,7 @@
50
50
  "dependencies": {
51
51
  "@modelcontextprotocol/sdk": "^1.29.0",
52
52
  "dotenv": "^17.4.1",
53
- "fa-mcp-sdk": "^0.4.18"
53
+ "fa-mcp-sdk": "^0.4.20"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/express": "^5.0.6",
@@ -0,0 +1,5 @@
1
+ <component name="ProjectRunConfigurationManager">
2
+ <configuration default="false" name="update-doc.js" type="NodeJSConfigurationType" nameIsGenerated="true" path-to-js-file="scripts/update-doc.js" working-dir="$PROJECT_DIR$">
3
+ <method v="2" />
4
+ </configuration>
5
+ </component>
@@ -69,9 +69,17 @@ agentTester:
69
69
  #> Key name (for logging and debugging)
70
70
  apiKeyName: '***'
71
71
  #> Override base URL for OpenAI-compatible providers (Azure, local LLMs, proxies)
72
- # baseURL: ''
73
- #> Key-value pairs for HTTP requests that should be auto-populated in agentTester
74
- #> Example: X-User-Id: 12345
72
+ baseURL: ''
73
+ #> -------------------------------------------------------------------------
74
+ #> When true, baseURL and apiKey are sent to the Agent Tester UI as defaults
75
+ #> and auto-saved into the browser's localStorage on first open. The UI shows
76
+ #> them in the LLM Settings dialog. Enable only if the tester is protected by
77
+ #> useAuth=true OR deployed in a trusted network — otherwise anyone who opens
78
+ #> /agent-tester can read the key. Default: false (safe).
79
+ #> -------------------------------------------------------------------------
80
+ exposeToClient: false
81
+
82
+ #> Key-value pairs for HTTP requests that should be auto-populated in agentTester. Example: X-User-Id: 12345
75
83
  httpHeaders:
76
84
 
77
85
  #> --------------------------------------------------
@@ -67,7 +67,17 @@ agentTester:
67
67
  #> Key name (for logging and debugging)
68
68
  apiKeyName: '***'
69
69
  #> Override base URL for OpenAI-compatible providers (Azure, local LLMs, proxies)
70
- # baseURL: ''
70
+ baseURL: ''
71
+ #> -------------------------------------------------------------------------
72
+ #> When true, baseURL and apiKey are sent to the Agent Tester UI as defaults
73
+ #> and auto-saved into the browser's localStorage on first open. The UI shows
74
+ #> them in the LLM Settings dialog. Enable only if the tester is protected by
75
+ #> useAuth=true OR deployed in a trusted network — otherwise anyone who opens
76
+ #> /agent-tester can read the key. Default: false (safe).
77
+ #> -------------------------------------------------------------------------
78
+ exposeToClient: false
79
+
80
+
71
81
  #> Key-value pairs for HTTP requests that should be auto-populated in agentTester
72
82
  #> Example: X-User-Id: 12345
73
83
  httpHeaders:
package/config/local.yaml CHANGED
@@ -4,9 +4,10 @@ agentTester:
4
4
  showFooterLink: true # true (default) — show Agent Tester link in home page footer; false — hide link without disabling tester
5
5
  useAuth: true
6
6
  openAi:
7
- apiKey: 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
7
+ apiKey: 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
8
8
  apiKeyName: oai-aite-vvmakarov
9
9
  baseURL: ''
10
+ exposeToClient: false
10
11
 
11
12
  ad:
12
13
  domains:
@@ -61,6 +61,7 @@ interface IAgentTesterConfig {
61
61
  openAi?: {
62
62
  apiKey: string;
63
63
  baseURL?: string;
64
+ exposeToClient?: boolean;
64
65
  };
65
66
  httpHeaders?: Record<string, string>;
66
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/_types_/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,UAAU,gBAAgB;IACxB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,IAAI,EAAE;YACJ,OAAO,EAAE,OAAO,CAAC;YACjB,KAAK,CAAC,EAAE;gBACN,QAAQ,EAAE,MAAM,CAAC;gBACjB,QAAQ,EAAE,MAAM,CAAC;aAClB,CAAC;YACF,QAAQ,EAAE;gBACR,UAAU,EAAE,MAAM,CAAC;gBACnB,YAAY,EAAE,OAAO,CAAC;gBACtB,SAAS,EAAE,OAAO,CAAC;aACpB,CAAA;YACD,qBAAqB,EAAE,MAAM,EAAE,CAAC;SACjC,CAAC;QACF,SAAS,EAAE;YACT,OAAO,EAAE,OAAO,CAAC;YACjB,IAAI,EAAE,uBAAuB,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;SAC/D,CAAC;KACH,CAAA;CACF;AAGD,UAAU,aAAa;IACrB,MAAM,EAAE;QACN,KAAK,EAAE,aAAa,CAAC;QACrB,aAAa,EAAE,OAAO,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAA;CACF;AAED,UAAU,UAAU;IAClB,GAAG,EAAE;QACH,SAAS,EAAE;YACT,WAAW,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAAA;QAC1C,aAAa,EAAE,OAAO,GAAG,MAAM,CAAC;KACjC,CAAA;CACF;AAED,UAAU,cAAc;IACtB,OAAO,EAAE;QACP,OAAO,CAAC,EAAE;YACR,GAAG,EAAE,MAAM,CAAC;YACZ,WAAW,EAAE,MAAM,CAAC;SACrB,EAAE,CAAC;KACL,CAAA;CACF;AAED,UAAU,kBAAkB;IAC1B,WAAW,CAAC,EAAE;QACZ,OAAO,EAAE,OAAO,CAAC;QACjB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,MAAM,CAAC,EAAE;YACP,MAAM,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;QACF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAA;CACF;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE;YACT,GAAG,EAAE,MAAM,CAAC;YACZ,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED,UAAU,YAAY;IACpB,KAAK,EAAE;QACL,UAAU,EAAE,GAAG,CAAC;QAChB,QAAQ,EAAE,IAAI,CAAC;KAChB,CAAA;CACF;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS,EAC1C,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,eAAe;IAEf,YAAY,EAAE,OAAO,CAAC;IAEtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IAEpB,YAAY,EAAE,aAAa,CAAC;IAC5B,MAAM,EAAE,eAAe,GAAG;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,MAAM,CAAC;YACb,GAAG,EAAE,MAAM,CAAC;SACb,CAAC;KACH,CAAC;IACF,OAAO,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;KACjB,CAAA;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tester-router.d.ts","sourceRoot":"","sources":["../../../src/core/agent-tester/agent-tester-router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA4BjC,wBAAgB,uBAAuB,CAAE,OAAO,GAAE;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,GAAG,MAAM,CAkQd"}
1
+ {"version":3,"file":"agent-tester-router.d.ts","sourceRoot":"","sources":["../../../src/core/agent-tester/agent-tester-router.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AA4BjC,wBAAgB,uBAAuB,CAAE,OAAO,GAAE;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3C,GAAG,MAAM,CAwQd"}
@@ -62,10 +62,16 @@ export function createAgentTesterRouter(options = {}) {
62
62
  // ===== Config API =====
63
63
  // API: Get default config (port, MCP URL)
64
64
  router.get('/api/config', (req, res) => {
65
+ const openAi = appConfig.agentTester?.openAi;
66
+ const expose = !!openAi?.exposeToClient;
65
67
  res.json({
66
68
  defaultMcpUrl: options.defaultMcpUrl || null,
67
69
  authEnabled: !!appConfig.webServer?.auth?.enabled,
68
70
  httpHeaders: appConfig.agentTester?.httpHeaders || {},
71
+ llmDefaults: {
72
+ baseURL: expose ? (openAi?.baseURL || '') : '',
73
+ apiKey: expose ? (openAi?.apiKey || '') : '',
74
+ },
69
75
  });
70
76
  });
71
77
  // API: Get auth token for auto-fill (MCP server Authorization header)
@@ -1 +1 @@
1
- {"version":3,"file":"agent-tester-router.js","sourceRoot":"","sources":["../../../src/core/agent-tester/agent-tester-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-tester-router.js","sourceRoot":"","sources":["../../../src/core/agent-tester/agent-tester-router.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TesterAgentService.d.ts","sourceRoot":"","sources":["../../../../src/core/agent-tester/services/TesterAgentService.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,kBAAkB,EAElB,kBAAkB,EAClB,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAsBrE,qBAAa,kBAAkB;IAgB3B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY,CAAC;IAhBvB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,eAAe,CAAoE;IAE3F,OAAO,CAAC,aAAa,CAIlB;IAEH,OAAO,CAAC,OAAO,CAAU;gBAGf,gBAAgB,EAAE,sBAAsB,EACxC,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAC5D,OAAO,CAAC,EAAE,OAAO;IAqBN,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAOtC,OAAO,CAAC,kBAAkB;YAyBZ,gBAAgB;IA2BjB,cAAc,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAwV1E,uBAAuB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,mBAAmB,CAAC;IAyV/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,iBAAiB;IA2BlB,UAAU,CAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D,cAAc,IAAK,kBAAkB,EAAE;IAIvC,aAAa,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAMjD,OAAO,CAAC,aAAa;CAiBtB"}
1
+ {"version":3,"file":"TesterAgentService.d.ts","sourceRoot":"","sources":["../../../../src/core/agent-tester/services/TesterAgentService.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,kBAAkB,EAElB,kBAAkB,EAClB,mBAAmB,EAEnB,mBAAmB,EACnB,kBAAkB,EAGnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAsBrE,qBAAa,kBAAkB;IAgB3B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,YAAY,CAAC;IAhBvB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO,CAAC,eAAe,CAAoE;IAE3F,OAAO,CAAC,aAAa,CAIlB;IAEH,OAAO,CAAC,OAAO,CAAU;gBAGf,gBAAgB,EAAE,sBAAsB,EACxC,YAAY,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,YAAA,EAC5D,OAAO,CAAC,EAAE,OAAO;IAqBN,OAAO,IAAK,OAAO,CAAC,IAAI,CAAC;IAOtC,OAAO,CAAC,kBAAkB;YAyBZ,gBAAgB;IA2BjB,cAAc,CAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IA2V1E,uBAAuB,CAClC,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,mBAAmB,CAAC;IA4V/B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,iBAAiB;IA2BlB,UAAU,CAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IAI9D,cAAc,IAAK,kBAAkB,EAAE;IAIvC,aAAa,CAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAMjD,OAAO,CAAC,aAAa;CAiBtB"}
@@ -136,16 +136,19 @@ Output only the new Summary Memory.`;
136
136
  const selectedModel = modelConfig?.model || request.model || this.defaultConfig.model;
137
137
  const temperature = modelConfig?.temperature ?? this.defaultConfig.temperature;
138
138
  const maxTokens = modelConfig?.maxTokens ?? this.defaultConfig.maxTokens;
139
- // Create OpenAI client - use custom baseURL/apiKey if provided
139
+ // Create OpenAI client use client-provided apiKey (required) and optional baseURL.
140
+ // Empty baseURL means OpenAI default. If client didn't send apiKey, fall back to server config.
140
141
  let llmClient;
141
142
  let isCustomLlm = false;
142
- if (modelConfig?.baseURL && modelConfig?.apiKey) {
143
+ if (modelConfig?.apiKey) {
143
144
  llmClient = new OpenAI({
144
- baseURL: modelConfig.baseURL,
145
145
  apiKey: modelConfig.apiKey,
146
+ ...(modelConfig.baseURL ? { baseURL: modelConfig.baseURL } : {}),
146
147
  });
147
- isCustomLlm = true;
148
- logger.info(`Using custom LLM: ${modelConfig.baseURL}`);
148
+ isCustomLlm = !!modelConfig.baseURL;
149
+ if (isCustomLlm) {
150
+ logger.info(`Using custom LLM: ${modelConfig.baseURL}`);
151
+ }
149
152
  }
150
153
  else if (this.openai) {
151
154
  llmClient = this.openai;
@@ -425,10 +428,13 @@ Response Text: ${finalText}
425
428
  const selectedModel = modelConfig?.model || request.model || this.defaultConfig.model;
426
429
  const temperature = modelConfig?.temperature ?? this.defaultConfig.temperature;
427
430
  const maxTokens = modelConfig?.maxTokens ?? this.defaultConfig.maxTokens;
428
- // Create OpenAI client
431
+ // Create OpenAI client — baseURL optional (empty = OpenAI default)
429
432
  let llmClient;
430
- if (modelConfig?.baseURL && modelConfig?.apiKey) {
431
- llmClient = new OpenAI({ baseURL: modelConfig.baseURL, apiKey: modelConfig.apiKey });
433
+ if (modelConfig?.apiKey) {
434
+ llmClient = new OpenAI({
435
+ apiKey: modelConfig.apiKey,
436
+ ...(modelConfig.baseURL ? { baseURL: modelConfig.baseURL } : {}),
437
+ });
432
438
  }
433
439
  else if (this.openai) {
434
440
  llmClient = this.openai;
@@ -1 +1 @@
1
- {"version":3,"file":"TesterAgentService.js","sourceRoot":"","sources":["../../../../src/core/agent-tester/services/TesterAgentService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,MAAM,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAchD,OAAO,EAAE,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAGjE,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAE5E,MAAM,oBAAoB,GAA2B;IACnD,SAAS,EAAE,KAAK;IAChB,SAAS,EAAE,MAAM;IACjB,YAAY,EAAE,KAAK;IACnB,YAAY,EAAE,KAAK;CACpB,CAAC;AAaF,MAAM,OAAO,kBAAkB;IAgBnB;IACA;IAhBF,QAAQ,GAAoC,IAAI,GAAG,EAAE,CAAC;IACtD,aAAa,CAAc;IAC3B,MAAM,GAAkB,IAAI,CAAC;IAE7B,eAAe,GAA0D,IAAI,GAAG,EAAE,CAAC;IAEnF,aAAa,GAAG,IAAI,aAAa,CAAC;QACxC,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,IAAI;QACf,mBAAmB,EAAE,IAAI;KAC1B,CAAC,CAAC;IAEK,OAAO,CAAU;IAEzB,YACU,gBAAwC,EACxC,YAAoD,EAC5D,OAAiB;QAFT,qBAAgB,GAAhB,gBAAgB,CAAwB;QACxC,iBAAY,GAAZ,YAAY,CAAwC;QAG5D,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG;YACnB,KAAK,EAAE,aAAa;YACpB,WAAW,EAAE,sEAAsE;YACnF,WAAW,EAAE,GAAG;YAChB,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,EAAE;YACZ,oBAAoB,EAAE,KAAK;YAC3B,KAAK,EAAE,EAAE;SACV,CAAC;QAEF,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;gBACvB,MAAM,EAAE,YAAY,CAAC,MAAM;gBAC3B,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC9C,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEO,kBAAkB;QACxB,OAAO;;;;;;;;;;;;;;;;;;;;;oCAqByB,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC5B,SAAiB,EACjB,KAAmB,EACnB,KAAa;QAEb,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,aAAa,GAAQ;YACzB,KAAK;YACL,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE;gBAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,CAAC,OAAO,IAAI,SAAS,4BAA4B,OAAO,EAAE,EAAE;aAC5G;YACD,WAAW,EAAE,GAAG;YAChB,qBAAqB,EAAE,IAAI;SAC5B,CAAC;QACF,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC;YAChC,aAAa,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAExE,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,KAAK,CAAC,OAAO,CAAC;QAC/E,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,cAAc,CAAE,OAA2B;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC9B,MAAM,YAAY,GAAG,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;YAE5D,wBAAwB;YACxB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,8BAA8B;YAC9B,MAAM,WAAW,GAAuB;gBACtC,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEnC,+CAA+C;YAC/C,IAAI,YAAY,GAAkC,IAAI,CAAC;YACvD,IAAI,UAAU,GAAqB,EAAE,CAAC;YAEtC,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACxE,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;oBAChC,MAAM,CAAC,IAAI,CAAC,gCAAgC,UAAU,CAAC,MAAM,QAAQ,CAAC,CAAC;gBACzE,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;YAC3D,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAElH,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;gBACxD,YAAY,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC;YAED,0BAA0B;YAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;YAChC,MAAM,aAAa,GAAG,WAAW,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACtF,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAC/E,MAAM,SAAS,GAAG,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAEzE,+DAA+D;YAC/D,IAAI,SAAiB,CAAC;YACtB,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,SAAS,GAAG,IAAI,MAAM,CAAC;oBACrB,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAC,CAAC;gBACH,WAAW,GAAG,IAAI,CAAC;gBACnB,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YAED,oDAAoD;YACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aACnE,CAAC,CAAC,CAAC;YAEJ,yBAAyB;YACzB,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC;YAED,uBAAuB;YACvB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChD,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEhE,oBAAoB;YACpB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEzF,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvF,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YAE9E,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,MAAM,SAAS,GAAa,EAAE,CAAC;YAE/B,MAAM,aAAa,GAAG,CAAC,GAAuB,EAAW,EAAE;gBACzD,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,cAAc,GAClB,WAAW,EAAE,oBAAoB,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,IAAI,KAAK,CAAC;YAExF,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAE,UAAU,GAAG,cAAc,EAAU,EAAE;gBACrF,IAAI,GAAW,CAAC;gBAChB,IAAI,CAAC;oBACH,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBAED,IAAI,GAAG,CAAC,MAAM,IAAI,UAAU,EAAE,CAAC;oBAC7B,OAAO,GAAG,CAAC;gBACb,CAAC;gBAED,OAAO;oBACL,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC;oBACxB,EAAE;oBACF,2CAA2C,GAAG,CAAC,MAAM,gBAAgB,UAAU,GAAG;iBACnF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACf,CAAC,CAAC;YAEF,MAAM,eAAe,GAAG,CAAC,IAA8C,EAAU,EAAE;gBACjF,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACb,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;wBACtB,OAAO,CAAC,CAAC;oBACX,CAAC;oBACD,OAAO;wBACL,GAAG,CAAC;wBACJ,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC;qBAC3D,CAAC;gBACJ,CAAC,CAAC,EACF,IAAI,EACJ,CAAC,CACF,CAAC;YACJ,CAAC,CAAC;YAEF,cAAc;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC;SAC5D,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;YAC3C,WAAW,EAAE,OAAO,IAAI,gBAAgB;eACrC,WAAW;cACZ,SAAS;cACT,SAAS;cACT,YAAY,IAAI,MAAM;SAC3B,UAAU,CAAC,MAAM;YACd,eAAe,CAAC,cAAc,CAAC;CAC1C,CAAC,CAAC,CAAC;YAEE,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;YAE5E,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,GAAG,CAAC,IAAI,QAAQ,IAAI,CAAC;SAC5F,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;kBACrC,iBAAiB,CAAC,MAAM;YAC9B,eAAe,CAAC,iBAAiB,CAAC;CAC7C,CAAC,CAAC,CAAC;gBAEI,MAAM,gBAAgB,GAAQ;oBAC5B,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,iBAAiB;oBAC3B,WAAW,EAAE,cAAc;oBAC3B,qBAAqB,EAAE,SAAS;iBACjC,CAAC;gBACF,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxC,gBAAgB,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;wBAC9C,IAAI,EAAE,UAAmB;wBACzB,QAAQ,EAAE,EAAE;qBACb,CAAC,CAAC,CAAC;oBACJ,gBAAgB,CAAC,WAAW,GAAG,MAAM,CAAC;gBACxC,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAE3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,eAAe;gBACf,MAAM,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;gBAC5D,MAAM,aAAa,GAAG,mBAAmB;qBACtC,MAAM,CAAC,CAAC,EAAE,EAET,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC;qBAC3B,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,yBAAyB,IAAI,GAAG,CAAC,IAAI,QAAQ,IAAI,CAAC;iBAC3F,MAAM,CAAC,aAAa;cACvB,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;WAC/D,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,mBAAmB;SAC9I,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,QAAQ,CAAC,KAAK,CAAC,aAAa,gBAAgB,QAAQ,CAAC,KAAK,CAAC,iBAAiB,WAAW,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,KAAK;CAC/J,CAAC,CAAC,CAAC;gBAEI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiD,CAAC,CAAC;gBACjF,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiD,CAAC,CAAC;gBAC9E,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,OAAiD,CAAC,CAAC;gBAEvG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC3B,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBACrC,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;gBAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,GAAG,SAAS,IAAI,2CAA2C,CAAC;oBACrE,MAAM;gBACR,CAAC;gBAED,yBAAyB;gBACzB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC3B,SAAS;oBACX,CAAC;oBAED,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;oBACvC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,SAAS;oBACX,CAAC;oBAED,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAC;oBACrF,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAE7B,IAAK,YAA4C,CAAC,aAAa,EAAE,CAAC;wBAChE,MAAM,OAAO,GAAG;4BACd,IAAI,EAAE,MAAe;4BACrB,YAAY,EAAE,EAAE,CAAC,EAAE;4BACnB,OAAO,EAAE,sBAAsB,CAC7B,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,GAAG,EAAG,YAAiC,CAAC,GAAG,EAAE,EAC3F,cAAc,CACf;yBACF,CAAC;wBACF,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAChC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;wBACtD,SAAS;oBACX,CAAC;oBAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,YAAY,IAAI,CAAC;aAC7E,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;CACpE,CAAC,CAAC,CAAC;oBAEM,IAAI,UAAmB,CAAC;oBACxB,IAAI,CAAC;wBACH,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CACzD,SAAS,EACT,YAAY,EACZ,YAAY,CACb,CAAC;oBACJ,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;wBACjE,UAAU,GAAG;4BACX,EAAE,EAAE,KAAK;4BACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;yBAC9D,CAAC;oBACJ,CAAC;oBAED,MAAM,aAAa,GAAG,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;oBAC/D,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,YAAY,IAAI,CAAC;UACxF,aAAa;CACtB,CAAC,CAAC,CAAC;oBAEM,MAAM,OAAO,GAAG;wBACd,IAAI,EAAE,MAAe;wBACrB,YAAY,EAAE,EAAE,CAAC,EAAE;wBACnB,OAAO,EAAE,sBAAsB,CAAC,UAAU,EAAE,cAAc,CAAC;qBAC5D,CAAC;oBACF,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxD,CAAC;gBAED,IAAI,IAAI,KAAK,QAAQ,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,SAAS,GAAG,SAAS,IAAI,qEAAqE,CAAC;gBACjG,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,+CAA+C,CAAC;YAC9D,CAAC;YACD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAEjD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;iBACvD,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;cACzB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;iBACjD,SAAS;CACzB,CAAC,CAAC,CAAC;YAEE,mCAAmC;YACnC,MAAM,gBAAgB,GAAuB;gBAC3C,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,QAAQ,EAAE;oBACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,UAAU,EAAE,SAAS;iBACtB;aACF,CAAC;YACF,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACxC,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAE/B,OAAO;gBACL,EAAE,EAAE,gBAAgB,CAAC,EAAE;gBACvB,OAAO,EAAE,SAAS;gBAClB,SAAS,EAAE,SAAS;gBACpB,QAAQ,EAAE;oBACR,aAAa,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBACrC,UAAU,EAAE,SAAS;oBACrB,GAAG,CAAC,YAAY,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;iBAClD;aACF,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,uBAAuB,CAClC,OAA2B,EAC3B,UAA8B,EAAE;QAEhC,MAAM,EAAE,OAAO,GAAG,KAAK,EAAE,aAAa,GAAG,KAAK,EAAE,cAAc,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;QAClF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,MAAM,EAAE,CAAC;QAEhD,IAAI,CAAC;YACH,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;YAC9B,MAAM,YAAY,GAAG,SAAS,EAAE,GAAG,IAAI,OAAO,CAAC,YAAY,CAAC;YAE5D,wBAAwB;YACxB,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBAC3E,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACxC,CAAC;YAED,8BAA8B;YAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,OAAO,CAAC,OAAO;gBACrB,MAAM,EAAE,MAAM;gBACd,SAAS,EAAE,IAAI,IAAI,EAAE;aACtB,CAAC,CAAC;YAEH,+CAA+C;YAC/C,IAAI,YAAY,GAAkC,IAAI,CAAC;YACvD,IAAI,UAAU,GAAqB,EAAE,CAAC;YAEtC,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;oBACxE,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC;gBAClC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAED,kEAAkE;YAClE,MAAM,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;YAC3D,IAAI,YAAY,GAAG,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,IAAI,cAAc,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAElH,IAAI,OAAO,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC;gBACjC,YAAY,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACvD,CAAC;YACD,MAAM,gBAAgB,GAAG,YAAY,CAAC;YAEtC,0BAA0B;YAC1B,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;YAChC,MAAM,aAAa,GAAG,WAAW,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;YACtF,MAAM,WAAW,GAAG,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC;YAC/E,MAAM,SAAS,GAAG,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;YAEzE,uBAAuB;YACvB,IAAI,SAAiB,CAAC;YACtB,IAAI,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,EAAE,CAAC;gBAChD,SAAS,GAAG,IAAI,MAAM,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YACvF,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBACvB,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;YAC/F,CAAC;YAED,oDAAoD;YACpD,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBAC1C,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,UAAU,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;aACnE,CAAC,CAAC,CAAC;YAEJ,yBAAyB;YACzB,IAAI,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACzD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACtD,CAAC;YAED,uBAAuB;YACvB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChC,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACjE,CAAC;iBAAM,IAAI,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAChD,cAAc,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,cAAc,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YACpE,CAAC;YACD,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAEhE,gBAAgB;YAChB,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;YACtE,CAAC;YACD,MAAM,iBAAiB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAEvF,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;YAC9E,IAAI,SAAS,GAAG,EAAE,CAAC;YACnB,MAAM,SAAS,GAAa,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAuB,EAAE,CAAC;YAE1C,MAAM,cAAc,GAAG,WAAW,EAAE,oBAAoB,IAAI,IAAI,CAAC,aAAa,CAAC,oBAAoB,IAAI,KAAK,CAAC;YAE7G,MAAM,WAAW,GAAG,CAAC,KAAc,EAAE,KAAa,EAAU,EAAE;gBAC5D,IAAI,GAAW,CAAC;gBAChB,IAAI,CAAC;oBACH,GAAG,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBAClE,CAAC;gBAAC,MAAM,CAAC;oBACP,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBACtB,CAAC;gBACD,IAAI,GAAG,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC;oBACxB,OAAO,GAAG,CAAC;gBACb,CAAC;gBACD,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,iCAAiC,GAAG,CAAC,MAAM,GAAG,CAAC;YAC9E,CAAC,CAAC;YAEF,MAAM,aAAa,GAAG,CAAC,GAAuB,EAAW,EAAE;gBACzD,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC;oBACjB,OAAO,EAAE,CAAC;gBACZ,CAAC;gBACD,IAAI,CAAC;oBACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzB,CAAC;gBAAC,MAAM,CAAC;oBACP,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,QAAQ,IAAI,EAAE,CAAC;YAE5E,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAqB;oBAClC,IAAI,EAAE,IAAI,GAAG,CAAC;oBACd,UAAU,EAAE,EAAE;oBACd,YAAY,EAAE,EAAE;iBACjB,CAAC;gBAEF,mCAAmC;gBACnC,IAAI,OAAO,EAAE,CAAC;oBACZ,SAAS,CAAC,WAAW,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBAC7F,CAAC;gBAED,MAAM,gBAAgB,GAAQ;oBAC5B,KAAK,EAAE,aAAa;oBACpB,QAAQ,EAAE,iBAAiB;oBAC3B,WAAW,EAAE,cAAc;oBAC3B,qBAAqB,EAAE,SAAS;iBACjC,CAAC;gBACF,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;oBACxC,gBAAgB,CAAC,gBAAgB,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAC;gBAC1E,CAAC;gBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,gBAAgB,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,UAAmB,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;oBAC9F,gBAAgB,CAAC,WAAW,GAAG,MAAM,CAAC;gBACxC,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;gBAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBAC7D,CAAC;gBAED,oCAAoC;gBACpC,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK;wBAC1B,CAAC,CAAC;4BACA,aAAa,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;4BAC3C,iBAAiB,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;4BACnD,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;yBAC1C;wBACD,CAAC,CAAC,SAAS,CAAC;oBACd,SAAS,CAAC,YAAY,GAAG;wBACvB,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO;4BAC7B,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;4BAC3C,CAAC,CAAC,IAAI;wBACR,GAAG,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,CAAC;qBACxB,CAAC;gBACJ,CAAC;gBAED,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;wBACzB,KAAK,EAAE,cAAc;wBACrB,IAAI,EAAE,IAAI,GAAG,CAAC;wBACd,aAAa,EAAE,MAAM,CAAC,aAAa;wBACnC,UAAU,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC;wBAC9G,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;wBACrC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC,CAAC;gBACN,CAAC;gBAED,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiD,CAAC,CAAC;gBACjF,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,OAAiD,CAAC,CAAC;gBAC9E,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,OAAiD,CAAC,CAAC;gBAEvG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;oBAC3B,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;gBACrC,CAAC;gBAED,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;gBAClD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,SAAS,EAAE,CAAC;oBACf,SAAS,GAAG,SAAS,IAAI,2CAA2C,CAAC;oBACrE,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAC3B,MAAM;gBACR,CAAC;gBAED,qBAAqB;gBACrB,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;oBAC3B,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC3B,SAAS;oBACX,CAAC;oBACD,MAAM,YAAY,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;oBACvC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAClB,SAAS;oBACX,CAAC;oBAED,MAAM,YAAY,GAAG,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAA4B,CAAC;oBACrF,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;oBAE7B,4BAA4B;oBAC5B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;wBACxB,IAAI,EAAE,YAAY;wBAClB,SAAS,EAAG,YAA4C,CAAC,aAAa;4BACpE,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,EAAS;4BAChC,CAAC,CAAC,YAAY;qBACjB,CAAC,CAAC;oBAEH,wCAAwC;oBACxC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;4BACzB,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY;4BAC/D,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBACpC,CAAC,CAAC,CAAC;oBACN,CAAC;oBAED,IAAK,YAA4C,CAAC,aAAa,EAAE,CAAC;wBAChE,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC;wBACjE,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;wBACvE,MAAM,OAAO,GAAG;4BACd,IAAI,EAAE,MAAe,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE;4BAC1C,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC;yBAChD,CAAC;wBACF,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAChC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;wBACtD,SAAS;oBACX,CAAC;oBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjC,IAAI,UAAmB,CAAC;oBACxB,IAAI,CAAC;wBACH,UAAU,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,SAAS,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;oBACrG,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,MAAM,CAAC,KAAK,CAAC,4BAA4B,YAAY,GAAG,EAAE,KAAK,CAAC,CAAC;wBACjE,UAAU,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5F,CAAC;oBACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC;oBAEhD,2DAA2D;oBAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;oBAChE,IAAI,YAAqB,CAAC;oBAC1B,IAAI,CAAC;wBACH,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBAC7C,CAAC;oBAAC,MAAM,CAAC;wBACP,YAAY,GAAG,eAAe,CAAC;oBACjC,CAAC;oBACD,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC;wBAC1B,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,YAAY;wBACpB,WAAW,EAAE,YAAY;qBAC1B,CAAC,CAAC;oBAEH,0CAA0C;oBAC1C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;4BACzB,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY;4BACxC,MAAM,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC;4BAC/C,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;yBAC/D,CAAC,CAAC,CAAC;oBACN,CAAC;oBAED,MAAM,OAAO,GAAG;wBACd,IAAI,EAAE,MAAe,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE;wBAC1C,OAAO,EAAE,WAAW,CAAC,UAAU,EAAE,cAAc,CAAC;qBACjD,CAAC;oBACF,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAChC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;gBACxD,CAAC;gBAED,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAE3B,IAAI,IAAI,KAAK,QAAQ,GAAG,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClD,SAAS,GAAG,SAAS,IAAI,qEAAqE,CAAC;gBACjG,CAAC;YACH,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,SAAS,GAAG,+CAA+C,CAAC;YAC9D,CAAC;YACD,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAEjD,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAE7C,6CAA6C;YAC7C,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC;oBAClE,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,WAAW,EAAE,aAAa;iBAChE,CAAC,CAAC,CAAC;YACN,CAAC;YAED,mCAAmC;YACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACpB,EAAE,EAAE,MAAM,EAAE;gBACZ,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,QAAQ,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE;aAClE,CAAC,CAAC;YACH,OAAO,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;YAE/B,cAAc;YACd,IAAI,KAAK,GAAqB;gBAC5B,kBAAkB,EAAE,gBAAgB;gBACpC,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,UAAU,CAAC,MAAM;gBAC9B,iBAAiB,EAAE,aAAa;gBAChC,UAAU,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;aACpC,CAAC;YAEF,+BAA+B;YAC/B,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YAErD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;QAElD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,KAAK,CAAC,CAAC;YAC5D,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC5G,CAAC;IACH,CAAC;IAEO,oBAAoB,CAAE,IAAY;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC9C,CAAC;IAEO,iBAAiB,CAAE,KAAuB,EAAE,QAAgB;QAClE,IAAI,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,iDAAiD;QACjD,MAAM,KAAK,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACpB,MAAM,SAAS,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7D,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAE,EAAE,CAAC,MAAc,EAAE,EAAE,KAAK,KAAK,CAAC,CAAC;YAC9E,MAAM,OAAO,GAAG,SAAS;gBACvB,CAAC,CAAC,UAAU,SAAS,MAAM,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE;gBAC5D,CAAC,CAAC,eAAe,CAAC;YACpB,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAS,CAAC;YAE9E,MAAM,SAAS,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;YACtC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YACvC,IAAI,UAAU,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAClC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEM,UAAU,CAAE,SAAiB;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAEM,cAAc;QACnB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,CAAC;IAEM,aAAa,CAAE,SAAiB;QACrC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAEO,aAAa,CAAE,SAAiB,EAAE,WAAoB,EAAE,YAAqB;QACnF,MAAM,OAAO,GAAuB;YAClC,EAAE,EAAE,SAAS;YACb,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,CAAC;QACF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;QACpC,CAAC;QACD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,YAAY,GAAG,YAAY,CAAC;QACtC,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"TesterAgentService.js","sourceRoot":"","sources":["../../../../src/core/agent-tester/services/TesterAgentService.ts"],"names":[],"mappings":"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"}
@@ -103,56 +103,15 @@
103
103
  </section>
104
104
 
105
105
  <section class="config-section" data-testid="at-model-section">
106
- <div class="form-group model-select-group">
107
- <label for="modelSelect">Model</label>
108
- <select id="modelSelect" name="modelSelect" required data-testid="at-model-select">
109
- <option value="gpt-5.4">gpt-5.4</option>
110
- <option value="gpt-5.3-codex">gpt-5.3-codex</option>
111
- <option value="gpt-5.2">gpt-5.2</option>
112
- <option value="gpt-5.1">gpt-5.1</option>
113
- <option value="gpt-5-nano">gpt-5-nano</option>
114
- <option value="gpt-5-mini">gpt-5-mini</option>
115
- <option value="gpt-4.1">gpt-4.1</option>
116
- <option value="gpt-4.1-mini">gpt-4.1-mini</option>
117
- <option value="gpt-4.1-nano">gpt-4.1-nano</option>
118
- <option value="gpt-4o">gpt-4o</option>
119
- <option value="gpt-4o-mini">gpt-4o-mini</option>
120
- <option value="other">Other...</option>
121
- </select>
122
- </div>
123
-
124
- <div id="customModelSettings" class="custom-model-settings" style="display: none;" data-testid="at-custom-model-settings">
125
- <div class="form-group">
126
- <label for="customBaseUrl">Base URL</label>
127
- <input type="url" id="customBaseUrl" placeholder="https://api.example.com/v1/chat/completions" data-testid="at-custom-base-url">
128
- </div>
129
- <div class="form-group">
130
- <label for="customApiKey">API Key</label>
131
- <input type="password" id="customApiKey" placeholder="sk-..." data-testid="at-custom-api-key">
132
- </div>
133
- <div class="form-group">
134
- <label for="customModelName">Model Name</label>
135
- <input type="text" id="customModelName" placeholder="model-name" data-testid="at-custom-model-name">
136
- </div>
137
- </div>
138
-
139
- <div id="modelParameters" class="model-parameters">
140
- <div class="form-group">
141
- <label for="modelTemperature" style="width: 87px">Temperature</label>
142
- <input type="number" id="modelTemperature" min="0" max="2" step="0.1" value="0.2" style="width: 55px" data-testid="at-model-temperature">
143
- </div>
144
- <div class="form-group">
145
- <label for="modelMaxTokens" style="width: 84px">Max Tokens</label>
146
- <input type="number" id="modelMaxTokens" min="1" max="128000" step="1" value="2048" style="width: 75px" data-testid="at-model-max-tokens">
147
- </div>
148
- <div class="form-group">
149
- <label for="modelMaxTurns" style="width: 87px">Max Turns</label>
150
- <input type="number" id="modelMaxTurns" min="1" max="20" step="1" value="10" style="width: 55px" data-testid="at-model-max-turns">
151
- </div>
152
- <div class="form-group">
153
- <label for="toolResultLimitChars" style="width: 84px">Limit (chars)</label>
154
- <input type="number" id="toolResultLimitChars" min="100" max="100000" step="100" value="20000" style="width: 75px" data-testid="at-tool-result-limit">
106
+ <div class="form-group model-display-group">
107
+ <label>Model</label>
108
+ <div class="model-display-row">
109
+ <span id="modelDisplay" class="model-display" data-testid="at-model-display">—</span>
110
+ <button type="button" id="llmSettingsBtn" class="btn-icon" title="LLM Settings" data-testid="at-llm-settings-btn">
111
+ <span class="material-icons-round">settings</span>
112
+ </button>
155
113
  </div>
114
+ <div id="apiKeyWarning" class="api-key-warning" style="display: none;" data-testid="at-api-key-warning">API Key is not set</div>
156
115
  </div>
157
116
  </section>
158
117
 
@@ -278,6 +237,67 @@
278
237
  </div>
279
238
  </div>
280
239
 
240
+ <!-- LLM Settings Modal -->
241
+ <div class="llm-modal-overlay" id="llmModal" style="display: none;" data-testid="at-llm-modal">
242
+ <div class="llm-modal">
243
+ <div class="llm-modal-header">
244
+ <h3>LLM Settings</h3>
245
+ <button type="button" class="btn-icon" id="llmModalClose" title="Close" data-testid="at-llm-modal-close">
246
+ <span class="material-icons-round">close</span>
247
+ </button>
248
+ </div>
249
+ <form id="llmSettingsForm" class="llm-modal-body" autocomplete="off">
250
+ <div class="form-group">
251
+ <label for="llmBaseUrl">Base URL</label>
252
+ <input type="url" id="llmBaseUrl" placeholder="https://api.openai.com/v1" data-testid="at-llm-base-url">
253
+ </div>
254
+ <div class="form-group">
255
+ <label for="llmApiKey">API Key</label>
256
+ <div class="input-with-toggle">
257
+ <input type="password" id="llmApiKey" placeholder="sk-..." autocomplete="off" data-testid="at-llm-api-key">
258
+ <button type="button" class="btn-icon" id="llmApiKeyToggle" title="Show/hide" data-testid="at-llm-api-key-toggle">
259
+ <span class="material-icons-round">visibility</span>
260
+ </button>
261
+ </div>
262
+ </div>
263
+ <div class="form-group">
264
+ <label for="llmModelName">Model Name</label>
265
+ <div class="custom-select-container">
266
+ <input type="text" id="llmModelName" placeholder="gpt-5.4-nano" autocomplete="off" data-testid="at-llm-model-name">
267
+ <button type="button" id="llmModelDropdownToggle" class="dropdown-toggle" title="Choose model" data-testid="at-llm-model-dropdown-toggle">
268
+ <span class="material-icons-round">expand_more</span>
269
+ </button>
270
+ <div id="llmModelDropdownList" class="dropdown-list" style="display: none;" data-testid="at-llm-model-dropdown-list"></div>
271
+ </div>
272
+ </div>
273
+ <div class="form-row">
274
+ <div class="form-group">
275
+ <label for="llmTemperature">Temperature</label>
276
+ <input type="number" id="llmTemperature" min="0" max="2" step="0.1" value="0.2" data-testid="at-llm-temperature">
277
+ </div>
278
+ <div class="form-group">
279
+ <label for="llmMaxTokens">Max Tokens</label>
280
+ <input type="number" id="llmMaxTokens" min="1" max="128000" step="1" value="2048" data-testid="at-llm-max-tokens">
281
+ </div>
282
+ </div>
283
+ <div class="form-row">
284
+ <div class="form-group">
285
+ <label for="llmMaxTurns">Max Turns</label>
286
+ <input type="number" id="llmMaxTurns" min="1" max="20" step="1" value="10" data-testid="at-llm-max-turns">
287
+ </div>
288
+ <div class="form-group">
289
+ <label for="llmLimitChars">Limit (chars)</label>
290
+ <input type="number" id="llmLimitChars" min="100" max="100000" step="100" value="20000" data-testid="at-llm-limit-chars">
291
+ </div>
292
+ </div>
293
+ </form>
294
+ <div class="llm-modal-footer">
295
+ <button type="button" class="btn" id="llmModalCancel" data-testid="at-llm-modal-cancel">Cancel</button>
296
+ <button type="button" class="btn btn-primary" id="llmModalSave" data-testid="at-llm-modal-save">Save</button>
297
+ </div>
298
+ </div>
299
+ </div>
300
+
281
301
  <!-- Loading Overlay -->
282
302
  <div class="loading-overlay" id="loadingOverlay" style="display: none;" data-testid="at-loading-overlay">
283
303
  <div class="spinner"></div>
@@ -1,6 +1,32 @@
1
1
  const API_BASE = '/agent-tester';
2
2
  const trim = (s) => String(s || '').trim();
3
3
 
4
+ const LLM_LS_KEY = 'mcpAgentLlmSettings';
5
+ const LLM_PRESET_MODELS = [
6
+ 'gpt-5.4',
7
+ 'gpt-5.4-mini',
8
+ 'gpt-5.4-nano',
9
+ 'gpt-5.3-codex',
10
+ 'gpt-5.2',
11
+ 'gpt-5.1',
12
+ 'gpt-5-nano',
13
+ 'gpt-5-mini',
14
+ 'gpt-4.1',
15
+ 'gpt-4.1-mini',
16
+ 'gpt-4.1-nano',
17
+ 'gpt-4o',
18
+ 'gpt-4o-mini',
19
+ ];
20
+ const LLM_DEFAULTS = {
21
+ baseURL: '',
22
+ apiKey: '',
23
+ model: 'gpt-5.4-nano',
24
+ temperature: 0.2,
25
+ maxTokens: 2048,
26
+ maxTurns: 10,
27
+ toolResultLimitChars: 20000,
28
+ };
29
+
4
30
  /**
5
31
  * Wrapper around fetch that always includes credentials (session cookie).
6
32
  */
@@ -348,16 +374,26 @@ class McpAgentTester {
348
374
  this.headersSection = document.getElementById('headersSection');
349
375
  this.dynamicHeaders = document.getElementById('dynamicHeaders');
350
376
 
351
- this.modelSelect = document.getElementById('modelSelect');
352
-
353
- this.customModelSettings = document.getElementById('customModelSettings');
354
- this.customBaseUrl = document.getElementById('customBaseUrl');
355
- this.customApiKey = document.getElementById('customApiKey');
356
- this.customModelName = document.getElementById('customModelName');
357
- this.modelTemperature = document.getElementById('modelTemperature');
358
- this.modelMaxTokens = document.getElementById('modelMaxTokens');
359
- this.modelMaxTurns = document.getElementById('modelMaxTurns');
360
- this.toolResultLimitChars = document.getElementById('toolResultLimitChars');
377
+ // LLM settings — collapsed view + modal
378
+ this.modelDisplay = document.getElementById('modelDisplay');
379
+ this.llmSettingsBtn = document.getElementById('llmSettingsBtn');
380
+ this.apiKeyWarning = document.getElementById('apiKeyWarning');
381
+ this.llmModal = document.getElementById('llmModal');
382
+ this.llmModalClose = document.getElementById('llmModalClose');
383
+ this.llmModalCancel = document.getElementById('llmModalCancel');
384
+ this.llmModalSave = document.getElementById('llmModalSave');
385
+ this.llmApiKeyToggle = document.getElementById('llmApiKeyToggle');
386
+ this.llmBaseUrl = document.getElementById('llmBaseUrl');
387
+ this.llmApiKey = document.getElementById('llmApiKey');
388
+ this.llmModelName = document.getElementById('llmModelName');
389
+ this.llmModelDropdownToggle = document.getElementById('llmModelDropdownToggle');
390
+ this.llmModelDropdownList = document.getElementById('llmModelDropdownList');
391
+ this.llmTemperature = document.getElementById('llmTemperature');
392
+ this.llmMaxTokens = document.getElementById('llmMaxTokens');
393
+ this.llmMaxTurns = document.getElementById('llmMaxTurns');
394
+ this.llmLimitChars = document.getElementById('llmLimitChars');
395
+
396
+ this.llmSettings = { ...LLM_DEFAULTS };
361
397
 
362
398
  this.systemPromptTextarea = document.getElementById('systemPrompt');
363
399
  this.customPromptTextarea = document.getElementById('customPrompt');
@@ -404,20 +440,25 @@ class McpAgentTester {
404
440
  this.serverUrlDropdown.addEventListener('click', (e) => this.toggleUrlDropdown(e));
405
441
  document.addEventListener('click', (e) => this.handleClickOutside(e));
406
442
 
407
- this.modelSelect.addEventListener('change', () => {
408
- this.handleModelSelectChange();
409
- this.saveFormValuesToStorage();
410
- });
411
443
  this.systemPromptTextarea.addEventListener('input', () => this.saveFormValuesToStorage());
412
444
  this.customPromptTextarea.addEventListener('input', () => this.saveFormValuesToStorage());
413
445
 
414
- this.customBaseUrl.addEventListener('input', () => this.saveFormValuesToStorage());
415
- this.customApiKey.addEventListener('input', () => this.saveFormValuesToStorage());
416
- this.customModelName.addEventListener('input', () => this.saveFormValuesToStorage());
417
- this.modelTemperature.addEventListener('input', () => this.saveFormValuesToStorage());
418
- this.modelMaxTokens.addEventListener('input', () => this.saveFormValuesToStorage());
419
- this.modelMaxTurns.addEventListener('input', () => this.saveFormValuesToStorage());
420
- this.toolResultLimitChars.addEventListener('input', () => this.saveFormValuesToStorage());
446
+ // LLM settings modal
447
+ this.llmSettingsBtn.addEventListener('click', () => this.openLlmModal());
448
+ this.llmModalClose.addEventListener('click', () => this.closeLlmModal());
449
+ this.llmModalCancel.addEventListener('click', () => this.closeLlmModal());
450
+ this.llmModalSave.addEventListener('click', () => this.saveLlmModal());
451
+ this.llmApiKeyToggle.addEventListener('click', () => this.toggleApiKeyVisibility());
452
+ this.llmModelDropdownToggle.addEventListener('click', (e) => this.toggleLlmModelDropdown(e));
453
+ this.renderLlmModelDropdown();
454
+ this.llmModal.addEventListener('click', (e) => {
455
+ if (e.target === this.llmModal) { this.closeLlmModal(); }
456
+ });
457
+ document.addEventListener('keydown', (e) => {
458
+ if (e.key === 'Escape' && this.llmModal.style.display === 'flex') {
459
+ this.closeLlmModal();
460
+ }
461
+ });
421
462
 
422
463
  document.querySelectorAll('.btn-enlarge').forEach(btn => {
423
464
  btn.addEventListener('click', () => this.openPromptModal(btn.dataset.target));
@@ -518,6 +559,7 @@ class McpAgentTester {
518
559
  this.handleServerUrlChange();
519
560
  this.renderSavedUrls();
520
561
  await this.loadDefaultConfig();
562
+ this.initLlmSettings();
521
563
  await this.loadCurrentServer();
522
564
  this.currentSystemPrompt = this.systemPromptTextarea.value;
523
565
 
@@ -606,6 +648,7 @@ class McpAgentTester {
606
648
  this.defaultMcpUrl = config.defaultMcpUrl || null;
607
649
  this.authEnabled = !!config.authEnabled;
608
650
  this.configHttpHeaders = config.httpHeaders || {};
651
+ this.llmDefaults = config.llmDefaults || {};
609
652
  if (config.defaultMcpUrl) {
610
653
  const serverUrlInput = document.getElementById('serverUrl');
611
654
  if (!this.mcpConfig.url && !serverUrlInput.value) {
@@ -1176,7 +1219,7 @@ class McpAgentTester {
1176
1219
  const message = this.messageInput.value.trim();
1177
1220
  if (!message) {return;}
1178
1221
 
1179
- if (!this.validateCustomModelSettings()) {
1222
+ if (!this.validateLlmSettings()) {
1180
1223
  return;
1181
1224
  }
1182
1225
 
@@ -1379,63 +1422,209 @@ class McpAgentTester {
1379
1422
  });
1380
1423
  }
1381
1424
 
1382
- handleModelSelectChange () {
1383
- const isOther = this.modelSelect.value === 'other';
1384
- this.customModelSettings.style.display = isOther ? 'block' : 'none';
1425
+ initLlmSettings () {
1426
+ let stored = {};
1427
+ try {
1428
+ stored = JSON.parse(localStorage.getItem(LLM_LS_KEY) || '{}');
1429
+ } catch { stored = {}; }
1430
+
1431
+ const merged = { ...LLM_DEFAULTS, ...stored };
1432
+ const cfg = this.llmDefaults || {};
1433
+ let touched = false;
1434
+
1435
+ if (!merged.baseURL && cfg.baseURL) { merged.baseURL = cfg.baseURL; touched = true; }
1436
+ if (!merged.apiKey && cfg.apiKey) { merged.apiKey = cfg.apiKey; touched = true; }
1437
+
1438
+ this.llmSettings = merged;
1439
+
1440
+ if (touched) { this.saveLlmSettings(); }
1441
+
1442
+ this.migrateLegacyLlmSettings();
1443
+ this.renderModelDisplay();
1385
1444
  }
1386
1445
 
1387
- validateCustomModelSettings () {
1388
- if (this.modelSelect.value !== 'other') {
1389
- return true;
1446
+ migrateLegacyLlmSettings () {
1447
+ try {
1448
+ const legacy = JSON.parse(localStorage.getItem('mcpAgentFormValues') || '{}');
1449
+ let dirty = false;
1450
+ const numericFields = new Set(['temperature', 'maxTokens', 'maxTurns', 'toolResultLimitChars']);
1451
+ const map = {
1452
+ customBaseUrl: 'baseURL',
1453
+ customApiKey: 'apiKey',
1454
+ customModelName: 'model',
1455
+ modelTemperature: 'temperature',
1456
+ modelMaxTokens: 'maxTokens',
1457
+ modelMaxTurns: 'maxTurns',
1458
+ toolResultLimitChars: 'toolResultLimitChars',
1459
+ };
1460
+ for (const [from, to] of Object.entries(map)) {
1461
+ const raw = legacy[from];
1462
+ if (raw == null || raw === '') { continue; }
1463
+ const current = this.llmSettings[to];
1464
+ const isEmpty = current == null || current === '' || current === LLM_DEFAULTS[to];
1465
+ if (!isEmpty) { continue; }
1466
+ const v = numericFields.has(to) ? Number(raw) : raw;
1467
+ if (numericFields.has(to) && Number.isNaN(v)) { continue; }
1468
+ this.llmSettings[to] = v;
1469
+ dirty = true;
1470
+ }
1471
+ // Legacy preset model (not 'other'): reuse if current model is still a default
1472
+ if (legacy.model && legacy.model !== 'other' && (this.llmSettings.model === LLM_DEFAULTS.model || !this.llmSettings.model)) {
1473
+ this.llmSettings.model = legacy.model;
1474
+ dirty = true;
1475
+ }
1476
+ if (dirty) { this.saveLlmSettings(); this.renderModelDisplay(); }
1477
+ } catch { /* ignore */ }
1478
+ }
1479
+
1480
+ saveLlmSettings () {
1481
+ try {
1482
+ localStorage.setItem(LLM_LS_KEY, JSON.stringify(this.llmSettings));
1483
+ } catch (e) {
1484
+ console.error('Failed to save LLM settings:', e);
1390
1485
  }
1486
+ }
1391
1487
 
1392
- const baseURL = trim(this.customBaseUrl.value);
1393
- const apiKey = trim(this.customApiKey.value);
1394
- const modelName = trim(this.customModelName.value);
1395
- const temperature = this.modelTemperature.value;
1396
- const maxTokens = this.modelMaxTokens.value;
1488
+ renderModelDisplay () {
1489
+ const name = trim(this.llmSettings.model) || '—';
1490
+ this.modelDisplay.textContent = name;
1491
+ this.apiKeyWarning.style.display = this.llmSettings.apiKey ? 'none' : 'block';
1492
+ }
1397
1493
 
1398
- const missingFields = [];
1399
- if (!baseURL) {missingFields.push('Base URL');}
1400
- if (!apiKey) {missingFields.push('API Key');}
1401
- if (!modelName) {missingFields.push('Model Name');}
1402
- if (!temperature) {missingFields.push('Temperature');}
1403
- if (!maxTokens) {missingFields.push('Max Tokens');}
1494
+ openLlmModal () {
1495
+ const s = this.llmSettings;
1496
+ this.llmBaseUrl.value = s.baseURL || '';
1497
+ this.llmApiKey.value = s.apiKey || '';
1498
+ this.llmModelName.value = s.model || '';
1499
+ this.llmTemperature.value = s.temperature ?? LLM_DEFAULTS.temperature;
1500
+ this.llmMaxTokens.value = s.maxTokens ?? LLM_DEFAULTS.maxTokens;
1501
+ this.llmMaxTurns.value = s.maxTurns ?? LLM_DEFAULTS.maxTurns;
1502
+ this.llmLimitChars.value = s.toolResultLimitChars ?? LLM_DEFAULTS.toolResultLimitChars;
1404
1503
 
1405
- if (missingFields.length > 0) {
1406
- this.showToast(`Missing required fields: ${missingFields.join(', ')}`, 'error');
1407
- return false;
1504
+ // Reset API key visibility to hidden on open
1505
+ this.llmApiKey.type = 'password';
1506
+ const icon = this.llmApiKeyToggle.querySelector('.material-icons-round');
1507
+ if (icon) { icon.textContent = 'visibility'; }
1508
+
1509
+ this.llmModal.style.display = 'flex';
1510
+ }
1511
+
1512
+ closeLlmModal () {
1513
+ this.closeLlmModelDropdown();
1514
+ this.llmModal.style.display = 'none';
1515
+ }
1516
+
1517
+ saveLlmModal () {
1518
+ const baseURL = trim(this.llmBaseUrl.value);
1519
+ const apiKey = trim(this.llmApiKey.value);
1520
+ const model = trim(this.llmModelName.value);
1521
+ const temperature = parseFloat(this.llmTemperature.value);
1522
+ const maxTokens = parseInt(this.llmMaxTokens.value, 10);
1523
+ const maxTurns = parseInt(this.llmMaxTurns.value, 10);
1524
+ const toolResultLimitChars = parseInt(this.llmLimitChars.value, 10);
1525
+
1526
+ const missing = [];
1527
+ if (!model) { missing.push('Model Name'); }
1528
+ // baseURL is optional (OpenAI default) — empty means use provider default
1529
+ // apiKey intentionally not required here — its absence triggers the red warning instead
1530
+ if (Number.isNaN(temperature)) { missing.push('Temperature'); }
1531
+ if (!maxTokens) { missing.push('Max Tokens'); }
1532
+ if (!maxTurns) { missing.push('Max Turns'); }
1533
+ if (!toolResultLimitChars) { missing.push('Limit (chars)'); }
1534
+
1535
+ if (missing.length) {
1536
+ this.showToast(`Missing required fields: ${missing.join(', ')}`, 'error');
1537
+ return;
1408
1538
  }
1409
1539
 
1410
- return true;
1540
+ this.llmSettings = { baseURL, apiKey, model, temperature, maxTokens, maxTurns, toolResultLimitChars };
1541
+ this.saveLlmSettings();
1542
+ this.renderModelDisplay();
1543
+ this.closeLlmModal();
1544
+ this.showToast('LLM settings saved', 'success');
1411
1545
  }
1412
1546
 
1413
- getModelConfig () {
1414
- const isOther = this.modelSelect.value === 'other';
1415
- const t = parseFloat(this.modelTemperature.value);
1416
- const temperature = Number.isNaN(t) ? 0.1 : t;
1417
- const maxTokens = parseInt(this.modelMaxTokens.value, 10) || 2048;
1418
- const maxTurns = parseInt(this.modelMaxTurns.value, 10) || 10;
1419
- const toolResultLimitChars = parseInt(this.toolResultLimitChars.value, 10) || 20000;
1420
-
1421
- if (isOther) {
1422
- return {
1423
- baseURL: trim(this.customBaseUrl.value),
1424
- apiKey: trim(this.customApiKey.value),
1425
- model: trim(this.customModelName.value),
1426
- temperature: temperature,
1427
- maxTokens: maxTokens,
1428
- maxTurns: maxTurns,
1429
- toolResultLimitChars: toolResultLimitChars,
1547
+ toggleApiKeyVisibility () {
1548
+ const icon = this.llmApiKeyToggle.querySelector('.material-icons-round');
1549
+ if (this.llmApiKey.type === 'password') {
1550
+ this.llmApiKey.type = 'text';
1551
+ if (icon) { icon.textContent = 'visibility_off'; }
1552
+ } else {
1553
+ this.llmApiKey.type = 'password';
1554
+ if (icon) { icon.textContent = 'visibility'; }
1555
+ }
1556
+ }
1557
+
1558
+ renderLlmModelDropdown () {
1559
+ this.llmModelDropdownList.innerHTML = '';
1560
+ LLM_PRESET_MODELS.forEach((name) => {
1561
+ const item = document.createElement('div');
1562
+ item.className = 'dropdown-item';
1563
+ item.setAttribute('data-testid', `at-llm-model-option-${name}`);
1564
+ item.textContent = name;
1565
+ item.addEventListener('click', (e) => {
1566
+ e.stopPropagation();
1567
+ this.llmModelName.value = name;
1568
+ this.closeLlmModelDropdown();
1569
+ });
1570
+ this.llmModelDropdownList.appendChild(item);
1571
+ });
1572
+ }
1573
+
1574
+ toggleLlmModelDropdown (e) {
1575
+ e.preventDefault();
1576
+ e.stopPropagation();
1577
+ const visible = this.llmModelDropdownList.style.display !== 'none';
1578
+ if (visible) {
1579
+ this.closeLlmModelDropdown();
1580
+ } else {
1581
+ this.openLlmModelDropdown();
1582
+ }
1583
+ }
1584
+
1585
+ openLlmModelDropdown () {
1586
+ this.llmModelDropdownList.style.display = 'block';
1587
+ this.llmModelDropdownToggle.classList.add('active');
1588
+ // Close on outside click (one-shot)
1589
+ setTimeout(() => {
1590
+ const onDocClick = (ev) => {
1591
+ if (!this.llmModelDropdownList.contains(ev.target) && ev.target !== this.llmModelDropdownToggle) {
1592
+ this.closeLlmModelDropdown();
1593
+ document.removeEventListener('click', onDocClick);
1594
+ }
1430
1595
  };
1596
+ document.addEventListener('click', onDocClick);
1597
+ }, 0);
1598
+ }
1599
+
1600
+ closeLlmModelDropdown () {
1601
+ this.llmModelDropdownList.style.display = 'none';
1602
+ this.llmModelDropdownToggle.classList.remove('active');
1603
+ }
1604
+
1605
+ validateLlmSettings () {
1606
+ const s = this.llmSettings;
1607
+ const missing = [];
1608
+ // baseURL is optional — empty means use provider default (OpenAI)
1609
+ if (!s.apiKey) { missing.push('API Key'); }
1610
+ if (!s.model) { missing.push('Model Name'); }
1611
+ if (missing.length) {
1612
+ this.showToast(`Cannot send message — missing: ${missing.join(', ')}. Open LLM Settings.`, 'error');
1613
+ return false;
1431
1614
  }
1615
+ return true;
1616
+ }
1432
1617
 
1618
+ getModelConfig () {
1619
+ const s = this.llmSettings;
1433
1620
  return {
1434
- model: this.modelSelect.value,
1435
- temperature: temperature,
1436
- maxTokens: maxTokens,
1437
- maxTurns: maxTurns,
1438
- toolResultLimitChars: toolResultLimitChars,
1621
+ baseURL: s.baseURL,
1622
+ apiKey: s.apiKey,
1623
+ model: s.model,
1624
+ temperature: s.temperature,
1625
+ maxTokens: s.maxTokens,
1626
+ maxTurns: s.maxTurns,
1627
+ toolResultLimitChars: s.toolResultLimitChars,
1439
1628
  };
1440
1629
  }
1441
1630
 
@@ -1471,16 +1660,8 @@ class McpAgentTester {
1471
1660
  const formData = {
1472
1661
  serverUrl: this.serverUrlInput.value,
1473
1662
  transport: this.transportSelect.value,
1474
- model: this.modelSelect.value,
1475
1663
  agentPrompt: trim(this.systemPromptTextarea.value),
1476
1664
  customPrompt: trim(this.customPromptTextarea.value),
1477
- customBaseUrl: trim(this.customBaseUrl.value),
1478
- customApiKey: trim(this.customApiKey.value),
1479
- customModelName: trim(this.customModelName.value),
1480
- modelTemperature: this.modelTemperature.value,
1481
- modelMaxTokens: this.modelMaxTokens.value,
1482
- modelMaxTurns: this.modelMaxTurns.value,
1483
- toolResultLimitChars: this.toolResultLimitChars.value,
1484
1665
  };
1485
1666
  localStorage.setItem('mcpAgentFormValues', JSON.stringify(formData));
1486
1667
  }
@@ -1509,17 +1690,8 @@ class McpAgentTester {
1509
1690
  const formData = JSON.parse(stored);
1510
1691
  if (formData.serverUrl) {this.serverUrlInput.value = formData.serverUrl;}
1511
1692
  if (formData.transport) {this.transportSelect.value = formData.transport;}
1512
- if (formData.model) {this.modelSelect.value = formData.model;}
1513
1693
  if (formData.agentPrompt) {this.systemPromptTextarea.value = trim(formData.agentPrompt);}
1514
1694
  if (formData.customPrompt) {this.customPromptTextarea.value = trim(formData.customPrompt);}
1515
- if (formData.customBaseUrl) {this.customBaseUrl.value = formData.customBaseUrl;}
1516
- if (formData.customApiKey) {this.customApiKey.value = formData.customApiKey;}
1517
- if (formData.customModelName) {this.customModelName.value = formData.customModelName;}
1518
- if (formData.modelTemperature) {this.modelTemperature.value = formData.modelTemperature;}
1519
- if (formData.modelMaxTokens) {this.modelMaxTokens.value = formData.modelMaxTokens;}
1520
- if (formData.modelMaxTurns) {this.modelMaxTurns.value = formData.modelMaxTurns;}
1521
- if (formData.toolResultLimitChars) {this.toolResultLimitChars.value = formData.toolResultLimitChars;}
1522
- this.handleModelSelectChange();
1523
1695
  }
1524
1696
  } catch (error) {
1525
1697
  console.error('Error loading form values from storage:', error);
@@ -1489,6 +1489,140 @@ body {
1489
1489
  opacity: 0.9;
1490
1490
  }
1491
1491
 
1492
+ /* ============================================
1493
+ Model Display (collapsed LLM block)
1494
+ ============================================ */
1495
+
1496
+ .model-display-row {
1497
+ display: flex;
1498
+ align-items: center;
1499
+ gap: 8px;
1500
+ }
1501
+
1502
+ .model-display {
1503
+ flex: 1;
1504
+ padding: 8px 12px;
1505
+ background: var(--bg-input);
1506
+ border: 1px solid var(--border-input);
1507
+ border-radius: var(--radius);
1508
+ font-family: 'Fira Code', monospace;
1509
+ font-size: 0.85rem;
1510
+ color: var(--text);
1511
+ user-select: text;
1512
+ overflow: hidden;
1513
+ text-overflow: ellipsis;
1514
+ white-space: nowrap;
1515
+ }
1516
+
1517
+ .api-key-warning {
1518
+ margin-top: 6px;
1519
+ color: #d93025;
1520
+ font-size: 0.75rem;
1521
+ font-weight: 500;
1522
+ }
1523
+
1524
+ [data-theme="dark"] .api-key-warning {
1525
+ color: #f28b82;
1526
+ }
1527
+
1528
+ /* ============================================
1529
+ LLM Settings Modal
1530
+ ============================================ */
1531
+
1532
+ .llm-modal-overlay {
1533
+ position: fixed;
1534
+ inset: 0;
1535
+ background: rgba(0, 0, 0, 0.5);
1536
+ backdrop-filter: blur(4px);
1537
+ z-index: 1000;
1538
+ display: flex;
1539
+ align-items: center;
1540
+ justify-content: center;
1541
+ padding: 24px;
1542
+ }
1543
+
1544
+ .llm-modal {
1545
+ background: var(--bg-sidebar);
1546
+ border: 1px solid var(--border);
1547
+ border-radius: var(--radius-lg);
1548
+ width: 100%;
1549
+ max-width: 520px;
1550
+ max-height: 95vh;
1551
+ display: flex;
1552
+ flex-direction: column;
1553
+ box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
1554
+ }
1555
+
1556
+ /* Compact dropdown items inside LLM modal so all preset models fit without scroll */
1557
+ .llm-modal .dropdown-list {
1558
+ max-height: 420px;
1559
+ }
1560
+
1561
+ .llm-modal .dropdown-item {
1562
+ padding: 4px 12px;
1563
+ font-size: 0.8rem;
1564
+ }
1565
+
1566
+ .llm-modal-header {
1567
+ display: flex;
1568
+ align-items: center;
1569
+ justify-content: space-between;
1570
+ padding: 16px 20px;
1571
+ border-bottom: 1px solid var(--border);
1572
+ }
1573
+
1574
+ .llm-modal-header h3 {
1575
+ font-size: 0.95rem;
1576
+ font-weight: 600;
1577
+ color: var(--text);
1578
+ margin: 0;
1579
+ }
1580
+
1581
+ .llm-modal-body {
1582
+ padding: 16px 20px;
1583
+ overflow: visible;
1584
+ display: flex;
1585
+ flex-direction: column;
1586
+ gap: 12px;
1587
+ }
1588
+
1589
+ .llm-modal-body .form-row {
1590
+ display: flex;
1591
+ gap: 12px;
1592
+ }
1593
+
1594
+ .llm-modal-body .form-row .form-group {
1595
+ flex: 1;
1596
+ }
1597
+
1598
+ .llm-modal-body .input-with-toggle {
1599
+ display: flex;
1600
+ gap: 4px;
1601
+ align-items: stretch;
1602
+ }
1603
+
1604
+ .llm-modal-body .input-with-toggle input {
1605
+ flex: 1;
1606
+ }
1607
+
1608
+ .llm-modal-body .input-with-toggle .btn-icon {
1609
+ flex-shrink: 0;
1610
+ }
1611
+
1612
+ .llm-modal-footer {
1613
+ display: flex;
1614
+ justify-content: flex-end;
1615
+ gap: 8px;
1616
+ padding: 12px 20px;
1617
+ border-top: 1px solid var(--border);
1618
+ }
1619
+
1620
+ .llm-modal-footer .btn {
1621
+ padding: 8px 20px;
1622
+ font-size: 0.8rem;
1623
+ font-weight: 600;
1624
+ }
1625
+
1492
1626
  /* ============================================
1493
1627
  Auth Overlay (Login Screen)
1494
1628
  ============================================ */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fa-mcp-sdk",
3
3
  "productName": "FA MCP SDK",
4
- "version": "0.4.18",
4
+ "version": "0.4.20",
5
5
  "description": "Core infrastructure and templates for building Model Context Protocol (MCP) servers with TypeScript",
6
6
  "type": "module",
7
7
  "main": "dist/core/index.js",