@dsh-enhanced/plugin-control-plane 0.1.64 → 0.1.66

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 (121) hide show
  1. package/README.md +81 -5
  2. package/lib/attestation.d.ts.map +1 -1
  3. package/lib/attestation.js +33 -1
  4. package/lib/attestation.js.map +1 -1
  5. package/lib/creation-capability-empty-handoff.d.ts +57 -0
  6. package/lib/creation-capability-empty-handoff.d.ts.map +1 -0
  7. package/lib/creation-capability-empty-handoff.js +147 -0
  8. package/lib/creation-capability-empty-handoff.js.map +1 -0
  9. package/lib/creation-capability-execution.d.ts +9 -0
  10. package/lib/creation-capability-execution.d.ts.map +1 -0
  11. package/lib/creation-capability-execution.js +70 -0
  12. package/lib/creation-capability-execution.js.map +1 -0
  13. package/lib/creation-capability-feedback.d.ts +58 -1
  14. package/lib/creation-capability-feedback.d.ts.map +1 -1
  15. package/lib/creation-capability-feedback.js +532 -50
  16. package/lib/creation-capability-feedback.js.map +1 -1
  17. package/lib/creation-capability-handoff-common.d.ts +60 -0
  18. package/lib/creation-capability-handoff-common.d.ts.map +1 -0
  19. package/lib/creation-capability-handoff-common.js +195 -0
  20. package/lib/creation-capability-handoff-common.js.map +1 -0
  21. package/lib/creation-capability-journal.d.ts +19 -0
  22. package/lib/creation-capability-journal.d.ts.map +1 -1
  23. package/lib/creation-capability-journal.js +62 -21
  24. package/lib/creation-capability-journal.js.map +1 -1
  25. package/lib/creation-capability-runtime.d.ts +18 -0
  26. package/lib/creation-capability-runtime.d.ts.map +1 -1
  27. package/lib/creation-capability-runtime.js +76 -18
  28. package/lib/creation-capability-runtime.js.map +1 -1
  29. package/lib/creation-capability-sealed-audit.d.ts +19 -0
  30. package/lib/creation-capability-sealed-audit.d.ts.map +1 -0
  31. package/lib/creation-capability-sealed-audit.js +114 -0
  32. package/lib/creation-capability-sealed-audit.js.map +1 -0
  33. package/lib/creation-capability-sealed-handoff.d.ts +160 -0
  34. package/lib/creation-capability-sealed-handoff.d.ts.map +1 -0
  35. package/lib/creation-capability-sealed-handoff.js +695 -0
  36. package/lib/creation-capability-sealed-handoff.js.map +1 -0
  37. package/lib/creation-capability-trend-snapshot.d.ts +70 -0
  38. package/lib/creation-capability-trend-snapshot.d.ts.map +1 -0
  39. package/lib/creation-capability-trend-snapshot.js +117 -0
  40. package/lib/creation-capability-trend-snapshot.js.map +1 -0
  41. package/lib/creation-capability-types.d.ts +254 -4
  42. package/lib/creation-capability-types.d.ts.map +1 -1
  43. package/lib/in-process-reload.d.ts +191 -0
  44. package/lib/in-process-reload.d.ts.map +1 -0
  45. package/lib/in-process-reload.js +284 -0
  46. package/lib/in-process-reload.js.map +1 -0
  47. package/lib/index.d.ts +12 -4
  48. package/lib/index.d.ts.map +1 -1
  49. package/lib/index.js +8 -2
  50. package/lib/index.js.map +1 -1
  51. package/lib/linux-source-build.d.ts +16 -0
  52. package/lib/linux-source-build.d.ts.map +1 -0
  53. package/lib/linux-source-build.js +268 -0
  54. package/lib/linux-source-build.js.map +1 -0
  55. package/lib/linux-source-preflight.d.ts +31 -0
  56. package/lib/linux-source-preflight.d.ts.map +1 -0
  57. package/lib/linux-source-preflight.js +101 -0
  58. package/lib/linux-source-preflight.js.map +1 -0
  59. package/lib/live-qualification-runtime.d.ts +6 -2
  60. package/lib/live-qualification-runtime.d.ts.map +1 -1
  61. package/lib/live-qualification-runtime.js +65 -11
  62. package/lib/live-qualification-runtime.js.map +1 -1
  63. package/lib/owner-task-gap-types.d.ts +23 -0
  64. package/lib/owner-task-gap-types.d.ts.map +1 -1
  65. package/lib/owner-task-gaps.d.ts +4 -0
  66. package/lib/owner-task-gaps.d.ts.map +1 -1
  67. package/lib/owner-task-gaps.js +35 -1
  68. package/lib/owner-task-gaps.js.map +1 -1
  69. package/lib/scanner-owner-runtime.d.ts +34 -0
  70. package/lib/scanner-owner-runtime.d.ts.map +1 -0
  71. package/lib/scanner-owner-runtime.js +99 -0
  72. package/lib/scanner-owner-runtime.js.map +1 -0
  73. package/lib/service.d.ts +82 -5
  74. package/lib/service.d.ts.map +1 -1
  75. package/lib/service.js +450 -45
  76. package/lib/service.js.map +1 -1
  77. package/lib/source-approval-authority.d.ts.map +1 -1
  78. package/lib/source-approval-authority.js +25 -7
  79. package/lib/source-approval-authority.js.map +1 -1
  80. package/lib/source-build-diagnostics.d.ts +31 -0
  81. package/lib/source-build-diagnostics.d.ts.map +1 -0
  82. package/lib/source-build-diagnostics.js +110 -0
  83. package/lib/source-build-diagnostics.js.map +1 -0
  84. package/lib/source-build.d.ts +25 -2
  85. package/lib/source-build.d.ts.map +1 -1
  86. package/lib/source-build.js +145 -26
  87. package/lib/source-build.js.map +1 -1
  88. package/lib/source-creation.d.ts +6 -2
  89. package/lib/source-creation.d.ts.map +1 -1
  90. package/lib/source-creation.js +11 -2
  91. package/lib/source-creation.js.map +1 -1
  92. package/lib/source-job-types.d.ts +3 -1
  93. package/lib/source-job-types.d.ts.map +1 -1
  94. package/lib/source-jobs.d.ts +28 -1
  95. package/lib/source-jobs.d.ts.map +1 -1
  96. package/lib/source-jobs.js +117 -26
  97. package/lib/source-jobs.js.map +1 -1
  98. package/lib/sqlite.d.ts +1 -1
  99. package/lib/sqlite.d.ts.map +1 -1
  100. package/lib/sqlite.js +36 -1
  101. package/lib/sqlite.js.map +1 -1
  102. package/lib/store.d.ts +21 -1
  103. package/lib/store.d.ts.map +1 -1
  104. package/lib/store.js +470 -174
  105. package/lib/store.js.map +1 -1
  106. package/lib/systemd-host-authority.d.ts.map +1 -1
  107. package/lib/systemd-host-authority.js +4 -0
  108. package/lib/systemd-host-authority.js.map +1 -1
  109. package/lib/task-observation-runtime.d.ts +6 -2
  110. package/lib/task-observation-runtime.d.ts.map +1 -1
  111. package/lib/task-observation-runtime.js +69 -11
  112. package/lib/task-observation-runtime.js.map +1 -1
  113. package/lib/types.d.ts +47 -1
  114. package/lib/types.d.ts.map +1 -1
  115. package/lib/version.d.ts +1 -1
  116. package/lib/version.js +1 -1
  117. package/lib/work-item-creation-contract.d.ts +17 -0
  118. package/lib/work-item-creation-contract.d.ts.map +1 -0
  119. package/lib/work-item-creation-contract.js +61 -0
  120. package/lib/work-item-creation-contract.js.map +1 -0
  121. package/package.json +10 -10
