@dsh-enhanced/lark-channel 0.1.6 → 0.1.12
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 +21 -3
- package/docs/supervised-growth.md +88 -46
- package/lib/adapter.d.ts +2 -1
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +38 -0
- package/lib/adapter.js.map +1 -1
- package/lib/normalize.d.ts.map +1 -1
- package/lib/normalize.js +3 -0
- package/lib/normalize.js.map +1 -1
- package/lib/sdk.d.ts.map +1 -1
- package/lib/sdk.js +143 -6
- package/lib/sdk.js.map +1 -1
- package/lib/setup-profile.d.ts.map +1 -1
- package/lib/setup-profile.js +86 -0
- package/lib/setup-profile.js.map +1 -1
- package/lib/setup.d.ts.map +1 -1
- package/lib/setup.js +2 -0
- package/lib/setup.js.map +1 -1
- package/lib/supervised-growth-profile.d.ts +18 -8
- package/lib/supervised-growth-profile.d.ts.map +1 -1
- package/lib/supervised-growth-profile.js +500 -169
- package/lib/supervised-growth-profile.js.map +1 -1
- package/lib/supervised-growth-setup.d.ts +57 -22
- package/lib/supervised-growth-setup.d.ts.map +1 -1
- package/lib/supervised-growth-setup.js +361 -72
- package/lib/supervised-growth-setup.js.map +1 -1
- package/lib/types.d.ts +37 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.d.ts.map +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +44 -9
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { chmod, open, readFile, rename } from 'node:fs/promises';
|
|
2
|
+
import { chmod, open, readFile, rename, stat } from 'node:fs/promises';
|
|
3
3
|
import { spawnSync } from 'node:child_process';
|
|
4
|
+
import { createHash, randomUUID } from 'node:crypto';
|
|
4
5
|
import { homedir } from 'node:os';
|
|
5
6
|
import { dirname, isAbsolute, join } from 'node:path';
|
|
7
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
8
|
+
import { isMap, isSeq, parseDocument } from 'yaml';
|
|
6
9
|
import { installDshResidentService, residentServiceKind } from './resident.js';
|
|
7
10
|
import { isMainEntry } from './setup.js';
|
|
8
|
-
import { assertEffectiveSupervisedGrowthConfig, configureSupervisedGrowthProfilePatch, supervisedGrowthDatabasePaths, supervisedGrowthBindingQuery, } from './supervised-growth-profile.js';
|
|
11
|
+
import { assertEffectiveSupervisedGrowthConfig, configureSupervisedGrowthProfilePatch, supervisedGrowthDatabasePaths, supervisedGrowthBindingQuery, supervisedGrowthAnalystRuntimeConfig, supervisedGrowthRecoveryRuntimeConfig, } from './supervised-growth-profile.js';
|
|
9
12
|
const keyPattern = /^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u;
|
|
10
13
|
function argumentValue(argv, index, option) {
|
|
11
14
|
const value = argv[index + 1];
|
|
@@ -42,7 +45,15 @@ export function assertSupervisedGrowthAutomationGuard(records, acknowledged) {
|
|
|
42
45
|
// heartbeat is not intrinsically safe: it may carry broad tools or a
|
|
43
46
|
// different route. Keep the guard stricter than necessary until an exact
|
|
44
47
|
// managed-definition hash can prove a pre-existing row is this overlay.
|
|
45
|
-
|
|
48
|
+
// The exact legacy managed job is migrated with scheduler=false, its execute
|
|
49
|
+
// grant removed, and its Heartbeat profile reconciled to paused before the
|
|
50
|
+
// active scheduler is restored. Other durable active rows remain an explicit
|
|
51
|
+
// operator decision.
|
|
52
|
+
const existing = records.filter(record => record.status === 'active'
|
|
53
|
+
&& !(record.id === 'heartbeat:supervised-growth' && record.owner === 'assistant-heartbeat')
|
|
54
|
+
&& !(record.id === 'heartbeat:supervised-growth-analyst' && record.owner === 'assistant-heartbeat')
|
|
55
|
+
&& !(record.id === 'recovery:supervised-growth'
|
|
56
|
+
&& record.owner === 'dsh-enhanced-assistant-recovery'));
|
|
46
57
|
if (existing.length > 0 && !acknowledged) {
|
|
47
58
|
throw new Error('supervised-growth setup: active automations already exist; rerun with --ack-existing-automations to leave them untouched');
|
|
48
59
|
}
|
|
@@ -145,65 +156,37 @@ export async function activateSupervisedGrowthPatch(input) {
|
|
|
145
156
|
throw error;
|
|
146
157
|
}
|
|
147
158
|
}
|
|
148
|
-
function delay(milliseconds) {
|
|
149
|
-
return new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
150
|
-
}
|
|
151
|
-
async function boundedAwait(input) {
|
|
152
|
-
let timeout;
|
|
153
|
-
const deadline = new Promise((_resolve, reject) => {
|
|
154
|
-
timeout = setTimeout(() => {
|
|
155
|
-
input.onTimeout?.();
|
|
156
|
-
reject(new Error(`supervised-growth setup: ${input.label} timed out`));
|
|
157
|
-
}, input.timeoutMs);
|
|
158
|
-
});
|
|
159
|
-
try {
|
|
160
|
-
return await Promise.race([input.operation, deadline]);
|
|
161
|
-
}
|
|
162
|
-
finally {
|
|
163
|
-
if (timeout !== undefined)
|
|
164
|
-
clearTimeout(timeout);
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
159
|
/**
|
|
168
|
-
*
|
|
169
|
-
*
|
|
170
|
-
*
|
|
160
|
+
* Transactional two-restart activation. Preview and production deliberately
|
|
161
|
+
* share one nonce and catalog digest, but production is not even written until
|
|
162
|
+
* the caller has attested the restarted preview bootstrap. Any failure restores
|
|
163
|
+
* the exact original patch bytes and restarts that original profile.
|
|
171
164
|
*/
|
|
172
|
-
export async function
|
|
173
|
-
if (!Number.isSafeInteger(input.timeoutMs) || input.timeoutMs < 1) {
|
|
174
|
-
throw new Error('supervised-growth setup: TraeX readiness timeout must be a positive integer');
|
|
175
|
-
}
|
|
176
|
-
if (input.traexConfig['enabled'] !== true) {
|
|
177
|
-
throw new Error('supervised-growth setup: TraeX readiness requires an enabled effective provider configuration');
|
|
178
|
-
}
|
|
179
|
-
const timeoutMs = Math.min(input.timeoutMs, 60_000);
|
|
180
|
-
const load = dependencies.load ?? (async () => {
|
|
181
|
-
const provider = await import('@dsh-enhanced/traex-acp-provider');
|
|
182
|
-
if (typeof provider.Config !== 'function' || typeof provider.probeTraexReadiness !== 'function') {
|
|
183
|
-
throw new Error('supervised-growth setup: installed TraeX provider lacks the required explicit readiness probe');
|
|
184
|
-
}
|
|
185
|
-
return provider;
|
|
186
|
-
});
|
|
187
|
-
const provider = await boundedAwait({
|
|
188
|
-
operation: load(), timeoutMs, label: 'loading the TraeX readiness provider',
|
|
189
|
-
});
|
|
190
|
-
const config = provider.Config({ ...input.traexConfig });
|
|
191
|
-
const controller = new AbortController();
|
|
165
|
+
export async function activateSupervisedGrowthRecoveryStages(input) {
|
|
192
166
|
try {
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
}
|
|
167
|
+
await atomicWrite(input.patchPath, input.previewPatch);
|
|
168
|
+
const previewEffective = input.validate('preview');
|
|
169
|
+
await input.afterStage('preview', previewEffective);
|
|
170
|
+
const activePatch = input.buildActivePatch(previewEffective);
|
|
171
|
+
await atomicWrite(input.patchPath, activePatch);
|
|
172
|
+
const activeEffective = input.validate('active');
|
|
173
|
+
await input.afterStage('active', activeEffective);
|
|
174
|
+
return activeEffective;
|
|
202
175
|
}
|
|
203
|
-
|
|
204
|
-
|
|
176
|
+
catch (error) {
|
|
177
|
+
await atomicWrite(input.patchPath, input.originalPatch);
|
|
178
|
+
try {
|
|
179
|
+
await input.restore();
|
|
180
|
+
}
|
|
181
|
+
catch (rollbackError) {
|
|
182
|
+
throw new Error(`supervised-growth setup: activation failed and rollback service restore also failed: ${rollbackError instanceof Error ? rollbackError.message : String(rollbackError)}`, { cause: error });
|
|
183
|
+
}
|
|
184
|
+
throw error;
|
|
205
185
|
}
|
|
206
186
|
}
|
|
187
|
+
function delay(milliseconds) {
|
|
188
|
+
return new Promise(resolve => setTimeout(resolve, milliseconds));
|
|
189
|
+
}
|
|
207
190
|
function residentHealthCommand(command, args) {
|
|
208
191
|
const result = spawnSync(command, args, {
|
|
209
192
|
encoding: 'utf8', maxBuffer: 128 * 1024, stdio: ['ignore', 'pipe', 'pipe'],
|
|
@@ -257,6 +240,285 @@ export async function restartAndVerifySupervisedGrowthResident(input) {
|
|
|
257
240
|
await (input.verify ?? verifySupervisedGrowthResidentService)(service);
|
|
258
241
|
return service;
|
|
259
242
|
}
|
|
243
|
+
async function inspectRecoveryBootstrap(databasePath) {
|
|
244
|
+
const { RecoveryStore } = await import('@dsh-enhanced/assistant-recovery');
|
|
245
|
+
const store = new RecoveryStore({ path: databasePath });
|
|
246
|
+
try {
|
|
247
|
+
return store.health();
|
|
248
|
+
}
|
|
249
|
+
finally {
|
|
250
|
+
store.close();
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
async function recoveryBootstrapGenerationBeforeRestart(databasePath) {
|
|
254
|
+
try {
|
|
255
|
+
await stat(databasePath);
|
|
256
|
+
}
|
|
257
|
+
catch (error) {
|
|
258
|
+
if (typeof error === 'object' && error !== null && 'code' in error
|
|
259
|
+
&& error.code === 'ENOENT')
|
|
260
|
+
return 0;
|
|
261
|
+
throw error;
|
|
262
|
+
}
|
|
263
|
+
const generation = (await inspectRecoveryBootstrap(databasePath)).bootstrapGeneration;
|
|
264
|
+
if (!Number.isSafeInteger(generation) || generation < 0) {
|
|
265
|
+
throw new Error('supervised-growth setup: persisted Recovery bootstrap generation is invalid before restart');
|
|
266
|
+
}
|
|
267
|
+
return generation;
|
|
268
|
+
}
|
|
269
|
+
async function automationSnapshots(databasePath) {
|
|
270
|
+
const { listAutomationsLocally } = await import('@dsh-enhanced/assistant-automations');
|
|
271
|
+
return listAutomationsLocally(databasePath);
|
|
272
|
+
}
|
|
273
|
+
function effectiveOwnerRoutes(effectiveConfig) {
|
|
274
|
+
const document = parseDocument(effectiveConfig, { uniqueKeys: true });
|
|
275
|
+
if (document.errors.length > 0) {
|
|
276
|
+
throw new Error(`supervised-growth setup: invalid effective profile YAML: ${document.errors[0].message}`);
|
|
277
|
+
}
|
|
278
|
+
if (!isSeq(document.contents)) {
|
|
279
|
+
throw new Error('supervised-growth setup: effective profile must be a YAML sequence');
|
|
280
|
+
}
|
|
281
|
+
const rows = document.contents.items.filter(item => isMap(item)
|
|
282
|
+
&& item.get('id') === 'dsh-enhanced-assistant-delivery');
|
|
283
|
+
if (rows.length !== 1 || rows[0].get('disabled') === true) {
|
|
284
|
+
throw new Error('supervised-growth setup: effective assistant-delivery row must be uniquely enabled');
|
|
285
|
+
}
|
|
286
|
+
const configNode = rows[0].get('config', true);
|
|
287
|
+
if (!isMap(configNode)) {
|
|
288
|
+
throw new Error('supervised-growth setup: effective assistant-delivery config must be a YAML mapping');
|
|
289
|
+
}
|
|
290
|
+
const routesNode = configNode.get('ownerRoutes', true);
|
|
291
|
+
if (routesNode === undefined)
|
|
292
|
+
return Object.freeze([]);
|
|
293
|
+
if (!isSeq(routesNode)) {
|
|
294
|
+
throw new Error('supervised-growth setup: effective assistant-delivery.ownerRoutes must be a YAML sequence');
|
|
295
|
+
}
|
|
296
|
+
return Object.freeze(routesNode.items.map((item, index) => {
|
|
297
|
+
if (!isMap(item)) {
|
|
298
|
+
throw new Error(`supervised-growth setup: effective ownerRoutes[${index}] must be a YAML mapping`);
|
|
299
|
+
}
|
|
300
|
+
const value = item.toJSON();
|
|
301
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value)) {
|
|
302
|
+
throw new Error(`supervised-growth setup: effective ownerRoutes[${index}] must be a YAML mapping`);
|
|
303
|
+
}
|
|
304
|
+
return value;
|
|
305
|
+
}));
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Rebuild Recovery's complete content-free bootstrap proof from the final DSH
|
|
309
|
+
* config. The same Delivery authority hash and Recovery activation-plan digest
|
|
310
|
+
* algorithms used by the live service are deliberately reused here.
|
|
311
|
+
*/
|
|
312
|
+
export async function expectedSupervisedGrowthRecoveryBootstrap(effectiveConfig, recoveryDatabasePath) {
|
|
313
|
+
const [delivery, recovery] = await Promise.all([
|
|
314
|
+
import('@dsh-enhanced/assistant-delivery'),
|
|
315
|
+
import('@dsh-enhanced/assistant-recovery'),
|
|
316
|
+
]);
|
|
317
|
+
const normalized = recovery.normalizeRecoveryConfig({
|
|
318
|
+
...supervisedGrowthRecoveryRuntimeConfig(effectiveConfig),
|
|
319
|
+
databasePath: recoveryDatabasePath,
|
|
320
|
+
});
|
|
321
|
+
const authorityHash = delivery.ownerRouteAuthorityHash;
|
|
322
|
+
const authorities = new Map();
|
|
323
|
+
for (const raw of effectiveOwnerRoutes(effectiveConfig)) {
|
|
324
|
+
const rawId = raw.id;
|
|
325
|
+
if (typeof rawId !== 'string') {
|
|
326
|
+
throw new Error('supervised-growth setup: effective owner route id is invalid');
|
|
327
|
+
}
|
|
328
|
+
const id = rawId.normalize('NFC').trim();
|
|
329
|
+
const authority = raw;
|
|
330
|
+
const digest = authorityHash(authority);
|
|
331
|
+
if (authorities.has(id)) {
|
|
332
|
+
throw new Error(`supervised-growth setup: effective owner route ${id} is duplicated`);
|
|
333
|
+
}
|
|
334
|
+
authorities.set(id, digest);
|
|
335
|
+
}
|
|
336
|
+
const attestations = recovery.canonicalRecoveryBootstrapAttestationSet(normalized.jobs.map(job => {
|
|
337
|
+
const route = authorities.get(job.ownerRouteId);
|
|
338
|
+
if (route === undefined) {
|
|
339
|
+
throw new Error(`supervised-growth setup: Recovery job ${job.id} has no effective owner route`);
|
|
340
|
+
}
|
|
341
|
+
return Object.freeze({
|
|
342
|
+
automationId: recovery.recoveryAutomationId(job.id),
|
|
343
|
+
activationState: job.activationState,
|
|
344
|
+
activationNonce: job.activationNonce,
|
|
345
|
+
activationPlanDigest: recovery.recoveryActivationPlanDigest(job, normalized.maxStepDurationMs, route),
|
|
346
|
+
});
|
|
347
|
+
}));
|
|
348
|
+
return Object.freeze({
|
|
349
|
+
attestations,
|
|
350
|
+
attestationSetDigest: recovery.recoveryBootstrapAttestationSetDigest(attestations),
|
|
351
|
+
});
|
|
352
|
+
}
|
|
353
|
+
async function expectedRecoveryProductionDefinition(effectiveConfig, recoveryDatabasePath) {
|
|
354
|
+
const recovery = await import('@dsh-enhanced/assistant-recovery');
|
|
355
|
+
const runtimeConfig = supervisedGrowthRecoveryRuntimeConfig(effectiveConfig);
|
|
356
|
+
const normalized = recovery.normalizeRecoveryConfig({ ...runtimeConfig, databasePath: recoveryDatabasePath });
|
|
357
|
+
const job = normalized.jobs.find(candidate => candidate.id === 'supervised-growth');
|
|
358
|
+
if (job === undefined) {
|
|
359
|
+
throw new Error('supervised-growth setup: effective Recovery job is missing during runtime attestation');
|
|
360
|
+
}
|
|
361
|
+
return recovery.recoveryAutomationDefinition(job, normalized.maxStepDurationMs, 'production');
|
|
362
|
+
}
|
|
363
|
+
/**
|
|
364
|
+
* Rebuild the exact analyst definition from final config and its private,
|
|
365
|
+
* managed scratch. Drifted scratch bytes fail activation instead of silently
|
|
366
|
+
* changing what the unattended analyst will do.
|
|
367
|
+
*/
|
|
368
|
+
async function expectedSupervisedGrowthAnalystDefinition(effectiveConfig) {
|
|
369
|
+
const heartbeatRuntime = supervisedGrowthAnalystRuntimeConfig(effectiveConfig);
|
|
370
|
+
const heartbeat = await import('@dsh-enhanced/assistant-heartbeat');
|
|
371
|
+
const normalized = heartbeat.normalizeHeartbeatConfig({
|
|
372
|
+
heartbeats: [heartbeatRuntime.heartbeat],
|
|
373
|
+
maxScratchBytes: heartbeatRuntime.maxScratchBytes,
|
|
374
|
+
});
|
|
375
|
+
const profile = normalized.heartbeats[0];
|
|
376
|
+
if (profile === undefined || profile.id !== 'supervised-growth-analyst') {
|
|
377
|
+
throw new Error('supervised-growth setup: normalized analyst heartbeat is missing');
|
|
378
|
+
}
|
|
379
|
+
const raw = await readFile(profile.scratchPath, 'utf8');
|
|
380
|
+
const content = raw.normalize('NFC').replace(/\r\n?/gu, '\n').trim();
|
|
381
|
+
if (content !== profile.initialScratch.normalize('NFC').replace(/\r\n?/gu, '\n').trim()) {
|
|
382
|
+
throw new Error('supervised-growth setup: managed analyst scratch drifted from the attested contract');
|
|
383
|
+
}
|
|
384
|
+
if (Buffer.byteLength(content, 'utf8') > heartbeatRuntime.maxScratchBytes) {
|
|
385
|
+
throw new Error('supervised-growth setup: managed analyst scratch exceeds its configured bound');
|
|
386
|
+
}
|
|
387
|
+
const revision = createHash('sha256').update(content, 'utf8').digest('hex');
|
|
388
|
+
return heartbeat.heartbeatDefinition(profile, content, revision);
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* Persisted plugin bootstrap, not merely OS process state, is the stage gate.
|
|
392
|
+
* Preview additionally proves both model-free jobs are paused; active proves the
|
|
393
|
+
* exact compiled production definition is the sole active managed replacement.
|
|
394
|
+
*/
|
|
395
|
+
export async function verifySupervisedGrowthRecoveryStage(input, dependencies = {}) {
|
|
396
|
+
const inspect = dependencies.inspectRecovery ?? inspectRecoveryBootstrap;
|
|
397
|
+
const listAll = dependencies.listAutomations
|
|
398
|
+
?? dependencies.listActiveAutomations
|
|
399
|
+
?? automationSnapshots;
|
|
400
|
+
const expectedBootstrap = await (dependencies.expectedBootstrap
|
|
401
|
+
?? expectedSupervisedGrowthRecoveryBootstrap)(input.effectiveConfig, input.recoveryDatabasePath);
|
|
402
|
+
const expectedDefinition = input.stage === 'active'
|
|
403
|
+
? await (dependencies.expectedProductionDefinition ?? expectedRecoveryProductionDefinition)(input.effectiveConfig, input.recoveryDatabasePath)
|
|
404
|
+
: undefined;
|
|
405
|
+
const expectedAnalystDefinition = await (dependencies.expectedAnalystDefinition ?? expectedSupervisedGrowthAnalystDefinition)(input.effectiveConfig);
|
|
406
|
+
const wait = dependencies.wait ?? delay;
|
|
407
|
+
const retryDelayMs = dependencies.retryDelayMs ?? 250;
|
|
408
|
+
if (!Number.isSafeInteger(input.previousBootstrapGeneration) || input.previousBootstrapGeneration < 0
|
|
409
|
+
|| !Number.isSafeInteger(input.timeoutMs) || input.timeoutMs < 1 || input.timeoutMs > 900_000
|
|
410
|
+
|| !Number.isSafeInteger(retryDelayMs) || retryDelayMs < 1 || retryDelayMs > 5_000) {
|
|
411
|
+
throw new Error('supervised-growth setup: invalid Recovery bootstrap verification bounds');
|
|
412
|
+
}
|
|
413
|
+
let remaining = input.timeoutMs;
|
|
414
|
+
let highestObservedGeneration = input.previousBootstrapGeneration;
|
|
415
|
+
let lastFailure;
|
|
416
|
+
for (;;) {
|
|
417
|
+
try {
|
|
418
|
+
const health = await inspect(input.recoveryDatabasePath);
|
|
419
|
+
const generation = health.bootstrapGeneration;
|
|
420
|
+
if (!Number.isSafeInteger(generation) || generation < 0) {
|
|
421
|
+
throw new Error('supervised-growth setup: Recovery bootstrap generation is invalid');
|
|
422
|
+
}
|
|
423
|
+
if (generation < highestObservedGeneration) {
|
|
424
|
+
throw new Error(`supervised-growth setup: Recovery bootstrap generation regressed from ${highestObservedGeneration} to ${generation}`);
|
|
425
|
+
}
|
|
426
|
+
highestObservedGeneration = generation;
|
|
427
|
+
if (generation > input.previousBootstrapGeneration) {
|
|
428
|
+
if (health.bootstrapStatus === 'failed') {
|
|
429
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} bootstrap failed${health.bootstrapFailureCode === undefined ? '' : `: ${health.bootstrapFailureCode}`}`);
|
|
430
|
+
}
|
|
431
|
+
if (health.bootstrapStatus === 'succeeded') {
|
|
432
|
+
if (!health.bootstrapAttestationValid) {
|
|
433
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} bootstrap attestation is invalid`);
|
|
434
|
+
}
|
|
435
|
+
if (!isDeepStrictEqual(health.bootstrapAttestations, expectedBootstrap.attestations)) {
|
|
436
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} exact bootstrap attestation set does not match the effective plan`);
|
|
437
|
+
}
|
|
438
|
+
if (health.bootstrapAttestationSetDigest !== expectedBootstrap.attestationSetDigest) {
|
|
439
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} bootstrap attestation set digest does not match the effective plan`);
|
|
440
|
+
}
|
|
441
|
+
const automations = await listAll(input.automationsDatabasePath);
|
|
442
|
+
const stableHealth = await inspect(input.recoveryDatabasePath);
|
|
443
|
+
const stableGeneration = stableHealth.bootstrapGeneration;
|
|
444
|
+
if (!Number.isSafeInteger(stableGeneration) || stableGeneration < 0) {
|
|
445
|
+
throw new Error('supervised-growth setup: Recovery bootstrap generation is invalid');
|
|
446
|
+
}
|
|
447
|
+
if (stableGeneration < highestObservedGeneration) {
|
|
448
|
+
throw new Error(`supervised-growth setup: Recovery bootstrap generation regressed from ${highestObservedGeneration} to ${stableGeneration}`);
|
|
449
|
+
}
|
|
450
|
+
highestObservedGeneration = stableGeneration;
|
|
451
|
+
if (stableGeneration !== generation) {
|
|
452
|
+
lastFailure = new Error('Recovery bootstrap generation changed while attesting Automations');
|
|
453
|
+
}
|
|
454
|
+
else {
|
|
455
|
+
if (stableHealth.bootstrapStatus !== 'succeeded'
|
|
456
|
+
|| !stableHealth.bootstrapAttestationValid
|
|
457
|
+
|| stableHealth.bootstrapAttestationSetDigest !== expectedBootstrap.attestationSetDigest
|
|
458
|
+
|| !isDeepStrictEqual(stableHealth.bootstrapAttestations, expectedBootstrap.attestations)) {
|
|
459
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} bootstrap attestation changed while attesting Automations`);
|
|
460
|
+
}
|
|
461
|
+
const legacyActive = automations.find(record => record.id === 'heartbeat:supervised-growth'
|
|
462
|
+
&& record.status === 'active');
|
|
463
|
+
const recoveries = automations.filter(record => record.id === 'recovery:supervised-growth'
|
|
464
|
+
&& record.status === 'active');
|
|
465
|
+
const analysts = automations.filter(record => record.id === 'heartbeat:supervised-growth-analyst');
|
|
466
|
+
const analyst = analysts.length === 1 ? analysts[0] : undefined;
|
|
467
|
+
const expectedAnalystStatus = input.stage === 'active' ? 'active' : 'paused';
|
|
468
|
+
const analystExact = analyst !== undefined
|
|
469
|
+
&& analyst.owner === 'assistant-heartbeat'
|
|
470
|
+
&& analyst.status === expectedAnalystStatus
|
|
471
|
+
&& isDeepStrictEqual(analyst.definition, expectedAnalystDefinition);
|
|
472
|
+
if (!analystExact) {
|
|
473
|
+
throw new Error(`supervised-growth setup: ${input.stage} analyst automation does not match its exact attested definition`);
|
|
474
|
+
}
|
|
475
|
+
if (legacyActive === undefined && input.stage === 'preview' && recoveries.length === 0) {
|
|
476
|
+
return generation;
|
|
477
|
+
}
|
|
478
|
+
if (legacyActive === undefined && input.stage === 'active' && recoveries.length === 1) {
|
|
479
|
+
const record = recoveries[0];
|
|
480
|
+
if (record.owner === 'dsh-enhanced-assistant-recovery'
|
|
481
|
+
&& isDeepStrictEqual(record.definition, expectedDefinition))
|
|
482
|
+
return generation;
|
|
483
|
+
throw new Error('supervised-growth setup: active Recovery automation definition does not match the compiled plan');
|
|
484
|
+
}
|
|
485
|
+
lastFailure = new Error(input.stage === 'preview'
|
|
486
|
+
? 'legacy/recovery/analyst preview automations have not reached their attested paused state'
|
|
487
|
+
: 'exact Recovery and analyst production automations are not active');
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
else if (health.bootstrapStatus === 'succeeded'
|
|
492
|
+
&& health.bootstrapAttestationValid
|
|
493
|
+
&& health.bootstrapAttestationSetDigest === expectedBootstrap.attestationSetDigest
|
|
494
|
+
&& isDeepStrictEqual(health.bootstrapAttestations, expectedBootstrap.attestations)) {
|
|
495
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} bootstrap reused generation ${generation}`);
|
|
496
|
+
}
|
|
497
|
+
else {
|
|
498
|
+
lastFailure = new Error(`waiting for a Recovery bootstrap generation newer than ${input.previousBootstrapGeneration}`);
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
catch (error) {
|
|
502
|
+
// A current-generation explicit bootstrap failure or definition mismatch
|
|
503
|
+
// is terminal. Missing/busy DB state and not-yet-reconciled paused rows are
|
|
504
|
+
// retried within the same bounded gate.
|
|
505
|
+
if (error instanceof Error
|
|
506
|
+
&& (/Recovery (?:preview|active) bootstrap failed/u.test(error.message)
|
|
507
|
+
|| /bootstrap (?:attestation|generation)/u.test(error.message)
|
|
508
|
+
|| /bootstrap reused generation/u.test(error.message)
|
|
509
|
+
|| /analyst automation/u.test(error.message)
|
|
510
|
+
|| /definition does not match/u.test(error.message)))
|
|
511
|
+
throw error;
|
|
512
|
+
lastFailure = error;
|
|
513
|
+
}
|
|
514
|
+
if (remaining <= 0) {
|
|
515
|
+
throw new Error(`supervised-growth setup: Recovery ${input.stage} bootstrap did not become ready${lastFailure instanceof Error ? `: ${lastFailure.message}` : ''}`);
|
|
516
|
+
}
|
|
517
|
+
const waitFor = Math.min(retryDelayMs, remaining);
|
|
518
|
+
await wait(waitFor);
|
|
519
|
+
remaining -= waitFor;
|
|
520
|
+
}
|
|
521
|
+
}
|
|
260
522
|
async function awaitOwnerBinding(input) {
|
|
261
523
|
const { findActiveOwnerDmBindingsLocally } = await import('@dsh-enhanced/assistant-delivery');
|
|
262
524
|
const deadline = Date.now() + input.timeoutMs;
|
|
@@ -309,11 +571,16 @@ export async function runSupervisedGrowthSetup(argv = process.argv.slice(2)) {
|
|
|
309
571
|
});
|
|
310
572
|
const { listActiveAutomationsLocally } = await import('@dsh-enhanced/assistant-automations');
|
|
311
573
|
assertSupervisedGrowthAutomationGuard(listActiveAutomationsLocally(databases.automationsDatabasePath), args.ackExistingAutomations);
|
|
312
|
-
const
|
|
574
|
+
const { RECOVERY_CATALOG_DIGEST } = await import('@dsh-enhanced/assistant-recovery');
|
|
575
|
+
const activationNonce = randomUUID();
|
|
576
|
+
const previewPatch = configureSupervisedGrowthProfilePatch({
|
|
313
577
|
profilePatch: originalPatch,
|
|
314
578
|
effectiveConfig: effectiveBefore,
|
|
315
579
|
dshHome,
|
|
316
580
|
binding,
|
|
581
|
+
activationState: 'preview',
|
|
582
|
+
activationNonce,
|
|
583
|
+
recoveryCatalogDigest: RECOVERY_CATALOG_DIGEST,
|
|
317
584
|
});
|
|
318
585
|
await assertSelectedOwnerBindingCurrent({
|
|
319
586
|
databasePath: databases.deliveryDatabasePath,
|
|
@@ -321,16 +588,37 @@ export async function runSupervisedGrowthSetup(argv = process.argv.slice(2)) {
|
|
|
321
588
|
selected: binding,
|
|
322
589
|
});
|
|
323
590
|
let service;
|
|
324
|
-
|
|
591
|
+
let acceptedBootstrapGeneration;
|
|
592
|
+
await activateSupervisedGrowthRecoveryStages({
|
|
325
593
|
patchPath,
|
|
326
594
|
originalPatch,
|
|
327
|
-
|
|
328
|
-
validate:
|
|
329
|
-
|
|
330
|
-
|
|
595
|
+
previewPatch,
|
|
596
|
+
validate: stage => {
|
|
597
|
+
const effectiveConfig = dumpProfile(args.profile);
|
|
598
|
+
assertEffectiveSupervisedGrowthConfig({
|
|
599
|
+
effectiveConfig,
|
|
600
|
+
dshHome,
|
|
601
|
+
binding,
|
|
602
|
+
activationState: stage,
|
|
603
|
+
activationNonce,
|
|
604
|
+
recoveryCatalogDigest: RECOVERY_CATALOG_DIGEST,
|
|
605
|
+
});
|
|
606
|
+
return effectiveConfig;
|
|
607
|
+
},
|
|
608
|
+
buildActivePatch: previewEffective => configureSupervisedGrowthProfilePatch({
|
|
609
|
+
profilePatch: previewPatch,
|
|
610
|
+
effectiveConfig: previewEffective,
|
|
611
|
+
dshHome,
|
|
612
|
+
binding,
|
|
613
|
+
activationState: 'active',
|
|
614
|
+
activationNonce,
|
|
615
|
+
recoveryCatalogDigest: RECOVERY_CATALOG_DIGEST,
|
|
616
|
+
}),
|
|
617
|
+
afterStage: async (stage, effectiveConfig) => {
|
|
331
618
|
const effectiveDatabases = supervisedGrowthDatabasePaths(effectiveConfig, dshHome);
|
|
332
619
|
if (effectiveDatabases.deliveryDatabasePath !== databases.deliveryDatabasePath
|
|
333
|
-
|| effectiveDatabases.automationsDatabasePath !== databases.automationsDatabasePath
|
|
620
|
+
|| effectiveDatabases.automationsDatabasePath !== databases.automationsDatabasePath
|
|
621
|
+
|| effectiveDatabases.recoveryDatabasePath !== databases.recoveryDatabasePath) {
|
|
334
622
|
throw new Error('supervised-growth setup: a higher-priority profile layer changed a guarded local database path');
|
|
335
623
|
}
|
|
336
624
|
// The binding is re-read after the atomic write and again immediately
|
|
@@ -341,16 +629,17 @@ export async function runSupervisedGrowthSetup(argv = process.argv.slice(2)) {
|
|
|
341
629
|
query,
|
|
342
630
|
selected: binding,
|
|
343
631
|
});
|
|
344
|
-
|
|
345
|
-
|
|
632
|
+
const previousBootstrapGeneration = acceptedBootstrapGeneration
|
|
633
|
+
?? await recoveryBootstrapGenerationBeforeRestart(databases.recoveryDatabasePath);
|
|
634
|
+
service = await restartAndVerifySupervisedGrowthResident({ dshHome, profile: args.profile });
|
|
635
|
+
acceptedBootstrapGeneration = await verifySupervisedGrowthRecoveryStage({
|
|
636
|
+
stage,
|
|
637
|
+
effectiveConfig,
|
|
638
|
+
recoveryDatabasePath: databases.recoveryDatabasePath,
|
|
639
|
+
automationsDatabasePath: databases.automationsDatabasePath,
|
|
640
|
+
previousBootstrapGeneration,
|
|
346
641
|
timeoutMs: args.timeoutMs,
|
|
347
642
|
});
|
|
348
|
-
await assertSelectedOwnerBindingCurrent({
|
|
349
|
-
databasePath: databases.deliveryDatabasePath,
|
|
350
|
-
query,
|
|
351
|
-
selected: binding,
|
|
352
|
-
});
|
|
353
|
-
service = await restartAndVerifySupervisedGrowthResident({ dshHome, profile: args.profile });
|
|
354
643
|
},
|
|
355
644
|
restore: async () => {
|
|
356
645
|
dumpProfile(args.profile);
|
|
@@ -359,7 +648,7 @@ export async function runSupervisedGrowthSetup(argv = process.argv.slice(2)) {
|
|
|
359
648
|
});
|
|
360
649
|
if (service === undefined)
|
|
361
650
|
throw new Error('supervised-growth setup: resident restart did not return a service');
|
|
362
|
-
process.stdout.write(`supervised-growth 已启用:owner binding ${binding.id}
|
|
651
|
+
process.stdout.write(`supervised-growth/v2 Recovery 已启用:owner binding ${binding.id},Recovery 每日上限 7;独立 adoption analyst 每日上限 1。\n`
|
|
363
652
|
+ `DSH Host 已由 ${service.kind} 重启并通过健康检查。状态:${service.statusCommand}\n日志:${service.logCommand}\n`);
|
|
364
653
|
}
|
|
365
654
|
if (process.argv[1] !== undefined && isMainEntry(import.meta.url, process.argv[1])) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervised-growth-setup.js","sourceRoot":"","sources":["../src/supervised-growth-setup.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"supervised-growth-setup.js","sourceRoot":"","sources":["../src/supervised-growth-setup.ts"],"names":[],"mappings":"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"}
|