bioscode 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +306 -0
- package/NOTICE +45 -0
- package/README.md +277 -0
- package/dist/auth/index.d.ts +202 -0
- package/dist/brand/index.d.ts +7 -0
- package/dist/brand/loader.d.ts +463 -0
- package/dist/brand/rules.d.ts +25 -0
- package/dist/brand/schema.d.ts +246 -0
- package/dist/bus/bus-event.d.ts +10 -0
- package/dist/bus/global.d.ts +7 -0
- package/dist/bus/index.d.ts +26 -0
- package/dist/cli/auth.d.ts +23 -0
- package/dist/cli/brand.d.ts +6 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/ui.d.ts +26 -0
- package/dist/command/index.d.ts +54 -0
- package/dist/config/config.d.ts +6036 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/markdown.d.ts +415 -0
- package/dist/constants/index.d.ts +6 -0
- package/dist/constants/version.d.ts +5 -0
- package/dist/diff/engine.d.ts +15 -0
- package/dist/diff/index.d.ts +8 -0
- package/dist/diff/types.d.ts +66 -0
- package/dist/file/ignore.d.ts +7 -0
- package/dist/flag/index.d.ts +19 -0
- package/dist/gateway/bridge.d.ts +11 -0
- package/dist/gateway/handlers/llm.d.ts +7 -0
- package/dist/gateway/handlers/permission.d.ts +15 -0
- package/dist/gateway/handlers/session.d.ts +7 -0
- package/dist/gateway/handlers/system.d.ts +7 -0
- package/dist/gateway/handlers/tool.d.ts +7 -0
- package/dist/gateway/index.d.ts +18 -0
- package/dist/gateway/protocol.d.ts +159 -0
- package/dist/gateway/router.d.ts +7 -0
- package/dist/gateway/server.d.ts +24 -0
- package/dist/global/index.d.ts +23 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +34 -0
- package/dist/permission/index.d.ts +2 -0
- package/dist/permission/permission.d.ts +172 -0
- package/dist/permission/types.d.ts +109 -0
- package/dist/project/index.d.ts +3 -0
- package/dist/project/instance.d.ts +33 -0
- package/dist/project/project.d.ts +82 -0
- package/dist/project/state.d.ts +4 -0
- package/dist/prompt/index.d.ts +5 -0
- package/dist/prompt/system.d.ts +29 -0
- package/dist/prompt/template.d.ts +24 -0
- package/dist/provider/index.d.ts +3 -0
- package/dist/provider/models.d.ts +14 -0
- package/dist/provider/provider.d.ts +848 -0
- package/dist/provider/types.d.ts +328 -0
- package/dist/server/index.d.ts +21 -0
- package/dist/server/routes/api.d.ts +2 -0
- package/dist/server/routes/auth.d.ts +2 -0
- package/dist/server/routes/events.d.ts +2 -0
- package/dist/server/routes/health.d.ts +2 -0
- package/dist/server/routes/sessions.d.ts +2 -0
- package/dist/server/services/agent.d.ts +40 -0
- package/dist/server/services/permission.d.ts +43 -0
- package/dist/server/sse/emitter.d.ts +57 -0
- package/dist/session/context-cache.d.ts +75 -0
- package/dist/session/context-optimization.d.ts +165 -0
- package/dist/session/index.d.ts +5 -0
- package/dist/session/llm.d.ts +68 -0
- package/dist/session/message-optimizer.d.ts +32 -0
- package/dist/session/session.d.ts +524 -0
- package/dist/session/title-generator.d.ts +11 -0
- package/dist/session/types.d.ts +713 -0
- package/dist/snapshot/index.d.ts +40 -0
- package/dist/storage/index.d.ts +1 -0
- package/dist/storage/storage.d.ts +34 -0
- package/dist/theme.d.ts +64 -0
- package/dist/tool/bash.d.ts +19 -0
- package/dist/tool/edit.d.ts +21 -0
- package/dist/tool/glob.d.ts +15 -0
- package/dist/tool/grep.d.ts +20 -0
- package/dist/tool/image.d.ts +22 -0
- package/dist/tool/index.d.ts +11 -0
- package/dist/tool/ls.d.ts +14 -0
- package/dist/tool/read.d.ts +17 -0
- package/dist/tool/registry.d.ts +30 -0
- package/dist/tool/think.d.ts +11 -0
- package/dist/tool/todo.d.ts +76 -0
- package/dist/tool/tool.d.ts +65 -0
- package/dist/tool/webfetch.d.ts +15 -0
- package/dist/tool/write.d.ts +16 -0
- package/dist/tui/App.d.ts +10 -0
- package/dist/tui/components/Header.d.ts +13 -0
- package/dist/tui/components/LoadingIndicator.d.ts +26 -0
- package/dist/tui/components/Message/AssistantMessage.d.ts +11 -0
- package/dist/tui/components/Message/ReasoningMessage.d.ts +21 -0
- package/dist/tui/components/Message/ToolCallMessage.d.ts +26 -0
- package/dist/tui/components/Message/UserMessage.d.ts +12 -0
- package/dist/tui/components/Message/index.d.ts +16 -0
- package/dist/tui/components/PermissionPrompt.d.ts +6 -0
- package/dist/tui/components/PromptInput.d.ts +33 -0
- package/dist/tui/components/REPL.d.ts +22 -0
- package/dist/tui/components/Spinner.d.ts +13 -0
- package/dist/tui/components/StatusBar.d.ts +13 -0
- package/dist/tui/components/TodoList.d.ts +17 -0
- package/dist/tui/components/WelcomeBox.d.ts +13 -0
- package/dist/tui/components/dialogs/DiagnosticsPanel.d.ts +12 -0
- package/dist/tui/components/dialogs/HelpPanel.d.ts +11 -0
- package/dist/tui/components/dialogs/ModelSelector.d.ts +14 -0
- package/dist/tui/components/dialogs/PermissionPrompt.d.ts +17 -0
- package/dist/tui/components/dialogs/SessionPicker.d.ts +20 -0
- package/dist/tui/components/dialogs/index.d.ts +10 -0
- package/dist/tui/components/diff/DiffHunk.d.ts +12 -0
- package/dist/tui/components/diff/DiffLine.d.ts +14 -0
- package/dist/tui/components/diff/DiffStats.d.ts +12 -0
- package/dist/tui/components/diff/DiffView.d.ts +15 -0
- package/dist/tui/components/diff/index.d.ts +9 -0
- package/dist/tui/hooks/useAnimatedLabel.d.ts +12 -0
- package/dist/tui/hooks/usePermission.d.ts +34 -0
- package/dist/tui/hooks/useTermWidth.d.ts +13 -0
- package/dist/tui/index.d.ts +20 -0
- package/dist/tui/theme.d.ts +8 -0
- package/dist/tui/utils/Cursor.d.ts +37 -0
- package/dist/tui/utils/clipboard.d.ts +3 -0
- package/dist/tui/utils/keypress.d.ts +39 -0
- package/dist/tui/utils/markdown.d.ts +13 -0
- package/dist/tui/utils/openContent.d.ts +22 -0
- package/dist/util/ascii.d.ts +22 -0
- package/dist/util/bell.d.ts +14 -0
- package/dist/util/color.d.ts +28 -0
- package/dist/util/context.d.ts +10 -0
- package/dist/util/debug.d.ts +51 -0
- package/dist/util/error.d.ts +294 -0
- package/dist/util/example-commands.d.ts +18 -0
- package/dist/util/filesystem.d.ts +17 -0
- package/dist/util/id.d.ts +24 -0
- package/dist/util/iife.d.ts +1 -0
- package/dist/util/index.d.ts +7 -0
- package/dist/util/lazy.d.ts +1 -0
- package/dist/util/log.d.ts +26 -0
- package/dist/util/paths.d.ts +45 -0
- package/dist/util/shell.d.ts +36 -0
- package/dist/util/timeout.d.ts +1 -0
- package/dist/util/wildcard.d.ts +8 -0
- package/package.json +87 -0
|
@@ -0,0 +1,328 @@
|
|
|
1
|
+
import z from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* Model capabilities and configuration types
|
|
4
|
+
*/
|
|
5
|
+
export declare const ModelCapabilities: z.ZodObject<{
|
|
6
|
+
temperature: z.ZodDefault<z.ZodBoolean>;
|
|
7
|
+
reasoning: z.ZodDefault<z.ZodBoolean>;
|
|
8
|
+
vision: z.ZodDefault<z.ZodBoolean>;
|
|
9
|
+
toolUse: z.ZodDefault<z.ZodBoolean>;
|
|
10
|
+
streaming: z.ZodDefault<z.ZodBoolean>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
temperature: boolean;
|
|
13
|
+
reasoning: boolean;
|
|
14
|
+
vision: boolean;
|
|
15
|
+
toolUse: boolean;
|
|
16
|
+
streaming: boolean;
|
|
17
|
+
}, {
|
|
18
|
+
temperature?: boolean | undefined;
|
|
19
|
+
reasoning?: boolean | undefined;
|
|
20
|
+
vision?: boolean | undefined;
|
|
21
|
+
toolUse?: boolean | undefined;
|
|
22
|
+
streaming?: boolean | undefined;
|
|
23
|
+
}>;
|
|
24
|
+
export type ModelCapabilities = z.infer<typeof ModelCapabilities>;
|
|
25
|
+
export declare const ModelCost: z.ZodObject<{
|
|
26
|
+
input: z.ZodNumber;
|
|
27
|
+
output: z.ZodNumber;
|
|
28
|
+
cacheRead: z.ZodOptional<z.ZodNumber>;
|
|
29
|
+
cacheWrite: z.ZodOptional<z.ZodNumber>;
|
|
30
|
+
}, "strip", z.ZodTypeAny, {
|
|
31
|
+
input: number;
|
|
32
|
+
output: number;
|
|
33
|
+
cacheRead?: number | undefined;
|
|
34
|
+
cacheWrite?: number | undefined;
|
|
35
|
+
}, {
|
|
36
|
+
input: number;
|
|
37
|
+
output: number;
|
|
38
|
+
cacheRead?: number | undefined;
|
|
39
|
+
cacheWrite?: number | undefined;
|
|
40
|
+
}>;
|
|
41
|
+
export type ModelCost = z.infer<typeof ModelCost>;
|
|
42
|
+
export declare const ModelLimits: z.ZodObject<{
|
|
43
|
+
context: z.ZodNumber;
|
|
44
|
+
output: z.ZodNumber;
|
|
45
|
+
}, "strip", z.ZodTypeAny, {
|
|
46
|
+
output: number;
|
|
47
|
+
context: number;
|
|
48
|
+
}, {
|
|
49
|
+
output: number;
|
|
50
|
+
context: number;
|
|
51
|
+
}>;
|
|
52
|
+
export type ModelLimits = z.infer<typeof ModelLimits>;
|
|
53
|
+
export declare const ModelInfo: z.ZodObject<{
|
|
54
|
+
id: z.ZodString;
|
|
55
|
+
name: z.ZodString;
|
|
56
|
+
provider: z.ZodString;
|
|
57
|
+
family: z.ZodOptional<z.ZodString>;
|
|
58
|
+
capabilities: z.ZodObject<{
|
|
59
|
+
temperature: z.ZodDefault<z.ZodBoolean>;
|
|
60
|
+
reasoning: z.ZodDefault<z.ZodBoolean>;
|
|
61
|
+
vision: z.ZodDefault<z.ZodBoolean>;
|
|
62
|
+
toolUse: z.ZodDefault<z.ZodBoolean>;
|
|
63
|
+
streaming: z.ZodDefault<z.ZodBoolean>;
|
|
64
|
+
}, "strip", z.ZodTypeAny, {
|
|
65
|
+
temperature: boolean;
|
|
66
|
+
reasoning: boolean;
|
|
67
|
+
vision: boolean;
|
|
68
|
+
toolUse: boolean;
|
|
69
|
+
streaming: boolean;
|
|
70
|
+
}, {
|
|
71
|
+
temperature?: boolean | undefined;
|
|
72
|
+
reasoning?: boolean | undefined;
|
|
73
|
+
vision?: boolean | undefined;
|
|
74
|
+
toolUse?: boolean | undefined;
|
|
75
|
+
streaming?: boolean | undefined;
|
|
76
|
+
}>;
|
|
77
|
+
cost: z.ZodObject<{
|
|
78
|
+
input: z.ZodNumber;
|
|
79
|
+
output: z.ZodNumber;
|
|
80
|
+
cacheRead: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
cacheWrite: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
}, "strip", z.ZodTypeAny, {
|
|
83
|
+
input: number;
|
|
84
|
+
output: number;
|
|
85
|
+
cacheRead?: number | undefined;
|
|
86
|
+
cacheWrite?: number | undefined;
|
|
87
|
+
}, {
|
|
88
|
+
input: number;
|
|
89
|
+
output: number;
|
|
90
|
+
cacheRead?: number | undefined;
|
|
91
|
+
cacheWrite?: number | undefined;
|
|
92
|
+
}>;
|
|
93
|
+
limits: z.ZodObject<{
|
|
94
|
+
context: z.ZodNumber;
|
|
95
|
+
output: z.ZodNumber;
|
|
96
|
+
}, "strip", z.ZodTypeAny, {
|
|
97
|
+
output: number;
|
|
98
|
+
context: number;
|
|
99
|
+
}, {
|
|
100
|
+
output: number;
|
|
101
|
+
context: number;
|
|
102
|
+
}>;
|
|
103
|
+
status: z.ZodDefault<z.ZodEnum<["active", "beta", "deprecated"]>>;
|
|
104
|
+
}, "strip", z.ZodTypeAny, {
|
|
105
|
+
status: "active" | "beta" | "deprecated";
|
|
106
|
+
id: string;
|
|
107
|
+
name: string;
|
|
108
|
+
provider: string;
|
|
109
|
+
capabilities: {
|
|
110
|
+
temperature: boolean;
|
|
111
|
+
reasoning: boolean;
|
|
112
|
+
vision: boolean;
|
|
113
|
+
toolUse: boolean;
|
|
114
|
+
streaming: boolean;
|
|
115
|
+
};
|
|
116
|
+
cost: {
|
|
117
|
+
input: number;
|
|
118
|
+
output: number;
|
|
119
|
+
cacheRead?: number | undefined;
|
|
120
|
+
cacheWrite?: number | undefined;
|
|
121
|
+
};
|
|
122
|
+
limits: {
|
|
123
|
+
output: number;
|
|
124
|
+
context: number;
|
|
125
|
+
};
|
|
126
|
+
family?: string | undefined;
|
|
127
|
+
}, {
|
|
128
|
+
id: string;
|
|
129
|
+
name: string;
|
|
130
|
+
provider: string;
|
|
131
|
+
capabilities: {
|
|
132
|
+
temperature?: boolean | undefined;
|
|
133
|
+
reasoning?: boolean | undefined;
|
|
134
|
+
vision?: boolean | undefined;
|
|
135
|
+
toolUse?: boolean | undefined;
|
|
136
|
+
streaming?: boolean | undefined;
|
|
137
|
+
};
|
|
138
|
+
cost: {
|
|
139
|
+
input: number;
|
|
140
|
+
output: number;
|
|
141
|
+
cacheRead?: number | undefined;
|
|
142
|
+
cacheWrite?: number | undefined;
|
|
143
|
+
};
|
|
144
|
+
limits: {
|
|
145
|
+
output: number;
|
|
146
|
+
context: number;
|
|
147
|
+
};
|
|
148
|
+
status?: "active" | "beta" | "deprecated" | undefined;
|
|
149
|
+
family?: string | undefined;
|
|
150
|
+
}>;
|
|
151
|
+
export type ModelInfo = z.infer<typeof ModelInfo>;
|
|
152
|
+
export declare const ProviderInfo: z.ZodObject<{
|
|
153
|
+
id: z.ZodString;
|
|
154
|
+
name: z.ZodString;
|
|
155
|
+
envKeys: z.ZodArray<z.ZodString, "many">;
|
|
156
|
+
models: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
157
|
+
id: z.ZodString;
|
|
158
|
+
name: z.ZodString;
|
|
159
|
+
provider: z.ZodString;
|
|
160
|
+
family: z.ZodOptional<z.ZodString>;
|
|
161
|
+
capabilities: z.ZodObject<{
|
|
162
|
+
temperature: z.ZodDefault<z.ZodBoolean>;
|
|
163
|
+
reasoning: z.ZodDefault<z.ZodBoolean>;
|
|
164
|
+
vision: z.ZodDefault<z.ZodBoolean>;
|
|
165
|
+
toolUse: z.ZodDefault<z.ZodBoolean>;
|
|
166
|
+
streaming: z.ZodDefault<z.ZodBoolean>;
|
|
167
|
+
}, "strip", z.ZodTypeAny, {
|
|
168
|
+
temperature: boolean;
|
|
169
|
+
reasoning: boolean;
|
|
170
|
+
vision: boolean;
|
|
171
|
+
toolUse: boolean;
|
|
172
|
+
streaming: boolean;
|
|
173
|
+
}, {
|
|
174
|
+
temperature?: boolean | undefined;
|
|
175
|
+
reasoning?: boolean | undefined;
|
|
176
|
+
vision?: boolean | undefined;
|
|
177
|
+
toolUse?: boolean | undefined;
|
|
178
|
+
streaming?: boolean | undefined;
|
|
179
|
+
}>;
|
|
180
|
+
cost: z.ZodObject<{
|
|
181
|
+
input: z.ZodNumber;
|
|
182
|
+
output: z.ZodNumber;
|
|
183
|
+
cacheRead: z.ZodOptional<z.ZodNumber>;
|
|
184
|
+
cacheWrite: z.ZodOptional<z.ZodNumber>;
|
|
185
|
+
}, "strip", z.ZodTypeAny, {
|
|
186
|
+
input: number;
|
|
187
|
+
output: number;
|
|
188
|
+
cacheRead?: number | undefined;
|
|
189
|
+
cacheWrite?: number | undefined;
|
|
190
|
+
}, {
|
|
191
|
+
input: number;
|
|
192
|
+
output: number;
|
|
193
|
+
cacheRead?: number | undefined;
|
|
194
|
+
cacheWrite?: number | undefined;
|
|
195
|
+
}>;
|
|
196
|
+
limits: z.ZodObject<{
|
|
197
|
+
context: z.ZodNumber;
|
|
198
|
+
output: z.ZodNumber;
|
|
199
|
+
}, "strip", z.ZodTypeAny, {
|
|
200
|
+
output: number;
|
|
201
|
+
context: number;
|
|
202
|
+
}, {
|
|
203
|
+
output: number;
|
|
204
|
+
context: number;
|
|
205
|
+
}>;
|
|
206
|
+
status: z.ZodDefault<z.ZodEnum<["active", "beta", "deprecated"]>>;
|
|
207
|
+
}, "strip", z.ZodTypeAny, {
|
|
208
|
+
status: "active" | "beta" | "deprecated";
|
|
209
|
+
id: string;
|
|
210
|
+
name: string;
|
|
211
|
+
provider: string;
|
|
212
|
+
capabilities: {
|
|
213
|
+
temperature: boolean;
|
|
214
|
+
reasoning: boolean;
|
|
215
|
+
vision: boolean;
|
|
216
|
+
toolUse: boolean;
|
|
217
|
+
streaming: boolean;
|
|
218
|
+
};
|
|
219
|
+
cost: {
|
|
220
|
+
input: number;
|
|
221
|
+
output: number;
|
|
222
|
+
cacheRead?: number | undefined;
|
|
223
|
+
cacheWrite?: number | undefined;
|
|
224
|
+
};
|
|
225
|
+
limits: {
|
|
226
|
+
output: number;
|
|
227
|
+
context: number;
|
|
228
|
+
};
|
|
229
|
+
family?: string | undefined;
|
|
230
|
+
}, {
|
|
231
|
+
id: string;
|
|
232
|
+
name: string;
|
|
233
|
+
provider: string;
|
|
234
|
+
capabilities: {
|
|
235
|
+
temperature?: boolean | undefined;
|
|
236
|
+
reasoning?: boolean | undefined;
|
|
237
|
+
vision?: boolean | undefined;
|
|
238
|
+
toolUse?: boolean | undefined;
|
|
239
|
+
streaming?: boolean | undefined;
|
|
240
|
+
};
|
|
241
|
+
cost: {
|
|
242
|
+
input: number;
|
|
243
|
+
output: number;
|
|
244
|
+
cacheRead?: number | undefined;
|
|
245
|
+
cacheWrite?: number | undefined;
|
|
246
|
+
};
|
|
247
|
+
limits: {
|
|
248
|
+
output: number;
|
|
249
|
+
context: number;
|
|
250
|
+
};
|
|
251
|
+
status?: "active" | "beta" | "deprecated" | undefined;
|
|
252
|
+
family?: string | undefined;
|
|
253
|
+
}>>;
|
|
254
|
+
}, "strip", z.ZodTypeAny, {
|
|
255
|
+
id: string;
|
|
256
|
+
name: string;
|
|
257
|
+
envKeys: string[];
|
|
258
|
+
models: Record<string, {
|
|
259
|
+
status: "active" | "beta" | "deprecated";
|
|
260
|
+
id: string;
|
|
261
|
+
name: string;
|
|
262
|
+
provider: string;
|
|
263
|
+
capabilities: {
|
|
264
|
+
temperature: boolean;
|
|
265
|
+
reasoning: boolean;
|
|
266
|
+
vision: boolean;
|
|
267
|
+
toolUse: boolean;
|
|
268
|
+
streaming: boolean;
|
|
269
|
+
};
|
|
270
|
+
cost: {
|
|
271
|
+
input: number;
|
|
272
|
+
output: number;
|
|
273
|
+
cacheRead?: number | undefined;
|
|
274
|
+
cacheWrite?: number | undefined;
|
|
275
|
+
};
|
|
276
|
+
limits: {
|
|
277
|
+
output: number;
|
|
278
|
+
context: number;
|
|
279
|
+
};
|
|
280
|
+
family?: string | undefined;
|
|
281
|
+
}>;
|
|
282
|
+
}, {
|
|
283
|
+
id: string;
|
|
284
|
+
name: string;
|
|
285
|
+
envKeys: string[];
|
|
286
|
+
models: Record<string, {
|
|
287
|
+
id: string;
|
|
288
|
+
name: string;
|
|
289
|
+
provider: string;
|
|
290
|
+
capabilities: {
|
|
291
|
+
temperature?: boolean | undefined;
|
|
292
|
+
reasoning?: boolean | undefined;
|
|
293
|
+
vision?: boolean | undefined;
|
|
294
|
+
toolUse?: boolean | undefined;
|
|
295
|
+
streaming?: boolean | undefined;
|
|
296
|
+
};
|
|
297
|
+
cost: {
|
|
298
|
+
input: number;
|
|
299
|
+
output: number;
|
|
300
|
+
cacheRead?: number | undefined;
|
|
301
|
+
cacheWrite?: number | undefined;
|
|
302
|
+
};
|
|
303
|
+
limits: {
|
|
304
|
+
output: number;
|
|
305
|
+
context: number;
|
|
306
|
+
};
|
|
307
|
+
status?: "active" | "beta" | "deprecated" | undefined;
|
|
308
|
+
family?: string | undefined;
|
|
309
|
+
}>;
|
|
310
|
+
}>;
|
|
311
|
+
export type ProviderInfo = z.infer<typeof ProviderInfo>;
|
|
312
|
+
/**
|
|
313
|
+
* Provider configuration from user config
|
|
314
|
+
*/
|
|
315
|
+
export declare const ProviderConfig: z.ZodObject<{
|
|
316
|
+
apiKey: z.ZodOptional<z.ZodString>;
|
|
317
|
+
baseUrl: z.ZodOptional<z.ZodString>;
|
|
318
|
+
options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodAny>>;
|
|
319
|
+
}, "strip", z.ZodTypeAny, {
|
|
320
|
+
options?: Record<string, any> | undefined;
|
|
321
|
+
apiKey?: string | undefined;
|
|
322
|
+
baseUrl?: string | undefined;
|
|
323
|
+
}, {
|
|
324
|
+
options?: Record<string, any> | undefined;
|
|
325
|
+
apiKey?: string | undefined;
|
|
326
|
+
baseUrl?: string | undefined;
|
|
327
|
+
}>;
|
|
328
|
+
export type ProviderConfig = z.infer<typeof ProviderConfig>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface ServerInfo {
|
|
2
|
+
port: number;
|
|
3
|
+
projectDir: string;
|
|
4
|
+
startedAt: number;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Start the HTTP server
|
|
8
|
+
*/
|
|
9
|
+
export declare function startServer(port?: number): Promise<ServerInfo>;
|
|
10
|
+
/**
|
|
11
|
+
* Stop the HTTP server
|
|
12
|
+
*/
|
|
13
|
+
export declare function stopServer(): void;
|
|
14
|
+
/**
|
|
15
|
+
* Get current server info
|
|
16
|
+
*/
|
|
17
|
+
export declare function getServerInfo(): ServerInfo | null;
|
|
18
|
+
/**
|
|
19
|
+
* Get the SSE emitter for broadcasting events
|
|
20
|
+
*/
|
|
21
|
+
export { SSEEmitter } from "./sse/emitter";
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Service
|
|
3
|
+
*
|
|
4
|
+
* Handles LLM invocation and streaming for the HTTP API.
|
|
5
|
+
* Extracted from TUI REPL for reuse.
|
|
6
|
+
*/
|
|
7
|
+
export type AgentMode = "ask" | "auto" | "plan";
|
|
8
|
+
export declare namespace AgentService {
|
|
9
|
+
interface ImageAttachment {
|
|
10
|
+
data: string;
|
|
11
|
+
mimeType: "image/png" | "image/jpeg" | "image/gif" | "image/webp";
|
|
12
|
+
filename?: string;
|
|
13
|
+
}
|
|
14
|
+
interface RunOptions {
|
|
15
|
+
sessionId: string;
|
|
16
|
+
content: string;
|
|
17
|
+
requestId: string;
|
|
18
|
+
images?: ImageAttachment[];
|
|
19
|
+
mode?: AgentMode;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Run the agent for a prompt
|
|
23
|
+
*/
|
|
24
|
+
function run(options: RunOptions): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Cancel an active generation
|
|
27
|
+
*/
|
|
28
|
+
function cancel(sessionId: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Optimize context for a session by generating a summary
|
|
31
|
+
*/
|
|
32
|
+
function optimizeContext(options: {
|
|
33
|
+
sessionId: string;
|
|
34
|
+
requestId: string;
|
|
35
|
+
}): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Cancel an active context optimization
|
|
38
|
+
*/
|
|
39
|
+
function cancelOptimization(sessionId: string): boolean;
|
|
40
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Permission Service
|
|
3
|
+
*
|
|
4
|
+
* Manages permission requests for tool execution in "ask" mode.
|
|
5
|
+
* Tools wait for user approval before executing.
|
|
6
|
+
*/
|
|
7
|
+
export type PermissionResponse = "allow" | "allow_always" | "deny" | "deny_with_message";
|
|
8
|
+
export interface PermissionRequest {
|
|
9
|
+
id: string;
|
|
10
|
+
sessionId: string;
|
|
11
|
+
requestId: string;
|
|
12
|
+
toolName: string;
|
|
13
|
+
toolCallId: string;
|
|
14
|
+
args: Record<string, unknown>;
|
|
15
|
+
description?: string;
|
|
16
|
+
createdAt: number;
|
|
17
|
+
}
|
|
18
|
+
export declare namespace PermissionService {
|
|
19
|
+
/**
|
|
20
|
+
* Request permission for a tool execution
|
|
21
|
+
* Returns a promise that resolves when the user responds
|
|
22
|
+
*/
|
|
23
|
+
function request(sessionId: string, requestId: string, toolName: string, toolCallId: string, args: Record<string, unknown>, description?: string): Promise<{
|
|
24
|
+
allowed: boolean;
|
|
25
|
+
message?: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Respond to a pending permission request
|
|
29
|
+
*/
|
|
30
|
+
function respond(permissionId: string, response: PermissionResponse, message?: string): boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Cancel a pending permission request
|
|
33
|
+
*/
|
|
34
|
+
function cancel(permissionId: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Cancel all pending permissions for a session
|
|
37
|
+
*/
|
|
38
|
+
function cancelSession(sessionId: string): number;
|
|
39
|
+
/**
|
|
40
|
+
* Get all pending permissions for a session
|
|
41
|
+
*/
|
|
42
|
+
function getPending(sessionId: string): PermissionRequest[];
|
|
43
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
export interface SSEClient {
|
|
2
|
+
id: string;
|
|
3
|
+
controller: ReadableStreamDefaultController<Uint8Array>;
|
|
4
|
+
connectedAt: number;
|
|
5
|
+
}
|
|
6
|
+
export interface SSEEvent {
|
|
7
|
+
type: string;
|
|
8
|
+
data: unknown;
|
|
9
|
+
id?: string;
|
|
10
|
+
}
|
|
11
|
+
declare class SSEEmitterClass {
|
|
12
|
+
private clients;
|
|
13
|
+
private heartbeatInterval;
|
|
14
|
+
private encoder;
|
|
15
|
+
/**
|
|
16
|
+
* Start heartbeat to keep connections alive
|
|
17
|
+
*/
|
|
18
|
+
startHeartbeat(intervalMs?: number): void;
|
|
19
|
+
/**
|
|
20
|
+
* Stop heartbeat
|
|
21
|
+
*/
|
|
22
|
+
stopHeartbeat(): void;
|
|
23
|
+
/**
|
|
24
|
+
* Add a new SSE client
|
|
25
|
+
*/
|
|
26
|
+
addClient(id: string, controller: ReadableStreamDefaultController<Uint8Array>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Remove an SSE client
|
|
29
|
+
*/
|
|
30
|
+
removeClient(id: string): void;
|
|
31
|
+
/**
|
|
32
|
+
* Send event to a specific client
|
|
33
|
+
*/
|
|
34
|
+
sendToClient(clientId: string, event: SSEEvent): void;
|
|
35
|
+
/**
|
|
36
|
+
* Broadcast event to all connected clients
|
|
37
|
+
*/
|
|
38
|
+
broadcast(event: SSEEvent): void;
|
|
39
|
+
/**
|
|
40
|
+
* Format event for SSE protocol
|
|
41
|
+
*/
|
|
42
|
+
private formatSSE;
|
|
43
|
+
/**
|
|
44
|
+
* Get connected client count
|
|
45
|
+
*/
|
|
46
|
+
get clientCount(): number;
|
|
47
|
+
/**
|
|
48
|
+
* Get all client IDs
|
|
49
|
+
*/
|
|
50
|
+
getClientIds(): string[];
|
|
51
|
+
/**
|
|
52
|
+
* Reset emitter state (for testing)
|
|
53
|
+
*/
|
|
54
|
+
reset(): void;
|
|
55
|
+
}
|
|
56
|
+
export declare const SSEEmitter: SSEEmitterClass;
|
|
57
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Context Memoization Cache
|
|
3
|
+
*
|
|
4
|
+
* Caches frequently-accessed context information to reduce redundant tool calls:
|
|
5
|
+
* - Git status
|
|
6
|
+
* - README contents
|
|
7
|
+
* - Directory structure
|
|
8
|
+
*
|
|
9
|
+
* Cache is cleared when:
|
|
10
|
+
* - /optimize command is executed
|
|
11
|
+
* - Session is restarted
|
|
12
|
+
* - Manual invalidation
|
|
13
|
+
*/
|
|
14
|
+
export interface CachedContext {
|
|
15
|
+
gitStatus?: {
|
|
16
|
+
output: string;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
};
|
|
19
|
+
readme?: {
|
|
20
|
+
content: string;
|
|
21
|
+
path: string;
|
|
22
|
+
timestamp: number;
|
|
23
|
+
};
|
|
24
|
+
dirStructure?: {
|
|
25
|
+
output: string;
|
|
26
|
+
depth: number;
|
|
27
|
+
timestamp: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Context Cache - Memoizes expensive context operations
|
|
32
|
+
*/
|
|
33
|
+
export declare class ContextCache {
|
|
34
|
+
private static cache;
|
|
35
|
+
private static sessionCaches;
|
|
36
|
+
/**
|
|
37
|
+
* Get cached value for a session
|
|
38
|
+
*/
|
|
39
|
+
static get<T>(sessionId: string, key: string): T | undefined;
|
|
40
|
+
/**
|
|
41
|
+
* Set cached value for a session
|
|
42
|
+
*/
|
|
43
|
+
static set<T>(sessionId: string, key: string, value: T): void;
|
|
44
|
+
/**
|
|
45
|
+
* Check if key exists in cache
|
|
46
|
+
*/
|
|
47
|
+
static has(sessionId: string, key: string): boolean;
|
|
48
|
+
/**
|
|
49
|
+
* Clear cache for specific session
|
|
50
|
+
*/
|
|
51
|
+
static clearSession(sessionId: string): void;
|
|
52
|
+
/**
|
|
53
|
+
* Clear specific key for session
|
|
54
|
+
*/
|
|
55
|
+
static clearKey(sessionId: string, key: string): void;
|
|
56
|
+
/**
|
|
57
|
+
* Clear all caches
|
|
58
|
+
*/
|
|
59
|
+
static clearAll(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Get cache statistics
|
|
62
|
+
*/
|
|
63
|
+
static stats(): {
|
|
64
|
+
sessions: number;
|
|
65
|
+
totalEntries: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Cache keys for common context operations
|
|
70
|
+
*/
|
|
71
|
+
export declare const CacheKeys: {
|
|
72
|
+
readonly GIT_STATUS: "git:status";
|
|
73
|
+
readonly README: "readme:content";
|
|
74
|
+
readonly DIR_STRUCTURE: "dir:structure";
|
|
75
|
+
};
|