@harperfast/harper-pro 5.0.4 → 5.0.6

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 (120) hide show
  1. package/core/AGENTS.md +107 -0
  2. package/core/CLAUDE.md +1 -0
  3. package/core/bin/status.js +2 -2
  4. package/core/bin/stop.js +5 -6
  5. package/core/components/EntryHandler.ts +4 -2
  6. package/core/components/Scope.ts +1 -1
  7. package/core/components/componentLoader.ts +11 -4
  8. package/core/components/requestRestart.ts +17 -2
  9. package/core/dataLayer/harperBridge/TableSizeObject.ts +35 -0
  10. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.ts +24 -0
  11. package/core/package-lock.json +1043 -112
  12. package/core/resources/DatabaseTransaction.ts +8 -3
  13. package/core/resources/Table.ts +12 -17
  14. package/core/resources/databases.ts +2 -2
  15. package/core/resources/graphql.ts +163 -165
  16. package/core/resources/indexes/HierarchicalNavigableSmallWorld.ts +14 -3
  17. package/core/resources/indexes/vector.ts +17 -0
  18. package/core/resources/loadEnv.ts +20 -16
  19. package/core/resources/login.ts +4 -3
  20. package/core/resources/roles.ts +60 -65
  21. package/core/security/auth.ts +15 -14
  22. package/core/security/jsLoader.ts +27 -9
  23. package/core/security/keys.js +1 -1
  24. package/core/server/REST.ts +10 -11
  25. package/core/server/fastifyRoutes.ts +30 -29
  26. package/core/server/graphqlQuerying.ts +4 -3
  27. package/core/server/http.ts +175 -1
  28. package/core/server/mqtt.ts +8 -2
  29. package/core/server/serverHelpers/serverUtilities.ts +2 -5
  30. package/core/server/threads/threadServer.js +30 -2
  31. package/core/server/throttle.ts +18 -0
  32. package/core/utility/environment/environmentManager.js +10 -4
  33. package/core/utility/environment/systemInformation.ts +698 -0
  34. package/core/utility/hdbTerms.ts +1 -0
  35. package/core/utility/operation_authorization.js +2 -5
  36. package/dist/core/bin/status.js +2 -2
  37. package/dist/core/bin/status.js.map +1 -1
  38. package/dist/core/bin/stop.js +5 -5
  39. package/dist/core/bin/stop.js.map +1 -1
  40. package/dist/core/components/EntryHandler.js +4 -2
  41. package/dist/core/components/EntryHandler.js.map +1 -1
  42. package/dist/core/components/Scope.js +1 -1
  43. package/dist/core/components/Scope.js.map +1 -1
  44. package/dist/core/components/componentLoader.js +11 -3
  45. package/dist/core/components/componentLoader.js.map +1 -1
  46. package/dist/core/components/requestRestart.js +12 -1
  47. package/dist/core/components/requestRestart.js.map +1 -1
  48. package/dist/core/dataLayer/harperBridge/TableSizeObject.js +32 -0
  49. package/dist/core/dataLayer/harperBridge/TableSizeObject.js.map +1 -0
  50. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +18 -19
  51. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js.map +1 -1
  52. package/dist/core/resources/DatabaseTransaction.js +6 -1
  53. package/dist/core/resources/DatabaseTransaction.js.map +1 -1
  54. package/dist/core/resources/Table.js +14 -18
  55. package/dist/core/resources/Table.js.map +1 -1
  56. package/dist/core/resources/databases.js +2 -1
  57. package/dist/core/resources/databases.js.map +1 -1
  58. package/dist/core/resources/graphql.js +176 -176
  59. package/dist/core/resources/graphql.js.map +1 -1
  60. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js +14 -2
  61. package/dist/core/resources/indexes/HierarchicalNavigableSmallWorld.js.map +1 -1
  62. package/dist/core/resources/indexes/vector.js +14 -0
  63. package/dist/core/resources/indexes/vector.js.map +1 -1
  64. package/dist/core/resources/loadEnv.js +20 -17
  65. package/dist/core/resources/loadEnv.js.map +1 -1
  66. package/dist/core/resources/login.js +4 -4
  67. package/dist/core/resources/login.js.map +1 -1
  68. package/dist/core/resources/roles.js +64 -68
  69. package/dist/core/resources/roles.js.map +1 -1
  70. package/dist/core/security/auth.js +17 -15
  71. package/dist/core/security/auth.js.map +1 -1
  72. package/dist/core/security/jsLoader.js +29 -9
  73. package/dist/core/security/jsLoader.js.map +1 -1
  74. package/dist/core/security/keys.js +1 -1
  75. package/dist/core/server/REST.js +11 -11
  76. package/dist/core/server/REST.js.map +1 -1
  77. package/dist/core/server/fastifyRoutes.js +30 -29
  78. package/dist/core/server/fastifyRoutes.js.map +1 -1
  79. package/dist/core/server/graphqlQuerying.js +5 -4
  80. package/dist/core/server/graphqlQuerying.js.map +1 -1
  81. package/dist/core/server/http.js +179 -0
  82. package/dist/core/server/http.js.map +1 -1
  83. package/dist/core/server/mqtt.js +5 -3
  84. package/dist/core/server/mqtt.js.map +1 -1
  85. package/dist/core/server/serverHelpers/serverUtilities.js +2 -2
  86. package/dist/core/server/serverHelpers/serverUtilities.js.map +1 -1
  87. package/dist/core/server/threads/threadServer.js +26 -2
  88. package/dist/core/server/threads/threadServer.js.map +1 -1
  89. package/dist/core/server/throttle.js +17 -0
  90. package/dist/core/server/throttle.js.map +1 -1
  91. package/dist/core/utility/environment/environmentManager.js +9 -4
  92. package/dist/core/utility/environment/environmentManager.js.map +1 -1
  93. package/dist/core/utility/environment/systemInformation.js +359 -219
  94. package/dist/core/utility/environment/systemInformation.js.map +1 -1
  95. package/dist/core/utility/hdbTerms.js +1 -0
  96. package/dist/core/utility/hdbTerms.js.map +1 -1
  97. package/dist/core/utility/operation_authorization.js +2 -2
  98. package/dist/core/utility/operation_authorization.js.map +1 -1
  99. package/dist/licensing/usageLicensing.js +1 -1
  100. package/dist/licensing/usageLicensing.js.map +1 -1
  101. package/dist/replication/replicationConnection.js +1 -0
  102. package/dist/replication/replicationConnection.js.map +1 -1
  103. package/dist/replication/setNode.js +1 -1
  104. package/dist/replication/setNode.js.map +1 -1
  105. package/dist/replication/subscriptionManager.js +1 -0
  106. package/dist/replication/subscriptionManager.js.map +1 -1
  107. package/licensing/usageLicensing.ts +1 -1
  108. package/npm-shrinkwrap.json +1880 -891
  109. package/package.json +14 -13
  110. package/replication/replicationConnection.ts +1 -0
  111. package/replication/setNode.ts +1 -1
  112. package/replication/subscriptionManager.ts +1 -0
  113. package/studio/web/assets/{index-CjeZNBFc.js → index-qbLPhOzw.js} +2 -2
  114. package/studio/web/assets/{index-CjeZNBFc.js.map → index-qbLPhOzw.js.map} +1 -1
  115. package/studio/web/index.html +1 -1
  116. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -25
  117. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/lmdbGetTableSize.js +0 -34
  118. package/core/utility/environment/systemInformation.js +0 -355
  119. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js +0 -24
  120. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/TableSizeObject.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harperfast/harper-pro",
