@cnwenf/occ 2.1.334 → 2.1.335

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![npm version](https://img.shields.io/npm/v/@cnwenf/occ.svg)](https://www.npmjs.com/package/@cnwenf/occ)
6
6
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)
7
7
  [![Runtime: Bun](https://img.shields.io/badge/Runtime-Bun-%23000000.svg)](https://bun.sh/)
8
- [![Tracks: Claude Code 2.1.267](https://img.shields.io/badge/Tracks-Claude%20Code%202.1.267-blueviolet.svg)](https://docs.anthropic.com/en/docs/claude-code)
8
+ [![Tracks: Claude Code 2.1.270](https://img.shields.io/badge/Tracks-Claude%20Code%202.1.270-blueviolet.svg)](https://docs.anthropic.com/en/docs/claude-code)
9
9
 
10
10
  [简体中文](./README.zh-CN.md) · **English**
11
11
 
@@ -13,7 +13,7 @@
13
13
 
14
14
  ## What is OCC
15
15
 
16
- **Open C Code (OCC)** is an open-source coding agent. Its capabilities are aligned with [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (currently tracking `2.1.267` — 2.1.266 fully aligned; 2.1.267 partial: settings-side effort cap + E8/E9/E10/E12/E32/E33 landed, E8-runtime-realpath / E11 / E19 / E20 / E34 / prompt-cache-snapshot staged, per OCC-121 + OCC-82 gap reports). The code is fully open, auditable, backdoor-free, and your data stays under your control.
16
+ **Open C Code (OCC)** is an open-source coding agent. Its capabilities are aligned with [Claude Code](https://docs.anthropic.com/en/docs/claude-code) (currently tracking `2.1.270` — fully aligned through official 2.1.270: the 2.1.268/2.1.269 portable subsets landed in OCC-122/OCC-123/OCC-84, and the 2.1.270 changelog change — the read-only git Bash permission regression fix — carries no portable client-side delta, verified independently by two forensic rounds OCC-124 + OCC-85; the OCC-125 strict self-acceptance round against the official 2.1.270 binary then landed two live-discovered gaps — the full `/output-style` port (Gap-125a) and markdown-serializer html/default-token parity (Gap-125b) — per `docs/upstream-version-gap-occ125.md`). The code is fully open, auditable, backdoor-free, and your data stays under your control.
17
17
 
18
18
  If you worry that a closed-source CLI might hide backdoors, or that your code and credentials are uploaded to unauditable services, OCC is for you: all source is open and unobfuscated, the build is reproducible from source, and API credentials are sent only to endpoints you configure.
19
19
 
@@ -62,7 +62,7 @@ Requires a valid Anthropic API Key (or AWS Bedrock / Google Vertex / Azure Found
62
62
  | **Auditability** | Line-by-line reviewable | No |
63
63
  | **Telemetry** | Minimal (analytics stubbed) | Standard |
64
64
  | **Data sovereignty** | Credentials stay on your machine; requests only to endpoints you configure | Anthropic endpoints |
65
- | **Capability parity** | Tracks CC `2.1.267` (partial) | Reference implementation |
65
+ | **Capability parity** | Tracks CC `2.1.270` (fully aligned) | Reference implementation |
66
66
  | **Providers** | Anthropic Direct, Bedrock, Vertex, Azure | Anthropic, Bedrock, Vertex |
67
67
  | **Cost** | Free & open-source (MIT) | Subscription |
68
68
  | **Build** | Reproducible from source | N/A |
@@ -157,7 +157,7 @@ For architecture, entry/bootstrap, tool system, UI layer, and module-status deta
157
157
 
158
158
  ## Status
159
159
 
160
- - Tracks Claude Code **`2.1.267` (partial)** (2.1.266 fully aligned; 2.1.267 partial: settings-side effort cap + E8/E9/E10/E12/E32/E33 landed, E8-runtime-realpath / E11 / E19 / E20 / E34 / prompt-cache-snapshot staged — see `docs/upstream-version-gap-occ121.md` and `docs/upstream-version-gap-occ82.md`).
160
+ - Tracks Claude Code **`2.1.270`** (fully aligned through official 2.1.270 portable subsets through 2.1.269 landed in OCC-122/OCC-123/OCC-84; the 2.1.270 changelog change is the read-only-git Bash permission regression fix, which carries no portable client-side delta, verified independently by OCC-124 + OCC-85 — see `docs/upstream-version-gap-occ124.md` and `docs/upstream-version-gap-occ85.md`. The OCC-125 strict self-acceptance round against the official 2.1.270 binary landed two live-discovered gaps: Gap-125a `/output-style` full port + Gap-125b markdown-serializer html/default-token parity — see `docs/upstream-version-gap-occ125.md`).
161
161
  - Published to npm as [`@cnwenf/occ`](https://www.npmjs.com/package/@cnwenf/occ).
162
162
  - Many modules are intentionally stubbed or feature-flagged off — see "Disabled / stubbed" above.
163
163
 
package/README.zh-CN.md CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  ## 这是什么
10
10
 
11
- **Open C Code(OCC)** 是一个开源的编码智能体。能力与 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 对齐(当前跟踪 `2.1.267`:2.1.266 已完全对齐、2.1.267 部分对齐——settings 侧 effort cap 与 E8/E9/E10/E12/E32/E33 已落地,E8-runtime-realpath / E11 / E19 / E20 / E34 / prompt-cache 快照子系统暂缓,详见 OCC-121 与 OCC-82 台账)。代码全开放、可审计、无暗门,数据由你掌控。
11
+ **Open C Code(OCC)** 是一个开源的编码智能体。能力与 [Claude Code](https://docs.anthropic.com/en/docs/claude-code) 对齐(当前跟踪 `2.1.270`:已完全对齐至官方 2.1.270——2.1.268/2.1.269 的可移植子集已在 OCC-122/OCC-123/OCC-84 落地,2.1.270 唯一变更(Bash 只读 git 权限回归修复)无可移植客户端代码差异,经 OCC-124 与 OCC-85 两轮独立取证核实,详见相应台账)。代码全开放、可审计、无暗门,数据由你掌控。
12
12
 
13
13
  如果你担心闭源 CLI 可能植入后门、担心代码与凭据被上传到不可审计的服务,OCC 就是为你准备的:全部源码开放、无混淆,构建产物可由源码复现,API 凭据只发往你自己配置的端点。
14
14
 
@@ -21,7 +21,7 @@
21
21
 
22
22
  ## 现状
23
23
 
24
- - 跟踪 Claude Code **`2.1.267`**(2.1.266 已完全对齐、2.1.267 部分对齐——settings 侧 effort cap 与 E8/E9/E10/E12/E32/E33 已落地,E8-runtime-realpath / E11 / E19 / E20 / E34 / prompt-cache 快照子系统暂缓)。
24
+ - 跟踪 Claude Code **`2.1.270`**(已完全对齐至官方 2.1.270——2.1.268/2.1.269 的可移植子集已在 OCC-122/OCC-123/OCC-84 落地;2.1.270 唯一变更(Bash 只读 git 权限回归修复)无可移植客户端差异,经 OCC-124 OCC-85 两轮独立取证核实 OCC 不受影响)。
25
25
  - 代码库有约 1300 个不阻塞的 `tsc` 类型错误(大量松散的 `unknown`/`never`/`{}` 类型),**不影响 Bun 运行时执行**。门槛是 Biome lint,不是 `tsc`。
26
26
  - 所有内部 feature flag(`feature(...)`)已被 polyfill 为 `false` —— 内部功能(COORDINATOR_MODE、KAIROS、PROACTIVE 等)全部关闭。
27
27
  - 已发布到 npm:[`@cnwenf/occ`](https://www.npmjs.com/package/@cnwenf/occ)。
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env bun
2
- globalThis.MACRO={"VERSION":"2.1.334","BINARY_NAME":"occ","BUILD_TIME":"2026-09-13T18:25:18.145Z","FEEDBACK_CHANNEL":"","ISSUES_EXPLAINER":"","NATIVE_PACKAGE_URL":"","PACKAGE_URL":"@cnwenf/occ","VERSION_CHANGELOG":""};
2
+ globalThis.MACRO={"VERSION":"2.1.335","BINARY_NAME":"occ","BUILD_TIME":"2026-09-14T23:25:57.529Z","FEEDBACK_CHANNEL":"","ISSUES_EXPLAINER":"","NATIVE_PACKAGE_URL":"","PACKAGE_URL":"@cnwenf/occ","VERSION_CHANGELOG":""};
3
3
  // @bun
4
4
  var __create = Object.create;
5
5
  var __getProtoOf = Object.getPrototypeOf;
@@ -393802,7 +393802,7 @@ function formatToken(token, theme, listDepth = 0, orderedListNumber = null, pare
393802
393802
  return token.items.map((_2, index2) => formatToken(_2, theme, listDepth, token.ordered ? token.start + index2 : null, token, highlight)).join("");
393803
393803
  }
393804
393804
  case "list_item":
393805
- return (token.tokens ?? []).map((_2) => `${" ".repeat(listDepth)}${formatToken(_2, theme, listDepth + 1, orderedListNumber, token, highlight)}`).join("");
393805
+ return (token.tokens ?? []).filter((_2) => _2.type !== "checkbox").map((_2) => `${" ".repeat(listDepth)}${formatToken(_2, theme, listDepth + 1, orderedListNumber, token, highlight)}`).join("");
393806
393806
  case "paragraph":
393807
393807
  return (token.tokens ?? []).map((_2) => formatToken(_2, theme, 0, null, null, highlight)).join("") + EOL5;
393808
393808
  case "space":
@@ -393814,7 +393814,11 @@ function formatToken(token, theme, listDepth = 0, orderedListNumber = null, pare
393814
393814
  return token.text;
393815
393815
  }
393816
393816
  if (parent?.type === "list_item") {
393817
- return `${orderedListNumber === null ? "-" : getListNumber(listDepth, orderedListNumber) + "."} ${token.tokens ? token.tokens.map((_2) => formatToken(_2, theme, listDepth, orderedListNumber, token, highlight)).join("") : linkifyIssueReferences(token.text)}${EOL5}`;
393817
+ const bullet = orderedListNumber === null ? "-" : getListNumber(listDepth, orderedListNumber) + ".";
393818
+ const taskParent = parent;
393819
+ const firstContent = (taskParent.tokens ?? []).find((_2) => _2.type !== "checkbox");
393820
+ const taskMarker = taskParent.task && firstContent === token ? ` [${taskParent.checked ? "x" : " "}]` : "";
393821
+ return `${bullet}${taskMarker} ${token.tokens ? token.tokens.map((_2) => formatToken(_2, theme, listDepth, orderedListNumber, token, highlight)).join("") : linkifyIssueReferences(token.text)}${EOL5}`;
393818
393822
  }
393819
393823
  return linkifyIssueReferences(token.text);
393820
393824
  case "table": {
@@ -393860,12 +393864,15 @@ function formatToken(token, theme, listDepth = 0, orderedListNumber = null, pare
393860
393864
  }
393861
393865
  case "escape":
393862
393866
  return token.text;
393867
+ case "html":
393868
+ return token.text;
393863
393869
  case "def":
393864
393870
  case "del":
393865
- case "html":
393871
+ return "";
393872
+ case "checkbox":
393866
393873
  return "";
393867
393874
  }
393868
- return "";
393875
+ return token.raw;
393869
393876
  }
393870
393877
  function linkifyIssueReferences(text2) {
393871
393878
  if (!supportsHyperlinks2()) {
@@ -686949,6 +686956,156 @@ var init_onboarding = __esm(() => {
686949
686956
  onboarding_default = { isEnabled: () => false, isHidden: true, name: "stub" };
686950
686957
  });
686951
686958
 
686959
+ // src/commands/output-style/output-style.ts
686960
+ var exports_output_style = {};
686961
+ __export(exports_output_style, {
686962
+ call: () => call34,
686963
+ SAVE_FAILURE_OFF_BOX: () => SAVE_FAILURE_OFF_BOX,
686964
+ CUSTOM_CURRENT_STYLE_PLACEHOLDER: () => CUSTOM_CURRENT_STYLE_PLACEHOLDER
686965
+ });
686966
+ function stripLoneSurrogates(value) {
686967
+ return value.replace(SURROGATE_RE, (match) => match.length === 2 ? match : "");
686968
+ }
686969
+ function stripInvisibleToFixedPoint(value) {
686970
+ let current = value;
686971
+ for (let round2 = 0;round2 < 64; round2++) {
686972
+ const next2 = stripLoneSurrogates(current).replace(INVISIBLE_RE, "");
686973
+ if (next2 === current)
686974
+ return next2;
686975
+ current = next2;
686976
+ }
686977
+ return "";
686978
+ }
686979
+ function truncateUtf16Safe(value, max2) {
686980
+ if (max2 <= 0)
686981
+ return "";
686982
+ if (value.length <= max2)
686983
+ return value;
686984
+ const sliced = value.slice(0, max2);
686985
+ const lastUnit = sliced.charCodeAt(max2 - 1);
686986
+ const trimmed = lastUnit >= 55296 && lastUnit <= 56319 ? sliced.slice(0, -1) : sliced;
686987
+ return Buffer.from(trimmed, "utf16le").toString("utf16le");
686988
+ }
686989
+ function displaySanitizer(value) {
686990
+ if (typeof value !== "string")
686991
+ return "";
686992
+ const pre = value.length > 4096 ? value.slice(0, 4096) : value;
686993
+ return truncateUtf16Safe(stripInvisibleToFixedPoint(pre), 1024);
686994
+ }
686995
+ function isBuiltinStyle(style) {
686996
+ return style === null || style?.source === "built-in";
686997
+ }
686998
+ function isRelayedContext(context8) {
686999
+ const relayed = context8;
687000
+ return relayed.dispatchedOverBridge === true || relayed.submissionVerifiedSlackHumanTurn === true;
687001
+ }
687002
+ function telemetryStyleName(style) {
687003
+ return Object.hasOwn(OUTPUT_STYLE_CONFIG, style) ? style : "custom";
687004
+ }
687005
+ function currentOutputStyleName() {
687006
+ return getSettings_DEPRECATED()?.outputStyle || DEFAULT_OUTPUT_STYLE_NAME;
687007
+ }
687008
+ var SURROGATE_RE, INVISIBLE_RE, CUSTOM_CURRENT_STYLE_PLACEHOLDER = "a custom style", SAVE_FAILURE_OFF_BOX = "Couldn't save the output style (detail withheld on this connection).", OFF_BOX_LIST_NOTE = `
687009
+ Custom output styles can't be selected over Remote Control or from a relayed message. Select one in the session itself, or pick a built-in style here.`, LOCAL_SETTINGS_NOT_LOADED = "Output styles are saved to local settings (.claude/settings.local.json), which this session doesn't load, so the style can't be changed here.", HELP_ARGS, LIST_ARGS, call34 = async (args, context8) => {
687010
+ const allStyles = await getAllOutputStyles(getCwd());
687011
+ const relayed = isRelayedContext(context8);
687012
+ const styleNames = Object.keys(allStyles);
687013
+ const selectable = relayed ? styleNames.filter((name3) => isBuiltinStyle(allStyles[name3])) : styleNames;
687014
+ const current = currentOutputStyleName();
687015
+ const offBoxNote = relayed ? OFF_BOX_LIST_NOTE : "";
687016
+ const trimmed = args.trim();
687017
+ const lowered = trimmed.toLowerCase();
687018
+ const target = trimmed ? selectable.find((name3) => name3.toLowerCase() === lowered) : undefined;
687019
+ if (target === undefined) {
687020
+ if (trimmed && !LIST_ARGS.includes(lowered) && !HELP_ARGS.includes(lowered)) {
687021
+ return {
687022
+ type: "text",
687023
+ value: `Unknown output style "${displaySanitizer(trimmed)}". Available styles: ${selectable.map((name3) => displaySanitizer(name3)).join(", ")}${offBoxNote}`
687024
+ };
687025
+ }
687026
+ const lines2 = selectable.map((name3) => {
687027
+ const description = allStyles[name3]?.description;
687028
+ const currentMark = name3 === current ? " (current)" : "";
687029
+ const displayName = displaySanitizer(name3);
687030
+ return description ? `- ${displayName}${currentMark}: ${displaySanitizer(description)}` : `- ${displayName}${currentMark}`;
687031
+ });
687032
+ const currentLabel = relayed && !isBuiltinStyle(allStyles[current]) ? CUSTOM_CURRENT_STYLE_PLACEHOLDER : displaySanitizer(current);
687033
+ return {
687034
+ type: "text",
687035
+ value: `Output style: ${currentLabel}
687036
+
687037
+ Available styles:
687038
+ ${lines2.join(`
687039
+ `)}
687040
+
687041
+ Usage: /output-style <style>${offBoxNote}`
687042
+ };
687043
+ }
687044
+ if (target === current) {
687045
+ return {
687046
+ type: "text",
687047
+ value: `Output style is already ${displaySanitizer(target)}`
687048
+ };
687049
+ }
687050
+ if (!isSettingSourceEnabled("localSettings")) {
687051
+ return { type: "text", value: LOCAL_SETTINGS_NOT_LOADED };
687052
+ }
687053
+ const result = updateSettingsForSource("localSettings", {
687054
+ outputStyle: target
687055
+ });
687056
+ if (result.error) {
687057
+ return {
687058
+ type: "text",
687059
+ value: relayed ? SAVE_FAILURE_OFF_BOX : `Could not save output style: ${result.error.message}`
687060
+ };
687061
+ }
687062
+ logEvent2("tengu_output_style_changed", {
687063
+ style: telemetryStyleName(target),
687064
+ source: "slash_command",
687065
+ settings_source: "localSettings"
687066
+ });
687067
+ return { type: "text", value: `Output style set to ${displaySanitizer(target)}` };
687068
+ };
687069
+ var init_output_style = __esm(() => {
687070
+ init_outputStyles();
687071
+ init_analytics();
687072
+ init_cwd2();
687073
+ init_constants2();
687074
+ init_settings2();
687075
+ SURROGATE_RE = /[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF]|[\uDC00-\uDFFF]/g;
687076
+ INVISIBLE_RE = /[\p{Cc}\p{Cf}\p{Zl}\p{Zp}\p{Default_Ignorable_Code_Point}\u2800]|(?!\u0020)\p{Zs}/gu;
687077
+ HELP_ARGS = ["help", "-h", "--help"];
687078
+ LIST_ARGS = [
687079
+ "list",
687080
+ "show",
687081
+ "display",
687082
+ "current",
687083
+ "view",
687084
+ "get",
687085
+ "check",
687086
+ "describe",
687087
+ "print",
687088
+ "version",
687089
+ "about",
687090
+ "status",
687091
+ "?"
687092
+ ];
687093
+ });
687094
+
687095
+ // src/commands/output-style/index.ts
687096
+ var outputStyle, output_style_default;
687097
+ var init_output_style2 = __esm(() => {
687098
+ outputStyle = {
687099
+ type: "local",
687100
+ name: "output-style",
687101
+ supportsNonInteractive: true,
687102
+ description: "List output styles or switch to one",
687103
+ argumentHint: "[style]",
687104
+ load: () => Promise.resolve().then(() => (init_output_style(), exports_output_style))
687105
+ };
687106
+ output_style_default = outputStyle;
687107
+ });
687108
+
686952
687109
  // src/commands/createMovedToPluginCommand.ts
686953
687110
  function createMovedToPluginCommand({
686954
687111
  name: name3,
@@ -687229,7 +687386,7 @@ var init_releaseNotes = __esm(() => {
687229
687386
  // src/commands/release-notes/release-notes.tsx
687230
687387
  var exports_release_notes = {};
687231
687388
  __export(exports_release_notes, {
687232
- call: () => call34
687389
+ call: () => call35
687233
687390
  });
687234
687391
  function formatReleaseNoteLines(notes) {
687235
687392
  return notes.flatMap(([version5, versionNotes]) => [
@@ -687270,7 +687427,7 @@ function ReleaseNotesPanel({
687270
687427
  ]
687271
687428
  });
687272
687429
  }
687273
- var jsx_runtime257, call34 = async (onDone) => {
687430
+ var jsx_runtime257, call35 = async (onDone) => {
687274
687431
  let notes = [];
687275
687432
  try {
687276
687433
  const timeoutPromise = new Promise((_4, reject2) => {
@@ -687778,9 +687935,9 @@ var init_createSession = __esm(() => {
687778
687935
  // src/commands/rename/rename.ts
687779
687936
  var exports_rename = {};
687780
687937
  __export(exports_rename, {
687781
- call: () => call35
687938
+ call: () => call36
687782
687939
  });
687783
- async function call35(onDone, context8, args) {
687940
+ async function call36(onDone, context8, args) {
687784
687941
  if (isTeammate()) {
687785
687942
  onDone("Cannot rename: This session is a swarm teammate. Teammate names are set by the team leader.", { display: "system" });
687786
687943
  return null;
@@ -696772,7 +696929,7 @@ __export(exports_resume, {
696772
696929
  isStaleLargeSession: () => isStaleLargeSession,
696773
696930
  findSessionsByPrUrl: () => findSessionsByPrUrl,
696774
696931
  filterResumableSessions: () => filterResumableSessions,
696775
- call: () => call36
696932
+ call: () => call37
696776
696933
  });
696777
696934
  function resumeHelpMessage(result) {
696778
696935
  switch (result.resultType) {
@@ -697047,7 +697204,7 @@ function ResumeCommand({
697047
697204
  function filterResumableSessions(logs3, currentSessionId) {
697048
697205
  return logs3.filter((l4) => !l4.isSidechain && getSessionIdFromLog(l4) !== currentSessionId);
697049
697206
  }
697050
- var import_compiler_runtime210, React93, jsx_runtime284, STALE_SESSION_AGE_DAYS = 7, LARGE_SESSION_MESSAGE_THRESHOLD = 50, STALE_SESSION_AGE_MS, PR_URL_PATTERNS, PR_URL_MARKERS, call36 = async (onDone, context8, args) => {
697207
+ var import_compiler_runtime210, React93, jsx_runtime284, STALE_SESSION_AGE_DAYS = 7, LARGE_SESSION_MESSAGE_THRESHOLD = 50, STALE_SESSION_AGE_MS, PR_URL_PATTERNS, PR_URL_MARKERS, call37 = async (onDone, context8, args) => {
697051
697208
  const onResume = async (sessionId, log3, entrypoint) => {
697052
697209
  try {
697053
697210
  await context8.resume?.(sessionId, log3, entrypoint);
@@ -697666,7 +697823,7 @@ var init_UltrareviewOverageDialog = __esm(() => {
697666
697823
  // src/commands/review/ultrareviewCommand.tsx
697667
697824
  var exports_ultrareviewCommand = {};
697668
697825
  __export(exports_ultrareviewCommand, {
697669
- call: () => call37
697826
+ call: () => call38
697670
697827
  });
697671
697828
  function contentBlocksToString(blocks) {
697672
697829
  return blocks.map((b6) => b6.type === "text" ? b6.text : "").filter(Boolean).join(`
@@ -697686,7 +697843,7 @@ async function launchAndDone(args, context8, onDone, billingNote, signal) {
697686
697843
  });
697687
697844
  }
697688
697845
  }
697689
- var jsx_runtime286, call37 = async (onDone, context8, args) => {
697846
+ var jsx_runtime286, call38 = async (onDone, context8, args) => {
697690
697847
  const gate = await checkOverageGate();
697691
697848
  if (gate.kind === "not-enabled") {
697692
697849
  onDone("Free ultrareviews used. Enable Extra Usage at https://claude.ai/settings/billing to continue.", {
@@ -697771,7 +697928,7 @@ var init_review = __esm(() => {
697771
697928
  // src/commands/session/session.tsx
697772
697929
  var exports_session = {};
697773
697930
  __export(exports_session, {
697774
- call: () => call38
697931
+ call: () => call39
697775
697932
  });
697776
697933
  function SessionInfo(t0) {
697777
697934
  const $4 = import_compiler_runtime212.c(19);
@@ -697944,7 +698101,7 @@ function _temp251(e4) {
697944
698101
  function _temp136(s4) {
697945
698102
  return s4.remoteSessionUrl;
697946
698103
  }
697947
- var import_compiler_runtime212, import_react165, jsx_runtime287, call38 = async (onDone) => {
698104
+ var import_compiler_runtime212, import_react165, jsx_runtime287, call39 = async (onDone) => {
697948
698105
  return /* @__PURE__ */ jsx_runtime287.jsx(SessionInfo, {
697949
698106
  onDone
697950
698107
  });
@@ -698222,9 +698379,9 @@ var init_SkillsMenu = __esm(() => {
698222
698379
  // src/commands/skills/skills.tsx
698223
698380
  var exports_skills2 = {};
698224
698381
  __export(exports_skills2, {
698225
- call: () => call39
698382
+ call: () => call40
698226
698383
  });
698227
- async function call39(onDone, context8) {
698384
+ async function call40(onDone, context8) {
698228
698385
  return /* @__PURE__ */ jsx_runtime289.jsx(SkillsMenu, {
698229
698386
  onExit: onDone,
698230
698387
  commands: context8.options.commands
@@ -698251,9 +698408,9 @@ var init_skills3 = __esm(() => {
698251
698408
  // src/commands/status/status.tsx
698252
698409
  var exports_status = {};
698253
698410
  __export(exports_status, {
698254
- call: () => call40
698411
+ call: () => call41
698255
698412
  });
698256
- async function call40(onDone, context8) {
698413
+ async function call41(onDone, context8) {
698257
698414
  return /* @__PURE__ */ jsx_runtime290.jsx(Settings, {
698258
698415
  onClose: onDone,
698259
698416
  context: context8,
@@ -698889,7 +699046,7 @@ ${reasons}`,
698889
699046
  } : prev);
698890
699047
  }
698891
699048
  }
698892
- var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://code.claude.com/docs/en/claude-code-on-the-web", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call41 = async (onDone, context8, args) => {
699049
+ var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://code.claude.com/docs/en/claude-code-on-the-web", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call42 = async (onDone, context8, args) => {
698893
699050
  const blurb = args.trim();
698894
699051
  if (!blurb) {
698895
699052
  const msg = await launchUltraplan2({
@@ -698953,7 +699110,7 @@ var init_ultraplan = __esm(() => {
698953
699110
  argumentHint: "<prompt>",
698954
699111
  isEnabled: () => false,
698955
699112
  load: () => Promise.resolve({
698956
- call: call41
699113
+ call: call42
698957
699114
  })
698958
699115
  };
698959
699116
  });
@@ -704127,9 +704284,9 @@ var init_BackgroundTasksDialog = __esm(() => {
704127
704284
  // src/commands/tasks/tasks.tsx
704128
704285
  var exports_tasks = {};
704129
704286
  __export(exports_tasks, {
704130
- call: () => call42
704287
+ call: () => call43
704131
704288
  });
704132
- async function call42(onDone, context8) {
704289
+ async function call43(onDone, context8) {
704133
704290
  return /* @__PURE__ */ jsx_runtime303.jsx(BackgroundTasksDialog, {
704134
704291
  toolUseContext: context8,
704135
704292
  onDone
@@ -704163,9 +704320,9 @@ var init_teleport2 = __esm(() => {
704163
704320
  // src/commands/autocompact/autocompact.tsx
704164
704321
  var exports_autocompact = {};
704165
704322
  __export(exports_autocompact, {
704166
- call: () => call43
704323
+ call: () => call44
704167
704324
  });
704168
- var jsx_runtime304, call43 = async (onDone, context8) => {
704325
+ var jsx_runtime304, call44 = async (onDone, context8) => {
704169
704326
  return /* @__PURE__ */ jsx_runtime304.jsx(Settings, {
704170
704327
  onClose: onDone,
704171
704328
  context: context8,
@@ -704195,7 +704352,7 @@ var init_autocompact2 = __esm(() => {
704195
704352
  // src/commands/autocompact/autocompact-noninteractive.ts
704196
704353
  var exports_autocompact_noninteractive = {};
704197
704354
  __export(exports_autocompact_noninteractive, {
704198
- call: () => call44,
704355
+ call: () => call45,
704199
704356
  autocompactNonInteractive: () => autocompactNonInteractive
704200
704357
  });
704201
704358
  function resolveWindow(model) {
@@ -704267,7 +704424,7 @@ async function setWindow(raw, model) {
704267
704424
  }
704268
704425
  return `Auto-compact window set to ${formatTokens(parsed)} tokens${suffix2}`;
704269
704426
  }
704270
- async function call44(args, context8) {
704427
+ async function call45(args, context8) {
704271
704428
  const raw = (args ?? "").trim();
704272
704429
  const model = context8.options.mainLoopModel;
704273
704430
  if (!raw) {
@@ -704500,9 +704657,9 @@ var init_CdDirectoryPicker = __esm(() => {
704500
704657
  // src/commands/cd/cd.tsx
704501
704658
  var exports_cd = {};
704502
704659
  __export(exports_cd, {
704503
- call: () => call45
704660
+ call: () => call46
704504
704661
  });
704505
- var jsx_runtime306, call45 = async (onDone, _context, args) => {
704662
+ var jsx_runtime306, call46 = async (onDone, _context, args) => {
704506
704663
  const trimmed = (args ?? "").trim();
704507
704664
  if (!trimmed) {
704508
704665
  return /* @__PURE__ */ jsx_runtime306.jsx(CdDirectoryPicker, {
@@ -704542,7 +704699,7 @@ __export(exports_focus, {
704542
704699
  setFocusViewEnabled: () => setFocusViewEnabled,
704543
704700
  isFullscreenActive: () => isFullscreenActive2,
704544
704701
  isFocusViewEnabled: () => isFocusViewEnabled,
704545
- call: () => call46
704702
+ call: () => call47
704546
704703
  });
704547
704704
  function isFocusViewEnabled() {
704548
704705
  return focusViewEnabled;
@@ -704558,7 +704715,7 @@ function isFullscreenActive2() {
704558
704715
  return false;
704559
704716
  return isFullscreenEnvEnabled();
704560
704717
  }
704561
- var focusViewEnabled = false, NEEDS_FULLSCREEN, call46 = async (onDone, _context, _args) => {
704718
+ var focusViewEnabled = false, NEEDS_FULLSCREEN, call47 = async (onDone, _context, _args) => {
704562
704719
  if (!isFullscreenActive2()) {
704563
704720
  onDone(NEEDS_FULLSCREEN, { display: "system" });
704564
704721
  return null;
@@ -704594,9 +704751,9 @@ var init_focus3 = __esm(() => {
704594
704751
  // src/commands/powerup/powerup.ts
704595
704752
  var exports_powerup = {};
704596
704753
  __export(exports_powerup, {
704597
- call: () => call47
704754
+ call: () => call48
704598
704755
  });
704599
- var LESSONS, call47 = async (onDone, _context, _args) => {
704756
+ var LESSONS, call48 = async (onDone, _context, _args) => {
704600
704757
  logEvent2("powerup_discovery_shown");
704601
704758
  const unlocked = new Set;
704602
704759
  let lines2 = `Powerup \u2014 discover Claude Code in 5 minutes
@@ -704719,9 +704876,9 @@ var init_awaySummary = __esm(() => {
704719
704876
  // src/commands/recap/recap.ts
704720
704877
  var exports_recap = {};
704721
704878
  __export(exports_recap, {
704722
- call: () => call48
704879
+ call: () => call49
704723
704880
  });
704724
- var NOTHING_TO_RECAP = "Nothing to recap yet \u2014 send a message first.", call48 = async (_args, context8) => {
704881
+ var NOTHING_TO_RECAP = "Nothing to recap yet \u2014 send a message first.", call49 = async (_args, context8) => {
704725
704882
  const messages = context8.messages ?? [];
704726
704883
  if (messages.length === 0) {
704727
704884
  return { type: "text", value: NOTHING_TO_RECAP };
@@ -704753,9 +704910,9 @@ var init_recap2 = __esm(() => {
704753
704910
  // src/commands/reload-skills/reload-skills.ts
704754
704911
  var exports_reload_skills = {};
704755
704912
  __export(exports_reload_skills, {
704756
- call: () => call49
704913
+ call: () => call50
704757
704914
  });
704758
- var call49 = async () => {
704915
+ var call50 = async () => {
704759
704916
  const cwd2 = getProjectRoot();
704760
704917
  clearCommandsCache();
704761
704918
  const commands7 = await getCommands(cwd2);
@@ -704784,9 +704941,9 @@ var init_reload_skills2 = __esm(() => {
704784
704941
  // src/commands/scroll-speed/scroll-speed.tsx
704785
704942
  var exports_scroll_speed = {};
704786
704943
  __export(exports_scroll_speed, {
704787
- call: () => call50
704944
+ call: () => call51
704788
704945
  });
704789
- var jsx_runtime307, call50 = async (onDone, context8) => {
704946
+ var jsx_runtime307, call51 = async (onDone, context8) => {
704790
704947
  return /* @__PURE__ */ jsx_runtime307.jsx(Settings, {
704791
704948
  onClose: onDone,
704792
704949
  context: context8,
@@ -704815,7 +704972,7 @@ var init_scroll_speed2 = __esm(() => {
704815
704972
  // src/commands/tui/tui.ts
704816
704973
  var exports_tui = {};
704817
704974
  __export(exports_tui, {
704818
- call: () => call51
704975
+ call: () => call52
704819
704976
  });
704820
704977
  function getCurrentRenderer() {
704821
704978
  const setting = getSettings_DEPRECATED().tui;
@@ -704825,7 +704982,7 @@ function getCurrentRenderer() {
704825
704982
  return "default";
704826
704983
  return isFullscreenEnvEnabled() ? "fullscreen" : "default";
704827
704984
  }
704828
- var RENDERERS, call51 = async (onDone, _context, args) => {
704985
+ var RENDERERS, call52 = async (onDone, _context, args) => {
704829
704986
  if (isScreenReaderEnabled()) {
704830
704987
  onDone("Screen-reader mode always uses the classic renderer, so the tui setting has no effect while it is active.", { display: "system" });
704831
704988
  return null;
@@ -705140,9 +705297,9 @@ var init_terminalSetup2 = __esm(() => {
705140
705297
  // src/commands/usage/usage.tsx
705141
705298
  var exports_usage = {};
705142
705299
  __export(exports_usage, {
705143
- call: () => call52
705300
+ call: () => call53
705144
705301
  });
705145
- var jsx_runtime308, call52 = async (onDone, context8) => {
705302
+ var jsx_runtime308, call53 = async (onDone, context8) => {
705146
705303
  return /* @__PURE__ */ jsx_runtime308.jsx(Settings, {
705147
705304
  onClose: onDone,
705148
705305
  context: context8,
@@ -705157,9 +705314,9 @@ var init_usage3 = __esm(() => {
705157
705314
  // src/commands/usage/usage-noninteractive.ts
705158
705315
  var exports_usage_noninteractive = {};
705159
705316
  __export(exports_usage_noninteractive, {
705160
- call: () => call53
705317
+ call: () => call54
705161
705318
  });
705162
- var call53 = async () => {
705319
+ var call54 = async () => {
705163
705320
  const parts = [];
705164
705321
  parts.push(formatTotalCost());
705165
705322
  if (isClaudeAISubscriber()) {
@@ -705211,7 +705368,7 @@ var init_usage4 = __esm(() => {
705211
705368
  // src/commands/theme/theme.tsx
705212
705369
  var exports_theme = {};
705213
705370
  __export(exports_theme, {
705214
- call: () => call54
705371
+ call: () => call55
705215
705372
  });
705216
705373
  function ThemePickerCommand(t0) {
705217
705374
  const $4 = import_compiler_runtime222.c(8);
@@ -705263,7 +705420,7 @@ function ThemePickerCommand(t0) {
705263
705420
  }
705264
705421
  return t32;
705265
705422
  }
705266
- var import_compiler_runtime222, jsx_runtime309, call54 = async (onDone, _context) => {
705423
+ var import_compiler_runtime222, jsx_runtime309, call55 = async (onDone, _context) => {
705267
705424
  return /* @__PURE__ */ jsx_runtime309.jsx(ThemePickerCommand, {
705268
705425
  onDone
705269
705426
  });
@@ -705293,7 +705450,7 @@ var init_theme4 = __esm(() => {
705293
705450
  var exports_thinkback = {};
705294
705451
  __export(exports_thinkback, {
705295
705452
  playAnimation: () => playAnimation,
705296
- call: () => call55
705453
+ call: () => call56
705297
705454
  });
705298
705455
  import { readFile as readFile56 } from "fs/promises";
705299
705456
  import { join as join153 } from "path";
@@ -705830,7 +705987,7 @@ function ThinkbackFlow(t0) {
705830
705987
  }
705831
705988
  return t8;
705832
705989
  }
705833
- async function call55(onDone) {
705990
+ async function call56(onDone) {
705834
705991
  return /* @__PURE__ */ jsx_runtime310.jsx(ThinkbackFlow, {
705835
705992
  onDone
705836
705993
  });
@@ -705878,14 +706035,14 @@ var init_thinkback2 = __esm(() => {
705878
706035
  // src/commands/thinkback-play/thinkback-play.ts
705879
706036
  var exports_thinkback_play = {};
705880
706037
  __export(exports_thinkback_play, {
705881
- call: () => call56
706038
+ call: () => call57
705882
706039
  });
705883
706040
  import { join as join154 } from "path";
705884
706041
  function getPluginId2() {
705885
706042
  const marketplaceName = process.env.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_NAME : OFFICIAL_MARKETPLACE_NAME;
705886
706043
  return `thinkback@${marketplaceName}`;
705887
706044
  }
705888
- async function call56() {
706045
+ async function call57() {
705889
706046
  const v2Data = loadInstalledPluginsV2();
705890
706047
  const pluginId = getPluginId2();
705891
706048
  const installations = v2Data.plugins[pluginId];
@@ -708372,9 +708529,9 @@ var init_PermissionRuleList = __esm(() => {
708372
708529
  // src/commands/permissions/permissions.tsx
708373
708530
  var exports_permissions2 = {};
708374
708531
  __export(exports_permissions2, {
708375
- call: () => call57
708532
+ call: () => call58
708376
708533
  });
708377
- var jsx_runtime318, call57 = async (onDone, context8) => {
708534
+ var jsx_runtime318, call58 = async (onDone, context8) => {
708378
708535
  return /* @__PURE__ */ jsx_runtime318.jsx(PermissionRuleList, {
708379
708536
  onExit: onDone,
708380
708537
  onRetryDenials: (commands7) => {
@@ -708404,7 +708561,7 @@ var init_permissions4 = __esm(() => {
708404
708561
  // src/commands/plan/plan.tsx
708405
708562
  var exports_plan = {};
708406
708563
  __export(exports_plan, {
708407
- call: () => call58
708564
+ call: () => call59
708408
708565
  });
708409
708566
  function PlanDisplay(t0) {
708410
708567
  const $4 = import_compiler_runtime231.c(11);
@@ -708492,7 +708649,7 @@ function PlanDisplay(t0) {
708492
708649
  }
708493
708650
  return t5;
708494
708651
  }
708495
- async function call58(onDone, context8, args) {
708652
+ async function call59(onDone, context8, args) {
708496
708653
  const {
708497
708654
  getAppState,
708498
708655
  setAppState
@@ -708638,7 +708795,7 @@ var init_FastIcon = __esm(() => {
708638
708795
  // src/commands/fast/fast.tsx
708639
708796
  var exports_fast = {};
708640
708797
  __export(exports_fast, {
708641
- call: () => call59,
708798
+ call: () => call60,
708642
708799
  FastModePicker: () => FastModePicker
708643
708800
  });
708644
708801
  function applyFastMode(enable2, setAppState) {
@@ -708959,7 +709116,7 @@ async function handleFastModeShortcut(enable2, getAppState, setAppState) {
708959
709116
  return `Fast mode OFF`;
708960
709117
  }
708961
709118
  }
708962
- async function call59(onDone, context8, args) {
709119
+ async function call60(onDone, context8, args) {
708963
709120
  if (!isFastModeEnabled()) {
708964
709121
  return null;
708965
709122
  }
@@ -709278,9 +709435,9 @@ var init_Passes = __esm(() => {
709278
709435
  // src/commands/passes/passes.tsx
709279
709436
  var exports_passes = {};
709280
709437
  __export(exports_passes, {
709281
- call: () => call60
709438
+ call: () => call61
709282
709439
  });
709283
- async function call60(onDone) {
709440
+ async function call61(onDone) {
709284
709441
  const config8 = getGlobalConfig();
709285
709442
  const isFirstVisit = !config8.hasVisitedPasses;
709286
709443
  if (isFirstVisit) {
@@ -710052,9 +710209,9 @@ var init_Grove = __esm(() => {
710052
710209
  // src/commands/privacy-settings/privacy-settings.tsx
710053
710210
  var exports_privacy_settings = {};
710054
710211
  __export(exports_privacy_settings, {
710055
- call: () => call61
710212
+ call: () => call62
710056
710213
  });
710057
- async function call61(onDone) {
710214
+ async function call62(onDone) {
710058
710215
  const qualified = await isQualifiedForGrove();
710059
710216
  if (!qualified) {
710060
710217
  onDone(FALLBACK_MESSAGE);
@@ -711940,9 +712097,9 @@ var init_HooksConfigMenu = __esm(() => {
711940
712097
  // src/commands/hooks/hooks.tsx
711941
712098
  var exports_hooks = {};
711942
712099
  __export(exports_hooks, {
711943
- call: () => call62
712100
+ call: () => call63
711944
712101
  });
711945
- var jsx_runtime331, call62 = async (onDone, context8) => {
712102
+ var jsx_runtime331, call63 = async (onDone, context8) => {
711946
712103
  logEvent2("tengu_hooks_command", {});
711947
712104
  const appState = context8.getAppState();
711948
712105
  const permissionContext = appState.toolPermissionContext;
@@ -711975,10 +712132,10 @@ var init_hooks3 = __esm(() => {
711975
712132
  // src/commands/files/files.ts
711976
712133
  var exports_files2 = {};
711977
712134
  __export(exports_files2, {
711978
- call: () => call63
712135
+ call: () => call64
711979
712136
  });
711980
712137
  import { relative as relative30 } from "path";
711981
- async function call63(_args, context8) {
712138
+ async function call64(_args, context8) {
711982
712139
  const files2 = context8.readFileState ? cacheKeys(context8.readFileState) : [];
711983
712140
  if (files2.length === 0) {
711984
712141
  return { type: "text", value: "No files in context" };
@@ -712011,7 +712168,7 @@ var init_files5 = __esm(() => {
712011
712168
  var exports_branch = {};
712012
712169
  __export(exports_branch, {
712013
712170
  deriveFirstPrompt: () => deriveFirstPrompt,
712014
- call: () => call64
712171
+ call: () => call65
712015
712172
  });
712016
712173
  import { randomUUID as randomUUID37 } from "crypto";
712017
712174
  import { mkdir as mkdir46, readFile as readFile57, writeFile as writeFile50 } from "fs/promises";
@@ -712131,7 +712288,7 @@ async function getUniqueForkName(baseName) {
712131
712288
  }
712132
712289
  return `${baseName} (Branch ${nextNumber})`;
712133
712290
  }
712134
- async function call64(onDone, context8, args) {
712291
+ async function call65(onDone, context8, args) {
712135
712292
  const customTitle = args?.trim() || undefined;
712136
712293
  const originalSessionId = getSessionId();
712137
712294
  try {
@@ -712210,9 +712367,9 @@ var init_branch2 = __esm(() => {
712210
712367
  // src/commands/agents/agents.ts
712211
712368
  var exports_agents = {};
712212
712369
  __export(exports_agents, {
712213
- call: () => call65
712370
+ call: () => call66
712214
712371
  });
712215
- var call65 = async () => ({
712372
+ var call66 = async () => ({
712216
712373
  type: "text",
712217
712374
  value: `The /agents wizard has been removed.
712218
712375
  Ask Claude to create or update subagents for you (e.g. "create a code-reviewer subagent that ..."),
@@ -712238,9 +712395,9 @@ var init_agents = __esm(() => {
712238
712395
  // src/commands/plugin/plugin.tsx
712239
712396
  var exports_plugin = {};
712240
712397
  __export(exports_plugin, {
712241
- call: () => call66
712398
+ call: () => call67
712242
712399
  });
712243
- async function call66(onDone, _context, args) {
712400
+ async function call67(onDone, _context, args) {
712244
712401
  return /* @__PURE__ */ jsx_runtime332.jsx(PluginSettings, {
712245
712402
  onComplete: onDone,
712246
712403
  args
@@ -712787,12 +712944,12 @@ var init_refresh = __esm(() => {
712787
712944
  // src/commands/reload-plugins/reload-plugins.ts
712788
712945
  var exports_reload_plugins = {};
712789
712946
  __export(exports_reload_plugins, {
712790
- call: () => call67
712947
+ call: () => call68
712791
712948
  });
712792
712949
  function n5(count4, noun) {
712793
712950
  return `${count4} ${plural(count4, noun)}`;
712794
712951
  }
712795
- var call67 = async (_args, context8) => {
712952
+ var call68 = async (_args, context8) => {
712796
712953
  if (feature("DOWNLOAD_USER_SETTINGS") && (isEnvTruthy(process.env.CLAUDE_CODE_REMOTE) || getIsRemoteMode())) {
712797
712954
  const applied = await redownloadUserSettings();
712798
712955
  if (applied) {
@@ -712850,9 +713007,9 @@ var init_resumeBeforeClear = __esm(() => {
712850
713007
  // src/commands/rewind/rewind.ts
712851
713008
  var exports_rewind = {};
712852
713009
  __export(exports_rewind, {
712853
- call: () => call68
713010
+ call: () => call69
712854
713011
  });
712855
- async function call68(_args, context8) {
713012
+ async function call69(_args, context8) {
712856
713013
  if (context8.openMessageSelector) {
712857
713014
  context8.openMessageSelector();
712858
713015
  }
@@ -713040,9 +713197,9 @@ var init_heapDumpService = __esm(() => {
713040
713197
  // src/commands/heapdump/heapdump.ts
713041
713198
  var exports_heapdump = {};
713042
713199
  __export(exports_heapdump, {
713043
- call: () => call69
713200
+ call: () => call70
713044
713201
  });
713045
- async function call69() {
713202
+ async function call70() {
713046
713203
  const result = await performHeapDump();
713047
713204
  if (!result.success) {
713048
713205
  return {
@@ -713413,7 +713570,7 @@ var USAGE = `/bridge-kick <subcommand>
713413
713570
  reconnect-session fail next POST /bridge/reconnect fails
713414
713571
  heartbeat <status> next heartbeat throws BridgeFatalError(status)
713415
713572
  reconnect call reconnectEnvironmentWithSession directly
713416
- status print bridge state`, call70 = async (args) => {
713573
+ status print bridge state`, call71 = async (args) => {
713417
713574
  const h5 = getBridgeDebugHandle();
713418
713575
  if (!h5) {
713419
713576
  return {
@@ -713546,13 +713703,13 @@ var init_bridge_kick = __esm(() => {
713546
713703
  description: "Inject bridge failure states for manual recovery testing",
713547
713704
  isEnabled: () => process.env.USER_TYPE === "ant",
713548
713705
  supportsNonInteractive: false,
713549
- load: () => Promise.resolve({ call: call70 })
713706
+ load: () => Promise.resolve({ call: call71 })
713550
713707
  };
713551
713708
  bridge_kick_default = bridgeKick;
713552
713709
  });
713553
713710
 
713554
713711
  // src/commands/version.ts
713555
- var call71 = async () => {
713712
+ var call72 = async () => {
713556
713713
  return {
713557
713714
  type: "text",
713558
713715
  value: MACRO.BUILD_TIME ? `${MACRO.VERSION} (built ${MACRO.BUILD_TIME})` : MACRO.VERSION
@@ -713565,7 +713722,7 @@ var init_version = __esm(() => {
713565
713722
  description: "Print the version this session is running (not what autoupdate downloaded)",
713566
713723
  isEnabled: () => process.env.USER_TYPE === "ant",
713567
713724
  supportsNonInteractive: true,
713568
- load: () => Promise.resolve({ call: call71 })
713725
+ load: () => Promise.resolve({ call: call72 })
713569
713726
  };
713570
713727
  version_default = version5;
713571
713728
  });
@@ -714725,10 +714882,10 @@ var init_SandboxSettings = __esm(() => {
714725
714882
  // src/commands/sandbox-toggle/sandbox-toggle.tsx
714726
714883
  var exports_sandbox_toggle = {};
714727
714884
  __export(exports_sandbox_toggle, {
714728
- call: () => call72
714885
+ call: () => call73
714729
714886
  });
714730
714887
  import { relative as relative31 } from "path";
714731
- async function call72(onDone, _context, args) {
714888
+ async function call73(onDone, _context, args) {
714732
714889
  const settings = getSettings_DEPRECATED();
714733
714890
  const themeName = settings.theme || "light";
714734
714891
  const platform6 = getPlatform();
@@ -715110,7 +715267,7 @@ var init_setup2 = __esm(() => {
715110
715267
  // src/commands/chrome/chrome.tsx
715111
715268
  var exports_chrome2 = {};
715112
715269
  __export(exports_chrome2, {
715113
- call: () => call73
715270
+ call: () => call74
715114
715271
  });
715115
715272
  function ClaudeInChromeMenu(t0) {
715116
715273
  const $4 = import_compiler_runtime244.c(41);
@@ -715477,7 +715634,7 @@ function _temp266(c9) {
715477
715634
  function _temp158(s4) {
715478
715635
  return s4.mcp.clients;
715479
715636
  }
715480
- var import_compiler_runtime244, import_react181, jsx_runtime338, CHROME_EXTENSION_URL = "https://claude.ai/chrome", CHROME_PERMISSIONS_URL = "https://clau.de/chrome/permissions", CHROME_RECONNECT_URL = "https://clau.de/chrome/reconnect", call73 = async function(onDone) {
715637
+ var import_compiler_runtime244, import_react181, jsx_runtime338, CHROME_EXTENSION_URL = "https://claude.ai/chrome", CHROME_PERMISSIONS_URL = "https://clau.de/chrome/permissions", CHROME_RECONNECT_URL = "https://clau.de/chrome/reconnect", call74 = async function(onDone) {
715481
715638
  const isExtensionInstalled = await isChromeExtensionInstalled();
715482
715639
  const config8 = getGlobalConfig();
715483
715640
  const isSubscriber2 = isClaudeAISubscriber();
@@ -715525,9 +715682,9 @@ var init_chrome3 = __esm(() => {
715525
715682
  // src/commands/stickers/stickers.ts
715526
715683
  var exports_stickers = {};
715527
715684
  __export(exports_stickers, {
715528
- call: () => call74
715685
+ call: () => call75
715529
715686
  });
715530
- async function call74() {
715687
+ async function call75() {
715531
715688
  const url3 = "https://www.stickermule.com/claudecode";
715532
715689
  const success2 = await openBrowser(url3);
715533
715690
  if (success2) {
@@ -715557,7 +715714,7 @@ var init_stickers2 = __esm(() => {
715557
715714
  });
715558
715715
 
715559
715716
  // src/commands/advisor.ts
715560
- var call75 = async (args, context8) => {
715717
+ var call76 = async (args, context8) => {
715561
715718
  const arg = args.trim().toLowerCase();
715562
715719
  const baseModel = parseUserSpecifiedModel(context8.getAppState().mainLoopModel ?? getDefaultMainLoopModelSetting());
715563
715720
  if (!arg) {
@@ -715650,7 +715807,7 @@ var init_advisor2 = __esm(() => {
715650
715807
  return !canUserConfigureAdvisor();
715651
715808
  },
715652
715809
  supportsNonInteractive: true,
715653
- load: () => Promise.resolve({ call: call75 })
715810
+ load: () => Promise.resolve({ call: call76 })
715654
715811
  };
715655
715812
  advisor_default = advisor;
715656
715813
  });
@@ -716066,13 +716223,13 @@ var init_ExitFlow = __esm(() => {
716066
716223
  // src/commands/exit/exit.tsx
716067
716224
  var exports_exit = {};
716068
716225
  __export(exports_exit, {
716069
- call: () => call76
716226
+ call: () => call77
716070
716227
  });
716071
716228
  import { spawnSync as spawnSync11 } from "child_process";
716072
716229
  function getRandomGoodbyeMessage2() {
716073
716230
  return sample_default(GOODBYE_MESSAGES2) ?? "Goodbye!";
716074
716231
  }
716075
- async function call76(onDone) {
716232
+ async function call77(onDone) {
716076
716233
  if (feature("BG_SESSIONS") && isBgSession()) {
716077
716234
  onDone();
716078
716235
  spawnSync11("tmux", ["detach-client"], {
@@ -716375,7 +716532,7 @@ __export(exports_export, {
716375
716532
  sanitizeFilename: () => sanitizeFilename,
716376
716533
  resolveExportFilepath: () => resolveExportFilepath,
716377
716534
  extractFirstPrompt: () => extractFirstPrompt,
716378
- call: () => call77
716535
+ call: () => call78
716379
716536
  });
716380
716537
  import { dirname as dirname70 } from "path";
716381
716538
  import { mkdirSync as mkdirSync12 } from "fs";
@@ -716422,7 +716579,7 @@ async function exportWithReactRenderer(context8) {
716422
716579
  const tools = context8.options.tools || [];
716423
716580
  return renderMessagesToPlainText(context8.messages, tools);
716424
716581
  }
716425
- async function call77(onDone, context8, args) {
716582
+ async function call78(onDone, context8, args) {
716426
716583
  const content = await exportWithReactRenderer(context8);
716427
716584
  const filename = args.trim();
716428
716585
  if (filename) {
@@ -716484,7 +716641,7 @@ var exports_model2 = {};
716484
716641
  __export(exports_model2, {
716485
716642
  saveModelAsDefault: () => saveModelAsDefault,
716486
716643
  renderModelSaveFailureSuffix: () => renderModelSaveFailureSuffix,
716487
- call: () => call78
716644
+ call: () => call79
716488
716645
  });
716489
716646
  import { homedir as homedir42 } from "os";
716490
716647
  function saveModelAsDefault(model) {
@@ -716743,7 +716900,7 @@ function renderModelLabel(model) {
716743
716900
  const rendered = renderDefaultModelSetting(model ?? getDefaultMainLoopModelSetting());
716744
716901
  return model === null ? `${rendered} (default)` : rendered;
716745
716902
  }
716746
- var React106, jsx_runtime345, MODEL_PICKER_PIN_HEADER = "Switch between Claude models. Your pick becomes the default for new sessions. For other/previous model names, specify with --model.", call78 = async (onDone, _context, args) => {
716903
+ var React106, jsx_runtime345, MODEL_PICKER_PIN_HEADER = "Switch between Claude models. Your pick becomes the default for new sessions. For other/previous model names, specify with --model.", call79 = async (onDone, _context, args) => {
716747
716904
  args = args?.trim() || "";
716748
716905
  if (COMMON_INFO_ARGS.includes(args)) {
716749
716906
  logEvent2("tengu_model_command_inline_help", {
@@ -717309,9 +717466,9 @@ var init_RemoteEnvironmentDialog = __esm(() => {
717309
717466
  // src/commands/remote-env/remote-env.tsx
717310
717467
  var exports_remote_env = {};
717311
717468
  __export(exports_remote_env, {
717312
- call: () => call79
717469
+ call: () => call80
717313
717470
  });
717314
- async function call79(onDone) {
717471
+ async function call80(onDone) {
717315
717472
  return /* @__PURE__ */ jsx_runtime347.jsx(RemoteEnvironmentDialog, {
717316
717473
  onDone
717317
717474
  });
@@ -717342,9 +717499,9 @@ var init_remote_env2 = __esm(() => {
717342
717499
  // src/commands/upgrade/upgrade.tsx
717343
717500
  var exports_upgrade = {};
717344
717501
  __export(exports_upgrade, {
717345
- call: () => call80
717502
+ call: () => call81
717346
717503
  });
717347
- async function call80(onDone, context8) {
717504
+ async function call81(onDone, context8) {
717348
717505
  try {
717349
717506
  if (isClaudeAISubscriber()) {
717350
717507
  const tokens = getClaudeAIOAuthTokens();
@@ -717437,7 +717594,7 @@ var init_usage_credits2 = __esm(() => {
717437
717594
  // src/commands/rate-limit-options/rate-limit-options.tsx
717438
717595
  var exports_rate_limit_options = {};
717439
717596
  __export(exports_rate_limit_options, {
717440
- call: () => call81
717597
+ call: () => call82
717441
717598
  });
717442
717599
  function RateLimitOptionsMenu(t0) {
717443
717600
  const $4 = import_compiler_runtime247.c(25);
@@ -717571,7 +717728,7 @@ function RateLimitOptionsMenu(t0) {
717571
717728
  t5 = function handleSelect2(value) {
717572
717729
  if (value === "upgrade") {
717573
717730
  logEvent2("tengu_rate_limit_options_menu_select_upgrade", {});
717574
- call80(onDone, context8).then((jsx346) => {
717731
+ call81(onDone, context8).then((jsx346) => {
717575
717732
  if (jsx346) {
717576
717733
  setSubCommandJSX(jsx346);
717577
717734
  }
@@ -717631,7 +717788,7 @@ function RateLimitOptionsMenu(t0) {
717631
717788
  }
717632
717789
  return t7;
717633
717790
  }
717634
- async function call81(onDone, context8) {
717791
+ async function call82(onDone, context8) {
717635
717792
  return /* @__PURE__ */ jsx_runtime349.jsx(RateLimitOptionsMenu, {
717636
717793
  onDone,
717637
717794
  context: context8
@@ -717705,7 +717862,7 @@ var exports_effort = {};
717705
717862
  __export(exports_effort, {
717706
717863
  showCurrentEffort: () => showCurrentEffort,
717707
717864
  executeEffort: () => executeEffort,
717708
- call: () => call82
717865
+ call: () => call83
717709
717866
  });
717710
717867
  function setEffortValue(effortValue) {
717711
717868
  const model = getMainLoopModel();
@@ -717902,7 +718059,7 @@ function ApplyEffortAndClose(t0) {
717902
718059
  React108.useEffect(t1, t22);
717903
718060
  return null;
717904
718061
  }
717905
- async function call82(onDone, _context, args) {
718062
+ async function call83(onDone, _context, args) {
717906
718063
  args = args?.trim() || "";
717907
718064
  if (COMMON_HELP_ARGS2.includes(args)) {
717908
718065
  const model = getMainLoopModel();
@@ -718030,7 +718187,7 @@ var init_team_onboarding = __esm(() => {
718030
718187
  });
718031
718188
 
718032
718189
  // src/commands/setup-bedrock.ts
718033
- var DEFAULT_REGION = "us-east-1", call83 = async (args) => {
718190
+ var DEFAULT_REGION = "us-east-1", call84 = async (args) => {
718034
718191
  const parts = args.trim().split(/\s+/).filter(Boolean);
718035
718192
  const region = parts[0] || DEFAULT_REGION;
718036
718193
  const model = parts[1];
@@ -718069,13 +718226,13 @@ var init_setup_bedrock = __esm(() => {
718069
718226
  description: "Configure AWS Bedrock as the API provider",
718070
718227
  argumentHint: "[aws-region] [model]",
718071
718228
  supportsNonInteractive: true,
718072
- load: () => Promise.resolve({ call: call83 })
718229
+ load: () => Promise.resolve({ call: call84 })
718073
718230
  };
718074
718231
  setup_bedrock_default = setupBedrock;
718075
718232
  });
718076
718233
 
718077
718234
  // src/commands/setup-vertex.ts
718078
- var DEFAULT_REGION2 = "us-east5", call84 = async (args) => {
718235
+ var DEFAULT_REGION2 = "us-east5", call85 = async (args) => {
718079
718236
  const parts = args.trim().split(/\s+/).filter(Boolean);
718080
718237
  const projectId = parts[0];
718081
718238
  const region = parts[1] || DEFAULT_REGION2;
@@ -718123,7 +718280,7 @@ var init_setup_vertex = __esm(() => {
718123
718280
  description: "Configure Google Vertex AI as the API provider",
718124
718281
  argumentHint: "[gcp-project-id] [region] [model]",
718125
718282
  supportsNonInteractive: true,
718126
- load: () => Promise.resolve({ call: call84 })
718283
+ load: () => Promise.resolve({ call: call85 })
718127
718284
  };
718128
718285
  setup_vertex_default = setupVertex;
718129
718286
  });
@@ -718717,7 +718874,7 @@ var init_assistant2 = () => {};
718717
718874
  // src/commands/bridge/bridge.tsx
718718
718875
  var exports_bridge = {};
718719
718876
  __export(exports_bridge, {
718720
- call: () => call85
718877
+ call: () => call86
718721
718878
  });
718722
718879
  function BridgeToggle(t0) {
718723
718880
  const $4 = import_compiler_runtime251.c(10);
@@ -719221,7 +719378,7 @@ async function checkBridgePrerequisites() {
719221
719378
  logForDebugging("[bridge] Prerequisites passed, enabling bridge");
719222
719379
  return null;
719223
719380
  }
719224
- async function call85(onDone, _context, args) {
719381
+ async function call86(onDone, _context, args) {
719225
719382
  const name3 = args.trim() || undefined;
719226
719383
  return /* @__PURE__ */ jsx_runtime354.jsx(BridgeToggle, {
719227
719384
  onDone,
@@ -720029,9 +720186,9 @@ var init_useVoice = __esm(() => {
720029
720186
  // src/commands/voice/voice.ts
720030
720187
  var exports_voice3 = {};
720031
720188
  __export(exports_voice3, {
720032
- call: () => call86
720189
+ call: () => call87
720033
720190
  });
720034
- var LANG_HINT_MAX_SHOWS = 2, call86 = async () => {
720191
+ var LANG_HINT_MAX_SHOWS = 2, call87 = async () => {
720035
720192
  if (!isVoiceModeEnabled()) {
720036
720193
  if (!isAnthropicAuthEnabled()) {
720037
720194
  return {
@@ -720756,9 +720913,9 @@ var init_WorkflowDetailDialog2 = __esm(() => {
720756
720913
  // src/commands/workflows/workflows.tsx
720757
720914
  var exports_workflows = {};
720758
720915
  __export(exports_workflows, {
720759
- call: () => call87
720916
+ call: () => call88
720760
720917
  });
720761
- var jsx_runtime356, call87 = (onDone, _context, _args) => {
720918
+ var jsx_runtime356, call88 = (onDone, _context, _args) => {
720762
720919
  logEvent2("workflow_history_dialog", {});
720763
720920
  return Promise.resolve(/* @__PURE__ */ jsx_runtime356.jsx(WorkflowDetailDialog3, {
720764
720921
  onDone
@@ -720937,7 +721094,7 @@ var init_api5 = __esm(() => {
720937
721094
  // src/commands/remote-setup/remote-setup.tsx
720938
721095
  var exports_remote_setup = {};
720939
721096
  __export(exports_remote_setup, {
720940
- call: () => call88
721097
+ call: () => call89
720941
721098
  });
720942
721099
  async function checkLoginState() {
720943
721100
  if (!await isSignedIn()) {
@@ -721097,7 +721254,7 @@ function Web({
721097
721254
  ]
721098
721255
  });
721099
721256
  }
721100
- async function call88(onDone) {
721257
+ async function call89(onDone) {
721101
721258
  return /* @__PURE__ */ jsx_runtime357.jsx(Web, {
721102
721259
  onDone
721103
721260
  });
@@ -721275,10 +721432,10 @@ var init_confirmation = __esm(() => {
721275
721432
  // src/commands/fork/fork.ts
721276
721433
  var exports_fork = {};
721277
721434
  __export(exports_fork, {
721278
- call: () => call89
721435
+ call: () => call90
721279
721436
  });
721280
721437
  import { randomUUID as randomUUID38 } from "crypto";
721281
- var call89 = async (onDone, context8, args) => {
721438
+ var call90 = async (onDone, context8, args) => {
721282
721439
  const directive = (args ?? "").trim();
721283
721440
  if (!directive) {
721284
721441
  onDone("Usage: /fork <directive>", { display: "system" });
@@ -723775,6 +723932,7 @@ var init_commands5 = __esm(() => {
723775
723932
  init_mcp3();
723776
723933
  init_mobile2();
723777
723934
  init_onboarding();
723935
+ init_output_style2();
723778
723936
  init_pr_comments();
723779
723937
  init_release_notes2();
723780
723938
  init_rename2();
@@ -723958,6 +724116,7 @@ var init_commands5 = __esm(() => {
723958
724116
  pause_memory_default,
723959
724117
  mobile_default,
723960
724118
  model_default,
724119
+ output_style_default,
723961
724120
  remote_env_default,
723962
724121
  plugin_default,
723963
724122
  powerup_default,
@@ -743745,7 +743904,7 @@ function sdkCompatToolName(name3) {
743745
743904
  }
743746
743905
  function buildSystemInitMessage(inputs) {
743747
743906
  const settings = getSettings_DEPRECATED();
743748
- const outputStyle = settings?.outputStyle ?? DEFAULT_OUTPUT_STYLE_NAME;
743907
+ const outputStyle2 = settings?.outputStyle ?? DEFAULT_OUTPUT_STYLE_NAME;
743749
743908
  const mcpClientNames = new Set(inputs.mcpClients.map((client8) => client8.name));
743750
743909
  const filteredMcpServerErrors = inputs.mcpServerErrors.filter((error52) => !mcpClientNames.has(error52.name));
743751
743910
  const initMessage = {
@@ -743771,7 +743930,7 @@ function buildSystemInitMessage(inputs) {
743771
743930
  apiKeySource: getAnthropicApiKeyWithSource().source,
743772
743931
  betas: getSdkBetas(),
743773
743932
  claude_code_version: MACRO.VERSION,
743774
- output_style: outputStyle,
743933
+ output_style: outputStyle2,
743775
743934
  agents: inputs.agents.map((agent) => agent.agentType),
743776
743935
  skills: inputs.skills.filter((s4) => s4.userInvocable !== false).map((skill) => skill.name),
743777
743936
  plugins: inputs.plugins.map((plugin2) => ({
@@ -776730,7 +776889,7 @@ var init_PromptInputStashNotice = __esm(() => {
776730
776889
  });
776731
776890
 
776732
776891
  // src/components/PromptInput/sanitizeBannerText.ts
776733
- function stripLoneSurrogates(text2) {
776892
+ function stripLoneSurrogates2(text2) {
776734
776893
  if (isWellFormed && isWellFormed(text2))
776735
776894
  return text2;
776736
776895
  return text2.replace(LONE_SURROGATE_RE, "");
@@ -776749,7 +776908,7 @@ function replaceControlsWithSpace(text2) {
776749
776908
  return text2.replace(CONTROL_FORMAT_RE, " ");
776750
776909
  }
776751
776910
  function sanitizeBannerText(text2) {
776752
- return replaceControlsWithSpace(stripAnsiSequences(stripLoneSurrogates(text2))).replace(/ {2,}/g, " ").trim();
776911
+ return replaceControlsWithSpace(stripAnsiSequences(stripLoneSurrogates2(text2))).replace(/ {2,}/g, " ").trim();
776753
776912
  }
776754
776913
  function clampBannerTextWidth(maxWidth) {
776755
776914
  return Math.max(1, Math.min(BANNER_TEXT_MAX_WIDTH, maxWidth - 1));
@@ -823286,7 +823445,7 @@ async function handleInitializeRequest(request5, requestId, initialized5, output
823286
823445
  }
823287
823446
  }
823288
823447
  const settings = getSettings_DEPRECATED();
823289
- const outputStyle = settings?.outputStyle || DEFAULT_OUTPUT_STYLE_NAME;
823448
+ const outputStyle2 = settings?.outputStyle || DEFAULT_OUTPUT_STYLE_NAME;
823290
823449
  const availableOutputStyles = await getAllOutputStyles(getCwd());
823291
823450
  const accountInfo = getAccountInformation();
823292
823451
  if (request5.hooks) {
@@ -823318,7 +823477,7 @@ async function handleInitializeRequest(request5, requestId, initialized5, output
823318
823477
  description: agent.whenToUse,
823319
823478
  model: agent.model === "inherit" ? undefined : agent.model
823320
823479
  })),
823321
- output_style: outputStyle,
823480
+ output_style: outputStyle2,
823322
823481
  available_output_styles: Object.keys(availableOutputStyles),
823323
823482
  models: modelInfos,
823324
823483
  account: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cnwenf/occ",
3
- "version": "2.1.334",
3
+ "version": "2.1.335",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "bin": {