@deepstrike/sdk 0.1.7 → 0.1.9
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/README.md +19 -6
- package/dist/agent.js +4 -2
- package/dist/index.d.ts +13 -2
- package/dist/index.js +10 -1
- package/dist/providers/anthropic.d.ts +11 -2
- package/dist/providers/anthropic.js +46 -10
- package/dist/providers/base.d.ts +3 -0
- package/dist/providers/base.js +79 -0
- package/dist/providers/catalog.d.ts +14 -0
- package/dist/providers/catalog.js +45 -0
- package/dist/providers/deepseek.d.ts +9 -0
- package/dist/providers/deepseek.js +64 -0
- package/dist/providers/gemini.d.ts +14 -0
- package/dist/providers/gemini.js +142 -0
- package/dist/providers/kimi.d.ts +7 -0
- package/dist/providers/kimi.js +8 -0
- package/dist/providers/minimax.d.ts +7 -0
- package/dist/providers/minimax.js +10 -0
- package/dist/providers/openai-chat.d.ts +27 -0
- package/dist/providers/openai-chat.js +41 -0
- package/dist/providers/openai-responses.d.ts +42 -0
- package/dist/providers/openai-responses.js +220 -0
- package/dist/providers/openai.d.ts +4 -36
- package/dist/providers/openai.js +12 -121
- package/dist/providers/profiles.d.ts +342 -0
- package/dist/providers/profiles.js +190 -0
- package/dist/providers/qwen.d.ts +18 -0
- package/dist/providers/qwen.js +103 -0
- package/dist/runtime/server.d.ts +7 -0
- package/dist/runtime/server.js +37 -0
- package/dist/types.d.ts +17 -2
- package/package.json +5 -3
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const BROWSER_LIKE_GLOBALS = ["window", "document", "navigator", "self"];
|
|
2
|
+
/**
|
|
3
|
+
* Some server-side tools install browser globals into Node for DOM work. SDKs
|
|
4
|
+
* that probe those globals during construction can then misclassify the host as
|
|
5
|
+
* a browser, so hide them only for the synchronous server-only bootstrap and
|
|
6
|
+
* restore the process exactly as we found it afterward.
|
|
7
|
+
*/
|
|
8
|
+
export function withServerRuntimeGuard(fn) {
|
|
9
|
+
const snapshots = BROWSER_LIKE_GLOBALS.map(name => ({
|
|
10
|
+
name,
|
|
11
|
+
descriptor: Object.getOwnPropertyDescriptor(globalThis, name),
|
|
12
|
+
}));
|
|
13
|
+
try {
|
|
14
|
+
for (const { name, descriptor } of snapshots) {
|
|
15
|
+
if (!descriptor)
|
|
16
|
+
continue;
|
|
17
|
+
if (descriptor.configurable) {
|
|
18
|
+
Reflect.deleteProperty(globalThis, name);
|
|
19
|
+
}
|
|
20
|
+
else if ("value" in descriptor && descriptor.writable) {
|
|
21
|
+
Object.defineProperty(globalThis, name, { ...descriptor, value: undefined });
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return fn();
|
|
25
|
+
}
|
|
26
|
+
finally {
|
|
27
|
+
for (const { name, descriptor } of snapshots) {
|
|
28
|
+
restoreGlobal(name, descriptor);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function restoreGlobal(name, descriptor) {
|
|
33
|
+
if (descriptor)
|
|
34
|
+
Object.defineProperty(globalThis, name, descriptor);
|
|
35
|
+
else
|
|
36
|
+
Reflect.deleteProperty(globalThis, name);
|
|
37
|
+
}
|
package/dist/types.d.ts
CHANGED
|
@@ -20,7 +20,13 @@ export interface AudioPart {
|
|
|
20
20
|
/** MIME type, e.g. `"audio/wav"`. */
|
|
21
21
|
mediaType: string;
|
|
22
22
|
}
|
|
23
|
-
export
|
|
23
|
+
export interface ToolResultPart {
|
|
24
|
+
type: "tool_result";
|
|
25
|
+
callId: string;
|
|
26
|
+
output: string;
|
|
27
|
+
isError: boolean;
|
|
28
|
+
}
|
|
29
|
+
export type ContentPart = TextPart | ImagePart | AudioPart | ToolResultPart;
|
|
24
30
|
export interface Message {
|
|
25
31
|
role: "system" | "user" | "assistant" | "tool";
|
|
26
32
|
/** Plain-text content. When `contentParts` is present, this holds only the text segments. */
|
|
@@ -103,7 +109,16 @@ export interface RetryConfig {
|
|
|
103
109
|
circuitOpenAfter?: number;
|
|
104
110
|
circuitResetAfter?: number;
|
|
105
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Opaque provider-owned state scoped to a single Agent run.
|
|
114
|
+
*
|
|
115
|
+
* The framework only creates and threads this object through provider turns.
|
|
116
|
+
* Providers may use it for protocol-native continuation state such as
|
|
117
|
+
* Responses `previous_response_id` without leaking those semantics into the kernel.
|
|
118
|
+
*/
|
|
119
|
+
export type ProviderRunState = Record<string, unknown>;
|
|
106
120
|
export interface LLMProvider {
|
|
121
|
+
createRunState?(): ProviderRunState;
|
|
107
122
|
complete(messages: Message[], tools: ToolSchema[]): Promise<Message>;
|
|
108
|
-
stream(messages: Message[], tools: ToolSchema[], extensions?: Record<string, unknown
|
|
123
|
+
stream(messages: Message[], tools: ToolSchema[], extensions?: Record<string, unknown>, state?: ProviderRunState): AsyncIterable<StreamEvent>;
|
|
109
124
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepstrike/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.9",
|
|
4
4
|
"description": "DeepStrike Node.js SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -11,11 +11,13 @@
|
|
|
11
11
|
],
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
-
"test": "node --experimental-vm-modules node_modules/.bin/jest"
|
|
14
|
+
"test": "node --experimental-vm-modules node_modules/.bin/jest",
|
|
15
|
+
"smoke:providers": "node ../scripts/smoke-node-provider-loops.mjs"
|
|
15
16
|
},
|
|
16
17
|
"dependencies": {
|
|
17
18
|
"@anthropic-ai/sdk": "^0.39.0",
|
|
18
|
-
"@deepstrike/core": "0.1.
|
|
19
|
+
"@deepstrike/core": "0.1.9",
|
|
20
|
+
"@google/generative-ai": "^0.24.1",
|
|
19
21
|
"openai": "^4.77.0"
|
|
20
22
|
},
|
|
21
23
|
"devDependencies": {
|