@jieee/coder 1.0.0 → 1.0.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.
- package/dist/cli.js +426 -292
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -32730,6 +32730,7 @@ var init_exports = __esm(() => {
|
|
|
32730
32730
|
init_array();
|
|
32731
32731
|
init_array_buffer();
|
|
32732
32732
|
init_string();
|
|
32733
|
+
init_contents();
|
|
32733
32734
|
});
|
|
32734
32735
|
|
|
32735
32736
|
// node_modules/get-stream/source/index.js
|
|
@@ -32743,7 +32744,7 @@ var init_source2 = __esm(() => {
|
|
|
32743
32744
|
|
|
32744
32745
|
// node_modules/execa/lib/io/max-buffer.js
|
|
32745
32746
|
var handleMaxBuffer = ({ error: error2, stream: stream4, readableObjectMode, lines, encoding, fdNumber }) => {
|
|
32746
|
-
if (!(error2 instanceof
|
|
32747
|
+
if (!(error2 instanceof MaxBufferError)) {
|
|
32747
32748
|
throw error2;
|
|
32748
32749
|
}
|
|
32749
32750
|
if (fdNumber === "all") {
|
|
@@ -32768,7 +32769,7 @@ var handleMaxBuffer = ({ error: error2, stream: stream4, readableObjectMode, lin
|
|
|
32768
32769
|
if (ipcOutput.length !== maxBuffer) {
|
|
32769
32770
|
return;
|
|
32770
32771
|
}
|
|
32771
|
-
const error2 = new
|
|
32772
|
+
const error2 = new MaxBufferError;
|
|
32772
32773
|
error2.maxBufferInfo = { fdNumber: "ipc" };
|
|
32773
32774
|
throw error2;
|
|
32774
32775
|
}, getMaxBufferMessage = (error2, maxBuffer) => {
|
|
@@ -36643,7 +36644,7 @@ var execaCoreAsync = (rawFile, rawArguments, rawOptions, createNested) => {
|
|
|
36643
36644
|
timedOut: context.terminationReason === "timeout",
|
|
36644
36645
|
isCanceled: context.terminationReason === "cancel" || context.terminationReason === "gracefulCancel",
|
|
36645
36646
|
isGracefullyCanceled: context.terminationReason === "gracefulCancel",
|
|
36646
|
-
isMaxBuffer: errorInfo.error instanceof
|
|
36647
|
+
isMaxBuffer: errorInfo.error instanceof MaxBufferError,
|
|
36647
36648
|
isForcefullyTerminated: context.isForcefullyTerminated,
|
|
36648
36649
|
exitCode,
|
|
36649
36650
|
signal,
|
|
@@ -115220,13 +115221,13 @@ async function fetchGitHubCopilotModels(token) {
|
|
|
115220
115221
|
if (!id || item.model_picker_enabled === false) {
|
|
115221
115222
|
continue;
|
|
115222
115223
|
}
|
|
115223
|
-
modelProtocols[id] = isCopilotResponsesModel(id) ? "
|
|
115224
|
+
modelProtocols[id] = isCopilotResponsesModel(id) ? "responses" : "chat";
|
|
115224
115225
|
}
|
|
115225
115226
|
const models = Object.keys(modelProtocols).sort();
|
|
115226
115227
|
if (models.length === 0) {
|
|
115227
115228
|
logForDebugging("[Copilot models] /models returned no selectable entries; using static fallback list");
|
|
115228
115229
|
for (const id of FALLBACK_COPILOT_MODELS) {
|
|
115229
|
-
modelProtocols[id] = isCopilotResponsesModel(id) ? "
|
|
115230
|
+
modelProtocols[id] = isCopilotResponsesModel(id) ? "responses" : "chat";
|
|
115230
115231
|
}
|
|
115231
115232
|
}
|
|
115232
115233
|
return {
|
|
@@ -115306,7 +115307,7 @@ var init_codingPlanProviders = __esm(() => {
|
|
|
115306
115307
|
displayName: "Alibaba Coding Plan",
|
|
115307
115308
|
envKey: "ALIBABA_CODING_PLAN_API_KEY",
|
|
115308
115309
|
baseUrl: "https://coding.dashscope.aliyuncs.com/apps/anthropic",
|
|
115309
|
-
protocol: "anthropic
|
|
115310
|
+
protocol: "anthropic",
|
|
115310
115311
|
models: [
|
|
115311
115312
|
"qwen3.5-plus",
|
|
115312
115313
|
"qwen3-coder-next",
|
|
@@ -115323,7 +115324,7 @@ var init_codingPlanProviders = __esm(() => {
|
|
|
115323
115324
|
displayName: "Zhipu AI Coding Plan",
|
|
115324
115325
|
envKey: "ZHIPU_API_KEY",
|
|
115325
115326
|
baseUrl: "https://open.bigmodel.cn/api/anthropic",
|
|
115326
|
-
protocol: "anthropic
|
|
115327
|
+
protocol: "anthropic",
|
|
115327
115328
|
models: [
|
|
115328
115329
|
"glm-5.1",
|
|
115329
115330
|
"glm-4.6v-flash",
|
|
@@ -115345,7 +115346,7 @@ var init_codingPlanProviders = __esm(() => {
|
|
|
115345
115346
|
displayName: "MiniMax Coding Plan",
|
|
115346
115347
|
envKey: "MINIMAX_API_KEY",
|
|
115347
115348
|
baseUrl: "https://api.minimaxi.com/anthropic/v1",
|
|
115348
|
-
protocol: "anthropic
|
|
115349
|
+
protocol: "anthropic",
|
|
115349
115350
|
models: [
|
|
115350
115351
|
"MiniMax-M2.7",
|
|
115351
115352
|
"MiniMax-M2.1",
|
|
@@ -115360,7 +115361,7 @@ var init_codingPlanProviders = __esm(() => {
|
|
|
115360
115361
|
displayName: "Tencent Coding Plan",
|
|
115361
115362
|
envKey: "TENCENT_CODING_PLAN_API_KEY",
|
|
115362
115363
|
baseUrl: "https://api.lkeap.cloud.tencent.com/coding/anthropic",
|
|
115363
|
-
protocol: "anthropic
|
|
115364
|
+
protocol: "anthropic",
|
|
115364
115365
|
models: [
|
|
115365
115366
|
"hunyuan-2.0-instruct",
|
|
115366
115367
|
"kimi-k2.5",
|
|
@@ -115377,7 +115378,7 @@ var init_codingPlanProviders = __esm(() => {
|
|
|
115377
115378
|
displayName: "Xiaomi Coding Plan",
|
|
115378
115379
|
envKey: "XIAOMI_CODING_PLAN_API_KEY",
|
|
115379
115380
|
baseUrl: "https://token-plan-cn.xiaomimimo.com/anthropic",
|
|
115380
|
-
protocol: "anthropic
|
|
115381
|
+
protocol: "anthropic",
|
|
115381
115382
|
models: ["mimo-v2-pro", "mimo-v2-omni"]
|
|
115382
115383
|
}
|
|
115383
115384
|
];
|
|
@@ -115394,12 +115395,20 @@ import { mkdirSync as mkdirSync3 } from "fs";
|
|
|
115394
115395
|
function getProvidersConfigPath() {
|
|
115395
115396
|
return join20(getClaudeConfigHomeDir(), "providers.json");
|
|
115396
115397
|
}
|
|
115398
|
+
function createEmptyModelConfig() {
|
|
115399
|
+
return {
|
|
115400
|
+
current: null,
|
|
115401
|
+
opus: null,
|
|
115402
|
+
sonnet: null,
|
|
115403
|
+
haiku: null,
|
|
115404
|
+
subagent: null
|
|
115405
|
+
};
|
|
115406
|
+
}
|
|
115397
115407
|
function createEmptyConfig(error2) {
|
|
115398
115408
|
return {
|
|
115399
115409
|
opencodeZenApiKey: null,
|
|
115400
115410
|
githubCopilotToken: null,
|
|
115401
|
-
|
|
115402
|
-
currentModel: null,
|
|
115411
|
+
model: createEmptyModelConfig(),
|
|
115403
115412
|
providers: [],
|
|
115404
115413
|
...error2 ? { error: error2 } : {}
|
|
115405
115414
|
};
|
|
@@ -115408,14 +115417,28 @@ function createInitialProvidersConfig() {
|
|
|
115408
115417
|
return {
|
|
115409
115418
|
opencodeZenApiKey: null,
|
|
115410
115419
|
githubCopilotToken: null,
|
|
115411
|
-
|
|
115412
|
-
currentModel: null,
|
|
115420
|
+
model: createEmptyModelConfig(),
|
|
115413
115421
|
providers: []
|
|
115414
115422
|
};
|
|
115415
115423
|
}
|
|
115416
115424
|
function isBuiltinProvider(name) {
|
|
115417
115425
|
return name === ZEN_PROVIDER_NAME || name === COPILOT_PROVIDER_NAME;
|
|
115418
115426
|
}
|
|
115427
|
+
function normalizeProviderProtocol(protocol) {
|
|
115428
|
+
switch (protocol) {
|
|
115429
|
+
case "anthropic":
|
|
115430
|
+
case "anthropic-messages":
|
|
115431
|
+
return "anthropic";
|
|
115432
|
+
case "chat":
|
|
115433
|
+
case "openai-chat-completions":
|
|
115434
|
+
return "chat";
|
|
115435
|
+
case "responses":
|
|
115436
|
+
case "openai-responses":
|
|
115437
|
+
return "responses";
|
|
115438
|
+
default:
|
|
115439
|
+
return "anthropic";
|
|
115440
|
+
}
|
|
115441
|
+
}
|
|
115419
115442
|
function stripBuiltinProviders(providers) {
|
|
115420
115443
|
return providers.filter((provider) => !isBuiltinProvider(provider.name));
|
|
115421
115444
|
}
|
|
@@ -115423,7 +115446,8 @@ function getZenProvider(cfg) {
|
|
|
115423
115446
|
if (!cfg.opencodeZenApiKey) {
|
|
115424
115447
|
return null;
|
|
115425
115448
|
}
|
|
115426
|
-
const
|
|
115449
|
+
const currentSlot = cfg.model.current;
|
|
115450
|
+
const models = zenState.models.length > 0 ? zenState.models : currentSlot?.provider === ZEN_PROVIDER_NAME && currentSlot.model ? [currentSlot.model] : [];
|
|
115427
115451
|
if (models.length === 0) {
|
|
115428
115452
|
return null;
|
|
115429
115453
|
}
|
|
@@ -115432,7 +115456,7 @@ function getZenProvider(cfg) {
|
|
|
115432
115456
|
url: ZEN_PROVIDER_URL,
|
|
115433
115457
|
apiKey: cfg.opencodeZenApiKey,
|
|
115434
115458
|
models,
|
|
115435
|
-
protocol: resolveZenProtocolForModel(
|
|
115459
|
+
protocol: resolveZenProtocolForModel(currentSlot?.model) ?? "anthropic"
|
|
115436
115460
|
};
|
|
115437
115461
|
}
|
|
115438
115462
|
function resolveZenProtocolForModel(model) {
|
|
@@ -115445,7 +115469,8 @@ function getCopilotProvider(cfg) {
|
|
|
115445
115469
|
if (!cfg.githubCopilotToken) {
|
|
115446
115470
|
return null;
|
|
115447
115471
|
}
|
|
115448
|
-
const
|
|
115472
|
+
const currentSlot = cfg.model.current;
|
|
115473
|
+
const models = copilotState.models.length > 0 ? copilotState.models : currentSlot?.provider === COPILOT_PROVIDER_NAME && currentSlot.model ? [currentSlot.model] : [];
|
|
115449
115474
|
if (models.length === 0) {
|
|
115450
115475
|
return null;
|
|
115451
115476
|
}
|
|
@@ -115454,7 +115479,7 @@ function getCopilotProvider(cfg) {
|
|
|
115454
115479
|
url: getCopilotBaseUrl(),
|
|
115455
115480
|
apiKey: cfg.githubCopilotToken,
|
|
115456
115481
|
models,
|
|
115457
|
-
protocol: resolveCopilotProtocolForModel(
|
|
115482
|
+
protocol: resolveCopilotProtocolForModel(currentSlot?.model) ?? "chat"
|
|
115458
115483
|
};
|
|
115459
115484
|
}
|
|
115460
115485
|
function resolveCopilotProtocolForModel(model) {
|
|
@@ -115469,6 +115494,31 @@ function getBuiltinErrors(raw) {
|
|
|
115469
115494
|
raw.githubCopilotToken && copilotState.error ? copilotState.error : null
|
|
115470
115495
|
].filter((value) => !!value);
|
|
115471
115496
|
}
|
|
115497
|
+
function resolveModelSlotSelection(providers, slot) {
|
|
115498
|
+
if (!slot) {
|
|
115499
|
+
return null;
|
|
115500
|
+
}
|
|
115501
|
+
const provider = providers.find((entry) => entry.name === slot.provider.trim());
|
|
115502
|
+
if (!provider) {
|
|
115503
|
+
return null;
|
|
115504
|
+
}
|
|
115505
|
+
const model = slot.model.trim();
|
|
115506
|
+
if (!model || !provider.models.includes(model)) {
|
|
115507
|
+
return null;
|
|
115508
|
+
}
|
|
115509
|
+
return {
|
|
115510
|
+
provider: provider.name,
|
|
115511
|
+
model
|
|
115512
|
+
};
|
|
115513
|
+
}
|
|
115514
|
+
function getLegacyCurrentSlot(raw) {
|
|
115515
|
+
const provider = raw.currentProvider?.trim();
|
|
115516
|
+
const model = raw.currentModel?.trim();
|
|
115517
|
+
if (!provider || !model) {
|
|
115518
|
+
return null;
|
|
115519
|
+
}
|
|
115520
|
+
return { provider, model };
|
|
115521
|
+
}
|
|
115472
115522
|
function normalizeProvidersConfig(raw) {
|
|
115473
115523
|
const seen = new Set;
|
|
115474
115524
|
const providers = [];
|
|
@@ -115477,7 +115527,7 @@ function normalizeProvidersConfig(raw) {
|
|
|
115477
115527
|
const url2 = provider.url.trim();
|
|
115478
115528
|
const apiKey = provider.apiKey.trim();
|
|
115479
115529
|
const models = Array.from(new Set(provider.models.map((model) => model.trim()).filter(Boolean)));
|
|
115480
|
-
const protocol = provider.protocol
|
|
115530
|
+
const protocol = normalizeProviderProtocol(provider.protocol);
|
|
115481
115531
|
if (!name) {
|
|
115482
115532
|
return createEmptyConfig("Provider name cannot be empty");
|
|
115483
115533
|
}
|
|
@@ -115507,14 +115557,20 @@ function normalizeProvidersConfig(raw) {
|
|
|
115507
115557
|
if (providers.length === 0) {
|
|
115508
115558
|
return createEmptyConfig([`No providers configured in ${getProvidersConfigPath()}.`, ...getBuiltinErrors(raw)].join(" ").trim());
|
|
115509
115559
|
}
|
|
115510
|
-
const selectedProvider = providers.find((provider) => provider.name === raw.currentProvider) ?? providers[0];
|
|
115511
|
-
const selectedModel = raw.currentModel && selectedProvider.models.includes(raw.currentModel.trim()) && raw.currentModel.trim() || selectedProvider.models[0];
|
|
115512
115560
|
const errors = getBuiltinErrors(raw);
|
|
115561
|
+
const normalizedModel = createEmptyModelConfig();
|
|
115562
|
+
const rawCurrentSlot = raw.model.current ?? getLegacyCurrentSlot(raw);
|
|
115563
|
+
normalizedModel.current = resolveModelSlotSelection(providers, rawCurrentSlot);
|
|
115564
|
+
for (const slot of MODEL_SLOT_KEYS) {
|
|
115565
|
+
if (slot === "current") {
|
|
115566
|
+
continue;
|
|
115567
|
+
}
|
|
115568
|
+
normalizedModel[slot] = resolveModelSlotSelection(providers, raw.model[slot]);
|
|
115569
|
+
}
|
|
115513
115570
|
return {
|
|
115514
115571
|
opencodeZenApiKey: raw.opencodeZenApiKey ?? null,
|
|
115515
115572
|
githubCopilotToken: raw.githubCopilotToken ?? null,
|
|
115516
|
-
|
|
115517
|
-
currentModel: selectedModel,
|
|
115573
|
+
model: normalizedModel,
|
|
115518
115574
|
providers,
|
|
115519
115575
|
...errors.length > 0 ? { error: errors.join(" ") } : {}
|
|
115520
115576
|
};
|
|
@@ -115534,9 +115590,13 @@ function readProvidersConfigUncached() {
|
|
|
115534
115590
|
return normalizeProvidersConfig({
|
|
115535
115591
|
opencodeZenApiKey: parsed.data.opencodeZenApiKey ?? null,
|
|
115536
115592
|
githubCopilotToken: parsed.data.githubCopilotToken ?? null,
|
|
115537
|
-
|
|
115538
|
-
|
|
115539
|
-
|
|
115593
|
+
model: {
|
|
115594
|
+
...createEmptyModelConfig(),
|
|
115595
|
+
...parsed.data.model
|
|
115596
|
+
},
|
|
115597
|
+
providers: parsed.data.providers,
|
|
115598
|
+
currentProvider: parsed.data.currentProvider ?? null,
|
|
115599
|
+
currentModel: parsed.data.currentModel ?? null
|
|
115540
115600
|
});
|
|
115541
115601
|
} catch (error2) {
|
|
115542
115602
|
logError2(error2);
|
|
@@ -115582,11 +115642,11 @@ async function fetchZenModelProtocols(key) {
|
|
|
115582
115642
|
const providerNpm = info.provider?.npm ?? "@ai-sdk/openai-compatible";
|
|
115583
115643
|
const interleavedField = typeof info.interleaved === "object" ? info.interleaved?.field : undefined;
|
|
115584
115644
|
if (providerNpm === "@ai-sdk/anthropic") {
|
|
115585
|
-
modelProtocols[id] = "anthropic
|
|
115645
|
+
modelProtocols[id] = "anthropic";
|
|
115586
115646
|
} else if (shouldUseZenResponsesProtocol({ id, providerNpm })) {
|
|
115587
|
-
modelProtocols[id] = "
|
|
115647
|
+
modelProtocols[id] = "responses";
|
|
115588
115648
|
} else {
|
|
115589
|
-
modelProtocols[id] = "
|
|
115649
|
+
modelProtocols[id] = "chat";
|
|
115590
115650
|
}
|
|
115591
115651
|
modelMetadata[id] = {
|
|
115592
115652
|
providerNpm,
|
|
@@ -115726,8 +115786,7 @@ async function validateAndStoreZenApiKey(apiKey) {
|
|
|
115726
115786
|
writeProvidersConfig({
|
|
115727
115787
|
opencodeZenApiKey: key,
|
|
115728
115788
|
githubCopilotToken: current.githubCopilotToken,
|
|
115729
|
-
|
|
115730
|
-
currentModel: current.currentModel,
|
|
115789
|
+
model: current.model,
|
|
115731
115790
|
providers: stripBuiltinProviders(current.providers)
|
|
115732
115791
|
});
|
|
115733
115792
|
return { ok: true, models };
|
|
@@ -115760,8 +115819,7 @@ async function validateAndStoreGitHubCopilotToken(token) {
|
|
|
115760
115819
|
writeProvidersConfig({
|
|
115761
115820
|
opencodeZenApiKey: current.opencodeZenApiKey,
|
|
115762
115821
|
githubCopilotToken: key,
|
|
115763
|
-
|
|
115764
|
-
currentModel: current.currentModel,
|
|
115822
|
+
model: current.model,
|
|
115765
115823
|
providers: stripBuiltinProviders(current.providers)
|
|
115766
115824
|
});
|
|
115767
115825
|
return { ok: true, models };
|
|
@@ -115800,34 +115858,56 @@ function getProvidersConfig() {
|
|
|
115800
115858
|
return cachedConfig;
|
|
115801
115859
|
}
|
|
115802
115860
|
}
|
|
115803
|
-
function
|
|
115861
|
+
function getProtocolForSelection(provider, model) {
|
|
115862
|
+
if (provider.name === ZEN_PROVIDER_NAME) {
|
|
115863
|
+
return resolveZenProtocolForModel(model) ?? provider.protocol;
|
|
115864
|
+
}
|
|
115865
|
+
if (provider.name === COPILOT_PROVIDER_NAME) {
|
|
115866
|
+
return resolveCopilotProtocolForModel(model) ?? provider.protocol;
|
|
115867
|
+
}
|
|
115868
|
+
return provider.protocol;
|
|
115869
|
+
}
|
|
115870
|
+
function getConfiguredModelSelection(slot) {
|
|
115804
115871
|
const config = getProvidersConfig();
|
|
115805
|
-
|
|
115872
|
+
const configuredSlot = config.model[slot] ?? config.model.current;
|
|
115873
|
+
if (!configuredSlot) {
|
|
115806
115874
|
return {
|
|
115807
115875
|
provider: null,
|
|
115808
115876
|
model: null,
|
|
115809
|
-
|
|
115877
|
+
error: config.error ?? `No model configured in ${getProvidersConfigPath()}`
|
|
115810
115878
|
};
|
|
115811
115879
|
}
|
|
115812
|
-
const provider = config.providers.find((entry) => entry.name ===
|
|
115880
|
+
const provider = config.providers.find((entry) => entry.name === configuredSlot.provider) ?? null;
|
|
115813
115881
|
if (!provider) {
|
|
115814
115882
|
return {
|
|
115815
115883
|
provider: null,
|
|
115816
115884
|
model: null,
|
|
115817
|
-
error: config.error ?? `
|
|
115885
|
+
error: config.error ?? `Configured provider "${configuredSlot.provider}" is not defined in ${getProvidersConfigPath()}`
|
|
115886
|
+
};
|
|
115887
|
+
}
|
|
115888
|
+
if (!provider.models.includes(configuredSlot.model)) {
|
|
115889
|
+
return {
|
|
115890
|
+
provider: null,
|
|
115891
|
+
model: null,
|
|
115892
|
+
error: config.error ?? `Configured model "${configuredSlot.model}" is not available for provider "${provider.name}"`
|
|
115818
115893
|
};
|
|
115819
115894
|
}
|
|
115820
|
-
const protocol = provider.name === ZEN_PROVIDER_NAME ? resolveZenProtocolForModel(config.currentModel) ?? provider.protocol : provider.name === COPILOT_PROVIDER_NAME ? resolveCopilotProtocolForModel(config.currentModel) ?? provider.protocol : provider.protocol;
|
|
115821
115895
|
return {
|
|
115822
115896
|
provider,
|
|
115823
|
-
model:
|
|
115824
|
-
protocol,
|
|
115897
|
+
model: configuredSlot.model,
|
|
115898
|
+
protocol: getProtocolForSelection(provider, configuredSlot.model),
|
|
115825
115899
|
...config.error ? { error: config.error } : {}
|
|
115826
115900
|
};
|
|
115827
115901
|
}
|
|
115902
|
+
function getCurrentProviderSelection() {
|
|
115903
|
+
return getConfiguredModelSelection("current");
|
|
115904
|
+
}
|
|
115828
115905
|
function getCurrentConfiguredModel() {
|
|
115829
115906
|
return getCurrentProviderSelection().model;
|
|
115830
115907
|
}
|
|
115908
|
+
function getStoredModelSlot(slot) {
|
|
115909
|
+
return getProvidersConfig().model[slot];
|
|
115910
|
+
}
|
|
115831
115911
|
function getProviderForModel(model, preferredProviderName) {
|
|
115832
115912
|
const config = getProvidersConfig();
|
|
115833
115913
|
if (!model)
|
|
@@ -115845,6 +115925,9 @@ function getProviderForModel(model, preferredProviderName) {
|
|
|
115845
115925
|
return null;
|
|
115846
115926
|
}
|
|
115847
115927
|
function setCurrentProviderModel(providerName, model) {
|
|
115928
|
+
return setProviderModelForSlot("current", providerName, model);
|
|
115929
|
+
}
|
|
115930
|
+
function setProviderModelForSlot(slot, providerName, model) {
|
|
115848
115931
|
const config = getProvidersConfig();
|
|
115849
115932
|
const provider = config.providers.find((entry) => entry.name === providerName);
|
|
115850
115933
|
if (!provider) {
|
|
@@ -115856,8 +115939,13 @@ function setCurrentProviderModel(providerName, model) {
|
|
|
115856
115939
|
writeProvidersConfig({
|
|
115857
115940
|
opencodeZenApiKey: config.opencodeZenApiKey,
|
|
115858
115941
|
githubCopilotToken: config.githubCopilotToken,
|
|
115859
|
-
|
|
115860
|
-
|
|
115942
|
+
model: {
|
|
115943
|
+
...config.model,
|
|
115944
|
+
[slot]: {
|
|
115945
|
+
provider: provider.name,
|
|
115946
|
+
model
|
|
115947
|
+
}
|
|
115948
|
+
},
|
|
115861
115949
|
providers: stripBuiltinProviders(config.providers)
|
|
115862
115950
|
});
|
|
115863
115951
|
return {};
|
|
@@ -115876,8 +115964,13 @@ function tryPersistCurrentModelSelection(model) {
|
|
|
115876
115964
|
writeProvidersConfig({
|
|
115877
115965
|
opencodeZenApiKey: config.opencodeZenApiKey,
|
|
115878
115966
|
githubCopilotToken: config.githubCopilotToken,
|
|
115879
|
-
|
|
115880
|
-
|
|
115967
|
+
model: {
|
|
115968
|
+
...config.model,
|
|
115969
|
+
current: {
|
|
115970
|
+
provider: provider.name,
|
|
115971
|
+
model
|
|
115972
|
+
}
|
|
115973
|
+
},
|
|
115881
115974
|
providers: stripBuiltinProviders(config.providers)
|
|
115882
115975
|
});
|
|
115883
115976
|
} catch (error2) {
|
|
@@ -115929,13 +116022,12 @@ async function registerBuiltinCodingPlanProvider(providerName, apiKey) {
|
|
|
115929
116022
|
writeProvidersConfig({
|
|
115930
116023
|
opencodeZenApiKey: current.opencodeZenApiKey,
|
|
115931
116024
|
githubCopilotToken: current.githubCopilotToken,
|
|
115932
|
-
|
|
115933
|
-
currentModel: current.currentModel,
|
|
116025
|
+
model: current.model,
|
|
115934
116026
|
providers
|
|
115935
116027
|
});
|
|
115936
116028
|
return { ok: true, models: provider.models, providerName: resolvedProviderName };
|
|
115937
116029
|
}
|
|
115938
|
-
var ZEN_PROVIDER_NAME = "opencode", ZEN_PROVIDER_URL = "https://opencode.ai/zen", ZEN_MODELS_URL, MODELS_DEV_URL = "https://models.dev/api.json", PROVIDER_PROTOCOLS, ProviderEntrySchema, ProvidersFileSchema, UNCONFIGURED_MODEL = "__UNCONFIGURED_PROVIDER_MODEL__", cachedConfig = null, cachedMtimeMs = null, zenState, copilotState;
|
|
116030
|
+
var ZEN_PROVIDER_NAME = "opencode", ZEN_PROVIDER_URL = "https://opencode.ai/zen", ZEN_MODELS_URL, MODELS_DEV_URL = "https://models.dev/api.json", PROVIDER_PROTOCOLS, LEGACY_PROVIDER_PROTOCOLS, ProviderEntrySchema, ModelSlotSchema, ModelConfigSchema, ProvidersFileSchema, MODEL_SLOT_KEYS, UNCONFIGURED_MODEL = "__UNCONFIGURED_PROVIDER_MODEL__", cachedConfig = null, cachedMtimeMs = null, zenState, copilotState;
|
|
115939
116031
|
var init_providersConfig = __esm(() => {
|
|
115940
116032
|
init_envUtils();
|
|
115941
116033
|
init_file();
|
|
@@ -115948,7 +116040,8 @@ var init_providersConfig = __esm(() => {
|
|
|
115948
116040
|
init_slowOperations();
|
|
115949
116041
|
init_debug();
|
|
115950
116042
|
ZEN_MODELS_URL = `${ZEN_PROVIDER_URL}/v1/models`;
|
|
115951
|
-
PROVIDER_PROTOCOLS = [
|
|
116043
|
+
PROVIDER_PROTOCOLS = ["anthropic", "chat", "responses"];
|
|
116044
|
+
LEGACY_PROVIDER_PROTOCOLS = [
|
|
115952
116045
|
"anthropic-messages",
|
|
115953
116046
|
"openai-chat-completions",
|
|
115954
116047
|
"openai-responses"
|
|
@@ -115958,15 +116051,34 @@ var init_providersConfig = __esm(() => {
|
|
|
115958
116051
|
url: z10.string(),
|
|
115959
116052
|
apiKey: z10.string(),
|
|
115960
116053
|
models: z10.array(z10.string()),
|
|
115961
|
-
protocol: z10.enum(PROVIDER_PROTOCOLS).optional()
|
|
116054
|
+
protocol: z10.union([z10.enum(PROVIDER_PROTOCOLS), z10.enum(LEGACY_PROVIDER_PROTOCOLS)]).optional()
|
|
116055
|
+
});
|
|
116056
|
+
ModelSlotSchema = z10.object({
|
|
116057
|
+
provider: z10.string(),
|
|
116058
|
+
model: z10.string()
|
|
116059
|
+
});
|
|
116060
|
+
ModelConfigSchema = z10.object({
|
|
116061
|
+
current: ModelSlotSchema.nullable().optional(),
|
|
116062
|
+
opus: ModelSlotSchema.nullable().optional(),
|
|
116063
|
+
sonnet: ModelSlotSchema.nullable().optional(),
|
|
116064
|
+
haiku: ModelSlotSchema.nullable().optional(),
|
|
116065
|
+
subagent: ModelSlotSchema.nullable().optional()
|
|
115962
116066
|
});
|
|
115963
116067
|
ProvidersFileSchema = z10.object({
|
|
115964
116068
|
opencodeZenApiKey: z10.string().nullable().optional(),
|
|
115965
116069
|
githubCopilotToken: z10.string().nullable().optional(),
|
|
115966
|
-
currentProvider: z10.string().nullable(),
|
|
115967
|
-
currentModel: z10.string().nullable(),
|
|
116070
|
+
currentProvider: z10.string().nullable().optional(),
|
|
116071
|
+
currentModel: z10.string().nullable().optional(),
|
|
116072
|
+
model: ModelConfigSchema.optional(),
|
|
115968
116073
|
providers: z10.array(ProviderEntrySchema)
|
|
115969
116074
|
});
|
|
116075
|
+
MODEL_SLOT_KEYS = [
|
|
116076
|
+
"current",
|
|
116077
|
+
"opus",
|
|
116078
|
+
"sonnet",
|
|
116079
|
+
"haiku",
|
|
116080
|
+
"subagent"
|
|
116081
|
+
];
|
|
115970
116082
|
zenState = {
|
|
115971
116083
|
loaded: false,
|
|
115972
116084
|
models: [],
|
|
@@ -116038,29 +116150,17 @@ function getMainLoopModel() {
|
|
|
116038
116150
|
function getBestModel() {
|
|
116039
116151
|
return getDefaultOpusModel();
|
|
116040
116152
|
}
|
|
116153
|
+
function getConfiguredDefaultModel(slot) {
|
|
116154
|
+
return getConfiguredModelSelection(slot).model ?? UNCONFIGURED_MODEL;
|
|
116155
|
+
}
|
|
116041
116156
|
function getDefaultOpusModel() {
|
|
116042
|
-
|
|
116043
|
-
return process.env.ANTHROPIC_DEFAULT_OPUS_MODEL;
|
|
116044
|
-
}
|
|
116045
|
-
if (getAPIProvider() !== "firstParty") {
|
|
116046
|
-
return getModelStrings2().opus46;
|
|
116047
|
-
}
|
|
116048
|
-
return getModelStrings2().opus46;
|
|
116157
|
+
return getConfiguredDefaultModel("opus");
|
|
116049
116158
|
}
|
|
116050
116159
|
function getDefaultSonnetModel() {
|
|
116051
|
-
|
|
116052
|
-
return process.env.ANTHROPIC_DEFAULT_SONNET_MODEL;
|
|
116053
|
-
}
|
|
116054
|
-
if (getAPIProvider() !== "firstParty") {
|
|
116055
|
-
return getModelStrings2().sonnet45;
|
|
116056
|
-
}
|
|
116057
|
-
return getModelStrings2().sonnet46;
|
|
116160
|
+
return getConfiguredDefaultModel("sonnet");
|
|
116058
116161
|
}
|
|
116059
116162
|
function getDefaultHaikuModel() {
|
|
116060
|
-
|
|
116061
|
-
return process.env.ANTHROPIC_DEFAULT_HAIKU_MODEL;
|
|
116062
|
-
}
|
|
116063
|
-
return getModelStrings2().haiku45;
|
|
116163
|
+
return getConfiguredDefaultModel("haiku");
|
|
116064
116164
|
}
|
|
116065
116165
|
function getRuntimeMainLoopModel(params) {
|
|
116066
116166
|
const { permissionMode, mainLoopModel, exceeds200kTokens = false } = params;
|
|
@@ -116077,16 +116177,7 @@ function getDefaultMainLoopModelSetting() {
|
|
|
116077
116177
|
if (configuredModel) {
|
|
116078
116178
|
return configuredModel;
|
|
116079
116179
|
}
|
|
116080
|
-
|
|
116081
|
-
return getAntModelOverrideConfig()?.defaultModel ?? getDefaultOpusModel() + "[1m]";
|
|
116082
|
-
}
|
|
116083
|
-
if (isMaxSubscriber()) {
|
|
116084
|
-
return getDefaultOpusModel() + (isOpus1mMergeEnabled() ? "[1m]" : "");
|
|
116085
|
-
}
|
|
116086
|
-
if (isTeamPremiumSubscriber()) {
|
|
116087
|
-
return getDefaultOpusModel() + (isOpus1mMergeEnabled() ? "[1m]" : "");
|
|
116088
|
-
}
|
|
116089
|
-
return getDefaultSonnetModel();
|
|
116180
|
+
return UNCONFIGURED_MODEL;
|
|
116090
116181
|
}
|
|
116091
116182
|
function getDefaultMainLoopModel() {
|
|
116092
116183
|
const configuredModel = getCurrentConfiguredModel();
|
|
@@ -116149,6 +116240,10 @@ function getCanonicalName(fullModelName) {
|
|
|
116149
116240
|
return firstPartyNameToCanonical(resolveOverriddenModel(fullModelName));
|
|
116150
116241
|
}
|
|
116151
116242
|
function getClaudeAiUserDefaultModelDescription(fastMode = false) {
|
|
116243
|
+
const defaultModelSetting = getDefaultMainLoopModelSetting();
|
|
116244
|
+
if (defaultModelSetting === UNCONFIGURED_MODEL) {
|
|
116245
|
+
return "No model configured";
|
|
116246
|
+
}
|
|
116152
116247
|
if (isMaxSubscriber() || isTeamPremiumSubscriber()) {
|
|
116153
116248
|
if (isOpus1mMergeEnabled()) {
|
|
116154
116249
|
return `Opus 4.6 with 1M context · Most capable for complex work${fastMode ? getOpus46PricingSuffix(true) : ""}`;
|
|
@@ -116159,7 +116254,7 @@ function getClaudeAiUserDefaultModelDescription(fastMode = false) {
|
|
|
116159
116254
|
}
|
|
116160
116255
|
function renderDefaultModelSetting(setting) {
|
|
116161
116256
|
if (setting === UNCONFIGURED_MODEL) {
|
|
116162
|
-
return "No
|
|
116257
|
+
return "No model configured";
|
|
116163
116258
|
}
|
|
116164
116259
|
if (setting === "opusplan") {
|
|
116165
116260
|
return "Opus 4.6 in plan mode, else Sonnet 4.6";
|
|
@@ -116184,7 +116279,7 @@ function isOpus1mMergeEnabled() {
|
|
|
116184
116279
|
}
|
|
116185
116280
|
function renderModelSetting(setting) {
|
|
116186
116281
|
if (setting === UNCONFIGURED_MODEL) {
|
|
116187
|
-
return "No
|
|
116282
|
+
return "No model configured";
|
|
116188
116283
|
}
|
|
116189
116284
|
if (setting === "opusplan") {
|
|
116190
116285
|
return "Opus Plan";
|
|
@@ -116271,23 +116366,24 @@ function parseUserSpecifiedModel(modelInput) {
|
|
|
116271
116366
|
const normalizedModel = modelInputTrimmed.toLowerCase();
|
|
116272
116367
|
const has1mTag = has1mContext(normalizedModel);
|
|
116273
116368
|
const modelString = has1mTag ? normalizedModel.replace(/\[1m]$/i, "").trim() : normalizedModel;
|
|
116369
|
+
const append1mIfConfigured = (resolvedModel) => resolvedModel === UNCONFIGURED_MODEL || !has1mTag ? resolvedModel : resolvedModel + "[1m]";
|
|
116274
116370
|
if (isModelAlias(modelString)) {
|
|
116275
116371
|
switch (modelString) {
|
|
116276
116372
|
case "opusplan":
|
|
116277
|
-
return getDefaultSonnetModel()
|
|
116373
|
+
return append1mIfConfigured(getDefaultSonnetModel());
|
|
116278
116374
|
case "sonnet":
|
|
116279
|
-
return getDefaultSonnetModel()
|
|
116375
|
+
return append1mIfConfigured(getDefaultSonnetModel());
|
|
116280
116376
|
case "haiku":
|
|
116281
|
-
return getDefaultHaikuModel()
|
|
116377
|
+
return append1mIfConfigured(getDefaultHaikuModel());
|
|
116282
116378
|
case "opus":
|
|
116283
|
-
return getDefaultOpusModel()
|
|
116379
|
+
return append1mIfConfigured(getDefaultOpusModel());
|
|
116284
116380
|
case "best":
|
|
116285
116381
|
return getBestModel();
|
|
116286
116382
|
default:
|
|
116287
116383
|
}
|
|
116288
116384
|
}
|
|
116289
116385
|
if (getAPIProvider() === "firstParty" && isLegacyOpusFirstParty(modelString) && isLegacyModelRemapEnabled()) {
|
|
116290
|
-
return getDefaultOpusModel()
|
|
116386
|
+
return append1mIfConfigured(getDefaultOpusModel());
|
|
116291
116387
|
}
|
|
116292
116388
|
if (process.env.USER_TYPE === "ant") {
|
|
116293
116389
|
const has1mAntTag = has1mContext(normalizedModel);
|
|
@@ -116323,7 +116419,7 @@ function modelDisplayString(model) {
|
|
|
116323
116419
|
if (model === null) {
|
|
116324
116420
|
const currentModel = getCurrentConfiguredModel();
|
|
116325
116421
|
if (!currentModel) {
|
|
116326
|
-
return "No
|
|
116422
|
+
return "No model configured";
|
|
116327
116423
|
}
|
|
116328
116424
|
return providerName ? `${providerName} / ${currentModel}` : currentModel;
|
|
116329
116425
|
}
|
|
@@ -116461,8 +116557,8 @@ async function getAnthropicClient({
|
|
|
116461
116557
|
fetchOverride,
|
|
116462
116558
|
source
|
|
116463
116559
|
});
|
|
116464
|
-
if (requestConfig.protocol !== "anthropic
|
|
116465
|
-
throw new Error(`Provider "${requestConfig.provider.name}" uses protocol "${requestConfig.protocol}", not anthropic
|
|
116560
|
+
if (requestConfig.protocol !== "anthropic") {
|
|
116561
|
+
throw new Error(`Provider "${requestConfig.provider.name}" uses protocol "${requestConfig.protocol}", not anthropic`);
|
|
116466
116562
|
}
|
|
116467
116563
|
const ARGS = {
|
|
116468
116564
|
defaultHeaders: requestConfig.defaultHeaders,
|
|
@@ -116820,29 +116916,17 @@ var init_context = __esm(() => {
|
|
|
116820
116916
|
var TIERS, get3PModelCapabilityOverride;
|
|
116821
116917
|
var init_modelSupportOverrides = __esm(() => {
|
|
116822
116918
|
init_memoize();
|
|
116919
|
+
init_providersConfig();
|
|
116823
116920
|
init_providers();
|
|
116824
|
-
TIERS = [
|
|
116825
|
-
{
|
|
116826
|
-
modelEnvVar: "ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
116827
|
-
capabilitiesEnvVar: "ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES"
|
|
116828
|
-
},
|
|
116829
|
-
{
|
|
116830
|
-
modelEnvVar: "ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
116831
|
-
capabilitiesEnvVar: "ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES"
|
|
116832
|
-
},
|
|
116833
|
-
{
|
|
116834
|
-
modelEnvVar: "ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
116835
|
-
capabilitiesEnvVar: "ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES"
|
|
116836
|
-
}
|
|
116837
|
-
];
|
|
116921
|
+
TIERS = ["opus", "sonnet", "haiku"];
|
|
116838
116922
|
get3PModelCapabilityOverride = memoize_default((model, capability) => {
|
|
116839
116923
|
if (getAPIProvider() === "firstParty") {
|
|
116840
116924
|
return;
|
|
116841
116925
|
}
|
|
116842
116926
|
const m = model.toLowerCase();
|
|
116843
116927
|
for (const tier of TIERS) {
|
|
116844
|
-
const pinned =
|
|
116845
|
-
const capabilities = process.env[tier.
|
|
116928
|
+
const pinned = getConfiguredModelSelection(tier).model;
|
|
116929
|
+
const capabilities = process.env[`ANTHROPIC_DEFAULT_${tier.toUpperCase()}_MODEL_SUPPORTED_CAPABILITIES`];
|
|
116846
116930
|
if (!pinned || capabilities === undefined)
|
|
116847
116931
|
continue;
|
|
116848
116932
|
if (m !== pinned.toLowerCase())
|
|
@@ -135114,7 +135198,7 @@ var init_auth = __esm(() => {
|
|
|
135114
135198
|
|
|
135115
135199
|
// src/utils/userAgent.ts
|
|
135116
135200
|
function getClaudeCodeUserAgent() {
|
|
135117
|
-
return `claude-code/${"
|
|
135201
|
+
return `claude-code/${"1.0.2"}`;
|
|
135118
135202
|
}
|
|
135119
135203
|
|
|
135120
135204
|
// src/utils/workloadContext.ts
|
|
@@ -135136,7 +135220,7 @@ function getUserAgent() {
|
|
|
135136
135220
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
135137
135221
|
const workload = getWorkload();
|
|
135138
135222
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
135139
|
-
return `claude-cli/${"
|
|
135223
|
+
return `claude-cli/${"1.0.2"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
135140
135224
|
}
|
|
135141
135225
|
function getMCPUserAgent() {
|
|
135142
135226
|
const parts = [];
|
|
@@ -135150,10 +135234,10 @@ function getMCPUserAgent() {
|
|
|
135150
135234
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
135151
135235
|
}
|
|
135152
135236
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
135153
|
-
return `claude-code/${"
|
|
135237
|
+
return `claude-code/${"1.0.2"}${suffix}`;
|
|
135154
135238
|
}
|
|
135155
135239
|
function getCopilotUserAgent() {
|
|
135156
|
-
return `opencode/latest/${"
|
|
135240
|
+
return `opencode/latest/${"1.0.2"}`;
|
|
135157
135241
|
}
|
|
135158
135242
|
function getWebFetchUserAgent() {
|
|
135159
135243
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -135291,7 +135375,7 @@ var init_user = __esm(() => {
|
|
|
135291
135375
|
deviceId,
|
|
135292
135376
|
sessionId: getSessionId(),
|
|
135293
135377
|
email: getEmail(),
|
|
135294
|
-
appVersion: "
|
|
135378
|
+
appVersion: "1.0.2",
|
|
135295
135379
|
platform: getHostPlatformForAnalytics(),
|
|
135296
135380
|
organizationUuid,
|
|
135297
135381
|
accountUuid,
|
|
@@ -142985,7 +143069,7 @@ var init_metadata = __esm(() => {
|
|
|
142985
143069
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
142986
143070
|
WHITESPACE_REGEX = /\s+/;
|
|
142987
143071
|
getVersionBase = memoize_default(() => {
|
|
142988
|
-
const match = "
|
|
143072
|
+
const match = "1.0.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
142989
143073
|
return match ? match[0] : undefined;
|
|
142990
143074
|
});
|
|
142991
143075
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -143025,9 +143109,9 @@ var init_metadata = __esm(() => {
|
|
|
143025
143109
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
143026
143110
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
143027
143111
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
143028
|
-
version: "
|
|
143112
|
+
version: "1.0.2",
|
|
143029
143113
|
versionBase: getVersionBase(),
|
|
143030
|
-
buildTime: "2026-04-
|
|
143114
|
+
buildTime: "2026-04-05T13:36:52.170Z",
|
|
143031
143115
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
143032
143116
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
143033
143117
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -143695,7 +143779,7 @@ function initialize1PEventLogging() {
|
|
|
143695
143779
|
const platform2 = getPlatform();
|
|
143696
143780
|
const attributes = {
|
|
143697
143781
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
|
|
143698
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "
|
|
143782
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.0.2"
|
|
143699
143783
|
};
|
|
143700
143784
|
if (platform2 === "wsl") {
|
|
143701
143785
|
const wslVersion = getWslVersion();
|
|
@@ -143722,7 +143806,7 @@ function initialize1PEventLogging() {
|
|
|
143722
143806
|
})
|
|
143723
143807
|
]
|
|
143724
143808
|
});
|
|
143725
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "
|
|
143809
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "1.0.2");
|
|
143726
143810
|
}
|
|
143727
143811
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
143728
143812
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -145587,7 +145671,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
145587
145671
|
if (!isAttributionHeaderEnabled()) {
|
|
145588
145672
|
return "";
|
|
145589
145673
|
}
|
|
145590
|
-
const version = `${"
|
|
145674
|
+
const version = `${"1.0.2"}.${fingerprint}`;
|
|
145591
145675
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
145592
145676
|
const cch = "";
|
|
145593
145677
|
const workload = getWorkload();
|
|
@@ -171933,7 +172017,6 @@ function applyPositionedHighlight(screen, stylePool, positions, rowOffset, curre
|
|
|
171933
172017
|
}
|
|
171934
172018
|
var import_constants15, timing;
|
|
171935
172019
|
var init_render_to_screen = __esm(() => {
|
|
171936
|
-
init_noop();
|
|
171937
172020
|
init_debug();
|
|
171938
172021
|
init_dom();
|
|
171939
172022
|
init_focus();
|
|
@@ -242236,7 +242319,7 @@ function getTelemetryAttributes() {
|
|
|
242236
242319
|
attributes["session.id"] = sessionId;
|
|
242237
242320
|
}
|
|
242238
242321
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
242239
|
-
attributes["app.version"] = "
|
|
242322
|
+
attributes["app.version"] = "1.0.2";
|
|
242240
242323
|
}
|
|
242241
242324
|
const oauthAccount = getOauthAccountInfo();
|
|
242242
242325
|
if (oauthAccount) {
|
|
@@ -273963,7 +274046,7 @@ function getInstallationEnv() {
|
|
|
273963
274046
|
return;
|
|
273964
274047
|
}
|
|
273965
274048
|
function getClaudeCodeVersion() {
|
|
273966
|
-
return "
|
|
274049
|
+
return "1.0.2";
|
|
273967
274050
|
}
|
|
273968
274051
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
273969
274052
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -279569,7 +279652,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
279569
279652
|
const client2 = new Client({
|
|
279570
279653
|
name: "claude-code",
|
|
279571
279654
|
title: "Jieee Coder",
|
|
279572
|
-
version: "
|
|
279655
|
+
version: "1.0.2",
|
|
279573
279656
|
description: "Anthropic's agentic coding tool",
|
|
279574
279657
|
websiteUrl: PRODUCT_URL
|
|
279575
279658
|
}, {
|
|
@@ -279924,7 +280007,7 @@ var init_client6 = __esm(() => {
|
|
|
279924
280007
|
const client2 = new Client({
|
|
279925
280008
|
name: "claude-code",
|
|
279926
280009
|
title: "Jieee Coder",
|
|
279927
|
-
version: "
|
|
280010
|
+
version: "1.0.2",
|
|
279928
280011
|
description: "Anthropic's agentic coding tool",
|
|
279929
280012
|
websiteUrl: PRODUCT_URL
|
|
279930
280013
|
}, {
|
|
@@ -280984,8 +281067,9 @@ function getDefaultSubagentModel() {
|
|
|
280984
281067
|
return "inherit";
|
|
280985
281068
|
}
|
|
280986
281069
|
function getAgentModel(agentModel, parentModel, toolSpecifiedModel, permissionMode) {
|
|
280987
|
-
|
|
280988
|
-
|
|
281070
|
+
const configuredSubagentModel = getConfiguredModelSelection("subagent").model;
|
|
281071
|
+
if (configuredSubagentModel) {
|
|
281072
|
+
return configuredSubagentModel;
|
|
280989
281073
|
}
|
|
280990
281074
|
const parentRegionPrefix = getBedrockRegionPrefix(parentModel);
|
|
280991
281075
|
const applyParentRegionPrefix = (resolvedModel, originalSpec) => {
|
|
@@ -281067,6 +281151,7 @@ var init_agent = __esm(() => {
|
|
|
281067
281151
|
init_aliases();
|
|
281068
281152
|
init_bedrock();
|
|
281069
281153
|
init_model();
|
|
281154
|
+
init_providersConfig();
|
|
281070
281155
|
init_providers();
|
|
281071
281156
|
AGENT_MODEL_OPTIONS = [...MODEL_ALIASES, "inherit"];
|
|
281072
281157
|
});
|
|
@@ -325302,7 +325387,7 @@ async function initializeBetaTracing(resource) {
|
|
|
325302
325387
|
});
|
|
325303
325388
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
325304
325389
|
setLoggerProvider(loggerProvider);
|
|
325305
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "
|
|
325390
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.0.2");
|
|
325306
325391
|
setEventLogger(eventLogger);
|
|
325307
325392
|
process.on("beforeExit", async () => {
|
|
325308
325393
|
await loggerProvider?.forceFlush();
|
|
@@ -325342,7 +325427,7 @@ async function initializeTelemetry() {
|
|
|
325342
325427
|
const platform4 = getPlatform();
|
|
325343
325428
|
const baseAttributes = {
|
|
325344
325429
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
325345
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "
|
|
325430
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.0.2"
|
|
325346
325431
|
};
|
|
325347
325432
|
if (platform4 === "wsl") {
|
|
325348
325433
|
const wslVersion = getWslVersion();
|
|
@@ -325387,7 +325472,7 @@ async function initializeTelemetry() {
|
|
|
325387
325472
|
} catch {}
|
|
325388
325473
|
};
|
|
325389
325474
|
registerCleanup(shutdownTelemetry2);
|
|
325390
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "
|
|
325475
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.0.2");
|
|
325391
325476
|
}
|
|
325392
325477
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
325393
325478
|
resource,
|
|
@@ -325407,7 +325492,7 @@ async function initializeTelemetry() {
|
|
|
325407
325492
|
});
|
|
325408
325493
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
325409
325494
|
setLoggerProvider(loggerProvider);
|
|
325410
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "
|
|
325495
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.0.2");
|
|
325411
325496
|
setEventLogger(eventLogger);
|
|
325412
325497
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
325413
325498
|
process.on("beforeExit", async () => {
|
|
@@ -325469,7 +325554,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
325469
325554
|
}
|
|
325470
325555
|
};
|
|
325471
325556
|
registerCleanup(shutdownTelemetry);
|
|
325472
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "
|
|
325557
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.0.2");
|
|
325473
325558
|
}
|
|
325474
325559
|
async function flushTelemetry() {
|
|
325475
325560
|
const meterProvider = getMeterProvider();
|
|
@@ -326155,9 +326240,9 @@ async function assertMinVersion() {
|
|
|
326155
326240
|
if (false) {}
|
|
326156
326241
|
try {
|
|
326157
326242
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
326158
|
-
if (versionConfig.minVersion && lt("
|
|
326243
|
+
if (versionConfig.minVersion && lt("1.0.2", versionConfig.minVersion)) {
|
|
326159
326244
|
console.error(`
|
|
326160
|
-
It looks like your version of Jieee Coder (${"
|
|
326245
|
+
It looks like your version of Jieee Coder (${"1.0.2"}) needs an update.
|
|
326161
326246
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
326162
326247
|
|
|
326163
326248
|
To update, please run:
|
|
@@ -326373,7 +326458,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
326373
326458
|
logError2(new AutoUpdaterError("Another process is currently installing an update"));
|
|
326374
326459
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
326375
326460
|
pid: process.pid,
|
|
326376
|
-
currentVersion: "
|
|
326461
|
+
currentVersion: "1.0.2"
|
|
326377
326462
|
});
|
|
326378
326463
|
return "in_progress";
|
|
326379
326464
|
}
|
|
@@ -326382,7 +326467,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
326382
326467
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
326383
326468
|
logError2(new Error("Windows NPM detected in WSL environment"));
|
|
326384
326469
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
326385
|
-
currentVersion: "
|
|
326470
|
+
currentVersion: "1.0.2"
|
|
326386
326471
|
});
|
|
326387
326472
|
console.error(`
|
|
326388
326473
|
Error: Windows NPM detected in WSL
|
|
@@ -326915,7 +327000,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
326915
327000
|
}
|
|
326916
327001
|
async function getDoctorDiagnostic() {
|
|
326917
327002
|
const installationType = await getCurrentInstallationType();
|
|
326918
|
-
const version = typeof MACRO !== "undefined" ? "
|
|
327003
|
+
const version = typeof MACRO !== "undefined" ? "1.0.2" : "unknown";
|
|
326919
327004
|
const installationPath = await getInstallationPath();
|
|
326920
327005
|
const invokedBinary = getInvokedBinary();
|
|
326921
327006
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -327848,8 +327933,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
327848
327933
|
const maxVersion = await getMaxVersion();
|
|
327849
327934
|
if (maxVersion && gt(version, maxVersion)) {
|
|
327850
327935
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
327851
|
-
if (gte("
|
|
327852
|
-
logForDebugging(`Native installer: current version ${"
|
|
327936
|
+
if (gte("1.0.2", maxVersion)) {
|
|
327937
|
+
logForDebugging(`Native installer: current version ${"1.0.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
327853
327938
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
327854
327939
|
latency_ms: Date.now() - startTime,
|
|
327855
327940
|
max_version: maxVersion,
|
|
@@ -327860,7 +327945,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
327860
327945
|
version = maxVersion;
|
|
327861
327946
|
}
|
|
327862
327947
|
}
|
|
327863
|
-
if (!forceReinstall && version === "
|
|
327948
|
+
if (!forceReinstall && version === "1.0.2" && await versionIsAvailable(version) && await isPossibleClaudeBinary(executablePath)) {
|
|
327864
327949
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
327865
327950
|
logEvent("tengu_native_update_complete", {
|
|
327866
327951
|
latency_ms: Date.now() - startTime,
|
|
@@ -328995,6 +329080,10 @@ function buildAPIProviderProperties() {
|
|
|
328995
329080
|
return properties;
|
|
328996
329081
|
}
|
|
328997
329082
|
function getModelDisplayLabel(mainLoopModel) {
|
|
329083
|
+
const selection = getCurrentProviderSelection();
|
|
329084
|
+
if (selection.provider?.name && selection.model) {
|
|
329085
|
+
return `${selection.provider.name} / ${mainLoopModel ?? selection.model}`;
|
|
329086
|
+
}
|
|
328998
329087
|
let modelLabel = modelDisplayString(mainLoopModel);
|
|
328999
329088
|
if (mainLoopModel === null && isClaudeAISubscriber()) {
|
|
329000
329089
|
const description = getClaudeAiUserDefaultModelDescription();
|
|
@@ -329018,6 +329107,7 @@ var init_status = __esm(() => {
|
|
|
329018
329107
|
init_providers();
|
|
329019
329108
|
init_mtls();
|
|
329020
329109
|
init_nativeInstaller();
|
|
329110
|
+
init_providersConfig();
|
|
329021
329111
|
init_proxy();
|
|
329022
329112
|
init_sandbox_adapter();
|
|
329023
329113
|
init_allErrors();
|
|
@@ -410118,14 +410208,14 @@ function getDefaultOptionForUser(fastMode = false) {
|
|
|
410118
410208
|
}
|
|
410119
410209
|
function getCustomSonnetOption() {
|
|
410120
410210
|
const is3P = getAPIProvider() !== "firstParty";
|
|
410121
|
-
const customSonnetModel =
|
|
410211
|
+
const customSonnetModel = getStoredModelSlot("sonnet")?.model;
|
|
410122
410212
|
if (is3P && customSonnetModel) {
|
|
410123
410213
|
const is1m = has1mContext(customSonnetModel);
|
|
410124
410214
|
return {
|
|
410125
410215
|
value: "sonnet",
|
|
410126
|
-
label:
|
|
410127
|
-
description:
|
|
410128
|
-
descriptionForModel:
|
|
410216
|
+
label: customSonnetModel,
|
|
410217
|
+
description: `Custom Sonnet model${is1m ? " (1M context)" : ""}`,
|
|
410218
|
+
descriptionForModel: `Custom Sonnet model${is1m ? " with 1M context" : ""} (${customSonnetModel})`
|
|
410129
410219
|
};
|
|
410130
410220
|
}
|
|
410131
410221
|
}
|
|
@@ -410140,14 +410230,14 @@ function getSonnet46Option() {
|
|
|
410140
410230
|
}
|
|
410141
410231
|
function getCustomOpusOption() {
|
|
410142
410232
|
const is3P = getAPIProvider() !== "firstParty";
|
|
410143
|
-
const customOpusModel =
|
|
410233
|
+
const customOpusModel = getStoredModelSlot("opus")?.model;
|
|
410144
410234
|
if (is3P && customOpusModel) {
|
|
410145
410235
|
const is1m = has1mContext(customOpusModel);
|
|
410146
410236
|
return {
|
|
410147
410237
|
value: "opus",
|
|
410148
|
-
label:
|
|
410149
|
-
description:
|
|
410150
|
-
descriptionForModel:
|
|
410238
|
+
label: customOpusModel,
|
|
410239
|
+
description: `Custom Opus model${is1m ? " (1M context)" : ""}`,
|
|
410240
|
+
descriptionForModel: `Custom Opus model${is1m ? " with 1M context" : ""} (${customOpusModel})`
|
|
410151
410241
|
};
|
|
410152
410242
|
}
|
|
410153
410243
|
}
|
|
@@ -410188,13 +410278,13 @@ function getOpus46_1MOption(fastMode = false) {
|
|
|
410188
410278
|
}
|
|
410189
410279
|
function getCustomHaikuOption() {
|
|
410190
410280
|
const is3P = getAPIProvider() !== "firstParty";
|
|
410191
|
-
const customHaikuModel =
|
|
410281
|
+
const customHaikuModel = getStoredModelSlot("haiku")?.model;
|
|
410192
410282
|
if (is3P && customHaikuModel) {
|
|
410193
410283
|
return {
|
|
410194
410284
|
value: "haiku",
|
|
410195
|
-
label:
|
|
410196
|
-
description:
|
|
410197
|
-
descriptionForModel:
|
|
410285
|
+
label: customHaikuModel,
|
|
410286
|
+
description: "Custom Haiku model",
|
|
410287
|
+
descriptionForModel: `Custom Haiku model (${customHaikuModel})`
|
|
410198
410288
|
};
|
|
410199
410289
|
}
|
|
410200
410290
|
}
|
|
@@ -424434,7 +424524,7 @@ function getAnthropicEnvMetadata() {
|
|
|
424434
424524
|
function getBuildAgeMinutes() {
|
|
424435
424525
|
if (false)
|
|
424436
424526
|
;
|
|
424437
|
-
const buildTime = new Date("2026-04-
|
|
424527
|
+
const buildTime = new Date("2026-04-05T13:36:52.170Z").getTime();
|
|
424438
424528
|
if (isNaN(buildTime))
|
|
424439
424529
|
return;
|
|
424440
424530
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -448094,7 +448184,7 @@ function Feedback({
|
|
|
448094
448184
|
platform: env4.platform,
|
|
448095
448185
|
gitRepo: envInfo.isGit,
|
|
448096
448186
|
terminal: env4.terminal,
|
|
448097
|
-
version: "
|
|
448187
|
+
version: "1.0.2",
|
|
448098
448188
|
transcript: normalizeMessagesForAPI(messages),
|
|
448099
448189
|
errors: sanitizedErrors,
|
|
448100
448190
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -448286,7 +448376,7 @@ function Feedback({
|
|
|
448286
448376
|
", ",
|
|
448287
448377
|
env4.terminal,
|
|
448288
448378
|
", v",
|
|
448289
|
-
"
|
|
448379
|
+
"1.0.2"
|
|
448290
448380
|
]
|
|
448291
448381
|
})
|
|
448292
448382
|
]
|
|
@@ -448392,7 +448482,7 @@ ${sanitizedDescription}
|
|
|
448392
448482
|
` + `**Environment Info**
|
|
448393
448483
|
` + `- Platform: ${env4.platform}
|
|
448394
448484
|
` + `- Terminal: ${env4.terminal}
|
|
448395
|
-
` + `- Version: ${"
|
|
448485
|
+
` + `- Version: ${"1.0.2"}
|
|
448396
448486
|
` + `- Feedback ID: ${feedbackId}
|
|
448397
448487
|
` + `
|
|
448398
448488
|
**Errors**
|
|
@@ -449946,7 +450036,7 @@ async function activateZenModelSelection(apiKey) {
|
|
|
449946
450036
|
}
|
|
449947
450037
|
const cfg = getProvidersConfig();
|
|
449948
450038
|
const current = getCurrentProviderSelection();
|
|
449949
|
-
if (!current.provider || !current.model || cfg.
|
|
450039
|
+
if (!current.provider || !current.model || cfg.model.current === null) {
|
|
449950
450040
|
const first = result.models[0];
|
|
449951
450041
|
if (first) {
|
|
449952
450042
|
const persisted = setCurrentProviderModel("opencode", first);
|
|
@@ -452010,7 +452100,7 @@ function buildPrimarySection() {
|
|
|
452010
452100
|
});
|
|
452011
452101
|
return [{
|
|
452012
452102
|
label: "Version",
|
|
452013
|
-
value: "
|
|
452103
|
+
value: "1.0.2"
|
|
452014
452104
|
}, {
|
|
452015
452105
|
label: "Session name",
|
|
452016
452106
|
value: nameValue
|
|
@@ -452794,7 +452884,9 @@ function ModelPicker({
|
|
|
452794
452884
|
onCancel,
|
|
452795
452885
|
isStandaloneCommand,
|
|
452796
452886
|
headerText,
|
|
452797
|
-
sessionModel
|
|
452887
|
+
sessionModel,
|
|
452888
|
+
skipSettingsWrite,
|
|
452889
|
+
targetSlot = "current"
|
|
452798
452890
|
}) {
|
|
452799
452891
|
const exitState = useExitOnCtrlCDWithKeybindings();
|
|
452800
452892
|
const [loadingBuiltinProviders, setLoadingBuiltinProviders] = import_react101.useState(false);
|
|
@@ -452815,7 +452907,8 @@ function ModelPicker({
|
|
|
452815
452907
|
};
|
|
452816
452908
|
}, []);
|
|
452817
452909
|
const config = getProvidersConfig();
|
|
452818
|
-
const
|
|
452910
|
+
const currentSelection = getCurrentProviderSelection();
|
|
452911
|
+
const targetSelection = getConfiguredModelSelection(targetSlot);
|
|
452819
452912
|
const modelOptions = config.providers.flatMap((provider) => provider.models.map((model) => ({
|
|
452820
452913
|
value: encodeValue(provider.name, model),
|
|
452821
452914
|
label: `${provider.name} / ${model}`,
|
|
@@ -452843,7 +452936,7 @@ function ModelPicker({
|
|
|
452843
452936
|
},
|
|
452844
452937
|
...filteredModelOptions
|
|
452845
452938
|
];
|
|
452846
|
-
const defaultValue =
|
|
452939
|
+
const defaultValue = targetSelection.provider && targetSelection.model ? filteredModelOptions.some((option) => option.value === encodeValue(targetSelection.provider.name, targetSelection.model)) ? encodeValue(targetSelection.provider.name, targetSelection.model) : "__filter__" : currentSelection.provider && currentSelection.model ? filteredModelOptions.some((option) => option.value === encodeValue(currentSelection.provider.name, currentSelection.model)) ? encodeValue(currentSelection.provider.name, currentSelection.model) : "__filter__" : "__filter__";
|
|
452847
452940
|
use_input_default((input, key) => {
|
|
452848
452941
|
if (focusedValue === "__filter__") {
|
|
452849
452942
|
return;
|
|
@@ -452930,10 +453023,12 @@ function ModelPicker({
|
|
|
452930
453023
|
onCancel?.();
|
|
452931
453024
|
return;
|
|
452932
453025
|
}
|
|
452933
|
-
|
|
452934
|
-
|
|
452935
|
-
|
|
452936
|
-
|
|
453026
|
+
if (!skipSettingsWrite) {
|
|
453027
|
+
const result = targetSlot === "current" ? setCurrentProviderModel(decoded.provider, decoded.model) : setProviderModelForSlot(targetSlot, decoded.provider, decoded.model);
|
|
453028
|
+
if (result.error) {
|
|
453029
|
+
onCancel?.();
|
|
453030
|
+
return;
|
|
453031
|
+
}
|
|
452937
453032
|
}
|
|
452938
453033
|
onSelect(decoded.model, undefined);
|
|
452939
453034
|
}
|
|
@@ -454543,7 +454638,7 @@ function Config({
|
|
|
454543
454638
|
{
|
|
454544
454639
|
id: "model",
|
|
454545
454640
|
label: "Model",
|
|
454546
|
-
value: mainLoopModel
|
|
454641
|
+
value: getModelDisplayLabel(mainLoopModel),
|
|
454547
454642
|
type: "managedEnum",
|
|
454548
454643
|
onChange: onChangeMainModelConfig
|
|
454549
454644
|
},
|
|
@@ -455360,7 +455455,7 @@ function Config({
|
|
|
455360
455455
|
}
|
|
455361
455456
|
})
|
|
455362
455457
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime175.jsx(ChannelDowngradeDialog, {
|
|
455363
|
-
currentVersion: "
|
|
455458
|
+
currentVersion: "1.0.2",
|
|
455364
455459
|
onChoice: (choice) => {
|
|
455365
455460
|
setShowSubmenu(null);
|
|
455366
455461
|
setTabsHidden(false);
|
|
@@ -455372,7 +455467,7 @@ function Config({
|
|
|
455372
455467
|
autoUpdatesChannel: "stable"
|
|
455373
455468
|
};
|
|
455374
455469
|
if (choice === "stay") {
|
|
455375
|
-
newSettings.minimumVersion = "
|
|
455470
|
+
newSettings.minimumVersion = "1.0.2";
|
|
455376
455471
|
}
|
|
455377
455472
|
updateSettingsForSource("userSettings", newSettings);
|
|
455378
455473
|
setSettingsData((prev_27) => ({
|
|
@@ -455694,6 +455789,7 @@ var init_Config = __esm(() => {
|
|
|
455694
455789
|
init_AppState();
|
|
455695
455790
|
init_ModelPicker();
|
|
455696
455791
|
init_model();
|
|
455792
|
+
init_status();
|
|
455697
455793
|
init_extraUsage();
|
|
455698
455794
|
init_ClaudeMdExternalIncludesDialog();
|
|
455699
455795
|
init_ChannelDowngradeDialog();
|
|
@@ -463458,7 +463554,7 @@ function HelpV2(t0) {
|
|
|
463458
463554
|
let t6;
|
|
463459
463555
|
if ($3[31] !== tabs) {
|
|
463460
463556
|
t6 = /* @__PURE__ */ jsx_runtime202.jsx(Tabs, {
|
|
463461
|
-
title: `Jieee Coder v${"
|
|
463557
|
+
title: `Jieee Coder v${"1.0.2"}`,
|
|
463462
463558
|
color: "professionalBlue",
|
|
463463
463559
|
defaultTab: "general",
|
|
463464
463560
|
children: tabs
|
|
@@ -487676,7 +487772,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
487676
487772
|
return [];
|
|
487677
487773
|
}
|
|
487678
487774
|
}
|
|
487679
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "
|
|
487775
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.0.2") {
|
|
487680
487776
|
if (process.env.USER_TYPE === "ant") {
|
|
487681
487777
|
const changelog = "CHANGELOG.md";
|
|
487682
487778
|
if (changelog) {
|
|
@@ -487703,7 +487799,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "v2.1.88.1
|
|
|
487703
487799
|
releaseNotes
|
|
487704
487800
|
};
|
|
487705
487801
|
}
|
|
487706
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "
|
|
487802
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.0.2") {
|
|
487707
487803
|
if (process.env.USER_TYPE === "ant") {
|
|
487708
487804
|
const changelog = "CHANGELOG.md";
|
|
487709
487805
|
if (changelog) {
|
|
@@ -488873,7 +488969,7 @@ function getRecentActivitySync() {
|
|
|
488873
488969
|
return cachedActivity;
|
|
488874
488970
|
}
|
|
488875
488971
|
function getLogoDisplayData() {
|
|
488876
|
-
const version = process.env.DEMO_VERSION ?? "
|
|
488972
|
+
const version = process.env.DEMO_VERSION ?? "1.0.2";
|
|
488877
488973
|
const serverUrl = getDirectConnectServerUrl();
|
|
488878
488974
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
488879
488975
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -488886,6 +488982,13 @@ function getLogoDisplayData() {
|
|
|
488886
488982
|
agentName
|
|
488887
488983
|
};
|
|
488888
488984
|
}
|
|
488985
|
+
function formatLogoModelDisplay(modelName) {
|
|
488986
|
+
const providerName = getCurrentProviderSelection().provider?.name;
|
|
488987
|
+
if (!providerName || modelName === "No model configured") {
|
|
488988
|
+
return modelName;
|
|
488989
|
+
}
|
|
488990
|
+
return `${providerName} / ${modelName}`;
|
|
488991
|
+
}
|
|
488889
488992
|
function getRecentReleaseNotesSync(maxItems) {
|
|
488890
488993
|
if (process.env.USER_TYPE === "ant") {
|
|
488891
488994
|
const changelog2 = "CHANGELOG.md";
|
|
@@ -488927,6 +489030,7 @@ var init_logoV2Utils = __esm(() => {
|
|
|
488927
489030
|
init_releaseNotes();
|
|
488928
489031
|
init_sessionStorage();
|
|
488929
489032
|
init_settings2();
|
|
489033
|
+
init_providersConfig();
|
|
488930
489034
|
cachedActivity = [];
|
|
488931
489035
|
});
|
|
488932
489036
|
|
|
@@ -489827,7 +489931,7 @@ function LogoV2() {
|
|
|
489827
489931
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
489828
489932
|
t2 = () => {
|
|
489829
489933
|
const currentConfig = getGlobalConfig();
|
|
489830
|
-
if (currentConfig.lastReleaseNotesSeen === "
|
|
489934
|
+
if (currentConfig.lastReleaseNotesSeen === "1.0.2") {
|
|
489831
489935
|
return;
|
|
489832
489936
|
}
|
|
489833
489937
|
saveGlobalConfig(_temp328);
|
|
@@ -489892,7 +489996,7 @@ function LogoV2() {
|
|
|
489892
489996
|
}
|
|
489893
489997
|
import_react151.useEffect(t7, t8);
|
|
489894
489998
|
const model = useMainLoopModel();
|
|
489895
|
-
const fullModelDisplayName = renderModelSetting(model);
|
|
489999
|
+
const fullModelDisplayName = formatLogoModelDisplay(renderModelSetting(model));
|
|
489896
490000
|
const {
|
|
489897
490001
|
version,
|
|
489898
490002
|
cwd: cwd2,
|
|
@@ -490366,12 +490470,12 @@ function LogoV2() {
|
|
|
490366
490470
|
return t41;
|
|
490367
490471
|
}
|
|
490368
490472
|
function _temp328(current) {
|
|
490369
|
-
if (current.lastReleaseNotesSeen === "
|
|
490473
|
+
if (current.lastReleaseNotesSeen === "1.0.2") {
|
|
490370
490474
|
return current;
|
|
490371
490475
|
}
|
|
490372
490476
|
return {
|
|
490373
490477
|
...current,
|
|
490374
|
-
lastReleaseNotesSeen: "
|
|
490478
|
+
lastReleaseNotesSeen: "1.0.2"
|
|
490375
490479
|
};
|
|
490376
490480
|
}
|
|
490377
490481
|
function _temp241(s_0) {
|
|
@@ -516670,7 +516774,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
516670
516774
|
smapsRollup,
|
|
516671
516775
|
platform: process.platform,
|
|
516672
516776
|
nodeVersion: process.version,
|
|
516673
|
-
ccVersion: "
|
|
516777
|
+
ccVersion: "1.0.2"
|
|
516674
516778
|
};
|
|
516675
516779
|
}
|
|
516676
516780
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -517256,7 +517360,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
517256
517360
|
var call57 = async () => {
|
|
517257
517361
|
return {
|
|
517258
517362
|
type: "text",
|
|
517259
|
-
value: `${"
|
|
517363
|
+
value: `${"1.0.2"} (built ${"2026-04-05T13:36:52.170Z"})`
|
|
517260
517364
|
};
|
|
517261
517365
|
}, version, version_default;
|
|
517262
517366
|
var init_version = __esm(() => {
|
|
@@ -520159,26 +520263,38 @@ var exports_model2 = {};
|
|
|
520159
520263
|
__export(exports_model2, {
|
|
520160
520264
|
call: () => call64
|
|
520161
520265
|
});
|
|
520162
|
-
function
|
|
520163
|
-
|
|
520266
|
+
function getSlotLabel(slot) {
|
|
520267
|
+
switch (slot) {
|
|
520268
|
+
case "current":
|
|
520269
|
+
return "current";
|
|
520270
|
+
case "subagent":
|
|
520271
|
+
return "agent";
|
|
520272
|
+
default:
|
|
520273
|
+
return slot;
|
|
520274
|
+
}
|
|
520275
|
+
}
|
|
520276
|
+
function renderModelLabel(model, slot = "current") {
|
|
520277
|
+
const selection = getConfiguredModelSelection(slot);
|
|
520164
520278
|
if (!selection.provider || !selection.model) {
|
|
520165
|
-
return "No
|
|
520279
|
+
return "No model configured";
|
|
520166
520280
|
}
|
|
520167
520281
|
const selectedModel = model ?? selection.model;
|
|
520168
520282
|
return `${selection.provider.name} / ${selectedModel}`;
|
|
520169
520283
|
}
|
|
520170
520284
|
function ModelPickerWrapper({
|
|
520171
|
-
onDone
|
|
520285
|
+
onDone,
|
|
520286
|
+
targetSlot = "current"
|
|
520172
520287
|
}) {
|
|
520173
520288
|
const mainLoopModel = useAppState((s2) => s2.mainLoopModel);
|
|
520174
520289
|
const mainLoopModelForSession = useAppState((s2) => s2.mainLoopModelForSession);
|
|
520175
520290
|
const isFastMode = useAppState((s2) => s2.fastMode);
|
|
520176
520291
|
const setAppState = useSetAppState();
|
|
520292
|
+
const slotLabel = getSlotLabel(targetSlot);
|
|
520177
520293
|
function handleCancel() {
|
|
520178
520294
|
logEvent("tengu_model_command_menu", {
|
|
520179
520295
|
action: "cancel"
|
|
520180
520296
|
});
|
|
520181
|
-
onDone(`Kept model as ${source_default.bold(renderModelLabel(mainLoopModel))}`, {
|
|
520297
|
+
onDone(`Kept ${slotLabel} model as ${source_default.bold(renderModelLabel(targetSlot === "current" ? mainLoopModel : null, targetSlot))}`, {
|
|
520182
520298
|
display: "system"
|
|
520183
520299
|
});
|
|
520184
520300
|
}
|
|
@@ -520189,20 +520305,22 @@ function ModelPickerWrapper({
|
|
|
520189
520305
|
to_model: model
|
|
520190
520306
|
});
|
|
520191
520307
|
let wasFastModeToggledOff = false;
|
|
520192
|
-
|
|
520193
|
-
|
|
520194
|
-
|
|
520195
|
-
|
|
520196
|
-
|
|
520197
|
-
|
|
520198
|
-
|
|
520199
|
-
|
|
520200
|
-
|
|
520201
|
-
|
|
520202
|
-
|
|
520308
|
+
if (targetSlot === "current") {
|
|
520309
|
+
setAppState((prev) => {
|
|
520310
|
+
wasFastModeToggledOff = isFastModeEnabled() && !isFastModeSupportedByModel(model) && !!prev.fastMode;
|
|
520311
|
+
return {
|
|
520312
|
+
...prev,
|
|
520313
|
+
mainLoopModel: model,
|
|
520314
|
+
mainLoopModelForSession: null,
|
|
520315
|
+
...wasFastModeToggledOff ? { fastMode: false } : {}
|
|
520316
|
+
};
|
|
520317
|
+
});
|
|
520318
|
+
if (wasFastModeToggledOff) {
|
|
520319
|
+
clearFastModeCooldown();
|
|
520320
|
+
}
|
|
520203
520321
|
}
|
|
520204
|
-
let message = `Set model to ${source_default.bold(renderModelLabel(model))}`;
|
|
520205
|
-
if (wasFastModeToggledOff) {
|
|
520322
|
+
let message = `Set ${slotLabel} model to ${source_default.bold(renderModelLabel(model, targetSlot))}`;
|
|
520323
|
+
if (targetSlot === "current" && wasFastModeToggledOff) {
|
|
520206
520324
|
message += " · Fast mode OFF";
|
|
520207
520325
|
}
|
|
520208
520326
|
onDone(message);
|
|
@@ -520214,12 +520332,15 @@ function ModelPickerWrapper({
|
|
|
520214
520332
|
onSelect: handleSelect,
|
|
520215
520333
|
onCancel: handleCancel,
|
|
520216
520334
|
isStandaloneCommand: true,
|
|
520217
|
-
showFastModeNotice
|
|
520335
|
+
showFastModeNotice,
|
|
520336
|
+
headerText: `Select ${slotLabel} model`,
|
|
520337
|
+
targetSlot
|
|
520218
520338
|
});
|
|
520219
520339
|
}
|
|
520220
520340
|
function SetModelAndClose({
|
|
520221
520341
|
args,
|
|
520222
|
-
onDone
|
|
520342
|
+
onDone,
|
|
520343
|
+
targetSlot
|
|
520223
520344
|
}) {
|
|
520224
520345
|
const setAppState = useSetAppState();
|
|
520225
520346
|
React107.useEffect(() => {
|
|
@@ -520252,26 +520373,28 @@ function SetModelAndClose({
|
|
|
520252
520373
|
onDone('Specify a model as "provider/model" or use a model name that is uniquely configured.', { display: "system" });
|
|
520253
520374
|
return;
|
|
520254
520375
|
}
|
|
520255
|
-
const result = setCurrentProviderModel(providerName, modelName);
|
|
520376
|
+
const result = targetSlot === "current" ? setCurrentProviderModel(providerName, modelName) : setProviderModelForSlot(targetSlot, providerName, modelName);
|
|
520256
520377
|
if (result.error) {
|
|
520257
520378
|
onDone(result.error, { display: "system" });
|
|
520258
520379
|
return;
|
|
520259
520380
|
}
|
|
520260
520381
|
let wasFastModeToggledOff = false;
|
|
520261
|
-
|
|
520262
|
-
|
|
520263
|
-
|
|
520264
|
-
|
|
520265
|
-
|
|
520266
|
-
|
|
520267
|
-
|
|
520268
|
-
|
|
520269
|
-
|
|
520270
|
-
|
|
520271
|
-
|
|
520382
|
+
if (targetSlot === "current") {
|
|
520383
|
+
setAppState((prev) => {
|
|
520384
|
+
wasFastModeToggledOff = isFastModeEnabled() && !isFastModeSupportedByModel(modelName) && !!prev.fastMode;
|
|
520385
|
+
return {
|
|
520386
|
+
...prev,
|
|
520387
|
+
mainLoopModel: modelName,
|
|
520388
|
+
mainLoopModelForSession: null,
|
|
520389
|
+
...wasFastModeToggledOff ? { fastMode: false } : {}
|
|
520390
|
+
};
|
|
520391
|
+
});
|
|
520392
|
+
if (wasFastModeToggledOff) {
|
|
520393
|
+
clearFastModeCooldown();
|
|
520394
|
+
}
|
|
520272
520395
|
}
|
|
520273
|
-
let message = `Set model to ${source_default.bold(`${providerName} / ${modelName}`)}`;
|
|
520274
|
-
if (wasFastModeToggledOff) {
|
|
520396
|
+
let message = `Set ${getSlotLabel(targetSlot)} model to ${source_default.bold(`${providerName} / ${modelName}`)}`;
|
|
520397
|
+
if (targetSlot === "current" && wasFastModeToggledOff) {
|
|
520275
520398
|
message += " · Fast mode OFF";
|
|
520276
520399
|
}
|
|
520277
520400
|
onDone(message);
|
|
@@ -520279,7 +520402,7 @@ function SetModelAndClose({
|
|
|
520279
520402
|
return () => {
|
|
520280
520403
|
mounted = false;
|
|
520281
520404
|
};
|
|
520282
|
-
}, [args, onDone, setAppState]);
|
|
520405
|
+
}, [args, onDone, setAppState, targetSlot]);
|
|
520283
520406
|
return null;
|
|
520284
520407
|
}
|
|
520285
520408
|
function ShowModelAndClose({
|
|
@@ -520289,7 +520412,7 @@ function ShowModelAndClose({
|
|
|
520289
520412
|
const mainLoopModelForSession = useAppState((s2) => s2.mainLoopModelForSession);
|
|
520290
520413
|
const selection = getCurrentProviderSelection();
|
|
520291
520414
|
if (!selection.provider || !selection.model) {
|
|
520292
|
-
onDone(selection.error ?? "No
|
|
520415
|
+
onDone(selection.error ?? "No model configured", { display: "system" });
|
|
520293
520416
|
return null;
|
|
520294
520417
|
}
|
|
520295
520418
|
const current = mainLoopModelForSession ?? mainLoopModel ?? selection.model;
|
|
@@ -520301,6 +520424,36 @@ Base model: ${selection.provider.name} / ${selection.model}`);
|
|
|
520301
520424
|
}
|
|
520302
520425
|
return null;
|
|
520303
520426
|
}
|
|
520427
|
+
function parseModelCommandArgs(args) {
|
|
520428
|
+
const tokens = args.trim().split(/\s+/).filter(Boolean);
|
|
520429
|
+
const targetFlags = new Map([
|
|
520430
|
+
["--opus", "opus"],
|
|
520431
|
+
["--sonnet", "sonnet"],
|
|
520432
|
+
["--haiku", "haiku"],
|
|
520433
|
+
["--agent", "subagent"]
|
|
520434
|
+
]);
|
|
520435
|
+
let targetSlot = "current";
|
|
520436
|
+
const remaining = [];
|
|
520437
|
+
for (const token of tokens) {
|
|
520438
|
+
const slot = targetFlags.get(token);
|
|
520439
|
+
if (!slot) {
|
|
520440
|
+
remaining.push(token);
|
|
520441
|
+
continue;
|
|
520442
|
+
}
|
|
520443
|
+
if (targetSlot !== "current") {
|
|
520444
|
+
return {
|
|
520445
|
+
targetSlot,
|
|
520446
|
+
input: "",
|
|
520447
|
+
error: "Specify only one target flag for /model."
|
|
520448
|
+
};
|
|
520449
|
+
}
|
|
520450
|
+
targetSlot = slot;
|
|
520451
|
+
}
|
|
520452
|
+
return {
|
|
520453
|
+
targetSlot,
|
|
520454
|
+
input: remaining.join(" ").trim()
|
|
520455
|
+
};
|
|
520456
|
+
}
|
|
520304
520457
|
var React107, jsx_runtime348, call64 = async (onDone, _context, args) => {
|
|
520305
520458
|
args = args?.trim() || "";
|
|
520306
520459
|
if (COMMON_INFO_ARGS.includes(args)) {
|
|
@@ -520312,20 +520465,27 @@ var React107, jsx_runtime348, call64 = async (onDone, _context, args) => {
|
|
|
520312
520465
|
});
|
|
520313
520466
|
}
|
|
520314
520467
|
if (COMMON_HELP_ARGS.includes(args)) {
|
|
520315
|
-
onDone("Run /model to
|
|
520468
|
+
onDone("Run /model to edit the current model, or use /model --sonnet|--opus|--haiku|--agent to edit a target model slot.", { display: "system" });
|
|
520316
520469
|
return;
|
|
520317
520470
|
}
|
|
520318
|
-
|
|
520471
|
+
const parsedArgs = parseModelCommandArgs(args);
|
|
520472
|
+
if (parsedArgs.error) {
|
|
520473
|
+
onDone(parsedArgs.error, { display: "system" });
|
|
520474
|
+
return;
|
|
520475
|
+
}
|
|
520476
|
+
if (parsedArgs.input) {
|
|
520319
520477
|
logEvent("tengu_model_command_inline", {
|
|
520320
520478
|
args
|
|
520321
520479
|
});
|
|
520322
520480
|
return /* @__PURE__ */ jsx_runtime348.jsx(SetModelAndClose, {
|
|
520323
|
-
args,
|
|
520481
|
+
args: parsedArgs.input,
|
|
520482
|
+
targetSlot: parsedArgs.targetSlot,
|
|
520324
520483
|
onDone
|
|
520325
520484
|
});
|
|
520326
520485
|
}
|
|
520327
520486
|
return /* @__PURE__ */ jsx_runtime348.jsx(ModelPickerWrapper, {
|
|
520328
|
-
onDone
|
|
520487
|
+
onDone,
|
|
520488
|
+
targetSlot: parsedArgs.targetSlot
|
|
520329
520489
|
});
|
|
520330
520490
|
};
|
|
520331
520491
|
var init_model2 = __esm(() => {
|
|
@@ -526099,7 +526259,7 @@ function generateHtmlReport(data, insights) {
|
|
|
526099
526259
|
</html>`;
|
|
526100
526260
|
}
|
|
526101
526261
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
526102
|
-
const version2 = typeof MACRO !== "undefined" ? "
|
|
526262
|
+
const version2 = typeof MACRO !== "undefined" ? "1.0.2" : "unknown";
|
|
526103
526263
|
const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
|
|
526104
526264
|
const facets_summary = {
|
|
526105
526265
|
total: facets.size,
|
|
@@ -530210,7 +530370,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
530210
530370
|
init_settings2();
|
|
530211
530371
|
init_slowOperations();
|
|
530212
530372
|
init_uuid();
|
|
530213
|
-
VERSION5 = typeof MACRO !== "undefined" ? "
|
|
530373
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.0.2" : "unknown";
|
|
530214
530374
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
530215
530375
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
530216
530376
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -531415,7 +531575,7 @@ var init_filesystem = __esm(() => {
|
|
|
531415
531575
|
});
|
|
531416
531576
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
531417
531577
|
const nonce = randomBytes18(16).toString("hex");
|
|
531418
|
-
return join130(getClaudeTempDir(), "bundled-skills", "
|
|
531578
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.0.2", nonce);
|
|
531419
531579
|
});
|
|
531420
531580
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
531421
531581
|
});
|
|
@@ -537411,7 +537571,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
537411
537571
|
}
|
|
537412
537572
|
function computeFingerprintFromMessages(messages) {
|
|
537413
537573
|
const firstMessageText = extractFirstMessageText(messages);
|
|
537414
|
-
return computeFingerprint(firstMessageText, "
|
|
537574
|
+
return computeFingerprint(firstMessageText, "1.0.2");
|
|
537415
537575
|
}
|
|
537416
537576
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
537417
537577
|
var init_fingerprint = () => {};
|
|
@@ -538191,7 +538351,7 @@ async function sendChatCompletionRequest({
|
|
|
538191
538351
|
source
|
|
538192
538352
|
}) {
|
|
538193
538353
|
const requestConfig = await getProviderRequestConfig({ source });
|
|
538194
|
-
if (requestConfig.protocol !== "
|
|
538354
|
+
if (requestConfig.protocol !== "chat") {
|
|
538195
538355
|
throw new Error(`Provider "${requestConfig.provider.name}" does not support chat/completions`);
|
|
538196
538356
|
}
|
|
538197
538357
|
if (requestConfig.provider.name === COPILOT_PROVIDER_NAME) {
|
|
@@ -539005,7 +539165,7 @@ async function sendResponsesRequest({
|
|
|
539005
539165
|
source
|
|
539006
539166
|
}) {
|
|
539007
539167
|
const requestConfig = await getProviderRequestConfig({ source });
|
|
539008
|
-
if (requestConfig.protocol !== "
|
|
539168
|
+
if (requestConfig.protocol !== "responses") {
|
|
539009
539169
|
throw new Error(`Provider "${requestConfig.provider.name}" does not support responses`);
|
|
539010
539170
|
}
|
|
539011
539171
|
const response = await requestConfig.fetch(buildEndpoint2(requestConfig.provider.url), {
|
|
@@ -540882,7 +541042,7 @@ ${deferredToolList}
|
|
|
540882
541042
|
const currentProviderProtocol = currentProviderSelection.protocol;
|
|
540883
541043
|
const zenMessagesForAPI = currentProviderSelection.provider?.name === "opencode" ? applyZenCapabilityTransform(messagesForAPI, options.model) : messagesForAPI;
|
|
540884
541044
|
const zenExtraBodyParams = currentProviderSelection.provider?.name === "opencode" ? getZenExtraBodyParams(options.model, getSessionId()) : undefined;
|
|
540885
|
-
if (currentProviderProtocol === "
|
|
541045
|
+
if (currentProviderProtocol === "chat") {
|
|
540886
541046
|
yield* queryOpenAIChatCompletions({
|
|
540887
541047
|
messagesForAPI: zenMessagesForAPI,
|
|
540888
541048
|
system,
|
|
@@ -540900,7 +541060,7 @@ ${deferredToolList}
|
|
|
540900
541060
|
});
|
|
540901
541061
|
return;
|
|
540902
541062
|
}
|
|
540903
|
-
if (currentProviderProtocol === "
|
|
541063
|
+
if (currentProviderProtocol === "responses") {
|
|
540904
541064
|
yield* queryOpenAIResponses({
|
|
540905
541065
|
messagesForAPI: zenMessagesForAPI,
|
|
540906
541066
|
system,
|
|
@@ -542119,7 +542279,7 @@ async function sideQuery(opts) {
|
|
|
542119
542279
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
542120
542280
|
}
|
|
542121
542281
|
const messageText = extractFirstUserMessageText(messages);
|
|
542122
|
-
const fingerprint = computeFingerprint(messageText, "
|
|
542282
|
+
const fingerprint = computeFingerprint(messageText, "1.0.2");
|
|
542123
542283
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
542124
542284
|
const systemBlocks = [
|
|
542125
542285
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -544959,21 +545119,8 @@ var init_managedEnvConstants = __esm(() => {
|
|
|
544959
545119
|
"CLAUDE_CODE_SKIP_VERTEX_AUTH",
|
|
544960
545120
|
"CLAUDE_CODE_SKIP_FOUNDRY_AUTH",
|
|
544961
545121
|
"ANTHROPIC_MODEL",
|
|
544962
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
544963
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION",
|
|
544964
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME",
|
|
544965
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES",
|
|
544966
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
544967
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION",
|
|
544968
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL_NAME",
|
|
544969
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES",
|
|
544970
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
544971
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION",
|
|
544972
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL_NAME",
|
|
544973
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES",
|
|
544974
545122
|
"ANTHROPIC_SMALL_FAST_MODEL",
|
|
544975
|
-
"ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION"
|
|
544976
|
-
"CLAUDE_CODE_SUBAGENT_MODEL"
|
|
545123
|
+
"ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION"
|
|
544977
545124
|
]);
|
|
544978
545125
|
PROVIDER_MANAGED_ENV_PREFIXES = [
|
|
544979
545126
|
"VERTEX_REGION_CLAUDE_"
|
|
@@ -544983,18 +545130,6 @@ var init_managedEnvConstants = __esm(() => {
|
|
|
544983
545130
|
"ANTHROPIC_CUSTOM_MODEL_OPTION",
|
|
544984
545131
|
"ANTHROPIC_CUSTOM_MODEL_OPTION_DESCRIPTION",
|
|
544985
545132
|
"ANTHROPIC_CUSTOM_MODEL_OPTION_NAME",
|
|
544986
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL",
|
|
544987
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL_DESCRIPTION",
|
|
544988
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL_NAME",
|
|
544989
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL_SUPPORTED_CAPABILITIES",
|
|
544990
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL",
|
|
544991
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL_DESCRIPTION",
|
|
544992
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL_NAME",
|
|
544993
|
-
"ANTHROPIC_DEFAULT_OPUS_MODEL_SUPPORTED_CAPABILITIES",
|
|
544994
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL",
|
|
544995
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL_DESCRIPTION",
|
|
544996
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL_NAME",
|
|
544997
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL_SUPPORTED_CAPABILITIES",
|
|
544998
545133
|
"ANTHROPIC_FOUNDRY_API_KEY",
|
|
544999
545134
|
"ANTHROPIC_MODEL",
|
|
545000
545135
|
"ANTHROPIC_SMALL_FAST_MODEL_AWS_REGION",
|
|
@@ -545017,7 +545152,6 @@ var init_managedEnvConstants = __esm(() => {
|
|
|
545017
545152
|
"CLAUDE_CODE_SKIP_BEDROCK_AUTH",
|
|
545018
545153
|
"CLAUDE_CODE_SKIP_FOUNDRY_AUTH",
|
|
545019
545154
|
"CLAUDE_CODE_SKIP_VERTEX_AUTH",
|
|
545020
|
-
"CLAUDE_CODE_SUBAGENT_MODEL",
|
|
545021
545155
|
"CLAUDE_CODE_USE_BEDROCK",
|
|
545022
545156
|
"CLAUDE_CODE_USE_FOUNDRY",
|
|
545023
545157
|
"CLAUDE_CODE_USE_VERTEX",
|
|
@@ -547109,7 +547243,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
547109
547243
|
slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
|
|
547110
547244
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
547111
547245
|
betas: getSdkBetas(),
|
|
547112
|
-
claude_code_version: "
|
|
547246
|
+
claude_code_version: "1.0.2",
|
|
547113
547247
|
output_style: outputStyle2,
|
|
547114
547248
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
547115
547249
|
skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -561922,7 +562056,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
561922
562056
|
function getSemverPart(version2) {
|
|
561923
562057
|
return `${import_semver13.major(version2, { loose: true })}.${import_semver13.minor(version2, { loose: true })}.${import_semver13.patch(version2, { loose: true })}`;
|
|
561924
562058
|
}
|
|
561925
|
-
function useUpdateNotification(updatedVersion, initialVersion = "
|
|
562059
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.0.2") {
|
|
561926
562060
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
561927
562061
|
if (!updatedVersion) {
|
|
561928
562062
|
return null;
|
|
@@ -561962,7 +562096,7 @@ function AutoUpdater({
|
|
|
561962
562096
|
return;
|
|
561963
562097
|
}
|
|
561964
562098
|
if (false) {}
|
|
561965
|
-
const currentVersion = "
|
|
562099
|
+
const currentVersion = "1.0.2";
|
|
561966
562100
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
561967
562101
|
let latestVersion = await getLatestVersion(channel);
|
|
561968
562102
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -562175,12 +562309,12 @@ function NativeAutoUpdater({
|
|
|
562175
562309
|
logEvent("tengu_native_auto_updater_start", {});
|
|
562176
562310
|
try {
|
|
562177
562311
|
const maxVersion = await getMaxVersion();
|
|
562178
|
-
if (maxVersion && gt("
|
|
562312
|
+
if (maxVersion && gt("1.0.2", maxVersion)) {
|
|
562179
562313
|
const msg = await getMaxVersionMessage();
|
|
562180
562314
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
562181
562315
|
}
|
|
562182
562316
|
const result = await installLatest(channel);
|
|
562183
|
-
const currentVersion = "
|
|
562317
|
+
const currentVersion = "1.0.2";
|
|
562184
562318
|
const latencyMs = Date.now() - startTime;
|
|
562185
562319
|
if (result.lockFailed) {
|
|
562186
562320
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -562317,17 +562451,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
562317
562451
|
const maxVersion = await getMaxVersion();
|
|
562318
562452
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
562319
562453
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
562320
|
-
if (gte("
|
|
562321
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"
|
|
562454
|
+
if (gte("1.0.2", maxVersion)) {
|
|
562455
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.0.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
562322
562456
|
setUpdateAvailable(false);
|
|
562323
562457
|
return;
|
|
562324
562458
|
}
|
|
562325
562459
|
latest = maxVersion;
|
|
562326
562460
|
}
|
|
562327
|
-
const hasUpdate = latest && !gte("
|
|
562461
|
+
const hasUpdate = latest && !gte("1.0.2", latest) && !shouldSkipVersion(latest);
|
|
562328
562462
|
setUpdateAvailable(!!hasUpdate);
|
|
562329
562463
|
if (hasUpdate) {
|
|
562330
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"
|
|
562464
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.0.2"} -> ${latest}`);
|
|
562331
562465
|
}
|
|
562332
562466
|
};
|
|
562333
562467
|
$3[0] = t1;
|
|
@@ -562361,7 +562495,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
562361
562495
|
wrap: "truncate",
|
|
562362
562496
|
children: [
|
|
562363
562497
|
"currentVersion: ",
|
|
562364
|
-
"
|
|
562498
|
+
"1.0.2"
|
|
562365
562499
|
]
|
|
562366
562500
|
});
|
|
562367
562501
|
$3[3] = verbose;
|
|
@@ -569873,7 +570007,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
569873
570007
|
project_dir: getOriginalCwd(),
|
|
569874
570008
|
added_dirs: addedDirs
|
|
569875
570009
|
},
|
|
569876
|
-
version: "
|
|
570010
|
+
version: "1.0.2",
|
|
569877
570011
|
output_style: {
|
|
569878
570012
|
name: outputStyleName
|
|
569879
570013
|
},
|
|
@@ -590494,7 +590628,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
590494
590628
|
} catch {}
|
|
590495
590629
|
const data = {
|
|
590496
590630
|
trigger,
|
|
590497
|
-
version: "
|
|
590631
|
+
version: "1.0.2",
|
|
590498
590632
|
platform: process.platform,
|
|
590499
590633
|
transcript,
|
|
590500
590634
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -602455,7 +602589,7 @@ function WelcomeV2() {
|
|
|
602455
602589
|
dimColor: true,
|
|
602456
602590
|
children: [
|
|
602457
602591
|
"v",
|
|
602458
|
-
"
|
|
602592
|
+
"1.0.2",
|
|
602459
602593
|
" "
|
|
602460
602594
|
]
|
|
602461
602595
|
})
|
|
@@ -602655,7 +602789,7 @@ function WelcomeV2() {
|
|
|
602655
602789
|
dimColor: true,
|
|
602656
602790
|
children: [
|
|
602657
602791
|
"v",
|
|
602658
|
-
"
|
|
602792
|
+
"1.0.2",
|
|
602659
602793
|
" "
|
|
602660
602794
|
]
|
|
602661
602795
|
})
|
|
@@ -602881,7 +603015,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
602881
603015
|
dimColor: true,
|
|
602882
603016
|
children: [
|
|
602883
603017
|
"v",
|
|
602884
|
-
"
|
|
603018
|
+
"1.0.2",
|
|
602885
603019
|
" "
|
|
602886
603020
|
]
|
|
602887
603021
|
});
|
|
@@ -603135,7 +603269,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
603135
603269
|
dimColor: true,
|
|
603136
603270
|
children: [
|
|
603137
603271
|
"v",
|
|
603138
|
-
"
|
|
603272
|
+
"1.0.2",
|
|
603139
603273
|
" "
|
|
603140
603274
|
]
|
|
603141
603275
|
});
|
|
@@ -604639,7 +604773,7 @@ function completeOnboarding() {
|
|
|
604639
604773
|
saveGlobalConfig((current) => ({
|
|
604640
604774
|
...current,
|
|
604641
604775
|
hasCompletedOnboarding: true,
|
|
604642
|
-
lastOnboardingVersion: "
|
|
604776
|
+
lastOnboardingVersion: "1.0.2"
|
|
604643
604777
|
}));
|
|
604644
604778
|
}
|
|
604645
604779
|
function showDialog(root2, renderer) {
|
|
@@ -609127,7 +609261,7 @@ function appendToLog(path22, message) {
|
|
|
609127
609261
|
cwd: getFsImplementation().cwd(),
|
|
609128
609262
|
userType: process.env.USER_TYPE,
|
|
609129
609263
|
sessionId: getSessionId(),
|
|
609130
|
-
version: "
|
|
609264
|
+
version: "1.0.2"
|
|
609131
609265
|
};
|
|
609132
609266
|
getLogWriter(path22).write(messageWithTimestamp);
|
|
609133
609267
|
}
|
|
@@ -612714,8 +612848,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
612714
612848
|
}
|
|
612715
612849
|
async function checkEnvLessBridgeMinVersion() {
|
|
612716
612850
|
const cfg = await getEnvLessBridgeConfig();
|
|
612717
|
-
if (cfg.min_version && lt("
|
|
612718
|
-
return `Your version of Jieee Coder (${"
|
|
612851
|
+
if (cfg.min_version && lt("1.0.2", cfg.min_version)) {
|
|
612852
|
+
return `Your version of Jieee Coder (${"1.0.2"}) is too old for Remote Control.
|
|
612719
612853
|
Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
|
|
612720
612854
|
}
|
|
612721
612855
|
return null;
|
|
@@ -613188,7 +613322,7 @@ async function initBridgeCore(params) {
|
|
|
613188
613322
|
const rawApi = createBridgeApiClient({
|
|
613189
613323
|
baseUrl,
|
|
613190
613324
|
getAccessToken,
|
|
613191
|
-
runnerVersion: "
|
|
613325
|
+
runnerVersion: "1.0.2",
|
|
613192
613326
|
onDebug: logForDebugging,
|
|
613193
613327
|
onAuth401,
|
|
613194
613328
|
getTrustedDeviceToken
|
|
@@ -618852,7 +618986,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
|
|
|
618852
618986
|
setCwd(cwd3);
|
|
618853
618987
|
const server = new Server({
|
|
618854
618988
|
name: "claude/tengu",
|
|
618855
|
-
version: "
|
|
618989
|
+
version: "1.0.2"
|
|
618856
618990
|
}, {
|
|
618857
618991
|
capabilities: {
|
|
618858
618992
|
tools: {}
|
|
@@ -620464,7 +620598,7 @@ __export(exports_update, {
|
|
|
620464
620598
|
});
|
|
620465
620599
|
async function update() {
|
|
620466
620600
|
logEvent("tengu_update_check", {});
|
|
620467
|
-
writeToStdout(`Current version: ${"
|
|
620601
|
+
writeToStdout(`Current version: ${"1.0.2"}
|
|
620468
620602
|
`);
|
|
620469
620603
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
620470
620604
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -620539,8 +620673,8 @@ async function update() {
|
|
|
620539
620673
|
writeToStdout(`Claude is managed by Homebrew.
|
|
620540
620674
|
`);
|
|
620541
620675
|
const latest = await getLatestVersion(channel);
|
|
620542
|
-
if (latest && !gte("
|
|
620543
|
-
writeToStdout(`Update available: ${"
|
|
620676
|
+
if (latest && !gte("1.0.2", latest)) {
|
|
620677
|
+
writeToStdout(`Update available: ${"1.0.2"} → ${latest}
|
|
620544
620678
|
`);
|
|
620545
620679
|
writeToStdout(`
|
|
620546
620680
|
`);
|
|
@@ -620556,8 +620690,8 @@ async function update() {
|
|
|
620556
620690
|
writeToStdout(`Claude is managed by winget.
|
|
620557
620691
|
`);
|
|
620558
620692
|
const latest = await getLatestVersion(channel);
|
|
620559
|
-
if (latest && !gte("
|
|
620560
|
-
writeToStdout(`Update available: ${"
|
|
620693
|
+
if (latest && !gte("1.0.2", latest)) {
|
|
620694
|
+
writeToStdout(`Update available: ${"1.0.2"} → ${latest}
|
|
620561
620695
|
`);
|
|
620562
620696
|
writeToStdout(`
|
|
620563
620697
|
`);
|
|
@@ -620573,8 +620707,8 @@ async function update() {
|
|
|
620573
620707
|
writeToStdout(`Claude is managed by apk.
|
|
620574
620708
|
`);
|
|
620575
620709
|
const latest = await getLatestVersion(channel);
|
|
620576
|
-
if (latest && !gte("
|
|
620577
|
-
writeToStdout(`Update available: ${"
|
|
620710
|
+
if (latest && !gte("1.0.2", latest)) {
|
|
620711
|
+
writeToStdout(`Update available: ${"1.0.2"} → ${latest}
|
|
620578
620712
|
`);
|
|
620579
620713
|
writeToStdout(`
|
|
620580
620714
|
`);
|
|
@@ -620639,11 +620773,11 @@ async function update() {
|
|
|
620639
620773
|
`);
|
|
620640
620774
|
await gracefulShutdown(1);
|
|
620641
620775
|
}
|
|
620642
|
-
if (result.latestVersion === "
|
|
620643
|
-
writeToStdout(source_default.green(`Jieee Coder is up to date (${"
|
|
620776
|
+
if (result.latestVersion === "1.0.2") {
|
|
620777
|
+
writeToStdout(source_default.green(`Jieee Coder is up to date (${"1.0.2"})`) + `
|
|
620644
620778
|
`);
|
|
620645
620779
|
} else {
|
|
620646
|
-
writeToStdout(source_default.green(`Successfully updated from ${"
|
|
620780
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.2"} to version ${result.latestVersion}`) + `
|
|
620647
620781
|
`);
|
|
620648
620782
|
await regenerateCompletionCache();
|
|
620649
620783
|
}
|
|
@@ -620703,12 +620837,12 @@ async function update() {
|
|
|
620703
620837
|
`);
|
|
620704
620838
|
await gracefulShutdown(1);
|
|
620705
620839
|
}
|
|
620706
|
-
if (latestVersion === "
|
|
620707
|
-
writeToStdout(source_default.green(`Jieee Coder is up to date (${"
|
|
620840
|
+
if (latestVersion === "1.0.2") {
|
|
620841
|
+
writeToStdout(source_default.green(`Jieee Coder is up to date (${"1.0.2"})`) + `
|
|
620708
620842
|
`);
|
|
620709
620843
|
await gracefulShutdown(0);
|
|
620710
620844
|
}
|
|
620711
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"
|
|
620845
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.0.2"})
|
|
620712
620846
|
`);
|
|
620713
620847
|
writeToStdout(`Installing update...
|
|
620714
620848
|
`);
|
|
@@ -620753,7 +620887,7 @@ async function update() {
|
|
|
620753
620887
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
620754
620888
|
switch (status2) {
|
|
620755
620889
|
case "success":
|
|
620756
|
-
writeToStdout(source_default.green(`Successfully updated from ${"
|
|
620890
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.0.2"} to version ${latestVersion}`) + `
|
|
620757
620891
|
`);
|
|
620758
620892
|
await regenerateCompletionCache();
|
|
620759
620893
|
break;
|
|
@@ -621146,7 +621280,7 @@ async function run() {
|
|
|
621146
621280
|
await init();
|
|
621147
621281
|
profileCheckpoint("preAction_after_init");
|
|
621148
621282
|
if (!isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)) {
|
|
621149
|
-
process.title = "
|
|
621283
|
+
process.title = "jcode";
|
|
621150
621284
|
}
|
|
621151
621285
|
const {
|
|
621152
621286
|
initSinks: initSinks2
|
|
@@ -621997,7 +622131,7 @@ ${customInstructions}` : customInstructions;
|
|
|
621997
622131
|
}
|
|
621998
622132
|
}
|
|
621999
622133
|
logForDiagnosticsNoPII("info", "started", {
|
|
622000
|
-
version: "
|
|
622134
|
+
version: "1.0.2",
|
|
622001
622135
|
is_native_binary: isInBundledMode()
|
|
622002
622136
|
});
|
|
622003
622137
|
registerCleanup(async () => {
|
|
@@ -622781,7 +622915,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
622781
622915
|
pendingHookMessages
|
|
622782
622916
|
}, renderAndRun);
|
|
622783
622917
|
}
|
|
622784
|
-
}).version("
|
|
622918
|
+
}).version("1.0.2 (Jieee Coder)", "-v, --version", "Output the version number");
|
|
622785
622919
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
622786
622920
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
622787
622921
|
if (canUserConfigureAdvisor()) {
|
|
@@ -623294,7 +623428,7 @@ if (false) {}
|
|
|
623294
623428
|
async function main2() {
|
|
623295
623429
|
const args = process.argv.slice(2);
|
|
623296
623430
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
623297
|
-
console.log(`${"
|
|
623431
|
+
console.log(`${"1.0.2"} (Jieee Coder)`);
|
|
623298
623432
|
return;
|
|
623299
623433
|
}
|
|
623300
623434
|
const {
|
|
@@ -623378,5 +623512,5 @@ async function main2() {
|
|
|
623378
623512
|
}
|
|
623379
623513
|
main2();
|
|
623380
623514
|
|
|
623381
|
-
//# debugId=
|
|
623515
|
+
//# debugId=E6858C311518419D64756E2164756E21
|
|
623382
623516
|
//# sourceMappingURL=cli.js.map
|