openhorse 0.2.21 → 0.2.22

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 (205) hide show
  1. package/dist/cli.js +25 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/index.d.ts.map +1 -1
  4. package/dist/commands/index.js +189 -49
  5. package/dist/commands/index.js.map +1 -1
  6. package/dist/commands/parser.d.ts.map +1 -1
  7. package/dist/commands/parser.js +8 -3
  8. package/dist/commands/parser.js.map +1 -1
  9. package/dist/commands/types.d.ts +2 -0
  10. package/dist/commands/types.d.ts.map +1 -1
  11. package/dist/commands/types.js.map +1 -1
  12. package/dist/core/cost-tracker.d.ts +45 -5
  13. package/dist/core/cost-tracker.d.ts.map +1 -1
  14. package/dist/core/cost-tracker.js +78 -13
  15. package/dist/core/cost-tracker.js.map +1 -1
  16. package/dist/framework/index.d.ts +1 -1
  17. package/dist/framework/index.d.ts.map +1 -1
  18. package/dist/framework/index.js.map +1 -1
  19. package/dist/framework/query.d.ts +25 -0
  20. package/dist/framework/query.d.ts.map +1 -1
  21. package/dist/framework/query.js +196 -49
  22. package/dist/framework/query.js.map +1 -1
  23. package/dist/framework/store.d.ts +6 -1
  24. package/dist/framework/store.d.ts.map +1 -1
  25. package/dist/framework/store.js +10 -1
  26. package/dist/framework/store.js.map +1 -1
  27. package/dist/harness/ledger.d.ts.map +1 -1
  28. package/dist/harness/ledger.js +6 -2
  29. package/dist/harness/ledger.js.map +1 -1
  30. package/dist/index.d.ts +2 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
  33. package/dist/ink-ui/components/StatusLine.js +0 -2
  34. package/dist/ink-ui/components/StatusLine.js.map +1 -1
  35. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  36. package/dist/ink-ui/screens/ReplScreen.js +12 -5
  37. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  38. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  39. package/dist/runtime/agent-runtime-controller.js +11 -1
  40. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  41. package/dist/runtime/chat-controller.d.ts.map +1 -1
  42. package/dist/runtime/chat-controller.js +229 -86
  43. package/dist/runtime/chat-controller.js.map +1 -1
  44. package/dist/runtime/rich-text/ansi-parser.d.ts +1 -1
  45. package/dist/runtime/rich-text/ansi-parser.d.ts.map +1 -1
  46. package/dist/runtime/rich-text/ansi-parser.js +93 -55
  47. package/dist/runtime/rich-text/ansi-parser.js.map +1 -1
  48. package/dist/runtime/rich-text/layout.d.ts +2 -11
  49. package/dist/runtime/rich-text/layout.d.ts.map +1 -1
  50. package/dist/runtime/rich-text/layout.js +280 -245
  51. package/dist/runtime/rich-text/layout.js.map +1 -1
  52. package/dist/runtime/rich-text/markdown-parser.js +31 -24
  53. package/dist/runtime/rich-text/markdown-parser.js.map +1 -1
  54. package/dist/runtime/rich-text/types.d.ts +1 -1
  55. package/dist/runtime/rich-text/types.d.ts.map +1 -1
  56. package/dist/runtime/subagents/production.d.ts.map +1 -1
  57. package/dist/runtime/subagents/production.js +28 -3
  58. package/dist/runtime/subagents/production.js.map +1 -1
  59. package/dist/runtime/subagents/result-parser.d.ts.map +1 -1
  60. package/dist/runtime/subagents/result-parser.js +54 -40
  61. package/dist/runtime/subagents/result-parser.js.map +1 -1
  62. package/dist/runtime/subagents/types.d.ts +2 -0
  63. package/dist/runtime/subagents/types.d.ts.map +1 -1
  64. package/dist/runtime/subagents/types.js +5 -1
  65. package/dist/runtime/subagents/types.js.map +1 -1
  66. package/dist/runtime/ui-events.d.ts +13 -0
  67. package/dist/runtime/ui-events.d.ts.map +1 -1
  68. package/dist/runtime/ui-events.js.map +1 -1
  69. package/dist/runtime/ui-view-model.d.ts +9 -0
  70. package/dist/runtime/ui-view-model.d.ts.map +1 -1
  71. package/dist/runtime/ui-view-model.js +59 -37
  72. package/dist/runtime/ui-view-model.js.map +1 -1
  73. package/dist/services/compact/auto-compact.d.ts +15 -2
  74. package/dist/services/compact/auto-compact.d.ts.map +1 -1
  75. package/dist/services/compact/auto-compact.js +56 -24
  76. package/dist/services/compact/auto-compact.js.map +1 -1
  77. package/dist/services/compact/compact.d.ts +2 -0
  78. package/dist/services/compact/compact.d.ts.map +1 -1
  79. package/dist/services/compact/compact.js +22 -5
  80. package/dist/services/compact/compact.js.map +1 -1
  81. package/dist/services/compact/coordinator.d.ts +26 -0
  82. package/dist/services/compact/coordinator.d.ts.map +1 -0
  83. package/dist/services/compact/coordinator.js +44 -0
  84. package/dist/services/compact/coordinator.js.map +1 -0
  85. package/dist/services/compact/index.d.ts +1 -0
  86. package/dist/services/compact/index.d.ts.map +1 -1
  87. package/dist/services/compact/index.js +3 -1
  88. package/dist/services/compact/index.js.map +1 -1
  89. package/dist/services/compact/summary-generator.d.ts +6 -2
  90. package/dist/services/compact/summary-generator.d.ts.map +1 -1
  91. package/dist/services/compact/summary-generator.js +73 -31
  92. package/dist/services/compact/summary-generator.js.map +1 -1
  93. package/dist/services/config-dir.d.ts +11 -1
  94. package/dist/services/config-dir.d.ts.map +1 -1
  95. package/dist/services/config-dir.js +19 -2
  96. package/dist/services/config-dir.js.map +1 -1
  97. package/dist/services/config.d.ts +4 -2
  98. package/dist/services/config.d.ts.map +1 -1
  99. package/dist/services/config.js +40 -0
  100. package/dist/services/config.js.map +1 -1
  101. package/dist/services/doctor.d.ts +2 -0
  102. package/dist/services/doctor.d.ts.map +1 -1
  103. package/dist/services/doctor.js +8 -1
  104. package/dist/services/doctor.js.map +1 -1
  105. package/dist/services/global-config.d.ts +10 -0
  106. package/dist/services/global-config.d.ts.map +1 -1
  107. package/dist/services/global-config.js.map +1 -1
  108. package/dist/services/llm.d.ts +21 -4
  109. package/dist/services/llm.d.ts.map +1 -1
  110. package/dist/services/llm.js +66 -8
  111. package/dist/services/llm.js.map +1 -1
  112. package/dist/services/model-context.d.ts +36 -0
  113. package/dist/services/model-context.d.ts.map +1 -1
  114. package/dist/services/model-context.js +238 -32
  115. package/dist/services/model-context.js.map +1 -1
  116. package/dist/services/redaction.js +1 -1
  117. package/dist/services/redaction.js.map +1 -1
  118. package/dist/services/session-storage.d.ts +39 -1
  119. package/dist/services/session-storage.d.ts.map +1 -1
  120. package/dist/services/session-storage.js +121 -27
  121. package/dist/services/session-storage.js.map +1 -1
  122. package/dist/services/usage-state.d.ts +55 -5
  123. package/dist/services/usage-state.d.ts.map +1 -1
  124. package/dist/services/usage-state.js +185 -59
  125. package/dist/services/usage-state.js.map +1 -1
  126. package/dist/services/verification-profile.d.ts.map +1 -1
  127. package/dist/services/verification-profile.js +3 -2
  128. package/dist/services/verification-profile.js.map +1 -1
  129. package/dist/services/workspace-diff.d.ts.map +1 -1
  130. package/dist/services/workspace-diff.js +34 -3
  131. package/dist/services/workspace-diff.js.map +1 -1
  132. package/dist/services/yaml-config.js +1 -1
  133. package/dist/skills/runtime.d.ts +9 -5
  134. package/dist/skills/runtime.d.ts.map +1 -1
  135. package/dist/skills/runtime.js +157 -12
  136. package/dist/skills/runtime.js.map +1 -1
  137. package/dist/terminal-ui/launch.d.ts +2 -0
  138. package/dist/terminal-ui/launch.d.ts.map +1 -1
  139. package/dist/terminal-ui/launch.js +65 -21
  140. package/dist/terminal-ui/launch.js.map +1 -1
  141. package/dist/terminal-ui/raw-editor.d.ts +9 -0
  142. package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
  143. package/dist/terminal-ui/raw-editor.js +207 -30
  144. package/dist/terminal-ui/raw-editor.js.map +1 -1
  145. package/dist/tools/bash_security.d.ts.map +1 -1
  146. package/dist/tools/bash_security.js +14 -5
  147. package/dist/tools/bash_security.js.map +1 -1
  148. package/dist/tools/index.d.ts.map +1 -1
  149. package/dist/tools/index.js +48 -20
  150. package/dist/tools/index.js.map +1 -1
  151. package/dist/tools/plan.d.ts.map +1 -1
  152. package/dist/tools/plan.js +7 -0
  153. package/dist/tools/plan.js.map +1 -1
  154. package/dist/tools/web.d.ts +10 -0
  155. package/dist/tools/web.d.ts.map +1 -1
  156. package/dist/tools/web.js +81 -1
  157. package/dist/tools/web.js.map +1 -1
  158. package/dist/tui-core/input-parser.d.ts +1 -1
  159. package/dist/tui-core/input-parser.d.ts.map +1 -1
  160. package/dist/tui-core/input-parser.js +20 -1
  161. package/dist/tui-core/input-parser.js.map +1 -1
  162. package/dist/tui-core/style.d.ts +16 -0
  163. package/dist/tui-core/style.d.ts.map +1 -1
  164. package/dist/tui-core/style.js +22 -1
  165. package/dist/tui-core/style.js.map +1 -1
  166. package/dist/tui-ui/inline-surface.d.ts +62 -11
  167. package/dist/tui-ui/inline-surface.d.ts.map +1 -1
  168. package/dist/tui-ui/inline-surface.js +343 -92
  169. package/dist/tui-ui/inline-surface.js.map +1 -1
  170. package/dist/tui-ui/launch.d.ts +1 -0
  171. package/dist/tui-ui/launch.d.ts.map +1 -1
  172. package/dist/tui-ui/launch.js +185 -41
  173. package/dist/tui-ui/launch.js.map +1 -1
  174. package/dist/tui-ui/layout.d.ts +51 -2
  175. package/dist/tui-ui/layout.d.ts.map +1 -1
  176. package/dist/tui-ui/layout.js +226 -76
  177. package/dist/tui-ui/layout.js.map +1 -1
  178. package/dist/tui-ui/runner.d.ts +69 -8
  179. package/dist/tui-ui/runner.d.ts.map +1 -1
  180. package/dist/tui-ui/runner.js +304 -41
  181. package/dist/tui-ui/runner.js.map +1 -1
  182. package/dist/tui-ui/state.d.ts +5 -4
  183. package/dist/tui-ui/state.d.ts.map +1 -1
  184. package/dist/tui-ui/state.js +65 -19
  185. package/dist/tui-ui/state.js.map +1 -1
  186. package/dist/tui-ui/theme.d.ts +13 -0
  187. package/dist/tui-ui/theme.d.ts.map +1 -0
  188. package/dist/tui-ui/theme.js +20 -0
  189. package/dist/tui-ui/theme.js.map +1 -0
  190. package/dist/tui-ui/transcript-cache.d.ts +5 -3
  191. package/dist/tui-ui/transcript-cache.d.ts.map +1 -1
  192. package/dist/tui-ui/transcript-cache.js +16 -9
  193. package/dist/tui-ui/transcript-cache.js.map +1 -1
  194. package/dist/tui-ui/transcript-layout.d.ts +21 -0
  195. package/dist/tui-ui/transcript-layout.d.ts.map +1 -0
  196. package/dist/tui-ui/transcript-layout.js +398 -0
  197. package/dist/tui-ui/transcript-layout.js.map +1 -0
  198. package/dist/ui/status-bar.d.ts +1 -1
  199. package/dist/ui/status-bar.d.ts.map +1 -1
  200. package/dist/ui/status-bar.js +2 -15
  201. package/dist/ui/status-bar.js.map +1 -1
  202. package/dist/ui-v2/components/shell.d.ts.map +1 -1
  203. package/dist/ui-v2/components/shell.js +0 -8
  204. package/dist/ui-v2/components/shell.js.map +1 -1
  205. package/package.json +1 -1
