@harperfast/harper 5.3.0-alpha.1 → 5.3.0-beta.1

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 (291) hide show
  1. package/bin/cliOperations.ts +12 -0
  2. package/bin/restart.ts +66 -6
  3. package/components/Application.ts +1134 -112
  4. package/components/OptionsWatcher.ts +368 -102
  5. package/components/Scope.ts +20 -1
  6. package/components/componentLoader.ts +43 -4
  7. package/components/deploymentOperations.ts +4 -1
  8. package/components/deploymentRecorder.ts +9 -2
  9. package/components/operations.js +284 -52
  10. package/components/operationsValidation.js +49 -2
  11. package/components/packageComponent.ts +25 -1
  12. package/components/requestRestart.ts +11 -0
  13. package/config/RootConfigWatcher.ts +191 -37
  14. package/config/configReadRetry.ts +62 -0
  15. package/config/configUtils.ts +78 -26
  16. package/config/parseConfigFile.ts +34 -0
  17. package/config/readConfigFileSync.ts +44 -0
  18. package/config/watcherArming.ts +59 -0
  19. package/config-root.schema.json +4 -0
  20. package/dataLayer/harperBridge/ResourceBridge.ts +28 -2
  21. package/dist/bin/cliOperations.js +13 -0
  22. package/dist/bin/cliOperations.js.map +1 -1
  23. package/dist/bin/restart.js +42 -6
  24. package/dist/bin/restart.js.map +1 -1
  25. package/dist/components/Application.d.ts +104 -9
  26. package/dist/components/Application.js +954 -102
  27. package/dist/components/Application.js.map +1 -1
  28. package/dist/components/OptionsWatcher.d.ts +4 -1
  29. package/dist/components/OptionsWatcher.js +378 -104
  30. package/dist/components/OptionsWatcher.js.map +1 -1
  31. package/dist/components/Scope.js +15 -1
  32. package/dist/components/Scope.js.map +1 -1
  33. package/dist/components/componentLoader.js +35 -3
  34. package/dist/components/componentLoader.js.map +1 -1
  35. package/dist/components/deploymentOperations.js +4 -1
  36. package/dist/components/deploymentOperations.js.map +1 -1
  37. package/dist/components/deploymentRecorder.d.ts +4 -2
  38. package/dist/components/deploymentRecorder.js +1 -0
  39. package/dist/components/deploymentRecorder.js.map +1 -1
  40. package/dist/components/operations.d.ts +28 -0
  41. package/dist/components/operations.js +263 -54
  42. package/dist/components/operations.js.map +1 -1
  43. package/dist/components/operationsValidation.js +48 -2
  44. package/dist/components/operationsValidation.js.map +1 -1
  45. package/dist/components/packageComponent.js +24 -0
  46. package/dist/components/packageComponent.js.map +1 -1
  47. package/dist/components/requestRestart.d.ts +1 -0
  48. package/dist/components/requestRestart.js +7 -0
  49. package/dist/components/requestRestart.js.map +1 -1
  50. package/dist/config/RootConfigWatcher.d.ts +2 -0
  51. package/dist/config/RootConfigWatcher.js +189 -35
  52. package/dist/config/RootConfigWatcher.js.map +1 -1
  53. package/dist/config/configReadRetry.d.ts +8 -0
  54. package/dist/config/configReadRetry.js +62 -0
  55. package/dist/config/configReadRetry.js.map +1 -0
  56. package/dist/config/configUtils.d.ts +10 -9
  57. package/dist/config/configUtils.js +63 -27
  58. package/dist/config/configUtils.js.map +1 -1
  59. package/dist/config/parseConfigFile.d.ts +4 -0
  60. package/dist/config/parseConfigFile.js +35 -0
  61. package/dist/config/parseConfigFile.js.map +1 -0
  62. package/dist/config/readConfigFileSync.d.ts +1 -0
  63. package/dist/config/readConfigFileSync.js +47 -0
  64. package/dist/config/readConfigFileSync.js.map +1 -0
  65. package/dist/config/watcherArming.d.ts +15 -0
  66. package/dist/config/watcherArming.js +59 -0
  67. package/dist/config/watcherArming.js.map +1 -0
  68. package/dist/dataLayer/harperBridge/ResourceBridge.js +21 -2
  69. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  70. package/dist/index.d.ts +1 -0
  71. package/dist/index.js +4 -1
  72. package/dist/index.js.map +1 -1
  73. package/dist/json/systemSchema.json +3 -0
  74. package/dist/resources/DatabaseTransaction.d.ts +25 -0
  75. package/dist/resources/DatabaseTransaction.js +224 -18
  76. package/dist/resources/DatabaseTransaction.js.map +1 -1
  77. package/dist/resources/LMDBTransaction.d.ts +2 -1
  78. package/dist/resources/LMDBTransaction.js +22 -3
  79. package/dist/resources/LMDBTransaction.js.map +1 -1
  80. package/dist/resources/PrimaryRocksDatabase.js +22 -6
  81. package/dist/resources/PrimaryRocksDatabase.js.map +1 -1
  82. package/dist/resources/RecordEncoder.d.ts +1 -1
  83. package/dist/resources/RecordEncoder.js +21 -5
  84. package/dist/resources/RecordEncoder.js.map +1 -1
  85. package/dist/resources/Resource.js +97 -13
  86. package/dist/resources/Resource.js.map +1 -1
  87. package/dist/resources/ResourceInterface.d.ts +8 -0
  88. package/dist/resources/RocksIndexStore.js +2 -1
  89. package/dist/resources/RocksIndexStore.js.map +1 -1
  90. package/dist/resources/RocksTransactionLogStore.d.ts +10 -0
  91. package/dist/resources/RocksTransactionLogStore.js +104 -33
  92. package/dist/resources/RocksTransactionLogStore.js.map +1 -1
  93. package/dist/resources/Table.d.ts +58 -7
  94. package/dist/resources/Table.js +1095 -346
  95. package/dist/resources/Table.js.map +1 -1
  96. package/dist/resources/analytics/write.js +10 -3
  97. package/dist/resources/analytics/write.js.map +1 -1
  98. package/dist/resources/auditStore.d.ts +170 -0
  99. package/dist/resources/auditStore.js +457 -11
  100. package/dist/resources/auditStore.js.map +1 -1
  101. package/dist/resources/dataLoader.js +3 -4
  102. package/dist/resources/dataLoader.js.map +1 -1
  103. package/dist/resources/databases.d.ts +16 -13
  104. package/dist/resources/databases.js +624 -176
  105. package/dist/resources/databases.js.map +1 -1
  106. package/dist/resources/derivedIndexRegistry.d.ts +5 -0
  107. package/dist/resources/derivedIndexRegistry.js +68 -0
  108. package/dist/resources/derivedIndexRegistry.js.map +1 -0
  109. package/dist/resources/derivedIndexRuntime.d.ts +215 -0
  110. package/dist/resources/derivedIndexRuntime.js +2027 -0
  111. package/dist/resources/derivedIndexRuntime.js.map +1 -0
  112. package/dist/resources/graphql.js +3 -2
  113. package/dist/resources/graphql.js.map +1 -1
  114. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.d.ts +102 -9
  115. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js +848 -39
  116. package/dist/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  117. package/dist/resources/indexes/hnswDerivedIndex.d.ts +67 -0
  118. package/dist/resources/indexes/hnswDerivedIndex.js +464 -0
  119. package/dist/resources/indexes/hnswDerivedIndex.js.map +1 -0
  120. package/dist/resources/indexes/hnswPlaneBinding.d.ts +65 -0
  121. package/dist/resources/indexes/hnswPlaneBinding.js +91 -0
  122. package/dist/resources/indexes/hnswPlaneBinding.js.map +1 -0
  123. package/dist/resources/nodeIdMapping.d.ts +5 -0
  124. package/dist/resources/nodeIdMapping.js +49 -0
  125. package/dist/resources/nodeIdMapping.js.map +1 -1
  126. package/dist/resources/recordLock.d.ts +47 -4
  127. package/dist/resources/recordLock.js +138 -7
  128. package/dist/resources/recordLock.js.map +1 -1
  129. package/dist/resources/recordLockCoordinator.d.ts +557 -0
  130. package/dist/resources/recordLockCoordinator.js +2565 -0
  131. package/dist/resources/recordLockCoordinator.js.map +1 -0
  132. package/dist/resources/replayLogs.js +5 -0
  133. package/dist/resources/replayLogs.js.map +1 -1
  134. package/dist/resources/replicatedApplyFailure.d.ts +16 -0
  135. package/dist/resources/replicatedApplyFailure.js +63 -0
  136. package/dist/resources/replicatedApplyFailure.js.map +1 -0
  137. package/dist/resources/scheduler/scheduler.js +3 -3
  138. package/dist/resources/scheduler/scheduler.js.map +1 -1
  139. package/dist/resources/search.d.ts +10 -4
  140. package/dist/resources/search.js +160 -40
  141. package/dist/resources/search.js.map +1 -1
  142. package/dist/resources/tracked.d.ts +5 -1
  143. package/dist/resources/tracked.js +74 -23
  144. package/dist/resources/tracked.js.map +1 -1
  145. package/dist/security/jsLoader.js +6 -4
  146. package/dist/security/jsLoader.js.map +1 -1
  147. package/dist/server/REST.js +33 -2
  148. package/dist/server/REST.js.map +1 -1
  149. package/dist/server/http.d.ts +5 -1
  150. package/dist/server/http.js +34 -2
  151. package/dist/server/http.js.map +1 -1
  152. package/dist/server/serverHelpers/Headers.d.ts +2 -0
  153. package/dist/server/serverHelpers/Headers.js +6 -0
  154. package/dist/server/serverHelpers/Headers.js.map +1 -1
  155. package/dist/server/serverHelpers/NodeAdapterResponse.d.ts +48 -0
  156. package/dist/server/serverHelpers/NodeAdapterResponse.js +220 -0
  157. package/dist/server/serverHelpers/NodeAdapterResponse.js.map +1 -0
  158. package/dist/server/serverHelpers/Request.d.ts +5 -10
  159. package/dist/server/serverHelpers/Request.js +38 -136
  160. package/dist/server/serverHelpers/Request.js.map +1 -1
  161. package/dist/server/serverHelpers/contentTypes.d.ts +2 -0
  162. package/dist/server/serverHelpers/contentTypes.js +189 -15
  163. package/dist/server/serverHelpers/contentTypes.js.map +1 -1
  164. package/dist/server/serverHelpers/serverUtilities.js +96 -17
  165. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  166. package/dist/server/storageReclamation.js +1 -1
  167. package/dist/server/storageReclamation.js.map +1 -1
  168. package/dist/server/threads/isolatedApplications.d.ts +47 -0
  169. package/dist/server/threads/isolatedApplications.js +171 -0
  170. package/dist/server/threads/isolatedApplications.js.map +1 -0
  171. package/dist/server/threads/logRotationTransport.d.ts +1 -0
  172. package/dist/server/threads/logRotationTransport.js +33 -0
  173. package/dist/server/threads/logRotationTransport.js.map +1 -0
  174. package/dist/server/threads/manageThreads.d.ts +64 -6
  175. package/dist/server/threads/manageThreads.js +261 -12
  176. package/dist/server/threads/manageThreads.js.map +1 -1
  177. package/dist/server/threads/socketRouter.d.ts +1 -0
  178. package/dist/server/threads/socketRouter.js +196 -13
  179. package/dist/server/threads/socketRouter.js.map +1 -1
  180. package/dist/server/threads/threadServer.js +30 -7
  181. package/dist/server/threads/threadServer.js.map +1 -1
  182. package/dist/utility/errors/hdbError.d.ts +24 -0
  183. package/dist/utility/errors/hdbError.js +58 -1
  184. package/dist/utility/errors/hdbError.js.map +1 -1
  185. package/dist/utility/hdbTerms.d.ts +2 -0
  186. package/dist/utility/hdbTerms.js +2 -0
  187. package/dist/utility/hdbTerms.js.map +1 -1
  188. package/dist/utility/logging/harper_logger.js +217 -38
  189. package/dist/utility/logging/harper_logger.js.map +1 -1
  190. package/dist/utility/logging/logGenerationCoordinator.d.ts +35 -0
  191. package/dist/utility/logging/logGenerationCoordinator.js +184 -0
  192. package/dist/utility/logging/logGenerationCoordinator.js.map +1 -0
  193. package/dist/utility/logging/logRotation.d.ts +46 -0
  194. package/dist/utility/logging/logRotation.js +365 -0
  195. package/dist/utility/logging/logRotation.js.map +1 -0
  196. package/dist/utility/logging/logRotator.d.ts +1 -1
  197. package/dist/utility/logging/logRotator.js +172 -92
  198. package/dist/utility/logging/logRotator.js.map +1 -1
  199. package/dist/utility/npmUtilities.js +6 -4
  200. package/dist/utility/npmUtilities.js.map +1 -1
  201. package/dist/utility/watcherFallback.d.ts +0 -45
  202. package/dist/utility/watcherFallback.js +1 -125
  203. package/dist/utility/watcherFallback.js.map +1 -1
  204. package/dist/validation/configValidator.js +6 -3
  205. package/dist/validation/configValidator.js.map +1 -1
  206. package/index.ts +6 -0
  207. package/json/systemSchema.json +3 -0
  208. package/npm-shrinkwrap.json +131 -41
  209. package/package.json +10 -3
  210. package/resources/DESIGN.md +124 -19
  211. package/resources/DatabaseTransaction.ts +230 -17
  212. package/resources/LMDBTransaction.ts +21 -3
  213. package/resources/PrimaryRocksDatabase.ts +20 -7
  214. package/resources/RecordEncoder.ts +25 -5
  215. package/resources/Resource.ts +97 -13
  216. package/resources/ResourceInterface.ts +8 -0
  217. package/resources/RocksIndexStore.ts +2 -1
  218. package/resources/RocksTransactionLogStore.ts +111 -31
  219. package/resources/Table.ts +1224 -393
  220. package/resources/analytics/write.ts +10 -3
  221. package/resources/auditStore.ts +460 -11
  222. package/resources/dataLoader.ts +3 -4
  223. package/resources/databases.ts +610 -146
  224. package/resources/derivedIndexRegistry.ts +56 -0
  225. package/resources/derivedIndexRuntime.ts +2292 -0
  226. package/resources/graphql.ts +3 -2
  227. package/resources/indexes/HierarchicalNavigableSmallWorld.ts +905 -46
  228. package/resources/indexes/hnswDerivedIndex.ts +531 -0
  229. package/resources/indexes/hnswPlaneBinding.ts +174 -0
  230. package/resources/nodeIdMapping.ts +50 -0
  231. package/resources/recordLock.ts +173 -7
  232. package/resources/recordLockCoordinator.ts +3043 -0
  233. package/resources/replayLogs.ts +5 -0
  234. package/resources/replicatedApplyFailure.ts +77 -0
  235. package/resources/scheduler/scheduler.ts +4 -4
  236. package/resources/search.ts +169 -49
  237. package/resources/tracked.ts +73 -22
  238. package/security/jsLoader.ts +6 -4
  239. package/server/DESIGN.md +11 -0
  240. package/server/REST.ts +36 -3
  241. package/server/http.ts +34 -2
  242. package/server/serverHelpers/Headers.ts +5 -1
  243. package/server/serverHelpers/NodeAdapterResponse.ts +221 -0
  244. package/server/serverHelpers/Request.ts +33 -131
  245. package/server/serverHelpers/contentTypes.ts +188 -15
  246. package/server/serverHelpers/serverUtilities.ts +143 -24
  247. package/server/storageReclamation.ts +2 -2
  248. package/server/threads/isolatedApplications.ts +157 -0
  249. package/server/threads/logRotationTransport.ts +40 -0
  250. package/server/threads/manageThreads.js +254 -12
  251. package/server/threads/socketRouter.ts +217 -11
  252. package/server/threads/threadServer.js +30 -7
  253. package/studio/web/assets/{Chat-BnCBegQz.js → Chat-D3j-1yY1.js} +1 -1
  254. package/studio/web/assets/{FloatingChat-CoDW1ySS.js → FloatingChat-BxJGYcfB.js} +3 -3
  255. package/studio/web/assets/{apiToken-Bwk5BLXW.js → apiToken-CT55oWOe.js} +1 -1
  256. package/studio/web/assets/{applications-DHxGi7JH.js → applications-D9Ct9_vm.js} +1 -1
  257. package/studio/web/assets/{cssMode-s0cWI-_M.js → cssMode-DV8H7VwA.js} +1 -1
  258. package/studio/web/assets/{editor-DNcRHK54.js → editor-uatc0unt.js} +1 -1
  259. package/studio/web/assets/{html-Bdssedlg.js → html-Bm6D6paN.js} +1 -1
  260. package/studio/web/assets/{htmlMode-CoDlJ3fw.js → htmlMode-CEn7tpLG.js} +1 -1
  261. package/studio/web/assets/{index-D6sxmFLR.js → index-BIXW6Pu4.js} +5 -5
  262. package/studio/web/assets/{index.lazy-tmU5BS8s.js → index.lazy-UI7L-Vrk.js} +1 -1
  263. package/studio/web/assets/{javascript-B8meVSTH.js → javascript-CJ0G3AFZ.js} +1 -1
  264. package/studio/web/assets/{jsonMode-DpIPd35T.js → jsonMode-DQADAYEa.js} +1 -1
  265. package/studio/web/assets/{languageServices-C_5FMJzQ.js → languageServices-CAQJXWcI.js} +1 -1
  266. package/studio/web/assets/{lspLanguageFeatures-BIzNBzPK.js → lspLanguageFeatures-CCQ8P5sY.js} +1 -1
  267. package/studio/web/assets/{notifications-CQf18QKb.js → notifications-BbxTU6Aw.js} +1 -1
  268. package/studio/web/assets/{notifications-CvZivSbh.js → notifications-Cvb3P1lB.js} +1 -1
  269. package/studio/web/assets/{profile-DdOwtntb.js → profile-Yyb7gsvL.js} +1 -1
  270. package/studio/web/assets/{regions-n69fwagr.js → regions-OgjGHlU5.js} +1 -1
  271. package/studio/web/assets/{register-PfWTCXWB.js → register-6qwNEOY3.js} +2 -2
  272. package/studio/web/assets/{setComponentFile-Bg6O7X0S.js → setComponentFile-BilDMtgB.js} +1 -1
  273. package/studio/web/assets/{setup-CUx_aUDl.js → setup-J6qJ7OIU.js} +2 -2
  274. package/studio/web/assets/{status-D7BVKqX9.js → status-0RWGcfyD.js} +1 -1
  275. package/studio/web/assets/{toggleHighContrast-DBSyXzMr.js → toggleHighContrast-BIn-vErT.js} +1 -1
  276. package/studio/web/assets/{tsMode-BByKCjBS.js → tsMode-DgUXku4d.js} +1 -1
  277. package/studio/web/assets/{typescript-DDLnLpw9.js → typescript-C9orXcsM.js} +1 -1
  278. package/studio/web/assets/{useEntityRestURL-31CHGaHk.js → useEntityRestURL-BEoXXbUB.js} +1 -1
  279. package/studio/web/assets/{workers-pR3jRY9D.js → workers-JVzSDmgx.js} +1 -1
  280. package/studio/web/assets/{xml-2iRnMhQO.js → xml-Cq-S8S4X.js} +1 -1
  281. package/studio/web/assets/{yaml-Bf92gJpd.js → yaml-sfoRdh1M.js} +1 -1
  282. package/studio/web/index.html +1 -1
  283. package/utility/errors/hdbError.ts +54 -0
  284. package/utility/hdbTerms.ts +2 -0
  285. package/utility/logging/harper_logger.ts +209 -30
  286. package/utility/logging/logGenerationCoordinator.ts +196 -0
  287. package/utility/logging/logRotation.ts +367 -0
  288. package/utility/logging/logRotator.ts +196 -91
  289. package/utility/npmUtilities.ts +6 -4
  290. package/utility/watcherFallback.ts +0 -122
  291. package/validation/configValidator.ts +6 -3
