git.iko.soy/rowtype-yoga/purescript-yoga-acp-om
on main help sign in
5 files changed+1469−39
since splitsnapshots
unifiedsplit
README.md+1 spago.lock+1446 spago.yaml+20−37 test/Test/Yoga/ACP/Integration/Spec.purs+2−2 src/Yoga/ACP/Store.purs → test/Yoga/ACP/Store.purs
README.mdnew file+1
@@ -0,0 +1 @@
1+
spago.locknew file+1446
@@ -0,0 +1,1446 @@
1+{
2+ "workspace": {
3+ "packages": {
4+ "yoga-acp-om": {
5+ "path": "./",
6+ "core": {
7+ "dependencies": [
8+ {
9+ "arraybuffer-types": ">=3.0.2 <4.0.0"
10+ },
11+ {
12+ "arrays": ">=7.3.0 <8.0.0"
13+ },
14+ {
15+ "effect": ">=4.0.0 <5.0.0"
16+ },
17+ {
18+ "either": ">=6.1.0 <7.0.0"
19+ },
20+ {
21+ "foreign": ">=7.0.0 <8.0.0"
22+ },
23+ {
24+ "http-methods": ">=6.0.0 <7.0.0"
25+ },
26+ {
27+ "js-fetch": ">=0.2.1 <0.3.0"
28+ },
29+ {
30+ "js-promise": ">=1.0.0 <2.0.0"
31+ },
32+ {
33+ "js-promise-aff": ">=1.0.0 <2.0.0"
34+ },
35+ {
36+ "maybe": ">=6.0.0 <7.0.0"
37+ },
38+ {
39+ "newtype": ">=5.0.0 <6.0.0"
40+ },
41+ {
42+ "nullable": ">=6.0.0 <7.0.0"
43+ },
44+ {
45+ "prelude": ">=6.0.2 <7.0.0"
46+ },
47+ {
48+ "strings": ">=6.0.1 <7.0.0"
49+ },
50+ {
51+ "transformers": ">=6.1.0 <7.0.0"
52+ },
53+ {
54+ "tuples": ">=7.0.0 <8.0.0"
55+ },
56+ {
57+ "unsafe-coerce": ">=6.0.0 <7.0.0"
58+ },
59+ {
60+ "yoga-json": ">=5.2.1 <6.0.0"
61+ },
62+ {
63+ "yoga-om": ">=1.5.2 <2.0.0"
64+ },
65+ {
66+ "yoga-om-strom": ">=0.4.2 <0.5.0"
67+ }
68+ ]
69+ },
70+ "test": {
71+ "dependencies": [
72+ {
73+ "spec": ">=8.1.1 <9.0.0"
74+ },
75+ {
76+ "spec-om": ">=0.1.0 <0.2.0"
77+ },
78+ {
79+ "yoga-fetch-om": ">=0.5.0 <0.7.0"
80+ },
81+ {
82+ "yoga-sqlite": ">=0.1.0 <0.2.0"
83+ }
84+ ]
85+ }
86+ }
87+ },
88+ "extra_packages": {}
89+ },
90+ "packages": {
91+ "aff": {
92+ "type": "registry",
93+ "version": "7.1.0",
94+ "integrity": "sha256-/nOpDQVnKIoP1pQ1ZZBYpadK0TuMlG4WwufGzJpsfD0=",
95+ "dependencies": [
96+ "control",
97+ "datetime",
98+ "effect",
99+ "either",
100+ "exceptions",
101+ "functions",
102+ "newtype",
103+ "parallel",
104+ "partial",
105+ "prelude",
106+ "st",
107+ "tailrec",
108+ "transformers",
109+ "unsafe-coerce"
110+ ]
111+ },
112+ "aff-retry": {
113+ "type": "registry",
114+ "version": "2.0.0",
115+ "integrity": "sha256-rKZNcP4IKSyBFQBVzrCvE0ULoJt0N/uDLLJ0dPotr4k=",
116+ "dependencies": [
117+ "aff",
118+ "arrays",
119+ "datetime",
120+ "effect",
121+ "either",
122+ "exceptions",
123+ "integers",
124+ "maybe",
125+ "newtype",
126+ "numbers",
127+ "prelude",
128+ "random",
129+ "transformers"
130+ ]
131+ },
132+ "ansi": {
133+ "type": "registry",
134+ "version": "7.0.0",
135+ "integrity": "sha256-tOUaXJFzPSfBVAqLI8hc+Tz2M1rg16cXqyHaK/3SmFg=",
136+ "dependencies": [
137+ "foldable-traversable",
138+ "lists",
139+ "prelude"
140+ ]
141+ },
142+ "arraybuffer-types": {
143+ "type": "registry",
144+ "version": "3.0.2",
145+ "integrity": "sha256-p05cJnSkyeoB7VHzMyc2Eb1RwUaB7Nl0sQSqEGNEUD8=",
146+ "dependencies": []
147+ },
148+ "arrays": {
149+ "type": "registry",
150+ "version": "7.3.0",
151+ "integrity": "sha256-GD4z7LCi9wzi7FCQqbWhvs8paoUK9NO+HwgXZ+KP8Rk=",
152+ "dependencies": [
153+ "bifunctors",
154+ "control",
155+ "foldable-traversable",
156+ "functions",
157+ "maybe",
158+ "nonempty",
159+ "partial",
160+ "prelude",
161+ "safe-coerce",
162+ "st",
163+ "tailrec",
164+ "tuples",
165+ "unfoldable",
166+ "unsafe-coerce"
167+ ]
168+ },
169+ "avar": {
170+ "type": "registry",
171+ "version": "5.0.1",
172+ "integrity": "sha256-8V4SxF4TIWZ9Ik1P4lPzIRUAZeFBe8w5WA2VcCEKsIk=",
173+ "dependencies": [
174+ "aff",
175+ "effect",
176+ "either",
177+ "exceptions",
178+ "functions",
179+ "maybe",
180+ "prelude"
181+ ]
182+ },
183+ "bifunctors": {
184+ "type": "registry",
185+ "version": "6.1.0",
186+ "integrity": "sha256-CvZRb8uI75eKIqiYntR+k05Wk6tKlMS5w8sCA2AFna0=",
187+ "dependencies": [
188+ "const",
189+ "either",
190+ "newtype",
191+ "prelude",
192+ "tuples"
193+ ]
194+ },
195+ "catenable-lists": {
196+ "type": "registry",
197+ "version": "7.0.0",
198+ "integrity": "sha256-7+i/MHBLIRh604iCNT4ENWRWE/wuHIotER4kpdX9Ve0=",
199+ "dependencies": [
200+ "control",
201+ "foldable-traversable",
202+ "lists",
203+ "maybe",
204+ "prelude",
205+ "tuples",
206+ "unfoldable"
207+ ]
208+ },
209+ "console": {
210+ "type": "registry",
211+ "version": "6.1.0",
212+ "integrity": "sha256-3T5PPz1mATZmV0C4GzkCkpLlCa5xG7u8ZNgnLrrrI1Q=",
213+ "dependencies": [
214+ "effect",
215+ "prelude"
216+ ]
217+ },
218+ "const": {
219+ "type": "registry",
220+ "version": "6.0.0",
221+ "integrity": "sha256-S+m0lQsxnji0z1XRUmkn+3RFuWJ5CXWuIr1u3i8Bfoc=",
222+ "dependencies": [
223+ "invariant",
224+ "newtype",
225+ "prelude"
226+ ]
227+ },
228+ "contravariant": {
229+ "type": "registry",
230+ "version": "6.0.0",
231+ "integrity": "sha256-nuckEWqL80NaPmR/l9AUyrfycNh18XcvlZV9PAamwqc=",
232+ "dependencies": [
233+ "const",
234+ "either",
235+ "newtype",
236+ "prelude",
237+ "tuples"
238+ ]
239+ },
240+ "control": {
241+ "type": "registry",
242+ "version": "6.0.0",
243+ "integrity": "sha256-0vxyYh5FL+ilxgLo954w1LqCUC0RSIivNNlb9CaNUQg=",
244+ "dependencies": [
245+ "newtype",
246+ "prelude"
247+ ]
248+ },
249+ "datetime": {
250+ "type": "registry",
251+ "version": "6.1.0",
252+ "integrity": "sha256-tbv6eDXy6QOD7YSknxYSbsDF32OC2JrNbSBpzMs7Doc=",
253+ "dependencies": [
254+ "bifunctors",
255+ "control",
256+ "either",
257+ "enums",
258+ "foldable-traversable",
259+ "functions",
260+ "gen",
261+ "integers",
262+ "lists",
263+ "maybe",
264+ "newtype",
265+ "numbers",
266+ "ordered-collections",
267+ "partial",
268+ "prelude",
269+ "tuples"
270+ ]
271+ },
272+ "distributive": {
273+ "type": "registry",
274+ "version": "6.0.0",
275+ "integrity": "sha256-netyJK4B32PDYHD0tF2AenKgo3urzbI770ycM0pArAo=",
276+ "dependencies": [
277+ "identity",
278+ "newtype",
279+ "prelude",
280+ "tuples",
281+ "type-equality"
282+ ]
283+ },
284+ "effect": {
285+ "type": "registry",
286+ "version": "4.0.0",
287+ "integrity": "sha256-DdqU3bncRTjgMVPPRlAuGHVeajSPEcRaRhNuio7if6s=",
288+ "dependencies": [
289+ "prelude"
290+ ]
291+ },
292+ "either": {
293+ "type": "registry",
294+ "version": "6.1.0",
295+ "integrity": "sha256-tBHx3PgtH4GZOApZCDkcM7szRTYJinrUrVGWazQCUUg=",
296+ "dependencies": [
297+ "control",
298+ "invariant",
299+ "maybe",
300+ "prelude"
301+ ]
302+ },
303+ "enums": {
304+ "type": "registry",
305+ "version": "6.0.1",
306+ "integrity": "sha256-sdZOmLX5+5pASGpvVyT0vSD5BBYQjZiayjV5XiPutso=",
307+ "dependencies": [
308+ "control",
309+ "either",
310+ "gen",
311+ "maybe",
312+ "newtype",
313+ "nonempty",
314+ "partial",
315+ "prelude",
316+ "tuples",
317+ "unfoldable"
318+ ]
319+ },
320+ "exceptions": {
321+ "type": "registry",
322+ "version": "6.1.0",
323+ "integrity": "sha256-nRrr+N0wk0TUFOWLR7e1n1oxcXo/X345bQUtoY9lW6A=",
324+ "dependencies": [
325+ "effect",
326+ "either",
327+ "maybe",
328+ "prelude"
329+ ]
330+ },
331+ "exists": {
332+ "type": "registry",
333+ "version": "6.0.0",
334+ "integrity": "sha256-vtLbrWNaI+pzx/2fw2AQnCovoLtcosClIhjO26QKkh8=",
335+ "dependencies": [
336+ "unsafe-coerce"
337+ ]
338+ },
339+ "foldable-traversable": {
340+ "type": "registry",
341+ "version": "6.0.0",
342+ "integrity": "sha256-NGGWyCio/xjce6fPP7y3wwg7CheqllID6aJudDxbWhA=",
343+ "dependencies": [
344+ "bifunctors",
345+ "const",
346+ "control",
347+ "either",
348+ "functors",
349+ "identity",
350+ "maybe",
351+ "newtype",
352+ "orders",
353+ "prelude",
354+ "tuples"
355+ ]
356+ },
357+ "foreign": {
358+ "type": "registry",
359+ "version": "7.0.0",
360+ "integrity": "sha256-jiDRMVQfovGsbbA/FzbzYf6iWk9i2b5gNrIjz+gFfsI=",
361+ "dependencies": [
362+ "either",
363+ "functions",
364+ "integers",
365+ "lists",
366+ "maybe",
367+ "prelude",
368+ "strings",
369+ "transformers",
370+ "unsafe-coerce"
371+ ]
372+ },
373+ "foreign-object": {
374+ "type": "registry",
375+ "version": "4.1.0",
376+ "integrity": "sha256-x/Q7r80z/vmHRKvPwhYmHP/DnJciPtsyGfRTMzayKIU=",
377+ "dependencies": [
378+ "arrays",
379+ "foldable-traversable",
380+ "functions",
381+ "gen",
382+ "lists",
383+ "maybe",
384+ "prelude",
385+ "st",
386+ "tailrec",
387+ "tuples",
388+ "typelevel-prelude",
389+ "unfoldable",
390+ "unsafe-coerce"
391+ ]
392+ },
393+ "fork": {
394+ "type": "registry",
395+ "version": "6.0.0",
396+ "integrity": "sha256-0keBVeZZg1eCZEy/En1CohVW829gQUqKtqBNIRa93/A=",
397+ "dependencies": [
398+ "aff",
399+ "prelude",
400+ "transformers"
401+ ]
402+ },
403+ "free": {
404+ "type": "registry",
405+ "version": "7.1.0",
406+ "integrity": "sha256-tUBInfUpRQEw4u94GWcYW7EYdmSdDHSRn88a+C0eltU=",
407+ "dependencies": [
408+ "catenable-lists",
409+ "control",
410+ "distributive",
411+ "either",
412+ "exists",
413+ "foldable-traversable",
414+ "invariant",
415+ "lazy",
416+ "maybe",
417+ "prelude",
418+ "tailrec",
419+ "transformers",
420+ "tuples",
421+ "unsafe-coerce"
422+ ]
423+ },
424+ "functions": {
425+ "type": "registry",
426+ "version": "6.0.0",
427+ "integrity": "sha256-0jgtOr+SFO4UScKc40oA/9Vdcf2rLn3h3vZlY0KfqVo=",
428+ "dependencies": [
429+ "prelude"
430+ ]
431+ },
432+ "functors": {
433+ "type": "registry",
434+ "version": "5.0.0",
435+ "integrity": "sha256-W1o/4wcp6S3chodYL8uixlXK2mfr1L+SzM1R+whqUco=",
436+ "dependencies": [
437+ "bifunctors",
438+ "const",
439+ "contravariant",
440+ "control",
441+ "distributive",
442+ "either",
443+ "invariant",
444+ "maybe",
445+ "newtype",
446+ "prelude",
447+ "profunctor",
448+ "tuples",
449+ "unsafe-coerce"
450+ ]
451+ },
452+ "gen": {
453+ "type": "registry",
454+ "version": "4.0.0",
455+ "integrity": "sha256-kyOateeOtQa07vfTMYeSuCKdelgKE1R65fwKkZ10wsY=",
456+ "dependencies": [
457+ "either",
458+ "foldable-traversable",
459+ "identity",
460+ "maybe",
461+ "newtype",
462+ "nonempty",
463+ "prelude",
464+ "tailrec",
465+ "tuples",
466+ "unfoldable"
467+ ]
468+ },
469+ "heterogeneous": {
470+ "type": "registry",
471+ "version": "0.7.0",
472+ "integrity": "sha256-pQwcFvhWL8noktxaoD7FlLs2F2lYf3QHoyO0VOWO3I0=",
473+ "dependencies": [
474+ "either",
475+ "foldable-traversable",
476+ "functors",
477+ "prelude",
478+ "record",
479+ "tuples",
480+ "variant"
481+ ]
482+ },
483+ "http-methods": {
484+ "type": "registry",
485+ "version": "6.0.0",
486+ "integrity": "sha256-S0UjrJSgwJxEsFHM/pX77dM8V4HfvvDqdHPckQrtxMs=",
487+ "dependencies": [
488+ "either",
489+ "prelude",
490+ "strings"
491+ ]
492+ },
493+ "identity": {
494+ "type": "registry",
495+ "version": "6.0.0",
496+ "integrity": "sha256-RY/iXPpxpqvKHYfJeFVNI1J06kohB9rbtWYuha8t0LE=",
497+ "dependencies": [
498+ "control",
499+ "invariant",
500+ "newtype",
501+ "prelude"
502+ ]
503+ },
504+ "integers": {
505+ "type": "registry",
506+ "version": "6.0.0",
507+ "integrity": "sha256-Y8yozC1uHRLcruobEyv5/bMKzE1BoKJ/olHv6o+bgm8=",
508+ "dependencies": [
509+ "maybe",
510+ "numbers",
511+ "prelude"
512+ ]
513+ },
514+ "invariant": {
515+ "type": "registry",
516+ "version": "6.0.0",
517+ "integrity": "sha256-HyoT1I5qIHRq8RSZji6zZDvqnpVjLw748utrKwZtqsw=",
518+ "dependencies": [
519+ "control",
520+ "prelude"
521+ ]
522+ },
523+ "js-bigints": {
524+ "type": "registry",
525+ "version": "2.2.1",
526+ "integrity": "sha256-r1rE6Olv5b3JrP32lY2uKJ+eBRTsrVnC983K8VWwqe4=",
527+ "dependencies": [
528+ "integers",
529+ "maybe",
530+ "prelude"
531+ ]
532+ },
533+ "js-date": {
534+ "type": "registry",
535+ "version": "8.0.0",
536+ "integrity": "sha256-DNQrp4xYc8o80jtxo0aOkUeXGi6h0Xidkk2ZQ8Y4l5Y=",
537+ "dependencies": [
538+ "datetime",
539+ "effect",
540+ "enums",
541+ "foreign",
542+ "functions",
543+ "integers",
544+ "maybe",
545+ "prelude"
546+ ]
547+ },
548+ "js-fetch": {
549+ "type": "registry",
550+ "version": "0.2.1",
551+ "integrity": "sha256-jsMrMh8kIUW5bHbHl7hy8ev/iMru1MzfDa+hoAxo14Q=",
552+ "dependencies": [
553+ "arraybuffer-types",
554+ "arrays",
555+ "effect",
556+ "foldable-traversable",
557+ "foreign",
558+ "foreign-object",
559+ "functions",
560+ "http-methods",
561+ "js-promise",
562+ "maybe",
563+ "newtype",
564+ "prelude",
565+ "record",
566+ "tuples",
567+ "typelevel-prelude",
568+ "unfoldable",
569+ "web-file",
570+ "web-streams"
571+ ]
572+ },
573+ "js-promise": {
574+ "type": "registry",
575+ "version": "1.0.0",
576+ "integrity": "sha256-u+6+ofIwT5XhT2fbMu4dShwkyWGfPRt9642Cnzw/Wvk=",
577+ "dependencies": [
578+ "effect",
579+ "exceptions",
580+ "foldable-traversable",
581+ "functions",
582+ "maybe",
583+ "newtype",
584+ "prelude"
585+ ]
586+ },
587+ "js-promise-aff": {
588+ "type": "registry",
589+ "version": "1.0.0",
590+ "integrity": "sha256-gEKAdNnTWjXS+tTp/AhYl/ezloKfuoQFcBKrdOx2USo=",
591+ "dependencies": [
592+ "aff",
593+ "control",
594+ "effect",
595+ "either",
596+ "exceptions",
597+ "foreign",
598+ "js-promise",
599+ "maybe",
600+ "prelude",
601+ "transformers"
602+ ]
603+ },
604+ "lazy": {
605+ "type": "registry",
606+ "version": "6.0.0",
607+ "integrity": "sha256-MHRC+1Pc+AjortBp4b/e1e6KpEpsDwaJBNBB7TOL+1I=",
608+ "dependencies": [
609+ "control",
610+ "foldable-traversable",
611+ "invariant",
612+ "prelude"
613+ ]
614+ },
615+ "lists": {
616+ "type": "registry",
617+ "version": "7.0.0",
618+ "integrity": "sha256-/mGd7wLoU+wsTcqii7SSUByxsvwvjnu2PjwAD47yYb4=",
619+ "dependencies": [
620+ "bifunctors",
621+ "control",
622+ "foldable-traversable",
623+ "lazy",
624+ "maybe",
625+ "newtype",
626+ "nonempty",
627+ "partial",
628+ "prelude",
629+ "tailrec",
630+ "tuples",
631+ "unfoldable"
632+ ]
633+ },
634+ "literals": {
635+ "type": "registry",
636+ "version": "1.0.2",
637+ "integrity": "sha256-ZkGRFD6gb8etYvyMYpX1Z7lx1Tql7R1VGnD1Dzinup8=",
638+ "dependencies": [
639+ "integers",
640+ "maybe",
641+ "numbers",
642+ "partial",
643+ "prelude",
644+ "typelevel-prelude",
645+ "unsafe-coerce"
646+ ]
647+ },
648+ "maybe": {
649+ "type": "registry",
650+ "version": "6.0.0",
651+ "integrity": "sha256-8X6XEgtZ5lqfkEuc1hWOofnL6mwhk8gSJTxwvbR/SbY=",
652+ "dependencies": [
653+ "control",
654+ "invariant",
655+ "newtype",
656+ "prelude"
657+ ]
658+ },
659+ "media-types": {
660+ "type": "registry",
661+ "version": "6.0.0",
662+ "integrity": "sha256-3Wyq+vfqJFTmy1k6DGVnXStxtZxgK631wusDPzlFVxg=",
663+ "dependencies": [
664+ "newtype",
665+ "prelude"
666+ ]
667+ },
668+ "mmorph": {
669+ "type": "registry",
670+ "version": "7.0.0",
671+ "integrity": "sha256-Cfltaq+tfYjuSoSBN/b8cSQZbvZTqIRs6ebQewbIkGs=",
672+ "dependencies": [
673+ "bifunctors",
674+ "either",
675+ "free",
676+ "functors",
677+ "identity",
678+ "maybe",
679+ "newtype",
680+ "prelude",
681+ "transformers",
682+ "tuples"
683+ ]
684+ },
685+ "newtype": {
686+ "type": "registry",
687+ "version": "5.0.0",
688+ "integrity": "sha256-dt6w0cty4OS+Pjt9fsh3iU6ottqSU83mdAZkaEEvo6c=",
689+ "dependencies": [
690+ "prelude",
691+ "safe-coerce"
692+ ]
693+ },
694+ "nonempty": {
695+ "type": "registry",
696+ "version": "7.0.0",
697+ "integrity": "sha256-Ctkq8/+KiGqCE53Y/LvibA/coy7ev9HtRZU+GYS7yfQ=",
698+ "dependencies": [
699+ "control",
700+ "foldable-traversable",
701+ "maybe",
702+ "prelude",
703+ "tuples",
704+ "unfoldable"
705+ ]
706+ },
707+ "now": {
708+ "type": "registry",
709+ "version": "6.0.0",
710+ "integrity": "sha256-mTyG4s8tps3XIf0jjV/lME2/QlwMzrQly2wqfSSUM3o=",
711+ "dependencies": [
712+ "datetime",
713+ "effect",
714+ "prelude"
715+ ]
716+ },
717+ "nullable": {
718+ "type": "registry",
719+ "version": "6.0.0",
720+ "integrity": "sha256-CDAZk+L9Sc0GCFTkE8n+qdp4Ys8avvnkU+m2hVALt7M=",
721+ "dependencies": [
722+ "functions",
723+ "maybe",
724+ "prelude"
725+ ]
726+ },
727+ "numbers": {
728+ "type": "registry",
729+ "version": "9.0.1",
730+ "integrity": "sha256-ZydYckgwRAnRaFC7pu6fADhzdwX+UqHZrfJyet64zls=",
731+ "dependencies": [
732+ "functions",
733+ "maybe",
734+ "prelude"
735+ ]
736+ },
737+ "ordered-collections": {
738+ "type": "registry",
739+ "version": "3.2.0",
740+ "integrity": "sha256-NaEXc2cz/7lJfxPWEja4XlZbGxuRqJwFKQJjsJf51kQ=",
741+ "dependencies": [
742+ "arrays",
743+ "control",
744+ "foldable-traversable",
745+ "functions",
746+ "gen",
747+ "lists",
748+ "maybe",
749+ "newtype",
750+ "partial",
751+ "prelude",
752+ "safe-coerce",
753+ "tailrec",
754+ "tuples",
755+ "unfoldable"
756+ ]
757+ },
758+ "orders": {
759+ "type": "registry",
760+ "version": "6.0.0",
761+ "integrity": "sha256-nSMxZK7wxyDULkjZqvMyB71mVo6b0AyLLHosDVbv1XM=",
762+ "dependencies": [
763+ "newtype",
764+ "prelude"
765+ ]
766+ },
767+ "parallel": {
768+ "type": "registry",
769+ "version": "7.0.0",
770+ "integrity": "sha256-bAGpVhrFz2IyHkA4MR7+tE/19FZ7dzYBdYPgK5svkqw=",
771+ "dependencies": [
772+ "control",
773+ "effect",
774+ "either",
775+ "foldable-traversable",
776+ "functors",
777+ "maybe",
778+ "newtype",
779+ "prelude",
780+ "profunctor",
781+ "refs",
782+ "transformers"
783+ ]
784+ },
785+ "partial": {
786+ "type": "registry",
787+ "version": "4.0.0",
788+ "integrity": "sha256-mdrlJBAgFMh79hNRW39uv7c+BwnnaOrAMmdh7+VhEhs=",
789+ "dependencies": []
790+ },
791+ "pipes": {
792+ "type": "registry",
793+ "version": "8.0.0",
794+ "integrity": "sha256-dtUNpG8BGVr7pu6mQZyAnUAftUHgNS7f0QH3Kw5UTpQ=",
795+ "dependencies": [
796+ "aff",
797+ "control",
798+ "effect",
799+ "either",
800+ "foldable-traversable",
801+ "identity",
802+ "lists",
803+ "maybe",
804+ "mmorph",
805+ "newtype",
806+ "prelude",
807+ "tailrec",
808+ "transformers",
809+ "tuples"
810+ ]
811+ },
812+ "prelude": {
813+ "type": "registry",
814+ "version": "6.0.2",
815+ "integrity": "sha256-IqykrDRquGUD/LRSad7y75hZv3bUsGQ4knc8tdez8Qw=",
816+ "dependencies": []
817+ },
818+ "profunctor": {
819+ "type": "registry",
820+ "version": "6.0.1",
821+ "integrity": "sha256-Ow0mJC+PIIRq/a3mzCWY5vxuTgR/e+Ee68+mWeSRnWY=",
822+ "dependencies": [
823+ "control",
824+ "distributive",
825+ "either",
826+ "exists",
827+ "invariant",
828+ "newtype",
829+ "prelude",
830+ "tuples"
831+ ]
832+ },
833+ "random": {
834+ "type": "registry",
835+ "version": "6.0.0",
836+ "integrity": "sha256-7sZRo6P9UIiXDZ9s2QL9T8h3wlIwLdQrR4+oZKOijQw=",
837+ "dependencies": [
838+ "effect",
839+ "integers",
840+ "prelude"
841+ ]
842+ },
843+ "record": {
844+ "type": "registry",
845+ "version": "4.0.0",
846+ "integrity": "sha256-WQ8fqp4X1wTA70J4qUcPW4Z7DCwx6e5KJnT/EuTdWSc=",
847+ "dependencies": [
848+ "functions",
849+ "prelude",
850+ "unsafe-coerce"
851+ ]
852+ },
853+ "record-studio": {
854+ "type": "registry",
855+ "version": "1.0.4",
856+ "integrity": "sha256-CRnFvSXpDDzio+buibUxFU9zPZDd7/lzrYC1Ya3FuIw=",
857+ "dependencies": [
858+ "heterogeneous",
859+ "lists",
860+ "prelude",
861+ "record",
862+ "typelevel-prelude",
863+ "unsafe-coerce"
864+ ]
865+ },
866+ "refs": {
867+ "type": "registry",
868+ "version": "6.0.0",
869+ "integrity": "sha256-KKD5G9dR2SauuDGULUJsxjqDOEi1Jqm+2Sq5U2mY8YU=",
870+ "dependencies": [
871+ "effect",
872+ "prelude"
873+ ]
874+ },
875+ "safe-coerce": {
876+ "type": "registry",
877+ "version": "2.0.0",
878+ "integrity": "sha256-EJrxtKt5xC7TYjBZrSBO/J7Aw3DmtilYjt4olpAXWVc=",
879+ "dependencies": [
880+ "unsafe-coerce"
881+ ]
882+ },
883+ "spec": {
884+ "type": "registry",
885+ "version": "8.1.1",
886+ "integrity": "sha256-b6qjDb7lUJGLV+WEoywLu6BCXC4zGpfbN43mTL+vBeI=",
887+ "dependencies": [
888+ "aff",
889+ "ansi",
890+ "arrays",
891+ "avar",
892+ "bifunctors",
893+ "control",
894+ "datetime",
895+ "effect",
896+ "either",
897+ "exceptions",
898+ "foldable-traversable",
899+ "fork",
900+ "identity",
901+ "integers",
902+ "lists",
903+ "maybe",
904+ "newtype",
905+ "now",
906+ "ordered-collections",
907+ "parallel",
908+ "pipes",
909+ "prelude",
910+ "refs",
911+ "strings",
912+ "tailrec",
913+ "transformers",
914+ "tuples"
915+ ]
916+ },
917+ "spec-om": {
918+ "type": "registry",
919+ "version": "0.1.0",
920+ "integrity": "sha256-glX8g7X8o1gVNuxIgNK4NZtcpYDcDg6l3JAsRnDbBM0=",
921+ "dependencies": [
922+ "aff",
923+ "effect",
924+ "exceptions",
925+ "foldable-traversable",
926+ "identity",
927+ "prelude",
928+ "spec",
929+ "web-dom",
930+ "web-html",
931+ "yoga-om"
932+ ]
933+ },
934+ "st": {
935+ "type": "registry",
936+ "version": "6.2.0",
937+ "integrity": "sha256-WI4MEkkwUd4pnwZQ3G8VKWgX5t1RSNJludm5e9boaRo=",
938+ "dependencies": [
939+ "effect",
940+ "partial",
941+ "prelude",
942+ "tailrec",
943+ "unsafe-coerce"
944+ ]
945+ },
946+ "strings": {
947+ "type": "registry",
948+ "version": "6.0.1",
949+ "integrity": "sha256-FNto2hoNW5Da6W6crIk77YXMagBvOGHZE1kO7eZ1vLM=",
950+ "dependencies": [
951+ "arrays",
952+ "control",
953+ "either",
954+ "enums",
955+ "foldable-traversable",
956+ "gen",
957+ "integers",
958+ "maybe",
959+ "newtype",
960+ "nonempty",
961+ "partial",
962+ "prelude",
963+ "tailrec",
964+ "tuples",
965+ "unfoldable",
966+ "unsafe-coerce"
967+ ]
968+ },
969+ "tailrec": {
970+ "type": "registry",
971+ "version": "6.1.0",
972+ "integrity": "sha256-xrorCfP0xV1wubs27idQCHQqdvSUuqmmL/am7Ji1wVU=",
973+ "dependencies": [
974+ "bifunctors",
975+ "effect",
976+ "either",
977+ "identity",
978+ "maybe",
979+ "partial",
980+ "prelude",
981+ "refs"
982+ ]
983+ },
984+ "transformers": {
985+ "type": "registry",
986+ "version": "6.1.0",
987+ "integrity": "sha256-QJmgNT/y7ljPHSsXaW4zxF/982BFiQ90KNL1g/NtEOQ=",
988+ "dependencies": [
989+ "control",
990+ "distributive",
991+ "effect",
992+ "either",
993+ "exceptions",
994+ "foldable-traversable",
995+ "identity",
996+ "lazy",
997+ "maybe",
998+ "newtype",
999+ "prelude",
1000+ "st",
1001+ "tailrec",
1002+ "tuples",
1003+ "unfoldable"
1004+ ]
1005+ },
1006+ "tuples": {
1007+ "type": "registry",
1008+ "version": "7.0.0",
1009+ "integrity": "sha256-BKy7EfK8S1KeTCwyWqyW1wwcpSAQuh3IsczSVgS6fzY=",
1010+ "dependencies": [
1011+ "control",
1012+ "invariant",
1013+ "prelude"
1014+ ]
1015+ },
1016+ "type-equality": {
1017+ "type": "registry",
1018+ "version": "4.0.1",
1019+ "integrity": "sha256-BBqYOSnAKmayRvR5mtZoCf4SlYs2ipatD/+5nQx73aw=",
1020+ "dependencies": []
1021+ },
1022+ "typelevel-prelude": {
1023+ "type": "registry",
1024+ "version": "7.0.0",
1025+ "integrity": "sha256-+pHi14/40mTj/+lmCWqL0T7iXIXD1+NSg/KItyyoB0A=",
1026+ "dependencies": [
1027+ "prelude",
1028+ "type-equality"
1029+ ]
1030+ },
1031+ "uncurried-transformers": {
1032+ "type": "registry",
1033+ "version": "1.1.0",
1034+ "integrity": "sha256-AqqBMzVLzozVoDorE3QcVVRDkLd7O3624mRHCDnPhaI=",
1035+ "dependencies": [
1036+ "control",
1037+ "effect",
1038+ "either",
1039+ "functions",
1040+ "identity",
1041+ "prelude",
1042+ "safe-coerce",
1043+ "tailrec",
1044+ "transformers",
1045+ "tuples"
1046+ ]
1047+ },
1048+ "undefined-is-not-a-problem": {
1049+ "type": "registry",
1050+ "version": "1.1.0",
1051+ "integrity": "sha256-0YkVzpcKi40T43go7/f8uLVIYgir6lGzOytL6LPfiog=",
1052+ "dependencies": [
1053+ "effect",
1054+ "either",
1055+ "foreign",
1056+ "maybe",
1057+ "newtype",
1058+ "prelude",
1059+ "tuples",
1060+ "type-equality",
1061+ "unsafe-coerce"
1062+ ]
1063+ },
1064+ "unfoldable": {
1065+ "type": "registry",
1066+ "version": "6.0.0",
1067+ "integrity": "sha256-BK/6By1sKp/ztk+9CF3q43SV0QDTLVdsGqFerKHSmbg=",
1068+ "dependencies": [
1069+ "foldable-traversable",
1070+ "maybe",
1071+ "partial",
1072+ "prelude",
1073+ "tuples"
1074+ ]
1075+ },
1076+ "unsafe-coerce": {
1077+ "type": "registry",
1078+ "version": "6.0.0",
1079+ "integrity": "sha256-0L1QsaY20OILjfU5TV72d3U/tSjhmL9hJ32WMp857Lk=",
1080+ "dependencies": []
1081+ },
1082+ "untagged-union": {
1083+ "type": "registry",
1084+ "version": "1.0.0",
1085+ "integrity": "sha256-MQvpb13TZEBoi9n/AoQ7ugniSQqbN6XQmAjii9pqJRk=",
1086+ "dependencies": [
1087+ "either",
1088+ "foreign",
1089+ "foreign-object",
1090+ "literals",
1091+ "maybe",
1092+ "newtype",
1093+ "prelude",
1094+ "tuples",
1095+ "unsafe-coerce"
1096+ ]
1097+ },
1098+ "uuid": {
1099+ "type": "registry",
1100+ "version": "9.0.0",
1101+ "integrity": "sha256-aM/9+7xlHs5UDdtRfoEQosPpYOruwowa3sezIodJ3vk=",
1102+ "dependencies": [
1103+ "effect",
1104+ "maybe",
1105+ "prelude"
1106+ ]
1107+ },
1108+ "variant": {
1109+ "type": "registry",
1110+ "version": "8.0.0",
1111+ "integrity": "sha256-Ydrgl8liWEwYQOWW76PdZtg3vxKpoKgsnmFyTLgZkoU=",
1112+ "dependencies": [
1113+ "control",
1114+ "enums",
1115+ "foldable-traversable",
1116+ "lists",
1117+ "maybe",
1118+ "partial",
1119+ "prelude",
1120+ "type-equality",
1121+ "unsafe-coerce"
1122+ ]
1123+ },
1124+ "web-dom": {
1125+ "type": "registry",
1126+ "version": "6.0.0",
1127+ "integrity": "sha256-rVeqkxChkjqisDvOujy9BMEgGqJkwX3t6g21bXfiG5o=",
1128+ "dependencies": [
1129+ "effect",
1130+ "enums",
1131+ "maybe",
1132+ "newtype",
1133+ "nullable",
1134+ "prelude",
1135+ "unsafe-coerce",
1136+ "web-events"
1137+ ]
1138+ },
1139+ "web-events": {
1140+ "type": "registry",
1141+ "version": "4.0.0",
1142+ "integrity": "sha256-wZNeldG0OU+8qGycUJ9e6vxf1/GC4Ep4OlRMhvjs9LA=",
1143+ "dependencies": [
1144+ "datetime",
1145+ "effect",
1146+ "enums",
1147+ "foreign",
1148+ "functions",
1149+ "maybe",
1150+ "newtype",
1151+ "nullable",
1152+ "prelude",
1153+ "unsafe-coerce"
1154+ ]
1155+ },
1156+ "web-file": {
1157+ "type": "registry",
1158+ "version": "4.0.0",
1159+ "integrity": "sha256-txsdkeWBKU/+5v9m5c6kysgJQSDyV1r7MHaeT4STpjQ=",
1160+ "dependencies": [
1161+ "datetime",
1162+ "effect",
1163+ "enums",
1164+ "foreign",
1165+ "integers",
1166+ "maybe",
1167+ "media-types",
1168+ "nullable",
1169+ "numbers",
1170+ "partial",
1171+ "prelude",
1172+ "tuples",
1173+ "unfoldable",
1174+ "unsafe-coerce",
1175+ "web-events"
1176+ ]
1177+ },
1178+ "web-html": {
1179+ "type": "registry",
1180+ "version": "4.1.1",
1181+ "integrity": "sha256-yOuZJGUxFrivHKpo/jKuKzFZaq6PPPE64ftSysXFssk=",
1182+ "dependencies": [
1183+ "effect",
1184+ "enums",
1185+ "foreign",
1186+ "functions",
1187+ "js-date",
1188+ "maybe",
1189+ "media-types",
1190+ "newtype",
1191+ "nullable",
1192+ "prelude",
1193+ "unsafe-coerce",
1194+ "web-dom",
1195+ "web-events",
1196+ "web-file",
1197+ "web-storage"
1198+ ]
1199+ },
1200+ "web-storage": {
1201+ "type": "registry",
1202+ "version": "5.0.0",
1203+ "integrity": "sha256-YJfos55oeKtBStNfoWfeflSy8j+4IDym5eaZtIY7YM4=",
1204+ "dependencies": [
1205+ "effect",
1206+ "maybe",
1207+ "nullable",
1208+ "prelude",
1209+ "unsafe-coerce",
1210+ "web-events"
1211+ ]
1212+ },
1213+ "web-streams": {
1214+ "type": "registry",
1215+ "version": "4.0.0",
1216+ "integrity": "sha256-iKQbHh/3wNOWyGTZmWJZ1Yuri9J/wQIJKXcxrELaHVo=",
1217+ "dependencies": [
1218+ "arraybuffer-types",
1219+ "effect",
1220+ "exceptions",
1221+ "js-promise",
1222+ "maybe",
1223+ "nullable",
1224+ "prelude",
1225+ "tuples"
1226+ ]
1227+ },
1228+ "yoga-fetch-om": {
1229+ "type": "registry",
1230+ "version": "0.6.2",
1231+ "integrity": "sha256-BTuR84O7EtBIzDOJlyDzCjFRLOh3/yfBkTO1nFzB4/I=",
1232+ "dependencies": [
1233+ "aff",
1234+ "arraybuffer-types",
1235+ "arrays",
1236+ "effect",
1237+ "either",
1238+ "exceptions",
1239+ "http-methods",
1240+ "js-fetch",
1241+ "js-promise-aff",
1242+ "maybe",
1243+ "prelude",
1244+ "record",
1245+ "strings",
1246+ "transformers",
1247+ "tuples",
1248+ "typelevel-prelude",
1249+ "unsafe-coerce",
1250+ "variant",
1251+ "yoga-http-api",
1252+ "yoga-json",
1253+ "yoga-om",
1254+ "yoga-om-strom"
1255+ ]
1256+ },
1257+ "yoga-http-api": {
1258+ "type": "registry",
1259+ "version": "0.2.1",
1260+ "integrity": "sha256-mO15vwpyzflqbucpSdolF5adyXWVBf42cO715HyMOoo=",
1261+ "dependencies": [
1262+ "aff",
1263+ "arrays",
1264+ "either",
1265+ "foldable-traversable",
1266+ "foreign",
1267+ "foreign-object",
1268+ "identity",
1269+ "integers",
1270+ "maybe",
1271+ "newtype",
1272+ "prelude",
1273+ "record",
1274+ "strings",
1275+ "tuples",
1276+ "undefined-is-not-a-problem",
1277+ "unsafe-coerce",
1278+ "variant",
1279+ "yoga-json",
1280+ "yoga-options"
1281+ ]
1282+ },
1283+ "yoga-json": {
1284+ "type": "registry",
1285+ "version": "5.2.1",
1286+ "integrity": "sha256-12I7qIf27oKV/D/YRcHtGpN8n7GQ0Bm3uzvI4ZjOQrs=",
1287+ "dependencies": [
1288+ "arrays",
1289+ "bifunctors",
1290+ "control",
1291+ "datetime",
1292+ "effect",
1293+ "either",
1294+ "exceptions",
1295+ "foldable-traversable",
1296+ "foreign",
1297+ "foreign-object",
1298+ "free",
1299+ "identity",
1300+ "integers",
1301+ "js-bigints",
1302+ "js-date",
1303+ "lists",
1304+ "maybe",
1305+ "newtype",
1306+ "nullable",
1307+ "numbers",
1308+ "ordered-collections",
1309+ "partial",
1310+ "prelude",
1311+ "record",
1312+ "safe-coerce",
1313+ "strings",
1314+ "transformers",
1315+ "tuples",
1316+ "typelevel-prelude",
1317+ "unsafe-coerce",
1318+ "variant",
1319+ "yoga-tree"
1320+ ]
1321+ },
1322+ "yoga-om": {
1323+ "type": "registry",
1324+ "version": "1.5.2",
1325+ "integrity": "sha256-2ys14BF6NPgzFDFUIFk0EDxmqkA8+yghIA9TXHlOmE0=",
1326+ "dependencies": [
1327+ "aff",
1328+ "aff-retry",
1329+ "avar",
1330+ "console",
1331+ "control",
1332+ "datetime",
1333+ "effect",
1334+ "either",
1335+ "exceptions",
1336+ "functions",
1337+ "heterogeneous",
1338+ "maybe",
1339+ "newtype",
1340+ "parallel",
1341+ "prelude",
1342+ "record",
1343+ "record-studio",
1344+ "refs",
1345+ "tailrec",
1346+ "transformers",
1347+ "tuples",
1348+ "typelevel-prelude",
1349+ "uncurried-transformers",
1350+ "unsafe-coerce",
1351+ "variant"
1352+ ]
1353+ },
1354+ "yoga-om-strom": {
1355+ "type": "registry",
1356+ "version": "0.4.2",
1357+ "integrity": "sha256-BmKYog5spZOhW1foqbRVJn85UHIGsoDYi2iAbo6XeXw=",
1358+ "dependencies": [
1359+ "aff",
1360+ "arrays",
1361+ "avar",
1362+ "catenable-lists",
1363+ "console",
1364+ "control",
1365+ "datetime",
1366+ "effect",
1367+ "either",
1368+ "exceptions",
1369+ "foldable-traversable",
1370+ "integers",
1371+ "lists",
1372+ "maybe",
1373+ "now",
1374+ "prelude",
1375+ "refs",
1376+ "spec",
1377+ "st",
1378+ "tailrec",
1379+ "transformers",
1380+ "tuples",
1381+ "variant",
1382+ "yoga-om"
1383+ ]
1384+ },
1385+ "yoga-options": {
1386+ "type": "registry",
1387+ "version": "0.1.1",
1388+ "integrity": "sha256-INtZKI2rw7KcDikzmyXlglsEujSMqHT5jz3ho9dVYC8=",
1389+ "dependencies": [
1390+ "identity",
1391+ "literals",
1392+ "unsafe-coerce",
1393+ "untagged-union"
1394+ ]
1395+ },
1396+ "yoga-sqlite": {
1397+ "type": "registry",
1398+ "version": "0.1.1",
1399+ "integrity": "sha256-rh8pxT5p3qwi/6/1UHDN0vxfYHVlHR8UQhUDS5FCdhY=",
1400+ "dependencies": [
1401+ "aff",
1402+ "arrays",
1403+ "datetime",
1404+ "effect",
1405+ "either",
1406+ "enums",
1407+ "exceptions",
1408+ "foldable-traversable",
1409+ "foreign",
1410+ "integers",
1411+ "js-bigints",
1412+ "js-date",
1413+ "js-promise",
1414+ "js-promise-aff",
1415+ "lists",
1416+ "maybe",
1417+ "newtype",
1418+ "nullable",
1419+ "numbers",
1420+ "ordered-collections",
1421+ "prelude",
1422+ "record",
1423+ "strings",
1424+ "transformers",
1425+ "typelevel-prelude",
1426+ "unsafe-coerce",
1427+ "uuid",
1428+ "yoga-json"
1429+ ]
1430+ },
1431+ "yoga-tree": {
1432+ "type": "registry",
1433+ "version": "1.0.0",
1434+ "integrity": "sha256-s8rIVEQkRi1VrMc92T9ceXcY0X6r5A4QqT6f7GgmDQI=",
1435+ "dependencies": [
1436+ "arrays",
1437+ "control",
1438+ "foldable-traversable",
1439+ "free",
1440+ "maybe",
1441+ "prelude",
1442+ "tailrec"
1443+ ]
1444+ }
1445+ }
1446+}
spago.yaml+20−37
@@ -1,54 +1,37 @@
1−workspace:
2− packageSet:
3− registry: 73.0.0
4− extraPackages:
5− yoga-om:
6− path: ../purescript-yoga-om
7− yoga-om-strom:
8− path: ../purescript-yoga-om-strom
9− yoga-fetch-om:
10− path: ../purescript-yoga-fetch-om
11− yoga-json: "5.2.0"
12− yoga-http-api:
13− path: ../purescript-yoga-http-api
14− yoga-options: "0.1.0"
15− yoga-om-layer: "1.0.6"
16− ref-lifted:
17− path: ../purescript-ref-lifted
18− spec-om:
19− path: ../purescript-spec-om
20− yoga-acp-store-sqlite:
21− path: ../purescript-yoga-acp-store-sqlite
22− yoga-sqlite:
23− path: ../purescript-yoga-sqlite
24−
1+workspace: {}
252package:
263 name: yoga-acp-om
4+ publish:
5+ version: 0.1.1
6+ license: MIT
7+ location:
8+ githubOwner: rowtype-yoga
9+ githubRepo: purescript-yoga-acp-om
2710 dependencies:
28− - aff: ">=7.0.0 <9.0.0"
11+ - arraybuffer-types: ">=3.0.2 <4.0.0"
2912 - arrays: ">=7.3.0 <8.0.0"
3013 - effect: ">=4.0.0 <5.0.0"
3114 - either: ">=6.1.0 <7.0.0"
32− - exceptions: ">=6.1.0 <7.0.0"
3315 - foreign: ">=7.0.0 <8.0.0"
34− - foldable-traversable: ">=6.0.0 <7.0.0"
16+ - http-methods: ">=6.0.0 <7.0.0"
17+ - js-fetch: ">=0.2.1 <0.3.0"
18+ - js-promise: ">=1.0.0 <2.0.0"
19+ - js-promise-aff: ">=1.0.0 <2.0.0"
3520 - maybe: ">=6.0.0 <7.0.0"
21+ - newtype: ">=5.0.0 <6.0.0"
22+ - nullable: ">=6.0.0 <7.0.0"
3623 - prelude: ">=6.0.2 <7.0.0"
3724 - strings: ">=6.0.1 <7.0.0"
25+ - transformers: ">=6.1.0 <7.0.0"
3826 - tuples: ">=7.0.0 <8.0.0"
39− - variant: ">=8.0.0 <9.0.0"
4027 - unsafe-coerce: ">=6.0.0 <7.0.0"
41− - yoga-om: ">=1.3.0 <2.0.0"
42− - yoga-om-strom: ">=0.2.0 <0.4.0"
43− - yoga-fetch-om: ">=0.5.0 <0.6.0"
44− - yoga-json: ">=5.2.0 <6.0.0"
45− - js-fetch: ">=0.2.1 <0.3.0"
46− - js-promise-aff: ">=1.0.0 <2.0.0"
47− - arraybuffer-types: ">=3.0.2 <4.0.0"
48− - transformers: ">=6.1.0 <7.0.0"
28+ - yoga-json: ">=5.2.1 <6.0.0"
29+ - yoga-om: ">=1.5.2 <2.0.0"
30+ - yoga-om-strom: ">=0.4.2 <0.5.0"
4931 test:
5032 main: Test.Main
5133 dependencies:
5234 - spec: ">=8.1.1 <9.0.0"
5335 - spec-om: ">=0.1.0 <0.2.0"
54− - yoga-acp-store-sqlite: ">=0.1.0 <0.2.0"
36+ - yoga-sqlite: ">=0.1.0 <0.2.0"
37+ - yoga-fetch-om: ">=0.5.0 <0.7.0"
test/Test/Yoga/ACP/Integration/Spec.purs+2−2
@@ -148,9 +148,9 @@ storeSpec = it "stores streamed messages in SQLite" do
148148 Array.length rows `shouldEqual` 2
149149 any (\(r :: MessageRow) -> r.role == "user") rows `shouldEqual` true
150150 any (\(r :: MessageRow) -> r.role == "assistant") rows `shouldEqual` true
151− SQLite.close conn
151+ SQLite.close conn # liftEffect
152152 Left _ -> do
153− SQLite.close conn
153+ SQLite.close conn # liftEffect
154154 fail "expected events but got error"
155155
156156agentSDKSpec :: Spec Unit
src/Yoga/ACP/Store.purs → test/Yoga/ACP/Store.pursrenamed

The content is the same.