openhorse 0.2.12 → 0.2.15

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 (143) hide show
  1. package/dist/commands/index.d.ts.map +1 -1
  2. package/dist/commands/index.js +814 -61
  3. package/dist/commands/index.js.map +1 -1
  4. package/dist/commands/types.d.ts +7 -2
  5. package/dist/commands/types.d.ts.map +1 -1
  6. package/dist/commands/types.js.map +1 -1
  7. package/dist/core/checkpoint.d.ts +8 -0
  8. package/dist/core/checkpoint.d.ts.map +1 -1
  9. package/dist/core/checkpoint.js +69 -10
  10. package/dist/core/checkpoint.js.map +1 -1
  11. package/dist/core/cost-tracker.d.ts.map +1 -1
  12. package/dist/core/cost-tracker.js +11 -0
  13. package/dist/core/cost-tracker.js.map +1 -1
  14. package/dist/core/tool-artifacts.d.ts +10 -0
  15. package/dist/core/tool-artifacts.d.ts.map +1 -1
  16. package/dist/core/tool-artifacts.js +81 -3
  17. package/dist/core/tool-artifacts.js.map +1 -1
  18. package/dist/framework/index.d.ts +2 -2
  19. package/dist/framework/index.d.ts.map +1 -1
  20. package/dist/framework/index.js +5 -1
  21. package/dist/framework/index.js.map +1 -1
  22. package/dist/framework/query.d.ts +87 -2
  23. package/dist/framework/query.d.ts.map +1 -1
  24. package/dist/framework/query.js +281 -14
  25. package/dist/framework/query.js.map +1 -1
  26. package/dist/framework/tool-scheduler.d.ts +9 -0
  27. package/dist/framework/tool-scheduler.d.ts.map +1 -1
  28. package/dist/framework/tool-scheduler.js +34 -0
  29. package/dist/framework/tool-scheduler.js.map +1 -1
  30. package/dist/ink-ui/components/PromptInput.d.ts.map +1 -1
  31. package/dist/ink-ui/components/PromptInput.js +5 -3
  32. package/dist/ink-ui/components/PromptInput.js.map +1 -1
  33. package/dist/ink-ui/components/StatusLine.d.ts.map +1 -1
  34. package/dist/ink-ui/components/StatusLine.js +7 -1
  35. package/dist/ink-ui/components/StatusLine.js.map +1 -1
  36. package/dist/ink-ui/screens/ReplScreen.d.ts +3 -1
  37. package/dist/ink-ui/screens/ReplScreen.d.ts.map +1 -1
  38. package/dist/ink-ui/screens/ReplScreen.js +40 -93
  39. package/dist/ink-ui/screens/ReplScreen.js.map +1 -1
  40. package/dist/print-ui/launch.d.ts.map +1 -1
  41. package/dist/print-ui/launch.js +1 -0
  42. package/dist/print-ui/launch.js.map +1 -1
  43. package/dist/runtime/agent-runtime-controller.d.ts +5 -0
  44. package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
  45. package/dist/runtime/agent-runtime-controller.js +15 -3
  46. package/dist/runtime/agent-runtime-controller.js.map +1 -1
  47. package/dist/runtime/agent-runtime-protocol.d.ts +13 -1
  48. package/dist/runtime/agent-runtime-protocol.d.ts.map +1 -1
  49. package/dist/runtime/agent-runtime-protocol.js +24 -0
  50. package/dist/runtime/agent-runtime-protocol.js.map +1 -1
  51. package/dist/runtime/agent-status.d.ts +5 -0
  52. package/dist/runtime/agent-status.d.ts.map +1 -1
  53. package/dist/runtime/agent-status.js +28 -2
  54. package/dist/runtime/agent-status.js.map +1 -1
  55. package/dist/runtime/chat-controller.d.ts +7 -0
  56. package/dist/runtime/chat-controller.d.ts.map +1 -1
  57. package/dist/runtime/chat-controller.js +1084 -47
  58. package/dist/runtime/chat-controller.js.map +1 -1
  59. package/dist/runtime/loop-budget.d.ts +5 -0
  60. package/dist/runtime/loop-budget.d.ts.map +1 -0
  61. package/dist/runtime/loop-budget.js +77 -0
  62. package/dist/runtime/loop-budget.js.map +1 -0
  63. package/dist/runtime/turn-controller.d.ts +4 -0
  64. package/dist/runtime/turn-controller.d.ts.map +1 -1
  65. package/dist/runtime/turn-controller.js +8 -0
  66. package/dist/runtime/turn-controller.js.map +1 -1
  67. package/dist/runtime/ui-events.d.ts +41 -1
  68. package/dist/runtime/ui-events.d.ts.map +1 -1
  69. package/dist/runtime/ui-events.js.map +1 -1
  70. package/dist/runtime/ui-view-model.d.ts +287 -0
  71. package/dist/runtime/ui-view-model.d.ts.map +1 -0
  72. package/dist/runtime/ui-view-model.js +642 -0
  73. package/dist/runtime/ui-view-model.js.map +1 -0
  74. package/dist/services/config-dir.d.ts +2 -0
  75. package/dist/services/config-dir.d.ts.map +1 -1
  76. package/dist/services/config-dir.js +5 -0
  77. package/dist/services/config-dir.js.map +1 -1
  78. package/dist/services/config.d.ts +4 -2
  79. package/dist/services/config.d.ts.map +1 -1
  80. package/dist/services/config.js +19 -0
  81. package/dist/services/config.js.map +1 -1
  82. package/dist/services/file-glob.d.ts +6 -2
  83. package/dist/services/file-glob.d.ts.map +1 -1
  84. package/dist/services/file-glob.js +10 -4
  85. package/dist/services/file-glob.js.map +1 -1
  86. package/dist/services/global-config.d.ts +17 -0
  87. package/dist/services/global-config.d.ts.map +1 -1
  88. package/dist/services/global-config.js.map +1 -1
  89. package/dist/services/llm.d.ts +16 -0
  90. package/dist/services/llm.d.ts.map +1 -1
  91. package/dist/services/llm.js +56 -11
  92. package/dist/services/llm.js.map +1 -1
  93. package/dist/services/model-catalog.d.ts +14 -0
  94. package/dist/services/model-catalog.d.ts.map +1 -0
  95. package/dist/services/model-catalog.js +73 -0
  96. package/dist/services/model-catalog.js.map +1 -0
  97. package/dist/services/model-context.d.ts.map +1 -1
  98. package/dist/services/model-context.js +3 -0
  99. package/dist/services/model-context.js.map +1 -1
  100. package/dist/services/redaction.d.ts +2 -0
  101. package/dist/services/redaction.d.ts.map +1 -0
  102. package/dist/services/redaction.js +27 -0
  103. package/dist/services/redaction.js.map +1 -0
  104. package/dist/services/session-index.d.ts.map +1 -1
  105. package/dist/services/session-index.js +7 -3
  106. package/dist/services/session-index.js.map +1 -1
  107. package/dist/services/session-storage.d.ts +99 -0
  108. package/dist/services/session-storage.d.ts.map +1 -1
  109. package/dist/services/session-storage.js +153 -2
  110. package/dist/services/session-storage.js.map +1 -1
  111. package/dist/services/verification-profile.d.ts +51 -0
  112. package/dist/services/verification-profile.d.ts.map +1 -0
  113. package/dist/services/verification-profile.js +306 -0
  114. package/dist/services/verification-profile.js.map +1 -0
  115. package/dist/services/workspace-state.d.ts +25 -0
  116. package/dist/services/workspace-state.d.ts.map +1 -0
  117. package/dist/services/workspace-state.js +115 -0
  118. package/dist/services/workspace-state.js.map +1 -0
  119. package/dist/terminal-ui/completion.d.ts.map +1 -1
  120. package/dist/terminal-ui/completion.js +9 -6
  121. package/dist/terminal-ui/completion.js.map +1 -1
  122. package/dist/terminal-ui/launch.d.ts +15 -1
  123. package/dist/terminal-ui/launch.d.ts.map +1 -1
  124. package/dist/terminal-ui/launch.js +300 -56
  125. package/dist/terminal-ui/launch.js.map +1 -1
  126. package/dist/terminal-ui/raw-editor.d.ts +4 -0
  127. package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
  128. package/dist/terminal-ui/raw-editor.js +29 -0
  129. package/dist/terminal-ui/raw-editor.js.map +1 -1
  130. package/dist/tui-ui/launch.d.ts.map +1 -1
  131. package/dist/tui-ui/launch.js +1 -0
  132. package/dist/tui-ui/launch.js.map +1 -1
  133. package/dist/tui-ui/layout.d.ts.map +1 -1
  134. package/dist/tui-ui/layout.js +21 -28
  135. package/dist/tui-ui/layout.js.map +1 -1
  136. package/dist/tui-ui/pickers.d.ts.map +1 -1
  137. package/dist/tui-ui/pickers.js +21 -62
  138. package/dist/tui-ui/pickers.js.map +1 -1
  139. package/dist/tui-ui/state.d.ts +2 -4
  140. package/dist/tui-ui/state.d.ts.map +1 -1
  141. package/dist/tui-ui/state.js +13 -11
  142. package/dist/tui-ui/state.js.map +1 -1
  143. package/package.json +1 -1
