@stratix/ai-anthropic 0.7.5 → 0.8.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.
@@ -1,81 +1,95 @@
1
1
  import type { LLMProvider, ChatParams, ChatResponse, ChatChunk, EmbeddingParams, EmbeddingResponse } from '@stratix/core';
2
2
  import type { TokenUsage } from '@stratix/core';
3
+ /**
4
+ * Model configuration with optional pricing information
5
+ */
6
+ export interface ModelConfig {
7
+ readonly name: string;
8
+ readonly pricing?: {
9
+ readonly input: number;
10
+ readonly output: number;
11
+ };
12
+ }
13
+ /**
14
+ * Configuration for AnthropicProvider
15
+ */
16
+ export interface AnthropicConfig {
17
+ readonly apiKey: string;
18
+ readonly baseURL?: string;
19
+ readonly models: ModelConfig[];
20
+ }
3
21
  /**
4
22
  * Anthropic provider implementation for Stratix AI Agents.
5
23
  *
24
+ * Requires explicit model configuration - no defaults provided.
6
25
  * Supports Claude 3 models (Opus, Sonnet, Haiku) with tool use and streaming.
7
26
  * Note: Anthropic does not support embeddings.
8
27
  *
9
- * @example Basic chat
28
+ * @example Using predefined model constants
10
29
  * ```typescript
30
+ * import { AnthropicProvider } from '@stratix/ai-anthropic';
31
+ *
11
32
  * const provider = new AnthropicProvider({
12
- * apiKey: process.env.ANTHROPIC_API_KEY!
33
+ * apiKey: process.env.ANTHROPIC_API_KEY!,
34
+ * models: [
35
+ * { name: 'claude-sonnet-4-5-20250929', pricing: { input: 3.0, output: 15.0 } },
36
+ * { name: 'claude-opus-4-5-20251101', pricing: { input: 5.0, output: 25.0 } }
37
+ * ]
13
38
  * });
14
39
  *
15
40
  * const response = await provider.chat({
16
- * model: 'claude-3-5-sonnet-20241022',
17
- * messages: [
18
- * { role: 'user', content: 'Hello!', timestamp: new Date() }
19
- * ],
20
- * temperature: 0.7
41
+ * model: 'claude-sonnet-4-5-20250929',
42
+ * messages: [{ role: 'user', content: 'Hello!', timestamp: new Date() }]
21
43
  * });
22
44
  * ```
23
45
  *
24
- * @example Streaming
46
+ * @example Custom models with updated pricing
25
47
  * ```typescript
26
- * for await (const chunk of provider.streamChat({
27
- * model: 'claude-3-5-sonnet-20241022',
28
- * messages: [{ role: 'user', content: 'Write a story', timestamp: new Date() }]
29
- * })) {
30
- * process.stdout.write(chunk.content);
31
- * }
48
+ * const provider = new AnthropicProvider({
49
+ * apiKey: process.env.ANTHROPIC_API_KEY!,
50
+ * models: [
51
+ * { name: 'claude-sonnet-4-5-20250929', pricing: { input: 3.5, output: 17.5 } },
52
+ * { name: 'claude-opus-4-5-20251101', pricing: { input: 25.0, output: 125.0 } }
53
+ * ]
54
+ * });
32
55
  * ```
33
56
  *
34
- * @example Tool use
57
+ * @example Without pricing (calculateCost returns 0)
35
58
  * ```typescript
36
- * const response = await provider.chat({
37
- * model: 'claude-3-5-sonnet-20241022',
38
- * messages: [{ role: 'user', content: 'What is the weather?', timestamp: new Date() }],
39
- * tools: [{
40
- * name: 'getWeather',
41
- * description: 'Get weather for a location',
42
- * parameters: {
43
- * type: 'object',
44
- * properties: { city: { type: 'string' } },
45
- * required: ['city']
46
- * }
47
- * }]
59
+ * const provider = new AnthropicProvider({
60
+ * apiKey: process.env.ANTHROPIC_API_KEY!,
61
+ * models: [
62
+ * { name: 'claude-sonnet-4-5-20250929' }
63
+ * ]
48
64
  * });
49
65
  * ```
50
66
  *
51
- * @example System messages
67
+ * @example Streaming
52
68
  * ```typescript
53
- * const response = await provider.chat({
69
+ * for await (const chunk of provider.streamChat({
54
70
  * model: 'claude-3-5-sonnet-20241022',
55
- * messages: [
56
- * { role: 'system', content: 'You are a helpful assistant', timestamp: new Date() },
57
- * { role: 'user', content: 'Hello', timestamp: new Date() }
58
- * ]
59
- * });
71
+ * messages: [{ role: 'user', content: 'Write a story', timestamp: new Date() }]
72
+ * })) {
73
+ * process.stdout.write(chunk.content);
74
+ * }
60
75
  * ```
61
76
  */
