@dsh-enhanced/plugin-control-plane 0.1.31 → 0.1.34

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 (199) hide show
  1. package/README.md +352 -4
  2. package/bin/dsh-local-release-adapter.js +80 -16
  3. package/bin/dsh-npm-registry-adapter.js +613 -0
  4. package/bin/dsh-source-adoption-authority.js +12 -0
  5. package/bin/dsh-source-approval-authority.js +16 -0
  6. package/bin/dsh-source-release-authority.js +12 -0
  7. package/bin/dsh-systemd-host-attestor.js +707 -0
  8. package/bin/dsh-task-observation-authority.js +15 -0
  9. package/lib/adapter-process.d.ts +23 -0
  10. package/lib/adapter-process.d.ts.map +1 -0
  11. package/lib/adapter-process.js +305 -0
  12. package/lib/adapter-process.js.map +1 -0
  13. package/lib/adoption-coordinator.d.ts +63 -0
  14. package/lib/adoption-coordinator.d.ts.map +1 -0
  15. package/lib/adoption-coordinator.js +241 -0
  16. package/lib/adoption-coordinator.js.map +1 -0
  17. package/lib/adoption-handoff.d.ts +16 -0
  18. package/lib/adoption-handoff.d.ts.map +1 -0
  19. package/lib/adoption-handoff.js +11 -0
  20. package/lib/adoption-handoff.js.map +1 -0
  21. package/lib/attestation.d.ts.map +1 -1
  22. package/lib/attestation.js +49 -1
  23. package/lib/attestation.js.map +1 -1
  24. package/lib/catalog.d.ts.map +1 -1
  25. package/lib/catalog.js +29 -2
  26. package/lib/catalog.js.map +1 -1
  27. package/lib/cli.d.ts +33 -9
  28. package/lib/cli.d.ts.map +1 -1
  29. package/lib/cli.js +624 -178
  30. package/lib/cli.js.map +1 -1
  31. package/lib/deployment-readiness.d.ts +38 -0
  32. package/lib/deployment-readiness.d.ts.map +1 -0
  33. package/lib/deployment-readiness.js +154 -0
  34. package/lib/deployment-readiness.js.map +1 -0
  35. package/lib/effect-blocked-replay.d.ts +81 -0
  36. package/lib/effect-blocked-replay.d.ts.map +1 -0
  37. package/lib/effect-blocked-replay.js +259 -0
  38. package/lib/effect-blocked-replay.js.map +1 -0
  39. package/lib/errors.d.ts +6 -0
  40. package/lib/errors.d.ts.map +1 -0
  41. package/lib/errors.js +9 -0
  42. package/lib/errors.js.map +1 -0
  43. package/lib/foreground-deployment-runtime.d.ts +20 -0
  44. package/lib/foreground-deployment-runtime.d.ts.map +1 -0
  45. package/lib/foreground-deployment-runtime.js +79 -0
  46. package/lib/foreground-deployment-runtime.js.map +1 -0
  47. package/lib/foreground-deployment.d.ts +17 -0
  48. package/lib/foreground-deployment.d.ts.map +1 -0
  49. package/lib/foreground-deployment.js +43 -0
  50. package/lib/foreground-deployment.js.map +1 -0
  51. package/lib/host-attestor.d.ts +1 -1
  52. package/lib/host-attestor.d.ts.map +1 -1
  53. package/lib/host-attestor.js +51 -57
  54. package/lib/host-attestor.js.map +1 -1
  55. package/lib/index.d.ts +25 -2
  56. package/lib/index.d.ts.map +1 -1
  57. package/lib/index.js +11 -2
  58. package/lib/index.js.map +1 -1
  59. package/lib/npm-publish.d.ts +25 -0
  60. package/lib/npm-publish.d.ts.map +1 -0
  61. package/lib/npm-publish.js +280 -0
  62. package/lib/npm-publish.js.map +1 -0
  63. package/lib/owner-task-gap-types.d.ts +21 -0
  64. package/lib/owner-task-gap-types.d.ts.map +1 -0
  65. package/lib/owner-task-gap-types.js +2 -0
  66. package/lib/owner-task-gap-types.js.map +1 -0
  67. package/lib/owner-task-gaps.d.ts +24 -0
  68. package/lib/owner-task-gaps.d.ts.map +1 -0
  69. package/lib/owner-task-gaps.js +74 -0
  70. package/lib/owner-task-gaps.js.map +1 -0
  71. package/lib/post-activation.d.ts +33 -0
  72. package/lib/post-activation.d.ts.map +1 -0
  73. package/lib/post-activation.js +219 -0
  74. package/lib/post-activation.js.map +1 -0
  75. package/lib/registry-fetch.d.ts +50 -0
  76. package/lib/registry-fetch.d.ts.map +1 -0
  77. package/lib/registry-fetch.js +267 -0
  78. package/lib/registry-fetch.js.map +1 -0
  79. package/lib/release.d.ts +4 -4
  80. package/lib/release.d.ts.map +1 -1
  81. package/lib/release.js +142 -56
  82. package/lib/release.js.map +1 -1
  83. package/lib/replay-endpoint-protocol.d.ts +65 -0
  84. package/lib/replay-endpoint-protocol.d.ts.map +1 -0
  85. package/lib/replay-endpoint-protocol.js +183 -0
  86. package/lib/replay-endpoint-protocol.js.map +1 -0
  87. package/lib/replay-endpoint.d.ts +7 -0
  88. package/lib/replay-endpoint.d.ts.map +1 -0
  89. package/lib/replay-endpoint.js +193 -0
  90. package/lib/replay-endpoint.js.map +1 -0
  91. package/lib/replay-grant.d.ts +62 -0
  92. package/lib/replay-grant.d.ts.map +1 -0
  93. package/lib/replay-grant.js +208 -0
  94. package/lib/replay-grant.js.map +1 -0
  95. package/lib/replay-journal.d.ts +25 -0
  96. package/lib/replay-journal.d.ts.map +1 -0
  97. package/lib/replay-journal.js +275 -0
  98. package/lib/replay-journal.js.map +1 -0
  99. package/lib/runtime-observer-protocol.d.ts +63 -0
  100. package/lib/runtime-observer-protocol.d.ts.map +1 -0
  101. package/lib/runtime-observer-protocol.js +280 -0
  102. package/lib/runtime-observer-protocol.js.map +1 -0
  103. package/lib/runtime-observer.d.ts +8 -0
  104. package/lib/runtime-observer.d.ts.map +1 -0
  105. package/lib/runtime-observer.js +182 -0
  106. package/lib/runtime-observer.js.map +1 -0
  107. package/lib/service.d.ts +145 -1
  108. package/lib/service.d.ts.map +1 -1
  109. package/lib/service.js +734 -6
  110. package/lib/service.js.map +1 -1
  111. package/lib/source-adoption-authority.d.ts +65 -0
  112. package/lib/source-adoption-authority.d.ts.map +1 -0
  113. package/lib/source-adoption-authority.js +271 -0
  114. package/lib/source-adoption-authority.js.map +1 -0
  115. package/lib/source-adoption-runner.d.ts +28 -0
  116. package/lib/source-adoption-runner.d.ts.map +1 -0
  117. package/lib/source-adoption-runner.js +197 -0
  118. package/lib/source-adoption-runner.js.map +1 -0
  119. package/lib/source-approval-authority.d.ts +50 -0
  120. package/lib/source-approval-authority.d.ts.map +1 -0
  121. package/lib/source-approval-authority.js +412 -0
  122. package/lib/source-approval-authority.js.map +1 -0
  123. package/lib/source-approval-client.d.ts +32 -0
  124. package/lib/source-approval-client.d.ts.map +1 -0
  125. package/lib/source-approval-client.js +175 -0
  126. package/lib/source-approval-client.js.map +1 -0
  127. package/lib/source-build.d.ts +60 -0
  128. package/lib/source-build.d.ts.map +1 -0
  129. package/lib/source-build.js +311 -0
  130. package/lib/source-build.js.map +1 -0
  131. package/lib/source-context.d.ts +24 -0
  132. package/lib/source-context.d.ts.map +1 -0
  133. package/lib/source-context.js +99 -0
  134. package/lib/source-context.js.map +1 -0
  135. package/lib/source-job-types.d.ts +87 -0
  136. package/lib/source-job-types.d.ts.map +1 -0
  137. package/lib/source-job-types.js +2 -0
  138. package/lib/source-job-types.js.map +1 -0
  139. package/lib/source-jobs.d.ts +113 -0
  140. package/lib/source-jobs.d.ts.map +1 -0
  141. package/lib/source-jobs.js +535 -0
  142. package/lib/source-jobs.js.map +1 -0
  143. package/lib/source-release-authority.d.ts +35 -0
  144. package/lib/source-release-authority.d.ts.map +1 -0
  145. package/lib/source-release-authority.js +271 -0
  146. package/lib/source-release-authority.js.map +1 -0
  147. package/lib/source-release-client.d.ts +10 -0
  148. package/lib/source-release-client.d.ts.map +1 -0
  149. package/lib/source-release-client.js +24 -0
  150. package/lib/source-release-client.js.map +1 -0
  151. package/lib/source-release-runner.d.ts +31 -0
  152. package/lib/source-release-runner.d.ts.map +1 -0
  153. package/lib/source-release-runner.js +125 -0
  154. package/lib/source-release-runner.js.map +1 -0
  155. package/lib/source-versioning.d.ts +24 -0
  156. package/lib/source-versioning.d.ts.map +1 -0
  157. package/lib/source-versioning.js +213 -0
  158. package/lib/source-versioning.js.map +1 -0
  159. package/lib/source-workspace.d.ts +117 -0
  160. package/lib/source-workspace.d.ts.map +1 -0
  161. package/lib/source-workspace.js +458 -0
  162. package/lib/source-workspace.js.map +1 -0
  163. package/lib/sqlite.d.ts +1 -1
  164. package/lib/sqlite.d.ts.map +1 -1
  165. package/lib/sqlite.js +509 -7
  166. package/lib/sqlite.js.map +1 -1
  167. package/lib/store.d.ts +229 -6
  168. package/lib/store.d.ts.map +1 -1
  169. package/lib/store.js +2431 -383
  170. package/lib/store.js.map +1 -1
  171. package/lib/task-observation-authority.d.ts +29 -0
  172. package/lib/task-observation-authority.d.ts.map +1 -0
  173. package/lib/task-observation-authority.js +370 -0
  174. package/lib/task-observation-authority.js.map +1 -0
  175. package/lib/task-observation-client.d.ts +4 -0
  176. package/lib/task-observation-client.d.ts.map +1 -0
  177. package/lib/task-observation-client.js +20 -0
  178. package/lib/task-observation-client.js.map +1 -0
  179. package/lib/task-observation-runtime.d.ts +59 -0
  180. package/lib/task-observation-runtime.d.ts.map +1 -0
  181. package/lib/task-observation-runtime.js +331 -0
  182. package/lib/task-observation-runtime.js.map +1 -0
  183. package/lib/task-observation-store.d.ts +17 -0
  184. package/lib/task-observation-store.d.ts.map +1 -0
  185. package/lib/task-observation-store.js +115 -0
  186. package/lib/task-observation-store.js.map +1 -0
  187. package/lib/task-observation-types.d.ts +67 -0
  188. package/lib/task-observation-types.d.ts.map +1 -0
  189. package/lib/task-observation-types.js +2 -0
  190. package/lib/task-observation-types.js.map +1 -0
  191. package/lib/trust.d.ts +3 -0
  192. package/lib/trust.d.ts.map +1 -1
  193. package/lib/trust.js +0 -0
  194. package/lib/trust.js.map +1 -1
  195. package/lib/types.d.ts +275 -8
  196. package/lib/types.d.ts.map +1 -1
  197. package/lib/version.d.ts +1 -1
  198. package/lib/version.js +1 -1
  199. package/package.json +40 -5
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { type AdoptionHandoffTerms } from './adoption-handoff.js';
2
+ import { type CatalogPackage } from './catalog.js';
3
+ import type { SourceJobOwnerReceipt } from './source-job-types.js';
4
+ import type { ApprovalReceipt } from './types.js';
5
+ type AdoptionPolicy = {
6
+ candidateId: string;
7
+ packageName: string;
8
+ dshBaseline: string;
9
+ capabilities: readonly string[];
10
+ authorities: readonly string[];
11
+ requires: readonly CatalogPackage[];
12
+ registryId: string;
13
+ registryLocator: string;
14
+ };
15
+ export interface SourceAdoptionAuthorityRequest {
16
+ protocol: 'dsh-source-adoption/v1';
17
+ /** The activation plan id. */
18
+ planId: string;
19
+ planDigest: string;
20
+ sourceReferenceDigest: string;
21
+ }
22
+ export interface SourceAdoptionAuthorityConfig {
23
+ schemaVersion: 1;
24
+ authority: string;
25
+ keyId: string;
26
+ keyPath: string;
27
+ statePath: string;
28
+ controlDatabasePath: string;
29
+ grant: {
30
+ id: string;
31
+ expiresAt: number;
32
+ maxAdoptions: number;
33
+ owner: Pick<SourceJobOwnerReceipt, 'authorityId' | 'authorityHash' | 'principalId' | 'principalRecordId' | 'principalVersion' | 'workspace' | 'agentPreset'>;
34
+ installationId: string;
35
+ ledger: {
36
+ id: string;
37
+ path: string;
38
+ };
39
+ target: {
40
+ dshHome: string;
41
+ profile: string;
42
+ profilePath: string;
43
+ };
44
+ executor: {
45
+ id: string;
46
+ version: string;
47
+ path: string;
48
+ sha256: string;
49
+ };
50
+ catalogPath: string;
51
+ receiptTtlMs: number;
52
+ handoff?: AdoptionHandoffTerms;
53
+ policies: readonly AdoptionPolicy[];
54
+ };
55
+ }
56
+ export declare class SourceAdoptionAuthorityError extends Error {
57
+ constructor(message?: string);
58
+ }
59
+ export declare function validateSourceAdoptionAuthorityConfig(value: unknown): asserts value is SourceAdoptionAuthorityConfig;
60
+ /** Signs only a pending activation that is durably bound to a completed source release. */
61
+ export declare function authorizeSourceAdoption(configInput: SourceAdoptionAuthorityConfig, requestInput: SourceAdoptionAuthorityRequest): Promise<ApprovalReceipt>;
62
+ /** CLI entrypoint: exactly --config <private absolute path>, one bounded JSON request, one JSON receipt. */
63
+ export declare function runSourceAdoptionAuthority(argv?: string[]): Promise<void>;
64
+ export {};
65
+ //# sourceMappingURL=source-adoption-authority.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-adoption-authority.d.ts","sourceRoot":"","sources":["../src/source-adoption-authority.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAM/F,OAAO,EAA4D,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAI5G,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAMjD,KAAK,cAAc,GAAG;IACpB,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAA;IAC9H,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CACjF,CAAA;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,EAAE,wBAAwB,CAAA;IAClC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,qBAAqB,EAAE,MAAM,CAAA;CAC9B;AAED,MAAM,WAAW,6BAA6B;IAC5C,aAAa,EAAE,CAAC,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,KAAK,EAAE;QACL,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;QACnD,KAAK,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,eAAe,GAAG,aAAa,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,WAAW,GAAG,aAAa,CAAC,CAAA;QAC5J,cAAc,EAAE,MAAM,CAAA;QACtB,MAAM,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAA;QACpC,MAAM,EAAE;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,CAAA;QACjE,QAAQ,EAAE;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;QACvE,WAAW,EAAE,MAAM,CAAA;QACnB,YAAY,EAAE,MAAM,CAAA;QACpB,OAAO,CAAC,EAAE,oBAAoB,CAAA;QAC9B,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAA;KACpC,CAAA;CACF;AAED,qBAAa,4BAA6B,SAAQ,KAAK;gBACzC,OAAO,SAAkD;CACtE;AAoCD,wBAAgB,qCAAqC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,6BAA6B,CAgBpH;AA8BD,2FAA2F;AAC3F,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,6BAA6B,EAAE,YAAY,EAAE,8BAA8B,GAAG,OAAO,CAAC,eAAe,CAAC,CA4ChK;AAED,4GAA4G;AAC5G,wBAAsB,0BAA0B,CAAC,IAAI,WAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5F"}
@@ -0,0 +1,271 @@
1
+ import { validateAdoptionHandoffTerms } from './adoption-handoff.js';
2
+ /** Finite owner signer for the durable source-release to activation binding. */
3
+ import { createHash, createPrivateKey, sign } from 'node:crypto';
4
+ import { resolve } from 'node:path';
5
+ import { DatabaseSync } from 'node:sqlite';
6
+ import { approvalSigningPayload, parseApprovalReceipt } from './approval.js';
7
+ import { loadCatalogWithMetadata, parseCatalog } from './catalog.js';
8
+ import { sourceAuthorityCanonicalSafePath, sourceAuthorityReadSafeFile } from './source-approval-authority.js';
9
+ import { controlPlaneDigest, readOwnerSourceAdoptionPlan } from './store.js';
10
+ import { PROTECTED_PLUGIN_DENYLIST } from './source-workspace.js';
11
+ const ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/u;
12
+ const DIGEST = /^[a-f0-9]{64}$/u;
13
+ const MAX_CONFIG_BYTES = 65_536;
14
+ const MAX_REQUEST_BYTES = 8_192;
15
+ const MAX_KEY_BYTES = 32_768;
16
+ export class SourceAdoptionAuthorityError extends Error {
17
+ constructor(message = 'source adoption authority refused the request') { super(message); this.name = 'SourceAdoptionAuthorityError'; }
18
+ }
19
+ function fail() { throw new SourceAdoptionAuthorityError(); }
20
+ function object(value) { if (!value || typeof value !== 'object' || Array.isArray(value))
21
+ fail(); return value; }
22
+ function keys(value, expected) { if (Object.keys(value).sort().join('\0') !== [...expected].sort().join('\0'))
23
+ fail(); }
24
+ function text(value, pattern = ID, max = 4_096) { if (typeof value !== 'string' || value.normalize('NFC').trim() !== value || !pattern.test(value) || Buffer.byteLength(value) > max || /[\p{Cc}]/u.test(value))
25
+ fail(); return value; }
26
+ function integer(value, min, max = Number.MAX_SAFE_INTEGER) { if (!Number.isSafeInteger(value) || Number(value) < min || Number(value) > max)
27
+ fail(); return Number(value); }
28
+ function path(value) { const result = text(value, /^[\s\S]+$/u); if (!result.startsWith('/') || result === '/' || sourceAuthorityCanonicalSafePath(result, 'file') !== result)
29
+ fail(); return result; }
30
+ function configuredPath(value) { const result = text(value, /^[\s\S]+$/u); if (!result.startsWith('/') || result === '/' || resolve(result) !== result)
31
+ fail(); return result; }
32
+ function same(left, right) { return controlPlaneDigest(left) === controlPlaneDigest(right); }
33
+ function sameOwner(left, right) {
34
+ return left.authorityId === right.authorityId && left.authorityHash === right.authorityHash && left.principalId === right.principalId
35
+ && left.principalRecordId === right.principalRecordId && left.principalVersion === right.principalVersion
36
+ && left.workspace === right.workspace && left.agentPreset === right.agentPreset;
37
+ }
38
+ function policy(value) {
39
+ const item = object(value);
40
+ keys(item, ['candidateId', 'packageName', 'dshBaseline', 'capabilities', 'authorities', 'requires', 'registryId', 'registryLocator']);
41
+ const candidateId = text(item.candidateId, /^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$/u, 64);
42
+ const packageName = text(item.packageName, /^@dsh-enhanced\/[a-z][a-z0-9-]*$/u, 128);
43
+ if (packageName !== `@dsh-enhanced/${candidateId}` || PROTECTED_PLUGIN_DENYLIST.has(candidateId))
44
+ fail();
45
+ const dshBaseline = text(item.dshBaseline, /^[0-9A-Za-z.+-]+$/u, 128);
46
+ const registryId = text(item.registryId);
47
+ const registryLocator = text(item.registryLocator, /^[\s\S]+$/u);
48
+ if (!Array.isArray(item.capabilities) || !Array.isArray(item.authorities) || !Array.isArray(item.requires))
49
+ fail();
50
+ // The catalog parser supplies the exact package and dependency grammar and
51
+ // canonical dependency ordering used by a real admitted catalog entry.
52
+ let parsed;
53
+ try {
54
+ parsed = parseCatalog({ schemaVersion: 1, entries: [{ id: candidateId, package: packageName, version: '0.0.0', integrity: 'sha512-YQ==',
55
+ dshBaseline, capabilities: item.capabilities, authorities: item.authorities, requires: item.requires }] }).entries[0];
56
+ }
57
+ catch {
58
+ fail();
59
+ }
60
+ if (new Set(parsed.capabilities).size !== parsed.capabilities.length || new Set(parsed.authorities).size !== parsed.authorities.length)
61
+ fail();
62
+ return Object.freeze({ candidateId, packageName, dshBaseline, capabilities: parsed.capabilities, authorities: parsed.authorities,
63
+ requires: parsed.requires, registryId, registryLocator });
64
+ }
65
+ export function validateSourceAdoptionAuthorityConfig(value) {
66
+ const item = object(value);
67
+ keys(item, ['schemaVersion', 'authority', 'keyId', 'keyPath', 'statePath', 'controlDatabasePath', 'grant']);
68
+ if (item.schemaVersion !== 1)
69
+ fail();
70
+ text(item.authority);
71
+ text(item.keyId);
72
+ const keyPath = path(item.keyPath);
73
+ const statePath = configuredPath(item.statePath);
74
+ const control = path(item.controlDatabasePath);
75
+ if (new Set([keyPath, statePath, control]).size !== 3)
76
+ fail();
77
+ const grant = object(item.grant);
78
+ keys(grant, ['id', 'expiresAt', 'maxAdoptions', 'owner', 'installationId', 'ledger', 'target', 'executor', 'catalogPath', 'receiptTtlMs', 'policies', ...(Object.hasOwn(grant, 'handoff') ? ['handoff'] : [])]);
79
+ if (Object.hasOwn(grant, 'handoff'))
80
+ validateAdoptionHandoffTerms(grant.handoff);
81
+ text(grant.id);
82
+ integer(grant.expiresAt, 1);
83
+ integer(grant.maxAdoptions, 1, 10_000);
84
+ text(grant.installationId);
85
+ const owner = object(grant.owner);
86
+ keys(owner, ['authorityId', 'authorityHash', 'principalId', 'principalRecordId', 'principalVersion', 'workspace', 'agentPreset']);
87
+ text(owner.authorityId);
88
+ text(owner.authorityHash, DIGEST, 64);
89
+ text(owner.principalId, /^[\s\S]+$/u, 512);
90
+ text(owner.principalRecordId, /^[\s\S]+$/u, 512);
91
+ integer(owner.principalVersion, 1);
92
+ configuredPath(owner.workspace);
93
+ text(owner.agentPreset);
94
+ const ledger = object(grant.ledger);
95
+ keys(ledger, ['id', 'path']);
96
+ text(ledger.id);
97
+ configuredPath(ledger.path);
98
+ const target = object(grant.target);
99
+ keys(target, ['dshHome', 'profile', 'profilePath']);
100
+ configuredPath(target.dshHome);
101
+ text(target.profile, /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u, 64);
102
+ configuredPath(target.profilePath);
103
+ const executor = object(grant.executor);
104
+ keys(executor, ['id', 'version', 'path', 'sha256']);
105
+ text(executor.id);
106
+ text(executor.version);
107
+ configuredPath(executor.path);
108
+ text(executor.sha256, DIGEST, 64);
109
+ path(grant.catalogPath);
110
+ integer(grant.receiptTtlMs, 1_000, 86_400_000);
111
+ if (!Array.isArray(grant.policies) || grant.policies.length === 0 || grant.policies.length > 32)
112
+ fail();
113
+ const policies = grant.policies.map(policy);
114
+ if (new Set(policies.map(item => item.candidateId)).size !== policies.length)
115
+ fail();
116
+ }
117
+ function request(value) {
118
+ const item = object(value);
119
+ keys(item, ['protocol', 'planId', 'planDigest', 'sourceReferenceDigest']);
120
+ if (item.protocol !== 'dsh-source-adoption/v1')
121
+ fail();
122
+ return Object.freeze({ protocol: 'dsh-source-adoption/v1', planId: text(item.planId), planDigest: text(item.planDigest, DIGEST, 64), sourceReferenceDigest: text(item.sourceReferenceDigest, DIGEST, 64) });
123
+ }
124
+ function exactPolicy(candidate, configured) {
125
+ return candidate.id === configured.candidateId && candidate.package === configured.packageName && candidate.dshBaseline === configured.dshBaseline
126
+ && same(candidate.capabilities, configured.capabilities) && same(candidate.authorities, configured.authorities) && same(candidate.requires, configured.requires)
127
+ && candidate.registry?.id === configured.registryId && candidate.registry.locator === configured.registryLocator;
128
+ }
129
+ function receiptFor(config, request, privateKey, now, expiresAt) {
130
+ const unsigned = { schemaVersion: 1, approvalId: `source-adoption-${controlPlaneDigest({ grant: config.grant.id, request }).slice(0, 40)}`,
131
+ authority: config.authority, keyId: config.keyId, planId: request.planId, planDigest: request.planDigest, decision: 'approved', principal: config.grant.owner.principalId, decidedAt: now, expiresAt };
132
+ try {
133
+ return parseApprovalReceipt({ ...unsigned, signature: sign(null, Buffer.from(approvalSigningPayload(unsigned)), privateKey).toString('base64') });
134
+ }
135
+ catch {
136
+ fail();
137
+ }
138
+ }
139
+ function ledger(pathname) {
140
+ sourceAuthorityCanonicalSafePath(pathname, 'file', true);
141
+ const db = new DatabaseSync(pathname);
142
+ db.exec(`PRAGMA busy_timeout = 5000; PRAGMA journal_mode = WAL; PRAGMA synchronous = FULL;
143
+ CREATE TABLE IF NOT EXISTS source_adoption_grants (grant_id TEXT PRIMARY KEY, config_digest TEXT NOT NULL, key_fingerprint TEXT NOT NULL) STRICT;
144
+ CREATE TABLE IF NOT EXISTS source_adoption_receipts (request_digest TEXT PRIMARY KEY, grant_id TEXT NOT NULL, config_digest TEXT NOT NULL, plan_id TEXT NOT NULL UNIQUE, plan_digest TEXT NOT NULL, receipt_json TEXT NOT NULL, receipt_digest TEXT NOT NULL) STRICT;`);
145
+ return db;
146
+ }
147
+ /** Signs only a pending activation that is durably bound to a completed source release. */
148
+ export async function authorizeSourceAdoption(configInput, requestInput) {
149
+ try {
150
+ validateSourceAdoptionAuthorityConfig(configInput);
151
+ const config = configInput;
152
+ const requested = request(requestInput);
153
+ const initialNow = Date.now();
154
+ if (initialNow >= config.grant.expiresAt)
155
+ fail();
156
+ const keyBytes = sourceAuthorityReadSafeFile(config.keyPath, MAX_KEY_BYTES);
157
+ let privateKey;
158
+ try {
159
+ privateKey = createPrivateKey(keyBytes);
160
+ }
161
+ catch {
162
+ fail();
163
+ }
164
+ ;
165
+ if (privateKey.asymmetricKeyType !== 'ed25519')
166
+ fail();
167
+ const configDigest = controlPlaneDigest(config);
168
+ const keyFingerprint = createHash('sha256').update(keyBytes).digest('hex');
169
+ const control = new DatabaseSync(sourceAuthorityCanonicalSafePath(config.controlDatabasePath, 'file'), { readOnly: true });
170
+ let bound;
171
+ try {
172
+ control.exec('PRAGMA query_only = ON;');
173
+ bound = readOwnerSourceAdoptionPlan(control, requested.planId);
174
+ const { plan, sourcePlan, source, released } = bound;
175
+ if (plan.digest !== requested.planDigest || controlPlaneDigest(source) !== requested.sourceReferenceDigest || plan.status !== 'pending-approval' || sourcePlan.status !== 'release-complete' || !sameOwner(source.owner, config.grant.owner))
176
+ fail();
177
+ if (plan.installationId !== config.grant.installationId || !same(plan.ledger, config.grant.ledger) || !same(plan.target, config.grant.target) || !same(plan.executor, config.grant.executor))
178
+ fail();
179
+ if (!same(plan.dossier.handoff ?? null, config.grant.handoff ?? null))
180
+ fail();
181
+ if (!same(plan.candidate, released) || plan.dossier.catalogProvenance !== 'owner-provided-integrity-pinned')
182
+ fail();
183
+ const selected = config.grant.policies.map(policy).find(value => value.candidateId === released.id);
184
+ if (!selected || !exactPolicy(released, selected))
185
+ fail();
186
+ sourceAuthorityCanonicalSafePath(config.grant.catalogPath, 'file');
187
+ const catalog = await loadCatalogWithMetadata(config.grant.catalogPath);
188
+ const current = catalog.catalog.entries.find(entry => entry.id === released.id);
189
+ if (catalog.digest !== plan.dossier.catalogDigest || current === undefined || !same(current, released))
190
+ fail();
191
+ const final = readOwnerSourceAdoptionPlan(control, requested.planId);
192
+ if (!same(final.plan, plan) || !same(final.sourcePlan, sourcePlan) || !same(final.source, source) || !same(final.released, released))
193
+ fail();
194
+ }
195
+ finally {
196
+ control.close();
197
+ }
198
+ const state = ledger(config.statePath);
199
+ try {
200
+ state.exec('BEGIN IMMEDIATE');
201
+ try {
202
+ const now = Date.now();
203
+ if (now >= config.grant.expiresAt || now > bound.plan.expiresAt)
204
+ fail();
205
+ const expiresAt = Math.min(now + config.grant.receiptTtlMs, config.grant.expiresAt, bound.plan.expiresAt);
206
+ if (expiresAt <= now)
207
+ fail();
208
+ const frozen = state.prepare('SELECT config_digest, key_fingerprint FROM source_adoption_grants WHERE grant_id = ?').get(config.grant.id);
209
+ if (!frozen)
210
+ state.prepare('INSERT INTO source_adoption_grants (grant_id, config_digest, key_fingerprint) VALUES (?, ?, ?)').run(config.grant.id, configDigest, keyFingerprint);
211
+ else if (frozen.config_digest !== configDigest || frozen.key_fingerprint !== keyFingerprint)
212
+ fail();
213
+ const requestDigest = controlPlaneDigest(requested);
214
+ const prior = state.prepare('SELECT * FROM source_adoption_receipts WHERE request_digest = ?').get(requestDigest);
215
+ if (prior) {
216
+ if (prior.grant_id !== config.grant.id || prior.config_digest !== configDigest || prior.plan_id !== requested.planId || prior.plan_digest !== requested.planDigest || prior.receipt_digest !== controlPlaneDigest(prior.receipt_json))
217
+ fail();
218
+ const replay = parseApprovalReceipt(JSON.parse(prior.receipt_json));
219
+ if (replay.expiresAt <= now || replay.authority !== config.authority || replay.keyId !== config.keyId)
220
+ fail();
221
+ state.exec('COMMIT');
222
+ return replay;
223
+ }
224
+ if (state.prepare('SELECT 1 FROM source_adoption_receipts WHERE plan_id = ?').get(requested.planId) || state.prepare('SELECT COUNT(*) AS count FROM source_adoption_receipts WHERE grant_id = ?').get(config.grant.id).count >= config.grant.maxAdoptions)
225
+ fail();
226
+ const receipt = receiptFor(config, requested, privateKey, now, expiresAt);
227
+ const json = JSON.stringify(receipt);
228
+ state.prepare('INSERT INTO source_adoption_receipts (request_digest, grant_id, config_digest, plan_id, plan_digest, receipt_json, receipt_digest) VALUES (?, ?, ?, ?, ?, ?, ?)').run(requestDigest, config.grant.id, configDigest, requested.planId, requested.planDigest, json, controlPlaneDigest(json));
229
+ state.exec('COMMIT');
230
+ return receipt;
231
+ }
232
+ catch (error) {
233
+ try {
234
+ state.exec('ROLLBACK');
235
+ }
236
+ catch { }
237
+ throw error;
238
+ }
239
+ }
240
+ finally {
241
+ state.close();
242
+ }
243
+ }
244
+ catch (error) {
245
+ if (error instanceof SourceAdoptionAuthorityError)
246
+ throw error;
247
+ throw new SourceAdoptionAuthorityError();
248
+ }
249
+ }
250
+ /** CLI entrypoint: exactly --config <private absolute path>, one bounded JSON request, one JSON receipt. */
251
+ export async function runSourceAdoptionAuthority(argv = process.argv.slice(2)) {
252
+ try {
253
+ if (argv.length !== 2 || argv[0] !== '--config')
254
+ fail();
255
+ const config = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(sourceAuthorityReadSafeFile(configuredPath(argv[1]), MAX_CONFIG_BYTES)));
256
+ const chunks = [];
257
+ let size = 0;
258
+ for await (const chunk of process.stdin) {
259
+ const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk);
260
+ if ((size += bytes.length) > MAX_REQUEST_BYTES)
261
+ fail();
262
+ chunks.push(bytes);
263
+ }
264
+ const input = JSON.parse(new TextDecoder('utf-8', { fatal: true }).decode(Buffer.concat(chunks)));
265
+ process.stdout.write(`${JSON.stringify(await authorizeSourceAdoption(config, input))}\n`);
266
+ }
267
+ catch {
268
+ throw new SourceAdoptionAuthorityError();
269
+ }
270
+ }
271
+ //# sourceMappingURL=source-adoption-authority.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-adoption-authority.js","sourceRoot":"","sources":["../src/source-adoption-authority.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /** Host-owned continuation from a completed source release into normal activation. */
2
+ import { type AdoptionHandoffTerms } from './adoption-handoff.js';
3
+ import { type SourceApprovalClientConfig } from './source-approval-client.js';
4
+ import { type ControlPlaneStore } from './store.js';
5
+ import { type PluginControlTrustConfig } from './trust.js';
6
+ import type { PluginActivationPlan } from './types.js';
7
+ export interface SourceAdoptionConfig {
8
+ profile: string;
9
+ planTtlMs: number;
10
+ timeoutMs: number;
11
+ authority: SourceApprovalClientConfig;
12
+ handoff?: AdoptionHandoffTerms;
13
+ }
14
+ export declare function validateSourceAdoptionConfig(value: unknown): asserts value is SourceAdoptionConfig;
15
+ /**
16
+ * Create or recover the exact source-linked plan, obtain one finite approval,
17
+ * then delegate all deployment and rollback mechanics to the shared engine.
18
+ */
19
+ export declare function adoptSourceRelease(options: {
20
+ store: ControlPlaneStore;
21
+ sourcePlanId: string;
22
+ trust: PluginControlTrustConfig;
23
+ config: SourceAdoptionConfig;
24
+ signal?: AbortSignal;
25
+ assertCurrent: () => Promise<void>;
26
+ withSourceFence: <T>(callback: () => T) => T;
27
+ }): Promise<PluginActivationPlan>;
28
+ //# sourceMappingURL=source-adoption-runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"source-adoption-runner.d.ts","sourceRoot":"","sources":["../src/source-adoption-runner.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,OAAO,EAAgC,KAAK,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAM/F,OAAO,EAAqE,KAAK,0BAA0B,EAAE,MAAM,6BAA6B,CAAA;AAChJ,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAA;AACvE,OAAO,EAAmB,KAAK,wBAAwB,EAAE,MAAM,YAAY,CAAA;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAKtD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,0BAA0B,CAAA;IACrC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAC/B;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAWlG;AAwDD;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,KAAK,EAAE,iBAAiB,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,wBAAwB,CAAA;IAC/B,MAAM,EAAE,oBAAoB,CAAA;IAC5B,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAClC,eAAe,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAA;CAC7C,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAsFhC"}