flowquery 1.0.86 → 1.0.87

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 (141) hide show
  1. package/README.md +101 -0
  2. package/dist/compute/flowquery.d.ts +18 -0
  3. package/dist/compute/flowquery.d.ts.map +1 -1
  4. package/dist/compute/flowquery.js +26 -0
  5. package/dist/compute/flowquery.js.map +1 -1
  6. package/dist/compute/runner.d.ts +29 -0
  7. package/dist/compute/runner.d.ts.map +1 -1
  8. package/dist/compute/runner.js +111 -3
  9. package/dist/compute/runner.js.map +1 -1
  10. package/dist/extensibility.d.ts +4 -1
  11. package/dist/extensibility.d.ts.map +1 -1
  12. package/dist/extensibility.js +14 -1
  13. package/dist/extensibility.js.map +1 -1
  14. package/dist/flowquery.min.js +1 -1
  15. package/dist/graph/data.d.ts +1 -0
  16. package/dist/graph/data.d.ts.map +1 -1
  17. package/dist/graph/data.js +3 -0
  18. package/dist/graph/data.js.map +1 -1
  19. package/dist/graph/data_cache.d.ts +3 -1
  20. package/dist/graph/data_cache.d.ts.map +1 -1
  21. package/dist/graph/data_cache.js +5 -4
  22. package/dist/graph/data_cache.js.map +1 -1
  23. package/dist/graph/data_resolver.d.ts +13 -0
  24. package/dist/graph/data_resolver.d.ts.map +1 -1
  25. package/dist/graph/data_resolver.js +52 -0
  26. package/dist/graph/data_resolver.js.map +1 -1
  27. package/dist/graph/database.d.ts +19 -0
  28. package/dist/graph/database.d.ts.map +1 -1
  29. package/dist/graph/database.js +76 -0
  30. package/dist/graph/database.js.map +1 -1
  31. package/dist/graph/node.d.ts +21 -0
  32. package/dist/graph/node.d.ts.map +1 -1
  33. package/dist/graph/node.js +147 -0
  34. package/dist/graph/node.js.map +1 -1
  35. package/dist/graph/pattern.d.ts +19 -1
  36. package/dist/graph/pattern.d.ts.map +1 -1
  37. package/dist/graph/pattern.js +279 -1
  38. package/dist/graph/pattern.js.map +1 -1
  39. package/dist/graph/pattern_expression.d.ts +3 -1
  40. package/dist/graph/pattern_expression.d.ts.map +1 -1
  41. package/dist/graph/pattern_expression.js +8 -3
  42. package/dist/graph/pattern_expression.js.map +1 -1
  43. package/dist/graph/patterns.d.ts +2 -1
  44. package/dist/graph/patterns.d.ts.map +1 -1
  45. package/dist/graph/patterns.js +3 -3
  46. package/dist/graph/patterns.js.map +1 -1
  47. package/dist/graph/physical_node.d.ts +10 -1
  48. package/dist/graph/physical_node.d.ts.map +1 -1
  49. package/dist/graph/physical_node.js +19 -2
  50. package/dist/graph/physical_node.js.map +1 -1
  51. package/dist/graph/physical_relationship.d.ts +10 -1
  52. package/dist/graph/physical_relationship.d.ts.map +1 -1
  53. package/dist/graph/physical_relationship.js +21 -2
  54. package/dist/graph/physical_relationship.js.map +1 -1
  55. package/dist/graph/relationship.d.ts +25 -1
  56. package/dist/graph/relationship.d.ts.map +1 -1
  57. package/dist/graph/relationship.js +135 -0
  58. package/dist/graph/relationship.js.map +1 -1
  59. package/dist/graph/relationship_match_collector.d.ts +1 -1
  60. package/dist/graph/relationship_match_collector.d.ts.map +1 -1
  61. package/dist/graph/relationship_match_collector.js +29 -3
  62. package/dist/graph/relationship_match_collector.js.map +1 -1
  63. package/dist/graph/relationship_reference.d.ts.map +1 -1
  64. package/dist/graph/relationship_reference.js +1 -2
  65. package/dist/graph/relationship_reference.js.map +1 -1
  66. package/dist/graph/source_access.d.ts +107 -0
  67. package/dist/graph/source_access.d.ts.map +1 -0
  68. package/dist/graph/source_access.js +726 -0
  69. package/dist/graph/source_access.js.map +1 -0
  70. package/dist/graph/source_context.d.ts +101 -0
  71. package/dist/graph/source_context.d.ts.map +1 -0
  72. package/dist/graph/source_context.js +392 -0
  73. package/dist/graph/source_context.js.map +1 -0
  74. package/dist/graph/source_provider.d.ts +263 -0
  75. package/dist/graph/source_provider.d.ts.map +1 -0
  76. package/dist/graph/source_provider.js +306 -0
  77. package/dist/graph/source_provider.js.map +1 -0
  78. package/dist/graph/statement_source.d.ts +27 -0
  79. package/dist/graph/statement_source.d.ts.map +1 -0
  80. package/dist/graph/statement_source.js +117 -0
  81. package/dist/graph/statement_source.js.map +1 -0
  82. package/dist/graph/virtual_statement.d.ts +19 -1
  83. package/dist/graph/virtual_statement.d.ts.map +1 -1
  84. package/dist/graph/virtual_statement.js +197 -5
  85. package/dist/graph/virtual_statement.js.map +1 -1
  86. package/dist/index.browser.d.ts +3 -0
  87. package/dist/index.browser.d.ts.map +1 -1
  88. package/dist/index.browser.js +14 -0
  89. package/dist/index.browser.js.map +1 -1
  90. package/dist/index.node.d.ts +3 -0
  91. package/dist/index.node.d.ts.map +1 -1
  92. package/dist/index.node.js +14 -1
  93. package/dist/index.node.js.map +1 -1
  94. package/dist/parsing/operations/aggregated_return.d.ts +2 -0
  95. package/dist/parsing/operations/aggregated_return.d.ts.map +1 -1
  96. package/dist/parsing/operations/aggregated_return.js +6 -0
  97. package/dist/parsing/operations/aggregated_return.js.map +1 -1
  98. package/dist/parsing/operations/aggregated_with.d.ts +2 -0
  99. package/dist/parsing/operations/aggregated_with.d.ts.map +1 -1
  100. package/dist/parsing/operations/aggregated_with.js +6 -0
  101. package/dist/parsing/operations/aggregated_with.js.map +1 -1
  102. package/dist/parsing/operations/create_node.d.ts +5 -1
  103. package/dist/parsing/operations/create_node.d.ts.map +1 -1
  104. package/dist/parsing/operations/create_node.js +20 -1
  105. package/dist/parsing/operations/create_node.js.map +1 -1
  106. package/dist/parsing/operations/create_relationship.d.ts +5 -1
  107. package/dist/parsing/operations/create_relationship.d.ts.map +1 -1
  108. package/dist/parsing/operations/create_relationship.js +21 -1
  109. package/dist/parsing/operations/create_relationship.js.map +1 -1
  110. package/dist/parsing/operations/limit.d.ts +1 -0
  111. package/dist/parsing/operations/limit.d.ts.map +1 -1
  112. package/dist/parsing/operations/limit.js +3 -0
  113. package/dist/parsing/operations/limit.js.map +1 -1
  114. package/dist/parsing/operations/match.d.ts +16 -0
  115. package/dist/parsing/operations/match.d.ts.map +1 -1
  116. package/dist/parsing/operations/match.js +104 -8
  117. package/dist/parsing/operations/match.js.map +1 -1
  118. package/dist/parsing/operations/operation.d.ts +6 -0
  119. package/dist/parsing/operations/operation.d.ts.map +1 -1
  120. package/dist/parsing/operations/operation.js +8 -0
  121. package/dist/parsing/operations/operation.js.map +1 -1
  122. package/dist/parsing/operations/return.d.ts +10 -0
  123. package/dist/parsing/operations/return.d.ts.map +1 -1
  124. package/dist/parsing/operations/return.js +23 -0
  125. package/dist/parsing/operations/return.js.map +1 -1
  126. package/dist/parsing/operations/unwind.d.ts +1 -0
  127. package/dist/parsing/operations/unwind.d.ts.map +1 -1
  128. package/dist/parsing/operations/unwind.js +9 -2
  129. package/dist/parsing/operations/unwind.js.map +1 -1
  130. package/dist/parsing/operations/where.d.ts +1 -0
  131. package/dist/parsing/operations/where.d.ts.map +1 -1
  132. package/dist/parsing/operations/where.js +4 -0
  133. package/dist/parsing/operations/where.js.map +1 -1
  134. package/dist/parsing/operations/with.d.ts +1 -0
  135. package/dist/parsing/operations/with.d.ts.map +1 -1
  136. package/dist/parsing/operations/with.js +4 -0
  137. package/dist/parsing/operations/with.js.map +1 -1
  138. package/dist/parsing/parser.d.ts.map +1 -1
  139. package/dist/parsing/parser.js +20 -2
  140. package/dist/parsing/parser.js.map +1 -1
  141. package/package.json +1 -1
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
45
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
46
+ var m = o[Symbol.asyncIterator], i;
47
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
48
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
49
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
50
+ };
51
+ Object.defineProperty(exports, "__esModule", { value: true });
52
+ exports.StatementSourceProvider = void 0;
53
+ exports.materializeScan = materializeScan;
54
+ const source_context_1 = __importStar(require("./source_context"));
55
+ /**
56
+ * Adapts a `CREATE VIRTUAL` definition to the source provider contract.
57
+ *
58
+ * The definition is opted in with explicit capabilities; every request
59
+ * runs the inner statement with `$request` bound to the request envelope
60
+ * (`operation`, `label`/`type`, `ids`, `side`, `predicate`, `pageSize`)
61
+ * while `$args` keeps its legacy meaning. Statements that ignore part
62
+ * of the request remain correct because FlowQuery re-checks every row.
63
+ */
64
+ class StatementSourceProvider {
65
+ constructor(_virtual, capabilities) {
66
+ this._virtual = _virtual;
67
+ this.capabilities = capabilities;
68
+ }
69
+ _run(request, context) {
70
+ return this._virtual.request(request, this.capabilities.streaming === true, (0, source_context_1.contextOf)(context));
71
+ }
72
+ scan(request, context) {
73
+ return this._run(request, context);
74
+ }
75
+ lookup(request, context) {
76
+ return this._run(request, context);
77
+ }
78
+ expand(request, context) {
79
+ return this._run(request, context);
80
+ }
81
+ }
82
+ exports.StatementSourceProvider = StatementSourceProvider;
83
+ /**
84
+ * Fully read a provider's scan (legacy eager paths: schema
85
+ * introspection, pattern expressions and mixed legacy/provider patterns).
86
+ */
87
+ function materializeScan(provider, kind, name, base, args, ctx) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ var _a, e_1, _b, _c;
90
+ const context = ctx !== null && ctx !== void 0 ? ctx : new source_context_1.default();
91
+ try {
92
+ context.stats.materializations++;
93
+ const rows = [];
94
+ try {
95
+ for (var _d = true, _e = __asyncValues(context.call(provider, "scan", name, kind, Object.assign(Object.assign({ operation: "scan" }, base), { predicate: null, args, pageSize: context.options.pageSize }))), _f; _f = yield _e.next(), _a = _f.done, !_a; _d = true) {
96
+ _c = _f.value;
97
+ _d = false;
98
+ const page = _c;
99
+ rows.push(...page);
100
+ }
101
+ }
102
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
103
+ finally {
104
+ try {
105
+ if (!_d && !_a && (_b = _e.return)) yield _b.call(_e);
106
+ }
107
+ finally { if (e_1) throw e_1.error; }
108
+ }
109
+ return rows;
110
+ }
111
+ finally {
112
+ if (ctx === null)
113
+ yield context.close();
114
+ }
115
+ });
116
+ }
117
+ //# sourceMappingURL=statement_source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statement_source.js","sourceRoot":"","sources":["../../src/graph/statement_source.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6CA,0CAyBC;AAtED,mEAA4D;AAS5D;;;;;;;;GAQG;AACH,MAAa,uBAAuB;IAChC,YACqB,QAA0B,EAC3B,YAAqE;QADpE,aAAQ,GAAR,QAAQ,CAAkB;QAC3B,iBAAY,GAAZ,YAAY,CAAyD;IACtF,CAAC;IACI,IAAI,CAAC,OAA4B,EAAE,OAA0B;QACjE,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CACxB,OAAO,EACP,IAAI,CAAC,YAAY,CAAC,SAAS,KAAK,IAAI,EACpC,IAAA,0BAAS,EAAC,OAAO,CAAC,CACrB,CAAC;IACN,CAAC;IACM,IAAI,CAAC,OAAY,EAAE,OAA0B;QAChD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IACM,MAAM,CAAC,OAAY,EAAE,OAA0B;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;IACM,MAAM,CAAC,OAAY,EAAE,OAA0B;QAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC;CACJ;AArBD,0DAqBC;AAED;;;GAGG;AACH,SAAsB,eAAe,CACjC,QAAa,EACb,IAA6B,EAC7B,IAAY,EACZ,IAAyB,EACzB,IAAgC,EAChC,GAAyB;;;QAEzB,MAAM,OAAO,GAAG,GAAG,aAAH,GAAG,cAAH,GAAG,GAAI,IAAI,wBAAa,EAAE,CAAC;QAC3C,IAAI,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACjC,MAAM,IAAI,GAAgB,EAAE,CAAC;;gBAC7B,KAAyB,eAAA,KAAA,cAAA,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,gCAC9D,SAAS,EAAE,MAAM,IACd,IAAI,KACP,SAAS,EAAE,IAAI,EACf,IAAI,EACJ,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,IACpC,CAAA,IAAA,sDAAE,CAAC;oBANoB,cAMvB;oBANuB,WAMvB;oBANS,MAAM,IAAI,KAAA,CAAA;oBAOjB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;gBACvB,CAAC;;;;;;;;;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,IAAI,GAAG,KAAK,IAAI;gBAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;QAC5C,CAAC;IACL,CAAC;CAAA"}
@@ -1,4 +1,5 @@
1
1
  import ASTNode from "../parsing/ast_node";
