@schlenkr/ragents 0.1.6 → 0.1.7
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/apps/server/src/chat-handler.ts +2 -0
- package/apps/server/src/config.ts +6 -0
- package/apps/server/src/host-api.json +1 -0
- package/apps/server/src/layout.ts +0 -15
- package/apps/server/src/plugin-support/agent-tool.ts +2 -3
- package/apps/server/src/provider.ts +34 -11
- package/apps/server/src/ragents/actor-chat-history.ts +1 -0
- package/apps/server/src/ragents/engine.ts +5 -13
- package/apps/server/src/ragents/journal-chat-events.ts +2 -0
- package/apps/server/src/ragents/run-owner.ts +3 -2
- package/apps/server/src/ragents/session.ts +3 -3
- package/apps/server/src/run-preparation.ts +14 -18
- package/apps/server/src/run-transfer.ts +65 -4
- package/apps/server/src/settings.ts +2 -4
- package/apps/web/dist/assets/{highlighted-body-KPVGNVTW-B9qYBARS.js → highlighted-body-KPVGNVTW-CFhTJEmH.js} +1 -1
- package/apps/web/dist/assets/{main-BCjvD2Hh.js → main-DlzW4t4c.js} +1 -1
- package/apps/web/dist/assets/{mermaid-HWGCJPDP-CvYYFK_n.js → mermaid-HWGCJPDP-kxkB991i.js} +69 -69
- package/apps/web/dist/assets/{runPanel-CG7kRMJh.js → runPanel-BJEFQ__w.js} +1 -1
- package/apps/web/dist/help/guide-clients.html +13 -4
- package/apps/web/dist/help/guide-clients.md +14 -4
- package/apps/web/dist/help/guide-distributed.html +8 -3
- package/apps/web/dist/help/guide-distributed.md +8 -3
- package/apps/web/dist/help/guide-runtime.html +18 -12
- package/apps/web/dist/help/guide-runtime.md +19 -12
- package/apps/web/dist/help/mini-app.css +23 -3
- package/apps/web/dist/host-web.json +3 -3
- package/apps/web/dist/index.html +2 -2
- package/apps/web/dist/run-panel.html +2 -2
- package/apps/web/src/SessionList.tsx +16 -8
- package/apps/web/src/api.ts +2 -0
- package/apps/web/src/panel/PanelPage.tsx +1 -1
- package/apps/web/src/panel/RunLine.tsx +4 -2
- package/apps/web/src/panel/contract.ts +2 -0
- package/bundles/ragents.activity/ragents-bundle.json +1 -1
- package/bundles/ragents.actor-programs/ragents-bundle.json +1 -1
- package/bundles/ragents.ask/ragents-bundle.json +1 -1
- package/bundles/ragents.browser/ragents-bundle.json +1 -1
- package/bundles/ragents.documents/ragents-bundle.json +1 -1
- package/bundles/ragents.lsp-fsharp/ragents-bundle.json +1 -1
- package/bundles/ragents.lsp-roslyn/ragents-bundle.json +1 -1
- package/bundles/ragents.lsp-typescript/ragents-bundle.json +1 -1
- package/bundles/ragents.model-relay/ragents-bundle.json +1 -1
- package/bundles/ragents.orchestration/ragents-bundle.json +1 -1
- package/bundles/ragents.overseer/ragents-bundle.json +1 -1
- package/bundles/ragents.processes/ragents-bundle.json +1 -1
- package/bundles/ragents.product/ragents-bundle.json +1 -1
- package/bundles/ragents.profile-distribution/ragents-bundle.json +1 -1
- package/bundles/ragents.reference/ragents-bundle.json +2 -2
- package/bundles/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +1 -1
- package/bundles/ragents.reference/run-scripts/word-game/tests/program.test.ts +3 -3
- package/bundles/ragents.todo/ragents-bundle.json +1 -1
- package/bundles/ragents.transcript/ragents-bundle.json +1 -1
- package/bundles/ragents.watch/ragents-bundle.json +1 -1
- package/bundles/ragents.workspace/ragents-bundle.json +1 -1
- package/package.json +2 -2
- package/packages/agent/dist/core/agent-settings.d.ts +2 -2
- package/packages/agent/dist/core/compaction/compaction.d.ts +16 -50
- package/packages/agent/dist/core/context-log.d.ts +25 -0
- package/packages/agent/dist/core/messages.d.ts +3 -10
- package/packages/agent/dist/core/tool-definition.d.ts +17 -0
- package/packages/agent/dist/core/tools/bash.d.ts +2 -7
- package/packages/agent/dist/core/tools/edit.d.ts +1 -1
- package/packages/agent/dist/core/tools/read.d.ts +1 -1
- package/packages/agent/dist/core/tools/write.d.ts +1 -1
- package/packages/agent/dist/index.d.ts +7 -8
- package/packages/agent/dist/loop/agent.d.ts +2 -6
- package/packages/agent/package.json +1 -1
- package/packages/agent/src/core/agent-settings.ts +2 -2
- package/packages/agent/src/core/compaction/compaction.ts +49 -175
- package/packages/agent/src/core/context-log.ts +49 -0
- package/packages/agent/src/core/messages.ts +5 -11
- package/packages/agent/src/core/tool-definition.ts +29 -0
- package/packages/agent/src/core/tools/bash.ts +2 -9
- package/packages/agent/src/core/tools/edit.ts +2 -11
- package/packages/agent/src/core/tools/read.ts +3 -18
- package/packages/agent/src/core/tools/write.ts +1 -5
- package/packages/agent/src/index.ts +28 -14
- package/packages/agent/src/loop/agent-loop.ts +1 -2
- package/packages/agent/src/loop/agent.ts +8 -2
- package/packages/ai/dist/api/ai-sdk.d.ts +2 -0
- package/packages/ai/dist/types.d.ts +2 -0
- package/packages/ai/src/api/ai-sdk-messages.ts +15 -10
- package/packages/ai/src/api/ai-sdk.ts +11 -0
- package/packages/ai/src/api/transform-messages.ts +1 -1
- package/packages/ai/src/types.ts +2 -0
- package/packages/ai/src/utils/retry.ts +14 -0
- package/packages/ragents/src/agents/actor-input.ts +15 -0
- package/packages/ragents/src/agents/model-context.ts +360 -0
- package/packages/ragents/src/agents/scheduler.ts +3 -7
- package/packages/ragents/src/agents/tools.ts +2 -2
- package/packages/ragents/src/agents/toolset.ts +47 -20
- package/packages/ragents/src/agents/workspaces.ts +0 -6
- package/packages/ragents/src/domain/event-semantics.ts +51 -0
- package/packages/ragents/src/domain/event-validation.ts +166 -0
- package/packages/ragents/src/domain/events.ts +72 -0
- package/packages/ragents/src/domain/model.ts +4 -2
- package/packages/ragents/src/domain/projection.ts +9 -0
- package/packages/ragents/src/domain/tool-result-text.ts +9 -0
- package/packages/ragents/src/drivers/agent-hooks.ts +25 -38
- package/packages/ragents/src/drivers/agent-runtime.ts +118 -933
- package/packages/ragents/src/drivers/agent-turn.ts +735 -0
- package/packages/ragents/src/drivers/agent.ts +9 -7
- package/packages/ragents/src/drivers/skill-preload.ts +53 -63
- package/packages/ragents/src/drivers/types.ts +21 -5
- package/packages/ragents/src/index.ts +7 -6
- package/packages/ragents/src/plugin-host.ts +3 -4
- package/packages/ragents/src/runtime/decisions/actors.ts +10 -0
- package/packages/ragents/src/runtime/decisions/turns.ts +66 -7
- package/packages/ragents/src/runtime/journal-storage.ts +7 -4
- package/packages/ragents/src/runtime/journal.ts +35 -0
- package/packages/ragents/src/runtime/orchestration.ts +140 -9
- package/packages/workspace-executor/src/sandbox-tools.ts +10 -11
- package/plugins/ragents.reference/run-scripts/learning-afternoon/tests/program.test.ts +1 -1
- package/plugins/ragents.reference/run-scripts/word-game/tests/program.test.ts +3 -3
- package/scripts/agent/journal.ts +5 -3
- package/packages/agent/dist/core/agent-session-runtime.d.ts +0 -33
- package/packages/agent/dist/core/agent-session-services.d.ts +0 -35
- package/packages/agent/dist/core/agent-session.d.ts +0 -234
- package/packages/agent/dist/core/auth-guidance.d.ts +0 -4
- package/packages/agent/dist/core/defaults.d.ts +0 -3
- package/packages/agent/dist/core/extensions/index.d.ts +0 -11
- package/packages/agent/dist/core/extensions/loader.d.ts +0 -12
- package/packages/agent/dist/core/extensions/runner.d.ts +0 -39
- package/packages/agent/dist/core/extensions/types.d.ts +0 -156
- package/packages/agent/dist/core/extensions/wrapper.d.ts +0 -12
- package/packages/agent/dist/core/resource-loader.d.ts +0 -39
- package/packages/agent/dist/core/sdk.d.ts +0 -38
- package/packages/agent/dist/core/session-manager.d.ts +0 -189
- package/packages/agent/dist/core/source-info.d.ts +0 -16
- package/packages/agent/dist/core/system-prompt.d.ts +0 -21
- package/packages/agent/src/core/agent-session-runtime.ts +0 -94
- package/packages/agent/src/core/agent-session-services.ts +0 -74
- package/packages/agent/src/core/agent-session.ts +0 -1108
- package/packages/agent/src/core/auth-guidance.ts +0 -14
- package/packages/agent/src/core/defaults.ts +0 -3
- package/packages/agent/src/core/extensions/index.ts +0 -38
- package/packages/agent/src/core/extensions/loader.ts +0 -125
- package/packages/agent/src/core/extensions/runner.ts +0 -211
- package/packages/agent/src/core/extensions/types.ts +0 -197
- package/packages/agent/src/core/extensions/wrapper.ts +0 -24
- package/packages/agent/src/core/resource-loader.ts +0 -142
- package/packages/agent/src/core/sdk.ts +0 -123
- package/packages/agent/src/core/session-manager.ts +0 -743
- package/packages/agent/src/core/source-info.ts +0 -28
- package/packages/agent/src/core/system-prompt.ts +0 -108
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
import { createExtensionRuntime, loadExtensionFromFactory } from "./extensions/loader.ts";
|
|
2
|
-
import type {
|
|
3
|
-
Extension,
|
|
4
|
-
ExtensionFactorySettlementObserver,
|
|
5
|
-
ExtensionRuntime,
|
|
6
|
-
InlineExtension,
|
|
7
|
-
LoadExtensionsResult,
|
|
8
|
-
} from "./extensions/types.ts";
|
|
9
|
-
import type { Skill } from "./skills.ts";
|
|
10
|
-
|
|
11
|
-
export interface ResourceLoaderReloadOptions {
|
|
12
|
-
signal?: AbortSignal;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export interface ResourceLoader {
|
|
16
|
-
getExtensions(): LoadExtensionsResult;
|
|
17
|
-
getSkills(): readonly Skill[];
|
|
18
|
-
getSystemPrompt(): string | undefined;
|
|
19
|
-
setSystemPrompt(value: string): void;
|
|
20
|
-
reload(options?: ResourceLoaderReloadOptions): Promise<void>;
|
|
21
|
-
waitForSettlement?(): Promise<void> | undefined;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export interface DefaultResourceLoaderOptions {
|
|
25
|
-
skills?: readonly Skill[];
|
|
26
|
-
extensionFactories?: InlineExtension[];
|
|
27
|
-
systemPrompt?: string;
|
|
28
|
-
onExtensionFactorySettlement?: ExtensionFactorySettlementObserver;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** Extensions come only as inline factories and skills as given by the caller; nothing is discovered or installed. */
|
|
32
|
-
export class DefaultResourceLoader implements ResourceLoader {
|
|
33
|
-
private readonly skills: readonly Skill[];
|
|
34
|
-
private readonly extensionFactories: InlineExtension[];
|
|
35
|
-
private readonly onExtensionFactorySettlement?: ExtensionFactorySettlementObserver;
|
|
36
|
-
private readonly extensionFactorySettlements = new Set<Promise<void>>();
|
|
37
|
-
|
|
38
|
-
private extensionsResult: LoadExtensionsResult;
|
|
39
|
-
private systemPrompt?: string;
|
|
40
|
-
|
|
41
|
-
constructor(options: DefaultResourceLoaderOptions) {
|
|
42
|
-
this.skills = options.skills ?? [];
|
|
43
|
-
this.extensionFactories = options.extensionFactories ?? [];
|
|
44
|
-
this.systemPrompt = options.systemPrompt;
|
|
45
|
-
this.onExtensionFactorySettlement = options.onExtensionFactorySettlement;
|
|
46
|
-
this.extensionsResult = { extensions: [], errors: [], runtime: createExtensionRuntime() };
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
getExtensions(): LoadExtensionsResult {
|
|
50
|
-
return this.extensionsResult;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
waitForSettlement(): Promise<void> | undefined {
|
|
54
|
-
const settlements = [...this.extensionFactorySettlements];
|
|
55
|
-
return settlements.length > 0 ? Promise.allSettled(settlements).then(() => undefined) : undefined;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
private readonly trackExtensionFactorySettlement: ExtensionFactorySettlementObserver = (settlement) => {
|
|
59
|
-
this.extensionFactorySettlements.add(settlement);
|
|
60
|
-
this.onExtensionFactorySettlement?.(settlement);
|
|
61
|
-
void settlement.then(
|
|
62
|
-
() => this.extensionFactorySettlements.delete(settlement),
|
|
63
|
-
() => this.extensionFactorySettlements.delete(settlement),
|
|
64
|
-
);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
getSkills(): readonly Skill[] {
|
|
68
|
-
return this.skills;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
getSystemPrompt(): string | undefined {
|
|
72
|
-
return this.systemPrompt;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
setSystemPrompt(value: string): void {
|
|
76
|
-
this.systemPrompt = value;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
async reload(options?: ResourceLoaderReloadOptions): Promise<void> {
|
|
80
|
-
options?.signal?.throwIfAborted();
|
|
81
|
-
const runtime = createExtensionRuntime();
|
|
82
|
-
const { extensions, errors } = await this.loadExtensionFactories(runtime, options?.signal);
|
|
83
|
-
for (const conflict of this.detectToolConflicts(extensions)) {
|
|
84
|
-
errors.push(conflict);
|
|
85
|
-
}
|
|
86
|
-
this.extensionsResult = { extensions, errors, runtime };
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
private async loadExtensionFactories(runtime: ExtensionRuntime, signal?: AbortSignal): Promise<{
|
|
90
|
-
extensions: Extension[];
|
|
91
|
-
errors: Array<{ path: string; error: string }>;
|
|
92
|
-
}> {
|
|
93
|
-
const extensions: Extension[] = [];
|
|
94
|
-
const errors: Array<{ path: string; error: string }> = [];
|
|
95
|
-
|
|
96
|
-
for (const [index, input] of this.extensionFactories.entries()) {
|
|
97
|
-
if (signal?.aborted) {
|
|
98
|
-
runtime.invalidate("Extension creation was aborted.");
|
|
99
|
-
signal.throwIfAborted();
|
|
100
|
-
}
|
|
101
|
-
const isNamed = typeof input !== "function";
|
|
102
|
-
const factory = isNamed ? input.factory : input;
|
|
103
|
-
const extensionPath = `<inline:${isNamed ? input.name : index + 1}>`;
|
|
104
|
-
try {
|
|
105
|
-
const extension = await loadExtensionFromFactory(
|
|
106
|
-
factory,
|
|
107
|
-
runtime,
|
|
108
|
-
extensionPath,
|
|
109
|
-
signal,
|
|
110
|
-
this.trackExtensionFactorySettlement,
|
|
111
|
-
);
|
|
112
|
-
extensions.push(extension);
|
|
113
|
-
} catch (error) {
|
|
114
|
-
if (signal?.aborted) {
|
|
115
|
-
throw error;
|
|
116
|
-
}
|
|
117
|
-
const message = error instanceof Error ? error.message : "failed to load extension";
|
|
118
|
-
errors.push({ path: extensionPath, error: message });
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
return { extensions, errors };
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
private detectToolConflicts(extensions: Extension[]): Array<{ path: string; error: string }> {
|
|
126
|
-
const conflicts: Array<{ path: string; error: string }> = [];
|
|
127
|
-
const toolOwners = new Map<string, string>();
|
|
128
|
-
|
|
129
|
-
for (const ext of extensions) {
|
|
130
|
-
for (const toolName of ext.tools.keys()) {
|
|
131
|
-
const existingOwner = toolOwners.get(toolName);
|
|
132
|
-
if (existingOwner && existingOwner !== ext.path) {
|
|
133
|
-
conflicts.push({ path: ext.path, error: `Tool "${toolName}" conflicts with ${existingOwner}` });
|
|
134
|
-
} else {
|
|
135
|
-
toolOwners.set(toolName, ext.path);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
return conflicts;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { Agent, type ThinkingLevel } from "../loop/index.ts";
|
|
2
|
-
import { clampThinkingLevel, type Model } from "@ragents/ai";
|
|
3
|
-
import { resolvePath } from "../utils/paths.ts";
|
|
4
|
-
import { AgentSession } from "./agent-session.ts";
|
|
5
|
-
import { DEFAULT_THINKING_LEVEL } from "./defaults.ts";
|
|
6
|
-
import type { ExtensionRunner, LoadExtensionsResult, ToolDefinition } from "./extensions/index.ts";
|
|
7
|
-
import { convertToLlm } from "./messages.ts";
|
|
8
|
-
import type { ModelRuntime } from "./model-runtime.ts";
|
|
9
|
-
import type { ResourceLoader } from "./resource-loader.ts";
|
|
10
|
-
import type { SessionManager } from "./session-manager.ts";
|
|
11
|
-
import { type AgentSettingsInput, agentSettings } from "./agent-settings.ts";
|
|
12
|
-
|
|
13
|
-
export interface CreateAgentSessionOptions {
|
|
14
|
-
/** Working directory of the session. Default: the working directory of the session manager */
|
|
15
|
-
cwd?: string;
|
|
16
|
-
modelRuntime: ModelRuntime;
|
|
17
|
-
/** The model of the session; a session without one is an error. */
|
|
18
|
-
model: Model<any>;
|
|
19
|
-
/** Thinking level. Default: from the session, else settings, else 'medium' (clamped to model capabilities) */
|
|
20
|
-
thinkingLevel?: ThinkingLevel;
|
|
21
|
-
/** Optional allowlist of tool names; without it every registered tool is enabled. */
|
|
22
|
-
tools?: string[];
|
|
23
|
-
/** Custom tools to register besides the tools of extensions. */
|
|
24
|
-
customTools?: ToolDefinition[];
|
|
25
|
-
/** Loaded resources: extensions, skills and the system prompt. */
|
|
26
|
-
resourceLoader: ResourceLoader;
|
|
27
|
-
sessionManager: SessionManager;
|
|
28
|
-
settings?: AgentSettingsInput;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
/** Result from createAgentSession */
|
|
32
|
-
export interface CreateAgentSessionResult {
|
|
33
|
-
/** The created session */
|
|
34
|
-
session: AgentSession;
|
|
35
|
-
/** Extensions of the session, with the errors of their factories */
|
|
36
|
-
extensionsResult: LoadExtensionsResult;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
// Re-exports
|
|
40
|
-
|
|
41
|
-
export * from "./agent-session-runtime.ts";
|
|
42
|
-
export type { ExtensionAPI, ExtensionContext, ExtensionFactory, InlineExtension, ToolDefinition } from "./extensions/index.ts";
|
|
43
|
-
export type { Skill } from "./skills.ts";
|
|
44
|
-
|
|
45
|
-
/** Create an AgentSession for the given model. */
|
|
46
|
-
export async function createAgentSession(options: CreateAgentSessionOptions): Promise<CreateAgentSessionResult> {
|
|
47
|
-
const model = options.model;
|
|
48
|
-
if (!model) {
|
|
49
|
-
throw new Error("An agent session needs a model.");
|
|
50
|
-
}
|
|
51
|
-
const cwd = resolvePath(options.cwd ?? options.sessionManager.getCwd());
|
|
52
|
-
const { modelRuntime, resourceLoader, sessionManager } = options;
|
|
53
|
-
const settings = agentSettings(options.settings);
|
|
54
|
-
|
|
55
|
-
// Check if session has existing data to restore
|
|
56
|
-
const existingSession = sessionManager.buildSessionContext();
|
|
57
|
-
const hasExistingSession = existingSession.messages.length > 0;
|
|
58
|
-
const hasThinkingEntry = sessionManager.getBranch().some((entry) => entry.type === "thinking_level_change");
|
|
59
|
-
|
|
60
|
-
// A resumed session keeps its thinking level unless the caller sets one
|
|
61
|
-
const restoredThinkingLevel =
|
|
62
|
-
hasExistingSession && hasThinkingEntry ? (existingSession.thinkingLevel as ThinkingLevel) : undefined;
|
|
63
|
-
const thinkingLevel = clampThinkingLevel(
|
|
64
|
-
model,
|
|
65
|
-
options.thinkingLevel ?? restoredThinkingLevel ?? DEFAULT_THINKING_LEVEL,
|
|
66
|
-
) as ThinkingLevel;
|
|
67
|
-
|
|
68
|
-
const extensionRunnerRef: { current?: ExtensionRunner } = {};
|
|
69
|
-
|
|
70
|
-
const agent = new Agent({
|
|
71
|
-
initialState: {
|
|
72
|
-
systemPrompt: "",
|
|
73
|
-
model,
|
|
74
|
-
thinkingLevel,
|
|
75
|
-
tools: [],
|
|
76
|
-
},
|
|
77
|
-
convertToLlm,
|
|
78
|
-
streamFn: async (model, context, options) =>
|
|
79
|
-
modelRuntime.streamSimple(model, context, {
|
|
80
|
-
...options,
|
|
81
|
-
timeoutMs: options?.timeoutMs ?? settings.providerRequest.timeoutMs,
|
|
82
|
-
maxRetries: options?.maxRetries ?? settings.providerRequest.maxRetries,
|
|
83
|
-
maxRetryDelayMs: options?.maxRetryDelayMs ?? settings.providerRequest.maxRetryDelayMs,
|
|
84
|
-
}),
|
|
85
|
-
sessionId: sessionManager.getSessionId(),
|
|
86
|
-
transformContext: async (messages) => {
|
|
87
|
-
const runner = extensionRunnerRef.current;
|
|
88
|
-
if (!runner) return messages;
|
|
89
|
-
return runner.emitContext(messages);
|
|
90
|
-
},
|
|
91
|
-
maxRetryDelayMs: settings.providerRequest.maxRetryDelayMs,
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
// Restore messages if session has existing data
|
|
95
|
-
if (hasExistingSession) {
|
|
96
|
-
agent.state.messages = existingSession.messages;
|
|
97
|
-
if (!hasThinkingEntry) {
|
|
98
|
-
sessionManager.appendThinkingLevelChange(thinkingLevel);
|
|
99
|
-
}
|
|
100
|
-
} else {
|
|
101
|
-
// Save initial model and thinking level for new sessions so they can be restored on resume
|
|
102
|
-
sessionManager.appendModelChange(model.provider, model.id);
|
|
103
|
-
sessionManager.appendThinkingLevelChange(thinkingLevel);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
const session = new AgentSession({
|
|
107
|
-
agent,
|
|
108
|
-
sessionManager,
|
|
109
|
-
settings,
|
|
110
|
-
cwd,
|
|
111
|
-
resourceLoader,
|
|
112
|
-
customTools: options.customTools,
|
|
113
|
-
modelRuntime,
|
|
114
|
-
allowedToolNames: options.tools,
|
|
115
|
-
extensionRunnerRef,
|
|
116
|
-
});
|
|
117
|
-
const extensionsResult = resourceLoader.getExtensions();
|
|
118
|
-
|
|
119
|
-
return {
|
|
120
|
-
session,
|
|
121
|
-
extensionsResult,
|
|
122
|
-
};
|
|
123
|
-
}
|