@holokai/holo-provider-claude 0.1.3 → 1.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 (97) hide show
  1. package/README.md +81 -64
  2. package/dist/claude.auditor.d.ts +6 -3
  3. package/dist/claude.auditor.d.ts.map +1 -1
  4. package/dist/claude.auditor.js +14 -13
  5. package/dist/claude.auditor.js.map +1 -1
  6. package/dist/claude.provider.d.ts +4 -2
  7. package/dist/claude.provider.d.ts.map +1 -1
  8. package/dist/claude.provider.js +13 -9
  9. package/dist/claude.provider.js.map +1 -1
  10. package/dist/claude.response.factory.d.ts +16 -15
  11. package/dist/claude.response.factory.d.ts.map +1 -1
  12. package/dist/claude.response.factory.js +16 -16
  13. package/dist/claude.response.factory.js.map +1 -1
  14. package/dist/claude.translator.d.ts +10 -9
  15. package/dist/claude.translator.d.ts.map +1 -1
  16. package/dist/claude.translator.js.map +1 -1
  17. package/dist/claude.wire.adapter.d.ts +1 -1
  18. package/dist/claude.wire.adapter.d.ts.map +1 -1
  19. package/dist/claude.wire.adapter.js +1 -1
  20. package/dist/claude.wire.adapter.js.map +1 -1
  21. package/dist/manifest.d.ts +2 -2
  22. package/dist/manifest.d.ts.map +1 -1
  23. package/dist/manifest.js +2 -139
  24. package/dist/manifest.js.map +1 -1
  25. package/dist/plugin.d.ts +8 -7
  26. package/dist/plugin.d.ts.map +1 -1
  27. package/dist/plugin.js +2 -1
  28. package/dist/plugin.js.map +1 -1
  29. package/dist/translators/claude.content.translators.d.ts +6 -6
  30. package/dist/translators/claude.content.translators.d.ts.map +1 -1
  31. package/dist/translators/claude.content.translators.js.map +1 -1
  32. package/dist/translators/claude.message.translators.d.ts +6 -6
  33. package/dist/translators/claude.message.translators.d.ts.map +1 -1
  34. package/dist/translators/claude.message.translators.js +1 -1
  35. package/dist/translators/claude.message.translators.js.map +1 -1
  36. package/dist/translators/claude.request.translators.d.ts +6 -6
  37. package/dist/translators/claude.request.translators.d.ts.map +1 -1
  38. package/dist/translators/claude.request.translators.js +2 -2
  39. package/dist/translators/claude.request.translators.js.map +1 -1
  40. package/dist/translators/claude.response.content.translators.d.ts +6 -6
  41. package/dist/translators/claude.response.content.translators.d.ts.map +1 -1
  42. package/dist/translators/claude.response.content.translators.js.map +1 -1
  43. package/dist/translators/claude.response.message.translators.d.ts +6 -6
  44. package/dist/translators/claude.response.message.translators.d.ts.map +1 -1
  45. package/dist/translators/claude.response.message.translators.js +1 -2
  46. package/dist/translators/claude.response.message.translators.js.map +1 -1
  47. package/dist/translators/claude.response.translators.d.ts +7 -7
  48. package/dist/translators/claude.response.translators.d.ts.map +1 -1
  49. package/dist/translators/claude.response.translators.js +1 -1
  50. package/dist/translators/claude.response.translators.js.map +1 -1
  51. package/dist/translators/claude.tool.translators.d.ts +10 -10
  52. package/dist/translators/claude.tool.translators.d.ts.map +1 -1
  53. package/dist/translators/claude.tool.translators.js.map +1 -1
  54. package/dist/translators/claude.usage.translators.d.ts +6 -6
  55. package/dist/translators/claude.usage.translators.d.ts.map +1 -1
  56. package/dist/translators/claude.usage.translators.js.map +1 -1
  57. package/dist/translators/streaming/claude.content.block.delta.event.translator.d.ts +6 -6
  58. package/dist/translators/streaming/claude.content.block.delta.event.translator.d.ts.map +1 -1
  59. package/dist/translators/streaming/claude.content.block.delta.event.translator.js.map +1 -1
  60. package/dist/translators/streaming/claude.content.block.start.event.translator.d.ts +6 -6
  61. package/dist/translators/streaming/claude.content.block.start.event.translator.d.ts.map +1 -1
  62. package/dist/translators/streaming/claude.content.block.start.event.translator.js.map +1 -1
  63. package/dist/translators/streaming/claude.content.block.stop.event.translator.d.ts +6 -6
  64. package/dist/translators/streaming/claude.content.block.stop.event.translator.d.ts.map +1 -1
  65. package/dist/translators/streaming/claude.content.block.stop.event.translator.js.map +1 -1
  66. package/dist/translators/streaming/claude.message.delta.event.translator.d.ts +6 -6
  67. package/dist/translators/streaming/claude.message.delta.event.translator.d.ts.map +1 -1
  68. package/dist/translators/streaming/claude.message.delta.event.translator.js +0 -1
  69. package/dist/translators/streaming/claude.message.delta.event.translator.js.map +1 -1
  70. package/dist/translators/streaming/claude.message.start.event.translator.d.ts +6 -6
  71. package/dist/translators/streaming/claude.message.start.event.translator.d.ts.map +1 -1
  72. package/dist/translators/streaming/claude.message.start.event.translator.js.map +1 -1
  73. package/dist/translators/streaming/claude.message.stop.event.translator.d.ts +6 -6
  74. package/dist/translators/streaming/claude.message.stop.event.translator.d.ts.map +1 -1
  75. package/dist/translators/streaming/claude.message.stop.event.translator.js.map +1 -1
  76. package/dist/translators/streaming/claude.stream.translator.d.ts +6 -6
  77. package/dist/translators/streaming/claude.stream.translator.d.ts.map +1 -1
  78. package/dist/translators/streaming/claude.stream.translator.js.map +1 -1
  79. package/dist/utils/finish.reason.mapper.d.ts +3 -3
  80. package/dist/utils/finish.reason.mapper.d.ts.map +1 -1
  81. package/package.json +2 -2
  82. package/dist/types/index.d.ts +0 -3
  83. package/dist/types/index.d.ts.map +0 -1
  84. package/dist/types/index.js +0 -3
  85. package/dist/types/index.js.map +0 -1
  86. package/dist/types/request.types.d.ts +0 -8
  87. package/dist/types/request.types.d.ts.map +0 -1
  88. package/dist/types/request.types.js +0 -2
  89. package/dist/types/request.types.js.map +0 -1
  90. package/dist/types/response.types.d.ts +0 -16
  91. package/dist/types/response.types.d.ts.map +0 -1
  92. package/dist/types/response.types.js +0 -2
  93. package/dist/types/response.types.js.map +0 -1
  94. package/dist/utils/stable-id.d.ts +0 -2
  95. package/dist/utils/stable-id.d.ts.map +0 -1
  96. package/dist/utils/stable-id.js +0 -13
  97. package/dist/utils/stable-id.js.map +0 -1