2
+ import type SourceContext from "./source_context";
2
3
  /**
3
4
  * Backing statement of a virtual node or relationship: owns the AST that
4
5
  * synthesises the records and the optional in-memory cache around its
@@ -14,6 +15,7 @@ declare class VirtualStatement {
14
15
  private _refreshEveryMs;
15
16
  private _cache;
16
17
  private _cachedAt;
18
+ private _active;
17
19
  set statement(statement: ASTNode | null);
18
20
  get statement(): ASTNode | null;
19
21
  set isStatic(value: boolean);
@@ -34,8 +36,24 @@ declare class VirtualStatement {
34
36
  * cache (the weak-map binding must be re-established
35
37
  * each call).
36
38
  */
37
- data(args?: Record<string, any> | null, provenance?: boolean): Promise<Record<string, any>[]>;
39
+ data(args?: Record<string, any> | null, provenance?: boolean, sourceContext?: SourceContext | null): Promise<Record<string, any>[]>;
38
40
  private runInner;
41
+ /**
42
+ * Wait until no streamed execution of this statement is in progress.
43
+ * A suspended stream is switched to unbounded buffering and run to
44
+ * completion first, because executions share the statement's AST.
45
+ */
46
+ private quiesce;
47
+ /** True when the statement can stream rows (single plain RETURN without ORDER BY). */
48
+ get streamable(): boolean;
49
+ /**
50
+ * Serve a source request by running the statement with `$request`
51
+ * bound to the request envelope (and `$args` to the legacy args).
52
+ */
53
+ request(request: Record<string, any>, streaming: boolean, sourceContext: SourceContext | null): Promise<Record<string, any>[]> | AsyncGenerator<Record<string, any>[]>;
54
+ private stream;
39
55
  }
