@epilot/cli 0.1.53 → 0.1.54

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/README.md CHANGED
@@ -29,7 +29,7 @@ npm install -g @epilot/cli
29
29
 
30
30
  <!-- usage-help -->
31
31
  ```
32
- epilot v0.1.53 — CLI for epilot APIs
32
+ epilot v0.1.54 — CLI for epilot APIs
33
33
 
34
34
  USAGE
35
35
  epilot <api> <operationId> [params...] [flags]
@@ -742,25 +742,19 @@
742
742
  },
743
743
  "RestoreSnapshotRequest": {
744
744
  "type": "object",
745
- "description": "Skipped resources surface under `Operation.skipped`. All filters default\nto the open setting (apply everything), which keeps Config Hub's manual-\nrestore semantics unchanged.\n",
745
+ "description": "Apply 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",
746
746
  "properties": {
747
747
  "preserve_modified": {
748
748
  "type": "boolean",
749
749
  "default": false,
750
- "description": "When `true`, skip captured resources whose live payload's content\nfingerprint diverges from the capture-time fingerprint stored on\nthe manifest entry. Self-contained: snapshot-api fetches and hashes\nthe live payload itself; no cross-service lookup. Surfaces under\n`Operation.skipped` with `reason: 'modified'`. Legacy snapshots\ncaptured before fingerprints were stored fail open (applied).\n"
751
- },
752
- "preserve_co_owned": {
753
- "type": "boolean",
754
- "default": false,
755
- "deprecated": true,
756
- "description": "Deprecated. Accepted for back-compat but treated as a no-op.\nCo-ownership is now expressed via `exclude_target_ids` — the caller\n(typically blueprint-manifest-api) computes which targets to skip\nfrom its own data and passes the list. snapshot-api no longer\nreaches into BMA's lineage table.\n"
750
+ "description": "When `true`, skip captured resources whose live payload's content\nfingerprint diverges from the capture-time fingerprint stored on\nthe manifest entry. snapshot-api fetches the live payload and\nhashes it itself; no cross-service lookup. Surfaces under\n`Operation.skipped` with `reason: 'modified'`. Legacy snapshots\ncaptured before fingerprints were stored fail open (applied).\n"
757
751
  },
758
752
  "exclude_target_ids": {
759
753
  "type": "array",
760
754
  "items": {
761
755
  "type": "string"
762
756
  },
763
- "description": "Target ids the caller has decided not to restore. snapshot-api\napplies the manifest minus these ids and reports them under\n`Operation.skipped` with `reason: 'co_owned'` (the only current\nproducer of exclude lists is BMA's revert flow, which uses this to\nhonor multi-blueprint ownership).\n"
757
+ "description": "Target ids the caller has decided not to restore. snapshot-api\napplies the manifest minus these ids. Drops are silent — not\nechoed in `Operation.skipped` because the caller supplied the\nlist and already knows.\n"
764
758
  }
765
759
  }
766
760
  },
@@ -914,7 +908,7 @@
914
908
  "partial",
915
909
  "failed"
916
910
  ],
917
- "description": "`partial` indicates the operation completed but skipped at least\none resource see `skipped`. Only populated by restores triggered\nwith `mode: 'preserve_edits'`.\n"
911
+ "description": "`partial` indicates the operation completed but snapshot-api\nskipped at least one captured resource via its own drift check\n(see `skipped`).\n"
918
912
  },
919
913
  "error": {
920
914
  "type": "string"
@@ -924,7 +918,7 @@
924
918
  },
925
919
  "skipped": {
926
920
  "type": "array",
927
- "description": "Per-resource skips, populated only for restores triggered with\n`mode: 'preserve_edits'`. Empty / absent for Config Hub's\ndefault overwrite-mode restores.\n",
921
+ "description": "Captured resources snapshot-api elected to skip currently\nonly drift detections (`preserve_modified: true`). Caller-\nsupplied `exclude_target_ids` skips are NOT echoed here; the\ncaller built the list, the caller knows.\n",
928
922
  "items": {
929
923
  "$ref": "#/components/schemas/SkippedResource"
930
924
  }
@@ -934,20 +928,19 @@
934
928
  "SkippedResource": {
935
929
  "type": "object",
936
930
  "required": [
937
- "lineage_id",
931
+ "target_id",
938
932
  "reason"
939
933
  ],
940
934
  "properties": {
941
- "lineage_id": {
935
+ "target_id": {
942
936
  "type": "string"
943
937
  },
944
938
  "reason": {
945
939
  "type": "string",
946
940
  "enum": [
947
- "modified",
948
- "co_owned"
941
+ "modified"
949
942
  ],
950
- "description": "- `modified` — current destination payload's fingerprint differs\n from the install-time fingerprint on the lineage row.\n- `co_owned` lineage row has ≥2 distinct\n `blueprint_instance_ids`; restoring would unilaterally affect\n another blueprint instance's contribution.\n"
943
+ "description": "- `modified` — live destination payload's content fingerprint\n differs from the capture-time fingerprint stored on the\n manifest entry. Only set when the restore was requested with\n `preserve_modified: true`.\n"
951
944
  }
952
945
  }
953
946
  },
@@ -11,7 +11,7 @@ import { defineCommand } from "citty";
11
11
  var main = defineCommand({
12
12
  meta: {
13
13
  name: "epilot",
14
- version: "0.1.53",
14
+ version: "0.1.54",
15
15
  description: "CLI for epilot APIs"
16
16
  },
17
17
  args: {
@@ -31,7 +31,7 @@ var main = defineCommand({
31
31
  profile: () => import("../profile-OZJL5ZPT.js").then((m) => m.default),
32
32
  config: () => import("../config-DGZIMLZK.js").then((m) => m.default),
33
33
  completion: () => import("../completion-4HOIJNFX.js").then((m) => m.default),
34
- upgrade: () => import("../upgrade-EOOFF7TP.js").then((m) => m.default),
34
+ upgrade: () => import("../upgrade-BUHUA47K.js").then((m) => m.default),
35
35
  "access-token": () => import("../access-token-WWE6BDJH.js").then((m) => m.default),
36
36
  address: () => import("../address-EH3C4CVB.js").then((m) => m.default),
37
37
  "address-suggestions": () => import("../address-suggestions-RRSLOBFW.js").then((m) => m.default),
@@ -134,7 +134,7 @@ process.stderr.on("error", (err) => {
134
134
  if (err.code === "EPIPE") process.exit(0);
135
135
  throw err;
136
136
  });
137
- var VERSION = true ? "0.1.53" : (await null).default.version;
137
+ var VERSION = true ? "0.1.54" : (await null).default.version;
138
138
  var reorderedArgv = hoistFlagsAfterSubcommand(process.argv.slice(2));
139
139
  process.argv = [process.argv[0], process.argv[1], ...reorderedArgv];
140
140
  var args = process.argv.slice(2);
@@ -72,7 +72,7 @@ ${GREEN}${BOLD}Upgraded to @epilot/cli@${latest}${RESET}
72
72
  }
73
73
  });
74
74
  var getCurrentVersion = () => {
75
- if (true) return "0.1.53";
75
+ if (true) return "0.1.54";
76
76
  try {
77
77
  const output = execSync("npm ls -g @epilot/cli --depth=0 --json 2>/dev/null", {
78
78
  encoding: "utf-8",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@epilot/cli",
3
- "version": "0.1.53",
3
+ "version": "0.1.54",
4
4
  "description": "CLI for epilot APIs",
5
5
  "type": "module",
6
6
  "bin": {