rowpipe 1.2.0 → 2.1.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 (148) hide show
  1. package/README.md +238 -55
  2. package/dist/cli/commands/count.d.ts +12 -0
  3. package/dist/cli/commands/count.d.ts.map +1 -0
  4. package/dist/cli/commands/count.js +49 -0
  5. package/dist/cli/commands/count.js.map +1 -0
  6. package/dist/cli/commands/explain.d.ts +3 -0
  7. package/dist/cli/commands/explain.d.ts.map +1 -0
  8. package/dist/cli/commands/explain.js +11 -0
  9. package/dist/cli/commands/explain.js.map +1 -0
  10. package/dist/cli/commands/files.d.ts +3 -1
  11. package/dist/cli/commands/files.d.ts.map +1 -1
  12. package/dist/cli/commands/files.js +6 -2
  13. package/dist/cli/commands/files.js.map +1 -1
  14. package/dist/cli/commands/group.d.ts +12 -0
  15. package/dist/cli/commands/group.d.ts.map +1 -0
  16. package/dist/cli/commands/group.js +51 -0
  17. package/dist/cli/commands/group.js.map +1 -0
  18. package/dist/cli/commands/head.d.ts +7 -0
  19. package/dist/cli/commands/head.d.ts.map +1 -0
  20. package/dist/cli/commands/head.js +6 -0
  21. package/dist/cli/commands/head.js.map +1 -0
  22. package/dist/cli/commands/limit.d.ts +11 -0
  23. package/dist/cli/commands/limit.d.ts.map +1 -0
  24. package/dist/cli/commands/limit.js +40 -0
  25. package/dist/cli/commands/limit.js.map +1 -0
  26. package/dist/cli/commands/offset.d.ts +11 -0
  27. package/dist/cli/commands/offset.d.ts.map +1 -0
  28. package/dist/cli/commands/offset.js +39 -0
  29. package/dist/cli/commands/offset.js.map +1 -0
  30. package/dist/cli/commands/pipeline.d.ts +43 -0
  31. package/dist/cli/commands/pipeline.d.ts.map +1 -0
  32. package/dist/cli/commands/pipeline.js +198 -0
  33. package/dist/cli/commands/pipeline.js.map +1 -0
  34. package/dist/cli/commands/sort.d.ts +17 -0
  35. package/dist/cli/commands/sort.d.ts.map +1 -0
  36. package/dist/cli/commands/sort.js +55 -0
  37. package/dist/cli/commands/sort.js.map +1 -0
  38. package/dist/cli/commands/tail.d.ts +13 -0
  39. package/dist/cli/commands/tail.d.ts.map +1 -0
  40. package/dist/cli/commands/tail.js +39 -0
  41. package/dist/cli/commands/tail.js.map +1 -0
  42. package/dist/cli/commands/top.d.ts +19 -0
  43. package/dist/cli/commands/top.d.ts.map +1 -0
  44. package/dist/cli/commands/top.js +51 -0
  45. package/dist/cli/commands/top.js.map +1 -0
  46. package/dist/cli/commands/unique.d.ts +15 -0
  47. package/dist/cli/commands/unique.d.ts.map +1 -0
  48. package/dist/cli/commands/unique.js +44 -0
  49. package/dist/cli/commands/unique.js.map +1 -0
  50. package/dist/cli/index.js +253 -3
  51. package/dist/cli/index.js.map +1 -1
  52. package/dist/core/pipeline.d.ts +40 -0
  53. package/dist/core/pipeline.d.ts.map +1 -1
  54. package/dist/core/pipeline.js +65 -0
  55. package/dist/core/pipeline.js.map +1 -1
  56. package/dist/files/reader.d.ts.map +1 -1
  57. package/dist/files/reader.js +4 -0
  58. package/dist/files/reader.js.map +1 -1
  59. package/dist/files/types.d.ts +2 -0
  60. package/dist/files/types.d.ts.map +1 -1
  61. package/dist/index.d.ts +12 -0
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +13 -0
  64. package/dist/index.js.map +1 -1
  65. package/dist/planner/executor.d.ts +8 -0
  66. package/dist/planner/executor.d.ts.map +1 -0
  67. package/dist/planner/executor.js +86 -0
  68. package/dist/planner/executor.js.map +1 -0
  69. package/dist/planner/explain.d.ts +6 -0
  70. package/dist/planner/explain.d.ts.map +1 -0
  71. package/dist/planner/explain.js +91 -0
  72. package/dist/planner/explain.js.map +1 -0
  73. package/dist/planner/index.d.ts +5 -0
  74. package/dist/planner/index.d.ts.map +1 -0
  75. package/dist/planner/index.js +5 -0
  76. package/dist/planner/index.js.map +1 -0
  77. package/dist/planner/optimizer.d.ts +9 -0
  78. package/dist/planner/optimizer.d.ts.map +1 -0
  79. package/dist/planner/optimizer.js +78 -0
  80. package/dist/planner/optimizer.js.map +1 -0
  81. package/dist/planner/types.d.ts +63 -0
  82. package/dist/planner/types.d.ts.map +1 -0
  83. package/dist/planner/types.js +2 -0
  84. package/dist/planner/types.js.map +1 -0
  85. package/dist/transforms/count.d.ts +21 -0
  86. package/dist/transforms/count.d.ts.map +1 -0
  87. package/dist/transforms/count.js +65 -0
  88. package/dist/transforms/count.js.map +1 -0
  89. package/dist/transforms/expression.d.ts.map +1 -1
  90. package/dist/transforms/expression.js +15 -0
  91. package/dist/transforms/expression.js.map +1 -1
  92. package/dist/transforms/group.d.ts +25 -0
  93. package/dist/transforms/group.d.ts.map +1 -0
  94. package/dist/transforms/group.js +71 -0
  95. package/dist/transforms/group.js.map +1 -0
  96. package/dist/transforms/limit.d.ts +7 -0
  97. package/dist/transforms/limit.d.ts.map +1 -0
  98. package/dist/transforms/limit.js +40 -0
  99. package/dist/transforms/limit.js.map +1 -0
  100. package/dist/transforms/offset.d.ts +7 -0
  101. package/dist/transforms/offset.d.ts.map +1 -0
  102. package/dist/transforms/offset.js +38 -0
  103. package/dist/transforms/offset.js.map +1 -0
  104. package/dist/transforms/sort/comparator.d.ts +43 -0
  105. package/dist/transforms/sort/comparator.d.ts.map +1 -0
  106. package/dist/transforms/sort/comparator.js +131 -0
  107. package/dist/transforms/sort/comparator.js.map +1 -0
  108. package/dist/transforms/sort/external-sort.d.ts +8 -0
  109. package/dist/transforms/sort/external-sort.d.ts.map +1 -0
  110. package/dist/transforms/sort/external-sort.js +159 -0
  111. package/dist/transforms/sort/external-sort.js.map +1 -0
  112. package/dist/transforms/sort/index.d.ts +10 -0
  113. package/dist/transforms/sort/index.d.ts.map +1 -0
  114. package/dist/transforms/sort/index.js +11 -0
  115. package/dist/transforms/sort/index.js.map +1 -0
  116. package/dist/transforms/tail.d.ts +6 -0
  117. package/dist/transforms/tail.d.ts.map +1 -0
  118. package/dist/transforms/tail.js +27 -0
  119. package/dist/transforms/tail.js.map +1 -0
  120. package/dist/transforms/top.d.ts +17 -0
  121. package/dist/transforms/top.d.ts.map +1 -0
  122. package/dist/transforms/top.js +52 -0
  123. package/dist/transforms/top.js.map +1 -0
  124. package/dist/transforms/unique.d.ts +13 -0
  125. package/dist/transforms/unique.d.ts.map +1 -0
  126. package/dist/transforms/unique.js +91 -0
  127. package/dist/transforms/unique.js.map +1 -0
  128. package/dist/utils/formatting.d.ts +1 -0
  129. package/dist/utils/formatting.d.ts.map +1 -1
  130. package/dist/utils/formatting.js +34 -4
  131. package/dist/utils/formatting.js.map +1 -1
  132. package/dist/utils/heap.d.ts +25 -0
  133. package/dist/utils/heap.d.ts.map +1 -0
  134. package/dist/utils/heap.js +90 -0
  135. package/dist/utils/heap.js.map +1 -0
  136. package/dist/utils/keystore.d.ts +80 -0
  137. package/dist/utils/keystore.d.ts.map +1 -0
  138. package/dist/utils/keystore.js +217 -0
  139. package/dist/utils/keystore.js.map +1 -0
  140. package/dist/utils/ring-buffer.d.ts +15 -0
  141. package/dist/utils/ring-buffer.d.ts.map +1 -0
  142. package/dist/utils/ring-buffer.js +40 -0
  143. package/dist/utils/ring-buffer.js.map +1 -0
  144. package/dist/writers/markdown.d.ts.map +1 -1
  145. package/dist/writers/markdown.js +41 -12
  146. package/dist/writers/markdown.js.map +1 -1
  147. package/package.json +3 -2
  148. package/skills/rowpipe/SKILL.md +27 -9
