maestro-agent-sdk 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/NOTICE +24 -0
- package/README.md +133 -0
- package/dist/agents/contracts.d.ts +49 -0
- package/dist/agents/contracts.d.ts.map +1 -0
- package/dist/agents/contracts.js +2 -0
- package/dist/agents/contracts.js.map +1 -0
- package/dist/agents/rollout/shared.d.ts +24 -0
- package/dist/agents/rollout/shared.d.ts.map +1 -0
- package/dist/agents/rollout/shared.js +105 -0
- package/dist/agents/rollout/shared.js.map +1 -0
- package/dist/core/agent.d.ts +71 -0
- package/dist/core/agent.d.ts.map +1 -0
- package/dist/core/agent.js +22 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/loop.d.ts +26 -0
- package/dist/core/loop.d.ts.map +1 -0
- package/dist/core/loop.js +317 -0
- package/dist/core/loop.js.map +1 -0
- package/dist/index.d.ts +49 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/mcp/client.d.ts +79 -0
- package/dist/mcp/client.d.ts.map +1 -0
- package/dist/mcp/client.js +176 -0
- package/dist/mcp/client.js.map +1 -0
- package/dist/mcp/pool-cache.d.ts +103 -0
- package/dist/mcp/pool-cache.d.ts.map +1 -0
- package/dist/mcp/pool-cache.js +249 -0
- package/dist/mcp/pool-cache.js.map +1 -0
- package/dist/mcp/pool.d.ts +65 -0
- package/dist/mcp/pool.d.ts.map +1 -0
- package/dist/mcp/pool.js +86 -0
- package/dist/mcp/pool.js.map +1 -0
- package/dist/media/file-events.d.ts +8 -0
- package/dist/media/file-events.d.ts.map +1 -0
- package/dist/media/file-events.js +15 -0
- package/dist/media/file-events.js.map +1 -0
- package/dist/memory/active-task-template.d.ts +34 -0
- package/dist/memory/active-task-template.d.ts.map +1 -0
- package/dist/memory/active-task-template.js +63 -0
- package/dist/memory/active-task-template.js.map +1 -0
- package/dist/memory/compressor.d.ts +87 -0
- package/dist/memory/compressor.d.ts.map +1 -0
- package/dist/memory/compressor.js +164 -0
- package/dist/memory/compressor.js.map +1 -0
- package/dist/memory/hash.d.ts +17 -0
- package/dist/memory/hash.d.ts.map +1 -0
- package/dist/memory/hash.js +20 -0
- package/dist/memory/hash.js.map +1 -0
- package/dist/memory/prune.d.ts +117 -0
- package/dist/memory/prune.d.ts.map +1 -0
- package/dist/memory/prune.js +416 -0
- package/dist/memory/prune.js.map +1 -0
- package/dist/memory/reminder.d.ts +57 -0
- package/dist/memory/reminder.d.ts.map +1 -0
- package/dist/memory/reminder.js +57 -0
- package/dist/memory/reminder.js.map +1 -0
- package/dist/memory/scrubber.d.ts +28 -0
- package/dist/memory/scrubber.d.ts.map +1 -0
- package/dist/memory/scrubber.js +147 -0
- package/dist/memory/scrubber.js.map +1 -0
- package/dist/memory/token-estimate.d.ts +10 -0
- package/dist/memory/token-estimate.d.ts.map +1 -0
- package/dist/memory/token-estimate.js +69 -0
- package/dist/memory/token-estimate.js.map +1 -0
- package/dist/platform/config.d.ts +12 -0
- package/dist/platform/config.d.ts.map +1 -0
- package/dist/platform/config.js +54 -0
- package/dist/platform/config.js.map +1 -0
- package/dist/platform/jsonl.d.ts +15 -0
- package/dist/platform/jsonl.d.ts.map +1 -0
- package/dist/platform/jsonl.js +80 -0
- package/dist/platform/jsonl.js.map +1 -0
- package/dist/platform/lifecycle.d.ts +22 -0
- package/dist/platform/lifecycle.d.ts.map +1 -0
- package/dist/platform/lifecycle.js +60 -0
- package/dist/platform/lifecycle.js.map +1 -0
- package/dist/platform/logger.d.ts +26 -0
- package/dist/platform/logger.d.ts.map +1 -0
- package/dist/platform/logger.js +41 -0
- package/dist/platform/logger.js.map +1 -0
- package/dist/platform/mcp-config.d.ts +15 -0
- package/dist/platform/mcp-config.d.ts.map +1 -0
- package/dist/platform/mcp-config.js +8 -0
- package/dist/platform/mcp-config.js.map +1 -0
- package/dist/provider.d.ts +81 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +444 -0
- package/dist/provider.js.map +1 -0
- package/dist/providers/anthropic.d.ts +132 -0
- package/dist/providers/anthropic.d.ts.map +1 -0
- package/dist/providers/anthropic.js +518 -0
- package/dist/providers/anthropic.js.map +1 -0
- package/dist/providers/base.d.ts +140 -0
- package/dist/providers/base.d.ts.map +1 -0
- package/dist/providers/base.js +2 -0
- package/dist/providers/base.js.map +1 -0
- package/dist/providers/deepseek.d.ts +118 -0
- package/dist/providers/deepseek.d.ts.map +1 -0
- package/dist/providers/deepseek.js +467 -0
- package/dist/providers/deepseek.js.map +1 -0
- package/dist/registry.d.ts +3 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +94 -0
- package/dist/registry.js.map +1 -0
- package/dist/session-store.d.ts +133 -0
- package/dist/session-store.d.ts.map +1 -0
- package/dist/session-store.js +277 -0
- package/dist/session-store.js.map +1 -0
- package/dist/skills/curator.d.ts +104 -0
- package/dist/skills/curator.d.ts.map +1 -0
- package/dist/skills/curator.js +162 -0
- package/dist/skills/curator.js.map +1 -0
- package/dist/skills/index-builder.d.ts +42 -0
- package/dist/skills/index-builder.d.ts.map +1 -0
- package/dist/skills/index-builder.js +94 -0
- package/dist/skills/index-builder.js.map +1 -0
- package/dist/skills/loader.d.ts +107 -0
- package/dist/skills/loader.d.ts.map +1 -0
- package/dist/skills/loader.js +286 -0
- package/dist/skills/loader.js.map +1 -0
- package/dist/skills/preprocess.d.ts +45 -0
- package/dist/skills/preprocess.d.ts.map +1 -0
- package/dist/skills/preprocess.js +126 -0
- package/dist/skills/preprocess.js.map +1 -0
- package/dist/skills/usage.d.ts +75 -0
- package/dist/skills/usage.d.ts.map +1 -0
- package/dist/skills/usage.js +147 -0
- package/dist/skills/usage.js.map +1 -0
- package/dist/state/todos.d.ts +95 -0
- package/dist/state/todos.d.ts.map +1 -0
- package/dist/state/todos.js +198 -0
- package/dist/state/todos.js.map +1 -0
- package/dist/storage/conversations.d.ts +28 -0
- package/dist/storage/conversations.d.ts.map +1 -0
- package/dist/storage/conversations.js +8 -0
- package/dist/storage/conversations.js.map +1 -0
- package/dist/sub-agent/runner.d.ts +78 -0
- package/dist/sub-agent/runner.d.ts.map +1 -0
- package/dist/sub-agent/runner.js +215 -0
- package/dist/sub-agent/runner.js.map +1 -0
- package/dist/tools/builtin/agent.d.ts +33 -0
- package/dist/tools/builtin/agent.d.ts.map +1 -0
- package/dist/tools/builtin/agent.js +76 -0
- package/dist/tools/builtin/agent.js.map +1 -0
- package/dist/tools/builtin/bash.d.ts +11 -0
- package/dist/tools/builtin/bash.d.ts.map +1 -0
- package/dist/tools/builtin/bash.js +91 -0
- package/dist/tools/builtin/bash.js.map +1 -0
- package/dist/tools/builtin/edit.d.ts +21 -0
- package/dist/tools/builtin/edit.d.ts.map +1 -0
- package/dist/tools/builtin/edit.js +238 -0
- package/dist/tools/builtin/edit.js.map +1 -0
- package/dist/tools/builtin/read.d.ts +17 -0
- package/dist/tools/builtin/read.d.ts.map +1 -0
- package/dist/tools/builtin/read.js +139 -0
- package/dist/tools/builtin/read.js.map +1 -0
- package/dist/tools/builtin/sandbox.d.ts +16 -0
- package/dist/tools/builtin/sandbox.d.ts.map +1 -0
- package/dist/tools/builtin/sandbox.js +58 -0
- package/dist/tools/builtin/sandbox.js.map +1 -0
- package/dist/tools/builtin/skill_view.d.ts +37 -0
- package/dist/tools/builtin/skill_view.d.ts.map +1 -0
- package/dist/tools/builtin/skill_view.js +82 -0
- package/dist/tools/builtin/skill_view.js.map +1 -0
- package/dist/tools/builtin/todo_write.d.ts +29 -0
- package/dist/tools/builtin/todo_write.d.ts.map +1 -0
- package/dist/tools/builtin/todo_write.js +96 -0
- package/dist/tools/builtin/todo_write.js.map +1 -0
- package/dist/tools/builtin/web_fetch.d.ts +10 -0
- package/dist/tools/builtin/web_fetch.d.ts.map +1 -0
- package/dist/tools/builtin/web_fetch.js +150 -0
- package/dist/tools/builtin/web_fetch.js.map +1 -0
- package/dist/tools/builtin/write.d.ts +35 -0
- package/dist/tools/builtin/write.d.ts.map +1 -0
- package/dist/tools/builtin/write.js +70 -0
- package/dist/tools/builtin/write.js.map +1 -0
- package/dist/tools/file-state.d.ts +99 -0
- package/dist/tools/file-state.d.ts.map +1 -0
- package/dist/tools/file-state.js +133 -0
- package/dist/tools/file-state.js.map +1 -0
- package/dist/tools/hooks/sandbox-fs.d.ts +25 -0
- package/dist/tools/hooks/sandbox-fs.d.ts.map +1 -0
- package/dist/tools/hooks/sandbox-fs.js +48 -0
- package/dist/tools/hooks/sandbox-fs.js.map +1 -0
- package/dist/tools/registry.d.ts +102 -0
- package/dist/tools/registry.d.ts.map +1 -0
- package/dist/tools/registry.js +93 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/types.d.ts +109 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +20 -0
- package/dist/types.js.map +1 -0
- package/package.json +72 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
import type { EffortLevel, TokenUsage } from "../types.js";
|
|
2
|
+
/**
|
|
3
|
+
* Provider abstraction for the Maestro TS port.
|
|
4
|
+
*
|
|
5
|
+
* Phase 1 ships an Anthropic adapter only. OpenAI / Gemini / etc. arrive in
|
|
6
|
+
* Phase 5 — when they do, they implement this same Provider interface so the
|
|
7
|
+
* agent loop in core/loop.ts stays unchanged.
|
|
8
|
+
*
|
|
9
|
+
* Message format follows Anthropic's Messages API shape (closer to Claude
|
|
10
|
+
* than to OpenAI). The OpenAI-style conversion that upstream Maestro does
|
|
11
|
+
* inside run_agent.py is pushed down into per-provider adapters for the TS
|
|
12
|
+
* port — keeps the loop simple at the cost of one extra adapter step per
|
|
13
|
+
* non-Anthropic provider when Phase 5 lands.
|
|
14
|
+
*/
|
|
15
|
+
export interface ProviderToolSchema {
|
|
16
|
+
name: string;
|
|
17
|
+
description: string;
|
|
18
|
+
input_schema: {
|
|
19
|
+
type: "object";
|
|
20
|
+
properties: Record<string, unknown>;
|
|
21
|
+
required?: string[];
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export type ProviderContentBlock = {
|
|
25
|
+
type: "text";
|
|
26
|
+
text: string;
|
|
27
|
+
} | {
|
|
28
|
+
type: "thinking";
|
|
29
|
+
thinking: string;
|
|
30
|
+
signature?: string;
|
|
31
|
+
} | {
|
|
32
|
+
type: "redacted_thinking";
|
|
33
|
+
data: string;
|
|
34
|
+
} | {
|
|
35
|
+
type: "tool_use";
|
|
36
|
+
id: string;
|
|
37
|
+
name: string;
|
|
38
|
+
input: Record<string, unknown>;
|
|
39
|
+
} | {
|
|
40
|
+
type: "tool_result";
|
|
41
|
+
tool_use_id: string;
|
|
42
|
+
content: string;
|
|
43
|
+
is_error?: boolean;
|
|
44
|
+
};
|
|
45
|
+
export interface ProviderMessage {
|
|
46
|
+
role: "user" | "assistant";
|
|
47
|
+
content: string | ProviderContentBlock[];
|
|
48
|
+
}
|
|
49
|
+
export interface ProviderCompleteOptions {
|
|
50
|
+
model: string;
|
|
51
|
+
messages: ProviderMessage[];
|
|
52
|
+
system: string;
|
|
53
|
+
tools?: ProviderToolSchema[];
|
|
54
|
+
maxTokens?: number;
|
|
55
|
+
/**
|
|
56
|
+
* Extended thinking budget in tokens. AnthropicProvider sends this as
|
|
57
|
+
* `thinking: { type: "enabled", budget_tokens }` and ensures `max_tokens`
|
|
58
|
+
* exceeds the budget. Providers that don't support reasoning ignore this.
|
|
59
|
+
*/
|
|
60
|
+
thinkingBudget?: number;
|
|
61
|
+
/**
|
|
62
|
+
* High-level reasoning effort. DeepseekProvider maps this directly to
|
|
63
|
+
* `reasoning_effort` (low|medium|high|max) and toggles thinking mode.
|
|
64
|
+
* AnthropicProvider ignores this field and reads `thinkingBudget` instead —
|
|
65
|
+
* the call site in `maestroProvider` populates both so each provider can
|
|
66
|
+
* pick its native shape without a cross-provider conversion.
|
|
67
|
+
*/
|
|
68
|
+
effort?: EffortLevel;
|
|
69
|
+
abortSignal?: AbortSignal;
|
|
70
|
+
}
|
|
71
|
+
export interface ProviderResponse {
|
|
72
|
+
content: ProviderContentBlock[];
|
|
73
|
+
stopReason: string;
|
|
74
|
+
usage: TokenUsage;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Streaming chunk surface returned by `Provider.stream()`.
|
|
78
|
+
*
|
|
79
|
+
* Mirrors the slices of Anthropic's SSE event stream the agent loop cares
|
|
80
|
+
* about (text deltas, tool-use shape + JSON-input accumulation, terminal
|
|
81
|
+
* stop_reason + usage). Other Anthropic events (`ping`, `message_start`'s
|
|
82
|
+
* preliminary metadata, `message_delta` mid-stream usage) are flattened
|
|
83
|
+
* into these by the adapter so the loop doesn't need to know SSE shape.
|
|
84
|
+
*
|
|
85
|
+
* Provider implementations for non-Anthropic backends (Phase 5) will
|
|
86
|
+
* translate their native stream events into the same set.
|
|
87
|
+
*/
|
|
88
|
+
export type ProviderStreamChunk =
|
|
89
|
+
/** A token-sized append to the current text block. */
|
|
90
|
+
{
|
|
91
|
+
type: "text_delta";
|
|
92
|
+
text: string;
|
|
93
|
+
}
|
|
94
|
+
/** A tool_use block began — name + id known up front, input arrives via
|
|
95
|
+
* subsequent `tool_use_input_delta` chunks and finalizes at
|
|
96
|
+
* `content_block_stop` (signalled by the matching tool_use_complete). */
|
|
97
|
+
| {
|
|
98
|
+
type: "tool_use_start";
|
|
99
|
+
id: string;
|
|
100
|
+
name: string;
|
|
101
|
+
}
|
|
102
|
+
/** Partial JSON for the in-progress tool_use input. The adapter does not
|
|
103
|
+
* parse — the loop concatenates and parses once at `tool_use_complete`. */
|
|
104
|
+
| {
|
|
105
|
+
type: "tool_use_input_delta";
|
|
106
|
+
id: string;
|
|
107
|
+
partial_json: string;
|
|
108
|
+
}
|
|
109
|
+
/** The current tool_use block is fully delivered. The loop should JSON-
|
|
110
|
+
* parse the accumulated input and emit its `tool_use` UnifiedEvent. */
|
|
111
|
+
| {
|
|
112
|
+
type: "tool_use_complete";
|
|
113
|
+
id: string;
|
|
114
|
+
name: string;
|
|
115
|
+
}
|
|
116
|
+
/** A thinking block finished. Must be preserved verbatim in assistant
|
|
117
|
+
* history when extended thinking is enabled, especially before tool_use. */
|
|
118
|
+
| {
|
|
119
|
+
type: "thinking_complete";
|
|
120
|
+
block: ProviderContentBlock;
|
|
121
|
+
}
|
|
122
|
+
/** Terminal event: API call is done. Carries the final stop_reason and
|
|
123
|
+
* the merged usage (cache_creation / cache_read included when present). */
|
|
124
|
+
| {
|
|
125
|
+
type: "message_complete";
|
|
126
|
+
stopReason: string;
|
|
127
|
+
usage: TokenUsage;
|
|
128
|
+
};
|
|
129
|
+
export interface Provider {
|
|
130
|
+
complete(opts: ProviderCompleteOptions): Promise<ProviderResponse>;
|
|
131
|
+
/**
|
|
132
|
+
* Optional streaming entrypoint. Yields `ProviderStreamChunk`s as the API
|
|
133
|
+
* produces them so the agent loop can surface `text_delta` UnifiedEvents
|
|
134
|
+
* to telegram in real time, matching claude/codex's progressive typing
|
|
135
|
+
* behavior. Providers that don't yet support streaming can leave this
|
|
136
|
+
* undefined and the loop will fall back to `complete()`.
|
|
137
|
+
*/
|
|
138
|
+
stream?(opts: ProviderCompleteOptions): AsyncGenerator<ProviderStreamChunk>;
|
|
139
|
+
}
|
|
140
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/providers/base.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { Provider, ProviderCompleteOptions, ProviderMessage, ProviderResponse, ProviderStreamChunk, ProviderToolSchema } from "../providers/base.js";
|
|
2
|
+
import type { EffortLevel } from "../types.js";
|
|
3
|
+
/**
|
|
4
|
+
* DeepSeek V4 provider (deepseek-v4-pro / deepseek-v4-flash).
|
|
5
|
+
*
|
|
6
|
+
* The API is OpenAI-compatible at `/v1/chat/completions`, so this adapter
|
|
7
|
+
* translates the Anthropic-shaped `ProviderMessage` history into OpenAI chat
|
|
8
|
+
* messages on the way out and the OpenAI streaming response back into the
|
|
9
|
+
* shared `ProviderStreamChunk` shape on the way in. The agent loop in
|
|
10
|
+
* `core/loop.ts` is unchanged — it consumes the same chunk vocabulary
|
|
11
|
+
* regardless of which provider produced it.
|
|
12
|
+
*
|
|
13
|
+
* Thinking mode is opt-in via `extra_body.thinking.type = "enabled"` plus
|
|
14
|
+
* `reasoning_effort` (low|medium|high|max). When enabled, the streamed
|
|
15
|
+
* response interleaves `delta.reasoning_content` chunks alongside the usual
|
|
16
|
+
* `delta.content`; we accumulate the reasoning into a single `thinking` block
|
|
17
|
+
* so the agent loop can preserve it in history.
|
|
18
|
+
*
|
|
19
|
+
* DeepSeek docs (https://api-docs.deepseek.com/guides/thinking_mode) require
|
|
20
|
+
* that `reasoning_content` is sent back in the next request — but ONLY for
|
|
21
|
+
* assistant turns that called a tool. For "final answer" turns (text only,
|
|
22
|
+
* no tool_use), reasoning_content must be dropped. The translator below
|
|
23
|
+
* enforces this rule per assistant message.
|
|
24
|
+
*
|
|
25
|
+
* Prompt caching is automatic on DeepSeek's side (no `cache_control` markers
|
|
26
|
+
* needed). Usage response includes `prompt_cache_hit_tokens` /
|
|
27
|
+
* `prompt_cache_miss_tokens`; we map the hit count to `cacheReadInputTokens`
|
|
28
|
+
* so the existing footer/token-stats display works without changes.
|
|
29
|
+
*/
|
|
30
|
+
interface OpenAIToolCall {
|
|
31
|
+
id: string;
|
|
32
|
+
type: "function";
|
|
33
|
+
function: {
|
|
34
|
+
name: string;
|
|
35
|
+
arguments: string;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
interface OpenAIChatMessage {
|
|
39
|
+
role: "system" | "user" | "assistant" | "tool";
|
|
40
|
+
content?: string | null;
|
|
41
|
+
reasoning_content?: string;
|
|
42
|
+
tool_calls?: OpenAIToolCall[];
|
|
43
|
+
tool_call_id?: string;
|
|
44
|
+
name?: string;
|
|
45
|
+
}
|
|
46
|
+
interface OpenAITool {
|
|
47
|
+
type: "function";
|
|
48
|
+
function: {
|
|
49
|
+
name: string;
|
|
50
|
+
description: string;
|
|
51
|
+
parameters: Record<string, unknown>;
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export declare class DeepseekProvider implements Provider {
|
|
55
|
+
private readonly apiKey;
|
|
56
|
+
constructor(apiKey: string);
|
|
57
|
+
static fromEnv(): DeepseekProvider;
|
|
58
|
+
complete(opts: ProviderCompleteOptions): Promise<ProviderResponse>;
|
|
59
|
+
stream(opts: ProviderCompleteOptions): AsyncGenerator<ProviderStreamChunk>;
|
|
60
|
+
private headers;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Map the SDK's `EffortLevel` to DeepSeek's `reasoning_effort` string.
|
|
64
|
+
* DeepSeek's API ships four tiers (low/medium/high/max); maestro's
|
|
65
|
+
* `xhigh` and `max` both collapse onto DeepSeek `max` — the thinking
|
|
66
|
+
* depth is identical between them, but their maestro-side `maxIter` caps
|
|
67
|
+
* differ (xhigh=90, max=200), so the user-facing distinction is "how
|
|
68
|
+
* much rope before the loop strangles", not API-side reasoning depth.
|
|
69
|
+
*
|
|
70
|
+
* Returns undefined when effort is unset/unknown so the caller can skip
|
|
71
|
+
* thinking entirely.
|
|
72
|
+
*/
|
|
73
|
+
export declare function effortForDeepseek(e: EffortLevel | undefined): string | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Map OpenAI `finish_reason` to the loose stop_reason string the loop and
|
|
76
|
+
* conversation log carry. The loop itself doesn't branch on the value — it
|
|
77
|
+
* just propagates it into the `result` event — but downstream consumers and
|
|
78
|
+
* tests assert on familiar Anthropic-style names, so we normalize here.
|
|
79
|
+
*/
|
|
80
|
+
export declare function mapStopReason(reason: string | null | undefined): string;
|
|
81
|
+
/**
|
|
82
|
+
* Translate Maestro's Anthropic-shaped tool schemas into OpenAI function
|
|
83
|
+
* format. DeepSeek accepts the standard `{type:"function", function:{...}}`
|
|
84
|
+
* shape; we pass `input_schema` through as `parameters` (same JSON Schema
|
|
85
|
+
* subset, just renamed).
|
|
86
|
+
*/
|
|
87
|
+
export declare function translateToolsToOpenAI(tools: readonly ProviderToolSchema[]): OpenAITool[];
|
|
88
|
+
/**
|
|
89
|
+
* Translate Maestro's Anthropic-shaped message history into the OpenAI chat
|
|
90
|
+
* shape DeepSeek expects.
|
|
91
|
+
*
|
|
92
|
+
* Key rules — these are the load-bearing parts of the translation, and the
|
|
93
|
+
* unit tests assert each one:
|
|
94
|
+
*
|
|
95
|
+
* 1. The shared `system` string becomes a leading `{role:"system"}` message.
|
|
96
|
+
* Empty strings are dropped (no message at all).
|
|
97
|
+
*
|
|
98
|
+
* 2. Assistant messages aggregate text blocks into `content` and tool_use
|
|
99
|
+
* blocks into `tool_calls`. `thinking` blocks become `reasoning_content`
|
|
100
|
+
* ONLY when the same message also contains a tool_use; otherwise the
|
|
101
|
+
* thinking is dropped per DeepSeek's multi-turn contract (sending back
|
|
102
|
+
* reasoning_content for a final-answer turn produces a 400 on the next
|
|
103
|
+
* request). `redacted_thinking` has no DeepSeek analog and is always
|
|
104
|
+
* dropped.
|
|
105
|
+
*
|
|
106
|
+
* 3. User messages may carry `tool_result` blocks (Anthropic's convention
|
|
107
|
+
* is to wrap them in a user-role message). In OpenAI shape these become
|
|
108
|
+
* separate `{role:"tool", tool_call_id, content}` messages, one per
|
|
109
|
+
* tool_result, emitted IN PLACE inside the message stream so the
|
|
110
|
+
* ordering with surrounding user/assistant text is preserved. A user
|
|
111
|
+
* message that's nothing but tool_results contributes no user message
|
|
112
|
+
* itself — just the N tool messages.
|
|
113
|
+
*
|
|
114
|
+
* 4. Plain string `content` passes through unchanged.
|
|
115
|
+
*/
|
|
116
|
+
export declare function translateMessagesToOpenAI(system: string, messages: readonly ProviderMessage[]): OpenAIChatMessage[];
|
|
117
|
+
export {};
|
|
118
|
+
//# sourceMappingURL=deepseek.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deepseek.d.ts","sourceRoot":"","sources":["../../src/providers/deepseek.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,uBAAuB,EAEvB,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,SAAS,CAAC;AAIvD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,UAAU,cAAc;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AAED,UAAU,iBAAiB;IACzB,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,cAAc,EAAE,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACrC,CAAC;CACH;AA2BD,qBAAa,gBAAiB,YAAW,QAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE3C,MAAM,CAAC,OAAO,IAAI,gBAAgB;IAQ5B,QAAQ,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA0BjE,MAAM,CAAC,IAAI,EAAE,uBAAuB,GAAG,cAAc,CAAC,mBAAmB,CAAC;IA4HjF,OAAO,CAAC,OAAO;CAMhB;AAiCD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAehF;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAiBvE;AAkDD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,kBAAkB,EAAE,GAAG,UAAU,EAAE,CASzF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,eAAe,EAAE,GACnC,iBAAiB,EAAE,CA8ErB"}
|