@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.
- package/README.md +153 -32
- package/bin/dsh-local-release-adapter.js +1381 -0
- package/cordis.patch.yml +1 -0
- package/lib/approval.d.ts +13 -0
- package/lib/approval.d.ts.map +1 -0
- package/lib/approval.js +79 -0
- package/lib/approval.js.map +1 -0
- package/lib/attestation.d.ts +14 -0
- package/lib/attestation.d.ts.map +1 -0
- package/lib/attestation.js +222 -0
- package/lib/attestation.js.map +1 -0
- package/lib/catalog-interpreter.d.ts +12 -0
- package/lib/catalog-interpreter.d.ts.map +1 -0
- package/lib/catalog-interpreter.js +100 -0
- package/lib/catalog-interpreter.js.map +1 -0
- package/lib/catalog.d.ts +95 -10
- package/lib/catalog.d.ts.map +1 -1
- package/lib/catalog.js +1031 -18
- package/lib/catalog.js.map +1 -1
- package/lib/cli.d.ts +9 -0
- package/lib/cli.d.ts.map +1 -1
- package/lib/cli.js +1160 -162
- package/lib/cli.js.map +1 -1
- package/lib/host-attestor.d.ts +13 -0
- package/lib/host-attestor.d.ts.map +1 -0
- package/lib/host-attestor.js +139 -0
- package/lib/host-attestor.js.map +1 -0
- package/lib/index.d.ts +9 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +9 -0
- package/lib/index.js.map +1 -1
- package/lib/lockfile.d.ts +7 -0
- package/lib/lockfile.d.ts.map +1 -0
- package/lib/lockfile.js +271 -0
- package/lib/lockfile.js.map +1 -0
- package/lib/release.d.ts +51 -0
- package/lib/release.d.ts.map +1 -0
- package/lib/release.js +1188 -0
- package/lib/release.js.map +1 -0
- package/lib/service.d.ts +9 -11
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +57 -29
- package/lib/service.js.map +1 -1
- package/lib/sqlite.d.ts +9 -0
- package/lib/sqlite.d.ts.map +1 -0
- package/lib/sqlite.js +709 -0
- package/lib/sqlite.js.map +1 -0
- package/lib/store.d.ts +258 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/store.js +1848 -0
- package/lib/store.js.map +1 -0
- package/lib/tools.d.ts.map +1 -1
- package/lib/tools.js +23 -3
- package/lib/tools.js.map +1 -1
- package/lib/trust.d.ts +79 -0
- package/lib/trust.d.ts.map +1 -0
- package/lib/trust.js +477 -0
- package/lib/trust.js.map +1 -0
- package/lib/types.d.ts +740 -0
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.d.ts.map +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
package/lib/catalog.d.ts
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
export interface
|
|
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
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
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
|
|
30
|
-
export declare function
|
|
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
|
package/lib/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|