56
+ /** @internal Runner option key carrying the parent query's source context. */
57
+ export declare const INNER_SOURCE_CONTEXT = "__sourceContext";
40
58
  export default VirtualStatement;
41
59
  //# sourceMappingURL=virtual_statement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual_statement.d.ts","sourceRoot":"","sources":["../../src/graph/virtual_statement.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAG1C;;;;;;;;GAQG;AACH,cAAM,gBAAgB;IAClB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAa;IAE9B,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAG7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE7C;IACD,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAEzC;IAEM,eAAe,IAAI,IAAI;IAK9B,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;OAUG;IACU,IAAI,CACb,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EACvC,UAAU,GAAE,OAAe,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAoBnB,QAAQ;CAoBzB;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"virtual_statement.d.ts","sourceRoot":"","sources":["../../src/graph/virtual_statement.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,qBAAqB,CAAC;AAC1C,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAC;AAIlD;;;;;;;;GAQG;AACH,cAAM,gBAAgB;IAClB,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,OAAO,CAA6D;IAE5E,IAAW,SAAS,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,EAG7C;IACD,IAAW,SAAS,IAAI,OAAO,GAAG,IAAI,CAErC;IAED,IAAW,QAAQ,CAAC,KAAK,EAAE,OAAO,EAEjC;IACD,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,IAAW,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAE7C;IACD,IAAW,cAAc,IAAI,MAAM,GAAG,IAAI,CAEzC;IAEM,eAAe,IAAI,IAAI;IAK9B,8EAA8E;IAC9E,OAAO,CAAC,YAAY;IAIpB;;;;;;;;;;OAUG;IACU,IAAI,CACb,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAW,EACvC,UAAU,GAAE,OAAe,EAC3B,aAAa,GAAE,aAAa,GAAG,IAAW,GAC3C,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAoBnB,QAAQ;IA4BtB;;;;OAIG;YACW,OAAO;IASrB,sFAAsF;IACtF,IAAW,UAAU,IAAI,OAAO,CAQ/B;IAED;;;OAGG;IACI,OAAO,CACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,SAAS,EAAE,OAAO,EAClB,aAAa,EAAE,aAAa,GAAG,IAAI,GACpC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC;YAY1D,MAAM;CA8BxB;AAED,8EAA8E;AAC9E,eAAO,MAAM,oBAAoB,oBAAoB,CAAC;AAuFtD,eAAe,gBAAgB,CAAC"}
