@epilot/blueprint-manifest-client 4.6.0 → 4.6.2

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/client.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- import type { Client } from './openapi';
1
+ import { Client } from './openapi';
2
2
  export declare const getClient: () => Client;
3
3
  export declare const createClient: () => Client;
@@ -1 +1 @@
1
- (()=>{"use strict";var e={330(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=n(r(466));t.default=i.default},466(e){e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://blueprint-manifest.sls.epilot.io"}],"paths":{"/v1/blueprint-manifest/jobs/{job_id}":{"get":{"operationId":"getJob","deprecated":true,"parameters":[{"$ref":"#/components/parameters/JobID"}],"responses":{}}},"/v1/blueprint-manifest/jobs:createExport":{"post":{"operationId":"createExport","deprecated":true,"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/jobs/{job_id}:exportManifest":{"post":{"operationId":"exportManifest","deprecated":true,"parameters":[{"$ref":"#/components/parameters/JobID"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest:uploadManifest":{"post":{"operationId":"uploadManifest","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/jobs:createPlan":{"post":{"operationId":"createPlan","deprecated":true,"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/jobs/{job_id}:applyPlan":{"post":{"operationId":"applyPlan","deprecated":true,"parameters":[{"$ref":"#/components/parameters/JobID"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/manifests":{"get":{"operationId":"listInstalledManifests","deprecated":true,"responses":{}}},"/v1/blueprint-manifest/manifests/{manifest_id}":{"get":{"operationId":"getManifest","deprecated":true,"parameters":[{"in":"path","required":true,"name":"manifest_id"}],"responses":{}},"put":{"operationId":"updateManifest","deprecated":true,"parameters":[{"in":"path","required":true,"name":"manifest_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteManifest","deprecated":true,"parameters":[{"in":"path","required":true,"name":"manifest_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints":{"get":{"operationId":"listBlueprints","parameters":[{"name":"archived","in":"query","required":false}],"responses":{}},"post":{"operationId":"createBlueprint","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints:marketplace":{"get":{"operationId":"listInstalledMarketplaceBlueprints","responses":{}}},"/v2/blueprint-manifest/blueprints:pre-install":{"post":{"operationId":"preInstallBlueprint","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints:preview/{preview_id}":{"get":{"operationId":"getBlueprintPreview","parameters":[{"in":"path","required":true,"name":"preview_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprint:install":{"post":{"operationId":"installBlueprint","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}":{"get":{"operationId":"getBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}},"put":{"operationId":"updateBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/validate":{"post":{"operationId":"validateBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}:export":{"post":{"operationId":"exportBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"required":false,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/marketplace/slugs":{"get":{"operationId":"listMarketplaceSlugs","responses":{}}},"/v2/blueprint-manifest/blueprints:publish":{"post":{"operationId":"publishBlueprint","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}:format-description":{"post":{"operationId":"formatBlueprintDescription","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources":{"post":{"operationId":"addBlueprintResource","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"query","name":"add_dependencies"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources:syncDependencies":{"post":{"operationId":"syncDependencies","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources/bulk":{"post":{"operationId":"bulkAddBlueprintResources","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"query","name":"add_dependencies"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"put":{"operationId":"bulkUpdateBlueprintResources","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"bulkDeleteBlueprintResources","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources/{resource_id}":{"put":{"operationId":"updateBlueprintResource","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"path","required":true,"name":"resource_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteBlueprintResource","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"path","required":true,"name":"resource_id"}],"responses":{}}},"/v2/blueprint-manifest/jobs":{"get":{"operationId":"listBlueprintJobs","responses":{}}},"/v2/blueprint-manifest/jobs/{job_id}":{"get":{"operationId":"getBlueprintJob","parameters":[{"in":"path","required":true,"name":"job_id"}],"responses":{}}},"/v2/blueprint-manifest/jobs/{job_id}:continue":{"post":{"operationId":"continueInstallationJob","parameters":[{"in":"path","required":true,"name":"job_id"}],"requestBody":{"required":false,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/jobs/{job_id}:cancel":{"post":{"operationId":"cancelBlueprintJob","parameters":[{"in":"path","required":true,"name":"job_id"}],"responses":{}}}},"components":{"parameters":{"JobID":{"name":"job_id","in":"path","required":true}}}}')}},t={},r=function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}(330),n=exports;for(var i in r)n[i]=r[i];r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
1
+ (()=>{"use strict";var e={390:function(e,t,r){var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=n(r(466));t.default=i.default},466:e=>{e.exports=JSON.parse('{"openapi":"3.1.0","info":{"title":"","version":""},"servers":[{"url":"https://blueprint-manifest.sls.epilot.io"}],"paths":{"/v1/blueprint-manifest/jobs/{job_id}":{"get":{"operationId":"getJob","deprecated":true,"parameters":[{"$ref":"#/components/parameters/JobID"}],"responses":{}}},"/v1/blueprint-manifest/jobs:createExport":{"post":{"operationId":"createExport","deprecated":true,"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/jobs/{job_id}:exportManifest":{"post":{"operationId":"exportManifest","deprecated":true,"parameters":[{"$ref":"#/components/parameters/JobID"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest:uploadManifest":{"post":{"operationId":"uploadManifest","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/jobs:createPlan":{"post":{"operationId":"createPlan","deprecated":true,"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/jobs/{job_id}:applyPlan":{"post":{"operationId":"applyPlan","deprecated":true,"parameters":[{"$ref":"#/components/parameters/JobID"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v1/blueprint-manifest/manifests":{"get":{"operationId":"listInstalledManifests","deprecated":true,"responses":{}}},"/v1/blueprint-manifest/manifests/{manifest_id}":{"get":{"operationId":"getManifest","deprecated":true,"parameters":[{"in":"path","required":true,"name":"manifest_id"}],"responses":{}},"put":{"operationId":"updateManifest","deprecated":true,"parameters":[{"in":"path","required":true,"name":"manifest_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteManifest","deprecated":true,"parameters":[{"in":"path","required":true,"name":"manifest_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints":{"get":{"operationId":"listBlueprints","parameters":[{"name":"archived","in":"query","required":false}],"responses":{}},"post":{"operationId":"createBlueprint","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints:marketplace":{"get":{"operationId":"listInstalledMarketplaceBlueprints","responses":{}}},"/v2/blueprint-manifest/blueprints:pre-install":{"post":{"operationId":"preInstallBlueprint","requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints:preview/{preview_id}":{"get":{"operationId":"getBlueprintPreview","parameters":[{"in":"path","required":true,"name":"preview_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprint:install":{"post":{"operationId":"installBlueprint","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}":{"get":{"operationId":"getBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}},"put":{"operationId":"updateBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/validate":{"post":{"operationId":"validateBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}:verify":{"post":{"operationId":"verifyBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}:export":{"post":{"operationId":"exportBlueprint","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"required":false,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/marketplace/slugs":{"get":{"operationId":"listMarketplaceSlugs","responses":{}}},"/v2/blueprint-manifest/blueprints:publish":{"post":{"operationId":"publishBlueprint","requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}:format-description":{"post":{"operationId":"formatBlueprintDescription","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"required":true,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources":{"post":{"operationId":"addBlueprintResource","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"query","name":"add_dependencies"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources:syncDependencies":{"post":{"operationId":"syncDependencies","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources/bulk":{"post":{"operationId":"bulkAddBlueprintResources","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"query","name":"add_dependencies"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"put":{"operationId":"bulkUpdateBlueprintResources","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"bulkDeleteBlueprintResources","parameters":[{"in":"path","required":true,"name":"blueprint_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/blueprints/{blueprint_id}/resources/{resource_id}":{"put":{"operationId":"updateBlueprintResource","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"path","required":true,"name":"resource_id"}],"requestBody":{"content":{"application/json":{}}},"responses":{}},"delete":{"operationId":"deleteBlueprintResource","parameters":[{"in":"path","required":true,"name":"blueprint_id"},{"in":"path","required":true,"name":"resource_id"}],"responses":{}}},"/v2/blueprint-manifest/jobs":{"get":{"operationId":"listBlueprintJobs","responses":{}}},"/v2/blueprint-manifest/jobs/{job_id}":{"get":{"operationId":"getBlueprintJob","parameters":[{"in":"path","required":true,"name":"job_id"}],"responses":{}}},"/v2/blueprint-manifest/jobs/{job_id}:continue":{"post":{"operationId":"continueInstallationJob","parameters":[{"in":"path","required":true,"name":"job_id"}],"requestBody":{"required":false,"content":{"application/json":{}}},"responses":{}}},"/v2/blueprint-manifest/jobs/{job_id}:cancel":{"post":{"operationId":"cancelBlueprintJob","parameters":[{"in":"path","required":true,"name":"job_id"}],"responses":{}}}},"components":{"parameters":{"JobID":{"name":"job_id","in":"path","required":true}}}}')}},t={},r=function r(n){var i=t[n];if(void 0!==i)return i.exports;var s=t[n]={exports:{}};return e[n].call(s.exports,s,s.exports,r),s.exports}(390),n=exports;for(var i in r)n[i]=r[i];r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})})();
@@ -258,6 +258,25 @@
258
258
  "responses": {}
259
259
  }
260
260
  },
