@dxos/datalog 0.0.1 → 0.13.0

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 (61) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +58 -1
  3. package/dist/lib/Ast.mjs +72 -0
  4. package/dist/lib/Ast.mjs.map +1 -0
  5. package/dist/lib/Builtin.mjs +37 -0
  6. package/dist/lib/Builtin.mjs.map +1 -0
  7. package/dist/lib/Checker.mjs +3 -0
  8. package/dist/lib/Engine.mjs +3 -0
  9. package/dist/lib/Parser.mjs +2 -0
  10. package/dist/lib/chunk-Checker.mjs +414 -0
  11. package/dist/lib/chunk-Checker.mjs.map +1 -0
  12. package/dist/lib/chunk-Engine.mjs +488 -0
  13. package/dist/lib/chunk-Engine.mjs.map +1 -0
  14. package/dist/lib/chunk-Parser.mjs +366 -0
  15. package/dist/lib/chunk-Parser.mjs.map +1 -0
  16. package/dist/lib/chunk-rolldown-runtime.mjs +13 -0
  17. package/dist/lib/index.mjs +6 -0
  18. package/dist/types/src/Ast.d.ts +81 -0
  19. package/dist/types/src/Ast.d.ts.map +1 -0
  20. package/dist/types/src/Builtin.d.ts +35 -0
  21. package/dist/types/src/Builtin.d.ts.map +1 -0
  22. package/dist/types/src/Checker.d.ts +61 -0
  23. package/dist/types/src/Checker.d.ts.map +1 -0
  24. package/dist/types/src/Checker.test.d.ts +2 -0
  25. package/dist/types/src/Checker.test.d.ts.map +1 -0
  26. package/dist/types/src/Engine.d.ts +55 -0
  27. package/dist/types/src/Engine.d.ts.map +1 -0
  28. package/dist/types/src/Engine.test.d.ts +2 -0
  29. package/dist/types/src/Engine.test.d.ts.map +1 -0
  30. package/dist/types/src/Engine.workerd.test.d.ts +2 -0
  31. package/dist/types/src/Engine.workerd.test.d.ts.map +1 -0
  32. package/dist/types/src/Parser.d.ts +43 -0
  33. package/dist/types/src/Parser.d.ts.map +1 -0
  34. package/dist/types/src/Parser.test.d.ts +2 -0
  35. package/dist/types/src/Parser.test.d.ts.map +1 -0
  36. package/dist/types/src/index.d.ts +6 -0
  37. package/dist/types/src/index.d.ts.map +1 -0
  38. package/dist/types/src/internal/lexer.d.ts +46 -0
  39. package/dist/types/src/internal/lexer.d.ts.map +1 -0
  40. package/dist/types/src/internal/plan.d.ts +96 -0
  41. package/dist/types/src/internal/plan.d.ts.map +1 -0
  42. package/dist/types/src/internal/relation.d.ts +20 -0
  43. package/dist/types/src/internal/relation.d.ts.map +1 -0
  44. package/dist/types/src/internal/stratify.d.ts +28 -0
  45. package/dist/types/src/internal/stratify.d.ts.map +1 -0
  46. package/dist/types/tsconfig.tsbuildinfo +1 -0
  47. package/package.json +57 -5
  48. package/src/Ast.ts +136 -0
  49. package/src/Builtin.ts +73 -0
  50. package/src/Checker.test.ts +99 -0
  51. package/src/Checker.ts +156 -0
  52. package/src/Engine.test.ts +239 -0
  53. package/src/Engine.ts +614 -0
  54. package/src/Engine.workerd.test.ts +33 -0
  55. package/src/Parser.test.ts +84 -0
  56. package/src/Parser.ts +180 -0
  57. package/src/index.ts +9 -0
  58. package/src/internal/lexer.ts +154 -0
  59. package/src/internal/plan.ts +346 -0
  60. package/src/internal/relation.ts +95 -0
  61. package/src/internal/stratify.ts +114 -0
