@dsh-enhanced/plugin-control-plane 0.1.32 → 0.1.35
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 +352 -4
- package/bin/dsh-local-release-adapter.js +80 -16
- package/bin/dsh-npm-registry-adapter.js +613 -0
- package/bin/dsh-source-adoption-authority.js +12 -0
- package/bin/dsh-source-approval-authority.js +16 -0
- package/bin/dsh-source-release-authority.js +12 -0
- package/bin/dsh-systemd-host-attestor.js +707 -0
- package/bin/dsh-task-observation-authority.js +15 -0
- package/lib/adapter-process.d.ts +23 -0
- package/lib/adapter-process.d.ts.map +1 -0
- package/lib/adapter-process.js +305 -0
- package/lib/adapter-process.js.map +1 -0
- package/lib/adoption-coordinator.d.ts +63 -0
- package/lib/adoption-coordinator.d.ts.map +1 -0
- package/lib/adoption-coordinator.js +241 -0
- package/lib/adoption-coordinator.js.map +1 -0
- package/lib/adoption-handoff.d.ts +16 -0
- package/lib/adoption-handoff.d.ts.map +1 -0
- package/lib/adoption-handoff.js +11 -0
- package/lib/adoption-handoff.js.map +1 -0
- package/lib/attestation.d.ts.map +1 -1
- package/lib/attestation.js +49 -1
- package/lib/attestation.js.map +1 -1
- package/lib/catalog.d.ts.map +1 -1
- package/lib/catalog.js +29 -2
- package/lib/catalog.js.map +1 -1
- package/lib/cli.d.ts +33 -9
- package/lib/cli.d.ts.map +1 -1
- package/lib/cli.js +624 -178
- package/lib/cli.js.map +1 -1
- package/lib/deployment-readiness.d.ts +38 -0
- package/lib/deployment-readiness.d.ts.map +1 -0
- package/lib/deployment-readiness.js +154 -0
- package/lib/deployment-readiness.js.map +1 -0
- package/lib/effect-blocked-replay.d.ts +81 -0
- package/lib/effect-blocked-replay.d.ts.map +1 -0
- package/lib/effect-blocked-replay.js +259 -0
- package/lib/effect-blocked-replay.js.map +1 -0
- package/lib/errors.d.ts +6 -0
- package/lib/errors.d.ts.map +1 -0
- package/lib/errors.js +9 -0
- package/lib/errors.js.map +1 -0
- package/lib/foreground-deployment-runtime.d.ts +20 -0
- package/lib/foreground-deployment-runtime.d.ts.map +1 -0
- package/lib/foreground-deployment-runtime.js +79 -0
- package/lib/foreground-deployment-runtime.js.map +1 -0
- package/lib/foreground-deployment.d.ts +17 -0
- package/lib/foreground-deployment.d.ts.map +1 -0
- package/lib/foreground-deployment.js +43 -0
- package/lib/foreground-deployment.js.map +1 -0
- package/lib/host-attestor.d.ts +1 -1
- package/lib/host-attestor.d.ts.map +1 -1
- package/lib/host-attestor.js +51 -57
- package/lib/host-attestor.js.map +1 -1
- package/lib/index.d.ts +25 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +11 -2
- package/lib/index.js.map +1 -1
- package/lib/npm-publish.d.ts +25 -0
- package/lib/npm-publish.d.ts.map +1 -0
- package/lib/npm-publish.js +280 -0
- package/lib/npm-publish.js.map +1 -0
- package/lib/owner-task-gap-types.d.ts +21 -0
- package/lib/owner-task-gap-types.d.ts.map +1 -0
- package/lib/owner-task-gap-types.js +2 -0
- package/lib/owner-task-gap-types.js.map +1 -0
- package/lib/owner-task-gaps.d.ts +24 -0
- package/lib/owner-task-gaps.d.ts.map +1 -0
- package/lib/owner-task-gaps.js +74 -0
- package/lib/owner-task-gaps.js.map +1 -0
- package/lib/post-activation.d.ts +33 -0
- package/lib/post-activation.d.ts.map +1 -0
- package/lib/post-activation.js +219 -0
- package/lib/post-activation.js.map +1 -0
- package/lib/registry-fetch.d.ts +50 -0
- package/lib/registry-fetch.d.ts.map +1 -0
- package/lib/registry-fetch.js +267 -0
- package/lib/registry-fetch.js.map +1 -0
- package/lib/release.d.ts +4 -4
- package/lib/release.d.ts.map +1 -1
- package/lib/release.js +142 -56
- package/lib/release.js.map +1 -1
- package/lib/replay-endpoint-protocol.d.ts +65 -0
- package/lib/replay-endpoint-protocol.d.ts.map +1 -0
- package/lib/replay-endpoint-protocol.js +183 -0
- package/lib/replay-endpoint-protocol.js.map +1 -0
- package/lib/replay-endpoint.d.ts +7 -0
- package/lib/replay-endpoint.d.ts.map +1 -0
- package/lib/replay-endpoint.js +193 -0
- package/lib/replay-endpoint.js.map +1 -0
- package/lib/replay-grant.d.ts +62 -0
- package/lib/replay-grant.d.ts.map +1 -0
- package/lib/replay-grant.js +208 -0
- package/lib/replay-grant.js.map +1 -0
- package/lib/replay-journal.d.ts +25 -0
- package/lib/replay-journal.d.ts.map +1 -0
- package/lib/replay-journal.js +275 -0
- package/lib/replay-journal.js.map +1 -0
- package/lib/runtime-observer-protocol.d.ts +63 -0
- package/lib/runtime-observer-protocol.d.ts.map +1 -0
- package/lib/runtime-observer-protocol.js +280 -0
- package/lib/runtime-observer-protocol.js.map +1 -0
- package/lib/runtime-observer.d.ts +8 -0
- package/lib/runtime-observer.d.ts.map +1 -0
- package/lib/runtime-observer.js +182 -0
- package/lib/runtime-observer.js.map +1 -0
- package/lib/service.d.ts +145 -1
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +734 -6
- package/lib/service.js.map +1 -1
- package/lib/source-adoption-authority.d.ts +65 -0
- package/lib/source-adoption-authority.d.ts.map +1 -0
- package/lib/source-adoption-authority.js +271 -0
- package/lib/source-adoption-authority.js.map +1 -0
- package/lib/source-adoption-runner.d.ts +28 -0
- package/lib/source-adoption-runner.d.ts.map +1 -0
- package/lib/source-adoption-runner.js +197 -0
- package/lib/source-adoption-runner.js.map +1 -0
- package/lib/source-approval-authority.d.ts +50 -0
- package/lib/source-approval-authority.d.ts.map +1 -0
- package/lib/source-approval-authority.js +412 -0
- package/lib/source-approval-authority.js.map +1 -0
- package/lib/source-approval-client.d.ts +32 -0
- package/lib/source-approval-client.d.ts.map +1 -0
- package/lib/source-approval-client.js +175 -0
- package/lib/source-approval-client.js.map +1 -0
- package/lib/source-build.d.ts +60 -0
- package/lib/source-build.d.ts.map +1 -0
- package/lib/source-build.js +311 -0
- package/lib/source-build.js.map +1 -0
- package/lib/source-context.d.ts +24 -0
- package/lib/source-context.d.ts.map +1 -0
- package/lib/source-context.js +99 -0
- package/lib/source-context.js.map +1 -0
- package/lib/source-job-types.d.ts +87 -0
- package/lib/source-job-types.d.ts.map +1 -0
- package/lib/source-job-types.js +2 -0
- package/lib/source-job-types.js.map +1 -0
- package/lib/source-jobs.d.ts +113 -0
- package/lib/source-jobs.d.ts.map +1 -0
- package/lib/source-jobs.js +535 -0
- package/lib/source-jobs.js.map +1 -0
- package/lib/source-release-authority.d.ts +35 -0
- package/lib/source-release-authority.d.ts.map +1 -0
- package/lib/source-release-authority.js +271 -0
- package/lib/source-release-authority.js.map +1 -0
- package/lib/source-release-client.d.ts +10 -0
- package/lib/source-release-client.d.ts.map +1 -0
- package/lib/source-release-client.js +24 -0
- package/lib/source-release-client.js.map +1 -0
- package/lib/source-release-runner.d.ts +31 -0
- package/lib/source-release-runner.d.ts.map +1 -0
- package/lib/source-release-runner.js +125 -0
- package/lib/source-release-runner.js.map +1 -0
- package/lib/source-versioning.d.ts +24 -0
- package/lib/source-versioning.d.ts.map +1 -0
- package/lib/source-versioning.js +213 -0
- package/lib/source-versioning.js.map +1 -0
- package/lib/source-workspace.d.ts +117 -0
- package/lib/source-workspace.d.ts.map +1 -0
- package/lib/source-workspace.js +458 -0
- package/lib/source-workspace.js.map +1 -0
- package/lib/sqlite.d.ts +1 -1
- package/lib/sqlite.d.ts.map +1 -1
- package/lib/sqlite.js +509 -7
- package/lib/sqlite.js.map +1 -1
- package/lib/store.d.ts +229 -6
- package/lib/store.d.ts.map +1 -1
- package/lib/store.js +2431 -383
- package/lib/store.js.map +1 -1
- package/lib/task-observation-authority.d.ts +29 -0
- package/lib/task-observation-authority.d.ts.map +1 -0
- package/lib/task-observation-authority.js +370 -0
- package/lib/task-observation-authority.js.map +1 -0
- package/lib/task-observation-client.d.ts +4 -0
- package/lib/task-observation-client.d.ts.map +1 -0
- package/lib/task-observation-client.js +20 -0
- package/lib/task-observation-client.js.map +1 -0
- package/lib/task-observation-runtime.d.ts +59 -0
- package/lib/task-observation-runtime.d.ts.map +1 -0
- package/lib/task-observation-runtime.js +331 -0
- package/lib/task-observation-runtime.js.map +1 -0
- package/lib/task-observation-store.d.ts +17 -0
- package/lib/task-observation-store.d.ts.map +1 -0
- package/lib/task-observation-store.js +115 -0
- package/lib/task-observation-store.js.map +1 -0
- package/lib/task-observation-types.d.ts +67 -0
- package/lib/task-observation-types.d.ts.map +1 -0
- package/lib/task-observation-types.js +2 -0
- package/lib/task-observation-types.js.map +1 -0
- package/lib/trust.d.ts +3 -0
- package/lib/trust.d.ts.map +1 -1
- package/lib/trust.js +0 -0
- package/lib/trust.js.map +1 -1
- package/lib/types.d.ts +275 -8
- package/lib/types.d.ts.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +40 -5
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { randomUUID } from 'node:crypto';
|
|
2
|
+
import { isAbsolute, resolve } from 'node:path';
|
|
3
|
+
import { activatePluginPlan, probePluginPlan } from './cli.js';
|
|
4
|
+
import { controlPlaneDigest } from './store.js';
|
|
5
|
+
const OWNER = 'plugin-control-plane-adoption-coordinator';
|
|
6
|
+
const EXECUTOR = 'plugin-control-plane-adoption-coordinator-v1';
|
|
7
|
+
const CATALOG = controlPlaneDigest({ executor: EXECUTOR, version: 1, operation: 'advance-adoption-handoff' });
|
|
8
|
+
const AWAITING = new Set([
|
|
9
|
+
'awaiting-reload', 'awaiting-readiness', 'awaiting-effect-blocked-replay', 'awaiting-shadow',
|
|
10
|
+
'awaiting-canary', 'awaiting-soak', 'awaiting-health',
|
|
11
|
+
]);
|
|
12
|
+
export function validateAdoptionCoordinatorConfig(value) {
|
|
13
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
14
|
+
throw new Error('plugin-control-plane: invalid adoption coordinator configuration');
|
|
15
|
+
const config = value;
|
|
16
|
+
const scope = config.scope;
|
|
17
|
+
const exact = (record, keys) => typeof record === 'object' && record !== null && !Array.isArray(record)
|
|
18
|
+
&& Object.keys(record).sort().join(',') === [...keys].sort().join(',');
|
|
19
|
+
const text = (item) => typeof item === 'string' && item.length > 0 && item.length <= 4096
|
|
20
|
+
&& item.normalize('NFC').trim() === item && !/[\p{Cc}]/u.test(item);
|
|
21
|
+
if (!exact(config, ['coordinatorId', 'scope', 'timeoutMs', 'budgetId', 'budgetAmount']) || !exact(scope, ['workspace', 'preset', 'principalId', 'ownerRouteId'])
|
|
22
|
+
|| !text(config.coordinatorId) || typeof config.coordinatorId !== 'string' || !/^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/u.test(config.coordinatorId)
|
|
23
|
+
|| !Object.values(scope).every(text) || typeof scope.workspace !== 'string' || !isAbsolute(scope.workspace)
|
|
24
|
+
|| resolve(scope.workspace) !== scope.workspace || !Number.isSafeInteger(config.timeoutMs) || typeof config.timeoutMs !== 'number'
|
|
25
|
+
|| config.timeoutMs < 1_000 || config.timeoutMs > 300_000 || !text(config.budgetId)
|
|
26
|
+
|| typeof config.budgetId !== 'string' || config.budgetId.length > 128
|
|
27
|
+
|| !Number.isSafeInteger(config.budgetAmount) || typeof config.budgetAmount !== 'number'
|
|
28
|
+
|| config.budgetAmount < 1 || config.budgetAmount > 10_000_000) {
|
|
29
|
+
throw new Error('plugin-control-plane: invalid adoption coordinator configuration');
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function terminal(plan) { return plan.status === 'activated' || plan.status === 'rolled-back'; }
|
|
33
|
+
function exposed(plan) { return plan.status === 'staging' || plan.status === 'commit-pending' || AWAITING.has(plan.status); }
|
|
34
|
+
/**
|
|
35
|
+
* Advance an already signed source handoff only through Host attestation.
|
|
36
|
+
* This Host deliberately leaves `commit-pending` for the target Host.
|
|
37
|
+
*/
|
|
38
|
+
export async function coordinateAdoptionHandoff(options) {
|
|
39
|
+
const current = async () => {
|
|
40
|
+
options.signal?.throwIfAborted();
|
|
41
|
+
await options.assertCurrent?.();
|
|
42
|
+
options.signal?.throwIfAborted();
|
|
43
|
+
};
|
|
44
|
+
const finishRollback = async (plan) => {
|
|
45
|
+
if (plan.status !== 'rollback-pending' || plan.activation === undefined)
|
|
46
|
+
return plan;
|
|
47
|
+
const rollback = plan;
|
|
48
|
+
const activation = rollback.activation;
|
|
49
|
+
if (activation === undefined)
|
|
50
|
+
return rollback;
|
|
51
|
+
if (activation.rollbackProfileRestored) {
|
|
52
|
+
await current();
|
|
53
|
+
return probePluginPlan({ store: options.store, trust: options.trust, planId: rollback.id,
|
|
54
|
+
expectedRevision: rollback.revision, expectedFence: activation.fence, deferCommit: true, ...(options.signal === undefined ? {} : { signal: options.signal }) });
|
|
55
|
+
}
|
|
56
|
+
await current();
|
|
57
|
+
let restored = await activatePluginPlan({ store: options.store, trust: options.trust, planId: rollback.id,
|
|
58
|
+
expectedRevision: rollback.revision, ...(options.signal === undefined ? {} : { signal: options.signal }) });
|
|
59
|
+
if (restored.status === 'rollback-pending' && restored.activation?.rollbackProfileRestored) {
|
|
60
|
+
await current();
|
|
61
|
+
restored = await probePluginPlan({ store: options.store, trust: options.trust, planId: restored.id,
|
|
62
|
+
expectedRevision: restored.revision, expectedFence: restored.activation.fence, deferCommit: true, ...(options.signal === undefined ? {} : { signal: options.signal }) });
|
|
63
|
+
}
|
|
64
|
+
return restored;
|
|
65
|
+
};
|
|
66
|
+
const recoverExpired = async (plan) => {
|
|
67
|
+
if (plan.status === 'rollback-pending')
|
|
68
|
+
return finishRollback(plan);
|
|
69
|
+
if (!exposed(plan) || plan.activation === undefined)
|
|
70
|
+
return plan;
|
|
71
|
+
await current();
|
|
72
|
+
const rollback = options.store.requestActivationRollback({ planId: plan.id, expectedRevision: plan.revision,
|
|
73
|
+
fence: plan.activation.fence, failureCode: 'adoption-handoff-expired' });
|
|
74
|
+
return finishRollback(rollback);
|
|
75
|
+
};
|
|
76
|
+
for (let phase = 0; phase < 16; phase++) {
|
|
77
|
+
await current();
|
|
78
|
+
let plan = options.store.getPlan(options.planId);
|
|
79
|
+
if (terminal(plan))
|
|
80
|
+
return plan;
|
|
81
|
+
if (plan.status === 'rollback-pending')
|
|
82
|
+
return finishRollback(plan);
|
|
83
|
+
try {
|
|
84
|
+
options.store.assertAdoptionHandoff(plan.id);
|
|
85
|
+
}
|
|
86
|
+
catch (error) {
|
|
87
|
+
// The Store's rollback admission rejects a claimed unknown Host dispatch.
|
|
88
|
+
// Propagating that conflict preserves the durable no-replay barrier.
|
|
89
|
+
const handoff = options.store.getAdoptionHandoff(plan.id), terms = plan.dossier.handoff;
|
|
90
|
+
if (handoff !== undefined && terms !== undefined && handoff.planDigest === plan.digest && handoff.coordinatorId === terms.coordinatorId
|
|
91
|
+
&& (handoff.revokedAt !== undefined || handoff.expiresAt <= Date.now()))
|
|
92
|
+
return recoverExpired(plan);
|
|
93
|
+
throw error;
|
|
94
|
+
}
|
|
95
|
+
await current();
|
|
96
|
+
const before = { status: plan.status, revision: plan.revision, fence: plan.activation?.fence };
|
|
97
|
+
if (plan.status === 'approved' || plan.status === 'staging') {
|
|
98
|
+
options.store.assertAdoptionHandoff(plan.id);
|
|
99
|
+
plan = await activatePluginPlan({ store: options.store, trust: options.trust, planId: plan.id,
|
|
100
|
+
expectedRevision: plan.revision, ...(options.signal === undefined ? {} : { signal: options.signal }) });
|
|
101
|
+
}
|
|
102
|
+
else if (AWAITING.has(plan.status)) {
|
|
103
|
+
if (plan.activation === undefined)
|
|
104
|
+
throw new Error('plugin-control-plane: adoption plan awaiting Host attestation has no fence');
|
|
105
|
+
options.store.assertAdoptionHandoff(plan.id);
|
|
106
|
+
plan = await probePluginPlan({ store: options.store, trust: options.trust, planId: plan.id,
|
|
107
|
+
expectedRevision: plan.revision, expectedFence: plan.activation.fence, deferCommit: true, ...(options.signal === undefined ? {} : { signal: options.signal }) });
|
|
108
|
+
}
|
|
109
|
+
else if (plan.status === 'commit-pending') {
|
|
110
|
+
return plan;
|
|
111
|
+
}
|
|
112
|
+
else
|
|
113
|
+
return plan;
|
|
114
|
+
await current();
|
|
115
|
+
if (plan.status === 'commit-pending' || terminal(plan)
|
|
116
|
+
|| (plan.status === before.status && plan.revision === before.revision && plan.activation?.fence === before.fence))
|
|
117
|
+
return plan;
|
|
118
|
+
}
|
|
119
|
+
return options.store.getPlan(options.planId);
|
|
120
|
+
}
|
|
121
|
+
/** Native Automations cron coordinator. It owns no private scheduler or final commit. */
|
|
122
|
+
export class AdoptionCoordinatorRuntime {
|
|
123
|
+
options;
|
|
124
|
+
abort = new AbortController();
|
|
125
|
+
flights = new Set();
|
|
126
|
+
generation = randomUUID();
|
|
127
|
+
activationNonce;
|
|
128
|
+
automationId;
|
|
129
|
+
active = false;
|
|
130
|
+
cursor = 0;
|
|
131
|
+
unregister;
|
|
132
|
+
closing;
|
|
133
|
+
lastError = null;
|
|
134
|
+
constructor(options) {
|
|
135
|
+
this.options = options;
|
|
136
|
+
validateAdoptionCoordinatorConfig(options.config);
|
|
137
|
+
const identity = controlPlaneDigest({ coordinatorId: options.config.coordinatorId, scope: options.config.scope });
|
|
138
|
+
this.automationId = `adoption-coordinator-${identity.slice(0, 40)}`;
|
|
139
|
+
this.activationNonce = controlPlaneDigest({ identity, generation: this.generation });
|
|
140
|
+
}
|
|
141
|
+
start() {
|
|
142
|
+
if (this.active)
|
|
143
|
+
return;
|
|
144
|
+
this.unregister = this.options.automations.registerHostExecutor({
|
|
145
|
+
descriptor: { executorId: EXECUTOR, contractVersion: 1, catalogDigest: CATALOG },
|
|
146
|
+
accepts: spec => spec.executorId === EXECUTOR && spec.executorContractVersion === 1 && spec.catalogDigest === CATALOG
|
|
147
|
+
&& spec.runbookId === 'coordinate' && spec.runbookVersion === 1,
|
|
148
|
+
execute: input => this.track(this.execute(input)),
|
|
149
|
+
});
|
|
150
|
+
try {
|
|
151
|
+
this.active = true;
|
|
152
|
+
this.options.automations.reconcileSystem({ owner: OWNER, automationId: this.automationId,
|
|
153
|
+
idempotencyKey: `${this.automationId}:${this.generation}:active`, desiredStatus: 'active', definition: this.definition() });
|
|
154
|
+
}
|
|
155
|
+
catch (error) {
|
|
156
|
+
this.active = false;
|
|
157
|
+
try {
|
|
158
|
+
this.unregister?.();
|
|
159
|
+
}
|
|
160
|
+
catch { /* preserve registration failure */ }
|
|
161
|
+
throw error;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
close() {
|
|
165
|
+
return this.closing ??= (async () => {
|
|
166
|
+
this.active = false;
|
|
167
|
+
try {
|
|
168
|
+
const registration = this.options.automations.inspectSystemOwnedActivation({ owner: OWNER, automationId: this.automationId });
|
|
169
|
+
if (registration?.activationNonce === this.activationNonce)
|
|
170
|
+
this.options.automations.reconcileSystem({ owner: OWNER,
|
|
171
|
+
automationId: this.automationId, idempotencyKey: `${this.automationId}:${this.generation}:pause`, desiredStatus: 'paused', definition: this.definition() });
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
this.abort.abort();
|
|
175
|
+
try {
|
|
176
|
+
this.unregister?.();
|
|
177
|
+
}
|
|
178
|
+
finally {
|
|
179
|
+
await Promise.allSettled(this.flights);
|
|
180
|
+
this.options.store.close();
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
})();
|
|
184
|
+
}
|
|
185
|
+
health = () => ({ connected: this.active, lastError: this.lastError });
|
|
186
|
+
track(flight) {
|
|
187
|
+
this.flights.add(flight);
|
|
188
|
+
void flight.finally(() => this.flights.delete(flight)).catch(() => { });
|
|
189
|
+
return flight;
|
|
190
|
+
}
|
|
191
|
+
current(signal) {
|
|
192
|
+
this.abort.signal.throwIfAborted();
|
|
193
|
+
signal?.throwIfAborted();
|
|
194
|
+
if (!this.active)
|
|
195
|
+
throw new Error('adoption coordinator unavailable');
|
|
196
|
+
this.options.assertCurrent();
|
|
197
|
+
}
|
|
198
|
+
definition() {
|
|
199
|
+
const { scope, timeoutMs, budgetId, budgetAmount } = this.options.config;
|
|
200
|
+
return { name: 'Coordinate plugin adoption handoffs', schedule: { kind: 'cron', expression: '* * * * *', timezone: 'UTC' },
|
|
201
|
+
workspace: scope.workspace, agentPreset: scope.preset, timeoutMs, misfire: { kind: 'latest' }, overlap: 'skip', retrySafety: 'never', maxRetries: 0,
|
|
202
|
+
principal: scope.principalId, budgetId, budgetAmount, execution: { kind: 'host', executorId: EXECUTOR, executorContractVersion: 1, runbookId: 'coordinate', runbookVersion: 1,
|
|
203
|
+
catalogDigest: CATALOG, targetScope: { workspace: scope.workspace, preset: scope.preset }, scopeDigest: controlPlaneDigest([scope.workspace, scope.preset]),
|
|
204
|
+
ownerRouteId: scope.ownerRouteId, activationNonce: this.activationNonce } };
|
|
205
|
+
}
|
|
206
|
+
handoffs() {
|
|
207
|
+
return this.options.store.listAdoptionHandoffs(this.options.config.coordinatorId, 100);
|
|
208
|
+
}
|
|
209
|
+
async execute(input) {
|
|
210
|
+
const failure = (unknown) => ({ outcome: unknown ? 'unknown' : 'failed', failureClass: unknown ? 'unknown' : 'configuration',
|
|
211
|
+
failurePhase: 'host-execution', failureCode: 'adoption-coordinator-rejected', sideEffectState: unknown ? 'unknown' : 'none', retryability: unknown ? 'unsafe' : 'after-intervention' });
|
|
212
|
+
let began = false;
|
|
213
|
+
try {
|
|
214
|
+
this.current(input.signal);
|
|
215
|
+
const { scope } = this.options.config;
|
|
216
|
+
const registration = this.options.automations.inspectSystemOwnedActivation({ owner: OWNER, automationId: this.automationId });
|
|
217
|
+
if (input.executionMode !== 'production' || input.automationId !== this.automationId || input.activationNonce !== this.activationNonce
|
|
218
|
+
|| input.catalogDigest !== CATALOG || input.definitionHash !== registration?.definitionHash || registration.activationNonce !== this.activationNonce
|
|
219
|
+
|| input.ownerRouteId !== scope.ownerRouteId || input.principal !== scope.principalId || input.targetScope.workspace !== scope.workspace || input.targetScope.preset !== scope.preset) {
|
|
220
|
+
throw new Error('adoption coordinator dispatch changed');
|
|
221
|
+
}
|
|
222
|
+
const signal = AbortSignal.any([this.abort.signal, input.signal, AbortSignal.timeout(this.options.config.timeoutMs)]);
|
|
223
|
+
this.current(signal);
|
|
224
|
+
const handoffs = this.handoffs();
|
|
225
|
+
if (handoffs.length) {
|
|
226
|
+
const handoff = handoffs[this.cursor++ % handoffs.length];
|
|
227
|
+
began = true;
|
|
228
|
+
await coordinateAdoptionHandoff({ store: this.options.store, trust: this.options.trust, planId: handoff.planId, signal,
|
|
229
|
+
assertCurrent: () => this.current(signal) });
|
|
230
|
+
this.current(signal);
|
|
231
|
+
}
|
|
232
|
+
this.lastError = null;
|
|
233
|
+
return { outcome: 'succeeded', failureClass: 'none', failurePhase: 'none', failureCode: 'none', sideEffectState: 'possible', retryability: 'unsafe' };
|
|
234
|
+
}
|
|
235
|
+
catch (error) {
|
|
236
|
+
this.lastError = error instanceof Error ? error.message.slice(0, 200) : 'adoption coordinator failed';
|
|
237
|
+
return failure(began || this.abort.signal.aborted || input.signal.aborted);
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=adoption-coordinator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adoption-coordinator.js","sourceRoot":"","sources":["../src/adoption-coordinator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface AdoptionHandoffTerms {
|
|
2
|
+
schemaVersion: 1;
|
|
3
|
+
coordinatorId: string;
|
|
4
|
+
maximumWindowMs: number;
|
|
5
|
+
commit: 'target-host';
|
|
6
|
+
}
|
|
7
|
+
export interface AdoptionHandoffRecord {
|
|
8
|
+
planId: string;
|
|
9
|
+
planDigest: string;
|
|
10
|
+
coordinatorId: string;
|
|
11
|
+
createdAt: number;
|
|
12
|
+
expiresAt: number;
|
|
13
|
+
revokedAt?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function validateAdoptionHandoffTerms(value: unknown): asserts value is AdoptionHandoffTerms;
|
|
16
|
+
//# sourceMappingURL=adoption-handoff.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adoption-handoff.d.ts","sourceRoot":"","sources":["../src/adoption-handoff.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,oBAAoB;IAAG,aAAa,EAAE,CAAC,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,aAAa,CAAA;CAAE;AACjI,MAAM,WAAW,qBAAqB;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;AAE9J,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,oBAAoB,CAOlG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function validateAdoptionHandoffTerms(value) {
|
|
2
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
3
|
+
throw new Error('invalid adoption handoff terms');
|
|
4
|
+
const v = value;
|
|
5
|
+
if (Object.keys(v).sort().join(',') !== 'commit,coordinatorId,maximumWindowMs,schemaVersion'
|
|
6
|
+
|| v.schemaVersion !== 1 || v.commit !== 'target-host' || typeof v.coordinatorId !== 'string'
|
|
7
|
+
|| !/^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/u.test(v.coordinatorId)
|
|
8
|
+
|| typeof v.maximumWindowMs !== 'number' || !Number.isSafeInteger(v.maximumWindowMs) || v.maximumWindowMs < 1_000 || v.maximumWindowMs > 86_400_000)
|
|
9
|
+
throw new Error('invalid adoption handoff terms');
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=adoption-handoff.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adoption-handoff.js","sourceRoot":"","sources":["../src/adoption-handoff.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,4BAA4B,CAAC,KAAc;IACzD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;IAClH,MAAM,CAAC,GAAG,KAAgC,CAAA;IAC1C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,oDAAoD;WACvF,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,aAAa,IAAI,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;WAC1F,CAAC,sCAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC;WAC7D,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,eAAe,GAAG,KAAK,IAAI,CAAC,CAAC,eAAe,GAAG,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;AAC1M,CAAC"}
|
package/lib/attestation.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../src/attestation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"attestation.d.ts","sourceRoot":"","sources":["../src/attestation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,wBAAwB,EACxB,uBAAuB,EACvB,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,YAAY,CAAA;AA4InB,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAA2B;AAChH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,MAAM,CAA4B;AAEpH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,sBAAsB,CAoBlF;AAsCD,qBAAa,+BAAgC,YAAW,wBAAwB;IAE5E,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IACnC,QAAQ,CAAC,iBAAiB,EAAE,MAAM;IAClC,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM;gBAHjB,SAAS,EAAE,MAAM,GAAG,MAAM,EAC1B,iBAAiB,EAAE,MAAM,EACzB,aAAa,EAAE,MAAM,EACrB,GAAG,GAAE,MAAM,MAAiB;IAGjC,MAAM,CAAC,YAAY,EAAE,sBAAsB,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CA8BlJ;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,GAAG,MAAM,CAExG"}
|
package/lib/attestation.js
CHANGED
|
@@ -3,7 +3,10 @@ import { ControlPlaneStoreError } from './store.js';
|
|
|
3
3
|
const ID = /^[A-Za-z0-9][A-Za-z0-9._:-]{0,159}$/u;
|
|
4
4
|
const DIGEST = /^[a-f0-9]{64}$/u;
|
|
5
5
|
const UUID = /^[a-f0-9]{8}-[a-f0-9]{4}-[1-8][a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u;
|
|
6
|
-
const phases = new Set(['reload', 'readiness', 'effect-blocked-replay', 'shadow', 'canary', 'soak', 'health']);
|
|
6
|
+
const phases = new Set(['reload', 'readiness', 'effect-blocked-replay', 'shadow', 'canary', 'soak', 'health', 'rollback']);
|
|
7
|
+
const predecessorPhase = Object.freeze({
|
|
8
|
+
readiness: 'reload', 'effect-blocked-replay': 'readiness', shadow: 'effect-blocked-replay', canary: 'shadow', soak: 'canary', health: 'soak',
|
|
9
|
+
});
|
|
7
10
|
function canonical(value) {
|
|
8
11
|
if (Array.isArray(value))
|
|
9
12
|
return `[${value.map(canonical).join(',')}]`;
|
|
@@ -102,8 +105,43 @@ function parseEvidence(value) {
|
|
|
102
105
|
throw new ControlPlaneStoreError('invalid-input', 'health failures exceed checks');
|
|
103
106
|
return { kind, checks, failures, probeDigest: text(item.probeDigest, 'probeDigest', DIGEST) };
|
|
104
107
|
}
|
|
108
|
+
if (kind === 'rollback') {
|
|
109
|
+
exact(item, ['kind', 'action', 'previousHostGeneration', 'currentHostGeneration', 'checks', 'failures', 'profileRestored', 'probeDigest'], 'rollback evidence');
|
|
110
|
+
if ((item.action !== 'restore' && item.action !== 'stop') || typeof item.profileRestored !== 'boolean')
|
|
111
|
+
throw new ControlPlaneStoreError('invalid-input', 'rollback evidence fields are invalid');
|
|
112
|
+
const checks = integer(item.checks, 'checks');
|
|
113
|
+
const failures = integer(item.failures, 'failures');
|
|
114
|
+
if (failures > checks)
|
|
115
|
+
throw new ControlPlaneStoreError('invalid-input', 'rollback failures exceed checks');
|
|
116
|
+
return { kind, action: item.action, previousHostGeneration: integer(item.previousHostGeneration, 'previousHostGeneration'),
|
|
117
|
+
currentHostGeneration: integer(item.currentHostGeneration, 'currentHostGeneration', 1), checks, failures,
|
|
118
|
+
profileRestored: item.profileRestored, probeDigest: text(item.probeDigest, 'probeDigest', DIGEST) };
|
|
119
|
+
}
|
|
105
120
|
throw new ControlPlaneStoreError('invalid-input', 'host attestation evidence kind is invalid');
|
|
106
121
|
}
|
|
122
|
+
function assertRequestPredecessor(request) {
|
|
123
|
+
if (request.schemaVersion !== 2 || !phases.has(request.phase)) {
|
|
124
|
+
throw new ControlPlaneStoreError('invalid-input', 'Host attestation request must use schema version 2');
|
|
125
|
+
}
|
|
126
|
+
if (request.predecessor === null) {
|
|
127
|
+
if (request.phase !== 'reload' && request.phase !== 'rollback') {
|
|
128
|
+
throw new ControlPlaneStoreError('conflict', 'normal Host attestation request lacks its predecessor');
|
|
129
|
+
}
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const predecessor = record(request.predecessor, 'Host attestation predecessor');
|
|
133
|
+
exact(predecessor, ['operationId', 'receiptId', 'phase', 'receiptDigest', 'hostGeneration'], 'Host attestation predecessor');
|
|
134
|
+
const operationId = text(predecessor.operationId, 'predecessor operationId');
|
|
135
|
+
text(predecessor.receiptId, 'predecessor receiptId');
|
|
136
|
+
if (typeof predecessor.phase !== 'string' || !phases.has(predecessor.phase) || predecessor.phase === request.phase || operationId === request.operationId) {
|
|
137
|
+
throw new ControlPlaneStoreError('invalid-input', 'Host attestation predecessor phase or operation is invalid');
|
|
138
|
+
}
|
|
139
|
+
text(predecessor.receiptDigest, 'predecessor receiptDigest', DIGEST);
|
|
140
|
+
integer(predecessor.hostGeneration, 'predecessor hostGeneration', 1);
|
|
141
|
+
if (request.phase !== 'rollback' && predecessor.phase !== predecessorPhase[request.phase]) {
|
|
142
|
+
throw new ControlPlaneStoreError('conflict', 'Host attestation predecessor phase is not the immediately preceding phase');
|
|
143
|
+
}
|
|
144
|
+
}
|
|
107
145
|
function canonicalReceipt(receipt) {
|
|
108
146
|
return canonical({
|
|
109
147
|
schemaVersion: receipt.schemaVersion, receiptId: receipt.receiptId, authority: receipt.authority,
|
|
@@ -176,6 +214,11 @@ function assertPassedEvidence(receipt, request) {
|
|
|
176
214
|
else if (evidence.kind === 'health' && requirements.kind === 'health') {
|
|
177
215
|
passed = evidence.checks >= requirements.minimumChecks && evidence.failures <= requirements.maximumFailures;
|
|
178
216
|
}
|
|
217
|
+
else if (evidence.kind === 'rollback' && requirements.kind === 'rollback') {
|
|
218
|
+
passed = evidence.action === requirements.action && evidence.previousHostGeneration === requirements.previousHostGeneration
|
|
219
|
+
&& evidence.currentHostGeneration === receipt.hostGeneration && evidence.currentHostGeneration > requirements.previousHostGeneration
|
|
220
|
+
&& evidence.checks >= requirements.minimumChecks && evidence.failures === 0 && evidence.profileRestored;
|
|
221
|
+
}
|
|
179
222
|
if (!passed)
|
|
180
223
|
throw new ControlPlaneStoreError('invalid-input', `passed ${request.phase} receipt does not satisfy its signed evidence contract`);
|
|
181
224
|
}
|
|
@@ -191,6 +234,7 @@ export class Ed25519HostAttestationAuthority {
|
|
|
191
234
|
this.now = now;
|
|
192
235
|
}
|
|
193
236
|
async verify(receiptInput, plan, request) {
|
|
237
|
+
assertRequestPredecessor(request);
|
|
194
238
|
const receipt = parseHostAttestationReceipt(receiptInput);
|
|
195
239
|
const configuredIssuerMismatch = request.issuer.mode === 'configured-executable'
|
|
196
240
|
&& (receipt.authority !== request.issuer.authority || receipt.keyId !== request.issuer.keyId);
|
|
@@ -211,6 +255,10 @@ export class Ed25519HostAttestationAuthority {
|
|
|
211
255
|
if (!verify(null, Buffer.from(canonicalReceipt(receipt)), createPublicKey(this.publicKey), signature)) {
|
|
212
256
|
throw new ControlPlaneStoreError('invalid-input', 'host attestation signature is invalid');
|
|
213
257
|
}
|
|
258
|
+
if (request.phase !== 'reload' && request.phase !== 'rollback'
|
|
259
|
+
&& receipt.hostGeneration !== request.predecessor.hostGeneration) {
|
|
260
|
+
throw new ControlPlaneStoreError('conflict', 'non-transition Host attestation receipt changed generation from its predecessor');
|
|
261
|
+
}
|
|
214
262
|
assertPassedEvidence(receipt, request);
|
|
215
263
|
const { signature: _signature, ...fields } = receipt;
|
|
216
264
|
return Object.freeze({ ...fields, signatureDigest: createHash('sha256').update(signature).digest('hex') });
|
package/lib/attestation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../src/attestation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../src/attestation.ts"],"names":[],"mappings":"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"}
|
package/lib/catalog.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,EAAE,EAAE,MAAM,CAAA;IACV,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,oEAAoE;IACpE,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,+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;IACjB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,uBAAuB,CAAA;CACnC;AAED,MAAM,WAAW,iBAAiB;IAAG,aAAa,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,YAAY,EAAE,CAAA;CAAE;AAChF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,iBAAiB,CAAA;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,iCAAiC,CAAA;CAC9C;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IACrC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IACzC,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAA;IACtD,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;IACtC,2BAA2B,EAAE,MAAM,CAAA;IACnC,0BAA0B,EAAE,MAAM,CAAA;IAClC,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,iBAAiB,EAAE,MAAM,CAAA;IACzB,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,mBAAmB,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,uBAAuB,EAAE,MAAM,CAAA;IAC/B,uBAAuB,EAAE,MAAM,CAAA;IAC/B,0BAA0B,EAAE,MAAM,CAAA;IAClC,SAAS,EAAE,YAAY,CAAA;CACxB;AAED,MAAM,WAAW,sBAAsB;IACrC,0EAA0E;IAC1E,QAAQ,EAAE,wBAAwB,CAAA;IAClC,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,OAAO,EAAE,iBAAiB,CAAA;IAC1B,SAAS,EAAE,YAAY,CAAA;CACxB;AAED,iFAAiF;AACjF,MAAM,WAAW,+BAA+B;IAC9C,sBAAsB,CAAC,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpE,gBAAgB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5D,kBAAkB,CAAC,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACrF,iBAAiB,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC9D;AAwCD,qBAAa,qBAAsB,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,gBAAgB;gBAArD,IAAI,EAAE,UAAU,GAAG,eAAe,GAAG,gBAAgB,EAAE,OAAO,EAAE,MAAM;CAI5F;AAkVD,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAkB9D;AA0CD,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAUtE;AA0VD,gFAAgF;AAChF,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,uBAAuB,CAWxG;AAmDD,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAOvE;AAED;;;;;GAKG;AACH,wBAAsB,qBAAqB,CAAC,KAAK,EAAE,qBAAqB,EACtE,KAAK,GAAE,+BAAoC,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAuJ9E;AAED,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAW1E;AAED;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B,EAAE,iBA8E1C,CAAA;AAEF,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAG5F;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"}
|
package/lib/catalog.js
CHANGED
|
@@ -272,6 +272,26 @@ function canonicalFileUrl(value, label) {
|
|
|
272
272
|
}
|
|
273
273
|
return { url: value, path };
|
|
274
274
|
}
|
|
275
|
+
function canonicalBareHttpsUrl(value, label) {
|
|
276
|
+
if (typeof value !== 'string' || value.length === 0 || value.length > 8_192
|
|
277
|
+
|| value !== value.normalize('NFC').trim() || /[\\\\?#]/u.test(value)
|
|
278
|
+
|| [...value].some(character => character.charCodeAt(0) <= 0x20 || character.charCodeAt(0) === 0x7f)
|
|
279
|
+
|| /%(?:2e|2f|5c|25)|%(?![a-f0-9]{2})/iu.test(value)) {
|
|
280
|
+
throw new Error(`plugin-control-plane: ${label} must be a canonical bare HTTPS URL`);
|
|
281
|
+
}
|
|
282
|
+
let url;
|
|
283
|
+
try {
|
|
284
|
+
url = new URL(value);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
throw new Error(`plugin-control-plane: ${label} must be a canonical bare HTTPS URL`);
|
|
288
|
+
}
|
|
289
|
+
if (url.protocol !== 'https:' || url.username !== '' || url.password !== '' || url.search !== '' || url.hash !== ''
|
|
290
|
+
|| url.href !== value || url.pathname.includes('//')) {
|
|
291
|
+
throw new Error(`plugin-control-plane: ${label} must be a canonical bare HTTPS URL`);
|
|
292
|
+
}
|
|
293
|
+
return url;
|
|
294
|
+
}
|
|
275
295
|
function catalogRegistry(value, packageName, version, label) {
|
|
276
296
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|
|
277
297
|
throw new Error(`plugin-control-plane: ${label}.registry must be an object`);
|
|
@@ -308,10 +328,17 @@ function catalogRegistry(value, packageName, version, label) {
|
|
|
308
328
|
throw new Error(`plugin-control-plane: ${label}.registry.locator is invalid`);
|
|
309
329
|
}
|
|
310
330
|
if (locator.protocol !== 'https:' || locator.username !== '' || locator.password !== '' || locator.search !== '' || locator.hash !== ''
|
|
311
|
-
|| (locator.href !== item.locator && locator.href !== `${item.locator}/`)
|
|
331
|
+
|| (locator.href !== item.locator && locator.href !== `${item.locator}/`)) {
|
|
312
332
|
throw new Error(`plugin-control-plane: ${label}.registry must use a bounded HTTPS registry package reference`);
|
|
313
333
|
}
|
|
314
|
-
|
|
334
|
+
if (item.reference === `${packageName}@${version}`)
|
|
335
|
+
return Object.freeze({ id, locator: item.locator, reference: item.reference });
|
|
336
|
+
const reference = canonicalBareHttpsUrl(item.reference, `${label}.registry.reference`);
|
|
337
|
+
const prefix = locator.pathname.endsWith('/') ? locator.pathname : `${locator.pathname}/`;
|
|
338
|
+
if (reference.origin !== locator.origin || !reference.pathname.startsWith(prefix)) {
|
|
339
|
+
throw new Error(`plugin-control-plane: ${label}.registry.reference must be under its HTTPS registry locator`);
|
|
340
|
+
}
|
|
341
|
+
return Object.freeze({ id, locator: item.locator, reference: reference.href });
|
|
315
342
|
}
|
|
316
343
|
function catalogPackage(value, label) {
|
|
317
344
|
if (typeof value !== 'object' || value === null || Array.isArray(value)) {
|