261
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}:verify": {
262
+ "post": {
263
+ "operationId": "verifyBlueprint",
264
+ "parameters": [
265
+ {
266
+ "in": "path",
267
+ "required": true,
268
+ "name": "blueprint_id"
269
+ }
270
+ ],
271
+ "requestBody": {
272
+ "required": true,
273
+ "content": {
274
+ "application/json": {}
275
+ }
276
+ },
277
+ "responses": {}
278
+ }
279
+ },
261
280
  "/v2/blueprint-manifest/blueprints/{blueprint_id}:export": {
262
281
  "post": {
263
282
  "operationId": "exportBlueprint",
package/dist/openapi.d.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable */
2
+
1
3
  import type {
2
4
  OpenAPIClient,
3
5
  Parameters,
@@ -51,6 +53,10 @@ declare namespace Components {
51
53
  destination_org_id?: string;
52
54
  destination_blueprint_id?: string;
53
55
  triggered_at?: string; // date-time
56
+ /**
57
+ * User-provided note about this synchronization
58
+ */
59
+ note?: string;
54
60
  }[];
55
61
  /**
56
62
  * Whether the blueprint is verified by epilot
@@ -188,7 +194,7 @@ declare namespace Components {
188
194
  */
189
195
  resources_to_ignore?: string[];
190
196
  }
191
- export type BlueprintJob = BlueprintExportJob | BlueprintInstallationJob | BlueprintDependenciesSyncJob | BlueprintValidateJob;
197
+ export type BlueprintJob = BlueprintExportJob | BlueprintInstallationJob | BlueprintDependenciesSyncJob | BlueprintValidateJob | BlueprintVerificationJob;
192
198
  export interface BlueprintJobEvent {
193
199
  timestamp?: string; // date-time
194
200
  message?: string;
@@ -328,6 +334,38 @@ declare namespace Components {
328
334
  */
329
335
  errors?: FormattedError[];
330
336
  }
337
+ export interface BlueprintVerificationJob {
338
+ id?: /**
339
+ * ID of a job
340
+ * example:
341
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
342
+ */
343
+ BlueprintJobID;
344
+ events?: BlueprintJobEvent[];
345
+ triggered_at?: string; // date-time
346
+ created_by?: CallerIdentity;
347
+ source_org_id?: string;
348
+ source_blueprint_id?: /**
349
+ * ID of a blueprint
350
+ * example:
351
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
352
+ */
353
+ BlueprintID;
354
+ destination_org_id?: string;
355
+ destination_blueprint_id?: /**
356
+ * ID of a blueprint
357
+ * example:
358
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
359
+ */
360
+ BlueprintID;
361
+ status?: "IN_PROGRESS" | "SUCCESS" | "FAILED";
362
+ summary?: VerificationSummary;
363
+ resource_results?: ResourceVerificationResult[];
364
+ /**
365
+ * S3 key for detailed results when too large for inline storage.
366
+ */
367
+ resource_results_s3_key?: string;
368
+ }
331
369
  export interface CallerIdentity {
332
370
  /**
333
371
  * a human readable name of the caller (e.g. user name, token name or email address)
@@ -386,6 +424,10 @@ declare namespace Components {
386
424
  destination_org_id?: string;
387
425
  destination_blueprint_id?: string;
388
426
  triggered_at?: string; // date-time
427
+ /**
428
+ * User-provided note about this synchronization
429
+ */
430
+ note?: string;
389
431
  }[];
390
432
  /**
391
433
  * Whether the blueprint is verified by epilot
@@ -659,6 +701,10 @@ declare namespace Components {
659
701
  destination_org_id?: string;
660
702
  destination_blueprint_id?: string;
661
703
  triggered_at?: string; // date-time
704
+ /**
705
+ * User-provided note about this synchronization
706
+ */
707
+ note?: string;
662
708
  }[];
663
709
  /**
664
710
  * Whether the blueprint is verified by epilot
@@ -745,6 +791,10 @@ declare namespace Components {
745
791
  destination_org_id?: string;
746
792
  destination_blueprint_id?: string;
747
793
  triggered_at?: string; // date-time
794
+ /**
795
+ * User-provided note about this synchronization
796
+ */
797
+ note?: string;
748
798
  }[];
749
799
  /**
750
800
  * Whether the blueprint is verified by epilot
@@ -799,6 +849,15 @@ declare namespace Components {
799
849
  source_type: "deploy";
800
850
  resources?: BlueprintResource[];
801
851
  }
852
+ export interface FieldDiff {
853
+ /**
854
+ * JSON path to the differing field (e.g. "steps[2].name")
855
+ */
856
+ path?: string;
857
+ source_value?: any;
858
+ destination_value?: any;
859
+ diff_type?: "value_changed" | "field_missing_in_destination" | "field_missing_in_source" | "type_mismatch";
860
+ }
802
861
  export interface FileBlueprint {
803
862
  id?: /**
804
863
  * ID of a blueprint
@@ -831,6 +890,10 @@ declare namespace Components {
831
890
  destination_org_id?: string;
832
891
  destination_blueprint_id?: string;
833
892
  triggered_at?: string; // date-time
893
+ /**
894
+ * User-provided note about this synchronization
895
+ */
896
+ note?: string;
834
897
  }[];
