ai.matey.wrapper 0.2.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 (63) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/anthropic-sdk.js +203 -0
  3. package/dist/cjs/anthropic-sdk.js.map +1 -0
  4. package/dist/cjs/anymethod.js +167 -0
  5. package/dist/cjs/anymethod.js.map +1 -0
  6. package/dist/cjs/chat.js +513 -0
  7. package/dist/cjs/chat.js.map +1 -0
  8. package/dist/cjs/chrome-ai-legacy.js +168 -0
  9. package/dist/cjs/chrome-ai-legacy.js.map +1 -0
  10. package/dist/cjs/chrome-ai.js +156 -0
  11. package/dist/cjs/chrome-ai.js.map +1 -0
  12. package/dist/cjs/index.js +58 -0
  13. package/dist/cjs/index.js.map +1 -0
  14. package/dist/cjs/ir-index.js +52 -0
  15. package/dist/cjs/ir-index.js.map +1 -0
  16. package/dist/cjs/openai-sdk.js +221 -0
  17. package/dist/cjs/openai-sdk.js.map +1 -0
  18. package/dist/cjs/stream-utils.js +21 -0
  19. package/dist/cjs/stream-utils.js.map +1 -0
  20. package/dist/cjs/types.js +10 -0
  21. package/dist/cjs/types.js.map +1 -0
  22. package/dist/esm/anthropic-sdk.js +196 -0
  23. package/dist/esm/anthropic-sdk.js.map +1 -0
  24. package/dist/esm/anymethod.js +161 -0
  25. package/dist/esm/anymethod.js.map +1 -0
  26. package/dist/esm/chat.js +508 -0
  27. package/dist/esm/chat.js.map +1 -0
  28. package/dist/esm/chrome-ai-legacy.js +163 -0
  29. package/dist/esm/chrome-ai-legacy.js.map +1 -0
  30. package/dist/esm/chrome-ai.js +152 -0
  31. package/dist/esm/chrome-ai.js.map +1 -0
  32. package/dist/esm/index.js +22 -0
  33. package/dist/esm/index.js.map +1 -0
  34. package/dist/esm/ir-index.js +41 -0
  35. package/dist/esm/ir-index.js.map +1 -0
  36. package/dist/esm/openai-sdk.js +213 -0
  37. package/dist/esm/openai-sdk.js.map +1 -0
  38. package/dist/esm/stream-utils.js +14 -0
  39. package/dist/esm/stream-utils.js.map +1 -0
  40. package/dist/esm/types.js +9 -0
  41. package/dist/esm/types.js.map +1 -0
  42. package/dist/types/anthropic-sdk.d.ts +154 -0
  43. package/dist/types/anthropic-sdk.d.ts.map +1 -0
  44. package/dist/types/anymethod.d.ts +45 -0
  45. package/dist/types/anymethod.d.ts.map +1 -0
  46. package/dist/types/chat.d.ts +144 -0
  47. package/dist/types/chat.d.ts.map +1 -0
  48. package/dist/types/chrome-ai-legacy.d.ts +44 -0
  49. package/dist/types/chrome-ai-legacy.d.ts.map +1 -0
  50. package/dist/types/chrome-ai.d.ts +38 -0
  51. package/dist/types/chrome-ai.d.ts.map +1 -0
  52. package/dist/types/index.d.ts +20 -0
  53. package/dist/types/index.d.ts.map +1 -0
  54. package/dist/types/ir-index.d.ts +41 -0
  55. package/dist/types/ir-index.d.ts.map +1 -0
  56. package/dist/types/openai-sdk.d.ts +183 -0
  57. package/dist/types/openai-sdk.d.ts.map +1 -0
  58. package/dist/types/stream-utils.d.ts +9 -0
  59. package/dist/types/stream-utils.d.ts.map +1 -0
  60. package/dist/types/types.d.ts +232 -0
  61. package/dist/types/types.d.ts.map +1 -0
  62. package/package.json +132 -0
  63. package/readme.md +92 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome-ai-legacy.js","sourceRoot":"","sources":["../../src/chrome-ai-legacy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * Chrome AI Language Model Wrapper
