omni-dsh-plugins 1.0.0 → 1.0.1

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.
Files changed (3) hide show
  1. package/README.md +5 -4
  2. package/dist/bin.js +10 -19
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -21,9 +21,10 @@ never ships here.
21
21
 
22
22
  - Node.js 20 or newer.
23
23
  - The official `dsh` executable on `PATH` for add, update and remove operations.
24
- - A public catalog snapshot for discovery. Version `1.0.0` defaults to catalog revision
25
- `f01d1d2d22b80222c121db6dfc0fd4035c24b390` (160 entries); `--revision` overrides it and stays
26
- the trust anchor, because a fetched snapshot whose declared revision differs is rejected.
24
+ - Network access for discovery. With no `--catalog`, the CLI reads the snapshot published at
25
+ <https://dsh-plugins.omniroute.online/catalog.snapshot.json> and accepts the revision that
26
+ snapshot declares, so a plugin merged today is findable today. Passing `--revision` turns the
27
+ fetch into an exact-commit demand and rejects any snapshot declaring a different one.
27
28
 
28
29
  ## Discover and validate
29
30
 
@@ -72,7 +73,7 @@ npx omni-dsh-plugins remove example-plugin \
72
73
  --allow-code-execution
73
74
  ```
74
75
 
75
- Native Windows policy for v1.0.0: code-executing `add`, `update`, and `remove` are disabled
76
+ Native Windows policy for v1.0.1: code-executing `add`, `update`, and `remove` are disabled
76
77
  before any profile, state, cache, or subprocess access because complete descendant containment
77
78
  cannot be proven. Use WSL for mutations. `--dry-run` and the read-only catalog, `search`, `info`,
78
79
  `list`, and `doctor` commands remain available. A native Windows recovery marker is never
package/dist/bin.js CHANGED
@@ -23869,7 +23869,7 @@ async function readLocalSnapshot(path) {
23869
23869
  }
23870
23870
  }
23871
23871
  function validatePublicSnapshotUrl(rawUrl, revision) {
23872
- assertRevision(revision);
23872
+ if (revision !== void 0) assertRevision(revision);
23873
23873
  if (rawUrl.includes("\\") || rawUrl.includes("%")) {
23874
23874
  throw safety("catalog snapshot URL is outside the public allowlist");
23875
23875
  }
@@ -23879,7 +23879,7 @@ function validatePublicSnapshotUrl(rawUrl, revision) {
23879
23879
  } catch {
23880
23880
  throw safety("catalog snapshot URL is invalid");
23881
23881
  }
23882
- const expected = `${PUBLIC_CATALOG_RAW_ORIGIN}/${revision}/catalog.snapshot.json`;
23882
+ const expected = revision === void 0 ? PUBLIC_SNAPSHOT_SITE_URL : `${PUBLIC_CATALOG_RAW_ORIGIN}/${revision}/catalog.snapshot.json`;
23883
23883
  if (url.protocol !== "https:" || url.username !== "" || url.password !== "" || url.port !== "" || url.search !== "" || url.hash !== "" || url.href !== expected && url.href !== PUBLIC_SNAPSHOT_SITE_URL) {
23884
23884
  throw safety("catalog snapshot URL is outside the public allowlist");
23885
23885
  }
@@ -24395,24 +24395,15 @@ async function materializeCatalog(selection2, dependencies = {}) {
24395
24395
  }
24396
24396
 
24397
24397
  // src/catalogSource.ts
24398
- var DEFAULT_CATALOG_REVISION = "f01d1d2d22b80222c121db6dfc0fd4035c24b390";
24399
- var DEFAULT_EMPTY_SNAPSHOT = {
24400
- source: {
24401
- kind: "snapshot",
24402
- declaredRevision: DEFAULT_CATALOG_REVISION,
24403
- pinStatus: "declared-local"
24404
- },
24405
- entries: [],
24406
- diagnostics: []
24407
- };
24408
24398
  async function loadDefaultCatalog(selection2, dependencies = {}) {
24409
- if (selection2?.root === void 0) {
24410
- if (selection2?.revision !== void 0 && selection2.revision !== DEFAULT_CATALOG_REVISION) {
24411
- throw new CliSafetyError("default catalog revision is invalid");
24412
- }
24413
- return DEFAULT_EMPTY_SNAPSHOT;
24414
- }
24415
- const materialized = await materializeSelection(selection2, dependencies);
24399
+ const materialized = selection2?.root === void 0 ? await materializeCatalog(
24400
+ {
24401
+ kind: "snapshot-url",
24402
+ url: PUBLIC_SNAPSHOT_SITE_URL,
24403
+ ...selection2?.revision === void 0 ? {} : { revision: selection2.revision }
24404
+ },
24405
+ dependencies
24406
+ ) : await materializeSelection(selection2, dependencies);
24416
24407
  try {
24417
24408
  const loaded = materialized.kind === "snapshot" ? await loadCatalog({
24418
24409
  kind: "snapshot",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "omni-dsh-plugins",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Unofficial catalog and safe installer for DeepSeek Harness plugins",
5
5
  "type": "module",
6
6
  "license": "MIT",