@@ -1 +1 @@
1
- {"version":3,"file":"harper_logger.js","sourceRoot":"","sources":["../../../utility/logging/harper_logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"harper_logger.js","sourceRoot":"","sources":["../../../utility/logging/harper_logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ export declare const LOG_GENERATION_ROTATED = "log_generation_rotated";
2
+ export declare const LOG_GENERATION_CLOSED = "log_generation_closed";
3
+ interface RotationTransport {
4
+ broadcast(message: any): void;
5
+ sendToThread(threadId: number, message: any): void;
6
+ onMessage(type: string, handler: (message: any) => void): void;
7
+ onThreadExit(handler: (threadId: number) => void): void;
8
+ peerThreadIds(): Iterable<number>;
9
+ threadId: number;
10
+ quiescenceTimeout?: number;
11
+ }
12
+ type LogSink = {
13
+ identity(): any;
14
+ close(): void;
15
+ };
16
+ export declare function setRotationTransport(newTransport?: RotationTransport): void;
17
+ /**
18
+ * Registered by the file sink, not the size guard: a thread with no guard still holds a descriptor,
19
+ * and its answer has to mean the descriptor is gone.
20
+ */
21
+ export declare function registerLogSink(logPath: string, sink: LogSink): void;
22
+ export declare function unregisterLogSink(logPath: string, sink?: LogSink): any;
23
+ export declare function nextGenerationId(): string;
24
+ /** One archived generation: release any descriptor still pointing at the inode that was renamed. */
25
+ export declare function requestGenerationClose(generation: any, deadline?: number): Promise<boolean>;
26
+ /**
27
+ * Every generation but the live one, for every log this process writes, in a single round trip.
28
+ * Not scoped to one path: the archive directory holds the archives of every component and external
29
+ * log sharing it, and retention destroys those too.
30
+ */
31
+ export declare function requestStaleDescriptorRelease(deadline?: number): Promise<{
32
+ released: boolean;
33
+ liveLogPaths: Set<string>;
34
+ }>;
35
+ export {};
@@ -0,0 +1,184 @@
1
+ 'use strict';
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOG_GENERATION_CLOSED = exports.LOG_GENERATION_ROTATED = void 0;
4
+ exports.setRotationTransport = setRotationTransport;
5
+ exports.registerLogSink = registerLogSink;
6
+ exports.unregisterLogSink = unregisterLogSink;
7
+ exports.nextGenerationId = nextGenerationId;
8
+ exports.requestGenerationClose = requestGenerationClose;
9
+ exports.requestStaleDescriptorRelease = requestStaleDescriptorRelease;
10
+ // Every isolate holds its own descriptor on the shared log file, so a rename leaves the others
11
+ // appending to the archived inode and destroying it loses whatever they write next. No size
12
+ // comparison can rule out a write that has not happened yet; enumerated in-process peers must answer.
13
+ //
14
+ // The thread layer injects the transport; harper_logger must never reach manageThreads.
15
+ const node_fs_1 = require("node:fs");
16
+ const node_path_1 = require("node:path");
17
+ const node_worker_threads_1 = require("node:worker_threads");
18
+ exports.LOG_GENERATION_ROTATED = 'log_generation_rotated';
19
+ exports.LOG_GENERATION_CLOSED = 'log_generation_closed';
20
+ // Under manageThreads' 30s ITC default, so an unanswered generation is decided here (retain the
21
+ // plain archive) rather than by a transport backstop that cannot express "unproven".
22
+ const DEFAULT_QUIESCENCE_TIMEOUT = 15000;
23
+ // A tiny maxSize can rotate faster than a slow peer answers. Overflow is left as a plain archive
24
+ // for the audit sweep instead of retaining one timer and one mesh request per generation.
25
+ const MAX_PENDING_RELEASE_REQUESTS = 64;
26
+ let transport;
27
+ // A set per path, not one sink: harper_logger caches its file loggers by the raw configured path, so
28
+ // two spellings of one file are two sinks holding two descriptors on it, and a release has to close
29
+ // both. The key is resolved because retention compares resolved paths.
30
+ const sinksByPath = new Map();
31
+ const pendingByRequest = new Map();
32
+ let requestCounter = 0;
33
+ function setRotationTransport(newTransport) {
34
+ transport = newTransport;
35
+ if (!newTransport)
36
+ return;
37
+ newTransport.onMessage(exports.LOG_GENERATION_ROTATED, (message) => {
38
+ releaseLocally(message);
39
+ newTransport.sendToThread(message.originator, {
40
+ type: exports.LOG_GENERATION_CLOSED,
41
+ request: message.request,
42
+ threadId: newTransport.threadId,
43
+ // The paths this isolate writes. Components load in the workers, so a component's own log
44
+ // is registered only there, and the thread that runs retention would otherwise see a live
45
+ // file it has never heard of and delete it by age.
46
+ logPaths: message.stale ? [...sinksByPath.keys()] : undefined,
47
+ });
48
+ });
49
+ newTransport.onMessage(exports.LOG_GENERATION_CLOSED, (message) => {
50
+ recordPeerResponse(message.request, message.threadId, message.logPaths);
51
+ });
52
+ newTransport.onThreadExit((threadId) => {
53
+ // An exited thread cannot hold a descriptor, so its exit answers everything it owed.
54
+ for (const request of [...pendingByRequest.keys()])
55
+ recordPeerResponse(request, threadId);
56
+ });
57
+ }
58
+ /**
59
+ * Registered by the file sink, not the size guard: a thread with no guard still holds a descriptor,
60
+ * and its answer has to mean the descriptor is gone.
61
+ */
62
+ function registerLogSink(logPath, sink) {
63
+ const key = (0, node_path_1.resolve)(logPath);
64
+ const sinks = sinksByPath.get(key) ?? new Set();
65
+ sinks.add(sink);
66
+ sinksByPath.set(key, sinks);
67
+ }
68
+ function unregisterLogSink(logPath, sink) {
69
+ const key = (0, node_path_1.resolve)(logPath);
70
+ if (!sink)
71
+ return void sinksByPath.delete(key);
72
+ const sinks = sinksByPath.get(key);
73
+ if (!sinks?.delete(sink))
74
+ return;
75
+ if (sinks.size === 0)
76
+ sinksByPath.delete(key);
77
+ }
78
+ function nextGenerationId() {
79
+ return `${process.pid}-${transport?.threadId ?? 0}-${requestCounter++}`;
80
+ }
81
+ /**
82
+ * Ask every in-process peer this isolate can enumerate to release the descriptors this request
83
+ * names. `false` means the caller must leave those archives in place — it is never safe to unlink
84
+ * an inode a peer may still be appending to.
85
+ */
86
+ function requestRelease(message, deadline) {
87
+ releaseLocally(message);
88
+ const liveLogPaths = new Set(sinksByPath.keys());
89
+ // No transport in a worker isolate means the mesh cannot be enumerated yet, not that there is
90
+ // nobody to ask: harper_logger installs the size guard at its own module load and manageThreads
91
+ // installs the transport at the end of its, so a worker rotating in that window would otherwise
92
+ // call an empty peer set a proof and unlink the generation its siblings are appending to. On the
93
+ // main thread the same state means no worker has been spawned, where zero peers is the truth.
94
+ if (!transport)
95
+ return Promise.resolve({ released: node_worker_threads_1.isMainThread, liveLogPaths });
96
+ const expected = new Set(transport.peerThreadIds());
97
+ if (expected.size === 0)
98
+ return Promise.resolve({ released: true, liveLogPaths });
99
+ if (pendingByRequest.size >= MAX_PENDING_RELEASE_REQUESTS)
100
+ return Promise.resolve({ released: false, liveLogPaths });
101
+ const quiescenceTimeout = transport.quiescenceTimeout ?? DEFAULT_QUIESCENCE_TIMEOUT;
102
+ if (deadline !== undefined && Date.now() + quiescenceTimeout > deadline)
103
+ return Promise.resolve({ released: false, liveLogPaths });
104
+ const request = message.request;
105
+ return new Promise((resolve) => {
106
+ let timer;
107
+ const settle = (released) => {
108
+ clearTimeout(timer);
109
+ pendingByRequest.delete(request);
110
+ resolve({ released, liveLogPaths });
111
+ };
112
+ pendingByRequest.set(request, { expected, liveLogPaths, settle });
113
+ timer = setTimeout(() => settle(false), quiescenceTimeout);
114
+ timer.unref?.();
115
+ transport.broadcast({ ...message, originator: transport.threadId });
116
+ });
117
+ }
118
+ /** One archived generation: release any descriptor still pointing at the inode that was renamed. */
119
+ async function requestGenerationClose(generation, deadline) {
120
+ return (await requestRelease({
121
+ type: exports.LOG_GENERATION_ROTATED,
122
+ request: generation.generation,
123
+ logPath: generation.logPath,
124
+ ino: generation.ino,
125
+ dev: generation.dev,
126
+ }, deadline)).released;
127
+ }
128
+ /**
129
+ * Every generation but the live one, for every log this process writes, in a single round trip.
130
+ * Not scoped to one path: the archive directory holds the archives of every component and external
131
+ * log sharing it, and retention destroys those too.
132
+ */
133
+ function requestStaleDescriptorRelease(deadline) {
134
+ return requestRelease({ type: exports.LOG_GENERATION_ROTATED, request: nextGenerationId(), stale: true }, deadline);
135
+ }
136
+ function recordPeerResponse(request, threadId, logPaths) {
137
+ const pending = pendingByRequest.get(request);
138
+ if (!pending)
139
+ return;
140
+ if (logPaths)
141
+ for (const logPath of logPaths)
142
+ pending.liveLogPaths.add(logPath);
143
+ pending.expected.delete(threadId);
144
+ if (pending.expected.size === 0)
145
+ pending.settle(true);
146
+ }
147
+ function releaseLocally(message) {
148
+ if (message.stale)
149
+ return releaseStaleDescriptors();
150
+ for (const sink of sinksByPath.get((0, node_path_1.resolve)(message.logPath)) ?? []) {
151
+ const identity = sink.identity();
152
+ // No identity to compare (no descriptor open, or a filesystem that cannot report one) means
153
+ // closing is the only answer that can still be called a release.
154
+ if (!identity || !identity.ino || !message.ino || (identity.ino === message.ino && identity.dev === message.dev))
155
+ sink.close();
156
+ }
157
+ }
158
+ /**
159
+ * Release every descriptor this isolate holds that is not on the live generation of its own path.
160
+ * Each sink decides for itself, so nothing has to name the live inode of a log it does not own.
161
+ */
162
+ function releaseStaleDescriptors() {
163
+ for (const [logPath, sinks] of sinksByPath) {
164
+ let live;
165
+ try {
166
+ live = (0, node_fs_1.statSync)(logPath);
167
+ }
168
+ catch {
169
+ for (const sink of sinks)
170
+ sink.close();
171
+ continue;
172
+ }
173
+ for (const sink of sinks) {
174
+ const identity = sink.identity();
175
+ // No identity is not the same as no descriptor: openLogFile() leaves the descriptor open when
176
+ // its fstat fails. Skipping the sink and still answering "released" is what lets an archive be
177
+ // unlinked under it, so close it here as the per-generation path already does.
178
+ // `ino === 0` (some Windows filesystems) proves nothing for the same reason.
179
+ if (!identity || !identity.ino || !live.ino || identity.ino !== live.ino || identity.dev !== live.dev)
180
+ sink.close();
181
+ }
182
+ }
183
+ }
184
+ //# sourceMappingURL=logGenerationCoordinator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logGenerationCoordinator.js","sourceRoot":"","sources":["../../../utility/logging/logGenerationCoordinator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ export declare const INVALID_MAX_SIZE_MSG = "'maxSize' must be a positive size with a K, M or G unit (for example '64M')";
2
+ /**
3
+ * Convert `logging.rotation.maxSize` to bytes, or undefined if it cannot be a byte limit. One
4
+ * definition, shared with validation/configValidator.ts.
5
+ */
6
+ export declare function parseMaxSize(maxSize: any): number;
7
+ export declare function resolveRotatedLogDir(logPath: string, configuredPath?: string): string;
8
+ export declare function isArchiveName(file: string): boolean;
9
+ export declare function archivePathFor(logPath: string, rotatedLogDir: string): string;
10
+ /**
11
+ * Move the active log aside and release this isolate's descriptor, with nothing awaited in between:
12
+ * a rotation that yields to the event loop lets the logging loop that triggered it keep appending,
13
+ * which is the rate-dependent overshoot this whole change exists to remove.
14
+ */
15
+ export declare function rotateLogFileSync(logPath: string, rotatedLogDir: string, closeLogFile: () => void, activeStats?: any): {
16
+ logPath: string;
17
+ archivePath: string;
18
+ ino: any;
19
+ dev: any;
20
+ generation: string;
21
+ };
22
+ /**
23
+ * Publish an archived generation: ask every enumerable in-process peer to release it, then compress
24
+ * it if requested. The plain archive is only unlinked once that release is proven.
25
+ */
26
+ export declare function publishArchivedGeneration(generation: any, compress?: boolean, reportCompressionError?: (error: any) => void): Promise<any>;
27
+ export declare function isArchivePendingQuiescence(archivePath: string): boolean;
28
+ export declare function retryPendingGenerations(options?: any): Promise<void>;
29
+ /**
30
+ * Compress archives left plain by any isolate, from a listing taken before quiescence was proven.
31
+ * Write-path rotations happen mostly in the HTTP workers, whose unproven-archive bookkeeping the
32
+ * main thread cannot see, so without this a worker's archive would silently stay uncompressed for
33
+ * the life of the process however the operator configured `compress`.
34
+ * Only safe to call once quiescence has been proven for exactly this listing.
35
+ */
36
+ export declare function compressPendingArchives(rotatedLogDir: string, files: string[], liveLogPaths: Set<string>, options?: any): Promise<any>;
37
+ export declare function compressArchive(archivePath: string): Promise<any>;
38
+ /**
39
+ * The write-path size guard. One subtraction and one branch per flush; one pathname stat once per
40
+ * quantum of this writer's own output.
41
+ */
42
+ export declare function createRotationGuard(options: any): {
43
+ beforeAppend: () => boolean;
44
+ recordWrite: (byteLength: number) => void;
45
+ checkQuantum: number;
46
+ };