@harperfast/harper 5.2.0 → 5.2.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 (241) hide show
  1. package/bin/copyDb.ts +21 -4
  2. package/bin/harper.ts +20 -51
  3. package/bin/help.ts +216 -0
  4. package/components/Application.ts +236 -46
  5. package/components/ApplicationScope.ts +26 -0
  6. package/components/EntryHandler.ts +410 -105
  7. package/components/RuntimeModuleTracker.ts +189 -0
  8. package/components/Scope.ts +68 -24
  9. package/components/componentLoader.ts +70 -16
  10. package/components/deployLifecycle.ts +119 -33
  11. package/components/mcp/tools/operations.ts +6 -0
  12. package/components/operations.js +4 -6
  13. package/config/configUtils.ts +12 -9
  14. package/config-root.schema.json +10 -0
  15. package/dataLayer/harperBridge/ResourceBridge.ts +26 -5
  16. package/dataLayer/hdbInfoController.ts +8 -0
  17. package/dataLayer/schemaDescribe.ts +2 -1
  18. package/dist/bin/copyDb.js +13 -2
  19. package/dist/bin/copyDb.js.map +1 -1
  20. package/dist/bin/harper.d.ts +6 -0
  21. package/dist/bin/harper.js +18 -50
  22. package/dist/bin/harper.js.map +1 -1
  23. package/dist/bin/help.d.ts +8 -0
  24. package/dist/bin/help.js +192 -0
  25. package/dist/bin/help.js.map +1 -0
  26. package/dist/components/Application.d.ts +16 -1
  27. package/dist/components/Application.js +210 -38
  28. package/dist/components/Application.js.map +1 -1
  29. package/dist/components/ApplicationScope.d.ts +7 -0
  30. package/dist/components/ApplicationScope.js +22 -0
  31. package/dist/components/ApplicationScope.js.map +1 -1
  32. package/dist/components/EntryHandler.d.ts +4 -4
  33. package/dist/components/EntryHandler.js +386 -95
  34. package/dist/components/EntryHandler.js.map +1 -1
  35. package/dist/components/RuntimeModuleTracker.d.ts +11 -0
  36. package/dist/components/RuntimeModuleTracker.js +189 -0
  37. package/dist/components/RuntimeModuleTracker.js.map +1 -0
  38. package/dist/components/Scope.d.ts +1 -0
  39. package/dist/components/Scope.js +69 -22
  40. package/dist/components/Scope.js.map +1 -1
  41. package/dist/components/componentLoader.js +69 -10
  42. package/dist/components/componentLoader.js.map +1 -1
  43. package/dist/components/deployLifecycle.d.ts +6 -2
  44. package/dist/components/deployLifecycle.js +109 -31
  45. package/dist/components/deployLifecycle.js.map +1 -1
  46. package/dist/components/mcp/tools/operations.js +6 -0
  47. package/dist/components/mcp/tools/operations.js.map +1 -1
  48. package/dist/components/operations.js +4 -6
  49. package/dist/components/operations.js.map +1 -1
  50. package/dist/config/configUtils.js +13 -9
  51. package/dist/config/configUtils.js.map +1 -1
  52. package/dist/dataLayer/harperBridge/ResourceBridge.js +12 -5
  53. package/dist/dataLayer/harperBridge/ResourceBridge.js.map +1 -1
  54. package/dist/dataLayer/hdbInfoController.js +4 -0
  55. package/dist/dataLayer/hdbInfoController.js.map +1 -1
  56. package/dist/dataLayer/schemaDescribe.js +2 -1
  57. package/dist/dataLayer/schemaDescribe.js.map +1 -1
  58. package/dist/resources/DatabaseTransaction.d.ts +55 -0
  59. package/dist/resources/DatabaseTransaction.js +282 -103
  60. package/dist/resources/DatabaseTransaction.js.map +1 -1
  61. package/dist/resources/ResourceInterface.d.ts +8 -2
  62. package/dist/resources/ResourceInterface.js.map +1 -1
  63. package/dist/resources/Resources.js +22 -4
  64. package/dist/resources/Resources.js.map +1 -1
  65. package/dist/resources/Table.d.ts +6 -5
  66. package/dist/resources/Table.js +92 -15
  67. package/dist/resources/Table.js.map +1 -1
  68. package/dist/resources/analytics/write.js +6 -6
  69. package/dist/resources/analytics/write.js.map +1 -1
  70. package/dist/resources/blob.d.ts +0 -1
  71. package/dist/resources/blob.js +15 -7
  72. package/dist/resources/blob.js.map +1 -1
  73. package/dist/resources/databases.d.ts +22 -5
  74. package/dist/resources/databases.js +118 -9
  75. package/dist/resources/databases.js.map +1 -1
  76. package/dist/resources/jsResource.d.ts +4 -26
  77. package/dist/resources/jsResource.js +5 -59
  78. package/dist/resources/jsResource.js.map +1 -1
  79. package/dist/resources/models/Models.d.ts +11 -1
  80. package/dist/resources/models/Models.js +10 -1
  81. package/dist/resources/models/Models.js.map +1 -1
  82. package/dist/resources/models/backendRegistry.d.ts +9 -0
  83. package/dist/resources/models/backendRegistry.js +10 -0
  84. package/dist/resources/models/backendRegistry.js.map +1 -1
  85. package/dist/resources/models/openaiStream.d.ts +16 -1
  86. package/dist/resources/models/openaiStream.js +113 -21
  87. package/dist/resources/models/openaiStream.js.map +1 -1
  88. package/dist/resources/models/v1/chatCompletions.d.ts +54 -0
  89. package/dist/resources/models/v1/chatCompletions.js +115 -0
  90. package/dist/resources/models/v1/chatCompletions.js.map +1 -0
  91. package/dist/resources/models/v1/embeddings.d.ts +11 -0
  92. package/dist/resources/models/v1/embeddings.js +71 -0
  93. package/dist/resources/models/v1/embeddings.js.map +1 -0
  94. package/dist/resources/models/v1/errors.d.ts +54 -0
  95. package/dist/resources/models/v1/errors.js +130 -0
  96. package/dist/resources/models/v1/errors.js.map +1 -0
  97. package/dist/resources/models/v1/index.d.ts +36 -0
  98. package/dist/resources/models/v1/index.js +75 -0
  99. package/dist/resources/models/v1/index.js.map +1 -0
  100. package/dist/resources/models/v1/models.d.ts +26 -0
  101. package/dist/resources/models/v1/models.js +44 -0
  102. package/dist/resources/models/v1/models.js.map +1 -0
  103. package/dist/resources/models/v1/translation.d.ts +133 -0
  104. package/dist/resources/models/v1/translation.js +298 -0
  105. package/dist/resources/models/v1/translation.js.map +1 -0
  106. package/dist/resources/roles.d.ts +1 -1
  107. package/dist/resources/roles.js +54 -7
  108. package/dist/resources/roles.js.map +1 -1
  109. package/dist/security/jsLoader.js +84 -33
  110. package/dist/security/jsLoader.js.map +1 -1
  111. package/dist/security/role.js +4 -0
  112. package/dist/security/role.js.map +1 -1
  113. package/dist/security/superUserGuard.d.ts +7 -0
  114. package/dist/security/superUserGuard.js +23 -0
  115. package/dist/security/superUserGuard.js.map +1 -0
  116. package/dist/security/tokenAuthentication.d.ts +0 -1
  117. package/dist/security/tokenAuthentication.js +6 -2
  118. package/dist/security/tokenAuthentication.js.map +1 -1
  119. package/dist/security/user.d.ts +6 -1
  120. package/dist/security/user.js +23 -1
  121. package/dist/security/user.js.map +1 -1
  122. package/dist/server/http.d.ts +23 -2
  123. package/dist/server/http.js +99 -12
  124. package/dist/server/http.js.map +1 -1
  125. package/dist/server/operationsServer.d.ts +0 -2
  126. package/dist/server/operationsServer.js.map +1 -1
  127. package/dist/server/serverHelpers/multipartParser.js +9 -0
  128. package/dist/server/serverHelpers/multipartParser.js.map +1 -1
  129. package/dist/server/serverHelpers/operationAuthorizationState.d.ts +2 -0
  130. package/dist/server/serverHelpers/operationAuthorizationState.js +13 -0
  131. package/dist/server/serverHelpers/operationAuthorizationState.js.map +1 -0
  132. package/dist/server/serverHelpers/registeredOperations.d.ts +3 -2
  133. package/dist/server/serverHelpers/registeredOperations.js +14 -13
  134. package/dist/server/serverHelpers/registeredOperations.js.map +1 -1
  135. package/dist/server/serverHelpers/serverHandlers.js +19 -3
  136. package/dist/server/serverHelpers/serverHandlers.js.map +1 -1
  137. package/dist/server/serverHelpers/serverUtilities.d.ts +1 -1
  138. package/dist/server/serverHelpers/serverUtilities.js +10 -7
  139. package/dist/server/serverHelpers/serverUtilities.js.map +1 -1
  140. package/dist/server/static.js +57 -18
  141. package/dist/server/static.js.map +1 -1
  142. package/dist/server/storageReclamation.d.ts +17 -0
  143. package/dist/server/storageReclamation.js +90 -6
  144. package/dist/server/storageReclamation.js.map +1 -1
  145. package/dist/server/threads/socketRouter.js +20 -0
  146. package/dist/server/threads/socketRouter.js.map +1 -1
  147. package/dist/server/threads/threadServer.js +12 -0
  148. package/dist/server/threads/threadServer.js.map +1 -1
  149. package/dist/sqlEngine/diff/differential.js +7 -3
  150. package/dist/sqlEngine/diff/differential.js.map +1 -1
  151. package/dist/sqlTranslator/index.js +6 -1
  152. package/dist/sqlTranslator/index.js.map +1 -1
  153. package/dist/upgrade/upgradePrompt.d.ts +2 -2
  154. package/dist/upgrade/upgradePrompt.js +22 -3
  155. package/dist/upgrade/upgradePrompt.js.map +1 -1
  156. package/dist/utility/errors/commonErrors.d.ts +1 -0
  157. package/dist/utility/errors/commonErrors.js +1 -0
  158. package/dist/utility/errors/commonErrors.js.map +1 -1
  159. package/dist/utility/hdbTerms.d.ts +2 -0
  160. package/dist/utility/hdbTerms.js +2 -0
  161. package/dist/utility/hdbTerms.js.map +1 -1
  162. package/dist/utility/install/installer.js +32 -0
  163. package/dist/utility/install/installer.js.map +1 -1
  164. package/dist/utility/logging/harper_logger.d.ts +7 -0
  165. package/dist/utility/logging/harper_logger.js +57 -24
  166. package/dist/utility/logging/harper_logger.js.map +1 -1
  167. package/npm-shrinkwrap.json +197 -193
  168. package/package.json +9 -7
  169. package/resources/DatabaseTransaction.ts +310 -101
  170. package/resources/ResourceInterface.ts +8 -2
  171. package/resources/Resources.ts +22 -4
  172. package/resources/Table.ts +321 -243
  173. package/resources/analytics/write.ts +22 -20
  174. package/resources/blob.ts +15 -8
  175. package/resources/databases.ts +123 -12
  176. package/resources/jsResource.ts +5 -62
  177. package/resources/models/Models.ts +14 -1
  178. package/resources/models/backendRegistry.ts +10 -0
  179. package/resources/models/openaiStream.ts +131 -19
  180. package/resources/models/v1/chatCompletions.ts +128 -0
  181. package/resources/models/v1/embeddings.ts +70 -0
  182. package/resources/models/v1/errors.ts +141 -0
  183. package/resources/models/v1/index.ts +72 -0
  184. package/resources/models/v1/models.ts +53 -0
  185. package/resources/models/v1/translation.ts +362 -0
  186. package/resources/roles.ts +67 -7
  187. package/security/jsLoader.ts +84 -30
  188. package/security/role.ts +7 -0
  189. package/security/superUserGuard.ts +20 -0
  190. package/security/tokenAuthentication.ts +6 -3
  191. package/security/user.ts +26 -1
  192. package/server/DESIGN.md +45 -34
  193. package/server/http.ts +100 -13
  194. package/server/operationsServer.ts +0 -2
  195. package/server/serverHelpers/multipartParser.ts +9 -0
  196. package/server/serverHelpers/operationAuthorizationState.ts +11 -0
  197. package/server/serverHelpers/registeredOperations.ts +19 -15
  198. package/server/serverHelpers/serverHandlers.js +20 -3
  199. package/server/serverHelpers/serverUtilities.ts +10 -7
  200. package/server/static.ts +75 -20
  201. package/server/storageReclamation.ts +104 -8
  202. package/server/threads/socketRouter.ts +20 -0
  203. package/server/threads/threadServer.js +11 -0
  204. package/sqlTranslator/index.ts +6 -1
  205. package/static/defaultConfig.yaml +2 -0
  206. package/studio/web/assets/{Chat-DoVWScmq.js → Chat-aApwhRmz.js} +2 -2
  207. package/studio/web/assets/{Chat-DoVWScmq.js.map → Chat-aApwhRmz.js.map} +1 -1
  208. package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js → FloatingChat-sC0H91n9.js} +4 -4
  209. package/studio/web/assets/{FloatingChat-UZ2NsUOZ.js.map → FloatingChat-sC0H91n9.js.map} +1 -1
  210. package/studio/web/assets/{apiToken-BUI_04o7.js → apiToken-DZ8JhHOI.js} +2 -2
  211. package/studio/web/assets/{apiToken-BUI_04o7.js.map → apiToken-DZ8JhHOI.js.map} +1 -1
  212. package/studio/web/assets/{applications-D03NA7wW.js → applications-9SEVLIO5.js} +2 -2
  213. package/studio/web/assets/{applications-D03NA7wW.js.map → applications-9SEVLIO5.js.map} +1 -1
  214. package/studio/web/assets/{index-Bh_CNAHr.js → index-Dy3uDGXb.js} +6 -6
  215. package/studio/web/assets/{index-Bh_CNAHr.js.map → index-Dy3uDGXb.js.map} +1 -1
  216. package/studio/web/assets/{index.lazy-Dx3MpyDC.js → index.lazy-CN1zq4I4.js} +4 -4
  217. package/studio/web/assets/{index.lazy-Dx3MpyDC.js.map → index.lazy-CN1zq4I4.js.map} +1 -1
  218. package/studio/web/assets/{notifications-0edoFTsb.js → notifications-BFAF07xr.js} +2 -2
  219. package/studio/web/assets/{notifications-0edoFTsb.js.map → notifications-BFAF07xr.js.map} +1 -1
  220. package/studio/web/assets/{notifications-CwKhipK7.js → notifications-CKlYVvVN.js} +2 -2
  221. package/studio/web/assets/{notifications-CwKhipK7.js.map → notifications-CKlYVvVN.js.map} +1 -1
  222. package/studio/web/assets/{profile-DUfEPQtx.js → profile-A1zhEdFG.js} +2 -2
  223. package/studio/web/assets/{profile-DUfEPQtx.js.map → profile-A1zhEdFG.js.map} +1 -1
  224. package/studio/web/assets/{setComponentFile-DMPo4UjC.js → setComponentFile-SEtBt_GV.js} +2 -2
  225. package/studio/web/assets/{setComponentFile-DMPo4UjC.js.map → setComponentFile-SEtBt_GV.js.map} +1 -1
  226. package/studio/web/assets/{setup-B56Oz1_u.js → setup-BisINqdH.js} +2 -2
  227. package/studio/web/assets/{setup-B56Oz1_u.js.map → setup-BisINqdH.js.map} +1 -1
  228. package/studio/web/assets/{status-BAod7p3o.js → status-BuQoCc7l.js} +2 -2
  229. package/studio/web/assets/{status-BAod7p3o.js.map → status-BuQoCc7l.js.map} +1 -1
  230. package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js → swagger-ui-react-CAi_s1PC.js} +2 -2
  231. package/studio/web/assets/{swagger-ui-react-lQrBxfwM.js.map → swagger-ui-react-CAi_s1PC.js.map} +1 -1
  232. package/studio/web/assets/{tsMode-CrHCRjTK.js → tsMode-DT74tlkM.js} +2 -2
  233. package/studio/web/assets/{tsMode-CrHCRjTK.js.map → tsMode-DT74tlkM.js.map} +1 -1
  234. package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js → useEntityRestURL-CGRGc1n7.js} +2 -2
  235. package/studio/web/assets/{useEntityRestURL-DoaBMEvU.js.map → useEntityRestURL-CGRGc1n7.js.map} +1 -1
  236. package/studio/web/index.html +1 -1
  237. package/upgrade/upgradePrompt.ts +22 -3
  238. package/utility/errors/commonErrors.ts +2 -0
  239. package/utility/hdbTerms.ts +2 -0
  240. package/utility/install/installer.ts +37 -0
  241. package/utility/logging/harper_logger.ts +57 -26
