mcp-rubber-duck 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (169) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +274 -2
  3. package/audit-ci.json +2 -1
  4. package/dist/config/config.d.ts +2 -0
  5. package/dist/config/config.d.ts.map +1 -1
  6. package/dist/config/config.js +144 -1
  7. package/dist/config/config.js.map +1 -1
  8. package/dist/config/types.d.ts +1084 -2
  9. package/dist/config/types.d.ts.map +1 -1
  10. package/dist/config/types.js +59 -0
  11. package/dist/config/types.js.map +1 -1
  12. package/dist/guardrails/context.d.ts +10 -0
  13. package/dist/guardrails/context.d.ts.map +1 -0
  14. package/dist/guardrails/context.js +35 -0
  15. package/dist/guardrails/context.js.map +1 -0
  16. package/dist/guardrails/errors.d.ts +26 -0
  17. package/dist/guardrails/errors.d.ts.map +1 -0
  18. package/dist/guardrails/errors.js +42 -0
  19. package/dist/guardrails/errors.js.map +1 -0
  20. package/dist/guardrails/index.d.ts +6 -0
  21. package/dist/guardrails/index.d.ts.map +1 -0
  22. package/dist/guardrails/index.js +11 -0
  23. package/dist/guardrails/index.js.map +1 -0
  24. package/dist/guardrails/plugins/base-plugin.d.ts +35 -0
  25. package/dist/guardrails/plugins/base-plugin.d.ts.map +1 -0
  26. package/dist/guardrails/plugins/base-plugin.js +70 -0
  27. package/dist/guardrails/plugins/base-plugin.js.map +1 -0
  28. package/dist/guardrails/plugins/index.d.ts +6 -0
  29. package/dist/guardrails/plugins/index.d.ts.map +1 -0
  30. package/dist/guardrails/plugins/index.js +6 -0
  31. package/dist/guardrails/plugins/index.js.map +1 -0
  32. package/dist/guardrails/plugins/pattern-blocker.d.ts +27 -0
  33. package/dist/guardrails/plugins/pattern-blocker.d.ts.map +1 -0
  34. package/dist/guardrails/plugins/pattern-blocker.js +140 -0
  35. package/dist/guardrails/plugins/pattern-blocker.js.map +1 -0
  36. package/dist/guardrails/plugins/pii-redactor/detectors.d.ts +40 -0
  37. package/dist/guardrails/plugins/pii-redactor/detectors.d.ts.map +1 -0
  38. package/dist/guardrails/plugins/pii-redactor/detectors.js +134 -0
  39. package/dist/guardrails/plugins/pii-redactor/detectors.js.map +1 -0
  40. package/dist/guardrails/plugins/pii-redactor/index.d.ts +28 -0
  41. package/dist/guardrails/plugins/pii-redactor/index.d.ts.map +1 -0
  42. package/dist/guardrails/plugins/pii-redactor/index.js +157 -0
  43. package/dist/guardrails/plugins/pii-redactor/index.js.map +1 -0
  44. package/dist/guardrails/plugins/pii-redactor/pseudonymizer.d.ts +33 -0
  45. package/dist/guardrails/plugins/pii-redactor/pseudonymizer.d.ts.map +1 -0
  46. package/dist/guardrails/plugins/pii-redactor/pseudonymizer.js +70 -0
  47. package/dist/guardrails/plugins/pii-redactor/pseudonymizer.js.map +1 -0
  48. package/dist/guardrails/plugins/rate-limiter.d.ts +28 -0
  49. package/dist/guardrails/plugins/rate-limiter.d.ts.map +1 -0
  50. package/dist/guardrails/plugins/rate-limiter.js +91 -0
  51. package/dist/guardrails/plugins/rate-limiter.js.map +1 -0
  52. package/dist/guardrails/plugins/token-limiter.d.ts +30 -0
  53. package/dist/guardrails/plugins/token-limiter.d.ts.map +1 -0
  54. package/dist/guardrails/plugins/token-limiter.js +98 -0
  55. package/dist/guardrails/plugins/token-limiter.js.map +1 -0
  56. package/dist/guardrails/service.d.ts +38 -0
  57. package/dist/guardrails/service.d.ts.map +1 -0
  58. package/dist/guardrails/service.js +183 -0
  59. package/dist/guardrails/service.js.map +1 -0
  60. package/dist/guardrails/types.d.ts +96 -0
  61. package/dist/guardrails/types.d.ts.map +1 -0
  62. package/dist/guardrails/types.js +2 -0
  63. package/dist/guardrails/types.js.map +1 -0
  64. package/dist/prompts/architecture.d.ts +6 -0
  65. package/dist/prompts/architecture.d.ts.map +1 -0
  66. package/dist/prompts/architecture.js +103 -0
  67. package/dist/prompts/architecture.js.map +1 -0
  68. package/dist/prompts/assumptions.d.ts +6 -0
  69. package/dist/prompts/assumptions.d.ts.map +1 -0
  70. package/dist/prompts/assumptions.js +72 -0
  71. package/dist/prompts/assumptions.js.map +1 -0
  72. package/dist/prompts/blindspots.d.ts +6 -0
  73. package/dist/prompts/blindspots.d.ts.map +1 -0
  74. package/dist/prompts/blindspots.js +71 -0
  75. package/dist/prompts/blindspots.js.map +1 -0
  76. package/dist/prompts/diverge-converge.d.ts +6 -0
  77. package/dist/prompts/diverge-converge.d.ts.map +1 -0
  78. package/dist/prompts/diverge-converge.js +85 -0
  79. package/dist/prompts/diverge-converge.js.map +1 -0
  80. package/dist/prompts/index.d.ts +22 -0
  81. package/dist/prompts/index.d.ts.map +1 -0
  82. package/dist/prompts/index.js +57 -0
  83. package/dist/prompts/index.js.map +1 -0
  84. package/dist/prompts/perspectives.d.ts +7 -0
  85. package/dist/prompts/perspectives.d.ts.map +1 -0
  86. package/dist/prompts/perspectives.js +65 -0
  87. package/dist/prompts/perspectives.js.map +1 -0
  88. package/dist/prompts/red-team.d.ts +6 -0
  89. package/dist/prompts/red-team.d.ts.map +1 -0
  90. package/dist/prompts/red-team.js +83 -0
  91. package/dist/prompts/red-team.js.map +1 -0
  92. package/dist/prompts/reframe.d.ts +6 -0
  93. package/dist/prompts/reframe.d.ts.map +1 -0
  94. package/dist/prompts/reframe.js +71 -0
  95. package/dist/prompts/reframe.js.map +1 -0
  96. package/dist/prompts/tradeoffs.d.ts +6 -0
  97. package/dist/prompts/tradeoffs.d.ts.map +1 -0
  98. package/dist/prompts/tradeoffs.js +87 -0
  99. package/dist/prompts/tradeoffs.js.map +1 -0
  100. package/dist/prompts/types.d.ts +14 -0
  101. package/dist/prompts/types.d.ts.map +1 -0
  102. package/dist/prompts/types.js +2 -0
  103. package/dist/prompts/types.js.map +1 -0
  104. package/dist/providers/duck-provider-enhanced.d.ts +2 -1
  105. package/dist/providers/duck-provider-enhanced.d.ts.map +1 -1
  106. package/dist/providers/duck-provider-enhanced.js +55 -6
  107. package/dist/providers/duck-provider-enhanced.js.map +1 -1
  108. package/dist/providers/enhanced-manager.d.ts +2 -1
  109. package/dist/providers/enhanced-manager.d.ts.map +1 -1
  110. package/dist/providers/enhanced-manager.js +3 -3
  111. package/dist/providers/enhanced-manager.js.map +1 -1
  112. package/dist/providers/manager.d.ts +3 -1
  113. package/dist/providers/manager.d.ts.map +1 -1
  114. package/dist/providers/manager.js +4 -2
  115. package/dist/providers/manager.js.map +1 -1
  116. package/dist/providers/provider.d.ts +3 -1
  117. package/dist/providers/provider.d.ts.map +1 -1
  118. package/dist/providers/provider.js +43 -3
  119. package/dist/providers/provider.js.map +1 -1
  120. package/dist/server.d.ts +1 -0
  121. package/dist/server.d.ts.map +1 -1
  122. package/dist/server.js +48 -7
  123. package/dist/server.js.map +1 -1
  124. package/dist/services/function-bridge.d.ts +3 -1
  125. package/dist/services/function-bridge.d.ts.map +1 -1
  126. package/dist/services/function-bridge.js +40 -1
  127. package/dist/services/function-bridge.js.map +1 -1
  128. package/package.json +1 -1
  129. package/src/config/config.ts +187 -1
  130. package/src/config/types.ts +73 -0
  131. package/src/guardrails/context.ts +37 -0
  132. package/src/guardrails/errors.ts +46 -0
  133. package/src/guardrails/index.ts +20 -0
  134. package/src/guardrails/plugins/base-plugin.ts +103 -0
  135. package/src/guardrails/plugins/index.ts +5 -0
  136. package/src/guardrails/plugins/pattern-blocker.ts +190 -0
  137. package/src/guardrails/plugins/pii-redactor/detectors.ts +200 -0
  138. package/src/guardrails/plugins/pii-redactor/index.ts +203 -0
  139. package/src/guardrails/plugins/pii-redactor/pseudonymizer.ts +91 -0
  140. package/src/guardrails/plugins/rate-limiter.ts +142 -0
  141. package/src/guardrails/plugins/token-limiter.ts +155 -0
  142. package/src/guardrails/service.ts +209 -0
  143. package/src/guardrails/types.ts +120 -0
  144. package/src/prompts/architecture.ts +111 -0
  145. package/src/prompts/assumptions.ts +80 -0
  146. package/src/prompts/blindspots.ts +79 -0
  147. package/src/prompts/diverge-converge.ts +92 -0
  148. package/src/prompts/index.ts +63 -0
  149. package/src/prompts/perspectives.ts +73 -0
  150. package/src/prompts/red-team.ts +91 -0
  151. package/src/prompts/reframe.ts +78 -0
  152. package/src/prompts/tradeoffs.ts +95 -0
  153. package/src/prompts/types.ts +14 -0
  154. package/src/providers/duck-provider-enhanced.ts +76 -7
  155. package/src/providers/enhanced-manager.ts +5 -3
  156. package/src/providers/manager.ts +6 -3
  157. package/src/providers/provider.ts +57 -6
  158. package/src/server.ts +55 -6
  159. package/src/services/function-bridge.ts +53 -2
  160. package/tests/guardrails/config.test.ts +267 -0
  161. package/tests/guardrails/errors.test.ts +109 -0
  162. package/tests/guardrails/plugins/pattern-blocker.test.ts +309 -0
  163. package/tests/guardrails/plugins/pii-redactor.test.ts +1004 -0
  164. package/tests/guardrails/plugins/rate-limiter.test.ts +310 -0
  165. package/tests/guardrails/plugins/token-limiter.test.ts +216 -0
  166. package/tests/guardrails/service.test.ts +911 -0
  167. package/tests/mcp-bridge.test.ts +248 -0
  168. package/tests/prompts.test.ts +314 -0
  169. package/tests/providers.test.ts +739 -0
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Prompt for structured comparison of options with explicit criteria.
3
+ */
4
+ export const tradeoffsPrompt = {
5
+ name: 'tradeoffs',
6
+ description: 'Compare options with explicit criteria and trade-off analysis. Provides structured evaluation to help make informed decisions.',
7
+ arguments: [
8
+ {
9
+ name: 'options',
10
+ description: 'The options to compare (comma-separated list or detailed descriptions)',
11
+ required: true,
12
+ },
13
+ {
14
+ name: 'criteria',
15
+ description: 'Evaluation criteria (comma-separated, e.g., "cost, complexity, performance")',
16
+ required: true,
17
+ },
18
+ {
19
+ name: 'context',
20
+ description: 'Decision context, constraints, or background',
21
+ required: false,
22
+ },
23
+ {
24
+ name: 'weights',
25
+ description: 'Which criteria matter most (priority order or weights)',
26
+ required: false,
27
+ },
28
+ ],
29
+ buildMessages: (args) => {
30
+ const { options, criteria, context, weights } = args;
31
+ if (!options) {
32
+ throw new Error('options argument is required');
33
+ }
34
+ if (!criteria) {
35
+ throw new Error('criteria argument is required');
36
+ }
37
+ let messageText = `Provide a structured trade-off analysis:
38
+
39
+ **OPTIONS TO COMPARE:**
40
+ ${options}
41
+
42
+ **EVALUATION CRITERIA:**
43
+ ${criteria}
44
+ `;
45
+ if (context) {
46
+ messageText += `
47
+ **CONTEXT/CONSTRAINTS:**
48
+ ${context}
49
+ `;
50
+ }
51
+ if (weights) {
52
+ messageText += `
53
+ **PRIORITY CRITERIA:**
54
+ ${weights}
55
+ `;
56
+ }
57
+ messageText += `
58
+ **YOUR TASK:**
59
+ 1. **Assess each option** against each criterion
60
+ - Use concrete ratings or descriptions, not vague terms
61
+ - Note specific strengths and weaknesses
62
+
63
+ 2. **Identify trade-offs**
64
+ - Where do options excel vs struggle?
65
+ - What do you gain/lose with each choice?
66
+
67
+ 3. **Highlight disagreements**
68
+ - Where might reasonable people disagree?
69
+ - What depends on assumptions or preferences?
70
+
71
+ 4. **Recommendation**
72
+ - Given the stated priorities, which option fits best?
73
+ - Under what conditions might a different option be better?
74
+
75
+ Present this as a structured analysis that helps decision-making, not just a list of pros/cons.`;
76
+ return [
77
+ {
78
+ role: 'user',
79
+ content: {
80
+ type: 'text',
81
+ text: messageText,
82
+ },
83
+ },
84
+ ];
85
+ },
86
+ };
87
+ //# sourceMappingURL=tradeoffs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradeoffs.js","sourceRoot":"","sources":["../../src/prompts/tradeoffs.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAqB;IAC/C,IAAI,EAAE,WAAW;IACjB,WAAW,EACT,gIAAgI;IAClI,SAAS,EAAE;QACT;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wEAAwE;YACrF,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,8EAA8E;YAC3F,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,wDAAwD;YACrE,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,aAAa,EAAE,CAAC,IAA4B,EAAE,EAAE;QAC9C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAErD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,IAAI,WAAW,GAAG;;;EAGpB,OAAO;;;EAGP,QAAQ;CACT,CAAC;QAEE,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,IAAI;;EAEnB,OAAO;CACR,CAAC;QACE,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,WAAW,IAAI;;EAEnB,OAAO;CACR,CAAC;QACE,CAAC;QAED,WAAW,IAAI;;;;;;;;;;;;;;;;;;gGAkB6E,CAAC;QAE7F,OAAO;YACL;gBACE,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE;oBACP,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,WAAW;iBAClB;aACF;SACF,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { Prompt, PromptMessage } from '@modelcontextprotocol/sdk/types.js';
2
+ /**
3
+ * Extended Prompt definition that includes a buildMessages function
4
+ * to generate structured messages from user-provided arguments.
5
+ */
6
+ export interface PromptDefinition extends Prompt {
7
+ /**
8
+ * Build the prompt messages from the provided arguments.
9
+ * @param args - Record of argument name to value
10
+ * @returns Array of PromptMessage objects
11
+ */
12
+ buildMessages: (args: Record<string, string>) => PromptMessage[];
13
+ }
14
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,MAAM;IAC9C;;;;OAIG;IACH,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,aAAa,EAAE,CAAC;CAClE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/prompts/types.ts"],"names":[],"mappings":""}
@@ -2,6 +2,7 @@ import { DuckProvider } from './provider.js';
2
2
  import { ChatOptions, ChatResponse, ProviderOptions, MCPResult } from './types.js';
