@getrheo/contracts 1.0.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 (81) hide show
  1. package/dist/animations.d.ts +226 -0
  2. package/dist/animations.js +1160 -0
  3. package/dist/animations.js.map +1 -0
  4. package/dist/appIntegrations.d.ts +175 -0
  5. package/dist/appIntegrations.js +60 -0
  6. package/dist/appIntegrations.js.map +1 -0
  7. package/dist/billingPeriod.d.ts +26 -0
  8. package/dist/billingPeriod.js +39 -0
  9. package/dist/billingPeriod.js.map +1 -0
  10. package/dist/canvasEditorGates.d.ts +81 -0
  11. package/dist/canvasEditorGates.js +1460 -0
  12. package/dist/canvasEditorGates.js.map +1 -0
  13. package/dist/constants/index.d.ts +30 -0
  14. package/dist/constants/index.js +67 -0
  15. package/dist/constants/index.js.map +1 -0
  16. package/dist/dashboard.d.ts +181856 -0
  17. package/dist/dashboard.js +3348 -0
  18. package/dist/dashboard.js.map +1 -0
  19. package/dist/decisions.d.ts +575 -0
  20. package/dist/decisions.js +1209 -0
  21. package/dist/decisions.js.map +1 -0
  22. package/dist/events.d.ts +231 -0
  23. package/dist/events.js +63 -0
  24. package/dist/events.js.map +1 -0
  25. package/dist/experiments-DN8pQa_D.d.ts +530 -0
  26. package/dist/externalSurfaceIntegrations.d.ts +20 -0
  27. package/dist/externalSurfaceIntegrations.js +49 -0
  28. package/dist/externalSurfaceIntegrations.js.map +1 -0
  29. package/dist/externalSurfaces.d.ts +177 -0
  30. package/dist/externalSurfaces.js +1190 -0
  31. package/dist/externalSurfaces.js.map +1 -0
  32. package/dist/fields.d.ts +8 -0
  33. package/dist/fields.js +15 -0
  34. package/dist/fields.js.map +1 -0
  35. package/dist/flowManifestSchema-CtqygXCK.d.ts +50857 -0
  36. package/dist/flowTemplateComments.d.ts +23 -0
  37. package/dist/flowTemplateComments.js +14 -0
  38. package/dist/flowTemplateComments.js.map +1 -0
  39. package/dist/flowTemplates.d.ts +22 -0
  40. package/dist/flowTemplates.js +73 -0
  41. package/dist/flowTemplates.js.map +1 -0
  42. package/dist/identity.d.ts +35 -0
  43. package/dist/identity.js +18 -0
  44. package/dist/identity.js.map +1 -0
  45. package/dist/imageContentType.d.ts +11 -0
  46. package/dist/imageContentType.js +54 -0
  47. package/dist/imageContentType.js.map +1 -0
  48. package/dist/index.d.ts +224 -0
  49. package/dist/index.js +4557 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/layerUnion-BzXoAJLY.d.ts +34 -0
  52. package/dist/layers.d.ts +89844 -0
  53. package/dist/layers.js +1507 -0
  54. package/dist/layers.js.map +1 -0
  55. package/dist/layout-D0LpaKG-.d.ts +12896 -0
  56. package/dist/localized.d.ts +17 -0
  57. package/dist/localized.js +18 -0
  58. package/dist/localized.js.map +1 -0
  59. package/dist/manifest.d.ts +22192 -0
  60. package/dist/manifest.js +2163 -0
  61. package/dist/manifest.js.map +1 -0
  62. package/dist/media.d.ts +53 -0
  63. package/dist/media.js +55 -0
  64. package/dist/media.js.map +1 -0
  65. package/dist/planEntitlements.d.ts +65 -0
  66. package/dist/planEntitlements.js +117 -0
  67. package/dist/planEntitlements.js.map +1 -0
  68. package/dist/publish-exports.json +102 -0
  69. package/dist/screens.d.ts +33586 -0
  70. package/dist/screens.js +1439 -0
  71. package/dist/screens.js.map +1 -0
  72. package/dist/sdk.d.ts +145942 -0
  73. package/dist/sdk.js +3424 -0
  74. package/dist/sdk.js.map +1 -0
  75. package/dist/sdkAttributes.d.ts +11 -0
  76. package/dist/sdkAttributes.js +17 -0
  77. package/dist/sdkAttributes.js.map +1 -0
  78. package/dist/workspaceCapabilities.d.ts +15 -0
  79. package/dist/workspaceCapabilities.js +116 -0
  80. package/dist/workspaceCapabilities.js.map +1 -0
  81. package/package.json +162 -0
