@dsh-enhanced/plugin-control-plane 0.1.7 → 0.1.14

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 (67) hide show
  1. package/README.md +153 -32
  2. package/bin/dsh-local-release-adapter.js +1381 -0
  3. package/cordis.patch.yml +1 -0
  4. package/lib/approval.d.ts +13 -0
  5. package/lib/approval.d.ts.map +1 -0
  6. package/lib/approval.js +79 -0
  7. package/lib/approval.js.map +1 -0
  8. package/lib/attestation.d.ts +14 -0
  9. package/lib/attestation.d.ts.map +1 -0
  10. package/lib/attestation.js +222 -0
  11. package/lib/attestation.js.map +1 -0
  12. package/lib/catalog-interpreter.d.ts +12 -0
  13. package/lib/catalog-interpreter.d.ts.map +1 -0
  14. package/lib/catalog-interpreter.js +100 -0
  15. package/lib/catalog-interpreter.js.map +1 -0
  16. package/lib/catalog.d.ts +95 -10
  17. package/lib/catalog.d.ts.map +1 -1
  18. package/lib/catalog.js +1031 -18
  19. package/lib/catalog.js.map +1 -1
  20. package/lib/cli.d.ts +9 -0
  21. package/lib/cli.d.ts.map +1 -1
  22. package/lib/cli.js +1160 -162
  23. package/lib/cli.js.map +1 -1
  24. package/lib/host-attestor.d.ts +13 -0
  25. package/lib/host-attestor.d.ts.map +1 -0
  26. package/lib/host-attestor.js +139 -0
  27. package/lib/host-attestor.js.map +1 -0
  28. package/lib/index.d.ts +9 -0
  29. package/lib/index.d.ts.map +1 -1
  30. package/lib/index.js +9 -0
  31. package/lib/index.js.map +1 -1
  32. package/lib/lockfile.d.ts +7 -0
  33. package/lib/lockfile.d.ts.map +1 -0
  34. package/lib/lockfile.js +271 -0
  35. package/lib/lockfile.js.map +1 -0
  36. package/lib/release.d.ts +51 -0
  37. package/lib/release.d.ts.map +1 -0
  38. package/lib/release.js +1188 -0
  39. package/lib/release.js.map +1 -0
  40. package/lib/service.d.ts +9 -11
  41. package/lib/service.d.ts.map +1 -1
  42. package/lib/service.js +57 -29
  43. package/lib/service.js.map +1 -1
  44. package/lib/sqlite.d.ts +9 -0
  45. package/lib/sqlite.d.ts.map +1 -0
  46. package/lib/sqlite.js +709 -0
  47. package/lib/sqlite.js.map +1 -0
  48. package/lib/store.d.ts +258 -0
  49. package/lib/store.d.ts.map +1 -0
  50. package/lib/store.js +1848 -0
  51. package/lib/store.js.map +1 -0
  52. package/lib/tools.d.ts.map +1 -1
  53. package/lib/tools.js +23 -3
  54. package/lib/tools.js.map +1 -1
  55. package/lib/trust.d.ts +79 -0
  56. package/lib/trust.d.ts.map +1 -0
  57. package/lib/trust.js +477 -0
  58. package/lib/trust.js.map +1 -0
  59. package/lib/types.d.ts +740 -0
  60. package/lib/types.d.ts.map +1 -0
  61. package/lib/types.js +2 -0
  62. package/lib/types.js.map +1 -0
  63. package/lib/version.d.ts +1 -1
  64. package/lib/version.d.ts.map +1 -1
  65. package/lib/version.js +1 -1
  66. package/lib/version.js.map +1 -1
  67. package/package.json +2 -2