62
77
  export declare class AnthropicProvider implements LLMProvider {
63
78
  readonly name = "anthropic";
64
79
  readonly models: string[];
65
80
  private client;
66
- constructor(config: {
67
- apiKey: string;
68
- baseURL?: string;
69
- });
81
+ private pricing;
82
+ constructor(config: AnthropicConfig);
70
83
  chat(params: ChatParams): Promise<ChatResponse>;
71
84
  streamChat(params: ChatParams): AsyncIterable<ChatChunk>;
72
85
  embeddings(_params: EmbeddingParams): Promise<EmbeddingResponse>;
73
86
  /**
74
- * Calculates the cost of a chat completion based on token usage
87
+ * Calculates the cost of a chat completion based on token usage.
88
+ * Returns 0 if no pricing information is available for the model.
75
89
  *
76
90
  * @param model - The model used
77
91
  * @param usage - Token usage information
78
- * @returns Cost in USD
92
+ * @returns Cost in USD, or 0 if pricing not configured
79
93
  */
80
94
  calculateCost(model: string, usage: TokenUsage): number;
81
95
  private convertMessages;
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../src/AnthropicProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAgB,UAAU,EAAY,MAAM,eAAe,CAAC;AAYxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,MAAM,WAKb;IAEF,OAAO,CAAC,MAAM,CAAY;gBAEd,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;IAOlD,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAyC9C,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;IAqC/D,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQhE;;;;;;OAMG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IAavD,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,aAAa;CAgBtB"}
1
+ {"version":3,"file":"AnthropicProvider.d.ts","sourceRoot":"","sources":["../src/AnthropicProvider.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,eAAe,EACf,iBAAiB,EAClB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAgB,UAAU,EAAY,MAAM,eAAe,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE;QACjB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC;CAChC;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,QAAQ,CAAC,IAAI,eAAe;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAE1B,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,OAAO,CAAiD;gBAEpD,MAAM,EAAE,eAAe;IAkB7B,IAAI,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC;IAyC9C,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC;IAqC/D,UAAU,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQhE;;;;;;;OAOG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM;IAYvD,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,aAAa;CAgBtB"}
@@ -1,82 +1,73 @@
1
1
  import Anthropic from '@anthropic-ai/sdk';
2
- /**
3
- * Pricing per 1M tokens for Anthropic models (as of 2025)
4
- */
5
- const MODEL_PRICING = {
6
- 'claude-3-opus-20240229': { input: 15.0, output: 75.0 },
7
- 'claude-3-sonnet-20240229': { input: 3.0, output: 15.0 },
8
- 'claude-3-haiku-20240307': { input: 0.25, output: 1.25 },
9
- 'claude-3-5-sonnet-20241022': { input: 3.0, output: 15.0 },
10
- };
11
2
  /**
12
3
  * Anthropic provider implementation for Stratix AI Agents.
13
4
  *
5
+ * Requires explicit model configuration - no defaults provided.
14
6
  * Supports Claude 3 models (Opus, Sonnet, Haiku) with tool use and streaming.
15
7
  * Note: Anthropic does not support embeddings.
16
8
  *
17
- * @example Basic chat
9
+ * @example Using predefined model constants
18
10
  * ```typescript
11
+ * import { AnthropicProvider } from '@stratix/ai-anthropic';
12
+ *
19
13
  * const provider = new AnthropicProvider({
20
- * apiKey: process.env.ANTHROPIC_API_KEY!
14
+ * apiKey: process.env.ANTHROPIC_API_KEY!,
15
+ * models: [
16
+ * { name: 'claude-sonnet-4-5-20250929', pricing: { input: 3.0, output: 15.0 } },
17
+ * { name: 'claude-opus-4-5-20251101', pricing: { input: 5.0, output: 25.0 } }
18
+ * ]
21
19
  * });
22
20
  *
23
21
  * const response = await provider.chat({
24
- * model: 'claude-3-5-sonnet-20241022',
25
- * messages: [
26
- * { role: 'user', content: 'Hello!', timestamp: new Date() }
27
- * ],
28
- * temperature: 0.7
22
+ * model: 'claude-sonnet-4-5-20250929',
23
+ * messages: [{ role: 'user', content: 'Hello!', timestamp: new Date() }]
29
24
  * });
30
25
  * ```
31
26
  *
32
- * @example Streaming
27
+ * @example Custom models with updated pricing
33
28
  * ```typescript
34
- * for await (const chunk of provider.streamChat({
35
- * model: 'claude-3-5-sonnet-20241022',
36
- * messages: [{ role: 'user', content: 'Write a story', timestamp: new Date() }]
37
- * })) {
38
- * process.stdout.write(chunk.content);
39
- * }
29
+ * const provider = new AnthropicProvider({
30
+ * apiKey: process.env.ANTHROPIC_API_KEY!,
31
+ * models: [
32
+ * { name: 'claude-sonnet-4-5-20250929', pricing: { input: 3.5, output: 17.5 } },
33
+ * { name: 'claude-opus-4-5-20251101', pricing: { input: 25.0, output: 125.0 } }
34
+ * ]
35
+ * });
40
36
  * ```
41
37
  *
42
- * @example Tool use
38
+ * @example Without pricing (calculateCost returns 0)
43
39
  * ```typescript
44
- * const response = await provider.chat({
45
- * model: 'claude-3-5-sonnet-20241022',
46
- * messages: [{ role: 'user', content: 'What is the weather?', timestamp: new Date() }],
47
- * tools: [{
48
- * name: 'getWeather',
49
- * description: 'Get weather for a location',
50
- * parameters: {
51
- * type: 'object',
52
- * properties: { city: { type: 'string' } },
53
- * required: ['city']
54
- * }
55
- * }]
40
+ * const provider = new AnthropicProvider({
41
+ * apiKey: process.env.ANTHROPIC_API_KEY!,
42
+ * models: [
43
+ * { name: 'claude-sonnet-4-5-20250929' }
44
+ * ]
56
45
  * });
57
46
  * ```
58
47
  *
59
- * @example System messages
48
+ * @example Streaming
60
49
  * ```typescript
61
- * const response = await provider.chat({
50
+ * for await (const chunk of provider.streamChat({
62
51
  * model: 'claude-3-5-sonnet-20241022',
63
- * messages: [
64
- * { role: 'system', content: 'You are a helpful assistant', timestamp: new Date() },
65
- * { role: 'user', content: 'Hello', timestamp: new Date() }
66
- * ]
67
- * });
52
+ * messages: [{ role: 'user', content: 'Write a story', timestamp: new Date() }]
53
+ * })) {
54
+ * process.stdout.write(chunk.content);
55
+ * }
68
56
  * ```
69
57
  */
70
58
  export class AnthropicProvider {
71
59
  name = 'anthropic';
72
- models = [
73
- 'claude-3-opus-20240229',
74
- 'claude-3-sonnet-20240229',
75
- 'claude-3-haiku-20240307',
76
- 'claude-3-5-sonnet-20241022',
77
- ];
60
+ models;
78
61
  client;
62
+ pricing;
79
63
  constructor(config) {
64
+ if (!config.models || config.models.length === 0) {
65
+ throw new Error('AnthropicProvider requires at least one model to be configured');
66
+ }
67
+ this.models = config.models.map((m) => m.name);
68
+ this.pricing = new Map(config.models
69
+ .filter((m) => m.pricing !== undefined)
70
+ .map((m) => [m.name, m.pricing]));
80
71
  this.client = new Anthropic({
81
72
  apiKey: config.apiKey,
82
73
  baseURL: config.baseURL,
@@ -157,16 +148,16 @@ export class AnthropicProvider {
157
148
  return Promise.reject(new Error('Anthropic does not support embeddings. Use OpenAI or another provider for embeddings.'));
158
149
  }
159
150
  /**
160
- * Calculates the cost of a chat completion based on token usage
151
+ * Calculates the cost of a chat completion based on token usage.
152
+ * Returns 0 if no pricing information is available for the model.
161
153
  *
162
154
  * @param model - The model used
163
155
  * @param usage - Token usage information
164
- * @returns Cost in USD
156
+ * @returns Cost in USD, or 0 if pricing not configured
165
157
  */
166
158
  calculateCost(model, usage) {
167
- const pricing = MODEL_PRICING[model];
159
+ const pricing = this.pricing.get(model);
168
160
  if (!pricing) {
169
- console.warn(`No pricing information for model: ${model}`);
170
161
  return 0;
171
162
  }
172
163
  const inputCost = (usage.promptTokens / 1_000_000) * pricing.input;
@@ -1 +1 @@
1
- {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../src/AnthropicProvider.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAW1C;;GAEG;AACH,MAAM,aAAa,GAAG;IACpB,wBAAwB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACvD,0BAA0B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,yBAAyB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;IACxD,4BAA4B,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;CAC3D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,MAAM,OAAO,iBAAiB;IACnB,IAAI,GAAG,WAAW,CAAC;IACnB,MAAM,GAAG;QAChB,wBAAwB;QACxB,0BAA0B;QAC1B,yBAAyB;QACzB,4BAA4B;KAC7B,CAAC;IAEM,MAAM,CAAY;IAE1B,YAAY,MAA4C;QACtD,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,MAAkB;QAC3B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACjD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACpC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG;YACtC,MAAM;YACN,QAAQ;YACR,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC;QAEH,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,IAAI,SAAiC,CAAC;QAEtC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC;YACxB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBACrC,IAAI,CAAC,SAAS;oBAAE,SAAS,GAAG,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,SAAS,EAAE,KAAK,CAAC,KAAgC;iBAClD,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAe;YACxB,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;YACzC,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;YAC9C,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,aAAa;SACxE,CAAC;QAEF,OAAO;YACL,OAAO;YACP,SAAS;YACT,KAAK;YACL,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC;SACvD,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,CAAC,UAAU,CAAC,MAAkB;QAClC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEnE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;YACpC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,GAAG;YACtC,MAAM;YACN,QAAQ;YACR,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;SAClE,CAAC,CAAC;QAEH,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,uGAAuG;YACvG,MAAM,QAAQ,GAAG,KAAY,CAAC;YAC9B,sEAAsE;YACtE;YACE,sEAAsE;YACtE,QAAQ,CAAC,IAAI,KAAK,qBAAqB;gBACvC,sEAAsE;gBACtE,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK,YAAY,EACrC,CAAC;gBACD,MAAM;oBACJ,sEAAsE;oBACtE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAc;oBACtC,UAAU,EAAE,KAAK;iBAClB,CAAC;gBACF,sEAAsE;YACxE,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC5C,MAAM;oBACJ,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,IAAI;iBACjB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU,CAAC,OAAwB;QACjC,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CACP,uFAAuF,CACxF,CACF,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,KAAa,EAAE,KAAiB;QAC5C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAmC,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;YAC3D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC;QACnE,MAAM,UAAU,GAAG,CAAC,KAAK,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QAEzE,OAAO,SAAS,GAAG,UAAU,CAAC;IAChC,CAAC;IAEO,eAAe,CAAC,QAAwB;QAI9C,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QACnE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAEzE,MAAM,MAAM,GACV,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5F,MAAM,iBAAiB,GAA6B,oBAAoB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrF,IAAI,EAAE,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;YACrD,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IACjD,CAAC;IAEO,YAAY,CAClB,KAAwF;IACxF,8DAA8D;;QAE9D,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC,CAAC;IACN,CAAC;IAEO,aAAa,CACnB,MAAqB;QAErB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,UAAU;gBACb,OAAO,MAAM,CAAC;YAChB,KAAK,YAAY;gBACf,OAAO,QAAQ,CAAC;YAClB,KAAK,UAAU;gBACb,OAAO,YAAY,CAAC;YACtB,KAAK,eAAe;gBAClB,OAAO,MAAM,CAAC;YAChB;gBACE,OAAO,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"AnthropicProvider.js","sourceRoot":"","sources":["../src/AnthropicProvider.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export { AnthropicProvider } from './AnthropicProvider.js';
2
+ export type { ModelConfig, AnthropicConfig } from './AnthropicProvider.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stratix/ai-anthropic",
3
- "version": "0.7.5",
3
+ "version": "0.8.0",
4
4
  "description": "Stratix AI Agents - Anthropic Provider",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -39,7 +39,7 @@
39
39
  },
40
40
  "dependencies": {
41
41
  "@anthropic-ai/sdk": "^0.35.0",
42
- "@stratix/core": "^0.7.5"
42
+ "@stratix/core": "^0.8.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/node": "^20.0.0",