@openpolicy/core 0.0.3 → 0.0.6

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 (83) hide show
  1. package/dist/index.d.ts +149 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +529 -231
  4. package/dist/index.js.map +1 -0
  5. package/dist/index.test.d.ts +2 -0
  6. package/dist/index.test.d.ts.map +1 -0
  7. package/dist/privacy.d.ts +7 -0
  8. package/dist/privacy.d.ts.map +1 -0
  9. package/dist/privacy.test.d.ts +2 -0
  10. package/dist/privacy.test.d.ts.map +1 -0
  11. package/dist/renderers/html.d.ts +3 -0
  12. package/dist/renderers/html.d.ts.map +1 -0
  13. package/dist/renderers/markdown.d.ts +3 -0
  14. package/dist/renderers/markdown.d.ts.map +1 -0
  15. package/dist/templates/privacy/ccpa-supplement.d.ts +3 -0
  16. package/dist/templates/privacy/ccpa-supplement.d.ts.map +1 -0
  17. package/dist/templates/privacy/contact.d.ts +3 -0
  18. package/dist/templates/privacy/contact.d.ts.map +1 -0
  19. package/dist/templates/privacy/cookies.d.ts +3 -0
  20. package/dist/templates/privacy/cookies.d.ts.map +1 -0
  21. package/dist/templates/privacy/data-collected.d.ts +3 -0
  22. package/dist/templates/privacy/data-collected.d.ts.map +1 -0
  23. package/dist/templates/privacy/data-retention.d.ts +3 -0
  24. package/dist/templates/privacy/data-retention.d.ts.map +1 -0
  25. package/dist/templates/privacy/gdpr-supplement.d.ts +3 -0
  26. package/dist/templates/privacy/gdpr-supplement.d.ts.map +1 -0
  27. package/dist/templates/privacy/introduction.d.ts +3 -0
  28. package/dist/templates/privacy/introduction.d.ts.map +1 -0
  29. package/dist/templates/privacy/legal-basis.d.ts +3 -0
  30. package/dist/templates/privacy/legal-basis.d.ts.map +1 -0
  31. package/dist/templates/privacy/third-parties.d.ts +3 -0
  32. package/dist/templates/privacy/third-parties.d.ts.map +1 -0
  33. package/dist/templates/privacy/user-rights.d.ts +3 -0
  34. package/dist/templates/privacy/user-rights.d.ts.map +1 -0
  35. package/dist/templates/terms/acceptance.d.ts +3 -0
  36. package/dist/templates/terms/acceptance.d.ts.map +1 -0
  37. package/dist/templates/terms/accounts.d.ts +3 -0
  38. package/dist/templates/terms/accounts.d.ts.map +1 -0
  39. package/dist/templates/terms/availability.d.ts +3 -0
  40. package/dist/templates/terms/availability.d.ts.map +1 -0
  41. package/dist/templates/terms/changes-to-terms.d.ts +3 -0
  42. package/dist/templates/terms/changes-to-terms.d.ts.map +1 -0
  43. package/dist/templates/terms/contact.d.ts +3 -0
  44. package/dist/templates/terms/contact.d.ts.map +1 -0
  45. package/dist/templates/terms/disclaimers.d.ts +3 -0
  46. package/dist/templates/terms/disclaimers.d.ts.map +1 -0
  47. package/dist/templates/terms/dispute-resolution.d.ts +3 -0
  48. package/dist/templates/terms/dispute-resolution.d.ts.map +1 -0
  49. package/dist/templates/terms/eligibility.d.ts +3 -0
  50. package/dist/templates/terms/eligibility.d.ts.map +1 -0
  51. package/dist/templates/terms/governing-law.d.ts +3 -0
  52. package/dist/templates/terms/governing-law.d.ts.map +1 -0
  53. package/dist/templates/terms/indemnification.d.ts +3 -0
  54. package/dist/templates/terms/indemnification.d.ts.map +1 -0
  55. package/dist/templates/terms/intellectual-property.d.ts +3 -0
  56. package/dist/templates/terms/intellectual-property.d.ts.map +1 -0
  57. package/dist/templates/terms/introduction.d.ts +3 -0
  58. package/dist/templates/terms/introduction.d.ts.map +1 -0
  59. package/dist/templates/terms/limitation-of-liability.d.ts +3 -0
  60. package/dist/templates/terms/limitation-of-liability.d.ts.map +1 -0
  61. package/dist/templates/terms/payments.d.ts +3 -0
  62. package/dist/templates/terms/payments.d.ts.map +1 -0
  63. package/dist/templates/terms/prohibited-use.d.ts +3 -0
  64. package/dist/templates/terms/prohibited-use.d.ts.map +1 -0
  65. package/dist/templates/terms/termination.d.ts +3 -0
  66. package/dist/templates/terms/termination.d.ts.map +1 -0
  67. package/dist/templates/terms/third-party-services.d.ts +3 -0
  68. package/dist/templates/terms/third-party-services.d.ts.map +1 -0
  69. package/dist/templates/terms/user-content.d.ts +3 -0
  70. package/dist/templates/terms/user-content.d.ts.map +1 -0
  71. package/dist/terms.d.ts +7 -0
  72. package/dist/terms.d.ts.map +1 -0
  73. package/dist/terms.test.d.ts +2 -0
  74. package/dist/terms.test.d.ts.map +1 -0
  75. package/dist/types.d.ts +119 -0
  76. package/dist/types.d.ts.map +1 -0
  77. package/dist/validate-terms.d.ts +3 -0
  78. package/dist/validate-terms.d.ts.map +1 -0
  79. package/dist/validate-terms.test.d.ts +2 -0
  80. package/dist/validate-terms.test.d.ts.map +1 -0
  81. package/dist/validate.d.ts +3 -0
  82. package/dist/validate.d.ts.map +1 -0
  83. package/package.json +6 -3
