@layer-drone/protocol 2.2.0 → 2.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -863,7 +863,8 @@ export type CreateProposalRequestDto = {
863
863
  payload: {
864
864
  zone_id: string;
865
865
  campaigns: Array<string>;
866
- flight_plan_id: number;
866
+ flight_plan_id?: number;
867
+ flight_plan_slug?: string;
867
868
  amount: string | number | bigint;
868
869
  decimals: number;
869
870
  capture_start_time: Date;
@@ -1293,6 +1294,7 @@ export type MissionFulfillmentGetFlightPlansResponse = {
1293
1294
  data: Array<{
1294
1295
  id: string;
1295
1296
  name: string;
1297
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1296
1298
  slug: string | null;
1297
1299
  description: string | null;
1298
1300
  base_energy_usage: number;
@@ -1341,6 +1343,7 @@ export type MissionFulfillmentGetFlightPlansResponse = {
1341
1343
  export type FlightPlanResponse = {
1342
1344
  id: string;
1343
1345
  name: string;
1346
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1344
1347
  slug: string | null;
1345
1348
  description: string | null;
1346
1349
  base_energy_usage: number;
@@ -1442,7 +1445,12 @@ export type FlightPathIntendedResponse = {
1442
1445
  features: Array<unknown>;
1443
1446
  metadata: {
1444
1447
  flightPlanType: string;
1445
- flightPlanId: number;
1448
+ flightPlanId?: number;
1449
+ mfFlightPlan?: {
1450
+ id: string;
1451
+ slug?: string | null;
1452
+ name?: string;
1453
+ };
1446
1454
  zoneHash: string;
1447
1455
  imageCount: number;
1448
1456
  pathVersion: number;
@@ -1576,6 +1584,7 @@ export type CreateMissionsResponse = {
1576
1584
  | "completed";
1577
1585
  zone_id: string;
1578
1586
  flight_plan_id: string;
1587
+ campaign_ids: Array<string>;
1579
1588
  chain_mission_id: string | null;
1580
1589
  rewards: Array<{
1581
1590
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1619,7 +1628,17 @@ export type CreateMissionsResponse = {
1619
1628
  pilot_address: string;
1620
1629
  expires_at: Date;
1621
1630
  released_at: Date | null;
1622
- released_reason: "expired" | "completed";
1631
+ released_reason: "expired" | "completed" | "cancelled";
1632
+ created_at: Date;
1633
+ updated_at: Date;
1634
+ } | null;
1635
+ reservation?: {
1636
+ id: string;
1637
+ mission_id: string;
1638
+ mission_hold_id: string;
1639
+ pilot_address: string;
1640
+ status: "active" | "completed" | "cancelled" | "expired";
1641
+ ended_at: Date | null;
1623
1642
  created_at: Date;
1624
1643
  updated_at: Date;
1625
1644
  } | null;
@@ -1633,8 +1652,20 @@ export type CreateMissionsResponse = {
1633
1652
  error: {
1634
1653
  code: string;
1635
1654
  message: string;
1655
+ subject?: string;
1636
1656
  };
1637
1657
  }
1658
+ | {
1659
+ status: "validated";
1660
+ }
1661
+ | {
1662
+ status: "invalid";
1663
+ errors: Array<{
1664
+ code: string;
1665
+ message: string;
1666
+ subject?: string;
1667
+ }>;
1668
+ }
1638
1669
  >;
1639
1670
  };
1640
1671
 
@@ -1653,6 +1684,7 @@ export type ListMissionsResponse = {
1653
1684
  | "completed";
1654
1685
  zone_id: string;
1655
1686
  flight_plan_id: string;
1687
+ campaign_ids: Array<string>;
1656
1688
  chain_mission_id: string | null;
1657
1689
  rewards: Array<{
1658
1690
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1685,7 +1717,17 @@ export type ListMissionsResponse = {
1685
1717
  pilot_address: string;
1686
1718
  expires_at: Date;
1687
1719
  released_at: Date | null;
1688
- released_reason: "expired" | "completed";
1720
+ released_reason: "expired" | "completed" | "cancelled";
1721
+ created_at: Date;
1722
+ updated_at: Date;
1723
+ } | null;
1724
+ reservation?: {
1725
+ id: string;
1726
+ mission_id: string;
1727
+ mission_hold_id: string;
1728
+ pilot_address: string;
1729
+ status: "active" | "completed" | "cancelled" | "expired";
1730
+ ended_at: Date | null;
1689
1731
  created_at: Date;
1690
1732
  updated_at: Date;
1691
1733
  } | null;
@@ -1710,6 +1752,7 @@ export type MissionResponse = {
1710
1752
  | "completed";
1711
1753
  zone_id: string;
1712
1754
  flight_plan_id: string;
1755
+ campaign_ids: Array<string>;
1713
1756
  chain_mission_id: string | null;
1714
1757
  rewards: Array<{
1715
1758
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1742,7 +1785,17 @@ export type MissionResponse = {
1742
1785
  pilot_address: string;
1743
1786
  expires_at: Date;
1744
1787
  released_at: Date | null;
1745
- released_reason: "expired" | "completed";
1788
+ released_reason: "expired" | "completed" | "cancelled";
1789
+ created_at: Date;
1790
+ updated_at: Date;
1791
+ } | null;
1792
+ reservation?: {
1793
+ id: string;
1794
+ mission_id: string;
1795
+ mission_hold_id: string;
1796
+ pilot_address: string;
1797
+ status: "active" | "completed" | "cancelled" | "expired";
1798
+ ended_at: Date | null;
1746
1799
  created_at: Date;
1747
1800
  updated_at: Date;
1748
1801
  } | null;
@@ -1761,6 +1814,46 @@ export type UpdateMissionBody = {
1761
1814
  reservable?: boolean;
1762
1815
  };
1763
1816
 
1817
+ export type CreateReservationBody = {
1818
+ mission_id: string;
1819
+ pilot_address: string;
1820
+ };
1821
+
1822
+ export type ReservationResponse = {
1823
+ id: string;
1824
+ mission_id: string;
1825
+ mission_hold_id: string;
1826
+ pilot_address: string;
1827
+ status: "active" | "completed" | "cancelled" | "expired";
1828
+ ended_at: Date | null;
1829
+ created_at: Date;
1830
+ updated_at: Date;
1831
+ };
1832
+
1833
+ export type ListReservationsResponse = {
1834
+ data: Array<{
1835
+ id: string;
1836
+ mission_id: string;
1837
+ mission_hold_id: string;
1838
+ pilot_address: string;
1839
+ status: "active" | "completed" | "cancelled" | "expired";
1840
+ ended_at: Date | null;
1841
+ created_at: Date;
1842
+ updated_at: Date;
1843
+ }>;
1844
+ has_next_page: boolean;
1845
+ };
1846
+
1847
+ export type CancelReservationBody = {
1848
+ pilot_address: string;
1849
+ };
1850
+
1851
+ export type PilotReputationResponse = {
1852
+ pilot_address: string;
1853
+ points: number;
1854
+ rating: number | null;
1855
+ };
1856
+
1764
1857
  export type CreateFlightBody = {
1765
1858
  mission_id: string;
1766
1859
  pilot_address: string;
@@ -1933,6 +2026,22 @@ export type ListCampaignsResponseDto = {
1933
2026
  has_next_page: boolean;
1934
2027
  };
1935
2028
 
2029
+ export type ListCampaignZonesResponseDto = {
2030
+ data: Array<{
2031
+ zone_id: string;
2032
+ distance: number | null;
2033
+ geometry?: {
2034
+ [key: string]: unknown;
2035
+ } | null;
2036
+ rewards: Array<{
2037
+ denomination: "usdc" | "usd" | "cad" | "rp";
2038
+ total: string;
2039
+ remaining: string;
2040
+ }>;
2041
+ }>;
2042
+ has_next_page: boolean;
2043
+ };
2044
+
1936
2045
  export type UpdateCampaignRequestDto = {
1937
2046
  name: string;
1938
2047
  };
@@ -3605,6 +3714,14 @@ export type SubmitProposalErrors = {
3605
3714
  400: unknown;
3606
3715
  401: unknown;
3607
3716
  403: unknown;
3717
+ /**
3718
+ * One or more changes would fail upstream (SN-2851). proposal-service's body is forwarded as-is: every problem, each naming the change by its index in the submitted array. No proposal was created.
3719
+ */
3720
+ 422: unknown;
3721
+ /**
3722
+ * proposal-service could not validate the changes against upstream, so it created nothing rather than accept a proposal it could not check.
3723
+ */
3724
+ 503: unknown;
3608
3725
  };
3609
3726
 
3610
3727
  export type SubmitProposalResponses = {
@@ -4747,6 +4864,7 @@ export type CampaignsControllerGetCampaignsV2V2Data = {
4747
4864
  path?: never;
4748
4865
  query?: {
4749
4866
  page?: number;
4867
+ name?: string;
4750
4868
  lat?: number;
4751
4869
  lng?: number;
4752
4870
  max_distance_meters?: number;
@@ -4770,7 +4888,9 @@ export type CampaignsControllerGetCampaignsV2V2Response =
4770
4888
  export type CampaignsControllerCreateCampaignV2V2Data = {
4771
4889
  body: CreateCampaignRequestDto;
4772
4890
  path?: never;
4773
- query?: never;
4891
+ query?: {
4892
+ dry_run?: string;
4893
+ };
4774
4894
  url: "/v2/campaigns";
4775
4895
  };
4776
4896
 
@@ -4822,7 +4942,9 @@ export type CampaignsControllerUpdateCampaignV2V2Data = {
4822
4942
  path: {
4823
4943
  id: string;
4824
4944
  };
4825
- query?: never;
4945
+ query?: {
4946
+ dry_run?: string;
4947
+ };
4826
4948
  url: "/v2/campaigns/{id}";
4827
4949
  };
4828
4950
 
@@ -4851,7 +4973,9 @@ export type CampaignsControllerCancelCampaignV2V2Data = {
4851
4973
  path: {
4852
4974
  id: string;
4853
4975
  };
4854
- query?: never;
4976
+ query?: {
4977
+ dry_run?: string;
4978
+ };
4855
4979
  url: "/v2/campaigns/{id}/cancel";
4856
4980
  };
4857
4981
 
@@ -4871,6 +4995,37 @@ export type CampaignsControllerCancelCampaignV2V2Responses = {
4871
4995
  export type CampaignsControllerCancelCampaignV2V2Response =
4872
4996
  CampaignsControllerCancelCampaignV2V2Responses[keyof CampaignsControllerCancelCampaignV2V2Responses];
4873
4997
 
4998
+ export type CampaignsControllerGetCampaignZonesV2V2Data = {
4999
+ body?: never;
5000
+ path: {
5001
+ id: string;
5002
+ };
5003
+ query?: {
5004
+ page?: number;
5005
+ lat?: number;
5006
+ lng?: number;
5007
+ expand?: string;
5008
+ show_unavailable?: "true" | "false";
5009
+ };
5010
+ url: "/v2/campaigns/{id}/zones";
5011
+ };
5012
+
5013
+ export type CampaignsControllerGetCampaignZonesV2V2Errors = {
5014
+ 401: unknown;
5015
+ 403: unknown;
5016
+ /**
5017
+ * Campaign not found
5018
+ */
5019
+ 404: unknown;
5020
+ };
5021
+
5022
+ export type CampaignsControllerGetCampaignZonesV2V2Responses = {
5023
+ 200: ListCampaignZonesResponseDto;
5024
+ };
5025
+
5026
+ export type CampaignsControllerGetCampaignZonesV2V2Response =
5027
+ CampaignsControllerGetCampaignZonesV2V2Responses[keyof CampaignsControllerGetCampaignZonesV2V2Responses];
5028
+
4874
5029
  export type FlightPlansControllerGetManyV2V2Data = {
4875
5030
  body?: never;
4876
5031
  path?: never;
@@ -4902,8 +5057,16 @@ export type FlightPlansControllerCreateV2V2Data = {
4902
5057
  };
4903
5058
 
4904
5059
  export type FlightPlansControllerCreateV2V2Errors = {
5060
+ /**
5061
+ * Template is pathify-incompatible (section/strategy mix or panorama count)
5062
+ */
5063
+ 400: unknown;
4905
5064
  401: unknown;
4906
5065
  403: unknown;
5066
+ /**
5067
+ * An active Flight Plan already uses this slug
5068
+ */
5069
+ 409: unknown;
4907
5070
  };
4908
5071
 
4909
5072
  export type FlightPlansControllerCreateV2V2Responses = {
@@ -4944,8 +5107,16 @@ export type FlightPlansControllerUpdateV2V2Data = {
4944
5107
  };
4945
5108
 
4946
5109
  export type FlightPlansControllerUpdateV2V2Errors = {
5110
+ /**
5111
+ * Template is pathify-incompatible (section/strategy mix or panorama count)
5112
+ */
5113
+ 400: unknown;
4947
5114
  401: unknown;
4948
5115
  403: unknown;
5116
+ /**
5117
+ * An active Flight Plan already uses this slug
5118
+ */
5119
+ 409: unknown;
4949
5120
  };
4950
5121
 
4951
5122
  export type FlightPlansControllerUpdateV2V2Responses = {
@@ -5216,7 +5387,14 @@ export type MissionsControllerGetMissionsV2V2Data = {
5216
5387
  created_at_lt?: Date;
5217
5388
  updated_at_gt?: Date;
5218
5389
  updated_at_lt?: Date;
5390
+ source?: "chain" | "archived";
5219
5391
  include_unconfirmed?: string;
5392
+ held_by?: string;
5393
+ expand?:
5394
+ | Array<"confirmations" | "hold" | "reservation">
5395
+ | "confirmations"
5396
+ | "hold"
5397
+ | "reservation";
5220
5398
  };
5221
5399
  url: "/v2/missions";
5222
5400
  };
@@ -5236,7 +5414,9 @@ export type MissionsControllerGetMissionsV2V2Response =
5236
5414
  export type MissionsControllerCreateMissionsV2V2Data = {
5237
5415
  body: CreateMissionsBody;
5238
5416
  path?: never;
5239
- query?: never;
5417
+ query?: {
5418
+ dry_run?: string;
5419
+ };
5240
5420
  url: "/v2/missions";
5241
5421
  };
5242
5422
 
@@ -5246,6 +5426,10 @@ export type MissionsControllerCreateMissionsV2V2Errors = {
5246
5426
  };
5247
5427
 
5248
5428
  export type MissionsControllerCreateMissionsV2V2Responses = {
5429
+ /**
5430
+ * Dry run: per-item validation results, nothing written
5431
+ */
5432
+ 200: CreateMissionsResponse;
5249
5433
  201: CreateMissionsResponse;
5250
5434
  };
5251
5435
 
@@ -5258,7 +5442,11 @@ export type MissionsControllerGetMissionV2V2Data = {
5258
5442
  id: string;
5259
5443
  };
5260
5444
  query?: {
5261
- expand?: string;
5445
+ expand?:
5446
+ | Array<"confirmations" | "hold" | "reservation">
5447
+ | "confirmations"
5448
+ | "hold"
5449
+ | "reservation";
5262
5450
  };
5263
5451
  url: "/v2/missions/{id}";
5264
5452
  };
@@ -5280,7 +5468,9 @@ export type MissionsControllerUpdateMissionV2V2Data = {
5280
5468
  path: {
5281
5469
  id: string;
5282
5470
  };
5283
- query?: never;
5471
+ query?: {
5472
+ dry_run?: string;
5473
+ };
5284
5474
  url: "/v2/missions/{id}";
5285
5475
  };
5286
5476
 
@@ -5301,7 +5491,9 @@ export type MissionsControllerCancelMissionV2V2Data = {
5301
5491
  path: {
5302
5492
  id: string;
5303
5493
  };
5304
- query?: never;
5494
+ query?: {
5495
+ dry_run?: string;
5496
+ };
5305
5497
  url: "/v2/missions/{id}/cancel";
5306
5498
  };
5307
5499
 
@@ -5338,6 +5530,112 @@ export type MissionsControllerRetryMissionV2V2Responses = {
5338
5530
  export type MissionsControllerRetryMissionV2V2Response =
5339
5531
  MissionsControllerRetryMissionV2V2Responses[keyof MissionsControllerRetryMissionV2V2Responses];
5340
5532
 
5533
+ export type PilotsControllerGetPilotReputationV2V2Data = {
5534
+ body?: never;
5535
+ path: {
5536
+ address: string;
5537
+ };
5538
+ query?: never;
5539
+ url: "/v2/pilots/{address}/reputation";
5540
+ };
5541
+
5542
+ export type PilotsControllerGetPilotReputationV2V2Errors = {
5543
+ 401: unknown;
5544
+ 403: unknown;
5545
+ };
5546
+
5547
+ export type PilotsControllerGetPilotReputationV2V2Responses = {
5548
+ 200: PilotReputationResponse;
5549
+ };
5550
+
5551
+ export type PilotsControllerGetPilotReputationV2V2Response =
5552
+ PilotsControllerGetPilotReputationV2V2Responses[keyof PilotsControllerGetPilotReputationV2V2Responses];
5553
+
5554
+ export type ReservationsControllerGetReservationsV2V2Data = {
5555
+ body?: never;
5556
+ path?: never;
5557
+ query?: {
5558
+ page?: number;
5559
+ pilot_address?: string;
5560
+ mission_id?: string;
5561
+ status?: "active" | "completed" | "cancelled" | "expired";
5562
+ };
5563
+ url: "/v2/reservations";
5564
+ };
5565
+
5566
+ export type ReservationsControllerGetReservationsV2V2Errors = {
5567
+ 401: unknown;
5568
+ 403: unknown;
5569
+ };
5570
+
5571
+ export type ReservationsControllerGetReservationsV2V2Responses = {
5572
+ 200: ListReservationsResponse;
5573
+ };
5574
+
5575
+ export type ReservationsControllerGetReservationsV2V2Response =
5576
+ ReservationsControllerGetReservationsV2V2Responses[keyof ReservationsControllerGetReservationsV2V2Responses];
5577
+
5578
+ export type ReservationsControllerCreateReservationV2V2Data = {
5579
+ body: CreateReservationBody;
5580
+ path?: never;
5581
+ query?: never;
5582
+ url: "/v2/reservations";
5583
+ };
5584
+
5585
+ export type ReservationsControllerCreateReservationV2V2Errors = {
5586
+ 401: unknown;
5587
+ 403: unknown;
5588
+ };
5589
+
5590
+ export type ReservationsControllerCreateReservationV2V2Responses = {
5591
+ 201: ReservationResponse;
5592
+ };
5593
+
5594
+ export type ReservationsControllerCreateReservationV2V2Response =
5595
+ ReservationsControllerCreateReservationV2V2Responses[keyof ReservationsControllerCreateReservationV2V2Responses];
5596
+
5597
+ export type ReservationsControllerGetReservationV2V2Data = {
5598
+ body?: never;
5599
+ path: {
5600
+ id: string;
5601
+ };
5602
+ query?: never;
5603
+ url: "/v2/reservations/{id}";
5604
+ };
5605
+
5606
+ export type ReservationsControllerGetReservationV2V2Errors = {
5607
+ 401: unknown;
5608
+ 403: unknown;
5609
+ };
5610
+
5611
+ export type ReservationsControllerGetReservationV2V2Responses = {
5612
+ 200: ReservationResponse;
5613
+ };
5614
+
5615
+ export type ReservationsControllerGetReservationV2V2Response =
5616
+ ReservationsControllerGetReservationV2V2Responses[keyof ReservationsControllerGetReservationV2V2Responses];
5617
+
5618
+ export type ReservationsControllerCancelReservationV2V2Data = {
5619
+ body: CancelReservationBody;
5620
+ path: {
5621
+ id: string;
5622
+ };
5623
+ query?: never;
5624
+ url: "/v2/reservations/{id}/cancel";
5625
+ };
5626
+
5627
+ export type ReservationsControllerCancelReservationV2V2Errors = {
5628
+ 401: unknown;
5629
+ 403: unknown;
5630
+ };
5631
+
5632
+ export type ReservationsControllerCancelReservationV2V2Responses = {
5633
+ 200: ReservationResponse;
5634
+ };
5635
+
5636
+ export type ReservationsControllerCancelReservationV2V2Response =
5637
+ ReservationsControllerCancelReservationV2V2Responses[keyof ReservationsControllerCancelReservationV2V2Responses];
5638
+
5341
5639
  export type RewardsControllerListRewardsV2V2Data = {
5342
5640
  body?: never;
5343
5641
  path?: never;
@@ -5372,7 +5670,9 @@ export type RewardsControllerListRewardsV2V2Response =
5372
5670
  export type ZonesControllerCreateZonesV2V2Data = {
5373
5671
  body: CreateZonesRequestDto;
5374
5672
  path?: never;
5375
- query?: never;
5673
+ query?: {
5674
+ dry_run?: string;
5675
+ };
5376
5676
  url: "/v2/zones";
5377
5677
  };
5378
5678
 
@@ -5422,7 +5722,9 @@ export type ZonesControllerUpdateZoneV2V2Data = {
5422
5722
  path: {
5423
5723
  id: string;
5424
5724
  };
5425
- query?: never;
5725
+ query?: {
5726
+ dry_run?: string;
5727
+ };
5426
5728
  url: "/v2/zones/{id}";
5427
5729
  };
5428
5730
 
@@ -29,6 +29,7 @@ export const Event = z.union([
29
29
  .transform((wire) => BigInt(wire.value)),
30
30
  zoneId: z.string(),
31
31
  flightPlanId: z.number(),
32
+ mfFlightPlanId: z.string().uuid().optional(),
32
33
  campaigns: z.array(z.string()),
33
34
  captureStartTime: z.string().datetime({ offset: true }),
34
35
  captureEndTime: z.string().datetime({ offset: true }),
@@ -64,6 +65,7 @@ export const Event = z.union([
64
65
  .optional(),
65
66
  isOpen: z.boolean().optional(),
66
67
  campaigns: z.array(z.string()).optional(),
68
+ mfFlightPlanId: z.string().uuid().optional(),
67
69
  })
68
70
  .catchall(z.any()),
69
71
  })