@@ -0,0 +1,226 @@
1
+ import { z } from 'zod';
2
+
3
+ /**
4
+ * Animation IR — strict-parity, normalized keyframes shared by every
5
+ * runtime (web sim, native SDK, future exporters).
6
+ *
7
+ * Design notes:
8
+ * - `tracks` are the source of truth: each `KeyframeTrack` is a sorted
9
+ * list of `{ t, value }` samples for ONE animatable property. Renderers
10
+ * interpolate between samples using the segment's `easing` token.
11
+ * - All times are normalized 0..1; the clip's authored duration lives in
12
+ * `durationMs`. This keeps schema purely numeric and renderer math
13
+ * identical (CSS keyframes, Reanimated `withTiming` chains, etc.).
14
+ * - `triggers`: `mount` (layer appears), `unmount` (layer hides — timed on
15
+ * the screen timeline), and legacy `stagger` (migrated to `mount` + delay
16
+ * in the builder). Transitions between screens remain `ScreenTransition`.
17
+ * - Property surface is intentionally narrow ("style tokens only") so
18
+ * strict parity holds across web + RN. Adding a property here means
19
+ * adding interpreter support in BOTH renderers.
20
+ */
21
+ declare const ANIMATABLE_PROPERTIES: readonly ["opacity", "translateX", "translateY", "scale"];
22
+ type AnimatableProperty = (typeof ANIMATABLE_PROPERTIES)[number];
23
+ declare const AnimatablePropertySchema: z.ZodEnum<["opacity", "translateX", "translateY", "scale"]>;
24
+ declare const EASING_TOKENS: readonly ["linear", "ease-in", "ease-out", "ease-in-out", "standard", "emphasized"];
25
+ type EasingToken = (typeof EASING_TOKENS)[number];
26
+ declare const EasingTokenSchema: z.ZodEnum<["linear", "ease-in", "ease-out", "ease-in-out", "standard", "emphasized"]>;
27
+ /** A single sample on a property track. */
28
+ declare const KeyframeSchema: z.ZodObject<{
29
+ t: z.ZodNumber;
30
+ value: z.ZodNumber;
31
+ /** Easing applied from this keyframe to the next; defaults to linear. */
32
+ easing: z.ZodOptional<z.ZodEnum<["linear", "ease-in", "ease-out", "ease-in-out", "standard", "emphasized"]>>;
33
+ }, "strict", z.ZodTypeAny, {
34
+ value: number;
35
+ t: number;
36
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
37
+ }, {
38
+ value: number;
39
+ t: number;
40
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
41
+ }>;
42
+ type Keyframe = z.infer<typeof KeyframeSchema>;
43
+ declare const KeyframeTrackSchema: z.ZodEffects<z.ZodObject<{
44
+ property: z.ZodEnum<["opacity", "translateX", "translateY", "scale"]>;
45
+ keyframes: z.ZodArray<z.ZodObject<{
46
+ t: z.ZodNumber;
47
+ value: z.ZodNumber;
48
+ /** Easing applied from this keyframe to the next; defaults to linear. */
49
+ easing: z.ZodOptional<z.ZodEnum<["linear", "ease-in", "ease-out", "ease-in-out", "standard", "emphasized"]>>;
50
+ }, "strict", z.ZodTypeAny, {
51
+ value: number;
52
+ t: number;
53
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
54
+ }, {
55
+ value: number;
56
+ t: number;
57
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
58
+ }>, "many">;
59
+ }, "strict", z.ZodTypeAny, {
60
+ property: "opacity" | "scale" | "translateX" | "translateY";
61
+ keyframes: {
62
+ value: number;
63
+ t: number;
64
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
65
+ }[];
66
+ }, {
67
+ property: "opacity" | "scale" | "translateX" | "translateY";
68
+ keyframes: {
69
+ value: number;
70
+ t: number;
71
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
72
+ }[];
73
+ }>, {
74
+ property: "opacity" | "scale" | "translateX" | "translateY";
75
+ keyframes: {
76
+ value: number;
77
+ t: number;
78
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
79
+ }[];
80
+ }, {
81
+ property: "opacity" | "scale" | "translateX" | "translateY";
82
+ keyframes: {
83
+ value: number;
84
+ t: number;
85
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
86
+ }[];
87
+ }>;
88
+ type KeyframeTrack = z.infer<typeof KeyframeTrackSchema>;
89
+ declare const ANIMATION_TRIGGERS: readonly ["mount", "stagger", "unmount"];
90
+ type AnimationTrigger = (typeof ANIMATION_TRIGGERS)[number];
91
+ declare const AnimationTriggerSchema: z.ZodEnum<["mount", "stagger", "unmount"]>;
92
+ declare const AnimationClipSchema: z.ZodEffects<z.ZodObject<{
93
+ id: z.ZodString;
94
+ targetLayerId: z.ZodString;
95
+ trigger: z.ZodEnum<["mount", "stagger", "unmount"]>;
96
+ /** Position in the screen's stagger order. Required when trigger is `stagger`. */
97
+ staggerIndex: z.ZodOptional<z.ZodNumber>;
98
+ /** Total clip duration in milliseconds (renderer scales 0..1 keyframes by this). */
99
+ durationMs: z.ZodNumber;
100
+ /** Pre-roll delay before the clip begins, in ms. Stagger adds on top of this. */
101
+ delayMs: z.ZodOptional<z.ZodNumber>;
102
+ tracks: z.ZodArray<z.ZodEffects<z.ZodObject<{
103
+ property: z.ZodEnum<["opacity", "translateX", "translateY", "scale"]>;
104
+ keyframes: z.ZodArray<z.ZodObject<{
105
+ t: z.ZodNumber;
106
+ value: z.ZodNumber;
107
+ /** Easing applied from this keyframe to the next; defaults to linear. */
108
+ easing: z.ZodOptional<z.ZodEnum<["linear", "ease-in", "ease-out", "ease-in-out", "standard", "emphasized"]>>;
109
+ }, "strict", z.ZodTypeAny, {
110
+ value: number;
111
+ t: number;
112
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
113
+ }, {
114
+ value: number;
115
+ t: number;
116
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
117
+ }>, "many">;
118
+ }, "strict", z.ZodTypeAny, {
119
+ property: "opacity" | "scale" | "translateX" | "translateY";
120
+ keyframes: {
121
+ value: number;
122
+ t: number;
123
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
124
+ }[];
125
+ }, {
126
+ property: "opacity" | "scale" | "translateX" | "translateY";
127
+ keyframes: {
128
+ value: number;
129
+ t: number;
130
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
131
+ }[];
132
+ }>, {
133
+ property: "opacity" | "scale" | "translateX" | "translateY";
134
+ keyframes: {
135
+ value: number;
136
+ t: number;
137
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
138
+ }[];
139
+ }, {
140
+ property: "opacity" | "scale" | "translateX" | "translateY";
141
+ keyframes: {
142
+ value: number;
143
+ t: number;
144
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
145
+ }[];
146
+ }>, "many">;
147
+ }, "strict", z.ZodTypeAny, {
148
+ id: string;
149
+ durationMs: number;
150
+ targetLayerId: string;
151
+ trigger: "mount" | "stagger" | "unmount";
152
+ tracks: {
153
+ property: "opacity" | "scale" | "translateX" | "translateY";
154
+ keyframes: {
155
+ value: number;
156
+ t: number;
157
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
158
+ }[];
159
+ }[];
160
+ delayMs?: number | undefined;
161
+ staggerIndex?: number | undefined;
162
+ }, {
163
+ id: string;
164
+ durationMs: number;
165
+ targetLayerId: string;
166
+ trigger: "mount" | "stagger" | "unmount";
167
+ tracks: {
168
+ property: "opacity" | "scale" | "translateX" | "translateY";
169
+ keyframes: {
170
+ value: number;
171
+ t: number;
172
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
173
+ }[];
174
+ }[];
175
+ delayMs?: number | undefined;
176
+ staggerIndex?: number | undefined;
177
+ }>, {
178
+ id: string;
179
+ durationMs: number;
180
+ targetLayerId: string;
181
+ trigger: "mount" | "stagger" | "unmount";
182
+ tracks: {
183
+ property: "opacity" | "scale" | "translateX" | "translateY";
184
+ keyframes: {
185
+ value: number;
186
+ t: number;
187
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
188
+ }[];
189
+ }[];
190
+ delayMs?: number | undefined;
191
+ staggerIndex?: number | undefined;
192
+ }, {
193
+ id: string;
194
+ durationMs: number;
195
+ targetLayerId: string;
196
+ trigger: "mount" | "stagger" | "unmount";
197
+ tracks: {
198
+ property: "opacity" | "scale" | "translateX" | "translateY";
199
+ keyframes: {
200
+ value: number;
201
+ t: number;
202
+ easing?: "linear" | "ease-in" | "ease-out" | "ease-in-out" | "standard" | "emphasized" | undefined;
203
+ }[];
204
+ }[];
205
+ delayMs?: number | undefined;
206
+ staggerIndex?: number | undefined;
207
+ }>;
208
+ type AnimationClip = z.infer<typeof AnimationClipSchema>;
209
+ /** Default clip duration when the builder adds mount/unmount animations. */
210
+ declare const DEFAULT_ANIMATION_CLIP_DURATION_MS: 500;
211
+ /**
212
+ * Default gap between siblings when a screen uses `stagger`. The
213
+ * renderer multiplies this by `staggerIndex` and adds it to the clip's
214
+ * `delayMs`. Lives on the screen so authors can dial overall pacing.
215
+ */
216
+ declare const ScreenStaggerSchema: z.ZodObject<{
217
+ /** Per-index delay multiplier in ms. */
218
+ stepMs: z.ZodNumber;
219
+ }, "strict", z.ZodTypeAny, {
220
+ stepMs: number;
221
+ }, {
222
+ stepMs: number;
223
+ }>;
224
+ type ScreenStagger = z.infer<typeof ScreenStaggerSchema>;
225
+
226
+ export { ANIMATABLE_PROPERTIES, ANIMATION_TRIGGERS, type AnimatableProperty, AnimatablePropertySchema, type AnimationClip, AnimationClipSchema, type AnimationTrigger, AnimationTriggerSchema, DEFAULT_ANIMATION_CLIP_DURATION_MS, EASING_TOKENS, type EasingToken, EasingTokenSchema, type Keyframe, KeyframeSchema, type KeyframeTrack, KeyframeTrackSchema, type ScreenStagger, ScreenStaggerSchema };