@tearleads/client-sdk 0.1.61 → 0.1.63

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 (1196) hide show
  1. package/client/containerContents/documentDiscovery.js +5 -5
  2. package/client/containerContents/documentDiscovery.js.map +1 -1
  3. package/client/containerContents/index.d.ts +7 -7
  4. package/client/containerContents/index.js +7 -7
  5. package/client/containerContents/index.js.map +1 -1
  6. package/client/containerContents/types.d.ts +6 -6
  7. package/client/containerContents/types.js.map +1 -1
  8. package/client/deviceFirst/index.js +2 -2
  9. package/client/deviceFirst/index.js.map +1 -1
  10. package/client/organizations/currentPrincipalMutations.js +5 -5
  11. package/client/organizations/currentPrincipalMutations.js.map +1 -1
  12. package/client/organizations/organizationDataUsage.js +1 -1
  13. package/client/organizations/organizationDataUsage.js.map +1 -1
  14. package/client/organizations/organizationGroupHistory.js +1 -1
  15. package/client/organizations/organizationGroupHistory.js.map +1 -1
  16. package/client/organizations/organizationGroupNameHydration.js +3 -3
  17. package/client/organizations/organizationGroupNameHydration.js.map +1 -1
  18. package/client/organizations/organizationHistory.js +2 -2
  19. package/client/organizations/organizationHistory.js.map +1 -1
  20. package/client/organizations/organizationReadModels.js +1 -1
  21. package/client/organizations/organizationReadModels.js.map +1 -1
  22. package/client/organizations/principalContainerMutations.js +1 -1
  23. package/client/organizations/principalContainerMutations.js.map +1 -1
  24. package/client/organizations/principalMutationRecovery.js.map +1 -1
  25. package/client/organizations/principalMutations.js +5 -5
  26. package/client/organizations/principalMutations.js.map +1 -1
  27. package/client/runtime/principalMutationApi.d.ts +1 -1
  28. package/client/runtime/principalMutationApi.js +2 -2
  29. package/client/runtime/principalMutationApi.js.map +1 -1
  30. package/client/runtime/principalMutationDispatch.js +1 -1
  31. package/client/runtime/principalMutationDispatch.js.map +1 -1
  32. package/client/session/index.js +1 -1
  33. package/client/session/index.js.map +1 -1
  34. package/client/session/sessionOrganizationCreation.js +1 -1
  35. package/client/session/sessionOrganizationCreation.js.map +1 -1
  36. package/client/session/sessionPurgeRecovery.js +2 -2
  37. package/client/session/sessionPurgeRecovery.js.map +1 -1
  38. package/package.json +1 -1
  39. package/stores/container-contents/containerStatePersistence.js +1 -1
  40. package/stores/container-contents/documentRecovery.js +2 -2
  41. package/stores/container-contents/documentRecovery.js.map +1 -1
  42. package/stores/container-contents/documentWork.js.map +1 -1
  43. package/stores/container-contents/localRefresh.js +2 -2
  44. package/stores/container-contents/localRefresh.js.map +1 -1
  45. package/stores/container-contents/operations.js +2 -2
  46. package/stores/container-contents/operations.js.map +1 -1
  47. package/stores/container-contents/remoteContainerIngestion.js +1 -1
  48. package/stores/container-contents/remoteEventSync.js +1 -1
  49. package/stores/container-contents/remoteHydrationRequest.js +1 -1
  50. package/stores/container-contents/setContainerIconOperation.js +2 -2
  51. package/stores/container-contents/setContainerIconOperation.js.map +1 -1
  52. package/stores/container-contents/shareOperations.js +1 -1
  53. package/stores/container-contents/startupHydration.js +1 -1
  54. package/stores/container-contents/syncAgent.d.ts +2 -2
  55. package/stores/container-contents/syncAgentTypes.d.ts +1 -1
  56. package/stores/container-contents/syncLaneIteration.js +2 -2
  57. package/stores/container-contents/syncLaneIteration.js.map +1 -1
  58. package/stores/container-contents/systemContainerIcon.js +1 -1
  59. package/stores/container-contents/systemContainerIcon.js.map +1 -1
  60. package/stores/documents/documentStore/attachmentHydrationCommit.js +1 -1
  61. package/stores/documents/documentStore/attachmentHydrationCommit.js.map +1 -1
  62. package/stores/documents/documentStore/attachmentUploadAttempt.js +1 -1
  63. package/stores/documents/documentStore/syncRemoteSignals.js +1 -1
  64. package/stores/documents/documentStore/syncRemoteSignals.js.map +1 -1
  65. package/stores/documents/documentStore/syncShared.js +1 -1
  66. package/stores/documents/documentStore/syncShared.js.map +1 -1
  67. package/workflows/blobs/detach.js +1 -1
  68. package/workflows/blobs/detach.js.map +1 -1
  69. package/workflows/blobs/hydration/blobChunkDecryption.js +34 -0
  70. package/workflows/blobs/hydration/blobChunkDecryption.js.map +1 -0
  71. package/workflows/blobs/hydration/decrypt.d.ts +12 -0
  72. package/workflows/blobs/hydration/decrypt.js +246 -0
  73. package/workflows/blobs/hydration/decrypt.js.map +1 -0
  74. package/workflows/blobs/hydration/hydrate.d.ts +56 -0
  75. package/workflows/blobs/hydration/hydrate.js +190 -0
  76. package/workflows/blobs/hydration/hydrate.js.map +1 -0
  77. package/workflows/blobs/hydration/hydrationResults.js +23 -0
  78. package/workflows/blobs/hydration/hydrationResults.js.map +1 -0
  79. package/workflows/blobs/index.d.ts +3 -3
  80. package/workflows/blobs/index.js +3 -3
  81. package/workflows/blobs/index.js.map +1 -1
  82. package/workflows/blobs/upload/automaticMultipartUpload.js +9 -0
  83. package/workflows/blobs/upload/automaticMultipartUpload.js.map +1 -0
  84. package/workflows/blobs/upload/index.d.ts +10 -0
  85. package/workflows/blobs/upload/index.js +243 -0
  86. package/workflows/blobs/upload/index.js.map +1 -0
  87. package/workflows/blobs/upload/multipartFirstParts.js +82 -0
  88. package/workflows/blobs/upload/multipartFirstParts.js.map +1 -0
  89. package/workflows/blobs/upload/multipartStageFailures.js +36 -0
  90. package/workflows/blobs/upload/multipartStageFailures.js.map +1 -0
  91. package/workflows/blobs/upload/multipartStageResolution.js.map +1 -0
  92. package/workflows/blobs/upload/multipartUpload.js +274 -0
  93. package/workflows/blobs/upload/multipartUpload.js.map +1 -0
  94. package/workflows/blobs/verification/attachmentBindingVerification.js +49 -0
  95. package/workflows/blobs/verification/attachmentBindingVerification.js.map +1 -0
  96. package/workflows/blobs/verification/attachmentDecryptor.js +41 -0
  97. package/workflows/blobs/verification/attachmentDecryptor.js.map +1 -0
  98. package/workflows/blobs/verification/attachmentKeyAuthenticator.js +68 -0
  99. package/workflows/blobs/verification/attachmentKeyAuthenticator.js.map +1 -0
  100. package/workflows/blobs/verification/retainedAttachmentVerification.js +40 -0
  101. package/workflows/blobs/verification/retainedAttachmentVerification.js.map +1 -0
  102. package/workflows/blobs/verification/verifiedWrapScope.js +20 -0
  103. package/workflows/blobs/verification/verifiedWrapScope.js.map +1 -0
  104. package/workflows/blobs/verification/writerProjection.js +29 -0
  105. package/workflows/blobs/verification/writerProjection.js.map +1 -0
  106. package/workflows/container-contents/attribution/documentAttributionRanges.d.ts +26 -0
  107. package/workflows/container-contents/attribution/documentCharacterBlame.js +33 -0
  108. package/workflows/container-contents/attribution/documentCharacterBlame.js.map +1 -0
  109. package/workflows/container-contents/attribution/documentFieldBlame.js +26 -0
  110. package/workflows/container-contents/attribution/documentFieldBlame.js.map +1 -0
  111. package/workflows/container-contents/container-state/createIntentSync.js +1 -1
  112. package/workflows/container-contents/container-state/createIntentSync.js.map +1 -1
  113. package/workflows/container-contents/container-state/moveIntentSync.js +1 -1
  114. package/workflows/container-contents/container-state/moveIntentSync.js.map +1 -1
  115. package/workflows/container-contents/container-state/purgeTree.js +2 -2
  116. package/workflows/container-contents/container-state/purgeTree.js.map +1 -1
  117. package/workflows/container-contents/container-state/purgeTreeContainerDeletion.js.map +1 -1
  118. package/workflows/container-contents/container-state/remote.js +1 -1
  119. package/workflows/container-contents/container-state/remote.js.map +1 -1
  120. package/workflows/container-contents/container-state/sharePersistence.js +2 -2
  121. package/workflows/container-contents/container-state/sharePersistence.js.map +1 -1
  122. package/workflows/container-contents/documentDiscovery/containerDocumentListing.js +106 -0
  123. package/workflows/container-contents/documentDiscovery/documentDiscoveryApply.js +65 -0
  124. package/workflows/container-contents/documentDiscovery/documentDiscoveryApply.js.map +1 -0
  125. package/workflows/container-contents/documentDiscovery/documentDiscoveryCandidates.js.map +1 -0
  126. package/workflows/container-contents/documentDiscovery/documentDiscoveryEvidence.js +91 -0
  127. package/workflows/container-contents/documentDiscovery/documentDiscoveryEvidence.js.map +1 -0
  128. package/workflows/container-contents/documentDiscovery/documentDiscoveryInputs.js +85 -0
  129. package/workflows/container-contents/documentDiscovery/documentDiscoveryInputs.js.map +1 -0
  130. package/workflows/container-contents/documentDiscovery/documentDiscoveryLanes.js.map +1 -0
  131. package/workflows/container-contents/documentDiscovery/documentDiscoveryTypes.d.ts +160 -0
  132. package/workflows/container-contents/documentDiscovery/documentDiscoveryTypes.js.map +1 -0
  133. package/workflows/container-contents/documentDiscovery/index.d.ts +12 -0
  134. package/workflows/container-contents/documentDiscovery/index.js +183 -0
  135. package/workflows/container-contents/documentDiscovery/index.js.map +1 -0
  136. package/workflows/container-contents/documentLinks/availableDocumentLinkIntent.js +32 -0
  137. package/workflows/container-contents/documentLinks/availableDocumentLinkIntent.js.map +1 -0
  138. package/workflows/container-contents/documentLinks/deferredDocumentLinks.js +9 -0
  139. package/workflows/container-contents/documentLinks/deferredDocumentLinks.js.map +1 -0
  140. package/workflows/container-contents/documentLinks/documentLinkIntent.js +82 -0
  141. package/workflows/container-contents/documentLinks/documentLinkIntent.js.map +1 -0
  142. package/workflows/container-contents/documentLinks/documentLocalRelink.js.map +1 -0
  143. package/workflows/container-contents/documentLinks/index.d.ts +64 -0
  144. package/workflows/container-contents/documentLinks/index.js +264 -0
  145. package/workflows/container-contents/documentLinks/index.js.map +1 -0
  146. package/workflows/container-contents/documentMove/documentMoveDeniedReplay.js.map +1 -0
  147. package/workflows/container-contents/documentMove/documentMoveFailure.js +35 -0
  148. package/workflows/container-contents/documentMove/documentMoveFailure.js.map +1 -0
  149. package/workflows/container-contents/documentMove/documentMoveIntent.js +77 -0
  150. package/workflows/container-contents/documentMove/documentMoveIntent.js.map +1 -0
  151. package/workflows/container-contents/documentMove/documentMoveIntentErrors.js +17 -0
  152. package/workflows/container-contents/documentMove/documentMoveIntentErrors.js.map +1 -0
  153. package/workflows/container-contents/documentMove/documentMoveIntentSettlement.js +25 -0
  154. package/workflows/container-contents/documentMove/documentMoveIntentSettlement.js.map +1 -0
  155. package/workflows/container-contents/documentMove/documentMoveIntentSync.js +346 -0
  156. package/workflows/container-contents/documentMove/documentMoveIntentSync.js.map +1 -0
  157. package/workflows/container-contents/documentMove/documentMoveVanishedRefresh.js +100 -0
  158. package/workflows/container-contents/documentMove/documentMoveVanishedRefresh.js.map +1 -0
  159. package/workflows/container-contents/documentPriming/documentHydrationProbe.js +146 -0
  160. package/workflows/container-contents/documentPriming/documentHydrationProbe.js.map +1 -0
  161. package/workflows/container-contents/documentPriming/documentRuntimeTargetSync.js.map +1 -0
  162. package/workflows/container-contents/documentPriming/index.js +245 -0
  163. package/workflows/container-contents/documentPriming/index.js.map +1 -0
  164. package/workflows/container-contents/documentQueries/documentStructure.d.ts +53 -0
  165. package/workflows/container-contents/documentQueries/documentStructure.js +183 -0
  166. package/workflows/container-contents/documentQueries/documentStructure.js.map +1 -0
  167. package/workflows/container-contents/documentQueries/documentStructureTypes.d.ts +32 -0
  168. package/workflows/container-contents/documentQueries/documentStructureTypes.js.map +1 -0
  169. package/workflows/container-contents/documentQueries/documentSubtreeQueries.js +169 -0
  170. package/workflows/container-contents/documentQueries/documentSubtreeQueries.js.map +1 -0
  171. package/workflows/container-contents/documentQueries/index.d.ts +62 -0
  172. package/workflows/container-contents/documentQueries/index.js +212 -0
  173. package/workflows/container-contents/documentQueries/index.js.map +1 -0
  174. package/workflows/container-contents/documentQueries/orphanedDocumentSql.js +39 -0
  175. package/workflows/container-contents/documentQueries/orphanedDocumentSql.js.map +1 -0
  176. package/workflows/container-contents/documentQueries/pendingDownloads.d.ts +12 -0
  177. package/workflows/container-contents/documentQueries/pendingDownloads.js +42 -0
  178. package/workflows/container-contents/documentQueries/pendingDownloads.js.map +1 -0
  179. package/workflows/container-contents/documentQueries/sql.js +1 -1
  180. package/workflows/container-contents/documentQueries/sql.js.map +1 -1
  181. package/workflows/container-contents/index.d.ts +13 -13
  182. package/workflows/container-contents/index.js +11 -11
  183. package/workflows/container-contents/index.js.map +1 -1
  184. package/workflows/container-contents/info/blobInfo.d.ts +6 -0
  185. package/workflows/container-contents/info/blobInfo.js +323 -0
  186. package/workflows/container-contents/info/blobInfo.js.map +1 -0
  187. package/workflows/container-contents/info/blobInfoTypes.d.ts +48 -0
  188. package/workflows/container-contents/info/blobInfoTypes.js.map +1 -0
  189. package/workflows/container-contents/info/containerInfo.d.ts +77 -0
  190. package/workflows/container-contents/info/containerInfo.js +200 -0
  191. package/workflows/container-contents/info/containerInfo.js.map +1 -0
  192. package/workflows/container-contents/info/documentInfo.d.ts +18 -0
  193. package/workflows/container-contents/info/documentInfo.js +306 -0
  194. package/workflows/container-contents/info/documentInfo.js.map +1 -0
  195. package/workflows/container-contents/info/documentInfoTypes.d.ts +92 -0
  196. package/workflows/container-contents/info/documentInfoTypes.js.map +1 -0
  197. package/workflows/container-contents/metadata/index.d.ts +25 -0
  198. package/workflows/container-contents/metadata/index.js +217 -0
  199. package/workflows/container-contents/metadata/index.js.map +1 -0
  200. package/workflows/container-contents/metadata/metadataEvents.d.ts +7 -0
  201. package/workflows/container-contents/metadata/metadataEvents.js +47 -0
  202. package/workflows/container-contents/metadata/metadataEvents.js.map +1 -0
  203. package/workflows/container-contents/metadata/metadataIncomingUpdateIsolation.js +40 -0
  204. package/workflows/container-contents/metadata/metadataIncomingUpdateIsolation.js.map +1 -0
  205. package/workflows/container-contents/metadata/metadataMutationPreparation.d.ts +75 -0
  206. package/workflows/container-contents/metadata/metadataMutationPreparation.js +177 -0
  207. package/workflows/container-contents/metadata/metadataMutationPreparation.js.map +1 -0
  208. package/workflows/container-contents/metadata/metadataPersistence.d.ts +34 -0
  209. package/workflows/container-contents/metadata/metadataPersistence.js +254 -0
  210. package/workflows/container-contents/metadata/metadataPersistence.js.map +1 -0
  211. package/workflows/container-contents/metadata/metadataPullContinuationInvalidation.js +65 -0
  212. package/workflows/container-contents/metadata/metadataPullContinuationInvalidation.js.map +1 -0
  213. package/workflows/container-contents/metadata/metadataReadState.d.ts +2 -0
  214. package/workflows/container-contents/metadata/metadataReadState.js.map +1 -0
  215. package/workflows/container-contents/metadata/metadataRecord.js +43 -0
  216. package/workflows/container-contents/metadata/metadataRecord.js.map +1 -0
  217. package/workflows/container-contents/metadata/metadataRemoteSync.d.ts +38 -0
  218. package/workflows/container-contents/metadata/metadataRemoteSync.js +91 -0
  219. package/workflows/container-contents/metadata/metadataRemoteSync.js.map +1 -0
  220. package/workflows/container-contents/metadata/metadataStateInstallation.d.ts +3 -0
  221. package/workflows/container-contents/metadata/metadataStateInstallation.js.map +1 -0
  222. package/workflows/container-contents/metadata/metadataStateIsolation.js +80 -0
  223. package/workflows/container-contents/metadata/metadataStateIsolation.js.map +1 -0
  224. package/workflows/container-contents/metadata/metadataSyncErrors.js +41 -0
  225. package/workflows/container-contents/metadata/metadataSyncErrors.js.map +1 -0
  226. package/workflows/container-contents/metadata/metadataSyncSettlement.d.ts +13 -0
  227. package/workflows/container-contents/metadata/metadataSyncSettlement.js +27 -0
  228. package/workflows/container-contents/metadata/metadataSyncSettlement.js.map +1 -0
  229. package/workflows/container-contents/metadata/metadataTypes.d.ts +54 -0
  230. package/workflows/container-contents/metadata/metadataTypes.js.map +1 -0
  231. package/workflows/container-contents/pendingWrites/aggregation.js.map +1 -1
  232. package/workflows/container-contents/pendingWrites/deferredTails.js.map +1 -1
  233. package/workflows/container-contents/pendingWrites/index.d.ts +26 -0
  234. package/workflows/container-contents/pendingWrites/index.js +116 -0
  235. package/workflows/container-contents/pendingWrites/index.js.map +1 -0
  236. package/workflows/container-contents/projectionGeneration.js.map +1 -1
  237. package/workflows/container-contents/projectionView.js +1 -1
  238. package/workflows/container-contents/projectionView.js.map +1 -1
  239. package/workflows/container-contents/recovery/folderRecovery.d.ts +19 -0
  240. package/workflows/container-contents/recovery/folderRecovery.js +32 -0
  241. package/workflows/container-contents/recovery/folderRecovery.js.map +1 -0
  242. package/workflows/container-contents/recovery/staleRootRecovery.js +111 -0
  243. package/workflows/container-contents/recovery/staleRootRecovery.js.map +1 -0
  244. package/workflows/container-contents/remoteHydration/completeHydration.js +1 -1
  245. package/workflows/container-contents/remoteHydration/completeHydration.js.map +1 -1
  246. package/workflows/container-contents/remoteHydration/destinationRootReload.js +1 -1
  247. package/workflows/container-contents/remoteHydration/destinationRootReload.js.map +1 -1
  248. package/workflows/container-contents/remoteHydration/heldContainerRebind.js +1 -1
  249. package/workflows/container-contents/remoteHydration/heldContainerRebind.js.map +1 -1
  250. package/workflows/container-contents/remoteHydration/index.d.ts +28 -0
  251. package/workflows/container-contents/remoteHydration/index.js +302 -0
  252. package/workflows/container-contents/remoteHydration/index.js.map +1 -0
  253. package/workflows/container-contents/remoteHydration/remoteContainerPageHydration.js +244 -0
  254. package/workflows/container-contents/remoteHydration/remoteContainerPageHydration.js.map +1 -0
  255. package/workflows/container-contents/remoteHydration/remoteContainerState.js +263 -0
  256. package/workflows/container-contents/remoteHydration/remoteContainerState.js.map +1 -0
  257. package/workflows/container-contents/remoteHydration/types.d.ts +1 -1
  258. package/workflows/container-contents/remoteHydration/verifiedDestination.js +1 -1
  259. package/workflows/container-contents/remoteHydration/verifiedDestination.js.map +1 -1
  260. package/workflows/container-contents/tombstones/documentPurge.d.ts +37 -0
  261. package/workflows/container-contents/tombstones/documentPurge.js +136 -0
  262. package/workflows/container-contents/tombstones/documentPurge.js.map +1 -0
  263. package/workflows/container-contents/tombstones/documentTombstoneEvidence.js +173 -0
  264. package/workflows/container-contents/tombstones/documentTombstoneEvidence.js.map +1 -0
  265. package/workflows/container-contents/tombstones/documentTombstoneGate.js +94 -0
  266. package/workflows/container-contents/tombstones/documentTombstoneGate.js.map +1 -0
  267. package/workflows/containers/child/currentShareGrantMutation.js +5 -5
  268. package/workflows/containers/child/currentShareGrantMutation.js.map +1 -1
  269. package/workflows/containers/child/currentSharePrincipalPolicy.js +5 -5
  270. package/workflows/containers/child/currentSharePrincipalPolicy.js.map +1 -1
  271. package/workflows/containers/child/runtimeCurrentGroupShare.js +1 -1
  272. package/workflows/containers/child/runtimeCurrentGroupShare.js.map +1 -1
  273. package/workflows/containers/child/share.d.ts +1 -1
  274. package/workflows/containers/child/share.js +4 -4
  275. package/workflows/containers/child/share.js.map +1 -1
  276. package/workflows/containers/child/sharePrincipalPolicy.d.ts +1 -1
  277. package/workflows/containers/child/sharePrincipalPolicy.js +2 -2
  278. package/workflows/containers/child/sharePrincipalPolicy.js.map +1 -1
  279. package/workflows/documents/attachments/attachmentPersistence.d.ts +58 -0
  280. package/workflows/documents/attachments/attachmentPersistence.js.map +1 -0
  281. package/workflows/documents/attachments/blobMutationLock.d.ts +8 -0
  282. package/workflows/documents/attachments/blobMutationLock.js +35 -0
  283. package/workflows/documents/attachments/blobMutationLock.js.map +1 -0
  284. package/workflows/documents/attachments/orphanBlobReclaimState.js.map +1 -0
  285. package/workflows/documents/attachments/orphanBlobReclaims.d.ts +6 -0
  286. package/workflows/documents/attachments/orphanBlobReclaims.js +143 -0
  287. package/workflows/documents/attachments/orphanBlobReclaims.js.map +1 -0
  288. package/workflows/documents/authorAccessFailure.js.map +1 -1
  289. package/workflows/documents/create/createAdoption.js +100 -0
  290. package/workflows/documents/create/createAdoption.js.map +1 -0
  291. package/workflows/documents/create/createProjection.d.ts +14 -0
  292. package/workflows/documents/create/createProjectionFetch.d.ts +27 -0
  293. package/workflows/documents/create/createProjectionFetch.js.map +1 -0
  294. package/workflows/documents/create/createResponse.js +49 -0
  295. package/workflows/documents/create/createResponse.js.map +1 -0
  296. package/workflows/documents/create/documentCreationPersistence.js +16 -0
  297. package/workflows/documents/create/documentCreationPersistence.js.map +1 -0
  298. package/workflows/documents/create/index.d.ts +56 -0
  299. package/workflows/documents/create/index.js +258 -0
  300. package/workflows/documents/create/index.js.map +1 -0
  301. package/workflows/documents/documentMutationCommit.js +1 -1
  302. package/workflows/documents/documentMutationCommit.js.map +1 -1
  303. package/workflows/documents/index.d.ts +17 -17
  304. package/workflows/documents/index.js +14 -14
  305. package/workflows/documents/index.js.map +1 -1
  306. package/workflows/documents/linkSet/index.d.ts +20 -0
  307. package/workflows/documents/linkSet/index.js +290 -0
  308. package/workflows/documents/linkSet/index.js.map +1 -0
  309. package/workflows/documents/linkSet/linkSetAuthority.js +61 -0
  310. package/workflows/documents/linkSet/linkSetAuthority.js.map +1 -0
  311. package/workflows/documents/linkSet/linkSetBlobRewraps.js +143 -0
  312. package/workflows/documents/linkSet/linkSetBlobRewraps.js.map +1 -0
  313. package/workflows/documents/linkSet/linkSetProjectionSeed.js +119 -0
  314. package/workflows/documents/linkSet/linkSetProjectionSeed.js.map +1 -0
  315. package/workflows/documents/linkSet/linkSetRemote.d.ts +23 -0
  316. package/workflows/documents/linkSet/linkSetRemote.js +187 -0
  317. package/workflows/documents/linkSet/linkSetRemote.js.map +1 -0
  318. package/workflows/documents/purge/index.d.ts +53 -0
  319. package/workflows/documents/purge/index.js +204 -0
  320. package/workflows/documents/purge/index.js.map +1 -0
  321. package/workflows/documents/purge/persistedDocumentRemoval.d.ts +44 -0
  322. package/workflows/documents/purge/persistedDocumentRemoval.js +70 -0
  323. package/workflows/documents/purge/persistedDocumentRemoval.js.map +1 -0
  324. package/workflows/documents/purge/subtreePurgeScope.d.ts +8 -0
  325. package/workflows/documents/purge/subtreePurgeScope.js +18 -0
  326. package/workflows/documents/purge/subtreePurgeScope.js.map +1 -0
  327. package/workflows/documents/rotationBaseline.js +1 -1
  328. package/workflows/documents/rotationBaseline.js.map +1 -1
  329. package/workflows/documents/sync/index.d.ts +4 -0
  330. package/workflows/documents/sync/index.js +287 -0
  331. package/workflows/documents/sync/index.js.map +1 -0
  332. package/workflows/documents/sync/initialSync.js +65 -0
  333. package/workflows/documents/sync/initialSync.js.map +1 -0
  334. package/workflows/documents/sync/readOnlyProjectionFailure.js +30 -0
  335. package/workflows/documents/sync/readOnlyProjectionFailure.js.map +1 -0
  336. package/workflows/documents/sync/readOnlySync.d.ts +71 -0
  337. package/workflows/documents/sync/readOnlySync.js +269 -0
  338. package/workflows/documents/sync/readOnlySync.js.map +1 -0
  339. package/workflows/documents/sync/reportDocumentSyncQuarantine.js.map +1 -0
  340. package/workflows/documents/sync/syncAttemptPlanning.js +79 -0
  341. package/workflows/documents/sync/syncAttemptPlanning.js.map +1 -0
  342. package/workflows/documents/sync/syncAttemptState.d.ts +27 -0
  343. package/workflows/documents/sync/syncAttemptState.js.map +1 -0
  344. package/workflows/documents/sync/syncLane.d.ts +20 -0
  345. package/workflows/documents/sync/syncLane.js +94 -0
  346. package/workflows/documents/sync/syncLane.js.map +1 -0
  347. package/workflows/documents/sync/syncResponseResult.js +134 -0
  348. package/workflows/documents/sync/syncResponseResult.js.map +1 -0
  349. package/workflows/documents/sync/syncSubmittedResult.js +119 -0
  350. package/workflows/documents/sync/syncSubmittedResult.js.map +1 -0
  351. package/workflows/documents/sync/syncTrace.js +148 -0
  352. package/workflows/documents/syncFailures/index.js +252 -0
  353. package/workflows/documents/syncFailures/index.js.map +1 -0
  354. package/workflows/documents/syncFailures/syncAbandon.js +51 -0
  355. package/workflows/documents/syncFailures/syncAbandon.js.map +1 -0
  356. package/workflows/documents/syncFailures/syncFailureClassification.d.ts +74 -0
  357. package/workflows/documents/syncFailures/syncFailureClassification.js +122 -0
  358. package/workflows/documents/syncFailures/syncFailureClassification.js.map +1 -0
  359. package/workflows/documents/syncFailures/syncPolicyRepair.js +50 -0
  360. package/workflows/documents/syncFailures/syncPolicyRepair.js.map +1 -0
  361. package/workflows/documents/syncFailures/syncRepairAbandon.js.map +1 -0
  362. package/workflows/documents/syncFailures/syncRepairAccess.js +42 -0
  363. package/workflows/documents/syncFailures/syncRepairAccess.js.map +1 -0
  364. package/workflows/documents/syncPlan/syncContentKeys.d.ts +39 -0
  365. package/workflows/documents/syncPlan/syncContentKeys.js +254 -0
  366. package/workflows/documents/syncPlan/syncContentKeys.js.map +1 -0
  367. package/workflows/documents/syncPlan/syncPlanIdentity.js +203 -0
  368. package/workflows/documents/syncPlan/syncPlanIdentity.js.map +1 -0
  369. package/workflows/documents/syncPlan/syncPlanMaterial.js +306 -0
  370. package/workflows/documents/syncPlan/syncPlanMaterial.js.map +1 -0
  371. package/workflows/documents/syncPlan/syncPlanProjection.js.map +1 -0
  372. package/workflows/documents/syncPlan/syncPlanRequestBounds.js +54 -0
  373. package/workflows/documents/syncPlan/syncPlanRequestBounds.js.map +1 -0
  374. package/workflows/documents/syncRekeys/syncAutomaticContainerRekeys.js +119 -0
  375. package/workflows/documents/syncRekeys/syncAutomaticContainerRekeys.js.map +1 -0
  376. package/workflows/documents/syncRekeys/syncContainerRekeyPreparation.js +227 -0
  377. package/workflows/documents/syncRekeys/syncContainerRekeyPreparation.js.map +1 -0
  378. package/workflows/documents/syncRekeys/syncContainerRekeyProjection.js +79 -0
  379. package/workflows/documents/syncRekeys/syncContainerRekeyProjection.js.map +1 -0
  380. package/workflows/documents/syncRekeys/syncContainerRekeys.js +72 -0
  381. package/workflows/documents/syncRekeys/syncContainerRekeys.js.map +1 -0
  382. package/workflows/documents/syncRekeys/syncRecoveryRekey.d.ts +70 -0
  383. package/workflows/documents/syncRekeys/syncRecoveryRekey.js +120 -0
  384. package/workflows/documents/syncRekeys/syncRecoveryRekey.js.map +1 -0
  385. package/workflows/documents/syncRekeys/syncRekeyCommit.js +18 -0
  386. package/workflows/organizations/groupMetadata/currentGroupMetadataAuthority.js +53 -0
  387. package/workflows/organizations/groupMetadata/currentGroupMetadataAuthority.js.map +1 -0
  388. package/workflows/organizations/groupMetadata/groupMetadataAccess.d.ts +33 -0
  389. package/workflows/organizations/groupMetadata/groupMetadataAccess.js +114 -0
  390. package/workflows/organizations/groupMetadata/groupMetadataAccess.js.map +1 -0
  391. package/workflows/organizations/groupMetadata/groupMetadataBinding.js +19 -0
  392. package/workflows/organizations/groupMetadata/groupMetadataBinding.js.map +1 -0
  393. package/workflows/organizations/groupMetadata/groupMetadataContainerAuthority.js +41 -0
  394. package/workflows/organizations/groupMetadata/groupMetadataContainerAuthority.js.map +1 -0
  395. package/workflows/organizations/groupMetadata/groupMetadataErrors.js +40 -0
  396. package/workflows/organizations/groupMetadata/groupMetadataRootBinding.js +51 -0
  397. package/workflows/organizations/groupMetadata/groupMetadataRootBinding.js.map +1 -0
  398. package/workflows/organizations/groupMetadata/groupMetadataRuntime.js +47 -0
  399. package/workflows/organizations/groupMetadata/groupMetadataRuntime.js.map +1 -0
  400. package/workflows/organizations/groupMetadata/runtimeGroupMetadataAuthority.js +16 -0
  401. package/workflows/organizations/groupMetadata/runtimeGroupMetadataAuthority.js.map +1 -0
  402. package/workflows/organizations/groupNames/currentOrganizationGroupNames.js +72 -0
  403. package/workflows/organizations/groupNames/currentOrganizationGroupNames.js.map +1 -0
  404. package/workflows/organizations/groupNames/groupMembershipName.d.ts +8 -0
  405. package/workflows/organizations/groupNames/groupMembershipName.js +18 -0
  406. package/workflows/organizations/groupNames/groupMembershipName.js.map +1 -0
  407. package/workflows/organizations/groupNames/groupNameUniqueness.js +151 -0
  408. package/workflows/organizations/groupNames/groupNameUniqueness.js.map +1 -0
  409. package/workflows/organizations/groupNames/organizationGroupNamePolicies.js +48 -0
  410. package/workflows/organizations/groupNames/organizationGroupNamePolicies.js.map +1 -0
  411. package/workflows/organizations/groupNames/organizationGroupNames.js +13 -0
  412. package/workflows/organizations/groupNames/organizationGroupNames.js.map +1 -0
  413. package/workflows/organizations/groupPolicy/commitCurrentGroupPolicyMutation.js +139 -0
  414. package/workflows/organizations/groupPolicy/commitCurrentGroupPolicyMutation.js.map +1 -0
  415. package/workflows/organizations/groupPolicy/currentGroupPolicyMutationContext.js +79 -0
  416. package/workflows/organizations/groupPolicy/currentGroupPolicyMutationContext.js.map +1 -0
  417. package/workflows/organizations/groupPolicy/currentPolicyMutationAcknowledgement.js +65 -0
  418. package/workflows/organizations/groupPolicy/currentPolicyMutationAcknowledgement.js.map +1 -0
  419. package/workflows/organizations/groupPolicy/groupPolicyMutationAcknowledgement.js +174 -0
  420. package/workflows/organizations/groupPolicy/groupPolicyMutationAcknowledgement.js.map +1 -0
  421. package/workflows/organizations/groupPolicy/groupPolicyMutationContext.d.ts +58 -0
  422. package/workflows/organizations/groupPolicy/groupPolicyMutationContext.js +166 -0
  423. package/workflows/organizations/groupPolicy/groupPolicyMutationContext.js.map +1 -0
  424. package/workflows/organizations/groupPolicy/groupPolicyMutationEvidence.d.ts +26 -0
  425. package/workflows/organizations/groupPolicy/groupPolicyMutationEvidence.js +64 -0
  426. package/workflows/organizations/groupPolicy/groupPolicyMutationEvidence.js.map +1 -0
  427. package/workflows/organizations/groupPolicy/groupPolicyMutationHead.js +26 -0
  428. package/workflows/organizations/groupPolicy/groupPolicyRequests.js +181 -0
  429. package/workflows/organizations/groupPolicy/groupPolicyRequests.js.map +1 -0
  430. package/workflows/organizations/groupPolicy/groupPolicyVerification.js +74 -0
  431. package/workflows/organizations/groupPolicy/groupPolicyVerification.js.map +1 -0
  432. package/workflows/organizations/groupPolicy/submitGroupPolicyCommit.d.ts +22 -0
  433. package/workflows/organizations/groupPolicy/submitGroupPolicyCommit.js +71 -0
  434. package/workflows/organizations/groupPolicy/submitGroupPolicyCommit.js.map +1 -0
  435. package/workflows/organizations/groups/createCurrentOrganizationGroup.js +85 -0
  436. package/workflows/organizations/groups/createCurrentOrganizationGroup.js.map +1 -0
  437. package/workflows/organizations/groups/deleteCurrentOrganizationGroup.js +35 -0
  438. package/workflows/organizations/groups/deleteCurrentOrganizationGroup.js.map +1 -0
  439. package/workflows/organizations/groups/deleteOrganizationGroup.d.ts +19 -0
  440. package/workflows/organizations/groups/deleteOrganizationGroup.js +75 -0
  441. package/workflows/organizations/groups/deleteOrganizationGroup.js.map +1 -0
  442. package/workflows/organizations/groups/groupCreation.d.ts +21 -0
  443. package/workflows/organizations/groups/groupCreation.js +68 -0
  444. package/workflows/organizations/groups/groupCreation.js.map +1 -0
  445. package/workflows/organizations/groups/organizationGroupDirectory.js +153 -0
  446. package/workflows/organizations/groups/organizationGroupDirectory.js.map +1 -0
  447. package/workflows/organizations/index.d.ts +13 -13
  448. package/workflows/organizations/index.js +12 -12
  449. package/workflows/organizations/index.js.map +1 -1
  450. package/workflows/organizations/policyHistory/groupPolicyHistoryPage.js.map +1 -0
  451. package/workflows/organizations/policyHistory/loadPolicyHistoryDetails.js +78 -0
  452. package/workflows/organizations/policyHistory/loadPolicyHistoryDetails.js.map +1 -0
  453. package/workflows/organizations/policyHistory/organizationPolicyHistoryDetails.js +110 -0
  454. package/workflows/organizations/policyHistory/organizationPolicyHistoryDetails.js.map +1 -0
  455. package/workflows/organizations/policyHistory/organizationPolicyHistoryVerification.js +67 -0
  456. package/workflows/organizations/policyHistory/organizationPolicyHistoryVerification.js.map +1 -0
  457. package/workflows/organizations/policyHistory/policyHistoryAccessDenial.js +19 -0
  458. package/workflows/organizations/policyHistory/policyHistoryAccessDenial.js.map +1 -0
  459. package/workflows/organizations/policyHistory/policyHistoryCache.js +42 -0
  460. package/workflows/organizations/policyHistory/policyHistoryCache.js.map +1 -0
  461. package/workflows/organizations/policyHistory/policyHistoryReadModel.d.ts +9 -0
  462. package/workflows/organizations/policyHistory/policyHistoryTypes.d.ts +58 -0
  463. package/workflows/organizations/principalMutations/acknowledgedDirectoryBindings.js +18 -0
  464. package/workflows/organizations/principalMutations/acknowledgedDirectoryBindings.js.map +1 -0
  465. package/workflows/organizations/principalMutations/currentGroupMutationReferences.js +35 -0
  466. package/workflows/organizations/principalMutations/currentGroupMutationReferences.js.map +1 -0
  467. package/workflows/organizations/principalMutations/currentOrganizationMutationAuthority.js +16 -0
  468. package/workflows/organizations/principalMutations/currentOrganizationMutationAuthority.js.map +1 -0
  469. package/workflows/organizations/principalMutations/currentOrganizationMutationRetention.js +64 -0
  470. package/workflows/organizations/principalMutations/currentOrganizationMutationRetention.js.map +1 -0
  471. package/workflows/organizations/principalMutations/currentPrincipalMutationLease.js +39 -0
  472. package/workflows/organizations/principalMutations/currentPrincipalMutationLease.js.map +1 -0
  473. package/workflows/organizations/principalMutations/principalMutationJournalManagement.d.ts +26 -0
  474. package/workflows/organizations/principalMutations/principalMutationJournalManagement.js +104 -0
  475. package/workflows/organizations/principalMutations/principalMutationJournalManagement.js.map +1 -0
  476. package/workflows/organizations/principalMutations/principalMutationJournalSession.d.ts +26 -0
  477. package/workflows/organizations/principalMutations/principalMutationJournalSession.js +85 -0
  478. package/workflows/organizations/principalMutations/principalMutationJournalSession.js.map +1 -0
  479. package/workflows/organizations/principalMutations/principalMutationReceipt.js +28 -0
  480. package/workflows/organizations/principalMutations/principalMutationReceipt.js.map +1 -0
  481. package/workflows/organizations/principalMutations/principalOperationReceipt.d.ts +5 -0
  482. package/workflows/organizations/principalMutations/principalOperationReceipt.js +36 -0
  483. package/workflows/organizations/principalMutations/principalOperationReceipt.js.map +1 -0
  484. package/workflows/organizations/principalMutations/retainAcknowledgedPrincipalCurrents.d.ts +6 -0
  485. package/workflows/organizations/principalMutations/retainAcknowledgedPrincipalCurrents.js +20 -0
  486. package/workflows/organizations/principalMutations/retainAcknowledgedPrincipalCurrents.js.map +1 -0
  487. package/workflows/organizations/principalMutations/runtimeCurrentGroupMutation.js +113 -0
  488. package/workflows/organizations/principalMutations/runtimeCurrentGroupMutation.js.map +1 -0
  489. package/workflows/organizations/principalMutations/runtimeCurrentOrganizationMutation.js +48 -0
  490. package/workflows/organizations/principalMutations/runtimeCurrentOrganizationMutation.js.map +1 -0
  491. package/workflows/organizations/principalPolicy/index.d.ts +98 -0
  492. package/workflows/organizations/principalPolicy/index.js +256 -0
  493. package/workflows/organizations/principalPolicy/index.js.map +1 -0
  494. package/workflows/organizations/principalPolicy/principalPolicyApi.d.ts +33 -0
  495. package/workflows/organizations/principalPolicy/principalPolicyApi.js.map +1 -0
  496. package/workflows/organizations/principalPolicy/principalPolicyReceiptArtifacts.js +74 -0
  497. package/workflows/organizations/principalPolicy/principalPolicyReceiptArtifacts.js.map +1 -0
  498. package/workflows/organizations/principalPolicy/principalPolicyRecipients.js +43 -0
  499. package/workflows/organizations/principalPolicy/principalPolicyRecipients.js.map +1 -0
  500. package/workflows/organizations/principalPolicy/principalPolicyRequest.d.ts +68 -0
  501. package/workflows/organizations/principalPolicy/principalPolicyRequest.js +176 -0
  502. package/workflows/organizations/provisioning/createOrganization.d.ts +62 -0
  503. package/workflows/organizations/provisioning/createOrganization.js +128 -0
  504. package/workflows/organizations/provisioning/createOrganization.js.map +1 -0
  505. package/workflows/organizations/provisioning/organizationProvisioningAttempt.d.ts +36 -0
  506. package/workflows/organizations/provisioning/organizationProvisioningAttempt.js +205 -0
  507. package/workflows/organizations/provisioning/organizationProvisioningAttempt.js.map +1 -0
  508. package/workflows/organizations/provisioning/organizationReplacementVerification.js +26 -0
  509. package/workflows/organizations/provisioning/organizationReplacementVerification.js.map +1 -0
  510. package/workflows/organizations/readModel/dataUsageReadModel.d.ts +19 -0
  511. package/workflows/organizations/readModel/dataUsageReadModel.js +64 -0
  512. package/workflows/organizations/readModel/dataUsageReadModel.js.map +1 -0
  513. package/workflows/organizations/readModel/index.d.ts +70 -0
  514. package/workflows/organizations/readModel/index.js +10 -0
  515. package/workflows/organizations/readModel/index.js.map +1 -0
  516. package/workflows/organizations/readModel/listLocalOrganizations.d.ts +20 -0
  517. package/workflows/organizations/readModel/listLocalOrganizations.js +137 -0
  518. package/workflows/organizations/readModel/listLocalOrganizations.js.map +1 -0
  519. package/workflows/organizations/readModel/localReadModelDetails.d.ts +25 -0
  520. package/workflows/organizations/readModel/localReadModelDetails.js +182 -0
  521. package/workflows/organizations/readModel/localReadModelDetails.js.map +1 -0
  522. package/workflows/organizations/readModel/organizationPresentationAccessState.js +173 -0
  523. package/workflows/organizations/readModel/organizationPresentationAccessState.js.map +1 -0
  524. package/workflows/organizations/readModel/organizationPresentationFailures.js +7 -0
  525. package/workflows/organizations/readModel/readModelProjection.d.ts +29 -0
  526. package/workflows/organizations/readModel/readModelProjection.js +255 -0
  527. package/workflows/organizations/readModel/readModelProjection.js.map +1 -0
  528. package/workflows/organizations/rematerialization/authoredPrincipalPolicyWarmer.js +25 -0
  529. package/workflows/organizations/rematerialization/authoredPrincipalPolicyWarmer.js.map +1 -0
  530. package/workflows/organizations/rematerialization/precedingPrincipalRematerialization.js +31 -0
  531. package/workflows/organizations/rematerialization/precedingPrincipalRematerialization.js.map +1 -0
  532. package/workflows/organizations/rematerialization/principalContainerRematerialization.js +321 -0
  533. package/workflows/organizations/rematerialization/principalContainerRematerialization.js.map +1 -0
  534. package/workflows/organizations/rematerialization/principalContainerRematerializationPlanning.js +77 -0
  535. package/workflows/organizations/rematerialization/principalContainerRematerializationPlanning.js.map +1 -0
  536. package/workflows/organizations/rematerialization/principalContainerRematerializationTargets.js +79 -0
  537. package/workflows/organizations/rematerialization/principalContainerRematerializationTargets.js.map +1 -0
  538. package/workflows/principals/acknowledgements/acknowledgedPrincipalCurrents.d.ts +33 -0
  539. package/workflows/principals/acknowledgements/acknowledgedPrincipalCurrents.js +140 -0
  540. package/workflows/principals/acknowledgements/acknowledgedPrincipalCurrents.js.map +1 -0
  541. package/workflows/principals/acknowledgements/acknowledgedPrincipalPredecessor.d.ts +39 -0
  542. package/workflows/principals/acknowledgements/acknowledgedPrincipalPredecessor.js +87 -0
  543. package/workflows/principals/acknowledgements/acknowledgedPrincipalPredecessor.js.map +1 -0
  544. package/workflows/principals/acknowledgements/initialPrincipalCurrentPublication.js +84 -0
  545. package/workflows/principals/acknowledgements/initialPrincipalCurrentPublication.js.map +1 -0
  546. package/workflows/principals/acknowledgements/principalAcknowledgementChecks.d.ts +30 -0
  547. package/workflows/principals/acknowledgements/principalCurrentPublicationSeal.js +51 -0
  548. package/workflows/principals/acknowledgements/principalCurrentPublicationSeal.js.map +1 -0
  549. package/workflows/principals/acknowledgements/reconcileAcknowledgedPrincipalCurrent.js +68 -0
  550. package/workflows/principals/acknowledgements/reconcileAcknowledgedPrincipalCurrent.js.map +1 -0
  551. package/workflows/principals/historyRecovery/loadRecoveredPrincipalHistoryPage.d.ts +10 -0
  552. package/workflows/principals/historyRecovery/loadRecoveredPrincipalHistoryPage.js +119 -0
  553. package/workflows/principals/historyRecovery/loadRecoveredPrincipalHistoryPage.js.map +1 -0
  554. package/workflows/principals/historyRecovery/principalHistoryRecoveryAuthority.js +20 -0
  555. package/workflows/principals/historyRecovery/principalHistoryRecoveryAuthority.js.map +1 -0
  556. package/workflows/principals/historyRecovery/principalHistoryRecoveryPrefix.js +69 -0
  557. package/workflows/principals/historyRecovery/principalHistoryRecoveryPrefix.js.map +1 -0
  558. package/workflows/principals/historyRecovery/principalHistoryRecoveryReferences.js +68 -0
  559. package/workflows/principals/historyRecovery/principalHistoryRecoveryReferences.js.map +1 -0
  560. package/workflows/principals/historyRecovery/principalHistoryRecoveryStage.js +61 -0
  561. package/workflows/principals/historyRecovery/principalHistoryRecoveryStage.js.map +1 -0
  562. package/workflows/principals/historyRecovery/principalHistoryRecoveryTypes.d.ts +35 -0
  563. package/workflows/principals/historyRecovery/principalHistoryRecoveryTypes.js +16 -0
  564. package/workflows/principals/historyRecovery/principalHistoryRecoveryTypes.js.map +1 -0
  565. package/workflows/principals/historyRecovery/principalHistoryRecoveryVerification.js +29 -0
  566. package/workflows/principals/historyRecovery/recoverCurrentOrganizationPolicy.js +38 -0
  567. package/workflows/principals/historyRecovery/recoverCurrentOrganizationPolicy.js.map +1 -0
  568. package/workflows/principals/historyRecovery/recoverPrincipalHistoryPage.js +31 -0
  569. package/workflows/principals/historyRecovery/recoverPrincipalPolicyHistory.js +295 -0
  570. package/workflows/principals/historyRecovery/recoverPrincipalPolicyHistory.js.map +1 -0
  571. package/workflows/principals/historyRecovery/recoverScopedPrincipalPolicyHistory.d.ts +27 -0
  572. package/workflows/principals/historyRecovery/recoverScopedPrincipalPolicyHistory.js +163 -0
  573. package/workflows/principals/historyRecovery/recoverScopedPrincipalPolicyHistory.js.map +1 -0
  574. package/workflows/principals/index.d.ts +6 -6
  575. package/workflows/principals/index.js +6 -6
  576. package/workflows/principals/index.js.map +1 -1
  577. package/workflows/principals/policyCache/index.d.ts +20 -0
  578. package/workflows/principals/policyCache/index.js +242 -0
  579. package/workflows/principals/policyCache/index.js.map +1 -0
  580. package/workflows/principals/policyCache/principalPolicyCacheAdvance.js +39 -0
  581. package/workflows/principals/policyCache/principalPolicyCacheAdvance.js.map +1 -0
  582. package/workflows/principals/policyCache/principalPolicyCacheValidation.js +149 -0
  583. package/workflows/principals/policyCache/principalPolicyCacheValidation.js.map +1 -0
  584. package/workflows/principals/policyCache/principalPolicyOrganizationScope.js +67 -0
  585. package/workflows/principals/policyCache/principalPolicyOrganizationScope.js.map +1 -0
  586. package/workflows/principals/publicHistory/publicPrincipalHistoryAuthority.js +60 -0
  587. package/workflows/principals/publicHistory/publicPrincipalHistoryAuthority.js.map +1 -0
  588. package/workflows/principals/publicHistory/publicPrincipalHistoryPage.js +88 -0
  589. package/workflows/principals/publicHistory/publicPrincipalHistoryPage.js.map +1 -0
  590. package/workflows/principals/publicHistory/publicPrincipalHistoryProgress.js +179 -0
  591. package/workflows/principals/publicHistory/publicPrincipalHistoryProgress.js.map +1 -0
  592. package/workflows/principals/publicHistory/publicPrincipalHistoryTypes.d.ts +41 -0
  593. package/workflows/principals/publicHistory/publicPrincipalHistoryTypes.js.map +1 -0
  594. package/workflows/principals/publicHistory/publicProjectionDirectory.js +40 -0
  595. package/workflows/principals/publicHistory/publicProjectionDirectory.js.map +1 -0
  596. package/workflows/principals/publicHistory/publicProjectionPrincipal.js +54 -0
  597. package/workflows/principals/publicHistory/publicProjectionPrincipal.js.map +1 -0
  598. package/workflows/principals/publicHistory/recoverProjectionPolicyHistory.d.ts +9 -0
  599. package/workflows/principals/publicHistory/recoverProjectionPolicyHistory.js +98 -0
  600. package/workflows/principals/publicHistory/recoverProjectionPolicyHistory.js.map +1 -0
  601. package/workflows/principals/publicHistory/recoverPublicPrincipalHistory.js +178 -0
  602. package/workflows/principals/publicHistory/recoverPublicPrincipalHistory.js.map +1 -0
  603. package/workflows/principals/publicHistory/selectPublicPrincipalHistory.js +96 -0
  604. package/workflows/principals/publicHistory/selectPublicPrincipalHistory.js.map +1 -0
  605. package/workflows/principals/recoveryOperation/principalCurrentRecoveryBatch.js +14 -0
  606. package/workflows/principals/recoveryOperation/principalCurrentRecoveryBatch.js.map +1 -0
  607. package/workflows/principals/recoveryOperation/principalRecoveryDirectory.d.ts +10 -0
  608. package/workflows/principals/recoveryOperation/principalRecoveryDirectory.js +127 -0
  609. package/workflows/principals/recoveryOperation/principalRecoveryDirectory.js.map +1 -0
  610. package/workflows/principals/recoveryOperation/principalRecoveryDiscoveryPage.js.map +1 -0
  611. package/workflows/principals/recoveryOperation/principalRecoveryLocalPreference.js +30 -0
  612. package/workflows/principals/recoveryOperation/principalRecoveryLocalPreference.js.map +1 -0
  613. package/workflows/principals/recoveryOperation/principalRecoveryMemo.d.ts +21 -0
  614. package/workflows/principals/recoveryOperation/principalRecoveryMemo.js +178 -0
  615. package/workflows/principals/recoveryOperation/principalRecoveryMemo.js.map +1 -0
  616. package/workflows/principals/recoveryOperation/principalRecoveryMemoValidity.js +33 -0
  617. package/workflows/principals/recoveryOperation/principalRecoveryMemoValidity.js.map +1 -0
  618. package/workflows/principals/recoveryOperation/principalRecoveryOutage.js +40 -0
  619. package/workflows/principals/recoveryOperation/principalRecoveryOutage.js.map +1 -0
  620. package/workflows/principals/runtimePolicyRecovery.js +3 -3
  621. package/workflows/principals/runtimePolicyRecovery.js.map +1 -1
  622. package/workflows/principals/runtimeProjectionPolicyRecovery.js +3 -3
  623. package/workflows/principals/runtimeProjectionPolicyRecovery.js.map +1 -1
  624. package/workflows/registration/organizationProvisioningArtifacts.d.ts +1 -1
  625. package/workflows/registration/provisionedPrincipalHistory.js +1 -1
  626. package/workflows/registration/provisionedPrincipalHistory.js.map +1 -1
  627. package/workflows/registration/provisionedProfileDocument.js +1 -1
  628. package/workflows/registration/provisionedProfileDocument.js.map +1 -1
  629. package/workflows/registration/provisioningBootstrapBuilders.js +2 -2
  630. package/workflows/registration/provisioningBootstrapBuilders.js.map +1 -1
  631. package/workflows/registration/registerIdentity.js +2 -2
  632. package/workflows/registration/registerIdentity.js.map +1 -1
  633. package/workflows/sync/remoteReset.js +1 -1
  634. package/workflows/sync/remoteReset.js.map +1 -1
  635. package/workflows/blobs/attachmentBindingVerification.js +0 -49
  636. package/workflows/blobs/attachmentBindingVerification.js.map +0 -1
  637. package/workflows/blobs/attachmentDecryptor.js +0 -41
  638. package/workflows/blobs/attachmentDecryptor.js.map +0 -1
  639. package/workflows/blobs/attachmentKeyAuthenticator.js +0 -68
  640. package/workflows/blobs/attachmentKeyAuthenticator.js.map +0 -1
  641. package/workflows/blobs/automaticMultipartUpload.js +0 -9
  642. package/workflows/blobs/automaticMultipartUpload.js.map +0 -1
  643. package/workflows/blobs/blobChunkDecryption.js +0 -34
  644. package/workflows/blobs/blobChunkDecryption.js.map +0 -1
  645. package/workflows/blobs/decrypt.d.ts +0 -12
  646. package/workflows/blobs/decrypt.js +0 -246
  647. package/workflows/blobs/decrypt.js.map +0 -1
  648. package/workflows/blobs/hydrate.d.ts +0 -56
  649. package/workflows/blobs/hydrate.js +0 -190
  650. package/workflows/blobs/hydrate.js.map +0 -1
  651. package/workflows/blobs/hydrationResults.js +0 -23
  652. package/workflows/blobs/hydrationResults.js.map +0 -1
  653. package/workflows/blobs/multipartFirstParts.js +0 -82
  654. package/workflows/blobs/multipartFirstParts.js.map +0 -1
  655. package/workflows/blobs/multipartStageFailures.js +0 -36
  656. package/workflows/blobs/multipartStageFailures.js.map +0 -1
  657. package/workflows/blobs/multipartStageResolution.js.map +0 -1
  658. package/workflows/blobs/multipartUpload.js +0 -274
  659. package/workflows/blobs/multipartUpload.js.map +0 -1
  660. package/workflows/blobs/retainedAttachmentVerification.js +0 -40
  661. package/workflows/blobs/retainedAttachmentVerification.js.map +0 -1
  662. package/workflows/blobs/upload.d.ts +0 -10
  663. package/workflows/blobs/upload.js +0 -243
  664. package/workflows/blobs/upload.js.map +0 -1
  665. package/workflows/blobs/verifiedWrapScope.js +0 -20
  666. package/workflows/blobs/verifiedWrapScope.js.map +0 -1
  667. package/workflows/blobs/writerProjection.js +0 -29
  668. package/workflows/blobs/writerProjection.js.map +0 -1
  669. package/workflows/container-contents/availableDocumentLinkIntent.js +0 -32
  670. package/workflows/container-contents/availableDocumentLinkIntent.js.map +0 -1
  671. package/workflows/container-contents/blobInfo.d.ts +0 -6
  672. package/workflows/container-contents/blobInfo.js +0 -323
  673. package/workflows/container-contents/blobInfo.js.map +0 -1
  674. package/workflows/container-contents/blobInfoTypes.d.ts +0 -48
  675. package/workflows/container-contents/blobInfoTypes.js.map +0 -1
  676. package/workflows/container-contents/containerDocumentListing.js +0 -106
  677. package/workflows/container-contents/containerInfo.d.ts +0 -77
  678. package/workflows/container-contents/containerInfo.js +0 -200
  679. package/workflows/container-contents/containerInfo.js.map +0 -1
  680. package/workflows/container-contents/deferredDocumentLinks.js +0 -9
  681. package/workflows/container-contents/deferredDocumentLinks.js.map +0 -1
  682. package/workflows/container-contents/documentAttributionRanges.d.ts +0 -26
  683. package/workflows/container-contents/documentCharacterBlame.js +0 -33
  684. package/workflows/container-contents/documentCharacterBlame.js.map +0 -1
  685. package/workflows/container-contents/documentDiscovery.d.ts +0 -12
  686. package/workflows/container-contents/documentDiscovery.js +0 -183
  687. package/workflows/container-contents/documentDiscovery.js.map +0 -1
  688. package/workflows/container-contents/documentDiscoveryApply.js +0 -65
  689. package/workflows/container-contents/documentDiscoveryApply.js.map +0 -1
  690. package/workflows/container-contents/documentDiscoveryCandidates.js.map +0 -1
  691. package/workflows/container-contents/documentDiscoveryEvidence.js +0 -91
  692. package/workflows/container-contents/documentDiscoveryEvidence.js.map +0 -1
  693. package/workflows/container-contents/documentDiscoveryInputs.js +0 -85
  694. package/workflows/container-contents/documentDiscoveryInputs.js.map +0 -1
  695. package/workflows/container-contents/documentDiscoveryLanes.js.map +0 -1
  696. package/workflows/container-contents/documentDiscoveryTypes.d.ts +0 -160
  697. package/workflows/container-contents/documentDiscoveryTypes.js.map +0 -1
  698. package/workflows/container-contents/documentFieldBlame.js +0 -26
  699. package/workflows/container-contents/documentFieldBlame.js.map +0 -1
  700. package/workflows/container-contents/documentHydrationProbe.js +0 -146
  701. package/workflows/container-contents/documentHydrationProbe.js.map +0 -1
  702. package/workflows/container-contents/documentInfo.d.ts +0 -18
  703. package/workflows/container-contents/documentInfo.js +0 -306
  704. package/workflows/container-contents/documentInfo.js.map +0 -1
  705. package/workflows/container-contents/documentInfoTypes.d.ts +0 -92
  706. package/workflows/container-contents/documentInfoTypes.js.map +0 -1
  707. package/workflows/container-contents/documentLinkIntent.js +0 -82
  708. package/workflows/container-contents/documentLinkIntent.js.map +0 -1
  709. package/workflows/container-contents/documentLinks.d.ts +0 -64
  710. package/workflows/container-contents/documentLinks.js +0 -264
  711. package/workflows/container-contents/documentLinks.js.map +0 -1
  712. package/workflows/container-contents/documentLocalRelink.js.map +0 -1
  713. package/workflows/container-contents/documentMoveDeniedReplay.js.map +0 -1
  714. package/workflows/container-contents/documentMoveFailure.js +0 -35
  715. package/workflows/container-contents/documentMoveFailure.js.map +0 -1
  716. package/workflows/container-contents/documentMoveIntent.js +0 -77
  717. package/workflows/container-contents/documentMoveIntent.js.map +0 -1
  718. package/workflows/container-contents/documentMoveIntentErrors.js +0 -17
  719. package/workflows/container-contents/documentMoveIntentErrors.js.map +0 -1
  720. package/workflows/container-contents/documentMoveIntentSettlement.js +0 -25
  721. package/workflows/container-contents/documentMoveIntentSettlement.js.map +0 -1
  722. package/workflows/container-contents/documentMoveIntentSync.js +0 -346
  723. package/workflows/container-contents/documentMoveIntentSync.js.map +0 -1
  724. package/workflows/container-contents/documentMoveVanishedRefresh.js +0 -100
  725. package/workflows/container-contents/documentMoveVanishedRefresh.js.map +0 -1
  726. package/workflows/container-contents/documentPriming.js +0 -245
  727. package/workflows/container-contents/documentPriming.js.map +0 -1
  728. package/workflows/container-contents/documentPurge.d.ts +0 -37
  729. package/workflows/container-contents/documentPurge.js +0 -136
  730. package/workflows/container-contents/documentPurge.js.map +0 -1
  731. package/workflows/container-contents/documentQueries.d.ts +0 -62
  732. package/workflows/container-contents/documentQueries.js +0 -212
  733. package/workflows/container-contents/documentQueries.js.map +0 -1
  734. package/workflows/container-contents/documentRuntimeTargetSync.js.map +0 -1
  735. package/workflows/container-contents/documentStructure.d.ts +0 -53
  736. package/workflows/container-contents/documentStructure.js +0 -183
  737. package/workflows/container-contents/documentStructure.js.map +0 -1
  738. package/workflows/container-contents/documentStructureTypes.d.ts +0 -32
  739. package/workflows/container-contents/documentStructureTypes.js.map +0 -1
  740. package/workflows/container-contents/documentSubtreeQueries.js +0 -169
  741. package/workflows/container-contents/documentSubtreeQueries.js.map +0 -1
  742. package/workflows/container-contents/documentTombstoneEvidence.js +0 -173
  743. package/workflows/container-contents/documentTombstoneEvidence.js.map +0 -1
  744. package/workflows/container-contents/documentTombstoneGate.js +0 -94
  745. package/workflows/container-contents/documentTombstoneGate.js.map +0 -1
  746. package/workflows/container-contents/folderRecovery.d.ts +0 -19
  747. package/workflows/container-contents/folderRecovery.js +0 -32
  748. package/workflows/container-contents/folderRecovery.js.map +0 -1
  749. package/workflows/container-contents/metadata.d.ts +0 -25
  750. package/workflows/container-contents/metadata.js +0 -217
  751. package/workflows/container-contents/metadata.js.map +0 -1
  752. package/workflows/container-contents/metadataEvents.d.ts +0 -7
  753. package/workflows/container-contents/metadataEvents.js +0 -47
  754. package/workflows/container-contents/metadataEvents.js.map +0 -1
  755. package/workflows/container-contents/metadataIncomingUpdateIsolation.js +0 -40
  756. package/workflows/container-contents/metadataIncomingUpdateIsolation.js.map +0 -1
  757. package/workflows/container-contents/metadataMutationPreparation.d.ts +0 -75
  758. package/workflows/container-contents/metadataMutationPreparation.js +0 -177
  759. package/workflows/container-contents/metadataMutationPreparation.js.map +0 -1
  760. package/workflows/container-contents/metadataPersistence.d.ts +0 -34
  761. package/workflows/container-contents/metadataPersistence.js +0 -254
  762. package/workflows/container-contents/metadataPersistence.js.map +0 -1
  763. package/workflows/container-contents/metadataPullContinuationInvalidation.js +0 -65
  764. package/workflows/container-contents/metadataPullContinuationInvalidation.js.map +0 -1
  765. package/workflows/container-contents/metadataReadState.d.ts +0 -2
  766. package/workflows/container-contents/metadataReadState.js.map +0 -1
  767. package/workflows/container-contents/metadataRecord.js +0 -43
  768. package/workflows/container-contents/metadataRecord.js.map +0 -1
  769. package/workflows/container-contents/metadataRemoteSync.d.ts +0 -38
  770. package/workflows/container-contents/metadataRemoteSync.js +0 -91
  771. package/workflows/container-contents/metadataRemoteSync.js.map +0 -1
  772. package/workflows/container-contents/metadataStateInstallation.d.ts +0 -3
  773. package/workflows/container-contents/metadataStateInstallation.js.map +0 -1
  774. package/workflows/container-contents/metadataStateIsolation.js +0 -80
  775. package/workflows/container-contents/metadataStateIsolation.js.map +0 -1
  776. package/workflows/container-contents/metadataSyncErrors.js +0 -41
  777. package/workflows/container-contents/metadataSyncErrors.js.map +0 -1
  778. package/workflows/container-contents/metadataSyncSettlement.d.ts +0 -13
  779. package/workflows/container-contents/metadataSyncSettlement.js +0 -27
  780. package/workflows/container-contents/metadataSyncSettlement.js.map +0 -1
  781. package/workflows/container-contents/metadataTypes.d.ts +0 -54
  782. package/workflows/container-contents/metadataTypes.js.map +0 -1
  783. package/workflows/container-contents/orphanedDocumentSql.js +0 -39
  784. package/workflows/container-contents/orphanedDocumentSql.js.map +0 -1
  785. package/workflows/container-contents/pendingDownloads.d.ts +0 -12
  786. package/workflows/container-contents/pendingDownloads.js +0 -42
  787. package/workflows/container-contents/pendingDownloads.js.map +0 -1
  788. package/workflows/container-contents/pendingWrites.d.ts +0 -26
  789. package/workflows/container-contents/pendingWrites.js +0 -116
  790. package/workflows/container-contents/pendingWrites.js.map +0 -1
  791. package/workflows/container-contents/remoteContainerPageHydration.js +0 -244
  792. package/workflows/container-contents/remoteContainerPageHydration.js.map +0 -1
  793. package/workflows/container-contents/remoteContainerState.js +0 -263
  794. package/workflows/container-contents/remoteContainerState.js.map +0 -1
  795. package/workflows/container-contents/remoteHydration.d.ts +0 -28
  796. package/workflows/container-contents/remoteHydration.js +0 -302
  797. package/workflows/container-contents/remoteHydration.js.map +0 -1
  798. package/workflows/container-contents/staleRootRecovery.js +0 -111
  799. package/workflows/container-contents/staleRootRecovery.js.map +0 -1
  800. package/workflows/documents/attachmentPersistence.d.ts +0 -58
  801. package/workflows/documents/attachmentPersistence.js.map +0 -1
  802. package/workflows/documents/blobMutationLock.d.ts +0 -8
  803. package/workflows/documents/blobMutationLock.js +0 -35
  804. package/workflows/documents/blobMutationLock.js.map +0 -1
  805. package/workflows/documents/create.d.ts +0 -56
  806. package/workflows/documents/create.js +0 -258
  807. package/workflows/documents/create.js.map +0 -1
  808. package/workflows/documents/createAdoption.js +0 -100
  809. package/workflows/documents/createAdoption.js.map +0 -1
  810. package/workflows/documents/createProjection.d.ts +0 -14
  811. package/workflows/documents/createProjectionFetch.d.ts +0 -27
  812. package/workflows/documents/createProjectionFetch.js.map +0 -1
  813. package/workflows/documents/createResponse.js +0 -49
  814. package/workflows/documents/createResponse.js.map +0 -1
  815. package/workflows/documents/documentCreationPersistence.js +0 -16
  816. package/workflows/documents/documentCreationPersistence.js.map +0 -1
  817. package/workflows/documents/initialSync.js +0 -65
  818. package/workflows/documents/initialSync.js.map +0 -1
  819. package/workflows/documents/linkSet.d.ts +0 -20
  820. package/workflows/documents/linkSet.js +0 -290
  821. package/workflows/documents/linkSet.js.map +0 -1
  822. package/workflows/documents/linkSetAuthority.js +0 -61
  823. package/workflows/documents/linkSetAuthority.js.map +0 -1
  824. package/workflows/documents/linkSetBlobRewraps.js +0 -143
  825. package/workflows/documents/linkSetBlobRewraps.js.map +0 -1
  826. package/workflows/documents/linkSetProjectionSeed.js +0 -119
  827. package/workflows/documents/linkSetProjectionSeed.js.map +0 -1
  828. package/workflows/documents/linkSetRemote.d.ts +0 -23
  829. package/workflows/documents/linkSetRemote.js +0 -187
  830. package/workflows/documents/linkSetRemote.js.map +0 -1
  831. package/workflows/documents/orphanBlobReclaimState.js.map +0 -1
  832. package/workflows/documents/orphanBlobReclaims.d.ts +0 -6
  833. package/workflows/documents/orphanBlobReclaims.js +0 -143
  834. package/workflows/documents/orphanBlobReclaims.js.map +0 -1
  835. package/workflows/documents/persistedDocumentRemoval.d.ts +0 -44
  836. package/workflows/documents/persistedDocumentRemoval.js +0 -70
  837. package/workflows/documents/persistedDocumentRemoval.js.map +0 -1
  838. package/workflows/documents/purge.d.ts +0 -53
  839. package/workflows/documents/purge.js +0 -204
  840. package/workflows/documents/purge.js.map +0 -1
  841. package/workflows/documents/readOnlyProjectionFailure.js +0 -30
  842. package/workflows/documents/readOnlyProjectionFailure.js.map +0 -1
  843. package/workflows/documents/readOnlySync.d.ts +0 -71
  844. package/workflows/documents/readOnlySync.js +0 -269
  845. package/workflows/documents/readOnlySync.js.map +0 -1
  846. package/workflows/documents/reportDocumentSyncQuarantine.js.map +0 -1
  847. package/workflows/documents/subtreePurgeScope.d.ts +0 -8
  848. package/workflows/documents/subtreePurgeScope.js +0 -18
  849. package/workflows/documents/subtreePurgeScope.js.map +0 -1
  850. package/workflows/documents/sync.d.ts +0 -4
  851. package/workflows/documents/sync.js +0 -287
  852. package/workflows/documents/sync.js.map +0 -1
  853. package/workflows/documents/syncAbandon.js +0 -51
  854. package/workflows/documents/syncAbandon.js.map +0 -1
  855. package/workflows/documents/syncAttemptPlanning.js +0 -79
  856. package/workflows/documents/syncAttemptPlanning.js.map +0 -1
  857. package/workflows/documents/syncAttemptState.d.ts +0 -27
  858. package/workflows/documents/syncAttemptState.js.map +0 -1
  859. package/workflows/documents/syncAutomaticContainerRekeys.js +0 -119
  860. package/workflows/documents/syncAutomaticContainerRekeys.js.map +0 -1
  861. package/workflows/documents/syncContainerRekeyPreparation.js +0 -227
  862. package/workflows/documents/syncContainerRekeyPreparation.js.map +0 -1
  863. package/workflows/documents/syncContainerRekeyProjection.js +0 -79
  864. package/workflows/documents/syncContainerRekeyProjection.js.map +0 -1
  865. package/workflows/documents/syncContainerRekeys.js +0 -72
  866. package/workflows/documents/syncContainerRekeys.js.map +0 -1
  867. package/workflows/documents/syncContentKeys.d.ts +0 -39
  868. package/workflows/documents/syncContentKeys.js +0 -254
  869. package/workflows/documents/syncContentKeys.js.map +0 -1
  870. package/workflows/documents/syncFailureClassification.d.ts +0 -74
  871. package/workflows/documents/syncFailureClassification.js +0 -122
  872. package/workflows/documents/syncFailureClassification.js.map +0 -1
  873. package/workflows/documents/syncFailures.js +0 -252
  874. package/workflows/documents/syncFailures.js.map +0 -1
  875. package/workflows/documents/syncLane.d.ts +0 -20
  876. package/workflows/documents/syncLane.js +0 -94
  877. package/workflows/documents/syncLane.js.map +0 -1
  878. package/workflows/documents/syncPlanIdentity.js +0 -203
  879. package/workflows/documents/syncPlanIdentity.js.map +0 -1
  880. package/workflows/documents/syncPlanMaterial.js +0 -306
  881. package/workflows/documents/syncPlanMaterial.js.map +0 -1
  882. package/workflows/documents/syncPlanProjection.js.map +0 -1
  883. package/workflows/documents/syncPlanRequestBounds.js +0 -54
  884. package/workflows/documents/syncPlanRequestBounds.js.map +0 -1
  885. package/workflows/documents/syncPolicyRepair.js +0 -50
  886. package/workflows/documents/syncPolicyRepair.js.map +0 -1
  887. package/workflows/documents/syncRecoveryRekey.d.ts +0 -70
  888. package/workflows/documents/syncRecoveryRekey.js +0 -120
  889. package/workflows/documents/syncRecoveryRekey.js.map +0 -1
  890. package/workflows/documents/syncRekeyCommit.js +0 -18
  891. package/workflows/documents/syncRepairAbandon.js.map +0 -1
  892. package/workflows/documents/syncRepairAccess.js +0 -42
  893. package/workflows/documents/syncRepairAccess.js.map +0 -1
  894. package/workflows/documents/syncResponseResult.js +0 -134
  895. package/workflows/documents/syncResponseResult.js.map +0 -1
  896. package/workflows/documents/syncSubmittedResult.js +0 -119
  897. package/workflows/documents/syncSubmittedResult.js.map +0 -1
  898. package/workflows/documents/syncTrace.js +0 -148
  899. package/workflows/organizations/acknowledgedDirectoryBindings.js +0 -18
  900. package/workflows/organizations/acknowledgedDirectoryBindings.js.map +0 -1
  901. package/workflows/organizations/authoredPrincipalPolicyWarmer.js +0 -25
  902. package/workflows/organizations/authoredPrincipalPolicyWarmer.js.map +0 -1
  903. package/workflows/organizations/commitCurrentGroupPolicyMutation.js +0 -139
  904. package/workflows/organizations/commitCurrentGroupPolicyMutation.js.map +0 -1
  905. package/workflows/organizations/createCurrentOrganizationGroup.js +0 -85
  906. package/workflows/organizations/createCurrentOrganizationGroup.js.map +0 -1
  907. package/workflows/organizations/createOrganization.d.ts +0 -62
  908. package/workflows/organizations/createOrganization.js +0 -128
  909. package/workflows/organizations/createOrganization.js.map +0 -1
  910. package/workflows/organizations/currentGroupMetadataAuthority.js +0 -53
  911. package/workflows/organizations/currentGroupMetadataAuthority.js.map +0 -1
  912. package/workflows/organizations/currentGroupMutationReferences.js +0 -35
  913. package/workflows/organizations/currentGroupMutationReferences.js.map +0 -1
  914. package/workflows/organizations/currentGroupPolicyMutationContext.js +0 -79
  915. package/workflows/organizations/currentGroupPolicyMutationContext.js.map +0 -1
  916. package/workflows/organizations/currentOrganizationGroupNames.js +0 -72
  917. package/workflows/organizations/currentOrganizationGroupNames.js.map +0 -1
  918. package/workflows/organizations/currentOrganizationMutationAuthority.js +0 -16
  919. package/workflows/organizations/currentOrganizationMutationAuthority.js.map +0 -1
  920. package/workflows/organizations/currentOrganizationMutationRetention.js +0 -64
  921. package/workflows/organizations/currentOrganizationMutationRetention.js.map +0 -1
  922. package/workflows/organizations/currentPolicyMutationAcknowledgement.js +0 -65
  923. package/workflows/organizations/currentPolicyMutationAcknowledgement.js.map +0 -1
  924. package/workflows/organizations/currentPrincipalMutationLease.js +0 -39
  925. package/workflows/organizations/currentPrincipalMutationLease.js.map +0 -1
  926. package/workflows/organizations/dataUsageReadModel.d.ts +0 -19
  927. package/workflows/organizations/dataUsageReadModel.js +0 -64
  928. package/workflows/organizations/dataUsageReadModel.js.map +0 -1
  929. package/workflows/organizations/deleteCurrentOrganizationGroup.js +0 -35
  930. package/workflows/organizations/deleteCurrentOrganizationGroup.js.map +0 -1
  931. package/workflows/organizations/deleteOrganizationGroup.d.ts +0 -19
  932. package/workflows/organizations/deleteOrganizationGroup.js +0 -75
  933. package/workflows/organizations/deleteOrganizationGroup.js.map +0 -1
  934. package/workflows/organizations/groupCreation.d.ts +0 -21
  935. package/workflows/organizations/groupCreation.js +0 -68
  936. package/workflows/organizations/groupCreation.js.map +0 -1
  937. package/workflows/organizations/groupMembershipName.d.ts +0 -8
  938. package/workflows/organizations/groupMembershipName.js +0 -18
  939. package/workflows/organizations/groupMembershipName.js.map +0 -1
  940. package/workflows/organizations/groupMetadataAccess.d.ts +0 -33
  941. package/workflows/organizations/groupMetadataAccess.js +0 -114
  942. package/workflows/organizations/groupMetadataAccess.js.map +0 -1
  943. package/workflows/organizations/groupMetadataBinding.js +0 -19
  944. package/workflows/organizations/groupMetadataBinding.js.map +0 -1
  945. package/workflows/organizations/groupMetadataContainerAuthority.js +0 -41
  946. package/workflows/organizations/groupMetadataContainerAuthority.js.map +0 -1
  947. package/workflows/organizations/groupMetadataErrors.js +0 -40
  948. package/workflows/organizations/groupMetadataRootBinding.js +0 -51
  949. package/workflows/organizations/groupMetadataRootBinding.js.map +0 -1
  950. package/workflows/organizations/groupMetadataRuntime.js +0 -47
  951. package/workflows/organizations/groupMetadataRuntime.js.map +0 -1
  952. package/workflows/organizations/groupNameUniqueness.js +0 -151
  953. package/workflows/organizations/groupNameUniqueness.js.map +0 -1
  954. package/workflows/organizations/groupPolicyHistoryPage.js.map +0 -1
  955. package/workflows/organizations/groupPolicyMutationAcknowledgement.js +0 -174
  956. package/workflows/organizations/groupPolicyMutationAcknowledgement.js.map +0 -1
  957. package/workflows/organizations/groupPolicyMutationContext.d.ts +0 -58
  958. package/workflows/organizations/groupPolicyMutationContext.js +0 -166
  959. package/workflows/organizations/groupPolicyMutationContext.js.map +0 -1
  960. package/workflows/organizations/groupPolicyMutationEvidence.d.ts +0 -26
  961. package/workflows/organizations/groupPolicyMutationEvidence.js +0 -64
  962. package/workflows/organizations/groupPolicyMutationEvidence.js.map +0 -1
  963. package/workflows/organizations/groupPolicyMutationHead.js +0 -26
  964. package/workflows/organizations/groupPolicyRequests.js +0 -181
  965. package/workflows/organizations/groupPolicyRequests.js.map +0 -1
  966. package/workflows/organizations/groupPolicyVerification.js +0 -74
  967. package/workflows/organizations/groupPolicyVerification.js.map +0 -1
  968. package/workflows/organizations/listLocalOrganizations.d.ts +0 -20
  969. package/workflows/organizations/listLocalOrganizations.js +0 -137
  970. package/workflows/organizations/listLocalOrganizations.js.map +0 -1
  971. package/workflows/organizations/loadPolicyHistoryDetails.js +0 -78
  972. package/workflows/organizations/loadPolicyHistoryDetails.js.map +0 -1
  973. package/workflows/organizations/localReadModelDetails.d.ts +0 -25
  974. package/workflows/organizations/localReadModelDetails.js +0 -182
  975. package/workflows/organizations/localReadModelDetails.js.map +0 -1
  976. package/workflows/organizations/organizationGroupDirectory.js +0 -153
  977. package/workflows/organizations/organizationGroupDirectory.js.map +0 -1
  978. package/workflows/organizations/organizationGroupNamePolicies.js +0 -48
  979. package/workflows/organizations/organizationGroupNamePolicies.js.map +0 -1
  980. package/workflows/organizations/organizationGroupNames.js +0 -13
  981. package/workflows/organizations/organizationGroupNames.js.map +0 -1
  982. package/workflows/organizations/organizationPolicyHistoryDetails.js +0 -110
  983. package/workflows/organizations/organizationPolicyHistoryDetails.js.map +0 -1
  984. package/workflows/organizations/organizationPolicyHistoryVerification.js +0 -67
  985. package/workflows/organizations/organizationPolicyHistoryVerification.js.map +0 -1
  986. package/workflows/organizations/organizationPresentationAccessState.js +0 -173
  987. package/workflows/organizations/organizationPresentationAccessState.js.map +0 -1
  988. package/workflows/organizations/organizationPresentationFailures.js +0 -7
  989. package/workflows/organizations/organizationProvisioningAttempt.d.ts +0 -36
  990. package/workflows/organizations/organizationProvisioningAttempt.js +0 -205
  991. package/workflows/organizations/organizationProvisioningAttempt.js.map +0 -1
  992. package/workflows/organizations/organizationReplacementVerification.js +0 -26
  993. package/workflows/organizations/organizationReplacementVerification.js.map +0 -1
  994. package/workflows/organizations/policyHistoryAccessDenial.js +0 -19
  995. package/workflows/organizations/policyHistoryAccessDenial.js.map +0 -1
  996. package/workflows/organizations/policyHistoryCache.js +0 -42
  997. package/workflows/organizations/policyHistoryCache.js.map +0 -1
  998. package/workflows/organizations/policyHistoryReadModel.d.ts +0 -9
  999. package/workflows/organizations/policyHistoryTypes.d.ts +0 -58
  1000. package/workflows/organizations/precedingPrincipalRematerialization.js +0 -31
  1001. package/workflows/organizations/precedingPrincipalRematerialization.js.map +0 -1
  1002. package/workflows/organizations/principalContainerRematerialization.js +0 -321
  1003. package/workflows/organizations/principalContainerRematerialization.js.map +0 -1
  1004. package/workflows/organizations/principalContainerRematerializationPlanning.js +0 -77
  1005. package/workflows/organizations/principalContainerRematerializationPlanning.js.map +0 -1
  1006. package/workflows/organizations/principalContainerRematerializationTargets.js +0 -79
  1007. package/workflows/organizations/principalContainerRematerializationTargets.js.map +0 -1
  1008. package/workflows/organizations/principalMutationJournalManagement.d.ts +0 -26
  1009. package/workflows/organizations/principalMutationJournalManagement.js +0 -104
  1010. package/workflows/organizations/principalMutationJournalManagement.js.map +0 -1
  1011. package/workflows/organizations/principalMutationJournalSession.d.ts +0 -26
  1012. package/workflows/organizations/principalMutationJournalSession.js +0 -85
  1013. package/workflows/organizations/principalMutationJournalSession.js.map +0 -1
  1014. package/workflows/organizations/principalMutationReceipt.js +0 -28
  1015. package/workflows/organizations/principalMutationReceipt.js.map +0 -1
  1016. package/workflows/organizations/principalOperationReceipt.d.ts +0 -5
  1017. package/workflows/organizations/principalOperationReceipt.js +0 -36
  1018. package/workflows/organizations/principalOperationReceipt.js.map +0 -1
  1019. package/workflows/organizations/principalPolicy.d.ts +0 -98
  1020. package/workflows/organizations/principalPolicy.js +0 -256
  1021. package/workflows/organizations/principalPolicy.js.map +0 -1
  1022. package/workflows/organizations/principalPolicyApi.d.ts +0 -33
  1023. package/workflows/organizations/principalPolicyApi.js.map +0 -1
  1024. package/workflows/organizations/principalPolicyReceiptArtifacts.js +0 -74
  1025. package/workflows/organizations/principalPolicyReceiptArtifacts.js.map +0 -1
  1026. package/workflows/organizations/principalPolicyRecipients.js +0 -43
  1027. package/workflows/organizations/principalPolicyRecipients.js.map +0 -1
  1028. package/workflows/organizations/principalPolicyRequest.d.ts +0 -68
  1029. package/workflows/organizations/principalPolicyRequest.js +0 -176
  1030. package/workflows/organizations/readModel.d.ts +0 -70
  1031. package/workflows/organizations/readModel.js +0 -10
  1032. package/workflows/organizations/readModel.js.map +0 -1
  1033. package/workflows/organizations/readModelProjection.d.ts +0 -29
  1034. package/workflows/organizations/readModelProjection.js +0 -255
  1035. package/workflows/organizations/readModelProjection.js.map +0 -1
  1036. package/workflows/organizations/retainAcknowledgedPrincipalCurrents.d.ts +0 -6
  1037. package/workflows/organizations/retainAcknowledgedPrincipalCurrents.js +0 -20
  1038. package/workflows/organizations/retainAcknowledgedPrincipalCurrents.js.map +0 -1
  1039. package/workflows/organizations/runtimeCurrentGroupMutation.js +0 -113
  1040. package/workflows/organizations/runtimeCurrentGroupMutation.js.map +0 -1
  1041. package/workflows/organizations/runtimeCurrentOrganizationMutation.js +0 -48
  1042. package/workflows/organizations/runtimeCurrentOrganizationMutation.js.map +0 -1
  1043. package/workflows/organizations/runtimeGroupMetadataAuthority.js +0 -16
  1044. package/workflows/organizations/runtimeGroupMetadataAuthority.js.map +0 -1
  1045. package/workflows/organizations/submitGroupPolicyCommit.d.ts +0 -22
  1046. package/workflows/organizations/submitGroupPolicyCommit.js +0 -71
  1047. package/workflows/organizations/submitGroupPolicyCommit.js.map +0 -1
  1048. package/workflows/principals/acknowledgedPrincipalCurrents.d.ts +0 -33
  1049. package/workflows/principals/acknowledgedPrincipalCurrents.js +0 -140
  1050. package/workflows/principals/acknowledgedPrincipalCurrents.js.map +0 -1
  1051. package/workflows/principals/acknowledgedPrincipalPredecessor.d.ts +0 -39
  1052. package/workflows/principals/acknowledgedPrincipalPredecessor.js +0 -87
  1053. package/workflows/principals/acknowledgedPrincipalPredecessor.js.map +0 -1
  1054. package/workflows/principals/initialPrincipalCurrentPublication.js +0 -84
  1055. package/workflows/principals/initialPrincipalCurrentPublication.js.map +0 -1
  1056. package/workflows/principals/loadRecoveredPrincipalHistoryPage.d.ts +0 -10
  1057. package/workflows/principals/loadRecoveredPrincipalHistoryPage.js +0 -119
  1058. package/workflows/principals/loadRecoveredPrincipalHistoryPage.js.map +0 -1
  1059. package/workflows/principals/policyCache.d.ts +0 -20
  1060. package/workflows/principals/policyCache.js +0 -242
  1061. package/workflows/principals/policyCache.js.map +0 -1
  1062. package/workflows/principals/principalAcknowledgementChecks.d.ts +0 -30
  1063. package/workflows/principals/principalCurrentPublicationSeal.js +0 -51
  1064. package/workflows/principals/principalCurrentPublicationSeal.js.map +0 -1
  1065. package/workflows/principals/principalCurrentRecoveryBatch.js +0 -14
  1066. package/workflows/principals/principalCurrentRecoveryBatch.js.map +0 -1
  1067. package/workflows/principals/principalHistoryRecoveryAuthority.js +0 -20
  1068. package/workflows/principals/principalHistoryRecoveryAuthority.js.map +0 -1
  1069. package/workflows/principals/principalHistoryRecoveryPrefix.js +0 -69
  1070. package/workflows/principals/principalHistoryRecoveryPrefix.js.map +0 -1
  1071. package/workflows/principals/principalHistoryRecoveryReferences.js +0 -68
  1072. package/workflows/principals/principalHistoryRecoveryReferences.js.map +0 -1
  1073. package/workflows/principals/principalHistoryRecoveryStage.js +0 -61
  1074. package/workflows/principals/principalHistoryRecoveryStage.js.map +0 -1
  1075. package/workflows/principals/principalHistoryRecoveryTypes.d.ts +0 -35
  1076. package/workflows/principals/principalHistoryRecoveryTypes.js +0 -16
  1077. package/workflows/principals/principalHistoryRecoveryTypes.js.map +0 -1
  1078. package/workflows/principals/principalHistoryRecoveryVerification.js +0 -29
  1079. package/workflows/principals/principalPolicyCacheAdvance.js +0 -39
  1080. package/workflows/principals/principalPolicyCacheAdvance.js.map +0 -1
  1081. package/workflows/principals/principalPolicyCacheValidation.js +0 -149
  1082. package/workflows/principals/principalPolicyCacheValidation.js.map +0 -1
  1083. package/workflows/principals/principalPolicyOrganizationScope.js +0 -67
  1084. package/workflows/principals/principalPolicyOrganizationScope.js.map +0 -1
  1085. package/workflows/principals/principalRecoveryDirectory.d.ts +0 -10
  1086. package/workflows/principals/principalRecoveryDirectory.js +0 -127
  1087. package/workflows/principals/principalRecoveryDirectory.js.map +0 -1
  1088. package/workflows/principals/principalRecoveryDiscoveryPage.js.map +0 -1
  1089. package/workflows/principals/principalRecoveryLocalPreference.js +0 -30
  1090. package/workflows/principals/principalRecoveryLocalPreference.js.map +0 -1
  1091. package/workflows/principals/principalRecoveryMemo.d.ts +0 -21
  1092. package/workflows/principals/principalRecoveryMemo.js +0 -178
  1093. package/workflows/principals/principalRecoveryMemo.js.map +0 -1
  1094. package/workflows/principals/principalRecoveryMemoValidity.js +0 -33
  1095. package/workflows/principals/principalRecoveryMemoValidity.js.map +0 -1
  1096. package/workflows/principals/principalRecoveryOutage.js +0 -40
  1097. package/workflows/principals/principalRecoveryOutage.js.map +0 -1
  1098. package/workflows/principals/publicPrincipalHistoryAuthority.js +0 -60
  1099. package/workflows/principals/publicPrincipalHistoryAuthority.js.map +0 -1
  1100. package/workflows/principals/publicPrincipalHistoryPage.js +0 -88
  1101. package/workflows/principals/publicPrincipalHistoryPage.js.map +0 -1
  1102. package/workflows/principals/publicPrincipalHistoryProgress.js +0 -179
  1103. package/workflows/principals/publicPrincipalHistoryProgress.js.map +0 -1
  1104. package/workflows/principals/publicPrincipalHistoryTypes.d.ts +0 -41
  1105. package/workflows/principals/publicPrincipalHistoryTypes.js.map +0 -1
  1106. package/workflows/principals/publicProjectionDirectory.js +0 -40
  1107. package/workflows/principals/publicProjectionDirectory.js.map +0 -1
  1108. package/workflows/principals/publicProjectionPrincipal.js +0 -54
  1109. package/workflows/principals/publicProjectionPrincipal.js.map +0 -1
  1110. package/workflows/principals/reconcileAcknowledgedPrincipalCurrent.js +0 -68
  1111. package/workflows/principals/reconcileAcknowledgedPrincipalCurrent.js.map +0 -1
  1112. package/workflows/principals/recoverCurrentOrganizationPolicy.js +0 -38
  1113. package/workflows/principals/recoverCurrentOrganizationPolicy.js.map +0 -1
  1114. package/workflows/principals/recoverPrincipalHistoryPage.js +0 -31
  1115. package/workflows/principals/recoverPrincipalPolicyHistory.js +0 -295
  1116. package/workflows/principals/recoverPrincipalPolicyHistory.js.map +0 -1
  1117. package/workflows/principals/recoverProjectionPolicyHistory.d.ts +0 -9
  1118. package/workflows/principals/recoverProjectionPolicyHistory.js +0 -98
  1119. package/workflows/principals/recoverProjectionPolicyHistory.js.map +0 -1
  1120. package/workflows/principals/recoverPublicPrincipalHistory.js +0 -178
  1121. package/workflows/principals/recoverPublicPrincipalHistory.js.map +0 -1
  1122. package/workflows/principals/recoverScopedPrincipalPolicyHistory.d.ts +0 -27
  1123. package/workflows/principals/recoverScopedPrincipalPolicyHistory.js +0 -163
  1124. package/workflows/principals/recoverScopedPrincipalPolicyHistory.js.map +0 -1
  1125. package/workflows/principals/selectPublicPrincipalHistory.js +0 -96
  1126. package/workflows/principals/selectPublicPrincipalHistory.js.map +0 -1
  1127. /package/workflows/blobs/{readAttachmentTransfer.js → hydration/readAttachmentTransfer.js} +0 -0
  1128. /package/workflows/blobs/{readAttachmentTransfer.js.map → hydration/readAttachmentTransfer.js.map} +0 -0
  1129. /package/workflows/blobs/{multipartStageResolution.js → upload/multipartStageResolution.js} +0 -0
  1130. /package/workflows/container-contents/{documentAttributionRanges.js → attribution/documentAttributionRanges.js} +0 -0
  1131. /package/workflows/container-contents/{documentAttributionRanges.js.map → attribution/documentAttributionRanges.js.map} +0 -0
  1132. /package/workflows/container-contents/{containerDocumentListing.js.map → documentDiscovery/containerDocumentListing.js.map} +0 -0
  1133. /package/workflows/container-contents/{documentDiscoveryCandidates.js → documentDiscovery/documentDiscoveryCandidates.js} +0 -0
  1134. /package/workflows/container-contents/{documentDiscoveryLanes.js → documentDiscovery/documentDiscoveryLanes.js} +0 -0
  1135. /package/workflows/container-contents/{documentDiscoveryTypes.js → documentDiscovery/documentDiscoveryTypes.js} +0 -0
  1136. /package/workflows/container-contents/{documentHeadScope.js → documentDiscovery/documentHeadScope.js} +0 -0
  1137. /package/workflows/container-contents/{documentHeadScope.js.map → documentDiscovery/documentHeadScope.js.map} +0 -0
  1138. /package/workflows/container-contents/{documentLocalRelink.js → documentLinks/documentLocalRelink.js} +0 -0
  1139. /package/workflows/container-contents/{documentMoveDeniedReplay.js → documentMove/documentMoveDeniedReplay.js} +0 -0
  1140. /package/workflows/container-contents/{documentMoveUnlinkIds.js → documentMove/documentMoveUnlinkIds.js} +0 -0
  1141. /package/workflows/container-contents/{documentMoveUnlinkIds.js.map → documentMove/documentMoveUnlinkIds.js.map} +0 -0
  1142. /package/workflows/container-contents/{documentRuntimeTargetSync.js → documentPriming/documentRuntimeTargetSync.js} +0 -0
  1143. /package/workflows/container-contents/{documentStructureTypes.js → documentQueries/documentStructureTypes.js} +0 -0
  1144. /package/workflows/container-contents/{blobInfoRows.js → info/blobInfoRows.js} +0 -0
  1145. /package/workflows/container-contents/{blobInfoRows.js.map → info/blobInfoRows.js.map} +0 -0
  1146. /package/workflows/container-contents/{blobInfoTypes.js → info/blobInfoTypes.js} +0 -0
  1147. /package/workflows/container-contents/{documentInfoTypes.js → info/documentInfoTypes.js} +0 -0
  1148. /package/workflows/container-contents/{metadataReadState.js → metadata/metadataReadState.js} +0 -0
  1149. /package/workflows/container-contents/{metadataStateInstallation.js → metadata/metadataStateInstallation.js} +0 -0
  1150. /package/workflows/container-contents/{metadataSyncFollowup.js → metadata/metadataSyncFollowup.js} +0 -0
  1151. /package/workflows/container-contents/{metadataSyncFollowup.js.map → metadata/metadataSyncFollowup.js.map} +0 -0
  1152. /package/workflows/container-contents/{metadataSyncRegistrations.d.ts → metadata/metadataSyncRegistrations.d.ts} +0 -0
  1153. /package/workflows/container-contents/{metadataSyncRegistrations.js → metadata/metadataSyncRegistrations.js} +0 -0
  1154. /package/workflows/container-contents/{metadataSyncRegistrations.js.map → metadata/metadataSyncRegistrations.js.map} +0 -0
  1155. /package/workflows/container-contents/{metadataTypes.js → metadata/metadataTypes.js} +0 -0
  1156. /package/workflows/container-contents/{pendingWritesTypes.d.ts → pendingWrites/pendingWritesTypes.d.ts} +0 -0
  1157. /package/workflows/container-contents/{pendingWritesTypes.js → pendingWrites/pendingWritesTypes.js} +0 -0
  1158. /package/workflows/container-contents/{pendingWritesTypes.js.map → pendingWrites/pendingWritesTypes.js.map} +0 -0
  1159. /package/workflows/container-contents/{remoteHydrationLog.js → remoteHydration/remoteHydrationLog.js} +0 -0
  1160. /package/workflows/container-contents/{remoteHydrationLog.js.map → remoteHydration/remoteHydrationLog.js.map} +0 -0
  1161. /package/workflows/documents/{attachmentPersistence.js → attachments/attachmentPersistence.js} +0 -0
  1162. /package/workflows/documents/{orphanBlobReclaimState.js → attachments/orphanBlobReclaimState.js} +0 -0
  1163. /package/workflows/documents/{createProjection.js → create/createProjection.js} +0 -0
  1164. /package/workflows/documents/{createProjection.js.map → create/createProjection.js.map} +0 -0
  1165. /package/workflows/documents/{createProjectionFetch.js → create/createProjectionFetch.js} +0 -0
  1166. /package/workflows/documents/{reportDocumentSyncQuarantine.js → sync/reportDocumentSyncQuarantine.js} +0 -0
  1167. /package/workflows/documents/{syncAttemptState.js → sync/syncAttemptState.js} +0 -0
  1168. /package/workflows/documents/{syncTrace.d.ts → sync/syncTrace.d.ts} +0 -0
  1169. /package/workflows/documents/{syncTrace.js.map → sync/syncTrace.js.map} +0 -0
  1170. /package/workflows/documents/{syncFailureClearance.d.ts → syncFailures/syncFailureClearance.d.ts} +0 -0
  1171. /package/workflows/documents/{syncFailureClearance.js → syncFailures/syncFailureClearance.js} +0 -0
  1172. /package/workflows/documents/{syncFailureClearance.js.map → syncFailures/syncFailureClearance.js.map} +0 -0
  1173. /package/workflows/documents/{syncRepairAbandon.js → syncFailures/syncRepairAbandon.js} +0 -0
  1174. /package/workflows/documents/{syncPlanProjection.js → syncPlan/syncPlanProjection.js} +0 -0
  1175. /package/workflows/documents/{syncRekeyCommit.js.map → syncRekeys/syncRekeyCommit.js.map} +0 -0
  1176. /package/workflows/organizations/{groupMetadataErrors.js.map → groupMetadata/groupMetadataErrors.js.map} +0 -0
  1177. /package/workflows/organizations/{groupMutationAuthorization.js → groupPolicy/groupMutationAuthorization.js} +0 -0
  1178. /package/workflows/organizations/{groupMutationAuthorization.js.map → groupPolicy/groupMutationAuthorization.js.map} +0 -0
  1179. /package/workflows/organizations/{groupPolicyMutationHead.js.map → groupPolicy/groupPolicyMutationHead.js.map} +0 -0
  1180. /package/workflows/organizations/{groupPolicyHistoryPage.js → policyHistory/groupPolicyHistoryPage.js} +0 -0
  1181. /package/workflows/organizations/{policyHistoryReadModel.js → policyHistory/policyHistoryReadModel.js} +0 -0
  1182. /package/workflows/organizations/{policyHistoryReadModel.js.map → policyHistory/policyHistoryReadModel.js.map} +0 -0
  1183. /package/workflows/organizations/{policyHistoryTypes.js → policyHistory/policyHistoryTypes.js} +0 -0
  1184. /package/workflows/organizations/{policyHistoryTypes.js.map → policyHistory/policyHistoryTypes.js.map} +0 -0
  1185. /package/workflows/organizations/{principalPolicyApi.js → principalPolicy/principalPolicyApi.js} +0 -0
  1186. /package/workflows/organizations/{principalPolicyRequest.js.map → principalPolicy/principalPolicyRequest.js.map} +0 -0
  1187. /package/workflows/organizations/{organizationPresentationFailures.js.map → readModel/organizationPresentationFailures.js.map} +0 -0
  1188. /package/workflows/principals/{principalAcknowledgementChecks.js → acknowledgements/principalAcknowledgementChecks.js} +0 -0
  1189. /package/workflows/principals/{principalAcknowledgementChecks.js.map → acknowledgements/principalAcknowledgementChecks.js.map} +0 -0
  1190. /package/workflows/principals/{principalHistoryRecoveryVerification.js.map → historyRecovery/principalHistoryRecoveryVerification.js.map} +0 -0
  1191. /package/workflows/principals/{recoverPrincipalHistoryPage.js.map → historyRecovery/recoverPrincipalHistoryPage.js.map} +0 -0
  1192. /package/workflows/principals/{recoverPrincipalPolicyHistory.d.ts → historyRecovery/recoverPrincipalPolicyHistory.d.ts} +0 -0
  1193. /package/workflows/principals/{principalPolicyCacheScope.js → policyCache/principalPolicyCacheScope.js} +0 -0
  1194. /package/workflows/principals/{principalPolicyCacheScope.js.map → policyCache/principalPolicyCacheScope.js.map} +0 -0
  1195. /package/workflows/principals/{publicPrincipalHistoryTypes.js → publicHistory/publicPrincipalHistoryTypes.js} +0 -0
  1196. /package/workflows/principals/{principalRecoveryDiscoveryPage.js → recoveryOperation/principalRecoveryDiscoveryPage.js} +0 -0