package/README.md CHANGED
@@ -9,7 +9,9 @@
9
9
 
10
10
  ## Overview
11
11
 
12
- The Claude provider plugin enables Holo to communicate with Anthropic's Claude API through the universal Holo format. This plugin is part of the migration from the monolithic provider architecture to a plugin-based system, providing complete bidirectional translation between Claude's native API and the portable Holo format.
12
+ The Claude provider plugin enables Holo to communicate with Anthropic's Claude API through the universal Holo format.
13
+ This plugin is part of the migration from the monolithic provider architecture to a plugin-based system, providing
14
+ complete bidirectional translation between Claude's native API and the portable Holo format.
13
15
 
14
16
  ### Key Features
15
17
 
@@ -33,6 +35,7 @@ npm install @holokai/holo-provider-claude
33
35
  ### Peer Dependencies
34
36
 
35
37
  This plugin requires:
38
+
36
39
  - `@holokai/sdk` ^0.1.0 - Holo universal format types and plugin contracts
37
40
 
38
41
  ---
@@ -41,7 +44,8 @@ This plugin requires:
41
44
 
42
45
  ### Automatic Discovery
43
46
 
44
- When installed in a Holo worker environment, this plugin is automatically discovered and loaded by the plugin system. No manual registration required.
47
+ When installed in a Holo worker environment, this plugin is automatically discovered and loaded by the plugin system. No
48
+ manual registration required.
45
49
 
46
50
  ### Configuration
47
51
 
@@ -87,9 +91,11 @@ const response: HoloResponse = await holoClient.chat(request);
87
91
 
88
92
  ### What Changed
89
93
 
90
- This plugin represents the extraction of Claude provider logic from the monolithic `src/providers/claude/` codebase into a standalone, independently versioned package.
94
+ This plugin represents the extraction of Claude provider logic from the monolithic `src/providers/claude/` codebase into
95
+ a standalone, independently versioned package.
91
96
 
92
97
  **Before** (Monolithic):
98
+
93
99
  ```
94
100
  src/providers/claude/
95
101
  ├── claude.translator.ts
@@ -99,6 +105,7 @@ src/providers/claude/
99
105
  ```
100
106
 
101
107
  **After** (Plugin):
