thatgfsj-code 3.0.12 → 3.0.13

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 (49) hide show
  1. package/README.md +4 -0
  2. package/dist/app/index.d.ts +20 -0
  3. package/dist/app/index.d.ts.map +1 -1
  4. package/dist/app/index.js +47 -0
  5. package/dist/app/index.js.map +1 -1
  6. package/dist/cmd/index.js +14 -0
  7. package/dist/cmd/index.js.map +1 -1
  8. package/dist/config/types.d.ts +15 -0
  9. package/dist/config/types.d.ts.map +1 -1
  10. package/dist/prompts/index.js +1 -1
  11. package/dist/prompts/index.js.map +1 -1
  12. package/dist/setup/browser-setup.d.ts +13 -0
  13. package/dist/setup/browser-setup.d.ts.map +1 -0
  14. package/dist/setup/browser-setup.js +70 -0
  15. package/dist/setup/browser-setup.js.map +1 -0
  16. package/dist/tools/browser.d.ts +77 -0
  17. package/dist/tools/browser.d.ts.map +1 -0
  18. package/dist/tools/browser.js +264 -0
  19. package/dist/tools/browser.js.map +1 -0
  20. package/dist/tools/index.d.ts +1 -0
  21. package/dist/tools/index.d.ts.map +1 -1
  22. package/dist/tools/index.js +3 -0
  23. package/dist/tools/index.js.map +1 -1
  24. package/dist/tui/app.d.ts.map +1 -1
  25. package/dist/tui/app.js +7 -5
  26. package/dist/tui/app.js.map +1 -1
  27. package/dist/tui/components/ChatList.d.ts +8 -16
  28. package/dist/tui/components/ChatList.d.ts.map +1 -1
  29. package/dist/tui/components/ChatList.js +11 -52
  30. package/dist/tui/components/ChatList.js.map +1 -1
  31. package/dist/tui/components/ChatMessage.d.ts +5 -0
  32. package/dist/tui/components/ChatMessage.d.ts.map +1 -1
  33. package/dist/tui/components/ChatMessage.js +5 -4
  34. package/dist/tui/components/ChatMessage.js.map +1 -1
  35. package/dist/tui/components/ModelSettings.d.ts.map +1 -1
  36. package/dist/tui/components/ModelSettings.js +18 -2
  37. package/dist/tui/components/ModelSettings.js.map +1 -1
  38. package/dist/tui/components/StatusBar.d.ts +16 -2
  39. package/dist/tui/components/StatusBar.d.ts.map +1 -1
  40. package/dist/tui/components/StatusBar.js +18 -4
  41. package/dist/tui/components/StatusBar.js.map +1 -1
  42. package/dist/tui/hooks/useChat.d.ts.map +1 -1
  43. package/dist/tui/hooks/useChat.js +16 -5
  44. package/dist/tui/hooks/useChat.js.map +1 -1
  45. package/dist/utils/tokens.d.ts +14 -0
  46. package/dist/utils/tokens.d.ts.map +1 -0
  47. package/dist/utils/tokens.js +32 -0
  48. package/dist/utils/tokens.js.map +1 -0
  49. package/package.json +2 -1
@@ -61,6 +61,16 @@ export function ModelSettings({ app, onClose, width }) {
61
61
  setSubmode(null);
62
62
  flash(`${active} 上下文长度 → ${n}`);
63
63
  }
64
+ else if (submode.type === 'window') {
65
+ const n = parseInt(submode.value, 10);
66
+ if (!Number.isFinite(n) || n < 1000 || n > 10000000) {
67
+ setSubmode({ ...submode, error: '请输入 1,000-10,000,000 的 token 数' });
68
+ return;
69
+ }
70
+ await app.setModelContextWindow(active, n);
71
+ setSubmode(null);
72
+ flash(`${active} 上下文窗口 → ${n} tokens(85% 时自动压缩)`);
73
+ }
64
74
  };
