102 lines
3.8 KiB
Go
102 lines
3.8 KiB
Go
package protocol
|
|
|
|
import "time"
|
|
|
|
type ArtifactMetadata struct {
|
|
ID string `json:"id"`
|
|
OwnerKind string `json:"ownerKind"`
|
|
OwnerID string `json:"ownerId"`
|
|
SizeBytes int64 `json:"sizeBytes"`
|
|
Checksum string `json:"checksum"`
|
|
State string `json:"state"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|
|
|
|
type ArtifactTransferOpenRequest struct {
|
|
RunEndpointID string `json:"runEndpointId"`
|
|
SessionToken string `json:"sessionToken"`
|
|
ArtifactID string `json:"artifactId"`
|
|
Direction string `json:"direction"`
|
|
OwnerKind string `json:"ownerKind"`
|
|
OwnerID string `json:"ownerId"`
|
|
SizeBytes int64 `json:"sizeBytes"`
|
|
ChunkSizeBytes int `json:"chunkSizeBytes"`
|
|
Checksum string `json:"checksum"`
|
|
IdempotencyKey string `json:"idempotencyKey"`
|
|
}
|
|
|
|
type ArtifactTransferOpenResponse struct {
|
|
Accepted bool `json:"accepted"`
|
|
TransferID string `json:"transferId"`
|
|
Direction string `json:"direction"`
|
|
Artifact ArtifactMetadata `json:"artifact"`
|
|
TotalChunks int `json:"totalChunks"`
|
|
ChunkSizeBytes int `json:"chunkSizeBytes"`
|
|
ReceivedChunkIndexes []int `json:"receivedChunkIndexes"`
|
|
NextMissingChunkIndex int `json:"nextMissingChunkIndex"`
|
|
Completed bool `json:"completed"`
|
|
Duplicate bool `json:"duplicate"`
|
|
ServerTime time.Time `json:"serverTime"`
|
|
}
|
|
|
|
type ArtifactChunkUploadRequest struct {
|
|
RunEndpointID string `json:"runEndpointId"`
|
|
SessionToken string `json:"sessionToken"`
|
|
TransferID string `json:"transferId"`
|
|
ArtifactID string `json:"artifactId"`
|
|
ChunkIndex int `json:"chunkIndex"`
|
|
Offset int64 `json:"offset"`
|
|
SizeBytes int `json:"sizeBytes"`
|
|
Checksum string `json:"checksum"`
|
|
Payload []byte `json:"payload"`
|
|
}
|
|
|
|
type ArtifactChunkUploadResponse struct {
|
|
Accepted bool `json:"accepted"`
|
|
TransferID string `json:"transferId"`
|
|
ArtifactID string `json:"artifactId"`
|
|
ChunkIndex int `json:"chunkIndex"`
|
|
ReceivedChunkIndexes []int `json:"receivedChunkIndexes"`
|
|
NextMissingChunkIndex int `json:"nextMissingChunkIndex"`
|
|
Duplicate bool `json:"duplicate"`
|
|
ServerTime time.Time `json:"serverTime"`
|
|
}
|
|
|
|
type ArtifactTransferStatusRequest struct {
|
|
RunEndpointID string `json:"runEndpointId"`
|
|
SessionToken string `json:"sessionToken"`
|
|
TransferID string `json:"transferId"`
|
|
ArtifactID string `json:"artifactId"`
|
|
}
|
|
|
|
type ArtifactTransferStatusResponse struct {
|
|
Accepted bool `json:"accepted"`
|
|
TransferID string `json:"transferId"`
|
|
ArtifactID string `json:"artifactId"`
|
|
Direction string `json:"direction"`
|
|
TotalChunks int `json:"totalChunks"`
|
|
ChunkSizeBytes int `json:"chunkSizeBytes"`
|
|
ReceivedChunkIndexes []int `json:"receivedChunkIndexes"`
|
|
NextMissingChunkIndex int `json:"nextMissingChunkIndex"`
|
|
Completed bool `json:"completed"`
|
|
ServerTime time.Time `json:"serverTime"`
|
|
}
|
|
|
|
type ArtifactTransferCompleteRequest struct {
|
|
RunEndpointID string `json:"runEndpointId"`
|
|
SessionToken string `json:"sessionToken"`
|
|
TransferID string `json:"transferId"`
|
|
ArtifactID string `json:"artifactId"`
|
|
Checksum string `json:"checksum"`
|
|
SizeBytes int64 `json:"sizeBytes"`
|
|
}
|
|
|
|
type ArtifactTransferCompleteResponse struct {
|
|
Accepted bool `json:"accepted"`
|
|
TransferID string `json:"transferId"`
|
|
Artifact ArtifactMetadata `json:"artifact"`
|
|
Completed bool `json:"completed"`
|
|
ServerTime time.Time `json:"serverTime"`
|
|
}
|