@gaunt-sloth/core 2.0.0-beta.4 → 2.0.0-beta.6
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/dist/config/schema.d.ts +4 -0
- package/dist/config/schema.js +64 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tokenBudget.d.ts +88 -0
- package/dist/config/tokenBudget.js +155 -0
- package/dist/config/tokenBudget.js.map +1 -0
- package/dist/config/types.d.ts +33 -4
- package/dist/config/types.js.map +1 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.js +5 -0
- package/dist/config.js.map +1 -1
- package/dist/core/GthAbstractAgent.d.ts +24 -0
- package/dist/core/GthAbstractAgent.js +37 -1
- package/dist/core/GthAbstractAgent.js.map +1 -1
- package/dist/core/GthAgentRunner.d.ts +216 -1
- package/dist/core/GthAgentRunner.js +424 -3
- package/dist/core/GthAgentRunner.js.map +1 -1
- package/dist/core/GthLangChainAgent.d.ts +196 -0
- package/dist/core/GthLangChainAgent.js +392 -2
- package/dist/core/GthLangChainAgent.js.map +1 -1
- package/dist/core/approvals/approvalRequest.d.ts +142 -0
- package/dist/core/approvals/approvalRequest.js +198 -3
- package/dist/core/approvals/approvalRequest.js.map +1 -1
- package/dist/core/approvals/conversationGrants.d.ts +60 -0
- package/dist/core/approvals/conversationGrants.js +77 -0
- package/dist/core/approvals/conversationGrants.js.map +1 -0
- package/dist/core/approvals/grants.d.ts +16 -0
- package/dist/core/approvals/grants.js +20 -5
- package/dist/core/approvals/grants.js.map +1 -1
- package/dist/core/compaction.d.ts +181 -0
- package/dist/core/compaction.js +293 -0
- package/dist/core/compaction.js.map +1 -0
- package/dist/core/compactionThreshold.d.ts +158 -0
- package/dist/core/compactionThreshold.js +183 -0
- package/dist/core/compactionThreshold.js.map +1 -0
- package/dist/core/contextWindow.d.ts +146 -0
- package/dist/core/contextWindow.js +256 -0
- package/dist/core/contextWindow.js.map +1 -0
- package/dist/core/exitOutputChannel.d.ts +51 -0
- package/dist/core/exitOutputChannel.js +65 -0
- package/dist/core/exitOutputChannel.js.map +1 -0
- package/dist/core/refusal.d.ts +17 -2
- package/dist/core/refusal.js +80 -14
- package/dist/core/refusal.js.map +1 -1
- package/dist/core/runStats.d.ts +1 -1
- package/dist/core/terminationNotice.d.ts +8 -0
- package/dist/core/terminationNotice.js +10 -4
- package/dist/core/terminationNotice.js.map +1 -1
- package/dist/core/terminationReason.d.ts +28 -0
- package/dist/core/terminationReason.js +27 -0
- package/dist/core/terminationReason.js.map +1 -1
- package/dist/core/types.d.ts +35 -1
- package/dist/core/types.js.map +1 -1
- package/dist/history/checkpointRetention.d.ts +279 -0
- package/dist/history/checkpointRetention.js +567 -0
- package/dist/history/checkpointRetention.js.map +1 -0
- package/dist/history/checkpointSaver.d.ts +93 -0
- package/dist/history/checkpointSaver.js +464 -0
- package/dist/history/checkpointSaver.js.map +1 -0
- package/dist/history/historyEnabled.d.ts +27 -0
- package/dist/history/historyEnabled.js +23 -0
- package/dist/history/historyEnabled.js.map +1 -0
- package/dist/history/historyFormat.d.ts +27 -0
- package/dist/history/historyFormat.js +125 -2
- package/dist/history/historyFormat.js.map +1 -1
- package/dist/history/historyStore.d.ts +61 -0
- package/dist/history/historyStore.js +180 -7
- package/dist/history/historyStore.js.map +1 -1
- package/dist/history/recordSession.d.ts +84 -22
- package/dist/history/recordSession.js +187 -12
- package/dist/history/recordSession.js.map +1 -1
- package/dist/history/sessionCheckpointer.d.ts +48 -0
- package/dist/history/sessionCheckpointer.js +200 -0
- package/dist/history/sessionCheckpointer.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/providers/modelCatalog.d.ts +14 -0
- package/dist/providers/modelCatalog.js +4 -0
- package/dist/providers/modelCatalog.js.map +1 -1
- package/dist/providers/modelDiscovery.d.ts +3 -1
- package/dist/providers/modelDiscovery.js +22 -8
- package/dist/providers/modelDiscovery.js.map +1 -1
- package/dist/providers/ollama.js +3 -19
- package/dist/providers/ollama.js.map +1 -1
- package/dist/runtime/conversation.js +7 -1
- package/dist/runtime/conversation.js.map +1 -1
- package/dist/runtime/singleShot.js +6 -1
- package/dist/runtime/singleShot.js.map +1 -1
- package/dist/utils/consoleUtils.d.ts +77 -0
- package/dist/utils/consoleUtils.js +81 -0
- package/dist/utils/consoleUtils.js.map +1 -1
- package/package.json +2 -2
- package/schema/gsloth-config.schema.json +33 -14
package/dist/config/schema.d.ts
CHANGED
|
@@ -2882,6 +2882,10 @@ export declare const rawGthConfigSchema: z.ZodObject<{
|
|
|
2882
2882
|
halt: z.ZodOptional<z.ZodBoolean>;
|
|
2883
2883
|
threshold: z.ZodOptional<z.ZodNumber>;
|
|
2884
2884
|
}, z.core.$strip>]>>;
|
|
2885
|
+
autocompact: z.ZodOptional<z.ZodUnion<readonly [z.ZodBoolean, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>, z.ZodObject<{
|
|
2886
|
+
enabled: z.ZodOptional<z.ZodBoolean>;
|
|
2887
|
+
threshold: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
2888
|
+
}, z.core.$strip>]>>;
|
|
2885
2889
|
reporters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2886
2890
|
subagents: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
2887
2891
|
name: z.ZodString;
|
package/dist/config/schema.js
CHANGED
|
@@ -38,6 +38,9 @@ import { z } from 'zod';
|
|
|
38
38
|
// `constants.ts` is a plain, import-free string module, so this does NOT compromise the purity
|
|
39
39
|
// this file depends on (it feeds `z.toJSONSchema` and must stay cwd/fs-independent).
|
|
40
40
|
import { GSLOTH_DIR, GSLOTH_SETTINGS_DIR } from '#src/constants.js';
|
|
41
|
+
// `tokenBudget.ts` is likewise import-free and pure, for the same reason: this file feeds
|
|
42
|
+
// `z.toJSONSchema` and must stay cwd/fs-independent.
|
|
43
|
+
import { parseTokenBudget, TOKEN_BUDGET_FORMS, TokenBudgetError } from '#src/config/tokenBudget.js';
|
|
41
44
|
const filesystemSchema = z.union([z.array(z.string()), z.enum(['all', 'read', 'none'])]);
|
|
42
45
|
/**
|
|
43
46
|
* TLS trust for outbound HTTPS (MCP servers over `http` transport, and — because the mechanism is
|
|
@@ -583,6 +586,51 @@ const toolLoopGuardSchema = z.union([
|
|
|
583
586
|
threshold: z.number().optional(),
|
|
584
587
|
}),
|
|
585
588
|
]);
|
|
589
|
+
/**
|
|
590
|
+
* EXT-161 — a token budget as a user writes it: a count (`300000`), a suffixed count (`"300K"`,
|
|
591
|
+
* `"0.9M"`) or a share of the model's context window (`"80%"`).
|
|
592
|
+
*
|
|
593
|
+
* **Validation runs the real parser rather than a second regex.** A schema pattern that merely
|
|
594
|
+
* looked like the grammar would be a second implementation of it, free to drift from the one that
|
|
595
|
+
* actually computes the number — and the drift would surface as a value that validates and then
|
|
596
|
+
* resolves to something else. Running {@link parseTokenBudget} here means a value passes validation
|
|
597
|
+
* if and only if the parser can read it, and the rejection carries the parser's own message, which
|
|
598
|
+
* names the offending text.
|
|
599
|
+
*/
|
|
600
|
+
const tokenBudgetSchema = z.union([z.number(), z.string()]).superRefine((value, ctx) => {
|
|
601
|
+
try {
|
|
602
|
+
parseTokenBudget(value);
|
|
603
|
+
}
|
|
604
|
+
catch (error) {
|
|
605
|
+
ctx.addIssue({
|
|
606
|
+
code: 'custom',
|
|
607
|
+
message: error instanceof TokenBudgetError
|
|
608
|
+
? error.message
|
|
609
|
+
: `Invalid token budget: ${TOKEN_BUDGET_FORMS}`,
|
|
610
|
+
});
|
|
611
|
+
}
|
|
612
|
+
});
|
|
613
|
+
/**
|
|
614
|
+
* EXT-161 — preventive conversation compaction. **On by default**, so an absent key means enabled
|
|
615
|
+
* with a threshold derived from the model's resolved context window.
|
|
616
|
+
*
|
|
617
|
+
* `false` is the whole off switch. A bare count or suffixed string sets the threshold. The object
|
|
618
|
+
* form spells both out: `{ enabled: false }` and `false` mean the same thing, and
|
|
619
|
+
* `{ threshold: "80%" }` is a share of the window rather than a count.
|
|
620
|
+
*
|
|
621
|
+
* The shorthand union mirrors `toolLoopGuard` deliberately — one config idiom for "off / on with
|
|
622
|
+
* defaults / on with a number", so a reader who has met one has met both. Defaulting happens at the
|
|
623
|
+
* read site (`resolveAutocompactConfig`), not in DEFAULT_CONFIG, so the effective-config snapshot
|
|
624
|
+
* does not churn.
|
|
625
|
+
*/
|
|
626
|
+
const autocompactSchema = z.union([
|
|
627
|
+
z.boolean(),
|
|
628
|
+
tokenBudgetSchema,
|
|
629
|
+
z.object({
|
|
630
|
+
enabled: z.boolean().optional(),
|
|
631
|
+
threshold: tokenBudgetSchema.optional(),
|
|
632
|
+
}),
|
|
633
|
+
]);
|
|
586
634
|
/**
|
|
587
635
|
* CFG-18 — the per-tool config object carried as a value in the widened `builtInTools` registry.
|
|
588
636
|
* One permissive shape covering every tool: `command` for the fixed dev-command tools
|
|
@@ -792,8 +840,15 @@ export const rawGthConfigSchema = z.looseObject({
|
|
|
792
840
|
backend: z.enum(['lean']).optional(),
|
|
793
841
|
})
|
|
794
842
|
.optional(),
|
|
795
|
-
// GS2-7 (B20) — local
|
|
796
|
-
//
|
|
843
|
+
// GS2-7 (B20) / GS2-20 — local session history: the per-turn records `gth history` reads and the
|
|
844
|
+
// durable LangGraph checkpoints a resume needs, both under the user's own `~/.gsloth` dir and
|
|
845
|
+
// neither leaving the machine. DEFAULT ON: absent means enabled, and `enabled: false` is the
|
|
846
|
+
// opt-out that restores the stateless identity.
|
|
847
|
+
//
|
|
848
|
+
// The default deliberately lives in the READER (`isHistoryEnabled`) and not in a `.default(true)`
|
|
849
|
+
// here. A schema default would be emitted into the published JSON Schema — a hosted artifact
|
|
850
|
+
// stamped per release — to state something the schema does not decide, and it would make an
|
|
851
|
+
// absent key indistinguishable from an explicit `true` at every other site that reads config.
|
|
797
852
|
history: z
|
|
798
853
|
.object({
|
|
799
854
|
enabled: z.boolean().optional(),
|
|
@@ -941,6 +996,13 @@ export const rawGthConfigSchema = z.looseObject({
|
|
|
941
996
|
// HALT (default OFF, opt-in) ends the run cleanly at the threshold. Defaulted at the read site
|
|
942
997
|
// (warn on), not in DEFAULT_CONFIG, so the effective-config snapshot never churns.
|
|
943
998
|
toolLoopGuard: toolLoopGuardSchema.optional(),
|
|
999
|
+
// EXT-161 — preventive conversation compaction: fold the older conversation into a summary
|
|
1000
|
+
// BEFORE the request that would not fit, rather than after the provider has rejected it. ON BY
|
|
1001
|
+
// DEFAULT (absent = enabled), with the threshold derived from the model's real context window —
|
|
1002
|
+
// models.dev first, the provider package's model profile as a backstop, and NO compaction at all
|
|
1003
|
+
// when neither knows the window. `false` turns it off; a count/`"300K"`/`"80%"` sets the
|
|
1004
|
+
// threshold; `/autocompact` moves it for one session. See {@link autocompactSchema}.
|
|
1005
|
+
autocompact: autocompactSchema.optional(),
|
|
944
1006
|
// BATCH-19 — custom `gth eval` reporters. Maps a reporter NAME (as selected with
|
|
945
1007
|
// `--reporter <name>`) to a MODULE PATH (relative to the project dir) whose default export is an
|
|
946
1008
|
// `EvalReporterFactory` (`() => EvalReporter`). Registered through the same seam the bundled
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,+FAA+F;AAC/F,qFAAqF;AACrF,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IACzB,qFAAqF;IACrF,uFAAuF;IACvF,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,kGAAkG;IAClG,kGAAkG;IAClG,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,WAAW,CAAC;IACpC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3D,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,KAAK,EAAE,CAAC;SACL,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;SACzF,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC,QAAQ,EAAE;IACzE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC/B,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,yBAAyB,CAAC,CAAC;AAChF,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAEtF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC3D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACvD,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC;AAE3F;;;;;GAKG;AACH,MAAM,oBAAoB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAExF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAU,CAAC;AAKzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAU,CAAC;AAK3D;;;;;;;;;;;;GAYG;AACH,SAAS,qBAAqB,CAAC,KAAyB;IACtD,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACrC,OAAO,CACL,qCAAqC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACvE,QAAQ,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,gBAAgB,KAAK,CAAC,KAAK,GAAG,CACrE,CAAC;IACJ,CAAC;IACD,OAAO,CACL,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,4CAA4C;QAC1E,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAU,CAAC;AAE1E;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC;AAEpF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,cAAc;IACd,iBAAiB;IACjB,gBAAgB;IAChB,eAAe;CACP,CAAC;AAEX;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,CAAC;KACxB,YAAY,CAAC;IACZ,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACvC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACtC,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC;KACD,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,CAAC;KAC1B,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;IACpD,OAAO,EACL,2CAA2C;QAC3C,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;QAC/B,gEAAgE;CACnE,CAAC,CAAC;AAEL;;;;;;;;;GASG;AACH,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,GAAG,CAAC,0BAA0B,CAAC;KAC/B,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE;IAC5B,IAAI,OAAO,CAAC,MAAM,GAAG,0BAA0B,EAAE,CAAC;QAChD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EACL,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,OAAO,CAAC,MAAM,wBAAwB;gBACtF,GAAG,0BAA0B,8CAA8C;SAC9E,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,IAAI,CAAC;QACH,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EACL,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB;gBAC9D,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;SAClD,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,gGAAgG;AAChG,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEnD;;;;GAIG;AACH,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEzD;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACvD,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,GAAG,SAAS;KACb,CAAC;CACH,CAAC,CAAC;AAEH,+FAA+F;AAC/F,MAAM,eAAe,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACtD,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,OAAO,EAAE,mBAAmB;QAC5B,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,OAAO,EAAE,iBAAiB;QAC1B,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;CACH,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAErC;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,uBAAuB,GAAG,OAAO,wBAAwB,CAAC,OAAO,CACrE,WAAW,EACX,MAAM,CACP,kBAAkB,CAAC;AAEpB,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;AAEzF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;IACzD,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC5B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,mBAAmB;QAC5B,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;QAC1B,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,iBAAiB;QAC1B,GAAG,SAAS;QACZ,GAAG,SAAS;KACb,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC;KACjC,kBAAkB,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAAC;KACnF,IAAI,CAAC,EAAE,EAAE,EAAE,eAAe,EAAE,CAAC,CAAC;AAEjC,6EAA6E;AAC7E,MAAM,kBAAkB,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAU,CAAC;AAElE;;;;;;;;;;GAUG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CACpC,CAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE;IAC3B,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CACf,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,6DAA6D;QAC3F,4DAA4D;QAC5D,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;CACxC,CAAC,CACH,CAAC;AAEF;;;;;GAKG;AACH,MAAM,wBAAwB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,gBAAgB,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CACpD,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,YAAY,CAAC;IACxC,QAAQ,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,QAAQ,EAAE;CAC1E,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAOzC;IACC,MAAM,MAAM,GAAwB,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACpE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAClG,OAAO,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACtC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAe;IAC1D,OAAO,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AACjF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC;IAC9B,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC;IAC5B,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,EAAE;QAC7C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,2FAA2F;QAC3F,6FAA6F;QAC7F,4FAA4F;QAC5F,0FAA0F;QAC1F,8FAA8F;QAC9F,4FAA4F;QAC5F,SAAS;QACT,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACvC,6FAA6F;QAC7F,yDAAyD;QACzD,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QAC9C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,QAAQ,EAAE;QACjD,2FAA2F;QAC3F,oEAAoE;QACpE,yFAAyF;QACzF,2FAA2F;QAC3F,4FAA4F;QAC5F,2DAA2D;QAC3D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAClD,8FAA8F;QAC9F,GAAG,EAAE,kBAAkB,CAAC,QAAQ,EAAE;KACnC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,OAAO,EAAE;IACX,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,8FAA8F;IAC9F,+FAA+F;IAC/F,gDAAgD;IAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,iGAAiG;IACjG,gGAAgG;IAChG,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;CACjD,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC;IACjC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,uBAAuB,CAAC,CAAC,CAAC;CACtE,CAAC,CAAC;AAEH;;;;;;;;GAQG;AACH,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,MAAM,EAAE;IACV,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;KAC/C,CAAC;CACH,CAAC,CAAC;AAEH;;;;;;;GAOG;AACH,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7B,SAAS,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACzC,UAAU,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACtC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACpC,IAAI,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACpC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CACvC,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,yBAAyB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChD,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IAChD,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;CAC9C,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,+FAA+F;IAC/F,yFAAyF;IACzF,eAAe;IACf,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,CAAC;SACJ,MAAM,CAAC;QACN,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,eAAe,CAAC,QAAQ,EAAE;IAC9B,MAAM,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IACtC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IAChC,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAClC,GAAG,EAAE,gBAAgB,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH;;;;;;GAMG;AACH,MAAM,YAAY,GAAsB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;AAE1E;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,WAAW,CAAC;IAC9C,2EAA2E;IAC3E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE;IAC/B,kGAAkG;IAClG,6FAA6F;IAC7F,gGAAgG;IAChG,4FAA4F;IAC5F,mDAAmD;IACnD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gGAAgG;IAChG,uFAAuF;IACvF,2FAA2F;IAC3F,gGAAgG;IAChG,kFAAkF;IAClF,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;KACrC,CAAC;SACD,QAAQ,EAAE;IACb,6FAA6F;IAC7F,yFAAyF;IACzF,OAAO,EAAE,CAAC;SACP,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;SACD,QAAQ,EAAE;IACb,gGAAgG;IAChG,kEAAkE;IAClE,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,QAAQ,EAAE;IACb,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjE,uBAAuB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrE,oGAAoG;IACpG,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE;IACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,iCAAiC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACzD,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAChC,CAAC;SACD,QAAQ,EAAE;IACb,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxC,UAAU,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACvC,YAAY,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IAC3C,8FAA8F;IAC9F,iEAAiE;IACjE,2FAA2F;IAC3F,sFAAsF;IACtF,2CAA2C;IAC3C,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,kEAAkE;IAClE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,yEAAyE;IACzE,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC3C,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAChE,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChD,8FAA8F;IAC9F,iGAAiG;IACjG,gGAAgG;IAChG,mGAAmG;IACnG,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,iGAAiG;IACjG,wFAAwF;IACxF,8DAA8D;IAC9D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,iGAAiG;IACjG,8FAA8F;IAC9F,+FAA+F;IAC/F,kGAAkG;IAClG,gGAAgG;IAChG,iGAAiG;IACjG,gFAAgF;IAChF,iDAAiD;IACjD,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC3B,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjD,4BAA4B,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpD,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D,WAAW,EAAE,uBAAuB,CAAC,QAAQ,EAAE;IAC/C,iGAAiG;IACjG,yEAAyE;IACzE,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjE,GAAG,EAAE,SAAS,CAAC,QAAQ,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IACvD,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChE,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACzC,CAAC;SACD,QAAQ,EAAE;IACb,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,gGAAgG;IAChG,iGAAiG;IACjG,4FAA4F;IAC5F,gGAAgG;IAChG,gGAAgG;IAChG,8CAA8C;IAC9C,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,QAAQ,EAAE;KAC3C,CAAC;SACD,QAAQ,EAAE;IACb,+FAA+F;IAC/F,gGAAgG;IAChG,gGAAgG;IAChG,6FAA6F;IAC7F,kGAAkG;IAClG,sFAAsF;IACtF,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC;YACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC7B,CAAC;aACD,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;IACb,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,8FAA8F;IAC9F,8FAA8F;IAC9F,8FAA8F;IAC9F,iGAAiG;IACjG,0FAA0F;IAC1F,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,kGAAkG;IAClG,kGAAkG;IAClG,yFAAyF;IACzF,8DAA8D;IAC9D,SAAS,EAAE,CAAC;SACT,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;KAC/B,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACpC,gGAAgG;IAChG,yFAAyF;IACzF,6FAA6F;IAC7F,iGAAiG;IACjG,gGAAgG;IAChG,qFAAqF;IACrF,0FAA0F;IAC1F,2EAA2E;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC,QAAQ,EAAE;KACjF,CAAC;SACD,QAAQ,EAAE;IACb,iGAAiG;IACjG,yFAAyF;IACzF,iGAAiG;IACjG,+FAA+F;IAC/F,mFAAmF;IACnF,aAAa,EAAE,mBAAmB,CAAC,QAAQ,EAAE;IAC7C,iFAAiF;IACjF,iGAAiG;IACjG,6FAA6F;IAC7F,oEAAoE;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACtD,kGAAkG;IAClG,oFAAoF;IACpF,sEAAsE;IACtE,EAAE;IACF,2FAA2F;IAC3F,6FAA6F;IAC7F,gGAAgG;IAChG,uFAAuF;IACvF,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AASH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,GAAG,CAC9D,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CACtC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAA4B;IAClE,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,MAAwD;IAChF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7F,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAiB;IAC3D,OAAO,gBAAgB,CACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC3B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QACvD,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC,CAAC,CACJ,CAAC;AACJ,CAAC;AAED,mFAAmF;AACnF,MAAM,qBAAqB,GAA6C;IACtE,CAAC,iBAAiB,EAAE,eAAe,CAAC;IACpC,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;IAC7C,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;IAChD,CAAC,4BAA4B,EAAE,yBAAyB,CAAC;IACzD,4EAA4E;IAC5E,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAC3C,CAAC,2BAA2B,EAAE,gBAAgB,CAAC;CAChD,CAAC;AAEF,iGAAiG;AACjG,MAAM,wBAAwB,GAA6C;IACzE,CAAC,iBAAiB,EAAE,eAAe,CAAC;IACpC,CAAC,sBAAsB,EAAE,mBAAmB,CAAC;CAC9C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,oBAAoB,GAA6C;IACrE,CAAC,UAAU,EAAE,cAAc,CAAC;CAC7B,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,wBAAwB,GAA6C;IACzE,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACjC;QACE,OAAO;QACP,mFAAmF;YACjF,0DAA0D;YAC1D,2FAA2F;YAC3F,wBAAwB;KAC3B;IACD,CAAC,WAAW,EAAE,qDAAqD,CAAC;IACpE;QACE,kBAAkB;QAClB,0FAA0F;YACxF,0BAA0B;KAC7B;CACF,CAAC;AAEF,4EAA4E;AAC5E,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAEpD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,sBAAsB,GAA6C;IACvE;QACE,YAAY;QACZ,4EAA4E;YAC1E,uFAAuF;YACvF,wBAAwB;KAC3B;IACD,CAAC,WAAW,EAAE,qDAAqD,CAAC;IACpE;QACE,kBAAkB;QAClB,0FAA0F;YACxF,0BAA0B;KAC7B;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,kCAAkC,GACtC,+FAA+F;IAC/F,+FAA+F;IAC/F,mEAAmE,CAAC;AAEtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,sBAAsB,GAA6C;IACvE;QACE,KAAK;QACL,sFAAsF;YACpF,8BAA8B;KACjC;CACF,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,sBAAsB,GAA6C;IACvE;QACE,MAAM;QACN,kFAAkF;YAChF,qFAAqF;YACrF,yEAAyE;KAC5E;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,cAAc,GAClB,yGAAyG,CAAC;AAU5G;;;;;;GAMG;AACH,SAAS,6BAA6B,CACpC,YAAqB,EACrB,UAAkB,EAClB,MAA+B;IAE/B,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC;QAAE,OAAO;IAC7F,MAAM,UAAU,GAAI,YAAwC,CAAC,uBAAuB,CAAC,CAAC;IACtF,IAAI,CAAC,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QAAE,OAAO;IACvF,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,wBAAwB,EAAE,CAAC;QAC9D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,UAAU,IAAI,uBAAuB,IAAI,OAAO,EAAE;gBAC3D,OAAO,EACL,oBAAoB,OAAO,QAAQ,UAAU,IAAI,uBAAuB,gBAAgB;oBACxF,yBAAyB,WAAW,aAAa,cAAc,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,6BAA6B,CACpC,SAAkB,EAClB,UAAkB,EAClB,MAA+B;IAE/B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI;QAAE,OAAO;IAE1D,0FAA0F;IAC1F,wEAAwE;IACxE,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,sBAAsB,EAAE,CAAC;YAC5D,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,UAAU;oBAChB,OAAO,EACL,kBAAkB,OAAO,yDAAyD;wBAClF,yBAAyB,kBAAkB,KAAK;wBAChD,OAAO,WAAW,aAAa,cAAc,EAAE;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO;IACtE,MAAM,KAAK,GAAG,SAAoC,CAAC;IAEnD,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,sBAAsB,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,UAAU,IAAI,OAAO,EAAE;gBAChC,OAAO,EACL,oBAAoB,OAAO,QAAQ,UAAU,4CAA4C;oBACzF,qCAAqC,kBAAkB,KAAK;oBAC5D,iDAAiD,WAAW,KAAK,cAAc,EAAE;aACpF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,+FAA+F;IAC/F,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,UAAU,WAAW;YAC9B,OAAO,EACL,iCAAiC,UAAU,IAAI,kCAAkC,GAAG;gBACpF,cAAc;SACjB,CAAC,CAAC;IACL,CAAC;IAED,oEAAoE;IACpE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrD,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,GAAG,UAAU,QAAQ;YAC3B,OAAO,EACL,8BAA8B,UAAU,+CAA+C;gBACvF,uFAAuF;gBACvF,6EAA6E;gBAC7E,cAAc;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,sBAAsB,EAAE,CAAC;QAC5D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,UAAU,OAAO;gBAC1B,OAAO,EACL,kBAAkB,OAAO,gEAAgE;oBACzF,kBAAkB,kBAAkB,UAAU,WAAW,GAAG;oBAC5D,YAAY,cAAc,EAAE;aAC/B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,gCAAgC,CACvC,KAAc,EACd,UAAkB,EAClB,MAA+B;IAE/B,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO;IACxE,MAAM,OAAO,GAAI,KAAiC,CAAC,OAAO,CAAC;IAC3D,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,sBAAsB,EAAE,CAAC;QAC5D,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,GAAG,UAAU,UAAU;gBAC7B,OAAO,EACL,kBAAkB,OAAO,wDAAwD;oBACjF,gBAAgB,WAAW,KAAK,cAAc,EAAE;aACnD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAA4B;IACrE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,6FAA6F;IAC7F,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,OAAO;gBACb,OAAO,EACL,6BAA6B,OAAO,mCAAmC;oBACvE,2BAA2B,OAAO,MAAM,cAAc,EAAE;aAC3D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,qBAAqB,EAAE,CAAC;QAC5D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;YAC1D,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,UAAU;gBAChB,OAAO,EACL,oBAAoB,UAAU,8BAA8B,SAAS,aAAa;oBAClF,cAAc;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,0FAA0F;IAC1F,6BAA6B,CAAC,GAAG,CAAC,YAAY,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAExE,gFAAgF;IAChF,6BAA6B,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IAElE,wFAAwF;IACxF,gCAAgC,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAE7D,6FAA6F;IAC7F,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;YAC9E,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,KAAK,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,wBAAwB,EAAE,CAAC;oBAC/D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;wBAC1D,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,YAAY,IAAI,IAAI,UAAU,EAAE;4BACtC,OAAO,EACL,oBAAoB,UAAU,iBAAiB,IAAI,uBAAuB;gCAC1E,QAAQ,SAAS,cAAc,cAAc,EAAE;yBAClD,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,4FAA4F;gBAC5F,KAAK,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,IAAI,oBAAoB,EAAE,CAAC;oBAC1D,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC;wBACvD,MAAM,CAAC,IAAI,CAAC;4BACV,IAAI,EAAE,YAAY,IAAI,IAAI,OAAO,EAAE;4BACnC,OAAO,EACL,oBAAoB,OAAO,iBAAiB,IAAI,kCAAkC;gCAClF,0BAA0B,WAAW,cAAc,cAAc,EAAE;yBACtE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,mFAAmF;gBACnF,6BAA6B,CAC1B,GAA+B,CAAC,YAAY,EAC7C,YAAY,IAAI,eAAe,EAC/B,MAAM,CACP,CAAC;gBACF,sFAAsF;gBACtF,6BAA6B,CAC1B,GAA+B,CAAC,SAAS,EAC1C,YAAY,IAAI,YAAY,EAC5B,MAAM,CACP,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,0BAA0B,CACjC,SAAkB,EAClB,UAAkB,EAClB,MAA+B;IAE/B,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO;IACpF,MAAM,KAAK,GAAG,SAAoC,CAAC;IAEnD,KAAK,MAAM,OAAO,IAAI,kBAAkB,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QAEjC,2FAA2F;QAC3F,6FAA6F;QAC7F,+FAA+F;QAC/F,0DAA0D;QAC1D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,UAAU,EAAE,CAAC;gBAC3B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,GAAG,UAAU,IAAI,OAAO,EAAE;oBAChC,OAAO,EACL,uCAAuC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,IAAI,EAAE,IAAI;wBACtG,gCAAgC,4BAA4B,CAAC,UAAU,CAAC,MAAM;wBAC9E,cAAc;iBACjB,CAAC,CAAC;YACL,CAAC;YACD,SAAS;QACX,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,SAAS,GAAG,GAAG,UAAU,IAAI,OAAO,IAAI,KAAK,GAAG,CAAC;YAEvD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,OAAO,EACL,iFAAiF;wBACjF,eAAe,4BAA4B,CAAC,KAAK,CAAC,mCAAmC;wBACrF,gEAAgE,cAAc,EAAE;iBACnF,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACpD,IAAI,MAAM,CAAC,OAAO;gBAAE,OAAO;YAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,CAAC,IAAI,CAAC;oBACV,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;oBAChF,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,yBAAyB,CAChC,SAAkB,EAClB,UAAkB,EAClB,MAA+B;IAE/B,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;QAAE,OAAO;IACpF,MAAM,GAAG,GAAI,SAAqC,CAAC,GAAG,CAAC;IACvD,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,MAAM,CAAC,OAAO;QAAE,OAAO;IAC3B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EACF,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM;YAC3F,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAA4B;IACrE,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/E,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,wBAAwB,CAAC,EAAE,CAAC;YAC/E,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,cAAc,wBAAwB,EAAE;gBAC9C,OAAO,EACL,IAAI,wBAAwB,2DAA2D;oBACvF,oEAAoE;oBACpE,mCAAmC,wBAAwB,sBAAsB;oBACjF,sCAAsC;oBACtC,cAAc;aACjB,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,0BAA0B,CAAC,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,eAAe;gBACrB,OAAO,EACL,kFAAkF;oBAClF,wEAAwE;oBACxE,sFAAsF;oBACtF,uFAAuF;oBACvF,wDAAwD;oBACxD,cAAc;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,SAAkB,EAAE,MAAc,EAAQ,EAAE;QAC3D,0BAA0B,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACtD,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;YAC9E,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAE,GAA+B,CAAC,SAAS,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CAAC,GAA4B;IACrE,MAAM,IAAI,GAAsB,EAAE,CAAC;IAEnC,MAAM,OAAO,GAAG,CAAC,SAAkB,EAAE,MAAc,EAAQ,EAAE;QAC3D,sEAAsE;QACtE,IAAI,CAAC,SAAS,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC;YAAE,OAAO;QACpF,MAAM,KAAK,GAAI,SAAqC,CAAC,KAAK,CAAC;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,MAAM,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAC9B,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzE,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAmC,CAAC,EAAE,CAAC;YAC9E,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAE,GAA+B,CAAC,SAAS,EAAE,YAAY,IAAI,YAAY,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,GAAoB,EAAE,WAAoB;IACtF,gGAAgG;IAChG,gGAAgG;IAChG,kGAAkG;IAClG,MAAM,GAAG,GAAG,WAAW,IAAI,GAAG,UAAU,IAAI,mBAAmB,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC;IAClF,OAAO,CACL,qBAAqB,GAAG,CAAC,OAAO,cAAc;QAC9C,YAAY,GAAG,KAAK;QACpB,8EAA8E;QAC9E,sBAAsB,CACvB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAA4C;IACvF,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO,CAAC,CAAC,YAAY,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAA4B,CAAC;AACxF,CAAC;AAgCD;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,OAAoC;IAEpC,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,4FAA4F;IAC5F,8FAA8F;IAC9F,gGAAgG;IAChG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,2FAA2F;QAC3F,kFAAkF;QAClF,MAAM,gBAAgB,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,4BAA4B,CAAC,gBAAgB,CAAC;aAC7D,CAAC;QACJ,CAAC;QAED,wFAAwF;QACxF,gEAAgE;QAChE,MAAM,aAAa,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,QAAQ,EAAE,EAAE;gBACZ,YAAY,EAAE,4BAA4B,CAAC,aAAa,CAAC;aAC1D,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CACX,4BAA4B,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI;gBACvE,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,4DAA4D,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,kBAAkB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,2BAA2B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IAC1F,CAAC;IAED,6FAA6F;IAC7F,qFAAqF;IACrF,8FAA8F;IAC9F,8FAA8F;IAC9F,2FAA2F;IAC3F,mDAAmD;IACnD,IAAI,OAAO,EAAE,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,cAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAC/C,CAAC;QACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,QAAQ;gBACR,YAAY,EAAE,gBAAgB,CAC5B,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,6BAA6B,CAAC,GAAG,EAAE,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;iBACvF,CAAC,CAAC,CACJ;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* EXT-161 — **the one parser for a configured token budget.**
|
|
4
|
+
*
|
|
5
|
+
* A token budget is written by a human in one of three forms, and this module is the only place
|
|
6
|
+
* that knows how to read any of them:
|
|
7
|
+
*
|
|
8
|
+
* - a plain count — `300000`, or the string `"300000"`;
|
|
9
|
+
* - a suffixed count — `"300K"`, `"0.9M"`, `"1.5k"`;
|
|
10
|
+
* - a fraction of the model's context window — `"80%"`.
|
|
11
|
+
*
|
|
12
|
+
* **`K` is 1000 and `M` is 1,000,000 — decimal, never binary.** The number is compared against
|
|
13
|
+
* provider token counts, and every provider counts tokens in decimal, so a `K` that meant 1024
|
|
14
|
+
* would put a quiet 2.4% error between what the user wrote and what the guard enforced.
|
|
15
|
+
*
|
|
16
|
+
* **Why one parser and not two.** The same grammar is accepted by the `autocompact` config key and
|
|
17
|
+
* by the in-session `/autocompact` command. Written twice they would agree on the day they were
|
|
18
|
+
* written and drift afterwards, so both call sites import {@link parseTokenBudget} and there is no
|
|
19
|
+
* second implementation to drift from — `packages/core/spec/tokenBudget.spec.ts` pins the grammar
|
|
20
|
+
* and `packages/agent/spec/autocompactSlashCommand.spec.ts` pins that the command reaches this
|
|
21
|
+
* function rather than a copy of it.
|
|
22
|
+
*
|
|
23
|
+
* **A malformed value is an error that names the text, and never a number.** The failure this
|
|
24
|
+
* guards against is a bad value silently becoming `NaN`, `0` or LangChain's 4097 default: each of
|
|
25
|
+
* those is a threshold the user cannot see and did not choose, and a wrong-but-silent threshold is
|
|
26
|
+
* worse than no compaction at all.
|
|
27
|
+
*/
|
|
28
|
+
/** `K` — decimal thousand. Not 1024: provider token counts are decimal everywhere. */
|
|
29
|
+
export declare const TOKEN_BUDGET_THOUSAND = 1000;
|
|
30
|
+
/** `M` — decimal million, for the same reason as {@link TOKEN_BUDGET_THOUSAND}. */
|
|
31
|
+
export declare const TOKEN_BUDGET_MILLION = 1000000;
|
|
32
|
+
/**
|
|
33
|
+
* A parsed token budget: either an absolute count, or a fraction of a context window that is not
|
|
34
|
+
* known until a model is resolved.
|
|
35
|
+
*
|
|
36
|
+
* The two stay distinct through parsing and are collapsed to one number by
|
|
37
|
+
* {@link resolveTokenBudget}, because only the caller knows the window — and because a fraction
|
|
38
|
+
* whose window is unknown must resolve to "no threshold" rather than to a guess.
|
|
39
|
+
*/
|
|
40
|
+
export type TokenBudget = {
|
|
41
|
+
kind: 'tokens';
|
|
42
|
+
tokens: number;
|
|
43
|
+
} | {
|
|
44
|
+
kind: 'fraction';
|
|
45
|
+
fraction: number;
|
|
46
|
+
};
|
|
47
|
+
/**
|
|
48
|
+
* The error a malformed budget raises, carrying the offending text so the message can name it.
|
|
49
|
+
*
|
|
50
|
+
* A distinct class rather than a bare `Error` so config validation can recognise it and turn it
|
|
51
|
+
* into a field-scoped validation issue without string-matching a message.
|
|
52
|
+
*/
|
|
53
|
+
export declare class TokenBudgetError extends Error {
|
|
54
|
+
/** The text exactly as the user wrote it, for a message that quotes them back. */
|
|
55
|
+
readonly offendingValue: string;
|
|
56
|
+
constructor(offendingValue: string, detail: string);
|
|
57
|
+
}
|
|
58
|
+
/** The human-readable list of accepted forms, appended to every rejection so the fix is on screen. */
|
|
59
|
+
export declare const TOKEN_BUDGET_FORMS: string;
|
|
60
|
+
/**
|
|
61
|
+
* Parse a configured token budget into a {@link TokenBudget}.
|
|
62
|
+
*
|
|
63
|
+
* Accepts a `number` (an absolute count) or a `string` in any of the documented forms. Throws a
|
|
64
|
+
* {@link TokenBudgetError} naming the offending text for everything else — including the values
|
|
65
|
+
* that would otherwise slip through as numbers: `NaN`, `Infinity`, zero, a negative, and a bare
|
|
66
|
+
* fraction like `0.8`.
|
|
67
|
+
*
|
|
68
|
+
* **A bare `0.8` is rejected on purpose, and this is the one rejection worth explaining.** It is
|
|
69
|
+
* the obvious way to write "80% of the window", and it is also a perfectly well-formed token count
|
|
70
|
+
* of under one token. Guessing which was meant would make the threshold depend on a rule the user
|
|
71
|
+
* never read, so the error points at `80%` instead — the form that cannot be misread. That is why
|
|
72
|
+
* an absolute count must be a whole number of at least 1.
|
|
73
|
+
*/
|
|
74
|
+
export declare function parseTokenBudget(raw: unknown): TokenBudget;
|
|
75
|
+
/**
|
|
76
|
+
* Collapse a parsed budget to the absolute token count it means for one model.
|
|
77
|
+
*
|
|
78
|
+
* Returns `null` when the budget is a fraction and the window is unknown — the same "unknown means
|
|
79
|
+
* no trigger" contract `contextWindow.ts` holds, and for the same reason: a percentage of a window
|
|
80
|
+
* nobody could resolve is not a number, and inventing one is the failure this whole feature exists
|
|
81
|
+
* to avoid. An absolute count needs no window and is returned as written.
|
|
82
|
+
*/
|
|
83
|
+
export declare function resolveTokenBudget(budget: TokenBudget, window: number | null): number | null;
|
|
84
|
+
/**
|
|
85
|
+
* Render a budget the way it will be read back — an absolute count as a plain number, a fraction as
|
|
86
|
+
* a percentage. Used by `/status` and `/autocompact` so what is echoed matches what was accepted.
|
|
87
|
+
*/
|
|
88
|
+
export declare function formatTokenBudget(budget: TokenBudget): string;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* EXT-161 — **the one parser for a configured token budget.**
|
|
4
|
+
*
|
|
5
|
+
* A token budget is written by a human in one of three forms, and this module is the only place
|
|
6
|
+
* that knows how to read any of them:
|
|
7
|
+
*
|
|
8
|
+
* - a plain count — `300000`, or the string `"300000"`;
|
|
9
|
+
* - a suffixed count — `"300K"`, `"0.9M"`, `"1.5k"`;
|
|
10
|
+
* - a fraction of the model's context window — `"80%"`.
|
|
11
|
+
*
|
|
12
|
+
* **`K` is 1000 and `M` is 1,000,000 — decimal, never binary.** The number is compared against
|
|
13
|
+
* provider token counts, and every provider counts tokens in decimal, so a `K` that meant 1024
|
|
14
|
+
* would put a quiet 2.4% error between what the user wrote and what the guard enforced.
|
|
15
|
+
*
|
|
16
|
+
* **Why one parser and not two.** The same grammar is accepted by the `autocompact` config key and
|
|
17
|
+
* by the in-session `/autocompact` command. Written twice they would agree on the day they were
|
|
18
|
+
* written and drift afterwards, so both call sites import {@link parseTokenBudget} and there is no
|
|
19
|
+
* second implementation to drift from — `packages/core/spec/tokenBudget.spec.ts` pins the grammar
|
|
20
|
+
* and `packages/agent/spec/autocompactSlashCommand.spec.ts` pins that the command reaches this
|
|
21
|
+
* function rather than a copy of it.
|
|
22
|
+
*
|
|
23
|
+
* **A malformed value is an error that names the text, and never a number.** The failure this
|
|
24
|
+
* guards against is a bad value silently becoming `NaN`, `0` or LangChain's 4097 default: each of
|
|
25
|
+
* those is a threshold the user cannot see and did not choose, and a wrong-but-silent threshold is
|
|
26
|
+
* worse than no compaction at all.
|
|
27
|
+
*/
|
|
28
|
+
/** `K` — decimal thousand. Not 1024: provider token counts are decimal everywhere. */
|
|
29
|
+
export const TOKEN_BUDGET_THOUSAND = 1_000;
|
|
30
|
+
/** `M` — decimal million, for the same reason as {@link TOKEN_BUDGET_THOUSAND}. */
|
|
31
|
+
export const TOKEN_BUDGET_MILLION = 1_000_000;
|
|
32
|
+
/**
|
|
33
|
+
* The error a malformed budget raises, carrying the offending text so the message can name it.
|
|
34
|
+
*
|
|
35
|
+
* A distinct class rather than a bare `Error` so config validation can recognise it and turn it
|
|
36
|
+
* into a field-scoped validation issue without string-matching a message.
|
|
37
|
+
*/
|
|
38
|
+
export class TokenBudgetError extends Error {
|
|
39
|
+
/** The text exactly as the user wrote it, for a message that quotes them back. */
|
|
40
|
+
offendingValue;
|
|
41
|
+
constructor(offendingValue, detail) {
|
|
42
|
+
super(`Invalid token budget ${JSON.stringify(offendingValue)}: ${detail}`);
|
|
43
|
+
this.name = 'TokenBudgetError';
|
|
44
|
+
this.offendingValue = offendingValue;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The accepted grammar, as one expression: a decimal number with an optional `K`/`M` multiplier or
|
|
49
|
+
* a `%` sign. Whitespace around the whole value and between the number and its suffix is
|
|
50
|
+
* insignificant; the suffix is case-insensitive.
|
|
51
|
+
*
|
|
52
|
+
* A leading-dot number (`.9M`) is accepted because it is the same number as `0.9M` and rejecting it
|
|
53
|
+
* would be a distinction the user cannot see the reason for. Exponent notation (`1e5`) is NOT
|
|
54
|
+
* accepted: it is not a form anyone writes a context window in, and admitting it would mean
|
|
55
|
+
* admitting `Infinity` and `1e-5` at the same time.
|
|
56
|
+
*/
|
|
57
|
+
const TOKEN_BUDGET_PATTERN = /^(\d+(?:\.\d+)?|\.\d+)\s*([km%])?$/i;
|
|
58
|
+
/** The human-readable list of accepted forms, appended to every rejection so the fix is on screen. */
|
|
59
|
+
export const TOKEN_BUDGET_FORMS = 'expected a token count (300000), a suffixed count (300K, 0.9M) or a ' +
|
|
60
|
+
'percentage of the model context window (80%)';
|
|
61
|
+
/**
|
|
62
|
+
* Parse a configured token budget into a {@link TokenBudget}.
|
|
63
|
+
*
|
|
64
|
+
* Accepts a `number` (an absolute count) or a `string` in any of the documented forms. Throws a
|
|
65
|
+
* {@link TokenBudgetError} naming the offending text for everything else — including the values
|
|
66
|
+
* that would otherwise slip through as numbers: `NaN`, `Infinity`, zero, a negative, and a bare
|
|
67
|
+
* fraction like `0.8`.
|
|
68
|
+
*
|
|
69
|
+
* **A bare `0.8` is rejected on purpose, and this is the one rejection worth explaining.** It is
|
|
70
|
+
* the obvious way to write "80% of the window", and it is also a perfectly well-formed token count
|
|
71
|
+
* of under one token. Guessing which was meant would make the threshold depend on a rule the user
|
|
72
|
+
* never read, so the error points at `80%` instead — the form that cannot be misread. That is why
|
|
73
|
+
* an absolute count must be a whole number of at least 1.
|
|
74
|
+
*/
|
|
75
|
+
export function parseTokenBudget(raw) {
|
|
76
|
+
if (typeof raw === 'number') {
|
|
77
|
+
if (!Number.isFinite(raw)) {
|
|
78
|
+
throw new TokenBudgetError(String(raw), `not a finite number — ${TOKEN_BUDGET_FORMS}`);
|
|
79
|
+
}
|
|
80
|
+
if (!Number.isInteger(raw)) {
|
|
81
|
+
throw new TokenBudgetError(String(raw), `a plain token count must be a whole number; to set a share of the context window write ` +
|
|
82
|
+
`it as a percentage, e.g. "${Math.round(raw * 100)}%"`);
|
|
83
|
+
}
|
|
84
|
+
if (raw < 1) {
|
|
85
|
+
throw new TokenBudgetError(String(raw), `a token count must be at least 1`);
|
|
86
|
+
}
|
|
87
|
+
return { kind: 'tokens', tokens: raw };
|
|
88
|
+
}
|
|
89
|
+
if (typeof raw !== 'string') {
|
|
90
|
+
throw new TokenBudgetError(raw === null ? 'null' : typeof raw, `expected a number or a string — ${TOKEN_BUDGET_FORMS}`);
|
|
91
|
+
}
|
|
92
|
+
const text = raw.trim();
|
|
93
|
+
if (text.length === 0) {
|
|
94
|
+
throw new TokenBudgetError(raw, `the value is empty — ${TOKEN_BUDGET_FORMS}`);
|
|
95
|
+
}
|
|
96
|
+
const match = TOKEN_BUDGET_PATTERN.exec(text);
|
|
97
|
+
if (!match) {
|
|
98
|
+
throw new TokenBudgetError(raw, TOKEN_BUDGET_FORMS);
|
|
99
|
+
}
|
|
100
|
+
const magnitude = Number(match[1]);
|
|
101
|
+
const suffix = match[2]?.toLowerCase();
|
|
102
|
+
// The pattern already guarantees a parseable decimal, so this is a belt-and-braces guard rather
|
|
103
|
+
// than a reachable branch — but it is the branch that would otherwise produce the silent `NaN`
|
|
104
|
+
// this module exists to prevent, so it stays.
|
|
105
|
+
if (!Number.isFinite(magnitude)) {
|
|
106
|
+
throw new TokenBudgetError(raw, TOKEN_BUDGET_FORMS);
|
|
107
|
+
}
|
|
108
|
+
if (suffix === '%') {
|
|
109
|
+
if (magnitude <= 0 || magnitude > 100) {
|
|
110
|
+
throw new TokenBudgetError(raw, 'a percentage of the context window must be greater than 0 and at most 100');
|
|
111
|
+
}
|
|
112
|
+
return { kind: 'fraction', fraction: magnitude / 100 };
|
|
113
|
+
}
|
|
114
|
+
// An UNSUFFIXED value is a literal token count, so a fractional one is the ambiguous `0.8` case
|
|
115
|
+
// the docblock explains — rejected before any arithmetic, pointing at the percentage form. A
|
|
116
|
+
// fractional value WITH a multiplier (`0.9M`, `1.5k`) is unambiguous and goes through.
|
|
117
|
+
if (suffix === undefined && !Number.isInteger(magnitude)) {
|
|
118
|
+
throw new TokenBudgetError(raw, `a plain token count must be a whole number; to set a share of the context window write ` +
|
|
119
|
+
`it as a percentage, e.g. "${Math.round(magnitude * 100)}%"`);
|
|
120
|
+
}
|
|
121
|
+
const multiplier = suffix === 'k' ? TOKEN_BUDGET_THOUSAND : suffix === 'm' ? TOKEN_BUDGET_MILLION : 1;
|
|
122
|
+
// Rounded, not floored: `1.5k` is 1500 exactly, and a floor would silently shave a token off
|
|
123
|
+
// every fractional multiplier for no reason a user could observe or predict.
|
|
124
|
+
const tokens = Math.round(magnitude * multiplier);
|
|
125
|
+
if (tokens < 1) {
|
|
126
|
+
throw new TokenBudgetError(raw, 'a token count must be at least 1');
|
|
127
|
+
}
|
|
128
|
+
return { kind: 'tokens', tokens };
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Collapse a parsed budget to the absolute token count it means for one model.
|
|
132
|
+
*
|
|
133
|
+
* Returns `null` when the budget is a fraction and the window is unknown — the same "unknown means
|
|
134
|
+
* no trigger" contract `contextWindow.ts` holds, and for the same reason: a percentage of a window
|
|
135
|
+
* nobody could resolve is not a number, and inventing one is the failure this whole feature exists
|
|
136
|
+
* to avoid. An absolute count needs no window and is returned as written.
|
|
137
|
+
*/
|
|
138
|
+
export function resolveTokenBudget(budget, window) {
|
|
139
|
+
if (budget.kind === 'tokens')
|
|
140
|
+
return budget.tokens;
|
|
141
|
+
if (window === null || !Number.isFinite(window) || window <= 0)
|
|
142
|
+
return null;
|
|
143
|
+
return Math.max(1, Math.floor(window * budget.fraction));
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Render a budget the way it will be read back — an absolute count as a plain number, a fraction as
|
|
147
|
+
* a percentage. Used by `/status` and `/autocompact` so what is echoed matches what was accepted.
|
|
148
|
+
*/
|
|
149
|
+
export function formatTokenBudget(budget) {
|
|
150
|
+
if (budget.kind === 'tokens')
|
|
151
|
+
return String(budget.tokens);
|
|
152
|
+
// `Number()` drops a trailing `.0`, so 80% renders `80%` rather than `80.0%`.
|
|
153
|
+
return `${Number((budget.fraction * 100).toFixed(4))}%`;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=tokenBudget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenBudget.js","sourceRoot":"","sources":["../../src/config/tokenBudget.ts"],"names":[],"mappings":"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"}
|
package/dist/config/types.d.ts
CHANGED
|
@@ -118,10 +118,11 @@ export interface GthConfig {
|
|
|
118
118
|
backend?: 'lean';
|
|
119
119
|
};
|
|
120
120
|
/**
|
|
121
|
-
* GS2-7 (B20) — local
|
|
122
|
-
*
|
|
123
|
-
*
|
|
124
|
-
*
|
|
121
|
+
* GS2-7 (B20) / GS2-20 — local session history store. DEFAULT ON (absent = enabled): each run is
|
|
122
|
+
* recorded to a local SQLite DB (`~/.gsloth/history.db` by default, overridable via `dbPath`) for
|
|
123
|
+
* `gth history search` / `gth insights`, and interactive sessions checkpoint their graph state
|
|
124
|
+
* into the same file so a conversation can be resumed. `enabled: false` turns both off and
|
|
125
|
+
* restores the stateless identity. Local only — no telemetry leaves the machine.
|
|
125
126
|
*/
|
|
126
127
|
history?: {
|
|
127
128
|
enabled?: boolean;
|
|
@@ -535,6 +536,34 @@ export interface GthConfig {
|
|
|
535
536
|
halt?: boolean;
|
|
536
537
|
threshold?: number;
|
|
537
538
|
};
|
|
539
|
+
/**
|
|
540
|
+
* EXT-161 — **preventive conversation compaction: ON BY DEFAULT.**
|
|
541
|
+
*
|
|
542
|
+
* When the conversation is about to outgrow the model's context window, the older part is folded
|
|
543
|
+
* into a summary *before* the request is sent, rather than after the provider has rejected it.
|
|
544
|
+
* The threshold is derived from the model's real window — the models.dev catalog first, the
|
|
545
|
+
* provider package's own model profile as a backstop — and when neither knows the window,
|
|
546
|
+
* **nothing fires**: a guessed threshold is worse than none, because the user cannot see it.
|
|
547
|
+
*
|
|
548
|
+
* - `false` (or `{ enabled: false }`) turns it off; the conversation is never folded
|
|
549
|
+
* preventively and `state.messages` is left exactly as it is.
|
|
550
|
+
* - `true` / omitted → on, with the threshold derived from the window.
|
|
551
|
+
* - a count (`300000`), a suffixed count (`'300K'`, `'0.9M'`) or a share of the window
|
|
552
|
+
* (`'80%'`) sets the threshold explicitly. `K` is 1000 and `M` is 1,000,000 — decimal, because
|
|
553
|
+
* provider token counts are decimal everywhere.
|
|
554
|
+
* - object → `{ enabled?, threshold? }` spells both out.
|
|
555
|
+
*
|
|
556
|
+
* A malformed threshold is a hard validation error naming the offending text; it never silently
|
|
557
|
+
* becomes `NaN`, `0` or a default. `/autocompact` moves the number for one session, and
|
|
558
|
+
* `/status` reports the number in force and where it came from.
|
|
559
|
+
*
|
|
560
|
+
* The on-by-default is applied at the read site (`resolveAutocompactConfig`), not in
|
|
561
|
+
* `DEFAULT_CONFIG`, to avoid churning the effective-config snapshot.
|
|
562
|
+
*/
|
|
563
|
+
autocompact?: boolean | number | string | {
|
|
564
|
+
enabled?: boolean;
|
|
565
|
+
threshold?: number | string;
|
|
566
|
+
};
|
|
538
567
|
/**
|
|
539
568
|
* CFG-37 — persistent surface preference for the `chat`/`code` interactive sessions, settable in
|
|
540
569
|
* both the global and the project config (the project layer wins). `true` asks for the Ink TUI,
|
package/dist/config/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAgxBA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,UAAU;IACV,WAAW;IACX,MAAM;IACN,UAAU;IACV,QAAQ;IACR,cAAc;IACd,KAAK;IACL,YAAY;IACZ,aAAa;IACb,QAAQ;CACA,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
* public import path `@gaunt-sloth/core/config.js` (and `#src/config.js`) is unchanged.
|
|
31
31
|
*/
|
|
32
32
|
export * from '#src/config/types.js';
|
|
33
|
+
export * from '#src/config/tokenBudget.js';
|
|
33
34
|
export * from '#src/config/shell-policy.js';
|
|
34
35
|
export * from '#src/config/tool-descriptions.js';
|
|
35
36
|
export * from '#src/config/filesystem-tools.js';
|
package/dist/config.js
CHANGED
|
@@ -30,6 +30,11 @@
|
|
|
30
30
|
* public import path `@gaunt-sloth/core/config.js` (and `#src/config.js`) is unchanged.
|
|
31
31
|
*/
|
|
32
32
|
export * from '#src/config/types.js';
|
|
33
|
+
// EXT-161 — the ONE token-budget parser, shared by the `autocompact` config key and the in-session
|
|
34
|
+
// `/autocompact` command. It is exported from the barrel precisely so the command can reach it:
|
|
35
|
+
// `packages/agent` imports `@gaunt-sloth/core/config.js`, and a parser it could not reach is a
|
|
36
|
+
// parser it would reimplement.
|
|
37
|
+
export * from '#src/config/tokenBudget.js';
|
|
33
38
|
export * from '#src/config/shell-policy.js';
|
|
34
39
|
export * from '#src/config/tool-descriptions.js';
|
|
35
40
|
export * from '#src/config/filesystem-tools.js';
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,cAAc,sBAAsB,CAAC;AACrC,mGAAmG;AACnG,gGAAgG;AAChG,+FAA+F;AAC/F,+BAA+B;AAC/B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,iCAAiC,CAAC;AAChD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC"}
|