@adventurelabs/scout-core 2.0.6 → 2.0.8

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.
@@ -42,6 +42,7 @@ export { create_device_query as create_device, delete_device_by_id_query as dele
42
42
  export { create_document_template_query as create_document_template, get_document_template_by_id_query as get_document_template_by_id, get_document_templates_by_localization_query as get_document_templates_by_localization, get_document_templates_query as get_document_templates, update_document_template_query as update_document_template, } from "../helpers/document_templates.queries";
43
43
  export { search_embeddings_vertex_multimodal_001_query as search_embeddings_vertex_multimodal_001 } from "../helpers/embeddings.queries";
44
44
  export { delete_event_query as delete_event, get_event_by_id_query as get_event_by_id, get_total_events_by_herd_query as get_total_events_by_herd, insert_event_query as insert_event, match_events_by_vertex_embedding_query as match_events_by_vertex_embedding, update_event_query as update_event, } from "../helpers/events.queries";
45
+ export { create_battery_cycle_count_query as create_battery_cycle_count, delete_battery_cycle_count_query as delete_battery_cycle_count, get_battery_cycle_counts_by_battery_id_query as get_battery_cycle_counts_by_battery_id, update_battery_cycle_count_query as update_battery_cycle_count, } from "../helpers/battery_cycle_counts.queries";
45
46
  export { get_health_metrics_query as get_health_metrics, get_health_metrics_summary_query as get_health_metrics_summary, } from "../helpers/health_metrics.queries";
46
47
  export { check_device_online_status_query as check_device_online_status, get_heartbeats_by_device_query as get_heartbeats_by_device, get_last_heartbeat_by_device_query as get_last_heartbeat_by_device, } from "../helpers/heartbeats.queries";
47
48
  export { get_herd_allowed_domains_query as get_herd_allowed_domains } from "../helpers/herd_allowed_domains.queries";
@@ -47,6 +47,7 @@ export { create_device_query as create_device, delete_device_by_id_query as dele
47
47
  export { create_document_template_query as create_document_template, get_document_template_by_id_query as get_document_template_by_id, get_document_templates_by_localization_query as get_document_templates_by_localization, get_document_templates_query as get_document_templates, update_document_template_query as update_document_template, } from "../helpers/document_templates.queries";
48
48
  export { search_embeddings_vertex_multimodal_001_query as search_embeddings_vertex_multimodal_001 } from "../helpers/embeddings.queries";
49
49
  export { delete_event_query as delete_event, get_event_by_id_query as get_event_by_id, get_total_events_by_herd_query as get_total_events_by_herd, insert_event_query as insert_event, match_events_by_vertex_embedding_query as match_events_by_vertex_embedding, update_event_query as update_event, } from "../helpers/events.queries";
50
+ export { create_battery_cycle_count_query as create_battery_cycle_count, delete_battery_cycle_count_query as delete_battery_cycle_count, get_battery_cycle_counts_by_battery_id_query as get_battery_cycle_counts_by_battery_id, update_battery_cycle_count_query as update_battery_cycle_count, } from "../helpers/battery_cycle_counts.queries";
50
51
  export { get_health_metrics_query as get_health_metrics, get_health_metrics_summary_query as get_health_metrics_summary, } from "../helpers/health_metrics.queries";
51
52
  export { check_device_online_status_query as check_device_online_status, get_heartbeats_by_device_query as get_heartbeats_by_device, get_last_heartbeat_by_device_query as get_last_heartbeat_by_device, } from "../helpers/heartbeats.queries";
52
53
  export { get_herd_allowed_domains_query as get_herd_allowed_domains } from "../helpers/herd_allowed_domains.queries";
@@ -0,0 +1,6 @@
1
+ import { BatteryCycleCountInsert, BatteryCycleCountUpdate, IBatteryCycleCount } from "../types/db";
2
+ import { IWebResponseCompatible } from "../types/requests";
3
+ export declare function server_get_battery_cycle_counts_by_battery_id(batteryId: number): Promise<IWebResponseCompatible<IBatteryCycleCount[]>>;
4
+ export declare function server_create_battery_cycle_count(row: BatteryCycleCountInsert): Promise<IWebResponseCompatible<IBatteryCycleCount | null>>;
5
+ export declare function server_update_battery_cycle_count(id: number, updates: BatteryCycleCountUpdate): Promise<IWebResponseCompatible<IBatteryCycleCount | null>>;
6
+ export declare function server_delete_battery_cycle_count(id: number): Promise<IWebResponseCompatible<boolean>>;
@@ -0,0 +1,14 @@
1
+ import { newServerClient } from "../supabase/server";
2
+ import { create_battery_cycle_count_query, delete_battery_cycle_count_query, get_battery_cycle_counts_by_battery_id_query, update_battery_cycle_count_query, } from "./battery_cycle_counts.queries";
3
+ export async function server_get_battery_cycle_counts_by_battery_id(batteryId) {
4
+ return get_battery_cycle_counts_by_battery_id_query(await newServerClient(), batteryId);
5
+ }
6
+ export async function server_create_battery_cycle_count(row) {
7
+ return create_battery_cycle_count_query(await newServerClient(), row);
8
+ }
9
+ export async function server_update_battery_cycle_count(id, updates) {
10
+ return update_battery_cycle_count_query(await newServerClient(), id, updates);
11
+ }
12
+ export async function server_delete_battery_cycle_count(id) {
13
+ return delete_battery_cycle_count_query(await newServerClient(), id);
14
+ }
@@ -0,0 +1,8 @@
1
+ import { SupabaseClient } from "@supabase/supabase-js";
2
+ import { BatteryCycleCountInsert, BatteryCycleCountUpdate, IBatteryCycleCount } from "../types/db";
3
+ import { IWebResponseCompatible } from "../types/requests";
4
+ import { Database } from "../types/supabase";
5
+ export declare function get_battery_cycle_counts_by_battery_id_query(client: SupabaseClient<Database>, batteryId: number): Promise<IWebResponseCompatible<IBatteryCycleCount[]>>;
6
+ export declare function create_battery_cycle_count_query(client: SupabaseClient<Database>, row: BatteryCycleCountInsert): Promise<IWebResponseCompatible<IBatteryCycleCount | null>>;
7
+ export declare function update_battery_cycle_count_query(client: SupabaseClient<Database>, id: number, updates: BatteryCycleCountUpdate): Promise<IWebResponseCompatible<IBatteryCycleCount | null>>;
8
+ export declare function delete_battery_cycle_count_query(client: SupabaseClient<Database>, id: number): Promise<IWebResponseCompatible<boolean>>;
@@ -0,0 +1,62 @@
1
+ import { EnumWebResponse, IWebResponse, } from "../types/requests";
2
+ export async function get_battery_cycle_counts_by_battery_id_query(client, batteryId) {
3
+ const { data, error } = await client
4
+ .from("battery_cycle_counts")
5
+ .select("*")
6
+ .eq("battery_id", batteryId)
7
+ .order("timestamp_observation", { ascending: false });
8
+ if (error) {
9
+ return {
10
+ status: EnumWebResponse.ERROR,
11
+ msg: error.message,
12
+ data: [],
13
+ };
14
+ }
15
+ return IWebResponse.success(data ?? []).to_compatible();
16
+ }
17
+ export async function create_battery_cycle_count_query(client, row) {
18
+ const { data, error } = await client
19
+ .from("battery_cycle_counts")
20
+ .insert(row)
21
+ .select("*")
22
+ .single();
23
+ if (error) {
24
+ return {
25
+ status: EnumWebResponse.ERROR,
26
+ msg: error.message,
27
+ data: null,
28
+ };
29
+ }
30
+ return IWebResponse.success(data).to_compatible();
31
+ }
32
+ export async function update_battery_cycle_count_query(client, id, updates) {
33
+ const { inserted_at: _insertedAt, ...patch } = updates;
34
+ const { data, error } = await client
35
+ .from("battery_cycle_counts")
36
+ .update(patch)
37
+ .eq("id", id)
38
+ .select("*")
39
+ .single();
40
+ if (error) {
41
+ return {
42
+ status: EnumWebResponse.ERROR,
43
+ msg: error.message,
44
+ data: null,
45
+ };
46
+ }
47
+ return IWebResponse.success(data).to_compatible();
48
+ }
49
+ export async function delete_battery_cycle_count_query(client, id) {
50
+ const { error } = await client
51
+ .from("battery_cycle_counts")
52
+ .delete()
53
+ .eq("id", id);
54
+ if (error) {
55
+ return {
56
+ status: EnumWebResponse.ERROR,
57
+ msg: error.message,
58
+ data: false,
59
+ };
60
+ }
61
+ return IWebResponse.success(true).to_compatible();
62
+ }
@@ -7,6 +7,7 @@ export declare function get_documents_by_device_id(client: SupabaseClient<Databa
7
7
  export declare function get_documents_by_user_id(client: SupabaseClient<Database>, user_id: string): Promise<IWebResponseCompatible<IDocument[]>>;
8
8
  export declare function get_documents_by_product_id(client: SupabaseClient<Database>, product_id: number): Promise<IWebResponseCompatible<IDocument[]>>;
9
9
  export declare function get_documents_by_operating_context_id(client: SupabaseClient<Database>, operating_context_id: number): Promise<IWebResponseCompatible<IDocument[]>>;
10
+ export declare function get_documents_by_region_conflict_id(client: SupabaseClient<Database>, region_conflict_id: number): Promise<IWebResponseCompatible<IDocument[]>>;
10
11
  export declare function get_document_by_id(client: SupabaseClient<Database>, document_id: number): Promise<IWebResponseCompatible<IDocument | null>>;
11
12
  export declare function create_document(client: SupabaseClient<Database>, row: DocumentInsert): Promise<IWebResponseCompatible<IDocument | null>>;
12
13
  export declare function update_document(client: SupabaseClient<Database>, document_id: number, patch: DocumentUpdate): Promise<IWebResponseCompatible<IDocument | null>>;
@@ -15,6 +15,9 @@ function assert_document_insert(row) {
15
15
  if (owner_count !== 1) {
16
16
  return IWebResponse.error("exactly one document owner is required").to_compatible();
17
17
  }
18
+ if (row.region_conflict_id != null && row.operating_context_id == null) {
19
+ return IWebResponse.error("region_conflict_id requires operating_context_id").to_compatible();
20
+ }
18
21
  return null;
19
22
  }
20
23
  async function get_documents_by(client, column, value) {
@@ -43,6 +46,9 @@ export async function get_documents_by_product_id(client, product_id) {
43
46
  export async function get_documents_by_operating_context_id(client, operating_context_id) {
44
47
  return get_documents_by(client, "operating_context_id", operating_context_id);
45
48
  }
49
+ export async function get_documents_by_region_conflict_id(client, region_conflict_id) {
50
+ return get_documents_by(client, "region_conflict_id", region_conflict_id);
51
+ }
46
52
  export async function get_document_by_id(client, document_id) {
47
53
  const { data, error } = await client
48
54
  .from("documents")
@@ -14,6 +14,7 @@ export declare function server_get_documents_by_herd_id(herd_id: number): Promis
14
14
  lifecycle_reason: string | null;
15
15
  operating_context_id: number | null;
16
16
  product_id: number | null;
17
+ region_conflict_id: number | null;
17
18
  related_herd_id: number | null;
18
19
  size_bytes: number | null;
19
20
  template_id: number | null;
@@ -39,6 +40,7 @@ export declare function server_get_documents_by_device_id(device_id: number): Pr
39
40
  lifecycle_reason: string | null;
40
41
  operating_context_id: number | null;
41
42
  product_id: number | null;
43
+ region_conflict_id: number | null;
42
44
  related_herd_id: number | null;
43
45
  size_bytes: number | null;
44
46
  template_id: number | null;
@@ -64,6 +66,7 @@ export declare function server_get_documents_by_user_id(user_id: string): Promis
64
66
  lifecycle_reason: string | null;
65
67
  operating_context_id: number | null;
66
68
  product_id: number | null;
69
+ region_conflict_id: number | null;
67
70
  related_herd_id: number | null;
68
71
  size_bytes: number | null;
69
72
  template_id: number | null;
@@ -89,6 +92,7 @@ export declare function server_get_documents_by_product_id(product_id: number):
89
92
  lifecycle_reason: string | null;
90
93
  operating_context_id: number | null;
91
94
  product_id: number | null;
95
+ region_conflict_id: number | null;
92
96
  related_herd_id: number | null;
93
97
  size_bytes: number | null;
94
98
  template_id: number | null;
@@ -114,6 +118,33 @@ export declare function server_get_documents_by_operating_context_id(operating_c
114
118
  lifecycle_reason: string | null;
115
119
  operating_context_id: number | null;
116
120
  product_id: number | null;
121
+ region_conflict_id: number | null;
122
+ related_herd_id: number | null;
123
+ size_bytes: number | null;
124
+ template_id: number | null;
125
+ updated_at: string;
126
+ updated_by: string | null;
127
+ uri: string;
128
+ user_id: string | null;
129
+ valid_from: string | null;
130
+ valid_to: string | null;
131
+ }[]>>;
132
+ export declare function server_get_documents_by_region_conflict_id(region_conflict_id: number): Promise<import("../types").IWebResponseCompatible<{
133
+ approved_at: string | null;
134
+ approved_by: string | null;
135
+ created_at: string;
136
+ created_by: string | null;
137
+ device_id: number | null;
138
+ herd_id: number | null;
139
+ id: number;
140
+ is_approved: boolean;
141
+ lifecycle: import("../types").Database["public"]["Enums"]["entity_lifecycle"];
142
+ lifecycle_changed_at: string;
143
+ lifecycle_changed_by: string | null;
144
+ lifecycle_reason: string | null;
145
+ operating_context_id: number | null;
146
+ product_id: number | null;
147
+ region_conflict_id: number | null;
117
148
  related_herd_id: number | null;
118
149
  size_bytes: number | null;
119
150
  template_id: number | null;
@@ -139,6 +170,7 @@ export declare function server_get_document_by_id(document_id: number): Promise<
139
170
  lifecycle_reason: string | null;
140
171
  operating_context_id: number | null;
141
172
  product_id: number | null;
173
+ region_conflict_id: number | null;
142
174
  related_herd_id: number | null;
143
175
  size_bytes: number | null;
144
176
  template_id: number | null;
@@ -164,6 +196,7 @@ export declare function server_create_document(row: DocumentInsert): Promise<imp
164
196
  lifecycle_reason: string | null;
165
197
  operating_context_id: number | null;
166
198
  product_id: number | null;
199
+ region_conflict_id: number | null;
167
200
  related_herd_id: number | null;
168
201
  size_bytes: number | null;
169
202
  template_id: number | null;
@@ -189,6 +222,7 @@ export declare function server_update_document(document_id: number, patch: Docum
189
222
  lifecycle_reason: string | null;
190
223
  operating_context_id: number | null;
191
224
  product_id: number | null;
225
+ region_conflict_id: number | null;
192
226
  related_herd_id: number | null;
193
227
  size_bytes: number | null;
194
228
  template_id: number | null;
@@ -214,6 +248,7 @@ export declare function server_delete_document(document_id: number): Promise<imp
214
248
  lifecycle_reason: string | null;
215
249
  operating_context_id: number | null;
216
250
  product_id: number | null;
251
+ region_conflict_id: number | null;
217
252
  related_herd_id: number | null;
218
253
  size_bytes: number | null;
219
254
  template_id: number | null;
@@ -1,5 +1,5 @@
1
1
  import { newServerClient } from "../supabase/server";
2
- import { create_document, delete_document, get_document_by_id, get_documents_by_device_id, get_documents_by_herd_id, get_documents_by_operating_context_id, get_documents_by_product_id, get_documents_by_user_id, update_document, } from "./documents";
2
+ import { create_document, delete_document, get_document_by_id, get_documents_by_device_id, get_documents_by_herd_id, get_documents_by_operating_context_id, get_documents_by_product_id, get_documents_by_region_conflict_id, get_documents_by_user_id, update_document, } from "./documents";
3
3
  export async function server_get_documents_by_herd_id(herd_id) {
4
4
  const client = await newServerClient();
5
5
  return get_documents_by_herd_id(client, herd_id);
@@ -20,6 +20,10 @@ export async function server_get_documents_by_operating_context_id(operating_con
20
20
  const client = await newServerClient();
21
21
  return get_documents_by_operating_context_id(client, operating_context_id);
22
22
  }
23
+ export async function server_get_documents_by_region_conflict_id(region_conflict_id) {
24
+ const client = await newServerClient();
25
+ return get_documents_by_region_conflict_id(client, region_conflict_id);
26
+ }
23
27
  export async function server_get_document_by_id(document_id) {
24
28
  const client = await newServerClient();
25
29
  return get_document_by_id(client, document_id);
@@ -52,6 +52,7 @@ export declare function server_update_session_lifecycle(session_id: number, life
52
52
  lifecycle_reason: string | null;
53
53
  locations: unknown;
54
54
  post_approver: string | null;
55
+ secondary_battery_id: number | null;
55
56
  software_version: string;
56
57
  start_approver: string | null;
57
58
  status: import("../types").Database["public"]["Enums"]["session_status"];
@@ -26,6 +26,7 @@ export { serverCreateDevice as create_device, serverDeleteDeviceById as delete_d
26
26
  export { server_create_document_template as create_document_template, server_get_document_template_by_id as get_document_template_by_id, server_get_document_templates_by_localization as get_document_templates_by_localization, server_get_document_templates as get_document_templates, server_update_document_template as update_document_template, } from "../helpers/document_templates";
27
27
  export { server_search_embeddings_vertex_multimodal_001 as search_embeddings_vertex_multimodal_001 } from "../helpers/embeddings";
28
28
  export { server_delete_event as delete_event, server_get_event_by_id as get_event_by_id, server_get_total_events_by_herd as get_total_events_by_herd, server_insert_event as insert_event, server_match_events_by_vertex_embedding as match_events_by_vertex_embedding, server_update_event as update_event, } from "../helpers/events";
29
+ export { server_create_battery_cycle_count as create_battery_cycle_count, server_delete_battery_cycle_count as delete_battery_cycle_count, server_get_battery_cycle_counts_by_battery_id as get_battery_cycle_counts_by_battery_id, server_update_battery_cycle_count as update_battery_cycle_count, } from "../helpers/battery_cycle_counts";
29
30
  export { server_get_health_metrics as get_health_metrics, server_get_health_metrics_summary as get_health_metrics_summary, } from "../helpers/health_metrics";
30
31
  export { server_check_device_online_status as check_device_online_status, server_get_heartbeats_by_device as get_heartbeats_by_device, server_get_last_heartbeat_by_device as get_last_heartbeat_by_device, } from "../helpers/heartbeats";
31
32
  export { server_get_herd_allowed_domains as get_herd_allowed_domains } from "../helpers/herd_allowed_domains";
@@ -57,7 +58,7 @@ export { server_get_analysis_task_by_id as get_analysis_task_by_id, server_get_a
57
58
  export { server_is_scout_email_valid as is_scout_email_valid, server_isCurrentUserPlatformSuperadmin as isCurrentUserPlatformSuperadmin, } from "../helpers/auth_server";
58
59
  export { server_create_certificate_by_device as create_certificate_by_device, server_create_certificate_by_part as create_certificate_by_part, server_delete_certificate_by_device as delete_certificate_by_device, server_delete_certificate_by_part as delete_certificate_by_part, server_get_certificate_by_device as get_certificate_by_device, server_get_certificate_by_part as get_certificate_by_part, server_get_certificates_by_device as get_certificates_by_device, server_get_certificates_by_part as get_certificates_by_part, server_update_certificate_by_device as update_certificate_by_device, server_update_certificate_by_part as update_certificate_by_part, } from "../helpers/certificates_server";
59
60
  export { server_create_contact as create_contact, server_get_contact_by_id as get_contact_by_id, server_get_contacts_by_herd_id as get_contacts_by_herd_id, server_update_contact as update_contact, } from "../helpers/contacts_server";
60
- export { server_create_document as create_document, server_delete_document as delete_document, server_get_document_by_id as get_document_by_id, server_get_documents_by_device_id as get_documents_by_device_id, server_get_documents_by_herd_id as get_documents_by_herd_id, server_get_documents_by_operating_context_id as get_documents_by_operating_context_id, server_get_documents_by_product_id as get_documents_by_product_id, server_get_documents_by_user_id as get_documents_by_user_id, server_update_document as update_document, } from "../helpers/documents_server";
61
+ export { server_create_document as create_document, server_delete_document as delete_document, server_get_document_by_id as get_document_by_id, server_get_documents_by_device_id as get_documents_by_device_id, server_get_documents_by_herd_id as get_documents_by_herd_id, server_get_documents_by_operating_context_id as get_documents_by_operating_context_id, server_get_documents_by_product_id as get_documents_by_product_id, server_get_documents_by_region_conflict_id as get_documents_by_region_conflict_id, server_get_documents_by_user_id as get_documents_by_user_id, server_update_document as update_document, } from "../helpers/documents_server";
61
62
  export { server_create_herd_credential as create_herd_credential, server_delete_herd_credential as delete_herd_credential, server_get_herd_credential_by_id as get_herd_credential_by_id, server_get_herd_credentials_by_herd_id as get_herd_credentials_by_herd_id, server_update_herd_credential as update_herd_credential, } from "../helpers/herd_credentials_server";
62
63
  export { server_update_artifact_lifecycle as update_artifact_lifecycle, server_update_contact_lifecycle as update_contact_lifecycle, server_update_device_lifecycle as update_device_lifecycle, server_update_event_lifecycle as update_event_lifecycle, server_update_herd_allowed_domain_lifecycle as update_herd_allowed_domain_lifecycle, server_update_part_lifecycle as update_part_lifecycle, server_update_session_lifecycle as update_session_lifecycle, server_update_user_lifecycle as update_user_lifecycle, server_update_user_role_per_herd_lifecycle as update_user_role_per_herd_lifecycle, } from "../helpers/lifecycle_server";
63
64
  export { server_create_maintenance_request as create_maintenance_request, server_delete_maintenance_request as delete_maintenance_request, server_get_maintenance_request_by_id as get_maintenance_request_by_id, server_get_maintenance_requests_by_device_id as get_maintenance_requests_by_device_id, server_get_maintenance_requests_by_herd_id as get_maintenance_requests_by_herd_id, server_get_maintenance_requests_by_part_id as get_maintenance_requests_by_part_id, server_get_maintenance_requests_count_by_herd_id as get_maintenance_requests_count_by_herd_id, server_update_maintenance_request as update_maintenance_request, } from "../helpers/maintenance_requests_server";
@@ -26,6 +26,7 @@ export { serverCreateDevice as create_device, serverDeleteDeviceById as delete_d
26
26
  export { server_create_document_template as create_document_template, server_get_document_template_by_id as get_document_template_by_id, server_get_document_templates_by_localization as get_document_templates_by_localization, server_get_document_templates as get_document_templates, server_update_document_template as update_document_template, } from "../helpers/document_templates";
27
27
  export { server_search_embeddings_vertex_multimodal_001 as search_embeddings_vertex_multimodal_001 } from "../helpers/embeddings";
28
28
  export { server_delete_event as delete_event, server_get_event_by_id as get_event_by_id, server_get_total_events_by_herd as get_total_events_by_herd, server_insert_event as insert_event, server_match_events_by_vertex_embedding as match_events_by_vertex_embedding, server_update_event as update_event, } from "../helpers/events";
29
+ export { server_create_battery_cycle_count as create_battery_cycle_count, server_delete_battery_cycle_count as delete_battery_cycle_count, server_get_battery_cycle_counts_by_battery_id as get_battery_cycle_counts_by_battery_id, server_update_battery_cycle_count as update_battery_cycle_count, } from "../helpers/battery_cycle_counts";
29
30
  export { server_get_health_metrics as get_health_metrics, server_get_health_metrics_summary as get_health_metrics_summary, } from "../helpers/health_metrics";
30
31
  export { server_check_device_online_status as check_device_online_status, server_get_heartbeats_by_device as get_heartbeats_by_device, server_get_last_heartbeat_by_device as get_last_heartbeat_by_device, } from "../helpers/heartbeats";
31
32
  export { server_get_herd_allowed_domains as get_herd_allowed_domains } from "../helpers/herd_allowed_domains";
@@ -57,7 +58,7 @@ export { server_get_analysis_task_by_id as get_analysis_task_by_id, server_get_a
57
58
  export { server_is_scout_email_valid as is_scout_email_valid, server_isCurrentUserPlatformSuperadmin as isCurrentUserPlatformSuperadmin, } from "../helpers/auth_server";
58
59
  export { server_create_certificate_by_device as create_certificate_by_device, server_create_certificate_by_part as create_certificate_by_part, server_delete_certificate_by_device as delete_certificate_by_device, server_delete_certificate_by_part as delete_certificate_by_part, server_get_certificate_by_device as get_certificate_by_device, server_get_certificate_by_part as get_certificate_by_part, server_get_certificates_by_device as get_certificates_by_device, server_get_certificates_by_part as get_certificates_by_part, server_update_certificate_by_device as update_certificate_by_device, server_update_certificate_by_part as update_certificate_by_part, } from "../helpers/certificates_server";
59
60
  export { server_create_contact as create_contact, server_get_contact_by_id as get_contact_by_id, server_get_contacts_by_herd_id as get_contacts_by_herd_id, server_update_contact as update_contact, } from "../helpers/contacts_server";
60
- export { server_create_document as create_document, server_delete_document as delete_document, server_get_document_by_id as get_document_by_id, server_get_documents_by_device_id as get_documents_by_device_id, server_get_documents_by_herd_id as get_documents_by_herd_id, server_get_documents_by_operating_context_id as get_documents_by_operating_context_id, server_get_documents_by_product_id as get_documents_by_product_id, server_get_documents_by_user_id as get_documents_by_user_id, server_update_document as update_document, } from "../helpers/documents_server";
61
+ export { server_create_document as create_document, server_delete_document as delete_document, server_get_document_by_id as get_document_by_id, server_get_documents_by_device_id as get_documents_by_device_id, server_get_documents_by_herd_id as get_documents_by_herd_id, server_get_documents_by_operating_context_id as get_documents_by_operating_context_id, server_get_documents_by_product_id as get_documents_by_product_id, server_get_documents_by_region_conflict_id as get_documents_by_region_conflict_id, server_get_documents_by_user_id as get_documents_by_user_id, server_update_document as update_document, } from "../helpers/documents_server";
61
62
  export { server_create_herd_credential as create_herd_credential, server_delete_herd_credential as delete_herd_credential, server_get_herd_credential_by_id as get_herd_credential_by_id, server_get_herd_credentials_by_herd_id as get_herd_credentials_by_herd_id, server_update_herd_credential as update_herd_credential, } from "../helpers/herd_credentials_server";
62
63
  export { server_update_artifact_lifecycle as update_artifact_lifecycle, server_update_contact_lifecycle as update_contact_lifecycle, server_update_device_lifecycle as update_device_lifecycle, server_update_event_lifecycle as update_event_lifecycle, server_update_herd_allowed_domain_lifecycle as update_herd_allowed_domain_lifecycle, server_update_part_lifecycle as update_part_lifecycle, server_update_session_lifecycle as update_session_lifecycle, server_update_user_lifecycle as update_user_lifecycle, server_update_user_role_per_herd_lifecycle as update_user_role_per_herd_lifecycle, } from "../helpers/lifecycle_server";
63
64
  export { server_create_maintenance_request as create_maintenance_request, server_delete_maintenance_request as delete_maintenance_request, server_get_maintenance_request_by_id as get_maintenance_request_by_id, server_get_maintenance_requests_by_device_id as get_maintenance_requests_by_device_id, server_get_maintenance_requests_by_herd_id as get_maintenance_requests_by_herd_id, server_get_maintenance_requests_by_part_id as get_maintenance_requests_by_part_id, server_get_maintenance_requests_count_by_herd_id as get_maintenance_requests_count_by_herd_id, server_update_maintenance_request as update_maintenance_request, } from "../helpers/maintenance_requests_server";
@@ -109,6 +109,7 @@ export interface OperatingContextListOptions {
109
109
  limit?: number;
110
110
  after_id?: number;
111
111
  }
112
+ export type OperatingContextOperationPeriod = Database["public"]["Enums"]["operating_context_operation_period"];
112
113
  export interface GeographyPoint {
113
114
  type: "Point";
114
115
  coordinates: [number, number];
@@ -117,6 +118,10 @@ export interface GeographyPolygon {
117
118
  type: "Polygon";
118
119
  coordinates: number[][][];
119
120
  }
121
+ export interface GeographyMultiPolygon {
122
+ type: "MultiPolygon";
123
+ coordinates: number[][][][];
124
+ }
120
125
  export interface LifecyclePatch {
121
126
  lifecycle?: EntityLifecycle;
122
127
  lifecycle_reason?: string | null;
@@ -144,7 +149,7 @@ export type OperatingContextEquipmentRequirementUpdateInput = Partial<Pick<Opera
144
149
  export interface OperatingContextRegionCreateInput {
145
150
  operating_context_id: number;
146
151
  is_exclusion: boolean;
147
- region: GeographyPolygon | string;
152
+ region: GeographyPolygon | GeographyMultiPolygon | string;
148
153
  name?: string | null;
149
154
  weather_origin?: GeographyPoint | string | null;
150
155
  }
@@ -167,7 +172,7 @@ export interface OperatingContextRegionConflictCreateInput {
167
172
  conflict_type_id: number;
168
173
  name: string;
169
174
  description?: string | null;
170
- location?: GeographyPoint | GeographyPolygon | string | null;
175
+ location?: GeographyPoint | GeographyPolygon | GeographyMultiPolygon | string | null;
171
176
  }
172
177
  export type OperatingContextRegionConflictUpdateInput = Partial<Omit<OperatingContextRegionConflictCreateInput, "operating_context_region_id" | "herd_id">> & LifecyclePatch;
173
178
  export type OperatingContextRegionConflictContactCreateInput = Pick<OperatingContextRegionConflictContactInsert, "operating_context_region_conflict_id" | "contact_id" | "herd_id">;
@@ -201,6 +206,9 @@ export type IVersionsSoftware = Database["public"]["Tables"]["versions_software"
201
206
  export type IArtifact = Database["public"]["Tables"]["artifacts"]["Row"];
202
207
  export type IHealthMetric = Database["public"]["Tables"]["health_metrics"]["Row"];
203
208
  export type IHealthMetricSummaryRow = Database["public"]["Functions"]["get_health_metrics_summary"]["Returns"][number];
209
+ export type IBatteryCycleCount = Database["public"]["Tables"]["battery_cycle_counts"]["Row"];
210
+ export type BatteryCycleCountInsert = Database["public"]["Tables"]["battery_cycle_counts"]["Insert"];
211
+ export type BatteryCycleCountUpdate = Database["public"]["Tables"]["battery_cycle_counts"]["Update"];
204
212
  export type IMinimalSubjectForArtifact = Database["public"]["Functions"]["get_minimal_subjects_for_artifact"]["Returns"][number];
205
213
  export type IAnalysisJob = Database["public"]["Tables"]["analysis_jobs"]["Row"];
206
214
  export type IAnalysisTask = Database["public"]["Tables"]["analysis_tasks"]["Row"];
@@ -347,6 +347,38 @@ export type Database = {
347
347
  }
348
348
  ];
349
349
  };
350
+ battery_cycle_counts: {
351
+ Row: {
352
+ battery_id: number;
353
+ cycle_count: number;
354
+ id: number;
355
+ inserted_at: string;
356
+ timestamp_observation: string;
357
+ };
358
+ Insert: {
359
+ battery_id: number;
360
+ cycle_count: number;
361
+ id?: number;
362
+ inserted_at?: string;
363
+ timestamp_observation: string;
364
+ };
365
+ Update: {
366
+ battery_id?: number;
367
+ cycle_count?: number;
368
+ id?: number;
369
+ inserted_at?: string;
370
+ timestamp_observation?: string;
371
+ };
372
+ Relationships: [
373
+ {
374
+ foreignKeyName: "battery_cycle_counts_battery_id_fkey";
375
+ columns: ["battery_id"];
376
+ isOneToOne: false;
377
+ referencedRelation: "parts";
378
+ referencedColumns: ["id"];
379
+ }
380
+ ];
381
+ };
350
382
  calibrations: {
351
383
  Row: {
352
384
  id: number;
@@ -678,6 +710,8 @@ export type Database = {
678
710
  mode: string | null;
679
711
  noise: number | null;
680
712
  quality_normalized: number | null;
713
+ secondary_battery_percentage: number | null;
714
+ secondary_battery_volts: number | null;
681
715
  session_id: number | null;
682
716
  signal: number | null;
683
717
  timestamp_start: string;
@@ -702,6 +736,8 @@ export type Database = {
702
736
  mode?: string | null;
703
737
  noise?: number | null;
704
738
  quality_normalized?: number | null;
739
+ secondary_battery_percentage?: number | null;
740
+ secondary_battery_volts?: number | null;
705
741
  session_id?: number | null;
706
742
  signal?: number | null;
707
743
  timestamp_start: string;
@@ -726,6 +762,8 @@ export type Database = {
726
762
  mode?: string | null;
727
763
  noise?: number | null;
728
764
  quality_normalized?: number | null;
765
+ secondary_battery_percentage?: number | null;
766
+ secondary_battery_volts?: number | null;
729
767
  session_id?: number | null;
730
768
  signal?: number | null;
731
769
  timestamp_start?: string;
@@ -1186,6 +1224,7 @@ export type Database = {
1186
1224
  lifecycle_reason: string | null;
1187
1225
  operating_context_id: number | null;
1188
1226
  product_id: number | null;
1227
+ region_conflict_id: number | null;
1189
1228
  related_herd_id: number | null;
1190
1229
  size_bytes: number | null;
1191
1230
  template_id: number | null;
@@ -1211,6 +1250,7 @@ export type Database = {
1211
1250
  lifecycle_reason?: string | null;
1212
1251
  operating_context_id?: number | null;
1213
1252
  product_id?: number | null;
1253
+ region_conflict_id?: number | null;
1214
1254
  related_herd_id?: number | null;
1215
1255
  size_bytes?: number | null;
1216
1256
  template_id?: number | null;
@@ -1236,6 +1276,7 @@ export type Database = {
1236
1276
  lifecycle_reason?: string | null;
1237
1277
  operating_context_id?: number | null;
1238
1278
  product_id?: number | null;
1279
+ region_conflict_id?: number | null;
1239
1280
  related_herd_id?: number | null;
1240
1281
  size_bytes?: number | null;
1241
1282
  template_id?: number | null;
@@ -1296,6 +1337,13 @@ export type Database = {
1296
1337
  referencedRelation: "products";
1297
1338
  referencedColumns: ["id"];
1298
1339
  },
1340
+ {
1341
+ foreignKeyName: "documents_region_conflict_id_fkey";
1342
+ columns: ["region_conflict_id"];
1343
+ isOneToOne: false;
1344
+ referencedRelation: "operating_context_region_conflicts";
1345
+ referencedColumns: ["id"];
1346
+ },
1299
1347
  {
1300
1348
  foreignKeyName: "documents_related_herd_id_fkey";
1301
1349
  columns: ["related_herd_id"];
@@ -2813,6 +2861,7 @@ export type Database = {
2813
2861
  created_at: string;
2814
2862
  created_by: string | null;
2815
2863
  description: string | null;
2864
+ frequency_required_for_contacts: boolean;
2816
2865
  herd_id: number;
2817
2866
  id: number;
2818
2867
  lifecycle: Database["public"]["Enums"]["entity_lifecycle"];
@@ -2830,6 +2879,7 @@ export type Database = {
2830
2879
  created_at?: string;
2831
2880
  created_by?: string | null;
2832
2881
  description?: string | null;
2882
+ frequency_required_for_contacts?: boolean;
2833
2883
  herd_id: number;
2834
2884
  id?: number;
2835
2885
  lifecycle?: Database["public"]["Enums"]["entity_lifecycle"];
@@ -2847,6 +2897,7 @@ export type Database = {
2847
2897
  created_at?: string;
2848
2898
  created_by?: string | null;
2849
2899
  description?: string | null;
2900
+ frequency_required_for_contacts?: boolean;
2850
2901
  herd_id?: number;
2851
2902
  id?: number;
2852
2903
  lifecycle?: Database["public"]["Enums"]["entity_lifecycle"];
@@ -3977,6 +4028,7 @@ export type Database = {
3977
4028
  category: string | null;
3978
4029
  description: string | null;
3979
4030
  id: number;
4031
+ image_uri: string | null;
3980
4032
  inserted_at: string;
3981
4033
  lifecycle: Database["public"]["Enums"]["entity_lifecycle"];
3982
4034
  lifecycle_changed_at: string;
@@ -3990,6 +4042,7 @@ export type Database = {
3990
4042
  category?: string | null;
3991
4043
  description?: string | null;
3992
4044
  id?: number;
4045
+ image_uri?: string | null;
3993
4046
  inserted_at?: string;
3994
4047
  lifecycle?: Database["public"]["Enums"]["entity_lifecycle"];
3995
4048
  lifecycle_changed_at?: string;
@@ -4003,6 +4056,7 @@ export type Database = {
4003
4056
  category?: string | null;
4004
4057
  description?: string | null;
4005
4058
  id?: number;
4059
+ image_uri?: string | null;
4006
4060
  inserted_at?: string;
4007
4061
  lifecycle?: Database["public"]["Enums"]["entity_lifecycle"];
4008
4062
  lifecycle_changed_at?: string;
@@ -4432,6 +4486,7 @@ export type Database = {
4432
4486
  lifecycle_reason: string | null;
4433
4487
  locations: unknown;
4434
4488
  post_approver: string | null;
4489
+ secondary_battery_id: number | null;
4435
4490
  software_version: string;
4436
4491
  start_approver: string | null;
4437
4492
  status: Database["public"]["Enums"]["session_status"];
@@ -4459,6 +4514,7 @@ export type Database = {
4459
4514
  lifecycle_reason?: string | null;
4460
4515
  locations?: unknown;
4461
4516
  post_approver?: string | null;
4517
+ secondary_battery_id?: number | null;
4462
4518
  software_version: string;
4463
4519
  start_approver?: string | null;
4464
4520
  status?: Database["public"]["Enums"]["session_status"];
@@ -4486,6 +4542,7 @@ export type Database = {
4486
4542
  lifecycle_reason?: string | null;
4487
4543
  locations?: unknown;
4488
4544
  post_approver?: string | null;
4545
+ secondary_battery_id?: number | null;
4489
4546
  software_version?: string;
4490
4547
  start_approver?: string | null;
4491
4548
  status?: Database["public"]["Enums"]["session_status"];
@@ -4531,6 +4588,13 @@ export type Database = {
4531
4588
  referencedRelation: "users";
4532
4589
  referencedColumns: ["id"];
4533
4590
  },
4591
+ {
4592
+ foreignKeyName: "sessions_secondary_battery_id_fkey";
4593
+ columns: ["secondary_battery_id"];
4594
+ isOneToOne: false;
4595
+ referencedRelation: "parts";
4596
+ referencedColumns: ["id"];
4597
+ },
4534
4598
  {
4535
4599
  foreignKeyName: "sessions_start_approver_fkey";
4536
4600
  columns: ["start_approver"];
@@ -6478,6 +6542,7 @@ export type Database = {
6478
6542
  lifecycle_reason: string | null;
6479
6543
  locations: unknown;
6480
6544
  post_approver: string | null;
6545
+ secondary_battery_id: number | null;
6481
6546
  software_version: string;
6482
6547
  start_approver: string | null;
6483
6548
  status: Database["public"]["Enums"]["session_status"];
@@ -6767,6 +6832,8 @@ export type Database = {
6767
6832
  battery_volts: number | null;
6768
6833
  link_type: Database["public"]["Enums"]["link_type"] | null;
6769
6834
  quality_normalized: number | null;
6835
+ secondary_battery_percentage: number | null;
6836
+ secondary_battery_volts: number | null;
6770
6837
  };
6771
6838
  device_heartbeat_analysis: {
6772
6839
  device_id: number | null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adventurelabs/scout-core",
3
- "version": "2.0.6",
3
+ "version": "2.0.8",
4
4
  "description": "Core utilities and helpers for Adventure Labs Scout applications",
5
5
  "exports": {
6
6
  "./client": {