indusagi 0.12.15 → 0.12.16
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/dist/agent/agent-session.d.ts +352 -0
- package/dist/agent/agent-session.d.ts.map +1 -0
- package/dist/agent/agent-session.js +870 -0
- package/dist/agent/agent-session.js.map +1 -0
- package/dist/agent/agent-session.test.d.ts +5 -0
- package/dist/agent/agent-session.test.d.ts.map +1 -0
- package/dist/agent/agent-session.test.js +129 -0
- package/dist/agent/agent-session.test.js.map +1 -0
- package/dist/agent/agent.d.ts +108 -2
- package/dist/agent/agent.d.ts.map +1 -1
- package/dist/agent/agent.js +210 -17
- package/dist/agent/agent.js.map +1 -1
- package/dist/agent/bash-executor.d.ts +33 -0
- package/dist/agent/bash-executor.d.ts.map +1 -0
- package/dist/agent/bash-executor.js +197 -0
- package/dist/agent/bash-executor.js.map +1 -0
- package/dist/agent/compaction/compaction.d.ts +87 -0
- package/dist/agent/compaction/compaction.d.ts.map +1 -0
- package/dist/agent/compaction/compaction.js +598 -0
- package/dist/agent/compaction/compaction.js.map +1 -0
- package/dist/agent/compaction/index.d.ts +6 -0
- package/dist/agent/compaction/index.d.ts.map +1 -0
- package/dist/agent/compaction/index.js +6 -0
- package/dist/agent/compaction/index.js.map +1 -0
- package/dist/agent/compaction/utils.d.ts +41 -0
- package/dist/agent/compaction/utils.d.ts.map +1 -0
- package/dist/agent/compaction/utils.js +240 -0
- package/dist/agent/compaction/utils.js.map +1 -0
- package/dist/agent/event-bus.js +1 -3
- package/dist/agent/event-bus.js.map +1 -1
- package/dist/agent/index.d.ts +11 -5
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +19 -8
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/messages.d.ts +2 -48
- package/dist/agent/messages.d.ts.map +1 -1
- package/dist/agent/messages.js.map +1 -1
- package/dist/agent/proxy.js.map +1 -1
- package/dist/agent/session-manager.d.ts +2 -3
- package/dist/agent/session-manager.d.ts.map +1 -1
- package/dist/agent/session-manager.js +10 -6
- package/dist/agent/session-manager.js.map +1 -1
- package/dist/agent/settings-manager.d.ts +204 -0
- package/dist/agent/settings-manager.d.ts.map +1 -0
- package/dist/agent/settings-manager.js +594 -0
- package/dist/agent/settings-manager.js.map +1 -0
- package/dist/agent/state-manager.js +1 -0
- package/dist/agent/state-manager.js.map +1 -1
- package/dist/agent/telemetry.js +1 -3
- package/dist/agent/telemetry.js.map +1 -1
- package/dist/agent/tools/bash.js +1 -0
- package/dist/agent/tools/bash.js.map +1 -1
- package/dist/agent/tools/edit.test.d.ts +6 -0
- package/dist/agent/tools/edit.test.d.ts.map +1 -0
- package/dist/agent/tools/edit.test.js +196 -0
- package/dist/agent/tools/edit.test.js.map +1 -0
- package/dist/agent/tools/index.d.ts +26 -26
- package/dist/agent/tools/registry.js +2 -4
- package/dist/agent/tools/registry.js.map +1 -1
- package/dist/agent/tools/todo-store.js +2 -1
- package/dist/agent/tools/todo-store.js.map +1 -1
- package/dist/agent/tools/utils/hook-runner.js +1 -3
- package/dist/agent/tools/utils/hook-runner.js.map +1 -1
- package/dist/agent/types.d.ts +138 -1
- package/dist/agent/types.d.ts.map +1 -1
- package/dist/agent/types.js.map +1 -1
- package/dist/ai/api-registry.js +1 -3
- package/dist/ai/api-registry.js.map +1 -1
- package/dist/ai/models.js +1 -0
- package/dist/ai/models.js.map +1 -1
- package/dist/ai/providers/amazon-bedrock.d.ts +6 -0
- package/dist/ai/providers/amazon-bedrock.d.ts.map +1 -1
- package/dist/ai/providers/amazon-bedrock.js +47 -9
- package/dist/ai/providers/amazon-bedrock.js.map +1 -1
- package/dist/ai/providers/anthropic.d.ts +8 -0
- package/dist/ai/providers/anthropic.d.ts.map +1 -1
- package/dist/ai/providers/anthropic.js +28 -12
- package/dist/ai/providers/anthropic.js.map +1 -1
- package/dist/ai/providers/azure-openai-responses.js +1 -0
- package/dist/ai/providers/azure-openai-responses.js.map +1 -1
- package/dist/ai/providers/github-copilot-headers.d.ts +33 -0
- package/dist/ai/providers/github-copilot-headers.d.ts.map +1 -0
- package/dist/ai/providers/github-copilot-headers.js +51 -0
- package/dist/ai/providers/github-copilot-headers.js.map +1 -0
- package/dist/ai/providers/google-shared.d.ts.map +1 -1
- package/dist/ai/providers/google-shared.js +16 -22
- package/dist/ai/providers/google-shared.js.map +1 -1
- package/dist/ai/providers/google-vertex.d.ts.map +1 -1
- package/dist/ai/providers/google-vertex.js +28 -5
- package/dist/ai/providers/google-vertex.js.map +1 -1
- package/dist/ai/providers/google.js +1 -0
- package/dist/ai/providers/google.js.map +1 -1
- package/dist/ai/providers/kimi.js +1 -0
- package/dist/ai/providers/kimi.js.map +1 -1
- package/dist/ai/providers/mistral.d.ts +22 -0
- package/dist/ai/providers/mistral.d.ts.map +1 -0
- package/dist/ai/providers/mistral.js +497 -0
- package/dist/ai/providers/mistral.js.map +1 -0
- package/dist/ai/providers/openai-codex-responses.js +1 -0
- package/dist/ai/providers/openai-codex-responses.js.map +1 -1
- package/dist/ai/providers/openai-completions.js +2 -0
- package/dist/ai/providers/openai-completions.js.map +1 -1
- package/dist/ai/providers/openai-responses.d.ts.map +1 -1
- package/dist/ai/providers/openai-responses.js +30 -0
- package/dist/ai/providers/openai-responses.js.map +1 -1
- package/dist/ai/providers/register-builtins.d.ts.map +1 -1
- package/dist/ai/providers/register-builtins.js +6 -0
- package/dist/ai/providers/register-builtins.js.map +1 -1
- package/dist/ai/providers/simple-options.js +2 -0
- package/dist/ai/providers/simple-options.js.map +1 -1
- package/dist/ai/providers/transform-messages.js +3 -9
- package/dist/ai/providers/transform-messages.js.map +1 -1
- package/dist/ai/stream.js +1 -3
- package/dist/ai/stream.js.map +1 -1
- package/dist/ai/types.d.ts +34 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/types.js.map +1 -1
- package/dist/ai/utils/base-stream-handler.js +1 -0
- package/dist/ai/utils/base-stream-handler.js.map +1 -1
- package/dist/ai/utils/event-stream.js +9 -4
- package/dist/ai/utils/event-stream.js.map +1 -1
- package/dist/ai/utils/hash.d.ts +6 -0
- package/dist/ai/utils/hash.d.ts.map +1 -0
- package/dist/ai/utils/hash.js +17 -0
- package/dist/ai/utils/hash.js.map +1 -0
- package/dist/ai/utils/index.d.ts +1 -0
- package/dist/ai/utils/index.d.ts.map +1 -1
- package/dist/ai/utils/index.js +1 -0
- package/dist/ai/utils/index.js.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.d.ts.map +1 -1
- package/dist/ai/utils/oauth/github-copilot.js +19 -8
- package/dist/ai/utils/oauth/github-copilot.js.map +1 -1
- package/dist/ai/utils/overflow.d.ts.map +1 -1
- package/dist/ai/utils/overflow.js +4 -0
- package/dist/ai/utils/overflow.js.map +1 -1
- package/dist/ai/utils/provider-adapter.js +9 -0
- package/dist/ai/utils/provider-adapter.js.map +1 -1
- package/dist/ai/utils/provider-client-builder.js +1 -1
- package/dist/ai/utils/provider-client-builder.js.map +1 -1
- package/dist/ai/utils/provider-errors.js +2 -0
- package/dist/ai/utils/provider-errors.js.map +1 -1
- package/dist/ai/utils/stream-event-helper.js +3 -0
- package/dist/ai/utils/stream-event-helper.js.map +1 -1
- package/dist/ai/utils/stream-handler-types.js +5 -0
- package/dist/ai/utils/stream-handler-types.js.map +1 -1
- package/dist/ai/utils/streaming-state-manager.js +4 -2
- package/dist/ai/utils/streaming-state-manager.js.map +1 -1
- package/dist/mcp/client-pool.js +3 -2
- package/dist/mcp/client-pool.js.map +1 -1
- package/dist/mcp/client.js +18 -5
- package/dist/mcp/client.js.map +1 -1
- package/dist/mcp/errors.js +8 -0
- package/dist/mcp/errors.js.map +1 -1
- package/dist/mcp/server.js +8 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/memory/embedder/openai.js +7 -1
- package/dist/memory/embedder/openai.js.map +1 -1
- package/dist/memory/memory.js +6 -1
- package/dist/memory/memory.js.map +1 -1
- package/dist/memory/processors/message-history.js +4 -2
- package/dist/memory/processors/message-history.js.map +1 -1
- package/dist/memory/processors/observational-memory/index.js +7 -2
- package/dist/memory/processors/observational-memory/index.js.map +1 -1
- package/dist/memory/processors/observational-memory/token-counter.js +3 -3
- package/dist/memory/processors/observational-memory/token-counter.js.map +1 -1
- package/dist/memory/processors/semantic-recall.js +11 -2
- package/dist/memory/processors/semantic-recall.js.map +1 -1
- package/dist/memory/processors/working-memory.js +7 -2
- package/dist/memory/processors/working-memory.js.map +1 -1
- package/dist/memory/storage/base.js +4 -6
- package/dist/memory/storage/base.js.map +1 -1
- package/dist/memory/storage/inmemory.js +3 -2
- package/dist/memory/storage/inmemory.js.map +1 -1
- package/dist/memory/vector/base.js +4 -6
- package/dist/memory/vector/base.js.map +1 -1
- package/dist/memory/vector/inmemory.js +2 -5
- package/dist/memory/vector/inmemory.js.map +1 -1
- package/dist/tui/autocomplete.js +5 -1
- package/dist/tui/autocomplete.js.map +1 -1
- package/dist/tui/components/box.js +9 -1
- package/dist/tui/components/box.js.map +1 -1
- package/dist/tui/components/cancellable-loader.js +3 -4
- package/dist/tui/components/cancellable-loader.js.map +1 -1
- package/dist/tui/components/editor.d.ts +39 -3
- package/dist/tui/components/editor.d.ts.map +1 -1
- package/dist/tui/components/editor.js +162 -133
- package/dist/tui/components/editor.js.map +1 -1
- package/dist/tui/components/image.js +8 -0
- package/dist/tui/components/image.js.map +1 -1
- package/dist/tui/components/input.js +10 -11
- package/dist/tui/components/input.js.map +1 -1
- package/dist/tui/components/loader.js +7 -4
- package/dist/tui/components/loader.js.map +1 -1
- package/dist/tui/components/markdown.js +10 -0
- package/dist/tui/components/markdown.js.map +1 -1
- package/dist/tui/components/select-list.js +8 -4
- package/dist/tui/components/select-list.js.map +1 -1
- package/dist/tui/components/settings-list.js +12 -4
- package/dist/tui/components/settings-list.js.map +1 -1
- package/dist/tui/components/spacer.js +1 -0
- package/dist/tui/components/spacer.js.map +1 -1
- package/dist/tui/components/text.js +5 -0
- package/dist/tui/components/text.js.map +1 -1
- package/dist/tui/components/truncated-text.js +3 -0
- package/dist/tui/components/truncated-text.js.map +1 -1
- package/dist/tui/fuzzy.js +4 -1
- package/dist/tui/fuzzy.js.map +1 -1
- package/dist/tui/keybindings.js +3 -2
- package/dist/tui/keybindings.js.map +1 -1
- package/dist/tui/keys.d.ts +17 -1
- package/dist/tui/keys.d.ts.map +1 -1
- package/dist/tui/keys.js +56 -0
- package/dist/tui/keys.js.map +1 -1
- package/dist/tui/kill-ring.d.ts +28 -0
- package/dist/tui/kill-ring.d.ts.map +1 -0
- package/dist/tui/kill-ring.js +44 -0
- package/dist/tui/kill-ring.js.map +1 -0
- package/dist/tui/stdin-buffer.js +6 -5
- package/dist/tui/stdin-buffer.js.map +1 -1
- package/dist/tui/terminal-image.js +1 -3
- package/dist/tui/terminal-image.js.map +1 -1
- package/dist/tui/terminal.d.ts +13 -0
- package/dist/tui/terminal.d.ts.map +1 -1
- package/dist/tui/terminal.js +70 -7
- package/dist/tui/terminal.js.map +1 -1
- package/dist/tui/tui.d.ts +36 -0
- package/dist/tui/tui.d.ts.map +1 -1
- package/dist/tui/tui.js +101 -29
- package/dist/tui/tui.js.map +1 -1
- package/dist/tui/undo-stack.d.ts +17 -0
- package/dist/tui/undo-stack.d.ts.map +1 -0
- package/dist/tui/undo-stack.js +25 -0
- package/dist/tui/undo-stack.js.map +1 -0
- package/dist/tui/utils.js +12 -16
- package/dist/tui/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session.js","sourceRoot":"","sources":["../../src/agent/agent-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session.test.d.ts","sourceRoot":"","sources":["../../src/agent/agent-session.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests for AgentSession
|
|
3
|
+
*/
|
|
4
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
5
|
+
import { AgentSession } from "./agent-session.js";
|
|
6
|
+
import { Agent } from "./agent.js";
|
|
7
|
+
import { SessionManager } from "./session-manager.js";
|
|
8
|
+
import * as fs from "fs/promises";
|
|
9
|
+
import * as path from "path";
|
|
10
|
+
import * as os from "os";
|
|
11
|
+
describe("AgentSession", () => {
|
|
12
|
+
let session;
|
|
13
|
+
let tempDir;
|
|
14
|
+
let events;
|
|
15
|
+
beforeEach(async () => {
|
|
16
|
+
// Create temp directory for sessions
|
|
17
|
+
tempDir = await fs.mkdtemp(path.join(os.tmpdir(), "agent-session-test-"));
|
|
18
|
+
events = [];
|
|
19
|
+
// Create session with minimal config
|
|
20
|
+
session = new AgentSession({
|
|
21
|
+
cwd: tempDir,
|
|
22
|
+
});
|
|
23
|
+
// Subscribe to events
|
|
24
|
+
session.subscribe((event) => {
|
|
25
|
+
events.push(event);
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
afterEach(async () => {
|
|
29
|
+
// Clean up
|
|
30
|
+
await session.abort();
|
|
31
|
+
await fs.rm(tempDir, { recursive: true, force: true });
|
|
32
|
+
});
|
|
33
|
+
describe("constructor", () => {
|
|
34
|
+
it("should create AgentSession successfully", () => {
|
|
35
|
+
expect(session).toBeInstanceOf(AgentSession);
|
|
36
|
+
expect(session.cwd).toBe(tempDir);
|
|
37
|
+
});
|
|
38
|
+
it("should create underlying agent", () => {
|
|
39
|
+
const agent = session.agent;
|
|
40
|
+
expect(agent).toBeInstanceOf(Agent);
|
|
41
|
+
});
|
|
42
|
+
it("should create session manager", () => {
|
|
43
|
+
const manager = session.sessionManager;
|
|
44
|
+
expect(manager).toBeInstanceOf(SessionManager);
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
describe("model management", () => {
|
|
48
|
+
it("should have model accessor", () => {
|
|
49
|
+
expect(session.model).toBeDefined();
|
|
50
|
+
});
|
|
51
|
+
it("should set model", async () => {
|
|
52
|
+
const model = { provider: "openai", id: "gpt-4" };
|
|
53
|
+
await session.setModel(model);
|
|
54
|
+
expect(session.model).toEqual(model);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
describe("thinking level management", () => {
|
|
58
|
+
it("should have thinkingLevel accessor", () => {
|
|
59
|
+
expect(session.thinkingLevel).toBeDefined();
|
|
60
|
+
});
|
|
61
|
+
it("should set thinking level", () => {
|
|
62
|
+
session.setThinkingLevel("high");
|
|
63
|
+
expect(session.thinkingLevel).toBe("high");
|
|
64
|
+
});
|
|
65
|
+
it("should accept all valid thinking levels", () => {
|
|
66
|
+
const levels = ["off", "minimal", "low", "medium", "high"];
|
|
67
|
+
for (const level of levels) {
|
|
68
|
+
session.setThinkingLevel(level);
|
|
69
|
+
expect(session.thinkingLevel).toBe(level);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
describe("session statistics", () => {
|
|
74
|
+
it("should return session stats", () => {
|
|
75
|
+
const stats = session.getSessionStats();
|
|
76
|
+
expect(stats).toHaveProperty("userMessages");
|
|
77
|
+
expect(stats).toHaveProperty("assistantMessages");
|
|
78
|
+
expect(stats).toHaveProperty("toolCalls");
|
|
79
|
+
expect(stats).toHaveProperty("totalMessages");
|
|
80
|
+
});
|
|
81
|
+
it("should return context usage", () => {
|
|
82
|
+
const usage = session.getContextUsage();
|
|
83
|
+
// May be undefined if no model set
|
|
84
|
+
expect(usage === undefined || (usage && typeof usage.percent === "number")).toBeTruthy();
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
describe("event management", () => {
|
|
88
|
+
it("should allow subscribing to events", () => {
|
|
89
|
+
const localEvents = [];
|
|
90
|
+
const unsubscribe = session.subscribe((event) => {
|
|
91
|
+
localEvents.push(event);
|
|
92
|
+
});
|
|
93
|
+
session.setThinkingLevel("medium");
|
|
94
|
+
expect(localEvents.length).toBeGreaterThan(0);
|
|
95
|
+
unsubscribe();
|
|
96
|
+
});
|
|
97
|
+
it("should unsubscribe correctly", () => {
|
|
98
|
+
const localEvents = [];
|
|
99
|
+
const unsubscribe = session.subscribe((event) => {
|
|
100
|
+
localEvents.push(event);
|
|
101
|
+
});
|
|
102
|
+
unsubscribe();
|
|
103
|
+
session.setThinkingLevel("high");
|
|
104
|
+
// After unsubscribe, should not receive new events
|
|
105
|
+
expect(localEvents).toHaveLength(0);
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
describe("accessors", () => {
|
|
109
|
+
it("should return agent", () => {
|
|
110
|
+
expect(session.agent).toBeInstanceOf(Agent);
|
|
111
|
+
});
|
|
112
|
+
it("should return session manager", () => {
|
|
113
|
+
expect(session.sessionManager).toBeInstanceOf(SessionManager);
|
|
114
|
+
});
|
|
115
|
+
it("should return cwd", () => {
|
|
116
|
+
expect(session.cwd).toBe(tempDir);
|
|
117
|
+
});
|
|
118
|
+
it("should return event bus", () => {
|
|
119
|
+
expect(session.eventBus).toBeDefined();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
describe("lifecycle", () => {
|
|
123
|
+
it("should abort successfully", async () => {
|
|
124
|
+
await session.abort();
|
|
125
|
+
expect(session.isStreaming).toBe(false);
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=agent-session.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-session.test.js","sourceRoot":"","sources":["../../src/agent/agent-session.test.ts"],"names":[],"mappings":"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"}
|
package/dist/agent/agent.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agent class that uses the agent-loop directly.
|
|
3
3
|
* No transport abstraction - calls streamSimple via the loop.
|
|
4
4
|
*/
|
|
5
|
-
import { type ImageContent, type Message, type Model, type ThinkingBudgets } from "../ai/index.js";
|
|
5
|
+
import { type ImageContent, type Message, type Model, type ThinkingBudgets, type Transport } from "../ai/index.js";
|
|
6
6
|
import type { AgentEvent, AgentMessage, AgentState, AgentTool, StreamFn, ThinkingLevel } from "./types.js";
|
|
7
7
|
export interface AgentOptions {
|
|
8
8
|
initialState?: Partial<AgentState>;
|
|
@@ -42,6 +42,21 @@ export interface AgentOptions {
|
|
|
42
42
|
* Custom token budgets for thinking levels (token-based providers only).
|
|
43
43
|
*/
|
|
44
44
|
thinkingBudgets?: ThinkingBudgets;
|
|
45
|
+
/**
|
|
46
|
+
* Inspect or replace provider payloads before they are sent.
|
|
47
|
+
*/
|
|
48
|
+
onPayload?: (payload: unknown) => void;
|
|
49
|
+
/**
|
|
50
|
+
* Preferred transport for providers that support multiple transports.
|
|
51
|
+
*/
|
|
52
|
+
transport?: Transport;
|
|
53
|
+
/**
|
|
54
|
+
* Maximum delay in milliseconds to wait for a retry when the server requests a long wait.
|
|
55
|
+
* If the server's requested delay exceeds this value, the request fails immediately,
|
|
56
|
+
* allowing higher-level retry logic to handle it with user visibility.
|
|
57
|
+
* Default: 60000 (60 seconds). Set to 0 to disable the cap.
|
|
58
|
+
*/
|
|
59
|
+
maxRetryDelayMs?: number;
|
|
45
60
|
}
|
|
46
61
|
export declare class Agent {
|
|
47
62
|
private _state;
|
|
@@ -60,6 +75,9 @@ export declare class Agent {
|
|
|
60
75
|
private runningPrompt?;
|
|
61
76
|
private resolveRunningPrompt?;
|
|
62
77
|
private _thinkingBudgets?;
|
|
78
|
+
private _onPayload?;
|
|
79
|
+
private _transport;
|
|
80
|
+
private _maxRetryDelayMs?;
|
|
63
81
|
constructor(opts?: AgentOptions);
|
|
64
82
|
/**
|
|
65
83
|
* Get the current session ID used for provider caching.
|
|
@@ -78,6 +96,22 @@ export declare class Agent {
|
|
|
78
96
|
* Set custom thinking budgets for token-based providers.
|
|
79
97
|
*/
|
|
80
98
|
set thinkingBudgets(value: ThinkingBudgets | undefined);
|
|
99
|
+
/**
|
|
100
|
+
* Get the preferred transport for providers that support multiple transports.
|
|
101
|
+
*/
|
|
102
|
+
get transport(): Transport;
|
|
103
|
+
/**
|
|
104
|
+
* Set the preferred transport for providers that support multiple transports.
|
|
105
|
+
*/
|
|
106
|
+
set transport(value: Transport);
|
|
107
|
+
/**
|
|
108
|
+
* Get the maximum retry delay in milliseconds.
|
|
109
|
+
*/
|
|
110
|
+
get maxRetryDelayMs(): number | undefined;
|
|
111
|
+
/**
|
|
112
|
+
* Set the maximum retry delay in milliseconds.
|
|
113
|
+
*/
|
|
114
|
+
set maxRetryDelayMs(value: number | undefined);
|
|
81
115
|
get state(): AgentState;
|
|
82
116
|
subscribe(fn: (e: AgentEvent) => void): () => void;
|
|
83
117
|
setSystemPrompt(v: string): void;
|
|
@@ -88,6 +122,57 @@ export declare class Agent {
|
|
|
88
122
|
setFollowUpMode(mode: "all" | "one-at-a-time"): void;
|
|
89
123
|
getFollowUpMode(): "all" | "one-at-a-time";
|
|
90
124
|
setTools(t: AgentTool<any>[]): void;
|
|
125
|
+
/**
|
|
126
|
+
* Register a tool dynamically at runtime.
|
|
127
|
+
* The tool is added to the agent's available tools and can be used in subsequent runs.
|
|
128
|
+
*
|
|
129
|
+
* @param tool - The tool to register
|
|
130
|
+
* @example
|
|
131
|
+
* ```typescript
|
|
132
|
+
* agent.registerTool({
|
|
133
|
+
* name: "custom_calculator",
|
|
134
|
+
* label: "Custom Calculator",
|
|
135
|
+
* description: "Performs custom calculations",
|
|
136
|
+
* parameters: Type.Object({ expression: Type.String() }),
|
|
137
|
+
* execute: async (toolCallId, params) => ({
|
|
138
|
+
* content: [{ type: "text", text: String(eval(params.expression)) }],
|
|
139
|
+
* details: {}
|
|
140
|
+
* })
|
|
141
|
+
* });
|
|
142
|
+
* ```
|
|
143
|
+
*/
|
|
144
|
+
registerTool(tool: AgentTool<any>): void;
|
|
145
|
+
/**
|
|
146
|
+
* Register multiple tools at once.
|
|
147
|
+
*
|
|
148
|
+
* @param tools - Array of tools to register
|
|
149
|
+
*/
|
|
150
|
+
registerTools(tools: AgentTool<any>[]): void;
|
|
151
|
+
/**
|
|
152
|
+
* Unregister a tool by name.
|
|
153
|
+
* The tool will no longer be available in subsequent runs.
|
|
154
|
+
*
|
|
155
|
+
* @param toolName - The name of the tool to unregister
|
|
156
|
+
* @returns true if the tool was found and removed, false otherwise
|
|
157
|
+
*/
|
|
158
|
+
unregisterTool(toolName: string): boolean;
|
|
159
|
+
/**
|
|
160
|
+
* Get a tool by name.
|
|
161
|
+
*
|
|
162
|
+
* @param toolName - The name of the tool to retrieve
|
|
163
|
+
* @returns The tool if found, undefined otherwise
|
|
164
|
+
*/
|
|
165
|
+
getTool(toolName: string): AgentTool<any> | undefined;
|
|
166
|
+
/**
|
|
167
|
+
* List all available tools with their metadata.
|
|
168
|
+
*
|
|
169
|
+
* @returns Array of tool metadata (name, label, description)
|
|
170
|
+
*/
|
|
171
|
+
listTools(): Array<{
|
|
172
|
+
name: string;
|
|
173
|
+
label: string;
|
|
174
|
+
description?: string;
|
|
175
|
+
}>;
|
|
91
176
|
replaceMessages(ms: AgentMessage[]): void;
|
|
92
177
|
appendMessage(m: AgentMessage): void;
|
|
93
178
|
/**
|
|
@@ -107,10 +192,31 @@ export declare class Agent {
|
|
|
107
192
|
abort(): void;
|
|
108
193
|
waitForIdle(): Promise<void>;
|
|
109
194
|
reset(): void;
|
|
195
|
+
/**
|
|
196
|
+
* Dequeue steering messages based on steering mode.
|
|
197
|
+
* Used by continue() to handle queued steering messages.
|
|
198
|
+
* @private
|
|
199
|
+
*/
|
|
200
|
+
private dequeueSteeringMessages;
|
|
201
|
+
/**
|
|
202
|
+
* Dequeue follow-up messages based on follow-up mode.
|
|
203
|
+
* Used by continue() to handle queued follow-up messages.
|
|
204
|
+
* @private
|
|
205
|
+
*/
|
|
206
|
+
private dequeueFollowUpMessages;
|
|
110
207
|
/** Send a prompt with an AgentMessage */
|
|
111
208
|
prompt(message: AgentMessage | AgentMessage[]): Promise<void>;
|
|
112
209
|
prompt(input: string, images?: ImageContent[]): Promise<void>;
|
|
113
|
-
/**
|
|
210
|
+
/**
|
|
211
|
+
* Continue from current context (used for retries and resuming queued messages).
|
|
212
|
+
*
|
|
213
|
+
* If last message is from assistant:
|
|
214
|
+
* 1. Try dequeuing steering messages first (high priority interrupts)
|
|
215
|
+
* 2. If no steering, try dequeuing follow-up messages (continuation)
|
|
216
|
+
* 3. If neither, throw error
|
|
217
|
+
*
|
|
218
|
+
* If last message is from user, just continue the loop normally.
|
|
219
|
+
*/
|
|
114
220
|
continue(): Promise<void>;
|
|
115
221
|
/**
|
|
116
222
|
* Run the agent loop.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAEX,UAAU,EAEV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/F;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAEvC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnF;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/agent/agent.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAEN,KAAK,YAAY,EACjB,KAAK,OAAO,EACZ,KAAK,KAAK,EAGV,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,MAAM,gBAAgB,CAAC;AAIxB,OAAO,KAAK,EAEX,UAAU,EAEV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,MAAM,YAAY,CAAC;AASpB,MAAM,WAAW,YAAY;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAEnC;;;OAGG;IACH,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE5E;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,MAAM,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAE/F;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAEvC;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,eAAe,CAAC;IAEvC;;OAEG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAEnF;;OAEG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC;IAElC;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvC;;OAEG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,qBAAa,KAAK;IACjB,OAAO,CAAC,MAAM,CAUZ;IAEF,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsC;IACnE,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,YAAY,CAA+D;IACnF,OAAO,CAAC,gBAAgB,CAAC,CAA8E;IACvG,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,YAAY,CAA0B;IACvC,QAAQ,EAAE,QAAQ,CAAC;IAC1B,OAAO,CAAC,UAAU,CAAC,CAAS;IACrB,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,GAAG,MAAM,GAAG,SAAS,CAAC;IAC1F,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,oBAAoB,CAAC,CAAa;IAC1C,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,UAAU,CAAC,CAA6B;IAChD,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,gBAAgB,CAAC,CAAS;gBAEtB,IAAI,GAAE,YAAiB;IAenC;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,GAAG,SAAS,CAElC;IAED;;;OAGG;IACH,IAAI,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAEtC;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,eAAe,GAAG,SAAS,CAEjD;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,EAErD;IAED;;OAEG;IACH,IAAI,SAAS,IAAI,SAAS,CAEzB;IAED;;OAEG;IACH,IAAI,SAAS,CAAC,KAAK,EAAE,SAAS,EAE7B;IAED;;OAEG;IACH,IAAI,eAAe,IAAI,MAAM,GAAG,SAAS,CAExC;IAED;;OAEG;IACH,IAAI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,EAE5C;IAED,IAAI,KAAK,IAAI,UAAU,CAEtB;IAED,SAAS,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAKlD,eAAe,CAAC,CAAC,EAAE,MAAM;IAIzB,QAAQ,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;IAItB,gBAAgB,CAAC,CAAC,EAAE,aAAa;IAIjC,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe;IAI7C,eAAe,IAAI,KAAK,GAAG,eAAe;IAI1C,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,eAAe;IAI7C,eAAe,IAAI,KAAK,GAAG,eAAe;IAI1C,QAAQ,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE;IAI5B;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI;IAYxC;;;;OAIG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,IAAI;IAM5C;;;;;;OAMG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAWzC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,SAAS;IAIrD;;;;OAIG;IACH,SAAS,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAQzE,eAAe,CAAC,EAAE,EAAE,YAAY,EAAE;IAIlC,aAAa,CAAC,CAAC,EAAE,YAAY;IAI7B;;;OAGG;IACH,KAAK,CAAC,CAAC,EAAE,YAAY;IAIrB;;;OAGG;IACH,QAAQ,CAAC,CAAC,EAAE,YAAY;IAIxB,kBAAkB;IAIlB,kBAAkB;IAIlB,cAAc;IAKd,aAAa;IAIb,KAAK;IAIL,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,KAAK;IAML;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAe/B;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAe/B,yCAAyC;IACnC,MAAM,CAAC,OAAO,EAAE,YAAY,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAC7D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCnE;;;;;;;;;OASG;IACG,QAAQ;IAkCd;;;;OAIG;YACW,QAAQ;IA4KtB,OAAO,CAAC,IAAI;CAGZ"}
|
package/dist/agent/agent.js
CHANGED
|
@@ -13,22 +13,36 @@ function defaultConvertToLlm(messages) {
|
|
|
13
13
|
return messages.filter((m) => m.role === "user" || m.role === "assistant" || m.role === "toolResult");
|
|
14
14
|
}
|
|
15
15
|
export class Agent {
|
|
16
|
+
_state = {
|
|
17
|
+
systemPrompt: "",
|
|
18
|
+
model: getModel("google", "gemini-2.5-flash-lite-preview-06-17"),
|
|
19
|
+
thinkingLevel: "off",
|
|
20
|
+
tools: [],
|
|
21
|
+
messages: [],
|
|
22
|
+
isStreaming: false,
|
|
23
|
+
streamMessage: null,
|
|
24
|
+
pendingToolCalls: new Set(),
|
|
25
|
+
error: undefined,
|
|
26
|
+
};
|
|
27
|
+
eventBus = new AgentEventBus();
|
|
28
|
+
stateManager = new AgentStateManager(this._state);
|
|
29
|
+
abortController;
|
|
30
|
+
convertToLlm;
|
|
31
|
+
transformContext;
|
|
32
|
+
steeringQueue = [];
|
|
33
|
+
followUpQueue = [];
|
|
34
|
+
steeringMode;
|
|
35
|
+
followUpMode;
|
|
36
|
+
streamFn;
|
|
37
|
+
_sessionId;
|
|
38
|
+
getApiKey;
|
|
39
|
+
runningPrompt;
|
|
40
|
+
resolveRunningPrompt;
|
|
41
|
+
_thinkingBudgets;
|
|
42
|
+
_onPayload;
|
|
43
|
+
_transport;
|
|
44
|
+
_maxRetryDelayMs;
|
|
16
45
|
constructor(opts = {}) {
|
|
17
|
-
this._state = {
|
|
18
|
-
systemPrompt: "",
|
|
19
|
-
model: getModel("google", "gemini-2.5-flash-lite-preview-06-17"),
|
|
20
|
-
thinkingLevel: "off",
|
|
21
|
-
tools: [],
|
|
22
|
-
messages: [],
|
|
23
|
-
isStreaming: false,
|
|
24
|
-
streamMessage: null,
|
|
25
|
-
pendingToolCalls: new Set(),
|
|
26
|
-
error: undefined,
|
|
27
|
-
};
|
|
28
|
-
this.eventBus = new AgentEventBus();
|
|
29
|
-
this.stateManager = new AgentStateManager(this._state);
|
|
30
|
-
this.steeringQueue = [];
|
|
31
|
-
this.followUpQueue = [];
|
|
32
46
|
Object.assign(this._state, opts.initialState ?? {});
|
|
33
47
|
this.convertToLlm = opts.convertToLlm || defaultConvertToLlm;
|
|
34
48
|
this.transformContext = opts.transformContext;
|
|
@@ -36,6 +50,9 @@ export class Agent {
|
|
|
36
50
|
this.followUpMode = opts.followUpMode || "one-at-a-time";
|
|
37
51
|
this.streamFn = opts.streamFn || streamSimple;
|
|
38
52
|
this._sessionId = opts.sessionId;
|
|
53
|
+
this._onPayload = opts.onPayload;
|
|
54
|
+
this._transport = opts.transport ?? "sse";
|
|
55
|
+
this._maxRetryDelayMs = opts.maxRetryDelayMs;
|
|
39
56
|
this.getApiKey = opts.getApiKey;
|
|
40
57
|
this._thinkingBudgets = opts.thinkingBudgets;
|
|
41
58
|
}
|
|
@@ -64,6 +81,30 @@ export class Agent {
|
|
|
64
81
|
set thinkingBudgets(value) {
|
|
65
82
|
this._thinkingBudgets = value;
|
|
66
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Get the preferred transport for providers that support multiple transports.
|
|
86
|
+
*/
|
|
87
|
+
get transport() {
|
|
88
|
+
return this._transport;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Set the preferred transport for providers that support multiple transports.
|
|
92
|
+
*/
|
|
93
|
+
set transport(value) {
|
|
94
|
+
this._transport = value;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Get the maximum retry delay in milliseconds.
|
|
98
|
+
*/
|
|
99
|
+
get maxRetryDelayMs() {
|
|
100
|
+
return this._maxRetryDelayMs;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Set the maximum retry delay in milliseconds.
|
|
104
|
+
*/
|
|
105
|
+
set maxRetryDelayMs(value) {
|
|
106
|
+
this._maxRetryDelayMs = value;
|
|
107
|
+
}
|
|
67
108
|
get state() {
|
|
68
109
|
return this._state;
|
|
69
110
|
}
|
|
@@ -95,6 +136,85 @@ export class Agent {
|
|
|
95
136
|
setTools(t) {
|
|
96
137
|
this.stateManager.setTools(t);
|
|
97
138
|
}
|
|
139
|
+
/**
|
|
140
|
+
* Register a tool dynamically at runtime.
|
|
141
|
+
* The tool is added to the agent's available tools and can be used in subsequent runs.
|
|
142
|
+
*
|
|
143
|
+
* @param tool - The tool to register
|
|
144
|
+
* @example
|
|
145
|
+
* ```typescript
|
|
146
|
+
* agent.registerTool({
|
|
147
|
+
* name: "custom_calculator",
|
|
148
|
+
* label: "Custom Calculator",
|
|
149
|
+
* description: "Performs custom calculations",
|
|
150
|
+
* parameters: Type.Object({ expression: Type.String() }),
|
|
151
|
+
* execute: async (toolCallId, params) => ({
|
|
152
|
+
* content: [{ type: "text", text: String(eval(params.expression)) }],
|
|
153
|
+
* details: {}
|
|
154
|
+
* })
|
|
155
|
+
* });
|
|
156
|
+
* ```
|
|
157
|
+
*/
|
|
158
|
+
registerTool(tool) {
|
|
159
|
+
const tools = this._state.tools;
|
|
160
|
+
// Check if tool already exists and replace it
|
|
161
|
+
const existingIndex = tools.findIndex((t) => t.name === tool.name);
|
|
162
|
+
if (existingIndex >= 0) {
|
|
163
|
+
tools[existingIndex] = tool;
|
|
164
|
+
}
|
|
165
|
+
else {
|
|
166
|
+
tools.push(tool);
|
|
167
|
+
}
|
|
168
|
+
this.stateManager.setTools([...tools]);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Register multiple tools at once.
|
|
172
|
+
*
|
|
173
|
+
* @param tools - Array of tools to register
|
|
174
|
+
*/
|
|
175
|
+
registerTools(tools) {
|
|
176
|
+
for (const tool of tools) {
|
|
177
|
+
this.registerTool(tool);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Unregister a tool by name.
|
|
182
|
+
* The tool will no longer be available in subsequent runs.
|
|
183
|
+
*
|
|
184
|
+
* @param toolName - The name of the tool to unregister
|
|
185
|
+
* @returns true if the tool was found and removed, false otherwise
|
|
186
|
+
*/
|
|
187
|
+
unregisterTool(toolName) {
|
|
188
|
+
const tools = this._state.tools;
|
|
189
|
+
const index = tools.findIndex((t) => t.name === toolName);
|
|
190
|
+
if (index >= 0) {
|
|
191
|
+
tools.splice(index, 1);
|
|
192
|
+
this.stateManager.setTools([...tools]);
|
|
193
|
+
return true;
|
|
194
|
+
}
|
|
195
|
+
return false;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get a tool by name.
|
|
199
|
+
*
|
|
200
|
+
* @param toolName - The name of the tool to retrieve
|
|
201
|
+
* @returns The tool if found, undefined otherwise
|
|
202
|
+
*/
|
|
203
|
+
getTool(toolName) {
|
|
204
|
+
return this._state.tools.find((t) => t.name === toolName);
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* List all available tools with their metadata.
|
|
208
|
+
*
|
|
209
|
+
* @returns Array of tool metadata (name, label, description)
|
|
210
|
+
*/
|
|
211
|
+
listTools() {
|
|
212
|
+
return this._state.tools.map((t) => ({
|
|
213
|
+
name: t.name,
|
|
214
|
+
label: t.label,
|
|
215
|
+
description: t.description,
|
|
216
|
+
}));
|
|
217
|
+
}
|
|
98
218
|
replaceMessages(ms) {
|
|
99
219
|
this.stateManager.replaceMessages(ms);
|
|
100
220
|
}
|
|
@@ -139,6 +259,46 @@ export class Agent {
|
|
|
139
259
|
this.steeringQueue = [];
|
|
140
260
|
this.followUpQueue = [];
|
|
141
261
|
}
|
|
262
|
+
/**
|
|
263
|
+
* Dequeue steering messages based on steering mode.
|
|
264
|
+
* Used by continue() to handle queued steering messages.
|
|
265
|
+
* @private
|
|
266
|
+
*/
|
|
267
|
+
dequeueSteeringMessages() {
|
|
268
|
+
if (this.steeringMode === "one-at-a-time") {
|
|
269
|
+
if (this.steeringQueue.length > 0) {
|
|
270
|
+
const first = this.steeringQueue[0];
|
|
271
|
+
this.steeringQueue = this.steeringQueue.slice(1);
|
|
272
|
+
return [first];
|
|
273
|
+
}
|
|
274
|
+
return [];
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
const steering = this.steeringQueue.slice();
|
|
278
|
+
this.steeringQueue = [];
|
|
279
|
+
return steering;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Dequeue follow-up messages based on follow-up mode.
|
|
284
|
+
* Used by continue() to handle queued follow-up messages.
|
|
285
|
+
* @private
|
|
286
|
+
*/
|
|
287
|
+
dequeueFollowUpMessages() {
|
|
288
|
+
if (this.followUpMode === "one-at-a-time") {
|
|
289
|
+
if (this.followUpQueue.length > 0) {
|
|
290
|
+
const first = this.followUpQueue[0];
|
|
291
|
+
this.followUpQueue = this.followUpQueue.slice(1);
|
|
292
|
+
return [first];
|
|
293
|
+
}
|
|
294
|
+
return [];
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
const followUp = this.followUpQueue.slice();
|
|
298
|
+
this.followUpQueue = [];
|
|
299
|
+
return followUp;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
142
302
|
async prompt(input, images) {
|
|
143
303
|
if (this._state.isStreaming) {
|
|
144
304
|
throw new Error("Agent is already processing a prompt. Use steer() or followUp() to queue messages, or wait for completion.");
|
|
@@ -168,7 +328,16 @@ export class Agent {
|
|
|
168
328
|
}
|
|
169
329
|
await this._runLoop(msgs);
|
|
170
330
|
}
|
|
171
|
-
/**
|
|
331
|
+
/**
|
|
332
|
+
* Continue from current context (used for retries and resuming queued messages).
|
|
333
|
+
*
|
|
334
|
+
* If last message is from assistant:
|
|
335
|
+
* 1. Try dequeuing steering messages first (high priority interrupts)
|
|
336
|
+
* 2. If no steering, try dequeuing follow-up messages (continuation)
|
|
337
|
+
* 3. If neither, throw error
|
|
338
|
+
*
|
|
339
|
+
* If last message is from user, just continue the loop normally.
|
|
340
|
+
*/
|
|
172
341
|
async continue() {
|
|
173
342
|
if (this._state.isStreaming) {
|
|
174
343
|
throw new Error("Agent is already processing. Wait for completion before continuing.");
|
|
@@ -177,9 +346,24 @@ export class Agent {
|
|
|
177
346
|
if (messages.length === 0) {
|
|
178
347
|
throw new Error("No messages to continue from");
|
|
179
348
|
}
|
|
349
|
+
// Handle assistant message case: check for queued messages first
|
|
180
350
|
if (messages[messages.length - 1].role === "assistant") {
|
|
351
|
+
// Try steering messages first (higher priority - user interruptions)
|
|
352
|
+
const queuedSteering = this.dequeueSteeringMessages();
|
|
353
|
+
if (queuedSteering.length > 0) {
|
|
354
|
+
await this._runLoop(queuedSteering, { skipInitialSteeringPoll: true });
|
|
355
|
+
return;
|
|
356
|
+
}
|
|
357
|
+
// Then try follow-up messages (continuation)
|
|
358
|
+
const queuedFollowUp = this.dequeueFollowUpMessages();
|
|
359
|
+
if (queuedFollowUp.length > 0) {
|
|
360
|
+
await this._runLoop(queuedFollowUp);
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
// No queued messages available
|
|
181
364
|
throw new Error("Cannot continue from message role: assistant");
|
|
182
365
|
}
|
|
366
|
+
// User message case: continue normally
|
|
183
367
|
await this._runLoop(undefined);
|
|
184
368
|
}
|
|
185
369
|
/**
|
|
@@ -187,7 +371,7 @@ export class Agent {
|
|
|
187
371
|
* If messages are provided, starts a new conversation turn with those messages.
|
|
188
372
|
* Otherwise, continues from existing context.
|
|
189
373
|
*/
|
|
190
|
-
async _runLoop(messages) {
|
|
374
|
+
async _runLoop(messages, options) {
|
|
191
375
|
const model = this._state.model;
|
|
192
376
|
if (!model)
|
|
193
377
|
throw new Error("No model configured");
|
|
@@ -204,15 +388,24 @@ export class Agent {
|
|
|
204
388
|
messages: this._state.messages.slice(),
|
|
205
389
|
tools: this._state.tools,
|
|
206
390
|
};
|
|
391
|
+
let skipInitialSteeringPoll = options?.skipInitialSteeringPoll === true;
|
|
207
392
|
const config = {
|
|
208
393
|
model,
|
|
209
394
|
reasoning,
|
|
210
395
|
sessionId: this._sessionId,
|
|
396
|
+
onPayload: this._onPayload,
|
|
397
|
+
transport: this._transport,
|
|
398
|
+
maxRetryDelayMs: this._maxRetryDelayMs,
|
|
211
399
|
thinkingBudgets: this._thinkingBudgets,
|
|
212
400
|
convertToLlm: this.convertToLlm,
|
|
213
401
|
transformContext: this.transformContext,
|
|
214
402
|
getApiKey: this.getApiKey,
|
|
215
403
|
getSteeringMessages: async () => {
|
|
404
|
+
// Skip initial steering poll if explicitly requested (e.g., when continuing with dequeued steering)
|
|
405
|
+
if (skipInitialSteeringPoll) {
|
|
406
|
+
skipInitialSteeringPoll = false;
|
|
407
|
+
return [];
|
|
408
|
+
}
|
|
216
409
|
if (this.steeringMode === "one-at-a-time") {
|
|
217
410
|
if (this.steeringQueue.length > 0) {
|
|
218
411
|
const first = this.steeringQueue[0];
|