moderado 0.3.4 → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/dist/budget.d.ts +6 -0
  2. package/dist/budget.d.ts.map +1 -0
  3. package/dist/budget.js +25 -0
  4. package/dist/budget.js.map +1 -0
  5. package/dist/commands/chat.d.ts +5 -1
  6. package/dist/commands/chat.d.ts.map +1 -1
  7. package/dist/commands/chat.js +170 -41
  8. package/dist/commands/chat.js.map +1 -1
  9. package/dist/commands/models.d.ts.map +1 -1
  10. package/dist/commands/models.js +61 -14
  11. package/dist/commands/models.js.map +1 -1
  12. package/dist/config.d.ts +73 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +116 -0
  15. package/dist/config.js.map +1 -1
  16. package/dist/model_pricing.d.ts +14 -1
  17. package/dist/model_pricing.d.ts.map +1 -1
  18. package/dist/model_pricing.js +52 -0
  19. package/dist/model_pricing.js.map +1 -1
  20. package/dist/repo_map.d.ts +3 -0
  21. package/dist/repo_map.d.ts.map +1 -0
  22. package/dist/repo_map.js +29 -0
  23. package/dist/repo_map.js.map +1 -0
  24. package/dist/sessions.d.ts +22 -15
  25. package/dist/sessions.d.ts.map +1 -1
  26. package/dist/sessions.js +16 -1
  27. package/dist/sessions.js.map +1 -1
  28. package/dist/skills.d.ts +2 -2
  29. package/dist/ui/model_selector.d.ts +2 -2
  30. package/dist/ui/model_selector.d.ts.map +1 -1
  31. package/dist/ui/model_selector.js +25 -16
  32. package/dist/ui/model_selector.js.map +1 -1
  33. package/dist/ui/provider_connect.d.ts +6 -3
  34. package/dist/ui/provider_connect.d.ts.map +1 -1
  35. package/dist/ui/provider_connect.js +41 -14
  36. package/dist/ui/provider_connect.js.map +1 -1
  37. package/dist/ui/renderer.d.ts +4 -0
  38. package/dist/ui/renderer.d.ts.map +1 -1
  39. package/dist/ui/renderer.js +36 -0
  40. package/dist/ui/renderer.js.map +1 -1
  41. package/dist/ui/welcome.d.ts +11 -0
  42. package/dist/ui/welcome.d.ts.map +1 -1
  43. package/dist/ui/welcome.js +38 -20
  44. package/dist/ui/welcome.js.map +1 -1
  45. package/dist/vendor/contracts/events.d.ts +159 -0
  46. package/dist/vendor/contracts/events.d.ts.map +1 -1
  47. package/dist/vendor/contracts/events.js +12 -0
  48. package/dist/vendor/contracts/events.js.map +1 -1
  49. package/dist/vendor/contracts/provider.d.ts +1 -0
  50. package/dist/vendor/contracts/provider.d.ts.map +1 -1
  51. package/dist/vendor/contracts/provider.js +6 -0
  52. package/dist/vendor/contracts/provider.js.map +1 -1
  53. package/dist/vendor/core/agent.d.ts +2 -1
  54. package/dist/vendor/core/agent.d.ts.map +1 -1
  55. package/dist/vendor/core/agent.js +123 -9
  56. package/dist/vendor/core/agent.js.map +1 -1
  57. package/dist/vendor/providers/model_discovery.d.ts +2 -2
  58. package/dist/vendor/providers/model_discovery.d.ts.map +1 -1
  59. package/dist/vendor/providers/model_discovery.js +4 -2
  60. package/dist/vendor/providers/model_discovery.js.map +1 -1
  61. package/dist/vendor/providers/nvidia/nvidia_adapter.d.ts.map +1 -1
  62. package/dist/vendor/providers/nvidia/nvidia_adapter.js +1 -0
  63. package/dist/vendor/providers/nvidia/nvidia_adapter.js.map +1 -1
  64. package/dist/vendor/providers/nvidia/sse_parser.d.ts +2 -1
  65. package/dist/vendor/providers/nvidia/sse_parser.d.ts.map +1 -1
  66. package/dist/vendor/providers/nvidia/sse_parser.js +30 -16
  67. package/dist/vendor/providers/nvidia/sse_parser.js.map +1 -1
  68. package/package.json +1 -1
