@revealui/contracts 1.3.7 → 1.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,YAAY,CAAC;AAOlE,MAAM,MAAM,cAAc,GACtB,SAAS,GACT,IAAI,GACJ,UAAU,GACV,KAAK,GACL,UAAU,GACV,cAAc,GACd,WAAW,GACX,cAAc,GACd,WAAW,GACX,aAAa,GACb,UAAU,GACV,aAAa,GACb,YAAY,GACZ,KAAK,GACL,cAAc,GACd,eAAe,GACf,gBAAgB,CAAC;AAMrB,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKrD,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAKrD,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAkBzD,CAAC;AAMF,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,UAAU,CAKzD,CAAC;AAMF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,aAAa,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAAgB,EAuFhD,CAAC;AAMF,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,YAAY,EAmBxC,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,iBAAiB,EAAE,eAAe,EAgE9C,CAAC;AAMF,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,gBAAgB,EAAE,CAAC;IAClC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,eAAO,MAAM,eAAe,EAAE,aAAa,EA6C1C,CAAC;AAaF,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,aAAa,GAAG,gBAAgB,EAAE,CAGlF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAExD"}
1
+ {"version":3,"file":"pricing.d.ts","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
package/dist/pricing.js CHANGED
@@ -161,53 +161,60 @@ export const SERVICE_OFFERINGS = [
161
161
  {
162
162
  id: 'architecture-review',
163
163
  name: 'Architecture Review',
164
- description: 'A senior engineer reviews your project structure, database schema, deployment pipeline, and AI integration. You receive a written report with actionable recommendations.',
164
+ price: '$3,500',
165
+ description: 'I review your project structure, database schema, deployment pipeline, and security posture. You receive a written report with prioritized, actionable recommendations.',
165
166
  includes: [
166
167
  'Full codebase review (up to 50K LOC)',
167
168
  'Database schema and query analysis',
168
169
  'Deployment and CI/CD assessment',
169
170
  'Security posture review',
170
171
  'Written report with prioritized recommendations',
172
+ '1-hour follow-up call to discuss findings',
171
173
  ],
172
174
  deliverable: 'Written report delivered within 5 business days',
173
- cta: 'Book Review',
174
- ctaHref: 'mailto:services@revealui.com?subject=Architecture%20Review',
175
+ cta: 'Book a Discovery Call',
176
+ ctaHref: 'https://cal.com/revealuistudio/revealui-discovery-call',
177
+ },
178
+ {
179
+ id: 'launch-package',
180
+ name: 'Launch Package',
181
+ price: '$7,500',
182
+ description: 'Go from zero to production. I set up your RevealUI instance, configure your content model, deploy to Vercel, and hand you the keys with a full handoff session.',
183
+ includes: [
184
+ 'RevealUI project setup and configuration',
185
+ 'Content schema design for your use case',
186
+ 'Authentication and access control',
187
+ 'Vercel deployment with custom domain',
188
+ 'Operational handoff documentation',
189
+ '2-hour handoff session with your team',
190
+ ],
191
+ deliverable: 'Production-ready deployment within 2-4 weeks',
192
+ cta: 'Book a Discovery Call',
193
+ ctaHref: 'https://cal.com/revealuistudio/revealui-discovery-call',
175
194
  },
176
195
  {
177
196
  id: 'migration-assist',
178
197
  name: 'Migration Assist',
179
- description: 'We migrate your existing admin, database, or billing system to RevealUI. Includes data mapping, schema translation, and validation testing.',
198
+ price: '$300',
199
+ priceNote: '/hr',
200
+ description: 'I migrate your existing CMS, database, or platform to RevealUI. Includes data mapping, automated migration scripts, validation testing, and go-live cutover support.',
180
201
  includes: [
181
202
  'Data audit and mapping plan',
182
- 'Schema translation and migration scripts',
203
+ 'Automated migration scripts (repeatable)',
183
204
  'Content and user migration',
184
205
  'Validation testing and rollback plan',
185
- 'Post-migration support (2 weeks)',
206
+ 'Go-live cutover support (up to 4 hours)',
186
207
  ],
187
208
  deliverable: 'Working migration with verified data integrity',
188
- cta: 'Get a Quote',
189
- ctaHref: 'mailto:services@revealui.com?subject=Migration%20Assist',
190
- },
191
- {
192
- id: 'launch-package',
193
- name: 'Launch Package',
194
- description: 'Go from zero to production in one week. We set up your RevealUI instance, configure billing, deploy to Vercel, and hand you the keys.',
195
- includes: [
196
- 'RevealUI project setup and configuration',
197
- 'Stripe billing integration (products, webhooks, portal)',
198
- 'Vercel deployment with custom domain',
199
- 'AI agent configuration (model selection, tool setup)',
200
- 'Content schema design for your use case',
201
- '1 hour onboarding call',
202
- ],
203
- deliverable: 'Production-ready deployment within 5 business days',
204
- cta: 'Book Launch',
205
- ctaHref: 'mailto:services@revealui.com?subject=Launch%20Package',
209
+ cta: 'Get an Estimate',
210
+ ctaHref: 'https://cal.com/revealuistudio/revealui-discovery-call',
206
211
  },
207
212
  {
208
213
  id: 'consulting-hour',
209
214
  name: 'Consulting Hour',
210
- description: 'One-on-one time with a RevealUI engineer. Pair programming, architecture advice, debugging, or anything else you need help with.',
215
+ price: '$300',
216
+ priceNote: '/hr',
217
+ description: 'One-on-one time with the founder who built RevealUI. Pair programming, architecture advice, debugging, or anything else you need help with.',
211
218
  includes: [
212
219
  '1 hour video call with screen sharing',
213
220
  'Follow-up notes and action items',
@@ -215,7 +222,7 @@ export const SERVICE_OFFERINGS = [
215
222
  ],
216
223
  deliverable: 'Session recording and written follow-up notes',
217
224
  cta: 'Book a Session',
218
- ctaHref: 'mailto:services@revealui.com?subject=Consulting%20Hour',
225
+ ctaHref: 'https://cal.com/revealuistudio/revealui-discovery-call',
219
226
  },
220
227
  ];
221
228
  export const PERPETUAL_TIERS = [
@@ -1 +1 @@
1
- {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
@@ -8,13 +8,14 @@ import type { SecurityRule } from './rules.js';
8
8
  export declare const EXEC_SYNC_STRING_RULE: SecurityRule;
9
9
  export declare const TOCTOU_STAT_READ_RULE: SecurityRule;
10
10
  export declare const REDOS_REGEX_RULE: SecurityRule;
11
+ export declare const AD_HOC_SANITIZER_RULE: SecurityRule;
11
12
  export declare const SECURITY_RULES: {
12
13
  readonly 'exec-sync-string': {
13
14
  id: string;
14
15
  title: string;
15
16
  description: string;
16
17
  severity: "error" | "warning" | "info";
17
- category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api";
18
+ category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api" | "sanitization";
18
19
  cwe?: string | undefined;
19
20
  remediation?: string | undefined;
20
21
  };
@@ -23,7 +24,7 @@ export declare const SECURITY_RULES: {
23
24
  title: string;
24
25
  description: string;
25
26
  severity: "error" | "warning" | "info";
26
- category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api";
27
+ category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api" | "sanitization";
27
28
  cwe?: string | undefined;
28
29
  remediation?: string | undefined;
29
30
  };
@@ -32,7 +33,16 @@ export declare const SECURITY_RULES: {
32
33
  title: string;
33
34
  description: string;
34
35
  severity: "error" | "warning" | "info";
35
- category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api";
36
+ category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api" | "sanitization";
37
+ cwe?: string | undefined;
38
+ remediation?: string | undefined;
39
+ };
40
+ readonly 'ad-hoc-sanitizer': {
41
+ id: string;
42
+ title: string;
43
+ description: string;
44
+ severity: "error" | "warning" | "info";
45
+ category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api" | "sanitization";
36
46
  cwe?: string | undefined;
37
47
  remediation?: string | undefined;
38
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/security/rule-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAU9B,CAAC;AAMF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIsB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAC"}
1
+ {"version":3,"file":"rule-registry.d.ts","sourceRoot":"","sources":["../../src/security/rule-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAM/C,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YASnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,YAU9B,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,YAUnC,CAAC;AAMF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKsB,CAAC;AAElD,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAC"}
@@ -34,6 +34,15 @@ export const REDOS_REGEX_RULE = {
34
34
  cwe: 'CWE-1333',
35
35
  remediation: 'Restructure the regex to avoid nested quantifiers with overlapping character sets, or use a linear-time regex engine.',
36
36
  };
37
+ export const AD_HOC_SANITIZER_RULE = {
38
+ id: 'ad-hoc-sanitizer',
39
+ title: 'Ad-hoc sanitizer bypasses @revealui/security',
40
+ description: 'Detects sanitization or escaping logic implemented outside @revealui/security. All untrusted-string sinks must use the canonical helpers.',
41
+ severity: 'warning',
42
+ category: 'sanitization',
43
+ cwe: 'CWE-116',
44
+ remediation: 'Use the appropriate helper from @revealui/security: sanitizeHtml, sanitizeTerminalLine, escapeShellArg, escapeSqlIdentifier, redactLogField, or sanitizeUrl.',
45
+ };
37
46
  // =============================================================================
38
47
  // Registry
39
48
  // =============================================================================
@@ -41,5 +50,6 @@ export const SECURITY_RULES = {
41
50
  'exec-sync-string': EXEC_SYNC_STRING_RULE,
42
51
  'toctou-stat-read': TOCTOU_STAT_READ_RULE,
43
52
  'redos-regex': REDOS_REGEX_RULE,
53
+ 'ad-hoc-sanitizer': AD_HOC_SANITIZER_RULE,
44
54
  };
45
55
  //# sourceMappingURL=rule-registry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rule-registry.js","sourceRoot":"","sources":["../../src/security/rule-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,oCAAoC;IAC3C,WAAW,EACT,4HAA4H;IAC9H,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,QAAQ;IACb,WAAW,EAAE,0EAA0E;CACxF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EACT,oIAAoI;IACtI,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,gBAAgB;IAC1B,GAAG,EAAE,SAAS;IACd,WAAW,EAAE,0EAA0E;CACxF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,yCAAyC;IAChD,WAAW,EACT,wHAAwH;IAC1H,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,mBAAmB;IAC7B,GAAG,EAAE,UAAU;IACf,WAAW,EACT,uHAAuH;CAC1H,CAAC;AAEF,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB,EAAE,qBAAqB;IACzC,kBAAkB,EAAE,qBAAqB;IACzC,aAAa,EAAE,gBAAgB;CACgB,CAAC"}
1
+ {"version":3,"file":"rule-registry.js","sourceRoot":"","sources":["../../src/security/rule-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,oCAAoC;IAC3C,WAAW,EACT,4HAA4H;IAC9H,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,WAAW;IACrB,GAAG,EAAE,QAAQ;IACb,WAAW,EAAE,0EAA0E;CACxF,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,sCAAsC;IAC7C,WAAW,EACT,oIAAoI;IACtI,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,gBAAgB;IAC1B,GAAG,EAAE,SAAS;IACd,WAAW,EAAE,0EAA0E;CACxF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAiB;IAC5C,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,yCAAyC;IAChD,WAAW,EACT,wHAAwH;IAC1H,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,mBAAmB;IAC7B,GAAG,EAAE,UAAU;IACf,WAAW,EACT,uHAAuH;CAC1H,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,8CAA8C;IACrD,WAAW,EACT,2IAA2I;IAC7I,QAAQ,EAAE,SAAS;IACnB,QAAQ,EAAE,cAAc;IACxB,GAAG,EAAE,SAAS;IACd,WAAW,EACT,8JAA8J;CACjK,CAAC;AAEF,gFAAgF;AAChF,WAAW;AACX,gFAAgF;AAEhF,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,kBAAkB,EAAE,qBAAqB;IACzC,kBAAkB,EAAE,qBAAqB;IACzC,aAAa,EAAE,gBAAgB;IAC/B,kBAAkB,EAAE,qBAAqB;CACM,CAAC"}
@@ -18,6 +18,7 @@ export declare const SecurityCategorySchema: z.ZodEnum<{
18
18
  "race-condition": "race-condition";
19
19
  "denial-of-service": "denial-of-service";
20
20
  api: "api";
21
+ sanitization: "sanitization";
21
22
  }>;
22
23
  export type SecurityCategory = z.infer<typeof SecurityCategorySchema>;
23
24
  export declare const IssueLocationSchema: z.ZodObject<{
@@ -42,6 +43,7 @@ export declare const SecurityRuleSchema: z.ZodObject<{
42
43
  "race-condition": "race-condition";
43
44
  "denial-of-service": "denial-of-service";
44
45
  api: "api";
46
+ sanitization: "sanitization";
45
47
  }>;
46
48
  cwe: z.ZodOptional<z.ZodString>;
47
49
  remediation: z.ZodOptional<z.ZodString>;
@@ -63,6 +65,7 @@ export declare const SecurityFindingSchema: z.ZodObject<{
63
65
  "race-condition": "race-condition";
64
66
  "denial-of-service": "denial-of-service";
65
67
  api: "api";
68
+ sanitization: "sanitization";
66
69
  }>;
67
70
  cwe: z.ZodOptional<z.ZodString>;
68
71
  remediation: z.ZodOptional<z.ZodString>;
@@ -80,7 +83,7 @@ export declare const SecurityRuleContract: import("../index.js").Contract<{
80
83
  title: string;
81
84
  description: string;
82
85
  severity: "error" | "warning" | "info";
83
- category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api";
86
+ category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api" | "sanitization";
84
87
  cwe?: string | undefined;
85
88
  remediation?: string | undefined;
86
89
  }>;
@@ -90,7 +93,7 @@ export declare const SecurityFindingContract: import("../index.js").Contract<{
90
93
  title: string;
91
94
  description: string;
92
95
  severity: "error" | "warning" | "info";
93
- category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api";
96
+ category: "auth" | "injection" | "race-condition" | "denial-of-service" | "api" | "sanitization";
94
97
  cwe?: string | undefined;
95
98
  remediation?: string | undefined;
96
99
  };
@@ -1 +1 @@
1
- {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/security/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,eAAO,MAAM,sBAAsB;;;;EAAuC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;;EAMjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;iBAkB7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,oBAAoB;;;;;;;;EAK/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAKlC,CAAC"}
1
+ {"version":3,"file":"rules.d.ts","sourceRoot":"","sources":["../../src/security/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAO3B,eAAO,MAAM,sBAAsB;;;;EAAuC,CAAC;AAC3E,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,sBAAsB;;;;;;;EAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAMtE,eAAO,MAAM,mBAAmB;;;;;iBAK9B,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;iBAkB7B,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAM9D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAMpE,eAAO,MAAM,oBAAoB;;;;;;;;EAK/B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;EAKlC,CAAC"}
@@ -17,6 +17,7 @@ export const SecurityCategorySchema = z.enum([
17
17
  'denial-of-service',
18
18
  'auth',
19
19
  'api',
20
+ 'sanitization',
20
21
  ]);
21
22
  // =============================================================================
22
23
  // Issue Location
@@ -1 +1 @@
1
- {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/security/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,MAAM;IACN,KAAK;CACN,CAAC,CAAC;AAGH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;CAC7B,CAAC,CAAC;AAGH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,0CAA0C;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACzC,2BAA2B;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,gDAAgD;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,qBAAqB;IACrB,QAAQ,EAAE,sBAAsB;IAChC,wBAAwB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,2BAA2B;IAC3B,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,KAAK,CAAC,WAAW,CAAC;SAClB,QAAQ,EAAE;IACb,2BAA2B;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAGH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAGH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,6DAA6D;IAC1E,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"rules.js","sourceRoot":"","sources":["../../src/security/rules.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,gFAAgF;AAChF,QAAQ;AACR,gFAAgF;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;AAG3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC;IAC3C,WAAW;IACX,gBAAgB;IAChB,mBAAmB;IACnB,MAAM;IACN,KAAK;IACL,cAAc;CACf,CAAC,CAAC;AAGH,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;CAC7B,CAAC,CAAC;AAGH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,0CAA0C;IAC1C,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC;IACzC,2BAA2B;IAC3B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACjC,gDAAgD;IAChD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IACxC,qBAAqB;IACrB,QAAQ,EAAE,sBAAsB;IAChC,wBAAwB;IACxB,QAAQ,EAAE,sBAAsB;IAChC,2BAA2B;IAC3B,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,KAAK,CAAC,WAAW,CAAC;SAClB,QAAQ,EAAE;IACb,2BAA2B;IAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAGH,gFAAgF;AAChF,qCAAqC;AACrC,gFAAgF;AAEhF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,IAAI,EAAE,kBAAkB;IACxB,QAAQ,EAAE,mBAAmB;CAC9B,CAAC,CAAC;AAGH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,MAAM,CAAC,MAAM,oBAAoB,GAAG,cAAc,CAAC;IACjD,IAAI,EAAE,cAAc;IACpB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,gDAAgD;IAC7D,MAAM,EAAE,kBAAkB;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,cAAc,CAAC;IACpD,IAAI,EAAE,iBAAiB;IACvB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,6DAA6D;IAC1E,MAAM,EAAE,qBAAqB;CAC9B,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@revealui/contracts",
3
- "version": "1.3.7",
3
+ "version": "1.4.0",
4
4
  "description": "Unified contracts package for RevealUI - schemas, validation, and type safety across the stack",
5
5
  "keywords": [
6
6
  "contracts",
@@ -19,7 +19,7 @@
19
19
  "drizzle-zod": "^0.8.3",
20
20
  "typescript": "^6.0.2",
21
21
  "vitest": "^4.1.3",
22
- "@revealui/db": "0.3.7",
22
+ "@revealui/db": "0.4.0",
23
23
  "@revealui/dev": "0.1.0"
24
24
  },
25
25
  "engines": {
@@ -110,13 +110,9 @@
110
110
  "module": "./dist/index.js",
111
111
  "peerDependencies": {
112
112
  "drizzle-zod": "^0.8.3",
113
- "typescript": ">=6.0.0",
114
- "@revealui/db": "^0.3.7"
113
+ "typescript": ">=6.0.0"
115
114
  },
116
115
  "peerDependenciesMeta": {
117
- "@revealui/db": {
118
- "optional": true
119
- },
120
116
  "drizzle-zod": {
121
117
  "optional": true
122
118
  }