localclawd 1.1.26 → 1.1.28

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.mjs +197 -199
  2. package/package.json +1 -1
package/dist/cli.mjs CHANGED
@@ -89232,7 +89232,7 @@ var init_isEqual = __esm(() => {
89232
89232
 
89233
89233
  // src/utils/userAgent.ts
89234
89234
  function getClaudeCodeUserAgent() {
89235
- return `claude-code/${"1.1.26"}`;
89235
+ return `claude-code/${"1.1.28"}`;
89236
89236
  }
89237
89237
 
89238
89238
  // src/utils/workloadContext.ts
@@ -89254,7 +89254,7 @@ function getUserAgent() {
89254
89254
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
89255
89255
  const workload = getWorkload();
89256
89256
  const workloadSuffix = workload ? `, workload/${workload}` : "";
89257
- return `claude-cli/${"1.1.26"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89257
+ return `claude-cli/${"1.1.28"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
89258
89258
  }
89259
89259
  function getMCPUserAgent() {
89260
89260
  const parts = [];
@@ -89268,7 +89268,7 @@ function getMCPUserAgent() {
89268
89268
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
89269
89269
  }
89270
89270
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
89271
- return `claude-code/${"1.1.26"}${suffix}`;
89271
+ return `claude-code/${"1.1.28"}${suffix}`;
89272
89272
  }
89273
89273
  function getWebFetchUserAgent() {
89274
89274
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -99177,7 +99177,7 @@ function getAttributionHeader(fingerprint) {
99177
99177
  if (!isAttributionHeaderEnabled()) {
99178
99178
  return "";
99179
99179
  }
99180
- const version = `${"1.1.26"}.${fingerprint}`;
99180
+ const version = `${"1.1.28"}.${fingerprint}`;
99181
99181
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
99182
99182
  const cch = "";
99183
99183
  const workload = getWorkload();
@@ -132724,7 +132724,7 @@ var init_metadata = __esm(() => {
132724
132724
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
132725
132725
  WHITESPACE_REGEX = /\s+/;
132726
132726
  getVersionBase = memoize_default(() => {
132727
- const match = "1.1.26".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132727
+ const match = "1.1.28".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
132728
132728
  return match ? match[0] : undefined;
132729
132729
  });
132730
132730
  buildEnvContext = memoize_default(async () => {
@@ -132764,9 +132764,9 @@ var init_metadata = __esm(() => {
132764
132764
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
132765
132765
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
132766
132766
  isClaudeAiAuth: isClaudeAISubscriber(),
132767
- version: "1.1.26",
132767
+ version: "1.1.28",
132768
132768
  versionBase: getVersionBase(),
132769
- buildTime: "2026-04-12T23:14:27.524Z",
132769
+ buildTime: "2026-04-13T03:34:00.796Z",
132770
132770
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
132771
132771
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
132772
132772
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -147202,7 +147202,7 @@ var init_prompt5 = __esm(() => {
147202
147202
  init_common();
147203
147203
  });
147204
147204
 
147205
- // src/tools/AgentTool/built-in/claudeCodeGuideAgent.ts
147205
+ // src/tools/AgentTool/built-in/guideAgent.ts
147206
147206
  function getClaudeCodeGuideBasePrompt() {
147207
147207
  const localSearchHint = hasEmbeddedSearchTools() ? `${FILE_READ_TOOL_NAME}, \`find\`, and \`grep\`` : `${FILE_READ_TOOL_NAME}, ${GLOB_TOOL_NAME}, and ${GREP_TOOL_NAME}`;
147208
147208
  return `You are the Claude guide agent. Your primary responsibility is helping users understand and use localclawd, the Claude Agent SDK, and the Claude API (formerly the Anthropic API) effectively.
@@ -147270,7 +147270,7 @@ function getFeedbackGuideline() {
147270
147270
  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";
147271
147271
  }
147272
147272
  var CLAUDE_CODE_DOCS_MAP_URL = "https://code.claude.com/docs/en/claude_code_docs_map.md", CDP_DOCS_MAP_URL = "https://platform.claude.com/llms.txt", CLAUDE_CODE_GUIDE_AGENT_TYPE = "claude-code-guide", CLAUDE_CODE_GUIDE_AGENT;
147273
- var init_claudeCodeGuideAgent = __esm(() => {
147273
+ var init_guideAgent = __esm(() => {
147274
147274
  init_prompt2();
147275
147275
  init_prompt();
147276
147276
  init_prompt5();
@@ -147834,7 +147834,7 @@ function getBuiltInAgents() {
147834
147834
  var init_builtInAgents = __esm(() => {
147835
147835
  init_state();
147836
147836
  init_envUtils();
147837
- init_claudeCodeGuideAgent();
147837
+ init_guideAgent();
147838
147838
  init_exploreAgent();
147839
147839
  init_generalPurposeAgent();
147840
147840
  init_planAgent();
@@ -152446,7 +152446,7 @@ var init_fileStateCache = __esm(() => {
152446
152446
  DEFAULT_MAX_CACHE_SIZE_BYTES = 25 * 1024 * 1024;
152447
152447
  });
152448
152448
 
152449
- // src/utils/claudemd.ts
152449
+ // src/utils/instructionsmd.ts
152450
152450
  import {
152451
152451
  basename as basename9,
152452
152452
  dirname as dirname19,
@@ -152862,7 +152862,7 @@ ${memories.join(`
152862
152862
 
152863
152863
  `)}`;
152864
152864
  };
152865
- var init_claudemd = __esm(() => {
152865
+ var init_instructionsmd = __esm(() => {
152866
152866
  init_memoize();
152867
152867
  init_marked_esm();
152868
152868
  init_state();
@@ -153149,7 +153149,7 @@ var init_context2 = __esm(() => {
153149
153149
  init_memoize();
153150
153150
  init_state();
153151
153151
  init_common();
153152
- init_claudemd();
153152
+ init_instructionsmd();
153153
153153
  init_diagLogs();
153154
153154
  init_envUtils();
153155
153155
  init_execFileNoThrow();
@@ -155483,7 +155483,7 @@ var init_toolUseSummaryGenerator = __esm(() => {
155483
155483
  init_errors();
155484
155484
  init_log2();
155485
155485
  init_slowOperations();
155486
- init_claude();
155486
+ init_llm();
155487
155487
  });
155488
155488
 
155489
155489
  // src/utils/objectGroupBy.ts
@@ -197386,7 +197386,7 @@ function getTelemetryAttributes() {
197386
197386
  attributes["session.id"] = sessionId;
197387
197387
  }
197388
197388
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
197389
- attributes["app.version"] = "1.1.26";
197389
+ attributes["app.version"] = "1.1.28";
197390
197390
  }
197391
197391
  const oauthAccount = getOauthAccountInfo();
197392
197392
  if (oauthAccount) {
@@ -200272,7 +200272,7 @@ var init_rateLimitMessages = __esm(() => {
200272
200272
  ];
200273
200273
  });
200274
200274
 
200275
- // src/services/claudeAiLimits.ts
200275
+ // src/services/aiLimits.ts
200276
200276
  function computeTimeProgress(resetsAt, windowSeconds) {
200277
200277
  const nowSeconds = Date.now() / 1000;
200278
200278
  const windowStart = resetsAt - windowSeconds;
@@ -200482,7 +200482,7 @@ function extractQuotaStatusFromError(error5) {
200482
200482
  }
200483
200483
  }
200484
200484
  var EARLY_WARNING_CONFIGS, EARLY_WARNING_CLAIM_MAP, currentLimits, rawUtilization, statusListeners;
200485
- var init_claudeAiLimits = __esm(() => {
200485
+ var init_aiLimits = __esm(() => {
200486
200486
  init_sdk();
200487
200487
  init_isEqual();
200488
200488
  init_state();
@@ -200491,7 +200491,7 @@ var init_claudeAiLimits = __esm(() => {
200491
200491
  init_config();
200492
200492
  init_log2();
200493
200493
  init_model();
200494
- init_claude();
200494
+ init_llm();
200495
200495
  init_client6();
200496
200496
  init_rateLimitMocking();
200497
200497
  init_rateLimitMessages();
@@ -200860,7 +200860,7 @@ var init_promptSuggestion = __esm(() => {
200860
200860
  init_messages3();
200861
200861
  init_settings2();
200862
200862
  init_teammate();
200863
- init_claudeAiLimits();
200863
+ init_aiLimits();
200864
200864
  init_speculation();
200865
200865
  SUGGESTION_PROMPTS = {
200866
200866
  user_intent: SUGGESTION_PROMPT,
@@ -223026,7 +223026,7 @@ var init_oauthPort = __esm(() => {
223026
223026
  REDIRECT_PORT_RANGE = getPlatform() === "windows" ? { min: 39152, max: 49151 } : { min: 49152, max: 65535 };
223027
223027
  });
223028
223028
 
223029
- // src/utils/claudeInChrome/common.ts
223029
+ // src/utils/browserIntegration/common.ts
223030
223030
  import { readdirSync as readdirSync2 } from "fs";
223031
223031
  import { stat as stat17 } from "fs/promises";
223032
223032
  import { homedir as homedir15, platform, tmpdir as tmpdir2, userInfo as userInfo3 } from "os";
@@ -223756,7 +223756,7 @@ var init_mcpPluginIntegration = __esm(() => {
223756
223756
  init_pluginOptionsStorage();
223757
223757
  });
223758
223758
 
223759
- // src/services/mcp/claudeai.ts
223759
+ // src/services/mcp/aiservice.ts
223760
223760
  function clearClaudeAIMcpConfigsCache() {
223761
223761
  fetchClaudeAIMcpConfigsIfEligible.cache.clear?.();
223762
223762
  clearMcpAuthCache();
@@ -223773,7 +223773,7 @@ function hasClaudeAiMcpEverConnected(name) {
223773
223773
  return (getGlobalConfig().claudeAiMcpEverConnected ?? []).includes(name);
223774
223774
  }
223775
223775
  var FETCH_TIMEOUT_MS = 5000, MCP_SERVERS_BETA_HEADER = "mcp-servers-2025-12-04", fetchClaudeAIMcpConfigsIfEligible;
223776
- var init_claudeai = __esm(() => {
223776
+ var init_aiservice = __esm(() => {
223777
223777
  init_axios2();
223778
223778
  init_memoize();
223779
223779
  init_oauth();
@@ -224766,7 +224766,7 @@ var init_config2 = __esm(() => {
224766
224766
  init_settings2();
224767
224767
  init_types3();
224768
224768
  init_slowOperations();
224769
- init_claudeai();
224769
+ init_aiservice();
224770
224770
  init_types2();
224771
224771
  init_utils4();
224772
224772
  CCR_PROXY_PATH_MARKERS = [
@@ -229454,7 +229454,7 @@ function getInstallationEnv() {
229454
229454
  return;
229455
229455
  }
229456
229456
  function getClaudeCodeVersion() {
229457
- return "1.1.26";
229457
+ return "1.1.28";
229458
229458
  }
229459
229459
  async function getInstalledVSCodeExtensionVersion(command) {
229460
229460
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -231056,7 +231056,7 @@ class SdkControlClientTransport {
231056
231056
  }
231057
231057
  }
231058
231058
 
231059
- // src/utils/claudeInChrome/toolRendering.tsx
231059
+ // src/utils/browserIntegration/toolRendering.tsx
231060
231060
  var exports_toolRendering = {};
231061
231061
  __export(exports_toolRendering, {
231062
231062
  renderChromeToolResultMessage: () => renderChromeToolResultMessage,
@@ -235056,7 +235056,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
235056
235056
  const client4 = new Client({
235057
235057
  name: "localclawd",
235058
235058
  title: "localclawd",
235059
- version: "1.1.26",
235059
+ version: "1.1.28",
235060
235060
  description: "local-first AI coding tool",
235061
235061
  websiteUrl: PRODUCT_URL
235062
235062
  }, {
@@ -235149,7 +235149,7 @@ var init_client9 = __esm(() => {
235149
235149
  init_classifyForCollapse();
235150
235150
  init_macOsKeychainHelpers();
235151
235151
  init_auth5();
235152
- init_claudeai();
235152
+ init_aiservice();
235153
235153
  init_config2();
235154
235154
  init_headersHelper();
235155
235155
  init_common2();
@@ -235409,7 +235409,7 @@ var init_client9 = __esm(() => {
235409
235409
  const client4 = new Client({
235410
235410
  name: "localclawd",
235411
235411
  title: "localclawd",
235412
- version: "1.1.26",
235412
+ version: "1.1.28",
235413
235413
  description: "local-first AI coding tool",
235414
235414
  websiteUrl: PRODUCT_URL
235415
235415
  }, {
@@ -237019,7 +237019,7 @@ import { z as z24 } from "zod/v4";
237019
237019
  var yoloClassifierResponseSchema;
237020
237020
  var init_yoloClassifier = __esm(() => {
237021
237021
  init_state();
237022
- init_claude();
237022
+ init_llm();
237023
237023
  init_errors3();
237024
237024
  init_withRetry();
237025
237025
  init_debug();
@@ -239231,7 +239231,7 @@ var init_extra_usage2 = __esm(() => {
239231
239231
  };
239232
239232
  });
239233
239233
 
239234
- // src/services/claudeAiLimitsHook.ts
239234
+ // src/services/aiLimitsHook.ts
239235
239235
  function useClaudeAiLimits() {
239236
239236
  const [limits, setLimits] = import_react42.useState({ ...currentLimits });
239237
239237
  import_react42.useEffect(() => {
@@ -239246,8 +239246,8 @@ function useClaudeAiLimits() {
239246
239246
  return limits;
239247
239247
  }
239248
239248
  var import_react42;
239249
- var init_claudeAiLimitsHook = __esm(() => {
239250
- init_claudeAiLimits();
239249
+ var init_aiLimitsHook = __esm(() => {
239250
+ init_aiLimits();
239251
239251
  import_react42 = __toESM(require_react(), 1);
239252
239252
  });
239253
239253
 
@@ -239411,7 +239411,7 @@ var import_react43, jsx_dev_runtime49;
239411
239411
  var init_RateLimitMessage = __esm(() => {
239412
239412
  init_extra_usage2();
239413
239413
  init_ink2();
239414
- init_claudeAiLimitsHook();
239414
+ init_aiLimitsHook();
239415
239415
  init_rateLimitMocking();
239416
239416
  init_auth2();
239417
239417
  init_billing();
@@ -258464,7 +258464,7 @@ var init_user = __esm(() => {
258464
258464
  deviceId,
258465
258465
  sessionId: getSessionId(),
258466
258466
  email: getEmail(),
258467
- appVersion: "1.1.26",
258467
+ appVersion: "1.1.28",
258468
258468
  platform: getHostPlatformForAnalytics(),
258469
258469
  organizationUuid,
258470
258470
  accountUuid,
@@ -259788,7 +259788,7 @@ async function initializeBetaTracing(resource) {
259788
259788
  });
259789
259789
  logs.setGlobalLoggerProvider(loggerProvider);
259790
259790
  setLoggerProvider(loggerProvider);
259791
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.26");
259791
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.28");
259792
259792
  setEventLogger(eventLogger);
259793
259793
  process.on("beforeExit", async () => {
259794
259794
  await loggerProvider?.forceFlush();
@@ -259828,7 +259828,7 @@ async function initializeTelemetry() {
259828
259828
  const platform3 = getPlatform();
259829
259829
  const baseAttributes = {
259830
259830
  [ATTR_SERVICE_NAME5]: "claude-code",
259831
- [ATTR_SERVICE_VERSION5]: "1.1.26"
259831
+ [ATTR_SERVICE_VERSION5]: "1.1.28"
259832
259832
  };
259833
259833
  if (platform3 === "wsl") {
259834
259834
  const wslVersion = getWslVersion();
@@ -259873,7 +259873,7 @@ async function initializeTelemetry() {
259873
259873
  } catch {}
259874
259874
  };
259875
259875
  registerCleanup(shutdownTelemetry2);
259876
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.26");
259876
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.28");
259877
259877
  }
259878
259878
  const meterProvider = new MeterProvider5({
259879
259879
  resource,
@@ -259893,7 +259893,7 @@ async function initializeTelemetry() {
259893
259893
  });
259894
259894
  logs.setGlobalLoggerProvider(loggerProvider);
259895
259895
  setLoggerProvider(loggerProvider);
259896
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.26");
259896
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.28");
259897
259897
  setEventLogger(eventLogger);
259898
259898
  logForDebugging("[3P telemetry] Event logger set successfully");
259899
259899
  process.on("beforeExit", async () => {
@@ -259955,7 +259955,7 @@ Current timeout: ${timeoutMs}ms
259955
259955
  }
259956
259956
  };
259957
259957
  registerCleanup(shutdownTelemetry);
259958
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.26");
259958
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.1.28");
259959
259959
  }
259960
259960
  async function flushTelemetry() {
259961
259961
  const meterProvider = getMeterProvider();
@@ -261178,7 +261178,7 @@ function detectLinuxGlobPatternWarnings() {
261178
261178
  }
261179
261179
  async function getDoctorDiagnostic() {
261180
261180
  const installationType = await getCurrentInstallationType();
261181
- const version = typeof MACRO !== "undefined" ? "1.1.26" : "unknown";
261181
+ const version = typeof MACRO !== "undefined" ? "1.1.28" : "unknown";
261182
261182
  const installationPath = await getInstallationPath();
261183
261183
  const invokedBinary = getInvokedBinary();
261184
261184
  const multipleInstallations = await detectMultipleInstallations();
@@ -262119,8 +262119,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262119
262119
  const maxVersion = await getMaxVersion();
262120
262120
  if (maxVersion && gt(version, maxVersion)) {
262121
262121
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
262122
- if (gte("1.1.26", maxVersion)) {
262123
- logForDebugging(`Native installer: current version ${"1.1.26"} is already at or above maxVersion ${maxVersion}, skipping update`);
262122
+ if (gte("1.1.28", maxVersion)) {
262123
+ logForDebugging(`Native installer: current version ${"1.1.28"} is already at or above maxVersion ${maxVersion}, skipping update`);
262124
262124
  logEvent("tengu_native_update_skipped_max_version", {
262125
262125
  latency_ms: Date.now() - startTime,
262126
262126
  max_version: maxVersion,
@@ -262131,7 +262131,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
262131
262131
  version = maxVersion;
262132
262132
  }
262133
262133
  }
262134
- if (!forceReinstall && version === "1.1.26" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262134
+ if (!forceReinstall && version === "1.1.28" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
262135
262135
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
262136
262136
  logEvent("tengu_native_update_complete", {
262137
262137
  latency_ms: Date.now() - startTime,
@@ -263287,7 +263287,7 @@ var init_status = __esm(() => {
263287
263287
  init_figures2();
263288
263288
  init_ink2();
263289
263289
  init_auth2();
263290
- init_claudemd();
263290
+ init_instructionsmd();
263291
263291
  init_doctorDiagnostic();
263292
263292
  init_envUtils();
263293
263293
  init_file();
@@ -269749,7 +269749,7 @@ function SpinnerWithVerbInner({
269749
269749
  const tipsEnabled = settings.spinnerTipsEnabled !== false;
269750
269750
  const showClearTip = tipsEnabled && elapsedSnapshot > 1800000;
269751
269751
  const showBtwTip = tipsEnabled && elapsedSnapshot > 30000 && !getGlobalConfig().btwUseCount;
269752
- const effectiveTip = contextTipsActive ? undefined : showClearTip && !nextTask ? "Use /clear to start fresh when switching topics and free up context" : showBtwTip && !nextTask ? "Use /btw to ask a quick side question without interrupting Claude's current work" : spinnerTip;
269752
+ const effectiveTip = contextTipsActive ? undefined : showClearTip && !nextTask ? "Use /clear to start fresh when switching topics and free up context" : showBtwTip && !nextTask ? "Use /btw to ask a quick side question without interrupting localclawd's current work" : spinnerTip;
269753
269753
  let budgetText = null;
269754
269754
  if (false) {}
269755
269755
  return /* @__PURE__ */ jsx_dev_runtime112.jsxDEV(ThemedBox_default, {
@@ -275352,7 +275352,7 @@ var init_teleport = __esm(() => {
275352
275352
  init_TeleportError();
275353
275353
  init_oauth();
275354
275354
  init_KeybindingProviderSetup();
275355
- init_claude();
275355
+ init_llm();
275356
275356
  init_sessionIngress();
275357
275357
  init_client2();
275358
275358
  init_AppState();
@@ -281299,7 +281299,7 @@ var init_argumentSubstitution = __esm(() => {
281299
281299
  init_shellQuote();
281300
281300
  });
281301
281301
 
281302
- // src/utils/claudeCodeHints.ts
281302
+ // src/utils/appHints.ts
281303
281303
  function extractClaudeCodeHints(output, command) {
281304
281304
  if (!output.includes("<claude-code-hint")) {
281305
281305
  return { hints: [], stripped: output };
@@ -281365,7 +281365,7 @@ function hasShownHintThisSession() {
281365
281365
  return shownThisSession;
281366
281366
  }
281367
281367
  var SUPPORTED_VERSIONS, SUPPORTED_TYPES, HINT_TAG_RE, ATTR_RE, pendingHint = null, shownThisSession = false, pendingHintChanged, notify, subscribeToPendingHint;
281368
- var init_claudeCodeHints = __esm(() => {
281368
+ var init_appHints = __esm(() => {
281369
281369
  init_debug();
281370
281370
  SUPPORTED_VERSIONS = new Set([1]);
281371
281371
  SUPPORTED_TYPES = new Set(["plugin"]);
@@ -281461,7 +281461,7 @@ function disableHintRecommendations() {
281461
281461
  }
281462
281462
  var MAX_SHOWN_PLUGINS = 100, triedThisSession;
281463
281463
  var init_hintRecommendation = __esm(() => {
281464
- init_claudeCodeHints();
281464
+ init_appHints();
281465
281465
  init_config();
281466
281466
  init_debug();
281467
281467
  init_installedPluginsManager();
@@ -289710,7 +289710,7 @@ var init_PowerShellTool = __esm(() => {
289710
289710
  init_toolLimits();
289711
289711
  init_Tool();
289712
289712
  init_LocalShellTask();
289713
- init_claudeCodeHints();
289713
+ init_appHints();
289714
289714
  init_envUtils();
289715
289715
  init_errors();
289716
289716
  init_format();
@@ -313531,7 +313531,7 @@ var DomainBlockedError, DomainCheckFailedError, EgressBlockedError, CACHE_TTL_MS
313531
313531
  var init_utils10 = __esm(() => {
313532
313532
  init_axios2();
313533
313533
  init_index_min();
313534
- init_claude();
313534
+ init_llm();
313535
313535
  init_errors();
313536
313536
  init_http2();
313537
313537
  init_log2();
@@ -315446,7 +315446,7 @@ function makeOutputFromSearchResponse(result, query2, durationSeconds) {
315446
315446
  var inputSchema21, searchResultSchema, outputSchema17, WebSearchTool;
315447
315447
  var init_WebSearchTool = __esm(() => {
315448
315448
  init_providers();
315449
- init_claude();
315449
+ init_llm();
315450
315450
  init_Tool();
315451
315451
  init_log2();
315452
315452
  init_messages3();
@@ -318474,7 +318474,7 @@ var init_EnterWorktreeTool = __esm(() => {
318474
318474
  init_state();
318475
318475
  init_systemPromptSections();
318476
318476
  init_Tool();
318477
- init_claudemd();
318477
+ init_instructionsmd();
318478
318478
  init_cwd();
318479
318479
  init_git();
318480
318480
  init_plans();
@@ -318683,7 +318683,7 @@ var init_ExitWorktreeTool = __esm(() => {
318683
318683
  init_state();
318684
318684
  init_systemPromptSections();
318685
318685
  init_Tool();
318686
- init_claudemd();
318686
+ init_instructionsmd();
318687
318687
  init_execFileNoThrow();
318688
318688
  init_hooksConfigSnapshot();
318689
318689
  init_plans();
@@ -327602,7 +327602,7 @@ var init_BashTool = __esm(() => {
327602
327602
  init_LocalShellTask();
327603
327603
  init_ast();
327604
327604
  init_commands();
327605
- init_claudeCodeHints();
327605
+ init_appHints();
327606
327606
  init_codeIndexing();
327607
327607
  init_envUtils();
327608
327608
  init_errors();
@@ -332695,7 +332695,7 @@ function productionDeps() {
332695
332695
  };
332696
332696
  }
332697
332697
  var init_deps = __esm(() => {
332698
- init_claude();
332698
+ init_llm();
332699
332699
  init_autoCompact();
332700
332700
  init_microCompact();
332701
332701
  });
@@ -333549,7 +333549,7 @@ function getAnthropicEnvMetadata() {
333549
333549
  function getBuildAgeMinutes() {
333550
333550
  if (false)
333551
333551
  ;
333552
- const buildTime = new Date("2026-04-12T23:14:27.524Z").getTime();
333552
+ const buildTime = new Date("2026-04-13T03:34:00.796Z").getTime();
333553
333553
  if (isNaN(buildTime))
333554
333554
  return;
333555
333555
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -334209,7 +334209,7 @@ function logForkAgentQueryEvent({
334209
334209
  var lastCacheSafeParams = null;
334210
334210
  var init_forkedAgent = __esm(() => {
334211
334211
  init_query2();
334212
- init_claude();
334212
+ init_llm();
334213
334213
  init_logging();
334214
334214
  init_abortController();
334215
334215
  init_debug();
@@ -335496,7 +335496,7 @@ var init_compact = __esm(() => {
335496
335496
  init_diskOutput();
335497
335497
  init_tokens();
335498
335498
  init_toolSearch();
335499
- init_claude();
335499
+ init_llm();
335500
335500
  init_errors3();
335501
335501
  init_promptCacheBreakDetection();
335502
335502
  init_withRetry();
@@ -335526,7 +335526,7 @@ var init_postCompactCleanup = __esm(() => {
335526
335526
  init_context2();
335527
335527
  init_bashPermissions();
335528
335528
  init_classifierApprovals();
335529
- init_claudemd();
335529
+ init_instructionsmd();
335530
335530
  init_sessionStorage();
335531
335531
  init_betaSessionTracing();
335532
335532
  init_microCompact();
@@ -336185,7 +336185,7 @@ var init_autoCompact = __esm(() => {
336185
336185
  init_errors();
336186
336186
  init_log2();
336187
336187
  init_tokens();
336188
- init_claude();
336188
+ init_llm();
336189
336189
  init_promptCacheBreakDetection();
336190
336190
  init_sessionMemoryUtils();
336191
336191
  init_compact();
@@ -336853,7 +336853,7 @@ var init_analyzeContext = __esm(() => {
336853
336853
  init_Tool();
336854
336854
  init_prompt6();
336855
336855
  init_api2();
336856
- init_claudemd();
336856
+ init_instructionsmd();
336857
336857
  init_context();
336858
336858
  init_cwd();
336859
336859
  init_debug();
@@ -337703,7 +337703,7 @@ var init_tokenEstimation = __esm(() => {
337703
337703
  init_model();
337704
337704
  init_slowOperations();
337705
337705
  init_toolSearch();
337706
- init_claude();
337706
+ init_llm();
337707
337707
  init_client6();
337708
337708
  init_vcr();
337709
337709
  });
@@ -338965,7 +338965,7 @@ var init_mcpInstructionsDelta = __esm(() => {
338965
338965
  init_envUtils();
338966
338966
  });
338967
338967
 
338968
- // src/utils/claudeInChrome/prompt.ts
338968
+ // src/utils/browserIntegration/prompt.ts
338969
338969
  function getChromeSystemPrompt() {
338970
338970
  return BASE_CHROME_PROMPT;
338971
338971
  }
@@ -341213,7 +341213,7 @@ var init_attachments2 = __esm(() => {
341213
341213
  init_tasks();
341214
341214
  init_plans();
341215
341215
  init_ide();
341216
- init_claudemd();
341216
+ init_instructionsmd();
341217
341217
  init_cwd();
341218
341218
  init_selectors();
341219
341219
  init_log2();
@@ -350213,7 +350213,7 @@ var init_errors3 = __esm(() => {
350213
350213
  init_format();
350214
350214
  init_imageResizer();
350215
350215
  init_imageValidation();
350216
- init_claudeAiLimits();
350216
+ init_aiLimits();
350217
350217
  init_rateLimitMocking();
350218
350218
  init_errorUtils();
350219
350219
  });
@@ -350378,7 +350378,7 @@ async function getCommandSubcommandPrefixImpl(command, abortSignal, isNonInterac
350378
350378
  var DANGEROUS_SHELL_PREFIXES;
350379
350379
  var init_prefix = __esm(() => {
350380
350380
  init_source();
350381
- init_claude();
350381
+ init_llm();
350382
350382
  init_errors3();
350383
350383
  init_memoize2();
350384
350384
  init_slowOperations();
@@ -357536,7 +357536,7 @@ function Feedback({
357536
357536
  platform: env4.platform,
357537
357537
  gitRepo: envInfo.isGit,
357538
357538
  terminal: env4.terminal,
357539
- version: "1.1.26",
357539
+ version: "1.1.28",
357540
357540
  transcript: normalizeMessagesForAPI(messages),
357541
357541
  errors: sanitizedErrors,
357542
357542
  lastApiRequest: getLastAPIRequest(),
@@ -357728,7 +357728,7 @@ function Feedback({
357728
357728
  ", ",
357729
357729
  env4.terminal,
357730
357730
  ", v",
357731
- "1.1.26"
357731
+ "1.1.28"
357732
357732
  ]
357733
357733
  }, undefined, true, undefined, this)
357734
357734
  ]
@@ -357834,7 +357834,7 @@ ${sanitizedDescription}
357834
357834
  ` + `**Environment Info**
357835
357835
  ` + `- Platform: ${env4.platform}
357836
357836
  ` + `- Terminal: ${env4.terminal}
357837
- ` + `- Version: ${"1.1.26"}
357837
+ ` + `- Version: ${"1.1.28"}
357838
357838
  ` + `- Feedback ID: ${feedbackId}
357839
357839
  ` + `
357840
357840
  **Errors**
@@ -358006,7 +358006,7 @@ var init_Feedback = __esm(() => {
358006
358006
  init_useTerminalSize();
358007
358007
  init_ink2();
358008
358008
  init_useKeybinding();
358009
- init_claude();
358009
+ init_llm();
358010
358010
  init_errors3();
358011
358011
  init_auth2();
358012
358012
  init_browser();
@@ -359038,7 +359038,7 @@ var init_caches = __esm(() => {
359038
359038
  init_loadSkillsDir();
359039
359039
  init_attachments2();
359040
359040
  init_commands();
359041
- init_claudemd();
359041
+ init_instructionsmd();
359042
359042
  init_detectRepository();
359043
359043
  init_gitFilesystem();
359044
359044
  init_imageStore();
@@ -360947,7 +360947,7 @@ function buildPrimarySection() {
360947
360947
  }, undefined, false, undefined, this);
360948
360948
  return [{
360949
360949
  label: "Version",
360950
- value: "1.1.26"
360950
+ value: "1.1.28"
360951
360951
  }, {
360952
360952
  label: "Session name",
360953
360953
  value: nameValue
@@ -363127,9 +363127,9 @@ var init_extraUsage = __esm(() => {
363127
363127
  init_context();
363128
363128
  });
363129
363129
 
363130
- // src/components/ClaudeMdExternalIncludesDialog.tsx
363131
- var exports_ClaudeMdExternalIncludesDialog = {};
363132
- __export(exports_ClaudeMdExternalIncludesDialog, {
363130
+ // src/components/InstructionsMdExternalIncludesDialog.tsx
363131
+ var exports_InstructionsMdExternalIncludesDialog = {};
363132
+ __export(exports_InstructionsMdExternalIncludesDialog, {
363133
363133
  ClaudeMdExternalIncludesDialog: () => ClaudeMdExternalIncludesDialog
363134
363134
  });
363135
363135
  function ClaudeMdExternalIncludesDialog(t0) {
@@ -363298,7 +363298,7 @@ function _temp65() {
363298
363298
  logEvent("tengu_claude_md_includes_dialog_shown", {});
363299
363299
  }
363300
363300
  var import_react101, jsx_dev_runtime174;
363301
- var init_ClaudeMdExternalIncludesDialog = __esm(() => {
363301
+ var init_InstructionsMdExternalIncludesDialog = __esm(() => {
363302
363302
  init_ink2();
363303
363303
  init_config();
363304
363304
  init_CustomSelect();
@@ -365565,7 +365565,7 @@ function Config({
365565
365565
  }
365566
365566
  }, undefined, false, undefined, this)
365567
365567
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
365568
- currentVersion: "1.1.26",
365568
+ currentVersion: "1.1.28",
365569
365569
  onChoice: (choice) => {
365570
365570
  setShowSubmenu(null);
365571
365571
  setTabsHidden(false);
@@ -365577,7 +365577,7 @@ function Config({
365577
365577
  autoUpdatesChannel: "stable"
365578
365578
  };
365579
365579
  if (choice === "stay") {
365580
- newSettings.minimumVersion = "1.1.26";
365580
+ newSettings.minimumVersion = "1.1.28";
365581
365581
  }
365582
365582
  updateSettingsForSource("userSettings", newSettings);
365583
365583
  setSettingsData((prev_27) => ({
@@ -365909,13 +365909,13 @@ var init_Config = __esm(() => {
365909
365909
  init_model();
365910
365910
  init_LocalBackendSetup();
365911
365911
  init_extraUsage();
365912
- init_ClaudeMdExternalIncludesDialog();
365912
+ init_InstructionsMdExternalIncludesDialog();
365913
365913
  init_ChannelDowngradeDialog();
365914
365914
  init_Dialog();
365915
365915
  init_CustomSelect();
365916
365916
  init_OutputStylePicker();
365917
365917
  init_LanguagePicker();
365918
- init_claudemd();
365918
+ init_instructionsmd();
365919
365919
  init_KeyboardShortcutHint();
365920
365920
  init_ConfigurableShortcutHint();
365921
365921
  init_Byline();
@@ -370189,7 +370189,7 @@ var MCP_TOOLS_THRESHOLD = 25000;
370189
370189
  var init_doctorContextWarnings = __esm(() => {
370190
370190
  init_tokenEstimation();
370191
370191
  init_analyzeContext();
370192
- init_claudemd();
370192
+ init_instructionsmd();
370193
370193
  init_model();
370194
370194
  init_permissionRuleParser();
370195
370195
  init_shadowedRuleDetection();
@@ -373261,7 +373261,7 @@ var init_MemoryFileSelector = __esm(() => {
373261
373261
  init_AppState();
373262
373262
  init_agentMemory();
373263
373263
  init_browser();
373264
- init_claudemd();
373264
+ init_instructionsmd();
373265
373265
  init_envUtils();
373266
373266
  init_file();
373267
373267
  init_format();
@@ -373614,7 +373614,7 @@ var init_memory = __esm(() => {
373614
373614
  init_MemoryFileSelector();
373615
373615
  init_MemoryUpdateNotification();
373616
373616
  init_ink2();
373617
- init_claudemd();
373617
+ init_instructionsmd();
373618
373618
  init_envUtils();
373619
373619
  init_errors();
373620
373620
  init_log2();
@@ -374458,7 +374458,7 @@ function Help(t0) {
374458
374458
  let t6;
374459
374459
  if ($2[31] !== tabs) {
374460
374460
  t6 = /* @__PURE__ */ jsx_dev_runtime211.jsxDEV(Tabs, {
374461
- title: `localclawd v${"1.1.26"}`,
374461
+ title: `localclawd v${"1.1.28"}`,
374462
374462
  color: "professionalBlue",
374463
374463
  defaultTab: "general",
374464
374464
  children: tabs
@@ -380981,7 +380981,7 @@ var init_useManageMCPConnections = __esm(() => {
380981
380981
  init_messageQueueManager();
380982
380982
  init_channelNotification();
380983
380983
  init_channelPermissions();
380984
- init_claudeai();
380984
+ init_aiservice();
380985
380985
  init_elicitationHandler();
380986
380986
  init_mcpStringUtils();
380987
380987
  init_utils4();
@@ -398616,7 +398616,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
398616
398616
  return [];
398617
398617
  }
398618
398618
  }
398619
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.26") {
398619
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.28") {
398620
398620
  if (process.env.USER_TYPE === "ant") {
398621
398621
  const changelog = MACRO.VERSION_CHANGELOG;
398622
398622
  if (changelog) {
@@ -398643,7 +398643,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.26")
398643
398643
  releaseNotes
398644
398644
  };
398645
398645
  }
398646
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.26") {
398646
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.28") {
398647
398647
  if (process.env.USER_TYPE === "ant") {
398648
398648
  const changelog = MACRO.VERSION_CHANGELOG;
398649
398649
  if (changelog) {
@@ -398830,7 +398830,7 @@ Bad (too long): {"title": "Investigate and fix the issue where the login button
398830
398830
  Bad (wrong case): {"title": "Fix Login Button On Mobile"}`, titleSchema;
398831
398831
  var init_sessionTitle = __esm(() => {
398832
398832
  init_state();
398833
- init_claude();
398833
+ init_llm();
398834
398834
  init_debug();
398835
398835
  init_json();
398836
398836
  init_messages3();
@@ -398883,7 +398883,7 @@ async function generateSessionName(messages, signal) {
398883
398883
  }
398884
398884
  }
398885
398885
  var init_generateSessionName = __esm(() => {
398886
- init_claude();
398886
+ init_llm();
398887
398887
  init_debug();
398888
398888
  init_errors();
398889
398889
  init_json();
@@ -399825,7 +399825,7 @@ function getRecentActivitySync() {
399825
399825
  return cachedActivity;
399826
399826
  }
399827
399827
  function getLogoDisplayData() {
399828
- const version = process.env.DEMO_VERSION ?? "1.1.26";
399828
+ const version = process.env.DEMO_VERSION ?? "1.1.28";
399829
399829
  const serverUrl = getDirectConnectServerUrl();
399830
399830
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
399831
399831
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -399909,19 +399909,17 @@ function Clawd({ pose: _pose = "default" }) {
399909
399909
  }, index, false, undefined, this))
399910
399910
  }, undefined, false, undefined, this);
399911
399911
  }
399912
- var jsx_dev_runtime252, CLAWD_HEIGHT = 5, ROWS, ROW_COLORS;
399912
+ var jsx_dev_runtime252, CLAWD_HEIGHT = 4, ROWS, ROW_COLORS;
399913
399913
  var init_Clawd = __esm(() => {
399914
399914
  init_ink2();
399915
399915
  jsx_dev_runtime252 = __toESM(require_jsx_dev_runtime(), 1);
399916
399916
  ROWS = [
399917
- "▖▖ ▗▗",
399918
- "▗▟█████▙▖",
399917
+ "▗▟█████▙▗",
399919
399918
  " ▐▛███▜▌ ",
399920
399919
  "▝▜█████▛▘",
399921
- "▘▘ ▝▝"
399920
+ " ▄▄ ▄▄ "
399922
399921
  ];
399923
399922
  ROW_COLORS = [
399924
- "#818cf8",
399925
399923
  "#6366f1",
399926
399924
  "#6366f1",
399927
399925
  "#6366f1",
@@ -400932,7 +400930,7 @@ function Logo() {
400932
400930
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
400933
400931
  t2 = () => {
400934
400932
  const currentConfig = getGlobalConfig();
400935
- if (currentConfig.lastReleaseNotesSeen === "1.1.26") {
400933
+ if (currentConfig.lastReleaseNotesSeen === "1.1.28") {
400936
400934
  return;
400937
400935
  }
400938
400936
  saveGlobalConfig(_temp327);
@@ -401591,12 +401589,12 @@ function Logo() {
401591
401589
  return t41;
401592
401590
  }
401593
401591
  function _temp327(current) {
401594
- if (current.lastReleaseNotesSeen === "1.1.26") {
401592
+ if (current.lastReleaseNotesSeen === "1.1.28") {
401595
401593
  return current;
401596
401594
  }
401597
401595
  return {
401598
401596
  ...current,
401599
- lastReleaseNotesSeen: "1.1.26"
401597
+ lastReleaseNotesSeen: "1.1.28"
401600
401598
  };
401601
401599
  }
401602
401600
  function _temp243(s_0) {
@@ -402159,7 +402157,7 @@ function getActiveNotices(context8) {
402159
402157
  var jsx_dev_runtime266, largeMemoryFilesNotice, claudeAiSubscriberExternalTokenNotice, apiKeyConflictNotice, bothAuthMethodsNotice, largeAgentDescriptionsNotice, jetbrainsPluginNotice, statusNoticeDefinitions;
402160
402158
  var init_statusNoticeDefinitions = __esm(() => {
402161
402159
  init_ink2();
402162
- init_claudemd();
402160
+ init_instructionsmd();
402163
402161
  init_figures2();
402164
402162
  init_cwd();
402165
402163
  init_format();
@@ -402483,7 +402481,7 @@ function StatusNotices(t0) {
402483
402481
  var React89, import_react148, jsx_dev_runtime267;
402484
402482
  var init_StatusNotices = __esm(() => {
402485
402483
  init_ink2();
402486
- init_claudemd();
402484
+ init_instructionsmd();
402487
402485
  init_config();
402488
402486
  init_statusNoticeDefinitions();
402489
402487
  React89 = __toESM(require_react(), 1);
@@ -425335,7 +425333,7 @@ var AGENT_CREATION_SYSTEM_PROMPT, AGENT_MEMORY_INSTRUCTIONS = `
425335
425333
  `;
425336
425334
  var init_generateAgent = __esm(() => {
425337
425335
  init_context2();
425338
- init_claude();
425336
+ init_llm();
425339
425337
  init_Tool();
425340
425338
  init_constants3();
425341
425339
  init_api2();
@@ -427552,7 +427550,7 @@ var init_settingsSync = __esm(() => {
427552
427550
  init_state();
427553
427551
  init_oauth();
427554
427552
  init_auth2();
427555
- init_claudemd();
427553
+ init_instructionsmd();
427556
427554
  init_config();
427557
427555
  init_diagLogs();
427558
427556
  init_errors();
@@ -427834,7 +427832,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
427834
427832
  smapsRollup,
427835
427833
  platform: process.platform,
427836
427834
  nodeVersion: process.version,
427837
- ccVersion: "1.1.26"
427835
+ ccVersion: "1.1.28"
427838
427836
  };
427839
427837
  }
427840
427838
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -428419,7 +428417,7 @@ var init_bridge_kick = __esm(() => {
428419
428417
  var call63 = async () => {
428420
428418
  return {
428421
428419
  type: "text",
428422
- value: `${"1.1.26"} (built ${"2026-04-12T23:14:27.524Z"})`
428420
+ value: `${"1.1.28"} (built ${"2026-04-13T03:34:00.796Z"})`
428423
428421
  };
428424
428422
  }, version, version_default;
428425
428423
  var init_version = __esm(() => {
@@ -429692,7 +429690,7 @@ var init_sandbox_toggle2 = __esm(() => {
429692
429690
  sandbox_toggle_default = command6;
429693
429691
  });
429694
429692
 
429695
- // src/utils/claudeInChrome/setupPortable.ts
429693
+ // src/utils/browserIntegration/setupPortable.ts
429696
429694
  import { readdir as readdir25 } from "fs/promises";
429697
429695
  import { join as join119 } from "path";
429698
429696
  function getExtensionIds() {
@@ -429742,7 +429740,7 @@ var init_setupPortable = __esm(() => {
429742
429740
  init_errors();
429743
429741
  });
429744
429742
 
429745
- // src/utils/claudeInChrome/setup.ts
429743
+ // src/utils/browserIntegration/setup.ts
429746
429744
  import { chmod as chmod10, mkdir as mkdir33, readFile as readFile44, writeFile as writeFile36 } from "fs/promises";
429747
429745
  import { homedir as homedir30 } from "os";
429748
429746
  import { join as join120 } from "path";
@@ -432802,7 +432800,7 @@ var import_react189, jsx_dev_runtime361;
432802
432800
  var init_rate_limit_options = __esm(() => {
432803
432801
  init_select();
432804
432802
  init_Dialog();
432805
- init_claudeAiLimitsHook();
432803
+ init_aiLimitsHook();
432806
432804
  init_auth2();
432807
432805
  init_billing();
432808
432806
  init_extra_usage();
@@ -437373,7 +437371,7 @@ function generateHtmlReport(data, insights) {
437373
437371
  </html>`;
437374
437372
  }
437375
437373
  function buildExportData(data, insights, facets, remoteStats) {
437376
- const version2 = typeof MACRO !== "undefined" ? "1.1.26" : "unknown";
437374
+ const version2 = typeof MACRO !== "undefined" ? "1.1.28" : "unknown";
437377
437375
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
437378
437376
  const facets_summary = {
437379
437377
  total: facets.size,
@@ -437648,7 +437646,7 @@ TRANSCRIPT CHUNK:
437648
437646
  `, INSIGHT_SECTIONS, SATISFACTION_ORDER, OUTCOME_ORDER, usageReport, insights_default;
437649
437647
  var init_insights = __esm(() => {
437650
437648
  init_libesm();
437651
- init_claude();
437649
+ init_llm();
437652
437650
  init_constants3();
437653
437651
  init_envUtils();
437654
437652
  init_errors();
@@ -441538,7 +441536,7 @@ var init_sessionStorage = __esm(() => {
441538
441536
  init_settings2();
441539
441537
  init_slowOperations();
441540
441538
  init_uuid();
441541
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.26" : "unknown";
441539
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.28" : "unknown";
441542
441540
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
441543
441541
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
441544
441542
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -442740,7 +442738,7 @@ var init_filesystem = __esm(() => {
442740
442738
  });
442741
442739
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
442742
442740
  const nonce = randomBytes19(16).toString("hex");
442743
- return join130(getClaudeTempDir(), "bundled-skills", "1.1.26", nonce);
442741
+ return join130(getClaudeTempDir(), "bundled-skills", "1.1.28", nonce);
442744
442742
  });
442745
442743
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
442746
442744
  });
@@ -443630,7 +443628,7 @@ Your response must be a JSON object matching one of the following schemas:
443630
443628
  }
443631
443629
  }
443632
443630
  var init_execPromptHook = __esm(() => {
443633
- init_claude();
443631
+ init_llm();
443634
443632
  init_attachments2();
443635
443633
  init_combinedAbortSignal();
443636
443634
  init_debug();
@@ -448750,7 +448748,7 @@ function computeFingerprint(messageText, version2) {
448750
448748
  }
448751
448749
  function computeFingerprintFromMessages(messages) {
448752
448750
  const firstMessageText = extractFirstMessageText(messages);
448753
- return computeFingerprint(firstMessageText, "1.1.26");
448751
+ return computeFingerprint(firstMessageText, "1.1.28");
448754
448752
  }
448755
448753
  var FINGERPRINT_SALT = "59cf53e54c78";
448756
448754
  var init_fingerprint = () => {};
@@ -448857,7 +448855,7 @@ function insertBlockAfterToolResults(content, block) {
448857
448855
  }
448858
448856
  }
448859
448857
 
448860
- // src/services/api/claude.ts
448858
+ // src/services/api/llm.ts
448861
448859
  import { randomUUID as randomUUID30 } from "crypto";
448862
448860
  function getExtraBodyParams(betaHeaders) {
448863
448861
  const extraBodyStr = process.env.CLAUDE_CODE_EXTRA_BODY;
@@ -449666,8 +449664,8 @@ ${deferredToolList}
449666
449664
  usage = EMPTY_USAGE;
449667
449665
  stopReason = null;
449668
449666
  isAdvisorInProgress = false;
449669
- const streamWatchdogEnabled = isEnvTruthy(process.env.CLAUDE_ENABLE_STREAM_WATCHDOG);
449670
- const STREAM_IDLE_TIMEOUT_MS = parseInt(process.env.CLAUDE_STREAM_IDLE_TIMEOUT_MS || "", 10) || 90000;
449667
+ const streamWatchdogEnabled = isEnvTruthy(process.env.CLAUDE_ENABLE_STREAM_WATCHDOG) || getAPIProvider() === "local";
449668
+ const STREAM_IDLE_TIMEOUT_MS = parseInt(process.env.CLAUDE_STREAM_IDLE_TIMEOUT_MS || "", 10) || (getAPIProvider() === "local" ? 300000 : 90000);
449671
449669
  const STREAM_IDLE_WARNING_MS = STREAM_IDLE_TIMEOUT_MS / 2;
449672
449670
  let streamIdleAborted = false;
449673
449671
  let streamWatchdogFiredAt = null;
@@ -450507,7 +450505,7 @@ function getMaxOutputTokensForModel(model) {
450507
450505
  return result.effective;
450508
450506
  }
450509
450507
  var MAX_NON_STREAMING_TOKENS = 64000;
450510
- var init_claude = __esm(() => {
450508
+ var init_llm = __esm(() => {
450511
450509
  init_providers();
450512
450510
  init_system();
450513
450511
  init_Tool();
@@ -450524,7 +450522,7 @@ var init_claude = __esm(() => {
450524
450522
  init_messages3();
450525
450523
  init_model();
450526
450524
  init_tokens();
450527
- init_claudeAiLimits();
450525
+ init_aiLimits();
450528
450526
  init_apiMicrocompact();
450529
450527
  init_error2();
450530
450528
  init_state();
@@ -450605,7 +450603,7 @@ async function sideQuery(opts) {
450605
450603
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
450606
450604
  }
450607
450605
  const messageText = extractFirstUserMessageText(messages);
450608
- const fingerprint = computeFingerprint(messageText, "1.1.26");
450606
+ const fingerprint = computeFingerprint(messageText, "1.1.28");
450609
450607
  const attributionHeader = getAttributionHeader(fingerprint);
450610
450608
  const systemBlocks = [
450611
450609
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -450666,14 +450664,14 @@ var init_sideQuery = __esm(() => {
450666
450664
  init_state();
450667
450665
  init_betas();
450668
450666
  init_system();
450669
- init_claude();
450667
+ init_llm();
450670
450668
  init_client6();
450671
450669
  init_betas2();
450672
450670
  init_fingerprint();
450673
450671
  init_model();
450674
450672
  });
450675
450673
 
450676
- // src/utils/claudeInChrome/mcpServer.ts
450674
+ // src/utils/browserIntegration/mcpServer.ts
450677
450675
  var exports_mcpServer = {};
450678
450676
  __export(exports_mcpServer, {
450679
450677
  runClaudeInChromeMcpServer: () => runClaudeInChromeMcpServer,
@@ -450862,7 +450860,7 @@ var init_mcpServer = __esm(() => {
450862
450860
  ];
450863
450861
  });
450864
450862
 
450865
- // src/utils/claudeInChrome/chromeNativeHost.ts
450863
+ // src/utils/browserIntegration/chromeNativeHost.ts
450866
450864
  var exports_chromeNativeHost = {};
450867
450865
  __export(exports_chromeNativeHost, {
450868
450866
  sendChromeMessage: () => sendChromeMessage,
@@ -455403,7 +455401,7 @@ function buildSystemInitMessage(inputs) {
455403
455401
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
455404
455402
  apiKeySource: getAnthropicApiKeyWithSource().source,
455405
455403
  betas: getSdkBetas(),
455406
- claude_code_version: "1.1.26",
455404
+ claude_code_version: "1.1.28",
455407
455405
  output_style: outputStyle2,
455408
455406
  agents: inputs.agents.map((agent) => agent.agentType),
455409
455407
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -467743,7 +467741,7 @@ function looksLikeISO8601(input) {
467743
467741
  return /^\d{4}-\d{2}-\d{2}(T|$)/.test(input.trim());
467744
467742
  }
467745
467743
  var init_dateTimeParser = __esm(() => {
467746
- init_claude();
467744
+ init_llm();
467747
467745
  init_log2();
467748
467746
  init_messages3();
467749
467747
  });
@@ -469982,7 +469980,7 @@ var init_useVoiceEnabled = __esm(() => {
469982
469980
  function getSemverPart(version2) {
469983
469981
  return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
469984
469982
  }
469985
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.26") {
469983
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.28") {
469986
469984
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
469987
469985
  if (!updatedVersion) {
469988
469986
  return null;
@@ -470022,7 +470020,7 @@ function AutoUpdater({
470022
470020
  return;
470023
470021
  }
470024
470022
  if (false) {}
470025
- const currentVersion = "1.1.26";
470023
+ const currentVersion = "1.1.28";
470026
470024
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
470027
470025
  let latestVersion = await getLatestVersion(channel);
470028
470026
  const isDisabled = isAutoUpdaterDisabled();
@@ -470233,12 +470231,12 @@ function NativeAutoUpdater({
470233
470231
  logEvent("tengu_native_auto_updater_start", {});
470234
470232
  try {
470235
470233
  const maxVersion = await getMaxVersion();
470236
- if (maxVersion && gt("1.1.26", maxVersion)) {
470234
+ if (maxVersion && gt("1.1.28", maxVersion)) {
470237
470235
  const msg = await getMaxVersionMessage();
470238
470236
  setMaxVersionIssue(msg ?? "affects your version");
470239
470237
  }
470240
470238
  const result = await installLatest(channel);
470241
- const currentVersion = "1.1.26";
470239
+ const currentVersion = "1.1.28";
470242
470240
  const latencyMs = Date.now() - startTime;
470243
470241
  if (result.lockFailed) {
470244
470242
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -470373,17 +470371,17 @@ function PackageManagerAutoUpdater(t0) {
470373
470371
  const maxVersion = await getMaxVersion();
470374
470372
  if (maxVersion && latest && gt(latest, maxVersion)) {
470375
470373
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
470376
- if (gte("1.1.26", maxVersion)) {
470377
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.26"} is already at or above maxVersion ${maxVersion}, skipping update`);
470374
+ if (gte("1.1.28", maxVersion)) {
470375
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.28"} is already at or above maxVersion ${maxVersion}, skipping update`);
470378
470376
  setUpdateAvailable(false);
470379
470377
  return;
470380
470378
  }
470381
470379
  latest = maxVersion;
470382
470380
  }
470383
- const hasUpdate = latest && !gte("1.1.26", latest) && !shouldSkipVersion(latest);
470381
+ const hasUpdate = latest && !gte("1.1.28", latest) && !shouldSkipVersion(latest);
470384
470382
  setUpdateAvailable(!!hasUpdate);
470385
470383
  if (hasUpdate) {
470386
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.26"} -> ${latest}`);
470384
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.28"} -> ${latest}`);
470387
470385
  }
470388
470386
  };
470389
470387
  $2[0] = t1;
@@ -470417,7 +470415,7 @@ function PackageManagerAutoUpdater(t0) {
470417
470415
  wrap: "truncate",
470418
470416
  children: [
470419
470417
  "currentVersion: ",
470420
- "1.1.26"
470418
+ "1.1.28"
470421
470419
  ]
470422
470420
  }, undefined, true, undefined, this);
470423
470421
  $2[3] = verbose;
@@ -471211,7 +471209,7 @@ var init_Notifications = __esm(() => {
471211
471209
  init_useMainLoopModel();
471212
471210
  init_useVoiceEnabled();
471213
471211
  init_ink2();
471214
- init_claudeAiLimitsHook();
471212
+ init_aiLimitsHook();
471215
471213
  init_autoCompact();
471216
471214
  init_auth2();
471217
471215
  init_editor();
@@ -477975,7 +477973,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
477975
477973
  project_dir: getOriginalCwd(),
477976
477974
  added_dirs: addedDirs
477977
477975
  },
477978
- version: "1.1.26",
477976
+ version: "1.1.28",
477979
477977
  output_style: {
477980
477978
  name: outputStyleName
477981
477979
  },
@@ -478176,7 +478174,7 @@ var init_StatusLine = __esm(() => {
478176
478174
  init_useMainLoopModel();
478177
478175
  init_useSettings();
478178
478176
  init_ink2();
478179
- init_claudeAiLimits();
478177
+ init_aiLimits();
478180
478178
  init_config();
478181
478179
  init_context();
478182
478180
  init_cwd();
@@ -484045,7 +484043,7 @@ var init_SkillImprovementSurvey = __esm(() => {
484045
484043
 
484046
484044
  // src/utils/hooks/apiQueryHookHelper.ts
484047
484045
  var init_apiQueryHookHelper = __esm(() => {
484048
- init_claude();
484046
+ init_llm();
484049
484047
  init_abortController();
484050
484048
  init_log2();
484051
484049
  init_errors();
@@ -484124,7 +484122,7 @@ Rules:
484124
484122
  }
484125
484123
  var init_skillImprovement = __esm(() => {
484126
484124
  init_state();
484127
- init_claude();
484125
+ init_llm();
484128
484126
  init_Tool();
484129
484127
  init_abortController();
484130
484128
  init_cwd();
@@ -484920,7 +484918,7 @@ function useApiKeyVerification() {
484920
484918
  var import_react268;
484921
484919
  var init_useApiKeyVerification = __esm(() => {
484922
484920
  init_state();
484923
- init_claude();
484921
+ init_llm();
484924
484922
  init_auth2();
484925
484923
  import_react268 = __toESM(require_react(), 1);
484926
484924
  });
@@ -488220,7 +488218,7 @@ var init_sessionRestore = __esm(() => {
488220
488218
  init_loadAgentsDir();
488221
488219
  init_ids();
488222
488220
  init_asciicast();
488223
- init_claudemd();
488221
+ init_instructionsmd();
488224
488222
  init_commitAttribution();
488225
488223
  init_concurrentSessions();
488226
488224
  init_cwd();
@@ -489543,7 +489541,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
489543
489541
  } catch {}
489544
489542
  const data = {
489545
489543
  trigger,
489546
- version: "1.1.26",
489544
+ version: "1.1.28",
489547
489545
  platform: process.platform,
489548
489546
  transcript,
489549
489547
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -490740,7 +490738,7 @@ var init_awaySummary = __esm(() => {
490740
490738
  init_debug();
490741
490739
  init_messages3();
490742
490740
  init_model();
490743
- init_claude();
490741
+ init_llm();
490744
490742
  init_sessionMemoryUtils();
490745
490743
  });
490746
490744
 
@@ -491131,7 +491129,7 @@ var init_useOfficialMarketplaceNotification = __esm(() => {
491131
491129
  jsx_dev_runtime454 = __toESM(require_jsx_dev_runtime(), 1);
491132
491130
  });
491133
491131
 
491134
- // src/hooks/usePromptsFromClaudeInChrome.tsx
491132
+ // src/hooks/usePromptsFromBrowser.tsx
491135
491133
  import { z as z88 } from "zod/v4";
491136
491134
  function usePromptsFromClaudeInChrome(mcpClients, toolPermissionMode) {
491137
491135
  const $2 = c3(6);
@@ -491174,7 +491172,7 @@ function findChromeClient(clients) {
491174
491172
  return clients.find((client4) => client4.type === "connected" && client4.name === CLAUDE_IN_CHROME_MCP_SERVER_NAME);
491175
491173
  }
491176
491174
  var import_react295, ClaudeInChromePromptNotificationSchema;
491177
- var init_usePromptsFromClaudeInChrome = __esm(() => {
491175
+ var init_usePromptsFromBrowser = __esm(() => {
491178
491176
  init_client9();
491179
491177
  init_common2();
491180
491178
  import_react295 = __toESM(require_react(), 1);
@@ -493439,7 +493437,7 @@ var init_useMcpConnectivityStatus = __esm(() => {
493439
493437
  init_notifications();
493440
493438
  init_state();
493441
493439
  init_ink2();
493442
- init_claudeai();
493440
+ init_aiservice();
493443
493441
  import_react300 = __toESM(require_react(), 1);
493444
493442
  jsx_dev_runtime458 = __toESM(require_jsx_dev_runtime(), 1);
493445
493443
  EMPTY_MCP_CLIENTS = [];
@@ -494245,7 +494243,7 @@ var init_LspRecommendationMenu = __esm(() => {
494245
494243
  jsx_dev_runtime461 = __toESM(require_jsx_dev_runtime(), 1);
494246
494244
  });
494247
494245
 
494248
- // src/hooks/useClaudeCodeHintRecommendation.tsx
494246
+ // src/hooks/useAppHintRecommendation.tsx
494249
494247
  function useClaudeCodeHintRecommendation() {
494250
494248
  const $2 = c3(11);
494251
494249
  const pendingHint2 = React159.useSyncExternalStore(subscribeToPendingHint, getPendingHintSnapshot);
@@ -494351,9 +494349,9 @@ function useClaudeCodeHintRecommendation() {
494351
494349
  return t3;
494352
494350
  }
494353
494351
  var React159;
494354
- var init_useClaudeCodeHintRecommendation = __esm(() => {
494352
+ var init_useAppHintRecommendation = __esm(() => {
494355
494353
  init_notifications();
494356
- init_claudeCodeHints();
494354
+ init_appHints();
494357
494355
  init_debug();
494358
494356
  init_hintRecommendation();
494359
494357
  init_pluginInstallationHelpers();
@@ -495243,8 +495241,8 @@ var import_react305, jsx_dev_runtime466;
495243
495241
  var init_useRateLimitWarningNotification = __esm(() => {
495244
495242
  init_notifications();
495245
495243
  init_ink2();
495246
- init_claudeAiLimits();
495247
- init_claudeAiLimitsHook();
495244
+ init_aiLimits();
495245
+ init_aiLimitsHook();
495248
495246
  init_auth2();
495249
495247
  init_billing();
495250
495248
  init_state();
@@ -500259,7 +500257,7 @@ var init_REPL = __esm(() => {
500259
500257
  init_prompts4();
500260
500258
  init_systemPrompt();
500261
500259
  init_context2();
500262
- init_claudemd();
500260
+ init_instructionsmd();
500263
500261
  init_backgroundHousekeeping();
500264
500262
  init_cost_tracker();
500265
500263
  init_costHook();
@@ -500361,7 +500359,7 @@ var init_REPL = __esm(() => {
500361
500359
  init_useAwaySummary();
500362
500360
  init_useChromeExtensionNotification();
500363
500361
  init_useOfficialMarketplaceNotification();
500364
- init_usePromptsFromClaudeInChrome();
500362
+ init_usePromptsFromBrowser();
500365
500363
  init_tipScheduler();
500366
500364
  init_bypassPermissionsKillswitch();
500367
500365
  init_sandbox_adapter();
@@ -500376,7 +500374,7 @@ var init_REPL = __esm(() => {
500376
500374
  init_useLspInitializationNotification();
500377
500375
  init_useLspPluginRecommendation();
500378
500376
  init_LspRecommendationMenu();
500379
- init_useClaudeCodeHintRecommendation();
500377
+ init_useAppHintRecommendation();
500380
500378
  init_PluginHintMenu();
500381
500379
  init_DesktopUpsellStartup();
500382
500380
  init_usePluginInstallationStatus();
@@ -501313,9 +501311,9 @@ var init_BypassPermissionsModeDialog = __esm(() => {
501313
501311
  jsx_dev_runtime479 = __toESM(require_jsx_dev_runtime(), 1);
501314
501312
  });
501315
501313
 
501316
- // src/components/ClaudeInChromeOnboarding.tsx
501317
- var exports_ClaudeInChromeOnboarding = {};
501318
- __export(exports_ClaudeInChromeOnboarding, {
501314
+ // src/components/BrowserOnboarding.tsx
501315
+ var exports_BrowserOnboarding = {};
501316
+ __export(exports_BrowserOnboarding, {
501319
501317
  ClaudeInChromeOnboarding: () => ClaudeInChromeOnboarding
501320
501318
  });
501321
501319
  function ClaudeInChromeOnboarding(t0) {
@@ -501486,7 +501484,7 @@ function _temp304(current) {
501486
501484
  };
501487
501485
  }
501488
501486
  var import_react319, jsx_dev_runtime480, CHROME_EXTENSION_URL2 = "https://github.com/chromebookwiz/localclawd", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
501489
- var init_ClaudeInChromeOnboarding = __esm(() => {
501487
+ var init_BrowserOnboarding = __esm(() => {
501490
501488
  init_ink2();
501491
501489
  init_setup();
501492
501490
  init_config();
@@ -501572,7 +501570,7 @@ async function showSetupScreens(root2, permissionMode, allowDangerouslySkipPermi
501572
501570
  const externalIncludes = getExternalClaudeMdIncludes(await getMemoryFiles(true));
501573
501571
  const {
501574
501572
  ClaudeMdExternalIncludesDialog: ClaudeMdExternalIncludesDialog2
501575
- } = await Promise.resolve().then(() => (init_ClaudeMdExternalIncludesDialog(), exports_ClaudeMdExternalIncludesDialog));
501573
+ } = await Promise.resolve().then(() => (init_InstructionsMdExternalIncludesDialog(), exports_InstructionsMdExternalIncludesDialog));
501576
501574
  await showDialog(root2, (done) => /* @__PURE__ */ jsx_dev_runtime481.jsxDEV(AppStateProvider, {
501577
501575
  onChangeAppState,
501578
501576
  children: /* @__PURE__ */ jsx_dev_runtime481.jsxDEV(ClaudeMdExternalIncludesDialog2, {
@@ -501618,7 +501616,7 @@ async function showSetupScreens(root2, permissionMode, allowDangerouslySkipPermi
501618
501616
  if (claudeInChrome && !getGlobalConfig().hasCompletedClaudeInChromeOnboarding) {
501619
501617
  const {
501620
501618
  ClaudeInChromeOnboarding: ClaudeInChromeOnboarding2
501621
- } = await Promise.resolve().then(() => (init_ClaudeInChromeOnboarding(), exports_ClaudeInChromeOnboarding));
501619
+ } = await Promise.resolve().then(() => (init_BrowserOnboarding(), exports_BrowserOnboarding));
501622
501620
  await showSetupDialog(root2, (done) => /* @__PURE__ */ jsx_dev_runtime481.jsxDEV(ClaudeInChromeOnboarding2, {
501623
501621
  onDone: done
501624
501622
  }, undefined, false, undefined, this));
@@ -501687,7 +501685,7 @@ var init_interactiveHelpers = __esm(() => {
501687
501685
  init_mcpServerApproval();
501688
501686
  init_AppState();
501689
501687
  init_onChangeAppState();
501690
- init_claudemd();
501688
+ init_instructionsmd();
501691
501689
  init_config();
501692
501690
  init_terminalPreference();
501693
501691
  init_envUtils();
@@ -503363,7 +503361,7 @@ var init_batch = __esm(() => {
503363
503361
  5. **Report** — End with a single line: \`PR: <url>\` so the coordinator can track it. If no PR was created, end with \`PR: none — <reason>\`.`;
503364
503362
  });
503365
503363
 
503366
- // src/skills/bundled/claudeInChrome.ts
503364
+ // src/skills/bundled/browserIntegration.ts
503367
503365
  function registerClaudeInChromeSkill() {
503368
503366
  if (!isClaudeInChromeSupported()) {
503369
503367
  return;
@@ -503393,7 +503391,7 @@ Now that this skill is invoked, you have access to Chrome browser automation too
503393
503391
 
503394
503392
  IMPORTANT: Start by calling mcp__claude-in-chrome__tabs_context_mcp to get information about the user's current browser tabs.
503395
503393
  `;
503396
- var init_claudeInChrome = __esm(() => {
503394
+ var init_browserIntegration = __esm(() => {
503397
503395
  init_setup();
503398
503396
  init_bundledSkills();
503399
503397
  });
@@ -503482,7 +503480,7 @@ Remember that settings are in:
503482
503480
  }
503483
503481
  var DEFAULT_DEBUG_LINES_READ = 20, TAIL_READ_BYTES;
503484
503482
  var init_debug2 = __esm(() => {
503485
- init_claudeCodeGuideAgent();
503483
+ init_guideAgent();
503486
503484
  init_settings2();
503487
503485
  init_debug();
503488
503486
  init_errors();
@@ -505169,7 +505167,7 @@ function initBundledSkills() {
505169
505167
  var init_bundled = __esm(() => {
505170
505168
  init_setup();
505171
505169
  init_batch();
505172
- init_claudeInChrome();
505170
+ init_browserIntegration();
505173
505171
  init_debug2();
505174
505172
  init_keybindings3();
505175
505173
  init_loremIpsum();
@@ -505988,7 +505986,7 @@ function appendToLog(path17, message) {
505988
505986
  cwd: getFsImplementation().cwd(),
505989
505987
  userType: process.env.USER_TYPE,
505990
505988
  sessionId: getSessionId(),
505991
- version: "1.1.26"
505989
+ version: "1.1.28"
505992
505990
  };
505993
505991
  getLogWriter(path17).write(messageWithTimestamp);
505994
505992
  }
@@ -506543,7 +506541,7 @@ var init_setup2 = __esm(() => {
506543
506541
  init_agentSwarmsEnabled();
506544
506542
  init_appleTerminalBackup();
506545
506543
  init_auth2();
506546
- init_claudemd();
506544
+ init_instructionsmd();
506547
506545
  init_config();
506548
506546
  init_debug();
506549
506547
  init_diagLogs();
@@ -509596,7 +509594,7 @@ var messageSelector = () => (init_MessageSelector(), __toCommonJS(exports_Messag
509596
509594
  var init_QueryEngine = __esm(() => {
509597
509595
  init_last();
509598
509596
  init_state();
509599
- init_claude();
509597
+ init_llm();
509600
509598
  init_logging();
509601
509599
  init_strip_ansi();
509602
509600
  init_commands2();
@@ -509987,8 +509985,8 @@ async function getEnvLessBridgeConfig() {
509987
509985
  }
509988
509986
  async function checkEnvLessBridgeMinVersion() {
509989
509987
  const cfg = await getEnvLessBridgeConfig();
509990
- if (cfg.min_version && lt("1.1.26", cfg.min_version)) {
509991
- return `Your version of localclawd (${"1.1.26"}) is too old for Remote Control.
509988
+ if (cfg.min_version && lt("1.1.28", cfg.min_version)) {
509989
+ return `Your version of localclawd (${"1.1.28"}) is too old for Remote Control.
509992
509990
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
509993
509991
  }
509994
509992
  return null;
@@ -510460,7 +510458,7 @@ async function initBridgeCore(params) {
510460
510458
  const rawApi = createBridgeApiClient({
510461
510459
  baseUrl,
510462
510460
  getAccessToken,
510463
- runnerVersion: "1.1.26",
510461
+ runnerVersion: "1.1.28",
510464
510462
  onDebug: logForDebugging,
510465
510463
  onAuth401,
510466
510464
  getTrustedDeviceToken
@@ -515211,7 +515209,7 @@ var init_print = __esm(() => {
515211
515209
  init_messages3();
515212
515210
  init_context_noninteractive();
515213
515211
  init_xml();
515214
- init_claudeAiLimits();
515212
+ init_aiLimits();
515215
515213
  init_model();
515216
515214
  init_modelOptions();
515217
515215
  init_effort();
@@ -516116,7 +516114,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
516116
516114
  setCwd(cwd3);
516117
516115
  const server = new Server({
516118
516116
  name: "claude/tengu",
516119
- version: "1.1.26"
516117
+ version: "1.1.28"
516120
516118
  }, {
516121
516119
  capabilities: {
516122
516120
  tools: {}
@@ -516240,9 +516238,9 @@ var init_mcp4 = __esm(() => {
516240
516238
  MCP_COMMANDS = [review_default];
516241
516239
  });
516242
516240
 
516243
- // src/utils/claudeDesktop.ts
516244
- var exports_claudeDesktop = {};
516245
- __export(exports_claudeDesktop, {
516241
+ // src/utils/appDesktop.ts
516242
+ var exports_appDesktop = {};
516243
+ __export(exports_appDesktop, {
516246
516244
  readClaudeDesktopMcpServers: () => readClaudeDesktopMcpServers,
516247
516245
  getClaudeDesktopConfigPath: () => getClaudeDesktopConfigPath
516248
516246
  });
@@ -516326,7 +516324,7 @@ async function readClaudeDesktopMcpServers() {
516326
516324
  return {};
516327
516325
  }
516328
516326
  }
516329
- var init_claudeDesktop = __esm(() => {
516327
+ var init_appDesktop = __esm(() => {
516330
516328
  init_types2();
516331
516329
  init_errors();
516332
516330
  init_json();
@@ -516597,7 +516595,7 @@ async function mcpAddFromDesktopHandler(options) {
516597
516595
  });
516598
516596
  const {
516599
516597
  readClaudeDesktopMcpServers: readClaudeDesktopMcpServers2
516600
- } = await Promise.resolve().then(() => (init_claudeDesktop(), exports_claudeDesktop));
516598
+ } = await Promise.resolve().then(() => (init_appDesktop(), exports_appDesktop));
516601
516599
  const servers = await readClaudeDesktopMcpServers2();
516602
516600
  if (Object.keys(servers).length === 0) {
516603
516601
  cliOk("No MCP servers found in the desktop app configuration, or the configuration file does not exist.");
@@ -517197,7 +517195,7 @@ function WelcomeLogo() {
517197
517195
  dimColor: true,
517198
517196
  children: [
517199
517197
  "v",
517200
- "1.1.26"
517198
+ "1.1.28"
517201
517199
  ]
517202
517200
  }, undefined, true, undefined, this)
517203
517201
  ]
@@ -517766,7 +517764,7 @@ __export(exports_update, {
517766
517764
  });
517767
517765
  async function update() {
517768
517766
  logEvent("tengu_update_check", {});
517769
- writeToStdout(`Current version: ${"1.1.26"}
517767
+ writeToStdout(`Current version: ${"1.1.28"}
517770
517768
  `);
517771
517769
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
517772
517770
  writeToStdout(`Checking for updates to ${channel} version...
@@ -517841,8 +517839,8 @@ async function update() {
517841
517839
  writeToStdout(`localclawd is managed by Homebrew.
517842
517840
  `);
517843
517841
  const latest = await getLatestVersion(channel);
517844
- if (latest && !gte("1.1.26", latest)) {
517845
- writeToStdout(`Update available: ${"1.1.26"} → ${latest}
517842
+ if (latest && !gte("1.1.28", latest)) {
517843
+ writeToStdout(`Update available: ${"1.1.28"} → ${latest}
517846
517844
  `);
517847
517845
  writeToStdout(`
517848
517846
  `);
@@ -517858,8 +517856,8 @@ async function update() {
517858
517856
  writeToStdout(`localclawd is managed by winget.
517859
517857
  `);
517860
517858
  const latest = await getLatestVersion(channel);
517861
- if (latest && !gte("1.1.26", latest)) {
517862
- writeToStdout(`Update available: ${"1.1.26"} → ${latest}
517859
+ if (latest && !gte("1.1.28", latest)) {
517860
+ writeToStdout(`Update available: ${"1.1.28"} → ${latest}
517863
517861
  `);
517864
517862
  writeToStdout(`
517865
517863
  `);
@@ -517873,8 +517871,8 @@ async function update() {
517873
517871
  writeToStdout(`localclawd is managed by apk.
517874
517872
  `);
517875
517873
  const latest = await getLatestVersion(channel);
517876
- if (latest && !gte("1.1.26", latest)) {
517877
- writeToStdout(`Update available: ${"1.1.26"} → ${latest}
517874
+ if (latest && !gte("1.1.28", latest)) {
517875
+ writeToStdout(`Update available: ${"1.1.28"} → ${latest}
517878
517876
  `);
517879
517877
  writeToStdout(`
517880
517878
  `);
@@ -517939,11 +517937,11 @@ async function update() {
517939
517937
  `);
517940
517938
  await gracefulShutdown(1);
517941
517939
  }
517942
- if (result.latestVersion === "1.1.26") {
517943
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.26"})`) + `
517940
+ if (result.latestVersion === "1.1.28") {
517941
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.28"})`) + `
517944
517942
  `);
517945
517943
  } else {
517946
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.26"} to version ${result.latestVersion}`) + `
517944
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.28"} to version ${result.latestVersion}`) + `
517947
517945
  `);
517948
517946
  await regenerateCompletionCache();
517949
517947
  }
@@ -518003,12 +518001,12 @@ async function update() {
518003
518001
  `);
518004
518002
  await gracefulShutdown(1);
518005
518003
  }
518006
- if (latestVersion === "1.1.26") {
518007
- writeToStdout(source_default.green(`localclawd is up to date (${"1.1.26"})`) + `
518004
+ if (latestVersion === "1.1.28") {
518005
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.1.28"})`) + `
518008
518006
  `);
518009
518007
  await gracefulShutdown(0);
518010
518008
  }
518011
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.26"})
518009
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.28"})
518012
518010
  `);
518013
518011
  writeToStdout(`Installing update...
518014
518012
  `);
@@ -518053,7 +518051,7 @@ async function update() {
518053
518051
  logForDebugging(`update: Installation status: ${status2}`);
518054
518052
  switch (status2) {
518055
518053
  case "success":
518056
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.26"} to version ${latestVersion}`) + `
518054
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.28"} to version ${latestVersion}`) + `
518057
518055
  `);
518058
518056
  await regenerateCompletionCache();
518059
518057
  break;
@@ -519348,7 +519346,7 @@ Run with --debug for more details.
519348
519346
  }
519349
519347
  }
519350
519348
  logForDiagnosticsNoPII("info", "started", {
519351
- version: "1.1.26",
519349
+ version: "1.1.28",
519352
519350
  is_native_binary: isInBundledMode()
519353
519351
  });
519354
519352
  registerCleanup(async () => {
@@ -520132,7 +520130,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
520132
520130
  pendingHookMessages
520133
520131
  }, renderAndRun);
520134
520132
  }
520135
- }).version("1.1.26 (localclawd)", "-v, --version", "Output the version number");
520133
+ }).version("1.1.28 (localclawd)", "-v, --version", "Output the version number");
520136
520134
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
520137
520135
  program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
520138
520136
  if (canUserConfigureAdvisor()) {
@@ -520528,7 +520526,7 @@ var init_main2 = __esm(() => {
520528
520526
  init_dialogLaunchers();
520529
520527
  init_dec();
520530
520528
  init_interactiveHelpers();
520531
- init_claudeAiLimits();
520529
+ init_aiLimits();
520532
520530
  init_client9();
520533
520531
  init_pluginCliCommands();
520534
520532
  init_bundled();
@@ -520568,7 +520566,7 @@ var init_main2 = __esm(() => {
520568
520566
  init_addCommand();
520569
520567
  init_xaaIdpCommand();
520570
520568
  init_internalLogging();
520571
- init_claudeai();
520569
+ init_aiservice();
520572
520570
  init_client9();
520573
520571
  init_config2();
520574
520572
  init_utils4();
@@ -520640,7 +520638,7 @@ if (false) {}
520640
520638
  async function main2() {
520641
520639
  const args = process.argv.slice(2);
520642
520640
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
520643
- console.log(`${"1.1.26"} (localclawd)`);
520641
+ console.log(`${"1.1.28"} (localclawd)`);
520644
520642
  return;
520645
520643
  }
520646
520644
  const {
@@ -520737,4 +520735,4 @@ localclawd crashed: ${msg}
520737
520735
  process.exit(1);
520738
520736
  });
520739
520737
 
520740
- //# debugId=4DF2D2FD7D63804E64756E2164756E21
520738
+ //# debugId=57B68AEB0F6E3AC164756E2164756E21