@harperfast/harper 5.2.0-alpha.6 → 5.2.0-beta.2

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 (276) hide show
  1. package/bin/cliOperations.ts +76 -12
  2. package/bin/run.ts +10 -0
  3. package/bin/status.ts +1 -1
  4. package/components/Application.ts +146 -83
  5. package/components/Scope.ts +4 -0
  6. package/components/componentLoader.ts +7 -0
  7. package/components/operations.js +21 -1
  8. package/config/configUtils.ts +139 -5
  9. package/config-app.schema.json +70 -0
  10. package/dataLayer/harperBridge/ResourceBridge.ts +7 -0
  11. package/dist/bin/cliOperations.js +76 -12
  12. package/dist/bin/cliOperations.js.map +1 -1
  13. package/dist/bin/run.js +9 -0
  14. package/dist/bin/run.js.map +1 -1
  15. package/dist/bin/status.js +1 -1
  16. package/dist/bin/status.js.map +1 -1
  17. package/dist/components/Application.d.ts +12 -5
  18. package/dist/components/Application.js +121 -60
  19. package/dist/components/Application.js.map +1 -1
  20. package/dist/components/Scope.d.ts +1 -0
  21. package/dist/components/Scope.js +4 -0
  22. package/dist/components/Scope.js.map +1 -1
  23. package/dist/components/componentLoader.js +7 -0
  24. package/dist/components/componentLoader.js.map +1 -1
  25. package/dist/components/operations.js +20 -1
  26. package/dist/components/operations.js.map +1 -1
  27. package/dist/config/configUtils.d.ts +31 -0
  28. package/dist/config/configUtils.js +127 -5
  29. package/dist/config/configUtils.js.map +1 -1
  30. package/dist/dataLayer/harperBridge/ResourceBridge.js +8 -0
  31. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  32. package/dist/resources/DatabaseTransaction.d.ts +12 -0
  33. package/dist/resources/DatabaseTransaction.js +97 -0
  34. package/dist/resources/DatabaseTransaction.js.map +1 -1
  35. package/dist/resources/RequestTarget.js +13 -3
  36. package/dist/resources/RequestTarget.js.map +1 -1
  37. package/dist/resources/Resource.js +21 -2
  38. package/dist/resources/Resource.js.map +1 -1
  39. package/dist/resources/Table.d.ts +3 -1
  40. package/dist/resources/Table.js +48 -5
  41. package/dist/resources/Table.js.map +1 -1
  42. package/dist/resources/analytics/metadata.d.ts +3 -0
  43. package/dist/resources/analytics/metadata.js +3 -0
  44. package/dist/resources/analytics/metadata.js.map +1 -1
  45. package/dist/resources/analytics/write.js +22 -0
  46. package/dist/resources/analytics/write.js.map +1 -1
  47. package/dist/resources/databases.js +21 -0
  48. package/dist/resources/databases.js.map +1 -1
  49. package/dist/resources/defineResource.js +20 -7
  50. package/dist/resources/defineResource.js.map +1 -1
  51. package/dist/resources/jsResource.d.ts +24 -0
  52. package/dist/resources/jsResource.js +58 -2
  53. package/dist/resources/jsResource.js.map +1 -1
  54. package/dist/resources/openApi.js +45 -20
  55. package/dist/resources/openApi.js.map +1 -1
  56. package/dist/resources/scheduler/CronExpression.d.ts +71 -0
  57. package/dist/resources/scheduler/CronExpression.js +367 -0
  58. package/dist/resources/scheduler/CronExpression.js.map +1 -0
  59. package/dist/resources/scheduler/engine.d.ts +91 -0
  60. package/dist/resources/scheduler/engine.js +767 -0
  61. package/dist/resources/scheduler/engine.js.map +1 -0
  62. package/dist/resources/scheduler/scheduler.d.ts +33 -0
  63. package/dist/resources/scheduler/scheduler.js +200 -0
  64. package/dist/resources/scheduler/scheduler.js.map +1 -0
  65. package/dist/security/auth.js +1 -0
  66. package/dist/security/auth.js.map +1 -1
  67. package/dist/security/jsLoader.js +8 -0
  68. package/dist/security/jsLoader.js.map +1 -1
  69. package/dist/security/keys.d.ts +32 -0
  70. package/dist/security/keys.js +147 -0
  71. package/dist/security/keys.js.map +1 -1
  72. package/dist/server/REST.js +67 -1
  73. package/dist/server/REST.js.map +1 -1
  74. package/dist/server/Server.d.ts +6 -0
  75. package/dist/server/Server.js.map +1 -1
  76. package/dist/server/http.d.ts +2 -0
  77. package/dist/server/http.js +139 -14
  78. package/dist/server/http.js.map +1 -1
  79. package/dist/server/operationsServer.js +3 -3
  80. package/dist/server/operationsServer.js.map +1 -1
  81. package/dist/server/serverHelpers/progressEmitter.js +5 -1
  82. package/dist/server/serverHelpers/progressEmitter.js.map +1 -1
  83. package/dist/server/threads/threadServer.js +9 -5
  84. package/dist/server/threads/threadServer.js.map +1 -1
  85. package/dist/sqlEngine/binder/bind.d.ts +72 -0
  86. package/dist/sqlEngine/binder/bind.js +289 -0
  87. package/dist/sqlEngine/binder/bind.js.map +1 -0
  88. package/dist/sqlEngine/config.d.ts +35 -0
  89. package/dist/sqlEngine/config.js +62 -0
  90. package/dist/sqlEngine/config.js.map +1 -0
  91. package/dist/sqlEngine/diff/differential.d.ts +23 -0
  92. package/dist/sqlEngine/diff/differential.js +90 -0
  93. package/dist/sqlEngine/diff/differential.js.map +1 -0
  94. package/dist/sqlEngine/errors.d.ts +22 -0
  95. package/dist/sqlEngine/errors.js +36 -0
  96. package/dist/sqlEngine/errors.js.map +1 -0
  97. package/dist/sqlEngine/executor/runMutation.d.ts +35 -0
  98. package/dist/sqlEngine/executor/runMutation.js +352 -0
  99. package/dist/sqlEngine/executor/runMutation.js.map +1 -0
  100. package/dist/sqlEngine/executor/runSelect.d.ts +7 -0
  101. package/dist/sqlEngine/executor/runSelect.js +14 -0
  102. package/dist/sqlEngine/executor/runSelect.js.map +1 -0
  103. package/dist/sqlEngine/expressions/compile.d.ts +24 -0
  104. package/dist/sqlEngine/expressions/compile.js +326 -0
  105. package/dist/sqlEngine/expressions/compile.js.map +1 -0
  106. package/dist/sqlEngine/functions/aggregates.d.ts +12 -0
  107. package/dist/sqlEngine/functions/aggregates.js +299 -0
  108. package/dist/sqlEngine/functions/aggregates.js.map +1 -0
  109. package/dist/sqlEngine/functions/registry.d.ts +36 -0
  110. package/dist/sqlEngine/functions/registry.js +33 -0
  111. package/dist/sqlEngine/functions/registry.js.map +1 -0
  112. package/dist/sqlEngine/functions/standard.d.ts +9 -0
  113. package/dist/sqlEngine/functions/standard.js +86 -0
  114. package/dist/sqlEngine/functions/standard.js.map +1 -0
  115. package/dist/sqlEngine/index.d.ts +29 -0
  116. package/dist/sqlEngine/index.js +62 -0
  117. package/dist/sqlEngine/index.js.map +1 -0
  118. package/dist/sqlEngine/logical/build.d.ts +20 -0
  119. package/dist/sqlEngine/logical/build.js +326 -0
  120. package/dist/sqlEngine/logical/build.js.map +1 -0
  121. package/dist/sqlEngine/logical/op.d.ts +105 -0
  122. package/dist/sqlEngine/logical/op.js +10 -0
  123. package/dist/sqlEngine/logical/op.js.map +1 -0
  124. package/dist/sqlEngine/optimizer/joinAnalysis.d.ts +37 -0
  125. package/dist/sqlEngine/optimizer/joinAnalysis.js +144 -0
  126. package/dist/sqlEngine/optimizer/joinAnalysis.js.map +1 -0
  127. package/dist/sqlEngine/optimizer/optimize.d.ts +13 -0
  128. package/dist/sqlEngine/optimizer/optimize.js +53 -0
  129. package/dist/sqlEngine/optimizer/optimize.js.map +1 -0
  130. package/dist/sqlEngine/optimizer/ruleEngine.d.ts +7 -0
  131. package/dist/sqlEngine/optimizer/ruleEngine.js +26 -0
  132. package/dist/sqlEngine/optimizer/ruleEngine.js.map +1 -0
  133. package/dist/sqlEngine/optimizer/rules/limitPushdown.d.ts +19 -0
  134. package/dist/sqlEngine/optimizer/rules/limitPushdown.js +55 -0
  135. package/dist/sqlEngine/optimizer/rules/limitPushdown.js.map +1 -0
  136. package/dist/sqlEngine/optimizer/rules/planJoins.d.ts +19 -0
  137. package/dist/sqlEngine/optimizer/rules/planJoins.js +62 -0
  138. package/dist/sqlEngine/optimizer/rules/planJoins.js.map +1 -0
  139. package/dist/sqlEngine/optimizer/rules/predicateNormalize.d.ts +18 -0
  140. package/dist/sqlEngine/optimizer/rules/predicateNormalize.js +80 -0
  141. package/dist/sqlEngine/optimizer/rules/predicateNormalize.js.map +1 -0
  142. package/dist/sqlEngine/optimizer/rules/predicatePushdown.d.ts +11 -0
  143. package/dist/sqlEngine/optimizer/rules/predicatePushdown.js +48 -0
  144. package/dist/sqlEngine/optimizer/rules/predicatePushdown.js.map +1 -0
  145. package/dist/sqlEngine/optimizer/rules/projectionPushdown.d.ts +23 -0
  146. package/dist/sqlEngine/optimizer/rules/projectionPushdown.js +160 -0
  147. package/dist/sqlEngine/optimizer/rules/projectionPushdown.js.map +1 -0
  148. package/dist/sqlEngine/optimizer/rules/sortFromIndex.d.ts +14 -0
  149. package/dist/sqlEngine/optimizer/rules/sortFromIndex.js +49 -0
  150. package/dist/sqlEngine/optimizer/rules/sortFromIndex.js.map +1 -0
  151. package/dist/sqlEngine/optimizer/rules/validateScannable.d.ts +15 -0
  152. package/dist/sqlEngine/optimizer/rules/validateScannable.js +60 -0
  153. package/dist/sqlEngine/optimizer/rules/validateScannable.js.map +1 -0
  154. package/dist/sqlEngine/optimizer/whereToConditions.d.ts +85 -0
  155. package/dist/sqlEngine/optimizer/whereToConditions.js +484 -0
  156. package/dist/sqlEngine/optimizer/whereToConditions.js.map +1 -0
  157. package/dist/sqlEngine/parser/ast.d.ts +139 -0
  158. package/dist/sqlEngine/parser/ast.js +10 -0
  159. package/dist/sqlEngine/parser/ast.js.map +1 -0
  160. package/dist/sqlEngine/parser/normalizer.d.ts +28 -0
  161. package/dist/sqlEngine/parser/normalizer.js +413 -0
  162. package/dist/sqlEngine/parser/normalizer.js.map +1 -0
  163. package/dist/sqlEngine/parser/parse.d.ts +14 -0
  164. package/dist/sqlEngine/parser/parse.js +20 -0
  165. package/dist/sqlEngine/parser/parse.js.map +1 -0
  166. package/dist/sqlEngine/physical/PhysicalDistinct.d.ts +9 -0
  167. package/dist/sqlEngine/physical/PhysicalDistinct.js +29 -0
  168. package/dist/sqlEngine/physical/PhysicalDistinct.js.map +1 -0
  169. package/dist/sqlEngine/physical/PhysicalFilter.d.ts +10 -0
  170. package/dist/sqlEngine/physical/PhysicalFilter.js +25 -0
  171. package/dist/sqlEngine/physical/PhysicalFilter.js.map +1 -0
  172. package/dist/sqlEngine/physical/PhysicalHashAggregate.d.ts +27 -0
  173. package/dist/sqlEngine/physical/PhysicalHashAggregate.js +100 -0
  174. package/dist/sqlEngine/physical/PhysicalHashAggregate.js.map +1 -0
  175. package/dist/sqlEngine/physical/PhysicalHashJoin.d.ts +29 -0
  176. package/dist/sqlEngine/physical/PhysicalHashJoin.js +93 -0
  177. package/dist/sqlEngine/physical/PhysicalHashJoin.js.map +1 -0
  178. package/dist/sqlEngine/physical/PhysicalIndexNestedLoopJoin.d.ts +36 -0
  179. package/dist/sqlEngine/physical/PhysicalIndexNestedLoopJoin.js +78 -0
  180. package/dist/sqlEngine/physical/PhysicalIndexNestedLoopJoin.js.map +1 -0
  181. package/dist/sqlEngine/physical/PhysicalIndexScan.d.ts +22 -0
  182. package/dist/sqlEngine/physical/PhysicalIndexScan.js +77 -0
  183. package/dist/sqlEngine/physical/PhysicalIndexScan.js.map +1 -0
  184. package/dist/sqlEngine/physical/PhysicalLimit.d.ts +5 -0
  185. package/dist/sqlEngine/physical/PhysicalLimit.js +28 -0
  186. package/dist/sqlEngine/physical/PhysicalLimit.js.map +1 -0
  187. package/dist/sqlEngine/physical/PhysicalNestedLoopJoin.d.ts +20 -0
  188. package/dist/sqlEngine/physical/PhysicalNestedLoopJoin.js +51 -0
  189. package/dist/sqlEngine/physical/PhysicalNestedLoopJoin.js.map +1 -0
  190. package/dist/sqlEngine/physical/PhysicalProject.d.ts +18 -0
  191. package/dist/sqlEngine/physical/PhysicalProject.js +117 -0
  192. package/dist/sqlEngine/physical/PhysicalProject.js.map +1 -0
  193. package/dist/sqlEngine/physical/PhysicalQualify.d.ts +13 -0
  194. package/dist/sqlEngine/physical/PhysicalQualify.js +29 -0
  195. package/dist/sqlEngine/physical/PhysicalQualify.js.map +1 -0
  196. package/dist/sqlEngine/physical/PhysicalSort.d.ts +12 -0
  197. package/dist/sqlEngine/physical/PhysicalSort.js +59 -0
  198. package/dist/sqlEngine/physical/PhysicalSort.js.map +1 -0
  199. package/dist/sqlEngine/physical/op.d.ts +11 -0
  200. package/dist/sqlEngine/physical/op.js +9 -0
  201. package/dist/sqlEngine/physical/op.js.map +1 -0
  202. package/dist/sqlEngine/physical/plan.d.ts +23 -0
  203. package/dist/sqlEngine/physical/plan.js +162 -0
  204. package/dist/sqlEngine/physical/plan.js.map +1 -0
  205. package/dist/sqlEngine/router.d.ts +26 -0
  206. package/dist/sqlEngine/router.js +48 -0
  207. package/dist/sqlEngine/router.js.map +1 -0
  208. package/dist/sqlEngine/types.d.ts +37 -0
  209. package/dist/sqlEngine/types.js +13 -0
  210. package/dist/sqlEngine/types.js.map +1 -0
  211. package/dist/sqlTranslator/index.js +7 -1
  212. package/dist/sqlTranslator/index.js.map +1 -1
  213. package/dist/utility/common_utils.js +25 -0
  214. package/dist/utility/common_utils.js.map +1 -1
  215. package/dist/utility/install/installer.d.ts +9 -1
  216. package/dist/utility/install/installer.js +21 -0
  217. package/dist/utility/install/installer.js.map +1 -1
  218. package/dist/validation/configValidator.js +3 -0
  219. package/dist/validation/configValidator.js.map +1 -1
  220. package/dist/validation/deleteValidator.js +10 -2
  221. package/dist/validation/deleteValidator.js.map +1 -1
  222. package/npm-shrinkwrap.json +272 -230
  223. package/package.json +3 -3
  224. package/resources/DESIGN.md +17 -16
  225. package/resources/DatabaseTransaction.ts +95 -0
  226. package/resources/RequestTarget.ts +12 -3
  227. package/resources/Resource.ts +23 -2
  228. package/resources/Table.ts +57 -6
  229. package/resources/analytics/metadata.ts +3 -0
  230. package/resources/analytics/write.ts +23 -0
  231. package/resources/databases.ts +24 -0
  232. package/resources/defineResource.ts +17 -4
  233. package/resources/jsResource.ts +61 -2
  234. package/resources/openApi.ts +44 -19
  235. package/resources/scheduler/CronExpression.ts +394 -0
  236. package/resources/scheduler/engine.ts +812 -0
  237. package/resources/scheduler/scheduler.ts +236 -0
  238. package/security/auth.ts +1 -0
  239. package/security/jsLoader.ts +8 -0
  240. package/security/keys.ts +152 -0
  241. package/server/REST.ts +70 -1
  242. package/server/Server.ts +6 -0
  243. package/server/http.ts +122 -15
  244. package/server/operationsServer.ts +5 -3
  245. package/server/serverHelpers/progressEmitter.ts +5 -1
  246. package/server/threads/threadServer.js +9 -5
  247. package/sqlTranslator/index.ts +16 -6
  248. package/studio/web/assets/{Chat-CTjtL8Z4.js → Chat-DHP4XpID.js} +2 -2
  249. package/studio/web/assets/{Chat-CTjtL8Z4.js.map → Chat-DHP4XpID.js.map} +1 -1
  250. package/studio/web/assets/{FloatingChat-CafHR4Ur.js → FloatingChat-CJ7PssCv.js} +4 -4
  251. package/studio/web/assets/{FloatingChat-CafHR4Ur.js.map → FloatingChat-CJ7PssCv.js.map} +1 -1
  252. package/studio/web/assets/{applications-Buh_q0Vj.js → applications-DxXiGpsR.js} +2 -2
  253. package/studio/web/assets/{applications-Buh_q0Vj.js.map → applications-DxXiGpsR.js.map} +1 -1
  254. package/studio/web/assets/{index-0hXeECkS.js → index-BdbBanDP.js} +6 -6
  255. package/studio/web/assets/{index-0hXeECkS.js.map → index-BdbBanDP.js.map} +1 -1
  256. package/studio/web/assets/{index.lazy-B00B7VBT.js → index.lazy-B2eH28zD.js} +4 -4
  257. package/studio/web/assets/{index.lazy-B00B7VBT.js.map → index.lazy-B2eH28zD.js.map} +1 -1
  258. package/studio/web/assets/{profile-Cg2wwYPn.js → profile-DK5hgucv.js} +2 -2
  259. package/studio/web/assets/{profile-Cg2wwYPn.js.map → profile-DK5hgucv.js.map} +1 -1
  260. package/studio/web/assets/{setComponentFile-DCaDIvyB.js → setComponentFile-BVDWRYxx.js} +2 -2
  261. package/studio/web/assets/{setComponentFile-DCaDIvyB.js.map → setComponentFile-BVDWRYxx.js.map} +1 -1
  262. package/studio/web/assets/{setup-CAVcAQjK.js → setup-DJ9BInoK.js} +2 -2
  263. package/studio/web/assets/{setup-CAVcAQjK.js.map → setup-DJ9BInoK.js.map} +1 -1
  264. package/studio/web/assets/{status-BRXorNdD.js → status-B_qzmgfD.js} +2 -2
  265. package/studio/web/assets/{status-BRXorNdD.js.map → status-B_qzmgfD.js.map} +1 -1
  266. package/studio/web/assets/{swagger-ui-react-Dy1D62vO.js → swagger-ui-react-DOL5jCqg.js} +2 -2
  267. package/studio/web/assets/{swagger-ui-react-Dy1D62vO.js.map → swagger-ui-react-DOL5jCqg.js.map} +1 -1
  268. package/studio/web/assets/{tsMode-A8gbL74v.js → tsMode-DpxUxfTW.js} +2 -2
  269. package/studio/web/assets/{tsMode-A8gbL74v.js.map → tsMode-DpxUxfTW.js.map} +1 -1
  270. package/studio/web/assets/{useEntityRestURL-cDodrVcQ.js → useEntityRestURL-CU_lY6XW.js} +2 -2
  271. package/studio/web/assets/{useEntityRestURL-cDodrVcQ.js.map → useEntityRestURL-CU_lY6XW.js.map} +1 -1
  272. package/studio/web/index.html +1 -1
  273. package/utility/common_utils.ts +26 -0
  274. package/utility/install/installer.ts +26 -1
  275. package/validation/configValidator.ts +3 -0
  276. package/validation/deleteValidator.ts +11 -2
