@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,120 @@
1
+ import { base64ToBytes } from "../../../internal/encoding/index.js";
2
+ import { MAX_PENDING_UPDATE_REKEYS, rekeyDocumentPendingUpdate, } from "../../../data/sqlite/documentPersistence.js";
3
+ import { getClientSQLitePersistenceRuntime } from "../../../data/sqlite/sqlitePersistenceRuntime.js";
4
+ import { runSerializedSqlMutation, } from "../../../data/sqlite/sqlSchema.js";
5
+ function bytesEqual(left, right) {
6
+ return (left.byteLength === right.byteLength &&
7
+ left.every((value, index) => value === right[index]));
8
+ }
9
+ function pendingUpdateMatchesDecryptedUpdate(pendingUpdate, decryptedUpdate) {
10
+ if (pendingUpdate.partialStartVersionVector !==
11
+ decryptedUpdate.partialStartVersionVector ||
12
+ pendingUpdate.partialEndVersionVector !==
13
+ decryptedUpdate.partialEndVersionVector) {
14
+ return false;
15
+ }
16
+ return bytesEqual(base64ToBytes(pendingUpdate.updateData), decryptedUpdate.updateData);
17
+ }
18
+ export function settledPendingUpdateIdsFromSync(input) {
19
+ const settled = new Set(input.response.acceptedOutgoingUpdateIds);
20
+ for (const update of input.decryptedUpdates) {
21
+ const pendingUpdate = input.recoveryPendingUpdatesById.get(update.id);
22
+ if (pendingUpdate &&
23
+ pendingUpdateMatchesDecryptedUpdate(pendingUpdate, update)) {
24
+ settled.add(update.id);
25
+ }
26
+ }
27
+ return [...settled];
28
+ }
29
+ /**
30
+ * A read-only recovery sync settles a conflicted pending update only when the
31
+ * response carries it — but the server's frontier filter omits spans the
32
+ * request's localVersionVector already covers, which a locally-applied
33
+ * pending update always is. Left alone, the conflicted id is resubmitted (and
34
+ * 409s the whole outgoing batch) forever: a lost ack leaves the server
35
+ * holding the original ciphertext, and every rebuild encrypts with a fresh
36
+ * IV, so a byte-identical retry can never be reproduced. Re-key what
37
+ * recovery could not settle so the next sync pass submits the same ops under
38
+ * a conflict-free id; the server-side copy stays harmless because CRDT
39
+ * update import is idempotent.
40
+ *
41
+ * Re-keying goes through the caller's persistence implementation when given
42
+ * (defaulting to the built-in pending-update table) and reports only ids
43
+ * whose row actually changed, so a record living in some other queue never
44
+ * counts as progress. Returns the fresh ids so callers can treat re-keying
45
+ * as settlement-like progress and schedule the pass that submits them.
46
+ *
47
+ * A row whose persisted rekeyCount has reached the bound is not re-keyed
48
+ * again: it is reported as exhausted so the caller can surface a terminal
49
+ * failure instead of feeding an unbounded conflict loop that survives
50
+ * restarts (each session's in-memory lane cap resets, this bound does not).
51
+ */
52
+ export async function rekeyUnsettledRecoveryPendingUpdates(input) {
53
+ const rekeyPendingUpdate = input.rekeyPendingUpdate ?? rekeyDocumentPendingUpdate;
54
+ const settled = new Set(input.settledPendingUpdateIds);
55
+ const rekeyedPendingUpdateIds = [];
56
+ const exhaustedPendingUpdateIds = [];
57
+ for (const [pendingUpdateId, record] of input.recoveryPendingUpdatesById) {
58
+ if (input.stillCurrent?.() === false)
59
+ break;
60
+ if (settled.has(pendingUpdateId)) {
61
+ continue;
62
+ }
63
+ // Known multi-tab limitation: the count is the row as loaded at pass
64
+ // start, so a sibling tab that settle-deleted the row can make this
65
+ // record a failure for work that no longer exists. The stale failure is
66
+ // transient — the document's next clean pass clears it.
67
+ if ((record.rekeyCount ?? 0) >= MAX_PENDING_UPDATE_REKEYS) {
68
+ exhaustedPendingUpdateIds.push(pendingUpdateId);
69
+ continue;
70
+ }
71
+ const outcome = await runSerializedSqlMutation(input.execSql, (lockedExecSql) => getClientSQLitePersistenceRuntime(lockedExecSql).guardedTransaction(async () => input.stillCurrent?.() === false
72
+ ? null
73
+ : rekeyPendingUpdate(lockedExecSql, pendingUpdateId), () => input.stillCurrent?.() !== false));
74
+ if (!outcome.committed)
75
+ break;
76
+ const nextId = outcome.result;
77
+ if (nextId !== null) {
78
+ rekeyedPendingUpdateIds.push(nextId);
79
+ }
80
+ }
81
+ if (input.stillCurrent?.() === false) {
82
+ return { exhaustedPendingUpdateIds: [], rekeyedPendingUpdateIds: [] };
83
+ }
84
+ return { exhaustedPendingUpdateIds, rekeyedPendingUpdateIds };
85
+ }
86
+ /**
87
+ * Re-key what recovery could not settle and surface exhausted rows through
88
+ * the caller's terminal-failure handler. The exhausted count is also
89
+ * returned so the sync result can carry it: a pass that recorded this
90
+ * failure must not read as clean to callers that clear recorded failures
91
+ * on success.
92
+ */
93
+ export async function rekeyAndReportUnsettledRecoveryPendingUpdates(input) {
94
+ const { exhaustedPendingUpdateIds, rekeyedPendingUpdateIds } = await rekeyUnsettledRecoveryPendingUpdates(input);
95
+ if (input.stillCurrent?.() === false) {
96
+ return { exhaustedPendingUpdateCount: 0, rekeyedPendingUpdateIds: [] };
97
+ }
98
+ if (exhaustedPendingUpdateIds.length > 0) {
99
+ await input.onTerminalSubmitFailure?.(rekeyLimitSubmitFailure(exhaustedPendingUpdateIds.length));
100
+ }
101
+ return {
102
+ exhaustedPendingUpdateCount: exhaustedPendingUpdateIds.length,
103
+ rekeyedPendingUpdateIds,
104
+ };
105
+ }
106
+ /**
107
+ * Terminal failure recorded when conflict recovery gives up on pending
108
+ * updates whose persisted re-key bound is exhausted. Shaped like a submit
109
+ * failure so the existing write-queue surface (recordDocumentSyncFailure via
110
+ * onTerminalSubmitFailure) explains the stuck write without new plumbing.
111
+ */
112
+ export function rekeyLimitSubmitFailure(exhaustedCount) {
113
+ return {
114
+ message: `Update conflict recovery gave up after ${MAX_PENDING_UPDATE_REKEYS} re-key attempts (${exhaustedCount} update${exhaustedCount === 1 ? "" : "s"})`,
115
+ ok: false,
116
+ report: () => { },
117
+ status: null,
118
+ };
119
+ }
120
+ //# sourceMappingURL=syncRecoveryRekey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"syncRecoveryRekey.js","sourceRoot":"","sources":["syncRecoveryRekey.ts"],"names":[],"mappings":"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","sourcesContent":["import { base64ToBytes } from \"@tearleads/encoding\";\nimport type { DocumentSyncResponse } from \"@tearleads/validators/response\";\nimport type { DocumentSyncSubmitFailure } from \"../../../data/documents/shared/types\";\nimport {\n MAX_PENDING_UPDATE_REKEYS,\n type PendingUpdateRecord,\n rekeyDocumentPendingUpdate,\n} from \"../../../data/sqlite/documentPersistence\";\nimport { getClientSQLitePersistenceRuntime } from \"../../../data/sqlite/sqlitePersistenceRuntime\";\nimport {\n type ExecSql,\n runSerializedSqlMutation,\n} from \"../../../data/sqlite/sqlSchema\";\n\nexport type RekeyPendingUpdate = (\n execSql: ExecSql,\n id: string,\n) => Promise<string | null>;\n\ninterface DecryptedSyncUpdate {\n id: string;\n partialEndVersionVector: string;\n partialStartVersionVector: string;\n updateData: Uint8Array;\n}\n\nfunction bytesEqual(left: Uint8Array, right: Uint8Array): boolean {\n return (\n left.byteLength === right.byteLength &&\n left.every((value, index) => value === right[index])\n );\n}\n\nfunction pendingUpdateMatchesDecryptedUpdate(\n pendingUpdate: PendingUpdateRecord,\n decryptedUpdate: Omit<DecryptedSyncUpdate, \"id\">,\n): boolean {\n if (\n pendingUpdate.partialStartVersionVector !==\n decryptedUpdate.partialStartVersionVector ||\n pendingUpdate.partialEndVersionVector !==\n decryptedUpdate.partialEndVersionVector\n ) {\n return false;\n }\n\n return bytesEqual(\n base64ToBytes(pendingUpdate.updateData),\n decryptedUpdate.updateData,\n );\n}\n\nexport function settledPendingUpdateIdsFromSync(input: {\n decryptedUpdates: readonly DecryptedSyncUpdate[];\n recoveryPendingUpdatesById: ReadonlyMap<string, PendingUpdateRecord>;\n response: DocumentSyncResponse;\n}): string[] {\n const settled = new Set(input.response.acceptedOutgoingUpdateIds);\n\n for (const update of input.decryptedUpdates) {\n const pendingUpdate = input.recoveryPendingUpdatesById.get(update.id);\n if (\n pendingUpdate &&\n pendingUpdateMatchesDecryptedUpdate(pendingUpdate, update)\n ) {\n settled.add(update.id);\n }\n }\n\n return [...settled];\n}\n\n/**\n * A read-only recovery sync settles a conflicted pending update only when the\n * response carries it — but the server's frontier filter omits spans the\n * request's localVersionVector already covers, which a locally-applied\n * pending update always is. Left alone, the conflicted id is resubmitted (and\n * 409s the whole outgoing batch) forever: a lost ack leaves the server\n * holding the original ciphertext, and every rebuild encrypts with a fresh\n * IV, so a byte-identical retry can never be reproduced. Re-key what\n * recovery could not settle so the next sync pass submits the same ops under\n * a conflict-free id; the server-side copy stays harmless because CRDT\n * update import is idempotent.\n *\n * Re-keying goes through the caller's persistence implementation when given\n * (defaulting to the built-in pending-update table) and reports only ids\n * whose row actually changed, so a record living in some other queue never\n * counts as progress. Returns the fresh ids so callers can treat re-keying\n * as settlement-like progress and schedule the pass that submits them.\n *\n * A row whose persisted rekeyCount has reached the bound is not re-keyed\n * again: it is reported as exhausted so the caller can surface a terminal\n * failure instead of feeding an unbounded conflict loop that survives\n * restarts (each session's in-memory lane cap resets, this bound does not).\n */\nexport async function rekeyUnsettledRecoveryPendingUpdates(input: {\n execSql: ExecSql;\n recoveryPendingUpdatesById: ReadonlyMap<string, PendingUpdateRecord>;\n rekeyPendingUpdate?: RekeyPendingUpdate | undefined;\n settledPendingUpdateIds: readonly string[];\n stillCurrent?: (() => boolean) | undefined;\n}): Promise<{\n exhaustedPendingUpdateIds: string[];\n rekeyedPendingUpdateIds: string[];\n}> {\n const rekeyPendingUpdate =\n input.rekeyPendingUpdate ?? rekeyDocumentPendingUpdate;\n const settled = new Set(input.settledPendingUpdateIds);\n const rekeyedPendingUpdateIds: string[] = [];\n const exhaustedPendingUpdateIds: string[] = [];\n for (const [pendingUpdateId, record] of input.recoveryPendingUpdatesById) {\n if (input.stillCurrent?.() === false) break;\n if (settled.has(pendingUpdateId)) {\n continue;\n }\n // Known multi-tab limitation: the count is the row as loaded at pass\n // start, so a sibling tab that settle-deleted the row can make this\n // record a failure for work that no longer exists. The stale failure is\n // transient — the document's next clean pass clears it.\n if ((record.rekeyCount ?? 0) >= MAX_PENDING_UPDATE_REKEYS) {\n exhaustedPendingUpdateIds.push(pendingUpdateId);\n continue;\n }\n const outcome = await runSerializedSqlMutation(\n input.execSql,\n (lockedExecSql) =>\n getClientSQLitePersistenceRuntime(lockedExecSql).guardedTransaction(\n async () =>\n input.stillCurrent?.() === false\n ? null\n : rekeyPendingUpdate(lockedExecSql, pendingUpdateId),\n () => input.stillCurrent?.() !== false,\n ),\n );\n if (!outcome.committed) break;\n const nextId = outcome.result;\n if (nextId !== null) {\n rekeyedPendingUpdateIds.push(nextId);\n }\n }\n if (input.stillCurrent?.() === false) {\n return { exhaustedPendingUpdateIds: [], rekeyedPendingUpdateIds: [] };\n }\n return { exhaustedPendingUpdateIds, rekeyedPendingUpdateIds };\n}\n\n/**\n * Re-key what recovery could not settle and surface exhausted rows through\n * the caller's terminal-failure handler. The exhausted count is also\n * returned so the sync result can carry it: a pass that recorded this\n * failure must not read as clean to callers that clear recorded failures\n * on success.\n */\nexport async function rekeyAndReportUnsettledRecoveryPendingUpdates(\n input: Parameters<typeof rekeyUnsettledRecoveryPendingUpdates>[0] & {\n onTerminalSubmitFailure?:\n | ((failure: DocumentSyncSubmitFailure) => Promise<void> | void)\n | undefined;\n },\n): Promise<{\n exhaustedPendingUpdateCount: number;\n rekeyedPendingUpdateIds: string[];\n}> {\n const { exhaustedPendingUpdateIds, rekeyedPendingUpdateIds } =\n await rekeyUnsettledRecoveryPendingUpdates(input);\n if (input.stillCurrent?.() === false) {\n return { exhaustedPendingUpdateCount: 0, rekeyedPendingUpdateIds: [] };\n }\n if (exhaustedPendingUpdateIds.length > 0) {\n await input.onTerminalSubmitFailure?.(\n rekeyLimitSubmitFailure(exhaustedPendingUpdateIds.length),\n );\n }\n return {\n exhaustedPendingUpdateCount: exhaustedPendingUpdateIds.length,\n rekeyedPendingUpdateIds,\n };\n}\n\n/**\n * Terminal failure recorded when conflict recovery gives up on pending\n * updates whose persisted re-key bound is exhausted. Shaped like a submit\n * failure so the existing write-queue surface (recordDocumentSyncFailure via\n * onTerminalSubmitFailure) explains the stuck write without new plumbing.\n */\nexport function rekeyLimitSubmitFailure(\n exhaustedCount: number,\n): DocumentSyncSubmitFailure {\n return {\n message: `Update conflict recovery gave up after ${MAX_PENDING_UPDATE_REKEYS} re-key attempts (${exhaustedCount} update${exhaustedCount === 1 ? \"\" : \"s\"})`,\n ok: false,\n report: () => {},\n status: null,\n };\n}\n"]}
@@ -0,0 +1,18 @@
1
+ import { serializeKeyingCanonicalJson, toFingerprint } from "../../../internal/crypto/index.js";
2
+ const textEncoder = new TextEncoder();
3
+ /**
4
+ * Identifies one logical inline-rekey flush across plan rematerialization.
5
+ * Rotation baselines and signed rekey events can be freshly randomized on a
6
+ * retry. The durable FIFO head and pre-rekey projection stay stable even when
7
+ * a new local edit is appended to the queue after a response is lost.
8
+ */
9
+ export async function computeInlineRekeyCommitId(input) {
10
+ return toFingerprint(textEncoder.encode(serializeKeyingCanonicalJson({
11
+ domain: "tearleads.document-sync.inline-rekey-commit",
12
+ documentId: input.projection.documentId,
13
+ headPendingUpdateId: input.headPendingUpdateId,
14
+ predecessorTargetHash: input.projection.documentKekTargets.documentKeyTargetHash,
15
+ version: 1,
16
+ })));
17
+ }
18
+ //# sourceMappingURL=syncRekeyCommit.js.map
@@ -0,0 +1,53 @@
1
+ import { KeyingVerificationError, } from "../../../internal/crypto/index.js";
2
+ import { ProjectionDependencyUnavailableError } from "../../../data/keyingProjectionVerification/dependencyUnavailable.js";
3
+ import { assertProjectionVerificationCurrent } from "../../../data/keyingProjectionVerification/types.js";
4
+ import { principalHeadMatchesReference } from "../../../data/principals/organizationAuthorityDescriptor.js";
5
+ import { loadCurrentOrganizationAuthority } from "../currentOrganizationAuthority.js";
6
+ import { assertMetadataRootBinding } from "./groupMetadataRootBinding.js";
7
+ /** Authenticate metadata-root grants with current policies and only its cited predecessors. */
8
+ export function createCurrentGroupMetadataContainerVerifier(input) {
9
+ return async (state, organizationReference) => {
10
+ assertProjectionVerificationCurrent(input.stillCurrent);
11
+ const authority = await loadCurrentOrganizationAuthority({
12
+ ...input,
13
+ organizationReference,
14
+ });
15
+ await createSelectedCurrentGroupMetadataContainerVerifier({
16
+ authority,
17
+ organizationId: input.organizationId,
18
+ stillCurrent: input.stillCurrent,
19
+ })(state, organizationReference);
20
+ };
21
+ }
22
+ /** Reuse one mutation's verified authority without broadening its lease or scope. */
23
+ export function createSelectedCurrentGroupMetadataContainerVerifier(input) {
24
+ return async (state, organizationReference) => {
25
+ const { authority } = input;
26
+ const stillCurrent = () => input.stillCurrent() && authority.stillCurrent();
27
+ assertProjectionVerificationCurrent(stillCurrent);
28
+ if (organizationReference) {
29
+ if (organizationReference.principalType !== "organization" ||
30
+ organizationReference.principalId !== input.organizationId)
31
+ throw new KeyingVerificationError("object_mismatch", "Current policy reference is outside its scope");
32
+ if (!principalHeadMatchesReference(authority.directory.policy.state, organizationReference))
33
+ throw new ProjectionDependencyUnavailableError("Metadata root belongs to a changed organization directory");
34
+ }
35
+ const { adminGroupId, memberGroupId } = authority.descriptor;
36
+ const citation = (groupId) => state.referencedPrincipalHeads.find((head) => head.principalType === "group" && head.principalId === groupId);
37
+ const admins = await authority.readGroup(adminGroupId, citation(adminGroupId));
38
+ const members = await authority.readGroup(memberGroupId, citation(memberGroupId));
39
+ assertMetadataRootBinding({
40
+ organizationId: input.organizationId,
41
+ authority: {
42
+ descriptor: authority.descriptor,
43
+ adminGroupId,
44
+ memberGroupId,
45
+ adminPolicy: admins.policy,
46
+ },
47
+ members,
48
+ state,
49
+ });
50
+ assertProjectionVerificationCurrent(() => stillCurrent() && admins.stillCurrent() && members.stillCurrent());
51
+ };
52
+ }
53
+ //# sourceMappingURL=currentGroupMetadataAuthority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currentGroupMetadataAuthority.js","sourceRoot":"","sources":["currentGroupMetadataAuthority.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,uBAAuB,GAExB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,oCAAoC,EAAE,MAAM,kEAAkE,CAAC;AACxH,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAAE,6BAA6B,EAAE,MAAM,0DAA0D,CAAC;AACzG,OAAO,EAAE,gCAAgC,EAAE,MAAM,iCAAiC,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,+FAA+F;AAC/F,MAAM,UAAU,2CAA2C,CACzD,KAGC;IAED,OAAO,KAAK,EACV,KAAmC,EACnC,qBAA+C,EAChC,EAAE;QACjB,mCAAmC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,SAAS,GAAG,MAAM,gCAAgC,CAAC;YACvD,GAAG,KAAK;YACR,qBAAqB;SACtB,CAAC,CAAC;QACH,MAAM,mDAAmD,CAAC;YACxD,SAAS;YACT,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;IACnC,CAAC,CAAC;AACJ,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,mDAAmD,CAAC,KAMnE;IACC,OAAO,KAAK,EACV,KAAmC,EACnC,qBAA+C,EAChC,EAAE;QACjB,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,SAAS,CAAC,YAAY,EAAE,CAAC;QAC5E,mCAAmC,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,IACE,qBAAqB,CAAC,aAAa,KAAK,cAAc;gBACtD,qBAAqB,CAAC,WAAW,KAAK,KAAK,CAAC,cAAc;gBAE1D,MAAM,IAAI,uBAAuB,CAC/B,iBAAiB,EACjB,+CAA+C,CAChD,CAAC;YACJ,IACE,CAAC,6BAA6B,CAC5B,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAChC,qBAAqB,CACtB;gBAED,MAAM,IAAI,oCAAoC,CAC5C,2DAA2D,CAC5D,CAAC;QACN,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,UAAU,CAAC;QAC7D,MAAM,QAAQ,GAAG,CAAC,OAAe,EAAE,EAAE,CACnC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,OAAO,CACjE,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,SAAS,CACtC,YAAY,EACZ,QAAQ,CAAC,YAAY,CAAC,CACvB,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,SAAS,CACvC,aAAa,EACb,QAAQ,CAAC,aAAa,CAAC,CACxB,CAAC;QACF,yBAAyB,CAAC;YACxB,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,SAAS,EAAE;gBACT,UAAU,EAAE,SAAS,CAAC,UAAU;gBAChC,YAAY;gBACZ,aAAa;gBACb,WAAW,EAAE,MAAM,CAAC,MAAM;aAC3B;YACD,OAAO;YACP,KAAK;SACN,CAAC,CAAC;QACH,mCAAmC,CACjC,GAAG,EAAE,CAAC,YAAY,EAAE,IAAI,MAAM,CAAC,YAAY,EAAE,IAAI,OAAO,CAAC,YAAY,EAAE,CACxE,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import {\n type ContainerAccessManifestState,\n KeyingVerificationError,\n type ReferencedPrincipalHead,\n} from \"@tearleads/crypto\";\nimport { ProjectionDependencyUnavailableError } from \"../../../data/keyingProjectionVerification/dependencyUnavailable\";\nimport { assertProjectionVerificationCurrent } from \"../../../data/keyingProjectionVerification/types\";\nimport { principalHeadMatchesReference } from \"../../../data/principals/organizationAuthorityDescriptor\";\nimport { loadCurrentOrganizationAuthority } from \"../currentOrganizationAuthority\";\nimport { assertMetadataRootBinding } from \"./groupMetadataRootBinding\";\n\n/** Authenticate metadata-root grants with current policies and only its cited predecessors. */\nexport function createCurrentGroupMetadataContainerVerifier(\n input: Omit<\n Parameters<typeof loadCurrentOrganizationAuthority>[0],\n \"organizationReference\"\n >,\n) {\n return async (\n state: ContainerAccessManifestState,\n organizationReference?: ReferencedPrincipalHead,\n ): Promise<void> => {\n assertProjectionVerificationCurrent(input.stillCurrent);\n const authority = await loadCurrentOrganizationAuthority({\n ...input,\n organizationReference,\n });\n await createSelectedCurrentGroupMetadataContainerVerifier({\n authority,\n organizationId: input.organizationId,\n stillCurrent: input.stillCurrent,\n })(state, organizationReference);\n };\n}\n\n/** Reuse one mutation's verified authority without broadening its lease or scope. */\nexport function createSelectedCurrentGroupMetadataContainerVerifier(input: {\n readonly authority: Awaited<\n ReturnType<typeof loadCurrentOrganizationAuthority>\n >;\n readonly organizationId: string;\n readonly stillCurrent: () => boolean;\n}) {\n return async (\n state: ContainerAccessManifestState,\n organizationReference?: ReferencedPrincipalHead,\n ): Promise<void> => {\n const { authority } = input;\n const stillCurrent = () => input.stillCurrent() && authority.stillCurrent();\n assertProjectionVerificationCurrent(stillCurrent);\n if (organizationReference) {\n if (\n organizationReference.principalType !== \"organization\" ||\n organizationReference.principalId !== input.organizationId\n )\n throw new KeyingVerificationError(\n \"object_mismatch\",\n \"Current policy reference is outside its scope\",\n );\n if (\n !principalHeadMatchesReference(\n authority.directory.policy.state,\n organizationReference,\n )\n )\n throw new ProjectionDependencyUnavailableError(\n \"Metadata root belongs to a changed organization directory\",\n );\n }\n const { adminGroupId, memberGroupId } = authority.descriptor;\n const citation = (groupId: string) =>\n state.referencedPrincipalHeads.find(\n (head) =>\n head.principalType === \"group\" && head.principalId === groupId,\n );\n const admins = await authority.readGroup(\n adminGroupId,\n citation(adminGroupId),\n );\n const members = await authority.readGroup(\n memberGroupId,\n citation(memberGroupId),\n );\n assertMetadataRootBinding({\n organizationId: input.organizationId,\n authority: {\n descriptor: authority.descriptor,\n adminGroupId,\n memberGroupId,\n adminPolicy: admins.policy,\n },\n members,\n state,\n });\n assertProjectionVerificationCurrent(\n () => stillCurrent() && admins.stillCurrent() && members.stillCurrent(),\n );\n };\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import { type ContainerAccessManifestState, type GroupMetadataKey, type ReferencedPrincipalHead } from "../../../internal/crypto/index.js";
2
+ import type { ContainerWriterProjectionResponse } from "../../../internal/validators/response/index.js";
3
+ import type { ProjectionUserKeyResolver, ReferencedPrincipalPolicyWarmer } from "../../../data/keyingProjectionVerification/index.js";
4
+ import type { ExecSql } from "../../../data/sqlite/sqlSchema.js";
5
+ import type { GroupPolicyNameReader } from "../principalPolicy/principalPolicyRequest.js";
6
+ export interface GroupMetadataAccessInput {
7
+ readonly apiClient: {
8
+ evictContainerWriterProjection(containerId: string): void;
9
+ getContainerWriterProjection(containerId: string): Promise<ContainerWriterProjectionResponse | null>;
10
+ };
11
+ readonly verifyMetadataContainer: (state: ContainerAccessManifestState, organizationReference?: ReferencedPrincipalHead | undefined) => Promise<void>;
12
+ readonly execSql: ExecSql;
13
+ readonly organizationId: string;
14
+ readonly resolveProjectionUserKey: ProjectionUserKeyResolver;
15
+ readonly targetSecretKey: Uint8Array;
16
+ readonly stillCurrent?: (() => boolean) | undefined;
17
+ readonly warmReferencedPrincipalPolicies?: ReferencedPrincipalPolicyWarmer | undefined;
18
+ }
19
+ /**
20
+ * A group's signed name does not open under the metadata key it cites, or opens
21
+ * to an invalid name. Every reader holding that key gets the same result. The
22
+ * API checks the citation but can never check the ciphertext, so a dishonest
23
+ * admin can sign such a name; directory walks isolate the group instead of
24
+ * failing every name in the organization.
25
+ */
26
+ export declare class GroupMetadataUnreadableError extends Error {
27
+ constructor(groupId: string, cause: unknown);
28
+ }
29
+ /** Uses the shared metadata container's authenticated keyring, including old epochs. */
30
+ export declare function createGroupMetadataAccess(input: GroupMetadataAccessInput): {
31
+ readName: GroupPolicyNameReader;
32
+ loadEncryptionKey(): Promise<GroupMetadataKey>;
33
+ };
@@ -0,0 +1,114 @@
1
+ import { decryptGroupMetadata, readGroupMetadata, } from "../../../internal/crypto/index.js";
2
+ import { deriveOrganizationMetadataContainerSystemSlot } from "../../../internal/validators/containerSystemSlot.js";
3
+ import { getTargetContainerContext, readContainerState, } from "../../../data/containers/shared/projection.js";
4
+ import { unwrapContainerKekPath } from "../../../data/documents/shared/containerKekPath.js";
5
+ import { assertProjectionVerificationCurrent } from "../../../data/keyingProjectionVerification/types.js";
6
+ import { loadContainers } from "../../../data/persistence/containers/containerPersistence.js";
7
+ import { withMetadataRootReload } from "./groupMetadataErrors.js";
8
+ /**
9
+ * A group's signed name does not open under the metadata key it cites, or opens
10
+ * to an invalid name. Every reader holding that key gets the same result. The
11
+ * API checks the citation but can never check the ciphertext, so a dishonest
12
+ * admin can sign such a name; directory walks isolate the group instead of
13
+ * failing every name in the organization.
14
+ */
15
+ export class GroupMetadataUnreadableError extends Error {
16
+ constructor(groupId, cause) {
17
+ super(`Group ${groupId} metadata cannot be decrypted`, { cause });
18
+ this.name = "GroupMetadataUnreadableError";
19
+ }
20
+ }
21
+ function loadMetadataKeyring(input, containerId) {
22
+ return withMetadataRootReload(() => loadMetadataKeyringOnce(input, containerId), () => input.apiClient.evictContainerWriterProjection(containerId));
23
+ }
24
+ async function loadMetadataKeyringOnce(input, containerId) {
25
+ const projection = await input.apiClient.getContainerWriterProjection(containerId);
26
+ if (!projection)
27
+ return null;
28
+ if (projection.containerId !== containerId ||
29
+ projection.organizationId !== input.organizationId)
30
+ throw new Error("Group metadata container is unavailable");
31
+ const target = getTargetContainerContext(projection);
32
+ const state = readContainerState(target.manifest);
33
+ const slot = await deriveOrganizationMetadataContainerSystemSlot({
34
+ organizationId: input.organizationId,
35
+ });
36
+ if (state.organizationId !== input.organizationId ||
37
+ state.systemSlot !== slot ||
38
+ state.parentContainerId !== null)
39
+ throw new Error("Group metadata requires the signed organization metadata container");
40
+ await input.verifyMetadataContainer(state, projection.policyEvidence.organization?.head);
41
+ assertProjectionVerificationCurrent(input.stillCurrent);
42
+ const keys = await unwrapContainerKekPath({
43
+ ...input,
44
+ projection,
45
+ secretKey: input.targetSecretKey,
46
+ });
47
+ assertProjectionVerificationCurrent(input.stillCurrent);
48
+ const keyMaterial = keys.get(target.kek.containerKeyEpochId);
49
+ if (!keyMaterial)
50
+ throw new Error("Group metadata container key is unavailable");
51
+ return {
52
+ current: {
53
+ organizationId: input.organizationId,
54
+ containerId,
55
+ containerKeyEpochId: target.kek.containerKeyEpochId,
56
+ keyMaterial,
57
+ },
58
+ keys,
59
+ };
60
+ }
61
+ /** Uses the shared metadata container's authenticated keyring, including old epochs. */
62
+ export function createGroupMetadataAccess(input) {
63
+ const loads = new Map();
64
+ function loaded(containerId) {
65
+ let pending = loads.get(containerId);
66
+ if (!pending) {
67
+ pending = loadMetadataKeyring(input, containerId);
68
+ loads.set(containerId, pending);
69
+ }
70
+ return pending;
71
+ }
72
+ const readName = async (bundle) => {
73
+ assertProjectionVerificationCurrent(input.stillCurrent);
74
+ const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);
75
+ if ("role" in metadata)
76
+ return metadata.role === "admins" ? "Admins" : "Members";
77
+ if (metadata.organizationId !== input.organizationId ||
78
+ metadata.groupId !== bundle.currentState.principalId ||
79
+ bundle.currentState.principalType !== "group")
80
+ throw new Error("Group metadata scope does not match its signed group");
81
+ const keyring = await loaded(metadata.containerId);
82
+ const keyMaterial = keyring?.keys.get(metadata.containerKeyEpochId);
83
+ if (!keyMaterial)
84
+ throw new Error("Group metadata historical key is unavailable");
85
+ try {
86
+ return await decryptGroupMetadata({
87
+ key: { ...metadata, keyMaterial },
88
+ groupId: bundle.currentState.principalId,
89
+ payload: bundle.currentPayload.ciphertext,
90
+ });
91
+ }
92
+ catch (cause) {
93
+ throw new GroupMetadataUnreadableError(bundle.currentState.principalId, cause);
94
+ }
95
+ };
96
+ return {
97
+ readName,
98
+ async loadEncryptionKey() {
99
+ const slot = await deriveOrganizationMetadataContainerSystemSlot({
100
+ organizationId: input.organizationId,
101
+ });
102
+ const containers = await loadContainers(input.execSql);
103
+ const container = containers.find((row) => row.organizationId === input.organizationId &&
104
+ row.systemSlot === slot);
105
+ if (!container)
106
+ throw new Error("Organization metadata container has not been discovered");
107
+ const keyring = await loaded(container.id);
108
+ if (!keyring)
109
+ throw new Error("Group metadata container is unavailable");
110
+ return keyring.current;
111
+ },
112
+ };
113
+ }
114
+ //# sourceMappingURL=groupMetadataAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupMetadataAccess.js","sourceRoot":"","sources":["groupMetadataAccess.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ContainerAccessManifestState,\n decryptGroupMetadata,\n type GroupMetadataKey,\n type ReferencedPrincipalHead,\n readGroupMetadata,\n} from \"@tearleads/crypto\";\nimport { deriveOrganizationMetadataContainerSystemSlot } from \"@tearleads/validators/containerSystemSlot\";\nimport type { ContainerWriterProjectionResponse } from \"@tearleads/validators/response\";\nimport {\n getTargetContainerContext,\n readContainerState,\n} from \"../../../data/containers/shared/projection\";\nimport { unwrapContainerKekPath } from \"../../../data/documents/shared/containerKekPath\";\nimport type {\n ProjectionUserKeyResolver,\n ReferencedPrincipalPolicyWarmer,\n} from \"../../../data/keyingProjectionVerification\";\nimport { assertProjectionVerificationCurrent } from \"../../../data/keyingProjectionVerification/types\";\nimport { loadContainers } from \"../../../data/persistence/containers/containerPersistence\";\nimport type { ExecSql } from \"../../../data/sqlite/sqlSchema\";\nimport type { GroupPolicyNameReader } from \"../principalPolicy/principalPolicyRequest\";\nimport { withMetadataRootReload } from \"./groupMetadataErrors\";\n\nexport interface GroupMetadataAccessInput {\n readonly apiClient: {\n evictContainerWriterProjection(containerId: string): void;\n getContainerWriterProjection(\n containerId: string,\n ): Promise<ContainerWriterProjectionResponse | null>;\n };\n readonly verifyMetadataContainer: (\n state: ContainerAccessManifestState,\n organizationReference?: ReferencedPrincipalHead | undefined,\n ) => Promise<void>;\n readonly execSql: ExecSql;\n readonly organizationId: string;\n readonly resolveProjectionUserKey: ProjectionUserKeyResolver;\n readonly targetSecretKey: Uint8Array;\n readonly stillCurrent?: (() => boolean) | undefined;\n readonly warmReferencedPrincipalPolicies?:\n | ReferencedPrincipalPolicyWarmer\n | undefined;\n}\n\n/**\n * A group's signed name does not open under the metadata key it cites, or opens\n * to an invalid name. Every reader holding that key gets the same result. The\n * API checks the citation but can never check the ciphertext, so a dishonest\n * admin can sign such a name; directory walks isolate the group instead of\n * failing every name in the organization.\n */\nexport class GroupMetadataUnreadableError extends Error {\n constructor(groupId: string, cause: unknown) {\n super(`Group ${groupId} metadata cannot be decrypted`, { cause });\n this.name = \"GroupMetadataUnreadableError\";\n }\n}\n\nfunction loadMetadataKeyring(\n input: GroupMetadataAccessInput,\n containerId: string,\n) {\n return withMetadataRootReload(\n () => loadMetadataKeyringOnce(input, containerId),\n () => input.apiClient.evictContainerWriterProjection(containerId),\n );\n}\n\nasync function loadMetadataKeyringOnce(\n input: GroupMetadataAccessInput,\n containerId: string,\n) {\n const projection =\n await input.apiClient.getContainerWriterProjection(containerId);\n if (!projection) return null;\n if (\n projection.containerId !== containerId ||\n projection.organizationId !== input.organizationId\n )\n throw new Error(\"Group metadata container is unavailable\");\n const target = getTargetContainerContext(projection);\n const state = readContainerState(target.manifest);\n const slot = await deriveOrganizationMetadataContainerSystemSlot({\n organizationId: input.organizationId,\n });\n if (\n state.organizationId !== input.organizationId ||\n state.systemSlot !== slot ||\n state.parentContainerId !== null\n )\n throw new Error(\n \"Group metadata requires the signed organization metadata container\",\n );\n await input.verifyMetadataContainer(\n state,\n projection.policyEvidence.organization?.head,\n );\n assertProjectionVerificationCurrent(input.stillCurrent);\n const keys = await unwrapContainerKekPath({\n ...input,\n projection,\n secretKey: input.targetSecretKey,\n });\n assertProjectionVerificationCurrent(input.stillCurrent);\n const keyMaterial = keys.get(target.kek.containerKeyEpochId);\n if (!keyMaterial)\n throw new Error(\"Group metadata container key is unavailable\");\n return {\n current: {\n organizationId: input.organizationId,\n containerId,\n containerKeyEpochId: target.kek.containerKeyEpochId,\n keyMaterial,\n },\n keys,\n };\n}\n\n/** Uses the shared metadata container's authenticated keyring, including old epochs. */\nexport function createGroupMetadataAccess(input: GroupMetadataAccessInput) {\n const loads = new Map<\n string,\n Promise<{\n current: GroupMetadataKey;\n keys: ReadonlyMap<string, Uint8Array>;\n } | null>\n >();\n function loaded(containerId: string) {\n let pending = loads.get(containerId);\n if (!pending) {\n pending = loadMetadataKeyring(input, containerId);\n loads.set(containerId, pending);\n }\n return pending;\n }\n const readName: GroupPolicyNameReader = async (bundle) => {\n assertProjectionVerificationCurrent(input.stillCurrent);\n const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);\n if (\"role\" in metadata)\n return metadata.role === \"admins\" ? \"Admins\" : \"Members\";\n if (\n metadata.organizationId !== input.organizationId ||\n metadata.groupId !== bundle.currentState.principalId ||\n bundle.currentState.principalType !== \"group\"\n )\n throw new Error(\"Group metadata scope does not match its signed group\");\n const keyring = await loaded(metadata.containerId);\n const keyMaterial = keyring?.keys.get(metadata.containerKeyEpochId);\n if (!keyMaterial)\n throw new Error(\"Group metadata historical key is unavailable\");\n try {\n return await decryptGroupMetadata({\n key: { ...metadata, keyMaterial },\n groupId: bundle.currentState.principalId,\n payload: bundle.currentPayload.ciphertext,\n });\n } catch (cause) {\n throw new GroupMetadataUnreadableError(\n bundle.currentState.principalId,\n cause,\n );\n }\n };\n return {\n readName,\n async loadEncryptionKey(): Promise<GroupMetadataKey> {\n const slot = await deriveOrganizationMetadataContainerSystemSlot({\n organizationId: input.organizationId,\n });\n const containers = await loadContainers(input.execSql);\n const container = containers.find(\n (row) =>\n row.organizationId === input.organizationId &&\n row.systemSlot === slot,\n );\n if (!container)\n throw new Error(\n \"Organization metadata container has not been discovered\",\n );\n const keyring = await loaded(container.id);\n if (!keyring) throw new Error(\"Group metadata container is unavailable\");\n return keyring.current;\n },\n };\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { readGroupMetadata } from "../../../internal/crypto/index.js";
2
+ /** Built-in labels derive from the role assigned by the signed organization. */
3
+ export function assertGroupMetadataBinding(bundle, descriptor) {
4
+ const groupId = bundle.currentState.principalId;
5
+ const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);
6
+ const expectedRole = groupId === descriptor.adminGroupId
7
+ ? "admins"
8
+ : groupId === descriptor.memberGroupId
9
+ ? "members"
10
+ : null;
11
+ if ("role" in metadata
12
+ ? metadata.role !== expectedRole
13
+ : expectedRole !== null ||
14
+ metadata.organizationId !== descriptor.organizationId ||
15
+ metadata.groupId !== groupId) {
16
+ throw new Error("Group metadata does not match the signed organization directory");
17
+ }
18
+ }
19
+ //# sourceMappingURL=groupMetadataBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupMetadataBinding.js","sourceRoot":"","sources":["groupMetadataBinding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAItD,gFAAgF;AAChF,MAAM,UAAU,0BAA0B,CACxC,MAGC,EACD,UAA2C;IAE3C,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC;IAChD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IACrE,MAAM,YAAY,GAChB,OAAO,KAAK,UAAU,CAAC,YAAY;QACjC,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,aAAa;YACpC,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC;IACb,IACE,MAAM,IAAI,QAAQ;QAChB,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY;QAChC,CAAC,CAAC,YAAY,KAAK,IAAI;YACrB,QAAQ,CAAC,cAAc,KAAK,UAAU,CAAC,cAAc;YACrD,QAAQ,CAAC,OAAO,KAAK,OAAO,EAChC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,iEAAiE,CAClE,CAAC;IACJ,CAAC;AACH,CAAC","sourcesContent":["import { readGroupMetadata } from \"@tearleads/crypto\";\nimport type { PrincipalPolicyBundleResponse } from \"@tearleads/validators/response\";\nimport type { OrganizationAuthorityDescriptor } from \"../../../data/principals/organizationAuthorityDescriptor\";\n\n/** Built-in labels derive from the role assigned by the signed organization. */\nexport function assertGroupMetadataBinding(\n bundle: Pick<\n PrincipalPolicyBundleResponse,\n \"currentState\" | \"currentPayload\"\n >,\n descriptor: OrganizationAuthorityDescriptor,\n): void {\n const groupId = bundle.currentState.principalId;\n const metadata = readGroupMetadata(bundle.currentPayload.ciphertext);\n const expectedRole =\n groupId === descriptor.adminGroupId\n ? \"admins\"\n : groupId === descriptor.memberGroupId\n ? \"members\"\n : null;\n if (\n \"role\" in metadata\n ? metadata.role !== expectedRole\n : expectedRole !== null ||\n metadata.organizationId !== descriptor.organizationId ||\n metadata.groupId !== groupId\n ) {\n throw new Error(\n \"Group metadata does not match the signed organization directory\",\n );\n }\n}\n"]}
@@ -0,0 +1,41 @@
1
+ import { assertProjectionVerificationCurrent } from "../../../data/keyingProjectionVerification/types.js";
2
+ import { loadPrincipalPolicyBundle } from "../../../data/persistence/principalPolicyPersistence.js";
3
+ import { principalHeadMatchesReference, requireOrganizationGroupHead, } from "../../../data/principals/organizationAuthorityDescriptor.js";
4
+ import { principalPolicyReferenceFromBundle } from "../../../data/principals/principalPolicyAdminSigners.js";
5
+ import { verifyDirectoryGroup } from "../groupNames/groupNameUniqueness.js";
6
+ import { loadGroupNameDirectoryAuthority } from "../groupNames/organizationGroupNamePolicies.js";
7
+ import { assertMetadataRootBinding } from "./groupMetadataRootBinding.js";
8
+ /** A public system slot alone cannot bind a self-authorized root to an organization. */
9
+ export function createGroupMetadataContainerVerifier(input) {
10
+ return async (state) => {
11
+ assertProjectionVerificationCurrent(input.stillCurrent);
12
+ const cached = await loadPrincipalPolicyBundle(input.execSql, "organization", input.organizationId);
13
+ let authority = await loadGroupNameDirectoryAuthority({
14
+ ...input,
15
+ organizationPolicyReference: cached
16
+ ? principalPolicyReferenceFromBundle(cached)
17
+ : null,
18
+ });
19
+ if (cached &&
20
+ authority &&
21
+ state.referencedPrincipalHeads.some((head) => !authority?.descriptor.groupHeads.some((known) => principalHeadMatchesReference(head, known)))) {
22
+ authority = await loadGroupNameDirectoryAuthority(input);
23
+ }
24
+ if (!authority)
25
+ throw new Error("Organization metadata authority is unavailable");
26
+ const memberHead = requireOrganizationGroupHead(authority.descriptor, authority.memberGroupId);
27
+ const members = await verifyDirectoryGroup({
28
+ ...input,
29
+ descriptor: authority.descriptor,
30
+ externalAuthority: authority.externalAuthority,
31
+ }, memberHead);
32
+ assertMetadataRootBinding({
33
+ authority,
34
+ members,
35
+ organizationId: input.organizationId,
36
+ state,
37
+ });
38
+ assertProjectionVerificationCurrent(input.stillCurrent);
39
+ };
40
+ }
41
+ //# sourceMappingURL=groupMetadataContainerAuthority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupMetadataContainerAuthority.js","sourceRoot":"","sources":["groupMetadataContainerAuthority.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mCAAmC,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAC;AACjG,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,GAC7B,MAAM,0DAA0D,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AAE1G,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAOvE,wFAAwF;AACxF,MAAM,UAAU,oCAAoC,CAAC,KAAY;IAC/D,OAAO,KAAK,EAAE,KAAmC,EAAiB,EAAE;QAClE,mCAAmC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC5C,KAAK,CAAC,OAAO,EACb,cAAc,EACd,KAAK,CAAC,cAAc,CACrB,CAAC;QACF,IAAI,SAAS,GAAG,MAAM,+BAA+B,CAAC;YACpD,GAAG,KAAK;YACR,2BAA2B,EAAE,MAAM;gBACjC,CAAC,CAAC,kCAAkC,CAAC,MAAM,CAAC;gBAC5C,CAAC,CAAC,IAAI;SACT,CAAC,CAAC;QACH,IACE,MAAM;YACN,SAAS;YACT,KAAK,CAAC,wBAAwB,CAAC,IAAI,CACjC,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAC/C,6BAA6B,CAAC,IAAI,EAAE,KAAK,CAAC,CAC3C,CACJ,EACD,CAAC;YACD,SAAS,GAAG,MAAM,+BAA+B,CAAC,KAAK,CAAC,CAAC;QAC3D,CAAC;QACD,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,MAAM,UAAU,GAAG,4BAA4B,CAC7C,SAAS,CAAC,UAAU,EACpB,SAAS,CAAC,aAAa,CACxB,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CACxC;YACE,GAAG,KAAK;YACR,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,iBAAiB,EAAE,SAAS,CAAC,iBAAiB;SAC/C,EACD,UAAU,CACX,CAAC;QACF,yBAAyB,CAAC;YACxB,SAAS;YACT,OAAO;YACP,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,KAAK;SACN,CAAC,CAAC;QACH,mCAAmC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC","sourcesContent":["import type { ContainerAccessManifestState } from \"@tearleads/crypto\";\nimport { assertProjectionVerificationCurrent } from \"../../../data/keyingProjectionVerification/types\";\nimport { loadPrincipalPolicyBundle } from \"../../../data/persistence/principalPolicyPersistence\";\nimport {\n principalHeadMatchesReference,\n requireOrganizationGroupHead,\n} from \"../../../data/principals/organizationAuthorityDescriptor\";\nimport { principalPolicyReferenceFromBundle } from \"../../../data/principals/principalPolicyAdminSigners\";\nimport type { SecurityIncidentReporter } from \"../../../data/shared/securityIncidents\";\nimport { verifyDirectoryGroup } from \"../groupNames/groupNameUniqueness\";\nimport { loadGroupNameDirectoryAuthority } from \"../groupNames/organizationGroupNamePolicies\";\nimport { assertMetadataRootBinding } from \"./groupMetadataRootBinding\";\n\ntype Input = Omit<\n Parameters<typeof loadGroupNameDirectoryAuthority>[0],\n \"organizationPolicyReference\"\n> & { readonly reportSecurityIncident: SecurityIncidentReporter };\n\n/** A public system slot alone cannot bind a self-authorized root to an organization. */\nexport function createGroupMetadataContainerVerifier(input: Input) {\n return async (state: ContainerAccessManifestState): Promise<void> => {\n assertProjectionVerificationCurrent(input.stillCurrent);\n const cached = await loadPrincipalPolicyBundle(\n input.execSql,\n \"organization\",\n input.organizationId,\n );\n let authority = await loadGroupNameDirectoryAuthority({\n ...input,\n organizationPolicyReference: cached\n ? principalPolicyReferenceFromBundle(cached)\n : null,\n });\n if (\n cached &&\n authority &&\n state.referencedPrincipalHeads.some(\n (head) =>\n !authority?.descriptor.groupHeads.some((known) =>\n principalHeadMatchesReference(head, known),\n ),\n )\n ) {\n authority = await loadGroupNameDirectoryAuthority(input);\n }\n if (!authority)\n throw new Error(\"Organization metadata authority is unavailable\");\n const memberHead = requireOrganizationGroupHead(\n authority.descriptor,\n authority.memberGroupId,\n );\n const members = await verifyDirectoryGroup(\n {\n ...input,\n descriptor: authority.descriptor,\n externalAuthority: authority.externalAuthority,\n },\n memberHead,\n );\n assertMetadataRootBinding({\n authority,\n members,\n organizationId: input.organizationId,\n state,\n });\n assertProjectionVerificationCurrent(input.stillCurrent);\n };\n}\n"]}
@@ -0,0 +1,40 @@
1
+ import { KeyingVerificationError } from "../../../internal/crypto/index.js";
2
+ /**
3
+ * The organization metadata root was read before a reserved-group commit that
4
+ * the signed directory already reflects: each head it cites that differs from
5
+ * the directory is a verified predecessor of the directory's head. That is an
6
+ * honest read race, so readers reload the root rather than report tampering
7
+ * (#2365 finding 22).
8
+ */
9
+ export class MetadataRootBehindDirectoryError extends Error {
10
+ constructor() {
11
+ super("Organization metadata root cites a superseded reserved-group head");
12
+ this.name = "MetadataRootBehindDirectoryError";
13
+ }
14
+ }
15
+ /**
16
+ * Runs `load`, then once more after `evictRoot` if the root it read was
17
+ * behind; `reread` tells `load` to skip any root it was handed. Honest servers
18
+ * re-cite the reserved groups in the commit that advances them, so a root
19
+ * still behind after a fresh read is an incident.
20
+ */
21
+ export async function withMetadataRootReload(load, evictRoot) {
22
+ try {
23
+ return await load(false);
24
+ }
25
+ catch (error) {
26
+ if (!(error instanceof MetadataRootBehindDirectoryError))
27
+ throw error;
28
+ }
29
+ evictRoot();
30
+ try {
31
+ return await load(true);
32
+ }
33
+ catch (error) {
34
+ if (error instanceof MetadataRootBehindDirectoryError) {
35
+ throw new KeyingVerificationError("object_mismatch", "Organization metadata root is still behind the signed directory after a reload");
36
+ }
37
+ throw error;
38
+ }
39
+ }
40
+ //# sourceMappingURL=groupMetadataErrors.js.map
@@ -0,0 +1,51 @@
1
+ import { KeyingVerificationError, } from "../../../internal/crypto/index.js";
2
+ import { principalHeadMatchesReference, requireOrganizationGroupHead, } from "../../../data/principals/organizationAuthorityDescriptor.js";
3
+ import { principalPolicyEvidenceEntries } from "../../../data/principals/principalPolicyEvidence.js";
4
+ import { MetadataRootBehindDirectoryError } from "./groupMetadataErrors.js";
5
+ /** Root bindings consume verified current grants and explicitly retained predecessor citations. */
6
+ export function assertMetadataRootBinding(input) {
7
+ const { authority, state } = input;
8
+ const expected = [
9
+ {
10
+ policy: authority.adminPolicy,
11
+ id: authority.adminGroupId,
12
+ level: "admin",
13
+ grants: authority.adminPolicy.grants,
14
+ },
15
+ {
16
+ policy: input.members.policy,
17
+ id: authority.memberGroupId,
18
+ level: "read",
19
+ grants: input.members.policy.grants,
20
+ },
21
+ ];
22
+ const cited = (groupId) => state.referencedPrincipalHeads.find((head) => head.principalType === "group" && head.principalId === groupId);
23
+ const unbound = new KeyingVerificationError("object_mismatch", "Organization metadata root is not bound to the reserved group grants");
24
+ if (state.organizationId !== input.organizationId ||
25
+ state.parentContainerId !== null ||
26
+ state.directGrants.length !== 2 ||
27
+ state.referencedPrincipalHeads.length !== 2 ||
28
+ expected.some((role) => !principalHeadMatchesReference(role.policy.state, requireOrganizationGroupHead(authority.descriptor, role.id)) ||
29
+ !role.grants.some((grant) => grant.containerId === state.containerId &&
30
+ grant.accessLevel === role.level) ||
31
+ !state.directGrants.some((grant) => grant.subjectType === "group" &&
32
+ grant.subjectId === role.id &&
33
+ grant.accessLevel === role.level) ||
34
+ !cited(role.id)))
35
+ throw unbound;
36
+ const superseded = expected.flatMap((role) => {
37
+ const head = cited(role.id);
38
+ return head &&
39
+ !principalHeadMatchesReference(head, requireOrganizationGroupHead(authority.descriptor, role.id))
40
+ ? [{ policy: role.policy, head }]
41
+ : [];
42
+ });
43
+ if (superseded.length === 0)
44
+ return;
45
+ // A root read before a reserved-group commit cites a verified predecessor
46
+ // of the directory's head; any other head is not an honest race.
47
+ if (superseded.every(({ policy, head }) => principalPolicyEvidenceEntries(policy).some(({ state }) => principalHeadMatchesReference(state, head))))
48
+ throw new MetadataRootBehindDirectoryError();
49
+ throw unbound;
50
+ }
51
+ //# sourceMappingURL=groupMetadataRootBinding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"groupMetadataRootBinding.js","sourceRoot":"","sources":["groupMetadataRootBinding.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type ContainerAccessManifestState,\n KeyingVerificationError,\n type PrincipalPolicyAuthorization,\n} from \"@tearleads/crypto\";\nimport {\n type OrganizationAuthorityDescriptor,\n principalHeadMatchesReference,\n requireOrganizationGroupHead,\n} from \"../../../data/principals/organizationAuthorityDescriptor\";\nimport { principalPolicyEvidenceEntries } from \"../../../data/principals/principalPolicyEvidence\";\nimport { MetadataRootBehindDirectoryError } from \"./groupMetadataErrors\";\n\n/** Root bindings consume verified current grants and explicitly retained predecessor citations. */\nexport function assertMetadataRootBinding(input: {\n readonly authority: {\n readonly descriptor: OrganizationAuthorityDescriptor;\n readonly adminGroupId: string;\n readonly memberGroupId: string;\n readonly adminPolicy: PrincipalPolicyAuthorization;\n };\n readonly members: { readonly policy: PrincipalPolicyAuthorization };\n readonly organizationId: string;\n readonly state: ContainerAccessManifestState;\n}): void {\n const { authority, state } = input;\n const expected = [\n {\n policy: authority.adminPolicy,\n id: authority.adminGroupId,\n level: \"admin\",\n grants: authority.adminPolicy.grants,\n },\n {\n policy: input.members.policy,\n id: authority.memberGroupId,\n level: \"read\",\n grants: input.members.policy.grants,\n },\n ];\n const cited = (groupId: string) =>\n state.referencedPrincipalHeads.find(\n (head) => head.principalType === \"group\" && head.principalId === groupId,\n );\n const unbound = new KeyingVerificationError(\n \"object_mismatch\",\n \"Organization metadata root is not bound to the reserved group grants\",\n );\n if (\n state.organizationId !== input.organizationId ||\n state.parentContainerId !== null ||\n state.directGrants.length !== 2 ||\n state.referencedPrincipalHeads.length !== 2 ||\n expected.some(\n (role) =>\n !principalHeadMatchesReference(\n role.policy.state,\n requireOrganizationGroupHead(authority.descriptor, role.id),\n ) ||\n !role.grants.some(\n (grant) =>\n grant.containerId === state.containerId &&\n grant.accessLevel === role.level,\n ) ||\n !state.directGrants.some(\n (grant) =>\n grant.subjectType === \"group\" &&\n grant.subjectId === role.id &&\n grant.accessLevel === role.level,\n ) ||\n !cited(role.id),\n )\n )\n throw unbound;\n const superseded = expected.flatMap((role) => {\n const head = cited(role.id);\n return head &&\n !principalHeadMatchesReference(\n head,\n requireOrganizationGroupHead(authority.descriptor, role.id),\n )\n ? [{ policy: role.policy, head }]\n : [];\n });\n if (superseded.length === 0) return;\n // A root read before a reserved-group commit cites a verified predecessor\n // of the directory's head; any other head is not an honest race.\n if (\n superseded.every(({ policy, head }) =>\n principalPolicyEvidenceEntries(policy).some(({ state }) =>\n principalHeadMatchesReference(state, head),\n ),\n )\n )\n throw new MetadataRootBehindDirectoryError();\n throw unbound;\n}\n"]}