@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 @@
1
+ {"version":3,"file":"syncAutomaticContainerRekeys.js","sourceRoot":"","sources":["syncAutomaticContainerRekeys.ts"],"names":[],"mappings":"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","sourcesContent":["import { KeyingVerificationError } from \"@tearleads/crypto\";\nimport type {\n ContainerWriterProjectionResponse,\n DocumentWriterProjectionResponse,\n} from \"@tearleads/validators/response\";\nimport { MAX_INLINE_CONTAINER_REKEYS } from \"@tearleads/validators/util\";\nimport { ContainerAuthorAccessError } from \"../../../data/containers/shared/authorAccess\";\nimport type { MaterializedContainerRekeyPlan } from \"../../../data/containers/shared/types\";\nimport { ContainerKekRepairInaccessibleError } from \"../../../data/documents/shared/containerKekCurrency\";\nimport { ContainerKekTargetUnreachableError } from \"../../../data/documents/shared/containerKekPath\";\nimport { documentContainerProjections } from \"../../../data/keyingProjectionVerification/documentContainerProjections\";\nimport { assertProjectionVerificationCurrent } from \"../../../data/keyingProjectionVerification/types\";\nimport { buildMaterializedContainerRekeyPlan } from \"../../containers/child/rekey\";\nimport type { SyncRemoteDocumentInput } from \"../sync/readOnlySync\";\nimport { DocumentAncestorRepairAbandonedError } from \"../syncFailures/syncRepairAbandon\";\nimport { hasOtherLinkedWriteAccess } from \"../syncFailures/syncRepairAccess\";\nimport { applyContainerRekeyPlan } from \"./syncContainerRekeyProjection\";\n\ninterface StaleContainer {\n /** The stale container is the one the document itself is linked into. */\n readonly isPathTarget: boolean;\n readonly projection: ContainerWriterProjectionResponse;\n}\n\nfunction firstStaleContainer(\n projection: DocumentWriterProjectionResponse,\n): StaleContainer | null {\n for (const path of documentContainerProjections(projection)) {\n for (let index = 1; index < path.containerKeks.length; index += 1) {\n const parent = path.containerKeks[index - 1];\n const child = path.containerKeks[index];\n if (!parent || !child)\n throw new Error(\"Container KEK path is incomplete\");\n if (child.parentContainerKeyEpochId === parent.containerKeyEpochId) {\n continue;\n }\n return {\n isPathTarget: index === path.containerKeks.length - 1,\n projection: {\n ...path,\n containerId: child.containerId,\n containerKeks: path.containerKeks.slice(0, index + 1),\n path: path.path.slice(0, index + 1),\n },\n };\n }\n }\n return null;\n}\n\n/**\n * The stale container is not this writer's to re-key: no wrap on the verified\n * path opens it, or the signed path grants the signer no write access there.\n * Both are judged against the path sliced at the stale container, so a grant\n * held only further down never counts — exactly the API's `container.rekey`\n * rule. Anything else (keyring damage, a forged path) stays an error.\n *\n * A target's write refusal is handled separately: another linked target may\n * still authorize the document write. Key unwrap failures on a target stay\n * errors, because this path's readable grant should open its own key.\n */\nfunction isRepairInaccessible(error: unknown, stale: StaleContainer): boolean {\n if (stale.isPathTarget) return false;\n return (\n error instanceof ContainerAuthorAccessError ||\n (error instanceof ContainerKekTargetUnreachableError &&\n error.containerId === stale.projection.containerId)\n );\n}\n\n/** Prepare parent-first repairs; the sync transaction commits them with the write. */\nexport async function buildAutomaticContainerRekeys(\n sync: SyncRemoteDocumentInput,\n initialProjection: DocumentWriterProjectionResponse,\n): Promise<{ plans: MaterializedContainerRekeyPlan[]; hasMore: boolean }> {\n const plans: MaterializedContainerRekeyPlan[] = [];\n const plannedIds = new Set<string>();\n let projection = initialProjection;\n for (;;) {\n const stale = firstStaleContainer(projection);\n if (!stale) return { plans, hasMore: false };\n const previousProjection = stale.projection;\n if (plans.length >= MAX_INLINE_CONTAINER_REKEYS) {\n return { plans, hasMore: true };\n }\n // Use the shared cancellation sentinel: syncRemoteDocument converts only\n // that to a graceful null, so a plain Error would report a routine\n // generation flip mid-repair as a real sync failure.\n assertProjectionVerificationCurrent(sync.stillCurrent);\n if (plannedIds.has(previousProjection.containerId)) {\n // Abandon like every other routine repair failure: two linked paths\n // disagreeing about a container is a concurrent-rotation race, not a\n // defect, and a raw Error would crash the sync lane instead.\n throw new DocumentAncestorRepairAbandonedError(\"peer-rotation\");\n }\n // Assert rather than adopt: resolveRotationContext compares the verified\n // manifest's organization against the author's, so substituting the path's\n // own organization here would make that the only cross-org check and leave\n // it comparing a server-supplied value with itself.\n if (previousProjection.organizationId !== sync.author.organizationId) {\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Document ancestor repair crosses the author's organization\",\n );\n }\n const planned = await buildMaterializedContainerRekeyPlan({\n author: sync.author,\n persistVerificationCheckpoints: false,\n previousProjection,\n signedAt: sync.signedAt,\n targetSecretKey: sync.targetSecretKey,\n resolveProjectionUserKey: sync.resolveProjectionUserKey,\n stillCurrent: sync.stillCurrent,\n warmReferencedPrincipalPolicies: sync.warmReferencedPrincipalPolicies,\n execSql: sync.execSql,\n }).catch(async (error: unknown) => {\n if (error instanceof ContainerAuthorAccessError && stale.isPathTarget) {\n if (\n await hasOtherLinkedWriteAccess(\n sync,\n initialProjection,\n previousProjection.containerId,\n )\n ) {\n throw new ContainerKekRepairInaccessibleError(\n previousProjection.containerId,\n );\n }\n await sync.onTerminalSubmitFailure?.({\n code: error.code,\n message: error.message,\n ok: false,\n report: () => undefined,\n status: error.status,\n });\n throw new DocumentAncestorRepairAbandonedError(\"refused\");\n }\n // Repairs run parent-first and access inherits downward, so only the\n // first stale container can be out of reach. Retry-classified like any\n // stale path: one refetch sees a repair a capable member already made.\n throw isRepairInaccessible(error, stale)\n ? new ContainerKekRepairInaccessibleError(\n previousProjection.containerId,\n )\n : error;\n });\n plannedIds.add(previousProjection.containerId);\n plans.push(planned);\n projection = await applyContainerRekeyPlan(projection, planned);\n }\n}\n"]}
@@ -0,0 +1,227 @@
1
+ import { KeyingVerificationError } from "../../../internal/crypto/index.js";
2
+ import { MAX_CONTAINER_PATH_LENGTH } from "../../../internal/validators/util/index.js";
3
+ import { acknowledgeContainerMutationBatch } from "../../../data/containers/shared/mutationAcknowledgement.js";
4
+ import { assertDocumentWriterProjectionConsistent } from "../../../data/documents/shared/projection.js";
5
+ import { projectionVerificationOptions } from "../../../data/documents/shared/types.js";
6
+ import { requireProjectionUserKeyResolver } from "../../../data/keyingProjectionVerification/index.js";
7
+ import { assertProjectionVerificationCurrent } from "../../../data/keyingProjectionVerification/types.js";
8
+ import { submitContainerRotation, submitRotationCarryingDescendants, } from "../../containers/child/mutationSubmit.js";
9
+ import { refreshSyncAttemptWriterProjection } from "../syncFailures/index.js";
10
+ import { shouldRetrySyncWithFreshWriterProjection } from "../syncFailures/syncFailureClassification.js";
11
+ import { DocumentAncestorRepairAbandonedError } from "../syncFailures/syncRepairAbandon.js";
12
+ import { buildAutomaticContainerRekeys } from "./syncAutomaticContainerRekeys.js";
13
+ /**
14
+ * Repairs committed during one sync pass, keyed by the pass's own input object
15
+ * (stable across all three attempts). The sync loop explicitly prepares each
16
+ * attempt, so a counter local to one call would not bound the whole pass.
17
+ */
18
+ const passRepairTotals = new WeakMap();
19
+ /**
20
+ * Passes whose inline repairs the server refused for stranding a level above a
21
+ * directly granted container. The write's flat rekey list cannot say which
22
+ * descendants each repair must carry; a standalone rekey can, so the rest of
23
+ * the pass commits every repair standalone before writing.
24
+ */
25
+ const standaloneRepairPasses = new WeakSet();
26
+ export function requiresStandaloneAncestorRepairs(sync) {
27
+ return standaloneRepairPasses.has(sync);
28
+ }
29
+ export function requireStandaloneAncestorRepairs(sync) {
30
+ standaloneRepairPasses.add(sync);
31
+ }
32
+ /** A refusal the writer cannot clear by retrying, as opposed to 5xx/offline. */
33
+ function isTerminalRepairStatus(status) {
34
+ return status === 401 || status === 402 || status === 403;
35
+ }
36
+ /**
37
+ * One standalone repair. Prefers the status-bearing rekey: a permanent refusal
38
+ * (403 once ancestor write access is revoked, 402) must leave a durable record,
39
+ * while a 5xx or an offline blip must not, and plain `rekeyContainer` collapses
40
+ * both to null. It is also the only way to learn which descendant rekeys this
41
+ * repair must carry. An adapter without it still repairs; its refusals are just
42
+ * reported as an ordinary abandon.
43
+ */
44
+ function submitStandaloneRepair(sync, plan, writerProjection) {
45
+ const options = {
46
+ expectedPaymentRequiredOrganizationId: plan.state.organizationId,
47
+ };
48
+ const { getContainerWriterProjection, rekeyContainerResult } = sync.apiClient;
49
+ return submitRotationCarryingDescendants({
50
+ carriedRekeys: getContainerWriterProjection && {
51
+ planning: {
52
+ apiClient: {
53
+ getContainerWriterProjection: getContainerWriterProjection.bind(sync.apiClient),
54
+ },
55
+ author: sync.author,
56
+ execSql: sync.execSql,
57
+ resolveProjectionUserKey: requireProjectionUserKeyResolver(sync.resolveProjectionUserKey, "Document ancestor repair"),
58
+ stillCurrent: sync.stillCurrent,
59
+ targetSecretKey: sync.targetSecretKey,
60
+ warmReferencedPrincipalPolicies: sync.warmReferencedPrincipalPolicies,
61
+ },
62
+ rotated: async () => writerProjection,
63
+ },
64
+ stillCurrent: sync.stillCurrent,
65
+ submit: (carried) => {
66
+ const request = carried.length
67
+ ? { ...plan.request, containerRekeys: [...carried] }
68
+ : plan.request;
69
+ return submitContainerRotation({
70
+ plain: () => sync.apiClient.rekeyContainer(plan.containerId, request, options),
71
+ result: rekeyContainerResult
72
+ ? () => rekeyContainerResult.call(sync.apiClient, plan.containerId, request, { ...options, reportErrors: false })
73
+ : undefined,
74
+ });
75
+ },
76
+ });
77
+ }
78
+ async function commitRepairPrefix(input) {
79
+ let committed = 0;
80
+ for (const { plan, writerProjection } of input.plans) {
81
+ assertProjectionVerificationCurrent(input.sync.stillCurrent);
82
+ if (input.sync.isRemoteSyncBlocked?.(plan.state.organizationId)) {
83
+ throw new DocumentAncestorRepairAbandonedError("blocked");
84
+ }
85
+ if (input.repairedIds.has(plan.containerId)) {
86
+ throw new DocumentAncestorRepairAbandonedError("peer-rotation");
87
+ }
88
+ const { carriedPlans, result } = await submitStandaloneRepair(input.sync, plan, writerProjection);
89
+ const response = result.ok ? result.data : null;
90
+ // Deliberately not ContainerKekRepairRequiredError: that is classified as
91
+ // retryable, so a handled refusal would re-sign the whole prefix before
92
+ // failing again, and the retry never reaches onTerminalSubmitFailure
93
+ // regardless, because this throws before submission.
94
+ if (!response) {
95
+ if (!result.ok && isTerminalRepairStatus(result.status)) {
96
+ await input.sync.onTerminalSubmitFailure?.({
97
+ code: "document_ancestor_repair_refused",
98
+ message: `Ancestor repair refused for ${plan.containerId}`,
99
+ ok: false,
100
+ report: () => undefined,
101
+ status: result.status,
102
+ });
103
+ }
104
+ throw new DocumentAncestorRepairAbandonedError("refused");
105
+ }
106
+ // What a repair carried committed with it, so the pins advance together.
107
+ const acknowledged = await acknowledgeContainerMutationBatch({
108
+ execSql: input.sync.execSql,
109
+ plans: [plan, ...carriedPlans.map((carried) => carried.plan)],
110
+ responses: [response, ...(response.containerRekeys ?? [])],
111
+ stillCurrent: input.sync.stillCurrent,
112
+ });
113
+ if (!acknowledged) {
114
+ // A refused guarded transaction is usually a generation flip; surface it
115
+ // as the shared cancellation so syncRemoteDocument returns null instead
116
+ // of reporting a routine flip as a sync failure.
117
+ assertProjectionVerificationCurrent(input.sync.stillCurrent);
118
+ throw new Error("Document ancestor repair was superseded");
119
+ }
120
+ input.repairedIds.add(plan.containerId);
121
+ for (const carried of carriedPlans) {
122
+ input.repairedIds.add(carried.plan.containerId);
123
+ }
124
+ committed += 1 + carriedPlans.length;
125
+ // The rest of this prefix was signed before the carry. A plan for a carried
126
+ // container extends a superseded head, and one below it pins an epoch that
127
+ // was never minted. Stop here; the caller refetches and re-plans.
128
+ if (carriedPlans.length > 0)
129
+ return committed;
130
+ }
131
+ return committed;
132
+ }
133
+ /**
134
+ * Large repairs commit a bounded prefix; the last batch stays atomic with content.
135
+ * A tighter local resource budget may be used, but never above the protocol cap.
136
+ */
137
+ export async function prepareAutomaticContainerRekeys(sync, initialProjection, maxRepairs = MAX_CONTAINER_PATH_LENGTH) {
138
+ if (initialProjection.documentId !== sync.documentId) {
139
+ throw new KeyingVerificationError("object_mismatch", "Document ancestor repair projection targets another document");
140
+ }
141
+ let projection = initialProjection;
142
+ const repairedIds = new Set();
143
+ // `repairedIds` only breaks a loop within one preparation. An explicit sync
144
+ // retry starts another preparation with a fresh set. Bound the
145
+ // work by the deepest authorizing path the protocol allows, counted across
146
+ // the whole pass rather than per call: no honest chain needs more repairs
147
+ // than that, so re-entry cannot multiply the budget.
148
+ for (;;) {
149
+ const batch = await buildAutomaticContainerRekeys(sync, projection);
150
+ const commitsStandalone = batch.hasMore ||
151
+ (batch.plans.length > 0 && standaloneRepairPasses.has(sync));
152
+ if (!commitsStandalone)
153
+ return { plans: batch.plans, projection };
154
+ // Standalone mutations require authentic document scope before any request.
155
+ // Persist the verified heads here, unlike the inline path: a committed
156
+ // repair is acknowledged against the latest durable pin, and a repaired
157
+ // ancestor is always past epoch 1, so a device that has never pinned it
158
+ // would reject its own acknowledgement after the server already committed
159
+ // the rekey. The inline path needs no pin because the sync response
160
+ // re-verifies and pins before anything is acknowledged.
161
+ await assertDocumentWriterProjectionConsistent(projection, {
162
+ ...projectionVerificationOptions(sync),
163
+ persistVerificationCheckpoints: true,
164
+ allowStaleContentKeyBundle: true,
165
+ });
166
+ // Charge what this prefix can still commit, then settle to what it did: it
167
+ // stops early after a repair that carried something, and charging the plans
168
+ // it never submitted would spend the budget on work that did not happen.
169
+ const committedBefore = passRepairTotals.get(sync) ?? 0;
170
+ if (committedBefore + batch.plans.length >
171
+ Math.min(maxRepairs, MAX_CONTAINER_PATH_LENGTH)) {
172
+ throw new DocumentAncestorRepairAbandonedError("depth-budget");
173
+ }
174
+ passRepairTotals.set(sync, committedBefore +
175
+ (await commitRepairPrefix({ plans: batch.plans, repairedIds, sync })));
176
+ const fresh = await refreshSyncAttemptWriterProjection({
177
+ apiClient: sync.apiClient,
178
+ documentId: sync.documentId,
179
+ onRemoteDocumentDeleted: sync.onRemoteDocumentDeleted,
180
+ onSyncAbandoned: sync.onSyncAbandoned,
181
+ onSyncTrace: sync.onSyncTrace,
182
+ // Always a write-bearing pass, so a terminal projection failure (a 403
183
+ // after revocation mid-repair) must leave the durable record that the
184
+ // queued writes are blocked. onReadOnlyProjectionFailure is documented
185
+ // for passes without queued writes and would not apply here.
186
+ onTerminalFailure: sync.onTerminalSubmitFailure,
187
+ stillCurrent: sync.stillCurrent,
188
+ });
189
+ if (!fresh) {
190
+ // refreshSyncAttemptWriterProjection returns null on a generation flip.
191
+ assertProjectionVerificationCurrent(sync.stillCurrent);
192
+ // It has already called onSyncAbandoned by this point, and on a coded 404
193
+ // ran the verified local teardown, so a bare Error would double-signal as
194
+ // an abandon plus a sync-lane crash.
195
+ throw new DocumentAncestorRepairAbandonedError("unrefreshable");
196
+ }
197
+ // The scope check above guards the first round only; a refetched projection
198
+ // is server-supplied too, and nothing in the refresh path proves it names
199
+ // the document this repair is for.
200
+ if (fresh.documentId !== sync.documentId) {
201
+ throw new KeyingVerificationError("object_mismatch", "Document ancestor repair projection targets another document");
202
+ }
203
+ projection = fresh;
204
+ }
205
+ }
206
+ /** An explicit preparation retry may commit repairs; plan retries never do. */
207
+ export async function prepareSyncAttemptContainerRekeys(sync, projection) {
208
+ try {
209
+ return await prepareAutomaticContainerRekeys(sync, projection);
210
+ }
211
+ catch (error) {
212
+ if (!sync.apiClient.evictDocumentWriterProjection ||
213
+ !shouldRetrySyncWithFreshWriterProjection(error))
214
+ throw error;
215
+ }
216
+ const fresh = await refreshSyncAttemptWriterProjection({
217
+ apiClient: sync.apiClient,
218
+ documentId: sync.documentId,
219
+ onRemoteDocumentDeleted: sync.onRemoteDocumentDeleted,
220
+ onSyncAbandoned: sync.onSyncAbandoned,
221
+ onSyncTrace: sync.onSyncTrace,
222
+ onTerminalFailure: sync.onTerminalSubmitFailure,
223
+ stillCurrent: sync.stillCurrent,
224
+ });
225
+ return fresh ? prepareAutomaticContainerRekeys(sync, fresh) : null;
226
+ }
227
+ //# sourceMappingURL=syncContainerRekeyPreparation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncContainerRekeyPreparation.js","sourceRoot":"","sources":["syncContainerRekeyPreparation.ts"],"names":[],"mappings":"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","sourcesContent":["import { KeyingVerificationError } from \"@tearleads/crypto\";\nimport type { DocumentWriterProjectionResponse } from \"@tearleads/validators/response\";\nimport { MAX_CONTAINER_PATH_LENGTH } from \"@tearleads/validators/util\";\nimport { acknowledgeContainerMutationBatch } from \"../../../data/containers/shared/mutationAcknowledgement\";\nimport type { MaterializedContainerRekeyPlan } from \"../../../data/containers/shared/types\";\nimport { assertDocumentWriterProjectionConsistent } from \"../../../data/documents/shared/projection\";\nimport { projectionVerificationOptions } from \"../../../data/documents/shared/types\";\nimport { requireProjectionUserKeyResolver } from \"../../../data/keyingProjectionVerification\";\nimport { assertProjectionVerificationCurrent } from \"../../../data/keyingProjectionVerification/types\";\nimport {\n submitContainerRotation,\n submitRotationCarryingDescendants,\n} from \"../../containers/child/mutationSubmit\";\nimport type { SyncRemoteDocumentInput } from \"../sync/readOnlySync\";\nimport { refreshSyncAttemptWriterProjection } from \"../syncFailures\";\nimport { shouldRetrySyncWithFreshWriterProjection } from \"../syncFailures/syncFailureClassification\";\nimport { DocumentAncestorRepairAbandonedError } from \"../syncFailures/syncRepairAbandon\";\nimport { buildAutomaticContainerRekeys } from \"./syncAutomaticContainerRekeys\";\n\n/**\n * Repairs committed during one sync pass, keyed by the pass's own input object\n * (stable across all three attempts). The sync loop explicitly prepares each\n * attempt, so a counter local to one call would not bound the whole pass.\n */\nconst passRepairTotals = new WeakMap<SyncRemoteDocumentInput, number>();\n\n/**\n * Passes whose inline repairs the server refused for stranding a level above a\n * directly granted container. The write's flat rekey list cannot say which\n * descendants each repair must carry; a standalone rekey can, so the rest of\n * the pass commits every repair standalone before writing.\n */\nconst standaloneRepairPasses = new WeakSet<SyncRemoteDocumentInput>();\n\nexport function requiresStandaloneAncestorRepairs(\n sync: SyncRemoteDocumentInput,\n): boolean {\n return standaloneRepairPasses.has(sync);\n}\n\nexport function requireStandaloneAncestorRepairs(\n sync: SyncRemoteDocumentInput,\n): void {\n standaloneRepairPasses.add(sync);\n}\n\n/** A refusal the writer cannot clear by retrying, as opposed to 5xx/offline. */\nfunction isTerminalRepairStatus(status: number | null): boolean {\n return status === 401 || status === 402 || status === 403;\n}\n\n/**\n * One standalone repair. Prefers the status-bearing rekey: a permanent refusal\n * (403 once ancestor write access is revoked, 402) must leave a durable record,\n * while a 5xx or an offline blip must not, and plain `rekeyContainer` collapses\n * both to null. It is also the only way to learn which descendant rekeys this\n * repair must carry. An adapter without it still repairs; its refusals are just\n * reported as an ordinary abandon.\n */\nfunction submitStandaloneRepair(\n sync: SyncRemoteDocumentInput,\n plan: MaterializedContainerRekeyPlan[\"plan\"],\n writerProjection: MaterializedContainerRekeyPlan[\"writerProjection\"],\n) {\n const options = {\n expectedPaymentRequiredOrganizationId: plan.state.organizationId,\n };\n const { getContainerWriterProjection, rekeyContainerResult } = sync.apiClient;\n return submitRotationCarryingDescendants({\n carriedRekeys: getContainerWriterProjection && {\n planning: {\n apiClient: {\n getContainerWriterProjection: getContainerWriterProjection.bind(\n sync.apiClient,\n ),\n },\n author: sync.author,\n execSql: sync.execSql,\n resolveProjectionUserKey: requireProjectionUserKeyResolver(\n sync.resolveProjectionUserKey,\n \"Document ancestor repair\",\n ),\n stillCurrent: sync.stillCurrent,\n targetSecretKey: sync.targetSecretKey,\n warmReferencedPrincipalPolicies: sync.warmReferencedPrincipalPolicies,\n },\n rotated: async () => writerProjection,\n },\n stillCurrent: sync.stillCurrent,\n submit: (carried) => {\n const request = carried.length\n ? { ...plan.request, containerRekeys: [...carried] }\n : plan.request;\n return submitContainerRotation({\n plain: () =>\n sync.apiClient.rekeyContainer(plan.containerId, request, options),\n result: rekeyContainerResult\n ? () =>\n rekeyContainerResult.call(\n sync.apiClient,\n plan.containerId,\n request,\n { ...options, reportErrors: false },\n )\n : undefined,\n });\n },\n });\n}\n\nasync function commitRepairPrefix(input: {\n plans: readonly MaterializedContainerRekeyPlan[];\n repairedIds: Set<string>;\n sync: SyncRemoteDocumentInput;\n}): Promise<number> {\n let committed = 0;\n for (const { plan, writerProjection } of input.plans) {\n assertProjectionVerificationCurrent(input.sync.stillCurrent);\n if (input.sync.isRemoteSyncBlocked?.(plan.state.organizationId)) {\n throw new DocumentAncestorRepairAbandonedError(\"blocked\");\n }\n if (input.repairedIds.has(plan.containerId)) {\n throw new DocumentAncestorRepairAbandonedError(\"peer-rotation\");\n }\n const { carriedPlans, result } = await submitStandaloneRepair(\n input.sync,\n plan,\n writerProjection,\n );\n const response = result.ok ? result.data : null;\n // Deliberately not ContainerKekRepairRequiredError: that is classified as\n // retryable, so a handled refusal would re-sign the whole prefix before\n // failing again, and the retry never reaches onTerminalSubmitFailure\n // regardless, because this throws before submission.\n if (!response) {\n if (!result.ok && isTerminalRepairStatus(result.status)) {\n await input.sync.onTerminalSubmitFailure?.({\n code: \"document_ancestor_repair_refused\",\n message: `Ancestor repair refused for ${plan.containerId}`,\n ok: false,\n report: () => undefined,\n status: result.status,\n });\n }\n throw new DocumentAncestorRepairAbandonedError(\"refused\");\n }\n // What a repair carried committed with it, so the pins advance together.\n const acknowledged = await acknowledgeContainerMutationBatch({\n execSql: input.sync.execSql,\n plans: [plan, ...carriedPlans.map((carried) => carried.plan)],\n responses: [response, ...(response.containerRekeys ?? [])],\n stillCurrent: input.sync.stillCurrent,\n });\n if (!acknowledged) {\n // A refused guarded transaction is usually a generation flip; surface it\n // as the shared cancellation so syncRemoteDocument returns null instead\n // of reporting a routine flip as a sync failure.\n assertProjectionVerificationCurrent(input.sync.stillCurrent);\n throw new Error(\"Document ancestor repair was superseded\");\n }\n input.repairedIds.add(plan.containerId);\n for (const carried of carriedPlans) {\n input.repairedIds.add(carried.plan.containerId);\n }\n committed += 1 + carriedPlans.length;\n // The rest of this prefix was signed before the carry. A plan for a carried\n // container extends a superseded head, and one below it pins an epoch that\n // was never minted. Stop here; the caller refetches and re-plans.\n if (carriedPlans.length > 0) return committed;\n }\n return committed;\n}\n\n/**\n * Large repairs commit a bounded prefix; the last batch stays atomic with content.\n * A tighter local resource budget may be used, but never above the protocol cap.\n */\nexport async function prepareAutomaticContainerRekeys(\n sync: SyncRemoteDocumentInput,\n initialProjection: DocumentWriterProjectionResponse,\n maxRepairs = MAX_CONTAINER_PATH_LENGTH,\n): Promise<{\n plans: readonly MaterializedContainerRekeyPlan[];\n projection: DocumentWriterProjectionResponse;\n}> {\n if (initialProjection.documentId !== sync.documentId) {\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Document ancestor repair projection targets another document\",\n );\n }\n let projection = initialProjection;\n const repairedIds = new Set<string>();\n // `repairedIds` only breaks a loop within one preparation. An explicit sync\n // retry starts another preparation with a fresh set. Bound the\n // work by the deepest authorizing path the protocol allows, counted across\n // the whole pass rather than per call: no honest chain needs more repairs\n // than that, so re-entry cannot multiply the budget.\n for (;;) {\n const batch = await buildAutomaticContainerRekeys(sync, projection);\n const commitsStandalone =\n batch.hasMore ||\n (batch.plans.length > 0 && standaloneRepairPasses.has(sync));\n if (!commitsStandalone) return { plans: batch.plans, projection };\n // Standalone mutations require authentic document scope before any request.\n // Persist the verified heads here, unlike the inline path: a committed\n // repair is acknowledged against the latest durable pin, and a repaired\n // ancestor is always past epoch 1, so a device that has never pinned it\n // would reject its own acknowledgement after the server already committed\n // the rekey. The inline path needs no pin because the sync response\n // re-verifies and pins before anything is acknowledged.\n await assertDocumentWriterProjectionConsistent(projection, {\n ...projectionVerificationOptions(sync),\n persistVerificationCheckpoints: true,\n allowStaleContentKeyBundle: true,\n });\n // Charge what this prefix can still commit, then settle to what it did: it\n // stops early after a repair that carried something, and charging the plans\n // it never submitted would spend the budget on work that did not happen.\n const committedBefore = passRepairTotals.get(sync) ?? 0;\n if (\n committedBefore + batch.plans.length >\n Math.min(maxRepairs, MAX_CONTAINER_PATH_LENGTH)\n ) {\n throw new DocumentAncestorRepairAbandonedError(\"depth-budget\");\n }\n passRepairTotals.set(\n sync,\n committedBefore +\n (await commitRepairPrefix({ plans: batch.plans, repairedIds, sync })),\n );\n const fresh = await refreshSyncAttemptWriterProjection({\n apiClient: sync.apiClient,\n documentId: sync.documentId,\n onRemoteDocumentDeleted: sync.onRemoteDocumentDeleted,\n onSyncAbandoned: sync.onSyncAbandoned,\n onSyncTrace: sync.onSyncTrace,\n // Always a write-bearing pass, so a terminal projection failure (a 403\n // after revocation mid-repair) must leave the durable record that the\n // queued writes are blocked. onReadOnlyProjectionFailure is documented\n // for passes without queued writes and would not apply here.\n onTerminalFailure: sync.onTerminalSubmitFailure,\n stillCurrent: sync.stillCurrent,\n });\n if (!fresh) {\n // refreshSyncAttemptWriterProjection returns null on a generation flip.\n assertProjectionVerificationCurrent(sync.stillCurrent);\n // It has already called onSyncAbandoned by this point, and on a coded 404\n // ran the verified local teardown, so a bare Error would double-signal as\n // an abandon plus a sync-lane crash.\n throw new DocumentAncestorRepairAbandonedError(\"unrefreshable\");\n }\n // The scope check above guards the first round only; a refetched projection\n // is server-supplied too, and nothing in the refresh path proves it names\n // the document this repair is for.\n if (fresh.documentId !== sync.documentId) {\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Document ancestor repair projection targets another document\",\n );\n }\n projection = fresh;\n }\n}\n\n/** An explicit preparation retry may commit repairs; plan retries never do. */\nexport async function prepareSyncAttemptContainerRekeys(\n sync: SyncRemoteDocumentInput,\n projection: DocumentWriterProjectionResponse,\n) {\n try {\n return await prepareAutomaticContainerRekeys(sync, projection);\n } catch (error) {\n if (\n !sync.apiClient.evictDocumentWriterProjection ||\n !shouldRetrySyncWithFreshWriterProjection(error)\n )\n throw error;\n }\n const fresh = await refreshSyncAttemptWriterProjection({\n apiClient: sync.apiClient,\n documentId: sync.documentId,\n onRemoteDocumentDeleted: sync.onRemoteDocumentDeleted,\n onSyncAbandoned: sync.onSyncAbandoned,\n onSyncTrace: sync.onSyncTrace,\n onTerminalFailure: sync.onTerminalSubmitFailure,\n stillCurrent: sync.stillCurrent,\n });\n return fresh ? prepareAutomaticContainerRekeys(sync, fresh) : null;\n}\n"]}
@@ -0,0 +1,79 @@
1
+ import { computeDocumentContentKeyTargetHash } from "../../../internal/crypto/index.js";
2
+ import { normalizeDocumentKekTargetResponse, readManifestContainerId, } from "../../../data/documents/shared/readers.js";
3
+ function replaceRekeyedPathNode(input) {
4
+ const index = input.projection.path.findIndex((bundle) => readManifestContainerId(bundle) === input.plan.plan.containerId);
5
+ if (index < 0)
6
+ return { projection: input.projection, replaced: false };
7
+ const previousManifest = input.projection.path[index];
8
+ const previousKek = input.projection.containerKeks[index];
9
+ const nextManifest = input.plan.writerProjection.path.at(-1);
10
+ const nextKek = input.plan.writerProjection.containerKeks.at(-1);
11
+ if (!previousManifest ||
12
+ !previousKek ||
13
+ !nextManifest ||
14
+ !nextKek ||
15
+ previousManifest.manifestHash !==
16
+ input.plan.plan.previousManifest.manifestHash ||
17
+ previousKek.accessManifestHash !== previousManifest.manifestHash) {
18
+ throw new Error("Document inline rekey projection predecessor mismatch");
19
+ }
20
+ const path = [...input.projection.path];
21
+ const containerKeks = [...input.projection.containerKeks];
22
+ path[index] = nextManifest;
23
+ containerKeks[index] = nextKek;
24
+ return {
25
+ projection: { ...input.projection, containerKeks, path },
26
+ replaced: true,
27
+ };
28
+ }
29
+ export async function applyContainerRekeyPlan(writerProjection, plan) {
30
+ let replacedPath = false;
31
+ const authorizingContainerPaths = writerProjection.authorizingContainerPaths.map((projection) => {
32
+ const replaced = replaceRekeyedPathNode({ plan, projection });
33
+ replacedPath ||= replaced.replaced;
34
+ return replaced.projection;
35
+ });
36
+ const nextKek = plan.writerProjection.containerKeks.at(-1);
37
+ const nextManifest = plan.writerProjection.path.at(-1);
38
+ if (!nextKek || !nextManifest) {
39
+ throw new Error("Document inline rekey projection is empty");
40
+ }
41
+ let replacedTarget = false;
42
+ const targets = normalizeDocumentKekTargetResponse(writerProjection.documentKekTargets).map((target) => {
43
+ if (target.containerId !== plan.plan.containerId)
44
+ return target;
45
+ replacedTarget = true;
46
+ return {
47
+ ...target,
48
+ containerKeyEpoch: nextKek.containerKeyEpoch,
49
+ containerKeyEpochId: nextKek.containerKeyEpochId,
50
+ containerManifestHash: nextManifest.manifestHash,
51
+ };
52
+ });
53
+ if (!replacedPath && !replacedTarget) {
54
+ throw new Error("Document inline rekey does not belong to its writer projection");
55
+ }
56
+ const documentKeyTargetHash = await computeDocumentContentKeyTargetHash(targets);
57
+ return {
58
+ ...writerProjection,
59
+ authorizingContainerPaths,
60
+ ...(documentKeyTargetHash === writerProjection.contentKeyBundle.targetHash
61
+ ? {}
62
+ : { contentKeyBundleStale: true }),
63
+ documentKekTargets: {
64
+ ...writerProjection.documentKekTargets,
65
+ documentKeyTargetHash,
66
+ linkedContainerKeyEpochIds: targets.map((target) => target.containerKeyEpochId),
67
+ linkedContainerManifestHashes: targets.map((target) => target.containerManifestHash),
68
+ targets: targets.map((target) => ({ ...target })),
69
+ },
70
+ };
71
+ }
72
+ export async function applyDocumentSyncContainerRekeys(input) {
73
+ let projection = input.writerProjection;
74
+ for (const plan of input.plans) {
75
+ projection = await applyContainerRekeyPlan(projection, plan);
76
+ }
77
+ return projection;
78
+ }
79
+ //# sourceMappingURL=syncContainerRekeyProjection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncContainerRekeyProjection.js","sourceRoot":"","sources":["syncContainerRekeyProjection.ts"],"names":[],"mappings":"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","sourcesContent":["import { computeDocumentContentKeyTargetHash } from \"@tearleads/crypto\";\nimport type { DocumentWriterProjectionResponse } from \"@tearleads/validators/response\";\nimport type { MaterializedContainerRekeyPlan } from \"../../../data/containers/shared/types\";\nimport {\n normalizeDocumentKekTargetResponse,\n readManifestContainerId,\n} from \"../../../data/documents/shared/readers\";\n\nfunction replaceRekeyedPathNode(input: {\n plan: MaterializedContainerRekeyPlan;\n projection: DocumentWriterProjectionResponse[\"authorizingContainerPaths\"][number];\n}) {\n const index = input.projection.path.findIndex(\n (bundle) => readManifestContainerId(bundle) === input.plan.plan.containerId,\n );\n if (index < 0) return { projection: input.projection, replaced: false };\n const previousManifest = input.projection.path[index];\n const previousKek = input.projection.containerKeks[index];\n const nextManifest = input.plan.writerProjection.path.at(-1);\n const nextKek = input.plan.writerProjection.containerKeks.at(-1);\n if (\n !previousManifest ||\n !previousKek ||\n !nextManifest ||\n !nextKek ||\n previousManifest.manifestHash !==\n input.plan.plan.previousManifest.manifestHash ||\n previousKek.accessManifestHash !== previousManifest.manifestHash\n ) {\n throw new Error(\"Document inline rekey projection predecessor mismatch\");\n }\n const path = [...input.projection.path];\n const containerKeks = [...input.projection.containerKeks];\n path[index] = nextManifest;\n containerKeks[index] = nextKek;\n return {\n projection: { ...input.projection, containerKeks, path },\n replaced: true,\n };\n}\n\nexport async function applyContainerRekeyPlan(\n writerProjection: DocumentWriterProjectionResponse,\n plan: MaterializedContainerRekeyPlan,\n): Promise<DocumentWriterProjectionResponse> {\n let replacedPath = false;\n const authorizingContainerPaths =\n writerProjection.authorizingContainerPaths.map((projection) => {\n const replaced = replaceRekeyedPathNode({ plan, projection });\n replacedPath ||= replaced.replaced;\n return replaced.projection;\n });\n const nextKek = plan.writerProjection.containerKeks.at(-1);\n const nextManifest = plan.writerProjection.path.at(-1);\n if (!nextKek || !nextManifest) {\n throw new Error(\"Document inline rekey projection is empty\");\n }\n let replacedTarget = false;\n const targets = normalizeDocumentKekTargetResponse(\n writerProjection.documentKekTargets,\n ).map((target) => {\n if (target.containerId !== plan.plan.containerId) return target;\n replacedTarget = true;\n return {\n ...target,\n containerKeyEpoch: nextKek.containerKeyEpoch,\n containerKeyEpochId: nextKek.containerKeyEpochId,\n containerManifestHash: nextManifest.manifestHash,\n };\n });\n if (!replacedPath && !replacedTarget) {\n throw new Error(\n \"Document inline rekey does not belong to its writer projection\",\n );\n }\n const documentKeyTargetHash =\n await computeDocumentContentKeyTargetHash(targets);\n return {\n ...writerProjection,\n authorizingContainerPaths,\n ...(documentKeyTargetHash === writerProjection.contentKeyBundle.targetHash\n ? {}\n : { contentKeyBundleStale: true as const }),\n documentKekTargets: {\n ...writerProjection.documentKekTargets,\n documentKeyTargetHash,\n linkedContainerKeyEpochIds: targets.map(\n (target) => target.containerKeyEpochId,\n ),\n linkedContainerManifestHashes: targets.map(\n (target) => target.containerManifestHash,\n ),\n targets: targets.map((target) => ({ ...target })),\n },\n };\n}\n\nexport async function applyDocumentSyncContainerRekeys(input: {\n plans: readonly MaterializedContainerRekeyPlan[];\n writerProjection: DocumentWriterProjectionResponse;\n}): Promise<DocumentWriterProjectionResponse> {\n let projection = input.writerProjection;\n for (const plan of input.plans) {\n projection = await applyContainerRekeyPlan(projection, plan);\n }\n return projection;\n}\n"]}
@@ -0,0 +1,72 @@
1
+ import { projectionVerificationOptions } from "../../../data/documents/shared/types.js";
2
+ import { DocumentSyncPreparationRequiredError } from "../syncFailures/syncRepairAbandon.js";
3
+ import { buildMaterializedDocumentSyncPlan } from "../syncPlan/syncPlanMaterial.js";
4
+ import { buildAutomaticContainerRekeys } from "./syncAutomaticContainerRekeys.js";
5
+ import { requiresStandaloneAncestorRepairs } from "./syncContainerRekeyPreparation.js";
6
+ import { applyDocumentSyncContainerRekeys } from "./syncContainerRekeyProjection.js";
7
+ import { computeInlineRekeyCommitId } from "./syncRekeyCommit.js";
8
+ /** Plan only: standalone server repairs belong to the outer sync attempt. */
9
+ export async function buildRemoteDocumentSyncPlan(input) {
10
+ // Repairing this document's own container moves its key target hash, which
11
+ // marks the content-key bundle stale. Only a pass that can build a rotation
12
+ // snapshot is able to heal that; rotation settlement deliberately cannot
13
+ // (`syncRequest.ts` omits the builder for `allowRecoveryBaseline: false`), so
14
+ // repairing there would trade a classified "ancestor repair required" failure
15
+ // for an unhealable bundle — after a standalone prefix may already have been
16
+ // committed. Such a pass is left to fail as it did before automatic repair.
17
+ const canHealStaleBundle = input.sync.buildRotationSnapshot !== undefined;
18
+ let automaticPlans = input.preparedRekeys;
19
+ if (input.pendingUpdates.length &&
20
+ !input.sync.buildContainerRekeys &&
21
+ canHealStaleBundle &&
22
+ automaticPlans === undefined) {
23
+ const batch = await buildAutomaticContainerRekeys(input.sync, input.projection);
24
+ if (batch.hasMore ||
25
+ (batch.plans.length > 0 && requiresStandaloneAncestorRepairs(input.sync))) {
26
+ throw new DocumentSyncPreparationRequiredError();
27
+ }
28
+ automaticPlans = batch.plans;
29
+ }
30
+ const rekeyPlans = input.pendingUpdates.length && input.sync.buildContainerRekeys
31
+ ? await input.sync.buildContainerRekeys(input.projection, {
32
+ persistVerificationCheckpoints: false,
33
+ })
34
+ : automaticPlans;
35
+ const writerProjection = rekeyPlans?.length
36
+ ? await applyDocumentSyncContainerRekeys({
37
+ plans: rekeyPlans,
38
+ writerProjection: input.projection,
39
+ })
40
+ : input.projection;
41
+ let inlineRekeyCommitId;
42
+ if (rekeyPlans?.length) {
43
+ const headPendingUpdate = input.pendingUpdates[0];
44
+ if (!headPendingUpdate) {
45
+ throw new Error("Document inline rekey pending queue is empty");
46
+ }
47
+ inlineRekeyCommitId = await computeInlineRekeyCommitId({
48
+ headPendingUpdateId: headPendingUpdate.id,
49
+ projection: input.projection,
50
+ });
51
+ }
52
+ return buildMaterializedDocumentSyncPlan({
53
+ author: input.sync.author,
54
+ buildRotationSnapshot: input.sync.buildRotationSnapshot,
55
+ containerRekeys: rekeyPlans?.map(({ plan }) => plan.request),
56
+ execSql: input.sync.execSql,
57
+ historyMode: input.sync.historyMode,
58
+ inlineRekeyCommitId,
59
+ localVersionVector: input.sync.localVersionVector,
60
+ minLsn: input.minLsn,
61
+ onSyncTrace: input.sync.onSyncTrace,
62
+ pendingUpdates: input.pendingUpdates,
63
+ persistVerificationCheckpoints: rekeyPlans?.length ? false : undefined,
64
+ pullCursor: input.pullCursor,
65
+ regenerateQueuedCheckpoints: input.regenerateQueuedCheckpoints,
66
+ signedAt: input.sync.signedAt,
67
+ targetSecretKey: input.sync.targetSecretKey,
68
+ writerProjection,
69
+ ...projectionVerificationOptions(input.sync),
70
+ });
71
+ }
72
+ //# sourceMappingURL=syncContainerRekeys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncContainerRekeys.js","sourceRoot":"","sources":["syncContainerRekeys.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DocumentWriterProjectionResponse } from \"@tearleads/validators/response\";\nimport type { MaterializedContainerRekeyPlan } from \"../../../data/containers/shared/types\";\nimport { projectionVerificationOptions } from \"../../../data/documents/shared/types\";\nimport type { PendingUpdateRecord } from \"../../../data/sqlite/documentPersistence\";\nimport type { SyncRemoteDocumentInput } from \"../sync/readOnlySync\";\nimport { DocumentSyncPreparationRequiredError } from \"../syncFailures/syncRepairAbandon\";\nimport { buildMaterializedDocumentSyncPlan } from \"../syncPlan/syncPlanMaterial\";\nimport { buildAutomaticContainerRekeys } from \"./syncAutomaticContainerRekeys\";\nimport { requiresStandaloneAncestorRepairs } from \"./syncContainerRekeyPreparation\";\nimport { applyDocumentSyncContainerRekeys } from \"./syncContainerRekeyProjection\";\nimport { computeInlineRekeyCommitId } from \"./syncRekeyCommit\";\n\n/** Plan only: standalone server repairs belong to the outer sync attempt. */\nexport async function buildRemoteDocumentSyncPlan(input: {\n preparedRekeys?: readonly MaterializedContainerRekeyPlan[] | undefined;\n minLsn?: string | undefined;\n pendingUpdates: readonly PendingUpdateRecord[];\n pullCursor?: string | undefined;\n projection: DocumentWriterProjectionResponse;\n regenerateQueuedCheckpoints: boolean;\n sync: SyncRemoteDocumentInput;\n}) {\n // Repairing this document's own container moves its key target hash, which\n // marks the content-key bundle stale. Only a pass that can build a rotation\n // snapshot is able to heal that; rotation settlement deliberately cannot\n // (`syncRequest.ts` omits the builder for `allowRecoveryBaseline: false`), so\n // repairing there would trade a classified \"ancestor repair required\" failure\n // for an unhealable bundle — after a standalone prefix may already have been\n // committed. Such a pass is left to fail as it did before automatic repair.\n const canHealStaleBundle = input.sync.buildRotationSnapshot !== undefined;\n let automaticPlans = input.preparedRekeys;\n if (\n input.pendingUpdates.length &&\n !input.sync.buildContainerRekeys &&\n canHealStaleBundle &&\n automaticPlans === undefined\n ) {\n const batch = await buildAutomaticContainerRekeys(\n input.sync,\n input.projection,\n );\n if (\n batch.hasMore ||\n (batch.plans.length > 0 && requiresStandaloneAncestorRepairs(input.sync))\n ) {\n throw new DocumentSyncPreparationRequiredError();\n }\n automaticPlans = batch.plans;\n }\n const rekeyPlans =\n input.pendingUpdates.length && input.sync.buildContainerRekeys\n ? await input.sync.buildContainerRekeys(input.projection, {\n persistVerificationCheckpoints: false,\n })\n : automaticPlans;\n const writerProjection = rekeyPlans?.length\n ? await applyDocumentSyncContainerRekeys({\n plans: rekeyPlans,\n writerProjection: input.projection,\n })\n : input.projection;\n let inlineRekeyCommitId: string | undefined;\n if (rekeyPlans?.length) {\n const headPendingUpdate = input.pendingUpdates[0];\n if (!headPendingUpdate) {\n throw new Error(\"Document inline rekey pending queue is empty\");\n }\n inlineRekeyCommitId = await computeInlineRekeyCommitId({\n headPendingUpdateId: headPendingUpdate.id,\n projection: input.projection,\n });\n }\n return buildMaterializedDocumentSyncPlan({\n author: input.sync.author,\n buildRotationSnapshot: input.sync.buildRotationSnapshot,\n containerRekeys: rekeyPlans?.map(({ plan }) => plan.request),\n execSql: input.sync.execSql,\n historyMode: input.sync.historyMode,\n inlineRekeyCommitId,\n localVersionVector: input.sync.localVersionVector,\n minLsn: input.minLsn,\n onSyncTrace: input.sync.onSyncTrace,\n pendingUpdates: input.pendingUpdates,\n persistVerificationCheckpoints: rekeyPlans?.length ? false : undefined,\n pullCursor: input.pullCursor,\n regenerateQueuedCheckpoints: input.regenerateQueuedCheckpoints,\n signedAt: input.sync.signedAt,\n targetSecretKey: input.sync.targetSecretKey,\n writerProjection,\n ...projectionVerificationOptions(input.sync),\n });\n}\n"]}
@@ -0,0 +1,70 @@
1
+ import type { DocumentSyncResponse } from "../../../internal/validators/response/index.js";
2
+ import type { DocumentSyncSubmitFailure } from "../../../data/documents/shared/types.js";
3
+ import { type PendingUpdateRecord } from "../../../data/sqlite/documentPersistence.js";
4
+ import { type ExecSql } from "../../../data/sqlite/sqlSchema.js";
5
+ export type RekeyPendingUpdate = (execSql: ExecSql, id: string) => Promise<string | null>;
6
+ interface DecryptedSyncUpdate {
7
+ id: string;
8
+ partialEndVersionVector: string;
9
+ partialStartVersionVector: string;
10
+ updateData: Uint8Array;
11
+ }
12
+ export declare function settledPendingUpdateIdsFromSync(input: {
13
+ decryptedUpdates: readonly DecryptedSyncUpdate[];
14
+ recoveryPendingUpdatesById: ReadonlyMap<string, PendingUpdateRecord>;
15
+ response: DocumentSyncResponse;
16
+ }): string[];
17
+ /**
18
+ * A read-only recovery sync settles a conflicted pending update only when the
19
+ * response carries it — but the server's frontier filter omits spans the
20
+ * request's localVersionVector already covers, which a locally-applied
21
+ * pending update always is. Left alone, the conflicted id is resubmitted (and
22
+ * 409s the whole outgoing batch) forever: a lost ack leaves the server
23
+ * holding the original ciphertext, and every rebuild encrypts with a fresh
24
+ * IV, so a byte-identical retry can never be reproduced. Re-key what
25
+ * recovery could not settle so the next sync pass submits the same ops under
26
+ * a conflict-free id; the server-side copy stays harmless because CRDT
27
+ * update import is idempotent.
28
+ *
29
+ * Re-keying goes through the caller's persistence implementation when given
30
+ * (defaulting to the built-in pending-update table) and reports only ids
31
+ * whose row actually changed, so a record living in some other queue never
32
+ * counts as progress. Returns the fresh ids so callers can treat re-keying
33
+ * as settlement-like progress and schedule the pass that submits them.
34
+ *
35
+ * A row whose persisted rekeyCount has reached the bound is not re-keyed
36
+ * again: it is reported as exhausted so the caller can surface a terminal
37
+ * failure instead of feeding an unbounded conflict loop that survives
38
+ * restarts (each session's in-memory lane cap resets, this bound does not).
39
+ */
40
+ export declare function rekeyUnsettledRecoveryPendingUpdates(input: {
41
+ execSql: ExecSql;
42
+ recoveryPendingUpdatesById: ReadonlyMap<string, PendingUpdateRecord>;
43
+ rekeyPendingUpdate?: RekeyPendingUpdate | undefined;
44
+ settledPendingUpdateIds: readonly string[];
45
+ stillCurrent?: (() => boolean) | undefined;
46
+ }): Promise<{
47
+ exhaustedPendingUpdateIds: string[];
48
+ rekeyedPendingUpdateIds: string[];
49
+ }>;
50
+ /**
51
+ * Re-key what recovery could not settle and surface exhausted rows through
52
+ * the caller's terminal-failure handler. The exhausted count is also
53
+ * returned so the sync result can carry it: a pass that recorded this
54
+ * failure must not read as clean to callers that clear recorded failures
55
+ * on success.
56
+ */
57
+ export declare function rekeyAndReportUnsettledRecoveryPendingUpdates(input: Parameters<typeof rekeyUnsettledRecoveryPendingUpdates>[0] & {
58
+ onTerminalSubmitFailure?: ((failure: DocumentSyncSubmitFailure) => Promise<void> | void) | undefined;
59
+ }): Promise<{
60
+ exhaustedPendingUpdateCount: number;
61
+ rekeyedPendingUpdateIds: string[];
62
+ }>;
63
+ /**
64
+ * Terminal failure recorded when conflict recovery gives up on pending
65
+ * updates whose persisted re-key bound is exhausted. Shaped like a submit
66
+ * failure so the existing write-queue surface (recordDocumentSyncFailure via
67
+ * onTerminalSubmitFailure) explains the stuck write without new plumbing.
68
+ */
69
+ export declare function rekeyLimitSubmitFailure(exhaustedCount: number): DocumentSyncSubmitFailure;
70
+ export {};