on-zero 0.6.6 → 0.6.8
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.
- package/dist/cjs/helpers/createMutators.cjs +7 -2
- package/dist/cjs/helpers/createMutators.native.js +7 -2
- package/dist/cjs/helpers/createMutators.native.js.map +1 -1
- package/dist/cjs/helpers/createMutators.test.cjs +43 -0
- package/dist/cjs/helpers/createMutators.test.native.js +46 -0
- package/dist/cjs/helpers/createMutators.test.native.js.map +1 -0
- package/dist/cjs/httpPull/completeAck.test.cjs +69 -0
- package/dist/cjs/httpPull/completeAck.test.native.js +76 -0
- package/dist/cjs/httpPull/completeAck.test.native.js.map +1 -0
- package/dist/cjs/httpPull/transport.test.cjs +177 -1
- package/dist/cjs/httpPull/transport.test.native.js +192 -0
- package/dist/cjs/httpPull/transport.test.native.js.map +1 -1
- package/dist/cjs/httpPullTransport.cjs +138 -12
- package/dist/cjs/httpPullTransport.native.js +173 -13
- package/dist/cjs/httpPullTransport.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.mjs +7 -2
- package/dist/esm/helpers/createMutators.mjs.map +1 -1
- package/dist/esm/helpers/createMutators.native.js +7 -2
- package/dist/esm/helpers/createMutators.native.js.map +1 -1
- package/dist/esm/helpers/createMutators.test.mjs +44 -0
- package/dist/esm/helpers/createMutators.test.mjs.map +1 -0
- package/dist/esm/helpers/createMutators.test.native.js +44 -0
- package/dist/esm/helpers/createMutators.test.native.js.map +1 -0
- package/dist/esm/httpPull/completeAck.test.mjs +70 -0
- package/dist/esm/httpPull/completeAck.test.mjs.map +1 -0
- package/dist/esm/httpPull/completeAck.test.native.js +74 -0
- package/dist/esm/httpPull/completeAck.test.native.js.map +1 -0
- package/dist/esm/httpPull/transport.test.mjs +176 -0
- package/dist/esm/httpPull/transport.test.mjs.map +1 -1
- package/dist/esm/httpPull/transport.test.native.js +192 -0
- package/dist/esm/httpPull/transport.test.native.js.map +1 -1
- package/dist/esm/httpPullTransport.mjs +138 -12
- package/dist/esm/httpPullTransport.mjs.map +1 -1
- package/dist/esm/httpPullTransport.native.js +173 -13
- package/dist/esm/httpPullTransport.native.js.map +1 -1
- package/package.json +2 -2
- package/src/helpers/createMutators.test.ts +51 -0
- package/src/helpers/createMutators.ts +7 -2
- package/src/httpPull/completeAck.test.ts +80 -0
- package/src/httpPull/transport.test.ts +134 -0
- package/src/httpPullTransport.ts +198 -13
- package/types/helpers/createMutators.d.ts.map +1 -1
- package/types/helpers/createMutators.test.d.ts +2 -0
- package/types/helpers/createMutators.test.d.ts.map +1 -0
- package/types/httpPull/completeAck.test.d.ts +2 -0
- package/types/httpPull/completeAck.test.d.ts.map +1 -0
- package/types/httpPullTransport.d.ts +4 -0
- package/types/httpPullTransport.d.ts.map +1 -1
|
@@ -734,4 +734,196 @@ function defer() {
|
|
|
734
734
|
reject
|
|
735
735
|
};
|
|
736
736
|
}
|
|
737
|
+
function installWithQueries(fetch, queryTransform) {
|
|
738
|
+
var transport = (0, import_httpPullTransport.installHttpPullTransport)({
|
|
739
|
+
origin: ORIGIN,
|
|
740
|
+
fetch,
|
|
741
|
+
queryTransform
|
|
742
|
+
});
|
|
743
|
+
transports.push(transport);
|
|
744
|
+
return transport;
|
|
745
|
+
}
|
|
746
|
+
(0, import_vitest.describe)("zero-http query-aware extension", function () {
|
|
747
|
+
(0, import_vitest.test)("ships desired queries with pull state (transformed AST) and emits server got-query ack", async function () {
|
|
748
|
+
var requests = [];
|
|
749
|
+
var fetch = import_vitest.vi.fn(async function (input, init) {
|
|
750
|
+
var request = recordRequest(input, init);
|
|
751
|
+
requests.push(request);
|
|
752
|
+
return jsonResponse({
|
|
753
|
+
cookie: 1,
|
|
754
|
+
lastMutationIDChanges: {},
|
|
755
|
+
rowsPatch: [{
|
|
756
|
+
op: "clear"
|
|
757
|
+
}],
|
|
758
|
+
gotQueries: {
|
|
759
|
+
version: 1,
|
|
760
|
+
patch: [{
|
|
761
|
+
op: "put",
|
|
762
|
+
hash: "h1"
|
|
763
|
+
}]
|
|
764
|
+
}
|
|
765
|
+
});
|
|
766
|
+
});
|
|
767
|
+
installWithQueries(fetch, function (name, args) {
|
|
768
|
+
return {
|
|
769
|
+
resolved: name,
|
|
770
|
+
args
|
|
771
|
+
};
|
|
772
|
+
});
|
|
773
|
+
var {
|
|
774
|
+
messages
|
|
775
|
+
} = openRawSocketWithMessages({
|
|
776
|
+
desiredQueriesPatch: [{
|
|
777
|
+
op: "put",
|
|
778
|
+
hash: "h1",
|
|
779
|
+
name: "byOwner",
|
|
780
|
+
args: [{
|
|
781
|
+
ownerId: "u1"
|
|
782
|
+
}]
|
|
783
|
+
}]
|
|
784
|
+
});
|
|
785
|
+
await eventually(function () {
|
|
786
|
+
return (0, import_vitest.expect)(requests.length).toBeGreaterThan(0);
|
|
787
|
+
});
|
|
788
|
+
(0, import_vitest.expect)(requests[0].body.queries).toEqual({
|
|
789
|
+
version: 1,
|
|
790
|
+
patch: [{
|
|
791
|
+
op: "put",
|
|
792
|
+
hash: "h1",
|
|
793
|
+
ast: {
|
|
794
|
+
resolved: "byOwner",
|
|
795
|
+
args: [{
|
|
796
|
+
ownerId: "u1"
|
|
797
|
+
}]
|
|
798
|
+
}
|
|
799
|
+
}]
|
|
800
|
+
});
|
|
801
|
+
await eventually(function () {
|
|
802
|
+
var poke = messages.find(function (m) {
|
|
803
|
+
return m[0] === "pokePart" && Array.isArray(m[1].gotQueriesPatch);
|
|
804
|
+
});
|
|
805
|
+
(0, import_vitest.expect)(poke === null || poke === void 0 ? void 0 : poke[1].gotQueriesPatch).toEqual([{
|
|
806
|
+
op: "put",
|
|
807
|
+
hash: "h1"
|
|
808
|
+
}]);
|
|
809
|
+
});
|
|
810
|
+
});
|
|
811
|
+
(0, import_vitest.test)("an ad-hoc put with an inline ast ships that ast unchanged", async function () {
|
|
812
|
+
var requests = [];
|
|
813
|
+
var fetch = import_vitest.vi.fn(async function (input, init) {
|
|
814
|
+
requests.push(recordRequest(input, init));
|
|
815
|
+
return jsonResponse({
|
|
816
|
+
cookie: 1,
|
|
817
|
+
unchanged: true
|
|
818
|
+
});
|
|
819
|
+
});
|
|
820
|
+
installWithQueries(fetch, function () {
|
|
821
|
+
throw new Error("transform should not run for an inline ast");
|
|
822
|
+
});
|
|
823
|
+
openRawSocketWithMessages({
|
|
824
|
+
desiredQueriesPatch: [{
|
|
825
|
+
op: "put",
|
|
826
|
+
hash: "h2",
|
|
827
|
+
ast: {
|
|
828
|
+
inline: true
|
|
829
|
+
}
|
|
830
|
+
}]
|
|
831
|
+
});
|
|
832
|
+
await eventually(function () {
|
|
833
|
+
return (0, import_vitest.expect)(requests.length).toBeGreaterThan(0);
|
|
834
|
+
});
|
|
835
|
+
(0, import_vitest.expect)(requests[0].body.queries.patch).toEqual([{
|
|
836
|
+
op: "put",
|
|
837
|
+
hash: "h2",
|
|
838
|
+
ast: {
|
|
839
|
+
inline: true
|
|
840
|
+
}
|
|
841
|
+
}]);
|
|
842
|
+
});
|
|
843
|
+
(0, import_vitest.test)("reconnect re-ships the desired set", async function () {
|
|
844
|
+
var requests = [];
|
|
845
|
+
var fetch = import_vitest.vi.fn(async function (input, init) {
|
|
846
|
+
requests.push(recordRequest(input, init));
|
|
847
|
+
return jsonResponse({
|
|
848
|
+
cookie: 1,
|
|
849
|
+
unchanged: true
|
|
850
|
+
});
|
|
851
|
+
});
|
|
852
|
+
installWithQueries(fetch, function (name) {
|
|
853
|
+
return {
|
|
854
|
+
resolved: name
|
|
855
|
+
};
|
|
856
|
+
});
|
|
857
|
+
var desired = [{
|
|
858
|
+
op: "put",
|
|
859
|
+
hash: "h1",
|
|
860
|
+
name: "byOwner",
|
|
861
|
+
args: []
|
|
862
|
+
}];
|
|
863
|
+
var first = openRawSocketWithMessages({
|
|
864
|
+
desiredQueriesPatch: desired
|
|
865
|
+
});
|
|
866
|
+
await eventually(function () {
|
|
867
|
+
return (0, import_vitest.expect)(requests.length).toBeGreaterThan(0);
|
|
868
|
+
});
|
|
869
|
+
first.socket.close();
|
|
870
|
+
var before = requests.length;
|
|
871
|
+
openRawSocketWithMessages({
|
|
872
|
+
desiredQueriesPatch: desired
|
|
873
|
+
});
|
|
874
|
+
await eventually(function () {
|
|
875
|
+
return (0, import_vitest.expect)(requests.length).toBeGreaterThan(before);
|
|
876
|
+
});
|
|
877
|
+
var replay = requests[requests.length - 1].body.queries;
|
|
878
|
+
(0, import_vitest.expect)(replay.patch).toEqual([{
|
|
879
|
+
op: "put",
|
|
880
|
+
hash: "h1",
|
|
881
|
+
ast: {
|
|
882
|
+
resolved: "byOwner"
|
|
883
|
+
}
|
|
884
|
+
}]);
|
|
885
|
+
});
|
|
886
|
+
(0, import_vitest.test)("queryForward ships name+args for the server to resolve (no client transform)", async function () {
|
|
887
|
+
var requests = [];
|
|
888
|
+
var fetch = import_vitest.vi.fn(async function (input, init) {
|
|
889
|
+
requests.push(recordRequest(input, init));
|
|
890
|
+
return jsonResponse({
|
|
891
|
+
cookie: 1,
|
|
892
|
+
unchanged: true
|
|
893
|
+
});
|
|
894
|
+
});
|
|
895
|
+
var transport = (0, import_httpPullTransport.installHttpPullTransport)({
|
|
896
|
+
origin: ORIGIN,
|
|
897
|
+
fetch,
|
|
898
|
+
queryForward: true
|
|
899
|
+
});
|
|
900
|
+
transports.push(transport);
|
|
901
|
+
openRawSocketWithMessages({
|
|
902
|
+
desiredQueriesPatch: [{
|
|
903
|
+
op: "put",
|
|
904
|
+
hash: "h3",
|
|
905
|
+
name: "byOwner",
|
|
906
|
+
args: [{
|
|
907
|
+
ownerId: "u1"
|
|
908
|
+
}],
|
|
909
|
+
// Zero may include a locally evaluable AST on a named query put.
|
|
910
|
+
// queryForward must discard it so the server remains authoritative.
|
|
911
|
+
ast: {
|
|
912
|
+
table: "secret"
|
|
913
|
+
}
|
|
914
|
+
}]
|
|
915
|
+
});
|
|
916
|
+
await eventually(function () {
|
|
917
|
+
return (0, import_vitest.expect)(requests.length).toBeGreaterThan(0);
|
|
918
|
+
});
|
|
919
|
+
(0, import_vitest.expect)(requests[0].body.queries.patch).toEqual([{
|
|
920
|
+
op: "put",
|
|
921
|
+
hash: "h3",
|
|
922
|
+
name: "byOwner",
|
|
923
|
+
args: [{
|
|
924
|
+
ownerId: "u1"
|
|
925
|
+
}]
|
|
926
|
+
}]);
|
|
927
|
+
});
|
|
928
|
+
});
|
|
737
929
|
//# sourceMappingURL=transport.test.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["import_zero","require","import_vitest","import_fixtureSchema","import_httpPullTransport","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ORIGIN","zeros","transports","storageID","afterEach","_zeros_pop","_transports_pop","length","pop","close","uninstall","vi","useRealTimers","describe","test","requests","cookie","fetch","fn","input","init","request","recordRequest","push","expect","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","_requests_at","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushIDs","mutationID","resolve","promise","map","messages","some","message","pushBody","sleep","toHaveLength","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","flatMap","emission","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","url","protocols","installHttpPullTransport","origin","toBeInstanceOf","first","ensureHttpPullTransport","second"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["import_zero","require","import_vitest","import_fixtureSchema","import_httpPullTransport","_class_call_check","instance","Constructor","TypeError","_define_property","obj","key","value","Object","defineProperty","enumerable","configurable","writable","ORIGIN","zeros","transports","storageID","afterEach","_zeros_pop","_transports_pop","length","pop","close","uninstall","vi","useRealTimers","describe","test","requests","cookie","fetch","fn","input","init","request","recordRequest","push","expect","path","toBe","headers","authorization","jsonResponse","lastMutationIDChanges","rowsPatch","op","tableName","id","name","ownerId","projectId","userId","transport","install","zero","createZero","view","query","project","related","materialize","data","waitForComplete","destroy","connections","toEqual","members","body","toBeNull","clientID","any","String","clientGroupID","unchanged","mutation2","mutations","pushResponse","result","eventually","filter","pullsBeforePush","mutation","mutate","create","client","server","find","toMatchObject","pushVersion","requestID","type","args","_requests_at","socket","openRawSocketWithMessages","authToken","send","JSON","stringify","auth","pull","at","firstPushStarted","defer","releaseFirstPush","pushIDs","mutationID","resolve","promise","map","messages","some","message","pushBody","sleep","toHaveLength","responses","deferred","inFlight","maxInFlight","Math","max","response","shift","Error","openRawSocket","findMessage","baseCookie","startsWith","concurrentA","concurrentB","Promise","all","projectView","userView","user","users","pingTimeoutMs","connection","state","current","error","status","emissions","cleanup","addListener","resultType","parse","toBeGreaterThan","flatMap","emission","previous","globalThis","WebSocket","NativeWebSocket","NativeWebSocket2","url","protocols","installHttpPullTransport","origin","toBeInstanceOf","first","ensureHttpPullTransport","second","details","onClientStateNotFound","toHaveBeenCalled","options","arguments","Zero","userID","schema","zeroHttpFixtureSchema","kvStore","storageKey","mutators","zeroHttpFixtureMutators","URL","_init_headers","fromEntries","entries","param","toLowerCase","toString","pathname"],"sources":["../../../src/httpPull/transport.test.ts"],"sourcesContent":[null],"mappings":"AAAA;;AACA,IAAAA,WAAA,GAAAC,OAAsD;AAEtD,IAAAC,aAAA,GAAAD,OAA+D;AAC/D,IAAAE,oBAAA,GAAAF,OAAkE;AAElE,IAAAG,wBAAe,GAAAH,OAAA;AASf,SAAMI,iBAA2BA,CAAAC,QAAA,EAAAC,WAAA;EACjC,IAAM,EAAAD,QAAA,YAA4CC,WAAA;IAC9C,UAAAC,SAAY;EAAA;AAGd;AACA,SAAOC,gBAAWA,CAAAC,GAAQ,EAAAC,GAAA,EAAAC,KAAW,EAAI;EACzC,IAAAD,GAAA,IAAAD,GAAA;IACDG,MAAA,CAAAC,cAAA,CAAAJ,GAAA,EAAAC,GAAA;MAEDC,KAAA;MACEG,UAAA;MACEC,YAAM,MAA6B;MACnCC,QAAI;IACJ;EACE;IACAP,GAAA,CAAAC,GAAA,IAASC,KAAK;EACd;EACA,OAAAF,GAAA;AACA;AAAoB,IAAAQ,MAClB,4BAAU;AAAA,IAAAC,KACV;AAAwB,IAAAC,UACxB,KAAW;AAAA,IAAAC,SACP,GAAI;AAAQ,IAAAnB,aACR,CAAAoB,SAAO,oBAAmB;EAAiC,IAAAC,UACjE,EAAAC,eAAA;EAAA,OAAAL,KACE,CAAAM,MAAI,UAAAF,UAAA,GAAAJ,KAAA,CAAAO,GAAA,gBAAAH,UAAA,uBAAAA,UAAA,CAAAI,KAAA;EAAA,OAAAP,UACJ,CAAAK,MAAW,GAAAD,eAAA,GAAAJ,UAAA,CAAAM,GAAA,gBAAAF,eAAA,uBAAAA,eAAA,CAAAI,SAAA;EAAA1B,aACX,CAAA2B,EAAA,CAAOC,aAAY;AAA+B;AACpD,IAAA5B,aACA,CAAA6B,QAAA;EAAA,IAAA7B,aACM,CAAA8B,IAAA;IAAA,IAAAC,QACJ;IAAW,IAAAC,MACX;IAAiD,IAAAC,KACnD,GAAAjC,aAAA,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MAAA,IACFC,OAAA,GAAAC,aAAA,CAAAH,KAAA,EAAAC,IAAA;MACFL,QAAC,CAAAQ,IAAA,CAAAF,OAAA;MACF,IAAArC,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MACD,IAAM1C,aAAY,CAAAwC,MAAQ,EAAAH,OAAK,CAAAM,OAAA,CAAAC,aAAA,EAAAF,IAAA;MAC/B,OAAMG,YAAO;QAEbb,MAAM,IAAOA,MAAK;QAClBc,qBAAmB;QACnBC,SAAa,GAEb;UACAC,EAAA;QACE,GACE;UACAA,EAAA,OAAS;UACTC,SAAM;UACNvC,KAAS,EAAC;YACZwC,EAAA;YACDC,IAAA;UACD;QACA,GACA;UACDH,EAAA;UAEDC,SAAA,WAAK;UACGvC,KAAA;YACAwC,EAAA,EAAQ;YACNE,OAAA,EAAU;YAChBD,IAAS,EAAK;UAEV;QACF,GACF;UAEAH,EAAA;UACMC,SAAA,UAAW;UACjBvC,KAAO;YACLwC,EAAA,MAAc;YACZG,SAAW;YACTC,MAAA;UAAA;QACqD;MAErD;IACF;IACF,IACDC,SAAA,GAAAC,OAAA,CAAAvB,KAAA;IACH,IAACwB,IAAA,GAAAC,UAAA;IACD,IAAAC,IAAQ,GAAAF,IAAK,CAAAG,KAAA,CAAAC,OAAA,CAAAC,OAAA,YAAAC,WAAA;IACb,IAAAC,IAAM,SAAOC,eAAW,CAAAN,IAAA;IAExBA,IAAA,CAAAO,OAAM;IAAA,EAAW,EAAAlE,aACf,CAAAwC,MAAA,EAAAe,SAAO,CAAAY,WAAS,EAAAzB,IAAQ;IAC1B,IAAA1C,aAAA,CAAAwC,MAAA,EAAAwB,IAAA,EAAAI,OAAA,EACA;MAEAlB,EAAM;MACJE,OAAI;MACJD,IAAA,WAAS;MACTkB,OAAM,GACP;QACKnB,EAAA,MAAS;QACTG,SAAS;QAETC,MAAO;MACb;IAEE,EAAgC,CAChC;IAAa,EACb,EAAAtD,aAAW,CAAAwC,MAAA,EAAAT,QAAO,IAAIuC,IAAA,CAAAtC,MAAM,EAAAuC,QAAA;IAAA,EAC5B,EAAAvE,aAAW,CAAAwC,MAAA,EAAAT,QAAA,IAAAuC,IAAA,CAAAE,QAAA,EAAAJ,OAAA,CAAApE,aAAA,CAAAwC,MAAA,CAAAiC,GAAA,CAAAC,MAAA;IAAA,IACT1E,aAAA,CAAAwC,MAAA,EAAAT,QAAA,IAAAuC,IAAA,CAAAK,aAAA,EAAAP,OAAA,CAAApE,aAAA,CAAAwC,MAAA,CAAAiC,GAAA,CAAAC,MAAA;EAAA;EACQ,IAAA1E,aACA,CAAA8B,IAAA;IAAA,IAAAC,QACF;IAAA,IAAAE,KACJ,GAAAjC,aAAU,CAAA2B,EAAA,CAAAO,EAAA,iBAAiBC,KAAA,EAAAC,IAAA;MAAA,IAC3BC,OAAO,GAAEC,aAAU,CAAAH,KAAS,EAAAC,IAAM;MAAiBL,QACrD,CAAAQ,IAAA,CAAAF,OAAA;MACF,IAAAA,OAAA,CAAAI,IAAA;QACD,OAAAI,YAAA;UACKb,MAAA,EAAAK,OAAA,CAAAiC,IAAA,CAAAtC,MAAA;UAAW4C,SACf;QACE;MACF;MACF,IAAA5E,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MACD,IAAAmC,SAAA,GAAAxC,OAAA,CAAAiC,IAAA,CAAAQ,SAAA;MAED,OAAAjC,YAAA,CAAK;QACHkC,YAAM,EAA6B;UAC7BD,SAAQ,GACN;YACN5B,EAAS;cACTsB,QAAA,EAAAK,SAAO,CAAAL,QAAY;cACZtB,EAAA,EAAA2B,SAAe,CAAA3B;YACvB;YACK8B,MAAA,EAAY;UACV;QAGR;MAEA;IACA;IAEAxB,OAAA,CAAAvB,KAAA;IACD,IAAAwB,IAAA,GAAAC,UAAA;IAED,MAAAuB,UAAA,aAAK;MACH,OAAM,IAAAjF,aAAmB,CAAAwC,MAAY,EAAAT,QAAA,CAAAmD,MAAA,WAAA7C,OAAA;QACrC,OAAMA,OAAA,CAAAI,IAAA,KAAmB,OAAY;MACrC,GAAAlB,MAAM,EAAAmB,IAAqB;IAC3B;IACE,IAAAyC,eAAgB,GAAApD,QAAA,CAAAmD,MAAc,WAAW7C,OAAA;MACzC,OAAIA,OAAQ,CAAAI,IAAA,KAAS,OAAS;IAC5B,GAAAlB,MAAA;IAAoE,IACtE6D,QAAA,GAAA3B,IAAA,CAAA4B,MAAA,CAAAxB,OAAA,CAAAyB,MAAA;MAEApC,EAAA;MACAE,OAAM;MACND,IAAA;IACA;IACE,MAAAiC,QAAA,CAAAG,MAAiB;IACjB,MAAAH,QAAM,CAAAI,MAAA;IAAiB,IACzBjD,IAAA,GAAAR,QAAA,CAAA0D,IAAA,WAAApD,OAAA;MACA,OAAOA,OAAA,CAAAI,IAAA,KAAa;IAAA;IACJ,IAAAzC,aACD,CAAAwC,MAAA,EAAQD,IAAK,aAAUA,IAAK,cAAmB,SAAAA,IAAA,CAAAI,OAAA,CAAAC,aAAA,EAAAF,IAAA;IAAA,IAAA1C,aAClD,CAAAwC,MAAU,EAAAD,IAAA,KAAS,QAAUA,IAAI,UAAS,IAAG,SAAAA,IAAA,CAAA+B,IAAA,EAAAoB,aAAA;MAAAf,aACnD,EAAS3E,aAAA,CAAAwC,MAAA,CAAAiC,GAAA,CAAAC,MAAA;MAAAiB,WACT;MAAAC,SACJ,EAAA5F,aAAA,CAAAwC,MAAA,CAAAiC,GAAA,CAAAC,MAAA;MACFI,SAAC,GACF;QACDe,IAAQ,UAAK;QACP1C,IAAE,kBAAiB;QAEnBD,EAAA;QAAWsB,QACf,EAAAxE,aAAA,CAAAwC,MAAO,CAAAiC,GAAA,CAAAC,MAAS,CAAK;QACvBoB,IAAA,GACO;UACD5C,EAAA;UACCE,OAAU;UACXD,IAAQ;QAEd;MAEA;IACM,EAAW;IAEjB,MAAA8B,UAAA;MACA,WAAAjF,aAAA,CAAAwC,MAAA,EAAAT,QAAA,CAAAmD,MAAA,WAAA7C,OAAA;QACE,OACGA,OAAO,CAACI,IAAA,YAAY;MAEvB,GAAAlB,MAAS,EAAAmB,IAAK,CAAAyC,eAAA;IACjB;EAED;EACE,IAAAnF,aAAM,CAAA8B,IAA6B;IACnC,IAAAiE,YAAM;IAAuC,IAC3ChE,QAAA;IAAA,IACEE,KAAA,GAAQjC,aAAA,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MAAA,IACRC,OAAA,GAAAC,aAAwB,CAAAH,KAAA,EAAAC,IAAA;MAAAL,QACxB,CAAAQ,IAAW,CAACF,OAAM;MACpB,IAAArC,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MACA,OAAEG,YAAW;QACbb,MAAA,EAAAK,OAAA,CAAAiC,IAAA,CAAAtC,MAAA;QACE4C,SAAQ;MAAA,EACR;IAAwB;IACb,IAAArB,SACH,GAAAC,OAAQ,CAAAvB,KAAA;IAAA;MACd+D;IAAA,IAAAC,yBAAA;MAAAC,SACE,EAAI;IAAA;IACO,MAAAjB,UACJ,CAAE,YAAU;MAA8B,OACnD,IAAAjF,aAAA,CAAAwC,MAAA,EAAAT,QAAA,CAAAR,MAAA,EAAAmB,IAAA;IAAA;IACF,EACF,EAAA1C,aAAA,CAAAwC,MAAA,EAAAT,QAAA,IAAAY,OAAA,CAAAC,aAAA,EAAAF,IAAA;IAAAsD,MACA,CAAAG,IAAA,CAAAC,IAAA,CAAAC,SAAA,cACU;MAERC,IAAA;IAAW,EACK;IACd,MAAA/C,SACM,CAAAgD,IAAA;IAAA,IAAAvG,aACJ,CAAAwC,MAAW,GAAAuD,YAAA,GAAAhE,QAAA,CAAAyE,EAAA,kBAAAT,YAAA,uBAAAA,YAAA,CAAApD,OAAA,CAAAC,aAAA,EAAAF,IAAA;EAAA;EACqC,IAAA1C,aAClD,CAAA8B,IAAA;IAAA,IACF2E,gBAAA,GAAAC,KAAA;IAAA,IACFC,gBAAA,GAAAD,KAAA;IACF,IAAAE,OAAA;IACA,IAAA3E,KAAM,GAAAjC,aAAsB,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MAC5B,IAAAC,OAAU,GAAKC,aAAS,CAAAH,KAAO,EAAAC,IAAA;MAE/B,IAAIC,OAAA,CAAAI,IAAW;QACX,OAAAI,YAAc;UACZb,MAAA,EAAQK,OAAA,CAAAiC,IAAA,CAAAtC,MAAG;UACf4C,SAAA;QACA;MACA;MACE,IAAA5E,aAAM,CAAUwC,MAAA,EAAAH,OAAc,CAAAI,IAAA,CAAO,CAAAC,IAAI;MACzC,IAAAmE,UAAS,GAAKxE,OAAO,CAAAiC,IAAA,CAAAQ,SAAA,IAAA5B,EAAA;MACrB0D,OAAA,CAAMrE,IAAA,CAAAsE,UAAW;MACjB,IAAAA,UAAK,KAAU;QACfJ,gBAAO,CAAAK,OAAa,EAAM;QAC5B,MAAAH,gBAAE,CAAAI,OAAA;MACA;MACF,OAAAlE,YAAA;QACDkC,YAAA;UACKD,SAAA,EAAAzC,OAAY,CAAAiC,IAAQ,CAAAQ,SAAK,CAAAkC,GAAA,WAAA5B,QAAA;YACzB;cAEAlC,EAAA;gBACJsB,QAAA,EAAAY,QAAA,CAAAZ,QAAO;gBACTtB,EAAA,EAAAkC,QAAA,CAAAlC;cACA;cACA8B,MAAA;YACA;UACA;QAEA;MACA;IACA;IAEAxB,OAAM,CAAAvB,KAAA;IACN;MAAAgF,QAAA;MAAAjB;IAAA,IAAOC,yBAAsB;IAC7B,MAAAhB,UAAA,aAAO;MACP,WAAAjF,aAAO,CAAAwC,MAAA,EAASyE,QAAQ,CAAAC,IAAA,CAAM,UAAQC,OAAA;QACtC,OAASA,OAAS;MAElB,IAAMzE,IAAA,MAAU;IAChB;IACAsD,MAAA,CAAAG,IAAA,CAAAC,IAAA,CAAAC,SAAO,EACP,QACAe,QAAS,IAET;IACA,MAAMX,gBAAc,CAAAM,OAAU;IAC9Bf,MAAM,CAAAG,IAAA,CAAAC,IAAA,CAAWC,SAAA,CAAM,CACvB,QACEe,QAAQ,KACR;IAAwB,MACxBC,KAAA,GAAY;IACd,CAAC,GAAArH,aAAA,CAAAwC,MAAA,EAAAoE,OAAA,EAAAxC,OAAA,EACD,EAEA;IACAuC,gBAAA,CAAAG,OAAA,EAAO;IACP,MAAA7B,UAAA,aAAO;MACP,WAAAjF,aAAO,CAAAwC,MAAA,EAAAoE,OAAY,EAAAxC,OAAU,EAC9B,GAED,EACE;IACA;IACE,MAAAa,UAAM,aAAU;MAChB,SAAS,EAAAjF,aAAY,CAAAwC,MAAA,EAAAyE,QAAA,CAAA/B,MAAA,WAAAiC,OAAA;QACrB,OAAAA,OAAA,sBAAmB;MAEnB,IAAIG,YAAQ,CAAK;IACf;IAAoB,IAAAtH,aACV,CAAAwC,MAAA,EAAAyE,QAAA,CAAA/B,MAAA,WAAAiC,OAAA;MAAA,OACRA,OAAA,sBAAwB;IAAA,GAAAH,GACxB,WAAAG,OAAW;MAAA,OACTA,OAAM,IAAArC,SAAQ,IAAA5B,EAAA,CAAAA,EAAA;IAAA,IAAAkB,OACZ,EAA+D,GACjE,EACM;EACO;EACqC,IAAApE,aAClD,CAAA8B,IAAA;IAAA,IAAAC,QACF;IAAA,IACFwF,SAAC,IACH;MAEAvF,MAAO;MACRc,qBAAA;MACDC,SAAa,GACP;QAEAC,EAAA;MACA;IAGN,GAEA;MACAhB,MAAA;MACA4C,SAAY;IACZ,GACD;MAED5C,MAAA;MACEc,qBAAc;MACZC,SAAM,GACN;QACAC,EAAO;MACR,GACK;QACAA,EAAA,OAAO;QAEPC,SAAW,WAAM;QACjBvC,KAAM,EAAE;UAEdwC,EAAA;UACAE,OAAA;UACDD,IAAA;QAED;MACQ;IAEJ,GACA;MACAnB,MAAA;MACAc,qBAAsB;MACvBC,SAAA,GACK;QACAC,EAAA;MACA,GACA;QACAA,EAAA,OAAU;QACdC,SAAe,EAAE,SAAM;QACxBvC,KAAA;UAEKwC,EAAA,MAAW;UACXE,OAAW;UACXD,IAAQ;QAEd;MACA;IAEA,EACA;IACD,IAAAqE,QAAA,GAAAd,KAAA;IAEDa,SAAA,CAAAhF,IAAA,CAAAiF,QAAK,CAAAT,OAAA;IACH,IAAAU,QAAM;IACN,IAAAC,WAAc;IACZ,IAAAzF,KAAM,GAAAjC,aAAU,CAAA2B,EAAA,CAAAO,EAAA,CAAc,gBAAWC,KAAA,EAAAC,IAAA;MACzCqF,QAAA,EAAS;MACTC,WAAA,GAAAC,IAAA,CAAAC,GAAA,CAAAF,WAAe,EAAAD,QAAM,CAAK;MAC1B;QACD,IAAApF,OAAA,GAAAC,aAAA,CAAAH,KAAA,EAAAC,IAAA;QACDL,QAAQ,CAAKQ,IAAA,CAAAF,OAAA;QACb,IAAAwF,QAAW,GAAAN,SAAA,CAAAO,KAAA;QAEX,IAAM,CAAAD,QAAW,YAAME,KAAA,0BAAgB;QACvC,OAAMlF,YAAS,OAAAgF,QAAA;MACf;QACAJ,QAAM;MACN;IACA;IACD,IAAAlE,SAAA,GAAAC,OAAA,CAAAvB,KAAA;IAED,IAAAgF,QAAA,GAAAe,aAAK;IACH,MAAM/C,UAAA,CAAW,YAAW;MAC5B,OAAM,IAAAjF,aAAgB,CAAAwC,MAAA,EAAAyE,QAAA,CAAAC,IAAA,WAAAC,OAAA;QAKpB,OAAAA,OACW,CACA,gBACT;MAFS,IAAAzE,IAAA;IACA;IAAA,EACR,EAAA1C,aAAA,CAAAwC,MAAA,EAAAT,QAAA,IAAAuC,IAAA,CAAAtC,MAAA,EAAAuC,QAAA;IAAA,EAPH,EAAAvE,aAAO,CAAAwC,MAAa,EAAAyF,WAAA,CAAAhB,QAAA,kBAAAiB,UAAA,EAAA3D,QAAA;IAAA,EACpB,EAAAvE,aAAc,CAAAwC,MAAA,EAAAyF,WAAA,CAAAhB,QAAA,gBAAAjF,MAAA,EAAAU,IAAA;IAAAuE,QACd,CAAO1F,MAAA,IAAU;IAAA,MACjBgC,SAAO,CAAAgD,IAAS;IAKlB,IAAAvG,aAAA,CAAAwC,MAAA,EAAAyE,QAAA,CAAA/B,MAAA,WAAAiC,OAAA;MACA,OAAAA,OAAW,IAAAgB,UAAY;IAEvB,IAAA/D,OAAM;IACN,IAAApE,aAAe,CAAAwC,MAAI,EAAAT,QAAU,IAAAuC,IAAA,CAAAtC,MAAA,EAAAU,IAAA;IAE7B,MAAAa,SAAA,CAAAgD,IAAA;IACA,IAAAvG,aAAA,CAAAwC,MAAA,EAAQyF,WAAyC,CAAEhB,QAAA,kBAAAiB,UAAA,EAAAxF,IAAA;IAAA,EACjD,EAAA1C,aAAA,CAAAwC,MAAA,EAAAyF,WAAA,CAAAhB,QAAA,gBAAAjF,MAAA,EAAAU,IAAA;IACF,IAAA1C,aAAA,CAAAwC,MAAA,EAAAT,QAAA,IAAAuC,IAAA,CAAAtC,MAAA,EAAAU,IAAA;IAEAuE,QAAA,CAAA1F,MAAU;IACV,MAAAgC,SAAA,CAAAgD,IAAA;IACA,IAAAvG,aAAW,CAAAwC,MAAY,EAAAyF,WAAA,CAAAhB,QAAA,kBAAAiB,UAAA,EAAAxF,IAAA;IACxB,IAAA1C,aAAA,CAAAwC,MAAA,EAAAyF,WAAA,CAAAhB,QAAA,gBAAAjF,MAAA,EAAAU,IAAA;IAED,IAAA1C,aAAA,CAAAwC,MAAK,EAAAT,QAAA,IAAAuC,IAAA,CAAAtC,MAAA,EAAAU,IAAA;IAEHuE,QAAM,CAAA1F,MAAS;IACf,IAAA6G,WAAM,GAAQ7E,SAAA,CAAAgD,IAAA;IACd,IAAA8B,WAAM,GAAA9E,SAAS,CAAAgD,IAAA;IACf,MAAAtB,UAAA,aAAO;MACP,OAAM,IAAAjF,aAAU,CAAAwC,MAAA,EAAAT,QAAA,CAAAR,MAAA,EAAAmB,IAAA;IACjB;IAED8E,QAAA,CAAAV,OAAA;MAME9E,MAAM;MACJc,qBAAgB;MAChBC,SAAI,GACF;QACFC,EAAA;MACA;IACoB;IACJ,MACZsF,OAAA,CAAAC,GAAW,EAAAH,WACT,EAAAC,WACE,CAAiD;IACzC,IAAArI,aACN,CAAAwC,MAAO,EAAAT,QAAA,CAAAR,MAAA,EAAAmB,IAAA;IAAA,IAAA1C,aACP,CAAAwC,MAAS,EAAAkF,WAAA,EAAAhF,IAAA;IAAA,IAAA1C,aACX,CAAAwC,MAAA,EAAAyF,WAAA,CAAAhB,QAAA,kBAAAiB,UAAA,EAAAxF,IAAA;IAAA,IAAA1C,aACF,CAAAwC,MAAA,EAAAyF,WAAA,CAAAhB,QAAA,gBAAAjF,MAAA,EAAAU,IAAA;EAAA;EACA,IAAA1C,aACM,CAAE8B,IAAA,8DAA6C;IAAA,IAAAiE,YACnD;IAAS,IAAAhE,QACX;IAAA,IAAAE,KACF,GAAAjC,aAAA,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MAAA,IACFC,OAAA,GAAAC,aAAA,CAAAH,KAAA,EAAAC,IAAA;MACFL,QAAC,CAAAQ,IAAA,CAAAF,OAAA;MACF,IAAArC,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MACD,IAAAL,OAAa,CAAAiC,IAAA,CAAAtC,MAAA;QACb,OAAMa,YAAO,CAAW;UAElBb,MAAA;UACAc,qBAAA;UACJC,SAAS,GACH;YACPC,EAAA;UAGK,GACA;YACPA,EAAA;YAEDC,SAAA,QAAK;YAOGvC,KAAQ;cACNwC,EAAA,MAAU;cAChBC,IAAA;YACO;UACH,GACA;YACJH,EAAA;YACDC,SAAA;YACOvC,KAAK;cACPwC,EAAA;cACKE,OAAE;cACPD,IAAA,EAAW;YAClB;UACF;QAGO;MACN;MACA,OAAON,YAAA;QACTb,MAAA,EAAAK,OAAA,CAAAiC,IAAA,CAAAtC,MAAA;QAEA4C,SAAS;MAGP,EAAM;IACJ;IACApB,OAAA,CAAQvB,KAAA;IACR,IAAAwB,IAAM,GAAAC,UAAA;IACN,IAAA8E,WAAQ,GAAA/E,IAAA,CAAAG,KAAA,CAAAC,OAAA,CAAAE,WAAA;IACR,MAAAE,eAAS,CAAAuE,WAAA;IACT,IAAAC,QAAY,GAAAhF,IAAA,CAAAG,KAAA,CAAA8E,IAAkB,CAAA3E,WAAW;IACzC,IAAA4E,KAAA,GAAU,MAAA1E,eAAA,CAAAwE,QAAA;IACV,IAAAzI,aAAe,CAAAwC,MAAQ,EAAAmG,KAAA,EAAAvE,OAAA,EACvB;MACDlB,EAAA;MACKC,IAAA,EAAK;IACX,EACF;IAEA,IAAAnD,aAAS,CAAAwC,MAAc,EAA0B,CAAAuD,YAAmC,GAAAhE,QAAA,CAAAyE,EAAA,kBAAAT,YAAA,uBAAAA,YAAA,CAAAzB,IAAA,CAAAtC,MAAA,EAAAU,IAAA;IAClF8F,WAAY,CAAAtE,OAAQ;IACpBuE,QAAM,CAAAvE,OAAU;EAAO,EACrB;EAAgE,IAC9DlE,aAAY,CAAA8B,IAAM,EAAC,2EAAwB;IAC7C,IAAAG,KAAA,GAAAjC,aAAA,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MACF,IAAAC,OAAA,GAAAC,aAAA,CAAAH,KAAA,EAAAC,IAAA;MACA,IAAOpC,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MACL,OAASG,YAAS;QAClBb,MAAU,EAAAK,OAAA,CAAAiC,IAAA,CAAAtC,MAAA;QACV4C,SAAA;MACA;IACF;IACF,IAAArB,SAAA,GAAAC,OAAA,CAAAvB,KAAA;IAEA,IAAAwB,IAAS,GAAAC,UAAa;MACpBkF,aAAW;IACT;IACA,MAAA3D,UAAY,aAAM;MAClB,OAAS,IAAAjF,aAAA,CAAAwC,MAAA,EAAAiB,IAAA,CAAAoF,UAAA,CAAAC,KAAA,CAAAC,OAAA,CAAA5F,IAAA,EAAAT,IAAA;IAAA,EACP;IAAgB,MACZ2E,KAAM;IACZ,IAAArH,aAAA,CAAAwC,MAAA,EAAAiB,IAAA,CAAAoF,UAAA,CAAAC,KAAA,CAAAC,OAAA,CAAA5F,IAAA,EAAAT,IAAA;IACD,IAAA1C,aAAA,CAAAwC,MAAA,EAAAe,SAAA,CAAAY,WAAA,EAAAzB,IAAA;EACH;EAEA,IAAA1C,aAAe,CAAA8B,IAAA,sEAEA;IACb,IAAAC,QAAW,KAAW;IACpB,IAAAE,KAAM,GAAAjC,aAAU,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MACd,IAAAC,OAAM,GAAOC,aAAU,CAAAH,KAAA,EAAAC,IAAA;MACvBL,QAAA,CAAAQ,IAAA,CAAAF,OAAA;MACF,IAAArC,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MACA,OAAIG,YAAgB;QAACmG,KAAA;MACrB;QACEC,MAAI;MACJ;IACA;IACA,IAAA1F,SAAQ,GAAKC,OAAM,CAAAvB,KAAK;IAC1B,IAACwB,IAAA,GAAAC,UAAA;IACF,IAAAC,IAAA,GAAAF,IAAA,CAAAG,KAAA,CAAAC,OAAA,CAAAE,WAAA;IACH,IAAAmF,SAAA;IAEA,IAAAC,OAAe,GAAAxF,IAAA,CAAAyF,WAAW,WAAuCpF,IAAU,EAAAqF,UAAO;MAChFH,SAAM,CAAA3G,IAAU;QACZyB,IAAA,EAAAoC,IAAA,CAAAkD,KAAA,CAAAlD,IAAA,CAAAC,SAAA,CAAArC,IAAA;QACJqF;MACE,EAAI;IACF;IACA,MAAApE,UAAA;MACF,OAAS,IAAAjF,aAAO,CAAAwC,MAAA,EAAAT,QAAA,CAAAR,MAAA,EAAAgI,eAAA;IACd;IACA,MAAAtE,UAAc;MAChB,WAAAjF,aAAA,CAAAwC,MAAA,EAAAiB,IAAA,CAAAoF,UAAA,CAAAC,KAAA,CAAAC,OAAA,CAAA5F,IAAA,EAAAT,IAAA;IACF;IACA,MAAM2E,KAAA;IACR,IAAArH,aAAA,CAAAwC,MAAA,EAAAe,SAAA,CAAAY,WAAA,EAAAzB,IAAA;IAEA,IAAA1C,aAA2B,CAAAwC,MAAA,EAAA0G,SAAA,CAAAM,OAAA,WAAAC,QAAA;MACzB,OAAWA,QAAQ,CAACzF,IAAA;IACtB,IAAAI,OAAA;IAEA,IAAApE,aAAS,CAAAwC,MAAgB,EAAAmB,IAAA,CAAAK,IAAA,EAAAI,OAAA;IACvB+E,OAAO;IACTxF,IAAA,CAAAO,OAAA;EAEA;EAIE,IAAAlE,aAAgB,CAAA8B,IAAI,EAAG,qDAAyB;IAChD,IAAIC,QAAA,GAAW;IACf,IAAIE,KAAA,GAAAjC,aAAiB,CAAA2B,EAAA,CAAAO,EAAY,iBAAIC,KAAA,EAAAC,IAAA;MACjC,IAAAC,OAAA,GAAaC,aAAI,CAAAH,KAAA,EAAiBC,IAAK;MACvCL,QAAA,CAAAQ,IAAa,CAAAF,OAAI;MACjB,IAAArC,aAAiB,CAAAwC,MAAA,EAAAH,OAAgB,CAAAI,IAAA,EAAAC,IAAA;MACjC,UAAApC,SAAiB,kBAAW;IAChC,EAAI;IACJkD,OAAM,CAAAvB,KAAA;IACNyB,UAAM;IACJ,MAAAuB,UAAA;MACA,WAAAjF,aAAA,CAAAwC,MAAA,EAAAT,QAAA,CAAAR,MAAA,EAAAmB,IAAA;IAAA,EACE;IAA2E,MAC3E2E,KAAM;IACR,IAAArH,aAAA,CAAAwC,MAAA,EAAAT,QAAA,CAAAR,MAAA,EAAAmB,IAAA;IACF,MAAAuC,UAAA;MACA,OAAO,IAAAjF,aAAiB,CAAAwC,MAAW,EAACT,QAAA,CAAUR,MAAA,EAAAmB,IAAA;IAC5C;IACD,MAAA2E,KAAA;IACD,IAAArH,aAAmB,CAAAwC,MAAO,EAAAT,QAAA,CAAAR,MAAA,EAAAmB,IAAA;EAC5B;EAEA,IAAA1C,aAAkB,CAAA8B,IAAY;IAC5B,IAAA4H,QAAO,GAAAC,UAAA,CAAAC,SAAA;IACL,IAAAC,eAAe,YAAAC,iBAAAC,GAAA,EAAAC,SAAA;MACf,YAAa;;MACb7J,iBAAmB,KAAE,EAAA2J,gBAAA;MACrBvJ,gBAAgB,KAAI;MACpBA,gBAAW;MACT,KAAAwJ,GAAA,GAAAA,GAAA;MAAA,IACE,CAAAC,SAAM,GAAAA,SAAA;IAAA;IACAzJ,gBACN,CAAAsJ,eAAA;IAAAtJ,gBACU,CAAAsJ,eAAA;IAAAtJ,gBACD,CAAIsJ,eAAU,WAAe;IAAuBtJ,gBAC/D,CAAAsJ,eAAA;IACFF,UAAA,CAAAC,SAAA,GAAAC,eAAA;IACF,IAAAtG,SAAA,OAAArD,wBAAA,CAAA+J,wBAAA;MACFC,MAAA,EAAAlJ,MAAA;MAEAiB,KAAS,EAAAjC,aAAY,CAAA2B,EAAA,CAAAO,EAAgC;IACnD;IACA,IAAA8D,MAAA,OAAA4D,SAAO,+BAAqB;IAC5B,IAAA5J,aAAO,CAAAwC,MAAA,EAAAwD,MAAA,EAAAmE,cAAA,CAAAN,eAAA;IACT,IAAA7J,aAAA,CAAAwC,MAAA,EAAAwD,MAAA,CAAA+D,GAAA,EAAArH,IAAA;IAEAa,SAAS,CAAA7B,SAAA;IAIP,IAAA1B,aAAO,CAAAwC,MAAA,EAAAmH,UAAA,CAAAC,SAAA,EAAAlH,IAAA,CAAAmH,eAAA;IACLF,UAAO,CAAAC,SAAU,GAAAF,QAAY;EAC/B;EACF,IAAA1J,aAAA,CAAA8B,IAAA;IAEA,IAAAoI,MAAS,GAAW;IAClB,IAAIE,KAAA,OAAAlK,wBAAA,CAAAmK,uBAAA;MACAH,MAAA;MACJjI,KAAM,EAAAjC,aAAc,CAAA2B,EAAA,CAAWO,EAAC;IAC9B;IACA,IAAAoI,MAAS,OAAApK,wBAAA,CAAAmK,uBAAA;MACVH,MAAA;MACDjI,KAAS,EAAAjC,aAAS,CAAA2B,EAAS,CAAAO,EAAA;IAC7B;IAIA,IAAAlC,aAAS,CAAAwC,MACP,EAAA8H,MACA,EAAA5H,IAAA,CAAA0H,KAAA;IAEAA,KAAM,CAAA1I,SAAA;EACN;EACA,IAAA1B,aAAO,CAAA8B,IAAA;IACT,IAAAG,KAAA,GAAAjC,aAAA,CAAA2B,EAAA,CAAAO,EAAA,iBAAAC,KAAA,EAAAC,IAAA;MAEA,IAAAC,OAAA,GAAAC,aAAS,CAAAH,KAAA,EAAAC,IAAA;MACP,IAAAC,OAAA,CAAAI,IAAA,KAAK;QACH,OAAMI,YAA6B;UAC7Bb,MAAA,EAAQK,OAAA,CAAAiC,IAAA,CAAAtC,MAAG;UACf4C,SAAM;QACN;MACA;MAAoB,IAClBC,SAAQ,GAAAxC,OAAA,CAAAiC,IAAA,CAAAQ,SAAA;MAAA,OACRjC,YAAA;QACAkC,YAAY,EAAE;UACdD,SAAA,EAAY,CACb;YACF5B,EAAA;cACDsB,QAAmB,2BAA0B;cAErCtB,EAAA;YACN;YACQ8B,MAAA,EAAO;cACfgE,KAAA;cACDuB,OAAA;YAEK;UAGN,GACE;YACOrH,EAAA;cACLsB,QAAA,EAAAK,SAAA,CAAAL,QAAA;cACMtB,EAAA,EAAA2B,SAAA,CAAA3B;YACJ;YACA8B,MAAO;UACT;QAEH;MAED;IACE;IAAsBxB,OACnB,CAAAvB,KAAQ,CAAC;IAAsD,IAClEwB,IAAA,GAAAC,UAAA;IACA,IAAA0B,QAAA,GAAA3B,IAAA,CAAA4B,MAAA,CAAAxB,OAAO,CAAOyB,MAAG;MAClBpC,EAAA;MACFE,OAAA;MAEDD,IAAA;IACE;IACA,MAAMiC,QAAQ,CAAAG,MAAA;IACZ,MAAAH,QAAS,CAAAI,MAAK;EACd;EAAkD,EACpD,EAACxF,aAAA,CAAA8B,IAAA;IAED,IAAAG,KAAA,GAAAjC,aAAmB,CAAO2B,EAAA,CAAAO,EAAA,CAAM,gBAAAC,KAAA,EAAAC,IAAA;MAC9B,IAAAC,OAAU,GAAAC,aAAM,CAAAH,KAAA,EAAAC,IAAA;MACjB,IAAApC,aAAA,CAAAwC,MAAA,EAAAH,OAAA,CAAAI,IAAA,EAAAC,IAAA;MAED,OAAAG,YAAA;QACEmG,KAAA;MACD;QAEDC,MAAM;MACN;IAA+C,EAC7C;IACFzF,OAAC,CAAAvB,KAAA;IACF,IAAAuI,qBAAA,GAAAxK,aAAA,CAAA2B,EAAA,CAAAO,EAAA;IAEDwB,UAAA;MACE8G;IACA;IACE,MAAAvF,UAAc;MAEd,OAAO,IAAAjF,aAAe,CAAAwC,MAAQ,EAAGgI,qBAAiB,EAAAC,gBAAA;IACpD,CAAC;EACD;AAEA;AACA,SAAAjH,OAAMA,CAAAvB,KAAQ;EACd,IAAAsB,SAAM,OAAWrD,wBAAM,CAAA+J,wBAAwB;IAC/CC,MAAM,EAAAlJ,MAAO;IAEbiB;EACA;EACAf,UAAM,CAAAqB,IAAA,CAAAgB,SAAW;EAEjB,OAAAA,SAAM;AACN;AAA6B,SACzBG,UAAWA,CAAA;EAAyC,IACvDgH,OAAA,GAAAC,SAAA,CAAApJ,MAAA,QAAAoJ,SAAA,iBAAAA,SAAA;EACH,IAAClH,IAAA,OAAA3D,WAAA,CAAA8K,IAAA;IAEDpF,MAAA,EAAAxE,MAAA;IACE6J,MAAM;IACNvE,IAAA,EAAM,UAAQ;IACZwE,MAAA,EAAA7K,oBAAc,CAAA8K,qBAA0B;IACxCC,OAAA,EAAO;IACTC,UAAC,sBAAA9J,SAAA;IAED+J,QAAM,EAAAjL,oBAAY,CAAAkL,uBAAA;IAAyBvC,aACjC,EAAA8B,OAAA,CAAA9B,aAAA;IAAA4B,qBACR,EAAAE,OAAA,CAAAF;EAAA;EACcvJ,KACf,CAAAsB,IAAA,CAAAkB,IAAA;EACD,OAAAA,IAAA;AAEA;AAA0B,SACxBnB,cAAAH,KAAqB,EAAAC,IAAA;EAAA,IAAA2H,GACnB,OAAAqB,GAAA,CAAA1G,MAAA,CAAAvC,KAAA;EAAA,IAAAkJ,aACM;EAAA,IAAA1I,OACJ,GAAMhC,MAAA,CAAA2K,WAAA,CAAA3K,MAAA,CAAA4K,OAAA,EAAAF,aAAA,GAAAjJ,IAAA,aAAAA,IAAA,uBAAAA,IAAA,CAAAO,OAAA,cAAA0I,aAAA,cAAAA,aAAA,OAAArE,GAAA,WAAAwE,KAAA;IAAA,KAAA/K,GACN,EAAAC,KAAM,IAAA8K,KAAA;IAAA,OACN,CAAwB/K,GAAA,CAAAgL,WAAA,IAAA/K,KAAA;EAGD;EACzB,OACF;IACFqJ,GAAC,EAAAA,GAAA,CAAA2B,QAAA;IAEDjJ,IAAA,EAAMsH,GAAA,CAAA4B,QAAW;IACjBhJ,OAAA;IAA+C2B,IAC3C,GAAAlC,IAAI,KAAO,QAAMA,IAAM,KAAM,cAAW,IAAOA,IAAE,CAAAkC,IAAA,IAAS8B,IAAM,CAAAkD,KAAE,CAAA5E,MAAA,CAAAtC,IAAA,CAAAkC,IAAA;EAAA;AACrE;AAEL,SAACzB,aAAAyB,IAAA,EAAAlC,IAAA","ignoreList":[]}
|
|
@@ -45,6 +45,10 @@ function installHttpPullTransport(opts) {
|
|
|
45
45
|
nativeWebSocket: previousWebSocket,
|
|
46
46
|
sockets: /* @__PURE__ */new Set(),
|
|
47
47
|
pullIntervalMs: opts.pullIntervalMs,
|
|
48
|
+
wakeEnabled: opts.wake ?? false,
|
|
49
|
+
queryTransform: opts.queryTransform,
|
|
50
|
+
queryForward: opts.queryForward === true,
|
|
51
|
+
queryAware: opts.queryTransform !== void 0 || opts.queryForward === true,
|
|
48
52
|
nextPokeID: 0,
|
|
49
53
|
transientFailureCount: 0
|
|
50
54
|
};
|
|
@@ -124,12 +128,22 @@ class ZeroHttpSocket {
|
|
|
124
128
|
wsid;
|
|
125
129
|
cookie;
|
|
126
130
|
pendingGotQueriesPatch = [];
|
|
131
|
+
// query-aware extension state: the accumulated un-acked desired-query delta
|
|
132
|
+
// to ship, a client-side query-state version that bumps on each change, and
|
|
133
|
+
// the version/length of the delta the in-flight pull sent (to clear the
|
|
134
|
+
// acked prefix on the server's ack).
|
|
135
|
+
desiredQueryPatch = [];
|
|
136
|
+
queryVersion = 0;
|
|
137
|
+
sentQueryVersion;
|
|
138
|
+
sentQueryPatchLen = 0;
|
|
127
139
|
pullInFlight;
|
|
128
140
|
pullAfterCurrent = false;
|
|
129
141
|
pushChain = Promise.resolve();
|
|
130
142
|
nextLocalCookieID;
|
|
131
143
|
openTimer;
|
|
132
144
|
pullTimer;
|
|
145
|
+
wakeSocket;
|
|
146
|
+
wakeReconnectTimer;
|
|
133
147
|
addEventListener(type, listener) {
|
|
134
148
|
if (listener) this.listeners[type]?.add(listener);
|
|
135
149
|
}
|
|
@@ -174,6 +188,7 @@ class ZeroHttpSocket {
|
|
|
174
188
|
if (this.readyState === this.CLOSED) return;
|
|
175
189
|
if (this.openTimer) clearTimeout(this.openTimer);
|
|
176
190
|
if (this.pullTimer) clearInterval(this.pullTimer);
|
|
191
|
+
this.closeWakeChannel();
|
|
177
192
|
this.readyState = this.CLOSED;
|
|
178
193
|
this.state.sockets.delete(this);
|
|
179
194
|
this.emit("close", {
|
|
@@ -185,7 +200,8 @@ class ZeroHttpSocket {
|
|
|
185
200
|
pull() {
|
|
186
201
|
if (this.readyState !== this.OPEN) return Promise.resolve();
|
|
187
202
|
if (this.pullInFlight) return this.pullInFlight;
|
|
188
|
-
this.pullInFlight = this.fetchPull(this.clientGroupID, this.cookie).then(response => {
|
|
203
|
+
this.pullInFlight = this.fetchPull(this.clientGroupID, this.cookie, true).then(response => {
|
|
204
|
+
if (this.state.queryAware) this.applyServerGotQueries(response);
|
|
189
205
|
if (response.unchanged) {
|
|
190
206
|
this.emitGotQueriesPatch(response.cookie);
|
|
191
207
|
return;
|
|
@@ -216,11 +232,96 @@ class ZeroHttpSocket {
|
|
|
216
232
|
this.run(this.pull());
|
|
217
233
|
}, this.state.pullIntervalMs);
|
|
218
234
|
}
|
|
235
|
+
if (this.state.wakeEnabled) this.openWakeChannel();
|
|
236
|
+
}
|
|
237
|
+
// notification-only wake channel: a real WebSocket to <origin>/wake that
|
|
238
|
+
// carries no data. any frame means "pull now", so a wake triggers an
|
|
239
|
+
// immediate (coalesced) pull — push-shaped propagation without waiting on
|
|
240
|
+
// the poll interval. advisory only: if it drops we reconnect, and the
|
|
241
|
+
// interval poll remains the safety net that guarantees convergence.
|
|
242
|
+
openWakeChannel() {
|
|
243
|
+
const Native = this.state.nativeWebSocket;
|
|
244
|
+
if (!Native || this.wakeSocket || this.readyState !== this.OPEN) return;
|
|
245
|
+
const wsBase = this.state.originString.replace(/^http/, "ws");
|
|
246
|
+
const url = `${wsBase}/wake?clientID=${encodeURIComponent(this.clientID)}`;
|
|
247
|
+
let socket;
|
|
248
|
+
try {
|
|
249
|
+
socket = new Native(url);
|
|
250
|
+
} catch {
|
|
251
|
+
return;
|
|
252
|
+
}
|
|
253
|
+
this.wakeSocket = socket;
|
|
254
|
+
const reconnect = () => {
|
|
255
|
+
if (this.wakeSocket !== socket) return;
|
|
256
|
+
this.wakeSocket = void 0;
|
|
257
|
+
if (this.readyState !== this.OPEN || this.wakeReconnectTimer) return;
|
|
258
|
+
this.wakeReconnectTimer = setTimeout(() => {
|
|
259
|
+
this.wakeReconnectTimer = void 0;
|
|
260
|
+
this.openWakeChannel();
|
|
261
|
+
}, 500);
|
|
262
|
+
};
|
|
263
|
+
socket.onmessage = () => this.requestPullAfterCurrent();
|
|
264
|
+
socket.onclose = reconnect;
|
|
265
|
+
socket.onerror = reconnect;
|
|
266
|
+
}
|
|
267
|
+
closeWakeChannel() {
|
|
268
|
+
if (this.wakeReconnectTimer) {
|
|
269
|
+
clearTimeout(this.wakeReconnectTimer);
|
|
270
|
+
this.wakeReconnectTimer = void 0;
|
|
271
|
+
}
|
|
272
|
+
const socket = this.wakeSocket;
|
|
273
|
+
this.wakeSocket = void 0;
|
|
274
|
+
if (socket) {
|
|
275
|
+
try {
|
|
276
|
+
socket.close();
|
|
277
|
+
} catch {}
|
|
278
|
+
}
|
|
219
279
|
}
|
|
220
280
|
queueDesiredQueries(body) {
|
|
221
281
|
const desiredQueriesPatch = body?.desiredQueriesPatch;
|
|
222
282
|
if (!Array.isArray(desiredQueriesPatch)) return;
|
|
223
|
-
this.
|
|
283
|
+
if (!this.state.queryAware) {
|
|
284
|
+
this.pendingGotQueriesPatch.push(...gotQueriesPatch(desiredQueriesPatch));
|
|
285
|
+
return;
|
|
286
|
+
}
|
|
287
|
+
const transform = this.state.queryTransform;
|
|
288
|
+
for (const op of desiredQueriesPatch) {
|
|
289
|
+
if (op.op === "clear") {
|
|
290
|
+
this.desiredQueryPatch.push({
|
|
291
|
+
op: "clear"
|
|
292
|
+
});
|
|
293
|
+
} else if (op.op === "del") {
|
|
294
|
+
this.desiredQueryPatch.push({
|
|
295
|
+
op: "del",
|
|
296
|
+
hash: op.hash
|
|
297
|
+
});
|
|
298
|
+
} else if (op.op === "put") {
|
|
299
|
+
const inline = op.ast;
|
|
300
|
+
const name = op.name ?? "";
|
|
301
|
+
const args = op.args ?? [];
|
|
302
|
+
if (this.state.queryForward) {
|
|
303
|
+
this.desiredQueryPatch.push({
|
|
304
|
+
op: "put",
|
|
305
|
+
hash: op.hash,
|
|
306
|
+
name,
|
|
307
|
+
args
|
|
308
|
+
});
|
|
309
|
+
} else if (inline !== void 0) {
|
|
310
|
+
this.desiredQueryPatch.push({
|
|
311
|
+
op: "put",
|
|
312
|
+
hash: op.hash,
|
|
313
|
+
ast: inline
|
|
314
|
+
});
|
|
315
|
+
} else if (transform) {
|
|
316
|
+
this.desiredQueryPatch.push({
|
|
317
|
+
op: "put",
|
|
318
|
+
hash: op.hash,
|
|
319
|
+
ast: transform(name, args)
|
|
320
|
+
});
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
this.queryVersion++;
|
|
224
325
|
}
|
|
225
326
|
async push(body) {
|
|
226
327
|
const response = await this.postJSON("/push", body);
|
|
@@ -242,8 +343,21 @@ class ZeroHttpSocket {
|
|
|
242
343
|
}
|
|
243
344
|
this.run(this.pull());
|
|
244
345
|
}
|
|
346
|
+
// in query-aware mode the got-query ack is authoritative from the server:
|
|
347
|
+
// take the server's gotQueries.patch as the got patch to emit (replacing
|
|
348
|
+
// local synthesis), and clear the acked prefix of the shipped desired delta
|
|
349
|
+
// once the server acks that version (the ack never leads its row effects —
|
|
350
|
+
// invariant 13 — so the client marks a query got only after its rows land).
|
|
351
|
+
applyServerGotQueries(response) {
|
|
352
|
+
const got = response.gotQueries;
|
|
353
|
+
this.pendingGotQueriesPatch = got ? got.patch : [];
|
|
354
|
+
if (got && this.sentQueryVersion !== void 0 && got.version >= this.sentQueryVersion) {
|
|
355
|
+
this.desiredQueryPatch.splice(0, this.sentQueryPatchLen);
|
|
356
|
+
this.sentQueryVersion = void 0;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
245
359
|
async answerMutationRecoveryPull(body) {
|
|
246
|
-
const response = await this.fetchPull(body.clientGroupID, body.cookie);
|
|
360
|
+
const response = await this.fetchPull(body.clientGroupID, body.cookie, false);
|
|
247
361
|
const cookie = toWebSocketCookie(response.cookie);
|
|
248
362
|
this.emitMessage(["pull", {
|
|
249
363
|
requestID: body.requestID,
|
|
@@ -251,12 +365,23 @@ class ZeroHttpSocket {
|
|
|
251
365
|
lastMutationIDChanges: response.unchanged ? {} : response.lastMutationIDChanges
|
|
252
366
|
}]);
|
|
253
367
|
}
|
|
254
|
-
async fetchPull(clientGroupID, cookie) {
|
|
255
|
-
|
|
368
|
+
async fetchPull(clientGroupID, cookie, includeQueries) {
|
|
369
|
+
const body = {
|
|
256
370
|
clientID: this.clientID,
|
|
257
371
|
clientGroupID,
|
|
258
372
|
cookie: toHttpCookie(cookie)
|
|
259
|
-
}
|
|
373
|
+
};
|
|
374
|
+
if (includeQueries && this.state.queryAware && this.desiredQueryPatch.length > 0) {
|
|
375
|
+
this.sentQueryVersion = this.queryVersion;
|
|
376
|
+
this.sentQueryPatchLen = this.desiredQueryPatch.length;
|
|
377
|
+
body.queries = {
|
|
378
|
+
version: this.queryVersion,
|
|
379
|
+
patch: [...this.desiredQueryPatch]
|
|
380
|
+
};
|
|
381
|
+
} else {
|
|
382
|
+
this.sentQueryVersion = void 0;
|
|
383
|
+
}
|
|
384
|
+
return await this.postJSON("/pull", body);
|
|
260
385
|
}
|
|
261
386
|
async postJSON(path, body) {
|
|
262
387
|
const response = await this.state.fetch(`${this.state.originString}${path}`, {
|
|
@@ -303,9 +428,14 @@ class ZeroHttpSocket {
|
|
|
303
428
|
this.close(1011, errorMessage(error));
|
|
304
429
|
}
|
|
305
430
|
emitPoke(response) {
|
|
306
|
-
const
|
|
307
|
-
|
|
431
|
+
const currentServer = toHttpCookie(this.cookie);
|
|
432
|
+
let nextCookie;
|
|
433
|
+
if (currentServer !== null && response.cookie < currentServer) {
|
|
308
434
|
throw new Error(`zero-http pull returned stale cookie ${response.cookie} for ${this.cookie}`);
|
|
435
|
+
} else if (currentServer !== null && response.cookie === currentServer) {
|
|
436
|
+
nextCookie = toLocalWebSocketCookie(response.cookie, ++this.nextLocalCookieID);
|
|
437
|
+
} else {
|
|
438
|
+
nextCookie = toWebSocketCookie(response.cookie);
|
|
309
439
|
}
|
|
310
440
|
const pokeID = `zero-http-${++this.state.nextPokeID}`;
|
|
311
441
|
const gotQueries = this.pendingGotQueriesPatch;
|
|
@@ -432,10 +562,6 @@ function toWebSocketCookie(cookie) {
|
|
|
432
562
|
function toLocalWebSocketCookie(cookie, localID) {
|
|
433
563
|
return `${String(cookie).padStart(COOKIE_WIDTH, "0")}#${String(localID).padStart(6, "0")}`;
|
|
434
564
|
}
|
|
435
|
-
function isStaleCookie(current, next) {
|
|
436
|
-
const currentNumber = toHttpCookie(current);
|
|
437
|
-
return currentNumber !== null && next <= currentNumber;
|
|
438
|
-
}
|
|
439
565
|
function errorMessage(error) {
|
|
440
566
|
return error instanceof Error ? error.message : String(error);
|
|
441
567
|
}
|