@neovate/code 0.0.0-alpha.0 → 0.10.0
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 +21 -0
- package/README.md +45 -0
- package/dist/browser/assets/FolderOutlined-BW67ZEQI.js +63 -0
- package/dist/browser/assets/abap-BrgZPUOV.js +6 -0
- package/dist/browser/assets/apex-DyP6w7ZV.js +6 -0
- package/dist/browser/assets/azcli-BaLxmfj-.js +6 -0
- package/dist/browser/assets/bat-CFOPXBzS.js +6 -0
- package/dist/browser/assets/bicep-BfEKNvv3.js +7 -0
- package/dist/browser/assets/cameligo-BFG1Mk7z.js +6 -0
- package/dist/browser/assets/chat-CwwKXi7w.js +605 -0
- package/dist/browser/assets/clojure-DTECt2xU.js +6 -0
- package/dist/browser/assets/codicon-DCmgc-ay.ttf +0 -0
- package/dist/browser/assets/coffee-CDGzqUPQ.js +6 -0
- package/dist/browser/assets/cpp-CLLBncYj.js +6 -0
- package/dist/browser/assets/csharp-dUCx_-0o.js +6 -0
- package/dist/browser/assets/csp-5Rap-vPy.js +6 -0
- package/dist/browser/assets/css-D3h14YRZ.js +8 -0
- package/dist/browser/assets/css.worker-DGFkc2qH.js +84 -0
- package/dist/browser/assets/cssMode-DtLjlSSH.js +9 -0
- package/dist/browser/assets/cypher-DrQuvNYM.js +6 -0
- package/dist/browser/assets/dart-CFKIUWau.js +6 -0
- package/dist/browser/assets/demo-H0guN01E.js +1 -0
- package/dist/browser/assets/dockerfile-Zznr-cwX.js +6 -0
- package/dist/browser/assets/ecl-Ce3n6wWz.js +6 -0
- package/dist/browser/assets/editor.worker-oRlJJsnX.js +12 -0
- package/dist/browser/assets/elixir-deUWdS0T.js +6 -0
- package/dist/browser/assets/flow9-i9-g7ZhI.js +6 -0
- package/dist/browser/assets/freemarker2-FPweaj7f.js +8 -0
- package/dist/browser/assets/fsharp-CzKuDChf.js +6 -0
- package/dist/browser/assets/go-Cphgjts3.js +6 -0
- package/dist/browser/assets/graphql-Cg7bfA9N.js +6 -0
- package/dist/browser/assets/handlebars-DKcBZNpI.js +6 -0
- package/dist/browser/assets/hcl-0cvrggvQ.js +6 -0
- package/dist/browser/assets/html-KBR8pujr.js +6 -0
- package/dist/browser/assets/html.worker-CltiozTZ.js +461 -0
- package/dist/browser/assets/htmlMode-X-5UZY4-.js +9 -0
- package/dist/browser/assets/index-Bo2vWo_9.js +4 -0
- package/dist/browser/assets/index-BxV58nwE.js +1218 -0
- package/dist/browser/assets/index-Clq2xY9m.css +1 -0
- package/dist/browser/assets/ini-Drc7WvVn.js +6 -0
- package/dist/browser/assets/java-B_fMsGYe.js +6 -0
- package/dist/browser/assets/javascript-CKMclO4y.js +6 -0
- package/dist/browser/assets/json.worker-BnUULff4.js +49 -0
- package/dist/browser/assets/jsonMode-DqJOk8sV.js +15 -0
- package/dist/browser/assets/julia-Bqgm2twL.js +6 -0
- package/dist/browser/assets/kmi-ai-aIKAjIWq.png +0 -0
- package/dist/browser/assets/kotlin-BSkB5QuD.js +6 -0
- package/dist/browser/assets/less-BsTHnhdd.js +7 -0
- package/dist/browser/assets/lexon-YWi4-JPR.js +6 -0
- package/dist/browser/assets/liquid-XpnBpahz.js +6 -0
- package/dist/browser/assets/lua-nf6ki56Z.js +6 -0
- package/dist/browser/assets/m3-Cpb6xl2v.js +6 -0
- package/dist/browser/assets/markdown-DSZPf7rp.js +6 -0
- package/dist/browser/assets/mdx-CB_Y1QFp.js +6 -0
- package/dist/browser/assets/mips-B_c3zf-v.js +6 -0
- package/dist/browser/assets/msdax-rUNN04Wq.js +6 -0
- package/dist/browser/assets/mysql-DDwshQtU.js +6 -0
- package/dist/browser/assets/objective-c-B5zXfXm9.js +6 -0
- package/dist/browser/assets/pascal-CXOwvkN_.js +6 -0
- package/dist/browser/assets/pascaligo-Bc-ZgV77.js +6 -0
- package/dist/browser/assets/perl-CwNk8-XU.js +6 -0
- package/dist/browser/assets/pgsql-tGk8EFnU.js +6 -0
- package/dist/browser/assets/php-CpIb_Oan.js +6 -0
- package/dist/browser/assets/pla-B03wrqEc.js +6 -0
- package/dist/browser/assets/postiats-BKlk5iyT.js +6 -0
- package/dist/browser/assets/powerquery-Bhzvs7bI.js +6 -0
- package/dist/browser/assets/powershell-Dd3NCNK9.js +6 -0
- package/dist/browser/assets/protobuf-COyEY5Pt.js +7 -0
- package/dist/browser/assets/pug-BaJupSGV.js +6 -0
- package/dist/browser/assets/python-B1wA04aL.js +6 -0
- package/dist/browser/assets/qsharp-DXyYeYxl.js +6 -0
- package/dist/browser/assets/r-CdQndTaG.js +6 -0
- package/dist/browser/assets/razor-BAG_xOj_.js +6 -0
- package/dist/browser/assets/redis-CVwtpugi.js +6 -0
- package/dist/browser/assets/redshift-25W9uPmb.js +6 -0
- package/dist/browser/assets/restructuredtext-DfzH4Xui.js +6 -0
- package/dist/browser/assets/ruby-Cp1zYvxS.js +6 -0
- package/dist/browser/assets/rust-D5C2fndG.js +6 -0
- package/dist/browser/assets/sb-CDntyWJ8.js +6 -0
- package/dist/browser/assets/scala-BoFRg7Ot.js +6 -0
- package/dist/browser/assets/scheme-Bio4gycK.js +6 -0
- package/dist/browser/assets/scss-4Ik7cdeQ.js +8 -0
- package/dist/browser/assets/settings-B1SQQuDe.js +1 -0
- package/dist/browser/assets/shell-CX-rkNHf.js +6 -0
- package/dist/browser/assets/solidity-Tw7wswEv.js +6 -0
- package/dist/browser/assets/sophia-C5WLch3f.js +6 -0
- package/dist/browser/assets/sparql-DHaeiCBh.js +6 -0
- package/dist/browser/assets/sql-CCSDG5nI.js +6 -0
- package/dist/browser/assets/st-pnP8ivHi.js +6 -0
- package/dist/browser/assets/swift-DwJ7jVG9.js +8 -0
- package/dist/browser/assets/systemverilog-B9Xyijhd.js +6 -0
- package/dist/browser/assets/tcl-DnHyzjbg.js +6 -0
- package/dist/browser/assets/ts.worker-Bd4z-OY3.js +51334 -0
- package/dist/browser/assets/tsMode-C_fR4nSe.js +16 -0
- package/dist/browser/assets/twig-CPajHgWi.js +6 -0
- package/dist/browser/assets/typescript-HaIDwUQt.js +6 -0
- package/dist/browser/assets/typespec-D-MeaMDU.js +6 -0
- package/dist/browser/assets/vb-DgyLZaXg.js +6 -0
- package/dist/browser/assets/wgsl-BIv9DU6q.js +303 -0
- package/dist/browser/assets/xml-cZ22lEu3.js +6 -0
- package/dist/browser/assets/yaml-DtQXZRuf.js +6 -0
- package/dist/browser/index.html +14 -0
- package/dist/cli.mjs +2109 -0
- package/dist/index.d.ts +642 -0
- package/dist/index.mjs +2108 -0
- package/dist/logfiles/index.html +2846 -0
- package/dist/logfiles/live.html +1465 -0
- package/package.json +145 -7
- package/vendor/ripgrep/COPYING +3 -0
- package/vendor/ripgrep/arm64-darwin/rg +0 -0
- package/vendor/ripgrep/arm64-linux/rg +0 -0
- package/vendor/ripgrep/x64-darwin/rg +0 -0
- package/vendor/ripgrep/x64-linux/rg +0 -0
- package/vendor/ripgrep/x64-win32/rg.exe +0 -0
- package/vendor/takumi.vsix +0 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,642 @@
|
|
|
1
|
+
import { AgentOutputItem } from '@openai/agents';
|
|
2
|
+
import { FunctionTool } from '@openai/agents';
|
|
3
|
+
import { LanguageModelV1 } from '@openrouter/ai-sdk-provider';
|
|
4
|
+
import type { LanguageModelV1 as LanguageModelV1_2 } from '@ai-sdk/provider';
|
|
5
|
+
import { LanguageModelV1CallWarning } from '@ai-sdk/provider';
|
|
6
|
+
import { LanguageModelV1FinishReason } from '@ai-sdk/provider';
|
|
7
|
+
import { LanguageModelV1FunctionToolCall } from '@ai-sdk/provider';
|
|
8
|
+
import { LanguageModelV1LogProbs } from '@ai-sdk/provider';
|
|
9
|
+
import { LanguageModelV1ProviderMetadata } from '@ai-sdk/provider';
|
|
10
|
+
import { LanguageModelV1Source } from '@ai-sdk/provider';
|
|
11
|
+
import { LoopResult as LoopResult_2 } from './loop';
|
|
12
|
+
import { MCPServer } from '@openai/agents';
|
|
13
|
+
import { Model as Model_2 } from '@openai/agents';
|
|
14
|
+
import { ModelRequest } from '@openai/agents';
|
|
15
|
+
import type { OpenAIProvider } from '@ai-sdk/openai';
|
|
16
|
+
import { ResponseStreamEvent } from '@openai/agents';
|
|
17
|
+
import { Usage as Usage_2 } from '@openai/agents';
|
|
18
|
+
import { z as _zod } from 'zod';
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Wraps a model from the AI SDK that adheres to the LanguageModelV1 spec to be used used as a model
|
|
22
|
+
* in the OpenAI Agents SDK to use other models.
|
|
23
|
+
*
|
|
24
|
+
* While you can use this with the OpenAI models, it is recommended to use the default OpenAI model
|
|
25
|
+
* provider instead.
|
|
26
|
+
*
|
|
27
|
+
* If tracing is enabled, the model will send generation spans to your traces processor.
|
|
28
|
+
*
|
|
29
|
+
* ```ts
|
|
30
|
+
* import { aisdk } from '@openai/agents-extensions';
|
|
31
|
+
* import { openai } from '@ai-sdk/openai';
|
|
32
|
+
*
|
|
33
|
+
* const model = aisdk(openai('gpt-4o'));
|
|
34
|
+
*
|
|
35
|
+
* const agent = new Agent({
|
|
36
|
+
* name: 'My Agent',
|
|
37
|
+
* model
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* @param model - The Vercel AI SDK model to wrap.
|
|
42
|
+
* @returns The wrapped model.
|
|
43
|
+
*/
|
|
44
|
+
declare class AiSdkModel implements Model_2 {
|
|
45
|
+
#private;
|
|
46
|
+
constructor(model: LanguageModelV1_2);
|
|
47
|
+
getResponse(request: ModelRequest): Promise<{
|
|
48
|
+
responseId: string;
|
|
49
|
+
usage: Usage_2;
|
|
50
|
+
output: AgentOutputItem[];
|
|
51
|
+
providerData: {
|
|
52
|
+
text?: string;
|
|
53
|
+
reasoning?: string | Array<{
|
|
54
|
+
type: "text";
|
|
55
|
+
text: string;
|
|
56
|
+
signature?: string;
|
|
57
|
+
} | {
|
|
58
|
+
type: "redacted";
|
|
59
|
+
data: string;
|
|
60
|
+
}>;
|
|
61
|
+
files?: Array<{
|
|
62
|
+
data: string | Uint8Array;
|
|
63
|
+
mimeType: string;
|
|
64
|
+
}>;
|
|
65
|
+
toolCalls?: Array<LanguageModelV1FunctionToolCall>;
|
|
66
|
+
finishReason: LanguageModelV1FinishReason;
|
|
67
|
+
usage: {
|
|
68
|
+
promptTokens: number;
|
|
69
|
+
completionTokens: number;
|
|
70
|
+
};
|
|
71
|
+
rawCall: {
|
|
72
|
+
rawPrompt: unknown;
|
|
73
|
+
rawSettings: Record<string, unknown>;
|
|
74
|
+
};
|
|
75
|
+
rawResponse?: {
|
|
76
|
+
headers?: Record<string, string>;
|
|
77
|
+
body?: unknown;
|
|
78
|
+
};
|
|
79
|
+
request?: {
|
|
80
|
+
body?: string;
|
|
81
|
+
};
|
|
82
|
+
response?: {
|
|
83
|
+
id?: string;
|
|
84
|
+
timestamp?: Date;
|
|
85
|
+
modelId?: string;
|
|
86
|
+
};
|
|
87
|
+
warnings?: LanguageModelV1CallWarning[];
|
|
88
|
+
providerMetadata?: LanguageModelV1ProviderMetadata;
|
|
89
|
+
sources?: LanguageModelV1Source[];
|
|
90
|
+
logprobs?: LanguageModelV1LogProbs;
|
|
91
|
+
};
|
|
92
|
+
}>;
|
|
93
|
+
getStreamedResponse(request: ModelRequest): AsyncIterable<ResponseStreamEvent>;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
declare type ApprovalCategory = 'read' | 'write' | 'command' | 'network';
|
|
97
|
+
|
|
98
|
+
declare type ApprovalContext = {
|
|
99
|
+
toolName: string;
|
|
100
|
+
params: Record<string, any>;
|
|
101
|
+
approvalMode: string;
|
|
102
|
+
context: any;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
declare type ApprovalMode = 'default' | 'autoEdit' | 'yolo';
|
|
106
|
+
|
|
107
|
+
declare type AssistantContent = string | Array<TextPart | ReasoningPart | ToolUsePart>;
|
|
108
|
+
|
|
109
|
+
declare type AssistantMessage = {
|
|
110
|
+
role: 'assistant';
|
|
111
|
+
content: AssistantContent;
|
|
112
|
+
text: string;
|
|
113
|
+
model: string;
|
|
114
|
+
usage: {
|
|
115
|
+
input_tokens: number;
|
|
116
|
+
output_tokens: number;
|
|
117
|
+
cache_read_input_tokens?: number;
|
|
118
|
+
cache_creation_input_tokens?: number;
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
declare interface BaseSlashCommand {
|
|
123
|
+
name: string;
|
|
124
|
+
description: string;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
declare type CommitConfig = {
|
|
128
|
+
language: string;
|
|
129
|
+
};
|
|
130
|
+
|
|
131
|
+
declare type Config = {
|
|
132
|
+
model: string;
|
|
133
|
+
planModel: string;
|
|
134
|
+
language: string;
|
|
135
|
+
quiet: boolean;
|
|
136
|
+
approvalMode: ApprovalMode;
|
|
137
|
+
plugins: string[];
|
|
138
|
+
mcpServers: Record<string, McpServerConfig>;
|
|
139
|
+
systemPrompt?: string;
|
|
140
|
+
todo?: boolean;
|
|
141
|
+
/**
|
|
142
|
+
* Controls whether automatic conversation compression is enabled.
|
|
143
|
+
* When set to false, conversation history will accumulate and context limit will be exceeded.
|
|
144
|
+
*
|
|
145
|
+
* @default true
|
|
146
|
+
*/
|
|
147
|
+
autoCompact?: boolean;
|
|
148
|
+
commit?: CommitConfig;
|
|
149
|
+
outputStyle?: string;
|
|
150
|
+
outputFormat?: 'text' | 'stream-json' | 'json';
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
export declare class _ConfigManager {
|
|
154
|
+
globalConfig: Partial<Config>;
|
|
155
|
+
projectConfig: Partial<Config>;
|
|
156
|
+
argvConfig: Partial<Config>;
|
|
157
|
+
globalConfigPath: string;
|
|
158
|
+
projectConfigPath: string;
|
|
159
|
+
constructor(cwd: string, productName: string, argvConfig: Partial<Config>);
|
|
160
|
+
get config(): Config;
|
|
161
|
+
removeConfig(global: boolean, key: string, values?: string[]): void;
|
|
162
|
+
addConfig(global: boolean, key: string, values: string[]): void;
|
|
163
|
+
getConfig(global: boolean, key: string): any;
|
|
164
|
+
setConfig(global: boolean, key: string, value: string): void;
|
|
165
|
+
updateConfig(global: boolean, newConfig: Partial<Config>): void;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export declare class Context {
|
|
169
|
+
#private;
|
|
170
|
+
cwd: string;
|
|
171
|
+
productName: string;
|
|
172
|
+
productASCIIArt?: string;
|
|
173
|
+
version: string;
|
|
174
|
+
config: Config;
|
|
175
|
+
paths: Paths;
|
|
176
|
+
mcpManager: MCPManager;
|
|
177
|
+
constructor(opts: ContextOpts);
|
|
178
|
+
apply(applyOpts: Omit<PluginApplyOpts, 'pluginContext'>): Promise<any>;
|
|
179
|
+
destroy(): Promise<void>;
|
|
180
|
+
static create(opts: ContextCreateOpts): Promise<Context>;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
declare type ContextCreateOpts = {
|
|
184
|
+
cwd: string;
|
|
185
|
+
productName: string;
|
|
186
|
+
productASCIIArt?: string;
|
|
187
|
+
version: string;
|
|
188
|
+
argvConfig: Record<string, any>;
|
|
189
|
+
plugins: (string | Plugin_2)[];
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
declare type ContextOpts = {
|
|
193
|
+
cwd: string;
|
|
194
|
+
productName: string;
|
|
195
|
+
productASCIIArt?: string;
|
|
196
|
+
version: string;
|
|
197
|
+
config: Config;
|
|
198
|
+
pluginManager: PluginManager;
|
|
199
|
+
paths: Paths;
|
|
200
|
+
argvConfig: Record<string, any>;
|
|
201
|
+
mcpManager: MCPManager;
|
|
202
|
+
};
|
|
203
|
+
|
|
204
|
+
export declare function createTool<TSchema extends _zod.ZodTypeAny>(config: {
|
|
205
|
+
name: string;
|
|
206
|
+
description: string;
|
|
207
|
+
parameters: TSchema;
|
|
208
|
+
execute: (params: _zod.infer<TSchema>) => Promise<any> | any;
|
|
209
|
+
approval?: ToolApprovalInfo;
|
|
210
|
+
}): Tool<_zod.infer<TSchema>>;
|
|
211
|
+
|
|
212
|
+
declare type Enforce = 'pre' | 'post';
|
|
213
|
+
|
|
214
|
+
declare interface LocalCommand extends BaseSlashCommand {
|
|
215
|
+
type: 'local';
|
|
216
|
+
call(args: string, context: Context): Promise<string>;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
declare interface LocalJSXCommand extends BaseSlashCommand {
|
|
220
|
+
type: 'local-jsx';
|
|
221
|
+
call(onDone: (result: string) => void, context: Context): Promise<React.ReactNode>;
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
declare type LoopResult = {
|
|
225
|
+
success: true;
|
|
226
|
+
data: Record<string, any>;
|
|
227
|
+
metadata: {
|
|
228
|
+
turnsCount: number;
|
|
229
|
+
toolCallsCount: number;
|
|
230
|
+
duration: number;
|
|
231
|
+
};
|
|
232
|
+
} | {
|
|
233
|
+
success: false;
|
|
234
|
+
error: {
|
|
235
|
+
type: 'tool_denied' | 'max_turns_exceeded' | 'api_error' | 'canceled';
|
|
236
|
+
message: string;
|
|
237
|
+
details?: Record<string, any>;
|
|
238
|
+
};
|
|
239
|
+
};
|
|
240
|
+
|
|
241
|
+
declare interface MCPConfig {
|
|
242
|
+
type?: 'stdio' | 'sse' | 'http';
|
|
243
|
+
command?: string;
|
|
244
|
+
args?: string[];
|
|
245
|
+
env?: Record<string, string>;
|
|
246
|
+
url?: string;
|
|
247
|
+
disable?: boolean;
|
|
248
|
+
/**
|
|
249
|
+
* The timeout for tool calls in milliseconds.
|
|
250
|
+
*/
|
|
251
|
+
timeout?: number;
|
|
252
|
+
headers?: Record<string, string>;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
declare class MCPManager {
|
|
256
|
+
#private;
|
|
257
|
+
private servers;
|
|
258
|
+
private configs;
|
|
259
|
+
private isInitialized;
|
|
260
|
+
private initPromise?;
|
|
261
|
+
private initLock;
|
|
262
|
+
static create(mcpServers: Record<string, MCPConfig>): MCPManager;
|
|
263
|
+
initAsync(): Promise<void>;
|
|
264
|
+
private _performInit;
|
|
265
|
+
private _connectServer;
|
|
266
|
+
getAllTools(): Promise<Tool[]>;
|
|
267
|
+
getTools(keys: string[]): Promise<Tool[]>;
|
|
268
|
+
destroy(): Promise<void>;
|
|
269
|
+
getServerNames(): string[];
|
|
270
|
+
hasServer(name: string): boolean;
|
|
271
|
+
getServerStatus(name: string): MCPServerStatus | undefined;
|
|
272
|
+
getServerError(name: string): string | undefined;
|
|
273
|
+
getAllServerStatus(): Promise<Record<string, {
|
|
274
|
+
status: MCPServerStatus;
|
|
275
|
+
error?: string;
|
|
276
|
+
toolCount: number;
|
|
277
|
+
}>>;
|
|
278
|
+
isReady(): boolean;
|
|
279
|
+
isLoading(): boolean;
|
|
280
|
+
retryConnection(serverName: string): Promise<void>;
|
|
281
|
+
getAllMcpTools(mcpServers: MCPServer[], convertSchemasToStrict?: boolean): Promise<Tool[]>;
|
|
282
|
+
getFunctionToolsFromServer<TContext = UnknownContext>(server: MCPServer, convertSchemasToStrict: boolean): Promise<FunctionTool<TContext, any, string>[]>;
|
|
283
|
+
private _isTemporaryError;
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
declare type McpServerConfig = McpStdioServerConfig | McpSSEServerConfig;
|
|
287
|
+
|
|
288
|
+
declare type MCPServerStatus = 'pending' | 'connecting' | 'connected' | 'failed' | 'disconnected';
|
|
289
|
+
|
|
290
|
+
declare type McpSSEServerConfig = {
|
|
291
|
+
type: 'sse';
|
|
292
|
+
url: string;
|
|
293
|
+
disable?: boolean;
|
|
294
|
+
};
|
|
295
|
+
|
|
296
|
+
declare type McpStdioServerConfig = {
|
|
297
|
+
type?: 'stdio';
|
|
298
|
+
command: string;
|
|
299
|
+
args: string[];
|
|
300
|
+
env?: Record<string, string>;
|
|
301
|
+
disable?: boolean;
|
|
302
|
+
};
|
|
303
|
+
|
|
304
|
+
declare type Message = SystemMessage | UserMessage | AssistantMessage | ToolMessage;
|
|
305
|
+
|
|
306
|
+
declare interface Model {
|
|
307
|
+
id: string;
|
|
308
|
+
name: string;
|
|
309
|
+
shortName?: string;
|
|
310
|
+
attachment: boolean;
|
|
311
|
+
reasoning: boolean;
|
|
312
|
+
temperature: boolean;
|
|
313
|
+
tool_call: boolean;
|
|
314
|
+
knowledge: string;
|
|
315
|
+
release_date: string;
|
|
316
|
+
last_updated: string;
|
|
317
|
+
modalities: ModelModalities;
|
|
318
|
+
open_weights: boolean;
|
|
319
|
+
cost: ModelCost;
|
|
320
|
+
limit: ModelLimit;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
declare type ModelAlias = Record<string, string>;
|
|
324
|
+
|
|
325
|
+
declare interface ModelCost {
|
|
326
|
+
input: number;
|
|
327
|
+
output: number;
|
|
328
|
+
cache_read?: number;
|
|
329
|
+
cache_write?: number;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
declare type ModelInfo = {
|
|
333
|
+
provider: Provider;
|
|
334
|
+
model: Omit<Model, 'cost'>;
|
|
335
|
+
aisdk: AiSdkModel;
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
declare interface ModelLimit {
|
|
339
|
+
context: number;
|
|
340
|
+
output: number;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
declare type ModelMap = Record<string, Omit<Model, 'id' | 'cost'>>;
|
|
344
|
+
|
|
345
|
+
declare interface ModelModalities {
|
|
346
|
+
input: ('text' | 'image' | 'audio' | 'video' | 'pdf')[];
|
|
347
|
+
output: ('text' | 'audio' | 'image')[];
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
declare type NormalizedMessage = Message & {
|
|
351
|
+
type: 'message';
|
|
352
|
+
timestamp: string;
|
|
353
|
+
uuid: string;
|
|
354
|
+
parentUuid: string | null;
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
declare class OutputStyle {
|
|
358
|
+
name: string;
|
|
359
|
+
description: string;
|
|
360
|
+
isCodingRelated: boolean;
|
|
361
|
+
prompt: string;
|
|
362
|
+
constructor(opts: OutputStyleOpts);
|
|
363
|
+
isDefault(): boolean;
|
|
364
|
+
}
|
|
365
|
+
|
|
366
|
+
declare type OutputStyleOpts = {
|
|
367
|
+
name: string;
|
|
368
|
+
description: string;
|
|
369
|
+
isCodingRelated: boolean;
|
|
370
|
+
prompt: string;
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
declare class Paths {
|
|
374
|
+
globalConfigDir: string;
|
|
375
|
+
globalProjectDir: string;
|
|
376
|
+
projectConfigDir: string;
|
|
377
|
+
constructor(opts: {
|
|
378
|
+
productName: string;
|
|
379
|
+
cwd: string;
|
|
380
|
+
});
|
|
381
|
+
getSessionLogPath(sessionId: string): string;
|
|
382
|
+
getLatestSessionId(): string;
|
|
383
|
+
getAllSessions(): {
|
|
384
|
+
sessionId: string;
|
|
385
|
+
modified: Date;
|
|
386
|
+
created: Date;
|
|
387
|
+
messageCount: number;
|
|
388
|
+
summary: string;
|
|
389
|
+
}[];
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
declare type Plugin_2 = {
|
|
393
|
+
enforce?: Enforce;
|
|
394
|
+
name?: string;
|
|
395
|
+
config?: (this: TempPluginContext, opts: {
|
|
396
|
+
config: Config;
|
|
397
|
+
argvConfig: Record<string, any>;
|
|
398
|
+
}) => Partial<Config> | Promise<Partial<Config>>;
|
|
399
|
+
slashCommand?: (this: PluginContext) => Promise<SlashCommand[]> | SlashCommand[];
|
|
400
|
+
outputStyle?: (this: PluginContext) => Promise<OutputStyle[]> | OutputStyle[];
|
|
401
|
+
provider?: (this: PluginContext, providers: ProvidersMap, opts: {
|
|
402
|
+
models: ModelMap;
|
|
403
|
+
defaultModelCreator: (name: string, provider: Provider) => LanguageModelV1;
|
|
404
|
+
createOpenAI: (options: any) => OpenAIProvider;
|
|
405
|
+
}) => Promise<ProvidersMap> | ProvidersMap;
|
|
406
|
+
modelAlias?: (this: PluginContext, modelAlias: ModelAlias) => Promise<ModelAlias> | ModelAlias;
|
|
407
|
+
initialized?: (this: PluginContext, opts: {
|
|
408
|
+
cwd: string;
|
|
409
|
+
quiet: boolean;
|
|
410
|
+
}) => Promise<void> | void;
|
|
411
|
+
context?: (this: PluginContext, opts: {
|
|
412
|
+
userPrompt: string | null;
|
|
413
|
+
sessionId: string;
|
|
414
|
+
}) => Promise<Record<string, string> | {}> | Record<string, string> | {};
|
|
415
|
+
env?: (this: PluginContext, opts: {
|
|
416
|
+
userPrompt: string | null;
|
|
417
|
+
sessionId: string;
|
|
418
|
+
}) => Promise<Record<string, string> | {}> | Record<string, string> | {};
|
|
419
|
+
userPrompt?: (this: PluginContext, userPrompt: string, opts: {
|
|
420
|
+
sessionId: string;
|
|
421
|
+
}) => Promise<string> | string;
|
|
422
|
+
systemPrompt?: (this: PluginContext, systemPrompt: string, opts: {
|
|
423
|
+
isPlan?: boolean;
|
|
424
|
+
sessionId: string;
|
|
425
|
+
}) => Promise<string> | string;
|
|
426
|
+
tool?: (this: PluginContext, opts: {
|
|
427
|
+
isPlan?: boolean;
|
|
428
|
+
sessionId: string;
|
|
429
|
+
}) => Promise<Tool[]> | Tool[];
|
|
430
|
+
toolUse?: (this: PluginContext, toolUse: ToolUse, opts: {
|
|
431
|
+
sessionId: string;
|
|
432
|
+
}) => Promise<ToolUse> | ToolUse;
|
|
433
|
+
toolResult?: (this: PluginContext, toolResult: any, opts: {
|
|
434
|
+
toolUse: ToolUse;
|
|
435
|
+
approved: boolean;
|
|
436
|
+
sessionId: string;
|
|
437
|
+
}) => Promise<any> | any;
|
|
438
|
+
query?: (this: PluginContext, opts: {
|
|
439
|
+
usage: Usage;
|
|
440
|
+
startTime: Date;
|
|
441
|
+
endTime: Date;
|
|
442
|
+
sessionId: string;
|
|
443
|
+
}) => Promise<void> | void;
|
|
444
|
+
conversation?: (this: PluginContext, opts: {
|
|
445
|
+
userPrompt: string | null;
|
|
446
|
+
result: LoopResult;
|
|
447
|
+
startTime: Date;
|
|
448
|
+
endTime: Date;
|
|
449
|
+
sessionId: string;
|
|
450
|
+
}) => Promise<void> | void;
|
|
451
|
+
status?: (this: PluginContext) => Promise<Status> | Status;
|
|
452
|
+
_serverAppData?: (this: PluginContext, opts: {
|
|
453
|
+
context: any;
|
|
454
|
+
cwd: string;
|
|
455
|
+
}) => Promise<any> | any;
|
|
456
|
+
_serverRoutes?: (this: PluginContext, opts: {
|
|
457
|
+
app: any;
|
|
458
|
+
prefix: string;
|
|
459
|
+
opts: any;
|
|
460
|
+
}) => Promise<any> | any;
|
|
461
|
+
_serverRouteCompletions?: (this: PluginContext, opts: {
|
|
462
|
+
message: {
|
|
463
|
+
role: 'user';
|
|
464
|
+
content: string;
|
|
465
|
+
attachedContexts: any[];
|
|
466
|
+
contextContent: string;
|
|
467
|
+
};
|
|
468
|
+
attachedContexts: any[];
|
|
469
|
+
}) => Promise<any> | any;
|
|
470
|
+
};
|
|
471
|
+
export { Plugin_2 as Plugin }
|
|
472
|
+
|
|
473
|
+
declare type PluginApplyOpts = {
|
|
474
|
+
hook: keyof Plugin_2;
|
|
475
|
+
args: any[];
|
|
476
|
+
memo?: any;
|
|
477
|
+
type: PluginHookType;
|
|
478
|
+
pluginContext: any;
|
|
479
|
+
};
|
|
480
|
+
|
|
481
|
+
declare type PluginContext = Context;
|
|
482
|
+
|
|
483
|
+
declare enum PluginHookType {
|
|
484
|
+
First = "first",
|
|
485
|
+
Series = "series",
|
|
486
|
+
SeriesMerge = "seriesMerge",
|
|
487
|
+
SeriesLast = "seriesLast",
|
|
488
|
+
Parallel = "parallel"
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
declare class PluginManager {
|
|
492
|
+
#private;
|
|
493
|
+
constructor(rawPlugins: Plugin_2[]);
|
|
494
|
+
apply({ hook, args, memo, type, pluginContext, }: PluginApplyOpts): Promise<any>;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
declare interface PromptCommand extends BaseSlashCommand {
|
|
498
|
+
type: 'prompt';
|
|
499
|
+
argNames?: string[];
|
|
500
|
+
progressMessage: string;
|
|
501
|
+
model?: string;
|
|
502
|
+
getPromptForCommand(args: string): Promise<Array<{
|
|
503
|
+
role: string;
|
|
504
|
+
content: string;
|
|
505
|
+
}>>;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
declare interface Provider {
|
|
509
|
+
id: string;
|
|
510
|
+
env: string[];
|
|
511
|
+
name: string;
|
|
512
|
+
api?: string;
|
|
513
|
+
doc: string;
|
|
514
|
+
models: Record<string, Omit<Model, 'id' | 'cost'>>;
|
|
515
|
+
createModel(name: string, provider: Provider): LanguageModelV1;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
declare type ProvidersMap = Record<string, Provider>;
|
|
519
|
+
|
|
520
|
+
export declare function _query(opts: {
|
|
521
|
+
userPrompt: string;
|
|
522
|
+
messages?: NormalizedMessage[];
|
|
523
|
+
context?: Context;
|
|
524
|
+
model?: ModelInfo;
|
|
525
|
+
systemPrompt?: string;
|
|
526
|
+
onMessage?: (message: NormalizedMessage) => Promise<void>;
|
|
527
|
+
}): Promise<LoopResult_2>;
|
|
528
|
+
|
|
529
|
+
declare type ReasoningPart = {
|
|
530
|
+
type: 'reasoning';
|
|
531
|
+
text: string;
|
|
532
|
+
};
|
|
533
|
+
|
|
534
|
+
export declare function runNeovate(opts: {
|
|
535
|
+
productName: string;
|
|
536
|
+
productASCIIArt?: string;
|
|
537
|
+
version: string;
|
|
538
|
+
plugins: Plugin_2[];
|
|
539
|
+
upgrade?: UpgradeOptions;
|
|
540
|
+
}): Promise<void>;
|
|
541
|
+
|
|
542
|
+
declare type SlashCommand = LocalCommand | LocalJSXCommand | PromptCommand;
|
|
543
|
+
|
|
544
|
+
declare type Status = Record<string, {
|
|
545
|
+
description?: string;
|
|
546
|
+
items: string[];
|
|
547
|
+
}>;
|
|
548
|
+
|
|
549
|
+
declare type SystemMessage = {
|
|
550
|
+
role: 'system';
|
|
551
|
+
content: string;
|
|
552
|
+
};
|
|
553
|
+
|
|
554
|
+
declare type TempPluginContext = ContextCreateOpts & {
|
|
555
|
+
pluginManager: PluginManager;
|
|
556
|
+
config: Config;
|
|
557
|
+
apply: (opts: PluginApplyOpts) => Promise<any> | any;
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
declare type TextPart = {
|
|
561
|
+
type: 'text';
|
|
562
|
+
text: string;
|
|
563
|
+
};
|
|
564
|
+
|
|
565
|
+
declare interface Tool<T = any> {
|
|
566
|
+
name: string;
|
|
567
|
+
description: string;
|
|
568
|
+
execute: (params: T) => Promise<any> | any;
|
|
569
|
+
approval?: ToolApprovalInfo;
|
|
570
|
+
parameters: _zod.ZodSchema<T>;
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
declare type ToolApprovalInfo = {
|
|
574
|
+
needsApproval?: (context: ApprovalContext) => Promise<boolean> | boolean;
|
|
575
|
+
category?: ApprovalCategory;
|
|
576
|
+
};
|
|
577
|
+
|
|
578
|
+
declare type ToolContent = Array<ToolResultPart>;
|
|
579
|
+
|
|
580
|
+
declare type ToolMessage = {
|
|
581
|
+
role: 'user';
|
|
582
|
+
content: ToolContent;
|
|
583
|
+
};
|
|
584
|
+
|
|
585
|
+
declare type ToolResultPart = {
|
|
586
|
+
type: 'tool_result';
|
|
587
|
+
id: string;
|
|
588
|
+
name: string;
|
|
589
|
+
input: Record<string, any>;
|
|
590
|
+
result: any;
|
|
591
|
+
isError?: boolean;
|
|
592
|
+
};
|
|
593
|
+
|
|
594
|
+
declare type ToolUse = {
|
|
595
|
+
name: string;
|
|
596
|
+
params: Record<string, any>;
|
|
597
|
+
callId: string;
|
|
598
|
+
};
|
|
599
|
+
|
|
600
|
+
declare type ToolUsePart = {
|
|
601
|
+
type: 'tool_use';
|
|
602
|
+
id: string;
|
|
603
|
+
name: string;
|
|
604
|
+
input: Record<string, any>;
|
|
605
|
+
};
|
|
606
|
+
|
|
607
|
+
declare type UnknownContext = unknown;
|
|
608
|
+
|
|
609
|
+
declare type UpgradeOptions = {
|
|
610
|
+
registryBase: string;
|
|
611
|
+
name: string;
|
|
612
|
+
version: string;
|
|
613
|
+
installDir: string;
|
|
614
|
+
files: string[];
|
|
615
|
+
channel?: string;
|
|
616
|
+
changelogUrl?: string;
|
|
617
|
+
};
|
|
618
|
+
|
|
619
|
+
declare class Usage {
|
|
620
|
+
promptTokens: number;
|
|
621
|
+
completionTokens: number;
|
|
622
|
+
totalTokens: number;
|
|
623
|
+
constructor(init?: Partial<Usage>);
|
|
624
|
+
static empty(): Usage;
|
|
625
|
+
static fromEventUsage(eventUsage: any): Usage;
|
|
626
|
+
add(other: Usage): void;
|
|
627
|
+
reset(): void;
|
|
628
|
+
clone(): Usage;
|
|
629
|
+
isValid(): boolean;
|
|
630
|
+
}
|
|
631
|
+
|
|
632
|
+
declare type UserContent = string | Array<TextPart>;
|
|
633
|
+
|
|
634
|
+
declare type UserMessage = {
|
|
635
|
+
role: 'user';
|
|
636
|
+
content: UserContent;
|
|
637
|
+
hidden?: boolean;
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
export { _zod }
|
|
641
|
+
|
|
642
|
+
export { }
|