@@ -0,0 +1,287 @@
1
+ import { type EditPreviewRequest, type ResolvedUiRendererCapabilities, type RuntimeLoopStats, type RuntimeSessionRestoredEvent, type SessionPickerRequest, type ToolPermissionRequest, type RuntimeToolFinishedEvent, type RuntimeToolStartedEvent, type TranscriptEntry, type TranscriptRole, type UiRendererCapabilities } from './ui-events';
2
+ import type { CommandCategory, SlashCommand } from '../commands/types';
3
+ export type TranscriptBlockKind = 'user' | 'assistant' | 'tool' | 'error' | 'system' | 'status' | 'command' | 'resume';
4
+ export interface TranscriptBlock {
5
+ id: string;
6
+ kind: TranscriptBlockKind;
7
+ role: TranscriptRole;
8
+ content: string;
9
+ title?: string;
10
+ }
11
+ export type ToolActivityState = 'queued' | 'running' | 'success' | 'error' | 'skipped' | 'requested';
12
+ export interface ToolActivity {
13
+ callId?: string;
14
+ name: string;
15
+ state: ToolActivityState;
16
+ detail?: string;
17
+ command?: string;
18
+ summary?: string;
19
+ durationMs?: number;
20
+ error?: string;
21
+ outputBytes?: number;
22
+ artifactRef?: {
23
+ id: string;
24
+ outputBytes: number;
25
+ };
26
+ batchCount?: number;
27
+ batchIndex?: number;
28
+ }
29
+ export type UiRendererStatus = 'stable' | 'beta' | 'non-interactive' | 'custom';
30
+ export interface StatusSnapshot {
31
+ model?: string;
32
+ sessionId?: string;
33
+ tokens?: {
34
+ input?: number;
35
+ output?: number;
36
+ contextPercent?: number;
37
+ };
38
+ costUsd?: number;
39
+ runningState?: string;
40
+ permissionMode?: string;
41
+ loop?: Pick<RuntimeLoopStats, 'llmRequests' | 'toolCalls' | 'finishReason' | 'budgetExceededReason' | 'localFastPathUsed'>;
42
+ renderer: {
43
+ name: string;
44
+ status: UiRendererStatus;
45
+ capabilities: ResolvedUiRendererCapabilities;
46
+ capabilityLabels: string[];
47
+ };
48
+ }
49
+ export interface RuntimeCapabilityTool {
50
+ name: string;
51
+ }
52
+ export interface RuntimeCapabilityInput {
53
+ projectInstructionsContent?: string;
54
+ skillsContent?: string;
55
+ memoryContent?: string;
56
+ tools?: RuntimeCapabilityTool[];
57
+ webSearchConfigured?: boolean;
58
+ }
59
+ export interface RuntimeCapabilitySummary {
60
+ labels: string[];
61
+ text: string;
62
+ hasProjectRules: boolean;
63
+ hasSkills: boolean;
64
+ hasMemory: boolean;
65
+ hasMcp: boolean;
66
+ hasWebSearch: boolean;
67
+ }
68
+ export interface SessionRestoredView {
69
+ sessionId: string;
70
+ shortId: string;
71
+ projectPath: string;
72
+ model: string;
73
+ restoredMessages: number;
74
+ messageCount?: number;
75
+ summary?: string;
76
+ headline: string;
77
+ }
78
+ export type PickerKind = 'command' | 'session' | 'model' | 'file' | 'permission' | 'edit-preview';
79
+ export interface PickerState<TItem> {
80
+ kind: PickerKind;
81
+ title: string;
82
+ totalItems: number;
83
+ visibleStart: number;
84
+ visibleLimit: number;
85
+ page: number;
86
+ pageCount: number;
87
+ visibleItems: TItem[];
88
+ hasPreviousPage: boolean;
89
+ hasNextPage: boolean;
90
+ }
91
+ export interface SessionPickerItem {
92
+ session: SessionPickerRequest['sessions'][number];
93
+ globalIndex: number;
94
+ sessionId: string;
95
+ shortId: string;
96
+ title: string;
97
+ messageCount: number;
98
+ historySizeBytes: number;
99
+ model: string;
100
+ projectPath: string;
101
+ showProject: boolean;
102
+ }
103
+ export interface CommandPickerItem {
104
+ command: Pick<SlashCommand, 'name' | 'aliases' | 'description' | 'argumentHint' | 'category' | 'priority'>;
105
+ name: string;
106
+ value: string;
107
+ label: string;
108
+ description: string;
109
+ categoryLabel: string;
110
+ aliases: string[];
111
+ matchRank: number;
112
+ }
113
+ export interface FilePickerQuery {
114
+ base: string;
115
+ query: string;
116
+ }
117
+ export interface FilePickerCandidate {
118
+ path: string;
119
+ isDirectory: boolean;
120
+ }
121
+ export interface FilePickerItem {
122
+ file: FilePickerCandidate;
123
+ path: string;
124
+ value: string;
125
+ label: string;
126
+ description: string;
127
+ isDirectory: boolean;
128
+ }
129
+ export type PermissionDecisionValue = 'allow' | 'deny';
130
+ export interface PermissionDecisionItem {
131
+ value: PermissionDecisionValue;
132
+ label: string;
133
+ description: string;
134
+ approved: boolean;
135
+ }
136
+ export interface EditPreviewPickerItem {
137
+ candidate: EditPreviewRequest['candidates'][number];
138
+ value: string;
139
+ label: string;
140
+ description: string;
141
+ line: number;
142
+ matchPreview: string;
143
+ replacementPreview: string;
144
+ }
145
+ export interface ModelPickerCandidate {
146
+ name: string;
147
+ alias?: string;
148
+ provider?: string;
149
+ contextWindow?: number;
150
+ maxOutputTokens?: number;
151
+ source?: string;
152
+ }
153
+ export interface ModelPickerItem {
154
+ model: ModelPickerCandidate;
155
+ name: string;
156
+ value: string;
157
+ alias?: string;
158
+ provider?: string;
159
+ contextWindow?: number;
160
+ maxOutputTokens?: number;
161
+ source?: string;
162
+ isCurrent: boolean;
163
+ label: string;
164
+ description: string;
165
+ }
166
+ export type PromptCompletionState = {
167
+ kind: 'none';
168
+ } | {
169
+ kind: 'command';
170
+ query: string;
171
+ } | {
172
+ kind: 'file';
173
+ base: string;
174
+ query: string;
175
+ };
176
+ export interface PromptHistoryState {
177
+ index: number;
178
+ size: number;
179
+ active: boolean;
180
+ canMovePrevious: boolean;
181
+ canMoveNext: boolean;
182
+ }
183
+ export interface PromptState {
184
+ value: string;
185
+ cursor: number;
186
+ modeText?: string;
187
+ running: boolean;
188
+ isEmpty: boolean;
189
+ lineCount: number;
190
+ currentLineIndex: number;
191
+ currentLine: string;
192
+ cursorInCurrentLine: number;
193
+ textBeforeCursor: string;
194
+ textAfterCursor: string;
195
+ completion: PromptCompletionState;
196
+ history: PromptHistoryState;
197
+ }
198
+ export type PermissionScopeKind = 'command' | 'path' | 'paths' | 'args' | 'unknown';
199
+ export interface PermissionScopeState {
200
+ kind: PermissionScopeKind;
201
+ value?: string;
202
+ count?: number;
203
+ }
204
+ export type PermissionRiskLevel = 'high' | 'medium' | 'low' | 'unknown';
205
+ export interface PermissionRiskState {
206
+ level: PermissionRiskLevel;
207
+ reason: string;
208
+ }
209
+ export interface PermissionPromptState {
210
+ requestId: string;
211
+ toolName: string;
212
+ scope: PermissionScopeState;
213
+ cwd: string;
214
+ risk: PermissionRiskState;
215
+ options: {
216
+ approve: string;
217
+ deny: string;
218
+ };
219
+ }
220
+ export declare function rendererStatus(renderer: unknown): UiRendererStatus;
221
+ export declare function rendererCapabilityLabels(capabilities: ResolvedUiRendererCapabilities): string[];
222
+ export declare function createRuntimeCapabilitySummary(input?: RuntimeCapabilityInput): RuntimeCapabilitySummary;
223
+ export declare function createSessionRestoredView(event: RuntimeSessionRestoredEvent): SessionRestoredView;
224
+ export declare function sessionPickerTitle(session: SessionPickerRequest['sessions'][number]): string;
225
+ export declare function clampPromptCursor(value: string, cursor: number | undefined): number;
226
+ export declare function createPromptState(input: {
227
+ value: string;
228
+ cursor?: number;
229
+ modeText?: string;
230
+ running?: boolean;
231
+ historyIndex?: number;
232
+ historySize?: number;
233
+ }): PromptState;
234
+ export declare function createCommandPickerState(input: {
235
+ title?: string;
236
+ input: string;
237
+ commands: Array<Pick<SlashCommand, 'name' | 'aliases' | 'description' | 'argumentHint' | 'category' | 'priority'>>;
238
+ visibleStart?: number;
239
+ maxVisibleItems?: number;
240
+ categoryLabel?: (category: CommandCategory | undefined) => string;
241
+ }): PickerState<CommandPickerItem>;
242
+ export declare function getFileMentionQuery(input: string): FilePickerQuery | null;
243
+ export declare function createFilePickerState(input: {
244
+ title?: string;
245
+ input: string;
246
+ files: FilePickerCandidate[];
247
+ visibleStart?: number;
248
+ maxVisibleItems?: number;
249
+ }): PickerState<FilePickerItem> | null;
250
+ export declare function createPermissionDecisionPickerState(request: ToolPermissionRequest): PickerState<PermissionDecisionItem>;
251
+ export declare function createEditPreviewPickerState(input: {
252
+ request: EditPreviewRequest;
253
+ visibleStart?: number;
254
+ maxVisibleItems?: number;
255
+ maxMatchLength?: number;
256
+ maxReplacementLength?: number;
257
+ }): PickerState<EditPreviewPickerItem>;
258
+ export declare function createModelPickerState(input: {
259
+ models: ModelPickerCandidate[];
260
+ currentModel?: string;
261
+ title?: string;
262
+ visibleStart?: number;
263
+ maxVisibleItems?: number;
264
+ }): PickerState<ModelPickerItem>;
265
+ export declare function permissionScopeFromArgs(args: Record<string, unknown>): PermissionScopeState;
266
+ export declare function permissionScopeDisplayValue(scope: PermissionScopeState): string;
267
+ export declare function permissionRiskDisplayValue(risk: PermissionRiskState): string;
268
+ export declare function createPermissionPromptState(request: ToolPermissionRequest, cwd: string): PermissionPromptState;
269
+ export declare function createSessionPickerState(request: SessionPickerRequest, visibleStart?: number): PickerState<SessionPickerItem>;
270
+ export declare function movePickerPageOffset(state: Pick<PickerState<unknown>, 'totalItems' | 'visibleLimit' | 'visibleStart'>, delta: -1 | 1): number;
271
+ export declare function createStatusSnapshot(input?: {
272
+ renderer?: unknown;
273
+ capabilities?: UiRendererCapabilities;
274
+ model?: string;
275
+ sessionId?: string;
276
+ tokens?: StatusSnapshot['tokens'];
277
+ costUsd?: number;
278
+ runningState?: string;
279
+ permissionMode?: string;
280
+ loop?: StatusSnapshot['loop'];
281
+ }): StatusSnapshot;
282
+ export declare function transcriptEntryToBlock(entry: TranscriptEntry): TranscriptBlock;
283
+ export declare function toolActivityBatchLabel(activity: Pick<ToolActivity, 'batchCount' | 'batchIndex'>): string;
284
+ export declare function toolActivityFromStarted(event: RuntimeToolStartedEvent, detail?: string): ToolActivity;
285
+ export declare function toolActivityFromFinished(event: RuntimeToolFinishedEvent, detail?: string): ToolActivity;
286
+ export declare function formatToolActivityTranscript(activity: ToolActivity): string;
287
+ //# sourceMappingURL=ui-view-model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui-view-model.d.ts","sourceRoot":"","sources":["../../src/runtime/ui-view-model.ts"],"names":[],"mappings":"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"}