@tearleads/client-sdk 0.1.14 → 0.1.15

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 (200) hide show
  1. package/client/containerContents.js +2 -1
  2. package/client/containerContents.js.map +1 -1
  3. package/data/documents/blob/shared/types.d.ts +4 -0
  4. package/data/documents/blob/shared/types.js.map +1 -1
  5. package/data/keyingProjectionVerification/accessManifestCheckpointEnforcement.js +2 -0
  6. package/data/keyingProjectionVerification/accessManifestCheckpointEnforcement.js.map +1 -1
  7. package/data/keyingProjectionVerification/checkpointContext.d.ts +2 -1
  8. package/data/keyingProjectionVerification/checkpointContext.js +22 -0
  9. package/data/keyingProjectionVerification/checkpointContext.js.map +1 -1
  10. package/data/keyingProjectionVerification/containerDestinationVerification.js +11 -1
  11. package/data/keyingProjectionVerification/containerDestinationVerification.js.map +1 -1
  12. package/data/keyingProjectionVerification/containerManifestVerification.js.map +1 -1
  13. package/data/keyingProjectionVerification/containerPathVerification.js.map +1 -1
  14. package/data/keyingProjectionVerification/containerProjectionVerification.d.ts +3 -2
  15. package/data/keyingProjectionVerification/containerProjectionVerification.js +10 -11
  16. package/data/keyingProjectionVerification/containerProjectionVerification.js.map +1 -1
  17. package/data/keyingProjectionVerification/documentManifestPolicies.js.map +1 -1
  18. package/data/keyingProjectionVerification/documentManifestVerification.js.map +1 -1
  19. package/data/keyingProjectionVerification/documentProjectionVerification.d.ts +2 -3
  20. package/data/keyingProjectionVerification/documentProjectionVerification.js +4 -0
  21. package/data/keyingProjectionVerification/documentProjectionVerification.js.map +1 -1
  22. package/data/keyingProjectionVerification/mergeProjectionPolicyEvidence.js +14 -12
  23. package/data/keyingProjectionVerification/mergeProjectionPolicyEvidence.js.map +1 -1
  24. package/data/keyingProjectionVerification/organizationFounderBinding.js.map +1 -1
  25. package/data/keyingProjectionVerification/projectionAuthorizationEvidence.js +33 -6
  26. package/data/keyingProjectionVerification/projectionAuthorizationEvidence.js.map +1 -1
  27. package/data/keyingProjectionVerification/projectionLifetimes.js +13 -0
  28. package/data/keyingProjectionVerification/projectionLifetimes.js.map +1 -0
  29. package/data/keyingProjectionVerification/projectionPolicyEvidence.js +19 -66
  30. package/data/keyingProjectionVerification/projectionPolicyEvidence.js.map +1 -1
  31. package/data/keyingProjectionVerification/types.d.ts +13 -2
  32. package/data/keyingProjectionVerification/types.js +15 -0
  33. package/data/keyingProjectionVerification/types.js.map +1 -1
  34. package/data/persistence/keyingCheckpointAdvancePersistence.js +4 -1
  35. package/data/persistence/keyingCheckpointAdvancePersistence.js.map +1 -1
  36. package/data/persistence/organizationFounderPersistence.js +2 -2
  37. package/data/persistence/organizationFounderPersistence.js.map +1 -1
  38. package/data/persistence/principalAuthorizationCheckpoints.js +29 -0
  39. package/data/persistence/principalAuthorizationCheckpoints.js.map +1 -0
  40. package/data/persistence/principalHistoryEvidencePersistence.d.ts +30 -0
  41. package/data/persistence/principalHistoryPrefixPersistence.d.ts +24 -0
  42. package/data/persistence/principalHistoryPrefixPersistence.js +6 -2
  43. package/data/persistence/principalHistoryPrefixPersistence.js.map +1 -1
  44. package/data/persistence/principalHistoryStagePersistence.d.ts +21 -0
  45. package/data/principals/principalHistoryRuntime.js +12 -0
  46. package/data/principals/principalHistoryRuntime.js.map +1 -0
  47. package/data/principals/principalHistoryStageProtection.js +2 -12
  48. package/data/principals/principalHistoryStageProtection.js.map +1 -1
  49. package/data/principals/principalPolicyEvidence.d.ts +2 -2
  50. package/data/principals/principalPolicyEvidence.js.map +1 -1
  51. package/data/sqlite/principalHistoryEvidenceSchema.d.ts +308 -0
  52. package/data/sqlite/principalHistoryStageSchema.d.ts +119 -0
  53. package/index.d.ts +2 -2
  54. package/index.js +1 -1
  55. package/index.js.map +1 -1
  56. package/internal/api-client/ApiCache.d.ts +54 -0
  57. package/internal/api-client/ApiClient.d.ts +255 -309
  58. package/internal/api-client/ApiClient.js +15 -6
  59. package/internal/api-client/ApiClient.js.map +1 -1
  60. package/internal/api-client/index.d.ts +1 -0
  61. package/internal/api-client/index.js.map +1 -1
  62. package/internal/api-client/principalHistoryDeadline.js +20 -0
  63. package/internal/api-client/principalHistoryDeadline.js.map +1 -0
  64. package/internal/api-client/principalHistoryRequest.js +59 -22
  65. package/internal/api-client/principalHistoryRequest.js.map +1 -1
  66. package/internal/api-client/principalHistoryRequestContext.js +18 -5
  67. package/internal/api-client/principalHistoryRequestContext.js.map +1 -1
  68. package/internal/api-client/principalPolicyRequests.d.ts +799 -0
  69. package/internal/api-client/principalPolicyRequests.js +9 -4
  70. package/internal/api-client/principalPolicyRequests.js.map +1 -1
  71. package/internal/api-client/projectionPolicyHistoryPages.d.ts +9 -0
  72. package/internal/api-client/projectionPolicyHistoryPages.js +88 -0
  73. package/internal/api-client/projectionPolicyHistoryPages.js.map +1 -0
  74. package/internal/api-client/writerProjectionRequests.js +26 -0
  75. package/internal/api-client/writerProjectionRequests.js.map +1 -0
  76. package/internal/crypto/keying/principalPolicyHistory.js +4 -0
  77. package/internal/crypto/keying/principalPolicyHistory.js.map +1 -1
  78. package/internal/crypto/keying/principalPolicyHistoryTypes.d.ts +2 -0
  79. package/internal/crypto/keying/principalPolicyHistoryTypes.js.map +1 -1
  80. package/internal/crypto/projectionHistorySlots.js +0 -4
  81. package/internal/crypto/projectionHistorySlots.js.map +1 -1
  82. package/internal/validators/operation/index.d.ts +1 -0
  83. package/internal/validators/operation/index.js +1 -0
  84. package/internal/validators/operation/index.js.map +1 -1
  85. package/internal/validators/operation/principals.d.ts +38 -16
  86. package/internal/validators/operation/principals.js +11 -5
  87. package/internal/validators/operation/principals.js.map +1 -1
  88. package/internal/validators/operation/projectionPolicyHistory.d.ts +512 -0
  89. package/internal/validators/operation/projectionPolicyHistory.js +37 -0
  90. package/internal/validators/operation/projectionPolicyHistory.js.map +1 -0
  91. package/internal/validators/operation/registry.d.ts +2 -0
  92. package/internal/validators/operation/registry.js +2 -0
  93. package/internal/validators/operation/registry.js.map +1 -1
  94. package/internal/validators/operation/writerProjections.d.ts +178 -1224
  95. package/internal/validators/operation/writerProjections.js +9 -2
  96. package/internal/validators/operation/writerProjections.js.map +1 -1
  97. package/internal/validators/response/container.d.ts +84 -612
  98. package/internal/validators/response/documentMutation.d.ts +84 -612
  99. package/internal/validators/response/index.d.ts +1 -0
  100. package/internal/validators/response/index.js +1 -0
  101. package/internal/validators/response/index.js.map +1 -1
  102. package/internal/validators/response/organizationBilling.d.ts +1 -0
  103. package/internal/validators/response/organizationBilling.js +1 -1
  104. package/internal/validators/response/organizationBilling.js.map +1 -1
  105. package/internal/validators/response/principalHistoryPreparation.js +28 -1
  106. package/internal/validators/response/principalHistoryPreparation.js.map +1 -1
  107. package/internal/validators/response/principalPolicySnapshotPage.d.ts +388 -0
  108. package/internal/validators/response/principalPolicySnapshotPage.js +24 -0
  109. package/internal/validators/response/principalPolicySnapshotPage.js.map +1 -0
  110. package/internal/validators/response/projectionPolicyEvidence.d.ts +85 -613
  111. package/internal/validators/response/projectionPolicyEvidence.js +10 -5
  112. package/internal/validators/response/projectionPolicyEvidence.js.map +1 -1
  113. package/package.json +1 -1
  114. package/stores/documents/documentStore/attachmentHydration.js +3 -0
  115. package/stores/documents/documentStore/attachmentHydration.js.map +1 -1
  116. package/stores/documents/documentStore/syncDetachedAttachments.js +3 -0
  117. package/stores/documents/documentStore/syncDetachedAttachments.js.map +1 -1
  118. package/workflows/blobs/decrypt.d.ts +1 -1
  119. package/workflows/blobs/decrypt.js +3 -1
  120. package/workflows/blobs/decrypt.js.map +1 -1
  121. package/workflows/blobs/detach.js +6 -1
  122. package/workflows/blobs/detach.js.map +1 -1
  123. package/workflows/blobs/hydrate.d.ts +3 -1
  124. package/workflows/blobs/hydrate.js +2 -0
  125. package/workflows/blobs/hydrate.js.map +1 -1
  126. package/workflows/blobs/retainedAttachmentVerification.js +2 -0
  127. package/workflows/blobs/retainedAttachmentVerification.js.map +1 -1
  128. package/workflows/container-contents/container-state/createAdoption.js +2 -0
  129. package/workflows/container-contents/container-state/createAdoption.js.map +1 -1
  130. package/workflows/container-contents/container-state/createWithMetadata.js +7 -39
  131. package/workflows/container-contents/container-state/createWithMetadata.js.map +1 -1
  132. package/workflows/container-contents/container-state/createWithMetadataPlan.js +68 -0
  133. package/workflows/container-contents/container-state/createWithMetadataPlan.js.map +1 -0
  134. package/workflows/container-contents/remoteContainerState.js +3 -1
  135. package/workflows/container-contents/remoteContainerState.js.map +1 -1
  136. package/workflows/container-contents/remoteHydration/verifiedDestination.js +3 -0
  137. package/workflows/container-contents/remoteHydration/verifiedDestination.js.map +1 -1
  138. package/workflows/container-contents/runtime.d.ts +3 -0
  139. package/workflows/container-contents/runtime.js +7 -6
  140. package/workflows/container-contents/runtime.js.map +1 -1
  141. package/workflows/documents/create.d.ts +2 -15
  142. package/workflows/documents/create.js +9 -64
  143. package/workflows/documents/create.js.map +1 -1
  144. package/workflows/documents/createProjection.d.ts +14 -0
  145. package/workflows/documents/createProjection.js +26 -0
  146. package/workflows/documents/createProjection.js.map +1 -0
  147. package/workflows/documents/createResponse.js +49 -0
  148. package/workflows/documents/createResponse.js.map +1 -0
  149. package/workflows/documents/linkSetBlobRewraps.js +2 -0
  150. package/workflows/documents/linkSetBlobRewraps.js.map +1 -1
  151. package/workflows/documents/runtime.d.ts +3 -0
  152. package/workflows/documents/runtime.js +3 -2
  153. package/workflows/documents/runtime.js.map +1 -1
  154. package/workflows/documents/syncFailureClassification.js +3 -1
  155. package/workflows/documents/syncFailureClassification.js.map +1 -1
  156. package/workflows/principals/index.d.ts +2 -0
  157. package/workflows/principals/index.js +1 -0
  158. package/workflows/principals/index.js.map +1 -1
  159. package/workflows/principals/policyVerification.js.map +1 -1
  160. package/workflows/principals/principalHistoryRecoveryAuthority.js +20 -0
  161. package/workflows/principals/principalHistoryRecoveryAuthority.js.map +1 -0
  162. package/workflows/principals/principalHistoryRecoveryStage.js +1 -1
  163. package/workflows/principals/principalHistoryRecoveryStage.js.map +1 -1
  164. package/workflows/principals/principalHistoryRecoveryTypes.d.ts +3 -3
  165. package/workflows/principals/principalHistoryRecoveryTypes.js.map +1 -1
  166. package/workflows/principals/principalHistoryRecoveryVerification.js +6 -1
  167. package/workflows/principals/principalHistoryRecoveryVerification.js.map +1 -1
  168. package/workflows/principals/principalRecoveryOutage.js +1 -1
  169. package/workflows/principals/principalRecoveryOutage.js.map +1 -1
  170. package/workflows/principals/publicPrincipalHistoryAuthority.js +60 -0
  171. package/workflows/principals/publicPrincipalHistoryAuthority.js.map +1 -0
  172. package/workflows/principals/publicPrincipalHistoryPage.js +87 -0
  173. package/workflows/principals/publicPrincipalHistoryPage.js.map +1 -0
  174. package/workflows/principals/publicPrincipalHistoryProgress.js +178 -0
  175. package/workflows/principals/publicPrincipalHistoryProgress.js.map +1 -0
  176. package/workflows/principals/publicPrincipalHistoryTypes.d.ts +39 -0
  177. package/workflows/principals/publicPrincipalHistoryTypes.js +2 -0
  178. package/workflows/principals/publicPrincipalHistoryTypes.js.map +1 -0
  179. package/workflows/principals/publicProjectionDirectory.js +40 -0
  180. package/workflows/principals/publicProjectionDirectory.js.map +1 -0
  181. package/workflows/principals/publicProjectionPrincipal.js +53 -0
  182. package/workflows/principals/publicProjectionPrincipal.js.map +1 -0
  183. package/workflows/principals/recoverPrincipalPolicyHistory.js +4 -1
  184. package/workflows/principals/recoverPrincipalPolicyHistory.js.map +1 -1
  185. package/workflows/principals/recoverProjectionPolicyHistory.d.ts +9 -0
  186. package/workflows/principals/recoverProjectionPolicyHistory.js +98 -0
  187. package/workflows/principals/recoverProjectionPolicyHistory.js.map +1 -0
  188. package/workflows/principals/recoverPublicPrincipalHistory.js +176 -0
  189. package/workflows/principals/recoverPublicPrincipalHistory.js.map +1 -0
  190. package/workflows/principals/recoverScopedPrincipalPolicyHistory.js +2 -5
  191. package/workflows/principals/recoverScopedPrincipalPolicyHistory.js.map +1 -1
  192. package/workflows/principals/runtimePolicyRecovery.js +2 -1
  193. package/workflows/principals/runtimePolicyRecovery.js.map +1 -1
  194. package/workflows/principals/runtimePolicyWarmer.js +2 -0
  195. package/workflows/principals/runtimePolicyWarmer.js.map +1 -1
  196. package/workflows/principals/runtimeProjectionPolicyRecovery.js +56 -0
  197. package/workflows/principals/runtimeProjectionPolicyRecovery.js.map +1 -0
  198. package/workflows/principals/selectPublicPrincipalHistory.js +90 -0
  199. package/workflows/principals/selectPublicPrincipalHistory.js.map +1 -0
  200. package/workflows/registration/provisioningBootstrapBuilders.d.ts +21 -153
