@lenne.tech/nest-server 11.40.0 → 11.41.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/configurable-features.md +2 -0
- package/.claude/rules/testing.md +3 -3
- package/FRAMEWORK-API.md +2 -1
- package/dist/core/common/interfaces/server-options.interface.d.ts +1 -0
- package/dist/core/modules/ai/core-ai.controller.js +6 -0
- package/dist/core/modules/ai/core-ai.controller.js.map +1 -1
- package/dist/core/modules/ai/interfaces/llm-provider.interface.d.ts +3 -0
- package/dist/core/modules/ai/models/core-ai-prompt.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-prompt.model.js.map +1 -1
- package/dist/core/modules/ai/models/core-ai-slot.model.js +1 -1
- package/dist/core/modules/ai/models/core-ai-slot.model.js.map +1 -1
- package/dist/core/modules/ai/providers/openai-compatible.provider.d.ts +9 -1
- package/dist/core/modules/ai/providers/openai-compatible.provider.js +130 -12
- package/dist/core/modules/ai/providers/openai-compatible.provider.js.map +1 -1
- package/dist/core/modules/ai/services/core-ai.service.d.ts +12 -1
- package/dist/core/modules/ai/services/core-ai.service.js +131 -13
- package/dist/core/modules/ai/services/core-ai.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/migration-guides/11.40.0-to-11.41.0.md +118 -0
- package/migration-guides/11.41.0-to-11.41.1.md +114 -0
- package/package.json +1 -1
- package/src/core/common/interfaces/server-options.interface.ts +17 -0
- package/src/core/modules/ai/README.md +26 -5
- package/src/core/modules/ai/core-ai.controller.ts +16 -0
- package/src/core/modules/ai/interfaces/llm-provider.interface.ts +39 -0
- package/src/core/modules/ai/models/core-ai-prompt.model.ts +10 -1
- package/src/core/modules/ai/models/core-ai-slot.model.ts +10 -1
- package/src/core/modules/ai/providers/openai-compatible.provider.ts +380 -17
- package/src/core/modules/ai/services/core-ai.service.ts +333 -23
|
@@ -207,6 +207,7 @@ For a knob that **bounds** something (a cap, a quota, a maximum). `0` means "unb
|
|
|
207
207
|
| `ai.deferToolSummaryChars` | descriptions are not truncated |
|
|
208
208
|
| `ai.budget.user.maxTokens` / `.maxPrompts` | unlimited |
|
|
209
209
|
| `ai.budget.tenant.maxTokens` / `.maxPrompts` | unlimited |
|
|
210
|
+
| `ai.maxRunMs` | a run is bounded only by `maxIterations` x the per-call timeout |
|
|
210
211
|
|
|
211
212
|
Rules:
|
|
212
213
|
|
|
@@ -334,6 +335,7 @@ This pattern is currently applied to:
|
|
|
334
335
|
| Shutdown Delay | `shutdownDelayMs` | Numeric Sentinel — Family B (`0` = off) | `0` (default, no delay, no log). Waits N ms **in the SIGTERM/SIGINT handler, before `close()` is entered**, so a load balancer can finish deregistering while the instance is still fully healthy. NOT a lifecycle hook: `close()` runs `onModuleDestroy` → `beforeApplicationShutdown` → dispose → `onApplicationShutdown`, so a delay in `beforeApplicationShutdown` would wait with every module already torn down while the socket still accepts — worse than no delay. **Requires `installGracefulShutdown(app)` in main.ts, which REPLACES `server.enableShutdownHooks()`** — keeping both makes Nest close the app in parallel with the wait, so the delay silently never happens. At delay `0` the helper IS `enableShutdownHooks()`. **Keep the value well below the orchestrator grace period AND leave room for the drain that follows**: Compose `stop_grace_period` 10s, Kubernetes `terminationGracePeriodSeconds` 30s, and `installProcessDiagnostics()` force-exits after 30s — exceed any and the process is SIGKILLed mid-wait with no hook running. Warns above `10000`, capped at `60000`. Non-numeric / negative values behave like `0` |
|
|
335
336
|
| Trust Proxy | `trustProxy` | Explicit Value (pass-through, Express default) | `false` (Express's own default — the forwarded chain is not trusted). Passed verbatim to `app.set('trust proxy', …)` by `CoreTrustProxyInitializer`, a `CoreModule` provider, so a consumer inherits it by upgrading and needs no `main.ts` edit. Accepts `false` / a hop count (`1`, `2`) / `'loopback'` / a subnet list — **not** Express's predicate function: the value must survive `NEST_SERVER_CONFIG` / `NSC__*` (JSON) and the ConfigService deep clone. **This is what makes `request.ip` correct, and every IP-keyed rate limit depends on it**: unset behind Caddy/nginx/an ingress, `req.ip` is the PROXY address for every request, so all clients share ONE bucket and `auth.rateLimit.max` throttles everybody at once — exactly fleet-wide once `redis` is configured. Trusting MORE hops than exist is the opposite failure: a client prepends its own header entry and picks a fresh bucket per request. Applied at module init (inside `app.init()`/`listen()`, i.e. AFTER `main.ts`), so a configured value wins over a hand-written `app.set()`; an UNSET value is never applied, which keeps `app.set('trust proxy', fn)` in `main.ts` available as the escape hatch for the predicate form. **Unset + an IP-keyed limiter enabled (`auth.rateLimit` / `betterAuth.rateLimit`) logs a boot warning naming the shared-bucket consequence**; `trustProxy: false` is the explicit "nothing proxies me" answer that silences it. The AI limiter keys on the user id and is unaffected |
|
|
336
337
|
| AI Egress Allowlist (SSRF) | `ai.allowedBaseUrlHosts` | Explicit Value — **unset = permissive**, malformed = INTERPRETED or reported, never silently off | `undefined` → no restriction, so a local provider (Ollama on `localhost:11434`) works out of the box. Set → only those hosts are reachable, matched against `URL.host` (incl. port) and `URL.hostname`. **Accepts an array OR a comma-separated string, and the string form is not a convenience** — it is what the framework's own env mapping produces: `NSC__AI__ALLOWED_BASE_URL_HOSTS` becomes `{ ai: { allowedBaseUrlHosts: '<string>' } }` and lodash `merge` assigns that scalar straight over a configured array. Until 11.39.x a bare `!Array.isArray(...) -> return` read that as "not configured" and skipped the check entirely, so the canonical `NSC__` spelling silently disabled SSRF egress control with no log line at all. Entries are trimmed, lowercased and stripped of a fully-qualifying trailing dot, and the SAME normalisation is applied to the URL, so neither side wins by spelling one DNS name differently; a bare hostname entry matches any port, and an entry naming the scheme's default port (`example.com:443` on https) also matches the portless URL. A value that is neither array nor string carries no hostnames — the allowlist is then inactive and that is LOGGED as an error, because from the outside it looks exactly like "correctly unset". Enforced on **all three** outbound paths (`chat()`, the capability `probe()`, and `probeContextWindow()` — the last was unguarded before 11.39.x and is reachable from an ordinary user prompt via `detectAndPersistCapabilities()`, before the rate limit). Implementation: `openai-compatible.provider.ts` → `assertBaseUrlAllowed()` / `resolveAllowedBaseUrlHosts()` |
|
|
338
|
+
| AI Run Time Limit | `ai.maxRunMs` | **Numeric Sentinel — Family A** (`0` = no limit) | `0` (omitted = unbounded, the previous behaviour). Wall-clock ceiling for ONE prompt run, checked before each agent-loop iteration; once exceeded the run stops and answers with whatever it has. **Without it a run's only bound is `maxIterations` MULTIPLIED BY the connection's per-call timeout** — 8 iterations at the 120s default is a request that can legitimately hold a socket, its message buffer and a request context for 16 minutes, and compaction can add a call per iteration on top. Guarded as `maxRunMs > 0`, never `<= 0`: a value arriving as a non-numeric string through `NSC__AI__MAX_RUN_MS` (the reader coerces only `'true'`, `'false'` and numbers) yields `NaN`, and `NaN > 0` is `false`, so a misconfiguration degrades to "no limit" rather than to an instantly-expired deadline that would break every prompt. Set it to something a client would actually wait for. Implementation: `core-ai.service.ts` -> `runDeadlineExceeded()` |
|
|
337
339
|
| AI Assistant | `ai` | Presence Implies Enabled | Core: `maxIterations: 5`, `defaultMode: 'auto'` (or `'plan'`), `rateLimit` (presence implies enabled: `max: 20`, `windowSeconds: 60`), `systemPrompt`, `documentation` (injected into the system prompt), `encryptionSecret`. **DB-backed LLM connections** (`aiConnections`, admin CRUD) with AES-256-GCM-encrypted API keys (`AiCryptoService`, secret from `ai.encryptionSecret` / `NSC__AI__ENCRYPTION_SECRET` / `SECRETS_ENCRYPTION_KEY`; `apiKeyEncrypted` is a global `secretFields` entry, never returned — only `hasApiKey`); optional `defaultConnection` one-time seed. **Provider abstraction** (`ILlmProvider`, default `OpenAiCompatibleProvider` for any OpenAI-compatible endpoint via `fetch`; per-connection `supportsNativeTools`/`supportsJsonResponse` capabilities, emulated tool calling when native tools are unavailable). **Tool registry** (`AiToolRegistry`, tools self-register, role-filtered; tools may be `mutating`/`destructive` and define `authorize()` for pre-flight data-level checks). **Plan mode** (`input.mode: 'plan'`): full plan → pre-flight authorize ALL steps → all-or-nothing execution with a translated (de/en) error when any step is not permitted. **Confirmation policy**: `confirmation.mutating: { default, enforced }` + client `input.requireConfirmation` (ignored when enforced); `destructive` always confirms. **Client metadata** (`input.metadata`: URL/nav/console logs, untrusted+capped). **Multi-turn conversations** (`aiConversations`, owner-scoped). **SSE streaming** (`POST /ai/stream`). **Audit** (`audit: false` → persist to `aiInteractions`, admin-readable). **Token budgets** (`budget: { period: 'day'|'month'|'none', user: { maxTokens?, maxPrompts? }, tenant: { maxTokens?, maxPrompts? } }`, requires audit): per-user AND per-tenant limits with config defaults; admins override per user/tenant at runtime (`aiBudgetLimits`, `CoreAiBudgetService`). Resolution: override → default → unlimited (missing/0 = unlimited). Enforced before the run (HTTP 429 + translated). Each response carries a compact `budget` summary (promptTokens, usedTokens, remainingTokens, resetAt); full breakdown via `aiUsage` query / `GET /ai/usage`. **Self-optimizing prompts**: the system prompt is assembled from keyed fragments (`CoreAiPromptBuilderService` ships built-in defaults; works with zero rows). Admin-editable overrides per slot (`aiSlots`, admin CRUD, `/ai/slots`) scoped by `key`/`locale`/`capability`/`tenantId`, with tenant override/reset semantics and placeholder tokens resolved at run time via the placeholder registry. **Governed learning loop** (`promptLearning: { enabled: true, autoApply: false }`): tool errors record `suggested` hints (`aiPromptHints`, admin CRUD, `/ai/prompt-hints`) that only reach the prompt once admin-approved (or auto-approved when `autoApply`); hints only ADD guidance, never relax permissions. **Context window** (`contextWindow`, default 8192; auto-detected per connection via `ILlmProvider.detectContextWindow()` — Ollama `/api/show` probe / known-model table / Claude alias — and persisted): per-user/session history is trimmed (oldest non-system turns dropped, last truncated) and tool-results capped to `maxToolResultChars` (default 12000) so a session never overflows the model. A connection's window can be seeded via `ai.defaultConnection.contextWindow` (validated: a non-positive/non-integer value is dropped with a warning). **Capability drift check** (`capabilityDriftCheck`, default `false`): opt-in boot self-check that probes each enabled connection with an EXPLICIT `supportsNativeTools`/`supportsJsonResponse` (built with those flags cleared so the endpoint is actually re-probed) and logs a warning on mismatch — the stored value is never changed. OFF by default because it makes outbound calls to the LLM endpoints on every boot; also skipped in the ci/e2e runners. **Deferred tool schemas** (`deferToolSchemas`, default `false`): the system-prompt tool catalog then lists only tool NAMES + descriptions instead of full JSON schemas, and the model fetches a schema on demand via the built-in `search_tools` meta-tool — with a large registry the schemas alone can dominate a small context window. `deferToolSummaryChars` (default `0` = untruncated) additionally caps each description in that DEFERRED catalog: whole sentences up to the cap (always at least the first), word-boundary cut when the first sentence already exceeds it, and a `…` marker appended ON TOP of the cap. The default of `0` keeps the saving opt-in, so enabling `deferToolSchemas` alone never changes what a description says; set roughly 200–400 alongside it to actually reclaim the context. Both apply to EMULATED providers only — a connection with `supportsNativeTools: true` receives every full description + schema via `buildToolSchemas()` regardless, so truncation and the banner are skipped there rather than asserting a cut the tool payload contradicts. The omitted tail is where preconditions and role restrictions usually live — the catalog banner tells the model to fetch the full text via `search_tools` first, but this is model GUIDANCE only: authorization is enforced server-side by the registry's role filter (`forUser()`), the execution-time re-check, and the `mutating`/`destructive` flags read by the confirmation gate — never by what the catalog shows. (`AiTool.authorize()` runs in PLAN MODE only; in auto mode and over MCP, data-level checks must live inside `execute()`.) **MCP server** (`mcp: false` → `/ai/mcp` Streamable HTTP, Bearer auth, lazy `@modelcontextprotocol/sdk`; `mcp: { oauth: true, oauthSecret }` adds OAuth 2.1 — HMAC tokens + PKCE S256 + dynamic registration via `mountAiMcpOAuth(app)` in main.ts). Overrides via `CoreModule.forRoot(env, { ai: { budgetService, connectionResolver, connectionService, controller, conversationService, interactionService, mcpClientService, modeService, placeholderRegistry, preferenceService, promptBuilder, promptHintService, promptService, resolver, service, slotService, toolGrantService, toolPolicyService } })` |
|
|
338
340
|
|
|
339
341
|
## Module Override Pattern (via `ICoreModuleOverrides`)
|
package/.claude/rules/testing.md
CHANGED
|
@@ -266,7 +266,7 @@ pnpm run check:mutations -- --id=<id> # one mutation
|
|
|
266
266
|
pnpm run check:mutations -- --list # the registry, without running anything
|
|
267
267
|
pnpm run check:mutations -- --allow-dirty # when the fix and its evidence share a working tree
|
|
268
268
|
pnpm run check:mutations -- --jobs=4 # N mutations at a time (default: 2, or 4 on >=12 cores)
|
|
269
|
-
pnpm run check:mutations -- --no-infra # only the
|
|
269
|
+
pnpm run check:mutations -- --no-infra # only the 66 that need no MongoDB
|
|
270
270
|
pnpm run check:mutations -- --since=<ref> # only mutations touching files changed since <ref>
|
|
271
271
|
```
|
|
272
272
|
|
|
@@ -285,7 +285,7 @@ when the registry, a vitest config or a setup file changed, since those can move
|
|
|
285
285
|
commit, so selective re-running would save ~10 minutes a release. The price is a cache that has to
|
|
286
286
|
model each spec's full dependency closure correctly, and getting that wrong produces a stale PASS
|
|
287
287
|
for a test that has since gone vacuous — exactly what the gate is there to prevent. Bad trade
|
|
288
|
-
at
|
|
288
|
+
at 112 mutations — past the threshold this paragraph has carried since the gate was written,
|
|
289
289
|
now reached exactly. The full run is approaching half an hour. **The re-evaluation is due now**: the
|
|
290
290
|
next person to add a mutation should decide whether selective re-running has become worth its
|
|
291
291
|
failure mode (a stale PASS for a test that has since gone vacuous), not bump this number again.
|
|
@@ -329,7 +329,7 @@ exactly the environment where the answer matters.
|
|
|
329
329
|
|
|
330
330
|
Worth knowing before optimising the wrong thing: the specs behind all 46 e2e mutations add up to
|
|
331
331
|
**~40 seconds**. The step takes ~740s. The remaining ~700s is paying vitest's startup — process
|
|
332
|
-
spawn, transform, module graph, mongod connect, DB create and drop — once per mutation,
|
|
332
|
+
spawn, transform, module graph, mongod connect, DB create and drop — once per mutation, 112 times.
|
|
333
333
|
That work is largely single-threaded I/O and barely scales with cores: the full registry measures
|
|
334
334
|
**744s on a 12-core laptop and 777s on a 4-vCPU CI runner**.
|
|
335
335
|
|
package/FRAMEWORK-API.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @lenne.tech/nest-server — Framework API Reference
|
|
2
2
|
|
|
3
|
-
> Auto-generated from source code as of 2026-09-
|
|
3
|
+
> Auto-generated from source code as of 2026-09-08 (v11.41.1)
|
|
4
4
|
> File: `FRAMEWORK-API.md` — compact, machine-readable API surface for Claude Code
|
|
5
5
|
|
|
6
6
|
## CoreModule.forRoot()
|
|
@@ -125,6 +125,7 @@ When `passkey` is enabled, `trustedOrigins` is required (compile-time enforcemen
|
|
|
125
125
|
- `deferToolSchemas?`: `boolean | undefined` (default: `false`) — Defer the parameter schemas of tools out of the system prompt. With many tools
|
|
126
126
|
- `deferToolSummaryChars?`: `number | undefined` (default: `0`) — Maximum characters per tool description in the DEFERRED catalog
|
|
127
127
|
- `maxIterations?`: `number | undefined` (default: `5`) — Maximum number of agent-loop iterations (tool round-trips).
|
|
128
|
+
- `maxRunMs?`: `number | undefined` (default: `0`) — Wall-clock ceiling for ONE prompt run, in milliseconds. Checked before each
|
|
128
129
|
- `maxToolResultChars?`: `number | undefined` (default: `12000`) — Maximum characters of a tool-results payload fed back to the model.
|
|
129
130
|
- `promptLearning?`: `{ autoApply?: boolean; enabled?: boolean; minOccurrences?: number; } | undefined` — Governed self-improvement loop for the system prompt. The orchestrator records
|
|
130
131
|
- `mcp?`: `boolean | { enabled?: boolean; oauth?: boolean; oauthSecret?: string; } | und...` (default: `false`) — Expose the tool registry as an MCP server at `/ai/mcp` (Streamable HTTP) for
|
|
@@ -74,7 +74,12 @@ let CoreAiController = class CoreAiController {
|
|
|
74
74
|
res.setHeader('Cache-Control', 'no-cache');
|
|
75
75
|
res.setHeader('Connection', 'keep-alive');
|
|
76
76
|
res.setHeader('Content-Type', 'text/event-stream');
|
|
77
|
+
res.setHeader('X-Accel-Buffering', 'no');
|
|
77
78
|
res.flushHeaders?.();
|
|
79
|
+
const heartbeat = setInterval(() => {
|
|
80
|
+
res.write(': keep-alive\n\n');
|
|
81
|
+
}, 15_000);
|
|
82
|
+
heartbeat.unref?.();
|
|
78
83
|
try {
|
|
79
84
|
for await (const event of this.aiService.promptStream(input, serviceOptions)) {
|
|
80
85
|
res.write(`data: ${JSON.stringify(event)}\n\n`);
|
|
@@ -84,6 +89,7 @@ let CoreAiController = class CoreAiController {
|
|
|
84
89
|
res.write(`data: ${JSON.stringify({ message: err.message, type: 'error' })}\n\n`);
|
|
85
90
|
}
|
|
86
91
|
finally {
|
|
92
|
+
clearInterval(heartbeat);
|
|
87
93
|
res.end();
|
|
88
94
|
}
|
|
89
95
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ai.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/ai/core-ai.controller.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-ai.controller.js","sourceRoot":"","sources":["../../../../src/core/modules/ai/core-ai.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,15 +28,18 @@ export interface LlmToolCall {
|
|
|
28
28
|
export interface LlmUsage {
|
|
29
29
|
completionTokens?: number;
|
|
30
30
|
promptTokens?: number;
|
|
31
|
+
reasoningTokens?: number;
|
|
31
32
|
totalTokens?: number;
|
|
32
33
|
}
|
|
33
34
|
export interface LlmCompletionOptions {
|
|
35
|
+
jsonResponse?: boolean;
|
|
34
36
|
maxTokens?: number;
|
|
35
37
|
model?: string;
|
|
36
38
|
temperature?: number;
|
|
37
39
|
timeoutMs?: number;
|
|
38
40
|
}
|
|
39
41
|
export interface LlmResponse {
|
|
42
|
+
finishReason?: string;
|
|
40
43
|
raw?: unknown;
|
|
41
44
|
text: string;
|
|
42
45
|
toolCalls?: LlmToolCall[];
|
|
@@ -102,7 +102,7 @@ __decorate([
|
|
|
102
102
|
(0, unified_field_decorator_1.UnifiedField)({
|
|
103
103
|
description: 'Tenant id (when scope = "tenant")',
|
|
104
104
|
isOptional: true,
|
|
105
|
-
mongoose: {
|
|
105
|
+
mongoose: { type: String },
|
|
106
106
|
roles: role_enum_1.RoleEnum.S_USER,
|
|
107
107
|
}),
|
|
108
108
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ai-prompt.model.js","sourceRoot":"","sources":["../../../../../src/core/modules/ai/models/core-ai-prompt.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,+CAA2E;AAG3E,0FAA6E;AAC7E,gGAAkF;AAClF,+DAA2D;AAC3D,0FAAqF;AAqB9E,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,6CAAoB;IAGpD,OAAO,GAAW,SAAS,CAAC;IAI5B,WAAW,GAAY,SAAS,CAAC;IAUjC,OAAO,GAAa,SAAS,CAAC;IAS9B,IAAI,GAAY,SAAS,CAAC;IAI1B,IAAI,GAAW,SAAS,CAAC;IAQzB,OAAO,GAAW,SAAS,CAAC;IAU5B,KAAK,GAAY,SAAS,CAAC;IAW3B,KAAK,GAAW,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"core-ai-prompt.model.js","sourceRoot":"","sources":["../../../../../src/core/modules/ai/models/core-ai-prompt.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,+CAA2E;AAG3E,0FAA6E;AAC7E,gGAAkF;AAClF,+DAA2D;AAC3D,0FAAqF;AAqB9E,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,6CAAoB;IAGpD,OAAO,GAAW,SAAS,CAAC;IAI5B,WAAW,GAAY,SAAS,CAAC;IAUjC,OAAO,GAAa,SAAS,CAAC;IAS9B,IAAI,GAAY,SAAS,CAAC;IAI1B,IAAI,GAAW,SAAS,CAAC;IAQzB,OAAO,GAAW,SAAS,CAAC;IAU5B,KAAK,GAAY,SAAS,CAAC;IAW3B,KAAK,GAAW,SAAS,CAAC;IAkB1B,QAAQ,GAAY,SAAS,CAAC;IAMrB,aAAa,CAAC,IAAS,EAAE,MAAgB;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAgB,CAAC;QAC1B,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACxF,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,SAAgB,CAAC;QAC1B,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,SAAiB,CAAC;IAC9D,CAAC;CACF,CAAA;AAhGY,oCAAY;AAGvB;IADC,IAAA,sCAAY,EAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAQ,CAAC,MAAM,EAAE,CAAC;;6CAC7D;AAI5B;IADC,IAAA,sCAAY,EAAC,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,oBAAQ,CAAC,MAAM,EAAE,CAAC;;iDACtE;AAUjC;IAPC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,8BAA8B;QAC3C,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;QAC3B,KAAK,EAAE,oBAAQ,CAAC,MAAM;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO;KACpB,CAAC;;6CAC4B;AAS9B;IANC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,uCAAuC;QACpD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,oBAAQ,CAAC,MAAM;KACvB,CAAC;;0CACwB;AAI1B;IADC,IAAA,sCAAY,EAAC,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,oBAAQ,CAAC,MAAM,EAAE,CAAC;;0CACzE;AAQzB;IALC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,eAAe;QAC5B,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;QACzB,KAAK,EAAE,oBAAQ,CAAC,MAAM;KACvB,CAAC;;6CAC0B;AAU5B;IAPC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,YAAY;QACzB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE;QAC1B,KAAK,EAAE,oBAAQ,CAAC,MAAM;QACtB,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;KACnB,CAAC;;2CACyB;AAW3B;IALC,IAAA,sCAAY,EAAC;QACZ,WAAW,EAAE,wDAAwD;QACrE,QAAQ,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE;QAC1C,KAAK,EAAE,oBAAQ,CAAC,MAAM;KACvB,CAAC;;2CACwB;AAkB1B;IAfC,IAAA,sCAAY,EAAC;QAUZ,WAAW,EAAE,mCAAmC;QAChD,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;QAC1B,KAAK,EAAE,oBAAQ,CAAC,MAAM;KACvB,CAAC;;8CAC4B;uBA7EnB,YAAY;IAHxB,IAAA,iBAAc,EAAC,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAC7D,IAAA,oBAAU,EAAC,EAAE,WAAW,EAAE,+CAA+C,EAAE,CAAC;IAC5E,IAAA,iCAAU,EAAC,oBAAQ,CAAC,MAAM,CAAC;GACf,YAAY,CAgGxB;AAEY,QAAA,cAAc,GAAG,wBAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;AAEzE,sBAAc,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC"}
|
|
@@ -104,7 +104,7 @@ __decorate([
|
|
|
104
104
|
(0, unified_field_decorator_1.UnifiedField)({
|
|
105
105
|
description: 'Tenant id the slot applies to (auto-set; undefined = system-wide)',
|
|
106
106
|
isOptional: true,
|
|
107
|
-
mongoose: {
|
|
107
|
+
mongoose: { type: String },
|
|
108
108
|
roles: role_enum_1.RoleEnum.ADMIN,
|
|
109
109
|
}),
|
|
110
110
|
__metadata("design:type", String)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-ai-slot.model.js","sourceRoot":"","sources":["../../../../../src/core/modules/ai/models/core-ai-slot.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA6C;AAC7C,+CAA2E;AAG3E,0FAA6E;AAC7E,gGAAkF;AAClF,+DAA2D;AAC3D,0FAAqF;AAyB9E,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,6CAAoB;IAWlD,UAAU,GAAY,SAAS,CAAC;IAUhC,OAAO,GAAW,SAAS,CAAC;IAW5B,WAAW,GAAY,SAAS,CAAC;IAajC,OAAO,GAAa,SAAS,CAAC;IAW9B,GAAG,GAAW,SAAS,CAAC;IAYxB,MAAM,GAAY,SAAS,CAAC;IAY5B,KAAK,GAAY,SAAS,CAAC;IAe3B,KAAK,GAAY,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"core-ai-slot.model.js","sourceRoot":"","sources":["../../../../../src/core/modules/ai/models/core-ai-slot.model.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,20 +1,28 @@
|
|
|
1
|
-
import { ILlmProvider, LlmCapabilities, LlmCompletionOptions, LlmMessage, LlmResponse, LlmToolSchema } from '../interfaces/llm-provider.interface';
|
|
1
|
+
import { ILlmProvider, LlmCapabilities, LlmCompletionOptions, LlmMessage, LlmResponse, LlmToolSchema, LlmUsage } from '../interfaces/llm-provider.interface';
|
|
2
2
|
import { ResolvedAiConnection } from '../interfaces/resolved-ai-connection.interface';
|
|
3
3
|
export declare class OpenAiCompatibleProvider implements ILlmProvider {
|
|
4
4
|
private readonly connection;
|
|
5
5
|
readonly capabilities: LlmCapabilities;
|
|
6
6
|
readonly name = "openai-compatible";
|
|
7
|
+
protected static readonly MIN_REASONING_RETRY_MS = 1000;
|
|
7
8
|
private readonly logger;
|
|
8
9
|
private readonly defaultTimeoutMs;
|
|
9
10
|
constructor(connection: ResolvedAiConnection);
|
|
10
11
|
chat(messages: LlmMessage[], tools: LlmToolSchema[], options?: LlmCompletionOptions): Promise<LlmResponse>;
|
|
12
|
+
protected mergeUsage(first?: LlmUsage, second?: LlmUsage): LlmUsage | undefined;
|
|
13
|
+
protected postCompletion(url: string, body: Record<string, any>, timeoutMs: number): Promise<LlmResponse>;
|
|
14
|
+
protected isReasoningStarved(response: LlmResponse): boolean;
|
|
11
15
|
protected assertBaseUrlAllowed(url: string): void;
|
|
16
|
+
protected static readonly NATIVE_TOOL_PROBE_MAX_TOKENS = 256;
|
|
17
|
+
protected static readonly NATIVE_TOOL_PROBE_MAX_TOKENS_RETRY = 1024;
|
|
12
18
|
protected resolveAllowedBaseUrlHosts(): string[];
|
|
13
19
|
protected normaliseHostEntry(value: string): string;
|
|
14
20
|
detectCapabilities(): Promise<{
|
|
15
21
|
jsonResponse?: boolean;
|
|
16
22
|
nativeTools?: boolean;
|
|
17
23
|
}>;
|
|
24
|
+
protected probeJsonResponse(): Promise<boolean>;
|
|
25
|
+
protected probeNativeTools(): Promise<boolean>;
|
|
18
26
|
protected probe(extra: Record<string, any>): Promise<{
|
|
19
27
|
json?: any;
|
|
20
28
|
ok: boolean;
|
|
@@ -8,6 +8,7 @@ class OpenAiCompatibleProvider {
|
|
|
8
8
|
connection;
|
|
9
9
|
capabilities;
|
|
10
10
|
name = 'openai-compatible';
|
|
11
|
+
static MIN_REASONING_RETRY_MS = 1_000;
|
|
11
12
|
logger = new common_1.Logger(OpenAiCompatibleProvider.name);
|
|
12
13
|
defaultTimeoutMs;
|
|
13
14
|
constructor(connection) {
|
|
@@ -42,10 +43,51 @@ class OpenAiCompatibleProvider {
|
|
|
42
43
|
type: 'function',
|
|
43
44
|
}));
|
|
44
45
|
}
|
|
45
|
-
if (this.capabilities.jsonResponse) {
|
|
46
|
+
if (this.capabilities.jsonResponse && options?.jsonResponse !== false && body.model === this.connection.model) {
|
|
46
47
|
body.response_format = { type: 'json_object' };
|
|
47
48
|
}
|
|
48
49
|
const timeoutMs = options?.timeoutMs ?? this.defaultTimeoutMs;
|
|
50
|
+
const startedAt = Date.now();
|
|
51
|
+
const answer = await this.postCompletion(url, body, timeoutMs);
|
|
52
|
+
if (!this.isReasoningStarved(answer)) {
|
|
53
|
+
return answer;
|
|
54
|
+
}
|
|
55
|
+
this.logger.warn(`AI completion for model "${body.model}" returned NO content: finish_reason=${answer.finishReason}, ` +
|
|
56
|
+
`${answer.usage?.reasoningTokens ?? 0} of ${answer.usage?.completionTokens ?? 0} output tokens were spent ` +
|
|
57
|
+
`thinking against a budget of ${body.max_tokens}. Retrying once without the thinking phase.`);
|
|
58
|
+
const remainingMs = timeoutMs - (Date.now() - startedAt);
|
|
59
|
+
if (remainingMs < OpenAiCompatibleProvider.MIN_REASONING_RETRY_MS) {
|
|
60
|
+
this.logger.warn(`Not retrying model "${body.model}" without the thinking phase: only ${Math.max(0, remainingMs)}ms of the ` +
|
|
61
|
+
`${timeoutMs}ms budget remain. Keeping the original, empty completion.`);
|
|
62
|
+
return answer;
|
|
63
|
+
}
|
|
64
|
+
try {
|
|
65
|
+
const retried = await this.postCompletion(url, { ...body, reasoning_effort: 'none' }, remainingMs);
|
|
66
|
+
return { ...retried, usage: this.mergeUsage(answer.usage, retried.usage) };
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
this.logger.warn(`Retry without the thinking phase failed for model "${body.model}" ` +
|
|
70
|
+
`(${err?.message ?? 'unknown error'}) — keeping the original, empty completion. ` +
|
|
71
|
+
'Raise the token budget or configure a model that answers within it.');
|
|
72
|
+
return answer;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
mergeUsage(first, second) {
|
|
76
|
+
if (!first) {
|
|
77
|
+
return second;
|
|
78
|
+
}
|
|
79
|
+
if (!second) {
|
|
80
|
+
return first;
|
|
81
|
+
}
|
|
82
|
+
const sum = (a, b) => (a === undefined && b === undefined ? undefined : (a ?? 0) + (b ?? 0));
|
|
83
|
+
return {
|
|
84
|
+
completionTokens: sum(first.completionTokens, second.completionTokens),
|
|
85
|
+
promptTokens: sum(first.promptTokens, second.promptTokens),
|
|
86
|
+
reasoningTokens: sum(first.reasoningTokens, second.reasoningTokens),
|
|
87
|
+
totalTokens: sum(first.totalTokens, second.totalTokens),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
async postCompletion(url, body, timeoutMs) {
|
|
49
91
|
let response;
|
|
50
92
|
try {
|
|
51
93
|
response = await fetch(url, {
|
|
@@ -69,20 +111,27 @@ class OpenAiCompatibleProvider {
|
|
|
69
111
|
throw new common_1.BadGatewayException(error_code_1.ErrorCode.AI_PROVIDER_ERROR);
|
|
70
112
|
}
|
|
71
113
|
const result = (await response.json());
|
|
72
|
-
const choice = result.choices?.[0]
|
|
73
|
-
const text = choice?.content ?? '';
|
|
74
|
-
const nativeToolCalls = this.capabilities.nativeTools
|
|
114
|
+
const choice = result.choices?.[0];
|
|
115
|
+
const text = choice?.message?.content ?? '';
|
|
116
|
+
const nativeToolCalls = this.capabilities.nativeTools
|
|
117
|
+
? this.mapNativeToolCalls(choice?.message?.tool_calls)
|
|
118
|
+
: undefined;
|
|
75
119
|
return {
|
|
120
|
+
finishReason: choice?.finish_reason,
|
|
76
121
|
raw: result,
|
|
77
122
|
text,
|
|
78
123
|
toolCalls: nativeToolCalls,
|
|
79
124
|
usage: {
|
|
80
125
|
completionTokens: result.usage?.completion_tokens,
|
|
81
126
|
promptTokens: result.usage?.prompt_tokens,
|
|
127
|
+
reasoningTokens: result.usage?.completion_tokens_details?.reasoning_tokens,
|
|
82
128
|
totalTokens: result.usage?.total_tokens,
|
|
83
129
|
},
|
|
84
130
|
};
|
|
85
131
|
}
|
|
132
|
+
isReasoningStarved(response) {
|
|
133
|
+
return response.finishReason === 'length' && !response.text && !response.toolCalls?.length;
|
|
134
|
+
}
|
|
86
135
|
assertBaseUrlAllowed(url) {
|
|
87
136
|
const allowedHosts = this.resolveAllowedBaseUrlHosts();
|
|
88
137
|
if (!allowedHosts.length) {
|
|
@@ -105,6 +154,8 @@ class OpenAiCompatibleProvider {
|
|
|
105
154
|
throw new common_1.ServiceUnavailableException(error_code_1.ErrorCode.AI_CONNECTION_NOT_AVAILABLE);
|
|
106
155
|
}
|
|
107
156
|
}
|
|
157
|
+
static NATIVE_TOOL_PROBE_MAX_TOKENS = 256;
|
|
158
|
+
static NATIVE_TOOL_PROBE_MAX_TOKENS_RETRY = 1024;
|
|
108
159
|
resolveAllowedBaseUrlHosts() {
|
|
109
160
|
const configured = config_service_1.ConfigService.get('ai.allowedBaseUrlHosts');
|
|
110
161
|
if (configured === undefined || configured === null) {
|
|
@@ -125,18 +176,72 @@ class OpenAiCompatibleProvider {
|
|
|
125
176
|
.replace(/\.(?=$|:)/, '');
|
|
126
177
|
}
|
|
127
178
|
async detectCapabilities() {
|
|
179
|
+
const needsJson = this.connection.supportsJsonResponse === undefined;
|
|
180
|
+
const needsTools = this.connection.supportsNativeTools === undefined;
|
|
181
|
+
const [jsonResponse, nativeTools] = await Promise.all([
|
|
182
|
+
needsJson ? this.probeJsonResponse() : Promise.resolve(undefined),
|
|
183
|
+
needsTools ? this.probeNativeTools() : Promise.resolve(undefined),
|
|
184
|
+
]);
|
|
128
185
|
const result = {};
|
|
129
|
-
if (
|
|
186
|
+
if (needsJson) {
|
|
187
|
+
result.jsonResponse = jsonResponse;
|
|
188
|
+
}
|
|
189
|
+
if (needsTools) {
|
|
190
|
+
result.nativeTools = nativeTools;
|
|
191
|
+
}
|
|
192
|
+
return result;
|
|
193
|
+
}
|
|
194
|
+
async probeJsonResponse() {
|
|
195
|
+
const budgets = [
|
|
196
|
+
OpenAiCompatibleProvider.NATIVE_TOOL_PROBE_MAX_TOKENS,
|
|
197
|
+
OpenAiCompatibleProvider.NATIVE_TOOL_PROBE_MAX_TOKENS_RETRY,
|
|
198
|
+
];
|
|
199
|
+
for (const [attempt, maxTokens] of budgets.entries()) {
|
|
130
200
|
const res = await this.probe({
|
|
131
|
-
max_tokens:
|
|
201
|
+
max_tokens: maxTokens,
|
|
132
202
|
messages: [{ content: 'Reply with the JSON object {"ok":true}.', role: 'user' }],
|
|
133
203
|
response_format: { type: 'json_object' },
|
|
134
204
|
});
|
|
135
|
-
|
|
205
|
+
if (!res.ok) {
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
const choice = res.json?.choices?.[0];
|
|
209
|
+
const content = choice?.message?.content;
|
|
210
|
+
const truncated = choice?.finish_reason === 'length';
|
|
211
|
+
if (typeof content === 'string' && content.trim()) {
|
|
212
|
+
try {
|
|
213
|
+
JSON.parse(content);
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
catch {
|
|
217
|
+
if (!truncated) {
|
|
218
|
+
this.logger.warn(`JSON-response probe for model "${this.connection.model}" returned non-JSON content — ` +
|
|
219
|
+
'recording structured JSON as unsupported');
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
else if (!truncated) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
const isLastAttempt = attempt === budgets.length - 1;
|
|
228
|
+
this.logger.warn(`JSON-response probe for model "${this.connection.model}" was truncated (finish_reason=length) at ` +
|
|
229
|
+
`max_tokens=${maxTokens}` +
|
|
230
|
+
(isLastAttempt
|
|
231
|
+
? ' on the final attempt — recording structured JSON as unsupported; a model that cannot emit a ' +
|
|
232
|
+
'trivial JSON object within a usable output budget is better served by the prompt-driven fallback'
|
|
233
|
+
: ' — retrying once with a larger budget'));
|
|
136
234
|
}
|
|
137
|
-
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
async probeNativeTools() {
|
|
238
|
+
const budgets = [
|
|
239
|
+
OpenAiCompatibleProvider.NATIVE_TOOL_PROBE_MAX_TOKENS,
|
|
240
|
+
OpenAiCompatibleProvider.NATIVE_TOOL_PROBE_MAX_TOKENS_RETRY,
|
|
241
|
+
];
|
|
242
|
+
for (const [attempt, maxTokens] of budgets.entries()) {
|
|
138
243
|
const res = await this.probe({
|
|
139
|
-
max_tokens:
|
|
244
|
+
max_tokens: maxTokens,
|
|
140
245
|
messages: [{ content: 'Call the ping tool.', role: 'user' }],
|
|
141
246
|
tool_choice: 'required',
|
|
142
247
|
tools: [
|
|
@@ -150,9 +255,22 @@ class OpenAiCompatibleProvider {
|
|
|
150
255
|
},
|
|
151
256
|
],
|
|
152
257
|
});
|
|
153
|
-
|
|
258
|
+
const choice = res.json?.choices?.[0];
|
|
259
|
+
if (res.ok && choice?.message?.tool_calls?.length) {
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
if (!res.ok || choice?.finish_reason !== 'length') {
|
|
263
|
+
return false;
|
|
264
|
+
}
|
|
265
|
+
const isLastAttempt = attempt === budgets.length - 1;
|
|
266
|
+
this.logger.warn(`Native-tool probe for model "${this.connection.model}" was truncated (finish_reason=length) at ` +
|
|
267
|
+
`max_tokens=${maxTokens}` +
|
|
268
|
+
(isLastAttempt
|
|
269
|
+
? ' on the final attempt — recording native tools as unsupported; the model does not reach a tool ' +
|
|
270
|
+
'call within a usable output budget, so emulated tool calling is the correct fallback'
|
|
271
|
+
: ' — retrying once with a larger budget'));
|
|
154
272
|
}
|
|
155
|
-
return
|
|
273
|
+
return false;
|
|
156
274
|
}
|
|
157
275
|
async probe(extra) {
|
|
158
276
|
const url = `${this.connection.baseUrl.replace(/\/$/, '')}/chat/completions`;
|
|
@@ -185,7 +303,7 @@ class OpenAiCompatibleProvider {
|
|
|
185
303
|
128_000,
|
|
186
304
|
['gpt-4o', 'gpt-4.1', 'gpt-4-turbo', 'o1', 'o3', 'gpt-oss', 'mistral-large', 'mistral-small3', 'command-r'],
|
|
187
305
|
],
|
|
188
|
-
[131_072, ['qwen2.5', 'qwen3', 'llama-3.1', 'llama3.1', 'llama-3.3', 'llama3.3']],
|
|
306
|
+
[131_072, ['qwen2.5', 'qwen3', 'llama-3.1', 'llama3.1', 'llama-3.3', 'llama3.3', 'ministral', 'mistral-medium']],
|
|
189
307
|
[65_536, ['mixtral']],
|
|
190
308
|
[32_768, ['qwen2', 'mistral', 'gemma2', 'gemma-2']],
|
|
191
309
|
[16_385, ['gpt-3.5']],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai-compatible.provider.js","sourceRoot":"","sources":["../../../../../src/core/modules/ai/providers/openai-compatible.provider.ts"],"names":[],"mappings":";;;AAAA,2CAA0F;AAE1F,4EAAwE;AACxE,iDAA6C;AAwB7C,MAAa,wBAAwB;IAON;IANpB,YAAY,CAAkB;IAC9B,IAAI,GAAG,mBAAmB,CAAC;IAEnB,MAAM,GAAG,IAAI,eAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnD,gBAAgB,CAAS;IAE1C,YAA6B,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;QAC3D,IAAI,CAAC,YAAY,GAAG;YAClB,YAAY,EAAE,UAAU,CAAC,oBAAoB,IAAI,KAAK;YACtD,WAAW,EAAE,UAAU,CAAC,mBAAmB,IAAI,KAAK;YACpD,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,SAAS,IAAI,OAAO,CAAC;IAC1D,CAAC;IASD,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,KAAsB,EAAE,OAA8B;QACvF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,2BAA2B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7G,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAwB;YAChC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,IAAI;YAC1E,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAG7B,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aAC1C,CAAC,CAAC;YACH,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK;YAC9C,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,GAAG;SAC/E,CAAC;QAGF,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE;gBAChF,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC9D,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;oBACjD,cAAc,EAAE,kBAAkB;iBACnC;gBACD,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAI,GAAa,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,iBAAiB,SAAS,IAAI,CAAC,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC;YAClH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,IAAI,4BAAmB,CAAC,sBAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGpC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAC;QACnC,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEhH,OAAO;YACL,GAAG,EAAE,MAAM;YACX,IAAI;YACJ,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE;gBACL,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB;gBACjD,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa;gBACzC,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY;aACxC;SACF,CAAC;IACJ,CAAC;IASS,oBAAoB,CAAC,GAAW;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QAMD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7G,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,oCAAoC,CACjG,CAAC;YACF,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,2BAA2B,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IA2BS,0BAA0B;QAClC,MAAM,UAAU,GAAG,8BAAa,CAAC,GAAG,CAAU,wBAAwB,CAAC,CAAC;QACxE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,+BAA+B,OAAO,UAAU,8CAA8C;gBAC5F,oEAAoE,CACvE,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;IAUS,kBAAkB,CAAC,KAAa;QACxC,OAAO,KAAK;aACT,IAAI,EAAE;aACN,WAAW,EAAE;aACb,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IAaD,KAAK,CAAC,kBAAkB;QACtB,MAAM,MAAM,GAAsD,EAAE,CAAC;QACrE,IAAI,IAAI,CAAC,UAAU,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC3B,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAChF,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACzC,CAAC,CAAC;YACH,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,EAAE,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;YACtD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC3B,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC5D,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE;oBACL;wBACE,QAAQ,EAAE;4BACR,WAAW,EAAE,2BAA2B;4BACxC,IAAI,EAAE,MAAM;4BACZ,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC/C;wBACD,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,GAAG,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;QACvF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAMS,KAAK,CAAC,KAAK,CAAC,KAA0B;QAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;YAChE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAClG,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAOD,KAAK,CAAC,mBAAmB;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3E,OAAO,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAMS,kBAAkB,CAAC,KAAyB;QACpD,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAyB;YAClC,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrB;gBACE,OAAO;gBACP,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,CAAC;aAC5G;YACD,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YACjF,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACxC,CAAC;QACF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAMS,KAAK,CAAC,kBAAkB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAOD,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,WAAW,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC;SACjE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAyD,CAAC;QACpH,MAAM,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IAYS,iBAAiB,CAAC,CAA2C;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,CAAC,CAAC,OAAO,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAU,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC;YACjC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAES,kBAAkB,CAAC,SAA4B;QACvD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,UAAU,GAAwB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC;CACF;AAtXD,4DAsXC"}
|
|
1
|
+
{"version":3,"file":"openai-compatible.provider.js","sourceRoot":"","sources":["../../../../../src/core/modules/ai/providers/openai-compatible.provider.ts"],"names":[],"mappings":";;;AAAA,2CAA0F;AAE1F,4EAAwE;AACxE,iDAA6C;AAyB7C,MAAa,wBAAwB;IAuBN;IAtBpB,YAAY,CAAkB;IAC9B,IAAI,GAAG,mBAAmB,CAAC;IAgB1B,MAAM,CAAU,sBAAsB,GAAG,KAAK,CAAC;IAExC,MAAM,GAAG,IAAI,eAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACnD,gBAAgB,CAAS;IAE1C,YAA6B,UAAgC;QAAhC,eAAU,GAAV,UAAU,CAAsB;QAC3D,IAAI,CAAC,YAAY,GAAG;YAClB,YAAY,EAAE,UAAU,CAAC,oBAAoB,IAAI,KAAK;YACtD,WAAW,EAAE,UAAU,CAAC,mBAAmB,IAAI,KAAK;YACpD,YAAY,EAAE,IAAI;SACnB,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,SAAS,IAAI,OAAO,CAAC;IAC1D,CAAC;IASD,KAAK,CAAC,IAAI,CAAC,QAAsB,EAAE,KAAsB,EAAE,OAA8B;QACvF,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,2BAA2B,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7G,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAE/B,MAAM,IAAI,GAAwB;YAChC,UAAU,EAAE,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,IAAI;YAC1E,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAG7B,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBAClC,IAAI,EAAE,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI;aAC1C,CAAC,CAAC;YACH,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK;YAC9C,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,kBAAkB,IAAI,GAAG;SAC/E,CAAC;QAGF,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC7B,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE;gBAChF,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC,CAAC;QACN,CAAC;QAYD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,OAAO,EAAE,YAAY,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC9G,IAAI,CAAC,eAAe,GAAG,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;QACjD,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/D,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YACrC,OAAO,MAAM,CAAC;QAChB,CAAC;QAMD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,4BAA4B,IAAI,CAAC,KAAK,wCAAwC,MAAM,CAAC,YAAY,IAAI;YACnG,GAAG,MAAM,CAAC,KAAK,EAAE,eAAe,IAAI,CAAC,OAAO,MAAM,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC,4BAA4B;YAC3G,gCAAgC,IAAI,CAAC,UAAU,6CAA6C,CAC/F,CAAC;QAQF,MAAM,WAAW,GAAG,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACzD,IAAI,WAAW,GAAG,wBAAwB,CAAC,sBAAsB,EAAE,CAAC;YAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,uBAAuB,IAAI,CAAC,KAAK,sCAAsC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,CAAC,YAAY;gBACzG,GAAG,SAAS,2DAA2D,CAC1E,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,WAAW,CAAC,CAAC;YAOnG,OAAO,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YAOb,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,sDAAsD,IAAI,CAAC,KAAK,IAAI;gBAClE,IAAK,GAAa,EAAE,OAAO,IAAI,eAAe,8CAA8C;gBAC5F,qEAAqE,CACxE,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAYS,UAAU,CAAC,KAAgB,EAAE,MAAiB;QACtD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,GAAG,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/G,OAAO;YACL,gBAAgB,EAAE,GAAG,CAAC,KAAK,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACtE,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,YAAY,EAAE,MAAM,CAAC,YAAY,CAAC;YAC1D,eAAe,EAAE,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,CAAC;YACnE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC;SACxD,CAAC;IACJ,CAAC;IAMS,KAAK,CAAC,cAAc,CAAC,GAAW,EAAE,IAAyB,EAAE,SAAiB;QACtF,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAC1B,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;oBACjD,cAAc,EAAE,kBAAkB;iBACnC;gBACD,MAAM,EAAE,MAAM;gBACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAI,GAAa,EAAE,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,iBAAiB,SAAS,IAAI,CAAC,CAAC,CAAE,GAAa,CAAC,OAAO,CAAC;YAClH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,aAAa,OAAO,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,iBAAiB,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,QAAQ,CAAC,MAAM,QAAQ,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC/F,MAAM,IAAI,4BAAmB,CAAC,sBAAS,CAAC,iBAAiB,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAQpC,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW;YACnD,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC;YACtD,CAAC,CAAC,SAAS,CAAC;QAEd,OAAO;YACL,YAAY,EAAE,MAAM,EAAE,aAAa;YACnC,GAAG,EAAE,MAAM;YACX,IAAI;YACJ,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE;gBACL,gBAAgB,EAAE,MAAM,CAAC,KAAK,EAAE,iBAAiB;gBACjD,YAAY,EAAE,MAAM,CAAC,KAAK,EAAE,aAAa;gBACzC,eAAe,EAAE,MAAM,CAAC,KAAK,EAAE,yBAAyB,EAAE,gBAAgB;gBAC1E,WAAW,EAAE,MAAM,CAAC,KAAK,EAAE,YAAY;aACxC;SACF,CAAC;IACJ,CAAC;IA2BS,kBAAkB,CAAC,QAAqB;QAChD,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC7F,CAAC;IASS,oBAAoB,CAAC,GAAW;QACxC,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QACD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QAMD,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,MAAM,UAAU,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,WAAW,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,QAAQ,EAAE,CAAC;YACnD,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7G,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kBAAkB,IAAI,CAAC,UAAU,CAAC,IAAI,WAAW,MAAM,CAAC,IAAI,oCAAoC,CACjG,CAAC;YACF,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,2BAA2B,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IA0BS,MAAM,CAAU,4BAA4B,GAAG,GAAG,CAAC;IAkBnD,MAAM,CAAU,kCAAkC,GAAG,IAAI,CAAC;IA2B1D,0BAA0B;QAClC,MAAM,UAAU,GAAG,8BAAa,CAAC,GAAG,CAAU,wBAAwB,CAAC,CAAC;QACxE,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACpD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACpF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,+BAA+B,OAAO,UAAU,8CAA8C;gBAC5F,oEAAoE,CACvE,CAAC;YACF,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtF,CAAC;IAUS,kBAAkB,CAAC,KAAa;QACxC,OAAO,KAAK;aACT,IAAI,EAAE;aACN,WAAW,EAAE;aACb,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAC9B,CAAC;IA0BD,KAAK,CAAC,kBAAkB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,oBAAoB,KAAK,SAAS,CAAC;QACrE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,CAAC;QAKrE,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACpD,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;YACjE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;SAClE,CAAC,CAAC;QACH,MAAM,MAAM,GAAsD,EAAE,CAAC;QACrE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,YAAY,GAAG,YAAY,CAAC;QACrC,CAAC;QACD,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;QACnC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IA6CS,KAAK,CAAC,iBAAiB;QAC/B,MAAM,OAAO,GAAG;YACd,wBAAwB,CAAC,4BAA4B;YACrD,wBAAwB,CAAC,kCAAkC;SAC5D,CAAC;QAEF,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC3B,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,yCAAyC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAChF,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;YACzC,MAAM,SAAS,GAAG,MAAM,EAAE,aAAa,KAAK,QAAQ,CAAC;YACrD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClD,IAAI,CAAC;oBACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBACpB,OAAO,IAAI,CAAC;gBACd,CAAC;gBAAC,MAAM,CAAC;oBASP,IAAI,CAAC,SAAS,EAAE,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,IAAI,CAAC,UAAU,CAAC,KAAK,gCAAgC;4BACrF,0CAA0C,CAC7C,CAAC;wBACF,OAAO,KAAK,CAAC;oBACf,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEtB,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,kCAAkC,IAAI,CAAC,UAAU,CAAC,KAAK,4CAA4C;gBACjG,cAAc,SAAS,EAAE;gBACzB,CAAC,aAAa;oBACZ,CAAC,CAAC,+FAA+F;wBAC/F,kGAAkG;oBACpG,CAAC,CAAC,uCAAuC,CAAC,CAC/C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAMS,KAAK,CAAC,gBAAgB;QAC9B,MAAM,OAAO,GAAG;YACd,wBAAwB,CAAC,4BAA4B;YACrD,wBAAwB,CAAC,kCAAkC;SAC5D,CAAC;QAEF,KAAK,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC;gBAC3B,UAAU,EAAE,SAAS;gBACrB,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gBAC5D,WAAW,EAAE,UAAU;gBACvB,KAAK,EAAE;oBACL;wBACE,QAAQ,EAAE;4BACR,WAAW,EAAE,2BAA2B;4BACxC,IAAI,EAAE,MAAM;4BACZ,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;yBAC/C;wBACD,IAAI,EAAE,UAAU;qBACjB;iBACF;aACF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAEtC,IAAI,GAAG,CAAC,EAAE,IAAI,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;gBAClD,OAAO,IAAI,CAAC;YACd,CAAC;YAGD,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,MAAM,EAAE,aAAa,KAAK,QAAQ,EAAE,CAAC;gBAClD,OAAO,KAAK,CAAC;YACf,CAAC;YAED,MAAM,aAAa,GAAG,OAAO,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,gCAAgC,IAAI,CAAC,UAAU,CAAC,KAAK,4CAA4C;gBAC/F,cAAc,SAAS,EAAE;gBACzB,CAAC,aAAa;oBACZ,CAAC,CAAC,iGAAiG;wBACjG,sFAAsF;oBACxF,CAAC,CAAC,uCAAuC,CAAC,CAC/C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAMS,KAAK,CAAC,KAAK,CAAC,KAA0B;QAC9C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC;QAC7E,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,oCAA2B,CAAC,sBAAS,CAAC,yBAAyB,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAChC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC;YAChE,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAClG,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC;SACjE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAOD,KAAK,CAAC,mBAAmB;QACvB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC3E,OAAO,WAAW,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IAMS,kBAAkB,CAAC,KAAyB;QACpD,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACtC,MAAM,KAAK,GAAyB;YAClC,CAAC,SAAS,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAC;YACrB;gBACE,OAAO;gBACP,CAAC,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,WAAW,CAAC;aAC5G;YAYD,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC,CAAC;YAChH,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;YACnD,CAAC,MAAM,EAAE,CAAC,SAAS,CAAC,CAAC;YACrB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACxC,CAAC;QACF,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAMS,KAAK,CAAC,kBAAkB;QAChC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAOD,IAAI,CAAC,oBAAoB,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC;QAC9C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,WAAW,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACrD,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,IAAI,MAAM,CAAC;SACjE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC1B,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAClB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAyD,CAAC;QACpH,MAAM,IAAI,GAAG,IAAI,EAAE,UAAU,CAAC;QAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACzE,MAAM,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,CAAC;IAYS,iBAAiB,CAAC,CAA2C;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;YAC3D,OAAO,CAAC,CAAC,OAAO,CAAC;QACnB,CAAC;QACD,MAAM,KAAK,GAAU,EAAE,CAAC;QACxB,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;YAC9B,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,OAAO,CAAC;YACjC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,SAAS;YACX,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC1C,CAAC;IAES,kBAAkB,CAAC,SAA4B;QACvD,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC;aAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACT,IAAI,UAAU,GAAwB,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,UAAU,GAAG,EAAE,CAAC;YAClB,CAAC;YACD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC;;AA/tBH,4DAguBC"}
|
|
@@ -46,6 +46,7 @@ export interface AiRunContext {
|
|
|
46
46
|
role: string;
|
|
47
47
|
}[];
|
|
48
48
|
language?: string;
|
|
49
|
+
onAction?: (action: CoreAiAction) => void;
|
|
49
50
|
provider: import('../interfaces/llm-provider.interface').ILlmProvider;
|
|
50
51
|
tenantId?: string;
|
|
51
52
|
tools: IAiTool[];
|
|
@@ -69,9 +70,15 @@ export declare class CoreAiService {
|
|
|
69
70
|
protected readonly logger: Logger;
|
|
70
71
|
protected rateLimitStore?: RateLimitStore;
|
|
71
72
|
constructor(connectionService: CoreAiConnectionService, providerFactory: LlmProviderFactory, toolRegistry: AiToolRegistry, promptBuilder: CoreAiPromptBuilderService, interactionService?: CoreAiInteractionService, conversationService?: CoreAiConversationService, budgetService?: CoreAiBudgetService, connectionResolver?: CoreAiConnectionResolverService, hintService?: CoreAiPromptHintService, toolGrantService?: CoreAiToolGrantService, hookRegistry?: AiHookRegistry, toolPolicyService?: CoreAiToolPolicyService, modeService?: CoreAiModeService, placeholderRegistry?: CoreAiPlaceholderRegistry, coreRedisService?: CoreRedisService);
|
|
72
|
-
prompt(input: CoreAiPromptInput, serviceOptions: ServiceOptions
|
|
73
|
+
prompt(input: CoreAiPromptInput, serviceOptions: ServiceOptions, hooks?: {
|
|
74
|
+
onAction?: (action: CoreAiAction) => void;
|
|
75
|
+
}): Promise<CoreAiResponse>;
|
|
73
76
|
protected resolvePromptPlaceholders(input: CoreAiPromptInput, serviceOptions: ServiceOptions): Promise<CoreAiPromptInput>;
|
|
74
77
|
protected unavailableResponse(input: CoreAiPromptInput, language?: string): CoreAiResponse;
|
|
78
|
+
protected readonly detectionBackoff: Map<string, number>;
|
|
79
|
+
protected readonly detectionBackoffMs: number;
|
|
80
|
+
protected detectionSuppressed(connectionId: string): boolean;
|
|
81
|
+
protected rememberFailedDetection(connectionId: string): void;
|
|
75
82
|
protected prepareRun(input: CoreAiPromptInput, serviceOptions: ServiceOptions): Promise<AiRunContext | undefined>;
|
|
76
83
|
protected attachBudgetSummary(response: CoreAiResponse, run: AiRunContext): Promise<void>;
|
|
77
84
|
protected runAuto(input: CoreAiPromptInput, run: AiRunContext): Promise<CoreAiResponse>;
|
|
@@ -107,6 +114,10 @@ export declare class CoreAiService {
|
|
|
107
114
|
onModuleDestroy(): void;
|
|
108
115
|
protected executeToolCall(call: LlmToolCall, availableTools: IAiTool[], context: AiToolContext, input?: CoreAiPromptInput): Promise<CoreAiAction>;
|
|
109
116
|
protected extractToolCalls(text: string): LlmToolCall[] | undefined;
|
|
117
|
+
protected hitOutputCeiling(completion: LlmResponse): boolean;
|
|
118
|
+
protected isBareJsonValue(text: string, truncated?: boolean): boolean;
|
|
119
|
+
protected isFencedJsonValue(text: string): boolean;
|
|
120
|
+
protected isProtocolResidue(text: string, parsed: any | null, truncated?: boolean): boolean;
|
|
110
121
|
protected extractJsonObject(text: string): any | null;
|
|
111
122
|
protected firstBalancedJson(text: string, from: number): null | string;
|
|
112
123
|
protected estimateTokens(text: string): number;
|