@harperfast/harper 5.0.0-alpha.10

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 (879) hide show
  1. package/CODE_OF_CONDUCT.md +83 -0
  2. package/LICENSE +201 -0
  3. package/README.md +54 -0
  4. package/SECURITY.md +18 -0
  5. package/SUPPORT.md +26 -0
  6. package/dist/bin/BinObjects.d.ts +9 -0
  7. package/dist/bin/BinObjects.js +15 -0
  8. package/dist/bin/BinObjects.js.map +1 -0
  9. package/dist/bin/cliOperations.d.ts +12 -0
  10. package/dist/bin/cliOperations.js +156 -0
  11. package/dist/bin/cliOperations.js.map +1 -0
  12. package/dist/bin/copyDb.d.ts +2 -0
  13. package/dist/bin/copyDb.js +298 -0
  14. package/dist/bin/copyDb.js.map +1 -0
  15. package/dist/bin/harper.d.ts +2 -0
  16. package/dist/bin/harper.js +148 -0
  17. package/dist/bin/harper.js.map +1 -0
  18. package/dist/bin/install.d.ts +2 -0
  19. package/dist/bin/install.js +16 -0
  20. package/dist/bin/install.js.map +1 -0
  21. package/dist/bin/lite.d.ts +1 -0
  22. package/dist/bin/lite.js +6 -0
  23. package/dist/bin/lite.js.map +1 -0
  24. package/dist/bin/restart.d.ts +13 -0
  25. package/dist/bin/restart.js +194 -0
  26. package/dist/bin/restart.js.map +1 -0
  27. package/dist/bin/run.d.ts +21 -0
  28. package/dist/bin/run.js +365 -0
  29. package/dist/bin/run.js.map +1 -0
  30. package/dist/bin/status.d.ts +2 -0
  31. package/dist/bin/status.js +56 -0
  32. package/dist/bin/status.js.map +1 -0
  33. package/dist/bin/stop.d.ts +2 -0
  34. package/dist/bin/stop.js +17 -0
  35. package/dist/bin/stop.js.map +1 -0
  36. package/dist/bin/upgrade.d.ts +7 -0
  37. package/dist/bin/upgrade.js +111 -0
  38. package/dist/bin/upgrade.js.map +1 -0
  39. package/dist/components/Application.d.ts +110 -0
  40. package/dist/components/Application.js +509 -0
  41. package/dist/components/Application.js.map +1 -0
  42. package/dist/components/ApplicationScope.d.ts +28 -0
  43. package/dist/components/ApplicationScope.js +81 -0
  44. package/dist/components/ApplicationScope.js.map +1 -0
  45. package/dist/components/Component.d.ts +21 -0
  46. package/dist/components/Component.js +43 -0
  47. package/dist/components/Component.js.map +1 -0
  48. package/dist/components/ComponentV1.d.ts +69 -0
  49. package/dist/components/ComponentV1.js +263 -0
  50. package/dist/components/ComponentV1.js.map +1 -0
  51. package/dist/components/DEFAULT_CONFIG.d.ts +18 -0
  52. package/dist/components/DEFAULT_CONFIG.js +22 -0
  53. package/dist/components/DEFAULT_CONFIG.js.map +1 -0
  54. package/dist/components/EntryHandler.d.ts +61 -0
  55. package/dist/components/EntryHandler.js +148 -0
  56. package/dist/components/EntryHandler.js.map +1 -0
  57. package/dist/components/OptionsWatcher.d.ts +75 -0
  58. package/dist/components/OptionsWatcher.js +281 -0
  59. package/dist/components/OptionsWatcher.js.map +1 -0
  60. package/dist/components/PluginModule.d.ts +5 -0
  61. package/dist/components/PluginModule.js +3 -0
  62. package/dist/components/PluginModule.js.map +1 -0
  63. package/dist/components/Scope.d.ts +49 -0
  64. package/dist/components/Scope.js +262 -0
  65. package/dist/components/Scope.js.map +1 -0
  66. package/dist/components/componentLoader.js +498 -0
  67. package/dist/components/componentLoader.js.map +1 -0
  68. package/dist/components/deriveCommonPatternBase.d.ts +1 -0
  69. package/dist/components/deriveCommonPatternBase.js +34 -0
  70. package/dist/components/deriveCommonPatternBase.js.map +1 -0
  71. package/dist/components/deriveGlobOptions.d.ts +13 -0
  72. package/dist/components/deriveGlobOptions.js +30 -0
  73. package/dist/components/deriveGlobOptions.js.map +1 -0
  74. package/dist/components/deriveURLPath.d.ts +3 -0
  75. package/dist/components/deriveURLPath.js +55 -0
  76. package/dist/components/deriveURLPath.js.map +1 -0
  77. package/dist/components/operations.d.ts +97 -0
  78. package/dist/components/operations.js +556 -0
  79. package/dist/components/operations.js.map +1 -0
  80. package/dist/components/operationsValidation.d.ts +44 -0
  81. package/dist/components/operationsValidation.js +221 -0
  82. package/dist/components/operationsValidation.js.map +1 -0
  83. package/dist/components/packageComponent.d.ts +8 -0
  84. package/dist/components/packageComponent.js +42 -0
  85. package/dist/components/packageComponent.js.map +1 -0
  86. package/dist/components/requestRestart.d.ts +3 -0
  87. package/dist/components/requestRestart.js +27 -0
  88. package/dist/components/requestRestart.js.map +1 -0
  89. package/dist/components/resolveBaseURLPath.d.ts +15 -0
  90. package/dist/components/resolveBaseURLPath.js +38 -0
  91. package/dist/components/resolveBaseURLPath.js.map +1 -0
  92. package/dist/components/status/ComponentStatus.d.ts +61 -0
  93. package/dist/components/status/ComponentStatus.js +102 -0
  94. package/dist/components/status/ComponentStatus.js.map +1 -0
  95. package/dist/components/status/ComponentStatusRegistry.d.ts +89 -0
  96. package/dist/components/status/ComponentStatusRegistry.js +195 -0
  97. package/dist/components/status/ComponentStatusRegistry.js.map +1 -0
  98. package/dist/components/status/api.d.ts +104 -0
  99. package/dist/components/status/api.js +137 -0
  100. package/dist/components/status/api.js.map +1 -0
  101. package/dist/components/status/crossThread.d.ts +62 -0
  102. package/dist/components/status/crossThread.js +343 -0
  103. package/dist/components/status/crossThread.js.map +1 -0
  104. package/dist/components/status/errors.d.ts +68 -0
  105. package/dist/components/status/errors.js +123 -0
  106. package/dist/components/status/errors.js.map +1 -0
  107. package/dist/components/status/index.d.ts +35 -0
  108. package/dist/components/status/index.js +75 -0
  109. package/dist/components/status/index.js.map +1 -0
  110. package/dist/components/status/internal.d.ts +40 -0
  111. package/dist/components/status/internal.js +76 -0
  112. package/dist/components/status/internal.js.map +1 -0
  113. package/dist/components/status/registry.d.ts +10 -0
  114. package/dist/components/status/registry.js +14 -0
  115. package/dist/components/status/registry.js.map +1 -0
  116. package/dist/components/status/types.d.ts +94 -0
  117. package/dist/components/status/types.js +20 -0
  118. package/dist/components/status/types.js.map +1 -0
  119. package/dist/config/RootConfigWatcher.d.ts +10 -0
  120. package/dist/config/RootConfigWatcher.js +59 -0
  121. package/dist/config/RootConfigWatcher.js.map +1 -0
  122. package/dist/config/configHelpers.d.ts +6 -0
  123. package/dist/config/configHelpers.js +47 -0
  124. package/dist/config/configHelpers.js.map +1 -0
  125. package/dist/config/configUtils.d.ts +85 -0
  126. package/dist/config/configUtils.js +801 -0
  127. package/dist/config/configUtils.js.map +1 -0
  128. package/dist/config/harperConfigEnvVars.d.ts +46 -0
  129. package/dist/config/harperConfigEnvVars.js +527 -0
  130. package/dist/config/harperConfigEnvVars.js.map +1 -0
  131. package/dist/dataLayer/CreateAttributeObject.d.ts +19 -0
  132. package/dist/dataLayer/CreateAttributeObject.js +23 -0
  133. package/dist/dataLayer/CreateAttributeObject.js.map +1 -0
  134. package/dist/dataLayer/CreateTableObject.d.ts +7 -0
  135. package/dist/dataLayer/CreateTableObject.js +10 -0
  136. package/dist/dataLayer/CreateTableObject.js.map +1 -0
  137. package/dist/dataLayer/DataLayerObjects.d.ts +22 -0
  138. package/dist/dataLayer/DataLayerObjects.js +33 -0
  139. package/dist/dataLayer/DataLayerObjects.js.map +1 -0
  140. package/dist/dataLayer/DeleteBeforeObject.d.ts +18 -0
  141. package/dist/dataLayer/DeleteBeforeObject.js +21 -0
  142. package/dist/dataLayer/DeleteBeforeObject.js.map +1 -0
  143. package/dist/dataLayer/DeleteObject.d.ts +19 -0
  144. package/dist/dataLayer/DeleteObject.js +23 -0
  145. package/dist/dataLayer/DeleteObject.js.map +1 -0
  146. package/dist/dataLayer/DropAttributeObject.d.ts +7 -0
  147. package/dist/dataLayer/DropAttributeObject.js +10 -0
  148. package/dist/dataLayer/DropAttributeObject.js.map +1 -0
  149. package/dist/dataLayer/GetBackupObject.d.ts +16 -0
  150. package/dist/dataLayer/GetBackupObject.js +20 -0
  151. package/dist/dataLayer/GetBackupObject.js.map +1 -0
  152. package/dist/dataLayer/InsertObject.d.ts +20 -0
  153. package/dist/dataLayer/InsertObject.js +24 -0
  154. package/dist/dataLayer/InsertObject.js.map +1 -0
  155. package/dist/dataLayer/ReadAuditLogObject.d.ts +18 -0
  156. package/dist/dataLayer/ReadAuditLogObject.js +22 -0
  157. package/dist/dataLayer/ReadAuditLogObject.js.map +1 -0
  158. package/dist/dataLayer/SQLSearch.d.ts +171 -0
  159. package/dist/dataLayer/SQLSearch.js +1168 -0
  160. package/dist/dataLayer/SQLSearch.js.map +1 -0
  161. package/dist/dataLayer/SearchByConditionsObject.d.ts +85 -0
  162. package/dist/dataLayer/SearchByConditionsObject.js +57 -0
  163. package/dist/dataLayer/SearchByConditionsObject.js.map +1 -0
  164. package/dist/dataLayer/SearchByHashObject.d.ts +17 -0
  165. package/dist/dataLayer/SearchByHashObject.js +20 -0
  166. package/dist/dataLayer/SearchByHashObject.js.map +1 -0
  167. package/dist/dataLayer/SearchObject.d.ts +30 -0
  168. package/dist/dataLayer/SearchObject.js +33 -0
  169. package/dist/dataLayer/SearchObject.js.map +1 -0
  170. package/dist/dataLayer/SqlSearchObject.d.ts +10 -0
  171. package/dist/dataLayer/SqlSearchObject.js +13 -0
  172. package/dist/dataLayer/SqlSearchObject.js.map +1 -0
  173. package/dist/dataLayer/UpdateObject.d.ts +18 -0
  174. package/dist/dataLayer/UpdateObject.js +22 -0
  175. package/dist/dataLayer/UpdateObject.js.map +1 -0
  176. package/dist/dataLayer/UpsertObject.d.ts +18 -0
  177. package/dist/dataLayer/UpsertObject.js +22 -0
  178. package/dist/dataLayer/UpsertObject.js.map +1 -0
  179. package/dist/dataLayer/bulkLoad.d.ts +28 -0
  180. package/dist/dataLayer/bulkLoad.js +624 -0
  181. package/dist/dataLayer/bulkLoad.js.map +1 -0
  182. package/dist/dataLayer/dataObjects/BulkLoadObjects.d.ts +17 -0
  183. package/dist/dataLayer/dataObjects/BulkLoadObjects.js +25 -0
  184. package/dist/dataLayer/dataObjects/BulkLoadObjects.js.map +1 -0
  185. package/dist/dataLayer/dataObjects/UpsertObject.d.ts +18 -0
  186. package/dist/dataLayer/dataObjects/UpsertObject.js +22 -0
  187. package/dist/dataLayer/dataObjects/UpsertObject.js.map +1 -0
  188. package/dist/dataLayer/delete.d.ts +22 -0
  189. package/dist/dataLayer/delete.js +111 -0
  190. package/dist/dataLayer/delete.js.map +1 -0
  191. package/dist/dataLayer/export.d.ts +15 -0
  192. package/dist/dataLayer/export.js +302 -0
  193. package/dist/dataLayer/export.js.map +1 -0
  194. package/dist/dataLayer/getBackup.d.ts +8 -0
  195. package/dist/dataLayer/getBackup.js +28 -0
  196. package/dist/dataLayer/getBackup.js.map +1 -0
  197. package/dist/dataLayer/harperBridge/BridgeMethods.d.ts +24 -0
  198. package/dist/dataLayer/harperBridge/BridgeMethods.js +62 -0
  199. package/dist/dataLayer/harperBridge/BridgeMethods.js.map +1 -0
  200. package/dist/dataLayer/harperBridge/ResourceBridge.d.ts +104 -0
  201. package/dist/dataLayer/harperBridge/ResourceBridge.js +630 -0
  202. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -0
  203. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.d.ts +14 -0
  204. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.js +24 -0
  205. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateReturnObj.js.map +1 -0
  206. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.d.ts +11 -0
  207. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js +68 -0
  208. package/dist/dataLayer/harperBridge/bridgeUtility/insertUpdateValidate.js.map +1 -0
  209. package/dist/dataLayer/harperBridge/harperBridge.d.ts +2 -0
  210. package/dist/dataLayer/harperBridge/harperBridge.js +18 -0
  211. package/dist/dataLayer/harperBridge/harperBridge.js.map +1 -0
  212. package/dist/dataLayer/harperBridge/lmdbBridge/LMDBBridge.d.ts +47 -0
  213. package/dist/dataLayer/harperBridge/lmdbBridge/LMDBBridge.js +99 -0
  214. package/dist/dataLayer/harperBridge/lmdbBridge/LMDBBridge.js.map +1 -0
  215. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.d.ts +15 -0
  216. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js +18 -0
  217. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/DeleteAuditLogsBeforeResults.js.map +1 -0
  218. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.d.ts +12 -0
  219. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js +74 -0
  220. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateAttribute.js.map +1 -0
  221. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.d.ts +13 -0
  222. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js +54 -0
  223. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateRecords.js.map +1 -0
  224. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.d.ts +6 -0
  225. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js +23 -0
  226. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateSchema.js.map +1 -0
  227. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.d.ts +8 -0
  228. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js +62 -0
  229. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbCreateTable.js.map +1 -0
  230. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.d.ts +8 -0
  231. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js +82 -0
  232. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteAuditLogsBefore.js.map +1 -0
  233. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.d.ts +11 -0
  234. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js +76 -0
  235. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDeleteRecords.js.map +1 -0
  236. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.d.ts +9 -0
  237. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js +83 -0
  238. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropAttribute.js.map +1 -0
  239. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.d.ts +6 -0
  240. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js +73 -0
  241. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropSchema.js.map +1 -0
  242. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.d.ts +6 -0
  243. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js +110 -0
  244. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbDropTable.js.map +1 -0
  245. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.d.ts +14 -0
  246. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js +33 -0
  247. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbFlush.js.map +1 -0
  248. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.d.ts +7 -0
  249. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js +110 -0
  250. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetBackup.js.map +1 -0
  251. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.d.ts +6 -0
  252. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js +21 -0
  253. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByHash.js.map +1 -0
  254. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.d.ts +14 -0
  255. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js +25 -0
  256. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbGetDataByValue.js.map +1 -0
  257. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.d.ts +7 -0
  258. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js +180 -0
  259. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbReadAuditLog.js.map +1 -0
  260. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.d.ts +8 -0
  261. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js +134 -0
  262. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByConditions.js.map +1 -0
  263. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.d.ts +6 -0
  264. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js +14 -0
  265. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByHash.js.map +1 -0
  266. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.d.ts +15 -0
  267. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js +26 -0
  268. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbSearchByValue.js.map +1 -0
  269. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.d.ts +8 -0
  270. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.js +17 -0
  271. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbTransaction.js.map +1 -0
  272. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.d.ts +12 -0
  273. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js +52 -0
  274. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpdateRecords.js.map +1 -0
  275. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.d.ts +15 -0
  276. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js +56 -0
  277. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbMethods/lmdbUpsertRecords.js.map +1 -0
  278. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.d.ts +16 -0
  279. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js +20 -0
  280. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBCreateAttributeObject.js.map +1 -0
  281. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.d.ts +16 -0
  282. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.js +22 -0
  283. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBDeleteTransactionObject.js.map +1 -0
  284. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.d.ts +16 -0
  285. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.js +21 -0
  286. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBInsertTransactionObject.js.map +1 -0
  287. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.d.ts +19 -0
  288. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.js +22 -0
  289. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBTransactionObject.js.map +1 -0
  290. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.d.ts +18 -0
  291. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.js +23 -0
  292. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpdateTransactionObject.js.map +1 -0
  293. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.d.ts +18 -0
  294. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.js +23 -0
  295. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/LMDBUpsertTransactionObject.js.map +1 -0
  296. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.d.ts +21 -0
  297. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +24 -0
  298. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +1 -0
  299. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.d.ts +7 -0
  300. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js +19 -0
  301. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializeHashSearch.js.map +1 -0
  302. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.d.ts +22 -0
  303. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +137 -0
  304. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -0
  305. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.d.ts +9 -0
  306. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js +73 -0
  307. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCheckForNewAttributes.js.map +1 -0
  308. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.d.ts +8 -0
  309. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js +38 -0
  310. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbCreateTransactionsAuditEnvironment.js.map +1 -0
  311. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.d.ts +8 -0
  312. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +29 -0
  313. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -0
  314. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.d.ts +17 -0
  315. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js +63 -0
  316. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbProcessRows.js.map +1 -0
  317. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.d.ts +106 -0
  318. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js +251 -0
  319. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbSearch.js.map +1 -0
  320. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.d.ts +8 -0
  321. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js +66 -0
  322. package/dist/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbWriteTransaction.js.map +1 -0
  323. package/dist/dataLayer/hdbInfoController.d.ts +28 -0
  324. package/dist/dataLayer/hdbInfoController.js +203 -0
  325. package/dist/dataLayer/hdbInfoController.js.map +1 -0
  326. package/dist/dataLayer/insert.d.ts +44 -0
  327. package/dist/dataLayer/insert.js +192 -0
  328. package/dist/dataLayer/insert.js.map +1 -0
  329. package/dist/dataLayer/readAuditLog.d.ts +8 -0
  330. package/dist/dataLayer/readAuditLog.js +37 -0
  331. package/dist/dataLayer/readAuditLog.js.map +1 -0
  332. package/dist/dataLayer/schema.d.ts +24 -0
  333. package/dist/dataLayer/schema.js +225 -0
  334. package/dist/dataLayer/schema.js.map +1 -0
  335. package/dist/dataLayer/schemaDescribe.d.ts +26 -0
  336. package/dist/dataLayer/schemaDescribe.js +265 -0
  337. package/dist/dataLayer/schemaDescribe.js.map +1 -0
  338. package/dist/dataLayer/search.d.ts +4 -0
  339. package/dist/dataLayer/search.js +56 -0
  340. package/dist/dataLayer/search.js.map +1 -0
  341. package/dist/dataLayer/transaction.d.ts +8 -0
  342. package/dist/dataLayer/transaction.js +16 -0
  343. package/dist/dataLayer/transaction.js.map +1 -0
  344. package/dist/dataLayer/update.d.ts +15 -0
  345. package/dist/dataLayer/update.js +107 -0
  346. package/dist/dataLayer/update.js.map +1 -0
  347. package/dist/globals.d.ts +7 -0
  348. package/dist/globals.js +12 -0
  349. package/dist/globals.js.map +1 -0
  350. package/dist/index.d.ts +7 -0
  351. package/dist/index.js +40 -0
  352. package/dist/index.js.map +1 -0
  353. package/dist/json/systemSchema.json +373 -0
  354. package/dist/launchServiceScripts/utility/checkNodeVersion.d.ts +4 -0
  355. package/dist/launchServiceScripts/utility/checkNodeVersion.js +13 -0
  356. package/dist/launchServiceScripts/utility/checkNodeVersion.js.map +1 -0
  357. package/dist/resources/DatabaseTransaction.d.ts +96 -0
  358. package/dist/resources/DatabaseTransaction.js +354 -0
  359. package/dist/resources/DatabaseTransaction.js.map +1 -0
  360. package/dist/resources/ErrorResource.d.ts +26 -0
  361. package/dist/resources/ErrorResource.js +60 -0
  362. package/dist/resources/ErrorResource.js.map +1 -0
  363. package/dist/resources/IterableEventQueue.d.ts +19 -0
  364. package/dist/resources/IterableEventQueue.js +103 -0
  365. package/dist/resources/IterableEventQueue.js.map +1 -0
  366. package/dist/resources/LMDBTransaction.d.ts +43 -0
  367. package/dist/resources/LMDBTransaction.js +371 -0
  368. package/dist/resources/LMDBTransaction.js.map +1 -0
  369. package/dist/resources/RecordEncoder.d.ts +65 -0
  370. package/dist/resources/RecordEncoder.js +700 -0
  371. package/dist/resources/RecordEncoder.js.map +1 -0
  372. package/dist/resources/RequestTarget.d.ts +57 -0
  373. package/dist/resources/RequestTarget.js +91 -0
  374. package/dist/resources/RequestTarget.js.map +1 -0
  375. package/dist/resources/Resource.d.ts +152 -0
  376. package/dist/resources/Resource.js +727 -0
  377. package/dist/resources/Resource.js.map +1 -0
  378. package/dist/resources/ResourceInterface.d.ts +162 -0
  379. package/dist/resources/ResourceInterface.js +3 -0
  380. package/dist/resources/ResourceInterface.js.map +1 -0
  381. package/dist/resources/ResourceInterfaceV2.d.ts +21 -0
  382. package/dist/resources/ResourceInterfaceV2.js +3 -0
  383. package/dist/resources/ResourceInterfaceV2.js.map +1 -0
  384. package/dist/resources/ResourceV2.d.ts +30 -0
  385. package/dist/resources/ResourceV2.js +27 -0
  386. package/dist/resources/ResourceV2.js.map +1 -0
  387. package/dist/resources/Resources.d.ts +36 -0
  388. package/dist/resources/Resources.js +155 -0
  389. package/dist/resources/Resources.js.map +1 -0
  390. package/dist/resources/RocksIndexStore.d.ts +24 -0
  391. package/dist/resources/RocksIndexStore.js +54 -0
  392. package/dist/resources/RocksIndexStore.js.map +1 -0
  393. package/dist/resources/RocksTransactionLogStore.d.ts +60 -0
  394. package/dist/resources/RocksTransactionLogStore.js +344 -0
  395. package/dist/resources/RocksTransactionLogStore.js.map +1 -0
  396. package/dist/resources/Table.d.ts +854 -0
  397. package/dist/resources/Table.js +4350 -0
  398. package/dist/resources/Table.js.map +1 -0
  399. package/dist/resources/analytics/hostnames.d.ts +16 -0
  400. package/dist/resources/analytics/hostnames.js +72 -0
  401. package/dist/resources/analytics/hostnames.js.map +1 -0
  402. package/dist/resources/analytics/metadata.d.ts +9 -0
  403. package/dist/resources/analytics/metadata.js +12 -0
  404. package/dist/resources/analytics/metadata.js.map +1 -0
  405. package/dist/resources/analytics/profile.d.ts +2 -0
  406. package/dist/resources/analytics/profile.js +144 -0
  407. package/dist/resources/analytics/profile.js.map +1 -0
  408. package/dist/resources/analytics/read.d.ts +41 -0
  409. package/dist/resources/analytics/read.js +189 -0
  410. package/dist/resources/analytics/read.js.map +1 -0
  411. package/dist/resources/analytics/write.d.ts +131 -0
  412. package/dist/resources/analytics/write.js +822 -0
  413. package/dist/resources/analytics/write.js.map +1 -0
  414. package/dist/resources/auditStore.d.ts +81 -0
  415. package/dist/resources/auditStore.js +572 -0
  416. package/dist/resources/auditStore.js.map +1 -0
  417. package/dist/resources/blob.d.ts +137 -0
  418. package/dist/resources/blob.js +1273 -0
  419. package/dist/resources/blob.js.map +1 -0
  420. package/dist/resources/crdt.d.ts +19 -0
  421. package/dist/resources/crdt.js +146 -0
  422. package/dist/resources/crdt.js.map +1 -0
  423. package/dist/resources/dataLoader.d.ts +98 -0
  424. package/dist/resources/dataLoader.js +461 -0
  425. package/dist/resources/dataLoader.js.map +1 -0
  426. package/dist/resources/databases.d.ts +131 -0
  427. package/dist/resources/databases.js +1220 -0
  428. package/dist/resources/databases.js.map +1 -0
  429. package/dist/resources/graphql.d.ts +19 -0
  430. package/dist/resources/graphql.js +223 -0
  431. package/dist/resources/graphql.js.map +1 -0
  432. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +87 -0
  433. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +598 -0
  434. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -0
  435. package/dist/resources/indexes/customIndexes.d.ts +4 -0
  436. package/dist/resources/indexes/customIndexes.js +10 -0
  437. package/dist/resources/indexes/customIndexes.js.map +1 -0
  438. package/dist/resources/indexes/vector.d.ts +2 -0
  439. package/dist/resources/indexes/vector.js +40 -0
  440. package/dist/resources/indexes/vector.js.map +1 -0
  441. package/dist/resources/jsResource.d.ts +24 -0
  442. package/dist/resources/jsResource.js +82 -0
  443. package/dist/resources/jsResource.js.map +1 -0
  444. package/dist/resources/loadEnv.d.ts +5 -0
  445. package/dist/resources/loadEnv.js +28 -0
  446. package/dist/resources/loadEnv.js.map +1 -0
  447. package/dist/resources/login.d.ts +3 -0
  448. package/dist/resources/login.js +22 -0
  449. package/dist/resources/login.js.map +1 -0
  450. package/dist/resources/openApi.d.ts +27 -0
  451. package/dist/resources/openApi.js +327 -0
  452. package/dist/resources/openApi.js.map +1 -0
  453. package/dist/resources/registrationDeprecated.d.ts +4 -0
  454. package/dist/resources/registrationDeprecated.js +11 -0
  455. package/dist/resources/registrationDeprecated.js.map +1 -0
  456. package/dist/resources/replayLogs.d.ts +2 -0
  457. package/dist/resources/replayLogs.js +170 -0
  458. package/dist/resources/replayLogs.js.map +1 -0
  459. package/dist/resources/roles.d.ts +11 -0
  460. package/dist/resources/roles.js +102 -0
  461. package/dist/resources/roles.js.map +1 -0
  462. package/dist/resources/search.d.ts +39 -0
  463. package/dist/resources/search.js +1333 -0
  464. package/dist/resources/search.js.map +1 -0
  465. package/dist/resources/tracked.d.ts +49 -0
  466. package/dist/resources/tracked.js +665 -0
  467. package/dist/resources/tracked.js.map +1 -0
  468. package/dist/resources/transaction.d.ts +9 -0
  469. package/dist/resources/transaction.js +89 -0
  470. package/dist/resources/transaction.js.map +1 -0
  471. package/dist/resources/transactionBroadcast.d.ts +38 -0
  472. package/dist/resources/transactionBroadcast.js +263 -0
  473. package/dist/resources/transactionBroadcast.js.map +1 -0
  474. package/dist/security/auth.d.ts +9 -0
  475. package/dist/security/auth.js +408 -0
  476. package/dist/security/auth.js.map +1 -0
  477. package/dist/security/certificateVerification/certificateVerificationSource.d.ts +18 -0
  478. package/dist/security/certificateVerification/certificateVerificationSource.js +78 -0
  479. package/dist/security/certificateVerification/certificateVerificationSource.js.map +1 -0
  480. package/dist/security/certificateVerification/configValidation.d.ts +14 -0
  481. package/dist/security/certificateVerification/configValidation.js +101 -0
  482. package/dist/security/certificateVerification/configValidation.js.map +1 -0
  483. package/dist/security/certificateVerification/crlVerification.d.ts +29 -0
  484. package/dist/security/certificateVerification/crlVerification.js +564 -0
  485. package/dist/security/certificateVerification/crlVerification.js.map +1 -0
  486. package/dist/security/certificateVerification/index.d.ts +31 -0
  487. package/dist/security/certificateVerification/index.js +111 -0
  488. package/dist/security/certificateVerification/index.js.map +1 -0
  489. package/dist/security/certificateVerification/ocspVerification.d.ts +23 -0
  490. package/dist/security/certificateVerification/ocspVerification.js +117 -0
  491. package/dist/security/certificateVerification/ocspVerification.js.map +1 -0
  492. package/dist/security/certificateVerification/pkijs-ed25519-patch.d.ts +14 -0
  493. package/dist/security/certificateVerification/pkijs-ed25519-patch.js +183 -0
  494. package/dist/security/certificateVerification/pkijs-ed25519-patch.js.map +1 -0
  495. package/dist/security/certificateVerification/types.d.ts +105 -0
  496. package/dist/security/certificateVerification/types.js +6 -0
  497. package/dist/security/certificateVerification/types.js.map +1 -0
  498. package/dist/security/certificateVerification/verificationConfig.d.ts +29 -0
  499. package/dist/security/certificateVerification/verificationConfig.js +121 -0
  500. package/dist/security/certificateVerification/verificationConfig.js.map +1 -0
  501. package/dist/security/certificateVerification/verificationUtils.d.ts +79 -0
  502. package/dist/security/certificateVerification/verificationUtils.js +441 -0
  503. package/dist/security/certificateVerification/verificationUtils.js.map +1 -0
  504. package/dist/security/cryptoHash.d.ts +2 -0
  505. package/dist/security/cryptoHash.js +35 -0
  506. package/dist/security/cryptoHash.js.map +1 -0
  507. package/dist/security/data_objects/PermissionAttributeResponseObject.d.ts +11 -0
  508. package/dist/security/data_objects/PermissionAttributeResponseObject.js +14 -0
  509. package/dist/security/data_objects/PermissionAttributeResponseObject.js.map +1 -0
  510. package/dist/security/data_objects/PermissionResponseObject.d.ts +57 -0
  511. package/dist/security/data_objects/PermissionResponseObject.js +105 -0
  512. package/dist/security/data_objects/PermissionResponseObject.js.map +1 -0
  513. package/dist/security/data_objects/PermissionTableResponseObject.d.ts +16 -0
  514. package/dist/security/data_objects/PermissionTableResponseObject.js +19 -0
  515. package/dist/security/data_objects/PermissionTableResponseObject.js.map +1 -0
  516. package/dist/security/fastifyAuth.d.ts +2 -0
  517. package/dist/security/fastifyAuth.js +135 -0
  518. package/dist/security/fastifyAuth.js.map +1 -0
  519. package/dist/security/impersonation.d.ts +11 -0
  520. package/dist/security/impersonation.js +139 -0
  521. package/dist/security/impersonation.js.map +1 -0
  522. package/dist/security/jsLoader.d.ts +9 -0
  523. package/dist/security/jsLoader.js +522 -0
  524. package/dist/security/jsLoader.js.map +1 -0
  525. package/dist/security/keys.d.ts +119 -0
  526. package/dist/security/keys.js +866 -0
  527. package/dist/security/keys.js.map +1 -0
  528. package/dist/security/permissionsTranslator.d.ts +9 -0
  529. package/dist/security/permissionsTranslator.js +269 -0
  530. package/dist/security/permissionsTranslator.js.map +1 -0
  531. package/dist/security/role.d.ts +5 -0
  532. package/dist/security/role.js +160 -0
  533. package/dist/security/role.js.map +1 -0
  534. package/dist/security/tokenAuthentication.d.ts +38 -0
  535. package/dist/security/tokenAuthentication.js +205 -0
  536. package/dist/security/tokenAuthentication.js.map +1 -0
  537. package/dist/security/user.d.ts +77 -0
  538. package/dist/security/user.js +349 -0
  539. package/dist/security/user.js.map +1 -0
  540. package/dist/server/DurableSubscriptionsSession.d.ts +74 -0
  541. package/dist/server/DurableSubscriptionsSession.js +511 -0
  542. package/dist/server/DurableSubscriptionsSession.js.map +1 -0
  543. package/dist/server/REST.d.ts +16 -0
  544. package/dist/server/REST.js +423 -0
  545. package/dist/server/REST.js.map +1 -0
  546. package/dist/server/Server.d.ts +62 -0
  547. package/dist/server/Server.js +27 -0
  548. package/dist/server/Server.js.map +1 -0
  549. package/dist/server/fastifyRoutes/helpers/getCORSOptions.d.ts +11 -0
  550. package/dist/server/fastifyRoutes/helpers/getCORSOptions.js +32 -0
  551. package/dist/server/fastifyRoutes/helpers/getCORSOptions.js.map +1 -0
  552. package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.d.ts +6 -0
  553. package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js +13 -0
  554. package/dist/server/fastifyRoutes/helpers/getHeaderTimeoutConfig.js.map +1 -0
  555. package/dist/server/fastifyRoutes/helpers/getServerOptions.d.ts +12 -0
  556. package/dist/server/fastifyRoutes/helpers/getServerOptions.js +30 -0
  557. package/dist/server/fastifyRoutes/helpers/getServerOptions.js.map +1 -0
  558. package/dist/server/fastifyRoutes/plugins/hdbCore.d.ts +2 -0
  559. package/dist/server/fastifyRoutes/plugins/hdbCore.js +31 -0
  560. package/dist/server/fastifyRoutes/plugins/hdbCore.js.map +1 -0
  561. package/dist/server/fastifyRoutes.d.ts +25 -0
  562. package/dist/server/fastifyRoutes.js +235 -0
  563. package/dist/server/fastifyRoutes.js.map +1 -0
  564. package/dist/server/graphqlQuerying.d.ts +1 -0
  565. package/dist/server/graphqlQuerying.js +630 -0
  566. package/dist/server/graphqlQuerying.js.map +1 -0
  567. package/dist/server/http.d.ts +15 -0
  568. package/dist/server/http.js +650 -0
  569. package/dist/server/http.js.map +1 -0
  570. package/dist/server/itc/serverHandlers.d.ts +10 -0
  571. package/dist/server/itc/serverHandlers.js +153 -0
  572. package/dist/server/itc/serverHandlers.js.map +1 -0
  573. package/dist/server/itc/utility/ITCEventObject.d.ts +6 -0
  574. package/dist/server/itc/utility/ITCEventObject.js +9 -0
  575. package/dist/server/itc/utility/ITCEventObject.js.map +1 -0
  576. package/dist/server/jobs/JobObject.d.ts +15 -0
  577. package/dist/server/jobs/JobObject.js +22 -0
  578. package/dist/server/jobs/JobObject.js.map +1 -0
  579. package/dist/server/jobs/jobProcess.d.ts +1 -0
  580. package/dist/server/jobs/jobProcess.js +66 -0
  581. package/dist/server/jobs/jobProcess.js.map +1 -0
  582. package/dist/server/jobs/jobRunner.d.ts +11 -0
  583. package/dist/server/jobs/jobRunner.js +160 -0
  584. package/dist/server/jobs/jobRunner.js.map +1 -0
  585. package/dist/server/jobs/jobs.d.ts +20 -0
  586. package/dist/server/jobs/jobs.js +267 -0
  587. package/dist/server/jobs/jobs.js.map +1 -0
  588. package/dist/server/loadRootComponents.d.ts +5 -0
  589. package/dist/server/loadRootComponents.js +45 -0
  590. package/dist/server/loadRootComponents.js.map +1 -0
  591. package/dist/server/mqtt.d.ts +9 -0
  592. package/dist/server/mqtt.js +466 -0
  593. package/dist/server/mqtt.js.map +1 -0
  594. package/dist/server/nodeName.d.ts +5 -0
  595. package/dist/server/nodeName.js +84 -0
  596. package/dist/server/nodeName.js.map +1 -0
  597. package/dist/server/operationsServer.d.ts +48 -0
  598. package/dist/server/operationsServer.js +265 -0
  599. package/dist/server/operationsServer.js.map +1 -0
  600. package/dist/server/serverHelpers/Headers.d.ts +20 -0
  601. package/dist/server/serverHelpers/Headers.js +134 -0
  602. package/dist/server/serverHelpers/Headers.js.map +1 -0
  603. package/dist/server/serverHelpers/JSONStream.d.ts +14 -0
  604. package/dist/server/serverHelpers/JSONStream.js +322 -0
  605. package/dist/server/serverHelpers/JSONStream.js.map +1 -0
  606. package/dist/server/serverHelpers/OperationFunctionObject.d.ts +9 -0
  607. package/dist/server/serverHelpers/OperationFunctionObject.js +17 -0
  608. package/dist/server/serverHelpers/OperationFunctionObject.js.map +1 -0
  609. package/dist/server/serverHelpers/Request.d.ts +69 -0
  610. package/dist/server/serverHelpers/Request.js +141 -0
  611. package/dist/server/serverHelpers/Request.js.map +1 -0
  612. package/dist/server/serverHelpers/contentTypes.d.ts +57 -0
  613. package/dist/server/serverHelpers/contentTypes.js +639 -0
  614. package/dist/server/serverHelpers/contentTypes.js.map +1 -0
  615. package/dist/server/serverHelpers/requestTimePlugin.d.ts +2 -0
  616. package/dist/server/serverHelpers/requestTimePlugin.js +56 -0
  617. package/dist/server/serverHelpers/requestTimePlugin.js.map +1 -0
  618. package/dist/server/serverHelpers/serverHandlers.d.ts +6 -0
  619. package/dist/server/serverHelpers/serverHandlers.js +130 -0
  620. package/dist/server/serverHelpers/serverHandlers.js.map +1 -0
  621. package/dist/server/serverHelpers/serverUtilities.d.ts +29 -0
  622. package/dist/server/serverHelpers/serverUtilities.js +356 -0
  623. package/dist/server/serverHelpers/serverUtilities.js.map +1 -0
  624. package/dist/server/serverRegistry.d.ts +3 -0
  625. package/dist/server/serverRegistry.js +11 -0
  626. package/dist/server/serverRegistry.js.map +1 -0
  627. package/dist/server/static.d.ts +16 -0
  628. package/dist/server/static.js +164 -0
  629. package/dist/server/static.js.map +1 -0
  630. package/dist/server/status/definitions.d.ts +27 -0
  631. package/dist/server/status/definitions.js +22 -0
  632. package/dist/server/status/definitions.js.map +1 -0
  633. package/dist/server/status/index.d.ts +26 -0
  634. package/dist/server/status/index.js +89 -0
  635. package/dist/server/status/index.js.map +1 -0
  636. package/dist/server/storageReclamation.d.ts +18 -0
  637. package/dist/server/storageReclamation.js +96 -0
  638. package/dist/server/storageReclamation.js.map +1 -0
  639. package/dist/server/threads/itc.d.ts +53 -0
  640. package/dist/server/threads/itc.js +81 -0
  641. package/dist/server/threads/itc.js.map +1 -0
  642. package/dist/server/threads/manageThreads.d.ts +30 -0
  643. package/dist/server/threads/manageThreads.js +579 -0
  644. package/dist/server/threads/manageThreads.js.map +1 -0
  645. package/dist/server/threads/socketRouter.d.ts +6 -0
  646. package/dist/server/threads/socketRouter.js +395 -0
  647. package/dist/server/threads/socketRouter.js.map +1 -0
  648. package/dist/server/threads/threadServer.d.ts +5 -0
  649. package/dist/server/threads/threadServer.js +288 -0
  650. package/dist/server/threads/threadServer.js.map +1 -0
  651. package/dist/server/throttle.d.ts +7 -0
  652. package/dist/server/throttle.js +71 -0
  653. package/dist/server/throttle.js.map +1 -0
  654. package/dist/sqlTranslator/SelectValidator.d.ts +79 -0
  655. package/dist/sqlTranslator/SelectValidator.js +274 -0
  656. package/dist/sqlTranslator/SelectValidator.js.map +1 -0
  657. package/dist/sqlTranslator/alasqlFunctionImporter.d.ts +2 -0
  658. package/dist/sqlTranslator/alasqlFunctionImporter.js +55 -0
  659. package/dist/sqlTranslator/alasqlFunctionImporter.js.map +1 -0
  660. package/dist/sqlTranslator/deleteTranslator.d.ts +2 -0
  661. package/dist/sqlTranslator/deleteTranslator.js +56 -0
  662. package/dist/sqlTranslator/deleteTranslator.js.map +1 -0
  663. package/dist/sqlTranslator/index.d.ts +16 -0
  664. package/dist/sqlTranslator/index.js +215 -0
  665. package/dist/sqlTranslator/index.js.map +1 -0
  666. package/dist/sqlTranslator/sql_statement_bucket.d.ts +46 -0
  667. package/dist/sqlTranslator/sql_statement_bucket.js +430 -0
  668. package/dist/sqlTranslator/sql_statement_bucket.js.map +1 -0
  669. package/dist/upgrade/UpgradeObjects.d.ts +5 -0
  670. package/dist/upgrade/UpgradeObjects.js +12 -0
  671. package/dist/upgrade/UpgradeObjects.js.map +1 -0
  672. package/dist/upgrade/directives/directivesController.d.ts +30 -0
  673. package/dist/upgrade/directives/directivesController.js +76 -0
  674. package/dist/upgrade/directives/directivesController.js.map +1 -0
  675. package/dist/upgrade/directivesManager.d.ts +7 -0
  676. package/dist/upgrade/directivesManager.js +125 -0
  677. package/dist/upgrade/directivesManager.js.map +1 -0
  678. package/dist/upgrade/upgradePrompt.d.ts +13 -0
  679. package/dist/upgrade/upgradePrompt.js +102 -0
  680. package/dist/upgrade/upgradePrompt.js.map +1 -0
  681. package/dist/upgrade/upgradeUtilities.d.ts +10 -0
  682. package/dist/upgrade/upgradeUtilities.js +26 -0
  683. package/dist/upgrade/upgradeUtilities.js.map +1 -0
  684. package/dist/utility/AWS/AWSConnector.d.ts +2 -0
  685. package/dist/utility/AWS/AWSConnector.js +26 -0
  686. package/dist/utility/AWS/AWSConnector.js.map +1 -0
  687. package/dist/utility/OperationFunctionCaller.d.ts +9 -0
  688. package/dist/utility/OperationFunctionCaller.js +58 -0
  689. package/dist/utility/OperationFunctionCaller.js.map +1 -0
  690. package/dist/utility/assignCmdEnvVariables.d.ts +10 -0
  691. package/dist/utility/assignCmdEnvVariables.js +55 -0
  692. package/dist/utility/assignCmdEnvVariables.js.map +1 -0
  693. package/dist/utility/common_utils.d.ts +264 -0
  694. package/dist/utility/common_utils.js +806 -0
  695. package/dist/utility/common_utils.js.map +1 -0
  696. package/dist/utility/environment/environmentManager.d.ts +41 -0
  697. package/dist/utility/environment/environmentManager.js +179 -0
  698. package/dist/utility/environment/environmentManager.js.map +1 -0
  699. package/dist/utility/environment/systemInformation.d.ts +67 -0
  700. package/dist/utility/environment/systemInformation.js +326 -0
  701. package/dist/utility/environment/systemInformation.js.map +1 -0
  702. package/dist/utility/errors/commonErrors.d.ts +171 -0
  703. package/dist/utility/errors/commonErrors.js +230 -0
  704. package/dist/utility/errors/commonErrors.js.map +1 -0
  705. package/dist/utility/errors/hdbError.d.ts +76 -0
  706. package/dist/utility/errors/hdbError.js +128 -0
  707. package/dist/utility/errors/hdbError.js.map +1 -0
  708. package/dist/utility/functions/date/dateFunctions.d.ts +11 -0
  709. package/dist/utility/functions/date/dateFunctions.js +64 -0
  710. package/dist/utility/functions/date/dateFunctions.js.map +1 -0
  711. package/dist/utility/functions/geo.d.ts +74 -0
  712. package/dist/utility/functions/geo.js +311 -0
  713. package/dist/utility/functions/geo.js.map +1 -0
  714. package/dist/utility/functions/sql/alaSQLExtension.d.ts +13 -0
  715. package/dist/utility/functions/sql/alaSQLExtension.js +96 -0
  716. package/dist/utility/functions/sql/alaSQLExtension.js.map +1 -0
  717. package/dist/utility/globalSchema.d.ts +151 -0
  718. package/dist/utility/globalSchema.js +34 -0
  719. package/dist/utility/globalSchema.js.map +1 -0
  720. package/dist/utility/hdbTerms.d.ts +737 -0
  721. package/dist/utility/hdbTerms.js +756 -0
  722. package/dist/utility/hdbTerms.js.map +1 -0
  723. package/dist/utility/install/checkJWTTokensExist.d.ts +5 -0
  724. package/dist/utility/install/checkJWTTokensExist.js +53 -0
  725. package/dist/utility/install/checkJWTTokensExist.js.map +1 -0
  726. package/dist/utility/install/installer.d.ts +17 -0
  727. package/dist/utility/install/installer.js +569 -0
  728. package/dist/utility/install/installer.js.map +1 -0
  729. package/dist/utility/installation.d.ts +12 -0
  730. package/dist/utility/installation.js +64 -0
  731. package/dist/utility/installation.js.map +1 -0
  732. package/dist/utility/lmdb/DBIDefinition.d.ts +16 -0
  733. package/dist/utility/lmdb/DBIDefinition.js +19 -0
  734. package/dist/utility/lmdb/DBIDefinition.js.map +1 -0
  735. package/dist/utility/lmdb/DeleteRecordsResponseObject.d.ts +21 -0
  736. package/dist/utility/lmdb/DeleteRecordsResponseObject.js +24 -0
  737. package/dist/utility/lmdb/DeleteRecordsResponseObject.js.map +1 -0
  738. package/dist/utility/lmdb/InsertRecordsResponseObject.d.ts +18 -0
  739. package/dist/utility/lmdb/InsertRecordsResponseObject.js +21 -0
  740. package/dist/utility/lmdb/InsertRecordsResponseObject.js.map +1 -0
  741. package/dist/utility/lmdb/OpenDBIObject.d.ts +23 -0
  742. package/dist/utility/lmdb/OpenDBIObject.js +29 -0
  743. package/dist/utility/lmdb/OpenDBIObject.js.map +1 -0
  744. package/dist/utility/lmdb/OpenEnvironmentObject.d.ts +22 -0
  745. package/dist/utility/lmdb/OpenEnvironmentObject.js +40 -0
  746. package/dist/utility/lmdb/OpenEnvironmentObject.js.map +1 -0
  747. package/dist/utility/lmdb/UpdateRecordsResponseObject.d.ts +21 -0
  748. package/dist/utility/lmdb/UpdateRecordsResponseObject.js +24 -0
  749. package/dist/utility/lmdb/UpdateRecordsResponseObject.js.map +1 -0
  750. package/dist/utility/lmdb/UpsertRecordsResponseObject.d.ts +18 -0
  751. package/dist/utility/lmdb/UpsertRecordsResponseObject.js +21 -0
  752. package/dist/utility/lmdb/UpsertRecordsResponseObject.js.map +1 -0
  753. package/dist/utility/lmdb/cleanLMDBMap.d.ts +6 -0
  754. package/dist/utility/lmdb/cleanLMDBMap.js +63 -0
  755. package/dist/utility/lmdb/cleanLMDBMap.js.map +1 -0
  756. package/dist/utility/lmdb/commonUtility.d.ts +28 -0
  757. package/dist/utility/lmdb/commonUtility.js +120 -0
  758. package/dist/utility/lmdb/commonUtility.js.map +1 -0
  759. package/dist/utility/lmdb/deleteUtility.d.ts +10 -0
  760. package/dist/utility/lmdb/deleteUtility.js +115 -0
  761. package/dist/utility/lmdb/deleteUtility.js.map +1 -0
  762. package/dist/utility/lmdb/environmentUtility.d.ts +81 -0
  763. package/dist/utility/lmdb/environmentUtility.js +432 -0
  764. package/dist/utility/lmdb/environmentUtility.js.map +1 -0
  765. package/dist/utility/lmdb/searchCursorFunctions.d.ts +93 -0
  766. package/dist/utility/lmdb/searchCursorFunctions.js +174 -0
  767. package/dist/utility/lmdb/searchCursorFunctions.js.map +1 -0
  768. package/dist/utility/lmdb/searchUtility.d.ts +204 -0
  769. package/dist/utility/lmdb/searchUtility.js +724 -0
  770. package/dist/utility/lmdb/searchUtility.js.map +1 -0
  771. package/dist/utility/lmdb/terms.d.ts +34 -0
  772. package/dist/utility/lmdb/terms.js +52 -0
  773. package/dist/utility/lmdb/terms.js.map +1 -0
  774. package/dist/utility/lmdb/writeUtility.d.ts +32 -0
  775. package/dist/utility/lmdb/writeUtility.js +360 -0
  776. package/dist/utility/lmdb/writeUtility.js.map +1 -0
  777. package/dist/utility/logging/harper_logger.d.ts +141 -0
  778. package/dist/utility/logging/harper_logger.js +862 -0
  779. package/dist/utility/logging/harper_logger.js.map +1 -0
  780. package/dist/utility/logging/logRotator.d.ts +19 -0
  781. package/dist/utility/logging/logRotator.js +146 -0
  782. package/dist/utility/logging/logRotator.js.map +1 -0
  783. package/dist/utility/logging/logger.d.ts +11 -0
  784. package/dist/utility/logging/logger.js +19 -0
  785. package/dist/utility/logging/logger.js.map +1 -0
  786. package/dist/utility/logging/readLog.d.ts +8 -0
  787. package/dist/utility/logging/readLog.js +339 -0
  788. package/dist/utility/logging/readLog.js.map +1 -0
  789. package/dist/utility/logging/transactionLog.d.ts +8 -0
  790. package/dist/utility/logging/transactionLog.js +46 -0
  791. package/dist/utility/logging/transactionLog.js.map +1 -0
  792. package/dist/utility/mount_hdb.d.ts +2 -0
  793. package/dist/utility/mount_hdb.js +51 -0
  794. package/dist/utility/mount_hdb.js.map +1 -0
  795. package/dist/utility/npmUtilities.d.ts +6 -0
  796. package/dist/utility/npmUtilities.js +91 -0
  797. package/dist/utility/npmUtilities.js.map +1 -0
  798. package/dist/utility/operationPermissions.d.ts +36 -0
  799. package/dist/utility/operationPermissions.js +116 -0
  800. package/dist/utility/operationPermissions.js.map +1 -0
  801. package/dist/utility/operation_authorization.d.ts +18 -0
  802. package/dist/utility/operation_authorization.js +667 -0
  803. package/dist/utility/operation_authorization.js.map +1 -0
  804. package/dist/utility/packageUtils.d.ts +9 -0
  805. package/dist/utility/packageUtils.js +52 -0
  806. package/dist/utility/packageUtils.js.map +1 -0
  807. package/dist/utility/password.d.ts +20 -0
  808. package/dist/utility/password.js +119 -0
  809. package/dist/utility/password.js.map +1 -0
  810. package/dist/utility/processManagement/processManagement.d.ts +35 -0
  811. package/dist/utility/processManagement/processManagement.js +188 -0
  812. package/dist/utility/processManagement/processManagement.js.map +1 -0
  813. package/dist/utility/processManagement/servicesConfig.d.ts +29 -0
  814. package/dist/utility/processManagement/servicesConfig.js +52 -0
  815. package/dist/utility/processManagement/servicesConfig.js.map +1 -0
  816. package/dist/utility/scripts/restartHdb.d.ts +1 -0
  817. package/dist/utility/scripts/restartHdb.js +23 -0
  818. package/dist/utility/scripts/restartHdb.js.map +1 -0
  819. package/dist/utility/signalling.d.ts +2 -0
  820. package/dist/utility/signalling.js +35 -0
  821. package/dist/utility/signalling.js.map +1 -0
  822. package/dist/utility/terms/certificates.d.ts +46 -0
  823. package/dist/utility/terms/certificates.js +65 -0
  824. package/dist/utility/terms/certificates.js.map +1 -0
  825. package/dist/utility/when.d.ts +3 -0
  826. package/dist/utility/when.js +18 -0
  827. package/dist/utility/when.js.map +1 -0
  828. package/dist/validation/bulkDeleteValidator.d.ts +2 -0
  829. package/dist/validation/bulkDeleteValidator.js +21 -0
  830. package/dist/validation/bulkDeleteValidator.js.map +1 -0
  831. package/dist/validation/check_permissions.d.ts +2 -0
  832. package/dist/validation/check_permissions.js +20 -0
  833. package/dist/validation/check_permissions.js.map +1 -0
  834. package/dist/validation/common_validators.d.ts +19 -0
  835. package/dist/validation/common_validators.js +76 -0
  836. package/dist/validation/common_validators.js.map +1 -0
  837. package/dist/validation/configValidator.d.ts +8 -0
  838. package/dist/validation/configValidator.js +292 -0
  839. package/dist/validation/configValidator.js.map +1 -0
  840. package/dist/validation/deleteValidator.d.ts +2 -0
  841. package/dist/validation/deleteValidator.js +15 -0
  842. package/dist/validation/deleteValidator.js.map +1 -0
  843. package/dist/validation/fileLoadValidator.d.ts +4 -0
  844. package/dist/validation/fileLoadValidator.js +138 -0
  845. package/dist/validation/fileLoadValidator.js.map +1 -0
  846. package/dist/validation/insertValidator.d.ts +2 -0
  847. package/dist/validation/insertValidator.js +38 -0
  848. package/dist/validation/insertValidator.js.map +1 -0
  849. package/dist/validation/installValidator.d.ts +7 -0
  850. package/dist/validation/installValidator.js +28 -0
  851. package/dist/validation/installValidator.js.map +1 -0
  852. package/dist/validation/readLogValidator.d.ts +2 -0
  853. package/dist/validation/readLogValidator.js +48 -0
  854. package/dist/validation/readLogValidator.js.map +1 -0
  855. package/dist/validation/role_validation.d.ts +3 -0
  856. package/dist/validation/role_validation.js +284 -0
  857. package/dist/validation/role_validation.js.map +1 -0
  858. package/dist/validation/schemaMetadataValidator.d.ts +16 -0
  859. package/dist/validation/schemaMetadataValidator.js +38 -0
  860. package/dist/validation/schemaMetadataValidator.js.map +1 -0
  861. package/dist/validation/searchValidator.d.ts +2 -0
  862. package/dist/validation/searchValidator.js +141 -0
  863. package/dist/validation/searchValidator.js.map +1 -0
  864. package/dist/validation/statusValidator.d.ts +19 -0
  865. package/dist/validation/statusValidator.js +95 -0
  866. package/dist/validation/statusValidator.js.map +1 -0
  867. package/dist/validation/transactionLogValidator.d.ts +2 -0
  868. package/dist/validation/transactionLogValidator.js +28 -0
  869. package/dist/validation/transactionLogValidator.js.map +1 -0
  870. package/dist/validation/user_validation.d.ts +3 -0
  871. package/dist/validation/user_validation.js +52 -0
  872. package/dist/validation/user_validation.js.map +1 -0
  873. package/dist/validation/validationWrapper.d.ts +15 -0
  874. package/dist/validation/validationWrapper.js +95 -0
  875. package/dist/validation/validationWrapper.js.map +1 -0
  876. package/package.json +225 -0
  877. package/static/README.md +13 -0
  878. package/static/ascii_logo.txt +21 -0
  879. package/static/defaultConfig.yaml +75 -0
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ /**
3
+ * Configuration parsing and default values for certificate verification
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CRL_USER_AGENT = exports.ERROR_CACHE_TTL = exports.CRL_DEFAULT_VALIDITY_PERIOD = void 0;
7
+ exports.getCachedCertificateVerificationConfig = getCachedCertificateVerificationConfig;
8
+ const logger_ts_1 = require("../../utility/logging/logger.js");
9
+ const packageUtils_js_1 = require("../../utility/packageUtils.js");
10
+ const configValidation_ts_1 = require("./configValidation.js");
11
+ const logger = (0, logger_ts_1.loggerWithTag)('cert-verification-config');
12
+ // Constants for hardcoded values
13
+ exports.CRL_DEFAULT_VALIDITY_PERIOD = 7 * 24 * 60 * 60 * 1000; // 7 days in milliseconds
14
+ exports.ERROR_CACHE_TTL = 300000; // 5 minutes for error caching
15
+ exports.CRL_USER_AGENT = `Harper/${packageUtils_js_1.packageJson.version} CRL-Client`;
16
+ // Configuration cache to avoid redundant parsing on every certificate verification
17
+ // Using WeakMap to prevent memory leaks from holding strong references to config objects
18
+ // This allows garbage collection of config objects when they're no longer referenced elsewhere
19
+ const configCache = new WeakMap();
20
+ let lastPrimitiveConfig = null;
21
+ let lastPrimitiveResult = null;
22
+ // Track validation errors to prevent repeated error logging and provide graceful degradation
23
+ // Maps config object to the error that occurred during validation
24
+ const validationErrorCache = new WeakMap();
25
+ let lastPrimitiveValidationError = null;
26
+ /**
27
+ * Cached version of getCertificateVerificationConfig to avoid redundant parsing
28
+ * This is the recommended function to use in hot paths like certificate verification.
29
+ *
30
+ * MEMORY SAFETY:
31
+ * - Uses WeakMap for object configs to prevent memory leaks
32
+ * - Config objects can be garbage collected when no longer referenced elsewhere
33
+ * - Primitive values (boolean, null, undefined) use simple reference equality
34
+ * - No strong references held to config objects, preventing memory accumulation
35
+ *
36
+ * ERROR HANDLING:
37
+ * - Invalid config causes validation errors to be thrown on first access
38
+ * - Validation errors are logged once and then cached
39
+ * - Subsequent accesses with the same invalid config return false (disabled) to prevent
40
+ * repeated error logging and allow the application to continue running
41
+ * - This provides fail-safe behavior: invalid security config defaults to disabled
42
+ * rather than crashing on every request
43
+ *
44
+ * @param mtlsConfig - The mTLS configuration from env.get()
45
+ * @returns Configuration object or false if verification is disabled or invalid
46
+ */
47
+ function getCachedCertificateVerificationConfig(mtlsConfig) {
48
+ // Handle primitive values (boolean, null, undefined) with simple caching
49
+ if (typeof mtlsConfig === 'boolean' || mtlsConfig == null) {
50
+ // Check if we've already seen a validation error for this primitive config
51
+ if (mtlsConfig === lastPrimitiveConfig && lastPrimitiveValidationError) {
52
+ logger.trace?.('Using cached validation error result (primitive) - returning disabled');
53
+ return false;
54
+ }
55
+ if (mtlsConfig === lastPrimitiveConfig && lastPrimitiveResult !== null) {
56
+ logger.trace?.('Using cached certificate verification config (primitive)');
57
+ return lastPrimitiveResult;
58
+ }
59
+ logger.trace?.('Parsing and caching certificate verification config (primitive)');
60
+ lastPrimitiveConfig = mtlsConfig;
61
+ try {
62
+ lastPrimitiveResult = getCertificateVerificationConfig(mtlsConfig);
63
+ lastPrimitiveValidationError = null; // Clear any previous error
64
+ return lastPrimitiveResult;
65
+ }
66
+ catch (error) {
67
+ // Cache the validation error to prevent repeated logging
68
+ lastPrimitiveValidationError = error;
69
+ logger.error?.(`Certificate verification config validation failed - defaulting to disabled: ${error.message}`);
70
+ return false; // Fail-safe: invalid config = disabled verification
71
+ }
72
+ }
73
+ // Check for cached validation error
74
+ const cachedError = validationErrorCache.get(mtlsConfig);
75
+ if (cachedError) {
76
+ logger.trace?.('Using cached validation error result (object) - returning disabled');
77
+ return false;
78
+ }
79
+ const cached = configCache.get(mtlsConfig);
80
+ if (cached !== undefined) {
81
+ logger.trace?.('Using cached certificate verification config (object)');
82
+ return cached;
83
+ }
84
+ // Cache miss: parse and store the result
85
+ logger.trace?.('Parsing and caching certificate verification config (object)');
86
+ try {
87
+ const result = getCertificateVerificationConfig(mtlsConfig);
88
+ configCache.set(mtlsConfig, result);
89
+ return result;
90
+ }
91
+ catch (error) {
92
+ // Cache the validation error to prevent repeated logging
93
+ validationErrorCache.set(mtlsConfig, error);
94
+ logger.error?.(`Certificate verification config validation failed - defaulting to disabled: ${error.message}`);
95
+ return false; // Fail-safe: invalid config = disabled verification
96
+ }
97
+ }
98
+ /**
99
+ * Determine if certificate verification should be performed based on configuration
100
+ * @param mtlsConfig - The mTLS configuration (can be boolean or object)
101
+ * @returns Configuration object or false if verification is disabled
102
+ */
103
+ function getCertificateVerificationConfig(mtlsConfig) {
104
+ logger.trace?.(`getCertificateVerificationConfig called with: ${JSON.stringify({ mtlsConfig })}`);
105
+ if (!mtlsConfig)
106
+ return false;
107
+ const verificationConfig = mtlsConfig === true ? undefined : mtlsConfig.certificateVerification;
108
+ logger.trace?.(`Certificate verification config: ${JSON.stringify({ verificationConfig })}`);
109
+ // Default to disabled for initial rollout to allow intentional real-world testing
110
+ // Users must explicitly enable certificate verification with certificateVerification: true or config object
111
+ if (verificationConfig == null || verificationConfig === false)
112
+ return false;
113
+ // Pass through validator for enabled cases (true or object)
114
+ // Convert true to empty object so validator applies all defaults
115
+ // This ensures we always get a complete config with crl and ocsp defaults
116
+ const configToValidate = verificationConfig === true ? {} : verificationConfig;
117
+ // Let validation errors propagate up to getCachedCertificateVerificationConfig
118
+ // which will log them once and cache the error
119
+ return (0, configValidation_ts_1.validateAndParseCertificateVerificationConfig)(configToValidate);
120
+ }
121
+ //# sourceMappingURL=verificationConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verificationConfig.js","sourceRoot":"","sources":["../../../security/certificateVerification/verificationConfig.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AA+CH,wFA2DC;AAxGD,+DAAgE;AAChE,mEAA4D;AAE5D,+DAAsF;AAEtF,MAAM,MAAM,GAAG,IAAA,yBAAa,EAAC,0BAA0B,CAAC,CAAC;AAEzD,iCAAiC;AACpB,QAAA,2BAA2B,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,yBAAyB;AAChF,QAAA,eAAe,GAAG,MAAM,CAAC,CAAC,8BAA8B;AACxD,QAAA,cAAc,GAAG,UAAU,6BAAW,CAAC,OAAO,aAAa,CAAC;AAEzE,mFAAmF;AACnF,yFAAyF;AACzF,+FAA+F;AAC/F,MAAM,WAAW,GAAG,IAAI,OAAO,EAA8D,CAAC;AAC9F,IAAI,mBAAmB,GAA+B,IAAI,CAAC;AAC3D,IAAI,mBAAmB,GAAiD,IAAI,CAAC;AAE7E,6FAA6F;AAC7F,kEAAkE;AAClE,MAAM,oBAAoB,GAAG,IAAI,OAAO,EAA8B,CAAC;AACvE,IAAI,4BAA4B,GAAiB,IAAI,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,sCAAsC,CACrD,UAAiD;IAEjD,yEAAyE;IACzE,IAAI,OAAO,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;QAC3D,2EAA2E;QAC3E,IAAI,UAAU,KAAK,mBAAmB,IAAI,4BAA4B,EAAE,CAAC;YACxE,MAAM,CAAC,KAAK,EAAE,CAAC,uEAAuE,CAAC,CAAC;YACxF,OAAO,KAAK,CAAC;QACd,CAAC;QAED,IAAI,UAAU,KAAK,mBAAmB,IAAI,mBAAmB,KAAK,IAAI,EAAE,CAAC;YACxE,MAAM,CAAC,KAAK,EAAE,CAAC,0DAA0D,CAAC,CAAC;YAC3E,OAAO,mBAAmB,CAAC;QAC5B,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,CAAC,iEAAiE,CAAC,CAAC;QAClF,mBAAmB,GAAG,UAAwC,CAAC;QAC/D,IAAI,CAAC;YACJ,mBAAmB,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;YACnE,4BAA4B,GAAG,IAAI,CAAC,CAAC,2BAA2B;YAChE,OAAO,mBAAmB,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,yDAAyD;YACzD,4BAA4B,GAAG,KAAc,CAAC;YAC9C,MAAM,CAAC,KAAK,EAAE,CACb,+EAAgF,KAAe,CAAC,OAAO,EAAE,CACzG,CAAC;YACF,OAAO,KAAK,CAAC,CAAC,oDAAoD;QACnE,CAAC;IACF,CAAC;IAED,oCAAoC;IACpC,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,CAAC,KAAK,EAAE,CAAC,oEAAoE,CAAC,CAAC;QACrF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,EAAE,CAAC,uDAAuD,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IACf,CAAC;IAED,yCAAyC;IACzC,MAAM,CAAC,KAAK,EAAE,CAAC,8DAA8D,CAAC,CAAC;IAC/E,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,gCAAgC,CAAC,UAAU,CAAC,CAAC;QAC5D,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,yDAAyD;QACzD,oBAAoB,CAAC,GAAG,CAAC,UAAU,EAAE,KAAc,CAAC,CAAC;QACrD,MAAM,CAAC,KAAK,EAAE,CACb,+EAAgF,KAAe,CAAC,OAAO,EAAE,CACzG,CAAC;QACF,OAAO,KAAK,CAAC,CAAC,oDAAoD;IACnE,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,SAAS,gCAAgC,CACxC,UAAiD;IAEjD,MAAM,CAAC,KAAK,EAAE,CAAC,iDAAiD,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAElG,IAAI,CAAC,UAAU;QAAE,OAAO,KAAK,CAAC;IAE9B,MAAM,kBAAkB,GAAG,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,uBAAuB,CAAC;IAChG,MAAM,CAAC,KAAK,EAAE,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;IAE7F,kFAAkF;IAClF,4GAA4G;IAC5G,IAAI,kBAAkB,IAAI,IAAI,IAAI,kBAAkB,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAE7E,4DAA4D;IAC5D,iEAAiE;IACjE,0EAA0E;IAC1E,MAAM,gBAAgB,GAAG,kBAAkB,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAE/E,+EAA+E;IAC/E,+CAA+C;IAC/C,OAAO,IAAA,mEAA6C,EAAC,gBAAgB,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Shared utilities for certificate verification
3
+ */
4
+ import type { PeerCertificate, CertificateChainEntry } from './types.ts';
5
+ /**
6
+ * Convert a buffer to PEM format
7
+ * @param buffer - Certificate data as buffer
8
+ * @param type - Certificate type (e.g., 'CERTIFICATE')
9
+ * @returns PEM formatted string
10
+ */
11
+ export declare function bufferToPem(buffer: Buffer, type: string): string;
12
+ /**
13
+ * Extract certificate chain from peer certificate object
14
+ * @param peerCertificate - Peer certificate object from TLS connection
15
+ * @returns Certificate chain with issuer relationships
16
+ */
17
+ export declare function extractCertificateChain(peerCertificate: PeerCertificate): CertificateChainEntry[];
18
+ /**
19
+ * Extract CRL Distribution Points from a certificate using PKI.js
20
+ * @param certPem - Certificate in PEM format
21
+ * @returns Array of CRL distribution point URLs
22
+ */
23
+ export declare function extractCRLDistributionPoints(certPem: string): string[];
24
+ /**
25
+ * Extract both CRL and OCSP URLs from a certificate in a single parse operation
26
+ * @param certPem - Certificate in PEM format
27
+ * @returns Object containing arrays of CRL and OCSP URLs
28
+ */
29
+ export declare function extractRevocationUrls(certPem: string): {
30
+ crlUrls: string[];
31
+ ocspUrls: string[];
32
+ };
33
+ /**
34
+ * Extract OCSP responder URLs from a certificate
35
+ * @param certPem - Certificate in PEM format
36
+ * @returns Array of OCSP responder URLs
37
+ */
38
+ export declare function extractOCSPUrls(certPem: string): string[];
39
+ /**
40
+ * Convert PEM string to buffer for PKI.js parsing
41
+ * @param pem - PEM formatted certificate
42
+ * @returns Buffer containing certificate data
43
+ */
44
+ export declare function pemToBuffer(pem: string): ArrayBuffer;
45
+ /**
46
+ * Create a cache key for certificate verification
47
+ * @param certPem - Certificate in PEM format
48
+ * @param issuerPem - Issuer certificate in PEM format
49
+ * @param method - Verification method (ocsp, crl)
50
+ * @param additionalData - Additional data to include in hash
51
+ * @returns Cache key string
52
+ */
53
+ export declare function createCacheKey(certPem: string, issuerPem: string, method: 'ocsp' | 'crl', additionalData?: Record<string, any>): string;
54
+ /**
55
+ * Create a cache key for CRL storage
56
+ * @param distributionPoint - CRL distribution point URL
57
+ * @returns Cache key string
58
+ */
59
+ export declare function createCRLCacheKey(distributionPoint: string): string;
60
+ /**
61
+ * Create a composite ID for revoked certificate lookup
62
+ * @param issuerKeyId - Issuer key identifier or DN hash
63
+ * @param serialNumber - Certificate serial number
64
+ * @returns Composite ID string
65
+ */
66
+ export declare function createRevokedCertificateId(issuerKeyId: string, serialNumber: string): string;
67
+ /**
68
+ * Extract serial number from a certificate
69
+ * @param certPem - Certificate in PEM format
70
+ * @returns Certificate serial number as string
71
+ */
72
+ export declare function extractSerialNumber(certPem: string): string;
73
+ /**
74
+ * Extract issuer key identifier from a certificate
75
+ * @param certPem - Certificate in PEM format
76
+ * @returns Issuer key identifier as hex string, or hash of issuer DN if not available
77
+ */
78
+ export declare function extractIssuerKeyId(certPem: string): string;
79
+ export declare function getCertificateCacheTable(): unknown;
@@ -0,0 +1,441 @@
1
+ "use strict";
2
+ /**
3
+ * Shared utilities for certificate verification
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.bufferToPem = bufferToPem;
40
+ exports.extractCertificateChain = extractCertificateChain;
41
+ exports.extractCRLDistributionPoints = extractCRLDistributionPoints;
42
+ exports.extractRevocationUrls = extractRevocationUrls;
43
+ exports.extractOCSPUrls = extractOCSPUrls;
44
+ exports.pemToBuffer = pemToBuffer;
45
+ exports.createCacheKey = createCacheKey;
46
+ exports.createCRLCacheKey = createCRLCacheKey;
47
+ exports.createRevokedCertificateId = createRevokedCertificateId;
48
+ exports.extractSerialNumber = extractSerialNumber;
49
+ exports.extractIssuerKeyId = extractIssuerKeyId;
50
+ exports.getCertificateCacheTable = getCertificateCacheTable;
51
+ const node_crypto_1 = require("node:crypto");
52
+ const pkijs = __importStar(require("pkijs"));
53
+ const asn1js = __importStar(require("asn1js"));
54
+ const logger_ts_1 = require("../../utility/logging/logger.js");
55
+ const databases_ts_1 = require("../../resources/databases.js");
56
+ const logger = (0, logger_ts_1.loggerWithTag)('cert-verification-utils');
57
+ /**
58
+ * Convert a buffer to PEM format
59
+ * @param buffer - Certificate data as buffer
60
+ * @param type - Certificate type (e.g., 'CERTIFICATE')
61
+ * @returns PEM formatted string
62
+ */
63
+ function bufferToPem(buffer, type) {
64
+ const base64 = buffer.toString('base64');
65
+ const lines = [`-----BEGIN ${type}-----`];
66
+ // Split into 64-char lines
67
+ for (let i = 0; i < base64.length; i += 64) {
68
+ lines.push(base64.substring(i, i + 64));
69
+ }
70
+ lines.push(`-----END ${type}-----`);
71
+ return lines.join('\n');
72
+ }
73
+ /**
74
+ * Extract certificate chain from peer certificate object
75
+ * @param peerCertificate - Peer certificate object from TLS connection
76
+ * @returns Certificate chain with issuer relationships
77
+ */
78
+ function extractCertificateChain(peerCertificate) {
79
+ const chain = [];
80
+ let current = peerCertificate;
81
+ while (current?.raw) {
82
+ const entry = { cert: current.raw };
83
+ // Get issuer if available and different from self
84
+ if (current.issuerCertificate && current.issuerCertificate !== current && current.issuerCertificate.raw) {
85
+ entry.issuer = current.issuerCertificate.raw;
86
+ }
87
+ chain.push(entry);
88
+ // Move to next in chain
89
+ if (current.issuerCertificate && current.issuerCertificate !== current) {
90
+ current = current.issuerCertificate;
91
+ }
92
+ else {
93
+ break;
94
+ }
95
+ }
96
+ return chain;
97
+ }
98
+ /**
99
+ * Extract CRL Distribution Points from a certificate using PKI.js
100
+ * @param certPem - Certificate in PEM format
101
+ * @returns Array of CRL distribution point URLs
102
+ */
103
+ function extractCRLDistributionPoints(certPem) {
104
+ try {
105
+ // Parse the certificate using PKI.js
106
+ const certBuffer = pemToBuffer(certPem);
107
+ const cert = pkijs.Certificate.fromBER(certBuffer);
108
+ // Look for CRL Distribution Points extension (OID: 2.5.29.31)
109
+ const crlDistExt = cert.extensions?.find((ext) => ext.extnID === '2.5.29.31');
110
+ if (!crlDistExt) {
111
+ logger.debug?.('Certificate has no CRL Distribution Points extension');
112
+ return [];
113
+ }
114
+ // Parse the extension value
115
+ const asn1 = asn1js.fromBER(crlDistExt.extnValue.valueBlock.valueHexView);
116
+ if (asn1.offset === -1) {
117
+ throw new Error('Failed to parse ASN.1 structure in CRL Distribution Points extension');
118
+ }
119
+ const crlDistPoints = new pkijs.CRLDistributionPoints({
120
+ schema: asn1.result,
121
+ });
122
+ const distributionPoints = [];
123
+ // Extract distribution point URLs
124
+ for (const distPoint of crlDistPoints.distributionPoints) {
125
+ if (distPoint.distributionPoint && Array.isArray(distPoint.distributionPoint)) {
126
+ // Handle the actual PKI.js structure where distributionPoint is an array
127
+ for (const dp of distPoint.distributionPoint) {
128
+ if (dp.type === 6 && typeof dp.value === 'string') {
129
+ // uniformResourceIdentifier
130
+ const url = dp.value;
131
+ if (url.startsWith('http://') || url.startsWith('https://')) {
132
+ distributionPoints.push(url);
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ logger.debug?.(`Found ${distributionPoints.length} CRL distribution points: ${distributionPoints}`);
139
+ return distributionPoints;
140
+ }
141
+ catch (error) {
142
+ // Parsing failures are treated as "no CRL URLs available"
143
+ // Rationale: The certificate was already validated by Node.js TLS (signature, trust chain)
144
+ // If PKI.js can't parse it, it's likely a library incompatibility or unsupported extension format
145
+ // Not a security issue since TLS already validated the cert - we just can't extract revocation URLs
146
+ // The higher-level fail-open/fail-closed configuration determines final behavior when no URLs found
147
+ logger.warn?.(`Failed to extract CRL distribution points: ${error}`);
148
+ return [];
149
+ }
150
+ }
151
+ /**
152
+ * Extract both CRL and OCSP URLs from a certificate in a single parse operation
153
+ * @param certPem - Certificate in PEM format
154
+ * @returns Object containing arrays of CRL and OCSP URLs
155
+ */
156
+ function extractRevocationUrls(certPem) {
157
+ try {
158
+ // Parse the certificate using PKI.js (single parse for both URL types)
159
+ const certBuffer = pemToBuffer(certPem);
160
+ const cert = pkijs.Certificate.fromBER(certBuffer);
161
+ const crlUrls = [];
162
+ const ocspUrls = [];
163
+ // Single pass through extensions to extract both CRL and OCSP URLs
164
+ for (const ext of cert.extensions || []) {
165
+ if (ext.extnID === '2.5.29.31') {
166
+ // CRL Distribution Points extension
167
+ try {
168
+ const asn1 = asn1js.fromBER(ext.extnValue.valueBlock.valueHexView);
169
+ if (asn1.offset !== -1) {
170
+ const crlDistPoints = new pkijs.CRLDistributionPoints({
171
+ schema: asn1.result,
172
+ });
173
+ // Extract CRL distribution point URLs
174
+ for (const distPoint of crlDistPoints.distributionPoints) {
175
+ if (distPoint.distributionPoint && Array.isArray(distPoint.distributionPoint)) {
176
+ // Handle the actual PKI.js structure where distributionPoint is an array
177
+ for (const dp of distPoint.distributionPoint) {
178
+ if (dp.type === 6 && typeof dp.value === 'string') {
179
+ // uniformResourceIdentifier
180
+ const url = dp.value;
181
+ if (url.startsWith('http://') || url.startsWith('https://')) {
182
+ crlUrls.push(url);
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ catch (crlError) {
191
+ logger.warn?.(`Failed to parse CRL Distribution Points extension: ${crlError}`);
192
+ }
193
+ }
194
+ else if (ext.extnID === '1.3.6.1.5.5.7.1.1') {
195
+ // Authority Information Access extension
196
+ try {
197
+ const asn1 = asn1js.fromBER(ext.extnValue.valueBlock.valueHexView);
198
+ if (asn1.offset !== -1 && asn1.result instanceof asn1js.Sequence) {
199
+ for (const accessDesc of asn1.result.valueBlock.value) {
200
+ if (accessDesc instanceof asn1js.Sequence && accessDesc.valueBlock.value.length >= 2) {
201
+ const accessMethod = accessDesc.valueBlock.value[0];
202
+ const accessLocation = accessDesc.valueBlock.value[1];
203
+ // Check if accessMethod is OCSP (OID 1.3.6.1.5.5.7.48.1)
204
+ if (accessMethod instanceof asn1js.ObjectIdentifier &&
205
+ accessMethod.valueBlock.toString() === '1.3.6.1.5.5.7.48.1') {
206
+ // Check if accessLocation is a URI (context tag 6)
207
+ if (accessLocation.idBlock.tagNumber === 6) {
208
+ const url = String.fromCharCode(...Array.from(accessLocation.valueBlock.valueHexView));
209
+ if (url.startsWith('http://') || url.startsWith('https://')) {
210
+ ocspUrls.push(url);
211
+ }
212
+ }
213
+ }
214
+ }
215
+ }
216
+ }
217
+ }
218
+ catch (ocspError) {
219
+ logger.warn?.(`Failed to parse Authority Information Access extension: ${ocspError}`);
220
+ }
221
+ }
222
+ }
223
+ logger.debug?.(`Found ${crlUrls.length} CRL distribution points and ${ocspUrls.length} OCSP responder URLs`);
224
+ return { crlUrls, ocspUrls };
225
+ }
226
+ catch (error) {
227
+ // Parsing failures are treated as "no revocation URLs available"
228
+ // Rationale: The certificate was already validated by Node.js TLS (signature, trust chain)
229
+ // If PKI.js can't parse it, it's likely a library incompatibility or unsupported extension format
230
+ // Not a security issue since TLS already validated the cert - we just can't extract revocation URLs
231
+ // The higher-level fail-open/fail-closed configuration determines final behavior when no URLs found
232
+ logger.warn?.(`Failed to extract revocation URLs: ${error}`);
233
+ return { crlUrls: [], ocspUrls: [] };
234
+ }
235
+ }
236
+ /**
237
+ * Extract OCSP responder URLs from a certificate
238
+ * @param certPem - Certificate in PEM format
239
+ * @returns Array of OCSP responder URLs
240
+ */
241
+ function extractOCSPUrls(certPem) {
242
+ try {
243
+ // Parse the certificate using PKI.js
244
+ const certBuffer = pemToBuffer(certPem);
245
+ const cert = pkijs.Certificate.fromBER(certBuffer);
246
+ // Look for Authority Information Access extension (OID: 1.3.6.1.5.5.7.1.1)
247
+ const aiaExt = cert.extensions?.find((ext) => ext.extnID === '1.3.6.1.5.5.7.1.1');
248
+ if (!aiaExt) {
249
+ logger.debug?.('Certificate has no Authority Information Access extension');
250
+ return [];
251
+ }
252
+ // Parse the extension value using asn1js
253
+ const asn1 = asn1js.fromBER(aiaExt.extnValue.valueBlock.valueHexView);
254
+ if (asn1.offset === -1) {
255
+ throw new Error('Failed to parse ASN.1 structure in Authority Information Access extension');
256
+ }
257
+ const ocspUrls = [];
258
+ // The AIA extension contains a sequence of AccessDescription entries
259
+ // Each AccessDescription has: accessMethod (OID) and accessLocation (GeneralName)
260
+ if (asn1.result instanceof asn1js.Sequence) {
261
+ for (const accessDesc of asn1.result.valueBlock.value) {
262
+ if (accessDesc instanceof asn1js.Sequence && accessDesc.valueBlock.value.length >= 2) {
263
+ const accessMethod = accessDesc.valueBlock.value[0];
264
+ const accessLocation = accessDesc.valueBlock.value[1];
265
+ // Check if accessMethod is OCSP (OID 1.3.6.1.5.5.7.48.1)
266
+ if (accessMethod instanceof asn1js.ObjectIdentifier &&
267
+ accessMethod.valueBlock.toString() === '1.3.6.1.5.5.7.48.1') {
268
+ // Check if accessLocation is a URI (context tag 6)
269
+ if (accessLocation.idBlock.tagNumber === 6) {
270
+ const url = String.fromCharCode(...Array.from(accessLocation.valueBlock.valueHexView));
271
+ if (url.startsWith('http://') || url.startsWith('https://')) {
272
+ ocspUrls.push(url);
273
+ }
274
+ }
275
+ }
276
+ }
277
+ }
278
+ }
279
+ logger.debug?.(`Found ${ocspUrls.length} OCSP responder URLs: ${ocspUrls}`);
280
+ return ocspUrls;
281
+ }
282
+ catch (error) {
283
+ logger.error?.(`Failed to extract OCSP URLs: ${error}`);
284
+ return [];
285
+ }
286
+ }
287
+ /**
288
+ * Convert PEM string to buffer for PKI.js parsing
289
+ * @param pem - PEM formatted certificate
290
+ * @returns Buffer containing certificate data
291
+ */
292
+ function pemToBuffer(pem) {
293
+ // Remove PEM headers and whitespace
294
+ const base64 = pem
295
+ .replace(/-----BEGIN [^-]+-----/g, '')
296
+ .replace(/-----END [^-]+-----/g, '')
297
+ .replace(/\s/g, '');
298
+ // Convert to buffer
299
+ const binaryString = atob(base64);
300
+ const buffer = new ArrayBuffer(binaryString.length);
301
+ const view = new Uint8Array(buffer);
302
+ for (let i = 0; i < binaryString.length; i++) {
303
+ view[i] = binaryString.charCodeAt(i);
304
+ }
305
+ return buffer;
306
+ }
307
+ /**
308
+ * Create a cache key for certificate verification
309
+ * @param certPem - Certificate in PEM format
310
+ * @param issuerPem - Issuer certificate in PEM format
311
+ * @param method - Verification method (ocsp, crl)
312
+ * @param additionalData - Additional data to include in hash
313
+ * @returns Cache key string
314
+ */
315
+ function createCacheKey(certPem, issuerPem, method, additionalData) {
316
+ const cacheData = {
317
+ certPem,
318
+ issuerPem,
319
+ method,
320
+ ...additionalData,
321
+ };
322
+ const cacheKeyHash = (0, node_crypto_1.createHash)('sha256').update(JSON.stringify(cacheData)).digest('hex');
323
+ return `${method}:${cacheKeyHash}`;
324
+ }
325
+ /**
326
+ * Create a cache key for CRL storage
327
+ * @param distributionPoint - CRL distribution point URL
328
+ * @returns Cache key string
329
+ */
330
+ function createCRLCacheKey(distributionPoint) {
331
+ const hash = (0, node_crypto_1.createHash)('sha256').update(distributionPoint).digest('hex');
332
+ return `crl:${hash}`;
333
+ }
334
+ /**
335
+ * Create a composite ID for revoked certificate lookup
336
+ * @param issuerKeyId - Issuer key identifier or DN hash
337
+ * @param serialNumber - Certificate serial number
338
+ * @returns Composite ID string
339
+ */
340
+ function createRevokedCertificateId(issuerKeyId, serialNumber) {
341
+ return `${issuerKeyId}:${serialNumber}`;
342
+ }
343
+ /**
344
+ * Extract serial number from a certificate
345
+ * @param certPem - Certificate in PEM format
346
+ * @returns Certificate serial number as string
347
+ */
348
+ function extractSerialNumber(certPem) {
349
+ try {
350
+ const certBuffer = pemToBuffer(certPem);
351
+ const cert = pkijs.Certificate.fromBER(certBuffer);
352
+ // Convert serial number to string
353
+ const serialNumber = cert.serialNumber.valueBlock.valueHexView;
354
+ return Array.from(serialNumber)
355
+ .map((b) => b.toString(16).padStart(2, '0'))
356
+ .join('');
357
+ }
358
+ catch (error) {
359
+ logger.error?.(`Failed to extract serial number: ${error}`);
360
+ throw new Error(`Failed to extract certificate serial number: ${error.message}`);
361
+ }
362
+ }
363
+ /**
364
+ * Extract issuer key identifier from a certificate
365
+ * @param certPem - Certificate in PEM format
366
+ * @returns Issuer key identifier as hex string, or hash of issuer DN if not available
367
+ */
368
+ function extractIssuerKeyId(certPem) {
369
+ try {
370
+ const certBuffer = pemToBuffer(certPem);
371
+ const cert = pkijs.Certificate.fromBER(certBuffer);
372
+ // Look for Authority Key Identifier extension (OID: 2.5.29.35)
373
+ const akiExt = cert.extensions?.find((ext) => ext.extnID === '2.5.29.35');
374
+ if (akiExt) {
375
+ try {
376
+ // Parse the extension value manually since parsedValue may be undefined for Ed25519 certs
377
+ const asn1 = asn1js.fromBER(akiExt.extnValue.valueBlock.valueHexView);
378
+ if (asn1.offset !== -1) {
379
+ const aki = new pkijs.AuthorityKeyIdentifier({
380
+ schema: asn1.result,
381
+ });
382
+ if (aki.keyIdentifier) {
383
+ const keyId = aki.keyIdentifier.valueBlock.valueHexView;
384
+ return Array.from(keyId)
385
+ .map((b) => b.toString(16).padStart(2, '0'))
386
+ .join('');
387
+ }
388
+ }
389
+ }
390
+ catch (parseError) {
391
+ logger.debug?.(`Failed to parse Authority Key Identifier: ${parseError}, falling back to hash`);
392
+ }
393
+ }
394
+ // Fall back to hash of issuer DN
395
+ const issuerDN = cert.issuer.typesAndValues.map((tv) => `${tv.type}=${tv.value.valueBlock.value}`).join(',');
396
+ return (0, node_crypto_1.createHash)('sha256').update(issuerDN).digest('hex');
397
+ }
398
+ catch (error) {
399
+ logger.error?.(`Failed to extract issuer key ID: ${error}`);
400
+ throw new Error(`Failed to extract issuer key ID: ${error.message}`);
401
+ }
402
+ }
403
+ /**
404
+ * Get shared certificate verification cache table
405
+ * @returns Harper table instance for certificate verification cache
406
+ */
407
+ // Cache the certificate cache table instance to avoid recreating it
408
+ let certificateCacheTable = null;
409
+ function getCertificateCacheTable() {
410
+ if (!certificateCacheTable) {
411
+ certificateCacheTable = (0, databases_ts_1.table)({
412
+ table: 'hdb_certificate_cache',
413
+ database: 'system',
414
+ attributes: [
415
+ {
416
+ name: 'certificate_id',
417
+ isPrimaryKey: true,
418
+ },
419
+ {
420
+ name: 'status', // 'good', 'revoked', 'unknown'
421
+ },
422
+ {
423
+ name: 'reason',
424
+ },
425
+ {
426
+ name: 'checked_at',
427
+ },
428
+ {
429
+ name: 'expiresAt',
430
+ expiresAt: true,
431
+ indexed: true,
432
+ },
433
+ {
434
+ name: 'method', // 'ocsp' or 'crl'
435
+ },
436
+ ],
437
+ });
438
+ }
439
+ return certificateCacheTable;
440
+ }
441
+ //# sourceMappingURL=verificationUtils.js.map