65
75
  const cycleThinking = async () => {
66
76
  const order = ['off', 'low', 'medium', 'high'];
@@ -124,6 +134,10 @@ export function ModelSettings({ app, onClose, width }) {
124
134
  setSubmode({ type: 'context', value: String(cur) });
125
135
  return;
126
136
  }
137
+ if (input === 'w' || input === 'W') {
138
+ setSubmode({ type: 'window', value: String(app.getContextWindow(active)) });
139
+ return;
140
+ }
127
141
  if (input === 't' || input === 'T') {
128
142
  void cycleThinking();
129
143
  return;
@@ -140,7 +154,9 @@ export function ModelSettings({ app, onClose, width }) {
140
154
  const isSel = i === idx;
141
155
  const isCurrent = m === currentModel;
142
156
  const thinking = st.thinking ?? 'off';
143
- return (_jsxs(Box, { children: [_jsx(Text, { color: isSel ? theme.accent : theme.textFaint, children: isSel ? '▸ ' : ' ' }), _jsx(Text, { color: isSel ? theme.text : theme.textDim, bold: isSel, wrap: "truncate-end", children: m.slice(0, dialogWidth - 34) }), _jsxs(Text, { color: theme.textFaint, children: [" ctx ", st.contextLength ?? app.session.getMaxMessages()] }), _jsxs(Text, { color: thinking !== 'off' ? theme.accent : theme.textFaint, children: [' ', "thinking ", THINKING_LABEL[thinking]] }), isCurrent && _jsx(Text, { color: theme.success, children: " \u25CF \u5F53\u524D" })] }, m));
144
- }), _jsx(Text, { color: theme.border, children: '─'.repeat(Math.max(10, dialogWidth - 2)) }), submode ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, children: submode.type === 'add' ? '添加模型 id ❯ ' : `${active} 上下文长度 ❯ ` }), _jsx(Text, { children: submode.value }), _jsx(Text, { color: theme.text, children: "\u2588" })] }), submode.error && _jsx(Text, { color: theme.error, children: submode.error }), _jsx(Text, { color: theme.textFaint, children: "enter \u786E\u8BA4 \u00B7 esc \u53D6\u6D88" })] })) : (_jsxs(Box, { children: [_jsx(Text, { color: theme.textFaint, children: "\u2191\u2193 \u9009\u62E9 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "a" }), _jsx(Text, { color: theme.textFaint, children: " \u6DFB\u52A0\u6A21\u578B \u00B7 " }), _jsx(Text, { color: theme.accent, children: "c" }), _jsx(Text, { color: theme.textFaint, children: " \u4E0A\u4E0B\u6587\u957F\u5EA6 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "t" }), _jsx(Text, { color: theme.textFaint, children: " \u601D\u8003\u5F3A\u5EA6 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "d" }), _jsx(Text, { color: theme.textFaint, children: " \u5220\u9664\u81EA\u5B9A\u4E49" })] })), toast && _jsxs(Text, { color: theme.success, children: ["\u2713 ", toast] })] }));
157
+ return (_jsxs(Box, { children: [_jsx(Text, { color: isSel ? theme.accent : theme.textFaint, children: isSel ? '▸ ' : ' ' }), _jsx(Text, { color: isSel ? theme.text : theme.textDim, bold: isSel, wrap: "truncate-end", children: m.slice(0, dialogWidth - 34) }), _jsxs(Text, { color: theme.textFaint, children: [" ctx ", st.contextLength ?? app.session.getMaxMessages()] }), _jsxs(Text, { color: theme.textFaint, children: [" \u00B7 \u7A97\u53E3 ", (app.getContextWindow(m) / 1000).toFixed(0), "k"] }), _jsxs(Text, { color: thinking !== 'off' ? theme.accent : theme.textFaint, children: [' ', "thinking ", THINKING_LABEL[thinking]] }), isCurrent && _jsx(Text, { color: theme.success, children: " \u25CF \u5F53\u524D" })] }, m));
158
+ }), _jsx(Text, { color: theme.border, children: '─'.repeat(Math.max(10, dialogWidth - 2)) }), submode ? (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: theme.accent, children: submode.type === 'add' ? '添加模型 id ❯ '
159
+ : submode.type === 'window' ? `${active} 上下文窗口(tokens) ❯ `
160
+ : `${active} 上下文长度 ❯ ` }), _jsx(Text, { children: submode.value }), _jsx(Text, { color: theme.text, children: "\u2588" })] }), submode.error && _jsx(Text, { color: theme.error, children: submode.error }), _jsx(Text, { color: theme.textFaint, children: "enter \u786E\u8BA4 \u00B7 esc \u53D6\u6D88" })] })) : (_jsxs(Box, { children: [_jsx(Text, { color: theme.textFaint, children: "\u2191\u2193 \u9009\u62E9 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "a" }), _jsx(Text, { color: theme.textFaint, children: " \u6DFB\u52A0\u6A21\u578B \u00B7 " }), _jsx(Text, { color: theme.accent, children: "c" }), _jsx(Text, { color: theme.textFaint, children: " \u4E0A\u4E0B\u6587\u957F\u5EA6 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "w" }), _jsx(Text, { color: theme.textFaint, children: " \u4E0A\u4E0B\u6587\u7A97\u53E3(tokens) \u00B7 " }), _jsx(Text, { color: theme.accent, children: "t" }), _jsx(Text, { color: theme.textFaint, children: " \u601D\u8003\u5F3A\u5EA6 \u00B7 " }), _jsx(Text, { color: theme.accent, children: "d" }), _jsx(Text, { color: theme.textFaint, children: " \u5220\u9664\u81EA\u5B9A\u4E49" })] })), toast && _jsxs(Text, { color: theme.success, children: ["\u2713 ", toast] })] }));
145
161
  }
