flatsql 3.11.1 → 3.12.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 (181) hide show
  1. package/README.md +61 -795
  2. package/bin/flatsql.mjs +76 -0
  3. package/cpp/README.md +18 -0
  4. package/cpp/include/flatsql/flatsql.h +162 -0
  5. package/cpp/include/flatsql/flatsql_io.h +159 -0
  6. package/docs/API-3.12.md +114 -0
  7. package/package.json +28 -123
  8. package/wasm/flatsql.wasm +0 -0
  9. package/wasm/index.d.ts +61 -548
  10. package/wasm/index.js +280 -1281
  11. package/wasm/integrity.json +6 -26
  12. package/wasm/runtime/LICENSE.sdk.txt +190 -0
  13. package/wasm/runtime/NOTICE.txt +2 -0
  14. package/wasm/runtime/browser-guest.mjs +1 -0
  15. package/wasm/runtime/browser-host.mjs +1 -0
  16. package/wasm/runtime/node-guest.mjs +2 -0
  17. package/wasm/runtime/node-host.mjs +5 -0
  18. package/wasm/runtime/opfsIoWorker.mjs +1 -0
  19. package/wasm/runtime/wasiThreadBrowserWorker.mjs +1 -0
  20. package/dist/artifacts/index.d.ts +0 -3
  21. package/dist/artifacts/index.d.ts.map +0 -1
  22. package/dist/artifacts/index.js +0 -3
  23. package/dist/artifacts/index.js.map +0 -1
  24. package/dist/artifacts/transport.d.ts +0 -5
  25. package/dist/artifacts/transport.d.ts.map +0 -1
  26. package/dist/artifacts/transport.js +0 -45
  27. package/dist/artifacts/transport.js.map +0 -1
  28. package/dist/artifacts/types.d.ts +0 -34
  29. package/dist/artifacts/types.d.ts.map +0 -1
  30. package/dist/artifacts/types.js +0 -2
  31. package/dist/artifacts/types.js.map +0 -1
  32. package/dist/btree/btree.d.ts +0 -34
  33. package/dist/btree/btree.d.ts.map +0 -1
  34. package/dist/btree/btree.js +0 -234
  35. package/dist/btree/btree.js.map +0 -1
  36. package/dist/btree/index.d.ts +0 -3
  37. package/dist/btree/index.d.ts.map +0 -1
  38. package/dist/btree/index.js +0 -3
  39. package/dist/btree/index.js.map +0 -1
  40. package/dist/btree/types.d.ts +0 -36
  41. package/dist/btree/types.d.ts.map +0 -1
  42. package/dist/btree/types.js +0 -55
  43. package/dist/btree/types.js.map +0 -1
  44. package/dist/cluster/index.d.ts +0 -11
  45. package/dist/cluster/index.d.ts.map +0 -1
  46. package/dist/cluster/index.js +0 -59
  47. package/dist/cluster/index.js.map +0 -1
  48. package/dist/response/artifact.d.ts +0 -4
  49. package/dist/response/artifact.d.ts.map +0 -1
  50. package/dist/response/artifact.js +0 -102
  51. package/dist/response/artifact.js.map +0 -1
  52. package/dist/response/cache-key.d.ts +0 -6
  53. package/dist/response/cache-key.d.ts.map +0 -1
  54. package/dist/response/cache-key.js +0 -114
  55. package/dist/response/cache-key.js.map +0 -1
  56. package/dist/response/index.d.ts +0 -5
  57. package/dist/response/index.d.ts.map +0 -1
  58. package/dist/response/index.js +0 -5
  59. package/dist/response/index.js.map +0 -1
  60. package/dist/response/memory-cache.d.ts +0 -17
  61. package/dist/response/memory-cache.d.ts.map +0 -1
  62. package/dist/response/memory-cache.js +0 -76
  63. package/dist/response/memory-cache.js.map +0 -1
  64. package/dist/response/types.d.ts +0 -57
  65. package/dist/response/types.d.ts.map +0 -1
  66. package/dist/response/types.js +0 -2
  67. package/dist/response/types.js.map +0 -1
  68. package/dist/schema/index.d.ts +0 -3
  69. package/dist/schema/index.d.ts.map +0 -1
  70. package/dist/schema/index.js +0 -3
  71. package/dist/schema/index.js.map +0 -1
  72. package/dist/schema/parser.d.ts +0 -25
  73. package/dist/schema/parser.d.ts.map +0 -1
  74. package/dist/schema/parser.js +0 -474
  75. package/dist/schema/parser.js.map +0 -1
  76. package/dist/schema/types.d.ts +0 -33
  77. package/dist/schema/types.d.ts.map +0 -1
  78. package/dist/schema/types.js +0 -29
  79. package/dist/schema/types.js.map +0 -1
  80. package/dist/standalone/index.d.ts +0 -3
  81. package/dist/standalone/index.d.ts.map +0 -1
  82. package/dist/standalone/index.js +0 -3
  83. package/dist/standalone/index.js.map +0 -1
  84. package/dist/standalone/process-client.d.ts +0 -85
  85. package/dist/standalone/process-client.d.ts.map +0 -1
  86. package/dist/standalone/process-client.js +0 -537
  87. package/dist/standalone/process-client.js.map +0 -1
  88. package/dist/standalone/wasmedge-runner.d.ts +0 -19
  89. package/dist/standalone/wasmedge-runner.d.ts.map +0 -1
  90. package/dist/standalone/wasmedge-runner.js +0 -108
  91. package/dist/standalone/wasmedge-runner.js.map +0 -1
  92. package/dist/storage/index.d.ts +0 -3
  93. package/dist/storage/index.d.ts.map +0 -1
  94. package/dist/storage/index.js +0 -3
  95. package/dist/storage/index.js.map +0 -1
  96. package/dist/storage/stacked-flatbuffers.d.ts +0 -38
  97. package/dist/storage/stacked-flatbuffers.d.ts.map +0 -1
  98. package/dist/storage/stacked-flatbuffers.js +0 -253
  99. package/dist/storage/stacked-flatbuffers.js.map +0 -1
  100. package/dist/storage/types.d.ts +0 -23
  101. package/dist/storage/types.d.ts.map +0 -1
  102. package/dist/storage/types.js +0 -27
  103. package/dist/storage/types.js.map +0 -1
  104. package/dist/stress/aggregate.d.ts +0 -3
  105. package/dist/stress/aggregate.d.ts.map +0 -1
  106. package/dist/stress/aggregate.js +0 -61
  107. package/dist/stress/aggregate.js.map +0 -1
  108. package/dist/stress/docker-compose.d.ts +0 -17
  109. package/dist/stress/docker-compose.d.ts.map +0 -1
  110. package/dist/stress/docker-compose.js +0 -156
  111. package/dist/stress/docker-compose.js.map +0 -1
  112. package/dist/stress/index.d.ts +0 -10
  113. package/dist/stress/index.d.ts.map +0 -1
  114. package/dist/stress/index.js +0 -10
  115. package/dist/stress/index.js.map +0 -1
  116. package/dist/stress/metrics.d.ts +0 -3
  117. package/dist/stress/metrics.d.ts.map +0 -1
  118. package/dist/stress/metrics.js +0 -83
  119. package/dist/stress/metrics.js.map +0 -1
  120. package/dist/stress/native-publish-event-workload.d.ts +0 -3
  121. package/dist/stress/native-publish-event-workload.d.ts.map +0 -1
  122. package/dist/stress/native-publish-event-workload.js +0 -465
  123. package/dist/stress/native-publish-event-workload.js.map +0 -1
  124. package/dist/stress/production-gate.d.ts +0 -4
  125. package/dist/stress/production-gate.d.ts.map +0 -1
  126. package/dist/stress/production-gate.js +0 -12
  127. package/dist/stress/production-gate.js.map +0 -1
  128. package/dist/stress/report.d.ts +0 -3
  129. package/dist/stress/report.d.ts.map +0 -1
  130. package/dist/stress/report.js +0 -174
  131. package/dist/stress/report.js.map +0 -1
  132. package/dist/stress/sds-discovery.d.ts +0 -4
  133. package/dist/stress/sds-discovery.d.ts.map +0 -1
  134. package/dist/stress/sds-discovery.js +0 -40
  135. package/dist/stress/sds-discovery.js.map +0 -1
  136. package/dist/stress/smoke-runner.d.ts +0 -3
  137. package/dist/stress/smoke-runner.d.ts.map +0 -1
  138. package/dist/stress/smoke-runner.js +0 -64
  139. package/dist/stress/smoke-runner.js.map +0 -1
  140. package/dist/stress/types.d.ts +0 -219
  141. package/dist/stress/types.d.ts.map +0 -1
  142. package/dist/stress/types.js +0 -2
  143. package/dist/stress/types.js.map +0 -1
  144. package/dist/stress/workload.d.ts +0 -6
  145. package/dist/stress/workload.d.ts.map +0 -1
  146. package/dist/stress/workload.js +0 -144
  147. package/dist/stress/workload.js.map +0 -1
  148. package/docs/PARTITION-STORE-WASM.md +0 -338
  149. package/docs/PARTITION-STORE.md +0 -2380
  150. package/docs/agents/response-artifacts.md +0 -65
  151. package/docs/response-artifacts.md +0 -86
  152. package/scripts/stress-docker.sh +0 -279
  153. package/sdm/flatsql-spatial.wasm +0 -0
  154. package/sdm/index.d.ts +0 -88
  155. package/sdm/index.js +0 -253
  156. package/sdm/manifest.json +0 -402
  157. package/stress/docker/Dockerfile +0 -11
  158. package/stress/docker/docker-compose.yml +0 -51
  159. package/stress/sds/aggregate.mjs +0 -97
  160. package/stress/sds/run.mjs +0 -105
  161. package/stress/sds/write-compose.mjs +0 -96
  162. package/wasm/flatsql-client.js +0 -280
  163. package/wasm/flatsql-io.d.ts +0 -97
  164. package/wasm/flatsql-io.js +0 -625
  165. package/wasm/flatsql-p4-threads.wasm +0 -0
  166. package/wasm/flatsql-ps-threads.wasm +0 -0
  167. package/wasm/flatsql-wasi-noeh.wasm +0 -0
  168. package/wasm/flatsql-wasi.wasm +0 -0
  169. package/wasm/flatsql.js +0 -2
  170. package/wasm/flatsql.worker.js +0 -209
  171. package/wasm/native/flatsql_wasmedge_runner.cpp +0 -858
  172. package/wasm/ps-node-fault.d.mts +0 -23
  173. package/wasm/ps-node-fault.mjs +0 -381
  174. package/wasm/ps-node-guest.mjs +0 -173
  175. package/wasm/ps-node-host.d.mts +0 -95
  176. package/wasm/ps-node-host.mjs +0 -476
  177. package/wasm/ps-node-imports.mjs +0 -847
  178. package/wasm/ps.d.ts +0 -21
  179. package/wasm/ps.js +0 -75
  180. package/wasm/wasi.d.ts +0 -11
  181. package/wasm/wasi.js +0 -51
