@nuvin/agent-core 0.0.0-rc.9 → 0.0.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 (91) 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/bash-tool.d.ts +63 -0
  60. package/dist/tools/command-tool.d.ts +23 -0
  61. package/dist/tools/file-edit-tool.d.ts +29 -0
  62. package/dist/tools/file-new-tool.d.ts +21 -0
  63. package/dist/tools/file-read-tool.d.ts +27 -0
  64. package/dist/tools/glob-tool.d.ts +26 -0
  65. package/dist/tools/grep-tool.d.ts +34 -0
  66. package/dist/tools/index.d.ts +28 -773
  67. package/dist/tools/index.js +1 -1
  68. package/dist/tools/internal-tool-runtime.d.ts +8 -0
  69. package/dist/tools/ls-tool.d.ts +20 -0
  70. package/dist/tools/lsp-tool.d.ts +36 -0
  71. package/dist/tools/mcp-oauth-provider.d.ts +11 -0
  72. package/dist/tools/mcp-server-manager.d.ts +43 -0
  73. package/dist/tools/mcp-tool-adapter.d.ts +47 -0
  74. package/dist/tools/mock-tool-runtime.d.ts +3 -0
  75. package/dist/tools/ripgrep.d.ts +20 -0
  76. package/dist/tools/runtime-manager-tools.d.ts +58 -0
  77. package/dist/tools/safe-fetch.d.ts +36 -0
  78. package/dist/tools/skill-tool.d.ts +33 -0
  79. package/dist/tools/todo-write-tool.d.ts +66 -0
  80. package/dist/tools/tool-output-offload.d.ts +12 -0
  81. package/dist/tools/tools.d.ts +24 -0
  82. package/dist/tools/update-topic-tool.d.ts +12 -0
  83. package/dist/tools/view-file-tool.d.ts +22 -0
  84. package/dist/tools/web-fetch-tool.d.ts +23 -0
  85. package/dist/tools/web-search-tool.d.ts +75 -0
  86. package/dist/tools/workspace-paths.d.ts +5 -0
  87. package/package.json +6 -2
  88. package/dist/chunk-3QLMAAJY.js +0 -1
  89. package/dist/chunk-4DNIDCX7.js +0 -1
  90. package/dist/chunk-G2FR4UGO.js +0 -1
  91. 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(_0x2cd82a,_0x454dea){var _0x442099={_0x30b1cf:0x2f8,_0x4a1ed8:0x2fc,_0x1a2acb:0x2fa,_0x54f30a:0x248,_0x351893:0x248,_0x5de95b:0x245,_0x152bb3:0x243,_0x2e653:0x23f,_0x547ca7:0x246,_0x2e4a14:0x24a,_0x51fd05:0x247,_0x81594a:0x2f7,_0x582f03:0x2fb,_0x289fe3:0x300,_0x5504cb:0x249,_0x13f5ee:0x303},_0x5e8892={_0x446dbf:0x181},_0x5613d3=_0x2cd82a();function _0x195084(_0x48f541,_0x59df2a,_0x21bb1b,_0x2d2b4d){return _0x2f7b(_0x59df2a-0xcc,_0x48f541);}function _0x1e9e03(_0x152a4c,_0x2e1266,_0x1c116a,_0x180d1e){return _0x2f7b(_0x180d1e-_0x5e8892._0x446dbf,_0x1c116a);}while(!![]){try{var _0x5c52bb=parseInt(_0x1e9e03(_0x442099._0x30b1cf,0x2ff,0x2f6,0x2fa))/0x1+parseInt(_0x1e9e03(_0x442099._0x4a1ed8,0x2f9,_0x442099._0x1a2acb,0x2fc))/0x2*(parseInt(_0x195084(_0x442099._0x54f30a,_0x442099._0x351893,0x24d,_0x442099._0x5de95b))/0x3)+parseInt(_0x1e9e03(_0x442099._0x1a2acb,0x2f7,0x2f6,0x2f8))/0x4*(-parseInt(_0x195084(0x248,0x244,_0x442099._0x152bb3,_0x442099._0x2e653))/0x5)+-parseInt(_0x195084(0x247,_0x442099._0x547ca7,_0x442099._0x2e4a14,_0x442099._0x51fd05))/0x6*(parseInt(_0x1e9e03(0x2f5,0x2f9,0x2f3,_0x442099._0x81594a))/0x7)+parseInt(_0x1e9e03(0x2fe,_0x442099._0x582f03,0x305,_0x442099._0x289fe3))/0x8+-parseInt(_0x195084(0x24d,0x249,0x24e,_0x442099._0x5504cb))/0x9+-parseInt(_0x1e9e03(0x301,_0x442099._0x13f5ee,0x2fd,0x2ff))/0xa;if(_0x5c52bb===_0x454dea)break;else _0x5613d3['push'](_0x5613d3['shift']());}catch(_0x5a27b0){_0x5613d3['push'](_0x5613d3['shift']());}}}(_0x3adc,0x6237c));import{mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig}from'../chunk-NYZR4XKO.js';function _0x2f7b(_0x2bba3a,_0x50aedd){_0x2bba3a=_0x2bba3a-0x176;var _0x3adc84=_0x3adc();var _0x2f7b23=_0x3adc84[_0x2bba3a];if(_0x2f7b['ePFOAF']===undefined){var _0x371c37=function(_0xbff65b){var _0x59219f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x200a0a='',_0x532180='';for(var _0x3e4b2e=0x0,_0x1d7cac,_0x2a442f,_0x5e6b11=0x0;_0x2a442f=_0xbff65b['charAt'](_0x5e6b11++);~_0x2a442f&&(_0x1d7cac=_0x3e4b2e%0x4?_0x1d7cac*0x40+_0x2a442f:_0x2a442f,_0x3e4b2e++%0x4)?_0x200a0a+=String['fromCharCode'](0xff&_0x1d7cac>>(-0x2*_0x3e4b2e&0x6)):0x0){_0x2a442f=_0x59219f['indexOf'](_0x2a442f);}for(var _0xbc7e1b=0x0,_0x2738a3=_0x200a0a['length'];_0xbc7e1b<_0x2738a3;_0xbc7e1b++){_0x532180+='%'+('00'+_0x200a0a['charCodeAt'](_0xbc7e1b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x532180);};_0x2f7b['UFPXgL']=_0x371c37,_0x2f7b['ramQTw']={},_0x2f7b['ePFOAF']=!![];}var _0x41ccbc=_0x3adc84[0x0],_0x230b79=_0x2bba3a+_0x41ccbc,_0x465971=_0x2f7b['ramQTw'][_0x230b79];return!_0x465971?(_0x2f7b23=_0x2f7b['UFPXgL'](_0x2f7b23),_0x2f7b['ramQTw'][_0x230b79]=_0x2f7b23):_0x2f7b23=_0x465971,_0x2f7b23;}import{TurnFailedError}from'../chunk-FFIZ6TKW.js';import{OperationAbortedError,addAbortListener,isAbortError,throwIfAborted,toAbortError}from'../chunk-X7VAACWY.js';export{OperationAbortedError,TurnFailedError,addAbortListener,isAbortError,mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig,throwIfAborted,toAbortError};function _0x3adc(){var _0x144d6d=['mJi2mJqXmhbPweDoEq','nJmWody2neP0u2jgAq','nJqWnta3qKvYq2XA','mtiYodyYofDSAKXKvW','nvbPtMLgBG','ntK4mta0qKfHAgPh','nMH1u0nHsa','ndu2CfzdtxvN','mZi0m1jPBxnMzq','ntq1mZyWneXPBMLyBW'];_0x3adc=function(){return _0x144d6d;};return _0x3adc();}
@@ -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