@polpo-ai/core 0.15.49 → 0.15.51

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 (82) hide show
  1. package/README.md +90 -14
  2. package/dist/__tests__/agent-model-routing.test.d.ts +2 -0
  3. package/dist/__tests__/agent-model-routing.test.d.ts.map +1 -0
  4. package/dist/__tests__/agent-model-routing.test.js +22 -0
  5. package/dist/__tests__/agent-model-routing.test.js.map +1 -0
  6. package/dist/__tests__/execution-router.test.js +182 -0
  7. package/dist/__tests__/execution-router.test.js.map +1 -1
  8. package/dist/__tests__/guardrail-policy-packs.test.d.ts +2 -0
  9. package/dist/__tests__/guardrail-policy-packs.test.d.ts.map +1 -0
  10. package/dist/__tests__/guardrail-policy-packs.test.js +287 -0
  11. package/dist/__tests__/guardrail-policy-packs.test.js.map +1 -0
  12. package/dist/__tests__/model-profiles.test.js +33 -2
  13. package/dist/__tests__/model-profiles.test.js.map +1 -1
  14. package/dist/__tests__/model-router.test.js +114 -0
  15. package/dist/__tests__/model-router.test.js.map +1 -1
  16. package/dist/__tests__/task-execution-router.test.js +31 -0
  17. package/dist/__tests__/task-execution-router.test.js.map +1 -1
  18. package/dist/execution-router.d.ts +30 -1
  19. package/dist/execution-router.d.ts.map +1 -1
  20. package/dist/execution-router.js +205 -7
  21. package/dist/execution-router.js.map +1 -1
  22. package/dist/guardrails/detectors.d.ts +12 -3
  23. package/dist/guardrails/detectors.d.ts.map +1 -1
  24. package/dist/guardrails/detectors.js +79 -4
  25. package/dist/guardrails/detectors.js.map +1 -1
  26. package/dist/guardrails/engine.d.ts.map +1 -1
  27. package/dist/guardrails/engine.js +6 -1
  28. package/dist/guardrails/engine.js.map +1 -1
  29. package/dist/guardrails/index.d.ts +4 -3
  30. package/dist/guardrails/index.d.ts.map +1 -1
  31. package/dist/guardrails/index.js +3 -2
  32. package/dist/guardrails/index.js.map +1 -1
  33. package/dist/guardrails/preflight-policy.d.ts +4 -0
  34. package/dist/guardrails/preflight-policy.d.ts.map +1 -0
  35. package/dist/guardrails/preflight-policy.js +43 -0
  36. package/dist/guardrails/preflight-policy.js.map +1 -0
  37. package/dist/guardrails/settings.d.ts +2 -1
  38. package/dist/guardrails/settings.d.ts.map +1 -1
  39. package/dist/guardrails/settings.js +175 -11
  40. package/dist/guardrails/settings.js.map +1 -1
  41. package/dist/guardrails/types.d.ts +47 -0
  42. package/dist/guardrails/types.d.ts.map +1 -1
  43. package/dist/hooks.d.ts +3 -1
  44. package/dist/hooks.d.ts.map +1 -1
  45. package/dist/hooks.js.map +1 -1
  46. package/dist/index.d.ts +2 -2
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/model-profiles.d.ts +4 -0
  51. package/dist/model-profiles.d.ts.map +1 -1
  52. package/dist/model-profiles.js +8 -8
  53. package/dist/model-profiles.js.map +1 -1
  54. package/dist/model-router.d.ts +30 -0
  55. package/dist/model-router.d.ts.map +1 -1
  56. package/dist/model-router.js +201 -4
  57. package/dist/model-router.js.map +1 -1
  58. package/dist/runtime-context/index.d.ts +2 -2
  59. package/dist/runtime-context/index.d.ts.map +1 -1
  60. package/dist/runtime-context/index.js +1 -1
  61. package/dist/runtime-context/index.js.map +1 -1
  62. package/dist/runtime-context/runtime-context.d.ts +2 -0
  63. package/dist/runtime-context/runtime-context.d.ts.map +1 -1
  64. package/dist/runtime-context/runtime-context.js +39 -4
  65. package/dist/runtime-context/runtime-context.js.map +1 -1
  66. package/dist/runtime-context/runtime-context.test.js +38 -0
  67. package/dist/runtime-context/runtime-context.test.js.map +1 -1
  68. package/dist/runtime-context/types.d.ts +9 -0
  69. package/dist/runtime-context/types.d.ts.map +1 -1
  70. package/dist/task-manager.d.ts +3 -1
  71. package/dist/task-manager.d.ts.map +1 -1
  72. package/dist/task-manager.js +4 -0
  73. package/dist/task-manager.js.map +1 -1
  74. package/dist/task-runner.d.ts.map +1 -1
  75. package/dist/task-runner.js +2 -2
  76. package/dist/task-runner.js.map +1 -1
  77. package/dist/types/agent.d.ts +7 -1
  78. package/dist/types/agent.d.ts.map +1 -1
  79. package/dist/types/agent.js.map +1 -1
  80. package/dist/types/task.d.ts +5 -0
  81. package/dist/types/task.d.ts.map +1 -1
  82. package/package.json +1 -1
@@ -43,7 +43,12 @@ function mapStrings(value, mapper, seen = new WeakMap()) {
43
43
  let matches = 0;
44
44
  for (const [key, item] of Object.entries(value)) {
45
45
  const mapped = mapStrings(item, mapper, seen);
46
- output[key] = mapped.value;
46
+ Object.defineProperty(output, key, {
47
+ configurable: true,
48
+ enumerable: true,
49
+ value: mapped.value,
50
+ writable: true,
51
+ });
47
52
  matches += mapped.matches;
48
53
  }
49
54
  return { value: output, matches };
@@ -81,6 +86,39 @@ export function createSecretPatternPolicy(options = {}) {
81
86
  },
82
87
  };
