@loams/client 0.1.0 → 0.1.1

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 (45) hide show
  1. package/README.md +78 -2
  2. package/dist/app.d.ts +149 -0
  3. package/dist/app.js +317 -0
  4. package/dist/builders/filter.d.ts +96 -0
  5. package/dist/builders/filter.js +190 -0
  6. package/dist/builders/schema.d.ts +50 -0
  7. package/dist/builders/schema.js +92 -0
  8. package/dist/builders/search.d.ts +159 -0
  9. package/dist/builders/search.js +307 -0
  10. package/dist/gen/facade.d.ts +267 -2
  11. package/dist/gen/facade.js +194 -0
  12. package/dist/handle.d.ts +67 -0
  13. package/dist/handle.js +107 -0
  14. package/dist/index.d.ts +12 -5
  15. package/dist/index.js +12 -3
  16. package/dist/loams.d.ts +77 -2
  17. package/dist/loams.js +84 -6
  18. package/dist/runtime/batch.d.ts +29 -0
  19. package/dist/runtime/batch.js +95 -0
  20. package/dist/runtime/call.d.ts +63 -9
  21. package/dist/runtime/call.js +243 -41
  22. package/dist/runtime/consistency.d.ts +65 -11
  23. package/dist/runtime/consistency.js +212 -46
  24. package/dist/runtime/errors.d.ts +29 -2
  25. package/dist/runtime/errors.js +26 -0
  26. package/dist/runtime/pagination.js +8 -2
  27. package/dist/runtime/subscribe.d.ts +37 -0
  28. package/dist/runtime/subscribe.js +128 -0
  29. package/dist/vendor/proto/collection-v1.d.ts +3 -0
  30. package/dist/vendor/proto/collection-v1.js +7 -0
  31. package/dist/vendor/proto/gen/loams/collection/v1/collection_pb.d.ts +1610 -0
  32. package/dist/vendor/proto/gen/loams/collection/v1/collection_pb.js +399 -0
  33. package/dist/vendor/proto/gen/loams/collection/v1/document_pb.d.ts +1054 -0
  34. package/dist/vendor/proto/gen/loams/collection/v1/document_pb.js +327 -0
  35. package/dist/vendor/proto/gen/loams/collection/v1/query_pb.d.ts +2101 -0
  36. package/dist/vendor/proto/gen/loams/collection/v1/query_pb.js +608 -0
  37. package/dist/vendor/proto/gen/loams/graph/v1/graph_pb.d.ts +2299 -0
  38. package/dist/vendor/proto/gen/loams/graph/v1/graph_pb.js +596 -0
  39. package/dist/vendor/proto/gen/loams/operations/v1/operations_pb.d.ts +399 -0
  40. package/dist/vendor/proto/gen/loams/operations/v1/operations_pb.js +118 -0
  41. package/dist/vendor/proto/gen/loams/sql/v1/sql_pb.d.ts +182 -0
  42. package/dist/vendor/proto/gen/loams/sql/v1/sql_pb.js +72 -0
  43. package/dist/vendor/proto/gen/loams/stream/v1/stream_pb.d.ts +688 -0
  44. package/dist/vendor/proto/gen/loams/stream/v1/stream_pb.js +180 -0
  45. package/package.json +2 -2
