@margay/ccl-core 1.3.6-alpha.3 → 1.3.6-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -0
- package/dist/cli.js +648 -474
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -116,7 +116,7 @@ var __callDispose = (stack, error, hasError) => {
|
|
|
116
116
|
var require_package = __commonJS((exports, module) => {
|
|
117
117
|
module.exports = {
|
|
118
118
|
name: "@margay/ccl-core",
|
|
119
|
-
version: "1.3.6-
|
|
119
|
+
version: "1.3.6-beta.0",
|
|
120
120
|
description: "Core runtime extracted from Claude Code (ccl) for Margay integration",
|
|
121
121
|
license: "SEE LICENSE IN README.md",
|
|
122
122
|
type: "module",
|
|
@@ -162503,7 +162503,7 @@ async function _executeApiKeyHelper(isNonInteractiveSession) {
|
|
|
162503
162503
|
if (isApiKeyHelperFromProjectOrLocalSettings()) {
|
|
162504
162504
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162505
162505
|
if (!hasTrust && !isNonInteractiveSession) {
|
|
162506
|
-
const error5 = new Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
162506
|
+
const error5 = new Error(`Security: apiKeyHelper executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL}.`);
|
|
162507
162507
|
logAntError("apiKeyHelper invoked before trust check", error5);
|
|
162508
162508
|
logEvent("tengu_apiKeyHelper_missing_trust11", {});
|
|
162509
162509
|
return null;
|
|
@@ -162547,7 +162547,7 @@ async function runAwsAuthRefresh() {
|
|
|
162547
162547
|
if (isAwsAuthRefreshFromProjectSettings()) {
|
|
162548
162548
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162549
162549
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
162550
|
-
const error5 = new Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
162550
|
+
const error5 = new Error(`Security: awsAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL}.`);
|
|
162551
162551
|
logAntError("awsAuthRefresh invoked before trust check", error5);
|
|
162552
162552
|
logEvent("tengu_awsAuthRefresh_missing_trust", {});
|
|
162553
162553
|
return false;
|
|
@@ -162607,7 +162607,7 @@ async function getAwsCredsFromCredentialExport() {
|
|
|
162607
162607
|
if (isAwsCredentialExportFromProjectSettings()) {
|
|
162608
162608
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162609
162609
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
162610
|
-
const error5 = new Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
162610
|
+
const error5 = new Error(`Security: awsCredentialExport executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL}.`);
|
|
162611
162611
|
logAntError("awsCredentialExport invoked before trust check", error5);
|
|
162612
162612
|
logEvent("tengu_awsCredentialExport_missing_trust", {});
|
|
162613
162613
|
return null;
|
|
@@ -162692,7 +162692,7 @@ async function runGcpAuthRefresh() {
|
|
|
162692
162692
|
if (isGcpAuthRefreshFromProjectSettings()) {
|
|
162693
162693
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162694
162694
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
162695
|
-
const error5 = new Error(`Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
162695
|
+
const error5 = new Error(`Security: gcpAuthRefresh executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL}.`);
|
|
162696
162696
|
logAntError("gcpAuthRefresh invoked before trust check", error5);
|
|
162697
162697
|
logEvent("tengu_gcpAuthRefresh_missing_trust", {});
|
|
162698
162698
|
return false;
|
|
@@ -163402,7 +163402,7 @@ var init_auth2 = __esm(() => {
|
|
|
163402
163402
|
|
|
163403
163403
|
// utils/userAgent.ts
|
|
163404
163404
|
function getClaudeCodeUserAgent() {
|
|
163405
|
-
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
163405
|
+
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}`;
|
|
163406
163406
|
}
|
|
163407
163407
|
|
|
163408
163408
|
// utils/workloadContext.ts
|
|
@@ -163424,7 +163424,7 @@ function getUserAgent() {
|
|
|
163424
163424
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
163425
163425
|
const workload = getWorkload();
|
|
163426
163426
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
163427
|
-
return `claude-cli/${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
163427
|
+
return `claude-cli/${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
163428
163428
|
}
|
|
163429
163429
|
function getMCPUserAgent() {
|
|
163430
163430
|
const parts = [];
|
|
@@ -163438,7 +163438,7 @@ function getMCPUserAgent() {
|
|
|
163438
163438
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
163439
163439
|
}
|
|
163440
163440
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
163441
|
-
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
163441
|
+
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}${suffix}`;
|
|
163442
163442
|
}
|
|
163443
163443
|
function getWebFetchUserAgent() {
|
|
163444
163444
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -163576,7 +163576,7 @@ var init_user = __esm(() => {
|
|
|
163576
163576
|
deviceId,
|
|
163577
163577
|
sessionId: getSessionId(),
|
|
163578
163578
|
email: getEmail(),
|
|
163579
|
-
appVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
163579
|
+
appVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
163580
163580
|
platform: getHostPlatformForAnalytics(),
|
|
163581
163581
|
organizationUuid,
|
|
163582
163582
|
accountUuid,
|
|
@@ -171273,7 +171273,7 @@ var init_metadata = __esm(() => {
|
|
|
171273
171273
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
171274
171274
|
WHITESPACE_REGEX = /\s+/;
|
|
171275
171275
|
getVersionBase = memoize20(() => {
|
|
171276
|
-
const match = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
171276
|
+
const match = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION.match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
171277
171277
|
return match ? match[0] : undefined;
|
|
171278
171278
|
});
|
|
171279
171279
|
buildEnvContext = memoize20(async () => {
|
|
@@ -171313,9 +171313,9 @@ var init_metadata = __esm(() => {
|
|
|
171313
171313
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
171314
171314
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
171315
171315
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
171316
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
171316
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
171317
171317
|
versionBase: getVersionBase(),
|
|
171318
|
-
buildTime: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
171318
|
+
buildTime: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.BUILD_TIME,
|
|
171319
171319
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
171320
171320
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
171321
171321
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -171982,7 +171982,7 @@ function initialize1PEventLogging() {
|
|
|
171982
171982
|
const platform2 = getPlatform();
|
|
171983
171983
|
const attributes = {
|
|
171984
171984
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
|
|
171985
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
171985
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
171986
171986
|
};
|
|
171987
171987
|
if (platform2 === "wsl") {
|
|
171988
171988
|
const wslVersion = getWslVersion();
|
|
@@ -172009,7 +172009,7 @@ function initialize1PEventLogging() {
|
|
|
172009
172009
|
})
|
|
172010
172010
|
]
|
|
172011
172011
|
});
|
|
172012
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
172012
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
172013
172013
|
}
|
|
172014
172014
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
172015
172015
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -172611,6 +172611,7 @@ var init_growthbook = __esm(() => {
|
|
|
172611
172611
|
});
|
|
172612
172612
|
BOOLEAN_GROWTHBOOK_GATES_KEPT_OFF = new Set([
|
|
172613
172613
|
"tengu_cobalt_raccoon",
|
|
172614
|
+
"tengu_paper_halyard",
|
|
172614
172615
|
"tengu_amber_quartz_disabled",
|
|
172615
172616
|
"tengu_disable_bypass_permissions_mode",
|
|
172616
172617
|
"tengu_miraculo_the_bard",
|
|
@@ -200887,14 +200888,14 @@ function decideChannel(input) {
|
|
|
200887
200888
|
const isNonClaudeModel = !!(input.model && !input.model.startsWith("claude-") && input.model !== "claude");
|
|
200888
200889
|
const isClaudeModel = !!(input.model?.startsWith("claude") || input.model === "claude");
|
|
200889
200890
|
const hasLocalAuth = input.isSubscriber || input.hasLocalClaudeDirectAuth;
|
|
200890
|
-
const isClaudeViaGateway = !!(isClaudeModel &&
|
|
200891
|
+
const isClaudeViaGateway = !!(isClaudeModel && (input.hasCapabilityContext || !hasLocalAuth) && input.hasGatewayConfig);
|
|
200891
200892
|
const gateway = !!(input.hasGatewayConfig && input.gatewayHasKey && (isNonClaudeModel || isClaudeViaGateway));
|
|
200892
200893
|
if (gateway) {
|
|
200893
200894
|
return {
|
|
200894
200895
|
channel: "gateway",
|
|
200895
200896
|
isNonClaudeModel,
|
|
200896
200897
|
isClaudeViaGateway,
|
|
200897
|
-
reason: isNonClaudeModel ? "non-Claude model → gateway" : "Claude model without local auth → gateway (gateway holds Anthropic key)"
|
|
200898
|
+
reason: input.hasCapabilityContext ? "Gateway capability binding → gateway" : isNonClaudeModel ? "non-Claude model → gateway" : "Claude model without local auth → gateway (gateway holds Anthropic key)"
|
|
200898
200899
|
};
|
|
200899
200900
|
}
|
|
200900
200901
|
return {
|
|
@@ -200929,7 +200930,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
200929
200930
|
if (!isAttributionHeaderEnabled()) {
|
|
200930
200931
|
return "";
|
|
200931
200932
|
}
|
|
200932
|
-
const version4 = `${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
200933
|
+
const version4 = `${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}.${fingerprint}`;
|
|
200933
200934
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
200934
200935
|
const cch = "";
|
|
200935
200936
|
const workload = getWorkload();
|
|
@@ -211561,18 +211562,12 @@ async function getMemoryFilesForNestedDirectory(dir, targetPath, processedPaths)
|
|
|
211561
211562
|
if (isSettingSourceEnabled("projectSettings")) {
|
|
211562
211563
|
const cclPath = join32(dir, "CCL.md");
|
|
211563
211564
|
result.push(...await processMemoryFile(cclPath, "Project", processedPaths, false));
|
|
211564
|
-
const projectPath = join32(dir, "CLAUDE.md");
|
|
211565
|
-
result.push(...await processMemoryFile(projectPath, "Project", processedPaths, false));
|
|
211566
211565
|
const dotCclCclPath = join32(dir, PROJECT_CONFIG_DIR, "CCL.md");
|
|
211567
211566
|
result.push(...await processMemoryFile(dotCclCclPath, "Project", processedPaths, false));
|
|
211568
|
-
const dotClaudePath = join32(dir, PROJECT_CONFIG_DIR, "CLAUDE.md");
|
|
211569
|
-
result.push(...await processMemoryFile(dotClaudePath, "Project", processedPaths, false));
|
|
211570
211567
|
}
|
|
211571
211568
|
if (isSettingSourceEnabled("localSettings")) {
|
|
211572
211569
|
const cclLocalPath = join32(dir, "CCL.local.md");
|
|
211573
211570
|
result.push(...await processMemoryFile(cclLocalPath, "Local", processedPaths, false));
|
|
211574
|
-
const localPath = join32(dir, "CLAUDE.local.md");
|
|
211575
|
-
result.push(...await processMemoryFile(localPath, "Local", processedPaths, false));
|
|
211576
211571
|
}
|
|
211577
211572
|
const rulesDir = join32(dir, PROJECT_CONFIG_DIR, "rules");
|
|
211578
211573
|
const unconditionalProcessedPaths = new Set(processedPaths);
|
|
@@ -211583,16 +211578,7 @@ async function getMemoryFilesForNestedDirectory(dir, targetPath, processedPaths)
|
|
|
211583
211578
|
includeExternal: false,
|
|
211584
211579
|
conditionalRule: false
|
|
211585
211580
|
}));
|
|
211586
|
-
const oldRulesDir = join32(dir, ".claude", "rules");
|
|
211587
|
-
result.push(...await processMdRules({
|
|
211588
|
-
rulesDir: oldRulesDir,
|
|
211589
|
-
type: "Project",
|
|
211590
|
-
processedPaths: unconditionalProcessedPaths,
|
|
211591
|
-
includeExternal: false,
|
|
211592
|
-
conditionalRule: false
|
|
211593
|
-
}));
|
|
211594
211581
|
result.push(...await processConditionedMdRules(targetPath, rulesDir, "Project", processedPaths, false));
|
|
211595
|
-
result.push(...await processConditionedMdRules(targetPath, oldRulesDir, "Project", processedPaths, false));
|
|
211596
211582
|
for (const path10 of unconditionalProcessedPaths) {
|
|
211597
211583
|
processedPaths.add(path10);
|
|
211598
211584
|
}
|
|
@@ -211602,8 +211588,6 @@ async function getConditionalRulesForCwdLevelDirectory(dir, targetPath, processe
|
|
|
211602
211588
|
const result = [];
|
|
211603
211589
|
const rulesDir = join32(dir, PROJECT_CONFIG_DIR, "rules");
|
|
211604
211590
|
result.push(...await processConditionedMdRules(targetPath, rulesDir, "Project", processedPaths, false));
|
|
211605
|
-
const oldRulesDir = join32(dir, ".claude", "rules");
|
|
211606
|
-
result.push(...await processConditionedMdRules(targetPath, oldRulesDir, "Project", processedPaths, false));
|
|
211607
211591
|
return result;
|
|
211608
211592
|
}
|
|
211609
211593
|
async function processConditionedMdRules(targetPath, rulesDir, type, processedPaths, includeExternal) {
|
|
@@ -211650,15 +211634,9 @@ function isMemoryFilePath(filePath) {
|
|
|
211650
211634
|
if (name2 === "CCL.md" || name2 === "CCL.local.md") {
|
|
211651
211635
|
return true;
|
|
211652
211636
|
}
|
|
211653
|
-
if (name2 === "CLAUDE.md" || name2 === "CLAUDE.local.md") {
|
|
211654
|
-
return true;
|
|
211655
|
-
}
|
|
211656
211637
|
if (name2.endsWith(".md") && filePath.includes(`${sep6}.ccl${sep6}rules${sep6}`)) {
|
|
211657
211638
|
return true;
|
|
211658
211639
|
}
|
|
211659
|
-
if (name2.endsWith(".md") && filePath.includes(`${sep6}.claude${sep6}rules${sep6}`)) {
|
|
211660
|
-
return true;
|
|
211661
|
-
}
|
|
211662
211640
|
return false;
|
|
211663
211641
|
}
|
|
211664
211642
|
function getAllMemoryFilePaths(files, readFileState) {
|
|
@@ -211880,12 +211858,8 @@ var init_claudemd = __esm(() => {
|
|
|
211880
211858
|
if (isSettingSourceEnabled("projectSettings") && !skipProject) {
|
|
211881
211859
|
const cclPath = join32(dir, "CCL.md");
|
|
211882
211860
|
result.push(...await processMemoryFile(cclPath, "Project", processedPaths, includeExternal));
|
|
211883
|
-
const projectPath = join32(dir, "CLAUDE.md");
|
|
211884
|
-
result.push(...await processMemoryFile(projectPath, "Project", processedPaths, includeExternal));
|
|
211885
211861
|
const dotCclCclPath = join32(dir, PROJECT_CONFIG_DIR, "CCL.md");
|
|
211886
211862
|
result.push(...await processMemoryFile(dotCclCclPath, "Project", processedPaths, includeExternal));
|
|
211887
|
-
const dotClaudePath = join32(dir, PROJECT_CONFIG_DIR, "CLAUDE.md");
|
|
211888
|
-
result.push(...await processMemoryFile(dotClaudePath, "Project", processedPaths, includeExternal));
|
|
211889
211863
|
const rulesDir = join32(dir, PROJECT_CONFIG_DIR, "rules");
|
|
211890
211864
|
result.push(...await processMdRules({
|
|
211891
211865
|
rulesDir,
|
|
@@ -211894,20 +211868,10 @@ var init_claudemd = __esm(() => {
|
|
|
211894
211868
|
includeExternal,
|
|
211895
211869
|
conditionalRule: false
|
|
211896
211870
|
}));
|
|
211897
|
-
const oldRulesDir = join32(dir, ".claude", "rules");
|
|
211898
|
-
result.push(...await processMdRules({
|
|
211899
|
-
rulesDir: oldRulesDir,
|
|
211900
|
-
type: "Project",
|
|
211901
|
-
processedPaths,
|
|
211902
|
-
includeExternal,
|
|
211903
|
-
conditionalRule: false
|
|
211904
|
-
}));
|
|
211905
211871
|
}
|
|
211906
211872
|
if (isSettingSourceEnabled("localSettings")) {
|
|
211907
211873
|
const cclLocalPath = join32(dir, "CCL.local.md");
|
|
211908
211874
|
result.push(...await processMemoryFile(cclLocalPath, "Local", processedPaths, includeExternal));
|
|
211909
|
-
const localPath = join32(dir, "CLAUDE.local.md");
|
|
211910
|
-
result.push(...await processMemoryFile(localPath, "Local", processedPaths, includeExternal));
|
|
211911
211875
|
}
|
|
211912
211876
|
}
|
|
211913
211877
|
if (isEnvTruthy(process.env.CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD)) {
|
|
@@ -211915,12 +211879,8 @@ var init_claudemd = __esm(() => {
|
|
|
211915
211879
|
for (const dir of additionalDirs) {
|
|
211916
211880
|
const cclPath = join32(dir, "CCL.md");
|
|
211917
211881
|
result.push(...await processMemoryFile(cclPath, "Project", processedPaths, includeExternal));
|
|
211918
|
-
const projectPath = join32(dir, "CLAUDE.md");
|
|
211919
|
-
result.push(...await processMemoryFile(projectPath, "Project", processedPaths, includeExternal));
|
|
211920
211882
|
const dotCclCclPath = join32(dir, PROJECT_CONFIG_DIR, "CCL.md");
|
|
211921
211883
|
result.push(...await processMemoryFile(dotCclCclPath, "Project", processedPaths, includeExternal));
|
|
211922
|
-
const dotClaudePath = join32(dir, PROJECT_CONFIG_DIR, "CLAUDE.md");
|
|
211923
|
-
result.push(...await processMemoryFile(dotClaudePath, "Project", processedPaths, includeExternal));
|
|
211924
211884
|
const rulesDir = join32(dir, PROJECT_CONFIG_DIR, "rules");
|
|
211925
211885
|
result.push(...await processMdRules({
|
|
211926
211886
|
rulesDir,
|
|
@@ -211929,14 +211889,6 @@ var init_claudemd = __esm(() => {
|
|
|
211929
211889
|
includeExternal,
|
|
211930
211890
|
conditionalRule: false
|
|
211931
211891
|
}));
|
|
211932
|
-
const oldRulesDir = join32(dir, ".claude", "rules");
|
|
211933
|
-
result.push(...await processMdRules({
|
|
211934
|
-
rulesDir: oldRulesDir,
|
|
211935
|
-
type: "Project",
|
|
211936
|
-
processedPaths,
|
|
211937
|
-
includeExternal,
|
|
211938
|
-
conditionalRule: false
|
|
211939
|
-
}));
|
|
211940
211892
|
}
|
|
211941
211893
|
}
|
|
211942
211894
|
if (isAutoMemoryEnabled()) {
|
|
@@ -233150,7 +233102,7 @@ Complete the user's request by providing accurate, documentation-based guidance.
|
|
|
233150
233102
|
}
|
|
233151
233103
|
function getFeedbackGuideline() {
|
|
233152
233104
|
if (isUsing3PServices()) {
|
|
233153
|
-
return `- When you cannot find an answer or the feature doesn't exist, direct the user to ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
233105
|
+
return `- When you cannot find an answer or the feature doesn't exist, direct the user to ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.ISSUES_EXPLAINER}`;
|
|
233154
233106
|
}
|
|
233155
233107
|
return "- When you cannot find an answer or the feature doesn't exist, direct the user to use /feedback to report a feature request or bug";
|
|
233156
233108
|
}
|
|
@@ -233945,7 +233897,7 @@ Use the literal string \`VERDICT: \` followed by exactly one of \`PASS\`, \`FAIL
|
|
|
233945
233897
|
|
|
233946
233898
|
// services/api/gatewayTransport.ts
|
|
233947
233899
|
function getCclGatewayUA(model) {
|
|
233948
|
-
return model ? `ccl/${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
233900
|
+
return model ? `ccl/${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} (${model})` : `ccl/${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}`;
|
|
233949
233901
|
}
|
|
233950
233902
|
function normalizeGatewayRequestId(value) {
|
|
233951
233903
|
if (typeof value !== "string" || value.length === 0 || value.length > 128) {
|
|
@@ -237794,12 +237746,50 @@ function clearUserTimings() {
|
|
|
237794
237746
|
}
|
|
237795
237747
|
|
|
237796
237748
|
// services/SessionMemory/sessionMemoryUtils.ts
|
|
237797
|
-
|
|
237798
|
-
return lastSummarizedMessageId;
|
|
237799
|
-
}
|
|
237749
|
+
import { createHash as createHash6 } from "node:crypto";
|
|
237800
237750
|
function setLastSummarizedMessageId(messageId) {
|
|
237751
|
+
coverageGeneration++;
|
|
237752
|
+
resetVersion++;
|
|
237753
|
+
coverage = undefined;
|
|
237801
237754
|
lastSummarizedMessageId = messageId;
|
|
237802
237755
|
}
|
|
237756
|
+
function getSessionMemoryResetVersion() {
|
|
237757
|
+
return resetVersion;
|
|
237758
|
+
}
|
|
237759
|
+
function beginSessionMemoryExtraction() {
|
|
237760
|
+
coverage = undefined;
|
|
237761
|
+
lastSummarizedMessageId = undefined;
|
|
237762
|
+
return ++coverageGeneration;
|
|
237763
|
+
}
|
|
237764
|
+
function commitSessionMemoryCoverage(generation, messageId, memoryPath, content, tokenCount) {
|
|
237765
|
+
if (generation !== coverageGeneration || memoryPath !== getSessionMemoryPath()) {
|
|
237766
|
+
return false;
|
|
237767
|
+
}
|
|
237768
|
+
coverage = Object.freeze({
|
|
237769
|
+
messageId,
|
|
237770
|
+
memoryPath,
|
|
237771
|
+
generation,
|
|
237772
|
+
contentHash: createHash6("sha256").update(content).digest("hex")
|
|
237773
|
+
});
|
|
237774
|
+
lastSummarizedMessageId = messageId;
|
|
237775
|
+
recordExtractionTokenCount(tokenCount);
|
|
237776
|
+
return true;
|
|
237777
|
+
}
|
|
237778
|
+
async function getVerifiedSessionMemory() {
|
|
237779
|
+
const captured = coverage;
|
|
237780
|
+
if (!captured || captured.memoryPath !== getSessionMemoryPath())
|
|
237781
|
+
return null;
|
|
237782
|
+
try {
|
|
237783
|
+
const content = await getFsImplementation().readFile(captured.memoryPath, { encoding: "utf-8" });
|
|
237784
|
+
if (coverage !== captured || coverageGeneration !== captured.generation || captured.memoryPath !== getSessionMemoryPath() || createHash6("sha256").update(content).digest("hex") !== captured.contentHash) {
|
|
237785
|
+
return null;
|
|
237786
|
+
}
|
|
237787
|
+
return { content, messageId: captured.messageId };
|
|
237788
|
+
} catch {
|
|
237789
|
+
logEvent("tengu_session_memory_coverage_unavailable", { read_failed: true });
|
|
237790
|
+
return null;
|
|
237791
|
+
}
|
|
237792
|
+
}
|
|
237803
237793
|
function markExtractionStarted() {
|
|
237804
237794
|
extractionStartedAt = Date.now();
|
|
237805
237795
|
}
|
|
@@ -237864,7 +237854,7 @@ function hasMetUpdateThreshold(currentTokenCount) {
|
|
|
237864
237854
|
function getToolCallsBetweenUpdates() {
|
|
237865
237855
|
return sessionMemoryConfig.toolCallsBetweenUpdates;
|
|
237866
237856
|
}
|
|
237867
|
-
var EXTRACTION_WAIT_TIMEOUT_MS = 15000, EXTRACTION_STALE_THRESHOLD_MS = 60000, DEFAULT_SESSION_MEMORY_CONFIG, sessionMemoryConfig, lastSummarizedMessageId, extractionStartedAt, tokensAtLastExtraction = 0, sessionMemoryInitialized = false;
|
|
237857
|
+
var EXTRACTION_WAIT_TIMEOUT_MS = 15000, EXTRACTION_STALE_THRESHOLD_MS = 60000, DEFAULT_SESSION_MEMORY_CONFIG, sessionMemoryConfig, lastSummarizedMessageId, coverage, coverageGeneration = 0, resetVersion = 0, extractionStartedAt, tokensAtLastExtraction = 0, sessionMemoryInitialized = false;
|
|
237868
237858
|
var init_sessionMemoryUtils = __esm(() => {
|
|
237869
237859
|
init_errors();
|
|
237870
237860
|
init_fsOperations();
|
|
@@ -239916,7 +239906,7 @@ function getAssistantMessageFromError(error5, model, options) {
|
|
|
239916
239906
|
if (process.env.USER_TYPE === "ant") {
|
|
239917
239907
|
const baseMessage = `API Error: 400 ${error5.message}
|
|
239918
239908
|
|
|
239919
|
-
Run /share and post the JSON file to ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
239909
|
+
Run /share and post the JSON file to ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL}.`;
|
|
239920
239910
|
const rewindInstruction = getIsNonInteractiveSession() ? "" : " Then, use /rewind to recover the conversation.";
|
|
239921
239911
|
return createAssistantAPIErrorMessage({
|
|
239922
239912
|
content: baseMessage + rewindInstruction,
|
|
@@ -239952,7 +239942,7 @@ Run /share and post the JSON file to ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
|
239952
239942
|
if (process.env.USER_TYPE === "ant" && !process.env.ANTHROPIC_MODEL && error5 instanceof Error && error5.message.toLowerCase().includes("invalid model name")) {
|
|
239953
239943
|
const orgId = getOauthAccountInfo()?.organizationUuid;
|
|
239954
239944
|
const baseMsg = `[ANT-ONLY] Your org isn't gated into the \`${model}\` model. Either run \`ccl\` with \`ANTHROPIC_MODEL=${getDefaultMainLoopModelSetting()}\``;
|
|
239955
|
-
const msg = orgId ? `${baseMsg} or share your orgId (${orgId}) in ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
239945
|
+
const msg = orgId ? `${baseMsg} or share your orgId (${orgId}) in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL} for help getting access.` : `${baseMsg} or reach out in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL} for help getting access.`;
|
|
239956
239946
|
return createAssistantAPIErrorMessage({
|
|
239957
239947
|
content: msg,
|
|
239958
239948
|
error: "invalid_request"
|
|
@@ -241261,11 +241251,11 @@ var init_postSamplingHooks = __esm(() => {
|
|
|
241261
241251
|
});
|
|
241262
241252
|
|
|
241263
241253
|
// services/api/dumpPrompts.ts
|
|
241264
|
-
import { createHash as
|
|
241254
|
+
import { createHash as createHash7 } from "crypto";
|
|
241265
241255
|
import { promises as fs10 } from "fs";
|
|
241266
241256
|
import { dirname as dirname23, join as join47 } from "path";
|
|
241267
241257
|
function hashString3(str) {
|
|
241268
|
-
return
|
|
241258
|
+
return createHash7("sha256").update(str).digest("hex");
|
|
241269
241259
|
}
|
|
241270
241260
|
function clearDumpState(agentIdOrSessionId) {
|
|
241271
241261
|
dumpState.delete(agentIdOrSessionId);
|
|
@@ -331973,7 +331963,7 @@ function getTelemetryAttributes() {
|
|
|
331973
331963
|
attributes["session.id"] = sessionId;
|
|
331974
331964
|
}
|
|
331975
331965
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
331976
|
-
attributes["app.version"] = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
331966
|
+
attributes["app.version"] = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
331977
331967
|
}
|
|
331978
331968
|
const oauthAccount = getOauthAccountInfo();
|
|
331979
331969
|
if (oauthAccount) {
|
|
@@ -338814,7 +338804,7 @@ __export(exports_commitAttribution, {
|
|
|
338814
338804
|
buildSurfaceKey: () => buildSurfaceKey,
|
|
338815
338805
|
attributionRestoreStateFromLog: () => attributionRestoreStateFromLog
|
|
338816
338806
|
});
|
|
338817
|
-
import { createHash as
|
|
338807
|
+
import { createHash as createHash8, randomUUID as randomUUID10 } from "crypto";
|
|
338818
338808
|
import { stat as stat18 } from "fs/promises";
|
|
338819
338809
|
import { isAbsolute as isAbsolute9, join as join48, relative as relative6, sep as sep10 } from "path";
|
|
338820
338810
|
function getAttributionRepoRoot() {
|
|
@@ -338867,7 +338857,7 @@ function buildSurfaceKey(surface, model) {
|
|
|
338867
338857
|
return `${surface}/${getCanonicalName(model)}`;
|
|
338868
338858
|
}
|
|
338869
338859
|
function computeContentHash(content) {
|
|
338870
|
-
return
|
|
338860
|
+
return createHash8("sha256").update(content).digest("hex");
|
|
338871
338861
|
}
|
|
338872
338862
|
function normalizeFilePath(filePath) {
|
|
338873
338863
|
const fs11 = getFsImplementation();
|
|
@@ -346208,7 +346198,7 @@ var init_claudeai = __esm(() => {
|
|
|
346208
346198
|
});
|
|
346209
346199
|
|
|
346210
346200
|
// services/mcp/utils.ts
|
|
346211
|
-
import { createHash as
|
|
346201
|
+
import { createHash as createHash9 } from "crypto";
|
|
346212
346202
|
import { join as join52 } from "path";
|
|
346213
346203
|
function filterToolsByServer(tools, serverName) {
|
|
346214
346204
|
const prefix = `mcp__${normalizeNameForMCP(serverName)}__`;
|
|
@@ -346248,7 +346238,7 @@ function hashMcpConfig(config) {
|
|
|
346248
346238
|
}
|
|
346249
346239
|
return v6;
|
|
346250
346240
|
});
|
|
346251
|
-
return
|
|
346241
|
+
return createHash9("sha256").update(stable).digest("hex").slice(0, 16);
|
|
346252
346242
|
}
|
|
346253
346243
|
function excludeStalePluginClients(mcp, configs) {
|
|
346254
346244
|
const stale = mcp.clients.filter((c5) => {
|
|
@@ -348971,7 +348961,7 @@ var init_auxiliaryAgentRecovery = __esm(() => {
|
|
|
348971
348961
|
});
|
|
348972
348962
|
|
|
348973
348963
|
// utils/fingerprint.ts
|
|
348974
|
-
import { createHash as
|
|
348964
|
+
import { createHash as createHash10 } from "crypto";
|
|
348975
348965
|
function extractFirstMessageText(messages) {
|
|
348976
348966
|
const firstUserMessage = messages.find((msg) => msg.type === "user");
|
|
348977
348967
|
if (!firstUserMessage) {
|
|
@@ -348993,12 +348983,12 @@ function computeFingerprint(messageText, version4) {
|
|
|
348993
348983
|
const indices = [4, 7, 20];
|
|
348994
348984
|
const chars = indices.map((i4) => messageText[i4] || "0").join("");
|
|
348995
348985
|
const fingerprintInput = `${FINGERPRINT_SALT}${chars}${version4}`;
|
|
348996
|
-
const hash =
|
|
348986
|
+
const hash = createHash10("sha256").update(fingerprintInput).digest("hex");
|
|
348997
348987
|
return hash.slice(0, 3);
|
|
348998
348988
|
}
|
|
348999
348989
|
function computeFingerprintFromMessages(messages) {
|
|
349000
348990
|
const firstMessageText = extractFirstMessageText(messages);
|
|
349001
|
-
return computeFingerprint(firstMessageText, { USER_TYPE: "external", VERSION: "1.3.6-
|
|
348991
|
+
return computeFingerprint(firstMessageText, { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
349002
348992
|
}
|
|
349003
348993
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
349004
348994
|
var init_fingerprint = () => {};
|
|
@@ -349047,7 +349037,7 @@ async function sideQuery(opts) {
|
|
|
349047
349037
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
349048
349038
|
}
|
|
349049
349039
|
const messageText = extractFirstUserMessageText(messages);
|
|
349050
|
-
const fingerprint = computeFingerprint(messageText, { USER_TYPE: "external", VERSION: "1.3.6-
|
|
349040
|
+
const fingerprint = computeFingerprint(messageText, { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
349051
349041
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
349052
349042
|
const systemBlocks = [
|
|
349053
349043
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -352641,7 +352631,7 @@ function getResumeCommand(resumeArg) {
|
|
|
352641
352631
|
var CLI_COMMAND_NAME = "margay";
|
|
352642
352632
|
|
|
352643
352633
|
// services/analytics/datadog.ts
|
|
352644
|
-
import { createHash as
|
|
352634
|
+
import { createHash as createHash11 } from "crypto";
|
|
352645
352635
|
import memoize40 from "lodash-es/memoize.js";
|
|
352646
352636
|
function camelToSnakeCase(str) {
|
|
352647
352637
|
return str.replace(/[A-Z]/g, (letter) => `_${letter.toLowerCase()}`);
|
|
@@ -352850,7 +352840,7 @@ var init_datadog = __esm(() => {
|
|
|
352850
352840
|
});
|
|
352851
352841
|
getUserBucket = memoize40(() => {
|
|
352852
352842
|
const userId = getOrCreateUserID();
|
|
352853
|
-
const hash =
|
|
352843
|
+
const hash = createHash11("sha256").update(userId).digest("hex");
|
|
352854
352844
|
return parseInt(hash.slice(0, 8), 16) % NUM_USER_BUCKETS;
|
|
352855
352845
|
});
|
|
352856
352846
|
});
|
|
@@ -353333,7 +353323,7 @@ __export(exports_policyLimits, {
|
|
|
353333
353323
|
clearPolicyLimitsCache: () => clearPolicyLimitsCache,
|
|
353334
353324
|
_resetPolicyLimitsForTesting: () => _resetPolicyLimitsForTesting
|
|
353335
353325
|
});
|
|
353336
|
-
import { createHash as
|
|
353326
|
+
import { createHash as createHash12 } from "crypto";
|
|
353337
353327
|
import { readFileSync as fsReadFileSync } from "fs";
|
|
353338
353328
|
import { unlink as unlink5, writeFile as writeFile10 } from "fs/promises";
|
|
353339
353329
|
import { join as join56 } from "path";
|
|
@@ -353385,7 +353375,7 @@ function sortKeysDeep(obj) {
|
|
|
353385
353375
|
function computeChecksum(restrictions) {
|
|
353386
353376
|
const sorted = sortKeysDeep(restrictions);
|
|
353387
353377
|
const normalized = jsonStringify(sorted);
|
|
353388
|
-
const hash =
|
|
353378
|
+
const hash = createHash12("sha256").update(normalized).digest("hex");
|
|
353389
353379
|
return `sha256:${hash}`;
|
|
353390
353380
|
}
|
|
353391
353381
|
function isPolicyLimitsEligible() {
|
|
@@ -357917,7 +357907,7 @@ var init_types6 = __esm(() => {
|
|
|
357917
357907
|
});
|
|
357918
357908
|
|
|
357919
357909
|
// services/remoteManagedSettings/index.ts
|
|
357920
|
-
import { createHash as
|
|
357910
|
+
import { createHash as createHash13 } from "crypto";
|
|
357921
357911
|
import { open as open8, unlink as unlink6 } from "fs/promises";
|
|
357922
357912
|
function initializeRemoteManagedSettingsLoadingPromise() {
|
|
357923
357913
|
if (loadingCompletePromise2) {
|
|
@@ -357955,7 +357945,7 @@ function sortKeysDeep2(obj) {
|
|
|
357955
357945
|
function computeChecksumFromSettings(settings) {
|
|
357956
357946
|
const sorted = sortKeysDeep2(settings);
|
|
357957
357947
|
const normalized = jsonStringify(sorted);
|
|
357958
|
-
const hash =
|
|
357948
|
+
const hash = createHash13("sha256").update(normalized).digest("hex");
|
|
357959
357949
|
return `sha256:${hash}`;
|
|
357960
357950
|
}
|
|
357961
357951
|
function isEligibleForRemoteManagedSettings() {
|
|
@@ -362717,7 +362707,7 @@ var require_src19 = __commonJS((exports) => {
|
|
|
362717
362707
|
});
|
|
362718
362708
|
|
|
362719
362709
|
// utils/telemetry/betaSessionTracing.ts
|
|
362720
|
-
import { createHash as
|
|
362710
|
+
import { createHash as createHash14 } from "crypto";
|
|
362721
362711
|
function clearBetaTracingState() {
|
|
362722
362712
|
seenHashes.clear();
|
|
362723
362713
|
lastReportedMessageHash.clear();
|
|
@@ -362744,7 +362734,7 @@ function truncateContent(content, maxSize = MAX_CONTENT_SIZE) {
|
|
|
362744
362734
|
};
|
|
362745
362735
|
}
|
|
362746
362736
|
function shortHash(content) {
|
|
362747
|
-
return
|
|
362737
|
+
return createHash14("sha256").update(content).digest("hex").slice(0, 12);
|
|
362748
362738
|
}
|
|
362749
362739
|
function hashSystemPrompt(systemPrompt) {
|
|
362750
362740
|
return `sp_${shortHash(systemPrompt)}`;
|
|
@@ -397239,7 +397229,7 @@ async function initializeBetaTracing(resource) {
|
|
|
397239
397229
|
});
|
|
397240
397230
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
397241
397231
|
setLoggerProvider(loggerProvider);
|
|
397242
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
397232
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
397243
397233
|
setEventLogger(eventLogger);
|
|
397244
397234
|
process.on("beforeExit", async () => {
|
|
397245
397235
|
await loggerProvider?.forceFlush();
|
|
@@ -397279,7 +397269,7 @@ async function initializeTelemetry() {
|
|
|
397279
397269
|
const platform3 = getPlatform();
|
|
397280
397270
|
const baseAttributes = {
|
|
397281
397271
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
397282
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
397272
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
397283
397273
|
};
|
|
397284
397274
|
if (platform3 === "wsl") {
|
|
397285
397275
|
const wslVersion = getWslVersion();
|
|
@@ -397324,7 +397314,7 @@ async function initializeTelemetry() {
|
|
|
397324
397314
|
} catch {}
|
|
397325
397315
|
};
|
|
397326
397316
|
registerCleanup(shutdownTelemetry2);
|
|
397327
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
397317
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
397328
397318
|
}
|
|
397329
397319
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
397330
397320
|
resource,
|
|
@@ -397344,7 +397334,7 @@ async function initializeTelemetry() {
|
|
|
397344
397334
|
});
|
|
397345
397335
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
397346
397336
|
setLoggerProvider(loggerProvider);
|
|
397347
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
397337
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
397348
397338
|
setEventLogger(eventLogger);
|
|
397349
397339
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
397350
397340
|
process.on("beforeExit", async () => {
|
|
@@ -397406,7 +397396,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
397406
397396
|
}
|
|
397407
397397
|
};
|
|
397408
397398
|
registerCleanup(shutdownTelemetry);
|
|
397409
|
-
return meterProvider.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
397399
|
+
return meterProvider.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION);
|
|
397410
397400
|
}
|
|
397411
397401
|
async function flushTelemetry() {
|
|
397412
397402
|
const meterProvider = getMeterProvider();
|
|
@@ -397833,7 +397823,7 @@ var init_auth_code_listener = __esm(() => {
|
|
|
397833
397823
|
});
|
|
397834
397824
|
|
|
397835
397825
|
// services/oauth/crypto.ts
|
|
397836
|
-
import { createHash as
|
|
397826
|
+
import { createHash as createHash15, randomBytes as randomBytes5 } from "crypto";
|
|
397837
397827
|
function base64URLEncode(buffer) {
|
|
397838
397828
|
return buffer.toString("base64").replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
397839
397829
|
}
|
|
@@ -397841,7 +397831,7 @@ function generateCodeVerifier() {
|
|
|
397841
397831
|
return base64URLEncode(randomBytes5(32));
|
|
397842
397832
|
}
|
|
397843
397833
|
function generateCodeChallenge(verifier) {
|
|
397844
|
-
const hash =
|
|
397834
|
+
const hash = createHash15("sha256");
|
|
397845
397835
|
hash.update(verifier);
|
|
397846
397836
|
return base64URLEncode(hash.digest());
|
|
397847
397837
|
}
|
|
@@ -397997,7 +397987,7 @@ async function installOrUpdateClaudePackage(channel2, specificVersion) {
|
|
|
397997
397987
|
return "install_failed";
|
|
397998
397988
|
}
|
|
397999
397989
|
const versionSpec = specificVersion ? specificVersion : channel2 === "stable" ? "stable" : "latest";
|
|
398000
|
-
const result = await execFileNoThrowWithCwd("npm", ["install", `${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
397990
|
+
const result = await execFileNoThrowWithCwd("npm", ["install", `${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}@${versionSpec}`], { cwd: getLocalInstallDir(), maxBuffer: 1e6 });
|
|
398001
397991
|
if (result.code !== 0) {
|
|
398002
397992
|
const error5 = new Error(`Failed to install Claude CLI package: ${result.stderr}`);
|
|
398003
397993
|
logError(error5);
|
|
@@ -398140,14 +398130,14 @@ import { access as access2, writeFile as writeFile12 } from "fs/promises";
|
|
|
398140
398130
|
import { homedir as homedir18 } from "os";
|
|
398141
398131
|
import { join as join61 } from "path";
|
|
398142
398132
|
async function assertMinVersion() {
|
|
398143
|
-
if (process.env.SKIP_VERSION_CHECK === "1" || { USER_TYPE: "external", VERSION: "1.3.6-
|
|
398133
|
+
if (process.env.SKIP_VERSION_CHECK === "1" || { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION.startsWith("0.0.0-dev") || !process.env.ANTHROPIC_VERSION_CHECK) {
|
|
398144
398134
|
return;
|
|
398145
398135
|
}
|
|
398146
398136
|
try {
|
|
398147
398137
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
398148
|
-
if (versionConfig.minVersion && lt2({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398138
|
+
if (versionConfig.minVersion && lt2({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, versionConfig.minVersion)) {
|
|
398149
398139
|
console.error(`
|
|
398150
|
-
It looks like your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398140
|
+
It looks like your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}) needs an update.
|
|
398151
398141
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
398152
398142
|
|
|
398153
398143
|
To update, please run:
|
|
@@ -398307,7 +398297,7 @@ async function checkGlobalInstallPermissions() {
|
|
|
398307
398297
|
}
|
|
398308
398298
|
async function getLatestVersion(channel2) {
|
|
398309
398299
|
const npmTag = channel2 === "stable" ? "stable" : "latest";
|
|
398310
|
-
const result = await execFileNoThrowWithCwd("npm", ["view", `${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398300
|
+
const result = await execFileNoThrowWithCwd("npm", ["view", `${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}@${npmTag}`, "version", "--prefer-online"], { abortSignal: AbortSignal.timeout(5000), cwd: homedir18() });
|
|
398311
398301
|
if (result.code !== 0) {
|
|
398312
398302
|
logForDebugging(`npm view failed with code ${result.code}`);
|
|
398313
398303
|
if (result.stderr) {
|
|
@@ -398323,7 +398313,7 @@ async function getLatestVersion(channel2) {
|
|
|
398323
398313
|
return result.stdout.trim();
|
|
398324
398314
|
}
|
|
398325
398315
|
async function getNpmDistTags() {
|
|
398326
|
-
const result = await execFileNoThrowWithCwd("npm", ["view", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
398316
|
+
const result = await execFileNoThrowWithCwd("npm", ["view", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL, "dist-tags", "--json", "--prefer-online"], { abortSignal: AbortSignal.timeout(5000), cwd: homedir18() });
|
|
398327
398317
|
if (result.code !== 0) {
|
|
398328
398318
|
logForDebugging(`npm view dist-tags failed with code ${result.code}`);
|
|
398329
398319
|
return { latest: null, stable: null };
|
|
@@ -398363,7 +398353,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
398363
398353
|
logError(new AutoUpdaterError("Another process is currently installing an update"));
|
|
398364
398354
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
398365
398355
|
pid: process.pid,
|
|
398366
|
-
currentVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
398356
|
+
currentVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
398367
398357
|
});
|
|
398368
398358
|
return "in_progress";
|
|
398369
398359
|
}
|
|
@@ -398372,7 +398362,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
398372
398362
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
398373
398363
|
logError(new Error("Windows NPM detected in WSL environment"));
|
|
398374
398364
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
398375
|
-
currentVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
398365
|
+
currentVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
398376
398366
|
});
|
|
398377
398367
|
console.error(`
|
|
398378
398368
|
Error: Windows NPM detected in WSL
|
|
@@ -398391,7 +398381,7 @@ To fix this issue:
|
|
|
398391
398381
|
if (!hasPermissions) {
|
|
398392
398382
|
return "no_permissions";
|
|
398393
398383
|
}
|
|
398394
|
-
const packageSpec = specificVersion ? `${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398384
|
+
const packageSpec = specificVersion ? `${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}@${specificVersion}` : { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL;
|
|
398395
398385
|
const packageManager = env4.isRunningWithBun() ? "bun" : "npm";
|
|
398396
398386
|
const installResult = await execFileNoThrowWithCwd(packageManager, ["install", "-g", packageSpec], { cwd: homedir18() });
|
|
398397
398387
|
if (installResult.code !== 0) {
|
|
@@ -398720,8 +398710,8 @@ async function detectMultipleInstallations() {
|
|
|
398720
398710
|
installations.push({ type: "npm-local", path: localPath });
|
|
398721
398711
|
}
|
|
398722
398712
|
const packagesToCheck = ["@anthropic-ai/claude-code"];
|
|
398723
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398724
|
-
packagesToCheck.push({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398713
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL !== "@anthropic-ai/claude-code") {
|
|
398714
|
+
packagesToCheck.push({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL);
|
|
398725
398715
|
}
|
|
398726
398716
|
const npmResult = await execFileNoThrow("npm", [
|
|
398727
398717
|
"-g",
|
|
@@ -398904,7 +398894,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
398904
398894
|
}
|
|
398905
398895
|
async function getDoctorDiagnostic() {
|
|
398906
398896
|
const installationType = await getCurrentInstallationType();
|
|
398907
|
-
const version4 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
398897
|
+
const version4 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION ? { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION : "unknown";
|
|
398908
398898
|
const installationPath = await getInstallationPath();
|
|
398909
398899
|
const invokedBinary = getInvokedBinary();
|
|
398910
398900
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -398916,8 +398906,8 @@ async function getDoctorDiagnostic() {
|
|
|
398916
398906
|
for (const install of npmInstalls) {
|
|
398917
398907
|
if (install.type === "npm-global") {
|
|
398918
398908
|
let uninstallCmd = "npm -g uninstall @anthropic-ai/claude-code";
|
|
398919
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398920
|
-
uninstallCmd += ` && npm -g uninstall ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
398909
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL !== "@anthropic-ai/claude-code") {
|
|
398910
|
+
uninstallCmd += ` && npm -g uninstall ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}`;
|
|
398921
398911
|
}
|
|
398922
398912
|
warnings.push({
|
|
398923
398913
|
issue: `Leftover npm global installation at ${install.path}`,
|
|
@@ -400243,7 +400233,7 @@ function getInstallationEnv() {
|
|
|
400243
400233
|
return;
|
|
400244
400234
|
}
|
|
400245
400235
|
function getClaudeCodeVersion() {
|
|
400246
|
-
return { USER_TYPE: "external", VERSION: "1.3.6-
|
|
400236
|
+
return { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
400247
400237
|
}
|
|
400248
400238
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
400249
400239
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -400793,14 +400783,14 @@ function getUserBinDir(options) {
|
|
|
400793
400783
|
var init_xdg = () => {};
|
|
400794
400784
|
|
|
400795
400785
|
// utils/nativeInstaller/download.ts
|
|
400796
|
-
import { createHash as
|
|
400786
|
+
import { createHash as createHash16 } from "crypto";
|
|
400797
400787
|
import { chmod as chmod4, writeFile as writeFile13 } from "fs/promises";
|
|
400798
400788
|
import { join as join66 } from "path";
|
|
400799
400789
|
async function getLatestVersionFromArtifactory(tag = "latest") {
|
|
400800
400790
|
const startTime2 = Date.now();
|
|
400801
400791
|
const { stdout, code, stderr } = await execFileNoThrowWithCwd("npm", [
|
|
400802
400792
|
"view",
|
|
400803
|
-
`${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400793
|
+
`${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL}@${tag}`,
|
|
400804
400794
|
"version",
|
|
400805
400795
|
"--prefer-online",
|
|
400806
400796
|
"--registry",
|
|
@@ -400824,7 +400814,7 @@ async function getLatestVersionFromArtifactory(tag = "latest") {
|
|
|
400824
400814
|
latency_ms: latencyMs,
|
|
400825
400815
|
source_npm: true
|
|
400826
400816
|
});
|
|
400827
|
-
logForDebugging(`npm view ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400817
|
+
logForDebugging(`npm view ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL}@${tag} version: ${stdout}`);
|
|
400828
400818
|
const latestVersion = stdout.trim();
|
|
400829
400819
|
return latestVersion;
|
|
400830
400820
|
}
|
|
@@ -400880,7 +400870,7 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
400880
400870
|
const fs11 = getFsImplementation();
|
|
400881
400871
|
await fs11.rm(stagingPath, { recursive: true, force: true });
|
|
400882
400872
|
const platform4 = getPlatform2();
|
|
400883
|
-
const platformPackageName = `${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400873
|
+
const platformPackageName = `${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL}-${platform4}`;
|
|
400884
400874
|
logForDebugging(`Fetching integrity hash for ${platformPackageName}@${version4}`);
|
|
400885
400875
|
const {
|
|
400886
400876
|
stdout: integrityOutput,
|
|
@@ -400909,7 +400899,7 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
400909
400899
|
name: "claude-native-installer",
|
|
400910
400900
|
version: "0.0.1",
|
|
400911
400901
|
dependencies: {
|
|
400912
|
-
[{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400902
|
+
[{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL]: version4
|
|
400913
400903
|
}
|
|
400914
400904
|
};
|
|
400915
400905
|
const packageLock = {
|
|
@@ -400922,10 +400912,10 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
400922
400912
|
name: "claude-native-installer",
|
|
400923
400913
|
version: "0.0.1",
|
|
400924
400914
|
dependencies: {
|
|
400925
|
-
[{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400915
|
+
[{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL]: version4
|
|
400926
400916
|
}
|
|
400927
400917
|
},
|
|
400928
|
-
[`node_modules/${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400918
|
+
[`node_modules/${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL}`]: {
|
|
400929
400919
|
version: version4,
|
|
400930
400920
|
optionalDependencies: {
|
|
400931
400921
|
[platformPackageName]: version4
|
|
@@ -400947,7 +400937,7 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
400947
400937
|
if (result.code !== 0) {
|
|
400948
400938
|
throw new Error(`npm ci failed with code ${result.code}: ${result.stderr}`);
|
|
400949
400939
|
}
|
|
400950
|
-
logForDebugging(`Successfully downloaded and verified ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
400940
|
+
logForDebugging(`Successfully downloaded and verified ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.NATIVE_PACKAGE_URL}@${version4}`);
|
|
400951
400941
|
}
|
|
400952
400942
|
function getStallTimeoutMs() {
|
|
400953
400943
|
return Number(process.env.CLAUDE_CODE_STALL_TIMEOUT_MS_FOR_TESTING) || DEFAULT_STALL_TIMEOUT_MS;
|
|
@@ -400979,7 +400969,7 @@ async function downloadAndVerifyBinary(binaryUrl, expectedChecksum, binaryPath,
|
|
|
400979
400969
|
...requestConfig
|
|
400980
400970
|
});
|
|
400981
400971
|
clearStallTimer();
|
|
400982
|
-
const hash =
|
|
400972
|
+
const hash = createHash16("sha256");
|
|
400983
400973
|
hash.update(response.data);
|
|
400984
400974
|
const actualChecksum = hash.digest("hex");
|
|
400985
400975
|
if (actualChecksum !== expectedChecksum) {
|
|
@@ -401610,8 +401600,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
401610
401600
|
const maxVersion = await getMaxVersion();
|
|
401611
401601
|
if (maxVersion && gt2(version4, maxVersion)) {
|
|
401612
401602
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version4} to ${maxVersion}`);
|
|
401613
|
-
if (gte({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
401614
|
-
logForDebugging(`Native installer: current version ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
401603
|
+
if (gte({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, maxVersion)) {
|
|
401604
|
+
logForDebugging(`Native installer: current version ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
401615
401605
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
401616
401606
|
latency_ms: Date.now() - startTime2,
|
|
401617
401607
|
max_version: maxVersion,
|
|
@@ -401622,7 +401612,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
401622
401612
|
version4 = maxVersion;
|
|
401623
401613
|
}
|
|
401624
401614
|
}
|
|
401625
|
-
if (!forceReinstall && version4 === { USER_TYPE: "external", VERSION: "1.3.6-
|
|
401615
|
+
if (!forceReinstall && version4 === { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION && await versionIsAvailable(version4) && await isPossibleClaudeBinary(executablePath)) {
|
|
401626
401616
|
logForDebugging(`Found ${version4} at ${executablePath}, skipping install`);
|
|
401627
401617
|
logEvent("tengu_native_update_complete", {
|
|
401628
401618
|
latency_ms: Date.now() - startTime2,
|
|
@@ -402364,8 +402354,8 @@ async function cleanupNpmInstallations() {
|
|
|
402364
402354
|
} else if (codePackageResult.error) {
|
|
402365
402355
|
errors.push(codePackageResult.error);
|
|
402366
402356
|
}
|
|
402367
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
402368
|
-
const macroPackageResult = await attemptNpmUninstall({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
402357
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL !== "@anthropic-ai/claude-code") {
|
|
402358
|
+
const macroPackageResult = await attemptNpmUninstall({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL);
|
|
402369
402359
|
if (macroPackageResult.success) {
|
|
402370
402360
|
removed++;
|
|
402371
402361
|
if (macroPackageResult.warning) {
|
|
@@ -402434,7 +402424,7 @@ var init_allErrors = __esm(() => {
|
|
|
402434
402424
|
|
|
402435
402425
|
// utils/status.tsx
|
|
402436
402426
|
function buildSandboxProperties() {
|
|
402437
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
402427
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant") {
|
|
402438
402428
|
return [];
|
|
402439
402429
|
}
|
|
402440
402430
|
const isSandboxed = SandboxManager2.isSandboxingEnabled();
|
|
@@ -419774,7 +419764,7 @@ function SpinnerWithVerbInner({
|
|
|
419774
419764
|
const messageColor = overrideColor ?? defaultColor;
|
|
419775
419765
|
const shimmerColor = overrideShimmerColor ?? defaultShimmerColor;
|
|
419776
419766
|
let ttftText = null;
|
|
419777
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
419767
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && apiMetricsRef?.current && apiMetricsRef.current.length > 0) {
|
|
419778
419768
|
ttftText = computeTtftText(apiMetricsRef.current);
|
|
419779
419769
|
}
|
|
419780
419770
|
if (leaderIsIdle && hasRunningTeammates && !foregroundedTeammate) {
|
|
@@ -430798,7 +430788,7 @@ function getSearchOrReadInfo(progressMessage, tools, toolUseByID) {
|
|
|
430798
430788
|
return null;
|
|
430799
430789
|
}
|
|
430800
430790
|
function processProgressMessages(messages, tools, isAgentRunning) {
|
|
430801
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
430791
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant") {
|
|
430802
430792
|
return messages.filter((m4) => hasProgressMessage(m4.data) && m4.data.message.type !== "user").map((m4) => ({
|
|
430803
430793
|
type: "original",
|
|
430804
430794
|
message: m4
|
|
@@ -431135,7 +431125,7 @@ function renderToolResultMessage(data, progressMessagesForMessage, {
|
|
|
431135
431125
|
return /* @__PURE__ */ jsx_runtime109.jsxs(ThemedBox_default, {
|
|
431136
431126
|
flexDirection: "column",
|
|
431137
431127
|
children: [
|
|
431138
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
431128
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime109.jsx(MessageResponse, {
|
|
431139
431129
|
children: /* @__PURE__ */ jsx_runtime109.jsxs(ThemedText, {
|
|
431140
431130
|
color: "warning",
|
|
431141
431131
|
children: [
|
|
@@ -431401,7 +431391,7 @@ function renderToolUseRejectedMessage(_input, {
|
|
|
431401
431391
|
const agentId = firstData && hasProgressMessage(firstData) ? firstData.agentId : undefined;
|
|
431402
431392
|
return /* @__PURE__ */ jsx_runtime109.jsxs(jsx_runtime109.Fragment, {
|
|
431403
431393
|
children: [
|
|
431404
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
431394
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && agentId && /* @__PURE__ */ jsx_runtime109.jsx(MessageResponse, {
|
|
431405
431395
|
children: /* @__PURE__ */ jsx_runtime109.jsxs(ThemedText, {
|
|
431406
431396
|
color: "warning",
|
|
431407
431397
|
children: [
|
|
@@ -431881,11 +431871,11 @@ var init_skillUsageTracking = __esm(() => {
|
|
|
431881
431871
|
});
|
|
431882
431872
|
|
|
431883
431873
|
// utils/telemetry/pluginTelemetry.ts
|
|
431884
|
-
import { createHash as
|
|
431874
|
+
import { createHash as createHash17 } from "crypto";
|
|
431885
431875
|
import { sep as sep12 } from "path";
|
|
431886
431876
|
function hashPluginId(name2, marketplace) {
|
|
431887
431877
|
const key = marketplace ? `${name2}@${marketplace.toLowerCase()}` : name2;
|
|
431888
|
-
return
|
|
431878
|
+
return createHash17("sha256").update(key + PLUGIN_ID_HASH_SALT).digest("hex").slice(0, 16);
|
|
431889
431879
|
}
|
|
431890
431880
|
function getTelemetryPluginScope(name2, marketplace, managedNames) {
|
|
431891
431881
|
if (marketplace === BUILTIN_MARKETPLACE_NAME2)
|
|
@@ -432084,7 +432074,7 @@ async function executeForkedSlashCommand(command, args, context2, precedingInput
|
|
|
432084
432074
|
}
|
|
432085
432075
|
let resultText = extractResultText(agentMessages, "Command completed");
|
|
432086
432076
|
logForDebugging(`Forked slash command /${command.name} completed with agent ${agentId}`);
|
|
432087
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
432077
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
432088
432078
|
resultText = `[ANT-ONLY] API calls: ${getDisplayPath(getDumpPromptsPath(agentId))}
|
|
432089
432079
|
${resultText}`;
|
|
432090
432080
|
}
|
|
@@ -432227,7 +432217,7 @@ async function processSlashCommand(inputString, precedingInputBlocks, imageConte
|
|
|
432227
432217
|
logEvent("tengu_input_command", {
|
|
432228
432218
|
...eventData2,
|
|
432229
432219
|
invocation_trigger: "user-slash",
|
|
432230
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
432220
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && {
|
|
432231
432221
|
skill_name: commandName,
|
|
432232
432222
|
...returnedCommand.type === "prompt" && {
|
|
432233
432223
|
skill_source: returnedCommand.source
|
|
@@ -432288,7 +432278,7 @@ async function processSlashCommand(inputString, precedingInputBlocks, imageConte
|
|
|
432288
432278
|
logEvent("tengu_input_command", {
|
|
432289
432279
|
...eventData,
|
|
432290
432280
|
invocation_trigger: "user-slash",
|
|
432291
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
432281
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && {
|
|
432292
432282
|
skill_name: commandName,
|
|
432293
432283
|
...returnedCommand.type === "prompt" && {
|
|
432294
432284
|
skill_source: returnedCommand.source
|
|
@@ -432749,7 +432739,7 @@ async function* runAgent({
|
|
|
432749
432739
|
if (specialistCapability?.kind === "unavailable") {
|
|
432750
432740
|
throw new Error(`Specialist capability unavailable: ${agentDefinition.agentType} requires role=${specialistCapability.role}; no eligible model was resolved, so no child model call was made.`);
|
|
432751
432741
|
}
|
|
432752
|
-
const capabilityRole = roleForAgentPool(model ?? agentDefinition.model);
|
|
432742
|
+
const capabilityRole = !specialistCapability && process.env.CLAUDE_CODE_SUBAGENT_MODEL ? null : roleForAgentPool(model ?? agentDefinition.model);
|
|
432753
432743
|
const capabilityRequest = capabilityRole ? {
|
|
432754
432744
|
role: capabilityRole,
|
|
432755
432745
|
mode: routingMode,
|
|
@@ -434463,7 +434453,7 @@ var init_sessionIngress = __esm(() => {
|
|
|
434463
434453
|
});
|
|
434464
434454
|
|
|
434465
434455
|
// utils/fileHistory.ts
|
|
434466
|
-
import { createHash as
|
|
434456
|
+
import { createHash as createHash18 } from "crypto";
|
|
434467
434457
|
import { diffLines } from "diff";
|
|
434468
434458
|
import {
|
|
434469
434459
|
chmod as chmod6,
|
|
@@ -434888,7 +434878,7 @@ async function computeDiffStatsForFile(originalFile, backupFileName) {
|
|
|
434888
434878
|
};
|
|
434889
434879
|
}
|
|
434890
434880
|
function getBackupFileName(filePath, version4) {
|
|
434891
|
-
const fileNameHash =
|
|
434881
|
+
const fileNameHash = createHash18("sha256").update(filePath).digest("hex").slice(0, 16);
|
|
434892
434882
|
return `${fileNameHash}@v${version4}`;
|
|
434893
434883
|
}
|
|
434894
434884
|
function resolveBackupPath(backupFileName, sessionId) {
|
|
@@ -437426,11 +437416,11 @@ var init_filesApi = __esm(() => {
|
|
|
437426
437416
|
});
|
|
437427
437417
|
|
|
437428
437418
|
// utils/tempfile.ts
|
|
437429
|
-
import { createHash as
|
|
437419
|
+
import { createHash as createHash19, randomUUID as randomUUID18 } from "crypto";
|
|
437430
437420
|
import { tmpdir as tmpdir4 } from "os";
|
|
437431
437421
|
import { join as join80 } from "path";
|
|
437432
437422
|
function generateTempFilePath(prefix = "claude-prompt", extension = ".md", options) {
|
|
437433
|
-
const id = options?.contentHash ?
|
|
437423
|
+
const id = options?.contentHash ? createHash19("sha256").update(options.contentHash).digest("hex").slice(0, 16) : randomUUID18();
|
|
437434
437424
|
return join80(tmpdir4(), `${prefix}-${id}${extension}`);
|
|
437435
437425
|
}
|
|
437436
437426
|
var init_tempfile = () => {};
|
|
@@ -454244,12 +454234,12 @@ var init_diff2 = __esm(() => {
|
|
|
454244
454234
|
});
|
|
454245
454235
|
|
|
454246
454236
|
// utils/fileOperationAnalytics.ts
|
|
454247
|
-
import { createHash as
|
|
454237
|
+
import { createHash as createHash20 } from "crypto";
|
|
454248
454238
|
function hashFilePath(filePath) {
|
|
454249
|
-
return
|
|
454239
|
+
return createHash20("sha256").update(filePath).digest("hex").slice(0, 16);
|
|
454250
454240
|
}
|
|
454251
454241
|
function hashFileContent(content) {
|
|
454252
|
-
return
|
|
454242
|
+
return createHash20("sha256").update(content).digest("hex");
|
|
454253
454243
|
}
|
|
454254
454244
|
function logFileOperation(params) {
|
|
454255
454245
|
const metadata = {
|
|
@@ -477506,7 +477496,7 @@ function truncateCommand(command) {
|
|
|
477506
477496
|
function renderToolResultMessage11(output, _progressMessagesForMessage, {
|
|
477507
477497
|
verbose
|
|
477508
477498
|
}) {
|
|
477509
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
477499
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
477510
477500
|
return null;
|
|
477511
477501
|
}
|
|
477512
477502
|
const rawCommand = output.command ?? "";
|
|
@@ -479175,7 +479165,7 @@ var init_TaskOutputTool = __esm(() => {
|
|
|
479175
479165
|
return this.isReadOnly?.(_input) ?? false;
|
|
479176
479166
|
},
|
|
479177
479167
|
isEnabled() {
|
|
479178
|
-
return { USER_TYPE: "external", VERSION: "1.3.6-
|
|
479168
|
+
return { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant";
|
|
479179
479169
|
},
|
|
479180
479170
|
isReadOnly(_input) {
|
|
479181
479171
|
return true;
|
|
@@ -485891,7 +485881,7 @@ var require_websocket2 = __commonJS((exports, module) => {
|
|
|
485891
485881
|
var http4 = __require("http");
|
|
485892
485882
|
var net3 = __require("net");
|
|
485893
485883
|
var tls2 = __require("tls");
|
|
485894
|
-
var { randomBytes: randomBytes8, createHash:
|
|
485884
|
+
var { randomBytes: randomBytes8, createHash: createHash21 } = __require("crypto");
|
|
485895
485885
|
var { Duplex, Readable: Readable4 } = __require("stream");
|
|
485896
485886
|
var { URL: URL3 } = __require("url");
|
|
485897
485887
|
var PerMessageDeflate = require_permessage_deflate2();
|
|
@@ -486430,7 +486420,7 @@ var require_websocket2 = __commonJS((exports, module) => {
|
|
|
486430
486420
|
abortHandshake(websocket, socket, "Invalid Upgrade header");
|
|
486431
486421
|
return;
|
|
486432
486422
|
}
|
|
486433
|
-
const digest =
|
|
486423
|
+
const digest = createHash21("sha1").update(key + GUID).digest("base64");
|
|
486434
486424
|
if (res.headers["sec-websocket-accept"] !== digest) {
|
|
486435
486425
|
abortHandshake(websocket, socket, "Invalid Sec-WebSocket-Accept header");
|
|
486436
486426
|
return;
|
|
@@ -486803,7 +486793,7 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
486803
486793
|
var EventEmitter4 = __require("events");
|
|
486804
486794
|
var http4 = __require("http");
|
|
486805
486795
|
var { Duplex } = __require("stream");
|
|
486806
|
-
var { createHash:
|
|
486796
|
+
var { createHash: createHash21 } = __require("crypto");
|
|
486807
486797
|
var extension = require_extension();
|
|
486808
486798
|
var PerMessageDeflate = require_permessage_deflate2();
|
|
486809
486799
|
var subprotocol = require_subprotocol();
|
|
@@ -487016,7 +487006,7 @@ var require_websocket_server = __commonJS((exports, module) => {
|
|
|
487016
487006
|
}
|
|
487017
487007
|
if (this._state > RUNNING)
|
|
487018
487008
|
return abortHandshake(socket, 503);
|
|
487019
|
-
const digest =
|
|
487009
|
+
const digest = createHash21("sha1").update(key + GUID).digest("base64");
|
|
487020
487010
|
const headers = [
|
|
487021
487011
|
"HTTP/1.1 101 Switching Protocols",
|
|
487022
487012
|
"Upgrade: websocket",
|
|
@@ -492488,7 +492478,7 @@ __export(exports_engine, {
|
|
|
492488
492478
|
WorkflowSuspended: () => WorkflowSuspended,
|
|
492489
492479
|
RetryConfigError: () => RetryConfigError
|
|
492490
492480
|
});
|
|
492491
|
-
import { createHash as
|
|
492481
|
+
import { createHash as createHash21, randomUUID as randomUUID22 } from "node:crypto";
|
|
492492
492482
|
import { execFile as execFile10 } from "node:child_process";
|
|
492493
492483
|
import { existsSync as existsSync8, mkdirSync as mkdirSync11, writeFileSync as writeFileSync8, appendFileSync as appendFileSync4 } from "node:fs";
|
|
492494
492484
|
import { join as join95 } from "node:path";
|
|
@@ -492628,7 +492618,7 @@ async function runWorkflow(input) {
|
|
|
492628
492618
|
scriptPath = input.scriptPath;
|
|
492629
492619
|
} else if (input.script !== undefined) {
|
|
492630
492620
|
scriptBody = input.script;
|
|
492631
|
-
const sha =
|
|
492621
|
+
const sha = createHash21("sha256").update(scriptBody).digest("hex").slice(0, 12);
|
|
492632
492622
|
scriptPath = join95(workflowsDir, "scripts", `${sha}.js`);
|
|
492633
492623
|
if (!existsSync8(scriptPath)) {
|
|
492634
492624
|
writeFileSync8(scriptPath, scriptBody, "utf8");
|
|
@@ -493014,7 +493004,7 @@ async function runWorkflow(input) {
|
|
|
493014
493004
|
return await withRetry2("tool", () => Promise.resolve(dispatch(name2, toolInput)), opts?.retry);
|
|
493015
493005
|
}
|
|
493016
493006
|
const phaseName = phaseStack[phaseStack.length - 1] ?? "";
|
|
493017
|
-
const key =
|
|
493007
|
+
const key = createHash21("sha256").update(`${runId}:${phaseName}:${JSON.stringify(toolInput)}`).digest("hex");
|
|
493018
493008
|
if (!state.idempotency_cache)
|
|
493019
493009
|
state.idempotency_cache = {};
|
|
493020
493010
|
if (Object.prototype.hasOwnProperty.call(state.idempotency_cache, key)) {
|
|
@@ -496142,7 +496132,7 @@ var init_AgentTool = __esm(() => {
|
|
|
496142
496132
|
mode: permissionModeSchema().optional().describe('Permission mode for spawned teammate (e.g., "plan" to require plan approval).')
|
|
496143
496133
|
});
|
|
496144
496134
|
return baseInputSchema().merge(multiAgentInputSchema).extend({
|
|
496145
|
-
isolation: ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
496135
|
+
isolation: ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? z77.enum(["worktree", "remote"]) : z77.enum(["worktree"])).optional().describe({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? 'Isolation mode. "worktree" creates a temporary git worktree so the agent works on an isolated copy of the repo. "remote" launches the agent in a remote CCR environment (always runs in background).' : 'Isolation mode. "worktree" creates a temporary git worktree so the agent works on an isolated copy of the repo.'),
|
|
496146
496136
|
cwd: z77.string().optional().describe('Absolute path to run the agent in. Overrides the working directory for all filesystem and shell operations within this agent. Mutually exclusive with isolation: "worktree".')
|
|
496147
496137
|
});
|
|
496148
496138
|
});
|
|
@@ -496420,7 +496410,7 @@ var init_AgentTool = __esm(() => {
|
|
|
496420
496410
|
is_fork: isForkPath
|
|
496421
496411
|
});
|
|
496422
496412
|
const effectiveIsolation = isolation ?? selectedAgent.isolation;
|
|
496423
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
496413
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && effectiveIsolation === "remote") {
|
|
496424
496414
|
const eligibility = await checkRemoteAgentEligibility();
|
|
496425
496415
|
if (!eligibility.eligible) {
|
|
496426
496416
|
const reasons = eligibility.errors.map(formatPreconditionError).join(`
|
|
@@ -496495,7 +496485,7 @@ ${reasons}`);
|
|
|
496495
496485
|
});
|
|
496496
496486
|
if (selectedAgent.memory) {
|
|
496497
496487
|
logEvent("tengu_agent_memory_loaded", {
|
|
496498
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
496488
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && {
|
|
496499
496489
|
agent_type: selectedAgent.agentType
|
|
496500
496490
|
},
|
|
496501
496491
|
scope: selectedAgent.memory,
|
|
@@ -497086,7 +497076,7 @@ ${finalMessage}`;
|
|
|
497086
497076
|
},
|
|
497087
497077
|
async checkPermissions(input, context2) {
|
|
497088
497078
|
const appState = context2.getAppState();
|
|
497089
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
497079
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && appState.toolPermissionContext.mode === "auto") {
|
|
497090
497080
|
return {
|
|
497091
497081
|
behavior: "passthrough",
|
|
497092
497082
|
message: "Agent tool requires permission to spawn sub-agents."
|
|
@@ -506494,6 +506484,7 @@ var init_taskErrorRecovery = __esm(() => {
|
|
|
506494
506484
|
function initialClientToolProtocolRecoveryState() {
|
|
506495
506485
|
return {
|
|
506496
506486
|
sameModelRetryUsed: false,
|
|
506487
|
+
currentRouteRetryUsed: false,
|
|
506497
506488
|
heterogeneousFallbackUsed: false
|
|
506498
506489
|
};
|
|
506499
506490
|
}
|
|
@@ -506502,7 +506493,8 @@ function decideClientToolProtocolRecovery({
|
|
|
506502
506493
|
state,
|
|
506503
506494
|
currentModel,
|
|
506504
506495
|
fallbackModel,
|
|
506505
|
-
toolStates
|
|
506496
|
+
toolStates,
|
|
506497
|
+
alternateDeploymentUnavailable = false
|
|
506506
506498
|
}) {
|
|
506507
506499
|
if (toolStates.length > 0 && toolStates.every((tool) => tool.status === "executing" || tool.status === "completed" || tool.status === "yielded")) {
|
|
506508
506500
|
return { action: "reconcile" };
|
|
@@ -506510,8 +506502,10 @@ function decideClientToolProtocolRecovery({
|
|
|
506510
506502
|
if (error5.toolExecuted || toolStates.length > 0) {
|
|
506511
506503
|
return { action: "fail_side_effect_observed" };
|
|
506512
506504
|
}
|
|
506505
|
+
if (state.heterogeneousFallbackUsed)
|
|
506506
|
+
return { action: "fail_exhausted" };
|
|
506513
506507
|
const servedDeployment = error5.servedDeployment?.trim();
|
|
506514
|
-
if (!state.sameModelRetryUsed && servedDeployment) {
|
|
506508
|
+
if (!alternateDeploymentUnavailable && !state.sameModelRetryUsed && servedDeployment) {
|
|
506515
506509
|
return {
|
|
506516
506510
|
action: "retry_same_model",
|
|
506517
506511
|
avoidDeployment: servedDeployment,
|
|
@@ -506521,6 +506515,12 @@ function decideClientToolProtocolRecovery({
|
|
|
506521
506515
|
}
|
|
506522
506516
|
};
|
|
506523
506517
|
}
|
|
506518
|
+
if (!state.currentRouteRetryUsed && (alternateDeploymentUnavailable || !state.sameModelRetryUsed && !servedDeployment)) {
|
|
506519
|
+
return {
|
|
506520
|
+
action: "retry_current_route",
|
|
506521
|
+
nextState: { ...state, sameModelRetryUsed: true, currentRouteRetryUsed: true }
|
|
506522
|
+
};
|
|
506523
|
+
}
|
|
506524
506524
|
const heterogeneousModel = fallbackModel?.trim();
|
|
506525
506525
|
if (!state.heterogeneousFallbackUsed && heterogeneousModel && heterogeneousModel !== currentModel) {
|
|
506526
506526
|
return {
|
|
@@ -507499,6 +507499,30 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507499
507499
|
let avoidGatewayDeployment;
|
|
507500
507500
|
let capabilityContextRefreshCount = 0;
|
|
507501
507501
|
let lastClientToolProtocolError;
|
|
507502
|
+
let originalClientToolProtocolError;
|
|
507503
|
+
let clientToolProtocolAttempt = 0;
|
|
507504
|
+
let clientToolProtocolRetries = 0;
|
|
507505
|
+
const logProtocolRecovery = (decision, rejected, toolStates, recoveryErrorCode) => {
|
|
507506
|
+
const original = originalClientToolProtocolError ?? rejected;
|
|
507507
|
+
const safe = (value) => value == null ? null : sanitizeErrorText(value).slice(0, 256);
|
|
507508
|
+
logForDebugging(`[ClientToolProtocolRecovery] ${JSON.stringify({
|
|
507509
|
+
source: safe(querySource),
|
|
507510
|
+
original_code: original.code,
|
|
507511
|
+
rejection_code: rejected.code,
|
|
507512
|
+
recovery_error_code: safe(recoveryErrorCode),
|
|
507513
|
+
stop_reason: safe(original.observedStopReason),
|
|
507514
|
+
client_tool_count: original.clientToolCount,
|
|
507515
|
+
tool_executed: rejected.toolExecuted || toolStates.length > 0,
|
|
507516
|
+
tool_states: toolStates.map((tool) => tool.status),
|
|
507517
|
+
request_id: safe(original.requestId),
|
|
507518
|
+
upstream_request_id: safe(original.upstreamRequestId),
|
|
507519
|
+
served_model: safe(original.servedModel),
|
|
507520
|
+
served_deployment: safe(original.servedDeployment),
|
|
507521
|
+
action: decision.action,
|
|
507522
|
+
attempt: ++clientToolProtocolAttempt,
|
|
507523
|
+
capability_context_present: !!toolUseContext.options.capabilityContext
|
|
507524
|
+
})}`);
|
|
507525
|
+
};
|
|
507502
507526
|
let endpointOverrides = {};
|
|
507503
507527
|
let currentEndpointName = toolUseContext.getAppState().currentEndpoint;
|
|
507504
507528
|
if (currentEndpointName) {
|
|
@@ -507739,6 +507763,7 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507739
507763
|
}
|
|
507740
507764
|
if (innerError instanceof ClientToolProtocolTurnError) {
|
|
507741
507765
|
lastClientToolProtocolError = innerError;
|
|
507766
|
+
originalClientToolProtocolError ??= innerError;
|
|
507742
507767
|
const toolStates = streamingToolExecutor?.getSafeStateSnapshot() ?? [];
|
|
507743
507768
|
const decision = decideClientToolProtocolRecovery({
|
|
507744
507769
|
error: innerError,
|
|
@@ -507747,18 +507772,19 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507747
507772
|
fallbackModel,
|
|
507748
507773
|
toolStates
|
|
507749
507774
|
});
|
|
507775
|
+
logProtocolRecovery(decision, innerError, toolStates);
|
|
507750
507776
|
logEvent("tengu_client_tool_protocol_recovery", {
|
|
507751
507777
|
action: decision.action,
|
|
507752
507778
|
code: innerError.code,
|
|
507753
507779
|
stop_reason: innerError.observedStopReason ?? "missing",
|
|
507754
507780
|
client_tool_count: innerError.clientToolCount,
|
|
507755
|
-
tool_executed:
|
|
507781
|
+
tool_executed: innerError.toolExecuted || toolStates.length > 0,
|
|
507756
507782
|
request_id: innerError.requestId ?? "unknown",
|
|
507757
507783
|
upstream_request_id: innerError.upstreamRequestId ?? "unknown",
|
|
507758
507784
|
served_model: innerError.servedModel ?? "unknown",
|
|
507759
507785
|
served_deployment: innerError.servedDeployment ?? "unknown"
|
|
507760
507786
|
});
|
|
507761
|
-
if (decision.action === "retry_same_model" || decision.action === "retry_heterogeneous") {
|
|
507787
|
+
if (decision.action === "retry_same_model" || decision.action === "retry_current_route" || decision.action === "retry_heterogeneous") {
|
|
507762
507788
|
const tombstones = resetIncompleteStreamAttempt({
|
|
507763
507789
|
assistantMessages,
|
|
507764
507790
|
toolResults,
|
|
@@ -507770,8 +507796,11 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507770
507796
|
needsFollowUp = false;
|
|
507771
507797
|
streamingToolExecutor = useStreamingToolExecution ? new StreamingToolExecutor(toolUseContext.options.tools, canUseTool, toolUseContext) : null;
|
|
507772
507798
|
clientToolProtocolRecoveryState = decision.nextState;
|
|
507799
|
+
clientToolProtocolRetries++;
|
|
507773
507800
|
if (decision.action === "retry_same_model") {
|
|
507774
507801
|
avoidGatewayDeployment = decision.avoidDeployment;
|
|
507802
|
+
} else if (decision.action === "retry_current_route") {
|
|
507803
|
+
avoidGatewayDeployment = undefined;
|
|
507775
507804
|
} else {
|
|
507776
507805
|
avoidGatewayDeployment = undefined;
|
|
507777
507806
|
currentModel = decision.model;
|
|
@@ -507791,7 +507820,7 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507791
507820
|
errorDetails: innerError.code,
|
|
507792
507821
|
recovery: {
|
|
507793
507822
|
status: sideEffectObserved ? "needs_user" : "blocked_external",
|
|
507794
|
-
attempts:
|
|
507823
|
+
attempts: clientToolProtocolRetries,
|
|
507795
507824
|
reason: sideEffectObserved ? "Automatic replay is unsafe or the recovery allowance is exhausted. Inspect the preserved tool outcome before authorizing a new operation." : "Configured protocol recovery attempts are exhausted. Resume when a compatible model or deployment is available."
|
|
507796
507825
|
}
|
|
507797
507826
|
});
|
|
@@ -507799,13 +507828,16 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507799
507828
|
return { reason: "model_error", error: innerError };
|
|
507800
507829
|
}
|
|
507801
507830
|
if (innerError instanceof GatewayAlternateDeploymentUnavailableError && lastClientToolProtocolError) {
|
|
507831
|
+
const toolStates = streamingToolExecutor?.getSafeStateSnapshot() ?? [];
|
|
507802
507832
|
const decision = decideClientToolProtocolRecovery({
|
|
507803
507833
|
error: lastClientToolProtocolError,
|
|
507804
507834
|
state: clientToolProtocolRecoveryState,
|
|
507805
507835
|
currentModel,
|
|
507806
507836
|
fallbackModel,
|
|
507807
|
-
toolStates
|
|
507837
|
+
toolStates,
|
|
507838
|
+
alternateDeploymentUnavailable: true
|
|
507808
507839
|
});
|
|
507840
|
+
logProtocolRecovery(decision, lastClientToolProtocolError, toolStates, innerError.code);
|
|
507809
507841
|
logEvent("tengu_client_tool_protocol_recovery", {
|
|
507810
507842
|
action: decision.action,
|
|
507811
507843
|
code: innerError.code,
|
|
@@ -507817,7 +507849,7 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507817
507849
|
served_model: lastClientToolProtocolError.servedModel ?? "unknown",
|
|
507818
507850
|
served_deployment: lastClientToolProtocolError.servedDeployment ?? "unknown"
|
|
507819
507851
|
});
|
|
507820
|
-
if (decision.action === "retry_heterogeneous") {
|
|
507852
|
+
if (decision.action === "retry_current_route" || decision.action === "retry_heterogeneous") {
|
|
507821
507853
|
const tombstones = resetIncompleteStreamAttempt({
|
|
507822
507854
|
assistantMessages,
|
|
507823
507855
|
toolResults,
|
|
@@ -507829,23 +507861,26 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
507829
507861
|
needsFollowUp = false;
|
|
507830
507862
|
streamingToolExecutor = useStreamingToolExecution ? new StreamingToolExecutor(toolUseContext.options.tools, canUseTool, toolUseContext) : null;
|
|
507831
507863
|
clientToolProtocolRecoveryState = decision.nextState;
|
|
507864
|
+
clientToolProtocolRetries++;
|
|
507832
507865
|
avoidGatewayDeployment = undefined;
|
|
507833
|
-
|
|
507834
|
-
|
|
507835
|
-
|
|
507836
|
-
|
|
507866
|
+
if (decision.action === "retry_heterogeneous") {
|
|
507867
|
+
currentModel = decision.model;
|
|
507868
|
+
toolUseContext.options.mainLoopModel = decision.model;
|
|
507869
|
+
if (process.env.USER_TYPE === "ant") {
|
|
507870
|
+
messagesForQuery = stripSignatureBlocks(messagesForQuery);
|
|
507871
|
+
}
|
|
507837
507872
|
}
|
|
507838
507873
|
attemptWithFallback = true;
|
|
507839
507874
|
continue;
|
|
507840
507875
|
}
|
|
507841
507876
|
yield createAssistantAPIErrorMessage({
|
|
507842
|
-
content: "The model returned an inconsistent client-tool turn and
|
|
507877
|
+
content: "The model returned an inconsistent client-tool turn and the available protocol recovery attempts were exhausted. No tool from those responses was executed. Retry with another model or provider to continue.",
|
|
507843
507878
|
apiError: "tool_use_protocol_error",
|
|
507844
507879
|
error: "server_error",
|
|
507845
|
-
errorDetails:
|
|
507880
|
+
errorDetails: originalClientToolProtocolError?.code ?? lastClientToolProtocolError.code,
|
|
507846
507881
|
recovery: {
|
|
507847
507882
|
status: "blocked_external",
|
|
507848
|
-
attempts:
|
|
507883
|
+
attempts: clientToolProtocolRetries,
|
|
507849
507884
|
reason: "No configured alternate deployment or eligible fallback is available. Resume when a compatible route recovers."
|
|
507850
507885
|
}
|
|
507851
507886
|
});
|
|
@@ -508678,9 +508713,9 @@ function getAnthropicEnvMetadata() {
|
|
|
508678
508713
|
};
|
|
508679
508714
|
}
|
|
508680
508715
|
function getBuildAgeMinutes() {
|
|
508681
|
-
if (!{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
508716
|
+
if (!{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.BUILD_TIME)
|
|
508682
508717
|
return;
|
|
508683
|
-
const buildTime = new Date({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
508718
|
+
const buildTime = new Date({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.BUILD_TIME).getTime();
|
|
508684
508719
|
if (isNaN(buildTime))
|
|
508685
508720
|
return;
|
|
508686
508721
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -510323,33 +510358,32 @@ function stripToolBlocksFromMessages(messages) {
|
|
|
510323
510358
|
const content = msg.message.content;
|
|
510324
510359
|
if (!Array.isArray(content))
|
|
510325
510360
|
return msg;
|
|
510326
|
-
|
|
510327
|
-
|
|
510328
|
-
|
|
510329
|
-
|
|
510330
|
-
if (msg.type === "assistant") {
|
|
510361
|
+
let changed = false;
|
|
510362
|
+
const projected = content.map((block) => {
|
|
510363
|
+
if (block.type === "tool_use") {
|
|
510364
|
+
changed = true;
|
|
510331
510365
|
return {
|
|
510332
|
-
|
|
510333
|
-
|
|
510334
|
-
|
|
510335
|
-
content: [
|
|
510336
|
-
{ type: "text", text: "(tool interaction omitted)" }
|
|
510337
|
-
]
|
|
510338
|
-
}
|
|
510366
|
+
type: "text",
|
|
510367
|
+
text: `[Tool use: ${block.name}; id: ${block.id}]
|
|
510368
|
+
Input: ${JSON.stringify(block.input)}`
|
|
510339
510369
|
};
|
|
510340
510370
|
}
|
|
510341
|
-
|
|
510342
|
-
|
|
510343
|
-
|
|
510344
|
-
|
|
510345
|
-
|
|
510346
|
-
|
|
510347
|
-
]
|
|
510348
|
-
|
|
510349
|
-
|
|
510350
|
-
|
|
510351
|
-
|
|
510352
|
-
|
|
510371
|
+
if (block.type === "tool_result") {
|
|
510372
|
+
changed = true;
|
|
510373
|
+
const result = typeof block.content === "string" ? block.content : (block.content ?? []).map((part) => part.type === "text" ? part.text : `[${part.type} omitted]`).join(`
|
|
510374
|
+
`);
|
|
510375
|
+
return {
|
|
510376
|
+
type: "text",
|
|
510377
|
+
text: `[Tool result: ${block.tool_use_id}; status: ${block.is_error ? "error" : "success"}]
|
|
510378
|
+
${result}`
|
|
510379
|
+
};
|
|
510380
|
+
}
|
|
510381
|
+
return block;
|
|
510382
|
+
});
|
|
510383
|
+
if (!changed)
|
|
510384
|
+
return msg;
|
|
510385
|
+
return { ...msg, message: { ...msg.message, content: projected } };
|
|
510386
|
+
});
|
|
510353
510387
|
}
|
|
510354
510388
|
function isExtractedSummaryUsable(text) {
|
|
510355
510389
|
const summaryMatch = text.match(/<summary>([\s\S]{200,})<\/summary>/i);
|
|
@@ -511971,12 +512005,12 @@ async function trySessionMemoryCompaction(messages, agentId, autoCompactThreshol
|
|
|
511971
512005
|
}
|
|
511972
512006
|
await initSessionMemoryCompactConfig();
|
|
511973
512007
|
await waitForSessionMemoryExtraction();
|
|
511974
|
-
const
|
|
511975
|
-
|
|
511976
|
-
|
|
511977
|
-
logEvent("tengu_sm_compact_no_session_memory", {});
|
|
512008
|
+
const verifiedMemory = await getVerifiedSessionMemory();
|
|
512009
|
+
if (!verifiedMemory) {
|
|
512010
|
+
logEvent("tengu_sm_compact_unknown_coverage", {});
|
|
511978
512011
|
return null;
|
|
511979
512012
|
}
|
|
512013
|
+
const { messageId: lastSummarizedMessageId2, content: sessionMemory } = verifiedMemory;
|
|
511980
512014
|
if (await isSessionMemoryEmpty(sessionMemory)) {
|
|
511981
512015
|
logEvent("tengu_sm_compact_empty_template", {});
|
|
511982
512016
|
return null;
|
|
@@ -513272,7 +513306,7 @@ var init_toolSearch = __esm(() => {
|
|
|
513272
513306
|
});
|
|
513273
513307
|
|
|
513274
513308
|
// services/vcr.ts
|
|
513275
|
-
import { createHash as
|
|
513309
|
+
import { createHash as createHash22, randomUUID as randomUUID28 } from "crypto";
|
|
513276
513310
|
import { mkdir as mkdir27, readFile as readFile36, writeFile as writeFile28 } from "fs/promises";
|
|
513277
513311
|
import isPlainObject5 from "lodash-es/isPlainObject.js";
|
|
513278
513312
|
import mapValues2 from "lodash-es/mapValues.js";
|
|
@@ -513288,7 +513322,7 @@ async function withFixture(input, fixtureName, f4) {
|
|
|
513288
513322
|
if (!shouldUseVCR()) {
|
|
513289
513323
|
return await f4();
|
|
513290
513324
|
}
|
|
513291
|
-
const hash =
|
|
513325
|
+
const hash = createHash22("sha1").update(jsonStringify(input)).digest("hex").slice(0, 12);
|
|
513292
513326
|
const filename = join101(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT ?? getCwd(), `fixtures/${fixtureName}-${hash}.json`);
|
|
513293
513327
|
try {
|
|
513294
513328
|
const cached4 = jsonParse(await readFile36(filename, { encoding: "utf8" }));
|
|
@@ -513323,7 +513357,7 @@ async function withVCR(messages, f4) {
|
|
|
513323
513357
|
return true;
|
|
513324
513358
|
}));
|
|
513325
513359
|
const dehydratedInput = mapMessages(messagesForAPI.map((_3) => _3.message.content), dehydrateValue);
|
|
513326
|
-
const filename = join101(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT ?? getCwd(), `fixtures/${dehydratedInput.map((_3) =>
|
|
513360
|
+
const filename = join101(process.env.CLAUDE_CODE_TEST_FIXTURES_ROOT ?? getCwd(), `fixtures/${dehydratedInput.map((_3) => createHash22("sha1").update(jsonStringify(_3)).digest("hex").slice(0, 6)).join("-")}.json`);
|
|
513327
513361
|
try {
|
|
513328
513362
|
const cached4 = jsonParse(await readFile36(filename, { encoding: "utf8" }));
|
|
513329
513363
|
cached4.output.forEach(addCachedCostToTotalSessionCost);
|
|
@@ -515420,7 +515454,7 @@ async function selectRelevantMemories(query2, memories, signal, recentTools) {
|
|
|
515420
515454
|
Recently used tools: ${recentTools.join(", ")}` : "";
|
|
515421
515455
|
try {
|
|
515422
515456
|
const result = await sideQuery({
|
|
515423
|
-
model:
|
|
515457
|
+
model: getSmallFastModel(),
|
|
515424
515458
|
system: SELECT_MEMORIES_SYSTEM_PROMPT,
|
|
515425
515459
|
skipSystemPromptPrefix: true,
|
|
515426
515460
|
messages: [
|
|
@@ -520241,7 +520275,7 @@ var init_managedPlugins = __esm(() => {
|
|
|
520241
520275
|
});
|
|
520242
520276
|
|
|
520243
520277
|
// utils/plugins/pluginVersioning.ts
|
|
520244
|
-
import { createHash as
|
|
520278
|
+
import { createHash as createHash23 } from "crypto";
|
|
520245
520279
|
async function calculatePluginVersion(pluginId, source, manifest, installPath, providedVersion, gitCommitSha) {
|
|
520246
520280
|
if (manifest?.version) {
|
|
520247
520281
|
logForDebugging(`Using manifest version for ${pluginId}: ${manifest.version}`);
|
|
@@ -520255,7 +520289,7 @@ async function calculatePluginVersion(pluginId, source, manifest, installPath, p
|
|
|
520255
520289
|
const shortSha = gitCommitSha.substring(0, 12);
|
|
520256
520290
|
if (typeof source === "object" && source.source === "git-subdir") {
|
|
520257
520291
|
const normPath = source.path.replace(/\\/g, "/").replace(/^\.\//, "").replace(/\/+$/, "");
|
|
520258
|
-
const pathHash =
|
|
520292
|
+
const pathHash = createHash23("sha256").update(normPath).digest("hex").substring(0, 8);
|
|
520259
520293
|
const v6 = `${shortSha}-${pathHash}`;
|
|
520260
520294
|
logForDebugging(`Using git-subdir SHA+path version for ${pluginId}: ${v6} (path=${normPath})`);
|
|
520261
520295
|
return v6;
|
|
@@ -529239,7 +529273,7 @@ var init_xaaIdpLogin = __esm(() => {
|
|
|
529239
529273
|
});
|
|
529240
529274
|
|
|
529241
529275
|
// services/mcp/auth.ts
|
|
529242
|
-
import { createHash as
|
|
529276
|
+
import { createHash as createHash24, randomBytes as randomBytes12, randomUUID as randomUUID32 } from "crypto";
|
|
529243
529277
|
import { mkdir as mkdir30 } from "fs/promises";
|
|
529244
529278
|
import { createServer as createServer4 } from "http";
|
|
529245
529279
|
import { join as join112 } from "path";
|
|
@@ -529353,7 +529387,7 @@ function getServerKey(serverName, serverConfig) {
|
|
|
529353
529387
|
url: serverConfig.url,
|
|
529354
529388
|
headers: serverConfig.headers || {}
|
|
529355
529389
|
});
|
|
529356
|
-
const hash =
|
|
529390
|
+
const hash = createHash24("sha256").update(configJson).digest("hex").substring(0, 16);
|
|
529357
529391
|
return `${serverName}|${hash}`;
|
|
529358
529392
|
}
|
|
529359
529393
|
function hasMcpDiscoveryButNoToken(serverName, serverConfig) {
|
|
@@ -531649,7 +531683,7 @@ async function getMcpHeadersFromHelper(serverName, config) {
|
|
|
531649
531683
|
if ("scope" in config && isMcpServerFromProjectOrLocalSettings(config) && !getIsNonInteractiveSession()) {
|
|
531650
531684
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
531651
531685
|
if (!hasTrust) {
|
|
531652
|
-
const error5 = new Error(`Security: headersHelper for MCP server '${serverName}' executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
531686
|
+
const error5 = new Error(`Security: headersHelper for MCP server '${serverName}' executed before workspace trust is confirmed. If you see this message, post in ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.FEEDBACK_CHANNEL}.`);
|
|
531653
531687
|
logAntError("MCP headersHelper invoked before trust check", error5);
|
|
531654
531688
|
logEvent("tengu_mcp_headersHelper_missing_trust", {});
|
|
531655
531689
|
return null;
|
|
@@ -533174,7 +533208,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
533174
533208
|
const client4 = new Client({
|
|
533175
533209
|
name: "claude-code",
|
|
533176
533210
|
title: "CCL",
|
|
533177
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
533211
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION ?? "unknown",
|
|
533178
533212
|
description: "Anthropic's agentic coding tool",
|
|
533179
533213
|
websiteUrl: PRODUCT_URL
|
|
533180
533214
|
}, {
|
|
@@ -533525,7 +533559,7 @@ var init_client9 = __esm(() => {
|
|
|
533525
533559
|
const client4 = new Client({
|
|
533526
533560
|
name: "claude-code",
|
|
533527
533561
|
title: "CCL",
|
|
533528
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
533562
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION ?? "unknown",
|
|
533529
533563
|
description: "Anthropic's agentic coding tool",
|
|
533530
533564
|
websiteUrl: PRODUCT_URL
|
|
533531
533565
|
}, {
|
|
@@ -534159,7 +534193,7 @@ var init_client9 = __esm(() => {
|
|
|
534159
534193
|
});
|
|
534160
534194
|
|
|
534161
534195
|
// utils/api.ts
|
|
534162
|
-
import { createHash as
|
|
534196
|
+
import { createHash as createHash25 } from "crypto";
|
|
534163
534197
|
function filterSwarmFieldsFromSchema(toolName, schema) {
|
|
534164
534198
|
const fieldsToRemove = SWARM_FIELDS_BY_TOOL[toolName];
|
|
534165
534199
|
if (!fieldsToRemove || fieldsToRemove.length === 0) {
|
|
@@ -534269,7 +534303,7 @@ function logAPIPrefix(systemPrompt) {
|
|
|
534269
534303
|
logEvent("tengu_sysprompt_block", {
|
|
534270
534304
|
snippet: firstSystemPrompt?.slice(0, 20),
|
|
534271
534305
|
length: firstSystemPrompt?.length ?? 0,
|
|
534272
|
-
hash: firstSystemPrompt ?
|
|
534306
|
+
hash: firstSystemPrompt ? createHash25("sha256").update(firstSystemPrompt).digest("hex") : ""
|
|
534273
534307
|
});
|
|
534274
534308
|
}
|
|
534275
534309
|
function splitSysPromptPrefix(systemPrompt, options) {
|
|
@@ -536012,7 +536046,8 @@ ${deferredToolList}
|
|
|
536012
536046
|
hasGatewayConfig: !!gatewayForChannel,
|
|
536013
536047
|
gatewayHasKey: !!gatewayForChannel?.key,
|
|
536014
536048
|
isSubscriber: isClaudeAISubscriber(),
|
|
536015
|
-
hasLocalClaudeDirectAuth
|
|
536049
|
+
hasLocalClaudeDirectAuth,
|
|
536050
|
+
hasCapabilityContext: !!options.capabilityContext
|
|
536016
536051
|
});
|
|
536017
536052
|
const { isNonClaudeModel, isClaudeViaGateway } = channelDecision;
|
|
536018
536053
|
isGatewayChannel = channelDecision.channel === "gateway";
|
|
@@ -540403,7 +540438,7 @@ import { join as join114 } from "path";
|
|
|
540403
540438
|
function getSteps() {
|
|
540404
540439
|
const cwd2 = getCwd();
|
|
540405
540440
|
const fs13 = getFsImplementation();
|
|
540406
|
-
const hasMemoryFile = fs13.existsSync(join114(cwd2, "CCL.md")) || fs13.existsSync(join114(cwd2, PROJECT_CONFIG_DIR, "CCL.md"))
|
|
540441
|
+
const hasMemoryFile = fs13.existsSync(join114(cwd2, "CCL.md")) || fs13.existsSync(join114(cwd2, PROJECT_CONFIG_DIR, "CCL.md"));
|
|
540407
540442
|
const isWorkspaceDirEmpty = isDirEmpty(cwd2);
|
|
540408
540443
|
return [
|
|
540409
540444
|
{
|
|
@@ -540764,7 +540799,7 @@ async function setupTerminal(theme) {
|
|
|
540764
540799
|
return current;
|
|
540765
540800
|
});
|
|
540766
540801
|
maybeMarkProjectOnboardingComplete();
|
|
540767
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
540802
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
540768
540803
|
result += await setupShellCompletion(theme);
|
|
540769
540804
|
}
|
|
540770
540805
|
return result;
|
|
@@ -541126,14 +541161,14 @@ var init_terminalSetup = __esm(() => {
|
|
|
541126
541161
|
});
|
|
541127
541162
|
|
|
541128
541163
|
// utils/pasteStore.ts
|
|
541129
|
-
import { createHash as
|
|
541164
|
+
import { createHash as createHash26 } from "crypto";
|
|
541130
541165
|
import { mkdir as mkdir34, readdir as readdir25, readFile as readFile44, stat as stat38, unlink as unlink18, writeFile as writeFile36 } from "fs/promises";
|
|
541131
541166
|
import { join as join118 } from "path";
|
|
541132
541167
|
function getPasteStoreDir() {
|
|
541133
541168
|
return join118(getClaudeConfigHomeDir(), PASTE_STORE_DIR);
|
|
541134
541169
|
}
|
|
541135
541170
|
function hashPastedText(content) {
|
|
541136
|
-
return
|
|
541171
|
+
return createHash26("sha256").update(content).digest("hex").slice(0, 16);
|
|
541137
541172
|
}
|
|
541138
541173
|
function getPastePath(hash) {
|
|
541139
541174
|
return join118(getPasteStoreDir(), `${hash}.txt`);
|
|
@@ -545257,7 +545292,7 @@ function Feedback({
|
|
|
545257
545292
|
platform: env4.platform,
|
|
545258
545293
|
gitRepo: envInfo.isGit,
|
|
545259
545294
|
terminal: env4.terminal,
|
|
545260
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
545295
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
545261
545296
|
transcript: normalizeMessagesForAPI(messages),
|
|
545262
545297
|
errors: sanitizedErrors,
|
|
545263
545298
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -545449,7 +545484,7 @@ function Feedback({
|
|
|
545449
545484
|
", ",
|
|
545450
545485
|
env4.terminal,
|
|
545451
545486
|
", v",
|
|
545452
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
545487
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
545453
545488
|
]
|
|
545454
545489
|
})
|
|
545455
545490
|
]
|
|
@@ -545555,7 +545590,7 @@ ${sanitizedDescription}
|
|
|
545555
545590
|
` + `**Environment Info**
|
|
545556
545591
|
` + `- Platform: ${env4.platform}
|
|
545557
545592
|
` + `- Terminal: ${env4.terminal}
|
|
545558
|
-
` + `- Version: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
545593
|
+
` + `- Version: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION || "unknown"}
|
|
545559
545594
|
` + `- Feedback ID: ${feedbackId}
|
|
545560
545595
|
` + `
|
|
545561
545596
|
**Errors**
|
|
@@ -545747,7 +545782,7 @@ var init_Feedback = __esm(() => {
|
|
|
545747
545782
|
init_TextInput();
|
|
545748
545783
|
import_react95 = __toESM(require_react(), 1);
|
|
545749
545784
|
jsx_runtime168 = __toESM(require_jsx_runtime(), 1);
|
|
545750
|
-
GITHUB_ISSUES_REPO_URL = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
545785
|
+
GITHUB_ISSUES_REPO_URL = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? "https://github.com/anthropics/claude-cli-internal/issues" : "https://github.com/anthropics/claude-code/issues";
|
|
545751
545786
|
});
|
|
545752
545787
|
|
|
545753
545788
|
// commands/feedback/feedback.tsx
|
|
@@ -546639,7 +546674,7 @@ function getMagicDocsAgent() {
|
|
|
546639
546674
|
agentType: "magic-docs",
|
|
546640
546675
|
whenToUse: "Update Magic Docs",
|
|
546641
546676
|
tools: [FILE_EDIT_TOOL_NAME],
|
|
546642
|
-
model:
|
|
546677
|
+
model: getDefaultSubagentModel(),
|
|
546643
546678
|
source: "built-in",
|
|
546644
546679
|
baseDir: "built-in",
|
|
546645
546680
|
getSystemPrompt: () => ""
|
|
@@ -546724,6 +546759,7 @@ var init_magicDocs = __esm(() => {
|
|
|
546724
546759
|
init_fileStateCache();
|
|
546725
546760
|
init_postSamplingHooks();
|
|
546726
546761
|
init_messages7();
|
|
546762
|
+
init_agent();
|
|
546727
546763
|
init_prompts3();
|
|
546728
546764
|
MAGIC_DOC_HEADER_PATTERN = /^#\s*MAGIC\s+DOC:\s*(.+)$/im;
|
|
546729
546765
|
ITALICS_PATTERN = /^[_*](.+?)[_*]\s*$/m;
|
|
@@ -548750,7 +548786,7 @@ function buildPrimarySection() {
|
|
|
548750
548786
|
});
|
|
548751
548787
|
return [{
|
|
548752
548788
|
label: "Version",
|
|
548753
|
-
value: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
548789
|
+
value: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
548754
548790
|
}, {
|
|
548755
548791
|
label: "Session name",
|
|
548756
548792
|
value: nameValue
|
|
@@ -551390,7 +551426,7 @@ function Config({
|
|
|
551390
551426
|
});
|
|
551391
551427
|
}
|
|
551392
551428
|
}] : [],
|
|
551393
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
551429
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? [{
|
|
551394
551430
|
id: "speculationEnabled",
|
|
551395
551431
|
label: "Speculative execution",
|
|
551396
551432
|
value: globalConfig.speculationEnabled ?? true,
|
|
@@ -552671,7 +552707,7 @@ function Config({
|
|
|
552671
552707
|
}
|
|
552672
552708
|
})
|
|
552673
552709
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime183.jsx(ChannelDowngradeDialog, {
|
|
552674
|
-
currentVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
552710
|
+
currentVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
552675
552711
|
onChoice: (choice) => {
|
|
552676
552712
|
setShowSubmenu(null);
|
|
552677
552713
|
setTabsHidden(false);
|
|
@@ -552683,7 +552719,7 @@ function Config({
|
|
|
552683
552719
|
autoUpdatesChannel: "stable"
|
|
552684
552720
|
};
|
|
552685
552721
|
if (choice === "stay") {
|
|
552686
|
-
newSettings.minimumVersion = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
552722
|
+
newSettings.minimumVersion = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
552687
552723
|
}
|
|
552688
552724
|
updateSettingsForSource("userSettings", newSettings);
|
|
552689
552725
|
setSettingsData((prev_27) => ({
|
|
@@ -560757,7 +560793,7 @@ function HelpV2(t0) {
|
|
|
560757
560793
|
let t6;
|
|
560758
560794
|
if ($3[31] !== tabs) {
|
|
560759
560795
|
t6 = /* @__PURE__ */ jsx_runtime210.jsx(Tabs, {
|
|
560760
|
-
title: `CCL v${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
560796
|
+
title: `CCL v${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}`,
|
|
560761
560797
|
color: "professionalBlue",
|
|
560762
560798
|
defaultTab: "general",
|
|
560763
560799
|
children: tabs
|
|
@@ -580428,7 +580464,7 @@ async function call28(onDone, _context, args) {
|
|
|
580428
580464
|
});
|
|
580429
580465
|
}
|
|
580430
580466
|
}
|
|
580431
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
580467
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
580432
580468
|
return /* @__PURE__ */ jsx_runtime249.jsx(PluginSettings, {
|
|
580433
580469
|
onComplete: onDone,
|
|
580434
580470
|
args: ["manage"],
|
|
@@ -585275,9 +585311,9 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
585275
585311
|
return [];
|
|
585276
585312
|
}
|
|
585277
585313
|
}
|
|
585278
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
585314
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
585279
585315
|
if (process.env.USER_TYPE === "ant") {
|
|
585280
|
-
const changelog = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
585316
|
+
const changelog = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION_CHANGELOG;
|
|
585281
585317
|
if (changelog) {
|
|
585282
585318
|
const commits = changelog.trim().split(`
|
|
585283
585319
|
`).filter(Boolean);
|
|
@@ -585302,9 +585338,9 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = { USER_TYP
|
|
|
585302
585338
|
releaseNotes
|
|
585303
585339
|
};
|
|
585304
585340
|
}
|
|
585305
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
585341
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
585306
585342
|
if (process.env.USER_TYPE === "ant") {
|
|
585307
|
-
const changelog = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
585343
|
+
const changelog = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION_CHANGELOG;
|
|
585308
585344
|
if (changelog) {
|
|
585309
585345
|
const commits = changelog.trim().split(`
|
|
585310
585346
|
`).filter(Boolean);
|
|
@@ -586486,7 +586522,7 @@ function getRecentActivitySync() {
|
|
|
586486
586522
|
return cachedActivity;
|
|
586487
586523
|
}
|
|
586488
586524
|
function getLogoDisplayData() {
|
|
586489
|
-
const version4 = process.env.DEMO_VERSION ?? { USER_TYPE: "external", VERSION: "1.3.6-
|
|
586525
|
+
const version4 = process.env.DEMO_VERSION ?? { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
586490
586526
|
const serverUrl = getDirectConnectServerUrl();
|
|
586491
586527
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
586492
586528
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -586518,7 +586554,7 @@ function formatModelAndBilling(modelName, billingType, availableWidth) {
|
|
|
586518
586554
|
}
|
|
586519
586555
|
function getRecentReleaseNotesSync(maxItems) {
|
|
586520
586556
|
if (process.env.USER_TYPE === "ant") {
|
|
586521
|
-
const changelog2 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
586557
|
+
const changelog2 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION_CHANGELOG;
|
|
586522
586558
|
if (changelog2) {
|
|
586523
586559
|
const commits = changelog2.trim().split(`
|
|
586524
586560
|
`).filter(Boolean);
|
|
@@ -587264,7 +587300,7 @@ function createRecentActivityFeed(activities) {
|
|
|
587264
587300
|
}
|
|
587265
587301
|
function createWhatsNewFeed(releaseNotes2) {
|
|
587266
587302
|
const lines = releaseNotes2.map((note) => {
|
|
587267
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
587303
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
587268
587304
|
const match = note.match(/^(\d+\s+\w+\s+ago)\s+(.+)$/);
|
|
587269
587305
|
if (match) {
|
|
587270
587306
|
return {
|
|
@@ -587277,9 +587313,9 @@ function createWhatsNewFeed(releaseNotes2) {
|
|
|
587277
587313
|
text: note
|
|
587278
587314
|
};
|
|
587279
587315
|
});
|
|
587280
|
-
const emptyMessage = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
587316
|
+
const emptyMessage = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? "Unable to fetch latest claude-cli-internal commits" : "Check the CCL changelog for updates";
|
|
587281
587317
|
return {
|
|
587282
|
-
title: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
587318
|
+
title: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? "What's new [ANT-ONLY: Latest CC commits]" : "What's new",
|
|
587283
587319
|
lines,
|
|
587284
587320
|
footer: lines.length > 0 ? "/release-notes for more" : undefined,
|
|
587285
587321
|
emptyMessage
|
|
@@ -588074,7 +588110,7 @@ function LogoV2() {
|
|
|
588074
588110
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
588075
588111
|
t22 = () => {
|
|
588076
588112
|
const currentConfig = getGlobalConfig();
|
|
588077
|
-
if (currentConfig.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.6-
|
|
588113
|
+
if (currentConfig.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
588078
588114
|
return;
|
|
588079
588115
|
}
|
|
588080
588116
|
saveGlobalConfig(_temp329);
|
|
@@ -588750,12 +588786,12 @@ function LogoV2() {
|
|
|
588750
588786
|
return t41;
|
|
588751
588787
|
}
|
|
588752
588788
|
function _temp329(current) {
|
|
588753
|
-
if (current.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.6-
|
|
588789
|
+
if (current.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
588754
588790
|
return current;
|
|
588755
588791
|
}
|
|
588756
588792
|
return {
|
|
588757
588793
|
...current,
|
|
588758
|
-
lastReleaseNotesSeen: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
588794
|
+
lastReleaseNotesSeen: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
588759
588795
|
};
|
|
588760
588796
|
}
|
|
588761
588797
|
function _temp246(s_0) {
|
|
@@ -589780,22 +589816,22 @@ function useVirtualScroll(scrollRef, itemKeys, columns) {
|
|
|
589780
589816
|
}
|
|
589781
589817
|
const needed2 = viewportH + 2 * OVERSCAN_ROWS;
|
|
589782
589818
|
const maxEnd = Math.min(n2, start + MAX_MOUNTED_ITEMS);
|
|
589783
|
-
let
|
|
589819
|
+
let coverage3 = 0;
|
|
589784
589820
|
end = start;
|
|
589785
|
-
while (end < maxEnd && (
|
|
589786
|
-
|
|
589821
|
+
while (end < maxEnd && (coverage3 < needed2 || offsets[end] < effHi + viewportH + OVERSCAN_ROWS)) {
|
|
589822
|
+
coverage3 += heightCache.current.get(itemKeys[end]) ?? PESSIMISTIC_HEIGHT;
|
|
589787
589823
|
end++;
|
|
589788
589824
|
}
|
|
589789
589825
|
}
|
|
589790
589826
|
const needed = viewportH + 2 * OVERSCAN_ROWS;
|
|
589791
589827
|
const minStart = Math.max(0, end - MAX_MOUNTED_ITEMS);
|
|
589792
|
-
let
|
|
589828
|
+
let coverage2 = 0;
|
|
589793
589829
|
for (let i4 = start;i4 < end; i4++) {
|
|
589794
|
-
|
|
589830
|
+
coverage2 += heightCache.current.get(itemKeys[i4]) ?? PESSIMISTIC_HEIGHT;
|
|
589795
589831
|
}
|
|
589796
|
-
while (start > minStart &&
|
|
589832
|
+
while (start > minStart && coverage2 < needed) {
|
|
589797
589833
|
start--;
|
|
589798
|
-
|
|
589834
|
+
coverage2 += heightCache.current.get(itemKeys[start]) ?? PESSIMISTIC_HEIGHT;
|
|
589799
589835
|
}
|
|
589800
589836
|
const prev = prevRangeRef.current;
|
|
589801
589837
|
const scrollVelocity = Math.abs(scrollTop - lastScrollTopRef.current) + Math.abs(pendingDelta);
|
|
@@ -596656,13 +596692,13 @@ var init_ultraplan = __esm(() => {
|
|
|
596656
596692
|
ULTRAPLAN_TIMEOUT_MS = 30 * 60 * 1000;
|
|
596657
596693
|
_rawPrompt = require_prompt();
|
|
596658
596694
|
DEFAULT_INSTRUCTIONS = (typeof _rawPrompt === "string" ? _rawPrompt : _rawPrompt.default).trimEnd();
|
|
596659
|
-
ULTRAPLAN_INSTRUCTIONS = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
596695
|
+
ULTRAPLAN_INSTRUCTIONS = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && process.env.ULTRAPLAN_PROMPT_FILE ? readFileSync19(process.env.ULTRAPLAN_PROMPT_FILE, "utf8").trimEnd() : DEFAULT_INSTRUCTIONS;
|
|
596660
596696
|
ultraplan_default = {
|
|
596661
596697
|
type: "local-jsx",
|
|
596662
596698
|
name: "ultraplan",
|
|
596663
596699
|
description: `~10–30 min · CCL on the web drafts an advanced plan you can edit and approve. See ${CCR_TERMS_URL2}`,
|
|
596664
596700
|
argumentHint: "<prompt>",
|
|
596665
|
-
isEnabled: () => ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
596701
|
+
isEnabled: () => ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }).USER_TYPE === "ant",
|
|
596666
596702
|
load: () => Promise.resolve({
|
|
596667
596703
|
call: call37
|
|
596668
596704
|
})
|
|
@@ -596773,7 +596809,7 @@ function shouldHideTasksFooter(tasks, showSpinnerTree) {
|
|
|
596773
596809
|
return false;
|
|
596774
596810
|
let hasVisibleTask = false;
|
|
596775
596811
|
for (const t3 of Object.values(tasks)) {
|
|
596776
|
-
if (!isBackgroundTask(t3) || { USER_TYPE: "external", VERSION: "1.3.6-
|
|
596812
|
+
if (!isBackgroundTask(t3) || { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && isPanelAgentTask(t3)) {
|
|
596777
596813
|
continue;
|
|
596778
596814
|
}
|
|
596779
596815
|
hasVisibleTask = true;
|
|
@@ -602859,8 +602895,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
602859
602895
|
}
|
|
602860
602896
|
async function checkEnvLessBridgeMinVersion() {
|
|
602861
602897
|
const cfg = await getEnvLessBridgeConfig();
|
|
602862
|
-
if (cfg.min_version && lt2({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
602863
|
-
return `Your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
602898
|
+
if (cfg.min_version && lt2({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, cfg.min_version)) {
|
|
602899
|
+
return `Your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}) is too old for Remote Control.
|
|
602864
602900
|
Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
|
|
602865
602901
|
}
|
|
602866
602902
|
return null;
|
|
@@ -605235,10 +605271,10 @@ import { execa as execa14 } from "execa";
|
|
|
605235
605271
|
import { readFile as readFile51 } from "fs/promises";
|
|
605236
605272
|
import { join as join139 } from "path";
|
|
605237
605273
|
function getMarketplaceName() {
|
|
605238
|
-
return { USER_TYPE: "external", VERSION: "1.3.6-
|
|
605274
|
+
return { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_NAME : OFFICIAL_MARKETPLACE_NAME;
|
|
605239
605275
|
}
|
|
605240
605276
|
function getMarketplaceRepo() {
|
|
605241
|
-
return { USER_TYPE: "external", VERSION: "1.3.6-
|
|
605277
|
+
return { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_REPO : OFFICIAL_MARKETPLACE_REPO;
|
|
605242
605278
|
}
|
|
605243
605279
|
function getPluginId() {
|
|
605244
605280
|
return `thinkback@${getMarketplaceName()}`;
|
|
@@ -612991,7 +613027,7 @@ function getToolBuckets() {
|
|
|
612991
613027
|
},
|
|
612992
613028
|
EXECUTION: {
|
|
612993
613029
|
name: "Execution tools",
|
|
612994
|
-
toolNames: new Set([BashTool.name, { USER_TYPE: "external", VERSION: "1.3.6-
|
|
613030
|
+
toolNames: new Set([BashTool.name, { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? TungstenTool.name : undefined].filter((n2) => n2 !== undefined))
|
|
612995
613031
|
},
|
|
612996
613032
|
MCP: {
|
|
612997
613033
|
name: "MCP tools",
|
|
@@ -618641,7 +618677,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
618641
618677
|
smapsRollup,
|
|
618642
618678
|
platform: process.platform,
|
|
618643
618679
|
nodeVersion: process.version,
|
|
618644
|
-
ccVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
618680
|
+
ccVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
618645
618681
|
};
|
|
618646
618682
|
}
|
|
618647
618683
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -619228,7 +619264,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
619228
619264
|
var call61 = async () => {
|
|
619229
619265
|
return {
|
|
619230
619266
|
type: "text",
|
|
619231
|
-
value: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
619267
|
+
value: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.BUILD_TIME ? `${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} (built ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.BUILD_TIME})` : { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
619232
619268
|
};
|
|
619233
619269
|
}, version4, version_default;
|
|
619234
619270
|
var init_version = __esm(() => {
|
|
@@ -626291,7 +626327,7 @@ function OverviewTab({
|
|
|
626291
626327
|
})
|
|
626292
626328
|
]
|
|
626293
626329
|
}),
|
|
626294
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
626330
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && stats.totalSpeculationTimeSavedMs > 0 && /* @__PURE__ */ jsx_runtime367.jsx(ThemedBox_default, {
|
|
626295
626331
|
flexDirection: "row",
|
|
626296
626332
|
gap: 4,
|
|
626297
626333
|
children: /* @__PURE__ */ jsx_runtime367.jsx(ThemedBox_default, {
|
|
@@ -626965,7 +627001,7 @@ function renderOverviewToAnsi(stats) {
|
|
|
626965
627001
|
const activeDaysVal = `${stats.activeDays}/${stats.totalDays}`;
|
|
626966
627002
|
const peakHourVal = stats.peakActivityHour !== null ? `${stats.peakActivityHour}:00-${stats.peakActivityHour + 1}:00` : "N/A";
|
|
626967
627003
|
lines.push(row("Active days", activeDaysVal, "Peak hour", peakHourVal));
|
|
626968
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
627004
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && stats.totalSpeculationTimeSavedMs > 0) {
|
|
626969
627005
|
const label = "Speculation saved:".padEnd(COL1_LABEL_WIDTH);
|
|
626970
627006
|
lines.push(label + h3(formatDuration(stats.totalSpeculationTimeSavedMs)));
|
|
626971
627007
|
}
|
|
@@ -627296,11 +627332,50 @@ import {
|
|
|
627296
627332
|
} from "fs/promises";
|
|
627297
627333
|
import { tmpdir as tmpdir11 } from "os";
|
|
627298
627334
|
import { extname as extname14, join as join151 } from "path";
|
|
627299
|
-
function
|
|
627300
|
-
|
|
627301
|
-
|
|
627302
|
-
|
|
627303
|
-
|
|
627335
|
+
async function queryInsights(userPrompt, maxOutputTokens) {
|
|
627336
|
+
const start = await resolveTrajectoryStart(getMainLoopModel(), getRoutingPriority(), undefined);
|
|
627337
|
+
const signal = new AbortController().signal;
|
|
627338
|
+
const invoke2 = async (model2, capabilityContext) => {
|
|
627339
|
+
const result = await queryWithModel({
|
|
627340
|
+
systemPrompt: asSystemPrompt([]),
|
|
627341
|
+
userPrompt,
|
|
627342
|
+
signal,
|
|
627343
|
+
options: {
|
|
627344
|
+
model: model2,
|
|
627345
|
+
capabilityContext,
|
|
627346
|
+
querySource: "insights",
|
|
627347
|
+
agents: [],
|
|
627348
|
+
isNonInteractiveSession: true,
|
|
627349
|
+
hasAppendSystemPrompt: false,
|
|
627350
|
+
mcpTools: [],
|
|
627351
|
+
maxOutputTokensOverride: maxOutputTokens
|
|
627352
|
+
}
|
|
627353
|
+
});
|
|
627354
|
+
if (result.isApiErrorMessage) {
|
|
627355
|
+
throw new Error("Insights analysis returned an API error");
|
|
627356
|
+
}
|
|
627357
|
+
return result;
|
|
627358
|
+
};
|
|
627359
|
+
if (start.resolution && start.request) {
|
|
627360
|
+
let initialResolution = start.resolution;
|
|
627361
|
+
return runCapabilityInvocation({
|
|
627362
|
+
request: start.request,
|
|
627363
|
+
resolve: async (request) => {
|
|
627364
|
+
if (initialResolution) {
|
|
627365
|
+
const resolution = initialResolution;
|
|
627366
|
+
initialResolution = undefined;
|
|
627367
|
+
return resolution;
|
|
627368
|
+
}
|
|
627369
|
+
return resolveCapabilityModel(request);
|
|
627370
|
+
},
|
|
627371
|
+
invoke: (binding) => invoke2(binding.model, binding.capabilityContext)
|
|
627372
|
+
});
|
|
627373
|
+
}
|
|
627374
|
+
const model = start.source === "legacy" ? getDefaultMainLoopModel() : start.model;
|
|
627375
|
+
if (model === "auto" || model === "smart") {
|
|
627376
|
+
throw new Error("Insights analysis requires a resolved main model");
|
|
627377
|
+
}
|
|
627378
|
+
return invoke2(model);
|
|
627304
627379
|
}
|
|
627305
627380
|
function getDataDir() {
|
|
627306
627381
|
return join151(getClaudeConfigHomeDir(), "usage-data");
|
|
@@ -627606,20 +627681,7 @@ function formatTranscriptForFacets(log) {
|
|
|
627606
627681
|
}
|
|
627607
627682
|
async function summarizeTranscriptChunk(chunk2) {
|
|
627608
627683
|
try {
|
|
627609
|
-
const result = await
|
|
627610
|
-
systemPrompt: asSystemPrompt([]),
|
|
627611
|
-
userPrompt: SUMMARIZE_CHUNK_PROMPT + chunk2,
|
|
627612
|
-
signal: new AbortController().signal,
|
|
627613
|
-
options: {
|
|
627614
|
-
model: getAnalysisModel(),
|
|
627615
|
-
querySource: "insights",
|
|
627616
|
-
agents: [],
|
|
627617
|
-
isNonInteractiveSession: true,
|
|
627618
|
-
hasAppendSystemPrompt: false,
|
|
627619
|
-
mcpTools: [],
|
|
627620
|
-
maxOutputTokensOverride: 500
|
|
627621
|
-
}
|
|
627622
|
-
});
|
|
627684
|
+
const result = await queryInsights(SUMMARIZE_CHUNK_PROMPT + chunk2, 500);
|
|
627623
627685
|
const text = extractTextContent(result.message.content);
|
|
627624
627686
|
return text || chunk2.slice(0, 2000);
|
|
627625
627687
|
} catch {
|
|
@@ -627716,20 +627778,7 @@ RESPOND WITH ONLY A VALID JSON OBJECT matching this schema:
|
|
|
627716
627778
|
"primary_success": "none|fast_accurate_search|correct_code_edits|good_explanations|proactive_help|multi_file_changes|good_debugging",
|
|
627717
627779
|
"brief_summary": "One sentence: what user wanted and whether they got it"
|
|
627718
627780
|
}`;
|
|
627719
|
-
const result = await
|
|
627720
|
-
systemPrompt: asSystemPrompt([]),
|
|
627721
|
-
userPrompt: jsonPrompt,
|
|
627722
|
-
signal: new AbortController().signal,
|
|
627723
|
-
options: {
|
|
627724
|
-
model: getAnalysisModel(),
|
|
627725
|
-
querySource: "insights",
|
|
627726
|
-
agents: [],
|
|
627727
|
-
isNonInteractiveSession: true,
|
|
627728
|
-
hasAppendSystemPrompt: false,
|
|
627729
|
-
mcpTools: [],
|
|
627730
|
-
maxOutputTokensOverride: 4096
|
|
627731
|
-
}
|
|
627732
|
-
});
|
|
627781
|
+
const result = await queryInsights(jsonPrompt, 4096);
|
|
627733
627782
|
const text = extractTextContent(result.message.content);
|
|
627734
627783
|
const jsonMatch = text.match(/\{[\s\S]*\}/);
|
|
627735
627784
|
if (!jsonMatch)
|
|
@@ -627932,23 +627981,10 @@ function aggregateData(sessions, facets) {
|
|
|
627932
627981
|
}
|
|
627933
627982
|
async function generateSectionInsight(section, dataContext) {
|
|
627934
627983
|
try {
|
|
627935
|
-
const result = await
|
|
627936
|
-
systemPrompt: asSystemPrompt([]),
|
|
627937
|
-
userPrompt: section.prompt + `
|
|
627984
|
+
const result = await queryInsights(section.prompt + `
|
|
627938
627985
|
|
|
627939
627986
|
DATA:
|
|
627940
|
-
` + dataContext,
|
|
627941
|
-
signal: new AbortController().signal,
|
|
627942
|
-
options: {
|
|
627943
|
-
model: getInsightsModel(),
|
|
627944
|
-
querySource: "insights",
|
|
627945
|
-
agents: [],
|
|
627946
|
-
isNonInteractiveSession: true,
|
|
627947
|
-
hasAppendSystemPrompt: false,
|
|
627948
|
-
mcpTools: [],
|
|
627949
|
-
maxOutputTokensOverride: section.maxTokens
|
|
627950
|
-
}
|
|
627951
|
-
});
|
|
627987
|
+
` + dataContext, section.maxTokens);
|
|
627952
627988
|
const text = extractTextContent(result.message.content);
|
|
627953
627989
|
if (text) {
|
|
627954
627990
|
const jsonMatch = text.match(/\{[\s\S]*\}/);
|
|
@@ -628749,7 +628785,7 @@ function generateHtmlReport(data, insights) {
|
|
|
628749
628785
|
</html>`;
|
|
628750
628786
|
}
|
|
628751
628787
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
628752
|
-
const version5 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
628788
|
+
const version5 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
628753
628789
|
const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
|
|
628754
628790
|
const facets_summary = {
|
|
628755
628791
|
total: facets.size,
|
|
@@ -629024,6 +629060,8 @@ TRANSCRIPT CHUNK:
|
|
|
629024
629060
|
`, INSIGHT_SECTIONS, SATISFACTION_ORDER, OUTCOME_ORDER, usageReport, insights_default;
|
|
629025
629061
|
var init_insights = __esm(() => {
|
|
629026
629062
|
init_claude();
|
|
629063
|
+
init_capabilityResolver();
|
|
629064
|
+
init_intentClassifier();
|
|
629027
629065
|
init_constants2();
|
|
629028
629066
|
init_envUtils();
|
|
629029
629067
|
init_errors();
|
|
@@ -633014,7 +633052,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
633014
633052
|
init_settings2();
|
|
633015
633053
|
init_slowOperations();
|
|
633016
633054
|
init_uuid();
|
|
633017
|
-
VERSION7 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
633055
|
+
VERSION7 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
633018
633056
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
633019
633057
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
633020
633058
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -634232,7 +634270,7 @@ var init_filesystem = __esm(() => {
|
|
|
634232
634270
|
});
|
|
634233
634271
|
getBundledSkillsRoot = memoize64(function getBundledSkillsRoot2() {
|
|
634234
634272
|
const nonce = randomBytes19(16).toString("hex");
|
|
634235
|
-
return join155(getClaudeTempDir(), "bundled-skills", { USER_TYPE: "external", VERSION: "1.3.6-
|
|
634273
|
+
return join155(getClaudeTempDir(), "bundled-skills", { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, nonce);
|
|
634236
634274
|
});
|
|
634237
634275
|
getResolvedWorkingDirPaths = memoize64(getPathsForPermissionCheck);
|
|
634238
634276
|
});
|
|
@@ -639547,7 +639585,7 @@ function getSimpleDoingTasksSection() {
|
|
|
639547
639585
|
];
|
|
639548
639586
|
const userHelpSubitems = [
|
|
639549
639587
|
`/help: Get help with using CCL`,
|
|
639550
|
-
`To give feedback, users should ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
639588
|
+
`To give feedback, users should ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.ISSUES_EXPLAINER}`
|
|
639551
639589
|
];
|
|
639552
639590
|
const items = [
|
|
639553
639591
|
`The user will primarily request you to perform software engineering tasks. These may include solving bugs, adding new functionality, refactoring code, explaining code, and more. When given an unclear or generic instruction, consider it in the context of these software engineering tasks and the current working directory. For example, if the user asks you to change "methodName" to snake case, do not reply with just "method_name", instead find the method in the code and modify the code.`,
|
|
@@ -640861,7 +640899,7 @@ function createBridgeLogger(options) {
|
|
|
640861
640899
|
connectUrl = buildBridgeConnectUrl(environmentId, cachedIngressUrl);
|
|
640862
640900
|
regenerateQr(connectUrl);
|
|
640863
640901
|
if (verbose) {
|
|
640864
|
-
write(source_default.dim(`Remote Control`) + ` v${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
640902
|
+
write(source_default.dim(`Remote Control`) + ` v${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}
|
|
640865
640903
|
`);
|
|
640866
640904
|
}
|
|
640867
640905
|
if (verbose) {
|
|
@@ -641834,7 +641872,7 @@ function appendToLog(path21, message) {
|
|
|
641834
641872
|
cwd: getFsImplementation().cwd(),
|
|
641835
641873
|
userType: process.env.USER_TYPE,
|
|
641836
641874
|
sessionId: getSessionId(),
|
|
641837
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
641875
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
641838
641876
|
};
|
|
641839
641877
|
getLogWriter(path21).write(messageWithTimestamp);
|
|
641840
641878
|
}
|
|
@@ -643104,7 +643142,7 @@ Spawn mode for this project:
|
|
|
643104
643142
|
const api = createBridgeApiClient({
|
|
643105
643143
|
baseUrl,
|
|
643106
643144
|
getAccessToken: getBridgeAccessToken2,
|
|
643107
|
-
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
643145
|
+
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
643108
643146
|
onDebug: logForDebugging,
|
|
643109
643147
|
onAuth401: handleOAuth401Error2,
|
|
643110
643148
|
getTrustedDeviceToken
|
|
@@ -643342,7 +643380,7 @@ async function runBridgeHeadless(opts, signal) {
|
|
|
643342
643380
|
const api = createBridgeApiClient({
|
|
643343
643381
|
baseUrl,
|
|
643344
643382
|
getAccessToken: opts.getAccessToken,
|
|
643345
|
-
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
643383
|
+
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
643346
643384
|
onDebug: log2,
|
|
643347
643385
|
onAuth401: opts.onAuth401,
|
|
643348
643386
|
getTrustedDeviceToken
|
|
@@ -647783,7 +647821,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
647783
647821
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
647784
647822
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
647785
647823
|
betas: getSdkBetas(),
|
|
647786
|
-
claude_code_version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
647824
|
+
claude_code_version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
647787
647825
|
output_style: outputStyle2,
|
|
647788
647826
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
647789
647827
|
skills: inputs.skills.filter((s3) => s3.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -650077,7 +650115,7 @@ async function initBridgeCore(params) {
|
|
|
650077
650115
|
const rawApi = createBridgeApiClient({
|
|
650078
650116
|
baseUrl,
|
|
650079
650117
|
getAccessToken,
|
|
650080
|
-
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
650118
|
+
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
650081
650119
|
onDebug: logForDebugging,
|
|
650082
650120
|
onAuth401,
|
|
650083
650121
|
getTrustedDeviceToken
|
|
@@ -652759,7 +652797,7 @@ function MessageSelector({
|
|
|
652759
652797
|
...summarizeInputProps,
|
|
652760
652798
|
onChange: setSummarizeFromFeedback
|
|
652761
652799
|
});
|
|
652762
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
652800
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
652763
652801
|
baseOptions.push({
|
|
652764
652802
|
value: "summarize_up_to",
|
|
652765
652803
|
label: "Summarize up to here",
|
|
@@ -660294,7 +660332,7 @@ function bashToolUseOptions({
|
|
|
660294
660332
|
}
|
|
660295
660333
|
}
|
|
660296
660334
|
const editablePrefixShown = options.some((o2) => o2.value === "yes-prefix-edited");
|
|
660297
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
660335
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && !editablePrefixShown && isClassifierPermissionsEnabled() && onClassifierDescriptionChange && !initialClassifierDescriptionEmpty && !descriptionAlreadyExists(classifierDescription ?? "", existingAllowDescriptions) && decisionReason?.type !== "classifier") {
|
|
660298
660336
|
options.push({
|
|
660299
660337
|
type: "input",
|
|
660300
660338
|
label: "Yes, and don’t ask again for",
|
|
@@ -667901,7 +667939,7 @@ var init_CompanionSprite = __esm(() => {
|
|
|
667901
667939
|
|
|
667902
667940
|
// buddy/useBuddyNotification.tsx
|
|
667903
667941
|
function isBuddyTeaserWindow() {
|
|
667904
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
667942
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant")
|
|
667905
667943
|
return true;
|
|
667906
667944
|
const d2 = new Date;
|
|
667907
667945
|
return d2.getFullYear() === 2026 && d2.getMonth() === 3 && d2.getDate() <= 7;
|
|
@@ -668037,7 +668075,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
668037
668075
|
function getSemverPart(version5) {
|
|
668038
668076
|
return `${import_semver14.major(version5, { loose: true })}.${import_semver14.minor(version5, { loose: true })}.${import_semver14.patch(version5, { loose: true })}`;
|
|
668039
668077
|
}
|
|
668040
|
-
function useUpdateNotification(updatedVersion, initialVersion = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
668078
|
+
function useUpdateNotification(updatedVersion, initialVersion = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
668041
668079
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react232.useState(() => getSemverPart(initialVersion));
|
|
668042
668080
|
if (!updatedVersion) {
|
|
668043
668081
|
return null;
|
|
@@ -668077,7 +668115,7 @@ function AutoUpdater({
|
|
|
668077
668115
|
return;
|
|
668078
668116
|
}
|
|
668079
668117
|
if (false) {}
|
|
668080
|
-
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
668118
|
+
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
668081
668119
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
668082
668120
|
let latestVersion = await getLatestVersion(channel2);
|
|
668083
668121
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -668213,7 +668251,7 @@ function AutoUpdater({
|
|
|
668213
668251
|
" ",
|
|
668214
668252
|
/* @__PURE__ */ jsx_runtime413.jsx(ThemedText, {
|
|
668215
668253
|
bold: true,
|
|
668216
|
-
children: hasLocalInstall ? `cd ~/.ccl/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668254
|
+
children: hasLocalInstall ? `cd ~/.ccl/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}` : `npm i -g ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}`
|
|
668217
668255
|
})
|
|
668218
668256
|
]
|
|
668219
668257
|
})
|
|
@@ -668290,12 +668328,12 @@ function NativeAutoUpdater({
|
|
|
668290
668328
|
logEvent("tengu_native_auto_updater_start", {});
|
|
668291
668329
|
try {
|
|
668292
668330
|
const maxVersion = await getMaxVersion();
|
|
668293
|
-
if (maxVersion && gt2({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668331
|
+
if (maxVersion && gt2({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, maxVersion)) {
|
|
668294
668332
|
const msg = await getMaxVersionMessage();
|
|
668295
668333
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
668296
668334
|
}
|
|
668297
668335
|
const result = await installLatest(channel2);
|
|
668298
|
-
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
668336
|
+
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION;
|
|
668299
668337
|
const latencyMs = Date.now() - startTime2;
|
|
668300
668338
|
if (result.lockFailed) {
|
|
668301
668339
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -668391,7 +668429,7 @@ function NativeAutoUpdater({
|
|
|
668391
668429
|
})
|
|
668392
668430
|
]
|
|
668393
668431
|
}),
|
|
668394
|
-
maxVersionIssue && { USER_TYPE: "external", VERSION: "1.3.6-
|
|
668432
|
+
maxVersionIssue && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime414.jsxs(ThemedText, {
|
|
668395
668433
|
color: "warning",
|
|
668396
668434
|
children: [
|
|
668397
668435
|
"⚠ Known issue: ",
|
|
@@ -668445,17 +668483,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
668445
668483
|
const maxVersion = await getMaxVersion();
|
|
668446
668484
|
if (maxVersion && latest && gt2(latest, maxVersion)) {
|
|
668447
668485
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
668448
|
-
if (gte({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668449
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668486
|
+
if (gte({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, maxVersion)) {
|
|
668487
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
668450
668488
|
setUpdateAvailable(false);
|
|
668451
668489
|
return;
|
|
668452
668490
|
}
|
|
668453
668491
|
latest = maxVersion;
|
|
668454
668492
|
}
|
|
668455
|
-
const hasUpdate = latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668493
|
+
const hasUpdate = latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, latest) && !shouldSkipVersion(latest);
|
|
668456
668494
|
setUpdateAvailable(!!hasUpdate);
|
|
668457
668495
|
if (hasUpdate) {
|
|
668458
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668496
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} -> ${latest}`);
|
|
668459
668497
|
}
|
|
668460
668498
|
};
|
|
668461
668499
|
$3[0] = t1;
|
|
@@ -668489,7 +668527,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
668489
668527
|
wrap: "truncate",
|
|
668490
668528
|
children: [
|
|
668491
668529
|
"currentVersion: ",
|
|
668492
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668530
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
668493
668531
|
]
|
|
668494
668532
|
});
|
|
668495
668533
|
$3[3] = verbose;
|
|
@@ -668740,7 +668778,7 @@ var init_useMemoryUsage = __esm(() => {
|
|
|
668740
668778
|
|
|
668741
668779
|
// components/MemoryUsageIndicator.tsx
|
|
668742
668780
|
function MemoryUsageIndicator() {
|
|
668743
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
668781
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant") {
|
|
668744
668782
|
return null;
|
|
668745
668783
|
}
|
|
668746
668784
|
const memoryUsage = useMemoryUsage();
|
|
@@ -678434,7 +678472,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
678434
678472
|
project_dir: getOriginalCwd(),
|
|
678435
678473
|
added_dirs: addedDirs
|
|
678436
678474
|
},
|
|
678437
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
678475
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
678438
678476
|
output_style: {
|
|
678439
678477
|
name: outputStyleName
|
|
678440
678478
|
},
|
|
@@ -679791,7 +679829,7 @@ function ModeIndicator({
|
|
|
679791
679829
|
const expandedView = useAppState((s_3) => s_3.expandedView);
|
|
679792
679830
|
const showSpinnerTree = expandedView === "teammates";
|
|
679793
679831
|
const prStatus = usePrStatus(isLoading, isPrStatusEnabled());
|
|
679794
|
-
const hasTmuxSession = useAppState((s_4) => ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
679832
|
+
const hasTmuxSession = useAppState((s_4) => ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }).USER_TYPE === "ant" && s_4.tungstenActiveSession !== undefined);
|
|
679795
679833
|
const nextTickAt = import_react259.useSyncExternalStore(proactiveModule6?.subscribeToProactiveChanges ?? NO_OP_SUBSCRIBE, proactiveModule6?.getNextTickAt ?? NULL, NULL);
|
|
679796
679834
|
const voiceEnabled = runtimeVoiceFeature() ? useVoiceEnabled() : false;
|
|
679797
679835
|
const voiceState = runtimeVoiceFeature() ? useVoiceState((s_5) => s_5.voiceState) : "idle";
|
|
@@ -679800,7 +679838,7 @@ function ModeIndicator({
|
|
|
679800
679838
|
const selGetState = useSelection().getState;
|
|
679801
679839
|
const hasNextTick = nextTickAt !== null;
|
|
679802
679840
|
const isCoordinator = feature("COORDINATOR_MODE") ? coordinatorModule?.isCoordinatorMode() === true : false;
|
|
679803
|
-
const runningTaskCount = import_react259.useMemo(() => count(Object.values(tasks2), (t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
679841
|
+
const runningTaskCount = import_react259.useMemo(() => count(Object.values(tasks2), (t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && isPanelAgentTask(t3))), [tasks2]);
|
|
679804
679842
|
const tasksV2 = useTasksV2();
|
|
679805
679843
|
const hasTaskItems = tasksV2 !== undefined && tasksV2.length > 0;
|
|
679806
679844
|
const escShortcut = useShortcutDisplay("chat:cancel", "Chat", "esc").toLowerCase();
|
|
@@ -679878,7 +679916,7 @@ function ModeIndicator({
|
|
|
679878
679916
|
]
|
|
679879
679917
|
})
|
|
679880
679918
|
}, "remote")] : [],
|
|
679881
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
679919
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && hasTmuxSession ? [/* @__PURE__ */ jsx_runtime440.jsx(TungstenPill, {
|
|
679882
679920
|
selected: tmuxSelected
|
|
679883
679921
|
}, "tmux")] : [],
|
|
679884
679922
|
...isAgentSwarmsEnabled() && hasTeams ? [/* @__PURE__ */ jsx_runtime440.jsx(TeamStatus, {
|
|
@@ -679929,7 +679967,7 @@ function ModeIndicator({
|
|
|
679929
679967
|
]
|
|
679930
679968
|
});
|
|
679931
679969
|
}
|
|
679932
|
-
const hasCoordinatorTasks = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
679970
|
+
const hasCoordinatorTasks = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && getVisibleAgentTasks(tasks2).length > 0;
|
|
679933
679971
|
const tasksPart = hasBackgroundTasks && !hasTeammatePills && !shouldHideTasksFooter(tasks2, showSpinnerTree) ? /* @__PURE__ */ jsx_runtime440.jsx(BackgroundTaskStatus, {
|
|
679934
679972
|
tasksSelected,
|
|
679935
679973
|
isViewingTeammate,
|
|
@@ -680237,7 +680275,7 @@ function PromptInputFooter({
|
|
|
680237
680275
|
isInputWrapped,
|
|
680238
680276
|
isNarrow
|
|
680239
680277
|
}),
|
|
680240
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
680278
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && isUndercover() && /* @__PURE__ */ jsx_runtime441.jsx(ThemedText, {
|
|
680241
680279
|
dimColor: true,
|
|
680242
680280
|
children: "undercover"
|
|
680243
680281
|
}),
|
|
@@ -680248,7 +680286,7 @@ function PromptInputFooter({
|
|
|
680248
680286
|
})
|
|
680249
680287
|
]
|
|
680250
680288
|
}),
|
|
680251
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
680289
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime441.jsx(CoordinatorTaskPanel, {})
|
|
680252
680290
|
]
|
|
680253
680291
|
});
|
|
680254
680292
|
}
|
|
@@ -681009,8 +681047,8 @@ function PromptInput({
|
|
|
681009
681047
|
const replBridgeExplicit = useAppState((s3) => s3.replBridgeExplicit);
|
|
681010
681048
|
const replBridgeReconnecting = useAppState((s3) => s3.replBridgeReconnecting);
|
|
681011
681049
|
const bridgeFooterVisible = replBridgeConnected && (replBridgeExplicit || replBridgeReconnecting);
|
|
681012
|
-
const hasTungstenSession = useAppState((s3) => ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
681013
|
-
const tmuxFooterVisible = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
681050
|
+
const hasTungstenSession = useAppState((s3) => ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }).USER_TYPE === "ant" && s3.tungstenActiveSession !== undefined);
|
|
681051
|
+
const tmuxFooterVisible = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && hasTungstenSession;
|
|
681014
681052
|
const bagelFooterVisible = useAppState((s3) => false);
|
|
681015
681053
|
const teamContext = useAppState((s3) => s3.teamContext);
|
|
681016
681054
|
const queuedCommands = useCommandQueue();
|
|
@@ -681076,7 +681114,7 @@ function PromptInput({
|
|
|
681076
681114
|
};
|
|
681077
681115
|
}), [setAppState]);
|
|
681078
681116
|
const coordinatorTaskCount = useCoordinatorTaskCount();
|
|
681079
|
-
const hasBgTaskPill = import_react265.useMemo(() => Object.values(tasks2).some((t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
681117
|
+
const hasBgTaskPill = import_react265.useMemo(() => Object.values(tasks2).some((t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && isPanelAgentTask(t3))), [tasks2]);
|
|
681080
681118
|
const minCoordinatorIndex = hasBgTaskPill ? -1 : 0;
|
|
681081
681119
|
import_react265.useEffect(() => {
|
|
681082
681120
|
if (coordinatorTaskIndex >= coordinatorTaskCount) {
|
|
@@ -681129,7 +681167,7 @@ function PromptInput({
|
|
|
681129
681167
|
}];
|
|
681130
681168
|
}, [teamContext]);
|
|
681131
681169
|
const runningTaskCount = import_react265.useMemo(() => count(Object.values(tasks2), (t3) => t3.status === "running"), [tasks2]);
|
|
681132
|
-
const tasksFooterVisible = (runningTaskCount > 0 || { USER_TYPE: "external", VERSION: "1.3.6-
|
|
681170
|
+
const tasksFooterVisible = (runningTaskCount > 0 || { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && coordinatorTaskCount > 0) && !shouldHideTasksFooter(tasks2, showSpinnerTree);
|
|
681133
681171
|
const teamsFooterVisible = cachedTeams.length > 0;
|
|
681134
681172
|
const footerItems = import_react265.useMemo(() => [tasksFooterVisible && "tasks", tmuxFooterVisible && "tmux", bagelFooterVisible && "bagel", teamsFooterVisible && "teams", bridgeFooterVisible && "bridge", companionFooterVisible && "companion"].filter(Boolean), [tasksFooterVisible, tmuxFooterVisible, bagelFooterVisible, teamsFooterVisible, bridgeFooterVisible, companionFooterVisible]);
|
|
681135
681173
|
const rawFooterSelection = useAppState((s3) => s3.footerSelection);
|
|
@@ -682135,14 +682173,14 @@ function PromptInput({
|
|
|
682135
682173
|
});
|
|
682136
682174
|
useKeybindings({
|
|
682137
682175
|
"footer:up": () => {
|
|
682138
|
-
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.6-
|
|
682176
|
+
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && coordinatorTaskCount > 0 && coordinatorTaskIndex > minCoordinatorIndex) {
|
|
682139
682177
|
setCoordinatorTaskIndex((prev) => prev - 1);
|
|
682140
682178
|
return;
|
|
682141
682179
|
}
|
|
682142
682180
|
navigateFooter(-1, true);
|
|
682143
682181
|
},
|
|
682144
682182
|
"footer:down": () => {
|
|
682145
|
-
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.6-
|
|
682183
|
+
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && coordinatorTaskCount > 0) {
|
|
682146
682184
|
if (coordinatorTaskIndex < coordinatorTaskCount - 1) {
|
|
682147
682185
|
setCoordinatorTaskIndex((prev) => prev + 1);
|
|
682148
682186
|
}
|
|
@@ -682204,7 +682242,7 @@ function PromptInput({
|
|
|
682204
682242
|
}
|
|
682205
682243
|
break;
|
|
682206
682244
|
case "tmux":
|
|
682207
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
682245
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
682208
682246
|
setAppState((prev) => prev.tungstenPanelAutoHidden ? {
|
|
682209
682247
|
...prev,
|
|
682210
682248
|
tungstenPanelAutoHidden: false
|
|
@@ -700245,7 +700283,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
700245
700283
|
} catch {}
|
|
700246
700284
|
const data = {
|
|
700247
700285
|
trigger,
|
|
700248
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
700286
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
700249
700287
|
platform: process.platform,
|
|
700250
700288
|
transcript,
|
|
700251
700289
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -700681,7 +700719,7 @@ function useMemorySurvey(messages, isLoading, hasActivePrompt = false, {
|
|
|
700681
700719
|
});
|
|
700682
700720
|
}, []);
|
|
700683
700721
|
const shouldShowTranscriptPrompt = import_react299.useCallback((selected_0) => {
|
|
700684
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
700722
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant") {
|
|
700685
700723
|
return false;
|
|
700686
700724
|
}
|
|
700687
700725
|
if (selected_0 !== "bad" && selected_0 !== "good") {
|
|
@@ -706919,7 +706957,7 @@ function AutoRunIssueNotification(t0) {
|
|
|
706919
706957
|
return t6;
|
|
706920
706958
|
}
|
|
706921
706959
|
function shouldAutoRunIssue(reason) {
|
|
706922
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
706960
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant") {
|
|
706923
706961
|
return false;
|
|
706924
706962
|
}
|
|
706925
706963
|
switch (reason) {
|
|
@@ -706932,7 +706970,7 @@ function shouldAutoRunIssue(reason) {
|
|
|
706932
706970
|
}
|
|
706933
706971
|
}
|
|
706934
706972
|
function getAutoRunCommand(reason) {
|
|
706935
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
706973
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && reason === "feedback_survey_good") {
|
|
706936
706974
|
return "/good-claude";
|
|
706937
706975
|
}
|
|
706938
706976
|
return "/issue";
|
|
@@ -707073,7 +707111,7 @@ var init_useIssueFlagBanner = __esm(() => {
|
|
|
707073
707111
|
|
|
707074
707112
|
// components/DevBar.tsx
|
|
707075
707113
|
function shouldShowDevBar() {
|
|
707076
|
-
return { USER_TYPE: "external", VERSION: "1.3.6-
|
|
707114
|
+
return { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant";
|
|
707077
707115
|
}
|
|
707078
707116
|
function DevBar() {
|
|
707079
707117
|
const $3 = import_compiler_runtime368.c(5);
|
|
@@ -708938,7 +708976,7 @@ function REPL({
|
|
|
708938
708976
|
}) {
|
|
708939
708977
|
const isRemoteSession = !!remoteSessionConfig;
|
|
708940
708978
|
const titleDisabled = import_react324.useMemo(() => isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE), []);
|
|
708941
|
-
const moreRightEnabled = import_react324.useMemo(() => ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
708979
|
+
const moreRightEnabled = import_react324.useMemo(() => ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }).USER_TYPE === "ant" && isEnvTruthy(process.env.CLAUDE_MORERIGHT), []);
|
|
708942
708980
|
const disableVirtualScroll = import_react324.useMemo(() => isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL), []);
|
|
708943
708981
|
const disableMessageActions = runtimeFeature11("MESSAGE_ACTIONS") ? import_react324.useMemo(() => isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS), []) : false;
|
|
708944
708982
|
import_react324.useEffect(() => {
|
|
@@ -709026,7 +709064,7 @@ function REPL({
|
|
|
709026
709064
|
const [ideInstallationStatus, setIDEInstallationStatus] = import_react324.useState(null);
|
|
709027
709065
|
const [showIdeOnboarding, setShowIdeOnboarding] = import_react324.useState(false);
|
|
709028
709066
|
const [showModelSwitchCallout, setShowModelSwitchCallout] = import_react324.useState(() => {
|
|
709029
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
709067
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
709030
709068
|
return shouldShowAntModelSwitch();
|
|
709031
709069
|
}
|
|
709032
709070
|
return false;
|
|
@@ -709188,7 +709226,7 @@ function REPL({
|
|
|
709188
709226
|
}, []);
|
|
709189
709227
|
const [showUndercoverCallout, setShowUndercoverCallout] = import_react324.useState(false);
|
|
709190
709228
|
import_react324.useEffect(() => {
|
|
709191
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
709229
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
709192
709230
|
(async () => {
|
|
709193
709231
|
const {
|
|
709194
709232
|
isInternalModelRepo: isInternalModelRepo2
|
|
@@ -709810,9 +709848,9 @@ function REPL({
|
|
|
709810
709848
|
return "ultraplan-launch";
|
|
709811
709849
|
if (allowDialogsWithAnimation && showIdeOnboarding)
|
|
709812
709850
|
return "ide-onboarding";
|
|
709813
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
709851
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && allowDialogsWithAnimation && showModelSwitchCallout)
|
|
709814
709852
|
return "model-switch";
|
|
709815
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
709853
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && allowDialogsWithAnimation && showUndercoverCallout)
|
|
709816
709854
|
return "undercover-callout";
|
|
709817
709855
|
if (allowDialogsWithAnimation && showEffortCallout)
|
|
709818
709856
|
return "effort-callout";
|
|
@@ -710153,7 +710191,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
710153
710191
|
dynamicSkillDirTriggers: new Set,
|
|
710154
710192
|
discoveredSkillNames: discoveredSkillNamesRef.current,
|
|
710155
710193
|
setResponseLength,
|
|
710156
|
-
pushApiMetricsEntry: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
710194
|
+
pushApiMetricsEntry: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? (ttftMs) => {
|
|
710157
710195
|
const now = Date.now();
|
|
710158
710196
|
const baseline = responseLengthRef.current;
|
|
710159
710197
|
apiMetricsRef2.current.push({
|
|
@@ -710429,7 +710467,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
710429
710467
|
}));
|
|
710430
710468
|
}
|
|
710431
710469
|
queryCheckpoint("query_end");
|
|
710432
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
710470
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && apiMetricsRef2.current.length > 0) {
|
|
710433
710471
|
const entries = apiMetricsRef2.current;
|
|
710434
710472
|
const ttfts = entries.map((e3) => e3.ttftMs);
|
|
710435
710473
|
const otpsValues = entries.map((e3) => {
|
|
@@ -710515,7 +710553,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
710515
710553
|
resetLoadingState();
|
|
710516
710554
|
await mrOnTurnComplete(messagesRef.current, abortController2.signal.aborted);
|
|
710517
710555
|
sendBridgeResultRef.current();
|
|
710518
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
710556
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && !abortController2.signal.aborted) {
|
|
710519
710557
|
setAppState((prev) => {
|
|
710520
710558
|
if (prev.tungstenActiveSession === undefined)
|
|
710521
710559
|
return prev;
|
|
@@ -710596,7 +710634,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
710596
710634
|
setPlanSlug(getSessionId(), oldPlanSlug);
|
|
710597
710635
|
}
|
|
710598
710636
|
}
|
|
710599
|
-
const shouldStorePlanForVerification = initialMsg.message.planContent && { USER_TYPE: "external", VERSION: "1.3.6-
|
|
710637
|
+
const shouldStorePlanForVerification = initialMsg.message.planContent && { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && isEnvTruthy(undefined);
|
|
710600
710638
|
setAppState((prev) => {
|
|
710601
710639
|
let updatedToolPermissionContext = initialMsg.mode ? applyPermissionUpdates(prev.toolPermissionContext, buildPermissionUpdates(initialMsg.mode, initialMsg.allowedPrompts)) : prev.toolPermissionContext;
|
|
710602
710640
|
if (feature("TRANSCRIPT_CLASSIFIER") && initialMsg.mode === "auto") {
|
|
@@ -710995,7 +711033,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
710995
711033
|
setAutoRunIssueReason(null);
|
|
710996
711034
|
}, []);
|
|
710997
711035
|
const handleSurveyRequestFeedback = import_react324.useCallback(() => {
|
|
710998
|
-
const command9 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
711036
|
+
const command9 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? "/issue" : "/feedback";
|
|
710999
711037
|
onSubmit(command9, {
|
|
711000
711038
|
setCursorOffset: () => {},
|
|
711001
711039
|
clearBuffer: () => {},
|
|
@@ -711364,7 +711402,7 @@ ${fileList}`);
|
|
|
711364
711402
|
assistantMode: scheduledTasksAssistantMode,
|
|
711365
711403
|
setMessages
|
|
711366
711404
|
});
|
|
711367
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
711405
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
711368
711406
|
useTaskListWatcher({
|
|
711369
711407
|
taskListId,
|
|
711370
711408
|
isLoading,
|
|
@@ -711442,7 +711480,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
711442
711480
|
return total === 1 ? `${customMessage}…` : `${customMessage}… ${completedCount}/${total}`;
|
|
711443
711481
|
}
|
|
711444
711482
|
const hookType = currentHooks[0]?.data.hookEvent === "SubagentStop" ? "subagent stop" : "stop";
|
|
711445
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
711483
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
711446
711484
|
const cmd = currentHooks[completedCount]?.data.command;
|
|
711447
711485
|
const label = cmd ? ` '${truncateToWidth(cmd, 40)}'` : "";
|
|
711448
711486
|
return total === 1 ? `running ${hookType} hook${label}` : `running ${hookType} hook${label}… ${completedCount}/${total}`;
|
|
@@ -711824,7 +711862,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
711824
711862
|
width: "100%",
|
|
711825
711863
|
children: toolJSX.jsx
|
|
711826
711864
|
}),
|
|
711827
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
711865
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime475.jsx(TungstenLiveMonitor, {}),
|
|
711828
711866
|
feature("WEB_BROWSER_TOOL") ? WebBrowserPanelModule && /* @__PURE__ */ jsx_runtime475.jsx(WebBrowserPanelModule.WebBrowserPanel, {}) : null,
|
|
711829
711867
|
/* @__PURE__ */ jsx_runtime475.jsx(ThemedBox_default, {
|
|
711830
711868
|
flexGrow: 1
|
|
@@ -712083,7 +712121,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
712083
712121
|
onDone: () => setShowIdeOnboarding(false),
|
|
712084
712122
|
installationStatus: ideInstallationStatus
|
|
712085
712123
|
}),
|
|
712086
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
712124
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && focusedInputDialog === "model-switch" && AntModelSwitchCallout26 && /* @__PURE__ */ jsx_runtime475.jsx(AntModelSwitchCallout26, {
|
|
712087
712125
|
onDone: (selection, modelAlias) => {
|
|
712088
712126
|
setShowModelSwitchCallout(false);
|
|
712089
712127
|
if (selection === "switch" && modelAlias) {
|
|
@@ -712095,7 +712133,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
712095
712133
|
}
|
|
712096
712134
|
}
|
|
712097
712135
|
}),
|
|
712098
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
712136
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && focusedInputDialog === "undercover-callout" && UndercoverAutoCallout26 && /* @__PURE__ */ jsx_runtime475.jsx(UndercoverAutoCallout26, {
|
|
712099
712137
|
onDone: () => setShowUndercoverCallout(false)
|
|
712100
712138
|
}),
|
|
712101
712139
|
focusedInputDialog === "effort-callout" && /* @__PURE__ */ jsx_runtime475.jsx(EffortCallout, {
|
|
@@ -712229,7 +712267,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
712229
712267
|
inputValue,
|
|
712230
712268
|
setInputValue
|
|
712231
712269
|
}),
|
|
712232
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
712270
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && skillImprovementSurvey.suggestion && /* @__PURE__ */ jsx_runtime475.jsx(SkillImprovementSurvey, {
|
|
712233
712271
|
isOpen: skillImprovementSurvey.isOpen,
|
|
712234
712272
|
skillName: skillImprovementSurvey.suggestion.skillName,
|
|
712235
712273
|
updates: skillImprovementSurvey.suggestion.updates,
|
|
@@ -712364,7 +712402,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
712364
712402
|
setMessageSelectorPreselect(undefined);
|
|
712365
712403
|
}
|
|
712366
712404
|
}),
|
|
712367
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
712405
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime475.jsx(DevBar, {})
|
|
712368
712406
|
]
|
|
712369
712407
|
}),
|
|
712370
712408
|
feature("BUDDY") && !(companionNarrow && isFullscreenEnvEnabled()) && companionVisible ? /* @__PURE__ */ jsx_runtime475.jsx(CompanionSprite, {}) : null
|
|
@@ -712598,17 +712636,17 @@ var init_REPL = __esm(() => {
|
|
|
712598
712636
|
resetAnchor: () => {}
|
|
712599
712637
|
});
|
|
712600
712638
|
VoiceKeybindingHandler27 = runtimeVoiceFeature() ? (init_useVoiceIntegration(), __toCommonJS(exports_useVoiceIntegration)).VoiceKeybindingHandler : () => null;
|
|
712601
|
-
useFrustrationDetection27 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
712639
|
+
useFrustrationDetection27 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? __toCommonJS(exports_useFrustrationDetection).useFrustrationDetection : () => ({
|
|
712602
712640
|
state: "closed",
|
|
712603
712641
|
handleTranscriptSelect: () => {}
|
|
712604
712642
|
});
|
|
712605
|
-
useAntOrgWarningNotification27 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
712643
|
+
useAntOrgWarningNotification27 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? __toCommonJS(exports_useAntOrgWarningNotification).useAntOrgWarningNotification : () => {};
|
|
712606
712644
|
getCoordinatorUserContext27 = feature("COORDINATOR_MODE") ? (init_coordinatorMode(), __toCommonJS(exports_coordinatorMode)).getCoordinatorUserContext : () => ({});
|
|
712607
712645
|
proactiveModule8 = feature("PROACTIVE") || feature("KAIROS") ? __toCommonJS(exports_proactive) : null;
|
|
712608
712646
|
useProactive26 = feature("PROACTIVE") || feature("KAIROS") ? (init_useProactive(), __toCommonJS(exports_useProactive)).useProactive : null;
|
|
712609
|
-
AntModelSwitchCallout26 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
712610
|
-
shouldShowAntModelSwitch = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
712611
|
-
UndercoverAutoCallout26 = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
712647
|
+
AntModelSwitchCallout26 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? (init_AntModelSwitchCallout(), __toCommonJS(exports_AntModelSwitchCallout)).AntModelSwitchCallout : null;
|
|
712648
|
+
shouldShowAntModelSwitch = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? (init_AntModelSwitchCallout(), __toCommonJS(exports_AntModelSwitchCallout)).shouldShowModelSwitchCallout : () => false;
|
|
712649
|
+
UndercoverAutoCallout26 = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? (init_UndercoverAutoCallout(), __toCommonJS(exports_UndercoverAutoCallout)).UndercoverAutoCallout : null;
|
|
712612
712650
|
WebBrowserPanelModule = feature("WEB_BROWSER_TOOL") ? __toCommonJS(exports_WebBrowserPanel) : null;
|
|
712613
712651
|
EMPTY_MCP_CLIENTS2 = [];
|
|
712614
712652
|
HISTORY_STUB = {
|
|
@@ -715610,7 +715648,7 @@ function WelcomeV2() {
|
|
|
715610
715648
|
dimColor: true,
|
|
715611
715649
|
children: [
|
|
715612
715650
|
"v",
|
|
715613
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
715651
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
715614
715652
|
" "
|
|
715615
715653
|
]
|
|
715616
715654
|
})
|
|
@@ -715809,7 +715847,7 @@ function WelcomeV2() {
|
|
|
715809
715847
|
dimColor: true,
|
|
715810
715848
|
children: [
|
|
715811
715849
|
"v",
|
|
715812
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
715850
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
715813
715851
|
" "
|
|
715814
715852
|
]
|
|
715815
715853
|
})
|
|
@@ -716035,7 +716073,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
716035
716073
|
dimColor: true,
|
|
716036
716074
|
children: [
|
|
716037
716075
|
"v",
|
|
716038
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
716076
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
716039
716077
|
" "
|
|
716040
716078
|
]
|
|
716041
716079
|
});
|
|
@@ -716253,7 +716291,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
716253
716291
|
dimColor: true,
|
|
716254
716292
|
children: [
|
|
716255
716293
|
"v",
|
|
716256
|
-
{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
716294
|
+
{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
716257
716295
|
" "
|
|
716258
716296
|
]
|
|
716259
716297
|
});
|
|
@@ -717920,7 +717958,7 @@ function completeOnboarding() {
|
|
|
717920
717958
|
saveGlobalConfig((current) => ({
|
|
717921
717959
|
...current,
|
|
717922
717960
|
hasCompletedOnboarding: true,
|
|
717923
|
-
lastOnboardingVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
717961
|
+
lastOnboardingVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
717924
717962
|
}));
|
|
717925
717963
|
}
|
|
717926
717964
|
function showDialog(root, renderer) {
|
|
@@ -724164,6 +724202,77 @@ var init_setup2 = __esm(() => {
|
|
|
724164
724202
|
init_gates();
|
|
724165
724203
|
});
|
|
724166
724204
|
|
|
724205
|
+
// services/SessionMemory/sessionMemoryExtractionOutcome.ts
|
|
724206
|
+
function validateSessionMemoryExtraction(messages, memoryPath) {
|
|
724207
|
+
const output = messages;
|
|
724208
|
+
const removed = new Set;
|
|
724209
|
+
for (const item of output) {
|
|
724210
|
+
if (item.type === "tombstone" && item.message.uuid) {
|
|
724211
|
+
removed.add(item.message.uuid);
|
|
724212
|
+
}
|
|
724213
|
+
}
|
|
724214
|
+
const uses = new Map;
|
|
724215
|
+
let pending2 = 0;
|
|
724216
|
+
let successfulEdits = 0;
|
|
724217
|
+
let finalAssistant;
|
|
724218
|
+
for (const item of output) {
|
|
724219
|
+
if (item.type === "tombstone")
|
|
724220
|
+
continue;
|
|
724221
|
+
if (item.type === "assistant") {
|
|
724222
|
+
if (item.uuid && removed.has(item.uuid))
|
|
724223
|
+
continue;
|
|
724224
|
+
if (item.isApiErrorMessage || item.transportIntegrity === "incomplete")
|
|
724225
|
+
return false;
|
|
724226
|
+
finalAssistant = item;
|
|
724227
|
+
for (const block of item.message.content) {
|
|
724228
|
+
if (block.type !== "tool_use")
|
|
724229
|
+
continue;
|
|
724230
|
+
if (block.name !== FILE_EDIT_TOOL_NAME || !block.id || uses.has(block.id) || typeof block.input !== "object" || block.input === null || !("file_path" in block.input) || block.input.file_path !== memoryPath)
|
|
724231
|
+
return false;
|
|
724232
|
+
uses.set(block.id, { assistantUuid: item.uuid, resolved: false });
|
|
724233
|
+
pending2++;
|
|
724234
|
+
}
|
|
724235
|
+
continue;
|
|
724236
|
+
}
|
|
724237
|
+
if (item.type === "user" || item.type === "tool_result") {
|
|
724238
|
+
finalAssistant = undefined;
|
|
724239
|
+
const content = item.message.content;
|
|
724240
|
+
if (!Array.isArray(content) || content.length === 0)
|
|
724241
|
+
return false;
|
|
724242
|
+
if (item.type === "user" && item.nonFatalToolError)
|
|
724243
|
+
return false;
|
|
724244
|
+
for (const block of content) {
|
|
724245
|
+
if (block.type !== "tool_result" || block.is_error)
|
|
724246
|
+
return false;
|
|
724247
|
+
const use18 = uses.get(block.tool_use_id);
|
|
724248
|
+
if (!use18 || use18.resolved)
|
|
724249
|
+
return false;
|
|
724250
|
+
if (item.type === "user" && item.sourceToolAssistantUUID !== undefined && item.sourceToolAssistantUUID !== use18.assistantUuid)
|
|
724251
|
+
return false;
|
|
724252
|
+
use18.resolved = true;
|
|
724253
|
+
pending2--;
|
|
724254
|
+
successfulEdits++;
|
|
724255
|
+
}
|
|
724256
|
+
continue;
|
|
724257
|
+
}
|
|
724258
|
+
if (item.type === "system") {
|
|
724259
|
+
if ("level" in item && item.level === "error" || item.subtype === "api_error" || "preventContinuation" in item && item.preventContinuation || "preventedContinuation" in item && item.preventedContinuation)
|
|
724260
|
+
return false;
|
|
724261
|
+
continue;
|
|
724262
|
+
}
|
|
724263
|
+
if (item.type === "attachment") {
|
|
724264
|
+
if (item.attachment.type === "hook_blocking_error" || item.attachment.type === "hook_non_blocking_error")
|
|
724265
|
+
return false;
|
|
724266
|
+
continue;
|
|
724267
|
+
}
|
|
724268
|
+
if (item.type === "progress" || item.type === "tool_use_summary")
|
|
724269
|
+
continue;
|
|
724270
|
+
return false;
|
|
724271
|
+
}
|
|
724272
|
+
return successfulEdits > 0 && pending2 === 0 && finalAssistant?.message.stop_reason === "end_turn";
|
|
724273
|
+
}
|
|
724274
|
+
var init_sessionMemoryExtractionOutcome = () => {};
|
|
724275
|
+
|
|
724167
724276
|
// services/SessionMemory/sessionMemory.ts
|
|
724168
724277
|
import { writeFile as writeFile57 } from "fs/promises";
|
|
724169
724278
|
import memoize67 from "lodash-es/memoize.js";
|
|
@@ -724206,10 +724315,6 @@ function shouldExtractMemory(messages) {
|
|
|
724206
724315
|
const hasToolCallsInLastTurn = hasToolCallsInLastAssistantTurn(messages);
|
|
724207
724316
|
const shouldExtract = hasMetTokenThreshold && hasMetToolCallThreshold || hasMetTokenThreshold && !hasToolCallsInLastTurn;
|
|
724208
724317
|
if (shouldExtract) {
|
|
724209
|
-
const lastMessage = messages[messages.length - 1];
|
|
724210
|
-
if (lastMessage?.uuid) {
|
|
724211
|
-
lastMemoryMessageUuid = lastMessage.uuid;
|
|
724212
|
-
}
|
|
724213
724318
|
return true;
|
|
724214
724319
|
}
|
|
724215
724320
|
return false;
|
|
@@ -724248,6 +724353,31 @@ async function setupSessionMemoryFile(toolUseContext) {
|
|
|
724248
724353
|
});
|
|
724249
724354
|
return { memoryPath, currentMemory };
|
|
724250
724355
|
}
|
|
724356
|
+
function captureExtractionRequest(messages, toolUseContext, hookContext) {
|
|
724357
|
+
const snapshot2 = [...messages];
|
|
724358
|
+
return {
|
|
724359
|
+
messages: snapshot2,
|
|
724360
|
+
tokenCount: tokenCountWithEstimation(snapshot2),
|
|
724361
|
+
messageId: hasToolCallsInLastAssistantTurn(snapshot2) ? undefined : snapshot2[snapshot2.length - 1]?.uuid,
|
|
724362
|
+
memoryPath: getSessionMemoryPath(),
|
|
724363
|
+
resetVersion: getSessionMemoryResetVersion(),
|
|
724364
|
+
toolUseContext,
|
|
724365
|
+
hookContext: hookContext ? { ...hookContext, messages: snapshot2 } : undefined
|
|
724366
|
+
};
|
|
724367
|
+
}
|
|
724368
|
+
async function extractSessionMemory(context3) {
|
|
724369
|
+
if (context3.querySource !== "repl_main_thread")
|
|
724370
|
+
return;
|
|
724371
|
+
if (!isSessionMemoryGateEnabled()) {
|
|
724372
|
+
if (process.env.USER_TYPE === "ant" && !hasLoggedGateFailure) {
|
|
724373
|
+
hasLoggedGateFailure = true;
|
|
724374
|
+
logEvent("tengu_session_memory_gate_disabled", {});
|
|
724375
|
+
}
|
|
724376
|
+
return;
|
|
724377
|
+
}
|
|
724378
|
+
initSessionMemoryConfigIfNeeded();
|
|
724379
|
+
await runSessionMemoryExtraction(captureExtractionRequest(context3.messages, context3.toolUseContext, context3));
|
|
724380
|
+
}
|
|
724251
724381
|
function initSessionMemory() {
|
|
724252
724382
|
if (getIsRemoteMode())
|
|
724253
724383
|
return;
|
|
@@ -724280,15 +724410,7 @@ function createMemoryFileCanUseTool(memoryPath) {
|
|
|
724280
724410
|
};
|
|
724281
724411
|
};
|
|
724282
724412
|
}
|
|
724283
|
-
|
|
724284
|
-
if (!hasToolCallsInLastAssistantTurn(messages)) {
|
|
724285
|
-
const lastMessage = messages[messages.length - 1];
|
|
724286
|
-
if (lastMessage?.uuid) {
|
|
724287
|
-
setLastSummarizedMessageId(lastMessage.uuid);
|
|
724288
|
-
}
|
|
724289
|
-
}
|
|
724290
|
-
}
|
|
724291
|
-
var lastMemoryMessageUuid, initSessionMemoryConfigIfNeeded, hasLoggedGateFailure = false, extractSessionMemory;
|
|
724413
|
+
var lastMemoryMessageUuid, initSessionMemoryConfigIfNeeded, hasLoggedGateFailure = false, runSessionMemoryExtraction;
|
|
724292
724414
|
var init_sessionMemory = __esm(() => {
|
|
724293
724415
|
init_state();
|
|
724294
724416
|
init_prompts4();
|
|
@@ -724304,6 +724426,7 @@ var init_sessionMemory = __esm(() => {
|
|
|
724304
724426
|
init_autoCompact();
|
|
724305
724427
|
init_prompts2();
|
|
724306
724428
|
init_sessionMemoryUtils();
|
|
724429
|
+
init_sessionMemoryExtractionOutcome();
|
|
724307
724430
|
init_errors();
|
|
724308
724431
|
init_growthbook();
|
|
724309
724432
|
initSessionMemoryConfigIfNeeded = memoize67(() => {
|
|
@@ -724315,56 +724438,107 @@ var init_sessionMemory = __esm(() => {
|
|
|
724315
724438
|
};
|
|
724316
724439
|
setSessionMemoryConfig(config2);
|
|
724317
724440
|
});
|
|
724318
|
-
|
|
724319
|
-
const { messages, toolUseContext,
|
|
724320
|
-
|
|
724321
|
-
|
|
724441
|
+
runSessionMemoryExtraction = sequential(async (request) => {
|
|
724442
|
+
const { messages, toolUseContext, hookContext } = request;
|
|
724443
|
+
const parentSignal = toolUseContext.abortController.signal;
|
|
724444
|
+
if (parentSignal.aborted || request.resetVersion !== getSessionMemoryResetVersion() || request.memoryPath !== getSessionMemoryPath()) {
|
|
724445
|
+
return { success: false, error: "Session memory extraction canceled or superseded" };
|
|
724322
724446
|
}
|
|
724323
|
-
if (!
|
|
724324
|
-
|
|
724325
|
-
hasLoggedGateFailure = true;
|
|
724326
|
-
logEvent("tengu_session_memory_gate_disabled", {});
|
|
724327
|
-
}
|
|
724328
|
-
return;
|
|
724329
|
-
}
|
|
724330
|
-
initSessionMemoryConfigIfNeeded();
|
|
724331
|
-
if (!shouldExtractMemory(messages)) {
|
|
724332
|
-
return;
|
|
724447
|
+
if (hookContext && !shouldExtractMemory(messages)) {
|
|
724448
|
+
return { success: false, error: "Session memory extraction not needed" };
|
|
724333
724449
|
}
|
|
724450
|
+
const generation = beginSessionMemoryExtraction();
|
|
724334
724451
|
markExtractionStarted();
|
|
724335
724452
|
const sessionMemoryAbortController = new AbortController;
|
|
724453
|
+
const onParentAbort = () => sessionMemoryAbortController.abort(parentSignal.reason);
|
|
724454
|
+
parentSignal.addEventListener("abort", onParentAbort, { once: true });
|
|
724336
724455
|
const sessionMemoryTimeoutId = setTimeout(() => sessionMemoryAbortController.abort("session_memory timeout 120s"), 120000);
|
|
724456
|
+
const rejectOutcome = (reason) => {
|
|
724457
|
+
logEvent("tengu_session_memory_extraction_rejected", {
|
|
724458
|
+
manual: !hookContext,
|
|
724459
|
+
aborted: reason === "aborted",
|
|
724460
|
+
invalid_outcome: reason === "invalid_outcome",
|
|
724461
|
+
unchanged_notes: reason === "unchanged_notes",
|
|
724462
|
+
superseded: reason === "superseded"
|
|
724463
|
+
});
|
|
724464
|
+
return { success: false, error: "Session memory extraction did not establish verified coverage" };
|
|
724465
|
+
};
|
|
724337
724466
|
try {
|
|
724338
|
-
const setupContext = createSubagentContext(toolUseContext
|
|
724467
|
+
const setupContext = createSubagentContext(toolUseContext, {
|
|
724468
|
+
abortController: sessionMemoryAbortController
|
|
724469
|
+
});
|
|
724339
724470
|
const { memoryPath, currentMemory } = await setupSessionMemoryFile(setupContext);
|
|
724340
724471
|
const userPrompt = await buildSessionMemoryUpdatePrompt(currentMemory, memoryPath);
|
|
724341
|
-
|
|
724472
|
+
let cacheSafeParams;
|
|
724473
|
+
if (hookContext) {
|
|
724474
|
+
cacheSafeParams = createCacheSafeParams({ ...hookContext, toolUseContext: setupContext });
|
|
724475
|
+
} else {
|
|
724476
|
+
const { tools, mainLoopModel } = toolUseContext.options;
|
|
724477
|
+
const [rawSystemPrompt, userContext, systemContext] = await Promise.all([
|
|
724478
|
+
getSystemPrompt(tools, mainLoopModel),
|
|
724479
|
+
getUserContext(),
|
|
724480
|
+
getSystemContext()
|
|
724481
|
+
]);
|
|
724482
|
+
cacheSafeParams = {
|
|
724483
|
+
systemPrompt: asSystemPrompt(rawSystemPrompt),
|
|
724484
|
+
userContext,
|
|
724485
|
+
systemContext,
|
|
724486
|
+
toolUseContext: setupContext,
|
|
724487
|
+
forkContextMessages: messages
|
|
724488
|
+
};
|
|
724489
|
+
}
|
|
724490
|
+
if (sessionMemoryAbortController.signal.aborted)
|
|
724491
|
+
return rejectOutcome("aborted");
|
|
724492
|
+
if (memoryPath !== request.memoryPath || request.resetVersion !== getSessionMemoryResetVersion()) {
|
|
724493
|
+
return rejectOutcome("superseded");
|
|
724494
|
+
}
|
|
724495
|
+
const result = await runForkedAgent({
|
|
724342
724496
|
promptMessages: [createUserMessage({ content: userPrompt })],
|
|
724343
|
-
cacheSafeParams
|
|
724497
|
+
cacheSafeParams,
|
|
724344
724498
|
canUseTool: createMemoryFileCanUseTool(memoryPath),
|
|
724345
724499
|
querySource: "session_memory",
|
|
724346
|
-
forkLabel: "session_memory",
|
|
724500
|
+
forkLabel: hookContext ? "session_memory" : "session_memory_manual",
|
|
724347
724501
|
overrides: {
|
|
724348
724502
|
readFileState: setupContext.readFileState,
|
|
724349
724503
|
abortController: sessionMemoryAbortController
|
|
724350
724504
|
}
|
|
724351
724505
|
});
|
|
724352
|
-
|
|
724353
|
-
|
|
724354
|
-
|
|
724355
|
-
|
|
724356
|
-
|
|
724357
|
-
|
|
724358
|
-
|
|
724359
|
-
|
|
724360
|
-
|
|
724361
|
-
|
|
724362
|
-
|
|
724363
|
-
|
|
724364
|
-
|
|
724365
|
-
|
|
724506
|
+
if (sessionMemoryAbortController.signal.aborted || parentSignal.aborted) {
|
|
724507
|
+
return rejectOutcome("aborted");
|
|
724508
|
+
}
|
|
724509
|
+
if (!validateSessionMemoryExtraction(result.messages, memoryPath)) {
|
|
724510
|
+
return rejectOutcome("invalid_outcome");
|
|
724511
|
+
}
|
|
724512
|
+
const content = await getFsImplementation().readFile(memoryPath, { encoding: "utf-8" });
|
|
724513
|
+
if (sessionMemoryAbortController.signal.aborted || parentSignal.aborted)
|
|
724514
|
+
return rejectOutcome("aborted");
|
|
724515
|
+
if (!content || content === currentMemory)
|
|
724516
|
+
return rejectOutcome("unchanged_notes");
|
|
724517
|
+
if (!request.messageId || !commitSessionMemoryCoverage(generation, request.messageId, memoryPath, content, request.tokenCount))
|
|
724518
|
+
return rejectOutcome("superseded");
|
|
724519
|
+
lastMemoryMessageUuid = request.messageId;
|
|
724520
|
+
if (hookContext) {
|
|
724521
|
+
const lastMessage = messages[messages.length - 1];
|
|
724522
|
+
const usage = lastMessage ? getTokenUsage(lastMessage) : undefined;
|
|
724523
|
+
const config2 = getSessionMemoryConfig();
|
|
724524
|
+
logEvent("tengu_session_memory_extraction", {
|
|
724525
|
+
input_tokens: usage?.input_tokens,
|
|
724526
|
+
output_tokens: usage?.output_tokens,
|
|
724527
|
+
cache_read_input_tokens: usage?.cache_read_input_tokens ?? undefined,
|
|
724528
|
+
cache_creation_input_tokens: usage?.cache_creation_input_tokens ?? undefined,
|
|
724529
|
+
config_min_message_tokens_to_init: config2.minimumMessageTokensToInit,
|
|
724530
|
+
config_min_tokens_between_update: config2.minimumTokensBetweenUpdate,
|
|
724531
|
+
config_tool_calls_between_updates: config2.toolCallsBetweenUpdates
|
|
724532
|
+
});
|
|
724533
|
+
} else {
|
|
724534
|
+
logEvent("tengu_session_memory_manual_extraction", {});
|
|
724535
|
+
}
|
|
724536
|
+
return { success: true, memoryPath };
|
|
724537
|
+
} catch (error5) {
|
|
724538
|
+
return { success: false, error: errorMessage(error5) };
|
|
724366
724539
|
} finally {
|
|
724367
724540
|
clearTimeout(sessionMemoryTimeoutId);
|
|
724541
|
+
parentSignal.removeEventListener("abort", onParentAbort);
|
|
724368
724542
|
markExtractionCompleted();
|
|
724369
724543
|
}
|
|
724370
724544
|
});
|
|
@@ -724779,7 +724953,7 @@ var init_types15 = __esm(() => {
|
|
|
724779
724953
|
});
|
|
724780
724954
|
|
|
724781
724955
|
// services/teamMemorySync/index.ts
|
|
724782
|
-
import { createHash as
|
|
724956
|
+
import { createHash as createHash27 } from "crypto";
|
|
724783
724957
|
import { mkdir as mkdir55, readdir as readdir36, readFile as readFile63, stat as stat54, writeFile as writeFile58 } from "fs/promises";
|
|
724784
724958
|
import { join as join180, relative as relative37, sep as sep39 } from "path";
|
|
724785
724959
|
function createSyncState() {
|
|
@@ -724790,7 +724964,7 @@ function createSyncState() {
|
|
|
724790
724964
|
};
|
|
724791
724965
|
}
|
|
724792
724966
|
function hashContent2(content) {
|
|
724793
|
-
return "sha256:" +
|
|
724967
|
+
return "sha256:" + createHash27("sha256").update(content, "utf8").digest("hex");
|
|
724794
724968
|
}
|
|
724795
724969
|
function isErrnoException(e3) {
|
|
724796
724970
|
return e3 instanceof Error && "code" in e3 && typeof e3.code === "string";
|
|
@@ -731638,7 +731812,7 @@ async function startMCPServer(cwd3, debug5, verbose) {
|
|
|
731638
731812
|
setCwd(cwd3);
|
|
731639
731813
|
const server = new Server({
|
|
731640
731814
|
name: "claude/tengu",
|
|
731641
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
731815
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION
|
|
731642
731816
|
}, {
|
|
731643
731817
|
capabilities: {
|
|
731644
731818
|
tools: {}
|
|
@@ -733443,7 +733617,7 @@ __export(exports_update, {
|
|
|
733443
733617
|
});
|
|
733444
733618
|
async function update() {
|
|
733445
733619
|
logEvent("tengu_update_check", {});
|
|
733446
|
-
writeToStdout(`Current version: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733620
|
+
writeToStdout(`Current version: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION}
|
|
733447
733621
|
`);
|
|
733448
733622
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
733449
733623
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -733518,8 +733692,8 @@ async function update() {
|
|
|
733518
733692
|
writeToStdout(`CCL is managed by Homebrew.
|
|
733519
733693
|
`);
|
|
733520
733694
|
const latest = await getLatestVersion(channel2);
|
|
733521
|
-
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733522
|
-
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733695
|
+
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, latest)) {
|
|
733696
|
+
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} → ${latest}
|
|
733523
733697
|
`);
|
|
733524
733698
|
writeToStdout(`
|
|
733525
733699
|
`);
|
|
@@ -733535,8 +733709,8 @@ async function update() {
|
|
|
733535
733709
|
writeToStdout(`CCL is managed by winget.
|
|
733536
733710
|
`);
|
|
733537
733711
|
const latest = await getLatestVersion(channel2);
|
|
733538
|
-
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733539
|
-
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733712
|
+
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, latest)) {
|
|
733713
|
+
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} → ${latest}
|
|
733540
733714
|
`);
|
|
733541
733715
|
writeToStdout(`
|
|
733542
733716
|
`);
|
|
@@ -733552,8 +733726,8 @@ async function update() {
|
|
|
733552
733726
|
writeToStdout(`CCL is managed by apk.
|
|
733553
733727
|
`);
|
|
733554
733728
|
const latest = await getLatestVersion(channel2);
|
|
733555
|
-
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733556
|
-
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733729
|
+
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION, latest)) {
|
|
733730
|
+
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} → ${latest}
|
|
733557
733731
|
`);
|
|
733558
733732
|
writeToStdout(`
|
|
733559
733733
|
`);
|
|
@@ -733618,11 +733792,11 @@ async function update() {
|
|
|
733618
733792
|
`);
|
|
733619
733793
|
await gracefulShutdown(1);
|
|
733620
733794
|
}
|
|
733621
|
-
if (result.latestVersion === { USER_TYPE: "external", VERSION: "1.3.6-
|
|
733622
|
-
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733795
|
+
if (result.latestVersion === { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
733796
|
+
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION})`) + `
|
|
733623
733797
|
`);
|
|
733624
733798
|
} else {
|
|
733625
|
-
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733799
|
+
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} to version ${result.latestVersion}`) + `
|
|
733626
733800
|
`);
|
|
733627
733801
|
await regenerateCompletionCache();
|
|
733628
733802
|
}
|
|
@@ -733641,9 +733815,9 @@ async function update() {
|
|
|
733641
733815
|
await removeInstalledSymlink();
|
|
733642
733816
|
}
|
|
733643
733817
|
logForDebugging("update: Checking npm registry for latest version");
|
|
733644
|
-
logForDebugging(`update: Package URL: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733818
|
+
logForDebugging(`update: Package URL: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}`);
|
|
733645
733819
|
const npmTag = channel2 === "stable" ? "stable" : "latest";
|
|
733646
|
-
const npmCommand = `npm view ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733820
|
+
const npmCommand = `npm view ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}@${npmTag} version`;
|
|
733647
733821
|
logForDebugging(`update: Running: ${npmCommand}`);
|
|
733648
733822
|
const latestVersion = await getLatestVersion(channel2);
|
|
733649
733823
|
logForDebugging(`update: Latest version from npm: ${latestVersion || "FAILED"}`);
|
|
@@ -733663,7 +733837,7 @@ async function update() {
|
|
|
733663
733837
|
`);
|
|
733664
733838
|
process.stderr.write(` • Corporate proxy/firewall blocking npm
|
|
733665
733839
|
`);
|
|
733666
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733840
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL && !{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL.startsWith("@anthropic")) {
|
|
733667
733841
|
process.stderr.write(` • Internal/development build not published to npm
|
|
733668
733842
|
`);
|
|
733669
733843
|
}
|
|
@@ -733675,19 +733849,19 @@ async function update() {
|
|
|
733675
733849
|
`);
|
|
733676
733850
|
process.stderr.write(` • Run with --debug flag for more details
|
|
733677
733851
|
`);
|
|
733678
|
-
const packageName = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
733852
|
+
const packageName = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL || (process.env.USER_TYPE === "ant" ? "@anthropic-ai/claude-cli" : "@anthropic-ai/claude-code");
|
|
733679
733853
|
process.stderr.write(` • Manually check: npm view ${packageName} version
|
|
733680
733854
|
`);
|
|
733681
733855
|
process.stderr.write(` • Check if you need to login: npm whoami
|
|
733682
733856
|
`);
|
|
733683
733857
|
await gracefulShutdown(1);
|
|
733684
733858
|
}
|
|
733685
|
-
if (latestVersion === { USER_TYPE: "external", VERSION: "1.3.6-
|
|
733686
|
-
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733859
|
+
if (latestVersion === { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION) {
|
|
733860
|
+
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION})`) + `
|
|
733687
733861
|
`);
|
|
733688
733862
|
await gracefulShutdown(0);
|
|
733689
733863
|
}
|
|
733690
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733864
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION})
|
|
733691
733865
|
`);
|
|
733692
733866
|
writeToStdout(`Installing update...
|
|
733693
733867
|
`);
|
|
@@ -733732,7 +733906,7 @@ async function update() {
|
|
|
733732
733906
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
733733
733907
|
switch (status2) {
|
|
733734
733908
|
case "success":
|
|
733735
|
-
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733909
|
+
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} to version ${latestVersion}`) + `
|
|
733736
733910
|
`);
|
|
733737
733911
|
await regenerateCompletionCache();
|
|
733738
733912
|
break;
|
|
@@ -733742,7 +733916,7 @@ async function update() {
|
|
|
733742
733916
|
if (useLocalUpdate) {
|
|
733743
733917
|
process.stderr.write(`Try manually updating with:
|
|
733744
733918
|
`);
|
|
733745
|
-
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733919
|
+
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}
|
|
733746
733920
|
`);
|
|
733747
733921
|
} else {
|
|
733748
733922
|
process.stderr.write(`Try running with sudo or fix npm permissions
|
|
@@ -733758,7 +733932,7 @@ async function update() {
|
|
|
733758
733932
|
if (useLocalUpdate) {
|
|
733759
733933
|
process.stderr.write(`Try manually updating with:
|
|
733760
733934
|
`);
|
|
733761
|
-
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
733935
|
+
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.PACKAGE_URL}
|
|
733762
733936
|
`);
|
|
733763
733937
|
} else {
|
|
733764
733938
|
process.stderr.write(`Or consider using native installation with: margay install
|
|
@@ -733945,7 +734119,7 @@ function runMigrations() {
|
|
|
733945
734119
|
if (feature("TRANSCRIPT_CLASSIFIER")) {
|
|
733946
734120
|
resetAutoModeOptInForDefaultOffer();
|
|
733947
734121
|
}
|
|
733948
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
734122
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
733949
734123
|
migrateFennecToOpus();
|
|
733950
734124
|
}
|
|
733951
734125
|
saveGlobalConfig((prev) => prev.migrationVersion === CURRENT_MIGRATION_VERSION ? prev : {
|
|
@@ -733992,7 +734166,7 @@ function startDeferredPrefetches() {
|
|
|
733992
734166
|
if (!isBareMode()) {
|
|
733993
734167
|
skillChangeDetector.initialize();
|
|
733994
734168
|
}
|
|
733995
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
734169
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
733996
734170
|
Promise.resolve().then(() => exports_eventLoopStallDetector).then((m4) => m4.startEventLoopStallDetector());
|
|
733997
734171
|
}
|
|
733998
734172
|
}
|
|
@@ -734488,9 +734662,9 @@ async function run() {
|
|
|
734488
734662
|
const initOnly = options.initOnly ?? false;
|
|
734489
734663
|
const maintenance = options.maintenance ?? false;
|
|
734490
734664
|
const disableSlashCommands = options.disableSlashCommands || false;
|
|
734491
|
-
const tasksOption = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
734665
|
+
const tasksOption = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && options.tasks;
|
|
734492
734666
|
const taskListId = tasksOption ? typeof tasksOption === "string" ? tasksOption : DEFAULT_TASKS_MODE_TASK_LIST_ID : undefined;
|
|
734493
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
734667
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && taskListId) {
|
|
734494
734668
|
process.env.CLAUDE_CODE_TASK_LIST_ID = taskListId;
|
|
734495
734669
|
}
|
|
734496
734670
|
const worktreeOption = isWorktreeModeEnabled() ? options.worktree : undefined;
|
|
@@ -734776,7 +734950,7 @@ ${formattedErrors}
|
|
|
734776
734950
|
}
|
|
734777
734951
|
const chromeOpts = options;
|
|
734778
734952
|
setChromeFlagOverride(chromeOpts.chrome);
|
|
734779
|
-
const enableClaudeInChrome = shouldEnableClaudeInChrome(chromeOpts.chrome) && ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
734953
|
+
const enableClaudeInChrome = shouldEnableClaudeInChrome(chromeOpts.chrome) && ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" || isClaudeAISubscriber());
|
|
734780
734954
|
const autoEnableClaudeInChrome = !enableClaudeInChrome && shouldAutoEnableClaudeInChrome();
|
|
734781
734955
|
if (enableClaudeInChrome) {
|
|
734782
734956
|
const platform6 = getPlatform();
|
|
@@ -734949,7 +735123,7 @@ ${hint}` : hint;
|
|
|
734949
735123
|
dangerousPermissions,
|
|
734950
735124
|
overlyBroadBashPermissions
|
|
734951
735125
|
} = initResult;
|
|
734952
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
735126
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && overlyBroadBashPermissions.length > 0) {
|
|
734953
735127
|
for (const permission of overlyBroadBashPermissions) {
|
|
734954
735128
|
logForDebugging(`Ignoring overly broad shell permission ${permission.ruleDisplay} from ${permission.sourceDisplay}`);
|
|
734955
735129
|
}
|
|
@@ -735081,7 +735255,7 @@ ${hint}` : hint;
|
|
|
735081
735255
|
cacheSessionTitle(sessionNameArg);
|
|
735082
735256
|
}
|
|
735083
735257
|
const explicitModel = options.model || process.env.ANTHROPIC_MODEL;
|
|
735084
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
735258
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && explicitModel && explicitModel !== "default" && !hasGrowthBookEnvOverride("tengu_ant_model_override") && getGlobalConfig().cachedGrowthBookFeatures?.["tengu_ant_model_override"] == null) {
|
|
735085
735259
|
await initializeGrowthBook();
|
|
735086
735260
|
}
|
|
735087
735261
|
const userSpecifiedModel = options.model === "default" ? getDefaultMainLoopModel() : options.model;
|
|
@@ -735202,7 +735376,7 @@ ${inputPrompt}` : mainThreadAgentDefinition.initialPrompt;
|
|
|
735202
735376
|
}
|
|
735203
735377
|
if (customAgent.memory) {
|
|
735204
735378
|
logEvent("tengu_agent_memory_loaded", {
|
|
735205
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
735379
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" && {
|
|
735206
735380
|
agent_type: customAgent.agentType
|
|
735207
735381
|
},
|
|
735208
735382
|
scope: customAgent.memory,
|
|
@@ -735258,7 +735432,7 @@ ${assistantAddendum}` : assistantAddendum;
|
|
|
735258
735432
|
const ctx = getRenderContext(false);
|
|
735259
735433
|
getFpsMetrics = ctx.getFpsMetrics;
|
|
735260
735434
|
stats2 = ctx.stats;
|
|
735261
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
735435
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
735262
735436
|
installAsciicastRecorder();
|
|
735263
735437
|
}
|
|
735264
735438
|
const {
|
|
@@ -735446,7 +735620,7 @@ ${inputPrompt}` : mergePrompt;
|
|
|
735446
735620
|
}
|
|
735447
735621
|
}
|
|
735448
735622
|
logForDiagnosticsNoPII("info", "started", {
|
|
735449
|
-
version: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
735623
|
+
version: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
735450
735624
|
is_native_binary: isInBundledMode()
|
|
735451
735625
|
});
|
|
735452
735626
|
registerCleanup(async () => {
|
|
@@ -735679,7 +735853,7 @@ ${inputPrompt}` : mergePrompt;
|
|
|
735679
735853
|
if (!isBareMode()) {
|
|
735680
735854
|
startDeferredPrefetches();
|
|
735681
735855
|
Promise.resolve().then(() => (init_backgroundHousekeeping(), exports_backgroundHousekeeping)).then((m4) => m4.startBackgroundHousekeeping());
|
|
735682
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
735856
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
735683
735857
|
Promise.resolve().then(() => exports_sdkHeapDumpMonitor).then((m4) => m4.startSdkMemoryMonitor());
|
|
735684
735858
|
}
|
|
735685
735859
|
}
|
|
@@ -735892,7 +736066,7 @@ ${inputPrompt}` : mergePrompt;
|
|
|
735892
736066
|
logStartupTelemetry();
|
|
735893
736067
|
logSessionTelemetry();
|
|
735894
736068
|
});
|
|
735895
|
-
const sessionUploaderPromise = { USER_TYPE: "external", VERSION: "1.3.6-
|
|
736069
|
+
const sessionUploaderPromise = { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? Promise.resolve().then(() => exports_sessionDataUploader) : null;
|
|
735896
736070
|
const uploaderReady = sessionUploaderPromise ? sessionUploaderPromise.then((mod4) => mod4.createSessionTurnUploader()).catch(() => null) : null;
|
|
735897
736071
|
const sessionConfig = {
|
|
735898
736072
|
debug: debug5 || debugToStderr,
|
|
@@ -736036,7 +736210,7 @@ Session: ${directConnectConfig.sessionId}`, "info");
|
|
|
736036
736210
|
sshSession = await createSSHSession2({
|
|
736037
736211
|
host: _pendingSSH.host,
|
|
736038
736212
|
cwd: _pendingSSH.cwd,
|
|
736039
|
-
localVersion: { USER_TYPE: "external", VERSION: "1.3.6-
|
|
736213
|
+
localVersion: { USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION,
|
|
736040
736214
|
permissionMode: _pendingSSH.permissionMode,
|
|
736041
736215
|
dangerouslySkipPermissions: _pendingSSH.dangerouslySkipPermissions,
|
|
736042
736216
|
extraCliArgs: _pendingSSH.extraCliArgs
|
|
@@ -736338,7 +736512,7 @@ Usage: margay --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
736338
736512
|
}
|
|
736339
736513
|
}
|
|
736340
736514
|
}
|
|
736341
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
736515
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
736342
736516
|
if (options.resume && typeof options.resume === "string" && !maybeSessionId) {
|
|
736343
736517
|
const {
|
|
736344
736518
|
parseCcshareId: parseCcshareId2,
|
|
@@ -736541,13 +736715,13 @@ Usage: margay --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
736541
736715
|
pendingHookMessages
|
|
736542
736716
|
}, renderAndRun);
|
|
736543
736717
|
}
|
|
736544
|
-
}).version(`${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
736718
|
+
}).version(`${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} (CCL)`, "-v, --version", "Output the version number");
|
|
736545
736719
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
736546
736720
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
736547
736721
|
if (canUserConfigureAdvisor()) {
|
|
736548
736722
|
program2.addOption(new Option("--advisor <model>", "Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp());
|
|
736549
736723
|
}
|
|
736550
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
736724
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
736551
736725
|
program2.addOption(new Option("--delegate-permissions", "[ANT-ONLY] Alias for --permission-mode auto.").implies({
|
|
736552
736726
|
permissionMode: "auto"
|
|
736553
736727
|
}));
|
|
@@ -736951,7 +737125,7 @@ Omit sessionId to discover and pick from available sessions.
|
|
|
736951
737125
|
} = await Promise.resolve().then(() => (init_update(), exports_update));
|
|
736952
737126
|
await update2();
|
|
736953
737127
|
});
|
|
736954
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737128
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
736955
737129
|
program2.command("up").description('[ANT-ONLY] Initialize or upgrade the local dev environment using the "# claude up" section of the nearest CCL.md').action(async () => {
|
|
736956
737130
|
const {
|
|
736957
737131
|
up: up2
|
|
@@ -736959,7 +737133,7 @@ Omit sessionId to discover and pick from available sessions.
|
|
|
736959
737133
|
await up2();
|
|
736960
737134
|
});
|
|
736961
737135
|
}
|
|
736962
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737136
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
736963
737137
|
program2.command("rollback [target]").description(`[ANT-ONLY] Roll back to a previous release
|
|
736964
737138
|
|
|
736965
737139
|
Examples:
|
|
@@ -736978,7 +737152,7 @@ Examples:
|
|
|
736978
737152
|
} = await Promise.resolve().then(() => (init_util(), exports_util));
|
|
736979
737153
|
await installHandler2(target, options);
|
|
736980
737154
|
});
|
|
736981
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737155
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
736982
737156
|
const validateLogId = (value) => {
|
|
736983
737157
|
const maybeSessionId = validateUuid2(value);
|
|
736984
737158
|
if (maybeSessionId)
|
|
@@ -737008,7 +737182,7 @@ Examples:
|
|
|
737008
737182
|
} = await Promise.resolve().then(() => exports_ant);
|
|
737009
737183
|
await exportHandler2(source, outputFile);
|
|
737010
737184
|
});
|
|
737011
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737185
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant") {
|
|
737012
737186
|
const taskCmd = program2.command("task").description("[ANT-ONLY] Manage task list tasks");
|
|
737013
737187
|
taskCmd.command("create <subject>").description("Create a new task").option("-d, --description <text>", "Task description").option("-l, --list <id>", 'Task list ID (defaults to "tasklist")').action(async (subject, opts) => {
|
|
737014
737188
|
const {
|
|
@@ -737118,7 +737292,7 @@ async function logTenguInit({
|
|
|
737118
737292
|
assistantActivationPath
|
|
737119
737293
|
},
|
|
737120
737294
|
autoUpdatesChannel: getInitialSettings().autoUpdatesChannel ?? "latest",
|
|
737121
|
-
...{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737295
|
+
...{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE === "ant" ? (() => {
|
|
737122
737296
|
const cwd5 = getCwd();
|
|
737123
737297
|
const gitRoot = findGitRoot(cwd5);
|
|
737124
737298
|
const rp = gitRoot ? relative39(gitRoot, cwd5) || "." : undefined;
|
|
@@ -737341,7 +737515,7 @@ var init_main2 = __esm(() => {
|
|
|
737341
737515
|
kairosGate = feature("KAIROS") ? __toCommonJS(exports_gate) : null;
|
|
737342
737516
|
autoModeStateModule7 = feature("TRANSCRIPT_CLASSIFIER") ? __toCommonJS(exports_autoModeState) : null;
|
|
737343
737517
|
profileCheckpoint("main_tsx_imports_loaded");
|
|
737344
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737518
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.USER_TYPE !== "ant" && isBeingDebugged()) {
|
|
737345
737519
|
process.exit(1);
|
|
737346
737520
|
}
|
|
737347
737521
|
_pendingConnect = feature("DIRECT_CONNECT") ? {
|
|
@@ -737448,7 +737622,7 @@ if (feature("ABLATION_BASELINE") && process.env.CLAUDE_CODE_ABLATION_BASELINE) {
|
|
|
737448
737622
|
async function main2() {
|
|
737449
737623
|
const args = process.argv.slice(2);
|
|
737450
737624
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
737451
|
-
console.log(`${{ USER_TYPE: "external", VERSION: "1.3.6-
|
|
737625
|
+
console.log(`${{ USER_TYPE: "external", VERSION: "1.3.6-beta.0", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-09-12T07:38:30.001Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.6-beta.0" }.VERSION} (Margay)`);
|
|
737452
737626
|
return;
|
|
737453
737627
|
}
|
|
737454
737628
|
const {
|