@moltzap/protocol 2026.503.3 → 2026.504.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 (253) hide show
  1. package/dist/brands.d.ts +11 -0
  2. package/dist/brands.d.ts.map +1 -0
  3. package/dist/brands.js +14 -0
  4. package/dist/brands.js.map +1 -0
  5. package/dist/helpers.d.ts +29 -26
  6. package/dist/helpers.d.ts.map +1 -1
  7. package/dist/helpers.js +34 -16
  8. package/dist/helpers.js.map +1 -1
  9. package/dist/index.d.ts +6 -3
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +6 -3
  12. package/dist/index.js.map +1 -1
  13. package/dist/internal/ajv.d.ts +5 -0
  14. package/dist/internal/ajv.d.ts.map +1 -0
  15. package/dist/internal/ajv.js +22 -0
  16. package/dist/internal/ajv.js.map +1 -0
  17. package/dist/notification.d.ts +14 -0
  18. package/dist/notification.d.ts.map +1 -0
  19. package/dist/notification.js +11 -0
  20. package/dist/notification.js.map +1 -0
  21. package/dist/rpc-errors.d.ts +30 -0
  22. package/dist/rpc-errors.d.ts.map +1 -0
  23. package/dist/rpc-errors.js +23 -0
  24. package/dist/rpc-errors.js.map +1 -0
  25. package/dist/rpc-groups.d.ts +120 -0
  26. package/dist/rpc-groups.d.ts.map +1 -0
  27. package/dist/rpc-groups.js +131 -0
  28. package/dist/rpc-groups.js.map +1 -0
  29. package/dist/rpc-registry.d.ts +1238 -278
  30. package/dist/rpc-registry.d.ts.map +1 -1
  31. package/dist/rpc-registry.js +11 -22
  32. package/dist/rpc-registry.js.map +1 -1
  33. package/dist/rpc.d.ts +26 -5
  34. package/dist/rpc.d.ts.map +1 -1
  35. package/dist/rpc.js +21 -11
  36. package/dist/rpc.js.map +1 -1
  37. package/dist/schema/apps.d.ts +13 -23
  38. package/dist/schema/apps.d.ts.map +1 -1
  39. package/dist/schema/apps.js +2 -12
  40. package/dist/schema/apps.js.map +1 -1
  41. package/dist/schema/contacts.d.ts +6 -2
  42. package/dist/schema/contacts.d.ts.map +1 -1
  43. package/dist/schema/conversations.d.ts +15 -5
  44. package/dist/schema/conversations.d.ts.map +1 -1
  45. package/dist/schema/delivery.d.ts +9 -3
  46. package/dist/schema/delivery.d.ts.map +1 -1
  47. package/dist/schema/errors.d.ts +0 -4
  48. package/dist/schema/errors.d.ts.map +1 -1
  49. package/dist/schema/errors.js +0 -4
  50. package/dist/schema/errors.js.map +1 -1
  51. package/dist/schema/frames.d.ts +48 -51
  52. package/dist/schema/frames.d.ts.map +1 -1
  53. package/dist/schema/frames.js +28 -50
  54. package/dist/schema/frames.js.map +1 -1
  55. package/dist/schema/identity.d.ts +17 -9
  56. package/dist/schema/identity.d.ts.map +1 -1
  57. package/dist/schema/index.d.ts +3 -4
  58. package/dist/schema/index.d.ts.map +1 -1
  59. package/dist/schema/index.js +3 -4
  60. package/dist/schema/index.js.map +1 -1
  61. package/dist/schema/internal-frames.d.ts +10 -0
  62. package/dist/schema/internal-frames.d.ts.map +1 -0
  63. package/dist/schema/internal-frames.js +5 -0
  64. package/dist/schema/internal-frames.js.map +1 -0
  65. package/dist/schema/invites.d.ts +6 -2
  66. package/dist/schema/invites.d.ts.map +1 -1
  67. package/dist/schema/json-rpc.d.ts +27 -0
  68. package/dist/schema/json-rpc.d.ts.map +1 -0
  69. package/dist/schema/json-rpc.js +32 -0
  70. package/dist/schema/json-rpc.js.map +1 -0
  71. package/dist/schema/messages.d.ts +15 -5
  72. package/dist/schema/messages.d.ts.map +1 -1
  73. package/dist/schema/methods/apps.d.ts +138 -85
  74. package/dist/schema/methods/apps.d.ts.map +1 -1
  75. package/dist/schema/methods/apps.js +4 -45
  76. package/dist/schema/methods/apps.js.map +1 -1
  77. package/dist/schema/methods/auth.d.ts +62 -34
  78. package/dist/schema/methods/auth.d.ts.map +1 -1
  79. package/dist/schema/methods/contacts.d.ts +27 -9
  80. package/dist/schema/methods/contacts.d.ts.map +1 -1
  81. package/dist/schema/methods/conversations.d.ts +91 -18
  82. package/dist/schema/methods/conversations.d.ts.map +1 -1
  83. package/dist/schema/methods/conversations.js +2 -2
  84. package/dist/schema/methods/conversations.js.map +1 -1
  85. package/dist/schema/methods/messages.d.ts +39 -13
  86. package/dist/schema/methods/messages.d.ts.map +1 -1
  87. package/dist/schema/methods/presence.d.ts +6 -2
  88. package/dist/schema/methods/presence.d.ts.map +1 -1
  89. package/dist/schema/notifications.d.ts +791 -0
  90. package/dist/schema/notifications.d.ts.map +1 -0
  91. package/dist/schema/notifications.js +173 -0
  92. package/dist/schema/notifications.js.map +1 -0
  93. package/dist/schema/presence.d.ts +3 -1
  94. package/dist/schema/presence.d.ts.map +1 -1
  95. package/dist/schema/primitives.d.ts +21 -5
  96. package/dist/schema/primitives.d.ts.map +1 -1
  97. package/dist/schema/primitives.js +6 -0
  98. package/dist/schema/primitives.js.map +1 -1
  99. package/dist/test-fixtures/seed-data.d.ts +0 -1388
  100. package/dist/test-fixtures/seed-data.d.ts.map +1 -1
  101. package/dist/test-fixtures/seed-data.js +34 -990
  102. package/dist/test-fixtures/seed-data.js.map +1 -1
  103. package/dist/testing/agent-registration.d.ts +3 -1
  104. package/dist/testing/agent-registration.d.ts.map +1 -1
  105. package/dist/testing/agent-registration.js +6 -15
  106. package/dist/testing/agent-registration.js.map +1 -1
  107. package/dist/testing/arbitraries/frames.d.ts +2 -2
  108. package/dist/testing/arbitraries/frames.d.ts.map +1 -1
  109. package/dist/testing/arbitraries/frames.js +9 -7
  110. package/dist/testing/arbitraries/frames.js.map +1 -1
  111. package/dist/testing/arbitraries/from-typebox.d.ts.map +1 -1
  112. package/dist/testing/arbitraries/from-typebox.js +19 -10
  113. package/dist/testing/arbitraries/from-typebox.js.map +1 -1
  114. package/dist/testing/arbitraries/index.d.ts +1 -1
  115. package/dist/testing/arbitraries/index.d.ts.map +1 -1
  116. package/dist/testing/arbitraries/index.js +1 -1
  117. package/dist/testing/arbitraries/index.js.map +1 -1
  118. package/dist/testing/arbitraries/rpc.d.ts +3 -2
  119. package/dist/testing/arbitraries/rpc.d.ts.map +1 -1
  120. package/dist/testing/arbitraries/rpc.js +13 -3
  121. package/dist/testing/arbitraries/rpc.js.map +1 -1
  122. package/dist/testing/captures.d.ts.map +1 -1
  123. package/dist/testing/captures.js +4 -3
  124. package/dist/testing/captures.js.map +1 -1
  125. package/dist/testing/codec.d.ts +13 -11
  126. package/dist/testing/codec.d.ts.map +1 -1
  127. package/dist/testing/codec.js +43 -50
  128. package/dist/testing/codec.js.map +1 -1
  129. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.d.ts.map +1 -1
  130. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js +15 -5
  131. package/dist/testing/conformance/__divergence_proofs__/executable-proof-helpers.js.map +1 -1
  132. package/dist/testing/conformance/_helpers.d.ts +12 -7
  133. package/dist/testing/conformance/_helpers.d.ts.map +1 -1
  134. package/dist/testing/conformance/_helpers.js +30 -7
  135. package/dist/testing/conformance/_helpers.js.map +1 -1
  136. package/dist/testing/conformance/adversity.d.ts.map +1 -1
  137. package/dist/testing/conformance/adversity.js +83 -90
  138. package/dist/testing/conformance/adversity.js.map +1 -1
  139. package/dist/testing/conformance/boundary.d.ts +1 -1
  140. package/dist/testing/conformance/boundary.d.ts.map +1 -1
  141. package/dist/testing/conformance/boundary.js +55 -50
  142. package/dist/testing/conformance/boundary.js.map +1 -1
  143. package/dist/testing/conformance/client/_fixtures.d.ts +7 -5
  144. package/dist/testing/conformance/client/_fixtures.d.ts.map +1 -1
  145. package/dist/testing/conformance/client/_fixtures.js +17 -8
  146. package/dist/testing/conformance/client/_fixtures.js.map +1 -1
  147. package/dist/testing/conformance/client/adversity.d.ts.map +1 -1
  148. package/dist/testing/conformance/client/adversity.js +28 -22
  149. package/dist/testing/conformance/client/adversity.js.map +1 -1
  150. package/dist/testing/conformance/client/boundary.d.ts +2 -2
  151. package/dist/testing/conformance/client/boundary.d.ts.map +1 -1
  152. package/dist/testing/conformance/client/boundary.js +19 -16
  153. package/dist/testing/conformance/client/boundary.js.map +1 -1
  154. package/dist/testing/conformance/client/delivery.d.ts +5 -5
  155. package/dist/testing/conformance/client/delivery.d.ts.map +1 -1
  156. package/dist/testing/conformance/client/delivery.js +77 -73
  157. package/dist/testing/conformance/client/delivery.js.map +1 -1
  158. package/dist/testing/conformance/client/index.d.ts +2 -2
  159. package/dist/testing/conformance/client/index.d.ts.map +1 -1
  160. package/dist/testing/conformance/client/index.js +1 -1
  161. package/dist/testing/conformance/client/index.js.map +1 -1
  162. package/dist/testing/conformance/client/rpc-semantics.d.ts.map +1 -1
  163. package/dist/testing/conformance/client/rpc-semantics.js +31 -37
  164. package/dist/testing/conformance/client/rpc-semantics.js.map +1 -1
  165. package/dist/testing/conformance/client/runner.d.ts +38 -32
  166. package/dist/testing/conformance/client/runner.d.ts.map +1 -1
  167. package/dist/testing/conformance/client/runner.js +36 -45
  168. package/dist/testing/conformance/client/runner.js.map +1 -1
  169. package/dist/testing/conformance/client/schema-conformance.d.ts +8 -8
  170. package/dist/testing/conformance/client/schema-conformance.d.ts.map +1 -1
  171. package/dist/testing/conformance/client/schema-conformance.js +37 -35
  172. package/dist/testing/conformance/client/schema-conformance.js.map +1 -1
  173. package/dist/testing/conformance/client/suite.d.ts.map +1 -1
  174. package/dist/testing/conformance/client/suite.js +4 -3
  175. package/dist/testing/conformance/client/suite.js.map +1 -1
  176. package/dist/testing/conformance/delivery.d.ts.map +1 -1
  177. package/dist/testing/conformance/delivery.js +127 -140
  178. package/dist/testing/conformance/delivery.js.map +1 -1
  179. package/dist/testing/conformance/dispatcher-concurrency.js +12 -12
  180. package/dist/testing/conformance/dispatcher-concurrency.js.map +1 -1
  181. package/dist/testing/conformance/env.d.ts +9 -0
  182. package/dist/testing/conformance/env.d.ts.map +1 -1
  183. package/dist/testing/conformance/env.js +16 -3
  184. package/dist/testing/conformance/env.js.map +1 -1
  185. package/dist/testing/conformance/presence.d.ts.map +1 -1
  186. package/dist/testing/conformance/presence.js +35 -24
  187. package/dist/testing/conformance/presence.js.map +1 -1
  188. package/dist/testing/conformance/registry.d.ts +1 -1
  189. package/dist/testing/conformance/registry.d.ts.map +1 -1
  190. package/dist/testing/conformance/registry.js +1 -1
  191. package/dist/testing/conformance/registry.js.map +1 -1
  192. package/dist/testing/conformance/rpc-semantics.d.ts +12 -12
  193. package/dist/testing/conformance/rpc-semantics.d.ts.map +1 -1
  194. package/dist/testing/conformance/rpc-semantics.js +131 -90
  195. package/dist/testing/conformance/rpc-semantics.js.map +1 -1
  196. package/dist/testing/conformance/runner.d.ts +2 -2
  197. package/dist/testing/conformance/runner.d.ts.map +1 -1
  198. package/dist/testing/conformance/runner.js +5 -10
  199. package/dist/testing/conformance/runner.js.map +1 -1
  200. package/dist/testing/conformance/schema-conformance.d.ts +3 -40
  201. package/dist/testing/conformance/schema-conformance.d.ts.map +1 -1
  202. package/dist/testing/conformance/schema-conformance.js +75 -235
  203. package/dist/testing/conformance/schema-conformance.js.map +1 -1
  204. package/dist/testing/conformance/suite.d.ts +1 -1
  205. package/dist/testing/conformance/suite.d.ts.map +1 -1
  206. package/dist/testing/conformance/suite.js +17 -18
  207. package/dist/testing/conformance/suite.js.map +1 -1
  208. package/dist/testing/index.d.ts +1 -1
  209. package/dist/testing/index.d.ts.map +1 -1
  210. package/dist/testing/models/dispatch.d.ts +5 -5
  211. package/dist/testing/models/dispatch.d.ts.map +1 -1
  212. package/dist/testing/models/dispatch.js +50 -59
  213. package/dist/testing/models/dispatch.js.map +1 -1
  214. package/dist/testing/models/state.d.ts +5 -5
  215. package/dist/testing/models/state.d.ts.map +1 -1
  216. package/dist/testing/models/state.js +14 -1
  217. package/dist/testing/models/state.js.map +1 -1
  218. package/dist/testing/test-client.d.ts +51 -40
  219. package/dist/testing/test-client.d.ts.map +1 -1
  220. package/dist/testing/test-client.js +154 -122
  221. package/dist/testing/test-client.js.map +1 -1
  222. package/dist/testing/test-server.d.ts +5 -5
  223. package/dist/testing/test-server.d.ts.map +1 -1
  224. package/dist/testing/test-server.js +11 -15
  225. package/dist/testing/test-server.js.map +1 -1
  226. package/dist/testing/toxics/client.d.ts.map +1 -1
  227. package/dist/testing/toxics/client.js +9 -3
  228. package/dist/testing/toxics/client.js.map +1 -1
  229. package/dist/testing/toxics/profile.d.ts.map +1 -1
  230. package/dist/testing/toxics/profile.js +4 -1
  231. package/dist/testing/toxics/profile.js.map +1 -1
  232. package/dist/types.d.ts +3 -5
  233. package/dist/types.d.ts.map +1 -1
  234. package/dist/types.js.map +1 -1
  235. package/dist/validators.d.ts +366 -101
  236. package/dist/validators.d.ts.map +1 -1
  237. package/dist/validators.js +23 -30
  238. package/dist/validators.js.map +1 -1
  239. package/dist/version.d.ts +1 -1
  240. package/dist/version.js +1 -1
  241. package/package.json +2 -2
  242. package/dist/schema/events.d.ts +0 -213
  243. package/dist/schema/events.d.ts.map +0 -1
  244. package/dist/schema/events.js +0 -122
  245. package/dist/schema/events.js.map +0 -1
  246. package/dist/schema/methods/push.d.ts +0 -21
  247. package/dist/schema/methods/push.d.ts.map +0 -1
  248. package/dist/schema/methods/push.js +0 -28
  249. package/dist/schema/methods/push.js.map +0 -1
  250. package/dist/schema/surfaces.d.ts +0 -55
  251. package/dist/schema/surfaces.d.ts.map +0 -1
  252. package/dist/schema/surfaces.js +0 -55
  253. package/dist/schema/surfaces.js.map +0 -1
