@kairos-es/core 1.0.0-alpha.4 → 1.0.0-alpha.6

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 (114) hide show
  1. package/README.md +3 -3
  2. package/dist/cjs/AppendCondition.js +1 -3
  3. package/dist/cjs/AppendCondition.js.map +1 -1
  4. package/dist/cjs/AppendIsOwned.js +6 -6
  5. package/dist/cjs/AppendIsOwned.js.map +1 -1
  6. package/dist/cjs/ContractStore.js +2 -2
  7. package/dist/cjs/ContractStore.js.map +1 -1
  8. package/dist/cjs/DcbEventStore.js +1 -1
  9. package/dist/cjs/DcbEventStore.js.map +1 -1
  10. package/dist/cjs/Event.js +29 -13
  11. package/dist/cjs/Event.js.map +1 -1
  12. package/dist/cjs/Query.js +1 -1
  13. package/dist/cjs/Query.js.map +1 -1
  14. package/dist/cjs/SubscribeMachine.js +158 -67
  15. package/dist/cjs/SubscribeMachine.js.map +1 -1
  16. package/dist/cjs/inMemory.js +4 -4
  17. package/dist/cjs/inMemory.js.map +1 -1
  18. package/dist/cjs/retryOnConflict.js +4 -10
  19. package/dist/cjs/retryOnConflict.js.map +1 -1
  20. package/dist/cjs/testing.js +2 -2
  21. package/dist/cjs/testing.js.map +1 -1
  22. package/dist/{dts → dts-cjs}/AppendCondition.d.ts +5 -7
  23. package/dist/{dts → dts-cjs}/AppendCondition.d.ts.map +1 -1
  24. package/dist/{dts → dts-cjs}/AppendIsOwned.d.ts +6 -6
  25. package/dist/{dts → dts-cjs}/AppendIsOwned.d.ts.map +1 -1
  26. package/dist/{dts → dts-cjs}/ContractStore.d.ts +3 -2
  27. package/dist/dts-cjs/ContractStore.d.ts.map +1 -0
  28. package/dist/{dts → dts-cjs}/DcbEventStore.d.ts +2 -2
  29. package/dist/{dts → dts-cjs}/DcbEventStore.d.ts.map +1 -1
  30. package/dist/{dts → dts-cjs}/Event.d.ts +31 -20
  31. package/dist/dts-cjs/Event.d.ts.map +1 -0
  32. package/dist/{dts → dts-cjs}/Query.d.ts +5 -5
  33. package/dist/dts-cjs/SubscribeMachine.d.ts +289 -0
  34. package/dist/dts-cjs/SubscribeMachine.d.ts.map +1 -0
  35. package/dist/{dts → dts-cjs}/inMemory.d.ts.map +1 -1
  36. package/dist/{dts → dts-cjs}/index.d.ts +1 -1
  37. package/dist/dts-cjs/package.json +3 -0
  38. package/dist/{dts → dts-cjs}/retryOnConflict.d.ts +1 -7
  39. package/dist/dts-cjs/retryOnConflict.d.ts.map +1 -0
  40. package/dist/{dts → dts-cjs}/testing.d.ts +1 -1
  41. package/dist/dts-esm/AppendCondition.d.ts +21 -0
  42. package/dist/dts-esm/AppendCondition.d.ts.map +1 -0
  43. package/dist/dts-esm/AppendIsOwned.d.ts +78 -0
  44. package/dist/dts-esm/AppendIsOwned.d.ts.map +1 -0
  45. package/dist/dts-esm/ContractStore.d.ts +62 -0
  46. package/dist/dts-esm/ContractStore.d.ts.map +1 -0
  47. package/dist/dts-esm/DcbEventStore.d.ts +64 -0
  48. package/dist/dts-esm/DcbEventStore.d.ts.map +1 -0
  49. package/dist/dts-esm/Event.d.ts +174 -0
  50. package/dist/dts-esm/Event.d.ts.map +1 -0
  51. package/dist/dts-esm/Projection.d.ts +124 -0
  52. package/dist/dts-esm/Projection.d.ts.map +1 -0
  53. package/dist/dts-esm/Query.d.ts +180 -0
  54. package/dist/dts-esm/Query.d.ts.map +1 -0
  55. package/dist/dts-esm/SubscribeMachine.d.ts +289 -0
  56. package/dist/dts-esm/SubscribeMachine.d.ts.map +1 -0
  57. package/dist/dts-esm/errors.d.ts +17 -0
  58. package/dist/dts-esm/errors.d.ts.map +1 -0
  59. package/dist/dts-esm/inMemory.d.ts +76 -0
  60. package/dist/dts-esm/inMemory.d.ts.map +1 -0
  61. package/dist/dts-esm/index.d.ts +40 -0
  62. package/dist/dts-esm/index.d.ts.map +1 -0
  63. package/dist/dts-esm/package.json +3 -0
  64. package/dist/dts-esm/retryOnConflict.d.ts +64 -0
  65. package/dist/dts-esm/retryOnConflict.d.ts.map +1 -0
  66. package/dist/dts-esm/testing.d.ts +39 -0
  67. package/dist/dts-esm/testing.d.ts.map +1 -0
  68. package/dist/esm/AppendCondition.js +1 -3
  69. package/dist/esm/AppendCondition.js.map +1 -1
  70. package/dist/esm/AppendIsOwned.js +6 -6
  71. package/dist/esm/AppendIsOwned.js.map +1 -1
  72. package/dist/esm/ContractStore.js +2 -2
  73. package/dist/esm/ContractStore.js.map +1 -1
  74. package/dist/esm/DcbEventStore.js +1 -1
  75. package/dist/esm/DcbEventStore.js.map +1 -1
  76. package/dist/esm/Event.js +30 -14
  77. package/dist/esm/Event.js.map +1 -1
  78. package/dist/esm/Query.js +1 -1
  79. package/dist/esm/Query.js.map +1 -1
  80. package/dist/esm/SubscribeMachine.js +157 -67
  81. package/dist/esm/SubscribeMachine.js.map +1 -1
  82. package/dist/esm/inMemory.js +5 -5
  83. package/dist/esm/inMemory.js.map +1 -1
  84. package/dist/esm/index.js +1 -1
  85. package/dist/esm/retryOnConflict.js +4 -10
  86. package/dist/esm/retryOnConflict.js.map +1 -1
  87. package/dist/esm/testing.js +2 -2
  88. package/dist/esm/testing.js.map +1 -1
  89. package/package.json +21 -11
  90. package/src/AppendCondition.ts +1 -1
  91. package/src/AppendIsOwned.ts +7 -7
  92. package/src/ContractStore.ts +5 -4
  93. package/src/DcbEventStore.ts +3 -3
  94. package/src/Event.ts +49 -14
  95. package/src/Query.ts +1 -1
  96. package/src/SubscribeMachine.ts +278 -96
  97. package/src/inMemory.ts +6 -6
  98. package/src/index.ts +1 -1
  99. package/src/retryOnConflict.ts +6 -11
  100. package/src/testing.ts +2 -2
  101. package/testing/package.json +1 -1
  102. package/dist/dts/ContractStore.d.ts.map +0 -1
  103. package/dist/dts/Event.d.ts.map +0 -1
  104. package/dist/dts/SubscribeMachine.d.ts +0 -179
  105. package/dist/dts/SubscribeMachine.d.ts.map +0 -1
  106. package/dist/dts/retryOnConflict.d.ts.map +0 -1
  107. /package/dist/{dts → dts-cjs}/Projection.d.ts +0 -0
  108. /package/dist/{dts → dts-cjs}/Projection.d.ts.map +0 -0
  109. /package/dist/{dts → dts-cjs}/Query.d.ts.map +0 -0
  110. /package/dist/{dts → dts-cjs}/errors.d.ts +0 -0
  111. /package/dist/{dts → dts-cjs}/errors.d.ts.map +0 -0
  112. /package/dist/{dts → dts-cjs}/inMemory.d.ts +0 -0
  113. /package/dist/{dts → dts-cjs}/index.d.ts.map +0 -0
  114. /package/dist/{dts → dts-cjs}/testing.d.ts.map +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @kairos-es/core
