@harperfast/harper-pro 5.0.0-beta.5 → 5.0.0-beta.7

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 (93) hide show
  1. package/core/bin/harper.js +1 -1
  2. package/core/bin/run.js +2 -2
  3. package/core/components/Application.ts +9 -5
  4. package/core/components/ApplicationScope.ts +3 -3
  5. package/core/components/componentLoader.ts +28 -15
  6. package/core/components/operations.js +13 -13
  7. package/core/components/operationsValidation.js +3 -3
  8. package/core/config/configUtils.js +20 -4
  9. package/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +3 -2
  10. package/core/resources/Resource.ts +17 -6
  11. package/core/resources/RocksTransactionLogStore.ts +8 -1
  12. package/core/resources/analytics/metadata.ts +1 -0
  13. package/core/resources/analytics/read.ts +1 -1
  14. package/core/resources/analytics/write.ts +43 -2
  15. package/core/resources/databases.ts +24 -15
  16. package/core/security/jsLoader.ts +182 -91
  17. package/core/server/REST.ts +20 -11
  18. package/core/server/http.ts +3 -3
  19. package/core/server/itc/serverHandlers.js +1 -1
  20. package/core/static/defaultConfig.yaml +1 -1
  21. package/core/utility/hdbTerms.ts +1 -0
  22. package/core/utility/logging/harper_logger.js +44 -11
  23. package/core/utility/logging/readLog.js +2 -2
  24. package/core/utility/npmUtilities.js +2 -2
  25. package/core/validation/configValidator.js +16 -8
  26. package/core/validation/readLogValidator.js +2 -2
  27. package/dist/core/bin/harper.js +1 -1
  28. package/dist/core/bin/run.js +2 -2
  29. package/dist/core/bin/run.js.map +1 -1
  30. package/dist/core/components/Application.js +9 -4
  31. package/dist/core/components/Application.js.map +1 -1
  32. package/dist/core/components/ApplicationScope.js +2 -2
  33. package/dist/core/components/ApplicationScope.js.map +1 -1
  34. package/dist/core/components/componentLoader.js +30 -16
  35. package/dist/core/components/componentLoader.js.map +1 -1
  36. package/dist/core/components/operations.js +13 -13
  37. package/dist/core/components/operations.js.map +1 -1
  38. package/dist/core/components/operationsValidation.js +3 -3
  39. package/dist/core/components/operationsValidation.js.map +1 -1
  40. package/dist/core/config/configUtils.js +23 -3
  41. package/dist/core/config/configUtils.js.map +1 -1
  42. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js +3 -2
  43. package/dist/core/dataLayer/harperBridge/lmdbBridge/lmdbUtility/initializePaths.js.map +1 -1
  44. package/dist/core/resources/Resource.js +11 -4
  45. package/dist/core/resources/Resource.js.map +1 -1
  46. package/dist/core/resources/RocksTransactionLogStore.js +8 -1
  47. package/dist/core/resources/RocksTransactionLogStore.js.map +1 -1
  48. package/dist/core/resources/analytics/metadata.js +1 -0
  49. package/dist/core/resources/analytics/metadata.js.map +1 -1
  50. package/dist/core/resources/analytics/read.js +1 -1
  51. package/dist/core/resources/analytics/read.js.map +1 -1
  52. package/dist/core/resources/analytics/write.js +42 -0
  53. package/dist/core/resources/analytics/write.js.map +1 -1
  54. package/dist/core/resources/databases.js +19 -13
  55. package/dist/core/resources/databases.js.map +1 -1
  56. package/dist/core/security/jsLoader.js +167 -81
  57. package/dist/core/security/jsLoader.js.map +1 -1
  58. package/dist/core/server/REST.js +17 -10
  59. package/dist/core/server/REST.js.map +1 -1
  60. package/dist/core/server/http.js +2 -2
  61. package/dist/core/server/http.js.map +1 -1
  62. package/dist/core/server/itc/serverHandlers.js +1 -1
  63. package/dist/core/server/itc/serverHandlers.js.map +1 -1
  64. package/dist/core/utility/hdbTerms.js +1 -0
  65. package/dist/core/utility/hdbTerms.js.map +1 -1
  66. package/dist/core/utility/logging/harper_logger.js +47 -11
  67. package/dist/core/utility/logging/harper_logger.js.map +1 -1
  68. package/dist/core/utility/logging/readLog.js +2 -2
  69. package/dist/core/utility/logging/readLog.js.map +1 -1
  70. package/dist/core/utility/npmUtilities.js +2 -2
  71. package/dist/core/utility/npmUtilities.js.map +1 -1
  72. package/dist/core/validation/configValidator.js +18 -8
  73. package/dist/core/validation/configValidator.js.map +1 -1
  74. package/dist/core/validation/readLogValidator.js +2 -2
  75. package/dist/core/validation/readLogValidator.js.map +1 -1
  76. package/dist/replication/nodeIdMapping.js +1 -1
  77. package/dist/replication/nodeIdMapping.js.map +1 -1
  78. package/dist/replication/replicationConnection.js +1 -4
  79. package/dist/replication/replicationConnection.js.map +1 -1
  80. package/npm-shrinkwrap.json +506 -501
  81. package/package.json +7 -4
  82. package/replication/nodeIdMapping.ts +1 -1
  83. package/replication/replicationConnection.ts +9 -4
  84. package/static/defaultConfig.yaml +3 -0
  85. package/studio/web/assets/{index-ZhLX9iRh.js → index-ClD_q6ya.js} +5 -5
  86. package/studio/web/assets/{index-ZhLX9iRh.js.map → index-ClD_q6ya.js.map} +1 -1
  87. package/studio/web/assets/{index.lazy-DzgnppiN.js → index.lazy-CXzU1gVu.js} +2 -2
  88. package/studio/web/assets/{index.lazy-DzgnppiN.js.map → index.lazy-CXzU1gVu.js.map} +1 -1
  89. package/studio/web/assets/{profile-DJ9V18dX.js → profile-DCNVg5yY.js} +2 -2
  90. package/studio/web/assets/{profile-DJ9V18dX.js.map → profile-DCNVg5yY.js.map} +1 -1
  91. package/studio/web/assets/{status-DKZUoEUd.js → status-CoGlcjSB.js} +2 -2
  92. package/studio/web/assets/{status-DKZUoEUd.js.map → status-CoGlcjSB.js.map} +1 -1
  93. package/studio/web/index.html +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harperfast/harper-pro",
