@epilot/sdk 2.8.9 → 2.8.10
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/definitions/snapshot.json +9 -16
- package/dist/apis/access-token.cjs +6 -6
- package/dist/apis/access-token.js +1 -1
- package/dist/apis/address-suggestions.cjs +6 -6
- package/dist/apis/address-suggestions.js +1 -1
- package/dist/apis/address.cjs +6 -6
- package/dist/apis/address.js +1 -1
- package/dist/apis/ai-agents.cjs +6 -6
- package/dist/apis/ai-agents.js +1 -1
- package/dist/apis/app.cjs +6 -6
- package/dist/apis/app.js +1 -1
- package/dist/apis/audit-logs.cjs +6 -6
- package/dist/apis/audit-logs.js +1 -1
- package/dist/apis/automation.cjs +6 -6
- package/dist/apis/automation.js +1 -1
- package/dist/apis/billing.cjs +6 -6
- package/dist/apis/billing.js +1 -1
- package/dist/apis/blueprint-manifest.cjs +6 -6
- package/dist/apis/blueprint-manifest.js +1 -1
- package/dist/apis/calendar.cjs +6 -6
- package/dist/apis/calendar.js +1 -1
- package/dist/apis/configuration-hub.cjs +6 -6
- package/dist/apis/configuration-hub.js +1 -1
- package/dist/apis/consent.cjs +6 -6
- package/dist/apis/consent.js +1 -1
- package/dist/apis/customer-portal.cjs +6 -6
- package/dist/apis/customer-portal.js +1 -1
- package/dist/apis/dashboard.cjs +6 -6
- package/dist/apis/dashboard.js +1 -1
- package/dist/apis/data-governance.cjs +6 -6
- package/dist/apis/data-governance.js +1 -1
- package/dist/apis/deduplication.cjs +6 -6
- package/dist/apis/deduplication.js +1 -1
- package/dist/apis/design.cjs +6 -6
- package/dist/apis/design.js +1 -1
- package/dist/apis/document.cjs +6 -6
- package/dist/apis/document.js +1 -1
- package/dist/apis/email-settings.cjs +6 -6
- package/dist/apis/email-settings.js +1 -1
- package/dist/apis/email-template.cjs +6 -6
- package/dist/apis/email-template.js +1 -1
- package/dist/apis/entity-mapping.cjs +6 -6
- package/dist/apis/entity-mapping.js +1 -1
- package/dist/apis/entity.cjs +6 -6
- package/dist/apis/entity.js +1 -1
- package/dist/apis/environments.cjs +6 -6
- package/dist/apis/environments.js +1 -1
- package/dist/apis/event-catalog.cjs +6 -6
- package/dist/apis/event-catalog.js +1 -1
- package/dist/apis/file.cjs +6 -6
- package/dist/apis/file.js +1 -1
- package/dist/apis/iban.cjs +6 -6
- package/dist/apis/iban.js +1 -1
- package/dist/apis/integration-toolkit.cjs +6 -6
- package/dist/apis/integration-toolkit.js +1 -1
- package/dist/apis/journey.cjs +6 -6
- package/dist/apis/journey.js +1 -1
- package/dist/apis/kanban.cjs +6 -6
- package/dist/apis/kanban.js +1 -1
- package/dist/apis/message.cjs +6 -6
- package/dist/apis/message.js +1 -1
- package/dist/apis/metering.cjs +6 -6
- package/dist/apis/metering.js +1 -1
- package/dist/apis/notes.cjs +6 -6
- package/dist/apis/notes.js +1 -1
- package/dist/apis/notification.cjs +6 -6
- package/dist/apis/notification.js +1 -1
- package/dist/apis/organization.cjs +6 -6
- package/dist/apis/organization.js +1 -1
- package/dist/apis/partner-directory.cjs +6 -6
- package/dist/apis/partner-directory.js +1 -1
- package/dist/apis/permissions.cjs +6 -6
- package/dist/apis/permissions.js +1 -1
- package/dist/apis/pricing-tier.cjs +6 -6
- package/dist/apis/pricing-tier.js +1 -1
- package/dist/apis/pricing.cjs +6 -6
- package/dist/apis/pricing.js +1 -1
- package/dist/apis/purpose.cjs +6 -6
- package/dist/apis/purpose.js +1 -1
- package/dist/apis/query.cjs +6 -6
- package/dist/apis/query.js +1 -1
- package/dist/apis/sandbox.cjs +6 -6
- package/dist/apis/sandbox.js +1 -1
- package/dist/apis/sharing.cjs +6 -6
- package/dist/apis/sharing.js +1 -1
- package/dist/apis/snapshot.cjs +6 -6
- package/dist/apis/snapshot.d.cts +2 -2
- package/dist/apis/snapshot.d.ts +2 -2
- package/dist/apis/snapshot.js +1 -1
- package/dist/apis/submission.cjs +6 -6
- package/dist/apis/submission.js +1 -1
- package/dist/apis/target.cjs +6 -6
- package/dist/apis/target.js +1 -1
- package/dist/apis/targeting.cjs +6 -6
- package/dist/apis/targeting.js +1 -1
- package/dist/apis/template-variables.cjs +6 -6
- package/dist/apis/template-variables.js +1 -1
- package/dist/apis/user.cjs +6 -6
- package/dist/apis/user.js +1 -1
- package/dist/apis/validation-rules.cjs +6 -6
- package/dist/apis/validation-rules.js +1 -1
- package/dist/apis/webhooks.cjs +6 -6
- package/dist/apis/webhooks.js +1 -1
- package/dist/apis/workflow-definition.cjs +6 -6
- package/dist/apis/workflow-definition.js +1 -1
- package/dist/apis/workflow.cjs +6 -6
- package/dist/apis/workflow.js +1 -1
- package/dist/{chunk-VMKT7UQS.js → chunk-H5BH4GQQ.js} +1 -1
- package/dist/{chunk-4GI6KGKZ.cjs → chunk-OMZ2LWNR.cjs} +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.d.cts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/snapshot-HFVQTHYF.cjs +7 -0
- package/dist/snapshot-Y6A7QUYS.js +7 -0
- package/dist/{snapshot.d-D5z6-hzE.d.cts → snapshot.d-CPTXg4xN.d.cts} +24 -34
- package/dist/{snapshot.d-D5z6-hzE.d.ts → snapshot.d-CPTXg4xN.d.ts} +24 -34
- package/docs/snapshot.md +13 -15
- package/package.json +1 -1
- package/dist/snapshot-6CCO4NYL.js +0 -7
- package/dist/snapshot-GWB56VPP.cjs +0 -7
package/dist/apis/workflow.cjs
CHANGED
|
@@ -6,25 +6,25 @@ var _chunkQNZPOA54cjs = require('../chunk-QNZPOA54.cjs');
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkOMZ2LWNRcjs = require('../chunk-OMZ2LWNR.cjs');
|
|
10
10
|
require('../chunk-NJK5F5TF.cjs');
|
|
11
11
|
|
|
12
12
|
// src/apis/workflow.ts
|
|
13
13
|
var loadDefinition = () => {
|
|
14
14
|
const mod = _chunkQNZPOA54cjs.require_workflow_runtime.call(void 0, );
|
|
15
|
-
return
|
|
15
|
+
return _chunkOMZ2LWNRcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
|
|
16
16
|
};
|
|
17
17
|
var _instance = null;
|
|
18
18
|
var resolve = () => {
|
|
19
19
|
if (!_instance) {
|
|
20
20
|
const def = loadDefinition();
|
|
21
|
-
_instance =
|
|
21
|
+
_instance = _chunkOMZ2LWNRcjs.createApiClient.call(void 0, { definition: def, apiName: "workflow" });
|
|
22
22
|
}
|
|
23
23
|
return _instance;
|
|
24
24
|
};
|
|
25
|
-
var _handle =
|
|
25
|
+
var _handle = _chunkOMZ2LWNRcjs.createApiHandle.call(void 0, {
|
|
26
26
|
resolveClient: resolve,
|
|
27
|
-
createClient: () =>
|
|
27
|
+
createClient: () => _chunkOMZ2LWNRcjs.createApiClient.call(void 0, { definition: loadDefinition(), apiName: "workflow" }),
|
|
28
28
|
apiName: "workflow"
|
|
29
29
|
});
|
|
30
30
|
var getClient = _handle.getClient;
|
|
@@ -35,4 +35,4 @@ var workflow = _handle;
|
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
exports.authorize =
|
|
38
|
+
exports.authorize = _chunkOMZ2LWNRcjs.authorize; exports.createClient = createClient; exports.getClient = getClient; exports.workflow = workflow;
|
package/dist/apis/workflow.js
CHANGED
|
@@ -72,7 +72,7 @@ var globImport_docs = __glob({
|
|
|
72
72
|
"./docs/query.json": () => import("./query-RJ4M25PA.js"),
|
|
73
73
|
"./docs/sandbox.json": () => import("./sandbox-L2SOOGGR.js"),
|
|
74
74
|
"./docs/sharing.json": () => import("./sharing-MNDABPL7.js"),
|
|
75
|
-
"./docs/snapshot.json": () => import("./snapshot-
|
|
75
|
+
"./docs/snapshot.json": () => import("./snapshot-Y6A7QUYS.js"),
|
|
76
76
|
"./docs/submission.json": () => import("./submission-7BISSPO6.js"),
|
|
77
77
|
"./docs/target.json": () => import("./target-5MKRXCHX.js"),
|
|
78
78
|
"./docs/targeting.json": () => import("./targeting-X4Y2ODBT.js"),
|
|
@@ -72,7 +72,7 @@ var globImport_docs = _chunkNJK5F5TFcjs.__glob.call(void 0, {
|
|
|
72
72
|
"./docs/query.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./query-JSDB2F2U.cjs"))),
|
|
73
73
|
"./docs/sandbox.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./sandbox-2KN4X66E.cjs"))),
|
|
74
74
|
"./docs/sharing.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./sharing-MR7ANOST.cjs"))),
|
|
75
|
-
"./docs/snapshot.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./snapshot-
|
|
75
|
+
"./docs/snapshot.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./snapshot-HFVQTHYF.cjs"))),
|
|
76
76
|
"./docs/submission.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./submission-Q24BU4GS.cjs"))),
|
|
77
77
|
"./docs/target.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./target-3RS5BN2B.cjs"))),
|
|
78
78
|
"./docs/targeting.json": () => Promise.resolve().then(() => _interopRequireWildcard(require("./targeting-WC62BBZN.cjs"))),
|
package/dist/index.cjs
CHANGED
|
@@ -158,7 +158,7 @@ var _chunkDVM27A7Ecjs = require('./chunk-DVM27A7E.cjs');
|
|
|
158
158
|
|
|
159
159
|
|
|
160
160
|
|
|
161
|
-
var
|
|
161
|
+
var _chunkOMZ2LWNRcjs = require('./chunk-OMZ2LWNR.cjs');
|
|
162
162
|
|
|
163
163
|
|
|
164
164
|
var _chunkNJK5F5TFcjs = require('./chunk-NJK5F5TF.cjs');
|
|
@@ -225,7 +225,7 @@ var resolveClient = (params) => {
|
|
|
225
225
|
}
|
|
226
226
|
if (!entry.instance) {
|
|
227
227
|
const definition = entry.loader();
|
|
228
|
-
entry.instance =
|
|
228
|
+
entry.instance = _chunkOMZ2LWNRcjs.createApiClient.call(void 0, {
|
|
229
229
|
definition,
|
|
230
230
|
token: state.token,
|
|
231
231
|
headers: state.globalHeaders,
|
|
@@ -258,7 +258,7 @@ var resetAllClients = (registry) => {
|
|
|
258
258
|
};
|
|
259
259
|
|
|
260
260
|
// src/apis/_registry.ts
|
|
261
|
-
var expandDef = (mod) =>
|
|
261
|
+
var expandDef = (mod) => _chunkOMZ2LWNRcjs.expand.call(void 0, _nullishCoalesce(mod.default, () => ( mod)));
|
|
262
262
|
var registerBuiltinApis = (registry) => {
|
|
263
263
|
registerApi({
|
|
264
264
|
registry,
|
|
@@ -601,9 +601,9 @@ var createSDK = () => {
|
|
|
601
601
|
const available = [...registry.keys()].join(", ");
|
|
602
602
|
throw new Error(`Unknown API: "${name}". Available: ${available}`);
|
|
603
603
|
}
|
|
604
|
-
return
|
|
604
|
+
return _chunkOMZ2LWNRcjs.createApiHandle.call(void 0, {
|
|
605
605
|
resolveClient: () => resolveClient({ registry, name, state }),
|
|
606
|
-
createClient: () =>
|
|
606
|
+
createClient: () => _chunkOMZ2LWNRcjs.createApiClient.call(void 0, { definition: entry.loader(), apiName: name }),
|
|
607
607
|
apiName: name
|
|
608
608
|
});
|
|
609
609
|
};
|
|
@@ -651,9 +651,9 @@ var createSDK = () => {
|
|
|
651
651
|
return interceptorUse;
|
|
652
652
|
}
|
|
653
653
|
case "help":
|
|
654
|
-
return (apiName) =>
|
|
654
|
+
return (apiName) => _chunkOMZ2LWNRcjs.help.call(void 0, apiName);
|
|
655
655
|
case "openapi":
|
|
656
|
-
return (apiName) =>
|
|
656
|
+
return (apiName) => _chunkOMZ2LWNRcjs.openapi.call(void 0, apiName);
|
|
657
657
|
case "then":
|
|
658
658
|
case "catch":
|
|
659
659
|
case "finally":
|
|
@@ -683,4 +683,4 @@ var epilot = createSDK();
|
|
|
683
683
|
|
|
684
684
|
|
|
685
685
|
|
|
686
|
-
exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize =
|
|
686
|
+
exports.applyLargeResponseInterceptor = applyLargeResponseInterceptor; exports.applyRetryInterceptor = applyRetryInterceptor; exports.authorize = _chunkOMZ2LWNRcjs.authorize; exports.createSDK = createSDK; exports.epilot = epilot; exports.help = _chunkOMZ2LWNRcjs.help; exports.openapi = _chunkOMZ2LWNRcjs.openapi;
|
package/dist/index.d.cts
CHANGED
|
@@ -45,7 +45,7 @@ import { C as Client$C } from './purpose.d-CbIYfTua.cjs';
|
|
|
45
45
|
import { C as Client$D } from './query.d-Cmp78IhZ.cjs';
|
|
46
46
|
import { C as Client$E } from './sandbox.d-BdbOFzDu.cjs';
|
|
47
47
|
import { C as Client$F } from './sharing.d-sOXq-gtz.cjs';
|
|
48
|
-
import { C as Client$G } from './snapshot.d-
|
|
48
|
+
import { C as Client$G } from './snapshot.d-CPTXg4xN.cjs';
|
|
49
49
|
import { C as Client$H } from './submission.d-BamwfhXw.cjs';
|
|
50
50
|
import { C as Client$I } from './targeting.d-0rNF7ErD.cjs';
|
|
51
51
|
import { C as Client$J } from './template-variables.d-Ble9TSBa.cjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ import { C as Client$C } from './purpose.d-CbIYfTua.js';
|
|
|
45
45
|
import { C as Client$D } from './query.d-Cmp78IhZ.js';
|
|
46
46
|
import { C as Client$E } from './sandbox.d-BdbOFzDu.js';
|
|
47
47
|
import { C as Client$F } from './sharing.d-sOXq-gtz.js';
|
|
48
|
-
import { C as Client$G } from './snapshot.d-
|
|
48
|
+
import { C as Client$G } from './snapshot.d-CPTXg4xN.js';
|
|
49
49
|
import { C as Client$H } from './submission.d-BamwfhXw.js';
|
|
50
50
|
import { C as Client$I } from './targeting.d-0rNF7ErD.js';
|
|
51
51
|
import { C as Client$J } from './template-variables.d-Ble9TSBa.js';
|
package/dist/index.js
CHANGED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('./chunk-NJK5F5TF.cjs');
|
|
2
|
+
|
|
3
|
+
// src/docs/snapshot.json
|
|
4
|
+
var snapshot_default = '# Snapshot API\n\n- **Base URL:** `https://snapshot.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/snapshot](https://docs.epilot.io/api/snapshot)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.snapshot.createSnapshot(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/snapshot\'\n\nconst snapshotClient = getClient()\nauthorize(snapshotClient, () => \'<token>\')\nconst { data } = await snapshotClient.createSnapshot(...)\n```\n\n## Operations\n\n**Snapshots**\n- [`createSnapshot`](#createsnapshot)\n- [`listSnapshots`](#listsnapshots)\n- [`captureOrgSnapshot`](#captureorgsnapshot)\n- [`getSnapshot`](#getsnapshot)\n- [`deleteSnapshot`](#deletesnapshot)\n- [`restoreSnapshot`](#restoresnapshot)\n- [`listSnapshotResources`](#listsnapshotresources)\n- [`getSnapshotResource`](#getsnapshotresource)\n- [`listDependencies`](#listdependencies)\n\n**Schemas**\n- [`Error`](#error)\n- [`EmptyInventoryError`](#emptyinventoryerror)\n- [`ResourceRef`](#resourceref)\n- [`SnapshotResourceSummary`](#snapshotresourcesummary)\n- [`SnapshotResourceList`](#snapshotresourcelist)\n- [`SnapshotResourceDetail`](#snapshotresourcedetail)\n- [`CreateSnapshotRequest`](#createsnapshotrequest)\n- [`CreateOrgSnapshotRequest`](#createorgsnapshotrequest)\n- [`CreateSnapshotResponse`](#createsnapshotresponse)\n- [`RestoreSnapshotRequest`](#restoresnapshotrequest)\n- [`RestoreSnapshotResponse`](#restoresnapshotresponse)\n- [`Snapshot`](#snapshot)\n- [`Operation`](#operation)\n- [`SkippedResource`](#skippedresource)\n- [`CallerIdentity`](#calleridentity)\n\n### `createSnapshot`\n\nCreate a new snapshot of the given resources. Async \u2014 returns immediately\nwith a snapshot ID; client polls `getSnapshot` until `create.status`\nmoves from `in_progress` to `completed` or `failed`.\n\n`POST /v1/snapshots`\n\n```ts\nconst { data } = await client.createSnapshot(\n null,\n {\n name: \'string\',\n description: \'string\',\n trigger: \'manual\',\n blueprint_instance_id: \'string\',\n resources: [\n {\n type: \'string\',\n id: \'string\'\n }\n ]\n },\n)\n```\n\n---\n\n### `listSnapshots`\n\nList snapshots for the caller\'s organization, newest first.\n\n`GET /v1/snapshots`\n\n```ts\nconst { data } = await client.listSnapshots({\n cursor: \'example\',\n size: 1,\n resource: [\'...\'],\n trigger: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "page_size": 0,\n "cursor": "string",\n "results": [\n {\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": "manual",\n "blueprint_instance_id": "string",\n "resource_counts": {},\n "create": {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n },\n "restores": [\n {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n }\n ],\n "matched_count": 0,\n "scope": "selection",\n "expires_at": "1970-01-01T00:00:00.000Z",\n "capture_summary": {\n "total": 0,\n "captured": 0,\n "skipped": 0,\n "failed": 0\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `captureOrgSnapshot`\n\nSnapshot the caller\'s whole organization now. Fetches a fresh inventory\nof the org\'s configuration resources from configuration-hub-api, persists\nit as an inventory artifact, and starts a `scope: "org\n\n`POST /v1/snapshots:capture-org`\n\n```ts\nconst { data } = await client.captureOrgSnapshot(\n null,\n {\n name: \'string\',\n retention: {\n value: 1,\n unit: \'days\'\n },\n excluded_types: [\'string\']\n },\n)\n```\n\n---\n\n### `getSnapshot`\n\nFetch a snapshot\'s metadata. Poll this endpoint to track create/restore progress.\n\n`GET /v1/snapshots/{id}`\n\n```ts\nconst { data } = await client.getSnapshot({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": "manual",\n "blueprint_instance_id": "string",\n "resource_counts": {},\n "create": {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n },\n "restores": [\n {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n }\n ],\n "matched_count": 0,\n "scope": "selection",\n "expires_at": "1970-01-01T00:00:00.000Z",\n "capture_summary": {\n "total": 0,\n "captured": 0,\n "skipped": 0,\n "failed": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteSnapshot`\n\nDelete a snapshot\'s metadata and S3 manifest.\n\n`DELETE /v1/snapshots/{id}`\n\n```ts\nconst { data } = await client.deleteSnapshot({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `restoreSnapshot`\n\nRestore a snapshot to the org. Async \u2014 returns immediately; client polls\n`getSnapshot` until the latest entry in `restores` moves from\n`in_progress` to one of `completed | partial | failed`.\n\n`POST /v1/snapshots/{id}:restore`\n\n```ts\nconst { data } = await client.restoreSnapshot(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n preserve_modified: false,\n exclude_target_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `listSnapshotResources`\n\nList the resources captured in this snapshot. Returns lightweight\nidentity fields per resource \u2014 payloads are fetched via the\nsingle-resource endpoint when needed.\n\n`GET /v1/snapshots/{id}/resources`\n\n```ts\nconst { data } = await client.listSnapshotResources({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "resources": [\n {\n "lineage_id": "string",\n "target_id": "string",\n "type": "string",\n "name": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getSnapshotResource`\n\nFetch one captured resource with its full payload. For UI views\nthat diff the captured state against the current destination.\n\n`GET /v1/snapshots/{id}/resources/{lineage_id}`\n\n```ts\nconst { data } = await client.getSnapshotResource({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n lineage_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "lineage_id": "string",\n "target_id": "string",\n "type": "string",\n "name": "string",\n "captured": {}\n}\n```\n\n</details>\n\n---\n\n### `listDependencies`\n\nWalk the dependency tree for a set of resources and return the full\ntransitive closure, topologically sorted.\n\n`POST /v1/snapshots:list-dependencies`\n\n```ts\nconst { data } = await client.listDependencies(\n null,\n {\n resources: [\n {\n type: \'string\',\n id: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "dependencies": [\n {\n "type": "string",\n "id": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string\n}\n```\n\n### `EmptyInventoryError`\n\nReturned (422) when the org inventory contains no capturable resources\nafter filtering out sensitive, unsupported, and excluded types. The\n`skipped_types` array explains why every type was dropped.\n\n\n```ts\ntype EmptyInventoryError = {\n message: string\n skipped_types: Array<{\n type: string\n reason: string\n }>\n}\n```\n\n### `ResourceRef`\n\n```ts\ntype ResourceRef = {\n type: string\n id: string\n}\n```\n\n### `SnapshotResourceSummary`\n\nLightweight identity for a captured resource. Returned by\n`listSnapshotResources`; the full payload is fetched separately via\n`getSnapshotResource` when needed.\n\n\n```ts\ntype SnapshotResourceSummary = {\n lineage_id: string\n target_id: string\n type: string\n name?: string\n}\n```\n\n### `SnapshotResourceList`\n\n```ts\ntype SnapshotResourceList = {\n resources: Array<{\n lineage_id: string\n target_id: string\n type: string\n name?: string\n }>\n}\n```\n\n### `SnapshotResourceDetail`\n\nA single captured resource with its full payload. The identity fields\nmatch `SnapshotResourceSummary`; the `captured` payload is the\npre-install state at snapshot time.\n\n\n```ts\ntype SnapshotResourceDetail = {\n lineage_id: string\n target_id: string\n type: string\n name?: string\n captured: Record<string, unknown>\n}\n```\n\n### `CreateSnapshotRequest`\n\n```ts\ntype CreateSnapshotRequest = {\n name: string\n description?: string\n trigger?: "manual" | "sync" | "blueprint_install" | "scheduled"\n blueprint_instance_id?: string\n resources: Array<{\n type: string\n id: string\n }>\n}\n```\n\n### `CreateOrgSnapshotRequest`\n\nRequest body for `captureOrgSnapshot`. All fields optional \u2014 an empty body\nsnapshots the whole org with a default name and the 90-day default TTL.\n\n\n```ts\ntype CreateOrgSnapshotRequest = {\n name?: string\n retention?: {\n value: number\n unit: "days" | "weeks" | "months"\n }\n excluded_types?: string[]\n}\n```\n\n### `CreateSnapshotResponse`\n\n```ts\ntype CreateSnapshotResponse = {\n id: string\n name: string\n status: "creating"\n created_at: string // date-time\n}\n```\n\n### `RestoreSnapshotRequest`\n\nApply a captured snapshot to its source org. All filters default to the\nopen setting (apply everything), which keeps Config Hub\'s manual-restore\nsemantics unchanged.\n\n\n```ts\ntype RestoreSnapshotRequest = {\n preserve_modified?: boolean\n exclude_target_ids?: string[]\n}\n```\n\n### `RestoreSnapshotResponse`\n\n```ts\ntype RestoreSnapshotResponse = {\n id: string\n status: "restoring"\n}\n```\n\n### `Snapshot`\n\n```ts\ntype Snapshot = {\n id: string\n org_id: string\n name: string\n description?: string\n trigger: "manual" | "sync" | "blueprint_install" | "scheduled"\n blueprint_instance_id?: string\n resource_counts: Record<string, number>\n create: {\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: { ... }\n user_id?: { ... }\n token_id?: { ... }\n }\n skipped?: Array<{\n target_id: { ... }\n reason: { ... }\n }>\n }\n restores: Array<{\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: { ... }\n user_id?: { ... }\n token_id?: { ... }\n }\n skipped?: Array<{\n target_id: { ... }\n reason: { ... }\n }>\n }>\n matched_count?: number\n scope?: "selection" | "org"\n expires_at?: string // date-time\n capture_summary?: {\n total: number\n captured: number\n skipped: number\n failed: number\n }\n}\n```\n\n### `Operation`\n\n```ts\ntype Operation = {\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: string\n user_id?: string\n token_id?: string\n }\n skipped?: Array<{\n target_id: string\n reason: "modified"\n }>\n}\n```\n\n### `SkippedResource`\n\n```ts\ntype SkippedResource = {\n target_id: string\n reason: "modified"\n}\n```\n\n### `CallerIdentity`\n\n```ts\ntype CallerIdentity = {\n name: string\n user_id?: string\n token_id?: string\n}\n```\n';
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
exports.default = snapshot_default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./chunk-YPSWSI3M.js";
|
|
2
|
+
|
|
3
|
+
// src/docs/snapshot.json
|
|
4
|
+
var snapshot_default = '# Snapshot API\n\n- **Base URL:** `https://snapshot.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/snapshot](https://docs.epilot.io/api/snapshot)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.snapshot.createSnapshot(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/snapshot\'\n\nconst snapshotClient = getClient()\nauthorize(snapshotClient, () => \'<token>\')\nconst { data } = await snapshotClient.createSnapshot(...)\n```\n\n## Operations\n\n**Snapshots**\n- [`createSnapshot`](#createsnapshot)\n- [`listSnapshots`](#listsnapshots)\n- [`captureOrgSnapshot`](#captureorgsnapshot)\n- [`getSnapshot`](#getsnapshot)\n- [`deleteSnapshot`](#deletesnapshot)\n- [`restoreSnapshot`](#restoresnapshot)\n- [`listSnapshotResources`](#listsnapshotresources)\n- [`getSnapshotResource`](#getsnapshotresource)\n- [`listDependencies`](#listdependencies)\n\n**Schemas**\n- [`Error`](#error)\n- [`EmptyInventoryError`](#emptyinventoryerror)\n- [`ResourceRef`](#resourceref)\n- [`SnapshotResourceSummary`](#snapshotresourcesummary)\n- [`SnapshotResourceList`](#snapshotresourcelist)\n- [`SnapshotResourceDetail`](#snapshotresourcedetail)\n- [`CreateSnapshotRequest`](#createsnapshotrequest)\n- [`CreateOrgSnapshotRequest`](#createorgsnapshotrequest)\n- [`CreateSnapshotResponse`](#createsnapshotresponse)\n- [`RestoreSnapshotRequest`](#restoresnapshotrequest)\n- [`RestoreSnapshotResponse`](#restoresnapshotresponse)\n- [`Snapshot`](#snapshot)\n- [`Operation`](#operation)\n- [`SkippedResource`](#skippedresource)\n- [`CallerIdentity`](#calleridentity)\n\n### `createSnapshot`\n\nCreate a new snapshot of the given resources. Async \u2014 returns immediately\nwith a snapshot ID; client polls `getSnapshot` until `create.status`\nmoves from `in_progress` to `completed` or `failed`.\n\n`POST /v1/snapshots`\n\n```ts\nconst { data } = await client.createSnapshot(\n null,\n {\n name: \'string\',\n description: \'string\',\n trigger: \'manual\',\n blueprint_instance_id: \'string\',\n resources: [\n {\n type: \'string\',\n id: \'string\'\n }\n ]\n },\n)\n```\n\n---\n\n### `listSnapshots`\n\nList snapshots for the caller\'s organization, newest first.\n\n`GET /v1/snapshots`\n\n```ts\nconst { data } = await client.listSnapshots({\n cursor: \'example\',\n size: 1,\n resource: [\'...\'],\n trigger: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "page_size": 0,\n "cursor": "string",\n "results": [\n {\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": "manual",\n "blueprint_instance_id": "string",\n "resource_counts": {},\n "create": {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n },\n "restores": [\n {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n }\n ],\n "matched_count": 0,\n "scope": "selection",\n "expires_at": "1970-01-01T00:00:00.000Z",\n "capture_summary": {\n "total": 0,\n "captured": 0,\n "skipped": 0,\n "failed": 0\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `captureOrgSnapshot`\n\nSnapshot the caller\'s whole organization now. Fetches a fresh inventory\nof the org\'s configuration resources from configuration-hub-api, persists\nit as an inventory artifact, and starts a `scope: "org\n\n`POST /v1/snapshots:capture-org`\n\n```ts\nconst { data } = await client.captureOrgSnapshot(\n null,\n {\n name: \'string\',\n retention: {\n value: 1,\n unit: \'days\'\n },\n excluded_types: [\'string\']\n },\n)\n```\n\n---\n\n### `getSnapshot`\n\nFetch a snapshot\'s metadata. Poll this endpoint to track create/restore progress.\n\n`GET /v1/snapshots/{id}`\n\n```ts\nconst { data } = await client.getSnapshot({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": "manual",\n "blueprint_instance_id": "string",\n "resource_counts": {},\n "create": {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n },\n "restores": [\n {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "target_id": "string",\n "reason": "modified"\n }\n ]\n }\n ],\n "matched_count": 0,\n "scope": "selection",\n "expires_at": "1970-01-01T00:00:00.000Z",\n "capture_summary": {\n "total": 0,\n "captured": 0,\n "skipped": 0,\n "failed": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteSnapshot`\n\nDelete a snapshot\'s metadata and S3 manifest.\n\n`DELETE /v1/snapshots/{id}`\n\n```ts\nconst { data } = await client.deleteSnapshot({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `restoreSnapshot`\n\nRestore a snapshot to the org. Async \u2014 returns immediately; client polls\n`getSnapshot` until the latest entry in `restores` moves from\n`in_progress` to one of `completed | partial | failed`.\n\n`POST /v1/snapshots/{id}:restore`\n\n```ts\nconst { data } = await client.restoreSnapshot(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n preserve_modified: false,\n exclude_target_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `listSnapshotResources`\n\nList the resources captured in this snapshot. Returns lightweight\nidentity fields per resource \u2014 payloads are fetched via the\nsingle-resource endpoint when needed.\n\n`GET /v1/snapshots/{id}/resources`\n\n```ts\nconst { data } = await client.listSnapshotResources({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "resources": [\n {\n "lineage_id": "string",\n "target_id": "string",\n "type": "string",\n "name": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getSnapshotResource`\n\nFetch one captured resource with its full payload. For UI views\nthat diff the captured state against the current destination.\n\n`GET /v1/snapshots/{id}/resources/{lineage_id}`\n\n```ts\nconst { data } = await client.getSnapshotResource({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n lineage_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "lineage_id": "string",\n "target_id": "string",\n "type": "string",\n "name": "string",\n "captured": {}\n}\n```\n\n</details>\n\n---\n\n### `listDependencies`\n\nWalk the dependency tree for a set of resources and return the full\ntransitive closure, topologically sorted.\n\n`POST /v1/snapshots:list-dependencies`\n\n```ts\nconst { data } = await client.listDependencies(\n null,\n {\n resources: [\n {\n type: \'string\',\n id: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "dependencies": [\n {\n "type": "string",\n "id": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string\n}\n```\n\n### `EmptyInventoryError`\n\nReturned (422) when the org inventory contains no capturable resources\nafter filtering out sensitive, unsupported, and excluded types. The\n`skipped_types` array explains why every type was dropped.\n\n\n```ts\ntype EmptyInventoryError = {\n message: string\n skipped_types: Array<{\n type: string\n reason: string\n }>\n}\n```\n\n### `ResourceRef`\n\n```ts\ntype ResourceRef = {\n type: string\n id: string\n}\n```\n\n### `SnapshotResourceSummary`\n\nLightweight identity for a captured resource. Returned by\n`listSnapshotResources`; the full payload is fetched separately via\n`getSnapshotResource` when needed.\n\n\n```ts\ntype SnapshotResourceSummary = {\n lineage_id: string\n target_id: string\n type: string\n name?: string\n}\n```\n\n### `SnapshotResourceList`\n\n```ts\ntype SnapshotResourceList = {\n resources: Array<{\n lineage_id: string\n target_id: string\n type: string\n name?: string\n }>\n}\n```\n\n### `SnapshotResourceDetail`\n\nA single captured resource with its full payload. The identity fields\nmatch `SnapshotResourceSummary`; the `captured` payload is the\npre-install state at snapshot time.\n\n\n```ts\ntype SnapshotResourceDetail = {\n lineage_id: string\n target_id: string\n type: string\n name?: string\n captured: Record<string, unknown>\n}\n```\n\n### `CreateSnapshotRequest`\n\n```ts\ntype CreateSnapshotRequest = {\n name: string\n description?: string\n trigger?: "manual" | "sync" | "blueprint_install" | "scheduled"\n blueprint_instance_id?: string\n resources: Array<{\n type: string\n id: string\n }>\n}\n```\n\n### `CreateOrgSnapshotRequest`\n\nRequest body for `captureOrgSnapshot`. All fields optional \u2014 an empty body\nsnapshots the whole org with a default name and the 90-day default TTL.\n\n\n```ts\ntype CreateOrgSnapshotRequest = {\n name?: string\n retention?: {\n value: number\n unit: "days" | "weeks" | "months"\n }\n excluded_types?: string[]\n}\n```\n\n### `CreateSnapshotResponse`\n\n```ts\ntype CreateSnapshotResponse = {\n id: string\n name: string\n status: "creating"\n created_at: string // date-time\n}\n```\n\n### `RestoreSnapshotRequest`\n\nApply a captured snapshot to its source org. All filters default to the\nopen setting (apply everything), which keeps Config Hub\'s manual-restore\nsemantics unchanged.\n\n\n```ts\ntype RestoreSnapshotRequest = {\n preserve_modified?: boolean\n exclude_target_ids?: string[]\n}\n```\n\n### `RestoreSnapshotResponse`\n\n```ts\ntype RestoreSnapshotResponse = {\n id: string\n status: "restoring"\n}\n```\n\n### `Snapshot`\n\n```ts\ntype Snapshot = {\n id: string\n org_id: string\n name: string\n description?: string\n trigger: "manual" | "sync" | "blueprint_install" | "scheduled"\n blueprint_instance_id?: string\n resource_counts: Record<string, number>\n create: {\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: { ... }\n user_id?: { ... }\n token_id?: { ... }\n }\n skipped?: Array<{\n target_id: { ... }\n reason: { ... }\n }>\n }\n restores: Array<{\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: { ... }\n user_id?: { ... }\n token_id?: { ... }\n }\n skipped?: Array<{\n target_id: { ... }\n reason: { ... }\n }>\n }>\n matched_count?: number\n scope?: "selection" | "org"\n expires_at?: string // date-time\n capture_summary?: {\n total: number\n captured: number\n skipped: number\n failed: number\n }\n}\n```\n\n### `Operation`\n\n```ts\ntype Operation = {\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: string\n user_id?: string\n token_id?: string\n }\n skipped?: Array<{\n target_id: string\n reason: "modified"\n }>\n}\n```\n\n### `SkippedResource`\n\n```ts\ntype SkippedResource = {\n target_id: string\n reason: "modified"\n}\n```\n\n### `CallerIdentity`\n\n```ts\ntype CallerIdentity = {\n name: string\n user_id?: string\n token_id?: string\n}\n```\n';
|
|
5
|
+
export {
|
|
6
|
+
snapshot_default as default
|
|
7
|
+
};
|
|
@@ -109,18 +109,19 @@ declare namespace Components {
|
|
|
109
109
|
started_at: string; // date-time
|
|
110
110
|
completed_at?: string; // date-time
|
|
111
111
|
/**
|
|
112
|
-
* `partial` indicates the operation completed but
|
|
113
|
-
*
|
|
114
|
-
*
|
|
112
|
+
* `partial` indicates the operation completed but snapshot-api
|
|
113
|
+
* skipped at least one captured resource via its own drift check
|
|
114
|
+
* (see `skipped`).
|
|
115
115
|
*
|
|
116
116
|
*/
|
|
117
117
|
status: "in_progress" | "completed" | "partial" | "failed";
|
|
118
118
|
error?: string;
|
|
119
119
|
triggered_by: CallerIdentity;
|
|
120
120
|
/**
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
121
|
+
* Captured resources snapshot-api elected to skip — currently
|
|
122
|
+
* only drift detections (`preserve_modified: true`). Caller-
|
|
123
|
+
* supplied `exclude_target_ids` skips are NOT echoed here; the
|
|
124
|
+
* caller built the list, the caller knows.
|
|
124
125
|
*
|
|
125
126
|
*/
|
|
126
127
|
skipped?: SkippedResource[];
|
|
@@ -133,37 +134,27 @@ declare namespace Components {
|
|
|
133
134
|
id: string;
|
|
134
135
|
}
|
|
135
136
|
/**
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
137
|
+
* Apply a captured snapshot to its source org. All filters default to the
|
|
138
|
+
* open setting (apply everything), which keeps Config Hub's manual-restore
|
|
139
|
+
* semantics unchanged.
|
|
139
140
|
*
|
|
140
141
|
*/
|
|
141
142
|
export interface RestoreSnapshotRequest {
|
|
142
143
|
/**
|
|
143
144
|
* When `true`, skip captured resources whose live payload's content
|
|
144
145
|
* fingerprint diverges from the capture-time fingerprint stored on
|
|
145
|
-
* the manifest entry.
|
|
146
|
-
*
|
|
146
|
+
* the manifest entry. snapshot-api fetches the live payload and
|
|
147
|
+
* hashes it itself; no cross-service lookup. Surfaces under
|
|
147
148
|
* `Operation.skipped` with `reason: 'modified'`. Legacy snapshots
|
|
148
149
|
* captured before fingerprints were stored fail open (applied).
|
|
149
150
|
*
|
|
150
151
|
*/
|
|
151
152
|
preserve_modified?: boolean;
|
|
152
|
-
/**
|
|
153
|
-
* Deprecated. Accepted for back-compat but treated as a no-op.
|
|
154
|
-
* Co-ownership is now expressed via `exclude_target_ids` — the caller
|
|
155
|
-
* (typically blueprint-manifest-api) computes which targets to skip
|
|
156
|
-
* from its own data and passes the list. snapshot-api no longer
|
|
157
|
-
* reaches into BMA's lineage table.
|
|
158
|
-
*
|
|
159
|
-
*/
|
|
160
|
-
preserve_co_owned?: boolean;
|
|
161
153
|
/**
|
|
162
154
|
* Target ids the caller has decided not to restore. snapshot-api
|
|
163
|
-
* applies the manifest minus these ids
|
|
164
|
-
* `Operation.skipped`
|
|
165
|
-
*
|
|
166
|
-
* honor multi-blueprint ownership).
|
|
155
|
+
* applies the manifest minus these ids. Drops are silent — not
|
|
156
|
+
* echoed in `Operation.skipped` — because the caller supplied the
|
|
157
|
+
* list and already knows.
|
|
167
158
|
*
|
|
168
159
|
*/
|
|
169
160
|
exclude_target_ids?: string[];
|
|
@@ -173,16 +164,15 @@ declare namespace Components {
|
|
|
173
164
|
status: "restoring";
|
|
174
165
|
}
|
|
175
166
|
export interface SkippedResource {
|
|
176
|
-
|
|
167
|
+
target_id: string;
|
|
177
168
|
/**
|
|
178
|
-
* - `modified` —
|
|
179
|
-
* from the
|
|
180
|
-
*
|
|
181
|
-
* `
|
|
182
|
-
* another blueprint instance's contribution.
|
|
169
|
+
* - `modified` — live destination payload's content fingerprint
|
|
170
|
+
* differs from the capture-time fingerprint stored on the
|
|
171
|
+
* manifest entry. Only set when the restore was requested with
|
|
172
|
+
* `preserve_modified: true`.
|
|
183
173
|
*
|
|
184
174
|
*/
|
|
185
|
-
reason: "modified"
|
|
175
|
+
reason: "modified";
|
|
186
176
|
}
|
|
187
177
|
export interface Snapshot {
|
|
188
178
|
id: string;
|
|
@@ -410,9 +400,9 @@ declare namespace Paths {
|
|
|
410
400
|
}
|
|
411
401
|
namespace RestoreSnapshot {
|
|
412
402
|
export type RequestBody = /**
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
403
|
+
* Apply a captured snapshot to its source org. All filters default to the
|
|
404
|
+
* open setting (apply everything), which keeps Config Hub's manual-restore
|
|
405
|
+
* semantics unchanged.
|
|
416
406
|
*
|
|
417
407
|
*/
|
|
418
408
|
Components.Schemas.RestoreSnapshotRequest;
|
|
@@ -109,18 +109,19 @@ declare namespace Components {
|
|
|
109
109
|
started_at: string; // date-time
|
|
110
110
|
completed_at?: string; // date-time
|
|
111
111
|
/**
|
|
112
|
-
* `partial` indicates the operation completed but
|
|
113
|
-
*
|
|
114
|
-
*
|
|
112
|
+
* `partial` indicates the operation completed but snapshot-api
|
|
113
|
+
* skipped at least one captured resource via its own drift check
|
|
114
|
+
* (see `skipped`).
|
|
115
115
|
*
|
|
116
116
|
*/
|
|
117
117
|
status: "in_progress" | "completed" | "partial" | "failed";
|
|
118
118
|
error?: string;
|
|
119
119
|
triggered_by: CallerIdentity;
|
|
120
120
|
/**
|
|
121
|
-
*
|
|
122
|
-
*
|
|
123
|
-
*
|
|
121
|
+
* Captured resources snapshot-api elected to skip — currently
|
|
122
|
+
* only drift detections (`preserve_modified: true`). Caller-
|
|
123
|
+
* supplied `exclude_target_ids` skips are NOT echoed here; the
|
|
124
|
+
* caller built the list, the caller knows.
|
|
124
125
|
*
|
|
125
126
|
*/
|
|
126
127
|
skipped?: SkippedResource[];
|
|
@@ -133,37 +134,27 @@ declare namespace Components {
|
|
|
133
134
|
id: string;
|
|
134
135
|
}
|
|
135
136
|
/**
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
137
|
+
* Apply a captured snapshot to its source org. All filters default to the
|
|
138
|
+
* open setting (apply everything), which keeps Config Hub's manual-restore
|
|
139
|
+
* semantics unchanged.
|
|
139
140
|
*
|
|
140
141
|
*/
|
|
141
142
|
export interface RestoreSnapshotRequest {
|
|
142
143
|
/**
|
|
143
144
|
* When `true`, skip captured resources whose live payload's content
|
|
144
145
|
* fingerprint diverges from the capture-time fingerprint stored on
|
|
145
|
-
* the manifest entry.
|
|
146
|
-
*
|
|
146
|
+
* the manifest entry. snapshot-api fetches the live payload and
|
|
147
|
+
* hashes it itself; no cross-service lookup. Surfaces under
|
|
147
148
|
* `Operation.skipped` with `reason: 'modified'`. Legacy snapshots
|
|
148
149
|
* captured before fingerprints were stored fail open (applied).
|
|
149
150
|
*
|
|
150
151
|
*/
|
|
151
152
|
preserve_modified?: boolean;
|
|
152
|
-
/**
|
|
153
|
-
* Deprecated. Accepted for back-compat but treated as a no-op.
|
|
154
|
-
* Co-ownership is now expressed via `exclude_target_ids` — the caller
|
|
155
|
-
* (typically blueprint-manifest-api) computes which targets to skip
|
|
156
|
-
* from its own data and passes the list. snapshot-api no longer
|
|
157
|
-
* reaches into BMA's lineage table.
|
|
158
|
-
*
|
|
159
|
-
*/
|
|
160
|
-
preserve_co_owned?: boolean;
|
|
161
153
|
/**
|
|
162
154
|
* Target ids the caller has decided not to restore. snapshot-api
|
|
163
|
-
* applies the manifest minus these ids
|
|
164
|
-
* `Operation.skipped`
|
|
165
|
-
*
|
|
166
|
-
* honor multi-blueprint ownership).
|
|
155
|
+
* applies the manifest minus these ids. Drops are silent — not
|
|
156
|
+
* echoed in `Operation.skipped` — because the caller supplied the
|
|
157
|
+
* list and already knows.
|
|
167
158
|
*
|
|
168
159
|
*/
|
|
169
160
|
exclude_target_ids?: string[];
|
|
@@ -173,16 +164,15 @@ declare namespace Components {
|
|
|
173
164
|
status: "restoring";
|
|
174
165
|
}
|
|
175
166
|
export interface SkippedResource {
|
|
176
|
-
|
|
167
|
+
target_id: string;
|
|
177
168
|
/**
|
|
178
|
-
* - `modified` —
|
|
179
|
-
* from the
|
|
180
|
-
*
|
|
181
|
-
* `
|
|
182
|
-
* another blueprint instance's contribution.
|
|
169
|
+
* - `modified` — live destination payload's content fingerprint
|
|
170
|
+
* differs from the capture-time fingerprint stored on the
|
|
171
|
+
* manifest entry. Only set when the restore was requested with
|
|
172
|
+
* `preserve_modified: true`.
|
|
183
173
|
*
|
|
184
174
|
*/
|
|
185
|
-
reason: "modified"
|
|
175
|
+
reason: "modified";
|
|
186
176
|
}
|
|
187
177
|
export interface Snapshot {
|
|
188
178
|
id: string;
|
|
@@ -410,9 +400,9 @@ declare namespace Paths {
|
|
|
410
400
|
}
|
|
411
401
|
namespace RestoreSnapshot {
|
|
412
402
|
export type RequestBody = /**
|
|
413
|
-
*
|
|
414
|
-
*
|
|
415
|
-
*
|
|
403
|
+
* Apply a captured snapshot to its source org. All filters default to the
|
|
404
|
+
* open setting (apply everything), which keeps Config Hub's manual-restore
|
|
405
|
+
* semantics unchanged.
|
|
416
406
|
*
|
|
417
407
|
*/
|
|
418
408
|
Components.Schemas.RestoreSnapshotRequest;
|
package/docs/snapshot.md
CHANGED
|
@@ -124,7 +124,7 @@ const { data } = await client.listSnapshots({
|
|
|
124
124
|
},
|
|
125
125
|
"skipped": [
|
|
126
126
|
{
|
|
127
|
-
"
|
|
127
|
+
"target_id": "string",
|
|
128
128
|
"reason": "modified"
|
|
129
129
|
}
|
|
130
130
|
]
|
|
@@ -143,7 +143,7 @@ const { data } = await client.listSnapshots({
|
|
|
143
143
|
},
|
|
144
144
|
"skipped": [
|
|
145
145
|
{
|
|
146
|
-
"
|
|
146
|
+
"target_id": "string",
|
|
147
147
|
"reason": "modified"
|
|
148
148
|
}
|
|
149
149
|
]
|
|
@@ -228,7 +228,7 @@ const { data } = await client.getSnapshot({
|
|
|
228
228
|
},
|
|
229
229
|
"skipped": [
|
|
230
230
|
{
|
|
231
|
-
"
|
|
231
|
+
"target_id": "string",
|
|
232
232
|
"reason": "modified"
|
|
233
233
|
}
|
|
234
234
|
]
|
|
@@ -247,7 +247,7 @@ const { data } = await client.getSnapshot({
|
|
|
247
247
|
},
|
|
248
248
|
"skipped": [
|
|
249
249
|
{
|
|
250
|
-
"
|
|
250
|
+
"target_id": "string",
|
|
251
251
|
"reason": "modified"
|
|
252
252
|
}
|
|
253
253
|
]
|
|
@@ -298,7 +298,6 @@ const { data } = await client.restoreSnapshot(
|
|
|
298
298
|
},
|
|
299
299
|
{
|
|
300
300
|
preserve_modified: false,
|
|
301
|
-
preserve_co_owned: false,
|
|
302
301
|
exclude_target_ids: ['string']
|
|
303
302
|
},
|
|
304
303
|
)
|
|
@@ -538,15 +537,14 @@ type CreateSnapshotResponse = {
|
|
|
538
537
|
|
|
539
538
|
### `RestoreSnapshotRequest`
|
|
540
539
|
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
540
|
+
Apply a captured snapshot to its source org. All filters default to the
|
|
541
|
+
open setting (apply everything), which keeps Config Hub's manual-restore
|
|
542
|
+
semantics unchanged.
|
|
544
543
|
|
|
545
544
|
|
|
546
545
|
```ts
|
|
547
546
|
type RestoreSnapshotRequest = {
|
|
548
547
|
preserve_modified?: boolean
|
|
549
|
-
preserve_co_owned?: boolean
|
|
550
548
|
exclude_target_ids?: string[]
|
|
551
549
|
}
|
|
552
550
|
```
|
|
@@ -583,7 +581,7 @@ type Snapshot = {
|
|
|
583
581
|
token_id?: { ... }
|
|
584
582
|
}
|
|
585
583
|
skipped?: Array<{
|
|
586
|
-
|
|
584
|
+
target_id: { ... }
|
|
587
585
|
reason: { ... }
|
|
588
586
|
}>
|
|
589
587
|
}
|
|
@@ -599,7 +597,7 @@ type Snapshot = {
|
|
|
599
597
|
token_id?: { ... }
|
|
600
598
|
}
|
|
601
599
|
skipped?: Array<{
|
|
602
|
-
|
|
600
|
+
target_id: { ... }
|
|
603
601
|
reason: { ... }
|
|
604
602
|
}>
|
|
605
603
|
}>
|
|
@@ -630,8 +628,8 @@ type Operation = {
|
|
|
630
628
|
token_id?: string
|
|
631
629
|
}
|
|
632
630
|
skipped?: Array<{
|
|
633
|
-
|
|
634
|
-
reason: "modified"
|
|
631
|
+
target_id: string
|
|
632
|
+
reason: "modified"
|
|
635
633
|
}>
|
|
636
634
|
}
|
|
637
635
|
```
|
|
@@ -640,8 +638,8 @@ type Operation = {
|
|
|
640
638
|
|
|
641
639
|
```ts
|
|
642
640
|
type SkippedResource = {
|
|
643
|
-
|
|
644
|
-
reason: "modified"
|
|
641
|
+
target_id: string
|
|
642
|
+
reason: "modified"
|
|
645
643
|
}
|
|
646
644
|
```
|
|
647
645
|
|
package/package.json
CHANGED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import "./chunk-YPSWSI3M.js";
|
|
2
|
-
|
|
3
|
-
// src/docs/snapshot.json
|
|
4
|
-
var snapshot_default = '# Snapshot API\n\n- **Base URL:** `https://snapshot.sls.epilot.io`\n- **Full API Docs:** [https://docs.epilot.io/api/snapshot](https://docs.epilot.io/api/snapshot)\n\n## Usage\n\n```ts\nimport { epilot } from \'@epilot/sdk\'\n\nepilot.authorize(() => \'<token>\')\nconst { data } = await epilot.snapshot.createSnapshot(...)\n```\n\n### Tree-shakeable import\n\n```ts\nimport { getClient, authorize } from \'@epilot/sdk/snapshot\'\n\nconst snapshotClient = getClient()\nauthorize(snapshotClient, () => \'<token>\')\nconst { data } = await snapshotClient.createSnapshot(...)\n```\n\n## Operations\n\n**Snapshots**\n- [`createSnapshot`](#createsnapshot)\n- [`listSnapshots`](#listsnapshots)\n- [`captureOrgSnapshot`](#captureorgsnapshot)\n- [`getSnapshot`](#getsnapshot)\n- [`deleteSnapshot`](#deletesnapshot)\n- [`restoreSnapshot`](#restoresnapshot)\n- [`listSnapshotResources`](#listsnapshotresources)\n- [`getSnapshotResource`](#getsnapshotresource)\n- [`listDependencies`](#listdependencies)\n\n**Schemas**\n- [`Error`](#error)\n- [`EmptyInventoryError`](#emptyinventoryerror)\n- [`ResourceRef`](#resourceref)\n- [`SnapshotResourceSummary`](#snapshotresourcesummary)\n- [`SnapshotResourceList`](#snapshotresourcelist)\n- [`SnapshotResourceDetail`](#snapshotresourcedetail)\n- [`CreateSnapshotRequest`](#createsnapshotrequest)\n- [`CreateOrgSnapshotRequest`](#createorgsnapshotrequest)\n- [`CreateSnapshotResponse`](#createsnapshotresponse)\n- [`RestoreSnapshotRequest`](#restoresnapshotrequest)\n- [`RestoreSnapshotResponse`](#restoresnapshotresponse)\n- [`Snapshot`](#snapshot)\n- [`Operation`](#operation)\n- [`SkippedResource`](#skippedresource)\n- [`CallerIdentity`](#calleridentity)\n\n### `createSnapshot`\n\nCreate a new snapshot of the given resources. Async \u2014 returns immediately\nwith a snapshot ID; client polls `getSnapshot` until `create.status`\nmoves from `in_progress` to `completed` or `failed`.\n\n`POST /v1/snapshots`\n\n```ts\nconst { data } = await client.createSnapshot(\n null,\n {\n name: \'string\',\n description: \'string\',\n trigger: \'manual\',\n blueprint_instance_id: \'string\',\n resources: [\n {\n type: \'string\',\n id: \'string\'\n }\n ]\n },\n)\n```\n\n---\n\n### `listSnapshots`\n\nList snapshots for the caller\'s organization, newest first.\n\n`GET /v1/snapshots`\n\n```ts\nconst { data } = await client.listSnapshots({\n cursor: \'example\',\n size: 1,\n resource: [\'...\'],\n trigger: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "page_size": 0,\n "cursor": "string",\n "results": [\n {\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": "manual",\n "blueprint_instance_id": "string",\n "resource_counts": {},\n "create": {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "lineage_id": "string",\n "reason": "modified"\n }\n ]\n },\n "restores": [\n {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "lineage_id": "string",\n "reason": "modified"\n }\n ]\n }\n ],\n "matched_count": 0,\n "scope": "selection",\n "expires_at": "1970-01-01T00:00:00.000Z",\n "capture_summary": {\n "total": 0,\n "captured": 0,\n "skipped": 0,\n "failed": 0\n }\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `captureOrgSnapshot`\n\nSnapshot the caller\'s whole organization now. Fetches a fresh inventory\nof the org\'s configuration resources from configuration-hub-api, persists\nit as an inventory artifact, and starts a `scope: "org\n\n`POST /v1/snapshots:capture-org`\n\n```ts\nconst { data } = await client.captureOrgSnapshot(\n null,\n {\n name: \'string\',\n retention: {\n value: 1,\n unit: \'days\'\n },\n excluded_types: [\'string\']\n },\n)\n```\n\n---\n\n### `getSnapshot`\n\nFetch a snapshot\'s metadata. Poll this endpoint to track create/restore progress.\n\n`GET /v1/snapshots/{id}`\n\n```ts\nconst { data } = await client.getSnapshot({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "id": "string",\n "org_id": "string",\n "name": "string",\n "description": "string",\n "trigger": "manual",\n "blueprint_instance_id": "string",\n "resource_counts": {},\n "create": {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "lineage_id": "string",\n "reason": "modified"\n }\n ]\n },\n "restores": [\n {\n "type": "create",\n "started_at": "1970-01-01T00:00:00.000Z",\n "completed_at": "1970-01-01T00:00:00.000Z",\n "status": "in_progress",\n "error": "string",\n "triggered_by": {\n "name": "string",\n "user_id": "string",\n "token_id": "string"\n },\n "skipped": [\n {\n "lineage_id": "string",\n "reason": "modified"\n }\n ]\n }\n ],\n "matched_count": 0,\n "scope": "selection",\n "expires_at": "1970-01-01T00:00:00.000Z",\n "capture_summary": {\n "total": 0,\n "captured": 0,\n "skipped": 0,\n "failed": 0\n }\n}\n```\n\n</details>\n\n---\n\n### `deleteSnapshot`\n\nDelete a snapshot\'s metadata and S3 manifest.\n\n`DELETE /v1/snapshots/{id}`\n\n```ts\nconst { data } = await client.deleteSnapshot({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n---\n\n### `restoreSnapshot`\n\nRestore a snapshot to the org. Async \u2014 returns immediately; client polls\n`getSnapshot` until the latest entry in `restores` moves from\n`in_progress` to one of `completed | partial | failed`.\n\n`POST /v1/snapshots/{id}:restore`\n\n```ts\nconst { data } = await client.restoreSnapshot(\n {\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n },\n {\n preserve_modified: false,\n preserve_co_owned: false,\n exclude_target_ids: [\'string\']\n },\n)\n```\n\n---\n\n### `listSnapshotResources`\n\nList the resources captured in this snapshot. Returns lightweight\nidentity fields per resource \u2014 payloads are fetched via the\nsingle-resource endpoint when needed.\n\n`GET /v1/snapshots/{id}/resources`\n\n```ts\nconst { data } = await client.listSnapshotResources({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "resources": [\n {\n "lineage_id": "string",\n "target_id": "string",\n "type": "string",\n "name": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n### `getSnapshotResource`\n\nFetch one captured resource with its full payload. For UI views\nthat diff the captured state against the current destination.\n\n`GET /v1/snapshots/{id}/resources/{lineage_id}`\n\n```ts\nconst { data } = await client.getSnapshotResource({\n id: \'123e4567-e89b-12d3-a456-426614174000\',\n lineage_id: \'example\',\n})\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "lineage_id": "string",\n "target_id": "string",\n "type": "string",\n "name": "string",\n "captured": {}\n}\n```\n\n</details>\n\n---\n\n### `listDependencies`\n\nWalk the dependency tree for a set of resources and return the full\ntransitive closure, topologically sorted.\n\n`POST /v1/snapshots:list-dependencies`\n\n```ts\nconst { data } = await client.listDependencies(\n null,\n {\n resources: [\n {\n type: \'string\',\n id: \'string\'\n }\n ]\n },\n)\n```\n\n<details>\n<summary>Response</summary>\n\n```json\n{\n "dependencies": [\n {\n "type": "string",\n "id": "string"\n }\n ]\n}\n```\n\n</details>\n\n---\n\n## Schemas\n\n### `Error`\n\n```ts\ntype Error = {\n status: number\n error: string\n}\n```\n\n### `EmptyInventoryError`\n\nReturned (422) when the org inventory contains no capturable resources\nafter filtering out sensitive, unsupported, and excluded types. The\n`skipped_types` array explains why every type was dropped.\n\n\n```ts\ntype EmptyInventoryError = {\n message: string\n skipped_types: Array<{\n type: string\n reason: string\n }>\n}\n```\n\n### `ResourceRef`\n\n```ts\ntype ResourceRef = {\n type: string\n id: string\n}\n```\n\n### `SnapshotResourceSummary`\n\nLightweight identity for a captured resource. Returned by\n`listSnapshotResources`; the full payload is fetched separately via\n`getSnapshotResource` when needed.\n\n\n```ts\ntype SnapshotResourceSummary = {\n lineage_id: string\n target_id: string\n type: string\n name?: string\n}\n```\n\n### `SnapshotResourceList`\n\n```ts\ntype SnapshotResourceList = {\n resources: Array<{\n lineage_id: string\n target_id: string\n type: string\n name?: string\n }>\n}\n```\n\n### `SnapshotResourceDetail`\n\nA single captured resource with its full payload. The identity fields\nmatch `SnapshotResourceSummary`; the `captured` payload is the\npre-install state at snapshot time.\n\n\n```ts\ntype SnapshotResourceDetail = {\n lineage_id: string\n target_id: string\n type: string\n name?: string\n captured: Record<string, unknown>\n}\n```\n\n### `CreateSnapshotRequest`\n\n```ts\ntype CreateSnapshotRequest = {\n name: string\n description?: string\n trigger?: "manual" | "sync" | "blueprint_install" | "scheduled"\n blueprint_instance_id?: string\n resources: Array<{\n type: string\n id: string\n }>\n}\n```\n\n### `CreateOrgSnapshotRequest`\n\nRequest body for `captureOrgSnapshot`. All fields optional \u2014 an empty body\nsnapshots the whole org with a default name and the 90-day default TTL.\n\n\n```ts\ntype CreateOrgSnapshotRequest = {\n name?: string\n retention?: {\n value: number\n unit: "days" | "weeks" | "months"\n }\n excluded_types?: string[]\n}\n```\n\n### `CreateSnapshotResponse`\n\n```ts\ntype CreateSnapshotResponse = {\n id: string\n name: string\n status: "creating"\n created_at: string // date-time\n}\n```\n\n### `RestoreSnapshotRequest`\n\nSkipped resources surface under `Operation.skipped`. All filters default\nto the open setting (apply everything), which keeps Config Hub\'s manual-\nrestore semantics unchanged.\n\n\n```ts\ntype RestoreSnapshotRequest = {\n preserve_modified?: boolean\n preserve_co_owned?: boolean\n exclude_target_ids?: string[]\n}\n```\n\n### `RestoreSnapshotResponse`\n\n```ts\ntype RestoreSnapshotResponse = {\n id: string\n status: "restoring"\n}\n```\n\n### `Snapshot`\n\n```ts\ntype Snapshot = {\n id: string\n org_id: string\n name: string\n description?: string\n trigger: "manual" | "sync" | "blueprint_install" | "scheduled"\n blueprint_instance_id?: string\n resource_counts: Record<string, number>\n create: {\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: { ... }\n user_id?: { ... }\n token_id?: { ... }\n }\n skipped?: Array<{\n lineage_id: { ... }\n reason: { ... }\n }>\n }\n restores: Array<{\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: { ... }\n user_id?: { ... }\n token_id?: { ... }\n }\n skipped?: Array<{\n lineage_id: { ... }\n reason: { ... }\n }>\n }>\n matched_count?: number\n scope?: "selection" | "org"\n expires_at?: string // date-time\n capture_summary?: {\n total: number\n captured: number\n skipped: number\n failed: number\n }\n}\n```\n\n### `Operation`\n\n```ts\ntype Operation = {\n type: "create" | "restore"\n started_at: string // date-time\n completed_at?: string // date-time\n status: "in_progress" | "completed" | "partial" | "failed"\n error?: string\n triggered_by: {\n name: string\n user_id?: string\n token_id?: string\n }\n skipped?: Array<{\n lineage_id: string\n reason: "modified" | "co_owned"\n }>\n}\n```\n\n### `SkippedResource`\n\n```ts\ntype SkippedResource = {\n lineage_id: string\n reason: "modified" | "co_owned"\n}\n```\n\n### `CallerIdentity`\n\n```ts\ntype CallerIdentity = {\n name: string\n user_id?: string\n token_id?: string\n}\n```\n';
|
|
5
|
-
export {
|
|
6
|
-
snapshot_default as default
|
|
7
|
-
};
|