wunderland 0.92.1 → 0.94.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 (38) 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 +94 -1
  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/extensions/package-packs.d.ts +47 -0
  29. package/dist/cli/extensions/package-packs.d.ts.map +1 -0
  30. package/dist/cli/extensions/package-packs.js +72 -0
  31. package/dist/cli/extensions/package-packs.js.map +1 -0
  32. package/dist/cli/extensions/recommender.d.ts.map +1 -1
  33. package/dist/cli/extensions/recommender.js +7 -0
  34. package/dist/cli/extensions/recommender.js.map +1 -1
  35. package/dist/cli/index.d.ts.map +1 -1
  36. package/dist/cli/index.js +1 -0
  37. package/dist/cli/index.js.map +1 -1
  38. package/package.json +10 -4
@@ -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":"AACA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAIL,KAAK,YAAY,EAClB,MAAM,wCAAwC,CAAC;AAKhD,OAAO,EAA2C,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAClG,OAAO,EAAyC,KAAK,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC1G,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAC;AAY9B,oEAAoE;AACpE,MAAM,WAAW,iBAAiB;IAChC,qBAAqB,EAAE,eAAe,EAAE,CAAC;IACzC,WAAW,EAAE;QAAE,OAAO,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;QAAC,MAAM,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAA;SAAE,CAAA;KAAE,CAAC;IACzF,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACjC,qBAAqB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,cAAc,EAAE,OAAO,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0BAA0B,EAAE,OAAO,CAAC;IACpC,OAAO,EAAE,GAAG,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACpC,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,aAAa,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;IACjC,gBAAgB,EAAE,GAAG,CAAC;IACtB,eAAe,EAAE,GAAG,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACnC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,oBAAoB,EAAE,OAAO,CAAC;IAC9B,6EAA6E;IAC7E,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1F,6GAA6G;IAC7G,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,0BAA0B,EAAE,OAAO,CAAC;IACpC,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,GAAG,CAAC;IACxB,cAAc,EAAE,GAAG,CAAC;IACpB,WAAW,EAAE,GAAG,CAAC;IACjB,mBAAmB,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IAC5C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC;IACnB,GAAG,EAAE,GAAG,CAAC;IACT,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAChD,0EAA0E;IAC1E,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,uFAAuF;IACvF,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAsDD,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAgC7G;AAmCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAU/D;AAED;;;GAGG;AACH,wBAAsB,2BAA2B,CAAC,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuehH;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA+KjF;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA4BrE"}
@@ -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;AAyDH,wBAAsB,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CA+rB5D"}
@@ -13,6 +13,7 @@ import { confineToolMap, resolveToolAllowList } from '../../../runtime/tools/too
13
13
  import { createEnvSecretResolver } from '../../../security/env-secrets.js';
14
14
  import { normalizeExtensionList } from '../../extensions/aliases.js';
15
15
  import { mergeExtensionOverrides } from '../../extensions/settings.js';
16
+ import { packagePackEntries, takePackagePacks } from '../../extensions/package-packs.js';
16
17
  import { createConfiguredRagTools } from '../../../memory/rag/runtime-tools.js';
17
18
  import { createLocalMemoryReadTool } from './local-memory-tool.js';
18
19
  import { resolveHydeFromAgentConfig } from '../../../memory/rag/hyde-integration.js';
@@ -21,6 +22,7 @@ import { HumanInteractionManager } from '@framers/agentos';
21
22
  import { MarkdownWorkingMemory, UpdateWorkingMemoryTool, ReadWorkingMemoryTool } from '@framers/agentos/memory';
22
23
  import { createSpeechExtensionEnvOverrides, getDefaultVoiceExtensions, } from '../../../channels/voice/speech-catalog.js';
23
24
  import { getRecommendations, formatRecommendations } from '../../extensions/recommender.js';