package/dist/config.js CHANGED
@@ -1,8 +1,105 @@
1
1
  import fs from 'node:fs';
2
+ import { z } from 'zod';
2
3
  import path from 'node:path';
3
4
  import os from 'node:os';
4
5
  import { McpServerConfigSchema } from './vendor/contracts/index.js';
5
6
  import { credentialReference, resolveCredential } from './credentials.js';
7
+ export const CONNECT_PROVIDER_PRESET_IDS = [
8
+ 'nvidia-nim', 'openrouter', 'agnes-ai', 'orcarouter', 'ollama', 'lm-studio', 'openai-compatible',
9
+ ];
10
+ /**
11
+ * The free-tier declaration for a connection id, or `undefined` when the id has
12
+ * no preset. An undeclared provider contributes no free evidence at all.
13
+ */
14
+ export function freeModelPolicyFor(connectionId) {
15
+ const preset = connectionId ? findProviderPreset(connectionId) : undefined;
16
+ if (!preset)
17
+ return undefined;
18
+ return {
19
+ freeModelAliases: preset.freeModelAliases,
20
+ freeIdSuffixes: preset.freeIdSuffixes,
21
+ freeCatalog: preset.freeCatalog,
22
+ };
23
+ }
24
+ export const CONNECT_PROVIDER_PRESET_META = [
25
+ {
26
+ id: 'nvidia-nim',
27
+ label: 'NVIDIA NIM',
28
+ description: 'Free-first routing across Nemotron, LLaMA, DeepSeek and Kimi.',
29
+ kind: 'nvidia-nim',
30
+ baseUrl: 'https://integrate.api.nvidia.com/v1',
31
+ // Every hosted NIM endpoint runs on build.nvidia.com trial credits and the
32
+ // catalog advertises no `pricing`, so without this the free list is empty
33
+ // for the default provider.
34
+ freeCatalog: true,
35
+ requiresApiKey: true,
36
+ },
37
+ {
38
+ id: 'openrouter',
39
+ label: 'OpenRouter',
40
+ description: 'One key for Qwen, DeepSeek, Mistral and free-tier models.',
41
+ kind: 'openai-compatible',
42
+ baseUrl: 'https://openrouter.ai/api/v1',
43
+ requiresApiKey: true,
44
+ },
45
+ {
46
+ id: 'agnes-ai',
47
+ label: 'Agnes AI',
48
+ description: 'Agnes Flash and Code endpoints.',
49
+ kind: 'openai-compatible',
50
+ baseUrl: 'https://apihub.agnes-ai.com/v1',
51
+ // Every Agnes AI endpoint is free, and the catalog advertises no `pricing`
52
+ // to prove it per model. Declared once as a property of the provider so the
53
+ // whole catalog lands in the free bucket in every surface, instead of a
54
+ // hardcoded model list in one of them.
55
+ freeCatalog: true,
56
+ requiresApiKey: true,
57
+ },
58
+ {
59
+ id: 'orcarouter',
60
+ label: 'OrcaRouter',
61
+ description: 'Adaptive model routing.',
62
+ kind: 'openai-compatible',
63
+ baseUrl: 'https://api.orcarouter.ai/v1',
64
+ defaultModel: 'orcarouter/free',
65
+ // The catalog advertises no pricing, so a free endpoint is identified by its
66
+ // name: every routing endpoint OrcaRouter serves for nothing ends in `free`.
67
+ // Declared as a trailing marker rather than a free-for-all substring, so the
68
+ // rest of the catalog stays metered.
69
+ freeIdSuffixes: ['free'],
70
+ requiresApiKey: true,
71
+ },
72
+ {
73
+ id: 'ollama',
74
+ label: 'Ollama',
75
+ description: 'Models served locally by Ollama.',
76
+ kind: 'openai-compatible',
77
+ baseUrl: 'http://127.0.0.1:11434/v1',
78
+ requiresApiKey: false,
79
+ },
80
+ {
81
+ id: 'lm-studio',
82
+ label: 'LM Studio',
83
+ description: 'Models served by the LM Studio local server.',
84
+ kind: 'openai-compatible',
85
+ baseUrl: 'http://127.0.0.1:1234/v1',
86
+ requiresApiKey: false,
87
+ },
88
+ ];
89
+ /** True for loopback endpoints, which authenticate without an API key. */
90
+ export function isLoopbackBaseUrl(baseUrl) {
91
+ try {
92
+ const url = new URL(baseUrl);
93
+ return (url.protocol === 'http:' &&
94
+ ['127.0.0.1', 'localhost', '[::1]', '::1'].includes(url.hostname));
95
+ }
96
+ catch {
97
+ return false;
98
+ }
99
+ }
100
+ export function findProviderPreset(id) {
101
+ return CONNECT_PROVIDER_PRESET_META.find((preset) => preset.id === id);
102
+ }
6
103
  const CONFIG_DIR_NAME = '.moderado';
