@ainative/cody-cli 0.7.36 → 0.7.37

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.
Files changed (2) hide show
  1. package/dist/cli.js +153 -89
  2. package/package.json +1 -1
package/dist/cli.js CHANGED
@@ -173130,7 +173130,7 @@ var init_auth2 = __esm(() => {
173130
173130
 
173131
173131
  // src/utils/userAgent.ts
173132
173132
  function getCodyUserAgent() {
173133
- return `cody-cli/${"0.7.36"}`;
173133
+ return `cody-cli/${"0.7.37"}`;
173134
173134
  }
173135
173135
 
173136
173136
  // src/utils/workloadContext.ts
@@ -173152,7 +173152,7 @@ function getUserAgent() {
173152
173152
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
173153
173153
  const workload = getWorkload();
173154
173154
  const workloadSuffix = workload ? `, workload/${workload}` : "";
173155
- return `claude-cli/${"0.7.36"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
173155
+ return `claude-cli/${"0.7.37"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
173156
173156
  }
173157
173157
  function getMCPUserAgent() {
173158
173158
  const parts = [];
@@ -173166,7 +173166,7 @@ function getMCPUserAgent() {
173166
173166
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
173167
173167
  }
173168
173168
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
173169
- return `cody-cli/${"0.7.36"}${suffix}`;
173169
+ return `cody-cli/${"0.7.37"}${suffix}`;
173170
173170
  }
173171
173171
  function getWebFetchUserAgent() {
173172
173172
  return `Cody-User (${getCodyUserAgent()}; +https://ainative.studio)`;
@@ -173304,7 +173304,7 @@ var init_user = __esm(() => {
173304
173304
  deviceId,
173305
173305
  sessionId: getSessionId(),
173306
173306
  email: getEmail(),
173307
- appVersion: "0.7.36",
173307
+ appVersion: "0.7.37",
173308
173308
  platform: getHostPlatformForAnalytics(),
173309
173309
  organizationUuid,
173310
173310
  accountUuid,
@@ -180996,7 +180996,7 @@ var init_metadata = __esm(() => {
180996
180996
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
180997
180997
  WHITESPACE_REGEX = /\s+/;
180998
180998
  getVersionBase = memoize_default(() => {
180999
- const match = "0.7.36".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
180999
+ const match = "0.7.37".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
181000
181000
  return match ? match[0] : undefined;
181001
181001
  });
181002
181002
  buildEnvContext = memoize_default(async () => {
@@ -181036,9 +181036,9 @@ var init_metadata = __esm(() => {
181036
181036
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
181037
181037
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
181038
181038
  isClaudeAiAuth: isClaudeAISubscriber(),
181039
- version: "0.7.36",
181039
+ version: "0.7.37",
181040
181040
  versionBase: getVersionBase(),
181041
- buildTime: "1777670728",
181041
+ buildTime: "1777689902",
181042
181042
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
181043
181043
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
181044
181044
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -181656,7 +181656,7 @@ function initialize1PEventLogging() {
181656
181656
  const platform3 = getPlatform();
181657
181657
  const attributes = {
181658
181658
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "cody-cli",
181659
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.7.36"
181659
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.7.37"
181660
181660
  };
181661
181661
  if (platform3 === "wsl") {
181662
181662
  const wslVersion = getWslVersion();
@@ -181683,7 +181683,7 @@ function initialize1PEventLogging() {
181683
181683
  })
181684
181684
  ]
181685
181685
  });
181686
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.ainative.cody_cli.events", "0.7.36");
181686
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.ainative.cody_cli.events", "0.7.37");
181687
181687
  }
181688
181688
  async function reinitialize1PEventLoggingIfConfigChanged() {
181689
181689
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -183376,7 +183376,7 @@ function getAttributionHeader(fingerprint) {
183376
183376
  if (!isAttributionHeaderEnabled()) {
183377
183377
  return "";
183378
183378
  }
183379
- const version6 = `${"0.7.36"}.${fingerprint}`;
183379
+ const version6 = `${"0.7.37"}.${fingerprint}`;
183380
183380
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
183381
183381
  const cch = "";
183382
183382
  const workload = getWorkload();
@@ -247521,7 +247521,7 @@ function getTelemetryAttributes() {
247521
247521
  attributes["session.id"] = sessionId;
247522
247522
  }
247523
247523
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
247524
- attributes["app.version"] = "0.7.36";
247524
+ attributes["app.version"] = "0.7.37";
247525
247525
  }
247526
247526
  const oauthAccount = getOauthAccountInfo();
247527
247527
  if (oauthAccount) {
@@ -278709,7 +278709,7 @@ function getInstallationEnv() {
278709
278709
  return;
278710
278710
  }
278711
278711
  function getClaudeCodeVersion() {
278712
- return "0.7.36";
278712
+ return "0.7.37";
278713
278713
  }
278714
278714
  async function getInstalledVSCodeExtensionVersion(command) {
278715
278715
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -284243,7 +284243,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
284243
284243
  const client4 = new Client({
284244
284244
  name: "claude-code",
284245
284245
  title: "Cody CLI",
284246
- version: "0.7.36",
284246
+ version: "0.7.37",
284247
284247
  description: "Anthropic's agentic coding tool",
284248
284248
  websiteUrl: PRODUCT_URL
284249
284249
  }, {
@@ -284597,7 +284597,7 @@ var init_client8 = __esm(() => {
284597
284597
  const client4 = new Client({
284598
284598
  name: "claude-code",
284599
284599
  title: "Cody CLI",
284600
- version: "0.7.36",
284600
+ version: "0.7.37",
284601
284601
  description: "Anthropic's agentic coding tool",
284602
284602
  websiteUrl: PRODUCT_URL
284603
284603
  }, {
@@ -332729,7 +332729,7 @@ async function initializeBetaTracing(resource) {
332729
332729
  });
332730
332730
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
332731
332731
  setLoggerProvider(loggerProvider);
332732
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.36");
332732
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.37");
332733
332733
  setEventLogger(eventLogger);
332734
332734
  process.on("beforeExit", async () => {
332735
332735
  await loggerProvider?.forceFlush();
@@ -332769,7 +332769,7 @@ async function initializeTelemetry() {
332769
332769
  const platform5 = getPlatform();
332770
332770
  const baseAttributes = {
332771
332771
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
332772
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.7.36"
332772
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.7.37"
332773
332773
  };
332774
332774
  if (platform5 === "wsl") {
332775
332775
  const wslVersion = getWslVersion();
@@ -332814,7 +332814,7 @@ async function initializeTelemetry() {
332814
332814
  } catch {}
332815
332815
  };
332816
332816
  registerCleanup(shutdownTelemetry2);
332817
- return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.36");
332817
+ return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.37");
332818
332818
  }
332819
332819
  const meterProvider = new import_sdk_metrics2.MeterProvider({
332820
332820
  resource,
@@ -332834,7 +332834,7 @@ async function initializeTelemetry() {
332834
332834
  });
332835
332835
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
332836
332836
  setLoggerProvider(loggerProvider);
332837
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.36");
332837
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.37");
332838
332838
  setEventLogger(eventLogger);
332839
332839
  logForDebugging("[3P telemetry] Event logger set successfully");
332840
332840
  process.on("beforeExit", async () => {
@@ -332896,7 +332896,7 @@ Current timeout: ${timeoutMs}ms
332896
332896
  }
332897
332897
  };
332898
332898
  registerCleanup(shutdownTelemetry);
332899
- return meterProvider.getMeter("com.anthropic.claude_code", "0.7.36");
332899
+ return meterProvider.getMeter("com.anthropic.claude_code", "0.7.37");
332900
332900
  }
332901
332901
  async function flushTelemetry() {
332902
332902
  const meterProvider = getMeterProvider();
@@ -333585,9 +333585,9 @@ async function assertMinVersion() {
333585
333585
  }
333586
333586
  try {
333587
333587
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
333588
- if (versionConfig.minVersion && lt("0.7.36", versionConfig.minVersion)) {
333588
+ if (versionConfig.minVersion && lt("0.7.37", versionConfig.minVersion)) {
333589
333589
  console.error(`
333590
- It looks like your version of Cody CLI (${"0.7.36"}) needs an update.
333590
+ It looks like your version of Cody CLI (${"0.7.37"}) needs an update.
333591
333591
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
333592
333592
 
333593
333593
  To update, please run:
@@ -333824,7 +333824,7 @@ async function installGlobalPackage(specificVersion) {
333824
333824
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
333825
333825
  logEvent("tengu_auto_updater_lock_contention", {
333826
333826
  pid: process.pid,
333827
- currentVersion: "0.7.36"
333827
+ currentVersion: "0.7.37"
333828
333828
  });
333829
333829
  return "in_progress";
333830
333830
  }
@@ -333833,7 +333833,7 @@ async function installGlobalPackage(specificVersion) {
333833
333833
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
333834
333834
  logError2(new Error("Windows NPM detected in WSL environment"));
333835
333835
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
333836
- currentVersion: "0.7.36"
333836
+ currentVersion: "0.7.37"
333837
333837
  });
333838
333838
  console.error(`
333839
333839
  Error: Windows NPM detected in WSL
@@ -334368,7 +334368,7 @@ function detectLinuxGlobPatternWarnings() {
334368
334368
  }
334369
334369
  async function getDoctorDiagnostic() {
334370
334370
  const installationType = await getCurrentInstallationType();
334371
- const version6 = typeof MACRO !== "undefined" ? "0.7.36" : "unknown";
334371
+ const version6 = typeof MACRO !== "undefined" ? "0.7.37" : "unknown";
334372
334372
  const installationPath = await getInstallationPath();
334373
334373
  const invokedBinary = getInvokedBinary();
334374
334374
  const multipleInstallations = await detectMultipleInstallations();
@@ -335203,8 +335203,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
335203
335203
  const maxVersion = await getMaxVersion();
335204
335204
  if (maxVersion && gt(version6, maxVersion)) {
335205
335205
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version6} to ${maxVersion}`);
335206
- if (gte("0.7.36", maxVersion)) {
335207
- logForDebugging(`Native installer: current version ${"0.7.36"} is already at or above maxVersion ${maxVersion}, skipping update`);
335206
+ if (gte("0.7.37", maxVersion)) {
335207
+ logForDebugging(`Native installer: current version ${"0.7.37"} is already at or above maxVersion ${maxVersion}, skipping update`);
335208
335208
  logEvent("tengu_native_update_skipped_max_version", {
335209
335209
  latency_ms: Date.now() - startTime,
335210
335210
  max_version: maxVersion,
@@ -335215,7 +335215,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
335215
335215
  version6 = maxVersion;
335216
335216
  }
335217
335217
  }
335218
- if (!forceReinstall && version6 === "0.7.36" && await versionIsAvailable(version6) && await isPossibleClaudeBinary(executablePath)) {
335218
+ if (!forceReinstall && version6 === "0.7.37" && await versionIsAvailable(version6) && await isPossibleClaudeBinary(executablePath)) {
335219
335219
  logForDebugging(`Found ${version6} at ${executablePath}, skipping install`);
335220
335220
  logEvent("tengu_native_update_complete", {
335221
335221
  latency_ms: Date.now() - startTime,
@@ -345713,6 +345713,30 @@ var init_overageCreditGrant = __esm(() => {
345713
345713
  });
345714
345714
 
345715
345715
  // src/services/api/usage.ts
345716
+ async function fetchAINativeUtilization() {
345717
+ const authResult = getAuthHeaders2();
345718
+ if (authResult.error) {
345719
+ throw new Error(`Auth error: ${authResult.error}`);
345720
+ }
345721
+ const headers = {
345722
+ "Content-Type": "application/json",
345723
+ "User-Agent": getCodyUserAgent(),
345724
+ ...authResult.headers
345725
+ };
345726
+ const url3 = `${getOauthConfig().BASE_API_URL}/api/v1/public/credits/balance`;
345727
+ const response = await axios_default.get(url3, {
345728
+ headers,
345729
+ timeout: 5000
345730
+ });
345731
+ const data = response.data;
345732
+ const utilization = data.usage_percentage ?? null;
345733
+ return {
345734
+ seven_day: {
345735
+ utilization,
345736
+ resets_at: null
345737
+ }
345738
+ };
345739
+ }
345716
345740
  async function fetchUtilization() {
345717
345741
  if (!isActiveSubscriber() || !hasProfileScope()) {
345718
345742
  return {};
@@ -345721,6 +345745,9 @@ async function fetchUtilization() {
345721
345745
  if (tokens && isOAuthTokenExpired(tokens.expiresAt)) {
345722
345746
  return null;
345723
345747
  }
345748
+ if (isAINativeProvider()) {
345749
+ return fetchAINativeUtilization();
345750
+ }
345724
345751
  const authResult = getAuthHeaders2();
345725
345752
  if (authResult.error) {
345726
345753
  throw new Error(`Auth error: ${authResult.error}`);
@@ -345742,6 +345769,7 @@ var init_usage = __esm(() => {
345742
345769
  init_oauth();
345743
345770
  init_auth2();
345744
345771
  init_http2();
345772
+ init_model();
345745
345773
  init_client2();
345746
345774
  });
345747
345775
 
@@ -419036,7 +419064,7 @@ function getAnthropicEnvMetadata() {
419036
419064
  function getBuildAgeMinutes() {
419037
419065
  if (false)
419038
419066
  ;
419039
- const buildTime = new Date("1777670728").getTime();
419067
+ const buildTime = new Date("1777689902").getTime();
419040
419068
  if (isNaN(buildTime))
419041
419069
  return;
419042
419070
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -442549,7 +442577,7 @@ function Feedback({
442549
442577
  platform: env4.platform,
442550
442578
  gitRepo: envInfo.isGit,
442551
442579
  terminal: env4.terminal,
442552
- version: "0.7.36",
442580
+ version: "0.7.37",
442553
442581
  transcript: normalizeMessagesForAPI(messages),
442554
442582
  errors: sanitizedErrors,
442555
442583
  lastApiRequest: getLastAPIRequest(),
@@ -442741,7 +442769,7 @@ function Feedback({
442741
442769
  ", ",
442742
442770
  env4.terminal,
442743
442771
  ", v",
442744
- "0.7.36"
442772
+ "0.7.37"
442745
442773
  ]
442746
442774
  }, undefined, true, undefined, this)
442747
442775
  ]
@@ -442847,7 +442875,7 @@ ${sanitizedDescription}
442847
442875
  ` + `**Environment Info**
442848
442876
  ` + `- Platform: ${env4.platform}
442849
442877
  ` + `- Terminal: ${env4.terminal}
442850
- ` + `- Version: ${"0.7.36"}
442878
+ ` + `- Version: ${"0.7.37"}
442851
442879
  ` + `- Feedback ID: ${feedbackId}
442852
442880
  ` + `
442853
442881
  **Errors**
@@ -445947,7 +445975,7 @@ function buildPrimarySection() {
445947
445975
  }, undefined, false, undefined, this);
445948
445976
  return [{
445949
445977
  label: "Version",
445950
- value: "0.7.36"
445978
+ value: "0.7.37"
445951
445979
  }, {
445952
445980
  label: "Session name",
445953
445981
  value: nameValue
@@ -449698,7 +449726,7 @@ function Config({
449698
449726
  }
449699
449727
  }, undefined, false, undefined, this)
449700
449728
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
449701
- currentVersion: "0.7.36",
449729
+ currentVersion: "0.7.37",
449702
449730
  onChoice: (choice) => {
449703
449731
  setShowSubmenu(null);
449704
449732
  setTabsHidden(false);
@@ -449710,7 +449738,7 @@ function Config({
449710
449738
  autoUpdatesChannel: "stable"
449711
449739
  };
449712
449740
  if (choice === "stay") {
449713
- newSettings.minimumVersion = "0.7.36";
449741
+ newSettings.minimumVersion = "0.7.37";
449714
449742
  }
449715
449743
  updateSettingsForSource("userSettings", newSettings);
449716
449744
  setSettingsData((prev_27) => ({
@@ -457752,7 +457780,7 @@ function HelpV2(t0) {
457752
457780
  let t6;
457753
457781
  if ($3[31] !== tabs) {
457754
457782
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
457755
- title: `Cody CLI v${"0.7.36"}`,
457783
+ title: `Cody CLI v${"0.7.37"}`,
457756
457784
  color: "professionalBlue",
457757
457785
  defaultTab: "general",
457758
457786
  children: tabs
@@ -481942,7 +481970,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
481942
481970
  return [];
481943
481971
  }
481944
481972
  }
481945
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.36") {
481973
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.37") {
481946
481974
  if (false) {}
481947
481975
  const cachedChangelog = await getStoredChangelog();
481948
481976
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -481955,7 +481983,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.36")
481955
481983
  releaseNotes
481956
481984
  };
481957
481985
  }
481958
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.7.36") {
481986
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.7.37") {
481959
481987
  if (false) {}
481960
481988
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
481961
481989
  return {
@@ -483111,7 +483139,7 @@ function getRecentActivitySync() {
483111
483139
  return cachedActivity;
483112
483140
  }
483113
483141
  function getLogoDisplayData() {
483114
- const version6 = process.env.DEMO_VERSION ?? "0.7.36";
483142
+ const version6 = process.env.DEMO_VERSION ?? "0.7.37";
483115
483143
  const serverUrl = getDirectConnectServerUrl();
483116
483144
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
483117
483145
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -484531,7 +484559,7 @@ function LogoV2() {
484531
484559
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
484532
484560
  t2 = () => {
484533
484561
  const currentConfig = getGlobalConfig();
484534
- if (currentConfig.lastReleaseNotesSeen === "0.7.36") {
484562
+ if (currentConfig.lastReleaseNotesSeen === "0.7.37") {
484535
484563
  return;
484536
484564
  }
484537
484565
  saveGlobalConfig(_temp329);
@@ -485207,12 +485235,12 @@ function LogoV2() {
485207
485235
  return t41;
485208
485236
  }
485209
485237
  function _temp329(current) {
485210
- if (current.lastReleaseNotesSeen === "0.7.36") {
485238
+ if (current.lastReleaseNotesSeen === "0.7.37") {
485211
485239
  return current;
485212
485240
  }
485213
485241
  return {
485214
485242
  ...current,
485215
- lastReleaseNotesSeen: "0.7.36"
485243
+ lastReleaseNotesSeen: "0.7.37"
485216
485244
  };
485217
485245
  }
485218
485246
  function _temp245(s_0) {
@@ -508955,6 +508983,42 @@ IMPORTANT: The following identifiers already exist and must NOT be used: ${exist
508955
508983
  }
508956
508984
  parsed = jsonParse(jsonMatch[0]);
508957
508985
  }
508986
+ if (!parsed.identifier || !parsed.whenToUse || !parsed.systemPrompt) {
508987
+ const raw = parsed;
508988
+ if (!parsed.identifier) {
508989
+ const source = raw.name ?? raw.title ?? raw.role ?? "";
508990
+ parsed.identifier = source.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 50);
508991
+ }
508992
+ if (!parsed.whenToUse) {
508993
+ const mandate = raw.mandate;
508994
+ if (Array.isArray(mandate) && mandate.length > 0) {
508995
+ parsed.whenToUse = `Use this agent when you need to: ${mandate.join("; ")}`;
508996
+ } else {
508997
+ const source = raw.purpose ?? raw.description ?? raw.role ?? "";
508998
+ parsed.whenToUse = source ? `Use this agent when: ${source}` : "";
508999
+ }
509000
+ }
509001
+ if (!parsed.systemPrompt) {
509002
+ const parts = [];
509003
+ if (raw.name)
509004
+ parts.push(`You are a ${raw.name}.`);
509005
+ if (raw.role)
509006
+ parts.push(`Role: ${raw.role}.`);
509007
+ if (raw.style)
509008
+ parts.push(`Communication style: ${raw.style}.`);
509009
+ if (Array.isArray(raw.mandate) && raw.mandate.length > 0) {
509010
+ parts.push(`Your mandate:
509011
+ ${raw.mandate.map((m2) => `- ${m2}`).join(`
509012
+ `)}`);
509013
+ }
509014
+ if (Array.isArray(raw.skills) && raw.skills.length > 0) {
509015
+ parts.push(`Apply these skills: ${raw.skills.join(", ")}.`);
509016
+ }
509017
+ parsed.systemPrompt = parts.join(`
509018
+
509019
+ `);
509020
+ }
509021
+ }
508958
509022
  if (!parsed.identifier || !parsed.whenToUse || !parsed.systemPrompt) {
508959
509023
  throw new Error(`Invalid agent configuration generated. Missing fields: ${[
508960
509024
  !parsed.identifier && "identifier",
@@ -509004,11 +509068,11 @@ var init_generateAgent = __esm(() => {
509004
509068
  init_slowOperations();
509005
509069
  AGENT_CREATION_SYSTEM_PROMPT = `You are an elite AI agent architect specializing in crafting high-performance agent configurations. Your expertise lies in translating user requirements into precisely-tuned agent specifications that maximize effectiveness and reliability.
509006
509070
 
509007
- **Important Context**: You may have access to project-specific instructions from CLAUDE.md files and other context that may include coding standards, project structure, and custom requirements. Consider this context when creating agents to ensure they align with the project's established patterns and practices.
509071
+ **Important Context**: You may have access to project-specific instructions from CODY.md files and other context that may include coding standards, project structure, and custom requirements. Consider this context when creating agents to ensure they align with the project's established patterns and practices.
509008
509072
 
509009
509073
  When a user describes what they want an agent to do, you will:
509010
509074
 
509011
- 1. **Extract Core Intent**: Identify the fundamental purpose, key responsibilities, and success criteria for the agent. Look for both explicit requirements and implicit needs. Consider any project-specific context from CLAUDE.md files. For agents that are meant to review code, you should assume that the user is asking to review recently written code and not the whole codebase, unless the user has explicitly instructed you otherwise.
509075
+ 1. **Extract Core Intent**: Identify the fundamental purpose, key responsibilities, and success criteria for the agent. Look for both explicit requirements and implicit needs. Consider any project-specific context from CODY.md files. For agents that are meant to review code, you should assume that the user is asking to review recently written code and not the whole codebase, unless the user has explicitly instructed you otherwise.
509012
509076
 
509013
509077
  2. **Design Expert Persona**: Create a compelling expert identity that embodies deep domain knowledge relevant to the task. The persona should inspire confidence and guide the agent's decision-making approach.
509014
509078
 
@@ -509018,7 +509082,7 @@ When a user describes what they want an agent to do, you will:
509018
509082
  - Anticipates edge cases and provides guidance for handling them
509019
509083
  - Incorporates any specific requirements or preferences mentioned by the user
509020
509084
  - Defines output format expectations when relevant
509021
- - Aligns with project-specific coding standards and patterns from CLAUDE.md
509085
+ - Aligns with project-specific coding standards and patterns from CODY.md
509022
509086
 
509023
509087
  4. **Optimize for Performance**: Include:
509024
509088
  - Decision-making frameworks appropriate to the domain
@@ -511505,7 +511569,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
511505
511569
  smapsRollup,
511506
511570
  platform: process.platform,
511507
511571
  nodeVersion: process.version,
511508
- ccVersion: "0.7.36"
511572
+ ccVersion: "0.7.37"
511509
511573
  };
511510
511574
  }
511511
511575
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -512033,7 +512097,7 @@ var init_bridge_kick = __esm(() => {
512033
512097
  var call56 = async () => {
512034
512098
  return {
512035
512099
  type: "text",
512036
- value: `${"0.7.36"} (built ${"1777670728"})`
512100
+ value: `${"0.7.37"} (built ${"1777689902"})`
512037
512101
  };
512038
512102
  }, version6, version_default;
512039
512103
  var init_version = __esm(() => {
@@ -520980,7 +521044,7 @@ function generateHtmlReport(data, insights) {
520980
521044
  </html>`;
520981
521045
  }
520982
521046
  function buildExportData(data, insights, facets, remoteStats) {
520983
- const version7 = typeof MACRO !== "undefined" ? "0.7.36" : "unknown";
521047
+ const version7 = typeof MACRO !== "undefined" ? "0.7.37" : "unknown";
520984
521048
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
520985
521049
  const facets_summary = {
520986
521050
  total: facets.size,
@@ -524926,7 +524990,7 @@ var init_sessionStorage = __esm(() => {
524926
524990
  init_settings2();
524927
524991
  init_slowOperations();
524928
524992
  init_uuid();
524929
- VERSION5 = typeof MACRO !== "undefined" ? "0.7.36" : "unknown";
524993
+ VERSION5 = typeof MACRO !== "undefined" ? "0.7.37" : "unknown";
524930
524994
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
524931
524995
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
524932
524996
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -526131,7 +526195,7 @@ var init_filesystem = __esm(() => {
526131
526195
  });
526132
526196
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
526133
526197
  const nonce = randomBytes19(16).toString("hex");
526134
- return join132(getClaudeTempDir(), "bundled-skills", "0.7.36", nonce);
526198
+ return join132(getClaudeTempDir(), "bundled-skills", "0.7.37", nonce);
526135
526199
  });
526136
526200
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
526137
526201
  });
@@ -532103,7 +532167,7 @@ function computeFingerprint(messageText, version7) {
532103
532167
  }
532104
532168
  function computeFingerprintFromMessages(messages) {
532105
532169
  const firstMessageText = extractFirstMessageText(messages);
532106
- return computeFingerprint(firstMessageText, "0.7.36");
532170
+ return computeFingerprint(firstMessageText, "0.7.37");
532107
532171
  }
532108
532172
  var FINGERPRINT_SALT = "59cf53e54c78";
532109
532173
  var init_fingerprint = () => {};
@@ -534165,7 +534229,7 @@ async function sideQuery(opts) {
534165
534229
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
534166
534230
  }
534167
534231
  const messageText = extractFirstUserMessageText(messages);
534168
- const fingerprint = computeFingerprint(messageText, "0.7.36");
534232
+ const fingerprint = computeFingerprint(messageText, "0.7.37");
534169
534233
  const attributionHeader = getAttributionHeader(fingerprint);
534170
534234
  const systemBlocks = [
534171
534235
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -538747,7 +538811,7 @@ function buildSystemInitMessage(inputs) {
538747
538811
  slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
538748
538812
  apiKeySource: getAnthropicApiKeyWithSource().source,
538749
538813
  betas: getSdkBetas(),
538750
- claude_code_version: "0.7.36",
538814
+ claude_code_version: "0.7.37",
538751
538815
  output_style: outputStyle2,
538752
538816
  agents: inputs.agents.map((agent) => agent.agentType),
538753
538817
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -553299,7 +553363,7 @@ var init_useVoiceEnabled = __esm(() => {
553299
553363
  function getSemverPart(version7) {
553300
553364
  return `${import_semver13.major(version7, { loose: true })}.${import_semver13.minor(version7, { loose: true })}.${import_semver13.patch(version7, { loose: true })}`;
553301
553365
  }
553302
- function useUpdateNotification(updatedVersion, initialVersion = "0.7.36") {
553366
+ function useUpdateNotification(updatedVersion, initialVersion = "0.7.37") {
553303
553367
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
553304
553368
  if (!updatedVersion) {
553305
553369
  return null;
@@ -553339,7 +553403,7 @@ function AutoUpdater({
553339
553403
  return;
553340
553404
  }
553341
553405
  if (false) {}
553342
- const currentVersion = "0.7.36";
553406
+ const currentVersion = "0.7.37";
553343
553407
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
553344
553408
  let latestVersion = await getLatestVersion(channel);
553345
553409
  const isDisabled = isAutoUpdaterDisabled();
@@ -553552,12 +553616,12 @@ function NativeAutoUpdater({
553552
553616
  logEvent("tengu_native_auto_updater_start", {});
553553
553617
  try {
553554
553618
  const maxVersion = await getMaxVersion();
553555
- if (maxVersion && gt("0.7.36", maxVersion)) {
553619
+ if (maxVersion && gt("0.7.37", maxVersion)) {
553556
553620
  const msg = await getMaxVersionMessage();
553557
553621
  setMaxVersionIssue(msg ?? "affects your version");
553558
553622
  }
553559
553623
  const result = await installLatest(channel);
553560
- const currentVersion = "0.7.36";
553624
+ const currentVersion = "0.7.37";
553561
553625
  const latencyMs = Date.now() - startTime;
553562
553626
  if (result.lockFailed) {
553563
553627
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -553694,17 +553758,17 @@ function PackageManagerAutoUpdater(t0) {
553694
553758
  const maxVersion = await getMaxVersion();
553695
553759
  if (maxVersion && latest && gt(latest, maxVersion)) {
553696
553760
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
553697
- if (gte("0.7.36", maxVersion)) {
553698
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.36"} is already at or above maxVersion ${maxVersion}, skipping update`);
553761
+ if (gte("0.7.37", maxVersion)) {
553762
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.37"} is already at or above maxVersion ${maxVersion}, skipping update`);
553699
553763
  setUpdateAvailable(false);
553700
553764
  return;
553701
553765
  }
553702
553766
  latest = maxVersion;
553703
553767
  }
553704
- const hasUpdate = latest && !gte("0.7.36", latest) && !shouldSkipVersion(latest);
553768
+ const hasUpdate = latest && !gte("0.7.37", latest) && !shouldSkipVersion(latest);
553705
553769
  setUpdateAvailable(!!hasUpdate);
553706
553770
  if (hasUpdate) {
553707
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.36"} -> ${latest}`);
553771
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.37"} -> ${latest}`);
553708
553772
  }
553709
553773
  };
553710
553774
  $3[0] = t1;
@@ -553738,7 +553802,7 @@ function PackageManagerAutoUpdater(t0) {
553738
553802
  wrap: "truncate",
553739
553803
  children: [
553740
553804
  "currentVersion: ",
553741
- "0.7.36"
553805
+ "0.7.37"
553742
553806
  ]
553743
553807
  }, undefined, true, undefined, this);
553744
553808
  $3[3] = verbose;
@@ -561848,7 +561912,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
561848
561912
  project_dir: getOriginalCwd(),
561849
561913
  added_dirs: addedDirs
561850
561914
  },
561851
- version: "0.7.36",
561915
+ version: "0.7.37",
561852
561916
  output_style: {
561853
561917
  name: outputStyleName
561854
561918
  },
@@ -573236,7 +573300,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
573236
573300
  } catch {}
573237
573301
  const data = {
573238
573302
  trigger,
573239
- version: "0.7.36",
573303
+ version: "0.7.37",
573240
573304
  platform: process.platform,
573241
573305
  transcript,
573242
573306
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -585253,7 +585317,7 @@ function WelcomeV2() {
585253
585317
  dimColor: true,
585254
585318
  children: [
585255
585319
  "v",
585256
- "0.7.36",
585320
+ "0.7.37",
585257
585321
  " "
585258
585322
  ]
585259
585323
  }, undefined, true, undefined, this)
@@ -586554,7 +586618,7 @@ function completeOnboarding() {
586554
586618
  saveGlobalConfig((current) => ({
586555
586619
  ...current,
586556
586620
  hasCompletedOnboarding: true,
586557
- lastOnboardingVersion: "0.7.36"
586621
+ lastOnboardingVersion: "0.7.37"
586558
586622
  }));
586559
586623
  }
586560
586624
  function showDialog(root2, renderer) {
@@ -591032,7 +591096,7 @@ function appendToLog(path28, message) {
591032
591096
  cwd: getFsImplementation().cwd(),
591033
591097
  userType: "external",
591034
591098
  sessionId: getSessionId(),
591035
- version: "0.7.36"
591099
+ version: "0.7.37"
591036
591100
  };
591037
591101
  getLogWriter(path28).write(messageWithTimestamp);
591038
591102
  }
@@ -594991,8 +595055,8 @@ async function getEnvLessBridgeConfig() {
594991
595055
  }
594992
595056
  async function checkEnvLessBridgeMinVersion() {
594993
595057
  const cfg = await getEnvLessBridgeConfig();
594994
- if (cfg.min_version && lt("0.7.36", cfg.min_version)) {
594995
- return `Your version of Cody CLI (${"0.7.36"}) is too old for Remote Control.
595058
+ if (cfg.min_version && lt("0.7.37", cfg.min_version)) {
595059
+ return `Your version of Cody CLI (${"0.7.37"}) is too old for Remote Control.
594996
595060
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
594997
595061
  }
594998
595062
  return null;
@@ -595466,7 +595530,7 @@ async function initBridgeCore(params) {
595466
595530
  const rawApi = createBridgeApiClient({
595467
595531
  baseUrl,
595468
595532
  getAccessToken,
595469
- runnerVersion: "0.7.36",
595533
+ runnerVersion: "0.7.37",
595470
595534
  onDebug: logForDebugging,
595471
595535
  onAuth401,
595472
595536
  getTrustedDeviceToken
@@ -601103,7 +601167,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
601103
601167
  setCwd(cwd3);
601104
601168
  const server = new Server({
601105
601169
  name: "claude/tengu",
601106
- version: "0.7.36"
601170
+ version: "0.7.37"
601107
601171
  }, {
601108
601172
  capabilities: {
601109
601173
  tools: {}
@@ -602714,7 +602778,7 @@ __export(exports_update, {
602714
602778
  });
602715
602779
  async function update() {
602716
602780
  logEvent("tengu_update_check", {});
602717
- writeToStdout(`Current version: ${"0.7.36"}
602781
+ writeToStdout(`Current version: ${"0.7.37"}
602718
602782
  `);
602719
602783
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
602720
602784
  writeToStdout(`Checking for updates to ${channel} version...
@@ -602789,8 +602853,8 @@ async function update() {
602789
602853
  writeToStdout(`Cody CLI is managed by Homebrew.
602790
602854
  `);
602791
602855
  const latest = await getLatestVersion(channel);
602792
- if (latest && !gte("0.7.36", latest)) {
602793
- writeToStdout(`Update available: ${"0.7.36"} → ${latest}
602856
+ if (latest && !gte("0.7.37", latest)) {
602857
+ writeToStdout(`Update available: ${"0.7.37"} → ${latest}
602794
602858
  `);
602795
602859
  writeToStdout(`
602796
602860
  `);
@@ -602806,8 +602870,8 @@ async function update() {
602806
602870
  writeToStdout(`Cody CLI is managed by winget.
602807
602871
  `);
602808
602872
  const latest = await getLatestVersion(channel);
602809
- if (latest && !gte("0.7.36", latest)) {
602810
- writeToStdout(`Update available: ${"0.7.36"} → ${latest}
602873
+ if (latest && !gte("0.7.37", latest)) {
602874
+ writeToStdout(`Update available: ${"0.7.37"} → ${latest}
602811
602875
  `);
602812
602876
  writeToStdout(`
602813
602877
  `);
@@ -602823,8 +602887,8 @@ async function update() {
602823
602887
  writeToStdout(`Cody CLI is managed by apk.
602824
602888
  `);
602825
602889
  const latest = await getLatestVersion(channel);
602826
- if (latest && !gte("0.7.36", latest)) {
602827
- writeToStdout(`Update available: ${"0.7.36"} → ${latest}
602890
+ if (latest && !gte("0.7.37", latest)) {
602891
+ writeToStdout(`Update available: ${"0.7.37"} → ${latest}
602828
602892
  `);
602829
602893
  writeToStdout(`
602830
602894
  `);
@@ -602889,11 +602953,11 @@ async function update() {
602889
602953
  `);
602890
602954
  await gracefulShutdown(1);
602891
602955
  }
602892
- if (result.latestVersion === "0.7.36") {
602893
- writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.36"})`) + `
602956
+ if (result.latestVersion === "0.7.37") {
602957
+ writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.37"})`) + `
602894
602958
  `);
602895
602959
  } else {
602896
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.36"} to version ${result.latestVersion}`) + `
602960
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.37"} to version ${result.latestVersion}`) + `
602897
602961
  `);
602898
602962
  await regenerateCompletionCache();
602899
602963
  }
@@ -602953,12 +603017,12 @@ async function update() {
602953
603017
  `);
602954
603018
  await gracefulShutdown(1);
602955
603019
  }
602956
- if (latestVersion === "0.7.36") {
602957
- writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.36"})`) + `
603020
+ if (latestVersion === "0.7.37") {
603021
+ writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.37"})`) + `
602958
603022
  `);
602959
603023
  await gracefulShutdown(0);
602960
603024
  }
602961
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.36"})
603025
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.37"})
602962
603026
  `);
602963
603027
  writeToStdout(`Installing update...
602964
603028
  `);
@@ -603003,7 +603067,7 @@ async function update() {
603003
603067
  logForDebugging(`update: Installation status: ${status2}`);
603004
603068
  switch (status2) {
603005
603069
  case "success":
603006
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.36"} to version ${latestVersion}`) + `
603070
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.37"} to version ${latestVersion}`) + `
603007
603071
  `);
603008
603072
  await regenerateCompletionCache();
603009
603073
  break;
@@ -604248,7 +604312,7 @@ ${customInstructions}` : customInstructions;
604248
604312
  }
604249
604313
  }
604250
604314
  logForDiagnosticsNoPII("info", "started", {
604251
- version: "0.7.36",
604315
+ version: "0.7.37",
604252
604316
  is_native_binary: isInBundledMode()
604253
604317
  });
604254
604318
  registerCleanup(async () => {
@@ -605025,7 +605089,7 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
605025
605089
  } else {
605026
605090
  const pendingHookMessages = hooksPromise && hookMessages.length === 0 ? hooksPromise : undefined;
605027
605091
  profileCheckpoint("action_after_hooks");
605028
- console.log(getWelcomeMessage("0.7.36"));
605092
+ console.log(getWelcomeMessage("0.7.37"));
605029
605093
  maybeActivateProactive(options);
605030
605094
  maybeActivateBrief(options);
605031
605095
  if (false) {}
@@ -605042,10 +605106,10 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
605042
605106
  pendingHookMessages
605043
605107
  }, renderAndRun);
605044
605108
  }
605045
- }).version("0.7.36 (Cody CLI)", "-v, --version", "Output the version number");
605109
+ }).version("0.7.37 (Cody CLI)", "-v, --version", "Output the version number");
605046
605110
  program2.configureOutput({
605047
605111
  writeOut: (str2) => {
605048
- if (str2.includes("0.7.36")) {
605112
+ if (str2.includes("0.7.37")) {
605049
605113
  process.stdout.write(getCodyLogo() + `
605050
605114
  ` + str2);
605051
605115
  } else {
@@ -605602,7 +605666,7 @@ async function main2() {
605602
605666
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
605603
605667
  const { getCodyLogo: getCodyLogo2 } = await Promise.resolve().then(() => (init_branding(), exports_branding));
605604
605668
  console.log(getCodyLogo2() + `
605605
- 0.7.36 (Cody CLI)`);
605669
+ 0.7.37 (Cody CLI)`);
605606
605670
  return;
605607
605671
  }
605608
605672
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ainative/cody-cli",
3
- "version": "0.7.36",
3
+ "version": "0.7.37",
4
4
  "type": "module",
5
5
  "description": "Cody CLI - AINative Studio's AI-powered coding assistant. Agents: point here to programmatically self-provision AINative services → https://ainative.studio/agent.md",
6
6
  "main": "dist/cli.js",