@@ -0,0 +1,399 @@
1
+ // Collections: namespaces, collections, their schema, aliases, versions,
2
+ // scan plans and the hot tier (design §44 §5.1, D602; API1 Task 2).
3
+ //
4
+ // This is the first *application* package of the unified Connect API. It
5
+ // replaces the M1.2 native REST routes under `/v1/namespaces` with RPCs on
6
+ // the one port (design §44 §4), and the plan's rulings are visible on the
7
+ // wire:
8
+ //
9
+ // - **Names are fields, not path segments.** A Connect path is
10
+ // `/<package>.<Service>/<Method>`, so `namespace` and `collection` travel
11
+ // in the request message and one path serves every collection (plan
12
+ // ruling 4). A collection is named by its name or by an alias wherever a
13
+ // collection is named, and the answer always reports the collection's own
14
+ // name.
15
+ // - **proto3 JSON is the wire form**: field names are `lowerCamelCase`
16
+ // (`collection_id` is `collectionId`), an enum answers its proto name in
17
+ // `UPPER_SNAKE`, a 64-bit integer answers a decimal string (so it stays
18
+ // lossless in JavaScript), and a field at its default is *absent* rather
19
+ // than `0`, `false`, `""` or `[]`.
20
+ // - **Create is idempotent by name.** `CreateCollection` answers the
21
+ // collection it already made rather than a conflict, so a client that
22
+ // retries after a lost answer gets its collection back; a *different*
23
+ // schema under a taken name is `already_exists`.
24
+ // - **Every failure carries a reason.** A failed RPC carries one
25
+ // `loams.errors.v1.ErrorInfo` in its details whose `reason` is registered
26
+ // in `docs/api/reasons.md`; a caller branches on the reason, never on the
27
+ // message (D611). A missing collection names its `kind` and `name` in
28
+ // `metadata`, so a caller can tell a missing collection from a missing
29
+ // namespace without parsing prose.
30
+ //
31
+ // ## No `idempotency_key` here
32
+ //
33
+ // AP0's rule is that every mutation takes an `idempotency_key`. Nothing in
34
+ // this package needs one: `CreateCollection` is keyed by name, and the rest
35
+ // set state (a schema version, an alias, a hot configuration, a drop) so a
36
+ // repeat is the same call. The first operation that is *not* naturally
37
+ // idempotent is Task 3's `WriteDocuments`, and it carries the key.
38
+ //
39
+ // ## The schema is JSON, deliberately
40
+ //
41
+ // `CollectionInfo.schema`, `AddFieldsRequest.fields` and
42
+ // `AddFieldsResponse.schema` are `google.protobuf.Struct`, not typed
43
+ // messages. A collection's schema is an open document: it carries user
44
+ // `annotations` with arbitrary keys, and it gains a key per encoder, per
45
+ // index and per mapping rule without a wire change. A `Struct` keeps the
46
+ // native REST route's schema JSON exactly — `source_path`, `kind`,
47
+ // `max_fields`, `dynamic` — so moving a caller onto these RPCs changes the
48
+ // envelope it posts in, not the schema it posts, and a new schema key never
49
+ // needs a new proto field.
50
+ //
51
+ // ## What is not here
52
+ //
53
+ // Documents (`DocumentService`), query and SQL are Tasks 3–5, and every
54
+ // route they replace stays until Task 9 (the plan's "behaviour first,
55
+ // deletion last"). A caller that needs documents today seeds them over the
56
+ // native REST route, which is what `crates/loams/tests/connect_collections.rs`
57
+ // does.
58
+ //
59
+ // ## The SDK module, and why no method is in the SDK facade yet
60
+ //
61
+ // Both services carry `loams.options.v1.ModuleOptions` (`loams.collections`),
62
+ // which is what §44 §7.3 asks of every public package and what the SDK facade
63
+ // generator reads to name the module.
64
+ //
65
+ // No method carries `FacadeOptions` yet, and that is the same state
66
+ // `loams.live.v1` was in until R1 Task 12 (plan ruling 1.7): a `facade` option
67
+ // makes `protoc-gen-loams-facade` emit a call, and the call imports the
68
+ // package's message types from the generated stubs — which means every SDK
69
+ // mirror has to generate `loams.collection.v1` first (`@loams/proto` for
70
+ // TypeScript, `loams.collection.v1.collection_pb2` for Python,
71
+ // `loams.dev/go/gen/loams/collection/v1` for Go, `loams_proto` for Rust). That
72
+ // is SDK1's stub task, and each `sdks/<lang>/buf.gen.yaml`'s package map
73
+ // refuses to generate without an entry for the package, so the option would go
74
+ // out ahead of the stubs. The follow-up adds the four `package=` entries, the
75
+ // stubs and these options in one change.
76
+ //
77
+ // ## The handlers are thin
78
+ //
79
+ // Each one calls the same `CollectionService`, `MetaStore` and hot-tier
80
+ // entry point the REST route it replaces calls
81
+ // (`crates/loams/src/api/collections.rs`, `hot.rs`), so the behaviour is
82
+ // the behaviour `crates/loams/tests/it/` already pins.
83
+ import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
84
+ import { file_google_protobuf_struct } from "@bufbuild/protobuf/wkt";
85
+ import { file_loams_options_v1_options } from "../../options/v1/options_pb.js";
86
+ /**
87
+ * Describes the file loams/collection/v1/collection.proto.
88
+ */
89
+ export const file_loams_collection_v1_collection = /*@__PURE__*/ fileDesc("CiRsb2Ftcy9jb2xsZWN0aW9uL3YxL2NvbGxlY3Rpb24ucHJvdG8SE2xvYW1zLmNvbGxlY3Rpb24udjEiKwoWQ3JlYXRlTmFtZXNwYWNlUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkiQgoXQ3JlYXRlTmFtZXNwYWNlUmVzcG9uc2USEQoJbmFtZXNwYWNlGAEgASgJEhQKDG5hbWVzcGFjZV9pZBgCIAEoBCI+ChVMaXN0TmFtZXNwYWNlc1JlcXVlc3QSEQoJcGFnZV9zaXplGAEgASgFEhIKCnBhZ2VfdG9rZW4YAiABKAkiaQoWTGlzdE5hbWVzcGFjZXNSZXNwb25zZRI2CgpuYW1lc3BhY2VzGAEgAygLMiIubG9hbXMuY29sbGVjdGlvbi52MS5OYW1lc3BhY2VJbmZvEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJoCg1OYW1lc3BhY2VJbmZvEhEKCW5hbWVzcGFjZRgBIAEoCRIUCgxuYW1lc3BhY2VfaWQYAiABKAQSGAoQY29sbGVjdGlvbl9jb3VudBgDIAEoDRIUCgxzdHJlYW1fY291bnQYBCABKA0iiwEKF0NyZWF0ZUNvbGxlY3Rpb25SZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRIMCgRuYW1lGAIgASgJEicKBnNjaGVtYRgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSFwoKcGFydGl0aW9ucxgEIAEoDUgAiAEBQg0KC19wYXJ0aXRpb25zIlIKFkxpc3RDb2xsZWN0aW9uc1JlcXVlc3QSEQoJbmFtZXNwYWNlGAEgASgJEhEKCXBhZ2Vfc2l6ZRgCIAEoBRISCgpwYWdlX3Rva2VuGAMgASgJImwKF0xpc3RDb2xsZWN0aW9uc1Jlc3BvbnNlEjgKC2NvbGxlY3Rpb25zGAEgAygLMiMubG9hbXMuY29sbGVjdGlvbi52MS5Db2xsZWN0aW9uSW5mbxIXCg9uZXh0X3BhZ2VfdG9rZW4YAiABKAkiPQoUR2V0Q29sbGVjdGlvblJlcXVlc3QSEQoJbmFtZXNwYWNlGAEgASgJEhIKCmNvbGxlY3Rpb24YAiABKAkiPgoVRHJvcENvbGxlY3Rpb25SZXF1ZXN0EhEKCW5hbWVzcGFjZRgBIAEoCRISCgpjb2xsZWN0aW9uGAIgASgJIikKFkRyb3BDb2xsZWN0aW9uUmVzcG9uc2USDwoHZHJvcHBlZBgBIAEoCCKNAgoQQWRkRmllbGRzUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSEgoKY29sbGVjdGlvbhgCIAEoCRInCgZmaWVsZHMYAyADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKB3ZlY3RvcnMYBCADKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EksKC2Fubm90YXRpb25zGAUgAygLMjYubG9hbXMuY29sbGVjdGlvbi52MS5BZGRGaWVsZHNSZXF1ZXN0LkFubm90YXRpb25zRW50cnkaMgoQQW5ub3RhdGlvbnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBIjwKEUFkZEZpZWxkc1Jlc3BvbnNlEicKBnNjaGVtYRgBIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiYwoTTGlzdFZlcnNpb25zUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSEgoKY29sbGVjdGlvbhgCIAEoCRIRCglwYWdlX3NpemUYAyABKAUSEgoKcGFnZV90b2tlbhgEIAEoCSJnChRMaXN0VmVyc2lvbnNSZXNwb25zZRI2Cgh2ZXJzaW9ucxgBIAMoCzIkLmxvYW1zLmNvbGxlY3Rpb24udjEuTWFuaWZlc3RWZXJzaW9uEhcKD25leHRfcGFnZV90b2tlbhgCIAEoCSJ8Cg9NYW5pZmVzdFZlcnNpb24SDwoHdmVyc2lvbhgBIAEoBBIVCg1jcmVhdGVkX2F0X21zGAIgASgEEhIKCnNpemVfYnl0ZXMYAyABKAQSFgoObGl2ZV9kb2NfY291bnQYBCABKAQSFQoNbGFuY2VfdmVyc2lvbhgFIAEoBCJgCgtTY2FuUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSEgoKY29sbGVjdGlvbhgCIAEoCRIqCgJhdBgDIAEoCzIeLmxvYW1zLmNvbGxlY3Rpb24udjEuU2NhblBvaW50IkEKCVNjYW5Qb2ludBIaChBtYW5pZmVzdF92ZXJzaW9uGAEgASgESAASDwoFdG9rZW4YAiABKAlIAEIHCgVwb2ludCJcChRVcGRhdGVBbGlhc2VzUmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSMQoHYWN0aW9ucxgCIAMoCzIgLmxvYW1zLmNvbGxlY3Rpb24udjEuQWxpYXNBY3Rpb24ifwoLQWxpYXNBY3Rpb24SMgoGY3JlYXRlGAEgASgLMiAubG9hbXMuY29sbGVjdGlvbi52MS5DcmVhdGVBbGlhc0gAEjIKBmRlbGV0ZRgCIAEoCzIgLmxvYW1zLmNvbGxlY3Rpb24udjEuRGVsZXRlQWxpYXNIAEIICgZhY3Rpb24iMAoLQ3JlYXRlQWxpYXMSDQoFYWxpYXMYASABKAkSEgoKY29sbGVjdGlvbhgCIAEoCSIcCgtEZWxldGVBbGlhcxINCgVhbGlhcxgBIAEoCSIXChVVcGRhdGVBbGlhc2VzUmVzcG9uc2UiYwoNU2V0SG90UmVxdWVzdBIRCgluYW1lc3BhY2UYASABKAkSEgoKY29sbGVjdGlvbhgCIAEoCRIrCgNob3QYAyABKAsyHi5sb2Ftcy5jb2xsZWN0aW9uLnYxLkhvdENvbmZpZyI9Cg5TZXRIb3RSZXNwb25zZRIrCgNob3QYASABKAsyHi5sb2Ftcy5jb2xsZWN0aW9uLnYxLkhvdFN0YXR1cyI+ChVXYXJtQ29sbGVjdGlvblJlcXVlc3QSEQoJbmFtZXNwYWNlGAEgASgJEhIKCmNvbGxlY3Rpb24YAiABKAkiGAoWV2FybUNvbGxlY3Rpb25SZXNwb25zZSI9CglIb3RDb25maWcSDwoHdmVjdG9ycxgBIAEoCBIMCgR0ZXh0GAIgASgIEhEKCWZyYWdtZW50cxgDIAEoCCKXAwoOQ29sbGVjdGlvbkluZm8SCgoCaWQYASABKAQSDAoEbmFtZRgCIAEoCRIRCgluYW1lc3BhY2UYAyABKAkSJwoGc2NoZW1hGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBISCgpwYXJ0aXRpb25zGAUgASgNEg8KB2FsaWFzZXMYBiADKAkSDgoGc3RyZWFtGAcgASgEEhgKEG1hbmlmZXN0X3ZlcnNpb24YCCABKAQSFgoObGl2ZV9kb2NfY291bnQYCSABKAQSEgoKc2l6ZV9ieXRlcxgKIAEoBBIVCg1jcmVhdGVkX2F0X21zGAsgASgEEhgKEGxpbmtfbGFnX3JlY29yZHMYDCABKAQSKwoDaG90GA0gASgLMh4ubG9hbXMuY29sbGVjdGlvbi52MS5Ib3RTdGF0dXMSFwoPdW5hcHBsaWVkX2J5dGVzGA4gASgEEj0KDGJhY2twcmVzc3VyZRgPIAEoCzInLmxvYW1zLmNvbGxlY3Rpb24udjEuQmFja3ByZXNzdXJlU3RhdHVzIrsBChJCYWNrcHJlc3N1cmVTdGF0dXMSNQoFc3RhdGUYASABKA4yJi5sb2Ftcy5jb2xsZWN0aW9uLnYxLkJhY2twcmVzc3VyZVN0YXRlEhkKEXVuYXBwbGllZF9yZWNvcmRzGAIgASgEEhcKD3VuYXBwbGllZF9ieXRlcxgDIAEoBBIdChVtYXhfdW5hcHBsaWVkX3JlY29yZHMYBCABKAQSGwoTbWF4X3VuYXBwbGllZF9ieXRlcxgFIAEoBCLKAgoJSG90U3RhdHVzEg8KB2VuYWJsZWQYASABKAgSLgoGY29uZmlnGAIgASgLMh4ubG9hbXMuY29sbGVjdGlvbi52MS5Ib3RDb25maWcSDwoHcGluX2FsbBgDIAEoCBIQCghwcm9tb3RlZBgEIAEoCBIsCgVvd25lchgFIAEoCzIdLmxvYW1zLmNvbGxlY3Rpb24udjEuSG90T3duZXISOAoHdmVjdG9ycxgGIAEoCzInLmxvYW1zLmNvbGxlY3Rpb24udjEuSG90U3RydWN0dXJlU3RhdHVzEjUKBHRleHQYByABKAsyJy5sb2Ftcy5jb2xsZWN0aW9uLnYxLkhvdFN0cnVjdHVyZVN0YXR1cxI6CglmcmFnbWVudHMYCCABKAsyJy5sb2Ftcy5jb2xsZWN0aW9uLnYxLkhvdFN0cnVjdHVyZVN0YXR1cyIqCghIb3RPd25lchIPCgdub2RlX2lkGAEgASgEEg0KBWxvY2FsGAIgASgIIvgCChJIb3RTdHJ1Y3R1cmVTdGF0dXMSMAoFc3RhdGUYASABKA4yIS5sb2Ftcy5jb2xsZWN0aW9uLnYxLkhvdFN0YXRlS2luZBIbCg5zb3VyY2VfdmVyc2lvbhgCIAEoBEgAiAEBEhMKC292ZXJfYnVkZ2V0GAMgASgIEkUKB2NvbHVtbnMYBCADKAsyNC5sb2Ftcy5jb2xsZWN0aW9uLnYxLkhvdFN0cnVjdHVyZVN0YXR1cy5Db2x1bW5zRW50cnkSFQoNcGlubmVkX3NwbGl0cxgFIAEoBBIOCgZzcGxpdHMYBiABKAQSGAoQcHJlZmV0Y2hlZF9ieXRlcxgHIAEoBBINCgVieXRlcxgIIAEoBBpUCgxDb2x1bW5zRW50cnkSCwoDa2V5GAEgASgJEjMKBXZhbHVlGAIgASgLMiQubG9hbXMuY29sbGVjdGlvbi52MS5Ib3RDb2x1bW5TdGF0dXM6AjgBQhEKD19zb3VyY2VfdmVyc2lvbiLYAQoPSG90Q29sdW1uU3RhdHVzEjAKBXN0YXRlGAEgASgOMiEubG9hbXMuY29sbGVjdGlvbi52MS5Ib3RTdGF0ZUtpbmQSGwoOc291cmNlX3ZlcnNpb24YAiABKARIAIgBARIkChdhcnRpZmFjdF9zb3VyY2VfdmVyc2lvbhgDIAEoBEgBiAEBEhIKCmRlbHRhX3Jvd3MYBCABKAQSDQoFZXJyb3IYBSABKAlCEQoPX3NvdXJjZV92ZXJzaW9uQhoKGF9hcnRpZmFjdF9zb3VyY2VfdmVyc2lvbiKdBAoIU2NhblBsYW4SEQoJbmFtZXNwYWNlGAEgASgJEhIKCmNvbGxlY3Rpb24YAiABKAkSFQoNY29sbGVjdGlvbl9pZBgDIAEoBBIYChBtYW5pZmVzdF92ZXJzaW9uGAQgASgEEhYKDnNjaGVtYV92ZXJzaW9uGAUgASgEEjMKBWxhbmNlGAYgASgLMiQubG9hbXMuY29sbGVjdGlvbi52MS5MYW5jZVZlcnNpb25SZWYSNAoJZnJhZ21lbnRzGAcgAygLMiEubG9hbXMuY29sbGVjdGlvbi52MS5TY2FuRnJhZ21lbnQSEQoJbGl2ZV9yb3dzGAggASgEEjAKB2NvbHVtbnMYCSADKAsyHy5sb2Ftcy5jb2xsZWN0aW9uLnYxLlNjYW5Db2x1bW4SEwoLcGtfZW5jb2RpbmcYCiABKAkSDAoEdGFpbBgLIAEoCBIUCgx0YWlsX3JlY29yZHMYDCABKAQSMQoHb2Zmc2V0cxgNIAMoCzIgLmxvYW1zLmNvbGxlY3Rpb24udjEuU2Nhbk9mZnNldHMSFQoNZHVyYWJsZV90b2tlbhgOIAEoCRIpCgNwaW4YDyABKAsyHC5sb2Ftcy5jb2xsZWN0aW9uLnYxLlNjYW5QaW4SFQoNcGxhbm5lZF9hdF9tcxgQIAEoBBIaCg1leHBpcmVzX2F0X21zGBEgASgESACIAQFCEAoOX2V4cGlyZXNfYXRfbXMigwEKD0xhbmNlVmVyc2lvblJlZhIQCgN1cmkYASABKAlIAIgBARIPCgd2ZXJzaW9uGAIgASgEEhUKDW1hbmlmZXN0X3BhdGgYAyABKAkSFgoOc3RvcmFnZV9mb3JtYXQYBCABKAkSFgoOc3RhYmxlX3Jvd19pZHMYBSABKAhCBgoEX3VyaSLuAQoMU2NhbkZyYWdtZW50EgoKAmlkGAEgASgEEhUKDXBoeXNpY2FsX3Jvd3MYAiABKAQSFAoMZGVsZXRlZF9yb3dzGAMgASgEEhEKCWxpdmVfcm93cxgEIAEoBBIsCgVmaWxlcxgFIAMoCzIdLmxvYW1zLmNvbGxlY3Rpb24udjEuU2NhbkZpbGUSPAoNZGVsZXRpb25fZmlsZRgGIAEoCzIlLmxvYW1zLmNvbGxlY3Rpb24udjEuU2NhbkRlbGV0aW9uRmlsZRImCgVsYW5jZRgHIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QiQAoIU2NhbkZpbGUSDAoEcGF0aBgBIAEoCRIXCgpzaXplX2J5dGVzGAIgASgESACIAQFCDQoLX3NpemVfYnl0ZXMiZwoQU2NhbkRlbGV0aW9uRmlsZRIMCgRwYXRoGAEgASgJEi8KBGtpbmQYAiABKA4yIS5sb2Ftcy5jb2xsZWN0aW9uLnYxLkRlbGV0aW9uS2luZBIUCgxkZWxldGVkX3Jvd3MYAyABKAQivQEKClNjYW5Db2x1bW4SDAoEbmFtZRgBIAEoCRIRCglkYXRhX3R5cGUYAiABKAkSDAoEcm9sZRgDIAEoCRITCgZ2ZWN0b3IYBCABKAlIAIgBARIQCgNkaW0YBSABKA1IAYgBARIVCghkaXN0YW5jZRgGIAEoCUgCiAEBEhUKCG1vZGlmaWVyGAcgASgJSAOIAQFCCQoHX3ZlY3RvckIGCgRfZGltQgsKCV9kaXN0YW5jZUILCglfbW9kaWZpZXIiQQoLU2Nhbk9mZnNldHMSEQoJcGFydGl0aW9uGAEgASgNEg8KB2FwcGxpZWQYAiABKAQSDgoGdGFyZ2V0GAMgASgEIjIKB1NjYW5QaW4SGAoQbWFuaWZlc3RfdmVyc2lvbhgBIAEoBBINCgV0b2tlbhgCIAEoCSqYAQoRQmFja3ByZXNzdXJlU3RhdGUSIgoeQkFDS1BSRVNTVVJFX1NUQVRFX1VOU1BFQ0lGSUVEEAASGwoXQkFDS1BSRVNTVVJFX1NUQVRFX09QRU4QARIhCh1CQUNLUFJFU1NVUkVfU1RBVEVfVEhST1RUTElORxACEh8KG0JBQ0tQUkVTU1VSRV9TVEFURV9ESVNBQkxFRBADKn0KDEhvdFN0YXRlS2luZBIeChpIT1RfU1RBVEVfS0lORF9VTlNQRUNJRklFRBAAEhYKEkhPVF9TVEFURV9LSU5EX09GRhABEhsKF0hPVF9TVEFURV9LSU5EX0JVSUxESU5HEAISGAoUSE9UX1NUQVRFX0tJTkRfUkVBRFkQAypgCgxEZWxldGlvbktpbmQSHQoZREVMRVRJT05fS0lORF9VTlNQRUNJRklFRBAAEhcKE0RFTEVUSU9OX0tJTkRfQVJSQVkQARIYChRERUxFVElPTl9LSU5EX0JJVE1BUBACMvoCChBOYW1lc3BhY2VTZXJ2aWNlEnwKD0NyZWF0ZU5hbWVzcGFjZRIrLmxvYW1zLmNvbGxlY3Rpb24udjEuQ3JlYXRlTmFtZXNwYWNlUmVxdWVzdBosLmxvYW1zLmNvbGxlY3Rpb24udjEuQ3JlYXRlTmFtZXNwYWNlUmVzcG9uc2UiDpK1GAoSBmNyZWF0ZRgBEpQBCg5MaXN0TmFtZXNwYWNlcxIqLmxvYW1zLmNvbGxlY3Rpb24udjEuTGlzdE5hbWVzcGFjZXNSZXF1ZXN0GisubG9hbXMuY29sbGVjdGlvbi52MS5MaXN0TmFtZXNwYWNlc1Jlc3BvbnNlIimQAgGStRgiEgRsaXN0IhpuYW1lc3BhY2VzOm5leHRfcGFnZV90b2tlbhpRirUYTQoKbmFtZXNwYWNlcxI/TmFtZXNwYWNlczogdGhlIGNvbnRhaW5lciBldmVyeSBjb2xsZWN0aW9uIGFuZCBzdHJlYW0gbGl2ZXMgaW4uMqAKChFDb2xsZWN0aW9uU2VydmljZRJ1ChBDcmVhdGVDb2xsZWN0aW9uEiwubG9hbXMuY29sbGVjdGlvbi52MS5DcmVhdGVDb2xsZWN0aW9uUmVxdWVzdBojLmxvYW1zLmNvbGxlY3Rpb24udjEuQ29sbGVjdGlvbkluZm8iDpK1GAoSBmNyZWF0ZRgBEpgBCg9MaXN0Q29sbGVjdGlvbnMSKy5sb2Ftcy5jb2xsZWN0aW9uLnYxLkxpc3RDb2xsZWN0aW9uc1JlcXVlc3QaLC5sb2Ftcy5jb2xsZWN0aW9uLnYxLkxpc3RDb2xsZWN0aW9uc1Jlc3BvbnNlIiqQAgGStRgjEgRsaXN0Ihtjb2xsZWN0aW9uczpuZXh0X3BhZ2VfdG9rZW4SbQoNR2V0Q29sbGVjdGlvbhIpLmxvYW1zLmNvbGxlY3Rpb24udjEuR2V0Q29sbGVjdGlvblJlcXVlc3QaIy5sb2Ftcy5jb2xsZWN0aW9uLnYxLkNvbGxlY3Rpb25JbmZvIgyQAgGStRgFEgNnZXQSdwoORHJvcENvbGxlY3Rpb24SKi5sb2Ftcy5jb2xsZWN0aW9uLnYxLkRyb3BDb2xsZWN0aW9uUmVxdWVzdBorLmxvYW1zLmNvbGxlY3Rpb24udjEuRHJvcENvbGxlY3Rpb25SZXNwb25zZSIMkrUYCBIEZHJvcBgBEm4KCUFkZEZpZWxkcxIlLmxvYW1zLmNvbGxlY3Rpb24udjEuQWRkRmllbGRzUmVxdWVzdBomLmxvYW1zLmNvbGxlY3Rpb24udjEuQWRkRmllbGRzUmVzcG9uc2UiEpK1GA4SCmFkZF9maWVsZHMYARKVAQoMTGlzdFZlcnNpb25zEigubG9hbXMuY29sbGVjdGlvbi52MS5MaXN0VmVyc2lvbnNSZXF1ZXN0GikubG9hbXMuY29sbGVjdGlvbi52MS5MaXN0VmVyc2lvbnNSZXNwb25zZSIwkAIBkrUYKRINbGlzdF92ZXJzaW9ucyIYdmVyc2lvbnM6bmV4dF9wYWdlX3Rva2VuElMKBFNjYW4SIC5sb2Ftcy5jb2xsZWN0aW9uLnYxLlNjYW5SZXF1ZXN0Gh0ubG9hbXMuY29sbGVjdGlvbi52MS5TY2FuUGxhbiIKkrUYBhIEc2NhbhJ+Cg1VcGRhdGVBbGlhc2VzEikubG9hbXMuY29sbGVjdGlvbi52MS5VcGRhdGVBbGlhc2VzUmVxdWVzdBoqLmxvYW1zLmNvbGxlY3Rpb24udjEuVXBkYXRlQWxpYXNlc1Jlc3BvbnNlIhaStRgSEg51cGRhdGVfYWxpYXNlcxgBEmIKBlNldEhvdBIiLmxvYW1zLmNvbGxlY3Rpb24udjEuU2V0SG90UmVxdWVzdBojLmxvYW1zLmNvbGxlY3Rpb24udjEuU2V0SG90UmVzcG9uc2UiD5K1GAsSB3NldF9ob3QYARJ3Cg5XYXJtQ29sbGVjdGlvbhIqLmxvYW1zLmNvbGxlY3Rpb24udjEuV2FybUNvbGxlY3Rpb25SZXF1ZXN0GisubG9hbXMuY29sbGVjdGlvbi52MS5XYXJtQ29sbGVjdGlvblJlc3BvbnNlIgyStRgIEgR3YXJtGAEaV4q1GFMKC2NvbGxlY3Rpb25zEkRDb2xsZWN0aW9uczogc2NoZW1hLCBhbGlhc2VzLCB2ZXJzaW9ucywgc2NhbiBwbGFucyBhbmQgdGhlIGhvdCB0aWVyLmIGcHJvdG8z", [file_google_protobuf_struct, file_loams_options_v1_options]);
90
+ /**
91
+ * Describes the message loams.collection.v1.CreateNamespaceRequest.
92
+ * Use `create(CreateNamespaceRequestSchema)` to create a new message.
93
+ */
94
+ export const CreateNamespaceRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 0);
95
+ /**
96
+ * Describes the message loams.collection.v1.CreateNamespaceResponse.
97
+ * Use `create(CreateNamespaceResponseSchema)` to create a new message.
98
+ */
99
+ export const CreateNamespaceResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 1);
100
+ /**
101
+ * Describes the message loams.collection.v1.ListNamespacesRequest.
102
+ * Use `create(ListNamespacesRequestSchema)` to create a new message.
103
+ */
104
+ export const ListNamespacesRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 2);
105
+ /**
106
+ * Describes the message loams.collection.v1.ListNamespacesResponse.
107
+ * Use `create(ListNamespacesResponseSchema)` to create a new message.
108
+ */
109
+ export const ListNamespacesResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 3);
110
+ /**
111
+ * Describes the message loams.collection.v1.NamespaceInfo.
112
+ * Use `create(NamespaceInfoSchema)` to create a new message.
113
+ */
114
+ export const NamespaceInfoSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 4);
115
+ /**
116
+ * Describes the message loams.collection.v1.CreateCollectionRequest.
117
+ * Use `create(CreateCollectionRequestSchema)` to create a new message.
118
+ */
119
+ export const CreateCollectionRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 5);
120
+ /**
121
+ * Describes the message loams.collection.v1.ListCollectionsRequest.
122
+ * Use `create(ListCollectionsRequestSchema)` to create a new message.
123
+ */
124
+ export const ListCollectionsRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 6);
125
+ /**
126
+ * Describes the message loams.collection.v1.ListCollectionsResponse.
127
+ * Use `create(ListCollectionsResponseSchema)` to create a new message.
128
+ */
129
+ export const ListCollectionsResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 7);
130
+ /**
131
+ * Describes the message loams.collection.v1.GetCollectionRequest.
132
+ * Use `create(GetCollectionRequestSchema)` to create a new message.
133
+ */
134
+ export const GetCollectionRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 8);
135
+ /**
136
+ * Describes the message loams.collection.v1.DropCollectionRequest.
137
+ * Use `create(DropCollectionRequestSchema)` to create a new message.
138
+ */
139
+ export const DropCollectionRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 9);
140
+ /**
141
+ * Describes the message loams.collection.v1.DropCollectionResponse.
142
+ * Use `create(DropCollectionResponseSchema)` to create a new message.
143
+ */
144
+ export const DropCollectionResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 10);
145
+ /**
146
+ * Describes the message loams.collection.v1.AddFieldsRequest.
147
+ * Use `create(AddFieldsRequestSchema)` to create a new message.
148
+ */
149
+ export const AddFieldsRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 11);
150
+ /**
151
+ * Describes the message loams.collection.v1.AddFieldsResponse.
152
+ * Use `create(AddFieldsResponseSchema)` to create a new message.
153
+ */
154
+ export const AddFieldsResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 12);
155
+ /**
156
+ * Describes the message loams.collection.v1.ListVersionsRequest.
157
+ * Use `create(ListVersionsRequestSchema)` to create a new message.
158
+ */
159
+ export const ListVersionsRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 13);
160
+ /**
161
+ * Describes the message loams.collection.v1.ListVersionsResponse.
162
+ * Use `create(ListVersionsResponseSchema)` to create a new message.
163
+ */
164
+ export const ListVersionsResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 14);
165
+ /**
166
+ * Describes the message loams.collection.v1.ManifestVersion.
167
+ * Use `create(ManifestVersionSchema)` to create a new message.
168
+ */
169
+ export const ManifestVersionSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 15);
170
+ /**
171
+ * Describes the message loams.collection.v1.ScanRequest.
172
+ * Use `create(ScanRequestSchema)` to create a new message.
173
+ */
174
+ export const ScanRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 16);
175
+ /**
176
+ * Describes the message loams.collection.v1.ScanPoint.
177
+ * Use `create(ScanPointSchema)` to create a new message.
178
+ */
179
+ export const ScanPointSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 17);
180
+ /**
181
+ * Describes the message loams.collection.v1.UpdateAliasesRequest.
182
+ * Use `create(UpdateAliasesRequestSchema)` to create a new message.
183
+ */
184
+ export const UpdateAliasesRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 18);
185
+ /**
186
+ * Describes the message loams.collection.v1.AliasAction.
187
+ * Use `create(AliasActionSchema)` to create a new message.
188
+ */
189
+ export const AliasActionSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 19);
190
+ /**
191
+ * Describes the message loams.collection.v1.CreateAlias.
192
+ * Use `create(CreateAliasSchema)` to create a new message.
193
+ */
194
+ export const CreateAliasSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 20);
195
+ /**
196
+ * Describes the message loams.collection.v1.DeleteAlias.
197
+ * Use `create(DeleteAliasSchema)` to create a new message.
198
+ */
199
+ export const DeleteAliasSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 21);
200
+ /**
201
+ * Describes the message loams.collection.v1.UpdateAliasesResponse.
202
+ * Use `create(UpdateAliasesResponseSchema)` to create a new message.
203
+ */
204
+ export const UpdateAliasesResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 22);
205
+ /**
206
+ * Describes the message loams.collection.v1.SetHotRequest.
207
+ * Use `create(SetHotRequestSchema)` to create a new message.
208
+ */
209
+ export const SetHotRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 23);
210
+ /**
211
+ * Describes the message loams.collection.v1.SetHotResponse.
212
+ * Use `create(SetHotResponseSchema)` to create a new message.
213
+ */
214
+ export const SetHotResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 24);
215
+ /**
216
+ * Describes the message loams.collection.v1.WarmCollectionRequest.
217
+ * Use `create(WarmCollectionRequestSchema)` to create a new message.
218
+ */
219
+ export const WarmCollectionRequestSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 25);
220
+ /**
221
+ * Describes the message loams.collection.v1.WarmCollectionResponse.
222
+ * Use `create(WarmCollectionResponseSchema)` to create a new message.
223
+ */
224
+ export const WarmCollectionResponseSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 26);
225
+ /**
226
+ * Describes the message loams.collection.v1.HotConfig.
227
+ * Use `create(HotConfigSchema)` to create a new message.
228
+ */
229
+ export const HotConfigSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 27);
230
+ /**
231
+ * Describes the message loams.collection.v1.CollectionInfo.
232
+ * Use `create(CollectionInfoSchema)` to create a new message.
233
+ */
234
+ export const CollectionInfoSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 28);
235
+ /**
236
+ * Describes the message loams.collection.v1.BackpressureStatus.
237
+ * Use `create(BackpressureStatusSchema)` to create a new message.
238
+ */
239
+ export const BackpressureStatusSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 29);
240
+ /**
241
+ * Describes the message loams.collection.v1.HotStatus.
242
+ * Use `create(HotStatusSchema)` to create a new message.
243
+ */
244
+ export const HotStatusSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 30);
245
+ /**
246
+ * Describes the message loams.collection.v1.HotOwner.
247
+ * Use `create(HotOwnerSchema)` to create a new message.
248
+ */
249
+ export const HotOwnerSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 31);
250
+ /**
251
+ * Describes the message loams.collection.v1.HotStructureStatus.
252
+ * Use `create(HotStructureStatusSchema)` to create a new message.
253
+ */
254
+ export const HotStructureStatusSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 32);
255
+ /**
256
+ * Describes the message loams.collection.v1.HotColumnStatus.
257
+ * Use `create(HotColumnStatusSchema)` to create a new message.
258
+ */
259
+ export const HotColumnStatusSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 33);
260
+ /**
261
+ * Describes the message loams.collection.v1.ScanPlan.
262
+ * Use `create(ScanPlanSchema)` to create a new message.
263
+ */
264
+ export const ScanPlanSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 34);
265
+ /**
266
+ * Describes the message loams.collection.v1.LanceVersionRef.
267
+ * Use `create(LanceVersionRefSchema)` to create a new message.
268
+ */
269
+ export const LanceVersionRefSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 35);
270
+ /**
271
+ * Describes the message loams.collection.v1.ScanFragment.
272
+ * Use `create(ScanFragmentSchema)` to create a new message.
273
+ */
274
+ export const ScanFragmentSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 36);
275
+ /**
276
+ * Describes the message loams.collection.v1.ScanFile.
277
+ * Use `create(ScanFileSchema)` to create a new message.
278
+ */
279
+ export const ScanFileSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 37);
280
+ /**
281
+ * Describes the message loams.collection.v1.ScanDeletionFile.
282
+ * Use `create(ScanDeletionFileSchema)` to create a new message.
283
+ */
284
+ export const ScanDeletionFileSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 38);
285
+ /**
286
+ * Describes the message loams.collection.v1.ScanColumn.
287
+ * Use `create(ScanColumnSchema)` to create a new message.
288
+ */
289
+ export const ScanColumnSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 39);
290
+ /**
291
+ * Describes the message loams.collection.v1.ScanOffsets.
292
+ * Use `create(ScanOffsetsSchema)` to create a new message.
293
+ */
294
+ export const ScanOffsetsSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 40);
295
+ /**
296
+ * Describes the message loams.collection.v1.ScanPin.
297
+ * Use `create(ScanPinSchema)` to create a new message.
298
+ */
299
+ export const ScanPinSchema = /*@__PURE__*/ messageDesc(file_loams_collection_v1_collection, 41);
300
+ /**
301
+ * @generated from enum loams.collection.v1.BackpressureState
302
+ */
303
+ export var BackpressureState;
304
+ (function (BackpressureState) {
305
+ /**
306
+ * @generated from enum value: BACKPRESSURE_STATE_UNSPECIFIED = 0;
307
+ */
308
+ BackpressureState[BackpressureState["UNSPECIFIED"] = 0] = "UNSPECIFIED";
309
+ /**
310
+ * A plain write is admitted now.
311
+ *
312
+ * @generated from enum value: BACKPRESSURE_STATE_OPEN = 1;
313
+ */
314
+ BackpressureState[BackpressureState["OPEN"] = 1] = "OPEN";
315
+ /**
316
+ * A plain write is refused now; `retry_after_ms` says when to come back.
317
+ *
318
+ * @generated from enum value: BACKPRESSURE_STATE_THROTTLING = 2;
319
+ */
320
+ BackpressureState[BackpressureState["THROTTLING"] = 2] = "THROTTLING";
321
+ /**
322
+ * Backpressure is off: nothing is refused.
323
+ *
324
+ * @generated from enum value: BACKPRESSURE_STATE_DISABLED = 3;
325
+ */
326
+ BackpressureState[BackpressureState["DISABLED"] = 3] = "DISABLED";
327
+ })(BackpressureState || (BackpressureState = {}));
328
+ /**
329
+ * Describes the enum loams.collection.v1.BackpressureState.
330
+ */
331
+ export const BackpressureStateSchema = /*@__PURE__*/ enumDesc(file_loams_collection_v1_collection, 0);
332
+ /**
333
+ * @generated from enum loams.collection.v1.HotStateKind
334
+ */
335
+ export var HotStateKind;
336
+ (function (HotStateKind) {
337
+ /**
338
+ * @generated from enum value: HOT_STATE_KIND_UNSPECIFIED = 0;
339
+ */
340
+ HotStateKind[HotStateKind["UNSPECIFIED"] = 0] = "UNSPECIFIED";
341
+ /**
342
+ * Nothing pinned here.
343
+ *
344
+ * @generated from enum value: HOT_STATE_KIND_OFF = 1;
345
+ */
346
+ HotStateKind[HotStateKind["OFF"] = 1] = "OFF";
347
+ /**
348
+ * Being pinned.
349
+ *
350
+ * @generated from enum value: HOT_STATE_KIND_BUILDING = 2;
351
+ */
352
+ HotStateKind[HotStateKind["BUILDING"] = 2] = "BUILDING";
353
+ /**
354
+ * Pinned and serving.
355
+ *
356
+ * @generated from enum value: HOT_STATE_KIND_READY = 3;
357
+ */
358
+ HotStateKind[HotStateKind["READY"] = 3] = "READY";
359
+ })(HotStateKind || (HotStateKind = {}));
360
+ /**
361
+ * Describes the enum loams.collection.v1.HotStateKind.
362
+ */
363
+ export const HotStateKindSchema = /*@__PURE__*/ enumDesc(file_loams_collection_v1_collection, 1);
364
+ /**
365
+ * How a deletion file stores its row offsets.
366
+ *
367
+ * @generated from enum loams.collection.v1.DeletionKind
368
+ */
369
+ export var DeletionKind;
370
+ (function (DeletionKind) {
371
+ /**
372
+ * @generated from enum value: DELETION_KIND_UNSPECIFIED = 0;
373
+ */
374
+ DeletionKind[DeletionKind["UNSPECIFIED"] = 0] = "UNSPECIFIED";
375
+ /**
376
+ * A sorted list of row offsets.
377
+ *
378
+ * @generated from enum value: DELETION_KIND_ARRAY = 1;
379
+ */
380
+ DeletionKind[DeletionKind["ARRAY"] = 1] = "ARRAY";
381
+ /**
382
+ * A roaring bitmap of row offsets.
383
+ *
384
+ * @generated from enum value: DELETION_KIND_BITMAP = 2;
385
+ */
386
+ DeletionKind[DeletionKind["BITMAP"] = 2] = "BITMAP";
387
+ })(DeletionKind || (DeletionKind = {}));
388
+ /**
389
+ * Describes the enum loams.collection.v1.DeletionKind.
390
+ */
391
+ export const DeletionKindSchema = /*@__PURE__*/ enumDesc(file_loams_collection_v1_collection, 2);
392
+ /**
393
+ * @generated from service loams.collection.v1.NamespaceService
394
+ */
395
+ export const NamespaceService = /*@__PURE__*/ serviceDesc(file_loams_collection_v1_collection, 0);
396
+ /**
397
+ * @generated from service loams.collection.v1.CollectionService
398
+ */
399
+ export const CollectionService = /*@__PURE__*/ serviceDesc(file_loams_collection_v1_collection, 1);