@kaitranntt/ccs 8.9.0 → 8.10.0-dev.10
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/README.md +14 -3
- package/dist/cliproxy/accounts/drain-order.d.ts +9 -1
- package/dist/cliproxy/accounts/drain-order.d.ts.map +1 -1
- package/dist/cliproxy/accounts/drain-order.js +15 -1
- package/dist/cliproxy/accounts/drain-order.js.map +1 -1
- package/dist/cliproxy/ai-providers/codex-plan-compatibility.d.ts.map +1 -1
- package/dist/cliproxy/ai-providers/codex-plan-compatibility.js +10 -8
- package/dist/cliproxy/ai-providers/codex-plan-compatibility.js.map +1 -1
- package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts +11 -1
- package/dist/cliproxy/ai-providers/codex-reasoning-proxy.d.ts.map +1 -1
- package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js +61 -21
- package/dist/cliproxy/ai-providers/codex-reasoning-proxy.js.map +1 -1
- package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts +1 -1
- package/dist/cliproxy/ai-providers/model-id-normalizer.d.ts.map +1 -1
- package/dist/cliproxy/ai-providers/model-id-normalizer.js +5 -1
- package/dist/cliproxy/ai-providers/model-id-normalizer.js.map +1 -1
- package/dist/cliproxy/binary/install-lifecycle-lock.d.ts +2 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.d.ts.map +1 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.js +63 -0
- package/dist/cliproxy/binary/install-lifecycle-lock.js.map +1 -0
- package/dist/cliproxy/binary/installer.d.ts +13 -1
- package/dist/cliproxy/binary/installer.d.ts.map +1 -1
- package/dist/cliproxy/binary/installer.js +81 -42
- package/dist/cliproxy/binary/installer.js.map +1 -1
- package/dist/cliproxy/binary/lifecycle.d.ts +6 -1
- package/dist/cliproxy/binary/lifecycle.d.ts.map +1 -1
- package/dist/cliproxy/binary/lifecycle.js +13 -10
- package/dist/cliproxy/binary/lifecycle.js.map +1 -1
- package/dist/cliproxy/binary/platform-detector.d.ts.map +1 -1
- package/dist/cliproxy/binary/platform-detector.js +5 -4
- package/dist/cliproxy/binary/platform-detector.js.map +1 -1
- package/dist/cliproxy/binary/version-checker.d.ts +2 -0
- package/dist/cliproxy/binary/version-checker.d.ts.map +1 -1
- package/dist/cliproxy/binary/version-checker.js +5 -1
- package/dist/cliproxy/binary/version-checker.js.map +1 -1
- package/dist/cliproxy/binary-manager.d.ts +2 -0
- package/dist/cliproxy/binary-manager.d.ts.map +1 -1
- package/dist/cliproxy/binary-manager.js +31 -29
- package/dist/cliproxy/binary-manager.js.map +1 -1
- package/dist/cliproxy/config/extended-context-config.d.ts.map +1 -1
- package/dist/cliproxy/config/extended-context-config.js +38 -1
- package/dist/cliproxy/config/extended-context-config.js.map +1 -1
- package/dist/cliproxy/config/thinking-config.d.ts.map +1 -1
- package/dist/cliproxy/config/thinking-config.js +5 -5
- package/dist/cliproxy/config/thinking-config.js.map +1 -1
- package/dist/cliproxy/executor/env-resolver.js +1 -1
- package/dist/cliproxy/executor/env-resolver.js.map +1 -1
- package/dist/cliproxy/executor/index.d.ts.map +1 -1
- package/dist/cliproxy/executor/index.js +2 -1
- package/dist/cliproxy/executor/index.js.map +1 -1
- package/dist/cliproxy/executor/launch-settings.d.ts.map +1 -1
- package/dist/cliproxy/executor/launch-settings.js +9 -2
- package/dist/cliproxy/executor/launch-settings.js.map +1 -1
- package/dist/cliproxy/model-catalog.d.ts +7 -1
- package/dist/cliproxy/model-catalog.d.ts.map +1 -1
- package/dist/cliproxy/model-catalog.js +140 -11
- package/dist/cliproxy/model-catalog.js.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.d.ts.map +1 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js +3 -1
- package/dist/cliproxy/proxy/tool-sanitization-proxy.js.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.d.ts +4 -5
- package/dist/cliproxy/routing/routing-strategy.d.ts.map +1 -1
- package/dist/cliproxy/routing/routing-strategy.js +18 -13
- package/dist/cliproxy/routing/routing-strategy.js.map +1 -1
- package/dist/cliproxy/services/binary-service.d.ts.map +1 -1
- package/dist/cliproxy/services/binary-service.js +24 -20
- package/dist/cliproxy/services/binary-service.js.map +1 -1
- package/dist/cliproxy/services/catalog-cache.d.ts.map +1 -1
- package/dist/cliproxy/services/catalog-cache.js +2 -0
- package/dist/cliproxy/services/catalog-cache.js.map +1 -1
- package/dist/cliproxy/types/binary-types.d.ts +1 -0
- package/dist/cliproxy/types/binary-types.d.ts.map +1 -1
- package/dist/cliproxy/types/config-types.d.ts +3 -0
- package/dist/cliproxy/types/config-types.d.ts.map +1 -1
- package/dist/commands/cliproxy/order-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/order-subcommand.js +21 -0
- package/dist/commands/cliproxy/order-subcommand.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/format-helpers.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/handlers.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/handlers.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/claude.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/codex.js.map +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js +1 -1
- package/dist/commands/cliproxy/quota-subcommand/sections/gemini-cli.js.map +1 -1
- package/dist/commands/cliproxy/variant-subcommand.d.ts.map +1 -1
- package/dist/commands/cliproxy/variant-subcommand.js +5 -1
- package/dist/commands/cliproxy/variant-subcommand.js.map +1 -1
- package/dist/cursor/cursor-daemon.d.ts.map +1 -1
- package/dist/cursor/cursor-daemon.js +7 -4
- package/dist/cursor/cursor-daemon.js.map +1 -1
- package/dist/delegation/delegation-handler.d.ts.map +1 -1
- package/dist/delegation/delegation-handler.js +12 -2
- package/dist/delegation/delegation-handler.js.map +1 -1
- package/dist/dispatcher/flows/cliproxy-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/cliproxy-flow.js +1 -0
- package/dist/dispatcher/flows/cliproxy-flow.js.map +1 -1
- package/dist/dispatcher/flows/settings-flow.d.ts.map +1 -1
- package/dist/dispatcher/flows/settings-flow.js +3 -1
- package/dist/dispatcher/flows/settings-flow.js.map +1 -1
- package/dist/management/shared-manager/diverged-file-adopter.d.ts.map +1 -1
- package/dist/management/shared-manager/diverged-file-adopter.js +106 -76
- package/dist/management/shared-manager/diverged-file-adopter.js.map +1 -1
- package/dist/management/shared-manager/plugin-metadata-normalizer.d.ts.map +1 -1
- package/dist/management/shared-manager/plugin-metadata-normalizer.js +72 -21
- package/dist/management/shared-manager/plugin-metadata-normalizer.js.map +1 -1
- package/dist/shared/extended-context-utils.d.ts +17 -1
- package/dist/shared/extended-context-utils.d.ts.map +1 -1
- package/dist/shared/extended-context-utils.js +37 -3
- package/dist/shared/extended-context-utils.js.map +1 -1
- package/dist/shared/provider-preset-catalog.d.ts +3 -2
- package/dist/shared/provider-preset-catalog.d.ts.map +1 -1
- package/dist/shared/provider-preset-catalog.js +19 -2
- package/dist/shared/provider-preset-catalog.js.map +1 -1
- package/dist/ui/assets/{Trans-dQ5QXCeL.js → Trans-lb7IJ7fS.js} +1 -1
- package/dist/ui/assets/{accounts-DMMNI7g4.js → accounts-BmdjkRdd.js} +1 -1
- package/dist/ui/assets/{alert-dialog-BIWuuEiP.js → alert-dialog-QI7ssXmW.js} +1 -1
- package/dist/ui/assets/{api-BKTghVxS.js → api-yR-jnOTk.js} +1 -1
- package/dist/ui/assets/{auth-section-BKDcPs0P.js → auth-section-UKobnpsa.js} +1 -1
- package/dist/ui/assets/{backups-section-DB1N4X1P.js → backups-section-Bje38hdS.js} +1 -1
- package/dist/ui/assets/{channels-dhk_rRcA.js → channels-CIcZH84-.js} +1 -1
- package/dist/ui/assets/{checkbox-h1pwW_6m.js → checkbox-kTCwj4DC.js} +1 -1
- package/dist/ui/assets/{claude-extension-WLOGl6eK.js → claude-extension-DFIM_obP.js} +1 -1
- package/dist/ui/assets/cliproxy-CnK8Pxlp.js +4 -0
- package/dist/ui/assets/{cliproxy-ai-providers-DVkAmHVF.js → cliproxy-ai-providers-CrszOINU.js} +1 -1
- package/dist/ui/assets/{cliproxy-control-panel-D25OT5u5.js → cliproxy-control-panel-DkZ0lSNm.js} +1 -1
- package/dist/ui/assets/{codex-Bqc25al7.js → codex-BhDm5zRh.js} +1 -1
- package/dist/ui/assets/{confirm-dialog-BnAIV9ZB.js → confirm-dialog-60zCksm4.js} +1 -1
- package/dist/ui/assets/{copilot-BdjZjuRs.js → copilot-DYNOTCn0.js} +1 -1
- package/dist/ui/assets/{cursor-DTbIQ-d7.js → cursor-Cf9xEm7_.js} +1 -1
- package/dist/ui/assets/{droid-DAjrpAjP.js → droid-D-hRvXnW.js} +1 -1
- package/dist/ui/assets/{globalenv-section-BzirfKtN.js → globalenv-section-CiMNWxaM.js} +1 -1
- package/dist/ui/assets/{health-CDCop1Et.js → health-SNz-VyXt.js} +1 -1
- package/dist/ui/assets/{index-vdkPayvk.js → index-B2-0piAo.js} +1 -1
- package/dist/ui/assets/{index-B4yjQknk.js → index-BFSwIiWI.js} +36 -36
- package/dist/ui/assets/{index-bC8F80OC.js → index-BFVDO-nS.js} +1 -1
- package/dist/ui/assets/{index-Dkee4NQG.js → index-CHFm1Cvg.js} +1 -1
- package/dist/ui/assets/{index-DMGiMF5C.js → index-D4duw9yj.js} +1 -1
- package/dist/ui/assets/{index-BhGdNER3.js → index-OcUP97hO.js} +1 -1
- package/dist/ui/assets/{index-BF4hYrQf.js → index-eT0MCNwt.js} +1 -1
- package/dist/ui/assets/{logs-Bb1BaiFq.js → logs-CMuCN17Z.js} +1 -1
- package/dist/ui/assets/{masked-input-DxWhb6sQ.js → masked-input-BwaApqdO.js} +1 -1
- package/dist/ui/assets/proxy-status-widget-BeAaBd0j.js +1 -0
- package/dist/ui/assets/{raw-json-settings-editor-panel-BeZJbsnO.js → raw-json-settings-editor-panel-QE0I9KQE.js} +1 -1
- package/dist/ui/assets/{searchable-select-CcXdAHJm.js → searchable-select-C_K2MS5j.js} +1 -1
- package/dist/ui/assets/{separator-O1g2RdCE.js → separator-D7Dw51fp.js} +1 -1
- package/dist/ui/assets/{shared-Ct6UqE0N.js → shared-CaL1210c.js} +1 -1
- package/dist/ui/assets/{table-D4ZJKsoh.js → table-BTmymca2.js} +1 -1
- package/dist/ui/assets/{updates-jnNBispr.js → updates-QvH7D5Ap.js} +1 -1
- package/dist/ui/assets/{use-accounts-DXwh5f2t.js → use-accounts-Cgk1IgNc.js} +1 -1
- package/dist/ui/icons/orcarouter.svg +1 -0
- package/dist/ui/index.html +1 -1
- package/dist/utils/hooks/image-analysis-backend-resolver.d.ts.map +1 -1
- package/dist/utils/hooks/image-analysis-backend-resolver.js +6 -0
- package/dist/utils/hooks/image-analysis-backend-resolver.js.map +1 -1
- package/dist/utils/hooks/image-analysis-runtime-status.d.ts.map +1 -1
- package/dist/utils/hooks/image-analysis-runtime-status.js +8 -3
- package/dist/utils/hooks/image-analysis-runtime-status.js.map +1 -1
- package/dist/utils/openai-compat-launch-settings.d.ts +11 -1
- package/dist/utils/openai-compat-launch-settings.d.ts.map +1 -1
- package/dist/utils/openai-compat-launch-settings.js +55 -5
- package/dist/utils/openai-compat-launch-settings.js.map +1 -1
- package/dist/utils/package-manager-detector.d.ts.map +1 -1
- package/dist/utils/package-manager-detector.js +6 -2
- package/dist/utils/package-manager-detector.js.map +1 -1
- package/dist/utils/websearch/agy.d.ts +3 -1
- package/dist/utils/websearch/agy.d.ts.map +1 -1
- package/dist/utils/websearch/agy.js +33 -23
- package/dist/utils/websearch/agy.js.map +1 -1
- package/dist/utils/websearch/gemini-cli.d.ts +3 -1
- package/dist/utils/websearch/gemini-cli.d.ts.map +1 -1
- package/dist/utils/websearch/gemini-cli.js +33 -23
- package/dist/utils/websearch/gemini-cli.js.map +1 -1
- package/dist/utils/websearch/grok-cli.d.ts +3 -1
- package/dist/utils/websearch/grok-cli.d.ts.map +1 -1
- package/dist/utils/websearch/grok-cli.js +33 -23
- package/dist/utils/websearch/grok-cli.js.map +1 -1
- package/dist/utils/websearch/opencode-cli.d.ts +3 -1
- package/dist/utils/websearch/opencode-cli.d.ts.map +1 -1
- package/dist/utils/websearch/opencode-cli.js +33 -23
- package/dist/utils/websearch/opencode-cli.js.map +1 -1
- package/dist/utils/websearch/status.d.ts +4 -1
- package/dist/utils/websearch/status.d.ts.map +1 -1
- package/dist/utils/websearch/status.js +47 -25
- package/dist/utils/websearch/status.js.map +1 -1
- package/dist/web-server/model-pricing.d.ts.map +1 -1
- package/dist/web-server/model-pricing.js +126 -11
- package/dist/web-server/model-pricing.js.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts +5 -0
- package/dist/web-server/services/cliproxy-dashboard-install-service.d.ts.map +1 -1
- package/dist/web-server/services/cliproxy-dashboard-install-service.js +53 -36
- package/dist/web-server/services/cliproxy-dashboard-install-service.js.map +1 -1
- package/dist/web-server/usage/aggregator.d.ts.map +1 -1
- package/dist/web-server/usage/aggregator.js +36 -2
- package/dist/web-server/usage/aggregator.js.map +1 -1
- package/package.json +4 -1
- package/scripts/dev-release.sh +1 -1
- package/dist/ui/assets/cliproxy-CE_mZIGU.js +0 -4
- package/dist/ui/assets/proxy-status-widget-Dj_46CdP.js +0 -1
|
@@ -153,60 +153,74 @@ function validateManagedJson(filePath, content) {
|
|
|
153
153
|
return false;
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
|
-
function
|
|
157
|
-
|
|
156
|
+
function canonicalIdentityOf(stats) {
|
|
157
|
+
return { ino: stats.ino, mtimeMs: stats.mtimeMs, size: stats.size };
|
|
158
|
+
}
|
|
159
|
+
function canonicalIdentityMatches(expected, current) {
|
|
160
|
+
if (!expected || !current)
|
|
161
|
+
return expected === current;
|
|
162
|
+
return (expected.ino === current.ino &&
|
|
163
|
+
expected.mtimeMs === current.mtimeMs &&
|
|
164
|
+
expected.size === current.size);
|
|
165
|
+
}
|
|
166
|
+
function tempWritePath(targetPath) {
|
|
167
|
+
return `${targetPath}.ccs-write-${process.pid}-${Date.now()}-${adoptionClaimSequence++}`;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Write content into a fresh temp file and make it durable, so whatever
|
|
171
|
+
* publishes it under its final name publishes complete bytes.
|
|
172
|
+
*/
|
|
173
|
+
function writeDurableTempFile(tempPath, content, mode) {
|
|
158
174
|
let descriptor = null;
|
|
159
175
|
try {
|
|
160
176
|
descriptor = fs.openSync(tempPath, 'wx', mode);
|
|
161
177
|
fs.fchmodSync(descriptor, mode);
|
|
162
178
|
fs.writeFileSync(descriptor, content);
|
|
163
179
|
fs.fsyncSync(descriptor);
|
|
164
|
-
fs.closeSync(descriptor);
|
|
165
|
-
descriptor = null;
|
|
166
|
-
fs.linkSync(tempPath, targetPath);
|
|
167
|
-
fs.unlinkSync(tempPath);
|
|
168
180
|
}
|
|
169
|
-
|
|
181
|
+
finally {
|
|
170
182
|
if (descriptor !== null) {
|
|
171
183
|
fs.closeSync(descriptor);
|
|
172
184
|
}
|
|
173
|
-
try {
|
|
174
|
-
fs.unlinkSync(tempPath);
|
|
175
|
-
}
|
|
176
|
-
catch {
|
|
177
|
-
// The temp file may not have been created or may already have been renamed.
|
|
178
|
-
}
|
|
179
|
-
throw err;
|
|
180
185
|
}
|
|
181
186
|
}
|
|
182
|
-
function
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
const backupPath = sequence === 0 ? basePath : `${basePath}-${sequence}`;
|
|
189
|
-
try {
|
|
190
|
-
atomicWriteFile(backupPath, content, mode);
|
|
191
|
-
return backupPath;
|
|
192
|
-
}
|
|
193
|
-
catch (err) {
|
|
194
|
-
if (err.code !== 'EEXIST')
|
|
195
|
-
throw err;
|
|
196
|
-
sequence++;
|
|
197
|
-
}
|
|
187
|
+
function discardTempFile(tempPath) {
|
|
188
|
+
try {
|
|
189
|
+
fs.unlinkSync(tempPath);
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
// The temp file may not have been created or may already have been renamed.
|
|
198
193
|
}
|
|
199
194
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
195
|
+
/**
|
|
196
|
+
* Create a file only if the path is free, writing the content atomically.
|
|
197
|
+
*
|
|
198
|
+
* link() is an atomic no-replace operation, so concurrent CCS processes
|
|
199
|
+
* cannot overwrite each other's sidecar artifacts.
|
|
200
|
+
*/
|
|
201
|
+
function createFileNoReplace(targetPath, content, mode) {
|
|
202
|
+
const tempPath = tempWritePath(targetPath);
|
|
203
|
+
try {
|
|
204
|
+
writeDurableTempFile(tempPath, content, mode);
|
|
205
|
+
fs.linkSync(tempPath, targetPath);
|
|
206
|
+
fs.unlinkSync(tempPath);
|
|
207
|
+
}
|
|
208
|
+
catch (err) {
|
|
209
|
+
discardTempFile(tempPath);
|
|
210
|
+
throw err;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Publish a sidecar next to a managed file, never replacing an existing one.
|
|
215
|
+
* Numbered suffixes keep every concurrent writer's artifact recoverable.
|
|
216
|
+
*/
|
|
217
|
+
function publishSidecarNoReplace(basePath, content, mode) {
|
|
204
218
|
let sequence = 0;
|
|
205
219
|
while (true) {
|
|
206
|
-
const
|
|
220
|
+
const sidecarPath = sequence === 0 ? basePath : `${basePath}-${sequence}`;
|
|
207
221
|
try {
|
|
208
|
-
|
|
209
|
-
return
|
|
222
|
+
createFileNoReplace(sidecarPath, content, mode);
|
|
223
|
+
return sidecarPath;
|
|
210
224
|
}
|
|
211
225
|
catch (err) {
|
|
212
226
|
if (err.code !== 'EEXIST')
|
|
@@ -215,22 +229,56 @@ function publishAdoptedRecoveryNoReplace(sourcePath, divergedPath) {
|
|
|
215
229
|
}
|
|
216
230
|
}
|
|
217
231
|
}
|
|
218
|
-
|
|
232
|
+
/**
|
|
233
|
+
* Publish adopted content onto the canonical path by replacement.
|
|
234
|
+
*
|
|
235
|
+
* The canonical path is never emptied: a fully written temp file is renamed
|
|
236
|
+
* over it, so no window exists in which Claude Code or a second `ccs` can
|
|
237
|
+
* observe the path as missing and seed an empty placeholder there.
|
|
238
|
+
*
|
|
239
|
+
* A compare-and-swap guard runs as late as possible - after the temp file is
|
|
240
|
+
* durable, immediately before the rename. When the canonical inode changed
|
|
241
|
+
* since it was read, publication is refused rather than clobbering a writer
|
|
242
|
+
* that got there first; the adopted bytes stay in the sidecars the caller
|
|
243
|
+
* published. A pure chmod is not a content change, so the mode the inode
|
|
244
|
+
* carries at publication time wins.
|
|
245
|
+
*
|
|
246
|
+
* The guard is read-then-act, not atomic: POSIX offers no compare-and-swap
|
|
247
|
+
* rename, so a writer landing between the check and the rename is still
|
|
248
|
+
* overwritten. That is a narrowing, not a guarantee - the window shrinks from
|
|
249
|
+
* the ~100 ms the old claim-and-republish path left open to two adjacent
|
|
250
|
+
* syscalls, and the pre-image sidecar the caller published keeps even that
|
|
251
|
+
* outcome recoverable. Do not build stricter guarantees on top of it.
|
|
252
|
+
*/
|
|
253
|
+
function publishCanonicalContent(writePath, content, mode, expected) {
|
|
254
|
+
const tempPath = tempWritePath(writePath);
|
|
219
255
|
try {
|
|
220
|
-
|
|
221
|
-
|
|
256
|
+
writeDurableTempFile(tempPath, content, mode);
|
|
257
|
+
const currentStats = (0, fs_helpers_1.getLstatSync)(writePath);
|
|
258
|
+
const current = currentStats?.isFile() ? canonicalIdentityOf(currentStats) : null;
|
|
259
|
+
if (!canonicalIdentityMatches(expected, current)) {
|
|
260
|
+
// EEXIST is this file's marker for "a race was detected", the same code
|
|
261
|
+
// the reappeared-path and concurrent-replacement guards raise. It does
|
|
262
|
+
// not mean a no-replace link() or open('wx') hit an existing path.
|
|
263
|
+
throw Object.assign(new TypeError(`Canonical file changed during adoption: ${writePath}`), {
|
|
264
|
+
code: 'EEXIST',
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
const publishMode = currentStats ? currentStats.mode & 0o777 : mode;
|
|
268
|
+
if (publishMode !== mode) {
|
|
269
|
+
fs.chmodSync(tempPath, publishMode);
|
|
270
|
+
}
|
|
271
|
+
fs.renameSync(tempPath, writePath);
|
|
222
272
|
}
|
|
223
273
|
catch (err) {
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
publishBackupNoReplace(claimPath, canonicalPath);
|
|
227
|
-
fs.unlinkSync(claimPath);
|
|
274
|
+
discardTempFile(tempPath);
|
|
275
|
+
throw err;
|
|
228
276
|
}
|
|
229
277
|
}
|
|
230
278
|
function getCanonicalFile(canonicalPath) {
|
|
231
279
|
const canonicalLstat = (0, fs_helpers_1.getLstatSync)(canonicalPath);
|
|
232
280
|
if (!canonicalLstat) {
|
|
233
|
-
return { content: null, mode: 0o600, mtimeMs: null, writePath: canonicalPath };
|
|
281
|
+
return { content: null, identity: null, mode: 0o600, mtimeMs: null, writePath: canonicalPath };
|
|
234
282
|
}
|
|
235
283
|
let writePath = canonicalPath;
|
|
236
284
|
if (canonicalLstat.isSymbolicLink()) {
|
|
@@ -242,8 +290,12 @@ function getCanonicalFile(canonicalPath) {
|
|
|
242
290
|
code: 'EINVAL',
|
|
243
291
|
});
|
|
244
292
|
}
|
|
293
|
+
// The identity describes the inode as of the stat above, taken before the
|
|
294
|
+
// content read: a write landing in between leaves us holding newer bytes
|
|
295
|
+
// than the identity describes, and publication fails closed.
|
|
245
296
|
return {
|
|
246
|
-
content: fs.readFileSync(
|
|
297
|
+
content: fs.readFileSync(writePath),
|
|
298
|
+
identity: canonicalIdentityOf(canonicalStats),
|
|
247
299
|
mode: canonicalStats.mode & 0o777,
|
|
248
300
|
mtimeMs: canonicalStats.mtimeMs,
|
|
249
301
|
writePath,
|
|
@@ -263,8 +315,6 @@ function adoptDivergedFileContent(divergedPath, canonicalPath) {
|
|
|
263
315
|
console.log((0, ui_1.warn)(`Unable to claim diverged ${divergedPath}; preserving original${code ? ` (${code})` : ''}`));
|
|
264
316
|
throw err;
|
|
265
317
|
}
|
|
266
|
-
let canonicalClaimPath = null;
|
|
267
|
-
let canonicalWritePath = null;
|
|
268
318
|
let divergencePreserved = false;
|
|
269
319
|
try {
|
|
270
320
|
const claimedStats = fs.lstatSync(claimPath);
|
|
@@ -288,42 +338,26 @@ function adoptDivergedFileContent(divergedPath, canonicalPath) {
|
|
|
288
338
|
return 'claimed';
|
|
289
339
|
}
|
|
290
340
|
const canonical = getCanonicalFile(canonicalPath);
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
if (current) {
|
|
294
|
-
canonicalWritePath = canonical.writePath;
|
|
295
|
-
canonicalClaimPath = `${canonical.writePath}.ccs-canonical-claim-${process.pid}-${Date.now()}-${adoptionClaimSequence++}`;
|
|
296
|
-
fs.renameSync(canonical.writePath, canonicalClaimPath);
|
|
297
|
-
const currentStats = fs.statSync(canonicalClaimPath);
|
|
298
|
-
publishMode = currentStats.mode & 0o777;
|
|
299
|
-
current = fs.readFileSync(canonicalClaimPath);
|
|
300
|
-
if (diverged.equals(current)) {
|
|
301
|
-
restoreCanonicalClaim(canonicalClaimPath, canonical.writePath, canonicalPath);
|
|
302
|
-
canonicalClaimPath = null;
|
|
341
|
+
if (canonical.content) {
|
|
342
|
+
if (diverged.equals(canonical.content)) {
|
|
303
343
|
fs.unlinkSync(claimPath);
|
|
304
344
|
return 'claimed';
|
|
305
345
|
}
|
|
306
|
-
if (claimedStats.mtimeMs <=
|
|
307
|
-
restoreCanonicalClaim(canonicalClaimPath, canonical.writePath, canonicalPath);
|
|
308
|
-
canonicalClaimPath = null;
|
|
346
|
+
if (claimedStats.mtimeMs <= (canonical.mtimeMs ?? 0)) {
|
|
309
347
|
preserveClaim(claimPath, divergedPath, `Refusing stale or ambiguously-timed divergence at ${divergedPath}`);
|
|
310
348
|
return 'claimed';
|
|
311
349
|
}
|
|
350
|
+
// Publish the pre-image before the canonical file is replaced, so an
|
|
351
|
+
// interruption mid-publication still leaves the old content recoverable.
|
|
352
|
+
publishSidecarNoReplace(`${canonicalPath}.bak-ccs-adopt`, canonical.content, canonical.mode);
|
|
312
353
|
}
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
}
|
|
316
|
-
publishAdoptedRecoveryNoReplace(claimPath, divergedPath);
|
|
317
|
-
atomicWriteFile(canonical.writePath, diverged, publishMode);
|
|
354
|
+
publishSidecarNoReplace(`${divergedPath}.ccs-adopted-recovery`, diverged, claimedStats.mode & 0o777);
|
|
355
|
+
publishCanonicalContent(canonical.writePath, diverged, canonical.mode, canonical.identity);
|
|
318
356
|
if (!fs.readFileSync(canonicalPath).equals(diverged)) {
|
|
319
357
|
throw Object.assign(new TypeError(`Canonical adoption postcondition failed: ${canonicalPath}`), {
|
|
320
358
|
code: 'EAGAIN',
|
|
321
359
|
});
|
|
322
360
|
}
|
|
323
|
-
if (canonicalClaimPath) {
|
|
324
|
-
fs.unlinkSync(canonicalClaimPath);
|
|
325
|
-
canonicalClaimPath = null;
|
|
326
|
-
}
|
|
327
361
|
if ((0, fs_helpers_1.getLstatSync)(divergedPath)) {
|
|
328
362
|
preserveClaim(claimPath, divergedPath, `Concurrent replacement detected at ${divergedPath}`);
|
|
329
363
|
divergencePreserved = true;
|
|
@@ -336,10 +370,6 @@ function adoptDivergedFileContent(divergedPath, canonicalPath) {
|
|
|
336
370
|
return 'claimed';
|
|
337
371
|
}
|
|
338
372
|
catch (err) {
|
|
339
|
-
if (canonicalClaimPath && canonicalWritePath) {
|
|
340
|
-
restoreCanonicalClaim(canonicalClaimPath, canonicalWritePath, canonicalPath);
|
|
341
|
-
canonicalClaimPath = null;
|
|
342
|
-
}
|
|
343
373
|
if (divergencePreserved) {
|
|
344
374
|
throw err;
|
|
345
375
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diverged-file-adopter.js","sourceRoot":"","sources":["../../../src/management/shared-manager/diverged-file-adopter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"diverged-file-adopter.js","sourceRoot":"","sources":["../../../src/management/shared-manager/diverged-file-adopter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-metadata-normalizer.d.ts","sourceRoot":"","sources":["../../../src/management/shared-manager/plugin-metadata-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAQjG;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,mBAAmB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAsBN;
|
|
1
|
+
{"version":3,"file":"plugin-metadata-normalizer.d.ts","sourceRoot":"","sources":["../../../src/management/shared-manager/plugin-metadata-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAYH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,mBAAmB,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAQjG;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,mBAAmB,EAC1B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CAsBN;AAwJD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,GACtB,MAAM,CAAC,MAAM,EAAE;IAAE,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CAuB7C;AA6BD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,GACrB,IAAI,CAUN;AAED;;;;GAIG;AACH,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,mBAAmB,EAC3B,SAAS,EAAE,MAAM,GAChB,IAAI,CAgEN;AAGD,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -137,7 +137,12 @@ function buildMarketplaceRegistryContent(sourcePaths, targetConfigDir) {
|
|
|
137
137
|
if (!isMarketplaceRegistryEntry(value)) {
|
|
138
138
|
continue;
|
|
139
139
|
}
|
|
140
|
-
|
|
140
|
+
if (isDirectorySourceMarketplace(value)) {
|
|
141
|
+
merged[name] = value;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
merged[name] = (0, plugin_path_normalizer_1.normalizePluginMetadataValue)(value, targetConfigDir).normalized;
|
|
145
|
+
}
|
|
141
146
|
}
|
|
142
147
|
}
|
|
143
148
|
catch (err) {
|
|
@@ -150,18 +155,30 @@ function buildMarketplaceRegistryContent(sourcePaths, targetConfigDir) {
|
|
|
150
155
|
// excluded: they lack required schema fields that Claude Code enforces.
|
|
151
156
|
for (const name of Object.keys(merged)) {
|
|
152
157
|
const entry = merged[name];
|
|
153
|
-
if (!(
|
|
158
|
+
if (!isMarketplaceRegistryEntry(entry)) {
|
|
154
159
|
delete merged[name];
|
|
160
|
+
continue;
|
|
155
161
|
}
|
|
156
|
-
|
|
162
|
+
// Directory-source marketplace takes precedence over discovered clone dirs.
|
|
163
|
+
// A directory-source marketplace lives at its source path and has no clone
|
|
164
|
+
// under plugins/marketplaces/. Even if an empty directory exists under
|
|
165
|
+
// plugins/marketplaces/<name>, preserve the original entry and installLocation.
|
|
166
|
+
if (isDirectorySourceMarketplace(entry)) {
|
|
167
|
+
if (fs.existsSync(entry.source.path)) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
// Prune stale directory source; never resurrect as a clone
|
|
171
|
+
delete merged[name];
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
if (name in discoveredEntries) {
|
|
157
175
|
merged[name] = {
|
|
158
176
|
...entry,
|
|
159
177
|
installLocation: discoveredEntries[name].installLocation,
|
|
160
178
|
};
|
|
179
|
+
continue;
|
|
161
180
|
}
|
|
162
|
-
|
|
163
|
-
delete merged[name];
|
|
164
|
-
}
|
|
181
|
+
delete merged[name];
|
|
165
182
|
}
|
|
166
183
|
return JSON.stringify(merged, null, 2);
|
|
167
184
|
}
|
|
@@ -195,6 +212,22 @@ function isTransientMarketplaceDirectory(name) {
|
|
|
195
212
|
function isMarketplaceRegistryEntry(value) {
|
|
196
213
|
return Boolean(value) && typeof value === 'object' && !Array.isArray(value);
|
|
197
214
|
}
|
|
215
|
+
function isDirectorySourceMarketplace(entry) {
|
|
216
|
+
if (typeof entry !== 'object' || entry === null || Array.isArray(entry)) {
|
|
217
|
+
return false;
|
|
218
|
+
}
|
|
219
|
+
if (!('source' in entry)) {
|
|
220
|
+
return false;
|
|
221
|
+
}
|
|
222
|
+
const source = entry.source;
|
|
223
|
+
if (typeof source !== 'object' || source === null || Array.isArray(source)) {
|
|
224
|
+
return false;
|
|
225
|
+
}
|
|
226
|
+
if (!('source' in source) || !('path' in source)) {
|
|
227
|
+
return false;
|
|
228
|
+
}
|
|
229
|
+
return source.source === 'directory' && typeof source.path === 'string' && source.path.length > 0;
|
|
230
|
+
}
|
|
198
231
|
/**
|
|
199
232
|
* Write a plugin metadata file, creating parent dirs first and skipping
|
|
200
233
|
* when the content is unchanged.
|
|
@@ -220,10 +253,6 @@ function reconcileLocalMarketplaceRegistry(_roots, configDir) {
|
|
|
220
253
|
return;
|
|
221
254
|
}
|
|
222
255
|
const discoveredEntries = discoverMarketplaceEntries(configDir);
|
|
223
|
-
if (Object.keys(discoveredEntries).length === 0) {
|
|
224
|
-
(0, fs_helpers_1.removeExistingPath)(registryPath, 'file');
|
|
225
|
-
return;
|
|
226
|
-
}
|
|
227
256
|
let parsed = {};
|
|
228
257
|
try {
|
|
229
258
|
const raw = JSON.parse(fs.readFileSync(registryPath, 'utf8'));
|
|
@@ -234,19 +263,41 @@ function reconcileLocalMarketplaceRegistry(_roots, configDir) {
|
|
|
234
263
|
catch {
|
|
235
264
|
parsed = {};
|
|
236
265
|
}
|
|
237
|
-
|
|
266
|
+
// Preserve directory-source entries whose path still exists on disk (precedence over discovered)
|
|
267
|
+
const directoryEntries = {};
|
|
268
|
+
for (const [name, entry] of Object.entries(parsed)) {
|
|
269
|
+
if (isMarketplaceRegistryEntry(entry) &&
|
|
270
|
+
isDirectorySourceMarketplace(entry) &&
|
|
271
|
+
fs.existsSync(entry.source.path)) {
|
|
272
|
+
directoryEntries[name] = entry;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
if (Object.keys(discoveredEntries).length === 0 && Object.keys(directoryEntries).length === 0) {
|
|
276
|
+
(0, fs_helpers_1.removeExistingPath)(registryPath, 'file');
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
279
|
+
const reconciled = {
|
|
280
|
+
...directoryEntries,
|
|
281
|
+
};
|
|
282
|
+
for (const [name, value] of Object.entries(discoveredEntries)) {
|
|
283
|
+
if (name in directoryEntries) {
|
|
284
|
+
continue;
|
|
285
|
+
}
|
|
238
286
|
const existing = parsed[name];
|
|
287
|
+
if (isDirectorySourceMarketplace(existing)) {
|
|
288
|
+
// Stale directory source must not be resurrected as a clone
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
239
291
|
if (existing && typeof existing === 'object' && !Array.isArray(existing)) {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
];
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
}));
|
|
292
|
+
reconciled[name] = {
|
|
293
|
+
...(0, plugin_path_normalizer_1.normalizePluginMetadataValue)(existing, configDir).normalized,
|
|
294
|
+
installLocation: value.installLocation,
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
else {
|
|
298
|
+
reconciled[name] = value;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
250
301
|
writePluginMetadataFile(registryPath, JSON.stringify(reconciled, null, 2), 'Synchronized marketplace registry paths');
|
|
251
302
|
}
|
|
252
303
|
exports.reconcileLocalMarketplaceRegistry = reconcileLocalMarketplaceRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-metadata-normalizer.js","sourceRoot":"","sources":["../../../src/management/shared-manager/plugin-metadata-normalizer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugin-metadata-normalizer.js","sourceRoot":"","sources":["../../../src/management/shared-manager/plugin-metadata-normalizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,20 @@
|
|
|
5
5
|
export declare const EXTENDED_CONTEXT_SUFFIX = "[1m]";
|
|
6
6
|
export declare const ANTHROPIC_MODEL_ENV_KEYS: readonly ["ANTHROPIC_MODEL", "ANTHROPIC_DEFAULT_OPUS_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL", "ANTHROPIC_DEFAULT_FABLE_MODEL"];
|
|
7
7
|
export type AnthropicModelEnvKey = (typeof ANTHROPIC_MODEL_ENV_KEYS)[number];
|
|
8
|
+
/**
|
|
9
|
+
* Model env keys outside the Anthropic tier mappings that still carry a plain
|
|
10
|
+
* model id, so the extended-context preference has to cover them too. Kept
|
|
11
|
+
* separate from ANTHROPIC_MODEL_ENV_KEYS, which also drives routing, model-id
|
|
12
|
+
* normalization and profile validation.
|
|
13
|
+
*
|
|
14
|
+
* ANTHROPIC_DEFAULT_MODEL is Claude Code's lowest-priority startup model
|
|
15
|
+
* (after --model, ANTHROPIC_MODEL and the settings `model` field), so it needs
|
|
16
|
+
* the same [1m] treatment whenever a profile carries it.
|
|
17
|
+
*/
|
|
18
|
+
export declare const EXTRA_EXTENDED_CONTEXT_MODEL_ENV_KEYS: readonly ["CLAUDE_CODE_SUBAGENT_MODEL", "ANTHROPIC_DEFAULT_MODEL"];
|
|
19
|
+
/** Every model env key the [1m] preference is applied to. */
|
|
20
|
+
export declare const EXTENDED_CONTEXT_MODEL_ENV_KEYS: readonly ["ANTHROPIC_MODEL", "ANTHROPIC_DEFAULT_OPUS_MODEL", "ANTHROPIC_DEFAULT_SONNET_MODEL", "ANTHROPIC_DEFAULT_HAIKU_MODEL", "ANTHROPIC_DEFAULT_FABLE_MODEL", "CLAUDE_CODE_SUBAGENT_MODEL", "ANTHROPIC_DEFAULT_MODEL"];
|
|
21
|
+
export type ExtendedContextModelEnvKey = (typeof EXTENDED_CONTEXT_MODEL_ENV_KEYS)[number];
|
|
8
22
|
/** Check if model is a native Gemini model (auto-enabled behavior). */
|
|
9
23
|
export declare function isNativeGeminiModel(modelId: string): boolean;
|
|
10
24
|
/** Check if model already has [1m] suffix. */
|
|
@@ -15,13 +29,15 @@ export declare function applyExtendedContextSuffix(model: string): string;
|
|
|
15
29
|
export declare function stripExtendedContextSuffix(model: string): string;
|
|
16
30
|
/** True when key belongs to Anthropic model mapping state. */
|
|
17
31
|
export declare function isAnthropicModelEnvKey(key: string): key is AnthropicModelEnvKey;
|
|
32
|
+
/** True when key holds a model id the [1m] preference is applied to. */
|
|
33
|
+
export declare function isExtendedContextModelEnvKey(key: string): key is ExtendedContextModelEnvKey;
|
|
18
34
|
/** Strip transient config suffixes so model IDs can be checked against catalogs. */
|
|
19
35
|
export declare function stripModelConfigurationSuffixes(modelId: string): string;
|
|
20
36
|
/** Whether any saved Anthropic model mapping explicitly requests [1m]. */
|
|
21
37
|
export declare function hasAnthropicExtendedContextEnabled(env: Partial<Record<string, string | undefined>>): boolean;
|
|
22
38
|
/** Apply or strip [1m] across Anthropic model mappings while honoring compatibility. */
|
|
23
39
|
export declare function applyExtendedContextPreferenceToAnthropicModels<T extends Record<string, string | undefined>>(env: T, enabled: boolean, options?: {
|
|
24
|
-
supportsExtendedContext?: (modelId: string, key:
|
|
40
|
+
supportsExtendedContext?: (modelId: string, key: ExtendedContextModelEnvKey) => boolean;
|
|
25
41
|
}): T;
|
|
26
42
|
/** Detect Claude model identifiers, regardless of transient [1m]/(thinking) suffixes. */
|
|
27
43
|
export declare function isClaudeModelId(modelId: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extended-context-utils.d.ts","sourceRoot":"","sources":["../../src/shared/extended-context-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAC9C,eAAO,MAAM,wBAAwB,kKAM3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"extended-context-utils.d.ts","sourceRoot":"","sources":["../../src/shared/extended-context-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,yDAAyD;AACzD,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAC9C,eAAO,MAAM,wBAAwB,kKAM3B,CAAC;AAEX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,wBAAwB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,qCAAqC,oEAGxC,CAAC;AAEX,6DAA6D;AAC7D,eAAO,MAAM,+BAA+B,2NAGlC,CAAC;AAEX,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,+BAA+B,CAAC,CAAC,MAAM,CAAC,CAAC;AAgB1F,uEAAuE;AACvE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,8CAA8C;AAC9C,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAIhE;AAED,2CAA2C;AAC3C,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAGhE;AAED,8DAA8D;AAC9D,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,oBAAoB,CAE/E;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,0BAA0B,CAE3F;AAED,oFAAoF;AACpF,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED,0EAA0E;AAC1E,wBAAgB,kCAAkC,CAChD,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAC/C,OAAO,CAKT;AAED,wFAAwF;AACxF,wBAAgB,+CAA+C,CAC7D,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAE5C,GAAG,EAAE,CAAC,EACN,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE;IACP,uBAAuB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,0BAA0B,KAAK,OAAO,CAAC;CACpF,GACL,CAAC,CAgBH;AAED,yFAAyF;AACzF,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;GAGG;AACH,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG5E"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Shared extended context helpers used by CLI + UI.
|
|
4
4
|
*/
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.likelySupportsClaudeExtendedContext = exports.isClaudeModelId = exports.applyExtendedContextPreferenceToAnthropicModels = exports.hasAnthropicExtendedContextEnabled = exports.stripModelConfigurationSuffixes = exports.isAnthropicModelEnvKey = exports.stripExtendedContextSuffix = exports.applyExtendedContextSuffix = exports.hasExtendedContextSuffix = exports.isNativeGeminiModel = exports.ANTHROPIC_MODEL_ENV_KEYS = exports.EXTENDED_CONTEXT_SUFFIX = void 0;
|
|
6
|
+
exports.likelySupportsClaudeExtendedContext = exports.isClaudeModelId = exports.applyExtendedContextPreferenceToAnthropicModels = exports.hasAnthropicExtendedContextEnabled = exports.stripModelConfigurationSuffixes = exports.isExtendedContextModelEnvKey = exports.isAnthropicModelEnvKey = exports.stripExtendedContextSuffix = exports.applyExtendedContextSuffix = exports.hasExtendedContextSuffix = exports.isNativeGeminiModel = exports.EXTENDED_CONTEXT_MODEL_ENV_KEYS = exports.EXTRA_EXTENDED_CONTEXT_MODEL_ENV_KEYS = exports.ANTHROPIC_MODEL_ENV_KEYS = exports.EXTENDED_CONTEXT_SUFFIX = void 0;
|
|
7
7
|
/** Extended context suffix recognized by Claude Code. */
|
|
8
8
|
exports.EXTENDED_CONTEXT_SUFFIX = '[1m]';
|
|
9
9
|
exports.ANTHROPIC_MODEL_ENV_KEYS = [
|
|
@@ -13,7 +13,36 @@ exports.ANTHROPIC_MODEL_ENV_KEYS = [
|
|
|
13
13
|
'ANTHROPIC_DEFAULT_HAIKU_MODEL',
|
|
14
14
|
'ANTHROPIC_DEFAULT_FABLE_MODEL',
|
|
15
15
|
];
|
|
16
|
+
/**
|
|
17
|
+
* Model env keys outside the Anthropic tier mappings that still carry a plain
|
|
18
|
+
* model id, so the extended-context preference has to cover them too. Kept
|
|
19
|
+
* separate from ANTHROPIC_MODEL_ENV_KEYS, which also drives routing, model-id
|
|
20
|
+
* normalization and profile validation.
|
|
21
|
+
*
|
|
22
|
+
* ANTHROPIC_DEFAULT_MODEL is Claude Code's lowest-priority startup model
|
|
23
|
+
* (after --model, ANTHROPIC_MODEL and the settings `model` field), so it needs
|
|
24
|
+
* the same [1m] treatment whenever a profile carries it.
|
|
25
|
+
*/
|
|
26
|
+
exports.EXTRA_EXTENDED_CONTEXT_MODEL_ENV_KEYS = [
|
|
27
|
+
'CLAUDE_CODE_SUBAGENT_MODEL',
|
|
28
|
+
'ANTHROPIC_DEFAULT_MODEL',
|
|
29
|
+
];
|
|
30
|
+
/** Every model env key the [1m] preference is applied to. */
|
|
31
|
+
exports.EXTENDED_CONTEXT_MODEL_ENV_KEYS = [
|
|
32
|
+
...exports.ANTHROPIC_MODEL_ENV_KEYS,
|
|
33
|
+
...exports.EXTRA_EXTENDED_CONTEXT_MODEL_ENV_KEYS,
|
|
34
|
+
];
|
|
16
35
|
const ANTHROPIC_MODEL_ENV_KEY_SET = new Set(exports.ANTHROPIC_MODEL_ENV_KEYS);
|
|
36
|
+
const EXTENDED_CONTEXT_MODEL_ENV_KEY_SET = new Set(exports.EXTENDED_CONTEXT_MODEL_ENV_KEYS);
|
|
37
|
+
/*
|
|
38
|
+
* Why every key, including ANTHROPIC_DEFAULT_FABLE_MODEL, carries the suffix:
|
|
39
|
+
* Claude Code only grants a natively-1M model (Fable, Opus 5) its full window
|
|
40
|
+
* without the suffix when ANTHROPIC_BASE_URL is unset or points at
|
|
41
|
+
* api.anthropic.com. Behind any proxy (CLIProxy, headroom, ...) a bare id is
|
|
42
|
+
* clamped to 200k even when the backend advertises 1M, and the fable alias
|
|
43
|
+
* resolver passes the env value through untouched in that case. The [1m]
|
|
44
|
+
* suffix is therefore the only thing that turns the long window on for CCS.
|
|
45
|
+
*/
|
|
17
46
|
/** Check if model is a native Gemini model (auto-enabled behavior). */
|
|
18
47
|
function isNativeGeminiModel(modelId) {
|
|
19
48
|
return modelId.toLowerCase().startsWith('gemini-');
|
|
@@ -45,6 +74,11 @@ function isAnthropicModelEnvKey(key) {
|
|
|
45
74
|
return ANTHROPIC_MODEL_ENV_KEY_SET.has(key);
|
|
46
75
|
}
|
|
47
76
|
exports.isAnthropicModelEnvKey = isAnthropicModelEnvKey;
|
|
77
|
+
/** True when key holds a model id the [1m] preference is applied to. */
|
|
78
|
+
function isExtendedContextModelEnvKey(key) {
|
|
79
|
+
return EXTENDED_CONTEXT_MODEL_ENV_KEY_SET.has(key);
|
|
80
|
+
}
|
|
81
|
+
exports.isExtendedContextModelEnvKey = isExtendedContextModelEnvKey;
|
|
48
82
|
/** Strip transient config suffixes so model IDs can be checked against catalogs. */
|
|
49
83
|
function stripModelConfigurationSuffixes(modelId) {
|
|
50
84
|
return stripExtendedContextSuffix(modelId.trim()).replace(/\([^)]+\)$/, '');
|
|
@@ -52,7 +86,7 @@ function stripModelConfigurationSuffixes(modelId) {
|
|
|
52
86
|
exports.stripModelConfigurationSuffixes = stripModelConfigurationSuffixes;
|
|
53
87
|
/** Whether any saved Anthropic model mapping explicitly requests [1m]. */
|
|
54
88
|
function hasAnthropicExtendedContextEnabled(env) {
|
|
55
|
-
return exports.
|
|
89
|
+
return exports.EXTENDED_CONTEXT_MODEL_ENV_KEYS.some((key) => {
|
|
56
90
|
const value = env[key];
|
|
57
91
|
return typeof value === 'string' && hasExtendedContextSuffix(value);
|
|
58
92
|
});
|
|
@@ -61,7 +95,7 @@ exports.hasAnthropicExtendedContextEnabled = hasAnthropicExtendedContextEnabled;
|
|
|
61
95
|
/** Apply or strip [1m] across Anthropic model mappings while honoring compatibility. */
|
|
62
96
|
function applyExtendedContextPreferenceToAnthropicModels(env, enabled, options = {}) {
|
|
63
97
|
const nextEnv = { ...env };
|
|
64
|
-
for (const key of exports.
|
|
98
|
+
for (const key of exports.EXTENDED_CONTEXT_MODEL_ENV_KEYS) {
|
|
65
99
|
const value = nextEnv[key];
|
|
66
100
|
if (typeof value !== 'string' || value.trim().length === 0) {
|
|
67
101
|
continue;
|