ds4-context-core 0.3.0 → 0.3.2

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.
@@ -0,0 +1,31 @@
1
+ import { type Ds4ContextConfig } from "./config.ts";
2
+ /**
3
+ * Machine-readable catalog of every configuration key accepted by the
4
+ * `ds4-context-config-v1` schema. It powers the `/context config` command:
5
+ * value display, type-safe editing, and clear rejection messages.
6
+ */
7
+ export type ConfigFieldKind = "boolean" | "integer" | "number" | "string" | "enum" | "string-array" | "enum-array" | "classification-map" | "object-map" | "object";
8
+ export interface ConfigFieldDoc {
9
+ path: string;
10
+ kind: ConfigFieldKind;
11
+ description: string;
12
+ /** For `enum` and `enum-array`: the allowed values. */
13
+ values?: readonly string[];
14
+ /** Fields absent from the default configuration (added by user JSON only). */
15
+ optional?: boolean;
16
+ }
17
+ export declare const CONFIG_FIELD_DOCS: readonly ConfigFieldDoc[];
18
+ export declare function findConfigField(path: string): ConfigFieldDoc | undefined;
19
+ /**
20
+ * Convert a raw CLI string into the typed value described by `doc`.
21
+ * Throws with a precise, user-facing message on invalid input.
22
+ */
23
+ export declare function applyConfigValue(target: Record<string, unknown>, path: string, rawValue: string, doc: ConfigFieldDoc): unknown;
24
+ /**
25
+ * Remove a configuration key from a parsed file object, pruning empty
26
+ * intermediate objects. Returns false when the key is not present.
27
+ */
28
+ export declare function removeConfigValue(target: Record<string, unknown>, path: string): boolean;
29
+ /** Read a value from a live configuration object by dotted path. */
30
+ export declare function getConfigValue(config: Ds4ContextConfig, path: string): unknown;
31
+ //# sourceMappingURL=config-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-catalog.d.ts","sourceRoot":"","sources":["../../src/config/config-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAMrB;;;;GAIG;AACH,MAAM,MAAM,eAAe,GACvB,SAAS,GACT,SAAS,GACT,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,cAAc,GACd,YAAY,GACZ,oBAAoB,GACpB,YAAY,GACZ,QAAQ,CAAC;AAEb,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAcD,eAAO,MAAM,iBAAiB,EAAE,SAAS,cAAc,EAuGtD,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAExE;AA2DD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,cAAc,GAClB,OAAO,CAiET;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAsBxF;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAO9E"}
@@ -0,0 +1,274 @@
1
+ import { COMPACTION_THINKING_LEVELS, } from "./config.js";
2
+ import { PRIVACY_CLASSIFICATIONS, isPrivacyClassification, } from "../privacy/privacy-policy.js";
3
+ function field(path, kind, description, optional = false, values) {
4
+ return values ? { path, kind, description, values, optional } : { path, kind, description, optional };
5
+ }
6
+ const CLASSIFICATIONS = PRIVACY_CLASSIFICATIONS;
7
+ export const CONFIG_FIELD_DOCS = [
8
+ field("enabled", "boolean", "Master switch for the DS4 managed context extension.", false),
9
+ field("context.mode", "enum", "observer records only; managed plans and rewrites the context.", false, ["observer", "managed"]),
10
+ field("context.targetFillRatio", "number", "Proactive compaction trigger: usage / target ratio.", false),
11
+ field("context.softLimitRatio", "number", "Soft budget ratio where compaction becomes eligible.", false),
12
+ field("context.hardLimitRatio", "number", "Hard budget ratio before the context overflows.", false),
13
+ field("context.minimumOutputReserve", "integer", "Minimum output tokens reserved for the model.", false),
14
+ field("context.preferredOutputReserve", "integer", "Preferred output reserve when planning the context.", false),
15
+ field("context.recentTailTokens", "integer", "Recent verbatim tail preserved during compaction.", false),
16
+ field("context.maxPinnedTokens", "integer", "Budget cap for pinned context in managed mode.", false),
17
+ field("context.maxMemoryTokens", "integer", "Budget cap for durable memory in managed mode.", false),
18
+ field("context.maxRetrievedHistoryTokens", "integer", "Budget cap for historical retrieval evidence.", false),
19
+ field("context.maxProjectTokens", "integer", "Budget cap for project knowledge snippets.", false),
20
+ field("context.maxSummaryTokens", "integer", "Budget cap for active compaction summaries.", false),
21
+ field("compaction.enabled", "boolean", "Enable DS4 custom compaction; false falls back to Pi default compaction.", false),
22
+ field("compaction.mode", "enum", "Compaction strategy (only hierarchical).", false, ["hierarchical"]),
23
+ field("compaction.validate", "boolean", "Deterministic summary validation; false emits validation-disabled warning only.", false),
24
+ field("compaction.segmentTargetTokens", "integer", "Target size of each compaction segment; higher means fewer segment calls.", false),
25
+ field("compaction.preserveRecentVerbatim", "boolean", "Must remain true for non-destructive compaction.", false),
26
+ field("compaction.model", "object", "Dedicated seed server model for compaction summary generation (JSON object {provider,id}).", true),
27
+ field("compaction.model.provider", "string", "Provider name of the dedicated compaction model, as registered in Pi.", true),
28
+ field("compaction.model.id", "string", "Model id of the dedicated compaction model, as registered in Pi.", true),
29
+ field("compaction.summary", "object", "Summary request controls (JSON object {thinking}).", true),
30
+ field("compaction.summary.thinking", "enum", "Reasoning level for compaction summary requests only; off preserves the legacy request.", true, COMPACTION_THINKING_LEVELS),
31
+ field("retrieval.exact", "boolean", "Exact-match retrieval over historical messages.", false),
32
+ field("retrieval.fts", "boolean", "FTS5 retrieval over the session projection.", false),
33
+ field("retrieval.semantic", "boolean", "Opt-in hybrid vector candidate generation.", false),
34
+ field("retrieval.maxResults", "integer", "Maximum retrieved historical items per turn.", false),
35
+ field("retrieval.embedding.mode", "enum", "local uses the built-in feature hash; remote requires exact consent profiles.", false, ["local", "remote"]),
36
+ field("retrieval.embedding.provider", "string", "Embedding provider identifier.", false),
37
+ field("retrieval.embedding.model", "string", "Embedding model identifier.", false),
38
+ field("retrieval.embedding.dimensions", "integer", "Embedding vector dimensions.", false),
39
+ field("retrieval.embedding.remoteProfiles", "string-array", "Exact provider/model consent profiles for remote embedding (JSON array).", false),
40
+ field("retrieval.embedding.maxSources", "integer", "Maximum source entries considered per embedding run.", false),
41
+ field("retrieval.embedding.candidatePool", "integer", "Candidate pool size for semantic ranking.", false),
42
+ field("retrieval.embedding.batchSize", "integer", "Batch size for embedding calls.", false),
43
+ field("retrieval.embedding.queryCacheSize", "integer", "Embedding query cache entries.", false),
44
+ field("retrieval.embedding.timeoutMs", "integer", "Per-call embedding timeout in milliseconds.", false),
45
+ field("project.enabled", "boolean", "Enable project knowledge indexing and snippet retrieval.", false),
46
+ field("project.maxFiles", "integer", "Maximum indexed project files.", false),
47
+ field("project.maxFileBytes", "integer", "Maximum indexed bytes per file.", false),
48
+ field("project.maxTotalBytes", "integer", "Maximum total indexed bytes.", false),
49
+ field("project.snippetLines", "integer", "Lines per project snippet.", false),
50
+ field("project.snippetOverlapLines", "integer", "Overlap lines between consecutive snippets.", false),
51
+ field("project.maxResults", "integer", "Maximum project snippets per turn.", false),
52
+ field("memory.enabled", "boolean", "Enable Pin and Durable Memory projection.", false),
53
+ field("memory.crossSession", "boolean", "Opt-in replay of project-scoped mutations from sibling Pi sessions.", false),
54
+ field("memory.maxProjectSessions", "integer", "Maximum canonical project session files inspected per refresh.", false),
55
+ field("memory.maxPinChars", "integer", "Maximum characters per pin claim.", false),
56
+ field("memory.maxClaimChars", "integer", "Maximum characters per memory claim.", false),
57
+ field("memory.maxResults", "integer", "Maximum items returned by pins/memory list actions.", false),
58
+ field("artifacts.enabled", "boolean", "Enable large tool result artifact offload.", false),
59
+ field("artifacts.maxInlineToolResultChars", "integer", "Characters kept inline before offload is considered.", false),
60
+ field("artifacts.maxArtifactBytes", "integer", "Maximum bytes stored per artifact.", false),
61
+ field("artifacts.maxSearchBytes", "integer", "Maximum bytes scanned per artifact search.", false),
62
+ field("artifacts.excerptChars", "integer", "Excerpt characters returned by artifact search.", false),
63
+ field("artifacts.maxSearchMatches", "integer", "Maximum matches returned by artifact search.", false),
64
+ field("artifacts.storeLargeOutputs", "boolean", "Persist offloaded artifacts to the artifact store.", false),
65
+ field("privacy.enabled", "boolean", "Enable privacy policy enforcement for outbound content.", false),
66
+ field("privacy.defaultClassification", "enum", "Default classification for content without explicit classification.", false, CLASSIFICATIONS),
67
+ field("privacy.localProviders", "string-array", "Provider names treated as local-only (JSON array).", false),
68
+ field("privacy.remoteDefaultAllowed", "enum-array", "Classifications allowed by default to remote providers (JSON array).", false, CLASSIFICATIONS),
69
+ field("privacy.remoteProviders", "classification-map", "Per-provider allowed classifications (JSON object provider -> array).", true),
70
+ field("privacy.redactSecrets", "boolean", "Redact detected secrets even when privacy.enabled is false.", false),
71
+ field("modelAwareness.enabled", "boolean", "Enable per-provider token calibration.", false),
72
+ field("modelAwareness.calibrationWindow", "integer", "Accepted calibration samples retained per profile.", false),
73
+ field("modelAwareness.minimumCalibrationSamples", "integer", "Samples required before calibration is applied.", false),
74
+ field("modelAwareness.calibrationRatioLowerBound", "number", "Lower bound of the applied calibration ratio.", false),
75
+ field("modelAwareness.calibrationRatioUpperBound", "number", "Upper bound of the applied calibration ratio.", false),
76
+ field("modelAwareness.overrides", "object-map", "Explicit profile overrides (JSON object provider/model -> field map).", true),
77
+ field("nativeContinuation.enabled", "boolean", "Enable native provider continuation when supported.", false),
78
+ field("nativeContinuation.allowProviderStorage", "boolean", "Acknowledge store:true for eligible Responses API calls.", false),
79
+ field("nativeContinuation.profiles", "string-array", "Exact provider/model or provider/* continuation profiles (JSON array).", false),
80
+ field("nativeContinuation.maxStateAgeMs", "integer", "Maximum age of continuation state in milliseconds.", false),
81
+ field("nativeContinuation.retryManagedReplay", "boolean", "Retry managed replay after a continuation transport failure.", false),
82
+ field("localKvReuse.enabled", "boolean", "Opt-in local KV reuse; also requires the runtime capability.", false),
83
+ field("quality.enabled", "boolean", "Opt-in metadata-only quality sampling.", false),
84
+ field("quality.maxSamples", "integer", "Bounded number of disposable quality samples retained.", false),
85
+ field("ranking.mode", "enum", "off preserves the static ranker; shadow compares; active requires a promoted model.", false, ["off", "shadow", "active"]),
86
+ field("ranking.modelPath", "string", "Learned ranking model path (absolute, ~-relative, or agent-dir relative).", false),
87
+ field("ranking.minimumTrainingSamples", "integer", "Minimum classified labels before local training.", false),
88
+ field("ranking.maxTrainingSamples", "integer", "Maximum feedback entries inspected per training run.", false),
89
+ field("ranking.maxLatencyMs", "integer", "Promotion-gate p95 budget for learned inference.", false),
90
+ field("diagnostics.storeContextManifest", "boolean", "Persist context manifests to the DS4 database.", false),
91
+ field("diagnostics.storeFullRenderedContext", "boolean", "Persist the full rendered context alongside manifests.", false),
92
+ field("diagnostics.logLevel", "enum", "Structured log level.", false, ["error", "warn", "info", "debug", "trace"]),
93
+ field("storage.databasePath", "string", "SQLite database path (absolute, ~-relative, or agent-dir relative).", false),
94
+ field("storage.busyTimeoutMs", "integer", "Per-attempt SQLite lock wait in milliseconds.", false),
95
+ field("storage.writeRetryTimeoutMs", "integer", "Total bounded retry window for replayable writes.", false),
96
+ field("storage.projectIndexLeaseMs", "integer", "Renewable cross-process lease duration for the project indexer.", false),
97
+ ];
98
+ export function findConfigField(path) {
99
+ return CONFIG_FIELD_DOCS.find((doc) => doc.path === path);
100
+ }
101
+ function isRecord(value) {
102
+ return value !== null && typeof value === "object" && !Array.isArray(value);
103
+ }
104
+ function parseJson(rawValue, path) {
105
+ try {
106
+ return JSON.parse(rawValue);
107
+ }
108
+ catch {
109
+ throw new Error(`${path}: expected valid JSON`);
110
+ }
111
+ }
112
+ function assertStringArray(value, path) {
113
+ if (!Array.isArray(value) || value.some((entry) => typeof entry !== "string")) {
114
+ throw new Error(`${path}: expected a JSON array of strings`);
115
+ }
116
+ return value;
117
+ }
118
+ function assertEnumArray(value, path, allowed) {
119
+ const entries = assertStringArray(value, path);
120
+ for (const entry of entries) {
121
+ if (!allowed.includes(entry)) {
122
+ throw new Error(`${path}: invalid value ${JSON.stringify(entry)}; allowed: ${allowed.join(", ")}`);
123
+ }
124
+ }
125
+ if (new Set(entries).size !== entries.length) {
126
+ throw new Error(`${path}: duplicate values are not allowed`);
127
+ }
128
+ return entries;
129
+ }
130
+ function assertClassificationMap(value, path) {
131
+ if (!isRecord(value))
132
+ throw new Error(`${path}: expected a JSON object`);
133
+ const result = {};
134
+ for (const [provider, allowed] of Object.entries(value)) {
135
+ if (!provider.trim())
136
+ throw new Error(`${path}: provider names must not be empty`);
137
+ if (!Array.isArray(allowed) || allowed.some((entry) => typeof entry !== "string" ||
138
+ !isPrivacyClassification(entry))) {
139
+ throw new Error(`${path}: provider ${JSON.stringify(provider)} must map to an array of ${PRIVACY_CLASSIFICATIONS.join(", ")}`);
140
+ }
141
+ result[provider] = allowed;
142
+ }
143
+ return result;
144
+ }
145
+ function assertObjectMap(value, path) {
146
+ if (!isRecord(value))
147
+ throw new Error(`${path}: expected a JSON object`);
148
+ const result = {};
149
+ for (const [key, entry] of Object.entries(value)) {
150
+ if (!key.trim())
151
+ throw new Error(`${path}: keys must not be empty`);
152
+ if (!isRecord(entry))
153
+ throw new Error(`${path}: entry ${JSON.stringify(key)} must be a JSON object`);
154
+ result[key] = entry;
155
+ }
156
+ return result;
157
+ }
158
+ /**
159
+ * Convert a raw CLI string into the typed value described by `doc`.
160
+ * Throws with a precise, user-facing message on invalid input.
161
+ */
162
+ export function applyConfigValue(target, path, rawValue, doc) {
163
+ const raw = rawValue.trim();
164
+ let value;
165
+ switch (doc.kind) {
166
+ case "boolean": {
167
+ const normalized = raw.toLowerCase();
168
+ if (normalized !== "true" && normalized !== "false") {
169
+ throw new Error(`${path}: expected true or false`);
170
+ }
171
+ value = normalized === "true";
172
+ break;
173
+ }
174
+ case "integer": {
175
+ if (!/^-?\d+$/u.test(raw) || !Number.isSafeInteger(Number(raw))) {
176
+ throw new Error(`${path}: expected a safe integer`);
177
+ }
178
+ value = Number(raw);
179
+ break;
180
+ }
181
+ case "number": {
182
+ const parsed = Number(raw);
183
+ if (!Number.isFinite(parsed))
184
+ throw new Error(`${path}: expected a finite number`);
185
+ value = parsed;
186
+ break;
187
+ }
188
+ case "string": {
189
+ if (!raw)
190
+ throw new Error(`${path}: expected a non-empty string`);
191
+ value = raw;
192
+ break;
193
+ }
194
+ case "enum": {
195
+ if (!doc.values?.includes(raw)) {
196
+ throw new Error(`${path}: expected one of ${doc.values?.join(", ") ?? "(none)"}`);
197
+ }
198
+ value = raw;
199
+ break;
200
+ }
201
+ case "string-array":
202
+ value = assertStringArray(parseJson(raw, path), path);
203
+ break;
204
+ case "enum-array":
205
+ value = assertEnumArray(parseJson(raw, path), path, doc.values ?? []);
206
+ break;
207
+ case "classification-map":
208
+ value = assertClassificationMap(parseJson(raw, path), path);
209
+ break;
210
+ case "object-map":
211
+ value = assertObjectMap(parseJson(raw, path), path);
212
+ break;
213
+ case "object": {
214
+ const parsed = parseJson(raw, path);
215
+ if (!isRecord(parsed))
216
+ throw new Error(`${path}: expected a JSON object`);
217
+ value = parsed;
218
+ break;
219
+ }
220
+ }
221
+ const segments = path.split(".");
222
+ let node = target;
223
+ for (let index = 0; index < segments.length - 1; index++) {
224
+ const segment = segments[index];
225
+ if (!isRecord(node[segment]))
226
+ node[segment] = {};
227
+ node = node[segment];
228
+ }
229
+ node[segments[segments.length - 1]] = value;
230
+ return value;
231
+ }
232
+ /**
233
+ * Remove a configuration key from a parsed file object, pruning empty
234
+ * intermediate objects. Returns false when the key is not present.
235
+ */
236
+ export function removeConfigValue(target, path) {
237
+ const segments = path.split(".");
238
+ if (segments.length === 0)
239
+ return false;
240
+ const stack = [];
241
+ let node = target;
242
+ for (let index = 0; index < segments.length - 1; index++) {
243
+ const segment = segments[index];
244
+ const next = node[segment];
245
+ if (!isRecord(next))
246
+ return false;
247
+ stack.push({ node, segment });
248
+ node = next;
249
+ }
250
+ const leaf = segments[segments.length - 1];
251
+ if (!(leaf in node))
252
+ return false;
253
+ delete node[leaf];
254
+ for (let index = stack.length - 1; index >= 0; index--) {
255
+ const { node: parent, segment } = stack[index];
256
+ const child = parent[segment];
257
+ if (isRecord(child) && Object.keys(child).length === 0)
258
+ delete parent[segment];
259
+ else
260
+ break;
261
+ }
262
+ return true;
263
+ }
264
+ /** Read a value from a live configuration object by dotted path. */
265
+ export function getConfigValue(config, path) {
266
+ let node = config;
267
+ for (const segment of path.split(".")) {
268
+ if (!isRecord(node))
269
+ return undefined;
270
+ node = node[segment];
271
+ }
272
+ return node;
273
+ }
274
+ //# sourceMappingURL=config-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-catalog.js","sourceRoot":"","sources":["../../src/config/config-catalog.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,16 @@ export interface LoadedConfig {
13
13
  loadedFiles: string[];
