@moltzap/protocol 2026.503.4 → 2026.504.1

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