diff --git a/.quixos-subtree-source.json b/.quixos-subtree-source.json index ad5cd4c..b3576a9 100644 --- a/.quixos-subtree-source.json +++ b/.quixos-subtree-source.json @@ -1,7 +1,7 @@ { "version": 1, "sourceRepo": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos.git", - "sourceCommit": "398fd9e0d723c3fe7a511c2c35702874fd7342d0", + "sourceCommit": "9472ad0a8e16927025594c294abc44cdfb30596b", "sourcePath": "quixos-protocol", "exportName": "quixos-protocol", "mirrorRemote": "https://gitea-external.egads.tutti.syntaxblitz.net/quixos/quixos-protocol.git" diff --git a/proto/camino/api.proto b/proto/camino/api.proto index de2d3b0..ea85155 100644 --- a/proto/camino/api.proto +++ b/proto/camino/api.proto @@ -58,6 +58,19 @@ message CrdtValue { bytes payload = 3; } +message FieldValueSource { + string object_id = 1; + string field_name = 2; + string field_type = 3; + string field_storage = 4; + string conflict_strategy = 5; + uint64 revision = 6; +} + +message ValueSource { + FieldValueSource field = 1; +} + message Value { oneof kind { NullValue null_value = 1; @@ -71,6 +84,7 @@ message Value { RefValue ref_value = 9; CrdtValue crdt_value = 10; } + ValueSource source = 11; } message CreateObjectRequest { @@ -94,6 +108,7 @@ message SetFieldRequest { string object_id = 1; string field_name = 2; Value value = 3; + string client_mutation_id = 4; } message SetFieldResponse { @@ -181,4 +196,5 @@ message CaminoOp { string actor = 5; quixos.FunctionRef function_ref = 6; string created_at = 7; + string client_mutation_id = 8; } diff --git a/src/gen/camino/api_pb.ts b/src/gen/camino/api_pb.ts index ef23474..1b16be0 100644 --- a/src/gen/camino/api_pb.ts +++ b/src/gen/camino/api_pb.ts @@ -14,7 +14,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file camino/api.proto. */ export const file_camino_api: GenFile = /*@__PURE__*/ - fileDesc("ChBjYW1pbm8vYXBpLnByb3RvEgZjYW1pbm8iLAoVUmVnaXN0ZXJTY2hlbWFSZXF1ZXN0EhMKC3NvdXJjZV9maWxlGAEgASgJIlEKFlJlZ2lzdGVyU2NoZW1hUmVzcG9uc2USEQoJY2xhc3NfaWRzGAEgAygJEiQKB2NsYXNzZXMYAiADKAsyEy5jYW1pbm8uQ2xhc3NTY2hlbWEiFAoSTGlzdENsYXNzZXNSZXF1ZXN0IkIKD1JlZ2lzdGVyZWRDbGFzcxIKCgJpZBgBIAEoCRIjCgZzY2hlbWEYAiABKAsyEy5jYW1pbm8uQ2xhc3NTY2hlbWEiPwoTTGlzdENsYXNzZXNSZXNwb25zZRIoCgdjbGFzc2VzGAEgAygLMhcuY2FtaW5vLlJlZ2lzdGVyZWRDbGFzcyILCglOdWxsVmFsdWUifAoLT2JqZWN0VmFsdWUSLwoGZmllbGRzGAEgAygLMh8uY2FtaW5vLk9iamVjdFZhbHVlLkZpZWxkc0VudHJ5GjwKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIcCgV2YWx1ZRgCIAEoCzINLmNhbWluby5WYWx1ZToCOAEiKgoJTGlzdFZhbHVlEh0KBnZhbHVlcxgBIAMoCzINLmNhbWluby5WYWx1ZSIdCghSZWZWYWx1ZRIRCglvYmplY3RfaWQYASABKAkiPAoJQ3JkdFZhbHVlEgwKBHR5cGUYASABKAkSEAoIZW5jb2RpbmcYAiABKAkSDwoHcGF5bG9hZBgDIAEoDCLUAgoFVmFsdWUSJwoKbnVsbF92YWx1ZRgBIAEoCzIRLmNhbWluby5OdWxsVmFsdWVIABIUCgpib29sX3ZhbHVlGAIgASgISAASFgoMbnVtYmVyX3ZhbHVlGAMgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAQgASgJSAASFwoNaW50ZWdlcl92YWx1ZRgFIAEoCUgAEhUKC2J5dGVzX3ZhbHVlGAYgASgMSAASKwoMb2JqZWN0X3ZhbHVlGAcgASgLMhMuY2FtaW5vLk9iamVjdFZhbHVlSAASJwoKbGlzdF92YWx1ZRgIIAEoCzIRLmNhbWluby5MaXN0VmFsdWVIABIlCglyZWZfdmFsdWUYCSABKAsyEC5jYW1pbm8uUmVmVmFsdWVIABInCgpjcmR0X3ZhbHVlGAogASgLMhEuY2FtaW5vLkNyZHRWYWx1ZUgAQgYKBGtpbmQingEKE0NyZWF0ZU9iamVjdFJlcXVlc3QSEAoIY2xhc3NfaWQYASABKAkSNwoGZmllbGRzGAIgAygLMicuY2FtaW5vLkNyZWF0ZU9iamVjdFJlcXVlc3QuRmllbGRzRW50cnkaPAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEhwKBXZhbHVlGAIgASgLMg0uY2FtaW5vLlZhbHVlOgI4ASI8ChRDcmVhdGVPYmplY3RSZXNwb25zZRIkCgZvYmplY3QYASABKAsyFC5jYW1pbm8uQ2FtaW5vT2JqZWN0IiUKEEdldE9iamVjdFJlcXVlc3QSEQoJb2JqZWN0X2lkGAEgASgJIjkKEUdldE9iamVjdFJlc3BvbnNlEiQKBm9iamVjdBgBIAEoCzIULmNhbWluby5DYW1pbm9PYmplY3QiVgoPU2V0RmllbGRSZXF1ZXN0EhEKCW9iamVjdF9pZBgBIAEoCRISCgpmaWVsZF9uYW1lGAIgASgJEhwKBXZhbHVlGAMgASgLMg0uY2FtaW5vLlZhbHVlIjgKEFNldEZpZWxkUmVzcG9uc2USJAoGb2JqZWN0GAEgASgLMhQuY2FtaW5vLkNhbWlub09iamVjdCLoAQoOQWRkRWRnZVJlcXVlc3QSFgoOZnJvbV9vYmplY3RfaWQYASABKAkSFAoMc291cmNlX2ZpZWxkGAIgASgJEhQKDHRvX29iamVjdF9pZBgDIAEoCRIyCgZmaWVsZHMYBCADKAsyIi5jYW1pbm8uQWRkRWRnZVJlcXVlc3QuRmllbGRzRW50cnkSFAoHb3JkaW5hbBgFIAEoBUgAiAEBGjwKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIcCgV2YWx1ZRgCIAEoCzINLmNhbWluby5WYWx1ZToCOAFCCgoIX29yZGluYWwiMwoPQWRkRWRnZVJlc3BvbnNlEiAKBGVkZ2UYASABKAsyEi5jYW1pbm8uQ2FtaW5vRWRnZSIlChBMaXN0RWRnZXNSZXF1ZXN0EhEKCW9iamVjdF9pZBgBIAEoCSI2ChFMaXN0RWRnZXNSZXNwb25zZRIhCgVlZGdlcxgBIAMoCzISLmNhbWluby5DYW1pbm9FZGdlIiQKEVJlbW92ZUVkZ2VSZXF1ZXN0Eg8KB2VkZ2VfaWQYASABKAkiJQoSUmVtb3ZlRWRnZVJlc3BvbnNlEg8KB2VkZ2VfaWQYASABKAkiIwoOTGlzdE9wc1JlcXVlc3QSEQoJb2JqZWN0X2lkGAEgASgJIjAKD0xpc3RPcHNSZXNwb25zZRIdCgNvcHMYASADKAsyEC5jYW1pbm8uQ2FtaW5vT3AiVgoSV2F0Y2hPYmplY3RSZXF1ZXN0EhEKCW9iamVjdF9pZBgBIAEoCRITCgthZnRlcl9vcF9pZBgCIAEoCRIYChBpbmNsdWRlX3NuYXBzaG90GAMgASgIImsKEFdhdGNoT2JqZWN0RXZlbnQSEQoJb2JqZWN0X2lkGAEgASgJEiYKCHNuYXBzaG90GAIgASgLMhQuY2FtaW5vLkNhbWlub09iamVjdBIcCgJvcBgDIAEoCzIQLmNhbWluby5DYW1pbm9PcCLQAwoMQ2FtaW5vT2JqZWN0EgoKAmlkGAEgASgJEhAKCGNsYXNzX2lkGAIgASgJEhYKDnNjaGVtYV92ZXJzaW9uGAMgASgNEhIKCmNyZWF0ZWRfYXQYBCABKAkSEgoKdXBkYXRlZF9hdBgFIAEoCRIwCgZmaWVsZHMYBiADKAsyIC5jYW1pbm8uQ2FtaW5vT2JqZWN0LkZpZWxkc0VudHJ5EkEKD2ZpZWxkX3JldmlzaW9ucxgHIAMoCzIoLmNhbWluby5DYW1pbm9PYmplY3QuRmllbGRSZXZpc2lvbnNFbnRyeRJBCg9maWVsZF9jb25mbGljdHMYCCADKAsyKC5jYW1pbm8uQ2FtaW5vT2JqZWN0LkZpZWxkQ29uZmxpY3RzRW50cnkaPAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEhwKBXZhbHVlGAIgASgLMg0uY2FtaW5vLlZhbHVlOgI4ARo1ChNGaWVsZFJldmlzaW9uc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoBDoCOAEaNQoTRmllbGRDb25mbGljdHNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBItACCgpDYW1pbm9FZGdlEgoKAmlkGAEgASgJEhQKDGVkZ2VfdHlwZV9pZBgCIAEoCRIWCg5mcm9tX29iamVjdF9pZBgDIAEoCRIUCgx0b19vYmplY3RfaWQYBCABKAkSFAoMc291cmNlX2ZpZWxkGAUgASgJEhMKC2NhcmRpbmFsaXR5GAYgASgJEg8KB2ludmVyc2UYByABKAkSLgoGZmllbGRzGAggAygLMh4uY2FtaW5vLkNhbWlub0VkZ2UuRmllbGRzRW50cnkSFAoHb3JkaW5hbBgJIAEoBUgAiAEBEhIKCmNyZWF0ZWRfYXQYCiABKAkSEgoKdXBkYXRlZF9hdBgLIAEoCRo8CgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSHAoFdmFsdWUYAiABKAsyDS5jYW1pbm8uVmFsdWU6AjgBQgoKCF9vcmRpbmFsIqgBCghDYW1pbm9PcBIKCgJpZBgBIAEoCRIRCglvYmplY3RfaWQYAiABKAkSDwoHb3Bfa2luZBgDIAEoCRIeCgdwYXlsb2FkGAQgASgLMg0uY2FtaW5vLlZhbHVlEg0KBWFjdG9yGAUgASgJEikKDGZ1bmN0aW9uX3JlZhgGIAEoCzITLnF1aXhvcy5GdW5jdGlvblJlZhISCgpjcmVhdGVkX2F0GAcgASgJMroFCg1DYW1pbm9TZXJ2aWNlEk8KDlJlZ2lzdGVyU2NoZW1hEh0uY2FtaW5vLlJlZ2lzdGVyU2NoZW1hUmVxdWVzdBoeLmNhbWluby5SZWdpc3RlclNjaGVtYVJlc3BvbnNlEkYKC0xpc3RDbGFzc2VzEhouY2FtaW5vLkxpc3RDbGFzc2VzUmVxdWVzdBobLmNhbWluby5MaXN0Q2xhc3Nlc1Jlc3BvbnNlEkkKDENyZWF0ZU9iamVjdBIbLmNhbWluby5DcmVhdGVPYmplY3RSZXF1ZXN0GhwuY2FtaW5vLkNyZWF0ZU9iamVjdFJlc3BvbnNlEkAKCUdldE9iamVjdBIYLmNhbWluby5HZXRPYmplY3RSZXF1ZXN0GhkuY2FtaW5vLkdldE9iamVjdFJlc3BvbnNlEj0KCFNldEZpZWxkEhcuY2FtaW5vLlNldEZpZWxkUmVxdWVzdBoYLmNhbWluby5TZXRGaWVsZFJlc3BvbnNlEjoKB0FkZEVkZ2USFi5jYW1pbm8uQWRkRWRnZVJlcXVlc3QaFy5jYW1pbm8uQWRkRWRnZVJlc3BvbnNlEkAKCUxpc3RFZGdlcxIYLmNhbWluby5MaXN0RWRnZXNSZXF1ZXN0GhkuY2FtaW5vLkxpc3RFZGdlc1Jlc3BvbnNlEkMKClJlbW92ZUVkZ2USGS5jYW1pbm8uUmVtb3ZlRWRnZVJlcXVlc3QaGi5jYW1pbm8uUmVtb3ZlRWRnZVJlc3BvbnNlEjoKB0xpc3RPcHMSFi5jYW1pbm8uTGlzdE9wc1JlcXVlc3QaFy5jYW1pbm8uTGlzdE9wc1Jlc3BvbnNlEkUKC1dhdGNoT2JqZWN0EhouY2FtaW5vLldhdGNoT2JqZWN0UmVxdWVzdBoYLmNhbWluby5XYXRjaE9iamVjdEV2ZW50MAFiBnByb3RvMw", [file_camino_schema, file_quixos_refs]); + fileDesc("ChBjYW1pbm8vYXBpLnByb3RvEgZjYW1pbm8iLAoVUmVnaXN0ZXJTY2hlbWFSZXF1ZXN0EhMKC3NvdXJjZV9maWxlGAEgASgJIlEKFlJlZ2lzdGVyU2NoZW1hUmVzcG9uc2USEQoJY2xhc3NfaWRzGAEgAygJEiQKB2NsYXNzZXMYAiADKAsyEy5jYW1pbm8uQ2xhc3NTY2hlbWEiFAoSTGlzdENsYXNzZXNSZXF1ZXN0IkIKD1JlZ2lzdGVyZWRDbGFzcxIKCgJpZBgBIAEoCRIjCgZzY2hlbWEYAiABKAsyEy5jYW1pbm8uQ2xhc3NTY2hlbWEiPwoTTGlzdENsYXNzZXNSZXNwb25zZRIoCgdjbGFzc2VzGAEgAygLMhcuY2FtaW5vLlJlZ2lzdGVyZWRDbGFzcyILCglOdWxsVmFsdWUifAoLT2JqZWN0VmFsdWUSLwoGZmllbGRzGAEgAygLMh8uY2FtaW5vLk9iamVjdFZhbHVlLkZpZWxkc0VudHJ5GjwKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIcCgV2YWx1ZRgCIAEoCzINLmNhbWluby5WYWx1ZToCOAEiKgoJTGlzdFZhbHVlEh0KBnZhbHVlcxgBIAMoCzINLmNhbWluby5WYWx1ZSIdCghSZWZWYWx1ZRIRCglvYmplY3RfaWQYASABKAkiPAoJQ3JkdFZhbHVlEgwKBHR5cGUYASABKAkSEAoIZW5jb2RpbmcYAiABKAkSDwoHcGF5bG9hZBgDIAEoDCKRAQoQRmllbGRWYWx1ZVNvdXJjZRIRCglvYmplY3RfaWQYASABKAkSEgoKZmllbGRfbmFtZRgCIAEoCRISCgpmaWVsZF90eXBlGAMgASgJEhUKDWZpZWxkX3N0b3JhZ2UYBCABKAkSGQoRY29uZmxpY3Rfc3RyYXRlZ3kYBSABKAkSEAoIcmV2aXNpb24YBiABKAQiNgoLVmFsdWVTb3VyY2USJwoFZmllbGQYASABKAsyGC5jYW1pbm8uRmllbGRWYWx1ZVNvdXJjZSL5AgoFVmFsdWUSJwoKbnVsbF92YWx1ZRgBIAEoCzIRLmNhbWluby5OdWxsVmFsdWVIABIUCgpib29sX3ZhbHVlGAIgASgISAASFgoMbnVtYmVyX3ZhbHVlGAMgASgBSAASFgoMc3RyaW5nX3ZhbHVlGAQgASgJSAASFwoNaW50ZWdlcl92YWx1ZRgFIAEoCUgAEhUKC2J5dGVzX3ZhbHVlGAYgASgMSAASKwoMb2JqZWN0X3ZhbHVlGAcgASgLMhMuY2FtaW5vLk9iamVjdFZhbHVlSAASJwoKbGlzdF92YWx1ZRgIIAEoCzIRLmNhbWluby5MaXN0VmFsdWVIABIlCglyZWZfdmFsdWUYCSABKAsyEC5jYW1pbm8uUmVmVmFsdWVIABInCgpjcmR0X3ZhbHVlGAogASgLMhEuY2FtaW5vLkNyZHRWYWx1ZUgAEiMKBnNvdXJjZRgLIAEoCzITLmNhbWluby5WYWx1ZVNvdXJjZUIGCgRraW5kIp4BChNDcmVhdGVPYmplY3RSZXF1ZXN0EhAKCGNsYXNzX2lkGAEgASgJEjcKBmZpZWxkcxgCIAMoCzInLmNhbWluby5DcmVhdGVPYmplY3RSZXF1ZXN0LkZpZWxkc0VudHJ5GjwKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIcCgV2YWx1ZRgCIAEoCzINLmNhbWluby5WYWx1ZToCOAEiPAoUQ3JlYXRlT2JqZWN0UmVzcG9uc2USJAoGb2JqZWN0GAEgASgLMhQuY2FtaW5vLkNhbWlub09iamVjdCIlChBHZXRPYmplY3RSZXF1ZXN0EhEKCW9iamVjdF9pZBgBIAEoCSI5ChFHZXRPYmplY3RSZXNwb25zZRIkCgZvYmplY3QYASABKAsyFC5jYW1pbm8uQ2FtaW5vT2JqZWN0InIKD1NldEZpZWxkUmVxdWVzdBIRCglvYmplY3RfaWQYASABKAkSEgoKZmllbGRfbmFtZRgCIAEoCRIcCgV2YWx1ZRgDIAEoCzINLmNhbWluby5WYWx1ZRIaChJjbGllbnRfbXV0YXRpb25faWQYBCABKAkiOAoQU2V0RmllbGRSZXNwb25zZRIkCgZvYmplY3QYASABKAsyFC5jYW1pbm8uQ2FtaW5vT2JqZWN0IugBCg5BZGRFZGdlUmVxdWVzdBIWCg5mcm9tX29iamVjdF9pZBgBIAEoCRIUCgxzb3VyY2VfZmllbGQYAiABKAkSFAoMdG9fb2JqZWN0X2lkGAMgASgJEjIKBmZpZWxkcxgEIAMoCzIiLmNhbWluby5BZGRFZGdlUmVxdWVzdC5GaWVsZHNFbnRyeRIUCgdvcmRpbmFsGAUgASgFSACIAQEaPAoLRmllbGRzRW50cnkSCwoDa2V5GAEgASgJEhwKBXZhbHVlGAIgASgLMg0uY2FtaW5vLlZhbHVlOgI4AUIKCghfb3JkaW5hbCIzCg9BZGRFZGdlUmVzcG9uc2USIAoEZWRnZRgBIAEoCzISLmNhbWluby5DYW1pbm9FZGdlIiUKEExpc3RFZGdlc1JlcXVlc3QSEQoJb2JqZWN0X2lkGAEgASgJIjYKEUxpc3RFZGdlc1Jlc3BvbnNlEiEKBWVkZ2VzGAEgAygLMhIuY2FtaW5vLkNhbWlub0VkZ2UiJAoRUmVtb3ZlRWRnZVJlcXVlc3QSDwoHZWRnZV9pZBgBIAEoCSIlChJSZW1vdmVFZGdlUmVzcG9uc2USDwoHZWRnZV9pZBgBIAEoCSIjCg5MaXN0T3BzUmVxdWVzdBIRCglvYmplY3RfaWQYASABKAkiMAoPTGlzdE9wc1Jlc3BvbnNlEh0KA29wcxgBIAMoCzIQLmNhbWluby5DYW1pbm9PcCJWChJXYXRjaE9iamVjdFJlcXVlc3QSEQoJb2JqZWN0X2lkGAEgASgJEhMKC2FmdGVyX29wX2lkGAIgASgJEhgKEGluY2x1ZGVfc25hcHNob3QYAyABKAgiawoQV2F0Y2hPYmplY3RFdmVudBIRCglvYmplY3RfaWQYASABKAkSJgoIc25hcHNob3QYAiABKAsyFC5jYW1pbm8uQ2FtaW5vT2JqZWN0EhwKAm9wGAMgASgLMhAuY2FtaW5vLkNhbWlub09wItADCgxDYW1pbm9PYmplY3QSCgoCaWQYASABKAkSEAoIY2xhc3NfaWQYAiABKAkSFgoOc2NoZW1hX3ZlcnNpb24YAyABKA0SEgoKY3JlYXRlZF9hdBgEIAEoCRISCgp1cGRhdGVkX2F0GAUgASgJEjAKBmZpZWxkcxgGIAMoCzIgLmNhbWluby5DYW1pbm9PYmplY3QuRmllbGRzRW50cnkSQQoPZmllbGRfcmV2aXNpb25zGAcgAygLMiguY2FtaW5vLkNhbWlub09iamVjdC5GaWVsZFJldmlzaW9uc0VudHJ5EkEKD2ZpZWxkX2NvbmZsaWN0cxgIIAMoCzIoLmNhbWluby5DYW1pbm9PYmplY3QuRmllbGRDb25mbGljdHNFbnRyeRo8CgtGaWVsZHNFbnRyeRILCgNrZXkYASABKAkSHAoFdmFsdWUYAiABKAsyDS5jYW1pbm8uVmFsdWU6AjgBGjUKE0ZpZWxkUmV2aXNpb25zRW50cnkSCwoDa2V5GAEgASgJEg0KBXZhbHVlGAIgASgEOgI4ARo1ChNGaWVsZENvbmZsaWN0c0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEi0AIKCkNhbWlub0VkZ2USCgoCaWQYASABKAkSFAoMZWRnZV90eXBlX2lkGAIgASgJEhYKDmZyb21fb2JqZWN0X2lkGAMgASgJEhQKDHRvX29iamVjdF9pZBgEIAEoCRIUCgxzb3VyY2VfZmllbGQYBSABKAkSEwoLY2FyZGluYWxpdHkYBiABKAkSDwoHaW52ZXJzZRgHIAEoCRIuCgZmaWVsZHMYCCADKAsyHi5jYW1pbm8uQ2FtaW5vRWRnZS5GaWVsZHNFbnRyeRIUCgdvcmRpbmFsGAkgASgFSACIAQESEgoKY3JlYXRlZF9hdBgKIAEoCRISCgp1cGRhdGVkX2F0GAsgASgJGjwKC0ZpZWxkc0VudHJ5EgsKA2tleRgBIAEoCRIcCgV2YWx1ZRgCIAEoCzINLmNhbWluby5WYWx1ZToCOAFCCgoIX29yZGluYWwixAEKCENhbWlub09wEgoKAmlkGAEgASgJEhEKCW9iamVjdF9pZBgCIAEoCRIPCgdvcF9raW5kGAMgASgJEh4KB3BheWxvYWQYBCABKAsyDS5jYW1pbm8uVmFsdWUSDQoFYWN0b3IYBSABKAkSKQoMZnVuY3Rpb25fcmVmGAYgASgLMhMucXVpeG9zLkZ1bmN0aW9uUmVmEhIKCmNyZWF0ZWRfYXQYByABKAkSGgoSY2xpZW50X211dGF0aW9uX2lkGAggASgJMroFCg1DYW1pbm9TZXJ2aWNlEk8KDlJlZ2lzdGVyU2NoZW1hEh0uY2FtaW5vLlJlZ2lzdGVyU2NoZW1hUmVxdWVzdBoeLmNhbWluby5SZWdpc3RlclNjaGVtYVJlc3BvbnNlEkYKC0xpc3RDbGFzc2VzEhouY2FtaW5vLkxpc3RDbGFzc2VzUmVxdWVzdBobLmNhbWluby5MaXN0Q2xhc3Nlc1Jlc3BvbnNlEkkKDENyZWF0ZU9iamVjdBIbLmNhbWluby5DcmVhdGVPYmplY3RSZXF1ZXN0GhwuY2FtaW5vLkNyZWF0ZU9iamVjdFJlc3BvbnNlEkAKCUdldE9iamVjdBIYLmNhbWluby5HZXRPYmplY3RSZXF1ZXN0GhkuY2FtaW5vLkdldE9iamVjdFJlc3BvbnNlEj0KCFNldEZpZWxkEhcuY2FtaW5vLlNldEZpZWxkUmVxdWVzdBoYLmNhbWluby5TZXRGaWVsZFJlc3BvbnNlEjoKB0FkZEVkZ2USFi5jYW1pbm8uQWRkRWRnZVJlcXVlc3QaFy5jYW1pbm8uQWRkRWRnZVJlc3BvbnNlEkAKCUxpc3RFZGdlcxIYLmNhbWluby5MaXN0RWRnZXNSZXF1ZXN0GhkuY2FtaW5vLkxpc3RFZGdlc1Jlc3BvbnNlEkMKClJlbW92ZUVkZ2USGS5jYW1pbm8uUmVtb3ZlRWRnZVJlcXVlc3QaGi5jYW1pbm8uUmVtb3ZlRWRnZVJlc3BvbnNlEjoKB0xpc3RPcHMSFi5jYW1pbm8uTGlzdE9wc1JlcXVlc3QaFy5jYW1pbm8uTGlzdE9wc1Jlc3BvbnNlEkUKC1dhdGNoT2JqZWN0EhouY2FtaW5vLldhdGNoT2JqZWN0UmVxdWVzdBoYLmNhbWluby5XYXRjaE9iamVjdEV2ZW50MAFiBnByb3RvMw", [file_camino_schema, file_quixos_refs]); /** * @generated from message camino.RegisterSchemaRequest @@ -198,6 +198,65 @@ export type CrdtValue = Message<"camino.CrdtValue"> & { export const CrdtValueSchema: GenMessage = /*@__PURE__*/ messageDesc(file_camino_api, 9); +/** + * @generated from message camino.FieldValueSource + */ +export type FieldValueSource = Message<"camino.FieldValueSource"> & { + /** + * @generated from field: string object_id = 1; + */ + objectId: string; + + /** + * @generated from field: string field_name = 2; + */ + fieldName: string; + + /** + * @generated from field: string field_type = 3; + */ + fieldType: string; + + /** + * @generated from field: string field_storage = 4; + */ + fieldStorage: string; + + /** + * @generated from field: string conflict_strategy = 5; + */ + conflictStrategy: string; + + /** + * @generated from field: uint64 revision = 6; + */ + revision: bigint; +}; + +/** + * Describes the message camino.FieldValueSource. + * Use `create(FieldValueSourceSchema)` to create a new message. + */ +export const FieldValueSourceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_camino_api, 10); + +/** + * @generated from message camino.ValueSource + */ +export type ValueSource = Message<"camino.ValueSource"> & { + /** + * @generated from field: camino.FieldValueSource field = 1; + */ + field?: FieldValueSource | undefined; +}; + +/** + * Describes the message camino.ValueSource. + * Use `create(ValueSourceSchema)` to create a new message. + */ +export const ValueSourceSchema: GenMessage = /*@__PURE__*/ + messageDesc(file_camino_api, 11); + /** * @generated from message camino.Value */ @@ -266,6 +325,11 @@ export type Value = Message<"camino.Value"> & { value: CrdtValue; case: "crdtValue"; } | { case: undefined; value?: undefined }; + + /** + * @generated from field: camino.ValueSource source = 11; + */ + source?: ValueSource | undefined; }; /** @@ -273,7 +337,7 @@ export type Value = Message<"camino.Value"> & { * Use `create(ValueSchema)` to create a new message. */ export const ValueSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 10); + messageDesc(file_camino_api, 12); /** * @generated from message camino.CreateObjectRequest @@ -295,7 +359,7 @@ export type CreateObjectRequest = Message<"camino.CreateObjectRequest"> & { * Use `create(CreateObjectRequestSchema)` to create a new message. */ export const CreateObjectRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 11); + messageDesc(file_camino_api, 13); /** * @generated from message camino.CreateObjectResponse @@ -312,7 +376,7 @@ export type CreateObjectResponse = Message<"camino.CreateObjectResponse"> & { * Use `create(CreateObjectResponseSchema)` to create a new message. */ export const CreateObjectResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 12); + messageDesc(file_camino_api, 14); /** * @generated from message camino.GetObjectRequest @@ -329,7 +393,7 @@ export type GetObjectRequest = Message<"camino.GetObjectRequest"> & { * Use `create(GetObjectRequestSchema)` to create a new message. */ export const GetObjectRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 13); + messageDesc(file_camino_api, 15); /** * @generated from message camino.GetObjectResponse @@ -346,7 +410,7 @@ export type GetObjectResponse = Message<"camino.GetObjectResponse"> & { * Use `create(GetObjectResponseSchema)` to create a new message. */ export const GetObjectResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 14); + messageDesc(file_camino_api, 16); /** * @generated from message camino.SetFieldRequest @@ -366,6 +430,11 @@ export type SetFieldRequest = Message<"camino.SetFieldRequest"> & { * @generated from field: camino.Value value = 3; */ value?: Value | undefined; + + /** + * @generated from field: string client_mutation_id = 4; + */ + clientMutationId: string; }; /** @@ -373,7 +442,7 @@ export type SetFieldRequest = Message<"camino.SetFieldRequest"> & { * Use `create(SetFieldRequestSchema)` to create a new message. */ export const SetFieldRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 15); + messageDesc(file_camino_api, 17); /** * @generated from message camino.SetFieldResponse @@ -390,7 +459,7 @@ export type SetFieldResponse = Message<"camino.SetFieldResponse"> & { * Use `create(SetFieldResponseSchema)` to create a new message. */ export const SetFieldResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 16); + messageDesc(file_camino_api, 18); /** * @generated from message camino.AddEdgeRequest @@ -427,7 +496,7 @@ export type AddEdgeRequest = Message<"camino.AddEdgeRequest"> & { * Use `create(AddEdgeRequestSchema)` to create a new message. */ export const AddEdgeRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 17); + messageDesc(file_camino_api, 19); /** * @generated from message camino.AddEdgeResponse @@ -444,7 +513,7 @@ export type AddEdgeResponse = Message<"camino.AddEdgeResponse"> & { * Use `create(AddEdgeResponseSchema)` to create a new message. */ export const AddEdgeResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 18); + messageDesc(file_camino_api, 20); /** * @generated from message camino.ListEdgesRequest @@ -461,7 +530,7 @@ export type ListEdgesRequest = Message<"camino.ListEdgesRequest"> & { * Use `create(ListEdgesRequestSchema)` to create a new message. */ export const ListEdgesRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 19); + messageDesc(file_camino_api, 21); /** * @generated from message camino.ListEdgesResponse @@ -478,7 +547,7 @@ export type ListEdgesResponse = Message<"camino.ListEdgesResponse"> & { * Use `create(ListEdgesResponseSchema)` to create a new message. */ export const ListEdgesResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 20); + messageDesc(file_camino_api, 22); /** * @generated from message camino.RemoveEdgeRequest @@ -495,7 +564,7 @@ export type RemoveEdgeRequest = Message<"camino.RemoveEdgeRequest"> & { * Use `create(RemoveEdgeRequestSchema)` to create a new message. */ export const RemoveEdgeRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 21); + messageDesc(file_camino_api, 23); /** * @generated from message camino.RemoveEdgeResponse @@ -512,7 +581,7 @@ export type RemoveEdgeResponse = Message<"camino.RemoveEdgeResponse"> & { * Use `create(RemoveEdgeResponseSchema)` to create a new message. */ export const RemoveEdgeResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 22); + messageDesc(file_camino_api, 24); /** * @generated from message camino.ListOpsRequest @@ -529,7 +598,7 @@ export type ListOpsRequest = Message<"camino.ListOpsRequest"> & { * Use `create(ListOpsRequestSchema)` to create a new message. */ export const ListOpsRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 23); + messageDesc(file_camino_api, 25); /** * @generated from message camino.ListOpsResponse @@ -546,7 +615,7 @@ export type ListOpsResponse = Message<"camino.ListOpsResponse"> & { * Use `create(ListOpsResponseSchema)` to create a new message. */ export const ListOpsResponseSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 24); + messageDesc(file_camino_api, 26); /** * @generated from message camino.WatchObjectRequest @@ -573,7 +642,7 @@ export type WatchObjectRequest = Message<"camino.WatchObjectRequest"> & { * Use `create(WatchObjectRequestSchema)` to create a new message. */ export const WatchObjectRequestSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 25); + messageDesc(file_camino_api, 27); /** * @generated from message camino.WatchObjectEvent @@ -600,7 +669,7 @@ export type WatchObjectEvent = Message<"camino.WatchObjectEvent"> & { * Use `create(WatchObjectEventSchema)` to create a new message. */ export const WatchObjectEventSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 26); + messageDesc(file_camino_api, 28); /** * @generated from message camino.CaminoObject @@ -652,7 +721,7 @@ export type CaminoObject = Message<"camino.CaminoObject"> & { * Use `create(CaminoObjectSchema)` to create a new message. */ export const CaminoObjectSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 27); + messageDesc(file_camino_api, 29); /** * @generated from message camino.CaminoEdge @@ -719,7 +788,7 @@ export type CaminoEdge = Message<"camino.CaminoEdge"> & { * Use `create(CaminoEdgeSchema)` to create a new message. */ export const CaminoEdgeSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 28); + messageDesc(file_camino_api, 30); /** * @generated from message camino.CaminoOp @@ -759,6 +828,11 @@ export type CaminoOp = Message<"camino.CaminoOp"> & { * @generated from field: string created_at = 7; */ createdAt: string; + + /** + * @generated from field: string client_mutation_id = 8; + */ + clientMutationId: string; }; /** @@ -766,7 +840,7 @@ export type CaminoOp = Message<"camino.CaminoOp"> & { * Use `create(CaminoOpSchema)` to create a new message. */ export const CaminoOpSchema: GenMessage = /*@__PURE__*/ - messageDesc(file_camino_api, 29); + messageDesc(file_camino_api, 31); /** * @generated from service camino.CaminoService