@@ -51,6 +51,16 @@ export const SEED_USERS = [
51
51
  phone: "+15550000010",
52
52
  },
53
53
  ];
54
+ const SEED_AGENT_INDEX = {
55
+ YOU: 0,
56
+ LISA: 1,
57
+ MIKE: 2,
58
+ SARAH: 3,
59
+ RAJ: 4,
60
+ MAYA: 5,
61
+ JAMES: 6,
62
+ PRIYA: 8,
63
+ };
54
64
  export const SEED_AGENTS = [
55
65
  {
56
66
  id: "00000000-0000-0000-0001-000000000001",
@@ -112,56 +122,72 @@ export const SEED_CONVERSATIONS = [
112
122
  id: "00000000-0000-0000-0002-000000000001",
113
123
  type: "group",
114
124
  name: "Weekend Ski Trip",
115
- agentIndices: [0, 1, 2],
125
+ agentIndices: [
126
+ SEED_AGENT_INDEX.YOU,
127
+ SEED_AGENT_INDEX.LISA,
128
+ SEED_AGENT_INDEX.MIKE,
129
+ ],
116
130
  lastPreview: "Lisa's agent: I found a great cabin near Palisades for $340/pp",
117
131
  },
118
132
  {
119
133
  id: "00000000-0000-0000-0002-000000000002",
120
134
  type: "group",
121
135
  name: "Dinner Club - March",
122
- agentIndices: [0, 3, 5],
136
+ agentIndices: [
137
+ SEED_AGENT_INDEX.YOU,
138
+ SEED_AGENT_INDEX.SARAH,
139
+ SEED_AGENT_INDEX.MAYA,
140
+ ],
123
141
  lastPreview: "Maya's agent: Thai cuisine is leading the vote 4-2",
124
142
  },
125
143
  {
126
144
  id: "00000000-0000-0000-0002-000000000003",
127
145
  type: "dm",
128
146
  name: undefined,
129
- agentIndices: [0, 1],
147
+ agentIndices: [SEED_AGENT_INDEX.YOU, SEED_AGENT_INDEX.LISA],
130
148
  lastPreview: "Your agent handled the scheduling conflict",
131
149
  },
132
150
  {
133
151
  id: "00000000-0000-0000-0002-000000000004",
134
152
  type: "group",
135
153
  name: "Sprint 47 Standup",
136
- agentIndices: [0, 5],
154
+ agentIndices: [SEED_AGENT_INDEX.YOU, SEED_AGENT_INDEX.MAYA],
137
155
  lastPreview: "Maya's agent: 3 tickets done, 1 blocker on API migration",
138
156
  },
139
157
  {
140
158
  id: "00000000-0000-0000-0002-000000000005",
141
159
  type: "dm",
142
160
  name: undefined,
143
- agentIndices: [0, 2],
161
+ agentIndices: [SEED_AGENT_INDEX.YOU, SEED_AGENT_INDEX.MIKE],
144
162
  lastPreview: "Apartment alert: 3 new listings in Hayes Valley",
145
163
  },
146
164
  {
147
165
  id: "00000000-0000-0000-0002-000000000006",
148
166
  type: "group",
149
167
  name: "Saturday Soccer",
150
- agentIndices: [0, 3, 4],
168
+ agentIndices: [
169
+ SEED_AGENT_INDEX.YOU,
170
+ SEED_AGENT_INDEX.SARAH,
171
+ SEED_AGENT_INDEX.RAJ,
172
+ ],
151
173
  lastPreview: "Raj's agent: 8/11 confirmed, need your RSVP",
152
174
  },
153
175
  {
154
176
  id: "00000000-0000-0000-0002-000000000007",
155
177
  type: "group",
156
178
  name: "Book Club",
157
- agentIndices: [0, 3, 5],
179
+ agentIndices: [
180
+ SEED_AGENT_INDEX.YOU,
181
+ SEED_AGENT_INDEX.SARAH,
182
+ SEED_AGENT_INDEX.MAYA,
183
+ ],
158
184
  lastPreview: "Klara is leading the discussion on March 4th",
159
185
  },
160
186
  {
161
187
  id: "00000000-0000-0000-0002-000000000008",
162
188
  type: "dm",
163
189
  name: undefined,
164
- agentIndices: [0, 1],
190
+ agentIndices: [SEED_AGENT_INDEX.YOU, SEED_AGENT_INDEX.LISA],
165
191
  lastPreview: "Insurance quote ready for review - save $340/yr",
166
192
  },
167
193
  ];
@@ -320,986 +346,4 @@ export const SEED_CONTROL_MESSAGES = [
320
346
  text: "Done! I confirmed the booking and asked about the hot tub. I'll let you know when Lisa's agent responds.",
321
347
  },
322
348
  ];
