@nuvin/agent-core 0.0.0-rc.9 → 0.1.0-rc.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.
Files changed (95) hide show
  1. package/dist/VERSION +2 -2
  2. package/dist/agent/agent.d.ts +28 -0
  3. package/dist/agent/context-compactor.d.ts +8 -0
  4. package/dist/agent/extension-registry.d.ts +3 -0
  5. package/dist/agent/index.d.ts +8 -68
  6. package/dist/agent/index.js +1 -1
  7. package/dist/agent/messages-to-text.d.ts +3 -0
  8. package/dist/agent/metrics.d.ts +30 -0
  9. package/dist/agent/topic-reminder-extension.d.ts +32 -0
  10. package/dist/agent/turn-engine.d.ts +3 -0
  11. package/dist/chunk-FFIZ6TKW.js +1 -0
  12. package/dist/chunk-HRU363DY.js +1 -0
  13. package/dist/chunk-NHBKADBW.js +1 -0
  14. package/dist/chunk-NYZR4XKO.js +1 -1
  15. package/dist/chunk-QDOE7NWO.js +1 -0
  16. package/dist/chunk-X7VAACWY.js +1 -1
  17. package/dist/formats/base64-image-content.d.ts +4 -0
  18. package/dist/formats/index.d.ts +4 -28
  19. package/dist/formats/index.js +1 -1
  20. package/dist/formats/message-format.d.ts +33 -0
  21. package/dist/formats/provider-adapters.d.ts +3 -0
  22. package/dist/hooks/executor.d.ts +3 -0
  23. package/dist/hooks/extensions.d.ts +28 -0
  24. package/dist/hooks/index.d.ts +7 -0
  25. package/dist/hooks/index.js +1 -0
  26. package/dist/hooks/registry.d.ts +8 -0
  27. package/dist/hooks/types.d.ts +40 -0
  28. package/dist/lsp/client.d.ts +11 -0
  29. package/dist/lsp/index.d.ts +24 -0
  30. package/dist/lsp/installer.d.ts +11 -0
  31. package/dist/lsp/language.d.ts +2 -0
  32. package/dist/lsp/server.d.ts +6 -0
  33. package/dist/lsp/types.d.ts +68 -0
  34. package/dist/models/anthropic-model.d.ts +27 -0
  35. package/dist/models/anthropic-surface.d.ts +5 -0
  36. package/dist/models/chat-model.d.ts +31 -0
  37. package/dist/models/github-model.d.ts +32 -0
  38. package/dist/models/http-transport.d.ts +10 -0
  39. package/dist/models/index.d.ts +16 -347
  40. package/dist/models/index.js +1 -1
  41. package/dist/models/mock-model.d.ts +15 -0
  42. package/dist/models/model-errors.d.ts +16 -0
  43. package/dist/models/model-limits.d.ts +7 -0
  44. package/dist/models/model-registry.d.ts +44 -0
  45. package/dist/models/model-surface-router.d.ts +19 -0
  46. package/dist/models/model-transports.d.ts +17 -0
  47. package/dist/models/openai-model.d.ts +67 -0
  48. package/dist/models/openai-surfaces.d.ts +74 -0
  49. package/dist/models/provider-adapter.d.ts +23 -0
  50. package/dist/models/provider-session.d.ts +16 -0
  51. package/dist/models/routed-model.d.ts +90 -0
  52. package/dist/shared/abort.d.ts +9 -0
  53. package/dist/shared/index.d.ts +5 -17
  54. package/dist/shared/index.js +1 -1
  55. package/dist/shared/reasoning-config.d.ts +5 -0
  56. package/dist/shared/turn-failed.d.ts +6 -0
  57. package/dist/{types-Bb2eVtsy.d.ts → shared/types.d.ts} +180 -164
  58. package/dist/tools/ask-user-tool.d.ts +55 -0
  59. package/dist/tools/background-process-registry.d.ts +64 -0
  60. package/dist/tools/bash-internals.d.ts +5 -0
  61. package/dist/tools/bash-output-tool.d.ts +20 -0
  62. package/dist/tools/bash-tool.d.ts +75 -0
  63. package/dist/tools/command-tool.d.ts +23 -0
  64. package/dist/tools/file-edit-tool.d.ts +29 -0
  65. package/dist/tools/file-new-tool.d.ts +21 -0
  66. package/dist/tools/file-read-tool.d.ts +27 -0
  67. package/dist/tools/glob-tool.d.ts +26 -0
  68. package/dist/tools/grep-tool.d.ts +34 -0
  69. package/dist/tools/index.d.ts +31 -773
  70. package/dist/tools/index.js +1 -1
  71. package/dist/tools/internal-tool-runtime.d.ts +8 -0
  72. package/dist/tools/kill-shell-tool.d.ts +16 -0
  73. package/dist/tools/ls-tool.d.ts +20 -0
  74. package/dist/tools/lsp-tool.d.ts +36 -0
  75. package/dist/tools/mcp-oauth-provider.d.ts +11 -0
  76. package/dist/tools/mcp-server-manager.d.ts +43 -0
  77. package/dist/tools/mcp-tool-adapter.d.ts +47 -0
  78. package/dist/tools/mock-tool-runtime.d.ts +3 -0
  79. package/dist/tools/ripgrep.d.ts +20 -0
  80. package/dist/tools/runtime-manager-tools.d.ts +58 -0
  81. package/dist/tools/safe-fetch.d.ts +36 -0
  82. package/dist/tools/skill-tool.d.ts +33 -0
  83. package/dist/tools/todo-write-tool.d.ts +66 -0
  84. package/dist/tools/tool-output-offload.d.ts +12 -0
  85. package/dist/tools/tools.d.ts +24 -0
  86. package/dist/tools/update-topic-tool.d.ts +12 -0
  87. package/dist/tools/view-file-tool.d.ts +22 -0
  88. package/dist/tools/web-fetch-tool.d.ts +23 -0
  89. package/dist/tools/web-search-tool.d.ts +75 -0
  90. package/dist/tools/workspace-paths.d.ts +5 -0
  91. package/package.json +6 -2
  92. package/dist/chunk-3QLMAAJY.js +0 -1
  93. package/dist/chunk-4DNIDCX7.js +0 -1
  94. package/dist/chunk-G2FR4UGO.js +0 -1
  95. package/dist/provider-adapters-NxiNWlxu.d.ts +0 -5
