@claudian-collab/protocol 3.0.0 → 3.1.0
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.
package/README.md
CHANGED
|
@@ -62,16 +62,23 @@ part of the public surface.
|
|
|
62
62
|
|
|
63
63
|
Package SemVer, canonical wire version, and Cloud binding version are independent concepts.
|
|
64
64
|
|
|
65
|
-
- **Package version** (this `package.json`): `3.
|
|
65
|
+
- **Package version** (this `package.json`): `3.1.0`. Patch releases preserve
|
|
66
66
|
every existing public declaration and runtime behavior baseline. Minor
|
|
67
67
|
releases may add backward-compatible API. Removing or changing an existing
|
|
68
68
|
declaration, export, runtime behavior, codec, error, limit, ref rule,
|
|
69
|
-
operation, or compatibility rule requires a major release.
|
|
69
|
+
operation, or compatibility rule requires a major release. An independently
|
|
70
|
+
proven additive control operation may use a package minor release without a
|
|
71
|
+
wire-version increase; existing operation declarations and fixtures must stay
|
|
72
|
+
exact. Package 3 and wire 6 support exact transfer-claim batches and a
|
|
73
|
+
source-pinned target receipt verifier. The package version never signals wire
|
|
74
|
+
compatibility by itself.
|
|
70
75
|
- **Wire version** (`COLLAB_PROTOCOL_VERSION`): currently `6`. The supported
|
|
71
76
|
range is exactly `[6, 6]`. This is independent from Cloud binding version `2` and the existing application
|
|
72
|
-
LAN control version `9`. Any change to an envelope, DTO,
|
|
73
|
-
payload shape, or
|
|
74
|
-
|
|
77
|
+
LAN control version `9`. Any change to an existing envelope, DTO, operation
|
|
78
|
+
payload shape, or operation definition is wire-breaking and requires a new
|
|
79
|
+
wire-protocol version. A strictly additive operation may remain on the
|
|
80
|
+
current wire version when the compatibility classifier proves that every
|
|
81
|
+
existing operation contract is unchanged.
|
|
75
82
|
- **Cloud binding version** (`COLLAB_CLOUD_BINDING_VERSION`): currently `2`. It versions Cloud routes, bounded transfer streams, and capabilities independently from package and wire versions. Binding v1 and wire versions before v6 are unsupported rather than translated or dual-interpreted.
|
|
76
83
|
|
|
77
84
|
### Compatibility behavior
|
|
@@ -141,6 +141,15 @@ export interface GetProjectAuthorityTransferRequest {
|
|
|
141
141
|
readonly projectId: CollabProjectId;
|
|
142
142
|
readonly transferId: string;
|
|
143
143
|
}
|
|
144
|
+
export type GetAuthorityTransferReceiptVerifierRequest = GetProjectAuthorityTransferRequest;
|
|
145
|
+
export interface CollabAuthorityTransferReceiptVerifier {
|
|
146
|
+
readonly projectId: CollabProjectId;
|
|
147
|
+
readonly receiptKeyId: string;
|
|
148
|
+
readonly receiptPublicKey: string;
|
|
149
|
+
readonly receiptPublicKeyEncoding: 'base64url-raw';
|
|
150
|
+
readonly signatureAlgorithm: 'ed25519';
|
|
151
|
+
readonly transferId: string;
|
|
152
|
+
}
|
|
144
153
|
export interface RotateTransferredMembershipClaimsRequest extends CollabAuthorityMutationRequest {
|
|
145
154
|
readonly expectedBatchRevision: number;
|
|
146
155
|
readonly expectedBatchSha256: string;
|
|
@@ -209,7 +218,7 @@ export interface CancelProjectAuthorityTransferRequest extends CollabAuthorityMu
|
|
|
209
218
|
readonly expectedPhase: CollabAuthorityTransferCancellablePhase;
|
|
210
219
|
readonly transferId: string;
|
|
211
220
|
}
|
|
212
|
-
export declare const COLLAB_AUTHORITY_TRANSFER_OPERATIONS: readonly ["requestLanToCloudTransfer", "acceptLanToCloudTransferTarget", "beginLanToCloudTransfer", "getProjectAuthorityTransfer", "rotateTransferredMembershipClaims", "acknowledgeTransferredMembershipClaimBatch", "getTransferredMembershipClaim", "claimTransferredMembership", "acknowledgeTransferredMembershipClaimRedemption", "commitLanToCloudRelinquishment", "beginCloudToLanTransfer", "acceptCloudToLanTransferTarget", "reportCloudToLanTargetStaged", "confirmCloudToLanTargetActive", "cancelProjectAuthorityTransfer"];
|
|
221
|
+
export declare const COLLAB_AUTHORITY_TRANSFER_OPERATIONS: readonly ["requestLanToCloudTransfer", "acceptLanToCloudTransferTarget", "beginLanToCloudTransfer", "getProjectAuthorityTransfer", "getAuthorityTransferReceiptVerifier", "rotateTransferredMembershipClaims", "acknowledgeTransferredMembershipClaimBatch", "getTransferredMembershipClaim", "claimTransferredMembership", "acknowledgeTransferredMembershipClaimRedemption", "commitLanToCloudRelinquishment", "beginCloudToLanTransfer", "acceptCloudToLanTransferTarget", "reportCloudToLanTargetStaged", "confirmCloudToLanTargetActive", "cancelProjectAuthorityTransfer"];
|
|
213
222
|
export type CollabAuthorityTransferOperation = typeof COLLAB_AUTHORITY_TRANSFER_OPERATIONS[number];
|
|
214
223
|
export interface CollabAuthorityTransferOperationMap {
|
|
215
224
|
readonly requestLanToCloudTransfer: {
|
|
@@ -228,6 +237,10 @@ export interface CollabAuthorityTransferOperationMap {
|
|
|
228
237
|
readonly request: GetProjectAuthorityTransferRequest;
|
|
229
238
|
readonly response: CollabAuthorityTransferStatus;
|
|
230
239
|
};
|
|
240
|
+
readonly getAuthorityTransferReceiptVerifier: {
|
|
241
|
+
readonly request: GetAuthorityTransferReceiptVerifierRequest;
|
|
242
|
+
readonly response: CollabAuthorityTransferReceiptVerifier;
|
|
243
|
+
};
|
|
231
244
|
readonly rotateTransferredMembershipClaims: {
|
|
232
245
|
readonly request: RotateTransferredMembershipClaimsRequest;
|
|
233
246
|
readonly response: CollabTransferredMembershipClaimBatch;
|
|
@@ -64,6 +64,7 @@ exports.COLLAB_AUTHORITY_TRANSFER_OPERATIONS = Object.freeze([
|
|
|
64
64
|
'acceptLanToCloudTransferTarget',
|
|
65
65
|
'beginLanToCloudTransfer',
|
|
66
66
|
'getProjectAuthorityTransfer',
|
|
67
|
+
'getAuthorityTransferReceiptVerifier',
|
|
67
68
|
'rotateTransferredMembershipClaims',
|
|
68
69
|
'acknowledgeTransferredMembershipClaimBatch',
|
|
69
70
|
'getTransferredMembershipClaim',
|
|
@@ -627,6 +628,24 @@ function decodeGetProjectAuthorityTransfer(value) {
|
|
|
627
628
|
transferId: token(source, 'transferId'),
|
|
628
629
|
};
|
|
629
630
|
}
|
|
631
|
+
function decodeAuthorityTransferReceiptVerifier(value) {
|
|
632
|
+
const source = exactRecord(value, 'receiptVerifier', [
|
|
633
|
+
'projectId',
|
|
634
|
+
'receiptKeyId',
|
|
635
|
+
'receiptPublicKey',
|
|
636
|
+
'receiptPublicKeyEncoding',
|
|
637
|
+
'signatureAlgorithm',
|
|
638
|
+
'transferId',
|
|
639
|
+
]);
|
|
640
|
+
return {
|
|
641
|
+
projectId: token(source, 'projectId', CollabValidation_1.isCollabProjectId),
|
|
642
|
+
receiptKeyId: boundedString(source, 'receiptKeyId', 256),
|
|
643
|
+
receiptPublicKey: fixedBase64url(source, 'receiptPublicKey', 32),
|
|
644
|
+
receiptPublicKeyEncoding: literal(source, 'receiptPublicKeyEncoding', ['base64url-raw']),
|
|
645
|
+
signatureAlgorithm: literal(source, 'signatureAlgorithm', ['ed25519']),
|
|
646
|
+
transferId: token(source, 'transferId'),
|
|
647
|
+
};
|
|
648
|
+
}
|
|
630
649
|
function decodeRotateTransferredMembershipClaims(value) {
|
|
631
650
|
const source = exactRecord(value, 'request', [
|
|
632
651
|
'expectedBatchRevision',
|
|
@@ -820,6 +839,8 @@ function decodeCollabAuthorityTransferOperationRequest(operation, value) {
|
|
|
820
839
|
case 'acceptLanToCloudTransferTarget': return decodeAcceptLanToCloudTransferTarget(value);
|
|
821
840
|
case 'beginLanToCloudTransfer': return decodeBeginLanToCloudTransfer(value);
|
|
822
841
|
case 'getProjectAuthorityTransfer': return decodeGetProjectAuthorityTransfer(value);
|
|
842
|
+
case 'getAuthorityTransferReceiptVerifier':
|
|
843
|
+
return decodeGetProjectAuthorityTransfer(value);
|
|
823
844
|
case 'rotateTransferredMembershipClaims':
|
|
824
845
|
return decodeRotateTransferredMembershipClaims(value);
|
|
825
846
|
case 'acknowledgeTransferredMembershipClaimBatch':
|
|
@@ -869,6 +890,8 @@ function decodeCollabAuthorityTransferOperationResponse(operation, value) {
|
|
|
869
890
|
return decodeCollabTransferredMembershipRedemptionReceipt(value);
|
|
870
891
|
case 'acknowledgeTransferredMembershipClaimRedemption':
|
|
871
892
|
return decodeRedemptionAcknowledgement(value);
|
|
893
|
+
case 'getAuthorityTransferReceiptVerifier':
|
|
894
|
+
return decodeAuthorityTransferReceiptVerifier(value);
|
|
872
895
|
default:
|
|
873
896
|
return decodeCollabAuthorityTransferStatus(value);
|
|
874
897
|
}
|
|
@@ -27,6 +27,7 @@ export declare const COLLAB_CONTROL_OPERATION_CODECS: Readonly<{
|
|
|
27
27
|
readonly acceptLanToCloudTransferTarget: CollabControlOperationCodec<import("./CollabAuthorityTransfer").AcceptLanToCloudTransferTargetRequest, import("./CollabAuthorityTransfer").CollabAuthorityTransferStatus>;
|
|
28
28
|
readonly beginLanToCloudTransfer: CollabControlOperationCodec<import("./CollabAuthorityTransfer").BeginLanToCloudTransferRequest, import("./CollabAuthorityTransfer").CollabAuthorityTransferStatus>;
|
|
29
29
|
readonly getProjectAuthorityTransfer: CollabControlOperationCodec<import("./CollabAuthorityTransfer").GetProjectAuthorityTransferRequest, import("./CollabAuthorityTransfer").CollabAuthorityTransferStatus>;
|
|
30
|
+
readonly getAuthorityTransferReceiptVerifier: CollabControlOperationCodec<import("./CollabAuthorityTransfer").GetProjectAuthorityTransferRequest, import("./CollabAuthorityTransfer").CollabAuthorityTransferReceiptVerifier>;
|
|
30
31
|
readonly rotateTransferredMembershipClaims: CollabControlOperationCodec<import("./CollabAuthorityTransfer").RotateTransferredMembershipClaimsRequest, import("./CollabAuthorityTransfer").CollabTransferredMembershipClaimBatch>;
|
|
31
32
|
readonly acknowledgeTransferredMembershipClaimBatch: CollabControlOperationCodec<import("./CollabAuthorityTransfer").AcknowledgeTransferredMembershipClaimBatchRequest, import("./CollabAuthorityTransfer").CollabTransferredMembershipClaimCustodyReceipt>;
|
|
32
33
|
readonly getTransferredMembershipClaim: CollabControlOperationCodec<import("./CollabAuthorityTransfer").GetTransferredMembershipClaimRequest, import("./CollabAuthorityTransfer").CollabTransferredMembershipClaim>;
|
|
@@ -81,6 +81,7 @@ exports.COLLAB_CONTROL_OPERATION_CODECS = Object.freeze({
|
|
|
81
81
|
acceptLanToCloudTransferTarget: codec('acceptLanToCloudTransferTarget'),
|
|
82
82
|
beginLanToCloudTransfer: codec('beginLanToCloudTransfer'),
|
|
83
83
|
getProjectAuthorityTransfer: codec('getProjectAuthorityTransfer'),
|
|
84
|
+
getAuthorityTransferReceiptVerifier: codec('getAuthorityTransferReceiptVerifier'),
|
|
84
85
|
rotateTransferredMembershipClaims: codec('rotateTransferredMembershipClaims'),
|
|
85
86
|
acknowledgeTransferredMembershipClaimBatch: codec('acknowledgeTransferredMembershipClaimBatch'),
|
|
86
87
|
getTransferredMembershipClaim: codec('getTransferredMembershipClaim'),
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { COLLAB_LIMITS, COLLAB_MAIN_REF, COLLAB_MEMBER_REF_PREFIX, COLLAB_PROTOCOL_VERSION, } from './CollabConstants';
|
|
2
2
|
export type { CollabProtocolVersion } from './CollabConstants';
|
|
3
3
|
export { COLLAB_AUTHORITY_TRANSFER_CANCELLABLE_PHASES, COLLAB_AUTHORITY_TRANSFER_CANCELLATION_PHASES, COLLAB_AUTHORITY_TRANSFER_OPERATIONS, COLLAB_CLOUD_TO_LAN_TRANSFER_PHASES, COLLAB_LAN_TO_CLOUD_TRANSFER_PHASES, decodeCollabAuthorityRelinquishmentProof, decodeCollabAuthorityTransferOperationRequest, decodeCollabAuthorityTransferOperationResponse, decodeCollabAuthorityTransferProposal, decodeCollabAuthorityTransferStatus, decodeCollabTransferredMembershipClaim, decodeCollabTransferredMembershipClaimBatch, decodeCollabTransferredMembershipClaimCustodyReceipt, decodeCollabTransferredMembershipRedemptionReceipt, encodeCollabAuthorityRelinquishmentProofSigningInput, encodeCollabTransferredMembershipClaimBatchDigestInput, encodeCollabTransferredMembershipRedemptionReceiptSigningInput, } from './CollabAuthorityTransfer';
|
|
4
|
-
export type { AcceptCloudToLanTransferTargetRequest, AcceptLanToCloudTransferTargetRequest, AcknowledgeTransferredMembershipClaimBatchRequest, AcknowledgeTransferredMembershipClaimRedemptionRequest, BeginCloudToLanTransferRequest, BeginLanToCloudTransferRequest, CancelProjectAuthorityTransferRequest, ClaimTransferredMembershipRequest, CollabAuthorityRelinquishmentProof, CollabAuthorityRelinquishmentProofSigningPayload, CollabAuthorityTransferCancellablePhase, CollabAuthorityTransferCancellationPhase, CollabAuthorityTransferDirection, CollabAuthorityTransferOperation, CollabAuthorityTransferOperationMap, CollabAuthorityTransferProposal, CollabAuthorityTransferStatus, CollabCloudToLanTransferPhase, CollabLanToCloudTransferPhase, CollabTransferredMembershipClaim, CollabTransferredMembershipClaimBatch, CollabTransferredMembershipClaimCustodyReceipt, CollabTransferredMembershipClaimItem, CollabTransferredMembershipRedemptionAcknowledgement, CollabTransferredMembershipRedemptionReceipt, CollabTransferredMembershipRedemptionReceiptSigningPayload, CommitLanToCloudRelinquishmentRequest, ConfirmCloudToLanTargetActiveRequest, GetProjectAuthorityTransferRequest, GetTransferredMembershipClaimRequest, ReportCloudToLanTargetStagedRequest, RequestLanToCloudTransferRequest, RotateTransferredMembershipClaimsRequest, } from './CollabAuthorityTransfer';
|
|
4
|
+
export type { AcceptCloudToLanTransferTargetRequest, AcceptLanToCloudTransferTargetRequest, AcknowledgeTransferredMembershipClaimBatchRequest, AcknowledgeTransferredMembershipClaimRedemptionRequest, BeginCloudToLanTransferRequest, BeginLanToCloudTransferRequest, CancelProjectAuthorityTransferRequest, ClaimTransferredMembershipRequest, CollabAuthorityRelinquishmentProof, CollabAuthorityRelinquishmentProofSigningPayload, CollabAuthorityTransferCancellablePhase, CollabAuthorityTransferCancellationPhase, CollabAuthorityTransferDirection, CollabAuthorityTransferOperation, CollabAuthorityTransferOperationMap, CollabAuthorityTransferProposal, CollabAuthorityTransferReceiptVerifier, CollabAuthorityTransferStatus, CollabCloudToLanTransferPhase, CollabLanToCloudTransferPhase, CollabTransferredMembershipClaim, CollabTransferredMembershipClaimBatch, CollabTransferredMembershipClaimCustodyReceipt, CollabTransferredMembershipClaimItem, CollabTransferredMembershipRedemptionAcknowledgement, CollabTransferredMembershipRedemptionReceipt, CollabTransferredMembershipRedemptionReceiptSigningPayload, CommitLanToCloudRelinquishmentRequest, ConfirmCloudToLanTargetActiveRequest, GetProjectAuthorityTransferRequest, GetAuthorityTransferReceiptVerifierRequest, GetTransferredMembershipClaimRequest, ReportCloudToLanTargetStagedRequest, RequestLanToCloudTransferRequest, RotateTransferredMembershipClaimsRequest, } from './CollabAuthorityTransfer';
|
|
5
5
|
export { COLLAB_CHECKPOINT_ARTIFACT_LIMITS, COLLAB_CHECKPOINT_BACKUP_RECORD_KINDS, COLLAB_CHECKPOINT_PORTABLE_RECORD_KINDS, COLLAB_CHECKPOINT_PROFILES, COLLAB_PROJECT_CHECKPOINT_ARTIFACTS, COLLAB_PROJECT_CHECKPOINT_MANIFEST_SCHEMA_VERSION, COLLAB_PROJECT_COORDINATION_FORMAT_VERSION, COLLAB_PROTECTED_CLAIM_ENVELOPE_LIMITS, COLLAB_PROTECTED_CLAIM_ENVELOPE_VERSION, decodeCollabProjectCheckpointCoordinationNdjson, decodeCollabProjectCheckpointManifest, encodeCollabProjectCheckpointCoordinationNdjson, encodeCollabProjectCheckpointManifestCanonicalJson, encodeCollabProjectCheckpointManifestDigestInput, encodeCollabProtectedClaimAssociatedData, validateCollabProjectCheckpointConsistency, } from './CollabProjectCheckpoint';
|
|
6
6
|
export type { CollabCheckpointArtifactFact, CollabCheckpointAuthorityVolumePairRecord, CollabCheckpointAuthority, CollabCheckpointAuthorityKind, CollabCheckpointBackupRecord, CollabCheckpointBackupRecordKind, CollabCheckpointCloudEventCursorRecord, CollabCheckpointCloudEventRecord, CollabCheckpointGitRef, CollabCheckpointIdempotencyResultRecord, CollabCheckpointLifecycleStateRecord, CollabCheckpointMemberRecord, CollabCheckpointObjectFormat, CollabCheckpointPortableRecord, CollabCheckpointPortableRecordKind, CollabCheckpointProfile, CollabCheckpointPrincipalBindingRecord, CollabCheckpointProjectRecord, CollabCheckpointProtectedClaimEnvelopeRecord, CollabCheckpointRepositoryPlacementRecord, CollabCheckpointRequestCommentRecord, CollabCheckpointRequestRecord, CollabCheckpointTicketCommentRecord, CollabCheckpointTicketMentionRecord, CollabCheckpointTicketRecord, CollabCheckpointTicketRelationRecord, CollabCheckpointSchemaCatalogRecord, CollabCheckpointServerCompatibilityRecord, CollabCheckpointTerminalResponderRecord, CollabCheckpointTerminalAcknowledgement, CollabCheckpointTombstoneRecord, CollabProjectCheckpointManifest, CollabProtectedClaimAssociatedData, } from './CollabProjectCheckpoint';
|
|
7
7
|
export { COLLAB_PROJECT_RETIREMENT_OPERATIONS, COLLAB_PROJECT_RETIREMENT_RESULT_KINDS, decodeCollabProjectRetirementAcknowledgement, decodeCollabProjectRetirementOperationRequest, decodeCollabProjectRetirementOperationResponse, decodeCollabProjectRetirementRequest, decodeCollabProjectRetirementResult, } from './CollabProjectRetirement';
|