@@ -0,0 +1,65 @@
1
+ import { HyperLogLog } from "../analytics/stats.js";
2
+ import { encodeCompositeKey } from "../diff/key.js";
3
+ /**
4
+ * Executes high-performance streaming count analysis over DataStream.
5
+ */
6
+ export async function countStream(stream, options = {}) {
7
+ const byCols = options.by
8
+ ? (Array.isArray(options.by) ? options.by : options.by.split(",").map((s) => s.trim()).filter(Boolean))
9
+ : undefined;
10
+ let totalRows = 0;
11
+ const distinctCol = options.distinct;
12
+ const useApprox = options.approx ?? false;
13
+ const hll = distinctCol && useApprox ? new HyperLogLog(12) : null;
14
+ const exactDistinctSet = distinctCol && !useApprox ? new Set() : null;
15
+ const groupCounts = byCols ? new Map() : null;
16
+ for await (const batch of stream) {
17
+ totalRows += batch.rows.length;
18
+ if (distinctCol) {
19
+ for (let i = 0; i < batch.rows.length; i++) {
20
+ const val = batch.rows[i][distinctCol];
21
+ if (val !== null && val !== undefined) {
22
+ if (hll) {
23
+ hll.add(val);
24
+ }
25
+ else if (exactDistinctSet) {
26
+ exactDistinctSet.add(String(val));
27
+ }
28
+ }
29
+ }
30
+ }
31
+ if (byCols && groupCounts) {
32
+ for (let i = 0; i < batch.rows.length; i++) {
33
+ const row = batch.rows[i];
34
+ const { encoded, rawKey } = encodeCompositeKey(row, byCols);
35
+ const existing = groupCounts.get(encoded);
36
+ if (existing) {
37
+ existing.count++;
38
+ }
39
+ else {
40
+ groupCounts.set(encoded, { key: rawKey, count: 1 });
41
+ }
42
+ }
43
+ }
44
+ }
45
+ let distinctCount;
46
+ if (distinctCol) {
47
+ if (hll) {
48
+ distinctCount = hll.count();
49
+ }
50
+ else if (exactDistinctSet) {
51
+ distinctCount = exactDistinctSet.size;
52
+ }
53
+ }
54
+ let groups;
55
+ if (groupCounts) {
56
+ groups = Array.from(groupCounts.values()).sort((a, b) => b.count - a.count);
57
+ }
58
+ return {
59
+ totalRows,
60
+ distinctCount,
61
+ isApproximate: useApprox && Boolean(distinctCol),
62
+ groups,
63
+ };
64
+ }
65
+ //# sourceMappingURL=count.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"count.js","sourceRoot":"","sources":["../../src/transforms/count.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/transforms/expression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAI5C,KAAK,SAAS,GACV,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,YAAY,GACZ,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,KAAK,CAAC;AAEV,UAAU,KAAK;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAK;gBAEP,KAAK,EAAE,MAAM;IAIzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAUf,QAAQ,IAAI,KAAK,EAAE;CAyJpB;AAGD,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE1D,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAK;gBAER,MAAM,EAAE,KAAK,EAAE;IAI3B,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;IASb,KAAK,IAAI,OAAO;IAUhB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,YAAY;CAqDrB;AAosBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAc9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAWnF"}
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/transforms/expression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AAK5C,KAAK,SAAS,GACV,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,YAAY,GACZ,IAAI,GACJ,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,OAAO,GACP,KAAK,CAAC;AAEV,UAAU,KAAK;IACb,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACxC,GAAG,EAAE,MAAM,CAAC;CACb;AAGD,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAK;gBAEP,KAAK,EAAE,MAAM;IAIzB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,OAAO;IAUf,QAAQ,IAAI,KAAK,EAAE;CAyJpB;AAGD,MAAM,MAAM,OAAO,GACf;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAA;CAAE,GACxD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACrE;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,EAAE,CAAA;CAAE,CAAC;AAE1D,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,OAAO,CAAK;gBAER,MAAM,EAAE,KAAK,EAAE;IAI3B,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,OAAO;IAMf,OAAO,CAAC,KAAK;IASb,KAAK,IAAI,OAAO;IAUhB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,eAAe;IAiBvB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,mBAAmB;IAgB3B;;OAEG;IACH,OAAO,CAAC,SAAS;IAwCjB,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,YAAY;CAqDrB;AAqtBD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAc9E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,OAAO,CAWnF"}
@@ -1,5 +1,6 @@
1
1
  import { InvalidArgumentError } from "../core/errors.js";