835
898
  /**
836
899
  * Whether the blueprint is verified by epilot
@@ -1486,6 +1549,10 @@ declare namespace Components {
1486
1549
  destination_org_id?: string;
1487
1550
  destination_blueprint_id?: string;
1488
1551
  triggered_at?: string; // date-time
1552
+ /**
1553
+ * User-provided note about this synchronization
1554
+ */
1555
+ note?: string;
1489
1556
  }[];
1490
1557
  /**
1491
1558
  * Whether the blueprint is verified by epilot
@@ -1630,7 +1697,7 @@ declare namespace Components {
1630
1697
  /**
1631
1698
  * Type of the resource
1632
1699
  */
1633
- export type ResourceNodeType = "designbuilder" | "journey" | "product" | "price" | "product_recommendation" | "coupon" | "tax" | "automation_flow" | "entity_mapping" | "file" | "emailtemplate" | "schema" | "schema_attribute" | "schema_capability" | "schema_group" | "schema_group_headline" | "workflow_definition" | "closing_reason" | "taxonomy_classification" | "webhook" | "integration" | "dashboard" | "custom_variable" | "usergroup" | "saved_view" | "app" | "role" | "portal_config" | "target" | "kanban" | "validation_rule" | "flow_template" | "taxonomy" | "notification_template";
1700
+ export type ResourceNodeType = "designbuilder" | "journey" | "product" | "price" | "product_recommendation" | "coupon" | "tax" | "automation_flow" | "entity_mapping" | "file" | "emailtemplate" | "schema" | "schema_attribute" | "schema_capability" | "schema_group" | "schema_group_headline" | "workflow_definition" | "closing_reason" | "taxonomy_classification" | "webhook" | "integration" | "dashboard" | "custom_variable" | "usergroup" | "saved_view" | "app" | "role" | "portal_config" | "target" | "kanban" | "validation_rule" | "flow_template" | "taxonomy" | "notification_template" | "environment_variable";
1634
1701
  export interface ResourceReplacement {
1635
1702
  /**
1636
1703
  * Original resource ID to be replaced
@@ -1645,6 +1712,15 @@ declare namespace Components {
1645
1712
  */
1646
1713
  replacementName?: string;
1647
1714
  }