25
+ import { createTurnGuardrails, guardrailPackNamesFor, guardrailServicesOf, loadGuardrailPacks, takeGuardrailPacks, } from './guardrail-packs.js';
24
26
  function toToolInstance(tool) {
25
27
  return {
26
28
  name: tool.name,
@@ -48,6 +50,11 @@ export async function loadExtensions(ctx) {
48
50
  let schemaOnDemandOptions = {};
49
51
  const loadedChannelAdapters = [];
50
52
  const loadedHttpHandlers = [];
53
+ // The HTTP handlers of package packs (package-packs.ts), which serve the pack's own tools to
54
+ // callers outside the agent's turns; checked against the tools the agent keeps, below.
55
+ const packageHttpHandlers = [];
56
+ // Guardrail packs an extension list names; start loads them itself, below.
57
+ const listedGuardrailPacks = [];
51
58
  const hitlSecret = (() => {
52
59
  const fromCfg = (cfg?.hitl && typeof cfg.hitl === 'object' && !Array.isArray(cfg.hitl))
53
60
  ? String(cfg.hitl.secret || '').trim()
@@ -321,9 +328,26 @@ export async function loadExtensions(ctx) {
321
328
  const list = blockedChannels.map((c) => c.platform).join(', ');
322
329
  fmt.warning(`Permission set blocks some configured channels - skipping: ${list}`);
323
330
  }
331
+ // A guardrail pack the registry does not list loads with the guards below.
332
+ for (const list of [toolExtensions, voiceExtensions, productivityExtensions]) {
333
+ const { guardrails, rest } = takeGuardrailPacks(list);
334
+ listedGuardrailPacks.push(...guardrails);
335
+ list.splice(0, list.length, ...rest);
336
+ }
337
+ // A pack the registry does not list (package-packs.ts) is imported from npm by its package below.
338
+ const packageNames = [];
339
+ for (const list of [toolExtensions, voiceExtensions, productivityExtensions]) {
340
+ const { packagePacks, rest } = takePackagePacks(list);
341
+ packageNames.push(...packagePacks);
342
+ list.splice(0, list.length, ...rest);
343
+ }
324
344
  const resolved = await resolveExtensionsByNames(toolExtensions, voiceExtensions, productivityExtensions, mergedOverrides, { secrets: secrets, channels: allowedChannels.length > 0 ? allowedChannels : 'none' });
345
+ // A new list: the resolver can answer a shared empty manifest, which must not be changed.
346
+ const packageEntries = packagePackEntries(packageNames, mergedOverrides);
347
+ const manifestPacks = [...resolved.manifest.packs, ...packageEntries];
325
348
  const packs = [];
326
- for (const packEntry of resolved.manifest.packs) {
349
+ const packagePacks = new Set();
350
+ for (const packEntry of manifestPacks) {
327
351
  if (packEntry?.enabled === false)
328
352
  continue;
329
353
  try {
@@ -353,6 +377,8 @@ export async function loadExtensions(ctx) {
353
377
  const options = packEntry.options || {};
354
378
  const pack = await factory({ options, logger: console, getSecret });
355
379
  packs.push(pack);
380
+ if (packageEntries.includes(packEntry))
381
+ packagePacks.add(pack);
356
382
  if (typeof pack?.name === 'string')
357
383
  preloadedPackages.push(pack.name);
358
384
  }
@@ -388,6 +414,20 @@ export async function loadExtensions(ctx) {
388
414
  .map((d) => d.payload)
389
415
  .filter(Boolean);
390
416
  loadedHttpHandlers.push(...httpHandlers);
417
+ for (const pack of packagePacks) {
418
+ const descriptors = pack?.descriptors || [];
419
+ const handlers = descriptors
420
+ .filter((d) => d?.kind === 'http-handler')
421
+ .map((d) => d.payload)
422
+ .filter(Boolean);
423
+ if (handlers.length === 0)
424
+ continue;
425
+ const tools = descriptors
426
+ .filter((d) => d?.kind === 'tool')
427
+ .map((d) => d?.payload?.name)
428
+ .filter((name) => typeof name === 'string');
429
+ packageHttpHandlers.push({ pack: String(pack?.name ?? 'package pack'), tools, handlers });
430
+ }
391
431
  // Extract tools from packs
392
432
  allTools = packs
393
433
  .flatMap((p) => (p?.descriptors || []).filter((d) => d?.kind === 'tool').map((d) => d.payload))
@@ -399,6 +439,43 @@ export async function loadExtensions(ctx) {
399
439
  fmt.warning(`Extension loading failed, using empty toolset: ${msg}`);
400
440
  }
401
441
  }
442
+ // ── Guardrail packs ──────────────────────────────────────────────────────
443
+ // The packs extensions.guardrails, tools.allow.packs or an extension list
444
+ // names, loaded here with their options from extensionOverrides, whether or
445
+ // not tools load. A pack that does not load stops startup: an agent that
446
+ // asks for a guard never runs without it. Every loaded pack's guardrail
447
+ // descriptors run on each turn (agent-turn.ts, channel-handler.ts,
448
+ // routes/chat.ts); a guard adds no tool.
449
+ const guardrailPackNames = guardrailPackNamesFor({
450
+ cfg,
451
+ globalConfig,
452
+ allowedPacks: toolAllowList?.packs,
453
+ extensionLists: listedGuardrailPacks,
454
+ });
455
+ const guardrailOverrides = mergeExtensionOverrides((globalConfig?.extensionOverrides && typeof globalConfig.extensionOverrides === 'object')
456
+ ? globalConfig.extensionOverrides
457
+ : {}, (cfg?.extensionOverrides && typeof cfg.extensionOverrides === 'object')
458
+ ? cfg.extensionOverrides
459
+ : {});
460
+ const guardrailPacks = await loadGuardrailPacks({
461
+ names: guardrailPackNames,
462
+ overrides: guardrailOverrides,
463
+ host: {
464
+ providerId: ctx.providerId,
465
+ llmApiKey: ctx.llmApiKey,
466
+ getSecret: createEnvSecretResolver({
467
+ configSecrets: cfg?.secrets && typeof cfg.secrets === 'object' && !Array.isArray(cfg.secrets)
468
+ ? cfg.secrets
469
+ : undefined,
470
+ }),
471
+ },
472
+ logger: console,
473
+ });
474
+ // Guards run in this order, and the first block wins: the named packs first.
475
+ activePacks = [...guardrailPacks, ...activePacks];
476
+ const turnGuardrails = createTurnGuardrails(guardrailServicesOf(activePacks));
477
+ if (turnGuardrails)
478
+ fmt.ok(`Guardrails on every turn: ${turnGuardrails.ids.join(', ')}`);
402
479
  const toolMap = new Map();
403
480
  for (const tool of allTools) {
404
481
  if (!tool?.name)
@@ -559,8 +636,24 @@ export async function loadExtensions(ctx) {
559
636
  // The wallet pack and the folder-access tool register after the policy
560
637
  // filter; the list holds for them too.
561
638
  confineToAllowList();
639
+ // A package pack's HTTP handler (wildweave-film's MCP endpoint) serves all of the pack's tools,
640
+ // and tools.allow, the tool access profile and the permission set do not reach its callers. It
641
+ // is mounted only when they keep every one of those tools.
642
+ for (const served of packageHttpHandlers) {
643
+ const dropped = served.tools.filter((name) => !toolMap.has(name));
644
+ if (dropped.length === 0)
645
+ continue;
646
+ for (const handler of served.handlers) {
647
+ const at = loadedHttpHandlers.indexOf(handler);
648
+ if (at !== -1)
649
+ loadedHttpHandlers.splice(at, 1);
650
+ }
651
+ fmt.note(`${served.pack}: HTTP endpoint not mounted; the agent's tool settings drop ${dropped.length} of its ${served.tools.length} tools`);
652
+ }
562
653
  ctx.toolMap = toolMap;
563
654
  ctx.activePacks = activePacks;
655
+ ctx.guardrailPackNames = guardrailPackNames;
656
+ ctx.turnGuardrails = turnGuardrails;
564
657
  ctx.loadedChannelAdapters = loadedChannelAdapters;
565
658
  ctx.loadedHttpHandlers = loadedHttpHandlers;
566
659
  ctx.hitlSecret = hitlSecret;