@dxos/echo-query 0.8.4-main.84f28bd → 0.8.4-main.937b3ca

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 (60) hide show
  1. package/README.md +1 -1
  2. package/dist/lib/browser/index.mjs +717 -0
  3. package/dist/lib/browser/index.mjs.map +4 -4
  4. package/dist/lib/browser/meta.json +1 -1
  5. package/dist/lib/node-esm/index.mjs +717 -0
  6. package/dist/lib/node-esm/index.mjs.map +4 -4
  7. package/dist/lib/node-esm/meta.json +1 -1
  8. package/dist/query-lite/index.d.ts +8765 -0
  9. package/dist/query-lite/index.d.ts.map +1 -0
  10. package/dist/query-lite/index.js +367 -0
  11. package/dist/query-lite/index.js.map +1 -0
  12. package/dist/types/src/index.d.ts +2 -0
  13. package/dist/types/src/index.d.ts.map +1 -1
  14. package/dist/types/src/parser/gen/index.d.ts +8 -0
  15. package/dist/types/src/parser/gen/index.d.ts.map +1 -0
  16. package/dist/types/src/parser/gen/query.d.ts +3 -0
  17. package/dist/types/src/parser/gen/query.d.ts.map +1 -0
  18. package/dist/types/src/parser/gen/query.terms.d.ts +2 -0
  19. package/dist/types/src/parser/gen/query.terms.d.ts.map +1 -0
  20. package/dist/types/src/parser/index.d.ts +3 -0
  21. package/dist/types/src/parser/index.d.ts.map +1 -0
  22. package/dist/types/src/parser/query-builder.d.ts +82 -0
  23. package/dist/types/src/parser/query-builder.d.ts.map +1 -0
  24. package/dist/types/src/parser/query.test.d.ts +2 -0
  25. package/dist/types/src/parser/query.test.d.ts.map +1 -0
  26. package/dist/types/src/query-lite/index.d.ts +2 -0
  27. package/dist/types/src/query-lite/index.d.ts.map +1 -0
  28. package/dist/types/src/query-lite/query-lite.d.ts +8 -0
  29. package/dist/types/src/query-lite/query-lite.d.ts.map +1 -0
  30. package/dist/types/src/sandbox/index.d.ts +2 -0
  31. package/dist/types/src/sandbox/index.d.ts.map +1 -0
  32. package/dist/types/src/sandbox/query-sandbox.d.ts +21 -0
  33. package/dist/types/src/sandbox/query-sandbox.d.ts.map +1 -0
  34. package/dist/types/src/sandbox/query-sandbox.test.d.ts +2 -0
  35. package/dist/types/src/sandbox/query-sandbox.test.d.ts.map +1 -0
  36. package/dist/types/src/sandbox/quickjs.d.ts +8 -0
  37. package/dist/types/src/sandbox/quickjs.d.ts.map +1 -0
  38. package/dist/types/src/sandbox/quickjs.test.d.ts +2 -0
  39. package/dist/types/src/sandbox/quickjs.test.d.ts.map +1 -0
  40. package/dist/types/tsconfig.tsbuildinfo +1 -1
  41. package/package.json +29 -8
  42. package/src/env.d.ts +8 -0
  43. package/src/index.ts +3 -0
  44. package/src/parser/gen/index.ts +13 -0
  45. package/src/parser/gen/query.terms.ts +27 -0
  46. package/src/parser/gen/query.ts +18 -0
  47. package/src/parser/index.ts +6 -0
  48. package/src/parser/query-builder.ts +539 -0
  49. package/src/parser/query.grammar +130 -0
  50. package/src/parser/query.test.ts +416 -0
  51. package/src/query-lite/index.ts +5 -0
  52. package/src/query-lite/query-lite.ts +489 -0
  53. package/src/sandbox/index.ts +5 -0
  54. package/src/sandbox/query-sandbox.test.ts +53 -0
  55. package/src/sandbox/query-sandbox.ts +72 -0
  56. package/src/sandbox/quickjs.test.ts +67 -0
  57. package/src/sandbox/quickjs.ts +33 -0
  58. package/dist/types/src/search.test.d.ts +0 -2
  59. package/dist/types/src/search.test.d.ts.map +0 -1
  60. package/src/search.test.ts +0 -49
@@ -0,0 +1,33 @@
1
+ //
2
+ // Copyright 2025 DXOS.org
3
+ //
4
+
5
+ import { type QuickJSContext, type QuickJSHandle, type SuccessOrFail } from '@dxos/vendor-quickjs';
6
+
7
+ /**
8
+ * Unwraps a result and throws the underlying error.
9
+ *
10
+ * Replacement for `QuickJScontext.unwrapResult` because that seems to cause an OOM.
11
+ */
12
+ // TODO(burdon): Factor out.
13
+ export const unwrapResult = <T>(context: QuickJSContext, result: SuccessOrFail<T, QuickJSHandle>): T => {
14
+ if (result.error) {
15
+ const contextError = context.dump(result.error);
16
+ result.error.dispose();
17
+ if (
18
+ typeof contextError === 'object' &&
19
+ typeof contextError.name === 'string' &&
20
+ typeof contextError.message === 'string'
21
+ ) {
22
+ const error = new Error(contextError.message);
23
+ Object.defineProperty(error, 'name', { value: contextError.name });
24
+ const originalStack = error.stack;
25
+ error.stack = `${contextError.name}: ${contextError.message}\n${contextError.stack}${originalStack?.split('\n').slice(1).join('\n') ?? ''}`;
26
+ throw error;
27
+ } else {
28
+ throw new Error(String(contextError));
29
+ }
30
+ }
31
+
32
+ return result.value;
33
+ };
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=search.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"search.test.d.ts","sourceRoot":"","sources":["../../../src/search.test.ts"],"names":[],"mappings":""}
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { create, insert, search } from '@orama/orama';
6
- import { describe, expect, test } from 'vitest';
7
-
8
- import { createTestObjectGenerator } from '@dxos/echo-generator';
9
- import { faker } from '@dxos/random';
10
- import { range } from '@dxos/util';
11
-
12
- faker.seed(1);
13
-
14
- // TODO(burdon): Factor out functions.
15
- // TODO(burdon): Chat/search/suggest.
16
- // TODO(burdon): Integrate with schema.
17
- // TODO(burdon): Factor out agent/plugin-search.
18
- // TODO(burdon): Proto defs.
19
- // TODO(burdon): Client/server cascading calls?
20
- // TODO(burdon): SDK/API.
21
-
22
- describe('Orama', () => {
23
- test('basic', async () => {
24
- // TODO(burdon): Create Client/spaces.
25
- const generator = createTestObjectGenerator();
26
-
27
- // https://www.npmjs.com/package/@orama/orama
28
- const db = await create({
29
- schema: {
30
- // TODO(burdon): Index TypedObject using schema; separate db for each schema?
31
- title: 'string',
32
- embedding: 'vector[1536]', // Vector size must be expressed during schema initialization.
33
- meta: {
34
- rating: 'number',
35
- },
36
- },
37
- });
38
-
39
- {
40
- const objects = await Promise.all(range(10, () => generator.createObject()));
41
- await Promise.all(objects.map((object) => insert<any>(db, object)));
42
- }
43
-
44
- {
45
- const result = await search(db, { term: 'shoes' });
46
- expect(result.hits).to.have.length;
47
- }
48
- });
49
- });