@epilot/cli 0.1.52 → 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.52 — 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]
@@ -103,6 +103,20 @@
103
103
  "pattern": "^[^:]+:.+$"
104
104
  }
105
105
  }
106
+ },
107
+ {
108
+ "in": "query",
109
+ "name": "trigger",
110
+ "description": "Filter to snapshots with a specific trigger. Uses the `byTrigger` GSI\nfor an efficient indexed query — no table scan. Only snapshots created\nafter the GSI was added carry this index entry; pre-existing rows will\nnot appear in trigger-filtered results.\n",
111
+ "schema": {
112
+ "type": "string",
113
+ "enum": [
114
+ "manual",
115
+ "sync",
116
+ "blueprint_install",
117
+ "scheduled"
118
+ ]
119
+ }
106
120
  }
107
121
  ],
108
122
  "responses": {
@@ -562,7 +576,8 @@
562
576
  "properties": {
563
577
  "lineage_id": {
564
578
  "type": "string",
565
- "description": "Cross-service correlation key — matches the lineage row id in\nblueprint-manifest-api's lineage table for `blueprint_install`\nsnapshots. Same as `target_id` for snapshots whose capture\ndoesn't distinguish source vs destination identifiers.\n"
579
+ "deprecated": true,
580
+ "description": "Deprecated alias of `target_id`. Always equals `target_id` (the\nimplementation never distinguished them). Use `target_id`.\n"
566
581
  },
567
582
  "target_id": {
568
583
  "type": "string",
@@ -727,17 +742,19 @@
727
742
  },
728
743
  "RestoreSnapshotRequest": {
729
744
  "type": "object",
730
- "description": "Both flags default to `false`, which restores every captured resource —\nConfig Hub's manual-restore semantics. blueprint-manifest-api sets\nboth `true` when reverting a blueprint install so user edits and\ncross-blueprint contributions survive. Each flag is independent so a\ncaller can preserve edits without preserving co-ownership (or vice\nversa). Skipped resources surface under `Operation.skipped`.\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",
731
746
  "properties": {
732
747
  "preserve_modified": {
733
748
  "type": "boolean",
734
749
  "default": false,
735
- "description": "When `true`, skip captured resources whose live destination payload\nhas diverged from the install-time fingerprint stored on lineage.\nSurfaces under `Operation.skipped` with `reason: 'modified'`.\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"
736
751
  },
737
- "preserve_co_owned": {
738
- "type": "boolean",
739
- "default": false,
740
- "description": "When `true`, skip captured resources whose lineage row carries\nanother blueprint instance's id (co-ownership ≥2). Surfaces under\n`Operation.skipped` with `reason: 'co_owned'`.\n"
752
+ "exclude_target_ids": {
753
+ "type": "array",
754
+ "items": {
755
+ "type": "string"
756
+ },
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"
741
758
  }
742
759
  }
743
760
  },
@@ -891,7 +908,7 @@
891
908
  "partial",
892
909
  "failed"
893
910
  ],
894
- "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"
895
912
  },
896
913
  "error": {
897
914
  "type": "string"
@@ -901,7 +918,7 @@
901
918
  },
902
919
  "skipped": {
903
920
  "type": "array",
904
- "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",
905
922
  "items": {
906
923
  "$ref": "#/components/schemas/SkippedResource"
907
924
  }
@@ -911,20 +928,19 @@
911
928
  "SkippedResource": {
912
929
  "type": "object",
913
930
  "required": [
914
- "lineage_id",
931
+ "target_id",
915
932
  "reason"
916
933
  ],
917
934
  "properties": {
918
- "lineage_id": {
935
+ "target_id": {
919
936
  "type": "string"
920
937
  },
921
938
  "reason": {
922
939
  "type": "string",
923
940
  "enum": [
924
- "modified",
925
- "co_owned"
941
+ "modified"
926
942
  ],
927
- "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"
928
944
  }
929
945
  }
930
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.52",
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-2IHZJYAW.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.52" : (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.52";
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.52",
3
+ "version": "0.1.54",
4
4
  "description": "CLI for epilot APIs",
5
5
  "type": "module",
6
6
  "bin": {