@@ -0,0 +1,274 @@
1
+ import { MAX_BLOB_CHUNK_COUNT } from "../../../internal/crypto/index.js";
2
+ import { MAX_MULTIPART_BLOB_PART_BYTES } from "../../../internal/validators/util/index.js";
3
+ import { BLOB_TRANSFER_CONCURRENCY, runBlobTransfer, } from "../../../data/blobs/transferPool.js";
4
+ import { releasePreparedParts, sha256BytesHex, takePartSource, } from "./multipartFirstParts.js";
5
+ import { multipartApiFailureMessage, multipartStagePath, } from "./multipartStageFailures.js";
6
+ import { resolveMultipartStage } from "./multipartStageResolution.js";
7
+ const DEFAULT_MULTIPART_UPLOAD_CONCURRENCY = 4;
8
+ const MAX_MULTIPART_UPLOAD_CONCURRENCY = 4;
9
+ // Fetch exposes no upload progress on every host. Allow a slow shared uplink
10
+ // (8 KiB/s total, shared by every admitted part), plus setup/encryption time.
11
+ const MULTIPART_TRANSFER_BYTES_PER_SECOND = 8 * 1024;
12
+ function pathSegment(value) {
13
+ return encodeURIComponent(String(value));
14
+ }
15
+ function multipartPartRequest(input) {
16
+ const basePath = `${multipartStagePath(input.stageId)}/parts/${pathSegment(input.partNumber)}`;
17
+ const authorization = { method: "POST", path: `${basePath}/upload` };
18
+ // A successful authorization clears its previous failure. If a memory-store
19
+ // byte request then fails, its separate transport diagnostic is authoritative.
20
+ return input.apiClient.getRequestFailure?.(authorization)
21
+ ? authorization
22
+ : { method: "PUT", path: `${basePath}/bytes` };
23
+ }
24
+ function normalizeMultipartUploadConcurrency(value) {
25
+ if (value === undefined) {
26
+ return DEFAULT_MULTIPART_UPLOAD_CONCURRENCY;
27
+ }
28
+ if (!Number.isInteger(value) ||
29
+ value <= 0 ||
30
+ value > MAX_MULTIPART_UPLOAD_CONCURRENCY) {
31
+ throw new Error(`Multipart blob upload concurrency must be between 1 and ${MAX_MULTIPART_UPLOAD_CONCURRENCY}`);
32
+ }
33
+ return value;
34
+ }
35
+ function isMultipartPartCommit(part) {
36
+ return part !== undefined;
37
+ }
38
+ async function uploadMultipartPartTasks(input) {
39
+ let failed = false;
40
+ let firstFailure;
41
+ let nextTaskIndex = 0;
42
+ const recordFailure = (error) => {
43
+ failed = true;
44
+ firstFailure ??= { error };
45
+ };
46
+ async function worker() {
47
+ while (!failed) {
48
+ const task = input.tasks[nextTaskIndex];
49
+ nextTaskIndex += 1;
50
+ if (!task) {
51
+ return;
52
+ }
53
+ try {
54
+ // A first part already holds the pool slot its prepared bytes use.
55
+ const heldPermit = input.prepared.get(task.partIndex)?.permit;
56
+ await runBlobTransfer(input.apiClient, async (signal) => {
57
+ if (failed)
58
+ return;
59
+ const aborted = () => recordFailure(signal.reason);
60
+ signal.addEventListener("abort", aborted, { once: true });
61
+ try {
62
+ const uploaded = await uploadMultipartPartBytes({
63
+ apiClient: input.apiClient,
64
+ encryption: input.encryption,
65
+ prepared: input.prepared,
66
+ sources: input.sources,
67
+ stageId: input.stageId,
68
+ task,
69
+ uploadId: input.uploadId,
70
+ signal,
71
+ });
72
+ signal.throwIfAborted();
73
+ if (!uploaded) {
74
+ failed = true;
75
+ throw new Error(multipartApiFailureMessage({
76
+ apiClient: input.apiClient,
77
+ fallback: `Multipart blob part ${task.partNumber} upload failed for stage ${input.stageId}.`,
78
+ request: multipartPartRequest({
79
+ apiClient: input.apiClient,
80
+ partNumber: task.partNumber,
81
+ stageId: input.stageId,
82
+ }),
83
+ }));
84
+ }
85
+ input.completeParts[task.partIndex] = {
86
+ etag: uploaded.part.etag,
87
+ partNumber: task.partNumber,
88
+ };
89
+ input.onPartUploaded?.(task);
90
+ }
91
+ catch (error) {
92
+ // Publish failure before releasing the permit to a queued sibling.
93
+ // Already-started parts still record success and drain through the join.
94
+ recordFailure(error);
95
+ }
96
+ finally {
97
+ signal.removeEventListener("abort", aborted);
98
+ }
99
+ }, 120_000 +
100
+ Math.ceil((task.byteLength * BLOB_TRANSFER_CONCURRENCY * 1000) /
101
+ MULTIPART_TRANSFER_BYTES_PER_SECOND), heldPermit);
102
+ }
103
+ catch (error) {
104
+ recordFailure(error);
105
+ }
106
+ }
107
+ }
108
+ const workerCount = Math.min(input.concurrency, input.tasks.length);
109
+ await Promise.all(Array.from({ length: workerCount }, () => worker()));
110
+ if (firstFailure) {
111
+ throw firstFailure.error;
112
+ }
113
+ }
114
+ // A first part was encrypted once before the stage existed; hand its bytes
115
+ // over (and release them) instead of encrypting it again.
116
+ async function encryptedPart(input) {
117
+ const prepared = input.prepared.get(input.task.partIndex);
118
+ if (prepared) {
119
+ input.prepared.delete(input.task.partIndex);
120
+ return prepared;
121
+ }
122
+ const bytes = await input.encryption.encryptPart(input.task.partIndex);
123
+ if (bytes.byteLength !== input.task.byteLength) {
124
+ throw new Error(`Encrypted blob part ${input.task.partNumber} byte length mismatch: expected ${input.task.byteLength.toLocaleString()}, received ${bytes.byteLength.toLocaleString()}.`);
125
+ }
126
+ return { bytes, sha256: await sha256BytesHex(bytes) };
127
+ }
128
+ async function uploadMultipartPartBytes(input) {
129
+ input.signal.throwIfAborted();
130
+ const { bytes: encryptedPartBytes, sha256 } = await encryptedPart(input);
131
+ input.signal.throwIfAborted();
132
+ const source = takePartSource(input.sources, input.task.partNumber);
133
+ const uploaded = await input.apiClient.uploadMultipartBlobPartBytes(input.stageId, input.task.partNumber, {
134
+ byteLength: encryptedPartBytes.byteLength,
135
+ encryptedBytes: encryptedPartBytes,
136
+ sha256,
137
+ ...(source === undefined ? {} : { source }),
138
+ uploadId: input.uploadId,
139
+ }, { signal: input.signal });
140
+ input.signal.throwIfAborted();
141
+ if (uploaded &&
142
+ (uploaded.stageId !== input.stageId ||
143
+ uploaded.uploadId !== input.uploadId ||
144
+ uploaded.part.partNumber !== input.task.partNumber ||
145
+ uploaded.part.byteLength !== input.task.byteLength)) {
146
+ throw new Error(`Multipart blob part ${input.task.partNumber} response does not match its request.`);
147
+ }
148
+ return uploaded;
149
+ }
150
+ function uploadedPartsByPartNumber(parts) {
151
+ return new Map(parts.map((part) => [part.partNumber, part]));
152
+ }
153
+ /**
154
+ * Plans encrypted part indices without materializing their bytes, reusing any
155
+ * already-staged parts and seeding cumulative progress for resumed uploads.
156
+ */
157
+ function planMultipartParts(input) {
158
+ const { encryption, uploadedParts } = input;
159
+ const completeParts = new Array(encryption.partCount);
160
+ const uploadTasks = [];
161
+ const progress = {
162
+ bytesTotal: 0,
163
+ bytesUploaded: 0,
164
+ partsCompleted: 0,
165
+ partsTotal: encryption.partCount,
166
+ };
167
+ for (let partIndex = 0; partIndex < encryption.partCount; partIndex += 1) {
168
+ const partNumber = partIndex + 1;
169
+ const byteLength = encryption.getPartByteLength(partIndex);
170
+ progress.bytesTotal += byteLength;
171
+ const uploadedPart = uploadedParts.get(partNumber);
172
+ if (uploadedPart?.byteLength === byteLength) {
173
+ completeParts[partIndex] = {
174
+ etag: uploadedPart.etag,
175
+ partNumber,
176
+ };
177
+ progress.partsCompleted += 1;
178
+ progress.bytesUploaded += byteLength;
179
+ continue;
180
+ }
181
+ uploadTasks.push({
182
+ byteLength,
183
+ partIndex,
184
+ partNumber,
185
+ });
186
+ }
187
+ return { completeParts, progress, uploadTasks };
188
+ }
189
+ function assertMultipartPlanLimits(encryption) {
190
+ if (encryption.partCount > MAX_BLOB_CHUNK_COUNT) {
191
+ throw new Error(`Multipart blob upload would require ${encryption.partCount.toLocaleString()} parts; the maximum is ${MAX_BLOB_CHUNK_COUNT.toLocaleString()} parts.`);
192
+ }
193
+ for (let index = 0; index < encryption.partCount; index += 1) {
194
+ if (encryption.getPartByteLength(index) > MAX_MULTIPART_BLOB_PART_BYTES) {
195
+ throw new Error(`Encrypted blob part ${index + 1} exceeds the 32 MiB multipart part limit.`);
196
+ }
197
+ }
198
+ }
199
+ export async function stageMultipartBlobAttachment(input) {
200
+ if (input.multipart.partSize !== input.encryption.chunkSize) {
201
+ throw new Error("Multipart part size must match the encryption chunk size exactly.");
202
+ }
203
+ assertMultipartPlanLimits(input.encryption);
204
+ const concurrency = normalizeMultipartUploadConcurrency(input.multipart.uploadConcurrency);
205
+ const resolved = await resolveMultipartStage({
206
+ apiClient: input.apiClient,
207
+ concurrency,
208
+ encryption: input.encryption,
209
+ multipart: input.multipart,
210
+ organizationId: input.organizationId,
211
+ onStageUnavailable: input.onStageUnavailable,
212
+ });
213
+ try {
214
+ return await uploadResolvedMultipartStage(input, concurrency, resolved);
215
+ }
216
+ finally {
217
+ // First parts no worker consumed (an early failure) return their slots.
218
+ releasePreparedParts(resolved.prepared);
219
+ }
220
+ }
221
+ async function uploadResolvedMultipartStage(input, concurrency, { prepared, sources, status, }) {
222
+ // Surface the stage id before any parts upload so the caller can persist it;
223
+ // an upload interrupted mid-flight can then resume this same stage.
224
+ await input.onStageResolved?.({
225
+ partSize: input.encryption.chunkSize,
226
+ stageId: status.stageId,
227
+ });
228
+ if (status.completed) {
229
+ input.onMultipartProgress?.({
230
+ bytesTotal: input.encryption.byteLength,
231
+ bytesUploaded: input.encryption.byteLength,
232
+ partsCompleted: input.encryption.partCount,
233
+ partsTotal: input.encryption.partCount,
234
+ });
235
+ return status.stageId;
236
+ }
237
+ const { completeParts, progress, uploadTasks } = planMultipartParts({
238
+ encryption: input.encryption,
239
+ uploadedParts: uploadedPartsByPartNumber(status.uploadedParts),
240
+ });
241
+ const reportMultipartProgress = () => {
242
+ input.onMultipartProgress?.({
243
+ bytesTotal: progress.bytesTotal,
244
+ bytesUploaded: progress.bytesUploaded,
245
+ partsCompleted: progress.partsCompleted,
246
+ partsTotal: progress.partsTotal,
247
+ });
248
+ };
249
+ reportMultipartProgress();
250
+ await uploadMultipartPartTasks({
251
+ apiClient: input.apiClient,
252
+ completeParts,
253
+ concurrency,
254
+ encryption: input.encryption,
255
+ onPartUploaded: (task) => {
256
+ progress.partsCompleted += 1;
257
+ progress.bytesUploaded += task.byteLength;
258
+ reportMultipartProgress();
259
+ },
260
+ prepared,
261
+ sources,
262
+ stageId: status.stageId,
263
+ tasks: uploadTasks,
264
+ uploadId: status.uploadId,
265
+ });
266
+ const committedParts = completeParts.filter(isMultipartPartCommit);
267
+ if (committedParts.length !== input.encryption.partCount) {
268
+ throw new Error(`Multipart blob upload incomplete for stage ${status.stageId}: committed ${committedParts.length.toLocaleString()} of ${input.encryption.partCount.toLocaleString()} parts.`);
269
+ }
270
+ // Binding the attachment completes the stage: the API assembles these parts
271
+ // and verifies the object's length and SHA-256 before promoting it.
272
+ return status.stageId;
273
+ }
274
+ //# sourceMappingURL=multipartUpload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipartUpload.js","sourceRoot":"","sources":["multipartUpload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EACL,yBAAyB,EACzB,eAAe,GAChB,MAAM,kCAAkC,CAAC;AAQ1C,OAAO,EAIL,oBAAoB,EACpB,cAAc,EACd,cAAc,GACf,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,oCAAoC,GAAG,CAAC,CAAC;AAC/C,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAC3C,6EAA6E;AAC7E,8EAA8E;AAC9E,MAAM,mCAAmC,GAAG,CAAC,GAAG,IAAI,CAAC;AAarD,SAAS,WAAW,CAAC,KAAsB;IACzC,OAAO,kBAAkB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAS,oBAAoB,CAAC,KAI7B;IACC,MAAM,QAAQ,GAAG,GAAG,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;IAC/F,MAAM,aAAa,GAAG,EAAE,MAAM,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,QAAQ,SAAS,EAAE,CAAC;IAC9E,4EAA4E;IAC5E,+EAA+E;IAC/E,OAAO,KAAK,CAAC,SAAS,CAAC,iBAAiB,EAAE,CAAC,aAAa,CAAC;QACvD,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,EAAE,MAAM,EAAE,KAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,QAAQ,EAAE,CAAC;AAC5D,CAAC;AAED,SAAS,mCAAmC,CAC1C,KAAyB;IAEzB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,oCAAoC,CAAC;IAC9C,CAAC;IACD,IACE,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,IAAI,CAAC;QACV,KAAK,GAAG,gCAAgC,EACxC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,2DAA2D,gCAAgC,EAAE,CAC9F,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAC5B,IAAqC;IAErC,OAAO,IAAI,KAAK,SAAS,CAAC;AAC5B,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KAWvC;IACC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,YAAqD,CAAC;IAC1D,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,MAAM,aAAa,GAAG,CAAC,KAAc,EAAE,EAAE;QACvC,MAAM,GAAG,IAAI,CAAC;QACd,YAAY,KAAK,EAAE,KAAK,EAAE,CAAC;IAC7B,CAAC,CAAC;IAEF,KAAK,UAAU,MAAM;QACnB,OAAO,CAAC,MAAM,EAAE,CAAC;YACf,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,aAAa,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,mEAAmE;gBACnE,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAC9D,MAAM,eAAe,CACnB,KAAK,CAAC,SAAS,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;oBACf,IAAI,MAAM;wBAAE,OAAO;oBACnB,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACnD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC1D,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC;4BAC9C,SAAS,EAAE,KAAK,CAAC,SAAS;4BAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;4BAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,IAAI;4BACJ,QAAQ,EAAE,KAAK,CAAC,QAAQ;4BACxB,MAAM;yBACP,CAAC,CAAC;wBACH,MAAM,CAAC,cAAc,EAAE,CAAC;wBACxB,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,MAAM,GAAG,IAAI,CAAC;4BACd,MAAM,IAAI,KAAK,CACb,0BAA0B,CAAC;gCACzB,SAAS,EAAE,KAAK,CAAC,SAAS;gCAC1B,QAAQ,EAAE,uBAAuB,IAAI,CAAC,UAAU,4BAA4B,KAAK,CAAC,OAAO,GAAG;gCAC5F,OAAO,EAAE,oBAAoB,CAAC;oCAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;oCAC1B,UAAU,EAAE,IAAI,CAAC,UAAU;oCAC3B,OAAO,EAAE,KAAK,CAAC,OAAO;iCACvB,CAAC;6BACH,CAAC,CACH,CAAC;wBACJ,CAAC;wBAED,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG;4BACpC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI;4BACxB,UAAU,EAAE,IAAI,CAAC,UAAU;yBAC5B,CAAC;wBACF,KAAK,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,mEAAmE;wBACnE,yEAAyE;wBACzE,aAAa,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;4BAAS,CAAC;wBACT,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC,EACD,OAAO;oBACL,IAAI,CAAC,IAAI,CACP,CAAC,IAAI,CAAC,UAAU,GAAG,yBAAyB,GAAG,IAAI,CAAC;wBAClD,mCAAmC,CACtC,EACH,UAAU,CACX,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,aAAa,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACpE,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACvE,IAAI,YAAY,EAAE,CAAC;QACjB,MAAM,YAAY,CAAC,KAAK,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,2EAA2E;AAC3E,0DAA0D;AAC1D,KAAK,UAAU,aAAa,CAAC,KAI5B;IACC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1D,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvE,IAAI,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,CAAC,IAAI,CAAC,UAAU,mCAAmC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,KAAK,CAAC,UAAU,CAAC,cAAc,EAAE,GAAG,CACxK,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;AACxD,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,KASvC;IACC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IAC9B,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IACzE,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IAC9B,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,4BAA4B,CACjE,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,CAAC,UAAU,EACrB;QACE,UAAU,EAAE,kBAAkB,CAAC,UAAU;QACzC,cAAc,EAAE,kBAAkB;QAClC,MAAM;QACN,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,QAAQ,EAAE,KAAK,CAAC,QAAQ;KACzB,EACD,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CACzB,CAAC;IACF,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;IAC9B,IACE,QAAQ;QACR,CAAC,QAAQ,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YACjC,QAAQ,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;YACpC,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU;YAClD,QAAQ,CAAC,IAAI,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EACrD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,CAAC,IAAI,CAAC,UAAU,uCAAuC,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,yBAAyB,CAChC,KAAwC;IAExC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AAC/D,CAAC;AAeD;;;GAGG;AACH,SAAS,kBAAkB,CAAC,KAG3B;IACC,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAC5C,MAAM,aAAa,GAAwC,IAAI,KAAK,CAClE,UAAU,CAAC,SAAS,CACrB,CAAC;IACF,MAAM,WAAW,GAA8B,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAiC;QAC7C,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,CAAC;QAChB,cAAc,EAAE,CAAC;QACjB,UAAU,EAAE,UAAU,CAAC,SAAS;KACjC,CAAC;IAEF,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,EAAE,CAAC;QACzE,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,UAAU,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC3D,QAAQ,CAAC,UAAU,IAAI,UAAU,CAAC;QAClC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,IAAI,YAAY,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;YAC5C,aAAa,CAAC,SAAS,CAAC,GAAG;gBACzB,IAAI,EAAE,YAAY,CAAC,IAAI;gBACvB,UAAU;aACX,CAAC;YACF,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC;YAC7B,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC;YACrC,SAAS;QACX,CAAC;QAED,WAAW,CAAC,IAAI,CAAC;YACf,UAAU;YACV,SAAS;YACT,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC;AAED,SAAS,yBAAyB,CAAC,UAA8B;IAC/D,IAAI,UAAU,CAAC,SAAS,GAAG,oBAAoB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,uCAAuC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,oBAAoB,CAAC,cAAc,EAAE,SAAS,CACrJ,CAAC;IACJ,CAAC;IACD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC7D,IAAI,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,6BAA6B,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,uBAAuB,KAAK,GAAG,CAAC,2CAA2C,CAC5E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAwC;IAExC,IAAI,KAAK,CAAC,SAAS,CAAC,QAAQ,KAAK,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC5D,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;IACJ,CAAC;IACD,yBAAyB,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,mCAAmC,CACrD,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAClC,CAAC;IACF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC;QAC3C,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,WAAW;QACX,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;KAC7C,CAAC,CAAC;IACH,IAAI,CAAC;QACH,OAAO,MAAM,4BAA4B,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1E,CAAC;YAAS,CAAC;QACT,wEAAwE;QACxE,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,4BAA4B,CACzC,KAAwC,EACxC,WAAmB,EACnB,EACE,QAAQ,EACR,OAAO,EACP,MAAM,GAC4C;IAEpD,6EAA6E;IAC7E,oEAAoE;IACpE,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;QAC5B,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IACH,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;QACrB,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC1B,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YACvC,aAAa,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YAC1C,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;YAC1C,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;SACvC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,kBAAkB,CAAC;QAClE,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,aAAa,EAAE,yBAAyB,CAAC,MAAM,CAAC,aAAa,CAAC;KAC/D,CAAC,CAAC;IAEH,MAAM,uBAAuB,GAAG,GAAG,EAAE;QACnC,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC1B,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,uBAAuB,EAAE,CAAC;IAE1B,MAAM,wBAAwB,CAAC;QAC7B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,aAAa;QACb,WAAW;QACX,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;YACvB,QAAQ,CAAC,cAAc,IAAI,CAAC,CAAC;YAC7B,QAAQ,CAAC,aAAa,IAAI,IAAI,CAAC,UAAU,CAAC;YAC1C,uBAAuB,EAAE,CAAC;QAC5B,CAAC;QACD,QAAQ;QACR,OAAO;QACP,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,KAAK,EAAE,WAAW;QAClB,QAAQ,EAAE,MAAM,CAAC,QAAQ;KAC1B,CAAC,CAAC;IACH,MAAM,cAAc,GAAG,aAAa,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;IACnE,IAAI,cAAc,CAAC,MAAM,KAAK,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CACb,8CAA8C,MAAM,CAAC,OAAO,eAAe,cAAc,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAC7K,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,oEAAoE;IACpE,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC","sourcesContent":["import { MAX_BLOB_CHUNK_COUNT } from \"@tearleads/crypto\";\nimport type { MultipartBlobStagePart } from \"@tearleads/validators/response\";\nimport { MAX_MULTIPART_BLOB_PART_BYTES } from \"@tearleads/validators/util\";\nimport {\n BLOB_TRANSFER_CONCURRENCY,\n runBlobTransfer,\n} from \"../../../data/blobs/transferPool\";\nimport type { BlobEncryptionPlan } from \"../../../data/documents/blob/shared/crypto\";\nimport type {\n BlobAttachmentApi,\n MultipartStageResolvedListener,\n MultipartUploadProgressListener,\n UploadDocumentAttachmentInput,\n} from \"../../../data/documents/blob/shared/types\";\nimport {\n type MultipartPartSources,\n type PreparedFirstPart,\n type PreparedMultipartPart,\n releasePreparedParts,\n sha256BytesHex,\n takePartSource,\n} from \"./multipartFirstParts\";\nimport {\n multipartApiFailureMessage,\n multipartStagePath,\n} from \"./multipartStageFailures\";\nimport { resolveMultipartStage } from \"./multipartStageResolution\";\n\nconst DEFAULT_MULTIPART_UPLOAD_CONCURRENCY = 4;\nconst MAX_MULTIPART_UPLOAD_CONCURRENCY = 4;\n// Fetch exposes no upload progress on every host. Allow a slow shared uplink\n// (8 KiB/s total, shared by every admitted part), plus setup/encryption time.\nconst MULTIPART_TRANSFER_BYTES_PER_SECOND = 8 * 1024;\n\ninterface MultipartPartCommit {\n readonly etag: string;\n readonly partNumber: number;\n}\n\ninterface MultipartPartUploadTask {\n readonly byteLength: number;\n readonly partIndex: number;\n readonly partNumber: number;\n}\n\nfunction pathSegment(value: number | string): string {\n return encodeURIComponent(String(value));\n}\n\nfunction multipartPartRequest(input: {\n readonly apiClient: BlobAttachmentApi;\n readonly partNumber: number;\n readonly stageId: string;\n}) {\n const basePath = `${multipartStagePath(input.stageId)}/parts/${pathSegment(input.partNumber)}`;\n const authorization = { method: \"POST\" as const, path: `${basePath}/upload` };\n // A successful authorization clears its previous failure. If a memory-store\n // byte request then fails, its separate transport diagnostic is authoritative.\n return input.apiClient.getRequestFailure?.(authorization)\n ? authorization\n : { method: \"PUT\" as const, path: `${basePath}/bytes` };\n}\n\nfunction normalizeMultipartUploadConcurrency(\n value: number | undefined,\n): number {\n if (value === undefined) {\n return DEFAULT_MULTIPART_UPLOAD_CONCURRENCY;\n }\n if (\n !Number.isInteger(value) ||\n value <= 0 ||\n value > MAX_MULTIPART_UPLOAD_CONCURRENCY\n ) {\n throw new Error(\n `Multipart blob upload concurrency must be between 1 and ${MAX_MULTIPART_UPLOAD_CONCURRENCY}`,\n );\n }\n\n return value;\n}\n\nfunction isMultipartPartCommit(\n part: MultipartPartCommit | undefined,\n): part is MultipartPartCommit {\n return part !== undefined;\n}\n\nasync function uploadMultipartPartTasks(input: {\n readonly apiClient: BlobAttachmentApi;\n readonly completeParts: (MultipartPartCommit | undefined)[];\n readonly concurrency: number;\n readonly encryption: BlobEncryptionPlan;\n readonly onPartUploaded?: (task: MultipartPartUploadTask) => void;\n readonly prepared: Map<number, PreparedFirstPart>;\n readonly sources: MultipartPartSources;\n readonly stageId: string;\n readonly tasks: readonly MultipartPartUploadTask[];\n readonly uploadId: string;\n}): Promise<void> {\n let failed = false;\n let firstFailure: { readonly error: unknown } | undefined;\n let nextTaskIndex = 0;\n const recordFailure = (error: unknown) => {\n failed = true;\n firstFailure ??= { error };\n };\n\n async function worker(): Promise<void> {\n while (!failed) {\n const task = input.tasks[nextTaskIndex];\n nextTaskIndex += 1;\n if (!task) {\n return;\n }\n\n try {\n // A first part already holds the pool slot its prepared bytes use.\n const heldPermit = input.prepared.get(task.partIndex)?.permit;\n await runBlobTransfer(\n input.apiClient,\n async (signal) => {\n if (failed) return;\n const aborted = () => recordFailure(signal.reason);\n signal.addEventListener(\"abort\", aborted, { once: true });\n try {\n const uploaded = await uploadMultipartPartBytes({\n apiClient: input.apiClient,\n encryption: input.encryption,\n prepared: input.prepared,\n sources: input.sources,\n stageId: input.stageId,\n task,\n uploadId: input.uploadId,\n signal,\n });\n signal.throwIfAborted();\n if (!uploaded) {\n failed = true;\n throw new Error(\n multipartApiFailureMessage({\n apiClient: input.apiClient,\n fallback: `Multipart blob part ${task.partNumber} upload failed for stage ${input.stageId}.`,\n request: multipartPartRequest({\n apiClient: input.apiClient,\n partNumber: task.partNumber,\n stageId: input.stageId,\n }),\n }),\n );\n }\n\n input.completeParts[task.partIndex] = {\n etag: uploaded.part.etag,\n partNumber: task.partNumber,\n };\n input.onPartUploaded?.(task);\n } catch (error) {\n // Publish failure before releasing the permit to a queued sibling.\n // Already-started parts still record success and drain through the join.\n recordFailure(error);\n } finally {\n signal.removeEventListener(\"abort\", aborted);\n }\n },\n 120_000 +\n Math.ceil(\n (task.byteLength * BLOB_TRANSFER_CONCURRENCY * 1000) /\n MULTIPART_TRANSFER_BYTES_PER_SECOND,\n ),\n heldPermit,\n );\n } catch (error) {\n recordFailure(error);\n }\n }\n }\n\n const workerCount = Math.min(input.concurrency, input.tasks.length);\n await Promise.all(Array.from({ length: workerCount }, () => worker()));\n if (firstFailure) {\n throw firstFailure.error;\n }\n}\n\n// A first part was encrypted once before the stage existed; hand its bytes\n// over (and release them) instead of encrypting it again.\nasync function encryptedPart(input: {\n readonly encryption: BlobEncryptionPlan;\n readonly prepared: Map<number, PreparedFirstPart>;\n readonly task: MultipartPartUploadTask;\n}): Promise<PreparedMultipartPart> {\n const prepared = input.prepared.get(input.task.partIndex);\n if (prepared) {\n input.prepared.delete(input.task.partIndex);\n return prepared;\n }\n const bytes = await input.encryption.encryptPart(input.task.partIndex);\n if (bytes.byteLength !== input.task.byteLength) {\n throw new Error(\n `Encrypted blob part ${input.task.partNumber} byte length mismatch: expected ${input.task.byteLength.toLocaleString()}, received ${bytes.byteLength.toLocaleString()}.`,\n );\n }\n return { bytes, sha256: await sha256BytesHex(bytes) };\n}\n\nasync function uploadMultipartPartBytes(input: {\n readonly apiClient: BlobAttachmentApi;\n readonly encryption: BlobEncryptionPlan;\n readonly prepared: Map<number, PreparedFirstPart>;\n readonly sources: MultipartPartSources;\n readonly stageId: string;\n readonly task: MultipartPartUploadTask;\n readonly uploadId: string;\n readonly signal: AbortSignal;\n}): ReturnType<BlobAttachmentApi[\"uploadMultipartBlobPartBytes\"]> {\n input.signal.throwIfAborted();\n const { bytes: encryptedPartBytes, sha256 } = await encryptedPart(input);\n input.signal.throwIfAborted();\n const source = takePartSource(input.sources, input.task.partNumber);\n const uploaded = await input.apiClient.uploadMultipartBlobPartBytes(\n input.stageId,\n input.task.partNumber,\n {\n byteLength: encryptedPartBytes.byteLength,\n encryptedBytes: encryptedPartBytes,\n sha256,\n ...(source === undefined ? {} : { source }),\n uploadId: input.uploadId,\n },\n { signal: input.signal },\n );\n input.signal.throwIfAborted();\n if (\n uploaded &&\n (uploaded.stageId !== input.stageId ||\n uploaded.uploadId !== input.uploadId ||\n uploaded.part.partNumber !== input.task.partNumber ||\n uploaded.part.byteLength !== input.task.byteLength)\n ) {\n throw new Error(\n `Multipart blob part ${input.task.partNumber} response does not match its request.`,\n );\n }\n return uploaded;\n}\n\nfunction uploadedPartsByPartNumber(\n parts: readonly MultipartBlobStagePart[],\n): ReadonlyMap<number, MultipartBlobStagePart> {\n return new Map(parts.map((part) => [part.partNumber, part]));\n}\n\ninterface MultipartUploadProgressState {\n bytesTotal: number;\n bytesUploaded: number;\n partsCompleted: number;\n partsTotal: number;\n}\n\ninterface MultipartPartPlan {\n completeParts: (MultipartPartCommit | undefined)[];\n progress: MultipartUploadProgressState;\n uploadTasks: MultipartPartUploadTask[];\n}\n\n/**\n * Plans encrypted part indices without materializing their bytes, reusing any\n * already-staged parts and seeding cumulative progress for resumed uploads.\n */\nfunction planMultipartParts(input: {\n encryption: BlobEncryptionPlan;\n uploadedParts: ReadonlyMap<number, MultipartBlobStagePart>;\n}): MultipartPartPlan {\n const { encryption, uploadedParts } = input;\n const completeParts: (MultipartPartCommit | undefined)[] = new Array(\n encryption.partCount,\n );\n const uploadTasks: MultipartPartUploadTask[] = [];\n const progress: MultipartUploadProgressState = {\n bytesTotal: 0,\n bytesUploaded: 0,\n partsCompleted: 0,\n partsTotal: encryption.partCount,\n };\n\n for (let partIndex = 0; partIndex < encryption.partCount; partIndex += 1) {\n const partNumber = partIndex + 1;\n const byteLength = encryption.getPartByteLength(partIndex);\n progress.bytesTotal += byteLength;\n const uploadedPart = uploadedParts.get(partNumber);\n if (uploadedPart?.byteLength === byteLength) {\n completeParts[partIndex] = {\n etag: uploadedPart.etag,\n partNumber,\n };\n progress.partsCompleted += 1;\n progress.bytesUploaded += byteLength;\n continue;\n }\n\n uploadTasks.push({\n byteLength,\n partIndex,\n partNumber,\n });\n }\n\n return { completeParts, progress, uploadTasks };\n}\n\nfunction assertMultipartPlanLimits(encryption: BlobEncryptionPlan): void {\n if (encryption.partCount > MAX_BLOB_CHUNK_COUNT) {\n throw new Error(\n `Multipart blob upload would require ${encryption.partCount.toLocaleString()} parts; the maximum is ${MAX_BLOB_CHUNK_COUNT.toLocaleString()} parts.`,\n );\n }\n for (let index = 0; index < encryption.partCount; index += 1) {\n if (encryption.getPartByteLength(index) > MAX_MULTIPART_BLOB_PART_BYTES) {\n throw new Error(\n `Encrypted blob part ${index + 1} exceeds the 32 MiB multipart part limit.`,\n );\n }\n }\n}\n\ntype StageMultipartBlobAttachmentInput = {\n readonly apiClient: BlobAttachmentApi;\n readonly encryption: BlobEncryptionPlan;\n readonly multipart: NonNullable<UploadDocumentAttachmentInput[\"multipart\"]>;\n readonly organizationId: string;\n readonly onMultipartProgress?: MultipartUploadProgressListener | undefined;\n readonly onStageResolved?: MultipartStageResolvedListener | undefined;\n readonly onStageUnavailable?:\n | ((stageId: string) => Promise<void>)\n | undefined;\n};\n\nexport async function stageMultipartBlobAttachment(\n input: StageMultipartBlobAttachmentInput,\n): Promise<string | null> {\n if (input.multipart.partSize !== input.encryption.chunkSize) {\n throw new Error(\n \"Multipart part size must match the encryption chunk size exactly.\",\n );\n }\n assertMultipartPlanLimits(input.encryption);\n const concurrency = normalizeMultipartUploadConcurrency(\n input.multipart.uploadConcurrency,\n );\n const resolved = await resolveMultipartStage({\n apiClient: input.apiClient,\n concurrency,\n encryption: input.encryption,\n multipart: input.multipart,\n organizationId: input.organizationId,\n onStageUnavailable: input.onStageUnavailable,\n });\n try {\n return await uploadResolvedMultipartStage(input, concurrency, resolved);\n } finally {\n // First parts no worker consumed (an early failure) return their slots.\n releasePreparedParts(resolved.prepared);\n }\n}\n\nasync function uploadResolvedMultipartStage(\n input: StageMultipartBlobAttachmentInput,\n concurrency: number,\n {\n prepared,\n sources,\n status,\n }: Awaited<ReturnType<typeof resolveMultipartStage>>,\n): Promise<string> {\n // Surface the stage id before any parts upload so the caller can persist it;\n // an upload interrupted mid-flight can then resume this same stage.\n await input.onStageResolved?.({\n partSize: input.encryption.chunkSize,\n stageId: status.stageId,\n });\n if (status.completed) {\n input.onMultipartProgress?.({\n bytesTotal: input.encryption.byteLength,\n bytesUploaded: input.encryption.byteLength,\n partsCompleted: input.encryption.partCount,\n partsTotal: input.encryption.partCount,\n });\n return status.stageId;\n }\n\n const { completeParts, progress, uploadTasks } = planMultipartParts({\n encryption: input.encryption,\n uploadedParts: uploadedPartsByPartNumber(status.uploadedParts),\n });\n\n const reportMultipartProgress = () => {\n input.onMultipartProgress?.({\n bytesTotal: progress.bytesTotal,\n bytesUploaded: progress.bytesUploaded,\n partsCompleted: progress.partsCompleted,\n partsTotal: progress.partsTotal,\n });\n };\n reportMultipartProgress();\n\n await uploadMultipartPartTasks({\n apiClient: input.apiClient,\n completeParts,\n concurrency,\n encryption: input.encryption,\n onPartUploaded: (task) => {\n progress.partsCompleted += 1;\n progress.bytesUploaded += task.byteLength;\n reportMultipartProgress();\n },\n prepared,\n sources,\n stageId: status.stageId,\n tasks: uploadTasks,\n uploadId: status.uploadId,\n });\n const committedParts = completeParts.filter(isMultipartPartCommit);\n if (committedParts.length !== input.encryption.partCount) {\n throw new Error(\n `Multipart blob upload incomplete for stage ${status.stageId}: committed ${committedParts.length.toLocaleString()} of ${input.encryption.partCount.toLocaleString()} parts.`,\n );\n }\n\n // Binding the attachment completes the stage: the API assembles these parts\n // and verifies the object's length and SHA-256 before promoting it.\n return status.stageId;\n}\n"]}
@@ -0,0 +1,49 @@
1
+ import { KeyingVerificationError, verifyAttachmentBindingEvent, } from "../../../internal/crypto/index.js";
2
+ import { readCanonicalJson, readCanonicalRecord, } from "../../../data/keying/canonicalJson.js";
3
+ import { readAccessEvent, readRecordString, readRequiredRecordValue, resolveEventContainerPaths, } from "../../../data/keyingProjectionVerification/index.js";
4
+ export async function assertAttachmentBindingVerified(input) {
5
+ if (!input.authorization) {
6
+ throw new Error("Attachment binding lacks verified document authority");
7
+ }
8
+ if (!input.binding.bindingEvent ||
9
+ !input.binding.documentManifestHash ||
10
+ input.binding.previousBindingId === undefined) {
11
+ throw new Error("Attachment binding lacks signed verification material");
12
+ }
13
+ const eventBundle = readCanonicalRecord(input.binding.bindingEvent, "Attachment binding event bundle");
14
+ const event = readAccessEvent(readRequiredRecordValue(eventBundle, "event", "Attachment binding event bundle"), "Attachment binding event");
15
+ const signer = await input.resolveProjectionUserKey(event.signerUserId);
16
+ if (!signer) {
17
+ throw new Error("Attachment binding signer identity is unavailable");
18
+ }
19
+ const documentManifest = input.authorization.documentManifestByHash.get(input.binding.documentManifestHash);
20
+ if (!documentManifest) {
21
+ throw new Error("Attachment binding document manifest is unverified");
22
+ }
23
+ const { dependencyContainerPaths } = resolveEventContainerPaths({
24
+ containerPathByManifestHash: input.authorization.containerPathByManifestHash,
25
+ dependencyManifestHashes: event.dependencyManifestHashes.filter((hash) => hash !== input.binding.documentManifestHash),
26
+ });
27
+ const verified = await verifyAttachmentBindingEvent({
28
+ authorizationMembership: "referenced",
29
+ authorizingContainerPaths: dependencyContainerPaths,
30
+ body: readCanonicalJson(readRequiredRecordValue(eventBundle, "body", "Attachment binding event bundle"), "Attachment binding event body"),
31
+ documentManifest,
32
+ event,
33
+ expectedBindingId: input.binding.bindingId,
34
+ expectedBlobId: input.binding.blobId,
35
+ expectedDocumentId: input.expectedDocumentId,
36
+ expectedDocumentManifestHash: input.binding.documentManifestHash,
37
+ expectedPreviousBindingId: input.binding.previousBindingId,
38
+ principalPolicies: input.authorization.principalPolicies,
39
+ signerPublicKey: signer.signingPublicKey,
40
+ });
41
+ if (!verified.ok) {
42
+ throw verified.error;
43
+ }
44
+ if (verified.value.slotId !== input.expectedSlotId ||
45
+ readRecordString(eventBundle, "eventHash", "Attachment binding event bundle") !== verified.value.event.eventHash) {
46
+ throw new KeyingVerificationError("object_mismatch", "Attachment binding slot or event hash is inconsistent");
47
+ }
48
+ }
49
+ //# sourceMappingURL=attachmentBindingVerification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentBindingVerification.js","sourceRoot":"","sources":["attachmentBindingVerification.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n KeyingVerificationError,\n verifyAttachmentBindingEvent,\n} from \"@tearleads/crypto\";\nimport type { DecryptDocumentAttachmentBlobInput } from \"../../../data/documents/blob/shared/types\";\nimport {\n readCanonicalJson,\n readCanonicalRecord,\n} from \"../../../data/keying/canonicalJson\";\nimport {\n type DocumentWriterProjectionAuthorization,\n type ProjectionUserKeyResolver,\n readAccessEvent,\n readRecordString,\n readRequiredRecordValue,\n resolveEventContainerPaths,\n} from \"../../../data/keyingProjectionVerification\";\n\nexport async function assertAttachmentBindingVerified(input: {\n readonly authorization: DocumentWriterProjectionAuthorization | undefined;\n readonly binding: Pick<\n DecryptDocumentAttachmentBlobInput[\"binding\"],\n | \"bindingEvent\"\n | \"documentManifestHash\"\n | \"previousBindingId\"\n | \"bindingId\"\n | \"blobId\"\n >;\n readonly expectedDocumentId: string;\n readonly expectedSlotId: string;\n readonly resolveProjectionUserKey: ProjectionUserKeyResolver;\n}): Promise<void> {\n if (!input.authorization) {\n throw new Error(\"Attachment binding lacks verified document authority\");\n }\n if (\n !input.binding.bindingEvent ||\n !input.binding.documentManifestHash ||\n input.binding.previousBindingId === undefined\n ) {\n throw new Error(\"Attachment binding lacks signed verification material\");\n }\n const eventBundle = readCanonicalRecord(\n input.binding.bindingEvent,\n \"Attachment binding event bundle\",\n );\n const event = readAccessEvent(\n readRequiredRecordValue(\n eventBundle,\n \"event\",\n \"Attachment binding event bundle\",\n ),\n \"Attachment binding event\",\n );\n const signer = await input.resolveProjectionUserKey(event.signerUserId);\n if (!signer) {\n throw new Error(\"Attachment binding signer identity is unavailable\");\n }\n const documentManifest = input.authorization.documentManifestByHash.get(\n input.binding.documentManifestHash,\n );\n if (!documentManifest) {\n throw new Error(\"Attachment binding document manifest is unverified\");\n }\n const { dependencyContainerPaths } = resolveEventContainerPaths({\n containerPathByManifestHash:\n input.authorization.containerPathByManifestHash,\n dependencyManifestHashes: event.dependencyManifestHashes.filter(\n (hash) => hash !== input.binding.documentManifestHash,\n ),\n });\n const verified = await verifyAttachmentBindingEvent({\n authorizationMembership: \"referenced\",\n authorizingContainerPaths: dependencyContainerPaths,\n body: readCanonicalJson(\n readRequiredRecordValue(\n eventBundle,\n \"body\",\n \"Attachment binding event bundle\",\n ),\n \"Attachment binding event body\",\n ),\n documentManifest,\n event,\n expectedBindingId: input.binding.bindingId,\n expectedBlobId: input.binding.blobId,\n expectedDocumentId: input.expectedDocumentId,\n expectedDocumentManifestHash: input.binding.documentManifestHash,\n expectedPreviousBindingId: input.binding.previousBindingId,\n principalPolicies: input.authorization.principalPolicies,\n signerPublicKey: signer.signingPublicKey,\n });\n if (!verified.ok) {\n throw verified.error;\n }\n if (\n verified.value.slotId !== input.expectedSlotId ||\n readRecordString(\n eventBundle,\n \"eventHash\",\n \"Attachment binding event bundle\",\n ) !== verified.value.event.eventHash\n ) {\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Attachment binding slot or event hash is inconsistent\",\n );\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { ProjectionDependencyUnavailableError } from "../../../data/keyingProjectionVerification/dependencyUnavailable.js";
2
+ import { isKeyingVerificationError } from "../../../data/keyingProjectionVerification/error.js";
3
+ import { decryptDocumentAttachmentBlob } from "../hydration/decrypt.js";
4
+ /**
5
+ * Proof material the cached projection lacks, such as a wrap-cited container
6
+ * manifest that a fresher projection serves. Not integrity evidence.
7
+ */
8
+ function isRefreshableProofDependency(error) {
9
+ return (error instanceof ProjectionDependencyUnavailableError ||
10
+ (isKeyingVerificationError(error) && error.code === "missing_dependency"));
11
+ }
12
+ /** One fresh proof fetch shared by a hydration or key-rewrap run. */
13
+ export function createAttachmentProofReader(apiClient, documentId, read) {
14
+ let refreshed;
15
+ const refresh = () => {
16
+ refreshed ??= (async () => {
17
+ apiClient.evictDocumentWriterProjection?.(documentId);
18
+ return apiClient.getDocumentWriterProjection(documentId);
19
+ })();
20
+ return refreshed;
21
+ };
22
+ return async (input) => {
23
+ try {
24
+ return await read(input);
25
+ }
26
+ catch (error) {
27
+ if (!isRefreshableProofDependency(error))
28
+ throw error;
29
+ const writerProjection = await refresh();
30
+ if (!writerProjection)
31
+ throw error;
32
+ // Retry the same binding and ciphertext with fully verified fresh proof.
33
+ // A second missing dependency escapes; it cannot trigger another fetch.
34
+ return read({ ...input, writerProjection });
35
+ }
36
+ };
37
+ }
38
+ export function createAttachmentDecryptor(apiClient, documentId) {
39
+ return createAttachmentProofReader(apiClient, documentId, decryptDocumentAttachmentBlob);
40
+ }
41
+ //# sourceMappingURL=attachmentDecryptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentDecryptor.js","sourceRoot":"","sources":["attachmentDecryptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oCAAoC,EAAE,MAAM,kEAAkE,CAAC;AACxH,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,sBAAsB,CAAC;AASrE;;;GAGG;AACH,SAAS,4BAA4B,CAAC,KAAc;IAClD,OAAO,CACL,KAAK,YAAY,oCAAoC;QACrD,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,oBAAoB,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,2BAA2B,CAIzC,SAAkC,EAClC,UAAkB,EAClB,IAAuC;IAEvC,IAAI,SAAuE,CAAC;IAC5E,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,SAAS,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,SAAS,CAAC,6BAA6B,EAAE,CAAC,UAAU,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC,2BAA2B,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,EAAE,CAAC;QACL,OAAO,SAAS,CAAC;IACnB,CAAC,CAAC;IACF,OAAO,KAAK,EAAE,KAAY,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACtD,MAAM,gBAAgB,GAAG,MAAM,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,gBAAgB;gBAAE,MAAM,KAAK,CAAC;YACnC,yEAAyE;YACzE,wEAAwE;YACxE,OAAO,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAkC,EAClC,UAAkB;IAElB,OAAO,2BAA2B,CAChC,SAAS,EACT,UAAU,EACV,6BAA6B,CAC9B,CAAC;AACJ,CAAC","sourcesContent":["import type { DocumentWriterProjectionResponse } from \"@tearleads/validators/response\";\nimport { ProjectionDependencyUnavailableError } from \"../../../data/keyingProjectionVerification/dependencyUnavailable\";\nimport { isKeyingVerificationError } from \"../../../data/keyingProjectionVerification/error\";\nimport { decryptDocumentAttachmentBlob } from \"../hydration/decrypt\";\n\ninterface AttachmentProjectionApi {\n evictDocumentWriterProjection?(documentId: string): void;\n getDocumentWriterProjection(\n documentId: string,\n ): Promise<DocumentWriterProjectionResponse | null>;\n}\n\n/**\n * Proof material the cached projection lacks, such as a wrap-cited container\n * manifest that a fresher projection serves. Not integrity evidence.\n */\nfunction isRefreshableProofDependency(error: unknown): boolean {\n return (\n error instanceof ProjectionDependencyUnavailableError ||\n (isKeyingVerificationError(error) && error.code === \"missing_dependency\")\n );\n}\n\n/** One fresh proof fetch shared by a hydration or key-rewrap run. */\nexport function createAttachmentProofReader<\n Input extends { writerProjection: DocumentWriterProjectionResponse },\n Result,\n>(\n apiClient: AttachmentProjectionApi,\n documentId: string,\n read: (input: Input) => Promise<Result>,\n) {\n let refreshed: Promise<DocumentWriterProjectionResponse | null> | undefined;\n const refresh = () => {\n refreshed ??= (async () => {\n apiClient.evictDocumentWriterProjection?.(documentId);\n return apiClient.getDocumentWriterProjection(documentId);\n })();\n return refreshed;\n };\n return async (input: Input) => {\n try {\n return await read(input);\n } catch (error) {\n if (!isRefreshableProofDependency(error)) throw error;\n const writerProjection = await refresh();\n if (!writerProjection) throw error;\n // Retry the same binding and ciphertext with fully verified fresh proof.\n // A second missing dependency escapes; it cannot trigger another fetch.\n return read({ ...input, writerProjection });\n }\n };\n}\n\nexport function createAttachmentDecryptor(\n apiClient: AttachmentProjectionApi,\n documentId: string,\n) {\n return createAttachmentProofReader(\n apiClient,\n documentId,\n decryptDocumentAttachmentBlob,\n );\n}\n"]}
@@ -0,0 +1,68 @@
1
+ import { AES_GCM_TAG_BYTES, blobChunkPlaintextByteLength, bytesToHex, } from "../../../internal/crypto/index.js";
2
+ import { createBlobEnvelopeStream } from "../../../data/documents/blob/shared/blobEnvelopeStream.js";
3
+ import { assertEqualBytes, readWriteHeader, } from "../../../data/documents/shared/readers.js";
4
+ import { decryptBlobChunk } from "../hydration/blobChunkDecryption.js";
5
+ import { prepareDocumentAttachmentBlobDecryption } from "../hydration/decrypt.js";
6
+ import { createAttachmentProofReader } from "./attachmentDecryptor.js";
7
+ const createProofReader = (api, documentId) => createAttachmentProofReader(api, documentId, prepareDocumentAttachmentBlobDecryption);
8
+ async function authenticateAttachmentKey(api, input, readProof) {
9
+ const blob = await api.getBlobBytes(input.binding.blobId);
10
+ if (!blob)
11
+ throw new Error("Attachment ciphertext is unavailable for relinking");
12
+ const body = new Response(blob.encryptedBytes).body;
13
+ if (!body)
14
+ throw new Error("Attachment ciphertext stream is unavailable");
15
+ const source = createBlobEnvelopeStream(body);
16
+ try {
17
+ const encrypted = await source.readHeader();
18
+ // A missing citation can refresh the proof before consuming ciphertext.
19
+ const context = await readProof({ ...input, encrypted });
20
+ for (let index = 0; index < encrypted.chunkCount; index++) {
21
+ const plaintextByteLength = blobChunkPlaintextByteLength({
22
+ chunkCount: encrypted.chunkCount,
23
+ chunkIndex: index,
24
+ chunkSize: encrypted.chunkSize,
25
+ plaintextByteLength: encrypted.byteLength,
26
+ });
27
+ const ciphertext = await source.read(plaintextByteLength + AES_GCM_TAG_BYTES);
28
+ await decryptBlobChunk({
29
+ ...context,
30
+ encrypted,
31
+ expectedBlobId: input.binding.blobId,
32
+ chunk: { ciphertext, index, plaintextByteLength },
33
+ });
34
+ }
35
+ const header = readWriteHeader(input.binding.writeHeader, "Attachment blob write header");
36
+ if (bytesToHex(await source.finish()) !== header.ciphertextHash)
37
+ throw new Error("Attachment blob write header does not match ciphertext");
38
+ return {
39
+ encrypted,
40
+ contentKey: context.contentKey,
41
+ ciphertextHash: header.ciphertextHash,
42
+ };
43
+ }
44
+ finally {
45
+ await source.close();
46
+ }
47
+ }
48
+ /** Shared blobs retain only authenticated keys and metadata, never their bytes. */
49
+ export function createAttachmentKeyAuthenticator(api, documentId) {
50
+ const readProof = createProofReader(api, documentId);
51
+ const authenticated = new Map();
52
+ return async (input) => {
53
+ const existing = authenticated.get(input.binding.blobId);
54
+ if (!existing) {
55
+ const pending = authenticateAttachmentKey(api, input, readProof);
56
+ authenticated.set(input.binding.blobId, pending);
57
+ return (await pending).contentKey;
58
+ }
59
+ const cached = await existing;
60
+ const context = await readProof({ ...input, encrypted: cached.encrypted });
61
+ if (readWriteHeader(input.binding.writeHeader, "Attachment blob write header")
62
+ .ciphertextHash !== cached.ciphertextHash)
63
+ throw new Error("Attachment blob write header does not match ciphertext");
64
+ assertEqualBytes(context.contentKey, cached.contentKey, "Attachment bindings contain conflicting blob keys");
65
+ return cached.contentKey;
66
+ };
67
+ }
68
+ //# sourceMappingURL=attachmentKeyAuthenticator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attachmentKeyAuthenticator.js","sourceRoot":"","sources":["attachmentKeyAuthenticator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AES_GCM_TAG_BYTES,\n blobChunkPlaintextByteLength,\n bytesToHex,\n} from \"@tearleads/crypto\";\nimport { createBlobEnvelopeStream } from \"../../../data/documents/blob/shared/blobEnvelopeStream\";\nimport type {\n BlobEncryptedBytesHeader,\n DecryptDocumentAttachmentBlobInput,\n} from \"../../../data/documents/blob/shared/types\";\nimport {\n assertEqualBytes,\n readWriteHeader,\n} from \"../../../data/documents/shared/readers\";\nimport type { DocumentLinkSetMutationApi } from \"../../../data/documents/shared/types\";\nimport { decryptBlobChunk } from \"../hydration/blobChunkDecryption\";\nimport { prepareDocumentAttachmentBlobDecryption } from \"../hydration/decrypt\";\nimport { createAttachmentProofReader } from \"./attachmentDecryptor\";\n\ntype AttachmentKeyInput = Omit<\n DecryptDocumentAttachmentBlobInput,\n \"encryptedBytes\"\n>;\ntype VerifiedKey = {\n ciphertextHash: string;\n encrypted: BlobEncryptedBytesHeader;\n contentKey: Uint8Array;\n};\ntype ProofReader = ReturnType<typeof createProofReader>;\n\nconst createProofReader = (\n api: DocumentLinkSetMutationApi,\n documentId: string,\n) =>\n createAttachmentProofReader(\n api,\n documentId,\n prepareDocumentAttachmentBlobDecryption,\n );\n\nasync function authenticateAttachmentKey(\n api: DocumentLinkSetMutationApi,\n input: AttachmentKeyInput,\n readProof: ProofReader,\n): Promise<VerifiedKey> {\n const blob = await api.getBlobBytes(input.binding.blobId);\n if (!blob)\n throw new Error(\"Attachment ciphertext is unavailable for relinking\");\n const body = new Response(blob.encryptedBytes).body;\n if (!body) throw new Error(\"Attachment ciphertext stream is unavailable\");\n const source = createBlobEnvelopeStream(body);\n try {\n const encrypted = await source.readHeader();\n // A missing citation can refresh the proof before consuming ciphertext.\n const context = await readProof({ ...input, encrypted });\n for (let index = 0; index < encrypted.chunkCount; index++) {\n const plaintextByteLength = blobChunkPlaintextByteLength({\n chunkCount: encrypted.chunkCount,\n chunkIndex: index,\n chunkSize: encrypted.chunkSize,\n plaintextByteLength: encrypted.byteLength,\n });\n const ciphertext = await source.read(\n plaintextByteLength + AES_GCM_TAG_BYTES,\n );\n await decryptBlobChunk({\n ...context,\n encrypted,\n expectedBlobId: input.binding.blobId,\n chunk: { ciphertext, index, plaintextByteLength },\n });\n }\n const header = readWriteHeader(\n input.binding.writeHeader,\n \"Attachment blob write header\",\n );\n if (bytesToHex(await source.finish()) !== header.ciphertextHash)\n throw new Error(\"Attachment blob write header does not match ciphertext\");\n return {\n encrypted,\n contentKey: context.contentKey,\n ciphertextHash: header.ciphertextHash,\n };\n } finally {\n await source.close();\n }\n}\n\n/** Shared blobs retain only authenticated keys and metadata, never their bytes. */\nexport function createAttachmentKeyAuthenticator(\n api: DocumentLinkSetMutationApi,\n documentId: string,\n) {\n const readProof = createProofReader(api, documentId);\n const authenticated = new Map<string, Promise<VerifiedKey>>();\n return async (input: AttachmentKeyInput): Promise<Uint8Array> => {\n const existing = authenticated.get(input.binding.blobId);\n if (!existing) {\n const pending = authenticateAttachmentKey(api, input, readProof);\n authenticated.set(input.binding.blobId, pending);\n return (await pending).contentKey;\n }\n const cached = await existing;\n const context = await readProof({ ...input, encrypted: cached.encrypted });\n if (\n readWriteHeader(input.binding.writeHeader, \"Attachment blob write header\")\n .ciphertextHash !== cached.ciphertextHash\n )\n throw new Error(\"Attachment blob write header does not match ciphertext\");\n assertEqualBytes(\n context.contentKey,\n cached.contentKey,\n \"Attachment bindings contain conflicting blob keys\",\n );\n return cached.contentKey;\n };\n}\n"]}
@@ -0,0 +1,40 @@
1
+ import { KeyingVerificationError } from "../../../internal/crypto/index.js";
2
+ import { assertBlobContentKeyBundleTargetHash } from "../../../data/documents/blob/shared/responses.js";
3
+ import { assertDocumentWriterProjectionConsistent } from "../../../data/documents/shared/projection.js";
4
+ import { projectionVerificationOptions } from "../../../data/documents/shared/types.js";
5
+ import { requireProjectionUserKeyResolver, } from "../../../data/keyingProjectionVerification/index.js";
6
+ import { assertAttachmentBindingVerified } from "./attachmentBindingVerification.js";
7
+ import { assertBlobWrapScopeVerified } from "./verifiedWrapScope.js";
8
+ /** Retaining an existing envelope does not propagate a key to a new recipient. */
9
+ export async function verifyRetainedAttachment(input) {
10
+ const resolveProjectionUserKey = requireProjectionUserKeyResolver(input.resolveProjectionUserKey, "Retained attachment scope");
11
+ let authorization;
12
+ await assertDocumentWriterProjectionConsistent(input.writerProjection, {
13
+ allowStaleContentKeyBundle: true,
14
+ ...projectionVerificationOptions({
15
+ execSql: input.execSql,
16
+ stillCurrent: input.stillCurrent,
17
+ warmReferencedPrincipalPolicies: input.warmReferencedPrincipalPolicies,
18
+ resolveProjectionUserKey,
19
+ }),
20
+ onVerifiedAuthorization: (value) => {
21
+ authorization = value;
22
+ },
23
+ });
24
+ if (input.binding.contentKeyBundle.blobId !== input.binding.blobId)
25
+ throw new KeyingVerificationError("object_mismatch", "Retained attachment bundle names another blob");
26
+ await assertBlobContentKeyBundleTargetHash(input.binding.contentKeyBundle);
27
+ await assertAttachmentBindingVerified({
28
+ ...input,
29
+ authorization,
30
+ resolveProjectionUserKey,
31
+ });
32
+ if (!authorization)
33
+ throw new Error("Attachment authority is unavailable");
34
+ assertBlobWrapScopeVerified({
35
+ authorization,
36
+ binding: input.binding,
37
+ documentId: input.expectedDocumentId,
38
+ });
39
+ }
40
+ //# sourceMappingURL=retainedAttachmentVerification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retainedAttachmentVerification.js","sourceRoot":"","sources":["retainedAttachmentVerification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,+CAA+C,CAAC;AAErG,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AACrG,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAEL,gCAAgC,GACjC,MAAM,4CAA4C,CAAC;AACpD,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,kFAAkF;AAClF,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,KAGC;IAED,MAAM,wBAAwB,GAAG,gCAAgC,CAC/D,KAAK,CAAC,wBAAwB,EAC9B,2BAA2B,CAC5B,CAAC;IACF,IAAI,aAAgE,CAAC;IACrE,MAAM,wCAAwC,CAAC,KAAK,CAAC,gBAAgB,EAAE;QACrE,0BAA0B,EAAE,IAAI;QAChC,GAAG,6BAA6B,CAAC;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,+BAA+B,EAAE,KAAK,CAAC,+BAA+B;YACtE,wBAAwB;SACzB,CAAC;QACF,uBAAuB,EAAE,CAAC,KAAK,EAAE,EAAE;YACjC,aAAa,GAAG,KAAK,CAAC;QACxB,CAAC;KACF,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,KAAK,KAAK,CAAC,OAAO,CAAC,MAAM;QAChE,MAAM,IAAI,uBAAuB,CAC/B,iBAAiB,EACjB,+CAA+C,CAChD,CAAC;IACJ,MAAM,oCAAoC,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,+BAA+B,CAAC;QACpC,GAAG,KAAK;QACR,aAAa;QACb,wBAAwB;KACzB,CAAC,CAAC;IACH,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IAC3E,2BAA2B,CAAC;QAC1B,aAAa;QACb,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,UAAU,EAAE,KAAK,CAAC,kBAAkB;KACrC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { KeyingVerificationError } from \"@tearleads/crypto\";\nimport { assertBlobContentKeyBundleTargetHash } from \"../../../data/documents/blob/shared/responses\";\nimport type { DecryptDocumentAttachmentBlobInput } from \"../../../data/documents/blob/shared/types\";\nimport { assertDocumentWriterProjectionConsistent } from \"../../../data/documents/shared/projection\";\nimport { projectionVerificationOptions } from \"../../../data/documents/shared/types\";\nimport {\n type DocumentWriterProjectionAuthorization,\n requireProjectionUserKeyResolver,\n} from \"../../../data/keyingProjectionVerification\";\nimport { assertAttachmentBindingVerified } from \"./attachmentBindingVerification\";\nimport { assertBlobWrapScopeVerified } from \"./verifiedWrapScope\";\n\n/** Retaining an existing envelope does not propagate a key to a new recipient. */\nexport async function verifyRetainedAttachment(\n input: Omit<\n DecryptDocumentAttachmentBlobInput,\n \"encryptedBytes\" | \"targetSecretKey\"\n >,\n): Promise<void> {\n const resolveProjectionUserKey = requireProjectionUserKeyResolver(\n input.resolveProjectionUserKey,\n \"Retained attachment scope\",\n );\n let authorization: DocumentWriterProjectionAuthorization | undefined;\n await assertDocumentWriterProjectionConsistent(input.writerProjection, {\n allowStaleContentKeyBundle: true,\n ...projectionVerificationOptions({\n execSql: input.execSql,\n stillCurrent: input.stillCurrent,\n warmReferencedPrincipalPolicies: input.warmReferencedPrincipalPolicies,\n resolveProjectionUserKey,\n }),\n onVerifiedAuthorization: (value) => {\n authorization = value;\n },\n });\n if (input.binding.contentKeyBundle.blobId !== input.binding.blobId)\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Retained attachment bundle names another blob\",\n );\n await assertBlobContentKeyBundleTargetHash(input.binding.contentKeyBundle);\n await assertAttachmentBindingVerified({\n ...input,\n authorization,\n resolveProjectionUserKey,\n });\n if (!authorization) throw new Error(\"Attachment authority is unavailable\");\n assertBlobWrapScopeVerified({\n authorization,\n binding: input.binding,\n documentId: input.expectedDocumentId,\n });\n}\n"]}
@@ -0,0 +1,20 @@
1
+ import { KeyingVerificationError } from "../../../internal/crypto/index.js";
2
+ import { ProjectionDependencyUnavailableError } from "../../../data/keyingProjectionVerification/dependencyUnavailable.js";
3
+ /** A retained wrap must name a KEK committed by verified container history. */
4
+ export function assertBlobWrapScopeVerified(input) {
5
+ const targets = input.binding.contentKeyBundle.targets.filter((target) => target.bindingId === input.binding.bindingId &&
6
+ target.documentId === input.documentId);
7
+ if (targets.length === 0)
8
+ throw new KeyingVerificationError("object_mismatch", "Blob bundle lacks its attachment target");
9
+ for (const target of targets) {
10
+ const path = input.authorization.containerPathByManifestHash.get(target.containerManifestHash);
11
+ const manifest = path?.at(-1);
12
+ if (!manifest)
13
+ throw new ProjectionDependencyUnavailableError("Blob wrapped-target manifest is unavailable");
14
+ if (manifest.state.containerId !== target.containerId ||
15
+ manifest.state.containerKeyEpochId !== target.containerKeyEpochId) {
16
+ throw new KeyingVerificationError("object_mismatch", "Blob wrapped target differs from verified container history");
17
+ }
18
+ }
19
+ }
20
+ //# sourceMappingURL=verifiedWrapScope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verifiedWrapScope.js","sourceRoot":"","sources":["verifiedWrapScope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAG5D,OAAO,EAAE,oCAAoC,EAAE,MAAM,kEAAkE,CAAC;AAExH,+EAA+E;AAC/E,MAAM,UAAU,2BAA2B,CAAC,KAI3C;IACC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAC3D,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,OAAO,CAAC,SAAS;QAC5C,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU,CACzC,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QACtB,MAAM,IAAI,uBAAuB,CAC/B,iBAAiB,EACjB,yCAAyC,CAC1C,CAAC;IACJ,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,2BAA2B,CAAC,GAAG,CAC9D,MAAM,CAAC,qBAAqB,CAC7B,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,CAAC,QAAQ;YACX,MAAM,IAAI,oCAAoC,CAC5C,6CAA6C,CAC9C,CAAC;QACJ,IACE,QAAQ,CAAC,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC,WAAW;YACjD,QAAQ,CAAC,KAAK,CAAC,mBAAmB,KAAK,MAAM,CAAC,mBAAmB,EACjE,CAAC;YACD,MAAM,IAAI,uBAAuB,CAC/B,iBAAiB,EACjB,6DAA6D,CAC9D,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC","sourcesContent":["import { KeyingVerificationError } from \"@tearleads/crypto\";\nimport type { BlobAttachmentSummary } from \"@tearleads/validators/response\";\nimport type { DocumentWriterProjectionAuthorization } from \"../../../data/keyingProjectionVerification\";\nimport { ProjectionDependencyUnavailableError } from \"../../../data/keyingProjectionVerification/dependencyUnavailable\";\n\n/** A retained wrap must name a KEK committed by verified container history. */\nexport function assertBlobWrapScopeVerified(input: {\n authorization: DocumentWriterProjectionAuthorization;\n binding: BlobAttachmentSummary;\n documentId: string;\n}): void {\n const targets = input.binding.contentKeyBundle.targets.filter(\n (target) =>\n target.bindingId === input.binding.bindingId &&\n target.documentId === input.documentId,\n );\n if (targets.length === 0)\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Blob bundle lacks its attachment target\",\n );\n for (const target of targets) {\n const path = input.authorization.containerPathByManifestHash.get(\n target.containerManifestHash,\n );\n const manifest = path?.at(-1);\n if (!manifest)\n throw new ProjectionDependencyUnavailableError(\n \"Blob wrapped-target manifest is unavailable\",\n );\n if (\n manifest.state.containerId !== target.containerId ||\n manifest.state.containerKeyEpochId !== target.containerKeyEpochId\n ) {\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Blob wrapped target differs from verified container history\",\n );\n }\n }\n}\n"]}