146
162
  //# sourceMappingURL=ModelSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelSettings.js","sourceRoot":"","sources":["../../../src/tui/components/ModelSettings.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelSettings.js","sourceRoot":"","sources":["../../../src/tui/components/ModelSettings.tsx"],"names":[],"mappings":"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"}
@@ -1,15 +1,29 @@
1
1
  /** @jsxImportSource react */
2
2
  import React from 'react';
3
+ export interface SessionStats {
4
+ /** Last round's prompt tokens = current context size. */
5
+ contextTokens: number;
6
+ /** Model context window (tokens) — percentage shown against this. */
7
+ contextWindow: number;
8
+ /** Cumulative input tokens across the session. */
9
+ inTokens: number;
10
+ /** Cumulative output (completion) tokens across the session. */
11
+ outTokens: number;
12
+ savingsCNY: number;
13
+ }
3
14
  interface Props {
4
15
  messageCount: number;
5
16
  skills: string[];
6
17
  /** Current provider/model id (v3.0.6 — moved here from Header). */
7
18
  provider?: string;
8
19
  model?: string;
20
+ /** v3.0.13: session token accounting for the right side of the bar. */
21
+ stats?: SessionStats;
9
22
  }
10
23
  /**
11
- * v3.0.6 (opencode-style footer): thin rule + one status line.
12
- * left: provider/model · right: messages · active skills
24
+ * v3.0.13 (opencode-style footer): one status line.
25
+ * left: provider/model · right: context usage, session tokens, message
26
+ * count. This is the "session consumption" area of the screen.
13
27
  */
14
28
  export declare const StatusBar: React.NamedExoticComponent<Props>;
15
29
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,SAAS,mCA0BpB,CAAC"}
1
+ {"version":3,"file":"StatusBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,aAAa,EAAE,MAAM,CAAC;IACtB,qEAAqE;IACrE,aAAa,EAAE,MAAM,CAAC;IACtB,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,KAAK;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAED;;;;GAIG;AACH,eAAO,MAAM,SAAS,mCAyCpB,CAAC"}
@@ -3,13 +3,27 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-run
3
3
  import React from 'react';