@@ -1,8 +1,9 @@
1
1
  import type { NativeSubscriptionStore } from "../validators/billing.js";
2
2
  import { type RootIdentitiesQuery, type RootOrganizationPageQuery, type RootOrganizationsQuery } from "../validators/operation/index.js";
3
- import type { BlobAttachmentBindRequest, BlobAttachmentDetachRequest, CommitOrganizationGroupPolicyRequest, CompleteMultipartBlobStageRequest, ContainerCreateWithMetadataDocumentRequest, ContainerMutationRequest, ContainerReciteRequest, ContainerRotationRequest, CreateOrganizationGroupWithPolicyRequest, CreateOrganizationRequest, DeleteOrganizationGroupRequest, DocumentCreateRequest, DocumentLinkSetMutationRequest, DocumentPurgeRequest, DocumentSyncRequest, InitiateMultipartBlobStageRequest, ListContainerParentLanesRequest, OrganizationPrincipalPolicyRequest, RegistrationRequest, UpdateOrganizationProfileRequest, UpdateOrganizationRosterEntryRequest } from "../validators/request/index.js";
3
+ import type { BlobAttachmentBindRequest, BlobAttachmentDetachRequest, CommitOrganizationGroupPolicyRequest, CompleteMultipartBlobStageRequest, ContainerCreateWithMetadataDocumentRequest, ContainerMutationRequest, ContainerReciteRequest, ContainerRotationRequest, CreateOrganizationGroupWithPolicyRequest, CreateOrganizationRequest, DeleteOrganizationGroupRequest, DocumentCreateRequest, DocumentLinkSetMutationRequest, DocumentPurgeRequest, DocumentSyncRequest, InitiateMultipartBlobStageRequest, ListContainerParentLanesRequest, RegistrationRequest, UpdateOrganizationProfileRequest, UpdateOrganizationRosterEntryRequest } from "../validators/request/index.js";
4
4
  import type { CommitOrganizationGroupPolicyResponse, ContainerCreateWithMetadataDocumentResponse, ContainerDeleteResponse, ContainerMutationResponse, ContainerRotationResponse, ContainerWriterProjectionResponse, DocumentCreateResponse, DocumentSyncResponse, DocumentWriterProjectionResponse, ListContainerDocumentsResponse, OrganizationDataUsageResponse, OrganizationPolicyHistoryResponse, OrganizationReadModelResponse, RootDataUsageReportResponse, RootIdentitiesResponse, RootIdentityDetailResponse, RootIdentityOrganizationsResponse, RootOrganizationDetailResponse, RootOrganizationIdentitiesResponse, RootOrganizationsResponse } from "../validators/response/index.js";
