@framers/agentos 0.13.1 → 0.13.3

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 (112) hide show
  1. package/README.md +11 -11
  2. package/dist/api/AgentOS.d.ts +29 -0
  3. package/dist/api/AgentOS.d.ts.map +1 -1
  4. package/dist/api/AgentOS.js +137 -10
  5. package/dist/api/AgentOS.js.map +1 -1
  6. package/dist/api/agent.d.ts +7 -3
  7. package/dist/api/agent.d.ts.map +1 -1
  8. package/dist/api/agent.js.map +1 -1
  9. package/dist/api/embedText.d.ts.map +1 -1
  10. package/dist/api/embedText.js +1 -8
  11. package/dist/api/embedText.js.map +1 -1
  12. package/dist/api/gmi.d.ts.map +1 -1
  13. package/dist/api/gmi.js +24 -19
  14. package/dist/api/gmi.js.map +1 -1
  15. package/dist/api/runtime/AgentOSOrchestrator.d.ts +7 -0
  16. package/dist/api/runtime/AgentOSOrchestrator.d.ts.map +1 -1
  17. package/dist/api/runtime/AgentOSOrchestrator.js +7 -0
  18. package/dist/api/runtime/AgentOSOrchestrator.js.map +1 -1
  19. package/dist/api/runtime/agentCognitiveMemory.d.ts +12 -9
  20. package/dist/api/runtime/agentCognitiveMemory.d.ts.map +1 -1
  21. package/dist/api/runtime/agentCognitiveMemory.js +53 -17
  22. package/dist/api/runtime/agentCognitiveMemory.js.map +1 -1
  23. package/dist/api/runtime/completionGateway.d.ts.map +1 -1
  24. package/dist/api/runtime/completionGateway.js +7 -0
  25. package/dist/api/runtime/completionGateway.js.map +1 -1
  26. package/dist/api/runtime/gmiResults.d.ts +63 -6
  27. package/dist/api/runtime/gmiResults.d.ts.map +1 -1
  28. package/dist/api/runtime/gmiResults.js +83 -13
  29. package/dist/api/runtime/gmiResults.js.map +1 -1
  30. package/dist/api/runtime/gmiSession.d.ts +17 -2
  31. package/dist/api/runtime/gmiSession.d.ts.map +1 -1
  32. package/dist/api/runtime/gmiSession.js +32 -7
  33. package/dist/api/runtime/gmiSession.js.map +1 -1
  34. package/dist/api/runtime/provider-defaults.d.ts +9 -0
  35. package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
  36. package/dist/api/runtime/provider-defaults.js +9 -0
  37. package/dist/api/runtime/provider-defaults.js.map +1 -1
  38. package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts.map +1 -1
  39. package/dist/cognition/emergent/executor/QuickJSExecutor.js +28 -7
  40. package/dist/cognition/emergent/executor/QuickJSExecutor.js.map +1 -1
  41. package/dist/cognition/emergent/executor/guest-prelude.d.ts.map +1 -1
  42. package/dist/cognition/emergent/executor/guest-prelude.js +6 -0
  43. package/dist/cognition/emergent/executor/guest-prelude.js.map +1 -1
  44. package/dist/cognition/emergent/executor/guest-surface.d.ts.map +1 -1
  45. package/dist/cognition/emergent/executor/guest-surface.js +10 -0
  46. package/dist/cognition/emergent/executor/guest-surface.js.map +1 -1
  47. package/dist/cognition/memory/CognitiveMemoryManager.d.ts +28 -21
  48. package/dist/cognition/memory/CognitiveMemoryManager.d.ts.map +1 -1
  49. package/dist/cognition/memory/CognitiveMemoryManager.js +76 -26
  50. package/dist/cognition/memory/CognitiveMemoryManager.js.map +1 -1
  51. package/dist/cognition/memory/retrieval/store/MemoryStore.d.ts +10 -2
  52. package/dist/cognition/memory/retrieval/store/MemoryStore.d.ts.map +1 -1
  53. package/dist/cognition/memory/retrieval/store/MemoryStore.js +11 -2
  54. package/dist/cognition/memory/retrieval/store/MemoryStore.js.map +1 -1
  55. package/dist/cognition/substrate/ConversationHistoryManager.d.ts +3 -1
  56. package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
  57. package/dist/cognition/substrate/ConversationHistoryManager.js +9 -2
  58. package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
  59. package/dist/cognition/substrate/GMI.d.ts +33 -2
  60. package/dist/cognition/substrate/GMI.d.ts.map +1 -1
  61. package/dist/cognition/substrate/GMI.js +231 -71
  62. package/dist/cognition/substrate/GMI.js.map +1 -1
  63. package/dist/cognition/substrate/IGMI.d.ts +14 -3
  64. package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
  65. package/dist/cognition/substrate/IGMI.js +2 -1
  66. package/dist/cognition/substrate/IGMI.js.map +1 -1
  67. package/dist/cognition/substrate/SentimentTracker.d.ts +8 -0
  68. package/dist/cognition/substrate/SentimentTracker.d.ts.map +1 -1
  69. package/dist/cognition/substrate/SentimentTracker.js +20 -0
  70. package/dist/cognition/substrate/SentimentTracker.js.map +1 -1
  71. package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts +6 -0
  72. package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts.map +1 -1
  73. package/dist/cognition/substrate/personas/SoulLoader.js.map +1 -1
  74. package/dist/cognition/substrate/personas/hardLimits.d.ts +16 -0
  75. package/dist/cognition/substrate/personas/hardLimits.d.ts.map +1 -0
  76. package/dist/cognition/substrate/personas/hardLimits.js +21 -0
  77. package/dist/cognition/substrate/personas/hardLimits.js.map +1 -0
  78. package/dist/core/conversation/ConversationContext.d.ts +8 -0
  79. package/dist/core/conversation/ConversationContext.d.ts.map +1 -1
  80. package/dist/core/conversation/ConversationContext.js +17 -0
  81. package/dist/core/conversation/ConversationContext.js.map +1 -1
  82. package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
  83. package/dist/core/llm/providers/implementations/OpenAIProvider.js +23 -4
  84. package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
  85. package/dist/core/utils/errors.d.ts +2 -0
  86. package/dist/core/utils/errors.d.ts.map +1 -1
  87. package/dist/core/utils/errors.js +3 -0
  88. package/dist/core/utils/errors.js.map +1 -1
  89. package/dist/extensions/ExtensionRegistry.d.ts.map +1 -1
  90. package/dist/extensions/ExtensionRegistry.js +4 -1
  91. package/dist/extensions/ExtensionRegistry.js.map +1 -1
  92. package/dist/safety/guardrails/IGuardrailService.d.ts +11 -0
  93. package/dist/safety/guardrails/IGuardrailService.d.ts.map +1 -1
  94. package/dist/safety/guardrails/ParallelGuardrailDispatcher.d.ts.map +1 -1
  95. package/dist/safety/guardrails/ParallelGuardrailDispatcher.js +206 -80
  96. package/dist/safety/guardrails/ParallelGuardrailDispatcher.js.map +1 -1
  97. package/dist/safety/guardrails/builtin/PhraseListGuardrail.d.ts +109 -0
  98. package/dist/safety/guardrails/builtin/PhraseListGuardrail.d.ts.map +1 -0
  99. package/dist/safety/guardrails/builtin/PhraseListGuardrail.js +180 -0
  100. package/dist/safety/guardrails/builtin/PhraseListGuardrail.js.map +1 -0
  101. package/dist/safety/guardrails/guardrailDispatcher.d.ts +20 -0
  102. package/dist/safety/guardrails/guardrailDispatcher.d.ts.map +1 -1
  103. package/dist/safety/guardrails/guardrailDispatcher.js.map +1 -1
  104. package/dist/safety/guardrails/index.d.ts +3 -1
  105. package/dist/safety/guardrails/index.d.ts.map +1 -1
  106. package/dist/safety/guardrails/index.js +4 -0
  107. package/dist/safety/guardrails/index.js.map +1 -1
  108. package/dist/safety/guardrails/requiredGuardrails.d.ts +34 -0
  109. package/dist/safety/guardrails/requiredGuardrails.d.ts.map +1 -0
  110. package/dist/safety/guardrails/requiredGuardrails.js +68 -0
  111. package/dist/safety/guardrails/requiredGuardrails.js.map +1 -0
  112. package/package.json +1 -1
