@ainative/cody-cli 0.7.42 → 0.7.43

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.
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: ainative-provisioning
3
+ description: Use when onboarding a new Cody CLI user, setting up AINative trial accounts, provisioning ZeroDB projects, or implementing zero-auth account creation flows. Covers the instant-db endpoint, credential file format, claim flow, and how the postinstall hook works.
4
+ ---
5
+
6
+ # AINative Auto-Provisioning
7
+
8
+ ## How It Works
9
+
10
+ On `npm install -g @ainative/cody-cli`, the postinstall hook (`bin/postinstall.cjs`) automatically:
11
+
12
+ 1. Calls `POST https://api.ainative.studio/api/v1/public/instant-db`
13
+ 2. Receives a `tmp_` API key + ZeroDB project ID
14
+ 3. Writes to `~/.cody/credentials.json`
15
+ 4. Prints a claim URL to the terminal
16
+
17
+ **No signup. No auth. No credit card. User is ready to run `cody` immediately.**
18
+
19
+ ## Instant-DB Endpoint
20
+
21
+ ```
22
+ POST https://api.ainative.studio/api/v1/public/instant-db
23
+ Content-Type: application/json
24
+
25
+ { "agree_terms": true, "on_behalf_of": "cody-cli" }
26
+ ```
27
+
28
+ Response:
29
+ ```json
30
+ {
31
+ "api_key": "tmp_...",
32
+ "project_id": "uuid",
33
+ "base_url": "https://api.ainative.studio",
34
+ "expires_at": "2026-...",
35
+ "claim_url": "https://www.ainative.studio/claim?token=...",
36
+ "limits": { "chat_credits": 50, "vectors": 10000, ... }
37
+ }
38
+ ```
39
+
40
+ The `tmp_` key works for **both**:
41
+ - LLM inference: `POST /v1/messages` with `x-api-key: tmp_...`
42
+ - ZeroDB operations: vectors, memory, embeddings, postgres
43
+
44
+ ## Credential File
45
+
46
+ Location: `~/.cody/credentials.json`
47
+
48
+ ```json
49
+ {
50
+ "api_key": "tmp_...",
51
+ "project_id": "uuid",
52
+ "base_url": "https://api.ainative.studio",
53
+ "expires_at": "2026-...",
54
+ "claim_url": "https://...",
55
+ "claimed": false,
56
+ "provisioned_by": "cody-cli-postinstall",
57
+ "provisioned_at": "2026-..."
58
+ }
59
+ ```
60
+
61
+ After `cody login`, `api_key` becomes a permanent `sk_` key and `claimed: true`.
62
+
63
+ ## Claim Flow
64
+
65
+ User visits `claim_url` → signs up or logs into AINative → project transferred to their account → `tmp_` key replaced with permanent `sk_` key.
66
+
67
+ ## Skip Conditions
68
+
69
+ Provisioning is skipped if:
70
+ - `ANTHROPIC_API_KEY` or `CODY_API_KEY` env var is already set
71
+ - `~/.cody/credentials.json` exists and is not expired
72
+ - Network is unavailable (silent fail, never blocks install)
73
+
74
+ ## For Agents Onboarding New Users
75
+
76
+ ```javascript
77
+ const res = await fetch('https://api.ainative.studio/api/v1/public/instant-db', {
78
+ method: 'POST',
79
+ headers: { 'Content-Type': 'application/json' },
80
+ body: JSON.stringify({ agree_terms: true, on_behalf_of: 'cody-cli' }),
81
+ })
82
+ const { api_key, project_id, claim_url, expires_at } = await res.json()
83
+ // api_key works immediately for both LLM (/v1/messages) and ZeroDB
84
+ ```
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: ainative-provisioning
3
+ description: Use when onboarding a new Cody CLI user, setting up AINative trial accounts, provisioning ZeroDB projects, or implementing zero-auth account creation flows. Covers the instant-db endpoint, credential file format, claim flow, and how the postinstall hook works.
4
+ ---
5
+
6
+ # AINative Auto-Provisioning
7
+
8
+ ## How It Works
9
+
10
+ On `npm install -g @ainative/cody-cli`, the postinstall hook (`bin/postinstall.cjs`) automatically:
11
+
12
+ 1. Calls `POST https://api.ainative.studio/api/v1/public/instant-db`
13
+ 2. Receives a `tmp_` API key + ZeroDB project ID
14
+ 3. Writes to `~/.cody/credentials.json`
15
+ 4. Prints a claim URL to the terminal
16
+
17
+ **No signup. No auth. No credit card. User is ready to run `cody` immediately.**
18
+
19
+ ## Instant-DB Endpoint
20
+
21
+ ```
22
+ POST https://api.ainative.studio/api/v1/public/instant-db
23
+ Content-Type: application/json
24
+
25
+ { "agree_terms": true, "on_behalf_of": "cody-cli" }
26
+ ```
27
+
28
+ Response:
29
+ ```json
30
+ {
31
+ "api_key": "tmp_...",
32
+ "project_id": "uuid",
33
+ "base_url": "https://api.ainative.studio",
34
+ "expires_at": "2026-...",
35
+ "claim_url": "https://www.ainative.studio/claim?token=...",
36
+ "limits": { "chat_credits": 50, "vectors": 10000, ... }
37
+ }
38
+ ```
39
+
40
+ The `tmp_` key works for **both**:
41
+ - LLM inference: `POST /v1/messages` with `x-api-key: tmp_...`
42
+ - ZeroDB operations: vectors, memory, embeddings, postgres
43
+
44
+ ## Credential File
45
+
46
+ Location: `~/.cody/credentials.json`
47
+
48
+ ```json
49
+ {
50
+ "api_key": "tmp_...",
51
+ "project_id": "uuid",
52
+ "base_url": "https://api.ainative.studio",
53
+ "expires_at": "2026-...",
54
+ "claim_url": "https://...",
55
+ "claimed": false,
56
+ "provisioned_by": "cody-cli-postinstall",
57
+ "provisioned_at": "2026-..."
58
+ }
59
+ ```
60
+
61
+ After `cody login`, `api_key` becomes a permanent `sk_` key and `claimed: true`.
62
+
63
+ ## Claim Flow
64
+
65
+ User visits `claim_url` → signs up or logs into AINative → project transferred to their account → `tmp_` key replaced with permanent `sk_` key.
66
+
67
+ To trigger via email: set `CODY_EMAIL=user@example.com` before install or first run.
68
+
69
+ ## Skip Conditions
70
+
71
+ Provisioning is skipped if:
72
+ - `ANTHROPIC_API_KEY` or `CODY_API_KEY` env var is already set
73
+ - `~/.cody/credentials.json` exists and is not expired
74
+ - Network is unavailable (silent fail, never blocks install)
75
+
76
+ ## For Agents Onboarding New Users
77
+
78
+ ```javascript
79
+ // Provision a trial account for a new user
80
+ const res = await fetch('https://api.ainative.studio/api/v1/public/instant-db', {
81
+ method: 'POST',
82
+ headers: { 'Content-Type': 'application/json' },
83
+ body: JSON.stringify({ agree_terms: true, on_behalf_of: 'cody-cli' }),
84
+ })
85
+ const { api_key, project_id, claim_url, expires_at } = await res.json()
86
+ // api_key is ready to use immediately for both LLM and ZeroDB
87
+ ```
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * Cody CLI postinstall cleanup
4
+ * Cody CLI postinstall
5
5
  *