5
5
  import type { PrincipalPolicyPageReadOptions } from "./principalPolicyPages.js";
6
+ import { PrincipalPolicyRequests } from "./principalPolicyRequests.js";
6
7
  import { type UploadMultipartBlobPartBytesRequest } from "./routes/blobs/get.js";
7
8
  import { type ContainerKekLogOptions } from "./routes/containers/reads.js";
8
9
  import { type DocumentPurgeProofOptions } from "./routes/documents/mutations.js";
@@ -1062,7 +1063,93 @@ export declare class ApiClient {
1062
1063
  version: number;
1063
1064
  };
1064
1065
  }>, void, any>;
1065
- getCurrentPrincipalPolicy(principalType: "group" | "organization", principalId: string, options?: RequestResultOptions): Promise<{
1066
+ getProjectionPolicyHistoryPages(...args: Parameters<PrincipalPolicyRequests["publicPages"]>): AsyncGenerator<RequestResult<{
1067
+ currentGrants: {
1068
+ accessLevel: "admin" | "read" | "write";
1069
+ containerId: string;
1070
+ }[];
1071
+ currentProjection: {
1072
+ role: "member" | "admin";
1073
+ userId: string;
1074
+ }[];
1075
+ currentState: {
1076
+ createdAt: string;
1077
+ encapsulationPublicKey: string;
1078
+ externalAuthority: {
1079
+ keyEpoch: number;
1080
+ keyFingerprint: string;
1081
+ principalId: string;
1082
+ principalType: "group";
1083
+ stateHash: string;
1084
+ version: number;
1085
+ } | null;
1086
+ grantCount: number;
1087
+ grantRoot: string;
1088
+ keyEpoch: number;
1089
+ keyFingerprint: string;
1090
+ memberCount: number;
1091
+ memberEnvelopesRoot: string;
1092
+ membershipMode: "projection";
1093
+ membershipRoot: string;
1094
+ payloadCiphertextHash: string;
1095
+ prevStateHash: string | null;
1096
+ principalId: string;
1097
+ principalType: "group" | "organization";
1098
+ projectionRoot: string;
1099
+ signature: string;
1100
+ signedAt: string;
1101
+ signerUserId: string;
1102
+ signerUserKeyFingerprint: string;
1103
+ stateHash: string;
1104
+ version: number;
1105
+ };
1106
+ previousStates: {
1107
+ grants: {
1108
+ accessLevel: "admin" | "read" | "write";
1109
+ containerId: string;
1110
+ }[];
1111
+ projection: {
1112
+ role: "member" | "admin";
1113
+ userId: string;
1114
+ }[];
1115
+ state: {
1116
+ createdAt: string;
1117
+ encapsulationPublicKey: string;
1118
+ externalAuthority: {
1119
+ keyEpoch: number;
1120
+ keyFingerprint: string;
1121
+ principalId: string;
1122
+ principalType: "group";
1123
+ stateHash: string;
1124
+ version: number;
1125
+ } | null;
1126
+ grantCount: number;
1127
+ grantRoot: string;
1128
+ keyEpoch: number;
1129
+ keyFingerprint: string;
1130
+ memberCount: number;
1131
+ memberEnvelopesRoot: string;
1132
+ membershipMode: "projection";
1133
+ membershipRoot: string;
1134
+ payloadCiphertextHash: string;
1135
+ prevStateHash: string | null;
1136
+ principalId: string;
1137
+ principalType: "group" | "organization";
1138
+ projectionRoot: string;
1139
+ signature: string;
1140
+ signedAt: string;
1141
+ signerUserId: string;
1142
+ signerUserKeyFingerprint: string;
1143
+ stateHash: string;
1144
+ version: number;
1145
+ };
1146
+ }[];
1147
+ historyPage: {
1148
+ afterVersion: number;
1149
+ nextAfterVersion: number | null;
1150
+ };
1151
+ }>, void, any>;
1152
+ getCurrentPrincipalPolicy(...args: Parameters<PrincipalPolicyRequests["get"]>): Promise<{
1066
1153
  previousStates: {
1067
1154
  grants: {
1068
1155
  accessLevel: "admin" | "read" | "write";
@@ -1165,7 +1252,7 @@ export declare class ApiClient {
1165
1252
  version: number;
1166
1253
  };
1167
1254
  } | null>;
1168
- putPrincipalPolicy(principalType: "organization", principalId: string, input: OrganizationPrincipalPolicyRequest, options?: RequestResultOptions): Promise<{
1255
+ putPrincipalPolicy(...args: Parameters<PrincipalPolicyRequests["put"]>): Promise<{
1169
1256
  containerMutations: {
1170
1257
  createdAt: string;
1171
1258
  manifestHead: {
@@ -1287,6 +1374,129 @@ export declare class ApiClient {
1287
1374
  version: number;
1288
1375
  };
1289
1376
  } | null>;
1377
+ /** Preserves unknown outcomes for authored organization directory writes. */
1378
+ putPrincipalPolicyResult(...args: Parameters<PrincipalPolicyRequests["putResult"]>): Promise<RequestResult<{
1379
+ containerMutations: {
1380
+ createdAt: string;
1381
+ manifestHead: {
1382
+ epoch: number;
1383
+ manifestHash: string;
1384
+ };
1385
+ organizationId: string;
1386
+ parentId: string | null;
1387
+ referencedPrincipalHeads: {
1388
+ principalType: "group";
1389
+ keyEpoch: number;
1390
+ keyFingerprint: string;
1391
+ principalId: string;
1392
+ stateHash: string;
1393
+ version: number;
1394
+ }[];
1395
+ updatedAt: string;
1396
+ accessManifest: {
1397
+ event: {
1398
+ body: unknown;
1399
+ event: Record<string, unknown>;
1400
+ eventHash: string;
1401
+ };
1402
+ manifest: Record<string, unknown>;
1403
+ manifestHash: string;
1404
+ state: Record<string, unknown>;
1405
+ };
1406
+ containerId: string;
1407
+ containerKek: {
1408
+ accessManifestHash: string;
1409
+ containerId: string;
1410
+ containerKeyEpoch: number;
1411
+ containerKeyEpochId: string;
1412
+ containerManifestHistory: {
1413
+ event: {
1414
+ body: unknown;
1415
+ event: Record<string, unknown>;
1416
+ eventHash: string;
1417
+ };
1418
+ manifest: Record<string, unknown>;
1419
+ manifestHash: string;
1420
+ state: Record<string, unknown>;
1421
+ }[];
1422
+ keyEpoch: Record<string, unknown>;
1423
+ keyEpochHash: string;
1424
+ keyring: {
1425
+ containerId: string;
1426
+ containerKeyEpochId: string;
1427
+ iv: string;
1428
+ sealed: string;
1429
+ sealingSuite: string;
1430
+ version: number;
1431
+ } | null;
1432
+ keyTargetHash: string;
1433
+ parentContainerKeyEpochId: string | null;
1434
+ recipientTargets: Record<string, unknown>[];
1435
+ wraps: Record<string, unknown>[];
1436
+ };
1437
+ systemSlot?: string | null | undefined;
1438
+ }[];
1439
+ currentGrants: {
1440
+ accessLevel: "admin" | "read" | "write";
1441
+ containerId: string;
1442
+ }[];
1443
+ currentMemberEnvelopes: {
1444
+ envelopes: {
1445
+ kemCipherText: string;
1446
+ memberKeyFingerprint: string;
1447
+ userId: string;
1448
+ wrappedKey: string;
1449
+ }[];
1450
+ epoch: number;
1451
+ principalId: string;
1452
+ principalType: "group" | "organization";
1453
+ stateHash: string;
1454
+ };
1455
+ currentPayload: {
1456
+ cipherSuite: "aes-256-gcm";
1457
+ ciphertext: string;
1458
+ ciphertextHash: string;
1459
+ createdAt: string;
1460
+ principalId: string;
1461
+ principalType: "group" | "organization";
1462
+ stateHash: string;
1463
+ };
1464
+ currentProjection: {
1465
+ role: "member" | "admin";
1466
+ userId: string;
1467
+ }[];
1468
+ currentState: {
1469
+ createdAt: string;
1470
+ encapsulationPublicKey: string;
1471
+ externalAuthority: {
1472
+ keyEpoch: number;
1473
+ keyFingerprint: string;
1474
+ principalId: string;
1475
+ principalType: "group";
1476
+ stateHash: string;
1477
+ version: number;
1478
+ } | null;
1479
+ grantCount: number;
1480
+ grantRoot: string;
1481
+ keyEpoch: number;
1482
+ keyFingerprint: string;
1483
+ memberCount: number;
1484
+ memberEnvelopesRoot: string;
1485
+ membershipMode: "projection";
1486
+ membershipRoot: string;
1487
+ payloadCiphertextHash: string;
1488
+ prevStateHash: string | null;
1489
+ principalId: string;
1490
+ principalType: "group" | "organization";
1491
+ projectionRoot: string;
1492
+ signature: string;
1493
+ signedAt: string;
1494
+ signerUserId: string;
1495
+ signerUserKeyFingerprint: string;
1496
+ stateHash: string;
1497
+ version: number;
1498
+ };
1499
+ }>>;
1290
1500
  commitOrganizationGroupPolicy(organizationId: string, groupId: string, input: CommitOrganizationGroupPolicyRequest): Promise<{
1291
1501
  groupPolicy: {
1292
1502
  containerMutations: {
@@ -2010,177 +2220,45 @@ export declare class ApiClient {
2010
2220
  getContainerWriterProjection(containerId: string): Promise<{
2011
2221
  policyEvidence: {
2012
2222
  organization: {
2013
- currentGrants: {
2014
- accessLevel: "admin" | "read" | "write";
2015
- containerId: string;
2016
- }[];
2017
- currentProjection: {
2018
- role: "member" | "admin";
2019
- userId: string;
2020
- }[];
2021
- currentState: {
2022
- createdAt: string;
2023
- encapsulationPublicKey: string;
2024
- externalAuthority: {
2025
- keyEpoch: number;
2026
- keyFingerprint: string;
2027
- principalId: string;
2028
- principalType: "group";
2029
- stateHash: string;
2030
- version: number;
2031
- } | null;
2032
- grantCount: number;
2033
- grantRoot: string;
2223
+ head: {
2034
2224
  keyEpoch: number;
2035
2225
  keyFingerprint: string;
2036
- memberCount: number;
2037
- memberEnvelopesRoot: string;
2038
- membershipMode: "projection";
2039
- membershipRoot: string;
2040
- payloadCiphertextHash: string;
2041
- prevStateHash: string | null;
2042
2226
  principalId: string;
2043
2227
  principalType: "group" | "organization";
2044
- projectionRoot: string;
2045
- signature: string;
2046
- signedAt: string;
2047
- signerUserId: string;
2048
- signerUserKeyFingerprint: string;
2049
2228
  stateHash: string;
2050
2229
  version: number;
2051
2230
  };
2052
- previousStates: {
2053
- grants: {
2054
- accessLevel: "admin" | "read" | "write";
2055
- containerId: string;
2056
- }[];
2057
- projection: {
2058
- role: "member" | "admin";
2059
- userId: string;
2060
- }[];
2061
- state: {
2062
- createdAt: string;
2063
- encapsulationPublicKey: string;
2064
- externalAuthority: {
2065
- keyEpoch: number;
2066
- keyFingerprint: string;
2067
- principalId: string;
2068
- principalType: "group";
2069
- stateHash: string;
2070
- version: number;
2071
- } | null;
2072
- grantCount: number;
2073
- grantRoot: string;
2074
- keyEpoch: number;
2075
- keyFingerprint: string;
2076
- memberCount: number;
2077
- memberEnvelopesRoot: string;
2078
- membershipMode: "projection";
2079
- membershipRoot: string;
2080
- payloadCiphertextHash: string;
2081
- prevStateHash: string | null;
2082
- principalId: string;
2083
- principalType: "group" | "organization";
2084
- projectionRoot: string;
2085
- signature: string;
2086
- signedAt: string;
2087
- signerUserId: string;
2088
- signerUserKeyFingerprint: string;
2089
- stateHash: string;
2090
- version: number;
2091
- };
2092
- }[];
2231
+ grant: string;
2093
2232
  } | null;
2094
2233
  organizationPayloads: {
2095
- cipherSuite: "aes-256-gcm";
2096
- ciphertext: string;
2097
- ciphertextHash: string;
2098
- createdAt: string;
2099
- principalId: string;
2100
- principalType: "group" | "organization";
2101
- stateHash: string;
2234
+ reference: {
2235
+ keyEpoch: number;
2236
+ keyFingerprint: string;
2237
+ principalId: string;
2238
+ principalType: "group" | "organization";
2239
+ stateHash: string;
2240
+ version: number;
2241
+ };
2242
+ payload: {
2243
+ cipherSuite: "aes-256-gcm";
2244
+ ciphertext: string;
2245
+ ciphertextHash: string;
2246
+ createdAt: string;
2247
+ principalId: string;
2248
+ principalType: "group" | "organization";
2249
+ stateHash: string;
2250
+ };
2102
2251
  }[];
2103
2252
  groups: {
2104
- currentGrants: {
2105
- accessLevel: "admin" | "read" | "write";
2106
- containerId: string;
2107
- }[];
2108
- currentProjection: {
2109
- role: "member" | "admin";
2110
- userId: string;
2111
- }[];
2112
- currentState: {
2113
- createdAt: string;
2114
- encapsulationPublicKey: string;
2115
- externalAuthority: {
2116
- keyEpoch: number;
2117
- keyFingerprint: string;
2118
- principalId: string;
2119
- principalType: "group";
2120
- stateHash: string;
2121
- version: number;
2122
- } | null;
2123
- grantCount: number;
2124
- grantRoot: string;
2253
+ head: {
2125
2254
  keyEpoch: number;
2126
2255
  keyFingerprint: string;
2127
- memberCount: number;
2128
- memberEnvelopesRoot: string;
2129
- membershipMode: "projection";
2130
- membershipRoot: string;
2131
- payloadCiphertextHash: string;
2132
- prevStateHash: string | null;
2133
2256
  principalId: string;
2134
2257
  principalType: "group" | "organization";
2135
- projectionRoot: string;
2136
- signature: string;
2137
- signedAt: string;
2138
- signerUserId: string;
2139
- signerUserKeyFingerprint: string;
2140
2258
  stateHash: string;
2141
2259
  version: number;
2142
2260
  };
2143
- previousStates: {
2144
- grants: {
2145
- accessLevel: "admin" | "read" | "write";
2146
- containerId: string;
2147
- }[];
2148
- projection: {
2149
- role: "member" | "admin";
2150
- userId: string;
2151
- }[];
2152
- state: {
2153
- createdAt: string;
2154
- encapsulationPublicKey: string;
2155
- externalAuthority: {
2156
- keyEpoch: number;
2157
- keyFingerprint: string;
2158
- principalId: string;
2159
- principalType: "group";
2160
- stateHash: string;
2161
- version: number;
2162
- } | null;
2163
- grantCount: number;
2164
- grantRoot: string;
2165
- keyEpoch: number;
2166
- keyFingerprint: string;
2167
- memberCount: number;
2168
- memberEnvelopesRoot: string;
2169
- membershipMode: "projection";
2170
- membershipRoot: string;
2171
- payloadCiphertextHash: string;
2172
- prevStateHash: string | null;
2173
- principalId: string;
2174
- principalType: "group" | "organization";
2175
- projectionRoot: string;
2176
- signature: string;
2177
- signedAt: string;
2178
- signerUserId: string;
2179
- signerUserKeyFingerprint: string;
2180
- stateHash: string;
2181
- version: number;
2182
- };
2183
- }[];
2261
+ grant: string;
2184
2262
  }[];
2185
2263
  };
2186
2264
  containerId: string;
@@ -2906,177 +2984,45 @@ export declare class ApiClient {
2906
2984
  getDocumentWriterProjection(documentId: string): Promise<{
2907
2985
  policyEvidence: {
2908
2986
  organization: {
2909
- currentGrants: {
2910
- accessLevel: "admin" | "read" | "write";
2911
- containerId: string;
2912
- }[];
2913
- currentProjection: {
2914
- role: "member" | "admin";
2915
- userId: string;
2916
- }[];
2917
- currentState: {
2918
- createdAt: string;
2919
- encapsulationPublicKey: string;
2920
- externalAuthority: {
2921
- keyEpoch: number;
2922
- keyFingerprint: string;
2923
- principalId: string;
2924
- principalType: "group";
2925
- stateHash: string;
2926
- version: number;
2927
- } | null;
2928
- grantCount: number;
2929
- grantRoot: string;
2987
+ head: {
2930
2988
  keyEpoch: number;
2931
2989
  keyFingerprint: string;
2932
- memberCount: number;
2933
- memberEnvelopesRoot: string;
2934
- membershipMode: "projection";
2935
- membershipRoot: string;
2936
- payloadCiphertextHash: string;
2937
- prevStateHash: string | null;
2938
2990
  principalId: string;
2939
2991
  principalType: "group" | "organization";
2940
- projectionRoot: string;
2941
- signature: string;
2942
- signedAt: string;
2943
- signerUserId: string;
2944
- signerUserKeyFingerprint: string;
2945
2992
  stateHash: string;
2946
2993
  version: number;
2947
2994
  };
2948
- previousStates: {
2949
- grants: {
2950
- accessLevel: "admin" | "read" | "write";
2951
- containerId: string;
2952
- }[];
2953
- projection: {
2954
- role: "member" | "admin";
2955
- userId: string;
2956
- }[];
2957
- state: {
2958
- createdAt: string;
2959
- encapsulationPublicKey: string;
2960
- externalAuthority: {
2961
- keyEpoch: number;
2962
- keyFingerprint: string;
2963
- principalId: string;
2964
- principalType: "group";
2965
- stateHash: string;
2966
- version: number;
2967
- } | null;
2968
- grantCount: number;
2969
- grantRoot: string;
2970
- keyEpoch: number;
2971
- keyFingerprint: string;
2972
- memberCount: number;
2973
- memberEnvelopesRoot: string;
2974
- membershipMode: "projection";
2975
- membershipRoot: string;
2976
- payloadCiphertextHash: string;
2977
- prevStateHash: string | null;
2978
- principalId: string;
2979
- principalType: "group" | "organization";
2980
- projectionRoot: string;
2981
- signature: string;
2982
- signedAt: string;
2983
- signerUserId: string;
2984
- signerUserKeyFingerprint: string;
2985
- stateHash: string;
2986
- version: number;
2987
- };
2988
- }[];
2995
+ grant: string;
2989
2996
  } | null;
2990
2997
  organizationPayloads: {
2991
- cipherSuite: "aes-256-gcm";
2992
- ciphertext: string;
2993
- ciphertextHash: string;
2994
- createdAt: string;
2995
- principalId: string;
2996
- principalType: "group" | "organization";
2997
- stateHash: string;
2998
+ reference: {
2999
+ keyEpoch: number;
3000
+ keyFingerprint: string;
3001
+ principalId: string;
3002
+ principalType: "group" | "organization";
3003
+ stateHash: string;
3004
+ version: number;
3005
+ };
3006
+ payload: {
3007
+ cipherSuite: "aes-256-gcm";
3008
+ ciphertext: string;
3009
+ ciphertextHash: string;
3010
+ createdAt: string;
3011
+ principalId: string;
3012
+ principalType: "group" | "organization";
3013
+ stateHash: string;
3014
+ };
2998
3015
  }[];
2999
3016
  groups: {
3000
- currentGrants: {
3001
- accessLevel: "admin" | "read" | "write";
3002
- containerId: string;
3003
- }[];
3004
- currentProjection: {
3005
- role: "member" | "admin";
3006
- userId: string;
3007
- }[];
3008
- currentState: {
3009
- createdAt: string;
3010
- encapsulationPublicKey: string;
3011
- externalAuthority: {
3012
- keyEpoch: number;
3013
- keyFingerprint: string;
3014
- principalId: string;
3015
- principalType: "group";
3016
- stateHash: string;
3017
- version: number;
3018
- } | null;
3019
- grantCount: number;
3020
- grantRoot: string;
3017
+ head: {
3021
3018
  keyEpoch: number;
3022
3019
  keyFingerprint: string;
3023
- memberCount: number;
3024
- memberEnvelopesRoot: string;
3025
- membershipMode: "projection";
3026
- membershipRoot: string;
3027
- payloadCiphertextHash: string;
3028
- prevStateHash: string | null;
3029
3020
  principalId: string;
3030
3021
  principalType: "group" | "organization";
3031
- projectionRoot: string;
3032
- signature: string;
3033
- signedAt: string;
3034
- signerUserId: string;
3035
- signerUserKeyFingerprint: string;
3036
3022
  stateHash: string;
3037
3023
  version: number;
3038
3024
  };
3039
- previousStates: {
3040
- grants: {
3041
- accessLevel: "admin" | "read" | "write";
3042
- containerId: string;
3043
- }[];
3044
- projection: {
3045
- role: "member" | "admin";
3046
- userId: string;
3047
- }[];
3048
- state: {
3049
- createdAt: string;
3050
- encapsulationPublicKey: string;
3051
- externalAuthority: {
3052
- keyEpoch: number;
3053
- keyFingerprint: string;
3054
- principalId: string;
3055
- principalType: "group";
3056
- stateHash: string;
3057
- version: number;
3058
- } | null;
3059
- grantCount: number;
3060
- grantRoot: string;
3061
- keyEpoch: number;
3062
- keyFingerprint: string;
3063
- memberCount: number;
3064
- memberEnvelopesRoot: string;
3065
- membershipMode: "projection";
3066
- membershipRoot: string;
3067
- payloadCiphertextHash: string;
3068
- prevStateHash: string | null;
3069
- principalId: string;
3070
- principalType: "group" | "organization";
3071
- projectionRoot: string;
3072
- signature: string;
3073
- signedAt: string;
3074
- signerUserId: string;
3075
- signerUserKeyFingerprint: string;
3076
- stateHash: string;
3077
- version: number;
3078
- };
3079
- }[];
3025
+ grant: string;
3080
3026
  }[];
3081
3027
  };
3082
3028
  authorizingContainerPaths: {
@@ -26,6 +26,7 @@ import { organizationStripeCheckout } from "./routes/organizations/stripeCheckou
26
26
  import { containerWriterProjection, documentWriterProjection, } from "./routes/writerProjections.js";
27
27
  import { CitingProjectionCache, evictWriterProjectionsCiting, } from "./writerProjectionCitations.js";
28
28
  import { primeWriterProjectionSlot } from "./writerProjectionPrime.js";
29
+ import { writerProjectionRequests } from "./writerProjectionRequests.js";
29
30
  /** The rotations that may carry descendant rekeys, each with its operation. */
30
31
  const CONTAINER_ROTATIONS = {
31
32
  move: { operation: moveContainerOperation, route: containerMove },
@@ -53,8 +54,9 @@ export class ApiClient {
53
54
  bindPrototypeMethods(this, ApiClient.prototype);
54
55
  this.requestRuntime = new ApiRequestRuntime(baseUrl);
55
56
  this.principalPolicyRequests = new PrincipalPolicyRequests(this.requestRuntime, this.principalPolicyRequestsByKey, this.clearWriterProjectionCaches);
56
- this.request = this.projectionHistory.wrapRequest(this.requestRuntime.request);
57
- this.requestResult = this.projectionHistory.wrapRequestResult(this.requestRuntime.requestResult);
57
+ const projectionRequests = writerProjectionRequests(this.requestRuntime);
58
+ this.request = this.projectionHistory.wrapRequest(projectionRequests.request);
59
+ this.requestResult = this.projectionHistory.wrapRequestResult(projectionRequests.requestResult);
58
60
  this.transport = createOperationTransport(this.requestRuntime.responseRequest);
59
61
  this.documentAttributionRequests = new DocumentAttributionRequests(this.transport);
60
62
  }
@@ -260,11 +262,18 @@ export class ApiClient {
260
262
  getPrincipalPolicyPages(principalType, principalId, options = {}) {
261
263
  return this.principalPolicyRequests.pages(principalType, principalId, options);
262
264
  }
263
- getCurrentPrincipalPolicy(principalType, principalId, options = {}) {
264
- return this.principalPolicyRequests.get(principalType, principalId, options);
265
+ getProjectionPolicyHistoryPages(...args) {
266
+ return this.principalPolicyRequests.publicPages(...args);
265
267
  }
266
- putPrincipalPolicy(principalType, principalId, input, options = {}) {
267
- return this.principalPolicyRequests.put(principalType, principalId, input, options);
268
+ getCurrentPrincipalPolicy(...args) {
269
+ return this.principalPolicyRequests.get(...args);
270
+ }
271
+ putPrincipalPolicy(...args) {
272
+ return this.principalPolicyRequests.put(...args);
273
+ }
274
+ /** Preserves unknown outcomes for authored organization directory writes. */
275
+ putPrincipalPolicyResult(...args) {
276
+ return this.principalPolicyRequests.putResult(...args);
268
277
  }
269
278
  commitOrganizationGroupPolicy(organizationId, groupId, input) {
270
279
  return this.commitOrganizationGroupPolicyResult(organizationId, groupId, input).then((result) => (result.ok ? result.data : null));