83
88
  }
89
+ function redactTerms(value, terms, caseSensitive, replacement) {
90
+ let output = value;
91
+ let matches = 0;
92
+ for (const term of terms) {
93
+ const escaped = term.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
94
+ const pattern = new RegExp(escaped, caseSensitive ? "gu" : "giu");
95
+ output = output.replace(pattern, () => {
96
+ matches++;
97
+ return replacement;
98
+ });
99
+ }
100
+ return { value: output, matches };
101
+ }
102
+ export function createContentTermsPolicy(rule) {
103
+ const replacement = rule.replacement ?? "[REDACTED]";
104
+ return {
105
+ id: rule.id,
106
+ version: "1",
107
+ priority: 400,
108
+ phases: rule.phases,
109
+ evaluate(input) {
110
+ const mapped = mapStrings(input.value, (value) => redactTerms(value, rule.containsAny, rule.caseSensitive === true, replacement));
111
+ if (mapped.matches === 0)
112
+ return null;
113
+ return {
114
+ action: rule.action,
115
+ risk: rule.risk,
116
+ reason: `Matched content policy "${rule.id}"`,
117
+ ...(rule.action === "redact" ? { value: mapped.value } : {}),
118
+ };
119
+ },
120
+ };
121
+ }
84
122
  const DESTRUCTIVE_PATTERNS = [
85
123
  /\brm\s+(?:-[^\s]*[rf][^\s]*\s+){1,}(?:\/(?:\s|$)|~(?:\/|\s|$)|\$HOME(?:\/|\s|$))/i,
86
124
  /\b(?:mkfs(?:\.[a-z0-9]+)?|wipefs)\b/i,
@@ -377,11 +415,13 @@ export function createBoundedValuePolicy(options) {
377
415
  },
378
416
  };
379
417
  }
