@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,111 @@
1
+ "use strict";
2
+ /**
3
+ * Certificate verification for mTLS authentication
4
+ *
5
+ * This module provides certificate revocation checking for client certificates
6
+ * in mutual TLS (mTLS) connections. Supports both OCSP (Online Certificate
7
+ * Status Protocol) and CRL (Certificate Revocation List) verification methods
8
+ * with automatic method selection.
9
+ *
10
+ * Features:
11
+ * - OCSP verification with caching
12
+ * - CRL verification with caching
13
+ * - CRL-first with OCSP fallback for optimal performance
14
+ * - Background CRL refresh with exponential backoff
15
+ * - Graceful degradation during network outages
16
+ * - Ed25519/Ed448 certificate support
17
+ *
18
+ * Default behavior:
19
+ * - Certificate verification: disabled (must be explicitly enabled)
20
+ * - Verification approach: CRL-first (with OCSP fallback)
21
+ * - CRL timeout: 10 seconds, cache TTL: 24 hours
22
+ * - OCSP timeout: 5 seconds, cache TTL: 1 hour
23
+ * - Failure mode: fail-closed (rejects connections if verification fails)
24
+ */
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.verifyCertificate = verifyCertificate;
27
+ const logger_ts_1 = require("../../utility/logging/logger.js");
28
+ const verificationUtils_ts_1 = require("./verificationUtils.js");
29
+ const verificationConfig_ts_1 = require("./verificationConfig.js");
30
+ const ocspVerification_ts_1 = require("./ocspVerification.js");
31
+ const crlVerification_ts_1 = require("./crlVerification.js");
32
+ const logger = (0, logger_ts_1.loggerWithTag)('cert-verification');
33
+ /**
34
+ * Verify certificate revocation status using OCSP and/or CRL
35
+ * @param peerCertificate - Peer certificate object from TLS connection
36
+ * @param mtlsConfig - The mTLS configuration from the request
37
+ * @returns Promise resolving to verification result
38
+ */
39
+ async function verifyCertificate(peerCertificate, mtlsConfig) {
40
+ logger.debug?.(`verifyCertificate called for: ${peerCertificate.subject?.CN || 'unknown'}`);
41
+ // Get the verification configuration from mtlsConfig (cached for performance)
42
+ const config = (0, verificationConfig_ts_1.getCachedCertificateVerificationConfig)(mtlsConfig);
43
+ // If config is false, verification is disabled
44
+ if (config === false) {
45
+ logger.debug?.('Certificate verification disabled');
46
+ return { valid: true, status: 'disabled', method: 'disabled' };
47
+ }
48
+ // Extract certificate chain
49
+ const certChain = (0, verificationUtils_ts_1.extractCertificateChain)(peerCertificate);
50
+ logger.trace?.(`Certificate chain length: ${certChain.length}`);
51
+ // Check if we have sufficient chain for verification (need certificate and issuer)
52
+ if (certChain.length < 2 || !certChain[0].issuer) {
53
+ logger.debug?.('Certificate chain insufficient for revocation checking - need certificate and issuer');
54
+ return { valid: true, status: 'no-issuer-cert', method: 'disabled' };
55
+ }
56
+ // Extract certificate revocation URLs in single parse operation
57
+ const certPem = (0, verificationUtils_ts_1.bufferToPem)(certChain[0].cert, 'CERTIFICATE');
58
+ const { crlUrls, ocspUrls } = (0, verificationUtils_ts_1.extractRevocationUrls)(certPem);
59
+ logger.debug?.(`Certificate extensions: CRL distribution points=${crlUrls.length}, OCSP URLs=${ocspUrls.length}`);
60
+ // Try CRL first (can provide definitive results)
61
+ if (crlUrls.length > 0) {
62
+ if (config.crl.enabled) {
63
+ try {
64
+ logger.debug?.('Attempting CRL verification');
65
+ const result = await (0, crlVerification_ts_1.verifyCRL)(certChain[0].cert, certChain[0].issuer, config.crl, crlUrls);
66
+ // Return on definitive result (good or revoked)
67
+ if (result.status === 'good' || result.status === 'revoked') {
68
+ logger.debug?.(`CRL verification result: ${result.status}`);
69
+ return result;
70
+ }
71
+ logger.debug?.(`CRL verification inconclusive: ${result.status}, trying OCSP fallback`);
72
+ }
73
+ catch (error) {
74
+ logger.warn?.(`CRL verification failed: ${error}`);
75
+ }
76
+ }
77
+ else {
78
+ logger.debug?.('Skipping CRL - disabled in configuration');
79
+ }
80
+ }
81
+ else {
82
+ logger.debug?.('Skipping CRL - no distribution points in certificate');
83
+ }
84
+ // Fall back to OCSP if available (real-time status)
85
+ if (ocspUrls.length > 0) {
86
+ if (config.ocsp.enabled) {
87
+ try {
88
+ logger.debug?.('Attempting OCSP verification');
89
+ const result = await (0, ocspVerification_ts_1.verifyOCSP)(certChain[0].cert, certChain[0].issuer, config.ocsp, ocspUrls);
90
+ // Return result (definitive or not)
91
+ logger.debug?.(`OCSP verification result: ${result.status}`);
92
+ return result;
93
+ }
94
+ catch (error) {
95
+ logger.warn?.(`OCSP verification failed: ${error}`);
96
+ }
97
+ }
98
+ else {
99
+ logger.debug?.('Skipping OCSP - disabled in configuration');
100
+ }
101
+ }
102
+ else {
103
+ logger.debug?.('Skipping OCSP - no responder URLs in certificate');
104
+ }
105
+ // All methods tried or skipped - determine failure handling
106
+ if (config.failureMode === 'fail-closed') {
107
+ return { valid: false, status: 'no-verification-available', method: 'disabled' };
108
+ }
109
+ return { valid: true, status: 'verification-unavailable-allowed', method: 'disabled' };
110
+ }
111
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../security/certificateVerification/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * OCSP (Online Certificate Status Protocol) verification
3
+ */
4
+ import './pkijs-ed25519-patch.ts';
5
+ import type { CertificateVerificationResult, OCSPCheckResult, OCSPConfig } from './types.ts';
6
+ /**
7
+ * Verify OCSP status of a client certificate
8
+ * @param certPem - Client certificate as Buffer (DER format)
9
+ * @param issuerPem - Issuer (CA) certificate as Buffer (DER format)
10
+ * @param config - OCSP configuration
11
+ * @param ocspUrls - Optional pre-extracted OCSP responder URLs (avoids re-parsing)
12
+ * @returns Promise resolving to verification result
13
+ */
14
+ export declare function verifyOCSP(certPem: Buffer, issuerPem: Buffer, config?: OCSPConfig, ocspUrls?: string[]): Promise<CertificateVerificationResult>;
15
+ /**
16
+ * Perform the actual OCSP check using easy-ocsp
17
+ * @param certPem - Certificate in PEM format
18
+ * @param issuerPem - Issuer certificate in PEM format
19
+ * @param config - OCSP configuration
20
+ * @param ocspUrls - Optional pre-extracted OCSP responder URLs (avoids re-parsing)
21
+ * @returns OCSP check result
22
+ */
23
+ export declare function performOCSPCheck(certPem: string, issuerPem: string, config: any, ocspUrls?: string[]): Promise<OCSPCheckResult>;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ /**
3
+ * OCSP (Online Certificate Status Protocol) verification
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.verifyOCSP = verifyOCSP;
7
+ exports.performOCSPCheck = performOCSPCheck;
8
+ // Apply PKI.js Ed25519 patch before importing easy-ocsp
9
+ require("./pkijs-ed25519-patch.js");
10
+ const easy_ocsp_1 = require("easy-ocsp");
11
+ const logger_ts_1 = require("../../utility/logging/logger.js");
12
+ const verificationUtils_ts_1 = require("./verificationUtils.js");
13
+ const logger = (0, logger_ts_1.loggerWithTag)('ocsp-verification');
14
+ // Import the shared source
15
+ const certificateVerificationSource_ts_1 = require("./certificateVerificationSource.js");
16
+ // Lazy-load the certificate verification cache table
17
+ let certCacheTable;
18
+ function getCertificateCacheTable() {
19
+ if (!certCacheTable) {
20
+ certCacheTable = (0, verificationUtils_ts_1.getCertificateCacheTable)();
21
+ // Configure the caching source using the shared CertificateVerificationSource class
22
+ certCacheTable.sourcedFrom(certificateVerificationSource_ts_1.CertificateVerificationSource);
23
+ }
24
+ return certCacheTable;
25
+ }
26
+ /**
27
+ * Verify OCSP status of a client certificate
28
+ * @param certPem - Client certificate as Buffer (DER format)
29
+ * @param issuerPem - Issuer (CA) certificate as Buffer (DER format)
30
+ * @param config - OCSP configuration
31
+ * @param ocspUrls - Optional pre-extracted OCSP responder URLs (avoids re-parsing)
32
+ * @returns Promise resolving to verification result
33
+ */
34
+ async function verifyOCSP(certPem, issuerPem, config, ocspUrls) {
35
+ // Check if OCSP verification is disabled
36
+ if (config?.enabled === false) {
37
+ return { valid: true, status: 'disabled', method: 'disabled' };
38
+ }
39
+ try {
40
+ // Convert DER buffers to PEM strings for certificate parsing libraries
41
+ // PKI.js and easy-ocsp expect PEM format for extension extraction and OCSP requests
42
+ const certPemStr = (0, verificationUtils_ts_1.bufferToPem)(certPem, 'CERTIFICATE');
43
+ const issuerPemStr = (0, verificationUtils_ts_1.bufferToPem)(issuerPem, 'CERTIFICATE');
44
+ // Create a cache key that includes all verification parameters
45
+ const cacheKey = (0, verificationUtils_ts_1.createCacheKey)(certPemStr, issuerPemStr, 'ocsp');
46
+ // Get the cache table - Harper will automatically handle
47
+ // concurrent requests and cache stampede prevention
48
+ // Pass certificate data as context - Harper will make it available as requestContext in the source
49
+ const cacheEntry = await getCertificateCacheTable().get(cacheKey, {
50
+ certPem: certPemStr,
51
+ issuerPem: issuerPemStr,
52
+ ocspUrls,
53
+ config: { ocsp: config ?? {} },
54
+ });
55
+ if (!cacheEntry) {
56
+ // This should not happen if the source is configured correctly
57
+ // but handle it gracefully
58
+ if (config.failureMode === 'fail-closed') {
59
+ return { valid: false, status: 'error', error: 'Cache fetch failed', method: 'ocsp' };
60
+ }
61
+ logger.warn?.('OCSP cache fetch failed, allowing connection (fail-open mode)');
62
+ return { valid: true, status: 'error-allowed', method: 'ocsp' };
63
+ }
64
+ const cached = cacheEntry;
65
+ const wasLoadedFromSource = cacheEntry.wasLoadedFromSource?.();
66
+ logger.trace?.(`OCSP ${wasLoadedFromSource ? 'source fetch' : 'cache hit'} for certificate`);
67
+ return {
68
+ valid: cached.status === 'good',
69
+ status: cached.status,
70
+ cached: !wasLoadedFromSource,
71
+ method: cached.method || 'ocsp',
72
+ };
73
+ }
74
+ catch (error) {
75
+ logger.error?.(`OCSP verification error: ${error}`);
76
+ // Check failure mode
77
+ if (config.failureMode === 'fail-closed') {
78
+ return { valid: false, status: 'error', error: error.message, method: 'ocsp' };
79
+ }
80
+ // Fail open - allow connection on OCSP errors
81
+ logger.warn?.('OCSP check failed, allowing connection (fail-open mode)');
82
+ return { valid: true, status: 'error-allowed', method: 'ocsp' };
83
+ }
84
+ }
85
+ /**
86
+ * Perform the actual OCSP check using easy-ocsp
87
+ * @param certPem - Certificate in PEM format
88
+ * @param issuerPem - Issuer certificate in PEM format
89
+ * @param config - OCSP configuration
90
+ * @param ocspUrls - Optional pre-extracted OCSP responder URLs (avoids re-parsing)
91
+ * @returns OCSP check result
92
+ */
93
+ async function performOCSPCheck(certPem, issuerPem, config, ocspUrls) {
94
+ try {
95
+ const response = await (0, easy_ocsp_1.getCertStatus)(certPem, {
96
+ ca: issuerPem,
97
+ timeout: config.timeout,
98
+ ...(ocspUrls?.length && { ocspUrl: ocspUrls[0] }),
99
+ });
100
+ // Map response status to internal format
101
+ switch (response.status) {
102
+ case 'good':
103
+ return { status: 'good' };
104
+ case 'revoked':
105
+ return { status: 'revoked', reason: response.revocationReason?.toString() || 'unspecified' };
106
+ default:
107
+ return { status: 'unknown', reason: 'unknown-status' };
108
+ }
109
+ }
110
+ catch (error) {
111
+ const err = error;
112
+ // Return appropriate error based on type
113
+ const reason = err.name === 'AbortError' ? 'timeout' : 'ocsp-error';
114
+ return { status: 'unknown', reason };
115
+ }
116
+ }
117
+ //# sourceMappingURL=ocspVerification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocspVerification.js","sourceRoot":"","sources":["../../../security/certificateVerification/ocspVerification.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * PKI.js Ed25519/Ed448 Support Patch
3
+ *
4
+ * This module patches PKI.js to add complete Ed25519/Ed448 support for certificate
5
+ * and OCSP response verification. While PKI.js has some Ed25519/Ed448 support,
6
+ * it currently lacks:
7
+ * - getHashAlgorithm() support for Ed25519/Ed448 OIDs
8
+ * - getAlgorithmByOID() recognition of Ed25519/Ed448
9
+ * - Certificate verification using Ed25519/Ed448 signatures
10
+ * - OCSP response signature verification with Ed25519/Ed448
11
+ *
12
+ * This patch must be loaded before any module that uses PKI.js (including easy-ocsp).
13
+ */
14
+ export declare function applyEd25519Patch(): void;
@@ -0,0 +1,183 @@
1
+ "use strict";
2
+ /**
3
+ * PKI.js Ed25519/Ed448 Support Patch
4
+ *
5
+ * This module patches PKI.js to add complete Ed25519/Ed448 support for certificate
6
+ * and OCSP response verification. While PKI.js has some Ed25519/Ed448 support,
7
+ * it currently lacks:
8
+ * - getHashAlgorithm() support for Ed25519/Ed448 OIDs
9
+ * - getAlgorithmByOID() recognition of Ed25519/Ed448
10
+ * - Certificate verification using Ed25519/Ed448 signatures
11
+ * - OCSP response signature verification with Ed25519/Ed448
12
+ *
13
+ * This patch must be loaded before any module that uses PKI.js (including easy-ocsp).
14
+ */
15
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ var desc = Object.getOwnPropertyDescriptor(m, k);
18
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
19
+ desc = { enumerable: true, get: function() { return m[k]; } };
20
+ }
21
+ Object.defineProperty(o, k2, desc);
22
+ }) : (function(o, m, k, k2) {
23
+ if (k2 === undefined) k2 = k;
24
+ o[k2] = m[k];
25
+ }));
26
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
27
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
28
+ }) : function(o, v) {
29
+ o["default"] = v;
30
+ });
31
+ var __importStar = (this && this.__importStar) || (function () {
32
+ var ownKeys = function(o) {
33
+ ownKeys = Object.getOwnPropertyNames || function (o) {
34
+ var ar = [];
35
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
36
+ return ar;
37
+ };
38
+ return ownKeys(o);
39
+ };
40
+ return function (mod) {
41
+ if (mod && mod.__esModule) return mod;
42
+ var result = {};
43
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
44
+ __setModuleDefault(result, mod);
45
+ return result;
46
+ };
47
+ })();
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ exports.applyEd25519Patch = applyEd25519Patch;
50
+ const pkijs = __importStar(require("pkijs"));
51
+ const node_crypto_1 = require("node:crypto");
52
+ // Ed25519/Ed448 OIDs (these are standardized object identifiers, not IP addresses)
53
+ const ED25519_OID = '1.3.101.112';
54
+ const ED448_OID = '1.3.101.113';
55
+ // Algorithm names as constants
56
+ const ED25519_NAME = 'Ed25519';
57
+ const ED448_NAME = 'Ed448';
58
+ // Apply patches only once
59
+ let patchesApplied = false;
60
+ function isEd25519OrEd448(oid) {
61
+ return oid === ED25519_OID || oid === ED448_OID;
62
+ }
63
+ function isEdDSAAlgorithmName(name) {
64
+ return name === ED25519_NAME || name === ED448_NAME;
65
+ }
66
+ function getEdDSAAlgorithmName(oid) {
67
+ return oid === ED25519_OID ? ED25519_NAME : ED448_NAME;
68
+ }
69
+ function applyEd25519Patch() {
70
+ if (patchesApplied)
71
+ return;
72
+ patchesApplied = true;
73
+ const CryptoEngine = pkijs.CryptoEngine.prototype;
74
+ const Certificate = pkijs.Certificate.prototype;
75
+ // Store original methods
76
+ const originals = {
77
+ getHashAlgorithm: CryptoEngine.getHashAlgorithm,
78
+ getAlgorithmByOID: CryptoEngine.getAlgorithmByOID,
79
+ getAlgorithmParameters: CryptoEngine.getAlgorithmParameters,
80
+ verifyWithPublicKey: CryptoEngine.verifyWithPublicKey,
81
+ certificateVerify: Certificate.verify,
82
+ getPublicKey: Certificate.getPublicKey,
83
+ };
84
+ // Patch getHashAlgorithm - Ed25519/Ed448 don't use separate hashes
85
+ CryptoEngine.getHashAlgorithm = function (...params) {
86
+ const [signatureAlgorithm] = params;
87
+ if (isEd25519OrEd448(signatureAlgorithm.algorithmId)) {
88
+ // EdDSA signatures have built-in hash functions per RFC 8032:
89
+ // - Ed25519 uses SHA-512 internally (Section 5.1.6)
90
+ // - Ed448 uses SHAKE256 internally (Section 5.2.6)
91
+ // The hash is not a parameter - it's part of the algorithm definition.
92
+ // Returning a placeholder since PKI.js expects a string, but our patched
93
+ // verification methods bypass any code that would use this value.
94
+ return 'UNUSED-EDDSA-BUILTIN-HASH';
95
+ }
96
+ return originals.getHashAlgorithm.call(this, signatureAlgorithm);
97
+ };
98
+ // Patch getAlgorithmByOID to recognize Ed25519/Ed448
99
+ CryptoEngine.getAlgorithmByOID = function (...params) {
100
+ const [oid] = params;
101
+ if (isEd25519OrEd448(oid)) {
102
+ return { name: getEdDSAAlgorithmName(oid) };
103
+ }
104
+ return originals.getAlgorithmByOID.call(this, ...params);
105
+ };
106
+ // Patch getAlgorithmParameters
107
+ CryptoEngine.getAlgorithmParameters = function (...params) {
108
+ const [algorithmName, operation] = params;
109
+ if (isEdDSAAlgorithmName(algorithmName)) {
110
+ return {
111
+ algorithm: { name: algorithmName },
112
+ usages: operation === 'sign' ? ['sign'] : ['verify'],
113
+ };
114
+ }
115
+ return originals.getAlgorithmParameters.call(this, ...params);
116
+ };
117
+ // Patch getPublicKey for Ed25519/Ed448
118
+ Certificate.getPublicKey = async function (...params) {
119
+ const [, cryptoEngine = pkijs.getCrypto(true)] = params;
120
+ const algId = this.subjectPublicKeyInfo.algorithm.algorithmId;
121
+ if (isEd25519OrEd448(algId)) {
122
+ const algorithmName = getEdDSAAlgorithmName(algId);
123
+ return cryptoEngine.importKey('spki', this.subjectPublicKeyInfo.toSchema().toBER(false), algorithmName, true, [
124
+ 'verify',
125
+ ]);
126
+ }
127
+ return originals.getPublicKey.call(this, ...params);
128
+ };
129
+ // Patch Certificate.verify for Ed25519/Ed448
130
+ Certificate.verify = async function (...params) {
131
+ const [issuerCertificate] = params;
132
+ if (isEd25519OrEd448(this.signatureAlgorithm.algorithmId)) {
133
+ try {
134
+ // Use Node.js X509Certificate for Ed25519/Ed448 verification
135
+ const certDer = this.toSchema().toBER(false);
136
+ const issuerDer = issuerCertificate.toSchema().toBER(false);
137
+ const nodeCert = new node_crypto_1.X509Certificate(Buffer.from(certDer));
138
+ const nodeIssuer = new node_crypto_1.X509Certificate(Buffer.from(issuerDer));
139
+ return nodeCert.verify(nodeIssuer.publicKey);
140
+ }
141
+ catch {
142
+ // Any failure in verification should return false
143
+ return false;
144
+ }
145
+ }
146
+ return originals.certificateVerify.call(this, ...params);
147
+ };
148
+ // Patch verifyWithPublicKey for OCSP response verification
149
+ if (originals.verifyWithPublicKey) {
150
+ CryptoEngine.verifyWithPublicKey = async function (...params) {
151
+ const [data, signature, publicKeyInfo] = params;
152
+ const algId = publicKeyInfo.algorithm.algorithmId;
153
+ if (isEd25519OrEd448(algId)) {
154
+ const algorithmName = getEdDSAAlgorithmName(algId);
155
+ try {
156
+ // Get crypto.subtle from available sources
157
+ const cryptoSubtle = this.crypto?.subtle || this.subtle || pkijs.getCrypto(true)?.subtle || node_crypto_1.webcrypto?.subtle;
158
+ if (!cryptoSubtle) {
159
+ throw new Error('No crypto.subtle available');
160
+ }
161
+ // Import the public key
162
+ const publicKey = await cryptoSubtle.importKey('spki', publicKeyInfo.toSchema().toBER(false), algorithmName, false, ['verify']);
163
+ // Handle BIT STRING signature value
164
+ let signatureValue = signature.valueBlock.valueHexView;
165
+ // Check if this is a BIT STRING with unused bits
166
+ if ('unusedBits' in signature.valueBlock && signature.valueBlock.unusedBits > 0) {
167
+ signatureValue = signatureValue.slice(0, signatureValue.length - 1);
168
+ }
169
+ // Verify the signature
170
+ return await cryptoSubtle.verify(algorithmName, publicKey, signatureValue, data);
171
+ }
172
+ catch {
173
+ // Any failure in verification should return false
174
+ return false;
175
+ }
176
+ }
177
+ return originals.verifyWithPublicKey.call(this, ...params);
178
+ };
179
+ }
180
+ }
181
+ // Apply patch on module load
182
+ applyEd25519Patch();
183
+ //# sourceMappingURL=pkijs-ed25519-patch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pkijs-ed25519-patch.js","sourceRoot":"","sources":["../../../security/certificateVerification/pkijs-ed25519-patch.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8BH,8CA8IC;AA1KD,6CAA+B;AAC/B,6CAAyD;AAEzD,mFAAmF;AACnF,MAAM,WAAW,GAAG,aAAsB,CAAC;AAC3C,MAAM,SAAS,GAAG,aAAsB,CAAC;AAGzC,+BAA+B;AAC/B,MAAM,YAAY,GAAG,SAAkB,CAAC;AACxC,MAAM,UAAU,GAAG,OAAgB,CAAC;AAGpC,0BAA0B;AAC1B,IAAI,cAAc,GAAG,KAAK,CAAC;AAE3B,SAAS,gBAAgB,CAAC,GAAW;IACpC,OAAO,GAAG,KAAK,WAAW,IAAI,GAAG,KAAK,SAAS,CAAC;AACjD,CAAC;AAED,SAAS,oBAAoB,CAAC,IAAY;IACzC,OAAO,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,UAAU,CAAC;AACrD,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAW;IACzC,OAAO,GAAG,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC;AACxD,CAAC;AAED,SAAgB,iBAAiB;IAChC,IAAI,cAAc;QAAE,OAAO;IAC3B,cAAc,GAAG,IAAI,CAAC;IAEtB,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC;IAClD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC;IAEhD,yBAAyB;IACzB,MAAM,SAAS,GAAG;QACjB,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;QAC/C,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;QACjD,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;QAC3D,mBAAmB,EAAE,YAAY,CAAC,mBAAmB;QACrD,iBAAiB,EAAE,WAAW,CAAC,MAAM;QACrC,YAAY,EAAE,WAAW,CAAC,YAAY;KACtC,CAAC;IAEF,mEAAmE;IACnE,YAAY,CAAC,gBAAgB,GAAG,UAC/B,GAAG,MAAqD;QAExD,MAAM,CAAC,kBAAkB,CAAC,GAAG,MAAM,CAAC;QACpC,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YACtD,8DAA8D;YAC9D,oDAAoD;YACpD,mDAAmD;YACnD,uEAAuE;YACvE,yEAAyE;YACzE,kEAAkE;YAClE,OAAO,2BAA2B,CAAC;QACpC,CAAC;QACD,OAAO,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAClE,CAAC,CAAC;IAEF,qDAAqD;IACrD,YAAY,CAAC,iBAAiB,GAAG,UAChC,GAAG,MAAsD;QAEzD,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACrB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,+BAA+B;IAC/B,YAAY,CAAC,sBAAsB,GAAG,UACrC,GAAG,MAA2D;QAE9D,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,GAAG,MAAM,CAAC;QAC1C,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,OAAO;gBACN,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;gBAClC,MAAM,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpD,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IAC/D,CAAC,CAAC;IAEF,uCAAuC;IACvC,WAAW,CAAC,YAAY,GAAG,KAAK,WAC/B,GAAG,MAAiD;QAEpD,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,WAAW,CAAC;QAC9D,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE;gBAC7G,QAAQ;aACR,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,6CAA6C;IAC7C,WAAW,CAAC,MAAM,GAAG,KAAK,WACzB,GAAG,MAAsD;QAEzD,MAAM,CAAC,iBAAiB,CAAC,GAAG,MAAM,CAAC;QACnC,IAAI,gBAAgB,CAAC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACJ,6DAA6D;gBAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC7C,MAAM,SAAS,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBAE5D,MAAM,QAAQ,GAAG,IAAI,6BAAe,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;gBAC3D,MAAM,UAAU,GAAG,IAAI,6BAAe,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE/D,OAAO,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC9C,CAAC;YAAC,MAAM,CAAC;gBACR,kDAAkD;gBAClD,OAAO,KAAK,CAAC;YACd,CAAC;QACF,CAAC;QACD,OAAO,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEF,2DAA2D;IAC3D,IAAI,SAAS,CAAC,mBAAmB,EAAE,CAAC;QACnC,YAAY,CAAC,mBAAmB,GAAG,KAAK,WACvC,GAAG,MAAwD;YAE3D,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,GAAG,MAAM,CAAC;YAChD,MAAM,KAAK,GAAG,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC;YAClD,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;gBAEnD,IAAI,CAAC;oBACJ,2CAA2C;oBAC3C,MAAM,YAAY,GAChB,IAAY,CAAC,MAAM,EAAE,MAAM,IAAK,IAAY,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,IAAI,uBAAS,EAAE,MAAM,CAAC;oBAE5G,IAAI,CAAC,YAAY,EAAE,CAAC;wBACnB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;oBAC/C,CAAC;oBAED,wBAAwB;oBACxB,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,SAAS,CAC7C,MAAM,EACN,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EACrC,aAAa,EACb,KAAK,EACL,CAAC,QAAQ,CAAC,CACV,CAAC;oBAEF,oCAAoC;oBACpC,IAAI,cAAc,GAAG,SAAS,CAAC,UAAU,CAAC,YAAY,CAAC;oBACvD,iDAAiD;oBACjD,IAAI,YAAY,IAAI,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;wBACjF,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACrE,CAAC;oBAED,uBAAuB;oBACvB,OAAO,MAAM,YAAY,CAAC,MAAM,CAAC,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;gBAClF,CAAC;gBAAC,MAAM,CAAC;oBACR,kDAAkD;oBAClD,OAAO,KAAK,CAAC;gBACd,CAAC;YACF,CAAC;YACD,OAAO,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;QAC5D,CAAC,CAAC;IACH,CAAC;AACF,CAAC;AAED,6BAA6B;AAC7B,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * Shared TypeScript interfaces and types for certificate verification
3
+ */
4
+ import type { Context } from '../../resources/ResourceInterface.ts';
5
+ export type CertificateStatus = 'good' | 'revoked' | 'unknown';
6
+ export type VerificationMethod = 'ocsp' | 'crl';
7
+ export type VerificationResultMethod = VerificationMethod | 'disabled';
8
+ export type FailureMode = 'fail-open' | 'fail-closed';
9
+ export interface PeerCertificate {
10
+ subject?: {
11
+ CN?: string;
12
+ [key: string]: any;
13
+ };
14
+ raw?: Buffer;
15
+ issuerCertificate?: PeerCertificate;
16
+ }
17
+ export interface CertificateVerificationResult {
18
+ valid: boolean;
19
+ status: string;
20
+ cached?: boolean;
21
+ error?: string;
22
+ method?: VerificationResultMethod;
23
+ }
24
+ export interface CertificateCacheEntry {
25
+ certificate_id: string;
26
+ status: CertificateStatus;
27
+ reason?: string;
28
+ checked_at: number;
29
+ expiresAt: number;
30
+ method: VerificationMethod;
31
+ }
32
+ export interface CRLCacheEntry {
33
+ distribution_point: string;
34
+ issuer_dn: string;
35
+ crl_blob: Buffer;
36
+ this_update: number;
37
+ next_update: number;
38
+ signature_valid: boolean;
39
+ expiresAt: number;
40
+ }
41
+ export interface RevokedCertificateEntry {
42
+ composite_id: string;
43
+ serial_number: string;
44
+ issuer_key_id: string;
45
+ revocation_date: number;
46
+ revocation_reason?: string;
47
+ crl_source: string;
48
+ crl_next_update: number;
49
+ expiresAt: number;
50
+ }
51
+ export interface CertificateChainEntry {
52
+ cert: Buffer;
53
+ issuer?: Buffer;
54
+ }
55
+ export interface OCSPCheckResult {
56
+ status: CertificateStatus;
57
+ reason?: string;
58
+ }
59
+ export interface CRLCheckResult {
60
+ status: CertificateStatus;
61
+ reason?: string;
62
+ source?: string;
63
+ }
64
+ export interface OCSPConfig {
65
+ enabled?: boolean;
66
+ timeout?: number;
67
+ cacheTtl?: number;
68
+ errorCacheTtl?: number;
69
+ failureMode?: FailureMode;
70
+ }
71
+ export interface CRLConfig {
72
+ enabled?: boolean;
73
+ timeout?: number;
74
+ cacheTtl?: number;
75
+ failureMode?: FailureMode;
76
+ gracePeriod?: number;
77
+ }
78
+ export interface CertificateVerificationConfig {
79
+ failureMode?: FailureMode;
80
+ ocsp?: OCSPConfig;
81
+ crl?: CRLConfig;
82
+ }
83
+ export interface CertificateVerificationContext extends Context {
84
+ certPem: string;
85
+ issuerPem: string;
86
+ ocspUrls?: string[];
87
+ distributionPoint?: string;
88
+ config?: CertificateVerificationConfig;
89
+ }
90
+ export interface CRLVerificationContext extends Context {
91
+ distributionPoint: string;
92
+ issuerPem: string;
93
+ config?: CRLConfig;
94
+ }
95
+ export interface VerificationDefaults {
96
+ timeout: number;
97
+ cacheTtl: number;
98
+ failureMode: FailureMode;
99
+ }
100
+ export interface OCSPDefaults extends VerificationDefaults {
101
+ errorCacheTtl: number;
102
+ }
103
+ export interface CRLDefaults extends VerificationDefaults {
104
+ gracePeriod: number;
105
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Shared TypeScript interfaces and types for certificate verification
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../security/certificateVerification/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Configuration parsing and default values for certificate verification
3
+ */
4
+ import type { CertificateVerificationConfig } from './types.ts';
5
+ export declare const CRL_DEFAULT_VALIDITY_PERIOD: number;
6
+ export declare const ERROR_CACHE_TTL = 300000;
7
+ export declare const CRL_USER_AGENT: string;
8
+ /**
9
+ * Cached version of getCertificateVerificationConfig to avoid redundant parsing
10
+ * This is the recommended function to use in hot paths like certificate verification.
11
+ *
12
+ * MEMORY SAFETY:
13
+ * - Uses WeakMap for object configs to prevent memory leaks
14
+ * - Config objects can be garbage collected when no longer referenced elsewhere
15
+ * - Primitive values (boolean, null, undefined) use simple reference equality
16
+ * - No strong references held to config objects, preventing memory accumulation
17
+ *
18
+ * ERROR HANDLING:
19
+ * - Invalid config causes validation errors to be thrown on first access
20
+ * - Validation errors are logged once and then cached
21
+ * - Subsequent accesses with the same invalid config return false (disabled) to prevent
22
+ * repeated error logging and allow the application to continue running
23
+ * - This provides fail-safe behavior: invalid security config defaults to disabled
24
+ * rather than crashing on every request
25
+ *
26
+ * @param mtlsConfig - The mTLS configuration from env.get()
27
+ * @returns Configuration object or false if verification is disabled or invalid
28
+ */
29
+ export declare function getCachedCertificateVerificationConfig(mtlsConfig?: boolean | Record<string, any> | null): false | CertificateVerificationConfig;