@@ -55,6 +55,8 @@ export var GMIErrorCode;
55
55
  GMIErrorCode["PERMISSION_DENIED"] = "AUTH_PERMISSION_DENIED";
56
56
  GMIErrorCode["ACCESS_DENIED"] = "AUTH_ACCESS_DENIED";
57
57
  GMIErrorCode["SUBSCRIPTION_ERROR"] = "AUTH_SUBSCRIPTION_ERROR";
58
+ /** A guardrail the deployment requires is not active, so the request was not run. */
59
+ GMIErrorCode["GUARDRAIL_REQUIRED_MISSING"] = "SYS_GUARDRAIL_REQUIRED_MISSING";
58
60
  /** The account's allowance for the period has no room for the request (the spend meter). */
59
61
  GMIErrorCode["ALLOWANCE_EXHAUSTED"] = "BILLING_ALLOWANCE_EXHAUSTED";
60
62
  /** The spend meter's store could not answer, so the request was not run. */
@@ -112,6 +114,7 @@ const statusCodeMap = {
112
114
  [GMIErrorCode.PERMISSION_DENIED]: 403,
113
115
  [GMIErrorCode.ACCESS_DENIED]: 403,
114
116
  [GMIErrorCode.SUBSCRIPTION_ERROR]: 402,
117
+ [GMIErrorCode.GUARDRAIL_REQUIRED_MISSING]: 503,
115
118
  [GMIErrorCode.ALLOWANCE_EXHAUSTED]: 402,
116
119
  [GMIErrorCode.SPEND_METER_UNAVAILABLE]: 503,
117
120
  [GMIErrorCode.LLM_PROVIDER_UNAVAILABLE]: 503,
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/utils/errors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/core/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionRegistry.d.ts","sourceRoot":"","sources":["../../src/extensions/ExtensionRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACd,MAAM,SAAS,CAAC;AAWjB;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IAMnC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0D;IACjF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAE3B;gBAEsB,IAAI,EAAE,aAAa;IAEhD;;;;OAIG;IACI,UAAU,CACf,QAAQ,EAAE,CAAC,UAAU,EAAE,yBAAyB,CAAC,QAAQ,CAAC,KAAK,IAAI,GAClE,MAAM,IAAI;IAUb;;OAEG;IACU,QAAQ,CACnB,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EACzC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC;IAiChB;;;OAGG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC1F;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS;IAK7E;;OAEG;IACI,UAAU,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE;IAY1D;;OAEG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,EAAE;IASrE;;OAEG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtE,OAAO,CAAC,gBAAgB;YAUV,WAAW;IAYzB,OAAO,CAAC,aAAa;CAsBtB"}
1
+ {"version":3,"file":"ExtensionRegistry.d.ts","sourceRoot":"","sources":["../../src/extensions/ExtensionRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,mBAAmB,EACnB,yBAAyB,EACzB,aAAa,EACd,MAAM,SAAS,CAAC;AAWjB;;;;GAIG;AACH,qBAAa,iBAAiB,CAAC,QAAQ,GAAG,OAAO;IAMnC,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0D;IACjF,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAE3B;gBAEsB,IAAI,EAAE,aAAa;IAEhD;;;;OAIG;IACI,UAAU,CACf,QAAQ,EAAE,CAAC,UAAU,EAAE,yBAAyB,CAAC,QAAQ,CAAC,KAAK,IAAI,GAClE,MAAM,IAAI;IAUb;;OAEG;IACU,QAAQ,CACnB,UAAU,EAAE,mBAAmB,CAAC,QAAQ,CAAC,EACzC,OAAO,CAAC,EAAE,yBAAyB,GAClC,OAAO,CAAC,IAAI,CAAC;IAoChB;;;OAGG;IACU,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC1F;;OAEG;IACI,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,GAAG,SAAS;IAK7E;;OAEG;IACI,UAAU,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE;IAY1D;;OAEG;IACI,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,yBAAyB,CAAC,QAAQ,CAAC,EAAE;IASrE;;OAEG;IACU,KAAK,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOtE,OAAO,CAAC,gBAAgB;YAUV,WAAW;IAYzB,OAAO,CAAC,aAAa;CAsBtB"}
@@ -45,7 +45,10 @@ export class ExtensionRegistry {
45
45
  // First descriptor registered in this stack.
46
46
  await nextActive.onActivate?.(context ?? {});
47
47
  }
48
- stack.active = nextActive;
48
+ // Read the stack again: a registration under the same id that completed
49
+ // while the hooks above were awaited may have pushed a newer descriptor,
50
+ // which must stay active.
51
+ stack.active = this.computeActive(stack);
49
52
  for (const listener of [...this.registerListeners]) {
50
53
  try {
51
54
  listener(activeDescriptor);
@@ -1 +1 @@
1
- {"version":3,"file":"ExtensionRegistry.js","sourceRoot":"","sources":["../../src/extensions/ExtensionRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExtensionRegistry.js","sourceRoot":"","sources":["../../src/extensions/ExtensionRegistry.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,12 @@ export interface GuardrailEvaluationResult {
135
135
  * For output evaluation: replaces textDelta (streaming) or finalResponseText (final).
136
136
  */
137
137
  modifiedText?: string | null;
138
+ /**
139
+ * With {@link GuardrailAction.BLOCK} on an output's final response: the fixed reply the caller receives in place of
140
+ * the model's, as a FINAL_RESPONSE whose guardrail metadata records the block, instead of an error chunk. A
141
+ * product's safety templates answer this way, so a person reads a fixed text and never a raw failure.
142
+ */
143
+ replacementText?: string;
138
144
  }
139
145
  /**
140
146
  * Payload for input guardrail evaluation.
@@ -368,6 +374,11 @@ export interface GuardrailConfig {
368
374
  * ```
369
375
  */
370
376
  export interface IGuardrailService {
377
+ /**
378
+ * A stable id for this guard. A required guard is named by it (`AgentOSConfig.requiredGuardrails`), and it travels
379
+ * with every verdict as `metadata.guardrailId`. Without one, a registered guard is known by its descriptor's id.
380
+ */
381
+ id?: string;
371
382
  /**
372
383
  * Configuration for evaluation behavior.
373
384
  * Controls streaming vs final-only evaluation and rate limiting.
@@ -1 +1 @@
1
- {"version":3,"file":"IGuardrailService.d.ts","sourceRoot":"","sources":["../../../src/safety/guardrails/IGuardrailService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IGuardrailService.d.ts","sourceRoot":"","sources":["../../../src/safety/guardrails/IGuardrailService.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ParallelGuardrailDispatcher.d.ts","sourceRoot":"","sources":["../../../src/safety/guardrails/ParallelGuardrailDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,KAAK,eAAe,EAGrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAiJ3F;;;;;GAKG;AACH,qBAAa,2BAA2B;IAKtC;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,aAAa,CACxB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,qBAAqB,CAAC;IA0IjC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;WACW,UAAU,CACtB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,EACxD,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC;CA8SpD"}
1
+ {"version":3,"file":"ParallelGuardrailDispatcher.d.ts","sourceRoot":"","sources":["../../../src/safety/guardrails/ParallelGuardrailDispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAEL,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,qBAAqB,EAAE,sBAAsB,EAA0B,MAAM,uBAAuB,CAAC;AAiJnH;;;;;GAKG;AACH,qBAAa,2BAA2B;IAKtC;;;;;;;;;;;;;;;;;;;;OAoBG;WACU,aAAa,CACxB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,qBAAqB,CAAC;IA0IjC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;WACW,UAAU,CACtB,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC,EACxD,OAAO,EAAE,sBAAsB,GAC9B,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,SAAS,CAAC;CAiZpD"}
@@ -1,4 +1,4 @@
1
- import { AgentOSResponseChunkType, } from '../../api/types/AgentOSResponse.js';
1
+ import { AgentOSResponseChunkType, isActionableToolCallRequestChunk, } from '../../api/types/AgentOSResponse.js';
2
2
  import { GuardrailAction, } from './IGuardrailService.js';
3
3
  import { serializeEvaluation, withGuardrailMetadata, createGuardrailBlockedStream, hasEvaluateOutput, } from './guardrailDispatcher.js';
4
4
  // ---------------------------------------------------------------------------
@@ -320,6 +320,103 @@ export class ParallelGuardrailDispatcher {
320
320
  // also carries the same sources. Track them here so per-chunk
321
321
  // evaluateOutput calls see the live state, not just the initial option.
322
322
  let currentRagSources = options.ragSources;
323
+ // -- Hold mode: the reply's text deltas wait for the final verdict ----
324
+ // With `holdUntilFinal`, no TEXT_DELTA reaches the caller before the
325
+ // final guards have passed the whole reply: the deltas are buffered and
326
+ // flushed only when the final chunk is allowed (or flagged). A block or a
327
+ // sanitize drops them, since they carry the text the guards refused.
328
+ const hold = options.holdUntilFinal === true;
329
+ let held = [];
330
+ const notify = async (verdict) => {
331
+ if (!options.onVerdict)
332
+ return;
333
+ try {
334
+ await options.onVerdict(verdict);
335
+ }
336
+ catch (error) {
337
+ console.warn('[AgentOS][Guardrails] onVerdict threw; the verdict stands.', error);
338
+ }
339
+ };
340
+ /**
341
+ * The final guards over one final chunk: Phase 1 sanitizers in order,
342
+ * then Phase 2 classifiers in parallel. Returns the first BLOCK, or the
343
+ * chunk as the sanitizers left it with every evaluation attached.
344
+ */
345
+ const evaluateFinal = async (chunkIn) => {
346
+ const outputEvaluations = [];
347
+ let workingChunk = chunkIn;
348
+ let sanitized = false;
349
+ // Phase 1: sequential final sanitizers
350
+ for (const svc of finalSanitizers) {
351
+ if (!svc.evaluateOutput) {
352
+ continue;
353
+ }
354
+ const timeoutMs = svc.config?.timeoutMs;
355
+ const raw = await callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed);
356
+ if (!raw) {
357
+ continue;
358
+ }
359
+ const evaluation = stampGuardrailId(raw, svc);
360
+ outputEvaluations.push(evaluation);
361
+ // BLOCK terminates the stream
362
+ if (evaluation.action === GuardrailAction.BLOCK) {
363
+ return { outcome: 'block', evaluation };
364
+ }
365
+ // SANITIZE: modify every text field of the final response, or the textDelta
366
+ if (evaluation.action === GuardrailAction.SANITIZE && evaluation.modifiedText !== undefined) {
367
+ sanitized = true;
368
+ if (workingChunk.type === AgentOSResponseChunkType.FINAL_RESPONSE) {
369
+ workingChunk = {
370
+ ...workingChunk,
371
+ finalResponseText: evaluation.modifiedText,
372
+ finalResponseTextPlain: evaluation.modifiedText,
373
+ };
374
+ }
375
+ else {
376
+ workingChunk = {
377
+ ...workingChunk,
378
+ textDelta: evaluation.modifiedText,
379
+ };
380
+ }
381
+ }
382
+ }
383
+ // Phase 2: parallel final classifiers
384
+ if (finalParallel.length > 0) {
385
+ const tasks = finalParallel.map(({ svc, registrationIndex }) => {
386
+ if (!svc.evaluateOutput) {
387
+ return Promise.resolve({ evaluation: null, registrationIndex, svc });
388
+ }
389
+ const timeoutMs = svc.config?.timeoutMs;
390
+ return callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed).then((evaluation) => ({ evaluation, registrationIndex, svc }));
391
+ });
392
+ const results = await Promise.allSettled(tasks);
393
+ for (const result of results) {
394
+ if (result.status === 'rejected') {
395
+ console.warn('[AgentOS][Guardrails] Phase 2 final evaluateOutput rejected.', result.reason);
396
+ continue;
397
+ }
398
+ const { evaluation: rawEvaluation, registrationIndex, svc } = result.value;
399
+ if (!rawEvaluation) {
400
+ continue;
401
+ }
402
+ // Downgrade SANITIZE → FLAG in Phase 2
403
+ const evaluation = stampGuardrailId(downgradePhase2Sanitize(rawEvaluation, registrationIndex), svc);
404
+ outputEvaluations.push(evaluation);
405
+ // BLOCK terminates the stream
406
+ if (evaluation.action === GuardrailAction.BLOCK) {
407
+ return { outcome: 'block', evaluation };
408
+ }
409
+ }
410
+ }
411
+ // Attach output evaluation metadata
412
+ if (outputEvaluations.length > 0) {
413
+ workingChunk = withGuardrailMetadata(workingChunk, {
414
+ output: outputEvaluations.map(serializeEvaluation),
415
+ });
416
+ }
417
+ return { outcome: 'pass', chunk: workingChunk, sanitized, worst: worstAction(outputEvaluations) };
418
+ };
419
+ const finalTextOf = (chunk) => chunk.type === AgentOSResponseChunkType.FINAL_RESPONSE ? (chunk.finalResponseText ?? null) : null;
323
420
  // -- Main stream loop ----------------------------------------------
324
421
  for await (const chunk of stream) {
325
422
  let currentChunk = chunk;
@@ -354,7 +451,7 @@ export class ParallelGuardrailDispatcher {
354
451
  let workingChunk = currentChunk;
355
452
  // Phase 1: sequential streaming sanitizers
356
453
  for (const svc of streamingSanitizers) {
357
- const svcId = svc.id || 'unknown';
454
+ const svcId = svc.id || svc.id || 'unknown';
358
455
  const currentCount = streamingEvaluationCounts.get(svcId) || 0;
359
456
  const maxEvals = svc.config?.maxStreamingEvaluations;
360
457
  // Skip if this service has hit its rate limit
@@ -362,15 +459,18 @@ export class ParallelGuardrailDispatcher {
362
459
  continue;
363
460
  }
364
461
  const timeoutMs = svc.config?.timeoutMs;
365
- const evaluation = await callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed);
462
+ const raw = await callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed);
366
463
  streamingEvaluationCounts.set(svcId, currentCount + 1);
367
- if (!evaluation) {
464
+ if (!raw) {
368
465
  continue;
369
466
  }
467
+ const evaluation = stampGuardrailId(raw, svc);
370
468
  outputEvaluations.push(evaluation);
371
469
  // BLOCK terminates the stream immediately
372
470
  if (evaluation.action === GuardrailAction.BLOCK) {
373
- yield* createGuardrailBlockedStream(context, evaluation, options);
471
+ held = [];
472
+ await notify({ streamId: options.streamId, action: GuardrailAction.BLOCK, guardrailId: guardrailIdOf(evaluation), reasonCode: evaluation.reasonCode, finalText: evaluation.replacementText ?? null, originalText: null });
473
+ yield* blockedOutput(context, evaluation, options);
374
474
  return;
375
475
  }
376
476
  // SANITIZE: modify the textDelta for downstream services
@@ -384,17 +484,17 @@ export class ParallelGuardrailDispatcher {
384
484
  // Phase 2: parallel streaming classifiers
385
485
  if (streamingParallel.length > 0) {
386
486
  const tasks = streamingParallel.map(({ svc, registrationIndex }) => {
387
- const svcId = svc.id || `svc-${registrationIndex}`;
487
+ const svcId = svc.id || svc.id || `svc-${registrationIndex}`;
388
488
  const currentCount = streamingEvaluationCounts.get(svcId) || 0;
389
489
  const maxEvals = svc.config?.maxStreamingEvaluations;
390
490
  // Rate-limited services return null immediately
391
491
  if (maxEvals !== undefined && currentCount >= maxEvals) {
392
- return Promise.resolve({ evaluation: null, registrationIndex, svcId });
492
+ return Promise.resolve({ evaluation: null, registrationIndex, svcId, svc });
393
493
  }
394
494
  const timeoutMs = svc.config?.timeoutMs;
395
495
  return callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed).then((evaluation) => {
396
496
  streamingEvaluationCounts.set(svcId, currentCount + 1);
397
- return { evaluation, registrationIndex, svcId };
497
+ return { evaluation, registrationIndex, svcId, svc };
398
498
  });
399
499
  });
400
500
  const results = await Promise.allSettled(tasks);
@@ -403,16 +503,18 @@ export class ParallelGuardrailDispatcher {
403
503
  console.warn('[AgentOS][Guardrails] Phase 2 streaming evaluateOutput rejected.', result.reason);
404
504
  continue;
405
505
  }
406
- const { evaluation: rawEvaluation, registrationIndex } = result.value;
506
+ const { evaluation: rawEvaluation, registrationIndex, svc } = result.value;
407
507
  if (!rawEvaluation) {
408
508
  continue;
409
509
  }
410
510
  // Downgrade SANITIZE → FLAG in Phase 2
411
- const evaluation = downgradePhase2Sanitize(rawEvaluation, registrationIndex);
511
+ const evaluation = stampGuardrailId(downgradePhase2Sanitize(rawEvaluation, registrationIndex), svc);
412
512
  outputEvaluations.push(evaluation);
413
513
  // BLOCK terminates the stream immediately
414
514
  if (evaluation.action === GuardrailAction.BLOCK) {
415
- yield* createGuardrailBlockedStream(context, evaluation, options);
515
+ held = [];
516
+ await notify({ streamId: options.streamId, action: GuardrailAction.BLOCK, guardrailId: guardrailIdOf(evaluation), reasonCode: evaluation.reasonCode, finalText: evaluation.replacementText ?? null, originalText: null });
517
+ yield* blockedOutput(context, evaluation, options);
416
518
  return;
417
519
  }
418
520
  }
@@ -425,85 +527,109 @@ export class ParallelGuardrailDispatcher {
425
527
  }
426
528
  currentChunk = workingChunk;
427
529
  }
530
+ // In hold mode a text delta waits for the final verdict.
531
+ if (hold && chunk.type === AgentOSResponseChunkType.TEXT_DELTA && !chunk.isFinal) {
532
+ held.push(currentChunk);
533
+ continue;
534
+ }
535
+ // An actionable tool call ends the turn's text for now: in hold mode the
536
+ // text so far is judged as a final reply before the tool call goes out.
537
+ if (hold && isActionableToolCallRequestChunk(chunk) && held.length > 0) {
538
+ const text = held.map((h) => String(h.textDelta ?? '')).join('');
539
+ const synthetic = {
540
+ type: AgentOSResponseChunkType.FINAL_RESPONSE,
541
+ streamId: chunk.streamId,
542
+ gmiInstanceId: chunk.gmiInstanceId,
543
+ personaId: chunk.personaId,
544
+ isFinal: true,
545
+ timestamp: chunk.timestamp,
546
+ finalResponseText: text,
547
+ finalResponseTextPlain: text,
548
+ };
549
+ const verdict = await evaluateFinal(synthetic);
550
+ if (verdict.outcome === 'block') {
551
+ held = [];
552
+ await notify({ streamId: options.streamId, action: GuardrailAction.BLOCK, guardrailId: guardrailIdOf(verdict.evaluation), reasonCode: verdict.evaluation.reasonCode, finalText: verdict.evaluation.replacementText ?? null, originalText: text });
553
+ yield* blockedOutput(context, verdict.evaluation, options);
554
+ return;
555
+ }
556
+ if (verdict.sanitized) {
557
+ held = [{ ...held[0], textDelta: finalTextOf(verdict.chunk) ?? '' }];
558
+ }
559
+ for (const h of held)
560
+ yield h;
561
+ held = [];
562
+ yield currentChunk;
563
+ continue;
564
+ }
428
565
  // ---------------------------------------------------------------
429
566
  // isFinal chunks: all guardrails participate
430
567
  // ---------------------------------------------------------------
431
568
  if (chunk.isFinal &&
432
569
  (finalSanitizers.length > 0 || finalParallel.length > 0)) {
433
- const outputEvaluations = [];
434
- let workingChunk = currentChunk;
435
- // Phase 1: sequential final sanitizers
436
- for (const svc of finalSanitizers) {
437
- if (!svc.evaluateOutput) {
438
- continue;
439
- }
440
- const timeoutMs = svc.config?.timeoutMs;
441
- const evaluation = await callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed);
442
- if (!evaluation) {
443
- continue;
444
- }
445
- outputEvaluations.push(evaluation);
446
- // BLOCK terminates the stream
447
- if (evaluation.action === GuardrailAction.BLOCK) {
448
- yield* createGuardrailBlockedStream(context, evaluation, options);
449
- return;
450
- }
451
- // SANITIZE: modify finalResponseText or textDelta
452
- if (evaluation.action === GuardrailAction.SANITIZE &&
453
- evaluation.modifiedText !== undefined) {
454
- if (workingChunk.type === AgentOSResponseChunkType.FINAL_RESPONSE) {
455
- workingChunk = {
456
- ...workingChunk,
457
- finalResponseText: evaluation.modifiedText,
458
- };
459
- }
460
- else {
461
- workingChunk = {
462
- ...workingChunk,
463
- textDelta: evaluation.modifiedText,
464
- };
465
- }
466
- }
570
+ const originalText = finalTextOf(currentChunk);
571
+ const verdict = await evaluateFinal(currentChunk);
572
+ if (verdict.outcome === 'block') {
573
+ held = [];
574
+ await notify({ streamId: options.streamId, action: GuardrailAction.BLOCK, guardrailId: guardrailIdOf(verdict.evaluation), reasonCode: verdict.evaluation.reasonCode, finalText: verdict.evaluation.replacementText ?? null, originalText });
575
+ yield* blockedOutput(context, verdict.evaluation, options);
576
+ return;
467
577
  }
468
- // Phase 2: parallel final classifiers
469
- if (finalParallel.length > 0) {
470
- const tasks = finalParallel.map(({ svc, registrationIndex }) => {
471
- if (!svc.evaluateOutput) {
472
- return Promise.resolve({ evaluation: null, registrationIndex });
473
- }
474
- const timeoutMs = svc.config?.timeoutMs;
475
- return callWithTimeout(() => svc.evaluateOutput({ context, chunk: workingChunk, ragSources: currentRagSources }), timeoutMs, svc.config?.failClosed).then((evaluation) => ({ evaluation, registrationIndex }));
476
- });
477
- const results = await Promise.allSettled(tasks);
478
- for (const result of results) {
479
- if (result.status === 'rejected') {
480
- console.warn('[AgentOS][Guardrails] Phase 2 final evaluateOutput rejected.', result.reason);
481
- continue;
482
- }
483
- const { evaluation: rawEvaluation, registrationIndex } = result.value;
484
- if (!rawEvaluation) {
485
- continue;
486
- }
487
- // Downgrade SANITIZE → FLAG in Phase 2
488
- const evaluation = downgradePhase2Sanitize(rawEvaluation, registrationIndex);
489
- outputEvaluations.push(evaluation);
490
- // BLOCK terminates the stream
491
- if (evaluation.action === GuardrailAction.BLOCK) {
492
- yield* createGuardrailBlockedStream(context, evaluation, options);
493
- return;
494
- }
495
- }
496
- }
497
- // Attach output evaluation metadata
498
- if (outputEvaluations.length > 0) {
499
- workingChunk = withGuardrailMetadata(workingChunk, {
500
- output: outputEvaluations.map(serializeEvaluation),
501
- });
578
+ // the deltas carry the text a sanitizer changed: only the final chunk's text stands
579
+ if (verdict.sanitized)
580
+ held = [];
581
+ await notify({
582
+ streamId: options.streamId,
583
+ action: verdict.sanitized ? GuardrailAction.SANITIZE : verdict.worst,
584
+ finalText: finalTextOf(verdict.chunk),
585
+ originalText,
586
+ });
587
+ currentChunk = verdict.chunk;
588
+ }
589
+ if (chunk.isFinal && held.length > 0) {
590
+ // held text is sent only beside the final response the guards judged; a turn that ended in an error drops it unjudged
591
+ if (currentChunk.type === AgentOSResponseChunkType.FINAL_RESPONSE) {
592
+ for (const h of held)
593
+ yield h;
502
594
  }
503
- currentChunk = workingChunk;
595
+ held = [];
504
596
  }
505
597
  yield currentChunk;
506
598
  }
599
+ // A stream that ended without a final chunk leaves its held text unjudged; it is dropped, never sent.
600
+ }
601
+ }
602
+ /** The id of the guard that produced an evaluation, when it had one. */
603
+ function guardrailIdOf(evaluation) {
604
+ const id = evaluation.metadata?.guardrailId;
605
+ return typeof id === 'string' ? id : undefined;
606
+ }
607
+ /** The evaluation with its guard's id in `metadata.guardrailId`, when the guard has an id. */
608
+ function stampGuardrailId(evaluation, svc) {
609
+ if (!svc.id)
610
+ return evaluation;
611
+ return { ...evaluation, metadata: { ...(evaluation.metadata ?? {}), guardrailId: svc.id } };
612
+ }
613
+ /**
614
+ * What the caller receives in place of a blocked reply: the guard's fixed reply as a final response that records the
615
+ * block, when the guard gave one; otherwise the error chunk.
616
+ */
617
+ async function* blockedOutput(context, evaluation, options) {
618
+ if (typeof evaluation.replacementText === 'string' && evaluation.replacementText.length > 0) {
619
+ const replacement = {
620
+ type: AgentOSResponseChunkType.FINAL_RESPONSE,
621
+ streamId: options.streamId,
622
+ gmiInstanceId: 'guardrail',
623
+ personaId: options.personaId ?? context.personaId ?? 'unknown_persona',
624
+ isFinal: true,
625
+ timestamp: new Date().toISOString(),
626
+ finalResponseText: evaluation.replacementText,
627
+ finalResponseTextPlain: evaluation.replacementText,
628
+ metadata: { guardrail: { output: [serializeEvaluation(evaluation)] } },
629
+ };
630
+ yield replacement;
631
+ return;
507
632
  }
633
+ yield* createGuardrailBlockedStream(context, evaluation, options);
508
634
  }
509
635
  //# sourceMappingURL=ParallelGuardrailDispatcher.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ParallelGuardrailDispatcher.js","sourceRoot":"","sources":["../../../src/safety/guardrails/ParallelGuardrailDispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ParallelGuardrailDispatcher.js","sourceRoot":"","sources":["../../../src/safety/guardrails/ParallelGuardrailDispatcher.ts"],"names":[],"mappings":"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"}