@@ -40,6 +40,9 @@ exports.Application = exports.GIT_CREDENTIAL_HELPER_PATH = exports.ASIDE_STAGING
40
40
  exports.assertApplicationConfig = assertApplicationConfig;
41
41
  exports.isSSHAuthFailure = isSSHAuthFailure;
42
42
  exports.parseGitReference = parseGitReference;
43
+ exports.readInstalledPackageMetadata = readInstalledPackageMetadata;
44
+ exports.installedPackageMetadataEqual = installedPackageMetadataEqual;
45
+ exports.installedRuntimeChanged = installedRuntimeChanged;
43
46
  exports.extractApplication = extractApplication;
44
47
  exports.installApplication = installApplication;
45
48
  exports.derivePackageIdentifier = derivePackageIdentifier;
@@ -410,6 +413,82 @@ const MAX_INSTALL_COMMANDS = 2;
410
413
  // The credential helper git executes for a private git-reference deploy. It ships alongside this
411
414
  // module (both in source and in dist), holds no secret, and is inert without a live session.
412
415
  exports.GIT_CREDENTIAL_HELPER_PATH = (0, node_path_1.join)(__dirname, 'gitCredentialHelper.js');
416
+ const PACKAGE_LOCK_FILES = [
417
+ 'package-lock.json',
418
+ 'npm-shrinkwrap.json',
419
+ 'pnpm-lock.yaml',
420
+ 'yarn.lock',
421
+ 'bun.lock',
422
+ 'bun.lockb',
423
+ ];
424
+ async function readInstalledPackageMetadata(directory) {
425
+ const files = new Map();
426
+ let readable = true;
427
+ let packageJSON;
428
+ await Promise.all([
429
+ (async () => {
430
+ try {
431
+ const contents = await (0, promises_1.readFile)((0, node_path_1.join)(directory, 'package.json'));
432
+ try {
433
+ packageJSON = JSON.parse(contents.toString());
434
+ files.set('package.json', Buffer.from(JSON.stringify(canonicalizeJSON(packageJSON))));
435
+ }
436
+ catch {
437
+ files.set('package.json', contents);
438
+ }
439
+ }
440
+ catch (error) {
441
+ if (error.code !== 'ENOENT')
442
+ readable = false;
443
+ }
444
+ })(),
445
+ ...PACKAGE_LOCK_FILES.map(async (filename) => {
446
+ try {
447
+ files.set(filename, await (0, promises_1.readFile)((0, node_path_1.join)(directory, filename)));
448
+ }
449
+ catch (error) {
450
+ if (error.code !== 'ENOENT')
451
+ readable = false;
452
+ }
453
+ }),
454
+ ]);
455
+ return {
456
+ files,
457
+ readable,
458
+ hasLockfile: PACKAGE_LOCK_FILES.some((filename) => files.has(filename)),
459
+ hasInstallableDependencies: ['dependencies', 'devDependencies', 'optionalDependencies', 'peerDependencies'].some((field) => {
460
+ const dependencies = packageJSON?.[field];
461
+ return (typeof dependencies === 'object' &&
462
+ dependencies !== null &&
463
+ !Array.isArray(dependencies) &&
464
+ Object.keys(dependencies).length > 0);
465
+ }),
466
+ };
467
+ }
468
+ function installedPackageMetadataEqual(previous, current) {
469
+ if (!previous.readable || !current.readable || previous.files.size !== current.files.size)
470
+ return false;
471
+ for (const [filename, contents] of previous.files) {
472
+ if (!current.files.get(filename)?.equals(contents))
473
+ return false;
474
+ }
475
+ return true;
476
+ }
477
+ function installedRuntimeChanged(previous, current, installationIsOpaque) {
478
+ return (installationIsOpaque ||
479
+ (current.hasInstallableDependencies && !current.hasLockfile) ||
480
+ !installedPackageMetadataEqual(previous, current));
481
+ }
482
+ function canonicalizeJSON(value) {
483
+ if (Array.isArray(value))
484
+ return value.map(canonicalizeJSON);
485
+ if (!value || typeof value !== 'object')
486
+ return value;
487
+ const canonical = Object.create(null);
488
+ for (const key of Object.keys(value).sort())
489
+ canonical[key] = canonicalizeJSON(value[key]);
490
+ return canonical;
491
+ }
413
492
  /**
414
493
  * Extract an application given payload (content of the application) or package (npm-compatible identifier to the application).
415
494
  *
@@ -420,7 +499,7 @@ exports.GIT_CREDENTIAL_HELPER_PATH = (0, node_path_1.join)(__dirname, 'gitCreden
420
499
  * This method may be called from any Harper thread. Same-component calls are serialized across
421
500
  * threads by the preparation lock below.
422
501
  */
