@amodalai/runtime 0.1.21 → 0.1.22
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/src/agent/agent-runner.js +15 -5
- package/dist/src/agent/agent-runner.js.map +1 -1
- package/dist/src/agent/local-server.js +39 -35
- package/dist/src/agent/local-server.js.map +1 -1
- package/dist/src/agent/page-builder.d.ts +6 -0
- package/dist/src/agent/page-builder.js +37 -2
- package/dist/src/agent/page-builder.js.map +1 -1
- package/dist/src/agent/snapshot-server.js +2 -2
- package/dist/src/agent/snapshot-server.js.map +1 -1
- package/dist/src/agent/tool-context-builder.d.ts +1 -1
- package/dist/src/agent/tool-context-builder.js +18 -1
- package/dist/src/agent/tool-context-builder.js.map +1 -1
- package/dist/src/agent/tool-executor-local.js +20 -1
- package/dist/src/agent/tool-executor-local.js.map +1 -1
- package/dist/src/agent/tool-executor-local.test.js +1 -0
- package/dist/src/agent/tool-executor-local.test.js.map +1 -1
- package/dist/src/constants.d.ts +10 -0
- package/dist/src/constants.js +11 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/index.d.ts +2 -2
- package/dist/src/index.js +1 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/server.d.ts +0 -2
- package/dist/src/server.js +0 -1
- package/dist/src/server.js.map +1 -1
- package/dist/src/session/custom-tool-adapter.js +18 -0
- package/dist/src/session/custom-tool-adapter.js.map +1 -1
- package/dist/src/session/session-manager.d.ts +6 -5
- package/dist/src/session/session-manager.js +83 -122
- package/dist/src/session/session-manager.js.map +1 -1
- package/dist/src/session/session-manager.test.js +10 -169
- package/dist/src/session/session-manager.test.js.map +1 -1
- package/dist/src/stores/pglite-store-backend.d.ts +10 -4
- package/dist/src/stores/pglite-store-backend.js +159 -111
- package/dist/src/stores/pglite-store-backend.js.map +1 -1
- package/dist/src/types.d.ts +8 -1
- package/dist/src/types.js +1 -0
- package/dist/src/types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
- package/dist/src/agent/routes/chat.d.ts +0 -35
- package/dist/src/agent/routes/chat.js +0 -88
- package/dist/src/agent/routes/chat.js.map +0 -1
- package/dist/src/agent/routes/chat.test.d.ts +0 -6
- package/dist/src/agent/routes/chat.test.js +0 -110
- package/dist/src/agent/routes/chat.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-context-builder.js","sourceRoot":"","sources":["../../../src/agent/tool-context-builder.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAC;AAGpC,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-context-builder.js","sourceRoot":"","sources":["../../../src/agent/tool-context-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
import { pathToFileURL } from 'node:url';
|
|
7
|
+
import path from 'node:path';
|
|
8
|
+
import { mkdirSync } from 'node:fs';
|
|
7
9
|
/**
|
|
8
10
|
* Executes custom tool handlers locally via dynamic import.
|
|
9
11
|
*/
|
|
@@ -39,7 +41,24 @@ export class LocalToolExecutor {
|
|
|
39
41
|
if (cached) {
|
|
40
42
|
return cached;
|
|
41
43
|
}
|
|
42
|
-
|
|
44
|
+
// Compile .ts handlers to .mjs before importing
|
|
45
|
+
let importPath = tool.handlerPath;
|
|
46
|
+
if (tool.handlerPath.endsWith('.ts')) {
|
|
47
|
+
const { build } = await import('esbuild');
|
|
48
|
+
const outDir = path.join(path.dirname(tool.handlerPath), '.build');
|
|
49
|
+
const outFile = path.join(outDir, `${tool.name}.mjs`);
|
|
50
|
+
mkdirSync(outDir, { recursive: true });
|
|
51
|
+
await build({
|
|
52
|
+
entryPoints: [tool.handlerPath],
|
|
53
|
+
outfile: outFile,
|
|
54
|
+
bundle: false,
|
|
55
|
+
format: 'esm',
|
|
56
|
+
platform: 'node',
|
|
57
|
+
logLevel: 'warning',
|
|
58
|
+
});
|
|
59
|
+
importPath = outFile;
|
|
60
|
+
}
|
|
61
|
+
const moduleUrl = pathToFileURL(importPath).href;
|
|
43
62
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- dynamic import returns unknown
|
|
44
63
|
const mod = await import(moduleUrl);
|
|
45
64
|
if (typeof mod.default !== 'function' && !isDefineToolResult(mod.default)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor-local.js","sourceRoot":"","sources":["../../../src/agent/tool-executor-local.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-executor-local.js","sourceRoot":"","sources":["../../../src/agent/tool-executor-local.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor-local.test.js","sourceRoot":"","sources":["../../../src/agent/tool-executor-local.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-executor-local.test.js","sourceRoot":"","sources":["../../../src/agent/tool-executor-local.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Default application ID used in local/repo dev mode.
|
|
8
|
+
* In hosted mode, the appId comes from the platform JWT.
|
|
9
|
+
*/
|
|
10
|
+
export declare const LOCAL_APP_ID = "local";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Amodal Labs, Inc.
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Default application ID used in local/repo dev mode.
|
|
8
|
+
* In hosted mode, the appId comes from the platform JWT.
|
|
9
|
+
*/
|
|
10
|
+
export const LOCAL_APP_ID = 'local';
|
|
11
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -16,8 +16,8 @@ export { ProactiveRunner } from './agent/proactive/proactive-runner.js';
|
|
|
16
16
|
export type { AutomationInfo, ProactiveRunnerConfig } from './agent/proactive/proactive-runner.js';
|
|
17
17
|
export { createSnapshotServer } from './agent/snapshot-server.js';
|
|
18
18
|
export type { SnapshotServerConfig } from './agent/snapshot-server.js';
|
|
19
|
-
export {
|
|
20
|
-
export type {
|
|
19
|
+
export { createChatStreamRouter } from './routes/chat-stream.js';
|
|
20
|
+
export type { ChatStreamRouterOptions } from './routes/chat-stream.js';
|
|
21
21
|
export { createTaskRouter } from './agent/routes/task.js';
|
|
22
22
|
export type { TaskRouterOptions } from './agent/routes/task.js';
|
|
23
23
|
export { getAuthContext } from './middleware/auth.js';
|
package/dist/src/index.js
CHANGED
|
@@ -15,7 +15,7 @@ export { ProactiveRunner } from './agent/proactive/proactive-runner.js';
|
|
|
15
15
|
// Snapshot mode
|
|
16
16
|
export { createSnapshotServer } from './agent/snapshot-server.js';
|
|
17
17
|
// Route creators (used by hosted-runtime to build its own server)
|
|
18
|
-
export {
|
|
18
|
+
export { createChatStreamRouter } from './routes/chat-stream.js';
|
|
19
19
|
export { createTaskRouter } from './agent/routes/task.js';
|
|
20
20
|
// Auth types (middleware implementation provided by hosting layer)
|
|
21
21
|
export { getAuthContext } from './middleware/auth.js';
|
|
@@ -42,8 +42,6 @@ async function main() {
|
|
|
42
42
|
const port = getEnvInt('PORT', 3000);
|
|
43
43
|
const host = getEnvOrDefault('HOST', '0.0.0.0');
|
|
44
44
|
const sessionTtlMs = getEnvInt('SESSION_TTL_MS', 30 * 60 * 1000);
|
|
45
|
-
// Platform API URL — used by SessionManager for AgentSDK config loading.
|
|
46
|
-
const platformApiUrl = process.env['PLATFORM_API_URL'];
|
|
47
45
|
// LLM config comes from env. Default matches the platform API default.
|
|
48
46
|
const model = getEnvOrDefault('MODEL', 'claude-sonnet-4-20250514');
|
|
49
47
|
// WORKSPACE_DIR scopes file tools and shell_exec. In Docker, set to
|
|
@@ -76,7 +74,6 @@ async function main() {
|
|
|
76
74
|
corsOrigin,
|
|
77
75
|
},
|
|
78
76
|
version: SERVER_VERSION,
|
|
79
|
-
platformApiUrl,
|
|
80
77
|
});
|
|
81
78
|
await serverInstance.start();
|
|
82
79
|
}
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,YAAY,EAAuB,MAAM,aAAa,CAAC;AAEhE,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAC;AAEtC,0BAA0B;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,oBAAoB,EAA8B,MAAM,uBAAuB,CAAC;AAEzF,aAAa;AACb,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,uCAAuC,CAAC;AAGxE,gBAAgB;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGlE,kEAAkE;AAClE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -23,8 +23,6 @@ export interface CreateServerOptions {
|
|
|
23
23
|
config: ServerConfig;
|
|
24
24
|
/** Version string for /version endpoint */
|
|
25
25
|
version?: string;
|
|
26
|
-
/** Platform API URL (used by SessionManager for AgentSDK config loading) */
|
|
27
|
-
platformApiUrl?: string;
|
|
28
26
|
/** Middleware to mount before all routes (e.g., request enrichment) */
|
|
29
27
|
preMiddleware?: express.RequestHandler;
|
|
30
28
|
/** Middleware to mount before the error handler (e.g., static file serving) */
|
package/dist/src/server.js
CHANGED
|
@@ -25,7 +25,6 @@ export function createServer(options) {
|
|
|
25
25
|
const sessionManager = new SessionManager({
|
|
26
26
|
baseParams,
|
|
27
27
|
ttlMs: config.sessionTtlMs,
|
|
28
|
-
platformApiUrl: options.platformApiUrl,
|
|
29
28
|
sessionStore: options.sessionStore,
|
|
30
29
|
bundleProvider: options.bundleProvider,
|
|
31
30
|
});
|
package/dist/src/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* Copyright 2026 Amodal Labs, Inc.
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
|
+
import { resolveKey } from '../stores/key-resolver.js';
|
|
7
|
+
import { LOCAL_APP_ID } from '../constants.js';
|
|
6
8
|
/**
|
|
7
9
|
* Adapts a repo LoadedTool to the upstream tool registry interface.
|
|
8
10
|
* Wraps the tool definition and delegates execution to the CustomToolExecutor.
|
|
@@ -115,6 +117,22 @@ export class CustomToolAdapter {
|
|
|
115
117
|
return { text: body, status: res.status };
|
|
116
118
|
}
|
|
117
119
|
},
|
|
120
|
+
async store(storeName, payload) {
|
|
121
|
+
if (!session.storeBackend) {
|
|
122
|
+
throw new Error('Store backend not available');
|
|
123
|
+
}
|
|
124
|
+
const stores = session.config.getStores();
|
|
125
|
+
const storeDef = stores.find((s) => s.name === storeName);
|
|
126
|
+
if (!storeDef) {
|
|
127
|
+
throw new Error(`Store "${storeName}" not found`);
|
|
128
|
+
}
|
|
129
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- store entity shape
|
|
130
|
+
const entityKey = storeDef.entity.key;
|
|
131
|
+
const key = resolveKey(entityKey, payload);
|
|
132
|
+
const appId = session.appId ?? LOCAL_APP_ID;
|
|
133
|
+
await session.storeBackend.put(appId, storeName, key, payload, {});
|
|
134
|
+
return { key };
|
|
135
|
+
},
|
|
118
136
|
async exec(command, options) {
|
|
119
137
|
const { exec: execCb } = await import('node:child_process');
|
|
120
138
|
const { promisify } = await import('node:util');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-tool-adapter.js","sourceRoot":"","sources":["../../../src/session/custom-tool-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"custom-tool-adapter.js","sourceRoot":"","sources":["../../../src/session/custom-tool-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,8 +68,12 @@ export interface StoredSessionRecord {
|
|
|
68
68
|
* Implementations are provided by the hosting layer.
|
|
69
69
|
*/
|
|
70
70
|
export interface SessionStore {
|
|
71
|
-
/** Fetch a stored session record by ID. Returns null if not found.
|
|
72
|
-
|
|
71
|
+
/** Fetch a stored session record by ID. Returns null if not found.
|
|
72
|
+
* Optional context provides auth info for implementations that need it. */
|
|
73
|
+
getSession(sessionId: string, context?: {
|
|
74
|
+
appId?: string;
|
|
75
|
+
token?: string;
|
|
76
|
+
}): Promise<StoredSessionRecord | null>;
|
|
73
77
|
}
|
|
74
78
|
export interface SessionManagerOptions {
|
|
75
79
|
/** Base config parameters to clone for each session */
|
|
@@ -78,8 +82,6 @@ export interface SessionManagerOptions {
|
|
|
78
82
|
ttlMs?: number;
|
|
79
83
|
/** Cleanup interval in milliseconds (default 5 minutes) */
|
|
80
84
|
cleanupIntervalMs?: number;
|
|
81
|
-
/** Platform API URL (for loading org-specific config per session) */
|
|
82
|
-
platformApiUrl?: string;
|
|
83
85
|
/** AgentBundle for local dev mode — sessions initialized from bundle config instead of platform API */
|
|
84
86
|
bundle?: AgentBundle;
|
|
85
87
|
/** Custom tool executor (local dev) */
|
|
@@ -101,7 +103,6 @@ export declare class SessionManager {
|
|
|
101
103
|
private readonly sessions;
|
|
102
104
|
private baseParams;
|
|
103
105
|
private readonly ttlMs;
|
|
104
|
-
private readonly platformApiUrl?;
|
|
105
106
|
private bundle?;
|
|
106
107
|
private readonly toolExecutor?;
|
|
107
108
|
private readonly shellExecutor?;
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
* SPDX-License-Identifier: MIT
|
|
5
5
|
*/
|
|
6
6
|
import { randomUUID } from 'node:crypto';
|
|
7
|
-
import {
|
|
7
|
+
import { LOCAL_APP_ID } from '../constants.js';
|
|
8
|
+
import { AmodalConfig, Scheduler, ROOT_SCHEDULER_ID, ApprovalMode, PolicyDecision, buildDefaultPrompt, resolveScopeLabels, generateFieldGuidance, generateAlternativeLookupGuidance, PlanModeManager, McpManager, ensureAdminAgent, loadAdminAgent, } from '@amodalai/core';
|
|
8
9
|
import { convertSessionMessagesToHistory } from './history-converter.js';
|
|
9
10
|
/**
|
|
10
11
|
* Resolve env: references in a string record.
|
|
@@ -34,7 +35,6 @@ export class SessionManager {
|
|
|
34
35
|
sessions = new Map();
|
|
35
36
|
baseParams;
|
|
36
37
|
ttlMs;
|
|
37
|
-
platformApiUrl;
|
|
38
38
|
bundle;
|
|
39
39
|
toolExecutor;
|
|
40
40
|
shellExecutor;
|
|
@@ -52,7 +52,6 @@ export class SessionManager {
|
|
|
52
52
|
constructor(options) {
|
|
53
53
|
this.baseParams = options.baseParams;
|
|
54
54
|
this.ttlMs = options.ttlMs ?? DEFAULT_TTL_MS;
|
|
55
|
-
this.platformApiUrl = options.platformApiUrl;
|
|
56
55
|
this.bundle = options.bundle;
|
|
57
56
|
this.toolExecutor = options.toolExecutor;
|
|
58
57
|
this.shellExecutor = options.shellExecutor;
|
|
@@ -97,7 +96,7 @@ export class SessionManager {
|
|
|
97
96
|
if (bundle) {
|
|
98
97
|
sessionParams.coreTools = this.buildCoreToolsList(bundle);
|
|
99
98
|
const { buildConnectionsMap } = await import('@amodalai/core');
|
|
100
|
-
const connectionsMap = buildConnectionsMap(bundle.connections);
|
|
99
|
+
const connectionsMap = buildConnectionsMap(bundle.connections, bundle.resolvedCredentials);
|
|
101
100
|
sessionParams.connections = connectionsMap;
|
|
102
101
|
sessionParams.appDocuments = bundle.knowledge.map((k) => ({
|
|
103
102
|
id: k.name,
|
|
@@ -133,116 +132,75 @@ export class SessionManager {
|
|
|
133
132
|
sessionParams.stores = bundle.stores;
|
|
134
133
|
}
|
|
135
134
|
}
|
|
136
|
-
|
|
137
|
-
//
|
|
138
|
-
//
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
else {
|
|
160
|
-
// Non-platform session: use Config directly
|
|
161
|
-
if (auth && this.platformApiUrl) {
|
|
162
|
-
sessionParams.platformApiUrl = this.platformApiUrl;
|
|
163
|
-
sessionParams.applicationId = auth.applicationId;
|
|
164
|
-
if (auth.apiKey) {
|
|
165
|
-
sessionParams.platformApiKey = auth.apiKey;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
config = new AmodalConfig(sessionParams);
|
|
169
|
-
// For non-platform sessions, skip the full upstream Config.initialize()
|
|
170
|
-
// which hangs trying to scan files, discover agents, and authenticate
|
|
171
|
-
// with Gemini. Instead, do a minimal init:
|
|
172
|
-
// 1. initializeAuth() — sets up MultiProviderContentGenerator for non-Google
|
|
173
|
-
// 2. registerTools() — registers amodal tools on the upstream registry
|
|
174
|
-
//
|
|
175
|
-
// We need to manually create the tool registry and message bus since
|
|
176
|
-
// the upstream Config only creates them in _initialize().
|
|
177
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
178
|
-
const upstreamRaw = config.getUpstreamConfig();
|
|
179
|
-
// Initialize storage (required by many upstream components)
|
|
180
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
181
|
-
const storage = (upstreamRaw['storage'] ?? upstreamRaw['_storage']);
|
|
182
|
-
if (storage?.initialize) {
|
|
183
|
-
await storage.initialize();
|
|
184
|
-
}
|
|
185
|
-
// Create agent registry and tool registry if not already created
|
|
186
|
-
if (!upstreamRaw['toolRegistry'] && !upstreamRaw['_toolRegistry']) {
|
|
187
|
-
// Agent registry must exist before tool registry (createToolRegistry references it).
|
|
188
|
-
// Use a minimal stub — we register Amodal subagents separately.
|
|
189
|
-
if (!upstreamRaw['agentRegistry']) {
|
|
190
|
-
upstreamRaw['agentRegistry'] = {
|
|
191
|
-
getAllDefinitions: () => [],
|
|
192
|
-
agents: new Map(),
|
|
193
|
-
allDefinitions: new Map(),
|
|
194
|
-
initialize: async () => { },
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
// Prompt registry stub (referenced by some tools)
|
|
198
|
-
if (!upstreamRaw['promptRegistry']) {
|
|
199
|
-
upstreamRaw['promptRegistry'] = { getPrompts: () => [] };
|
|
200
|
-
}
|
|
201
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
202
|
-
const upstreamConfig = config.getUpstreamConfig();
|
|
203
|
-
const registry = await upstreamConfig.createToolRegistry();
|
|
204
|
-
upstreamRaw['_toolRegistry'] = registry;
|
|
135
|
+
const config = new AmodalConfig(sessionParams);
|
|
136
|
+
// Skip the full upstream Config.initialize() which hangs trying to scan
|
|
137
|
+
// files, discover agents, and authenticate with Gemini. Instead, do a
|
|
138
|
+
// minimal init: create tool registry, initializeAuth(), registerTools().
|
|
139
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
140
|
+
const upstreamRaw = config.getUpstreamConfig();
|
|
141
|
+
// Initialize storage (required by many upstream components)
|
|
142
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
143
|
+
const storage = (upstreamRaw['storage'] ?? upstreamRaw['_storage']);
|
|
144
|
+
if (storage?.initialize) {
|
|
145
|
+
await storage.initialize();
|
|
146
|
+
}
|
|
147
|
+
// Create agent registry and tool registry if not already created
|
|
148
|
+
if (!upstreamRaw['toolRegistry'] && !upstreamRaw['_toolRegistry']) {
|
|
149
|
+
// Agent registry must exist before tool registry (createToolRegistry references it).
|
|
150
|
+
// Use a minimal stub — we register Amodal subagents separately.
|
|
151
|
+
if (!upstreamRaw['agentRegistry']) {
|
|
152
|
+
upstreamRaw['agentRegistry'] = {
|
|
153
|
+
getAllDefinitions: () => [],
|
|
154
|
+
agents: new Map(),
|
|
155
|
+
allDefinitions: new Map(),
|
|
156
|
+
initialize: async () => { },
|
|
157
|
+
};
|
|
205
158
|
}
|
|
206
|
-
//
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
await config.registerTools();
|
|
210
|
-
// Register custom tools from bundle tools/ directory
|
|
211
|
-
if (this.bundle && this.bundle.tools.length > 0) {
|
|
212
|
-
const { CustomToolAdapter } = await import('./custom-tool-adapter.js');
|
|
213
|
-
const { LocalToolExecutor } = await import('../agent/tool-executor-local.js');
|
|
214
|
-
const executor = this.toolExecutor ?? new LocalToolExecutor();
|
|
215
|
-
const registry = config.getUpstreamConfig().getToolRegistry();
|
|
216
|
-
// Session isn't created yet — we'll set it after session construction
|
|
217
|
-
// For now store the tools to register after session is built
|
|
218
|
-
for (const tool of this.bundle.tools) {
|
|
219
|
-
if (tool.confirm === 'never')
|
|
220
|
-
continue; // hidden from LLM
|
|
221
|
-
// Create a placeholder session for the adapter — will be updated below
|
|
222
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- partial session for tool context
|
|
223
|
-
const placeholder = { config, toolExecutor: executor };
|
|
224
|
-
const adapter = new CustomToolAdapter(tool, placeholder, executor);
|
|
225
|
-
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- adapter matches upstream tool interface
|
|
226
|
-
registry.registerTool(adapter);
|
|
227
|
-
}
|
|
228
|
-
process.stderr.write(`[SESSION] Registered ${String(this.bundle.tools.length)} custom tool(s)\n`);
|
|
159
|
+
// Prompt registry stub (referenced by some tools)
|
|
160
|
+
if (!upstreamRaw['promptRegistry']) {
|
|
161
|
+
upstreamRaw['promptRegistry'] = { getPrompts: () => [] };
|
|
229
162
|
}
|
|
230
|
-
//
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
163
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
164
|
+
const upstreamConfig = config.getUpstreamConfig();
|
|
165
|
+
const registry = await upstreamConfig.createToolRegistry();
|
|
166
|
+
upstreamRaw['_toolRegistry'] = registry;
|
|
167
|
+
}
|
|
168
|
+
// Initialize auth (replaces content generator for non-Google providers)
|
|
169
|
+
await config.initializeAuth();
|
|
170
|
+
// Register amodal tools (request, present, knowledge, stores)
|
|
171
|
+
await config.registerTools();
|
|
172
|
+
// Register custom tools from bundle tools/ directory
|
|
173
|
+
if (this.bundle && this.bundle.tools.length > 0) {
|
|
174
|
+
const { CustomToolAdapter } = await import('./custom-tool-adapter.js');
|
|
175
|
+
const { LocalToolExecutor } = await import('../agent/tool-executor-local.js');
|
|
176
|
+
const executor = this.toolExecutor ?? new LocalToolExecutor();
|
|
177
|
+
const registry = config.getUpstreamConfig().getToolRegistry();
|
|
178
|
+
for (const tool of this.bundle.tools) {
|
|
179
|
+
if (tool.confirm === 'never')
|
|
180
|
+
continue; // hidden from LLM
|
|
181
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- partial session for tool context
|
|
182
|
+
const placeholder = { config, toolExecutor: executor };
|
|
183
|
+
const adapter = new CustomToolAdapter(tool, placeholder, executor);
|
|
184
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- adapter matches upstream tool interface
|
|
185
|
+
registry.registerTool(adapter);
|
|
238
186
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
187
|
+
process.stderr.write(`[SESSION] Registered ${String(this.bundle.tools.length)} custom tool(s)\n`);
|
|
188
|
+
}
|
|
189
|
+
// Set model on upstream config so GeminiClient.startChat() can resolve it
|
|
190
|
+
if (sessionParams.modelConfig?.model) {
|
|
191
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
192
|
+
const upstreamForModel = config.getUpstreamConfig();
|
|
193
|
+
if (!upstreamForModel.model && !upstreamForModel._model) {
|
|
194
|
+
upstreamForModel['model'] = sessionParams.modelConfig.model;
|
|
195
|
+
upstreamForModel['_model'] = sessionParams.modelConfig.model;
|
|
244
196
|
}
|
|
245
197
|
}
|
|
198
|
+
// Initialize the GeminiClient (creates the Chat instance)
|
|
199
|
+
// Must happen after tool registry and content generator are set up.
|
|
200
|
+
const gemClient = config.getGeminiClient();
|
|
201
|
+
if (!gemClient.isInitialized()) {
|
|
202
|
+
await gemClient.initialize();
|
|
203
|
+
}
|
|
246
204
|
// Inject app secrets as process env vars so shell_exec commands can
|
|
247
205
|
// reference them (e.g. $API_BASE_URL in curl commands). The shell execution
|
|
248
206
|
// service inherits process.env for child processes.
|
|
@@ -262,9 +220,8 @@ export class SessionManager {
|
|
|
262
220
|
else {
|
|
263
221
|
process.stderr.write(`[SESSION] no _secrets found in connections\n`);
|
|
264
222
|
}
|
|
265
|
-
// Platform tool disabling is
|
|
266
|
-
//
|
|
267
|
-
// this during initialize() and calls config.setDisabledTools().
|
|
223
|
+
// Platform tool disabling is handled via the disabled_platform_tools
|
|
224
|
+
// field on the application record (propagated through the bundle config).
|
|
268
225
|
// Pinned model (from hydrated session) takes highest priority
|
|
269
226
|
if (pinnedModel) {
|
|
270
227
|
config.setModelConfig({
|
|
@@ -419,15 +376,18 @@ export class SessionManager {
|
|
|
419
376
|
// so we need to register them separately here.
|
|
420
377
|
if (storeBackend && stores.length > 0) {
|
|
421
378
|
try {
|
|
422
|
-
const { StoreWriteTool, StoreQueryTool } = await import('@amodalai/core');
|
|
379
|
+
const { StoreWriteTool, StoreBatchTool, StoreQueryTool } = await import('@amodalai/core');
|
|
423
380
|
const upstream = config.getUpstreamConfig();
|
|
424
381
|
const toolRegistry = upstream.getToolRegistry();
|
|
425
382
|
const messageBus = config.getMessageBus();
|
|
426
|
-
const appId = config.getAppId() ??
|
|
383
|
+
const appId = config.getAppId() ?? auth?.applicationId ?? LOCAL_APP_ID;
|
|
427
384
|
for (const store of stores) {
|
|
428
385
|
toolRegistry.registerTool(
|
|
429
386
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- tool types match upstream interface
|
|
430
387
|
new StoreWriteTool(store, storeBackend, appId, messageBus));
|
|
388
|
+
toolRegistry.registerTool(
|
|
389
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- tool types match upstream interface
|
|
390
|
+
new StoreBatchTool(store, storeBackend, appId, messageBus));
|
|
431
391
|
}
|
|
432
392
|
toolRegistry.registerTool(
|
|
433
393
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion
|
|
@@ -465,7 +425,7 @@ export class SessionManager {
|
|
|
465
425
|
planModeManager: new PlanModeManager(),
|
|
466
426
|
toolExecutor: this.toolExecutor,
|
|
467
427
|
shellExecutor: this.shellExecutor,
|
|
468
|
-
appId: auth?.applicationId,
|
|
428
|
+
appId: auth?.applicationId ?? LOCAL_APP_ID,
|
|
469
429
|
};
|
|
470
430
|
// Share MCP connection across sessions — connect once, reuse for all
|
|
471
431
|
if (this.bundle && !this.sharedMcpManager) {
|
|
@@ -572,10 +532,7 @@ export class SessionManager {
|
|
|
572
532
|
* fetch failure, or no stored messages).
|
|
573
533
|
*/
|
|
574
534
|
async hydrate(conversationId, role, auth, sessionType) {
|
|
575
|
-
|
|
576
|
-
if (!this.platformApiUrl)
|
|
577
|
-
return null;
|
|
578
|
-
if (!auth?.applicationId || !auth.token)
|
|
535
|
+
if (!this.sessionStore)
|
|
579
536
|
return null;
|
|
580
537
|
// Deduplicate concurrent hydration requests for the same conversation
|
|
581
538
|
const pending = this.pendingHydrations.get(conversationId);
|
|
@@ -592,12 +549,15 @@ export class SessionManager {
|
|
|
592
549
|
}
|
|
593
550
|
async doHydrate(conversationId, role, auth, sessionType) {
|
|
594
551
|
// Fetch stored conversation via pluggable session store
|
|
595
|
-
if (!this.sessionStore
|
|
552
|
+
if (!this.sessionStore) {
|
|
596
553
|
return null;
|
|
597
554
|
}
|
|
598
555
|
let record;
|
|
599
556
|
try {
|
|
600
|
-
record = await this.sessionStore.getSession(
|
|
557
|
+
record = await this.sessionStore.getSession(conversationId, {
|
|
558
|
+
appId: auth?.applicationId,
|
|
559
|
+
token: auth?.token,
|
|
560
|
+
});
|
|
601
561
|
}
|
|
602
562
|
catch (err) {
|
|
603
563
|
process.stderr.write(`[HYDRATE] Error fetching conversation ${conversationId}: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
@@ -636,7 +596,8 @@ export class SessionManager {
|
|
|
636
596
|
if (!session)
|
|
637
597
|
return;
|
|
638
598
|
this.sessions.delete(id);
|
|
639
|
-
if (
|
|
599
|
+
// Only close the store backend if it was created for this session (not the shared one)
|
|
600
|
+
if (session.storeBackend && session.storeBackend !== this.sharedStoreBackend) {
|
|
640
601
|
try {
|
|
641
602
|
await session.storeBackend.close();
|
|
642
603
|
}
|