lonny-agent 0.1.9 → 0.2.2

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 (68) hide show
  1. package/.kilo/plans/1780293725888-quick-wizard.md +62 -0
  2. package/.lonny/plan-web-cwd-status.md +38 -0
  3. package/README.md +63 -10
  4. package/dist/agent/compaction.d.ts +5 -0
  5. package/dist/agent/compaction.d.ts.map +1 -1
  6. package/dist/agent/compaction.js +5 -0
  7. package/dist/agent/compaction.js.map +1 -1
  8. package/dist/agent/prompt-builder.d.ts.map +1 -1
  9. package/dist/agent/prompt-builder.js +39 -4
  10. package/dist/agent/prompt-builder.js.map +1 -1
  11. package/dist/agent/providers/google.js +1 -1
  12. package/dist/agent/providers/google.js.map +1 -1
  13. package/dist/agent/providers/openai.js +1 -1
  14. package/dist/agent/providers/openai.js.map +1 -1
  15. package/dist/agent/session.d.ts.map +1 -1
  16. package/dist/agent/session.js +18 -2
  17. package/dist/agent/session.js.map +1 -1
  18. package/dist/config/__tests__/context-window.test.d.ts +2 -0
  19. package/dist/config/__tests__/context-window.test.d.ts.map +1 -0
  20. package/dist/config/__tests__/context-window.test.js +80 -0
  21. package/dist/config/__tests__/context-window.test.js.map +1 -0
  22. package/dist/config/index.d.ts +7 -0
  23. package/dist/config/index.d.ts.map +1 -1
  24. package/dist/config/index.js +211 -0
  25. package/dist/config/index.js.map +1 -1
  26. package/dist/pi-tui/tui.d.ts.map +1 -1
  27. package/dist/pi-tui/tui.js +7 -16
  28. package/dist/pi-tui/tui.js.map +1 -1
  29. package/dist/tools/__tests__/edit.test.js +254 -0
  30. package/dist/tools/__tests__/edit.test.js.map +1 -1
  31. package/dist/tools/__tests__/fetch.test.js +11 -9
  32. package/dist/tools/__tests__/fetch.test.js.map +1 -1
  33. package/dist/tools/edit.d.ts.map +1 -1
  34. package/dist/tools/edit.js +205 -41
  35. package/dist/tools/edit.js.map +1 -1
  36. package/dist/tools/install_superpowers.d.ts +3 -0
  37. package/dist/tools/install_superpowers.d.ts.map +1 -0
  38. package/dist/tools/install_superpowers.js +207 -0
  39. package/dist/tools/install_superpowers.js.map +1 -0
  40. package/dist/tui/index.d.ts.map +1 -1
  41. package/dist/tui/index.js +25 -1
  42. package/dist/tui/index.js.map +1 -1
  43. package/dist/web/index.d.ts.map +1 -1
  44. package/dist/web/index.js +65 -0
  45. package/dist/web/index.js.map +1 -1
  46. package/dist/web/public/app.js +9 -0
  47. package/dist/web/public/index.html +6 -0
  48. package/dist/web/public/style.css +11 -0
  49. package/package.json +1 -1
  50. package/src/agent/compaction.ts +6 -0
  51. package/src/agent/prompt-builder.ts +40 -4
  52. package/src/agent/providers/google.ts +1 -1
  53. package/src/agent/providers/openai.ts +1 -1
  54. package/src/agent/session.ts +19 -2
  55. package/src/config/__tests__/context-window.test.ts +94 -0
  56. package/src/config/index.ts +243 -0
  57. package/src/pi-tui/tui.ts +8 -14
  58. package/src/tools/__tests__/edit.test.ts +283 -0
  59. package/src/tools/__tests__/fetch.test.ts +12 -10
  60. package/src/tools/edit.ts +225 -42
  61. package/src/tools/registry.ts +265 -265
  62. package/src/tui/index.ts +23 -1
  63. package/src/web/index.ts +71 -0
  64. package/src/web/public/app.js +9 -0
  65. package/src/web/public/index.html +6 -0
  66. package/src/web/public/style.css +11 -0
  67. package/.lonny/fix-new-command-session-cleanup.md +0 -65
  68. package/.lonny/tui-autocomplete-above.md +0 -62
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/agent/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=context-window.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-window.test.d.ts","sourceRoot":"","sources":["../../../src/config/__tests__/context-window.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,80 @@
1
+ import { describe, expect, test } from 'vitest';
2
+ import { getContextWindowForModel } from '../index.js';
3
+ describe('getContextWindowForModel', () => {
4
+ // 精确匹配测试
5
+ test('exact match with known model names', () => {
6
+ expect(getContextWindowForModel('doubao-seed-2.0-code')).toBe(256_000);
7
+ expect(getContextWindowForModel('deepseek-v4-pro')).toBe(1_000_000);
8
+ expect(getContextWindowForModel('qwen3.6-plus')).toBe(1_000_000);
9
+ expect(getContextWindowForModel('claude-sonnet-4.6')).toBe(1_000_000);
10
+ expect(getContextWindowForModel('gpt-5.5')).toBe(1_000_000);
11
+ });
12
+ // 大小写不敏感测试
13
+ test('case insensitive matching', () => {
14
+ expect(getContextWindowForModel('DOUBAO-SEED-2.0-CODE')).toBe(256_000);
15
+ expect(getContextWindowForModel('DeepSeek-V4-Pro')).toBe(1_000_000);
16
+ expect(getContextWindowForModel('QWEN3.6-PLUS')).toBe(1_000_000);
17
+ });
18
+ // 模糊匹配 - 含空格的变体
19
+ test('fuzzy match with space variants', () => {
20
+ expect(getContextWindowForModel('doubao seed 2.0 code')).toBe(256_000);
21
+ expect(getContextWindowForModel('deepseek v4 pro')).toBe(1_000_000);
22
+ expect(getContextWindowForModel('qwen 3.6 plus')).toBe(1_000_000);
23
+ });
24
+ // 模糊匹配 - 下划线与连字符变体
25
+ test('fuzzy match with underscore and hyphen variants', () => {
26
+ expect(getContextWindowForModel('doubao_seed_2.0_code')).toBe(256_000);
27
+ expect(getContextWindowForModel('deepseek_v4_pro')).toBe(1_000_000);
28
+ });
29
+ // 模糊匹配 - 含前缀和后缀的模型名
30
+ test('fuzzy match with prefixed and suffixed model names', () => {
31
+ expect(getContextWindowForModel('my-doubao-seed-2.0-code')).toBe(256_000);
32
+ expect(getContextWindowForModel('deepseek-v4-pro-variant')).toBe(1_000_000);
33
+ expect(getContextWindowForModel('qwen3.6-plus-prod')).toBe(1_000_000);
34
+ });
35
+ // 模糊匹配 - 关键词匹配(不完整的模型名)
36
+ test('fuzzy match with keyword matching (partial model names)', () => {
37
+ // 百万上下文模型
38
+ expect(getContextWindowForModel('deepseek-v4')).toBe(1_000_000);
39
+ expect(getContextWindowForModel('qwen3.6')).toBe(1_000_000);
40
+ expect(getContextWindowForModel('qwen3.7')).toBe(1_000_000);
41
+ expect(getContextWindowForModel('claude opus 4.7')).toBe(1_000_000);
42
+ expect(getContextWindowForModel('gemini 2.5')).toBe(1_000_000);
43
+ // 256K 上下文模型
44
+ expect(getContextWindowForModel('doubao-seed-2.0')).toBe(256_000);
45
+ expect(getContextWindowForModel('kimi-k2.5')).toBe(262_144); // 实际值
46
+ expect(getContextWindowForModel('kimi-k2.6')).toBe(262_144); // 实际值
47
+ // 200K 上下文模型
48
+ expect(getContextWindowForModel('minimax')).toBe(200_000);
49
+ expect(getContextWindowForModel('glm-5')).toBe(200_000);
50
+ expect(getContextWindowForModel('glm-5.1')).toBe(200_000);
51
+ expect(getContextWindowForModel('claude-haiku')).toBe(200_000);
52
+ // 160K 上下文模型
53
+ expect(getContextWindowForModel('deepseek-v3')).toBe(160_000);
54
+ expect(getContextWindowForModel('deepseek-v3.2')).toBe(160_000);
55
+ // 128K 上下文模型
56
+ expect(getContextWindowForModel('gpt-4o')).toBe(128_000);
57
+ expect(getContextWindowForModel('gpt-4')).toBe(128_000);
58
+ expect(getContextWindowForModel('llama-3')).toBe(128_000);
59
+ });
60
+ // 未知模型名 - 兜底默认值
61
+ test('unknown model names return default 128K', () => {
62
+ expect(getContextWindowForModel('unknown-model')).toBe(128_000);
63
+ expect(getContextWindowForModel('random-model-name')).toBe(128_000);
64
+ });
65
+ // 用户配置中常用的模型名
66
+ test('common model names from user configs', () => {
67
+ // 豆包模型
68
+ expect(getContextWindowForModel('Doubao-Seed-2.0-Code')).toBe(256_000);
69
+ // DeepSeek 模型
70
+ expect(getContextWindowForModel('deepseek-chat')).toBe(128_000);
71
+ expect(getContextWindowForModel('deepseek-reasoner')).toBe(128_000);
72
+ // Kimi 模型
73
+ expect(getContextWindowForModel('kimi-k2.5')).toBe(262_144); // 实际值
74
+ expect(getContextWindowForModel('kimi-k2.6')).toBe(262_144); // 实际值
75
+ // 通义千问
76
+ expect(getContextWindowForModel('qwen3.6-plus')).toBe(1_000_000);
77
+ expect(getContextWindowForModel('qwen3.7-max')).toBe(1_000_000);
78
+ });
79
+ });
80
+ //# sourceMappingURL=context-window.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-window.test.js","sourceRoot":"","sources":["../../../src/config/__tests__/context-window.test.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export interface Config {
4
4
  mode: 'code' | 'plan' | 'ask';
