@terrantula/sdk 0.0.2 → 0.1.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
@@ -1,11 +1,11 @@
1
1
  import { S as SnapshotOp, T as TokenSource, a as SchemaFn, A as AuditExportConfigResponse, b as TestConnectionResponse, c as AuditExportRunResponse, E as ExportCatalogResult } from './audit-export-BJSNZ9ic.mjs';
2
2
  export { d as TerrantulaError, w as withSchema } from './audit-export-BJSNZ9ic.mjs';
3
+ import * as _terrantula_types from '@terrantula/types';
3
4
  import * as zod from 'zod';
4
5
  import * as hono_hono_base from 'hono/hono-base';
5
6
  import * as hono_utils_types from 'hono/utils/types';
6
7
  import * as hono_utils_http_status from 'hono/utils/http-status';
7
8
  import * as hono_types from 'hono/types';
8
- import * as _terrantula_types from '@terrantula/types';
9
9
 
10
10
  /**
11
11
  * Hono context variables shared across the app.
@@ -512,6 +512,8 @@ declare const projectApp: hono_hono_base.HonoBase<{
512
512
  updatedAt: string;
513
513
  projectId: string | null;
514
514
  envId: string;
515
+ deletionScheduledAt: string | null;
516
+ deletionGracePeriodSeconds: number | null;
515
517
  }[];
516
518
  outputFormat: "json";
517
519
  status: hono_utils_http_status.ContentfulStatusCode;
@@ -1129,6 +1131,8 @@ declare const projectApp: hono_hono_base.HonoBase<{
1129
1131
  updatedAt: string;
1130
1132
  projectId: string | null;
1131
1133
  envId: string;
1134
+ deletionScheduledAt: string | null;
1135
+ deletionGracePeriodSeconds: number | null;
1132
1136
  }[];
1133
1137
  outputFormat: "json";
1134
1138
  status: hono_utils_http_status.ContentfulStatusCode;
@@ -1167,6 +1171,8 @@ declare const projectApp: hono_hono_base.HonoBase<{
1167
1171
  relationshipTypeName: string;
1168
1172
  fromEntityId: string;
1169
1173
  toEntityId: string;
1174
+ deletionScheduledAt: string | null;
1175
+ deletionGracePeriodSeconds: number | null;
1170
1176
  };
1171
1177
  outputFormat: "json";
1172
1178
  status: 201;
@@ -1192,6 +1198,8 @@ declare const projectApp: hono_hono_base.HonoBase<{
1192
1198
  updatedAt: string;
1193
1199
  projectId: string | null;
1194
1200
  envId: string;
1201
+ deletionScheduledAt: string | null;
1202
+ deletionGracePeriodSeconds: number | null;
1195
1203
  };
1196
1204
  outputFormat: "json";
1197
1205
  status: hono_utils_http_status.ContentfulStatusCode;
@@ -1238,6 +1246,8 @@ declare const projectApp: hono_hono_base.HonoBase<{
1238
1246
  updatedAt: string;
1239
1247
  projectId: string | null;
1240
1248
  envId: string;
1249
+ deletionScheduledAt: string | null;
1250
+ deletionGracePeriodSeconds: number | null;
1241
1251
  };
1242
1252
  outputFormat: "json";
1243
1253
  status: hono_utils_http_status.ContentfulStatusCode;
@@ -1284,6 +1294,40 @@ declare const projectApp: hono_hono_base.HonoBase<{
1284
1294
  updatedAt: string;
1285
1295
  projectId: string | null;
1286
1296
  envId: string;
1297
+ deletionScheduledAt: string | null;
1298
+ deletionGracePeriodSeconds: number | null;
1299
+ };
1300
+ outputFormat: "json";
1301
+ status: hono_utils_http_status.ContentfulStatusCode;
1302
+ };
1303
+ };
1304
+ } & {
1305
+ "/:id/finalize-deletion": {
1306
+ $post: {
1307
+ input: {
1308
+ json?: any;
1309
+ query?: {
1310
+ [x: string]: string | string[];
1311
+ } | undefined;
1312
+ } & {
1313
+ param: {
1314
+ id: string;
1315
+ };
1316
+ };
1317
+ output: {
1318
+ id: string;
1319
+ relationshipTypeName: string;
1320
+ fromEntityId: string;
1321
+ toEntityId: string;
1322
+ state: string;
1323
+ properties: hono_utils_types.JSONValue;
1324
+ labels: hono_utils_types.JSONValue;
1325
+ createdAt: string;
1326
+ updatedAt: string;
1327
+ projectId: string | null;
1328
+ envId: string;
1329
+ deletionScheduledAt: string | null;
1330
+ deletionGracePeriodSeconds: number | null;
1287
1331
  };
1288
1332
  outputFormat: "json";
1289
1333
  status: hono_utils_http_status.ContentfulStatusCode;
@@ -1620,6 +1664,7 @@ declare const projectApp: hono_hono_base.HonoBase<{
1620
1664
  itemCount: number;
1621
1665
  deletionCount: number;
1622
1666
  force: boolean;
1667
+ version: number;
1623
1668
  }[];
1624
1669
  outputFormat: "json";
1625
1670
  status: hono_utils_http_status.ContentfulStatusCode;
@@ -4451,6 +4496,255 @@ declare const projectApp: hono_hono_base.HonoBase<{
4451
4496
  };
4452
4497
  };
4453
4498
  }, "/stats"> | hono_types.MergeSchemaPath<{
4499
+ "/": {
4500
+ $get: {
4501
+ input: {};
4502
+ output: {
4503
+ id: string;
4504
+ projectId: string | null;
4505
+ envId: string;
4506
+ sourceKind: string;
4507
+ sourceUri: string;
4508
+ reconciliationPolicy: string;
4509
+ lastScannedAt: string | null;
4510
+ lastScanStatus: string | null;
4511
+ lastScanSummary: hono_utils_types.JSONValue;
4512
+ createdAt: string;
4513
+ updatedAt: string;
4514
+ }[];
4515
+ outputFormat: "json";
4516
+ status: hono_utils_http_status.ContentfulStatusCode;
4517
+ };
4518
+ };
4519
+ } & {
4520
+ "/": {
4521
+ $post: {
4522
+ input: {
4523
+ json?: any;
4524
+ query?: {
4525
+ [x: string]: string | string[];
4526
+ } | undefined;
4527
+ };
4528
+ output: {
4529
+ id: string;
4530
+ projectId: string | null;
4531
+ envId: string;
4532
+ sourceKind: string;
4533
+ sourceUri: string;
4534
+ reconciliationPolicy: string;
4535
+ lastScannedAt: string | null;
4536
+ lastScanStatus: string | null;
4537
+ lastScanSummary: hono_utils_types.JSONValue;
4538
+ createdAt: string;
4539
+ updatedAt: string;
4540
+ };
4541
+ outputFormat: "json";
4542
+ status: 200;
4543
+ } | {
4544
+ input: {
4545
+ json?: any;
4546
+ query?: {
4547
+ [x: string]: string | string[];
4548
+ } | undefined;
4549
+ };
4550
+ output: {
4551
+ id: string;
4552
+ createdAt: string;
4553
+ updatedAt: string;
4554
+ projectId: string | null;
4555
+ envId: string;
4556
+ sourceKind: string;
4557
+ sourceUri: string;
4558
+ reconciliationPolicy: string;
4559
+ lastScannedAt: string | null;
4560
+ lastScanStatus: string | null;
4561
+ lastScanSummary: hono_utils_types.JSONValue;
4562
+ };
4563
+ outputFormat: "json";
4564
+ status: 201;
4565
+ };
4566
+ };
4567
+ } & {
4568
+ "/:id/drift": {
4569
+ $get: {
4570
+ input: {
4571
+ param: {
4572
+ id: string;
4573
+ };
4574
+ };
4575
+ output: {
4576
+ source: {
4577
+ id: string;
4578
+ projectId: string | null;
4579
+ envId: string;
4580
+ sourceKind: string;
4581
+ sourceUri: string;
4582
+ reconciliationPolicy: string;
4583
+ lastScannedAt: string | null;
4584
+ lastScanStatus: string | null;
4585
+ lastScanSummary: hono_utils_types.JSONValue;
4586
+ createdAt: string;
4587
+ updatedAt: string;
4588
+ };
4589
+ totals: {
4590
+ entities: number;
4591
+ current: number;
4592
+ stale: number;
4593
+ missing: number;
4594
+ pendingProposals: number;
4595
+ };
4596
+ entities: {
4597
+ id: string;
4598
+ name: string;
4599
+ entityType: string;
4600
+ lastSyncedAt: string | null;
4601
+ driftStatus: _terrantula_types.DriftStatus | null;
4602
+ }[];
4603
+ pendingProposals: {
4604
+ id: string;
4605
+ importSourceId: string;
4606
+ projectId: string | null;
4607
+ envId: string;
4608
+ entityId: string;
4609
+ proposedChanges: hono_utils_types.JSONValue;
4610
+ status: string;
4611
+ createdAt: string;
4612
+ decidedAt: string | null;
4613
+ decidedBy: string | null;
4614
+ }[];
4615
+ };
4616
+ outputFormat: "json";
4617
+ status: hono_utils_http_status.ContentfulStatusCode;
4618
+ };
4619
+ };
4620
+ } & {
4621
+ "/:id": {
4622
+ $get: {
4623
+ input: {
4624
+ param: {
4625
+ id: string;
4626
+ };
4627
+ };
4628
+ output: {
4629
+ id: string;
4630
+ projectId: string | null;
4631
+ envId: string;
4632
+ sourceKind: string;
4633
+ sourceUri: string;
4634
+ reconciliationPolicy: string;
4635
+ lastScannedAt: string | null;
4636
+ lastScanStatus: string | null;
4637
+ lastScanSummary: hono_utils_types.JSONValue;
4638
+ createdAt: string;
4639
+ updatedAt: string;
4640
+ };
4641
+ outputFormat: "json";
4642
+ status: hono_utils_http_status.ContentfulStatusCode;
4643
+ };
4644
+ };
4645
+ } & {
4646
+ "/:id/rescan": {
4647
+ $post: {
4648
+ input: {
4649
+ json?: any;
4650
+ query?: {
4651
+ [x: string]: string | string[];
4652
+ } | undefined;
4653
+ } & {
4654
+ param: {
4655
+ id: string;
4656
+ };
4657
+ };
4658
+ output: {
4659
+ scan: {
4660
+ scanned: any;
4661
+ succeeded: number;
4662
+ failed: number;
4663
+ proposalsCreated: number;
4664
+ };
4665
+ lastScannedAt: string;
4666
+ lastScanStatus: string;
4667
+ };
4668
+ outputFormat: "json";
4669
+ status: hono_utils_http_status.ContentfulStatusCode;
4670
+ } | {
4671
+ input: {
4672
+ json?: any;
4673
+ query?: {
4674
+ [x: string]: string | string[];
4675
+ } | undefined;
4676
+ } & {
4677
+ param: {
4678
+ id: string;
4679
+ };
4680
+ };
4681
+ output: {
4682
+ scan: {
4683
+ scanned: any;
4684
+ created: number;
4685
+ failed: number;
4686
+ proposalsCreated: number;
4687
+ };
4688
+ lastScannedAt: string;
4689
+ lastScanStatus: string;
4690
+ };
4691
+ outputFormat: "json";
4692
+ status: hono_utils_http_status.ContentfulStatusCode;
4693
+ };
4694
+ };
4695
+ } & {
4696
+ "/:id/drift-proposals/:proposalId/approve": {
4697
+ $post: {
4698
+ input: {
4699
+ param: {
4700
+ id: string;
4701
+ } & {
4702
+ proposalId: string;
4703
+ };
4704
+ };
4705
+ output: {
4706
+ id: string;
4707
+ importSourceId: string;
4708
+ projectId: string | null;
4709
+ envId: string;
4710
+ entityId: string;
4711
+ proposedChanges: hono_utils_types.JSONValue;
4712
+ status: string;
4713
+ createdAt: string;
4714
+ decidedAt: string | null;
4715
+ decidedBy: string | null;
4716
+ };
4717
+ outputFormat: "json";
4718
+ status: hono_utils_http_status.ContentfulStatusCode;
4719
+ };
4720
+ };
4721
+ } & {
4722
+ "/:id/drift-proposals/:proposalId/reject": {
4723
+ $post: {
4724
+ input: {
4725
+ param: {
4726
+ id: string;
4727
+ } & {
4728
+ proposalId: string;
4729
+ };
4730
+ };
4731
+ output: {
4732
+ id: string;
4733
+ importSourceId: string;
4734
+ projectId: string | null;
4735
+ envId: string;
4736
+ entityId: string;
4737
+ proposedChanges: hono_utils_types.JSONValue;
4738
+ status: string;
4739
+ createdAt: string;
4740
+ decidedAt: string | null;
4741
+ decidedBy: string | null;
4742
+ };
4743
+ outputFormat: "json";
4744
+ status: hono_utils_http_status.ContentfulStatusCode;
4745
+ };
4746
+ };
4747
+ }, "/import-sources"> | hono_types.MergeSchemaPath<{
4454
4748
  "/github": {
4455
4749
  $post: {
4456
4750
  input: {};
@@ -7370,6 +7664,8 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
7370
7664
  updatedAt: string;
7371
7665
  projectId: string | null;
7372
7666
  envId: string;
7667
+ deletionScheduledAt: string | null;
7668
+ deletionGracePeriodSeconds: number | null;
7373
7669
  }[]>;
7374
7670
  syncStamp: SchemaFn<zod.ZodObject<{
7375
7671
  projectId: zod.ZodString;
@@ -7998,6 +8294,8 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
7998
8294
  updatedAt: string;
7999
8295
  projectId: string | null;
8000
8296
  envId: string;
8297
+ deletionScheduledAt: string | null;
8298
+ deletionGracePeriodSeconds: number | null;
8001
8299
  }[]>;
8002
8300
  get: SchemaFn<zod.ZodObject<{
8003
8301
  projectId: zod.ZodString;
@@ -8023,6 +8321,8 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
8023
8321
  updatedAt: string;
8024
8322
  projectId: string | null;
8025
8323
  envId: string;
8324
+ deletionScheduledAt: string | null;
8325
+ deletionGracePeriodSeconds: number | null;
8026
8326
  }>;
8027
8327
  create: SchemaFn<zod.ZodObject<{
8028
8328
  kind: zod.ZodLiteral<"Relationship">;
@@ -8069,6 +8369,8 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
8069
8369
  relationshipTypeName: string;
8070
8370
  fromEntityId: string;
8071
8371
  toEntityId: string;
8372
+ deletionScheduledAt: string | null;
8373
+ deletionGracePeriodSeconds: number | null;
8072
8374
  }>;
8073
8375
  delete: SchemaFn<zod.ZodObject<{
8074
8376
  projectId: zod.ZodString;
@@ -21717,6 +22019,7 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
21717
22019
  itemCount: number;
21718
22020
  deletionCount: number;
21719
22021
  force: boolean;
22022
+ version: number;
21720
22023
  }[]>;
21721
22024
  get: SchemaFn<zod.ZodObject<{
21722
22025
  projectId: zod.ZodString;
@@ -22199,6 +22502,242 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
22199
22502
  }>;
22200
22503
  delete: (key: string) => Promise<unknown>;
22201
22504
  };
22505
+ importSources: {
22506
+ list: SchemaFn<zod.ZodObject<{
22507
+ projectId: zod.ZodString;
22508
+ }, "strip", zod.ZodTypeAny, {
22509
+ projectId: string;
22510
+ }, {
22511
+ projectId: string;
22512
+ }>, {
22513
+ id: string;
22514
+ projectId: string | null;
22515
+ envId: string;
22516
+ sourceKind: string;
22517
+ sourceUri: string;
22518
+ reconciliationPolicy: string;
22519
+ lastScannedAt: string | null;
22520
+ lastScanStatus: string | null;
22521
+ lastScanSummary: hono_utils_types.JSONValue;
22522
+ createdAt: string;
22523
+ updatedAt: string;
22524
+ }[]>;
22525
+ get: SchemaFn<zod.ZodObject<{
22526
+ projectId: zod.ZodString;
22527
+ id: zod.ZodString;
22528
+ }, "strip", zod.ZodTypeAny, {
22529
+ id: string;
22530
+ projectId: string;
22531
+ }, {
22532
+ id: string;
22533
+ projectId: string;
22534
+ }>, {
22535
+ id: string;
22536
+ projectId: string | null;
22537
+ envId: string;
22538
+ sourceKind: string;
22539
+ sourceUri: string;
22540
+ reconciliationPolicy: string;
22541
+ lastScannedAt: string | null;
22542
+ lastScanStatus: string | null;
22543
+ lastScanSummary: hono_utils_types.JSONValue;
22544
+ createdAt: string;
22545
+ updatedAt: string;
22546
+ }>;
22547
+ registerOrUpdate: SchemaFn<zod.ZodObject<{
22548
+ projectId: zod.ZodString;
22549
+ envName: zod.ZodString;
22550
+ sourceKind: zod.ZodEnum<["tf-state", "atmos-manifests"]>;
22551
+ sourceUri: zod.ZodString;
22552
+ reconciliationPolicy: zod.ZodOptional<zod.ZodEnum<["auto-update", "human-approval"]>>;
22553
+ }, "strip", zod.ZodTypeAny, {
22554
+ projectId: string;
22555
+ envName: string;
22556
+ sourceKind: "tf-state" | "atmos-manifests";
22557
+ sourceUri: string;
22558
+ reconciliationPolicy?: "auto-update" | "human-approval" | undefined;
22559
+ }, {
22560
+ projectId: string;
22561
+ envName: string;
22562
+ sourceKind: "tf-state" | "atmos-manifests";
22563
+ sourceUri: string;
22564
+ reconciliationPolicy?: "auto-update" | "human-approval" | undefined;
22565
+ }>, {
22566
+ id: string;
22567
+ projectId: string | null;
22568
+ envId: string;
22569
+ sourceKind: string;
22570
+ sourceUri: string;
22571
+ reconciliationPolicy: string;
22572
+ lastScannedAt: string | null;
22573
+ lastScanStatus: string | null;
22574
+ lastScanSummary: hono_utils_types.JSONValue;
22575
+ createdAt: string;
22576
+ updatedAt: string;
22577
+ } | {
22578
+ id: string;
22579
+ createdAt: string;
22580
+ updatedAt: string;
22581
+ projectId: string | null;
22582
+ envId: string;
22583
+ sourceKind: string;
22584
+ sourceUri: string;
22585
+ reconciliationPolicy: string;
22586
+ lastScannedAt: string | null;
22587
+ lastScanStatus: string | null;
22588
+ lastScanSummary: hono_utils_types.JSONValue;
22589
+ }>;
22590
+ rescan: SchemaFn<zod.ZodObject<{
22591
+ projectId: zod.ZodString;
22592
+ id: zod.ZodString;
22593
+ envName: zod.ZodString;
22594
+ items: zod.ZodArray<zod.ZodUnknown, "many">;
22595
+ deletions: zod.ZodOptional<zod.ZodArray<zod.ZodObject<{
22596
+ kind: zod.ZodString;
22597
+ name: zod.ZodString;
22598
+ }, "strip", zod.ZodTypeAny, {
22599
+ name: string;
22600
+ kind: string;
22601
+ }, {
22602
+ name: string;
22603
+ kind: string;
22604
+ }>, "many">>;
22605
+ }, "strip", zod.ZodTypeAny, {
22606
+ id: string;
22607
+ projectId: string;
22608
+ envName: string;
22609
+ items: unknown[];
22610
+ deletions?: {
22611
+ name: string;
22612
+ kind: string;
22613
+ }[] | undefined;
22614
+ }, {
22615
+ id: string;
22616
+ projectId: string;
22617
+ envName: string;
22618
+ items: unknown[];
22619
+ deletions?: {
22620
+ name: string;
22621
+ kind: string;
22622
+ }[] | undefined;
22623
+ }>, {
22624
+ scan: {
22625
+ scanned: any;
22626
+ succeeded: number;
22627
+ failed: number;
22628
+ proposalsCreated: number;
22629
+ };
22630
+ lastScannedAt: string;
22631
+ lastScanStatus: string;
22632
+ } | {
22633
+ scan: {
22634
+ scanned: any;
22635
+ created: number;
22636
+ failed: number;
22637
+ proposalsCreated: number;
22638
+ };
22639
+ lastScannedAt: string;
22640
+ lastScanStatus: string;
22641
+ }>;
22642
+ drift: SchemaFn<zod.ZodObject<{
22643
+ projectId: zod.ZodString;
22644
+ id: zod.ZodString;
22645
+ }, "strip", zod.ZodTypeAny, {
22646
+ id: string;
22647
+ projectId: string;
22648
+ }, {
22649
+ id: string;
22650
+ projectId: string;
22651
+ }>, {
22652
+ source: {
22653
+ id: string;
22654
+ projectId: string | null;
22655
+ envId: string;
22656
+ sourceKind: string;
22657
+ sourceUri: string;
22658
+ reconciliationPolicy: string;
22659
+ lastScannedAt: string | null;
22660
+ lastScanStatus: string | null;
22661
+ lastScanSummary: hono_utils_types.JSONValue;
22662
+ createdAt: string;
22663
+ updatedAt: string;
22664
+ };
22665
+ totals: {
22666
+ entities: number;
22667
+ current: number;
22668
+ stale: number;
22669
+ missing: number;
22670
+ pendingProposals: number;
22671
+ };
22672
+ entities: {
22673
+ id: string;
22674
+ name: string;
22675
+ entityType: string;
22676
+ lastSyncedAt: string | null;
22677
+ driftStatus: _terrantula_types.DriftStatus | null;
22678
+ }[];
22679
+ pendingProposals: {
22680
+ id: string;
22681
+ importSourceId: string;
22682
+ projectId: string | null;
22683
+ envId: string;
22684
+ entityId: string;
22685
+ proposedChanges: hono_utils_types.JSONValue;
22686
+ status: string;
22687
+ createdAt: string;
22688
+ decidedAt: string | null;
22689
+ decidedBy: string | null;
22690
+ }[];
22691
+ }>;
22692
+ approveProposal: SchemaFn<zod.ZodObject<{
22693
+ projectId: zod.ZodString;
22694
+ id: zod.ZodString;
22695
+ proposalId: zod.ZodString;
22696
+ }, "strip", zod.ZodTypeAny, {
22697
+ id: string;
22698
+ projectId: string;
22699
+ proposalId: string;
22700
+ }, {
22701
+ id: string;
22702
+ projectId: string;
22703
+ proposalId: string;
22704
+ }>, {
22705
+ id: string;
22706
+ importSourceId: string;
22707
+ projectId: string | null;
22708
+ envId: string;
22709
+ entityId: string;
22710
+ proposedChanges: hono_utils_types.JSONValue;
22711
+ status: string;
22712
+ createdAt: string;
22713
+ decidedAt: string | null;
22714
+ decidedBy: string | null;
22715
+ }>;
22716
+ rejectProposal: SchemaFn<zod.ZodObject<{
22717
+ projectId: zod.ZodString;
22718
+ id: zod.ZodString;
22719
+ proposalId: zod.ZodString;
22720
+ }, "strip", zod.ZodTypeAny, {
22721
+ id: string;
22722
+ projectId: string;
22723
+ proposalId: string;
22724
+ }, {
22725
+ id: string;
22726
+ projectId: string;
22727
+ proposalId: string;
22728
+ }>, {
22729
+ id: string;
22730
+ importSourceId: string;
22731
+ projectId: string | null;
22732
+ envId: string;
22733
+ entityId: string;
22734
+ proposedChanges: hono_utils_types.JSONValue;
22735
+ status: string;
22736
+ createdAt: string;
22737
+ decidedAt: string | null;
22738
+ decidedBy: string | null;
22739
+ }>;
22740
+ };
22202
22741
  exportCatalog: SchemaFn<zod.ZodObject<{
22203
22742
  projectId: zod.ZodString;
22204
22743
  envName: zod.ZodString;
@@ -22470,6 +23009,7 @@ declare const createClient: (baseUrl: string, options?: CreateClientOptions | To
22470
23009
  itemCount: number;
22471
23010
  deletionCount: number;
22472
23011
  force: boolean;
23012
+ version: number;
22473
23013
  }[]>;
22474
23014
  get: SchemaFn<zod.ZodObject<{
22475
23015
  projectId: zod.ZodString;