wunderland 0.92.1 → 0.93.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.
Files changed (31) hide show
  1. package/dist/cli/commands/start/agent-turn.d.ts +3 -1
  2. package/dist/cli/commands/start/agent-turn.d.ts.map +1 -1
  3. package/dist/cli/commands/start/agent-turn.js +36 -3
  4. package/dist/cli/commands/start/agent-turn.js.map +1 -1
  5. package/dist/cli/commands/start/channel-handler.d.ts +3 -0
  6. package/dist/cli/commands/start/channel-handler.d.ts.map +1 -1
  7. package/dist/cli/commands/start/channel-handler.js +40 -2
  8. package/dist/cli/commands/start/channel-handler.js.map +1 -1
  9. package/dist/cli/commands/start/extension-loader.d.ts.map +1 -1
  10. package/dist/cli/commands/start/extension-loader.js +48 -0
  11. package/dist/cli/commands/start/extension-loader.js.map +1 -1
  12. package/dist/cli/commands/start/guardrail-packs.d.ts +166 -0
  13. package/dist/cli/commands/start/guardrail-packs.d.ts.map +1 -0
  14. package/dist/cli/commands/start/guardrail-packs.js +326 -0
  15. package/dist/cli/commands/start/guardrail-packs.js.map +1 -0
  16. package/dist/cli/commands/start/hosted-events.d.ts +7 -0
  17. package/dist/cli/commands/start/hosted-events.d.ts.map +1 -1
  18. package/dist/cli/commands/start/hosted-events.js +4 -0
  19. package/dist/cli/commands/start/hosted-events.js.map +1 -1
  20. package/dist/cli/commands/start/http-server.d.ts.map +1 -1
  21. package/dist/cli/commands/start/http-server.js +1 -0
  22. package/dist/cli/commands/start/http-server.js.map +1 -1
  23. package/dist/cli/commands/start/routes/chat.d.ts.map +1 -1
  24. package/dist/cli/commands/start/routes/chat.js +58 -5
  25. package/dist/cli/commands/start/routes/chat.js.map +1 -1
  26. package/dist/cli/commands/start/routes/types.d.ts +3 -0
  27. package/dist/cli/commands/start/routes/types.d.ts.map +1 -1
  28. package/dist/cli/index.d.ts.map +1 -1
  29. package/dist/cli/index.js +1 -0
  30. package/dist/cli/index.js.map +1 -1
  31. package/package.json +6 -1
@@ -15,7 +15,9 @@
15
15
  * - persists the reply back onto the session the `/chat` reader also uses,
16
16
  * - sends the turn where `/chat` sends it: the primary provider's base URL
17
17
  * (`deps.llmBaseUrl`) and, when the primary fails, the fallback candidate
18
- * (`deps.openrouterFallback`).
18
+ * (`deps.openrouterFallback`),
19
+ * - runs the agent's guardrail packs (`deps.turnGuardrails`) on the message
20
+ * before any model sees it and on the reply before it is returned.
19
21
  */