5
5
  provider: 'openai' | 'anthropic' | 'google' | 'ollama';
6
6
  model: string;
7
+ contextWindow: number;
7
8
  cwd: string;
8
9
  autoApprove: boolean;
9
10
  thinking?: boolean;
@@ -14,6 +15,12 @@ export interface Config {
14
15
  maxTokens?: number;
15
16
  tavilyApiKey?: string;
16
17
  }
18
+ /**
19
+ * 根据模型名称获取上下文窗口大小(改进的模糊匹配)
20
+ * @param modelName 模型名称(不区分大小写)
21
+ * @returns 上下文窗口大小(tokens)
22
+ */
23
+ export declare function getContextWindowForModel(modelName: string): number;
17
24
  export declare function loadConfig(options?: {
18
25
  mode?: 'code' | 'plan' | 'ask';
19
26
  autoApprove?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAC7B,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAuCD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,MAAM,CA6BT"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAC7B,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;IACtD,KAAK,EAAE,MAAM,CAAA;IACb,aAAa,EAAE,MAAM,CAAA;IACrB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AA+LD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAyClE;AAwCD,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;IAC9B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,MAAM,CAiCT"}
@@ -1,6 +1,214 @@
1
1
  import * as fs from 'node:fs';
2
2
  import * as os from 'node:os';
3
3
  import * as path from 'node:path';
4
+ /**
5
+ * 模型上下文窗口大小映射表(基于 2026 年最新数据)
6
+ * 单位:tokens
7
+ */
8
+ const MODEL_CONTEXT_WINDOWS = {
9
+ // Doubao 系列
10
+ 'doubao-seed-2.0-code': 256_000,
11
+ 'doubao-seed-2.0-pro': 256_000,
12
+ 'doubao-seed-2.0-lite': 256_000,
13
+ 'doubao-seed-2.0-mini': 256_000,
14
+ 'doubao-seed-2.0-code-preview-260215': 256_000,
15
+ 'doubao-seed-1.8': 256_000,
16
+ 'doubao-seed-1.6': 256_000,
17
+ // DeepSeek 系列
18
+ 'deepseek-v4-pro': 1_000_000,
19
+ 'deepseek-v4-flash': 256_000,
20
+ 'deepseek-v3.2': 160_000,
21
+ 'deepseek-r1': 128_000,
22
+ 'deepseek-chat': 128_000,
23
+ 'deepseek-reasoner': 128_000,
24
+ // Kimi 系列
25
+ 'kimi-k2.5': 262_144,
26
+ 'kimi-k2.6': 262_144,
27
+ 'kimi-k2-thinking': 256_000,
28
+ // MiniMax 系列
29
+ 'minimax-m2.5': 200_000,
30
+ 'minimax-m2.7': 200_000,
31
+ 'minimax-m2': 205_000,
32
+ // GLM 系列
33
+ 'glm-5': 200_000,
34
+ 'glm-5.1': 200_000,
35
+ 'glm-4.7-flashx': 200_000,
36
+ 'glm-4-flash': 128_000,
37
+ 'glm-4': 128_000,
38
+ // Qwen 系列
39
+ 'qwen3.6-plus': 1_000_000,
40
+ 'qwen3.7-max': 1_000_000,
41
+ 'qwen3-max': 256_000,
42
+ 'qwen3.5-plus': 1_000_000,
43
+ 'qwen-flash': 1_000_000,
44
+ // Claude 系列
45
+ 'claude-opus-4.7': 1_000_000,
46
+ 'claude-opus-4.6': 1_000_000,
47
+ 'claude-sonnet-4.6': 1_000_000,
48
+ 'claude-haiku-4.5': 200_000,
49
+ // GPT 系列
50
+ 'gpt-5.5': 1_000_000,
51
+ 'gpt-5.4': 1_000_000,
52
+ 'gpt-5.1': 1_000_000,
53
+ 'gpt-5.2-codex': 512_000,
54
+ 'gpt-4.1': 1_000_000,
55
+ 'gpt-4.1-mini': 1_000_000,
56
+ 'gpt-4o': 128_000,
57
+ 'gpt-4': 128_000,
58
+ // Gemini 系列
59
+ 'gemini-2.5-pro': 1_000_000,
60
+ 'gemini-2.5-flash': 1_000_000,
61
+ 'gemini-3.1-pro': 1_000_000,
62
+ 'gemini-3.1-flash': 1_000_000,
63
+ // Llama 系列
64
+ 'llama-4-maverick': 1_000_000,
65
+ 'llama-4-scout': 10_000_000,
66
+ 'llama-3.1': 128_000,
67
+ 'llama-3': 128_000,
68
+ // Mistral 系列
69
+ 'mistral-small-3.1': 128_000,
70
+ 'mistral-small-3.2': 128_000,
71
+ };
72
+ /**
73
+ * 模糊匹配规则列表(从高优先级到低优先级)
74
+ */
75
+ const fuzzyMatchRules = [
76
+ // 首先匹配 128K 模型(防止 gpt-4 匹配到 gpt-5 规则)
77
+ {
78
+ keywords: [
79
+ 'gpt-4o',
80
+ 'gpt 4o',
81
+ 'gpt-4',
82
+ 'gpt 4',
83
+ 'llama-3',
84
+ 'llama 3',
85
+ 'mistral-small',
86
+ 'mistral small',
87
+ 'glm-4-flash',
88
+ 'glm 4 flash',
89
+ 'glm-4',
90
+ ],
91
+ windowSize: 128_000,
92
+ },
93
+ // 百万上下文模型 - 更高优先级(更精确的关键词)
94
+ {
95
+ keywords: [
96
+ 'deepseek-v4',
97
+ 'deepseek v4',
98
+ 'qwen3.6',
99
+ 'qwen 3.6',
100
+ 'qwen3.7',
101
+ 'qwen 3.7',
102
+ 'qwen3.5',
103
+ 'qwen 3.5',
104
+ 'qwen-flash',
105
+ 'qwen flash',
106
+ ],
107
+ windowSize: 1_000_000,
108
+ },
109
+ {
110
+ keywords: [
111
+ 'claude-opus',
112
+ 'claude sonnet',
113
+ 'claude-sonnet',
114
+ 'gpt-5.',
115
+ 'gpt 5',
116
+ 'gpt-4.1',
117
+ 'gpt 4.1',
118
+ 'gemini-2.5',
119
+ 'gemini 2.5',
120
+ 'gemini-3.1',
121
+ 'gemini 3.1',
122
+ 'llama-4',
123
+ 'llama 4',
124
+ ],
125
+ windowSize: 1_000_000,
126
+ },
127
+ // 256K 上下文模型
128
+ {
129
+ keywords: [
130
+ 'doubao-seed-2.0',
131
+ 'doubao seed 2.0',
132
+ 'doubao-seed-1',
133
+ 'doubao seed 1',
134
+ 'kimi-k2',
135
+ 'kimi k2',
136
+ 'kimi-k2.5',
137
+ 'kimi k2.5',
138
+ 'kimi-k2.6',
139
+ 'kimi k2.6',
140
+ 'qwen3',
141
+ 'qwen 3',
142
+ 'qwen3-max',
143
+ 'qwen3 max',
144
+ ],
145
+ windowSize: 256_000,
146
+ },
147
+ // 200K 上下文模型
148
+ {
149
+ keywords: [
150
+ 'minimax',
151
+ 'glm-5',
152
+ 'glm 5',
153
+ 'glm-5.1',
154
+ 'glm 5.1',
155
+ 'glm-4.7',
156
+ 'glm 4.7',
157
+ 'claude-haiku',
158
+ 'claude haiku',
159
+ ],
160
+ windowSize: 200_000,
161
+ },
162
+ // 160K 上下文模型
163
+ {
164
+ keywords: ['deepseek-v3', 'deepseek v3', 'deepseek-v3.2', 'deepseek v3.2'],
165
+ windowSize: 160_000,
166
+ },
167
+ // 最后匹配通用关键词(deepseek)
168
+ {
169
+ keywords: ['deepseek'],
170
+ windowSize: 128_000,
171
+ },
172
+ ];
173
+ /**
174
+ * 根据模型名称获取上下文窗口大小(改进的模糊匹配)
175
+ * @param modelName 模型名称(不区分大小写)
176
+ * @returns 上下文窗口大小(tokens)
177
+ */
178
+ export function getContextWindowForModel(modelName) {
179
+ // 处理空字符串
180
+ if (!modelName) {
181
+ return 128_000;
182
+ }
183
+ const normalizedModelName = modelName.toLowerCase().replace(/[-_]/g, ' ');
184
+ // 1. 精确匹配(原始键名)
185
+ if (MODEL_CONTEXT_WINDOWS[modelName]) {
186
+ return MODEL_CONTEXT_WINDOWS[modelName];
187
+ }
188
+ // 2. 精确匹配(小写键名)
189
+ if (MODEL_CONTEXT_WINDOWS[modelName.toLowerCase()]) {
190
+ return MODEL_CONTEXT_WINDOWS[modelName.toLowerCase()];
191
+ }
192
+ // 3. 前缀匹配(支持部分匹配)
193
+ for (const [pattern, size] of Object.entries(MODEL_CONTEXT_WINDOWS)) {
194
+ const normalizedPattern = pattern.toLowerCase().replace(/[-_]/g, ' ');
195
+ if (normalizedModelName.includes(normalizedPattern) ||
196
+ normalizedPattern.includes(normalizedModelName)) {
197
+ return size;
198
+ }
199
+ }
200
+ // 4. 模糊匹配(关键词匹配)- 按照规则顺序(优先级)处理
201
+ for (const rule of fuzzyMatchRules) {
202
+ for (const keyword of rule.keywords) {
203
+ const normalizedKeyword = keyword.toLowerCase().replace(/[-_]/g, ' ');
204
+ if (normalizedModelName.includes(normalizedKeyword)) {
205
+ return rule.windowSize;
206
+ }
207
+ }
208
+ }
209
+ // 5. 兜底默认值
210
+ return 128_000;
211
+ }
4
212
  let cachedJsonConfig = null;
5
213
  function loadJsonConfig() {
6
214
  if (cachedJsonConfig)
@@ -30,12 +238,15 @@ export function loadConfig(options) {
30
238
  const baseUrl = process.env.LONNY_BASE_URL || jsonConfig.baseUrl || undefined;
31
239
  // Auto-enable cache for DeepSeek models unless explicitly disabled
32
240
  const enableCache = jsonConfig.enableCache ?? (isDeepSeekModel(model, baseUrl) || undefined);
241
+ // 根据模型名称获取上下文窗口大小,如果配置中有则优先使用配置值
242
+ const contextWindow = jsonConfig.contextWindow || getContextWindowForModel(model);
33
243
  return {
34
244
  apiKey: jsonConfig.apiKey || '',
35
245
  baseUrl,
36
246
  provider: (process.env.LONNY_PROVIDER || jsonConfig.provider || 'openai'),
37
247
  mode: options?.mode || 'code',
38
248
  model,
249
+ contextWindow,
39
250
  cwd: options?.cwd || process.cwd(),
40
251
  autoApprove: options?.autoApprove ?? jsonConfig.autoApprove ?? false,
41
252
  thinking: jsonConfig.thinking,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAkCjC,IAAI,gBAAgB,GAAsB,IAAI,CAAA;AAE9C,SAAS,cAAc;IACrB,IAAI,gBAAgB;QAAE,OAAO,gBAAgB,CAAA;IAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;IACnE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAChD,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAe,CAAA;QAChD,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,gBAAgB,GAAG,EAAE,CAAA;QACrB,OAAO,gBAAgB,CAAA;IACzB,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,SAAS,eAAe,CAAC,KAAa,EAAE,OAAgB;IACtD,IAAI,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IACxC,IAAI,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAA;IACrD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAI1B;IACC,MAAM,UAAU,GAAG,cAAc,EAAE,CAAA;IAEnC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,IAAI,mBAAmB,CAAA;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC,OAAO,IAAI,SAAS,CAAA;IAE7E,mEAAmE;IACnE,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,SAAS,CAAC,CAAA;IAE5F,OAAO;QACL,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,EAAE;QAC/B,OAAO;QACP,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAI5D;QACZ,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM;QAC7B,KAAK;QACL,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QAClC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,UAAU,CAAC,WAAW,IAAI,KAAK;QACpE,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,eAAe,EAAE,UAAU,CAAC,eAAe;QAC3C,WAAW;QACX,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,WAAW,EAAE,UAAU,CAAC,WAAW;QACnC,SAAS,EAAE,UAAU,CAAC,SAAS;QAC/B,YAAY,EAAE,UAAU,CAAC,YAAY;KACtC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/pi-tui/tui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tui.d.ts","sourceRoot":"","sources":["../../src/pi-tui/tui.ts"],"names":[],"mappings":"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"}
@@ -1065,27 +1065,18 @@ export class TUI extends Container {
1065
1065
  // Clamp cursor position to valid range
1066
1066
  const targetRow = Math.max(0, Math.min(cursorPos.row, totalLines - 1));
1067
1067
  const targetCol = Math.max(0, cursorPos.col);
1068
- // Move cursor from current position to target
1069
- const rowDelta = targetRow - this.hardwareCursorRow;
1070
- let buffer = '';
1071
- if (rowDelta > 0) {
1072
- buffer += `\x1b[${rowDelta}B`; // Move down
1073
- }
1074
- else if (rowDelta < 0) {
1075
- buffer += `\x1b[${-rowDelta}A`; // Move up
1068
+ // Use absolute cursor positioning (CUP) to avoid scroll artifacts.
1069
+ // Relative movement (\x1b[NB/\x1b[NA) with a stale baseline can
1070
+ // cause the terminal to scroll, inserting blank lines, especially
1071
+ // when the editor overlay cursor is far from the rendered content.
1072
+ let buffer = `\x1b[${targetRow + 1};${targetCol + 1}H`;
1073
+ if (this.showHardwareCursor) {
1074
+ buffer += '\x1b[?25h';
1076
1075
  }
1077
- // Move to absolute column (1-indexed)
1078
- buffer += `\x1b[${targetCol + 1}G`;
1079
1076
  if (buffer) {
1080
1077
  this.terminal.write(buffer);
1081
1078
  }
1082
1079
  this.hardwareCursorRow = targetRow;
1083
- if (this.showHardwareCursor) {
1084
- this.terminal.showCursor();
1085
- }
1086
- else {
1087
- this.terminal.hideCursor();
1088
- }
1089
1080
  }
1090
1081
  }
1091
1082
  //# sourceMappingURL=tui.js.map