@deepstrike/sdk 0.2.28 → 0.2.31
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 +45 -21
- package/dist/harness/harness.d.ts +3 -2
- package/dist/harness/harness.js +15 -35
- package/dist/harness/judge.d.ts +42 -0
- package/dist/harness/judge.js +58 -0
- package/dist/harness/public.d.ts +4 -0
- package/dist/harness/public.js +3 -0
- package/dist/index.d.ts +21 -80
- package/dist/index.js +28 -60
- package/dist/kernel.d.ts +7 -1
- package/dist/memory/public.d.ts +4 -0
- package/dist/memory/public.js +3 -0
- package/dist/os/public.d.ts +18 -0
- package/dist/os/public.js +14 -0
- package/dist/planes/public.d.ts +13 -0
- package/dist/planes/public.js +9 -0
- package/dist/providers/anthropic-compatible.d.ts +23 -0
- package/dist/providers/anthropic-compatible.js +29 -0
- package/dist/providers/anthropic.d.ts +11 -2
- package/dist/providers/anthropic.js +14 -9
- package/dist/providers/catalog.js +5 -53
- package/dist/providers/deepseek.d.ts +28 -8
- package/dist/providers/deepseek.js +38 -157
- package/dist/providers/factories.d.ts +31 -0
- package/dist/providers/factories.js +33 -0
- package/dist/providers/glm.d.ts +5 -4
- package/dist/providers/glm.js +8 -23
- package/dist/providers/kimi.d.ts +5 -4
- package/dist/providers/kimi.js +8 -22
- package/dist/providers/minimax.d.ts +26 -12
- package/dist/providers/minimax.js +32 -158
- package/dist/providers/openai.d.ts +57 -2
- package/dist/providers/openai.js +139 -70
- package/dist/providers/public.d.ts +10 -0
- package/dist/providers/public.js +11 -0
- package/dist/providers/qwen.d.ts +19 -19
- package/dist/providers/qwen.js +37 -176
- package/dist/providers/registry.d.ts +18 -0
- package/dist/providers/registry.js +35 -0
- package/dist/providers/vendor-profiles.d.ts +54 -0
- package/dist/providers/vendor-profiles.js +62 -0
- package/dist/runtime/event-stream.d.ts +44 -0
- package/dist/runtime/event-stream.js +39 -0
- package/dist/runtime/facade.js +6 -1
- package/dist/runtime/reactive-session.d.ts +125 -0
- package/dist/runtime/reactive-session.js +127 -0
- package/dist/runtime/run-group.d.ts +74 -0
- package/dist/runtime/run-group.js +72 -0
- package/dist/runtime/runner.d.ts +9 -0
- package/dist/runtime/runner.js +79 -46
- package/dist/runtime/session-log.d.ts +8 -0
- package/dist/runtime/turn-policy.d.ts +33 -0
- package/dist/runtime/turn-policy.js +58 -0
- package/dist/signals/gateway.d.ts +7 -2
- package/dist/signals/gateway.js +13 -3
- package/dist/signals/types.d.ts +10 -1
- package/dist/workflow/public.d.ts +20 -0
- package/dist/workflow/public.js +15 -0
- package/package.json +54 -2
package/README.md
CHANGED
|
@@ -76,9 +76,25 @@ const reply = await collectText(runner.run({ sessionId: "chat-1", goal: "What is
|
|
|
76
76
|
|
|
77
77
|
Use `InMemorySessionLog` for process-local sessions or `FileSessionLog` when replay should survive restarts. `wake(sessionId)` resumes from the event log without inserting a duplicate `run_started` event.
|
|
78
78
|
|
|
79
|
+
### Package layout (v0.2.30)
|
|
80
|
+
|
|
81
|
+
The root export is the **intent layer** — what you reach for to run an agent, run a workflow, author a tool, or pick a provider (~30 symbols). Advanced machinery lives behind subpaths, so the common surface stays small and tree-shakeable:
|
|
82
|
+
|
|
83
|
+
| Import | Contains |
|
|
84
|
+
|--------|----------|
|
|
85
|
+
| `@deepstrike/sdk` | `runAgent` · `runFanout` · `RuntimeRunner` · `tool` · `LocalExecutionPlane` · `InMemorySessionLog`/`FileSessionLog` · `AnthropicProvider`/`OpenAIProvider`/`OpenAIResponsesProvider` · `createProvider` · `Governance` · `AgentPool` · core types |
|
|
86
|
+
| `@deepstrike/sdk/providers` | backend factories (`deepseek`, `kimi`, `qwen`, `glm`, `minimax`, `gemini`, `ollama`), profiles, `CircuitBreaker` |
|
|
87
|
+
| `@deepstrike/sdk/workflow` | `SubAgentOrchestrator`, `spawnStandalone`, reducers, contracts, handoff/modes, agent + spec types |
|
|
88
|
+
| `@deepstrike/sdk/planes` | `WorktreeExecutionPlane`, `ProcessSandboxPlane`, `McpProxyPlane`, `RemoteVpcPlane`, archive/credential stores |
|
|
89
|
+
| `@deepstrike/sdk/memory` | `DreamStore`, `WorkingMemory`, `InMemoryDreamStore`, `KnowledgeSource` |
|
|
90
|
+
| `@deepstrike/sdk/harness` | `SinglePassHarness`, `EvalLoopHarness`, `HarnessLoop`, `judge` |
|
|
91
|
+
| `@deepstrike/sdk/os` | profiles, `KernelPrimitivesDashboard`, signals, `PermissionManager`, replay-testing utilities |
|
|
92
|
+
|
|
93
|
+
> **Migration from 0.2.x:** the kernel-lowering converters (`*ToKernel`), low-level prompt/eval builders, and the `OpenAIChatProvider` alias are no longer exported from root; backend providers, planes, memory, harness, and OS utilities moved to the subpaths above. See [`MIGRATION-v0.2.300.md`](./MIGRATION-v0.2.300.md).
|
|
94
|
+
|
|
79
95
|
### Recipes — the canonical entry points
|
|
80
96
|
|
|
81
|
-
|
|
97
|
+
Most apps need one of three shapes. Start with the facades and drop down to `RuntimeRunner` only when you need streaming, signals, memory, or governance hooks.
|
|
82
98
|
|
|
83
99
|
```typescript
|
|
84
100
|
import { runAgent, runFanout } from "@deepstrike/sdk"
|
|
@@ -232,36 +248,44 @@ A node's `kind` selects the control-flow shape; the same executor drives them al
|
|
|
232
248
|
|
|
233
249
|
## Providers
|
|
234
250
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
| `OpenAIResponsesProvider` | OpenAI Responses API | Native `previous_response_id` continuation |
|
|
240
|
-
| `AnthropicProvider` | Anthropic API | Native SSE, `ThinkingDelta` support |
|
|
241
|
-
| `QwenProvider` | DashScope | `enable_thinking` via extensions |
|
|
242
|
-
| `DeepSeekProvider` | DeepSeek API | V4 thinking controls + reasoning replay across tool turns |
|
|
243
|
-
| `MiniMaxProvider` | MiniMax API | Anthropic-compatible M2.7/M2.5 path |
|
|
244
|
-
| `OllamaProvider` | Local Ollama | `http://localhost:11434` default |
|
|
245
|
-
| `KimiProvider` | Moonshot API | K2.6 default; K2.5 also supported |
|
|
251
|
+
The root package exports the three base providers — `AnthropicProvider`, `OpenAIProvider`,
|
|
252
|
+
`OpenAIResponsesProvider` — plus `createProvider`. **Every other backend is a factory function** in
|
|
253
|
+
`@deepstrike/sdk/providers`: one per backend, with a `protocol` option where a backend speaks both the
|
|
254
|
+
OpenAI- and Anthropic-compatible wire.
|
|
246
255
|
|
|
247
|
-
|
|
256
|
+
```typescript
|
|
257
|
+
import { deepseek, kimi, minimax } from "@deepstrike/sdk/providers"
|
|
248
258
|
|
|
249
|
-
|
|
259
|
+
const ds = deepseek({ apiKey }) // OpenAI-compatible wire (default)
|
|
260
|
+
const dsA = deepseek({ apiKey, protocol: "anthropic" }) // Anthropic-compatible wire
|
|
261
|
+
const mm = minimax({ apiKey }) // MiniMax defaults to the Anthropic wire
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
| Entry | Import from | Backend |
|
|
265
|
+
|-------|-------------|---------|
|
|
266
|
+
| `OpenAIProvider` | root | OpenAI Chat Completions (and any OpenAI-compatible `/v1`) |
|
|
267
|
+
| `OpenAIResponsesProvider` | root | OpenAI Responses API (`previous_response_id` continuation) |
|
|
268
|
+
| `AnthropicProvider` | root | Anthropic Messages API (`ThinkingDelta` support) |
|
|
269
|
+
| `deepseek` · `kimi` · `qwen` · `glm` · `minimax` · `gemini` · `ollama` | `@deepstrike/sdk/providers` | the respective vendor (factory functions) |
|
|
250
270
|
|
|
251
|
-
|
|
271
|
+
Providers take an **options object** and share a `CircuitBreaker`. `extensions` are forwarded in both
|
|
272
|
+
`complete()` and `stream()`; SDK-owned fields (`model`, `messages`, `tools`, streaming flags) stay protected.
|
|
273
|
+
|
|
274
|
+
**Custom OpenAI-compatible endpoint** (MiMo, DeepSeek, Kimi, Qwen, GLM via their `/v1` base URL): construct
|
|
275
|
+
`OpenAIProvider` with an options object — no more positional `baseURL` hole:
|
|
252
276
|
|
|
253
277
|
```typescript
|
|
254
278
|
import { OpenAIProvider } from "@deepstrike/sdk"
|
|
255
279
|
|
|
256
|
-
const provider = new OpenAIProvider(
|
|
280
|
+
const provider = new OpenAIProvider({
|
|
257
281
|
apiKey,
|
|
258
|
-
"mimo-v2.5-pro",
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
)
|
|
282
|
+
model: "mimo-v2.5-pro",
|
|
283
|
+
baseURL: "https://token-plan-cn.xiaomimimo.com/v1",
|
|
284
|
+
})
|
|
262
285
|
```
|
|
263
286
|
|
|
264
|
-
Prefer a dedicated
|
|
287
|
+
Prefer a dedicated backend class from `@deepstrike/sdk/providers` when one exists — they default the base
|
|
288
|
+
URL and add backend-specific reasoning handling. Any model can also be selected through the catalog: `createProvider` picks the protocol/endpoint for you:
|
|
265
289
|
|
|
266
290
|
```typescript
|
|
267
291
|
import { createProvider } from "@deepstrike/sdk"
|
|
@@ -126,10 +126,11 @@ export interface HarnessLoopOptions {
|
|
|
126
126
|
}
|
|
127
127
|
export declare class HarnessLoop {
|
|
128
128
|
private runner;
|
|
129
|
-
private evalProvider;
|
|
130
129
|
private maxAttempts;
|
|
131
130
|
private skillDir?;
|
|
132
|
-
|
|
131
|
+
/** How each attempt is judged. Hybrid (host verdictFn → LLM eval) when a verdictFn is supplied,
|
|
132
|
+
* otherwise the built-in LLM eval. The loop just calls `this.judge.judge(...)`. */
|
|
133
|
+
private judge;
|
|
133
134
|
constructor(runner: RuntimeRunner, evalProvider: import("../types.js").LLMProvider, options?: HarnessLoopOptions);
|
|
134
135
|
run(request: HarnessRequest): Promise<HarnessOutcome>;
|
|
135
136
|
stream(request: HarnessRequest): AsyncIterable<HarnessEvent>;
|
package/dist/harness/harness.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { collectText } from "../runtime/runner.js";
|
|
2
2
|
import { writeFile } from "fs/promises";
|
|
3
3
|
import path from "path";
|
|
4
|
-
import {
|
|
4
|
+
import { HybridJudge, VerdictFnJudge, LlmEvalJudge } from "./judge.js";
|
|
5
5
|
async function runOnce(runner, req) {
|
|
6
6
|
let text = "";
|
|
7
7
|
let done;
|
|
@@ -58,16 +58,19 @@ export class EvalLoopHarness {
|
|
|
58
58
|
}
|
|
59
59
|
export class HarnessLoop {
|
|
60
60
|
runner;
|
|
61
|
-
evalProvider;
|
|
62
61
|
maxAttempts;
|
|
63
62
|
skillDir;
|
|
64
|
-
verdictFn
|
|
63
|
+
/** How each attempt is judged. Hybrid (host verdictFn → LLM eval) when a verdictFn is supplied,
|
|
64
|
+
* otherwise the built-in LLM eval. The loop just calls `this.judge.judge(...)`. */
|
|
65
|
+
judge;
|
|
65
66
|
constructor(runner, evalProvider, options = {}) {
|
|
66
67
|
this.runner = runner;
|
|
67
|
-
this.evalProvider = evalProvider;
|
|
68
68
|
this.maxAttempts = options.maxAttempts ?? 3;
|
|
69
69
|
this.skillDir = options.skillDir;
|
|
70
|
-
|
|
70
|
+
const llmJudge = new LlmEvalJudge(evalProvider);
|
|
71
|
+
this.judge = options.verdictFn
|
|
72
|
+
? new HybridJudge(new VerdictFnJudge(options.verdictFn), llmJudge)
|
|
73
|
+
: llmJudge;
|
|
71
74
|
}
|
|
72
75
|
async run(request) {
|
|
73
76
|
let last;
|
|
@@ -93,7 +96,6 @@ export class HarnessLoop {
|
|
|
93
96
|
};
|
|
94
97
|
}
|
|
95
98
|
async *stream(request) {
|
|
96
|
-
const kernel = getKernel();
|
|
97
99
|
const criteria = request.criteria ?? [];
|
|
98
100
|
let currentGoal = request.goal;
|
|
99
101
|
let lastIterations = 0;
|
|
@@ -135,35 +137,13 @@ export class HarnessLoop {
|
|
|
135
137
|
}
|
|
136
138
|
}
|
|
137
139
|
yield { type: "supervising" };
|
|
138
|
-
// I3.2 (A2/A3): host
|
|
139
|
-
//
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
if (!verdict) {
|
|
146
|
-
// #6 (0.5.0): the eval/verdict compute is the kernel's stateless free functions (was the
|
|
147
|
-
// EvalPipeline state machine). Build the eval prompt, call the eval LLM, parse the verdict.
|
|
148
|
-
const evalMsgs = kernel.buildEvalMessages(request.goal, criteria, lastResult, attempt, true);
|
|
149
|
-
let evalText = "";
|
|
150
|
-
const evalContext = {
|
|
151
|
-
systemText: evalMsgs.filter((m) => m.role === "system").map((m) => m.content).join("\n\n"),
|
|
152
|
-
turns: evalMsgs.filter((m) => m.role !== "system"),
|
|
153
|
-
};
|
|
154
|
-
for await (const evt of this.evalProvider.stream(evalContext, [], undefined)) {
|
|
155
|
-
if (evt.type === "text_delta")
|
|
156
|
-
evalText += evt.delta;
|
|
157
|
-
}
|
|
158
|
-
const parsed = kernel.parseVerdict(evalText);
|
|
159
|
-
verdict = {
|
|
160
|
-
passed: parsed.passed,
|
|
161
|
-
overallScore: parsed.overallScore,
|
|
162
|
-
feedback: parsed.feedback,
|
|
163
|
-
details: parsed.details ?? [],
|
|
164
|
-
};
|
|
165
|
-
skillCandidate = parsed.skillCandidate;
|
|
166
|
-
}
|
|
140
|
+
// I3.2 (A2/A3): the judge Strategy encapsulates "host verdictFn short-circuit → built-in LLM
|
|
141
|
+
// eval". HarnessLoop's judge always terminates in LlmEvalJudge, so a verdict is guaranteed.
|
|
142
|
+
const judged = await this.judge.judge({ goal: request.goal, criteria, attempt, result: lastResult });
|
|
143
|
+
const verdict = judged?.verdict;
|
|
144
|
+
const skillCandidate = judged?.skillCandidate;
|
|
145
|
+
if (!verdict)
|
|
146
|
+
throw new Error("HarnessLoop: judge produced no verdict");
|
|
167
147
|
if (verdict.passed) {
|
|
168
148
|
if (skillCandidate && this.skillDir) {
|
|
169
149
|
const { name, description, whenToUse, content } = skillCandidate;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { LLMProvider } from "../types.js";
|
|
2
|
+
import { getKernel } from "../kernel.js";
|
|
3
|
+
import type { Criterion, Verdict, VerdictFn } from "./harness.js";
|
|
4
|
+
export type SkillCandidate = ReturnType<ReturnType<typeof getKernel>["parseVerdict"]>["skillCandidate"];
|
|
5
|
+
export interface JudgeContext {
|
|
6
|
+
goal: string;
|
|
7
|
+
criteria: Criterion[];
|
|
8
|
+
attempt: number;
|
|
9
|
+
result: string;
|
|
10
|
+
}
|
|
11
|
+
export interface JudgeResult {
|
|
12
|
+
verdict: Verdict;
|
|
13
|
+
/** Skill the judge proposes extracting on pass (LLM-eval path only). */
|
|
14
|
+
skillCandidate?: SkillCandidate;
|
|
15
|
+
}
|
|
16
|
+
/** Decides whether one attempt's result meets the criteria. Returning `undefined` defers to a
|
|
17
|
+
* fallback judge (enables hybrid host/LLM judgment). */
|
|
18
|
+
export interface AttemptJudge {
|
|
19
|
+
judge(ctx: JudgeContext): Promise<JudgeResult | undefined>;
|
|
20
|
+
}
|
|
21
|
+
/** Wraps a host-supplied `VerdictFn`. Returns `undefined` (defer) when the function does. */
|
|
22
|
+
export declare class VerdictFnJudge implements AttemptJudge {
|
|
23
|
+
private readonly fn;
|
|
24
|
+
constructor(fn: VerdictFn);
|
|
25
|
+
judge(ctx: JudgeContext): Promise<JudgeResult | undefined>;
|
|
26
|
+
}
|
|
27
|
+
/** The built-in LLM eval: render the kernel eval prompt, stream the eval provider, parse the
|
|
28
|
+
* verdict. Always produces a JudgeResult (never defers). */
|
|
29
|
+
export declare class LlmEvalJudge implements AttemptJudge {
|
|
30
|
+
private readonly evalProvider;
|
|
31
|
+
private readonly extractSkillOnPass;
|
|
32
|
+
constructor(evalProvider: LLMProvider, extractSkillOnPass?: boolean);
|
|
33
|
+
judge(ctx: JudgeContext): Promise<JudgeResult>;
|
|
34
|
+
}
|
|
35
|
+
/** Try `primary`; if it defers (`undefined`), use `fallback`. Models HarnessLoop's
|
|
36
|
+
* "verdictFn short-circuits, else built-in LLM eval" hybrid judgment. */
|
|
37
|
+
export declare class HybridJudge implements AttemptJudge {
|
|
38
|
+
private readonly primary;
|
|
39
|
+
private readonly fallback;
|
|
40
|
+
constructor(primary: AttemptJudge, fallback: AttemptJudge);
|
|
41
|
+
judge(ctx: JudgeContext): Promise<JudgeResult | undefined>;
|
|
42
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { getKernel } from "../kernel.js";
|
|
2
|
+
/** Wraps a host-supplied `VerdictFn`. Returns `undefined` (defer) when the function does. */
|
|
3
|
+
export class VerdictFnJudge {
|
|
4
|
+
fn;
|
|
5
|
+
constructor(fn) {
|
|
6
|
+
this.fn = fn;
|
|
7
|
+
}
|
|
8
|
+
async judge(ctx) {
|
|
9
|
+
const verdict = await this.fn({ goal: ctx.goal, criteria: ctx.criteria, attempt: ctx.attempt, result: ctx.result });
|
|
10
|
+
return verdict ? { verdict } : undefined;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
/** The built-in LLM eval: render the kernel eval prompt, stream the eval provider, parse the
|
|
14
|
+
* verdict. Always produces a JudgeResult (never defers). */
|
|
15
|
+
export class LlmEvalJudge {
|
|
16
|
+
evalProvider;
|
|
17
|
+
extractSkillOnPass;
|
|
18
|
+
constructor(evalProvider, extractSkillOnPass = true) {
|
|
19
|
+
this.evalProvider = evalProvider;
|
|
20
|
+
this.extractSkillOnPass = extractSkillOnPass;
|
|
21
|
+
}
|
|
22
|
+
async judge(ctx) {
|
|
23
|
+
const kernel = getKernel();
|
|
24
|
+
const evalMsgs = kernel.buildEvalMessages(ctx.goal, ctx.criteria, ctx.result, ctx.attempt, this.extractSkillOnPass);
|
|
25
|
+
const evalContext = {
|
|
26
|
+
systemText: evalMsgs.filter((m) => m.role === "system").map((m) => m.content).join("\n\n"),
|
|
27
|
+
turns: evalMsgs.filter((m) => m.role !== "system"),
|
|
28
|
+
};
|
|
29
|
+
let evalText = "";
|
|
30
|
+
for await (const evt of this.evalProvider.stream(evalContext, [], undefined)) {
|
|
31
|
+
if (evt.type === "text_delta")
|
|
32
|
+
evalText += evt.delta;
|
|
33
|
+
}
|
|
34
|
+
const parsed = kernel.parseVerdict(evalText);
|
|
35
|
+
return {
|
|
36
|
+
verdict: {
|
|
37
|
+
passed: parsed.passed,
|
|
38
|
+
overallScore: parsed.overallScore,
|
|
39
|
+
feedback: parsed.feedback,
|
|
40
|
+
details: parsed.details ?? [],
|
|
41
|
+
},
|
|
42
|
+
skillCandidate: parsed.skillCandidate,
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/** Try `primary`; if it defers (`undefined`), use `fallback`. Models HarnessLoop's
|
|
47
|
+
* "verdictFn short-circuits, else built-in LLM eval" hybrid judgment. */
|
|
48
|
+
export class HybridJudge {
|
|
49
|
+
primary;
|
|
50
|
+
fallback;
|
|
51
|
+
constructor(primary, fallback) {
|
|
52
|
+
this.primary = primary;
|
|
53
|
+
this.fallback = fallback;
|
|
54
|
+
}
|
|
55
|
+
async judge(ctx) {
|
|
56
|
+
return (await this.primary.judge(ctx)) ?? (await this.fallback.judge(ctx));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { SinglePassHarness, EvalLoopHarness, HarnessLoop } from "./harness.js";
|
|
2
|
+
export type { HarnessRequest, HarnessOutcome, HarnessLoopOptions, QualityGate, CriterionResult, HarnessEvent, VerdictFn, } from "./harness.js";
|
|
3
|
+
export { judge } from "../runtime/eval.js";
|
|
4
|
+
export type { Criterion, Verdict, VerdictDetail, JudgeArgs } from "../runtime/eval.js";
|
package/dist/index.d.ts
CHANGED
|
@@ -1,92 +1,33 @@
|
|
|
1
1
|
export { runAgent, runFanout } from "./runtime/facade.js";
|
|
2
2
|
export type { RunAgentOptions, RunFanoutOptions } from "./runtime/facade.js";
|
|
3
3
|
export { RuntimeRunner, collectText } from "./runtime/runner.js";
|
|
4
|
-
export type { RuntimeOptions
|
|
5
|
-
export { builtinReducers, resolveReducer } from "./runtime/reducers.js";
|
|
6
|
-
export type { Reducer, ReducerRegistry, ReducerInput } from "./runtime/reducers.js";
|
|
7
|
-
export { loopInstruction, classifyInstruction, judgeGoal, extractLoopContinue, extractClassifyBranch, extractJudgeWinner, } from "./runtime/workflow-control-flow.js";
|
|
8
|
-
export { WorktreeExecutionPlane, GitWorktreeManager } from "./runtime/worktree-plane.js";
|
|
9
|
-
export type { WorktreeManager } from "./runtime/worktree-plane.js";
|
|
10
|
-
export { FileWorkflowStore } from "./runtime/workflow-store.js";
|
|
11
|
-
export type { MemoryPolicy, MemoryWriteRateLimit, ResourceQuota } from "./kernel.js";
|
|
12
|
-
export { KernelPrimitivesDashboard } from "./runtime/kernel-primitives-dashboard.js";
|
|
13
|
-
export { FilteredExecutionPlane } from "./runtime/filtered-plane.js";
|
|
14
|
-
export { SubAgentOrchestrator, defaultSubAgentOrchestrator, spawnStandalone } from "./runtime/sub-agent-orchestrator.js";
|
|
15
|
-
export type { SubAgentRunContext } from "./runtime/sub-agent-orchestrator.js";
|
|
4
|
+
export type { RuntimeOptions } from "./runtime/runner.js";
|
|
16
5
|
export { LocalExecutionPlane } from "./runtime/execution-plane.js";
|
|
17
6
|
export type { ExecutionPlane, RunContext } from "./runtime/execution-plane.js";
|
|
18
7
|
export { InMemorySessionLog, FileSessionLog } from "./runtime/session-log.js";
|
|
19
8
|
export type { SessionLog, SessionEvent } from "./runtime/session-log.js";
|
|
20
|
-
export {
|
|
21
|
-
export type {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export
|
|
25
|
-
export {
|
|
26
|
-
export
|
|
27
|
-
export {
|
|
28
|
-
export
|
|
29
|
-
export { categoryForKind, kernelObservationToSessionEvent } from "./runtime/kernel-event-log.js";
|
|
30
|
-
export type { KernelEventCategory } from "./runtime/kernel-event-log.js";
|
|
31
|
-
export { NullArchiveStore, FileArchiveStore } from "./runtime/archive.js";
|
|
32
|
-
export type { ArchiveStore } from "./runtime/archive.js";
|
|
33
|
-
export { EnvCredentialVault, InMemoryCredentialVault, ChainedCredentialVault } from "./runtime/credential-vault.js";
|
|
34
|
-
export type { CredentialVault } from "./runtime/credential-vault.js";
|
|
35
|
-
export { ProcessSandboxPlane } from "./runtime/process-sandbox-plane.js";
|
|
36
|
-
export type { SandboxOptions } from "./runtime/process-sandbox-plane.js";
|
|
37
|
-
export { McpProxyPlane } from "./runtime/mcp-proxy-plane.js";
|
|
38
|
-
export type { McpServerConfig } from "./runtime/mcp-proxy-plane.js";
|
|
39
|
-
export { RemoteVpcPlane } from "./runtime/remote-vpc-plane.js";
|
|
40
|
-
export type { RemoteVpcOptions } from "./runtime/remote-vpc-plane.js";
|
|
41
|
-
export { AnthropicProvider } from "./providers/anthropic.js";
|
|
42
|
-
export { OpenAIChatProvider, OpenAIProvider } from "./providers/openai.js";
|
|
43
|
-
export { DeepSeekProvider, DeepSeekAnthropicProvider } from "./providers/deepseek.js";
|
|
44
|
-
export { KimiProvider, KimiAnthropicProvider } from "./providers/kimi.js";
|
|
45
|
-
export { QwenProvider, QwenAnthropicProvider } from "./providers/qwen.js";
|
|
46
|
-
export { GLMProvider, GLMAnthropicProvider } from "./providers/glm.js";
|
|
47
|
-
export { GeminiProvider } from "./providers/gemini.js";
|
|
48
|
-
export { MiniMaxAnthropicProvider, MiniMaxOpenAIProvider } from "./providers/minimax.js";
|
|
49
|
-
export { OllamaProvider } from "./providers/ollama.js";
|
|
50
|
-
export { CircuitBreaker, normalizeToolCall } from "./providers/base.js";
|
|
51
|
-
export { OpenAIChatAdapter } from "./providers/openai-chat.js";
|
|
52
|
-
export { OpenAIResponsesAdapter, OpenAIResponsesProvider } from "./providers/openai-responses.js";
|
|
53
|
-
export type { OpenAIResponsesRunState } from "./providers/openai-responses.js";
|
|
54
|
-
export { endpointProfiles, modelProfiles, getModelProfile } from "./providers/profiles.js";
|
|
55
|
-
export type { ModelProfileId, ProviderId } from "./providers/profiles.js";
|
|
56
|
-
export { createProvider } from "./providers/catalog.js";
|
|
57
|
-
export type { CreateProviderOptions, EndpointProfileId } from "./providers/catalog.js";
|
|
58
|
-
export { ProviderReplayValidationError, DEGRADED_REASONING_PLACEHOLDER } from "./providers/replay-validator.js";
|
|
59
|
-
export { assessProviderReplayability, peekProviderReplay, seedProviderReplayFromEvents, isReplayCompatibleWithProvider, } from "./runtime/provider-replay.js";
|
|
60
|
-
export { tool, streamingTool, executeTools, readFile, validateToolArguments } from "./tools/index.js";
|
|
9
|
+
export { InMemoryGroupBudgetStore, SessionLogGroupBudgetStore } from "./runtime/run-group.js";
|
|
10
|
+
export type { RunGroup, GroupBudgetStore, GroupLedger, GroupCharge, GroupMember } from "./runtime/run-group.js";
|
|
11
|
+
export { InMemoryEventStream, isVisibleTo } from "./runtime/event-stream.js";
|
|
12
|
+
export type { EventStream, BlackboardEvent, EventViewer } from "./runtime/event-stream.js";
|
|
13
|
+
export { reactByMention, directorDriven, roundRobin, firstNonEmpty, union } from "./runtime/turn-policy.js";
|
|
14
|
+
export type { TurnPolicy, PeerView } from "./runtime/turn-policy.js";
|
|
15
|
+
export { ReactiveSession, readRecentTool } from "./runtime/reactive-session.js";
|
|
16
|
+
export type { ReactiveSessionOptions, ReactivePeerSpec, EmitEvent, Reaction, ReactorTurn, ReactorContext } from "./runtime/reactive-session.js";
|
|
17
|
+
export { tool, streamingTool } from "./tools/index.js";
|
|
61
18
|
export type { RegisteredTool, ToolExecContext } from "./tools/index.js";
|
|
62
19
|
export { safeTool, ok, fail, ToolError, formatToolError } from "./tools/errors.js";
|
|
63
20
|
export type { ToolEnvelope, ToolEnvelopeOk, ToolEnvelopeFail } from "./tools/errors.js";
|
|
64
|
-
export {
|
|
65
|
-
export type {
|
|
66
|
-
export {
|
|
67
|
-
export {
|
|
68
|
-
export
|
|
69
|
-
export
|
|
70
|
-
export {
|
|
71
|
-
export {
|
|
72
|
-
export type { RuntimeSignal, SignalSource } from "./signals/types.js";
|
|
73
|
-
export { PermissionManager, PermissionMode } from "./safety/permissions.js";
|
|
74
|
-
export type { PermissionDecision, Permission } from "./safety/permissions.js";
|
|
75
|
-
export { Governance, governancePolicyToKernelEvent } from "./governance.js";
|
|
21
|
+
export { AnthropicProvider } from "./providers/anthropic.js";
|
|
22
|
+
export type { AnthropicProviderConfig } from "./providers/anthropic.js";
|
|
23
|
+
export { OpenAIProvider } from "./providers/openai.js";
|
|
24
|
+
export type { OpenAIProviderOptions } from "./providers/openai.js";
|
|
25
|
+
export { OpenAIResponsesProvider } from "./providers/openai-responses.js";
|
|
26
|
+
export { createProvider } from "./providers/catalog.js";
|
|
27
|
+
export type { CreateProviderOptions, EndpointProfileId } from "./providers/catalog.js";
|
|
28
|
+
export { Governance } from "./governance.js";
|
|
76
29
|
export type { GovernanceVerdict, GovernancePolicy, GovernanceConstraint } from "./governance.js";
|
|
77
|
-
export { SinglePassHarness, EvalLoopHarness, HarnessLoop } from "./harness/harness.js";
|
|
78
|
-
export type { HarnessRequest, HarnessOutcome, HarnessLoopOptions, QualityGate, CriterionResult, HarnessEvent, VerdictFn } from "./harness/harness.js";
|
|
79
|
-
export type { Message, ToolCall, ToolResult, ToolSchema, ContentPart, TextPart, ImagePart, AudioPart, StreamEvent, TextDelta, ThinkingDelta, ToolCallEvent, ToolChunk, ToolDeltaEvent, ToolSuspendEvent, ToolResultEvent, ToolAuditFailedEvent, DoneEvent, ErrorEvent, PermissionRequestEvent, PermissionResolvedEvent, PermissionResponse, LLMProvider, RetryConfig, TokenUsage, ProviderToolSpec, ProviderRunState, ProviderReplay, RenderedContext, ReplayabilityAssessment, CacheBreakpointStrategy, } from "./types.js";
|
|
80
|
-
export type { AgentCapabilityFilter, AgentIdentity, AgentIsolation, AgentRunSpec, AgentProcessChangedObservation, ContextInheritance, KernelAgentRole, LoopResult, MilestoneCheckResult, MilestoneContract, MilestonePhase, MilestonePolicy, SubAgentResult, TerminationReason, WorkflowSpec, WorkflowNodeSpec, WorkflowTaskSpec, WorkflowSpawnInfo, } from "./types/agent.js";
|
|
81
|
-
export { agentIdentitySub, agentRunSpecToKernel, milestoneCheckFail, milestoneCheckPass, milestoneCheckResultToKernel, subAgentResultToKernel, workflowSpecToKernel, workflowNodeSpecToKernel, submitWorkflowNodesToKernel, submitWorkflowToKernel, submitWorkflowNodesTool, startWorkflowTool, fanoutSynthesize, generateAndFilter, verifyRules, genEval, } from "./types/agent.js";
|
|
82
|
-
export type { AcceptanceCriterion, VerificationContract, ContractCheckResult, } from "./collaboration/contract.js";
|
|
83
|
-
export { ContractBuilder, formatContractForSystemPrompt, contractToCriteriaStrings, } from "./collaboration/contract.js";
|
|
84
30
|
export { AgentPool } from "./collaboration/pool.js";
|
|
85
|
-
export type {
|
|
86
|
-
export {
|
|
87
|
-
export {
|
|
88
|
-
export type { ContractOutcome, ContractHarnessOptions, Violation } from "./collaboration/harness.js";
|
|
89
|
-
export { HandoffBus } from "./collaboration/handoff.js";
|
|
90
|
-
export type { HandoffArtifact, ContractOutcomeInput } from "./collaboration/handoff.js";
|
|
91
|
-
export { CreatorVerifierMode, OrchestrationMode } from "./collaboration/modes/creator-verifier.js";
|
|
92
|
-
export type { CreatorVerifierMetrics } from "./collaboration/modes/creator-verifier.js";
|
|
31
|
+
export type { RuntimeSignal, SignalSource } from "./signals/types.js";
|
|
32
|
+
export type { Message, ToolCall, ToolResult, ToolSchema, ContentPart, TextPart, ImagePart, AudioPart, StreamEvent, TextDelta, ThinkingDelta, ToolCallEvent, ToolChunk, ToolDeltaEvent, ToolSuspendEvent, ToolResultEvent, ToolAuditFailedEvent, DoneEvent, ErrorEvent, PermissionRequestEvent, PermissionResolvedEvent, PermissionResponse, LLMProvider, RetryConfig, TokenUsage, } from "./types.js";
|
|
33
|
+
export type { WorkflowSpec, WorkflowNodeSpec, } from "./types/agent.js";
|
package/dist/index.js
CHANGED
|
@@ -1,69 +1,37 @@
|
|
|
1
1
|
// ╔══════════════════════════════════════════════════════════════════════════╗
|
|
2
|
-
// ║
|
|
3
|
-
// ║
|
|
4
|
-
// ║
|
|
5
|
-
// ║
|
|
6
|
-
// ║
|
|
7
|
-
// ║
|
|
2
|
+
// ║ @deepstrike/sdk — root surface (v0.2.30). ║
|
|
3
|
+
// ║ ║
|
|
4
|
+
// ║ This is the intent layer: run an agent, run a workflow, author a tool, ║
|
|
5
|
+
// ║ pick a provider. Advanced machinery lives behind subpaths: ║
|
|
6
|
+
// ║ @deepstrike/sdk/providers — backend provider classes + profiles ║
|
|
7
|
+
// ║ @deepstrike/sdk/workflow — orchestration, reducers, contracts, specs ║
|
|
8
|
+
// ║ @deepstrike/sdk/planes — worktree / sandbox / mcp / vpc planes ║
|
|
9
|
+
// ║ @deepstrike/sdk/memory — dream + working memory, knowledge sources ║
|
|
10
|
+
// ║ @deepstrike/sdk/harness — eval harnesses + judge ║
|
|
11
|
+
// ║ @deepstrike/sdk/os — profiles, diagnostics, signals, replay tests ║
|
|
8
12
|
// ╚══════════════════════════════════════════════════════════════════════════╝
|
|
13
|
+
// ── Start here: the canonical entry points ─────────────────────────────────
|
|
9
14
|
export { runAgent, runFanout } from "./runtime/facade.js";
|
|
10
|
-
// ── Runtime (Layer 1.5) ────────────────────────────────────────────────────
|
|
11
15
|
export { RuntimeRunner, collectText } from "./runtime/runner.js";
|
|
12
|
-
|
|
13
|
-
export { loopInstruction, classifyInstruction, judgeGoal, extractLoopContinue, extractClassifyBranch, extractJudgeWinner, } from "./runtime/workflow-control-flow.js";
|
|
14
|
-
export { WorktreeExecutionPlane, GitWorktreeManager } from "./runtime/worktree-plane.js";
|
|
15
|
-
export { FileWorkflowStore } from "./runtime/workflow-store.js";
|
|
16
|
-
export { KernelPrimitivesDashboard } from "./runtime/kernel-primitives-dashboard.js";
|
|
17
|
-
export { FilteredExecutionPlane } from "./runtime/filtered-plane.js";
|
|
18
|
-
export { SubAgentOrchestrator, defaultSubAgentOrchestrator, spawnStandalone } from "./runtime/sub-agent-orchestrator.js";
|
|
16
|
+
// ── Execution plane + session log (the defaults) ────────────────────────────
|
|
19
17
|
export { LocalExecutionPlane } from "./runtime/execution-plane.js";
|
|
20
18
|
export { InMemorySessionLog, FileSessionLog } from "./runtime/session-log.js";
|
|
21
|
-
export {
|
|
22
|
-
export {
|
|
23
|
-
export {
|
|
24
|
-
export {
|
|
25
|
-
|
|
26
|
-
export {
|
|
27
|
-
export {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
export { RemoteVpcPlane } from "./runtime/remote-vpc-plane.js";
|
|
32
|
-
// ── Providers ─────────────────────────────────────────────────────────────
|
|
19
|
+
export { InMemoryGroupBudgetStore, SessionLogGroupBudgetStore } from "./runtime/run-group.js";
|
|
20
|
+
export { InMemoryEventStream, isVisibleTo } from "./runtime/event-stream.js";
|
|
21
|
+
export { reactByMention, directorDriven, roundRobin, firstNonEmpty, union } from "./runtime/turn-policy.js";
|
|
22
|
+
export { ReactiveSession, readRecentTool } from "./runtime/reactive-session.js";
|
|
23
|
+
// ── Tool authoring ──────────────────────────────────────────────────────────
|
|
24
|
+
export { tool, streamingTool } from "./tools/index.js";
|
|
25
|
+
export { safeTool, ok, fail, ToolError, formatToolError } from "./tools/errors.js";
|
|
26
|
+
// ── Providers (base classes + the universal factory) ────────────────────────
|
|
27
|
+
// Any backend — including a custom OpenAI-compatible endpoint — is reachable via `createProvider`.
|
|
28
|
+
// Backend-specific classes (DeepSeek/Kimi/Qwen/GLM/Gemini/Ollama/MiniMax) live in `@deepstrike/sdk/providers`.
|
|
33
29
|
export { AnthropicProvider } from "./providers/anthropic.js";
|
|
34
|
-
export {
|
|
35
|
-
export {
|
|
36
|
-
export { KimiProvider, KimiAnthropicProvider } from "./providers/kimi.js";
|
|
37
|
-
export { QwenProvider, QwenAnthropicProvider } from "./providers/qwen.js";
|
|
38
|
-
export { GLMProvider, GLMAnthropicProvider } from "./providers/glm.js";
|
|
39
|
-
export { GeminiProvider } from "./providers/gemini.js";
|
|
40
|
-
export { MiniMaxAnthropicProvider, MiniMaxOpenAIProvider } from "./providers/minimax.js";
|
|
41
|
-
export { OllamaProvider } from "./providers/ollama.js";
|
|
42
|
-
export { CircuitBreaker, normalizeToolCall } from "./providers/base.js";
|
|
43
|
-
export { OpenAIChatAdapter } from "./providers/openai-chat.js";
|
|
44
|
-
export { OpenAIResponsesAdapter, OpenAIResponsesProvider } from "./providers/openai-responses.js";
|
|
45
|
-
export { endpointProfiles, modelProfiles, getModelProfile } from "./providers/profiles.js";
|
|
30
|
+
export { OpenAIProvider } from "./providers/openai.js";
|
|
31
|
+
export { OpenAIResponsesProvider } from "./providers/openai-responses.js";
|
|
46
32
|
export { createProvider } from "./providers/catalog.js";
|
|
47
|
-
|
|
48
|
-
export {
|
|
49
|
-
// ──
|
|
50
|
-
|
|
51
|
-
export { safeTool, ok, fail, ToolError, formatToolError } from "./tools/errors.js";
|
|
52
|
-
export { scanSkillDir, readSkillFile } from "./skills/loader.js";
|
|
53
|
-
// ── Memory ─────────────────────────────────────────────────────────────────
|
|
54
|
-
export { WorkingMemory } from "./memory/working.js";
|
|
55
|
-
export { InMemoryDreamStore } from "./memory/in-memory-store.js";
|
|
56
|
-
export { ScheduledPrompt } from "./signals/scheduled.js";
|
|
57
|
-
export { SignalGateway } from "./signals/gateway.js";
|
|
58
|
-
// ── Safety & Governance ────────────────────────────────────────────────────
|
|
59
|
-
export { PermissionManager, PermissionMode } from "./safety/permissions.js";
|
|
60
|
-
export { Governance, governancePolicyToKernelEvent } from "./governance.js";
|
|
61
|
-
// ── Harness ────────────────────────────────────────────────────────────────
|
|
62
|
-
export { SinglePassHarness, EvalLoopHarness, HarnessLoop } from "./harness/harness.js";
|
|
63
|
-
export { agentIdentitySub, agentRunSpecToKernel, milestoneCheckFail, milestoneCheckPass, milestoneCheckResultToKernel, subAgentResultToKernel, workflowSpecToKernel, workflowNodeSpecToKernel, submitWorkflowNodesToKernel, submitWorkflowToKernel, submitWorkflowNodesTool, startWorkflowTool, fanoutSynthesize, generateAndFilter, verifyRules, genEval, } from "./types/agent.js";
|
|
64
|
-
export { ContractBuilder, formatContractForSystemPrompt, contractToCriteriaStrings, } from "./collaboration/contract.js";
|
|
33
|
+
// ── Governance ──────────────────────────────────────────────────────────────
|
|
34
|
+
export { Governance } from "./governance.js";
|
|
35
|
+
// ── Multi-agent primitive ───────────────────────────────────────────────────
|
|
36
|
+
// Parallel fan-out / sub-agent delegation. The full orchestration layer is in `@deepstrike/sdk/workflow`.
|
|
65
37
|
export { AgentPool } from "./collaboration/pool.js";
|
|
66
|
-
export { KERNEL_ROLE_MAP } from "./collaboration/pool.js";
|
|
67
|
-
export { ContractDrivenHarness } from "./collaboration/harness.js";
|
|
68
|
-
export { HandoffBus } from "./collaboration/handoff.js";
|
|
69
|
-
export { CreatorVerifierMode, OrchestrationMode } from "./collaboration/modes/creator-verifier.js";
|
package/dist/kernel.d.ts
CHANGED
|
@@ -17,8 +17,12 @@ export interface MemoryWriteRateLimit {
|
|
|
17
17
|
windowMs: number;
|
|
18
18
|
}
|
|
19
19
|
export interface ResourceQuota {
|
|
20
|
-
/** Max sub-agents in the `running` state at once; further spawns are denied while at cap.
|
|
20
|
+
/** Max sub-agents in the `running` state at once; further spawns are denied while at cap.
|
|
21
|
+
* Instantaneous — vehicle-scoped (cannot span stateless replicas). */
|
|
21
22
|
maxConcurrentSubagents?: number;
|
|
23
|
+
/** L1 (RunGroup): max sub-agents spawned *cumulatively* across the governance domain. With a
|
|
24
|
+
* `runGroup`, this spans N stateless top-level runs (seeded/charged via the group ledger). */
|
|
25
|
+
maxTotalSubagents?: number;
|
|
22
26
|
/** Max sub-agent nesting depth (direct children of the root loop are depth 1). */
|
|
23
27
|
maxSpawnDepth?: number;
|
|
24
28
|
/** Rolling-window memory-write rate limit: at most `maxWrites` per any `windowMs` span. */
|
|
@@ -135,6 +139,8 @@ export interface KernelRuntimeInstance {
|
|
|
135
139
|
step(inputJson: string): string;
|
|
136
140
|
isTerminal(): boolean;
|
|
137
141
|
turn(): number;
|
|
142
|
+
/** L1 (RunGroup): cumulative sub-agent spawns this run, for charging the group ledger at run end. */
|
|
143
|
+
localSubagentsSpawned(): number;
|
|
138
144
|
recoveryContentBytes(): number;
|
|
139
145
|
render(): RenderedContext;
|
|
140
146
|
drainNewMessages(): Message[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { WorkingMemory } from "./working.js";
|
|
2
|
+
export { InMemoryDreamStore } from "./in-memory-store.js";
|
|
3
|
+
export type { DreamStore, DreamResult, SessionData, SessionMessage, MemoryEntry, CurationResult, CurationStats, MemoryWriteRequest, MemoryQuery, MemoryRetrieval, MemoryMetadata, MemoryKind, } from "./protocols.js";
|
|
4
|
+
export type { KnowledgeSource } from "../knowledge/source.js";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { DEFAULT_NATIVE_ATTENTION_POLICY, DEFAULT_NATIVE_GOVERNANCE_POLICY, assertNativeProfile, osProfile, } from "../runtime/os-profile.js";
|
|
2
|
+
export type { NativeOsProfile, OsProfileId } from "../runtime/os-profile.js";
|
|
3
|
+
export { rebuildOsSnapshotFromSessionEvents, sessionLogHasRequiredCategories } from "../runtime/os-snapshot.js";
|
|
4
|
+
export type { OsSnapshot } from "../runtime/os-snapshot.js";
|
|
5
|
+
export type { KernelEventCategory } from "../runtime/kernel-event-log.js";
|
|
6
|
+
export { KernelPrimitivesDashboard } from "../runtime/kernel-primitives-dashboard.js";
|
|
7
|
+
export type { MemoryPolicy, MemoryWriteRateLimit, ResourceQuota } from "../kernel.js";
|
|
8
|
+
export type { SchedulerBudget } from "../runtime/runner.js";
|
|
9
|
+
export { ScheduledPrompt } from "../signals/scheduled.js";
|
|
10
|
+
export { SignalGateway } from "../signals/gateway.js";
|
|
11
|
+
export { PermissionManager, PermissionMode } from "../safety/permissions.js";
|
|
12
|
+
export type { PermissionDecision, Permission } from "../safety/permissions.js";
|
|
13
|
+
export { ReplayProvider } from "../runtime/replay-provider.js";
|
|
14
|
+
export type { ReplayProviderOpts } from "../runtime/replay-provider.js";
|
|
15
|
+
export { extractRecordedMessages } from "../runtime/replay-fixture.js";
|
|
16
|
+
export { ProviderReplayValidationError, DEGRADED_REASONING_PLACEHOLDER } from "../providers/replay-validator.js";
|
|
17
|
+
export { assessProviderReplayability, peekProviderReplay, seedProviderReplayFromEvents, isReplayCompatibleWithProvider, } from "../runtime/provider-replay.js";
|
|
18
|
+
export type { ReplayabilityAssessment } from "../types.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// `@deepstrike/sdk/os` — Agent-OS diagnostics, profiles, signal/permission machinery, replay-testing,
|
|
2
|
+
// and the scheduler/quota/policy types referenced by advanced `RuntimeOptions` fields.
|
|
3
|
+
export { DEFAULT_NATIVE_ATTENTION_POLICY, DEFAULT_NATIVE_GOVERNANCE_POLICY, assertNativeProfile, osProfile, } from "../runtime/os-profile.js";
|
|
4
|
+
export { rebuildOsSnapshotFromSessionEvents, sessionLogHasRequiredCategories } from "../runtime/os-snapshot.js";
|
|
5
|
+
export { KernelPrimitivesDashboard } from "../runtime/kernel-primitives-dashboard.js";
|
|
6
|
+
// Signals + SDK-side permissions.
|
|
7
|
+
export { ScheduledPrompt } from "../signals/scheduled.js";
|
|
8
|
+
export { SignalGateway } from "../signals/gateway.js";
|
|
9
|
+
export { PermissionManager, PermissionMode } from "../safety/permissions.js";
|
|
10
|
+
// Replay-based testing utilities.
|
|
11
|
+
export { ReplayProvider } from "../runtime/replay-provider.js";
|
|
12
|
+
export { extractRecordedMessages } from "../runtime/replay-fixture.js";
|
|
13
|
+
export { ProviderReplayValidationError, DEGRADED_REASONING_PLACEHOLDER } from "../providers/replay-validator.js";
|
|
14
|
+
export { assessProviderReplayability, peekProviderReplay, seedProviderReplayFromEvents, isReplayCompatibleWithProvider, } from "../runtime/provider-replay.js";
|