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.
Files changed (196) hide show
  1. package/LICENSE +21 -0
  2. package/NOTICE +24 -0
  3. package/README.md +133 -0
  4. package/dist/agents/contracts.d.ts +49 -0
  5. package/dist/agents/contracts.d.ts.map +1 -0
  6. package/dist/agents/contracts.js +2 -0
  7. package/dist/agents/contracts.js.map +1 -0
  8. package/dist/agents/rollout/shared.d.ts +24 -0
  9. package/dist/agents/rollout/shared.d.ts.map +1 -0
  10. package/dist/agents/rollout/shared.js +105 -0
  11. package/dist/agents/rollout/shared.js.map +1 -0
  12. package/dist/core/agent.d.ts +71 -0
  13. package/dist/core/agent.d.ts.map +1 -0
  14. package/dist/core/agent.js +22 -0
  15. package/dist/core/agent.js.map +1 -0
  16. package/dist/core/loop.d.ts +26 -0
  17. package/dist/core/loop.d.ts.map +1 -0
  18. package/dist/core/loop.js +317 -0
  19. package/dist/core/loop.js.map +1 -0
  20. package/dist/index.d.ts +49 -0
  21. package/dist/index.d.ts.map +1 -0
  22. package/dist/index.js +53 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/mcp/client.d.ts +79 -0
  25. package/dist/mcp/client.d.ts.map +1 -0
  26. package/dist/mcp/client.js +176 -0
  27. package/dist/mcp/client.js.map +1 -0
  28. package/dist/mcp/pool-cache.d.ts +103 -0
  29. package/dist/mcp/pool-cache.d.ts.map +1 -0
  30. package/dist/mcp/pool-cache.js +249 -0
  31. package/dist/mcp/pool-cache.js.map +1 -0
  32. package/dist/mcp/pool.d.ts +65 -0
  33. package/dist/mcp/pool.d.ts.map +1 -0
  34. package/dist/mcp/pool.js +86 -0
  35. package/dist/mcp/pool.js.map +1 -0
  36. package/dist/media/file-events.d.ts +8 -0
  37. package/dist/media/file-events.d.ts.map +1 -0
  38. package/dist/media/file-events.js +15 -0
  39. package/dist/media/file-events.js.map +1 -0
  40. package/dist/memory/active-task-template.d.ts +34 -0
  41. package/dist/memory/active-task-template.d.ts.map +1 -0
  42. package/dist/memory/active-task-template.js +63 -0
  43. package/dist/memory/active-task-template.js.map +1 -0
  44. package/dist/memory/compressor.d.ts +87 -0
  45. package/dist/memory/compressor.d.ts.map +1 -0
  46. package/dist/memory/compressor.js +164 -0
  47. package/dist/memory/compressor.js.map +1 -0
  48. package/dist/memory/hash.d.ts +17 -0
  49. package/dist/memory/hash.d.ts.map +1 -0
  50. package/dist/memory/hash.js +20 -0
  51. package/dist/memory/hash.js.map +1 -0
  52. package/dist/memory/prune.d.ts +117 -0
  53. package/dist/memory/prune.d.ts.map +1 -0
  54. package/dist/memory/prune.js +416 -0
  55. package/dist/memory/prune.js.map +1 -0
  56. package/dist/memory/reminder.d.ts +57 -0
  57. package/dist/memory/reminder.d.ts.map +1 -0
  58. package/dist/memory/reminder.js +57 -0
  59. package/dist/memory/reminder.js.map +1 -0
  60. package/dist/memory/scrubber.d.ts +28 -0
  61. package/dist/memory/scrubber.d.ts.map +1 -0
  62. package/dist/memory/scrubber.js +147 -0
  63. package/dist/memory/scrubber.js.map +1 -0
  64. package/dist/memory/token-estimate.d.ts +10 -0
  65. package/dist/memory/token-estimate.d.ts.map +1 -0
  66. package/dist/memory/token-estimate.js +69 -0
  67. package/dist/memory/token-estimate.js.map +1 -0
  68. package/dist/platform/config.d.ts +12 -0
  69. package/dist/platform/config.d.ts.map +1 -0
  70. package/dist/platform/config.js +54 -0
  71. package/dist/platform/config.js.map +1 -0
  72. package/dist/platform/jsonl.d.ts +15 -0
  73. package/dist/platform/jsonl.d.ts.map +1 -0
  74. package/dist/platform/jsonl.js +80 -0
  75. package/dist/platform/jsonl.js.map +1 -0
  76. package/dist/platform/lifecycle.d.ts +22 -0
  77. package/dist/platform/lifecycle.d.ts.map +1 -0
  78. package/dist/platform/lifecycle.js +60 -0
  79. package/dist/platform/lifecycle.js.map +1 -0
  80. package/dist/platform/logger.d.ts +26 -0
  81. package/dist/platform/logger.d.ts.map +1 -0
  82. package/dist/platform/logger.js +41 -0
  83. package/dist/platform/logger.js.map +1 -0
  84. package/dist/platform/mcp-config.d.ts +15 -0
  85. package/dist/platform/mcp-config.d.ts.map +1 -0
  86. package/dist/platform/mcp-config.js +8 -0
  87. package/dist/platform/mcp-config.js.map +1 -0
  88. package/dist/provider.d.ts +81 -0
  89. package/dist/provider.d.ts.map +1 -0
  90. package/dist/provider.js +444 -0
  91. package/dist/provider.js.map +1 -0
  92. package/dist/providers/anthropic.d.ts +132 -0
  93. package/dist/providers/anthropic.d.ts.map +1 -0
  94. package/dist/providers/anthropic.js +518 -0
  95. package/dist/providers/anthropic.js.map +1 -0
  96. package/dist/providers/base.d.ts +140 -0
  97. package/dist/providers/base.d.ts.map +1 -0
  98. package/dist/providers/base.js +2 -0
  99. package/dist/providers/base.js.map +1 -0
  100. package/dist/providers/deepseek.d.ts +118 -0
  101. package/dist/providers/deepseek.d.ts.map +1 -0
  102. package/dist/providers/deepseek.js +467 -0
  103. package/dist/providers/deepseek.js.map +1 -0
  104. package/dist/registry.d.ts +3 -0
  105. package/dist/registry.d.ts.map +1 -0
  106. package/dist/registry.js +94 -0
  107. package/dist/registry.js.map +1 -0
  108. package/dist/session-store.d.ts +133 -0
  109. package/dist/session-store.d.ts.map +1 -0
  110. package/dist/session-store.js +277 -0
  111. package/dist/session-store.js.map +1 -0
  112. package/dist/skills/curator.d.ts +104 -0
  113. package/dist/skills/curator.d.ts.map +1 -0
  114. package/dist/skills/curator.js +162 -0
  115. package/dist/skills/curator.js.map +1 -0
  116. package/dist/skills/index-builder.d.ts +42 -0
  117. package/dist/skills/index-builder.d.ts.map +1 -0
  118. package/dist/skills/index-builder.js +94 -0
  119. package/dist/skills/index-builder.js.map +1 -0
  120. package/dist/skills/loader.d.ts +107 -0
  121. package/dist/skills/loader.d.ts.map +1 -0
  122. package/dist/skills/loader.js +286 -0
  123. package/dist/skills/loader.js.map +1 -0
  124. package/dist/skills/preprocess.d.ts +45 -0
  125. package/dist/skills/preprocess.d.ts.map +1 -0
  126. package/dist/skills/preprocess.js +126 -0
  127. package/dist/skills/preprocess.js.map +1 -0
  128. package/dist/skills/usage.d.ts +75 -0
  129. package/dist/skills/usage.d.ts.map +1 -0
  130. package/dist/skills/usage.js +147 -0
  131. package/dist/skills/usage.js.map +1 -0
  132. package/dist/state/todos.d.ts +95 -0
  133. package/dist/state/todos.d.ts.map +1 -0
  134. package/dist/state/todos.js +198 -0
  135. package/dist/state/todos.js.map +1 -0
  136. package/dist/storage/conversations.d.ts +28 -0
  137. package/dist/storage/conversations.d.ts.map +1 -0
  138. package/dist/storage/conversations.js +8 -0
  139. package/dist/storage/conversations.js.map +1 -0
  140. package/dist/sub-agent/runner.d.ts +78 -0
  141. package/dist/sub-agent/runner.d.ts.map +1 -0
  142. package/dist/sub-agent/runner.js +215 -0
  143. package/dist/sub-agent/runner.js.map +1 -0
  144. package/dist/tools/builtin/agent.d.ts +33 -0
  145. package/dist/tools/builtin/agent.d.ts.map +1 -0
  146. package/dist/tools/builtin/agent.js +76 -0
  147. package/dist/tools/builtin/agent.js.map +1 -0
  148. package/dist/tools/builtin/bash.d.ts +11 -0
  149. package/dist/tools/builtin/bash.d.ts.map +1 -0
  150. package/dist/tools/builtin/bash.js +91 -0
  151. package/dist/tools/builtin/bash.js.map +1 -0
  152. package/dist/tools/builtin/edit.d.ts +21 -0
  153. package/dist/tools/builtin/edit.d.ts.map +1 -0
  154. package/dist/tools/builtin/edit.js +238 -0
  155. package/dist/tools/builtin/edit.js.map +1 -0
  156. package/dist/tools/builtin/read.d.ts +17 -0
  157. package/dist/tools/builtin/read.d.ts.map +1 -0
  158. package/dist/tools/builtin/read.js +139 -0
  159. package/dist/tools/builtin/read.js.map +1 -0
  160. package/dist/tools/builtin/sandbox.d.ts +16 -0
  161. package/dist/tools/builtin/sandbox.d.ts.map +1 -0
  162. package/dist/tools/builtin/sandbox.js +58 -0
  163. package/dist/tools/builtin/sandbox.js.map +1 -0
  164. package/dist/tools/builtin/skill_view.d.ts +37 -0
  165. package/dist/tools/builtin/skill_view.d.ts.map +1 -0
  166. package/dist/tools/builtin/skill_view.js +82 -0
  167. package/dist/tools/builtin/skill_view.js.map +1 -0
  168. package/dist/tools/builtin/todo_write.d.ts +29 -0
  169. package/dist/tools/builtin/todo_write.d.ts.map +1 -0
  170. package/dist/tools/builtin/todo_write.js +96 -0
  171. package/dist/tools/builtin/todo_write.js.map +1 -0
  172. package/dist/tools/builtin/web_fetch.d.ts +10 -0
  173. package/dist/tools/builtin/web_fetch.d.ts.map +1 -0
  174. package/dist/tools/builtin/web_fetch.js +150 -0
  175. package/dist/tools/builtin/web_fetch.js.map +1 -0
  176. package/dist/tools/builtin/write.d.ts +35 -0
  177. package/dist/tools/builtin/write.d.ts.map +1 -0
  178. package/dist/tools/builtin/write.js +70 -0
  179. package/dist/tools/builtin/write.js.map +1 -0
  180. package/dist/tools/file-state.d.ts +99 -0
  181. package/dist/tools/file-state.d.ts.map +1 -0
  182. package/dist/tools/file-state.js +133 -0
  183. package/dist/tools/file-state.js.map +1 -0
  184. package/dist/tools/hooks/sandbox-fs.d.ts +25 -0
  185. package/dist/tools/hooks/sandbox-fs.d.ts.map +1 -0
  186. package/dist/tools/hooks/sandbox-fs.js +48 -0
  187. package/dist/tools/hooks/sandbox-fs.js.map +1 -0
  188. package/dist/tools/registry.d.ts +102 -0
  189. package/dist/tools/registry.d.ts.map +1 -0
  190. package/dist/tools/registry.js +93 -0
  191. package/dist/tools/registry.js.map +1 -0
  192. package/dist/types.d.ts +109 -0
  193. package/dist/types.d.ts.map +1 -0
  194. package/dist/types.js +20 -0
  195. package/dist/types.js.map +1 -0
  196. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base.js.map
@@ -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"}