@raft-tech/rdp-sdk-typescript 2026.26.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.
Files changed (258) hide show
  1. package/LICENSE +183 -0
  2. package/README.md +133 -0
  3. package/dist/examples/objects-publish.d.ts +2 -0
  4. package/dist/examples/objects-publish.d.ts.map +1 -0
  5. package/dist/examples/objects-publish.js +32 -0
  6. package/dist/examples/objects-publish.js.map +1 -0
  7. package/dist/examples/objects-search.d.ts +2 -0
  8. package/dist/examples/objects-search.d.ts.map +1 -0
  9. package/dist/examples/objects-search.js +20 -0
  10. package/dist/examples/objects-search.js.map +1 -0
  11. package/dist/examples/web/objects-publish.d.ts +2 -0
  12. package/dist/examples/web/objects-publish.d.ts.map +1 -0
  13. package/dist/examples/web/objects-publish.js +33 -0
  14. package/dist/examples/web/objects-publish.js.map +1 -0
  15. package/dist/examples/web/objects-search.d.ts +2 -0
  16. package/dist/examples/web/objects-search.d.ts.map +1 -0
  17. package/dist/examples/web/objects-search.js +21 -0
  18. package/dist/examples/web/objects-search.js.map +1 -0
  19. package/dist/gen/raft/wdm/v1/action_pb.d.ts +1540 -0
  20. package/dist/gen/raft/wdm/v1/action_pb.d.ts.map +1 -0
  21. package/dist/gen/raft/wdm/v1/action_pb.js +888 -0
  22. package/dist/gen/raft/wdm/v1/action_pb.js.map +1 -0
  23. package/dist/gen/raft/wdm/v1/assessment_pb.d.ts +189 -0
  24. package/dist/gen/raft/wdm/v1/assessment_pb.d.ts.map +1 -0
  25. package/dist/gen/raft/wdm/v1/assessment_pb.js +143 -0
  26. package/dist/gen/raft/wdm/v1/assessment_pb.js.map +1 -0
  27. package/dist/gen/raft/wdm/v1/aviation_pb.d.ts +192 -0
  28. package/dist/gen/raft/wdm/v1/aviation_pb.d.ts.map +1 -0
  29. package/dist/gen/raft/wdm/v1/aviation_pb.js +128 -0
  30. package/dist/gen/raft/wdm/v1/aviation_pb.js.map +1 -0
  31. package/dist/gen/raft/wdm/v1/cbrn_pb.d.ts +270 -0
  32. package/dist/gen/raft/wdm/v1/cbrn_pb.d.ts.map +1 -0
  33. package/dist/gen/raft/wdm/v1/cbrn_pb.js +206 -0
  34. package/dist/gen/raft/wdm/v1/cbrn_pb.js.map +1 -0
  35. package/dist/gen/raft/wdm/v1/common_pb.d.ts +1019 -0
  36. package/dist/gen/raft/wdm/v1/common_pb.d.ts.map +1 -0
  37. package/dist/gen/raft/wdm/v1/common_pb.js +504 -0
  38. package/dist/gen/raft/wdm/v1/common_pb.js.map +1 -0
  39. package/dist/gen/raft/wdm/v1/comms_pb.d.ts +103 -0
  40. package/dist/gen/raft/wdm/v1/comms_pb.d.ts.map +1 -0
  41. package/dist/gen/raft/wdm/v1/comms_pb.js +52 -0
  42. package/dist/gen/raft/wdm/v1/comms_pb.js.map +1 -0
  43. package/dist/gen/raft/wdm/v1/correlation_pb.d.ts +212 -0
  44. package/dist/gen/raft/wdm/v1/correlation_pb.d.ts.map +1 -0
  45. package/dist/gen/raft/wdm/v1/correlation_pb.js +119 -0
  46. package/dist/gen/raft/wdm/v1/correlation_pb.js.map +1 -0
  47. package/dist/gen/raft/wdm/v1/ew_pb.d.ts +195 -0
  48. package/dist/gen/raft/wdm/v1/ew_pb.d.ts.map +1 -0
  49. package/dist/gen/raft/wdm/v1/ew_pb.js +140 -0
  50. package/dist/gen/raft/wdm/v1/ew_pb.js.map +1 -0
  51. package/dist/gen/raft/wdm/v1/ground_pb.d.ts +138 -0
  52. package/dist/gen/raft/wdm/v1/ground_pb.d.ts.map +1 -0
  53. package/dist/gen/raft/wdm/v1/ground_pb.js +110 -0
  54. package/dist/gen/raft/wdm/v1/ground_pb.js.map +1 -0
  55. package/dist/gen/raft/wdm/v1/identity_pb.d.ts +137 -0
  56. package/dist/gen/raft/wdm/v1/identity_pb.d.ts.map +1 -0
  57. package/dist/gen/raft/wdm/v1/identity_pb.js +79 -0
  58. package/dist/gen/raft/wdm/v1/identity_pb.js.map +1 -0
  59. package/dist/gen/raft/wdm/v1/maritime_pb.d.ts +179 -0
  60. package/dist/gen/raft/wdm/v1/maritime_pb.d.ts.map +1 -0
  61. package/dist/gen/raft/wdm/v1/maritime_pb.js +106 -0
  62. package/dist/gen/raft/wdm/v1/maritime_pb.js.map +1 -0
  63. package/dist/gen/raft/wdm/v1/object_pb.d.ts +547 -0
  64. package/dist/gen/raft/wdm/v1/object_pb.d.ts.map +1 -0
  65. package/dist/gen/raft/wdm/v1/object_pb.js +126 -0
  66. package/dist/gen/raft/wdm/v1/object_pb.js.map +1 -0
  67. package/dist/gen/raft/wdm/v1/ontology_pb.d.ts +258 -0
  68. package/dist/gen/raft/wdm/v1/ontology_pb.d.ts.map +1 -0
  69. package/dist/gen/raft/wdm/v1/ontology_pb.js +201 -0
  70. package/dist/gen/raft/wdm/v1/ontology_pb.js.map +1 -0
  71. package/dist/gen/raft/wdm/v1/orbital_pb.d.ts +175 -0
  72. package/dist/gen/raft/wdm/v1/orbital_pb.d.ts.map +1 -0
  73. package/dist/gen/raft/wdm/v1/orbital_pb.js +26 -0
  74. package/dist/gen/raft/wdm/v1/orbital_pb.js.map +1 -0
  75. package/dist/gen/raft/wdm/v1/organization_pb.d.ts +573 -0
  76. package/dist/gen/raft/wdm/v1/organization_pb.d.ts.map +1 -0
  77. package/dist/gen/raft/wdm/v1/organization_pb.js +448 -0
  78. package/dist/gen/raft/wdm/v1/organization_pb.js.map +1 -0
  79. package/dist/gen/raft/wdm/v1/platform_pb.d.ts +584 -0
  80. package/dist/gen/raft/wdm/v1/platform_pb.d.ts.map +1 -0
  81. package/dist/gen/raft/wdm/v1/platform_pb.js +280 -0
  82. package/dist/gen/raft/wdm/v1/platform_pb.js.map +1 -0
  83. package/dist/gen/raft/wdm/v1/relationship_pb.d.ts +283 -0
  84. package/dist/gen/raft/wdm/v1/relationship_pb.d.ts.map +1 -0
  85. package/dist/gen/raft/wdm/v1/relationship_pb.js +224 -0
  86. package/dist/gen/raft/wdm/v1/relationship_pb.js.map +1 -0
  87. package/dist/gen/raft/wdm/v1/security_pb.d.ts +112 -0
  88. package/dist/gen/raft/wdm/v1/security_pb.d.ts.map +1 -0
  89. package/dist/gen/raft/wdm/v1/security_pb.js +17 -0
  90. package/dist/gen/raft/wdm/v1/security_pb.js.map +1 -0
  91. package/dist/gen/raft/wdm/v1/sensor_pb.d.ts +278 -0
  92. package/dist/gen/raft/wdm/v1/sensor_pb.d.ts.map +1 -0
  93. package/dist/gen/raft/wdm/v1/sensor_pb.js +190 -0
  94. package/dist/gen/raft/wdm/v1/sensor_pb.js.map +1 -0
  95. package/dist/gen/raft/wdm/v1/service/action_service_pb.d.ts +734 -0
  96. package/dist/gen/raft/wdm/v1/service/action_service_pb.d.ts.map +1 -0
  97. package/dist/gen/raft/wdm/v1/service/action_service_pb.js +281 -0
  98. package/dist/gen/raft/wdm/v1/service/action_service_pb.js.map +1 -0
  99. package/dist/gen/raft/wdm/v1/service/object_service_pb.d.ts +742 -0
  100. package/dist/gen/raft/wdm/v1/service/object_service_pb.d.ts.map +1 -0
  101. package/dist/gen/raft/wdm/v1/service/object_service_pb.js +289 -0
  102. package/dist/gen/raft/wdm/v1/service/object_service_pb.js.map +1 -0
  103. package/dist/gen/raft/wdm/v1/service/query_pb.d.ts +1602 -0
  104. package/dist/gen/raft/wdm/v1/service/query_pb.d.ts.map +1 -0
  105. package/dist/gen/raft/wdm/v1/service/query_pb.js +222 -0
  106. package/dist/gen/raft/wdm/v1/service/query_pb.js.map +1 -0
  107. package/dist/gen/raft/wdm/v1/signal_pb.d.ts +309 -0
  108. package/dist/gen/raft/wdm/v1/signal_pb.d.ts.map +1 -0
  109. package/dist/gen/raft/wdm/v1/signal_pb.js +139 -0
  110. package/dist/gen/raft/wdm/v1/signal_pb.js.map +1 -0
  111. package/dist/gen/raft/wdm/v1/spatial_pb.d.ts +742 -0
  112. package/dist/gen/raft/wdm/v1/spatial_pb.d.ts.map +1 -0
  113. package/dist/gen/raft/wdm/v1/spatial_pb.js +196 -0
  114. package/dist/gen/raft/wdm/v1/spatial_pb.js.map +1 -0
  115. package/dist/gen/raft/wdm/v1/symbology_pb.d.ts +320 -0
  116. package/dist/gen/raft/wdm/v1/symbology_pb.d.ts.map +1 -0
  117. package/dist/gen/raft/wdm/v1/symbology_pb.js +61 -0
  118. package/dist/gen/raft/wdm/v1/symbology_pb.js.map +1 -0
  119. package/dist/gen/raft/wdm/v1/targeting_pb.d.ts +285 -0
  120. package/dist/gen/raft/wdm/v1/targeting_pb.d.ts.map +1 -0
  121. package/dist/gen/raft/wdm/v1/targeting_pb.js +162 -0
  122. package/dist/gen/raft/wdm/v1/targeting_pb.js.map +1 -0
  123. package/dist/gen/raft/wdm/v1/track_pb.d.ts +94 -0
  124. package/dist/gen/raft/wdm/v1/track_pb.d.ts.map +1 -0
  125. package/dist/gen/raft/wdm/v1/track_pb.js +44 -0
  126. package/dist/gen/raft/wdm/v1/track_pb.js.map +1 -0
  127. package/dist/gen/raft/wdm/v1/transponder_pb.d.ts +113 -0
  128. package/dist/gen/raft/wdm/v1/transponder_pb.d.ts.map +1 -0
  129. package/dist/gen/raft/wdm/v1/transponder_pb.js +47 -0
  130. package/dist/gen/raft/wdm/v1/transponder_pb.js.map +1 -0
  131. package/dist/gen/raft/wdm/v1/warfighting_function_pb.d.ts +108 -0
  132. package/dist/gen/raft/wdm/v1/warfighting_function_pb.d.ts.map +1 -0
  133. package/dist/gen/raft/wdm/v1/warfighting_function_pb.js +110 -0
  134. package/dist/gen/raft/wdm/v1/warfighting_function_pb.js.map +1 -0
  135. package/dist/gen/raft/wdm/v1/weather_pb.d.ts +279 -0
  136. package/dist/gen/raft/wdm/v1/weather_pb.d.ts.map +1 -0
  137. package/dist/gen/raft/wdm/v1/weather_pb.js +179 -0
  138. package/dist/gen/raft/wdm/v1/weather_pb.js.map +1 -0
  139. package/dist/package.json +77 -0
  140. package/dist/src/index.d.ts +2 -0
  141. package/dist/src/index.d.ts.map +1 -0
  142. package/dist/src/index.js +5 -0
  143. package/dist/src/index.js.map +1 -0
  144. package/dist/src/internal/auth.d.ts +67 -0
  145. package/dist/src/internal/auth.d.ts.map +1 -0
  146. package/dist/src/internal/auth.js +109 -0
  147. package/dist/src/internal/auth.js.map +1 -0
  148. package/dist/src/internal/config.d.ts +53 -0
  149. package/dist/src/internal/config.d.ts.map +1 -0
  150. package/dist/src/internal/config.js +109 -0
  151. package/dist/src/internal/config.js.map +1 -0
  152. package/dist/src/internal/index.d.ts +8 -0
  153. package/dist/src/internal/index.d.ts.map +1 -0
  154. package/dist/src/internal/index.js +7 -0
  155. package/dist/src/internal/index.js.map +1 -0
  156. package/dist/src/internal/interceptors.d.ts +18 -0
  157. package/dist/src/internal/interceptors.d.ts.map +1 -0
  158. package/dist/src/internal/interceptors.js +56 -0
  159. package/dist/src/internal/interceptors.js.map +1 -0
  160. package/dist/src/internal/logger.d.ts +16 -0
  161. package/dist/src/internal/logger.d.ts.map +1 -0
  162. package/dist/src/internal/logger.js +2 -0
  163. package/dist/src/internal/logger.js.map +1 -0
  164. package/dist/src/internal/node/logging.d.ts +9 -0
  165. package/dist/src/internal/node/logging.d.ts.map +1 -0
  166. package/dist/src/internal/node/logging.js +20 -0
  167. package/dist/src/internal/node/logging.js.map +1 -0
  168. package/dist/src/internal/node/options.d.ts +13 -0
  169. package/dist/src/internal/node/options.d.ts.map +1 -0
  170. package/dist/src/internal/node/options.js +13 -0
  171. package/dist/src/internal/node/options.js.map +1 -0
  172. package/dist/src/internal/node/token-fetcher.d.ts +9 -0
  173. package/dist/src/internal/node/token-fetcher.d.ts.map +1 -0
  174. package/dist/src/internal/node/token-fetcher.js +56 -0
  175. package/dist/src/internal/node/token-fetcher.js.map +1 -0
  176. package/dist/src/internal/oauth.d.ts +24 -0
  177. package/dist/src/internal/oauth.d.ts.map +1 -0
  178. package/dist/src/internal/oauth.js +43 -0
  179. package/dist/src/internal/oauth.js.map +1 -0
  180. package/dist/src/internal/options.d.ts +33 -0
  181. package/dist/src/internal/options.d.ts.map +1 -0
  182. package/dist/src/internal/options.js +32 -0
  183. package/dist/src/internal/options.js.map +1 -0
  184. package/dist/src/internal/transport.d.ts +29 -0
  185. package/dist/src/internal/transport.d.ts.map +1 -0
  186. package/dist/src/internal/transport.js +52 -0
  187. package/dist/src/internal/transport.js.map +1 -0
  188. package/dist/src/internal/version.d.ts +7 -0
  189. package/dist/src/internal/version.d.ts.map +1 -0
  190. package/dist/src/internal/version.js +8 -0
  191. package/dist/src/internal/version.js.map +1 -0
  192. package/dist/src/internal/web/logging.d.ts +8 -0
  193. package/dist/src/internal/web/logging.d.ts.map +1 -0
  194. package/dist/src/internal/web/logging.js +15 -0
  195. package/dist/src/internal/web/logging.js.map +1 -0
  196. package/dist/src/internal/web/token-fetcher.d.ts +8 -0
  197. package/dist/src/internal/web/token-fetcher.d.ts.map +1 -0
  198. package/dist/src/internal/web/token-fetcher.js +10 -0
  199. package/dist/src/internal/web/token-fetcher.js.map +1 -0
  200. package/dist/src/node/client.d.ts +37 -0
  201. package/dist/src/node/client.d.ts.map +1 -0
  202. package/dist/src/node/client.js +53 -0
  203. package/dist/src/node/client.js.map +1 -0
  204. package/dist/src/node/config.d.ts +27 -0
  205. package/dist/src/node/config.d.ts.map +1 -0
  206. package/dist/src/node/config.js +64 -0
  207. package/dist/src/node/config.js.map +1 -0
  208. package/dist/src/node/index.d.ts +6 -0
  209. package/dist/src/node/index.d.ts.map +1 -0
  210. package/dist/src/node/index.js +9 -0
  211. package/dist/src/node/index.js.map +1 -0
  212. package/dist/src/version.d.ts +2 -0
  213. package/dist/src/version.d.ts.map +1 -0
  214. package/dist/src/version.js +2 -0
  215. package/dist/src/version.js.map +1 -0
  216. package/dist/src/web/client.d.ts +44 -0
  217. package/dist/src/web/client.d.ts.map +1 -0
  218. package/dist/src/web/client.js +48 -0
  219. package/dist/src/web/client.js.map +1 -0
  220. package/dist/src/web/config.d.ts +18 -0
  221. package/dist/src/web/config.d.ts.map +1 -0
  222. package/dist/src/web/config.js +18 -0
  223. package/dist/src/web/config.js.map +1 -0
  224. package/dist/src/web/index.d.ts +5 -0
  225. package/dist/src/web/index.d.ts.map +1 -0
  226. package/dist/src/web/index.js +8 -0
  227. package/dist/src/web/index.js.map +1 -0
  228. package/gen/raft/wdm/v1/action_pb.ts +1800 -0
  229. package/gen/raft/wdm/v1/assessment_pb.ts +227 -0
  230. package/gen/raft/wdm/v1/aviation_pb.ts +233 -0
  231. package/gen/raft/wdm/v1/cbrn_pb.ts +321 -0
  232. package/gen/raft/wdm/v1/common_pb.ts +1173 -0
  233. package/gen/raft/wdm/v1/comms_pb.ts +126 -0
  234. package/gen/raft/wdm/v1/correlation_pb.ts +256 -0
  235. package/gen/raft/wdm/v1/ew_pb.ts +234 -0
  236. package/gen/raft/wdm/v1/ground_pb.ts +172 -0
  237. package/gen/raft/wdm/v1/identity_pb.ts +162 -0
  238. package/gen/raft/wdm/v1/maritime_pb.ts +220 -0
  239. package/gen/raft/wdm/v1/object_pb.ts +655 -0
  240. package/gen/raft/wdm/v1/ontology_pb.ts +299 -0
  241. package/gen/raft/wdm/v1/orbital_pb.ts +211 -0
  242. package/gen/raft/wdm/v1/organization_pb.ts +684 -0
  243. package/gen/raft/wdm/v1/platform_pb.ts +689 -0
  244. package/gen/raft/wdm/v1/relationship_pb.ts +332 -0
  245. package/gen/raft/wdm/v1/security_pb.ts +137 -0
  246. package/gen/raft/wdm/v1/sensor_pb.ts +329 -0
  247. package/gen/raft/wdm/v1/service/action_service_pb.ts +814 -0
  248. package/gen/raft/wdm/v1/service/object_service_pb.ts +819 -0
  249. package/gen/raft/wdm/v1/service/query_pb.ts +1702 -0
  250. package/gen/raft/wdm/v1/signal_pb.ts +370 -0
  251. package/gen/raft/wdm/v1/spatial_pb.ts +845 -0
  252. package/gen/raft/wdm/v1/symbology_pb.ts +373 -0
  253. package/gen/raft/wdm/v1/targeting_pb.ts +338 -0
  254. package/gen/raft/wdm/v1/track_pb.ts +115 -0
  255. package/gen/raft/wdm/v1/transponder_pb.ts +139 -0
  256. package/gen/raft/wdm/v1/warfighting_function_pb.ts +127 -0
  257. package/gen/raft/wdm/v1/weather_pb.ts +338 -0
  258. package/package.json +77 -0
