@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.
- package/README.md +11 -11
- package/dist/api/AgentOS.d.ts +29 -0
- package/dist/api/AgentOS.d.ts.map +1 -1
- package/dist/api/AgentOS.js +137 -10
- package/dist/api/AgentOS.js.map +1 -1
- package/dist/api/agent.d.ts +7 -3
- package/dist/api/agent.d.ts.map +1 -1
- package/dist/api/agent.js.map +1 -1
- package/dist/api/embedText.d.ts.map +1 -1
- package/dist/api/embedText.js +1 -8
- package/dist/api/embedText.js.map +1 -1
- package/dist/api/gmi.d.ts.map +1 -1
- package/dist/api/gmi.js +24 -19
- package/dist/api/gmi.js.map +1 -1
- package/dist/api/runtime/AgentOSOrchestrator.d.ts +7 -0
- package/dist/api/runtime/AgentOSOrchestrator.d.ts.map +1 -1
- package/dist/api/runtime/AgentOSOrchestrator.js +7 -0
- package/dist/api/runtime/AgentOSOrchestrator.js.map +1 -1
- package/dist/api/runtime/agentCognitiveMemory.d.ts +12 -9
- package/dist/api/runtime/agentCognitiveMemory.d.ts.map +1 -1
- package/dist/api/runtime/agentCognitiveMemory.js +53 -17
- package/dist/api/runtime/agentCognitiveMemory.js.map +1 -1
- package/dist/api/runtime/completionGateway.d.ts.map +1 -1
- package/dist/api/runtime/completionGateway.js +7 -0
- package/dist/api/runtime/completionGateway.js.map +1 -1
- package/dist/api/runtime/gmiResults.d.ts +63 -6
- package/dist/api/runtime/gmiResults.d.ts.map +1 -1
- package/dist/api/runtime/gmiResults.js +83 -13
- package/dist/api/runtime/gmiResults.js.map +1 -1
- package/dist/api/runtime/gmiSession.d.ts +17 -2
- package/dist/api/runtime/gmiSession.d.ts.map +1 -1
- package/dist/api/runtime/gmiSession.js +32 -7
- package/dist/api/runtime/gmiSession.js.map +1 -1
- package/dist/api/runtime/provider-defaults.d.ts +9 -0
- package/dist/api/runtime/provider-defaults.d.ts.map +1 -1
- package/dist/api/runtime/provider-defaults.js +9 -0
- package/dist/api/runtime/provider-defaults.js.map +1 -1
- package/dist/cognition/emergent/executor/QuickJSExecutor.d.ts.map +1 -1
- package/dist/cognition/emergent/executor/QuickJSExecutor.js +28 -7
- package/dist/cognition/emergent/executor/QuickJSExecutor.js.map +1 -1
- package/dist/cognition/emergent/executor/guest-prelude.d.ts.map +1 -1
- package/dist/cognition/emergent/executor/guest-prelude.js +6 -0
- package/dist/cognition/emergent/executor/guest-prelude.js.map +1 -1
- package/dist/cognition/emergent/executor/guest-surface.d.ts.map +1 -1
- package/dist/cognition/emergent/executor/guest-surface.js +10 -0
- package/dist/cognition/emergent/executor/guest-surface.js.map +1 -1
- package/dist/cognition/memory/CognitiveMemoryManager.d.ts +28 -21
- package/dist/cognition/memory/CognitiveMemoryManager.d.ts.map +1 -1
- package/dist/cognition/memory/CognitiveMemoryManager.js +76 -26
- package/dist/cognition/memory/CognitiveMemoryManager.js.map +1 -1
- package/dist/cognition/memory/retrieval/store/MemoryStore.d.ts +10 -2
- package/dist/cognition/memory/retrieval/store/MemoryStore.d.ts.map +1 -1
- package/dist/cognition/memory/retrieval/store/MemoryStore.js +11 -2
- package/dist/cognition/memory/retrieval/store/MemoryStore.js.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts +3 -1
- package/dist/cognition/substrate/ConversationHistoryManager.d.ts.map +1 -1
- package/dist/cognition/substrate/ConversationHistoryManager.js +9 -2
- package/dist/cognition/substrate/ConversationHistoryManager.js.map +1 -1
- package/dist/cognition/substrate/GMI.d.ts +33 -2
- package/dist/cognition/substrate/GMI.d.ts.map +1 -1
- package/dist/cognition/substrate/GMI.js +231 -71
- package/dist/cognition/substrate/GMI.js.map +1 -1
- package/dist/cognition/substrate/IGMI.d.ts +14 -3
- package/dist/cognition/substrate/IGMI.d.ts.map +1 -1
- package/dist/cognition/substrate/IGMI.js +2 -1
- package/dist/cognition/substrate/IGMI.js.map +1 -1
- package/dist/cognition/substrate/SentimentTracker.d.ts +8 -0
- package/dist/cognition/substrate/SentimentTracker.d.ts.map +1 -1
- package/dist/cognition/substrate/SentimentTracker.js +20 -0
- package/dist/cognition/substrate/SentimentTracker.js.map +1 -1
- package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts +6 -0
- package/dist/cognition/substrate/personas/IPersonaDefinition.d.ts.map +1 -1
- package/dist/cognition/substrate/personas/SoulLoader.js.map +1 -1
- package/dist/cognition/substrate/personas/hardLimits.d.ts +16 -0
- package/dist/cognition/substrate/personas/hardLimits.d.ts.map +1 -0
- package/dist/cognition/substrate/personas/hardLimits.js +21 -0
- package/dist/cognition/substrate/personas/hardLimits.js.map +1 -0
- package/dist/core/conversation/ConversationContext.d.ts +8 -0
- package/dist/core/conversation/ConversationContext.d.ts.map +1 -1
- package/dist/core/conversation/ConversationContext.js +17 -0
- package/dist/core/conversation/ConversationContext.js.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.d.ts.map +1 -1
- package/dist/core/llm/providers/implementations/OpenAIProvider.js +23 -4
- package/dist/core/llm/providers/implementations/OpenAIProvider.js.map +1 -1
- package/dist/core/utils/errors.d.ts +2 -0
- package/dist/core/utils/errors.d.ts.map +1 -1
- package/dist/core/utils/errors.js +3 -0
- package/dist/core/utils/errors.js.map +1 -1
- package/dist/extensions/ExtensionRegistry.d.ts.map +1 -1
- package/dist/extensions/ExtensionRegistry.js +4 -1
- package/dist/extensions/ExtensionRegistry.js.map +1 -1
- package/dist/safety/guardrails/IGuardrailService.d.ts +11 -0
- package/dist/safety/guardrails/IGuardrailService.d.ts.map +1 -1
- package/dist/safety/guardrails/ParallelGuardrailDispatcher.d.ts.map +1 -1
- package/dist/safety/guardrails/ParallelGuardrailDispatcher.js +206 -80
- package/dist/safety/guardrails/ParallelGuardrailDispatcher.js.map +1 -1
- package/dist/safety/guardrails/builtin/PhraseListGuardrail.d.ts +109 -0
- package/dist/safety/guardrails/builtin/PhraseListGuardrail.d.ts.map +1 -0
- package/dist/safety/guardrails/builtin/PhraseListGuardrail.js +180 -0
- package/dist/safety/guardrails/builtin/PhraseListGuardrail.js.map +1 -0
- package/dist/safety/guardrails/guardrailDispatcher.d.ts +20 -0
- package/dist/safety/guardrails/guardrailDispatcher.d.ts.map +1 -1
- package/dist/safety/guardrails/guardrailDispatcher.js.map +1 -1
- package/dist/safety/guardrails/index.d.ts +3 -1
- package/dist/safety/guardrails/index.d.ts.map +1 -1
- package/dist/safety/guardrails/index.js +4 -0
- package/dist/safety/guardrails/index.js.map +1 -1
- package/dist/safety/guardrails/requiredGuardrails.d.ts +34 -0
- package/dist/safety/guardrails/requiredGuardrails.d.ts.map +1 -0
- package/dist/safety/guardrails/requiredGuardrails.js +68 -0
- package/dist/safety/guardrails/requiredGuardrails.js.map +1 -0
- 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":"AAAA,uEAAuE;AAEvE,MAAM,OAAO,QAAS,SAAQ,KAAK;IACjC,YACkB,OAAe,EACxB,aAAqB,GAAG,EACxB,gBAAyB,IAAI;QAEpC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJC,YAAO,GAAP,OAAO,CAAQ;QACxB,eAAU,GAAV,UAAU,CAAc;QACxB,kBAAa,GAAb,aAAa,CAAgB;QAGpC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,OAAO,eAAgB,SAAQ,QAAQ;IAC3C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,mBAAoB,SAAQ,QAAQ;IAC/C,YAAY,UAAkB,uBAAuB;QACnD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,OAAO,aAAc,SAAQ,QAAQ;IACzC,YAAY,UAAkB,oBAAoB;QAChD,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAED,MAAM,CAAN,IAAY,
|
|
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;
|
|
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
|
|
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":"AAgBA;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IAM5B,YAA6B,IAAmB;QAAnB,SAAI,GAAJ,IAAI,CAAe;QAL/B,WAAM,GAAgD,IAAI,GAAG,EAAE,CAAC;QAChE,sBAAiB,GAE9B,EAAE,CAAC;IAE4C,CAAC;IAEpD;;;;OAIG;IACI,UAAU,CACf,QAAmE;QAEnE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtC,OAAO,GAAG,EAAE;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACvD,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,QAAQ,CACnB,UAAyC,EACzC,OAAmC;QAEnC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,UAAU,CAAC,QAAQ,IAAI,CAAC,CAAC;QAClD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7D,MAAM,gBAAgB,GAAwC;YAC5D,GAAG,UAAU;YACb,gBAAgB;YAChB,UAAU,EAAE,KAAK,CAAC,cAAc,EAAE;SACnC,CAAC;QAEF,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,MAAM,UAAU,EAAE,YAAY,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;YAChD,MAAM,UAAU,EAAE,UAAU,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;aAAM,IAAI,CAAC,UAAU,IAAI,UAAU,EAAE,CAAC;YACrC,6CAA6C;YAC7C,MAAM,UAAU,CAAC,UAAU,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,KAAK,CAAC,MAAM,GAAG,
|
|
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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,oBAAY,eAAe;IACzB;;;OAGG;IACH,KAAK,UAAU;IAEf;;;OAGG;IACH,IAAI,SAAS;IAEb;;;;OAIG;IACH,QAAQ,aAAa;IAErB;;;;OAIG;IACH,KAAK,UAAU;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wDAAwD;IACxD,MAAM,EAAE,MAAM,CAAC;IAEf,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,kDAAkD;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,yBAAyB;IACxC,8DAA8D;IAC9D,MAAM,EAAE,eAAe,CAAC;IAExB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
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,
|
|
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
|
|
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 (!
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
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
|
-
//
|
|
469
|
-
if (
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
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
|
-
|
|
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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"}
|