3
+ *
4
+ * Mimics the Chrome AI (window.ai.languageModel) API using any backend adapter.
5
+ *
6
+ * @module
7
+ */
8
+ // ============================================================================
9
+ // Session Implementation
10
+ // ============================================================================
11
+ class ChromeAISessionImpl {
12
+ backend;
13
+ conversationHistory;
14
+ options;
15
+ destroyed = false;
16
+ constructor(backend, options) {
17
+ this.backend = backend;
18
+ this.options = options;
19
+ this.conversationHistory =
20
+ options.initialPrompts?.map((prompt) => ({
21
+ role: prompt.role,
22
+ content: prompt.content,
23
+ })) || [];
24
+ }
25
+ async prompt(input) {
26
+ if (this.destroyed) {
27
+ throw new Error('Session has been destroyed');
28
+ }
29
+ const userMessage = { role: 'user', content: input };
30
+ this.conversationHistory.push(userMessage);
31
+ const request = {
32
+ messages: [...this.conversationHistory],
33
+ parameters: {
34
+ model: this.options.model,
35
+ temperature: this.options.temperature,
36
+ topK: this.options.topK,
37
+ topP: this.options.topP,
38
+ maxTokens: this.options.maxTokens,
39
+ },
40
+ stream: false,
41
+ metadata: {
42
+ requestId: crypto.randomUUID(),
43
+ timestamp: Date.now(),
44
+ provenance: { frontend: 'chrome-ai-wrapper' },
45
+ },
46
+ };
47
+ const response = await this.backend.execute(request);
48
+ this.conversationHistory.push(response.message);
49
+ return typeof response.message.content === 'string'
50
+ ? response.message.content
51
+ : response.message.content.map((c) => (c.type === 'text' ? c.text : '')).join('');
52
+ }
53
+ promptStreaming(input) {
54
+ if (this.destroyed) {
55
+ throw new Error('Session has been destroyed');
56
+ }
57
+ const userMessage = { role: 'user', content: input };
58
+ this.conversationHistory.push(userMessage);
59
+ const streamMode = this.options.streamMode || 'accumulated';
60
+ const request = {
61
+ messages: [...this.conversationHistory],
62
+ parameters: {
63
+ model: this.options.model,
64
+ temperature: this.options.temperature,
65
+ topK: this.options.topK,
66
+ topP: this.options.topP,
67
+ maxTokens: this.options.maxTokens,
68
+ },
69
+ stream: true,
70
+ streamMode,
71
+ metadata: {
72
+ requestId: crypto.randomUUID(),
73
+ timestamp: Date.now(),
74
+ provenance: { frontend: 'chrome-ai-wrapper' },
75
+ },
76
+ };
77
+ const backend = this.backend;
78
+ const conversationHistory = this.conversationHistory;
79
+ let contentBuffer = '';
80
+ return new ReadableStream({
81
+ async start(controller) {
82
+ try {
83
+ const stream = backend.executeStream(request);
84
+ for await (const chunk of stream) {
85
+ if (chunk.type === 'content') {
86
+ contentBuffer += chunk.delta;
87
+ if (streamMode === 'delta') {
88
+ controller.enqueue(chunk.delta);
89
+ }
90
+ else {
91
+ controller.enqueue(contentBuffer);
92
+ }
93
+ }
94
+ else if (chunk.type === 'done') {
95
+ if (chunk.message) {
96
+ conversationHistory.push(chunk.message);
97
+ }
98
+ controller.close();
99
+ }
100
+ else if (chunk.type === 'error') {
101
+ controller.error(new Error(chunk.error.message));
102
+ }
103
+ }
104
+ }
105
+ catch (error) {
106
+ controller.error(error);
107
+ }
108
+ },
109
+ });
110
+ }
111
+ destroy() {
112
+ this.destroyed = true;
113
+ this.conversationHistory = [];
114
+ }
115
+ clone() {
116
+ return new ChromeAISessionImpl(this.backend, {
117
+ ...this.options,
118
+ initialPrompts: this.conversationHistory
119
+ .filter((msg) => msg.role === 'system')
120
+ .map((msg) => ({
121
+ role: msg.role,
122
+ content: typeof msg.content === 'string' ? msg.content : '',
123
+ })),
124
+ });
125
+ }
126
+ }
127
+ // ============================================================================
128
+ // Language Model Implementation
129
+ // ============================================================================
130
+ export function ChromeAILanguageModel(backend, defaultOptions = {}) {
131
+ return {
132
+ create(options = {}) {
133
+ const mergedOptions = {
134
+ ...defaultOptions,
135
+ ...options,
136
+ initialPrompts: [
137
+ ...(defaultOptions.initialPrompts || []),
138
+ ...(options.initialPrompts || []),
139
+ ],
140
+ };
141
+ return new ChromeAISessionImpl(backend, mergedOptions);
142
+ },
143
+ async capabilities() {
144
+ const isHealthy = backend.healthCheck ? await backend.healthCheck() : true;
145
+ return { available: isHealthy ? 'readily' : 'no' };
146
+ },
147
+ };
148
+ }
149
+ export function createChromeAILanguageModel(backend) {
150
+ return { languageModel: ChromeAILanguageModel(backend) };
151
+ }
152
+ //# sourceMappingURL=chrome-ai.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome-ai.js","sourceRoot":"","sources":["../../src/chrome-ai.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * AI Matey Wrappers
3
+ *
4
+ * Consolidated package containing SDK wrappers and IR utilities.
5
+ * These wrappers allow using provider SDK patterns with any backend.
6
+ *
7
+ * @module ai.matey.wrapper
8
+ */
9
+ // OpenAI SDK Wrapper - namespaced exports
10
+ export { OpenAI, OpenAIClient, ChatCompletions, ChatCompletions as OpenAIChatCompletions, Chat as OpenAIChat, Models as OpenAIModels, } from './openai-sdk.js';
11
+ // Anthropic SDK Wrapper - namespaced exports
12
+ export { Anthropic, AnthropicClient, Messages, Messages as AnthropicMessages, Models as AnthropicModels, } from './anthropic-sdk.js';
13
+ // AnyMethod wrapper
14
+ export * from './anymethod.js';
15
+ // Chrome AI Wrappers
16
+ export * from './chrome-ai.js';
17
+ export * from './chrome-ai-legacy.js';
18
+ // IR Chat utilities (primary Chat export)
19
+ export { Chat, createChat } from './chat.js';
20
+ // Stream utilities
21
+ export { collectStream, processStream, streamToText, streamToLines, throttleStream, teeStream, } from './stream-utils.js';
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0CAA0C;AAC1C,OAAO,EACL,MAAM,EACN,YAAY,EACZ,eAAe,EACf,eAAe,IAAI,qBAAqB,EACxC,IAAI,IAAI,UAAU,EAClB,MAAM,IAAI,YAAY,GACvB,MAAM,iBAAiB,CAAC;AAUzB,6CAA6C;AAC7C,OAAO,EACL,SAAS,EACT,eAAe,EACf,QAAQ,EACR,QAAQ,IAAI,iBAAiB,EAC7B,MAAM,IAAI,eAAe,GAC1B,MAAM,oBAAoB,CAAC;AAS5B,oBAAoB;AACpB,cAAc,gBAAgB,CAAC;AAE/B,qBAAqB;AACrB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,uBAAuB,CAAC;AAEtC,0CAA0C;AAC1C,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAgB7C,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,GACV,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ai.matey.wrapper/ir
3
+ *
4
+ * IR-native chat wrapper for the AI Matey universal adapter system.
5
+ *
6
+ * This package provides a chat client that works directly with the
7
+ * IR (Intermediate Representation) format.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * import { createChat } from 'ai.matey.wrapper/ir';
12
+ * import { AnthropicBackend } from 'ai.matey.backend/anthropic';
13
+ *
14
+ * const chat = createChat({
15
+ * backend: new AnthropicBackend({ apiKey: process.env.ANTHROPIC_API_KEY }),
16
+ * systemPrompt: 'You are a helpful assistant.',
17
+ * });
18
+ *
19
+ * // Non-streaming
20
+ * const response = await chat.send('Hello!');
21
+ * console.log(response.content);
22
+ *
23
+ * // Streaming with callbacks
24
+ * await chat.stream('Tell me a story', {
25
+ * onChunk: ({ delta }) => process.stdout.write(delta),
26
+ * });
27
+ *
28
+ * // Or use stream utilities directly
29
+ * const stream = backend.executeStream(request);
30
+ * for await (const text of streamToText(stream)) {
31
+ * process.stdout.write(text);
32
+ * }
33
+ * ```
34
+ *
35
+ * @module
36
+ */
37
+ // Core chat client
38
+ export { Chat, createChat } from './chat.js';
39
+ // Stream utilities
40
+ export { collectStream, processStream, streamToText, streamToLines, throttleStream, teeStream, } from './stream-utils.js';
41
+ //# sourceMappingURL=ir-index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ir-index.js","sourceRoot":"","sources":["../../src/ir-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,mBAAmB;AACnB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAE7C,mBAAmB;AACnB,OAAO,EACL,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,EACd,SAAS,GACV,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,213 @@
1
+ /**
2
+ * OpenAI SDK Wrapper
3
+ *
4
+ * Mimics the OpenAI SDK interface using any backend adapter.
5
+ * Allows you to use OpenAI SDK-style code with any provider.
6
+ *
7
+ * Uses the OpenAI Frontend Adapter internally for format conversions.
8
+ *
9
+ * @module
10
+ */
11
+ import { OpenAIFrontendAdapter } from 'ai.matey.frontend';
12
+ // ============================================================================
13
+ // OpenAI SDK Wrapper Implementation
14
+ // ============================================================================
15
+ /**
16
+ * Chat completions interface (mimics OpenAI SDK).
17
+ */
18
+ export class ChatCompletions {
19
+ backend;
20
+ config;
21
+ adapter;
22
+ constructor(backend, config = {}) {
23
+ this.backend = backend;
24
+ this.config = config;
25
+ this.adapter = new OpenAIFrontendAdapter();
26
+ }
27
+ /**
28
+ * Create a chat completion.
29
+ */
30
+ create(params) {
31
+ if (params.stream) {
32
+ return this.createStream(params);
33
+ }
34
+ return this.createNonStream(params);
35
+ }
36
+ async createNonStream(params) {
37
+ // Convert params to OpenAI request format
38
+ const request = {
39
+ model: params.model,
40
+ messages: params.messages,
41
+ temperature: params.temperature,
42
+ max_tokens: params.max_tokens,
43
+ top_p: params.top_p,
44
+ frequency_penalty: params.frequency_penalty,
45
+ presence_penalty: params.presence_penalty,
46
+ stop: params.stop,
47
+ stream: false,
48
+ user: params.user,
49
+ seed: params.seed,
50
+ };
51
+ // Use frontend adapter to convert to IR
52
+ const irRequest = await this.adapter.toIR(request);
53
+ // Execute via backend
54
+ const irResponse = await this.backend.execute(irRequest);
55
+ // Use frontend adapter to convert back to OpenAI format
56
+ const openaiResponse = await this.adapter.fromIR(irResponse);
57
+ // Return in SDK-style format
58
+ return {
59
+ id: openaiResponse.id,
60
+ object: 'chat.completion',
61
+ created: openaiResponse.created,
62
+ model: openaiResponse.model,
63
+ choices: openaiResponse.choices.map((choice) => ({
64
+ index: choice.index,
65
+ message: choice.message,
66
+ finish_reason: choice.finish_reason,
67
+ })),
68
+ usage: openaiResponse.usage ?? {
69
+ prompt_tokens: 0,
70
+ completion_tokens: 0,
71
+ total_tokens: 0,
72
+ },
73
+ };
74
+ }
75
+ async *createStream(params) {
76
+ // Convert params to OpenAI request format
77
+ const request = {
78
+ model: params.model,
79
+ messages: params.messages,
80
+ temperature: params.temperature,
81
+ max_tokens: params.max_tokens,
82
+ top_p: params.top_p,
83
+ frequency_penalty: params.frequency_penalty,
84
+ presence_penalty: params.presence_penalty,
85
+ stop: params.stop,
86
+ stream: true,
87
+ user: params.user,
88
+ seed: params.seed,
89
+ };
90
+ // Use frontend adapter to convert to IR
91
+ let irRequest = await this.adapter.toIR(request);
92
+ // Add stream mode if configured
93
+ if (this.config.streamMode) {
94
+ irRequest = { ...irRequest, streamMode: this.config.streamMode };
95
+ }
96
+ // Execute streaming via backend
97
+ const irStream = this.backend.executeStream(irRequest);
98
+ // Use frontend adapter to convert stream
99
+ for await (const chunk of this.adapter.fromIRStream(irStream)) {
100
+ // Convert to SDK-style chunk
101
+ yield {
102
+ id: chunk.id,
103
+ object: 'chat.completion.chunk',
104
+ created: chunk.created,
105
+ model: chunk.model,
106
+ choices: chunk.choices.map((choice) => ({
107
+ index: choice.index,
108
+ delta: {
109
+ role: choice.delta.role,
110
+ content: choice.delta.content,
111
+ },
112
+ finish_reason: choice.finish_reason,
113
+ })),
114
+ };
115
+ }
116
+ }
117
+ }
118
+ /**
119
+ * Models interface (mimics OpenAI SDK).
120
+ */
121
+ export class Models {
122
+ backend;
123
+ constructor(backend) {
124
+ this.backend = backend;
125
+ }
126
+ /**
127
+ * List available models.
128
+ */
129
+ async list(options) {
130
+ if (!this.backend.listModels) {
131
+ return { object: 'list', data: [] };
132
+ }
133
+ const result = await this.backend.listModels(options);
134
+ const data = result.models.map((model) => ({
135
+ id: model.id,
136
+ object: 'model',
137
+ created: model.created
138
+ ? new Date(model.created).getTime() / 1000
139
+ : Math.floor(result.fetchedAt / 1000),
140
+ owned_by: model.ownedBy || 'unknown',
141
+ }));
142
+ return { object: 'list', data };
143
+ }
144
+ /**
145
+ * Retrieve information about a specific model.
146
+ */
147
+ async retrieve(modelId) {
148
+ if (!this.backend.listModels) {
149
+ return null;
150
+ }
151
+ const result = await this.backend.listModels();
152
+ const model = result.models.find((m) => m.id === modelId);
153
+ if (!model) {
154
+ return null;
155
+ }
156
+ return {
157
+ id: model.id,
158
+ object: 'model',
159
+ created: model.created
160
+ ? new Date(model.created).getTime() / 1000
161
+ : Math.floor(result.fetchedAt / 1000),
162
+ owned_by: model.ownedBy || 'unknown',
163
+ };
164
+ }
165
+ }
166
+ /**
167
+ * Chat interface (mimics OpenAI SDK).
168
+ */
169
+ export class Chat {
170
+ completions;
171
+ constructor(backend, config = {}) {
172
+ this.completions = new ChatCompletions(backend, config);
173
+ }
174
+ }
175
+ /**
176
+ * OpenAI SDK-compatible client.
177
+ */
178
+ export class OpenAIClient {
179
+ chat;
180
+ models;
181
+ constructor(backend, config = {}) {
182
+ this.chat = new Chat(backend, config);
183
+ this.models = new Models(backend);
184
+ }
185
+ }
186
+ // ============================================================================
187
+ // Factory Function
188
+ // ============================================================================
189
+ /**
190
+ * Create an OpenAI SDK-compatible client using any backend adapter.
191
+ *
192
+ * @example
193
+ * ```typescript
194
+ * import { OpenAI } from 'ai.matey.wrapper/openai';
195
+ * import { AnthropicBackendAdapter } from 'ai.matey.backend/anthropic';
196
+ *
197
+ * const backend = new AnthropicBackendAdapter({ apiKey: 'sk-ant-...' });
198
+ * const client = OpenAI(backend);
199
+ *
200
+ * const completion = await client.chat.completions.create({
201
+ * model: 'claude-3-5-sonnet',
202
+ * messages: [
203
+ * { role: 'user', content: 'Hello!' }
204
+ * ],
205
+ * });
206
+ *
207
+ * console.log(completion.choices[0].message.content);
208
+ * ```
209
+ */
210
+ export function OpenAI(backend, config) {
211
+ return new OpenAIClient(backend, config);
212
+ }
213
+ //# sourceMappingURL=openai-sdk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openai-sdk.js","sourceRoot":"","sources":["../../src/openai-sdk.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Stream Utilities
3
+ *
4
+ * Re-exports stream utilities from ai.matey.utils.
5
+ *
6
+ * @module
7
+ */
8
+ // Re-export stream utilities from ai.matey.utils
9
+ export {
10
+ // High-level utilities
11
+ collectStreamFull as collectStream, processStream, streamToLines, throttleStream, teeStream,
12
+ // Basic utilities (streamToTextIterator provides generator behavior with error handling)
13
+ streamToTextIterator as streamToText, } from 'ai.matey.utils';
14
+ //# sourceMappingURL=stream-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream-utils.js","sourceRoot":"","sources":["../../src/stream-utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,iDAAiD;AACjD,OAAO;AACL,uBAAuB;AACvB,iBAAiB,IAAI,aAAa,EAClC,aAAa,EACb,aAAa,EACb,cAAc,EACd,SAAS;AAET,yFAAyF;AACzF,oBAAoB,IAAI,YAAY,GAKrC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Headless Chat Client Types
3
+ *
4
+ * Type definitions for the framework-agnostic chat client.
5
+ *
6
+ * @module
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG"}
@@ -0,0 +1,154 @@
1
+ /**
2
+ * Anthropic SDK Wrapper
3
+ *
4
+ * Mimics the Anthropic SDK interface using any backend adapter.
5
+ * Allows you to use Anthropic SDK-style code with any provider.
6
+ *
7
+ * Uses the Anthropic Frontend Adapter internally for format conversions.
8
+ *
9
+ * @module
10
+ */
11
+ import type { BackendAdapter, StreamMode, ListModelsOptions } from 'ai.matey.types';
12
+ import { type AnthropicStreamEvent, type AnthropicContentBlock } from 'ai.matey.frontend';
13
+ export type { AnthropicRequest, AnthropicResponse, AnthropicStreamEvent, AnthropicMessage, AnthropicContentBlock, } from 'ai.matey.frontend';
14
+ /**
15
+ * Anthropic SDK message (alias).
16
+ */
17
+ export interface AnthropicSDKMessage {
18
+ role: 'user' | 'assistant';
19
+ content: string | AnthropicContentBlock[];
20
+ }
21
+ /**
22
+ * Anthropic message parameters (SDK style).
23
+ */
24
+ export interface AnthropicMessageParams {
25
+ model: string;
26
+ messages: AnthropicSDKMessage[];
27
+ max_tokens: number;
28
+ system?: string;
29
+ temperature?: number;
30
+ top_p?: number;
31
+ top_k?: number;
32
+ stop_sequences?: string[];
33
+ stream?: boolean;
34
+ metadata?: {
35
+ user_id?: string;
36
+ };
37
+ }
38
+ /**
39
+ * Anthropic SDK usage information.
40
+ */
41
+ export interface AnthropicSDKUsage {
42
+ input_tokens: number;
43
+ output_tokens: number;
44
+ }
45
+ /**
46
+ * Anthropic SDK message response.
47
+ */
48
+ export interface AnthropicSDKMessageResponse {
49
+ id: string;
50
+ type: 'message';
51
+ role: 'assistant';
52
+ content: AnthropicContentBlock[];
53
+ model: string;
54
+ stop_reason: 'end_turn' | 'max_tokens' | 'stop_sequence' | 'tool_use' | null;
55
+ stop_sequence: string | null;
56
+ usage: AnthropicSDKUsage;
57
+ }
58
+ /**
59
+ * Anthropic Model object.
60
+ */
61
+ export interface AnthropicModel {
62
+ id: string;
63
+ display_name: string;
64
+ created_at: string;
65
+ }
66
+ /**
67
+ * Anthropic Models response.
68
+ */
69
+ export interface AnthropicModelsResponse {
70
+ data: AnthropicModel[];
71
+ has_more: boolean;
72
+ first_id: string | null;
73
+ last_id: string | null;
74
+ }
75
+ /**
76
+ * Anthropic SDK wrapper configuration.
77
+ */
78
+ export interface AnthropicSDKConfig {
79
+ /**
80
+ * Streaming mode for stream responses.
81
+ * @default 'delta'
82
+ */
83
+ streamMode?: StreamMode;
84
+ }
85
+ /**
86
+ * Messages interface (mimics Anthropic SDK).
87
+ */
88
+ export declare class Messages {
89
+ private backend;
90
+ private config;
91
+ private adapter;
92
+ constructor(backend: BackendAdapter, config?: AnthropicSDKConfig);
93
+ /**
94
+ * Create a message (non-streaming).
95
+ */
96
+ create(params: AnthropicMessageParams & {
97
+ stream?: false | undefined;
98
+ }): Promise<AnthropicSDKMessageResponse>;
99
+ /**
100
+ * Create a message (streaming).
101
+ */
102
+ create(params: AnthropicMessageParams & {
103
+ stream: true;
104
+ }): AsyncIterable<AnthropicStreamEvent>;
105
+ private createNonStream;
106
+ private createStream;
107
+ }
108
+ /**
109
+ * Models interface (mimics Anthropic SDK).
110
+ */
111
+ export declare class Models {
112
+ private backend;
113
+ constructor(backend: BackendAdapter);
114
+ /**
115
+ * List available models.
116
+ */
117
+ list(options?: ListModelsOptions): Promise<AnthropicModelsResponse>;
118
+ /**
119
+ * Retrieve information about a specific model.
120
+ */
121
+ retrieve(modelId: string): Promise<AnthropicModel | null>;
122
+ }
123
+ /**
124
+ * Anthropic SDK-compatible client.
125
+ */
126
+ export declare class AnthropicClient {
127
+ readonly messages: Messages;
128
+ readonly models: Models;
129
+ constructor(backend: BackendAdapter, config?: AnthropicSDKConfig);
130
+ }
131
+ /**
132
+ * Create an Anthropic SDK-compatible client using any backend adapter.
133
+ *
134
+ * @example
135
+ * ```typescript
136
+ * import { Anthropic } from 'ai.matey.wrapper/anthropic';
137
+ * import { OpenAIBackendAdapter } from 'ai.matey.backend/openai';
138
+ *
139
+ * const backend = new OpenAIBackendAdapter({ apiKey: 'sk-...' });
140
+ * const client = Anthropic(backend);
141
+ *
142
+ * const message = await client.messages.create({
143
+ * model: 'gpt-4',
144
+ * max_tokens: 1024,
145
+ * messages: [
146
+ * { role: 'user', content: 'Hello!' }
147
+ * ],
148
+ * });
149
+ *
150
+ * console.log(message.content[0].text);
151
+ * ```
152
+ */
153
+ export declare function Anthropic(backend: BackendAdapter, config?: AnthropicSDKConfig): AnthropicClient;
154
+ //# sourceMappingURL=anthropic-sdk.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anthropic-sdk.d.ts","sourceRoot":"","sources":["../../src/anthropic-sdk.ts"],"names":[],"mappings":"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"}