1715
+ export interface ResourceVerificationResult {
1716
+ resource_type?: /* Type of the resource */ ResourceNodeType;
1717
+ resource_name?: string;
1718
+ source_resource_id?: string;
1719
+ destination_resource_id?: string;
1720
+ status?: "matched" | "mismatched" | "missing_in_destination" | "missing_in_source" | "fetch_error";
1721
+ field_diffs?: FieldDiff[];
1722
+ error?: string;
1723
+ }
1648
1724
  export interface RootResourceNode {
1649
1725
  /**
1650
1726
  * ID of the resource
@@ -1711,6 +1787,14 @@ declare namespace Components {
1711
1787
  */
1712
1788
  filename: string;
1713
1789
  }
1790
+ export interface VerificationSummary {
1791
+ total_resources?: number;
1792
+ matched?: number;
1793
+ mismatched?: number;
1794
+ missing_in_destination?: number;
1795
+ missing_in_source?: number;
1796
+ fetch_errors?: number;
1797
+ }
1714
1798
  export interface VirtualResourceNodeGroup {
1715
1799
  /**
1716
1800
  * ID of the resource
@@ -2393,6 +2477,11 @@ declare namespace Paths {
2393
2477
  * v1.0.0
2394
2478
  */
2395
2479
  version?: string;
2480
+ /**
2481
+ * example:
2482
+ * Wallbox B2C
2483
+ */
2484
+ name?: string;
2396
2485
  /**
2397
2486
  * example:
2398
2487
  * https://portal.epilot.cloud/app/blueprints/install/marketplace/wallbox_b2c?s3Ref=https://example.com/blueprint.zip
@@ -2434,6 +2523,10 @@ declare namespace Paths {
2434
2523
  * The version string to set on the marketplace CMS item (e.g. "1.0.0")
2435
2524
  */
2436
2525
  version?: string;
2526
+ /**
2527
+ * The display name for the blueprint on the marketplace CMS item
2528
+ */
2529
+ name?: string;
2437
2530
  }