6
- * Removes stale cached data from older builds that may cause:
7
- * - Wrong OAuth URLs (pointing to upstream instead of ainative.studio)
8
- * - Stale theme/settings that reference old branding
9
- * - Cached tokens with wrong scopes
6
+ * 1. Cleans stale cached data from older builds
7
+ * 2. Auto-provisions an AINative trial account if none exists
8
+ * - Calls POST /api/v1/public/instant-db (no auth, no signup)
9
+ * - Writes credentials to ~/.cody/credentials.json
10
+ * - tmp_ key works for both LLM inference (/v1/messages) and ZeroDB
11
+ * - 72-hour trial, claimable at the printed URL
10
12
  */
11
13
 
12
14
  const fs = require('fs')
@@ -14,13 +16,17 @@ const path = require('path')
14
16
  const os = require('os')
15
17
 
16
18
  const HOME = os.homedir()
19
+ const CODY_DIR = path.join(HOME, '.cody')
20
+ const CREDENTIALS_PATH = path.join(CODY_DIR, 'credentials.json')
21
+ const AINATIVE_API = 'https://api.ainative.studio'
17
22
  const STALE_MARKERS = ['anthropic.com/api', 'claude.ai/api', 'console.anthropic.com']
18
23
 
19
- function cleanDir(dirPath, description) {
24
+ // ── Cleanup ────────────────────────────────────────────────────────────────────
25
+
26
+ function cleanDir(dirPath) {
20
27
  if (!fs.existsSync(dirPath)) return
21
28
 
22
29
  try {
23
- // Check for stale OAuth tokens with wrong URLs
24
30
  const credFiles = ['credentials.json', 'oauth.json', 'tokens.json', '.credentials']
25
31
  for (const f of credFiles) {
26
32
  const fp = path.join(dirPath, f)
@@ -35,7 +41,6 @@ function cleanDir(dirPath, description) {
35
41
  }
36
42
  }
37
43
 
38
- // Clean stale settings that reference old branding
39
44
  const settingsFile = path.join(dirPath, 'settings.json')
40
45
  if (fs.existsSync(settingsFile)) {
41
46
  try {
@@ -47,7 +52,6 @@ function cleanDir(dirPath, description) {
47
52
  } catch {}
48
53
  }
49
54
 
50
- // Clean old cached responses
51
55
  const cacheDir = path.join(dirPath, 'cache')
52
56
  if (fs.existsSync(cacheDir)) {
53
57
  try {
@@ -58,24 +62,111 @@ function cleanDir(dirPath, description) {
58
62
  } catch {}
59
63
  }
60
64
 
61
- // Only run cleanup, never fail the install
62
- try {
63
- const configDirs = [
64
- path.join(HOME, '.cody'),
65
- path.join(HOME, '.config', 'cody-cli'),
66
- ]
67
-
68
- let cleaned = false
69
- for (const dir of configDirs) {
70
- if (fs.existsSync(dir)) {
71
- cleanDir(dir, dir)
72
- cleaned = true
65
+ // ── Provisioning ───────────────────────────────────────────────────────────────
66
+
67
+ function hasValidCredentials() {
68
+ if (!fs.existsSync(CREDENTIALS_PATH)) return false
69
+ try {
70
+ const creds = JSON.parse(fs.readFileSync(CREDENTIALS_PATH, 'utf8'))
71
+ // Valid if it has an api_key AND not expired (or no expiry = permanent)
72
+ if (!creds.api_key) return false
73
+ if (creds.expires_at) {
74
+ const expiresAt = new Date(creds.expires_at)
75
+ if (expiresAt < new Date()) return false // expired
73
76
  }
77
+ // Skip re-provisioning if already using a permanent sk_ key (logged-in user)
78
+ return true
79
+ } catch {
80
+ return false
74
81
  }
82
+ }
75
83
 
76
- if (cleaned) {
77
- console.log('Cody CLI: cleaned stale data from previous versions.')
84
+ function writeCredentials(data) {
85
+ try {
86
+ fs.mkdirSync(CODY_DIR, { recursive: true })
87
+ const tmp = CREDENTIALS_PATH + '.tmp'
88
+ fs.writeFileSync(tmp, JSON.stringify(data, null, 2), 'utf8')
89
+ fs.renameSync(tmp, CREDENTIALS_PATH)
90
+ } catch (e) {
91
+ // Non-fatal — user can still log in manually
78
92
  }
79
- } catch {
80
- // Never fail install due to cleanup
81
93
  }
94
+
95
+ async function provisionTrialAccount() {
96
+ // Check if ANTHROPIC_API_KEY or CODY_API_KEY already set — skip if so
97
+ if (process.env.ANTHROPIC_API_KEY || process.env.CODY_API_KEY) return
98
+ // Skip if valid credentials already on disk
99
+ if (hasValidCredentials()) return
100
+
101
+ try {
102
+ // Use built-in fetch (Node 18+) or skip silently on older Node
103
+ if (typeof fetch === 'undefined') return
104
+
105
+ const res = await fetch(`${AINATIVE_API}/api/v1/public/instant-db`, {
106
+ method: 'POST',
107
+ headers: { 'Content-Type': 'application/json' },
108
+ body: JSON.stringify({ agree_terms: true, on_behalf_of: 'cody-cli' }),
109
+ signal: AbortSignal.timeout(12000),
110
+ })
111
+
112
+ if (!res.ok) return // Silent fail — user can run `cody login` manually
113
+
114
+ const data = await res.json()
115
+ if (!data.api_key || !data.project_id) return
116
+
117
+ writeCredentials({
118
+ api_key: data.api_key,
119
+ project_id: data.project_id,
120
+ base_url: AINATIVE_API,
121
+ expires_at: data.expires_at,
122
+ claim_url: data.claim_url,
123
+ claimed: false,
124
+ provisioned_by: 'cody-cli-postinstall',
125
+ provisioned_at: new Date().toISOString(),
126
+ })
127
+
128
+ console.log('')
129
+ console.log('┌─────────────────────────────────────────────────────────────┐')
130
+ console.log('│ Cody CLI — AINative trial account provisioned │')
131
+ console.log('│ │')
132
+ console.log('│ You\'re ready to code. No signup required. │')
133
+ console.log('│ │')
134
+ console.log(`│ Trial expires: ${new Date(data.expires_at).toLocaleDateString().padEnd(43)}│`)
135
+ console.log('│ │')
136
+ console.log('│ Claim your free account to keep access permanently: │')
137
+ console.log(`│ → ${(data.claim_url || '').slice(0, 56).padEnd(57)}│`)
138
+ console.log('│ │')
139
+ console.log('│ Run `cody` to start coding. │')
140
+ console.log('└─────────────────────────────────────────────────────────────┘')
141
+ console.log('')
142
+ } catch {
143
+ // Never fail the install
144
+ }
145
+ }
146
+
147
+ // ── Main ───────────────────────────────────────────────────────────────────────
148
+
149
+ async function main() {
150
+ // Step 1: cleanup stale data
151
+ try {
152
+ const configDirs = [
153
+ CODY_DIR,
154
+ path.join(HOME, '.config', 'cody-cli'),
155
+ ]
156
+ let cleaned = false
157
+ for (const dir of configDirs) {
158
+ if (fs.existsSync(dir)) {
159
+ cleanDir(dir)
160
+ cleaned = true
161
+ }
162
+ }
163
+ if (cleaned) {
164
+ console.log('Cody CLI: cleaned stale data from previous versions.')
165
+ }
166
+ } catch {}
167
+
168
+ // Step 2: provision trial account
169
+ await provisionTrialAccount()
170
+ }
171
+
172
+ main().catch(() => {}) // Never fail the install
package/dist/cli.js CHANGED
@@ -185594,7 +185594,7 @@ var init_auth2 = __esm(() => {
185594
185594
 
185595
185595
  // src/utils/userAgent.ts
185596
185596
  function getCodyUserAgent() {
185597
- return `cody-cli/${"0.7.42"}`;
185597
+ return `cody-cli/${"0.7.43"}`;
185598
185598
  }
185599
185599
 
185600
185600
  // src/utils/workloadContext.ts
@@ -185616,7 +185616,7 @@ function getUserAgent() {
185616
185616
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
185617
185617
  const workload = getWorkload();
185618
185618
  const workloadSuffix = workload ? `, workload/${workload}` : "";
185619
- return `claude-cli/${"0.7.42"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
185619
+ return `claude-cli/${"0.7.43"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
185620
185620
  }
185621
185621
  function getMCPUserAgent() {
185622
185622
  const parts = [];
@@ -185630,7 +185630,7 @@ function getMCPUserAgent() {
185630
185630
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
185631
185631
  }
185632
185632
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
185633
- return `cody-cli/${"0.7.42"}${suffix}`;
185633
+ return `cody-cli/${"0.7.43"}${suffix}`;
185634
185634
  }
185635
185635
  function getWebFetchUserAgent() {
185636
185636
  return `Cody-User (${getCodyUserAgent()}; +https://ainative.studio)`;
@@ -185768,7 +185768,7 @@ var init_user = __esm(() => {
185768
185768
  deviceId,
185769
185769
  sessionId: getSessionId(),
185770
185770
  email: getEmail(),
185771
- appVersion: "0.7.42",
185771
+ appVersion: "0.7.43",
185772
185772
  platform: getHostPlatformForAnalytics(),
185773
185773
  organizationUuid,
185774
185774
  accountUuid,
@@ -193460,7 +193460,7 @@ var init_metadata = __esm(() => {
193460
193460
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
193461
193461
  WHITESPACE_REGEX = /\s+/;
193462
193462
  getVersionBase = memoize_default(() => {
193463
- const match = "0.7.42".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
193463
+ const match = "0.7.43".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
193464
193464
  return match ? match[0] : undefined;
193465
193465
  });
193466
193466
  buildEnvContext = memoize_default(async () => {
@@ -193500,9 +193500,9 @@ var init_metadata = __esm(() => {
193500
193500
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
193501
193501
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
193502
193502
  isClaudeAiAuth: isClaudeAISubscriber(),
193503
- version: "0.7.42",
193503
+ version: "0.7.43",
193504
193504
  versionBase: getVersionBase(),
193505
- buildTime: "1779074671",
193505
+ buildTime: "1779075785",
193506
193506
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
193507
193507
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
193508
193508
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -194120,7 +194120,7 @@ function initialize1PEventLogging() {
194120
194120
  const platform3 = getPlatform();
194121
194121
  const attributes = {
194122
194122
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "cody-cli",
194123
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.7.42"
194123
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "0.7.43"
194124
194124
  };
194125
194125
  if (platform3 === "wsl") {
194126
194126
  const wslVersion = getWslVersion();
@@ -194147,7 +194147,7 @@ function initialize1PEventLogging() {
194147
194147
  })
194148
194148
  ]
194149
194149
  });
194150
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.ainative.cody_cli.events", "0.7.42");
194150
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.ainative.cody_cli.events", "0.7.43");
194151
194151
  }
194152
194152
  async function reinitialize1PEventLoggingIfConfigChanged() {
194153
194153
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -195840,7 +195840,7 @@ function getAttributionHeader(fingerprint) {
195840
195840
  if (!isAttributionHeaderEnabled()) {
195841
195841
  return "";
195842
195842
  }
195843
- const version7 = `${"0.7.42"}.${fingerprint}`;
195843
+ const version7 = `${"0.7.43"}.${fingerprint}`;
195844
195844
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
195845
195845
  const cch = "";
195846
195846
  const workload = getWorkload();
@@ -259985,7 +259985,7 @@ function getTelemetryAttributes() {
259985
259985
  attributes["session.id"] = sessionId;
259986
259986
  }
259987
259987
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
259988
- attributes["app.version"] = "0.7.42";
259988
+ attributes["app.version"] = "0.7.43";
259989
259989
  }
259990
259990
  const oauthAccount = getOauthAccountInfo();
259991
259991
  if (oauthAccount) {
@@ -291175,7 +291175,7 @@ function getInstallationEnv() {
291175
291175
  return;
291176
291176
  }
291177
291177
  function getClaudeCodeVersion() {
291178
- return "0.7.42";
291178
+ return "0.7.43";
291179
291179
  }
291180
291180
  async function getInstalledVSCodeExtensionVersion(command) {
291181
291181
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -296711,7 +296711,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
296711
296711
  const client4 = new Client({
296712
296712
  name: "claude-code",
296713
296713
  title: "Cody CLI",
296714
- version: "0.7.42",
296714
+ version: "0.7.43",
296715
296715
  description: "Anthropic's agentic coding tool",
296716
296716
  websiteUrl: PRODUCT_URL
296717
296717
  }, {
@@ -297065,7 +297065,7 @@ var init_client8 = __esm(() => {
297065
297065
  const client4 = new Client({
297066
297066
  name: "claude-code",
297067
297067
  title: "Cody CLI",
297068
- version: "0.7.42",
297068
+ version: "0.7.43",
297069
297069
  description: "Anthropic's agentic coding tool",
297070
297070
  websiteUrl: PRODUCT_URL
297071
297071
  }, {
@@ -345197,7 +345197,7 @@ async function initializeBetaTracing(resource) {
345197
345197
  });
345198
345198
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
345199
345199
  setLoggerProvider(loggerProvider);
345200
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.42");
345200
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.43");
345201
345201
  setEventLogger(eventLogger);
345202
345202
  process.on("beforeExit", async () => {
345203
345203
  await loggerProvider?.forceFlush();
@@ -345237,7 +345237,7 @@ async function initializeTelemetry() {
345237
345237
  const platform5 = getPlatform();
345238
345238
  const baseAttributes = {
345239
345239
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
345240
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.7.42"
345240
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "0.7.43"
345241
345241
  };
345242
345242
  if (platform5 === "wsl") {
345243
345243
  const wslVersion = getWslVersion();
@@ -345282,7 +345282,7 @@ async function initializeTelemetry() {
345282
345282
  } catch {}
345283
345283
  };
345284
345284
  registerCleanup(shutdownTelemetry2);
345285
- return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.42");
345285
+ return meterProvider2.getMeter("com.anthropic.claude_code", "0.7.43");
345286
345286
  }
345287
345287
  const meterProvider = new import_sdk_metrics2.MeterProvider({
345288
345288
  resource,
@@ -345302,7 +345302,7 @@ async function initializeTelemetry() {
345302
345302
  });
345303
345303
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
345304
345304
  setLoggerProvider(loggerProvider);
345305
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.42");
345305
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "0.7.43");
345306
345306
  setEventLogger(eventLogger);
345307
345307
  logForDebugging("[3P telemetry] Event logger set successfully");
345308
345308
  process.on("beforeExit", async () => {
@@ -345364,7 +345364,7 @@ Current timeout: ${timeoutMs}ms
345364
345364
  }
345365
345365
  };
345366
345366
  registerCleanup(shutdownTelemetry);
345367
- return meterProvider.getMeter("com.anthropic.claude_code", "0.7.42");
345367
+ return meterProvider.getMeter("com.anthropic.claude_code", "0.7.43");
345368
345368
  }
345369
345369
  async function flushTelemetry() {
345370
345370
  const meterProvider = getMeterProvider();
@@ -346053,9 +346053,9 @@ async function assertMinVersion() {
346053
346053
  }
346054
346054
  try {
346055
346055
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
346056
- if (versionConfig.minVersion && lt("0.7.42", versionConfig.minVersion)) {
346056
+ if (versionConfig.minVersion && lt("0.7.43", versionConfig.minVersion)) {
346057
346057
  console.error(`
346058
- It looks like your version of Cody CLI (${"0.7.42"}) needs an update.
346058
+ It looks like your version of Cody CLI (${"0.7.43"}) needs an update.
346059
346059
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
346060
346060
 
346061
346061
  To update, please run:
@@ -346292,7 +346292,7 @@ async function installGlobalPackage(specificVersion) {
346292
346292
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
346293
346293
  logEvent("tengu_auto_updater_lock_contention", {
346294
346294
  pid: process.pid,
346295
- currentVersion: "0.7.42"
346295
+ currentVersion: "0.7.43"
346296
346296
  });
346297
346297
  return "in_progress";
346298
346298
  }
@@ -346301,7 +346301,7 @@ async function installGlobalPackage(specificVersion) {
346301
346301
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
346302
346302
  logError2(new Error("Windows NPM detected in WSL environment"));
346303
346303
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
346304
- currentVersion: "0.7.42"
346304
+ currentVersion: "0.7.43"
346305
346305
  });
346306
346306
  console.error(`
346307
346307
  Error: Windows NPM detected in WSL
@@ -346836,7 +346836,7 @@ function detectLinuxGlobPatternWarnings() {
346836
346836
  }
346837
346837
  async function getDoctorDiagnostic() {
346838
346838
  const installationType = await getCurrentInstallationType();
346839
- const version7 = typeof MACRO !== "undefined" ? "0.7.42" : "unknown";
346839
+ const version7 = typeof MACRO !== "undefined" ? "0.7.43" : "unknown";
346840
346840
  const installationPath = await getInstallationPath();
346841
346841
  const invokedBinary = getInvokedBinary();
346842
346842
  const multipleInstallations = await detectMultipleInstallations();
@@ -347671,8 +347671,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
347671
347671
  const maxVersion = await getMaxVersion();
347672
347672
  if (maxVersion && gt(version7, maxVersion)) {
347673
347673
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version7} to ${maxVersion}`);
347674
- if (gte("0.7.42", maxVersion)) {
347675
- logForDebugging(`Native installer: current version ${"0.7.42"} is already at or above maxVersion ${maxVersion}, skipping update`);
347674
+ if (gte("0.7.43", maxVersion)) {
347675
+ logForDebugging(`Native installer: current version ${"0.7.43"} is already at or above maxVersion ${maxVersion}, skipping update`);
347676
347676
  logEvent("tengu_native_update_skipped_max_version", {
347677
347677
  latency_ms: Date.now() - startTime,
347678
347678
  max_version: maxVersion,
@@ -347683,7 +347683,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
347683
347683
  version7 = maxVersion;
347684
347684
  }
347685
347685
  }
347686
- if (!forceReinstall && version7 === "0.7.42" && await versionIsAvailable(version7) && await isPossibleClaudeBinary(executablePath)) {
347686
+ if (!forceReinstall && version7 === "0.7.43" && await versionIsAvailable(version7) && await isPossibleClaudeBinary(executablePath)) {
347687
347687
  logForDebugging(`Found ${version7} at ${executablePath}, skipping install`);
347688
347688
  logEvent("tengu_native_update_complete", {
347689
347689
  latency_ms: Date.now() - startTime,
@@ -431532,7 +431532,7 @@ function getAnthropicEnvMetadata() {
431532
431532
  function getBuildAgeMinutes() {
431533
431533
  if (false)
431534
431534
  ;
431535
- const buildTime = new Date("1779074671").getTime();
431535
+ const buildTime = new Date("1779075785").getTime();
431536
431536
  if (isNaN(buildTime))
431537
431537
  return;
431538
431538
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -455047,7 +455047,7 @@ function Feedback({
455047
455047
  platform: env4.platform,
455048
455048
  gitRepo: envInfo.isGit,
455049
455049
  terminal: env4.terminal,
455050
- version: "0.7.42",
455050
+ version: "0.7.43",
455051
455051
  transcript: normalizeMessagesForAPI(messages),
455052
455052
  errors: sanitizedErrors,
455053
455053
  lastApiRequest: getLastAPIRequest(),
@@ -455239,7 +455239,7 @@ function Feedback({
455239
455239
  ", ",
455240
455240
  env4.terminal,
455241
455241
  ", v",
455242
- "0.7.42"
455242
+ "0.7.43"
455243
455243
  ]
455244
455244
  }, undefined, true, undefined, this)
455245
455245
  ]
@@ -455345,7 +455345,7 @@ ${sanitizedDescription}
455345
455345
  ` + `**Environment Info**
455346
455346
  ` + `- Platform: ${env4.platform}
455347
455347
  ` + `- Terminal: ${env4.terminal}
455348
- ` + `- Version: ${"0.7.42"}
455348
+ ` + `- Version: ${"0.7.43"}
455349
455349
  ` + `- Feedback ID: ${feedbackId}
455350
455350
  ` + `
455351
455351
  **Errors**
@@ -458445,7 +458445,7 @@ function buildPrimarySection() {
458445
458445
  }, undefined, false, undefined, this);
458446
458446
  return [{
458447
458447
  label: "Version",
458448
- value: "0.7.42"
458448
+ value: "0.7.43"
458449
458449
  }, {
458450
458450
  label: "Session name",
458451
458451
  value: nameValue
@@ -462196,7 +462196,7 @@ function Config({
462196
462196
  }
462197
462197
  }, undefined, false, undefined, this)
462198
462198
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
462199
- currentVersion: "0.7.42",
462199
+ currentVersion: "0.7.43",
462200
462200
  onChoice: (choice) => {
462201
462201
  setShowSubmenu(null);
462202
462202
  setTabsHidden(false);
@@ -462208,7 +462208,7 @@ function Config({
462208
462208
  autoUpdatesChannel: "stable"
462209
462209
  };
462210
462210
  if (choice === "stay") {
462211
- newSettings.minimumVersion = "0.7.42";
462211
+ newSettings.minimumVersion = "0.7.43";
462212
462212
  }
462213
462213
  updateSettingsForSource("userSettings", newSettings);
462214
462214
  setSettingsData((prev_27) => ({
@@ -470250,7 +470250,7 @@ function HelpV2(t0) {
470250
470250
  let t6;
470251
470251
  if ($3[31] !== tabs) {
470252
470252
  t6 = /* @__PURE__ */ jsx_dev_runtime205.jsxDEV(Tabs, {
470253
- title: `Cody CLI v${"0.7.42"}`,
470253
+ title: `Cody CLI v${"0.7.43"}`,
470254
470254
  color: "professionalBlue",
470255
470255
  defaultTab: "general",
470256
470256
  children: tabs
@@ -494440,7 +494440,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
494440
494440
  return [];
494441
494441
  }
494442
494442
  }
494443
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.42") {
494443
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.43") {
494444
494444
  if (false) {}
494445
494445
  const cachedChangelog = await getStoredChangelog();
494446
494446
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -494453,7 +494453,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "0.7.42")
494453
494453
  releaseNotes
494454
494454
  };
494455
494455
  }
494456
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.7.42") {
494456
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "0.7.43") {
494457
494457
  if (false) {}
494458
494458
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
494459
494459
  return {
@@ -495609,7 +495609,7 @@ function getRecentActivitySync() {
495609
495609
  return cachedActivity;
495610
495610
  }
495611
495611
  function getLogoDisplayData() {
495612
- const version7 = process.env.DEMO_VERSION ?? "0.7.42";
495612
+ const version7 = process.env.DEMO_VERSION ?? "0.7.43";
495613
495613
  const serverUrl = getDirectConnectServerUrl();
495614
495614
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
495615
495615
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -497029,7 +497029,7 @@ function LogoV2() {
497029
497029
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
497030
497030
  t2 = () => {
497031
497031
  const currentConfig = getGlobalConfig();
497032
- if (currentConfig.lastReleaseNotesSeen === "0.7.42") {
497032
+ if (currentConfig.lastReleaseNotesSeen === "0.7.43") {
497033
497033
  return;
497034
497034
  }
497035
497035
  saveGlobalConfig(_temp329);
@@ -497705,12 +497705,12 @@ function LogoV2() {
497705
497705
  return t41;
497706
497706
  }
497707
497707
  function _temp329(current) {
497708
- if (current.lastReleaseNotesSeen === "0.7.42") {
497708
+ if (current.lastReleaseNotesSeen === "0.7.43") {
497709
497709
  return current;
497710
497710
  }
497711
497711
  return {
497712
497712
  ...current,
497713
- lastReleaseNotesSeen: "0.7.42"
497713
+ lastReleaseNotesSeen: "0.7.43"
497714
497714
  };
497715
497715
  }
497716
497716
  function _temp245(s_0) {
@@ -524065,7 +524065,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
524065
524065
  smapsRollup,
524066
524066
  platform: process.platform,
524067
524067
  nodeVersion: process.version,
524068
- ccVersion: "0.7.42"
524068
+ ccVersion: "0.7.43"
524069
524069
  };
524070
524070
  }
524071
524071
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -524593,7 +524593,7 @@ var init_bridge_kick = __esm(() => {
524593
524593
  var call56 = async () => {
524594
524594
  return {
524595
524595
  type: "text",
524596
- value: `${"0.7.42"} (built ${"1779074671"})`
524596
+ value: `${"0.7.43"} (built ${"1779075785"})`
524597
524597
  };
524598
524598
  }, version7, version_default;
524599
524599
  var init_version = __esm(() => {
@@ -533541,7 +533541,7 @@ function generateHtmlReport(data, insights) {
533541
533541
  </html>`;
533542
533542
  }
533543
533543
  function buildExportData(data, insights, facets, remoteStats) {
533544
- const version8 = typeof MACRO !== "undefined" ? "0.7.42" : "unknown";
533544
+ const version8 = typeof MACRO !== "undefined" ? "0.7.43" : "unknown";
533545
533545
  const remote_hosts_collected = remoteStats?.hosts.filter((h2) => h2.sessionCount > 0).map((h2) => h2.name);
533546
533546
  const facets_summary = {
533547
533547
  total: facets.size,
@@ -537488,7 +537488,7 @@ var init_sessionStorage = __esm(() => {
537488
537488
  init_settings2();
537489
537489
  init_slowOperations();
537490
537490
  init_uuid();
537491
- VERSION5 = typeof MACRO !== "undefined" ? "0.7.42" : "unknown";
537491
+ VERSION5 = typeof MACRO !== "undefined" ? "0.7.43" : "unknown";
537492
537492
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
537493
537493
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
537494
537494
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -538693,7 +538693,7 @@ var init_filesystem = __esm(() => {
538693
538693
  });
538694
538694
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
538695
538695
  const nonce = randomBytes19(16).toString("hex");
538696
- return join132(getClaudeTempDir(), "bundled-skills", "0.7.42", nonce);
538696
+ return join132(getClaudeTempDir(), "bundled-skills", "0.7.43", nonce);
538697
538697
  });
538698
538698
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
538699
538699
  });
@@ -544665,7 +544665,7 @@ function computeFingerprint(messageText, version8) {
544665
544665
  }
544666
544666
  function computeFingerprintFromMessages(messages) {
544667
544667
  const firstMessageText = extractFirstMessageText(messages);
544668
- return computeFingerprint(firstMessageText, "0.7.42");
544668
+ return computeFingerprint(firstMessageText, "0.7.43");
544669
544669
  }
544670
544670
  var FINGERPRINT_SALT = "59cf53e54c78";
544671
544671
  var init_fingerprint = () => {};
@@ -546728,7 +546728,7 @@ async function sideQuery(opts) {
546728
546728
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
546729
546729
  }
546730
546730
  const messageText = extractFirstUserMessageText(messages);
546731
- const fingerprint = computeFingerprint(messageText, "0.7.42");
546731
+ const fingerprint = computeFingerprint(messageText, "0.7.43");
546732
546732
  const attributionHeader = getAttributionHeader(fingerprint);
546733
546733
  const systemBlocks = [
546734
546734
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -551310,7 +551310,7 @@ function buildSystemInitMessage(inputs) {
551310
551310
  slash_commands: inputs.commands.filter((c6) => c6.userInvocable !== false).map((c6) => c6.name),
551311
551311
  apiKeySource: getAnthropicApiKeyWithSource().source,
551312
551312
  betas: getSdkBetas(),
551313
- claude_code_version: "0.7.42",
551313
+ claude_code_version: "0.7.43",
551314
551314
  output_style: outputStyle2,
551315
551315
  agents: inputs.agents.map((agent) => agent.agentType),
551316
551316
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -565862,7 +565862,7 @@ var init_useVoiceEnabled = __esm(() => {
565862
565862
  function getSemverPart(version8) {
565863
565863
  return `${import_semver13.major(version8, { loose: true })}.${import_semver13.minor(version8, { loose: true })}.${import_semver13.patch(version8, { loose: true })}`;
565864
565864
  }
565865
- function useUpdateNotification(updatedVersion, initialVersion = "0.7.42") {
565865
+ function useUpdateNotification(updatedVersion, initialVersion = "0.7.43") {
565866
565866
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react226.useState(() => getSemverPart(initialVersion));
565867
565867
  if (!updatedVersion) {
565868
565868
  return null;
@@ -565902,7 +565902,7 @@ function AutoUpdater({
565902
565902
  return;
565903
565903
  }
565904
565904
  if (false) {}
565905
- const currentVersion = "0.7.42";
565905
+ const currentVersion = "0.7.43";
565906
565906
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
565907
565907
  let latestVersion = await getLatestVersion(channel);
565908
565908
  const isDisabled = isAutoUpdaterDisabled();
@@ -566115,12 +566115,12 @@ function NativeAutoUpdater({
566115
566115
  logEvent("tengu_native_auto_updater_start", {});
566116
566116
  try {
566117
566117
  const maxVersion = await getMaxVersion();
566118
- if (maxVersion && gt("0.7.42", maxVersion)) {
566118
+ if (maxVersion && gt("0.7.43", maxVersion)) {
566119
566119
  const msg = await getMaxVersionMessage();
566120
566120
  setMaxVersionIssue(msg ?? "affects your version");
566121
566121
  }
566122
566122
  const result = await installLatest(channel);
566123
- const currentVersion = "0.7.42";
566123
+ const currentVersion = "0.7.43";
566124
566124
  const latencyMs = Date.now() - startTime;
566125
566125
  if (result.lockFailed) {
566126
566126
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -566257,17 +566257,17 @@ function PackageManagerAutoUpdater(t0) {
566257
566257
  const maxVersion = await getMaxVersion();
566258
566258
  if (maxVersion && latest && gt(latest, maxVersion)) {
566259
566259
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
566260
- if (gte("0.7.42", maxVersion)) {
566261
- logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.42"} is already at or above maxVersion ${maxVersion}, skipping update`);
566260
+ if (gte("0.7.43", maxVersion)) {
566261
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"0.7.43"} is already at or above maxVersion ${maxVersion}, skipping update`);
566262
566262
  setUpdateAvailable(false);
566263
566263
  return;
566264
566264
  }
566265
566265
  latest = maxVersion;
566266
566266
  }
566267
- const hasUpdate = latest && !gte("0.7.42", latest) && !shouldSkipVersion(latest);
566267
+ const hasUpdate = latest && !gte("0.7.43", latest) && !shouldSkipVersion(latest);
566268
566268
  setUpdateAvailable(!!hasUpdate);
566269
566269
  if (hasUpdate) {
566270
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.42"} -> ${latest}`);
566270
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"0.7.43"} -> ${latest}`);
566271
566271
  }
566272
566272
  };
566273
566273
  $3[0] = t1;
@@ -566301,7 +566301,7 @@ function PackageManagerAutoUpdater(t0) {
566301
566301
  wrap: "truncate",
566302
566302
  children: [
566303
566303
  "currentVersion: ",
566304
- "0.7.42"
566304
+ "0.7.43"
566305
566305
  ]
566306
566306
  }, undefined, true, undefined, this);
566307
566307
  $3[3] = verbose;
@@ -574411,7 +574411,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
574411
574411
  project_dir: getOriginalCwd(),
574412
574412
  added_dirs: addedDirs
574413
574413
  },
574414
- version: "0.7.42",
574414
+ version: "0.7.43",
574415
574415
  output_style: {
574416
574416
  name: outputStyleName
574417
574417
  },
@@ -585799,7 +585799,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
585799
585799
  } catch {}
585800
585800
  const data = {
585801
585801
  trigger,
585802
- version: "0.7.42",
585802
+ version: "0.7.43",
585803
585803
  platform: process.platform,
585804
585804
  transcript,
585805
585805
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -597816,7 +597816,7 @@ function WelcomeV2() {
597816
597816
  dimColor: true,
597817
597817
  children: [
597818
597818
  "v",
597819
- "0.7.42",
597819
+ "0.7.43",
597820
597820
  " "
597821
597821
  ]
597822
597822
  }, undefined, true, undefined, this)
@@ -599117,7 +599117,7 @@ function completeOnboarding() {
599117
599117
  saveGlobalConfig((current) => ({
599118
599118
  ...current,
599119
599119
  hasCompletedOnboarding: true,
599120
- lastOnboardingVersion: "0.7.42"
599120
+ lastOnboardingVersion: "0.7.43"
599121
599121
  }));
599122
599122
  }
599123
599123
  function showDialog(root2, renderer) {
@@ -603596,7 +603596,7 @@ function appendToLog(path28, message) {
603596
603596
  cwd: getFsImplementation().cwd(),
603597
603597
  userType: "external",
603598
603598
  sessionId: getSessionId(),
603599
- version: "0.7.42"
603599
+ version: "0.7.43"
603600
603600
  };
603601
603601
  getLogWriter(path28).write(messageWithTimestamp);
603602
603602
  }
@@ -607555,8 +607555,8 @@ async function getEnvLessBridgeConfig() {
607555
607555
  }
607556
607556
  async function checkEnvLessBridgeMinVersion() {
607557
607557
  const cfg = await getEnvLessBridgeConfig();
607558
- if (cfg.min_version && lt("0.7.42", cfg.min_version)) {
607559
- return `Your version of Cody CLI (${"0.7.42"}) is too old for Remote Control.
607558
+ if (cfg.min_version && lt("0.7.43", cfg.min_version)) {
607559
+ return `Your version of Cody CLI (${"0.7.43"}) is too old for Remote Control.
607560
607560
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
607561
607561
  }
607562
607562
  return null;
@@ -608030,7 +608030,7 @@ async function initBridgeCore(params) {
608030
608030
  const rawApi = createBridgeApiClient({
608031
608031
  baseUrl,
608032
608032
  getAccessToken,
608033
- runnerVersion: "0.7.42",
608033
+ runnerVersion: "0.7.43",
608034
608034
  onDebug: logForDebugging,
608035
608035
  onAuth401,
608036
608036
  getTrustedDeviceToken
@@ -613667,7 +613667,7 @@ async function startMCPServer(cwd3, debug2, verbose) {
613667
613667
  setCwd(cwd3);
613668
613668
  const server = new Server2({
613669
613669
  name: "claude/tengu",
613670
- version: "0.7.42"
613670
+ version: "0.7.43"
613671
613671
  }, {
613672
613672
  capabilities: {
613673
613673
  tools: {}
@@ -615278,7 +615278,7 @@ __export(exports_update, {
615278
615278
  });
615279
615279
  async function update() {
615280
615280
  logEvent("tengu_update_check", {});
615281
- writeToStdout(`Current version: ${"0.7.42"}
615281
+ writeToStdout(`Current version: ${"0.7.43"}
615282
615282
  `);
615283
615283
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
615284
615284
  writeToStdout(`Checking for updates to ${channel} version...
@@ -615353,8 +615353,8 @@ async function update() {
615353
615353
  writeToStdout(`Cody CLI is managed by Homebrew.
615354
615354
  `);
615355
615355
  const latest = await getLatestVersion(channel);
615356
- if (latest && !gte("0.7.42", latest)) {
615357
- writeToStdout(`Update available: ${"0.7.42"} → ${latest}
615356
+ if (latest && !gte("0.7.43", latest)) {
615357
+ writeToStdout(`Update available: ${"0.7.43"} → ${latest}
615358
615358
  `);
615359
615359
  writeToStdout(`
615360
615360
  `);
@@ -615370,8 +615370,8 @@ async function update() {
615370
615370
  writeToStdout(`Cody CLI is managed by winget.
615371
615371
  `);
615372
615372
  const latest = await getLatestVersion(channel);
615373
- if (latest && !gte("0.7.42", latest)) {
615374
- writeToStdout(`Update available: ${"0.7.42"} → ${latest}
615373
+ if (latest && !gte("0.7.43", latest)) {
615374
+ writeToStdout(`Update available: ${"0.7.43"} → ${latest}
615375
615375
  `);
615376
615376
  writeToStdout(`
615377
615377
  `);
@@ -615387,8 +615387,8 @@ async function update() {
615387
615387
  writeToStdout(`Cody CLI is managed by apk.
615388
615388
  `);
615389
615389
  const latest = await getLatestVersion(channel);
615390
- if (latest && !gte("0.7.42", latest)) {
615391
- writeToStdout(`Update available: ${"0.7.42"} → ${latest}
615390
+ if (latest && !gte("0.7.43", latest)) {
615391
+ writeToStdout(`Update available: ${"0.7.43"} → ${latest}
615392
615392
  `);
615393
615393
  writeToStdout(`
615394
615394
  `);
@@ -615453,11 +615453,11 @@ async function update() {
615453
615453
  `);
615454
615454
  await gracefulShutdown(1);
615455
615455
  }
615456
- if (result.latestVersion === "0.7.42") {
615457
- writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.42"})`) + `
615456
+ if (result.latestVersion === "0.7.43") {
615457
+ writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.43"})`) + `
615458
615458
  `);
615459
615459
  } else {
615460
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.42"} to version ${result.latestVersion}`) + `
615460
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.43"} to version ${result.latestVersion}`) + `
615461
615461
  `);
615462
615462
  await regenerateCompletionCache();
615463
615463
  }
@@ -615517,12 +615517,12 @@ async function update() {
615517
615517
  `);
615518
615518
  await gracefulShutdown(1);
615519
615519
  }
615520
- if (latestVersion === "0.7.42") {
615521
- writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.42"})`) + `
615520
+ if (latestVersion === "0.7.43") {
615521
+ writeToStdout(source_default.green(`Cody CLI is up to date (${"0.7.43"})`) + `
615522
615522
  `);
615523
615523
  await gracefulShutdown(0);
615524
615524
  }
615525
- writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.42"})
615525
+ writeToStdout(`New version available: ${latestVersion} (current: ${"0.7.43"})
615526
615526
  `);
615527
615527
  writeToStdout(`Installing update...
615528
615528
  `);
@@ -615567,7 +615567,7 @@ async function update() {
615567
615567
  logForDebugging(`update: Installation status: ${status2}`);
615568
615568
  switch (status2) {
615569
615569
  case "success":
615570
- writeToStdout(source_default.green(`Successfully updated from ${"0.7.42"} to version ${latestVersion}`) + `
615570
+ writeToStdout(source_default.green(`Successfully updated from ${"0.7.43"} to version ${latestVersion}`) + `
615571
615571
  `);
615572
615572
  await regenerateCompletionCache();
615573
615573
  break;
@@ -616812,7 +616812,7 @@ ${customInstructions}` : customInstructions;
616812
616812
  }
616813
616813
  }
616814
616814
  logForDiagnosticsNoPII("info", "started", {
616815
- version: "0.7.42",
616815
+ version: "0.7.43",
616816
616816
  is_native_binary: isInBundledMode()
616817
616817
  });
616818
616818
  registerCleanup(async () => {
@@ -617589,7 +617589,7 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
617589
617589
  } else {
617590
617590
  const pendingHookMessages = hooksPromise && hookMessages.length === 0 ? hooksPromise : undefined;
617591
617591
  profileCheckpoint("action_after_hooks");
617592
- console.log(getWelcomeMessage("0.7.42"));
617592
+ console.log(getWelcomeMessage("0.7.43"));
617593
617593
  maybeActivateProactive(options);
617594
617594
  maybeActivateBrief(options);
617595
617595
  if (false) {}
@@ -617606,10 +617606,10 @@ Usage: cody --remote "your task description"`, () => gracefulShutdown(1));
617606
617606
  pendingHookMessages
617607
617607
  }, renderAndRun);
617608
617608
  }
617609
- }).version("0.7.42 (Cody CLI)", "-v, --version", "Output the version number");
617609
+ }).version("0.7.43 (Cody CLI)", "-v, --version", "Output the version number");
617610
617610
  program2.configureOutput({
617611
617611
  writeOut: (str2) => {
617612
- if (str2.includes("0.7.42")) {
617612
+ if (str2.includes("0.7.43")) {
617613
617613
  process.stdout.write(getCodyLogo() + `
617614
617614
  ` + str2);
617615
617615
  } else {
@@ -618139,6 +618139,23 @@ try {
618139
618139
  }
618140
618140
  } catch {}
618141
618141
  process.env.COREPACK_ENABLE_AUTO_PIN = "0";
618142
+ if (!process.env.ANTHROPIC_API_KEY && !process.env.CODY_API_KEY) {
618143
+ try {
618144
+ const _fs = __require("fs");
618145
+ const _os = __require("os");
618146
+ const _path = __require("path");
618147
+ const _credsPath = _path.join(_os.homedir(), ".cody", "credentials.json");
618148
+ if (_fs.existsSync(_credsPath)) {
618149
+ const _creds = JSON.parse(_fs.readFileSync(_credsPath, "utf8"));
618150
+ if (_creds.api_key) {
618151
+ const _expired = _creds.expires_at && new Date(_creds.expires_at) < new Date;
618152
+ if (!_expired) {
618153
+ process.env.ANTHROPIC_API_KEY = _creds.api_key;
618154
+ }
618155
+ }
618156
+ }
618157
+ } catch {}
618158
+ }
618142
618159
  if (process.env.CODY_API_KEY && !process.env.ANTHROPIC_API_KEY) {
618143
618160
  process.env.ANTHROPIC_API_KEY = process.env.CODY_API_KEY;
618144
618161
  }
@@ -618167,7 +618184,7 @@ async function main2() {
618167
618184
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
618168
618185
  const { getCodyLogo: getCodyLogo2 } = await Promise.resolve().then(() => (init_branding(), exports_branding));
618169
618186
  console.log(getCodyLogo2() + `
618170
- 0.7.42 (Cody CLI)`);
618187
+ 0.7.43 (Cody CLI)`);
618171
618188
  return;
618172
618189
  }
618173
618190
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ainative/cody-cli",
3
- "version": "0.7.42",
3
+ "version": "0.7.43",
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",