@margay/ccl-core 1.3.5-rc.6 → 1.3.5-rc.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +927 -515
- 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.5-rc.
|
|
119
|
+
version: "1.3.5-rc.7",
|
|
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",
|
|
@@ -162288,7 +162288,7 @@ async function _executeApiKeyHelper(isNonInteractiveSession) {
|
|
|
162288
162288
|
if (isApiKeyHelperFromProjectOrLocalSettings()) {
|
|
162289
162289
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162290
162290
|
if (!hasTrust && !isNonInteractiveSession) {
|
|
162291
|
-
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.5-rc.
|
|
162291
|
+
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.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL}.`);
|
|
162292
162292
|
logAntError("apiKeyHelper invoked before trust check", error5);
|
|
162293
162293
|
logEvent("tengu_apiKeyHelper_missing_trust11", {});
|
|
162294
162294
|
return null;
|
|
@@ -162332,7 +162332,7 @@ async function runAwsAuthRefresh() {
|
|
|
162332
162332
|
if (isAwsAuthRefreshFromProjectSettings()) {
|
|
162333
162333
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162334
162334
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
162335
|
-
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.5-rc.
|
|
162335
|
+
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.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL}.`);
|
|
162336
162336
|
logAntError("awsAuthRefresh invoked before trust check", error5);
|
|
162337
162337
|
logEvent("tengu_awsAuthRefresh_missing_trust", {});
|
|
162338
162338
|
return false;
|
|
@@ -162392,7 +162392,7 @@ async function getAwsCredsFromCredentialExport() {
|
|
|
162392
162392
|
if (isAwsCredentialExportFromProjectSettings()) {
|
|
162393
162393
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162394
162394
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
162395
|
-
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.5-rc.
|
|
162395
|
+
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.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL}.`);
|
|
162396
162396
|
logAntError("awsCredentialExport invoked before trust check", error5);
|
|
162397
162397
|
logEvent("tengu_awsCredentialExport_missing_trust", {});
|
|
162398
162398
|
return null;
|
|
@@ -162477,7 +162477,7 @@ async function runGcpAuthRefresh() {
|
|
|
162477
162477
|
if (isGcpAuthRefreshFromProjectSettings()) {
|
|
162478
162478
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
162479
162479
|
if (!hasTrust && !getIsNonInteractiveSession()) {
|
|
162480
|
-
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.5-rc.
|
|
162480
|
+
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.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL}.`);
|
|
162481
162481
|
logAntError("gcpAuthRefresh invoked before trust check", error5);
|
|
162482
162482
|
logEvent("tengu_gcpAuthRefresh_missing_trust", {});
|
|
162483
162483
|
return false;
|
|
@@ -163187,7 +163187,7 @@ var init_auth2 = __esm(() => {
|
|
|
163187
163187
|
|
|
163188
163188
|
// utils/userAgent.ts
|
|
163189
163189
|
function getClaudeCodeUserAgent() {
|
|
163190
|
-
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
163190
|
+
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}`;
|
|
163191
163191
|
}
|
|
163192
163192
|
|
|
163193
163193
|
// utils/workloadContext.ts
|
|
@@ -163209,7 +163209,7 @@ function getUserAgent() {
|
|
|
163209
163209
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
163210
163210
|
const workload = getWorkload();
|
|
163211
163211
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
163212
|
-
return `claude-cli/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
163212
|
+
return `claude-cli/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
163213
163213
|
}
|
|
163214
163214
|
function getMCPUserAgent() {
|
|
163215
163215
|
const parts = [];
|
|
@@ -163223,7 +163223,7 @@ function getMCPUserAgent() {
|
|
|
163223
163223
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
163224
163224
|
}
|
|
163225
163225
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
163226
|
-
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
163226
|
+
return `claude-code/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}${suffix}`;
|
|
163227
163227
|
}
|
|
163228
163228
|
function getWebFetchUserAgent() {
|
|
163229
163229
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -163361,7 +163361,7 @@ var init_user = __esm(() => {
|
|
|
163361
163361
|
deviceId,
|
|
163362
163362
|
sessionId: getSessionId(),
|
|
163363
163363
|
email: getEmail(),
|
|
163364
|
-
appVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
163364
|
+
appVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
163365
163365
|
platform: getHostPlatformForAnalytics(),
|
|
163366
163366
|
organizationUuid,
|
|
163367
163367
|
accountUuid,
|
|
@@ -171058,7 +171058,7 @@ var init_metadata = __esm(() => {
|
|
|
171058
171058
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
171059
171059
|
WHITESPACE_REGEX = /\s+/;
|
|
171060
171060
|
getVersionBase = memoize20(() => {
|
|
171061
|
-
const match = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
171061
|
+
const match = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION.match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
171062
171062
|
return match ? match[0] : undefined;
|
|
171063
171063
|
});
|
|
171064
171064
|
buildEnvContext = memoize20(async () => {
|
|
@@ -171098,9 +171098,9 @@ var init_metadata = __esm(() => {
|
|
|
171098
171098
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
171099
171099
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
171100
171100
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
171101
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
171101
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
171102
171102
|
versionBase: getVersionBase(),
|
|
171103
|
-
buildTime: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
171103
|
+
buildTime: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.BUILD_TIME,
|
|
171104
171104
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
171105
171105
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
171106
171106
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -171767,7 +171767,7 @@ function initialize1PEventLogging() {
|
|
|
171767
171767
|
const platform2 = getPlatform();
|
|
171768
171768
|
const attributes = {
|
|
171769
171769
|
[import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
|
|
171770
|
-
[import_semantic_conventions.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
171770
|
+
[import_semantic_conventions.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
171771
171771
|
};
|
|
171772
171772
|
if (platform2 === "wsl") {
|
|
171773
171773
|
const wslVersion = getWslVersion();
|
|
@@ -171794,7 +171794,7 @@ function initialize1PEventLogging() {
|
|
|
171794
171794
|
})
|
|
171795
171795
|
]
|
|
171796
171796
|
});
|
|
171797
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
171797
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
171798
171798
|
}
|
|
171799
171799
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
171800
171800
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -200714,7 +200714,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
200714
200714
|
if (!isAttributionHeaderEnabled()) {
|
|
200715
200715
|
return "";
|
|
200716
200716
|
}
|
|
200717
|
-
const version4 = `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
200717
|
+
const version4 = `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}.${fingerprint}`;
|
|
200718
200718
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
200719
200719
|
const cch = "";
|
|
200720
200720
|
const workload = getWorkload();
|
|
@@ -232935,7 +232935,7 @@ Complete the user's request by providing accurate, documentation-based guidance.
|
|
|
232935
232935
|
}
|
|
232936
232936
|
function getFeedbackGuideline() {
|
|
232937
232937
|
if (isUsing3PServices()) {
|
|
232938
|
-
return `- When you cannot find an answer or the feature doesn't exist, direct the user to ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
232938
|
+
return `- When you cannot find an answer or the feature doesn't exist, direct the user to ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.ISSUES_EXPLAINER}`;
|
|
232939
232939
|
}
|
|
232940
232940
|
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";
|
|
232941
232941
|
}
|
|
@@ -238969,7 +238969,7 @@ function getAssistantMessageFromError(error5, model, options) {
|
|
|
238969
238969
|
if (process.env.USER_TYPE === "ant") {
|
|
238970
238970
|
const baseMessage = `API Error: 400 ${error5.message}
|
|
238971
238971
|
|
|
238972
|
-
Run /share and post the JSON file to ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
238972
|
+
Run /share and post the JSON file to ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL}.`;
|
|
238973
238973
|
const rewindInstruction = getIsNonInteractiveSession() ? "" : " Then, use /rewind to recover the conversation.";
|
|
238974
238974
|
return createAssistantAPIErrorMessage({
|
|
238975
238975
|
content: baseMessage + rewindInstruction,
|
|
@@ -239005,7 +239005,7 @@ Run /share and post the JSON file to ${{ USER_TYPE: "external", VERSION: "1.3.5-
|
|
|
239005
239005
|
if (process.env.USER_TYPE === "ant" && !process.env.ANTHROPIC_MODEL && error5 instanceof Error && error5.message.toLowerCase().includes("invalid model name")) {
|
|
239006
239006
|
const orgId = getOauthAccountInfo()?.organizationUuid;
|
|
239007
239007
|
const baseMsg = `[ANT-ONLY] Your org isn't gated into the \`${model}\` model. Either run \`ccl\` with \`ANTHROPIC_MODEL=${getDefaultMainLoopModelSetting()}\``;
|
|
239008
|
-
const msg = orgId ? `${baseMsg} or share your orgId (${orgId}) in ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
239008
|
+
const msg = orgId ? `${baseMsg} or share your orgId (${orgId}) in ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL} for help getting access.` : `${baseMsg} or reach out in ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL} for help getting access.`;
|
|
239009
239009
|
return createAssistantAPIErrorMessage({
|
|
239010
239010
|
content: msg,
|
|
239011
239011
|
error: "invalid_request"
|
|
@@ -330965,7 +330965,7 @@ function getTelemetryAttributes() {
|
|
|
330965
330965
|
attributes["session.id"] = sessionId;
|
|
330966
330966
|
}
|
|
330967
330967
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
330968
|
-
attributes["app.version"] = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
330968
|
+
attributes["app.version"] = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
330969
330969
|
}
|
|
330970
330970
|
const oauthAccount = getOauthAccountInfo();
|
|
330971
330971
|
if (oauthAccount) {
|
|
@@ -347764,7 +347764,7 @@ function computeFingerprint(messageText, version4) {
|
|
|
347764
347764
|
}
|
|
347765
347765
|
function computeFingerprintFromMessages(messages) {
|
|
347766
347766
|
const firstMessageText = extractFirstMessageText(messages);
|
|
347767
|
-
return computeFingerprint(firstMessageText, { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
347767
|
+
return computeFingerprint(firstMessageText, { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
347768
347768
|
}
|
|
347769
347769
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
347770
347770
|
var init_fingerprint = () => {};
|
|
@@ -347813,7 +347813,7 @@ async function sideQuery(opts) {
|
|
|
347813
347813
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
347814
347814
|
}
|
|
347815
347815
|
const messageText = extractFirstUserMessageText(messages);
|
|
347816
|
-
const fingerprint = computeFingerprint(messageText, { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
347816
|
+
const fingerprint = computeFingerprint(messageText, { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
347817
347817
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
347818
347818
|
const systemBlocks = [
|
|
347819
347819
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -395959,7 +395959,7 @@ async function initializeBetaTracing(resource) {
|
|
|
395959
395959
|
});
|
|
395960
395960
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
395961
395961
|
setLoggerProvider(loggerProvider);
|
|
395962
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
395962
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
395963
395963
|
setEventLogger(eventLogger);
|
|
395964
395964
|
process.on("beforeExit", async () => {
|
|
395965
395965
|
await loggerProvider?.forceFlush();
|
|
@@ -395999,7 +395999,7 @@ async function initializeTelemetry() {
|
|
|
395999
395999
|
const platform3 = getPlatform();
|
|
396000
396000
|
const baseAttributes = {
|
|
396001
396001
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
396002
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396002
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
396003
396003
|
};
|
|
396004
396004
|
if (platform3 === "wsl") {
|
|
396005
396005
|
const wslVersion = getWslVersion();
|
|
@@ -396044,7 +396044,7 @@ async function initializeTelemetry() {
|
|
|
396044
396044
|
} catch {}
|
|
396045
396045
|
};
|
|
396046
396046
|
registerCleanup(shutdownTelemetry2);
|
|
396047
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396047
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
396048
396048
|
}
|
|
396049
396049
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
396050
396050
|
resource,
|
|
@@ -396064,7 +396064,7 @@ async function initializeTelemetry() {
|
|
|
396064
396064
|
});
|
|
396065
396065
|
import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
|
|
396066
396066
|
setLoggerProvider(loggerProvider);
|
|
396067
|
-
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396067
|
+
const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
396068
396068
|
setEventLogger(eventLogger);
|
|
396069
396069
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
396070
396070
|
process.on("beforeExit", async () => {
|
|
@@ -396126,7 +396126,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
396126
396126
|
}
|
|
396127
396127
|
};
|
|
396128
396128
|
registerCleanup(shutdownTelemetry);
|
|
396129
|
-
return meterProvider.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396129
|
+
return meterProvider.getMeter("com.anthropic.claude_code", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION);
|
|
396130
396130
|
}
|
|
396131
396131
|
async function flushTelemetry() {
|
|
396132
396132
|
const meterProvider = getMeterProvider();
|
|
@@ -396717,7 +396717,7 @@ async function installOrUpdateClaudePackage(channel2, specificVersion) {
|
|
|
396717
396717
|
return "install_failed";
|
|
396718
396718
|
}
|
|
396719
396719
|
const versionSpec = specificVersion ? specificVersion : channel2 === "stable" ? "stable" : "latest";
|
|
396720
|
-
const result = await execFileNoThrowWithCwd("npm", ["install", `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396720
|
+
const result = await execFileNoThrowWithCwd("npm", ["install", `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}@${versionSpec}`], { cwd: getLocalInstallDir(), maxBuffer: 1e6 });
|
|
396721
396721
|
if (result.code !== 0) {
|
|
396722
396722
|
const error5 = new Error(`Failed to install Claude CLI package: ${result.stderr}`);
|
|
396723
396723
|
logError(error5);
|
|
@@ -396860,14 +396860,14 @@ import { access as access2, writeFile as writeFile12 } from "fs/promises";
|
|
|
396860
396860
|
import { homedir as homedir18 } from "os";
|
|
396861
396861
|
import { join as join61 } from "path";
|
|
396862
396862
|
async function assertMinVersion() {
|
|
396863
|
-
if (process.env.SKIP_VERSION_CHECK === "1" || { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396863
|
+
if (process.env.SKIP_VERSION_CHECK === "1" || { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION.startsWith("0.0.0-dev") || !process.env.ANTHROPIC_VERSION_CHECK) {
|
|
396864
396864
|
return;
|
|
396865
396865
|
}
|
|
396866
396866
|
try {
|
|
396867
396867
|
const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
|
|
396868
|
-
if (versionConfig.minVersion && lt2({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396868
|
+
if (versionConfig.minVersion && lt2({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, versionConfig.minVersion)) {
|
|
396869
396869
|
console.error(`
|
|
396870
|
-
It looks like your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
396870
|
+
It looks like your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}) needs an update.
|
|
396871
396871
|
A newer version (${versionConfig.minVersion} or higher) is required to continue.
|
|
396872
396872
|
|
|
396873
396873
|
To update, please run:
|
|
@@ -397027,7 +397027,7 @@ async function checkGlobalInstallPermissions() {
|
|
|
397027
397027
|
}
|
|
397028
397028
|
async function getLatestVersion(channel2) {
|
|
397029
397029
|
const npmTag = channel2 === "stable" ? "stable" : "latest";
|
|
397030
|
-
const result = await execFileNoThrowWithCwd("npm", ["view", `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397030
|
+
const result = await execFileNoThrowWithCwd("npm", ["view", `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}@${npmTag}`, "version", "--prefer-online"], { abortSignal: AbortSignal.timeout(5000), cwd: homedir18() });
|
|
397031
397031
|
if (result.code !== 0) {
|
|
397032
397032
|
logForDebugging(`npm view failed with code ${result.code}`);
|
|
397033
397033
|
if (result.stderr) {
|
|
@@ -397043,7 +397043,7 @@ async function getLatestVersion(channel2) {
|
|
|
397043
397043
|
return result.stdout.trim();
|
|
397044
397044
|
}
|
|
397045
397045
|
async function getNpmDistTags() {
|
|
397046
|
-
const result = await execFileNoThrowWithCwd("npm", ["view", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397046
|
+
const result = await execFileNoThrowWithCwd("npm", ["view", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL, "dist-tags", "--json", "--prefer-online"], { abortSignal: AbortSignal.timeout(5000), cwd: homedir18() });
|
|
397047
397047
|
if (result.code !== 0) {
|
|
397048
397048
|
logForDebugging(`npm view dist-tags failed with code ${result.code}`);
|
|
397049
397049
|
return { latest: null, stable: null };
|
|
@@ -397083,7 +397083,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
397083
397083
|
logError(new AutoUpdaterError("Another process is currently installing an update"));
|
|
397084
397084
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
397085
397085
|
pid: process.pid,
|
|
397086
|
-
currentVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397086
|
+
currentVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
397087
397087
|
});
|
|
397088
397088
|
return "in_progress";
|
|
397089
397089
|
}
|
|
@@ -397092,7 +397092,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
397092
397092
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
397093
397093
|
logError(new Error("Windows NPM detected in WSL environment"));
|
|
397094
397094
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
397095
|
-
currentVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397095
|
+
currentVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
397096
397096
|
});
|
|
397097
397097
|
console.error(`
|
|
397098
397098
|
Error: Windows NPM detected in WSL
|
|
@@ -397111,7 +397111,7 @@ To fix this issue:
|
|
|
397111
397111
|
if (!hasPermissions) {
|
|
397112
397112
|
return "no_permissions";
|
|
397113
397113
|
}
|
|
397114
|
-
const packageSpec = specificVersion ? `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397114
|
+
const packageSpec = specificVersion ? `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}@${specificVersion}` : { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL;
|
|
397115
397115
|
const packageManager = env4.isRunningWithBun() ? "bun" : "npm";
|
|
397116
397116
|
const installResult = await execFileNoThrowWithCwd(packageManager, ["install", "-g", packageSpec], { cwd: homedir18() });
|
|
397117
397117
|
if (installResult.code !== 0) {
|
|
@@ -397440,8 +397440,8 @@ async function detectMultipleInstallations() {
|
|
|
397440
397440
|
installations.push({ type: "npm-local", path: localPath });
|
|
397441
397441
|
}
|
|
397442
397442
|
const packagesToCheck = ["@anthropic-ai/claude-code"];
|
|
397443
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397444
|
-
packagesToCheck.push({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397443
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL !== "@anthropic-ai/claude-code") {
|
|
397444
|
+
packagesToCheck.push({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL);
|
|
397445
397445
|
}
|
|
397446
397446
|
const npmResult = await execFileNoThrow("npm", [
|
|
397447
397447
|
"-g",
|
|
@@ -397624,7 +397624,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
397624
397624
|
}
|
|
397625
397625
|
async function getDoctorDiagnostic() {
|
|
397626
397626
|
const installationType = await getCurrentInstallationType();
|
|
397627
|
-
const version4 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397627
|
+
const version4 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION ? { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION : "unknown";
|
|
397628
397628
|
const installationPath = await getInstallationPath();
|
|
397629
397629
|
const invokedBinary = getInvokedBinary();
|
|
397630
397630
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -397636,8 +397636,8 @@ async function getDoctorDiagnostic() {
|
|
|
397636
397636
|
for (const install of npmInstalls) {
|
|
397637
397637
|
if (install.type === "npm-global") {
|
|
397638
397638
|
let uninstallCmd = "npm -g uninstall @anthropic-ai/claude-code";
|
|
397639
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397640
|
-
uninstallCmd += ` && npm -g uninstall ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
397639
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL !== "@anthropic-ai/claude-code") {
|
|
397640
|
+
uninstallCmd += ` && npm -g uninstall ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}`;
|
|
397641
397641
|
}
|
|
397642
397642
|
warnings.push({
|
|
397643
397643
|
issue: `Leftover npm global installation at ${install.path}`,
|
|
@@ -398963,7 +398963,7 @@ function getInstallationEnv() {
|
|
|
398963
398963
|
return;
|
|
398964
398964
|
}
|
|
398965
398965
|
function getClaudeCodeVersion() {
|
|
398966
|
-
return { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
398966
|
+
return { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
398967
398967
|
}
|
|
398968
398968
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
398969
398969
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -399520,7 +399520,7 @@ async function getLatestVersionFromArtifactory(tag = "latest") {
|
|
|
399520
399520
|
const startTime2 = Date.now();
|
|
399521
399521
|
const { stdout, code, stderr } = await execFileNoThrowWithCwd("npm", [
|
|
399522
399522
|
"view",
|
|
399523
|
-
`${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399523
|
+
`${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL}@${tag}`,
|
|
399524
399524
|
"version",
|
|
399525
399525
|
"--prefer-online",
|
|
399526
399526
|
"--registry",
|
|
@@ -399544,7 +399544,7 @@ async function getLatestVersionFromArtifactory(tag = "latest") {
|
|
|
399544
399544
|
latency_ms: latencyMs,
|
|
399545
399545
|
source_npm: true
|
|
399546
399546
|
});
|
|
399547
|
-
logForDebugging(`npm view ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399547
|
+
logForDebugging(`npm view ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL}@${tag} version: ${stdout}`);
|
|
399548
399548
|
const latestVersion = stdout.trim();
|
|
399549
399549
|
return latestVersion;
|
|
399550
399550
|
}
|
|
@@ -399600,7 +399600,7 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
399600
399600
|
const fs11 = getFsImplementation();
|
|
399601
399601
|
await fs11.rm(stagingPath, { recursive: true, force: true });
|
|
399602
399602
|
const platform4 = getPlatform2();
|
|
399603
|
-
const platformPackageName = `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399603
|
+
const platformPackageName = `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL}-${platform4}`;
|
|
399604
399604
|
logForDebugging(`Fetching integrity hash for ${platformPackageName}@${version4}`);
|
|
399605
399605
|
const {
|
|
399606
399606
|
stdout: integrityOutput,
|
|
@@ -399629,7 +399629,7 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
399629
399629
|
name: "claude-native-installer",
|
|
399630
399630
|
version: "0.0.1",
|
|
399631
399631
|
dependencies: {
|
|
399632
|
-
[{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399632
|
+
[{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL]: version4
|
|
399633
399633
|
}
|
|
399634
399634
|
};
|
|
399635
399635
|
const packageLock = {
|
|
@@ -399642,10 +399642,10 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
399642
399642
|
name: "claude-native-installer",
|
|
399643
399643
|
version: "0.0.1",
|
|
399644
399644
|
dependencies: {
|
|
399645
|
-
[{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399645
|
+
[{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL]: version4
|
|
399646
399646
|
}
|
|
399647
399647
|
},
|
|
399648
|
-
[`node_modules/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399648
|
+
[`node_modules/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL}`]: {
|
|
399649
399649
|
version: version4,
|
|
399650
399650
|
optionalDependencies: {
|
|
399651
399651
|
[platformPackageName]: version4
|
|
@@ -399667,7 +399667,7 @@ async function downloadVersionFromArtifactory(version4, stagingPath) {
|
|
|
399667
399667
|
if (result.code !== 0) {
|
|
399668
399668
|
throw new Error(`npm ci failed with code ${result.code}: ${result.stderr}`);
|
|
399669
399669
|
}
|
|
399670
|
-
logForDebugging(`Successfully downloaded and verified ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
399670
|
+
logForDebugging(`Successfully downloaded and verified ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.NATIVE_PACKAGE_URL}@${version4}`);
|
|
399671
399671
|
}
|
|
399672
399672
|
function getStallTimeoutMs() {
|
|
399673
399673
|
return Number(process.env.CLAUDE_CODE_STALL_TIMEOUT_MS_FOR_TESTING) || DEFAULT_STALL_TIMEOUT_MS;
|
|
@@ -400330,8 +400330,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
400330
400330
|
const maxVersion = await getMaxVersion();
|
|
400331
400331
|
if (maxVersion && gt2(version4, maxVersion)) {
|
|
400332
400332
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version4} to ${maxVersion}`);
|
|
400333
|
-
if (gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
400334
|
-
logForDebugging(`Native installer: current version ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
400333
|
+
if (gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, maxVersion)) {
|
|
400334
|
+
logForDebugging(`Native installer: current version ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
400335
400335
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
400336
400336
|
latency_ms: Date.now() - startTime2,
|
|
400337
400337
|
max_version: maxVersion,
|
|
@@ -400342,7 +400342,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
400342
400342
|
version4 = maxVersion;
|
|
400343
400343
|
}
|
|
400344
400344
|
}
|
|
400345
|
-
if (!forceReinstall && version4 === { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
400345
|
+
if (!forceReinstall && version4 === { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION && await versionIsAvailable(version4) && await isPossibleClaudeBinary(executablePath)) {
|
|
400346
400346
|
logForDebugging(`Found ${version4} at ${executablePath}, skipping install`);
|
|
400347
400347
|
logEvent("tengu_native_update_complete", {
|
|
400348
400348
|
latency_ms: Date.now() - startTime2,
|
|
@@ -401084,8 +401084,8 @@ async function cleanupNpmInstallations() {
|
|
|
401084
401084
|
} else if (codePackageResult.error) {
|
|
401085
401085
|
errors.push(codePackageResult.error);
|
|
401086
401086
|
}
|
|
401087
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
401088
|
-
const macroPackageResult = await attemptNpmUninstall({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
401087
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL !== "@anthropic-ai/claude-code") {
|
|
401088
|
+
const macroPackageResult = await attemptNpmUninstall({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL);
|
|
401089
401089
|
if (macroPackageResult.success) {
|
|
401090
401090
|
removed++;
|
|
401091
401091
|
if (macroPackageResult.warning) {
|
|
@@ -401154,7 +401154,7 @@ var init_allErrors = __esm(() => {
|
|
|
401154
401154
|
|
|
401155
401155
|
// utils/status.tsx
|
|
401156
401156
|
function buildSandboxProperties() {
|
|
401157
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
401157
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant") {
|
|
401158
401158
|
return [];
|
|
401159
401159
|
}
|
|
401160
401160
|
const isSandboxed = SandboxManager2.isSandboxingEnabled();
|
|
@@ -418469,7 +418469,7 @@ function SpinnerWithVerbInner({
|
|
|
418469
418469
|
const messageColor = overrideColor ?? defaultColor;
|
|
418470
418470
|
const shimmerColor = overrideShimmerColor ?? defaultShimmerColor;
|
|
418471
418471
|
let ttftText = null;
|
|
418472
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
418472
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && apiMetricsRef?.current && apiMetricsRef.current.length > 0) {
|
|
418473
418473
|
ttftText = computeTtftText(apiMetricsRef.current);
|
|
418474
418474
|
}
|
|
418475
418475
|
if (leaderIsIdle && hasRunningTeammates && !foregroundedTeammate) {
|
|
@@ -429493,7 +429493,7 @@ function getSearchOrReadInfo(progressMessage, tools, toolUseByID) {
|
|
|
429493
429493
|
return null;
|
|
429494
429494
|
}
|
|
429495
429495
|
function processProgressMessages(messages, tools, isAgentRunning) {
|
|
429496
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
429496
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant") {
|
|
429497
429497
|
return messages.filter((m4) => hasProgressMessage(m4.data) && m4.data.message.type !== "user").map((m4) => ({
|
|
429498
429498
|
type: "original",
|
|
429499
429499
|
message: m4
|
|
@@ -429830,7 +429830,7 @@ function renderToolResultMessage(data, progressMessagesForMessage, {
|
|
|
429830
429830
|
return /* @__PURE__ */ jsx_runtime109.jsxs(ThemedBox_default, {
|
|
429831
429831
|
flexDirection: "column",
|
|
429832
429832
|
children: [
|
|
429833
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
429833
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime109.jsx(MessageResponse, {
|
|
429834
429834
|
children: /* @__PURE__ */ jsx_runtime109.jsxs(ThemedText, {
|
|
429835
429835
|
color: "warning",
|
|
429836
429836
|
children: [
|
|
@@ -430080,7 +430080,7 @@ function renderToolUseRejectedMessage(_input, {
|
|
|
430080
430080
|
const agentId = firstData && hasProgressMessage(firstData) ? firstData.agentId : undefined;
|
|
430081
430081
|
return /* @__PURE__ */ jsx_runtime109.jsxs(jsx_runtime109.Fragment, {
|
|
430082
430082
|
children: [
|
|
430083
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
430083
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && agentId && /* @__PURE__ */ jsx_runtime109.jsx(MessageResponse, {
|
|
430084
430084
|
children: /* @__PURE__ */ jsx_runtime109.jsxs(ThemedText, {
|
|
430085
430085
|
color: "warning",
|
|
430086
430086
|
children: [
|
|
@@ -430763,7 +430763,7 @@ async function executeForkedSlashCommand(command, args, context2, precedingInput
|
|
|
430763
430763
|
}
|
|
430764
430764
|
let resultText = extractResultText(agentMessages, "Command completed");
|
|
430765
430765
|
logForDebugging(`Forked slash command /${command.name} completed with agent ${agentId}`);
|
|
430766
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
430766
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
430767
430767
|
resultText = `[ANT-ONLY] API calls: ${getDisplayPath(getDumpPromptsPath(agentId))}
|
|
430768
430768
|
${resultText}`;
|
|
430769
430769
|
}
|
|
@@ -430906,7 +430906,7 @@ async function processSlashCommand(inputString, precedingInputBlocks, imageConte
|
|
|
430906
430906
|
logEvent("tengu_input_command", {
|
|
430907
430907
|
...eventData2,
|
|
430908
430908
|
invocation_trigger: "user-slash",
|
|
430909
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
430909
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && {
|
|
430910
430910
|
skill_name: commandName,
|
|
430911
430911
|
...returnedCommand.type === "prompt" && {
|
|
430912
430912
|
skill_source: returnedCommand.source
|
|
@@ -430967,7 +430967,7 @@ async function processSlashCommand(inputString, precedingInputBlocks, imageConte
|
|
|
430967
430967
|
logEvent("tengu_input_command", {
|
|
430968
430968
|
...eventData,
|
|
430969
430969
|
invocation_trigger: "user-slash",
|
|
430970
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
430970
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && {
|
|
430971
430971
|
skill_name: commandName,
|
|
430972
430972
|
...returnedCommand.type === "prompt" && {
|
|
430973
430973
|
skill_source: returnedCommand.source
|
|
@@ -476181,7 +476181,7 @@ function truncateCommand(command) {
|
|
|
476181
476181
|
function renderToolResultMessage11(output, _progressMessagesForMessage, {
|
|
476182
476182
|
verbose
|
|
476183
476183
|
}) {
|
|
476184
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
476184
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
476185
476185
|
return null;
|
|
476186
476186
|
}
|
|
476187
476187
|
const rawCommand = output.command ?? "";
|
|
@@ -477884,7 +477884,7 @@ var init_TaskOutputTool = __esm(() => {
|
|
|
477884
477884
|
return this.isReadOnly?.(_input) ?? false;
|
|
477885
477885
|
},
|
|
477886
477886
|
isEnabled() {
|
|
477887
|
-
return { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
477887
|
+
return { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant";
|
|
477888
477888
|
},
|
|
477889
477889
|
isReadOnly(_input) {
|
|
477890
477890
|
return true;
|
|
@@ -494407,7 +494407,7 @@ var init_AgentTool = __esm(() => {
|
|
|
494407
494407
|
mode: permissionModeSchema().optional().describe('Permission mode for spawned teammate (e.g., "plan" to require plan approval).')
|
|
494408
494408
|
});
|
|
494409
494409
|
return baseInputSchema().merge(multiAgentInputSchema).extend({
|
|
494410
|
-
isolation: ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
494410
|
+
isolation: ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? z76.enum(["worktree", "remote"]) : z76.enum(["worktree"])).optional().describe({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.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.'),
|
|
494411
494411
|
cwd: z76.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".')
|
|
494412
494412
|
});
|
|
494413
494413
|
});
|
|
@@ -494639,7 +494639,7 @@ var init_AgentTool = __esm(() => {
|
|
|
494639
494639
|
is_fork: isForkPath
|
|
494640
494640
|
});
|
|
494641
494641
|
const effectiveIsolation = isolation ?? selectedAgent.isolation;
|
|
494642
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
494642
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && effectiveIsolation === "remote") {
|
|
494643
494643
|
const eligibility = await checkRemoteAgentEligibility();
|
|
494644
494644
|
if (!eligibility.eligible) {
|
|
494645
494645
|
const reasons = eligibility.errors.map(formatPreconditionError).join(`
|
|
@@ -494714,7 +494714,7 @@ ${reasons}`);
|
|
|
494714
494714
|
});
|
|
494715
494715
|
if (selectedAgent.memory) {
|
|
494716
494716
|
logEvent("tengu_agent_memory_loaded", {
|
|
494717
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
494717
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && {
|
|
494718
494718
|
agent_type: selectedAgent.agentType
|
|
494719
494719
|
},
|
|
494720
494720
|
scope: selectedAgent.memory,
|
|
@@ -495275,7 +495275,7 @@ ${finalMessage}`;
|
|
|
495275
495275
|
},
|
|
495276
495276
|
async checkPermissions(input, context2) {
|
|
495277
495277
|
const appState = context2.getAppState();
|
|
495278
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
495278
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && appState.toolPermissionContext.mode === "auto") {
|
|
495279
495279
|
return {
|
|
495280
495280
|
behavior: "passthrough",
|
|
495281
495281
|
message: "Agent tool requires permission to spawn sub-agents."
|
|
@@ -504466,6 +504466,447 @@ var init_incompleteStreamRecovery = __esm(() => {
|
|
|
504466
504466
|
};
|
|
504467
504467
|
});
|
|
504468
504468
|
|
|
504469
|
+
// services/api/clientToolTurnBuffer.ts
|
|
504470
|
+
class ClientToolTurnBuffer {
|
|
504471
|
+
#messages = [];
|
|
504472
|
+
#sawClientTool = false;
|
|
504473
|
+
#hasInvalidInput = false;
|
|
504474
|
+
#hasPlaceholderInput = false;
|
|
504475
|
+
#clientToolCount = 0;
|
|
504476
|
+
add(message, inputs) {
|
|
504477
|
+
if (inputs.length === 0)
|
|
504478
|
+
return;
|
|
504479
|
+
this.#sawClientTool = true;
|
|
504480
|
+
this.#clientToolCount += inputs.length;
|
|
504481
|
+
if (inputs.some(({ status }) => status === "invalid_or_incomplete")) {
|
|
504482
|
+
this.#hasInvalidInput = true;
|
|
504483
|
+
}
|
|
504484
|
+
if (inputs.some(({ status }) => status === "placeholder")) {
|
|
504485
|
+
this.#hasPlaceholderInput = true;
|
|
504486
|
+
}
|
|
504487
|
+
this.#messages.push(message);
|
|
504488
|
+
}
|
|
504489
|
+
get hasClientToolUse() {
|
|
504490
|
+
return this.#sawClientTool;
|
|
504491
|
+
}
|
|
504492
|
+
get clientToolCount() {
|
|
504493
|
+
return this.#clientToolCount;
|
|
504494
|
+
}
|
|
504495
|
+
finalize(stopReason) {
|
|
504496
|
+
if (!this.#sawClientTool) {
|
|
504497
|
+
return {
|
|
504498
|
+
action: "release",
|
|
504499
|
+
code: null,
|
|
504500
|
+
messages: [],
|
|
504501
|
+
toolExecuted: false,
|
|
504502
|
+
clientToolCount: 0
|
|
504503
|
+
};
|
|
504504
|
+
}
|
|
504505
|
+
let code = null;
|
|
504506
|
+
if (stopReason === "max_tokens" || stopReason === "model_context_window_exceeded") {
|
|
504507
|
+
code = "max_output_tokens_during_tool_call";
|
|
504508
|
+
} else if (this.#hasInvalidInput || this.#hasPlaceholderInput) {
|
|
504509
|
+
code = "invalid_or_incomplete_tool_input";
|
|
504510
|
+
} else if (stopReason !== "tool_use") {
|
|
504511
|
+
code = "tool_use_stop_reason_mismatch";
|
|
504512
|
+
}
|
|
504513
|
+
if (code) {
|
|
504514
|
+
return {
|
|
504515
|
+
action: "discard",
|
|
504516
|
+
code,
|
|
504517
|
+
messages: [],
|
|
504518
|
+
toolExecuted: false,
|
|
504519
|
+
clientToolCount: this.#clientToolCount
|
|
504520
|
+
};
|
|
504521
|
+
}
|
|
504522
|
+
return {
|
|
504523
|
+
action: "release",
|
|
504524
|
+
code: null,
|
|
504525
|
+
messages: [...this.#messages],
|
|
504526
|
+
toolExecuted: false,
|
|
504527
|
+
clientToolCount: this.#clientToolCount
|
|
504528
|
+
};
|
|
504529
|
+
}
|
|
504530
|
+
}
|
|
504531
|
+
var ClientToolProtocolTurnError;
|
|
504532
|
+
var init_clientToolTurnBuffer = __esm(() => {
|
|
504533
|
+
ClientToolProtocolTurnError = class ClientToolProtocolTurnError extends Error {
|
|
504534
|
+
code;
|
|
504535
|
+
observedStopReason;
|
|
504536
|
+
clientToolCount;
|
|
504537
|
+
toolExecuted = false;
|
|
504538
|
+
requestId;
|
|
504539
|
+
upstreamRequestId;
|
|
504540
|
+
servedModel;
|
|
504541
|
+
servedDeployment;
|
|
504542
|
+
partialUsage;
|
|
504543
|
+
constructor({
|
|
504544
|
+
code,
|
|
504545
|
+
observedStopReason,
|
|
504546
|
+
clientToolCount,
|
|
504547
|
+
requestId,
|
|
504548
|
+
upstreamRequestId,
|
|
504549
|
+
servedModel,
|
|
504550
|
+
servedDeployment,
|
|
504551
|
+
partialUsage = {}
|
|
504552
|
+
}) {
|
|
504553
|
+
super("Client tool turn had an incompatible terminal protocol");
|
|
504554
|
+
this.name = "ClientToolProtocolTurnError";
|
|
504555
|
+
this.code = code;
|
|
504556
|
+
this.observedStopReason = observedStopReason ?? null;
|
|
504557
|
+
this.clientToolCount = clientToolCount;
|
|
504558
|
+
this.requestId = requestId;
|
|
504559
|
+
this.upstreamRequestId = upstreamRequestId;
|
|
504560
|
+
this.servedModel = servedModel;
|
|
504561
|
+
this.servedDeployment = servedDeployment;
|
|
504562
|
+
this.partialUsage = { ...partialUsage };
|
|
504563
|
+
}
|
|
504564
|
+
};
|
|
504565
|
+
});
|
|
504566
|
+
|
|
504567
|
+
// services/api/gatewayTransport.ts
|
|
504568
|
+
function getCclGatewayUA(model) {
|
|
504569
|
+
return model ? `ccl/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} (${model})` : `ccl/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}`;
|
|
504570
|
+
}
|
|
504571
|
+
function parseGatewayContextCapabilityUnavailable(status, responseText) {
|
|
504572
|
+
if (status !== 422)
|
|
504573
|
+
return;
|
|
504574
|
+
let parsed;
|
|
504575
|
+
try {
|
|
504576
|
+
parsed = JSON.parse(responseText);
|
|
504577
|
+
} catch {
|
|
504578
|
+
return;
|
|
504579
|
+
}
|
|
504580
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
504581
|
+
return;
|
|
504582
|
+
}
|
|
504583
|
+
const error5 = parsed.error;
|
|
504584
|
+
if (typeof error5 !== "object" || error5 === null || Array.isArray(error5)) {
|
|
504585
|
+
return;
|
|
504586
|
+
}
|
|
504587
|
+
const fields = error5;
|
|
504588
|
+
if (fields.type !== "context_capability_unavailable" || !Number.isSafeInteger(fields.required_context_tokens) || fields.required_context_tokens <= 0) {
|
|
504589
|
+
return;
|
|
504590
|
+
}
|
|
504591
|
+
return new GatewayContextCapabilityUnavailableError(fields.required_context_tokens);
|
|
504592
|
+
}
|
|
504593
|
+
function parseGatewayAlternateDeploymentUnavailable(status, responseText) {
|
|
504594
|
+
if (status !== 409)
|
|
504595
|
+
return;
|
|
504596
|
+
let parsed;
|
|
504597
|
+
try {
|
|
504598
|
+
parsed = JSON.parse(responseText);
|
|
504599
|
+
} catch {
|
|
504600
|
+
return;
|
|
504601
|
+
}
|
|
504602
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
504603
|
+
return;
|
|
504604
|
+
}
|
|
504605
|
+
const error5 = parsed.error;
|
|
504606
|
+
if (typeof error5 !== "object" || error5 === null || Array.isArray(error5)) {
|
|
504607
|
+
return;
|
|
504608
|
+
}
|
|
504609
|
+
if (error5.type !== "alternate_deployment_unavailable") {
|
|
504610
|
+
return;
|
|
504611
|
+
}
|
|
504612
|
+
return new GatewayAlternateDeploymentUnavailableError;
|
|
504613
|
+
}
|
|
504614
|
+
function normalizeGatewayAvoidDeployment(value) {
|
|
504615
|
+
const trimmed = value?.trim();
|
|
504616
|
+
if (!trimmed || trimmed.length > 128)
|
|
504617
|
+
return;
|
|
504618
|
+
for (const character of trimmed) {
|
|
504619
|
+
const code = character.charCodeAt(0);
|
|
504620
|
+
const allowed = code >= 48 && code <= 57 || code >= 65 && code <= 90 || code >= 97 && code <= 122 || character === "-" || character === "_" || character === "." || character === ":";
|
|
504621
|
+
if (!allowed)
|
|
504622
|
+
return;
|
|
504623
|
+
}
|
|
504624
|
+
return trimmed;
|
|
504625
|
+
}
|
|
504626
|
+
async function createGatewayStream(options) {
|
|
504627
|
+
const {
|
|
504628
|
+
url: url3,
|
|
504629
|
+
key,
|
|
504630
|
+
body,
|
|
504631
|
+
signal,
|
|
504632
|
+
tags,
|
|
504633
|
+
minimumContextTokens,
|
|
504634
|
+
avoidDeployment
|
|
504635
|
+
} = options;
|
|
504636
|
+
const normalizedAvoidDeployment = normalizeGatewayAvoidDeployment(avoidDeployment);
|
|
504637
|
+
let lastError;
|
|
504638
|
+
for (let attempt = 0;attempt <= GATEWAY_MAX_RETRIES; attempt++) {
|
|
504639
|
+
if (signal?.aborted)
|
|
504640
|
+
throw new APIUserAbortError;
|
|
504641
|
+
if (attempt > 0) {
|
|
504642
|
+
await new Promise((r3) => setTimeout(r3, GATEWAY_RETRY_DELAYS[attempt - 1]));
|
|
504643
|
+
}
|
|
504644
|
+
try {
|
|
504645
|
+
const response = await fetch(url3, {
|
|
504646
|
+
method: "POST",
|
|
504647
|
+
headers: {
|
|
504648
|
+
"Content-Type": "application/json",
|
|
504649
|
+
Authorization: `Bearer ${key}`,
|
|
504650
|
+
"User-Agent": getCclGatewayUA(body.model),
|
|
504651
|
+
...tags ? { "x-litellm-tags": tags } : {},
|
|
504652
|
+
...Number.isSafeInteger(minimumContextTokens) && (minimumContextTokens ?? 0) > 0 ? {
|
|
504653
|
+
"X-Margay-Min-Context-Tokens": String(minimumContextTokens)
|
|
504654
|
+
} : {},
|
|
504655
|
+
...normalizedAvoidDeployment ? {
|
|
504656
|
+
"X-Margay-Avoid-Deployment": normalizedAvoidDeployment
|
|
504657
|
+
} : {}
|
|
504658
|
+
},
|
|
504659
|
+
body: JSON.stringify({ ...body, stream: true }),
|
|
504660
|
+
signal
|
|
504661
|
+
});
|
|
504662
|
+
if (response.status === 429 || response.status >= 500) {
|
|
504663
|
+
await response.body?.cancel().catch(() => {});
|
|
504664
|
+
lastError = response.status >= 500 ? new GatewayUpstreamUnavailableError(response.status) : new Error(`Gateway ${response.status}`);
|
|
504665
|
+
continue;
|
|
504666
|
+
}
|
|
504667
|
+
if (!response.ok) {
|
|
504668
|
+
const errorText = await response.text().catch(() => "");
|
|
504669
|
+
const alternateUnavailableError = parseGatewayAlternateDeploymentUnavailable(response.status, errorText);
|
|
504670
|
+
if (alternateUnavailableError)
|
|
504671
|
+
throw alternateUnavailableError;
|
|
504672
|
+
const contextCapabilityError = parseGatewayContextCapabilityUnavailable(response.status, errorText);
|
|
504673
|
+
if (contextCapabilityError)
|
|
504674
|
+
throw contextCapabilityError;
|
|
504675
|
+
throw new GatewayNonRetryableError(`Gateway ${response.status}: ${errorText}`);
|
|
504676
|
+
}
|
|
504677
|
+
return {
|
|
504678
|
+
stream: new GatewayStream(response, signal),
|
|
504679
|
+
response
|
|
504680
|
+
};
|
|
504681
|
+
} catch (e3) {
|
|
504682
|
+
if (signal?.aborted)
|
|
504683
|
+
throw new APIUserAbortError;
|
|
504684
|
+
if (e3 instanceof GatewayNonRetryableError)
|
|
504685
|
+
throw e3;
|
|
504686
|
+
lastError = e3;
|
|
504687
|
+
if (attempt === GATEWAY_MAX_RETRIES)
|
|
504688
|
+
throw lastError;
|
|
504689
|
+
}
|
|
504690
|
+
}
|
|
504691
|
+
throw lastError;
|
|
504692
|
+
}
|
|
504693
|
+
var GATEWAY_MAX_RETRIES = 2, GATEWAY_RETRY_DELAYS, GatewayNonRetryableError, GatewayContextCapabilityUnavailableError, GatewayAlternateDeploymentUnavailableError, GatewayUpstreamUnavailableError, GatewayStreamProtocolError, GatewayStream;
|
|
504694
|
+
var init_gatewayTransport = __esm(() => {
|
|
504695
|
+
init_sdk();
|
|
504696
|
+
GATEWAY_RETRY_DELAYS = [1000, 3000];
|
|
504697
|
+
GatewayNonRetryableError = class GatewayNonRetryableError extends Error {
|
|
504698
|
+
constructor(message) {
|
|
504699
|
+
super(message);
|
|
504700
|
+
this.name = "GatewayNonRetryableError";
|
|
504701
|
+
}
|
|
504702
|
+
};
|
|
504703
|
+
GatewayContextCapabilityUnavailableError = class GatewayContextCapabilityUnavailableError extends GatewayNonRetryableError {
|
|
504704
|
+
code = "context_capability_unavailable";
|
|
504705
|
+
requiredContextTokens;
|
|
504706
|
+
constructor(requiredContextTokens) {
|
|
504707
|
+
super("Gateway has no configured deployment with sufficient context capacity");
|
|
504708
|
+
this.name = "GatewayContextCapabilityUnavailableError";
|
|
504709
|
+
this.requiredContextTokens = requiredContextTokens;
|
|
504710
|
+
}
|
|
504711
|
+
};
|
|
504712
|
+
GatewayAlternateDeploymentUnavailableError = class GatewayAlternateDeploymentUnavailableError extends GatewayNonRetryableError {
|
|
504713
|
+
code = "alternate_deployment_unavailable";
|
|
504714
|
+
constructor() {
|
|
504715
|
+
super("Gateway has no alternate deployment for this model");
|
|
504716
|
+
this.name = "GatewayAlternateDeploymentUnavailableError";
|
|
504717
|
+
}
|
|
504718
|
+
};
|
|
504719
|
+
GatewayUpstreamUnavailableError = class GatewayUpstreamUnavailableError extends Error {
|
|
504720
|
+
code = "gateway_upstream_unavailable";
|
|
504721
|
+
status;
|
|
504722
|
+
constructor(status) {
|
|
504723
|
+
super(`Gateway upstream unavailable (HTTP ${status})`);
|
|
504724
|
+
this.name = "GatewayUpstreamUnavailableError";
|
|
504725
|
+
this.status = status;
|
|
504726
|
+
}
|
|
504727
|
+
};
|
|
504728
|
+
GatewayStreamProtocolError = class GatewayStreamProtocolError extends Error {
|
|
504729
|
+
code;
|
|
504730
|
+
lastEventType;
|
|
504731
|
+
partialUsage;
|
|
504732
|
+
constructor(code, message, details = {}) {
|
|
504733
|
+
super(message);
|
|
504734
|
+
this.name = "GatewayStreamProtocolError";
|
|
504735
|
+
this.code = code;
|
|
504736
|
+
this.lastEventType = details.lastEventType;
|
|
504737
|
+
this.partialUsage = details.partialUsage ?? {};
|
|
504738
|
+
}
|
|
504739
|
+
};
|
|
504740
|
+
GatewayStream = class GatewayStream {
|
|
504741
|
+
response;
|
|
504742
|
+
controller;
|
|
504743
|
+
constructor(response, abortSignal) {
|
|
504744
|
+
this.response = response;
|
|
504745
|
+
this.controller = new AbortController;
|
|
504746
|
+
if (abortSignal) {
|
|
504747
|
+
abortSignal.addEventListener("abort", () => this.controller.abort(), { once: true });
|
|
504748
|
+
}
|
|
504749
|
+
}
|
|
504750
|
+
async* [Symbol.asyncIterator]() {
|
|
504751
|
+
const reader = this.response.body.getReader();
|
|
504752
|
+
const decoder = new TextDecoder;
|
|
504753
|
+
let buffer = "";
|
|
504754
|
+
let yieldedAny = false;
|
|
504755
|
+
let rawSnippet = "";
|
|
504756
|
+
let terminalComplete = false;
|
|
504757
|
+
let lastEventType;
|
|
504758
|
+
const partialUsage = {};
|
|
504759
|
+
const protocolError = (code, message) => new GatewayStreamProtocolError(code, message, {
|
|
504760
|
+
lastEventType,
|
|
504761
|
+
partialUsage: { ...partialUsage }
|
|
504762
|
+
});
|
|
504763
|
+
const parseLine = (line) => {
|
|
504764
|
+
const trimmed = line.replace(/\r$/, "");
|
|
504765
|
+
if (!trimmed.startsWith("data:"))
|
|
504766
|
+
return null;
|
|
504767
|
+
const data = trimmed.slice(5).trim();
|
|
504768
|
+
if (!data)
|
|
504769
|
+
return null;
|
|
504770
|
+
if (data === "[DONE]")
|
|
504771
|
+
return "done";
|
|
504772
|
+
let event;
|
|
504773
|
+
try {
|
|
504774
|
+
event = JSON.parse(data);
|
|
504775
|
+
} catch {
|
|
504776
|
+
return null;
|
|
504777
|
+
}
|
|
504778
|
+
const typed = event;
|
|
504779
|
+
const type = typed.type;
|
|
504780
|
+
if (type === "ping") {
|
|
504781
|
+
yieldedAny = true;
|
|
504782
|
+
return null;
|
|
504783
|
+
}
|
|
504784
|
+
yieldedAny = true;
|
|
504785
|
+
if (type)
|
|
504786
|
+
lastEventType = type;
|
|
504787
|
+
const usage = type === "message_start" ? typed.message?.usage : typed.usage;
|
|
504788
|
+
if (usage) {
|
|
504789
|
+
for (const key of ["input_tokens", "output_tokens", "cache_read_input_tokens", "cache_creation_input_tokens"]) {
|
|
504790
|
+
if (typeof usage[key] === "number")
|
|
504791
|
+
partialUsage[key] = usage[key];
|
|
504792
|
+
}
|
|
504793
|
+
}
|
|
504794
|
+
if (type === "error") {
|
|
504795
|
+
const incomplete = typed.margay?.code === "incomplete_upstream_stream";
|
|
504796
|
+
throw protocolError(incomplete ? "incomplete_stream" : "upstream_stream_error", incomplete ? "Gateway upstream stream ended before message_stop" : "Gateway emitted a stream error event");
|
|
504797
|
+
}
|
|
504798
|
+
if (type === "message_stop")
|
|
504799
|
+
terminalComplete = true;
|
|
504800
|
+
return event;
|
|
504801
|
+
};
|
|
504802
|
+
const onAbort = () => {
|
|
504803
|
+
process.stderr.write(`[ccl-trace] {"target":"gateway-stream-abort","action":"cancel-pending-read"}
|
|
504804
|
+
`);
|
|
504805
|
+
reader.cancel().catch(() => {});
|
|
504806
|
+
};
|
|
504807
|
+
if (this.controller.signal.aborted)
|
|
504808
|
+
onAbort();
|
|
504809
|
+
else
|
|
504810
|
+
this.controller.signal.addEventListener("abort", onAbort, { once: true });
|
|
504811
|
+
try {
|
|
504812
|
+
while (true) {
|
|
504813
|
+
if (this.controller.signal.aborted) {
|
|
504814
|
+
return;
|
|
504815
|
+
}
|
|
504816
|
+
const { done, value } = await reader.read();
|
|
504817
|
+
if (done) {
|
|
504818
|
+
if (this.controller.signal.aborted)
|
|
504819
|
+
return;
|
|
504820
|
+
break;
|
|
504821
|
+
}
|
|
504822
|
+
const chunk = decoder.decode(value, { stream: true });
|
|
504823
|
+
if (rawSnippet.length < 500)
|
|
504824
|
+
rawSnippet += chunk.slice(0, 500 - rawSnippet.length);
|
|
504825
|
+
buffer += chunk;
|
|
504826
|
+
const lines = buffer.split(`
|
|
504827
|
+
`);
|
|
504828
|
+
buffer = lines.pop() ?? "";
|
|
504829
|
+
for (const line of lines) {
|
|
504830
|
+
const parsed = parseLine(line);
|
|
504831
|
+
if (parsed === "done") {
|
|
504832
|
+
if (!terminalComplete)
|
|
504833
|
+
throw protocolError("incomplete_stream", "Gateway stream sent [DONE] before message_stop");
|
|
504834
|
+
return;
|
|
504835
|
+
}
|
|
504836
|
+
if (parsed)
|
|
504837
|
+
yield parsed;
|
|
504838
|
+
}
|
|
504839
|
+
}
|
|
504840
|
+
buffer += decoder.decode();
|
|
504841
|
+
if (buffer.trim()) {
|
|
504842
|
+
const parsed = parseLine(buffer);
|
|
504843
|
+
if (parsed === "done") {
|
|
504844
|
+
if (!terminalComplete)
|
|
504845
|
+
throw protocolError("incomplete_stream", "Gateway stream sent [DONE] before message_stop");
|
|
504846
|
+
} else if (parsed) {
|
|
504847
|
+
yield parsed;
|
|
504848
|
+
}
|
|
504849
|
+
}
|
|
504850
|
+
if (!yieldedAny) {
|
|
504851
|
+
const ct2 = this.response.headers.get("content-type") ?? "unknown";
|
|
504852
|
+
throw new Error(`Gateway stream returned no SSE events (status=${this.response.status}, content-type=${ct2}, body=${rawSnippet.slice(0, 200)})`);
|
|
504853
|
+
}
|
|
504854
|
+
if (!terminalComplete) {
|
|
504855
|
+
throw protocolError("incomplete_stream", "Gateway stream ended before message_stop");
|
|
504856
|
+
}
|
|
504857
|
+
} finally {
|
|
504858
|
+
this.controller.signal.removeEventListener("abort", onAbort);
|
|
504859
|
+
try {
|
|
504860
|
+
await reader.cancel();
|
|
504861
|
+
} catch {}
|
|
504862
|
+
}
|
|
504863
|
+
}
|
|
504864
|
+
};
|
|
504865
|
+
});
|
|
504866
|
+
|
|
504867
|
+
// services/api/clientToolProtocolRecovery.ts
|
|
504868
|
+
function initialClientToolProtocolRecoveryState() {
|
|
504869
|
+
return {
|
|
504870
|
+
sameModelRetryUsed: false,
|
|
504871
|
+
heterogeneousFallbackUsed: false
|
|
504872
|
+
};
|
|
504873
|
+
}
|
|
504874
|
+
function decideClientToolProtocolRecovery({
|
|
504875
|
+
error: error5,
|
|
504876
|
+
state,
|
|
504877
|
+
currentModel,
|
|
504878
|
+
fallbackModel,
|
|
504879
|
+
toolStates
|
|
504880
|
+
}) {
|
|
504881
|
+
if (error5.toolExecuted || toolStates.length > 0) {
|
|
504882
|
+
return { action: "fail_side_effect_observed" };
|
|
504883
|
+
}
|
|
504884
|
+
const servedDeployment = error5.servedDeployment?.trim();
|
|
504885
|
+
if (!state.sameModelRetryUsed && servedDeployment) {
|
|
504886
|
+
return {
|
|
504887
|
+
action: "retry_same_model",
|
|
504888
|
+
avoidDeployment: servedDeployment,
|
|
504889
|
+
nextState: {
|
|
504890
|
+
...state,
|
|
504891
|
+
sameModelRetryUsed: true
|
|
504892
|
+
}
|
|
504893
|
+
};
|
|
504894
|
+
}
|
|
504895
|
+
const heterogeneousModel = fallbackModel?.trim();
|
|
504896
|
+
if (!state.heterogeneousFallbackUsed && heterogeneousModel && heterogeneousModel !== currentModel) {
|
|
504897
|
+
return {
|
|
504898
|
+
action: "retry_heterogeneous",
|
|
504899
|
+
model: heterogeneousModel,
|
|
504900
|
+
nextState: {
|
|
504901
|
+
...state,
|
|
504902
|
+
sameModelRetryUsed: true,
|
|
504903
|
+
heterogeneousFallbackUsed: true
|
|
504904
|
+
}
|
|
504905
|
+
};
|
|
504906
|
+
}
|
|
504907
|
+
return { action: "fail_exhausted" };
|
|
504908
|
+
}
|
|
504909
|
+
|
|
504469
504910
|
// query/classifierFallback.ts
|
|
504470
504911
|
function resolveClassifierFallbackModel() {
|
|
504471
504912
|
return getDefaultSonnetModel();
|
|
@@ -505417,6 +505858,9 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
505417
505858
|
}
|
|
505418
505859
|
let attemptWithFallback = true;
|
|
505419
505860
|
let incompleteStreamRetryCount = 0;
|
|
505861
|
+
let clientToolProtocolRecoveryState = initialClientToolProtocolRecoveryState();
|
|
505862
|
+
let avoidGatewayDeployment;
|
|
505863
|
+
let lastClientToolProtocolError;
|
|
505420
505864
|
let endpointOverrides = {};
|
|
505421
505865
|
let currentEndpointName = toolUseContext.getAppState().currentEndpoint;
|
|
505422
505866
|
if (currentEndpointName) {
|
|
@@ -505464,6 +505908,7 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
505464
505908
|
queryTracking,
|
|
505465
505909
|
effortValue: appState.effortValue,
|
|
505466
505910
|
advisorModel: appState.advisorModel,
|
|
505911
|
+
...avoidGatewayDeployment && { avoidGatewayDeployment },
|
|
505467
505912
|
skipCacheWrite,
|
|
505468
505913
|
agentId: toolUseContext.agentId,
|
|
505469
505914
|
addNotification: toolUseContext.addNotification,
|
|
@@ -505596,6 +506041,111 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
505596
506041
|
}
|
|
505597
506042
|
}
|
|
505598
506043
|
} catch (innerError) {
|
|
506044
|
+
if (innerError instanceof ClientToolProtocolTurnError) {
|
|
506045
|
+
lastClientToolProtocolError = innerError;
|
|
506046
|
+
const toolStates = streamingToolExecutor?.getSafeStateSnapshot() ?? [];
|
|
506047
|
+
const decision = decideClientToolProtocolRecovery({
|
|
506048
|
+
error: innerError,
|
|
506049
|
+
state: clientToolProtocolRecoveryState,
|
|
506050
|
+
currentModel,
|
|
506051
|
+
fallbackModel,
|
|
506052
|
+
toolStates
|
|
506053
|
+
});
|
|
506054
|
+
logEvent("tengu_client_tool_protocol_recovery", {
|
|
506055
|
+
action: decision.action,
|
|
506056
|
+
code: innerError.code,
|
|
506057
|
+
stop_reason: innerError.observedStopReason ?? "missing",
|
|
506058
|
+
client_tool_count: innerError.clientToolCount,
|
|
506059
|
+
tool_executed: false,
|
|
506060
|
+
request_id: innerError.requestId ?? "unknown",
|
|
506061
|
+
upstream_request_id: innerError.upstreamRequestId ?? "unknown",
|
|
506062
|
+
served_model: innerError.servedModel ?? "unknown",
|
|
506063
|
+
served_deployment: innerError.servedDeployment ?? "unknown"
|
|
506064
|
+
});
|
|
506065
|
+
if (decision.action === "retry_same_model" || decision.action === "retry_heterogeneous") {
|
|
506066
|
+
const tombstones = resetIncompleteStreamAttempt({
|
|
506067
|
+
assistantMessages,
|
|
506068
|
+
toolResults,
|
|
506069
|
+
toolUseBlocks,
|
|
506070
|
+
discardExecutor: streamingToolExecutor ? () => streamingToolExecutor?.discard() : undefined
|
|
506071
|
+
});
|
|
506072
|
+
for (const tombstone of tombstones)
|
|
506073
|
+
yield tombstone;
|
|
506074
|
+
needsFollowUp = false;
|
|
506075
|
+
streamingToolExecutor = useStreamingToolExecution ? new StreamingToolExecutor(toolUseContext.options.tools, canUseTool, toolUseContext) : null;
|
|
506076
|
+
clientToolProtocolRecoveryState = decision.nextState;
|
|
506077
|
+
if (decision.action === "retry_same_model") {
|
|
506078
|
+
avoidGatewayDeployment = decision.avoidDeployment;
|
|
506079
|
+
} else {
|
|
506080
|
+
avoidGatewayDeployment = undefined;
|
|
506081
|
+
currentModel = decision.model;
|
|
506082
|
+
toolUseContext.options.mainLoopModel = decision.model;
|
|
506083
|
+
if (process.env.USER_TYPE === "ant") {
|
|
506084
|
+
messagesForQuery = stripSignatureBlocks(messagesForQuery);
|
|
506085
|
+
}
|
|
506086
|
+
}
|
|
506087
|
+
attemptWithFallback = true;
|
|
506088
|
+
continue;
|
|
506089
|
+
}
|
|
506090
|
+
const sideEffectObserved = decision.action === "fail_side_effect_observed";
|
|
506091
|
+
yield createAssistantAPIErrorMessage({
|
|
506092
|
+
content: sideEffectObserved ? "A client tool may already have started, so Margay stopped automatic replay to avoid a duplicate side effect. Review the last tool result and retry only if it is safe." : "The model and available fallbacks returned an inconsistent client-tool turn. No tool from those responses was executed. Retry with another model or provider to continue safely.",
|
|
506093
|
+
apiError: "tool_use_protocol_error",
|
|
506094
|
+
error: "server_error",
|
|
506095
|
+
errorDetails: innerError.code
|
|
506096
|
+
});
|
|
506097
|
+
streamingToolExecutor?.dispose();
|
|
506098
|
+
return { reason: "model_error", error: innerError };
|
|
506099
|
+
}
|
|
506100
|
+
if (innerError instanceof GatewayAlternateDeploymentUnavailableError && lastClientToolProtocolError) {
|
|
506101
|
+
const decision = decideClientToolProtocolRecovery({
|
|
506102
|
+
error: lastClientToolProtocolError,
|
|
506103
|
+
state: clientToolProtocolRecoveryState,
|
|
506104
|
+
currentModel,
|
|
506105
|
+
fallbackModel,
|
|
506106
|
+
toolStates: streamingToolExecutor?.getSafeStateSnapshot() ?? []
|
|
506107
|
+
});
|
|
506108
|
+
logEvent("tengu_client_tool_protocol_recovery", {
|
|
506109
|
+
action: decision.action,
|
|
506110
|
+
code: innerError.code,
|
|
506111
|
+
stop_reason: lastClientToolProtocolError.observedStopReason ?? "missing",
|
|
506112
|
+
client_tool_count: lastClientToolProtocolError.clientToolCount,
|
|
506113
|
+
tool_executed: false,
|
|
506114
|
+
request_id: lastClientToolProtocolError.requestId ?? "unknown",
|
|
506115
|
+
upstream_request_id: lastClientToolProtocolError.upstreamRequestId ?? "unknown",
|
|
506116
|
+
served_model: lastClientToolProtocolError.servedModel ?? "unknown",
|
|
506117
|
+
served_deployment: lastClientToolProtocolError.servedDeployment ?? "unknown"
|
|
506118
|
+
});
|
|
506119
|
+
if (decision.action === "retry_heterogeneous") {
|
|
506120
|
+
const tombstones = resetIncompleteStreamAttempt({
|
|
506121
|
+
assistantMessages,
|
|
506122
|
+
toolResults,
|
|
506123
|
+
toolUseBlocks,
|
|
506124
|
+
discardExecutor: streamingToolExecutor ? () => streamingToolExecutor?.discard() : undefined
|
|
506125
|
+
});
|
|
506126
|
+
for (const tombstone of tombstones)
|
|
506127
|
+
yield tombstone;
|
|
506128
|
+
needsFollowUp = false;
|
|
506129
|
+
streamingToolExecutor = useStreamingToolExecution ? new StreamingToolExecutor(toolUseContext.options.tools, canUseTool, toolUseContext) : null;
|
|
506130
|
+
clientToolProtocolRecoveryState = decision.nextState;
|
|
506131
|
+
avoidGatewayDeployment = undefined;
|
|
506132
|
+
currentModel = decision.model;
|
|
506133
|
+
toolUseContext.options.mainLoopModel = decision.model;
|
|
506134
|
+
if (process.env.USER_TYPE === "ant") {
|
|
506135
|
+
messagesForQuery = stripSignatureBlocks(messagesForQuery);
|
|
506136
|
+
}
|
|
506137
|
+
attemptWithFallback = true;
|
|
506138
|
+
continue;
|
|
506139
|
+
}
|
|
506140
|
+
yield createAssistantAPIErrorMessage({
|
|
506141
|
+
content: "The model returned an inconsistent client-tool turn and no same-model alternate deployment was available. No tool was executed. Configure a heterogeneous fallback or retry with another model.",
|
|
506142
|
+
apiError: "tool_use_protocol_error",
|
|
506143
|
+
error: "server_error",
|
|
506144
|
+
errorDetails: innerError.code
|
|
506145
|
+
});
|
|
506146
|
+
streamingToolExecutor?.dispose();
|
|
506147
|
+
return { reason: "model_error", error: innerError };
|
|
506148
|
+
}
|
|
505599
506149
|
if (innerError instanceof IncompleteModelTurnError) {
|
|
505600
506150
|
const facts = {
|
|
505601
506151
|
...innerError.facts,
|
|
@@ -506311,6 +506861,8 @@ var init_query3 = __esm(() => {
|
|
|
506311
506861
|
init_state();
|
|
506312
506862
|
init_tokenBudget2();
|
|
506313
506863
|
init_incompleteStreamRecovery();
|
|
506864
|
+
init_clientToolTurnBuffer();
|
|
506865
|
+
init_gatewayTransport();
|
|
506314
506866
|
init_classifierFallback();
|
|
506315
506867
|
init_classifierFallback();
|
|
506316
506868
|
contextCollapse = feature("CONTEXT_COLLAPSE") ? __toCommonJS(exports_contextCollapse) : null;
|
|
@@ -506392,9 +506944,9 @@ function getAnthropicEnvMetadata() {
|
|
|
506392
506944
|
};
|
|
506393
506945
|
}
|
|
506394
506946
|
function getBuildAgeMinutes() {
|
|
506395
|
-
if (!{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
506947
|
+
if (!{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.BUILD_TIME)
|
|
506396
506948
|
return;
|
|
506397
|
-
const buildTime = new Date({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
506949
|
+
const buildTime = new Date({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.BUILD_TIME).getTime();
|
|
506398
506950
|
if (isNaN(buildTime))
|
|
506399
506951
|
return;
|
|
506400
506952
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -507116,251 +507668,6 @@ var init_types9 = __esm(() => {
|
|
|
507116
507668
|
];
|
|
507117
507669
|
});
|
|
507118
507670
|
|
|
507119
|
-
// services/api/gatewayTransport.ts
|
|
507120
|
-
function getCclGatewayUA(model) {
|
|
507121
|
-
return model ? `ccl/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.6", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-27T13:53:11.177Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.6" }.VERSION} (${model})` : `ccl/${{ USER_TYPE: "external", VERSION: "1.3.5-rc.6", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-27T13:53:11.177Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.6" }.VERSION}`;
|
|
507122
|
-
}
|
|
507123
|
-
function parseGatewayContextCapabilityUnavailable(status, responseText) {
|
|
507124
|
-
if (status !== 422)
|
|
507125
|
-
return;
|
|
507126
|
-
let parsed;
|
|
507127
|
-
try {
|
|
507128
|
-
parsed = JSON.parse(responseText);
|
|
507129
|
-
} catch {
|
|
507130
|
-
return;
|
|
507131
|
-
}
|
|
507132
|
-
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
|
|
507133
|
-
return;
|
|
507134
|
-
}
|
|
507135
|
-
const error5 = parsed.error;
|
|
507136
|
-
if (typeof error5 !== "object" || error5 === null || Array.isArray(error5)) {
|
|
507137
|
-
return;
|
|
507138
|
-
}
|
|
507139
|
-
const fields = error5;
|
|
507140
|
-
if (fields.type !== "context_capability_unavailable" || !Number.isSafeInteger(fields.required_context_tokens) || fields.required_context_tokens <= 0) {
|
|
507141
|
-
return;
|
|
507142
|
-
}
|
|
507143
|
-
return new GatewayContextCapabilityUnavailableError(fields.required_context_tokens);
|
|
507144
|
-
}
|
|
507145
|
-
async function createGatewayStream(options) {
|
|
507146
|
-
const { url: url3, key, body, signal, tags, minimumContextTokens } = options;
|
|
507147
|
-
let lastError;
|
|
507148
|
-
for (let attempt = 0;attempt <= GATEWAY_MAX_RETRIES; attempt++) {
|
|
507149
|
-
if (signal?.aborted)
|
|
507150
|
-
throw new APIUserAbortError;
|
|
507151
|
-
if (attempt > 0) {
|
|
507152
|
-
await new Promise((r3) => setTimeout(r3, GATEWAY_RETRY_DELAYS[attempt - 1]));
|
|
507153
|
-
}
|
|
507154
|
-
try {
|
|
507155
|
-
const response = await fetch(url3, {
|
|
507156
|
-
method: "POST",
|
|
507157
|
-
headers: {
|
|
507158
|
-
"Content-Type": "application/json",
|
|
507159
|
-
Authorization: `Bearer ${key}`,
|
|
507160
|
-
"User-Agent": getCclGatewayUA(body.model),
|
|
507161
|
-
...tags ? { "x-litellm-tags": tags } : {},
|
|
507162
|
-
...Number.isSafeInteger(minimumContextTokens) && (minimumContextTokens ?? 0) > 0 ? {
|
|
507163
|
-
"X-Margay-Min-Context-Tokens": String(minimumContextTokens)
|
|
507164
|
-
} : {}
|
|
507165
|
-
},
|
|
507166
|
-
body: JSON.stringify({ ...body, stream: true }),
|
|
507167
|
-
signal
|
|
507168
|
-
});
|
|
507169
|
-
if (response.status === 429 || response.status >= 500) {
|
|
507170
|
-
await response.body?.cancel().catch(() => {});
|
|
507171
|
-
lastError = response.status >= 500 ? new GatewayUpstreamUnavailableError(response.status) : new Error(`Gateway ${response.status}`);
|
|
507172
|
-
continue;
|
|
507173
|
-
}
|
|
507174
|
-
if (!response.ok) {
|
|
507175
|
-
const errorText = await response.text().catch(() => "");
|
|
507176
|
-
const contextCapabilityError = parseGatewayContextCapabilityUnavailable(response.status, errorText);
|
|
507177
|
-
if (contextCapabilityError)
|
|
507178
|
-
throw contextCapabilityError;
|
|
507179
|
-
throw new GatewayNonRetryableError(`Gateway ${response.status}: ${errorText}`);
|
|
507180
|
-
}
|
|
507181
|
-
return {
|
|
507182
|
-
stream: new GatewayStream(response, signal),
|
|
507183
|
-
response
|
|
507184
|
-
};
|
|
507185
|
-
} catch (e3) {
|
|
507186
|
-
if (signal?.aborted)
|
|
507187
|
-
throw new APIUserAbortError;
|
|
507188
|
-
if (e3 instanceof GatewayNonRetryableError)
|
|
507189
|
-
throw e3;
|
|
507190
|
-
lastError = e3;
|
|
507191
|
-
if (attempt === GATEWAY_MAX_RETRIES)
|
|
507192
|
-
throw lastError;
|
|
507193
|
-
}
|
|
507194
|
-
}
|
|
507195
|
-
throw lastError;
|
|
507196
|
-
}
|
|
507197
|
-
var GATEWAY_MAX_RETRIES = 2, GATEWAY_RETRY_DELAYS, GatewayNonRetryableError, GatewayContextCapabilityUnavailableError, GatewayUpstreamUnavailableError, GatewayStreamProtocolError, GatewayStream;
|
|
507198
|
-
var init_gatewayTransport = __esm(() => {
|
|
507199
|
-
init_sdk();
|
|
507200
|
-
GATEWAY_RETRY_DELAYS = [1000, 3000];
|
|
507201
|
-
GatewayNonRetryableError = class GatewayNonRetryableError extends Error {
|
|
507202
|
-
constructor(message) {
|
|
507203
|
-
super(message);
|
|
507204
|
-
this.name = "GatewayNonRetryableError";
|
|
507205
|
-
}
|
|
507206
|
-
};
|
|
507207
|
-
GatewayContextCapabilityUnavailableError = class GatewayContextCapabilityUnavailableError extends GatewayNonRetryableError {
|
|
507208
|
-
code = "context_capability_unavailable";
|
|
507209
|
-
requiredContextTokens;
|
|
507210
|
-
constructor(requiredContextTokens) {
|
|
507211
|
-
super("Gateway has no configured deployment with sufficient context capacity");
|
|
507212
|
-
this.name = "GatewayContextCapabilityUnavailableError";
|
|
507213
|
-
this.requiredContextTokens = requiredContextTokens;
|
|
507214
|
-
}
|
|
507215
|
-
};
|
|
507216
|
-
GatewayUpstreamUnavailableError = class GatewayUpstreamUnavailableError extends Error {
|
|
507217
|
-
code = "gateway_upstream_unavailable";
|
|
507218
|
-
status;
|
|
507219
|
-
constructor(status) {
|
|
507220
|
-
super(`Gateway upstream unavailable (HTTP ${status})`);
|
|
507221
|
-
this.name = "GatewayUpstreamUnavailableError";
|
|
507222
|
-
this.status = status;
|
|
507223
|
-
}
|
|
507224
|
-
};
|
|
507225
|
-
GatewayStreamProtocolError = class GatewayStreamProtocolError extends Error {
|
|
507226
|
-
code;
|
|
507227
|
-
lastEventType;
|
|
507228
|
-
partialUsage;
|
|
507229
|
-
constructor(code, message, details = {}) {
|
|
507230
|
-
super(message);
|
|
507231
|
-
this.name = "GatewayStreamProtocolError";
|
|
507232
|
-
this.code = code;
|
|
507233
|
-
this.lastEventType = details.lastEventType;
|
|
507234
|
-
this.partialUsage = details.partialUsage ?? {};
|
|
507235
|
-
}
|
|
507236
|
-
};
|
|
507237
|
-
GatewayStream = class GatewayStream {
|
|
507238
|
-
response;
|
|
507239
|
-
controller;
|
|
507240
|
-
constructor(response, abortSignal) {
|
|
507241
|
-
this.response = response;
|
|
507242
|
-
this.controller = new AbortController;
|
|
507243
|
-
if (abortSignal) {
|
|
507244
|
-
abortSignal.addEventListener("abort", () => this.controller.abort(), { once: true });
|
|
507245
|
-
}
|
|
507246
|
-
}
|
|
507247
|
-
async* [Symbol.asyncIterator]() {
|
|
507248
|
-
const reader = this.response.body.getReader();
|
|
507249
|
-
const decoder = new TextDecoder;
|
|
507250
|
-
let buffer = "";
|
|
507251
|
-
let yieldedAny = false;
|
|
507252
|
-
let rawSnippet = "";
|
|
507253
|
-
let terminalComplete = false;
|
|
507254
|
-
let lastEventType;
|
|
507255
|
-
const partialUsage = {};
|
|
507256
|
-
const protocolError = (code, message) => new GatewayStreamProtocolError(code, message, {
|
|
507257
|
-
lastEventType,
|
|
507258
|
-
partialUsage: { ...partialUsage }
|
|
507259
|
-
});
|
|
507260
|
-
const parseLine = (line) => {
|
|
507261
|
-
const trimmed = line.replace(/\r$/, "");
|
|
507262
|
-
if (!trimmed.startsWith("data:"))
|
|
507263
|
-
return null;
|
|
507264
|
-
const data = trimmed.slice(5).trim();
|
|
507265
|
-
if (!data)
|
|
507266
|
-
return null;
|
|
507267
|
-
if (data === "[DONE]")
|
|
507268
|
-
return "done";
|
|
507269
|
-
let event;
|
|
507270
|
-
try {
|
|
507271
|
-
event = JSON.parse(data);
|
|
507272
|
-
} catch {
|
|
507273
|
-
return null;
|
|
507274
|
-
}
|
|
507275
|
-
const typed = event;
|
|
507276
|
-
const type = typed.type;
|
|
507277
|
-
if (type === "ping") {
|
|
507278
|
-
yieldedAny = true;
|
|
507279
|
-
return null;
|
|
507280
|
-
}
|
|
507281
|
-
yieldedAny = true;
|
|
507282
|
-
if (type)
|
|
507283
|
-
lastEventType = type;
|
|
507284
|
-
const usage = type === "message_start" ? typed.message?.usage : typed.usage;
|
|
507285
|
-
if (usage) {
|
|
507286
|
-
for (const key of ["input_tokens", "output_tokens", "cache_read_input_tokens", "cache_creation_input_tokens"]) {
|
|
507287
|
-
if (typeof usage[key] === "number")
|
|
507288
|
-
partialUsage[key] = usage[key];
|
|
507289
|
-
}
|
|
507290
|
-
}
|
|
507291
|
-
if (type === "error") {
|
|
507292
|
-
const incomplete = typed.margay?.code === "incomplete_upstream_stream";
|
|
507293
|
-
throw protocolError(incomplete ? "incomplete_stream" : "upstream_stream_error", incomplete ? "Gateway upstream stream ended before message_stop" : "Gateway emitted a stream error event");
|
|
507294
|
-
}
|
|
507295
|
-
if (type === "message_stop")
|
|
507296
|
-
terminalComplete = true;
|
|
507297
|
-
return event;
|
|
507298
|
-
};
|
|
507299
|
-
const onAbort = () => {
|
|
507300
|
-
process.stderr.write(`[ccl-trace] {"target":"gateway-stream-abort","action":"cancel-pending-read"}
|
|
507301
|
-
`);
|
|
507302
|
-
reader.cancel().catch(() => {});
|
|
507303
|
-
};
|
|
507304
|
-
if (this.controller.signal.aborted)
|
|
507305
|
-
onAbort();
|
|
507306
|
-
else
|
|
507307
|
-
this.controller.signal.addEventListener("abort", onAbort, { once: true });
|
|
507308
|
-
try {
|
|
507309
|
-
while (true) {
|
|
507310
|
-
if (this.controller.signal.aborted) {
|
|
507311
|
-
return;
|
|
507312
|
-
}
|
|
507313
|
-
const { done, value } = await reader.read();
|
|
507314
|
-
if (done) {
|
|
507315
|
-
if (this.controller.signal.aborted)
|
|
507316
|
-
return;
|
|
507317
|
-
break;
|
|
507318
|
-
}
|
|
507319
|
-
const chunk = decoder.decode(value, { stream: true });
|
|
507320
|
-
if (rawSnippet.length < 500)
|
|
507321
|
-
rawSnippet += chunk.slice(0, 500 - rawSnippet.length);
|
|
507322
|
-
buffer += chunk;
|
|
507323
|
-
const lines = buffer.split(`
|
|
507324
|
-
`);
|
|
507325
|
-
buffer = lines.pop() ?? "";
|
|
507326
|
-
for (const line of lines) {
|
|
507327
|
-
const parsed = parseLine(line);
|
|
507328
|
-
if (parsed === "done") {
|
|
507329
|
-
if (!terminalComplete)
|
|
507330
|
-
throw protocolError("incomplete_stream", "Gateway stream sent [DONE] before message_stop");
|
|
507331
|
-
return;
|
|
507332
|
-
}
|
|
507333
|
-
if (parsed)
|
|
507334
|
-
yield parsed;
|
|
507335
|
-
}
|
|
507336
|
-
}
|
|
507337
|
-
buffer += decoder.decode();
|
|
507338
|
-
if (buffer.trim()) {
|
|
507339
|
-
const parsed = parseLine(buffer);
|
|
507340
|
-
if (parsed === "done") {
|
|
507341
|
-
if (!terminalComplete)
|
|
507342
|
-
throw protocolError("incomplete_stream", "Gateway stream sent [DONE] before message_stop");
|
|
507343
|
-
} else if (parsed) {
|
|
507344
|
-
yield parsed;
|
|
507345
|
-
}
|
|
507346
|
-
}
|
|
507347
|
-
if (!yieldedAny) {
|
|
507348
|
-
const ct2 = this.response.headers.get("content-type") ?? "unknown";
|
|
507349
|
-
throw new Error(`Gateway stream returned no SSE events (status=${this.response.status}, content-type=${ct2}, body=${rawSnippet.slice(0, 200)})`);
|
|
507350
|
-
}
|
|
507351
|
-
if (!terminalComplete) {
|
|
507352
|
-
throw protocolError("incomplete_stream", "Gateway stream ended before message_stop");
|
|
507353
|
-
}
|
|
507354
|
-
} finally {
|
|
507355
|
-
this.controller.signal.removeEventListener("abort", onAbort);
|
|
507356
|
-
try {
|
|
507357
|
-
await reader.cancel();
|
|
507358
|
-
} catch {}
|
|
507359
|
-
}
|
|
507360
|
-
}
|
|
507361
|
-
};
|
|
507362
|
-
});
|
|
507363
|
-
|
|
507364
507671
|
// services/compact/thirdPartyCompactTransport.ts
|
|
507365
507672
|
import { randomUUID as randomUUID27 } from "crypto";
|
|
507366
507673
|
async function resolve3PCompactCredentials(compactApiKey, compactBaseUrl, isNonInteractiveSession) {
|
|
@@ -520196,6 +520503,7 @@ __export(exports_messages4, {
|
|
|
520196
520503
|
prepareUserContent: () => prepareUserContent,
|
|
520197
520504
|
normalizeMessagesForAPI: () => normalizeMessagesForAPI,
|
|
520198
520505
|
normalizeMessages: () => normalizeMessages,
|
|
520506
|
+
normalizeContentFromAPIWithStatus: () => normalizeContentFromAPIWithStatus,
|
|
520199
520507
|
normalizeContentFromAPI: () => normalizeContentFromAPI,
|
|
520200
520508
|
normalizeAttachmentForAPI: () => normalizeAttachmentForAPI,
|
|
520201
520509
|
mergeUserMessagesAndToolResults: () => mergeUserMessagesAndToolResults,
|
|
@@ -521667,30 +521975,41 @@ function mergeUserContentBlocks(a2, b3) {
|
|
|
521667
521975
|
}
|
|
521668
521976
|
return [...a2.slice(0, -1), smooshed, ...toolResults];
|
|
521669
521977
|
}
|
|
521670
|
-
function
|
|
521978
|
+
function normalizeContentFromAPIWithStatus(contentBlocks, tools, agentId) {
|
|
521671
521979
|
if (!contentBlocks) {
|
|
521672
|
-
return [];
|
|
521980
|
+
return { content: [], clientToolInputs: [] };
|
|
521673
521981
|
}
|
|
521674
|
-
|
|
521982
|
+
const clientToolInputs = [];
|
|
521983
|
+
const content = contentBlocks.map((contentBlock) => {
|
|
521675
521984
|
switch (contentBlock.type) {
|
|
521676
521985
|
case "tool_use": {
|
|
521677
521986
|
if (typeof contentBlock.input !== "string" && !isObject3(contentBlock.input)) {
|
|
521678
521987
|
throw new Error("Tool use input must be a string or object");
|
|
521679
521988
|
}
|
|
521680
521989
|
let normalizedInput;
|
|
521990
|
+
let status;
|
|
521681
521991
|
if (typeof contentBlock.input === "string") {
|
|
521682
|
-
|
|
521683
|
-
|
|
521992
|
+
if (contentBlock.input.length === 0) {
|
|
521993
|
+
status = "placeholder";
|
|
521994
|
+
normalizedInput = {};
|
|
521995
|
+
} else {
|
|
521996
|
+
const parsed = safeParseJSON(contentBlock.input);
|
|
521997
|
+
if (parsed === null) {
|
|
521998
|
+
status = "invalid_or_incomplete";
|
|
521999
|
+
normalizedInput = INVALID_TOOL_INPUT_PLACEHOLDER;
|
|
522000
|
+
} else {
|
|
522001
|
+
status = "valid";
|
|
522002
|
+
normalizedInput = parsed;
|
|
522003
|
+
}
|
|
522004
|
+
}
|
|
522005
|
+
if (status === "invalid_or_incomplete") {
|
|
521684
522006
|
logEvent("tengu_tool_input_json_parse_fail", {
|
|
521685
522007
|
toolName: sanitizeToolNameForAnalytics(contentBlock.name),
|
|
521686
522008
|
inputLen: contentBlock.input.length
|
|
521687
522009
|
});
|
|
521688
|
-
if (process.env.USER_TYPE === "ant") {
|
|
521689
|
-
logForDebugging(`tool input JSON parse fail: ${contentBlock.input.slice(0, 200)}`, { level: "warn" });
|
|
521690
|
-
}
|
|
521691
522010
|
}
|
|
521692
|
-
normalizedInput = parsed ?? {};
|
|
521693
522011
|
} else {
|
|
522012
|
+
status = "valid";
|
|
521694
522013
|
normalizedInput = contentBlock.input;
|
|
521695
522014
|
}
|
|
521696
522015
|
if (typeof normalizedInput === "object" && normalizedInput !== null) {
|
|
@@ -521703,6 +522022,7 @@ function normalizeContentFromAPI(contentBlocks, tools, agentId) {
|
|
|
521703
522022
|
}
|
|
521704
522023
|
}
|
|
521705
522024
|
}
|
|
522025
|
+
clientToolInputs.push({ id: contentBlock.id, status });
|
|
521706
522026
|
return {
|
|
521707
522027
|
...contentBlock,
|
|
521708
522028
|
input: normalizedInput
|
|
@@ -521730,6 +522050,10 @@ function normalizeContentFromAPI(contentBlocks, tools, agentId) {
|
|
|
521730
522050
|
}
|
|
521731
522051
|
}
|
|
521732
522052
|
});
|
|
522053
|
+
return { content, clientToolInputs };
|
|
522054
|
+
}
|
|
522055
|
+
function normalizeContentFromAPI(contentBlocks, tools, agentId) {
|
|
522056
|
+
return normalizeContentFromAPIWithStatus(contentBlocks, tools, agentId).content;
|
|
521733
522057
|
}
|
|
521734
522058
|
function isEmptyMessageText(text) {
|
|
521735
522059
|
return stripPromptXMLTags(text).trim() === "" || text.trim() === NO_CONTENT_MESSAGE;
|
|
@@ -523644,7 +523968,7 @@ Note: The user's next message may contain a correction or preference. Pay close
|
|
|
523644
523968
|
`, PLAN_REJECTION_PREFIX = `The agent proposed a plan that was rejected by the user. The user chose to stay in plan mode rather than proceed with implementation.
|
|
523645
523969
|
|
|
523646
523970
|
Rejected plan:
|
|
523647
|
-
`, DENIAL_WORKAROUND_GUIDANCE, NO_RESPONSE_REQUESTED = "No response requested.", SYNTHETIC_TOOL_RESULT_PLACEHOLDER = "[Tool result missing due to internal error]", AUTO_MODE_REJECTION_PREFIX = "Permission for this action has been denied. Reason: ", SYNTHETIC_MODEL = "<synthetic>", SYNTHETIC_MESSAGES, EMPTY_LOOKUPS, EMPTY_STRING_SET, STRIPPED_TAGS_RE, PLAN_PHASE4_CONTROL = `### Phase 4: Final Plan
|
|
523971
|
+
`, DENIAL_WORKAROUND_GUIDANCE, NO_RESPONSE_REQUESTED = "No response requested.", SYNTHETIC_TOOL_RESULT_PLACEHOLDER = "[Tool result missing due to internal error]", AUTO_MODE_REJECTION_PREFIX = "Permission for this action has been denied. Reason: ", SYNTHETIC_MODEL = "<synthetic>", SYNTHETIC_MESSAGES, EMPTY_LOOKUPS, EMPTY_STRING_SET, INVALID_TOOL_INPUT_PLACEHOLDER = "[invalid or incomplete tool input omitted]", STRIPPED_TAGS_RE, PLAN_PHASE4_CONTROL = `### Phase 4: Final Plan
|
|
523648
523972
|
Goal: Write your final plan to the plan file (the only file you can edit).
|
|
523649
523973
|
- Begin with a **Context** section: explain why this change is being made — the problem or need it addresses, what prompted it, and the intended outcome
|
|
523650
523974
|
- Include only your recommended approach, not all alternatives
|
|
@@ -529429,7 +529753,7 @@ async function getMcpHeadersFromHelper(serverName, config) {
|
|
|
529429
529753
|
if ("scope" in config && isMcpServerFromProjectOrLocalSettings(config) && !getIsNonInteractiveSession()) {
|
|
529430
529754
|
const hasTrust = checkHasTrustDialogAccepted();
|
|
529431
529755
|
if (!hasTrust) {
|
|
529432
|
-
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.5-rc.
|
|
529756
|
+
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.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.FEEDBACK_CHANNEL}.`);
|
|
529433
529757
|
logAntError("MCP headersHelper invoked before trust check", error5);
|
|
529434
529758
|
logEvent("tengu_mcp_headersHelper_missing_trust", {});
|
|
529435
529759
|
return null;
|
|
@@ -530960,7 +531284,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
530960
531284
|
const client4 = new Client({
|
|
530961
531285
|
name: "claude-code",
|
|
530962
531286
|
title: "CCL",
|
|
530963
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
531287
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION ?? "unknown",
|
|
530964
531288
|
description: "Anthropic's agentic coding tool",
|
|
530965
531289
|
websiteUrl: PRODUCT_URL
|
|
530966
531290
|
}, {
|
|
@@ -531311,7 +531635,7 @@ var init_client9 = __esm(() => {
|
|
|
531311
531635
|
const client4 = new Client({
|
|
531312
531636
|
name: "claude-code",
|
|
531313
531637
|
title: "CCL",
|
|
531314
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
531638
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION ?? "unknown",
|
|
531315
531639
|
description: "Anthropic's agentic coding tool",
|
|
531316
531640
|
websiteUrl: PRODUCT_URL
|
|
531317
531641
|
}, {
|
|
@@ -533659,6 +533983,60 @@ ${deferredToolList}
|
|
|
533659
533983
|
let isGatewayChannel = false;
|
|
533660
533984
|
let streamOpenToolUseCount = 0;
|
|
533661
533985
|
let streamOpenContentBlockCount = 0;
|
|
533986
|
+
const clientToolTurnBuffer = new ClientToolTurnBuffer;
|
|
533987
|
+
let clientToolTurnFinalized = false;
|
|
533988
|
+
let clientToolStreamBuffering = false;
|
|
533989
|
+
const bufferedClientToolStreamEvents = [];
|
|
533990
|
+
let releasedClientToolMessages = [];
|
|
533991
|
+
const responseHeader = (name2) => {
|
|
533992
|
+
const value = streamResponse?.headers.get(name2);
|
|
533993
|
+
return value?.trim() || undefined;
|
|
533994
|
+
};
|
|
533995
|
+
const createClientToolProtocolTurnError = (decision) => new ClientToolProtocolTurnError({
|
|
533996
|
+
code: decision.code,
|
|
533997
|
+
observedStopReason: stopReason,
|
|
533998
|
+
clientToolCount: decision.clientToolCount,
|
|
533999
|
+
requestId: responseHeader("X-Margay-Request-Id") ?? streamRequestId ?? undefined,
|
|
534000
|
+
upstreamRequestId: responseHeader("X-Margay-Upstream-Request-Id") ?? streamRequestId ?? undefined,
|
|
534001
|
+
servedModel: responseHeader("X-Margay-Served-Model"),
|
|
534002
|
+
servedDeployment: responseHeader("X-Margay-Served-Deployment"),
|
|
534003
|
+
partialUsage: usage
|
|
534004
|
+
});
|
|
534005
|
+
const createCompleteResponseMessage = (result, requestId) => {
|
|
534006
|
+
const normalized = normalizeContentFromAPIWithStatus(result.content, tools, options.agentId);
|
|
534007
|
+
const message = {
|
|
534008
|
+
message: {
|
|
534009
|
+
...result,
|
|
534010
|
+
content: normalized.content
|
|
534011
|
+
},
|
|
534012
|
+
requestId,
|
|
534013
|
+
type: "assistant",
|
|
534014
|
+
uuid: randomUUID33(),
|
|
534015
|
+
timestamp: new Date().toISOString(),
|
|
534016
|
+
...process.env.USER_TYPE === "ant" && research !== undefined && {
|
|
534017
|
+
research
|
|
534018
|
+
},
|
|
534019
|
+
...advisorModel && {
|
|
534020
|
+
advisorModel
|
|
534021
|
+
}
|
|
534022
|
+
};
|
|
534023
|
+
if (normalized.clientToolInputs.length === 0)
|
|
534024
|
+
return message;
|
|
534025
|
+
const buffer = new ClientToolTurnBuffer;
|
|
534026
|
+
buffer.add(message, normalized.clientToolInputs);
|
|
534027
|
+
const decision = buffer.finalize(result.stop_reason);
|
|
534028
|
+
if (decision.action === "discard") {
|
|
534029
|
+
throw new ClientToolProtocolTurnError({
|
|
534030
|
+
code: decision.code,
|
|
534031
|
+
observedStopReason: result.stop_reason,
|
|
534032
|
+
clientToolCount: decision.clientToolCount,
|
|
534033
|
+
requestId,
|
|
534034
|
+
upstreamRequestId: requestId,
|
|
534035
|
+
partialUsage: result.usage
|
|
534036
|
+
});
|
|
534037
|
+
}
|
|
534038
|
+
return message;
|
|
534039
|
+
};
|
|
533662
534040
|
const createIncompleteModelTurnError = ({
|
|
533663
534041
|
partialUsage = usage,
|
|
533664
534042
|
lastEventType
|
|
@@ -533782,6 +534160,7 @@ ${deferredToolList}
|
|
|
533782
534160
|
body: gatewayBody,
|
|
533783
534161
|
signal: gwSignal,
|
|
533784
534162
|
tags: traceTags(gwSpan.trace_id, gwSpan.span_id),
|
|
534163
|
+
avoidDeployment: options.avoidGatewayDeployment,
|
|
533785
534164
|
minimumContextTokens: tokenCountWithEstimation(messagesForAPI) + (typeof gatewayBody.max_tokens === "number" ? gatewayBody.max_tokens : 0)
|
|
533786
534165
|
});
|
|
533787
534166
|
clearTimeout(gwTimeout);
|
|
@@ -533790,6 +534169,9 @@ ${deferredToolList}
|
|
|
533790
534169
|
} catch (gwErr) {
|
|
533791
534170
|
clearTimeout(gwTimeout);
|
|
533792
534171
|
logSpan({ ...gwSpan, latency_ms: Date.now() - gwSpanStart, status: "error" });
|
|
534172
|
+
if (gwErr instanceof GatewayAlternateDeploymentUnavailableError) {
|
|
534173
|
+
throw gwErr;
|
|
534174
|
+
}
|
|
533793
534175
|
const reason = gwErr?.message ?? "unknown error";
|
|
533794
534176
|
routeGatewayError(gwErr, signal, gatewayForChannel.url, reason, { markFailure: markFailure2, markDown: markDown2 });
|
|
533795
534177
|
if (isAbortError5(gwErr, signal))
|
|
@@ -533942,6 +534324,7 @@ ${deferredToolList}
|
|
|
533942
534324
|
streamOpenContentBlockCount++;
|
|
533943
534325
|
switch (part.content_block.type) {
|
|
533944
534326
|
case "tool_use":
|
|
534327
|
+
clientToolStreamBuffering = true;
|
|
533945
534328
|
contentBlocks[part.index] = {
|
|
533946
534329
|
...part.content_block,
|
|
533947
534330
|
input: ""
|
|
@@ -534099,10 +534482,11 @@ ${deferredToolList}
|
|
|
534099
534482
|
});
|
|
534100
534483
|
throw new Error("Message not found");
|
|
534101
534484
|
}
|
|
534485
|
+
const normalized = normalizeContentFromAPIWithStatus([contentBlock], tools, options.agentId);
|
|
534102
534486
|
const m4 = {
|
|
534103
534487
|
message: {
|
|
534104
534488
|
...partialMessage,
|
|
534105
|
-
content:
|
|
534489
|
+
content: normalized.content
|
|
534106
534490
|
},
|
|
534107
534491
|
requestId: streamRequestId ?? undefined,
|
|
534108
534492
|
type: "assistant",
|
|
@@ -534111,6 +534495,10 @@ ${deferredToolList}
|
|
|
534111
534495
|
...process.env.USER_TYPE === "ant" && research !== undefined && { research },
|
|
534112
534496
|
...advisorModel && { advisorModel }
|
|
534113
534497
|
};
|
|
534498
|
+
if (normalized.clientToolInputs.length > 0) {
|
|
534499
|
+
clientToolTurnBuffer.add(m4, normalized.clientToolInputs);
|
|
534500
|
+
break;
|
|
534501
|
+
}
|
|
534114
534502
|
newMessages.push(m4);
|
|
534115
534503
|
yield m4;
|
|
534116
534504
|
break;
|
|
@@ -534141,7 +534529,7 @@ ${deferredToolList}
|
|
|
534141
534529
|
if (refusalMessage) {
|
|
534142
534530
|
yield refusalMessage;
|
|
534143
534531
|
}
|
|
534144
|
-
if (stopReason === "max_tokens") {
|
|
534532
|
+
if (stopReason === "max_tokens" && !clientToolTurnBuffer.hasClientToolUse) {
|
|
534145
534533
|
logEvent("tengu_max_tokens_reached", {
|
|
534146
534534
|
max_tokens: maxOutputTokens
|
|
534147
534535
|
});
|
|
@@ -534151,7 +534539,7 @@ ${deferredToolList}
|
|
|
534151
534539
|
error: "max_output_tokens"
|
|
534152
534540
|
});
|
|
534153
534541
|
}
|
|
534154
|
-
if (stopReason === "model_context_window_exceeded") {
|
|
534542
|
+
if (stopReason === "model_context_window_exceeded" && !clientToolTurnBuffer.hasClientToolUse) {
|
|
534155
534543
|
logEvent("tengu_context_window_exceeded", {
|
|
534156
534544
|
max_tokens: maxOutputTokens,
|
|
534157
534545
|
output_tokens: usage.output_tokens
|
|
@@ -534164,8 +534552,25 @@ ${deferredToolList}
|
|
|
534164
534552
|
}
|
|
534165
534553
|
break;
|
|
534166
534554
|
}
|
|
534167
|
-
case "message_stop":
|
|
534555
|
+
case "message_stop": {
|
|
534556
|
+
if (clientToolTurnBuffer.hasClientToolUse && !clientToolTurnFinalized) {
|
|
534557
|
+
clientToolTurnFinalized = true;
|
|
534558
|
+
const decision = clientToolTurnBuffer.finalize(stopReason);
|
|
534559
|
+
if (decision.action === "discard") {
|
|
534560
|
+
throw createClientToolProtocolTurnError(decision);
|
|
534561
|
+
}
|
|
534562
|
+
for (const buffered of decision.messages) {
|
|
534563
|
+
buffered.message.usage = usage;
|
|
534564
|
+
buffered.message.stop_reason = stopReason;
|
|
534565
|
+
if (process.env.USER_TYPE === "ant" && research !== undefined) {
|
|
534566
|
+
buffered.research = research;
|
|
534567
|
+
}
|
|
534568
|
+
newMessages.push(buffered);
|
|
534569
|
+
releasedClientToolMessages.push(buffered);
|
|
534570
|
+
}
|
|
534571
|
+
}
|
|
534168
534572
|
break;
|
|
534573
|
+
}
|
|
534169
534574
|
}
|
|
534170
534575
|
let yieldPart = part;
|
|
534171
534576
|
if (part.type === "content_block_delta" && "delta" in part && part.delta.type === "text_delta") {
|
|
@@ -534191,15 +534596,38 @@ ${deferredToolList}
|
|
|
534191
534596
|
}
|
|
534192
534597
|
}
|
|
534193
534598
|
}
|
|
534194
|
-
|
|
534195
|
-
|
|
534196
|
-
|
|
534197
|
-
|
|
534198
|
-
|
|
534199
|
-
|
|
534599
|
+
const streamEvent = yieldPart ? {
|
|
534600
|
+
type: "stream_event",
|
|
534601
|
+
event: yieldPart,
|
|
534602
|
+
...part.type === "message_start" ? { ttftMs } : undefined
|
|
534603
|
+
} : undefined;
|
|
534604
|
+
if (clientToolStreamBuffering && part.type !== "message_stop") {
|
|
534605
|
+
if (streamEvent)
|
|
534606
|
+
bufferedClientToolStreamEvents.push(streamEvent);
|
|
534607
|
+
continue;
|
|
534608
|
+
}
|
|
534609
|
+
if (clientToolStreamBuffering && part.type === "message_stop") {
|
|
534610
|
+
for (const bufferedEvent of bufferedClientToolStreamEvents) {
|
|
534611
|
+
yield bufferedEvent;
|
|
534612
|
+
}
|
|
534613
|
+
for (const bufferedMessage of releasedClientToolMessages) {
|
|
534614
|
+
yield bufferedMessage;
|
|
534615
|
+
}
|
|
534616
|
+
bufferedClientToolStreamEvents.length = 0;
|
|
534617
|
+
releasedClientToolMessages = [];
|
|
534618
|
+
clientToolStreamBuffering = false;
|
|
534619
|
+
}
|
|
534620
|
+
if (streamEvent) {
|
|
534621
|
+
yield streamEvent;
|
|
534200
534622
|
}
|
|
534201
534623
|
}
|
|
534202
534624
|
clearStreamIdleTimers();
|
|
534625
|
+
if (clientToolTurnBuffer.hasClientToolUse && !clientToolTurnFinalized) {
|
|
534626
|
+
throw createClientToolProtocolTurnError({
|
|
534627
|
+
code: "client_tool_turn_incomplete",
|
|
534628
|
+
clientToolCount: clientToolTurnBuffer.clientToolCount
|
|
534629
|
+
});
|
|
534630
|
+
}
|
|
534203
534631
|
if (streamIdleAborted) {
|
|
534204
534632
|
const exitDelayMs = streamWatchdogFiredAt !== null ? Math.round(performance.now() - streamWatchdogFiredAt) : -1;
|
|
534205
534633
|
logForDiagnosticsNoPII("info", "cli_stream_loop_exited_after_watchdog_clean");
|
|
@@ -534241,6 +534669,9 @@ ${deferredToolList}
|
|
|
534241
534669
|
}
|
|
534242
534670
|
} catch (streamingError) {
|
|
534243
534671
|
clearStreamIdleTimers();
|
|
534672
|
+
if (streamingError instanceof ClientToolProtocolTurnError) {
|
|
534673
|
+
throw streamingError;
|
|
534674
|
+
}
|
|
534244
534675
|
if (streamIdleAborted && streamWatchdogFiredAt !== null) {
|
|
534245
534676
|
const exitDelayMs = Math.round(performance.now() - streamWatchdogFiredAt);
|
|
534246
534677
|
logForDiagnosticsNoPII("info", "cli_stream_loop_exited_after_watchdog_error");
|
|
@@ -534326,22 +534757,7 @@ ${deferredToolList}
|
|
|
534326
534757
|
attemptNumber = attempt;
|
|
534327
534758
|
maxOutputTokens = tokens;
|
|
534328
534759
|
}, (params) => captureAPIRequest(params, options.querySource), streamRequestId);
|
|
534329
|
-
const m4 =
|
|
534330
|
-
message: {
|
|
534331
|
-
...result,
|
|
534332
|
-
content: normalizeContentFromAPI(result.content, tools, options.agentId)
|
|
534333
|
-
},
|
|
534334
|
-
requestId: streamRequestId ?? undefined,
|
|
534335
|
-
type: "assistant",
|
|
534336
|
-
uuid: randomUUID33(),
|
|
534337
|
-
timestamp: new Date().toISOString(),
|
|
534338
|
-
...process.env.USER_TYPE === "ant" && research !== undefined && {
|
|
534339
|
-
research
|
|
534340
|
-
},
|
|
534341
|
-
...advisorModel && {
|
|
534342
|
-
advisorModel
|
|
534343
|
-
}
|
|
534344
|
-
};
|
|
534760
|
+
const m4 = createCompleteResponseMessage(result, streamRequestId ?? undefined);
|
|
534345
534761
|
newMessages.push(m4);
|
|
534346
534762
|
fallbackMessage = m4;
|
|
534347
534763
|
yield m4;
|
|
@@ -534349,6 +534765,12 @@ ${deferredToolList}
|
|
|
534349
534765
|
clearStreamIdleTimers();
|
|
534350
534766
|
}
|
|
534351
534767
|
} catch (errorFromRetry) {
|
|
534768
|
+
if (errorFromRetry instanceof ClientToolProtocolTurnError) {
|
|
534769
|
+
throw errorFromRetry;
|
|
534770
|
+
}
|
|
534771
|
+
const alternateDeploymentError = errorFromRetry instanceof GatewayAlternateDeploymentUnavailableError ? errorFromRetry : errorFromRetry instanceof CannotRetryError && errorFromRetry.originalError instanceof GatewayAlternateDeploymentUnavailableError ? errorFromRetry.originalError : undefined;
|
|
534772
|
+
if (alternateDeploymentError)
|
|
534773
|
+
throw alternateDeploymentError;
|
|
534352
534774
|
if (errorFromRetry instanceof IncompleteModelTurnError) {
|
|
534353
534775
|
throw errorFromRetry;
|
|
534354
534776
|
}
|
|
@@ -534395,18 +534817,7 @@ ${deferredToolList}
|
|
|
534395
534817
|
attemptNumber = attempt;
|
|
534396
534818
|
maxOutputTokens = tokens;
|
|
534397
534819
|
}, (params) => captureAPIRequest(params, options.querySource), failedRequestId);
|
|
534398
|
-
const m4 =
|
|
534399
|
-
message: {
|
|
534400
|
-
...result,
|
|
534401
|
-
content: normalizeContentFromAPI(result.content, tools, options.agentId)
|
|
534402
|
-
},
|
|
534403
|
-
requestId: streamRequestId ?? undefined,
|
|
534404
|
-
type: "assistant",
|
|
534405
|
-
uuid: randomUUID33(),
|
|
534406
|
-
timestamp: new Date().toISOString(),
|
|
534407
|
-
...process.env.USER_TYPE === "ant" && research !== undefined && { research },
|
|
534408
|
-
...advisorModel && { advisorModel }
|
|
534409
|
-
};
|
|
534820
|
+
const m4 = createCompleteResponseMessage(result, streamRequestId ?? undefined);
|
|
534410
534821
|
newMessages.push(m4);
|
|
534411
534822
|
fallbackMessage = m4;
|
|
534412
534823
|
yield m4;
|
|
@@ -534928,6 +535339,7 @@ var init_claude = __esm(() => {
|
|
|
534928
535339
|
init_apiMicrocompact();
|
|
534929
535340
|
init_gatewayTransport();
|
|
534930
535341
|
init_incompleteStreamRecovery();
|
|
535342
|
+
init_clientToolTurnBuffer();
|
|
534931
535343
|
init_error();
|
|
534932
535344
|
init_state();
|
|
534933
535345
|
init_betas();
|
|
@@ -538401,7 +538813,7 @@ async function setupTerminal(theme) {
|
|
|
538401
538813
|
return current;
|
|
538402
538814
|
});
|
|
538403
538815
|
maybeMarkProjectOnboardingComplete();
|
|
538404
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
538816
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
538405
538817
|
result += await setupShellCompletion(theme);
|
|
538406
538818
|
}
|
|
538407
538819
|
return result;
|
|
@@ -542891,7 +543303,7 @@ function Feedback({
|
|
|
542891
543303
|
platform: env4.platform,
|
|
542892
543304
|
gitRepo: envInfo.isGit,
|
|
542893
543305
|
terminal: env4.terminal,
|
|
542894
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
543306
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
542895
543307
|
transcript: normalizeMessagesForAPI(messages),
|
|
542896
543308
|
errors: sanitizedErrors,
|
|
542897
543309
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -543083,7 +543495,7 @@ function Feedback({
|
|
|
543083
543495
|
", ",
|
|
543084
543496
|
env4.terminal,
|
|
543085
543497
|
", v",
|
|
543086
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
543498
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
543087
543499
|
]
|
|
543088
543500
|
})
|
|
543089
543501
|
]
|
|
@@ -543189,7 +543601,7 @@ ${sanitizedDescription}
|
|
|
543189
543601
|
` + `**Environment Info**
|
|
543190
543602
|
` + `- Platform: ${env4.platform}
|
|
543191
543603
|
` + `- Terminal: ${env4.terminal}
|
|
543192
|
-
` + `- Version: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
543604
|
+
` + `- Version: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION || "unknown"}
|
|
543193
543605
|
` + `- Feedback ID: ${feedbackId}
|
|
543194
543606
|
` + `
|
|
543195
543607
|
**Errors**
|
|
@@ -543381,7 +543793,7 @@ var init_Feedback = __esm(() => {
|
|
|
543381
543793
|
init_TextInput();
|
|
543382
543794
|
import_react95 = __toESM(require_react(), 1);
|
|
543383
543795
|
jsx_runtime168 = __toESM(require_jsx_runtime(), 1);
|
|
543384
|
-
GITHUB_ISSUES_REPO_URL = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
543796
|
+
GITHUB_ISSUES_REPO_URL = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? "https://github.com/anthropics/claude-cli-internal/issues" : "https://github.com/anthropics/claude-code/issues";
|
|
543385
543797
|
});
|
|
543386
543798
|
|
|
543387
543799
|
// commands/feedback/feedback.tsx
|
|
@@ -546384,7 +546796,7 @@ function buildPrimarySection() {
|
|
|
546384
546796
|
});
|
|
546385
546797
|
return [{
|
|
546386
546798
|
label: "Version",
|
|
546387
|
-
value: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
546799
|
+
value: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
546388
546800
|
}, {
|
|
546389
546801
|
label: "Session name",
|
|
546390
546802
|
value: nameValue
|
|
@@ -549024,7 +549436,7 @@ function Config({
|
|
|
549024
549436
|
});
|
|
549025
549437
|
}
|
|
549026
549438
|
}] : [],
|
|
549027
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
549439
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? [{
|
|
549028
549440
|
id: "speculationEnabled",
|
|
549029
549441
|
label: "Speculative execution",
|
|
549030
549442
|
value: globalConfig.speculationEnabled ?? true,
|
|
@@ -550305,7 +550717,7 @@ function Config({
|
|
|
550305
550717
|
}
|
|
550306
550718
|
})
|
|
550307
550719
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime183.jsx(ChannelDowngradeDialog, {
|
|
550308
|
-
currentVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
550720
|
+
currentVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
550309
550721
|
onChoice: (choice) => {
|
|
550310
550722
|
setShowSubmenu(null);
|
|
550311
550723
|
setTabsHidden(false);
|
|
@@ -550317,7 +550729,7 @@ function Config({
|
|
|
550317
550729
|
autoUpdatesChannel: "stable"
|
|
550318
550730
|
};
|
|
550319
550731
|
if (choice === "stay") {
|
|
550320
|
-
newSettings.minimumVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
550732
|
+
newSettings.minimumVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
550321
550733
|
}
|
|
550322
550734
|
updateSettingsForSource("userSettings", newSettings);
|
|
550323
550735
|
setSettingsData((prev_27) => ({
|
|
@@ -558391,7 +558803,7 @@ function HelpV2(t0) {
|
|
|
558391
558803
|
let t6;
|
|
558392
558804
|
if ($3[31] !== tabs) {
|
|
558393
558805
|
t6 = /* @__PURE__ */ jsx_runtime210.jsx(Tabs, {
|
|
558394
|
-
title: `CCL v${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
558806
|
+
title: `CCL v${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}`,
|
|
558395
558807
|
color: "professionalBlue",
|
|
558396
558808
|
defaultTab: "general",
|
|
558397
558809
|
children: tabs
|
|
@@ -578062,7 +578474,7 @@ async function call28(onDone, _context, args) {
|
|
|
578062
578474
|
});
|
|
578063
578475
|
}
|
|
578064
578476
|
}
|
|
578065
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
578477
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
578066
578478
|
return /* @__PURE__ */ jsx_runtime249.jsx(PluginSettings, {
|
|
578067
578479
|
onComplete: onDone,
|
|
578068
578480
|
args: ["manage"],
|
|
@@ -582909,9 +583321,9 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
582909
583321
|
return [];
|
|
582910
583322
|
}
|
|
582911
583323
|
}
|
|
582912
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
583324
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
582913
583325
|
if (process.env.USER_TYPE === "ant") {
|
|
582914
|
-
const changelog = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
583326
|
+
const changelog = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION_CHANGELOG;
|
|
582915
583327
|
if (changelog) {
|
|
582916
583328
|
const commits = changelog.trim().split(`
|
|
582917
583329
|
`).filter(Boolean);
|
|
@@ -582936,9 +583348,9 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = { USER_TYP
|
|
|
582936
583348
|
releaseNotes
|
|
582937
583349
|
};
|
|
582938
583350
|
}
|
|
582939
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
583351
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
582940
583352
|
if (process.env.USER_TYPE === "ant") {
|
|
582941
|
-
const changelog = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
583353
|
+
const changelog = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION_CHANGELOG;
|
|
582942
583354
|
if (changelog) {
|
|
582943
583355
|
const commits = changelog.trim().split(`
|
|
582944
583356
|
`).filter(Boolean);
|
|
@@ -584120,7 +584532,7 @@ function getRecentActivitySync() {
|
|
|
584120
584532
|
return cachedActivity;
|
|
584121
584533
|
}
|
|
584122
584534
|
function getLogoDisplayData() {
|
|
584123
|
-
const version4 = process.env.DEMO_VERSION ?? { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
584535
|
+
const version4 = process.env.DEMO_VERSION ?? { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
584124
584536
|
const serverUrl = getDirectConnectServerUrl();
|
|
584125
584537
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
584126
584538
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -584152,7 +584564,7 @@ function formatModelAndBilling(modelName, billingType, availableWidth) {
|
|
|
584152
584564
|
}
|
|
584153
584565
|
function getRecentReleaseNotesSync(maxItems) {
|
|
584154
584566
|
if (process.env.USER_TYPE === "ant") {
|
|
584155
|
-
const changelog2 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
584567
|
+
const changelog2 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION_CHANGELOG;
|
|
584156
584568
|
if (changelog2) {
|
|
584157
584569
|
const commits = changelog2.trim().split(`
|
|
584158
584570
|
`).filter(Boolean);
|
|
@@ -584898,7 +585310,7 @@ function createRecentActivityFeed(activities) {
|
|
|
584898
585310
|
}
|
|
584899
585311
|
function createWhatsNewFeed(releaseNotes2) {
|
|
584900
585312
|
const lines = releaseNotes2.map((note) => {
|
|
584901
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
585313
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
584902
585314
|
const match = note.match(/^(\d+\s+\w+\s+ago)\s+(.+)$/);
|
|
584903
585315
|
if (match) {
|
|
584904
585316
|
return {
|
|
@@ -584911,9 +585323,9 @@ function createWhatsNewFeed(releaseNotes2) {
|
|
|
584911
585323
|
text: note
|
|
584912
585324
|
};
|
|
584913
585325
|
});
|
|
584914
|
-
const emptyMessage = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
585326
|
+
const emptyMessage = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? "Unable to fetch latest claude-cli-internal commits" : "Check the CCL changelog for updates";
|
|
584915
585327
|
return {
|
|
584916
|
-
title: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
585328
|
+
title: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? "What's new [ANT-ONLY: Latest CC commits]" : "What's new",
|
|
584917
585329
|
lines,
|
|
584918
585330
|
footer: lines.length > 0 ? "/release-notes for more" : undefined,
|
|
584919
585331
|
emptyMessage
|
|
@@ -585708,7 +586120,7 @@ function LogoV2() {
|
|
|
585708
586120
|
if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
585709
586121
|
t22 = () => {
|
|
585710
586122
|
const currentConfig = getGlobalConfig();
|
|
585711
|
-
if (currentConfig.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
586123
|
+
if (currentConfig.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
585712
586124
|
return;
|
|
585713
586125
|
}
|
|
585714
586126
|
saveGlobalConfig(_temp329);
|
|
@@ -586384,12 +586796,12 @@ function LogoV2() {
|
|
|
586384
586796
|
return t41;
|
|
586385
586797
|
}
|
|
586386
586798
|
function _temp329(current) {
|
|
586387
|
-
if (current.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
586799
|
+
if (current.lastReleaseNotesSeen === { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
586388
586800
|
return current;
|
|
586389
586801
|
}
|
|
586390
586802
|
return {
|
|
586391
586803
|
...current,
|
|
586392
|
-
lastReleaseNotesSeen: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
586804
|
+
lastReleaseNotesSeen: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
586393
586805
|
};
|
|
586394
586806
|
}
|
|
586395
586807
|
function _temp246(s_0) {
|
|
@@ -594290,13 +594702,13 @@ var init_ultraplan = __esm(() => {
|
|
|
594290
594702
|
ULTRAPLAN_TIMEOUT_MS = 30 * 60 * 1000;
|
|
594291
594703
|
_rawPrompt = require_prompt();
|
|
594292
594704
|
DEFAULT_INSTRUCTIONS = (typeof _rawPrompt === "string" ? _rawPrompt : _rawPrompt.default).trimEnd();
|
|
594293
|
-
ULTRAPLAN_INSTRUCTIONS = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
594705
|
+
ULTRAPLAN_INSTRUCTIONS = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && process.env.ULTRAPLAN_PROMPT_FILE ? readFileSync19(process.env.ULTRAPLAN_PROMPT_FILE, "utf8").trimEnd() : DEFAULT_INSTRUCTIONS;
|
|
594294
594706
|
ultraplan_default = {
|
|
594295
594707
|
type: "local-jsx",
|
|
594296
594708
|
name: "ultraplan",
|
|
594297
594709
|
description: `~10–30 min · CCL on the web drafts an advanced plan you can edit and approve. See ${CCR_TERMS_URL2}`,
|
|
594298
594710
|
argumentHint: "<prompt>",
|
|
594299
|
-
isEnabled: () => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
594711
|
+
isEnabled: () => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }).USER_TYPE === "ant",
|
|
594300
594712
|
load: () => Promise.resolve({
|
|
594301
594713
|
call: call37
|
|
594302
594714
|
})
|
|
@@ -594407,7 +594819,7 @@ function shouldHideTasksFooter(tasks, showSpinnerTree) {
|
|
|
594407
594819
|
return false;
|
|
594408
594820
|
let hasVisibleTask = false;
|
|
594409
594821
|
for (const t3 of Object.values(tasks)) {
|
|
594410
|
-
if (!isBackgroundTask(t3) || { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
594822
|
+
if (!isBackgroundTask(t3) || { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && isPanelAgentTask(t3)) {
|
|
594411
594823
|
continue;
|
|
594412
594824
|
}
|
|
594413
594825
|
hasVisibleTask = true;
|
|
@@ -600493,8 +600905,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
600493
600905
|
}
|
|
600494
600906
|
async function checkEnvLessBridgeMinVersion() {
|
|
600495
600907
|
const cfg = await getEnvLessBridgeConfig();
|
|
600496
|
-
if (cfg.min_version && lt2({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
600497
|
-
return `Your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
600908
|
+
if (cfg.min_version && lt2({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, cfg.min_version)) {
|
|
600909
|
+
return `Your version of CCL (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}) is too old for Remote Control.
|
|
600498
600910
|
Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
|
|
600499
600911
|
}
|
|
600500
600912
|
return null;
|
|
@@ -602869,10 +603281,10 @@ import { execa as execa14 } from "execa";
|
|
|
602869
603281
|
import { readFile as readFile51 } from "fs/promises";
|
|
602870
603282
|
import { join as join139 } from "path";
|
|
602871
603283
|
function getMarketplaceName() {
|
|
602872
|
-
return { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
603284
|
+
return { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_NAME : OFFICIAL_MARKETPLACE_NAME;
|
|
602873
603285
|
}
|
|
602874
603286
|
function getMarketplaceRepo() {
|
|
602875
|
-
return { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
603287
|
+
return { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_REPO : OFFICIAL_MARKETPLACE_REPO;
|
|
602876
603288
|
}
|
|
602877
603289
|
function getPluginId() {
|
|
602878
603290
|
return `thinkback@${getMarketplaceName()}`;
|
|
@@ -610625,7 +611037,7 @@ function getToolBuckets() {
|
|
|
610625
611037
|
},
|
|
610626
611038
|
EXECUTION: {
|
|
610627
611039
|
name: "Execution tools",
|
|
610628
|
-
toolNames: new Set([BashTool.name, { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
611040
|
+
toolNames: new Set([BashTool.name, { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? TungstenTool.name : undefined].filter((n2) => n2 !== undefined))
|
|
610629
611041
|
},
|
|
610630
611042
|
MCP: {
|
|
610631
611043
|
name: "MCP tools",
|
|
@@ -616275,7 +616687,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
616275
616687
|
smapsRollup,
|
|
616276
616688
|
platform: process.platform,
|
|
616277
616689
|
nodeVersion: process.version,
|
|
616278
|
-
ccVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
616690
|
+
ccVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
616279
616691
|
};
|
|
616280
616692
|
}
|
|
616281
616693
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -616862,7 +617274,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
616862
617274
|
var call61 = async () => {
|
|
616863
617275
|
return {
|
|
616864
617276
|
type: "text",
|
|
616865
|
-
value: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
617277
|
+
value: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.BUILD_TIME ? `${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} (built ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.BUILD_TIME})` : { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
616866
617278
|
};
|
|
616867
617279
|
}, version4, version_default;
|
|
616868
617280
|
var init_version = __esm(() => {
|
|
@@ -623926,7 +624338,7 @@ function OverviewTab({
|
|
|
623926
624338
|
})
|
|
623927
624339
|
]
|
|
623928
624340
|
}),
|
|
623929
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
624341
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && stats.totalSpeculationTimeSavedMs > 0 && /* @__PURE__ */ jsx_runtime367.jsx(ThemedBox_default, {
|
|
623930
624342
|
flexDirection: "row",
|
|
623931
624343
|
gap: 4,
|
|
623932
624344
|
children: /* @__PURE__ */ jsx_runtime367.jsx(ThemedBox_default, {
|
|
@@ -624600,7 +625012,7 @@ function renderOverviewToAnsi(stats) {
|
|
|
624600
625012
|
const activeDaysVal = `${stats.activeDays}/${stats.totalDays}`;
|
|
624601
625013
|
const peakHourVal = stats.peakActivityHour !== null ? `${stats.peakActivityHour}:00-${stats.peakActivityHour + 1}:00` : "N/A";
|
|
624602
625014
|
lines.push(row("Active days", activeDaysVal, "Peak hour", peakHourVal));
|
|
624603
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
625015
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && stats.totalSpeculationTimeSavedMs > 0) {
|
|
624604
625016
|
const label = "Speculation saved:".padEnd(COL1_LABEL_WIDTH);
|
|
624605
625017
|
lines.push(label + h3(formatDuration(stats.totalSpeculationTimeSavedMs)));
|
|
624606
625018
|
}
|
|
@@ -626384,7 +626796,7 @@ function generateHtmlReport(data, insights) {
|
|
|
626384
626796
|
</html>`;
|
|
626385
626797
|
}
|
|
626386
626798
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
626387
|
-
const version5 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
626799
|
+
const version5 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
626388
626800
|
const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
|
|
626389
626801
|
const facets_summary = {
|
|
626390
626802
|
total: facets.size,
|
|
@@ -630649,7 +631061,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
630649
631061
|
init_settings2();
|
|
630650
631062
|
init_slowOperations();
|
|
630651
631063
|
init_uuid();
|
|
630652
|
-
VERSION7 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
631064
|
+
VERSION7 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
630653
631065
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
630654
631066
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
630655
631067
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -631867,7 +632279,7 @@ var init_filesystem = __esm(() => {
|
|
|
631867
632279
|
});
|
|
631868
632280
|
getBundledSkillsRoot = memoize64(function getBundledSkillsRoot2() {
|
|
631869
632281
|
const nonce = randomBytes19(16).toString("hex");
|
|
631870
|
-
return join155(getClaudeTempDir(), "bundled-skills", { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
632282
|
+
return join155(getClaudeTempDir(), "bundled-skills", { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, nonce);
|
|
631871
632283
|
});
|
|
631872
632284
|
getResolvedWorkingDirPaths = memoize64(getPathsForPermissionCheck);
|
|
631873
632285
|
});
|
|
@@ -637182,7 +637594,7 @@ function getSimpleDoingTasksSection() {
|
|
|
637182
637594
|
];
|
|
637183
637595
|
const userHelpSubitems = [
|
|
637184
637596
|
`/help: Get help with using CCL`,
|
|
637185
|
-
`To give feedback, users should ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
637597
|
+
`To give feedback, users should ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.ISSUES_EXPLAINER}`
|
|
637186
637598
|
];
|
|
637187
637599
|
const items = [
|
|
637188
637600
|
`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.`,
|
|
@@ -638496,7 +638908,7 @@ function createBridgeLogger(options) {
|
|
|
638496
638908
|
connectUrl = buildBridgeConnectUrl(environmentId, cachedIngressUrl);
|
|
638497
638909
|
regenerateQr(connectUrl);
|
|
638498
638910
|
if (verbose) {
|
|
638499
|
-
write(source_default.dim(`Remote Control`) + ` v${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
638911
|
+
write(source_default.dim(`Remote Control`) + ` v${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}
|
|
638500
638912
|
`);
|
|
638501
638913
|
}
|
|
638502
638914
|
if (verbose) {
|
|
@@ -639469,7 +639881,7 @@ function appendToLog(path21, message) {
|
|
|
639469
639881
|
cwd: getFsImplementation().cwd(),
|
|
639470
639882
|
userType: process.env.USER_TYPE,
|
|
639471
639883
|
sessionId: getSessionId(),
|
|
639472
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
639884
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
639473
639885
|
};
|
|
639474
639886
|
getLogWriter(path21).write(messageWithTimestamp);
|
|
639475
639887
|
}
|
|
@@ -640739,7 +641151,7 @@ Spawn mode for this project:
|
|
|
640739
641151
|
const api = createBridgeApiClient({
|
|
640740
641152
|
baseUrl,
|
|
640741
641153
|
getAccessToken: getBridgeAccessToken2,
|
|
640742
|
-
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
641154
|
+
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
640743
641155
|
onDebug: logForDebugging,
|
|
640744
641156
|
onAuth401: handleOAuth401Error2,
|
|
640745
641157
|
getTrustedDeviceToken
|
|
@@ -640977,7 +641389,7 @@ async function runBridgeHeadless(opts, signal) {
|
|
|
640977
641389
|
const api = createBridgeApiClient({
|
|
640978
641390
|
baseUrl,
|
|
640979
641391
|
getAccessToken: opts.getAccessToken,
|
|
640980
|
-
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
641392
|
+
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
640981
641393
|
onDebug: log2,
|
|
640982
641394
|
onAuth401: opts.onAuth401,
|
|
640983
641395
|
getTrustedDeviceToken
|
|
@@ -645409,7 +645821,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
645409
645821
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
645410
645822
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
645411
645823
|
betas: getSdkBetas(),
|
|
645412
|
-
claude_code_version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
645824
|
+
claude_code_version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
645413
645825
|
output_style: outputStyle2,
|
|
645414
645826
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
645415
645827
|
skills: inputs.skills.filter((s3) => s3.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -647703,7 +648115,7 @@ async function initBridgeCore(params) {
|
|
|
647703
648115
|
const rawApi = createBridgeApiClient({
|
|
647704
648116
|
baseUrl,
|
|
647705
648117
|
getAccessToken,
|
|
647706
|
-
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
648118
|
+
runnerVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
647707
648119
|
onDebug: logForDebugging,
|
|
647708
648120
|
onAuth401,
|
|
647709
648121
|
getTrustedDeviceToken
|
|
@@ -650386,7 +650798,7 @@ function MessageSelector({
|
|
|
650386
650798
|
...summarizeInputProps,
|
|
650387
650799
|
onChange: setSummarizeFromFeedback
|
|
650388
650800
|
});
|
|
650389
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
650801
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
650390
650802
|
baseOptions.push({
|
|
650391
650803
|
value: "summarize_up_to",
|
|
650392
650804
|
label: "Summarize up to here",
|
|
@@ -657880,7 +658292,7 @@ function bashToolUseOptions({
|
|
|
657880
658292
|
}
|
|
657881
658293
|
}
|
|
657882
658294
|
const editablePrefixShown = options.some((o2) => o2.value === "yes-prefix-edited");
|
|
657883
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
658295
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && !editablePrefixShown && isClassifierPermissionsEnabled() && onClassifierDescriptionChange && !initialClassifierDescriptionEmpty && !descriptionAlreadyExists(classifierDescription ?? "", existingAllowDescriptions) && decisionReason?.type !== "classifier") {
|
|
657884
658296
|
options.push({
|
|
657885
658297
|
type: "input",
|
|
657886
658298
|
label: "Yes, and don’t ask again for",
|
|
@@ -665487,7 +665899,7 @@ var init_CompanionSprite = __esm(() => {
|
|
|
665487
665899
|
|
|
665488
665900
|
// buddy/useBuddyNotification.tsx
|
|
665489
665901
|
function isBuddyTeaserWindow() {
|
|
665490
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
665902
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant")
|
|
665491
665903
|
return true;
|
|
665492
665904
|
const d2 = new Date;
|
|
665493
665905
|
return d2.getFullYear() === 2026 && d2.getMonth() === 3 && d2.getDate() <= 7;
|
|
@@ -665623,7 +666035,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
665623
666035
|
function getSemverPart(version5) {
|
|
665624
666036
|
return `${import_semver14.major(version5, { loose: true })}.${import_semver14.minor(version5, { loose: true })}.${import_semver14.patch(version5, { loose: true })}`;
|
|
665625
666037
|
}
|
|
665626
|
-
function useUpdateNotification(updatedVersion, initialVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666038
|
+
function useUpdateNotification(updatedVersion, initialVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
665627
666039
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react232.useState(() => getSemverPart(initialVersion));
|
|
665628
666040
|
if (!updatedVersion) {
|
|
665629
666041
|
return null;
|
|
@@ -665663,7 +666075,7 @@ function AutoUpdater({
|
|
|
665663
666075
|
return;
|
|
665664
666076
|
}
|
|
665665
666077
|
if (false) {}
|
|
665666
|
-
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666078
|
+
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
665667
666079
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
665668
666080
|
let latestVersion = await getLatestVersion(channel2);
|
|
665669
666081
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -665799,7 +666211,7 @@ function AutoUpdater({
|
|
|
665799
666211
|
" ",
|
|
665800
666212
|
/* @__PURE__ */ jsx_runtime413.jsx(ThemedText, {
|
|
665801
666213
|
bold: true,
|
|
665802
|
-
children: hasLocalInstall ? `cd ~/.ccl/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666214
|
+
children: hasLocalInstall ? `cd ~/.ccl/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}` : `npm i -g ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}`
|
|
665803
666215
|
})
|
|
665804
666216
|
]
|
|
665805
666217
|
})
|
|
@@ -665876,12 +666288,12 @@ function NativeAutoUpdater({
|
|
|
665876
666288
|
logEvent("tengu_native_auto_updater_start", {});
|
|
665877
666289
|
try {
|
|
665878
666290
|
const maxVersion = await getMaxVersion();
|
|
665879
|
-
if (maxVersion && gt2({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666291
|
+
if (maxVersion && gt2({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, maxVersion)) {
|
|
665880
666292
|
const msg = await getMaxVersionMessage();
|
|
665881
666293
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
665882
666294
|
}
|
|
665883
666295
|
const result = await installLatest(channel2);
|
|
665884
|
-
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666296
|
+
const currentVersion = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION;
|
|
665885
666297
|
const latencyMs = Date.now() - startTime2;
|
|
665886
666298
|
if (result.lockFailed) {
|
|
665887
666299
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -665977,7 +666389,7 @@ function NativeAutoUpdater({
|
|
|
665977
666389
|
})
|
|
665978
666390
|
]
|
|
665979
666391
|
}),
|
|
665980
|
-
maxVersionIssue && { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666392
|
+
maxVersionIssue && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime414.jsxs(ThemedText, {
|
|
665981
666393
|
color: "warning",
|
|
665982
666394
|
children: [
|
|
665983
666395
|
"⚠ Known issue: ",
|
|
@@ -666031,17 +666443,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
666031
666443
|
const maxVersion = await getMaxVersion();
|
|
666032
666444
|
if (maxVersion && latest && gt2(latest, maxVersion)) {
|
|
666033
666445
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
666034
|
-
if (gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666035
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666446
|
+
if (gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, maxVersion)) {
|
|
666447
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
666036
666448
|
setUpdateAvailable(false);
|
|
666037
666449
|
return;
|
|
666038
666450
|
}
|
|
666039
666451
|
latest = maxVersion;
|
|
666040
666452
|
}
|
|
666041
|
-
const hasUpdate = latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666453
|
+
const hasUpdate = latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, latest) && !shouldSkipVersion(latest);
|
|
666042
666454
|
setUpdateAvailable(!!hasUpdate);
|
|
666043
666455
|
if (hasUpdate) {
|
|
666044
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666456
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} -> ${latest}`);
|
|
666045
666457
|
}
|
|
666046
666458
|
};
|
|
666047
666459
|
$3[0] = t1;
|
|
@@ -666075,7 +666487,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
666075
666487
|
wrap: "truncate",
|
|
666076
666488
|
children: [
|
|
666077
666489
|
"currentVersion: ",
|
|
666078
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666490
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
666079
666491
|
]
|
|
666080
666492
|
});
|
|
666081
666493
|
$3[3] = verbose;
|
|
@@ -666326,7 +666738,7 @@ var init_useMemoryUsage = __esm(() => {
|
|
|
666326
666738
|
|
|
666327
666739
|
// components/MemoryUsageIndicator.tsx
|
|
666328
666740
|
function MemoryUsageIndicator() {
|
|
666329
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
666741
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant") {
|
|
666330
666742
|
return null;
|
|
666331
666743
|
}
|
|
666332
666744
|
const memoryUsage = useMemoryUsage();
|
|
@@ -676020,7 +676432,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
676020
676432
|
project_dir: getOriginalCwd(),
|
|
676021
676433
|
added_dirs: addedDirs
|
|
676022
676434
|
},
|
|
676023
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
676435
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
676024
676436
|
output_style: {
|
|
676025
676437
|
name: outputStyleName
|
|
676026
676438
|
},
|
|
@@ -677377,7 +677789,7 @@ function ModeIndicator({
|
|
|
677377
677789
|
const expandedView = useAppState((s_3) => s_3.expandedView);
|
|
677378
677790
|
const showSpinnerTree = expandedView === "teammates";
|
|
677379
677791
|
const prStatus = usePrStatus(isLoading, isPrStatusEnabled());
|
|
677380
|
-
const hasTmuxSession = useAppState((s_4) => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
677792
|
+
const hasTmuxSession = useAppState((s_4) => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }).USER_TYPE === "ant" && s_4.tungstenActiveSession !== undefined);
|
|
677381
677793
|
const nextTickAt = import_react259.useSyncExternalStore(proactiveModule6?.subscribeToProactiveChanges ?? NO_OP_SUBSCRIBE, proactiveModule6?.getNextTickAt ?? NULL, NULL);
|
|
677382
677794
|
const voiceEnabled = runtimeVoiceFeature() ? useVoiceEnabled() : false;
|
|
677383
677795
|
const voiceState = runtimeVoiceFeature() ? useVoiceState((s_5) => s_5.voiceState) : "idle";
|
|
@@ -677386,7 +677798,7 @@ function ModeIndicator({
|
|
|
677386
677798
|
const selGetState = useSelection().getState;
|
|
677387
677799
|
const hasNextTick = nextTickAt !== null;
|
|
677388
677800
|
const isCoordinator = feature("COORDINATOR_MODE") ? coordinatorModule?.isCoordinatorMode() === true : false;
|
|
677389
|
-
const runningTaskCount = import_react259.useMemo(() => count(Object.values(tasks2), (t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
677801
|
+
const runningTaskCount = import_react259.useMemo(() => count(Object.values(tasks2), (t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && isPanelAgentTask(t3))), [tasks2]);
|
|
677390
677802
|
const tasksV2 = useTasksV2();
|
|
677391
677803
|
const hasTaskItems = tasksV2 !== undefined && tasksV2.length > 0;
|
|
677392
677804
|
const escShortcut = useShortcutDisplay("chat:cancel", "Chat", "esc").toLowerCase();
|
|
@@ -677464,7 +677876,7 @@ function ModeIndicator({
|
|
|
677464
677876
|
]
|
|
677465
677877
|
})
|
|
677466
677878
|
}, "remote")] : [],
|
|
677467
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
677879
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && hasTmuxSession ? [/* @__PURE__ */ jsx_runtime440.jsx(TungstenPill, {
|
|
677468
677880
|
selected: tmuxSelected
|
|
677469
677881
|
}, "tmux")] : [],
|
|
677470
677882
|
...isAgentSwarmsEnabled() && hasTeams ? [/* @__PURE__ */ jsx_runtime440.jsx(TeamStatus, {
|
|
@@ -677515,7 +677927,7 @@ function ModeIndicator({
|
|
|
677515
677927
|
]
|
|
677516
677928
|
});
|
|
677517
677929
|
}
|
|
677518
|
-
const hasCoordinatorTasks = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
677930
|
+
const hasCoordinatorTasks = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && getVisibleAgentTasks(tasks2).length > 0;
|
|
677519
677931
|
const tasksPart = hasBackgroundTasks && !hasTeammatePills && !shouldHideTasksFooter(tasks2, showSpinnerTree) ? /* @__PURE__ */ jsx_runtime440.jsx(BackgroundTaskStatus, {
|
|
677520
677932
|
tasksSelected,
|
|
677521
677933
|
isViewingTeammate,
|
|
@@ -677823,7 +678235,7 @@ function PromptInputFooter({
|
|
|
677823
678235
|
isInputWrapped,
|
|
677824
678236
|
isNarrow
|
|
677825
678237
|
}),
|
|
677826
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
678238
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && isUndercover() && /* @__PURE__ */ jsx_runtime441.jsx(ThemedText, {
|
|
677827
678239
|
dimColor: true,
|
|
677828
678240
|
children: "undercover"
|
|
677829
678241
|
}),
|
|
@@ -677834,7 +678246,7 @@ function PromptInputFooter({
|
|
|
677834
678246
|
})
|
|
677835
678247
|
]
|
|
677836
678248
|
}),
|
|
677837
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
678249
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime441.jsx(CoordinatorTaskPanel, {})
|
|
677838
678250
|
]
|
|
677839
678251
|
});
|
|
677840
678252
|
}
|
|
@@ -678595,8 +679007,8 @@ function PromptInput({
|
|
|
678595
679007
|
const replBridgeExplicit = useAppState((s3) => s3.replBridgeExplicit);
|
|
678596
679008
|
const replBridgeReconnecting = useAppState((s3) => s3.replBridgeReconnecting);
|
|
678597
679009
|
const bridgeFooterVisible = replBridgeConnected && (replBridgeExplicit || replBridgeReconnecting);
|
|
678598
|
-
const hasTungstenSession = useAppState((s3) => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
678599
|
-
const tmuxFooterVisible = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
679010
|
+
const hasTungstenSession = useAppState((s3) => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }).USER_TYPE === "ant" && s3.tungstenActiveSession !== undefined);
|
|
679011
|
+
const tmuxFooterVisible = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && hasTungstenSession;
|
|
678600
679012
|
const bagelFooterVisible = useAppState((s3) => false);
|
|
678601
679013
|
const teamContext = useAppState((s3) => s3.teamContext);
|
|
678602
679014
|
const queuedCommands = useCommandQueue();
|
|
@@ -678662,7 +679074,7 @@ function PromptInput({
|
|
|
678662
679074
|
};
|
|
678663
679075
|
}), [setAppState]);
|
|
678664
679076
|
const coordinatorTaskCount = useCoordinatorTaskCount();
|
|
678665
|
-
const hasBgTaskPill = import_react265.useMemo(() => Object.values(tasks2).some((t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
679077
|
+
const hasBgTaskPill = import_react265.useMemo(() => Object.values(tasks2).some((t3) => isBackgroundTask(t3) && !({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && isPanelAgentTask(t3))), [tasks2]);
|
|
678666
679078
|
const minCoordinatorIndex = hasBgTaskPill ? -1 : 0;
|
|
678667
679079
|
import_react265.useEffect(() => {
|
|
678668
679080
|
if (coordinatorTaskIndex >= coordinatorTaskCount) {
|
|
@@ -678715,7 +679127,7 @@ function PromptInput({
|
|
|
678715
679127
|
}];
|
|
678716
679128
|
}, [teamContext]);
|
|
678717
679129
|
const runningTaskCount = import_react265.useMemo(() => count(Object.values(tasks2), (t3) => t3.status === "running"), [tasks2]);
|
|
678718
|
-
const tasksFooterVisible = (runningTaskCount > 0 || { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
679130
|
+
const tasksFooterVisible = (runningTaskCount > 0 || { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && coordinatorTaskCount > 0) && !shouldHideTasksFooter(tasks2, showSpinnerTree);
|
|
678719
679131
|
const teamsFooterVisible = cachedTeams.length > 0;
|
|
678720
679132
|
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]);
|
|
678721
679133
|
const rawFooterSelection = useAppState((s3) => s3.footerSelection);
|
|
@@ -679721,14 +680133,14 @@ function PromptInput({
|
|
|
679721
680133
|
});
|
|
679722
680134
|
useKeybindings({
|
|
679723
680135
|
"footer:up": () => {
|
|
679724
|
-
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
680136
|
+
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && coordinatorTaskCount > 0 && coordinatorTaskIndex > minCoordinatorIndex) {
|
|
679725
680137
|
setCoordinatorTaskIndex((prev) => prev - 1);
|
|
679726
680138
|
return;
|
|
679727
680139
|
}
|
|
679728
680140
|
navigateFooter(-1, true);
|
|
679729
680141
|
},
|
|
679730
680142
|
"footer:down": () => {
|
|
679731
|
-
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
680143
|
+
if (tasksSelected && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && coordinatorTaskCount > 0) {
|
|
679732
680144
|
if (coordinatorTaskIndex < coordinatorTaskCount - 1) {
|
|
679733
680145
|
setCoordinatorTaskIndex((prev) => prev + 1);
|
|
679734
680146
|
}
|
|
@@ -679790,7 +680202,7 @@ function PromptInput({
|
|
|
679790
680202
|
}
|
|
679791
680203
|
break;
|
|
679792
680204
|
case "tmux":
|
|
679793
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
680205
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
679794
680206
|
setAppState((prev) => prev.tungstenPanelAutoHidden ? {
|
|
679795
680207
|
...prev,
|
|
679796
680208
|
tungstenPanelAutoHidden: false
|
|
@@ -697704,7 +698116,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
697704
698116
|
} catch {}
|
|
697705
698117
|
const data = {
|
|
697706
698118
|
trigger,
|
|
697707
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
698119
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
697708
698120
|
platform: process.platform,
|
|
697709
698121
|
transcript,
|
|
697710
698122
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -698140,7 +698552,7 @@ function useMemorySurvey(messages, isLoading, hasActivePrompt = false, {
|
|
|
698140
698552
|
});
|
|
698141
698553
|
}, []);
|
|
698142
698554
|
const shouldShowTranscriptPrompt = import_react299.useCallback((selected_0) => {
|
|
698143
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
698555
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant") {
|
|
698144
698556
|
return false;
|
|
698145
698557
|
}
|
|
698146
698558
|
if (selected_0 !== "bad" && selected_0 !== "good") {
|
|
@@ -704343,7 +704755,7 @@ function AutoRunIssueNotification(t0) {
|
|
|
704343
704755
|
return t6;
|
|
704344
704756
|
}
|
|
704345
704757
|
function shouldAutoRunIssue(reason) {
|
|
704346
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
704758
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant") {
|
|
704347
704759
|
return false;
|
|
704348
704760
|
}
|
|
704349
704761
|
switch (reason) {
|
|
@@ -704356,7 +704768,7 @@ function shouldAutoRunIssue(reason) {
|
|
|
704356
704768
|
}
|
|
704357
704769
|
}
|
|
704358
704770
|
function getAutoRunCommand(reason) {
|
|
704359
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
704771
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && reason === "feedback_survey_good") {
|
|
704360
704772
|
return "/good-claude";
|
|
704361
704773
|
}
|
|
704362
704774
|
return "/issue";
|
|
@@ -704497,7 +704909,7 @@ var init_useIssueFlagBanner = __esm(() => {
|
|
|
704497
704909
|
|
|
704498
704910
|
// components/DevBar.tsx
|
|
704499
704911
|
function shouldShowDevBar() {
|
|
704500
|
-
return { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
704912
|
+
return { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant";
|
|
704501
704913
|
}
|
|
704502
704914
|
function DevBar() {
|
|
704503
704915
|
const $3 = import_compiler_runtime368.c(5);
|
|
@@ -706361,7 +706773,7 @@ function REPL({
|
|
|
706361
706773
|
}) {
|
|
706362
706774
|
const isRemoteSession = !!remoteSessionConfig;
|
|
706363
706775
|
const titleDisabled = import_react324.useMemo(() => isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE), []);
|
|
706364
|
-
const moreRightEnabled = import_react324.useMemo(() => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
706776
|
+
const moreRightEnabled = import_react324.useMemo(() => ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }).USER_TYPE === "ant" && isEnvTruthy(process.env.CLAUDE_MORERIGHT), []);
|
|
706365
706777
|
const disableVirtualScroll = import_react324.useMemo(() => isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_VIRTUAL_SCROLL), []);
|
|
706366
706778
|
const disableMessageActions = runtimeFeature11("MESSAGE_ACTIONS") ? import_react324.useMemo(() => isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_MESSAGE_ACTIONS), []) : false;
|
|
706367
706779
|
import_react324.useEffect(() => {
|
|
@@ -706449,7 +706861,7 @@ function REPL({
|
|
|
706449
706861
|
const [ideInstallationStatus, setIDEInstallationStatus] = import_react324.useState(null);
|
|
706450
706862
|
const [showIdeOnboarding, setShowIdeOnboarding] = import_react324.useState(false);
|
|
706451
706863
|
const [showModelSwitchCallout, setShowModelSwitchCallout] = import_react324.useState(() => {
|
|
706452
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
706864
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
706453
706865
|
return shouldShowAntModelSwitch();
|
|
706454
706866
|
}
|
|
706455
706867
|
return false;
|
|
@@ -706611,7 +707023,7 @@ function REPL({
|
|
|
706611
707023
|
}, []);
|
|
706612
707024
|
const [showUndercoverCallout, setShowUndercoverCallout] = import_react324.useState(false);
|
|
706613
707025
|
import_react324.useEffect(() => {
|
|
706614
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
707026
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
706615
707027
|
(async () => {
|
|
706616
707028
|
const {
|
|
706617
707029
|
isInternalModelRepo: isInternalModelRepo2
|
|
@@ -707228,9 +707640,9 @@ function REPL({
|
|
|
707228
707640
|
return "ultraplan-launch";
|
|
707229
707641
|
if (allowDialogsWithAnimation && showIdeOnboarding)
|
|
707230
707642
|
return "ide-onboarding";
|
|
707231
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
707643
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && allowDialogsWithAnimation && showModelSwitchCallout)
|
|
707232
707644
|
return "model-switch";
|
|
707233
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
707645
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && allowDialogsWithAnimation && showUndercoverCallout)
|
|
707234
707646
|
return "undercover-callout";
|
|
707235
707647
|
if (allowDialogsWithAnimation && showEffortCallout)
|
|
707236
707648
|
return "effort-callout";
|
|
@@ -707571,7 +707983,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
707571
707983
|
dynamicSkillDirTriggers: new Set,
|
|
707572
707984
|
discoveredSkillNames: discoveredSkillNamesRef.current,
|
|
707573
707985
|
setResponseLength,
|
|
707574
|
-
pushApiMetricsEntry: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
707986
|
+
pushApiMetricsEntry: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? (ttftMs) => {
|
|
707575
707987
|
const now = Date.now();
|
|
707576
707988
|
const baseline = responseLengthRef.current;
|
|
707577
707989
|
apiMetricsRef2.current.push({
|
|
@@ -707842,7 +708254,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
707842
708254
|
}));
|
|
707843
708255
|
}
|
|
707844
708256
|
queryCheckpoint("query_end");
|
|
707845
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
708257
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && apiMetricsRef2.current.length > 0) {
|
|
707846
708258
|
const entries = apiMetricsRef2.current;
|
|
707847
708259
|
const ttfts = entries.map((e3) => e3.ttftMs);
|
|
707848
708260
|
const otpsValues = entries.map((e3) => {
|
|
@@ -707928,7 +708340,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
707928
708340
|
resetLoadingState();
|
|
707929
708341
|
await mrOnTurnComplete(messagesRef.current, abortController2.signal.aborted);
|
|
707930
708342
|
sendBridgeResultRef.current();
|
|
707931
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
708343
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && !abortController2.signal.aborted) {
|
|
707932
708344
|
setAppState((prev) => {
|
|
707933
708345
|
if (prev.tungstenActiveSession === undefined)
|
|
707934
708346
|
return prev;
|
|
@@ -708009,7 +708421,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
708009
708421
|
setPlanSlug(getSessionId(), oldPlanSlug);
|
|
708010
708422
|
}
|
|
708011
708423
|
}
|
|
708012
|
-
const shouldStorePlanForVerification = initialMsg.message.planContent && { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
708424
|
+
const shouldStorePlanForVerification = initialMsg.message.planContent && { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && isEnvTruthy(undefined);
|
|
708013
708425
|
setAppState((prev) => {
|
|
708014
708426
|
let updatedToolPermissionContext = initialMsg.mode ? applyPermissionUpdates(prev.toolPermissionContext, buildPermissionUpdates(initialMsg.mode, initialMsg.allowedPrompts)) : prev.toolPermissionContext;
|
|
708015
708427
|
if (feature("TRANSCRIPT_CLASSIFIER") && initialMsg.mode === "auto") {
|
|
@@ -708408,7 +708820,7 @@ Error: sandbox required but unavailable: ${reason}
|
|
|
708408
708820
|
setAutoRunIssueReason(null);
|
|
708409
708821
|
}, []);
|
|
708410
708822
|
const handleSurveyRequestFeedback = import_react324.useCallback(() => {
|
|
708411
|
-
const command9 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
708823
|
+
const command9 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? "/issue" : "/feedback";
|
|
708412
708824
|
onSubmit(command9, {
|
|
708413
708825
|
setCursorOffset: () => {},
|
|
708414
708826
|
clearBuffer: () => {},
|
|
@@ -708777,7 +709189,7 @@ ${fileList}`);
|
|
|
708777
709189
|
assistantMode: scheduledTasksAssistantMode,
|
|
708778
709190
|
setMessages
|
|
708779
709191
|
});
|
|
708780
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
709192
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
708781
709193
|
useTaskListWatcher({
|
|
708782
709194
|
taskListId,
|
|
708783
709195
|
isLoading,
|
|
@@ -708855,7 +709267,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
708855
709267
|
return total === 1 ? `${customMessage}…` : `${customMessage}… ${completedCount}/${total}`;
|
|
708856
709268
|
}
|
|
708857
709269
|
const hookType = currentHooks[0]?.data.hookEvent === "SubagentStop" ? "subagent stop" : "stop";
|
|
708858
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
709270
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
708859
709271
|
const cmd = currentHooks[completedCount]?.data.command;
|
|
708860
709272
|
const label = cmd ? ` '${truncateToWidth(cmd, 40)}'` : "";
|
|
708861
709273
|
return total === 1 ? `running ${hookType} hook${label}` : `running ${hookType} hook${label}… ${completedCount}/${total}`;
|
|
@@ -709237,7 +709649,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
709237
709649
|
width: "100%",
|
|
709238
709650
|
children: toolJSX.jsx
|
|
709239
709651
|
}),
|
|
709240
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
709652
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime475.jsx(TungstenLiveMonitor, {}),
|
|
709241
709653
|
feature("WEB_BROWSER_TOOL") ? WebBrowserPanelModule && /* @__PURE__ */ jsx_runtime475.jsx(WebBrowserPanelModule.WebBrowserPanel, {}) : null,
|
|
709242
709654
|
/* @__PURE__ */ jsx_runtime475.jsx(ThemedBox_default, {
|
|
709243
709655
|
flexGrow: 1
|
|
@@ -709496,7 +709908,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
709496
709908
|
onDone: () => setShowIdeOnboarding(false),
|
|
709497
709909
|
installationStatus: ideInstallationStatus
|
|
709498
709910
|
}),
|
|
709499
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
709911
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && focusedInputDialog === "model-switch" && AntModelSwitchCallout26 && /* @__PURE__ */ jsx_runtime475.jsx(AntModelSwitchCallout26, {
|
|
709500
709912
|
onDone: (selection, modelAlias) => {
|
|
709501
709913
|
setShowModelSwitchCallout(false);
|
|
709502
709914
|
if (selection === "switch" && modelAlias) {
|
|
@@ -709508,7 +709920,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
709508
709920
|
}
|
|
709509
709921
|
}
|
|
709510
709922
|
}),
|
|
709511
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
709923
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && focusedInputDialog === "undercover-callout" && UndercoverAutoCallout26 && /* @__PURE__ */ jsx_runtime475.jsx(UndercoverAutoCallout26, {
|
|
709512
709924
|
onDone: () => setShowUndercoverCallout(false)
|
|
709513
709925
|
}),
|
|
709514
709926
|
focusedInputDialog === "effort-callout" && /* @__PURE__ */ jsx_runtime475.jsx(EffortCallout, {
|
|
@@ -709642,7 +710054,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
709642
710054
|
inputValue,
|
|
709643
710055
|
setInputValue
|
|
709644
710056
|
}),
|
|
709645
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710057
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && skillImprovementSurvey.suggestion && /* @__PURE__ */ jsx_runtime475.jsx(SkillImprovementSurvey, {
|
|
709646
710058
|
isOpen: skillImprovementSurvey.isOpen,
|
|
709647
710059
|
skillName: skillImprovementSurvey.suggestion.skillName,
|
|
709648
710060
|
updates: skillImprovementSurvey.suggestion.updates,
|
|
@@ -709777,7 +710189,7 @@ Note: ctrl + z now suspends CCL, ctrl + _ undoes input.
|
|
|
709777
710189
|
setMessageSelectorPreselect(undefined);
|
|
709778
710190
|
}
|
|
709779
710191
|
}),
|
|
709780
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710192
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && /* @__PURE__ */ jsx_runtime475.jsx(DevBar, {})
|
|
709781
710193
|
]
|
|
709782
710194
|
}),
|
|
709783
710195
|
feature("BUDDY") && !(companionNarrow && isFullscreenEnvEnabled()) && companionVisible ? /* @__PURE__ */ jsx_runtime475.jsx(CompanionSprite, {}) : null
|
|
@@ -710010,17 +710422,17 @@ var init_REPL = __esm(() => {
|
|
|
710010
710422
|
resetAnchor: () => {}
|
|
710011
710423
|
});
|
|
710012
710424
|
VoiceKeybindingHandler27 = runtimeVoiceFeature() ? (init_useVoiceIntegration(), __toCommonJS(exports_useVoiceIntegration)).VoiceKeybindingHandler : () => null;
|
|
710013
|
-
useFrustrationDetection27 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710425
|
+
useFrustrationDetection27 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? __toCommonJS(exports_useFrustrationDetection).useFrustrationDetection : () => ({
|
|
710014
710426
|
state: "closed",
|
|
710015
710427
|
handleTranscriptSelect: () => {}
|
|
710016
710428
|
});
|
|
710017
|
-
useAntOrgWarningNotification27 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710429
|
+
useAntOrgWarningNotification27 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? __toCommonJS(exports_useAntOrgWarningNotification).useAntOrgWarningNotification : () => {};
|
|
710018
710430
|
getCoordinatorUserContext27 = feature("COORDINATOR_MODE") ? (init_coordinatorMode(), __toCommonJS(exports_coordinatorMode)).getCoordinatorUserContext : () => ({});
|
|
710019
710431
|
proactiveModule8 = feature("PROACTIVE") || feature("KAIROS") ? __toCommonJS(exports_proactive) : null;
|
|
710020
710432
|
useProactive26 = feature("PROACTIVE") || feature("KAIROS") ? (init_useProactive(), __toCommonJS(exports_useProactive)).useProactive : null;
|
|
710021
|
-
AntModelSwitchCallout26 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710022
|
-
shouldShowAntModelSwitch = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710023
|
-
UndercoverAutoCallout26 = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
710433
|
+
AntModelSwitchCallout26 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? (init_AntModelSwitchCallout(), __toCommonJS(exports_AntModelSwitchCallout)).AntModelSwitchCallout : null;
|
|
710434
|
+
shouldShowAntModelSwitch = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? (init_AntModelSwitchCallout(), __toCommonJS(exports_AntModelSwitchCallout)).shouldShowModelSwitchCallout : () => false;
|
|
710435
|
+
UndercoverAutoCallout26 = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? (init_UndercoverAutoCallout(), __toCommonJS(exports_UndercoverAutoCallout)).UndercoverAutoCallout : null;
|
|
710024
710436
|
WebBrowserPanelModule = feature("WEB_BROWSER_TOOL") ? __toCommonJS(exports_WebBrowserPanel) : null;
|
|
710025
710437
|
EMPTY_MCP_CLIENTS2 = [];
|
|
710026
710438
|
HISTORY_STUB = {
|
|
@@ -713022,7 +713434,7 @@ function WelcomeV2() {
|
|
|
713022
713434
|
dimColor: true,
|
|
713023
713435
|
children: [
|
|
713024
713436
|
"v",
|
|
713025
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
713437
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
713026
713438
|
" "
|
|
713027
713439
|
]
|
|
713028
713440
|
})
|
|
@@ -713221,7 +713633,7 @@ function WelcomeV2() {
|
|
|
713221
713633
|
dimColor: true,
|
|
713222
713634
|
children: [
|
|
713223
713635
|
"v",
|
|
713224
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
713636
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
713225
713637
|
" "
|
|
713226
713638
|
]
|
|
713227
713639
|
})
|
|
@@ -713447,7 +713859,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
713447
713859
|
dimColor: true,
|
|
713448
713860
|
children: [
|
|
713449
713861
|
"v",
|
|
713450
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
713862
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
713451
713863
|
" "
|
|
713452
713864
|
]
|
|
713453
713865
|
});
|
|
@@ -713665,7 +714077,7 @@ function AppleTerminalWelcomeV2(t0) {
|
|
|
713665
714077
|
dimColor: true,
|
|
713666
714078
|
children: [
|
|
713667
714079
|
"v",
|
|
713668
|
-
{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
714080
|
+
{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
713669
714081
|
" "
|
|
713670
714082
|
]
|
|
713671
714083
|
});
|
|
@@ -715332,7 +715744,7 @@ function completeOnboarding() {
|
|
|
715332
715744
|
saveGlobalConfig((current) => ({
|
|
715333
715745
|
...current,
|
|
715334
715746
|
hasCompletedOnboarding: true,
|
|
715335
|
-
lastOnboardingVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
715747
|
+
lastOnboardingVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
715336
715748
|
}));
|
|
715337
715749
|
}
|
|
715338
715750
|
function showDialog(root, renderer) {
|
|
@@ -729016,7 +729428,7 @@ async function startMCPServer(cwd3, debug5, verbose) {
|
|
|
729016
729428
|
setCwd(cwd3);
|
|
729017
729429
|
const server = new Server({
|
|
729018
729430
|
name: "claude/tengu",
|
|
729019
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
729431
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION
|
|
729020
729432
|
}, {
|
|
729021
729433
|
capabilities: {
|
|
729022
729434
|
tools: {}
|
|
@@ -730821,7 +731233,7 @@ __export(exports_update, {
|
|
|
730821
731233
|
});
|
|
730822
731234
|
async function update() {
|
|
730823
731235
|
logEvent("tengu_update_check", {});
|
|
730824
|
-
writeToStdout(`Current version: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731236
|
+
writeToStdout(`Current version: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION}
|
|
730825
731237
|
`);
|
|
730826
731238
|
const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
730827
731239
|
writeToStdout(`Checking for updates to ${channel2} version...
|
|
@@ -730896,8 +731308,8 @@ async function update() {
|
|
|
730896
731308
|
writeToStdout(`CCL is managed by Homebrew.
|
|
730897
731309
|
`);
|
|
730898
731310
|
const latest = await getLatestVersion(channel2);
|
|
730899
|
-
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
730900
|
-
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731311
|
+
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, latest)) {
|
|
731312
|
+
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} → ${latest}
|
|
730901
731313
|
`);
|
|
730902
731314
|
writeToStdout(`
|
|
730903
731315
|
`);
|
|
@@ -730913,8 +731325,8 @@ async function update() {
|
|
|
730913
731325
|
writeToStdout(`CCL is managed by winget.
|
|
730914
731326
|
`);
|
|
730915
731327
|
const latest = await getLatestVersion(channel2);
|
|
730916
|
-
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
730917
|
-
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731328
|
+
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, latest)) {
|
|
731329
|
+
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} → ${latest}
|
|
730918
731330
|
`);
|
|
730919
731331
|
writeToStdout(`
|
|
730920
731332
|
`);
|
|
@@ -730930,8 +731342,8 @@ async function update() {
|
|
|
730930
731342
|
writeToStdout(`CCL is managed by apk.
|
|
730931
731343
|
`);
|
|
730932
731344
|
const latest = await getLatestVersion(channel2);
|
|
730933
|
-
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
730934
|
-
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731345
|
+
if (latest && !gte({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION, latest)) {
|
|
731346
|
+
writeToStdout(`Update available: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} → ${latest}
|
|
730935
731347
|
`);
|
|
730936
731348
|
writeToStdout(`
|
|
730937
731349
|
`);
|
|
@@ -730996,11 +731408,11 @@ async function update() {
|
|
|
730996
731408
|
`);
|
|
730997
731409
|
await gracefulShutdown(1);
|
|
730998
731410
|
}
|
|
730999
|
-
if (result.latestVersion === { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731000
|
-
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731411
|
+
if (result.latestVersion === { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
731412
|
+
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION})`) + `
|
|
731001
731413
|
`);
|
|
731002
731414
|
} else {
|
|
731003
|
-
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731415
|
+
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} to version ${result.latestVersion}`) + `
|
|
731004
731416
|
`);
|
|
731005
731417
|
await regenerateCompletionCache();
|
|
731006
731418
|
}
|
|
@@ -731019,9 +731431,9 @@ async function update() {
|
|
|
731019
731431
|
await removeInstalledSymlink();
|
|
731020
731432
|
}
|
|
731021
731433
|
logForDebugging("update: Checking npm registry for latest version");
|
|
731022
|
-
logForDebugging(`update: Package URL: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731434
|
+
logForDebugging(`update: Package URL: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}`);
|
|
731023
731435
|
const npmTag = channel2 === "stable" ? "stable" : "latest";
|
|
731024
|
-
const npmCommand = `npm view ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731436
|
+
const npmCommand = `npm view ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}@${npmTag} version`;
|
|
731025
731437
|
logForDebugging(`update: Running: ${npmCommand}`);
|
|
731026
731438
|
const latestVersion = await getLatestVersion(channel2);
|
|
731027
731439
|
logForDebugging(`update: Latest version from npm: ${latestVersion || "FAILED"}`);
|
|
@@ -731041,7 +731453,7 @@ async function update() {
|
|
|
731041
731453
|
`);
|
|
731042
731454
|
process.stderr.write(` • Corporate proxy/firewall blocking npm
|
|
731043
731455
|
`);
|
|
731044
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731456
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL && !{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL.startsWith("@anthropic")) {
|
|
731045
731457
|
process.stderr.write(` • Internal/development build not published to npm
|
|
731046
731458
|
`);
|
|
731047
731459
|
}
|
|
@@ -731053,19 +731465,19 @@ async function update() {
|
|
|
731053
731465
|
`);
|
|
731054
731466
|
process.stderr.write(` • Run with --debug flag for more details
|
|
731055
731467
|
`);
|
|
731056
|
-
const packageName = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731468
|
+
const packageName = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL || (process.env.USER_TYPE === "ant" ? "@anthropic-ai/claude-cli" : "@anthropic-ai/claude-code");
|
|
731057
731469
|
process.stderr.write(` • Manually check: npm view ${packageName} version
|
|
731058
731470
|
`);
|
|
731059
731471
|
process.stderr.write(` • Check if you need to login: npm whoami
|
|
731060
731472
|
`);
|
|
731061
731473
|
await gracefulShutdown(1);
|
|
731062
731474
|
}
|
|
731063
|
-
if (latestVersion === { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731064
|
-
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731475
|
+
if (latestVersion === { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION) {
|
|
731476
|
+
writeToStdout(source_default.green(`CCL is up to date (${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION})`) + `
|
|
731065
731477
|
`);
|
|
731066
731478
|
await gracefulShutdown(0);
|
|
731067
731479
|
}
|
|
731068
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731480
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION})
|
|
731069
731481
|
`);
|
|
731070
731482
|
writeToStdout(`Installing update...
|
|
731071
731483
|
`);
|
|
@@ -731110,7 +731522,7 @@ async function update() {
|
|
|
731110
731522
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
731111
731523
|
switch (status2) {
|
|
731112
731524
|
case "success":
|
|
731113
|
-
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731525
|
+
writeToStdout(source_default.green(`Successfully updated from ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} to version ${latestVersion}`) + `
|
|
731114
731526
|
`);
|
|
731115
731527
|
await regenerateCompletionCache();
|
|
731116
731528
|
break;
|
|
@@ -731120,7 +731532,7 @@ async function update() {
|
|
|
731120
731532
|
if (useLocalUpdate) {
|
|
731121
731533
|
process.stderr.write(`Try manually updating with:
|
|
731122
731534
|
`);
|
|
731123
|
-
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731535
|
+
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}
|
|
731124
731536
|
`);
|
|
731125
731537
|
} else {
|
|
731126
731538
|
process.stderr.write(`Try running with sudo or fix npm permissions
|
|
@@ -731136,7 +731548,7 @@ async function update() {
|
|
|
731136
731548
|
if (useLocalUpdate) {
|
|
731137
731549
|
process.stderr.write(`Try manually updating with:
|
|
731138
731550
|
`);
|
|
731139
|
-
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731551
|
+
process.stderr.write(` cd ~/.claude/local && npm update ${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.PACKAGE_URL}
|
|
731140
731552
|
`);
|
|
731141
731553
|
} else {
|
|
731142
731554
|
process.stderr.write(`Or consider using native installation with: margay install
|
|
@@ -731323,7 +731735,7 @@ function runMigrations() {
|
|
|
731323
731735
|
if (feature("TRANSCRIPT_CLASSIFIER")) {
|
|
731324
731736
|
resetAutoModeOptInForDefaultOffer();
|
|
731325
731737
|
}
|
|
731326
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731738
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
731327
731739
|
migrateFennecToOpus();
|
|
731328
731740
|
}
|
|
731329
731741
|
saveGlobalConfig((prev) => prev.migrationVersion === CURRENT_MIGRATION_VERSION ? prev : {
|
|
@@ -731370,7 +731782,7 @@ function startDeferredPrefetches() {
|
|
|
731370
731782
|
if (!isBareMode()) {
|
|
731371
731783
|
skillChangeDetector.initialize();
|
|
731372
731784
|
}
|
|
731373
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
731785
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
731374
731786
|
Promise.resolve().then(() => exports_eventLoopStallDetector).then((m4) => m4.startEventLoopStallDetector());
|
|
731375
731787
|
}
|
|
731376
731788
|
}
|
|
@@ -731866,9 +732278,9 @@ async function run() {
|
|
|
731866
732278
|
const initOnly = options.initOnly ?? false;
|
|
731867
732279
|
const maintenance = options.maintenance ?? false;
|
|
731868
732280
|
const disableSlashCommands = options.disableSlashCommands || false;
|
|
731869
|
-
const tasksOption = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
732281
|
+
const tasksOption = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && options.tasks;
|
|
731870
732282
|
const taskListId = tasksOption ? typeof tasksOption === "string" ? tasksOption : DEFAULT_TASKS_MODE_TASK_LIST_ID : undefined;
|
|
731871
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
732283
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && taskListId) {
|
|
731872
732284
|
process.env.CLAUDE_CODE_TASK_LIST_ID = taskListId;
|
|
731873
732285
|
}
|
|
731874
732286
|
const worktreeOption = isWorktreeModeEnabled() ? options.worktree : undefined;
|
|
@@ -732153,7 +732565,7 @@ ${formattedErrors}
|
|
|
732153
732565
|
}
|
|
732154
732566
|
const chromeOpts = options;
|
|
732155
732567
|
setChromeFlagOverride(chromeOpts.chrome);
|
|
732156
|
-
const enableClaudeInChrome = shouldEnableClaudeInChrome(chromeOpts.chrome) && ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
732568
|
+
const enableClaudeInChrome = shouldEnableClaudeInChrome(chromeOpts.chrome) && ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" || isClaudeAISubscriber());
|
|
732157
732569
|
const autoEnableClaudeInChrome = !enableClaudeInChrome && shouldAutoEnableClaudeInChrome();
|
|
732158
732570
|
if (enableClaudeInChrome) {
|
|
732159
732571
|
const platform6 = getPlatform();
|
|
@@ -732326,7 +732738,7 @@ ${hint}` : hint;
|
|
|
732326
732738
|
dangerousPermissions,
|
|
732327
732739
|
overlyBroadBashPermissions
|
|
732328
732740
|
} = initResult;
|
|
732329
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
732741
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && overlyBroadBashPermissions.length > 0) {
|
|
732330
732742
|
for (const permission of overlyBroadBashPermissions) {
|
|
732331
732743
|
logForDebugging(`Ignoring overly broad shell permission ${permission.ruleDisplay} from ${permission.sourceDisplay}`);
|
|
732332
732744
|
}
|
|
@@ -732458,7 +732870,7 @@ ${hint}` : hint;
|
|
|
732458
732870
|
cacheSessionTitle(sessionNameArg);
|
|
732459
732871
|
}
|
|
732460
732872
|
const explicitModel = options.model || process.env.ANTHROPIC_MODEL;
|
|
732461
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
732873
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && explicitModel && explicitModel !== "default" && !hasGrowthBookEnvOverride("tengu_ant_model_override") && getGlobalConfig().cachedGrowthBookFeatures?.["tengu_ant_model_override"] == null) {
|
|
732462
732874
|
await initializeGrowthBook();
|
|
732463
732875
|
}
|
|
732464
732876
|
const userSpecifiedModel = options.model === "default" ? getDefaultMainLoopModel() : options.model;
|
|
@@ -732579,7 +732991,7 @@ ${inputPrompt}` : mainThreadAgentDefinition.initialPrompt;
|
|
|
732579
732991
|
}
|
|
732580
732992
|
if (customAgent.memory) {
|
|
732581
732993
|
logEvent("tengu_agent_memory_loaded", {
|
|
732582
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
732994
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" && {
|
|
732583
732995
|
agent_type: customAgent.agentType
|
|
732584
732996
|
},
|
|
732585
732997
|
scope: customAgent.memory,
|
|
@@ -732634,7 +733046,7 @@ ${assistantAddendum}` : assistantAddendum;
|
|
|
732634
733046
|
const ctx = getRenderContext(false);
|
|
732635
733047
|
getFpsMetrics = ctx.getFpsMetrics;
|
|
732636
733048
|
stats2 = ctx.stats;
|
|
732637
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
733049
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
732638
733050
|
installAsciicastRecorder();
|
|
732639
733051
|
}
|
|
732640
733052
|
const {
|
|
@@ -732822,7 +733234,7 @@ ${inputPrompt}` : mergePrompt;
|
|
|
732822
733234
|
}
|
|
732823
733235
|
}
|
|
732824
733236
|
logForDiagnosticsNoPII("info", "started", {
|
|
732825
|
-
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
733237
|
+
version: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
732826
733238
|
is_native_binary: isInBundledMode()
|
|
732827
733239
|
});
|
|
732828
733240
|
registerCleanup(async () => {
|
|
@@ -733055,7 +733467,7 @@ ${inputPrompt}` : mergePrompt;
|
|
|
733055
733467
|
if (!isBareMode()) {
|
|
733056
733468
|
startDeferredPrefetches();
|
|
733057
733469
|
Promise.resolve().then(() => (init_backgroundHousekeeping(), exports_backgroundHousekeeping)).then((m4) => m4.startBackgroundHousekeeping());
|
|
733058
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
733470
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
733059
733471
|
Promise.resolve().then(() => exports_sdkHeapDumpMonitor).then((m4) => m4.startSdkMemoryMonitor());
|
|
733060
733472
|
}
|
|
733061
733473
|
}
|
|
@@ -733267,7 +733679,7 @@ ${inputPrompt}` : mergePrompt;
|
|
|
733267
733679
|
logStartupTelemetry();
|
|
733268
733680
|
logSessionTelemetry();
|
|
733269
733681
|
});
|
|
733270
|
-
const sessionUploaderPromise = { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
733682
|
+
const sessionUploaderPromise = { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? Promise.resolve().then(() => exports_sessionDataUploader) : null;
|
|
733271
733683
|
const uploaderReady = sessionUploaderPromise ? sessionUploaderPromise.then((mod4) => mod4.createSessionTurnUploader()).catch(() => null) : null;
|
|
733272
733684
|
const sessionConfig = {
|
|
733273
733685
|
debug: debug5 || debugToStderr,
|
|
@@ -733410,7 +733822,7 @@ Session: ${directConnectConfig.sessionId}`, "info");
|
|
|
733410
733822
|
sshSession = await createSSHSession2({
|
|
733411
733823
|
host: _pendingSSH.host,
|
|
733412
733824
|
cwd: _pendingSSH.cwd,
|
|
733413
|
-
localVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
733825
|
+
localVersion: { USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION,
|
|
733414
733826
|
permissionMode: _pendingSSH.permissionMode,
|
|
733415
733827
|
dangerouslySkipPermissions: _pendingSSH.dangerouslySkipPermissions,
|
|
733416
733828
|
extraCliArgs: _pendingSSH.extraCliArgs
|
|
@@ -733712,7 +734124,7 @@ Usage: margay --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
733712
734124
|
}
|
|
733713
734125
|
}
|
|
733714
734126
|
}
|
|
733715
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734127
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
733716
734128
|
if (options.resume && typeof options.resume === "string" && !maybeSessionId) {
|
|
733717
734129
|
const {
|
|
733718
734130
|
parseCcshareId: parseCcshareId2,
|
|
@@ -733915,13 +734327,13 @@ Usage: margay --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
733915
734327
|
pendingHookMessages
|
|
733916
734328
|
}, renderAndRun);
|
|
733917
734329
|
}
|
|
733918
|
-
}).version(`${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734330
|
+
}).version(`${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} (CCL)`, "-v, --version", "Output the version number");
|
|
733919
734331
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
733920
734332
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
733921
734333
|
if (canUserConfigureAdvisor()) {
|
|
733922
734334
|
program2.addOption(new Option("--advisor <model>", "Enable the server-side advisor tool with the specified model (alias or full ID).").hideHelp());
|
|
733923
734335
|
}
|
|
733924
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734336
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
733925
734337
|
program2.addOption(new Option("--delegate-permissions", "[ANT-ONLY] Alias for --permission-mode auto.").implies({
|
|
733926
734338
|
permissionMode: "auto"
|
|
733927
734339
|
}));
|
|
@@ -734325,7 +734737,7 @@ Omit sessionId to discover and pick from available sessions.
|
|
|
734325
734737
|
} = await Promise.resolve().then(() => (init_update(), exports_update));
|
|
734326
734738
|
await update2();
|
|
734327
734739
|
});
|
|
734328
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734740
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
734329
734741
|
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 () => {
|
|
734330
734742
|
const {
|
|
734331
734743
|
up: up2
|
|
@@ -734333,7 +734745,7 @@ Omit sessionId to discover and pick from available sessions.
|
|
|
734333
734745
|
await up2();
|
|
734334
734746
|
});
|
|
734335
734747
|
}
|
|
734336
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734748
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
734337
734749
|
program2.command("rollback [target]").description(`[ANT-ONLY] Roll back to a previous release
|
|
734338
734750
|
|
|
734339
734751
|
Examples:
|
|
@@ -734352,7 +734764,7 @@ Examples:
|
|
|
734352
734764
|
} = await Promise.resolve().then(() => (init_util(), exports_util));
|
|
734353
734765
|
await installHandler2(target, options);
|
|
734354
734766
|
});
|
|
734355
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734767
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
734356
734768
|
const validateLogId = (value) => {
|
|
734357
734769
|
const maybeSessionId = validateUuid2(value);
|
|
734358
734770
|
if (maybeSessionId)
|
|
@@ -734382,7 +734794,7 @@ Examples:
|
|
|
734382
734794
|
} = await Promise.resolve().then(() => exports_ant);
|
|
734383
734795
|
await exportHandler2(source, outputFile);
|
|
734384
734796
|
});
|
|
734385
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734797
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant") {
|
|
734386
734798
|
const taskCmd = program2.command("task").description("[ANT-ONLY] Manage task list tasks");
|
|
734387
734799
|
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) => {
|
|
734388
734800
|
const {
|
|
@@ -734492,7 +734904,7 @@ async function logTenguInit({
|
|
|
734492
734904
|
assistantActivationPath
|
|
734493
734905
|
},
|
|
734494
734906
|
autoUpdatesChannel: getInitialSettings().autoUpdatesChannel ?? "latest",
|
|
734495
|
-
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
734907
|
+
...{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE === "ant" ? (() => {
|
|
734496
734908
|
const cwd5 = getCwd();
|
|
734497
734909
|
const gitRoot = findGitRoot(cwd5);
|
|
734498
734910
|
const rp = gitRoot ? relative39(gitRoot, cwd5) || "." : undefined;
|
|
@@ -734714,7 +735126,7 @@ var init_main2 = __esm(() => {
|
|
|
734714
735126
|
kairosGate = feature("KAIROS") ? __toCommonJS(exports_gate) : null;
|
|
734715
735127
|
autoModeStateModule7 = feature("TRANSCRIPT_CLASSIFIER") ? __toCommonJS(exports_autoModeState) : null;
|
|
734716
735128
|
profileCheckpoint("main_tsx_imports_loaded");
|
|
734717
|
-
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
735129
|
+
if ({ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.USER_TYPE !== "ant" && isBeingDebugged()) {
|
|
734718
735130
|
process.exit(1);
|
|
734719
735131
|
}
|
|
734720
735132
|
_pendingConnect = feature("DIRECT_CONNECT") ? {
|
|
@@ -734821,7 +735233,7 @@ if (feature("ABLATION_BASELINE") && process.env.CLAUDE_CODE_ABLATION_BASELINE) {
|
|
|
734821
735233
|
async function main2() {
|
|
734822
735234
|
const args = process.argv.slice(2);
|
|
734823
735235
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
734824
|
-
console.log(`${{ USER_TYPE: "external", VERSION: "1.3.5-rc.
|
|
735236
|
+
console.log(`${{ USER_TYPE: "external", VERSION: "1.3.5-rc.7", PACKAGE_URL: "@margay/ccl-core", BUILD_TIMESTAMP: "2026-08-31T01:56:22.474Z", ISSUES_EXPLAINER: "", VERSION_CHANGELOG: "", NATIVE_PACKAGE_URL: "", CLAUDE_VERSION: "1.3.5-rc.7" }.VERSION} (Margay)`);
|
|
734825
735237
|
return;
|
|
734826
735238
|
}
|
|
734827
735239
|
const {
|