108
+
102
109
  ```
103
110
  @holokai/holo-provider-claude
104
111
  ├── src/
@@ -202,26 +209,27 @@ This plugin implements the official Holo format mappings as documented in the SD
202
209
 
203
210
  ### Request Mapping: Holo → Claude
204
211
 
205
- | Holo Field | Claude Field | Transformation | Notes |
206
- |------------|-------------|----------------|-------|
207
- | **Direct 1:1** ||||
208
- | `model` | `model` | Direct | Required |
209
- | `temperature` | `temperature` | Direct | 0-1 for Claude |
210
- | `top_p` | `top_p` | Direct | Optional |
211
- | `top_k` | `top_k` | Direct | Optional |
212
- | `stream` | `stream` | Direct | Optional |
213
- | `max_tokens` | `max_tokens` | Direct | Required by Claude |
214
- | `stop_sequences` | `stop_sequences` | Direct | Array format |
215
- | **Structure Transforms** ||||
216
- | `system` (string) | `system` | Direct | Top-level |
217
- | `system` (string[]) | `system` | Join with `\n\n` + drop metadata | Lossy if structured |
218
- | `metadata.user_id` | `metadata.user_id` | Direct | Optional |
219
- | `tools[].parameters` | `tools[].input_schema` | Rename field | JSON Schema |
220
- | `tool_choice.type: 'specific'` | `tool_choice.type: 'tool'` | Map type + name | Specific tool |
221
- | `tool_choice.type: 'required'` | `tool_choice.type: 'any'` | Map type | Any tool |
222
- | `messages[]` | `messages[]` | Transform content | See Content Mapping |
212
+ | Holo Field | Claude Field | Transformation | Notes |
213
+ |--------------------------------|----------------------------|----------------------------------|---------------------|
214
+ | **Direct 1:1** | | | |
215
+ | `model` | `model` | Direct | Required |
216
+ | `temperature` | `temperature` | Direct | 0-1 for Claude |
217
+ | `top_p` | `top_p` | Direct | Optional |
218
+ | `top_k` | `top_k` | Direct | Optional |
219
+ | `stream` | `stream` | Direct | Optional |
220
+ | `max_tokens` | `max_tokens` | Direct | Required by Claude |
221
+ | `stop_sequences` | `stop_sequences` | Direct | Array format |
222
+ | **Structure Transforms** | | | |
223
+ | `system` (string) | `system` | Direct | Top-level |
224
+ | `system` (string[]) | `system` | Join with `\n\n` + drop metadata | Lossy if structured |
225
+ | `metadata.user_id` | `metadata.user_id` | Direct | Optional |
226
+ | `tools[].parameters` | `tools[].input_schema` | Rename field | JSON Schema |
227
+ | `tool_choice.type: 'specific'` | `tool_choice.type: 'tool'` | Map type + name | Specific tool |
228
+ | `tool_choice.type: 'required'` | `tool_choice.type: 'any'` | Map type | Any tool |
229
+ | `messages[]` | `messages[]` | Transform content | See Content Mapping |
223
230
 
224
231
  **Dropped Fields** (Holo → Claude):
232
+
225
233
  - `response_format` - Claude doesn't support structured output modes
226
234
  - `frequency_penalty` - Not supported
227
235
  - `presence_penalty` - Not supported
@@ -231,31 +239,31 @@ See [SDK Provider Mappings](../../packages/sdk/docs/PROVIDER_MAPPINGS.md#claude-
231
239
 
232
240
  ### Response Mapping: Claude → Holo
233
241
 
234
- | Claude Field | Holo Field | Transformation | Notes |
235
- |-------------|------------|----------------|-------|
236
- | **Direct 1:1** ||||
237
- | `id` | `id` | Direct | Always present |
238
- | `model` | `model` | Direct | Always present |
239
- | `role: 'assistant'` | `messages[0].role` | Wrap in array | Always assistant |
240
- | **Structure Transforms** ||||
241
- | `content[]` blocks | `messages[0].content` | Extract text + tools | Multi-part |
242
- | `stop_reason` | `finish_reason` | Map codes | See table below |
243
- | `usage.input_tokens` | `usage.input_tokens` | Direct | Optional |
244
- | `usage.output_tokens` | `usage.output_tokens` | Direct | Optional |
245
- | `usage.cache_read_input_tokens` | `usage.cache_read_tokens` | Direct | Optional |
246
- | `usage.cache_creation_input_tokens` | `usage.cache_write_tokens` | Direct | Optional |
247
- | `usage.service_tier` | `service_tier` | Promote to top-level | Optional |
248
- | N/A | `created` | Synthesize with `Date.now()` | Claude lacks timestamp |
242
+ | Claude Field | Holo Field | Transformation | Notes |
243
+ |-------------------------------------|----------------------------|------------------------------|------------------------|
244
+ | **Direct 1:1** | | | |
245
+ | `id` | `id` | Direct | Always present |
246
+ | `model` | `model` | Direct | Always present |
247
+ | `role: 'assistant'` | `messages[0].role` | Wrap in array | Always assistant |
248
+ | **Structure Transforms** | | | |
249
+ | `content[]` blocks | `messages[0].content` | Extract text + tools | Multi-part |
250
+ | `stop_reason` | `finish_reason` | Map codes | See table below |
251
+ | `usage.input_tokens` | `usage.input_tokens` | Direct | Optional |
252
+ | `usage.output_tokens` | `usage.output_tokens` | Direct | Optional |
253
+ | `usage.cache_read_input_tokens` | `usage.cache_read_tokens` | Direct | Optional |
254
+ | `usage.cache_creation_input_tokens` | `usage.cache_write_tokens` | Direct | Optional |
255
+ | `usage.service_tier` | `service_tier` | Promote to top-level | Optional |
256
+ | N/A | `created` | Synthesize with `Date.now()` | Claude lacks timestamp |
249
257
 
250
258
  **Finish Reason Mapping**:
251
259
 
252
- | Claude `stop_reason` | Holo `finish_reason` |
253
- |---------------------|---------------------|
254
- | `end_turn` | `stop` |
255
- | `max_tokens` | `length` |
256
- | `tool_use` | `tool_calls` |
257
- | `refusal` | `content_filter` |
258
- | `pause_turn` | `stop` (preserve in metadata) |
260
+ | Claude `stop_reason` | Holo `finish_reason` |
261
+ |----------------------|-------------------------------|
262
+ | `end_turn` | `stop` |
263
+ | `max_tokens` | `length` |
264
+ | `tool_use` | `tool_calls` |
265
+ | `refusal` | `content_filter` |
266
+ | `pause_turn` | `stop` (preserve in metadata) |
259
267
 
260
268
  ### Content Mapping
261
269
 
@@ -290,23 +298,23 @@ See [SDK Provider Mappings](../../packages/sdk/docs/PROVIDER_MAPPINGS.md#claude-
290
298
  ```typescript
291
299
  // Claude Response (embedded in content)
292
300
  {
293
- content: [
294
- { type: 'text', text: 'Let me check that for you.' },
295
- { type: 'tool_use', id: 'toolu_123', name: 'get_weather', input: { location: 'SF' } }
296
- ]
301
+ content: [
302
+ {type: 'text', text: 'Let me check that for you.'},
303
+ {type: 'tool_use', id: 'toolu_123', name: 'get_weather', input: {location: 'SF'}}
304
+ ]
297
305
  }
298
306
 
299
307
  // Holo Response (extracted)
