@nuvin/agent-core 0.0.0-rc.8 → 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 -348
  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-mpqTRf_e.d.ts → shared/types.d.ts} +186 -167
  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-4DNIDCX7.js +0 -1
  89. package/dist/chunk-G2FR4UGO.js +0 -1
  90. package/dist/chunk-KVFXQ7HW.js +0 -1
  91. package/dist/provider-adapters-BGVEzrOK.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-mpqTRf_e.js';
2
- export { aQ as AgentAssistantChunkEvent, aP as AgentAssistantMessageEvent, bk as AgentDefinition, bj 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, bi 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, bs as CreateManagedRunInput, au as DoneChunk, E as EngineChatModel, bc as ExtensionContext, bh as ExtensionRegistration, 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, bn as ManagedAgentRun, bo as ManagedAgentRunHandle, bm as ManagedRunError, bp as ManagedRunEvent, bq as ManagedRunEventHandler, bl 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, be as Observer, bg as ObserverExtensionRegistration, bw as OpenAiFunctionCall, bx as OpenAiFunctionCallOutput, bE as OpenAiFunctionTool, bu as OpenAiInputImage, bv as OpenAiInputMessage, bt as OpenAiInputText, bA as OpenAiOutputMessage, by as OpenAiOutputTextPart, a4 as OpenAiReasoningBlock, ar as OpenAiReasoningDeltaChunk, af as OpenAiReasoningEffort, bB as OpenAiReasoningOutputItem, ag as OpenAiReasoningSummary, as as OpenAiReasoningSummaryDeltaChunk, a3 as OpenAiReasoningSummaryText, bz as OpenAiRefusalPart, bC as OpenAiResponsesOutputItem, bD as OpenAiResponsesReasoningParam, O as OpenAiResponsesRequest, bb 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, br as RuntimeManagerOptions, ba 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, bd as Transformer, bf as TransformerExtensionRegistration, e as TurnInput, T as TurnResult, ay as TurnResultStatus, f as TurnState, am as Usage } from '../types-mpqTRf_e.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(_0x375263,_0x3f0f83){var _0x2ad27a={_0x3cdd86:0x51b,_0x3ffeb1:0x516,_0x2f5f11:0x59b,_0x11bc34:0x59a,_0x114c22:0x51a,_0x467f97:0x595,_0xc6c999:0x595,_0x3ff8d0:0x598,_0x3fa1ab:0x513,_0xee690e:0x515,_0x4dcbd3:0x518,_0x55808d:0x517,_0x497ba7:0x592,_0x1ba135:0x599,_0x148e58:0x51d,_0x559ff9:0x51d,_0x256e7d:0x51c,_0x197240:0x598,_0x10f7df:0x50f,_0x2e76c2:0x511},_0x3f0cfe={_0xe078f3:0x3c8},_0x4de389=_0x375263();function _0x29f722(_0x2548e9,_0x5d26d3,_0x1887f4,_0x35ce88){return _0x5303(_0x5d26d3-_0x3f0cfe._0xe078f3,_0x1887f4);}function _0x11b6f0(_0x140e4b,_0x492af0,_0xf44c6d,_0x21d9fc){return _0x5303(_0x21d9fc-0x347,_0x140e4b);}while(!![]){try{var _0xb9ac3a=parseInt(_0x11b6f0(0x514,_0x2ad27a._0x3cdd86,0x515,_0x2ad27a._0x3ffeb1))/0x1*(-parseInt(_0x29f722(_0x2ad27a._0x2f5f11,_0x2ad27a._0x11bc34,0x5a0,0x59b))/0x2)+parseInt(_0x11b6f0(0x518,_0x2ad27a._0x114c22,0x51e,0x51a))/0x3*(parseInt(_0x29f722(_0x2ad27a._0x467f97,_0x2ad27a._0xc6c999,0x595,_0x2ad27a._0x3ff8d0))/0x4)+parseInt(_0x11b6f0(0x51b,0x511,_0x2ad27a._0x3fa1ab,_0x2ad27a._0xee690e))/0x5+-parseInt(_0x11b6f0(_0x2ad27a._0x4dcbd3,_0x2ad27a._0x55808d,0x50f,0x512))/0x6*(-parseInt(_0x29f722(0x59c,0x598,_0x2ad27a._0x497ba7,_0x2ad27a._0x1ba135))/0x7)+parseInt(_0x11b6f0(_0x2ad27a._0x148e58,0x51a,_0x2ad27a._0x559ff9,_0x2ad27a._0x256e7d))/0x8*(parseInt(_0x29f722(_0x2ad27a._0x1ba135,_0x2ad27a._0x1ba135,_0x2ad27a._0x197240,0x59c))/0x9)+parseInt(_0x11b6f0(_0x2ad27a._0x10f7df,_0x2ad27a._0x3ffeb1,_0x2ad27a._0x2e76c2,0x513))/0xa+-parseInt(_0x29f722(0x59e,0x59c,0x597,0x59c))/0xb;if(_0xb9ac3a===_0x3f0f83)break;else _0x4de389['push'](_0x4de389['shift']());}catch(_0x450351){_0x4de389['push'](_0x4de389['shift']());}}}(_0x30db,0x1b012));function _0x5303(_0x338e9e,_0xb63432){_0x338e9e=_0x338e9e-0x1cb;var _0x30db97=_0x30db();var _0x530351=_0x30db97[_0x338e9e];if(_0x5303['rLtrOo']===undefined){var _0x2f42d2=function(_0xbbe0b){var _0xaebdad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1223f2='',_0x19b08d='';for(var _0x333a8d=0x0,_0x5689bd,_0x498a6b,_0x47fad9=0x0;_0x498a6b=_0xbbe0b['charAt'](_0x47fad9++);~_0x498a6b&&(_0x5689bd=_0x333a8d%0x4?_0x5689bd*0x40+_0x498a6b:_0x498a6b,_0x333a8d++%0x4)?_0x1223f2+=String['fromCharCode'](0xff&_0x5689bd>>(-0x2*_0x333a8d&0x6)):0x0){_0x498a6b=_0xaebdad['indexOf'](_0x498a6b);}for(var _0x5732ec=0x0,_0x5080e4=_0x1223f2['length'];_0x5732ec<_0x5080e4;_0x5732ec++){_0x19b08d+='%'+('00'+_0x1223f2['charCodeAt'](_0x5732ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19b08d);};_0x5303['IrXMPL']=_0x2f42d2,_0x5303['BoBhBh']={},_0x5303['rLtrOo']=!![];}var _0x5e4ead=_0x30db97[0x0],_0x14c56b=_0x338e9e+_0x5e4ead,_0x556931=_0x5303['BoBhBh'][_0x14c56b];return!_0x556931?(_0x530351=_0x5303['IrXMPL'](_0x530351),_0x5303['BoBhBh'][_0x14c56b]=_0x530351):_0x530351=_0x556931,_0x530351;}function _0x30db(){var _0x23686d=['ndm5otCZnNDSsfPvrG','mJrUuKncu1y','nNf6qxL0BG','mtGZmZiWmfvTChrgtq','nfvqwe9zCq','otaXmJCWAMXICMTR','ntLUrwTrEKq','odm5nJqZyKLxyvbU','mZm4mtiXzeLOEu9P','mZq2mhbtzgLTrG','ndKYnZHbAgDQCMe'];_0x30db=function(){return _0x23686d;};return _0x30db();}import{mapAutoReasoningEffortToBudgetTokens,resolveAnthropicThinkingConfig,resolveOpenAiReasoningConfig}from'../chunk-NYZR4XKO.js';import{OperationAbortedError,addAbortListener,isAbortError,throwIfAborted,toAbortError}from'../chunk-X7VAACWY.js';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