@@ -0,0 +1,149 @@
1
+ //#region src/types.d.ts
2
+ type OutputFormat = "markdown" | "html" | "pdf" | "jsx";
3
+ type CompileOptions = {
4
+ formats: OutputFormat[];
5
+ };
6
+ type PolicySection = {
7
+ id: string;
8
+ title: string;
9
+ body: string;
10
+ };
11
+ type Jurisdiction = "us" | "eu" | "ca" | "au" | "nz" | "other";
12
+ type PrivacyPolicyConfig = {
13
+ effectiveDate: string;
14
+ company: {
15
+ name: string;
16
+ legalName: string;
17
+ address: string;
18
+ contact: string;
19
+ };
20
+ dataCollected: Record<string, string[]>;
21
+ legalBasis: string;
22
+ retention: Record<string, string>;
23
+ cookies: {
24
+ essential: boolean;
25
+ analytics: boolean;
26
+ marketing: boolean;
27
+ };
28
+ thirdParties: {
29
+ name: string;
30
+ purpose: string;
31
+ }[];
32
+ userRights: string[];
33
+ jurisdictions: Jurisdiction[];
34
+ };
35
+ type DisputeResolutionMethod = "arbitration" | "litigation" | "mediation";
36
+ type TermsOfServiceConfig = {
37
+ effectiveDate: string;
38
+ company: {
39
+ name: string;
40
+ legalName: string;
41
+ address: string;
42
+ contact: string;
43
+ };
44
+ acceptance: {
45
+ methods: string[];
46
+ };
47
+ eligibility?: {
48
+ minimumAge: number;
49
+ jurisdictionRestrictions?: string[];
50
+ };
51
+ accounts?: {
52
+ registrationRequired: boolean;
53
+ userResponsibleForCredentials: boolean;
54
+ companyCanTerminate: boolean;
55
+ };
56
+ prohibitedUses?: string[];
57
+ userContent?: {
58
+ usersOwnContent: boolean;
59
+ licenseGrantedToCompany: boolean;
60
+ licenseDescription?: string;
61
+ companyCanRemoveContent: boolean;
62
+ };
63
+ intellectualProperty?: {
64
+ companyOwnsService: boolean;
65
+ usersMayNotCopy: boolean;
66
+ };
67
+ payments?: {
68
+ hasPaidFeatures: boolean;
69
+ refundPolicy?: string;
70
+ priceChangesNotice?: string;
71
+ };
72
+ availability?: {
73
+ noUptimeGuarantee: boolean;
74
+ maintenanceWindows?: string;
75
+ };
76
+ termination?: {
77
+ companyCanTerminate: boolean;
78
+ userCanTerminate: boolean;
79
+ effectOfTermination?: string;
80
+ };
81
+ disclaimers?: {
82
+ serviceProvidedAsIs: boolean;
83
+ noWarranties: boolean;
84
+ };
85
+ limitationOfLiability?: {
86
+ excludesIndirectDamages: boolean;
87
+ liabilityCap?: string;
88
+ };
89
+ indemnification?: {
90
+ userIndemnifiesCompany: boolean;
91
+ scope?: string;
92
+ };
93
+ thirdPartyServices?: {
94
+ name: string;
95
+ purpose: string;
96
+ }[];
97
+ disputeResolution?: {
98
+ method: DisputeResolutionMethod;
99
+ venue?: string;
100
+ classActionWaiver?: boolean;
101
+ };
102
+ governingLaw: {
103
+ jurisdiction: string;
104
+ };
105
+ changesPolicy?: {
106
+ noticeMethod: string;
107
+ noticePeriodDays?: number;
108
+ };
109
+ privacyPolicyUrl?: string;
110
+ };
111
+ type PolicyInput = ({
112
+ type: "privacy";
113
+ } & PrivacyPolicyConfig) | ({
114
+ type: "terms";
115
+ } & TermsOfServiceConfig);
116
+ type ValidationIssue = {
117
+ level: "error" | "warning";
118
+ message: string;
119
+ };
120
+ //#endregion
121
+ //#region src/privacy.d.ts
122
+ declare function compilePrivacyPolicy(config: PrivacyPolicyConfig, options?: CompileOptions): {
123
+ format: OutputFormat;
124
+ content: string;
125
+ sections: PolicySection[];
126
+ }[];
127
+ //#endregion
128
+ //#region src/terms.d.ts
129
+ declare function compileTermsOfService(config: TermsOfServiceConfig, options?: CompileOptions): {
130
+ format: OutputFormat;
131
+ content: string;
132
+ sections: PolicySection[];
133
+ }[];
134
+ //#endregion
135
+ //#region src/validate.d.ts
136
+ declare function validatePrivacyPolicy(config: PrivacyPolicyConfig): ValidationIssue[];
137
+ //#endregion
138
+ //#region src/validate-terms.d.ts
139
+ declare function validateTermsOfService(config: TermsOfServiceConfig): ValidationIssue[];
140
+ //#endregion
141
+ //#region src/index.d.ts
142
+ declare function compilePolicy(input: PolicyInput, options?: CompileOptions): {
143
+ format: OutputFormat;
144
+ content: string;
145
+ sections: PolicySection[];
146
+ }[];
147
+ //#endregion
148
+ export { type CompileOptions, type DisputeResolutionMethod, type Jurisdiction, type OutputFormat, type PolicyInput, type PolicySection, type PrivacyPolicyConfig, type TermsOfServiceConfig, type ValidationIssue, compilePolicy, compilePrivacyPolicy, compileTermsOfService, validatePrivacyPolicy, validateTermsOfService };
149
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/privacy.ts","../src/terms.ts","../src/validate.ts","../src/validate-terms.ts","../src/index.ts"],"mappings":";KAAY,YAAA;AAAA,KAEA,cAAA;EAAmB,OAAA,EAAS,YAAA;AAAA;AAAA,KAE5B,aAAA;EACX,EAAA;EACA,KAAA;EACA,IAAA;AAAA;AAAA,KAGW,YAAA;AAAA,KAEA,mBAAA;EACX,aAAA;EACA,OAAA;IACC,IAAA;IACA,SAAA;IACA,OAAA;IACA,OAAA;EAAA;EAED,aAAA,EAAe,MAAA;EACf,UAAA;EACA,SAAA,EAAW,MAAA;EACX,OAAA;IAAW,SAAA;IAAoB,SAAA;IAAoB,SAAA;EAAA;EACnD,YAAA;IAAgB,IAAA;IAAc,OAAA;EAAA;EAC9B,UAAA;EACA,aAAA,EAAe,YAAA;AAAA;AAAA,KAGJ,uBAAA;AAAA,KAKA,oBAAA;EACX,aAAA;EACA,OAAA;IACC,IAAA;IACA,SAAA;IACA,OAAA;IACA,OAAA;EAAA;EAED,UAAA;IAAc,OAAA;EAAA;EACd,WAAA;IAAgB,UAAA;IAAoB,wBAAA;EAAA;EACpC,QAAA;IACC,oBAAA;IACA,6BAAA;IACA,mBAAA;EAAA;EAED,cAAA;EACA,WAAA;IACC,eAAA;IACA,uBAAA;IACA,kBAAA;IACA,uBAAA;EAAA;EAED,oBAAA;IACC,kBAAA;IACA,eAAA;EAAA;EAED,QAAA;IACC,eAAA;IACA,YAAA;IACA,kBAAA;EAAA;EAED,YAAA;IAAiB,iBAAA;IAA4B,kBAAA;EAAA;EAC7C,WAAA;IACC,mBAAA;IACA,gBAAA;IACA,mBAAA;EAAA;EAED,WAAA;IAAgB,mBAAA;IAA8B,YAAA;EAAA;EAC9C,qBAAA;IACC,uBAAA;IACA,YAAA;EAAA;EAED,eAAA;IAAoB,sBAAA;IAAiC,KAAA;EAAA;EACrD,kBAAA;IAAuB,IAAA;IAAc,OAAA;EAAA;EACrC,iBAAA;IACC,MAAA,EAAQ,uBAAA;IACR,KAAA;IACA,iBAAA;EAAA;EAED,YAAA;IAAgB,YAAA;EAAA;EAChB,aAAA;IAAkB,YAAA;IAAsB,gBAAA;EAAA;EACxC,gBAAA;AAAA;AAAA,KAGW,WAAA;EACN,IAAA;AAAA,IAAoB,mBAAA;EACpB,IAAA;AAAA,IAAkB,oBAAA;AAAA,KAEZ,eAAA;EACX,KAAA;EACA,OAAA;AAAA;;;iBC5De,oBAAA,CACf,MAAA,EAAQ,mBAAA,EACR,OAAA,GAAS,cAAA;EACL,MAAA,EAAQ,YAAA;EAAc,OAAA;EAAiB,QAAA,EAAU,aAAA;AAAA;;;iBCatC,qBAAA,CACf,MAAA,EAAQ,oBAAA,EACR,OAAA,GAAS,cAAA;EACL,MAAA,EAAQ,YAAA;EAAc,OAAA;EAAiB,QAAA,EAAU,aAAA;AAAA;;;iBCnDtC,qBAAA,CACf,MAAA,EAAQ,mBAAA,GACN,eAAA;;;iBCFa,sBAAA,CACf,MAAA,EAAQ,oBAAA,GACN,eAAA;;;iBCgBa,aAAA,CAAc,KAAA,EAAO,WAAA,EAAa,OAAA,GAAU,cAAA;UAAc,YAAA"}