@@ -0,0 +1,55 @@
1
+ import * as Ast from './Ast.ts';
2
+ import type * as Builtin from './Builtin.ts';
3
+ /** A tuple of a named relation. */
4
+ export type Entry = {
5
+ readonly relation: string;
6
+ readonly tuple: Ast.Tuple;
7
+ };
8
+ /** Tuples that entered or left each relation during one update. */
9
+ export type Changes = {
10
+ readonly added: ReadonlyMap<string, ReadonlyArray<Ast.Tuple>>;
11
+ readonly removed: ReadonlyMap<string, ReadonlyArray<Ast.Tuple>>;
12
+ };
13
+ /** One way a tuple was derived: the rule and the relation tuples its positive literals matched. */
14
+ export type Derivation = {
15
+ readonly rule: number;
16
+ readonly premises: ReadonlyArray<Entry>;
17
+ };
18
+ export type Options = {
19
+ readonly program: Ast.Program;
20
+ readonly builtins?: Builtin.Registry;
21
+ /** Base relations and their arities; enables the `undefined` check. */
22
+ readonly relations?: Readonly<Record<string, number>>;
23
+ /** Record one derivation per derived tuple (default true). */
24
+ readonly provenance?: boolean;
25
+ };
26
+ export type Update = {
27
+ readonly insert?: Iterable<Entry>;
28
+ readonly retract?: Iterable<Entry>;
29
+ /** Re-evaluate rules that use volatile built-ins (a clock tick). */
30
+ readonly refresh?: boolean;
31
+ };
32
+ /**
33
+ * Stratified semi-naive evaluator that keeps its model between updates: insertions propagate
34
+ * incrementally, and a stratum is recomputed (and diffed) only when something it reads
35
+ * non-monotonically changed.
36
+ */
37
+ export declare class Engine {
38
+ #private;
39
+ /** @throws Checker.CheckError if the program has diagnostics. */
40
+ constructor(options: Options);
41
+ /** Applies retractions, then insertions, then propagates; returns what changed. */
42
+ update(update: Update): Changes;
43
+ /** Inserts tuples into one relation. */
44
+ insert(relation: string, ...tuples: ReadonlyArray<Ast.Tuple>): Changes;
45
+ /** Tuples of `relation`, optionally restricted to those matching the defined positions of `pattern`. */
46
+ query(relation: string, pattern?: ReadonlyArray<Ast.Value | undefined>): Ast.Tuple[];
47
+ has(relation: string, tuple: Ast.Tuple): boolean;
48
+ /** The recorded derivation of a tuple; undefined for base tuples and absent ones. */
49
+ derivation(relation: string, tuple: Ast.Tuple): Derivation | undefined;
50
+ /** The base tuples one derivation of `tuple` rests on (the tuple itself if it is a base tuple). */
51
+ provenance(relation: string, tuple: Ast.Tuple): Entry[];
52
+ }
53
+ /** Creates an engine and evaluates the program's facts. */
54
+ export declare const make: (options: Options) => Engine;
55
+ //# sourceMappingURL=Engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Engine.d.ts","sourceRoot":"","sources":["../../../src/Engine.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAC;AAM7C,mCAAmC;AACnC,MAAM,MAAM,KAAK,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAA;CAAE,CAAC;AAE7E,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;CACjE,CAAC;AAEF,mGAAmG;AACnG,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;CAAE,CAAC;AAE5F,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;IACrC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACtD,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAuBF;;;;GAIG;AACH,qBAAa,MAAM;;IAUjB,iEAAiE;IACjE,YAAY,OAAO,EAAE,OAAO,EA0D3B;IAED,mFAAmF;IACnF,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAkC9B;IAED,wCAAwC;IACxC,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,CAErE;IAED,wGAAwG;IACxG,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,aAAa,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,CAAM,GAAG,GAAG,CAAC,KAAK,EAAE,CAUvF;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,OAAO,CAE/C;IAED,qFAAqF;IACrF,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,UAAU,GAAG,SAAS,CAErE;IAED,mGAAmG;IACnG,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,CAoBtD;CA4TF;AAED,2DAA2D;AAC3D,eAAO,MAAM,IAAI,YAAa,OAAO,KAAG,MAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Engine.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Engine.test.d.ts","sourceRoot":"","sources":["../../../src/Engine.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Engine.workerd.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Engine.workerd.test.d.ts","sourceRoot":"","sources":["../../../src/Engine.workerd.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,43 @@
1
+ import { BaseError } from '@dxos/errors';
2
+ import type * as Ast from './Ast.ts';
3
+ declare const ParseError_base: {
4
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
5
+ cause?: unknown;
6
+ stack?: string;
7
+ name: "ParseError";
8
+ context: Record<string, unknown>;
9
+ readonly message: string;
10
+ readonly _tag: "ParseError";
11
+ };
12
+ isError(error: unknown): error is Error;
13
+ name: "ParseError";
14
+ is(error: unknown): error is BaseError;
15
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
16
+ ifTypeDiffers?: boolean;
17
+ }): (error: unknown) => {
18
+ cause?: unknown;
19
+ stack?: string;
20
+ name: "ParseError";
21
+ context: Record<string, unknown>;
22
+ readonly message: string;
23
+ readonly _tag: "ParseError";
24
+ };
25
+ extend<Name extends string = string>(name: Name, message?: string): any;
26
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
27
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
28
+ stackTraceLimit: number;
29
+ };
30
+ /** A syntax error with the 1-based position of the offending token. */
31
+ export declare class ParseError extends ParseError_base {
32
+ readonly reason: string;
33
+ readonly position: Ast.Position;
34
+ constructor(reason: string, position: Ast.Position);
35
+ }
36
+ /**
37
+ * Parses dialect source (Soufflé-like: `head :- body.`, `not`/`!` negation, comparisons and
38
+ * `N = count : { … }` aggregates) into a program.
39
+ * @throws ParseError on the first syntax error.
40
+ */
41
+ export declare const parse: (source: string) => Ast.Program;
42
+ export {};
43
+ //# sourceMappingURL=Parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.d.ts","sourceRoot":"","sources":["../../../src/Parser.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGrC,uEAAuE;AACvE,qBAAa,UAAW,SAAQ,eAA8C;IAE1E,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ;IAFjC,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAGhC;CACF;AAUD;;;;GAIG;AACH,eAAO,MAAM,KAAK,WAAY,MAAM,KAAG,GAAG,CAAC,OAiJ1C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Parser.test.d.ts","sourceRoot":"","sources":["../../../src/Parser.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ export * as Ast from './Ast.ts';
2
+ export * as Builtin from './Builtin.ts';
3
+ export * as Checker from './Checker.ts';
4
+ export * as Engine from './Engine.ts';
5
+ export * as Parser from './Parser.ts';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC"}
@@ -0,0 +1,46 @@
1
+ import { BaseError } from '@dxos/errors';
2
+ import type * as Ast from '../Ast.ts';
3
+ export type TokenType = 'identifier' | 'variable' | 'string' | 'number' | 'operator' | ':-' | ':' | '(' | ')' | '{' | '}' | ',' | '.' | '!';
4
+ export type Token = {
5
+ readonly type: TokenType;
6
+ readonly text: string;
7
+ readonly value?: Ast.Value;
8
+ readonly position: Ast.Position;
9
+ };
10
+ declare const LexError_base: {
11
+ new (options?: import("@dxos/errors").BaseErrorOptions): {
12
+ cause?: unknown;
13
+ stack?: string;
14
+ name: "LexError";
15
+ context: Record<string, unknown>;
16
+ readonly message: string;
17
+ readonly _tag: "LexError";
18
+ };
19
+ isError(error: unknown): error is Error;
20
+ name: "LexError";
21
+ is(error: unknown): error is BaseError;
22
+ wrap(options?: Omit<import("@dxos/errors").BaseErrorOptions, 'cause'> & {
23
+ ifTypeDiffers?: boolean;
24
+ }): (error: unknown) => {
25
+ cause?: unknown;
26
+ stack?: string;
27
+ name: "LexError";
28
+ context: Record<string, unknown>;
29
+ readonly message: string;
30
+ readonly _tag: "LexError";
31
+ };
32
+ extend<Name extends string = string>(name: Name, message?: string): any;
33
+ captureStackTrace(targetObject: object, constructorOpt?: Function): void;
34
+ prepareStackTrace?: ((err: Error, stackTraces: NodeJS.CallSite[]) => any) | undefined;
35
+ stackTraceLimit: number;
36
+ };
37
+ /** A malformed token with the 1-based position where it starts. */
38
+ export declare class LexError extends LexError_base {
39
+ readonly reason: string;
40
+ readonly position: Ast.Position;
41
+ constructor(reason: string, position: Ast.Position);
42
+ }
43
+ /** Splits dialect source into tokens with 1-based positions. */
44
+ export declare const tokenize: (source: string) => Token[];
45
+ export {};
46
+ //# sourceMappingURL=lexer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lexer.d.ts","sourceRoot":"","sources":["../../../../src/internal/lexer.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,MAAM,MAAM,SAAS,GACjB,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,UAAU,GACV,IAAI,GACJ,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,GACH,GAAG,CAAC;AAER,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC;CACjC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,mEAAmE;AACnE,qBAAa,QAAS,SAAQ,aAA6C;IAEvE,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ;IAFjC,YACW,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAGhC;CACF;AAeD,gEAAgE;AAChE,eAAO,MAAM,QAAQ,WAAY,MAAM,KAAG,KAAK,EAkG9C,CAAC"}
@@ -0,0 +1,96 @@
1
+ import type * as Ast from '../Ast.ts';
2
+ import * as Builtin from '../Builtin.ts';
3
+ /** A term resolved against a rule's variable slots; `wild` is an anonymous variable. */
4
+ export type Ref = {
5
+ readonly kind: 'const';
6
+ readonly value: Ast.Value;
7
+ } | {
8
+ readonly kind: 'slot';
9
+ readonly slot: number;
10
+ } | {
11
+ readonly kind: 'wild';
12
+ };
13
+ export type ScanStep = {
14
+ readonly kind: 'scan';
15
+ readonly literal: number;
16
+ readonly relation: string;
17
+ /** Columns whose value is known before the scan, with the value source. */
18
+ readonly bound: ReadonlyArray<{
19
+ readonly column: number;
20
+ readonly ref: Ref;
21
+ }>;
22
+ /** Columns that bind a slot, or check it when the variable repeats within the atom. */
23
+ readonly binds: ReadonlyArray<{
24
+ readonly column: number;
25
+ readonly slot: number;
26
+ }>;
27
+ };
28
+ export type NegationStep = {
29
+ readonly kind: 'negation';
30
+ readonly relation: string;
31
+ readonly bound: ReadonlyArray<{
32
+ readonly column: number;
33
+ readonly ref: Ref;
34
+ }>;
35
+ };
36
+ export type CompareStep = {
37
+ readonly kind: 'compare';
38
+ readonly operator: Ast.ComparisonOperator;
39
+ readonly left: Ref;
40
+ readonly right: Ref;
41
+ /** Set for `X = term` with `X` unbound: assigns instead of comparing. */
42
+ readonly assign?: {
43
+ readonly slot: number;
44
+ readonly from: Ref;
45
+ };
46
+ };
47
+ export type BuiltinStep = {
48
+ readonly kind: 'builtin';
49
+ readonly builtin: Builtin.Builtin;
50
+ readonly args: ReadonlyArray<Ref>;
51
+ /** Arguments unbound at call time, passed as `undefined` and bound from the results. */
52
+ readonly free: ReadonlyArray<boolean>;
53
+ readonly negated: boolean;
54
+ };
55
+ export type AggregateStep = {
56
+ readonly kind: 'aggregate';
57
+ readonly function: Ast.AggregateFunction;
58
+ readonly steps: ReadonlyArray<Step>;
59
+ /** Slots local to the aggregate body; distinct assignments of these are aggregated. */
60
+ readonly local: ReadonlyArray<number>;
61
+ readonly target?: Ref;
62
+ readonly result: Ref;
63
+ readonly assignResult: boolean;
64
+ };
65
+ export type Step = ScanStep | NegationStep | CompareStep | BuiltinStep | AggregateStep;
66
+ export type Unresolved = {
67
+ readonly literal: number;
68
+ readonly reason: string;
69
+ };
70
+ export type Plan = {
71
+ readonly steps: ReadonlyArray<Step>;
72
+ readonly unresolved: ReadonlyArray<Unresolved>;
73
+ readonly bound: ReadonlySet<string>;
74
+ };
75
+ /** Assigns a slot per named variable of a rule. */
76
+ export declare class Slots {
77
+ #private;
78
+ get size(): number;
79
+ slot(name: string): number;
80
+ ref(term: Ast.Term): Ref;
81
+ }
82
+ /**
83
+ * Orders a rule body so every literal runs once its inputs are bound: filters as early as
84
+ * possible, then the relation scan with the most bound columns, then generating built-ins.
85
+ * @param outer Variables used outside the body (the head, or the enclosing rule of an aggregate).
86
+ * @param first Literal to scan first (the semi-naive delta).
87
+ */
88
+ export declare const planBody: (options: {
89
+ body: ReadonlyArray<Ast.Literal>;
90
+ builtins: Builtin.Registry;
91
+ slots: Slots;
92
+ outer: ReadonlySet<string>;
93
+ bound?: ReadonlySet<string>;
94
+ first?: number;
95
+ }) => Plan;
96
+ //# sourceMappingURL=plan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../../../src/internal/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import type * as Ast from '../Ast.ts';
2
+ /** Collision-free key: the type tag keeps `1` and `"1"` apart. */
3
+ export declare const valueKey: (value: Ast.Value) => string;
4
+ export declare const tupleKey: (tuple: Ast.Tuple) => string;
5
+ /** Total order over values: numbers before strings, numbers numerically, strings by code unit. */
6
+ export declare const compareValues: (left: Ast.Value, right: Ast.Value) => number;
7
+ /** A set of tuples with lazily built hash indexes over bound column sets. */
8
+ export declare class Relation {
9
+ #private;
10
+ get size(): number;
11
+ values(): IterableIterator<Ast.Tuple>;
12
+ entries(): IterableIterator<[string, Ast.Tuple]>;
13
+ has(key: string): boolean;
14
+ /** Adds a tuple; returns false if it was already present. */
15
+ add(tuple: Ast.Tuple, key?: string): boolean;
16
+ delete(key: string): boolean;
17
+ /** Tuples whose `columns` equal `values`; scans everything when no column is bound. */
18
+ lookup(columns: ReadonlyArray<number>, values: ReadonlyArray<Ast.Value>): Iterable<Ast.Tuple>;
19
+ }
20
+ //# sourceMappingURL=relation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation.d.ts","sourceRoot":"","sources":["../../../../src/internal/relation.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AAEtC,kEAAkE;AAClE,eAAO,MAAM,QAAQ,UAAW,GAAG,CAAC,KAAK,KAAG,MAAiE,CAAC;AAE9G,eAAO,MAAM,QAAQ,UAAW,GAAG,CAAC,KAAK,KAAG,MAA4C,CAAC;AAEzF,kGAAkG;AAClG,eAAO,MAAM,aAAa,SAAU,GAAG,CAAC,KAAK,SAAS,GAAG,CAAC,KAAK,KAAG,MAWjE,CAAC;AAEF,6EAA6E;AAC7E,qBAAa,QAAQ;;IAInB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,MAAM,IAAI,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAEpC;IAED,OAAO,IAAI,gBAAgB,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAE/C;IAED,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAExB;IAED,6DAA6D;IAC7D,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,GAAG,SAAkB,GAAG,OAAO,CASpD;IAED,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAM3B;IAED,uFAAuF;IACvF,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAc5F;CACF"}
@@ -0,0 +1,28 @@
1
+ import type * as Ast from '../Ast.ts';
2
+ import type * as Builtin from '../Builtin.ts';
3
+ export type Dependency = {
4
+ readonly predicate: string;
5
+ readonly negative: boolean;
6
+ };
7
+ export type Stratum = {
8
+ /** Predicates defined by the stratum's rules (one strongly connected component). */
9
+ readonly predicates: ReadonlySet<string>;
10
+ /** Indexes into the program's rules. */
11
+ readonly rules: ReadonlyArray<number>;
12
+ readonly recursive: boolean;
13
+ };
14
+ export type Stratification = {
15
+ readonly ok: true;
16
+ readonly strata: ReadonlyArray<Stratum>;
17
+ } | {
18
+ readonly ok: false;
19
+ readonly cycles: ReadonlyArray<ReadonlyArray<string>>;
20
+ };
21
+ /** Relations a literal reads; negation and aggregation read them non-monotonically. */
22
+ export declare const dependencies: (literal: Ast.Literal, builtins: Builtin.Registry) => Dependency[];
23
+ /**
24
+ * Splits rules into strata: one per strongly connected component of the predicate graph, in
25
+ * dependency order; fails when negation or aggregation occurs inside a component.
26
+ */
27
+ export declare const stratify: (rules: ReadonlyArray<Ast.Rule>, builtins: Builtin.Registry) => Stratification;
28
+ //# sourceMappingURL=stratify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stratify.d.ts","sourceRoot":"","sources":["../../../../src/internal/stratify.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,GAAG,MAAM,WAAW,CAAC;AACtC,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAC;AAE9C,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpF,MAAM,MAAM,OAAO,GAAG;IACpB,oFAAoF;IACpF,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,wCAAwC;IACxC,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,cAAc,GACtB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,GAC9D;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;CAAE,CAAC;AAElF,uFAAuF;AACvF,eAAO,MAAM,YAAY,YAAa,GAAG,CAAC,OAAO,YAAY,OAAO,CAAC,QAAQ,KAAG,UAAU,EAazF,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAW,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,QAAQ,KAAG,cAwErF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":"7.0.2+effect-tsgo.0.36.5","root":[[88,89],[143,154]],"packageJsons":["../../../../../node_modules/.pnpm/@opentelemetry+api@1.9.1/node_modules/@opentelemetry/api/package.json","../../../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/package.json","../../../../../node_modules/.pnpm/@types+chai@5.2.2/node_modules/@types/chai/package.json","../../../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/package.json","../../../../../node_modules/.pnpm/@types+node@22.10.2/node_modules/@types/node/package.json","../../../../../node_modules/.pnpm/@vitest+browser-playwright@4.1.10_playwright@1.63.0_vite@8.2.1_@types+node@22.10.2_esbu_17b46e5799c04999268d95170b4ef023/node_modules/@vitest/browser-playwright/package.json","../../../../../node_modules/.pnpm/@vitest+coverage-v8@4.1.10_@vitest+browser@4.1.10_vitest@4.1.10/node_modules/@vitest/coverage-v8/package.json","../../../../../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/package.json","../../../../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_/node_modules/@vitest/mocker/package.json","../../../../../node_modules/.pnpm/@vitest+pretty-format@4.1.10/node_modules/@vitest/pretty-format/package.json","../../../../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/package.json","../../../../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/package.json","../../../../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/package.json","../../../../../node_modules/.pnpm/@vitest+ui@4.1.10_vitest@4.1.10/node_modules/@vitest/ui/package.json","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/package.json","../../../../../node_modules/.pnpm/chai@6.2.2/node_modules/chai/package.json","../../../../../node_modules/.pnpm/esbuild@0.28.2/node_modules/esbuild/package.json","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/package.json","../../../../../node_modules/.pnpm/happy-dom@20.7.0/node_modules/happy-dom/package.json","../../../../../node_modules/.pnpm/jiti@2.7.0/node_modules/jiti/package.json","../../../../../node_modules/.pnpm/jsdom@29.1.1_@noble+hashes@1.8.0_canvas@3.2.0/node_modules/jsdom/package.json","../../../../../node_modules/.pnpm/terser@5.46.0/node_modules/terser/package.json","../../../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/package.json","../../../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/package.json","../../../../../node_modules/.pnpm/tsx@4.21.0/node_modules/tsx/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/package.json","../../../../../node_modules/.pnpm/yaml@2.9.0/node_modules/yaml/package.json","../../package.json","../../../errors/package.json"],"missingPackageJsons":["../../../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/package.json","../../../../../node_modules/.pnpm/@types+chai@5.2.2/node_modules/deep-eql/package.json","../../../../../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/package.json","../../../../../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/utils/diff/package.json","../../../../../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/utils/display/package.json","../../../../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_/node_modules/@vitest/mocker/dist/package.json","../../../../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_/node_modules/msw/package.json","../../../../../node_modules/.pnpm/@vitest+pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/package.json","../../../../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/package.json","../../../../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/utils/diff/package.json","../../../../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/package.json","../../../../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/dist/package.json","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/package.json","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/package.json","../../../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/package.json","../../../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/@vitejs/devtools/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/less/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/sass-embedded/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/sass/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/stylus/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/sugarss/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/chunks/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/package.json","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/@edge-runtime/vm/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/@vitest/browser-preview/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/@vitest/browser-webdriverio/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/@vitest/coverage-istanbul/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/@vitest/runner/utils/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/@vitest/utils/diff/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vite/module-runner/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/expect/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/mocker/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/pretty-format/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/runner/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/runner/utils/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/snapshot/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/spy/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/utils/diff/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/@vitest/utils/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/expect-type/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/tinybench/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/vite/module-runner/package.json","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/node_modules/vite/package.json"],"fileNames":["lib.es5.d.ts","lib.es2015.d.ts","lib.es2016.d.ts","lib.es2017.d.ts","lib.es2018.d.ts","lib.es2019.d.ts","lib.es2020.d.ts","lib.es2021.d.ts","lib.es2022.d.ts","lib.es2023.d.ts","lib.es2024.d.ts","lib.es2025.d.ts","lib.esnext.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2016.array.include.d.ts","lib.es2016.intl.d.ts","lib.es2017.arraybuffer.d.ts","lib.es2017.date.d.ts","lib.es2017.object.d.ts","lib.es2017.sharedmemory.d.ts","lib.es2017.string.d.ts","lib.es2017.intl.d.ts","lib.es2017.typedarrays.d.ts","lib.es2018.asyncgenerator.d.ts","lib.es2018.asynciterable.d.ts","lib.es2018.intl.d.ts","lib.es2018.promise.d.ts","lib.es2018.regexp.d.ts","lib.es2019.array.d.ts","lib.es2019.object.d.ts","lib.es2019.string.d.ts","lib.es2019.symbol.d.ts","lib.es2019.intl.d.ts","lib.es2020.bigint.d.ts","lib.es2020.date.d.ts","lib.es2020.promise.d.ts","lib.es2020.sharedmemory.d.ts","lib.es2020.string.d.ts","lib.es2020.symbol.wellknown.d.ts","lib.es2020.intl.d.ts","lib.es2020.number.d.ts","lib.es2021.promise.d.ts","lib.es2021.string.d.ts","lib.es2021.weakref.d.ts","lib.es2021.intl.d.ts","lib.es2022.array.d.ts","lib.es2022.error.d.ts","lib.es2022.intl.d.ts","lib.es2022.object.d.ts","lib.es2022.string.d.ts","lib.es2022.regexp.d.ts","lib.es2023.array.d.ts","lib.es2023.collection.d.ts","lib.es2023.intl.d.ts","lib.es2024.arraybuffer.d.ts","lib.es2024.collection.d.ts","lib.es2024.object.d.ts","lib.es2024.promise.d.ts","lib.es2024.regexp.d.ts","lib.es2024.sharedmemory.d.ts","lib.es2024.string.d.ts","lib.es2025.collection.d.ts","lib.es2025.float16.d.ts","lib.es2025.intl.d.ts","lib.es2025.iterator.d.ts","lib.es2025.promise.d.ts","lib.es2025.regexp.d.ts","lib.esnext.array.d.ts","lib.esnext.collection.d.ts","lib.esnext.date.d.ts","lib.esnext.decorators.d.ts","lib.esnext.disposable.d.ts","lib.esnext.error.d.ts","lib.esnext.intl.d.ts","lib.esnext.sharedmemory.d.ts","lib.esnext.temporal.d.ts","lib.esnext.typedarrays.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","../../src/Ast.ts","../../src/Builtin.ts","../../../../../node_modules/.pnpm/@vitest+pretty-format@4.1.10/node_modules/@vitest/pretty-format/dist/index.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/display.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/types.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/helpers.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/timers.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/index.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/types.d-BCElaP-c.d.ts","../../../../../node_modules/.pnpm/@vitest+utils@4.1.10/node_modules/@vitest/utils/dist/diff.d.ts","../../../../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/tasks.d-DEYaIMIu.d.ts","../../../../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/index.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/traces.d.D2T_R8rx.d.ts","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/hmrPayload.d.ts","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/chunks/moduleRunnerTransport.d.ts","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/customEvent.d.ts","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/types/hot.d.ts","../../../../../node_modules/.pnpm/vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0/node_modules/vite/dist/node/module-runner.d.ts","../../../../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/environment.d-DOJxxZV9.d.ts","../../../../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/rawSnapshot.d-D_X3-62x.d.ts","../../../../../node_modules/.pnpm/@vitest+snapshot@4.1.10/node_modules/@vitest/snapshot/dist/index.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/config.d.A1h_Y6Jt.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/environment.d.CrsxCzP1.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/rpc.d.B_8sPU0w.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/worker.d.ZpHpO4yb.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/browser.d.BcoexmFG.d.ts","../../../../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/optional-types.d.ts","../../../../../node_modules/.pnpm/@vitest+spy@4.1.10/node_modules/@vitest/spy/dist/index.d.ts","../../../../../node_modules/.pnpm/tinyrainbow@3.1.0/node_modules/tinyrainbow/dist/index.d.ts","../../../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../../../node_modules/.pnpm/@types+deep-eql@4.0.2/node_modules/@types/deep-eql/index.d.ts","../../../../../node_modules/.pnpm/@types+chai@5.2.2/node_modules/@types/chai/index.d.ts","../../../../../node_modules/.pnpm/@vitest+expect@4.1.10/node_modules/@vitest/expect/dist/index.d.ts","../../../../../node_modules/.pnpm/@vitest+runner@4.1.10/node_modules/@vitest/runner/dist/utils.d.ts","../../../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/benchmark.d.DAaHLpsq.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/global.d.DVsSRdQ5.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/optional-runtime-types.d.ts","../../../../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_/node_modules/@vitest/mocker/dist/types.d-BjI5eAwu.d.ts","../../../../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d-B41z0AuW.d.ts","../../../../../node_modules/.pnpm/@vitest+mocker@4.1.10_vite@8.2.1_@types+node@22.10.2_esbuild@0.28.2_jiti@2.7.0_terser@5.46.0_tsx@4.21.0_yaml@2.9.0_/node_modules/@vitest/mocker/dist/index.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/suite.d.udJtyAgw.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/chunks/evaluatedModules.d.BxJ5omdx.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/runners.d.ts","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/utils.d.ts","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/overloads.d.ts","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/branding.d.ts","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/messages.d.ts","../../../../../node_modules/.pnpm/expect-type@1.3.0/node_modules/expect-type/dist/index.d.ts","../../../../../node_modules/.pnpm/vitest@4.1.10_patch_hash=cd5269e90ad2a4447bb2266e101250c008959a6c1168a57c132f6b50281f65_c9f0315717434532fb4d0b81d334c05e/node_modules/vitest/dist/index.d.ts","../../../errors/dist/types/src/base.d.ts","../../../errors/dist/types/src/cancellation.d.ts","../../../errors/dist/types/src/context.d.ts","../../../errors/dist/types/src/errors.d.ts","../../../errors/dist/types/src/index.d.ts","../../src/internal/plan.ts","../../src/internal/stratify.ts","../../src/Checker.ts","../../src/internal/lexer.ts","../../src/Parser.ts","../../src/Checker.test.ts","../../src/internal/relation.ts","../../src/Engine.ts","../../src/Engine.test.ts","../../src/Engine.workerd.test.ts","../../src/Parser.test.ts","../../src/index.ts"],"fileInfos":[{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f","e437c5c1302869326c3bb93da85bbbcf","e4324975a566567b21d350615f1fc6ac","333b1b9a2a9ac3b8497dba5c63b5ba50","6cffacd662b6eb5fa7a36aa2ea366bfa","b4c34f9c23304dbef2d23698637ed638","e5cb86a5fc491796ecd1d2dd348d208f","feb6c6fb19cdb246a5d8acb36a6901c7","9443a7f109277ffaa79d893ed2549995","793cee405385076e27c24f409659dccd","09f69c6610266eaee1ac9e3e30df2c71","62bad718844246b8e17547f37bad6085",{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0ee05eb59426d33e374226d8dcfa708b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e347c14030993906efcfbb88915b6a05","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b0231263857c9b6a03641acdc9280ceb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3b15c4a83b598cacb4067676e6f0abed","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b417d97b7934cef63b1889abec0bbfbf","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"09a6cf4032ebba60ce22a501e663f881","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2b056277dd138e8f5650fc04e20eaa8d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"e22cc07e3f3cc242ba52fa3f8ea1fc58","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2c45da767a1bfbb220848df1bc4029e4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b44c3e0fbaf2130cdcf6ac38b120ffa1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"02705151a5e1551b9162a9ed8ab763f7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"41025e398be9215d32e4337335da8f0b","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"52684c2b1f353a5538e4f275182a54cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6dedb6a4f90d1df3a6fbe5693e44886c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ca3f36fe3562c07e0f0d71c2bebd3f6d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"409974d6129befbb8226ddd1c6558568","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4d9cfde2a1ae1b4925f1f9bc10848e5d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7e1daecc66dd564144e3bb1a0266b5fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a8e1d9bb35fd0637f2f9fd2b2a54f2ec","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4f168501772a6543182765bfd5f2fbfe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a19c80aad1b2162103496f5ba293a732","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b69afa63cd5d059851c78adb2856ee09","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ae2fc5d954e9b0f5feee3d481b953c27","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1cfd3091a071d8b6feec15277643bafe","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1da2c1f258970fd3cc91184f69e91a9d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"a0d87491913d843139e0c993650a3235","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4ef72aa378127e7b7abba915b0110b1e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3ec74c6a7d4463f0254db3a74cf75646","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"84c2bdfa470d075526cce6322d81b0b6","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0b3844c2b8c73e4e1ab91431411cad11","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4fc71cf4a15b8d99675a31df77f26e07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d1b49564ddaeca3df5b6dbae925d2242","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6a25be566d60ccfc2d6e8b7bfdeefa83","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8a20e27646985dfd58c57ca6566553dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9969f02ad3cdcbf4f709405cda44167f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"9c9be4792a7a4f42c15ae7360bf28779","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"8cf777fe00349b71ee9c4b6f3fe7fd19","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"74f96bc192530c9723f572bfff3d3078","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1df91c56b25955c56387426f378173c5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"38856f70edcd2115c355d96ec77cc09e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"de8700156c1275465bcd473c28b359aa","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d47cfdb6ede40518357bb5a4cd7cd9fb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6e5773860cd9e5b15e683113f642ab47","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"30ff5fe1682f7fcd629880476ca3c2e0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"bf23d7d1b40b9015b694ddc2f011752f","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"2cc585d42e2c548f9f24a30a1989fd33","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"713906ce9d332d2242b7f05ed9304be3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"0219894bfe5042c7e1aa2d22e4a91ed0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6009ffff7e43c93318804d2d28e37fe3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"03be89b227587594fbb50509fc1c2e45","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b30df52dc24740c0bad7c55c3511df7d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"ab8d3c9b5ed5c2ab8f383607eef439f0","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d950ec671d0a8e07f3c1a31e94abed86","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1abef2ace5eccb02d60dd73cd5a5ee4c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f5f0a3044029d1cc081b5887eb4deb07","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d57c697f1446940ec4bfe669c962e2c4","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"be41035d7b941482a1e1ae6a5c5dcca5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"10f7d9da7564f27f8ddf4a162b6da6d3","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1d0520af549e0c3581f15173cc713ca1","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d65083f97fd741cff028472563eddb79","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"da7f24f00653ebac660ac1c0821ed33d","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7cb5ae9e65516ea2235f0721f6aac43c","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1b70e8049e529cf7895ec26890fcea4b","signature":"457d8f74699257b6ec08b47046ca4ec0","impliedNodeFormat":1},{"version":"78f5430b29d9a530a750ce7b7bfe287b","signature":"582370d8d2e8113f5d2ee8942f59c813","impliedNodeFormat":1},{"version":"ed63d99e1e5c371dc120bef1b84057fc","impliedNodeFormat":99},{"version":"4d3fb552bfc7fb53c9195b2fafb512c0","impliedNodeFormat":99},{"version":"fbf7ba69043f86dc506ba28263e2e783","impliedNodeFormat":99},{"version":"a611eb6935df7737a77b34b01c631a4a","impliedNodeFormat":99},{"version":"6d08f6f1d0ee294c119d0e66f826331a","impliedNodeFormat":99},{"version":"d0abb8fa314728650d85450ff59db909","impliedNodeFormat":99},{"version":"abe007be89c2ad52c4d67fc2b0f6da6b","impliedNodeFormat":99},{"version":"ae1fe3925f3a2c8dfbb269ac2a50f5a6","impliedNodeFormat":99},{"version":"ee8ce731ff781ae7011350481a1af176","impliedNodeFormat":99},{"version":"08dcd98985ae16732a9be03d2b56aea6","impliedNodeFormat":99},{"version":"47f7401876f3c0a5b80bd01fbdfaed2b","impliedNodeFormat":99},{"version":"c740262327e60625eeb9d14da30af076","impliedNodeFormat":99},{"version":"3d553ca0b8e36d0e9f05a6b80fb3492d","impliedNodeFormat":99},{"version":"f5fb09fe1962bd4c63dc9d1fef0c41ae","impliedNodeFormat":99},{"version":"4aeb817c2b1122f77bdaeb4e884e9479","impliedNodeFormat":99},{"version":"31fca6603097de04dde1774dd2a14d9e","impliedNodeFormat":99},{"version":"0221e2868d1f0d6df8321d945764aadb","impliedNodeFormat":99},{"version":"d2f6ad6f161f0a522886f64842c96a0e","impliedNodeFormat":99},{"version":"618ace1500cc84e42bc2e47c64f8c407","impliedNodeFormat":99},{"version":"9dd3c481cc870c4bf19e59d34f030a27","impliedNodeFormat":99},{"version":"b5c81396e966d59acab5a45f66b70866","impliedNodeFormat":99},{"version":"f94aa434ddb9e71f6e80395de85f6850","impliedNodeFormat":99},{"version":"3486e8f7f01b9874a793ddd451eb62a5","impliedNodeFormat":99},{"version":"cb0e7222aae349c2fb4f89b26efa81bd","impliedNodeFormat":99},{"version":"b9129d694ae6cf810850117dda49d045","impliedNodeFormat":99},{"version":"0d7bbad7f82c886c5f36730065aec119","impliedNodeFormat":99},{"version":"369460c2755240ac2d3d006f09adb5ca","impliedNodeFormat":99},{"version":"4509fca76e721cdf9edb2d028395a117","impliedNodeFormat":99},"548472bfd4ebe2f1c8f494b960a27836",{"version":"31d11e53cef40d113a56c173ad0ac9f4","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"2c51637edf65b89d39356deff680ed36","affectsGlobalScope":true,"impliedNodeFormat":99},{"version":"0bf0efdacfd4bfadb631a4376097e382","impliedNodeFormat":99},{"version":"bd01f3bcdc72c9256e5cd5093d132df3","impliedNodeFormat":99},{"version":"b01bdc9acbaf3eb24eef464959e8e627","impliedNodeFormat":99},{"version":"2a75a1a065e5d0439fa1514d9c89b0eb","impliedNodeFormat":99},{"version":"b9129d694ae6cf810850117dda49d045","impliedNodeFormat":99},{"version":"c01d22bc96b89eedc0ed1f11d8c270ab","impliedNodeFormat":99},{"version":"c15bc5b81c64386efb6f85fb596c4349","impliedNodeFormat":99},{"version":"5794a694c1f75a9cc38cb5e9c757224e","impliedNodeFormat":99},{"version":"4040d5640775a803b2ca1aa914f7a1d4","impliedNodeFormat":99},{"version":"5ed96746ee2e7eb084ad54f0e0e518bc","impliedNodeFormat":99},{"version":"eba7786b00a4e551c36bafa71bfb1876","impliedNodeFormat":99},"8d8a98bf45979ce5401d9ca4027940cd","7d98e95d38525423bbe0f05e0a508a41","96920299d013de56061cbc74a1d658b2","439adabdf29be1212ec7acc292679f21","3eb46d20ed056dcbfa5e75bad9014661",{"version":"b46aa1886055db890de9be52a97b301e","impliedNodeFormat":99},"dac79954011d59a0085e6583f2ca67db","583f9212b45ab385cb533038c27b1e9d","f55774503d383236d8fbeb2aa8e653f5","6aa33a6665aad6e58ff483bff29b4c38","3735a36f58ae876645f237e112230508",{"version":"432f373767ce69ff84c4247bb0b6780f","signature":"39a359395ecdf5cfcca25c3a4c2c8cdb","impliedNodeFormat":1},{"version":"473f9984c9818061e94ef84210311947","signature":"b81f921a8251e426a926715121d0eed5","impliedNodeFormat":1},{"version":"33614ba45ae91c3fcd3b5695b1458141","signature":"4225f269cabd5cb6611cdd9385eb07b8","impliedNodeFormat":1},{"version":"56677af934ca34a6bd0a10e3c40d3b1f","signature":"6e93bb836ab24c29d472b0b58e1f93b0","impliedNodeFormat":1},{"version":"28ca4d82217696597934b0d13f1034fc","signature":"14a786575644c638427a0bd6f8de378c","impliedNodeFormat":1},{"version":"f664a2f3ca3d915515b849b04a803814","signature":"abe7d9981d6018efb6b2b794f40a1607","impliedNodeFormat":1},{"version":"59bcb852b24572a21ad2c61a86b76f12","signature":"662bfb32f527a9a3bd16a32152b48b11","impliedNodeFormat":1},{"version":"0b9aa557baa2454d014c1a0783374a9c","signature":"3c1b03d5506ef86754d6cb702ba3f6d2","impliedNodeFormat":1},{"version":"28ba4ed94d0eec65e9d7844df43cb746","signature":"abe7d9981d6018efb6b2b794f40a1607","impliedNodeFormat":1},{"version":"2ba4cd8b935292ad46d8ebbba0f82c88","signature":"abe7d9981d6018efb6b2b794f40a1607","impliedNodeFormat":1},{"version":"10b7d62672083f30b19ab0bd84a61b00","signature":"abe7d9981d6018efb6b2b794f40a1607","impliedNodeFormat":1},{"version":"ffee7d86e3924a7341e363a113944bac","signature":"a954c44d2af34b177fa4402bca73cf04","impliedNodeFormat":1}],"fileIdsList":[[118],[91,97,115,116,117,119],[126],[126,127],[95,97,98],[95,97],[95],[90,95,106,107],[90,95,106],[114],[90,96],[90],[92],[90,91,92,93,94],[132,133],[132,133,134,135],[132,134],[132],[101],[101,102,103,104],[103],[99,121,122,124],[99,100,112,124],[90,97,99,100,108,124],[105],[90,99,100,108,120,123],[99,100,105,108,124],[99,121,122,123,124],[99,105,109,110,111,124],[90,95,97,99,100,105,108,109,110,111,112,113,115,120,121,122,123,124,125,128,129,130,131,136],[90,97,99,100,108,109,121,122,123,124,129],[88],[89,137,145,147],[88,89,142,143,144],[88,89,137,145,147,150],[88,89,143,144,145,149],[89,137,147,150],[88,137,147],[88,142,146],[88,89,145,147,150],[88,142],[88,89],[138],[138,139,140,141]],"options":{"allowJs":false,"composite":true,"emitDeclarationOnly":true,"declaration":true,"declarationMap":true,"experimentalDecorators":true,"jsx":3,"module":200,"noImplicitOverride":true,"noUncheckedSideEffectImports":false,"outDir":"./","rewriteRelativeImportExtensions":true,"skipLibCheck":true,"strict":true,"stripInternal":true,"sourceMap":true,"target":99,"esModuleInterop":true},"effect":{"refactors":true,"diagnostics":true,"quickinfo":true,"completions":true,"goto":true,"renames":true,"ignoreEffectSuggestionsInTscExitCode":true,"namespaceImportPackages":["effect","@effect/*"],"topLevelNamedReexports":"follow","diagnosticSeverity":{}},"referencedMap":[[119,1],[120,2],[127,3],[128,4],[99,5],[98,6],[121,5],[106,7],[108,8],[107,9],[115,10],[97,11],[91,12],[93,13],[95,14],[96,12],[134,15],[136,16],[135,17],[133,18],[102,19],[105,20],[103,19],[104,21],[123,22],[113,23],[109,24],[110,7],[130,25],[124,26],[111,27],[129,28],[112,29],[137,30],[131,31],[89,32],[148,33],[145,34],[151,35],[150,36],[152,37],[153,38],[147,39],[154,40],[146,41],[143,42],[149,32],[144,42],[141,43],[142,44]],"latestChangedDtsFile":"./src/index.d.ts"}
package/package.json CHANGED
@@ -1,10 +1,62 @@
1
1
  {
2
2
  "name": "@dxos/datalog",
3
- "version": "0.0.1",
4
- "description": "Placeholder to register the package name; the first real release is published by the DXOS release pipeline.",
3
+ "version": "0.13.0",
4
+ "description": "Datalog engine with no third-party dependencies: parser, static checks, incremental stratified semi-naive evaluation with provenance and pluggable built-ins.",
5
5
  "homepage": "https://dxos.org",
6
- "repository": { "type": "git", "url": "https://github.com/dxos/dxos" },
6
+ "bugs": "https://github.com/dxos/dxos/issues",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/dxos/dxos"
10
+ },
7
11
  "license": "FSL-1.1-Apache-2.0",