3
- "version": "5.0.0-beta.5",
3
+ "version": "5.0.0-beta.7",
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",
@@ -112,17 +112,20 @@
112
112
  "cluster:hostname:local": "pushd utility/dev && docker compose -f docker-compose.hostname.yml --project-directory ../.. build && docker compose -f docker-compose.hostname.yml --project-directory ../.. up; popd",
113
113
  "cluster:hostname:latest": "pushd utility/dev && docker compose -f docker-compose.hostname.yml --project-directory ../.. pull && docker compose -f docker-compose.hostname.yml --project-directory ../.. up; popd"
114
114
  },
115
+ "exports": {
116
+ ".": "./dist/core/index.js"
117
+ },
115
118
  "dependencies": {
116
119
  "@aws-sdk/client-s3": "^3.1012.0",
117
120
  "@aws-sdk/lib-storage": "3.964.0",
118
- "@datadog/pprof": "^5.14.0",
121
+ "@datadog/pprof": "^5.14.1",
119
122
  "@endo/static-module-record": "^1.1.2",
120
123
  "@fastify/autoload": "^6.3.1",
121
124
  "@fastify/compress": "^8.3.1",
122
125
  "@fastify/cors": "^11.2.0",
123
126
  "@fastify/static": "^9.0.0",
124
127
  "@harperfast/extended-iterable": "^1.0.1",
125
- "@harperfast/rocksdb-js": "^0.1.13",
128
+ "@harperfast/rocksdb-js": "^0.1.14",
126
129
  "@turf/area": "6.5.0",
127
130
  "@turf/boolean-contains": "6.5.0",
128
131
  "@turf/boolean-disjoint": "6.5.0",
@@ -205,7 +208,7 @@
205
208
  "@types/sinon": "^17.0.4",
206
209
  "@types/tar-fs": "^2.0.4",
207
210
  "@typescript-eslint/parser": "^8.48.1",
208
- "axios": "^1.12.2",
211
+ "axios": "1.14.0",
209
212
  "chai": "^6.2.0",
210
213
  "chai-as-promised": "^8.0.2",
211
214
  "chai-integer": "^0.1.0",
@@ -8,7 +8,7 @@ import { pack, unpack } from 'msgpackr';
8
8
 
9
9
  const REMOTE_NODE_IDS = Symbol.for('remote-ids');
10
10
  function getIdMappingRecord(auditStore) {
11
- const idMappingRecordBuffer = auditStore.get(REMOTE_NODE_IDS);
11
+ const idMappingRecordBuffer = auditStore.getBinary(REMOTE_NODE_IDS);
12
12
  let idMappingRecord = idMappingRecordBuffer ? unpack(idMappingRecordBuffer) : null;
13
13
  if (!idMappingRecord) {
14
14
  idMappingRecord = { remoteNameToId: {} };
@@ -1558,10 +1558,15 @@ export function replicateOverWS(ws: WebSocket, options: any, authorization: Prom
1558
1558
  (blob) => receiveBlobs(blob, id)
1559
1559
  );
1560
1560
  } catch (error) {
1561
- error.message += ' record id: ' + id;
1562
- error.message += ' typed structures for current decoder' + JSON.stringify(tableDecoder.decoder.typedStructs);
1563
- error.message += ' structures for current decoder' + JSON.stringify(tableDecoder.decoder.structures);
1564
- throw error;
1561
+ logger.error?.(
1562
+ 'Error decoding replication message, record id: ' + id,
1563
+ ' typed structures for current decoder' + JSON.stringify(tableDecoder.decoder.typedStructs),
1564
+ ' structures for current decoder' + JSON.stringify(tableDecoder.decoder.structures),
1565
+ 'encoded message',
1566
+ auditRecord.encoded.subarray(0, 1000),
1567
+ auditRecord,
1568
+ error
1569
+ );
1565
1570
  }
1566
1571
  beginTxn = false;
1567
1572
  // TODO: Once it is committed, also record the localtime in the table with symbol metadata, so we can resume from that point
@@ -24,6 +24,9 @@ analytics:
24
24
  aggregatePeriod: 60
25
25
  replicate: false
26
26
  applications:
27
+ lockdown: freeze
28
+ containment: vm
29
+ dependencyContainment: auto
27
30
  allowedShellCommands:
28
31
  - npm
29
32
  - node