7
104
  const CONFIG_FILE_NAME = 'config.json';
8
105
  export function getConfigPath(customHome) {
@@ -28,6 +125,7 @@ export function loadConfig(customHome) {
28
125
  ? parsed.activeConnectionId
29
126
  : undefined,
30
127
  connections: Object.keys(connections).length > 0 ? connections : undefined,
128
+ connectProviders: parseConnectProviders(parsed.connectProviders),
31
129
  mcpServers: parseMcpServers(parsed.mcpServers),
32
130
  typescriptLanguageServer: typeof parsed.typescriptLanguageServer === 'string' ? parsed.typescriptLanguageServer : undefined,
33
131
  webSearchEndpoint: typeof parsed.webSearchEndpoint === 'string' ? parsed.webSearchEndpoint : undefined,
@@ -41,6 +139,24 @@ export function loadConfig(customHome) {
41
139
  return {};
42
140
  }
43
141
  }
142
+ function parseConnectProviders(value) {
143
+ const custom = z.object({
144
+ id: z.string().regex(/^[a-z0-9][a-z0-9_-]{0,31}$/).refine(id => !CONNECT_PROVIDER_PRESET_IDS.includes(id)),
145
+ name: z.string().trim().min(1).max(80),
146
+ baseUrl: z.string().trim().url().refine(value => {
147
+ const url = new URL(value);
148
+ return !url.username && !url.password && (url.protocol === 'https:' || isLoopbackBaseUrl(value));
149
+ }).transform(value => value.replace(/\/+$/, '')),
150
+ defaultModel: z.string().trim().min(1).optional(),
151
+ });
152
+ const schema = z.object({ enabled: z.array(z.enum(CONNECT_PROVIDER_PRESET_IDS)).optional(), custom: z.array(custom).optional() });
153
+ const parsed = schema.safeParse(value);
154
+ if (!parsed.success)
155
+ return undefined;
156
+ if (parsed.data.custom)
157
+ parsed.data.custom = parsed.data.custom.filter((item, index, items) => items.findIndex(other => other.id === item.id) === index);
158
+ return parsed.data;
159
+ }
44
160
  function parseMcpServers(value) {
45
161
  if (!value || typeof value !== 'object')
46
162
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,17 @@
1
- import type { ModelInventoryEntry } from '@moderado/contracts';
1
+ import type { ModelClassification, ModelInventoryEntry } from '@moderado/contracts';
2
+ import type { ProviderFreePolicy } from './config.js';
2
3
  /** Use only exact, provider-advertised prompt and completion prices. */
3
4
  export declare function findModelPricing(models: ModelInventoryEntry[], modelId: string): Record<string, string> | undefined;
5
+ /**
6
+ * Whether a provider preset *declares* this model id cost-free by name — either
7
+ * as an exact alias or by a trailing free marker.
8
+ *
9
+ * This is the evidence a catalog cannot supply: OrcaRouter publishes no
10
+ * `pricing` field whatsoever, yet its free routing endpoints are named for it.
11
+ * It is scoped to the declaring provider (resolved by connection id through
12
+ * `freeModelPolicyFor`), so no other provider inherits the rule.
13
+ */
14
+ export declare function isDeclaredFreeModelId(modelId: string, policy?: ProviderFreePolicy): boolean;
15
+ /** Explicit zero prices or curated/preset declarations qualify; paid prices win. */
16
+ export declare function isFreeModelOption(entry: Pick<ModelInventoryEntry, 'id' | 'pricing'>, classification: ModelClassification, policy?: ProviderFreePolicy): boolean;
4
17
  //# sourceMappingURL=model_pricing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"model_pricing.d.ts","sourceRoot":"","sources":["../src/model_pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/D,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAOpC"}
1
+ {"version":3,"file":"model_pricing.d.ts","sourceRoot":"","sources":["../src/model_pricing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAGtD,wEAAwE;AACxE,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,OAAO,EAAE,MAAM,GACd,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAOpC;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAG3F;AAED,oFAAoF;AACpF,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,SAAS,CAAC,EAClD,cAAc,EAAE,mBAAmB,EACnC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAUT"}
@@ -1,3 +1,4 @@
1
+ import { isFreeModelEntry } from './vendor/providers/index.js';
1
2
  /** Use only exact, provider-advertised prompt and completion prices. */
2
3
  export function findModelPricing(models, modelId) {
3
4
  const pricing = models.find((model) => model.id === modelId)?.pricing;
@@ -7,4 +8,55 @@ export function findModelPricing(models, modelId) {
7
8
  ? pricing
8
9
  : undefined;
9
10
  }
11
+ /**
12
+ * Whether a model id ends with a provider-declared free marker, as its own
13
+ * trailing segment.
14
+ *
15
+ * The two guards are the whole point. Anchoring at the end means `free` in the
16
+ * middle of an id (`orcarouter/free-router-4`) never matches, and the segment
17
+ * boundary means a metered id that merely ends in the same letters
18
+ * (`orcarouter/notfree`) never matches either. An unanchored substring test is
19
+ * what marked a whole aggregator catalog free.
20
+ */
21
+ function endsWithFreeMarker(modelId, marker) {
22
+ if (!marker)
23
+ return false;
24
+ if (!modelId.toLowerCase().endsWith(marker.toLowerCase()))
25
+ return false;
26
+ // `charAt` past the start returns '', which is not alphanumeric, so an id that
27
+ // is nothing but the marker still matches.
28
+ return !/[a-z0-9]/i.test(modelId.charAt(modelId.length - marker.length - 1));
29
+ }
30
+ /**
31
+ * Whether a provider preset *declares* this model id cost-free by name — either
32
+ * as an exact alias or by a trailing free marker.
33
+ *
34
+ * This is the evidence a catalog cannot supply: OrcaRouter publishes no
35
+ * `pricing` field whatsoever, yet its free routing endpoints are named for it.
36
+ * It is scoped to the declaring provider (resolved by connection id through
37
+ * `freeModelPolicyFor`), so no other provider inherits the rule.
38
+ */
39
+ export function isDeclaredFreeModelId(modelId, policy) {
40
+ if (policy?.freeModelAliases?.includes(modelId))
41
+ return true;
42
+ return (policy?.freeIdSuffixes ?? []).some((marker) => endsWithFreeMarker(modelId, marker));
43
+ }
44
+ /** Explicit zero prices or curated/preset declarations qualify; paid prices win. */
45
+ export function isFreeModelOption(entry, classification, policy) {
46
+ // A reported nonzero price outranks any blanket preset declaration.
47
+ if (entry.pricing && Object.values(entry.pricing).some(price => price.trim() === '' || !Number.isFinite(Number(price)) || Number(price) !== 0))
48
+ return false;
49
+ if (isFreeModelEntry(entry))
50
+ return true;
51
+ const curated = classification.source !== 'heuristic';
52
+ if (curated && classification.accessTier !== 'free_trial' && classification.accessTier !== 'local')
53
+ return false;
54
+ if (policy?.freeCatalog)
55
+ return true;
56
+ if (isDeclaredFreeModelId(entry.id, policy))
57
+ return true;
58
+ if (!curated)
59
+ return false;
60
+ return classification.accessTier === 'free_trial' || classification.accessTier === 'local';
61
+ }
10
62
  //# sourceMappingURL=model_pricing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model_pricing.js","sourceRoot":"","sources":["../src/model_pricing.ts"],"names":[],"mappings":"AAEA,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAC9B,MAA6B,EAC7B,OAAe;IAEf,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,OAAO,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC;QAC7F,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"model_pricing.js","sourceRoot":"","sources":["../src/model_pricing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,wEAAwE;AACxE,MAAM,UAAU,gBAAgB,CAC9B,MAA6B,EAC7B,OAAe;IAEf,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,OAAO,CAAC;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAC/C,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,UAAU,IAAI,CAAC;QAC7F,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,kBAAkB,CAAC,OAAe,EAAE,MAAc;IACzD,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,KAAK,CAAC;IACxE,+EAA+E;IAC/E,2CAA2C;IAC3C,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;AAC/E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAe,EAAE,MAA2B;IAChF,IAAI,MAAM,EAAE,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9F,CAAC;AAED,oFAAoF;AACpF,MAAM,UAAU,iBAAiB,CAC/B,KAAkD,EAClD,cAAmC,EACnC,MAA2B;IAE3B,oEAAoE;IACpE,IAAI,KAAK,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7J,IAAI,gBAAgB,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,KAAK,WAAW,CAAC;IACtD,IAAI,OAAO,IAAI,cAAc,CAAC,UAAU,KAAK,YAAY,IAAI,cAAc,CAAC,UAAU,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACjH,IAAI,MAAM,EAAE,WAAW;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IACzD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,cAAc,CAAC,UAAU,KAAK,YAAY,IAAI,cAAc,CAAC,UAAU,KAAK,OAAO,CAAC;AAC7F,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare function formatWorkspaceMap(files: string[]): string;
2
+ export declare function buildWorkspaceMap(root: string): Promise<string>;
3
+ //# sourceMappingURL=repo_map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo_map.d.ts","sourceRoot":"","sources":["../src/repo_map.ts"],"names":[],"mappings":"AAEA,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAqB1D;AAED,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAErE"}
@@ -0,0 +1,29 @@
1
+ import { listFiles } from './vendor/tools/index.js';
2
+ export function formatWorkspaceMap(files) {
3
+ if (files.length === 0)
4
+ return 'Workspace map: no files found.';
5
+ const groups = new Map();
6
+ for (const file of files) {
7
+ const parts = file.replace(/[\x00-\x1f\x7f-\x9f]/g, '?').replace(/\\/g, '/').split('/');
8
+ const group = parts.length === 1 ? '(root)' : ['apps', 'packages'].includes(parts[0]) && parts.length > 2
9
+ ? parts.slice(0, 2).join('/') : parts[0];
10
+ const item = group === '(root)' ? parts[0] : parts.slice(group.split('/').length).join('/');
11
+ groups.set(group, [...(groups.get(group) ?? []), item]);
12
+ }
13
+ const ordered = [...groups].sort(([a], [b]) => a.localeCompare(b));
14
+ const lines = [`Workspace map (${files.length}${files.length >= 1000 ? '+' : ''} files scanned):`];
15
+ for (const [group, items] of ordered.slice(0, 14)) {
16
+ const selected = items.sort((a, b) => {
17
+ const rank = (name) => name.startsWith('src/') ? 0 : name === 'package.json' || name === 'README.md' ? 1 : 2;
18
+ return rank(a) - rank(b) || a.localeCompare(b);
19
+ }).slice(0, 3);
20
+ lines.push(`${group} (${items.length} ${items.length === 1 ? 'file' : 'files'}): ${selected.join(', ')}${items.length > selected.length ? ', …' : ''}`);
21
+ }
22
+ if (ordered.length > 14)
23
+ lines.push(`… ${ordered.length - 14} more modules`);
24
+ return lines.join('\n');
25
+ }
26
+ export async function buildWorkspaceMap(root) {
27
+ return formatWorkspaceMap(await listFiles(root, '', { recursive: true, maxDepth: 8, limit: 1000 }));
28
+ }
29
+ //# sourceMappingURL=repo_map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo_map.js","sourceRoot":"","sources":["../src/repo_map.ts"],"names":[],"mappings":"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"}
@@ -83,6 +83,7 @@ export declare const StoredSessionSchema: z.ZodObject<{
83
83
  promptTokens: z.ZodNumber;
84
84
  completionTokens: z.ZodNumber;
85
85
  totalTokens: z.ZodNumber;
86
+ estimated: z.ZodOptional<z.ZodBoolean>;
86
87
  costUsd: z.ZodOptional<z.ZodNumber>;
87
88
  costKnown: z.ZodBoolean;
88
89
  available: z.ZodDefault<z.ZodBoolean>;
@@ -92,18 +93,29 @@ export declare const StoredSessionSchema: z.ZodObject<{
92
93
  totalTokens: number;
93
94
  costKnown: boolean;
94
95
  available: boolean;
96
+ estimated?: boolean | undefined;
95
97
  costUsd?: number | undefined;
96
98
  }, {
97
99
  promptTokens: number;
98
100
  completionTokens: number;
99
101
  totalTokens: number;
100
102
  costKnown: boolean;
103
+ estimated?: boolean | undefined;
101
104
  costUsd?: number | undefined;
102
105
  available?: boolean | undefined;
103
106
  }>;
104
107
  }, "strip", z.ZodTypeAny, {
105
108
  id: string;
106
109
  mode: "Plan" | "Execute";
110
+ usage: {
111
+ promptTokens: number;
112
+ completionTokens: number;
113
+ totalTokens: number;
114
+ costKnown: boolean;
115
+ available: boolean;
116
+ estimated?: boolean | undefined;
117
+ costUsd?: number | undefined;
118
+ };
107
119
  schemaVersion: 1;
108
120
  workspaceRoot: string;
109
121
  createdAt: string;
@@ -129,20 +141,21 @@ export declare const StoredSessionSchema: z.ZodObject<{
129
141
  content: string;
130
142
  toolCallId: string;
131
143
  })[];
144
+ providerId?: string | undefined;
145
+ providerName?: string | undefined;
146
+ modelId?: string | undefined;
147
+ }, {
148
+ id: string;
149
+ mode: "Plan" | "Execute";
132
150
  usage: {
133
151
  promptTokens: number;
134
152
  completionTokens: number;
135
153
  totalTokens: number;
136
154
  costKnown: boolean;
137
- available: boolean;
155
+ estimated?: boolean | undefined;
138
156
  costUsd?: number | undefined;
157
+ available?: boolean | undefined;
139
158
  };
140
- providerId?: string | undefined;
141
- providerName?: string | undefined;
142
- modelId?: string | undefined;
143
- }, {
144
- id: string;
145
- mode: "Plan" | "Execute";
146
159
  schemaVersion: 1;
147
160
  workspaceRoot: string;
148
161
  createdAt: string;
@@ -168,14 +181,6 @@ export declare const StoredSessionSchema: z.ZodObject<{
168
181
  toolCallId: string;
169
182
  status?: "denied" | "success" | "error" | undefined;
170
183
  })[];
171
- usage: {
172
- promptTokens: number;
173
- completionTokens: number;
174
- totalTokens: number;
175
- costKnown: boolean;
176
- costUsd?: number | undefined;
177
- available?: boolean | undefined;
178
- };
179
184
  providerId?: string | undefined;
180
185
  providerName?: string | undefined;
181
186
  modelId?: string | undefined;
@@ -195,6 +200,8 @@ export declare function calculateSessionCost(usage: ChatUsage | undefined, prici
195
200
  costKnown: boolean;
196
201
  costUsd?: number;
197
202
  };
203
+ /** Add one task snapshot once; estimates never produce a billing claim. */
204
+ export declare function accumulateSessionUsage(previous: StoredSession['usage'], usage: ChatUsage, estimated: boolean, pricing?: Record<string, string>): StoredSession['usage'];
198
205
  /** Output speed uses only generated tokens, never prompt/context processing time. */
199
206
  export declare function calculateOutputTokenRate(completionTokens: number, streamDurationMs: number): number | undefined;
200
207
  export declare function formatSessionCost(usage: StoredSession['usage']): string;
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG1F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8W,CAAC;AAC/Y,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC,CAAM,GAAG,aAAa,CAGlK;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,SAAe;IAChD,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAC3C,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAC9C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASlC,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE;IAOpD,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CACpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAI7I;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAIvE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAIpE;AACD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAM7E"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAG1F,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA8W,CAAC;AAC/Y,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,GAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,cAAc,GAAG,SAAS,GAAG,MAAM,CAAC,CAAM,GAAG,aAAa,CAGlK;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,SAAe;IAChD,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAC3C,cAAc,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM;IAC9C,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASlC,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE;IAOpD,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CACpE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAI7I;AAED,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,OAAO,CAAC,CAavK;AAED,qFAAqF;AACrF,wBAAgB,wBAAwB,CAAC,gBAAgB,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,MAAM,CAIvE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAIpE;AACD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW,EAAE,CAM7E"}
package/dist/sessions.js CHANGED
@@ -4,7 +4,7 @@ import os from 'node:os';
4
4
  import path from 'node:path';
5
5
  import { z } from 'zod';
6
6
  import { ChatMessageSchema } from './vendor/contracts/index.js';
7
- const UsageSchema = z.object({ promptTokens: z.number().int().nonnegative(), completionTokens: z.number().int().nonnegative(), totalTokens: z.number().int().nonnegative(), costUsd: z.number().nonnegative().optional(), costKnown: z.boolean(), available: z.boolean().default(false) });
7
+ const UsageSchema = z.object({ promptTokens: z.number().int().nonnegative(), completionTokens: z.number().int().nonnegative(), totalTokens: z.number().int().nonnegative(), estimated: z.boolean().optional(), costUsd: z.number().nonnegative().optional(), costKnown: z.boolean(), available: z.boolean().default(false) });
8
8
  export const StoredSessionSchema = z.object({ schemaVersion: z.literal(1), id: z.string().uuid(), workspaceRoot: z.string().min(1), createdAt: z.string().datetime(), updatedAt: z.string().datetime(), providerId: z.string().optional(), providerName: z.string().optional(), modelId: z.string().optional(), mode: z.enum(['Plan', 'Execute']), messages: z.array(ChatMessageSchema), usage: UsageSchema });
9
9
  export function createSession(workspaceRoot, details = {}) {
10
10
  const now = new Date().toISOString();
@@ -48,6 +48,21 @@ export function calculateSessionCost(usage, pricing) {
48
48
  return { costKnown: false };
49
49
  return { costKnown: true, costUsd: usage.promptTokens * prompt + usage.completionTokens * completion };
50
50
  }
51
+ /** Add one task snapshot once; estimates never produce a billing claim. */
52
+ export function accumulateSessionUsage(previous, usage, estimated, pricing) {
53
+ const isEstimated = Boolean(previous.estimated || estimated);
54
+ const cost = isEstimated ? { costKnown: false } : calculateSessionCost(usage, pricing);
55
+ const costKnown = cost.costKnown && (previous.totalTokens === 0 || previous.costKnown);
56
+ return {
57
+ promptTokens: previous.promptTokens + usage.promptTokens,
58
+ completionTokens: previous.completionTokens + usage.completionTokens,
59
+ totalTokens: previous.totalTokens + usage.totalTokens,
60
+ estimated: isEstimated,
61
+ available: true,
62
+ costKnown,
63
+ costUsd: costKnown ? (previous.costUsd ?? 0) + (cost.costUsd ?? 0) : undefined,
64
+ };
65
+ }
51
66
  /** Output speed uses only generated tokens, never prompt/context processing time. */
52
67
  export function calculateOutputTokenRate(completionTokens, streamDurationMs) {
53
68
  if (!Number.isFinite(completionTokens) || completionTokens <= 0 || !Number.isFinite(streamDurationMs) || streamDurationMs <= 0)
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../src/sessions.ts"],"names":[],"mappings":"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"}
package/dist/skills.d.ts CHANGED
@@ -5,15 +5,15 @@ declare const SkillSchema: z.ZodObject<{
5
5
  body: z.ZodString;
6
6
  path: z.ZodString;
7
7
  }, "strip", z.ZodTypeAny, {
8
+ path: string;
8
9
  name: string;
9
10
  description: string;
10
11
  body: string;
11
- path: string;
12
12
  }, {
13
+ path: string;
13
14
  name: string;
14
15
  description: string;
15
16
  body: string;
16
- path: string;
17
17
  }>;
18
18
  export type UserSkill = z.infer<typeof SkillSchema>;
19
19
  export declare function parseSkillFile(name: string, content: string, filePath?: string): UserSkill | undefined;
@@ -1,4 +1,5 @@
1
1
  import { type PopupListItem } from './popup.js';
2
+ import { type ProviderFreePolicy } from '../config.js';
2
3
  export interface ModelSelectionResult {
3
4
  modelId?: string;
4
5
  allowPaid: boolean;
@@ -25,7 +26,6 @@ export interface CompatibleModelSelectorOptions {
25
26
  providerId: string;
26
27
  providerName: string;
27
28
  currentModel?: string;
28
- allModelsFree?: boolean;
29
29
  signal?: AbortSignal;
30
30
  drawFrame: (popupLines: string[]) => void;
31
31
  }
@@ -35,7 +35,7 @@ export interface CompatibleModelEntry {
35
35
  }
36
36
  export declare function buildModelConnectionRequiredItems(): PopupListItem[];
37
37
  export declare function showModelConnectionRequired(drawFrame: (popupLines: string[]) => void, signal?: AbortSignal): Promise<void>;
38
- export declare function buildCompatibleModelMenuItems(providerName: string, models: CompatibleModelEntry[], currentModel?: string, allModelsFree?: boolean): PopupListItem[];
38
+ export declare function buildCompatibleModelMenuItems(providerName: string, models: CompatibleModelEntry[], currentModel?: string, freePolicy?: ProviderFreePolicy): PopupListItem[];
39
39
  export declare function selectCompatibleModelOverlay(options: CompatibleModelSelectorOptions): Promise<string | undefined>;
40
40
  export declare function buildOverlayMenuItems(freeModelIds: string[], freeCount: number, paidCount: number, activeModel?: string): PopupListItem[];
41
41
  export declare function selectModelInteractive(options?: ModelSelectorOptions): Promise<ModelSelectionResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"model_selector.d.ts","sourceRoot":"","sources":["../../src/ui/model_selector.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAID,wBAAgB,iCAAiC,IAAI,aAAa,EAAE,CAanE;AAED,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,EACzC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAAE,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,UAAQ,GACpB,aAAa,EAAE,CAmCjB;AAsBD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA4B7B;AAsCD,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GACjF,aAAa,EAAE,CAmBjB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAY/B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAG/B"}
1
+ {"version":3,"file":"model_selector.d.ts","sourceRoot":"","sources":["../../src/ui/model_selector.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,KAAK,aAAa,EACnB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA6D,KAAK,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlH,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,8BAA8B;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAID,wBAAgB,iCAAiC,IAAI,aAAa,EAAE,CAanE;AAED,wBAAsB,2BAA2B,CAC/C,SAAS,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,IAAI,EACzC,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED,wBAAgB,6BAA6B,CAC3C,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,oBAAoB,EAAE,EAC9B,YAAY,CAAC,EAAE,MAAM,EACrB,UAAU,CAAC,EAAE,kBAAkB,GAC9B,aAAa,EAAE,CAsCjB;AAwBD,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA+B7B;AAsCD,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GACjF,aAAa,EAAE,CAmBjB;AAED,wBAAsB,sBAAsB,CAC1C,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAY/B;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,oBAAoB,CAAC,CAG/B"}