package/lib/catalog.d.ts CHANGED
@@ -1,9 +1,14 @@
1
- export interface CatalogEntry {
1
+ export interface CatalogRegistryArtifact {
2
+ /** Owner-authorized registry identity that produced this immutable object. */
3
+ id: string;
4
+ /** Canonical absolute file URL for the local immutable registry root. */
5
+ locator: string;
6
+ /** Canonical absolute file URL for this package/version tarball. */
7
+ reference: string;
8
+ }
9
+ export interface CatalogEntry extends CatalogPackage {
2
10
  id: string;
3
11
  capabilities: string[];
4
- package: string;
5
- version: string;
6
- integrity: string;
7
12
  /** Additional top-level bundles that must be installed with this candidate. */
8
13
  requires: readonly CatalogPackage[];
9
14
  authorities: string[];
@@ -13,21 +18,101 @@ export interface CatalogPackage {
13
18
  package: string;
14
19
  version: string;
15
20
  integrity: string;
21
+ /** Optional for compatibility with historical registry package entries. */
22
+ registry?: CatalogRegistryArtifact;
16
23
  }
17
24
  export interface CapabilityCatalog {
18
25
  schemaVersion: 1;
19
26
  entries: CatalogEntry[];
20
27
  }
28
+ export interface LoadedCapabilityCatalog {
29
+ catalog: CapabilityCatalog;
30
+ digest: string;
31
+ provenance: 'owner-provided-integrity-pinned';
32
+ }
33
+ export interface CatalogAdmissionInput {
34
+ catalog: {
35
+ id: string;
36
+ path: string;
37
+ };
38
+ registry: {
39
+ id: string;
40
+ locator: string;
41
+ };
42
+ installationId: string;
43
+ operationId: string;
44
+ plan: {
45
+ id: string;
46
+ digest: string;
47
+ revision: number;
48
+ };
49
+ release: {
50
+ id: string;
51
+ fence: number;
52
+ };
53
+ expectedBeforeCatalogDigest: string;
54
+ expectedAfterCatalogDigest: string;
55
+ registryReference: string;
56
+ artifactStatementDigest: string;
57
+ artifactSignature: string;
58
+ verificationEvidenceDigest: string;
59
+ candidate: unknown;
60
+ }
61
+ export interface CatalogAdmissionEvidence {
62
+ kind: 'catalog-admission';
63
+ admissionId: string;
64
+ catalogId: string;
65
+ beforeCatalogDigest: string;
66
+ afterCatalogDigest: string;
67
+ registryReference: string;
68
+ artifactStatementDigest: string;
69
+ artifactSignatureDigest: string;
70
+ verificationEvidenceDigest: string;
71
+ candidate: CatalogEntry;
72
+ }
73
+ export interface CatalogAdmissionResult {
74
+ /** Exact receipt evidence. `replayed` is deliberately kept outside it. */
75
+ evidence: CatalogAdmissionEvidence;
76
+ replayed: boolean;
77
+ }
78
+ export interface CatalogAdmissionPreview {
79
+ beforeCatalogDigest: string;
80
+ afterCatalogDigest: string;
81
+ catalog: CapabilityCatalog;
82
+ candidate: CatalogEntry;
83
+ }
84
+ /** Fault-injection points for durability tests. Production callers omit this. */
85
+ export interface CatalogAdmissionDurabilityHooks {
86
+ afterTemporaryFileSync?(temporaryPath: string): void | Promise<void>;
87
+ afterJournalSync?(journalPath: string): void | Promise<void>;
88
+ beforeAtomicRename?(catalogPath: string, temporaryPath: string): void | Promise<void>;
89
+ afterAtomicRename?(catalogPath: string): void | Promise<void>;
90
+ }
91
+ export declare class CatalogAdmissionError extends Error {
92
+ readonly code: 'conflict' | 'invalid-input' | 'unsafe-catalog';
93
+ constructor(code: 'conflict' | 'invalid-input' | 'unsafe-catalog', message: string);
94
+ }
21
95
  export declare function parseCatalog(value: unknown): CapabilityCatalog;
96
+ export declare function assertCatalogIdentity(catalog: CapabilityCatalog): void;
97
+ /** Pure deterministic transition used while constructing the signed request. */
98
+ export declare function previewCatalogAdmission(current: unknown, rawCandidate: unknown): CatalogAdmissionPreview;
99
+ /** Derives the receipt identity from the complete request-bound admission. */
100
+ export declare function catalogAdmissionId(input: CatalogAdmissionInput): string;
101
+ /**
102
+ * Atomically admits one independently verified candidate into the canonical
103
+ * owner-private catalog. The expected digest is a request-bound CAS fence.
104
+ * Every writer of this owner catalog must use this helper (or honor its shared
105
+ * lock); POSIX rename alone cannot conditionally replace an arbitrary writer.
106
+ */
107
+ export declare function admitCatalogCandidate(input: CatalogAdmissionInput, hooks?: CatalogAdmissionDurabilityHooks): Promise<CatalogAdmissionResult>;
22
108
  export declare function loadCatalog(path: string): Promise<CapabilityCatalog>;
23
109
  /**
24
- * Curated first-party candidates make a new core installation immediately
25
- * useful without granting an Agent registry, network, or activation access.
26
- * They deliberately remain pinned to a previously published, immutable npm
27
- * release. An owner-created catalog at Config.catalogPath replaces this list.
110
+ * Package-local example used by documentation and tests. It is deliberately
111
+ * not a runtime fallback or trust source because it is not signature-verified.
112
+ * Runtime discovery requires an owner-provided, integrity-pinned regular file.
28
113
  */
29
- export declare const firstPartyCatalog: CapabilityCatalog;
30
- export declare function loadCatalogWithFirstPartyFallback(path: string): Promise<CapabilityCatalog>;
114
+ export declare const exampleIntegrityPinnedCatalog: CapabilityCatalog;
115
+ export declare function loadCatalogWithMetadata(path: string): Promise<LoadedCapabilityCatalog>;
31
116
  export declare function discover(catalog: CapabilityCatalog, capability: string): CatalogEntry[];
32
117
  export declare function candidateDigest(entry: CatalogEntry, profile: string): string;
33
118
  //# sourceMappingURL=catalog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAA;IACnC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAAG,aAAa,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE;AA8ChF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAkB9D;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAI1E;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,iBA8E9B,CAAA;AAEF,wBAAsB,iCAAiC,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAOhG;AAED,wBAAgB,QAAQ,CAAC,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,GAAG,YAAY,EAAE,CAOvF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE5E"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}