@@ -41,7 +41,34 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
41
41
  step((generator = generator.apply(thisArg, _arguments || [])).next());
42
42
  });
43
43
  };
44
+ var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
45
+ var __asyncValues = (this && this.__asyncValues) || function (o) {
46
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
47
+ var m = o[Symbol.asyncIterator], i;
48
+ return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
49
+ function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
50
+ function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
51
+ };
52
+ var __asyncDelegator = (this && this.__asyncDelegator) || function (o) {
53
+ var i, p;
54
+ return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
55
+ function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }
56
+ };
57
+ var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
58
+ if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
59
+ var g = generator.apply(thisArg, _arguments || []), i, q = [];
60
+ return i = Object.create((typeof AsyncIterator === "function" ? AsyncIterator : Object).prototype), verb("next"), verb("throw"), verb("return", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;
61
+ function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }
62
+ function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }
63
+ function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
64
+ function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
65
+ function fulfill(value) { resume("next", value); }
66
+ function reject(value) { resume("throw", value); }
67
+ function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
68
+ };
44
69
  Object.defineProperty(exports, "__esModule", { value: true });
70
+ exports.INNER_SOURCE_CONTEXT = void 0;
71
+ const source_provider_1 = require("./source_provider");
45
72
  const virtual_sources_1 = require("./virtual_sources");
46
73
  /**
47
74
  * Backing statement of a virtual node or relationship: owns the AST that
@@ -59,6 +86,7 @@ class VirtualStatement {
59
86
  this._refreshEveryMs = null;
60
87
  this._cache = null;
61
88
  this._cachedAt = 0;
89
+ this._active = null;
62
90
  }
63
91
  set statement(statement) {
64
92
  this._statement = statement;
@@ -99,7 +127,7 @@ class VirtualStatement {
99
127
  * each call).
100
128
  */