20
22
  export interface AgentTurnRequest {
21
23
  /** Logical session id, e.g. "webhook:gh" | "cron:{jobId}". */
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAuBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CA4F1B"}
1
+ {"version":3,"file":"agent-turn.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;GAoBG;AAaH,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;IAClB,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,OAAO,CAAC;CACjB;AAuBD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,GAAG,EACT,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CA4H1B"}
@@ -16,13 +16,16 @@
16
16
  * - persists the reply back onto the session the `/chat` reader also uses,
17
17
  * - sends the turn where `/chat` sends it: the primary provider's base URL
18
18
  * (`deps.llmBaseUrl`) and, when the primary fails, the fallback candidate
19
- * (`deps.openrouterFallback`).
19
+ * (`deps.openrouterFallback`),
20
+ * - runs the agent's guardrail packs (`deps.turnGuardrails`) on the message
21
+ * before any model sees it and on the reply before it is returned.
20
22
  */
21
23
  import { runToolCallingTurn } from '../../../runtime/tools/tool-calling.js';
22
24
  import { buildPersonaSessionKey } from '../../../runtime/execution/request-persona.js';
23
25
  import { KeyedMutex } from '../../../runtime/execution/keyed-mutex.js';
24
26
  import { allowedToolNamesFor } from '../../../runtime/tools/tool-allow-list.js';
25
27
  import { startReportedTurn } from './hosted-events.js';
28
+ import { reportGuardEvents } from './guardrail-packs.js';
26
29
  import { askRemoteApproval, outwardApprovalFor } from './remote-approvals.js';
27
30
  /** One shared mutex per process: serializes turns that share a session key. */
28
31
  const sessionMutex = new KeyedMutex();
@@ -61,6 +64,28 @@ export async function runAgentTurn(deps, req) {
61
64
  if (deps.canUseLLM === false) {
62
65
  return { reply: '', toolCallCount, failed: true };
63
66
  }
67
+ // Guardrail packs judge the message before any model sees it. A block
68
+ // answers with the guard's message; the message enters no history.
69
+ const guardContext = {
70
+ userId: req.source,
71
+ sessionId: req.sessionId,
72
+ personaId,
73
+ metadata: { source: req.source },
74
+ };
75
+ let message = req.message;
76
+ let inputEvents = [];
77
+ if (deps.turnGuardrails) {
78
+ const verdict = await deps.turnGuardrails.checkInput(message, guardContext);
79
+ if (verdict.blocked) {
80
+ const blockedTurn = startReportedTurn(deps.eventsReporter);
81
+ reportGuardEvents(blockedTurn, verdict.events);
82
+ blockedTurn.finished();
83
+ deps.broadcastAgentEvent?.({ type: 'agent_reply', source: req.source, reply: verdict.text });
84
+ return { reply: verdict.text, toolCallCount, failed: false };
85
+ }
86
+ message = verdict.text;
87
+ inputEvents = verdict.events;
88
+ }
64
89
  // Load / seed / cap history the same way the /chat route does.
65
90
  let messages = deps.sessions.get(sessionKey);
66
91
  if (!messages) {
@@ -71,11 +96,12 @@ export async function runAgentTurn(deps, req) {
71
96
  messages = [messages[0], ...messages.slice(-HISTORY_KEEP_TAIL)];
72
97
  deps.sessions.set(sessionKey, messages);
73
98
  }
74
- messages.push({ role: 'user', content: req.message });
99
+ messages.push({ role: 'user', content: message });
75
100
  // Shallow copy so a mid-flight failure can't leave orphaned tool_calls in
76
101
  // the persisted history.
77
102
  const workingMessages = [...messages];
78
103
  const reportedTurn = startReportedTurn(deps.eventsReporter);
104
+ reportGuardEvents(reportedTurn, inputEvents);
79
105
  try {
80
106
  const reply = await runToolCallingTurn({
81
107
  providerId: deps.providerId,
@@ -119,9 +145,16 @@ export async function runAgentTurn(deps, req) {
119
145
  });
120
146
  },
121
147
  });
122
- const cleaned = typeof reply === 'string'
148
+ let cleaned = typeof reply === 'string'
123
149
  ? reply.replace(/<think>[\s\S]*?<\/think>\s*/g, '').trim()
124
150
  : String(reply ?? '');
151
+ // Guardrail packs judge the reply before it is returned; a block puts the
152
+ // guard's message in its place, and the history keeps that message.
153
+ if (deps.turnGuardrails && cleaned) {
154
+ const verdict = await deps.turnGuardrails.checkOutput(cleaned, guardContext);
155
+ reportGuardEvents(reportedTurn, verdict.events);
156
+ cleaned = verdict.text;
157
+ }
125
158
  messages.push({ role: 'assistant', content: cleaned });
126
159
  deps.broadcastAgentEvent?.({ type: 'agent_reply', source: req.source, reply: cleaned });
127
160
  return { reply: cleaned, toolCallCount, failed: false };
@@ -1 +1 @@
1
- {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-turn.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/agent-turn.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import type { ChannelMessage, IChannelAdapter } from '@framers/agentos';
8
8
  import { type ToolInstance } from '../../../runtime/tools/tool-calling.js';
9
9
  import { type EventsReporter } from './hosted-events.js';
10
10
  import { type RemoteApprovalHandler } from './remote-approvals.js';
11
+ import { type TurnGuardrails } from './guardrail-packs.js';
11
12
  /** Shared runtime context threaded through every channel helper. */
12
13
  export interface ChannelRuntimeCtx {
13
14
  loadedChannelAdapters: IChannelAdapter[];
@@ -60,6 +61,8 @@ export interface ChannelRuntimeCtx {
60
61
  adapterByPlatform: Map<string, IChannelAdapter>;
61
62
  /** Set when the events variables are; posts each turn's coarse events. */
62
63
  eventsReporter?: EventsReporter;
64
+ /** Set when the agent runs guardrail packs: they judge each message and each reply. */
65
+ turnGuardrails?: TurnGuardrails;
63
66
  }
64
67
  export declare function resolveCuratedPicksChannelId(cfg: any, discordService: any): Promise<string | undefined>;
65
68
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"channel-handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-handler.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ import * as fmt from '../../ui/format.js';
13
13
  import { baseUrlFor } from '../../../platform/config/provider-base-urls.js';
14
14
  import { isChannelAuthFailure, startReportedTurn } from './hosted-events.js';
15
15
  import { askRemoteApproval, outwardApprovalFor } from './remote-approvals.js';
16
+ import { replaceReplyInHistory, reportGuardEvents, visibleReplyText, } from './guardrail-packs.js';
16
17
  // ── Internal helpers ─────────────────────────────────────────────────────────
17
18
  function toAgentosApprovalCategory(tool) {
18
19
  const name = String(tool?.name || '').toLowerCase();
@@ -208,6 +209,29 @@ export async function handleInboundChannelMessage(ctx, message) {
208
209
  }
209
210
  }
210
211
  const sessionKey = `${platform}:${conversationId}`;
212
+ // Guardrail packs judge the message before any model sees it, capability
213
+ // discovery included. A block answers with the guard's message; the message
214
+ // enters no history.
215
+ const guardContext = {
216
+ userId: senderId,
217
+ sessionId: sessionKey,
218
+ conversationId,
219
+ metadata: { platform, conversationType: message.conversationType },
220
+ };
221
+ let turnText = text;
222
+ let inputGuardEvents = [];
223
+ if (ctx.turnGuardrails) {
224
+ const verdict = await ctx.turnGuardrails.checkInput(text, guardContext);
225
+ if (verdict.blocked) {
226
+ const blockedTurn = startReportedTurn(ctx.eventsReporter);
227
+ reportGuardEvents(blockedTurn, verdict.events);
228
+ blockedTurn.finished();
229
+ await sendChannelText(ctx, { platform, conversationId, text: verdict.text, replyToMessageId: message.messageId });
230
+ return;
231
+ }
232
+ turnText = verdict.text;
233
+ inputGuardEvents = verdict.events;
234
+ }
211
235
  // Explicit invocations (slash commands like /ask, /summarize, /deepdive) get a
212
236
  // fresh session each time to prevent stale conversation patterns from affecting
213
237
  // tool-calling behavior (e.g. model repeating "I don't have real-time data").
@@ -222,7 +246,7 @@ export async function handleInboundChannelMessage(ctx, message) {
222
246
  channelSessions.set(sessionKey, messages);
223
247
  }
224
248
  const userPrefix = message.conversationType === 'direct' ? '' : `[${getSenderLabel(message)}] `;
225
- messages.push({ role: 'user', content: `${userPrefix}${text}` });
249
+ messages.push({ role: 'user', content: `${userPrefix}${turnText}` });
226
250
  // Optional typing indicator while processing.
227
251
  try {
228
252
  const adapter = adapterByPlatform.get(platform);
@@ -236,7 +260,7 @@ export async function handleInboundChannelMessage(ctx, message) {
236
260
  // Capability discovery — inject tiered context AND build filtered tool set for this turn
237
261
  let discoveredToolNames = null;
238
262
  try {
239
- const discoveryResult = await discoveryManager.discoverForTurn(text);
263
+ const discoveryResult = await discoveryManager.discoverForTurn(turnText);
240
264
  if (discoveryResult) {
241
265
  for (let i = messages.length - 1; i >= 1; i--) {
242
266
  if (typeof messages[i]?.content === 'string' && String(messages[i].content).startsWith('[Capability Context]')) {
@@ -300,6 +324,7 @@ export async function handleInboundChannelMessage(ctx, message) {
300
324
  let fallbackTriggered = false;
301
325
  let toolCallCount = 0;
302
326
  const reportedTurn = startReportedTurn(ctx.eventsReporter);
327
+ reportGuardEvents(reportedTurn, inputGuardEvents);
303
328
  try {
304
329
  if (canUseLLM) {
305
330
  const toolContext = {
@@ -466,6 +491,19 @@ export async function handleInboundChannelMessage(ctx, message) {
466
491
  },
467
492
  getApiKey: oauthGetApiKey,
468
493
  });
494
+ // Guardrail packs judge the reply before it is sent; a block puts the
495
+ // guard's message in its place, in the history too.
496
+ if (ctx.turnGuardrails && typeof reply === 'string') {
497
+ const visible = visibleReplyText(reply);
498
+ if (visible) {
499
+ const verdict = await ctx.turnGuardrails.checkOutput(visible, guardContext);
500
+ reportGuardEvents(reportedTurn, verdict.events);
501
+ if (verdict.text !== visible) {
502
+ reply = verdict.text;
503
+ replaceReplyInHistory(messages, reply);
504
+ }
505
+ }
506
+ }
469
507
  }
470
508
  else {
471
509
  reply = `No LLM credentials configured. You said: ${text}`;
@@ -1 +1 @@
1
- {"version":3,"file":"channel-handler.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"channel-handler.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/channel-handler.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"extension-loader.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/extension-loader.ts"],"names":[],"mappings":"AACA;;;GAGG;AAiDH,wBAAsB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA+lB5D"}
1
+ {"version":3,"file":"extension-loader.d.ts","sourceRoot":"","sources":["../../../../src/cli/commands/start/extension-loader.ts"],"names":[],"mappings":"AACA;;;GAGG;AAwDH,wBAAsB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAmpB5D"}
@@ -21,6 +21,7 @@ import { HumanInteractionManager } from '@framers/agentos';
21
21
  import { MarkdownWorkingMemory, UpdateWorkingMemoryTool, ReadWorkingMemoryTool } from '@framers/agentos/memory';
22
22
  import { createSpeechExtensionEnvOverrides, getDefaultVoiceExtensions, } from '../../../channels/voice/speech-catalog.js';
23
23
  import { getRecommendations, formatRecommendations } from '../../extensions/recommender.js';
24
+ import { createTurnGuardrails, guardrailPackNamesFor, guardrailServicesOf, loadGuardrailPacks, takeGuardrailPacks, } from './guardrail-packs.js';
24
25
  function toToolInstance(tool) {
25
26
  return {
26
27
  name: tool.name,
@@ -48,6 +49,8 @@ export async function loadExtensions(ctx) {
48
49
  let schemaOnDemandOptions = {};
49
50
  const loadedChannelAdapters = [];
50
51
  const loadedHttpHandlers = [];
52
+ // Guardrail packs an extension list names; start loads them itself, below.
53
+ const listedGuardrailPacks = [];
51
54
  const hitlSecret = (() => {
52
55
  const fromCfg = (cfg?.hitl && typeof cfg.hitl === 'object' && !Array.isArray(cfg.hitl))
53
56
  ? String(cfg.hitl.secret || '').trim()
@@ -321,6 +324,12 @@ export async function loadExtensions(ctx) {
321
324
  const list = blockedChannels.map((c) => c.platform).join(', ');
322
325
  fmt.warning(`Permission set blocks some configured channels - skipping: ${list}`);
323
326
  }
327
+ // A guardrail pack the registry does not list loads with the guards below.
328
+ for (const list of [toolExtensions, voiceExtensions, productivityExtensions]) {
329
+ const { guardrails, rest } = takeGuardrailPacks(list);
330
+ listedGuardrailPacks.push(...guardrails);
331
+ list.splice(0, list.length, ...rest);
332
+ }
324
333
  const resolved = await resolveExtensionsByNames(toolExtensions, voiceExtensions, productivityExtensions, mergedOverrides, { secrets: secrets, channels: allowedChannels.length > 0 ? allowedChannels : 'none' });
325
334
  const packs = [];
326
335
  for (const packEntry of resolved.manifest.packs) {
@@ -399,6 +408,43 @@ export async function loadExtensions(ctx) {
399
408
  fmt.warning(`Extension loading failed, using empty toolset: ${msg}`);
400
409
  }
401
410
  }
411
+ // ── Guardrail packs ──────────────────────────────────────────────────────
412
+ // The packs extensions.guardrails, tools.allow.packs or an extension list
413
+ // names, loaded here with their options from extensionOverrides, whether or
414
+ // not tools load. A pack that does not load stops startup: an agent that
415
+ // asks for a guard never runs without it. Every loaded pack's guardrail
416
+ // descriptors run on each turn (agent-turn.ts, channel-handler.ts,
417
+ // routes/chat.ts); a guard adds no tool.
418
+ const guardrailPackNames = guardrailPackNamesFor({
419
+ cfg,
420
+ globalConfig,
421
+ allowedPacks: toolAllowList?.packs,
422
+ extensionLists: listedGuardrailPacks,
423
+ });
424
+ const guardrailOverrides = mergeExtensionOverrides((globalConfig?.extensionOverrides && typeof globalConfig.extensionOverrides === 'object')
425
+ ? globalConfig.extensionOverrides
426
+ : {}, (cfg?.extensionOverrides && typeof cfg.extensionOverrides === 'object')
427
+ ? cfg.extensionOverrides
428
+ : {});
429
+ const guardrailPacks = await loadGuardrailPacks({
430
+ names: guardrailPackNames,
431
+ overrides: guardrailOverrides,
432
+ host: {
433
+ providerId: ctx.providerId,
434
+ llmApiKey: ctx.llmApiKey,
435
+ getSecret: createEnvSecretResolver({
436
+ configSecrets: cfg?.secrets && typeof cfg.secrets === 'object' && !Array.isArray(cfg.secrets)
437
+ ? cfg.secrets
438
+ : undefined,
439
+ }),
440
+ },
441
+ logger: console,
442
+ });
443
+ // Guards run in this order, and the first block wins: the named packs first.
444
+ activePacks = [...guardrailPacks, ...activePacks];
445
+ const turnGuardrails = createTurnGuardrails(guardrailServicesOf(activePacks));
446
+ if (turnGuardrails)
447
+ fmt.ok(`Guardrails on every turn: ${turnGuardrails.ids.join(', ')}`);
402
448
  const toolMap = new Map();
403
449
  for (const tool of allTools) {
404
450
  if (!tool?.name)
@@ -561,6 +607,8 @@ export async function loadExtensions(ctx) {
561
607
  confineToAllowList();
562
608
  ctx.toolMap = toolMap;
563
609
  ctx.activePacks = activePacks;
610
+ ctx.guardrailPackNames = guardrailPackNames;
611
+ ctx.turnGuardrails = turnGuardrails;
564
612
  ctx.loadedChannelAdapters = loadedChannelAdapters;
565
613
  ctx.loadedHttpHandlers = loadedHttpHandlers;
566
614
  ctx.hitlSecret = hitlSecret;
@@ -1 +1 @@
1
- {"version":3,"file":"extension-loader.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/extension-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extension-loader.js","sourceRoot":"","sources":["../../../../src/cli/commands/start/extension-loader.ts"],"names":[],"mappings":"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"}