@effect/ai-anthropic 0.23.0 → 4.0.0-beta.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 (104) hide show
  1. package/dist/AnthropicClient.d.ts +196 -0
  2. package/dist/AnthropicClient.d.ts.map +1 -0
  3. package/dist/AnthropicClient.js +142 -0
  4. package/dist/AnthropicClient.js.map +1 -0
  5. package/dist/{dts/AnthropicConfig.d.ts → AnthropicConfig.d.ts} +9 -9
  6. package/dist/AnthropicConfig.d.ts.map +1 -0
  7. package/dist/{esm/AnthropicConfig.js → AnthropicConfig.js} +8 -5
  8. package/dist/AnthropicConfig.js.map +1 -0
  9. package/dist/AnthropicError.d.ts +102 -0
  10. package/dist/AnthropicError.d.ts.map +1 -0
  11. package/dist/AnthropicError.js +10 -0
  12. package/dist/AnthropicError.js.map +1 -0
  13. package/dist/AnthropicLanguageModel.d.ts +522 -0
  14. package/dist/AnthropicLanguageModel.d.ts.map +1 -0
  15. package/dist/AnthropicLanguageModel.js +2107 -0
  16. package/dist/AnthropicLanguageModel.js.map +1 -0
  17. package/dist/AnthropicTelemetry.d.ts +101 -0
  18. package/dist/AnthropicTelemetry.d.ts.map +1 -0
  19. package/dist/AnthropicTelemetry.js +35 -0
  20. package/dist/AnthropicTelemetry.js.map +1 -0
  21. package/dist/AnthropicTool.d.ts +2153 -0
  22. package/dist/AnthropicTool.d.ts.map +1 -0
  23. package/dist/AnthropicTool.js +1168 -0
  24. package/dist/AnthropicTool.js.map +1 -0
  25. package/dist/Generated.d.ts +25233 -0
  26. package/dist/Generated.d.ts.map +1 -0
  27. package/dist/Generated.js +7649 -0
  28. package/dist/Generated.js.map +1 -0
  29. package/dist/index.d.ts +53 -0
  30. package/dist/index.d.ts.map +1 -0
  31. package/dist/index.js +54 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/internal/errors.d.ts +2 -0
  34. package/dist/internal/errors.d.ts.map +1 -0
  35. package/dist/internal/errors.js +344 -0
  36. package/dist/internal/errors.js.map +1 -0
  37. package/dist/{dts/internal → internal}/utilities.d.ts.map +1 -1
  38. package/dist/internal/utilities.js.map +1 -0
  39. package/package.json +45 -81
  40. package/src/AnthropicClient.ts +327 -683
  41. package/src/AnthropicConfig.ts +20 -34
  42. package/src/AnthropicError.ts +111 -0
  43. package/src/AnthropicLanguageModel.ts +2039 -993
  44. package/src/AnthropicTelemetry.ts +138 -0
  45. package/src/AnthropicTool.ts +1500 -475
  46. package/src/Generated.ts +9798 -6359
  47. package/src/index.ts +38 -6
  48. package/src/internal/errors.ts +368 -0
  49. package/src/internal/utilities.ts +1 -1
  50. package/AnthropicClient/package.json +0 -6
  51. package/AnthropicConfig/package.json +0 -6
  52. package/AnthropicLanguageModel/package.json +0 -6
  53. package/AnthropicTokenizer/package.json +0 -6
  54. package/AnthropicTool/package.json +0 -6
  55. package/Generated/package.json +0 -6
  56. package/README.md +0 -5
  57. package/dist/cjs/AnthropicClient.js +0 -344
  58. package/dist/cjs/AnthropicClient.js.map +0 -1
  59. package/dist/cjs/AnthropicConfig.js +0 -30
  60. package/dist/cjs/AnthropicConfig.js.map +0 -1
  61. package/dist/cjs/AnthropicLanguageModel.js +0 -1322
  62. package/dist/cjs/AnthropicLanguageModel.js.map +0 -1
  63. package/dist/cjs/AnthropicTokenizer.js +0 -52
  64. package/dist/cjs/AnthropicTokenizer.js.map +0 -1
  65. package/dist/cjs/AnthropicTool.js +0 -461
  66. package/dist/cjs/AnthropicTool.js.map +0 -1
  67. package/dist/cjs/Generated.js +0 -6578
  68. package/dist/cjs/Generated.js.map +0 -1
  69. package/dist/cjs/index.js +0 -20
  70. package/dist/cjs/index.js.map +0 -1
  71. package/dist/cjs/internal/utilities.js +0 -29
  72. package/dist/cjs/internal/utilities.js.map +0 -1
  73. package/dist/dts/AnthropicClient.d.ts +0 -730
  74. package/dist/dts/AnthropicClient.d.ts.map +0 -1
  75. package/dist/dts/AnthropicConfig.d.ts.map +0 -1
  76. package/dist/dts/AnthropicLanguageModel.d.ts +0 -304
  77. package/dist/dts/AnthropicLanguageModel.d.ts.map +0 -1
  78. package/dist/dts/AnthropicTokenizer.d.ts +0 -13
  79. package/dist/dts/AnthropicTokenizer.d.ts.map +0 -1
  80. package/dist/dts/AnthropicTool.d.ts +0 -548
  81. package/dist/dts/AnthropicTool.d.ts.map +0 -1
  82. package/dist/dts/Generated.d.ts +0 -12504
  83. package/dist/dts/Generated.d.ts.map +0 -1
  84. package/dist/dts/index.d.ts +0 -25
  85. package/dist/dts/index.d.ts.map +0 -1
  86. package/dist/esm/AnthropicClient.js +0 -317
  87. package/dist/esm/AnthropicClient.js.map +0 -1
  88. package/dist/esm/AnthropicConfig.js.map +0 -1
  89. package/dist/esm/AnthropicLanguageModel.js +0 -1309
  90. package/dist/esm/AnthropicLanguageModel.js.map +0 -1
  91. package/dist/esm/AnthropicTokenizer.js +0 -44
  92. package/dist/esm/AnthropicTokenizer.js.map +0 -1
  93. package/dist/esm/AnthropicTool.js +0 -452
  94. package/dist/esm/AnthropicTool.js.map +0 -1
  95. package/dist/esm/Generated.js +0 -6247
  96. package/dist/esm/Generated.js.map +0 -1
  97. package/dist/esm/index.js +0 -25
  98. package/dist/esm/index.js.map +0 -1
  99. package/dist/esm/internal/utilities.js.map +0 -1
  100. package/dist/esm/package.json +0 -4
  101. package/index/package.json +0 -6
  102. package/src/AnthropicTokenizer.ts +0 -59
  103. /package/dist/{dts/internal → internal}/utilities.d.ts +0 -0
  104. /package/dist/{esm/internal → internal}/utilities.js +0 -0