2438
2531
  namespace Responses {
2439
2532
  export interface $202 {
@@ -2567,6 +2660,53 @@ declare namespace Paths {
2567
2660
  }
2568
2661
  }
2569
2662
  }
2663
+ namespace VerifyBlueprint {
2664
+ namespace Parameters {
2665
+ export type BlueprintId = /**
2666
+ * ID of a blueprint
2667
+ * example:
2668
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2669
+ */
2670
+ Components.Schemas.BlueprintID;
2671
+ }
2672
+ export interface PathParameters {
2673
+ blueprint_id: Parameters.BlueprintId;
2674
+ }
2675
+ export interface RequestBody {
2676
+ /**
2677
+ * Organization ID of the source org
2678
+ */
2679
+ source_org_id: string;
2680
+ source_blueprint_id: /**
2681
+ * ID of a blueprint
2682
+ * example:
2683
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2684
+ */
2685
+ Components.Schemas.BlueprintID;
2686
+ /**
2687
+ * Organization ID of the destination org
2688
+ */
2689
+ destination_org_id: string;
2690
+ destination_blueprint_id: /**
2691
+ * ID of a blueprint
2692
+ * example:
2693
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2694
+ */
2695
+ Components.Schemas.BlueprintID;
2696
+ }
2697
+ namespace Responses {
2698
+ export interface $202 {
2699
+ job_id?: /**
2700
+ * ID of a job
2701
+ * example:
2702
+ * c2d6cac8-bdd5-4ea2-8a6c-1cbdbe77b341
2703
+ */
2704
+ Components.Schemas.BlueprintJobID;
2705
+ }
2706
+ export interface $404 {
2707
+ }
2708
+ }
2709
+ }
2570
2710
  }
2571
2711
 
2572
2712
 
@@ -2787,6 +2927,19 @@ export interface OperationMethods {
2787
2927
  data?: any,
2788
2928
  config?: AxiosRequestConfig
2789
2929
  ): OperationResponse<Paths.ValidateBlueprint.Responses.$202>