@@ -0,0 +1,191 @@
1
+ import { ControlPlaneStoreError } from './store.js';
2
+ /**
3
+ * In-process reload protocol.
4
+ *
5
+ * An in-process reload replaces the mounted plugin tree of a *running* Host
6
+ * process (Cordis Loader/Include refresh) instead of restarting the systemd
7
+ * unit. Consequently the Host **process generation** must not change: the only
8
+ * evidence that may be claimed is a monotonic `inProcessGeneration` plus a
9
+ * probe of the freshly mounted fibers. A process restart belongs to the
10
+ * existing `{ kind: 'reload' }` attestation path and must never be reported
11
+ * through this module.
12
+ *
13
+ * This module is pure policy/orchestration over an injected Host port. It never
14
+ * touches the filesystem, Cordis or systemd, and it never reports a reload
15
+ * without a probe digest produced by the Host adapter.
16
+ */
17
+ export type InProcessReloadRefusalReason = 'not-awaiting-reload' | 'not-rollback-eligible' | 'stale-fence' | 'warrant-digest-mismatch' | 'warrant-expired' | 'artifact-digest-mismatch' | 'patch-digest-mismatch' | 'invalid-target' | 'never-hot-reload' | 'process-subtree-change' | 'unproven-process-authority' | 'loader-unavailable' | 'host-generation-changed' | 'in-process-generation-not-monotonic' | 'unproven-reload' | 'probe-failed' | 'probe-digest-invalid';
18
+ /** Typed refusal. Distinct `reason` values are stable machine-readable codes. */
19
+ export declare class InProcessReloadRefusal extends ControlPlaneStoreError {
20
+ readonly reason: InProcessReloadRefusalReason;
21
+ constructor(reason: InProcessReloadRefusalReason, message: string);
22
+ }
23
+ /** Plugins that must never be replaced inside a live Host process. */
24
+ export declare const IN_PROCESS_RELOAD_DENYLIST: readonly string[];
25
+ export interface InProcessReloadTarget {
26
+ /** Published plugin package name being reloaded. */
27
+ package: string;
28
+ version: string;
29
+ /** SHA-256 of the sealed artifact that must be mounted after the reload. */
30
+ artifactDigest: string;
31
+ /** SHA-256 of the profile/bundle patch applied by the Host adapter. */
32
+ patchDigest: string;
33
+ /** True when the patch changes the unit or the dependency subtree: those require a process restart. */
34
+ changesProcessSubtree: boolean;
35
+ /** True when the candidate would hold process/cgroup authority that this Host has not proven. */
36
+ holdsUnprovenProcessAuthority: boolean;
37
+ }
38
+ /**
39
+ * Minimal plan projection consumed by this protocol. It is structurally
40
+ * satisfied by `PluginActivationPlan`; the reload decision only needs status,
41
+ * fence and generation binding.
42
+ */
43
+ export interface InProcessReloadSnapshot {
44
+ planId: string;
45
+ planDigest: string;
46
+ /** Must be `'awaiting-reload'` for a reload to be prepared or applied. */
47
+ status: string;
48
+ activation: {
49
+ id: string;
50
+ fence: number;
51
+ };
52
+ /** Host process generation (must stay unchanged across the reload). */
53
+ hostGeneration: number;
54
+ /** Monotonic per-process reload generation (starts at 1). */
55
+ inProcessGeneration: number;
56
+ /** Identity of the tree that is currently mounted in this Host process. */
57
+ running: {
58
+ artifactDigest: string;
59
+ patchDigest: string;
60
+ };
61
+ target: InProcessReloadTarget;
62
+ }
63
+ /** JSON-safe, signed-input shaped probe produced by the Host adapter. */
64
+ export interface InProcessReloadHostProbe {
65
+ /** Number of probe assertions that ran; must be >= 1. */
66
+ checks: number;
67
+ /** Number of failed assertions; must be 0 for any success claim. */
68
+ failures: number;
69
+ /** True only when the probe actually observed replaced fibers. */
70
+ reloaded: boolean;
71
+ /** Number of old fibers observed as disposed. */
72
+ fibersDisposed: number;
73
+ /** SHA-256 over the complete probe observation. */
74
+ probeDigest: string;
75
+ }
76
+ export interface InProcessReloadHostActivationInput {
77
+ warrantDigest: string;
78
+ target: InProcessReloadTarget;
79
+ previousHostGeneration: number;
80
+ previousInProcessGeneration: number;
81
+ }
82
+ export interface InProcessReloadHostActivationResult {
83
+ previousHostGeneration: number;
84
+ currentHostGeneration: number;
85
+ previousInProcessGeneration: number;
86
+ currentInProcessGeneration: number;
87
+ probe: InProcessReloadHostProbe;
88
+ }
89
+ export interface InProcessReloadHostRollbackInput {
90
+ warrantDigest: string;
91
+ target: InProcessReloadTarget;
92
+ /** Generation that the failed/undesired reload produced. */
93
+ reloadedInProcessGeneration: number;
94
+ }
95
+ export interface InProcessReloadHostRollbackResult {
96
+ hostGeneration: number;
97
+ inProcessGeneration: number;
98
+ restored: boolean;
99
+ profileRestored: boolean;
100
+ probe: InProcessReloadHostProbe;
101
+ }
102
+ /**
103
+ * Host-side capability seam. `@dsh-enhanced/assistant-delivery`'s
104
+ * `in-process-reload-runtime` exports a structurally compatible implementation;
105
+ * the Host wires it in. When it is absent, no reload happens.
106
+ */
107
+ export interface InProcessReloadHostPort {
108
+ activate(input: InProcessReloadHostActivationInput): Promise<InProcessReloadHostActivationResult>;
109
+ rollback(input: InProcessReloadHostRollbackInput): Promise<InProcessReloadHostRollbackResult>;
110
+ }
111
+ export interface InProcessReloadWarrant {
112
+ schemaVersion: 1;
113
+ kind: 'dsh-in-process-reload-warrant';
114
+ planId: string;
115
+ planDigest: string;
116
+ activationId: string;
117
+ fence: number;
118
+ target: InProcessReloadTarget;
119
+ previousHostGeneration: number;
120
+ previousInProcessGeneration: number;
121
+ requestedAt: number;
122
+ expiresAt: number;
123
+ digest: string;
124
+ }
125
+ export type InProcessReloadWarrantBody = Omit<InProcessReloadWarrant, 'digest'>;
126
+ export declare function inProcessReloadWarrantDigest(warrant: InProcessReloadWarrantBody): string;
127
+ export interface PrepareInProcessReloadInput {
128
+ snapshot: InProcessReloadSnapshot;
129
+ requestedAt: number;
130
+ ttlMs: number;
131
+ }
132
+ /**
133
+ * Prepare an in-process reload warrant. Only a plan parked at `awaiting-reload`
134
+ * with a matching target may produce a warrant; every other state refuses.
135
+ */
136
+ export declare function prepareInProcessReload(input: PrepareInProcessReloadInput): InProcessReloadWarrant;
137
+ export type InProcessReloadOutcomeCode = 'host-activation-failed' | 'host-generation-changed' | 'in-process-generation-not-monotonic' | 'host-rollback-failed' | 'restore-unproven' | 'probe-failed' | 'probe-digest-invalid' | 'unproven-reload';
138
+ export interface InProcessReloadApplied {
139
+ status: 'reloaded';
140
+ reloaded: true;
141
+ previousHostGeneration: number;
142
+ currentHostGeneration: number;
143
+ previousInProcessGeneration: number;
144
+ currentInProcessGeneration: number;
145
+ fibersDisposed: number;
146
+ probeDigest: string;
147
+ warrantDigest: string;
148
+ }
149
+ export interface InProcessReloadRollbackPending {
150
+ status: 'rollback-pending';
151
+ code: InProcessReloadOutcomeCode;
152
+ detail: string;
153
+ warrantDigest: string;
154
+ }
155
+ export type InProcessReloadApplyResult = InProcessReloadApplied | InProcessReloadRollbackPending;
156
+ /**
157
+ * Apply a prepared warrant through the Host port.
158
+ *
159
+ * Refusals (state/fence/digest/expiry) throw `InProcessReloadRefusal` and never
160
+ * touch the Host. Operational failures — a Host exception, a moved process
161
+ * generation, a non-monotonic in-process generation, or any probe assertion
162
+ * failure — return `rollback-pending`; this function has no path that reports
163
+ * a reload without a valid, failure-free probe digest.
164
+ */
165
+ export declare function applyInProcessReload(input: {
166
+ warrant: InProcessReloadWarrant;
167
+ snapshot: InProcessReloadSnapshot;
168
+ port: InProcessReloadHostPort;
169
+ now: number;
170
+ }): Promise<InProcessReloadApplyResult>;
171
+ export interface InProcessReloadRolledBack {
172
+ status: 'rolled-back';
173
+ restored: true;
174
+ hostGeneration: number;
175
+ inProcessGeneration: number;
176
+ probeDigest: string;
177
+ warrantDigest: string;
178
+ }
179
+ export type InProcessReloadRollbackResult = InProcessReloadRolledBack | InProcessReloadRollbackPending;
180
+ /**
181
+ * Roll back a failed (or deliberately reverted) in-process reload. A rollback
182
+ * claim requires both an explicit profile restore and a failure-free probe; a
183
+ * partial rollback stays `rollback-pending`.
184
+ */
185
+ export declare function rollbackInProcessReload(input: {
186
+ warrant: InProcessReloadWarrant;
187
+ snapshot: InProcessReloadSnapshot;
188
+ port: InProcessReloadHostPort;
189
+ now: number;
190
+ }): Promise<InProcessReloadRollbackResult>;
191
+ //# sourceMappingURL=in-process-reload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-process-reload.d.ts","sourceRoot":"","sources":["../src/in-process-reload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,284 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { ControlPlaneStoreError } from './store.js';
3
+ const REFUSAL_CODES = Object.freeze({
4
+ 'not-awaiting-reload': 'invalid-state',
5
+ 'not-rollback-eligible': 'invalid-state',
6
+ 'stale-fence': 'conflict',
7
+ 'warrant-digest-mismatch': 'conflict',
8
+ 'warrant-expired': 'expired',
9
+ 'artifact-digest-mismatch': 'conflict',
10
+ 'patch-digest-mismatch': 'conflict',
11
+ 'invalid-target': 'invalid-input',
12
+ 'never-hot-reload': 'conflict',
13
+ 'process-subtree-change': 'conflict',
14
+ 'unproven-process-authority': 'conflict',
15
+ 'loader-unavailable': 'invalid-state',
16
+ 'host-generation-changed': 'conflict',
17
+ 'in-process-generation-not-monotonic': 'conflict',
18
+ 'unproven-reload': 'invalid-input',
19
+ 'probe-failed': 'invalid-input',
20
+ 'probe-digest-invalid': 'invalid-input',
21
+ });
22
+ /** Typed refusal. Distinct `reason` values are stable machine-readable codes. */
23
+ export class InProcessReloadRefusal extends ControlPlaneStoreError {
24
+ reason;
25
+ constructor(reason, message) {
26
+ super(REFUSAL_CODES[reason], message);
27
+ this.reason = reason;
28
+ this.name = 'InProcessReloadRefusal';
29
+ }
30
+ }
31
+ const DIGEST = /^[a-f0-9]{64}$/u;
32
+ const ID = /^[A-Za-z0-9][A-Za-z0-9._:/@-]{0,199}$/u;
33
+ const PACKAGE = /^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]{0,213}$/u;
34
+ /** Plugins that must never be replaced inside a live Host process. */
35
+ export const IN_PROCESS_RELOAD_DENYLIST = Object.freeze([
36
+ '@dsh-enhanced/plugin-control-plane',
37
+ '@dsh-enhanced/assistant-delivery',
38
+ '@dsh-enhanced/assistant-isolation',
39
+ '@dsh-enhanced/lark-channel',
40
+ ]);
41
+ function canonical(value) {
42
+ if (Array.isArray(value))
43
+ return `[${value.map(canonical).join(',')}]`;
44
+ if (typeof value === 'object' && value !== null) {
45
+ return `{${Object.entries(value).filter(([, item]) => item !== undefined)
46
+ .sort(([left], [right]) => left.localeCompare(right)).map(([key, item]) => `${JSON.stringify(key)}:${canonical(item)}`).join(',')}}`;
47
+ }
48
+ return JSON.stringify(value);
49
+ }
50
+ function digestOf(value) { return createHash('sha256').update(canonical(value)).digest('hex'); }
51
+ function textOf(value, label, pattern = ID) {
52
+ if (typeof value !== 'string' || !pattern.test(value))
53
+ throw new InProcessReloadRefusal('invalid-target', `${label} is invalid`);
54
+ return value;
55
+ }
56
+ function digestField(value, label) {
57
+ if (typeof value !== 'string' || !DIGEST.test(value))
58
+ throw new InProcessReloadRefusal('invalid-target', `${label} must be a SHA-256 digest`);
59
+ return value;
60
+ }
61
+ function integerOf(value, label, minimum = 1) {
62
+ if (typeof value !== 'number' || !Number.isSafeInteger(value) || value < minimum) {
63
+ throw new InProcessReloadRefusal('invalid-target', `${label} must be an integer >= ${minimum}`);
64
+ }
65
+ return value;
66
+ }
67
+ function sameTarget(left, right) {
68
+ return left.package === right.package && left.version === right.version
69
+ && left.artifactDigest === right.artifactDigest && left.patchDigest === right.patchDigest
70
+ && left.changesProcessSubtree === right.changesProcessSubtree
71
+ && left.holdsUnprovenProcessAuthority === right.holdsUnprovenProcessAuthority;
72
+ }
73
+ export function inProcessReloadWarrantDigest(warrant) { return digestOf(warrant); }
74
+ function assertTarget(target) {
75
+ textOf(target.package, 'target package', PACKAGE);
76
+ textOf(target.version, 'target version');
77
+ digestField(target.artifactDigest, 'target artifactDigest');
78
+ digestField(target.patchDigest, 'target patchDigest');
79
+ if (typeof target.changesProcessSubtree !== 'boolean')
80
+ throw new InProcessReloadRefusal('invalid-target', 'target changesProcessSubtree must be boolean');
81
+ if (typeof target.holdsUnprovenProcessAuthority !== 'boolean')
82
+ throw new InProcessReloadRefusal('invalid-target', 'target holdsUnprovenProcessAuthority must be boolean');
83
+ }
84
+ function assertReloadable(target) {
85
+ if (IN_PROCESS_RELOAD_DENYLIST.includes(target.package)) {
86
+ throw new InProcessReloadRefusal('never-hot-reload', `${target.package} must never be reloaded inside a live Host process`);
87
+ }
88
+ if (target.changesProcessSubtree) {
89
+ throw new InProcessReloadRefusal('process-subtree-change', `${target.package} changes the unit/dependency subtree and requires a process restart`);
90
+ }
91
+ if (target.holdsUnprovenProcessAuthority) {
92
+ throw new InProcessReloadRefusal('unproven-process-authority', `${target.package} would hold unproven process/cgroup authority`);
93
+ }
94
+ }
95
+ /**
96
+ * An in-process reload can only replace the running *configuration/patch* of an
97
+ * already-mounted artifact. Replacing the installed artifact code would need a
98
+ * module re-import that the pinned Loader does not perform (ESM import caching),
99
+ * so it stays a process-restart obligation.
100
+ */
101
+ function assertInProcessScope(snapshot) {
102
+ if (snapshot.running.artifactDigest !== snapshot.target.artifactDigest) {
103
+ throw new InProcessReloadRefusal('artifact-digest-mismatch', 'in-process reload cannot replace the installed artifact; the artifact change requires a process restart');
104
+ }
105
+ if (snapshot.running.patchDigest === snapshot.target.patchDigest) {
106
+ throw new InProcessReloadRefusal('patch-digest-mismatch', 'in-process reload requires a changed profile patch');
107
+ }
108
+ }
109
+ function assertSnapshot(snapshot) {
110
+ textOf(snapshot.planId, 'snapshot planId');
111
+ digestField(snapshot.planDigest, 'snapshot planDigest');
112
+ textOf(snapshot.activation.id, 'snapshot activation id');
113
+ integerOf(snapshot.activation.fence, 'snapshot fence');
114
+ integerOf(snapshot.hostGeneration, 'snapshot hostGeneration');
115
+ integerOf(snapshot.inProcessGeneration, 'snapshot inProcessGeneration');
116
+ digestField(snapshot.running.artifactDigest, 'snapshot running artifactDigest');
117
+ digestField(snapshot.running.patchDigest, 'snapshot running patchDigest');
118
+ assertTarget(snapshot.target);
119
+ }
120
+ /**
121
+ * Prepare an in-process reload warrant. Only a plan parked at `awaiting-reload`
122
+ * with a matching target may produce a warrant; every other state refuses.
123
+ */
124
+ export function prepareInProcessReload(input) {
125
+ const { snapshot, requestedAt, ttlMs } = input;
126
+ assertSnapshot(snapshot);
127
+ if (snapshot.status !== 'awaiting-reload') {
128
+ throw new InProcessReloadRefusal('not-awaiting-reload', `in-process reload requires plan status awaiting-reload, got ${snapshot.status}`);
129
+ }
130
+ assertReloadable(snapshot.target);
131
+ assertInProcessScope(snapshot);
132
+ integerOf(requestedAt, 'requestedAt', 0);
133
+ integerOf(ttlMs, 'ttlMs');
134
+ const body = {
135
+ schemaVersion: 1,
136
+ kind: 'dsh-in-process-reload-warrant',
137
+ planId: snapshot.planId,
138
+ planDigest: snapshot.planDigest,
139
+ activationId: snapshot.activation.id,
140
+ fence: snapshot.activation.fence,
141
+ target: { ...snapshot.target },
142
+ previousHostGeneration: snapshot.hostGeneration,
143
+ previousInProcessGeneration: snapshot.inProcessGeneration,
144
+ requestedAt,
145
+ expiresAt: requestedAt + ttlMs,
146
+ };
147
+ return Object.freeze({ ...body, digest: inProcessReloadWarrantDigest(body) });
148
+ }
149
+ function assertWarrantStillBound(warrant, snapshot, now) {
150
+ if (typeof warrant.digest !== 'string' || !DIGEST.test(warrant.digest)) {
151
+ throw new InProcessReloadRefusal('warrant-digest-mismatch', 'in-process reload warrant digest is invalid');
152
+ }
153
+ const { digest: _digest, ...body } = warrant;
154
+ if (inProcessReloadWarrantDigest(body) !== warrant.digest) {
155
+ throw new InProcessReloadRefusal('warrant-digest-mismatch', 'in-process reload warrant digest does not match its body');
156
+ }
157
+ if (warrant.planId !== snapshot.planId || warrant.planDigest !== snapshot.planDigest) {
158
+ throw new InProcessReloadRefusal('stale-fence', 'in-process reload warrant belongs to another plan revision');
159
+ }
160
+ if (warrant.activationId !== snapshot.activation.id || warrant.fence !== snapshot.activation.fence) {
161
+ throw new InProcessReloadRefusal('stale-fence', 'in-process reload warrant is fenced out by a newer activation');
162
+ }
163
+ if (warrant.previousHostGeneration !== snapshot.hostGeneration
164
+ || warrant.previousInProcessGeneration !== snapshot.inProcessGeneration) {
165
+ throw new InProcessReloadRefusal('stale-fence', 'in-process reload warrant generation binding is stale');
166
+ }
167
+ if (!sameTarget(warrant.target, snapshot.target)) {
168
+ throw new InProcessReloadRefusal('artifact-digest-mismatch', 'in-process reload warrant target no longer matches the plan');
169
+ }
170
+ if (!Number.isSafeInteger(now) || now > warrant.expiresAt) {
171
+ throw new InProcessReloadRefusal('warrant-expired', 'in-process reload warrant is outside its validity interval');
172
+ }
173
+ }
174
+ function probed(value) {
175
+ return typeof value === 'object' && value !== null
176
+ && Number.isSafeInteger(value.checks) && value.checks >= 1
177
+ && Number.isSafeInteger(value.failures) && value.failures >= 0
178
+ && typeof value.reloaded === 'boolean'
179
+ && Number.isSafeInteger(value.fibersDisposed) && value.fibersDisposed >= 0
180
+ && typeof value.probeDigest === 'string' && DIGEST.test(value.probeDigest);
181
+ }
182
+ function failure(detail, code, warrantDigest) {
183
+ return { status: 'rollback-pending', code, detail, warrantDigest };
184
+ }
185
+ /**
186
+ * Apply a prepared warrant through the Host port.
187
+ *
188
+ * Refusals (state/fence/digest/expiry) throw `InProcessReloadRefusal` and never
189
+ * touch the Host. Operational failures — a Host exception, a moved process
190
+ * generation, a non-monotonic in-process generation, or any probe assertion
191
+ * failure — return `rollback-pending`; this function has no path that reports
192
+ * a reload without a valid, failure-free probe digest.
193
+ */
194
+ export async function applyInProcessReload(input) {
195
+ const { warrant, snapshot, port, now } = input;
196
+ assertSnapshot(snapshot);
197
+ assertWarrantStillBound(warrant, snapshot, now);
198
+ if (snapshot.status !== 'awaiting-reload') {
199
+ throw new InProcessReloadRefusal('not-awaiting-reload', `in-process reload requires plan status awaiting-reload, got ${snapshot.status}`);
200
+ }
201
+ assertReloadable(snapshot.target);
202
+ assertInProcessScope(snapshot);
203
+ let result;
204
+ try {
205
+ result = await port.activate({
206
+ warrantDigest: warrant.digest,
207
+ target: { ...warrant.target },
208
+ previousHostGeneration: warrant.previousHostGeneration,
209
+ previousInProcessGeneration: warrant.previousInProcessGeneration,
210
+ });
211
+ }
212
+ catch (error) {
213
+ return failure(`Host activation failed: ${error instanceof Error ? error.message : String(error)}`, 'host-activation-failed', warrant.digest);
214
+ }
215
+ if (result.previousHostGeneration !== warrant.previousHostGeneration
216
+ || result.currentHostGeneration !== warrant.previousHostGeneration) {
217
+ return failure('Host process generation changed during an in-process reload', 'host-generation-changed', warrant.digest);
218
+ }
219
+ if (result.previousInProcessGeneration !== warrant.previousInProcessGeneration
220
+ || result.currentInProcessGeneration !== warrant.previousInProcessGeneration + 1) {
221
+ return failure('in-process generation is not monotonic', 'in-process-generation-not-monotonic', warrant.digest);
222
+ }
223
+ if (!probed(result.probe))
224
+ return failure('Host probe is missing or malformed', 'probe-failed', warrant.digest);
225
+ if (result.probe.failures !== 0)
226
+ return failure(`Host probe reported ${result.probe.failures} failure(s)`, 'probe-failed', warrant.digest);
227
+ if (!result.probe.reloaded)
228
+ return failure('Host probe did not observe replaced fibers', 'unproven-reload', warrant.digest);
229
+ return {
230
+ status: 'reloaded',
231
+ reloaded: true,
232
+ previousHostGeneration: warrant.previousHostGeneration,
233
+ currentHostGeneration: result.currentHostGeneration,
234
+ previousInProcessGeneration: warrant.previousInProcessGeneration,
235
+ currentInProcessGeneration: result.currentInProcessGeneration,
236
+ fibersDisposed: result.probe.fibersDisposed,
237
+ probeDigest: result.probe.probeDigest,
238
+ warrantDigest: warrant.digest,
239
+ };
240
+ }
241
+ /**
242
+ * Roll back a failed (or deliberately reverted) in-process reload. A rollback
243
+ * claim requires both an explicit profile restore and a failure-free probe; a
244
+ * partial rollback stays `rollback-pending`.
245
+ */
246
+ export async function rollbackInProcessReload(input) {
247
+ const { warrant, snapshot, port, now } = input;
248
+ assertSnapshot(snapshot);
249
+ assertWarrantStillBound(warrant, snapshot, now);
250
+ if (snapshot.status !== 'rollback-pending' && snapshot.status !== 'reloaded') {
251
+ throw new InProcessReloadRefusal('not-rollback-eligible', `in-process reload rollback requires rollback-pending or reloaded, got ${snapshot.status}`);
252
+ }
253
+ assertReloadable(snapshot.target);
254
+ let result;
255
+ try {
256
+ result = await port.rollback({
257
+ warrantDigest: warrant.digest,
258
+ target: { ...warrant.target },
259
+ reloadedInProcessGeneration: snapshot.inProcessGeneration,
260
+ });
261
+ }
262
+ catch (error) {
263
+ return failure(`Host rollback failed: ${error instanceof Error ? error.message : String(error)}`, 'host-rollback-failed', warrant.digest);
264
+ }
265
+ if (result.hostGeneration !== warrant.previousHostGeneration) {
266
+ return failure('Host process generation changed during rollback', 'host-generation-changed', warrant.digest);
267
+ }
268
+ if (!result.restored || !result.profileRestored)
269
+ return failure('Host did not prove the profile restore', 'restore-unproven', warrant.digest);
270
+ if (!probed(result.probe))
271
+ return failure('Host rollback probe is missing or malformed', 'probe-failed', warrant.digest);
272
+ if (result.probe.failures !== 0 || !result.probe.reloaded) {
273
+ return failure('Host rollback probe did not prove a serving tree', 'probe-failed', warrant.digest);
274
+ }
275
+ return {
276
+ status: 'rolled-back',
277
+ restored: true,
278
+ hostGeneration: result.hostGeneration,
279
+ inProcessGeneration: result.inProcessGeneration,
280
+ probeDigest: result.probe.probeDigest,
281
+ warrantDigest: warrant.digest,
282
+ };
283
+ }
284
+ //# sourceMappingURL=in-process-reload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-process-reload.js","sourceRoot":"","sources":["../src/in-process-reload.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -5,11 +5,13 @@ export declare const name = "dsh-enhanced-plugin-control-plane";
5
5
  export { PluginControlPlaneService, normalizeControlPlaneConfig, version };