@@ -6,22 +6,31 @@
6
6
  * active skill prompts and the tool list that should be visible for one turn.
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.MAX_EXPLICIT_SKILL_BYTES = void 0;
9
10
  exports.resolveSkillsForTurn = resolveSkillsForTurn;
10
11
  exports.hasMatchingSkill = hasMatchingSkill;
11
12
  exports.resolveSkillResourcePath = resolveSkillResourcePath;
12
13
  exports.normalizeRequestedSkillName = normalizeRequestedSkillName;
13
14
  exports.parseSkillCommandInput = parseSkillCommandInput;
15
+ exports.loadExplicitSkillReference = loadExplicitSkillReference;
14
16
  exports.skillActivationNames = skillActivationNames;
17
+ const fs_1 = require("fs");
18
+ const os_1 = require("os");
15
19
  const path_1 = require("path");
20
+ const loader_1 = require("./loader");
16
21
  const registry_1 = require("./registry");
17
22
  const types_1 = require("./types");
23
+ exports.MAX_EXPLICIT_SKILL_BYTES = 64 * 1024;
18
24
  function resolveSkillsForTurn(context) {
19
25
  const registry = (0, registry_1.getSkillsRegistry)();
20
- const explicit = findExplicitSkillReferences(context.input, registry.getAllSkills());
21
- const matched = mergeSkillsByName([
22
- ...explicit,
23
- ...registry.findMatchingSkills(context.input),
24
- ]).slice(0, types_1.MAX_AUTO_SKILLS);
26
+ const parsedInput = parseSkillCommandInput(context.input);
27
+ const linkedSkill = loadExplicitSkillReference(context.input, context.cwd);
28
+ const matched = parsedInput.skillPath
29
+ ? (linkedSkill ? [linkedSkill] : [])
30
+ : mergeSkillsByName([
31
+ ...findExplicitSkillReferences(context.input, registry.getAllSkills()),
32
+ ...registry.findMatchingSkills(context.input),
33
+ ]).slice(0, types_1.MAX_AUTO_SKILLS);
25
34
  const skills = matched.map(toAppliedSkill);
26
35
  const scopedToolNames = buildScopedToolNames(skills);
27
36
  const toolScopeActive = scopedToolNames.length > 0;
@@ -36,8 +45,12 @@ function resolveSkillsForTurn(context) {
36
45
  toolScopeActive,
37
46
  };
38
47
  }