380
- export function createDefaultToolGuardrailPolicies() {
418
+ export function createDefaultToolGuardrailPolicies(options = {}) {
381
419
  return Object.freeze([
382
420
  createCrossScopePolicy(),
383
421
  createToolArgumentsPolicy(),
384
- createDestructiveOperationPolicy(),
422
+ createDestructiveOperationPolicy({
423
+ action: options.strict ? "block" : "approval",
424
+ }),
385
425
  createPrivateNetworkPolicy(),
386
426
  createSecretPatternPolicy({
387
427
  id: "secrets.tool-input",
@@ -395,7 +435,7 @@ export function createDefaultToolGuardrailPolicies() {
395
435
  }),
396
436
  ]);
397
437
  }
398
- export function createDefaultOutputGuardrailPolicies(maxCharacters) {
438
+ export function createDefaultOutputGuardrailPolicies(maxCharacters, contentRules = []) {
399
439
  return Object.freeze([
400
440
  createCrossScopePolicy(),
401
441
  ...(maxCharacters !== undefined
@@ -411,6 +451,41 @@ export function createDefaultOutputGuardrailPolicies(maxCharacters) {
411
451
  phases: ["output"],
412
452
  action: "redact",
413
453
  }),
454
+ ...contentRules
455
+ .filter((rule) => rule.phases.includes("output"))
456
+ .map(createContentTermsPolicy),
457
+ ]);
458
+ }
459
+ export function createDefaultPreflightGuardrailPolicies(options) {
460
+ const contentRules = options.contentRules ?? [];
461
+ return Object.freeze([
462
+ createCrossScopePolicy(),
463
+ createBoundedValuePolicy({
464
+ id: "input.bounded-value",
465
+ phases: ["input"],
466
+ maxCharacters: options.maxInputCharacters,
467
+ action: "block",
468
+ }),
469
+ createBoundedValuePolicy({
470
+ id: "context.bounded-value",
471
+ phases: ["context"],
472
+ maxCharacters: options.maxContextCharacters,
473
+ action: "block",
474
+ }),
475
+ createBoundedValuePolicy({
476
+ id: "model.bounded-input",
477
+ phases: ["model.preflight"],
478
+ maxCharacters: options.maxModelInputCharacters,
479
+ action: "block",
480
+ }),
481
+ createSecretPatternPolicy({
482
+ id: "secrets.preflight",
483
+ phases: ["input", "context", "model.preflight"],
484
+ action: "redact",
485
+ }),
486
+ ...contentRules
487
+ .filter((rule) => rule.phases.some((phase) => phase === "input" || phase === "context" || phase === "model.preflight"))
488
+ .map(createContentTermsPolicy),
414
489
  ]);
415
490
  }
416
491
  //# sourceMappingURL=detectors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../src/guardrails/detectors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detectors.js","sourceRoot":"","sources":["../../src/guardrails/detectors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/guardrails/engine.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AA0FpB,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAK;gBAGnB,QAAQ,EAAE,SAAS,sBAAsB,EAAE,EAC3C,OAAO,GAAE,6BAAkC;IASvC,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAsEzC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,cAAc;YAOR,YAAY;CAyB3B"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/guardrails/engine.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AA+FpB,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA2B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAK;gBAGnB,QAAQ,EAAE,SAAS,sBAAsB,EAAE,EAC3C,OAAO,GAAE,6BAAkC;IASvC,QAAQ,CAAC,CAAC,EACd,KAAK,EAAE,+BAA+B,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;IAsEzC,OAAO,CAAC,QAAQ;IAIhB,OAAO,CAAC,cAAc;YAOR,YAAY;CAyB3B"}
@@ -33,7 +33,12 @@ function cloneValue(value, seen = new WeakMap()) {
33
33
  const clone = {};
34
34
  seen.set(value, clone);
35
35
  for (const [key, entry] of Object.entries(value)) {
36
- clone[key] = cloneValue(entry, seen);
36
+ Object.defineProperty(clone, key, {
37
+ configurable: true,
38
+ enumerable: true,
39
+ value: cloneValue(entry, seen),
40
+ writable: true,
41
+ });
37
42
  }
38
43
  return clone;
39
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/guardrails/engine.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AASpD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAyB;IACpD,OAAO;IACP,OAAO;IACP,OAAO;IACP,QAAQ;IACR,SAAS;IACT,OAAO;IACP,UAAU;CACX,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAuB;IAChD,MAAM;IACN,KAAK;IACL,QAAQ;IACR,MAAM;IACN,UAAU;CACX,CAAC,CAAC;AAEH,SAAS,UAAU,CAAI,KAAQ,EAAE,OAAO,IAAI,OAAO,EAAmB;IACpE,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;IAC3C,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAa,CAAC;IACjD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAc,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAC7D,OAAO,KAAU,CAAC;IACpB,CAAC;IACD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAM,CAAC;IACjE,MAAM,KAAK,GAA4B,EAAE,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,KAAe,EAAE,KAAK,CAAC,CAAC;IACjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;QAC5E,KAAK,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAU,CAAC;AACpB,CAAC;AAED,SAAS,WAAW,CAAI,KAAQ,EAAE,OAAO,IAAI,OAAO,EAAU;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,KAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAC3F,IAAI,CAAC,GAAG,CAAC,KAAe,CAAC,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC;QAAE,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAQ,EACR,SAAqC,EACrC,cAAqC;IAErC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;QACzB,SAAS,EAAE,eAAe;QAC1B,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC9C,CAAC,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAiC,EACjC,MAAuC;IAEvC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,8BAA8B,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACpE,CAAC;IACD,IACE,CAAC,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;QAC3D,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,EACtD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACpF,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC3B,KAAsC,EACtC,OAAsC;IAEtC,IAAI,KAAK,CAAC,IAAI,EAAE,UAAU,KAAK,MAAM,IAAI,OAAO,CAAC,qBAAqB,KAAK,OAAO,EAAE,CAAC;QACnF,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;AAC3C,CAAC;AAED,MAAM,OAAO,sBAAsB;IAChB,QAAQ,CAA2B;IACnC,OAAO,CAAgC;IAChD,QAAQ,GAAG,CAAC,CAAC;IAErB,YACE,QAA2C,EAC3C,UAAyC,EAAE;QAE3C,IAAI,CAAC,QAAQ,GAAG,QAAQ;aACrB,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;aAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aAC5F,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,KAAyC;QAEzC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,MAAM,SAAS,GAA+B,EAAE,CAAC;QAEjD,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC;gBAAE,SAAS;YACnD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,IAAI,MAA8C,CAAC;YACnD,IAAI,OAAgB,CAAC;YAErB,IAAI,CAAC;gBACH,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;oBAC3C,GAAG,KAAK;oBACR,KAAK;iBACN,CAAC,CAA2C,CAAC;gBAC9C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC7C,IAAI,MAAM;oBAAE,kBAAkB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,qBAAqB;oBAAE,MAAM,KAAK,CAAC;gBACxD,OAAO,GAAG,KAAK,CAAC;gBAChB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC;YAC5E,IAAI,QAA8C,CAAC;YACnD,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC3D,QAAQ,GAAG;oBACT,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;oBACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,MAAM,EAAE,0BAA0B;oBAClC,SAAS;oBACT,YAAY,EAAE,IAAI;iBACnB,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,EAAE,CAAC;gBAClB,QAAQ,GAAG;oBACT,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE;oBACnB,QAAQ,EAAE,MAAM,CAAC,EAAE;oBACnB,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5D,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;oBAC5B,SAAS;oBACT,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;iBAC3C,CAAC;gBACF,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBAC9D,KAAK,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,KAAU,CAAC,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC/C,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC/B,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;YAC7C,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBAClE,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,OAAO,gBAAgB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAEO,QAAQ;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,IAAI,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACrE,CAAC;IAEO,cAAc,CACpB,MAAoB,EACpB,YAAiD,EAAE;QAEnD,IAAI,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC7E,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,QAAkC,EAClC,KAAsC;QAEtC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;gBAC5C,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,GAAG,CAAC,KAAK,CAAC,IAAI;oBACZ,CAAC,CAAC;wBACE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC;4BAClB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;4BACrB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;4BACzB,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU;yBAClC,CAAC;qBACH;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;oBACrC,CAAC,CAAC,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE;oBAC5C,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/guardrails/engine.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  export { GuardrailAbortedError, GuardrailApprovalRequiredError, GuardrailBlockedError, GuardrailError, } from "./errors.js";
2
2
  export { RuntimeGuardrailEngine } from "./engine.js";
3
- export { createBoundedValuePolicy, createCrossScopePolicy, createDefaultOutputGuardrailPolicies, createDefaultToolGuardrailPolicies, createDestructiveOperationPolicy, createPrivateNetworkPolicy, createSecretPatternPolicy, createToolArgumentsPolicy, } from "./detectors.js";
3
+ export { createBoundedValuePolicy, createContentTermsPolicy, createCrossScopePolicy, createDefaultPreflightGuardrailPolicies, createDefaultOutputGuardrailPolicies, createDefaultToolGuardrailPolicies, createDestructiveOperationPolicy, createPrivateNetworkPolicy, createSecretPatternPolicy, createToolArgumentsPolicy, } from "./detectors.js";
4
+ export { createRunPreflightPolicy } from "./preflight-policy.js";
4
5
  export { createRunOutputPolicy } from "./output-policy.js";
5
6
  export { createObservationalRunToolMiddleware, createRunToolMiddleware, inferToolSideEffect, wrapRunToolExecutor, } from "./tool-middleware.js";
6
- export { createConfiguredRunToolMiddleware, createConfiguredRunOutputPolicy, normalizeRuntimeGuardrailSettings, } from "./settings.js";
7
- export type { RunToolExecutionResult, RunOutputPolicy, RunOutputPolicyOptions, RunOutputPolicyRequest, RunOutputPolicyResult, RunToolMiddleware, RunToolMiddlewareOptions, RunToolNext, RunToolRequest, RuntimeGuardrailApprovalHandler, RuntimeGuardrailApprovalResult, RuntimeGuardrailOutputApprovalHandler, RuntimeGuardrailAuditEvent, RuntimeGuardrailContext, RuntimeGuardrailEngineOptions, RuntimeGuardrailEvaluation, RuntimeGuardrailEvaluationInput, RuntimeGuardrailHostAdapters, RuntimeGuardrailPolicy, RuntimeGuardrailPolicyResult, RuntimeGuardrailSettings, RuntimeOutputEnforcementMode, RuntimeStreamingOutputMode, RuntimeGuardrailScope, RuntimeGuardrailToolContext, RuntimeToolSideEffect, } from "./types.js";
7
+ export { createConfiguredRunToolMiddleware, createConfiguredRunOutputPolicy, createConfiguredRunPreflightPolicy, normalizeRuntimeGuardrailSettings, } from "./settings.js";
8
+ export type { RunPreflightPolicy, RunPreflightPolicyRequest, RunPreflightPolicyResult, RunToolExecutionResult, RunOutputPolicy, RunOutputPolicyOptions, RunOutputPolicyRequest, RunOutputPolicyResult, RunToolMiddleware, RunToolMiddlewareOptions, RunToolNext, RunToolRequest, RuntimeGuardrailApprovalHandler, RuntimeGuardrailApprovalResult, RuntimeGuardrailContentAction, RuntimeGuardrailContentRule, RuntimeGuardrailOutputApprovalHandler, RuntimeGuardrailAuditEvent, RuntimeGuardrailContext, RuntimeGuardrailEngineOptions, RuntimeGuardrailEvaluation, RuntimeGuardrailEvaluationInput, RuntimeGuardrailHostAdapters, RuntimeGuardrailPolicy, RuntimeGuardrailPolicyPack, RuntimeGuardrailPolicyResult, RuntimeGuardrailSettings, RuntimeGuardrailPreflightPhase, RuntimeOutputEnforcementMode, RuntimeStreamingOutputMode, RuntimeGuardrailScope, RuntimeGuardrailToolContext, RuntimeToolSideEffect, } from "./types.js";
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guardrails/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oCAAoC,EACpC,kCAAkC,EAClC,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,oCAAoC,EACpC,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,EAC9B,qCAAqC,EACrC,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/guardrails/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,uCAAuC,EACvC,oCAAoC,EACpC,kCAAkC,EAClC,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,oCAAoC,EACpC,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,kBAAkB,EAClB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,eAAe,EACf,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,wBAAwB,EACxB,WAAW,EACX,cAAc,EACd,+BAA+B,EAC/B,8BAA8B,EAC9B,6BAA6B,EAC7B,2BAA2B,EAC3B,qCAAqC,EACrC,0BAA0B,EAC1B,uBAAuB,EACvB,6BAA6B,EAC7B,0BAA0B,EAC1B,+BAA+B,EAC/B,4BAA4B,EAC5B,sBAAsB,EACtB,0BAA0B,EAC1B,4BAA4B,EAC5B,wBAAwB,EACxB,8BAA8B,EAC9B,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,qBAAqB,GACtB,MAAM,YAAY,CAAC"}
@@ -1,7 +1,8 @@
1
1
  export { GuardrailAbortedError, GuardrailApprovalRequiredError, GuardrailBlockedError, GuardrailError, } from "./errors.js";
2
2
  export { RuntimeGuardrailEngine } from "./engine.js";
3
- export { createBoundedValuePolicy, createCrossScopePolicy, createDefaultOutputGuardrailPolicies, createDefaultToolGuardrailPolicies, createDestructiveOperationPolicy, createPrivateNetworkPolicy, createSecretPatternPolicy, createToolArgumentsPolicy, } from "./detectors.js";
3
+ export { createBoundedValuePolicy, createContentTermsPolicy, createCrossScopePolicy, createDefaultPreflightGuardrailPolicies, createDefaultOutputGuardrailPolicies, createDefaultToolGuardrailPolicies, createDestructiveOperationPolicy, createPrivateNetworkPolicy, createSecretPatternPolicy, createToolArgumentsPolicy, } from "./detectors.js";
4
+ export { createRunPreflightPolicy } from "./preflight-policy.js";
4
5
  export { createRunOutputPolicy } from "./output-policy.js";
5
6
  export { createObservationalRunToolMiddleware, createRunToolMiddleware, inferToolSideEffect, wrapRunToolExecutor, } from "./tool-middleware.js";
6
- export { createConfiguredRunToolMiddleware, createConfiguredRunOutputPolicy, normalizeRuntimeGuardrailSettings, } from "./settings.js";
7
+ export { createConfiguredRunToolMiddleware, createConfiguredRunOutputPolicy, createConfiguredRunPreflightPolicy, normalizeRuntimeGuardrailSettings, } from "./settings.js";
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guardrails/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,oCAAoC,EACpC,kCAAkC,EAClC,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,oCAAoC,EACpC,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,iCAAiC,GAClC,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/guardrails/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EACrB,8BAA8B,EAC9B,qBAAqB,EACrB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EACL,wBAAwB,EACxB,wBAAwB,EACxB,sBAAsB,EACtB,uCAAuC,EACvC,oCAAoC,EACpC,kCAAkC,EAClC,gCAAgC,EAChC,0BAA0B,EAC1B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,oCAAoC,EACpC,uBAAuB,EACvB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,iCAAiC,EACjC,+BAA+B,EAC/B,kCAAkC,EAClC,iCAAiC,GAClC,MAAM,eAAe,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { RuntimeGuardrailEngine } from "./engine.js";
2
+ import type { RunPreflightPolicy } from "./types.js";
3
+ export declare function createRunPreflightPolicy(engine: RuntimeGuardrailEngine): RunPreflightPolicy;
4
+ //# sourceMappingURL=preflight-policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight-policy.d.ts","sourceRoot":"","sources":["../../src/guardrails/preflight-policy.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EACV,kBAAkB,EAGnB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,sBAAsB,GAC7B,kBAAkB,CAoDpB"}
@@ -0,0 +1,43 @@
1
+ import { GuardrailApprovalRequiredError, GuardrailBlockedError, } from "./errors.js";
2
+ function terminalReason(decisions) {
3
+ return decisions[decisions.length - 1]?.reason ?? "Guardrail rejected preflight input";
4
+ }
5
+ export function createRunPreflightPolicy(engine) {
6
+ return Object.freeze({
7
+ async evaluate(request) {
8
+ if (request.phase !== "input"
9
+ && request.phase !== "context"
10
+ && request.phase !== "model.preflight") {
11
+ throw new TypeError('Preflight guardrail phase must be "input", "context", or "model.preflight"');
12
+ }
13
+ if (request.mode !== "enforce" && request.mode !== "audit") {
14
+ throw new TypeError('Guardrail preflight mode must be "enforce" or "audit"');
15
+ }
16
+ const evaluation = await engine.evaluate({
17
+ phase: request.phase,
18
+ value: request.value,
19
+ context: request.context,
20
+ signal: request.signal,
21
+ });
22
+ if (request.mode === "audit") {
23
+ return Object.freeze({
24
+ value: request.value,
25
+ decisions: evaluation.decisions,
26
+ enforced: false,
27
+ });
28
+ }
29
+ if (evaluation.terminalAction === "block") {
30
+ throw new GuardrailBlockedError(terminalReason(evaluation.decisions), evaluation.decisions);
31
+ }
32
+ if (evaluation.terminalAction === "approval") {
33
+ throw new GuardrailApprovalRequiredError(terminalReason(evaluation.decisions), evaluation.decisions);
34
+ }
35
+ return Object.freeze({
36
+ value: evaluation.value,
37
+ decisions: evaluation.decisions,
38
+ enforced: true,
39
+ });
40
+ },
41
+ });
42
+ }
43
+ //# sourceMappingURL=preflight-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preflight-policy.js","sourceRoot":"","sources":["../../src/guardrails/preflight-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAQrB,SAAS,cAAc,CACrB,SAAgD;IAEhD,OAAO,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,IAAI,oCAAoC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA8B;IAE9B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,CAAC,QAAQ,CACZ,OAAqC;YAErC,IACE,OAAO,CAAC,KAAK,KAAK,OAAO;mBACtB,OAAO,CAAC,KAAK,KAAK,SAAS;mBAC3B,OAAO,CAAC,KAAK,KAAK,iBAAiB,EACtC,CAAC;gBACD,MAAM,IAAI,SAAS,CACjB,4EAA4E,CAC7E,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC3D,MAAM,IAAI,SAAS,CAAC,uDAAuD,CAAC,CAAC;YAC/E,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACvC,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC7B,OAAO,MAAM,CAAC,MAAM,CAAC;oBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,SAAS,EAAE,UAAU,CAAC,SAAS;oBAC/B,QAAQ,EAAE,KAAK;iBAChB,CAAC,CAAC;YACL,CAAC;YACD,IAAI,UAAU,CAAC,cAAc,KAAK,OAAO,EAAE,CAAC;gBAC1C,MAAM,IAAI,qBAAqB,CAC7B,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EACpC,UAAU,CAAC,SAAS,CACrB,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;gBAC7C,MAAM,IAAI,8BAA8B,CACtC,cAAc,CAAC,UAAU,CAAC,SAAS,CAAC,EACpC,UAAU,CAAC,SAAS,CACrB,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,CAAC,MAAM,CAAC;gBACnB,KAAK,EAAE,UAAU,CAAC,KAAU;gBAC5B,SAAS,EAAE,UAAU,CAAC,SAAS;gBAC/B,QAAQ,EAAE,IAAI;aACf,CAAC,CAAC;QACL,CAAC;KACF,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,6 @@
1
- import type { RunOutputPolicy, RunToolMiddleware, RuntimeGuardrailHostAdapters, RuntimeGuardrailSettings } from "./types.js";
1
+ import type { RunPreflightPolicy, RunOutputPolicy, RunToolMiddleware, RuntimeGuardrailHostAdapters, RuntimeGuardrailSettings } from "./types.js";
2
2
  export declare function normalizeRuntimeGuardrailSettings(value: unknown): RuntimeGuardrailSettings | undefined;
3
+ export declare function createConfiguredRunPreflightPolicy(value: RuntimeGuardrailSettings | undefined, adapters?: RuntimeGuardrailHostAdapters): RunPreflightPolicy | undefined;
3
4
  /**
4
5
  * Build the OSS deterministic policy pack from serializable host settings.
5
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/guardrails/settings.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,4BAA4B,EAC5B,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,OAAO,GACb,wBAAwB,GAAG,SAAS,CAiGtC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAC3C,QAAQ,GAAE,4BAAiC,GAC1C,iBAAiB,GAAG,SAAS,CAe/B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAC3C,QAAQ,GAAE,4BAAiC,GAC1C,eAAe,GAAG,SAAS,CAY7B"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/guardrails/settings.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EAEjB,4BAA4B,EAE5B,wBAAwB,EACzB,MAAM,YAAY,CAAC;AAmHpB,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,OAAO,GACb,wBAAwB,GAAG,SAAS,CA8JtC;AAoBD,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAC3C,QAAQ,GAAE,4BAAiC,GAC1C,kBAAkB,GAAG,SAAS,CAoBhC;AAED;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAC/C,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAC3C,QAAQ,GAAE,4BAAiC,GAC1C,iBAAiB,GAAG,SAAS,CAoB/B;AAED,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,wBAAwB,GAAG,SAAS,EAC3C,QAAQ,GAAE,4BAAiC,GAC1C,eAAe,GAAG,SAAS,CAkB7B"}
@@ -1,7 +1,98 @@
1
- import { createDefaultOutputGuardrailPolicies, createDefaultToolGuardrailPolicies, } from "./detectors.js";
1
+ import { createDefaultPreflightGuardrailPolicies, createDefaultOutputGuardrailPolicies, createDefaultToolGuardrailPolicies, } from "./detectors.js";
2
2
  import { RuntimeGuardrailEngine } from "./engine.js";
3
3
  import { createRunOutputPolicy } from "./output-policy.js";
4
+ import { createRunPreflightPolicy } from "./preflight-policy.js";
4
5
  import { createRunToolMiddleware } from "./tool-middleware.js";
6
+ const MAX_CONTENT_RULES = 32;
7
+ const MAX_RULE_TERMS = 32;
8
+ const MAX_TERM_CHARACTERS = 128;
9
+ const CONTENT_RULE_ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,63}$/;
10
+ const CONTENT_RULE_PHASES = new Set([
11
+ "input",
12
+ "context",
13
+ "model.preflight",
14
+ "output",
15
+ ]);
16
+ const CONTENT_RULE_ACTIONS = new Set(["audit", "redact", "block"]);
17
+ const CONTENT_RULE_RISKS = new Set(["low", "medium", "high", "critical"]);
18
+ const STANDARD_PREFLIGHT_LIMITS = Object.freeze({
19
+ maxInputCharacters: 4_000_000,
20
+ maxContextCharacters: 2_000_000,
21
+ maxModelInputCharacters: 8_000_000,
22
+ });
23
+ const STRICT_PREFLIGHT_LIMITS = Object.freeze({
24
+ maxInputCharacters: 1_000_000,
25
+ maxContextCharacters: 1_000_000,
26
+ maxModelInputCharacters: 2_000_000,
27
+ });
28
+ function optionalPositiveInteger(raw, field) {
29
+ const value = raw[field];
30
+ if (value === undefined)
31
+ return undefined;
32
+ if (!Number.isSafeInteger(value) || value < 1) {
33
+ throw new TypeError(`guardrails.${field} must be a positive safe integer`);
34
+ }
35
+ return value;
36
+ }
37
+ function normalizeContentRules(value) {
38
+ if (!Array.isArray(value) || value.length === 0 || value.length > MAX_CONTENT_RULES) {
39
+ throw new TypeError(`guardrails.contentRules must contain 1-${MAX_CONTENT_RULES} rules`);
40
+ }
41
+ const seen = new Set();
42
+ return Object.freeze(value.map((entry, index) => {
43
+ const path = `guardrails.contentRules[${index}]`;
44
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
45
+ throw new TypeError(`${path} must be an object`);
46
+ }
47
+ const raw = entry;
48
+ if (typeof raw.id !== "string" || !CONTENT_RULE_ID.test(raw.id)) {
49
+ throw new TypeError(`${path}.id must be a stable 1-64 character identifier`);
50
+ }
51
+ if (seen.has(raw.id)) {
52
+ throw new TypeError(`${path}.id must be unique`);
53
+ }
54
+ seen.add(raw.id);
55
+ if (!Array.isArray(raw.phases)
56
+ || raw.phases.length === 0
57
+ || raw.phases.some((phase) => typeof phase !== "string" || !CONTENT_RULE_PHASES.has(phase))) {
58
+ throw new TypeError(`${path}.phases may contain input, context, model.preflight, or output`);
59
+ }
60
+ if (typeof raw.action !== "string" || !CONTENT_RULE_ACTIONS.has(raw.action)) {
61
+ throw new TypeError(`${path}.action must be audit, redact, or block`);
62
+ }
63
+ if (typeof raw.risk !== "string" || !CONTENT_RULE_RISKS.has(raw.risk)) {
64
+ throw new TypeError(`${path}.risk must be low, medium, high, or critical`);
65
+ }
66
+ if (!Array.isArray(raw.containsAny)
67
+ || raw.containsAny.length === 0
68
+ || raw.containsAny.length > MAX_RULE_TERMS
69
+ || raw.containsAny.some((term) => typeof term !== "string"
70
+ || term.trim().length === 0
71
+ || term.length > MAX_TERM_CHARACTERS)) {
72
+ throw new TypeError(`${path}.containsAny must contain 1-${MAX_RULE_TERMS} bounded terms`);
73
+ }
74
+ if (raw.caseSensitive !== undefined && typeof raw.caseSensitive !== "boolean") {
75
+ throw new TypeError(`${path}.caseSensitive must be a boolean`);
76
+ }
77
+ if (raw.replacement !== undefined
78
+ && (raw.action !== "redact"
79
+ || typeof raw.replacement !== "string"
80
+ || raw.replacement.length > 64)) {
81
+ throw new TypeError(`${path}.replacement is only allowed for redact and is limited to 64 characters`);
82
+ }
83
+ return Object.freeze({
84
+ id: raw.id,
85
+ phases: Object.freeze([...new Set(raw.phases)]),
86
+ action: raw.action,
87
+ risk: raw.risk,
88
+ containsAny: Object.freeze([
89
+ ...new Set(raw.containsAny.map((term) => term.trim())),
90
+ ]),
91
+ ...(raw.caseSensitive === true ? { caseSensitive: true } : {}),
92
+ ...(raw.replacement !== undefined ? { replacement: raw.replacement } : {}),
93
+ });
94
+ }));
95
+ }
5
96
  export function normalizeRuntimeGuardrailSettings(value) {
6
97
  if (value === undefined || value === null)
7
98
  return undefined;
@@ -9,29 +100,59 @@ export function normalizeRuntimeGuardrailSettings(value) {
9
100
  throw new TypeError("guardrails must be an object");
10
101
  }
11
102
  const raw = value;
12
- if (raw.toolPolicyPack === undefined
103
+ if (raw.policyPack === undefined
104
+ &&
105
+ raw.toolPolicyPack === undefined
13
106
  && raw.outputPolicyPack === undefined
14
107
  && Object.keys(raw).length === 0) {
15
108
  return undefined;
16
109
  }
110
+ if (raw.policyPack !== undefined
111
+ && raw.policyPack !== "standard"
112
+ && raw.policyPack !== "strict"
113
+ && raw.policyPack !== "custom") {
114
+ throw new TypeError('guardrails.policyPack must be "standard", "strict", or "custom"');
115
+ }
116
+ if (raw.policyPack !== undefined
117
+ && (raw.toolPolicyPack !== undefined || raw.outputPolicyPack !== undefined)) {
118
+ throw new TypeError("guardrails.policyPack cannot be combined with legacy split policy packs");
119
+ }
17
120
  if (raw.toolPolicyPack !== undefined && raw.toolPolicyPack !== "default") {
18
121
  throw new TypeError('guardrails.toolPolicyPack must be "default"');
19
122
  }
20
123
  if (raw.outputPolicyPack !== undefined && raw.outputPolicyPack !== "default") {
21
124
  throw new TypeError('guardrails.outputPolicyPack must be "default"');
22
125
  }
23
- if (raw.toolPolicyPack === undefined && (raw.maxToolOutputCharacters !== undefined
126
+ const unifiedPack = raw.policyPack;
127
+ const toolEnabled = unifiedPack !== undefined || raw.toolPolicyPack !== undefined;
128
+ const outputEnabled = unifiedPack !== undefined || raw.outputPolicyPack !== undefined;
129
+ if (!toolEnabled && (raw.maxToolOutputCharacters !== undefined
24
130
  || raw.readOnlyPolicyFailure !== undefined)) {
25
131
  throw new TypeError("guardrails tool settings require guardrails.toolPolicyPack");
26
132
  }
27
- if (raw.outputPolicyPack === undefined && (raw.maxFinalOutputCharacters !== undefined
133
+ if (!outputEnabled && (raw.maxFinalOutputCharacters !== undefined
28
134
  || raw.streamingOutputMode !== undefined)) {
29
135
  const field = raw.streamingOutputMode !== undefined
30
136
  ? "streamingOutputMode"
31
137
  : "maxFinalOutputCharacters";
32
138
  throw new TypeError(`guardrails.${field} requires guardrails.outputPolicyPack`);
33
139
  }
34
- if (raw.toolPolicyPack === undefined && raw.outputPolicyPack === undefined) {
140
+ if (unifiedPack === undefined
141
+ && (raw.maxInputCharacters !== undefined
142
+ || raw.maxContextCharacters !== undefined
143
+ || raw.maxModelInputCharacters !== undefined)) {
144
+ throw new TypeError("guardrails preflight limits require guardrails.policyPack");
145
+ }
146
+ let contentRules;
147
+ if (unifiedPack === "custom") {
148
+ contentRules = normalizeContentRules(raw.contentRules);
149
+ }
150
+ else if (raw.contentRules !== undefined) {
151
+ throw new TypeError('guardrails.contentRules requires guardrails.policyPack="custom"');
152
+ }
153
+ if (unifiedPack === undefined
154
+ && raw.toolPolicyPack === undefined
155
+ && raw.outputPolicyPack === undefined) {
35
156
  return undefined;
36
157
  }
37
158
  let maxToolOutputCharacters;
@@ -58,15 +179,27 @@ export function normalizeRuntimeGuardrailSettings(value) {
58
179
  maxFinalOutputCharacters = raw.maxFinalOutputCharacters;
59
180
  }
60
181
  let streamingOutputMode;
61
- if (raw.outputPolicyPack !== undefined) {
182
+ if (outputEnabled) {
62
183
  if (raw.streamingOutputMode !== undefined
63
184
  && raw.streamingOutputMode !== "audit"
64
185
  && raw.streamingOutputMode !== "buffer") {
65
186
  throw new TypeError('guardrails.streamingOutputMode must be "audit" or "buffer"');
66
187
  }
67
- streamingOutputMode = (raw.streamingOutputMode ?? "audit");
188
+ streamingOutputMode = (raw.streamingOutputMode
189
+ ?? (unifiedPack === "strict" ? "buffer" : "audit"));
190
+ }
191
+ if (unifiedPack === "strict" && readOnlyPolicyFailure === undefined) {
192
+ readOnlyPolicyFailure = "block";
68
193
  }
194
+ const maxInputCharacters = optionalPositiveInteger(raw, "maxInputCharacters");
195
+ const maxContextCharacters = optionalPositiveInteger(raw, "maxContextCharacters");
196
+ const maxModelInputCharacters = optionalPositiveInteger(raw, "maxModelInputCharacters");
69
197
  return Object.freeze({
198
+ ...(unifiedPack !== undefined ? { policyPack: unifiedPack } : {}),
199
+ ...(contentRules !== undefined ? { contentRules } : {}),
200
+ ...(maxInputCharacters !== undefined ? { maxInputCharacters } : {}),
201
+ ...(maxContextCharacters !== undefined ? { maxContextCharacters } : {}),
202
+ ...(maxModelInputCharacters !== undefined ? { maxModelInputCharacters } : {}),
70
203
  ...(raw.toolPolicyPack === "default" ? { toolPolicyPack: "default" } : {}),
71
204
  ...(raw.outputPolicyPack === "default" ? { outputPolicyPack: "default" } : {}),
72
205
  ...(maxToolOutputCharacters !== undefined ? { maxToolOutputCharacters } : {}),
@@ -75,6 +208,35 @@ export function normalizeRuntimeGuardrailSettings(value) {
75
208
  ...(streamingOutputMode !== undefined ? { streamingOutputMode } : {}),
76
209
  });
77
210
  }
211
+ function configuredPolicies(builtIn, adapters) {
212
+ const policies = [
213
+ ...builtIn,
214
+ ...(adapters.policies ?? []),
215
+ ];
216
+ const ids = new Set();
217
+ for (const policy of policies) {
218
+ if (ids.has(policy.id)) {
219
+ throw new TypeError(`Duplicate guardrail policy id "${policy.id}"`);
220
+ }
221
+ ids.add(policy.id);
222
+ }
223
+ return Object.freeze(policies);
224
+ }
225
+ export function createConfiguredRunPreflightPolicy(value, adapters = {}) {
226
+ const settings = normalizeRuntimeGuardrailSettings(value);
227
+ if (!settings?.policyPack)
228
+ return undefined;
229
+ const limits = settings.policyPack === "strict"
230
+ ? STRICT_PREFLIGHT_LIMITS
231
+ : STANDARD_PREFLIGHT_LIMITS;
232
+ const engine = new RuntimeGuardrailEngine(configuredPolicies(createDefaultPreflightGuardrailPolicies({
233
+ contentRules: settings.contentRules,
234
+ maxInputCharacters: settings.maxInputCharacters ?? limits.maxInputCharacters,
235
+ maxContextCharacters: settings.maxContextCharacters ?? limits.maxContextCharacters,
236
+ maxModelInputCharacters: settings.maxModelInputCharacters ?? limits.maxModelInputCharacters,
237
+ }), adapters), { onDecision: adapters.onDecision });
238
+ return createRunPreflightPolicy(engine);
239
+ }
78
240
  /**
79
241
  * Build the OSS deterministic policy pack from serializable host settings.
80
242
  *
@@ -84,9 +246,11 @@ export function normalizeRuntimeGuardrailSettings(value) {
84
246
  */
85
247
  export function createConfiguredRunToolMiddleware(value, adapters = {}) {
86
248
  const settings = normalizeRuntimeGuardrailSettings(value);
87
- if (!settings?.toolPolicyPack)
249
+ if (!settings?.policyPack && !settings?.toolPolicyPack)
88
250
  return undefined;
89
- const engine = new RuntimeGuardrailEngine(createDefaultToolGuardrailPolicies(), {
251
+ const engine = new RuntimeGuardrailEngine(configuredPolicies(createDefaultToolGuardrailPolicies({
252
+ strict: settings.policyPack === "strict",
253
+ }), adapters), {
90
254
  onDecision: adapters.onDecision,
91
255
  readOnlyPolicyFailure: settings.readOnlyPolicyFailure,
92
256
  });
@@ -97,9 +261,9 @@ export function createConfiguredRunToolMiddleware(value, adapters = {}) {
97
261
  }
98
262
  export function createConfiguredRunOutputPolicy(value, adapters = {}) {
99
263
  const settings = normalizeRuntimeGuardrailSettings(value);
100
- if (!settings?.outputPolicyPack)
264
+ if (!settings?.policyPack && !settings?.outputPolicyPack)
101
265
  return undefined;
102
- const engine = new RuntimeGuardrailEngine(createDefaultOutputGuardrailPolicies(settings.maxFinalOutputCharacters), { onDecision: adapters.onDecision });
266
+ const engine = new RuntimeGuardrailEngine(configuredPolicies(createDefaultOutputGuardrailPolicies(settings.maxFinalOutputCharacters, settings.contentRules), adapters), { onDecision: adapters.onDecision });
103
267
  return createRunOutputPolicy(engine, {
104
268
  approval: adapters.outputApproval,
105
269
  streamingMode: settings.streamingOutputMode,