6
6
  export { Config } from './service.js';
7
7
  export type { NormalizedControlPlaneConfig } from './service.js';
8
- export type { CreationCapabilityConfig, CreationCapabilityOwner, CreationCapabilityReceipt, CreationCapabilitySourceArchive, CreationCapabilityTaskAssociation } from './creation-capability-types.js';
8
+ export type { CreationCapabilityConfig, CreationCapabilityOwner, CreationCapabilityReceipt, CreationCapabilitySourceArchive, CreationCapabilityTaskAssociation, CreationCapabilityOrdinaryUseReport, CreationCapabilityOrdinaryUseStratum, CreationCapabilityOrdinaryUseMeasures, CreationCapabilityOrdinaryUseModel, CreationCapabilityOrdinaryUseQuality, CreationCapabilityOrdinaryUseLatency, CreationCapabilityAvailabilityAttribution, CreationCapabilityAttributionStratum, CreationCapabilityAttributionArm, CreationCapabilityAttributionDelta, CreationCapabilityOrdinaryUseTrend, CreationCapabilityTrendWindow, CreationCapabilityTrendCell, CreationCapabilityTrendStratum, CreationCapabilityTrendDifferenceInDifferences, CreationCapabilityTrendParallelCheck, CreationCapabilityTrendFlag } from './creation-capability-types.js';
9
9
  export type { CreationCapabilitySourceSnapshot } from './creation-capability-source.js';