14
14
  warnings: string[];
15
15
  }
16
+ /**
17
+ * Validate a parsed configuration file object against the default shape and
18
+ * deterministic rules. Throws on the first violation; warnings report unknown
19
+ * keys and invalid values that are ignored. `manage` uses this before writing
20
+ * an edited configuration file to disk.
21
+ */
22
+ export declare function validateConfigFile(content: Record<string, unknown>): {
23
+ config: Ds4ContextConfig;
24
+ warnings: string[];
25
+ };
16
26
  export declare function loadConfig(options: LoadConfigOptions): LoadedConfig;
17
27
  export declare function resolveDatabasePath(configuredPath: string, agentDir: string, homeDir?: string): string;
18
28
  export declare function resolveRankingModelPath(configuredPath: string, agentDir: string, homeDir?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAAuB,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEzE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAsYD,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAoBnE;AAgBD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAY,GAClB,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAY,GAClB,MAAM,CAER"}
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA8ZD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IACpE,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAKA;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,YAAY,CAoBnE;AAgBD,wBAAgB,mBAAmB,CACjC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAY,GAClB,MAAM,CAER;AAED,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,MAAM,EAChB,OAAO,SAAY,GAClB,MAAM,CAER"}
@@ -2,16 +2,25 @@ import { existsSync, readFileSync } from "node:fs";
2
2
  import { homedir } from "node:os";
3
3
  import { isAbsolute, join, resolve } from "node:path";
4
4
  import { PRIVACY_CLASSIFICATIONS, isPrivacyClassification } from "../privacy/privacy-policy.js";
5
- import { createDefaultConfig } from "./config.js";
5
+ import { COMPACTION_THINKING_LEVELS, createDefaultConfig, } from "./config.js";
6
6
  function isRecord(value) {
7
7
  return value !== null && typeof value === "object" && !Array.isArray(value);
8
8
  }
9
+ /**
10
+ * Object-valued opt-in paths whose keys are not part of the default shape.
11
+ * They are merged as free objects and later validated by `validateConfig`.
12
+ */
13
+ const OPTIONAL_OBJECT_PATHS = new Set(["compaction.model", "compaction.summary"]);
9
14
  function mergeKnown(base, override, warnings, prefix = "") {
10
15
  const result = structuredClone(base);
11
16
  const known = base;
12
17
  for (const [key, incoming] of Object.entries(override)) {
13
18
  const path = prefix ? `${prefix}.${key}` : key;
14
19
  if (!(key in known)) {
20
+ if (OPTIONAL_OBJECT_PATHS.has(path) && isRecord(incoming)) {
21
+ result[key] = structuredClone(incoming);
22
+ continue;
23
+ }
15
24
  warnings.push(`Unknown configuration key ignored: ${path}`);
16
25
  continue;
17
26
  }
@@ -184,6 +193,20 @@ function validateConfig(config) {
184
193
  if (!config.compaction.preserveRecentVerbatim) {
185
194
  throw new Error("compaction.preserveRecentVerbatim must remain true for non-destructive compaction");
186
195
  }
196
+ if (config.compaction.model) {
197
+ const { provider, id } = config.compaction.model;
198
+ if (!provider.trim() || !id.trim()
199
+ || provider.trim() !== provider
200
+ || id.trim() !== id
201
+ || /[\s/]/u.test(provider)
202
+ || /[\s/]/u.test(id)) {
203
+ throw new Error("compaction.model.provider and compaction.model.id must be non-empty trimmed tokens without whitespace or slashes");
204
+ }
205
+ }
206
+ const thinking = config.compaction.summary?.thinking;
207
+ if (thinking !== undefined && !COMPACTION_THINKING_LEVELS.includes(thinking)) {
208
+ throw new Error(`compaction.summary.thinking must be one of ${COMPACTION_THINKING_LEVELS.join(", ")}`);
209
+ }
187
210
  if (!isPrivacyClassification(config.privacy.defaultClassification)) {
188
211
  throw new Error("privacy.defaultClassification is invalid");
189
212
  }
@@ -376,6 +399,18 @@ function applyConfigFile(path, base, warnings) {
376
399
  return { config: base, loaded: false };
377
400
  }
378
401
  }
402
+ /**
403
+ * Validate a parsed configuration file object against the default shape and
404
+ * deterministic rules. Throws on the first violation; warnings report unknown
405
+ * keys and invalid values that are ignored. `manage` uses this before writing
406
+ * an edited configuration file to disk.
407
+ */
408
+ export function validateConfigFile(content) {
409
+ const warnings = [];
410
+ const config = mergeKnown(createDefaultConfig(), content, warnings);
411
+ validateConfig(config);
412
+ return { config, warnings };
413
+ }
379
414
  export function loadConfig(options) {
380
415
  const globalPath = join(options.agentDir, "ds4-context.json");
381
416
  const projectPath = join(options.cwd, options.configDirName, "ds4-context.json");
@@ -1 +1 @@
1
- {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/config/config-loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAChG,OAAO,EACL,0BAA0B,EAC1B,mBAAmB,GAEpB,MAAM,aAAa,CAAC;AAkBrB,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;GAGG;AACH,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,kBAAkB,EAAE,oBAAoB,CAAC,CAAC,CAAC;AAElF,SAAS,UAAU,CAAmB,IAAO,EAAE,QAAiC,EAAE,QAAkB,EAAE,MAAM,GAAG,EAAE;IAC/G,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAA4B,CAAC;IAChE,MAAM,KAAK,GAAG,IAA+B,CAAC;IAE9C,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAC/C,IAAI,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,MAAM,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,QAAQ,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxB,QAAQ,CAAC,IAAI,CAAC,wCAAwC,IAAI,oBAAoB,CAAC,CAAC;gBAChF,SAAS;YACX,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,yBAAyB,IAAI,IAAI,KAAK,0BAA0B;gBACrF,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,EAAE,GAAG,eAAe,CAAC,QAAQ,CAAC,EAAE;gBAChE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,CAAC;oBAClC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;oBAC3B,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACrD,SAAS;QACX,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,OAAO,QAAQ,IAAI,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;YACxG,QAAQ,CAAC,IAAI,CAAC,wCAAwC,IAAI,qBAAqB,CAAC,CAAC;YACjF,SAAS;QACX,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,OAAO,MAAW,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,MAAwB;IAC9C,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAAG;QACb,CAAC,yBAAyB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QAC3D,CAAC,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;QACzD,CAAC,wBAAwB,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;KACjD,CAAC;IAEX,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;QACnC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,CAAC,CAAC;IAC/F,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc;QACnE,MAAM,CAAC,OAAO,CAAC,cAAc,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;QAClE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IAED,MAAM,WAAW,GAAG;QAClB,CAAC,8BAA8B,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC;QACrE,CAAC,gCAAgC,EAAE,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC;QACzE,CAAC,0BAA0B,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC7D,CAAC,yBAAyB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QAC3D,CAAC,yBAAyB,EAAE,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC;QAC3D,CAAC,mCAAmC,EAAE,MAAM,CAAC,OAAO,CAAC,yBAAyB,CAAC;QAC/E,CAAC,0BAA0B,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC7D,CAAC,0BAA0B,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC7D,CAAC,gCAAgC,EAAE,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC;QACzE,CAAC,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;QACrD,CAAC,uBAAuB,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;QACvD,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;QACjD,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QACrD,CAAC,oCAAoC,EAAE,MAAM,CAAC,SAAS,CAAC,wBAAwB,CAAC;QACjF,CAAC,4BAA4B,EAAE,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;QACjE,CAAC,0BAA0B,EAAE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC;QAC7D,CAAC,wBAAwB,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC;KACjD,CAAC;IAEX,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iCAAiC,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;QAChF,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QAC5H,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,SAAS,CAAC;IAC7C,IAAI,SAAS,CAAC,IAAI,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;WACpD,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,QAAQ;WAChD,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,SAAS,CAAC,KAAK;WAC1C,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;WACjC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,wBAAwB,GAAG;QAC/B,CAAC,gCAAgC,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,EAAE,KAAK,CAAC;QACnE,CAAC,gCAAgC,EAAE,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC;QACpE,CAAC,mCAAmC,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC,EAAE,GAAG,CAAC;QACtE,CAAC,+BAA+B,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,GAAG,CAAC;QAC9D,CAAC,oCAAoC,EAAE,SAAS,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,CAAC;QAC1E,CAAC,+BAA+B,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC;KAC1D,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,wBAAwB,EAAE,CAAC;QACvE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,+BAA+B,OAAO,QAAQ,OAAO,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACzE,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QAC/C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,SAAS,IAAI,CAAC,IAAI,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAChF,MAAM,IAAI,KAAK,CAAC,+BAA+B,OAAO,kCAAkC,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACpF,CAAC;QACD,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ;WAC1B,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,SAAS,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,uBAAuB,GAAG;QAC9B,CAAC,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC;QACtD,CAAC,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;QAC1D,CAAC,oBAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;KAC9C,CAAC;IACX,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,uBAAuB,EAAE,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YAC9D,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uCAAuC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;WACpD,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC;WACtC,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACvE,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAC;IAC3G,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;WAClD,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,CAAC;WACpC,MAAM,CAAC,MAAM,CAAC,kBAAkB,GAAG,MAAM,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;IACtF,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC;QAC5E,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;WAC1C,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC;WAC7B,MAAM,CAAC,MAAM,CAAC,UAAU,GAAG,GAAG,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,wBAAwB,GAAG,KAAK,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,GAAG,MAAM,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;WACnD,MAAM,CAAC,SAAS,CAAC,gBAAgB,IAAI,CAAC;WACtC,MAAM,CAAC,SAAS,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;IACvF,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,GAAG,MAAM,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;IACzF,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;IACvG,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;QACjD,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE;eAC7B,QAAQ,CAAC,IAAI,EAAE,KAAK,QAAQ;eAC5B,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE;eAChB,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;eACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,kHAAkH,CAAC,CAAC;QACtI,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC;IACrD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,KAAK,CAAC,8CAA8C,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,MAAM,uBAAuB,GAAG,CAAC,IAAY,EAAE,MAAe,EAAQ,EAAE;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtF,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,8BAA8B,CAAC,CAAC;QACnG,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,uDAAuD,CAAC,CAAC;IACrH,CAAC,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC;WAC5C,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QACpH,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,MAAM,wBAAwB,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAChH,IAAI,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC,IAAI,KAAK,wBAAwB,CAAC,MAAM,EAAE,CAAC;QAC/E,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IACD,uBAAuB,CAAC,8BAA8B,EAAE,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC7F,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QACjF,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpG,IAAI,wBAAwB,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YACrE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,kCAAkC,CAAC,CAAC;QAClF,CAAC;QACD,uBAAuB,CAAC,2BAA2B,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,iBAAiB,CAAC;WACzD,MAAM,CAAC,cAAc,CAAC,iBAAiB,GAAG,CAAC;WAC3C,MAAM,CAAC,cAAc,CAAC,iBAAiB,GAAG,GAAG,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,yBAAyB,CAAC;WACjE,MAAM,CAAC,cAAc,CAAC,yBAAyB,GAAG,CAAC;WACnD,MAAM,CAAC,cAAc,CAAC,yBAAyB,GAAG,MAAM,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC;QAC/F,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;IACtG,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,0BAA0B,CAAC;IACpE,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,0BAA0B,CAAC;IACpE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;WAC3D,UAAU,GAAG,IAAI,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,eAAe;QACf,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;QAClB,2BAA2B;QAC3B,kBAAkB;KACnB,CAAC,CAAC;IACH,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9E,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,OAAO,KAAK,GAAG,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,CACzC,SAAS,IAAI,CAAC;eACX,SAAS,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;eAChC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,GAAG,CACvC,CAAC,EAAE,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,2CAA2C,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,oBAAoB,CAAC,CAAC;QAC9F,MAAM,cAAc,GAA4B,QAAQ,CAAC;QACzD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;QAChF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS;eAC3C,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,mEAAmE,CAAC,CAAC;QACrH,CAAC;QACD,MAAM,mBAAmB,GAAG;YAC1B,cAAc,CAAC,kBAAkB;YACjC,cAAc,CAAC,gBAAgB;YAC/B,cAAc,CAAC,yBAAyB;YACxC,cAAc,CAAC,gBAAgB;SAChC,CAAC;QACF,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS;eACtD,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC;YACjG,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,8DAA8D,CAAC,CAAC;QAChH,CAAC;QACD,MAAM,eAAe,GAAG,cAAc,CAAC,aAAa,CAAC;QACrD,MAAM,eAAe,GAAG,cAAc,CAAC,eAAe,CAAC;QACvD,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,eAAe,KAAK,QAAQ;eACzE,eAAe,GAAG,eAAe,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,gDAAgD,CAAC,CAAC;QAClG,CAAC;IACH,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC;WACjD,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IACD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC;QACzD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACrF,MAAM,IAAI,KAAK,CAAC,6FAA6F,CAAC,CAAC;QACjH,CAAC;QACD,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAChE,IAAI,CAAC,QAAQ,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK,GAAG,CAAC,EAAE,CAAC;YAC5F,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,uCAAuC,CAAC,CAAC;QAChG,CAAC;QACD,IAAI,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,kBAAkB,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,oBAAoB,EAAE,CAAC;QACzF,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC;WACzD,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAG,MAAM;WAChD,MAAM,CAAC,kBAAkB,CAAC,aAAa,GAAG,UAAU,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,YAAY,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;WAC3C,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC;WAC7B,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAChF,CAAC;IACD,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/D,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC;WAC3D,MAAM,CAAC,OAAO,CAAC,sBAAsB,GAAG,CAAC;WACzC,MAAM,CAAC,OAAO,CAAC,sBAAsB,GAAG,OAAO,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;IAC5F,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC;WACvD,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,MAAM,CAAC,OAAO,CAAC,sBAAsB;WACzE,MAAM,CAAC,OAAO,CAAC,kBAAkB,GAAG,SAAS,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,0FAA0F,CAAC,CAAC;IAC9G,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;WAC5C,MAAM,CAAC,OAAO,CAAC,YAAY,IAAI,CAAC;WAChC,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,KAAK,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvF,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACrD,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC;WAClD,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,CAAC;WAChC,MAAM,CAAC,OAAO,CAAC,aAAa,GAAG,MAAM,EAAE,CAAC;QAC3C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;WACxD,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa;WACjE,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,OAAO,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,iFAAiF,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC;WACxD,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,MAAM;WAC3C,MAAM,CAAC,OAAO,CAAC,mBAAmB,GAAG,SAAS,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,0EAA0E,CAAC,CAAC;IAC9F,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,IAAsB,EACtB,QAAkB;IAElB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAE9D,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAEjF,MAAM,cAAc,GAAa,EAAE,CAAC;QACpC,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;QAC3D,cAAc,CAAC,SAAS,CAAC,CAAC;QAC1B,QAAQ,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;QACzE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,4BAA4B,OAAO,EAAE,CAAC,CAAC;QAC5D,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAgC;IAIjE,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpE,cAAc,CAAC,MAAM,CAAC,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAA0B;IACnD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,CAAC,aAAa,EAAE,kBAAkB,CAAC,CAAC;IACjF,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,MAAM,GAAG,mBAAmB,EAAE,CAAC;IACnC,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7D,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACvB,IAAI,MAAM,CAAC,MAAM;QAAE,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEhD,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC/D,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACxB,IAAI,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;SAAM,IAAI,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,oEAAoE,CAAC,CAAC;IACpG,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;AACpE,CAAC;AAED,SAAS,gBAAgB,CACvB,cAAsB,EACtB,QAAgB,EAChB,OAAO,GAAG,OAAO,EAAE;IAEnB,MAAM,QAAQ,GAAG,cAAc,KAAK,GAAG;QACrC,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAC/B,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC,CAAC,cAAc,CAAC;IAErB,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,QAAgB,EAChB,OAAO,GAAG,OAAO,EAAE;IAEnB,OAAO,gBAAgB,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,cAAsB,EACtB,QAAgB,EAChB,OAAO,GAAG,OAAO,EAAE;IAEnB,OAAO,gBAAgB,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC"}
@@ -16,12 +16,36 @@ export interface ContextConfig {
16
16
  maxProjectTokens: number;
17
17
  maxSummaryTokens: number;
18
18
  }
19
+ /**
20
+ * Optional dedicated model used to generate compaction summaries instead of the
21
+ * active session model. Opt-in only: when absent, compaction uses the active
22
+ * model exactly as before.
23
+ */
24
+ export interface CompactionModelConfig {
25
+ provider: string;
26
+ id: string;
27
+ }
28
+ /**
29
+ * Reasoning levels applied to the compaction summary request only. `off` omits
30
+ * any provider-specific thinking option, preserving the pre-existing request
31
+ * shape. Providers without reasoning support ignore the mapped option.
32
+ */
33
+ export declare const COMPACTION_THINKING_LEVELS: readonly ["off", "minimal", "low", "medium", "high", "xhigh", "max"];
34
+ export type CompactionThinkingLevel = (typeof COMPACTION_THINKING_LEVELS)[number];
35
+ export interface CompactionSummaryConfig {
36
+ /** Reasoning level for compaction summary requests. Default: `off`. */
37
+ thinking?: CompactionThinkingLevel;
38
+ }
19
39
  export interface CompactionConfig {
20
40
  enabled: boolean;
21
41
  mode: "hierarchical";
22
42
  validate: boolean;
23
43
  segmentTargetTokens: number;
24
44
  preserveRecentVerbatim: boolean;
45
+ /** Opt-in dedicated model for compaction summary generation. */
46
+ model?: CompactionModelConfig;
47
+ /** Opt-in summary request controls. */
48
+ summary?: CompactionSummaryConfig;
25
49
  }
26
50
  export interface EmbeddingConfig {
27
51
  /** Local is the supported default; remote requires an exact consent profile. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,19 @@
1
1
  /** Frozen additive configuration contract for the 0.2 release line. */
2
2
  export const CONFIG_SCHEMA_VERSION = "ds4-context-config-v1";
3
+ /**
4
+ * Reasoning levels applied to the compaction summary request only. `off` omits
5
+ * any provider-specific thinking option, preserving the pre-existing request
6
+ * shape. Providers without reasoning support ignore the mapped option.
7
+ */
8
+ export const COMPACTION_THINKING_LEVELS = [
9
+ "off",
10
+ "minimal",
11
+ "low",
12
+ "medium",
13
+ "high",
14
+ "xhigh",
15
+ "max",
16
+ ];
3
17
  export const DEFAULT_CONFIG = {
4
18
  enabled: true,
5
19
  context: {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ds4-context-core",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Runtime-neutral context planning, retrieval, compaction, memory, and privacy for agent runtimes.",
5
5
  "type": "module",
6
6
  "license": "MIT",