mcp-agent-foundry 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.
- package/LICENSE +21 -0
- package/README.md +477 -0
- package/dist/cli/install-skills.d.ts +11 -0
- package/dist/cli/install-skills.d.ts.map +1 -0
- package/dist/cli/install-skills.js +143 -0
- package/dist/cli/install-skills.js.map +1 -0
- package/dist/cli/recovery-commands.d.ts +41 -0
- package/dist/cli/recovery-commands.d.ts.map +1 -0
- package/dist/cli/recovery-commands.js +241 -0
- package/dist/cli/recovery-commands.js.map +1 -0
- package/dist/cli/setup-wizard.d.ts +25 -0
- package/dist/cli/setup-wizard.d.ts.map +1 -0
- package/dist/cli/setup-wizard.js +1417 -0
- package/dist/cli/setup-wizard.js.map +1 -0
- package/dist/cli/test-connection.d.ts +45 -0
- package/dist/cli/test-connection.d.ts.map +1 -0
- package/dist/cli/test-connection.js +317 -0
- package/dist/cli/test-connection.js.map +1 -0
- package/dist/cli.d.ts +75 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +704 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/defaults.d.ts +57 -0
- package/dist/config/defaults.d.ts.map +1 -0
- package/dist/config/defaults.js +99 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/index.d.ts +14 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +22 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/manager.d.ts +184 -0
- package/dist/config/manager.d.ts.map +1 -0
- package/dist/config/manager.js +347 -0
- package/dist/config/manager.js.map +1 -0
- package/dist/config/merger.d.ts +76 -0
- package/dist/config/merger.d.ts.map +1 -0
- package/dist/config/merger.js +189 -0
- package/dist/config/merger.js.map +1 -0
- package/dist/config/schema.d.ts +20 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +20 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/config/validator.d.ts +254 -0
- package/dist/config/validator.d.ts.map +1 -0
- package/dist/config/validator.js +363 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/config/worktree-defaults.d.ts +23 -0
- package/dist/config/worktree-defaults.d.ts.map +1 -0
- package/dist/config/worktree-defaults.js +78 -0
- package/dist/config/worktree-defaults.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +44 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/tools/compare-agents.d.ts +25 -0
- package/dist/mcp/tools/compare-agents.d.ts.map +1 -0
- package/dist/mcp/tools/compare-agents.js +177 -0
- package/dist/mcp/tools/compare-agents.js.map +1 -0
- package/dist/mcp/tools/critique-plan.d.ts +26 -0
- package/dist/mcp/tools/critique-plan.d.ts.map +1 -0
- package/dist/mcp/tools/critique-plan.js +162 -0
- package/dist/mcp/tools/critique-plan.js.map +1 -0
- package/dist/mcp/tools/design-feedback.d.ts +26 -0
- package/dist/mcp/tools/design-feedback.d.ts.map +1 -0
- package/dist/mcp/tools/design-feedback.js +216 -0
- package/dist/mcp/tools/design-feedback.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +50 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +191 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/invoke-agent.d.ts +25 -0
- package/dist/mcp/tools/invoke-agent.d.ts.map +1 -0
- package/dist/mcp/tools/invoke-agent.js +141 -0
- package/dist/mcp/tools/invoke-agent.js.map +1 -0
- package/dist/mcp/tools/review-code.d.ts +25 -0
- package/dist/mcp/tools/review-code.d.ts.map +1 -0
- package/dist/mcp/tools/review-code.js +170 -0
- package/dist/mcp/tools/review-code.js.map +1 -0
- package/dist/mcp/tools/tasks/claim-next-task.d.ts +22 -0
- package/dist/mcp/tools/tasks/claim-next-task.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/claim-next-task.js +203 -0
- package/dist/mcp/tools/tasks/claim-next-task.js.map +1 -0
- package/dist/mcp/tools/tasks/create-routed-task.d.ts +17 -0
- package/dist/mcp/tools/tasks/create-routed-task.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/create-routed-task.js +178 -0
- package/dist/mcp/tools/tasks/create-routed-task.js.map +1 -0
- package/dist/mcp/tools/tasks/execute-pipeline.d.ts +22 -0
- package/dist/mcp/tools/tasks/execute-pipeline.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/execute-pipeline.js +401 -0
- package/dist/mcp/tools/tasks/execute-pipeline.js.map +1 -0
- package/dist/mcp/tools/tasks/execute-task.d.ts +32 -0
- package/dist/mcp/tools/tasks/execute-task.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/execute-task.js +284 -0
- package/dist/mcp/tools/tasks/execute-task.js.map +1 -0
- package/dist/mcp/tools/tasks/get-pipeline-status.d.ts +26 -0
- package/dist/mcp/tools/tasks/get-pipeline-status.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/get-pipeline-status.js +460 -0
- package/dist/mcp/tools/tasks/get-pipeline-status.js.map +1 -0
- package/dist/mcp/tools/tasks/index.d.ts +36 -0
- package/dist/mcp/tools/tasks/index.d.ts.map +1 -0
- package/dist/mcp/tools/tasks/index.js +66 -0
- package/dist/mcp/tools/tasks/index.js.map +1 -0
- package/dist/mcp/tools/worktree/cleanup-worktrees.d.ts +17 -0
- package/dist/mcp/tools/worktree/cleanup-worktrees.d.ts.map +1 -0
- package/dist/mcp/tools/worktree/cleanup-worktrees.js +147 -0
- package/dist/mcp/tools/worktree/cleanup-worktrees.js.map +1 -0
- package/dist/mcp/tools/worktree/get-worktree-status.d.ts +17 -0
- package/dist/mcp/tools/worktree/get-worktree-status.d.ts.map +1 -0
- package/dist/mcp/tools/worktree/get-worktree-status.js +123 -0
- package/dist/mcp/tools/worktree/get-worktree-status.js.map +1 -0
- package/dist/mcp/tools/worktree/index.d.ts +41 -0
- package/dist/mcp/tools/worktree/index.d.ts.map +1 -0
- package/dist/mcp/tools/worktree/index.js +69 -0
- package/dist/mcp/tools/worktree/index.js.map +1 -0
- package/dist/mcp/tools/worktree/list-worktrees.d.ts +17 -0
- package/dist/mcp/tools/worktree/list-worktrees.d.ts.map +1 -0
- package/dist/mcp/tools/worktree/list-worktrees.js +136 -0
- package/dist/mcp/tools/worktree/list-worktrees.js.map +1 -0
- package/dist/mcp/tools/worktree/resolve-conflicts.d.ts +19 -0
- package/dist/mcp/tools/worktree/resolve-conflicts.d.ts.map +1 -0
- package/dist/mcp/tools/worktree/resolve-conflicts.js +228 -0
- package/dist/mcp/tools/worktree/resolve-conflicts.js.map +1 -0
- package/dist/mcp/transport/stdio.d.ts +13 -0
- package/dist/mcp/transport/stdio.d.ts.map +1 -0
- package/dist/mcp/transport/stdio.js +15 -0
- package/dist/mcp/transport/stdio.js.map +1 -0
- package/dist/observability/logger.d.ts +137 -0
- package/dist/observability/logger.d.ts.map +1 -0
- package/dist/observability/logger.js +235 -0
- package/dist/observability/logger.js.map +1 -0
- package/dist/observability/metrics.d.ts +250 -0
- package/dist/observability/metrics.d.ts.map +1 -0
- package/dist/observability/metrics.js +364 -0
- package/dist/observability/metrics.js.map +1 -0
- package/dist/persistence/index.d.ts +9 -0
- package/dist/persistence/index.d.ts.map +1 -0
- package/dist/persistence/index.js +9 -0
- package/dist/persistence/index.js.map +1 -0
- package/dist/persistence/state-schema.d.ts +116 -0
- package/dist/persistence/state-schema.d.ts.map +1 -0
- package/dist/persistence/state-schema.js +28 -0
- package/dist/persistence/state-schema.js.map +1 -0
- package/dist/persistence/state-store.d.ts +111 -0
- package/dist/persistence/state-store.d.ts.map +1 -0
- package/dist/persistence/state-store.js +291 -0
- package/dist/persistence/state-store.js.map +1 -0
- package/dist/providers/anthropic.d.ts +164 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +500 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +151 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +227 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/gemini.d.ts +85 -0
- package/dist/providers/gemini.d.ts.map +1 -0
- package/dist/providers/gemini.js +414 -0
- package/dist/providers/gemini.js.map +1 -0
- package/dist/providers/kimi.d.ts +19 -0
- package/dist/providers/kimi.d.ts.map +1 -0
- package/dist/providers/kimi.js +20 -0
- package/dist/providers/kimi.js.map +1 -0
- package/dist/providers/manager.d.ts +160 -0
- package/dist/providers/manager.d.ts.map +1 -0
- package/dist/providers/manager.js +264 -0
- package/dist/providers/manager.js.map +1 -0
- package/dist/providers/ollama.d.ts +83 -0
- package/dist/providers/ollama.d.ts.map +1 -0
- package/dist/providers/ollama.js +453 -0
- package/dist/providers/ollama.js.map +1 -0
- package/dist/providers/openai.d.ts +96 -0
- package/dist/providers/openai.d.ts.map +1 -0
- package/dist/providers/openai.js +457 -0
- package/dist/providers/openai.js.map +1 -0
- package/dist/providers/zai.d.ts +19 -0
- package/dist/providers/zai.d.ts.map +1 -0
- package/dist/providers/zai.js +20 -0
- package/dist/providers/zai.js.map +1 -0
- package/dist/router/context-manager.d.ts +2 -0
- package/dist/router/context-manager.d.ts.map +1 -0
- package/dist/router/context-manager.js +3 -0
- package/dist/router/context-manager.js.map +1 -0
- package/dist/router/engine.d.ts +169 -0
- package/dist/router/engine.d.ts.map +1 -0
- package/dist/router/engine.js +435 -0
- package/dist/router/engine.js.map +1 -0
- package/dist/router/pattern-executor.d.ts +317 -0
- package/dist/router/pattern-executor.d.ts.map +1 -0
- package/dist/router/pattern-executor.js +571 -0
- package/dist/router/pattern-executor.js.map +1 -0
- package/dist/router/role-resolver.d.ts +59 -0
- package/dist/router/role-resolver.d.ts.map +1 -0
- package/dist/router/role-resolver.js +95 -0
- package/dist/router/role-resolver.js.map +1 -0
- package/dist/server.d.ts +32 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +223 -0
- package/dist/server.js.map +1 -0
- package/dist/startup.d.ts +78 -0
- package/dist/startup.d.ts.map +1 -0
- package/dist/startup.js +107 -0
- package/dist/startup.js.map +1 -0
- package/dist/tasks/coordinator.d.ts +141 -0
- package/dist/tasks/coordinator.d.ts.map +1 -0
- package/dist/tasks/coordinator.js +331 -0
- package/dist/tasks/coordinator.js.map +1 -0
- package/dist/tasks/index.d.ts +13 -0
- package/dist/tasks/index.d.ts.map +1 -0
- package/dist/tasks/index.js +13 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/persistent-state-coordinator.d.ts +89 -0
- package/dist/tasks/persistent-state-coordinator.d.ts.map +1 -0
- package/dist/tasks/persistent-state-coordinator.js +371 -0
- package/dist/tasks/persistent-state-coordinator.js.map +1 -0
- package/dist/tasks/pipeline-manager.d.ts +103 -0
- package/dist/tasks/pipeline-manager.d.ts.map +1 -0
- package/dist/tasks/pipeline-manager.js +358 -0
- package/dist/tasks/pipeline-manager.js.map +1 -0
- package/dist/tasks/state-coordinator.d.ts +79 -0
- package/dist/tasks/state-coordinator.d.ts.map +1 -0
- package/dist/tasks/state-coordinator.js +200 -0
- package/dist/tasks/state-coordinator.js.map +1 -0
- package/dist/tasks/worker-mode.d.ts +65 -0
- package/dist/tasks/worker-mode.d.ts.map +1 -0
- package/dist/tasks/worker-mode.js +208 -0
- package/dist/tasks/worker-mode.js.map +1 -0
- package/dist/translation/errors.d.ts +203 -0
- package/dist/translation/errors.d.ts.map +1 -0
- package/dist/translation/errors.js +477 -0
- package/dist/translation/errors.js.map +1 -0
- package/dist/translation/index.d.ts +12 -0
- package/dist/translation/index.d.ts.map +1 -0
- package/dist/translation/index.js +32 -0
- package/dist/translation/index.js.map +1 -0
- package/dist/translation/messages.d.ts +295 -0
- package/dist/translation/messages.d.ts.map +1 -0
- package/dist/translation/messages.js +557 -0
- package/dist/translation/messages.js.map +1 -0
- package/dist/translation/streaming.d.ts +226 -0
- package/dist/translation/streaming.d.ts.map +1 -0
- package/dist/translation/streaming.js +520 -0
- package/dist/translation/streaming.js.map +1 -0
- package/dist/translation/tools.d.ts +209 -0
- package/dist/translation/tools.d.ts.map +1 -0
- package/dist/translation/tools.js +331 -0
- package/dist/translation/tools.js.map +1 -0
- package/dist/types.d.ts +747 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +86 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/circuit-breaker.d.ts +175 -0
- package/dist/utils/circuit-breaker.d.ts.map +1 -0
- package/dist/utils/circuit-breaker.js +315 -0
- package/dist/utils/circuit-breaker.js.map +1 -0
- package/dist/utils/env.d.ts +2 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +3 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/git.d.ts +58 -0
- package/dist/utils/git.d.ts.map +1 -0
- package/dist/utils/git.js +197 -0
- package/dist/utils/git.js.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/merge-ordering.d.ts +45 -0
- package/dist/utils/merge-ordering.d.ts.map +1 -0
- package/dist/utils/merge-ordering.js +128 -0
- package/dist/utils/merge-ordering.js.map +1 -0
- package/dist/utils/retry.d.ts +106 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +188 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/worktrees/branch-manager.d.ts +55 -0
- package/dist/worktrees/branch-manager.d.ts.map +1 -0
- package/dist/worktrees/branch-manager.js +129 -0
- package/dist/worktrees/branch-manager.js.map +1 -0
- package/dist/worktrees/conflict-handler.d.ts +72 -0
- package/dist/worktrees/conflict-handler.d.ts.map +1 -0
- package/dist/worktrees/conflict-handler.js +287 -0
- package/dist/worktrees/conflict-handler.js.map +1 -0
- package/dist/worktrees/conflict-parser.d.ts +28 -0
- package/dist/worktrees/conflict-parser.d.ts.map +1 -0
- package/dist/worktrees/conflict-parser.js +140 -0
- package/dist/worktrees/conflict-parser.js.map +1 -0
- package/dist/worktrees/index.d.ts +20 -0
- package/dist/worktrees/index.d.ts.map +1 -0
- package/dist/worktrees/index.js +20 -0
- package/dist/worktrees/index.js.map +1 -0
- package/dist/worktrees/instructions.d.ts +20 -0
- package/dist/worktrees/instructions.d.ts.map +1 -0
- package/dist/worktrees/instructions.js +84 -0
- package/dist/worktrees/instructions.js.map +1 -0
- package/dist/worktrees/manager.d.ts +76 -0
- package/dist/worktrees/manager.d.ts.map +1 -0
- package/dist/worktrees/manager.js +277 -0
- package/dist/worktrees/manager.js.map +1 -0
- package/dist/worktrees/pipeline-merge-orchestrator.d.ts +55 -0
- package/dist/worktrees/pipeline-merge-orchestrator.d.ts.map +1 -0
- package/dist/worktrees/pipeline-merge-orchestrator.js +221 -0
- package/dist/worktrees/pipeline-merge-orchestrator.js.map +1 -0
- package/dist/worktrees/pool.d.ts +95 -0
- package/dist/worktrees/pool.d.ts.map +1 -0
- package/dist/worktrees/pool.js +271 -0
- package/dist/worktrees/pool.js.map +1 -0
- package/dist/worktrees/recovery.d.ts +94 -0
- package/dist/worktrees/recovery.d.ts.map +1 -0
- package/dist/worktrees/recovery.js +371 -0
- package/dist/worktrees/recovery.js.map +1 -0
- package/dist/worktrees/resource-manager.d.ts +74 -0
- package/dist/worktrees/resource-manager.d.ts.map +1 -0
- package/dist/worktrees/resource-manager.js +228 -0
- package/dist/worktrees/resource-manager.js.map +1 -0
- package/package.json +88 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming Response Translation
|
|
3
|
+
*
|
|
4
|
+
* Provides utilities for parsing Server-Sent Events (SSE) streams from
|
|
5
|
+
* different LLM providers and normalizing them to AgentRouter's StreamChunk format.
|
|
6
|
+
*
|
|
7
|
+
* Supported providers:
|
|
8
|
+
* - Anthropic: message_start, content_block_start, content_block_delta, message_stop events
|
|
9
|
+
* - OpenAI: data: {"choices":[{"delta":{...}}]} format
|
|
10
|
+
* - Gemini: data: {"candidates":[{"content":{"parts":[...]}}]} format
|
|
11
|
+
*
|
|
12
|
+
* All streams are normalized to the common StreamChunk interface.
|
|
13
|
+
*/
|
|
14
|
+
import { type StreamChunk } from '../types.js';
|
|
15
|
+
/**
|
|
16
|
+
* Anthropic SSE event types.
|
|
17
|
+
*/
|
|
18
|
+
export type AnthropicStreamEvent = AnthropicMessageStartEvent | AnthropicContentBlockStartEvent | AnthropicContentBlockDeltaEvent | AnthropicContentBlockStopEvent | AnthropicMessageDeltaEvent | AnthropicMessageStopEvent | AnthropicPingEvent | AnthropicErrorEvent;
|
|
19
|
+
interface AnthropicMessageStartEvent {
|
|
20
|
+
type: 'message_start';
|
|
21
|
+
message: {
|
|
22
|
+
id: string;
|
|
23
|
+
type: 'message';
|
|
24
|
+
role: 'assistant';
|
|
25
|
+
content: AnthropicContentBlock[];
|
|
26
|
+
model: string;
|
|
27
|
+
stop_reason: string | null;
|
|
28
|
+
stop_sequence: string | null;
|
|
29
|
+
usage: {
|
|
30
|
+
input_tokens: number;
|
|
31
|
+
output_tokens: number;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
interface AnthropicContentBlockStartEvent {
|
|
36
|
+
type: 'content_block_start';
|
|
37
|
+
index: number;
|
|
38
|
+
content_block: AnthropicContentBlock;
|
|
39
|
+
}
|
|
40
|
+
interface AnthropicContentBlockDeltaEvent {
|
|
41
|
+
type: 'content_block_delta';
|
|
42
|
+
index: number;
|
|
43
|
+
delta: {
|
|
44
|
+
type: 'text_delta' | 'input_json_delta';
|
|
45
|
+
text?: string;
|
|
46
|
+
partial_json?: string;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
interface AnthropicContentBlockStopEvent {
|
|
50
|
+
type: 'content_block_stop';
|
|
51
|
+
index: number;
|
|
52
|
+
}
|
|
53
|
+
interface AnthropicMessageDeltaEvent {
|
|
54
|
+
type: 'message_delta';
|
|
55
|
+
delta: {
|
|
56
|
+
stop_reason: string;
|
|
57
|
+
stop_sequence: string | null;
|
|
58
|
+
};
|
|
59
|
+
usage: {
|
|
60
|
+
output_tokens: number;
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
interface AnthropicMessageStopEvent {
|
|
64
|
+
type: 'message_stop';
|
|
65
|
+
}
|
|
66
|
+
interface AnthropicPingEvent {
|
|
67
|
+
type: 'ping';
|
|
68
|
+
}
|
|
69
|
+
interface AnthropicErrorEvent {
|
|
70
|
+
type: 'error';
|
|
71
|
+
error: {
|
|
72
|
+
type: string;
|
|
73
|
+
message: string;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
interface AnthropicContentBlock {
|
|
77
|
+
type: 'text' | 'tool_use' | 'tool_result';
|
|
78
|
+
text?: string;
|
|
79
|
+
id?: string;
|
|
80
|
+
name?: string;
|
|
81
|
+
input?: Record<string, unknown>;
|
|
82
|
+
tool_use_id?: string;
|
|
83
|
+
content?: string;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* OpenAI streaming chunk format.
|
|
87
|
+
*/
|
|
88
|
+
export interface OpenAIStreamChunk {
|
|
89
|
+
id: string;
|
|
90
|
+
object: 'chat.completion.chunk';
|
|
91
|
+
created: number;
|
|
92
|
+
model: string;
|
|
93
|
+
choices: {
|
|
94
|
+
index: number;
|
|
95
|
+
delta: {
|
|
96
|
+
role?: 'assistant';
|
|
97
|
+
content?: string | null;
|
|
98
|
+
tool_calls?: {
|
|
99
|
+
index: number;
|
|
100
|
+
id?: string;
|
|
101
|
+
type?: 'function';
|
|
102
|
+
function?: {
|
|
103
|
+
name?: string;
|
|
104
|
+
arguments?: string;
|
|
105
|
+
};
|
|
106
|
+
}[];
|
|
107
|
+
};
|
|
108
|
+
finish_reason: 'stop' | 'length' | 'tool_calls' | 'content_filter' | null;
|
|
109
|
+
}[];
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Gemini streaming chunk format.
|
|
113
|
+
*/
|
|
114
|
+
export interface GeminiStreamChunk {
|
|
115
|
+
candidates?: {
|
|
116
|
+
content?: {
|
|
117
|
+
parts?: {
|
|
118
|
+
text?: string;
|
|
119
|
+
functionCall?: {
|
|
120
|
+
name: string;
|
|
121
|
+
args: Record<string, unknown>;
|
|
122
|
+
};
|
|
123
|
+
}[];
|
|
124
|
+
role?: 'model';
|
|
125
|
+
};
|
|
126
|
+
finishReason?: 'STOP' | 'MAX_TOKENS' | 'SAFETY' | 'RECITATION' | 'OTHER';
|
|
127
|
+
safetyRatings?: {
|
|
128
|
+
category: string;
|
|
129
|
+
probability: string;
|
|
130
|
+
}[];
|
|
131
|
+
}[];
|
|
132
|
+
usageMetadata?: {
|
|
133
|
+
promptTokenCount: number;
|
|
134
|
+
candidatesTokenCount: number;
|
|
135
|
+
totalTokenCount: number;
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Parse SSE (Server-Sent Events) data from a ReadableStream.
|
|
140
|
+
* Handles buffering of partial lines and yields complete events.
|
|
141
|
+
*
|
|
142
|
+
* @param stream - The ReadableStream to parse
|
|
143
|
+
* @param options - Parser options
|
|
144
|
+
* @returns AsyncIterable yielding parsed event data strings
|
|
145
|
+
*/
|
|
146
|
+
export declare function parseSSE(stream: ReadableStream<Uint8Array>, options?: {
|
|
147
|
+
/** Event data prefix (default: 'data: ') */
|
|
148
|
+
dataPrefix?: string;
|
|
149
|
+
/** Stream end marker (default: '[DONE]') */
|
|
150
|
+
doneMarker?: string;
|
|
151
|
+
}): AsyncIterable<string>;
|
|
152
|
+
/**
|
|
153
|
+
* Parse Anthropic SSE stream and yield normalized StreamChunks.
|
|
154
|
+
*
|
|
155
|
+
* Anthropic streaming events:
|
|
156
|
+
* - message_start: Contains initial message metadata
|
|
157
|
+
* - content_block_start: Starts a new content block (text or tool_use)
|
|
158
|
+
* - content_block_delta: Incremental content updates
|
|
159
|
+
* - content_block_stop: Marks end of a content block
|
|
160
|
+
* - message_delta: Final message metadata (stop_reason, usage)
|
|
161
|
+
* - message_stop: Marks end of the message
|
|
162
|
+
* - ping: Keep-alive (ignored)
|
|
163
|
+
* - error: Stream error
|
|
164
|
+
*
|
|
165
|
+
* @param stream - ReadableStream from Anthropic API response
|
|
166
|
+
* @returns AsyncIterable of normalized StreamChunks
|
|
167
|
+
*/
|
|
168
|
+
export declare function parseAnthropicStream(stream: ReadableStream<Uint8Array>): AsyncIterable<StreamChunk>;
|
|
169
|
+
/**
|
|
170
|
+
* Parse OpenAI SSE stream and yield normalized StreamChunks.
|
|
171
|
+
*
|
|
172
|
+
* OpenAI streams JSON objects with this structure:
|
|
173
|
+
* - data: {"choices":[{"delta":{"content":"..."}}]}
|
|
174
|
+
* - data: {"choices":[{"delta":{"tool_calls":[...]}}]}
|
|
175
|
+
* - data: [DONE]
|
|
176
|
+
*
|
|
177
|
+
* Key differences from Anthropic:
|
|
178
|
+
* - Content comes in delta.content field
|
|
179
|
+
* - Tool calls are accumulated across chunks
|
|
180
|
+
* - No explicit content_block_start/stop events
|
|
181
|
+
*
|
|
182
|
+
* @param stream - ReadableStream from OpenAI API response
|
|
183
|
+
* @returns AsyncIterable of normalized StreamChunks
|
|
184
|
+
*/
|
|
185
|
+
export declare function parseOpenAIStream(stream: ReadableStream<Uint8Array>): AsyncIterable<StreamChunk>;
|
|
186
|
+
/**
|
|
187
|
+
* Parse Gemini SSE stream and yield normalized StreamChunks.
|
|
188
|
+
*
|
|
189
|
+
* Gemini streams JSON objects with this structure:
|
|
190
|
+
* - data: {"candidates":[{"content":{"parts":[{"text":"..."}]}}]}
|
|
191
|
+
* - data: {"candidates":[{"content":{"parts":[{"functionCall":{...}}]}}]}
|
|
192
|
+
*
|
|
193
|
+
* Key differences from Anthropic:
|
|
194
|
+
* - Content comes in parts array
|
|
195
|
+
* - Function calls use "functionCall" with "args" (not "arguments")
|
|
196
|
+
* - Gemini may send cumulative text (full content each chunk) - we need to deduplicate
|
|
197
|
+
*
|
|
198
|
+
* @param stream - ReadableStream from Gemini API response
|
|
199
|
+
* @returns AsyncIterable of normalized StreamChunks
|
|
200
|
+
*/
|
|
201
|
+
export declare function parseGeminiStream(stream: ReadableStream<Uint8Array>): AsyncIterable<StreamChunk>;
|
|
202
|
+
/**
|
|
203
|
+
* Create a TransformStream that converts raw SSE bytes to StreamChunks.
|
|
204
|
+
*
|
|
205
|
+
* @param provider - The provider type ('anthropic', 'openai', 'gemini')
|
|
206
|
+
* @returns TransformStream that outputs StreamChunks
|
|
207
|
+
*/
|
|
208
|
+
export declare function createStreamTransformer(provider: 'anthropic' | 'openai' | 'gemini'): TransformStream<Uint8Array, StreamChunk>;
|
|
209
|
+
/**
|
|
210
|
+
* Collect all text content from a stream of StreamChunks.
|
|
211
|
+
* Useful for testing or when you need the full response text.
|
|
212
|
+
*
|
|
213
|
+
* @param stream - AsyncIterable of StreamChunks
|
|
214
|
+
* @returns Promise resolving to the complete text content
|
|
215
|
+
*/
|
|
216
|
+
export declare function collectStreamText(stream: AsyncIterable<StreamChunk>): Promise<string>;
|
|
217
|
+
/**
|
|
218
|
+
* Collect all StreamChunks from an async iterable into an array.
|
|
219
|
+
* Useful for testing.
|
|
220
|
+
*
|
|
221
|
+
* @param stream - AsyncIterable of StreamChunks
|
|
222
|
+
* @returns Promise resolving to array of all chunks
|
|
223
|
+
*/
|
|
224
|
+
export declare function collectStreamChunks(stream: AsyncIterable<StreamChunk>): Promise<StreamChunk[]>;
|
|
225
|
+
export {};
|
|
226
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/translation/streaming.ts"],"names":[],"mappings":"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"}
|