10
- export { inspectCreationCapabilityTaskAssociations } from './creation-capability-feedback.js';
11
- export type { CreationCapabilityFeedbackInput } from './creation-capability-feedback.js';
12
- export { validateCreationCapabilityConfig, verifyCreationCapabilityReceipt } from './creation-capability-journal.js';
10
+ export { inspectCreationCapabilityAvailabilityAttribution, inspectCreationCapabilityOrdinaryUseReport, inspectCreationCapabilityOrdinaryUseTrend, inspectCreationCapabilityTaskAssociations } from './creation-capability-feedback.js';
11
+ export type { CreationCapabilityAttributionInput, CreationCapabilityFeedbackInput, CreationCapabilityTrendInput } from './creation-capability-feedback.js';
12
+ export { assertCreationCapabilityTrendSnapshot, createCreationCapabilityTrendSnapshot, TREND_SNAPSHOT_DEFAULT_PAGE, TREND_SNAPSHOT_MAX_PAGE } from './creation-capability-trend-snapshot.js';
13
+ export type { CreationCapabilityTrendSnapshot, CreationCapabilityTrendSnapshotPage, CreationCapabilityTrendSnapshotQuery, CreationCapabilityTrendSnapshotRecord } from './creation-capability-trend-snapshot.js';
14
+ export { creationCapabilityAuthorityDigest, creationCapabilityPublicKey, validateCreationCapabilityConfig, verifyCreationCapabilityReceipt } from './creation-capability-journal.js';
13
15
  export * from './catalog.js';