3
- "version": "5.0.4",
3
+ "version": "5.0.6",
4
4
  "description": "Harper is a distributed database, caching service, streaming broker, and application development platform focused on performance and ease of use.",
5
5
  "keywords": [
6
6
  "database",
@@ -119,7 +119,7 @@
119
119
  },
120
120
  "dependencies": {
121
121
  "@aws-sdk/client-s3": "^3.1012.0",
122
- "@aws-sdk/lib-storage": "3.964.0",
122
+ "@aws-sdk/lib-storage": "3.1024.0",
123
123
  "@datadog/pprof": "^5.11.1",
124
124
  "@endo/static-module-record": "^1.1.2",
125
125
  "@fastify/autoload": "^6.3.1",
@@ -127,7 +127,7 @@
127
127
  "@fastify/cors": "^11.2.0",
128
128
  "@fastify/static": "^9.0.0",
129
129
  "@harperfast/extended-iterable": "^1.0.1",
130
- "@harperfast/rocksdb-js": "^0.1.14",
130
+ "@harperfast/rocksdb-js": "^1.1.0",
131
131
  "@turf/area": "6.5.0",
132
132
  "@turf/boolean-contains": "6.5.0",
133
133
  "@turf/boolean-disjoint": "6.5.0",
@@ -151,7 +151,7 @@
151
151
  "fast-glob": "3.3.3",
152
152
  "fastify": "^5.8.2",
153
153
  "fastify-plugin": "^5.1.0",
154
- "fs-extra": "11.3.3",
154
+ "fs-extra": "11.3.4",
155
155
  "graphql": "^16.10.0",
156
156
  "graphql-http": "^1.22.4",
157
157
  "gunzip-maybe": "1.4.2",
@@ -162,7 +162,7 @@
162
162
  "json-bigint-fixes": "1.1.0",
163
163
  "jsonata": "1.8.7",
164
164
  "jsonwebtoken": "9.0.3",
165
- "lmdb": "3.5.3",
165
+ "lmdb": "3.5.4",
166
166
  "lodash": "^4.17.23",
167
167
  "mathjs": "11.12.0",
168
168
  "micromatch": "^4.0.8",
@@ -170,7 +170,7 @@
170
170
  "moment": "2.30.1",
171
171
  "mqtt-packet": "~9.0.1",
172
172
  "msgpackr": "1.11.9",
173
- "needle": "3.3.1",
173
+ "needle": "3.5.0",
174
174
  "node-forge": "^1.3.1",
175
175
  "node-stream-zip": "1.15.0",
176
176
  "node-unix-socket": "0.2.7",
@@ -181,12 +181,12 @@
181
181
  "passport": "0.7.0",
182
182
  "passport-http": "0.3.0",
183
183
  "passport-local": "1.0.0",
184
- "pino": "8.16.0",
185
- "pkijs": "3.2.5",
184
+ "pino": "8.21.0",
185
+ "pkijs": "3.4.0",
186
186
  "prompt": "1.3.0",
187
187
  "properties-reader": "2.3.0",
188
188
  "recursive-iterator": "3.3.0",
189
- "semver": "7.7.3",
189
+ "semver": "7.7.4",
190
190
  "send": "^1.2.0",
191
191
  "ses": "^1.15.0",
192
192
  "stream-chain": "2.2.5",
@@ -196,18 +196,19 @@
196
196
  "ulidx": "0.5.0",
197
197
  "uuid": "11.1.0",
198
198
  "validate.js": "0.13.1",
199
- "ws": "8.18.3",
200
- "yaml": "2.8.2"
199
+ "ws": "8.20.0",
200
+ "yaml": "2.8.3"
201
201
  },
