@dsh-enhanced/lark-channel 0.1.65 → 0.1.67
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 +25 -7
- package/cordis.patch.yml +1 -0
- package/docs/operations.md +1 -1
- package/docs/progress-security.md +3 -0
- package/docs/rsi-setup.md +13 -7
- package/docs/setup.md +2 -1
- package/lib/adapter.d.ts +8 -0
- package/lib/adapter.d.ts.map +1 -1
- package/lib/adapter.js +44 -7
- package/lib/adapter.js.map +1 -1
- package/lib/config.d.ts +6 -0
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +54 -8
- package/lib/config.js.map +1 -1
- package/lib/group-thread.d.ts +9 -0
- package/lib/group-thread.d.ts.map +1 -1
- package/lib/group-thread.js +16 -2
- package/lib/group-thread.js.map +1 -1
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +24 -1
- package/lib/index.js.map +1 -1
- package/lib/normalize.d.ts.map +1 -1
- package/lib/normalize.js +7 -4
- package/lib/normalize.js.map +1 -1
- package/lib/progress.d.ts +11 -1
- package/lib/progress.d.ts.map +1 -1
- package/lib/progress.js +13 -1
- package/lib/progress.js.map +1 -1
- package/lib/rsi-authority-runtime.d.ts +1 -0
- package/lib/rsi-authority-runtime.d.ts.map +1 -1
- package/lib/rsi-authority-runtime.js +17 -7
- package/lib/rsi-authority-runtime.js.map +1 -1
- package/lib/rsi-bootstrap-manifest.d.ts +17 -5
- package/lib/rsi-bootstrap-manifest.d.ts.map +1 -1
- package/lib/rsi-bootstrap-manifest.js +160 -10
- package/lib/rsi-bootstrap-manifest.js.map +1 -1
- package/lib/rsi-bootstrap.js +3 -3
- package/lib/rsi-bootstrap.js.map +1 -1
- package/lib/rsi-build.d.ts +12 -0
- package/lib/rsi-build.d.ts.map +1 -1
- package/lib/rsi-build.js +55 -5
- package/lib/rsi-build.js.map +1 -1
- package/lib/rsi-creation-build.d.ts +3 -0
- package/lib/rsi-creation-build.d.ts.map +1 -1
- package/lib/rsi-creation-build.js +45 -0
- package/lib/rsi-creation-build.js.map +1 -1
- package/lib/rsi-host-update.d.ts +51 -0
- package/lib/rsi-host-update.d.ts.map +1 -1
- package/lib/rsi-host-update.js +61 -1
- package/lib/rsi-host-update.js.map +1 -1
- package/lib/rsi-install.d.ts +15 -3
- package/lib/rsi-install.d.ts.map +1 -1
- package/lib/rsi-install.js +80 -15
- package/lib/rsi-install.js.map +1 -1
- package/lib/rsi-linux-cgroup-roots.d.ts +3 -0
- package/lib/rsi-linux-cgroup-roots.d.ts.map +1 -0
- package/lib/rsi-linux-cgroup-roots.js +3 -0
- package/lib/rsi-linux-cgroup-roots.js.map +1 -0
- package/lib/rsi-linux-creation-build.d.ts +36 -0
- package/lib/rsi-linux-creation-build.d.ts.map +1 -0
- package/lib/rsi-linux-creation-build.js +213 -0
- package/lib/rsi-linux-creation-build.js.map +1 -0
- package/lib/rsi-linux-native-materialize.d.ts +31 -0
- package/lib/rsi-linux-native-materialize.d.ts.map +1 -0
- package/lib/rsi-linux-native-materialize.js +162 -0
- package/lib/rsi-linux-native-materialize.js.map +1 -0
- package/lib/rsi-linux-native-relocation.d.ts +120 -0
- package/lib/rsi-linux-native-relocation.d.ts.map +1 -0
- package/lib/rsi-linux-native-relocation.js +1555 -0
- package/lib/rsi-linux-native-relocation.js.map +1 -0
- package/lib/rsi-linux-native-resources.d.ts +97 -0
- package/lib/rsi-linux-native-resources.d.ts.map +1 -0
- package/lib/rsi-linux-native-resources.js +521 -0
- package/lib/rsi-linux-native-resources.js.map +1 -0
- package/lib/rsi-linux-repository-bootstrap.d.ts +17 -0
- package/lib/rsi-linux-repository-bootstrap.d.ts.map +1 -0
- package/lib/rsi-linux-repository-bootstrap.js +317 -0
- package/lib/rsi-linux-repository-bootstrap.js.map +1 -0
- package/lib/rsi-linux-runner-states.d.ts +20 -0
- package/lib/rsi-linux-runner-states.d.ts.map +1 -0
- package/lib/rsi-linux-runner-states.js +70 -0
- package/lib/rsi-linux-runner-states.js.map +1 -0
- package/lib/rsi-linux-runtime-bootstrap.d.ts +10 -0
- package/lib/rsi-linux-runtime-bootstrap.d.ts.map +1 -0
- package/lib/rsi-linux-runtime-bootstrap.js +38 -0
- package/lib/rsi-linux-runtime-bootstrap.js.map +1 -0
- package/lib/rsi-linux-source-build.d.ts +28 -0
- package/lib/rsi-linux-source-build.d.ts.map +1 -0
- package/lib/rsi-linux-source-build.js +43 -0
- package/lib/rsi-linux-source-build.js.map +1 -0
- package/lib/rsi-local-install.d.ts +2 -0
- package/lib/rsi-local-install.d.ts.map +1 -1
- package/lib/rsi-local-install.js +42 -1
- package/lib/rsi-local-install.js.map +1 -1
- package/lib/rsi-local-pair-install.d.ts +15 -0
- package/lib/rsi-local-pair-install.d.ts.map +1 -1
- package/lib/rsi-local-pair-install.js +21 -6
- package/lib/rsi-local-pair-install.js.map +1 -1
- package/lib/rsi-local-resources.d.ts +2 -2
- package/lib/rsi-local-resources.d.ts.map +1 -1
- package/lib/rsi-local-resources.js +5 -0
- package/lib/rsi-local-resources.js.map +1 -1
- package/lib/rsi-local-update-build.d.ts +25 -6
- package/lib/rsi-local-update-build.d.ts.map +1 -1
- package/lib/rsi-local-update-build.js +46 -7
- package/lib/rsi-local-update-build.js.map +1 -1
- package/lib/rsi-local-update.d.ts +5 -2
- package/lib/rsi-local-update.d.ts.map +1 -1
- package/lib/rsi-local-update.js +6 -5
- package/lib/rsi-local-update.js.map +1 -1
- package/lib/rsi-memory-learning.d.ts +7 -1
- package/lib/rsi-memory-learning.d.ts.map +1 -1
- package/lib/rsi-memory-learning.js +11 -4
- package/lib/rsi-memory-learning.js.map +1 -1
- package/lib/rsi-native-install.d.ts.map +1 -1
- package/lib/rsi-native-install.js +12 -1
- package/lib/rsi-native-install.js.map +1 -1
- package/lib/rsi-native-profile.d.ts +8 -0
- package/lib/rsi-native-profile.d.ts.map +1 -1
- package/lib/rsi-native-profile.js +102 -4
- package/lib/rsi-native-profile.js.map +1 -1
- package/lib/rsi-ordinary-use-learning.d.ts +60 -0
- package/lib/rsi-ordinary-use-learning.d.ts.map +1 -0
- package/lib/rsi-ordinary-use-learning.js +103 -0
- package/lib/rsi-ordinary-use-learning.js.map +1 -0
- package/lib/rsi-plugin-creation.d.ts +16 -1
- package/lib/rsi-plugin-creation.d.ts.map +1 -1
- package/lib/rsi-plugin-creation.js +60 -14
- package/lib/rsi-plugin-creation.js.map +1 -1
- package/lib/rsi-plugin-revision.d.ts +35 -0
- package/lib/rsi-plugin-revision.d.ts.map +1 -0
- package/lib/rsi-plugin-revision.js +200 -0
- package/lib/rsi-plugin-revision.js.map +1 -0
- package/lib/rsi-profile.d.ts +11 -0
- package/lib/rsi-profile.d.ts.map +1 -1
- package/lib/rsi-profile.js +109 -3
- package/lib/rsi-profile.js.map +1 -1
- package/lib/rsi-release-build.d.ts +24 -8
- package/lib/rsi-release-build.d.ts.map +1 -1
- package/lib/rsi-release-build.js +89 -37
- package/lib/rsi-release-build.js.map +1 -1
- package/lib/rsi-scanner-retirement-config.d.ts +34 -0
- package/lib/rsi-scanner-retirement-config.d.ts.map +1 -0
- package/lib/rsi-scanner-retirement-config.js +272 -0
- package/lib/rsi-scanner-retirement-config.js.map +1 -0
- package/lib/rsi-scanner-retirement-runtime.d.ts +23 -0
- package/lib/rsi-scanner-retirement-runtime.d.ts.map +1 -0
- package/lib/rsi-scanner-retirement-runtime.js +98 -0
- package/lib/rsi-scanner-retirement-runtime.js.map +1 -0
- package/lib/rsi-scanner-retirement-stage.d.ts +55 -0
- package/lib/rsi-scanner-retirement-stage.d.ts.map +1 -0
- package/lib/rsi-scanner-retirement-stage.js +183 -0
- package/lib/rsi-scanner-retirement-stage.js.map +1 -0
- package/lib/rsi-scanner-retirement-transition.d.ts +57 -0
- package/lib/rsi-scanner-retirement-transition.d.ts.map +1 -0
- package/lib/rsi-scanner-retirement-transition.js +320 -0
- package/lib/rsi-scanner-retirement-transition.js.map +1 -0
- package/lib/rsi-setup.d.ts +24 -0
- package/lib/rsi-setup.d.ts.map +1 -1
- package/lib/rsi-setup.js +122 -7
- package/lib/rsi-setup.js.map +1 -1
- package/lib/rsi-source-maintenance.d.ts +9 -1
- package/lib/rsi-source-maintenance.d.ts.map +1 -1
- package/lib/rsi-source-maintenance.js +64 -5
- package/lib/rsi-source-maintenance.js.map +1 -1
- package/lib/rsi-source-update.js +2 -2
- package/lib/rsi-source-update.js.map +1 -1
- package/lib/sdk.d.ts +3 -1
- package/lib/sdk.d.ts.map +1 -1
- package/lib/sdk.js +8 -2
- package/lib/sdk.js.map +1 -1
- package/lib/service.d.ts.map +1 -1
- package/lib/service.js +2 -0
- package/lib/service.js.map +1 -1
- package/lib/setup-profile.d.ts.map +1 -1
- package/lib/setup-profile.js +1 -0
- package/lib/setup-profile.js.map +1 -1
- package/lib/types.d.ts +4 -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.js +1 -1
- package/package.json +21 -21
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { createPrivateKey, createPublicKey } from 'node:crypto';
|
|
2
|
+
import { lstatSync, readFileSync, realpathSync } from 'node:fs';
|
|
3
|
+
import { createRequire } from 'node:module';
|
|
4
|
+
import { dirname, isAbsolute, join, resolve } from 'node:path';
|
|
5
|
+
import { pathToFileURL } from 'node:url';
|
|
6
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
7
|
+
import { validateRevisionAcceptanceAuthorityRef, validateRevisionRegressionAcceptanceAuthorityRef } from '@dsh-enhanced/assistant-growth-contract';
|
|
8
|
+
import { rsiAuthorityRoles } from './rsi-authority-resources.js';
|
|
9
|
+
const limits = { revisions: 32, verifications: 32, cases: 4, reviewRuns: 160, regressionRuns: 320,
|
|
10
|
+
runnerDurationMs: 30_000, outputBytes: 262_144, reviewInputBytes: 262_144, reviewOutputTokens: 8_192,
|
|
11
|
+
durationMs: 300_000, receiptTtlMs: 86_400_000 };
|
|
12
|
+
const policy = 'Derive concrete held-out behavior cases from the current authenticated task and feedback. Independently check the exact adopted parent, candidate patch, outputs, scope and lifecycle ownership. Reject ambiguous behavior, unsafe scope and missing evidence; retained parent cases are independently checked by the paired regression authority.';
|
|
13
|
+
const uuid = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$/u;
|
|
14
|
+
const ownerFields = ['authorityId', 'authorityHash', 'principalId', 'principalRecordId', 'principalVersion', 'workspace', 'agentPreset'];
|
|
15
|
+
function fail(message) { throw new Error(`rsi plugin revision: ${message}`); }
|
|
16
|
+
function exact(value, fields) {
|
|
17
|
+
if (!value || typeof value !== 'object' || Array.isArray(value) || Object.getPrototypeOf(value) !== Object.prototype)
|
|
18
|
+
return false;
|
|
19
|
+
const descriptors = Object.getOwnPropertyDescriptors(value);
|
|
20
|
+
return Reflect.ownKeys(value).length === fields.length
|
|
21
|
+
&& Object.keys(descriptors).sort().join('\0') === [...fields].sort().join('\0')
|
|
22
|
+
&& Object.values(descriptors).every(field => field.enumerable && 'value' in field);
|
|
23
|
+
}
|
|
24
|
+
function privateDirectory(path) {
|
|
25
|
+
if (typeof path !== 'string' || !isAbsolute(path) || resolve(path) !== path || /[\p{Cc}\\]/u.test(path)
|
|
26
|
+
|| realpathSync(path) !== path)
|
|
27
|
+
fail('private directory differs');
|
|
28
|
+
const info = lstatSync(path);
|
|
29
|
+
if (!info.isDirectory() || info.isSymbolicLink() || info.mode & 0o077 || process.getuid && info.uid !== process.getuid()) {
|
|
30
|
+
fail('private directory differs');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function publicKeyAt(path) {
|
|
34
|
+
if (typeof path !== 'string' || !isAbsolute(path) || resolve(path) !== path || /[\p{Cc}\\]/u.test(path)
|
|
35
|
+
|| realpathSync(path) !== path)
|
|
36
|
+
fail('signing identity path differs');
|
|
37
|
+
const info = lstatSync(path);
|
|
38
|
+
if (!info.isFile() || info.isSymbolicLink() || info.nlink !== 1 || info.size < 1 || info.size > 8192
|
|
39
|
+
|| info.mode & 0o077 || process.getuid && info.uid !== process.getuid())
|
|
40
|
+
fail('signing identity is not private');
|
|
41
|
+
const key = createPrivateKey(readFileSync(path));
|
|
42
|
+
if (key.asymmetricKeyType !== 'ed25519')
|
|
43
|
+
fail('signing identity must be Ed25519');
|
|
44
|
+
return createPublicKey(key).export({ format: 'pem', type: 'spki' }).toString();
|
|
45
|
+
}
|
|
46
|
+
const requirePeer = createRequire(import.meta.url);
|
|
47
|
+
function validators() {
|
|
48
|
+
const name = '@dsh-enhanced/assistant-verifier';
|
|
49
|
+
try {
|
|
50
|
+
requirePeer.resolve(name);
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
if (error.code === 'MODULE_NOT_FOUND' || error.code === 'ERR_MODULE_NOT_FOUND') {
|
|
54
|
+
fail(`opted-in plugin revision requires installed peer ${name}`);
|
|
55
|
+
}
|
|
56
|
+
throw error;
|
|
57
|
+
}
|
|
58
|
+
const peer = requirePeer(name);
|
|
59
|
+
if (typeof peer.compileRevisionReviewConfig !== 'function' || typeof peer.compileRevisionRegressionReviewConfig !== 'function') {
|
|
60
|
+
fail('installed revision validators are unavailable; update the verifier peer');
|
|
61
|
+
}
|
|
62
|
+
return { compileRevisionReviewConfig: peer.compileRevisionReviewConfig,
|
|
63
|
+
compileRevisionRegressionReviewConfig: peer.compileRevisionRegressionReviewConfig };
|
|
64
|
+
}
|
|
65
|
+
/** Validate only existing private resources; compilation never creates a ledger or a key. */
|
|
66
|
+
function preparedIdentities(resources) {
|
|
67
|
+
if (!exact(resources, ['schemaVersion', 'root', 'installationId', 'ledgerId', 'identities', 'registry', 'catalog', 'stateRoot', 'configRoot'])
|
|
68
|
+
|| resources.schemaVersion !== 1 || typeof resources.root !== 'string' || !uuid.test(resources.installationId) || !uuid.test(resources.ledgerId)
|
|
69
|
+
|| resources.installationId === resources.ledgerId || !exact(resources.identities, rsiAuthorityRoles)
|
|
70
|
+
|| resources.stateRoot !== join(resources.root, 'state') || resources.configRoot !== join(resources.root, 'config')
|
|
71
|
+
|| !exact(resources.registry, ['id', 'root', 'locator']) || resources.registry.id !== `registry-${resources.installationId}`
|
|
72
|
+
|| resources.registry.root !== join(resources.root, 'registry') || resources.registry.locator !== pathToFileURL(resources.registry.root).href
|
|
73
|
+
|| !exact(resources.catalog, ['id', 'path']) || resources.catalog.id !== `catalog-${resources.installationId}`
|
|
74
|
+
|| resources.catalog.path !== join(resources.root, 'catalog.json'))
|
|
75
|
+
fail('prepared resource identity differs');
|
|
76
|
+
privateDirectory(resources.root);
|
|
77
|
+
privateDirectory(resources.stateRoot);
|
|
78
|
+
privateDirectory(resources.configRoot);
|
|
79
|
+
for (const role of rsiAuthorityRoles) {
|
|
80
|
+
const identity = resources.identities[role], authority = `${role}-${resources.installationId}`;
|
|
81
|
+
if (!exact(identity, ['authority', 'keyId', 'keyPath', 'publicKeyPem']) || identity.authority !== authority
|
|
82
|
+
|| identity.keyId !== `${authority}-key` || identity.keyPath !== join(resources.root, 'identities', `${role}.pem`)
|
|
83
|
+
|| typeof identity.publicKeyPem !== 'string')
|
|
84
|
+
fail('prepared signing identity differs');
|
|
85
|
+
}
|
|
86
|
+
const review = publicKeyAt(resources.identities.review.keyPath), adoption = publicKeyAt(resources.identities.adoption.keyPath);
|
|
87
|
+
if (review !== resources.identities.review.publicKeyPem || adoption !== resources.identities.adoption.publicKeyPem
|
|
88
|
+
|| review === adoption)
|
|
89
|
+
fail('prepared signing identities differ or are not independent');
|
|
90
|
+
}
|
|
91
|
+
/** Recompute both purpose-separated authorities from normalized public peer compilers. */
|
|
92
|
+
export function validateRsiPluginRevisionSetup(input, expectedOwner, now = Date.now()) {
|
|
93
|
+
if (!Number.isSafeInteger(now) || now < 0)
|
|
94
|
+
fail('invalid validation time');
|
|
95
|
+
if (!exact(expectedOwner, ownerFields))
|
|
96
|
+
fail('invalid expected owner');
|
|
97
|
+
if (!exact(input, ['reviews', 'regressions', 'revision', 'verifications', 'regressionVerifications']))
|
|
98
|
+
fail('invalid setup fields');
|
|
99
|
+
const setup = input;
|
|
100
|
+
const peer = validators();
|
|
101
|
+
const reviewed = peer.compileRevisionReviewConfig(setup.reviews);
|
|
102
|
+
const regressed = peer.compileRevisionRegressionReviewConfig(setup.regressions);
|
|
103
|
+
const { config: reviews } = reviewed, { config: regressions } = regressed;
|
|
104
|
+
if (!isDeepStrictEqual(reviews.owner, expectedOwner) || !isDeepStrictEqual(regressions.owner, expectedOwner))
|
|
105
|
+
fail('revision owner differs');
|
|
106
|
+
if (!exact(setup.revision, ['id', 'expiresAt', 'maxRevisions', 'namePrefix'])
|
|
107
|
+
|| typeof setup.revision.id !== 'string' || !Number.isSafeInteger(setup.revision.expiresAt)
|
|
108
|
+
|| setup.revision.expiresAt <= now || setup.revision.maxRevisions !== limits.revisions)
|
|
109
|
+
fail('invalid finite source revision grant');
|
|
110
|
+
const revision = structuredClone(setup.revision);
|
|
111
|
+
const installation = revision.id.startsWith('revision-source-') ? revision.id.slice('revision-source-'.length) : '';
|
|
112
|
+
if (!uuid.test(installation) || revision.namePrefix !== `owner-${installation.slice(0, 8)}-`
|
|
113
|
+
|| reviews.namePrefix !== revision.namePrefix || regressions.namePrefix !== revision.namePrefix)
|
|
114
|
+
fail('revision namespace differs');
|
|
115
|
+
if (reviews.expiresAt !== revision.expiresAt || regressions.expiresAt !== revision.expiresAt
|
|
116
|
+
|| reviews.runner.expiresAt !== revision.expiresAt || regressions.runner.expiresAt !== revision.expiresAt)
|
|
117
|
+
fail('revision authority expiry differs');
|
|
118
|
+
if (reviews.authorityId !== `revision-review-${installation}` || regressions.authorityId !== `revision-regression-${installation}`
|
|
119
|
+
|| reviews.keyId !== `${reviews.authorityId}-key` || regressions.keyId !== `${regressions.authorityId}-key`
|
|
120
|
+
|| new Set([revision.id, reviews.authorityId, regressions.authorityId, expectedOwner.authorityId]).size !== 4)
|
|
121
|
+
fail('revision authority identity differs');
|
|
122
|
+
const root = dirname(dirname(reviews.keyPath));
|
|
123
|
+
if (reviews.keyPath !== join(root, 'identities', 'review.pem') || regressions.keyPath !== reviews.keyPath
|
|
124
|
+
|| reviews.runner.stateRoot !== join(root, 'state', 'revision-review-runner')
|
|
125
|
+
|| regressions.runner.stateRoot !== join(root, 'state', 'revision-regression-runner'))
|
|
126
|
+
fail('revision private roots differ');
|
|
127
|
+
privateDirectory(reviews.runner.stateRoot);
|
|
128
|
+
privateDirectory(regressions.runner.stateRoot);
|
|
129
|
+
if (reviews.maxVerifications !== limits.verifications || regressions.maxVerifications !== limits.verifications
|
|
130
|
+
|| reviews.maxCases !== limits.cases || regressions.maxCases !== limits.cases
|
|
131
|
+
|| reviews.maxDurationMs !== limits.durationMs || regressions.maxDurationMs !== limits.durationMs
|
|
132
|
+
|| reviews.receiptTtlMs !== limits.receiptTtlMs || regressions.receiptTtlMs !== limits.receiptTtlMs
|
|
133
|
+
|| reviews.maxInputBytes !== limits.reviewInputBytes || reviews.maxOutputTokens !== limits.reviewOutputTokens
|
|
134
|
+
|| reviews.policy !== policy)
|
|
135
|
+
fail('revision finite limits or policy differ');
|
|
136
|
+
for (const [runner, runs] of [[reviews.runner, limits.reviewRuns], [regressions.runner, limits.regressionRuns]]) {
|
|
137
|
+
if (runner.maxRuns !== runs || runner.maxDurationMs !== limits.runnerDurationMs
|
|
138
|
+
|| runner.maxTotalDurationMs !== runs * limits.runnerDurationMs || runner.maxOutputBytes !== limits.outputBytes)
|
|
139
|
+
fail('revision runner limits differ');
|
|
140
|
+
}
|
|
141
|
+
const reviewRunner = reviews.runner, regressionRunner = regressions.runner;
|
|
142
|
+
if (!('backend' in reviewRunner) || reviewRunner.backend !== 'linux-native'
|
|
143
|
+
|| !('backend' in regressionRunner) || regressionRunner.backend !== 'linux-native'
|
|
144
|
+
|| !isDeepStrictEqual(reviewRunner.runtime, regressionRunner.runtime)
|
|
145
|
+
|| !isDeepStrictEqual(reviewRunner.cgroupRoots, regressionRunner.cgroupRoots))
|
|
146
|
+
fail('revision runners must share the Linux native family');
|
|
147
|
+
if (!exact(setup.verifications, ['authority', 'publicKey']) || !exact(setup.regressionVerifications, ['authority', 'publicKey']))
|
|
148
|
+
fail('invalid revision verification fields');
|
|
149
|
+
validateRevisionAcceptanceAuthorityRef(setup.verifications.authority);
|
|
150
|
+
validateRevisionRegressionAcceptanceAuthorityRef(setup.regressionVerifications.authority);
|
|
151
|
+
if (!isDeepStrictEqual(setup.verifications.authority, reviewed.authority) || setup.verifications.publicKey !== reviewed.publicKey
|
|
152
|
+
|| !isDeepStrictEqual(setup.regressionVerifications.authority, regressed.authority)
|
|
153
|
+
|| setup.regressionVerifications.publicKey !== regressed.publicKey || reviewed.publicKey !== regressed.publicKey)
|
|
154
|
+
fail('revision verification authority digest or key differs');
|
|
155
|
+
if (publicKeyAt(join(root, 'identities', 'adoption.pem')) === reviewed.publicKey)
|
|
156
|
+
fail('revision review and adoption signing keys must be independent');
|
|
157
|
+
return { reviews, regressions, revision, verifications: { authority: reviewed.authority, publicKey: reviewed.publicKey },
|
|
158
|
+
regressionVerifications: { authority: regressed.authority, publicKey: regressed.publicKey } };
|
|
159
|
+
}
|
|
160
|
+
/** This produces a candidate grant; installation decides whether new revision authority is authorized. */
|
|
161
|
+
export function createRsiPluginRevisionSetup(input) {
|
|
162
|
+
const { resources, build, owner, now, expiresAt } = input;
|
|
163
|
+
if (input.stateSeals && !exact(input.stateSeals, ['review', 'regression']))
|
|
164
|
+
fail('incomplete revision state seals');
|
|
165
|
+
preparedIdentities(resources);
|
|
166
|
+
const hasBuildDigest = !!build && typeof build === 'object' && Object.hasOwn(build, 'buildRuntimeDigest');
|
|
167
|
+
const buildDigest = hasBuildDigest ? Object.getOwnPropertyDescriptor(build, 'buildRuntimeDigest')?.value : undefined;
|
|
168
|
+
if (!exact(build, ['schemaVersion', 'backend', 'sourceCommit', 'behavior', 'cgroupRoots', ...(hasBuildDigest ? ['buildRuntimeDigest'] : [])])
|
|
169
|
+
|| build.schemaVersion !== 3 || build.backend !== 'linux-native' || !/^[a-f0-9]{40}$/u.test(build.sourceCommit)
|
|
170
|
+
|| hasBuildDigest && (typeof buildDigest !== 'string' || !/^[a-f0-9]{64}$/u.test(buildDigest))
|
|
171
|
+
|| !Number.isSafeInteger(expiresAt) || !Number.isSafeInteger(now) || now < 0 || expiresAt <= now)
|
|
172
|
+
fail('invalid native build or expiry');
|
|
173
|
+
const installation = resources.installationId, namePrefix = `owner-${installation.slice(0, 8)}-`;
|
|
174
|
+
const runner = { backend: 'linux-native', runtime: build.behavior, cgroupRoots: build.cgroupRoots,
|
|
175
|
+
expiresAt, maxDurationMs: limits.runnerDurationMs, maxOutputBytes: limits.outputBytes };
|
|
176
|
+
const reviews = { authorityId: `revision-review-${installation}`, owner, namePrefix,
|
|
177
|
+
keyId: `revision-review-${installation}-key`, keyPath: resources.identities.review.keyPath, expiresAt,
|
|
178
|
+
maxVerifications: limits.verifications, runner: { ...runner, stateRoot: join(resources.stateRoot, 'revision-review-runner'),
|
|
179
|
+
...(input.stateSeals ? { stateSeal: input.stateSeals.review } : {}),
|
|
180
|
+
maxRuns: limits.reviewRuns, maxTotalDurationMs: limits.reviewRuns * limits.runnerDurationMs },
|
|
181
|
+
policy, maxInputBytes: limits.reviewInputBytes, maxOutputTokens: limits.reviewOutputTokens,
|
|
182
|
+
maxDurationMs: limits.durationMs, maxCases: limits.cases, receiptTtlMs: limits.receiptTtlMs };
|
|
183
|
+
const regressions = { authorityId: `revision-regression-${installation}`, owner, namePrefix,
|
|
184
|
+
keyId: `revision-regression-${installation}-key`, keyPath: resources.identities.review.keyPath, expiresAt,
|
|
185
|
+
maxVerifications: limits.verifications, runner: { ...runner, stateRoot: join(resources.stateRoot, 'revision-regression-runner'),
|
|
186
|
+
...(input.stateSeals ? { stateSeal: input.stateSeals.regression } : {}),
|
|
187
|
+
maxRuns: limits.regressionRuns, maxTotalDurationMs: limits.regressionRuns * limits.runnerDurationMs },
|
|
188
|
+
maxDurationMs: limits.durationMs, maxCases: limits.cases, receiptTtlMs: limits.receiptTtlMs };
|
|
189
|
+
const peer = validators(), reviewed = peer.compileRevisionReviewConfig(reviews), regressed = peer.compileRevisionRegressionReviewConfig(regressions);
|
|
190
|
+
const setup = validateRsiPluginRevisionSetup({ reviews: reviewed.config, regressions: regressed.config,
|
|
191
|
+
revision: { id: `revision-source-${installation}`, expiresAt, maxRevisions: limits.revisions, namePrefix },
|
|
192
|
+
verifications: { authority: reviewed.authority, publicKey: reviewed.publicKey },
|
|
193
|
+
regressionVerifications: { authority: regressed.authority, publicKey: regressed.publicKey } }, owner, now);
|
|
194
|
+
const native = setup.reviews.runner;
|
|
195
|
+
if (!('backend' in native) || native.backend !== 'linux-native' || native.runtime.runtime.sourceCommit !== build.sourceCommit
|
|
196
|
+
|| setup.verifications.publicKey !== resources.identities.review.publicKeyPem)
|
|
197
|
+
fail('prepared revision build or signing identity differs');
|
|
198
|
+
return setup;
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=rsi-plugin-revision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsi-plugin-revision.js","sourceRoot":"","sources":["../src/rsi-plugin-revision.ts"],"names":[],"mappings":"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"}
|
package/lib/rsi-profile.d.ts
CHANGED
|
@@ -4,7 +4,9 @@ import { type Config as ControlPlaneConfig } from '@dsh-enhanced/plugin-control-
|
|
|
4
4
|
import { type SourceReviewConfig } from '@dsh-enhanced/assistant-verifier';
|
|
5
5
|
import type { RsiServiceEnvironments } from './rsi-service-setup.js';
|
|
6
6
|
import { type RsiMemoryLearningSetup } from './rsi-memory-learning.js';
|
|
7
|
+
import { type RsiOrdinaryUseLearningSetup } from './rsi-ordinary-use-learning.js';
|
|
7
8
|
import { type RsiPluginCreationSetup } from './rsi-plugin-creation.js';
|
|
9
|
+
import { type RsiPluginRevisionSetup } from './rsi-plugin-revision.js';
|
|
8
10
|
/** Private, owner supplied input for the two-host RSI overlay. */
|
|
9
11
|
export interface RsiSetupManifest {
|
|
10
12
|
schemaVersion: 1;
|
|
@@ -15,7 +17,16 @@ export interface RsiSetupManifest {
|
|
|
15
17
|
growthDriver: AssistantGrowthDriverConfig;
|
|
16
18
|
sourceReviews: SourceReviewConfig;
|
|
17
19
|
memoryLearning?: RsiMemoryLearningSetup;
|
|
20
|
+
/** Fresh-install ordinary-use rings that need no new signing-key material. */
|
|
21
|
+
ordinaryUseLearning?: RsiOrdinaryUseLearningSetup;
|
|
18
22
|
pluginCreation?: RsiPluginCreationSetup;
|
|
23
|
+
pluginRevision?: RsiPluginRevisionSetup;
|
|
24
|
+
/** Frozen initial Linux build/observer pairing; retained generations require a separate handoff. */
|
|
25
|
+
linuxBuild?: {
|
|
26
|
+
schemaVersion: 1;
|
|
27
|
+
sourceBuildDigest: string;
|
|
28
|
+
behaviorRuntimeDigest?: string;
|
|
29
|
+
};
|
|
19
30
|
coordinator: {
|
|
20
31
|
budgetId: string;
|
|
21
32
|
budgetAmount: number;
|
package/lib/rsi-profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsi-profile.d.ts","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAmB,KAAK,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACzG,OAAO,
|
|
1
|
+
{"version":3,"file":"rsi-profile.d.ts","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"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"}
|
package/lib/rsi-profile.js
CHANGED
|
@@ -2,12 +2,14 @@ import { isAbsolute, join, resolve } from 'node:path';
|
|
|
2
2
|
import { isDeepStrictEqual } from 'node:util';
|
|
3
3
|
import {} from '@dsh-enhanced/assistant-delivery';
|
|
4
4
|
import { normalizeConfig } from '@dsh-enhanced/assistant-growth-driver';
|
|
5
|
-
import { normalizeControlPlaneConfig } from '@dsh-enhanced/plugin-control-plane';
|
|
5
|
+
import { controlPlaneDigest, normalizeControlPlaneConfig } from '@dsh-enhanced/plugin-control-plane';
|
|
6
6
|
import { validateSourceReviewConfig } from '@dsh-enhanced/assistant-verifier';
|
|
7
7
|
import { isMap, isSeq, parseDocument } from 'yaml';
|
|
8
8
|
import { resolveRsiOwnerRoute, rsiCoordinatorAutomationDatabasePath } from './rsi-owner-profile.js';
|
|
9
9
|
import { validateRsiMemoryLearningSetup } from './rsi-memory-learning.js';
|
|
10
|
+
import { validateRsiOrdinaryUseLearningSetup } from './rsi-ordinary-use-learning.js';
|
|
10
11
|
import { validateRsiPluginCreationSetup } from './rsi-plugin-creation.js';
|
|
12
|
+
import { validateRsiPluginRevisionSetup } from './rsi-plugin-revision.js';
|
|
11
13
|
const targetBundles = [
|
|
12
14
|
'dsh-enhanced-personal-assistant', 'dsh-enhanced-assistant-delivery', 'dsh-enhanced-lark-channel',
|
|
13
15
|
'dsh-enhanced-assistant-evaluation', 'dsh-enhanced-assistant-goals', 'dsh-enhanced-assistant-skills',
|
|
@@ -69,6 +71,7 @@ function json(item, label) {
|
|
|
69
71
|
fail(`${label} must be an object`);
|
|
70
72
|
return value;
|
|
71
73
|
}
|
|
74
|
+
function nodeJson(node) { return node.toJSON(); }
|
|
72
75
|
function profile(value, label) {
|
|
73
76
|
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(value))
|
|
74
77
|
fail(`invalid ${label}`);
|
|
@@ -108,6 +111,22 @@ function absolute(value, label) { if (!isAbsolute(value) || resolve(value) !== v
|
|
|
108
111
|
function same(value, expected, label) { if (!isDeepStrictEqual(value, expected))
|
|
109
112
|
fail(`${label} does not match owner scope`); }
|
|
110
113
|
function validatedCreation(manifest, expectedOwner) {
|
|
114
|
+
const build = manifest.controlPlane.sourceBuild, binding = manifest.linuxBuild;
|
|
115
|
+
if (build && 'backend' in build && build.backend === 'linux-native') {
|
|
116
|
+
const behavior = manifest.pluginCreation?.reviews.runner;
|
|
117
|
+
const keys = ['schemaVersion', 'sourceBuildDigest', ...(behavior ? ['behaviorRuntimeDigest'] : [])];
|
|
118
|
+
if (!binding || Object.keys(binding).sort().join() !== keys.sort().join() || binding.schemaVersion !== 1
|
|
119
|
+
|| binding.sourceBuildDigest !== controlPlaneDigest(build)
|
|
120
|
+
|| behavior && (!('backend' in behavior) || behavior.backend !== 'linux-native'
|
|
121
|
+
|| binding.behaviorRuntimeDigest !== controlPlaneDigest(behavior.runtime)
|
|
122
|
+
|| behavior.runtime.runtime.sourceCommit !== build.runtime.sourceCommit
|
|
123
|
+
|| behavior.runtime.runtime.lockSha256 !== build.runtime.lockSha256
|
|
124
|
+
|| !isDeepStrictEqual(behavior.cgroupRoots, build.cgroupRoots))) {
|
|
125
|
+
fail('Linux source build or creation family differs from its frozen binding');
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
else if (binding !== undefined)
|
|
129
|
+
fail('Linux build binding requires the native repository backend');
|
|
111
130
|
const jobs = manifest.controlPlane.sourceJobs;
|
|
112
131
|
const creation = manifest.pluginCreation === undefined ? undefined
|
|
113
132
|
: validateRsiPluginCreationSetup(manifest.pluginCreation, expectedOwner);
|
|
@@ -133,6 +152,33 @@ function validatedCreation(manifest, expectedOwner) {
|
|
|
133
152
|
}
|
|
134
153
|
return creation;
|
|
135
154
|
}
|
|
155
|
+
function validatedRevision(manifest, expectedOwner, creation) {
|
|
156
|
+
const jobs = manifest.controlPlane.sourceJobs;
|
|
157
|
+
const revision = manifest.pluginRevision === undefined ? undefined
|
|
158
|
+
: validateRsiPluginRevisionSetup(manifest.pluginRevision, expectedOwner);
|
|
159
|
+
const growth = normalizeConfig(manifest.growthDriver);
|
|
160
|
+
if (!revision) {
|
|
161
|
+
if (jobs?.revision || manifest.controlPlane.revisionVerifications || manifest.controlPlane.revisionRegressions
|
|
162
|
+
|| growth.pluginSourceProposals.allowRevision)
|
|
163
|
+
fail('revision requires a complete independent review and regression setup');
|
|
164
|
+
return undefined;
|
|
165
|
+
}
|
|
166
|
+
same(jobs?.revision, revision.revision, 'source revision grant');
|
|
167
|
+
same(manifest.controlPlane.revisionVerifications, revision.verifications, 'revision verification authority');
|
|
168
|
+
same(manifest.controlPlane.revisionRegressions, revision.regressionVerifications, 'revision regression authority');
|
|
169
|
+
if (!creation || !jobs || !growth.pluginSourceProposals.allowRevision || !growth.pluginSourceProposals.allowCreation
|
|
170
|
+
|| revision.revision.expiresAt > jobs.expiresAt || revision.revision.expiresAt !== creation.creation.expiresAt
|
|
171
|
+
|| revision.revision.namePrefix !== creation.creation.namePrefix
|
|
172
|
+
|| !manifest.controlPlane.sourceBuild || !('backend' in manifest.controlPlane.sourceBuild)
|
|
173
|
+
|| manifest.controlPlane.sourceBuild.backend !== 'linux-native'
|
|
174
|
+
|| !('backend' in creation.reviews.runner) || creation.reviews.runner.backend !== 'linux-native'
|
|
175
|
+
|| !('backend' in revision.reviews.runner) || revision.reviews.runner.backend !== 'linux-native'
|
|
176
|
+
|| !isDeepStrictEqual(creation.reviews.runner.runtime, revision.reviews.runner.runtime)
|
|
177
|
+
|| !isDeepStrictEqual(creation.reviews.runner.cgroupRoots, revision.reviews.runner.cgroupRoots)) {
|
|
178
|
+
fail('revision requires the same finite native creation family');
|
|
179
|
+
}
|
|
180
|
+
return revision;
|
|
181
|
+
}
|
|
136
182
|
function assertManifest(input) {
|
|
137
183
|
if (!input || input.schemaVersion !== 1)
|
|
138
184
|
fail('unsupported manifest schema');
|
|
@@ -143,6 +189,13 @@ function assertManifest(input) {
|
|
|
143
189
|
const l = input.limits;
|
|
144
190
|
if (!l || !['periodMs', 'reviews', 'discovery', 'source', 'observations', 'coordinator'].every(key => Object.hasOwn(l, key)) || !Number.isSafeInteger(l.periodMs) || l.periodMs < 1_000 || Object.values(l).some(value => !Number.isSafeInteger(value) || value < 1))
|
|
145
191
|
fail('invalid limits');
|
|
192
|
+
if (input.ordinaryUseLearning !== undefined) {
|
|
193
|
+
validateRsiOrdinaryUseLearningSetup(input.ordinaryUseLearning);
|
|
194
|
+
const memory = input.memoryLearning;
|
|
195
|
+
if (!memory || memory.learning.workItemExperiences !== true || memory.reviews.workItemExperiences !== true
|
|
196
|
+
|| memory.adoption.workItemExperiences !== true)
|
|
197
|
+
fail('ordinary-use learning requires the flagged memory learning, review and adoption grants');
|
|
198
|
+
}
|
|
146
199
|
}
|
|
147
200
|
function assertBudget(document, policy, id, limit, periodMs, scope) {
|
|
148
201
|
const budgets = seq(policy.get('budgets', true), 'assistantPolicy.budgets');
|
|
@@ -219,6 +272,10 @@ function targetPolicy(document, personal, manifest, scope, budgetIds, memory, cr
|
|
|
219
272
|
function configurePersonal(document, personal, manifest, scope, budgetIds, memory, creation) {
|
|
220
273
|
if (memory) {
|
|
221
274
|
const personalMemory = map(personal.get('personalMemory', true), 'personalMemory config');
|
|
275
|
+
const existing = personalMemory.get('automaticLearning', true);
|
|
276
|
+
if (existing !== undefined && !isDeepStrictEqual(nodeJson(existing), memory.adoption)) {
|
|
277
|
+
fail('existing memory adoption grant differs from the frozen owner grant');
|
|
278
|
+
}
|
|
222
279
|
replaceNode(document, personalMemory, 'automaticLearning', memory.adoption);
|
|
223
280
|
}
|
|
224
281
|
targetPolicy(document, personal, manifest, scope, budgetIds, memory, creation);
|
|
@@ -230,6 +287,7 @@ export function compileRsiPersonalAssistantOptions(input) {
|
|
|
230
287
|
const memory = input.manifest.memoryLearning === undefined ? undefined
|
|
231
288
|
: validateRsiMemoryLearningSetup(input.manifest.memoryLearning, input.manifest.sourceReviews.owner);
|
|
232
289
|
const creation = validatedCreation(input.manifest, input.manifest.sourceReviews.owner);
|
|
290
|
+
validatedRevision(input.manifest, input.manifest.sourceReviews.owner, creation);
|
|
233
291
|
if (creation)
|
|
234
292
|
same(input.scope, { workspace: creation.capabilities.owner.workspace,
|
|
235
293
|
preset: creation.capabilities.owner.agentPreset, principal: creation.capabilities.owner.principalId }, 'creation Policy scope');
|
|
@@ -268,7 +326,10 @@ export async function compileRsiProfiles(input) {
|
|
|
268
326
|
validateSourceReviewConfig(input.manifest.sourceReviews);
|
|
269
327
|
const memory = input.manifest.memoryLearning === undefined ? undefined
|
|
270
328
|
: validateRsiMemoryLearningSetup(input.manifest.memoryLearning, expectedOwner);
|
|
329
|
+
const ordinary = input.manifest.ordinaryUseLearning === undefined ? undefined
|
|
330
|
+
: validateRsiOrdinaryUseLearningSetup(input.manifest.ordinaryUseLearning);
|
|
271
331
|
const creation = validatedCreation(input.manifest, expectedOwner);
|
|
332
|
+
const revision = validatedRevision(input.manifest, expectedOwner, creation);
|
|
272
333
|
const cp = structuredClone(input.manifest.controlPlane);
|
|
273
334
|
if (!cp.sourceBuild || !cp.sourceApprovals || !cp.sourceReleases || !cp.sourceReleaseExecution || !cp.sourceAdoptions || !cp.runtimeObserver || !cp.foregroundDeployments || !cp.taskObservations)
|
|
274
335
|
fail('target controlPlane lacks a complete source adoption chain');
|
|
@@ -324,10 +385,19 @@ export async function compileRsiProfiles(input) {
|
|
|
324
385
|
const verifier = cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-verifier');
|
|
325
386
|
// Keep all existing verifier settings, replacing only the finite review grant.
|
|
326
387
|
replaceNode(target.document, verifier, 'sourceReviews', input.manifest.sourceReviews);
|
|
327
|
-
if (memory)
|
|
388
|
+
if (memory) {
|
|
389
|
+
const existing = verifier.get('memoryReviews', true);
|
|
390
|
+
if (existing !== undefined && !isDeepStrictEqual(nodeJson(existing), memory.reviews)) {
|
|
391
|
+
fail('existing memory review grant differs from the frozen owner grant');
|
|
392
|
+
}
|
|
328
393
|
replaceNode(target.document, verifier, 'memoryReviews', memory.reviews);
|
|
394
|
+
}
|
|
329
395
|
if (creation)
|
|
330
396
|
replaceNode(target.document, verifier, 'creationReviews', creation.reviews);
|
|
397
|
+
if (revision) {
|
|
398
|
+
replaceNode(target.document, verifier, 'revisionReviews', revision.reviews);
|
|
399
|
+
replaceNode(target.document, verifier, 'revisionRegressions', revision.regressions);
|
|
400
|
+
}
|
|
331
401
|
if (memory) {
|
|
332
402
|
let learner = row(target.rows, 'dsh-enhanced-assistant-memory-learning');
|
|
333
403
|
if (!learner) {
|
|
@@ -342,10 +412,46 @@ export async function compileRsiProfiles(input) {
|
|
|
342
412
|
learner.set('disabled', false);
|
|
343
413
|
replaceNode(target.document, learner, 'config', memory.learning);
|
|
344
414
|
}
|
|
415
|
+
if (ordinary) {
|
|
416
|
+
const proactiveEntry = required(effective.rows, 'dsh-enhanced-assistant-proactive', 'target effective profile');
|
|
417
|
+
if (proactiveEntry.get('name') !== '@dsh-enhanced/assistant-proactive')
|
|
418
|
+
fail('assistant-proactive row has a different package');
|
|
419
|
+
const proactive = cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-proactive', true);
|
|
420
|
+
const currentEvaluation = proactive.get('intakeEvaluation', true);
|
|
421
|
+
if (currentEvaluation !== undefined && !isDeepStrictEqual(nodeJson(currentEvaluation), ordinary.intakeEvaluation)) {
|
|
422
|
+
fail('existing assistant-proactive intake evaluation differs from the frozen fresh-install setup');
|
|
423
|
+
}
|
|
424
|
+
replaceNode(target.document, proactive, 'intakeEvaluation', ordinary.intakeEvaluation);
|
|
425
|
+
const workItemsEntry = required(effective.rows, 'dsh-enhanced-assistant-work-items', 'target effective profile');
|
|
426
|
+
if (workItemsEntry.get('name') !== '@dsh-enhanced/assistant-work-items')
|
|
427
|
+
fail('assistant-work-items row has a different package');
|
|
428
|
+
const workItems = cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-work-items', true);
|
|
429
|
+
if (workItems.get('enabled') !== true)
|
|
430
|
+
fail('ordinary-use learning requires assistant-work-items.enabled: true');
|
|
431
|
+
const ledgerNode = workItems.get('intakeLedger', true);
|
|
432
|
+
const ledger = ledgerNode === undefined ? map(target.document.createNode({}), 'assistant-work-items intakeLedger') : map(ledgerNode, 'assistant-work-items intakeLedger');
|
|
433
|
+
if (ledgerNode === undefined)
|
|
434
|
+
workItems.set('intakeLedger', ledger);
|
|
435
|
+
if (ledger.get('enabled') !== true)
|
|
436
|
+
fail('ordinary-use learning requires assistant-work-items.intakeLedger.enabled: true');
|
|
437
|
+
const evaluationNode = ledger.get('evaluation', true);
|
|
438
|
+
const evaluation = evaluationNode === undefined
|
|
439
|
+
? map(target.document.createNode({}), 'assistant-work-items intake evaluation')
|
|
440
|
+
: map(evaluationNode, 'assistant-work-items intake evaluation');
|
|
441
|
+
if (evaluationNode === undefined)
|
|
442
|
+
ledger.set('evaluation', evaluation);
|
|
443
|
+
if (evaluation.get('enabled') !== undefined && evaluation.get('enabled') !== true) {
|
|
444
|
+
fail('existing assistant-work-items intake evaluation is disabled; a retry cannot silently re-enable it');
|
|
445
|
+
}
|
|
446
|
+
evaluation.set('enabled', true);
|
|
447
|
+
}
|
|
345
448
|
cloneEffectiveConfig(target, effective, 'dsh-enhanced-assistant-growth-driver', true);
|
|
346
449
|
replaceNode(target.document, required(target.rows, 'dsh-enhanced-assistant-growth-driver'), 'config', input.manifest.growthDriver);
|
|
347
450
|
cloneEffectiveConfig(target, effective, 'dsh-enhanced-plugin-control-plane');
|
|
348
|
-
|
|
451
|
+
// Native review authorities share immutable runtime descriptors in memory.
|
|
452
|
+
// Emit independent YAML values so a subsequent raw Loader digest has no aliases.
|
|
453
|
+
const nativeCp = 'backend' in cp.sourceBuild && cp.sourceBuild.backend === 'linux-native';
|
|
454
|
+
required(target.rows, 'dsh-enhanced-plugin-control-plane').set('config', target.document.createNode(cp, { aliasDuplicateObjects: !nativeCp }));
|
|
349
455
|
// Coordinator is intentionally sparse. Base rows must match the installed
|
|
350
456
|
// base patch exactly, while enhanced rows are an explicit three-bundle set.
|
|
351
457
|
const allowedBase = baseRows(input.coordinatorBase);
|
package/lib/rsi-profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsi-profile.js","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rsi-profile.js","sourceRoot":"","sources":["../src/rsi-profile.ts"],"names":[],"mappings":"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"}
|