14
16
  export * from './errors.js';
15
17
  export * from './source-workspace.js';
@@ -23,6 +25,7 @@ export type { SourceAdoptionAuthorityConfig } from './source-adoption-authority.
23
25
  export * from './attestation.js';
24
26
  export * from './host-attestor.js';
25
27
  export * from './runtime-observer.js';
28
+ export * from './in-process-reload.js';
26
29
  export type { ForegroundDeploymentConfig } from './foreground-deployment-runtime.js';
27
30
  export type * from './task-observation-types.js';
28
31
  export { validateTaskObservationAuthorityConfig } from './task-observation-authority.js';
@@ -41,6 +44,7 @@ export * from './types.js';
41
44
  export * from './trust.js';
42
45
  export type * from './source-job-types.js';
43
46
  export { validateSourceBaselineConfig } from './source-baseline.js';
47
+ export { validateSourceBuildConfig } from './source-build.js';
44
48
  export type { SourceBaselineConfig } from './source-baseline.js';
45
49
  export { parseSourceMaintenanceRecord, signSourceMaintenanceRecord, sourceBaselineChain, sourceMaintenanceDigest, sourceMaintenanceSourceFieldsDigest, verifySourceMaintenanceRecords } from './source-maintenance.js';
46
50
  export type { SourceMaintenanceRecord, SourceMaintenanceAnchor } from './source-maintenance.js';
