@shareai-lab/kode-sdk 1.0.0-beta.9 → 2.7.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 +115 -273
- package/README.zh-CN.md +114 -0
- package/dist/core/agent/breakpoint-manager.d.ts +16 -0
- package/dist/core/agent/breakpoint-manager.js +36 -0
- package/dist/core/agent/message-queue.d.ts +26 -0
- package/dist/core/agent/message-queue.js +57 -0
- package/dist/core/agent/permission-manager.d.ts +9 -0
- package/dist/core/agent/permission-manager.js +32 -0
- package/dist/core/agent/todo-manager.d.ts +26 -0
- package/dist/core/agent/todo-manager.js +91 -0
- package/dist/core/agent/tool-runner.d.ts +9 -0
- package/dist/core/agent/tool-runner.js +45 -0
- package/dist/core/agent.d.ts +228 -62
- package/dist/core/agent.js +1890 -615
- package/dist/core/config.d.ts +10 -0
- package/dist/core/config.js +2 -0
- package/dist/core/context-manager.d.ts +82 -0
- package/dist/core/context-manager.js +241 -0
- package/dist/core/errors.d.ts +22 -0
- package/dist/core/errors.js +49 -0
- package/dist/core/events.d.ts +41 -10
- package/dist/core/events.js +270 -68
- package/dist/core/file-pool.d.ts +41 -0
- package/dist/core/file-pool.js +102 -0
- package/dist/core/hooks.d.ts +3 -3
- package/dist/core/hooks.js +1 -1
- package/dist/core/permission-modes.d.ts +31 -0
- package/dist/core/permission-modes.js +61 -0
- package/dist/core/pool.d.ts +56 -13
- package/dist/core/pool.js +244 -34
- package/dist/core/room.d.ts +2 -2
- package/dist/core/room.js +10 -10
- package/dist/core/scheduler.d.ts +30 -23
- package/dist/core/scheduler.js +42 -168
- package/dist/core/skills/index.d.ts +10 -0
- package/dist/core/skills/index.js +20 -0
- package/dist/core/skills/management-manager.d.ts +130 -0
- package/dist/core/skills/management-manager.js +557 -0
- package/dist/core/skills/manager.d.ts +47 -0
- package/dist/core/skills/manager.js +243 -0
- package/dist/core/skills/operation-queue.d.ts +87 -0
- package/dist/core/skills/operation-queue.js +113 -0
- package/dist/core/skills/sandbox-file-manager.d.ts +82 -0
- package/dist/core/skills/sandbox-file-manager.js +183 -0
- package/dist/core/skills/types.d.ts +120 -0
- package/dist/core/skills/types.js +9 -0
- package/dist/core/skills/xml-generator.d.ts +13 -0
- package/dist/core/skills/xml-generator.js +70 -0
- package/dist/core/template.d.ts +57 -0
- package/dist/core/template.js +35 -0
- package/dist/core/time-bridge.d.ts +18 -0
- package/dist/core/time-bridge.js +100 -0
- package/dist/core/todo.d.ts +34 -0
- package/dist/core/todo.js +89 -0
- package/dist/core/types.d.ts +311 -114
- package/dist/core/types.js +1 -12
- package/dist/index.d.ts +47 -9
- package/dist/index.js +108 -15
- package/dist/infra/db/postgres/postgres-store.d.ts +97 -0
- package/dist/infra/db/postgres/postgres-store.js +1073 -0
- package/dist/infra/db/sqlite/sqlite-store.d.ts +84 -0
- package/dist/infra/db/sqlite/sqlite-store.js +800 -0
- package/dist/infra/e2b/e2b-fs.d.ts +29 -0
- package/dist/infra/e2b/e2b-fs.js +128 -0
- package/dist/infra/e2b/e2b-sandbox.d.ts +37 -0
- package/dist/infra/e2b/e2b-sandbox.js +156 -0
- package/dist/infra/e2b/e2b-template.d.ts +24 -0
- package/dist/infra/e2b/e2b-template.js +105 -0
- package/dist/infra/e2b/index.d.ts +4 -0
- package/dist/infra/e2b/index.js +9 -0
- package/dist/infra/e2b/types.d.ts +46 -0
- package/dist/infra/e2b/types.js +2 -0
- package/dist/infra/provider.d.ts +17 -58
- package/dist/infra/provider.js +65 -116
- package/dist/infra/providers/anthropic.d.ts +42 -0
- package/dist/infra/providers/anthropic.js +308 -0
- package/dist/infra/providers/core/errors.d.ts +230 -0
- package/dist/infra/providers/core/errors.js +353 -0
- package/dist/infra/providers/core/fork.d.ts +106 -0
- package/dist/infra/providers/core/fork.js +418 -0
- package/dist/infra/providers/core/index.d.ts +10 -0
- package/dist/infra/providers/core/index.js +76 -0
- package/dist/infra/providers/core/logger.d.ts +186 -0
- package/dist/infra/providers/core/logger.js +191 -0
- package/dist/infra/providers/core/retry.d.ts +62 -0
- package/dist/infra/providers/core/retry.js +189 -0
- package/dist/infra/providers/core/usage.d.ts +151 -0
- package/dist/infra/providers/core/usage.js +376 -0
- package/dist/infra/providers/gemini.d.ts +49 -0
- package/dist/infra/providers/gemini.js +493 -0
- package/dist/infra/providers/index.d.ts +25 -0
- package/dist/infra/providers/index.js +83 -0
- package/dist/infra/providers/openai.d.ts +123 -0
- package/dist/infra/providers/openai.js +662 -0
- package/dist/infra/providers/types.d.ts +334 -0
- package/dist/infra/providers/types.js +20 -0
- package/dist/infra/providers/utils.d.ts +53 -0
- package/dist/infra/providers/utils.js +400 -0
- package/dist/infra/sandbox-factory.d.ts +13 -0
- package/dist/infra/sandbox-factory.js +30 -0
- package/dist/infra/sandbox.d.ts +35 -6
- package/dist/infra/sandbox.js +174 -8
- package/dist/infra/store/factory.d.ts +45 -0
- package/dist/infra/store/factory.js +80 -0
- package/dist/infra/store/index.d.ts +3 -0
- package/dist/infra/store/index.js +26 -0
- package/dist/infra/store/json-store.d.ts +67 -0
- package/dist/infra/store/json-store.js +606 -0
- package/dist/infra/store/types.d.ts +342 -0
- package/dist/infra/store/types.js +2 -0
- package/dist/infra/store.d.ts +12 -32
- package/dist/infra/store.js +27 -130
- package/dist/tools/bash_kill/index.d.ts +1 -0
- package/dist/tools/bash_kill/index.js +35 -0
- package/dist/tools/bash_kill/prompt.d.ts +2 -0
- package/dist/tools/bash_kill/prompt.js +14 -0
- package/dist/tools/bash_logs/index.d.ts +1 -0
- package/dist/tools/bash_logs/index.js +40 -0
- package/dist/tools/bash_logs/prompt.d.ts +2 -0
- package/dist/tools/bash_logs/prompt.js +14 -0
- package/dist/tools/bash_run/index.d.ts +16 -0
- package/dist/tools/bash_run/index.js +61 -0
- package/dist/tools/bash_run/prompt.d.ts +2 -0
- package/dist/tools/bash_run/prompt.js +18 -0
- package/dist/tools/builtin.d.ts +7 -13
- package/dist/tools/builtin.js +19 -90
- package/dist/tools/define.d.ts +101 -0
- package/dist/tools/define.js +214 -0
- package/dist/tools/fs_edit/index.d.ts +1 -0
- package/dist/tools/fs_edit/index.js +62 -0
- package/dist/tools/fs_edit/prompt.d.ts +2 -0
- package/dist/tools/fs_edit/prompt.js +15 -0
- package/dist/tools/fs_glob/index.d.ts +1 -0
- package/dist/tools/fs_glob/index.js +40 -0
- package/dist/tools/fs_glob/prompt.d.ts +2 -0
- package/dist/tools/fs_glob/prompt.js +15 -0
- package/dist/tools/fs_grep/index.d.ts +1 -0
- package/dist/tools/fs_grep/index.js +66 -0
- package/dist/tools/fs_grep/prompt.d.ts +2 -0
- package/dist/tools/fs_grep/prompt.js +16 -0
- package/dist/tools/fs_multi_edit/index.d.ts +1 -0
- package/dist/tools/fs_multi_edit/index.js +106 -0
- package/dist/tools/fs_multi_edit/prompt.d.ts +2 -0
- package/dist/tools/fs_multi_edit/prompt.js +16 -0
- package/dist/tools/fs_read/index.d.ts +1 -0
- package/dist/tools/fs_read/index.js +40 -0
- package/dist/tools/fs_read/prompt.d.ts +2 -0
- package/dist/tools/fs_read/prompt.js +16 -0
- package/dist/tools/fs_write/index.d.ts +1 -0
- package/dist/tools/fs_write/index.js +40 -0
- package/dist/tools/fs_write/prompt.d.ts +2 -0
- package/dist/tools/fs_write/prompt.js +15 -0
- package/dist/tools/index.d.ts +11 -0
- package/dist/tools/index.js +61 -0
- package/dist/tools/mcp.d.ts +69 -0
- package/dist/tools/mcp.js +185 -0
- package/dist/tools/registry.d.ts +29 -0
- package/dist/tools/registry.js +26 -0
- package/dist/tools/scripts.d.ts +22 -0
- package/dist/tools/scripts.js +205 -0
- package/dist/tools/skills.d.ts +20 -0
- package/dist/tools/skills.js +115 -0
- package/dist/tools/task_run/index.d.ts +7 -0
- package/dist/tools/task_run/index.js +58 -0
- package/dist/tools/task_run/prompt.d.ts +5 -0
- package/dist/tools/task_run/prompt.js +25 -0
- package/dist/tools/todo_read/index.d.ts +1 -0
- package/dist/tools/todo_read/index.js +29 -0
- package/dist/tools/todo_read/prompt.d.ts +2 -0
- package/dist/tools/todo_read/prompt.js +18 -0
- package/dist/tools/todo_write/index.d.ts +1 -0
- package/dist/tools/todo_write/index.js +42 -0
- package/dist/tools/todo_write/prompt.d.ts +2 -0
- package/dist/tools/todo_write/prompt.js +23 -0
- package/dist/tools/tool.d.ts +43 -0
- package/dist/tools/tool.js +211 -0
- package/dist/tools/toolkit.d.ts +69 -0
- package/dist/tools/toolkit.js +98 -0
- package/dist/tools/type-inference.d.ts +127 -0
- package/dist/tools/type-inference.js +207 -0
- package/dist/utils/agent-id.d.ts +1 -0
- package/dist/utils/agent-id.js +28 -0
- package/dist/utils/logger.d.ts +15 -0
- package/dist/utils/logger.js +44 -0
- package/dist/utils/session-id.js +16 -16
- package/package.json +35 -11
- package/dist/tools/bash.d.ts +0 -63
- package/dist/tools/bash.js +0 -92
- package/dist/tools/fs.d.ts +0 -96
- package/dist/tools/fs.js +0 -100
- package/dist/tools/task.d.ts +0 -38
- package/dist/tools/task.js +0 -45
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAI Provider Adapter
|
|
3
|
+
*
|
|
4
|
+
* Converts internal Anthropic-style messages to OpenAI API format.
|
|
5
|
+
* Supports:
|
|
6
|
+
* - Chat Completions API (GPT-4.x)
|
|
7
|
+
* - Responses API (GPT-5.x with reasoning)
|
|
8
|
+
* - Streaming with SSE
|
|
9
|
+
* - Tool calls
|
|
10
|
+
* - Reasoning tokens (reasoning_content, reasoning_details)
|
|
11
|
+
*/
|
|
12
|
+
import { Message } from '../../core/types';
|
|
13
|
+
import { ModelProvider, ModelResponse, ModelStreamChunk, ModelConfig, UploadFileInput, UploadFileResult, CompletionOptions, ReasoningTransport, ThinkingOptions } from './types';
|
|
14
|
+
/**
|
|
15
|
+
* Reasoning/thinking configuration for OpenAI-compatible providers.
|
|
16
|
+
*
|
|
17
|
+
* Different providers use different field names and parameters:
|
|
18
|
+
* - DeepSeek: reasoning_content (must strip from history)
|
|
19
|
+
* - GLM: reasoning_content + thinking param
|
|
20
|
+
* - Minimax: reasoning_details + reasoning_split param
|
|
21
|
+
* - Qwen: reasoning_content + enable_thinking param
|
|
22
|
+
*/
|
|
23
|
+
export interface ReasoningConfig {
|
|
24
|
+
/**
|
|
25
|
+
* Field name for reasoning content in API response.
|
|
26
|
+
* - 'reasoning_content': DeepSeek, GLM, Qwen
|
|
27
|
+
* - 'reasoning_details': Minimax (array format)
|
|
28
|
+
*/
|
|
29
|
+
fieldName?: 'reasoning_content' | 'reasoning_details';
|
|
30
|
+
/**
|
|
31
|
+
* Additional request parameters to enable reasoning mode.
|
|
32
|
+
* Examples:
|
|
33
|
+
* - GLM: { thinking: { type: 'enabled', clear_thinking: false } }
|
|
34
|
+
* - Minimax: { reasoning_split: true }
|
|
35
|
+
* - Qwen: { enable_thinking: true }
|
|
36
|
+
*/
|
|
37
|
+
requestParams?: Record<string, any>;
|
|
38
|
+
/**
|
|
39
|
+
* Whether to strip reasoning from message history.
|
|
40
|
+
* DeepSeek returns 400 if reasoning_content is included in subsequent turns.
|
|
41
|
+
* Default: false
|
|
42
|
+
*/
|
|
43
|
+
stripFromHistory?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Responses API specific configuration (GPT-5.x and future models).
|
|
47
|
+
*/
|
|
48
|
+
export interface ResponsesApiConfig {
|
|
49
|
+
/**
|
|
50
|
+
* Reasoning effort level for o1/o3 series models.
|
|
51
|
+
*/
|
|
52
|
+
reasoning?: {
|
|
53
|
+
effort: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh';
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Enable response storage for multi-turn continuation.
|
|
57
|
+
*/
|
|
58
|
+
store?: boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Previous response ID for continuing a conversation.
|
|
61
|
+
* When set, the API uses stored state instead of full message history.
|
|
62
|
+
*/
|
|
63
|
+
previousResponseId?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface OpenAIProviderOptions {
|
|
66
|
+
/**
|
|
67
|
+
* API type to use.
|
|
68
|
+
* - 'chat': Chat Completions API (default, GPT-4.x compatible)
|
|
69
|
+
* - 'responses': Responses API (GPT-5.x, supports files and reasoning)
|
|
70
|
+
*/
|
|
71
|
+
api?: 'chat' | 'responses';
|
|
72
|
+
/**
|
|
73
|
+
* Responses API specific options.
|
|
74
|
+
*/
|
|
75
|
+
responses?: ResponsesApiConfig;
|
|
76
|
+
/**
|
|
77
|
+
* Reasoning/thinking configuration for providers that support it.
|
|
78
|
+
* Configure field names and request parameters for DeepSeek, GLM, Minimax, Qwen, etc.
|
|
79
|
+
*/
|
|
80
|
+
reasoning?: ReasoningConfig;
|
|
81
|
+
/**
|
|
82
|
+
* How reasoning content is transported in message history.
|
|
83
|
+
* - 'provider': Native format (reasoning_content/reasoning_details fields)
|
|
84
|
+
* - 'text': Wrapped in <think></think> tags
|
|
85
|
+
* - 'omit': Excluded from history
|
|
86
|
+
*/
|
|
87
|
+
reasoningTransport?: ReasoningTransport;
|
|
88
|
+
extraHeaders?: Record<string, string>;
|
|
89
|
+
extraBody?: Record<string, any>;
|
|
90
|
+
providerOptions?: Record<string, any>;
|
|
91
|
+
multimodal?: ModelConfig['multimodal'];
|
|
92
|
+
thinking?: ThinkingOptions;
|
|
93
|
+
}
|
|
94
|
+
export declare class OpenAIProvider implements ModelProvider {
|
|
95
|
+
private apiKey;
|
|
96
|
+
readonly maxWindowSize = 128000;
|
|
97
|
+
readonly maxOutputTokens = 4096;
|
|
98
|
+
readonly temperature = 0.7;
|
|
99
|
+
readonly model: string;
|
|
100
|
+
private readonly baseUrl;
|
|
101
|
+
private readonly dispatcher?;
|
|
102
|
+
private readonly reasoningTransport;
|
|
103
|
+
private readonly extraHeaders?;
|
|
104
|
+
private readonly extraBody?;
|
|
105
|
+
private readonly providerOptions?;
|
|
106
|
+
private readonly multimodal?;
|
|
107
|
+
private readonly openaiApi;
|
|
108
|
+
private readonly thinking?;
|
|
109
|
+
private readonly reasoning?;
|
|
110
|
+
private readonly responsesConfig?;
|
|
111
|
+
constructor(apiKey: string, model?: string, baseUrl?: string, proxyUrl?: string, options?: OpenAIProviderOptions);
|
|
112
|
+
private applyReasoningDefaults;
|
|
113
|
+
uploadFile(input: UploadFileInput): Promise<UploadFileResult | null>;
|
|
114
|
+
complete(messages: Message[], opts?: CompletionOptions): Promise<ModelResponse>;
|
|
115
|
+
stream(messages: Message[], opts?: CompletionOptions): AsyncIterable<ModelStreamChunk>;
|
|
116
|
+
toConfig(): ModelConfig;
|
|
117
|
+
private resolveOpenAIApi;
|
|
118
|
+
private completeWithResponses;
|
|
119
|
+
private buildOpenAITools;
|
|
120
|
+
private buildOpenAIMessages;
|
|
121
|
+
private buildOpenAIUserMessages;
|
|
122
|
+
private buildOpenAIResponsesInput;
|
|
123
|
+
}
|