@@ -1,25 +1,25 @@
1
1
  /**
2
2
  * @since 1.0.0
3
3
  */
4
- import type { HttpClient } from "@effect/platform/HttpClient"
5
- import * as Context from "effect/Context"
6
4
  import * as Effect from "effect/Effect"
7
5
  import { dual } from "effect/Function"
6
+ import * as ServiceMap from "effect/ServiceMap"
7
+ import type { HttpClient } from "effect/unstable/http/HttpClient"
8
8
 
9
9
  /**
10
10
  * @since 1.0.0
11
- * @category Context
11
+ * @category services
12
12
  */
13
- export class AnthropicConfig extends Context.Tag("@effect/ai-anthropic/AnthropicConfig")<
13
+ export class AnthropicConfig extends ServiceMap.Service<
14
14
  AnthropicConfig,
15
15
  AnthropicConfig.Service
16
- >() {
16
+ >()("@effect/ai-anthropic/AnthropicConfig") {
17
17
  /**
18
18
  * @since 1.0.0
19
19
  */
20
20
  static readonly getOrUndefined: Effect.Effect<typeof AnthropicConfig.Service | undefined> = Effect.map(
21
- Effect.context<never>(),
22
- (context) => context.unsafeMap.get(AnthropicConfig.key)
21
+ Effect.services<never>(),
22
+ (services) => services.mapUnsafe.get(AnthropicConfig.key)
23
23
  )
24
24
  }
25
25
 
@@ -29,50 +29,36 @@ export class AnthropicConfig extends Context.Tag("@effect/ai-anthropic/Anthropic
29
29
  export declare namespace AnthropicConfig {
30
30
  /**
31
31
  * @since 1.0.0
32
- * @category Models
32
+ * @category models
33
33
  */
34
34
  export interface Service {
35
- readonly transformClient?: (client: HttpClient) => HttpClient
35
+ readonly transformClient?: ((client: HttpClient) => HttpClient) | undefined
36
36
  }
37
37
  }
38
38
 
39
39
  /**
40
40
  * @since 1.0.0
41
- * @category Configuration
41
+ * @category configuration
42
42
  */
43
43
  export const withClientTransform: {
44
44
  /**
45
45
  * @since 1.0.0
46
- * @category Configuration
46
+ * @category configuration
47
47
  */
48
48
  (transform: (client: HttpClient) => HttpClient): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
49
49
  /**
50
50
  * @since 1.0.0
51
- * @category Configuration
51
+ * @category configuration
52
52
  */
53
53
  <A, E, R>(
54
54
  self: Effect.Effect<A, E, R>,
55
55
  transform: (client: HttpClient) => HttpClient
56
56
  ): Effect.Effect<A, E, R>
57
- } = dual<
58
- /**
59
- * @since 1.0.0
60
- * @category Configuration
61
- */
62
- (transform: (client: HttpClient) => HttpClient) => <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>,
63
- /**
64
- * @since 1.0.0
65
- * @category Configuration
66
- */
67
- <A, E, R>(
68
- self: Effect.Effect<A, E, R>,
69
- transform: (client: HttpClient) => HttpClient
70
- ) => Effect.Effect<A, E, R>
71
- >(
72
- 2,
73
- (self, transformClient) =>
74
- Effect.flatMap(
75
- AnthropicConfig.getOrUndefined,
76
- (config) => Effect.provideService(self, AnthropicConfig, { ...config, transformClient })
77
- )
78
- )
57
+ } = dual(2, <A, E, R>(
58
+ self: Effect.Effect<A, E, R>,
59
+ transformClient: (client: HttpClient) => HttpClient
60
+ ) =>
61
+ Effect.flatMap(
62
+ AnthropicConfig.getOrUndefined,
63
+ (config) => Effect.provideService(self, AnthropicConfig, { ...config, transformClient })
64
+ ))
@@ -0,0 +1,111 @@
1
+ /**
2
+ * Anthropic error metadata augmentation.
3
+ *
4
+ * Provides Anthropic-specific metadata fields for AI error types through module
5
+ * augmentation, enabling typed access to Anthropic error details.
6
+ *
7
+ * @since 1.0.0
8
+ */
9
+
10
+ /**
11
+ * Anthropic-specific error metadata fields.
12
+ *
13
+ * @since 1.0.0
14
+ * @category models
15
+ */
16
+ export type AnthropicErrorMetadata = {
17
+ /**
18
+ * The Anthropic error type returned by the API.
19
+ */
20
+ readonly errorType: string | null
21
+ /**
22
+ * The unique request ID for debugging with Anthropic support.
23
+ */
24
+ readonly requestId: string | null
25
+ }
26
+
27
+ /**
28
+ * Anthropic-specific rate limit metadata fields.
29
+ *
30
+ * Extends base error metadata with rate limit specific information from
31
+ * Anthropic's rate limit headers.
32
+ *
33
+ * @since 1.0.0
34
+ * @category models
35
+ */
36
+ export type AnthropicRateLimitMetadata = AnthropicErrorMetadata & {
37
+ /**
38
+ * Number of requests allowed in the current period.
39
+ */
40
+ readonly requestsLimit: number | null
41
+ /**
42
+ * Number of requests remaining in the current period.
43
+ */
44
+ readonly requestsRemaining: number | null
45
+ /**
46
+ * Time when the request rate limit resets.
47
+ */
48
+ readonly requestsReset: string | null
49
+ /**
50
+ * Number of tokens allowed in the current period.
51
+ */
52
+ readonly tokensLimit: number | null
53
+ /**
54
+ * Number of tokens remaining in the current period.
55
+ */
56
+ readonly tokensRemaining: number | null
57
+ /**
58
+ * Time when the token rate limit resets.
59
+ */
60
+ readonly tokensReset: string | null
61
+ }
62
+
63
+ declare module "effect/unstable/ai/AiError" {
64
+ export interface RateLimitError {
65
+ readonly metadata: {
66
+ readonly anthropic?: AnthropicRateLimitMetadata | null
67
+ }
68
+ }
69
+
70
+ export interface QuotaExhaustedError {
71
+ readonly metadata: {
72
+ readonly anthropic?: AnthropicErrorMetadata | null
73
+ }
74
+ }
75
+
76
+ export interface AuthenticationError {
77
+ readonly metadata: {
78
+ readonly anthropic?: AnthropicErrorMetadata | null
79
+ }
80
+ }
81
+
82
+ export interface ContentPolicyError {
83
+ readonly metadata: {
84
+ readonly anthropic?: AnthropicErrorMetadata | null
85
+ }
86
+ }
87
+
88
+ export interface InvalidRequestError {
89
+ readonly metadata: {
90
+ readonly anthropic?: AnthropicErrorMetadata | null
91
+ }
92
+ }
93
+
94
+ export interface InternalProviderError {
95
+ readonly metadata: {
96
+ readonly anthropic?: AnthropicErrorMetadata | null
97
+ }
98
+ }
99
+
100
+ export interface InvalidOutputError {
101
+ readonly metadata: {
102
+ readonly anthropic?: AnthropicErrorMetadata | null
103
+ }
104
+ }
105
+
106
+ export interface UnknownError {
107
+ readonly metadata: {
108
+ readonly anthropic?: AnthropicErrorMetadata | null
109
+ }
110
+ }
111
+ }