2930
+ /**
2931
+ * verifyBlueprint - verifyBlueprint
2932
+ *
2933
+ * Start a blueprint verification job. Compares resource configurations between a source org
2934
+ * and a destination org to verify that a sync/install was successful.
2935
+ * Returns 202 Accepted with job_id. Poll GET /jobs/{job_id} for status, summary, and resource_results.
2936
+ *
2937
+ */
2938
+ 'verifyBlueprint'(
2939
+ parameters?: Parameters<Paths.VerifyBlueprint.PathParameters> | null,
2940
+ data?: Paths.VerifyBlueprint.RequestBody,
2941
+ config?: AxiosRequestConfig
2942
+ ): OperationResponse<Paths.VerifyBlueprint.Responses.$202>
2790
2943
  /**
2791
2944
  * exportBlueprint - exportBlueprint
2792
2945
  *
@@ -3191,6 +3344,21 @@ export interface PathsDictionary {
3191
3344
  config?: AxiosRequestConfig
3192
3345
  ): OperationResponse<Paths.ValidateBlueprint.Responses.$202>
3193
3346
  }
3347
+ ['/v2/blueprint-manifest/blueprints/{blueprint_id}:verify']: {
3348
+ /**
3349
+ * verifyBlueprint - verifyBlueprint
3350
+ *
3351
+ * Start a blueprint verification job. Compares resource configurations between a source org
3352
+ * and a destination org to verify that a sync/install was successful.
3353
+ * Returns 202 Accepted with job_id. Poll GET /jobs/{job_id} for status, summary, and resource_results.
3354
+ *
3355
+ */
3356
+ 'post'(
3357
+ parameters?: Parameters<Paths.VerifyBlueprint.PathParameters> | null,
3358
+ data?: Paths.VerifyBlueprint.RequestBody,
3359
+ config?: AxiosRequestConfig
3360
+ ): OperationResponse<Paths.VerifyBlueprint.Responses.$202>
3361
+ }
3194
3362
  ['/v2/blueprint-manifest/blueprints/{blueprint_id}:export']: {
3195
3363
  /**
3196
3364
  * exportBlueprint - exportBlueprint
@@ -3390,6 +3558,7 @@ export type BlueprintPreview = Components.Schemas.BlueprintPreview;
3390
3558
  export type BlueprintResource = Components.Schemas.BlueprintResource;
3391
3559
  export type BlueprintResourceID = Components.Schemas.BlueprintResourceID;
3392
3560
  export type BlueprintValidateJob = Components.Schemas.BlueprintValidateJob;
3561
+ export type BlueprintVerificationJob = Components.Schemas.BlueprintVerificationJob;
3393
3562
  export type CallerIdentity = Components.Schemas.CallerIdentity;
3394
3563
  export type CommonBlueprintFields = Components.Schemas.CommonBlueprintFields;
3395
3564
  export type CommonBlueprintJobFields = Components.Schemas.CommonBlueprintJobFields;
@@ -3399,6 +3568,7 @@ export type CommonMarkdownFields = Components.Schemas.CommonMarkdownFields;
3399
3568
  export type CommonResourceNode = Components.Schemas.CommonResourceNode;
3400
3569
  export type CustomBlueprint = Components.Schemas.CustomBlueprint;
3401
3570
  export type DeployedBlueprint = Components.Schemas.DeployedBlueprint;
3571
+ export type FieldDiff = Components.Schemas.FieldDiff;
3402
3572
  export type FileBlueprint = Components.Schemas.FileBlueprint;
3403
3573
  export type FormattedError = Components.Schemas.FormattedError;
3404
3574
  export type FormattedErrorCodes = Components.Schemas.FormattedErrorCodes;
@@ -3419,8 +3589,10 @@ export type PutManifestPayload = Components.Schemas.PutManifestPayload;
3419
3589
  export type ResourceNode = Components.Schemas.ResourceNode;
3420
3590
  export type ResourceNodeType = Components.Schemas.ResourceNodeType;
3421
3591
  export type ResourceReplacement = Components.Schemas.ResourceReplacement;
3592
+ export type ResourceVerificationResult = Components.Schemas.ResourceVerificationResult;
3422
3593
  export type RootResourceNode = Components.Schemas.RootResourceNode;
3423
3594
  export type S3Reference = Components.Schemas.S3Reference;
3424
3595
  export type SelectedResources = Components.Schemas.SelectedResources;
3425
3596
  export type UploadFilePayload = Components.Schemas.UploadFilePayload;
3597
+ export type VerificationSummary = Components.Schemas.VerificationSummary;
3426
3598
  export type VirtualResourceNodeGroup = Components.Schemas.VirtualResourceNodeGroup;
package/dist/openapi.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "openapi": "3.1.0",
3
3
  "info": {
4
4
  "title": "Blueprint Manifest API",
5
- "version": "4.6.0",
5
+ "version": "4.6.1",
6
6
  "description": "Service to create and install Blueprint Manifest files"
7
7
  },
8
8
  "tags": [
@@ -1124,6 +1124,86 @@
1124
1124
  }
1125
1125
  }
1126
1126
  },
1127
+ "/v2/blueprint-manifest/blueprints/{blueprint_id}:verify": {
1128
+ "post": {
1129
+ "operationId": "verifyBlueprint",
1130
+ "summary": "verifyBlueprint",
1131
+ "description": "Start a blueprint verification job. Compares resource configurations between a source org\nand a destination org to verify that a sync/install was successful.\nReturns 202 Accepted with job_id. Poll GET /jobs/{job_id} for status, summary, and resource_results.\n",
1132
+ "tags": [
1133
+ "Blueprints"
1134
+ ],
1135
+ "parameters": [
1136
+ {
1137
+ "in": "path",
1138
+ "required": true,
1139
+ "name": "blueprint_id",
1140
+ "schema": {
1141
+ "$ref": "#/components/schemas/BlueprintID"
1142
+ }
1143
+ }
1144
+ ],
1145
+ "requestBody": {
1146
+ "required": true,
1147
+ "content": {
1148
+ "application/json": {
1149
+ "schema": {
1150
+ "type": "object",
1151
+ "required": [
1152
+ "source_org_id",
1153
+ "source_blueprint_id",
1154
+ "destination_org_id",
1155
+ "destination_blueprint_id"
1156
+ ],
1157
+ "properties": {
1158
+ "source_org_id": {
1159
+ "type": "string",
1160
+ "description": "Organization ID of the source org"
1161
+ },
1162
+ "source_blueprint_id": {
1163
+ "$ref": "#/components/schemas/BlueprintID"
1164
+ },
1165
+ "destination_org_id": {
1166
+ "type": "string",
1167
+ "description": "Organization ID of the destination org"
1168
+ },
1169
+ "destination_blueprint_id": {
1170
+ "$ref": "#/components/schemas/BlueprintID"
1171
+ }
1172
+ }
1173
+ }
1174
+ }
1175
+ }
1176
+ },
1177
+ "responses": {
1178
+ "202": {
1179
+ "description": "Verification job started",
1180
+ "headers": {
1181
+ "Location": {
1182
+ "description": "URL to poll the job",
1183
+ "schema": {
1184
+ "type": "string"
1185
+ }
1186
+ }
1187
+ },
1188
+ "content": {
1189
+ "application/json": {
1190
+ "schema": {
1191
+ "type": "object",
1192
+ "properties": {
1193
+ "job_id": {
1194
+ "$ref": "#/components/schemas/BlueprintJobID"
1195
+ }
1196
+ }
1197
+ }
1198
+ }
1199
+ }
1200
+ },
1201
+ "404": {
1202
+ "description": "Blueprint not found"
1203
+ }
1204
+ }
1205
+ }
1206
+ },
1127
1207
  "/v2/blueprint-manifest/blueprints/{blueprint_id}:export": {
1128
1208
  "post": {
1129
1209
  "operationId": "exportBlueprint",
@@ -1220,6 +1300,10 @@
1220
1300
  "type": "string",
1221
1301
  "example": "v1.0.0"
1222
1302
  },
1303
+ "name": {
1304
+ "type": "string",
1305
+ "example": "Wallbox B2C"
1306
+ },
1223
1307
  "installation_link": {
1224
1308
  "type": "string",
1225
1309
  "example": "https://portal.epilot.cloud/app/blueprints/install/marketplace/wallbox_b2c?s3Ref=https://example.com/blueprint.zip"
@@ -1264,6 +1348,10 @@
1264
1348
  "version": {
1265
1349
  "type": "string",
1266
1350
  "description": "The version string to set on the marketplace CMS item (e.g. \"1.0.0\")"
1351
+ },
1352
+ "name": {
1353
+ "type": "string",
1354
+ "description": "The display name for the blueprint on the marketplace CMS item"
1267
1355
  }
1268
1356
  }
1269
1357
  }
@@ -1924,6 +2012,10 @@
1924
2012
  "triggered_at": {
1925
2013
  "type": "string",
1926
2014
  "format": "date-time"
2015
+ },
2016
+ "note": {
2017
+ "type": "string",
2018
+ "description": "User-provided note about this synchronization"
1927
2019
  }
1928
2020
  }
1929
2021
  }
@@ -2509,6 +2601,9 @@
2509
2601
  },
2510
2602
  {
2511
2603
  "$ref": "#/components/schemas/BlueprintValidateJob"
2604
+ },
2605
+ {
2606
+ "$ref": "#/components/schemas/BlueprintVerificationJob"
2512
2607
  }
2513
2608
  ]
2514
2609
  },
@@ -2570,6 +2665,130 @@
2570
2665
  }
2571
2666
  ]
2572
2667
  },
2668
+ "BlueprintVerificationJob": {
2669
+ "allOf": [
2670
+ {
2671
+ "$ref": "#/components/schemas/CommonBlueprintJobFields"
2672
+ },
2673
+ {
2674
+ "type": "object",
2675
+ "properties": {
2676
+ "source_org_id": {
2677
+ "type": "string"
2678
+ },
2679
+ "source_blueprint_id": {
2680
+ "$ref": "#/components/schemas/BlueprintID"
2681
+ },
2682
+ "destination_org_id": {
2683
+ "type": "string"
2684
+ },
2685
+ "destination_blueprint_id": {
2686
+ "$ref": "#/components/schemas/BlueprintID"
2687
+ },
2688
+ "status": {
2689
+ "type": "string",
2690
+ "enum": [
2691
+ "IN_PROGRESS",
2692
+ "SUCCESS",
2693
+ "FAILED"
2694
+ ]
2695
+ },
2696
+ "summary": {
2697
+ "$ref": "#/components/schemas/VerificationSummary"
2698
+ },
2699
+ "resource_results": {
2700
+ "type": "array",
2701
+ "items": {
2702
+ "$ref": "#/components/schemas/ResourceVerificationResult"
2703
+ }
2704
+ },
2705
+ "resource_results_s3_key": {
2706
+ "type": "string",
2707
+ "description": "S3 key for detailed results when too large for inline storage."
2708
+ }
2709
+ }
2710
+ }
2711
+ ]
2712
+ },
2713
+ "VerificationSummary": {
2714
+ "type": "object",
2715
+ "properties": {
2716
+ "total_resources": {
2717
+ "type": "integer"
2718
+ },
2719
+ "matched": {
2720
+ "type": "integer"
2721
+ },
2722
+ "mismatched": {
2723
+ "type": "integer"
2724
+ },
2725
+ "missing_in_destination": {
2726
+ "type": "integer"
2727
+ },
2728
+ "missing_in_source": {
2729
+ "type": "integer"
2730
+ },
2731
+ "fetch_errors": {
2732
+ "type": "integer"
2733
+ }
2734
+ }
2735
+ },
2736
+ "ResourceVerificationResult": {
2737
+ "type": "object",
2738
+ "properties": {
2739
+ "resource_type": {
2740
+ "$ref": "#/components/schemas/ResourceNodeType"
2741
+ },
2742
+ "resource_name": {
2743
+ "type": "string"
2744
+ },
2745
+ "source_resource_id": {
2746
+ "type": "string"
2747
+ },
2748
+ "destination_resource_id": {
2749
+ "type": "string"
2750
+ },
2751
+ "status": {
2752
+ "type": "string",
2753
+ "enum": [
2754
+ "matched",
2755
+ "mismatched",
2756
+ "missing_in_destination",
2757
+ "missing_in_source",
2758
+ "fetch_error"
2759
+ ]
2760
+ },
2761
+ "field_diffs": {
2762
+ "type": "array",
2763
+ "items": {
2764
+ "$ref": "#/components/schemas/FieldDiff"
2765
+ }
2766
+ },
2767
+ "error": {
2768
+ "type": "string"
2769
+ }
2770
+ }
2771
+ },
2772
+ "FieldDiff": {
2773
+ "type": "object",
2774
+ "properties": {
2775
+ "path": {
2776
+ "type": "string",
2777
+ "description": "JSON path to the differing field (e.g. \"steps[2].name\")"
2778
+ },
2779
+ "source_value": {},
2780
+ "destination_value": {},
2781
+ "diff_type": {
2782
+ "type": "string",
2783
+ "enum": [
2784
+ "value_changed",
2785
+ "field_missing_in_destination",
2786
+ "field_missing_in_source",
2787
+ "type_mismatch"
2788
+ ]
2789
+ }
2790
+ }
2791
+ },
2573
2792
  "BlueprintJobEvent": {
2574
2793
  "type": "object",
2575
2794
  "properties": {
@@ -2737,7 +2956,8 @@
2737
2956
  "validation_rule",
2738
2957
  "flow_template",
2739
2958
  "taxonomy",
2740
- "notification_template"
2959
+ "notification_template",
2960
+ "environment_variable"
2741
2961
  ]
2742
2962
  },
2743
2963
  "PlanChanges": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/blueprint-manifest-client",
3
- "version": "4.6.0",
3
+ "version": "4.6.2",
4
4
  "description": "Client for epilot Terraform Blueprint Manifest API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -22,16 +22,16 @@
22
22
  "terraform"
23
23
  ],
24
24
  "scripts": {
25
- "test": "vitest",
25
+ "test": "jest",
26
26
  "bundle-definition": "webpack",
27
27
  "openapi": "node ../../scripts/update-openapi.js https://docs.api.epilot.io/blueprint-manifest.yaml",
28
28
  "openapi:local": "node ../../scripts/update-openapi.js ../../../blueprint-manifest-api/lambda/TerraformHandlerFunction/openapi.yml",
29
- "typegen": "openapi typegen src/openapi.json --client > src/openapi.d.ts",
29
+ "typegen": "openapi typegen src/openapi.json --client -b '/* eslint-disable */' > src/openapi.d.ts",
30
30
  "build": "tsc && npm run build:patch && npm run bundle-definition",
31
31
  "build:patch": "sed -i'' -e '/^__exportStar.*openapi.*$/d' dist/index.js",
32
32
  "build:watch": "npm run build && tsc -w",
33
33
  "prepublishOnly": "npm run typegen && npm run build",
34
- "lint": "biome check src"
34
+ "lint": "pnpm exec eslint src"
35
35
  },
36
36
  "files": [
37
37
  "*.js",
@@ -59,15 +59,18 @@
59
59
  "util": "^0.12.3"
60
60
  },
61
61
  "devDependencies": {
62
+ "@types/jest": "^26.0.20",
62
63
  "axios": "^1.11.0",
63
64
  "copy-webpack-plugin": "^7.0.0",
65
+ "jest": "^29.6.2",
64
66
  "json-loader": "^0.5.7",
65
67
  "openapicmd": "^2.7.0",
68
+ "ts-jest": "^29.4.1",
66
69
  "ts-loader": "^8.0.14",
67
70
  "ts-node": "^10.9.1",
68
71
  "typescript": "^4.1.3",
69
72
  "webpack": "^5.18.0",
70
- "webpack-cli": "^4.10.0"
73
+ "webpack-cli": "^4.4.0"
71
74
  },
72
75
  "gitHead": "39426e86cfb320fa3227dc03f60ee6a10848e7c7"
73
76
  }