@dxos/echo-query 0.8.4-main.a4bbb77 → 0.8.4-main.abd8ff62ef

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 (54) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/neutral/index.mjs +917 -0
  3. package/dist/lib/neutral/index.mjs.map +7 -0
  4. package/dist/lib/neutral/meta.json +1 -0
  5. package/dist/query-lite/index.d.ts +9975 -0
  6. package/dist/query-lite/index.d.ts.map +1 -0
  7. package/dist/query-lite/index.js +548 -0
  8. package/dist/query-lite/index.js.map +1 -0
  9. package/dist/types/src/index.d.ts +1 -0
  10. package/dist/types/src/index.d.ts.map +1 -1
  11. package/dist/types/src/parser/gen/index.d.ts.map +1 -1
  12. package/dist/types/src/parser/gen/query.terms.d.ts +1 -1
  13. package/dist/types/src/parser/gen/query.terms.d.ts.map +1 -1
  14. package/dist/types/src/parser/query-builder.d.ts +21 -5
  15. package/dist/types/src/parser/query-builder.d.ts.map +1 -1
  16. package/dist/types/src/query-lite/index.d.ts +2 -0
  17. package/dist/types/src/query-lite/index.d.ts.map +1 -0
  18. package/dist/types/src/query-lite/query-lite.d.ts +8 -0
  19. package/dist/types/src/query-lite/query-lite.d.ts.map +1 -0
  20. package/dist/types/src/sandbox/index.d.ts +2 -0
  21. package/dist/types/src/sandbox/index.d.ts.map +1 -0
  22. package/dist/types/src/sandbox/query-sandbox.d.ts +21 -0
  23. package/dist/types/src/sandbox/query-sandbox.d.ts.map +1 -0
  24. package/dist/types/src/sandbox/query-sandbox.test.d.ts +2 -0
  25. package/dist/types/src/sandbox/query-sandbox.test.d.ts.map +1 -0
  26. package/dist/types/src/sandbox/quickjs.d.ts +8 -0
  27. package/dist/types/src/sandbox/quickjs.d.ts.map +1 -0
  28. package/dist/types/src/sandbox/quickjs.test.d.ts +2 -0
  29. package/dist/types/src/sandbox/quickjs.test.d.ts.map +1 -0
  30. package/dist/types/tsconfig.tsbuildinfo +1 -1
  31. package/package.json +25 -14
  32. package/src/env.d.ts +8 -0
  33. package/src/index.ts +1 -0
  34. package/src/parser/gen/query.terms.ts +24 -23
  35. package/src/parser/gen/query.ts +8 -8
  36. package/src/parser/query-builder.ts +359 -30
  37. package/src/parser/query.grammar +8 -2
  38. package/src/parser/query.test.ts +212 -43
  39. package/src/query-lite/index.ts +5 -0
  40. package/src/query-lite/query-lite.ts +744 -0
  41. package/src/sandbox/index.ts +5 -0
  42. package/src/sandbox/query-sandbox.test.ts +53 -0
  43. package/src/sandbox/query-sandbox.ts +72 -0
  44. package/src/sandbox/quickjs.test.ts +67 -0
  45. package/src/sandbox/quickjs.ts +33 -0
  46. package/dist/lib/browser/index.mjs +0 -505
  47. package/dist/lib/browser/index.mjs.map +0 -7
  48. package/dist/lib/browser/meta.json +0 -1
  49. package/dist/lib/node-esm/index.mjs +0 -505
  50. package/dist/lib/node-esm/index.mjs.map +0 -7
  51. package/dist/lib/node-esm/meta.json +0 -1
  52. package/dist/types/src/search.test.d.ts +0 -2
  53. package/dist/types/src/search.test.d.ts.map +0 -1
  54. package/src/search.test.ts +0 -49
package/package.json CHANGED
@@ -1,25 +1,29 @@
1
1
  {
2
2
  "name": "@dxos/echo-query",
3
- "version": "0.8.4-main.a4bbb77",
3
+ "version": "0.8.4-main.abd8ff62ef",
4
4
  "description": "ECHO queries.",
5
5
  "homepage": "https://dxos.org",
6
6
  "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "MIT",
8
12
  "author": "info@dxos.org",
9
- "sideEffects": true,
13
+ "sideEffects": false,
10
14
  "type": "module",
15
+ "imports": {
16
+ "#query-lite": "./dist/query-lite/index.js"
17
+ },
11
18
  "exports": {
12
19
  ".": {
13
20
  "source": "./src/index.ts",
14
21
  "types": "./dist/types/src/index.d.ts",
15
- "browser": "./dist/lib/browser/index.mjs",
16
- "node": "./dist/lib/node-esm/index.mjs"
17
- }
22
+ "default": "./dist/lib/neutral/index.mjs"
23
+ },
24
+ "./api.d.ts": "./dist/query-lite/index.d.ts"
18
25
  },