2
2
  import { detectSemanticType } from "../analytics/semantic-types.js";
3
+ import { formatBytes, formatNumber, parseBytes } from "../utils/formatting.js";
3
4
  // Tokenizer
4
5
  export class Lexer {
5
6
  input;
@@ -803,6 +804,20 @@ function compileCallFunction(callee, argFns) {
803
804
  return ["true", "1", "yes", "t", "y"].includes(s);
804
805
  };
805
806
  }
807
+ case "formatbytes":
808
+ case "prettybytes":
809
+ case "humanbytes": {
810
+ const [fn] = argFns;
811
+ return (row) => formatBytes(Number(fn(row) ?? 0));
812
+ }
813
+ case "parsebytes": {
814
+ const [fn] = argFns;
815
+ return (row) => parseBytes(fn(row));
816
+ }
817
+ case "formatnumber": {
818
+ const [fn] = argFns;
819
+ return (row) => formatNumber(Number(fn(row) ?? 0));
820
+ }
806
821
  // --- 7. JSON & Nested Access ---
807
822
  case "jsonget": {
808
823
  const [objFn, pathFn] = argFns;
@@ -1 +1 @@
1
- {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/transforms/expression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/transforms/expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { AggregationSpec } from "../analytics/reduce.js";
2
+ import type { TransformFunction } from "../core/types.js";
3
+ export interface GroupOptions {
4
+ by?: string | string[];
5
+ count?: boolean;
6
+ sum?: string | string[];
7
+ avg?: string | string[];
8
+ min?: string | string[];
9
+ max?: string | string[];
10
+ first?: string | string[];
11
+ last?: string | string[];
12
+ agg?: string | string[];
13
+ memoryLimit?: number | string;
14
+ tempDir?: string;
15
+ batchSize?: number;
16
+ }
17
+ /**
18
+ * Builds reduce specifications from group flags and explicit specs.
19
+ */
20
+ export declare function buildGroupReduceSpecs(options: GroupOptions): AggregationSpec[];
21
+ /**
22
+ * Groups and aggregates tabular stream with streaming single-pass accumulation.
23
+ */
24
+ export declare function groupRows(options?: GroupOptions): TransformFunction;
25
+ //# sourceMappingURL=group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.d.ts","sourceRoot":"","sources":["../../src/transforms/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,KAAK,EAA8B,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtF,MAAM,WAAW,YAAY;IAC3B,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,eAAe,EAAE,CAuC9E;AAkBD;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,YAAiB,GAAG,iBAAiB,CAWvE"}
@@ -0,0 +1,71 @@
1
+ import { parseReduceSpecs, reduceRows } from "../analytics/reduce.js";
2
+ /**
3
+ * Builds reduce specifications from group flags and explicit specs.
4
+ */
5
+ export function buildGroupReduceSpecs(options) {
6
+ const rawSpecs = [];
7
+ if (options.count) {
8
+ rawSpecs.push("count=count()");
9
+ }
10
+ const addFieldAggs = (func, fields, suffix) => {
11
+ if (!fields)
12
+ return;
13
+ const list = Array.isArray(fields) ? fields : fields.split(",").map((s) => s.trim()).filter(Boolean);
14
+ for (const f of list) {
15
+ const alias = suffix ? `${f}_${suffix}` : `${f}_${func}`;
16
+ rawSpecs.push(`${alias}=${func}(${f})`);
17
+ }
18
+ };
19
+ addFieldAggs("sum", options.sum, "sum");
20
+ addFieldAggs("avg", options.avg, "avg");
21
+ addFieldAggs("min", options.min, "min");
22
+ addFieldAggs("max", options.max, "max");
23
+ addFieldAggs("first", options.first, "first");
24
+ addFieldAggs("last", options.last, "last");
25
+ if (options.agg) {
26
+ if (Array.isArray(options.agg)) {
27
+ for (const a of options.agg) {
28
+ rawSpecs.push(...parseRawAggStrings(a));
29
+ }
30
+ }
31
+ else {
32
+ rawSpecs.push(...parseRawAggStrings(options.agg));
33
+ }
34
+ }
35
+ if (rawSpecs.length === 0) {
36
+ // Default to count() if grouped without explicit aggregations
37
+ rawSpecs.push("count=count()");
38
+ }
39
+ return parseReduceSpecs(rawSpecs);
40
+ }
41
+ function parseRawAggStrings(input) {
42
+ const parts = input.split(",").map((s) => s.trim()).filter(Boolean);
43
+ return parts.map((p) => {
44
+ if (p.includes("="))
45
+ return p;
46
+ // Auto-generate alias: sum(revenue) -> revenue_sum=sum(revenue), count() -> count=count()
47
+ const match = /^([a-zA-Z0-9_]+)\((.*)\)$/.exec(p);
48
+ if (match) {
49
+ const fn = match[1];
50
+ const col = match[2]?.trim();
51
+ if (!col)
52
+ return `${fn}=${p}`;
53
+ return `${col}_${fn}=${p}`;
54
+ }
55
+ return p;
56
+ });
57
+ }
58
+ /**
59
+ * Groups and aggregates tabular stream with streaming single-pass accumulation.
60
+ */
61
+ export function groupRows(options = {}) {
62
+ const byCols = options.by
63
+ ? (Array.isArray(options.by) ? options.by : options.by.split(",").map((s) => s.trim()).filter(Boolean))
64
+ : undefined;
65
+ const aggregations = buildGroupReduceSpecs(options);
66
+ return reduceRows({
67
+ by: byCols,
68
+ aggregations,
69
+ });
70
+ }
71
+ //# sourceMappingURL=group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../src/transforms/group.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { TransformFunction } from "../core/types.js";
2
+ /**
3
+ * Limits the number of rows emitted to `maxCount` and cancels the upstream stream immediately.
4
+ * Zero memory overhead ($O(1)$) and true early cancellation.
5
+ */
6
+ export declare function limitRows(maxCount: number): TransformFunction;
7
+ //# sourceMappingURL=limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limit.d.ts","sourceRoot":"","sources":["../../src/transforms/limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAqC7D"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Limits the number of rows emitted to `maxCount` and cancels the upstream stream immediately.
3
+ * Zero memory overhead ($O(1)$) and true early cancellation.
4
+ */
5
+ export function limitRows(maxCount) {
6
+ const limit = Math.max(0, maxCount);
7
+ return (stream) => {
8
+ return (async function* () {
9
+ if (limit === 0)
10
+ return;
11
+ let emitted = 0;
12
+ for await (const batch of stream) {
13
+ if (batch.rows.length === 0)
14
+ continue;
15
+ const remaining = limit - emitted;
16
+ if (remaining <= 0) {
17
+ break;
18
+ }
19
+ if (batch.rows.length <= remaining) {
20
+ yield batch;
21
+ emitted += batch.rows.length;
22
+ }
23
+ else {
24
+ // Slice partial batch to meet exact limit
25
+ const sliceRows = batch.rows.slice(0, remaining);
26
+ yield {
27
+ rows: sliceRows,
28
+ offset: batch.offset,
29
+ };
30
+ emitted += sliceRows.length;
31
+ break;
32
+ }
33
+ if (emitted >= limit) {
34
+ break;
35
+ }
36
+ }
37
+ })();
38
+ };
39
+ }
40
+ //# sourceMappingURL=limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"limit.js","sourceRoot":"","sources":["../../src/transforms/limit.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,QAAgB;IACxC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEpC,OAAO,CAAC,MAAkB,EAAc,EAAE;QACxC,OAAO,CAAC,KAAK,SAAS,CAAC;YACrB,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO;YAExB,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAEtC,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;gBAClC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM;gBACR,CAAC;gBAED,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;oBACnC,MAAM,KAAK,CAAC;oBACZ,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACN,0CAA0C;oBAC1C,MAAM,SAAS,GAAU,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;oBACxD,MAAM;wBACJ,IAAI,EAAE,SAAS;wBACf,MAAM,EAAE,KAAK,CAAC,MAAM;qBACrB,CAAC;oBACF,OAAO,IAAI,SAAS,CAAC,MAAM,CAAC;oBAC5B,MAAM;gBACR,CAAC;gBAED,IAAI,OAAO,IAAI,KAAK,EAAE,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TransformFunction } from "../core/types.js";
2
+ /**
3
+ * Skips the first `skipCount` rows in the stream without buffering.
4
+ * Zero memory overhead ($O(1)$).
5
+ */
6
+ export declare function offsetRows(skipCount: number): TransformFunction;
7
+ //# sourceMappingURL=offset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset.d.ts","sourceRoot":"","sources":["../../src/transforms/offset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA8B,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEtF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAqC/D"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Skips the first `skipCount` rows in the stream without buffering.
3
+ * Zero memory overhead ($O(1)$).
4
+ */
5
+ export function offsetRows(skipCount) {
6
+ const offsetToSkip = Math.max(0, skipCount);
7
+ return (stream) => {
8
+ return (async function* () {
9
+ if (offsetToSkip === 0) {
10
+ yield* stream;
11
+ return;
12
+ }
13
+ let skipped = 0;
14
+ for await (const batch of stream) {
15
+ if (batch.rows.length === 0)
16
+ continue;
17
+ if (skipped < offsetToSkip) {
18
+ const remainingToSkip = offsetToSkip - skipped;
19
+ if (batch.rows.length <= remainingToSkip) {
20
+ skipped += batch.rows.length;
21
+ continue;
22
+ }
23
+ // Partial batch skip
24
+ const remainingRows = batch.rows.slice(remainingToSkip);
25
+ skipped += remainingToSkip;
26
+ yield {
27
+ rows: remainingRows,
28
+ offset: batch.offset + remainingToSkip,
29
+ };
30
+ }
31
+ else {
32
+ yield batch;
33
+ }
34
+ }
35
+ })();
36
+ };
37
+ }
38
+ //# sourceMappingURL=offset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset.js","sourceRoot":"","sources":["../../src/transforms/offset.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,UAAU,UAAU,CAAC,SAAiB;IAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAE5C,OAAO,CAAC,MAAkB,EAAc,EAAE;QACxC,OAAO,CAAC,KAAK,SAAS,CAAC;YACrB,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;gBACvB,KAAK,CAAC,CAAC,MAAM,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,OAAO,GAAG,CAAC,CAAC;YAEhB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;oBAAE,SAAS;gBAEtC,IAAI,OAAO,GAAG,YAAY,EAAE,CAAC;oBAC3B,MAAM,eAAe,GAAG,YAAY,GAAG,OAAO,CAAC;oBAE/C,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;wBACzC,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC7B,SAAS;oBACX,CAAC;oBAED,qBAAqB;oBACrB,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;oBACxD,OAAO,IAAI,eAAe,CAAC;oBAE3B,MAAM;wBACJ,IAAI,EAAE,aAAa;wBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,eAAe;qBACvC,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,MAAM,KAAK,CAAC;gBACd,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,43 @@
1
+ import type { Row } from "../../core/types.js";
2
+ export interface SortKeySpec {
3
+ column: string;
4
+ direction?: "asc" | "desc";
5
+ nulls?: "first" | "last";
6
+ ignoreCase?: boolean;
7
+ natural?: boolean;
8
+ }
9
+ export interface SortOptions {
10
+ by: string | string[] | SortKeySpec[];
11
+ nulls?: "first" | "last";
12
+ ignoreCase?: boolean;
13
+ natural?: boolean;
14
+ memoryLimit?: number | string;
15
+ tempDir?: string;
16
+ batchSize?: number;
17
+ }
18
+ export interface SequencedRow {
19
+ row: Row;
20
+ seq: number;
21
+ }
22
+ /**
23
+ * Parses sort specifications from strings (e.g. "country,revenue:desc", "age:desc") or objects.
24
+ */
25
+ export declare function parseSortSpecs(input: string | string[] | SortKeySpec[], defaults?: {
26
+ defaultDirection?: "asc" | "desc";
27
+ nulls?: "first" | "last";
28
+ ignoreCase?: boolean;
29
+ natural?: boolean;
30
+ }): SortKeySpec[];
31
+ /**
32
+ * Compares two primitive values with typed semantics (numbers, dates, booleans, strings).
33
+ */
34
+ export declare function compareValues(a: unknown, b: unknown, spec: SortKeySpec): number;
35
+ /**
36
+ * Creates a deterministic, multi-column, stable row comparator.
37
+ */
38
+ export declare function createRowComparator(specs: SortKeySpec[]): (a: SequencedRow, b: SequencedRow) => number;
39
+ /**
40
+ * Creates a raw Row comparator (without seq).
41
+ */
42
+ export declare function createRawRowComparator(specs: SortKeySpec[]): (a: Row, b: Row) => number;
43
+ //# sourceMappingURL=comparator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"comparator.d.ts","sourceRoot":"","sources":["../../../src/transforms/sort/comparator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE/C,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,GAAG,CAAC;IACT,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,WAAW,EAAE,EACxC,QAAQ,GAAE;IACR,gBAAgB,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAClC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACd,GACL,WAAW,EAAE,CA0Cf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,IAAI,EAAE,WAAW,GAChB,MAAM,CAkDR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,KAAK,MAAM,CAmBtG;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,MAAM,CAcvF"}