@holokai/sdk 0.1.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 (255) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +396 -0
  3. package/dist/core/api/base.controller.d.ts +8 -0
  4. package/dist/core/api/base.controller.d.ts.map +1 -0
  5. package/dist/core/api/base.controller.js +41 -0
  6. package/dist/core/api/base.controller.js.map +1 -0
  7. package/dist/core/api/index.d.ts +3 -0
  8. package/dist/core/api/index.d.ts.map +1 -0
  9. package/dist/core/api/index.js +3 -0
  10. package/dist/core/api/index.js.map +1 -0
  11. package/dist/core/api/types.d.ts +19 -0
  12. package/dist/core/api/types.d.ts.map +1 -0
  13. package/dist/core/api/types.js +2 -0
  14. package/dist/core/api/types.js.map +1 -0
  15. package/dist/core/entities/analysisResult.d.ts +8 -0
  16. package/dist/core/entities/analysisResult.d.ts.map +1 -0
  17. package/dist/core/entities/analysisResult.js +2 -0
  18. package/dist/core/entities/analysisResult.js.map +1 -0
  19. package/dist/core/entities/application.d.ts +12 -0
  20. package/dist/core/entities/application.d.ts.map +1 -0
  21. package/dist/core/entities/application.js +2 -0
  22. package/dist/core/entities/application.js.map +1 -0
  23. package/dist/core/entities/base.d.ts +8 -0
  24. package/dist/core/entities/base.d.ts.map +1 -0
  25. package/dist/core/entities/base.js +2 -0
  26. package/dist/core/entities/base.js.map +1 -0
  27. package/dist/core/entities/evaluator.d.ts +13 -0
  28. package/dist/core/entities/evaluator.d.ts.map +1 -0
  29. package/dist/core/entities/evaluator.data.d.ts +9 -0
  30. package/dist/core/entities/evaluator.data.d.ts.map +1 -0
  31. package/dist/core/entities/evaluator.data.js +2 -0
  32. package/dist/core/entities/evaluator.data.js.map +1 -0
  33. package/dist/core/entities/evaluator.js +2 -0
  34. package/dist/core/entities/evaluator.js.map +1 -0
  35. package/dist/core/entities/index.d.ts +11 -0
  36. package/dist/core/entities/index.d.ts.map +1 -0
  37. package/dist/core/entities/index.js +3 -0
  38. package/dist/core/entities/index.js.map +1 -0
  39. package/dist/core/entities/llm.request.d.ts +19 -0
  40. package/dist/core/entities/llm.request.d.ts.map +1 -0
  41. package/dist/core/entities/llm.request.js +2 -0
  42. package/dist/core/entities/llm.request.js.map +1 -0
  43. package/dist/core/entities/llm.response.d.ts +24 -0
  44. package/dist/core/entities/llm.response.d.ts.map +1 -0
  45. package/dist/core/entities/llm.response.js +3 -0
  46. package/dist/core/entities/llm.response.js.map +1 -0
  47. package/dist/core/entities/llm.status.d.ts +9 -0
  48. package/dist/core/entities/llm.status.d.ts.map +1 -0
  49. package/dist/core/entities/llm.status.js +11 -0
  50. package/dist/core/entities/llm.status.js.map +1 -0
  51. package/dist/core/entities/model.d.ts +14 -0
  52. package/dist/core/entities/model.d.ts.map +1 -0
  53. package/dist/core/entities/model.js +2 -0
  54. package/dist/core/entities/model.js.map +1 -0
  55. package/dist/core/entities/provider.d.ts +12 -0
  56. package/dist/core/entities/provider.d.ts.map +1 -0
  57. package/dist/core/entities/provider.js +2 -0
  58. package/dist/core/entities/provider.js.map +1 -0
  59. package/dist/core/id/index.d.ts +2 -0
  60. package/dist/core/id/index.d.ts.map +1 -0
  61. package/dist/core/id/index.js +13 -0
  62. package/dist/core/id/index.js.map +1 -0
  63. package/dist/core/index.d.ts +7 -0
  64. package/dist/core/index.d.ts.map +1 -0
  65. package/dist/core/index.js +7 -0
  66. package/dist/core/index.js.map +1 -0
  67. package/dist/core/logger/holo-logger-factory.d.ts +6 -0
  68. package/dist/core/logger/holo-logger-factory.d.ts.map +1 -0
  69. package/dist/core/logger/holo-logger-factory.js +16 -0
  70. package/dist/core/logger/holo-logger-factory.js.map +1 -0
  71. package/dist/core/logger/index.d.ts +4 -0
  72. package/dist/core/logger/index.d.ts.map +1 -0
  73. package/dist/core/logger/index.js +4 -0
  74. package/dist/core/logger/index.js.map +1 -0
  75. package/dist/core/logger/logger.d.ts +24 -0
  76. package/dist/core/logger/logger.d.ts.map +1 -0
  77. package/dist/core/logger/logger.js +16 -0
  78. package/dist/core/logger/logger.js.map +1 -0
  79. package/dist/core/logger/mixin.d.ts +29 -0
  80. package/dist/core/logger/mixin.d.ts.map +1 -0
  81. package/dist/core/logger/mixin.js +29 -0
  82. package/dist/core/logger/mixin.js.map +1 -0
  83. package/dist/core/mixins/constructor.d.ts +2 -0
  84. package/dist/core/mixins/constructor.d.ts.map +1 -0
  85. package/dist/core/mixins/constructor.js +2 -0
  86. package/dist/core/mixins/constructor.js.map +1 -0
  87. package/dist/core/mixins/index.d.ts +2 -0
  88. package/dist/core/mixins/index.d.ts.map +1 -0
  89. package/dist/core/mixins/index.js +2 -0
  90. package/dist/core/mixins/index.js.map +1 -0
  91. package/dist/core/parsers/find-last.d.ts +3 -0
  92. package/dist/core/parsers/find-last.d.ts.map +1 -0
  93. package/dist/core/parsers/find-last.js +22 -0
  94. package/dist/core/parsers/find-last.js.map +1 -0
  95. package/dist/core/parsers/index.d.ts +6 -0
  96. package/dist/core/parsers/index.d.ts.map +1 -0
  97. package/dist/core/parsers/index.js +6 -0
  98. package/dist/core/parsers/index.js.map +1 -0
  99. package/dist/core/parsers/parsers.d.ts +6 -0
  100. package/dist/core/parsers/parsers.d.ts.map +1 -0
  101. package/dist/core/parsers/parsers.js +32 -0
  102. package/dist/core/parsers/parsers.js.map +1 -0
  103. package/dist/core/parsers/pick-defined.d.ts +2 -0
  104. package/dist/core/parsers/pick-defined.d.ts.map +1 -0
  105. package/dist/core/parsers/pick-defined.js +4 -0
  106. package/dist/core/parsers/pick-defined.js.map +1 -0
  107. package/dist/core/parsers/pick-headers.d.ts +3 -0
  108. package/dist/core/parsers/pick-headers.d.ts.map +1 -0
  109. package/dist/core/parsers/pick-headers.js +41 -0
  110. package/dist/core/parsers/pick-headers.js.map +1 -0
  111. package/dist/core/parsers/safe-parse.d.ts +2 -0
  112. package/dist/core/parsers/safe-parse.d.ts.map +1 -0
  113. package/dist/core/parsers/safe-parse.js +12 -0
  114. package/dist/core/parsers/safe-parse.js.map +1 -0
  115. package/dist/core/routes.d.ts +19 -0
  116. package/dist/core/routes.d.ts.map +1 -0
  117. package/dist/core/routes.js +8 -0
  118. package/dist/core/routes.js.map +1 -0
  119. package/dist/core/worker/envelopes.d.ts +27 -0
  120. package/dist/core/worker/envelopes.d.ts.map +1 -0
  121. package/dist/core/worker/envelopes.js +2 -0
  122. package/dist/core/worker/envelopes.js.map +1 -0
  123. package/dist/core/worker/index.d.ts +5 -0
  124. package/dist/core/worker/index.d.ts.map +1 -0
  125. package/dist/core/worker/index.js +5 -0
  126. package/dist/core/worker/index.js.map +1 -0
  127. package/dist/core/worker/prompt.d.ts +9 -0
  128. package/dist/core/worker/prompt.d.ts.map +1 -0
  129. package/dist/core/worker/prompt.js +2 -0
  130. package/dist/core/worker/prompt.js.map +1 -0
  131. package/dist/core/worker/request.d.ts +33 -0
  132. package/dist/core/worker/request.d.ts.map +1 -0
  133. package/dist/core/worker/request.js +2 -0
  134. package/dist/core/worker/request.js.map +1 -0
  135. package/dist/core/worker/response.d.ts +18 -0
  136. package/dist/core/worker/response.d.ts.map +1 -0
  137. package/dist/core/worker/response.js +2 -0
  138. package/dist/core/worker/response.js.map +1 -0
  139. package/dist/holo/content.d.ts +14 -0
  140. package/dist/holo/content.d.ts.map +1 -0
  141. package/dist/holo/content.js +7 -0
  142. package/dist/holo/content.js.map +1 -0
  143. package/dist/holo/factories/index.d.ts +3 -0
  144. package/dist/holo/factories/index.d.ts.map +1 -0
  145. package/dist/holo/factories/index.js +3 -0
  146. package/dist/holo/factories/index.js.map +1 -0
  147. package/dist/holo/factories/request-factory.d.ts +3 -0
  148. package/dist/holo/factories/request-factory.d.ts.map +1 -0
  149. package/dist/holo/factories/request-factory.js +8 -0
  150. package/dist/holo/factories/request-factory.js.map +1 -0
  151. package/dist/holo/factories/response-factory.d.ts +7 -0
  152. package/dist/holo/factories/response-factory.d.ts.map +1 -0
  153. package/dist/holo/factories/response-factory.js +64 -0
  154. package/dist/holo/factories/response-factory.js.map +1 -0
  155. package/dist/holo/index.d.ts +17 -0
  156. package/dist/holo/index.d.ts.map +1 -0
  157. package/dist/holo/index.js +19 -0
  158. package/dist/holo/index.js.map +1 -0
  159. package/dist/holo/messages.d.ts +10 -0
  160. package/dist/holo/messages.d.ts.map +1 -0
  161. package/dist/holo/messages.js +2 -0
  162. package/dist/holo/messages.js.map +1 -0
  163. package/dist/holo/requests.d.ts +32 -0
  164. package/dist/holo/requests.d.ts.map +1 -0
  165. package/dist/holo/requests.js +7 -0
  166. package/dist/holo/requests.js.map +1 -0
  167. package/dist/holo/responses.d.ts +57 -0
  168. package/dist/holo/responses.d.ts.map +1 -0
  169. package/dist/holo/responses.js +2 -0
  170. package/dist/holo/responses.js.map +1 -0
  171. package/dist/holo/tools.d.ts +25 -0
  172. package/dist/holo/tools.d.ts.map +1 -0
  173. package/dist/holo/tools.js +2 -0
  174. package/dist/holo/tools.js.map +1 -0
  175. package/dist/index.d.ts +7 -0
  176. package/dist/index.d.ts.map +1 -0
  177. package/dist/index.js +7 -0
  178. package/dist/index.js.map +1 -0
  179. package/dist/plugin/base.d.ts +109 -0
  180. package/dist/plugin/base.d.ts.map +1 -0
  181. package/dist/plugin/base.js +131 -0
  182. package/dist/plugin/base.js.map +1 -0
  183. package/dist/plugin/context.d.ts +21 -0
  184. package/dist/plugin/context.d.ts.map +1 -0
  185. package/dist/plugin/context.js +2 -0
  186. package/dist/plugin/context.js.map +1 -0
  187. package/dist/plugin/errors.d.ts +24 -0
  188. package/dist/plugin/errors.d.ts.map +1 -0
  189. package/dist/plugin/errors.js +31 -0
  190. package/dist/plugin/errors.js.map +1 -0
  191. package/dist/plugin/evaluator.d.ts +243 -0
  192. package/dist/plugin/evaluator.d.ts.map +1 -0
  193. package/dist/plugin/evaluator.js +2 -0
  194. package/dist/plugin/evaluator.js.map +1 -0
  195. package/dist/plugin/guard.d.ts +307 -0
  196. package/dist/plugin/guard.d.ts.map +1 -0
  197. package/dist/plugin/guard.js +46 -0
  198. package/dist/plugin/guard.js.map +1 -0
  199. package/dist/plugin/index.d.ts +14 -0
  200. package/dist/plugin/index.d.ts.map +1 -0
  201. package/dist/plugin/index.js +14 -0
  202. package/dist/plugin/index.js.map +1 -0
  203. package/dist/plugin/manifest.d.ts +349 -0
  204. package/dist/plugin/manifest.d.ts.map +1 -0
  205. package/dist/plugin/manifest.js +6 -0
  206. package/dist/plugin/manifest.js.map +1 -0
  207. package/dist/plugin/provider.d.ts +55 -0
  208. package/dist/plugin/provider.d.ts.map +1 -0
  209. package/dist/plugin/provider.js +2 -0
  210. package/dist/plugin/provider.js.map +1 -0
  211. package/dist/plugin/registry.d.ts +7 -0
  212. package/dist/plugin/registry.d.ts.map +1 -0
  213. package/dist/plugin/registry.js +2 -0
  214. package/dist/plugin/registry.js.map +1 -0
  215. package/dist/provider/auditor/base.d.ts +21 -0
  216. package/dist/provider/auditor/base.d.ts.map +1 -0
  217. package/dist/provider/auditor/base.js +58 -0
  218. package/dist/provider/auditor/base.js.map +1 -0
  219. package/dist/provider/auditor/index.d.ts +2 -0
  220. package/dist/provider/auditor/index.d.ts.map +1 -0
  221. package/dist/provider/auditor/index.js +2 -0
  222. package/dist/provider/auditor/index.js.map +1 -0
  223. package/dist/provider/base.d.ts +39 -0
  224. package/dist/provider/base.d.ts.map +1 -0
  225. package/dist/provider/base.js +169 -0
  226. package/dist/provider/base.js.map +1 -0
  227. package/dist/provider/index.d.ts +6 -0
  228. package/dist/provider/index.d.ts.map +1 -0
  229. package/dist/provider/index.js +6 -0
  230. package/dist/provider/index.js.map +1 -0
  231. package/dist/provider/translator/base.d.ts +32 -0
  232. package/dist/provider/translator/base.d.ts.map +1 -0
  233. package/dist/provider/translator/base.js +33 -0
  234. package/dist/provider/translator/base.js.map +1 -0
  235. package/dist/provider/translator/index.d.ts +3 -0
  236. package/dist/provider/translator/index.d.ts.map +1 -0
  237. package/dist/provider/translator/index.js +3 -0
  238. package/dist/provider/translator/index.js.map +1 -0
  239. package/dist/provider/translator/stream.d.ts +24 -0
  240. package/dist/provider/translator/stream.d.ts.map +1 -0
  241. package/dist/provider/translator/stream.js +50 -0
  242. package/dist/provider/translator/stream.js.map +1 -0
  243. package/dist/provider/types.d.ts +107 -0
  244. package/dist/provider/types.d.ts.map +1 -0
  245. package/dist/provider/types.js +38 -0
  246. package/dist/provider/types.js.map +1 -0
  247. package/dist/provider/wire/base.d.ts +50 -0
  248. package/dist/provider/wire/base.d.ts.map +1 -0
  249. package/dist/provider/wire/base.js +99 -0
  250. package/dist/provider/wire/base.js.map +1 -0
  251. package/dist/provider/wire/index.d.ts +2 -0
  252. package/dist/provider/wire/index.d.ts.map +1 -0
  253. package/dist/provider/wire/index.js +2 -0
  254. package/dist/provider/wire/index.js.map +1 -0
  255. package/package.json +97 -0
