@neovate/code 0.15.0 → 0.16.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/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import EventEmitter from 'events';
1
2
  import { LanguageModelV2 } from '@openrouter/ai-sdk-provider';
2
3
  import type { OpenAIProvider } from '@ai-sdk/openai';
3
4
  import * as z from 'zod';
@@ -52,6 +53,11 @@ declare class BackgroundTaskManager {
52
53
  killTask(id: string): Promise<boolean>;
53
54
  }
54
55
 
56
+ declare type BaseMessage = {
57
+ id: MessageId;
58
+ timestamp: number;
59
+ };
60
+
55
61
  declare interface BaseSlashCommand {
56
62
  name: string;
57
63
  description: string;
@@ -115,6 +121,7 @@ export declare class Context {
115
121
  argvConfig: Record<string, any>;
116
122
  mcpManager: MCPManager;
117
123
  backgroundTaskManager: BackgroundTaskManager;
124
+ messageBus?: MessageBus;
118
125
  constructor(opts: ContextOpts);
119
126
  apply(applyOpts: Omit<PluginApplyOpts, 'pluginContext'>): Promise<any>;
120
127
  destroy(): Promise<void>;
@@ -128,6 +135,7 @@ declare type ContextCreateOpts = {
128
135
  version: string;
129
136
  argvConfig: Record<string, any>;
130
137
  plugins: (string | Plugin_2)[];
138
+ messageBus?: MessageBus;
131
139
  };
132
140
 
133
141
  declare type ContextOpts = {
@@ -141,6 +149,7 @@ declare type ContextOpts = {
141
149
  argvConfig: Record<string, any>;
142
150
  mcpManager: MCPManager;
143
151
  backgroundTaskManager: BackgroundTaskManager;
152
+ messageBus?: MessageBus;
144
153
  };
145
154
 
146
155
  declare interface CreateTaskInput {
@@ -175,6 +184,14 @@ declare type DiffViewerReturnDisplay = {
175
184
 
176
185
  declare type Enforce = 'pre' | 'post';
177
186
 
187
+ declare type EventHandler = (data: any) => void;
188
+
189
+ declare type EventMessage = BaseMessage & {
190
+ type: 'event';
191
+ event: string;
192
+ data: any;
193
+ };
194
+
178
195
  declare type ImagePart = {
179
196
  type: 'image';
180
197
  data: string;
@@ -279,7 +296,45 @@ declare type McpStdioServerConfig = {
279
296
  disable?: boolean;
280
297
  };
281
298
 
282
- declare type Message = SystemMessage | UserMessage | AssistantMessage | ToolMessage | ToolMessage2;
299
+ declare type Message = RequestMessage | ResponseMessage | EventMessage;
300
+
301
+ declare type Message_2 = SystemMessage | UserMessage | AssistantMessage | ToolMessage | ToolMessage2;
302
+
303
+ declare class MessageBus extends EventEmitter {
304
+ private transport?;
305
+ private pendingRequests;
306
+ private messageHandlers;
307
+ private eventHandlers;
308
+ constructor();
309
+ setTransport(transport: MessageTransport): void;
310
+ isConnected(): boolean;
311
+ request(method: string, params: any, options?: {
312
+ timeout?: number;
313
+ }): Promise<any>;
314
+ registerHandler(method: string, handler: MessageHandler): void;
315
+ unregisterHandler(method: string): void;
316
+ emitEvent(event: string, data: any): Promise<void>;
317
+ onEvent(event: string, handler: EventHandler): void;
318
+ offEvent(event: string, handler: EventHandler): void;
319
+ private handleIncomingMessage;
320
+ private handleRequest;
321
+ private handleResponse;
322
+ private handleEvent;
323
+ private sendResponse;
324
+ }
325
+
326
+ declare type MessageHandler = (data: any) => Promise<any>;
327
+
328
+ declare type MessageId = string;
329
+
330
+ declare interface MessageTransport {
331
+ send: (message: Message) => Promise<void>;
332
+ onMessage: (handler: (message: Message) => void) => void;
333
+ onError: (handler: (error: Error) => void) => void;
334
+ onClose: (handler: () => void) => void;
335
+ close: () => Promise<void>;
336
+ isConnected: () => boolean;
337
+ }
283
338
 
284
339
  declare interface Model {
285
340
  id: string;
@@ -311,6 +366,7 @@ declare type ModelInfo = {
311
366
  provider: Provider;
312
367
  model: Omit<Model, 'cost'>;
313
368
  m: LanguageModelV2;
369
+ thinkingConfig?: Record<string, any>;
314
370
  };
315
371
 
316
372
  declare interface ModelLimit {
@@ -325,7 +381,7 @@ declare interface ModelModalities {
325
381
  output: ('text' | 'audio' | 'image')[];
326
382
  }
327
383
 
328
- declare type NormalizedMessage = Message & {
384
+ declare type NormalizedMessage = Message_2 & {
329
385
  type: 'message';
330
386
  timestamp: string;
331
387
  uuid: string;
@@ -523,6 +579,18 @@ declare type ReasoningPart = {
523
579
  text: string;
524
580
  };
525
581
 
582
+ declare type RequestMessage = BaseMessage & {
583
+ type: 'request';
584
+ method: string;
585
+ params: any;
586
+ };
587
+
588
+ declare type ResponseMessage = BaseMessage & {
589
+ type: 'response';
590
+ result?: any;
591
+ error?: any;
592
+ };
593
+
526
594
  declare type ReturnDisplay = string | DiffViewerReturnDisplay | TodoReadReturnDisplay | TodoWriteReturnDisplay;
527
595
 
528
596
  export declare function runNeovate(opts: {