@@ -1 +1 @@
1
- {"version":3,"file":"operationsServer.js","sourceRoot":"","sources":["../../server/operationsServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operationsServer.js","sourceRoot":"","sources":["../../server/operationsServer.ts"],"names":[],"mappings":"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"}
@@ -141,7 +141,11 @@ function createSSEResponseStream(emitter, operation) {
141
141
  * operand so every line is written regardless of the accumulated backpressure flag.
142
142
  */
143
143
  function writeSSE(stream, event) {
144
- const data = typeof event.data === 'string' ? event.data : JSON.stringify(event.data);
144
+ // `JSON.stringify(undefined)` returns the `undefined` primitive, not a string, so fall back to
145
+ // '' via `??` — an event carrying no data still writes a valid (empty-payload) record instead
146
+ // of throwing a TypeError deep in the write path. An explicit `null` is preserved as the JSON
147
+ // value `null` for consumers replaying persisted events.
148
+ const data = typeof event.data === 'string' ? event.data : (JSON.stringify(event.data) ?? '');
145
149
  let canWrite = stream.write(`event: ${event.event}\n`);
146
150
  for (const line of data.split(/\r?\n/)) {
147
151
  canWrite = stream.write(`data: ${line}\n`) && canWrite;
@@ -1 +1 @@
1
- {"version":3,"file":"progressEmitter.js","sourceRoot":"","sources":["../../../server/serverHelpers/progressEmitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"progressEmitter.js","sourceRoot":"","sources":["../../../server/serverHelpers/progressEmitter.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ const { restartNumber, getWorkerIndex, extendShutdownDeadline, restoreShutdownDe
16
16
  const { runShutdownDrains, shutdownDrainsHaveWork, getShutdownDrainCeilingMs, } = require("../../components/shutdownDrain.js");
17
17
  const { realExit } = require("./workerProcessGuard.js");
18
18
  const { isBun } = require("../serverHelpers/Request.js");
19
- const { createTLSSelector } = require("../../security/keys.js");
19
+ const { createTLSSelector, getEffectiveTlsCiphers } = require("../../security/keys.js");
20
20
  const { startupLog } = require("../../bin/run.js");
21
21
  const { SERVERS, setPortServerMap, portServer } = require("../serverRegistry.js");
22
22
  const httpComponent = require("../http.js");
@@ -575,18 +575,22 @@ function onSocket(listener, options) {
575
575
  if (options.securePort) {
576
576
  setPortServerMap(options.securePort, { protocol_name: 'TLS', name: getComponentName() });
577
577
  const SNICallback = createTLSSelector('server', options.mtls);
578
- const tlsConfig = env.get('tls');
578
+ // OpenSSL takes the cipher list (and its @SECLEVEL) from the context the server was created with;
579
+ // a context swapped in by the SNI callback doesn't carry its own cipher list onto the connection.
580
+ // The listener-level string is therefore the only one honored — resolve it from every configured
581
+ // source (see resolveEffectiveTlsCiphers in keys.ts).
582
+ const effectiveCiphers = getEffectiveTlsCiphers('server', options.mtls);
579
583
  socketServer = createSecureSocketServer({
580
584
  rejectUnauthorized: Boolean(options.mtls?.required),
581
585
  requestCert: Boolean(options.mtls),
582
586
  noDelay: true, // don't delay for Nagle's algorithm, it is a relic of the past that slows things down: https://brooker.co.za/blog/2024/05/09/nagle.html
583
587
  keepAlive: true,
584
588
  keepAliveInitialDelay: 600, // 10 minute keep-alive, want to be proactive about closing unused connections
585
- // For some reason ciphers doesn't work from the secure context, despite node docs claiming it would. Lost
586
- // count of how many node TLS bugs that makes
587
- ciphers: tlsConfig.ciphers ?? tlsConfig[0]?.ciphers,
589
+ ciphers: effectiveCiphers,
588
590
  SNICallback,
589
591
  }, listener);
592
+ socketServer.appliedCiphers = effectiveCiphers ?? null;
593
+ socketServer.verifiesClientCerts = Boolean(options.mtls);
590
594
  SNICallback.initialize(socketServer);
591
595
  // Only opt out of reusePort on macOS, which doesn't reliably support SO_REUSEPORT on all
592
596
  // socket types (ENOTSUP). Everywhere else, sharing the port lets every worker accept
@@ -1 +1 @@
1
- {"version":3,"file":"threadServer.js","sourceRoot":"","sources":["../../../server/threads/threadServer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threadServer.js","sourceRoot":"","sources":["../../../server/threads/threadServer.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Binder.
3
+ *
4
+ * Resolves the table references in a SelectNode to concrete Table classes via
5
+ * core/resources/databases.ts.
6
+ *
7
+ * Single-table SELECT (phase 1-2): fills `boundTable` with primaryKey +
8
+ * attribute names so downstream rules can validate columns. Column references
9
+ * keep their bare names and rows flow through the pipeline keyed by bare
10
+ * attribute name.
11
+ *
12
+ * Multi-table SELECT (phase 3, joins): additionally binds every joined table
13
+ * into an ordered `scope`, and resolves every column reference to the canonical
14
+ * alias of its owning table (mutating `column.table` in place). Ambiguous or
15
+ * unknown qualified references throw EngineUnsupportedError. Join rows flow
16
+ * through the pipeline keyed by `<alias>.<attribute>` (see expressions/compile
17
+ * `qualified` mode and physical/PhysicalQualify).
18
+ */
19
+ import type { ExprNode, SelectNode, StatementNode, InsertNode, UpdateNode, DeleteNode } from '../parser/ast.ts';
20
+ interface AttributeInfo {
21
+ name: string;
22
+ indexed: boolean;
23
+ isPrimaryKey: boolean;
24
+ /** Whether the attribute's index can serve `value === null` conditions —
25
+ * search.ts rejects null-valued searches on an index without indexNulls,
26
+ * and the primary key never indexes nulls. */
27
+ indexNulls: boolean;
28
+ }
29
+ export interface BoundTable {
30
+ database: string;
31
+ table: string;
32
+ alias?: string;
33
+ /** alias ?? table — the name columns are qualified by in join queries. */
34
+ effectiveAlias: string;
35
+ primaryKey?: string;
36
+ attributes: AttributeInfo[];
37
+ resource: unknown;
38
+ }
39
+ export interface BoundSelect extends SelectNode {
40
+ boundTable: BoundTable;
41
+ /** FROM table plus every joined table, in declaration order. */
42
+ scope: BoundTable[];
43
+ /** true once joins are present and columns have been qualified. */
44
+ qualified: boolean;
45
+ }
46
+ export interface BindContext {
47
+ user?: unknown;
48
+ }
49
+ declare let _databasesLoader: (() => Record<string, Record<string, unknown>>) | null;
50
+ /**
51
+ * Override hook for tests. Restored to default by passing null.
52
+ */
53
+ export declare function _setDatabasesLoader(loader: typeof _databasesLoader): void;
54
+ export interface BoundInsert extends InsertNode {
55
+ boundTable: BoundTable;
56
+ }
57
+ export interface BoundUpdate extends UpdateNode {
58
+ boundTable: BoundTable;
59
+ }
60
+ export interface BoundDelete extends DeleteNode {
61
+ boundTable: BoundTable;
62
+ }
63
+ export declare function bind(stmt: StatementNode, _ctx: BindContext): StatementNode;
64
+ export declare function bindSelect(stmt: SelectNode): BoundSelect;
65
+ /** Resolves a qualifier string (alias or table name) to the canonical alias. */
66
+ declare function resolveQualifier(qualifier: string, scope: BoundTable[]): BoundTable | undefined;
67
+ declare function resolveColumns(expr: ExprNode, scope: BoundTable[]): void;
68
+ export declare const _internal: {
69
+ resolveColumns: typeof resolveColumns;
70
+ resolveQualifier: typeof resolveQualifier;
71
+ };
72
+ export {};
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+ /**
3
+ * Binder.
4
+ *
5
+ * Resolves the table references in a SelectNode to concrete Table classes via
6
+ * core/resources/databases.ts.
7
+ *
8
+ * Single-table SELECT (phase 1-2): fills `boundTable` with primaryKey +
9
+ * attribute names so downstream rules can validate columns. Column references
10
+ * keep their bare names and rows flow through the pipeline keyed by bare
11
+ * attribute name.
12
+ *
13
+ * Multi-table SELECT (phase 3, joins): additionally binds every joined table
14
+ * into an ordered `scope`, and resolves every column reference to the canonical
15
+ * alias of its owning table (mutating `column.table` in place). Ambiguous or
16
+ * unknown qualified references throw EngineUnsupportedError. Join rows flow
17
+ * through the pipeline keyed by `<alias>.<attribute>` (see expressions/compile
18
+ * `qualified` mode and physical/PhysicalQualify).
19
+ */
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports._internal = void 0;
22
+ exports._setDatabasesLoader = _setDatabasesLoader;
23
+ exports.bind = bind;
24
+ exports.bindSelect = bindSelect;
25
+ const errors_ts_1 = require("../errors.js");
26
+ let _databasesLoader = null;
27
+ /**
28
+ * Override hook for tests. Restored to default by passing null.
29
+ */
30
+ function _setDatabasesLoader(loader) {
31
+ _databasesLoader = loader;
32
+ }
33
+ function loadDatabases() {
34
+ if (_databasesLoader)
35
+ return _databasesLoader();
36
+ const mod = require('../../resources/databases.js');
37
+ return mod.getDatabases();
38
+ }
39
+ function bind(stmt, _ctx) {
40
+ switch (stmt.kind) {
41
+ case 'select':
42
+ return bindSelect(stmt);
43
+ case 'insert':
44
+ return bindInsert(stmt);
45
+ case 'update':
46
+ return bindUpdate(stmt);
47
+ case 'delete':
48
+ return bindDelete(stmt);
49
+ default:
50
+ throw new errors_ts_1.EngineUnsupportedError(`bind: unsupported statement kind`);
51
+ }
52
+ }
53
+ /**
54
+ * Mutations are single-table. We resolve the target table to a BoundTable (the
55
+ * Resource class plus primaryKey/attributes) and leave column refs bare — the
56
+ * write executor evaluates assignment/value expressions against bare-keyed rows,
57
+ * exactly like the single-table SELECT path.
58
+ */
59
+ function bindInsert(stmt) {
60
+ const boundTable = bindTableRef(stmt.table, loadDatabases());
61
+ return { ...stmt, table: { ...stmt.table, database: boundTable.database }, boundTable };
62
+ }
63
+ function bindUpdate(stmt) {
64
+ const boundTable = bindTableRef(stmt.table, loadDatabases());
65
+ // SET on the primary key can't be honored by Table.patch (identity is the call
66
+ // argument, not the payload) — reporting the row as updated would be a false
67
+ // success. Reject so `auto` falls back to legacy, which declines the re-key.
68
+ if (boundTable.primaryKey && stmt.assignments.some((a) => a.column === boundTable.primaryKey)) {
69
+ throw new errors_ts_1.EngineUnsupportedError(`UPDATE cannot change the primary key column "${boundTable.primaryKey}"`);
70
+ }
71
+ return { ...stmt, table: { ...stmt.table, database: boundTable.database }, boundTable };
72
+ }
73
+ function bindDelete(stmt) {
74
+ const boundTable = bindTableRef(stmt.table, loadDatabases());
75
+ return { ...stmt, table: { ...stmt.table, database: boundTable.database }, boundTable };
76
+ }
77
+ function bindSelect(stmt) {
78
+ const databases = loadDatabases();
79
+ const fromTable = bindTableRef(stmt.from, databases);
80
+ const scope = [fromTable];
81
+ for (const join of stmt.joins) {
82
+ scope.push(bindTableRef(join.table, databases));
83
+ }
84
+ const qualified = stmt.joins.length > 0;
85
+ if (qualified) {
86
+ // Distinct effective aliases are required: the join row model keys columns
87
+ // by `<alias>.<attr>`, so two tables sharing an alias would collide and
88
+ // overwrite each other on merge.
89
+ const seen = new Set();
90
+ for (const t of scope) {
91
+ if (seen.has(t.effectiveAlias)) {
92
+ throw new errors_ts_1.EngineUnsupportedError(`duplicate table alias "${t.effectiveAlias}" in join; give each joined table a distinct alias`);
93
+ }
94
+ seen.add(t.effectiveAlias);
95
+ }
96
+ }
97
+ if (qualified) {
98
+ // Resolve every column reference to a canonical alias, in place.
99
+ resolveColumnsInSelect(stmt, scope);
100
+ }
101
+ return {
102
+ ...stmt,
103
+ from: { ...stmt.from, database: fromTable.database },
104
+ boundTable: fromTable,
105
+ scope,
106
+ qualified,
107
+ };
108
+ }
109
+ function bindTableRef(ref, databases) {
110
+ const databaseName = ref.database || pickDefaultDatabase(databases, ref.table);
111
+ const dbEntry = databases[databaseName];
112
+ if (!dbEntry) {
113
+ throw new errors_ts_1.EngineUnsupportedError(`database "${databaseName}" not found`);
114
+ }
115
+ const resource = dbEntry[ref.table];
116
+ if (!resource) {
117
+ throw new errors_ts_1.EngineUnsupportedError(`table "${databaseName}.${ref.table}" not found`);
118
+ }
119
+ const r = resource;
120
+ const primaryKey = r.primaryKey;
121
+ const indices = r.indices ?? {};
122
+ // indexNulls lives on both the attribute descriptor and the index dbi
123
+ // (databases.ts sets each) — honor either.
124
+ const attributes = (r.attributes ?? []).map((a) => ({
125
+ name: a.name,
126
+ indexed: !!a.indexed || !!indices[a.name] || a.name === primaryKey,
127
+ isPrimaryKey: a.name === primaryKey,
128
+ indexNulls: a.name !== primaryKey &&
129
+ (!!a.indexNulls || !!indices[a.name]?.indexNulls),
130
+ }));
131
+ return {
132
+ database: databaseName,
133
+ table: ref.table,
134
+ alias: ref.alias,
135
+ effectiveAlias: ref.alias ?? ref.table,
136
+ primaryKey,
137
+ attributes,
138
+ resource,
139
+ };
140
+ }
141
+ function pickDefaultDatabase(databases, tableName) {
142
+ const matches = [];
143
+ for (const dbName of Object.keys(databases)) {
144
+ if (databases[dbName]?.[tableName])
145
+ matches.push(dbName);
146
+ }
147
+ if (matches.length === 0) {
148
+ throw new errors_ts_1.EngineUnsupportedError(`table "${tableName}" not found in any database`);
149
+ }
150
+ if (matches.length > 1) {
151
+ throw new errors_ts_1.EngineUnsupportedError(`table "${tableName}" exists in multiple databases (${matches.join(', ')}); qualify the schema`);
152
+ }
153
+ return matches[0];
154
+ }
155
+ // ---------------------------------------------------------------------------
156
+ // Column resolution for join queries
157
+ // ---------------------------------------------------------------------------
158
+ function resolveColumnsInSelect(stmt, scope) {
159
+ for (const p of stmt.projections)
160
+ resolveColumns(p.expr, scope);
161
+ // Each join's ON sees only the tables in scope at that point: FROM plus the
162
+ // joins up to and including this one (scope[0..i+1]). Resolving against the
163
+ // full scope would let an ON reference a not-yet-joined table or be falsely
164
+ // flagged ambiguous against one.
165
+ for (let i = 0; i < stmt.joins.length; i++) {
166
+ const j = stmt.joins[i];
167
+ if (j.on)
168
+ resolveColumns(j.on, scope.slice(0, i + 2));
169
+ }
170
+ if (stmt.where)
171
+ resolveColumns(stmt.where, scope);
172
+ if (stmt.groupBy)
173
+ for (const g of stmt.groupBy)
174
+ resolveColumns(g, scope);
175
+ if (stmt.having)
176
+ resolveColumns(stmt.having, scope);
177
+ if (stmt.orderBy)
178
+ for (const o of stmt.orderBy)
179
+ resolveColumns(o.expr, scope);
180
+ }
181
+ /** Resolves a qualifier string (alias or table name) to the canonical alias. */
182
+ function resolveQualifier(qualifier, scope) {
183
+ // Exact effective-alias match always wins (it is unique — duplicates are
184
+ // rejected at bind time).
185
+ const byAlias = scope.find((t) => t.effectiveAlias === qualifier);
186
+ if (byAlias)
187
+ return byAlias;
188
+ // Fall back to base-table-name qualification (e.g. `dev.user.col` where the
189
+ // table is unaliased). In a self-join the same base name appears more than
190
+ // once; matching the first silently mis-binds, so reject as ambiguous.
191
+ const byTable = scope.filter((t) => t.table === qualifier);
192
+ if (byTable.length > 1) {
193
+ throw new errors_ts_1.EngineUnsupportedError(`table qualifier "${qualifier}" is ambiguous across ${byTable
194
+ .map((t) => t.effectiveAlias)
195
+ .join(', ')}; qualify columns by alias`);
196
+ }
197
+ return byTable[0];
198
+ }
199
+ function resolveColumns(expr, scope) {
200
+ switch (expr.kind) {
201
+ case 'column': {
202
+ if (expr.table) {
203
+ const t = resolveQualifier(expr.table, scope);
204
+ if (!t) {
205
+ throw new errors_ts_1.EngineUnsupportedError(`unknown table qualifier "${expr.table}" for column "${expr.name}"`);
206
+ }
207
+ expr.table = t.effectiveAlias;
208
+ return;
209
+ }
210
+ // Unqualified: bind to the unique table that declares this attribute.
211
+ const owners = scope.filter((t) => t.attributes.some((a) => a.name === expr.name));
212
+ if (owners.length === 1) {
213
+ expr.table = owners[0].effectiveAlias;
214
+ }
215
+ else if (owners.length > 1) {
216
+ throw new errors_ts_1.EngineUnsupportedError(`column "${expr.name}" is ambiguous across ${owners.map((o) => o.effectiveAlias).join(', ')}; qualify it`);
217
+ }
218
+ else if (scope.length === 1) {
219
+ // Single-table query: an undeclared attribute (Harper tables are
220
+ // schemaless) binds to the only table.
221
+ expr.table = scope[0].effectiveAlias;
222
+ }
223
+ else {
224
+ // Multi-table query: we cannot know which table an undeclared
225
+ // attribute belongs to. Defaulting to the FROM table would silently
226
+ // yield nulls when it actually lives on a joined table, so reject
227
+ // and let 'auto' mode fall back to legacy.
228
+ throw new errors_ts_1.EngineUnsupportedError(`column "${expr.name}" is not declared on any joined table; qualify it with a table alias`);
229
+ }
230
+ return;
231
+ }
232
+ case 'star':
233
+ // `t.*` qualifier is validated at star-expansion time; bare `*` spans all.
234
+ if (expr.table) {
235
+ const t = resolveQualifier(expr.table, scope);
236
+ if (!t)
237
+ throw new errors_ts_1.EngineUnsupportedError(`unknown table qualifier "${expr.table}" in "${expr.table}.*"`);
238
+ expr.table = t.effectiveAlias;
239
+ }
240
+ return;
241
+ case 'binop':
242
+ resolveColumns(expr.left, scope);
243
+ resolveColumns(expr.right, scope);
244
+ return;
245
+ case 'logical':
246
+ expr.args.forEach((a) => resolveColumns(a, scope));
247
+ return;
248
+ case 'in':
249
+ resolveColumns(expr.expr, scope);
250
+ if (Array.isArray(expr.list))
251
+ expr.list.forEach((e) => resolveColumns(e, scope));
252
+ return;
253
+ case 'between':
254
+ resolveColumns(expr.expr, scope);
255
+ resolveColumns(expr.low, scope);
256
+ resolveColumns(expr.high, scope);
257
+ return;
258
+ case 'like':
259
+ resolveColumns(expr.expr, scope);
260
+ resolveColumns(expr.pattern, scope);
261
+ return;
262
+ case 'isNull':
263
+ resolveColumns(expr.expr, scope);
264
+ return;
265
+ case 'funcCall':
266
+ expr.args.forEach((a) => resolveColumns(a, scope));
267
+ return;
268
+ case 'aggCall':
269
+ if (expr.arg.kind !== 'star')
270
+ resolveColumns(expr.arg, scope);
271
+ return;
272
+ case 'case':
273
+ for (const c of expr.cases) {
274
+ resolveColumns(c.when, scope);
275
+ resolveColumns(c.then, scope);
276
+ }
277
+ if (expr.else)
278
+ resolveColumns(expr.else, scope);
279
+ return;
280
+ case 'cast':
281
+ resolveColumns(expr.expr, scope);
282
+ return;
283
+ default:
284
+ return;
285
+ }
286
+ }
287
+ // Surfaced for unit tests.
288
+ exports._internal = { resolveColumns, resolveQualifier };
289
+ //# sourceMappingURL=bind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../sqlEngine/binder/bind.ts"],"names":[],"mappings":"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"}