@holokai/holo-provider-claude 0.1.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.
- package/LICENSE +21 -0
- package/README.md +588 -0
- package/dist/claude.auditor.d.ts +12 -0
- package/dist/claude.auditor.d.ts.map +1 -0
- package/dist/claude.auditor.js +113 -0
- package/dist/claude.auditor.js.map +1 -0
- package/dist/claude.provider.d.ts +19 -0
- package/dist/claude.provider.d.ts.map +1 -0
- package/dist/claude.provider.js +53 -0
- package/dist/claude.provider.js.map +1 -0
- package/dist/claude.response.factory.d.ts +21 -0
- package/dist/claude.response.factory.d.ts.map +1 -0
- package/dist/claude.response.factory.js +132 -0
- package/dist/claude.response.factory.js.map +1 -0
- package/dist/claude.translator.d.ts +21 -0
- package/dist/claude.translator.d.ts.map +1 -0
- package/dist/claude.translator.js +76 -0
- package/dist/claude.translator.js.map +1 -0
- package/dist/claude.wire.adapter.d.ts +5 -0
- package/dist/claude.wire.adapter.d.ts.map +1 -0
- package/dist/claude.wire.adapter.js +9 -0
- package/dist/claude.wire.adapter.js.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -0
- package/dist/manifest.d.ts +3 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +146 -0
- package/dist/manifest.js.map +1 -0
- package/dist/plugin.d.ts +20 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +53 -0
- package/dist/plugin.js.map +1 -0
- package/dist/translators/claude.content.translators.d.ts +12 -0
- package/dist/translators/claude.content.translators.d.ts.map +1 -0
- package/dist/translators/claude.content.translators.js +65 -0
- package/dist/translators/claude.content.translators.js.map +1 -0
- package/dist/translators/claude.message.translators.d.ts +14 -0
- package/dist/translators/claude.message.translators.d.ts.map +1 -0
- package/dist/translators/claude.message.translators.js +129 -0
- package/dist/translators/claude.message.translators.js.map +1 -0
- package/dist/translators/claude.request.translators.d.ts +18 -0
- package/dist/translators/claude.request.translators.d.ts.map +1 -0
- package/dist/translators/claude.request.translators.js +110 -0
- package/dist/translators/claude.request.translators.js.map +1 -0
- package/dist/translators/claude.response.content.translators.d.ts +12 -0
- package/dist/translators/claude.response.content.translators.d.ts.map +1 -0
- package/dist/translators/claude.response.content.translators.js +53 -0
- package/dist/translators/claude.response.content.translators.js.map +1 -0
- package/dist/translators/claude.response.message.translators.d.ts +14 -0
- package/dist/translators/claude.response.message.translators.d.ts.map +1 -0
- package/dist/translators/claude.response.message.translators.js +95 -0
- package/dist/translators/claude.response.message.translators.js.map +1 -0
- package/dist/translators/claude.response.translators.d.ts +18 -0
- package/dist/translators/claude.response.translators.d.ts.map +1 -0
- package/dist/translators/claude.response.translators.js +109 -0
- package/dist/translators/claude.response.translators.js.map +1 -0
- package/dist/translators/claude.tool.translators.d.ts +19 -0
- package/dist/translators/claude.tool.translators.d.ts.map +1 -0
- package/dist/translators/claude.tool.translators.js +68 -0
- package/dist/translators/claude.tool.translators.js.map +1 -0
- package/dist/translators/claude.usage.translators.d.ts +12 -0
- package/dist/translators/claude.usage.translators.d.ts.map +1 -0
- package/dist/translators/claude.usage.translators.js +51 -0
- package/dist/translators/claude.usage.translators.js.map +1 -0
- package/dist/translators/index.d.ts +10 -0
- package/dist/translators/index.d.ts.map +1 -0
- package/dist/translators/index.js +10 -0
- package/dist/translators/index.js.map +1 -0
- package/dist/translators/streaming/claude.content.block.delta.event.translator.d.ts +12 -0
- package/dist/translators/streaming/claude.content.block.delta.event.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.content.block.delta.event.translator.js +91 -0
- package/dist/translators/streaming/claude.content.block.delta.event.translator.js.map +1 -0
- package/dist/translators/streaming/claude.content.block.start.event.translator.d.ts +12 -0
- package/dist/translators/streaming/claude.content.block.start.event.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.content.block.start.event.translator.js +83 -0
- package/dist/translators/streaming/claude.content.block.start.event.translator.js.map +1 -0
- package/dist/translators/streaming/claude.content.block.stop.event.translator.d.ts +12 -0
- package/dist/translators/streaming/claude.content.block.stop.event.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.content.block.stop.event.translator.js +48 -0
- package/dist/translators/streaming/claude.content.block.stop.event.translator.js.map +1 -0
- package/dist/translators/streaming/claude.message.delta.event.translator.d.ts +12 -0
- package/dist/translators/streaming/claude.message.delta.event.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.message.delta.event.translator.js +74 -0
- package/dist/translators/streaming/claude.message.delta.event.translator.js.map +1 -0
- package/dist/translators/streaming/claude.message.start.event.translator.d.ts +14 -0
- package/dist/translators/streaming/claude.message.start.event.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.message.start.event.translator.js +81 -0
- package/dist/translators/streaming/claude.message.start.event.translator.js.map +1 -0
- package/dist/translators/streaming/claude.message.stop.event.translator.d.ts +12 -0
- package/dist/translators/streaming/claude.message.stop.event.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.message.stop.event.translator.js +52 -0
- package/dist/translators/streaming/claude.message.stop.event.translator.js.map +1 -0
- package/dist/translators/streaming/claude.stream.translator.d.ts +24 -0
- package/dist/translators/streaming/claude.stream.translator.d.ts.map +1 -0
- package/dist/translators/streaming/claude.stream.translator.js +136 -0
- package/dist/translators/streaming/claude.stream.translator.js.map +1 -0
- package/dist/translators/streaming/index.d.ts +8 -0
- package/dist/translators/streaming/index.d.ts.map +1 -0
- package/dist/translators/streaming/index.js +8 -0
- package/dist/translators/streaming/index.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/request.types.d.ts +8 -0
- package/dist/types/request.types.d.ts.map +1 -0
- package/dist/types/request.types.js +2 -0
- package/dist/types/request.types.js.map +1 -0
- package/dist/types/response.types.d.ts +16 -0
- package/dist/types/response.types.d.ts.map +1 -0
- package/dist/types/response.types.js +2 -0
- package/dist/types/response.types.js.map +1 -0
- package/dist/utils/finish.reason.mapper.d.ts +5 -0
- package/dist/utils/finish.reason.mapper.d.ts.map +1 -0
- package/dist/utils/finish.reason.mapper.js +40 -0
- package/dist/utils/finish.reason.mapper.js.map +1 -0
- package/dist/utils/stable-id.d.ts +2 -0
- package/dist/utils/stable-id.d.ts.map +1 -0
- package/dist/utils/stable-id.js +13 -0
- package/dist/utils/stable-id.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
13
|
+
let ClaudeContentBlockDeltaEventTranslator = class ClaudeContentBlockDeltaEventTranslator extends StreamTranslator {
|
|
14
|
+
holoDefaults = {};
|
|
15
|
+
providerDefaults = {};
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
}
|
|
19
|
+
async fromHoloManyImpl(source) {
|
|
20
|
+
const out = [];
|
|
21
|
+
const d = source.delta;
|
|
22
|
+
if (!d)
|
|
23
|
+
return out;
|
|
24
|
+
// 1) Text → Claude text_delta
|
|
25
|
+
if (d.type === 'content_delta' && typeof d.delta?.content === 'string') {
|
|
26
|
+
out.push({
|
|
27
|
+
type: 'content_block_delta',
|
|
28
|
+
index: d.index ?? 0, // Preserve index: 0
|
|
29
|
+
delta: {
|
|
30
|
+
type: 'text_delta',
|
|
31
|
+
text: d.delta.content
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
// 2) Tool arg fragments → pass-through raw Claude event(s) from provider_delta
|
|
36
|
+
// Only process if provider is Claude to avoid mixing provider events
|
|
37
|
+
if (d.type === 'message_delta' && d.provider === 'claude' && d.provider_delta) {
|
|
38
|
+
const rawList = Array.isArray(d.provider_delta) ? d.provider_delta : [d.provider_delta];
|
|
39
|
+
for (const raw of rawList) {
|
|
40
|
+
const ev = raw;
|
|
41
|
+
// Only forward input_json_delta events (tool arg fragments)
|
|
42
|
+
if (ev.type === 'content_block_delta' && ev.delta?.type === 'input_json_delta') {
|
|
43
|
+
out.push(ev); // Lossless pass-through
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return out;
|
|
48
|
+
}
|
|
49
|
+
async toHoloManyImpl(source) {
|
|
50
|
+
const out = [];
|
|
51
|
+
if (source.delta.type === 'text_delta' && source.delta.text) {
|
|
52
|
+
out.push({
|
|
53
|
+
delta: {
|
|
54
|
+
provider: 'claude',
|
|
55
|
+
type: 'content_delta',
|
|
56
|
+
index: source.index,
|
|
57
|
+
delta: {
|
|
58
|
+
// Omitting role for cleaner deltas - it's implied by context
|
|
59
|
+
content: source.delta.text
|
|
60
|
+
},
|
|
61
|
+
// Carry raw event for lossless round-trip
|
|
62
|
+
provider_delta: source
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
if (source.delta.type === 'input_json_delta' && source.delta.partial_json) {
|
|
67
|
+
// Tool argument fragments - downstream accumulation required
|
|
68
|
+
out.push({
|
|
69
|
+
delta: {
|
|
70
|
+
provider: 'claude',
|
|
71
|
+
type: 'message_delta',
|
|
72
|
+
index: source.index,
|
|
73
|
+
delta: {
|
|
74
|
+
// Empty delta - the real content is in provider_delta
|
|
75
|
+
},
|
|
76
|
+
// Carry raw event for proper processing
|
|
77
|
+
provider_delta: source
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
// Future: Handle other delta types (citations_delta, thinking_delta, etc.)
|
|
82
|
+
// For now, we only process text and tool argument deltas
|
|
83
|
+
return out;
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
ClaudeContentBlockDeltaEventTranslator = __decorate([
|
|
87
|
+
injectable(),
|
|
88
|
+
__metadata("design:paramtypes", [])
|
|
89
|
+
], ClaudeContentBlockDeltaEventTranslator);
|
|
90
|
+
export { ClaudeContentBlockDeltaEventTranslator };
|
|
91
|
+
//# sourceMappingURL=claude.content.block.delta.event.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.content.block.delta.event.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/claude.content.block.delta.event.translator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ClaudeRawContentBlockStartEvent } from '../../types';
|
|
3
|
+
import { HoloStreamChunk } from '@holokai/sdk';
|
|
4
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
export declare class ClaudeContentBlockStartEventTranslator extends StreamTranslator<HoloStreamChunk, ClaudeRawContentBlockStartEvent> {
|
|
6
|
+
protected holoDefaults: Partial<HoloStreamChunk>;
|
|
7
|
+
protected providerDefaults: Partial<ClaudeRawContentBlockStartEvent>;
|
|
8
|
+
constructor();
|
|
9
|
+
protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<ClaudeRawContentBlockStartEvent>[]>;
|
|
10
|
+
protected toHoloManyImpl(source: ClaudeRawContentBlockStartEvent): Promise<Partial<HoloStreamChunk>[]>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=claude.content.block.start.event.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.content.block.start.event.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/claude.content.block.start.event.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,+BAA+B,EAAC,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAc,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,qBACa,sCAAuC,SAAQ,gBAAgB,CAAC,eAAe,EAAE,+BAA+B,CAAC;IAC1H,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,+BAA+B,CAAC,CAAM;;cAM1D,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,EAAE,CAAC;cA8B9F,cAAc,CAAC,MAAM,EAAE,+BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAgC/G"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { pickDefined } from '@holokai/sdk';
|
|
13
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
14
|
+
let ClaudeContentBlockStartEventTranslator = class ClaudeContentBlockStartEventTranslator extends StreamTranslator {
|
|
15
|
+
holoDefaults = {};
|
|
16
|
+
providerDefaults = {};
|
|
17
|
+
constructor() {
|
|
18
|
+
super();
|
|
19
|
+
}
|
|
20
|
+
async fromHoloManyImpl(source) {
|
|
21
|
+
const d = source.delta;
|
|
22
|
+
if (!d || d.type !== 'message_delta')
|
|
23
|
+
return [];
|
|
24
|
+
const tcs = d.delta?.tool_calls ?? [];
|
|
25
|
+
if (!tcs.length)
|
|
26
|
+
return [];
|
|
27
|
+
// Handle multiple tool calls - emit one content_block_start per call
|
|
28
|
+
return tcs
|
|
29
|
+
.filter(tc => tc.function?.name)
|
|
30
|
+
.map((tc, i) => {
|
|
31
|
+
// Prefer provided index; otherwise fall back to i
|
|
32
|
+
const index = (typeof d.index === 'number') ? d.index : i;
|
|
33
|
+
// Build content block without any type casts
|
|
34
|
+
const contentBlock = pickDefined({
|
|
35
|
+
type: 'tool_use',
|
|
36
|
+
name: tc.function.name,
|
|
37
|
+
input: {}, // shell; args fragments arrive later
|
|
38
|
+
id: tc.id
|
|
39
|
+
});
|
|
40
|
+
return pickDefined({
|
|
41
|
+
type: 'content_block_start',
|
|
42
|
+
index,
|
|
43
|
+
content_block: contentBlock
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
async toHoloManyImpl(source) {
|
|
48
|
+
const cb = source.content_block;
|
|
49
|
+
// Only emit for tool_use starts; ignore text/image/etc. starts
|
|
50
|
+
if (cb.type !== 'tool_use')
|
|
51
|
+
return [];
|
|
52
|
+
// Content block events don't have id/model at top level
|
|
53
|
+
// These would typically be carried from the message_start event in a streaming context
|
|
54
|
+
const chunk = {
|
|
55
|
+
// id and model are not available on content_block_start events
|
|
56
|
+
// The streaming orchestrator would need to maintain these from message_start
|
|
57
|
+
delta: {
|
|
58
|
+
provider: 'claude',
|
|
59
|
+
type: 'message_delta',
|
|
60
|
+
index: source.index,
|
|
61
|
+
delta: {
|
|
62
|
+
role: 'assistant', // Tool-use shells are authored by the assistant
|
|
63
|
+
tool_calls: [{
|
|
64
|
+
id: cb.id,
|
|
65
|
+
type: 'function',
|
|
66
|
+
function: {
|
|
67
|
+
name: cb.name,
|
|
68
|
+
arguments: {} // Shell; args fragments arrive later
|
|
69
|
+
}
|
|
70
|
+
}]
|
|
71
|
+
},
|
|
72
|
+
provider_delta: source // Carry raw event for lossless round-trip
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
return [chunk];
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
ClaudeContentBlockStartEventTranslator = __decorate([
|
|
79
|
+
injectable(),
|
|
80
|
+
__metadata("design:paramtypes", [])
|
|
81
|
+
], ClaudeContentBlockStartEventTranslator);
|
|
82
|
+
export { ClaudeContentBlockStartEventTranslator };
|
|
83
|
+
//# sourceMappingURL=claude.content.block.start.event.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.content.block.start.event.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/claude.content.block.start.event.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAkB,WAAW,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGhD,IAAM,sCAAsC,GAA5C,MAAM,sCAAuC,SAAQ,gBAAkE;IAChH,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAA6C,EAAE,CAAC;IAE1E;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QAE3B,qEAAqE;QACrE,OAAO,GAAG;aACL,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;aAC/B,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;YACX,kDAAkD;YAClD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,6CAA6C;YAC7C,MAAM,YAAY,GAAG,WAAW,CAAC;gBAC7B,IAAI,EAAE,UAAmB;gBACzB,IAAI,EAAE,EAAE,CAAC,QAAS,CAAC,IAAI;gBACvB,KAAK,EAAE,EAAE,EAAE,qCAAqC;gBAChD,EAAE,EAAE,EAAE,CAAC,EAAE;aACZ,CAA8D,CAAC;YAEhE,OAAO,WAAW,CAAC;gBACf,IAAI,EAAE,qBAA8B;gBACpC,KAAK;gBACL,aAAa,EAAE,YAAY;aAC9B,CAA6C,CAAC;QACnD,CAAC,CAAC,CAAC;IACX,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAuC;QAClE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,CAAC;QAEhC,+DAA+D;QAC/D,IAAI,EAAE,CAAC,IAAI,KAAK,UAAU;YAAE,OAAO,EAAE,CAAC;QAEtC,wDAAwD;QACxD,uFAAuF;QACvF,MAAM,KAAK,GAA6B;YACpC,+DAA+D;YAC/D,6EAA6E;YAC7E,KAAK,EAAE;gBACH,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,eAAwB;gBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,KAAK,EAAE;oBACH,IAAI,EAAE,WAAoB,EAAG,gDAAgD;oBAC7E,UAAU,EAAE,CAAC;4BACT,EAAE,EAAE,EAAE,CAAC,EAAE;4BACT,IAAI,EAAE,UAAmB;4BACzB,QAAQ,EAAE;gCACN,IAAI,EAAE,EAAE,CAAC,IAAI;gCACb,SAAS,EAAE,EAAE,CAAE,qCAAqC;6BACvD;yBACJ,CAAC;iBACL;gBACD,cAAc,EAAE,MAAM,CAAE,0CAA0C;aACrE;SACJ,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CACJ,CAAA;AAtEY,sCAAsC;IADlD,UAAU,EAAE;;GACA,sCAAsC,CAsElD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ClaudeRawContentBlockStopEvent } from '../../types';
|
|
3
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
4
|
+
import { HoloStreamChunk } from "@holokai/sdk";
|
|
5
|
+
export declare class ClaudeContentBlockStopEventTranslator extends StreamTranslator<HoloStreamChunk, ClaudeRawContentBlockStopEvent> {
|
|
6
|
+
protected holoDefaults: Partial<HoloStreamChunk>;
|
|
7
|
+
protected providerDefaults: Partial<ClaudeRawContentBlockStopEvent>;
|
|
8
|
+
constructor();
|
|
9
|
+
protected toHoloManyImpl(source: ClaudeRawContentBlockStopEvent): Promise<Partial<HoloStreamChunk>[]>;
|
|
10
|
+
protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<ClaudeRawContentBlockStopEvent>[]>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=claude.content.block.stop.event.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.content.block.stop.event.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/claude.content.block.stop.event.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,8BAA8B,EAAC,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7C,qBACa,qCAAsC,SAAQ,gBAAgB,CAAC,eAAe,EAAE,8BAA8B,CAAC;IACxH,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,8BAA8B,CAAC,CAAM;;cAMzD,cAAc,CAAC,MAAM,EAAE,8BAA8B,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;cAa3F,gBAAgB,CAC5B,MAAM,EAAE,eAAe,GACxB,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,EAAE,CAAC;CAcxD"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
13
|
+
let ClaudeContentBlockStopEventTranslator = class ClaudeContentBlockStopEventTranslator extends StreamTranslator {
|
|
14
|
+
holoDefaults = {};
|
|
15
|
+
providerDefaults = {};
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
}
|
|
19
|
+
async toHoloManyImpl(source) {
|
|
20
|
+
return [{
|
|
21
|
+
// id/model typically carried by orchestrator from message_start
|
|
22
|
+
delta: {
|
|
23
|
+
provider: 'claude',
|
|
24
|
+
type: 'message_delta',
|
|
25
|
+
index: source.index, // which block just stopped
|
|
26
|
+
delta: {}, // no content change
|
|
27
|
+
provider_delta: source
|
|
28
|
+
}
|
|
29
|
+
}];
|
|
30
|
+
}
|
|
31
|
+
async fromHoloManyImpl(source) {
|
|
32
|
+
const { delta } = source;
|
|
33
|
+
const pd = delta?.provider_delta;
|
|
34
|
+
// Only pass through if it's a valid Claude stop event
|
|
35
|
+
if (delta?.provider === 'claude' && pd) {
|
|
36
|
+
if (pd.type === 'content_block_stop') {
|
|
37
|
+
return [pd];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
ClaudeContentBlockStopEventTranslator = __decorate([
|
|
44
|
+
injectable(),
|
|
45
|
+
__metadata("design:paramtypes", [])
|
|
46
|
+
], ClaudeContentBlockStopEventTranslator);
|
|
47
|
+
export { ClaudeContentBlockStopEventTranslator };
|
|
48
|
+
//# sourceMappingURL=claude.content.block.stop.event.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.content.block.stop.event.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/claude.content.block.stop.event.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAIhD,IAAM,qCAAqC,GAA3C,MAAM,qCAAsC,SAAQ,gBAAiE;IAC9G,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAA4C,EAAE,CAAC;IAEzE;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAsC;QACjE,OAAO,CAAC;gBACJ,gEAAgE;gBAChE,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,eAAwB;oBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,2BAA2B;oBAChD,KAAK,EAAE,EAAE,EAAY,oBAAoB;oBACzC,cAAc,EAAE,MAAM;iBACzB;aACJ,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,gBAAgB,CAC5B,MAAuB;QAEvB,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,CAAC;QACvB,MAAM,EAAE,GAAG,KAAK,EAAE,cAAc,CAAC;QAEjC,sDAAsD;QACtD,IAAI,KAAK,EAAE,QAAQ,KAAK,QAAQ,IAAI,EAAE,EAAE,CAAC;YAErC,IAAI,EAAE,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBACnC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;CACJ,CAAA;AArCY,qCAAqC;IADjD,UAAU,EAAE;;GACA,qCAAqC,CAqCjD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ClaudeRawMessageDeltaEvent } from '../../types';
|
|
3
|
+
import { HoloStreamChunk } from '@holokai/sdk';
|
|
4
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
export declare class ClaudeMessageDeltaEventTranslator extends StreamTranslator<HoloStreamChunk, ClaudeRawMessageDeltaEvent> {
|
|
6
|
+
protected holoDefaults: Partial<HoloStreamChunk>;
|
|
7
|
+
protected providerDefaults: Partial<ClaudeRawMessageDeltaEvent>;
|
|
8
|
+
constructor();
|
|
9
|
+
protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<ClaudeRawMessageDeltaEvent>[]>;
|
|
10
|
+
protected toHoloManyImpl(source: ClaudeRawMessageDeltaEvent): Promise<Partial<HoloStreamChunk>[]>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=claude.message.delta.event.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.message.delta.event.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/claude.message.delta.event.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,0BAA0B,EAAC,MAAM,aAAa,CAAC;AACvD,OAAO,EAAC,eAAe,EAAc,MAAM,cAAc,CAAC;AAE1D,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,qBACa,iCAAkC,SAAQ,gBAAgB,CAAC,eAAe,EAAE,0BAA0B,CAAC;IAChH,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAM;;cAMrD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;cA8BzF,cAAc,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAuB1G"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { pickDefined } from '@holokai/sdk';
|
|
13
|
+
import { mapClaudeFinishReason, mapHoloFinishReasonToClaude } from '../../utils/finish.reason.mapper.js';
|
|
14
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
15
|
+
let ClaudeMessageDeltaEventTranslator = class ClaudeMessageDeltaEventTranslator extends StreamTranslator {
|
|
16
|
+
holoDefaults = {};
|
|
17
|
+
providerDefaults = {};
|
|
18
|
+
constructor() {
|
|
19
|
+
super();
|
|
20
|
+
}
|
|
21
|
+
async fromHoloManyImpl(source) {
|
|
22
|
+
const d = source.delta;
|
|
23
|
+
if (!d || d.type !== 'message_delta')
|
|
24
|
+
return [];
|
|
25
|
+
const stop_reason = mapHoloFinishReasonToClaude(source.finish_reason); // Mapper handles undefined
|
|
26
|
+
// Build usage only if present, don't fabricate values
|
|
27
|
+
const usage = d.usage
|
|
28
|
+
? pickDefined({
|
|
29
|
+
input_tokens: d.usage.input_tokens,
|
|
30
|
+
output_tokens: d.usage.output_tokens
|
|
31
|
+
})
|
|
32
|
+
: undefined;
|
|
33
|
+
// Emit only if we actually have something to say
|
|
34
|
+
if (!stop_reason && !usage)
|
|
35
|
+
return [];
|
|
36
|
+
const event = {
|
|
37
|
+
type: 'message_delta',
|
|
38
|
+
delta: {
|
|
39
|
+
container: null, // Required by validator, always null for message_delta
|
|
40
|
+
stop_reason: stop_reason ?? null,
|
|
41
|
+
stop_sequence: null
|
|
42
|
+
},
|
|
43
|
+
...(usage ? { usage: usage } : {}) // Claude usage type is strict but we have partials
|
|
44
|
+
};
|
|
45
|
+
return [event];
|
|
46
|
+
}
|
|
47
|
+
async toHoloManyImpl(source) {
|
|
48
|
+
// Build usage only if we have valid values - keep it minimal
|
|
49
|
+
const usage = source.usage
|
|
50
|
+
? pickDefined({
|
|
51
|
+
input_tokens: source.usage.input_tokens ?? undefined,
|
|
52
|
+
output_tokens: source.usage.output_tokens
|
|
53
|
+
})
|
|
54
|
+
: undefined;
|
|
55
|
+
const chunk = pickDefined({
|
|
56
|
+
delta: {
|
|
57
|
+
provider: 'claude',
|
|
58
|
+
type: 'message_delta',
|
|
59
|
+
choice: 0,
|
|
60
|
+
delta: {}, // Semantic no-op; finish_reason/usage carry the meaning
|
|
61
|
+
usage: usage ?? undefined, // Use undefined instead of null for consistency
|
|
62
|
+
provider_delta: source // Carry raw event for lossless round-trip
|
|
63
|
+
},
|
|
64
|
+
finish_reason: mapClaudeFinishReason(source.delta.stop_reason) // Mapper handles null/undefined
|
|
65
|
+
});
|
|
66
|
+
return [chunk];
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
ClaudeMessageDeltaEventTranslator = __decorate([
|
|
70
|
+
injectable(),
|
|
71
|
+
__metadata("design:paramtypes", [])
|
|
72
|
+
], ClaudeMessageDeltaEventTranslator);
|
|
73
|
+
export { ClaudeMessageDeltaEventTranslator };
|
|
74
|
+
//# sourceMappingURL=claude.message.delta.event.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.message.delta.event.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/claude.message.delta.event.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAEpC,OAAO,EAAkB,WAAW,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,qBAAqB,EAAE,2BAA2B,EAAC,MAAM,qCAAqC,CAAC;AACvG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGhD,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,gBAA6D;IACtG,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAwC,EAAE,CAAC;IAErE;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhD,MAAM,WAAW,GAAG,2BAA2B,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAE,2BAA2B;QAEnG,sDAAsD;QACtD,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK;YACjB,CAAC,CAAC,WAAW,CAAC;gBACV,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;gBAClC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;aACvC,CAAC;YACF,CAAC,CAAC,SAAS,CAAC;QAEhB,iDAAiD;QACjD,IAAI,CAAC,WAAW,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtC,MAAM,KAAK,GAAwC;YAC/C,IAAI,EAAE,eAAwB;YAC9B,KAAK,EAAE;gBACH,SAAS,EAAE,IAAI,EAAG,uDAAuD;gBACzE,WAAW,EAAE,WAAW,IAAI,IAAI;gBAChC,aAAa,EAAE,IAAI;aACtB;YACD,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAC,KAAK,EAAE,KAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAE,mDAAmD;SAC/F,CAAC;QAEF,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAkC;QAC7D,6DAA6D;QAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK;YACtB,CAAC,CAAC,WAAW,CAAC;gBACV,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,SAAS;gBACpD,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,aAAa;aAC5C,CAAC;YACF,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,KAAK,GAA6B,WAAW,CAAC;YAChD,KAAK,EAAE;gBACH,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,eAAwB;gBAC9B,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,EAAE,EAAG,wDAAwD;gBACpE,KAAK,EAAE,KAAK,IAAI,SAAS,EAAG,gDAAgD;gBAC5E,cAAc,EAAE,MAAM,CAAE,0CAA0C;aACrE;YACD,aAAa,EAAE,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAE,gCAAgC;SACnG,CAA6B,CAAC;QAE/B,OAAO,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;CACJ,CAAA;AA7DY,iCAAiC;IAD7C,UAAU,EAAE;;GACA,iCAAiC,CA6D7C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ClaudeRawMessageStartEvent } from '../../types';
|
|
3
|
+
import { ClaudeUsageTranslator } from '../claude.usage.translators';
|
|
4
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
import { HoloStreamChunk } from "@holokai/sdk";
|
|
6
|
+
export declare class ClaudeMessageStartEventTranslator extends StreamTranslator<HoloStreamChunk, ClaudeRawMessageStartEvent> {
|
|
7
|
+
private readonly usageTranslator;
|
|
8
|
+
protected holoDefaults: Partial<HoloStreamChunk>;
|
|
9
|
+
protected providerDefaults: Partial<ClaudeRawMessageStartEvent>;
|
|
10
|
+
constructor(usageTranslator: ClaudeUsageTranslator);
|
|
11
|
+
protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<ClaudeRawMessageStartEvent>[]>;
|
|
12
|
+
protected toHoloManyImpl(source: ClaudeRawMessageStartEvent): Promise<Partial<HoloStreamChunk>[]>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=claude.message.start.event.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.message.start.event.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/claude.message.start.event.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,0BAA0B,EAAwB,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAC,qBAAqB,EAAC,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAc,MAAM,cAAc,CAAC;AAE1D,qBACa,iCAAkC,SAAQ,gBAAgB,CAAC,eAAe,EAAE,0BAA0B,CAAC;IAIpG,OAAO,CAAC,QAAQ,CAAC,eAAe;IAH5C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,0BAA0B,CAAC,CAAM;gBAExC,eAAe,EAAE,qBAAqB;cAInD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;cA6BzF,cAAc,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAyB1G"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
13
|
+
import { ClaudeUsageTranslator } from '../claude.usage.translators';
|
|
14
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
15
|
+
import { pickDefined } from "@holokai/sdk";
|
|
16
|
+
let ClaudeMessageStartEventTranslator = class ClaudeMessageStartEventTranslator extends StreamTranslator {
|
|
17
|
+
usageTranslator;
|
|
18
|
+
holoDefaults = {};
|
|
19
|
+
providerDefaults = {};
|
|
20
|
+
constructor(usageTranslator) {
|
|
21
|
+
super();
|
|
22
|
+
this.usageTranslator = usageTranslator;
|
|
23
|
+
}
|
|
24
|
+
async fromHoloManyImpl(source) {
|
|
25
|
+
const d = source.delta;
|
|
26
|
+
if (!d || d.type !== 'message_start')
|
|
27
|
+
return [];
|
|
28
|
+
// Must have model; id is optional (generate stable ID if missing)
|
|
29
|
+
if (!source.model)
|
|
30
|
+
return [];
|
|
31
|
+
// Build message - usage is typically not present at message_start
|
|
32
|
+
// When it is needed, it should have all required fields from the source
|
|
33
|
+
const message = pickDefined({
|
|
34
|
+
// Generate stable ID if not present, don't use empty string
|
|
35
|
+
id: source.id ?? uuidv4(),
|
|
36
|
+
model: source.model,
|
|
37
|
+
type: 'message',
|
|
38
|
+
role: 'assistant',
|
|
39
|
+
content: [], // Claude expects an array
|
|
40
|
+
stop_reason: null,
|
|
41
|
+
stop_sequence: null,
|
|
42
|
+
container: null
|
|
43
|
+
// Omit usage for message_start - it's rarely present and when needed
|
|
44
|
+
// should come through message_delta or message_stop events
|
|
45
|
+
});
|
|
46
|
+
return [{
|
|
47
|
+
type: 'message_start',
|
|
48
|
+
message: message
|
|
49
|
+
}];
|
|
50
|
+
}
|
|
51
|
+
async toHoloManyImpl(source) {
|
|
52
|
+
// Use the usage translator to convert usage (rarely present on message_start)
|
|
53
|
+
const usage = source.message.usage
|
|
54
|
+
? await this.usageTranslator.toHolo(source.message.usage)
|
|
55
|
+
: null;
|
|
56
|
+
return [{
|
|
57
|
+
id: source.message.id,
|
|
58
|
+
model: source.message.model,
|
|
59
|
+
delta: {
|
|
60
|
+
provider: 'claude',
|
|
61
|
+
type: 'message_start',
|
|
62
|
+
choice: 0, // Claude is always single-choice
|
|
63
|
+
delta: {
|
|
64
|
+
role: 'assistant'
|
|
65
|
+
},
|
|
66
|
+
// Include usage if present (uncommon for message_start)
|
|
67
|
+
usage,
|
|
68
|
+
// Carry raw event for lossless round-trip
|
|
69
|
+
provider_delta: source
|
|
70
|
+
}
|
|
71
|
+
// Alternatively: put usage at chunk level for final events only
|
|
72
|
+
// usage: usage as HoloUsage | undefined
|
|
73
|
+
}];
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
ClaudeMessageStartEventTranslator = __decorate([
|
|
77
|
+
injectable(),
|
|
78
|
+
__metadata("design:paramtypes", [ClaudeUsageTranslator])
|
|
79
|
+
], ClaudeMessageStartEventTranslator);
|
|
80
|
+
export { ClaudeMessageStartEventTranslator };
|
|
81
|
+
//# sourceMappingURL=claude.message.start.event.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.message.start.event.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/claude.message.start.event.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AACpC,OAAO,EAAC,EAAE,IAAI,MAAM,EAAC,MAAM,MAAM,CAAC;AAElC,OAAO,EAAC,qBAAqB,EAAC,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAkB,WAAW,EAAC,MAAM,cAAc,CAAC;AAGnD,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,gBAA6D;IAInF;IAHnB,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAwC,EAAE,CAAC;IAErE,YAA6B,eAAsC;QAC/D,KAAK,EAAE,CAAC;QADiB,oBAAe,GAAf,eAAe,CAAuB;IAEnE,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO,EAAE,CAAC;QAEhD,kEAAkE;QAClE,IAAI,CAAC,MAAM,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAE7B,kEAAkE;QAClE,wEAAwE;QACxE,MAAM,OAAO,GAAmC,WAAW,CAAC;YACxD,4DAA4D;YAC5D,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,EAAE;YACzB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,SAAkB;YACxB,IAAI,EAAE,WAAoB;YAC1B,OAAO,EAAE,EAAE,EAAG,0BAA0B;YACxC,WAAW,EAAE,IAAI;YACjB,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,qEAAqE;YACrE,2DAA2D;SAC9D,CAAC,CAAC;QAEH,OAAO,CAAC;gBACJ,IAAI,EAAE,eAAwB;gBAC9B,OAAO,EAAE,OAAgC;aAC5C,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAkC;QAC7D,8EAA8E;QAC9E,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK;YAC9B,CAAC,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC;YACzD,CAAC,CAAC,IAAI,CAAC;QAEX,OAAO,CAAC;gBACJ,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;gBACrB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK;gBAC3B,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,eAAwB;oBAC9B,MAAM,EAAE,CAAC,EAAG,iCAAiC;oBAC7C,KAAK,EAAE;wBACH,IAAI,EAAE,WAAoB;qBAC7B;oBACD,wDAAwD;oBACxD,KAAK;oBACL,0CAA0C;oBAC1C,cAAc,EAAE,MAAM;iBACzB;gBACD,gEAAgE;gBAChE,wCAAwC;aAC3C,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AA9DY,iCAAiC;IAD7C,UAAU,EAAE;qCAKqC,qBAAqB;GAJ1D,iCAAiC,CA8D7C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ClaudeRawMessageStopEvent } from '../../types';
|
|
3
|
+
import { HoloStreamChunk } from "@holokai/sdk";
|
|
4
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
5
|
+
export declare class ClaudeMessageStopEventTranslator extends StreamTranslator<HoloStreamChunk, ClaudeRawMessageStopEvent> {
|
|
6
|
+
protected holoDefaults: Partial<HoloStreamChunk>;
|
|
7
|
+
protected providerDefaults: Partial<ClaudeRawMessageStopEvent>;
|
|
8
|
+
constructor();
|
|
9
|
+
protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<ClaudeRawMessageStopEvent>[]>;
|
|
10
|
+
protected toHoloManyImpl(source: ClaudeRawMessageStopEvent): Promise<Partial<HoloStreamChunk>[]>;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=claude.message.stop.event.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.message.stop.event.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/claude.message.stop.event.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,yBAAyB,EAAC,MAAM,aAAa,CAAC;AACtD,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAEvD,qBACa,gCAAiC,SAAQ,gBAAgB,CAAC,eAAe,EAAE,yBAAyB,CAAC;IAC9G,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,yBAAyB,CAAC,CAAM;;cAMpD,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE,CAAC;cAmBxF,cAAc,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;CAWzG"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import 'reflect-metadata';
|
|
11
|
+
import { injectable } from 'tsyringe';
|
|
12
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
13
|
+
let ClaudeMessageStopEventTranslator = class ClaudeMessageStopEventTranslator extends StreamTranslator {
|
|
14
|
+
holoDefaults = {};
|
|
15
|
+
providerDefaults = {};
|
|
16
|
+
constructor() {
|
|
17
|
+
super();
|
|
18
|
+
}
|
|
19
|
+
async fromHoloManyImpl(source) {
|
|
20
|
+
const d = source.delta;
|
|
21
|
+
if (!d)
|
|
22
|
+
return [];
|
|
23
|
+
// Pass-through if we already have a valid Claude stop event as provider_delta
|
|
24
|
+
if (d.provider_delta) {
|
|
25
|
+
if (d.provider_delta.type === 'message_stop') {
|
|
26
|
+
return [d.provider_delta];
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
// Otherwise emit only when Holo says message_stop
|
|
30
|
+
if (d.type === 'message_stop') {
|
|
31
|
+
return [{ type: 'message_stop' }];
|
|
32
|
+
}
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
35
|
+
async toHoloManyImpl(source) {
|
|
36
|
+
return [{
|
|
37
|
+
delta: {
|
|
38
|
+
provider: 'claude',
|
|
39
|
+
type: 'message_stop',
|
|
40
|
+
delta: {},
|
|
41
|
+
provider_delta: source, // carry raw event for lossless round-trip
|
|
42
|
+
},
|
|
43
|
+
done: true
|
|
44
|
+
}];
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
ClaudeMessageStopEventTranslator = __decorate([
|
|
48
|
+
injectable(),
|
|
49
|
+
__metadata("design:paramtypes", [])
|
|
50
|
+
], ClaudeMessageStopEventTranslator);
|
|
51
|
+
export { ClaudeMessageStopEventTranslator };
|
|
52
|
+
//# sourceMappingURL=claude.message.stop.event.translator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.message.stop.event.translator.js","sourceRoot":"","sources":["../../../src/translators/streaming/claude.message.stop.event.translator.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,kBAAkB,CAAC;AAE1B,OAAO,EAAC,UAAU,EAAC,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AAGhD,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,gBAA4D;IACpG,YAAY,GAA6B,EAAE,CAAC;IAC5C,gBAAgB,GAAuC,EAAE,CAAC;IAEpE;QACI,KAAK,EAAE,CAAC;IACZ,CAAC;IAES,KAAK,CAAC,gBAAgB,CAAC,MAAuB;QACpD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;QACvB,IAAI,CAAC,CAAC;YAAE,OAAO,EAAE,CAAC;QAElB,8EAA8E;QAC9E,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC3C,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YAC9B,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC5B,OAAO,CAAC,EAAC,IAAI,EAAE,cAAuB,EAAC,CAAC,CAAC;QAC7C,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAiC;QAC5D,OAAO,CAAC;gBACJ,KAAK,EAAE;oBACH,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,cAAuB;oBAC7B,KAAK,EAAE,EAAE;oBACT,cAAc,EAAE,MAAM,EAAE,0CAA0C;iBACrE;gBACD,IAAI,EAAE,IAAI;aACb,CAAC,CAAC;IACP,CAAC;CACJ,CAAA;AAtCY,gCAAgC;IAD5C,UAAU,EAAE;;GACA,gCAAgC,CAsC5C"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
import { ClaudeRawMessageStreamEvent } from '../../types';
|
|
3
|
+
import { ClaudeMessageStartEventTranslator } from './claude.message.start.event.translator';
|
|
4
|
+
import { ClaudeMessageDeltaEventTranslator } from './claude.message.delta.event.translator';
|
|
5
|
+
import { ClaudeMessageStopEventTranslator } from './claude.message.stop.event.translator';
|
|
6
|
+
import { ClaudeContentBlockStartEventTranslator } from './claude.content.block.start.event.translator';
|
|
7
|
+
import { ClaudeContentBlockDeltaEventTranslator } from './claude.content.block.delta.event.translator';
|
|
8
|
+
import { ClaudeContentBlockStopEventTranslator } from './claude.content.block.stop.event.translator';
|
|
9
|
+
import { StreamTranslator } from "@holokai/sdk/provider";
|
|
10
|
+
import { HoloStreamChunk } from "@holokai/sdk";
|
|
11
|
+
export declare class ClaudeStreamTranslator extends StreamTranslator<HoloStreamChunk, ClaudeRawMessageStreamEvent> {
|
|
12
|
+
private readonly messageStartTranslator;
|
|
13
|
+
private readonly messageDeltaTranslator;
|
|
14
|
+
private readonly messageStopTranslator;
|
|
15
|
+
private readonly contentBlockStartTranslator;
|
|
16
|
+
private readonly contentBlockDeltaTranslator;
|
|
17
|
+
private readonly contentBlockStopTranslator;
|
|
18
|
+
protected holoDefaults: Partial<HoloStreamChunk>;
|
|
19
|
+
protected providerDefaults: Partial<ClaudeRawMessageStreamEvent>;
|
|
20
|
+
constructor(messageStartTranslator: ClaudeMessageStartEventTranslator, messageDeltaTranslator: ClaudeMessageDeltaEventTranslator, messageStopTranslator: ClaudeMessageStopEventTranslator, contentBlockStartTranslator: ClaudeContentBlockStartEventTranslator, contentBlockDeltaTranslator: ClaudeContentBlockDeltaEventTranslator, contentBlockStopTranslator: ClaudeContentBlockStopEventTranslator);
|
|
21
|
+
protected toHoloManyImpl(source: ClaudeRawMessageStreamEvent): Promise<Partial<HoloStreamChunk>[]>;
|
|
22
|
+
protected fromHoloManyImpl(source: HoloStreamChunk): Promise<Partial<ClaudeRawMessageStreamEvent>[]>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=claude.stream.translator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claude.stream.translator.d.ts","sourceRoot":"","sources":["../../../src/translators/streaming/claude.stream.translator.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAG1B,OAAO,EAAC,2BAA2B,EAAC,MAAM,aAAa,CAAC;AACxD,OAAO,EAAC,iCAAiC,EAAC,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAC,iCAAiC,EAAC,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAC,gCAAgC,EAAC,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAC,sCAAsC,EAAC,MAAM,+CAA+C,CAAC;AACrG,OAAO,EAAC,sCAAsC,EAAC,MAAM,+CAA+C,CAAC;AACrG,OAAO,EAAC,qCAAqC,EAAC,MAAM,8CAA8C,CAAC;AAEnG,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7C,qBACa,sBAAuB,SAAQ,gBAAgB,CAAC,eAAe,EAAE,2BAA2B,CAAC;IAKlG,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,2BAA2B;IAC5C,OAAO,CAAC,QAAQ,CAAC,0BAA0B;IAT/C,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IACtD,SAAS,CAAC,gBAAgB,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAM;gBAGjD,sBAAsB,EAAE,iCAAiC,EACzD,sBAAsB,EAAE,iCAAiC,EACzD,qBAAqB,EAAE,gCAAgC,EACvD,2BAA2B,EAAE,sCAAsC,EACnE,2BAA2B,EAAE,sCAAsC,EACnE,0BAA0B,EAAE,qCAAqC;cAKtE,cAAc,CAAC,MAAM,EAAE,2BAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;cAmBxF,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,EAAE,CAAC;CAoF7G"}
|