19
26
  "types": "dist/types/src/index.d.ts",
20
- "typesVersions": {
21
- "*": {}
22
- },
23
27
  "files": [
24
28
  "dist",
25
29
  "src"
@@ -28,15 +32,22 @@
28
32
  "@lezer/common": "^1.2.2",
29
33
  "@lezer/lezer": "^1.1.2",
30
34
  "@lezer/lr": "^1.4.2",
31
- "@orama/orama": "^3.1.7",
32
- "@dxos/echo": "0.8.4-main.a4bbb77",
33
- "@dxos/node-std": "0.8.4-main.a4bbb77",
34
- "@dxos/util": "0.8.4-main.a4bbb77"
35
+ "@dxos/debug": "0.8.4-main.abd8ff62ef",
36
+ "@dxos/errors": "0.8.4-main.abd8ff62ef",
37
+ "@dxos/echo-protocol": "0.8.4-main.abd8ff62ef",
38
+ "@dxos/echo": "0.8.4-main.abd8ff62ef",
39
+ "@dxos/invariant": "0.8.4-main.abd8ff62ef",
40
+ "@dxos/node-std": "0.8.4-main.abd8ff62ef",
41
+ "@dxos/context": "0.8.4-main.abd8ff62ef",
42
+ "@dxos/util": "0.8.4-main.abd8ff62ef",
43
+ "@dxos/vendor-quickjs": "0.8.4-main.abd8ff62ef"
35
44
  },
36
45
  "devDependencies": {
37
46
  "@lezer/generator": "^1.7.1",
38
- "@dxos/echo-generator": "0.8.4-main.a4bbb77",
39
- "@dxos/random": "0.8.4-main.a4bbb77"
47
+ "tsdown": "^0.16.7",
48
+ "typescript": "^6.0.3",
49
+ "@dxos/echo-generator": "0.8.4-main.abd8ff62ef",
50
+ "@dxos/random": "0.8.4-main.abd8ff62ef"
40
51
  },