8
12
  "author": "DXOS.org",
9
- "publishConfig": { "access": "public" }
10
- }
13
+ "sideEffects": false,
14
+ "type": "module",
15
+ "exports": {
16
+ ".": {
17
+ "source": "./src/index.ts",
18
+ "types": "./dist/types/src/index.d.ts",
19
+ "import": "./dist/lib/index.mjs"
20
+ },
21
+ "./Ast": {
22
+ "source": "./src/Ast.ts",
23
+ "types": "./dist/types/src/Ast.d.ts",
24
+ "import": "./dist/lib/Ast.mjs"
25
+ },
26
+ "./Builtin": {
27
+ "source": "./src/Builtin.ts",
28
+ "types": "./dist/types/src/Builtin.d.ts",
29
+ "import": "./dist/lib/Builtin.mjs"
30
+ },
31
+ "./Checker": {
32
+ "source": "./src/Checker.ts",
33
+ "types": "./dist/types/src/Checker.d.ts",
34
+ "import": "./dist/lib/Checker.mjs"
35
+ },
36
+ "./Engine": {
37
+ "source": "./src/Engine.ts",
38
+ "types": "./dist/types/src/Engine.d.ts",
39
+ "import": "./dist/lib/Engine.mjs"
40
+ },
41
+ "./package.json": "./package.json",
42
+ "./Parser": {
43
+ "source": "./src/Parser.ts",
44
+ "types": "./dist/types/src/Parser.d.ts",
45
+ "import": "./dist/lib/Parser.mjs"
46
+ }
47
+ },
48
+ "types": "dist/types/src/index.d.ts",
49
+ "files": [
50
+ "dist",
51
+ "src"
52
+ ],
53
+ "dependencies": {
54
+ "@dxos/errors": "0.13.0"
55
+ },
56
+ "devDependencies": {
57
+ "vitest": "4.1.10"
58
+ },
59
+ "publishConfig": {
60
+ "access": "public"
61
+ }
62
+ }