@@ -0,0 +1,15 @@
1
+ import type { ChatRequest, ChatResponse, EngineChatModel, ModelExecutionOptions, ReasoningConfig } from "../shared/types.ts";
2
+ export interface MockModelOptions {
3
+ model?: string;
4
+ maxTokens?: number;
5
+ reasoning?: ReasoningConfig;
6
+ }
7
+ export declare class MockModel implements EngineChatModel {
8
+ readonly model: string;
9
+ readonly maxTokens: number;
10
+ readonly requests: ChatRequest[];
11
+ private readonly reasoning?;
12
+ constructor(options?: MockModelOptions);
13
+ complete(request: ChatRequest, _options?: ModelExecutionOptions): Promise<ChatResponse>;
14
+ }
15
+ //# sourceMappingURL=mock-model.d.ts.map
@@ -0,0 +1,16 @@
1
+ export interface ProviderStreamEventErrorOptions {
2
+ code?: string;
3
+ retryable?: boolean;
4
+ status?: number;
5
+ }
6
+ export declare class ProviderRequestConstructionError extends Error {
7
+ constructor(message: string);
8
+ }
9
+ export declare class ProviderStreamEventError extends Error {
10
+ readonly code?: string;
11
+ readonly retryable: boolean;
12
+ readonly status?: number;
13
+ constructor(message: string, options?: ProviderStreamEventErrorOptions);
14
+ }
15
+ export declare function isRetryableProviderStreamEventError(error: unknown): boolean;
16
+ //# sourceMappingURL=model-errors.d.ts.map
@@ -0,0 +1,7 @@
1
+ import type { ModelInfo, ModelLimits } from "../shared/types.ts";
2
+ type RawModelResponse = Record<string, unknown>;
3
+ export declare function getFallbackModelLimits(provider: string, model: string): ModelLimits | undefined;
4
+ export declare function normalizeModelInfo(provider: string, model: RawModelResponse): ModelInfo;
5
+ export declare function normalizeModelLimits(provider: string, model: RawModelResponse): ModelLimits | undefined;
6
+ export {};
7
+ //# sourceMappingURL=model-limits.d.ts.map
@@ -0,0 +1,44 @@
1
+ import type { ChatModelAuthScheme, ChatModelSurface } from "./chat-model.ts";
2
+ export interface ModelProfile {
3
+ contextWindow?: number;
4
+ maxOutput?: number;
5
+ surface?: ChatModelSurface;
6
+ baseUrl?: string;
7
+ }
8
+ export interface ProviderProfile {
9
+ label?: string;
10
+ baseUrl?: string;
11
+ modelsBaseUrl?: string;
12
+ anthropicBaseUrl?: string;
13
+ surface?: ChatModelSurface;
14
+ authScheme?: ChatModelAuthScheme;
15
+ defaultModel?: string;
16
+ defaultModels: string[];
17
+ supportsModelFetch: boolean;
18
+ models: Record<string, ModelProfile>;
19
+ }
20
+ export interface ResolvedModelProfile {
21
+ label?: string;
22
+ baseUrl?: string;
23
+ modelsBaseUrl?: string;
24
+ anthropicBaseUrl?: string;
25
+ surface?: ChatModelSurface;
26
+ authScheme?: ChatModelAuthScheme;
27
+ defaultModel?: string;
28
+ defaultModels?: string[];
29
+ supportsModelFetch?: boolean;
30
+ contextWindow?: number;
31
+ maxOutput?: number;
32
+ }
33
+ export declare function getProviderProfile(provider: string): ProviderProfile | undefined;
34
+ export declare function getModelProfile(provider: string, model: string): ModelProfile | undefined;
35
+ export declare function resolveModelProfile(provider: string, model: string): ResolvedModelProfile | undefined;
36
+ export declare function getDefaultMaxTokens(): number;
37
+ export declare function getDefaultModel(): string;
38
+ export declare function getCliDefaultModel(): string;
39
+ export declare function getProviderLabel(provider: string): string | undefined;
40
+ export declare function getProviderDefaultModel(provider: string): string | undefined;
41
+ export declare function getProviderDefaultModels(provider: string): string[];
42
+ export declare function providerSupportsModelFetch(provider: string): boolean;
43
+ export declare function getOnboardingProviderKeys(): string[];
44
+ //# sourceMappingURL=model-registry.d.ts.map
@@ -0,0 +1,19 @@
1
+ import type { ChatRequest } from "../shared/types.ts";
2
+ export type RoutedModelMode = "complete" | "stream";
3
+ export interface ModelSurfaceRouter {
4
+ selectSurface(request: ChatRequest, options: {
5
+ mode: RoutedModelMode;
6
+ }): Promise<string> | string;
7
+ }
8
+ export declare class StaticModelSurfaceRouter implements ModelSurfaceRouter {
9
+ private readonly completeSurface;
10
+ private readonly streamSurface;
11
+ constructor(options: {
12
+ complete: string;
13
+ stream: string;
14
+ });
15
+ selectSurface(_request: ChatRequest, options: {
16
+ mode: RoutedModelMode;
17
+ }): string;
18
+ }
19
+ //# sourceMappingURL=model-surface-router.d.ts.map
@@ -0,0 +1,17 @@
1
+ export interface ModelWebSocket {
2
+ readonly readyState: number;
3
+ addEventListener(type: "close" | "error" | "message" | "open", listener: EventListenerOrEventListenerObject): void;
4
+ close(code?: number, reason?: string): void;
5
+ removeEventListener(type: "close" | "error" | "message" | "open", listener: EventListenerOrEventListenerObject): void;
6
+ send(data: string): void;
7
+ }
8
+ export type WebSocketFactory = (options: {
9
+ headers: Record<string, string>;
10
+ url: string;
11
+ }) => ModelWebSocket;
12
+ export declare function createDefaultWebSocketFactory(): WebSocketFactory;
13
+ export declare function iterateSseEvents(response: Response, signal?: AbortSignal): AsyncGenerator<string>;
14
+ export declare function waitForWebSocketOpen(socket: ModelWebSocket, signal?: AbortSignal): Promise<void>;
15
+ export declare function iterateWebSocketMessages(socket: ModelWebSocket, signal?: AbortSignal): AsyncIterable<Record<string, unknown>>;
16
+ export declare function toWebSocketUrl(baseUrl: string, path: string): string;
17
+ //# sourceMappingURL=model-transports.d.ts.map
@@ -0,0 +1,67 @@
1
+ import type { BaseChatModelOptions, ChatRequest, ChatResponse, ChatResponseChunk, ModelExecutionOptions, ProviderCredential } from "../shared/types.ts";
2
+ import type { WebSocketFactory } from "./model-transports.ts";
3
+ import { OpenAiApiError } from "./openai-surfaces.ts";
4
+ import type { ProviderRequestMutator, ProviderSessionResolver, ResolvedProviderSession } from "./provider-session.ts";
5
+ import { type ProviderSessionManager } from "./provider-session.ts";
6
+ import { RoutedModel } from "./routed-model.ts";
7
+ export type { WebSocketFactory } from "./model-transports.ts";
8
+ export { OpenAiApiError };
9
+ export interface OpenAiRequestHeadersContext {
10
+ request?: ChatRequest;
11
+ body: unknown;
12
+ credential: ProviderCredential;
13
+ session?: ResolvedProviderSession;
14
+ stream: boolean;
15
+ }
16
+ export type OpenAiHeaderResolver = (context: OpenAiRequestHeadersContext) => Promise<Record<string, string>> | Record<string, string>;
17
+ export interface OpenAiModelOptions extends Partial<BaseChatModelOptions> {
18
+ apiKey?: string;
19
+ baseUrl?: string;
20
+ chatCompletionsPath?: string;
21
+ responsesPath?: string;
22
+ fetch?: typeof globalThis.fetch;
23
+ providerSessionResolver?: ProviderSessionResolver;
24
+ requestMutators?: ProviderRequestMutator[];
25
+ headerResolver?: OpenAiHeaderResolver;
26
+ sessionManager?: ProviderSessionManager;
27
+ webSocketFactory?: WebSocketFactory;
28
+ }
29
+ export declare class OpenAiModel extends RoutedModel {
30
+ private readonly responsesSocketSessions;
31
+ protected readonly chatCompletionsPath: string;
32
+ protected readonly responsesPath: string;
33
+ constructor(options?: OpenAiModelOptions);
34
+ protected completeViaChatCompletionsSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
35
+ protected completeViaResponsesSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
36
+ protected completeViaResponsesWebSocketSurface(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
37
+ protected streamViaChatCompletionsSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
38
+ protected streamViaResponsesSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
39
+ protected streamViaResponsesWebSocketSurface(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
40
+ chatComplete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
41
+ response(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
42
+ responseSocket(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
43
+ chatStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
44
+ responseStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
45
+ responseSocketStream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
46
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
47
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
48
+ private getResponsesSocketSessionState;
49
+ /**
50
+ * Drop an idle session state from the map so it does not accumulate for the
51
+ * life of this model instance. Only evicts when nothing is using it: no live
52
+ * or connecting socket and no held lock. Guarded against deleting a state that
53
+ * has already been replaced under the same key.
54
+ */
55
+ private maybeEvictResponsesSocketSession;
56
+ private getResponsesSocketSessionKey;
57
+ private acquireResponsesSocketLock;
58
+ private prepareResponsesSocketRequest;
59
+ private buildResponsesSocketEvent;
60
+ private findResponsesSocketCheckpoint;
61
+ private shouldRetryResponsesSocketRequest;
62
+ private invalidateResponsesSocketSession;
63
+ private getOrCreateResponsesSocket;
64
+ private streamViaPersistentResponsesSocket;
65
+ private streamViaResponsesSocketAttempt;
66
+ }
67
+ //# sourceMappingURL=openai-model.d.ts.map
@@ -0,0 +1,74 @@
1
+ import { toOpenAiResponsesRequest } from "../formats/provider-adapters.ts";
2
+ import type { ChatRequest, JsonSchemaObject, ToolSchema } from "../shared/types.ts";
3
+ import type { RoutedModelStreamParser, RoutedModelSurface } from "./routed-model.ts";
4
+ export declare const OPENAI_CHAT_COMPLETIONS_SURFACE = "openai-chat-completions";
5
+ export declare const OPENAI_CHAT_COMPLETIONS_STREAM_SURFACE = "openai-chat-completions-stream";
6
+ export declare const OPENAI_RESPONSES_SURFACE = "openai-responses";
7
+ export declare const OPENAI_RESPONSES_STREAM_SURFACE = "openai-responses-stream";
8
+ export declare const OPENAI_RESPONSES_WEBSOCKET_SURFACE = "openai-responses-ws";
9
+ interface OpenAiChatCompletionToolCall {
10
+ id: string;
11
+ type: "function";
12
+ function: {
13
+ name: string;
14
+ arguments: string;
15
+ };
16
+ }
17
+ interface OpenAiChatCompletionToolDefinition {
18
+ type: "function";
19
+ function: {
20
+ name: string;
21
+ description?: string;
22
+ parameters?: ToolSchema["input_schema"];
23
+ };
24
+ }
25
+ type OpenAiChatCompletionUserContentPart = {
26
+ type: "image_url";
27
+ image_url: {
28
+ url: string;
29
+ };
30
+ } | {
31
+ type: "text";
32
+ text: string;
33
+ };
34
+ interface OpenAiChatCompletionMessage {
35
+ role: "assistant" | "system" | "tool" | "user";
36
+ content: null | string | OpenAiChatCompletionUserContentPart[];
37
+ tool_calls?: OpenAiChatCompletionToolCall[];
38
+ tool_call_id?: string;
39
+ }
40
+ interface OpenAiChatCompletionsRequest {
41
+ model: string;
42
+ messages: OpenAiChatCompletionMessage[];
43
+ max_completion_tokens?: number;
44
+ max_tokens?: number;
45
+ reasoning_effort?: "high" | "low" | "medium" | "minimal" | "none" | "xhigh";
46
+ stream: boolean;
47
+ tools?: OpenAiChatCompletionToolDefinition[];
48
+ response_format?: {
49
+ type: "json_schema";
50
+ json_schema: {
51
+ name: string;
52
+ schema: JsonSchemaObject;
53
+ strict: boolean;
54
+ };
55
+ };
56
+ }
57
+ export declare class OpenAiApiError extends Error {
58
+ readonly status: number;
59
+ readonly body: string;
60
+ constructor(status: number, body: string, message: string);
61
+ }
62
+ export declare function createChatRequestBody(request: ChatRequest, stream: boolean): OpenAiChatCompletionsRequest;
63
+ export declare function createOpenAiResponsesWebSocketEvent(request: ChatRequest, options?: {
64
+ input?: ReturnType<typeof toOpenAiResponsesRequest>["input"];
65
+ previousResponseId?: string;
66
+ }): Record<string, unknown>;
67
+ export declare function createOpenAiApiError(response: Response): Promise<OpenAiApiError>;
68
+ export declare function createOpenAiResponsesStreamParser(request: ChatRequest): RoutedModelStreamParser;
69
+ export declare function createOpenAiSurfaces(options?: {
70
+ chatCompletionsPath?: string;
71
+ responsesPath?: string;
72
+ }): RoutedModelSurface[];
73
+ export {};
74
+ //# sourceMappingURL=openai-surfaces.d.ts.map
@@ -0,0 +1,23 @@
1
+ import type { ChatRequest, ProviderCredential, ResolvedProviderSession } from "../shared/types.ts";
2
+ export interface ProviderHeaderContext {
3
+ request?: ChatRequest;
4
+ body?: unknown;
5
+ credential: ProviderCredential;
6
+ session?: ResolvedProviderSession;
7
+ stream: boolean;
8
+ }
9
+ export interface ProviderAdapter {
10
+ createHeaders(context: ProviderHeaderContext, options: {
11
+ accept: string;
12
+ includeContentType?: boolean;
13
+ }): Headers | Promise<Headers>;
14
+ createMissingCredentialError(): Error;
15
+ mapApiError(error: Error): Error;
16
+ resolveBaseUrl(defaultBaseUrl: string, session: ResolvedProviderSession | undefined): string;
17
+ resolveCredential(apiKey: string | undefined, session: ResolvedProviderSession | undefined): ProviderCredential | undefined;
18
+ toApiError(response: Response): Promise<Error>;
19
+ }
20
+ export declare function trimTrailingSlashes(value: string): string;
21
+ export declare function resolveApiCredential(apiKey: string | undefined, session: ResolvedProviderSession | undefined): ProviderCredential | undefined;
22
+ export declare function resolveSessionBaseUrl(defaultBaseUrl: string, session: ResolvedProviderSession | undefined): string;
23
+ //# sourceMappingURL=provider-adapter.d.ts.map
@@ -0,0 +1,16 @@
1
+ import type { ModelRequest, PreparedRequest, ProviderRequestMutator, ProviderSessionResolver, ResolvedProviderSession } from "../shared/types.ts";
2
+ export type { ProviderCredential, ProviderCredentialKind, ProviderEndpoints, ProviderRequestMutator, ProviderSessionResolver, ResolvedProviderSession, } from "../shared/types.ts";
3
+ export interface PrepareProviderRequestOptions {
4
+ sessionManager?: ProviderSessionManager;
5
+ requestMutators?: ProviderRequestMutator[];
6
+ signal?: AbortSignal;
7
+ }
8
+ export declare class ProviderSessionManager {
9
+ private readonly resolver;
10
+ private cached?;
11
+ constructor(resolver: ProviderSessionResolver);
12
+ resolve(signal?: AbortSignal): Promise<ResolvedProviderSession>;
13
+ invalidate(): void;
14
+ }
15
+ export declare function prepareProviderRequest(request: ModelRequest, options?: PrepareProviderRequestOptions): Promise<PreparedRequest>;
16
+ //# sourceMappingURL=provider-session.d.ts.map
@@ -0,0 +1,90 @@
1
+ import type { ChatRequest, ChatResponse, ChatResponseChunk, EngineChatModel, ModelExecutionOptions, ReasoningConfig } from "../shared/types.ts";
2
+ import type { ModelSurfaceRouter } from "./model-surface-router.ts";
3
+ import type { WebSocketFactory } from "./model-transports.ts";
4
+ import type { ProviderAdapter, ProviderHeaderContext } from "./provider-adapter.ts";
5
+ import type { ProviderRequestMutator, ProviderSessionResolver } from "./provider-session.ts";
6
+ import { ProviderSessionManager } from "./provider-session.ts";
7
+ export interface RoutedModelStreamParser {
8
+ consumeSseEvent?(rawEvent: string): ChatResponseChunk[];
9
+ consumeWebSocketEvent?(event: Record<string, unknown>): ChatResponseChunk[];
10
+ finish(): ChatResponse;
11
+ isDone?(): boolean;
12
+ }
13
+ export interface RoutedModelSurfaceRequest {
14
+ accept?: string;
15
+ body?: unknown;
16
+ headers?: Record<string, string>;
17
+ initialEvent?: unknown;
18
+ path?: string;
19
+ url?: string;
20
+ }
21
+ export interface RoutedModelSurface {
22
+ id: string;
23
+ transport: "http-json" | "http-sse" | "websocket";
24
+ createRequest(request: ChatRequest): RoutedModelSurfaceRequest;
25
+ createStreamParser?(request: ChatRequest): RoutedModelStreamParser;
26
+ parseResponse?(payload: unknown, request: ChatRequest): ChatResponse;
27
+ }
28
+ export interface RoutedModelOptions {
29
+ apiKey?: string;
30
+ baseUrl: string;
31
+ fetch?: typeof globalThis.fetch;
32
+ model: string;
33
+ maxTokens?: number;
34
+ reasoning?: ReasoningConfig;
35
+ providerAdapter: ProviderAdapter;
36
+ providerSessionResolver?: ProviderSessionResolver;
37
+ requestMutators?: ProviderRequestMutator[];
38
+ router: ModelSurfaceRouter;
39
+ sessionManager?: ProviderSessionManager;
40
+ surfaces: RoutedModelSurface[];
41
+ webSocketFactory?: WebSocketFactory;
42
+ }
43
+ export declare class RoutedModel implements EngineChatModel {
44
+ readonly model: string;
45
+ readonly maxTokens: number;
46
+ protected readonly reasoning?: ReasoningConfig;
47
+ protected readonly apiKey?: string;
48
+ protected readonly baseUrl: string;
49
+ protected readonly fetchImpl: typeof globalThis.fetch;
50
+ protected readonly providerAdapter: ProviderAdapter;
51
+ protected readonly requestMutators: ProviderRequestMutator[];
52
+ protected readonly router: ModelSurfaceRouter;
53
+ protected readonly sessionManager?: ProviderSessionManager;
54
+ protected readonly webSocketFactory: WebSocketFactory;
55
+ private readonly surfaces;
56
+ constructor(options: RoutedModelOptions);
57
+ complete(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
58
+ stream(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
59
+ protected completeViaRouter(request: ChatRequest, options?: ModelExecutionOptions): Promise<ChatResponse>;
60
+ protected streamViaRouter(request: ChatRequest, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
61
+ protected completeViaSurface(request: ChatRequest, surfaceId: string, options?: ModelExecutionOptions): Promise<ChatResponse>;
62
+ protected streamViaSurface(request: ChatRequest, surfaceId: string, options?: ModelExecutionOptions): AsyncIterable<ChatResponseChunk>;
63
+ protected sendRawRequest(options: {
64
+ accept?: string;
65
+ body?: unknown;
66
+ method: "GET" | "POST";
67
+ path: string;
68
+ signal?: AbortSignal;
69
+ }): Promise<Response>;
70
+ protected getRetryDelayMs(response: Response | undefined, attemptIndex: number): number;
71
+ private shouldRetryResponse;
72
+ private shouldRetryRequestError;
73
+ private shouldRetryStreamAttemptError;
74
+ private waitForRetry;
75
+ private sendWithRetries;
76
+ protected createMissingCredentialError(): Error;
77
+ protected createHeaders(context: ProviderHeaderContext, options: {
78
+ accept: string;
79
+ includeContentType?: boolean;
80
+ }): Promise<Headers>;
81
+ protected mapApiError(error: Error): Error;
82
+ protected toApiError(response: Response): Promise<Error>;
83
+ private getSurface;
84
+ private prepareChatRequest;
85
+ protected applyModelDefaults(request: ChatRequest): ChatRequest;
86
+ private sendHttpSurfaceRequest;
87
+ private streamHttpSurface;
88
+ private streamWebSocketSurface;
89
+ }
90
+ //# sourceMappingURL=routed-model.d.ts.map
@@ -0,0 +1,9 @@
1
+ export declare class OperationAbortedError extends Error {
2
+ readonly code = "ABORT_ERR";
3
+ constructor(message?: string);
4
+ }
5
+ export declare function toAbortError(reason: unknown): Error;
6
+ export declare function isAbortError(error: unknown): boolean;
7
+ export declare function throwIfAborted(signal?: AbortSignal): void;
8
+ export declare function addAbortListener(signal: AbortSignal | undefined, onAbort: () => void): () => void;
9
+ //# sourceMappingURL=abort.d.ts.map
@@ -1,17 +1,5 @@
1
- import { G as AutoReasoningEffort, v as ReasoningConfig, H as AnthropicThinkingConfig, I as OpenAiReasoningConfig } from '../types-Bb2eVtsy.js';
2
- export { aQ as AgentAssistantChunkEvent, aP as AgentAssistantMessageEvent, bl as AgentDefinition, bk as AgentDefinitionFactoryContext, A as AgentEvent, aB as AgentEventContext, b3 as AgentEventHandler, aY as AgentFinalMessageEvent, b as AgentInput, a$ as AgentLifecycleEvent, aN as AgentModelRequestEvent, aO as AgentModelResponseEvent, a as AgentOptions, a_ as AgentProviderRetryEvent, aU as AgentReasoningChunkEvent, aT as AgentReasoningMessageEvent, c as AgentSendOptions, aV as AgentToolCallEvent, aW as AgentToolResultEvent, aX as AgentToolResultMessageEvent, aS as AgentToolUseChunkEvent, aR as AgentToolUseMessageEvent, aZ as AgentTurnCompleteEvent, aM as AgentUserMessageEvent, ad as AnthropicAdaptiveThinkingConfig, a7 as AnthropicAssistantContentBlock, ae as AnthropicDisabledThinkingConfig, ac as AnthropicEnabledThinkingConfig, a2 as AnthropicRedactedThinkingBlock, a6 as AnthropicRedactedThinkingWireBlock, aq as AnthropicSignatureDeltaChunk, a1 as AnthropicThinkingBlock, ap as AnthropicThinkingDeltaChunk, aa as AnthropicThinkingDisplay, ab as AnthropicThinkingEffort, a5 as AnthropicThinkingWireBlock, bj as AnyExtensionRegistration, b9 as AnyToolDefinition, aE as AskUserAnswers, aC as AskUserOption, aD as AskUserQuestion, aF as AskUserQuestionRequest, ai as AssistantContentBlock, a9 as AutoReasoningConfig, B as BaseChatModelOptions, aA as ChatModel, C as ChatRequest, n as ChatResponse, w as ChatResponseChunk, k as CompileRequestInput, g as ContentBlock, an as ContentDeltaChunk, i as ContentInput, bt as CreateManagedRunInput, au as DoneChunk, E as EngineChatModel, be as ExtensionContext, d as ExtensionRegistry, ak as IdentifiedMessage, _ as ImageBlock, Z as ImageMediaType, b5 as InferJsonSchema, K as JsonObject, J as JsonPrimitive, Y as JsonSchema, W as JsonSchemaArray, V as JsonSchemaBoolean, U as JsonSchemaNumber, X as JsonSchemaObject, Q as JsonSchemaString, N as JsonSchemaType, L as JsonValue, bo as ManagedAgentRun, bp as ManagedAgentRunHandle, bn as ManagedRunError, bq as ManagedRunEvent, br as ManagedRunEventHandler, bm as ManagedRunStatus, M as Message, j as MessageInput, ah as MessageProviderState, aj as MessageRole, x as ModelExecutionOptions, y as ModelInfo, z as ModelLimits, l as ModelRequest, m as ModelResponse, bg as Observer, bi as ObserverExtensionRegistration, bb as ObserverOnlyStage, bx as OpenAiFunctionCall, by as OpenAiFunctionCallOutput, bF as OpenAiFunctionTool, bv as OpenAiInputImage, bw as OpenAiInputMessage, bu as OpenAiInputText, bB as OpenAiOutputMessage, bz as OpenAiOutputTextPart, a4 as OpenAiReasoningBlock, ar as OpenAiReasoningDeltaChunk, af as OpenAiReasoningEffort, bC as OpenAiReasoningOutputItem, ag as OpenAiReasoningSummary, as as OpenAiReasoningSummaryDeltaChunk, a3 as OpenAiReasoningSummaryText, bA as OpenAiRefusalPart, bD as OpenAiResponsesOutputItem, bE as OpenAiResponsesReasoningParam, O as OpenAiResponsesRequest, bd as PayloadByStage, az as PrepareRequestInput, t as PreparedRequest, u as ProviderCredential, D as ProviderCredentialKind, F as ProviderEndpoints, s as ProviderRequestMutator, at as ProviderRetryChunk, P as ProviderSessionResolver, a8 as ReasoningVisibility, r as ResolvedProviderSession, R as RunTurnDeps, bs as RuntimeManagerOptions, bc as Stage, S as SystemInput, h as TextBlock, b8 as ToolDefinition, aG as ToolExecutionContext, b7 as ToolGenerator, ax as ToolOutputEnvelope, b6 as ToolOutputValue, q as ToolResult, p as ToolResultBlock, aw as ToolResultChunk, a0 as ToolResultContent, $ as ToolResultContentBlock, av as ToolResultMeta, b4 as ToolRuntime, aJ as ToolRuntimeCompletedEvent, b0 as ToolRuntimeDispatchDecision, aL as ToolRuntimeEvent, b2 as ToolRuntimeEventHandler, aI as ToolRuntimeOutputChunkEvent, aK as ToolRuntimeRejectedEvent, aH as ToolRuntimeStartedEvent, b1 as ToolRuntimeToolCallHandler, al as ToolSchema, o as ToolUseBlock, ao as ToolUseDeltaChunk, ba as TransformableStage, bf as Transformer, bh as TransformerExtensionRegistration, e as TurnInput, T as TurnResult, ay as TurnResultStatus, f as TurnState, am as Usage } from '../types-Bb2eVtsy.js';
3
-
4
- declare class OperationAbortedError extends Error {
5
- readonly code = "ABORT_ERR";
6
- constructor(message?: string);
7
- }
8
- declare function toAbortError(reason: unknown): Error;
9
- declare function isAbortError(error: unknown): boolean;
10
- declare function throwIfAborted(signal?: AbortSignal): void;
11
- declare function addAbortListener(signal: AbortSignal | undefined, onAbort: () => void): () => void;
12
-
13
- declare function mapAutoReasoningEffortToBudgetTokens(effort: AutoReasoningEffort): number;
14
- declare function resolveAnthropicThinkingConfig(reasoning: ReasoningConfig | undefined): AnthropicThinkingConfig | undefined;
15
- declare function resolveOpenAiReasoningConfig(reasoning: ReasoningConfig | undefined): OpenAiReasoningConfig | undefined;
16
-
17
- export { AnthropicThinkingConfig, AutoReasoningEffort, OpenAiReasoningConfig, OperationAbortedError, ReasoningConfig, addAbortListener, isAbortError, mapAutoReasoningEffortToBudgetTokens, resolveAnthropicThinkingConfig, resolveOpenAiReasoningConfig, throwIfAborted, toAbortError };
1
+ export * from "./abort.ts";
2
+ export * from "./reasoning-config.ts";
3
+ export * from "./turn-failed.ts";
4
+ export * from "./types.ts";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- function _0x264e(){var _0x3138b5=['mJeWnJyXCwjosKno','mJC4mwrRthLQBa','mZaXmenTzvHzyG','nJe4mJK1vwnoB0f4','mJqXmNDIBgTvEa','ndjxBLL2Aw8','ntqZmLfXAur1ua','ndeWCg50BeTc','mJy3mZuWnfPdq0f3Eq','ndK3mZKWmgXuBKzVsq','mJyWodu0qwT5AgDS'];_0x264e=function(){return _0x3138b5;};return _0x264e();}(function(_0x2a77fe,_0x47a4cc){var _0x50f079={_0x1a445d:0x234,_0x40af55:0x235,_0x40694e:0x232,_0x56e4a4:0x232,_0xa01571:0x269,_0x49c24f:0x238,_0x63f061:0x23a,_0x504c1f:0x22c,_0x22d039:0x261,_0x31ce07:0x261,_0x405bbc:0x262,_0x4e1be2:0x264,_0x5230fb:0x25f,_0x4a18be:0x265,_0x2083fa:0x237,_0x593892:0x239,_0x520aa8:0x229,_0x459846:0x268,_0x1861a0:0x262,_0x2b3812:0x26a},_0x3d2e8e={_0x54db7d:0x38a};function _0x31fa2e(_0x4b9d4c,_0x576257,_0x4767d8,_0xedaa17){return _0x1649(_0x4b9d4c- -_0x3d2e8e._0x54db7d,_0x4767d8);}function _0x4a74b0(_0xdbe7c0,_0x7b797,_0x3d5c21,_0x2c10f3){return _0x1649(_0xdbe7c0- -0x3bc,_0x2c10f3);}var _0x1256d8=_0x2a77fe();while(!![]){try{var _0x93900d=-parseInt(_0x31fa2e(-0x237,-0x236,-_0x50f079._0x1a445d,-_0x50f079._0x40af55))/0x1+parseInt(_0x31fa2e(-_0x50f079._0x40694e,-_0x50f079._0x56e4a4,-0x234,-0x230))/0x2*(parseInt(_0x4a74b0(-0x267,-0x268,-_0x50f079._0xa01571,-0x261))/0x3)+-parseInt(_0x31fa2e(-_0x50f079._0x49c24f,-_0x50f079._0x63f061,-0x236,-0x235))/0x4+parseInt(_0x31fa2e(-0x233,-0x230,-0x233,-0x231))/0x5*(parseInt(_0x31fa2e(-0x231,-0x231,-0x237,-_0x50f079._0x504c1f))/0x6)+parseInt(_0x4a74b0(-0x266,-_0x50f079._0x22d039,-_0x50f079._0x31ce07,-0x267))/0x7*(-parseInt(_0x4a74b0(-_0x50f079._0x405bbc,-_0x50f079._0x4e1be2,-_0x50f079._0x5230fb,-_0x50f079._0x4a18be))/0x8)+-parseInt(_0x31fa2e(-0x239,-_0x50f079._0x2083fa,-_0x50f079._0x63f061,-_0x50f079._0x593892))/0x9+-parseInt(_0x31fa2e(-0x22f,-_0x50f079._0x520aa8,-0x22a,-0x22e))/0xa*(-parseInt(_0x4a74b0(-_0x50f079._0x459846,-_0x50f079._0x405bbc,-_0x50f079._0x1861a0,-_0x50f079._0x2b3812))/0xb);if(_0x93900d===_0x47a4cc)break;else _0x1256d8['push'](_0x1256d8['shift']());}catch(_0x39b93b){_0x1256d8['push'](_0x1256d8['shift']());}}}(_0x264e,0xa4e53));import{mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig}from'../chunk-NYZR4XKO.js';import{OperationAbortedError,addAbortListener,isAbortError,throwIfAborted,toAbortError}from'../chunk-X7VAACWY.js';function _0x1649(_0x5bf8da,_0x3218c3){_0x5bf8da=_0x5bf8da-0x151;var _0x264ec0=_0x264e();var _0x164986=_0x264ec0[_0x5bf8da];if(_0x1649['MNGuWw']===undefined){var _0x42a9ab=function(_0x6d27e7){var _0x18c137='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x3cf9e9='',_0x267b37='';for(var _0x5725f8=0x0,_0x3cc6a3,_0x4e3dc9,_0x25620e=0x0;_0x4e3dc9=_0x6d27e7['charAt'](_0x25620e++);~_0x4e3dc9&&(_0x3cc6a3=_0x5725f8%0x4?_0x3cc6a3*0x40+_0x4e3dc9:_0x4e3dc9,_0x5725f8++%0x4)?_0x3cf9e9+=String['fromCharCode'](0xff&_0x3cc6a3>>(-0x2*_0x5725f8&0x6)):0x0){_0x4e3dc9=_0x18c137['indexOf'](_0x4e3dc9);}for(var _0x25341a=0x0,_0x22e119=_0x3cf9e9['length'];_0x25341a<_0x22e119;_0x25341a++){_0x267b37+='%'+('00'+_0x3cf9e9['charCodeAt'](_0x25341a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x267b37);};_0x1649['xoDQDz']=_0x42a9ab,_0x1649['RFJouA']={},_0x1649['MNGuWw']=!![];}var _0x1d0671=_0x264ec0[0x0],_0x1c420e=_0x5bf8da+_0x1d0671,_0x468a58=_0x1649['RFJouA'][_0x1c420e];return!_0x468a58?(_0x164986=_0x1649['xoDQDz'](_0x164986),_0x1649['RFJouA'][_0x1c420e]=_0x164986):_0x164986=_0x468a58,_0x164986;}export{OperationAbortedError,addAbortListener,isAbortError,mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig,throwIfAborted,toAbortError};
1
+ (function(_0x359ba2,_0x1bfa38){var _0x383263={_0x195de7:0x190,_0x2b4fd:0x194,_0x25791b:0x47,_0x28d93e:0x3e,_0x2bf6e5:0x44,_0x1e5102:0x49,_0x2531b1:0x18b,_0x474321:0x18d,_0x307bb0:0x18e,_0x48192b:0x189,_0x3d398a:0x46,_0x4c4e0a:0x47},_0x2e99b3={_0x37f282:0x1eb},_0x46e5bc={_0x296ab7:0x15},_0x5a7361=_0x359ba2();function _0x16e9b5(_0x2dbfe0,_0x7fdbda,_0x29a43c,_0x281f21){return _0x12d9(_0x2dbfe0- -_0x46e5bc._0x296ab7,_0x29a43c);}function _0x547459(_0x16c061,_0x45800e,_0x38192f,_0x5acf68){return _0x12d9(_0x5acf68- -_0x2e99b3._0x37f282,_0x45800e);}while(!![]){try{var _0x458e8e=-parseInt(_0x16e9b5(_0x383263._0x195de7,0x190,_0x383263._0x2b4fd,0x18c))/0x1+-parseInt(_0x547459(-0x40,-_0x383263._0x25791b,-_0x383263._0x28d93e,-0x43))/0x2*(-parseInt(_0x547459(-_0x383263._0x2bf6e5,-0x49,-0x4d,-_0x383263._0x1e5102))/0x3)+parseInt(_0x16e9b5(_0x383263._0x2531b1,_0x383263._0x474321,0x18e,0x188))/0x4*(-parseInt(_0x16e9b5(_0x383263._0x307bb0,0x18a,0x191,0x18e))/0x5)+parseInt(_0x16e9b5(0x18c,0x191,_0x383263._0x48192b,_0x383263._0x48192b))/0x6+parseInt(_0x547459(-0x46,-0x45,-0x49,-0x45))/0x7+parseInt(_0x547459(-_0x383263._0x3d398a,-_0x383263._0x4c4e0a,-0x45,-0x47))/0x8+-parseInt(_0x547459(-0x44,-0x45,-0x48,-_0x383263._0x2bf6e5))/0x9;if(_0x458e8e===_0x1bfa38)break;else _0x5a7361['push'](_0x5a7361['shift']());}catch(_0x30d074){_0x5a7361['push'](_0x5a7361['shift']());}}}(_0x7d3c,0x3e099));import{mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig}from'../chunk-NYZR4XKO.js';function _0x7d3c(){var _0x229a8b=['mJyYnZe4r0vcu1nV','mtGYntmYme9YANLHAa','mZqYmtu4nhHIz3f4zq','mtK2mdm4u3jztMDU','nJy4y0fMrgDg','mJa5mZiWog1zugPhvG','ouj0u1DzDW','mte3mdvLEvfyt1C','mZa3nda4oe1dC0H2Ba'];_0x7d3c=function(){return _0x229a8b;};return _0x7d3c();}import{TurnFailedError}from'../chunk-FFIZ6TKW.js';function _0x12d9(_0x3bdc7b,_0x247a58){_0x3bdc7b=_0x3bdc7b-0x1a0;var _0x7d3c55=_0x7d3c();var _0x12d959=_0x7d3c55[_0x3bdc7b];if(_0x12d9['PcldTZ']===undefined){var _0x2c1356=function(_0x411296){var _0x4249c6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x105669='',_0x170a80='';for(var _0x4b46b1=0x0,_0xb02cb7,_0x506b1b,_0x4826fb=0x0;_0x506b1b=_0x411296['charAt'](_0x4826fb++);~_0x506b1b&&(_0xb02cb7=_0x4b46b1%0x4?_0xb02cb7*0x40+_0x506b1b:_0x506b1b,_0x4b46b1++%0x4)?_0x105669+=String['fromCharCode'](0xff&_0xb02cb7>>(-0x2*_0x4b46b1&0x6)):0x0){_0x506b1b=_0x4249c6['indexOf'](_0x506b1b);}for(var _0x53bd23=0x0,_0x14d96e=_0x105669['length'];_0x53bd23<_0x14d96e;_0x53bd23++){_0x170a80+='%'+('00'+_0x105669['charCodeAt'](_0x53bd23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x170a80);};_0x12d9['VKHuYF']=_0x2c1356,_0x12d9['FQDIgu']={},_0x12d9['PcldTZ']=!![];}var _0x568125=_0x7d3c55[0x0],_0x3f6a27=_0x3bdc7b+_0x568125,_0x468091=_0x12d9['FQDIgu'][_0x3f6a27];return!_0x468091?(_0x12d959=_0x12d9['VKHuYF'](_0x12d959),_0x12d9['FQDIgu'][_0x3f6a27]=_0x12d959):_0x12d959=_0x468091,_0x12d959;}import{OperationAbortedError,addAbortListener,isAbortError,throwIfAborted,toAbortError}from'../chunk-X7VAACWY.js';export{OperationAbortedError,TurnFailedError,addAbortListener,isAbortError,mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig,throwIfAborted,toAbortError};
@@ -0,0 +1,5 @@
1
+ import type { AnthropicThinkingConfig, AutoReasoningEffort, OpenAiReasoningConfig, ReasoningConfig } from "./types.ts";
2
+ export declare function mapAutoReasoningEffortToBudgetTokens(effort: AutoReasoningEffort): number;
3
+ export declare function resolveAnthropicThinkingConfig(reasoning: ReasoningConfig | undefined): AnthropicThinkingConfig | undefined;
4
+ export declare function resolveOpenAiReasoningConfig(reasoning: ReasoningConfig | undefined): OpenAiReasoningConfig | undefined;
5
+ //# sourceMappingURL=reasoning-config.d.ts.map
@@ -0,0 +1,6 @@
1
+ import type { TurnState } from "./types.ts";
2
+ export declare class TurnFailedError extends Error {
3
+ readonly state: TurnState;
4
+ constructor(cause: unknown, state: TurnState);
5
+ }
6
+ //# sourceMappingURL=turn-failed.d.ts.map