101
129
  data() {
102
- return __awaiter(this, arguments, void 0, function* (args = null, provenance = false) {
130
+ return __awaiter(this, arguments, void 0, function* (args = null, provenance = false, sourceContext = null) {
103
131
  if (this._statement === null) {
104
132
  throw new Error("Statement is null");
105
133
  }
@@ -111,7 +139,7 @@ class VirtualStatement {
111
139
  if (cacheable && this._cache !== null && this.isCacheFresh()) {
112
140
  return this._cache;
113
141
  }
114
- const result = yield this.runInner(args, provenance);
142
+ const result = yield this.runInner(args, provenance, sourceContext);
115
143
  if (cacheable) {
116
144
  this._cache = result;
117
145
  this._cachedAt = Date.now();
@@ -119,13 +147,18 @@ class VirtualStatement {
119
147
  return result;
120
148
  });
121
149
  }
122
- runInner(args, provenance) {
123
- return __awaiter(this, void 0, void 0, function* () {
150
+ runInner(args_1, provenance_1) {
151
+ return __awaiter(this, arguments, void 0, function* (args, provenance, sourceContext = null, parameters = null) {
152
+ yield this.quiesce();
124
153
  // Lazy dynamic import to avoid a load-time cycle:
125
154
  // virtual_statement -> runner -> parsing -> graph (back to here).
126
155
  // Python uses the same idiom (function-local import).
127
156
  const RunnerCtor = (yield Promise.resolve().then(() => __importStar(require("../compute/runner")))).default;
128
- const runner = new RunnerCtor(null, this._statement, args, { provenance });
157
+ const runner = new RunnerCtor(null, this._statement, args, {
158
+ provenance,
159
+ parameters: parameters !== null && parameters !== void 0 ? parameters : undefined,
160
+ [exports.INNER_SOURCE_CONTEXT]: sourceContext,
161
+ });
129
162
  yield runner.run();
130
163
  const result = runner.results;
131
164
  if (provenance) {
@@ -138,6 +171,165 @@ class VirtualStatement {
138
171
  return result;
139
172
  });
140
173
  }
174
+ /**
175
+ * Wait until no streamed execution of this statement is in progress.
176
+ * A suspended stream is switched to unbounded buffering and run to
177
+ * completion first, because executions share the statement's AST.
178
+ */
179
+ quiesce() {
180
+ return __awaiter(this, void 0, void 0, function* () {
181
+ while (this._active !== null) {
182
+ const active = this._active;
183
+ active.channel.drain();
184
+ yield active.done;
185
+ if (this._active === active)
186
+ this._active = null;
187
+ }
188
+ });
189
+ }
190
+ /** True when the statement can stream rows (single plain RETURN without ORDER BY). */
191
+ get streamable() {
192
+ var _a;
193
+ const last = (_a = this._statement) === null || _a === void 0 ? void 0 : _a.lastChild();
194
+ return (last !== null &&
195
+ last !== undefined &&
196
+ typeof last.setRowSink === "function" &&
197
+ last.supportsRowSink === true);
198
+ }
199
+ /**
200
+ * Serve a source request by running the statement with `$request`
201
+ * bound to the request envelope (and `$args` to the legacy args).
202
+ */
203
+ request(request, streaming, sourceContext) {
204
+ var _a;
205
+ if (this._statement === null) {
206
+ throw new Error("Statement is null");
207
+ }
208
+ const parameters = { request };
209
+ if (!streaming || !this.streamable) {
210
+ if (sourceContext !== null)
211
+ sourceContext.stats.materializations++;
212
+ return this.runInner((_a = request.args) !== null && _a !== void 0 ? _a : null, false, sourceContext, parameters);
213
+ }
214
+ return this.stream(request, parameters, sourceContext);
215
+ }
216
+ stream(request, parameters, sourceContext) {
217
+ return __asyncGenerator(this, arguments, function* stream_1() {
218
+ var _a, _b;
219
+ yield __await(this.quiesce());
220
+ const RunnerCtor = (yield __await(Promise.resolve().then(() => __importStar(require("../compute/runner"))))).default;
221
+ const channel = new RowChannel(Math.max(1, (_a = request.pageSize) !== null && _a !== void 0 ? _a : 256));
222
+ const runner = new RunnerCtor(null, this._statement, (_b = request.args) !== null && _b !== void 0 ? _b : null, {
223
+ parameters,
224
+ rowSink: (row) => channel.push(row),
225
+ [exports.INNER_SOURCE_CONTEXT]: sourceContext,
226
+ });
227
+ const done = runner.run().then(() => channel.close(), (e) => channel.fail(e));
228
+ const active = { channel, done };
229
+ this._active = active;
230
+ const onAbort = () => channel.cancel();
231
+ sourceContext === null || sourceContext === void 0 ? void 0 : sourceContext.signal.addEventListener("abort", onAbort, { once: true });
232
+ try {
233
+ yield __await(yield* __asyncDelegator(__asyncValues(channel.pages())));
234
+ }
235
+ finally {
236
+ sourceContext === null || sourceContext === void 0 ? void 0 : sourceContext.signal.removeEventListener("abort", onAbort);
237
+ channel.cancel();
238
+ yield __await(done);
239
+ if (this._active === active)
240
+ this._active = null;
241
+ }
242
+ });
243
+ }
244
+ }
245
+ /** @internal Runner option key carrying the parent query's source context. */
246
+ exports.INNER_SOURCE_CONTEXT = "__sourceContext";
247
+ /**
248
+ * Bounded hand-off between a streaming inner statement (producer) and
249
+ * the traversal consuming its rows. The producer blocks once
250
+ * `capacity` full pages are waiting.
251
+ */
252
+ class RowChannel {
253
+ constructor(_pageSize, _capacity = 2) {
254
+ this._pageSize = _pageSize;
255
+ this._capacity = _capacity;
256
+ this._pages = [];
257
+ this._current = [];
258
+ this._done = false;
259
+ this._error = null;
260
+ this._cancelled = false;
261
+ this._unbounded = false;
262
+ this._consumerWaiter = null;
263
+ this._producerWaiter = null;
264
+ }
265
+ push(row) {
266
+ return __awaiter(this, void 0, void 0, function* () {
267
+ if (this._cancelled)
268
+ throw new source_provider_1.QueryCancelledError("Source stream closed");
269
+ this._current.push(row);
270
+ if (this._current.length < this._pageSize)
271
+ return;
272
+ this._pages.push(this._current);
273
+ this._current = [];
274
+ this._wakeConsumer();
275
+ while (!this._unbounded && !this._cancelled && this._pages.length >= this._capacity) {
276
+ yield new Promise((resolve) => (this._producerWaiter = resolve));
277
+ }
278
+ if (this._cancelled)
279
+ throw new source_provider_1.QueryCancelledError("Source stream closed");
280
+ });
281
+ }
282
+ close() {
283
+ if (this._current.length > 0) {
284
+ this._pages.push(this._current);
285
+ this._current = [];
286
+ }
287
+ this._done = true;
288
+ this._wakeConsumer();
289
+ }
290
+ fail(error) {
291
+ this._error = error;
292
+ this._done = true;
293
+ this._wakeConsumer();
294
+ }
295
+ cancel() {
296
+ this._cancelled = true;
297
+ this._wakeProducer();
298
+ }
299
+ drain() {
300
+ this._unbounded = true;
301
+ this._wakeProducer();
302
+ }
303
+ pages() {
304
+ return __asyncGenerator(this, arguments, function* pages_1() {
305
+ while (true) {
306
+ if (this._pages.length > 0) {
307
+ const page = this._pages.shift();
308
+ this._wakeProducer();
309
+ yield yield __await(page);
310
+ continue;
311
+ }
312
+ if (this._done) {
313
+ if (this._error !== null &&
314
+ !(this._cancelled && this._error instanceof source_provider_1.QueryCancelledError)) {
315
+ throw this._error;
316
+ }
317
+ return yield __await(void 0);
318
+ }
319
+ yield __await(new Promise((resolve) => (this._consumerWaiter = resolve)));
320
+ }
321
+ });
322
+ }
323
+ _wakeConsumer() {
324
+ const w = this._consumerWaiter;
325
+ this._consumerWaiter = null;
326
+ w === null || w === void 0 ? void 0 : w();
327
+ }
328
+ _wakeProducer() {
329
+ const w = this._producerWaiter;
330
+ this._producerWaiter = null;
331
+ w === null || w === void 0 ? void 0 : w();
332
+ }
141
333
  }
142
334
  exports.default = VirtualStatement;
143
335
  //# sourceMappingURL=virtual_statement.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"virtual_statement.js","sourceRoot":"","sources":["../../src/graph/virtual_statement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uDAAwD;AAExD;;;;;;;;GAQG;AACH,MAAM,gBAAgB;IAAtB;QACY,eAAU,GAAmB,IAAI,CAAC;QAClC,cAAS,GAAY,KAAK,CAAC;QAC3B,oBAAe,GAAkB,IAAI,CAAC;QACtC,WAAM,GAAiC,IAAI,CAAC;QAC5C,cAAS,GAAW,CAAC,CAAC;IAwFlC,CAAC;IAtFG,IAAW,SAAS,CAAC,SAAyB;QAC1C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,eAAe,EAAE,CAAC;IAC3B,CAAC;IACD,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAc;QAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED,IAAW,cAAc,CAAC,KAAoB;QAC1C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;IACvB,CAAC;IAED,8EAA8E;IACtE,YAAY;QAChB,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;IAC/F,CAAC;IAED;;;;;;;;;;OAUG;IACU,IAAI;6DACb,OAAmC,IAAI,EACvC,aAAsB,KAAK;YAE3B,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACzC,CAAC;YACD,kEAAkE;YAClE,oEAAoE;YACpE,8DAA8D;YAC9D,YAAY;YACZ,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC;YACjE,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBAC3D,OAAO,IAAI,CAAC,MAAM,CAAC;YACvB,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YACrD,IAAI,SAAS,EAAE,CAAC;gBACZ,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;gBACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;IAEa,QAAQ,CAClB,IAAgC,EAChC,UAAmB;;YAEnB,kDAAkD;YAClD,kEAAkE;YAClE,sDAAsD;YACtD,MAAM,UAAU,GAAkB,CAAC,wDAAa,mBAAmB,GAAC,CAAC,CAAC,OAAO,CAAC;YAC9E,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3E,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;YACnB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;YAC9B,IAAI,UAAU,EAAE,CAAC;gBACb,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC;gBAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC3B,IAAA,qCAAmB,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5C,CAAC;YACL,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC;KAAA;CACJ;AAED,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"virtual_statement.js","sourceRoot":"","sources":["../../src/graph/virtual_statement.ts"],"names":[],"mappings":"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"}
@@ -10,4 +10,7 @@ import type { CellBindingTrace, CellTrace, LineageReport, NodeBinding, Relations
10
10
  import type { ColumnLineage, ColumnReference, NodeInfo, RelationshipInfo, StatementInfo } from "./parsing/statement_info_crawler";
11
11
  export default FlowQuery;
12
12
  export type { CellBindingTrace, CellTrace, ColumnLineage, ColumnReference, LineageReport, NodeBinding, NodeInfo, RelationshipBinding, RelationshipHop, RelationshipInfo, RowProvenance, RunnerMetadata, RunnerOptions, StatementInfo, };
13
+ export { SOURCE_CONTRACT_VERSION, PREDICATE_OPERATORS, SourceError, SourceCapabilityError, SourceResponseError, SourceUnsupportedError, QueryCancelledError, cursorPages, matchesPredicate, inMemoryNodeSource, inMemoryRelationshipSource, } from "./graph/source_provider";
14
+ export type { SourceRow, InMemorySourceOptions, PredicateOperator, SourcePredicate, PredicateCapabilities, NodeSourceCapabilities, RelationshipSourceCapabilities, NodeScanRequest, NodeLookupRequest, RelationshipScanRequest, RelationshipExpandRequest, NodeSourceRequest, RelationshipSourceRequest, SourceReadContext, SourceResult, NodeSourceProvider, RelationshipSourceProvider, } from "./graph/source_provider";
15
+ export type { SourceOptions, SourceStats, SourcePlan } from "./graph/source_context";
13
16
  //# sourceMappingURL=index.browser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACR,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACR,aAAa,EACb,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,aAAa,EAChB,MAAM,kCAAkC,CAAC;AA+B1C,eAAe,SAAS,CAAC;AACzB,YAAY,EACR,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,GAChB,CAAC"}
1
+ {"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EACR,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAc,EACd,aAAa,EAChB,MAAM,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EACR,aAAa,EACb,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,aAAa,EAChB,MAAM,kCAAkC,CAAC;AA+B1C,eAAe,SAAS,CAAC;AACzB,YAAY,EACR,gBAAgB,EAChB,SAAS,EACT,aAAa,EACb,eAAe,EACf,aAAa,EACb,WAAW,EACX,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,aAAa,EACb,aAAa,GAChB,CAAC;AAGF,OAAO,EACH,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.inMemoryRelationshipSource = exports.inMemoryNodeSource = exports.matchesPredicate = exports.cursorPages = exports.QueryCancelledError = exports.SourceUnsupportedError = exports.SourceResponseError = exports.SourceCapabilityError = exports.SourceError = exports.PREDICATE_OPERATORS = exports.SOURCE_CONTRACT_VERSION = void 0;
6
7
  /**
7
8
  * FlowQuery - A declarative query language for data processing pipelines.
8
9
  *
@@ -36,4 +37,17 @@ flowquery_1.default.getFunctionMetadata = function (name) {
36
37
  */
37
38
  flowquery_1.default.Function = function_1.default;
38
39
  exports.default = flowquery_1.default;
40
+ // Backend-aware virtual source contract
41
+ var source_provider_1 = require("./graph/source_provider");
42
+ Object.defineProperty(exports, "SOURCE_CONTRACT_VERSION", { enumerable: true, get: function () { return source_provider_1.SOURCE_CONTRACT_VERSION; } });
43
+ Object.defineProperty(exports, "PREDICATE_OPERATORS", { enumerable: true, get: function () { return source_provider_1.PREDICATE_OPERATORS; } });
44
+ Object.defineProperty(exports, "SourceError", { enumerable: true, get: function () { return source_provider_1.SourceError; } });
45
+ Object.defineProperty(exports, "SourceCapabilityError", { enumerable: true, get: function () { return source_provider_1.SourceCapabilityError; } });
46
+ Object.defineProperty(exports, "SourceResponseError", { enumerable: true, get: function () { return source_provider_1.SourceResponseError; } });
47
+ Object.defineProperty(exports, "SourceUnsupportedError", { enumerable: true, get: function () { return source_provider_1.SourceUnsupportedError; } });
48
+ Object.defineProperty(exports, "QueryCancelledError", { enumerable: true, get: function () { return source_provider_1.QueryCancelledError; } });
49
+ Object.defineProperty(exports, "cursorPages", { enumerable: true, get: function () { return source_provider_1.cursorPages; } });
50
+ Object.defineProperty(exports, "matchesPredicate", { enumerable: true, get: function () { return source_provider_1.matchesPredicate; } });
51
+ Object.defineProperty(exports, "inMemoryNodeSource", { enumerable: true, get: function () { return source_provider_1.inMemoryNodeSource; } });
52
+ Object.defineProperty(exports, "inMemoryRelationshipSource", { enumerable: true, get: function () { return source_provider_1.inMemoryRelationshipSource; } });
39
53
  //# sourceMappingURL=index.browser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":";;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAY3D,4EAAoD;AACpD,4FAAmE;AAcnE;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC"}
1
+ {"version":3,"file":"index.browser.js","sourceRoot":"","sources":["../src/index.browser.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAY3D,4EAAoD;AACpD,4FAAmE;AAcnE;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC;AAkBzB,wCAAwC;AACxC,2DAYiC;AAX7B,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAChB,qHAAA,kBAAkB,OAAA;AAClB,6HAAA,0BAA0B,OAAA"}
@@ -13,4 +13,7 @@ import { FunctionMetadata, OutputSchema, ParameterSchema } from "./parsing/funct
13
13
  import { ColumnLineage, ColumnReference, NodeInfo, RelationshipInfo, StatementInfo } from "./parsing/statement_info_crawler";
14
14
  export default FlowQuery;
15
15
  export { FlowQuery, Function, FunctionFactory, AsyncDataProvider, FunctionMetadata, ParameterSchema, OutputSchema, RunnerMetadata, StatementInfo, NodeInfo, RelationshipInfo, ColumnLineage, ColumnReference, CellTrace, CellBindingTrace, LineageReport, };
16
+ export { SOURCE_CONTRACT_VERSION, PREDICATE_OPERATORS, SourceError, SourceCapabilityError, SourceResponseError, SourceUnsupportedError, QueryCancelledError, cursorPages, matchesPredicate, inMemoryNodeSource, inMemoryRelationshipSource, } from "./graph/source_provider";
17
+ export type { SourceRow, InMemorySourceOptions, PredicateOperator, SourcePredicate, PredicateCapabilities, NodeSourceCapabilities, RelationshipSourceCapabilities, NodeScanRequest, NodeLookupRequest, RelationshipScanRequest, RelationshipExpandRequest, NodeSourceRequest, RelationshipSourceRequest, SourceReadContext, SourceResult, NodeSourceProvider, RelationshipSourceProvider, } from "./graph/source_provider";
18
+ export type { SourceOptions, SourceStats, SourcePlan } from "./graph/source_context";
16
19
  //# sourceMappingURL=index.node.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,eAAe,EAAE,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACH,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,aAAa,EACb,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,aAAa,EAChB,MAAM,kCAAkC,CAAC;AA+B1C,eAAe,SAAS,CAAC;AACzB,OAAO,EACH,SAAS,EACT,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,GAChB,CAAC"}
1
+ {"version":3,"file":"index.node.d.ts","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAC9F,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,eAAe,EAAE,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACH,gBAAgB,EAChB,YAAY,EACZ,eAAe,EAClB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACH,aAAa,EACb,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,aAAa,EAChB,MAAM,kCAAkC,CAAC;AA+B1C,eAAe,SAAS,CAAC;AACzB,OAAO,EACH,SAAS,EACT,QAAQ,EACR,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,cAAc,EACd,aAAa,EACb,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,aAAa,GAChB,CAAC;AAGF,OAAO,EACH,uBAAuB,EACvB,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACR,SAAS,EACT,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,8BAA8B,EAC9B,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,iBAAiB,EACjB,yBAAyB,EACzB,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,0BAA0B,GAC7B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FunctionFactory = exports.Function = exports.FlowQuery = void 0;
6
+ exports.inMemoryRelationshipSource = exports.inMemoryNodeSource = exports.matchesPredicate = exports.cursorPages = exports.QueryCancelledError = exports.SourceUnsupportedError = exports.SourceResponseError = exports.SourceCapabilityError = exports.SourceError = exports.PREDICATE_OPERATORS = exports.SOURCE_CONTRACT_VERSION = exports.FunctionFactory = exports.Function = exports.FlowQuery = void 0;
7
7
  /**
8
8
  * FlowQuery - A declarative query language for data processing pipelines.
9
9
  *
@@ -40,4 +40,17 @@ flowquery_1.default.getFunctionMetadata = function (name) {
40
40
  */
41
41
  flowquery_1.default.Function = function_1.default;
42
42
  exports.default = flowquery_1.default;
43
+ // Backend-aware virtual source contract
44
+ var source_provider_1 = require("./graph/source_provider");
45
+ Object.defineProperty(exports, "SOURCE_CONTRACT_VERSION", { enumerable: true, get: function () { return source_provider_1.SOURCE_CONTRACT_VERSION; } });
46
+ Object.defineProperty(exports, "PREDICATE_OPERATORS", { enumerable: true, get: function () { return source_provider_1.PREDICATE_OPERATORS; } });
47
+ Object.defineProperty(exports, "SourceError", { enumerable: true, get: function () { return source_provider_1.SourceError; } });
48
+ Object.defineProperty(exports, "SourceCapabilityError", { enumerable: true, get: function () { return source_provider_1.SourceCapabilityError; } });
49
+ Object.defineProperty(exports, "SourceResponseError", { enumerable: true, get: function () { return source_provider_1.SourceResponseError; } });
50
+ Object.defineProperty(exports, "SourceUnsupportedError", { enumerable: true, get: function () { return source_provider_1.SourceUnsupportedError; } });
51
+ Object.defineProperty(exports, "QueryCancelledError", { enumerable: true, get: function () { return source_provider_1.QueryCancelledError; } });
52
+ Object.defineProperty(exports, "cursorPages", { enumerable: true, get: function () { return source_provider_1.cursorPages; } });
53
+ Object.defineProperty(exports, "matchesPredicate", { enumerable: true, get: function () { return source_provider_1.matchesPredicate; } });
54
+ Object.defineProperty(exports, "inMemoryNodeSource", { enumerable: true, get: function () { return source_provider_1.inMemoryNodeSource; } });
55
+ Object.defineProperty(exports, "inMemoryRelationshipSource", { enumerable: true, get: function () { return source_provider_1.inMemoryRelationshipSource; } });
43
56
  //# sourceMappingURL=index.node.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.node.js","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAgDvD,0FAhDgB,mBAAS,OAgDhB;AA9Cb,4EAAoD;AA+ChD,mBA/CG,kBAAQ,CA+CH;AA9CZ,4FAA0F;AA+CtF,0BA/CG,0BAAe,CA+CH;AAjCnB;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC"}
1
+ {"version":3,"file":"index.node.js","sourceRoot":"","sources":["../src/index.node.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,oEAA2D;AAgDvD,0FAhDgB,mBAAS,OAgDhB;AA9Cb,4EAAoD;AA+ChD,mBA/CG,kBAAQ,CA+CH;AA9CZ,4FAA0F;AA+CtF,0BA/CG,0BAAe,CA+CH;AAjCnB;;;;;GAKG;AACH,mBAAS,CAAC,aAAa,GAAG,UAAU,OAInC;IACG,OAAO,0BAAe,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF;;;;;GAKG;AACH,mBAAS,CAAC,mBAAmB,GAAG,UAAU,IAAY;IAClD,OAAO,0BAAe,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF;;GAEG;AACH,mBAAS,CAAC,QAAQ,GAAG,kBAAQ,CAAC;AAE9B,kBAAe,mBAAS,CAAC;AAoBzB,wCAAwC;AACxC,2DAYiC;AAX7B,0HAAA,uBAAuB,OAAA;AACvB,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,wHAAA,qBAAqB,OAAA;AACrB,sHAAA,mBAAmB,OAAA;AACnB,yHAAA,sBAAsB,OAAA;AACtB,sHAAA,mBAAmB,OAAA;AACnB,8GAAA,WAAW,OAAA;AACX,mHAAA,gBAAgB,OAAA;AAChB,qHAAA,kBAAkB,OAAA;AAClB,6HAAA,0BAA0B,OAAA"}
@@ -3,6 +3,8 @@ import Return from "./return";
3
3
  declare class AggregatedReturn extends Return {
4
4
  private _group_by;
5
5
  run(): Promise<void>;
6
+ get saturated(): boolean;
7
+ get supportsRowSink(): boolean;
6
8
  /**
7
9
  * Provenance sources registered on an aggregate RETURN are folded
8
10
  * into the active group's dedup maps rather than snapshotted per
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAI3E,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,cAAM,gBAAiB,SAAQ,MAAM;IACjC,OAAO,CAAC,SAAS,CAA0E;IAC9E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAG1C;IACY,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,OAAO,CAAC,qBAAqB;CAiDhC;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"aggregated_return.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAI3E,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,cAAM,gBAAiB,SAAQ,MAAM;IACjC,OAAO,CAAC,SAAS,CAA0E;IAC9E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC,IAAW,SAAS,IAAI,OAAO,CAE9B;IACD,IAAW,eAAe,IAAI,OAAO,CAEpC;IACD;;;;;OAKG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D,IAAW,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAG1C;IACY,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC,OAAO,CAAC,qBAAqB;CAiDhC;AAED,eAAe,gBAAgB,CAAC"}
@@ -25,6 +25,12 @@ class AggregatedReturn extends return_1.default {
25
25
  yield this._group_by.run();
26
26
  });
27
27
  }
28
+ get saturated() {
29
+ return false;
30
+ }
31
+ get supportsRowSink() {
32
+ return false;
33
+ }
28
34
  /**
29
35
  * Provenance sources registered on an aggregate RETURN are folded
30
36
  * into the active group's dedup maps rather than snapshotted per
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aggregated_return.js","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_return.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,8 @@ declare class AggregatedWith extends With {
10
10
  */
11
11
  private _currentGroupProvenance;
12
12
  run(): Promise<void>;
13
+ get saturated(): boolean;
14
+ get supportsRowSink(): boolean;
13
15
  /**
14
16
  * Forward upstream provenance sources into the embedded `GroupBy`
15
17
  * so each group accumulates the union of contributing bindings.
@@ -1 +1 @@
1
- {"version":3,"file":"aggregated_with.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAG3E,OAAO,IAAI,MAAM,UAAU,CAAC;AAE5B,cAAM,cAAe,SAAQ,IAAI;IAC7B,OAAO,CAAC,SAAS,CAA0E;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA8B;IAChD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC;;;OAGG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D;;;;;OAKG;IACI,kBAAkB,IAAI,gBAAgB;IAMhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAwCvC;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"aggregated_with.d.ts","sourceRoot":"","sources":["../../../src/parsing/operations/aggregated_with.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAiB,MAAM,0BAA0B,CAAC;AAG3E,OAAO,IAAI,MAAM,UAAU,CAAC;AAE5B,cAAM,cAAe,SAAQ,IAAI;IAC7B,OAAO,CAAC,SAAS,CAA0E;IAC3F;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB,CAA8B;IAChD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAGjC,IAAW,SAAS,IAAI,OAAO,CAE9B;IACD,IAAW,eAAe,IAAI,OAAO,CAEpC;IACD;;;OAGG;IACI,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAG1D;;;;;OAKG;IACI,kBAAkB,IAAI,gBAAgB;IAMhC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAwCvC;AAED,eAAe,cAAc,CAAC"}
@@ -31,6 +31,12 @@ class AggregatedWith extends return_1.default {
31
31
  yield this._group_by.run();
32
32
  });
33
33
  }
34
+ get saturated() {
35
+ return false;
36
+ }
37
+ get supportsRowSink() {
38
+ return false;
39
+ }
34
40
  /**
35
41
  * Forward upstream provenance sources into the embedded `GroupBy`
36
42
  * so each group accumulates the union of contributing bindings.