wunderland 0.36.29 → 0.38.0
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/api/chat-runtime.d.ts.map +1 -1
- package/dist/api/chat-runtime.js +99 -2
- package/dist/api/chat-runtime.js.map +1 -1
- package/dist/api/server.d.ts +2 -0
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +158 -21
- package/dist/api/server.js.map +1 -1
- package/dist/api/types.d.ts +118 -32
- package/dist/api/types.d.ts.map +1 -1
- package/dist/cli/commands/channels.d.ts.map +1 -1
- package/dist/cli/commands/channels.js +10 -0
- package/dist/cli/commands/channels.js.map +1 -1
- package/dist/cli/commands/chat.d.ts.map +1 -1
- package/dist/cli/commands/chat.js +50 -32
- package/dist/cli/commands/chat.js.map +1 -1
- package/dist/cli/commands/completions.d.ts.map +1 -1
- package/dist/cli/commands/completions.js +1 -0
- package/dist/cli/commands/completions.js.map +1 -1
- package/dist/cli/commands/create.d.ts +6 -0
- package/dist/cli/commands/create.d.ts.map +1 -1
- package/dist/cli/commands/create.js +44 -16
- package/dist/cli/commands/create.js.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/commands/deploy.js +32 -32
- package/dist/cli/commands/deploy.js.map +1 -1
- package/dist/cli/commands/extensions.js +2 -2
- package/dist/cli/commands/extensions.js.map +1 -1
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +27 -42
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list-personas.d.ts +7 -0
- package/dist/cli/commands/list-personas.d.ts.map +1 -0
- package/dist/cli/commands/list-personas.js +79 -0
- package/dist/cli/commands/list-personas.js.map +1 -0
- package/dist/cli/commands/list-presets.d.ts.map +1 -1
- package/dist/cli/commands/list-presets.js +4 -0
- package/dist/cli/commands/list-presets.js.map +1 -1
- package/dist/cli/commands/rag.d.ts.map +1 -1
- package/dist/cli/commands/rag.js +8 -9
- package/dist/cli/commands/rag.js.map +1 -1
- package/dist/cli/commands/start/channel-handler.d.ts.map +1 -1
- package/dist/cli/commands/start/channel-handler.js +9 -3
- package/dist/cli/commands/start/channel-handler.js.map +1 -1
- package/dist/cli/commands/start/config-loader.d.ts +3 -0
- package/dist/cli/commands/start/config-loader.d.ts.map +1 -1
- package/dist/cli/commands/start/config-loader.js +57 -10
- package/dist/cli/commands/start/config-loader.js.map +1 -1
- package/dist/cli/commands/start/extension-loader.d.ts.map +1 -1
- package/dist/cli/commands/start/extension-loader.js +43 -0
- package/dist/cli/commands/start/extension-loader.js.map +1 -1
- package/dist/cli/commands/start/http-server.d.ts.map +1 -1
- package/dist/cli/commands/start/http-server.js +80 -21
- package/dist/cli/commands/start/http-server.js.map +1 -1
- package/dist/cli/commands/start/index.d.ts.map +1 -1
- package/dist/cli/commands/start/index.js +62 -25
- package/dist/cli/commands/start/index.js.map +1 -1
- package/dist/cli/commands/start/startup-display.d.ts.map +1 -1
- package/dist/cli/commands/start/startup-display.js +51 -19
- package/dist/cli/commands/start/startup-display.js.map +1 -1
- package/dist/cli/commands/status.d.ts.map +1 -1
- package/dist/cli/commands/status.js +20 -1
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/daemon/daemon-state.d.ts +5 -0
- package/dist/cli/daemon/daemon-state.d.ts.map +1 -1
- package/dist/cli/daemon/daemon-state.js.map +1 -1
- package/dist/cli/helpers/build-agent-scaffold.d.ts +2 -12
- package/dist/cli/helpers/build-agent-scaffold.d.ts.map +1 -1
- package/dist/cli/helpers/build-agent-scaffold.js +15 -4
- package/dist/cli/helpers/build-agent-scaffold.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +277 -2
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/openai/schema-on-demand.d.ts +2 -0
- package/dist/cli/openai/schema-on-demand.d.ts.map +1 -1
- package/dist/cli/openai/schema-on-demand.js +9 -1
- package/dist/cli/openai/schema-on-demand.js.map +1 -1
- package/dist/cli/tui/views/rag-view.d.ts.map +1 -1
- package/dist/cli/tui/views/rag-view.js +17 -6
- package/dist/cli/tui/views/rag-view.js.map +1 -1
- package/dist/cli/tui/views/status-view.d.ts.map +1 -1
- package/dist/cli/tui/views/status-view.js +37 -17
- package/dist/cli/tui/views/status-view.js.map +1 -1
- package/dist/cli/wizards/api-keys-wizard.d.ts.map +1 -1
- package/dist/cli/wizards/api-keys-wizard.js +19 -0
- package/dist/cli/wizards/api-keys-wizard.js.map +1 -1
- package/dist/cli/wizards/init-llm-step.d.ts.map +1 -1
- package/dist/cli/wizards/init-llm-step.js +11 -2
- package/dist/cli/wizards/init-llm-step.js.map +1 -1
- package/dist/cli/wizards/setup-wizard.d.ts.map +1 -1
- package/dist/cli/wizards/setup-wizard.js +29 -18
- package/dist/cli/wizards/setup-wizard.js.map +1 -1
- package/dist/config/effective-agent-config.d.ts +24 -0
- package/dist/config/effective-agent-config.d.ts.map +1 -0
- package/dist/config/effective-agent-config.js +265 -0
- package/dist/config/effective-agent-config.js.map +1 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +11 -3
- package/dist/config/load.js.map +1 -1
- package/dist/config/persona-registry.d.ts +48 -0
- package/dist/config/persona-registry.d.ts.map +1 -0
- package/dist/config/persona-registry.js +253 -0
- package/dist/config/persona-registry.js.map +1 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +117 -8
- package/dist/config/schema.js.map +1 -1
- package/dist/core/AgentManifest.d.ts +15 -0
- package/dist/core/AgentManifest.d.ts.map +1 -1
- package/dist/core/AgentManifest.js +54 -2
- package/dist/core/AgentManifest.js.map +1 -1
- package/dist/core/PresetLoader.d.ts +6 -6
- package/dist/core/PresetLoader.d.ts.map +1 -1
- package/dist/core/PresetLoader.js +2 -0
- package/dist/core/PresetLoader.js.map +1 -1
- package/dist/discord/welcomeHandler.d.ts +5 -2
- package/dist/discord/welcomeHandler.d.ts.map +1 -1
- package/dist/discord/welcomeHandler.js +221 -71
- package/dist/discord/welcomeHandler.js.map +1 -1
- package/dist/discovery/WunderlandDiscoveryManager.d.ts +7 -0
- package/dist/discovery/WunderlandDiscoveryManager.d.ts.map +1 -1
- package/dist/discovery/WunderlandDiscoveryManager.js +11 -0
- package/dist/discovery/WunderlandDiscoveryManager.js.map +1 -1
- package/dist/public/index.d.ts +8 -2
- package/dist/public/index.d.ts.map +1 -1
- package/dist/public/index.js +92 -70
- package/dist/public/index.js.map +1 -1
- package/dist/rag/http-proxy.d.ts +16 -0
- package/dist/rag/http-proxy.d.ts.map +1 -0
- package/dist/rag/http-proxy.js +126 -0
- package/dist/rag/http-proxy.js.map +1 -0
- package/dist/rag/rag-client.d.ts +24 -0
- package/dist/rag/rag-client.d.ts.map +1 -1
- package/dist/rag/rag-client.js +11 -1
- package/dist/rag/rag-client.js.map +1 -1
- package/dist/rag/runtime-tools.d.ts +4 -0
- package/dist/rag/runtime-tools.d.ts.map +1 -0
- package/dist/rag/runtime-tools.js +112 -0
- package/dist/rag/runtime-tools.js.map +1 -0
- package/dist/runtime/request-persona.d.ts +38 -0
- package/dist/runtime/request-persona.d.ts.map +1 -0
- package/dist/runtime/request-persona.js +116 -0
- package/dist/runtime/request-persona.js.map +1 -0
- package/dist/runtime/system-prompt-builder.d.ts.map +1 -1
- package/dist/runtime/system-prompt-builder.js +27 -5
- package/dist/runtime/system-prompt-builder.js.map +1 -1
- package/dist/runtime/tool-calling.d.ts +3 -0
- package/dist/runtime/tool-calling.d.ts.map +1 -1
- package/dist/runtime/tool-calling.js +96 -4
- package/dist/runtime/tool-calling.js.map +1 -1
- package/dist/security/FolderPermissions.d.ts.map +1 -1
- package/dist/security/FolderPermissions.js +15 -0
- package/dist/security/FolderPermissions.js.map +1 -1
- package/dist/security/SafeGuardrails.d.ts +16 -1
- package/dist/security/SafeGuardrails.d.ts.map +1 -1
- package/dist/security/SafeGuardrails.js +55 -1
- package/dist/security/SafeGuardrails.js.map +1 -1
- package/dist/tools/RAGTool.d.ts +21 -1
- package/dist/tools/RAGTool.d.ts.map +1 -1
- package/dist/tools/RAGTool.js +41 -19
- package/dist/tools/RAGTool.js.map +1 -1
- package/dist/tools/RequestFolderAccessTool.d.ts +26 -0
- package/dist/tools/RequestFolderAccessTool.d.ts.map +1 -0
- package/dist/tools/RequestFolderAccessTool.js +121 -0
- package/dist/tools/RequestFolderAccessTool.js.map +1 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/package.json +6 -6
- package/presets/agents/code-reviewer/agent.config.json +32 -3
- package/presets/agents/creative-writer/agent.config.json +30 -3
- package/presets/agents/customer-support/agent.config.json +30 -4
- package/presets/agents/data-analyst/agent.config.json +31 -3
- package/presets/agents/devops-assistant/agent.config.json +29 -3
- package/presets/agents/personal-assistant/agent.config.json +42 -7
- package/presets/agents/research-assistant/agent.config.json +33 -3
- package/presets/agents/security-auditor/agent.config.json +31 -3
- package/dist/cli/commands/start.d.ts +0 -8
- package/dist/cli/commands/start.d.ts.map +0 -1
- package/dist/cli/commands/start.js +0 -2570
- package/dist/cli/commands/start.js.map +0 -1
- package/dist/scheduling/__tests__/CronScheduler.spec.d.ts +0 -9
- package/dist/scheduling/__tests__/CronScheduler.spec.d.ts.map +0 -1
- package/dist/scheduling/__tests__/CronScheduler.spec.js +0 -510
- package/dist/scheduling/__tests__/CronScheduler.spec.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-runtime.d.ts","sourceRoot":"","sources":["../../src/api/chat-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-runtime.d.ts","sourceRoot":"","sources":["../../src/api/chat-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAkBnF,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAElG,KAAK,UAAU,GAAG;IAChB,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5C,mEAAmE;IACnE,WAAW,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpE,+DAA+D;IAC/D,OAAO,EAAE,CACP,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;KAC1E,KACE,OAAO,CAAC,MAAM,CAAC,CAAC;CACtB,CAAC;AA6RF,wBAAsB,2BAA2B,CAAC,IAAI,EAAE;IACtD,WAAW,CAAC,EAAE,qBAAqB,CAAC;IACpC,GAAG,EAAE,mBAAmB,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACxF,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CA0LjC"}
|
package/dist/api/chat-runtime.js
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
* want the full server + HITL UI + channel runtime.
|
|
12
12
|
*/
|
|
13
13
|
import { filterToolMapByPolicy, getPermissionsForSet, normalizeRuntimePolicy, } from '../runtime/policy.js';
|
|
14
|
+
import { SkillRegistry, resolveDefaultSkillsDirs } from '../skills/index.js';
|
|
14
15
|
import { createEnvSecretResolver } from '../cli/security/env-secrets.js';
|
|
15
16
|
import { createSchemaOnDemandTools } from '../cli/openai/schema-on-demand.js';
|
|
16
17
|
import { runToolCallingTurn } from '../runtime/tool-calling.js';
|
|
@@ -19,7 +20,10 @@ import { resolveAgentWorkspaceBaseDir, sanitizeAgentWorkspaceId } from '../runti
|
|
|
19
20
|
import { resolveAgentDisplayName } from '../runtime/agent-identity.js';
|
|
20
21
|
import { buildAgenticSystemPrompt } from '../runtime/system-prompt-builder.js';
|
|
21
22
|
import { createWunderlandSeed, DEFAULT_INFERENCE_HIERARCHY, DEFAULT_SECURITY_PROFILE, DEFAULT_STEP_UP_AUTH_CONFIG, } from '../core/index.js';
|
|
23
|
+
import { buildDiscoveryOptionsFromAgentConfig, resolveEffectiveAgentConfig, } from '../config/effective-agent-config.js';
|
|
22
24
|
import { resolveExtensionsByNames } from '../core/PresetExtensionResolver.js';
|
|
25
|
+
import { WunderlandDiscoveryManager } from '../discovery/index.js';
|
|
26
|
+
import { createConfiguredRagTools } from '../rag/runtime-tools.js';
|
|
23
27
|
function consoleLogger() {
|
|
24
28
|
return {
|
|
25
29
|
debug: (msg, meta) => console.debug(msg, meta ?? ''),
|
|
@@ -28,6 +32,17 @@ function consoleLogger() {
|
|
|
28
32
|
error: (msg, meta) => console.error(msg, meta ?? ''),
|
|
29
33
|
};
|
|
30
34
|
}
|
|
35
|
+
function toToolInstance(tool) {
|
|
36
|
+
return {
|
|
37
|
+
name: tool.name,
|
|
38
|
+
description: tool.description,
|
|
39
|
+
inputSchema: tool.inputSchema,
|
|
40
|
+
hasSideEffects: tool.hasSideEffects === true,
|
|
41
|
+
category: typeof tool.category === 'string' && tool.category.trim() ? tool.category : 'productivity',
|
|
42
|
+
requiredCapabilities: tool.requiredCapabilities,
|
|
43
|
+
execute: tool.execute,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
31
46
|
function inferTurnApprovalMode(cfg) {
|
|
32
47
|
const raw = cfg?.hitl && typeof cfg.hitl === 'object' && !Array.isArray(cfg.hitl)
|
|
33
48
|
? cfg.hitl.turnApprovalMode ?? cfg.hitl.turnApproval
|
|
@@ -233,6 +248,11 @@ async function loadToolMapFromAgentConfig(opts) {
|
|
|
233
248
|
})) {
|
|
234
249
|
toolMap.set(metaTool.name, metaTool);
|
|
235
250
|
}
|
|
251
|
+
for (const ragTool of createConfiguredRagTools(cfg)) {
|
|
252
|
+
if (!ragTool?.name)
|
|
253
|
+
continue;
|
|
254
|
+
toolMap.set(ragTool.name, toToolInstance(ragTool));
|
|
255
|
+
}
|
|
236
256
|
// Enforce policy (tool access profile + permission set).
|
|
237
257
|
const filtered = filterToolMapByPolicy({ toolMap, toolAccessProfile: policy.toolAccessProfile, permissions });
|
|
238
258
|
return { toolMap: filtered.toolMap, preloadedPackages };
|
|
@@ -245,7 +265,12 @@ export async function createWunderlandChatRuntime(opts) {
|
|
|
245
265
|
warn: opts.logger?.warn ?? baseLogger.warn,
|
|
246
266
|
error: opts.logger?.error ?? baseLogger.error,
|
|
247
267
|
};
|
|
248
|
-
const
|
|
268
|
+
const workingDirectory = opts.workingDirectory ?? process.cwd();
|
|
269
|
+
const { agentConfig } = await resolveEffectiveAgentConfig({
|
|
270
|
+
agentConfig: opts.agentConfig ?? {},
|
|
271
|
+
workingDirectory,
|
|
272
|
+
logger,
|
|
273
|
+
});
|
|
249
274
|
const policy = normalizeRuntimePolicy(agentConfig);
|
|
250
275
|
const turnApprovalMode = inferTurnApprovalMode(agentConfig);
|
|
251
276
|
const strictToolNames = resolveStrictToolNames(agentConfig?.toolCalling?.strictToolNames);
|
|
@@ -257,8 +282,10 @@ export async function createWunderlandChatRuntime(opts) {
|
|
|
257
282
|
baseDir: opts.workspace?.baseDir ?? resolveAgentWorkspaceBaseDir(),
|
|
258
283
|
};
|
|
259
284
|
const seed = buildSeedFromAgentConfig(agentConfig, seedIdForWorkspace);
|
|
285
|
+
const activePersonaId = typeof agentConfig.selectedPersonaId === 'string' && agentConfig.selectedPersonaId.trim()
|
|
286
|
+
? agentConfig.selectedPersonaId.trim()
|
|
287
|
+
: seed.seedId;
|
|
260
288
|
const dangerouslySkipCommandSafety = false;
|
|
261
|
-
const workingDirectory = opts.workingDirectory ?? process.cwd();
|
|
262
289
|
const { toolMap } = await loadToolMapFromAgentConfig({
|
|
263
290
|
agentConfig,
|
|
264
291
|
policy,
|
|
@@ -267,6 +294,74 @@ export async function createWunderlandChatRuntime(opts) {
|
|
|
267
294
|
dangerouslySkipCommandSafety,
|
|
268
295
|
logger,
|
|
269
296
|
});
|
|
297
|
+
let skillsPrompt = '';
|
|
298
|
+
const skillEntries = [];
|
|
299
|
+
const skillRegistry = new SkillRegistry();
|
|
300
|
+
const dirs = resolveDefaultSkillsDirs({ cwd: workingDirectory });
|
|
301
|
+
if (dirs.length > 0) {
|
|
302
|
+
try {
|
|
303
|
+
await skillRegistry.loadFromDirs(dirs);
|
|
304
|
+
const snapshot = skillRegistry.buildSnapshot({ platform: process.platform, strict: true });
|
|
305
|
+
if (snapshot.prompt)
|
|
306
|
+
skillsPrompt = snapshot.prompt;
|
|
307
|
+
if (typeof skillRegistry.listAll === 'function') {
|
|
308
|
+
for (const entry of skillRegistry.listAll()) {
|
|
309
|
+
const skill = entry.skill ?? entry;
|
|
310
|
+
skillEntries.push({
|
|
311
|
+
name: skill.name ?? 'unknown',
|
|
312
|
+
description: skill.description ?? '',
|
|
313
|
+
content: skill.content ?? '',
|
|
314
|
+
});
|
|
315
|
+
}
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch (error) {
|
|
319
|
+
logger.warn?.('[wunderland/api] Failed to load filesystem skills', {
|
|
320
|
+
error: error instanceof Error ? error.message : String(error),
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
if (Array.isArray(agentConfig.skills) && agentConfig.skills.length > 0) {
|
|
325
|
+
try {
|
|
326
|
+
const { resolveSkillsByNames } = await import('../core/PresetSkillResolver.js');
|
|
327
|
+
const snapshot = await resolveSkillsByNames(agentConfig.skills);
|
|
328
|
+
if (snapshot?.prompt) {
|
|
329
|
+
skillsPrompt = [skillsPrompt, snapshot.prompt].filter(Boolean).join('\n\n');
|
|
330
|
+
}
|
|
331
|
+
if (Array.isArray(snapshot?.skills)) {
|
|
332
|
+
const existing = new Set(skillEntries.map((entry) => entry.name));
|
|
333
|
+
for (const skill of snapshot.skills) {
|
|
334
|
+
const name = typeof skill === 'string' ? skill : skill.name ?? 'unknown';
|
|
335
|
+
if (!existing.has(name)) {
|
|
336
|
+
skillEntries.push({ name, description: '', content: '' });
|
|
337
|
+
existing.add(name);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
logger.warn?.('[wunderland/api] Failed to resolve curated skills', {
|
|
344
|
+
error: error instanceof Error ? error.message : String(error),
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
const discoveryManager = new WunderlandDiscoveryManager(buildDiscoveryOptionsFromAgentConfig(agentConfig));
|
|
349
|
+
try {
|
|
350
|
+
await discoveryManager.initialize({
|
|
351
|
+
toolMap,
|
|
352
|
+
skillEntries: skillEntries.length > 0 ? skillEntries : undefined,
|
|
353
|
+
llmConfig: { providerId: opts.llm.providerId, apiKey: opts.llm.apiKey, baseUrl: opts.llm.baseUrl },
|
|
354
|
+
});
|
|
355
|
+
const metaTool = discoveryManager.getMetaTool();
|
|
356
|
+
if (metaTool) {
|
|
357
|
+
toolMap.set(metaTool.name, toToolInstance(metaTool));
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
catch (error) {
|
|
361
|
+
logger.warn?.('[wunderland/api] Discovery initialization failed (continuing without)', {
|
|
362
|
+
error: error instanceof Error ? error.message : String(error),
|
|
363
|
+
});
|
|
364
|
+
}
|
|
270
365
|
const sessions = new Map();
|
|
271
366
|
const autoApprove = opts.autoApproveToolCalls === true || policy.executionMode === 'autonomous';
|
|
272
367
|
const systemPrompt = buildAgenticSystemPrompt({
|
|
@@ -275,6 +370,7 @@ export async function createWunderlandChatRuntime(opts) {
|
|
|
275
370
|
mode: 'library',
|
|
276
371
|
lazyTools: agentConfig.lazyTools === true,
|
|
277
372
|
autoApproveToolCalls: autoApprove,
|
|
373
|
+
skillsPrompt: skillsPrompt || undefined,
|
|
278
374
|
turnApprovalMode,
|
|
279
375
|
});
|
|
280
376
|
if (!autoApprove && typeof opts.askPermission !== 'function') {
|
|
@@ -287,6 +383,7 @@ export async function createWunderlandChatRuntime(opts) {
|
|
|
287
383
|
};
|
|
288
384
|
const toolContext = {
|
|
289
385
|
agentId: workspace.agentId,
|
|
386
|
+
personaId: activePersonaId,
|
|
290
387
|
securityTier: policy.securityTier,
|
|
291
388
|
permissionSet: policy.permissionSet,
|
|
292
389
|
toolAccessProfile: policy.toolAccessProfile,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-runtime.js","sourceRoot":"","sources":["../../src/api/chat-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GAEvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAqB,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAyB9E,SAAS,aAAa;IACpB,OAAO;QACL,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QACpD,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QACjD,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;QAClD,KAAK,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;KACrD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAsC;IACnE,MAAM,GAAG,GACP,GAAG,EAAE,IAAI,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;QACnE,CAAC,CAAE,GAAG,CAAC,IAAY,CAAC,gBAAgB,IAAK,GAAG,CAAC,IAAY,CAAC,YAAY;QACtE,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,IAAI,CAAC,KAAK,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IACtD,IAAI,CAAC,KAAK,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IACxD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc,EAAE,QAAgB;IACpD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,SAAS,wBAAwB,CAAC,GAA0B,EAAE,eAAuB;IACnF,MAAM,MAAM,GACV,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC;IAC5F,MAAM,WAAW,GAAG,uBAAuB,CAAC;QAC1C,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,MAAM;QACN,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,MAAM,GAAG,GACP,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAC1F,MAAM,CAAC,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;IAEhC,OAAO,oBAAoB,CAAC;QAC1B,MAAM;QACN,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,GAAG;QAChB,YAAY,EAAE;YACZ,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC;YAC9C,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC;YAC/C,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC;YAC/C,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC;YACjD,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,EAAE,GAAG,CAAC;YACzD,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC;SACxC;QACD,gBAAgB,EAAE,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;QACrF,eAAe,EAAE,wBAAwB;QACzC,kBAAkB,EAAE,2BAA2B;QAC/C,gBAAgB,EAAE,2BAA2B;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,IAOzC;IACC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7G,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;IAC/D,MAAM,SAAS,GAAG,GAAG,EAAE,SAAS,KAAK,IAAI,CAAC;IAE1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAwB,CAAC;IAChD,MAAM,iBAAiB,GAAa,EAAE,CAAC;IAEvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,oBAAoB,GAAG,GAAG,CAAC,UAAU,CAAC;QAC5C,IAAI,cAAc,GAAa,EAAE,CAAC;QAClC,IAAI,eAAe,GAAa,EAAE,CAAC;QACnC,IAAI,sBAAsB,GAAa,EAAE,CAAC;QAE1C,IAAI,oBAAoB,EAAE,CAAC;YACzB,cAAc,GAAG,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YAClD,eAAe,GAAG,oBAAoB,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,sBAAsB,GAAG,oBAAoB,CAAC,YAAY,IAAI,EAAE,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,cAAc,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;YACvG,eAAe,GAAG,CAAC,iBAAiB,CAAC,CAAC;YACtC,sBAAsB,GAAG,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GACnB,GAAG,EAAE,kBAAkB,IAAI,OAAO,GAAG,CAAC,kBAAkB,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;gBAC7G,CAAC,CAAC,GAAG,CAAC,kBAAkB;gBACxB,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,gBAAgB,GAAwB;gBAC5C,cAAc,EAAE;oBACd,OAAO,EAAE;wBACP,UAAU,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,KAAK,EAAE;wBAChG,cAAc,EAAE;4BACd,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC;4BACpD,OAAO,EAAE,SAAS,CAAC,OAAO;4BAC1B,eAAe,EAAE,IAAI;4BACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC;yBACtC;wBACD,6BAA6B,EAAE,4BAA4B;qBAC5D;iBACF;gBACD,YAAY,EAAE;oBACZ,OAAO,EAAE;wBACP,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;wBAC3C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;wBAC1C,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;qBAC1C;iBACF;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,QAAQ,EAAE,IAAI;wBACd,cAAc,EACZ,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;4BACxC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;4BACrC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;qBAC7B;iBACF;gBACD,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,EAAE;gBACjE,cAAc,EAAE;oBACd,OAAO,EAAE;wBACP,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC;wBAC3C,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;wBAClD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;qBAC9C;iBACF;gBACD,iBAAiB,EAAE,EAAE,OAAO,EAAE,EAAE,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,EAAE;gBACvF,aAAa,EAAE,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,EAAE;aAC3E,CAAC;YAEF,SAAS,aAAa,CAAC,IAAS,EAAE,KAAU;gBAC1C,MAAM,GAAG,GAAG,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBACvD,GAAG,CAAC,OAAO,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;gBACxE,CAAC;gBACD,OAAO,GAAG,CAAC;YACb,CAAC;YAED,MAAM,eAAe,GAAwB,EAAE,GAAG,eAAe,EAAE,CAAC;YACpE,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAChE,eAAe,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;YACzE,CAAC;YAED,MAAM,UAAU,GACd,GAAG,EAAE,OAAO,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAC5E,CAAC,CAAE,GAAG,CAAC,OAAkC;gBACzC,CAAC,CAAC,SAAS,CAAC;YAChB,MAAM,SAAS,GAAG,uBAAuB,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC;YACzE,MAAM,OAAO,GAAG,IAAI,KAAK,CAAyB,EAAS,EAAE;gBAC3D,GAAG,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;aACjF,CAAC,CAAC;YAEH,MAAM,kBAAkB,GAAG,KAAK,CAAC,OAAO,CAAE,GAAW,EAAE,QAAQ,CAAC;gBAC9D,CAAC,CAAG,GAAW,CAAC,QAAsB;gBACtC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAE,GAAW,EAAE,iBAAiB,CAAC;oBAC9C,CAAC,CAAG,GAAW,CAAC,iBAA+B;oBAC/C,CAAC,CAAC,EAAE,CAAC;YACT,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAC/B,IAAI,GAAG,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAC3F,CAAC;YAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YACtE,MAAM,eAAe,GACnB,WAAW,CAAC,OAAO,CAAC,YAAY,KAAK,IAAI;gBACvC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,YAAY,KAAK,IAAI,CAAC;gBACvH,CAAC,CAAC,EAAE,CAAC;YAET,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAC7C,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,EAAE,OAAO,EAAE,OAAc,EAAE,QAAQ,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,EAAE,CAC7F,CAAC;YAEF,MAAM,KAAK,GAAU,EAAE,CAAC;YAExB,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,IAAK,SAAiB,EAAE,OAAO,KAAK,KAAK;wBAAE,SAAS;oBAEpD,IAAI,OAAQ,SAAiB,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;wBACtD,MAAM,IAAI,GAAG,MAAO,SAAiB,CAAC,OAAO,EAAE,CAAC;wBAChD,IAAI,IAAI,EAAE,CAAC;4BACT,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;4BACjB,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;gCAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACxE,CAAC;wBACD,SAAS;oBACX,CAAC;oBAED,IAAI,WAA+B,CAAC;oBACpC,IAAI,SAAS,IAAK,SAAiB;wBAAE,WAAW,GAAI,SAAiB,CAAC,OAAiB,CAAC;yBACnF,IAAI,QAAQ,IAAK,SAAiB;wBAAE,WAAW,GAAI,SAAiB,CAAC,MAAgB,CAAC;oBAC3F,IAAI,CAAC,WAAW;wBAAE,SAAS;oBAE3B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,mBAAmB,IAAI,SAAS,CAAC,OAAO,EAAE,mBAAmB,IAAI,SAAS,CAAC,OAAO,CAAC;oBAC7G,IAAI,OAAO,OAAO,KAAK,UAAU;wBAAE,SAAS;oBAC5C,MAAM,OAAO,GAAS,SAAiB,CAAC,OAAO,IAAI,EAAE,CAAC;oBACtD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;oBACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACjB,IAAI,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ;wBAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,EAAE,CAAC,gDAAgD,EAAE;wBAC9D,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;qBACxD,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,GAAG,CACf,KAAK;iBACF,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CACd,OAAO,CAAC,EAAE,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAC1F;iBACA,MAAM,CAAC,OAAO,CAAC,CACnB,CAAC;YAEF,MAAM,KAAK,GAAG,KAAK;iBAChB,OAAO,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;iBAC7G,MAAM,CAAC,OAAO,CAAmB,CAAC;YAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,EAAE,IAAI;oBAAE,SAAS;gBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,EAAE,CAAC,6EAA6E,EAAE;gBAC3F,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,KAAK,MAAM,QAAQ,IAAI,yBAAyB,CAAC;QAC/C,OAAO;QACP,eAAe,EAAE;YACf,gBAAgB;YAChB,eAAe,EAAE,IAAI;YACrB,4BAA4B;YAC5B,cAAc,EAAE,EAAE,OAAO,EAAE,wBAAwB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;SACrG;QACD,sBAAsB,EAAE,iBAAiB;QACzC,aAAa,EAAE,IAAI;QACnB,MAAM,EAAE,OAAO;KAChB,CAAC,EAAE,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,yDAAyD;IACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9G,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,IAkBjD;IACC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,MAAM,MAAM,GAAyB;QACnC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK;QAC7C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,UAAU,CAAC,IAAI;QAC1C,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,UAAU,CAAC,IAAI;QAC1C,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,UAAU,CAAC,KAAK;KAC9C,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,sBAAsB,CAAC,WAAkB,CAAC,CAAC;IAC1D,MAAM,gBAAgB,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAC5D,MAAM,eAAe,GAAG,sBAAsB,CAAE,WAAmB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;IAEnG,MAAM,kBAAkB,GACtB,OAAO,WAAW,CAAC,MAAM,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;QACjE,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE;QAC3B,CAAC,CAAC,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;IAE3B,MAAM,SAAS,GAAwB;QACrC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,kBAAkB,CAAC;QAChF,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,IAAI,4BAA4B,EAAE;KACnE,CAAC;IAEF,MAAM,IAAI,GAAG,wBAAwB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACvE,MAAM,4BAA4B,GAAG,KAAK,CAAC;IAC3C,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEhE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,0BAA0B,CAAC;QACnD,WAAW;QACX,MAAM;QACN,SAAS;QACT,gBAAgB;QAChB,4BAA4B;QAC5B,MAAM;KACP,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA0C,CAAC;IACnE,MAAM,WAAW,GACf,IAAI,CAAC,oBAAoB,KAAK,IAAI,IAAI,MAAM,CAAC,aAAa,KAAK,YAAY,CAAC;IAC9E,MAAM,YAAY,GAAG,wBAAwB,CAAC;QAC5C,IAAI;QACJ,MAAM;QACN,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,WAAW,CAAC,SAAS,KAAK,IAAI;QACzC,oBAAoB,EAAE,WAAW;QACjC,gBAAgB;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,KAAK,EAAE,IAAkB,EAAE,IAA6B,EAAE,EAAE;QAChF,IAAI,WAAW;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAQ,IAAI,CAAC,aAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,WAAW,GAA4B;QAC3C,OAAO,EAAE,SAAS,CAAC,OAAO;QAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,eAAe;QACf,GAAG,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACtF,gBAAgB;QAChB,cAAc,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE;QAC1E,gBAAgB;KACjB,CAAC;IAEF,OAAO;QACL,MAAM;QACN,OAAO;QACP,WAAW,EAAE,CAAC,SAAkB,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,KAAa,EAAE,OAAO,EAAE,EAAE;YACxC,MAAM,GAAG,GAAG,OAAO,EAAE,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAClG,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;gBACnC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE;aAC1C,CAAC;YAEF,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAE7D,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC;gBACrC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU;gBAC/B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM;gBACvB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK;gBACrB,QAAQ,EAAE,OAAO;gBACjB,OAAO;gBACP,WAAW;gBACX,SAAS,EAAE,CAAC;gBACZ,0BAA0B,EAAE,KAAK;gBACjC,eAAe;gBACf,aAAa;gBACb,UAAU,EAAE,OAAO,EAAE,UAAU;gBAC/B,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,OAAO;gBACzB,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ;aAC5B,CAAC,CAAC;YAEH,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"chat-runtime.js","sourceRoot":"","sources":["../../src/api/chat-runtime.ts"],"names":[],"mappings":"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"}
|
package/dist/api/server.d.ts
CHANGED
|
@@ -34,6 +34,8 @@ export type WunderlandServerHandle = {
|
|
|
34
34
|
canUseLLM: boolean;
|
|
35
35
|
toolCount: number;
|
|
36
36
|
channelCount: number;
|
|
37
|
+
selectedPersonaId?: string;
|
|
38
|
+
personaCount: number;
|
|
37
39
|
pairingEnabled: boolean;
|
|
38
40
|
policy: NormalizedRuntimePolicy;
|
|
39
41
|
autoApproveToolCalls: boolean;
|
package/dist/api/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/api/server.ts"],"names":[],"mappings":"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"}
|
package/dist/api/server.js
CHANGED
|
@@ -21,6 +21,7 @@ import { SkillRegistry, resolveDefaultSkillsDirs } from '../skills/index.js';
|
|
|
21
21
|
import { resolveExtensionsByNames } from '../core/PresetExtensionResolver.js';
|
|
22
22
|
import { PairingManager } from '../pairing/PairingManager.js';
|
|
23
23
|
import { createWunderlandSeed, DEFAULT_INFERENCE_HIERARCHY, DEFAULT_SECURITY_PROFILE, DEFAULT_STEP_UP_AUTH_CONFIG, } from '../core/index.js';
|
|
24
|
+
import { buildDiscoveryOptionsFromAgentConfig, resolveEffectiveAgentConfig, } from '../config/effective-agent-config.js';
|
|
24
25
|
import { loadDotEnvIntoProcessUpward } from '../cli/config/env-manager.js';
|
|
25
26
|
import { resolveAgentWorkspaceBaseDir, sanitizeAgentWorkspaceId } from '../runtime/workspace.js';
|
|
26
27
|
import { runToolCallingTurn, safeJsonStringify, } from '../runtime/tool-calling.js';
|
|
@@ -31,7 +32,11 @@ import { startWunderlandOtel, shutdownWunderlandOtel } from '../observability/ot
|
|
|
31
32
|
import { filterToolMapByPolicy, getPermissionsForSet, normalizeRuntimePolicy, } from '../runtime/policy.js';
|
|
32
33
|
import { createEnvSecretResolver } from '../cli/security/env-secrets.js';
|
|
33
34
|
import { resolveAgentDisplayName } from '../runtime/agent-identity.js';
|
|
35
|
+
import { buildPersonaSessionKey, createRequestScopedToolMap, extractRequestedPersonaId, resolveRequestScopedPersonaRuntime, } from '../runtime/request-persona.js';
|
|
34
36
|
import { buildAgenticSystemPrompt } from '../runtime/system-prompt-builder.js';
|
|
37
|
+
import { WunderlandDiscoveryManager } from '../discovery/index.js';
|
|
38
|
+
import { createConfiguredRagTools } from '../rag/runtime-tools.js';
|
|
39
|
+
import { maybeProxyAgentosRagRequest } from '../rag/http-proxy.js';
|
|
35
40
|
function consoleLogger() {
|
|
36
41
|
return {
|
|
37
42
|
debug: (msg, meta) => console.debug(msg, meta ?? ''),
|
|
@@ -40,6 +45,17 @@ function consoleLogger() {
|
|
|
40
45
|
error: (msg, meta) => console.error(msg, meta ?? ''),
|
|
41
46
|
};
|
|
42
47
|
}
|
|
48
|
+
function toToolInstance(tool) {
|
|
49
|
+
return {
|
|
50
|
+
name: tool.name,
|
|
51
|
+
description: tool.description,
|
|
52
|
+
inputSchema: tool.inputSchema,
|
|
53
|
+
hasSideEffects: tool.hasSideEffects === true,
|
|
54
|
+
category: typeof tool.category === 'string' && tool.category.trim() ? tool.category : 'productivity',
|
|
55
|
+
requiredCapabilities: tool.requiredCapabilities,
|
|
56
|
+
execute: tool.execute,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
43
59
|
// ── HTTP helpers ────────────────────────────────────────────────────────────
|
|
44
60
|
function readBody(req) {
|
|
45
61
|
return new Promise((resolve, reject) => {
|
|
@@ -489,7 +505,19 @@ export async function createWunderlandServer(opts) {
|
|
|
489
505
|
}
|
|
490
506
|
cfg = JSON.parse(await readFile(configPath, 'utf8'));
|
|
491
507
|
}
|
|
508
|
+
const rawAgentConfig = JSON.parse(JSON.stringify(cfg));
|
|
509
|
+
const effectiveConfigResult = await resolveEffectiveAgentConfig({
|
|
510
|
+
agentConfig: cfg,
|
|
511
|
+
workingDirectory,
|
|
512
|
+
logger,
|
|
513
|
+
});
|
|
514
|
+
cfg = effectiveConfigResult.agentConfig;
|
|
515
|
+
const selectedPersona = effectiveConfigResult.selectedPersona;
|
|
516
|
+
const availablePersonas = effectiveConfigResult.availablePersonas;
|
|
492
517
|
const seedId = String(cfg.seedId || 'seed_local_agent');
|
|
518
|
+
const activePersonaId = typeof cfg.selectedPersonaId === 'string' && cfg.selectedPersonaId.trim()
|
|
519
|
+
? cfg.selectedPersonaId.trim()
|
|
520
|
+
: seedId;
|
|
493
521
|
const displayName = resolveAgentDisplayName({
|
|
494
522
|
displayName: cfg.displayName,
|
|
495
523
|
agentName: cfg.agentName,
|
|
@@ -845,6 +873,11 @@ export async function createWunderlandServer(opts) {
|
|
|
845
873
|
})) {
|
|
846
874
|
toolMap.set(meta.name, meta);
|
|
847
875
|
}
|
|
876
|
+
for (const ragTool of createConfiguredRagTools(cfg)) {
|
|
877
|
+
if (!ragTool?.name)
|
|
878
|
+
continue;
|
|
879
|
+
toolMap.set(ragTool.name, toToolInstance(ragTool));
|
|
880
|
+
}
|
|
848
881
|
const filtered = filterToolMapByPolicy({
|
|
849
882
|
toolMap,
|
|
850
883
|
toolAccessProfile: policy.toolAccessProfile,
|
|
@@ -854,6 +887,7 @@ export async function createWunderlandServer(opts) {
|
|
|
854
887
|
for (const [k, v] of filtered.toolMap.entries())
|
|
855
888
|
toolMap.set(k, v);
|
|
856
889
|
let skillsPrompt = '';
|
|
890
|
+
const skillEntries = [];
|
|
857
891
|
if (enableSkills) {
|
|
858
892
|
const parts = [];
|
|
859
893
|
const skillRegistry = new SkillRegistry();
|
|
@@ -863,6 +897,16 @@ export async function createWunderlandServer(opts) {
|
|
|
863
897
|
const snapshot = skillRegistry.buildSnapshot({ platform: process.platform, strict: true });
|
|
864
898
|
if (snapshot.prompt)
|
|
865
899
|
parts.push(snapshot.prompt);
|
|
900
|
+
if (typeof skillRegistry.listAll === 'function') {
|
|
901
|
+
for (const entry of skillRegistry.listAll()) {
|
|
902
|
+
const skill = entry.skill ?? entry;
|
|
903
|
+
skillEntries.push({
|
|
904
|
+
name: skill.name ?? 'unknown',
|
|
905
|
+
description: skill.description ?? '',
|
|
906
|
+
content: skill.content ?? '',
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
}
|
|
866
910
|
}
|
|
867
911
|
if (Array.isArray(cfg.skills) && cfg.skills.length > 0) {
|
|
868
912
|
try {
|
|
@@ -870,6 +914,16 @@ export async function createWunderlandServer(opts) {
|
|
|
870
914
|
const presetSnapshot = await resolveSkillsByNames(cfg.skills);
|
|
871
915
|
if (presetSnapshot?.prompt)
|
|
872
916
|
parts.push(presetSnapshot.prompt);
|
|
917
|
+
if (Array.isArray(presetSnapshot?.skills)) {
|
|
918
|
+
const existing = new Set(skillEntries.map((entry) => entry.name));
|
|
919
|
+
for (const skill of presetSnapshot.skills) {
|
|
920
|
+
const name = typeof skill === 'string' ? skill : skill.name ?? 'unknown';
|
|
921
|
+
if (!existing.has(name)) {
|
|
922
|
+
skillEntries.push({ name, description: '', content: '' });
|
|
923
|
+
existing.add(name);
|
|
924
|
+
}
|
|
925
|
+
}
|
|
926
|
+
}
|
|
873
927
|
}
|
|
874
928
|
catch {
|
|
875
929
|
// optional
|
|
@@ -877,6 +931,23 @@ export async function createWunderlandServer(opts) {
|
|
|
877
931
|
}
|
|
878
932
|
skillsPrompt = parts.filter(Boolean).join('\n\n');
|
|
879
933
|
}
|
|
934
|
+
const discoveryManager = new WunderlandDiscoveryManager(buildDiscoveryOptionsFromAgentConfig(cfg));
|
|
935
|
+
try {
|
|
936
|
+
await discoveryManager.initialize({
|
|
937
|
+
toolMap,
|
|
938
|
+
skillEntries: skillEntries.length > 0 ? skillEntries : undefined,
|
|
939
|
+
llmConfig: { providerId: providerId, apiKey: llmApiKey, baseUrl: llmBaseUrl },
|
|
940
|
+
});
|
|
941
|
+
const metaTool = discoveryManager.getMetaTool();
|
|
942
|
+
if (metaTool) {
|
|
943
|
+
toolMap.set(metaTool.name, toToolInstance(metaTool));
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
catch (err) {
|
|
947
|
+
logger.warn?.('[wunderland/api] Discovery initialization failed (continuing without)', {
|
|
948
|
+
error: err instanceof Error ? err.message : String(err),
|
|
949
|
+
});
|
|
950
|
+
}
|
|
880
951
|
const systemPrompt = buildAgenticSystemPrompt({
|
|
881
952
|
seed,
|
|
882
953
|
policy,
|
|
@@ -1073,7 +1144,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1073
1144
|
scope: {
|
|
1074
1145
|
sessionId: sessionKey,
|
|
1075
1146
|
userId: senderId,
|
|
1076
|
-
personaId:
|
|
1147
|
+
personaId: activePersonaId,
|
|
1077
1148
|
tenantId: tenantId || undefined,
|
|
1078
1149
|
},
|
|
1079
1150
|
});
|
|
@@ -1085,7 +1156,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1085
1156
|
if (canUseLLM) {
|
|
1086
1157
|
const toolContext = {
|
|
1087
1158
|
gmiId: `wunderland-channel-${sessionKey}`,
|
|
1088
|
-
personaId:
|
|
1159
|
+
personaId: activePersonaId,
|
|
1089
1160
|
userContext: {
|
|
1090
1161
|
userId: senderId,
|
|
1091
1162
|
platform,
|
|
@@ -1203,7 +1274,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1203
1274
|
scope: {
|
|
1204
1275
|
sessionId: sessionKey,
|
|
1205
1276
|
userId: senderId,
|
|
1206
|
-
personaId:
|
|
1277
|
+
personaId: activePersonaId,
|
|
1207
1278
|
tenantId: tenantId || undefined,
|
|
1208
1279
|
},
|
|
1209
1280
|
degraded: adaptiveDecision.degraded || fallbackTriggered,
|
|
@@ -1259,14 +1330,37 @@ export async function createWunderlandServer(opts) {
|
|
|
1259
1330
|
const server = createServer(async (req, res) => {
|
|
1260
1331
|
try {
|
|
1261
1332
|
res.setHeader('Access-Control-Allow-Origin', '*');
|
|
1262
|
-
res.setHeader('Access-Control-Allow-Methods', 'GET,POST,OPTIONS');
|
|
1263
|
-
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, X-Wunderland-HITL-Secret, X-
|
|
1333
|
+
res.setHeader('Access-Control-Allow-Methods', 'GET,POST,PUT,PATCH,DELETE,OPTIONS');
|
|
1334
|
+
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization, X-Api-Key, X-Wunderland-HITL-Secret, X-Wunderland-Chat-Secret, X-Wunderland-Feed-Secret');
|
|
1264
1335
|
if (req.method === 'OPTIONS') {
|
|
1265
1336
|
res.writeHead(204);
|
|
1266
1337
|
res.end();
|
|
1267
1338
|
return;
|
|
1268
1339
|
}
|
|
1269
1340
|
const url = new URL(req.url || '/', `http://${req.headers.host || 'localhost'}`);
|
|
1341
|
+
if (await maybeProxyAgentosRagRequest({ req, res, url, agentConfig: cfg, logger })) {
|
|
1342
|
+
return;
|
|
1343
|
+
}
|
|
1344
|
+
if (req.method === 'GET' && url.pathname === '/api/agentos/personas') {
|
|
1345
|
+
sendJson(res, 200, {
|
|
1346
|
+
selectedPersonaId: activePersonaId !== seedId ? activePersonaId : undefined,
|
|
1347
|
+
selectedPersona: selectedPersona ?? undefined,
|
|
1348
|
+
personas: availablePersonas ?? [],
|
|
1349
|
+
});
|
|
1350
|
+
return;
|
|
1351
|
+
}
|
|
1352
|
+
if (req.method === 'GET' && url.pathname.startsWith('/api/agentos/personas/')) {
|
|
1353
|
+
const personaId = decodeURIComponent(url.pathname.slice('/api/agentos/personas/'.length));
|
|
1354
|
+
const persona = Array.isArray(availablePersonas)
|
|
1355
|
+
? availablePersonas.find((entry) => entry.id === personaId)
|
|
1356
|
+
: undefined;
|
|
1357
|
+
if (!persona) {
|
|
1358
|
+
sendJson(res, 404, { error: `Persona '${personaId}' not found.` });
|
|
1359
|
+
return;
|
|
1360
|
+
}
|
|
1361
|
+
sendJson(res, 200, { persona });
|
|
1362
|
+
return;
|
|
1363
|
+
}
|
|
1270
1364
|
if (url.pathname.startsWith('/pairing')) {
|
|
1271
1365
|
if (req.method === 'GET' && url.pathname === '/pairing') {
|
|
1272
1366
|
res.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
@@ -1433,7 +1527,13 @@ export async function createWunderlandServer(opts) {
|
|
|
1433
1527
|
return;
|
|
1434
1528
|
}
|
|
1435
1529
|
if (req.method === 'GET' && url.pathname === '/health') {
|
|
1436
|
-
sendJson(res, 200, {
|
|
1530
|
+
sendJson(res, 200, {
|
|
1531
|
+
ok: true,
|
|
1532
|
+
seedId,
|
|
1533
|
+
name: displayName,
|
|
1534
|
+
persona: selectedPersona ?? (activePersonaId !== seedId ? { id: activePersonaId } : undefined),
|
|
1535
|
+
personasAvailable: Array.isArray(availablePersonas) ? availablePersonas.length : 0,
|
|
1536
|
+
});
|
|
1437
1537
|
return;
|
|
1438
1538
|
}
|
|
1439
1539
|
if (req.method === 'POST' && url.pathname === '/chat') {
|
|
@@ -1449,6 +1549,40 @@ export async function createWunderlandServer(opts) {
|
|
|
1449
1549
|
let fallbackTriggered = false;
|
|
1450
1550
|
let toolCallCount = 0;
|
|
1451
1551
|
const sessionId = typeof parsed.sessionId === 'string' && parsed.sessionId.trim() ? parsed.sessionId.trim().slice(0, 128) : 'default';
|
|
1552
|
+
const requestedPersonaId = extractRequestedPersonaId(parsed);
|
|
1553
|
+
let requestActivePersonaId = activePersonaId;
|
|
1554
|
+
let requestSystemPrompt = systemPrompt;
|
|
1555
|
+
let requestToolMap = toolMap;
|
|
1556
|
+
if (requestedPersonaId && requestedPersonaId !== activePersonaId) {
|
|
1557
|
+
const personaRuntime = await resolveRequestScopedPersonaRuntime({
|
|
1558
|
+
rawAgentConfig,
|
|
1559
|
+
requestedPersonaId,
|
|
1560
|
+
workingDirectory,
|
|
1561
|
+
logger,
|
|
1562
|
+
policy,
|
|
1563
|
+
mode: 'server',
|
|
1564
|
+
lazyTools,
|
|
1565
|
+
autoApproveToolCalls,
|
|
1566
|
+
turnApprovalMode,
|
|
1567
|
+
skillsPrompt: skillsPrompt || undefined,
|
|
1568
|
+
channelNames: loadedChannelAdapters.length > 0
|
|
1569
|
+
? loadedChannelAdapters
|
|
1570
|
+
.map((adapter) => adapter.displayName || adapter.platform)
|
|
1571
|
+
.filter((name) => typeof name === 'string' && name.trim().length > 0)
|
|
1572
|
+
: undefined,
|
|
1573
|
+
});
|
|
1574
|
+
if (!personaRuntime) {
|
|
1575
|
+
sendJson(res, 400, {
|
|
1576
|
+
error: `Persona '${requestedPersonaId}' not found.`,
|
|
1577
|
+
availablePersonaIds: Array.isArray(availablePersonas) ? availablePersonas.map((persona) => persona.id) : [],
|
|
1578
|
+
});
|
|
1579
|
+
return;
|
|
1580
|
+
}
|
|
1581
|
+
requestActivePersonaId = personaRuntime.activePersonaId;
|
|
1582
|
+
requestSystemPrompt = personaRuntime.systemPrompt;
|
|
1583
|
+
requestToolMap = createRequestScopedToolMap(toolMap, personaRuntime.agentConfig);
|
|
1584
|
+
}
|
|
1585
|
+
const internalSessionId = buildPersonaSessionKey(sessionId, requestActivePersonaId);
|
|
1452
1586
|
const requestedToolFailureMode = typeof parsed.toolFailureMode === 'string' ? parsed.toolFailureMode : undefined;
|
|
1453
1587
|
const tenantId = (typeof parsed.tenantId === 'string' && parsed.tenantId.trim())
|
|
1454
1588
|
|| defaultTenantId;
|
|
@@ -1456,29 +1590,29 @@ export async function createWunderlandServer(opts) {
|
|
|
1456
1590
|
scope: {
|
|
1457
1591
|
sessionId,
|
|
1458
1592
|
userId: sessionId,
|
|
1459
|
-
personaId:
|
|
1593
|
+
personaId: requestActivePersonaId,
|
|
1460
1594
|
tenantId: tenantId || undefined,
|
|
1461
1595
|
},
|
|
1462
1596
|
requestedToolFailureMode,
|
|
1463
1597
|
});
|
|
1464
1598
|
if (parsed.reset === true) {
|
|
1465
|
-
sessions.delete(
|
|
1599
|
+
sessions.delete(internalSessionId);
|
|
1466
1600
|
}
|
|
1467
|
-
let messages = sessions.get(
|
|
1601
|
+
let messages = sessions.get(internalSessionId);
|
|
1468
1602
|
if (!messages) {
|
|
1469
|
-
messages = [{ role: 'system', content:
|
|
1470
|
-
sessions.set(
|
|
1603
|
+
messages = [{ role: 'system', content: requestSystemPrompt }];
|
|
1604
|
+
sessions.set(internalSessionId, messages);
|
|
1471
1605
|
}
|
|
1472
1606
|
if (messages.length > 200) {
|
|
1473
1607
|
messages = [messages[0], ...messages.slice(-120)];
|
|
1474
|
-
sessions.set(
|
|
1608
|
+
sessions.set(internalSessionId, messages);
|
|
1475
1609
|
}
|
|
1476
1610
|
messages.push({ role: 'user', content: message });
|
|
1477
1611
|
try {
|
|
1478
1612
|
if (canUseLLM) {
|
|
1479
1613
|
const toolContext = {
|
|
1480
|
-
gmiId: `wunderland-server-${
|
|
1481
|
-
personaId:
|
|
1614
|
+
gmiId: `wunderland-server-${internalSessionId}`,
|
|
1615
|
+
personaId: requestActivePersonaId,
|
|
1482
1616
|
userContext: {
|
|
1483
1617
|
userId: sessionId,
|
|
1484
1618
|
...(tenantId ? { organizationId: tenantId } : null),
|
|
@@ -1506,7 +1640,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1506
1640
|
apiKey: llmApiKey,
|
|
1507
1641
|
model,
|
|
1508
1642
|
messages,
|
|
1509
|
-
toolMap,
|
|
1643
|
+
toolMap: requestToolMap,
|
|
1510
1644
|
toolContext,
|
|
1511
1645
|
maxRounds: 8,
|
|
1512
1646
|
dangerouslySkipPermissions: autoApproveToolCalls,
|
|
@@ -1527,7 +1661,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1527
1661
|
severity: tool.hasSideEffects === true ? 'high' : 'low',
|
|
1528
1662
|
category: toAgentosApprovalCategory(tool),
|
|
1529
1663
|
agentId: seed.seedId,
|
|
1530
|
-
context: { toolName: tool.name, args, sessionId },
|
|
1664
|
+
context: { toolName: tool.name, args, sessionId, personaId: requestActivePersonaId },
|
|
1531
1665
|
reversible: tool.hasSideEffects !== true,
|
|
1532
1666
|
requestedAt: new Date(),
|
|
1533
1667
|
timeoutMs: 5 * 60_000,
|
|
@@ -1539,7 +1673,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1539
1673
|
: async ({ round, toolCalls }) => {
|
|
1540
1674
|
if (autoApproveToolCalls)
|
|
1541
1675
|
return true;
|
|
1542
|
-
const checkpointId = `checkpoint-${seedId}-${
|
|
1676
|
+
const checkpointId = `checkpoint-${seedId}-${internalSessionId}-${round}-${randomUUID()}`;
|
|
1543
1677
|
const completedWork = toolCalls.map((c) => {
|
|
1544
1678
|
const effect = c.hasSideEffects ? 'side effects' : 'read-only';
|
|
1545
1679
|
const preview = safeJsonStringify(c.args, 800);
|
|
@@ -1549,7 +1683,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1549
1683
|
const checkpointPromise = hitlManager
|
|
1550
1684
|
.checkpoint({
|
|
1551
1685
|
checkpointId,
|
|
1552
|
-
workflowId: `chat-${
|
|
1686
|
+
workflowId: `chat-${internalSessionId}`,
|
|
1553
1687
|
currentPhase: `tool-round-${round}`,
|
|
1554
1688
|
progress: Math.min(1, (round + 1) / 8),
|
|
1555
1689
|
completedWork,
|
|
@@ -1596,7 +1730,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1596
1730
|
scope: {
|
|
1597
1731
|
sessionId,
|
|
1598
1732
|
userId: sessionId,
|
|
1599
|
-
personaId:
|
|
1733
|
+
personaId: requestActivePersonaId,
|
|
1600
1734
|
tenantId: tenantId || undefined,
|
|
1601
1735
|
},
|
|
1602
1736
|
degraded: adaptiveDecision.degraded || fallbackTriggered,
|
|
@@ -1611,7 +1745,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1611
1745
|
});
|
|
1612
1746
|
}
|
|
1613
1747
|
}
|
|
1614
|
-
sendJson(res, 200, { reply });
|
|
1748
|
+
sendJson(res, 200, { reply, personaId: requestActivePersonaId });
|
|
1615
1749
|
return;
|
|
1616
1750
|
}
|
|
1617
1751
|
// ── Tool Execution API ──────────────────────────────────────
|
|
@@ -1654,7 +1788,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1654
1788
|
try {
|
|
1655
1789
|
const ctx = {
|
|
1656
1790
|
gmiId: 'tool-api',
|
|
1657
|
-
personaId:
|
|
1791
|
+
personaId: activePersonaId,
|
|
1658
1792
|
permissionSet: policy.permissionSet,
|
|
1659
1793
|
securityTier: policy.securityTier,
|
|
1660
1794
|
executionMode: 'autonomous',
|
|
@@ -1711,6 +1845,7 @@ export async function createWunderlandServer(opts) {
|
|
|
1711
1845
|
server.close((err) => (err ? reject(err) : resolve()));
|
|
1712
1846
|
});
|
|
1713
1847
|
await adaptiveRuntime.close();
|
|
1848
|
+
await discoveryManager.close().catch(() => undefined);
|
|
1714
1849
|
await shutdownWunderlandOtel();
|
|
1715
1850
|
};
|
|
1716
1851
|
logger.info?.('[wunderland/api] server started', {
|
|
@@ -1733,6 +1868,8 @@ export async function createWunderlandServer(opts) {
|
|
|
1733
1868
|
canUseLLM,
|
|
1734
1869
|
toolCount: toolMap.size,
|
|
1735
1870
|
channelCount: adapterByPlatform.size,
|
|
1871
|
+
selectedPersonaId: activePersonaId !== seedId ? activePersonaId : undefined,
|
|
1872
|
+
personaCount: availablePersonas?.length ?? 0,
|
|
1736
1873
|
pairingEnabled,
|
|
1737
1874
|
policy,
|
|
1738
1875
|
autoApproveToolCalls,
|