2
2
 
3
- DCB-first event-sourcing contract and in-memory store for Effect v3.
3
+ DCB-first event-sourcing contract and in-memory store for Effect 4.
4
4
 
5
5
  ## Installation
6
6
 
@@ -8,12 +8,12 @@ DCB-first event-sourcing contract and in-memory store for Effect v3.
8
8
  Effect instance (per [ADR-0003](../../docs/adr)):
9
9
 
10
10
  ```sh
11
- pnpm add @kairos-es/core@alpha effect@^3.22.0
11
+ pnpm add @kairos-es/core@alpha effect@^4.0.5
12
12
  ```
13
13
 
14
14
  Provides the `DcbEventStore` contract (branded `Position` / `Tag` / `EventType`,
15
15
  the `DcbEvent` / `Query` / `AppendCondition` schemas, the errors and the
16
- `Context.Tag`), the pure `Projection` / `composeProjections` fold primitives
16
+ `Context.Service`), the pure `Projection` / `composeProjections` fold primitives
17
17
  (plus `unionQueries`, the OR-merge `composeProjections` folds a record through,
18
18
  reachable without one — a caller accumulating queries rather than projections
19
19
  needs it, and hand-rolling that merge silently drops a wildcard, an empty item
@@ -19,8 +19,6 @@ var _Query = require("./Query.js");
19
19
 
20
20
  const AppendCondition = exports.AppendCondition = /*#__PURE__*/_effect.Schema.Struct({
21
21
  failIfEventsMatch: _Query.Query,
22
- after: /*#__PURE__*/_effect.Schema.optionalWith(_Event.Position, {
23
- exact: true
24
- })
22
+ after: /*#__PURE__*/_effect.Schema.optionalKey(_Event.Position)
25
23
  });
26
24
  //# sourceMappingURL=AppendCondition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppendCondition.js","names":["_effect","require","_Event","_Query","AppendCondition","exports","Schema","Struct","failIfEventsMatch","Query","after","optionalWith","Position","exact"],"sources":["../../src/AppendCondition.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAXA;;;;;;;;;;AAaO,MAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,gBAAGE,cAAM,CAACC,MAAM,CAAC;EAC3CC,iBAAiB,EAAEC,YAAK;EACxBC,KAAK,eAAEJ,cAAM,CAACK,YAAY,CAACC,eAAQ,EAAE;IAAEC,KAAK,EAAE;EAAI,CAAE;CACrD,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"AppendCondition.js","names":["_effect","require","_Event","_Query","AppendCondition","exports","Schema","Struct","failIfEventsMatch","Query","after","optionalKey","Position"],"sources":["../../src/AppendCondition.ts"],"sourcesContent":[null],"mappings":";;;;;;AASA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAXA;;;;;;;;;;AAaO,MAAMG,eAAe,GAAAC,OAAA,CAAAD,eAAA,gBAAGE,cAAM,CAACC,MAAM,CAAC;EAC3CC,iBAAiB,EAAEC,YAAK;EACxBC,KAAK,eAAEJ,cAAM,CAACK,WAAW,CAACC,eAAQ;CACnC,CAAC","ignoreList":[]}
@@ -37,15 +37,15 @@ var _effect = require("effect");
37
37
  *
38
38
  * ## Present means refused, so a sanctioned append REMOVES the marker
39
39
  *
40
- * The check reads the tag through `Effect.serviceOption`, so its ABSENCE is the
40
+ * The check reads the service through `Effect.serviceOption`, so its ABSENCE is the
41
41
  * normal case and costs the `append` signature nothing — `DcbEventStore.append`
42
42
  * keeps `R = never` and no caller provides anything. Presence is what refuses.
43
43
  *
44
44
  * That shape decides how the two legitimate appends inside a bracket get through,
45
45
  * and there is only one route: run with the marker STRIPPED from the context
46
- * (`Effect.mapInputContext` over `Context.omit(AppendIsOwned)`). The bracket's own
46
+ * (`Effect.updateContext` over `Context.omit(AppendIsOwned)`). The bracket's own
47
47
  * closing append is issued outside the scope it provided the marker in, and the
48
- * codec's escape hatch strips it explicitly. Neither needs a second tag, a
48
+ * codec's escape hatch strips it explicitly. Neither needs a second service, a
49
49
  * sanctioning flag or a mutable cell, and there is no way to be exempt by
50
50
  * accident: an append is either lexically outside the marked region or it says in
51
51
  * as many words that it is removing the marker.
@@ -56,10 +56,10 @@ var _effect = require("effect");
56
56
  * owns it.
57
57
  *
58
58
  * `by` is a human-readable owner name and exists for the defect message alone —
59
- * the refusal is decided by the tag's PRESENCE, never by this value, so nothing
59
+ * the refusal is decided by the service's PRESENCE, never by this value, so nothing
60
60
  * branches on it and no caller need agree on a vocabulary for it.
61
61
  */
62
- class AppendIsOwned extends /*#__PURE__*/_effect.Context.Tag('@kairos-es/core/AppendIsOwned')() {}
62
+ class AppendIsOwned extends /*#__PURE__*/_effect.Context.Service()('@kairos-es/core/AppendIsOwned') {}
63
63
  /**
64
64
  * Die if an append is already owned here; do nothing otherwise.
65
65
  *
@@ -72,7 +72,7 @@ class AppendIsOwned extends /*#__PURE__*/_effect.Context.Tag('@kairos-es/core/Ap
72
72
  * its escape hatch for a deliberate second append — which is what makes a defect
73
73
  * affordable here.
74
74
  *
75
- * `Effect.serviceOption` is what keeps this free: it reads the tag if present and
75
+ * `Effect.serviceOption` is what keeps this free: it reads the service if present and
76
76
  * adds NOTHING to the requirement channel, so every existing append is unchanged
77
77
  * and unprovisioned.
78
78
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AppendIsOwned.js","names":["_effect","require","AppendIsOwned","Context","Tag","exports","assertAppendNotOwned","Effect","flatMap","serviceOption","owner","_tag","void","die","Error","value","by"],"sources":["../../src/AppendIsOwned.ts"],"sourcesContent":[null],"mappings":";;;;;;AA6CA,IAAAA,OAAA,GAAAC,OAAA;AA7CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA;;;;;;;;AAQM,MAAOC,aAAc,sBAAQC,eAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC,EAG5E;AAEH;;;;;;;;;;;;;;;;AAAAC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAgBO,MAAMI,oBAAoB,GAAAD,OAAA,CAAAC,oBAAA,gBAAwBC,cAAM,CAACC,OAAO,cACrED,cAAM,CAACE,aAAa,CAACP,aAAa,CAAC,EAClCQ,KAAK,IACJA,KAAK,CAACC,IAAI,KAAK,MAAM,GACjBJ,cAAM,CAACK,IAAI,GACXL,cAAM,CAACM,GAAG,CACR,IAAIC,KAAK,CACP,kEAAkEJ,KAAK,CAACK,KAAK,CAACC,EAAE,MAAM,GACpF,4EAA4E,GAC5E,0EAA0E,GAC1E,4EAA4E,GAC5E,0EAA0E,GAC1E,sEAAsE,CACzE,CACF,CACR","ignoreList":[]}
1
+ {"version":3,"file":"AppendIsOwned.js","names":["_effect","require","AppendIsOwned","Context","Service","exports","assertAppendNotOwned","Effect","flatMap","serviceOption","owner","_tag","void","die","Error","value","by"],"sources":["../../src/AppendIsOwned.ts"],"sourcesContent":[null],"mappings":";;;;;;AA6CA,IAAAA,OAAA,GAAAC,OAAA;AA7CA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA;;;;;;;;AAQM,MAAOC,aAAc,sBAAQC,eAAO,CAACC,OAAO,EAG/C,CAAC,+BAA+B,CAAC;AAEpC;;;;;;;;;;;;;;;;AAAAC,OAAA,CAAAH,aAAA,GAAAA,aAAA;AAgBO,MAAMI,oBAAoB,GAAAD,OAAA,CAAAC,oBAAA,gBAAwBC,cAAM,CAACC,OAAO,cACrED,cAAM,CAACE,aAAa,CAACP,aAAa,CAAC,EAClCQ,KAAK,IACJA,KAAK,CAACC,IAAI,KAAK,MAAM,GACjBJ,cAAM,CAACK,IAAI,GACXL,cAAM,CAACM,GAAG,CACR,IAAIC,KAAK,CACP,kEAAkEJ,KAAK,CAACK,KAAK,CAACC,EAAE,MAAM,GACpF,4EAA4E,GAC5E,0EAA0E,GAC1E,4EAA4E,GAC5E,0EAA0E,GAC1E,sEAAsE,CACzE,CACF,CACR","ignoreList":[]}
@@ -28,7 +28,7 @@ const makeContractStore = raw => ({
28
28
  append: (events, condition) =>
29
29
  // The ownership refusal runs FIRST and sits OUTSIDE the suspend, because it is
30
30
  // the only one of append's checks that is EFFECTFUL: it consults a
31
- // `Context.Tag` rather than inspecting the arguments. `Effect.flatMap` over an
31
+ // `Context.Service` rather than inspecting the arguments. `Effect.flatMap` over an
32
32
  // already-lazy effect defers it exactly as the suspend defers the throws below,
33
33
  // so nothing runs at the call site either way; what it buys is that the
34
34
  // "you are inside a bracket" defect arrives before any argument is judged, which
@@ -83,7 +83,7 @@ const makeContractStore = raw => ({
83
83
  // engine's channel simply answers false and dies as it should. It also
84
84
  // narrows the raw `AppendConditionFailed | E` to the contract's single
85
85
  // error, which is what keeps `append` at `E = AppendConditionFailed`.
86
- return _effect.Effect.catchAll(raw.append(events, condition), error => _effect.Predicate.isTagged('AppendConditionFailed')(error) ? _effect.Effect.fail(error) : _effect.Effect.die(error));
86
+ return _effect.Effect.catch(raw.append(events, condition), error => _effect.Predicate.isTagged('AppendConditionFailed')(error) ? _effect.Effect.fail(error) : _effect.Effect.die(error));
87
87
  })),
88
88
  subscribe: (query, after) =>
89
89
  // `Effect.sync` runs when the stream is executed; a throw from
@@ -1 +1 @@
1
- {"version":3,"file":"ContractStore.js","names":["_effect","require","_AppendCondition","_AppendIsOwned","_Event","_Query","decodeReadLimit","Schema","decodeUnknownSync","ReadLimit","makeContractStore","raw","read","query","options","Effect","suspend","assertServableQuery","limit","undefined","orDie","append","events","condition","flatMap","assertAppendNotOwned","length","Error","unknown","Object","keys","find","key","hasOwn","AppendCondition","fields","JSON","stringify","failIfEventsMatch","catchAll","error","Predicate","isTagged","fail","die","subscribe","after","Stream","unwrap","sync","exports"],"sources":["../../src/ContractStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAqCA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,eAAe,gBAAGC,cAAM,CAACC,iBAAiB,CAACC,gBAAS,CAAC;AAwB3D;;;;AAIO,MAAMC,iBAAiB,GAC5BC,GAAwB,KACG;EAC3BC,IAAI,EAAEA,CAACC,KAAK,EAAEC,OAAO,KACnBC,cAAM,CAACC,OAAO,CAAC,MAAK;IAClB;IACA,IAAAC,0BAAmB,EAACJ,KAAK,CAAC;IAC1B,IAAIC,OAAO,EAAEI,KAAK,KAAKC,SAAS,EAAE;MAChCb,eAAe,CAACQ,OAAO,CAACI,KAAK,CAAC;IAChC;IACA;IACA,OAAOH,cAAM,CAACK,KAAK,CAACT,GAAG,CAACC,IAAI,CAACC,KAAK,EAAEC,OAAO,CAAC,CAAC;EAC/C,CAAC,CAAC;EAEJO,MAAM,EAAEA,CAACC,MAAM,EAAEC,SAAS;EACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAR,cAAM,CAACS,OAAO,CAACC,mCAAoB,EAAE,MACnCV,cAAM,CAACC,OAAO,CAAC,MAAK;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIM,MAAM,CAACI,MAAM,KAAK,CAAC,EAAE;MACvB,MAAM,IAAIC,KAAK,CACb,uEAAuE,GACrE,oEAAoE,GACpE,kEAAkE,CACrE;IACH;IACA;IACA;IACA;IACA;IACA;IACA,IAAIJ,SAAS,KAAKJ,SAAS,EAAE;MAC3B,MAAMS,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,IAAI,CACxCC,GAAG,IAAK,CAACH,MAAM,CAACI,MAAM,CAACC,gCAAe,CAACC,MAAM,EAAEH,GAAG,CAAC,CACrD;MACD,IAAIJ,OAAO,KAAKT,SAAS,EAAE;QACzB,MAAM,IAAIQ,KAAK,CACb,kEAAkES,IAAI,CAACC,SAAS,CAACT,OAAO,CAAC,IAAI,GAC3F,mEAAmE,GACnE,yEAAyE,CAC5E;MACH;MACA,IAAAX,0BAAmB,EAACM,SAAS,CAACe,iBAAiB,CAAC;IAClD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAOvB,cAAM,CAACwB,QAAQ,CAAC5B,GAAG,CAACU,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,EAAGiB,KAAK,IAC1DC,iBAAS,CAACC,QAAQ,CAAC,uBAAuB,CAAC,CAACF,KAAK,CAAC,GAC9CzB,cAAM,CAAC4B,IAAI,CAACH,KAAK,CAAC,GAClBzB,cAAM,CAAC6B,GAAG,CAACJ,KAAK,CAAC,CACtB;EACH,CAAC,CAAC,CACH;EAEHK,SAAS,EAAEA,CAAChC,KAAK,EAAEiC,KAAK;EACtB;EACA;EACA;EACA;EACAC,cAAM,CAACC,MAAM,CACXjC,cAAM,CAACkC,IAAI,CAAC,MAAK;IACf,IAAAhC,0BAAmB,EAACJ,KAAK,CAAC;IAC1B,OAAOkC,cAAM,CAAC3B,KAAK,CAACT,GAAG,CAACkC,SAAS,CAAChC,KAAK,EAAEiC,KAAK,CAAC,CAAC;EAClD,CAAC,CAAC;CAEP,CAAC;AAAAI,OAAA,CAAAxC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"file":"ContractStore.js","names":["_effect","require","_AppendCondition","_AppendIsOwned","_Event","_Query","decodeReadLimit","Schema","decodeUnknownSync","ReadLimit","makeContractStore","raw","read","query","options","Effect","suspend","assertServableQuery","limit","undefined","orDie","append","events","condition","flatMap","assertAppendNotOwned","length","Error","unknown","Object","keys","find","key","hasOwn","AppendCondition","fields","JSON","stringify","failIfEventsMatch","catch","error","Predicate","isTagged","fail","die","subscribe","after","Stream","unwrap","sync","exports"],"sources":["../../src/ContractStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAsCA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAGA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,MAAA,GAAAJ,OAAA;AAEA;AACA,MAAMK,eAAe,gBAAGC,cAAM,CAACC,iBAAiB,CAACC,gBAAS,CAAC;AAwB3D;;;;AAIO,MAAMC,iBAAiB,GAC5BC,GAAwB,KACM;EAC9BC,IAAI,EAAEA,CAACC,KAAK,EAAEC,OAAO,KACnBC,cAAM,CAACC,OAAO,CAAC,MAAK;IAClB;IACA,IAAAC,0BAAmB,EAACJ,KAAK,CAAC;IAC1B,IAAIC,OAAO,EAAEI,KAAK,KAAKC,SAAS,EAAE;MAChCb,eAAe,CAACQ,OAAO,CAACI,KAAK,CAAC;IAChC;IACA;IACA,OAAOH,cAAM,CAACK,KAAK,CAACT,GAAG,CAACC,IAAI,CAACC,KAAK,EAAEC,OAAO,CAAC,CAAC;EAC/C,CAAC,CAAC;EAEJO,MAAM,EAAEA,CAACC,MAAM,EAAEC,SAAS;EACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAR,cAAM,CAACS,OAAO,CAACC,mCAAoB,EAAE,MACnCV,cAAM,CAACC,OAAO,CAAC,MAAK;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAIM,MAAM,CAACI,MAAM,KAAK,CAAC,EAAE;MACvB,MAAM,IAAIC,KAAK,CACb,uEAAuE,GACrE,oEAAoE,GACpE,kEAAkE,CACrE;IACH;IACA;IACA;IACA;IACA;IACA;IACA,IAAIJ,SAAS,KAAKJ,SAAS,EAAE;MAC3B,MAAMS,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACP,SAAS,CAAC,CAACQ,IAAI,CACxCC,GAAG,IAAK,CAACH,MAAM,CAACI,MAAM,CAACC,gCAAe,CAACC,MAAM,EAAEH,GAAG,CAAC,CACrD;MACD,IAAIJ,OAAO,KAAKT,SAAS,EAAE;QACzB,MAAM,IAAIQ,KAAK,CACb,kEAAkES,IAAI,CAACC,SAAS,CAACT,OAAO,CAAC,IAAI,GAC3F,mEAAmE,GACnE,yEAAyE,CAC5E;MACH;MACA,IAAAX,0BAAmB,EAACM,SAAS,CAACe,iBAAiB,CAAC;IAClD;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,OAAOvB,cAAM,CAACwB,KAAK,CAAC5B,GAAG,CAACU,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,EAAGiB,KAAK,IACvDC,iBAAS,CAACC,QAAQ,CAAC,uBAAuB,CAAC,CAACF,KAAK,CAAC,GAC9CzB,cAAM,CAAC4B,IAAI,CAACH,KAAK,CAAC,GAClBzB,cAAM,CAAC6B,GAAG,CAACJ,KAAK,CAAC,CACtB;EACH,CAAC,CAAC,CACH;EAEHK,SAAS,EAAEA,CAAChC,KAAK,EAAEiC,KAAK;EACtB;EACA;EACA;EACA;EACAC,cAAM,CAACC,MAAM,CACXjC,cAAM,CAACkC,IAAI,CAAC,MAAK;IACf,IAAAhC,0BAAmB,EAACJ,KAAK,CAAC;IAC1B,OAAOkC,cAAM,CAAC3B,KAAK,CAACT,GAAG,CAACkC,SAAS,CAAChC,KAAK,EAAEiC,KAAK,CAAC,CAAC;EAClD,CAAC,CAAC;CAEP,CAAC;AAAAI,OAAA,CAAAxC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -5,6 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DcbEventStore = void 0;
7
7
  var _effect = require("effect");
8
- class DcbEventStore extends /*#__PURE__*/_effect.Context.Tag('@kairos-es/core/DcbEventStore')() {}
8
+ class DcbEventStore extends /*#__PURE__*/_effect.Context.Service()('@kairos-es/core/DcbEventStore') {}
9
9
  exports.DcbEventStore = DcbEventStore;
10
10
  //# sourceMappingURL=DcbEventStore.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DcbEventStore.js","names":["_effect","require","DcbEventStore","Context","Tag","exports"],"sources":["../../src/DcbEventStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAiBA,IAAAA,OAAA,GAAAC,OAAA;AA2BM,MAAOC,aAAc,sBAAQC,eAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC,EAgC5E;AAAAC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"DcbEventStore.js","names":["_effect","require","DcbEventStore","Context","Service","exports"],"sources":["../../src/DcbEventStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAiBA,IAAAA,OAAA,GAAAC,OAAA;AA2BM,MAAOC,aAAc,sBAAQC,eAAO,CAACC,OAAO,EAgC/C,CAAC,+BAA+B,CAAC;AAAAC,OAAA,CAAAH,aAAA,GAAAA,aAAA","ignoreList":[]}
package/dist/cjs/Event.js CHANGED
@@ -19,11 +19,28 @@ var _effect = require("effect");
19
19
  *
20
20
  * The log is 64-bit (`bigserial` in Postgres) and exceeds JS `number` safety at
21
21
  * 2^53, so positions are a `bigint`. They are compared, never arithmetic'd.
22
- * `Schema.BigInt` encodes to a decimal string (JSON-safe) and decodes to
22
+ * Encoded, a position is a decimal string (JSON-safe, `String(b)`); decoded, a
23
23
  * `bigint`. `0n` is the "before the first event" sentinel used by `after` and by
24
24
  * an empty store's head.
25
+ *
26
+ * The string-to-`bigint` step is hand-built rather than Effect 4's
27
+ * `Schema.BigIntFromString`, because that schema accepts only `^-?\d+$` and so
28
+ * refuses inputs the encoded side has always admitted — `" 5"`, `"+5"`,
29
+ * `"0x10"`. The decode here is the global `BigInt(s)` behind a blank-string
30
+ * refusal, which is `BigInt.fromString` and is exactly what Effect 3's
31
+ * `Schema.BigInt` ran, so a position string any earlier release decoded still
32
+ * decodes to the same value. The non-negative check then runs on the `bigint`,
33
+ * as it always did.
25
34
  */
26
- const Position = exports.Position = /*#__PURE__*/_effect.Schema.BigInt.pipe(/*#__PURE__*/_effect.Schema.nonNegativeBigInt(), /*#__PURE__*/_effect.Schema.brand('Position'));
35
+ const Position = exports.Position = /*#__PURE__*/_effect.Schema.String.pipe(/*#__PURE__*/_effect.Schema.decodeTo(_effect.Schema.BigInt, /*#__PURE__*/_effect.SchemaTransformation.transformEffect({
36
+ decode: (s, options) => _effect.Option.match(_effect.BigInt.fromString(s), {
37
+ onNone: () => _effect.Effect.fail(new _effect.SchemaIssue.InvalidValue({
38
+ message: `Unable to decode ${JSON.stringify(s)} into a bigint`
39
+ }, s, options)),
40
+ onSome: _effect.Effect.succeed
41
+ }),
42
+ encode: b => _effect.Effect.succeed(String(b))
43
+ })), /*#__PURE__*/_effect.Schema.check(/*#__PURE__*/_effect.Schema.isGreaterThanOrEqualToBigInt(0n)), /*#__PURE__*/_effect.Schema.brand('Position'));
27
44
  /** The sentinel position meaning "before the first event". */
28
45
  const ORIGIN = exports.ORIGIN = /*#__PURE__*/Position.make(0n);
29
46
  /**
@@ -32,9 +49,9 @@ const ORIGIN = exports.ORIGIN = /*#__PURE__*/Position.make(0n);
32
49
  * event sourcing; a query matches an event when the event carries all of an
33
50
  * item's tags (superset test).
34
51
  */
35
- const Tag = exports.Tag = /*#__PURE__*/_effect.Schema.String.pipe(/*#__PURE__*/_effect.Schema.pattern(/^[^:]+:.+/, {
52
+ const Tag = exports.Tag = /*#__PURE__*/_effect.Schema.String.pipe(/*#__PURE__*/_effect.Schema.check(/*#__PURE__*/_effect.Schema.isPattern(/^[^:]+:.+/, {
36
53
  identifier: 'Tag'
37
- }), /*#__PURE__*/_effect.Schema.brand('Tag'));
54
+ })), /*#__PURE__*/_effect.Schema.brand('Tag'));
38
55
  const tagIdentity = key => {
39
56
  if (key.length === 0 || key.includes(':')) {
40
57
  throw new Error(`tagIdentity: key must be non-empty and contain no ':' (got ${JSON.stringify(key)})`);
@@ -60,12 +77,12 @@ const tagIdentity = key => {
60
77
  * `ReadLimit.make(n)`.
61
78
  */
62
79
  exports.tagIdentity = tagIdentity;
63
- const ReadLimit = exports.ReadLimit = /*#__PURE__*/_effect.Schema.Int.pipe(/*#__PURE__*/_effect.Schema.greaterThanOrEqualTo(0), /*#__PURE__*/_effect.Schema.brand('ReadLimit'));
80
+ const ReadLimit = exports.ReadLimit = /*#__PURE__*/_effect.Schema.Int.pipe(/*#__PURE__*/_effect.Schema.check(/*#__PURE__*/_effect.Schema.isGreaterThanOrEqualTo(0)), /*#__PURE__*/_effect.Schema.brand('ReadLimit'));
64
81
  /**
65
82
  * An event type name, a branded non-empty string. Versioning is by convention
66
83
  * in the name (e.g. `course-registered.v2`); only non-emptiness is enforced.
67
84
  */
68
- const EventType = exports.EventType = /*#__PURE__*/_effect.Schema.String.pipe(/*#__PURE__*/_effect.Schema.nonEmptyString(), /*#__PURE__*/_effect.Schema.brand('EventType'));
85
+ const EventType = exports.EventType = /*#__PURE__*/_effect.Schema.String.pipe(/*#__PURE__*/_effect.Schema.check(/*#__PURE__*/_effect.Schema.isNonEmpty()), /*#__PURE__*/_effect.Schema.brand('EventType'));
69
86
  /**
70
87
  * An event's metadata: a flat bag of strings carrying the circumstances under
71
88
  * which the event was RECORDED, never anything the business asserts (ADR-0017).
@@ -115,10 +132,7 @@ const EventType = exports.EventType = /*#__PURE__*/_effect.Schema.String.pipe(/*
115
132
  * alone: it would make an event the store accepted unreadable for ever, so a
116
133
  * value check belongs at write or nowhere.
117
134
  */
118
- const Metadata = exports.Metadata = /*#__PURE__*/_effect.Schema.Record({
119
- key: _effect.Schema.String,
120
- value: _effect.Schema.String
121
- });
135
+ const Metadata = exports.Metadata = /*#__PURE__*/_effect.Schema.Record(_effect.Schema.String, _effect.Schema.String);
122
136
  /**
123
137
  * An event as stored: an opaque payload plus its type, tags, a
124
138
  * producer-supplied `uuid`, producer-supplied `occurredAt` domain time, and its
@@ -126,6 +140,8 @@ const Metadata = exports.Metadata = /*#__PURE__*/_effect.Schema.Record({
126
140
  *
127
141
  * `data` is `Uint8Array` (opaque bytes); the store does not interpret it.
128
142
  * `uuid` is producer-supplied to keep `core` deterministic (no RNG in core).
143
+ * It is checked for UUID SHAPE only (`isGUID`), not for a version nibble: a
144
+ * stricter check would refuse ids an existing log already holds.
129
145
  * `occurredAt` is informational only; ordering is by position alone.
130
146
  * `metadata` mirrors `tags` rather than `data`: REQUIRED, with an empty bag
131
147
  * legal. Required because an absent-versus-empty divergence between engines is
@@ -135,10 +151,10 @@ const Metadata = exports.Metadata = /*#__PURE__*/_effect.Schema.Record({
135
151
  */
136
152
  const DcbEvent = exports.DcbEvent = /*#__PURE__*/_effect.Schema.Struct({
137
153
  type: EventType,
138
- data: _effect.Schema.Uint8ArrayFromSelf,
154
+ data: _effect.Schema.Uint8Array,
139
155
  tags: /*#__PURE__*/_effect.Schema.Array(Tag),
140
- uuid: _effect.Schema.UUID,
141
- occurredAt: _effect.Schema.DateTimeUtc,
156
+ uuid: /*#__PURE__*/_effect.Schema.String.check(/*#__PURE__*/_effect.Schema.isGUID()),
157
+ occurredAt: _effect.Schema.DateTimeUtcFromString,
142
158
  metadata: Metadata
143
159
  });
144
160
  /** A persisted event: the event together with the position it was written at. */
@@ -1 +1 @@
1
- {"version":3,"file":"Event.js","names":["_effect","require","Position","exports","Schema","BigInt","pipe","nonNegativeBigInt","brand","ORIGIN","make","Tag","String","pattern","identifier","tagIdentity","key","length","includes","Error","JSON","stringify","value","ReadLimit","Int","greaterThanOrEqualTo","EventType","nonEmptyString","Metadata","Record","DcbEvent","Struct","type","data","Uint8ArrayFromSelf","tags","Array","uuid","UUID","occurredAt","DateTimeUtc","metadata","SequencedEvent","event","position"],"sources":["../../src/Event.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Event.js","names":["_effect","require","Position","exports","Schema","String","pipe","decodeTo","BigInt","SchemaTransformation","transformEffect","decode","s","options","Option","match","BigInt_","fromString","onNone","Effect","fail","SchemaIssue","InvalidValue","message","JSON","stringify","onSome","succeed","encode","b","check","isGreaterThanOrEqualToBigInt","brand","ORIGIN","make","Tag","isPattern","identifier","tagIdentity","key","length","includes","Error","value","ReadLimit","Int","isGreaterThanOrEqualTo","EventType","isNonEmpty","Metadata","Record","DcbEvent","Struct","type","data","Uint8Array","tags","Array","uuid","isGUID","occurredAt","DateTimeUtcFromString","metadata","SequencedEvent","event","position"],"sources":["../../src/Event.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/cjs/Query.js CHANGED
@@ -238,7 +238,7 @@ const classifyServableQuery = query => {
238
238
  }
239
239
  const only = query.items.length === 1 ? query.items[0] : undefined;
240
240
  if (only !== undefined && only.tags.length === 0) {
241
- return _effect.Array.isNonEmptyReadonlyArray(only.types) ? {
241
+ return _effect.Array.isReadonlyArrayNonEmpty(only.types) ? {
242
242
  kind: 'typeOnly',
243
243
  types: only.types
244
244
  } : {
@@ -1 +1 @@
1
- {"version":3,"file":"Query.js","names":["_effect","require","_Event","QueryItem","exports","Schema","Struct","types","Array","EventType","tags","Tag","Query","items","matchesQueryItem","event","item","typeOk","length","includes","type","eventTags","Set","every","tag","has","matchesQuery","query","some","matchesSequenced","sequenced","assertServableQuery","fault","servableQueryFault","undefined","Error","unknownKeyFault","where","value","schemaFields","unknown","Object","keys","find","key","hasOwn","JSON","stringify","unknownQueryKeyFault","fields","reduce","unknownKey","classifyServableQuery","kind","only","Arr","isNonEmptyReadonlyArray","all","or"],"sources":["../../src/Query.ts"],"sourcesContent":[null],"mappings":";;;;;;AAwBA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAzBA;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA;;;;AAIO,MAAME,SAAS,GAAAC,OAAA,CAAAD,SAAA,gBAAGE,cAAM,CAACC,MAAM,CAAC;EACrCC,KAAK,eAAEF,cAAM,CAACG,KAAK,CAACC,gBAAS,CAAC;EAC9BC,IAAI,eAAEL,cAAM,CAACG,KAAK,CAACG,UAAG;CACvB,CAAC;AAGF;AACO,MAAMC,KAAK,GAAAR,OAAA,CAAAQ,KAAA,gBAAGP,cAAM,CAACC,MAAM,CAAC;EACjCO,KAAK,eAAER,cAAM,CAACG,KAAK,CAACL,SAAS;CAC9B,CAAC;AAGF;;;;AAIO,MAAMW,gBAAgB,GAAGA,CAACC,KAAe,EAAEC,IAAe,KAAa;EAC5E,MAAMC,MAAM,GAAGD,IAAI,CAACT,KAAK,CAACW,MAAM,KAAK,CAAC,IAAIF,IAAI,CAACT,KAAK,CAACY,QAAQ,CAACJ,KAAK,CAACK,IAAI,CAAC;EACzE,IAAI,CAACH,MAAM,EAAE;IACX,OAAO,KAAK;EACd;EACA,MAAMI,SAAS,GAAG,IAAIC,GAAG,CAASP,KAAK,CAACL,IAAI,CAAC;EAC7C,OAAOM,IAAI,CAACN,IAAI,CAACa,KAAK,CAAEC,GAAG,IAAKH,SAAS,CAACI,GAAG,CAACD,GAAG,CAAC,CAAC;AACrD,CAAC;AAED;;;;;AAAApB,OAAA,CAAAU,gBAAA,GAAAA,gBAAA;AAKO,MAAMY,YAAY,GAAGA,CAACX,KAAe,EAAEY,KAAY,KAAa;EACrE,IAAIA,KAAK,CAACd,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAO,IAAI;EACb;EACA,OAAOS,KAAK,CAACd,KAAK,CAACe,IAAI,CAAEZ,IAAI,IAAKF,gBAAgB,CAACC,KAAK,EAAEC,IAAI,CAAC,CAAC;AAClE,CAAC;AAED;AAAAZ,OAAA,CAAAsB,YAAA,GAAAA,YAAA;AACO,MAAMG,gBAAgB,GAAGA,CAC9BC,SAAyB,EACzBH,KAAY,KACAD,YAAY,CAACI,SAAS,CAACf,KAAK,EAAEY,KAAK,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAAvB,OAAA,CAAAyB,gBAAA,GAAAA,gBAAA;AA6BO,MAAME,mBAAmB,GAAIJ,KAAY,IAAU;EACxD,MAAMK,KAAK,GAAGC,kBAAkB,CAACN,KAAK,CAAC;EACvC,IAAIK,KAAK,KAAKE,SAAS,EAAE;IACvB,MAAM,IAAIC,KAAK,CAACH,KAAK,CAAC;EACxB;AACF,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA5B,OAAA,CAAA2B,mBAAA,GAAAA,mBAAA;AAiCA,MAAMK,eAAe,GAAGA,CACtBC,KAAa,EACbC,KAAa,EACbC,YAAoB,KACE;EACtB,MAAMC,OAAO,GAAGC,MAAM,CAACC,IAAI,CAACJ,KAAK,CAAC,CAACK,IAAI,CACpCC,GAAG,IAAK,CAACH,MAAM,CAACI,MAAM,CAACN,YAAY,EAAEK,GAAG,CAAC,CAC3C;EACD,OAAOJ,OAAO,KAAKN,SAAS,GACxBA,SAAS,GACT,wBAAwBG,KAAK,oBAAoBS,IAAI,CAACC,SAAS,CAACP,OAAO,CAAC,UAAU,GAChF,8EAA8E,GAC9E,wDAAwD;AAChE,CAAC;AAED;;;;;;;;;;AAUO,MAAMQ,oBAAoB,GAAIrB,KAAY,IAC/CS,eAAe,CAAC,SAAS,EAAET,KAAK,EAAEf,KAAK,CAACqC,MAAM,CAAC,IAC/CtB,KAAK,CAACd,KAAK,CAACqC,MAAM,CAChB,CAAClB,KAAK,EAAEhB,IAAI,KACVgB,KAAK,IAAII,eAAe,CAAC,cAAc,EAAEpB,IAAI,EAAEb,SAAS,CAAC8C,MAAM,CAAC,EAClEf,SAAS,CACV;AAEH;;;;;;;;;;;;;;;;;;;;AAAA9B,OAAA,CAAA4C,oBAAA,GAAAA,oBAAA;AAoBO,MAAMf,kBAAkB,GAAIN,KAAY,IAAwB;EACrE,MAAMwB,UAAU,GAAGH,oBAAoB,CAACrB,KAAK,CAAC;EAC9C,IAAIwB,UAAU,KAAKjB,SAAS,EAAE;IAC5B,OAAOiB,UAAU;EACnB;EACA,MAAM;IAAEtC;EAAK,CAAE,GAAGc,KAAK;EACvB;EACA,IAAId,KAAK,CAACK,MAAM,IAAI,CAAC,EAAE;IACrB,OAAOgB,SAAS;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OAAOrB,KAAK,CAACe,IAAI,CAAEZ,IAAI,IAAKA,IAAI,CAACN,IAAI,CAACQ,MAAM,KAAK,CAAC,CAAC,GAC/C,wEAAwE,GACtE,yEAAyE,GAC3EgB,SAAS;AACf,CAAC;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA9B,OAAA,CAAA6B,kBAAA,GAAAA,kBAAA;AA+BO,MAAMmB,qBAAqB,GAAIzB,KAAY,IAAwB;EACxE,IAAIA,KAAK,CAACd,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;IAC5B,OAAO;MAAEmC,IAAI,EAAE;IAAU,CAAE;EAC7B;EACA,MAAMC,IAAI,GAAG3B,KAAK,CAACd,KAAK,CAACK,MAAM,KAAK,CAAC,GAAGS,KAAK,CAACd,KAAK,CAAC,CAAC,CAAC,GAAGqB,SAAS;EAClE,IAAIoB,IAAI,KAAKpB,SAAS,IAAIoB,IAAI,CAAC5C,IAAI,CAACQ,MAAM,KAAK,CAAC,EAAE;IAChD,OAAOqC,aAAG,CAACC,uBAAuB,CAACF,IAAI,CAAC/C,KAAK,CAAC,GAC1C;MAAE8C,IAAI,EAAE,UAAU;MAAE9C,KAAK,EAAE+C,IAAI,CAAC/C;IAAK,CAAE,GACvC;MAAE8C,IAAI,EAAE;IAAU,CAAE;EAC1B;EACA,OAAO;IAAEA,IAAI,EAAE;EAAQ,CAAE;AAC3B,CAAC;AAED;AAEA;;;;;;AAAAjD,OAAA,CAAAgD,qBAAA,GAAAA,qBAAA;AAMA,MAAMpC,IAAI,GAAIiC,MAGb,KAAiB;EAChB1C,KAAK,EAAE0C,MAAM,CAAC1C,KAAK,IAAI,EAAE;EACzBG,IAAI,EAAEuC,MAAM,CAACvC;CACd,CAAC;AAEF;AACA,MAAM+C,GAAG,GAAGA,CAAA,MAAc;EAAE5C,KAAK,EAAE;AAAE,CAAE,CAAC;AAExC;;;;AAIA,MAAMH,IAAI,GAAGA,CACXA,IAA2C,EAC3CH,KAAgC,MACrB;EACXM,KAAK,EAAE,CAACG,IAAI,CAAC;IAAEN,IAAI;IAAE,IAAIH,KAAK,KAAK2B,SAAS,GAAG,EAAE,GAAG;MAAE3B;IAAK,CAAE;EAAC,CAAE,CAAC;CAClE,CAAC;AAEF;;;;;AAKA,MAAMA,KAAK,GACTA,KAAwD,KAC7C;EAAEM,KAAK,EAAE,CAAC;IAAEN,KAAK;IAAEG,IAAI,EAAE;EAAE,CAAE;AAAC,CAAE,CAAC;AAE9C;;;;;AAKA,MAAMgD,EAAE,GACN7C,KAAwD,KAC7C;EACXA;CACD,CAAC;AAEF;AACO,MAAMc,KAAK,GAAAvB,OAAA,CAAAuB,KAAA,GAAG;EACnB8B,GAAG;EACHzC,IAAI;EACJ0C,EAAE;EACFhD,IAAI;EACJH;CACQ","ignoreList":[]}
1
+ {"version":3,"file":"Query.js","names":["_effect","require","_Event","QueryItem","exports","Schema","Struct","types","Array","EventType","tags","Tag","Query","items","matchesQueryItem","event","item","typeOk","length","includes","type","eventTags","Set","every","tag","has","matchesQuery","query","some","matchesSequenced","sequenced","assertServableQuery","fault","servableQueryFault","undefined","Error","unknownKeyFault","where","value","schemaFields","unknown","Object","keys","find","key","hasOwn","JSON","stringify","unknownQueryKeyFault","fields","reduce","unknownKey","classifyServableQuery","kind","only","Arr","isReadonlyArrayNonEmpty","all","or"],"sources":["../../src/Query.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}