323
- export const SEED_SURFACES = [
324
- {
325
- convIndex: 0,
326
- title: "Tahoe Ski Weekend",
327
- agentIndex: 1,
328
- version: 3,
329
- spec: {
330
- root: "trip-root",
331
- state: {
332
- activeTab: "overview",
333
- weather: { temp: "28°F", snow: '42"', wind: "12 mph" },
334
- route: {
335
- from: "San Francisco",
336
- to: "Palisades Tahoe",
337
- distance: "196 mi",
338
- time: "3h 30m",
339
- countdown: "Depart in 3 days",
340
- },
341
- people: [
342
- { name: "Alex", detail: "Intermediate", note: "Can drive" },
343
- { name: "Mike", detail: "Intermediate", note: "Has SUV" },
344
- { name: "Sarah", detail: "Advanced", note: "Leaves Sun early" },
345
- { name: "Lisa", detail: "Beginner", note: "Needs lesson" },
346
- { name: "Palisades", detail: "Agent", note: "Resort agent" },
347
- ],
348
- progress: 0.72,
349
- perPerson: "~$340",
350
- remaining: [
351
- "Finalize dinner restaurant",
352
- "Confirm Lisa's lesson",
353
- "Assign rooms",
354
- ],
355
- },
356
- elements: {
357
- "trip-root": {
358
- type: "Stack",
359
- props: { direction: "vertical", gap: 16, padding: 16 },
360
- children: ["tabs"],
361
- },
362
- tabs: {
363
- type: "Tabs",
364
- props: {
365
- items: ["Overview", "Itinerary", "Costs", "Packing"],
366
- value: { $state: "/activeTab" },
367
- },
368
- children: [
369
- "overview-panel",
370
- "itinerary-panel",
371
- "costs-panel",
372
- "packing-panel",
373
- ],
374
- },
375
- "overview-panel": {
376
- type: "Stack",
377
- props: { direction: "vertical", gap: 16 },
378
- children: [
379
- "weather-banner",
380
- "route-card",
381
- "people-section",
382
- "progress-card",
383
- ],
384
- visible: { $state: "/activeTab", eq: "overview" },
385
- },
386
- "itinerary-panel": {
387
- type: "Stack",
388
- props: { direction: "vertical", gap: 12 },
389
- children: ["itinerary-content"],
390
- visible: { $state: "/activeTab", eq: "itinerary" },
391
- },
392
- "itinerary-content": {
393
- type: "Card",
394
- props: { title: null, accent: null },
395
- children: ["itinerary-text"],
396
- },
397
- "itinerary-text": {
398
- type: "Text",
399
- props: {
400
- text: "Friday: Depart SF 5pm → Arrive Tahoe 8:30pm. Saturday: Ski all day, dinner at PlumpJack. Sunday: Morning run, depart by noon.",
401
- variant: "body",
402
- },
403
- children: [],
404
- },
405
- "costs-panel": {
406
- type: "Stack",
407
- props: { direction: "vertical", gap: 12 },
408
- children: ["costs-content"],
409
- visible: { $state: "/activeTab", eq: "costs" },
410
- },
411
- "costs-content": {
412
- type: "StatCard",
413
- props: {
414
- label: "Total per person",
415
- value: "$447",
416
- sublabel: "Lift $178 · Lodge $199 · Gas $25 · Dinner ~$45",
417
- color: null,
418
- },
419
- children: [],
420
- },
421
- "packing-panel": {
422
- type: "Stack",
423
- props: { direction: "vertical", gap: 12 },
424
- children: ["packing-content"],
425
- visible: { $state: "/activeTab", eq: "packing" },
426
- },
427
- "packing-content": {
428
- type: "Card",
429
- props: { title: null, accent: null },
430
- children: ["packing-text"],
431
- },
432
- "packing-text": {
433
- type: "Text",
434
- props: {
435
- text: "Ski jacket, goggles, gloves, base layers, boots (or rent at Palisades). Lisa needs full rental package.",
436
- variant: "body",
437
- },
438
- children: [],
439
- },
440
- "weather-banner": {
441
- type: "GradientBanner",
442
- props: {
443
- gradient: "linear-gradient(135deg, #1a3a5c 0%, #2d6a9f 50%, #e8eef5 100%)",
444
- title: { $state: "/weather/temp" },
445
- subtitle: "Perfect conditions for Saturday skiing. Lisa\u2019s beginner lesson starts 8:30, everyone else on Alpine side by 9.",
446
- badges: [
447
- { $template: "\u2744\ufe0f ${/weather/snow} base" },
448
- { $template: "\ud83c\udf21 ${/weather/temp}" },
449
- { $template: "\ud83d\udca8 ${/weather/wind}" },
450
- ],
451
- },
452
- children: [],
453
- },
454
- "route-card": {
455
- type: "Card",
456
- props: { title: null },
457
- children: ["route-header", "route-endpoints", "carpool-section"],
458
- on: { press: { action: "viewRouteDetail", params: {} } },
459
- },
460
- "route-header": {
461
- type: "Stack",
462
- props: { direction: "horizontal", gap: 8 },
463
- children: ["route-info", "route-countdown"],
464
- },
465
- "route-info": {
466
- type: "Stack",
467
- props: { direction: "vertical", gap: 2 },
468
- children: ["route-label", "route-distance"],
469
- },
470
- "route-label": {
471
- type: "Text",
472
- props: { text: "Route", variant: "caption" },
473
- children: [],
474
- },
475
- "route-distance": {
476
- type: "Text",
477
- props: {
478
- text: { $template: "${/route/distance} \u00b7 ${/route/time}" },
479
- variant: "heading",
480
- },
481
- children: [],
482
- },
483
- "route-countdown": {
484
- type: "Pill",
485
- props: {
486
- text: { $state: "/route/countdown" },
487
- color: "accent",
488
- },
489
- children: [],
490
- },
491
- "route-endpoints": {
492
- type: "Stack",
493
- props: { direction: "horizontal", gap: 8 },
494
- children: ["route-from", "route-to"],
495
- },
496
- "route-from": {
497
- type: "Badge",
498
- props: {
499
- text: { $state: "/route/from" },
500
- variant: "secondary",
501
- },
502
- children: [],
503
- },
504
- "route-to": {
505
- type: "Badge",
506
- props: {
507
- text: { $state: "/route/to" },
508
- variant: "secondary",
509
- },
510
- children: [],
511
- },
512
- "carpool-section": {
513
- type: "Stack",
514
- props: { direction: "vertical", gap: 8 },
515
- children: ["carpool-1", "carpool-2"],
516
- },
517
- "carpool-1": {
518
- type: "Stack",
519
- props: { direction: "horizontal", gap: 8 },
520
- children: ["carpool-1-icon", "carpool-1-info"],
521
- },
522
- "carpool-1-icon": {
523
- type: "IconBox",
524
- props: { icon: "\ud83d\ude97", size: 32 },
525
- children: [],
526
- },
527
- "carpool-1-info": {
528
- type: "Stack",
529
- props: { direction: "vertical", gap: 2 },
530
- children: ["carpool-1-driver", "carpool-1-avatars"],
531
- },
532
- "carpool-1-driver": {
533
- type: "Text",
534
- props: { text: "Sarah \u00b7 Sedan", variant: "body" },
535
- children: [],
536
- },
537
- "carpool-1-avatars": {
538
- type: "AvatarRow",
539
- props: { names: ["Sarah", "Lisa"], size: 20, max: null },
540
- children: [],
541
- },
542
- "carpool-2": {
543
- type: "Stack",
544
- props: { direction: "horizontal", gap: 8 },
545
- children: ["carpool-2-icon", "carpool-2-info"],
546
- },
547
- "carpool-2-icon": {
548
- type: "IconBox",
549
- props: { icon: "\ud83d\ude97", size: 32 },
550
- children: [],
551
- },
552
- "carpool-2-info": {
553
- type: "Stack",
554
- props: { direction: "vertical", gap: 2 },
555
- children: ["carpool-2-driver", "carpool-2-avatars"],
556
- },
557
- "carpool-2-driver": {
558
- type: "Text",
559
- props: { text: "Mike \u00b7 SUV", variant: "body" },
560
- children: [],
561
- },
562
- "carpool-2-avatars": {
563
- type: "AvatarRow",
564
- props: { names: ["Mike", "Alex"], size: 20, max: null },
565
- children: [],
566
- },
567
- "people-section": {
568
- type: "Stack",
569
- props: { direction: "vertical", gap: 8 },
570
- children: ["people-header", "people-strip"],
571
- },
572
- "people-header": {
573
- type: "SectionHeader",
574
- props: { text: "Who\u2019s going" },
575
- children: [],
576
- },
577
- "people-strip": {
578
- type: "PersonStrip",
579
- props: { people: { $state: "/people" } },
580
- children: [],
581
- on: { press: { action: "viewPersonDetail", params: {} } },
582
- },
583
- "progress-card": {
584
- type: "Card",
585
- props: { title: null },
586
- children: ["progress-row", "remaining-list"],
587
- },
588
- "progress-row": {
589
- type: "Stack",
590
- props: { direction: "horizontal", gap: 16 },
591
- children: ["progress-ring", "progress-info"],
592
- },
593
- "progress-ring": {
594
- type: "ProgressRing",
595
- props: {
596
- value: { $state: "/progress" },
597
- size: 56,
598
- color: null,
599
- label: "72%",
600
- },
601
- children: [],
602
- },
603
- "progress-info": {
604
- type: "Stack",
605
- props: { direction: "vertical", gap: 2 },
606
- children: ["progress-label", "progress-per-person"],
607
- },
608
- "progress-label": {
609
- type: "Text",
610
- props: { text: "72% planned", variant: "heading" },
611
- children: [],
612
- },
613
- "progress-per-person": {
614
- type: "Text",
615
- props: {
616
- text: { $template: "${/perPerson}/person" },
617
- variant: "body",
618
- },
619
- children: [],
620
- },
621
- "remaining-list": {
622
- type: "Stack",
623
- props: { direction: "vertical", gap: 6 },
624
- children: ["remaining-1", "remaining-2", "remaining-3"],
625
- },
626
- "remaining-1": {
627
- type: "Stack",
628
- props: { direction: "horizontal", gap: 8 },
629
- children: ["remaining-1-check", "remaining-1-text"],
630
- },
631
- "remaining-1-check": {
632
- type: "Checkbox",
633
- props: { checked: false, label: null },
634
- children: [],
635
- },
636
- "remaining-1-text": {
637
- type: "Text",
638
- props: { text: "Finalize dinner restaurant", variant: "body" },
639
- children: [],
640
- on: {
641
- press: {
642
- action: "completeTask",
643
- params: { task: "Finalize dinner restaurant" },
644
- },
645
- },
646
- },
647
- "remaining-2": {
648
- type: "Stack",
649
- props: { direction: "horizontal", gap: 8 },
650
- children: ["remaining-2-check", "remaining-2-text"],
651
- },
652
- "remaining-2-check": {
653
- type: "Checkbox",
654
- props: { checked: false, label: null },
655
- children: [],
656
- },
657
- "remaining-2-text": {
658
- type: "Text",
659
- props: { text: "Confirm Lisa\u2019s lesson", variant: "body" },
660
- children: [],
661
- on: {
662
- press: {
663
- action: "completeTask",
664
- params: { task: "Confirm Lisa's lesson" },
665
- },
666
- },
667
- },
668
- "remaining-3": {
669
- type: "Stack",
670
- props: { direction: "horizontal", gap: 8 },
671
- children: ["remaining-3-check", "remaining-3-text"],
672
- },
673
- "remaining-3-check": {
674
- type: "Checkbox",
675
- props: { checked: false, label: null },
676
- children: [],
677
- },
678
- "remaining-3-text": {
679
- type: "Text",
680
- props: { text: "Assign rooms", variant: "body" },
681
- children: [],
682
- on: {
683
- press: {
684
- action: "completeTask",
685
- params: { task: "Assign rooms" },
686
- },
687
- },
688
- },
689
- },
690
- },
691
- },
692
- {
693
- convIndex: 1,
694
- title: "Expense Split",
695
- agentIndex: 2,
696
- version: 1,
697
- spec: {
698
- root: "expense-root",
699
- state: {
700
- balance: { amount: 127, direction: "owed", total: 486 },
701
- people: [
702
- { name: "Alex", avatar: "you", paid: 234, owes: 162, net: 72 },
703
- { name: "Mike", avatar: "mike", paid: 155, owes: 162, net: -7 },
704
- {
705
- name: "Sarah",
706
- avatar: "sarah",
707
- paid: 97,
708
- owes: 162,
709
- net: -65,
710
- },
711
- ],
712
- expenses: [
713
- {
714
- id: "exp-1",
715
- desc: "Dinner at Foreign Cinema",
716
- amount: 186,
717
- paidBy: "Alex",
718
- paidByAvatar: "you",
719
- icon: "\ud83c\udf7d",
720
- },
721
- {
722
- id: "exp-2",
723
- desc: "Uber to restaurant",
724
- amount: 32,
725
- paidBy: "Mike",
726
- paidByAvatar: "mike",
727
- icon: "\ud83d\ude97",
728
- },
729
- {
730
- id: "exp-3",
731
- desc: "Groceries",
732
- amount: 119,
733
- paidBy: "Alex",
734
- paidByAvatar: "you",
735
- icon: "\ud83d\uded2",
736
- },
737
- {
738
- id: "exp-4",
739
- desc: "Movie tickets",
740
- amount: 54,
741
- paidBy: "Sarah",
742
- paidByAvatar: "sarah",
743
- icon: "\ud83c\udfac",
744
- },
745
- {
746
- id: "exp-5",
747
- desc: "Coffee & pastries",
748
- amount: 28,
749
- paidBy: "Mike",
750
- paidByAvatar: "mike",
751
- icon: "\u2615",
752
- },
753
- {
754
- id: "exp-6",
755
- desc: "Gas for road trip",
756
- amount: 67,
757
- paidBy: "Alex",
758
- paidByAvatar: "you",
759
- icon: "\u26fd",
760
- },
761
- ],
762
- settlements: [
763
- {
764
- from: "Mike",
765
- fromAvatar: "mike",
766
- to: "Alex",
767
- toAvatar: "you",
768
- amount: 7,
769
- },
770
- {
771
- from: "Sarah",
772
- fromAvatar: "sarah",
773
- to: "Alex",
774
- toAvatar: "you",
775
- amount: 65,
776
- },
777
- ],
778
- },
779
- elements: {
780
- "expense-root": {
781
- type: "Stack",
782
- props: { direction: "vertical", gap: 16, padding: 16 },
783
- children: [
784
- "balance-hero",
785
- "people-strip",
786
- "expenses-section",
787
- "settle-section",
788
- ],
789
- },
790
- "balance-hero": {
791
- type: "StatCard",
792
- props: {
793
- label: "You\u2019re owed",
794
- value: { $template: "$${/balance/amount}" },
795
- sublabel: { $template: "from $${/balance/total} total" },
796
- color: "green",
797
- },
798
- children: [],
799
- },
800
- "people-strip": {
801
- type: "PersonStrip",
802
- props: {
803
- people: [
804
- { name: "Alex", detail: "+$72", note: null },
805
- { name: "Mike", detail: "-$7", note: null },
806
- { name: "Sarah", detail: "-$65", note: null },
807
- ],
808
- },
809
- children: [],
810
- on: { press: { action: "viewPersonExpenses", params: {} } },
811
- },
812
- "expenses-section": {
813
- type: "Stack",
814
- props: { direction: "vertical", gap: 8 },
815
- children: [
816
- "expenses-header",
817
- "expense-1",
818
- "expense-2",
819
- "expense-3",
820
- "expense-4",
821
- "expense-5",
822
- "expense-6",
823
- ],
824
- },
825
- "expenses-header": {
826
- type: "SectionHeader",
827
- props: { text: "Expenses" },
828
- children: [],
829
- },
830
- "expense-1": {
831
- type: "Card",
832
- props: { title: null },
833
- children: ["expense-1-row"],
834
- on: {
835
- press: {
836
- action: "viewExpenseDetail",
837
- params: { expenseId: "exp-1" },
838
- },
839
- },
840
- },
841
- "expense-1-row": {
842
- type: "Stack",
843
- props: { direction: "horizontal", gap: 10 },
844
- children: ["expense-1-icon", "expense-1-info", "expense-1-amount"],
845
- },
846
- "expense-1-icon": {
847
- type: "IconBox",
848
- props: { icon: "\ud83c\udf7d", size: 38 },
849
- children: [],
850
- },
851
- "expense-1-info": {
852
- type: "Stack",
853
- props: { direction: "vertical", gap: 2 },
854
- children: ["expense-1-desc", "expense-1-paid-by"],
855
- },
856
- "expense-1-desc": {
857
- type: "Text",
858
- props: { text: "Dinner at Foreign Cinema", variant: "body" },
859
- children: [],
860
- },
861
- "expense-1-paid-by": {
862
- type: "Stack",
863
- props: { direction: "horizontal", gap: 4 },
864
- children: [
865
- "expense-1-paid-label",
866
- "expense-1-paid-avatar",
867
- "expense-1-paid-name",
868
- ],
869
- },
870
- "expense-1-paid-label": {
871
- type: "Text",
872
- props: { text: "Paid by", variant: "caption" },
873
- children: [],
874
- },
875
- "expense-1-paid-avatar": {
876
- type: "Avatar",
877
- props: { name: "Alex", size: 16 },
878
- children: [],
879
- },
880
- "expense-1-paid-name": {
881
- type: "Text",
882
- props: { text: "Alex", variant: "caption" },
883
- children: [],
884
- },
885
- "expense-1-amount": {
886
- type: "Heading",
887
- props: { text: "$186", level: 3 },
888
- children: [],
889
- },
890
- "expense-2": {
891
- type: "Card",
892
- props: { title: null },
893
- children: ["expense-2-row"],
894
- on: {
895
- press: {
896
- action: "viewExpenseDetail",
897
- params: { expenseId: "exp-2" },
898
- },
899
- },
900
- },
901
- "expense-2-row": {
902
- type: "Stack",
903
- props: { direction: "horizontal", gap: 10 },
904
- children: ["expense-2-icon", "expense-2-info", "expense-2-amount"],
905
- },
906
- "expense-2-icon": {
907
- type: "IconBox",
908
- props: { icon: "\ud83d\ude97", size: 38 },
909
- children: [],
910
- },
911
- "expense-2-info": {
912
- type: "Stack",
913
- props: { direction: "vertical", gap: 2 },
914
- children: ["expense-2-desc", "expense-2-paid-by"],
915
- },
916
- "expense-2-desc": {
917
- type: "Text",
918
- props: { text: "Uber to restaurant", variant: "body" },
919
- children: [],
920
- },
921
- "expense-2-paid-by": {
922
- type: "Stack",
923
- props: { direction: "horizontal", gap: 4 },
924
- children: [
925
- "expense-2-paid-label",
926
- "expense-2-paid-avatar",
927
- "expense-2-paid-name",
928
- ],
929
- },
930
- "expense-2-paid-label": {
931
- type: "Text",
932
- props: { text: "Paid by", variant: "caption" },
933
- children: [],
934
- },
935
- "expense-2-paid-avatar": {
936
- type: "Avatar",
937
- props: { name: "Mike", size: 16 },
938
- children: [],
939
- },
940
- "expense-2-paid-name": {
941
- type: "Text",
942
- props: { text: "Mike", variant: "caption" },
943
- children: [],
944
- },
945
- "expense-2-amount": {
946
- type: "Heading",
947
- props: { text: "$32", level: 3 },
948
- children: [],
949
- },
950
- "expense-3": {
951
- type: "Card",
952
- props: { title: null },
953
- children: ["expense-3-row"],
954
- on: {
955
- press: {
956
- action: "viewExpenseDetail",
957
- params: { expenseId: "exp-3" },
958
- },
959
- },
960
- },
961
- "expense-3-row": {
962
- type: "Stack",
963
- props: { direction: "horizontal", gap: 10 },
964
- children: ["expense-3-icon", "expense-3-info", "expense-3-amount"],
965
- },
966
- "expense-3-icon": {
967
- type: "IconBox",
968
- props: { icon: "\ud83d\uded2", size: 38 },
969
- children: [],
970
- },
971
- "expense-3-info": {
972
- type: "Stack",
973
- props: { direction: "vertical", gap: 2 },
974
- children: ["expense-3-desc", "expense-3-paid-by"],
975
- },
976
- "expense-3-desc": {
977
- type: "Text",
978
- props: { text: "Groceries", variant: "body" },
979
- children: [],
980
- },
981
- "expense-3-paid-by": {
982
- type: "Stack",
983
- props: { direction: "horizontal", gap: 4 },
984
- children: [
985
- "expense-3-paid-label",
986
- "expense-3-paid-avatar",
987
- "expense-3-paid-name",
988
- ],
989
- },
990
- "expense-3-paid-label": {
991
- type: "Text",
992
- props: { text: "Paid by", variant: "caption" },
993
- children: [],
994
- },
995
- "expense-3-paid-avatar": {
996
- type: "Avatar",
997
- props: { name: "Alex", size: 16 },
998
- children: [],
999
- },
1000
- "expense-3-paid-name": {
1001
- type: "Text",
1002
- props: { text: "Alex", variant: "caption" },
1003
- children: [],
1004
- },
1005
- "expense-3-amount": {
1006
- type: "Heading",
1007
- props: { text: "$119", level: 3 },
1008
- children: [],
1009
- },
1010
- "expense-4": {
1011
- type: "Card",
1012
- props: { title: null },
1013
- children: ["expense-4-row"],
1014
- on: {
1015
- press: {
1016
- action: "viewExpenseDetail",
1017
- params: { expenseId: "exp-4" },
1018
- },
1019
- },
1020
- },
1021
- "expense-4-row": {
1022
- type: "Stack",
1023
- props: { direction: "horizontal", gap: 10 },
1024
- children: ["expense-4-icon", "expense-4-info", "expense-4-amount"],
1025
- },
1026
- "expense-4-icon": {
1027
- type: "IconBox",
1028
- props: { icon: "\ud83c\udfac", size: 38 },
1029
- children: [],
1030
- },
1031
- "expense-4-info": {
1032
- type: "Stack",
1033
- props: { direction: "vertical", gap: 2 },
1034
- children: ["expense-4-desc", "expense-4-paid-by"],
1035
- },
1036
- "expense-4-desc": {
1037
- type: "Text",
1038
- props: { text: "Movie tickets", variant: "body" },
1039
- children: [],
1040
- },
1041
- "expense-4-paid-by": {
1042
- type: "Stack",
1043
- props: { direction: "horizontal", gap: 4 },
1044
- children: [
1045
- "expense-4-paid-label",
1046
- "expense-4-paid-avatar",
1047
- "expense-4-paid-name",
1048
- ],
1049
- },
1050
- "expense-4-paid-label": {
1051
- type: "Text",
1052
- props: { text: "Paid by", variant: "caption" },
1053
- children: [],
1054
- },
1055
- "expense-4-paid-avatar": {
1056
- type: "Avatar",
1057
- props: { name: "Sarah", size: 16 },
1058
- children: [],
1059
- },
1060
- "expense-4-paid-name": {
1061
- type: "Text",
1062
- props: { text: "Sarah", variant: "caption" },
1063
- children: [],
1064
- },
1065
- "expense-4-amount": {
1066
- type: "Heading",
1067
- props: { text: "$54", level: 3 },
1068
- children: [],
1069
- },
1070
- "expense-5": {
1071
- type: "Card",
1072
- props: { title: null },
1073
- children: ["expense-5-row"],
1074
- on: {
1075
- press: {
1076
- action: "viewExpenseDetail",
1077
- params: { expenseId: "exp-5" },
1078
- },
1079
- },
1080
- },
1081
- "expense-5-row": {
1082
- type: "Stack",
1083
- props: { direction: "horizontal", gap: 10 },
1084
- children: ["expense-5-icon", "expense-5-info", "expense-5-amount"],
1085
- },
1086
- "expense-5-icon": {
1087
- type: "IconBox",
1088
- props: { icon: "\u2615", size: 38 },
1089
- children: [],
1090
- },
1091
- "expense-5-info": {
1092
- type: "Stack",
1093
- props: { direction: "vertical", gap: 2 },
1094
- children: ["expense-5-desc", "expense-5-paid-by"],
1095
- },
1096
- "expense-5-desc": {
1097
- type: "Text",
1098
- props: { text: "Coffee & pastries", variant: "body" },
1099
- children: [],
1100
- },
1101
- "expense-5-paid-by": {
1102
- type: "Stack",
1103
- props: { direction: "horizontal", gap: 4 },
1104
- children: [
1105
- "expense-5-paid-label",
1106
- "expense-5-paid-avatar",
1107
- "expense-5-paid-name",
1108
- ],
1109
- },
1110
- "expense-5-paid-label": {
1111
- type: "Text",
1112
- props: { text: "Paid by", variant: "caption" },
1113
- children: [],
1114
- },
1115
- "expense-5-paid-avatar": {
1116
- type: "Avatar",
1117
- props: { name: "Mike", size: 16 },
1118
- children: [],
1119
- },
1120
- "expense-5-paid-name": {
1121
- type: "Text",
1122
- props: { text: "Mike", variant: "caption" },
1123
- children: [],
1124
- },
1125
- "expense-5-amount": {
1126
- type: "Heading",
1127
- props: { text: "$28", level: 3 },
1128
- children: [],
1129
- },
1130
- "expense-6": {
1131
- type: "Card",
1132
- props: { title: null },
1133
- children: ["expense-6-row"],
1134
- on: {
1135
- press: {
1136
- action: "viewExpenseDetail",
1137
- params: { expenseId: "exp-6" },
1138
- },
1139
- },
1140
- },
1141
- "expense-6-row": {
1142
- type: "Stack",
1143
- props: { direction: "horizontal", gap: 10 },
1144
- children: ["expense-6-icon", "expense-6-info", "expense-6-amount"],
1145
- },
1146
- "expense-6-icon": {
1147
- type: "IconBox",
1148
- props: { icon: "\u26fd", size: 38 },
1149
- children: [],
1150
- },
1151
- "expense-6-info": {
1152
- type: "Stack",
1153
- props: { direction: "vertical", gap: 2 },
1154
- children: ["expense-6-desc", "expense-6-paid-by"],
1155
- },
1156
- "expense-6-desc": {
1157
- type: "Text",
1158
- props: { text: "Gas for road trip", variant: "body" },
1159
- children: [],
1160
- },
1161
- "expense-6-paid-by": {
1162
- type: "Stack",
1163
- props: { direction: "horizontal", gap: 4 },
1164
- children: [
1165
- "expense-6-paid-label",
1166
- "expense-6-paid-avatar",
1167
- "expense-6-paid-name",
1168
- ],
1169
- },
1170
- "expense-6-paid-label": {
1171
- type: "Text",
1172
- props: { text: "Paid by", variant: "caption" },
1173
- children: [],
1174
- },
1175
- "expense-6-paid-avatar": {
1176
- type: "Avatar",
1177
- props: { name: "Alex", size: 16 },
1178
- children: [],
1179
- },
1180
- "expense-6-paid-name": {
1181
- type: "Text",
1182
- props: { text: "Alex", variant: "caption" },
1183
- children: [],
1184
- },
1185
- "expense-6-amount": {
1186
- type: "Heading",
1187
- props: { text: "$67", level: 3 },
1188
- children: [],
1189
- },
1190
- "settle-section": {
1191
- type: "Stack",
1192
- props: { direction: "vertical", gap: 8 },
1193
- children: ["settle-header", "settle-1", "settle-2"],
1194
- },
1195
- "settle-header": {
1196
- type: "SectionHeader",
1197
- props: { text: "Settle Up" },
1198
- children: [],
1199
- },
1200
- "settle-1": {
1201
- type: "Card",
1202
- props: { title: null },
1203
- children: ["settle-1-row", "settle-1-btn"],
1204
- },
1205
- "settle-1-row": {
1206
- type: "Stack",
1207
- props: { direction: "horizontal", gap: 10 },
1208
- children: ["settle-1-from", "settle-1-info", "settle-1-to"],
1209
- },
1210
- "settle-1-from": {
1211
- type: "Avatar",
1212
- props: { name: "Mike", size: 32 },
1213
- children: [],
1214
- },
1215
- "settle-1-info": {
1216
- type: "Stack",
1217
- props: { direction: "vertical", gap: 2 },
1218
- children: ["settle-1-label", "settle-1-amount"],
1219
- },
1220
- "settle-1-label": {
1221
- type: "Text",
1222
- props: { text: "Mike owes", variant: "caption" },
1223
- children: [],
1224
- },
1225
- "settle-1-amount": {
1226
- type: "Heading",
1227
- props: { text: "$7", level: 3 },
1228
- children: [],
1229
- },
1230
- "settle-1-to": {
1231
- type: "Avatar",
1232
- props: { name: "Alex", size: 32 },
1233
- children: [],
1234
- },
1235
- "settle-1-btn": {
1236
- type: "Button",
1237
- props: { label: "Settle $7", variant: "primary" },
1238
- children: [],
1239
- on: {
1240
- press: {
1241
- action: "settleUp",
1242
- params: { from: "mike", to: "you", amount: 7 },
1243
- },
1244
- },
1245
- },
1246
- "settle-2": {
1247
- type: "Card",
1248
- props: { title: null },
1249
- children: ["settle-2-row", "settle-2-btn"],
1250
- },
1251
- "settle-2-row": {
1252
- type: "Stack",
1253
- props: { direction: "horizontal", gap: 10 },
1254
- children: ["settle-2-from", "settle-2-info", "settle-2-to"],
1255
- },
1256
- "settle-2-from": {
1257
- type: "Avatar",
1258
- props: { name: "Sarah", size: 32 },
1259
- children: [],
1260
- },
1261
- "settle-2-info": {
1262
- type: "Stack",
1263
- props: { direction: "vertical", gap: 2 },
1264
- children: ["settle-2-label", "settle-2-amount"],
1265
- },
1266
- "settle-2-label": {
1267
- type: "Text",
1268
- props: { text: "Sarah owes", variant: "caption" },
1269
- children: [],
1270
- },
1271
- "settle-2-amount": {
1272
- type: "Heading",
1273
- props: { text: "$65", level: 3 },
1274
- children: [],
1275
- },
1276
- "settle-2-to": {
1277
- type: "Avatar",
1278
- props: { name: "Alex", size: 32 },
1279
- children: [],
1280
- },
1281
- "settle-2-btn": {
1282
- type: "Button",
1283
- props: { label: "Settle $65", variant: "primary" },
1284
- children: [],
1285
- on: {
1286
- press: {
1287
- action: "settleUp",
1288
- params: { from: "sarah", to: "you", amount: 65 },
1289
- },
1290
- },
1291
- },
1292
- },
1293
- },
1294
- },
1295
- ];
1296
- export const SEED_SURFACE_HISTORY = [
1297
- {
1298
- convIndex: 0,
1299
- version: 2,
1300
- title: "Tahoe Ski Weekend",
1301
- agentIndex: 1,
1302
- spec: { root: "trip-root", elements: {}, state: {} },
1303
- },
1304
- ];
1305
349
  //# sourceMappingURL=seed-data.js.map