@@ -1,108 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { mkdir } from 'node:fs/promises';
3
- import { homedir } from 'node:os';
4
- import { dirname, join } from 'node:path';
5
- import { spawnSync } from 'node:child_process';
6
- import { fileURLToPath } from 'node:url';
7
- function defaultSourcePath() {
8
- return fileURLToPath(new URL('../../wasm/native/flatsql_wasmedge_runner.cpp', import.meta.url));
9
- }
10
- function firstExisting(candidates) {
11
- return candidates.find((candidate) => candidate !== undefined && existsSync(candidate));
12
- }
13
- function defaultIncludeDir() {
14
- return firstExisting([
15
- process.env.WASMEDGE_INCLUDE_DIR,
16
- join(homedir(), '.wasmedge', 'include'),
17
- '/opt/homebrew/include',
18
- '/usr/local/include',
19
- ]);
20
- }
21
- function defaultLibDir() {
22
- return firstExisting([
23
- process.env.WASMEDGE_LIB_DIR,
24
- join(homedir(), '.wasmedge', 'lib'),
25
- '/opt/homebrew/lib',
26
- '/usr/local/lib',
27
- ]);
28
- }
29
- function resolveInputs(options = {}) {
30
- const sourcePath = options.sourcePath ?? defaultSourcePath();
31
- const includeDir = options.includeDir ?? defaultIncludeDir();
32
- const libDir = options.libDir ?? defaultLibDir();
33
- if (!includeDir) {
34
- throw new Error('WasmEdge include directory not found. Set WASMEDGE_INCLUDE_DIR.');
35
- }
36
- if (!libDir) {
37
- throw new Error('WasmEdge library directory not found. Set WASMEDGE_LIB_DIR.');
38
- }
39
- return {
40
- outputPath: options.outputPath ?? 'flatsql-wasmedge-runner',
41
- sourcePath,
42
- includeDir,
43
- libDir,
44
- cxx: options.cxx ?? process.env.CXX ?? 'c++',
45
- extraArgs: options.extraArgs ?? [],
46
- };
47
- }
48
- export function hasWasmEdgeBuildInputs(options = {}) {
49
- try {
50
- const inputs = resolveInputs({ ...options, outputPath: options.outputPath ?? 'flatsql-wasmedge-runner' });
51
- return (existsSync(inputs.sourcePath) &&
52
- existsSync(join(inputs.includeDir, 'wasmedge', 'wasmedge.h')) &&
53
- (existsSync(join(inputs.libDir, 'libwasmedge.dylib')) ||
54
- existsSync(join(inputs.libDir, 'libwasmedge.so')) ||
55
- existsSync(join(inputs.libDir, 'libwasmedge.a'))) &&
56
- spawnSync(inputs.cxx, ['--version'], { encoding: 'utf8' }).status === 0);
57
- }
58
- catch {
59
- return false;
60
- }
61
- }
62
- export async function buildFlatSQLWasmEdgeRunner(options) {
63
- const inputs = resolveInputs(options);
64
- await mkdir(dirname(inputs.outputPath), { recursive: true });
65
- const args = [
66
- inputs.sourcePath,
67
- '-std=c++17',
68
- '-O2',
69
- '-I',
70
- inputs.includeDir,
71
- '-L',
72
- inputs.libDir,
73
- '-lwasmedge',
74
- '-o',
75
- inputs.outputPath,
76
- ...inputs.extraArgs,
77
- ];
78
- if (process.platform === 'darwin') {
79
- args.splice(args.length - inputs.extraArgs.length, 0, '-Wl,-rpath,' + inputs.libDir);
80
- }
81
- const result = spawnSync(inputs.cxx, args, {
82
- encoding: 'utf8',
83
- env: {
84
- ...process.env,
85
- DYLD_LIBRARY_PATH: process.env.DYLD_LIBRARY_PATH ?? inputs.libDir,
86
- LD_LIBRARY_PATH: process.env.LD_LIBRARY_PATH ?? inputs.libDir,
87
- },
88
- });
89
- if (result.status !== 0) {
90
- throw new Error([
91
- `Failed to build FlatSQL WasmEdge runner with ${inputs.cxx}.`,
92
- `Command: ${inputs.cxx} ${args.join(' ')}`,
93
- result.stdout,
94
- result.stderr,
95
- ]
96
- .filter(Boolean)
97
- .join('\n'));
98
- }
99
- return {
100
- outputPath: inputs.outputPath,
101
- sourcePath: inputs.sourcePath,
102
- includeDir: inputs.includeDir,
103
- libDir: inputs.libDir,
104
- command: inputs.cxx,
105
- args,
106
- };
107
- }
108
- //# sourceMappingURL=wasmedge-runner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"wasmedge-runner.js","sourceRoot":"","sources":["../../src/standalone/wasmedge-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAoBzC,SAAS,iBAAiB;IACxB,OAAO,aAAa,CAAC,IAAI,GAAG,CAAC,+CAA+C,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,aAAa,CAAC,UAAqC;IAC1D,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,KAAK,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC1F,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,aAAa,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,oBAAoB;QAChC,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,SAAS,CAAC;QACvC,uBAAuB;QACvB,oBAAoB;KACrB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa;IACpB,OAAO,aAAa,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,gBAAgB;QAC5B,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,CAAC;QACnC,mBAAmB;QACnB,gBAAgB;KACjB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,aAAa,CAAC,UAAsD,EAAE;IAI7E,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAC;IAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,iBAAiB,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,aAAa,EAAE,CAAC;IAEjD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IAED,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,yBAAyB;QAC3D,UAAU;QACV,UAAU;QACV,MAAM;QACN,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK;QAC5C,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,EAAE;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAsD,EAAE;IAC7F,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,IAAI,yBAAyB,EAAE,CAAC,CAAC;QAC1G,OAAO,CACL,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;YAC7D,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;gBACnD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;gBACjD,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;YACnD,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC,CACxE,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAA0C;IAE1C,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG;QACX,MAAM,CAAC,UAAU;QACjB,YAAY;QACZ,KAAK;QACL,IAAI;QACJ,MAAM,CAAC,UAAU;QACjB,IAAI;QACJ,MAAM,CAAC,MAAM;QACb,YAAY;QACZ,IAAI;QACJ,MAAM,CAAC,UAAU;QACjB,GAAG,MAAM,CAAC,SAAS;KACpB,CAAC;IAEF,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IACvF,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE;QACzC,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,MAAM,CAAC,MAAM;YACjE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC,MAAM;SAC9D;KACF,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb;YACE,gDAAgD,MAAM,CAAC,GAAG,GAAG;YAC7D,YAAY,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC1C,MAAM,CAAC,MAAM;YACb,MAAM,CAAC,MAAM;SACd;aACE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,IAAI,CAAC,CACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,OAAO,EAAE,MAAM,CAAC,GAAG;QACnB,IAAI;KACL,CAAC;AACJ,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './types.js';
2
- export * from './stacked-flatbuffers.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './types.js';
2
- export * from './stacked-flatbuffers.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,0BAA0B,CAAC"}
@@ -1,38 +0,0 @@
1
- import { StoredRecord } from './types.js';
2
- export interface StorageOptions {
3
- /** Initial storage capacity in bytes (default: 1MB) */
4
- initialCapacity?: number;
5
- /** Maximum storage size in bytes (default: 1GB, 0 = unlimited) */
6
- maxSize?: number;
7
- /** Callback when storage reaches warning threshold (80% of max) */
8
- onStorageWarning?: (currentSize: number, maxSize: number) => void;
9
- }
10
- export declare class StackedFlatBufferStore {
11
- private data;
12
- private dataView;
13
- private writeOffset;
14
- private recordCount;
15
- private sequence;
16
- private schemaName;
17
- private recordIndex;
18
- private maxSize;
19
- private warningEmitted;
20
- private onStorageWarning?;
21
- constructor(schemaName: string, options?: StorageOptions | number);
22
- private writeFileHeader;
23
- private updateFileHeader;
24
- private ensureCapacity;
25
- append(tableName: string, flatbufferData: Uint8Array): bigint;
26
- readRecord(offset: bigint): StoredRecord;
27
- iterateRecords(): Generator<StoredRecord>;
28
- iterateTableRecords(tableName: string): Generator<StoredRecord>;
29
- getData(): Uint8Array;
30
- static fromData(data: Uint8Array, options?: StorageOptions): StackedFlatBufferStore;
31
- getRecordCount(): bigint;
32
- getSchemaName(): string;
33
- getCurrentSize(): number;
34
- getMaxSize(): number;
35
- getUsagePercent(): number;
36
- isNearCapacity(): boolean;
37
- }
38
- //# sourceMappingURL=stacked-flatbuffers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stacked-flatbuffers.d.ts","sourceRoot":"","sources":["../../src/storage/stacked-flatbuffers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAgC,YAAY,EAAyB,MAAM,YAAY,CAAC;AAY/F,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,WAAW,CAAwC;IAG3D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,gBAAgB,CAAC,CAAiD;gBAE9D,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,cAAc,GAAG,MAAW;IAkBrE,OAAO,CAAC,eAAe;IAkBvB,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,cAAc;IA0CtB,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,GAAG,MAAM;IA6C7D,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAsCvC,cAAc,IAAI,SAAS,CAAC,YAAY,CAAC;IAYzC,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC;IAShE,OAAO,IAAI,UAAU;IAKrB,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,GAAE,cAAmB,GAAG,sBAAsB;IAsDvF,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM;IAKvB,cAAc,IAAI,MAAM;IAKxB,UAAU,IAAI,MAAM;IAKpB,eAAe,IAAI,MAAM;IAMzB,cAAc,IAAI,OAAO;CAI1B"}
@@ -1,253 +0,0 @@
1
- // Stacked FlatBuffers storage implementation
2
- // Files are append-only sequences of FlatBuffer records with headers
3
- // Fully readable by standard FlatBuffer tools
4
- import { MAGIC, VERSION, crc32 } from './types.js';
5
- // Header sizes (fixed layout for easy seeking)
6
- const FILE_HEADER_SIZE = 64; // Padded for alignment
7
- const RECORD_HEADER_SIZE = 48; // Fixed size record header
8
- // Security: Default maximum storage size (1GB)
9
- const DEFAULT_MAX_STORAGE_SIZE = 1024 * 1024 * 1024;
10
- // Security: Warning threshold (80% of max)
11
- const WARNING_THRESHOLD = 0.8;
12
- export class StackedFlatBufferStore {
13
- data;
14
- dataView;
15
- writeOffset;
16
- recordCount = 0n;
17
- sequence = 0n;
18
- schemaName;
19
- // Index of records by offset for quick lookup
20
- recordIndex = new Map();
21
- // Security: Storage limits
22
- maxSize;
23
- warningEmitted = false;
24
- onStorageWarning;
25
- constructor(schemaName, options = {}) {
26
- // Support legacy signature: constructor(schemaName, initialCapacity)
27
- const opts = typeof options === 'number'
28
- ? { initialCapacity: options }
29
- : options;
30
- this.schemaName = schemaName;
31
- this.maxSize = opts.maxSize ?? DEFAULT_MAX_STORAGE_SIZE;
32
- this.onStorageWarning = opts.onStorageWarning;
33
- const initialCapacity = opts.initialCapacity ?? 1024 * 1024;
34
- this.data = new Uint8Array(initialCapacity);
35
- this.dataView = new DataView(this.data.buffer);
36
- this.writeOffset = BigInt(FILE_HEADER_SIZE);
37
- this.writeFileHeader();
38
- }
39
- writeFileHeader() {
40
- const view = this.dataView;
41
- // Magic number
42
- view.setUint32(0, MAGIC, true);
43
- // Version
44
- view.setUint32(4, VERSION, true);
45
- // Data start offset
46
- view.setBigUint64(8, BigInt(FILE_HEADER_SIZE), true);
47
- // Record count (updated on each append)
48
- view.setBigUint64(16, 0n, true);
49
- // Schema name (up to 40 bytes, null-terminated)
50
- const nameBytes = new TextEncoder().encode(this.schemaName);
51
- const nameLen = Math.min(nameBytes.length, 39);
52
- this.data.set(nameBytes.slice(0, nameLen), 24);
53
- this.data[24 + nameLen] = 0;
54
- }
55
- updateFileHeader() {
56
- this.dataView.setBigUint64(16, this.recordCount, true);
57
- }
58
- ensureCapacity(needed) {
59
- const totalNeeded = Number(this.writeOffset) + needed;
60
- if (totalNeeded <= this.data.length)
61
- return;
62
- // Security: Check if we would exceed max size
63
- if (this.maxSize > 0 && totalNeeded > this.maxSize) {
64
- throw new Error(`Storage size limit exceeded: requested ${totalNeeded} bytes, ` +
65
- `maximum is ${this.maxSize} bytes`);
66
- }
67
- // Grow by doubling
68
- let newSize = this.data.length * 2;
69
- while (newSize < totalNeeded) {
70
- newSize *= 2;
71
- }
72
- // Security: Cap at max size
73
- if (this.maxSize > 0 && newSize > this.maxSize) {
74
- newSize = this.maxSize;
75
- }
76
- // Security: Emit warning when approaching limit
77
- if (this.maxSize > 0 && !this.warningEmitted) {
78
- const threshold = this.maxSize * WARNING_THRESHOLD;
79
- if (newSize >= threshold) {
80
- this.warningEmitted = true;
81
- if (this.onStorageWarning) {
82
- this.onStorageWarning(newSize, this.maxSize);
83
- }
84
- }
85
- }
86
- const newData = new Uint8Array(newSize);
87
- newData.set(this.data);
88
- this.data = newData;
89
- this.dataView = new DataView(this.data.buffer);
90
- }
91
- // Append a FlatBuffer record
92
- // Returns the offset where the record was stored
93
- append(tableName, flatbufferData) {
94
- const checksum = crc32(flatbufferData);
95
- const timestamp = BigInt(Date.now());
96
- const seq = this.sequence++;
97
- const header = {
98
- sequence: seq,
99
- tableName,
100
- timestamp,
101
- dataLength: flatbufferData.length,
102
- checksum,
103
- };
104
- const totalSize = RECORD_HEADER_SIZE + flatbufferData.length;
105
- this.ensureCapacity(totalSize);
106
- const recordOffset = this.writeOffset;
107
- // Write record header
108
- const offset = Number(this.writeOffset);
109
- this.dataView.setBigUint64(offset, seq, true);
110
- // Table name (16 bytes, null-padded)
111
- const tableBytes = new TextEncoder().encode(tableName);
112
- const tableLen = Math.min(tableBytes.length, 15);
113
- this.data.set(tableBytes.slice(0, tableLen), offset + 8);
114
- this.data[offset + 8 + tableLen] = 0;
115
- this.dataView.setBigUint64(offset + 24, timestamp, true);
116
- this.dataView.setUint32(offset + 32, flatbufferData.length, true);
117
- this.dataView.setUint32(offset + 36, checksum, true);
118
- // Reserved bytes 40-47
119
- // Write FlatBuffer data
120
- this.data.set(flatbufferData, offset + RECORD_HEADER_SIZE);
121
- this.writeOffset += BigInt(totalSize);
122
- this.recordCount++;
123
- this.recordIndex.set(recordOffset, header);
124
- this.updateFileHeader();
125
- return recordOffset;
126
- }
127
- // Read a record at a given offset
128
- readRecord(offset) {
129
- const off = Number(offset);
130
- // Read header
131
- const sequence = this.dataView.getBigUint64(off, true);
132
- const tableNameBytes = this.data.slice(off + 8, off + 24);
133
- const nullIdx = tableNameBytes.indexOf(0);
134
- const tableName = new TextDecoder().decode(tableNameBytes.slice(0, nullIdx >= 0 ? nullIdx : tableNameBytes.length));
135
- const timestamp = this.dataView.getBigUint64(off + 24, true);
136
- const dataLength = this.dataView.getUint32(off + 32, true);
137
- const checksum = this.dataView.getUint32(off + 36, true);
138
- // Read data
139
- const dataStart = off + RECORD_HEADER_SIZE;
140
- const data = this.data.slice(dataStart, dataStart + dataLength);
141
- // Verify checksum
142
- const computedChecksum = crc32(data);
143
- if (computedChecksum !== checksum) {
144
- throw new Error(`Checksum mismatch at offset ${offset}: expected ${checksum}, got ${computedChecksum}`);
145
- }
146
- return {
147
- header: {
148
- sequence,
149
- tableName,
150
- timestamp,
151
- dataLength,
152
- checksum,
153
- },
154
- offset,
155
- data,
156
- };
157
- }
158
- // Iterate all records
159
- *iterateRecords() {
160
- let offset = BigInt(FILE_HEADER_SIZE);
161
- const end = this.writeOffset;
162
- while (offset < end) {
163
- const record = this.readRecord(offset);
164
- yield record;
165
- offset += BigInt(RECORD_HEADER_SIZE + record.header.dataLength);
166
- }
167
- }
168
- // Get records for a specific table
169
- *iterateTableRecords(tableName) {
170
- for (const record of this.iterateRecords()) {
171
- if (record.header.tableName === tableName) {
172
- yield record;
173
- }
174
- }
175
- }
176
- // Get the raw data (for export/persistence)
177
- getData() {
178
- return this.data.slice(0, Number(this.writeOffset));
179
- }
180
- // Load from existing data
181
- static fromData(data, options = {}) {
182
- const view = new DataView(data.buffer, data.byteOffset, data.byteLength);
183
- // Verify magic
184
- const magic = view.getUint32(0, true);
185
- if (magic !== MAGIC) {
186
- throw new Error(`Invalid file magic: expected ${MAGIC.toString(16)}, got ${magic.toString(16)}`);
187
- }
188
- const version = view.getUint32(4, true);
189
- if (version !== VERSION) {
190
- throw new Error(`Unsupported version: ${version}`);
191
- }
192
- // Read schema name
193
- const nameBytes = data.slice(24, 64);
194
- const nullIdx = nameBytes.indexOf(0);
195
- const schemaName = new TextDecoder().decode(nameBytes.slice(0, nullIdx >= 0 ? nullIdx : nameBytes.length));
196
- const store = new StackedFlatBufferStore(schemaName, {
197
- ...options,
198
- initialCapacity: data.length,
199
- });
200
- store.data.set(data);
201
- store.dataView = new DataView(store.data.buffer);
202
- // Rebuild index by scanning records
203
- store.writeOffset = BigInt(FILE_HEADER_SIZE);
204
- store.recordCount = 0n;
205
- store.sequence = 0n;
206
- // Find end and rebuild index
207
- let offset = BigInt(FILE_HEADER_SIZE);
208
- while (offset < BigInt(data.length)) {
209
- try {
210
- const record = store.readRecord(offset);
211
- store.recordIndex.set(offset, record.header);
212
- store.recordCount++;
213
- if (record.header.sequence >= store.sequence) {
214
- store.sequence = record.header.sequence + 1n;
215
- }
216
- offset += BigInt(RECORD_HEADER_SIZE + record.header.dataLength);
217
- store.writeOffset = offset;
218
- }
219
- catch {
220
- // End of valid data
221
- break;
222
- }
223
- }
224
- return store;
225
- }
226
- getRecordCount() {
227
- return this.recordCount;
228
- }
229
- getSchemaName() {
230
- return this.schemaName;
231
- }
232
- // Security: Get current storage size
233
- getCurrentSize() {
234
- return Number(this.writeOffset);
235
- }
236
- // Security: Get maximum storage size (0 = unlimited)
237
- getMaxSize() {
238
- return this.maxSize;
239
- }
240
- // Security: Get storage usage as a percentage (0-100)
241
- getUsagePercent() {
242
- if (this.maxSize === 0)
243
- return 0;
244
- return (Number(this.writeOffset) / this.maxSize) * 100;
245
- }
246
- // Security: Check if storage is near capacity (>80%)
247
- isNearCapacity() {
248
- if (this.maxSize === 0)
249
- return false;
250
- return Number(this.writeOffset) >= this.maxSize * WARNING_THRESHOLD;
251
- }
252
- }
253
- //# sourceMappingURL=stacked-flatbuffers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stacked-flatbuffers.js","sourceRoot":"","sources":["../../src/storage/stacked-flatbuffers.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
1
- export interface RecordHeader {
2
- sequence: bigint;
3
- tableName: string;
4
- timestamp: bigint;
5
- dataLength: number;
6
- checksum: number;
7
- }
8
- export interface DataFileHeader {
9
- magic: number;
10
- version: number;
11
- dataStartOffset: bigint;
12
- recordCount: bigint;
13
- schemaName: string;
14
- }
15
- export interface StoredRecord {
16
- header: RecordHeader;
17
- offset: bigint;
18
- data: Uint8Array;
19
- }
20
- export declare const MAGIC = 1179407441;
21
- export declare const VERSION = 1;
22
- export declare function crc32(data: Uint8Array): number;
23
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,eAAO,MAAM,KAAK,aAAa,CAAC;AAChC,eAAO,MAAM,OAAO,IAAI,CAAC;AAGzB,wBAAgB,KAAK,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAS9C"}
@@ -1,27 +0,0 @@
1
- // Storage types for stacked FlatBuffers
2
- export const MAGIC = 0x464c5451; // "FLTQ"
3
- export const VERSION = 1;
4
- // Simple CRC32 implementation
5
- export function crc32(data) {
6
- let crc = 0xffffffff;
7
- const table = getCRC32Table();
8
- for (let i = 0; i < data.length; i++) {
9
- crc = (crc >>> 8) ^ table[(crc ^ data[i]) & 0xff];
10
- }
11
- return (crc ^ 0xffffffff) >>> 0;
12
- }
13
- let crc32Table = null;
14
- function getCRC32Table() {
15
- if (crc32Table)
16
- return crc32Table;
17
- crc32Table = new Uint32Array(256);
18
- for (let i = 0; i < 256; i++) {
19
- let c = i;
20
- for (let j = 0; j < 8; j++) {
21
- c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1;
22
- }
23
- crc32Table[i] = c;
24
- }
25
- return crc32Table;
26
- }
27
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/storage/types.ts"],"names":[],"mappings":"AAAA,wCAAwC;AAwBxC,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,SAAS;AAC1C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AAEzB,8BAA8B;AAC9B,MAAM,UAAU,KAAK,CAAC,IAAgB;IACpC,IAAI,GAAG,GAAG,UAAU,CAAC;IACrB,MAAM,KAAK,GAAG,aAAa,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAED,IAAI,UAAU,GAAuB,IAAI,CAAC;AAE1C,SAAS,aAAa;IACpB,IAAI,UAAU;QAAE,OAAO,UAAU,CAAC;IAElC,UAAU,GAAG,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACpB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { SmokeHarnessResult, StressAggregateOptions } from './types.js';
2
- export declare function aggregateStressRunArtifacts(options: StressAggregateOptions): Promise<SmokeHarnessResult>;
3
- //# sourceMappingURL=aggregate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../src/stress/aggregate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAGV,kBAAkB,EAClB,sBAAsB,EAEvB,MAAM,YAAY,CAAC;AAkBpB,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAuD9G"}
@@ -1,61 +0,0 @@
1
- import { mkdir, readFile, writeFile } from 'node:fs/promises';
2
- import { join } from 'node:path';
3
- import { reduceMetricEvents } from './metrics.js';
4
- import { buildDerivedStressReport } from './report.js';
5
- async function readJson(path) {
6
- return JSON.parse(await readFile(path, 'utf8'));
7
- }
8
- async function writeJson(path, value) {
9
- await writeFile(path, `${JSON.stringify(value, null, 2)}\n`);
10
- }
11
- function parseMetrics(text) {
12
- return text
13
- .trim()
14
- .split('\n')
15
- .filter(Boolean)
16
- .map((line) => JSON.parse(line));
17
- }
18
- export async function aggregateStressRunArtifacts(options) {
19
- if (options.inputDirs.length === 0) {
20
- throw new Error('At least one stress result input directory is required.');
21
- }
22
- const manifests = await Promise.all(options.inputDirs.map((dir) => readJson(join(dir, 'manifest.json'))));
23
- const metrics = (await Promise.all(options.inputDirs.map(async (dir) => parseMetrics(await readFile(join(dir, 'metrics.ndjson'), 'utf8'))))).flat();
24
- const findings = await readJson(join(options.inputDirs[0], 'findings.json'));
25
- const firstManifest = manifests[0];
26
- const nodeIds = [...new Set(metrics.map((metric) => metric.nodeId))].sort((left, right) => left - right);
27
- const manifest = {
28
- ...firstManifest,
29
- mode: options.mode,
30
- runId: options.runId,
31
- nodeCount: nodeIds.length,
32
- nodeIdOffset: nodeIds[0] ?? 0,
33
- nodeStorageGb: options.nodeStorageGb,
34
- recordsPerNode: options.recordsPerNode,
35
- transport: options.transport,
36
- nodeIsolation: options.nodeIsolation,
37
- createdAt: new Date().toISOString(),
38
- assignments: manifests.flatMap((item) => item.assignments),
39
- };
40
- const normalizedMetrics = metrics.map((metric) => ({
41
- ...metric,
42
- runId: options.runId,
43
- transport: options.transport,
44
- }));
45
- const summary = reduceMetricEvents(normalizedMetrics);
46
- const report = buildDerivedStressReport(manifest, normalizedMetrics, summary);
47
- await mkdir(options.outputDir, { recursive: true });
48
- await writeJson(join(options.outputDir, 'manifest.json'), manifest);
49
- await writeFile(join(options.outputDir, 'metrics.ndjson'), normalizedMetrics.map((metric) => JSON.stringify(metric)).join('\n') + '\n');
50
- await writeJson(join(options.outputDir, 'summary.json'), summary);
51
- await writeJson(join(options.outputDir, 'derived-report.json'), report);
52
- await writeJson(join(options.outputDir, 'findings.json'), findings);
53
- return {
54
- manifest,
55
- metrics: normalizedMetrics,
56
- summary,
57
- findings,
58
- report,
59
- };
60
- }
61
- //# sourceMappingURL=aggregate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../src/stress/aggregate.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- import type { StressMode, StressRuntime } from './types.js';
2
- export interface FullStressDockerComposeOptions {
3
- projectRoot: string;
4
- schemaRootHost: string;
5
- outputDirHost: string;
6
- runId: string;
7
- mode?: StressMode;
8
- nodeCount: number;
9
- nodeStorageGb: number;
10
- recordsPerNode: number;
11
- batchBytes: number;
12
- queryConcurrency: number;
13
- hotQueryRatio: number;
14
- runtime: StressRuntime;
15
- }
16
- export declare function buildFullStressDockerCompose(options: FullStressDockerComposeOptions): string;
17
- //# sourceMappingURL=docker-compose.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"docker-compose.d.ts","sourceRoot":"","sources":["../../src/stress/docker-compose.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,WAAW,8BAA8B;IAC7C,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;CACxB;AAuJD,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM,CAgB5F"}