423
- async function extractApplication(application) {
502
+ async function extractApplication(application, deferCommit = false) {
424
503
  // Can't specify neither
425
504
  if (!application.payload && !application.packageIdentifier) {
426
505
  throw new Error('Either payload or package must be provided');
@@ -498,6 +577,8 @@ async function extractApplication(application) {
498
577
  // not have, so this gates the pack step regardless of whether a credential happens to be in
499
578
  // play.
500
579
  const allowScripts = !!application.install?.allowInstallScripts;
580
+ if (allowScripts)
581
+ application.installationIsOpaque = true;
501
582
  // `--ignore-scripts` alone isn't a reliable way to enforce that: pacote's DirFetcher runs a
502
583
  // git source's `prepare` unconditionally on npm versions before 11.0.0 (see
503
584
  // packGitReferenceWithoutScripts), which is exactly what Node 22's bundled npm ships. For a
@@ -547,12 +628,13 @@ async function extractApplication(application) {
547
628
  // component, and the per-component path means a sibling component never collides
548
629
  // with (or sweeps) another's aside.
549
630
  const asideStagingDir = (0, node_path_1.join)((0, node_path_1.dirname)(application.dirPath), exports.ASIDE_STAGING_DIR, (0, node_path_1.basename)(application.dirPath));
550
- let didRenameAside = false;
631
+ let asidePath;
551
632
  try {
552
633
  await (0, promises_1.access)(application.dirPath, promises_1.constants.F_OK);
553
634
  await (0, promises_1.mkdir)(asideStagingDir, { recursive: true });
554
- await (0, promises_1.rename)(application.dirPath, (0, node_path_1.join)(asideStagingDir, `${process.pid}-${Date.now()}-${(0, node_crypto_1.randomUUID)()}`));
555
- didRenameAside = true;
635
+ const candidateAsidePath = (0, node_path_1.join)(asideStagingDir, `${process.pid}-${Date.now()}-${(0, node_crypto_1.randomUUID)()}`);
636
+ await (0, promises_1.rename)(application.dirPath, candidateAsidePath);
637
+ asidePath = candidateAsidePath;
556
638
  }
557
639
  catch (err) {
558
640
  // Ignore does not exist error
@@ -562,31 +644,34 @@ async function extractApplication(application) {
562
644
  }
563
645
  // A directory existed for this component name prior to this deploy, so this is a redeploy of
564
646
  // an already-active component rather than a first-time deploy. See `isNewComponent` above.
565
- if (didRenameAside)
647
+ if (asidePath)
566
648
  application.isNewComponent = false;
567
- // Finally, create the application directory fresh
568
- await (0, promises_1.mkdir)(application.dirPath, { recursive: true });
569
- // Now pipeline the tarball into maybe-gunzip then tar-fs to reliably decompress and extract the contents
570
- await (0, promises_2.pipeline)(tarball, (0, gunzip_maybe_1.default)(), (0, tar_fs_1.extract)(application.dirPath));
571
- // If the extracted directory contains a single folder, move the contents up one level
572
- // The `npm pack` command does this (the top-level folder is called "package")
573
- // Other packing tools may have similar behavior, but the directory name is not guaranteed.
574
- const extracted = await (0, promises_1.readdir)(application.dirPath, { withFileTypes: true });
575
- if (extracted.length === 1 && extracted[0].isDirectory()) {
576
- const topLevelDirPath = (0, node_path_1.join)(application.dirPath, extracted[0].name);
577
- const tempDirPath = await (0, promises_1.mkdtemp)(application.dirPath);
578
- // Copy contents of top-level directory to temp directory (in order to avoid collisions of top-level directory name and one of the contents)
579
- await (0, promises_1.cp)(topLevelDirPath, tempDirPath, { recursive: true });
580
- // Remove top-level directory
581
- await (0, promises_1.rm)(topLevelDirPath, { recursive: true, force: true });
582
- // Copy contents of temp directory to application directory
583
- await (0, promises_1.cp)(tempDirPath, application.dirPath, { recursive: true });
584
- // Finally, remove the temp dir
585
- await (0, promises_1.rm)(tempDirPath, { recursive: true, force: true });
649
+ try {
650
+ await (0, promises_1.mkdir)(application.dirPath, { recursive: true });
651
+ await (0, promises_2.pipeline)(tarball, (0, gunzip_maybe_1.default)(), (0, tar_fs_1.extract)(application.dirPath));
652
+ const extracted = await (0, promises_1.readdir)(application.dirPath, { withFileTypes: true });
653
+ if (extracted.length === 1 && extracted[0].isDirectory()) {
654
+ const topLevelDirPath = (0, node_path_1.join)(application.dirPath, extracted[0].name);
655
+ await (0, promises_1.mkdir)(asideStagingDir, { recursive: true });
656
+ const tempDirPath = await (0, promises_1.mkdtemp)((0, node_path_1.join)(asideStagingDir, '.normalize-'));
657
+ await (0, promises_1.cp)(topLevelDirPath, tempDirPath, { recursive: true });
658
+ await (0, promises_1.rm)(topLevelDirPath, { recursive: true, force: true });
659
+ await (0, promises_1.cp)(tempDirPath, application.dirPath, { recursive: true });
660
+ await (0, promises_1.rm)(tempDirPath, { recursive: true, force: true });
661
+ }
662
+ }
663
+ catch (error) {
664
+ try {
665
+ await rollbackExtractedDirectory(application, asideStagingDir, asidePath);
666
+ }
667
+ catch (rollbackError) {
668
+ throw new AggregateError([error, rollbackError], `Failed to extract ${application.name} and restore its previous component directory`);
669
+ }
670
+ throw error;
586
671
  }
587
672
  // Clean up the original tarball
588
673
  if (shouldDeleteTarball && tarballPath) {
589
- await (0, promises_1.rm)(tarballPath, { force: true });
674
+ await (0, promises_1.rm)(tarballPath, { force: true }).catch((error) => application.logger.warn(`Failed to remove temporary package ${tarballPath}:`, error));
590
675
  }
591
676
  // Remove this component's aside copies. The old worker may still hold files open
592
677
  // in the just-renamed copy (the live writer that motivated the rename), so this is
@@ -594,10 +679,79 @@ async function extractApplication(application) {
594
679
  // earlier deploys whose workers have since exited, and a copy that survives because
595
680
  // its worker is still live is swept by the next deploy. The failure is expected in
596
681
  // the live-worker case, so it's logged at trace rather than as a warning.
597
- if (didRenameAside) {
598
- (0, promises_1.rm)(asideStagingDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 }).catch((err) => harper_logger_ts_1.default.trace?.(`Deferred cleanup of previous ${application.name} component directory: ${err.message}`));
682
+ let settled = false;
683
+ const transaction = {
684
+ async commit() {
685
+ if (settled)
686
+ return;
687
+ settled = true;
688
+ await cleanupExtractionStaging(application, asideStagingDir);
689
+ },
690
+ async rollback() {
691
+ if (settled)
692
+ return;
693
+ settled = true;
694
+ await rollbackExtractedDirectory(application, asideStagingDir, asidePath);
695
+ },
696
+ };
697
+ if (deferCommit)
698
+ return transaction;
699
+ await transaction.commit();
700
+ }
701
+ async function cleanupExtractionStaging(application, asideStagingDir) {
702
+ try {
703
+ await (0, promises_1.rm)(asideStagingDir, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 });
704
+ }
705
+ catch (error) {
706
+ harper_logger_ts_1.default.trace?.(`Cleanup of previous ${application.name} component directory deferred: ${error.message}`);
599
707
  }
600
708
  }
709
+ async function rollbackExtractedDirectory(application, asideStagingDir, asidePath) {
710
+ await (0, promises_1.mkdir)(asideStagingDir, { recursive: true });
711
+ const retryableRenameCodes = new Set(['EEXIST', 'ENOTEMPTY', 'EPERM', 'EACCES', 'EBUSY']);
712
+ const displaceCurrentDirectory = async () => {
713
+ const displacedPath = (0, node_path_1.join)(asideStagingDir, `.failed-${process.pid}-${Date.now()}-${(0, node_crypto_1.randomUUID)()}`);
714
+ let lastError;
715
+ for (let attempt = 0; attempt < 100; attempt++) {
716
+ try {
717
+ await (0, promises_1.rename)(application.dirPath, displacedPath);
718
+ return;
719
+ }
720
+ catch (error) {
721
+ const code = error.code;
722
+ if (code === 'ENOENT')
723
+ return;
724
+ if (!retryableRenameCodes.has(code ?? ''))
725
+ throw error;
726
+ lastError = error;
727
+ await (0, promises_3.setTimeout)(10);
728
+ }
729
+ }
730
+ throw lastError;
731
+ };
732
+ await displaceCurrentDirectory();
733
+ if (asidePath) {
734
+ let restored = false;
735
+ let restoreError;
736
+ for (let attempt = 0; attempt < 100; attempt++) {
737
+ try {
738
+ await (0, promises_1.rename)(asidePath, application.dirPath);
739
+ restored = true;
740
+ break;
741
+ }
742
+ catch (error) {
743
+ restoreError = error;
744
+ if (!retryableRenameCodes.has(error.code ?? ''))
745
+ break;
746
+ await displaceCurrentDirectory();
747
+ await (0, promises_3.setTimeout)(10);
748
+ }
749
+ }
750
+ if (!restored)
751
+ throw restoreError;
752
+ }
753
+ await cleanupExtractionStaging(application, asideStagingDir);
754
+ }
601
755
  /**
602
756
  * Install an application to its relative `application.dirPath` using either a
603
757
  * configured `application.install` command, a derived package manager from the
@@ -623,7 +777,8 @@ async function installApplication(application) {
623
777
  try {
624
778
  // Does node_modules exist?
625
779
  await (0, promises_1.access)((0, node_path_1.join)(application.dirPath, 'node_modules'), promises_1.constants.F_OK);
626
- application.logger.info(`Application ${application.name} already has node_modules; skipping install`);
780
+ application.logger.info(`Application ${application.name} already has node_modules; skipping install and treating the runtime as opaque for redeploy comparison`);
781
+ application.installationIsOpaque = true;
627
782
  return;
628
783
  }
629
784
  catch (err) {
@@ -640,6 +795,7 @@ async function installApplication(application) {
640
795
  const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, command, args, application.dirPath, application.install?.timeout, customOnLine, application.npmUserconfigPath);
641
796
  // if it succeeds, return
642
797
  if (code === 0) {
798
+ application.installationIsOpaque = true;
643
799
  return;
644
800
  }
645
801
  if (stdout) {
@@ -681,6 +837,8 @@ async function installApplication(application) {
681
837
  application.dirPath, application.install?.timeout, pmOnLine, application.npmUserconfigPath);
682
838
  // if it succeeds, return
683
839
  if (code === 0) {
840
+ if (application.install?.allowInstallScripts)
841
+ application.installationIsOpaque = true;
684
842
  return;
685
843
  }
686
844
  // Otherwise handle failure case based on `onFail` value
@@ -717,6 +875,8 @@ async function installApplication(application) {
717
875
  const { stdout, stderr, code } = await nonInteractiveSpawn(application.name, (application.packageManagerPrefix ? application.packageManagerPrefix + ' ' : '') + 'npm', npmInstallArgs, application.dirPath, application.install?.timeout, npmOnLine, application.npmUserconfigPath);
718
876
  // if it succeeds, return
719
877
  if (code === 0) {
878
+ if (application.install?.allowInstallScripts)
879
+ application.installationIsOpaque = true;
720
880
  return;
721
881
  }
722
882
  // Otherwise, print the stdout and stderr outputs
@@ -750,14 +910,10 @@ class Application {
750
910
  npmUserconfigPath;
751
911
  #npmrcTempDir;
752
912
  #gitCredentialSession;
753
- // Whether this component's directory did not already exist when extractApplication ran
754
- // i.e. this deploy is the component's first, as opposed to a redeploy of something already
755
- // active. Defaults true and is flipped to false by extractApplication when it finds (and
756
- // renames aside) a pre-existing directory for this component name. Used by deployComponent to
757
- // scope its unconditional requestRestart() call to genuinely new components (harper#1806):
758
- // an existing, already-loaded component already has a live file watcher (Scope/EntryHandler)
759
- // that independently requests a restart if the redeploy actually needs one.
913
+ // Existing components rely on their runtime-equivalence checks; only a first deploy restarts unconditionally.
760
914
  isNewComponent = true;
915
+ packageMetadataChanged = false;
916
+ installationIsOpaque = false;
761
917
  constructor({ name, payload, packageIdentifier, install, onInstallLine, credentials }) {
762
918
  this.name = name;
763
919
  this.payload = payload;
@@ -906,10 +1062,12 @@ function derivePackageIdentifier(packageIdentifier) {
906
1062
  * @returns A promise that resolves when all preparation steps complete.
907
1063
  */
908
1064
  async function prepareApplication(application) {
909
- await (0, deployLifecycle_ts_1.broadcastDeployStart)(application.name);
1065
+ const deploymentId = await (0, deployLifecycle_ts_1.broadcastDeployStart)(application.name);
910
1066
  try {
911
1067
  const commandTimeoutMs = application.install?.timeout ?? DEFAULT_COMMAND_TIMEOUT_MS;
912
1068
  await (0, componentPreparationLock_ts_1.withComponentPreparationLock)(application.dirPath, async () => {
1069
+ const previousPackageMetadata = await readInstalledPackageMetadata(application.dirPath);
1070
+ let extraction;
913
1071
  try {
914
1072
  // Materialize the per-deploy `.npmrc` before extraction so both `npm pack` (extract) and
915
1073
  // `npm install` authenticate against the private registry; always remove it afterward.
@@ -920,12 +1078,26 @@ async function prepareApplication(application) {
920
1078
  // already gone by the time the component's dependency tree (and any install script it is
921
1079
  // allowed to run) executes.
922
1080
  await application.startGitCredentialSession();
923
- await extractApplication(application);
1081
+ extraction = await extractApplication(application, true);
924
1082
  }
925
1083
  finally {
926
1084
  await application.cleanupGitCredentialSession();
927
1085
  }
928
1086
  await installApplication(application);
1087
+ if (!application.isNewComponent) {
1088
+ const currentPackageMetadata = await readInstalledPackageMetadata(application.dirPath);
1089
+ application.packageMetadataChanged = installedRuntimeChanged(previousPackageMetadata, currentPackageMetadata, application.installationIsOpaque);
1090
+ }
1091
+ await extraction?.commit();
1092
+ }
1093
+ catch (error) {
1094
+ try {
1095
+ await extraction?.rollback();
1096
+ }
1097
+ catch (rollbackError) {
1098
+ throw new AggregateError([error, rollbackError], `Failed to prepare ${application.name} and restore its previous component directory`);
1099
+ }
1100
+ throw error;
929
1101
  }
930
1102
  finally {
931
1103
  await application.cleanupTransientNpmrc();
@@ -944,7 +1116,7 @@ async function prepareApplication(application) {
944
1116
  });
945
1117
  }
946
1118
  finally {
947
- (0, deployLifecycle_ts_1.broadcastDeployEnd)(application.name);
1119
+ (0, deployLifecycle_ts_1.broadcastDeployEnd)(application.name, deploymentId);
948
1120
  }
949
1121
  }
950
1122
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../components/Application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Application.js","sourceRoot":"","sources":["../../components/Application.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ export declare class MissingDefaultFilesOptionError extends Error {
7
7
  * This class is used to represent the application scope for the VM context used for loading modules within an application
8
8
  */
9
9
  export declare class ApplicationScope {
10
+ #private;
10
11
  /** Component identity (application directory name) — what secret grants are matched against. */
11
12
  name: string;
12
13
  logger: any;
@@ -15,6 +16,7 @@ export declare class ApplicationScope {
15
16
  mode?: 'native' | 'vm' | 'vm-current-context' | 'compartment';
16
17
  dependencyLoader?: 'native' | 'app' | 'auto';
17
18
  allowedPath?: string;
19
+ runtimeRoot?: string;
18
20
  config: any;
19
21
  moduleCache: any;
20
22
  constructor(name: string, resources: Resources, server: Server, isInternal?: boolean);
@@ -28,4 +30,9 @@ export declare class ApplicationScope {
28
30
  * @returns A promise that resolves with the imported module or value.
29
31
  */
30
32
  import(filePath: string): Promise<unknown>;
33
+ recordLoadedModule(moduleUrl: string, source: string | Buffer): void;
34
+ recordModuleResolution(specifier: string, referrer: string, resolvedUrl: string): void;
35
+ markNativeRuntime(): void;
36
+ beginDeploy(): void;
37
+ finishDeploy(): Promise<boolean>;
31
38
  }