@@ -56,4 +60,8 @@ export type { LiveQualificationTerms, LiveQualificationBatch, LiveQualificationR
56
60
  export { validateSystemdHostAuthorityConfig } from './systemd-host-authority.js';
57
61
  export type { SystemdHostAuthorityConfig } from './systemd-host-authority.js';
58
62
  export * from './host-maintenance.js';
63
+ export { planEmptyAdoptionHandoff, applyEmptyAdoptionHandoff, verifyEmptyAdoptionHandoff } from './creation-capability-empty-handoff.js';
64
+ export type { EmptyAdoptionScope, EmptyAdoptionPlan, EmptyAdoptionProof } from './creation-capability-empty-handoff.js';
65
+ export { planSealedAdoptionHandoff, applySealedAdoptionHandoff, verifySealedAdoptionHandoff, readSealedAdoptionHandoffDigest, readSealedReverificationSource, assertSealedReplayPlanIdIsolated } from './creation-capability-sealed-handoff.js';
66
+ export type { SealedAdoptionScope, SealedAdoptionPlan, SealedAdoptionProof, SealedAdoptionHistory, SealedAdoptionRow, SealedPendingReverification, SealedReverificationSource, SealedReplayPlanIdIsolation } from './creation-capability-sealed-handoff.js';
59
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -3,8 +3,9 @@ import { version } from './version.js';
3
3
  export const name = 'dsh-enhanced-plugin-control-plane';
4
4
  export { PluginControlPlaneService, normalizeControlPlaneConfig, version };
5
5
  export { Config } from './service.js';
6
- export { inspectCreationCapabilityTaskAssociations } from './creation-capability-feedback.js';
7
- export { validateCreationCapabilityConfig, verifyCreationCapabilityReceipt } from './creation-capability-journal.js';
6
+ export { inspectCreationCapabilityAvailabilityAttribution, inspectCreationCapabilityOrdinaryUseReport, inspectCreationCapabilityOrdinaryUseTrend, inspectCreationCapabilityTaskAssociations } from './creation-capability-feedback.js';
7
+ export { assertCreationCapabilityTrendSnapshot, createCreationCapabilityTrendSnapshot, TREND_SNAPSHOT_DEFAULT_PAGE, TREND_SNAPSHOT_MAX_PAGE } from './creation-capability-trend-snapshot.js';
8
+ export { creationCapabilityAuthorityDigest, creationCapabilityPublicKey, validateCreationCapabilityConfig, verifyCreationCapabilityReceipt } from './creation-capability-journal.js';
8
9
  export * from './catalog.js';
9
10
  export * from './errors.js';
10
11
  export * from './source-workspace.js';
@@ -14,6 +15,7 @@ export { validateSourceAdoptionAuthorityConfig } from './source-adoption-authori
14
15
  export * from './attestation.js';
15
16
  export * from './host-attestor.js';
16
17
  export * from './runtime-observer.js';
18
+ export * from './in-process-reload.js';
17
19
  export { validateTaskObservationAuthorityConfig } from './task-observation-authority.js';
18
20
  export * from './effect-blocked-replay.js';
19
21
  export * from './replay-endpoint.js';
@@ -26,6 +28,7 @@ export * from './store.js';
26
28
  export * from './types.js';
27
29
  export * from './trust.js';
28
30
  export { validateSourceBaselineConfig } from './source-baseline.js';
31
+ export { validateSourceBuildConfig } from './source-build.js';
29
32
  export { parseSourceMaintenanceRecord, signSourceMaintenanceRecord, sourceBaselineChain, sourceMaintenanceDigest, sourceMaintenanceSourceFieldsDigest, verifySourceMaintenanceRecords } from './source-maintenance.js';
30
33
  export function apply(ctx, config) {
31
34
  new PluginControlPlaneService(ctx, config);
@@ -34,4 +37,7 @@ export default PluginControlPlaneService;
34
37
  export { validateLiveQualificationAuthorityConfig } from './live-qualification-authority.js';
35
38
  export { validateSystemdHostAuthorityConfig } from './systemd-host-authority.js';
36
39
  export * from './host-maintenance.js';
40
+ // Fixed-purpose Host/installer maintenance; never mounted as a model tool.
41
+ export { planEmptyAdoptionHandoff, applyEmptyAdoptionHandoff, verifyEmptyAdoptionHandoff } from './creation-capability-empty-handoff.js';
42
+ export { planSealedAdoptionHandoff, applySealedAdoptionHandoff, verifySealedAdoptionHandoff, readSealedAdoptionHandoffDigest, readSealedReverificationSource, assertSealedReplayPlanIdIsolated } from './creation-capability-sealed-handoff.js';
37
43
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAe,MAAM,cAAc,CAAA;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,mCAAmC,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,OAAO,EAAE,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAKrC,OAAO,EAAE,yCAAyC,EAAE,MAAM,mCAAmC,CAAA;AAE7F,OAAO,EAAE,gCAAgC,EAAE,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AACpH,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAE7B,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAA;AAGtF,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAA;AAEtF,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AAGrC,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAA;AAGxF,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAA;AAEpF,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,uBAAuB,EAC9G,mCAAmC,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AAItG,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAc;IAChD,IAAI,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,eAAe,yBAAyB,CAAA;AAKxC,OAAO,EAAE,wCAAwC,EAAE,MAAM,mCAAmC,CAAA;AAI5F,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAA;AAEhF,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAe,MAAM,cAAc,CAAA;AAClG,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,IAAI,GAAG,mCAAmC,CAAA;AACvD,OAAO,EAAE,yBAAyB,EAAE,2BAA2B,EAAE,OAAO,EAAE,CAAA;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAWrC,OAAO,EAAE,gDAAgD,EAAE,0CAA0C,EACnG,yCAAyC,EAAE,yCAAyC,EAAE,MAAM,mCAAmC,CAAA;AAGjI,OAAO,EAAE,qCAAqC,EAAE,qCAAqC,EAAE,2BAA2B,EAChH,uBAAuB,EAAE,MAAM,yCAAyC,CAAA;AAG1E,OAAO,EAAE,iCAAiC,EAAE,2BAA2B,EAAE,gCAAgC,EACvG,+BAA+B,EAAE,MAAM,kCAAkC,CAAA;AAC3E,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAE7B,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAA;AAGtF,OAAO,EAAE,qCAAqC,EAAE,MAAM,gCAAgC,CAAA;AAEtF,cAAc,kBAAkB,CAAA;AAChC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,wBAAwB,CAAA;AAGtC,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAA;AAGxF,cAAc,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,oCAAoC,EAAE,MAAM,+BAA+B,CAAA;AAEpF,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAA;AAE7D,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,uBAAuB,EAC9G,mCAAmC,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAA;AAItG,MAAM,UAAU,KAAK,CAAC,GAAY,EAAE,MAAc;IAChD,IAAI,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;AAC5C,CAAC;AAED,eAAe,yBAAyB,CAAA;AAKxC,OAAO,EAAE,wCAAwC,EAAE,MAAM,mCAAmC,CAAA;AAI5F,OAAO,EAAE,kCAAkC,EAAE,MAAM,6BAA6B,CAAA;AAEhF,cAAc,uBAAuB,CAAA;AAErC,2EAA2E;AAC3E,OAAO,EAAE,wBAAwB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,wCAAwC,CAAA;AAExI,OAAO,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,2BAA2B,EACzF,+BAA+B,EAAE,8BAA8B,EAAE,gCAAgC,EAAE,MAAM,yCAAyC,CAAA"}
@@ -0,0 +1,16 @@
1
+ import type { LinuxRepositoryRunner } from '@dsh-enhanced/assistant-isolation';
2
+ import { type LinuxSourceBuildConfig, type SourceBuildResult, type runDockerPreparedChecks } from './source-build.js';
3
+ import type { LinuxSourcePreparedEvidence } from './types.js';
4
+ export declare const LINUX_SOURCE_PACK_PATH = ".dsh-native-artifact/package.tgz";
5
+ /** Retain the full repository command and both archive/pack integrity checks. */
6
+ export declare const LINUX_PREPARED_SOURCE_BUILD_SCRIPT: string;
7
+ export interface LinuxSourceBuildInput extends Omit<Parameters<typeof runDockerPreparedChecks>[0], 'config' | 'sourceJob'> {
8
+ config: LinuxSourceBuildConfig;
9
+ runner: LinuxRepositoryRunner;
10
+ sourceJob: {
11
+ id: string;
12
+ };
13
+ }
14
+ /** Whole-repository Linux preparation. The runner owns authorization, budget and cgroup receipts. */
15
+ export declare function runLinuxPreparedChecks(provided: LinuxSourceBuildInput): Promise<SourceBuildResult<LinuxSourcePreparedEvidence>>;
16
+ //# sourceMappingURL=linux-source-build.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linux-source-build.d.ts","sourceRoot":"","sources":["../src/linux-source-build.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AAG9E,OAAO,EACL,KAAK,sBAAsB,EAAE,KAAK,iBAAiB,EAAE,KAAK,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AAC9G,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAA;AAM7D,eAAO,MAAM,sBAAsB,qCAAqC,CAAA;AAGxE,iFAAiF;AACjF,eAAO,MAAM,kCAAkC,QAS8D,CAAA;AAG7G,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;IACxH,MAAM,EAAE,sBAAsB,CAAA;IAC9B,MAAM,EAAE,qBAAqB,CAAA;IAC7B,SAAS,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1B;AAgFD,qGAAqG;AACrG,wBAAsB,sBAAsB,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC,2BAA2B,CAAC,CAAC,CAiBrI"}