@@ -0,0 +1,1602 @@
1
+ import type { GenEnum, GenFile, GenMessage } from "@bufbuild/protobuf/codegenv2";
2
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
3
+ import type { ActionPriority, ActionScope, ActionState } from "../action_pb.js";
4
+ import type { Affiliation, Environment } from "../assessment_pb.js";
5
+ import type { Principal } from "../common_pb.js";
6
+ import type { ObjectStatus } from "../object_pb.js";
7
+ import type { Message } from "@bufbuild/protobuf";
8
+ /**
9
+ * Describes the file raft/wdm/v1/service/query.proto.
10
+ */
11
+ export declare const file_raft_wdm_v1_service_query: GenFile;
12
+ /**
13
+ * Query criteria for retrieving actions from storage.
14
+ *
15
+ * Uses a flat structure where all criteria are combined with AND logic between
16
+ * fields, and OR logic within repeated fields. Optimized for efficient bulk
17
+ * retrieval. Empty query returns all actions.
18
+ *
19
+ * Logic semantics:
20
+ * - Multiple values within a repeated field use OR (e.g., states=[1,2] means
21
+ * state=DRAFT OR state=PENDING)
22
+ * - Different fields are combined with AND (e.g., states=[7] AND priorities=[3])
23
+ *
24
+ * Scope semantics:
25
+ * - The `scopes` field filters on Action.scope (ACTION_SCOPE_TASK, ORDER,
26
+ * ALERT, REPORT, PHASE, SUB_TASK, DIRECTIVE, PLAN). Multiple scopes use OR
27
+ * and combine with AND against the rest of the query. Omit to include all
28
+ * scopes.
29
+ *
30
+ * Examples:
31
+ *
32
+ * **Query high-priority in-progress actions:**
33
+ * ```
34
+ * {
35
+ * "states": [7],
36
+ * "priorities": [3]
37
+ * }
38
+ * ```
39
+ * Matches: `state=IN_PROGRESS AND priority=HIGH`
40
+ *
41
+ * **Query actions assigned to specific principals:**
42
+ * ```
43
+ * {
44
+ * "assigned_to": [
45
+ * {"id": "unit-123", "type": "PRINCIPAL_TYPE_OBJECT"}
46
+ * ]
47
+ * }
48
+ * ```
49
+ *
50
+ * **Query pending or approved fire missions:**
51
+ * ```
52
+ * {
53
+ * "states": [2, 3],
54
+ * "type": ["fire_mission"]
55
+ * }
56
+ * ```
57
+ * Matches: `(state=PENDING OR state=APPROVED) AND type="fire_mission"`
58
+ *
59
+ * **Query alerts and reports:**
60
+ * ```
61
+ * {
62
+ * "scopes": [7, 8]
63
+ * }
64
+ * ```
65
+ * Matches: `scope=ALERT OR scope=REPORT`
66
+ *
67
+ * **Query actions of type ISR Collection where details.sensor_type is "EO":**
68
+ * ```
69
+ * {
70
+ * "type": ["isr_collection"],
71
+ * "filter": {
72
+ * "actionPredicate": {
73
+ * "field": {
74
+ * "fieldPath": "details.sensor_type",
75
+ * "comparator": "FIELD_COMPARATOR_EQ",
76
+ * "value": { "stringValue": "EO" }
77
+ * }
78
+ * }
79
+ * }
80
+ * }
81
+ * ```
82
+ * Matches: `type="isr_collection" AND details.sensor_type == "EO"`
83
+ *
84
+ * **Query actions where details.sensor is EO or IR, and details.priority > 5:**
85
+ * ```
86
+ * {
87
+ * "filter": {
88
+ * "and": {
89
+ * "statements": [
90
+ * {
91
+ * "or": {
92
+ * "statements": [
93
+ * {
94
+ * "actionPredicate": {
95
+ * "field": {
96
+ * "fieldPath": "details.sensor",
97
+ * "comparator": "FIELD_COMPARATOR_EQ",
98
+ * "value": { "stringValue": "EO" }
99
+ * }
100
+ * }
101
+ * },
102
+ * {
103
+ * "actionPredicate": {
104
+ * "field": {
105
+ * "fieldPath": "details.sensor",
106
+ * "comparator": "FIELD_COMPARATOR_EQ",
107
+ * "value": { "stringValue": "IR" }
108
+ * }
109
+ * }
110
+ * }
111
+ * ]
112
+ * }
113
+ * },
114
+ * {
115
+ * "actionPredicate": {
116
+ * "field": {
117
+ * "fieldPath": "details.priority",
118
+ * "comparator": "FIELD_COMPARATOR_GT",
119
+ * "value": { "numberValue": 5 }
120
+ * }
121
+ * }
122
+ * }
123
+ * ]
124
+ * }
125
+ * }
126
+ * }
127
+ * ```
128
+ * Matches: `(details.sensor == "EO" OR details.sensor == "IR") AND details.priority > 5`
129
+ *
130
+ * **Query in-progress actions by state name (enum-by-name in a field predicate):**
131
+ * ```
132
+ * {
133
+ * "filter": {
134
+ * "actionPredicate": {
135
+ * "field": {
136
+ * "fieldPath": "state",
137
+ * "comparator": "FIELD_COMPARATOR_EQ",
138
+ * "value": { "stringValue": "ACTION_STATE_IN_PROGRESS" }
139
+ * }
140
+ * }
141
+ * }
142
+ * }
143
+ * ```
144
+ *
145
+ * @generated from message raft.wdm.v1.service.ActionQuery
146
+ */
147
+ export type ActionQuery = Message<"raft.wdm.v1.service.ActionQuery"> & {
148
+ /**
149
+ * Filter by action states. If empty, all states are included.
150
+ * Multiple states use OR logic: returns actions in ANY of these states.
151
+ *
152
+ * @generated from field: repeated raft.wdm.v1.ActionState states = 1;
153
+ */
154
+ states: ActionState[];
155
+ /**
156
+ * Filter by assigned principal. If not set, all assignments are included.
157
+ * Multiple principals use OR logic: returns actions assigned to ANY of
158
+ * these principals.
159
+ *
160
+ * @generated from field: repeated raft.wdm.v1.Principal assigned_to = 2;
161
+ */
162
+ assignedTo: Principal[];
163
+ /**
164
+ * Filter by requesting principal. If not set, all requestors are included.
165
+ * Multiple principals use OR logic: returns actions requested by ANY of
166
+ * these principals.
167
+ *
168
+ * @generated from field: repeated raft.wdm.v1.Principal requested_by = 3;
169
+ */
170
+ requestedBy: Principal[];
171
+ /**
172
+ * Filter by authorizing principal. If not set, all authorizers are included.
173
+ * Multiple principals use OR logic: returns actions authorized by ANY of
174
+ * these principals.
175
+ *
176
+ * @generated from field: repeated raft.wdm.v1.Principal authorized_by = 4;
177
+ */
178
+ authorizedBy: Principal[];
179
+ /**
180
+ * Filter by action type. If empty, all types are included.
181
+ * Multiple types use OR logic: returns actions of ANY of these types.
182
+ * Examples: "isr_collection", "fire_mission", "movement", "resupply",
183
+ * "contact", "sitrep".
184
+ *
185
+ * @generated from field: repeated string type = 5;
186
+ */
187
+ type: string[];
188
+ /**
189
+ * Filter by priority. If empty, all priorities are included.
190
+ * Multiple priorities use OR logic: returns actions with ANY of these
191
+ * priorities.
192
+ *
193
+ * @generated from field: repeated raft.wdm.v1.ActionPriority priorities = 6;
194
+ */
195
+ priorities: ActionPriority[];
196
+ /**
197
+ * Filter by provenance (source, update time).
198
+ * Returns actions matching these provenance criteria.
199
+ *
200
+ * @generated from field: raft.wdm.v1.service.ProvenanceCondition provenance = 7;
201
+ */
202
+ provenance?: ProvenanceCondition | undefined;
203
+ /**
204
+ * Advanced filter using the Statement expression tree for full AND/OR/NOT
205
+ * composition over action fields. Leaf nodes must use action_predicate.
206
+ * If not set, no additional filtering is applied.
207
+ *
208
+ * object_predicate leaves in the tree are ignored (fail-open).
209
+ *
210
+ * Example: filter actions where details.sensor_type == "EO":
211
+ * filter: {
212
+ * action_predicate: {
213
+ * field: {
214
+ * field_path: "details.sensor_type",
215
+ * comparator: FIELD_COMPARATOR_EQ,
216
+ * value: { string_value: "EO" }
217
+ * }
218
+ * }
219
+ * }
220
+ *
221
+ * Note that filter queries may be slow and are aggressively timed out.
222
+ *
223
+ * @generated from field: raft.wdm.v1.service.Statement filter = 8;
224
+ */
225
+ filter?: Statement | undefined;
226
+ /**
227
+ * Filter by action scope (TASK, ORDER, ALERT, REPORT, PHASE, SUB_TASK,
228
+ * DIRECTIVE, PLAN). Scope is an Action-specific concept that controls how
229
+ * consumers interpret the action. If empty, all scopes are included.
230
+ * Multiple scopes use OR logic: returns actions in ANY of these scopes.
231
+ *
232
+ * Common combinations:
233
+ * - scopes=[5] : only individual tasks
234
+ * - scopes=[7, 8] : only alerts and reports
235
+ * - scopes=[2, 3, 4] : planning hierarchy (orders, plans, phases)
236
+ *
237
+ * @generated from field: repeated raft.wdm.v1.ActionScope scopes = 9;
238
+ */
239
+ scopes: ActionScope[];
240
+ };
241
+ /**
242
+ * Describes the message raft.wdm.v1.service.ActionQuery.
243
+ * Use `create(ActionQuerySchema)` to create a new message.
244
+ */
245
+ export declare const ActionQuerySchema: GenMessage<ActionQuery>;
246
+ /**
247
+ * Query criteria for retrieving objects from storage.
248
+ *
249
+ * Uses a flat structure where all criteria are combined with AND logic between
250
+ * fields, and OR logic within repeated fields. Optimized for efficient bulk
251
+ * retrieval. Empty query returns all objects.
252
+ *
253
+ * For complex filtering (geographic bounding boxes, labels, nested boolean
254
+ * logic), stream objects and use ObjectStreamFilter instead.
255
+ *
256
+ * Logic semantics:
257
+ * - Multiple values within a repeated field use OR (e.g., statuses=[1,2] means
258
+ * status=ACTIVE OR status=INACTIVE)
259
+ * - Different fields are combined with AND (e.g., statuses=[1] AND
260
+ * affiliations=[7])
261
+ *
262
+ * Note: affiliation and environment filters traverse into the object's
263
+ * `assessment` submessage server-side. An affiliation filter matches
264
+ * `assessment.affiliation` and an environment filter matches
265
+ * `assessment.environment`. Objects missing an `assessment` are treated as
266
+ * having the UNSPECIFIED enum value for both.
267
+ *
268
+ * Examples:
269
+ *
270
+ * **Query hostile objects:**
271
+ * ```
272
+ * {
273
+ * "affiliations": [7]
274
+ * }
275
+ * ```
276
+ * Matches: `assessment.affiliation=HOSTILE`
277
+ *
278
+ * **Query surface entities positively identified as friendly:**
279
+ * ```
280
+ * {
281
+ * "environments": [5],
282
+ * "affiliations": [4]
283
+ * }
284
+ * ```
285
+ * Matches: `assessment.environment=SURFACE AND assessment.affiliation=FRIEND`
286
+ *
287
+ * **Query non-simulated surface objects:**
288
+ * ```
289
+ * {
290
+ * "environments": [5],
291
+ * "flags": { "is_simulated": false }
292
+ * }
293
+ * ```
294
+ *
295
+ * **Query objects from specific sources:**
296
+ * ```
297
+ * {
298
+ * "provenance": {
299
+ * "source_names": ["USS Roosevelt CIC", "SIGINT Station Alpha"]
300
+ * }
301
+ * }
302
+ * ```
303
+ *
304
+ * **Query objects updated recently:**
305
+ * ```
306
+ * {
307
+ * "provenance": {
308
+ * "updated_at": {
309
+ * "start": "2025-12-18T10:00:00Z"
310
+ * }
311
+ * }
312
+ * }
313
+ * ```
314
+ *
315
+ * @generated from message raft.wdm.v1.service.ObjectQuery
316
+ */
317
+ export type ObjectQuery = Message<"raft.wdm.v1.service.ObjectQuery"> & {
318
+ /**
319
+ * Filter by specific object IDs.
320
+ * Multiple IDs use OR logic: returns objects matching ANY of these IDs.
321
+ *
322
+ * @generated from field: repeated string object_ids = 1;
323
+ */
324
+ objectIds: string[];
325
+ /**
326
+ * Filter by object lifecycle status (ACTIVE, INACTIVE, DELETED).
327
+ * Multiple statuses use OR logic: returns objects with ANY of these statuses.
328
+ *
329
+ * @generated from field: repeated raft.wdm.v1.ObjectStatus statuses = 2;
330
+ */
331
+ statuses: ObjectStatus[];
332
+ /**
333
+ * Filter by affiliation (FRIEND, HOSTILE, NEUTRAL, etc.). Traverses
334
+ * assessment.affiliation server-side.
335
+ * Multiple affiliations use OR logic: returns objects with ANY of these
336
+ * affiliations.
337
+ *
338
+ * @generated from field: repeated raft.wdm.v1.Affiliation affiliations = 3;
339
+ */
340
+ affiliations: Affiliation[];
341
+ /**
342
+ * Filter by operating environment (SURFACE, AIR, SUBSURFACE, etc.).
343
+ * Traverses assessment.environment server-side.
344
+ * Multiple environments use OR logic: returns objects in ANY of these
345
+ * environments.
346
+ *
347
+ * @generated from field: repeated raft.wdm.v1.Environment environments = 4;
348
+ */
349
+ environments: Environment[];
350
+ /**
351
+ * Filter by operational flags (simulation, exercise, actionability).
352
+ * Returns objects matching these operational flags.
353
+ *
354
+ * @generated from field: raft.wdm.v1.service.ObjectFlagsCondition flags = 5;
355
+ */
356
+ flags?: ObjectFlagsCondition | undefined;
357
+ /**
358
+ * Filter by provenance (source, update time, source node).
359
+ * Returns objects matching these provenance criteria.
360
+ *
361
+ * @generated from field: raft.wdm.v1.service.ProvenanceCondition provenance = 6;
362
+ */
363
+ provenance?: ProvenanceCondition | undefined;
364
+ };
365
+ /**
366
+ * Describes the message raft.wdm.v1.service.ObjectQuery.
367
+ * Use `create(ObjectQuerySchema)` to create a new message.
368
+ */
369
+ export declare const ObjectQuerySchema: GenMessage<ObjectQuery>;
370
+ /**
371
+ * Filter criteria for streaming objects with real-time updates.
372
+ *
373
+ * Uses a statement-based composition pattern that allows for constructing
374
+ * complex boolean logic for precise filtering of streaming data.
375
+ * Empty filter returns all objects.
376
+ *
377
+ * For querying stored objects, use ObjectQuery instead.
378
+ *
379
+ * Examples:
380
+ *
381
+ * **Simple filter - all hostile objects:**
382
+ * ```
383
+ * {
384
+ * "statement": {
385
+ * "object_predicate": { "affiliations": { "values": [7] } }
386
+ * }
387
+ * }
388
+ * ```
389
+ *
390
+ * **OR logic - friend or neutral:**
391
+ * ```
392
+ * {
393
+ * "statement": {
394
+ * "or": {
395
+ * "statements": [
396
+ * { "object_predicate": { "affiliations": { "values": [4] } } },
397
+ * { "object_predicate": { "affiliations": { "values": [5] } } }
398
+ * ]
399
+ * }
400
+ * }
401
+ * }
402
+ * ```
403
+ *
404
+ * **NOT logic - non-simulated objects:**
405
+ * ```
406
+ * {
407
+ * "statement": {
408
+ * "not": {
409
+ * "statement": {
410
+ * "object_predicate": { "flags": { "is_simulated": true } }
411
+ * }
412
+ * }
413
+ * }
414
+ * }
415
+ * ```
416
+ *
417
+ * **Complex nested - air or surface AND hostile AND NOT simulated:**
418
+ * ```
419
+ * {
420
+ * "statement": {
421
+ * "and": {
422
+ * "statements": [
423
+ * {
424
+ * "or": {
425
+ * "statements": [
426
+ * { "object_predicate": { "environments": { "values": [4] } } },
427
+ * { "object_predicate": { "environments": { "values": [5] } } }
428
+ * ]
429
+ * }
430
+ * },
431
+ * { "object_predicate": { "affiliations": { "values": [7] } } },
432
+ * {
433
+ * "not": {
434
+ * "statement": {
435
+ * "object_predicate": { "flags": { "is_simulated": true } }
436
+ * }
437
+ * }
438
+ * }
439
+ * ]
440
+ * }
441
+ * }
442
+ * }
443
+ * ```
444
+ *
445
+ * **Geographic filter - objects in a specific area:**
446
+ * ```
447
+ * {
448
+ * "statement": {
449
+ * "object_predicate": {
450
+ * "bounding_box": {
451
+ * "value": {
452
+ * "min_latitude": 33.0,
453
+ * "min_longitude": 44.0,
454
+ * "max_latitude": 34.0,
455
+ * "max_longitude": 45.0
456
+ * }
457
+ * }
458
+ * }
459
+ * }
460
+ * }
461
+ * ```
462
+ *
463
+ * **Multi-environment - surface or subsurface objects:**
464
+ * ```
465
+ * {
466
+ * "statement": {
467
+ * "object_predicate": {
468
+ * "environments": { "values": [5, 6] }
469
+ * }
470
+ * }
471
+ * }
472
+ * ```
473
+ *
474
+ * @generated from message raft.wdm.v1.service.ObjectStreamFilter
475
+ */
476
+ export type ObjectStreamFilter = Message<"raft.wdm.v1.service.ObjectStreamFilter"> & {
477
+ /**
478
+ * Root statement of the filter expression tree.
479
+ * If not provided, returns all objects.
480
+ *
481
+ * @generated from field: raft.wdm.v1.service.Statement statement = 1;
482
+ */
483
+ statement?: Statement | undefined;
484
+ };
485
+ /**
486
+ * Describes the message raft.wdm.v1.service.ObjectStreamFilter.
487
+ * Use `create(ObjectStreamFilterSchema)` to create a new message.
488
+ */
489
+ export declare const ObjectStreamFilterSchema: GenMessage<ObjectStreamFilter>;
490
+ /**
491
+ * A Statement is the building block of the object filter. The outermost
492
+ * statement is the root of an expression tree which enables complete boolean
493
+ * logic. Statements are formed by grouping child statements or predicates
494
+ * according to the boolean operation to be applied.
495
+ *
496
+ * Examples:
497
+ *
498
+ * **Leaf predicate - match hostile affiliation:**
499
+ * ```
500
+ * Statement {
501
+ * object_predicate: {
502
+ * affiliations: { values: [7] }
503
+ * }
504
+ * }
505
+ * ```
506
+ *
507
+ * **AND operation - surface objects that are hostile:**
508
+ * ```
509
+ * Statement {
510
+ * and: {
511
+ * statements: [
512
+ * Statement { object_predicate: { environments: { values: [5] } } },
513
+ * Statement { object_predicate: { affiliations: { values: [7] } } }
514
+ * ]
515
+ * }
516
+ * }
517
+ * ```
518
+ *
519
+ * **OR operation - friend or neutral:**
520
+ * ```
521
+ * Statement {
522
+ * or: {
523
+ * statements: [
524
+ * Statement { object_predicate: { affiliations: { values: [4] } } },
525
+ * Statement { object_predicate: { affiliations: { values: [5] } } }
526
+ * ]
527
+ * }
528
+ * }
529
+ * ```
530
+ *
531
+ * **NOT operation - exclude simulated:**
532
+ * ```
533
+ * Statement {
534
+ * not: {
535
+ * statement: Statement { object_predicate: { flags: { is_simulated: true } } }
536
+ * }
537
+ * }
538
+ * ```
539
+ *
540
+ * **Nested composition - (air OR surface) AND (hostile OR suspect):**
541
+ * ```
542
+ * Statement {
543
+ * and: {
544
+ * statements: [
545
+ * Statement {
546
+ * or: {
547
+ * statements: [
548
+ * Statement { object_predicate: { environments: { values: [4] } } },
549
+ * Statement { object_predicate: { environments: { values: [5] } } }
550
+ * ]
551
+ * }
552
+ * },
553
+ * Statement {
554
+ * or: {
555
+ * statements: [
556
+ * Statement { object_predicate: { affiliations: { values: [7] } } },
557
+ * Statement { object_predicate: { affiliations: { values: [6] } } }
558
+ * ]
559
+ * }
560
+ * }
561
+ * ]
562
+ * }
563
+ * }
564
+ * ```
565
+ *
566
+ * @generated from message raft.wdm.v1.service.Statement
567
+ */
568
+ export type Statement = Message<"raft.wdm.v1.service.Statement"> & {
569
+ /**
570
+ * @generated from oneof raft.wdm.v1.service.Statement.operation
571
+ */
572
+ operation: {
573
+ /**
574
+ * Boolean AND: all child statements must evaluate to true.
575
+ *
576
+ * @generated from field: raft.wdm.v1.service.AndOperation and = 1;
577
+ */
578
+ value: AndOperation;
579
+ case: "and";
580
+ } | {
581
+ /**
582
+ * Boolean OR: at least one child statement must evaluate to true.
583
+ *
584
+ * @generated from field: raft.wdm.v1.service.OrOperation or = 2;
585
+ */
586
+ value: OrOperation;
587
+ case: "or";
588
+ } | {
589
+ /**
590
+ * Boolean NOT: negates the child statement.
591
+ *
592
+ * @generated from field: raft.wdm.v1.service.NotOperation not = 3;
593
+ */
594
+ value: NotOperation;
595
+ case: "not";
596
+ } | {
597
+ /**
598
+ * Leaf predicate: evaluates a specific object field condition.
599
+ * Should not be mixed with action_predicate in the same tree;
600
+ * mismatched predicates are ignored (fail-open) by the evaluator.
601
+ *
602
+ * @generated from field: raft.wdm.v1.service.ObjectPredicate object_predicate = 4;
603
+ */
604
+ value: ObjectPredicate;
605
+ case: "objectPredicate";
606
+ } | {
607
+ /**
608
+ * Leaf predicate: evaluates a specific action field condition.
609
+ * Should not be mixed with object_predicate in the same tree;
610
+ * mismatched predicates are ignored (fail-open) by the evaluator.
611
+ *
612
+ * @generated from field: raft.wdm.v1.service.ActionPredicate action_predicate = 5;
613
+ */
614
+ value: ActionPredicate;
615
+ case: "actionPredicate";
616
+ } | {
617
+ case: undefined;
618
+ value?: undefined;
619
+ };
620
+ };
621
+ /**
622
+ * Describes the message raft.wdm.v1.service.Statement.
623
+ * Use `create(StatementSchema)` to create a new message.
624
+ */
625
+ export declare const StatementSchema: GenMessage<Statement>;
626
+ /**
627
+ * AND operation applied to child statements.
628
+ *
629
+ * @generated from message raft.wdm.v1.service.AndOperation
630
+ */
631
+ export type AndOperation = Message<"raft.wdm.v1.service.AndOperation"> & {
632
+ /**
633
+ * @generated from field: repeated raft.wdm.v1.service.Statement statements = 1;
634
+ */
635
+ statements: Statement[];
636
+ };
637
+ /**
638
+ * Describes the message raft.wdm.v1.service.AndOperation.
639
+ * Use `create(AndOperationSchema)` to create a new message.
640
+ */
641
+ export declare const AndOperationSchema: GenMessage<AndOperation>;
642
+ /**
643
+ * OR operation applied to child statements.
644
+ *
645
+ * @generated from message raft.wdm.v1.service.OrOperation
646
+ */
647
+ export type OrOperation = Message<"raft.wdm.v1.service.OrOperation"> & {
648
+ /**
649
+ * @generated from field: repeated raft.wdm.v1.service.Statement statements = 1;
650
+ */
651
+ statements: Statement[];
652
+ };
653
+ /**
654
+ * Describes the message raft.wdm.v1.service.OrOperation.
655
+ * Use `create(OrOperationSchema)` to create a new message.
656
+ */
657
+ export declare const OrOperationSchema: GenMessage<OrOperation>;
658
+ /**
659
+ * NOT operation applied to a single child statement.
660
+ *
661
+ * @generated from message raft.wdm.v1.service.NotOperation
662
+ */
663
+ export type NotOperation = Message<"raft.wdm.v1.service.NotOperation"> & {
664
+ /**
665
+ * @generated from field: raft.wdm.v1.service.Statement statement = 1;
666
+ */
667
+ statement?: Statement | undefined;
668
+ };
669
+ /**
670
+ * Describes the message raft.wdm.v1.service.NotOperation.
671
+ * Use `create(NotOperationSchema)` to create a new message.
672
+ */
673
+ export declare const NotOperationSchema: GenMessage<NotOperation>;
674
+ /**
675
+ * An ObjectPredicate is a leaf node in the filter expression tree that
676
+ * evaluates a specific condition against object fields. Each predicate tests
677
+ * one aspect of an object.
678
+ *
679
+ * Examples:
680
+ *
681
+ * **Status filter - match active objects:**
682
+ * ```
683
+ * ObjectPredicate { statuses: { values: [1] } }
684
+ * ```
685
+ *
686
+ * **Affiliation filter - match hostile objects:**
687
+ * ```
688
+ * ObjectPredicate { affiliations: { values: [7] } }
689
+ * ```
690
+ *
691
+ * **Multiple values - match friend OR neutral:**
692
+ * ```
693
+ * ObjectPredicate { affiliations: { values: [4, 5] } }
694
+ * ```
695
+ *
696
+ * **Bounding box - objects in Iraq (approx):**
697
+ * ```
698
+ * ObjectPredicate {
699
+ * bounding_box: {
700
+ * value: {
701
+ * min_latitude: 29.0,
702
+ * min_longitude: 39.0,
703
+ * max_latitude: 37.0,
704
+ * max_longitude: 49.0
705
+ * }
706
+ * }
707
+ * }
708
+ * ```
709
+ *
710
+ * **Label filter - maritime AIS objects:**
711
+ * ```
712
+ * ObjectPredicate {
713
+ * labels: {
714
+ * values: {
715
+ * "domain": "maritime",
716
+ * "source": "ais"
717
+ * }
718
+ * }
719
+ * }
720
+ * ```
721
+ *
722
+ * **Operational flags - only real (non-simulated) objects:**
723
+ * ```
724
+ * ObjectPredicate { flags: { is_simulated: false } }
725
+ * ```
726
+ *
727
+ * **Operational flags - simulated exercise objects:**
728
+ * ```
729
+ * ObjectPredicate { flags: { is_simulated: true, is_exercise: true } }
730
+ * ```
731
+ *
732
+ * **Operational flags - actionable real-world objects:**
733
+ * ```
734
+ * ObjectPredicate { flags: { is_simulated: false, is_actionable: true } }
735
+ * ```
736
+ *
737
+ * **Provenance - objects from specific sources:**
738
+ * ```
739
+ * ObjectPredicate {
740
+ * provenance: {
741
+ * source_names: ["USS Roosevelt CIC", "SIGINT Station Alpha"]
742
+ * }
743
+ * }
744
+ * ```
745
+ *
746
+ * **Provenance - objects updated in last hour:**
747
+ * ```
748
+ * ObjectPredicate {
749
+ * provenance: {
750
+ * updated_at: {
751
+ * start: "2025-12-18T10:00:00Z",
752
+ * end: "2025-12-18T11:00:00Z"
753
+ * }
754
+ * }
755
+ * }
756
+ * ```
757
+ *
758
+ * **Provenance - specific source updated recently:**
759
+ * ```
760
+ * ObjectPredicate {
761
+ * provenance: {
762
+ * source_names: ["USS Roosevelt CIC"],
763
+ * updated_at: {
764
+ * start: "2025-12-18T10:00:00Z"
765
+ * }
766
+ * }
767
+ * }
768
+ * ```
769
+ *
770
+ * @generated from message raft.wdm.v1.service.ObjectPredicate
771
+ */
772
+ export type ObjectPredicate = Message<"raft.wdm.v1.service.ObjectPredicate"> & {
773
+ /**
774
+ * @generated from oneof raft.wdm.v1.service.ObjectPredicate.condition
775
+ */
776
+ condition: {
777
+ /**
778
+ * Match objects with any of the specified IDs.
779
+ *
780
+ * @generated from field: raft.wdm.v1.service.ObjectIdCondition object_ids = 1;
781
+ */
782
+ value: ObjectIdCondition;
783
+ case: "objectIds";
784
+ } | {
785
+ /**
786
+ * Match objects with any of the specified statuses.
787
+ *
788
+ * @generated from field: raft.wdm.v1.service.StatusCondition statuses = 2;
789
+ */
790
+ value: StatusCondition;
791
+ case: "statuses";
792
+ } | {
793
+ /**
794
+ * Match objects with any of the specified affiliations.
795
+ * Traverses assessment.affiliation server-side.
796
+ *
797
+ * @generated from field: raft.wdm.v1.service.AffiliationCondition affiliations = 3;
798
+ */
799
+ value: AffiliationCondition;
800
+ case: "affiliations";
801
+ } | {
802
+ /**
803
+ * Match objects in any of the specified environments.
804
+ * Traverses assessment.environment server-side.
805
+ *
806
+ * @generated from field: raft.wdm.v1.service.EnvironmentCondition environments = 4;
807
+ */
808
+ value: EnvironmentCondition;
809
+ case: "environments";
810
+ } | {
811
+ /**
812
+ * Match objects within the specified geographic area.
813
+ *
814
+ * @generated from field: raft.wdm.v1.service.BoundingBoxCondition bounding_box = 5;
815
+ */
816
+ value: BoundingBoxCondition;
817
+ case: "boundingBox";
818
+ } | {
819
+ /**
820
+ * Match objects with all specified labels (key-value pairs).
821
+ *
822
+ * @generated from field: raft.wdm.v1.service.LabelCondition labels = 6;
823
+ */
824
+ value: LabelCondition;
825
+ case: "labels";
826
+ } | {
827
+ /**
828
+ * Match objects based on operational flags (simulation, exercise,
829
+ * actionability).
830
+ *
831
+ * @generated from field: raft.wdm.v1.service.ObjectFlagsCondition flags = 7;
832
+ */
833
+ value: ObjectFlagsCondition;
834
+ case: "flags";
835
+ } | {
836
+ /**
837
+ * Match objects based on provenance (source, update time, source node).
838
+ *
839
+ * @generated from field: raft.wdm.v1.service.ProvenanceCondition provenance = 8;
840
+ */
841
+ value: ProvenanceCondition;
842
+ case: "provenance";
843
+ } | {
844
+ /**
845
+ * Generic field-level condition using dot-notation paths and comparison
846
+ * operators. Enables filtering on any object field without requiring a
847
+ * purpose-built condition type.
848
+ *
849
+ * Uses protobuf field names (snake_case) resolved relative to Object.
850
+ * Supports traversal through nested messages and oneof fields.
851
+ *
852
+ * Examples:
853
+ *
854
+ * **Speed filter - objects faster than 15 m/s on a single axis:**
855
+ * ```
856
+ * ObjectPredicate {
857
+ * field: {
858
+ * field_path: "motion.velocity_enu_mps.x",
859
+ * comparator: FIELD_COMPARATOR_GT,
860
+ * value: { number_value: 15.0 }
861
+ * }
862
+ * }
863
+ * ```
864
+ *
865
+ * **Enum by name - hostile affiliation:**
866
+ * ```
867
+ * ObjectPredicate {
868
+ * field: {
869
+ * field_path: "assessment.affiliation",
870
+ * comparator: FIELD_COMPARATOR_EQ,
871
+ * value: { string_value: "AFFILIATION_HOSTILE" }
872
+ * }
873
+ * }
874
+ * ```
875
+ *
876
+ * **EXISTS - object has assessment set:**
877
+ * ```
878
+ * ObjectPredicate {
879
+ * field: {
880
+ * field_path: "assessment",
881
+ * comparator: FIELD_COMPARATOR_EXISTS
882
+ * }
883
+ * }
884
+ * ```
885
+ *
886
+ * **Type discrimination - object is a maritime vessel:**
887
+ * ```
888
+ * ObjectPredicate {
889
+ * field: {
890
+ * field_path: "type_info.maritime",
891
+ * comparator: FIELD_COMPARATOR_EXISTS
892
+ * }
893
+ * }
894
+ * ```
895
+ *
896
+ * **Shape discrimination - object is a circle:**
897
+ * ```
898
+ * ObjectPredicate {
899
+ * field: {
900
+ * field_path: "shape.circle",
901
+ * comparator: FIELD_COMPARATOR_EXISTS
902
+ * }
903
+ * }
904
+ * ```
905
+ *
906
+ * **IN list - object is in surface or subsurface environment:**
907
+ * ```
908
+ * ObjectPredicate {
909
+ * field: {
910
+ * field_path: "assessment.environment",
911
+ * comparator: FIELD_COMPARATOR_IN,
912
+ * value: {
913
+ * list_value: {
914
+ * values: [
915
+ * { string_value: "ENVIRONMENT_SURFACE" },
916
+ * { string_value: "ENVIRONMENT_SUBSURFACE" }
917
+ * ]
918
+ * }
919
+ * }
920
+ * }
921
+ * }
922
+ * ```
923
+ *
924
+ * **Case-insensitive name match:**
925
+ * ```
926
+ * ObjectPredicate {
927
+ * field: {
928
+ * field_path: "name",
929
+ * comparator: FIELD_COMPARATOR_IEQ,
930
+ * value: { string_value: "uss roosevelt" }
931
+ * }
932
+ * }
933
+ * ```
934
+ *
935
+ * **Case-insensitive enum IN list:**
936
+ * ```
937
+ * ObjectPredicate {
938
+ * field: {
939
+ * field_path: "assessment.affiliation",
940
+ * comparator: FIELD_COMPARATOR_IEQ_IN,
941
+ * value: {
942
+ * list_value: {
943
+ * values: [
944
+ * { string_value: "affiliation_hostile" },
945
+ * { string_value: "affiliation_suspect" }
946
+ * ]
947
+ * }
948
+ * }
949
+ * }
950
+ * }
951
+ * ```
952
+ *
953
+ * @generated from field: raft.wdm.v1.service.FieldCondition field = 9;
954
+ */
955
+ value: FieldCondition;
956
+ case: "field";
957
+ } | {
958
+ case: undefined;
959
+ value?: undefined;
960
+ };
961
+ };
962
+ /**
963
+ * Describes the message raft.wdm.v1.service.ObjectPredicate.
964
+ * Use `create(ObjectPredicateSchema)` to create a new message.
965
+ */
966
+ export declare const ObjectPredicateSchema: GenMessage<ObjectPredicate>;
967
+ /**
968
+ * An ActionPredicate is a leaf node in the filter expression tree that
969
+ * evaluates a specific condition against action fields. Parallel to
970
+ * ObjectPredicate but scoped to action-specific concerns.
971
+ *
972
+ * Currently supports generic field-level filtering via the field condition.
973
+ * Additional action-specific conditions (e.g., state, priority, scope,
974
+ * assignment) may be added in future iterations as purpose-built shortcuts.
975
+ *
976
+ * Examples:
977
+ *
978
+ * **Filter by action type:**
979
+ * ```
980
+ * ActionPredicate {
981
+ * field: {
982
+ * field_path: "type",
983
+ * comparator: FIELD_COMPARATOR_EQ,
984
+ * value: { string_value: "isr_collection" }
985
+ * }
986
+ * }
987
+ * ```
988
+ *
989
+ * **Filter by scope:**
990
+ * ```
991
+ * ActionPredicate {
992
+ * field: {
993
+ * field_path: "scope",
994
+ * comparator: FIELD_COMPARATOR_EQ,
995
+ * value: { string_value: "ACTION_SCOPE_ALERT" }
996
+ * }
997
+ * }
998
+ * ```
999
+ *
1000
+ * **Filter by details field - sensor_type equals "EO":**
1001
+ * ```
1002
+ * ActionPredicate {
1003
+ * field: {
1004
+ * field_path: "details.sensor_type",
1005
+ * comparator: FIELD_COMPARATOR_EQ,
1006
+ * value: { string_value: "EO" }
1007
+ * }
1008
+ * }
1009
+ * ```
1010
+ *
1011
+ * **Check if BDA has been attached:**
1012
+ * ```
1013
+ * ActionPredicate {
1014
+ * field: {
1015
+ * field_path: "bda",
1016
+ * comparator: FIELD_COMPARATOR_EXISTS
1017
+ * }
1018
+ * }
1019
+ * ```
1020
+ *
1021
+ * @generated from message raft.wdm.v1.service.ActionPredicate
1022
+ */
1023
+ export type ActionPredicate = Message<"raft.wdm.v1.service.ActionPredicate"> & {
1024
+ /**
1025
+ * @generated from oneof raft.wdm.v1.service.ActionPredicate.condition
1026
+ */
1027
+ condition: {
1028
+ /**
1029
+ * Generic field-level condition using dot-notation paths and comparison
1030
+ * operators. Enables filtering on any Action field without requiring a
1031
+ * purpose-built condition type.
1032
+ *
1033
+ * Uses protobuf field names (snake_case), resolved relative to Action.
1034
+ * Supports traversal through nested messages, oneof fields, and
1035
+ * google.protobuf.Struct fields (e.g., "details.sensor_type").
1036
+ *
1037
+ * @generated from field: raft.wdm.v1.service.FieldCondition field = 1;
1038
+ */
1039
+ value: FieldCondition;
1040
+ case: "field";
1041
+ } | {
1042
+ case: undefined;
1043
+ value?: undefined;
1044
+ };
1045
+ };
1046
+ /**
1047
+ * Describes the message raft.wdm.v1.service.ActionPredicate.
1048
+ * Use `create(ActionPredicateSchema)` to create a new message.
1049
+ */
1050
+ export declare const ActionPredicateSchema: GenMessage<ActionPredicate>;
1051
+ /**
1052
+ * Condition for matching object IDs.
1053
+ *
1054
+ * @generated from message raft.wdm.v1.service.ObjectIdCondition
1055
+ */
1056
+ export type ObjectIdCondition = Message<"raft.wdm.v1.service.ObjectIdCondition"> & {
1057
+ /**
1058
+ * Object must match one of these IDs.
1059
+ *
1060
+ * @generated from field: repeated string values = 1;
1061
+ */
1062
+ values: string[];
1063
+ };
1064
+ /**
1065
+ * Describes the message raft.wdm.v1.service.ObjectIdCondition.
1066
+ * Use `create(ObjectIdConditionSchema)` to create a new message.
1067
+ */
1068
+ export declare const ObjectIdConditionSchema: GenMessage<ObjectIdCondition>;
1069
+ /**
1070
+ * Condition for matching object statuses.
1071
+ *
1072
+ * @generated from message raft.wdm.v1.service.StatusCondition
1073
+ */
1074
+ export type StatusCondition = Message<"raft.wdm.v1.service.StatusCondition"> & {
1075
+ /**
1076
+ * Object must match one of these statuses.
1077
+ *
1078
+ * @generated from field: repeated raft.wdm.v1.ObjectStatus values = 1;
1079
+ */
1080
+ values: ObjectStatus[];
1081
+ };
1082
+ /**
1083
+ * Describes the message raft.wdm.v1.service.StatusCondition.
1084
+ * Use `create(StatusConditionSchema)` to create a new message.
1085
+ */
1086
+ export declare const StatusConditionSchema: GenMessage<StatusCondition>;
1087
+ /**
1088
+ * Condition for matching object affiliations.
1089
+ * Evaluated against assessment.affiliation server-side.
1090
+ *
1091
+ * @generated from message raft.wdm.v1.service.AffiliationCondition
1092
+ */
1093
+ export type AffiliationCondition = Message<"raft.wdm.v1.service.AffiliationCondition"> & {
1094
+ /**
1095
+ * Object must match one of these affiliations.
1096
+ *
1097
+ * @generated from field: repeated raft.wdm.v1.Affiliation values = 1;
1098
+ */
1099
+ values: Affiliation[];
1100
+ };
1101
+ /**
1102
+ * Describes the message raft.wdm.v1.service.AffiliationCondition.
1103
+ * Use `create(AffiliationConditionSchema)` to create a new message.
1104
+ */
1105
+ export declare const AffiliationConditionSchema: GenMessage<AffiliationCondition>;
1106
+ /**
1107
+ * Condition for matching object operating environments.
1108
+ * Evaluated against assessment.environment server-side.
1109
+ *
1110
+ * @generated from message raft.wdm.v1.service.EnvironmentCondition
1111
+ */
1112
+ export type EnvironmentCondition = Message<"raft.wdm.v1.service.EnvironmentCondition"> & {
1113
+ /**
1114
+ * Object must match one of these environments.
1115
+ *
1116
+ * @generated from field: repeated raft.wdm.v1.Environment values = 1;
1117
+ */
1118
+ values: Environment[];
1119
+ };
1120
+ /**
1121
+ * Describes the message raft.wdm.v1.service.EnvironmentCondition.
1122
+ * Use `create(EnvironmentConditionSchema)` to create a new message.
1123
+ */
1124
+ export declare const EnvironmentConditionSchema: GenMessage<EnvironmentCondition>;
1125
+ /**
1126
+ * Condition for matching objects within a geographic bounding box.
1127
+ *
1128
+ * @generated from message raft.wdm.v1.service.BoundingBoxCondition
1129
+ */
1130
+ export type BoundingBoxCondition = Message<"raft.wdm.v1.service.BoundingBoxCondition"> & {
1131
+ /**
1132
+ * @generated from field: raft.wdm.v1.service.GeographicBoundingBox value = 1;
1133
+ */
1134
+ value?: GeographicBoundingBox | undefined;
1135
+ };
1136
+ /**
1137
+ * Describes the message raft.wdm.v1.service.BoundingBoxCondition.
1138
+ * Use `create(BoundingBoxConditionSchema)` to create a new message.
1139
+ */
1140
+ export declare const BoundingBoxConditionSchema: GenMessage<BoundingBoxCondition>;
1141
+ /**
1142
+ * Condition for matching object labels.
1143
+ *
1144
+ * @generated from message raft.wdm.v1.service.LabelCondition
1145
+ */
1146
+ export type LabelCondition = Message<"raft.wdm.v1.service.LabelCondition"> & {
1147
+ /**
1148
+ * Object must have ALL of these labels (AND logic within the map).
1149
+ *
1150
+ * @generated from field: map<string, string> values = 1;
1151
+ */
1152
+ values: {
1153
+ [key: string]: string;
1154
+ };
1155
+ };
1156
+ /**
1157
+ * Describes the message raft.wdm.v1.service.LabelCondition.
1158
+ * Use `create(LabelConditionSchema)` to create a new message.
1159
+ */
1160
+ export declare const LabelConditionSchema: GenMessage<LabelCondition>;
1161
+ /**
1162
+ * Condition for matching object operational flags.
1163
+ * Use optional fields to match on specific flags. If a field is not set,
1164
+ * that flag is not considered in the match.
1165
+ *
1166
+ * Examples:
1167
+ * - Match only simulated: `{ is_simulated: true }`
1168
+ * - Match only non-simulated: `{ is_simulated: false }`
1169
+ * - Match only exercise: `{ is_exercise: true }`
1170
+ * - Match simulated AND exercise: `{ is_simulated: true, is_exercise: true }`
1171
+ * - Match actionable live objects: `{ is_simulated: false, is_actionable: true }`
1172
+ *
1173
+ * @generated from message raft.wdm.v1.service.ObjectFlagsCondition
1174
+ */
1175
+ export type ObjectFlagsCondition = Message<"raft.wdm.v1.service.ObjectFlagsCondition"> & {
1176
+ /**
1177
+ * If set, match objects where is_simulated equals this value.
1178
+ *
1179
+ * @generated from field: optional bool is_simulated = 1;
1180
+ */
1181
+ isSimulated?: boolean | undefined;
1182
+ /**
1183
+ * If set, match objects where is_exercise equals this value.
1184
+ *
1185
+ * @generated from field: optional bool is_exercise = 2;
1186
+ */
1187
+ isExercise?: boolean | undefined;
1188
+ /**
1189
+ * If set, match objects where is_actionable equals this value.
1190
+ * Actionable means the object can receive warfighting actions.
1191
+ *
1192
+ * @generated from field: optional bool is_actionable = 3;
1193
+ */
1194
+ isActionable?: boolean | undefined;
1195
+ };
1196
+ /**
1197
+ * Describes the message raft.wdm.v1.service.ObjectFlagsCondition.
1198
+ * Use `create(ObjectFlagsConditionSchema)` to create a new message.
1199
+ */
1200
+ export declare const ObjectFlagsConditionSchema: GenMessage<ObjectFlagsCondition>;
1201
+ /**
1202
+ * Condition for matching provenance (data lineage and source attribution).
1203
+ * Use optional fields to match on specific provenance attributes. If a field
1204
+ * is not set, that attribute is not considered in the match.
1205
+ *
1206
+ * Evaluates against ProvenanceRecord fields (`name`, `updated_at`,
1207
+ * `source_node_id`) on the target object or action.
1208
+ *
1209
+ * Examples:
1210
+ * - Match by source: `{ source_names: ["Alpha 1"] }`
1211
+ * - Match by time: `{ updated_at: { start: "...", end: "..." } }`
1212
+ * - Match both: `{ source_names: ["Alpha 1"], updated_at: {...} }`
1213
+ * - Match by source node: `{ source_node_ids: ["24160ed6-e512-4972-b54a-cb8f81f9e196"] }`
1214
+ *
1215
+ * @generated from message raft.wdm.v1.service.ProvenanceCondition
1216
+ */
1217
+ export type ProvenanceCondition = Message<"raft.wdm.v1.service.ProvenanceCondition"> & {
1218
+ /**
1219
+ * If set, match records where provenance.name matches one of these values.
1220
+ *
1221
+ * @generated from field: repeated string source_names = 1;
1222
+ */
1223
+ sourceNames: string[];
1224
+ /**
1225
+ * If set, match records where provenance.updated_at falls within this range.
1226
+ *
1227
+ * @generated from field: raft.wdm.v1.service.TimeRange updated_at = 2;
1228
+ */
1229
+ updatedAt?: TimeRange | undefined;
1230
+ /**
1231
+ * If set, match records where provenance.source_node_id matches one of
1232
+ * these values.
1233
+ *
1234
+ * @generated from field: repeated string source_node_ids = 3;
1235
+ */
1236
+ sourceNodeIds: string[];
1237
+ };
1238
+ /**
1239
+ * Describes the message raft.wdm.v1.service.ProvenanceCondition.
1240
+ * Use `create(ProvenanceConditionSchema)` to create a new message.
1241
+ */
1242
+ export declare const ProvenanceConditionSchema: GenMessage<ProvenanceCondition>;
1243
+ /**
1244
+ * Geographic bounding box for spatial filtering.
1245
+ * Defines a rectangular area using WGS-84 coordinates.
1246
+ *
1247
+ * @generated from message raft.wdm.v1.service.GeographicBoundingBox
1248
+ */
1249
+ export type GeographicBoundingBox = Message<"raft.wdm.v1.service.GeographicBoundingBox"> & {
1250
+ /**
1251
+ * Southwest corner latitude in decimal degrees.
1252
+ * Range: -90.0 to +90.0
1253
+ *
1254
+ * @generated from field: double min_latitude = 1;
1255
+ */
1256
+ minLatitude: number;
1257
+ /**
1258
+ * Southwest corner longitude in decimal degrees.
1259
+ * Range: -180.0 to +180.0
1260
+ *
1261
+ * @generated from field: double min_longitude = 2;
1262
+ */
1263
+ minLongitude: number;
1264
+ /**
1265
+ * Northeast corner latitude in decimal degrees.
1266
+ * Range: -90.0 to +90.0
1267
+ *
1268
+ * @generated from field: double max_latitude = 3;
1269
+ */
1270
+ maxLatitude: number;
1271
+ /**
1272
+ * Northeast corner longitude in decimal degrees.
1273
+ * Range: -180.0 to +180.0
1274
+ *
1275
+ * @generated from field: double max_longitude = 4;
1276
+ */
1277
+ maxLongitude: number;
1278
+ };
1279
+ /**
1280
+ * Describes the message raft.wdm.v1.service.GeographicBoundingBox.
1281
+ * Use `create(GeographicBoundingBoxSchema)` to create a new message.
1282
+ */
1283
+ export declare const GeographicBoundingBoxSchema: GenMessage<GeographicBoundingBox>;
1284
+ /**
1285
+ * Time range for temporal filtering.
1286
+ *
1287
+ * @generated from message raft.wdm.v1.service.TimeRange
1288
+ */
1289
+ export type TimeRange = Message<"raft.wdm.v1.service.TimeRange"> & {
1290
+ /**
1291
+ * Start of the time range (inclusive).
1292
+ *
1293
+ * @generated from field: google.protobuf.Timestamp start = 1;
1294
+ */
1295
+ start?: Timestamp | undefined;
1296
+ /**
1297
+ * End of the time range (inclusive).
1298
+ * If not provided, defaults to current time.
1299
+ *
1300
+ * @generated from field: google.protobuf.Timestamp end = 2;
1301
+ */
1302
+ end?: Timestamp | undefined;
1303
+ };
1304
+ /**
1305
+ * Describes the message raft.wdm.v1.service.TimeRange.
1306
+ * Use `create(TimeRangeSchema)` to create a new message.
1307
+ */
1308
+ export declare const TimeRangeSchema: GenMessage<TimeRange>;
1309
+ /**
1310
+ * A typed value for use in field-level comparisons.
1311
+ *
1312
+ * Numeric proto types (int32, uint32, float, double) are all represented as
1313
+ * number_value (double), which exactly represents all int32/uint32/float
1314
+ * values and all practical int64 values up to 2^53.
1315
+ *
1316
+ * Enum fields accept both string_value (by enum value name, e.g.,
1317
+ * "AFFILIATION_HOSTILE") and number_value (by enum number, e.g., 7).
1318
+ *
1319
+ * @generated from message raft.wdm.v1.service.FieldValue
1320
+ */
1321
+ export type FieldValue = Message<"raft.wdm.v1.service.FieldValue"> & {
1322
+ /**
1323
+ * @generated from oneof raft.wdm.v1.service.FieldValue.value
1324
+ */
1325
+ value: {
1326
+ /**
1327
+ * Boolean value.
1328
+ *
1329
+ * @generated from field: bool bool_value = 1;
1330
+ */
1331
+ value: boolean;
1332
+ case: "boolValue";
1333
+ } | {
1334
+ /**
1335
+ * Numeric value. Covers all numeric proto kinds (int32, uint32, float,
1336
+ * double, int64 up to 2^53).
1337
+ *
1338
+ * @generated from field: double number_value = 2;
1339
+ */
1340
+ value: number;
1341
+ case: "numberValue";
1342
+ } | {
1343
+ /**
1344
+ * String value. Also used for enum comparison by name.
1345
+ *
1346
+ * @generated from field: string string_value = 3;
1347
+ */
1348
+ value: string;
1349
+ case: "stringValue";
1350
+ } | {
1351
+ /**
1352
+ * Timestamp value. For temporal comparisons on timestamp fields.
1353
+ *
1354
+ * @generated from field: google.protobuf.Timestamp timestamp_value = 4;
1355
+ */
1356
+ value: Timestamp;
1357
+ case: "timestampValue";
1358
+ } | {
1359
+ /**
1360
+ * List of values. Used with FIELD_COMPARATOR_IN and FIELD_COMPARATOR_IEQ_IN.
1361
+ *
1362
+ * @generated from field: raft.wdm.v1.service.FieldValueList list_value = 5;
1363
+ */
1364
+ value: FieldValueList;
1365
+ case: "listValue";
1366
+ } | {
1367
+ case: undefined;
1368
+ value?: undefined;
1369
+ };
1370
+ };
1371
+ /**
1372
+ * Describes the message raft.wdm.v1.service.FieldValue.
1373
+ * Use `create(FieldValueSchema)` to create a new message.
1374
+ */
1375
+ export declare const FieldValueSchema: GenMessage<FieldValue>;
1376
+ /**
1377
+ * A list of typed values for use with the IN and IEQ_IN comparators.
1378
+ *
1379
+ * @generated from message raft.wdm.v1.service.FieldValueList
1380
+ */
1381
+ export type FieldValueList = Message<"raft.wdm.v1.service.FieldValueList"> & {
1382
+ /**
1383
+ * Values to compare against. Target field must match any one of these.
1384
+ *
1385
+ * @generated from field: repeated raft.wdm.v1.service.FieldValue values = 1;
1386
+ */
1387
+ values: FieldValue[];
1388
+ };
1389
+ /**
1390
+ * Describes the message raft.wdm.v1.service.FieldValueList.
1391
+ * Use `create(FieldValueListSchema)` to create a new message.
1392
+ */
1393
+ export declare const FieldValueListSchema: GenMessage<FieldValueList>;
1394
+ /**
1395
+ * A generic condition that filters on any object or action field using
1396
+ * dot-notation paths and comparison operators.
1397
+ *
1398
+ * Complements purpose-built conditions (statuses, affiliations, bounding box,
1399
+ * etc.) which remain as ergonomic shortcuts. Use FieldCondition for fields not
1400
+ * covered by existing condition types.
1401
+ *
1402
+ * Field paths use protobuf field names (snake_case), resolved relative to
1403
+ * Object (within ObjectPredicate) or Action (within ActionPredicate). Supports
1404
+ * traversal through nested messages and oneof fields (e.g.,
1405
+ * "shape.circle.radius_meters", "type_info.maritime.mmsi").
1406
+ *
1407
+ * Behavior:
1408
+ * - Invalid field path: match all (fail-open), consistent with existing
1409
+ * unknown-predicate handling.
1410
+ * - Type mismatch (e.g., string_value for bool field): no match.
1411
+ * - Nil intermediate message: field treated as default/zero value per proto3
1412
+ * semantics. EXISTS returns false.
1413
+ * - Unspecified comparator: match all (fail-open for unset enum).
1414
+ * - Repeated/map fields in path: no match (out of scope for v1).
1415
+ *
1416
+ * Examples:
1417
+ *
1418
+ * **Objects faster than 15 m/s on the east axis:**
1419
+ * ```json
1420
+ * {
1421
+ * "field_path": "motion.velocity_enu_mps.x",
1422
+ * "comparator": "FIELD_COMPARATOR_GT",
1423
+ * "value": { "number_value": 15.0 }
1424
+ * }
1425
+ * ```
1426
+ *
1427
+ * **Object has assessment set:**
1428
+ * ```json
1429
+ * {
1430
+ * "field_path": "assessment",
1431
+ * "comparator": "FIELD_COMPARATOR_EXISTS"
1432
+ * }
1433
+ * ```
1434
+ *
1435
+ * **Circles with radius > 5km:**
1436
+ * ```json
1437
+ * {
1438
+ * "field_path": "shape.circle.radius_meters",
1439
+ * "comparator": "FIELD_COMPARATOR_GT",
1440
+ * "value": { "number_value": 5000 }
1441
+ * }
1442
+ * ```
1443
+ *
1444
+ * **Case-insensitive name match:**
1445
+ * ```json
1446
+ * {
1447
+ * "field_path": "name",
1448
+ * "comparator": "FIELD_COMPARATOR_IEQ",
1449
+ * "value": { "string_value": "uss roosevelt" }
1450
+ * }
1451
+ * ```
1452
+ *
1453
+ * **Case-insensitive affiliation IN list:**
1454
+ * ```json
1455
+ * {
1456
+ * "field_path": "assessment.affiliation",
1457
+ * "comparator": "FIELD_COMPARATOR_IEQ_IN",
1458
+ * "value": {
1459
+ * "list_value": {
1460
+ * "values": [
1461
+ * { "string_value": "affiliation_hostile" },
1462
+ * { "string_value": "affiliation_suspect" }
1463
+ * ]
1464
+ * }
1465
+ * }
1466
+ * }
1467
+ * ```
1468
+ *
1469
+ * @generated from message raft.wdm.v1.service.FieldCondition
1470
+ */
1471
+ export type FieldCondition = Message<"raft.wdm.v1.service.FieldCondition"> & {
1472
+ /**
1473
+ * Dot-notation path to the field.
1474
+ *
1475
+ * Uses protobuf field names (snake_case), resolved relative to Object
1476
+ * (within ObjectPredicate) or Action (within ActionPredicate). Supports
1477
+ * nested paths through messages and oneof fields.
1478
+ *
1479
+ * Examples: "name", "assessment.affiliation",
1480
+ * "location.position.latitude_degrees", "shape.circle.radius_meters",
1481
+ * "type", "scope", "state".
1482
+ *
1483
+ * @generated from field: string field_path = 1;
1484
+ */
1485
+ fieldPath: string;
1486
+ /**
1487
+ * Comparison operator to apply.
1488
+ *
1489
+ * @generated from field: raft.wdm.v1.service.FieldComparator comparator = 2;
1490
+ */
1491
+ comparator: FieldComparator;
1492
+ /**
1493
+ * Value to compare against.
1494
+ * Ignored when comparator is FIELD_COMPARATOR_EXISTS.
1495
+ *
1496
+ * @generated from field: raft.wdm.v1.service.FieldValue value = 3;
1497
+ */
1498
+ value?: FieldValue | undefined;
1499
+ };
1500
+ /**
1501
+ * Describes the message raft.wdm.v1.service.FieldCondition.
1502
+ * Use `create(FieldConditionSchema)` to create a new message.
1503
+ */
1504
+ export declare const FieldConditionSchema: GenMessage<FieldCondition>;
1505
+ /**
1506
+ * Comparison operators for generic field-level filtering.
1507
+ *
1508
+ * Not all comparators are valid for all field types. See the compatibility
1509
+ * matrix in the FieldCondition documentation for details.
1510
+ *
1511
+ * | Comparator | bool | numeric | string | enum | timestamp | message |
1512
+ * |------------|------|---------|--------|------|-----------|---------|
1513
+ * | EQ | x | x | x | x | x | |
1514
+ * | NEQ | x | x | x | x | x | |
1515
+ * | LT | | x | x | | x | |
1516
+ * | LTE | | x | x | | x | |
1517
+ * | GT | | x | x | | x | |
1518
+ * | GTE | | x | x | | x | |
1519
+ * | IN | | x | x | x | | |
1520
+ * | EXISTS | x | x | x | x | x | x |
1521
+ * | IEQ | | | x | x | | |
1522
+ * | IEQ_IN | | | x | x | | |
1523
+ *
1524
+ * @generated from enum raft.wdm.v1.service.FieldComparator
1525
+ */
1526
+ export declare enum FieldComparator {
1527
+ /**
1528
+ * Unspecified comparator. Server treats this as match-all (fail-open).
1529
+ *
1530
+ * @generated from enum value: FIELD_COMPARATOR_UNSPECIFIED = 0;
1531
+ */
1532
+ UNSPECIFIED = 0,
1533
+ /**
1534
+ * Equal to (==).
1535
+ *
1536
+ * @generated from enum value: FIELD_COMPARATOR_EQ = 1;
1537
+ */
1538
+ EQ = 1,
1539
+ /**
1540
+ * Not equal to (!=).
1541
+ *
1542
+ * @generated from enum value: FIELD_COMPARATOR_NEQ = 2;
1543
+ */
1544
+ NEQ = 2,
1545
+ /**
1546
+ * Less than (<).
1547
+ *
1548
+ * @generated from enum value: FIELD_COMPARATOR_LT = 3;
1549
+ */
1550
+ LT = 3,
1551
+ /**
1552
+ * Less than or equal to (<=).
1553
+ *
1554
+ * @generated from enum value: FIELD_COMPARATOR_LTE = 4;
1555
+ */
1556
+ LTE = 4,
1557
+ /**
1558
+ * Greater than (>).
1559
+ *
1560
+ * @generated from enum value: FIELD_COMPARATOR_GT = 5;
1561
+ */
1562
+ GT = 5,
1563
+ /**
1564
+ * Greater than or equal to (>=).
1565
+ *
1566
+ * @generated from enum value: FIELD_COMPARATOR_GTE = 6;
1567
+ */
1568
+ GTE = 6,
1569
+ /**
1570
+ * Value is one of a list. Requires FieldValue.list_value.
1571
+ *
1572
+ * @generated from enum value: FIELD_COMPARATOR_IN = 7;
1573
+ */
1574
+ IN = 7,
1575
+ /**
1576
+ * Field is set (non-default for scalars, non-nil for messages).
1577
+ * The FieldCondition.value field is ignored when this comparator is used.
1578
+ *
1579
+ * @generated from enum value: FIELD_COMPARATOR_EXISTS = 8;
1580
+ */
1581
+ EXISTS = 8,
1582
+ /**
1583
+ * Case-insensitive equal to. String and enum fields only.
1584
+ * For enums, compares against the enum value name.
1585
+ *
1586
+ * @generated from enum value: FIELD_COMPARATOR_IEQ = 9;
1587
+ */
1588
+ IEQ = 9,
1589
+ /**
1590
+ * Case-insensitive IN. String and enum fields only.
1591
+ * Requires FieldValue.list_value. For enums, compares against enum value
1592
+ * names.
1593
+ *
1594
+ * @generated from enum value: FIELD_COMPARATOR_IEQ_IN = 10;
1595
+ */
1596
+ IEQ_IN = 10
1597
+ }
1598
+ /**
1599
+ * Describes the enum raft.wdm.v1.service.FieldComparator.
1600
+ */
1601
+ export declare const FieldComparatorSchema: GenEnum<FieldComparator>;
1602
+ //# sourceMappingURL=query_pb.d.ts.map