4
4
  import { Box, Text } from 'ink';
5
5
  import { theme } from '../theme.js';
6
+ import { formatTokens } from '../../utils/tokens.js';
6
7
  /**
7
- * v3.0.6 (opencode-style footer): thin rule + one status line.
8
- * left: provider/model · right: messages · active skills
8
+ * v3.0.13 (opencode-style footer): one status line.
9
+ * left: provider/model · right: context usage, session tokens, message
10
+ * count. This is the "session consumption" area of the screen.
9
11
  */
10
- export const StatusBar = React.memo(function StatusBar({ messageCount, skills, provider, model }) {
12
+ export const StatusBar = React.memo(function StatusBar({ messageCount, skills, provider, model, stats }) {
11
13
  const activeSkills = skills.slice(0, 3).join(', ');
12
14
  const moreSkills = skills.length > 3 ? ` +${skills.length - 3}` : '';
13
- return (_jsx(Box, { flexDirection: "column", marginTop: 0, children: _jsxs(Box, { justifyContent: "space-between", width: "100%", children: [_jsx(Box, { children: provider && model ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: provider }), _jsx(Text, { color: theme.textFaint, children: "/" }), _jsx(Text, { color: theme.textDim, children: model })] })) : null }), _jsxs(Box, { children: [_jsxs(Text, { color: theme.textFaint, children: [messageCount, " \u6761"] }), skills.length > 0 && (_jsxs(Text, { color: theme.textFaint, children: [" \u00B7 \u6280\u80FD ", activeSkills, moreSkills] })), _jsx(Text, { color: theme.textFaint, children: " \u00B7 /help" })] })] }) }));
15
+ let ctxChip = null;
16
+ let ctxColor = theme.textDim;
17
+ if (stats && stats.contextTokens > 0 && stats.contextWindow > 0) {
18
+ const pct = Math.min(999, Math.round((stats.contextTokens / stats.contextWindow) * 100));
19
+ ctxChip = `ctx ${formatTokens(stats.contextTokens)}/${formatTokens(stats.contextWindow)} (${pct}%)`;
20
+ if (pct >= 85)
21
+ ctxColor = theme.error;
22
+ else if (pct >= 60)
23
+ ctxColor = theme.warning;
24
+ else
25
+ ctxColor = theme.success;
26
+ }
27
+ return (_jsx(Box, { flexDirection: "column", marginTop: 0, children: _jsxs(Box, { justifyContent: "space-between", width: "100%", children: [_jsx(Box, { children: provider && model ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: theme.textDim, children: provider }), _jsx(Text, { color: theme.textFaint, children: "/" }), _jsx(Text, { color: theme.textDim, children: model })] })) : null }), _jsxs(Box, { children: [ctxChip && _jsx(Text, { color: ctxColor, children: ctxChip }), ctxChip && _jsx(Text, { color: theme.textFaint, children: " \u00B7 " }), stats && (_jsxs(Text, { color: theme.textFaint, children: ["\u2191", formatTokens(stats.inTokens), " \u2193", formatTokens(stats.outTokens), " \u00B7 \u8282\u7701 \u00A5", stats.savingsCNY.toFixed(2), " \u00B7 "] })), _jsxs(Text, { color: theme.textFaint, children: [messageCount, " \u6761"] }), skills.length > 0 && (_jsxs(Text, { color: theme.textFaint, children: [" \u00B7 \u6280\u80FD ", activeSkills, moreSkills] })), _jsx(Text, { color: theme.textFaint, children: " \u00B7 /help" })] })] }) }));
14
28
  });
