@layer-drone/protocol 2.6.0 → 2.8.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.
package/dist/index.d.mts CHANGED
@@ -1234,6 +1234,7 @@ type ListRewardsResponse = {
1234
1234
  };
1235
1235
  type CreateMissionsBody = {
1236
1236
  missions: Array<{
1237
+ id?: string;
1237
1238
  zone_id: string;
1238
1239
  flight_plan_id: string;
1239
1240
  rewards?: Array<{
@@ -1259,7 +1260,61 @@ type CreateMissionsResponse = {
1259
1260
  status: "pending" | "submitted" | "scheduled" | "active" | "hold" | "cancelled" | "expired" | "completed";
1260
1261
  zone_id: string;
1261
1262
  flight_plan_id: string;
1263
+ flight_plan?: {
1264
+ id: string;
1265
+ name: string;
1266
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1267
+ slug: string | null;
1268
+ description: string | null;
1269
+ base_energy_usage: number;
1270
+ base_duration: number;
1271
+ sections: Array<{
1272
+ section_type: "map";
1273
+ parameters: {
1274
+ altitude_above_ground: number;
1275
+ flight_speed: number;
1276
+ side_overlap: number;
1277
+ front_overlap: number;
1278
+ gimbal_pitch: number;
1279
+ take_off_altitude_offset: number;
1280
+ flight_line_heading: {
1281
+ mode: "relative" | "absolute";
1282
+ degrees: number;
1283
+ };
1284
+ };
1285
+ } | {
1286
+ section_type: "panorama";
1287
+ count: number;
1288
+ positioning_method: "hex-distributed" | "centroid";
1289
+ parameters: {
1290
+ altitude_above_ground: number;
1291
+ flight_speed: number;
1292
+ field_of_view: number;
1293
+ yaw_overlap: number;
1294
+ gimbal_pitches: Array<number>;
1295
+ has_nadir_shot: boolean;
1296
+ };
1297
+ }>;
1298
+ connection_strategy: {
1299
+ type: "original-order" | "battery-optimized-strict";
1300
+ };
1301
+ schema_version: number;
1302
+ is_active: boolean;
1303
+ supersedes_id: string | null;
1304
+ created_at: Date;
1305
+ updated_at: Date;
1306
+ };
1262
1307
  campaign_ids: Array<string>;
1308
+ campaigns?: Array<{
1309
+ id: string;
1310
+ name: string;
1311
+ human_id: string;
1312
+ start_date: Date | null;
1313
+ end_date: Date | null;
1314
+ status: "empty" | "scheduled" | "active" | "cancelled" | "expired" | "completed";
1315
+ created_at: Date;
1316
+ updated_at: Date;
1317
+ }>;
1263
1318
  chain_mission_id: string | null;
1264
1319
  rewards: Array<{
1265
1320
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1335,7 +1390,61 @@ type ListMissionsResponse = {
1335
1390
  status: "pending" | "submitted" | "scheduled" | "active" | "hold" | "cancelled" | "expired" | "completed";
1336
1391
  zone_id: string;
1337
1392
  flight_plan_id: string;
1393
+ flight_plan?: {
1394
+ id: string;
1395
+ name: string;
1396
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1397
+ slug: string | null;
1398
+ description: string | null;
1399
+ base_energy_usage: number;
1400
+ base_duration: number;
1401
+ sections: Array<{
1402
+ section_type: "map";
1403
+ parameters: {
1404
+ altitude_above_ground: number;
1405
+ flight_speed: number;
1406
+ side_overlap: number;
1407
+ front_overlap: number;
1408
+ gimbal_pitch: number;
1409
+ take_off_altitude_offset: number;
1410
+ flight_line_heading: {
1411
+ mode: "relative" | "absolute";
1412
+ degrees: number;
1413
+ };
1414
+ };
1415
+ } | {
1416
+ section_type: "panorama";
1417
+ count: number;
1418
+ positioning_method: "hex-distributed" | "centroid";
1419
+ parameters: {
1420
+ altitude_above_ground: number;
1421
+ flight_speed: number;
1422
+ field_of_view: number;
1423
+ yaw_overlap: number;
1424
+ gimbal_pitches: Array<number>;
1425
+ has_nadir_shot: boolean;
1426
+ };
1427
+ }>;
1428
+ connection_strategy: {
1429
+ type: "original-order" | "battery-optimized-strict";
1430
+ };
1431
+ schema_version: number;
1432
+ is_active: boolean;
1433
+ supersedes_id: string | null;
1434
+ created_at: Date;
1435
+ updated_at: Date;
1436
+ };
1338
1437
  campaign_ids: Array<string>;
1438
+ campaigns?: Array<{
1439
+ id: string;
1440
+ name: string;
1441
+ human_id: string;
1442
+ start_date: Date | null;
1443
+ end_date: Date | null;
1444
+ status: "empty" | "scheduled" | "active" | "cancelled" | "expired" | "completed";
1445
+ created_at: Date;
1446
+ updated_at: Date;
1447
+ }>;
1339
1448
  chain_mission_id: string | null;
1340
1449
  rewards: Array<{
1341
1450
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1394,7 +1503,61 @@ type MissionResponse = {
1394
1503
  status: "pending" | "submitted" | "scheduled" | "active" | "hold" | "cancelled" | "expired" | "completed";
1395
1504
  zone_id: string;
1396
1505
  flight_plan_id: string;
1506
+ flight_plan?: {
1507
+ id: string;
1508
+ name: string;
1509
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1510
+ slug: string | null;
1511
+ description: string | null;
1512
+ base_energy_usage: number;
1513
+ base_duration: number;
1514
+ sections: Array<{
1515
+ section_type: "map";
1516
+ parameters: {
1517
+ altitude_above_ground: number;
1518
+ flight_speed: number;
1519
+ side_overlap: number;
1520
+ front_overlap: number;
1521
+ gimbal_pitch: number;
1522
+ take_off_altitude_offset: number;
1523
+ flight_line_heading: {
1524
+ mode: "relative" | "absolute";
1525
+ degrees: number;
1526
+ };
1527
+ };
1528
+ } | {
1529
+ section_type: "panorama";
1530
+ count: number;
1531
+ positioning_method: "hex-distributed" | "centroid";
1532
+ parameters: {
1533
+ altitude_above_ground: number;
1534
+ flight_speed: number;
1535
+ field_of_view: number;
1536
+ yaw_overlap: number;
1537
+ gimbal_pitches: Array<number>;
1538
+ has_nadir_shot: boolean;
1539
+ };
1540
+ }>;
1541
+ connection_strategy: {
1542
+ type: "original-order" | "battery-optimized-strict";
1543
+ };
1544
+ schema_version: number;
1545
+ is_active: boolean;
1546
+ supersedes_id: string | null;
1547
+ created_at: Date;
1548
+ updated_at: Date;
1549
+ };
1397
1550
  campaign_ids: Array<string>;
1551
+ campaigns?: Array<{
1552
+ id: string;
1553
+ name: string;
1554
+ human_id: string;
1555
+ start_date: Date | null;
1556
+ end_date: Date | null;
1557
+ status: "empty" | "scheduled" | "active" | "cancelled" | "expired" | "completed";
1558
+ created_at: Date;
1559
+ updated_at: Date;
1560
+ }>;
1398
1561
  chain_mission_id: string | null;
1399
1562
  rewards: Array<{
1400
1563
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -3905,6 +4068,7 @@ type MissionsControllerGetMissionsV2V2Data = {
3905
4068
  path?: never;
3906
4069
  query?: {
3907
4070
  page?: number;
4071
+ limit?: number;
3908
4072
  zone_id?: string;
3909
4073
  flight_plan_id?: string;
3910
4074
  campaign_id?: string;
@@ -3917,7 +4081,7 @@ type MissionsControllerGetMissionsV2V2Data = {
3917
4081
  source?: "chain" | "archived";
3918
4082
  include_unconfirmed?: string;
3919
4083
  held_by?: string;
3920
- expand?: Array<"confirmations" | "hold" | "reservation"> | "confirmations" | "hold" | "reservation";
4084
+ expand?: Array<"confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan"> | "confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan";
3921
4085
  };
3922
4086
  url: "/v2/missions";
3923
4087
  };
@@ -3952,7 +4116,7 @@ type MissionsControllerGetMissionV2V2Data = {
3952
4116
  id: string;
3953
4117
  };
3954
4118
  query?: {
3955
- expand?: Array<"confirmations" | "hold" | "reservation"> | "confirmations" | "hold" | "reservation";
4119
+ expand?: Array<"confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan"> | "confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan";
3956
4120
  };
3957
4121
  url: "/v2/missions/{id}";
3958
4122
  };
package/dist/index.d.ts CHANGED
@@ -1234,6 +1234,7 @@ type ListRewardsResponse = {
1234
1234
  };
1235
1235
  type CreateMissionsBody = {
1236
1236
  missions: Array<{
1237
+ id?: string;
1237
1238
  zone_id: string;
1238
1239
  flight_plan_id: string;
1239
1240
  rewards?: Array<{
@@ -1259,7 +1260,61 @@ type CreateMissionsResponse = {
1259
1260
  status: "pending" | "submitted" | "scheduled" | "active" | "hold" | "cancelled" | "expired" | "completed";
1260
1261
  zone_id: string;
1261
1262
  flight_plan_id: string;
1263
+ flight_plan?: {
1264
+ id: string;
1265
+ name: string;
1266
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1267
+ slug: string | null;
1268
+ description: string | null;
1269
+ base_energy_usage: number;
1270
+ base_duration: number;
1271
+ sections: Array<{
1272
+ section_type: "map";
1273
+ parameters: {
1274
+ altitude_above_ground: number;
1275
+ flight_speed: number;
1276
+ side_overlap: number;
1277
+ front_overlap: number;
1278
+ gimbal_pitch: number;
1279
+ take_off_altitude_offset: number;
1280
+ flight_line_heading: {
1281
+ mode: "relative" | "absolute";
1282
+ degrees: number;
1283
+ };
1284
+ };
1285
+ } | {
1286
+ section_type: "panorama";
1287
+ count: number;
1288
+ positioning_method: "hex-distributed" | "centroid";
1289
+ parameters: {
1290
+ altitude_above_ground: number;
1291
+ flight_speed: number;
1292
+ field_of_view: number;
1293
+ yaw_overlap: number;
1294
+ gimbal_pitches: Array<number>;
1295
+ has_nadir_shot: boolean;
1296
+ };
1297
+ }>;
1298
+ connection_strategy: {
1299
+ type: "original-order" | "battery-optimized-strict";
1300
+ };
1301
+ schema_version: number;
1302
+ is_active: boolean;
1303
+ supersedes_id: string | null;
1304
+ created_at: Date;
1305
+ updated_at: Date;
1306
+ };
1262
1307
  campaign_ids: Array<string>;
1308
+ campaigns?: Array<{
1309
+ id: string;
1310
+ name: string;
1311
+ human_id: string;
1312
+ start_date: Date | null;
1313
+ end_date: Date | null;
1314
+ status: "empty" | "scheduled" | "active" | "cancelled" | "expired" | "completed";
1315
+ created_at: Date;
1316
+ updated_at: Date;
1317
+ }>;
1263
1318
  chain_mission_id: string | null;
1264
1319
  rewards: Array<{
1265
1320
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1335,7 +1390,61 @@ type ListMissionsResponse = {
1335
1390
  status: "pending" | "submitted" | "scheduled" | "active" | "hold" | "cancelled" | "expired" | "completed";
1336
1391
  zone_id: string;
1337
1392
  flight_plan_id: string;
1393
+ flight_plan?: {
1394
+ id: string;
1395
+ name: string;
1396
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1397
+ slug: string | null;
1398
+ description: string | null;
1399
+ base_energy_usage: number;
1400
+ base_duration: number;
1401
+ sections: Array<{
1402
+ section_type: "map";
1403
+ parameters: {
1404
+ altitude_above_ground: number;
1405
+ flight_speed: number;
1406
+ side_overlap: number;
1407
+ front_overlap: number;
1408
+ gimbal_pitch: number;
1409
+ take_off_altitude_offset: number;
1410
+ flight_line_heading: {
1411
+ mode: "relative" | "absolute";
1412
+ degrees: number;
1413
+ };
1414
+ };
1415
+ } | {
1416
+ section_type: "panorama";
1417
+ count: number;
1418
+ positioning_method: "hex-distributed" | "centroid";
1419
+ parameters: {
1420
+ altitude_above_ground: number;
1421
+ flight_speed: number;
1422
+ field_of_view: number;
1423
+ yaw_overlap: number;
1424
+ gimbal_pitches: Array<number>;
1425
+ has_nadir_shot: boolean;
1426
+ };
1427
+ }>;
1428
+ connection_strategy: {
1429
+ type: "original-order" | "battery-optimized-strict";
1430
+ };
1431
+ schema_version: number;
1432
+ is_active: boolean;
1433
+ supersedes_id: string | null;
1434
+ created_at: Date;
1435
+ updated_at: Date;
1436
+ };
1338
1437
  campaign_ids: Array<string>;
1438
+ campaigns?: Array<{
1439
+ id: string;
1440
+ name: string;
1441
+ human_id: string;
1442
+ start_date: Date | null;
1443
+ end_date: Date | null;
1444
+ status: "empty" | "scheduled" | "active" | "cancelled" | "expired" | "completed";
1445
+ created_at: Date;
1446
+ updated_at: Date;
1447
+ }>;
1339
1448
  chain_mission_id: string | null;
1340
1449
  rewards: Array<{
1341
1450
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1394,7 +1503,61 @@ type MissionResponse = {
1394
1503
  status: "pending" | "submitted" | "scheduled" | "active" | "hold" | "cancelled" | "expired" | "completed";
1395
1504
  zone_id: string;
1396
1505
  flight_plan_id: string;
1506
+ flight_plan?: {
1507
+ id: string;
1508
+ name: string;
1509
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1510
+ slug: string | null;
1511
+ description: string | null;
1512
+ base_energy_usage: number;
1513
+ base_duration: number;
1514
+ sections: Array<{
1515
+ section_type: "map";
1516
+ parameters: {
1517
+ altitude_above_ground: number;
1518
+ flight_speed: number;
1519
+ side_overlap: number;
1520
+ front_overlap: number;
1521
+ gimbal_pitch: number;
1522
+ take_off_altitude_offset: number;
1523
+ flight_line_heading: {
1524
+ mode: "relative" | "absolute";
1525
+ degrees: number;
1526
+ };
1527
+ };
1528
+ } | {
1529
+ section_type: "panorama";
1530
+ count: number;
1531
+ positioning_method: "hex-distributed" | "centroid";
1532
+ parameters: {
1533
+ altitude_above_ground: number;
1534
+ flight_speed: number;
1535
+ field_of_view: number;
1536
+ yaw_overlap: number;
1537
+ gimbal_pitches: Array<number>;
1538
+ has_nadir_shot: boolean;
1539
+ };
1540
+ }>;
1541
+ connection_strategy: {
1542
+ type: "original-order" | "battery-optimized-strict";
1543
+ };
1544
+ schema_version: number;
1545
+ is_active: boolean;
1546
+ supersedes_id: string | null;
1547
+ created_at: Date;
1548
+ updated_at: Date;
1549
+ };
1397
1550
  campaign_ids: Array<string>;
1551
+ campaigns?: Array<{
1552
+ id: string;
1553
+ name: string;
1554
+ human_id: string;
1555
+ start_date: Date | null;
1556
+ end_date: Date | null;
1557
+ status: "empty" | "scheduled" | "active" | "cancelled" | "expired" | "completed";
1558
+ created_at: Date;
1559
+ updated_at: Date;
1560
+ }>;
1398
1561
  chain_mission_id: string | null;
1399
1562
  rewards: Array<{
1400
1563
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -3905,6 +4068,7 @@ type MissionsControllerGetMissionsV2V2Data = {
3905
4068
  path?: never;
3906
4069
  query?: {
3907
4070
  page?: number;
4071
+ limit?: number;
3908
4072
  zone_id?: string;
3909
4073
  flight_plan_id?: string;
3910
4074
  campaign_id?: string;
@@ -3917,7 +4081,7 @@ type MissionsControllerGetMissionsV2V2Data = {
3917
4081
  source?: "chain" | "archived";
3918
4082
  include_unconfirmed?: string;
3919
4083
  held_by?: string;
3920
- expand?: Array<"confirmations" | "hold" | "reservation"> | "confirmations" | "hold" | "reservation";
4084
+ expand?: Array<"confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan"> | "confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan";
3921
4085
  };
3922
4086
  url: "/v2/missions";
3923
4087
  };
@@ -3952,7 +4116,7 @@ type MissionsControllerGetMissionV2V2Data = {
3952
4116
  id: string;
3953
4117
  };
3954
4118
  query?: {
3955
- expand?: Array<"confirmations" | "hold" | "reservation"> | "confirmations" | "hold" | "reservation";
4119
+ expand?: Array<"confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan"> | "confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan";
3956
4120
  };
3957
4121
  url: "/v2/missions/{id}";
3958
4122
  };
package/dist/index.js CHANGED
@@ -1374,6 +1374,23 @@ var flightsControllerSubmitProvenanceV2V2ResponseTransformer = /* @__PURE__ */ _
1374
1374
  }, "flightsControllerSubmitProvenanceV2V2ResponseTransformer");
1375
1375
  var listMissionsResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
1376
1376
  data.data = data.data.map((item) => {
1377
+ if (item.flight_plan) {
1378
+ item.flight_plan.created_at = new Date(item.flight_plan.created_at);
1379
+ item.flight_plan.updated_at = new Date(item.flight_plan.updated_at);
1380
+ }
1381
+ if (item.campaigns) {
1382
+ item.campaigns = item.campaigns.map((item2) => {
1383
+ if (item2.start_date) {
1384
+ item2.start_date = new Date(item2.start_date);
1385
+ }
1386
+ if (item2.end_date) {
1387
+ item2.end_date = new Date(item2.end_date);
1388
+ }
1389
+ item2.created_at = new Date(item2.created_at);
1390
+ item2.updated_at = new Date(item2.updated_at);
1391
+ return item2;
1392
+ });
1393
+ }
1377
1394
  item.capture_start_time = new Date(item.capture_start_time);
1378
1395
  item.capture_end_time = new Date(item.capture_end_time);
1379
1396
  if (item.confirmed_at) {
@@ -1416,6 +1433,23 @@ var missionsControllerGetMissionsV2V2ResponseTransformer = /* @__PURE__ */ __nam
1416
1433
  }, "missionsControllerGetMissionsV2V2ResponseTransformer");
1417
1434
  var createMissionsResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
1418
1435
  data.results = data.results.map((item) => {
1436
+ if (item.mission.flight_plan) {
1437
+ item.mission.flight_plan.created_at = new Date(item.mission.flight_plan.created_at);
1438
+ item.mission.flight_plan.updated_at = new Date(item.mission.flight_plan.updated_at);
1439
+ }
1440
+ if (item.mission.campaigns) {
1441
+ item.mission.campaigns = item.mission.campaigns.map((item2) => {
1442
+ if (item2.start_date) {
1443
+ item2.start_date = new Date(item2.start_date);
1444
+ }
1445
+ if (item2.end_date) {
1446
+ item2.end_date = new Date(item2.end_date);
1447
+ }
1448
+ item2.created_at = new Date(item2.created_at);
1449
+ item2.updated_at = new Date(item2.updated_at);
1450
+ return item2;
1451
+ });
1452
+ }
1419
1453
  item.mission.capture_start_time = new Date(item.mission.capture_start_time);
1420
1454
  item.mission.capture_end_time = new Date(item.mission.capture_end_time);
1421
1455
  if (item.mission.confirmed_at) {
@@ -1457,6 +1491,23 @@ var missionsControllerCreateMissionsV2V2ResponseTransformer = /* @__PURE__ */ __
1457
1491
  return data;
1458
1492
  }, "missionsControllerCreateMissionsV2V2ResponseTransformer");
1459
1493
  var missionResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
1494
+ if (data.flight_plan) {
1495
+ data.flight_plan.created_at = new Date(data.flight_plan.created_at);
1496
+ data.flight_plan.updated_at = new Date(data.flight_plan.updated_at);
1497
+ }
1498
+ if (data.campaigns) {
1499
+ data.campaigns = data.campaigns.map((item) => {
1500
+ if (item.start_date) {
1501
+ item.start_date = new Date(item.start_date);
1502
+ }
1503
+ if (item.end_date) {
1504
+ item.end_date = new Date(item.end_date);
1505
+ }
1506
+ item.created_at = new Date(item.created_at);
1507
+ item.updated_at = new Date(item.updated_at);
1508
+ return item;
1509
+ });
1510
+ }
1460
1511
  data.capture_start_time = new Date(data.capture_start_time);
1461
1512
  data.capture_end_time = new Date(data.capture_end_time);
1462
1513
  if (data.confirmed_at) {
package/dist/index.mjs CHANGED
@@ -1180,6 +1180,23 @@ var flightsControllerSubmitProvenanceV2V2ResponseTransformer = /* @__PURE__ */ _
1180
1180
  }, "flightsControllerSubmitProvenanceV2V2ResponseTransformer");
1181
1181
  var listMissionsResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
1182
1182
  data.data = data.data.map((item) => {
1183
+ if (item.flight_plan) {
1184
+ item.flight_plan.created_at = new Date(item.flight_plan.created_at);
1185
+ item.flight_plan.updated_at = new Date(item.flight_plan.updated_at);
1186
+ }
1187
+ if (item.campaigns) {
1188
+ item.campaigns = item.campaigns.map((item2) => {
1189
+ if (item2.start_date) {
1190
+ item2.start_date = new Date(item2.start_date);
1191
+ }
1192
+ if (item2.end_date) {
1193
+ item2.end_date = new Date(item2.end_date);
1194
+ }
1195
+ item2.created_at = new Date(item2.created_at);
1196
+ item2.updated_at = new Date(item2.updated_at);
1197
+ return item2;
1198
+ });
1199
+ }
1183
1200
  item.capture_start_time = new Date(item.capture_start_time);
1184
1201
  item.capture_end_time = new Date(item.capture_end_time);
1185
1202
  if (item.confirmed_at) {
@@ -1222,6 +1239,23 @@ var missionsControllerGetMissionsV2V2ResponseTransformer = /* @__PURE__ */ __nam
1222
1239
  }, "missionsControllerGetMissionsV2V2ResponseTransformer");
1223
1240
  var createMissionsResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
1224
1241
  data.results = data.results.map((item) => {
1242
+ if (item.mission.flight_plan) {
1243
+ item.mission.flight_plan.created_at = new Date(item.mission.flight_plan.created_at);
1244
+ item.mission.flight_plan.updated_at = new Date(item.mission.flight_plan.updated_at);
1245
+ }
1246
+ if (item.mission.campaigns) {
1247
+ item.mission.campaigns = item.mission.campaigns.map((item2) => {
1248
+ if (item2.start_date) {
1249
+ item2.start_date = new Date(item2.start_date);
1250
+ }
1251
+ if (item2.end_date) {
1252
+ item2.end_date = new Date(item2.end_date);
1253
+ }
1254
+ item2.created_at = new Date(item2.created_at);
1255
+ item2.updated_at = new Date(item2.updated_at);
1256
+ return item2;
1257
+ });
1258
+ }
1225
1259
  item.mission.capture_start_time = new Date(item.mission.capture_start_time);
1226
1260
  item.mission.capture_end_time = new Date(item.mission.capture_end_time);
1227
1261
  if (item.mission.confirmed_at) {
@@ -1263,6 +1297,23 @@ var missionsControllerCreateMissionsV2V2ResponseTransformer = /* @__PURE__ */ __
1263
1297
  return data;
1264
1298
  }, "missionsControllerCreateMissionsV2V2ResponseTransformer");
1265
1299
  var missionResponseSchemaResponseTransformer = /* @__PURE__ */ __name((data) => {
1300
+ if (data.flight_plan) {
1301
+ data.flight_plan.created_at = new Date(data.flight_plan.created_at);
1302
+ data.flight_plan.updated_at = new Date(data.flight_plan.updated_at);
1303
+ }
1304
+ if (data.campaigns) {
1305
+ data.campaigns = data.campaigns.map((item) => {
1306
+ if (item.start_date) {
1307
+ item.start_date = new Date(item.start_date);
1308
+ }
1309
+ if (item.end_date) {
1310
+ item.end_date = new Date(item.end_date);
1311
+ }
1312
+ item.created_at = new Date(item.created_at);
1313
+ item.updated_at = new Date(item.updated_at);
1314
+ return item;
1315
+ });
1316
+ }
1266
1317
  data.capture_start_time = new Date(data.capture_start_time);
1267
1318
  data.capture_end_time = new Date(data.capture_end_time);
1268
1319
  if (data.confirmed_at) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@layer-drone/protocol",
3
3
  "description": "Layer Drone protocol SDK with typed API client and event parsing",
4
- "version": "2.6.0",
4
+ "version": "2.8.0",
5
5
  "license": "MIT",
6
6
  "files": [
7
7
  "dist",
@@ -35,8 +35,8 @@
35
35
  "zod": "^3.24.2",
36
36
  "zod-to-json-schema": "^3.24.5",
37
37
  "@layer-drone/event-schema": "0.0.0",
38
- "@layer-drone/eslint-config": "0.0.0",
39
- "@layer-drone/typescript-config": "0.0.0"
38
+ "@layer-drone/typescript-config": "0.0.0",
39
+ "@layer-drone/eslint-config": "0.0.0"
40
40
  },
41
41
  "peerDependencies": {
42
42
  "zod": "^3.x.x"
@@ -820,6 +820,23 @@ export const flightsControllerSubmitProvenanceV2V2ResponseTransformer = async (
820
820
 
821
821
  const listMissionsResponseSchemaResponseTransformer = (data: any) => {
822
822
  data.data = data.data.map((item: any) => {
823
+ if (item.flight_plan) {
824
+ item.flight_plan.created_at = new Date(item.flight_plan.created_at);
825
+ item.flight_plan.updated_at = new Date(item.flight_plan.updated_at);
826
+ }
827
+ if (item.campaigns) {
828
+ item.campaigns = item.campaigns.map((item: any) => {
829
+ if (item.start_date) {
830
+ item.start_date = new Date(item.start_date);
831
+ }
832
+ if (item.end_date) {
833
+ item.end_date = new Date(item.end_date);
834
+ }
835
+ item.created_at = new Date(item.created_at);
836
+ item.updated_at = new Date(item.updated_at);
837
+ return item;
838
+ });
839
+ }
823
840
  item.capture_start_time = new Date(item.capture_start_time);
824
841
  item.capture_end_time = new Date(item.capture_end_time);
825
842
  if (item.confirmed_at) {
@@ -866,6 +883,27 @@ export const missionsControllerGetMissionsV2V2ResponseTransformer = async (
866
883
 
867
884
  const createMissionsResponseSchemaResponseTransformer = (data: any) => {
868
885
  data.results = data.results.map((item: any) => {
886
+ if (item.mission.flight_plan) {
887
+ item.mission.flight_plan.created_at = new Date(
888
+ item.mission.flight_plan.created_at,
889
+ );
890
+ item.mission.flight_plan.updated_at = new Date(
891
+ item.mission.flight_plan.updated_at,
892
+ );
893
+ }
894
+ if (item.mission.campaigns) {
895
+ item.mission.campaigns = item.mission.campaigns.map((item: any) => {
896
+ if (item.start_date) {
897
+ item.start_date = new Date(item.start_date);
898
+ }
899
+ if (item.end_date) {
900
+ item.end_date = new Date(item.end_date);
901
+ }
902
+ item.created_at = new Date(item.created_at);
903
+ item.updated_at = new Date(item.updated_at);
904
+ return item;
905
+ });
906
+ }
869
907
  item.mission.capture_start_time = new Date(item.mission.capture_start_time);
870
908
  item.mission.capture_end_time = new Date(item.mission.capture_end_time);
871
909
  if (item.mission.confirmed_at) {
@@ -919,6 +957,23 @@ export const missionsControllerCreateMissionsV2V2ResponseTransformer = async (
919
957
  };
920
958
 
921
959
  const missionResponseSchemaResponseTransformer = (data: any) => {
960
+ if (data.flight_plan) {
961
+ data.flight_plan.created_at = new Date(data.flight_plan.created_at);
962
+ data.flight_plan.updated_at = new Date(data.flight_plan.updated_at);
963
+ }
964
+ if (data.campaigns) {
965
+ data.campaigns = data.campaigns.map((item: any) => {
966
+ if (item.start_date) {
967
+ item.start_date = new Date(item.start_date);
968
+ }
969
+ if (item.end_date) {
970
+ item.end_date = new Date(item.end_date);
971
+ }
972
+ item.created_at = new Date(item.created_at);
973
+ item.updated_at = new Date(item.updated_at);
974
+ return item;
975
+ });
976
+ }
922
977
  data.capture_start_time = new Date(data.capture_start_time);
923
978
  data.capture_end_time = new Date(data.capture_end_time);
924
979
  if (data.confirmed_at) {
@@ -1575,6 +1575,7 @@ export type ListRewardsResponse = {
1575
1575
 
1576
1576
  export type CreateMissionsBody = {
1577
1577
  missions: Array<{
1578
+ id?: string;
1578
1579
  zone_id: string;
1579
1580
  flight_plan_id: string;
1580
1581
  rewards?: Array<{
@@ -1610,7 +1611,75 @@ export type CreateMissionsResponse = {
1610
1611
  | "completed";
1611
1612
  zone_id: string;
1612
1613
  flight_plan_id: string;
1614
+ flight_plan?: {
1615
+ id: string;
1616
+ name: string;
1617
+ family:
1618
+ | "Map"
1619
+ | "Multi Panorama"
1620
+ | "Panorama"
1621
+ | "Grid Map"
1622
+ | "Hybrid";
1623
+ slug: string | null;
1624
+ description: string | null;
1625
+ base_energy_usage: number;
1626
+ base_duration: number;
1627
+ sections: Array<
1628
+ | {
1629
+ section_type: "map";
1630
+ parameters: {
1631
+ altitude_above_ground: number;
1632
+ flight_speed: number;
1633
+ side_overlap: number;
1634
+ front_overlap: number;
1635
+ gimbal_pitch: number;
1636
+ take_off_altitude_offset: number;
1637
+ flight_line_heading: {
1638
+ mode: "relative" | "absolute";
1639
+ degrees: number;
1640
+ };
1641
+ };
1642
+ }
1643
+ | {
1644
+ section_type: "panorama";
1645
+ count: number;
1646
+ positioning_method: "hex-distributed" | "centroid";
1647
+ parameters: {
1648
+ altitude_above_ground: number;
1649
+ flight_speed: number;
1650
+ field_of_view: number;
1651
+ yaw_overlap: number;
1652
+ gimbal_pitches: Array<number>;
1653
+ has_nadir_shot: boolean;
1654
+ };
1655
+ }
1656
+ >;
1657
+ connection_strategy: {
1658
+ type: "original-order" | "battery-optimized-strict";
1659
+ };
1660
+ schema_version: number;
1661
+ is_active: boolean;
1662
+ supersedes_id: string | null;
1663
+ created_at: Date;
1664
+ updated_at: Date;
1665
+ };
1613
1666
  campaign_ids: Array<string>;
1667
+ campaigns?: Array<{
1668
+ id: string;
1669
+ name: string;
1670
+ human_id: string;
1671
+ start_date: Date | null;
1672
+ end_date: Date | null;
1673
+ status:
1674
+ | "empty"
1675
+ | "scheduled"
1676
+ | "active"
1677
+ | "cancelled"
1678
+ | "expired"
1679
+ | "completed";
1680
+ created_at: Date;
1681
+ updated_at: Date;
1682
+ }>;
1614
1683
  chain_mission_id: string | null;
1615
1684
  rewards: Array<{
1616
1685
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1710,7 +1779,70 @@ export type ListMissionsResponse = {
1710
1779
  | "completed";
1711
1780
  zone_id: string;
1712
1781
  flight_plan_id: string;
1782
+ flight_plan?: {
1783
+ id: string;
1784
+ name: string;
1785
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1786
+ slug: string | null;
1787
+ description: string | null;
1788
+ base_energy_usage: number;
1789
+ base_duration: number;
1790
+ sections: Array<
1791
+ | {
1792
+ section_type: "map";
1793
+ parameters: {
1794
+ altitude_above_ground: number;
1795
+ flight_speed: number;
1796
+ side_overlap: number;
1797
+ front_overlap: number;
1798
+ gimbal_pitch: number;
1799
+ take_off_altitude_offset: number;
1800
+ flight_line_heading: {
1801
+ mode: "relative" | "absolute";
1802
+ degrees: number;
1803
+ };
1804
+ };
1805
+ }
1806
+ | {
1807
+ section_type: "panorama";
1808
+ count: number;
1809
+ positioning_method: "hex-distributed" | "centroid";
1810
+ parameters: {
1811
+ altitude_above_ground: number;
1812
+ flight_speed: number;
1813
+ field_of_view: number;
1814
+ yaw_overlap: number;
1815
+ gimbal_pitches: Array<number>;
1816
+ has_nadir_shot: boolean;
1817
+ };
1818
+ }
1819
+ >;
1820
+ connection_strategy: {
1821
+ type: "original-order" | "battery-optimized-strict";
1822
+ };
1823
+ schema_version: number;
1824
+ is_active: boolean;
1825
+ supersedes_id: string | null;
1826
+ created_at: Date;
1827
+ updated_at: Date;
1828
+ };
1713
1829
  campaign_ids: Array<string>;
1830
+ campaigns?: Array<{
1831
+ id: string;
1832
+ name: string;
1833
+ human_id: string;
1834
+ start_date: Date | null;
1835
+ end_date: Date | null;
1836
+ status:
1837
+ | "empty"
1838
+ | "scheduled"
1839
+ | "active"
1840
+ | "cancelled"
1841
+ | "expired"
1842
+ | "completed";
1843
+ created_at: Date;
1844
+ updated_at: Date;
1845
+ }>;
1714
1846
  chain_mission_id: string | null;
1715
1847
  rewards: Array<{
1716
1848
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -1778,7 +1910,70 @@ export type MissionResponse = {
1778
1910
  | "completed";
1779
1911
  zone_id: string;
1780
1912
  flight_plan_id: string;
1913
+ flight_plan?: {
1914
+ id: string;
1915
+ name: string;
1916
+ family: "Map" | "Multi Panorama" | "Panorama" | "Grid Map" | "Hybrid";
1917
+ slug: string | null;
1918
+ description: string | null;
1919
+ base_energy_usage: number;
1920
+ base_duration: number;
1921
+ sections: Array<
1922
+ | {
1923
+ section_type: "map";
1924
+ parameters: {
1925
+ altitude_above_ground: number;
1926
+ flight_speed: number;
1927
+ side_overlap: number;
1928
+ front_overlap: number;
1929
+ gimbal_pitch: number;
1930
+ take_off_altitude_offset: number;
1931
+ flight_line_heading: {
1932
+ mode: "relative" | "absolute";
1933
+ degrees: number;
1934
+ };
1935
+ };
1936
+ }
1937
+ | {
1938
+ section_type: "panorama";
1939
+ count: number;
1940
+ positioning_method: "hex-distributed" | "centroid";
1941
+ parameters: {
1942
+ altitude_above_ground: number;
1943
+ flight_speed: number;
1944
+ field_of_view: number;
1945
+ yaw_overlap: number;
1946
+ gimbal_pitches: Array<number>;
1947
+ has_nadir_shot: boolean;
1948
+ };
1949
+ }
1950
+ >;
1951
+ connection_strategy: {
1952
+ type: "original-order" | "battery-optimized-strict";
1953
+ };
1954
+ schema_version: number;
1955
+ is_active: boolean;
1956
+ supersedes_id: string | null;
1957
+ created_at: Date;
1958
+ updated_at: Date;
1959
+ };
1781
1960
  campaign_ids: Array<string>;
1961
+ campaigns?: Array<{
1962
+ id: string;
1963
+ name: string;
1964
+ human_id: string;
1965
+ start_date: Date | null;
1966
+ end_date: Date | null;
1967
+ status:
1968
+ | "empty"
1969
+ | "scheduled"
1970
+ | "active"
1971
+ | "cancelled"
1972
+ | "expired"
1973
+ | "completed";
1974
+ created_at: Date;
1975
+ updated_at: Date;
1976
+ }>;
1782
1977
  chain_mission_id: string | null;
1783
1978
  rewards: Array<{
1784
1979
  denomination: "usdc" | "usd" | "cad" | "rp";
@@ -5403,6 +5598,7 @@ export type MissionsControllerGetMissionsV2V2Data = {
5403
5598
  path?: never;
5404
5599
  query?: {
5405
5600
  page?: number;
5601
+ limit?: number;
5406
5602
  zone_id?: string;
5407
5603
  flight_plan_id?: string;
5408
5604
  campaign_id?: string;
@@ -5434,10 +5630,14 @@ export type MissionsControllerGetMissionsV2V2Data = {
5434
5630
  include_unconfirmed?: string;
5435
5631
  held_by?: string;
5436
5632
  expand?:
5437
- | Array<"confirmations" | "hold" | "reservation">
5633
+ | Array<
5634
+ "confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan"
5635
+ >
5438
5636
  | "confirmations"
5439
5637
  | "hold"
5440
- | "reservation";
5638
+ | "reservation"
5639
+ | "campaigns"
5640
+ | "flight_plan";
5441
5641
  };
5442
5642
  url: "/v2/missions";
5443
5643
  };
@@ -5486,10 +5686,14 @@ export type MissionsControllerGetMissionV2V2Data = {
5486
5686
  };
5487
5687
  query?: {
5488
5688
  expand?:
5489
- | Array<"confirmations" | "hold" | "reservation">
5689
+ | Array<
5690
+ "confirmations" | "hold" | "reservation" | "campaigns" | "flight_plan"
5691
+ >
5490
5692
  | "confirmations"
5491
5693
  | "hold"
5492
- | "reservation";
5694
+ | "reservation"
5695
+ | "campaigns"
5696
+ | "flight_plan";
5493
5697
  };
5494
5698
  url: "/v2/missions/{id}";
5495
5699
  };