@vinhnt-sdk/core 0.1.1 → 0.1.3
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 +194 -12
- package/dist/agent/agent-factory.d.ts +11 -0
- package/dist/agent/agent-factory.d.ts.map +1 -1
- package/dist/agent/agent-factory.js +11 -2
- package/dist/agent/agent-factory.js.map +1 -1
- package/dist/agent/agent-registry.d.ts +3 -0
- package/dist/agent/agent-registry.d.ts.map +1 -1
- package/dist/agent/agent-registry.js.map +1 -1
- package/dist/agent/create-agent-tool.d.ts +13 -13
- package/dist/agent/create-agent-tool.d.ts.map +1 -1
- package/dist/agent/delegate-batch-tool.d.ts.map +1 -1
- package/dist/agent/delegate-batch-tool.js +1 -1
- package/dist/agent/delegate-batch-tool.js.map +1 -1
- package/dist/agent/delegate-tool.js +1 -1
- package/dist/agent/delegate-tool.js.map +1 -1
- package/dist/agent/execution-engine.d.ts +1 -1
- package/dist/agent/execution-engine.d.ts.map +1 -1
- package/dist/agent/spawn-agent-tool.d.ts +10 -10
- package/dist/agent/spawn-agent-tool.d.ts.map +1 -1
- package/dist/event-bus/bridge.d.ts +2 -3
- package/dist/event-bus/bridge.d.ts.map +1 -1
- package/dist/event-bus/bridge.js +12 -5
- package/dist/event-bus/bridge.js.map +1 -1
- package/dist/event-bus/global-bus.d.ts +8 -0
- package/dist/event-bus/global-bus.d.ts.map +1 -1
- package/dist/event-bus/global-bus.js +48 -0
- package/dist/event-bus/global-bus.js.map +1 -1
- package/dist/event-bus/in-memory-bus.d.ts +14 -0
- package/dist/event-bus/in-memory-bus.d.ts.map +1 -1
- package/dist/event-bus/in-memory-bus.js +53 -0
- package/dist/event-bus/in-memory-bus.js.map +1 -1
- package/dist/event-bus/types.d.ts +17 -0
- package/dist/event-bus/types.d.ts.map +1 -1
- package/dist/fakes/fake-approval-store.d.ts +2 -2
- package/dist/fakes/fake-approval-store.d.ts.map +1 -1
- package/dist/fakes/fake-approval-store.js +28 -6
- package/dist/fakes/fake-approval-store.js.map +1 -1
- package/dist/fakes/fake-model.d.ts.map +1 -1
- package/dist/fakes/fake-model.js +2 -1
- package/dist/fakes/fake-model.js.map +1 -1
- package/dist/fakes/fake-store.d.ts +4 -1
- package/dist/fakes/fake-store.d.ts.map +1 -1
- package/dist/fakes/fake-store.js +33 -0
- package/dist/fakes/fake-store.js.map +1 -1
- package/dist/index.d.ts +232 -109
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +191 -66
- package/dist/index.js.map +1 -1
- package/dist/kernel/approval-handler.d.ts +1 -1
- package/dist/kernel/approval-handler.d.ts.map +1 -1
- package/dist/kernel/approval-handler.js +5 -1
- package/dist/kernel/approval-handler.js.map +1 -1
- package/dist/kernel/circuit-breaker.d.ts +19 -1
- package/dist/kernel/circuit-breaker.d.ts.map +1 -1
- package/dist/kernel/circuit-breaker.js +54 -10
- package/dist/kernel/circuit-breaker.js.map +1 -1
- package/dist/kernel/kernel-error.d.ts +3 -2
- package/dist/kernel/kernel-error.d.ts.map +1 -1
- package/dist/kernel/kernel-error.js +5 -6
- package/dist/kernel/kernel-error.js.map +1 -1
- package/dist/kernel/kernel-session.d.ts +13 -5
- package/dist/kernel/kernel-session.d.ts.map +1 -1
- package/dist/kernel/kernel-session.js +71 -13
- package/dist/kernel/kernel-session.js.map +1 -1
- package/dist/kernel/kernel-types.d.ts +82 -9
- package/dist/kernel/kernel-types.d.ts.map +1 -1
- package/dist/kernel/kernel-types.js.map +1 -1
- package/dist/kernel/kernel.d.ts +94 -20
- package/dist/kernel/kernel.d.ts.map +1 -1
- package/dist/kernel/kernel.js +591 -70
- package/dist/kernel/kernel.js.map +1 -1
- package/dist/kernel/model-caller.d.ts +30 -2
- package/dist/kernel/model-caller.d.ts.map +1 -1
- package/dist/kernel/model-caller.js +55 -20
- package/dist/kernel/model-caller.js.map +1 -1
- package/dist/kernel/permission-gate.d.ts +6 -4
- package/dist/kernel/permission-gate.d.ts.map +1 -1
- package/dist/kernel/permission-gate.js +16 -6
- package/dist/kernel/permission-gate.js.map +1 -1
- package/dist/kernel/run-context.d.ts +26 -0
- package/dist/kernel/run-context.d.ts.map +1 -0
- package/dist/kernel/run-context.js +13 -0
- package/dist/kernel/run-context.js.map +1 -0
- package/dist/kernel/run-loop.d.ts +35 -14
- package/dist/kernel/run-loop.d.ts.map +1 -1
- package/dist/kernel/run-loop.js +295 -87
- package/dist/kernel/run-loop.js.map +1 -1
- package/dist/kernel/self-correction.d.ts +2 -2
- package/dist/kernel/self-correction.d.ts.map +1 -1
- package/dist/kernel/self-correction.js +3 -2
- package/dist/kernel/self-correction.js.map +1 -1
- package/dist/kernel/state-machine.d.ts +2 -0
- package/dist/kernel/state-machine.d.ts.map +1 -1
- package/dist/kernel/state-machine.js +2 -0
- package/dist/kernel/state-machine.js.map +1 -1
- package/dist/kernel/step-executor.d.ts +11 -3
- package/dist/kernel/step-executor.d.ts.map +1 -1
- package/dist/kernel/step-executor.js +54 -24
- package/dist/kernel/step-executor.js.map +1 -1
- package/dist/kernel/sub-agent-runner.d.ts +10 -7
- package/dist/kernel/sub-agent-runner.d.ts.map +1 -1
- package/dist/kernel/sub-agent-runner.js +105 -31
- package/dist/kernel/sub-agent-runner.js.map +1 -1
- package/dist/kernel/tool-context-builder.d.ts +7 -2
- package/dist/kernel/tool-context-builder.d.ts.map +1 -1
- package/dist/kernel/tool-context-builder.js +23 -6
- package/dist/kernel/tool-context-builder.js.map +1 -1
- package/dist/kernel/tool-error-router.d.ts +1 -1
- package/dist/kernel/tool-error-router.d.ts.map +1 -1
- package/dist/kernel/tool-error-router.js +4 -3
- package/dist/kernel/tool-error-router.js.map +1 -1
- package/dist/logger.d.ts +5 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +3 -0
- package/dist/logger.js.map +1 -1
- package/dist/model.d.ts +3 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +2 -0
- package/dist/model.js.map +1 -1
- package/dist/plugin/manager.d.ts +3 -1
- package/dist/plugin/manager.d.ts.map +1 -1
- package/dist/plugin/manager.js +51 -3
- package/dist/plugin/manager.js.map +1 -1
- package/dist/plugin/plugin-file-loader.js +2 -2
- package/dist/plugin/plugin-file-loader.js.map +1 -1
- package/dist/plugin.d.ts +50 -4
- package/dist/plugin.d.ts.map +1 -1
- package/dist/plugin.js +14 -1
- package/dist/plugin.js.map +1 -1
- package/dist/session/null-store.d.ts +1 -0
- package/dist/session/null-store.d.ts.map +1 -1
- package/dist/session/null-store.js +7 -0
- package/dist/session/null-store.js.map +1 -1
- package/dist/session/run-coordinator.d.ts +9 -3
- package/dist/session/run-coordinator.d.ts.map +1 -1
- package/dist/session/run-coordinator.js +4 -0
- package/dist/session/run-coordinator.js.map +1 -1
- package/dist/skill/create-skill-tool.d.ts +5 -4
- package/dist/skill/create-skill-tool.d.ts.map +1 -1
- package/dist/skill/create-skill-tool.js +8 -5
- package/dist/skill/create-skill-tool.js.map +1 -1
- package/dist/skill/skill-def-registry.d.ts +6 -0
- package/dist/skill/skill-def-registry.d.ts.map +1 -1
- package/dist/skill/skill-def-registry.js +4 -0
- package/dist/skill/skill-def-registry.js.map +1 -1
- package/dist/system-context/sources/instructions-source.js +1 -1
- package/dist/system-context/sources/instructions-source.js.map +1 -1
- package/dist/tool/bridge.d.ts +7 -1
- package/dist/tool/bridge.d.ts.map +1 -1
- package/dist/tool/bridge.js +5 -0
- package/dist/tool/bridge.js.map +1 -1
- package/dist/tool/builtin-provider.d.ts +35 -0
- package/dist/tool/builtin-provider.d.ts.map +1 -0
- package/dist/tool/builtin-provider.js +75 -0
- package/dist/tool/builtin-provider.js.map +1 -0
- package/dist/tool/index.d.ts +21 -23
- package/dist/tool/index.d.ts.map +1 -1
- package/dist/tool/index.js +19 -18
- package/dist/tool/index.js.map +1 -1
- package/dist/tool/provider-helpers.d.ts.map +1 -1
- package/dist/tool/provider-helpers.js +3 -2
- package/dist/tool/provider-helpers.js.map +1 -1
- package/dist/tool/runtime.d.ts +23 -2
- package/dist/tool/runtime.d.ts.map +1 -1
- package/dist/tool/runtime.js +20 -16
- package/dist/tool/runtime.js.map +1 -1
- package/dist/tracer.d.ts +5 -0
- package/dist/tracer.d.ts.map +1 -1
- package/dist/tracer.js +4 -0
- package/dist/tracer.js.map +1 -1
- package/dist/workflow/agent-graph.js +3 -3
- package/dist/workflow/agent-graph.js.map +1 -1
- package/dist/workflow/workflow-helpers.js +2 -2
- package/dist/workflow/workflow-helpers.js.map +1 -1
- package/dist/workspace.d.ts +7 -0
- package/dist/workspace.d.ts.map +1 -1
- package/dist/workspace.js +4 -0
- package/dist/workspace.js.map +1 -1
- package/package.json +18 -62
|
@@ -1,20 +1,28 @@
|
|
|
1
|
-
import { EventRegistry } from "@vinhnt-sdk/
|
|
1
|
+
import { EventRegistry } from "@vinhnt-sdk/event";
|
|
2
2
|
/** Auto-generated from EventRegistry — all events with aggregate=runId */
|
|
3
3
|
const ALL_EVENT_DEFS = Object.fromEntries(EventRegistry.getAll()
|
|
4
4
|
.filter((def) => def.durable?.aggregate === "runId")
|
|
5
5
|
.map((def) => [def.type, def]));
|
|
6
6
|
export async function emitEvent(deps, event, persist = true) {
|
|
7
7
|
const effectivePersist = deps.noStore ? false : persist;
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
sequence
|
|
12
|
-
|
|
13
|
-
}
|
|
8
|
+
let seq;
|
|
9
|
+
if (effectivePersist && deps.store.appendWithSequence) {
|
|
10
|
+
// Atomic sequence allocation + append avoids the getNextSequence/append
|
|
11
|
+
// race that could drop a concurrent event assigned the same sequence.
|
|
12
|
+
seq = await deps.store.appendWithSequence({ ...event, sequence: 0 });
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
seq = effectivePersist ? await deps.store.getNextSequence(event.runId) : 0;
|
|
16
|
+
await deps.store.append({
|
|
17
|
+
...event,
|
|
18
|
+
sequence: seq,
|
|
19
|
+
...(effectivePersist === false ? { persist: false } : {}),
|
|
20
|
+
});
|
|
21
|
+
}
|
|
14
22
|
if (deps.eventBus) {
|
|
15
23
|
const def = ALL_EVENT_DEFS[event.type];
|
|
16
24
|
if (def) {
|
|
17
|
-
const meta = { traceId: event.traceId };
|
|
25
|
+
const meta = { ...(event.traceId !== undefined ? { traceId: event.traceId } : {}) };
|
|
18
26
|
if ("runId" in event)
|
|
19
27
|
meta.aggregateId = event.runId;
|
|
20
28
|
deps.eventBus.publish(def, event.data, meta);
|
|
@@ -40,19 +48,69 @@ export async function updateSessionOnComplete(deps, sessionId, runId, totalInput
|
|
|
40
48
|
...(totalCost !== undefined ? { cost: totalCost } : {}),
|
|
41
49
|
}).catch((err) => { console.warn("[kernel] Session update failed:", err); });
|
|
42
50
|
}
|
|
43
|
-
|
|
44
|
-
|
|
51
|
+
function computeSessionUpdates(deps, runId, totalInputTokens, totalOutputTokens) {
|
|
52
|
+
const runModel = deps.modelCaller.getActiveModel(runId);
|
|
53
|
+
const modelName = runModel.model;
|
|
54
|
+
const totalCost = deps.modelCaller.calculateCost(totalInputTokens, totalOutputTokens, runModel);
|
|
55
|
+
return {
|
|
56
|
+
...(modelName ? { model: modelName } : {}),
|
|
57
|
+
...(totalInputTokens > 0 ? { inputTokens: totalInputTokens } : {}),
|
|
58
|
+
...(totalOutputTokens > 0 ? { outputTokens: totalOutputTokens } : {}),
|
|
59
|
+
...(totalCost !== undefined ? { cost: totalCost } : {}),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function publishEvent(deps, event) {
|
|
63
|
+
if (!deps.eventBus)
|
|
64
|
+
return;
|
|
65
|
+
const def = ALL_EVENT_DEFS[event.type];
|
|
66
|
+
if (def) {
|
|
67
|
+
const meta = { ...(event.traceId !== undefined ? { traceId: event.traceId } : {}) };
|
|
68
|
+
if ("runId" in event)
|
|
69
|
+
meta.aggregateId = event.runId;
|
|
70
|
+
deps.eventBus.publish(def, event.data ?? {}, meta);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Atomically persist a terminal run event (e.g. `run.completed`) together with
|
|
75
|
+
* the session terminal stats (model/tokens/cost) when the store supports
|
|
76
|
+
* {@link RunEventStore.appendTransactional}. When it does not, the session is
|
|
77
|
+
* updated BEFORE the event is emitted — closing the crash gap where a process
|
|
78
|
+
* dies between the two writes and terminal stats are lost.
|
|
79
|
+
*/
|
|
80
|
+
export async function emitCompletedWithSession(deps, event, sessionId, runId, totalInputTokens, totalOutputTokens, _status) {
|
|
81
|
+
const persist = deps.noStore ? false : true;
|
|
82
|
+
const updates = computeSessionUpdates(deps, runId, totalInputTokens, totalOutputTokens);
|
|
83
|
+
const hasSessionWrite = Boolean(sessionId && deps.sessionStore && !deps.noStore && Object.keys(updates).length > 0);
|
|
84
|
+
if (persist && hasSessionWrite && deps.store.appendTransactional) {
|
|
85
|
+
// Allocate the sequence, then write event + session update in ONE atomic op.
|
|
86
|
+
const seq = await deps.store.getNextSequence(event.runId);
|
|
87
|
+
await deps.store.appendTransactional({ ...event, sequence: seq }, { sessionId: sessionId, updates });
|
|
88
|
+
publishEvent(deps, event);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
// Fallback: persist terminal stats FIRST, then emit — a crash in between keeps
|
|
92
|
+
// the session stats and leaves the run recoverable (no terminal event yet).
|
|
93
|
+
if (hasSessionWrite) {
|
|
94
|
+
await deps.sessionStore.updateSession(sessionId, updates)
|
|
95
|
+
.catch((err) => { console.warn("[kernel] Session update failed:", err); });
|
|
96
|
+
}
|
|
97
|
+
await emitEvent(deps, event, persist);
|
|
98
|
+
}
|
|
99
|
+
export async function emitFail(deps, runId, ctx, reason, steps, sessionId, totalInputTokens = 0, totalOutputTokens = 0, durationMs, cancelled = false) {
|
|
100
|
+
const event = {
|
|
45
101
|
id: crypto.randomUUID(), runId, type: "run.completed",
|
|
46
102
|
occurredAt: new Date().toISOString(), traceId: ctx.traceId,
|
|
47
103
|
data: {
|
|
48
104
|
status: "failed", error: reason, totalSteps: steps,
|
|
105
|
+
...(cancelled ? { cancelled: true } : {}),
|
|
49
106
|
...(durationMs !== undefined ? { durationMs } : {}),
|
|
50
107
|
...(totalInputTokens > 0 ? { inputTokens: totalInputTokens } : {}),
|
|
51
108
|
...(totalOutputTokens > 0 ? { outputTokens: totalOutputTokens } : {}),
|
|
52
109
|
},
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
await
|
|
110
|
+
};
|
|
111
|
+
// Terminal event + session stats written together (atomic when supported).
|
|
112
|
+
await emitCompletedWithSession(deps, event, sessionId, runId, totalInputTokens, totalOutputTokens, "failed");
|
|
113
|
+
await deps.pluginManager?.fireHook("onRunCompleted", { status: cancelled ? "cancelled" : "failed", error: reason });
|
|
56
114
|
await deps.saga.rollbackAll();
|
|
57
115
|
}
|
|
58
116
|
const BEHAVIOUR_MODE_INSTRUCTIONS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-session.js","sourceRoot":"","sources":["../../src/kernel/kernel-session.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"kernel-session.js","sourceRoot":"","sources":["../../src/kernel/kernel-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import type { RunId } from "@vinhnt-sdk/schema";
|
|
1
|
+
import type { RunId, AgentEvent } from "@vinhnt-sdk/schema";
|
|
2
2
|
import type { ModelProvider, ModelRegistry } from "../model.js";
|
|
3
|
-
import type { SessionRuntimeState } from "
|
|
4
|
-
import type { RunEventStore, SessionStore } from "
|
|
3
|
+
import type { SessionRuntimeState } from "@vinhnt-sdk/session";
|
|
4
|
+
import type { RunEventStore, SessionStore } from "@vinhnt-sdk/session";
|
|
5
5
|
import type { AgentRegistry } from "../agent/agent-registry.js";
|
|
6
6
|
import type { ToolDefinition, ToolRegistry, ToolProviderRegistry } from "@vinhnt-sdk/tools";
|
|
7
7
|
import type { PluginManager } from "../plugin.js";
|
|
8
|
-
import type { ConversationCompactor } from "
|
|
8
|
+
import type { ConversationCompactor } from "@vinhnt-sdk/session";
|
|
9
9
|
import type { ContextRegistry } from "../system-context/types.js";
|
|
10
|
-
import type { ApprovalStore } from "
|
|
11
|
-
import type { EventBus } from "
|
|
12
|
-
import type { CircuitBreaker } from "
|
|
13
|
-
import type { CircuitBreakerOptions } from "./circuit-breaker.js";
|
|
14
|
-
import type { TerminationPolicy } from "./termination.js";
|
|
10
|
+
import type { ApprovalStore } from "@vinhnt-sdk/permission";
|
|
11
|
+
import type { EventBus } from "@vinhnt-sdk/event";
|
|
12
|
+
import type { CircuitBreaker, CircuitBreakerOptions, TerminationPolicy } from "@vinhnt-sdk/step-executor";
|
|
15
13
|
/** Sandbox configuration for shell command execution. */
|
|
16
14
|
export interface KernelSandboxConfig {
|
|
17
15
|
/** Sandbox mode: "host" (default), "process", or "container". */
|
|
@@ -120,6 +118,12 @@ export interface AgentKernelConfig {
|
|
|
120
118
|
readonly circuitBreaker?: CircuitBreaker;
|
|
121
119
|
/** Circuit breaker configuration (used if no breaker provided). */
|
|
122
120
|
readonly circuitBreakerOptions?: CircuitBreakerOptions;
|
|
121
|
+
/** Maximum number of retries for transient model failures. Default: 3 */
|
|
122
|
+
readonly maxRetries?: number;
|
|
123
|
+
/** Base delay for exponential backoff in ms. Default: 1000 */
|
|
124
|
+
readonly retryBackoffMs?: number;
|
|
125
|
+
/** Maximum delay for retry backoff in ms. Default: 30000 */
|
|
126
|
+
readonly maxRetryBackoffMs?: number;
|
|
123
127
|
/** Doom loop detection threshold (consecutive identical outputs). Default: 3. */
|
|
124
128
|
readonly doomLoopThreshold?: number;
|
|
125
129
|
/** Workspace root directory for file operations. */
|
|
@@ -140,6 +144,8 @@ export interface AgentKernelConfig {
|
|
|
140
144
|
readonly hooks?: HookConfig;
|
|
141
145
|
/** Enterprise managed configuration. */
|
|
142
146
|
readonly managedConfig?: Record<string, unknown>;
|
|
147
|
+
/** Logger for kernel events. */
|
|
148
|
+
readonly logger?: import("../logger.js").Logger;
|
|
143
149
|
}
|
|
144
150
|
/** Handle for a running agent run — provides abort control and completion tracking. */
|
|
145
151
|
export interface RunHandle {
|
|
@@ -150,6 +156,73 @@ export interface RunHandle {
|
|
|
150
156
|
/** Abort the running agent. */
|
|
151
157
|
abort(): void;
|
|
152
158
|
}
|
|
159
|
+
/**
|
|
160
|
+
* Enhanced run handle with lifecycle management.
|
|
161
|
+
*
|
|
162
|
+
* Provides methods to control and monitor an agent run.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* const handle = kernel.run("Write a hello world program");
|
|
167
|
+
*
|
|
168
|
+
* // Wait for completion
|
|
169
|
+
* await handle.completed;
|
|
170
|
+
*
|
|
171
|
+
* // Or cancel
|
|
172
|
+
* handle.cancel();
|
|
173
|
+
*
|
|
174
|
+
* // Listen to events
|
|
175
|
+
* for await (const event of handle.events()) {
|
|
176
|
+
* console.log(event.type);
|
|
177
|
+
* }
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
export interface AgentRunHandle {
|
|
181
|
+
/** Unique identifier for this run. */
|
|
182
|
+
readonly runId: RunId;
|
|
183
|
+
/** Promise that resolves when the run completes (or rejects on failure). */
|
|
184
|
+
readonly completed: Promise<AgentRunResult>;
|
|
185
|
+
/** Cancel the running agent. */
|
|
186
|
+
cancel(): void;
|
|
187
|
+
/** Check if the run is cancelled. */
|
|
188
|
+
readonly isCancelled: boolean;
|
|
189
|
+
/** Check if the run is completed. */
|
|
190
|
+
readonly isCompleted: boolean;
|
|
191
|
+
/** Check if the run is running. */
|
|
192
|
+
readonly isRunning: boolean;
|
|
193
|
+
/**
|
|
194
|
+
* Stream events from this run.
|
|
195
|
+
* @yields Agent events as they occur
|
|
196
|
+
*/
|
|
197
|
+
events(): AsyncIterable<AgentEvent>;
|
|
198
|
+
/**
|
|
199
|
+
* Subscribe to events from this run.
|
|
200
|
+
* @param handler - Event handler
|
|
201
|
+
* @returns Unsubscribe function
|
|
202
|
+
*/
|
|
203
|
+
onEvent(handler: (event: AgentEvent) => void): () => void;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Result of a completed agent run.
|
|
207
|
+
*/
|
|
208
|
+
export interface AgentRunResult {
|
|
209
|
+
/** Run identifier. */
|
|
210
|
+
readonly runId: RunId;
|
|
211
|
+
/** Final status. */
|
|
212
|
+
readonly status: "succeeded" | "failed" | "cancelled";
|
|
213
|
+
/** Output text if successful. */
|
|
214
|
+
readonly output?: string;
|
|
215
|
+
/** Error message if failed. */
|
|
216
|
+
readonly error?: string;
|
|
217
|
+
/** Total number of steps executed. */
|
|
218
|
+
readonly totalSteps: number;
|
|
219
|
+
/** Total duration in milliseconds. */
|
|
220
|
+
readonly durationMs?: number;
|
|
221
|
+
/** Input tokens used. */
|
|
222
|
+
readonly inputTokens?: number;
|
|
223
|
+
/** Output tokens used. */
|
|
224
|
+
readonly outputTokens?: number;
|
|
225
|
+
}
|
|
153
226
|
/**
|
|
154
227
|
* Normalize a legacy flat config object into the new nested structure.
|
|
155
228
|
* Supports backward compatibility for configs using flat permission/sandbox/modelRouting properties.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-types.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"kernel-types.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel-types.js","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"kernel-types.js","sourceRoot":"","sources":["../../src/kernel/kernel-types.ts"],"names":[],"mappings":"AA2OA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAAC,MAA+B;IAC7D,MAAM,UAAU,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAE1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,UAAU,CAAC,OAAO,GAAG;YACnB,IAAI,EAAE,UAAU,CAAC,WAAW;YAC5B,KAAK,EAAE,UAAU,CAAC,YAAY;YAC9B,SAAS,EAAE,UAAU,CAAC,gBAAgB;SACvC,CAAC;QACF,OAAO,UAAU,CAAC,WAAW,CAAC;QAC9B,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC5B,UAAU,CAAC,WAAW,GAAG;YACvB,aAAa,EAAE,UAAU,CAAC,aAAa;YACvC,mBAAmB,EAAE,UAAU,CAAC,mBAAmB;YACnD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;YAC3D,qBAAqB,EAAE,UAAU,CAAC,qBAAqB;YACvD,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;YACzD,uBAAuB,EAAE,UAAU,CAAC,uBAAuB;SAC5D,CAAC;QACF,OAAO,UAAU,CAAC,aAAa,CAAC;QAChC,OAAO,UAAU,CAAC,mBAAmB,CAAC;QACtC,OAAO,UAAU,CAAC,uBAAuB,CAAC;QAC1C,OAAO,UAAU,CAAC,qBAAqB,CAAC;QACxC,OAAO,UAAU,CAAC,sBAAsB,CAAC;QACzC,OAAO,UAAU,CAAC,uBAAuB,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,CAAC;QAC7B,UAAU,CAAC,YAAY,GAAG;YACxB,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,aAAa,EAAE,UAAU,CAAC,aAAa;SACxC,CAAC;QACF,OAAO,UAAU,CAAC,cAAc,CAAC;QACjC,OAAO,UAAU,CAAC,YAAY,CAAC;QAC/B,OAAO,UAAU,CAAC,gBAAgB,CAAC;QACnC,OAAO,UAAU,CAAC,aAAa,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,UAAU,CAAC,KAAK,GAAG;YACjB,KAAK,EAAE,UAAU,CAAC,WAAW;SAC9B,CAAC;QACF,OAAO,UAAU,CAAC,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,UAA0C,CAAC;AACpD,CAAC"}
|
package/dist/kernel/kernel.d.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import type { RequestContext, RunId, AgentId, AgentConfig, AgentBehaviourMode } from "@vinhnt-sdk/schema";
|
|
1
|
+
import type { RequestContext, RunId, AgentId, AgentConfig, AgentBehaviourMode, KnownRunEvent } from "@vinhnt-sdk/schema";
|
|
2
2
|
import type { MessageContentPart } from "../model.js";
|
|
3
|
-
import type { RunEventStore } from "
|
|
3
|
+
import type { RunEventStore } from "@vinhnt-sdk/session";
|
|
4
4
|
import type { AgentRegistry } from "../agent/agent-registry.js";
|
|
5
5
|
import type { ToolDefinition } from "@vinhnt-sdk/tools";
|
|
6
6
|
import type { SubAgentParams } from "../agent/agent-factory.js";
|
|
7
7
|
import type { DomainManifest } from "@vinhnt-sdk/tools";
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import
|
|
8
|
+
/** Default thinking prompt for reasoning steps. Exported for user override. */
|
|
9
|
+
export declare const DEFAULT_THINKING_PROMPT = "Analyze the user's request and the conversation context. Think step by step about what needs to be done. Output your reasoning.";
|
|
10
|
+
import type { RunState } from "@vinhnt-sdk/step-executor";
|
|
11
|
+
import { PermissionGate } from "@vinhnt-sdk/step-executor";
|
|
12
|
+
import { ModelCaller } from "@vinhnt-sdk/llm";
|
|
13
|
+
import { ToolSaga } from "@vinhnt-sdk/tools";
|
|
14
|
+
import { CircuitBreaker } from "@vinhnt-sdk/step-executor";
|
|
15
|
+
import { KernelError } from "@vinhnt-sdk/step-executor";
|
|
16
|
+
import type { KernelErrorCode } from "@vinhnt-sdk/step-executor";
|
|
15
17
|
import { type LifecycleResource } from "./lifecycle-manager.js";
|
|
16
|
-
import type { AgentKernelConfig, RunHandle } from "./kernel-types.js";
|
|
18
|
+
import type { AgentKernelConfig, RunHandle, AgentRunHandle } from "./kernel-types.js";
|
|
17
19
|
export type { AgentKernelConfig, RunState, KernelErrorCode };
|
|
18
|
-
export { CircuitBreaker, CircuitBreakerOpenError, type CircuitState, type CircuitBreakerOptions } from "
|
|
19
|
-
export { KernelError } from "
|
|
20
|
+
export { CircuitBreaker, CircuitBreakerOpenError, type CircuitState, type CircuitBreakerOptions } from "@vinhnt-sdk/step-executor";
|
|
21
|
+
export { KernelError } from "@vinhnt-sdk/step-executor";
|
|
20
22
|
/**
|
|
21
23
|
* Core agent orchestration — run loop, permission gate, tool execution, sub-agent spawning.
|
|
22
24
|
* Composition root for all run-time services. Each call to `run()` creates a tracked
|
|
@@ -47,6 +49,7 @@ export declare class AgentKernel {
|
|
|
47
49
|
private readonly toolProviderRegistry;
|
|
48
50
|
private readonly sessionTitleGenerator;
|
|
49
51
|
private saga;
|
|
52
|
+
private readonly runSagas;
|
|
50
53
|
private readonly stepExecutor;
|
|
51
54
|
private currentAgent;
|
|
52
55
|
private currentDepth;
|
|
@@ -57,10 +60,20 @@ export declare class AgentKernel {
|
|
|
57
60
|
private readonly doomLoopThreshold;
|
|
58
61
|
private compactionThreshold;
|
|
59
62
|
private readonly termination;
|
|
60
|
-
private
|
|
63
|
+
private circuitBreaker;
|
|
61
64
|
private readonly sessionDeps;
|
|
62
65
|
private readonly subAgentDeps;
|
|
63
66
|
private readonly runSessionStates;
|
|
67
|
+
/** runId → sessionId for pending-input persistence (RV-21). */
|
|
68
|
+
private readonly runSessionIds;
|
|
69
|
+
/** FIFO mirror of the state-machine input queue, used to mark promotion (RV-21). */
|
|
70
|
+
private readonly runPendingEntries;
|
|
71
|
+
/** Per-session monotonic admitted-seq allocator, seeded from the store lazily (RV-21). */
|
|
72
|
+
private readonly nextAdmittedSeq;
|
|
73
|
+
/** Per-session serialized write chain so admitted seqs stay FIFO-consistent (RV-21). */
|
|
74
|
+
private readonly inputWriteChains;
|
|
75
|
+
/** Per-run execution context — keeps parallel runs' agent/depth/chain/tools isolated. */
|
|
76
|
+
private readonly runContexts;
|
|
64
77
|
private readonly lifecycleManager;
|
|
65
78
|
constructor(config: AgentKernelConfig);
|
|
66
79
|
/** Register a tool definition for the agent to call. Invalidates tool cache. */
|
|
@@ -96,19 +109,68 @@ export declare class AgentKernel {
|
|
|
96
109
|
/** Underlying run event store (for audit/event sourcing). */
|
|
97
110
|
getEventStore(): RunEventStore;
|
|
98
111
|
/** Delegate a prompt to a named sub-agent. Returns the agent's response text. */
|
|
99
|
-
runAgent(agentId: AgentId, prompt: string, ctx: RequestContext, sessionId?: string): Promise<string>;
|
|
112
|
+
runAgent(agentId: AgentId, prompt: string, ctx: RequestContext, sessionId?: string, parentRunId?: RunId, signal?: AbortSignal): Promise<string>;
|
|
113
|
+
/** Build the system head (agent identity + configured system prompt) for a run. */
|
|
114
|
+
private buildSystemPrompt;
|
|
100
115
|
/**
|
|
101
116
|
* Start a new agent run. Creates a run ID, wires abort + session, and returns
|
|
102
117
|
* a `RunHandle` (runId + completed promise + abort). The run loop executes
|
|
103
118
|
* asynchronously — the promise resolves when the run finishes (or fails).
|
|
104
119
|
*/
|
|
105
120
|
run(prompt: string, ctx: RequestContext, sessionId?: string, userContentParts?: readonly MessageContentPart[], agentOverride?: AgentConfig): RunHandle;
|
|
121
|
+
/**
|
|
122
|
+
* Resume a previously persisted run from durable storage (snapshot + messages).
|
|
123
|
+
* Restores the run's session state (history, step counter, token counts) and
|
|
124
|
+
* continues the run loop from where it stopped. Emits no `run.started` event
|
|
125
|
+
* (the run has already started) and does not re-inject the original prompt.
|
|
126
|
+
*
|
|
127
|
+
* @param runId The run to resume — must have persisted events in the store.
|
|
128
|
+
* @param prompt The steering prompt for the resumed run (appended as the
|
|
129
|
+
* latest user turn).
|
|
130
|
+
* @param ctx Request context.
|
|
131
|
+
* @param sessionId Optional session id — falls back to the persisted one.
|
|
132
|
+
*/
|
|
133
|
+
resumeRun(runId: RunId, prompt: string, ctx: RequestContext, sessionId?: string, agentOverride?: AgentConfig): Promise<RunHandle>;
|
|
134
|
+
/** Reconstruct session IDs with non-terminal runs from the event store (for restart recovery). */
|
|
135
|
+
getActiveSessionIds(): Promise<string[]>;
|
|
136
|
+
/**
|
|
137
|
+
* Start a new agent run with full lifecycle management.
|
|
138
|
+
* Returns an AgentRunHandle with cancel, status, and event streaming.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* const handle = kernel.createRunHandle("Write a hello world program", ctx);
|
|
143
|
+
*
|
|
144
|
+
* // Wait for completion
|
|
145
|
+
* const result = await handle.completed;
|
|
146
|
+
* console.log(result.status); // "succeeded"
|
|
147
|
+
*
|
|
148
|
+
* // Or cancel
|
|
149
|
+
* handle.cancel();
|
|
150
|
+
*
|
|
151
|
+
* // Stream events
|
|
152
|
+
* for await (const event of handle.events()) {
|
|
153
|
+
* console.log(event.type);
|
|
154
|
+
* }
|
|
155
|
+
* ```
|
|
156
|
+
*/
|
|
157
|
+
createRunHandle(prompt: string, ctx: RequestContext, sessionId?: string, userContentParts?: readonly MessageContentPart[], agentOverride?: AgentConfig): AgentRunHandle;
|
|
158
|
+
/**
|
|
159
|
+
* Start a new agent run and stream events as an async iterable.
|
|
160
|
+
* Returns the run ID and an async iterable of run events.
|
|
161
|
+
*/
|
|
162
|
+
streamRun(prompt: string, ctx: RequestContext, sessionId?: string, userContentParts?: readonly MessageContentPart[], agentOverride?: AgentConfig): {
|
|
163
|
+
runId: RunId;
|
|
164
|
+
events: AsyncIterable<KnownRunEvent>;
|
|
165
|
+
};
|
|
106
166
|
private getRunSession;
|
|
167
|
+
/** Resolve the context of the most recently started run, if one is active. */
|
|
168
|
+
private activeRunContext;
|
|
107
169
|
/** Run multiple sub-agents concurrently. Returns combined output. */
|
|
108
170
|
runAgentsParallel(tasks: Array<{
|
|
109
171
|
agentId: AgentId;
|
|
110
172
|
prompt: string;
|
|
111
|
-
}>, ctx: RequestContext, sessionId?: string): Promise<string>;
|
|
173
|
+
}>, ctx: RequestContext, sessionId?: string, parentRunId?: RunId, signal?: AbortSignal): Promise<string>;
|
|
112
174
|
/** Start a run with error-safe wrapper — returns `{ ok, value }` or `{ ok: false, error }`. */
|
|
113
175
|
runSafe(prompt: string, ctx: RequestContext, sessionId?: string, userContentParts?: readonly MessageContentPart[]): {
|
|
114
176
|
ok: true;
|
|
@@ -117,14 +179,14 @@ export declare class AgentKernel {
|
|
|
117
179
|
runId: RunId;
|
|
118
180
|
abort(): void;
|
|
119
181
|
};
|
|
120
|
-
error?:
|
|
182
|
+
error?: never;
|
|
121
183
|
} | {
|
|
122
184
|
ok: false;
|
|
123
185
|
error: KernelError;
|
|
124
|
-
value?:
|
|
186
|
+
value?: never;
|
|
125
187
|
};
|
|
126
188
|
/** Get the tool saga for inspecting completed tool calls and triggering rollbacks. */
|
|
127
|
-
getSaga(): ToolSaga;
|
|
189
|
+
getSaga(runId?: RunId): ToolSaga;
|
|
128
190
|
/** Get the circuit breaker for inspecting trip state and threshold. */
|
|
129
191
|
getCircuitBreaker(): CircuitBreaker;
|
|
130
192
|
/** Get the model caller for testing prompts against providers. */
|
|
@@ -137,7 +199,7 @@ export declare class AgentKernel {
|
|
|
137
199
|
* Supports both nested format (`permissions: { ... }`) and legacy flat format
|
|
138
200
|
* (`globalPermissionRules: ...`, `permissionRiskDefaults: ...`).
|
|
139
201
|
*/
|
|
140
|
-
reconfigure(partial: Partial<Pick<AgentKernelConfig, "model" | "maxTokens" | "maxSteps" | "stepTimeout" | "thinkingBudget" | "thinkingPrompt" | "compactionThreshold" | "permissions">> & Record<string, unknown>): void;
|
|
202
|
+
reconfigure(partial: Partial<Pick<AgentKernelConfig, "model" | "maxTokens" | "maxSteps" | "stepTimeout" | "thinkingBudget" | "thinkingPrompt" | "compactionThreshold" | "permissions" | "maxRetries" | "retryBackoffMs" | "maxRetryBackoffMs">> & Record<string, unknown>): void;
|
|
141
203
|
/** Get the permission gate for evaluating permission rules. */
|
|
142
204
|
getPermissionGate(): PermissionGate;
|
|
143
205
|
/** Current state of a run (pending/running/completed/failed/cancelled). */
|
|
@@ -146,6 +208,18 @@ export declare class AgentKernel {
|
|
|
146
208
|
onRunStateChange(listener: (runId: RunId, state: RunState) => void): () => void;
|
|
147
209
|
/** Send a user input string to a waiting run (e.g., approval response). */
|
|
148
210
|
sendInput(runId: RunId, text: string): void;
|
|
211
|
+
/** Queue an input into the runtime queue and (when a session is attached) start persisting it. */
|
|
212
|
+
private queuePendingEntry;
|
|
213
|
+
/** Serialize per-session writes so sequential admissions get sequential seqs (RV-21). */
|
|
214
|
+
private persistPendingInput;
|
|
215
|
+
private maxAdmittedSeq;
|
|
216
|
+
/**
|
|
217
|
+
* Re-queue inputs admitted but not yet promoted (e.g. from a previous process
|
|
218
|
+
* that crashed mid-run) in admission order, exactly once (RV-21).
|
|
219
|
+
*/
|
|
220
|
+
private hydratePendingInputs;
|
|
221
|
+
/** Mark the given drained inputs as promoted (best-effort, at-least-once on crash). */
|
|
222
|
+
private markInputsPromoted;
|
|
149
223
|
/** Abort all currently running sessions. */
|
|
150
224
|
cancelCurrentRun(): void;
|
|
151
225
|
/** Register a lifecycle resource for graceful shutdown. */
|
|
@@ -161,7 +235,7 @@ export declare class AgentKernel {
|
|
|
161
235
|
}[];
|
|
162
236
|
}>;
|
|
163
237
|
private runLoop;
|
|
164
|
-
private
|
|
238
|
+
private emitCompleted;
|
|
165
239
|
private emitFail;
|
|
166
240
|
}
|
|
167
241
|
//# sourceMappingURL=kernel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../../src/kernel/kernel.ts"],"names":[],"mappings":"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"}
|