41
52
  "publishConfig": {
42
53
  "access": "public"
package/src/env.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ declare module '#query-lite?raw' {
6
+ const code: string;
7
+ export default code;
8
+ }
package/src/index.ts CHANGED
@@ -3,3 +3,4 @@
3
3
  //
4
4
 
5
5
  export * from './parser';
6
+ export * from './sandbox';
@@ -1,26 +1,27 @@
1
1
  // This file was generated by lezer-generator. You probably shouldn't edit it.
2
2
  export const
3
3
  Query = 1,
4
- Filter = 2,
5
- TagFilter = 3,
6
- Tag = 4,
7
- TextFilter = 5,
8
- String = 6,
9
- TypeFilter = 7,
10
- Identifier = 8,
11
- TypeKeyword = 9,
12
- PropertyFilter = 11,
13
- PropertyPath = 12,
14
- Value = 14,
15
- Number = 15,
16
- Boolean = 16,
17
- Null = 17,
18
- ObjectLiteral = 18,
19
- ObjectProperty = 20,
20
- ArrayLiteral = 23,
21
- Not = 26,
22
- And = 27,
23
- Or = 28,
24
- Relation = 29,
25
- ArrowRight = 30,
26
- ArrowLeft = 31
4
+ Assignment = 2,
5
+ Identifier = 3,
6
+ Filter = 7,
7
+ TagFilter = 8,
8
+ Tag = 9,
9
+ TextFilter = 10,
10
+ String = 11,
11
+ TypeFilter = 12,
12
+ TypeKeyword = 13,
13
+ PropertyFilter = 15,
14
+ PropertyPath = 16,
15
+ Value = 18,
16
+ Number = 19,
17
+ Boolean = 20,
18
+ Null = 21,
19
+ ObjectLiteral = 22,
20
+ ObjectProperty = 24,
21
+ ArrayLiteral = 27,
22
+ Not = 30,
23
+ And = 31,
24
+ Or = 32,
25
+ Relation = 33,
26
+ ArrowRight = 34,
27
+ ArrowLeft = 35
@@ -1,18 +1,18 @@
1
1
  // This file was generated by lezer-generator. You probably shouldn't edit it.
2
2
  import {LRParser} from "@lezer/lr"
3
- const spec_Identifier = {__proto__:null,type:18, NOT:82, not:82, "!":82, AND:84, and:84, OR:86, or:86}
3
+ const spec_Identifier = {__proto__:null,type:26, NOT:86, not:86, "!":86, AND:88, and:88, OR:90, or:90}
4
4
  export const parser = LRParser.deserialize({
5
5
  version: 14,
6
- states: "(QOVQPOOOOQO'#C_'#C_OOQO'#Ca'#CaOnQPO'#CcOsQPO'#ChO{QPO'#CnO!TQPO'#CgOOQO'#C^'#C^OOQO'#Cv'#CvOOQO'#DU'#DUOVQPO'#DUQ!YQPOOOVQPO'#DUO!jQPO,58}O!oQPO'#DOO!tQPO,59SO!|QPO'#CpOOQO,59Y,59YO#RQPO,59YO#ZQQO,59RO#oQPO,59pOOQO'#Cw'#CwOOQO'#Cx'#CxOOQO'#Cy'#CyOVQPO,59pOVQPO,59pOVQPO,59pO$jQPO,59pOOQO1G.i1G.iOOQO,59j,59jOOQO-E6|-E6|O#ZQQO,59[O$}QPO'#DPO%SQPO1G.tOOQO1G.t1G.tO%[QQO'#CsOOQO'#Cj'#CjOOQO1G.m1G.mO%cQPO1G/[O%yQPO1G/[O&aQPO1G/[OOQO1G/[1G/[OOQO1G.v1G.vOOQO,59k,59kOOQO-E6}-E6}OOQO7+$`7+$`OOQO,59_,59_O&wQPO,59_O#ZQQO'#DQO'PQPO1G.yOOQO1G.y1G.yOOQO,59l,59lOOQO-E7O-E7OOOQO7+$e7+$e",
7
- stateData: "'X~OwOS~OSPOUQOWSOXROcTOp[OyWO~OY]O~O]^OY[X~OW`OfaO~OYcO~OngOogOzeO{fO~PVOWlO~OWmO~O]^OY[a~OYoO~OepOfrO~OUtO_tO`tOatOcTOhsO~OyWOSxaUxaWxaXxacxanxaoxapxauxazxa{xaqxa~OngOogOqyOzeO{fO~PVOW`O~OepOf}O~Oi!OO~P#ZOnxioxiuxizxi{xiqxi~PVOzeOnxioxiuxi{xiqxi~PVOzeO{fOnxioxiuxiqxi~PVOe!QOi!SO~Oe!QOi!VO~O",
8
- goto: "%TyPPz!XP!XP!XPPP!X!fP!sPPP#PP#dPP#^PP#j#x$O$TPPPP$X$_$ePPP$kgXOYZ[hijkvwxgVOYZ[hijkvwxgUOYZ[hijkvwxQucQzoQ!PsR!T!QfVOYZ[hijkvwxXtcos!QQbTR{piYOYZ[dhijkvwxXhZkwxViZkxTjZkQ_SRn_QqbR|qQ!R!PR!U!RQZO^dYZdkvwxQk[QvhQwiRxj",
9
- nodeNames: "⚠ Query Filter TagFilter Tag TextFilter String TypeFilter Identifier TypeKeyword : PropertyFilter PropertyPath . Value Number Boolean Null ObjectLiteral { ObjectProperty , } ArrayLiteral [ ] Not And Or Relation ArrowRight ArrowLeft ( )",
10
- maxTerm: 43,
6
+ states: "(jOVQPOOOnQPO'#ClOOQO'#Cd'#CdOOQO'#Cf'#CfOyQPO'#ChO!OQPO'#CrO!WQPO'#CkOOQO'#Cc'#CcOOQO'#Cz'#CzOOQO'#DW'#DWOVQPO'#DWQ!]QPOOOVQPO'#DWO!mQPO,58xO!rQPO'#DQO!wQPO,59WO#PQPO,59SO#UQPO'#CtOOQO,59^,59^O#ZQPO,59^O#cQQO,59VO#wQPO,59rOOQO'#C{'#C{OOQO'#C|'#C|OOQO'#C}'#C}OVQPO,59rOVQPO,59rOVQPO,59rO$rQPO,59rOVQPO1G.dOOQO,59l,59lOOQO-E7O-E7OOOQO1G.n1G.nO#cQQO,59`O%VQPO'#DRO%[QPO1G.xOOQO1G.x1G.xO%dQQO'#CwOOQO'#Cn'#CnOOQO1G.q1G.qO%kQPO1G/^O&RQPO1G/^O&iQPO1G/^OOQO1G/^1G/^O'PQPO7+$OOOQO1G.z1G.zOOQO,59m,59mOOQO-E7P-E7POOQO7+$d7+$dOOQO,59c,59cO'dQPO,59cOOQO<<Gj<<GjO#cQQO'#DSO'lQPO1G.}OOQO1G.}1G.}OOQO,59n,59nOOQO-E7Q-E7QOOQO7+$i7+$i",
7
+ stateData: "'t~OyOS~ORPOT[OXQOZRO]SOgTO{WO~OS]Oa^O^`X~O^`O~ORaOjbO~O^dO~OrhOshO|fO}gO~PVOTmO~ORnO~Oa^O^`a~ORpO~O^qO~OirOjtO~OZvOcvOdvOevOgTOluO~O{WORzaTzaXzaZza]zagzarzaszawza|za}zaUza~OU{OrhOshO|fO}gO~PVORaO~OirOj!QO~Om!RO~P#cOrzisziwzi|zi}ziUzi~PVO|fOrzisziwzi}ziUzi~PVO|fO}gOrzisziwziUzi~PVOU!TOrhOshO|fO}gO~PVOi!UOm!WO~Oi!UOm!ZO~O",
8
+ goto: "%h{PP|PPPP|!]P!]P!]PP!]!lP!{PPP#XP#nPP#hPP#t$U$]$cPP$h$n$tPPP$zkXOYZ[ijklmxyz|kVOYZ[ijklmxyz|kUOYZ[ijklmxyz|QwdQ}qQ!SuR!X!UjVOYZ[ijklmxyz|Xvdqu!UQcTR!OrmYOYZ[eijklmxyz|ZiZlyz|XjZlz|VkZl|Q_PRo_QscR!PsQ!V!SR!Y!VQZO`eYZelxyz|Ql[QxiQyjQzkR|m",
9
+ nodeNames: "⚠ Query Assignment Identifier = ( ) Filter TagFilter Tag TextFilter String TypeFilter TypeKeyword : PropertyFilter PropertyPath . Value Number Boolean Null ObjectLiteral { ObjectProperty , } ArrayLiteral [ ] Not And Or Relation ArrowRight ArrowLeft",
10
+ maxTerm: 45,
11
11
  skippedNodes: [0],
12
12
  repeatNodeCount: 3,
13
- tokenData: "2w~RrX^#]pq#]rs$Qst%nwx&fxy'}yz(S|}(X}!O(^!O!P)}!Q![(g![!]*S!^!_*X!c!}*d!}#O+O#P#Q+T#R#S*d#T#Y*d#Y#Z+Y#Z#b*d#b#c.i#c#h*d#h#i1Z#i#o*d#o#p2m#q#r2r#y#z#]$f$g#]#BY#BZ#]$IS$I_#]$I|$JO#]$JT$JU#]$KV$KW#]&FU&FV#]~#bYw~X^#]pq#]#y#z#]$f$g#]#BY#BZ#]$IS$I_#]$I|$JO#]$JT$JU#]$KV$KW#]&FU&FV#]~$TVOr$Qrs$js#O$Q#O#P$o#P;'S$Q;'S;=`%h<%lO$Q~$oOU~~$rRO;'S$Q;'S;=`${;=`O$Q~%OWOr$Qrs$js#O$Q#O#P$o#P;'S$Q;'S;=`%h;=`<%l$Q<%lO$Q~%kP;=`<%l$Q~%qT}!O&Q!Q![&Q!c!}&Q#R#S&Q#T#o&Q~&VTS~}!O&Q!Q![&Q!c!}&Q#R#S&Q#T#o&Q~&iVOw&fwx$jx#O&f#O#P'O#P;'S&f;'S;=`'w<%lO&f~'RRO;'S&f;'S;=`'[;=`O&f~'_WOw&fwx$jx#O&f#O#P'O#P;'S&f;'S;=`'w;=`<%l&f<%lO&f~'zP;=`<%l&f~(SOp~~(XOq~~(^Oe~~(aQ!Q![(g!`!a)x~(lS_~!O!P(x!Q![(g!g!h)^#X#Y)^~({P!Q![)O~)TR_~!Q![)O!g!h)^#X#Y)^~)aR{|)j}!O)j!Q![)p~)mP!Q![)p~)uP_~!Q![)p~)}On~~*SO]~~*XOY~~*[P}!O*_~*dOo~P*iVWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#o*d~+TOh~~+YOi~R+_WWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#U+w#U#o*dR+|XWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#`*d#`#a,i#a#o*dR,nXWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#g*d#g#h-Z#h#o*dR-`XWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#X*d#X#Y-{#Y#o*dR.SV`QWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#o*dR.nXWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#i*d#i#j/Z#j#o*dR/`XWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#`*d#`#a/{#a#o*dR0QXWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#`*d#`#a0m#a#o*dR0tVWPaQ}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#o*dR1`XWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#f*d#f#g1{#g#o*dR2QXWP}!O*d!O!P*d!P!Q*d!Q![*d!c!}*d#R#S*d#T#i*d#i#j-Z#j#o*d~2rOc~~2wOf~",
13
+ tokenData: "3P~RsX^#`pq#`rs$Tst%qwx&ixy(Qyz(V|}([}!O(a!O!P*Q!Q![(j![!]*V!^!_*[!_!`*g!c!}*l!}#O+W#P#Q+]#R#S*l#T#Y*l#Y#Z+b#Z#b*l#b#c.q#c#h*l#h#i1c#i#o*l#o#p2u#q#r2z#y#z#`$f$g#`#BY#BZ#`$IS$I_#`$I|$JO#`$JT$JU#`$KV$KW#`&FU&FV#`~#eYy~X^#`pq#`#y#z#`$f$g#`#BY#BZ#`$IS$I_#`$I|$JO#`$JT$JU#`$KV$KW#`&FU&FV#`~$WVOr$Trs$ms#O$T#O#P$r#P;'S$T;'S;=`%k<%lO$T~$rOZ~~$uRO;'S$T;'S;=`%O;=`O$T~%RWOr$Trs$ms#O$T#O#P$r#P;'S$T;'S;=`%k;=`<%l$T<%lO$T~%nP;=`<%l$T~%tT}!O&T!Q![&T!c!}&T#R#S&T#T#o&T~&YTX~}!O&T!Q![&T!c!}&T#R#S&T#T#o&T~&lVOw&iwx$mx#O&i#O#P'R#P;'S&i;'S;=`'z<%lO&i~'URO;'S&i;'S;=`'_;=`O&i~'bWOw&iwx$mx#O&i#O#P'R#P;'S&i;'S;=`'z;=`<%l&i<%lO&i~'}P;=`<%l&i~(VOT~~([OU~~(aOi~~(dQ!Q![(j!`!a){~(oSc~!O!P({!Q![(j!g!h)a#X#Y)a~)OP!Q![)R~)WRc~!Q![)R!g!h)a#X#Y)a~)dR{|)m}!O)m!Q![)s~)pP!Q![)s~)xPc~!Q![)s~*QOr~~*VOa~~*[O^~~*_P}!O*b~*gOs~~*lOS~P*qVRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#o*l~+]Ol~~+bOm~R+gWRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#U,P#U#o*lR,UXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#`*l#`#a,q#a#o*lR,vXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#g*l#g#h-c#h#o*lR-hXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#X*l#X#Y.T#Y#o*lR.[VdQRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#o*lR.vXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#i*l#i#j/c#j#o*lR/hXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#`*l#`#a0T#a#o*lR0YXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#`*l#`#a0u#a#o*lR0|VRPeQ}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#o*lR1hXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#f*l#f#g2T#g#o*lR2YXRP}!O*l!O!P*l!P!Q*l!Q![*l!c!}*l#R#S*l#T#i*l#i#j-c#j#o*l~2zOg~~3POj~",
14
14
  tokenizers: [0, 1],
15
15
  topRules: {"Query":[0,1]},
16
- specialized: [{term: 8, get: (value: keyof typeof spec_Identifier) => spec_Identifier[value] || -1}],
16
+ specialized: [{term: 3, get: (value: keyof typeof spec_Identifier) => spec_Identifier[value] || -1}],
17
17
  tokenPrec: 0
18
18
  })