202
202
  "devDependencies": {
203
203
  "@harperdb/code-guidelines": "^0.0.6",
204
+ "@harperfast/integration-testing": "^0.2.0",
204
205
  "@types/fs-extra": "^11.0.4",
205
206
  "@types/gunzip-maybe": "^1.4.3",
206
207
  "@types/jsonwebtoken": "^9.0.10",
207
208
  "@types/lodash": "^4.17.23",
208
209
  "@types/micromatch": "^4.0.9",
209
210
  "@types/mocha": "^10.0.10",
210
- "@types/sinon": "^17.0.4",
211
+ "@types/sinon": "^21.0.0",
211
212
  "@types/tar-fs": "^2.0.4",
212
213
  "@typescript-eslint/parser": "^8.48.1",
213
214
  "axios": "1.14.0",
@@ -221,7 +222,7 @@
221
222
  "mocha": "^11.7.5",
222
223
  "mqtt": "~4.3.8",
223
224
  "oxlint": "^1.31.0",
224
- "prettier": "~3.7.3",
225
+ "prettier": "~3.8.0",
225
226
  "rewire": "^9.0.1",
226
227
  "sinon": "^21.0.0",
227
228
  "sinon-chai": "^4.0.1",
@@ -313,6 +313,7 @@ export class NodeReplicationConnection extends EventEmitter {
313
313
  this.sessionResolve = resolve;
314
314
  this.sessionReject = reject;
315
315
  });
316
+ this.session.catch(() => {}); // suppress any unhandled errors
316
317
  }
317
318
  subscribe(nodeSubscriptions, replicateTablesByDefault) {
318
319
  this.nodeSubscriptions = nodeSubscriptions;
@@ -125,7 +125,7 @@ export async function setNode(req: any) {
125
125
 
126
126
  let targetNodeResponse: any;
127
127
  let targetNodeResponseError: Error;
128
- hdbLogger.notify('sending add_node_back operation', targetAddNodeObj);
128
+ hdbLogger.debug('sending add_node_back operation', targetAddNodeObj);
129
129
  try {
130
130
  targetNodeResponse = await sendOperationToNode({ url }, targetAddNodeObj, req);
131
131
  } catch (err) {
@@ -269,6 +269,7 @@ export async function startOnMainThread(options) {
269
269
  const nodeName = nodes[0].name ?? (nodes[0].url && new URL(nodes[0].url).hostname);
270
270
  logger.warn(`Setting up subscription with leader ${leaderName} for node ${nodeName}`);
271
271
  nodes[0].isLeader = !leaderName || nodeName === leaderName;
272
+ nodes[0].url ??= getNodeURL(nodes[0]);
272
273
  setTimeout(() => {
273
274
  const request = {
274
275
  ...nodes[0],