300
308
  {
301
- messages: [{
302
- role: 'assistant',
303
- content: 'Let me check that for you.',
304
- tool_calls: [{
305
- id: 'toolu_123',
306
- type: 'function',
307
- function: { name: 'get_weather', arguments: { location: 'SF' } }
309
+ messages: [{
310
+ role: 'assistant',
311
+ content: 'Let me check that for you.',
312
+ tool_calls: [{
313
+ id: 'toolu_123',
314
+ type: 'function',
315
+ function: {name: 'get_weather', arguments: {location: 'SF'}}
316
+ }]
308
317
  }]
309
- }]
310
318
  }
311
319
  ```
312
320
 
@@ -318,18 +326,19 @@ See [SDK Provider Mappings](../../packages/sdk/docs/PROVIDER_MAPPINGS.md#claude-
318
326
 
319
327
  Claude provides the most granular streaming events (6 types):
320
328
 
321
- | Event Type | Purpose | Holo Mapping |
322
- |------------|---------|--------------|
323
- | `message_start` | Initialize message | `type: 'message_start'` |
324
- | `content_block_start` | Begin content block (text/tool) | Used internally |
325
- | `content_block_delta` | Incremental content | `type: 'content_delta'` |
326
- | `content_block_stop` | End content block | Used internally |
327
- | `message_delta` | Usage/finish updates | `type: 'message_delta'` |
328
- | `message_stop` | Completion marker | `type: 'message_stop'` |
329
+ | Event Type | Purpose | Holo Mapping |
330
+ |-----------------------|---------------------------------|-------------------------|
331
+ | `message_start` | Initialize message | `type: 'message_start'` |
332
+ | `content_block_start` | Begin content block (text/tool) | Used internally |
333
+ | `content_block_delta` | Incremental content | `type: 'content_delta'` |
334
+ | `content_block_stop` | End content block | Used internally |
335
+ | `message_delta` | Usage/finish updates | `type: 'message_delta'` |
336
+ | `message_stop` | Completion marker | `type: 'message_stop'` |
329
337
 
330
338
  ### Orchestration
331
339
 
332
340
  The `ClaudeStreamTranslator` maintains state to:
341
+
333
342
  1. Track content blocks by index
334
343
  2. Accumulate text and tool input deltas
335
344
  3. Extract complete tool calls on block completion
@@ -382,7 +391,8 @@ const request: HoloRequest = {
382
391
  };
383
392
  ```
384
393
 
385
- **Note**: Thinking blocks (`content[].type = 'thinking'`) are Claude-specific and not part of the portable Holo format. They're preserved in `provider_delta` for debugging.
394
+ **Note**: Thinking blocks (`content[].type = 'thinking'`) are Claude-specific and not part of the portable Holo format.
395
+ They're preserved in `provider_delta` for debugging.
386
396
 
387
397
  ### Prompt Caching
388
398
 
@@ -437,6 +447,7 @@ import type {
437
447
  ### Migration from Legacy Types
438
448
 
439
449
  **Before** (Legacy provider):
450
+
440
451
  ```typescript
441
452
  import { HoloTool } from '../../types/holo/requests';
442
453
 
@@ -446,6 +457,7 @@ interface HoloTool {
446
457
  ```
447
458
 
448
459
  **After** (Plugin SDK):
460
+
449
461
  ```typescript
450
462
  import type { HoloTool, HoloJsonSchema } from '@holokai/sdk';
451
463
 
@@ -531,9 +543,11 @@ npm run clean
531
543
  ## Related Documentation
532
544
 
533
545
  ### SDK Documentation
546
+
534
547
  - [SDK README](../sdk/README.md) - Plugin development guide and templates
535
548
 
536
549
  ### Claude API Documentation
550
+
537
551
  - [Official API Reference](https://docs.anthropic.com/claude/reference)
538
552
  - [Streaming Guide](https://docs.anthropic.com/claude/reference/streaming)
539
553
  - [Tool Use](https://docs.anthropic.com/claude/docs/tool-use)
@@ -541,6 +555,7 @@ npm run clean
541
555
  - [Prompt Caching](https://docs.anthropic.com/claude/docs/prompt-caching)
542
556
 
543
557
  ### Migration Notes
558
+
544
559
  - This plugin was extracted from the monolithic `src/providers/claude/` codebase
545
560
  - Migration to plugin architecture is complete
546
561
 
@@ -558,6 +573,7 @@ npm run clean
558
573
  ### Reporting Issues
559
574
 
560
575
  Found a bug or have a feature request?
576
+
561
577
  - GitHub Issues: https://github.com/holokai/holo-provider-claude/issues
562
578
  - Include: Holo version, Claude model, request/response samples
563
579
 
@@ -572,6 +588,7 @@ MIT © Holokai
572
588
  ## Changelog
573
589
 
574
590
  ### v0.1.0 (Current)
591
+
575
592
  - ✅ Initial plugin release
576
593
  - ✅ Extracted from monolithic architecture
577
594
  - ✅ Migrated to SDK types
@@ -1,6 +1,9 @@
1
- import { BaseAuditor, HoloWorkerRequest, ProviderEnvelope, ProviderEvent } from "@holokai/sdk";
1
+ import { BaseAuditor } from "@holokai/sdk/provider";
2
+ import type { ProviderEnvelope, ProviderEvent } from "@holokai/types/provider";
3
+ import type { HoloWorkerRequest } from "@holokai/types/worker";
4
+ import type { LlmRequest } from "@holokai/types/entities";
5
+ import { LlmStatus } from "@holokai/types/entities";
2
6
  import { MessageCreateParamsBase } from "@anthropic-ai/sdk/resources/messages";
3
- import { LlmRequest, LlmStatus } from "@holokai/sdk/core/entities";
4
7
  export declare class ClaudeAuditor extends BaseAuditor {
5
8
  readonly provider = "claude";
6
9
  protected toHoloRequest(workerRequest: HoloWorkerRequest, llmRequest: Omit<LlmRequest, 'id'>): void;
@@ -15,7 +18,7 @@ export declare class ClaudeAuditor extends BaseAuditor {
15
18
  total_processing_time: any;
16
19
  }>>;
17
20
  protected mapResponseStatus(providerEvent: ProviderEvent): Promise<LlmStatus>;
18
- private extractUserPromptFromMessages;
19
21
  protected createProviderEnvelope(payload: MessageCreateParamsBase): Promise<ProviderEnvelope>;
22
+ private extractUserPromptFromMessages;
20
23
  }
21
24
  //# sourceMappingURL=claude.auditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.auditor.d.ts","sourceRoot":"","sources":["../src/claude.auditor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAe,gBAAgB,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,UAAU,EAAE,SAAS,EAAC,MAAM,4BAA4B,CAAC;AAEjE,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;IAE7B,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI;IAiBnG,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI;cAiBxF,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;;;;;;;cAgBpF,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;IAQnF,OAAO,CAAC,6BAA6B;cAmBrB,sBAAsB,CAClC,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,gBAAgB,CAAC;CAc/B"}
1
+ {"version":3,"file":"claude.auditor.d.ts","sourceRoot":"","sources":["../src/claude.auditor.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAC;AAElD,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC7E,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAI7E,qBACa,aAAc,SAAQ,WAAW;IAC1C,QAAQ,CAAC,QAAQ,YAAY;IAE7B,SAAS,CAAC,aAAa,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI;IAiBnG,SAAS,CAAC,kBAAkB,CAAC,aAAa,EAAE,iBAAiB,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,IAAI;cAiBxF,kBAAkB,CAAC,aAAa,EAAE,OAAO,CAAC,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;;;;;;;cAgBpF,iBAAiB,CAAC,aAAa,EAAE,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC;cAQnE,sBAAsB,CAClC,OAAO,EAAE,uBAAuB,GACjC,OAAO,CAAC,gBAAgB,CAAC;IAa5B,OAAO,CAAC,6BAA6B;CAoBxC"}
@@ -5,8 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { injectable } from 'tsyringe';
8
- import { BaseAuditor, pickDefined } from "@holokai/sdk";
9
- import { LlmStatus } from "@holokai/sdk/core/entities";
8
+ import { BaseAuditor } from "@holokai/sdk/provider";
9
+ import { pickDefined } from "@holokai/sdk";
10
+ import { LlmStatus } from "@holokai/types/entities";
10
11
  let ClaudeAuditor = class ClaudeAuditor extends BaseAuditor {
11
12
  provider = 'claude';
12
13
  toHoloRequest(workerRequest, llmRequest) {
@@ -64,6 +65,17 @@ let ClaudeAuditor = class ClaudeAuditor extends BaseAuditor {
64
65
  }
65
66
  return super.mapResponseStatus(providerEvent);
66
67
  }
68
+ async createProviderEnvelope(payload) {
69
+ const logger = this.mlog(this.createProviderEnvelope);
70
+ if (!payload.model) {
71
+ logger.error(`Missing model: ${JSON.stringify(payload)}`);
72
+ }
73
+ return pickDefined({
74
+ model_slug: payload.model,
75
+ system_prompt: payload.system ?
76
+ (Array.isArray(payload.system) ? JSON.stringify(payload.system) : payload.system) : undefined
77
+ });
78
+ }
67
79
  extractUserPromptFromMessages(messages) {
68
80
  if (!messages || !Array.isArray(messages))
69
81
  return undefined;
@@ -82,17 +94,6 @@ let ClaudeAuditor = class ClaudeAuditor extends BaseAuditor {
82
94
  }
83
95
  return undefined;
84
96
  }
85
- async createProviderEnvelope(payload) {
86
- const logger = this.mlog(this.createProviderEnvelope);
87
- if (!payload.model) {
88
- logger.error(`Missing model: ${JSON.stringify(payload)}`);
89
- }
90
- return pickDefined({
91
- model_slug: payload.model,
92
- system_prompt: payload.system ?
93
- (Array.isArray(payload.system) ? JSON.stringify(payload.system) : payload.system) : undefined
94
- });
95
- }
96
97
  };
97
98
  ClaudeAuditor = __decorate([
98
99
  injectable()
@@ -1 +1 @@
1
- {"version":3,"file":"claude.auditor.js","sourceRoot":"","sources":["../src/claude.auditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.auditor.js","sourceRoot":"","sources":["../src/claude.auditor.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { BaseProvider, IAuditor, IProviderTranslator, IResponseFactory, ProviderContext } from '@holokai/sdk';
1
+ import { BaseProvider } from '@holokai/sdk/provider';
2
+ import type { IAuditor, IProviderTranslator, IResponseFactory, ProviderContext } from '@holokai/types/provider';
2
3
  import { Anthropic } from '@anthropic-ai/sdk/client';
3
4
  import { MessageCreateParamsBase } from '@anthropic-ai/sdk/resources/messages';
4
5
  import { ModelInfosPage } from '@anthropic-ai/sdk/resources/models';
@@ -6,11 +7,12 @@ import { Message } from '@anthropic-ai/sdk/resources/messages/messages';
6
7
  import { APIError } from "@anthropic-ai/sdk";
7
8
  import { ErrorResponse } from "@anthropic-ai/sdk/resources/shared";
8
9
  export declare class ClaudeProvider extends BaseProvider<Anthropic, MessageCreateParamsBase> {
10
+ getModels(allowedModels: string[] | true): Promise<ModelInfosPage>;
11
+ getModelNameFromRequest(payload: MessageCreateParamsBase): Promise<string>;
9
12
  protected createAuditor(): IAuditor;
10
13
  protected createClient(): Anthropic;
11
14
  protected createTranslator(): IProviderTranslator;
12
15
  protected createResponseFactory(): IResponseFactory;
13
- getModels(allowedModels: string[] | true): Promise<ModelInfosPage>;
14
16
  protected handleRequest(payload: MessageCreateParamsBase, ctx: ProviderContext): Promise<{
15
17
  final: () => Promise<Message>;
16
18
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"claude.provider.d.ts","sourceRoot":"","sources":["../src/claude.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EACZ,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAEhB,eAAe,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAC,OAAO,EAAC,MAAM,+CAA+C,CAAC;AAGtE,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAc,aAAa,EAAC,MAAM,oCAAoC,CAAC;AAE9E,qBAAa,cAAe,SAAQ,YAAY,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAEhF,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,SAAS;IAInC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;IAI7C,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;cAUxD,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,eAAe;qBAcd,OAAO,CAAC,OAAO,CAAC;;cAGtE,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;CAUvE"}
1
+ {"version":3,"file":"claude.provider.d.ts","sourceRoot":"","sources":["../src/claude.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACnD,OAAO,KAAK,EAAC,QAAQ,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAE9G,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AAElE,OAAO,EAAC,OAAO,EAAC,MAAM,+CAA+C,CAAC;AAGtE,OAAO,EAAC,QAAQ,EAAC,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAc,aAAa,EAAC,MAAM,oCAAoC,CAAC;AAE9E,qBAAa,cAAe,SAAQ,YAAY,CAAC,SAAS,EAAE,uBAAuB,CAAC;IAE1E,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC;IAUlE,uBAAuB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhF,SAAS,CAAC,aAAa,IAAI,QAAQ;IAInC,SAAS,CAAC,YAAY,IAAI,SAAS;IAInC,SAAS,CAAC,gBAAgB,IAAI,mBAAmB;IAIjD,SAAS,CAAC,qBAAqB,IAAI,gBAAgB;cAInC,aAAa,CAAC,OAAO,EAAE,uBAAuB,EAAE,GAAG,EAAE,eAAe;qBAcd,OAAO,CAAC,OAAO,CAAC;;cAGtE,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;CAUvE"}
@@ -1,9 +1,21 @@
1
- import { BaseProvider, pickHeadersByPrefix } from '@holokai/sdk';
1
+ import { BaseProvider } from '@holokai/sdk/provider';
2
+ import { pickHeadersByPrefix } from '@holokai/sdk';
2
3
  import { Anthropic } from '@anthropic-ai/sdk/client';
3
4
  import { ClaudeAuditor } from './claude.auditor';
4
5
  import { ClaudeTranslator } from './claude.translator';
5
6
  import { ClaudeResponseFactory } from './claude.response.factory';
6
7
  export class ClaudeProvider extends BaseProvider {
8
+ async getModels(allowedModels) {
9
+ const response = await this.client.models.list({ limit: 100 });
10
+ if (allowedModels === true) {
11
+ return response;
12
+ }
13
+ response.data = response.data.filter(model => allowedModels.includes(model.id));
14
+ return response;
15
+ }
16
+ async getModelNameFromRequest(payload) {
17
+ return payload.model;
18
+ }
7
19
  createAuditor() {
8
20
  return new ClaudeAuditor();
9
21
  }
@@ -16,14 +28,6 @@ export class ClaudeProvider extends BaseProvider {
16
28
  createResponseFactory() {
17
29
  return ClaudeResponseFactory.instance();
18
30
  }
19
- async getModels(allowedModels) {
20
- const response = await this.client.models.list({ limit: 100 });
21
- if (allowedModels === true) {
22
- return response;
23
- }
24
- response.data = response.data.filter(model => allowedModels.includes(model.id));
25
- return response;
26
- }
27
31
  async handleRequest(payload, ctx) {
28
32
  const headers = ctx.headers ? pickHeadersByPrefix(ctx.headers, ['anthropic-']) : [];
29
33
  const options = {
@@ -1 +1 @@
1
- {"version":3,"file":"claude.provider.js","sourceRoot":"","sources":["../src/claude.provider.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,YAAY,EAIZ,mBAAmB,EAEtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAC,SAAS,EAAC,MAAM,0BAA0B,CAAC;AAGnD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAC,qBAAqB,EAAC,MAAM,2BAA2B,CAAC;AAIhE,MAAM,OAAO,cAAe,SAAQ,YAAgD;IAEtE,aAAa;QACnB,OAAO,IAAI,aAAa,EAAE,CAAC;IAC/B,CAAC;IAES,YAAY;QAClB,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAES,gBAAgB;QACtB,OAAO,gBAAgB,CAAC,QAAQ,EAAE,CAAC;IACvC,CAAC;IAES,qBAAqB;QAC3B,OAAO,qBAAqB,CAAC,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,aAA8B;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;QAC7D,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QAChF,OAAO,QAAQ,CAAC;IACpB,CAAC;IAES,KAAK,CAAC,aAAa,CAAC,OAAgC,EAAE,GAAoB;QAChF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,MAAM,OAAO,GAAG;YACZ,OAAO;SACV,CAAC;QACF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxD,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAU,EAAE,EAAE,CAAC,GAAG,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,EAAC,CAAC;QAC3C,CAAC;QAED,gBAAgB;QAChB,MAAM,GAAG,GAAG,EAAC,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC,CAAC;QACxC,OAAO,EAAC,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAqB,EAAC,CAAC;IACxF,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,KAAe;QACvC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,OAAO;gBACH,IAAI,EAAE,OAAO;gBACb,UAAU,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;gBACnC,KAAK,EAAE,KAAK,CAAC,KAAoB;aACpC,CAAA;QACL,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,CAAC;CACJ"}
1
+ {"version":3,"file":"claude.provider.js","sourceRoot":"","sources":["../src/claude.provider.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,23 @@
1
- import { ClaudeRawContentBlockDeltaEvent, ClaudeRawContentBlockStartEvent, ClaudeRawContentBlockStopEvent, ClaudeRawMessageDeltaEvent, ClaudeRawMessageStartEvent, ClaudeRawMessageStopEvent, ClaudeResponseMessage, ClaudeTextBlock, ClaudeTextDelta, ClaudeUsage } from './types';
2
- import { HoloErrorCode, IResponseFactory } from '@holokai/sdk';
1
+ import type { IResponseFactory } from '@holokai/types/provider';
2
+ import type { HoloErrorCode } from '@holokai/types/holo';
3
3
  import { ErrorResponse } from '@anthropic-ai/sdk/resources/shared';
4
+ import { Message, RawContentBlockDeltaEvent, RawContentBlockStartEvent, RawContentBlockStopEvent, RawMessageDeltaEvent, RawMessageStartEvent, RawMessageStopEvent, TextBlock, TextDelta, Usage } from "@anthropic-ai/sdk/resources/messages/messages";
4
5
  export type ClaudeResponseTypes = 'timeout_error' | 'invalid_request_error' | 'not_found_error' | 'overloaded_error' | 'permission_error' | 'rate_limit_error' | 'authentication_error' | 'billing_error' | 'api_error';
5
6
  export declare class ClaudeResponseFactory implements IResponseFactory {
7
+ static streamResponseMessage(text?: string | string[]): (Partial<RawMessageStartEvent> | Partial<RawMessageDeltaEvent> | Partial<RawMessageStopEvent> | Partial<RawContentBlockStartEvent> | Partial<RawContentBlockDeltaEvent> | Partial<RawContentBlockStopEvent>)[];
8
+ static createResponseMessage(text?: string | string[]): Partial<Message>;
9
+ static createTextMessages(text: string | string[]): Partial<TextBlock>[];
10
+ static createTextMessage(text: string): Partial<TextBlock>;
11
+ static createUsage(): Partial<Usage>;
12
+ static createRawContentBlockStartEvent(text?: string, index?: number): Partial<RawContentBlockStartEvent>;
13
+ static createRawContentBlockDeltaEvent(text?: string, index?: number): Partial<RawContentBlockDeltaEvent>;
14
+ static createRawContentBlockStopEvent(index?: number): Partial<RawContentBlockStopEvent>;
15
+ static createTextDelta(text: string): Partial<TextDelta>;
16
+ static createRawMessageStartEvent(message: Message): Partial<RawMessageStartEvent>;
17
+ static createRawMessageDeltaEvent(): Partial<RawMessageDeltaEvent>;
18
+ static createRawMessageStopEvent(): Partial<RawMessageStopEvent>;
19
+ static instance(): ClaudeResponseFactory;
6
20
  mapHoloCode(code: HoloErrorCode): ClaudeResponseTypes;
7
21
  createError(message: string, code: HoloErrorCode): ErrorResponse;
8
- static streamResponseMessage(text?: string | string[]): (Partial<import("@anthropic-ai/sdk/resources/beta").BetaRawMessageStartEvent> | Partial<import("@anthropic-ai/sdk/resources/beta").BetaRawMessageDeltaEvent> | Partial<import("@anthropic-ai/sdk/resources/beta").BetaRawMessageStopEvent> | Partial<import("@anthropic-ai/sdk/resources/beta").BetaRawContentBlockStartEvent> | Partial<import("@anthropic-ai/sdk/resources/beta").BetaRawContentBlockDeltaEvent> | Partial<import("@anthropic-ai/sdk/resources/beta").BetaRawContentBlockStopEvent>)[];
9
- static createResponseMessage(text?: string | string[]): Partial<ClaudeResponseMessage>;
10
- static createTextMessages(text: string | string[]): Partial<ClaudeTextBlock>[];
11
- static createTextMessage(text: string): Partial<ClaudeTextBlock>;
12
- static createUsage(): Partial<ClaudeUsage>;
13
- static createRawContentBlockStartEvent(text?: string, index?: number): Partial<ClaudeRawContentBlockStartEvent>;
14
- static createRawContentBlockDeltaEvent(text?: string, index?: number): Partial<ClaudeRawContentBlockDeltaEvent>;
15
- static createRawContentBlockStopEvent(index?: number): Partial<ClaudeRawContentBlockStopEvent>;
16
- static createTextDelta(text: string): Partial<ClaudeTextDelta>;
17
- static createRawMessageStartEvent(message: ClaudeResponseMessage): Partial<ClaudeRawMessageStartEvent>;
18
- static createRawMessageDeltaEvent(): Partial<ClaudeRawMessageDeltaEvent>;
19
- static createRawMessageStopEvent(): Partial<ClaudeRawMessageStopEvent>;
20
- static instance(): ClaudeResponseFactory;
21
22
  }
22
23
  //# sourceMappingURL=claude.response.factory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.response.factory.d.ts","sourceRoot":"","sources":["../src/claude.response.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,+BAA+B,EAC/B,+BAA+B,EAC/B,8BAA8B,EAC9B,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,qBAAqB,EACrB,eAAe,EACf,eAAe,EACf,WAAW,EACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAc,MAAM,cAAc,CAAC;AAC1E,OAAO,EAAC,aAAa,EAAC,MAAM,oCAAoC,CAAC;AAEjE,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACb,uBAAuB,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,eAAe,GACf,WAAW,CAAC;AAElB,qBAAa,qBAAsB,YAAW,gBAAgB;IAE1D,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,mBAAmB;IAOrD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa;IAWhE,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO;IA6BzD,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAe1F,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,EAAE;IAO9E,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAQhE,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,WAAW,CAAC;IAY1C,MAAM,CAAC,+BAA+B,CAAC,IAAI,GAAE,MAAW,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAQtH,MAAM,CAAC,+BAA+B,CAAC,IAAI,GAAE,MAAW,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,+BAA+B,CAAC;IAQtH,MAAM,CAAC,8BAA8B,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,8BAA8B,CAAC;IAOjG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAO9D,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAOtG,MAAM,CAAC,0BAA0B,IAAI,OAAO,CAAC,0BAA0B,CAAC;IAkBxE,MAAM,CAAC,yBAAyB,IAAI,OAAO,CAAC,yBAAyB,CAAC;IAMtE,MAAM,CAAC,QAAQ,IAAI,qBAAqB;CAG3C"}
1
+ {"version":3,"file":"claude.response.factory.d.ts","sourceRoot":"","sources":["../src/claude.response.factory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,yBAAyB,CAAC;AAC9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAC,aAAa,EAAC,MAAM,oCAAoC,CAAC;AACjE,OAAO,EACH,OAAO,EACP,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,KAAK,EACR,MAAM,+CAA+C,CAAC;AAEvD,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACb,uBAAuB,GACvB,iBAAiB,GACjB,kBAAkB,GAClB,kBAAkB,GAClB,kBAAkB,GAClB,sBAAsB,GACtB,eAAe,GACf,WAAW,CAAC;AAElB,qBAAa,qBAAsB,YAAW,gBAAgB;IAE1D,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO;IA6BzD,MAAM,CAAC,qBAAqB,CAAC,IAAI,GAAE,MAAM,GAAG,MAAM,EAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAe5E,MAAM,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE;IAOxE,MAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAQ1D,MAAM,CAAC,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;IAYpC,MAAM,CAAC,+BAA+B,CAAC,IAAI,GAAE,MAAW,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQhH,MAAM,CAAC,+BAA+B,CAAC,IAAI,GAAE,MAAW,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAQhH,MAAM,CAAC,8BAA8B,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAO3F,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAOxD,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAOlF,MAAM,CAAC,0BAA0B,IAAI,OAAO,CAAC,oBAAoB,CAAC;IAkBlE,MAAM,CAAC,yBAAyB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAMhE,MAAM,CAAC,QAAQ,IAAI,qBAAqB;IAIxC,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,mBAAmB;IAOrD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa;CAUnE"}
@@ -1,21 +1,5 @@
1
1
  import { pickDefined } from '@holokai/sdk';
2
2
  export class ClaudeResponseFactory {
3
- mapHoloCode(code) {
4
- switch (code) {
5
- case 'guard_failure':
6
- return 'invalid_request_error';
7
- }
8
- }
9
- createError(message, code) {
10
- return {
11
- request_id: null,
12
- type: 'error',
13
- error: {
14
- type: this.mapHoloCode(code),
15
- message
16
- }
17
- };
18
- }
19
3
  static streamResponseMessage(text = '') {
20
4
  const messages = [];
21
5
  const responseMessage = this.createResponseMessage(text);
@@ -134,5 +118,21 @@ export class ClaudeResponseFactory {
134
118
  static instance() {
135
119
  return new ClaudeResponseFactory();
136
120
  }
121
+ mapHoloCode(code) {
122
+ switch (code) {
123
+ case 'guard_failure':
124
+ return 'invalid_request_error';
125
+ }
126
+ }
127
+ createError(message, code) {
128
+ return {
129
+ request_id: null,
130
+ type: 'error',
131
+ error: {
132
+ type: this.mapHoloCode(code),
133
+ message
134
+ }
135
+ };
136
+ }
137
137
  }
138
138
  //# sourceMappingURL=claude.response.factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.response.factory.js","sourceRoot":"","sources":["../src/claude.response.factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude.response.factory.js","sourceRoot":"","sources":["../src/claude.response.factory.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  import 'reflect-metadata';
2
2
  import { ClaudeMessageTranslator, ClaudeRequestTranslator, ClaudeResponseTranslator, ClaudeStreamTranslator } from "./translators";
3
- import { ClaudeChatRequest, ClaudeRequestMessage, ClaudeResponse } from "./types";
4
- import { IProviderTranslator } from "@holokai/sdk/provider";
5
- import { ClassLogger, HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/sdk";
3
+ import type { IProviderTranslator } from "@holokai/types/provider";
4
+ import { ClassLogger } from "@holokai/sdk";
5
+ import type { HoloMessage, HoloRequest, HoloResponse, HoloStreamChunk } from "@holokai/types/holo";
6
+ import { Message, MessageParam, MessageStreamParams, RawMessageStreamEvent } from "@anthropic-ai/sdk/resources/messages/messages";
6
7
  export declare class ClaudeTranslator extends ClassLogger implements IProviderTranslator {
7
8
  private readonly requestTranslator;
8
9
  private readonly messageTranslator;
@@ -10,12 +11,12 @@ export declare class ClaudeTranslator extends ClassLogger implements IProviderTr
10
11
  private readonly streamTranslator;
11
12
  constructor(requestTranslator: ClaudeRequestTranslator, messageTranslator: ClaudeMessageTranslator, responseTranslator: ClaudeResponseTranslator, streamTranslator: ClaudeStreamTranslator);
12
13
  static instance(): IProviderTranslator;
13
- fromHoloRequest(request: HoloRequest): Promise<Partial<ClaudeChatRequest>>;
14
- toHoloRequest(request: ClaudeChatRequest): Promise<Partial<HoloRequest>>;
15
- fromHoloMessages(messages: HoloMessage[]): Promise<Partial<ClaudeRequestMessage>[]>;
16
- toHoloMessages(messages: ClaudeRequestMessage[]): Promise<Partial<HoloMessage>[]>;
17
- fromHoloResponse(message: HoloResponse): Promise<Partial<ClaudeResponse>>;
18
- toHoloResponse(message: ClaudeResponse): Promise<Partial<HoloResponse>>;
14
+ fromHoloRequest(request: HoloRequest): Promise<Partial<MessageStreamParams>>;
15
+ toHoloRequest(request: MessageStreamParams): Promise<Partial<HoloRequest>>;
16
+ fromHoloMessages(messages: HoloMessage[]): Promise<Partial<MessageParam>[]>;
17
+ toHoloMessages(messages: MessageParam[]): Promise<Partial<HoloMessage>[]>;
18
+ fromHoloResponse(message: HoloResponse): Promise<Partial<RawMessageStreamEvent | Message>>;
19
+ toHoloResponse(message: RawMessageStreamEvent | Message): Promise<Partial<HoloResponse>>;
19
20
  fromHoloStreamChunks(chunks: HoloStreamChunk[]): Promise<unknown>;
20
21
  }
21
22
  //# sourceMappingURL=claude.translator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"claude.translator.d.ts","sourceRoot":"","sources":["../src/claude.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAQH,uBAAuB,EACvB,uBAAuB,EAGvB,wBAAwB,EACxB,sBAAsB,EAIzB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAE,cAAc,EAAC,MAAM,SAAS,CAAC;AAChF,OAAO,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AAGlG,qBACa,gBAAiB,SAAQ,WAAY,YAAW,mBAAmB;IAExE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,iBAAiB,EAAE,uBAAuB,EAC1C,iBAAiB,EAAE,uBAAuB,EAC1C,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,sBAAsB;IAK7D,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IAoChC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAI1E,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAIxE,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;IAInF,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAIjF,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAIzE,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAIvE,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1E"}
1
+ {"version":3,"file":"claude.translator.d.ts","sourceRoot":"","sources":["../src/claude.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAQH,uBAAuB,EACvB,uBAAuB,EAGvB,wBAAwB,EACxB,sBAAsB,EAIzB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACjG,OAAO,EACH,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,+CAA+C,CAAC;AAGvD,qBACa,gBAAiB,SAAQ,WAAY,YAAW,mBAAmB;IAExE,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAHhB,iBAAiB,EAAE,uBAAuB,EAC1C,iBAAiB,EAAE,uBAAuB,EAC1C,kBAAkB,EAAE,wBAAwB,EAC5C,gBAAgB,EAAE,sBAAsB;IAK7D,MAAM,CAAC,QAAQ,IAAI,mBAAmB;IAoChC,eAAe,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAI5E,aAAa,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAI1E,gBAAgB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;IAI3E,cAAc,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;IAIzE,gBAAgB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,qBAAqB,GAAG,OAAO,CAAC,CAAC;IAI1F,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAIxF,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAG1E"}