@@ -0,0 +1,307 @@
1
+ import { IPlugin } from "./base";
2
+ /**
3
+ * Types of guards
4
+ */
5
+ export declare enum GuardType {
6
+ CONTENT_FILTER = "content_filter",
7
+ RATE_LIMITER = "rate_limiter",
8
+ TOKEN_LIMITER = "token_limiter",
9
+ PII_DETECTOR = "pii_detector",
10
+ PROMPT_INJECTION = "prompt_injection",
11
+ CUSTOM = "custom"
12
+ }
13
+ /**
14
+ * Guard rule condition for matching requests/responses
15
+ */
16
+ export interface GuardCondition {
17
+ /**
18
+ * Field to check (e.g., 'content', 'headers.authorization', 'model')
19
+ */
20
+ field: string;
21
+ /**
22
+ * Operator for comparison
23
+ */
24
+ operator: 'equals' | 'contains' | 'regex' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'not_in';
25
+ /**
26
+ * Value(s) to compare against
27
+ */
28
+ value: string | number | boolean | string[] | number[];
29
+ /**
30
+ * Case sensitivity for string comparisons
31
+ */
32
+ caseSensitive?: boolean;
33
+ /**
34
+ * Negate the condition
35
+ */
36
+ negate?: boolean;
37
+ }
38
+ /**
39
+ * Guard rule definition
40
+ */
41
+ export interface GuardRule {
42
+ id: string;
43
+ name: string;
44
+ description?: string;
45
+ enabled: boolean;
46
+ severity: 'low' | 'medium' | 'high' | 'critical';
47
+ action: 'allow' | 'block' | 'redact' | 'warn';
48
+ /**
49
+ * Conditions that must be met for this rule to apply
50
+ * If multiple conditions, all must match (AND logic)
51
+ */
52
+ conditions?: GuardCondition[];
53
+ /**
54
+ * Logical operator for multiple conditions
55
+ */
56
+ conditionOperator?: 'AND' | 'OR';
57
+ }
58
+ /**
59
+ * Details about a guard rule violation
60
+ */
61
+ export interface GuardViolation {
62
+ /**
63
+ * ID of the rule that was violated
64
+ */
65
+ rule: string;
66
+ /**
67
+ * Severity of the violation
68
+ */
69
+ severity: 'low' | 'medium' | 'high' | 'critical';
70
+ /**
71
+ * Human-readable message about the violation
72
+ */
73
+ message: string;
74
+ /**
75
+ * Field/location where violation occurred
76
+ */
77
+ field?: string;
78
+ /**
79
+ * The value that caused the violation (for debugging)
80
+ */
81
+ offendingValue?: string | number | boolean;
82
+ /**
83
+ * Suggested remediation action
84
+ */
85
+ remediation?: string;
86
+ }
87
+ /**
88
+ * Guard processing metadata
89
+ */
90
+ export interface GuardMetadata {
91
+ /**
92
+ * Time taken to process in milliseconds
93
+ */
94
+ processingTimeMs?: number;
95
+ /**
96
+ * Number of rules evaluated
97
+ */
98
+ rulesEvaluated?: number;
99
+ /**
100
+ * Guard plugin that performed the validation
101
+ */
102
+ guardPlugin?: string;
103
+ /**
104
+ * Additional plugin-specific metadata
105
+ */
106
+ [key: string]: string | number | boolean | undefined;
107
+ }
108
+ /**
109
+ * Result of guard validation
110
+ */
111
+ export interface GuardResult {
112
+ passed: boolean;
113
+ violations?: GuardViolation[];
114
+ /**
115
+ * Content that was redacted/sanitized (if action was 'redact')
116
+ * Contains the sanitized version of the original content
117
+ */
118
+ redactedContent?: string | object;
119
+ /**
120
+ * Processing metadata
121
+ */
122
+ metadata?: GuardMetadata;
123
+ errors?: string[];
124
+ }
125
+ /**
126
+ * Rate limiting configuration
127
+ */
128
+ export interface RateLimiting {
129
+ /**
130
+ * Max requests per time window
131
+ */
132
+ maxRequests: number;
133
+ /**
134
+ * Time window in seconds
135
+ */
136
+ windowSeconds: number;
137
+ /**
138
+ * Rate limit per user or global
139
+ */
140
+ scope: 'user' | 'global' | 'ip';
141
+ }
142
+ /**
143
+ * Custom pattern for PII detection
144
+ */
145
+ export interface CustomPattern {
146
+ name: string;
147
+ pattern: string;
148
+ flags?: string;
149
+ }
150
+ /**
151
+ * PII detection settings
152
+ */
153
+ export interface PIIDetection {
154
+ /**
155
+ * Types of PII to detect
156
+ */
157
+ detectTypes: Array<'email' | 'phone' | 'ssn' | 'credit_card' | 'ip_address' | 'custom'>;
158
+ /**
159
+ * Custom regex patterns for PII detection
160
+ */
161
+ customPatterns?: CustomPattern[];
162
+ /**
163
+ * Action when PII is detected
164
+ */
165
+ action: 'block' | 'redact' | 'warn';
166
+ }
167
+ /**
168
+ * Content filtering settings
169
+ */
170
+ export interface ContentFiltering {
171
+ /**
172
+ * Blocked keywords/phrases
173
+ */
174
+ blockedTerms?: string[];
175
+ /**
176
+ * Allowed domains for URLs
177
+ */
178
+ allowedDomains?: string[];
179
+ /**
180
+ * Maximum content length
181
+ */
182
+ maxContentLength?: number;
183
+ }
184
+ /**
185
+ * Configuration for guard plugins
186
+ */
187
+ export interface GuardConfig {
188
+ enabled: boolean;
189
+ rules: GuardRule[];
190
+ mode: 'blocking' | 'monitoring';
191
+ /**
192
+ * Rate limiting configuration (if applicable)
193
+ */
194
+ rateLimiting?: RateLimiting;
195
+ /**
196
+ * PII detection settings (if applicable)
197
+ */
198
+ piiDetection?: PIIDetection;
199
+ /**
200
+ * Content filtering settings (if applicable)
201
+ */
202
+ contentFiltering?: ContentFiltering;
203
+ }
204
+ /**
205
+ * Guard plugin interface for request/response validation and security.
206
+ * @template TRequest The type of requests validated by this guard.
207
+ * @template TResponse The type of responses validated by this guard.
208
+ *
209
+ * @example
210
+ * ```typescript
211
+ * class ContentFilterPlugin
212
+ * extends BasePlugin
213
+ * implements IGuardPlugin<unknown, unknown>
214
+ * {
215
+ * async validateRequest(request: unknown): Promise<GuardResult> {
216
+ * const violations = await this.checkContent(request);
217
+ * return {
218
+ * passed: violations.length === 0,
219
+ * violations
220
+ * };
221
+ * }
222
+ *
223
+ * async validateResponse(response: unknown): Promise<GuardResult> {
224
+ * return { passed: true };
225
+ * }
226
+ *
227
+ * getGuardType(): GuardType {
228
+ * return GuardType.CONTENT_FILTER;
229
+ * }
230
+ *
231
+ * getRules(): GuardRule[] {
232
+ * return this.currentRules;
233
+ * }
234
+ *
235
+ * async configure(config: Partial<GuardConfig>): Promise<void> {
236
+ * Object.assign(this.config, config);
237
+ * }
238
+ * }
239
+ * ```
240
+ */
241
+ export interface IGuardPlugin<TRequest = unknown, TResponse = unknown> extends IPlugin {
242
+ /**
243
+ * Validate an incoming request.
244
+ * @param request The request to validate (typed per guard).
245
+ * @returns Validation result with pass/fail and violations.
246
+ */
247
+ validateRequest(request: TRequest): Promise<GuardResult>;
248
+ /**
249
+ * Validate an outgoing response.
250
+ * @param response The response to validate (typed per guard).
251
+ * @returns Validation result with pass/fail and violations.
252
+ */
253
+ validateResponse(response: TResponse): Promise<GuardResult>;
254
+ /**
255
+ * Get the type of guard.
256
+ * @returns The guard type.
257
+ */
258
+ getGuardType(): GuardType;
259
+ /**
260
+ * Get configured rules.
261
+ * @returns Array of guard rules.
262
+ */
263
+ getRules(): GuardRule[];
264
+ /**
265
+ * Configure the guard. Implementations may merge with existing config.
266
+ * @param config Guard configuration (partial updates allowed).
267
+ */
268
+ configure(config: Partial<GuardConfig>): Promise<void>;
269
+ }
270
+ export declare const GuardResultSchema: {
271
+ $schema: string;
272
+ type: string;
273
+ properties: {
274
+ passed: {
275
+ type: string;
276
+ };
277
+ errors: {
278
+ type: string;
279
+ items: {
280
+ type: string;
281
+ };
282
+ };
283
+ };
284
+ required: string[];
285
+ if: {
286
+ properties: {
287
+ passed: {
288
+ const: boolean;
289
+ };
290
+ };
291
+ };
292
+ then: {
293
+ required: string[];
294
+ properties: {
295
+ errors: {
296
+ minItems: number;
297
+ };
298
+ };
299
+ };
300
+ else: {
301
+ properties: {
302
+ errors: boolean;
303
+ };
304
+ };
305
+ additionalProperties: boolean;
306
+ };
307
+ //# sourceMappingURL=guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["../../src/plugin/guard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Types of guards
3
+ */
4
+ export var GuardType;
5
+ (function (GuardType) {
6
+ GuardType["CONTENT_FILTER"] = "content_filter";
7
+ GuardType["RATE_LIMITER"] = "rate_limiter";
8
+ GuardType["TOKEN_LIMITER"] = "token_limiter";
9
+ GuardType["PII_DETECTOR"] = "pii_detector";
10
+ GuardType["PROMPT_INJECTION"] = "prompt_injection";
11
+ GuardType["CUSTOM"] = "custom";
12
+ })(GuardType || (GuardType = {}));
13
+ export const GuardResultSchema = {
14
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
15
+ "type": "object",
16
+ "properties": {
17
+ "passed": {
18
+ "type": "boolean"
19
+ },
20
+ "errors": {
21
+ "type": "array",
22
+ "items": {
23
+ "type": "string"
24
+ }
25
+ }
26
+ },
27
+ "required": ["passed"],
28
+ "if": {
29
+ "properties": { "passed": { "const": false } }
30
+ },
31
+ "then": {
32
+ "required": ["errors"],
33
+ "properties": {
34
+ "errors": {
35
+ "minItems": 1
36
+ }
37
+ }
38
+ },
39
+ "else": {
40
+ "properties": {
41
+ "errors": false
42
+ }
43
+ },
44
+ "additionalProperties": false
45
+ };
46
+ //# sourceMappingURL=guard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guard.js","sourceRoot":"","sources":["../../src/plugin/guard.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAN,IAAY,SAOX;AAPD,WAAY,SAAS;IACjB,8CAAiC,CAAA;IACjC,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,0CAA6B,CAAA;IAC7B,kDAAqC,CAAA;IACrC,8BAAiB,CAAA;AACrB,CAAC,EAPW,SAAS,KAAT,SAAS,QAOpB;AA2SD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,SAAS,EAAE,8CAA8C;IACzD,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE;QACV,QAAQ,EAAE;YACN,MAAM,EAAE,SAAS;SACpB;QACD,QAAQ,EAAE;YACN,MAAM,EAAE,OAAO;YACf,OAAO,EAAE;gBACL,MAAM,EAAE,QAAQ;aACnB;SACJ;KACJ;IACD,UAAU,EAAE,CAAC,QAAQ,CAAC;IACtB,IAAI,EAAE;QACF,YAAY,EAAE,EAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,KAAK,EAAC,EAAC;KAC7C;IACD,MAAM,EAAE;QACJ,UAAU,EAAE,CAAC,QAAQ,CAAC;QACtB,YAAY,EAAE;YACV,QAAQ,EAAE;gBACN,UAAU,EAAE,CAAC;aAChB;SACJ;KACJ;IACD,MAAM,EAAE;QACJ,YAAY,EAAE;YACV,QAAQ,EAAE,KAAK;SAClB;KACJ;IACD,sBAAsB,EAAE,KAAK;CAChC,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Plugin SDK version for compatibility checking
3
+ */
4
+ export declare const PLUGIN_SDK_VERSION = "0.1.0";
5
+ export * from './base';
6
+ export * from './context';
7
+ export * from './provider';
8
+ export * from './errors';
9
+ export * from './evaluator';
10
+ export * from './guard';
11
+ export * from './manifest';
12
+ export * from './provider';
13
+ export * from './registry';
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAAU,CAAC;AAE1C,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Plugin SDK version for compatibility checking
3
+ */
4
+ export const PLUGIN_SDK_VERSION = '0.1.0';
5
+ export * from './base';
6
+ export * from './context';
7
+ export * from './provider';
8
+ export * from './errors';
9
+ export * from './evaluator';
10
+ export * from './guard';
11
+ export * from './manifest';
12
+ export * from './provider';
13
+ export * from './registry';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/plugin/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAE1C,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}