@chances-ai/config 3.4.0 → 3.5.0
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/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +95 -1
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +35 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ChancesConfig } from "./types.js";
|
|
2
|
-
export { type AgentConfig, type ChancesConfig, type ExternalPluginEntry, type McpConfig, type McpServerConfigJson, type PermissionPolicy, type PermissionDecision, type PluginsConfig, type ToolCategory, defaultPolicy, } from "./types.js";
|
|
2
|
+
export { type AgentConfig, type ChancesConfig, type CompactionConfig, type ExternalPluginEntry, type McpConfig, type McpServerConfigJson, type PermissionPolicy, type PermissionDecision, type PluginsConfig, type ToolCategory, defaultPolicy, } from "./types.js";
|
|
3
3
|
export { AuthStore } from "./auth.js";
|
|
4
4
|
/** Walks upward from `cwd` to find a workspace root (`.git` or `.chances`). */
|
|
5
5
|
export declare function discoverWorkspace(cwd?: string): string;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,aAAa,EAOnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACd,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,aAAa,GACd,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,MAAM,CAQrE;AAoBD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,EAAE,GAAG,oBAAc,GAAG,aAAa,CAkBxF"}
|
package/dist/index.js
CHANGED
|
@@ -96,7 +96,87 @@ function mergeAgent(global, project, env) {
|
|
|
96
96
|
out.maxBackgroundTasks = cand;
|
|
97
97
|
break;
|
|
98
98
|
}
|
|
99
|
-
|
|
99
|
+
const compaction = mergeCompaction(global?.compaction, project?.compaction, env);
|
|
100
|
+
if (compaction)
|
|
101
|
+
out.compaction = compaction;
|
|
102
|
+
return out.maxTurns === undefined && out.maxBackgroundTasks === undefined && out.compaction === undefined
|
|
103
|
+
? undefined
|
|
104
|
+
: out;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* (3.5) Merge compaction settings. Env > project > global per field.
|
|
108
|
+
* Out-of-range / non-finite values fall through, same shape as
|
|
109
|
+
* `mergeAgent`. Strict-int / strict-bool env parsing (no
|
|
110
|
+
* `parseInt`-style footguns).
|
|
111
|
+
*/
|
|
112
|
+
function mergeCompaction(global, project, env) {
|
|
113
|
+
const enabledCandidates = [
|
|
114
|
+
parseStrictBool(env.CHANCES_COMPACTION_ENABLED),
|
|
115
|
+
project?.enabled,
|
|
116
|
+
global?.enabled,
|
|
117
|
+
];
|
|
118
|
+
const reserveCandidates = [
|
|
119
|
+
parseStrictInt(env.CHANCES_COMPACTION_RESERVE_TOKENS),
|
|
120
|
+
project?.reserveTokens,
|
|
121
|
+
global?.reserveTokens,
|
|
122
|
+
];
|
|
123
|
+
const keepCandidates = [
|
|
124
|
+
parseStrictInt(env.CHANCES_COMPACTION_KEEP_RECENT_TURNS),
|
|
125
|
+
project?.keepRecentTurns,
|
|
126
|
+
global?.keepRecentTurns,
|
|
127
|
+
];
|
|
128
|
+
const savingsCandidates = [
|
|
129
|
+
parseStrictInt(env.CHANCES_COMPACTION_PRUNE_MIN_SAVINGS),
|
|
130
|
+
project?.pruneMinSavings,
|
|
131
|
+
global?.pruneMinSavings,
|
|
132
|
+
];
|
|
133
|
+
const out = {};
|
|
134
|
+
for (const cand of enabledCandidates) {
|
|
135
|
+
if (cand === undefined)
|
|
136
|
+
continue;
|
|
137
|
+
out.enabled = cand;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
for (const cand of reserveCandidates) {
|
|
141
|
+
if (cand === undefined)
|
|
142
|
+
continue;
|
|
143
|
+
if (!Number.isFinite(cand) || !Number.isInteger(cand))
|
|
144
|
+
continue;
|
|
145
|
+
if (cand < 0 || cand > 1_000_000)
|
|
146
|
+
continue;
|
|
147
|
+
out.reserveTokens = cand;
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
for (const cand of keepCandidates) {
|
|
151
|
+
if (cand === undefined)
|
|
152
|
+
continue;
|
|
153
|
+
if (!Number.isFinite(cand) || !Number.isInteger(cand))
|
|
154
|
+
continue;
|
|
155
|
+
if (cand < 0 || cand > 200)
|
|
156
|
+
continue;
|
|
157
|
+
out.keepRecentTurns = cand;
|
|
158
|
+
break;
|
|
159
|
+
}
|
|
160
|
+
for (const cand of savingsCandidates) {
|
|
161
|
+
if (cand === undefined)
|
|
162
|
+
continue;
|
|
163
|
+
if (!Number.isFinite(cand) || !Number.isInteger(cand))
|
|
164
|
+
continue;
|
|
165
|
+
if (cand < 0 || cand > 1_000_000)
|
|
166
|
+
continue;
|
|
167
|
+
out.pruneMinSavings = cand;
|
|
168
|
+
break;
|
|
169
|
+
}
|
|
170
|
+
// Allowlist: project wins over global wholesale (no field-level
|
|
171
|
+
// merge — a project that wants to add MCP tools should restate the
|
|
172
|
+
// full list rather than have global silently leak in).
|
|
173
|
+
const tools = project?.compactableTools ?? global?.compactableTools;
|
|
174
|
+
if (tools !== undefined) {
|
|
175
|
+
if (Array.isArray(tools) && tools.every((t) => typeof t === "string")) {
|
|
176
|
+
out.compactableTools = [...tools];
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
return Object.keys(out).length === 0 ? undefined : out;
|
|
100
180
|
}
|
|
101
181
|
/** Strict env-string → integer parser. Rejects `1e2`, `12.5`, empty/whitespace,
|
|
102
182
|
* and anything with non-digit characters. Returns undefined on any non-match
|
|
@@ -111,6 +191,20 @@ function parseStrictInt(raw) {
|
|
|
111
191
|
const n = Number(trimmed);
|
|
112
192
|
return Number.isInteger(n) ? n : undefined;
|
|
113
193
|
}
|
|
194
|
+
/** (3.5) Strict env-string → boolean. Accepts `0`/`1`/`true`/`false`/
|
|
195
|
+
* `yes`/`no` (case-insensitive); everything else returns undefined so
|
|
196
|
+
* the merge falls through. Mirrors `parseStrictInt`'s "be loud about
|
|
197
|
+
* unrecognized input" stance. */
|
|
198
|
+
function parseStrictBool(raw) {
|
|
199
|
+
if (raw === undefined)
|
|
200
|
+
return undefined;
|
|
201
|
+
const trimmed = raw.trim().toLowerCase();
|
|
202
|
+
if (trimmed === "1" || trimmed === "true" || trimmed === "yes")
|
|
203
|
+
return true;
|
|
204
|
+
if (trimmed === "0" || trimmed === "false" || trimmed === "no")
|
|
205
|
+
return false;
|
|
206
|
+
return undefined;
|
|
207
|
+
}
|
|
114
208
|
function mergePlugins(global, project) {
|
|
115
209
|
if (!global && !project)
|
|
116
210
|
return undefined;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -45,6 +45,39 @@ export interface McpConfig {
|
|
|
45
45
|
/** Marker alias — see McpConfig. The mcp package narrows this into its own
|
|
46
46
|
* discriminated union when consuming. */
|
|
47
47
|
export type McpServerConfigJson = Record<string, unknown>;
|
|
48
|
+
/**
|
|
49
|
+
* (3.5) Auto-compaction tuning. Defaults live in `@chances-ai/core`'s
|
|
50
|
+
* `Compactor` so the engine can be constructed without a `Compactor`
|
|
51
|
+
* (e.g. subagent engines bypass compaction entirely).
|
|
52
|
+
*
|
|
53
|
+
* Allowlist not denylist (codex Round-1 SHOULD-FIX #2): we name the
|
|
54
|
+
* tools whose outputs MAY be pruned. Everything else is shielded.
|
|
55
|
+
* A denylist would silently swallow new high-value tools the moment
|
|
56
|
+
* they're registered.
|
|
57
|
+
*/
|
|
58
|
+
export interface CompactionConfig {
|
|
59
|
+
/** Master switch. Default true. */
|
|
60
|
+
enabled?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Tokens reserved for LLM response + safety margin. Subtracted from
|
|
63
|
+
* the model's `contextWindow` to compute the threshold. Default:
|
|
64
|
+
* `max(16384, floor(contextWindow * 0.10))` — applied per-request
|
|
65
|
+
* by the compactor, so a config override here is a hard floor.
|
|
66
|
+
*/
|
|
67
|
+
reserveTokens?: number;
|
|
68
|
+
/** How many turns survive a compaction. Default 5. */
|
|
69
|
+
keepRecentTurns?: number;
|
|
70
|
+
/** Stage 1 minimum savings gate. Skip pruning unless ≥ this. Default 20000. */
|
|
71
|
+
pruneMinSavings?: number;
|
|
72
|
+
/**
|
|
73
|
+
* Allowlist (codex Round-1 SHOULD-FIX #2): tool names eligible for
|
|
74
|
+
* pruning. Default: ["bash", "grep"]. Adding to this list accepts
|
|
75
|
+
* the responsibility for losing those tools' historical outputs.
|
|
76
|
+
* Not env-overridable (comma-parsing of tool names invites quoting
|
|
77
|
+
* bugs).
|
|
78
|
+
*/
|
|
79
|
+
compactableTools?: string[];
|
|
80
|
+
}
|
|
48
81
|
/** Agent-loop tuning. Optional; defaults live in `@chances-ai/core`'s engine. */
|
|
49
82
|
export interface AgentConfig {
|
|
50
83
|
/**
|
|
@@ -66,6 +99,8 @@ export interface AgentConfig {
|
|
|
66
99
|
* Range: 1..16. Out-of-range values fall back to the registry default (4).
|
|
67
100
|
*/
|
|
68
101
|
maxBackgroundTasks?: number;
|
|
102
|
+
/** (3.5) Auto-compaction. Opt-out via `enabled: false`. */
|
|
103
|
+
compaction?: CompactionConfig;
|
|
69
104
|
}
|
|
70
105
|
export interface ChancesConfig {
|
|
71
106
|
/** Provider id, e.g. "mock", "anthropic", "openai". */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;yEACyE;AACzE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;AAE9E,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAED;;;sCAGsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED;yCACyC;AACzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;yEACyE;AACzE,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;AAE9E,MAAM,MAAM,YAAY,GACpB,WAAW,GACX,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,aAAa,GACb,aAAa,GACb,cAAc,GACd,cAAc,CAAC;AAEnB,MAAM,WAAW,gBAAgB;IAC/B,wFAAwF;IACxF,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IACnD,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC5C;AAED;;;sCAGsC;AACtC,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,SAAS;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC/C;AAED;yCACyC;AACzC,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;;;;;;;;GASG;AACH,MAAM,WAAW,gBAAgB;IAC/B,mCAAmC;IACnC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;;;OAMG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,iFAAiF;AACjF,MAAM,WAAW,WAAW;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,gBAAgB,CAAC;IAC9B,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,kCAAkC;IAClC,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,4EAA4E;IAC5E,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,gBAuB3B,CAAC"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAsIA,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,QAAQ,EAAE;QACR,WAAW,EAAE,OAAO;QACpB,YAAY,EAAE,QAAQ;QACtB,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,OAAO;QACf,qEAAqE;QACrE,wEAAwE;QACxE,iEAAiE;QACjE,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,WAAW,EAAE,QAAQ;QACrB,aAAa,EAAE,OAAO;QACtB,cAAc,EAAE,OAAO;QACvB,yEAAyE;QACzE,sEAAsE;QACtE,wEAAwE;QACxE,wEAAwE;QACxE,wEAAwE;QACxE,sCAAsC;QACtC,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chances-ai/config",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"dist"
|
|
15
15
|
],
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@chances-ai/runtime": "3.
|
|
17
|
+
"@chances-ai/runtime": "3.5.0"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"build": "tsc -b",
|