15
29
  //# sourceMappingURL=StatusBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAUpC;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAS;IACrG,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,YACtC,MAAC,GAAG,IAAC,cAAc,EAAC,eAAe,EAAC,KAAK,EAAC,MAAM,aAC9C,KAAC,GAAG,cACD,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,CACnB,8BACE,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,QAAQ,GAAQ,EAC7C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,kBAAU,EACtC,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,OAAO,YAAG,KAAK,GAAQ,IACzC,CACJ,CAAC,CAAC,CAAC,IAAI,GACJ,EACN,MAAC,GAAG,eACF,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,aAAG,YAAY,eAAU,EACpD,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CACpB,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,sCAAS,YAAY,EAAE,UAAU,IAAQ,CACtE,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,SAAS,8BAAiB,IACzC,IACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"StatusBar.js","sourceRoot":"","sources":["../../../src/tui/components/StatusBar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useChat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAe,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAgBzD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG;yBAmPU,MAAM;;4BAuBH,WAAW,EAAE;cAtS9C,WAAW,EAAE;gBACX,OAAO;eACR,MAAM;wBACG,YAAY,EAAE;mBACnB,MAAM,GAAG,IAAI;IAC5B;;;;OAIG;eACQ,KAAK,GAAG,IAAI;EAiSxB"}