3
3
  import { FunctionBridge } from '../services/function-bridge.js';
4
4
  import { ConversationMessage } from '../config/types.js';
5
+ import { GuardrailsService } from '../guardrails/service.js';
5
6
  export interface EnhancedChatResponse extends ChatResponse {
6
7
  pendingApprovals?: {
7
8
  id: string;
@@ -12,7 +13,7 @@ export interface EnhancedChatResponse extends ChatResponse {
12
13
  export declare class EnhancedDuckProvider extends DuckProvider {
13
14
  private functionBridge;
14
15
  private mcpEnabled;
15
- constructor(name: string, nickname: string, options: ProviderOptions, functionBridge: FunctionBridge, mcpEnabled?: boolean);
16
+ constructor(name: string, nickname: string, options: ProviderOptions, functionBridge: FunctionBridge, mcpEnabled?: boolean, guardrailsService?: GuardrailsService);
16
17
  chat(options: ChatOptions): Promise<EnhancedChatResponse>;
17
18
  private handleToolCalls;
18
19
  retryWithApproval(approvalId: string, originalMessages: ConversationMessage[], options: ChatOptions): Promise<EnhancedChatResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"duck-provider-enhanced.d.ts","sourceRoot":"","sources":["../../src/providers/duck-provider-enhanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAmC,SAAS,EAAkB,MAAM,YAAY,CAAC;AACpI,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAIzD,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,gBAAgB,CAAC,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAU;gBAG1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,GAAE,OAAc;IAOtB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAyEjD,eAAe;IAgIvB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;IA0B1B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAc5C,WAAW;;;;;;IASX,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKrC,YAAY,IAAI,OAAO;CAGxB"}
1
+ {"version":3,"file":"duck-provider-enhanced.d.ts","sourceRoot":"","sources":["../../src/providers/duck-provider-enhanced.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAmC,SAAS,EAAkB,MAAM,YAAY,CAAC;AACpI,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,gBAAgB,CAAC,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,MAAM,CAAC;KACjB,EAAE,CAAC;IACJ,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;CAC1B;AAED,qBAAa,oBAAqB,SAAQ,YAAY;IACpD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAAU;gBAG1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,eAAe,EACxB,cAAc,EAAE,cAAc,EAC9B,UAAU,GAAE,OAAc,EAC1B,iBAAiB,CAAC,EAAE,iBAAiB;IAOjC,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC;YA0IjD,eAAe;IAiIvB,iBAAiB,CACrB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,mBAAmB,EAAE,EACvC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,oBAAoB,CAAC;IA0B1B,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAc5C,WAAW;;;;;;IASX,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAKrC,YAAY,IAAI,OAAO;CAGxB"}
@@ -1,16 +1,38 @@
1
1
  import { DuckProvider } from './provider.js';
2
2
  import { logger } from '../utils/logger.js';
3
3
  import { SafeLogger } from '../utils/safe-logger.js';
4
+ import { GuardrailBlockError } from '../guardrails/errors.js';
4
5
  export class EnhancedDuckProvider extends DuckProvider {
5
6
  functionBridge;
6
7
  mcpEnabled;
7
- constructor(name, nickname, options, functionBridge, mcpEnabled = true) {
8
- super(name, nickname, options);
8
+ constructor(name, nickname, options, functionBridge, mcpEnabled = true, guardrailsService) {
9
+ super(name, nickname, options, guardrailsService);
9
10
  this.functionBridge = functionBridge;
10
11
  this.mcpEnabled = mcpEnabled;
11
12
  }
12
13
  async chat(options) {
13
14
  try {
15
+ const modelToUse = options.model || this.options.model;
16
+ // Create guardrail context if service is enabled
17
+ const guardrailContext = this.guardrailsService?.isEnabled()
18
+ ? this.guardrailsService.createContext({
19
+ provider: this.name,
20
+ model: modelToUse,
21
+ messages: options.messages,
22
+ prompt: options.messages[options.messages.length - 1]?.content,
23
+ })
24
+ : undefined;
25
+ // Execute pre_request guardrails
26
+ if (guardrailContext && this.guardrailsService?.isEnabled()) {
27
+ const preResult = await this.guardrailsService.execute('pre_request', guardrailContext);
28
+ if (preResult.action === 'block') {
29
+ throw new GuardrailBlockError(preResult.blockedBy || 'unknown', preResult.blockReason || 'Request blocked by guardrails');
30
+ }
31
+ // Update messages if modified by guardrails (e.g., PII redaction)
32
+ if (preResult.action === 'modify' && guardrailContext.messages.length > 0) {
33
+ options = { ...options, messages: guardrailContext.messages };
34
+ }
35
+ }
14
36
  // If MCP is enabled, add function definitions
15
37
  if (this.mcpEnabled) {
16
38
  const functions = await this.functionBridge.getFunctionDefinitions();
@@ -22,7 +44,6 @@ export class EnhancedDuckProvider extends DuckProvider {
22
44
  }
23
45
  // Prepare messages for function calling
24
46
  const messages = this.prepareMessages(options.messages, options.systemPrompt);
25
- const modelToUse = options.model || this.options.model;
26
47
  const baseParams = {
27
48
  model: modelToUse,
28
49
  messages: messages,
@@ -49,11 +70,35 @@ export class EnhancedDuckProvider extends DuckProvider {
49
70
  const choice = response.choices[0];
50
71
  // Check if the model wants to call functions
51
72
  if (choice.message?.tool_calls && choice.message.tool_calls.length > 0) {
52
- return await this.handleToolCalls(choice.message.tool_calls, messages, baseParams, modelToUse);
73
+ const toolResult = await this.handleToolCalls(choice.message.tool_calls, messages, baseParams, modelToUse, guardrailContext);
74
+ // Execute post_response guardrails on final result
75
+ if (guardrailContext && this.guardrailsService?.isEnabled()) {
76
+ guardrailContext.response = toolResult.content;
77
+ const postResult = await this.guardrailsService.execute('post_response', guardrailContext);
78
+ if (postResult.action === 'block') {
79
+ throw new GuardrailBlockError(postResult.blockedBy || 'unknown', postResult.blockReason || 'Response blocked by guardrails');
80
+ }
81
+ if (postResult.action === 'modify' && guardrailContext.response) {
82
+ toolResult.content = guardrailContext.response;
83
+ }
84
+ }
85
+ return toolResult;
86
+ }
87
+ let content = choice.message?.content || '';
88
+ // Execute post_response guardrails
89
+ if (guardrailContext && this.guardrailsService?.isEnabled()) {
90
+ guardrailContext.response = content;
91
+ const postResult = await this.guardrailsService.execute('post_response', guardrailContext);
92
+ if (postResult.action === 'block') {
93
+ throw new GuardrailBlockError(postResult.blockedBy || 'unknown', postResult.blockReason || 'Response blocked by guardrails');
94
+ }
95
+ if (postResult.action === 'modify' && guardrailContext.response) {
96
+ content = guardrailContext.response;
97
+ }
53
98
  }
54
99
  // No tool calls, return regular response
55
100
  return {
56
- content: choice.message?.content || '',
101
+ content,
57
102
  usage: response.usage ? {
58
103
  promptTokens: response.usage.prompt_tokens,
59
104
  completionTokens: response.usage.completion_tokens,
@@ -64,12 +109,16 @@ export class EnhancedDuckProvider extends DuckProvider {
64
109
  };
65
110
  }
66
111
  catch (error) {
112
+ // Re-throw GuardrailBlockError as-is
113
+ if (error instanceof GuardrailBlockError) {
114
+ throw error;
115
+ }
67
116
  logger.error(`Enhanced provider ${this.name} chat error:`, error);
68
117
  const errorMessage = error instanceof Error ? error.message : String(error);
69
118
  throw new Error(`Duck ${this.nickname} couldn't respond: ${errorMessage}`);
70
119
  }
71
120
  }
72
- async handleToolCalls(toolCalls, messages, baseParams, modelToUse) {
121
+ async handleToolCalls(toolCalls, messages, baseParams, modelToUse, _guardrailContext) {
73
122
  const pendingApprovals = [];
74
123
  const toolMessages = [];
75
124
  let hasExecutedTools = false;
@@ -1 +1 @@
1
- {"version":3,"file":"duck-provider-enhanced.js","sourceRoot":"","sources":["../../src/providers/duck-provider-enhanced.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duck-provider-enhanced.js","sourceRoot":"","sources":["../../src/providers/duck-provider-enhanced.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,14 @@ import { ProviderManager } from './manager.js';
3
3
  import { ConfigManager } from '../config/config.js';
4
4
  import { FunctionBridge } from '../services/function-bridge.js';
5
5
  import { UsageService } from '../services/usage.js';
6
+ import { GuardrailsService } from '../guardrails/service.js';
6
7
  import { DuckResponse } from '../config/types.js';
7
8
  import { ChatOptions, MCPResult } from './types.js';
8
9
  export declare class EnhancedProviderManager extends ProviderManager {
9
10
  private enhancedProviders;
10
11
  private functionBridge?;
11
12
  private mcpEnabled;
12
- constructor(configManager: ConfigManager, functionBridge?: FunctionBridge, usageService?: UsageService);
13
+ constructor(configManager: ConfigManager, functionBridge?: FunctionBridge, usageService?: UsageService, guardrailsService?: GuardrailsService);
13
14
  private initializeEnhancedProviders;
14
15
  getEnhancedProvider(name?: string): EnhancedDuckProvider;
15
16
  askDuckWithMCP(providerName: string | undefined, prompt: string, options?: Partial<ChatOptions>): Promise<DuckResponse & {
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-manager.d.ts","sourceRoot":"","sources":["../../src/providers/enhanced-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-manager.d.ts","sourceRoot":"","sources":["../../src/providers/enhanced-manager.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export class EnhancedProviderManager extends ProviderManager {
5
5
  enhancedProviders = new Map();
6
6
  functionBridge;
7
7
  mcpEnabled = false;
8
- constructor(configManager, functionBridge, usageService) {
9
- super(configManager, usageService);
8
+ constructor(configManager, functionBridge, usageService, guardrailsService) {
9
+ super(configManager, usageService, guardrailsService);
10
10
  this.functionBridge = functionBridge;
11
11
  this.mcpEnabled = !!functionBridge &&
12
12
  (configManager.getConfig().mcp_bridge?.enabled || false);
@@ -33,7 +33,7 @@ export class EnhancedProviderManager extends ProviderManager {
33
33
  timeout: providerConfig.timeout,
34
34
  maxRetries: providerConfig.max_retries,
35
35
  systemPrompt: providerConfig.system_prompt,
36
- }, this.functionBridge, this.mcpEnabled);
36
+ }, this.functionBridge, this.mcpEnabled, this.guardrailsService);
37
37
  this.enhancedProviders.set(name, enhancedProvider);
38
38
  logger.info(`Initialized enhanced provider: ${name} (${providerConfig.nickname}) with MCP support`);
39
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"enhanced-manager.js","sourceRoot":"","sources":["../../src/providers/enhanced-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enhanced-manager.js","sourceRoot":"","sources":["../../src/providers/enhanced-manager.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,15 @@ import { ConfigManager } from '../config/config.js';
3
3
  import { ProviderHealth, DuckResponse } from '../config/types.js';
4
4
  import { ChatOptions, ModelInfo } from './types.js';
5
5
  import { UsageService } from '../services/usage.js';
6
+ import { GuardrailsService } from '../guardrails/service.js';
6
7
  export declare class ProviderManager {
7
8
  private providers;
8
9
  private healthStatus;
9
10
  protected configManager: ConfigManager;
10
11
  protected usageService?: UsageService;
12
+ protected guardrailsService?: GuardrailsService;
11
13
  private defaultProvider?;
12
- constructor(configManager: ConfigManager, usageService?: UsageService);
14
+ constructor(configManager: ConfigManager, usageService?: UsageService, guardrailsService?: GuardrailsService);
13
15
  private initializeProviders;
14
16
  checkHealth(providerName?: string): Promise<ProviderHealth[]>;
15
17
  askDuck(providerName: string | undefined, prompt: string, options?: Partial<ChatOptions>): Promise<DuckResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/providers/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAIpD,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,YAAY,CAA0C;IAC9D,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACtC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY;IAMrE,OAAO,CAAC,mBAAmB;IA+BrB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqC7D,OAAO,CACX,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,YAAY,CAAC;IAuDlB,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IA8BpB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;YAIZ,eAAe;IAsB7B,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;IAgBxC,eAAe,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAQ9G,gBAAgB,IAAI,MAAM,EAAE;IAItB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQ9D,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAgBvD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;CAc9D"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/providers/manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAI7D,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,YAAY,CAA0C;IAC9D,SAAS,CAAC,aAAa,EAAE,aAAa,CAAC;IACvC,SAAS,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACtC,SAAS,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IAChD,OAAO,CAAC,eAAe,CAAC,CAAS;gBAErB,aAAa,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;IAO5G,OAAO,CAAC,mBAAmB;IA+BrB,WAAW,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAqC7D,OAAO,CACX,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,YAAY,CAAC;IAuDlB,YAAY,CAChB,MAAM,EAAE,MAAM,EACd,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;IA8BpB,WAAW,CACf,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC7B,OAAO,CAAC,YAAY,EAAE,CAAC;YAIZ,eAAe;IAsB7B,WAAW,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,YAAY;IAgBxC,eAAe,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,cAAc,CAAA;KAAE,CAAC;IAQ9G,gBAAgB,IAAI,MAAM,EAAE;IAItB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAQ9D,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IAgBvD,aAAa,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO;CAc9D"}
@@ -6,10 +6,12 @@ export class ProviderManager {
6
6
  healthStatus = new Map();
7
7
  configManager;
8
8
  usageService;
9
+ guardrailsService;
9
10
  defaultProvider;
10
- constructor(configManager, usageService) {
11
+ constructor(configManager, usageService, guardrailsService) {
11
12
  this.configManager = configManager;
12
13
  this.usageService = usageService;
14
+ this.guardrailsService = guardrailsService;
13
15
  this.initializeProviders();
14
16
  }
15
17
  initializeProviders() {
@@ -26,7 +28,7 @@ export class ProviderManager {
26
28
  timeout: providerConfig.timeout,
27
29
  maxRetries: providerConfig.max_retries,
28
30
  systemPrompt: providerConfig.system_prompt,
29
- });
31
+ }, this.guardrailsService);
30
32
  this.providers.set(name, provider);
31
33
  logger.info(`Initialized provider: ${name} (${providerConfig.nickname})`);
32
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/providers/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/providers/manager.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import OpenAI from 'openai';
2
2
  import { ChatOptions, ChatResponse, ProviderOptions, ModelInfo, OpenAIChatParams, OpenAIChatResponse } from './types.js';
3
3
  import { ConversationMessage } from '../config/types.js';
4
+ import { GuardrailsService } from '../guardrails/service.js';
4
5
  export declare class DuckProvider {
5
6
  protected client: OpenAI;
6
7
  protected options: ProviderOptions;
8
+ protected guardrailsService?: GuardrailsService;
7
9
  name: string;
8
10
  nickname: string;
9
- constructor(name: string, nickname: string, options: ProviderOptions);
11
+ constructor(name: string, nickname: string, options: ProviderOptions, guardrailsService?: GuardrailsService);
10
12
  protected supportsTemperature(model: string): boolean;
11
13
  chat(options: ChatOptions): Promise<ChatResponse>;
12
14
  protected createChatCompletion(baseParams: Partial<OpenAIChatParams>): Promise<OpenAIChatResponse>;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAiB,MAAM,YAAY,CAAC;AACxI,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGzD,qBAAa,YAAY;IACvB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe;IAapE,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU/C,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;cAoCvC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKlG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkCrC,SAAS,CAAC,eAAe,CACvB,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBrC,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmCxC,OAAO;;;;;;;;CAUR"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,gBAAgB,EAAE,kBAAkB,EAAiB,MAAM,YAAY,CAAC;AACxI,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAG7D,qBAAa,YAAY;IACvB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,OAAO,EAAE,eAAe,CAAC;IACnC,SAAS,CAAC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;gBAEZ,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,CAAC,EAAE,iBAAiB;IAc3G,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAU/C,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;cAmFvC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAKlG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAkCrC,SAAS,CAAC,eAAe,CACvB,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAoBrC,UAAU,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IAmCxC,OAAO;;;;;;;;CAUR"}
@@ -1,14 +1,17 @@
1
1
  import OpenAI from 'openai';
2
2
  import { logger } from '../utils/logger.js';
3
+ import { GuardrailBlockError } from '../guardrails/errors.js';
3
4
  export class DuckProvider {
4
5
  client;
5
6
  options;
7
+ guardrailsService;
6
8
  name;
7
9
  nickname;
8
- constructor(name, nickname, options) {
10
+ constructor(name, nickname, options, guardrailsService) {
9
11
  this.name = name;
10
12
  this.nickname = nickname;
11
13
  this.options = options;
14
+ this.guardrailsService = guardrailsService;
12
15
  this.client = new OpenAI({
13
16
  apiKey: options.apiKey || 'not-needed',
14
17
  baseURL: options.baseURL,
@@ -27,8 +30,28 @@ export class DuckProvider {
27
30
  }
28
31
  async chat(options) {
29
32
  try {
30
- const messages = this.prepareMessages(options.messages, options.systemPrompt);
31
33
  const modelToUse = options.model || this.options.model;
34
+ // Create guardrail context if service is enabled
35
+ const guardrailContext = this.guardrailsService?.isEnabled()
36
+ ? this.guardrailsService.createContext({
37
+ provider: this.name,
38
+ model: modelToUse,
39
+ messages: options.messages,
40
+ prompt: options.messages[options.messages.length - 1]?.content,
41
+ })
42
+ : undefined;
43
+ // Execute pre_request guardrails
44
+ if (guardrailContext && this.guardrailsService?.isEnabled()) {
45
+ const preResult = await this.guardrailsService.execute('pre_request', guardrailContext);
46
+ if (preResult.action === 'block') {
47
+ throw new GuardrailBlockError(preResult.blockedBy || 'unknown', preResult.blockReason || 'Request blocked by guardrails');
48
+ }
49
+ // Update messages if modified by guardrails (e.g., PII redaction)
50
+ if (preResult.action === 'modify' && guardrailContext.messages.length > 0) {
51
+ options = { ...options, messages: guardrailContext.messages };
52
+ }
53
+ }
54
+ const messages = this.prepareMessages(options.messages, options.systemPrompt);
32
55
  const baseParams = {
33
56
  model: modelToUse,
34
57
  messages: messages,
@@ -40,8 +63,21 @@ export class DuckProvider {
40
63
  }
41
64
  const response = await this.createChatCompletion(baseParams);
42
65
  const choice = response.choices[0];
66
+ let content = choice.message?.content || '';
67
+ // Execute post_response guardrails
68
+ if (guardrailContext && this.guardrailsService?.isEnabled()) {
69
+ guardrailContext.response = content;
70
+ const postResult = await this.guardrailsService.execute('post_response', guardrailContext);
71
+ if (postResult.action === 'block') {
72
+ throw new GuardrailBlockError(postResult.blockedBy || 'unknown', postResult.blockReason || 'Response blocked by guardrails');
73
+ }
74
+ // Use potentially modified response (e.g., PII restoration)
75
+ if (postResult.action === 'modify' && guardrailContext.response) {
76
+ content = guardrailContext.response;
77
+ }
78
+ }
43
79
  return {
44
- content: choice.message?.content || '',
80
+ content,
45
81
  usage: response.usage ? {
46
82
  promptTokens: response.usage.prompt_tokens,
47
83
  completionTokens: response.usage.completion_tokens,
@@ -52,6 +88,10 @@ export class DuckProvider {
52
88
  };
53
89
  }
54
90
  catch (error) {
91
+ // Re-throw GuardrailBlockError as-is
92
+ if (error instanceof GuardrailBlockError) {
93
+ throw error;
94
+ }
55
95
  logger.error(`Provider ${this.name} chat error:`, error);
56
96
  const errorMessage = error instanceof Error ? error.message : String(error);
57
97
  throw new Error(`Duck ${this.nickname} couldn't respond: ${errorMessage}`);
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAG5B,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,MAAM,OAAO,YAAY;IACb,MAAM,CAAS;IACf,OAAO,CAAkB;IAC5B,IAAI,CAAS;IACb,QAAQ,CAAS;IAExB,YAAY,IAAY,EAAE,QAAgB,EAAE,OAAwB;QAClE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC;YACvB,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,YAAY;YACtC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,MAAM;YAClC,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,CAAC;SACpC,CAAC,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,KAAa;QACzC,uDAAuD;QACvD,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YACtB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;YACvB,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;YACtB,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;YAC1B,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAoB;QAC7B,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAEvD,MAAM,UAAU,GAA8B;gBAC5C,KAAK,EAAE,UAAU;gBACjB,QAAQ,EAAE,QAA2B;gBACrC,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,gDAAgD;YAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACzC,UAAU,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC;YAClF,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAEnC,OAAO;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE;gBACtC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtB,YAAY,EAAE,QAAQ,CAAC,KAAK,CAAC,aAAa;oBAC1C,gBAAgB,EAAE,QAAQ,CAAC,KAAK,CAAC,iBAAiB;oBAClD,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,YAAY;iBACzC,CAAC,CAAC,CAAC,SAAS;gBACb,KAAK,EAAE,UAAU,EAAG,mDAAmD;gBACvE,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,SAAS;aAChD,CAAC;QACJ,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,cAAc,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,QAAQ,sBAAsB,YAAY,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,UAAqC;QACxE,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAsB,CAAC;QACrD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,WAAW;QACf,IAAI,CAAC;YACH,MAAM,UAAU,GAA8B;gBAC5C,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;gBACzB,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,EAAE,CAAoB;gBACzE,MAAM,EAAE,KAAK;aACd,CAAC;YAEF,gDAAgD;YAChD,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC;YAC/B,CAAC;YAED,oCAAoC;YACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAE7D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC;YACtD,MAAM,UAAU,GAAG,CAAC,CAAC,OAAO,CAAC;YAE7B,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,0BAA0B,EAAE;oBACnE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;iBAC5C,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,oBAAoB,IAAI,CAAC,IAAI,6BAA6B,OAAO,EAAE,CAAC,CAAC;YACpF,CAAC;YAED,OAAO,UAAU,CAAC;QACpB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,2BAA2B,IAAI,CAAC,IAAI,GAAG,EAAE,KAAK,CAAC,CAAC;YAC5D,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAES,eAAe,CACvB,QAA+B,EAC/B,YAAqB;QAErB,MAAM,QAAQ,GAA6C,EAAE,CAAC;QAE9D,gCAAgC;QAChC,MAAM,MAAM,GAAG,YAAY,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;QACzD,IAAI,MAAM,EAAE,CAAC;YACX,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACrD,CAAC;QAED,4BAA4B;QAC5B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACjD,MAAM,MAAM,GAAgB,EAAE,CAAC;YAE/B,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACxB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,KAAK,CAAC,WAAW,MAAM,CAAC,MAAM,gBAAgB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,CAAC,IAAI,CAAC,+BAA+B,IAAI,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC,CAAC;YACzE,iCAAiC;YACjC,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5E,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC7C,EAAE;oBACF,WAAW,EAAE,yCAAyC;iBACvD,CAAC,CAAC,CAAC;YACN,CAAC;YACD,+CAA+C;YAC/C,OAAO,CAAC;oBACN,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;oBACtB,WAAW,EAAE,0BAA0B;iBACxC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK;YACzB,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,eAAe;YAC7C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,OAAO;YAC7B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM;SACjC,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../src/providers/provider.ts"],"names":[],"mappings":"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"}