39
- function hasMatchingSkill(input) {
48
+ function hasMatchingSkill(input, cwd = process.cwd()) {
40
49
  const registry = (0, registry_1.getSkillsRegistry)();
50
+ const parsedInput = parseSkillCommandInput(input);
51
+ const linkedSkill = loadExplicitSkillReference(input, cwd);
52
+ if (parsedInput.skillPath)
53
+ return !!linkedSkill;
41
54
  return registry.findMatchingSkills(input).length > 0
42
55
  || findExplicitSkillReferences(input, registry.getAllSkills()).length > 0;
43
56
  }
@@ -55,23 +68,155 @@ function resolveSkillResourcePath(skill, relativePath) {
55
68
  return resolvedPath;
56
69
  }
57
70
  function normalizeRequestedSkillName(input) {
58
- return input
71
+ const trimmed = input.trim();
72
+ const markdownReference = parseMarkdownSkillReference(trimmed, false);
73
+ const selector = markdownReference?.skillName || trimmed;
74
+ return selector
59
75
  .trim()
60
- .replace(/^[/@#]+/u, '')
76
+ .replace(/^[/@#$]+/u, '')
61
77
  .replace(/^skill:/iu, '')
62
78
  .replace(/[::,,.。;;!!??]+$/u, '')
63
79
  .toLowerCase();
64
80
  }
65
81
  function parseSkillCommandInput(input) {
66
82
  const trimmed = input.trim();
67
- const match = trimmed.match(/^\/(?:skill|use-skill|activate-skill)\s+(\S+)(?:\s+([\s\S]*))?$/iu);
68
- if (!match)
83
+ const command = trimmed.match(/^\/(?:skill|use-skill|activate-skill)\s+([\s\S]+)$/iu);
84
+ if (command) {
85
+ const markdownReference = parseMarkdownSkillReference(command[1], false);
86
+ if (markdownReference)
87
+ return markdownReference;
88
+ const [selector, ...taskParts] = command[1].split(/\s+/u);
89
+ return {
90
+ skillName: normalizeRequestedSkillName(selector),
91
+ task: taskParts.join(' ').trim(),
92
+ };
93
+ }
94
+ const directReference = trimmed.startsWith('/[$') ? trimmed.slice(1) : trimmed;
95
+ const markdownReference = parseMarkdownSkillReference(directReference, true);
96
+ if (markdownReference)
97
+ return markdownReference;
98
+ const dollarReference = trimmed.match(/^\$([^\s]+)(?:\s+([\s\S]*))?$/u);
99
+ if (!dollarReference)
69
100
  return { task: input };
70
101
  return {
71
- skillName: normalizeRequestedSkillName(match[1]),
72
- task: (match[2] || '').trim(),
102
+ skillName: normalizeRequestedSkillName(dollarReference[1]),
103
+ task: (dollarReference[2] || '').trim(),
73
104
  };
74
105
  }
106
+ function loadExplicitSkillReference(input, cwd = process.cwd()) {
107
+ const parsed = parseSkillCommandInput(input);
108
+ if (!parsed.skillName || !parsed.skillPath)
109
+ return undefined;
110
+ const sourcePath = resolveExplicitSkillPath(parsed.skillPath, cwd);
111
+ if ((0, path_1.basename)(sourcePath).toLowerCase() !== 'skill.md')
112
+ return undefined;
113
+ try {
114
+ const descriptor = (0, fs_1.openSync)(sourcePath, 'r');
115
+ let content;
116
+ try {
117
+ if (!(0, fs_1.fstatSync)(descriptor).isFile())
118
+ return undefined;
119
+ const buffer = Buffer.alloc(exports.MAX_EXPLICIT_SKILL_BYTES + 1);
120
+ let bytesRead = 0;
121
+ while (bytesRead < buffer.length) {
122
+ const count = (0, fs_1.readSync)(descriptor, buffer, bytesRead, buffer.length - bytesRead, null);
123
+ if (count === 0)
124
+ break;
125
+ bytesRead += count;
126
+ }
127
+ if (bytesRead > exports.MAX_EXPLICIT_SKILL_BYTES)
128
+ return undefined;
129
+ content = buffer.subarray(0, bytesRead).toString('utf-8');
130
+ }
131
+ finally {
132
+ (0, fs_1.closeSync)(descriptor);
133
+ }
134
+ const skill = (0, loader_1.parseSkillFile)(content, sourcePath);
135
+ if (!skill)
136
+ return undefined;
137
+ const nameMatches = skillActivationNames(skill)
138
+ .some(name => normalizeRequestedSkillName(name) === parsed.skillName);
139
+ if (!nameMatches)
140
+ return undefined;
141
+ const resourceRoot = (0, path_1.dirname)(sourcePath);
142
+ return {
143
+ ...skill,
144
+ source: resourceRoot,
145
+ resourceRoot,
146
+ };
147
+ }
148
+ catch {
149
+ return undefined;
150
+ }
151
+ }
152
+ function parseMarkdownSkillReference(input, requireDollar) {
153
+ const trimmed = input.trim();
154
+ if (!trimmed.startsWith('['))
155
+ return undefined;
156
+ const labelEnd = trimmed.indexOf('](');
157
+ if (labelEnd <= 1)
158
+ return undefined;
159
+ const rawLabel = trimmed.slice(1, labelEnd);
160
+ if (requireDollar && !rawLabel.startsWith('$'))
161
+ return undefined;
162
+ const skillName = normalizeRequestedSkillName(rawLabel);
163
+ if (!skillName)
164
+ return undefined;
165
+ const targetStart = labelEnd + 2;
166
+ let targetEnd = -1;
167
+ let referenceEnd = -1;
168
+ if (trimmed[targetStart] === '<') {
169
+ targetEnd = trimmed.indexOf('>)', targetStart + 1);
170
+ if (targetEnd < 0)
171
+ return undefined;
172
+ referenceEnd = targetEnd + 2;
173
+ }
174
+ else {
175
+ let depth = 1;
176
+ let escaped = false;
177
+ for (let index = targetStart; index < trimmed.length; index += 1) {
178
+ const char = trimmed[index];
179
+ if (escaped) {
180
+ escaped = false;
181
+ continue;
182
+ }
183
+ if (char === '\\') {
184
+ escaped = true;
185
+ }
186
+ else if (char === '(') {
187
+ depth += 1;
188
+ }
189
+ else if (char === ')') {
190
+ depth -= 1;
191
+ if (depth === 0) {
192
+ targetEnd = index;
193
+ referenceEnd = index + 1;
194
+ break;
195
+ }
196
+ }
197
+ }
198
+ if (targetEnd < 0)
199
+ return undefined;
200
+ }
201
+ const rawTarget = trimmed.slice(targetStart, trimmed[targetStart] === '<' ? targetEnd + 1 : targetEnd);
202
+ const skillPath = (0, loader_1.normalizeSkillSourcePath)(rawTarget);
203
+ if (!skillPath)
204
+ return undefined;
205
+ return {
206
+ skillName,
207
+ skillPath,
208
+ task: trimmed.slice(referenceEnd).trim(),
209
+ };
210
+ }
211
+ function resolveExplicitSkillPath(input, cwd) {
212
+ const normalized = (0, loader_1.normalizeSkillSourcePath)(input);
213
+ const expanded = normalized === '~'
214
+ ? (0, os_1.homedir)()
215
+ : normalized.startsWith('~/')
216
+ ? (0, path_1.resolve)((0, os_1.homedir)(), normalized.slice(2))
217
+ : normalized;
218
+ return (0, path_1.resolve)(cwd, expanded);
219
+ }
75
220
  function findExplicitSkillReferences(input, skills) {
76
221
  const command = parseSkillCommandInput(input);
77
222
  if (command.skillName) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/skills/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/skills/runtime.ts"],"names":[],"mappings":"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"}
@@ -76,6 +76,8 @@ export declare class TerminalEventSink implements UiEventSink {
76
76
  getSubtaskTimeline(): SubtaskTimelineEntry[];
77
77
  }
78
78
  export declare function renderTerminalBanner(runtime: OpenHorseUiRuntime): string;
79
+ export declare function renderTerminalContextStatus(runtime: OpenHorseUiRuntime): string;
80
+ export declare function promptText(runtime: OpenHorseUiRuntime): string;
79
81
  export declare function formatTerminalPermissionPrompt(request: ToolPermissionRequest, cwd: string): string;
80
82
  export declare function parseEditInput(input: string): {
81
83
  isEdit: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/terminal-ui/launch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launch.d.ts","sourceRoot":"","sources":["../../src/terminal-ui/launch.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,8 @@ exports.formatTerminalSessionPickerHeader = formatTerminalSessionPickerHeader;
18
18
  exports.formatTerminalEditPreviewHeader = formatTerminalEditPreviewHeader;
19
19
  exports.formatTerminalEditPreviewCandidate = formatTerminalEditPreviewCandidate;
20
20
  exports.renderTerminalBanner = renderTerminalBanner;
21
+ exports.renderTerminalContextStatus = renderTerminalContextStatus;
22
+ exports.promptText = promptText;
21
23
  exports.formatTerminalPermissionPrompt = formatTerminalPermissionPrompt;
22
24
  exports.parseEditInput = parseEditInput;
23
25
  exports.renderTerminalShortcuts = renderTerminalShortcuts;
@@ -37,6 +39,7 @@ const raw_editor_1 = require("./raw-editor");
37
39
  const ACCENT = chalk_1.default.hex('#80E6E8');
38
40
  const DIM = chalk_1.default.hex('#567089');
39
41
  const ERROR = chalk_1.default.hex('#FF7A7A');
42
+ const WARNING = chalk_1.default.hex('#F2C14E');
40
43
  const TOOL = chalk_1.default.hex('#7FA2B8');
41
44
  const BORDER = chalk_1.default.hex('#38556A');
42
45
  function stripTrailingNewlines(text) {
@@ -109,7 +112,10 @@ function resolveTerminalSessionPickerInput(input, request) {
109
112
  };
110
113
  }
111
114
  if (numeric) {
112
- return { type: 'error', message: `No session at index ${numeric[1]} or id prefix "${trimmed}".` };
115
+ return {
116
+ type: 'error',
117
+ message: `No session at index ${numeric[1]} or id prefix "${trimmed}".`,
118
+ };
113
119
  }
114
120
  return {
115
121
  type: 'error',
@@ -163,9 +169,9 @@ function hasErrorLayerPrefix(message) {
163
169
  const lower = message.toLowerCase();
164
170
  return TERMINAL_ERROR_LAYERS.some(layer => {
165
171
  const label = layer.toLowerCase();
166
- return lower.startsWith(`[${label}] `)
167
- || lower.startsWith(`error [${label}]:`)
168
- || lower.startsWith(`error: [${label}] `);
172
+ return (lower.startsWith(`[${label}] `) ||
173
+ lower.startsWith(`error [${label}]:`) ||
174
+ lower.startsWith(`error: [${label}] `));
169
175
  });
170
176
  }
171
177
  function inferTerminalErrorLayer(message) {
@@ -180,16 +186,16 @@ function inferTerminalErrorLayer(message) {
180
186
  return 'session';
181
187
  if (/\b(renderer|terminal|tty|prompt|resize|input editor|scrollback)\b/u.test(lower))
182
188
  return 'renderer';
183
- if (/\btool\b/u.test(lower)
184
- || /\b(exec_command|read_file|write_file|edit_file|grep|glob|list_files)\b/u.test(lower)
185
- || /command exited with code/u.test(lower)
186
- || /path is a directory|not a file|enoent|eacces/u.test(lower)) {
189
+ if (/\btool\b/u.test(lower) ||
190
+ /\b(exec_command|read_file|write_file|edit_file|grep|glob|list_files)\b/u.test(lower) ||
191
+ /command exited with code/u.test(lower) ||
192
+ /path is a directory|not a file|enoent|eacces/u.test(lower)) {
187
193
  return 'tool';
188
194
  }
189
- if (/\b(provider|model|llm|api|quota|rate limit|rate_limit|provider_busy)\b/u.test(lower)
190
- || /\b(openai|anthropic|dashscope|bailian|xunfei|glm|qwen)\b/u.test(lower)
191
- || /\bstatus code\b/u.test(lower)
192
- || /notEnoughCvError|engineInternalError/i.test(message)) {
195
+ if (/\b(provider|model|llm|api|quota|rate limit|rate_limit|provider_busy)\b/u.test(lower) ||
196
+ /\b(openai|anthropic|dashscope|bailian|xunfei|glm|qwen)\b/u.test(lower) ||
197
+ /\bstatus code\b/u.test(lower) ||
198
+ /notEnoughCvError|engineInternalError/i.test(message)) {
193
199
  return 'provider';
194
200
  }
195
201
  return 'runtime';
@@ -217,6 +223,16 @@ function formatTerminalSessionRestored(event) {
217
223
  if (view.summary) {
218
224
  lines.push(fitLine(' Summary: ', (0, redaction_1.redactTraceText)(view.summary)));
219
225
  }
226
+ if (view.summaryGeneratedAt) {
227
+ const origin = view.checkpointId ? 'compact checkpoint' : 'generated on resume';
228
+ lines.push(` Generated: ${new Date(view.summaryGeneratedAt).toLocaleString()} (${origin})`);
229
+ }
230
+ if (typeof view.summaryCoveredMessages === 'number') {
231
+ lines.push(` Covers: ${view.summaryCoveredMessages} source messages`);
232
+ }
233
+ if (typeof view.transcriptMessages === 'number') {
234
+ lines.push(`✔ Restored ${view.restoredMessages} model-context messages / ${view.transcriptMessages} transcript messages`);
235
+ }
220
236
  return lines.join('\n');
221
237
  }
222
238
  class DirectTerminalWriter {
@@ -472,7 +488,12 @@ class TerminalEventSink {
472
488
  case 'selected':
473
489
  this.pendingPicker = null;
474
490
  this.pickerOffset = 0;
475
- return { type: 'select_session', sessionId: selection.sessionId, allProjects: picker.allProjects, source: 'picker' };
491
+ return {
492
+ type: 'select_session',
493
+ sessionId: selection.sessionId,
494
+ allProjects: picker.allProjects,
495
+ source: 'picker',
496
+ };
476
497
  case 'error':
477
498
  this.writer.write(`${ERROR(selection.message)}\n`);
478
499
  return '';
@@ -599,9 +620,17 @@ function renderTerminalBanner(runtime) {
599
620
  function printBanner(runtime) {
600
621
  process.stdout.write(renderTerminalBanner(runtime));
601
622
  }
623
+ function renderTerminalContextStatus(runtime) {
624
+ const usage = runtime.store.getSnapshot().contextUsage;
625
+ const status = (0, ui_view_model_1.contextUsageStatusText)(usage);
626
+ if (!status)
627
+ return '';
628
+ return usage && usage.percent >= usage.warningThresholdPercent ? WARNING(status) : DIM(status);
629
+ }
602
630
  function promptText(runtime) {
603
631
  const session = runtime.getSession()?.id.slice(0, 8) ?? 'new';
604
- return `${DIM(`[${session}]`)} ${ACCENT('›')} `;
632
+ const context = renderTerminalContextStatus(runtime);
633
+ return `${DIM(`[${session}]`)}${context ? ` ${context}` : ''} ${ACCENT('›')} `;
605
634
  }
606
635
  function compactPermissionValue(value, maxWidth) {
607
636
  const singleLine = (0, redaction_1.redactTraceText)(value).replace(/\s+/g, ' ').trim();
@@ -666,6 +695,7 @@ function renderTerminalShortcuts() {
666
695
  `${ACCENT('Shortcuts')}`,
667
696
  `${BORDER('─'.repeat(Math.min(width, 32)))}`,
668
697
  `${DIM('Enter')} send ${DIM('Tab')} complete`,
698
+ `${DIM('Ctrl+J')} newline`,
669
699
  `${DIM('Ctrl+C')} interrupt; twice exits`,
670
700
  `${DIM('/paste')} ${DIM('/edit')} ${DIM('/resume')}`,
671
701
  `${DIM('/last-tool')} ${DIM('/trace')}`,
@@ -677,6 +707,7 @@ function renderTerminalShortcuts() {
677
707
  `${ACCENT('Shortcuts')}`,
678
708
  `${BORDER('─'.repeat(Math.min(width, 40)))}`,
679
709
  `${DIM('Enter')} send ${DIM('Tab')} complete ${DIM('↑/↓')} history`,
710
+ `${DIM('Alt+Enter/Ctrl+J')} newline`,
680
711
  `${DIM('Ctrl+U/W')} edit ${DIM('Ctrl+C')} interrupt; twice exits`,
681
712
  `${DIM('/paste')} multiline ${DIM('/edit')} editor ${DIM('/resume')} sessions`,
682
713
  `${DIM('/last-tool')} tool detail ${DIM('/trace')} timeline`,
@@ -687,6 +718,7 @@ function renderTerminalShortcuts() {
687
718
  `${ACCENT('Terminal shortcuts')}`,
688
719
  `${BORDER('─'.repeat(48))}`,
689
720
  `${DIM('Enter')} send current input`,
721
+ `${DIM('Alt+Enter')} insert newline (${DIM('Ctrl+J')} also works)`,
690
722
  `${DIM('Tab')} complete slash command or @file mention`,
691
723
  `${DIM('↑/↓')} navigate local input history`,
692
724
  `${DIM('Ctrl+U')} clear current input`,
@@ -720,7 +752,9 @@ class TerminalInputComposer {
720
752
  if (!this.mode && ['/paste', '/multi', '/multiline'].includes(trimmed)) {
721
753
  this.mode = 'paste';
722
754
  this.lines.length = 0;
723
- return { notice: DIM('Multiline input: paste or type lines, finish with /end, cancel with /cancel.') };
755
+ return {
756
+ notice: DIM('Multiline input: paste or type lines, finish with /end, cancel with /cancel.'),
757
+ };
724
758
  }
725
759
  if (this.mode === 'paste') {
726
760
  if (trimmed === '/cancel') {
@@ -730,7 +764,9 @@ class TerminalInputComposer {
730
764
  if (trimmed === '/end') {
731
765
  const submitted = this.lines.join('\n').trimEnd();
732
766
  this.reset();
733
- return submitted ? { input: submitted } : { cancelled: true, notice: DIM('Multiline input was empty.') };
767
+ return submitted
768
+ ? { input: submitted }
769
+ : { cancelled: true, notice: DIM('Multiline input was empty.') };
734
770
  }
735
771
  this.lines.push(input);
736
772
  return {};
@@ -823,21 +859,25 @@ async function launchTerminalUI(runtime) {
823
859
  return undefined;
824
860
  }
825
861
  confirmingTool = true;
826
- void editor.ask(formatTerminalPermissionPrompt(event.request, runtime.cwd), event.request.abortSignal).then(answer => {
862
+ void editor
863
+ .ask(formatTerminalPermissionPrompt(event.request, runtime.cwd), event.request.abortSignal)
864
+ .then(answer => {
827
865
  agentController.handle({
828
866
  type: 'permission_decision',
829
867
  requestId: event.request.id,
830
868
  approved: /^y(es)?$/i.test(answer.trim()),
831
869
  source: 'keyboard',
832
870
  });
833
- }).catch(() => {
871
+ })
872
+ .catch(() => {
834
873
  agentController.handle({
835
874
  type: 'permission_decision',
836
875
  requestId: event.request.id,
837
876
  approved: false,
838
877
  source: 'programmatic',
839
878
  });
840
- }).finally(() => {
879
+ })
880
+ .finally(() => {
841
881
  confirmingTool = false;
842
882
  prompt();
843
883
  });
@@ -937,7 +977,11 @@ async function launchTerminalUI(runtime) {
937
977
  if (!stopping)
938
978
  editor.start();
939
979
  if (result.error) {
940
- events.append({ role: 'error', content: `Editor failed: ${result.error}`, errorLayer: 'renderer' });
980
+ events.append({
981
+ role: 'error',
982
+ content: `Editor failed: ${result.error}`,
983
+ errorLayer: 'renderer',
984
+ });
941
985
  prompt();
942
986
  return;
943
987
  }
@@ -981,7 +1025,7 @@ async function launchTerminalUI(runtime) {
981
1025
  prompt();
982
1026
  };
983
1027
  try {
984
- process.stdout.write(`${DIM('Ready. Stable terminal editor is enabled for CJK input, Backspace, multiline paste, and live revision. /paste and /edit are available for long input.')}\n`);
1028
+ process.stdout.write(`${DIM('Ready. Terminal editor supports CJK, Alt/Option+Enter or Ctrl+J newlines, multiline paste, and live revision. /edit is available for oversized drafts.')}\n`);
985
1029
  editor.start();
986
1030
  prompt();
987
1031
  await new Promise(resolve => {