1
+ {"version":3,"file":"useChat.d.ts","sourceRoot":"","sources":["../../../src/tui/hooks/useChat.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAE9C,OAAO,KAAK,EAAe,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAgBzD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,GAAG;yBA+PU,MAAM;;4BAuBH,WAAW,EAAE;cAlT9C,WAAW,EAAE;gBACX,OAAO;eACR,MAAM;wBACG,YAAY,EAAE;mBACnB,MAAM,GAAG,IAAI;IAC5B;;;;OAIG;eACQ,KAAK,GAAG,IAAI;EA6SxB"}
@@ -48,6 +48,9 @@ export function useChat(app) {
48
48
  let currentToolCalls = [];
49
49
  // Latest usage from this round; surfaced via state.lastUsage.
50
50
  let lastUsage = null;
51
+ // v3.0.13: completion tokens summed across all rounds of this turn —
52
+ // displayed as the assistant message's token chip.
53
+ let turnCompletionTokens = 0;
51
54
  let lastUpdateTime = 0;
52
55
  const THROTTLE_MS = 50;
53
56
  /**
@@ -109,6 +112,8 @@ export function useChat(app) {
109
112
  break;
110
113
  case 'usage':
111
114
  lastUsage = chunk.usage;
115
+ // v3.0.13: sum completion tokens across agent-loop rounds.
116
+ turnCompletionTokens += chunk.usage.completion_tokens || 0;
112
117
  setState(prev => ({ ...prev, lastUsage: chunk.usage }));
113
118
  break;
114
119
  }
@@ -176,6 +181,7 @@ export function useChat(app) {
176
181
  role: 'assistant',
177
182
  content: displayContent + toolSummary,
178
183
  toolCalls: currentToolCalls.length > 0 ? currentToolCalls : undefined,
184
+ tokens: turnCompletionTokens || undefined,
179
185
  }]
180
186
  : []),
181
187
  ],
@@ -184,11 +190,16 @@ export function useChat(app) {
184
190
  isThinking: false,
185
191
  lastUsage,
186
192
  }));
187
- // v3.0.5: persist the session after each completed round (was:
188
- // `app.session.truncate()` every round a silent rewrite that
189
- // destroyed the cache prefix once history crossed 50 entries; the
190
- // SessionManager now compacts itself at the threshold and /resume
191
- // needs the on-disk history to be current).
193
+ // v3.0.13: token-aware auto-compact when this round's prompt tokens
194
+ // reached 85% of the model's context window, compact now and surface
195
+ // the notice in the chat.
196
+ const compactNotice = app.maybeAutoCompact(lastUsage ?? undefined);
197
+ if (compactNotice) {
198
+ setState(prev => ({
199
+ ...prev,
200
+ messages: [...prev.messages, { role: 'assistant', content: compactNotice }],
201
+ }));
202
+ }
192
203
  app.session.persist();
193
204
  }
194
205
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../../src/tui/hooks/useChat.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChat.js","sourceRoot":"","sources":["../../../src/tui/hooks/useChat.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * v3.0.13: token estimation helpers.
3
+ *
4
+ * No tokenizer dependency (tiktoken is heavy); we use a CJK-aware
5
+ * heuristic: CJK characters ≈ 1 token each, everything else ≈ 4 chars per
6
+ * token. Good enough for per-message display and auto-compact thresholds
7
+ * (which are driven by the provider's REAL prompt_tokens usage anyway).
8
+ */
9
+ export declare function estimateTokens(text: string): number;
10
+ /** Auto-compact threshold check: prompt tokens ≥ 85% of the context window. */
11
+ export declare function shouldAutoCompact(promptTokens: number, contextWindow: number, threshold?: number): boolean;
12
+ /** Format a token count for display: 950 → "950", 11200 → "11.2k". */
13
+ export declare function formatTokens(n: number): string;
14
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,SAAO,GAAG,OAAO,CAGxG;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAK9C"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * v3.0.13: token estimation helpers.
3
+ *
4
+ * No tokenizer dependency (tiktoken is heavy); we use a CJK-aware
5
+ * heuristic: CJK characters ≈ 1 token each, everything else ≈ 4 chars per
6
+ * token. Good enough for per-message display and auto-compact thresholds
7
+ * (which are driven by the provider's REAL prompt_tokens usage anyway).
8
+ */
9
+ export function estimateTokens(text) {
10
+ if (!text)
11
+ return 0;
12
+ const cjk = (text.match(/[\u4e00-\u9fff\u3000-\u303f\uff00-\uffef]/g) || []).length;
13
+ const rest = text.length - cjk;
14
+ return Math.max(1, Math.ceil(cjk + rest / 4));
15
+ }
16
+ /** Auto-compact threshold check: prompt tokens ≥ 85% of the context window. */
17
+ export function shouldAutoCompact(promptTokens, contextWindow, threshold = 0.85) {
18
+ if (!promptTokens || promptTokens <= 0 || !contextWindow || contextWindow <= 0)
19
+ return false;
20
+ return promptTokens / contextWindow >= threshold;
21
+ }
22
+ /** Format a token count for display: 950 → "950", 11200 → "11.2k". */
23
+ export function formatTokens(n) {
24
+ if (!Number.isFinite(n) || n <= 0)
25
+ return '0';
26
+ if (n < 1000)
27
+ return String(Math.round(n));
28
+ if (n < 1000000)
29
+ return (n / 1000).toFixed(1).replace(/\.0$/, '') + 'k';
30
+ return (n / 1000000).toFixed(2).replace(/\.00$/, '').replace(/0$/, '') + 'M';
31
+ }
32
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/utils/tokens.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,CAAC;IACpB,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,4CAA4C,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;IACpF,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,aAAqB,EAAE,SAAS,GAAG,IAAI;IAC7F,IAAI,CAAC,YAAY,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,aAAa,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7F,OAAO,YAAY,GAAG,aAAa,IAAI,SAAS,CAAC;AACnD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,CAAS;IACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC9C,IAAI,CAAC,GAAG,IAAI;QAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,OAAO;QAAE,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;IACxE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;AAC/E,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "thatgfsj-code",
3
- "version": "3.0.12",
3
+ "version": "3.0.13",
4
4
  "description": "Thatgfsj Code - AI Coding Assistant with Reasonix-style prompt caching",
5
5
  "main": "dist/cmd/index.js",
6
6
  "type": "module",
@@ -48,6 +48,7 @@
48
48
  "ink-text-input": "^6.0.0",
49
49
  "marked": "^15.0.12",
50
50
  "marked-terminal": "^7.3.0",
51
+ "playwright-core": "^1.63.0",
51
52
  "react": "^19.2.7"
52
53
  },
53
54
  "devDependencies": {