@dsh-enhanced/lark-channel 0.1.49 → 0.1.53
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 +2 -1
- package/docs/rsi-setup.md +27 -6
- package/docs/setup.md +2 -0
- package/lib/launchd-control.d.ts +24 -0
- package/lib/launchd-control.d.ts.map +1 -0
- package/lib/launchd-control.js +68 -0
- package/lib/launchd-control.js.map +1 -0
- package/lib/launchd-identity.d.ts +34 -0
- package/lib/launchd-identity.d.ts.map +1 -0
- package/lib/launchd-identity.js +184 -0
- package/lib/launchd-identity.js.map +1 -0
- package/lib/launchd-target-lock.d.ts +6 -0
- package/lib/launchd-target-lock.d.ts.map +1 -0
- package/lib/launchd-target-lock.js +48 -0
- package/lib/launchd-target-lock.js.map +1 -0
- package/lib/launchd.d.ts +18 -0
- package/lib/launchd.d.ts.map +1 -1
- package/lib/launchd.js +211 -54
- package/lib/launchd.js.map +1 -1
- package/lib/rsi-bootstrap-manifest.d.ts.map +1 -1
- package/lib/rsi-bootstrap-manifest.js +3 -24
- package/lib/rsi-bootstrap-manifest.js.map +1 -1
- package/lib/rsi-build.d.ts +10 -1
- package/lib/rsi-build.d.ts.map +1 -1
- package/lib/rsi-build.js +101 -27
- package/lib/rsi-build.js.map +1 -1
- package/lib/rsi-creation-build.d.ts +1 -0
- package/lib/rsi-creation-build.d.ts.map +1 -1
- package/lib/rsi-creation-build.js +60 -30
- package/lib/rsi-creation-build.js.map +1 -1
- package/lib/rsi-install.d.ts +1 -1
- package/lib/rsi-install.d.ts.map +1 -1
- package/lib/rsi-install.js.map +1 -1
- package/lib/rsi-local-install.d.ts +31 -3
- package/lib/rsi-local-install.d.ts.map +1 -1
- package/lib/rsi-local-install.js +117 -16
- package/lib/rsi-local-install.js.map +1 -1
- package/lib/rsi-memory-learning.d.ts +8 -0
- package/lib/rsi-memory-learning.d.ts.map +1 -1
- package/lib/rsi-memory-learning.js +28 -0
- package/lib/rsi-memory-learning.js.map +1 -1
- package/lib/rsi-native-install.d.ts +38 -0
- package/lib/rsi-native-install.d.ts.map +1 -0
- package/lib/rsi-native-install.js +254 -0
- package/lib/rsi-native-install.js.map +1 -0
- package/lib/rsi-native-launchd.d.ts +7 -0
- package/lib/rsi-native-launchd.d.ts.map +1 -0
- package/lib/rsi-native-launchd.js +49 -0
- package/lib/rsi-native-launchd.js.map +1 -0
- package/lib/rsi-native-profile.d.ts +64 -0
- package/lib/rsi-native-profile.d.ts.map +1 -0
- package/lib/rsi-native-profile.js +283 -0
- package/lib/rsi-native-profile.js.map +1 -0
- package/lib/rsi-native-runtime-bootstrap.d.ts +35 -0
- package/lib/rsi-native-runtime-bootstrap.d.ts.map +1 -0
- package/lib/rsi-native-runtime-bootstrap.js +385 -0
- package/lib/rsi-native-runtime-bootstrap.js.map +1 -0
- package/lib/rsi-plugin-creation.d.ts +2 -1
- package/lib/rsi-plugin-creation.d.ts.map +1 -1
- package/lib/rsi-plugin-creation.js +16 -6
- package/lib/rsi-plugin-creation.js.map +1 -1
- package/lib/rsi-setup.d.ts.map +1 -1
- package/lib/rsi-setup.js +24 -8
- package/lib/rsi-setup.js.map +1 -1
- package/lib/rsi-source.d.ts.map +1 -1
- package/lib/rsi-source.js +121 -9
- package/lib/rsi-source.js.map +1 -1
- package/lib/setup.d.ts.map +1 -1
- package/lib/setup.js +129 -16
- package/lib/setup.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +21 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsi-memory-learning.js","sourceRoot":"","sources":["../src/rsi-memory-learning.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rsi-memory-learning.js","sourceRoot":"","sources":["../src/rsi-memory-learning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { compileNativeRsiProfile, type NativeRsiSetupManifest } from './rsi-native-profile.js';
|
|
2
|
+
import { rsiSetupPorts } from './rsi-setup.js';
|
|
3
|
+
import { type RsiInstallInput, type RsiInstallResult } from './rsi-install.js';
|
|
4
|
+
import { assertNativeLaunchdPlist, inspectNativeLaunchd, startNativeLaunchd, stopNativeLaunchd, type NativeLaunchdIdentity } from './rsi-native-launchd.js';
|
|
5
|
+
declare function prepare(input: RsiInstallInput, signal: AbortSignal): Promise<{
|
|
6
|
+
source: import("./rsi-source.js").RsiSourceWorkspace;
|
|
7
|
+
resources: import("./rsi-authority-resources.js").RsiAuthorityResources;
|
|
8
|
+
build: import("./rsi-build.js").RsiBuildEnvironment | import("./rsi-native-runtime-bootstrap.js").NativeRsiBuildEnvironment;
|
|
9
|
+
creationBuild: import("./rsi-creation-build.js").RsiCreationBuildEnvironment | import("./rsi-native-runtime-bootstrap.js").NativeRsiCreationBuildEnvironment;
|
|
10
|
+
executor: {
|
|
11
|
+
id: string;
|
|
12
|
+
version: string;
|
|
13
|
+
path: string;
|
|
14
|
+
sha256: string;
|
|
15
|
+
environmentAllowlist: never[];
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
declare function ready(input: RsiInstallInput & NativeLaunchdIdentity, manifest: NativeRsiSetupManifest, signal: AbortSignal): Promise<void>;
|
|
19
|
+
export interface NativeRsiInstallPorts {
|
|
20
|
+
prepare: typeof prepare;
|
|
21
|
+
compile: typeof compileNativeRsiProfile;
|
|
22
|
+
dump: typeof rsiSetupPorts.dump;
|
|
23
|
+
snapshot: typeof rsiSetupPorts.snapshot;
|
|
24
|
+
inventory: typeof rsiSetupPorts.automationInventory;
|
|
25
|
+
inspect: typeof inspectNativeLaunchd;
|
|
26
|
+
validatePlist: typeof assertNativeLaunchdPlist;
|
|
27
|
+
stop: typeof stopNativeLaunchd;
|
|
28
|
+
start: typeof startNativeLaunchd;
|
|
29
|
+
ready: typeof ready;
|
|
30
|
+
home?: string;
|
|
31
|
+
now: () => number;
|
|
32
|
+
}
|
|
33
|
+
export declare const nativeRsiInstallPorts: NativeRsiInstallPorts;
|
|
34
|
+
/** A single native Host owns the existing task loop. Grants are immutable and
|
|
35
|
+
* finite; retries resume the same grant, and never mint replacement budgets. */
|
|
36
|
+
export declare function installNativeRsiOwnerDeployment(input: RsiInstallInput, ports?: NativeRsiInstallPorts): Promise<RsiInstallResult>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=rsi-native-install.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsi-native-install.d.ts","sourceRoot":"","sources":["../src/rsi-native-install.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,uBAAuB,EAAiC,KAAK,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAC7H,OAAO,EAA2B,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEvE,OAAO,EAAiC,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAE7G,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAA0B,KAAK,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AA8BnL,iBAAe,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW;;;;;;;;;;;;GAYjE;AACD,iBAAe,KAAK,CAAC,KAAK,EAAE,eAAe,GAAG,qBAAqB,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,WAAW,iBAKzH;AACD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,OAAO,CAAA;IACvB,OAAO,EAAE,OAAO,uBAAuB,CAAA;IACvC,IAAI,EAAE,OAAO,aAAa,CAAC,IAAI,CAAA;IAC/B,QAAQ,EAAE,OAAO,aAAa,CAAC,QAAQ,CAAA;IACvC,SAAS,EAAE,OAAO,aAAa,CAAC,mBAAmB,CAAA;IACnD,OAAO,EAAE,OAAO,oBAAoB,CAAA;IACpC,aAAa,EAAE,OAAO,wBAAwB,CAAA;IAC9C,IAAI,EAAE,OAAO,iBAAiB,CAAA;IAC9B,KAAK,EAAE,OAAO,kBAAkB,CAAA;IAChC,KAAK,EAAE,OAAO,KAAK,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,MAAM,CAAA;CAClB;AACD,eAAO,MAAM,qBAAqB,EAAE,qBAGe,CAAA;AAYnD;gFACgF;AAChF,wBAAsB,+BAA+B,CAAC,KAAK,EAAE,eAAe,EAC1E,KAAK,GAAE,qBAA6C,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA0HjF"}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
import { createHash, randomBytes, randomUUID } from 'node:crypto';
|
|
2
|
+
import { lstat, mkdir, realpath, rename, unlink } from 'node:fs/promises';
|
|
3
|
+
import { dirname, join } from 'node:path';
|
|
4
|
+
import { isDeepStrictEqual } from 'node:util';
|
|
5
|
+
import { listActiveAutomationsLocally } from '@dsh-enhanced/assistant-automations';
|
|
6
|
+
import { withDshHomeLifecycleLock } from './setup.js';
|
|
7
|
+
import { withLaunchAgentTargetLock } from './launchd-target-lock.js';
|
|
8
|
+
import { createLaunchAgent, launchAgentPaths } from './launchd.js';
|
|
9
|
+
import { prepareRsiSourceWorkspace } from './rsi-source.js';
|
|
10
|
+
import { prepareRsiBuildEnvironment, RsiBuildUnavailableError, rsiBuildResources as io } from './rsi-build.js';
|
|
11
|
+
import { prepareRsiCreationBuildEnvironment } from './rsi-creation-build.js';
|
|
12
|
+
import { nativeRsiCreationBuild, prepareNativeRsiRuntime } from './rsi-native-runtime-bootstrap.js';
|
|
13
|
+
import { prepareRsiAuthorityResources } from './rsi-authority-resources.js';
|
|
14
|
+
import { compileNativeRsiProfile } from './rsi-native-profile.js';
|
|
15
|
+
import { assertRsiEffectivePatch, rsiSetupPorts } from './rsi-setup.js';
|
|
16
|
+
import { resolveInstalledRsiDsh } from './rsi-install-inputs.js';
|
|
17
|
+
import { assertRsiMemoryScanActivation } from './rsi-install.js';
|
|
18
|
+
import { rsiDatabasePaths } from './rsi-owner-profile.js';
|
|
19
|
+
import { assertNativeLaunchdPlist, inspectNativeLaunchd, startNativeLaunchd, stopNativeLaunchd, waitNativeRuntimeReady } from './rsi-native-launchd.js';
|
|
20
|
+
import { version } from './version.js';
|
|
21
|
+
const MAX_BYTES = 4_194_304;
|
|
22
|
+
function fail(message) { throw new Error(`rsi native install: ${message}`); }
|
|
23
|
+
const digest = (value) => createHash('sha256').update(value).digest('hex');
|
|
24
|
+
async function optional(path, privateFile = true) {
|
|
25
|
+
try {
|
|
26
|
+
const entry = await lstat(path);
|
|
27
|
+
if (!entry.isFile() || entry.nlink !== 1 || entry.mode & 0o022 || await realpath(path) !== path)
|
|
28
|
+
fail(`unsafe file: ${path}`);
|
|
29
|
+
return (await io.readStable(path, MAX_BYTES, privateFile)).toString('utf8');
|
|
30
|
+
}
|
|
31
|
+
catch (error) {
|
|
32
|
+
if (error.code === 'ENOENT')
|
|
33
|
+
return null;
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function atomic(path, value) {
|
|
38
|
+
if (value === null) {
|
|
39
|
+
await unlink(path).catch(error => { if (error.code !== 'ENOENT')
|
|
40
|
+
throw error; });
|
|
41
|
+
await io.syncDirectory(dirname(path));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const temporary = `${path}.${randomUUID()}.tmp`;
|
|
45
|
+
await io.writeExclusive(temporary, value);
|
|
46
|
+
try {
|
|
47
|
+
await rename(temporary, path);
|
|
48
|
+
await io.syncDirectory(dirname(path));
|
|
49
|
+
}
|
|
50
|
+
finally {
|
|
51
|
+
await unlink(temporary).catch(error => { if (error.code !== 'ENOENT')
|
|
52
|
+
throw error; });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
async function immutable(path, value) {
|
|
56
|
+
const existing = await optional(path);
|
|
57
|
+
if (existing !== null) {
|
|
58
|
+
if (existing !== value)
|
|
59
|
+
fail(`frozen authority changed: ${path}`);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
await io.writeExclusive(path, value);
|
|
63
|
+
await io.syncDirectory(dirname(path));
|
|
64
|
+
}
|
|
65
|
+
async function privateDirectory(path) {
|
|
66
|
+
await mkdir(path, { mode: 0o700 }).catch(error => { if (error.code !== 'EEXIST')
|
|
67
|
+
throw error; });
|
|
68
|
+
await io.directory(path);
|
|
69
|
+
}
|
|
70
|
+
async function prepare(input, signal) {
|
|
71
|
+
const source = await prepareRsiSourceWorkspace({ ...input, version, signal });
|
|
72
|
+
const resources = await prepareRsiAuthorityResources({ ...input, signal });
|
|
73
|
+
const build = process.platform === 'darwin'
|
|
74
|
+
? await prepareNativeRsiRuntime({ dshHome: input.dshHome, profile: input.profile, source, signal })
|
|
75
|
+
: await prepareRsiBuildEnvironment({ ...input, source, signal });
|
|
76
|
+
const creationBuild = build.schemaVersion === 2 ? nativeRsiCreationBuild(build)
|
|
77
|
+
: await prepareRsiCreationBuildEnvironment({ ...input, source, build, signal });
|
|
78
|
+
for (const name of ['creation-review-runner', 'creation-adoption-runner'])
|
|
79
|
+
await privateDirectory(join(resources.stateRoot, name));
|
|
80
|
+
const dsh = await resolveInstalledRsiDsh();
|
|
81
|
+
return { source, resources, build, creationBuild,
|
|
82
|
+
executor: { id: 'dsh', version: dsh.version, path: dsh.path, sha256: dsh.pin.sha256, environmentAllowlist: [] } };
|
|
83
|
+
}
|
|
84
|
+
async function ready(input, manifest, signal) {
|
|
85
|
+
await waitNativeRuntimeReady(input, manifest.controlPlane.runtimeObserver, signal);
|
|
86
|
+
const effective = rsiSetupPorts.dump(input.profile, input.dshHome);
|
|
87
|
+
const database = rsiDatabasePaths(effective, input.dshHome).automationsDatabasePath;
|
|
88
|
+
assertRsiMemoryScanActivation(manifest, listActiveAutomationsLocally(database));
|
|
89
|
+
}
|
|
90
|
+
export const nativeRsiInstallPorts = { prepare, compile: compileNativeRsiProfile,
|
|
91
|
+
dump: rsiSetupPorts.dump, snapshot: rsiSetupPorts.snapshot, inventory: rsiSetupPorts.automationInventory,
|
|
92
|
+
inspect: inspectNativeLaunchd, validatePlist: assertNativeLaunchdPlist, stop: stopNativeLaunchd,
|
|
93
|
+
start: startNativeLaunchd, ready, now: Date.now };
|
|
94
|
+
/** A single native Host owns the existing task loop. Grants are immutable and
|
|
95
|
+
* finite; retries resume the same grant, and never mint replacement budgets. */
|
|
96
|
+
export async function installNativeRsiOwnerDeployment(input, ports = nativeRsiInstallPorts) {
|
|
97
|
+
if (!/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/u.test(input.profile) || input.profile === 'desktop'
|
|
98
|
+
|| await realpath(input.dshHome) !== input.dshHome)
|
|
99
|
+
fail('invalid native installation identity');
|
|
100
|
+
const signal = AbortSignal.any([input.signal ?? new AbortController().signal, AbortSignal.timeout(2_400_000)]);
|
|
101
|
+
return withDshHomeLifecycleLock(input.dshHome, () => withLaunchAgentTargetLock(input, async () => {
|
|
102
|
+
let prepared;
|
|
103
|
+
try {
|
|
104
|
+
prepared = await ports.prepare(input, signal);
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
signal.throwIfAborted();
|
|
108
|
+
if (error instanceof RsiBuildUnavailableError)
|
|
109
|
+
return { mode: 'not-ready', reason: error.message };
|
|
110
|
+
throw error;
|
|
111
|
+
}
|
|
112
|
+
const { resources, source, build, creationBuild, executor } = prepared;
|
|
113
|
+
const serviceInput = { ...input, ...(ports.home ? { home: ports.home } : {}), nodePath: await realpath(process.execPath),
|
|
114
|
+
dshPath: executor.path, dshSha256: executor.sha256 }, paths = launchAgentPaths(serviceInput);
|
|
115
|
+
const profileRoot = join(input.dshHome, 'profiles', input.profile), patchPath = join(profileRoot, 'cordis.patch.yml');
|
|
116
|
+
await io.directory(profileRoot, false);
|
|
117
|
+
await mkdir(dirname(paths.plistPath), { recursive: true, mode: 0o700 });
|
|
118
|
+
await io.directory(dirname(paths.plistPath), false);
|
|
119
|
+
await privateDirectory(join(input.dshHome, 'logs'));
|
|
120
|
+
const observerRoot = join(input.dshHome, `.rsi-${digest(input.profile).slice(0, 12)}`);
|
|
121
|
+
await privateDirectory(observerRoot);
|
|
122
|
+
const observer = { socketPath: join(observerRoot, 'observe.sock'), keyPath: join(observerRoot, 'key') };
|
|
123
|
+
if (Buffer.byteLength(observer.socketPath) > 100)
|
|
124
|
+
fail('DSH_HOME is too long for a native Unix socket');
|
|
125
|
+
if (await optional(observer.keyPath) === null)
|
|
126
|
+
await io.writeExclusive(observer.keyPath, randomBytes(32));
|
|
127
|
+
const key = await io.readStable(observer.keyPath, 32, true);
|
|
128
|
+
if (key.length !== 32)
|
|
129
|
+
fail('invalid observer key');
|
|
130
|
+
const observerKeyDigest = createHash('sha256').update(key).digest('hex');
|
|
131
|
+
key.fill(0);
|
|
132
|
+
const planPath = join(resources.configRoot, 'native-plan.json'), journalPath = join(resources.configRoot, 'native-journal.json');
|
|
133
|
+
const manifestPath = join(resources.configRoot, 'native-manifest.json');
|
|
134
|
+
const saved = await optional(planPath);
|
|
135
|
+
const old = saved === null ? undefined : JSON.parse(saved);
|
|
136
|
+
const oldBuild = old?.compiled?.manifest?.controlPlane?.sourceBuild;
|
|
137
|
+
if (old && build.schemaVersion === 2 && (!oldBuild || !('backend' in oldBuild)
|
|
138
|
+
|| oldBuild.backend !== 'macos-seatbelt')) {
|
|
139
|
+
fail('frozen Docker installation plan cannot be resumed with native backend');
|
|
140
|
+
}
|
|
141
|
+
if (old && (old.schemaVersion !== 1 || old.dshHome !== input.dshHome || old.profile !== input.profile
|
|
142
|
+
|| typeof old.beforePatch !== 'string' || typeof old.beforeEffective !== 'string' || typeof old.afterPlist !== 'string'
|
|
143
|
+
|| old.sourceCommit !== source.sourceCommit || !isDeepStrictEqual(old.executor, executor)
|
|
144
|
+
|| old.observerKeyDigest !== observerKeyDigest))
|
|
145
|
+
fail('frozen native installation inputs changed');
|
|
146
|
+
const targetPatch = await optional(patchPath, false);
|
|
147
|
+
if (targetPatch === null)
|
|
148
|
+
fail('target profile patch is missing');
|
|
149
|
+
const effective = ports.dump(input.profile, input.dshHome), snapshot = await ports.snapshot(effective, input.dshHome);
|
|
150
|
+
if (snapshot.bindings.length !== 1)
|
|
151
|
+
fail('exactly one current owner DM is required');
|
|
152
|
+
const owner = snapshot.bindings[0];
|
|
153
|
+
if (old && !isDeepStrictEqual(old.owner, owner))
|
|
154
|
+
fail('owner changed; frozen grants cannot be reused');
|
|
155
|
+
const now = old?.now ?? ports.now(), expiresAt = old?.expiresAt ?? now + 365 * 86_400_000;
|
|
156
|
+
if (expiresAt <= ports.now())
|
|
157
|
+
fail('native grant expired; reinstall does not renew it');
|
|
158
|
+
const compiled = ports.compile({ dshHome: input.dshHome, targetProfile: input.profile,
|
|
159
|
+
targetPatch: old?.beforePatch ?? targetPatch, targetEffective: old?.beforeEffective ?? effective,
|
|
160
|
+
owner, resources, source, sourceBuild: build.sourceBuild, creationBuild, executor, now, expiresAt, observer });
|
|
161
|
+
if (old && !isDeepStrictEqual(old.compiled, compiled))
|
|
162
|
+
fail('native compiled grant differs from the frozen plan');
|
|
163
|
+
const currentPlist = await optional(paths.plistPath, false);
|
|
164
|
+
if (currentPlist !== null)
|
|
165
|
+
ports.validatePlist(currentPlist, serviceInput);
|
|
166
|
+
const state = ports.inspect(serviceInput);
|
|
167
|
+
if (state.registered && currentPlist === null)
|
|
168
|
+
fail('loaded service has no restorable plist');
|
|
169
|
+
const afterPlist = old?.afterPlist ?? createLaunchAgent({ ...paths, dshHome: input.dshHome, profile: input.profile,
|
|
170
|
+
profileDirectory: profileRoot, nodePath: await realpath(process.execPath), dshPath: executor.path,
|
|
171
|
+
path: [...new Set([dirname(await realpath(process.execPath)), dirname(executor.path),
|
|
172
|
+
...(process.env.PATH ?? '').split(':').filter(value => value.startsWith('/')), '/opt/homebrew/bin', '/usr/local/bin', '/usr/bin', '/bin'])].join(':') });
|
|
173
|
+
ports.validatePlist(afterPlist, serviceInput);
|
|
174
|
+
const plan = old ?? { schemaVersion: 1, dshHome: input.dshHome, profile: input.profile, now, expiresAt,
|
|
175
|
+
beforePatch: targetPatch, beforeEffective: effective, beforePlist: currentPlist, registered: state.registered,
|
|
176
|
+
afterPlist, compiled, owner, observerKeyDigest, sourceCommit: source.sourceCommit, executor };
|
|
177
|
+
if (![plan.beforePatch, compiled.targetPatch].includes(targetPatch)
|
|
178
|
+
|| currentPlist !== plan.beforePlist && currentPlist !== plan.afterPlist)
|
|
179
|
+
fail('profile or service changed outside the installation transaction');
|
|
180
|
+
const inventory = await ports.inventory(effective, input.dshHome);
|
|
181
|
+
if (!inventory.schedulerEnabled && inventory.records.length && !input.ackExistingAutomations)
|
|
182
|
+
fail('existing active or paused Automations require --ack-existing-automations');
|
|
183
|
+
const planBytes = JSON.stringify(plan), planDigest = digest(planBytes), journalBytes = await optional(journalPath);
|
|
184
|
+
let attempt = { beforePatch: targetPatch, beforePlist: currentPlist, registered: state.registered };
|
|
185
|
+
if (journalBytes !== null) {
|
|
186
|
+
const previous = JSON.parse(journalBytes);
|
|
187
|
+
if (previous.schemaVersion !== 1 || previous.planDigest !== planDigest
|
|
188
|
+
|| !['prepared', 'applied', 'ready', 'rolled-back'].includes(previous.stage)
|
|
189
|
+
|| ![plan.beforePatch, compiled.targetPatch].includes(previous.beforePatch)
|
|
190
|
+
|| previous.beforePlist !== plan.beforePlist && previous.beforePlist !== plan.afterPlist
|
|
191
|
+
|| typeof previous.registered !== 'boolean')
|
|
192
|
+
fail('native journal does not match the frozen plan');
|
|
193
|
+
// Resume an interrupted attempt with its original rollback boundary. A
|
|
194
|
+
// new retry after success preserves the already-installed deployment.
|
|
195
|
+
if (previous.stage === 'prepared' || previous.stage === 'applied') {
|
|
196
|
+
attempt = { beforePatch: previous.beforePatch, beforePlist: previous.beforePlist, registered: previous.registered };
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
await immutable(planPath, planBytes);
|
|
200
|
+
await immutable(manifestPath, JSON.stringify(compiled.manifest));
|
|
201
|
+
await immutable(compiled.manifest.controlPlane.trustPath, JSON.stringify(compiled.trust));
|
|
202
|
+
const journal = (stage) => atomic(journalPath, JSON.stringify({ schemaVersion: 1, planDigest, stage, ...attempt }));
|
|
203
|
+
await journal('prepared');
|
|
204
|
+
// A failed or interrupted attempt restores exact original bytes. No grant,
|
|
205
|
+
// runtime ledger, candidate history or resource directory is deleted.
|
|
206
|
+
const restore = async () => {
|
|
207
|
+
const recovery = AbortSignal.timeout(60_000);
|
|
208
|
+
await ports.stop(serviceInput, recovery);
|
|
209
|
+
const patch = await optional(patchPath, false), plist = await optional(paths.plistPath, false);
|
|
210
|
+
if (patch !== plan.beforePatch && patch !== compiled.targetPatch
|
|
211
|
+
|| plist !== plan.beforePlist && plist !== plan.afterPlist)
|
|
212
|
+
fail('rollback conflicts with external changes; retain journal');
|
|
213
|
+
await atomic(patchPath, attempt.beforePatch);
|
|
214
|
+
await atomic(paths.plistPath, attempt.beforePlist);
|
|
215
|
+
if (attempt.registered)
|
|
216
|
+
await ports.start(serviceInput, recovery);
|
|
217
|
+
await journal('rolled-back');
|
|
218
|
+
};
|
|
219
|
+
try {
|
|
220
|
+
await ports.stop(serviceInput, signal);
|
|
221
|
+
if (await optional(patchPath, false) !== targetPatch || await optional(paths.plistPath, false) !== currentPlist)
|
|
222
|
+
fail('profile or service drifted while stopping');
|
|
223
|
+
const stoppedEffective = ports.dump(input.profile, input.dshHome);
|
|
224
|
+
const stoppedOwner = await ports.snapshot(stoppedEffective, input.dshHome);
|
|
225
|
+
const stoppedInventory = await ports.inventory(stoppedEffective, input.dshHome);
|
|
226
|
+
if (stoppedEffective !== effective || !isDeepStrictEqual(stoppedOwner.bindings, snapshot.bindings)
|
|
227
|
+
|| !isDeepStrictEqual(stoppedInventory, inventory))
|
|
228
|
+
fail('owner, profile or Automation inventory changed while stopping');
|
|
229
|
+
await atomic(patchPath, compiled.targetPatch);
|
|
230
|
+
assertRsiEffectivePatch(compiled.targetPatch, ports.dump(input.profile, input.dshHome));
|
|
231
|
+
await atomic(paths.plistPath, plan.afterPlist);
|
|
232
|
+
await journal('applied');
|
|
233
|
+
await ports.start(serviceInput, signal);
|
|
234
|
+
await ports.ready(serviceInput, compiled.manifest, signal);
|
|
235
|
+
const readyEffective = ports.dump(input.profile, input.dshHome);
|
|
236
|
+
assertRsiEffectivePatch(compiled.targetPatch, readyEffective);
|
|
237
|
+
if (!isDeepStrictEqual((await ports.snapshot(readyEffective, input.dshHome)).bindings, snapshot.bindings)) {
|
|
238
|
+
fail('owner changed during startup readiness');
|
|
239
|
+
}
|
|
240
|
+
await journal('ready');
|
|
241
|
+
return { mode: 'ready', profiles: [input.profile], manifestPath };
|
|
242
|
+
}
|
|
243
|
+
catch (error) {
|
|
244
|
+
try {
|
|
245
|
+
await restore();
|
|
246
|
+
}
|
|
247
|
+
catch (rollbackError) {
|
|
248
|
+
throw new AggregateError([error, rollbackError], 'rsi native install failed and rollback requires reconciliation');
|
|
249
|
+
}
|
|
250
|
+
throw error;
|
|
251
|
+
}
|
|
252
|
+
}));
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=rsi-native-install.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsi-native-install.js","sourceRoot":"","sources":["../src/rsi-native-install.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type RuntimeObserverConfig, type RuntimeObservation } from '@dsh-enhanced/plugin-control-plane';
|
|
2
|
+
export { assertNativeLaunchdPlist, inspectNativeLaunchd, startNativeLaunchd, stopNativeLaunchd } from './launchd-identity.js';
|
|
3
|
+
export type { NativeLaunchdCommand, NativeLaunchdCommandResult, NativeLaunchdIdentity, NativeLaunchdState } from './launchd-identity.js';
|
|
4
|
+
import type { NativeLaunchdIdentity } from './launchd-identity.js';
|
|
5
|
+
export declare function assertNativeRuntimeObservation(value: RuntimeObservation, observer: RuntimeObserverConfig, pid: number, now?: number): void;
|
|
6
|
+
export declare function waitNativeRuntimeReady(input: NativeLaunchdIdentity, observer: RuntimeObserverConfig, signal: AbortSignal): Promise<void>;
|
|
7
|
+
//# sourceMappingURL=rsi-native-launchd.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsi-native-launchd.d.ts","sourceRoot":"","sources":["../src/rsi-native-launchd.ts"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,qBAAqB,EAAE,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAA;AAGnJ,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAC7H,YAAY,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AACxI,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAIlE,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,EAAE,MAAM,EACpH,GAAG,SAAa,GAAG,IAAI,CAWxB;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EACxG,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBpC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { queryRuntimeObserver, runtimeConfigDigest } from '@dsh-enhanced/plugin-control-plane';
|
|
2
|
+
import { setTimeout as delay } from 'node:timers/promises';
|
|
3
|
+
import { inspectNativeLaunchd } from './launchd-identity.js';
|
|
4
|
+
export { assertNativeLaunchdPlist, inspectNativeLaunchd, startNativeLaunchd, stopNativeLaunchd } from './launchd-identity.js';
|
|
5
|
+
function fail(message) { throw new Error(`rsi native launchd: ${message}`); }
|
|
6
|
+
export function assertNativeRuntimeObservation(value, observer, pid, now = Date.now()) {
|
|
7
|
+
if (pid < 2 || value.processId !== pid || value.profilePath !== observer.profilePath
|
|
8
|
+
|| value.observerConfigDigest !== runtimeConfigDigest(observer) || Math.abs(now - value.observedAt) > 5_000
|
|
9
|
+
|| value.entries.length !== observer.targets.length)
|
|
10
|
+
fail('runtime observation differs from the loaded Host');
|
|
11
|
+
for (const target of observer.targets) {
|
|
12
|
+
const entry = value.entries.find(item => item.entryId === target.entryId);
|
|
13
|
+
if (!entry?.active || entry.module !== target.module || entry.configDigest !== target.configDigest
|
|
14
|
+
|| target.services.some(name => !entry.services.some(service => service.name === name && service.instance !== null))) {
|
|
15
|
+
fail(`Loader entry ${target.entryId} is not ready`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export async function waitNativeRuntimeReady(input, observer, signal) {
|
|
20
|
+
const deadline = Date.now() + 60_000;
|
|
21
|
+
let stableSince = 0, previous = '', failure;
|
|
22
|
+
while (Date.now() < deadline) {
|
|
23
|
+
signal.throwIfAborted();
|
|
24
|
+
try {
|
|
25
|
+
const before = inspectNativeLaunchd(input);
|
|
26
|
+
const value = await queryRuntimeObserver({ ...observer, signal });
|
|
27
|
+
const after = inspectNativeLaunchd(input);
|
|
28
|
+
if (!before.registered || !after.registered || before.pid !== after.pid)
|
|
29
|
+
fail('Host changed during runtime observation');
|
|
30
|
+
assertNativeRuntimeObservation(value, observer, after.pid);
|
|
31
|
+
const key = JSON.stringify([after.pid, value.observerId, value.entries.map(entry => [entry.entryId, entry.instance, entry.services])]);
|
|
32
|
+
if (key !== previous) {
|
|
33
|
+
previous = key;
|
|
34
|
+
stableSince = Date.now();
|
|
35
|
+
}
|
|
36
|
+
if (Date.now() - stableSince >= 12_000)
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
catch (error) {
|
|
40
|
+
signal.throwIfAborted();
|
|
41
|
+
failure = error;
|
|
42
|
+
stableSince = 0;
|
|
43
|
+
previous = '';
|
|
44
|
+
}
|
|
45
|
+
await delay(500, undefined, { signal });
|
|
46
|
+
}
|
|
47
|
+
throw new Error('rsi native launchd: Host failed the stable Loader readiness check', { cause: failure });
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=rsi-native-launchd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsi-native-launchd.js","sourceRoot":"","sources":["../src/rsi-native-launchd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { ActiveLarkOwnerBinding } from '@dsh-enhanced/assistant-delivery';
|
|
2
|
+
import { type AssistantGrowthDriverConfig } from '@dsh-enhanced/assistant-growth-driver';
|
|
3
|
+
import { type Config as ControlPlaneConfig, type PluginControlTrustConfig } from '@dsh-enhanced/plugin-control-plane';
|
|
4
|
+
import type { RsiAuthorityResources } from './rsi-authority-resources.js';
|
|
5
|
+
import type { RsiBuildEnvironment } from './rsi-build.js';
|
|
6
|
+
import type { RsiCreationBuildEnvironment } from './rsi-creation-build.js';
|
|
7
|
+
import type { NativeRsiBuildEnvironment, NativeRsiCreationBuildEnvironment } from './rsi-native-runtime-bootstrap.js';
|
|
8
|
+
import { type RsiMemoryLearningSetup } from './rsi-memory-learning.js';
|
|
9
|
+
import { type RsiPluginCreationSetup } from './rsi-plugin-creation.js';
|
|
10
|
+
import type { RsiSourceWorkspace } from './rsi-source.js';
|
|
11
|
+
export interface NativeRsiProfileInput {
|
|
12
|
+
dshHome: string;
|
|
13
|
+
targetProfile: string;
|
|
14
|
+
targetEffective: string;
|
|
15
|
+
targetPatch: string;
|
|
16
|
+
owner: ActiveLarkOwnerBinding;
|
|
17
|
+
resources: RsiAuthorityResources;
|
|
18
|
+
source: RsiSourceWorkspace;
|
|
19
|
+
sourceBuild: RsiBuildEnvironment['sourceBuild'] | NativeRsiBuildEnvironment['sourceBuild'];
|
|
20
|
+
creationBuild: RsiCreationBuildEnvironment | NativeRsiCreationBuildEnvironment;
|
|
21
|
+
executor: PluginControlTrustConfig['executor'];
|
|
22
|
+
now: number;
|
|
23
|
+
expiresAt: number;
|
|
24
|
+
observer: {
|
|
25
|
+
socketPath: string;
|
|
26
|
+
keyPath: string;
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export interface NativeRsiSetupManifest {
|
|
30
|
+
schemaVersion: 1;
|
|
31
|
+
kind: 'native-plugin-learning';
|
|
32
|
+
targetProfile: string;
|
|
33
|
+
owner: {
|
|
34
|
+
authorityId: string;
|
|
35
|
+
authorityHash: string;
|
|
36
|
+
principalId: string;
|
|
37
|
+
principalRecordId: string;
|
|
38
|
+
principalVersion: number;
|
|
39
|
+
workspace: string;
|
|
40
|
+
agentPreset: string;
|
|
41
|
+
};
|
|
42
|
+
now: number;
|
|
43
|
+
expiresAt: number;
|
|
44
|
+
controlPlane: ControlPlaneConfig;
|
|
45
|
+
growthDriver: AssistantGrowthDriverConfig;
|
|
46
|
+
memoryLearning: RsiMemoryLearningSetup;
|
|
47
|
+
pluginCreation: RsiPluginCreationSetup;
|
|
48
|
+
limits: {
|
|
49
|
+
periodMs: number;
|
|
50
|
+
reviews: number;
|
|
51
|
+
discovery: number;
|
|
52
|
+
source: number;
|
|
53
|
+
memoryExtractions: number;
|
|
54
|
+
memoryScans: number;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export interface NativeRsiCompiledProfile {
|
|
58
|
+
manifest: NativeRsiSetupManifest;
|
|
59
|
+
targetPatch: string;
|
|
60
|
+
trust: PluginControlTrustConfig;
|
|
61
|
+
}
|
|
62
|
+
/** Pure profile composition: prepared identities/builds are inputs, and the caller owns I/O and activation. */
|
|
63
|
+
export declare function compileNativeRsiProfile(input: NativeRsiProfileInput): NativeRsiCompiledProfile;
|
|
64
|
+
//# sourceMappingURL=rsi-native-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rsi-native-profile.d.ts","sourceRoot":"","sources":["../src/rsi-native-profile.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAC9E,OAAO,EAAmB,KAAK,2BAA2B,EAAE,MAAM,uCAAuC,CAAA;AACzG,OAAO,EACL,KAAK,MAAM,IAAI,kBAAkB,EAAE,KAAK,wBAAwB,EAA8B,MAAM,oCAAoC,CAAA;AAE1I,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAA;AAC1E,OAAO,KAAK,EAAE,yBAAyB,EAAE,iCAAiC,EAAE,MAAM,mCAAmC,CAAA;AACrH,OAAO,EAAgC,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAEpG,OAAO,EAAgC,KAAK,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACpG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAazD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;IACpF,KAAK,EAAE,sBAAsB,CAAC;IAAC,SAAS,EAAE,qBAAqB,CAAC;IAAC,MAAM,EAAE,kBAAkB,CAAA;IAC3F,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAA;IAC1F,aAAa,EAAE,2BAA2B,GAAG,iCAAiC,CAAA;IAC9E,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;IAC9E,QAAQ,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAClD;AACD,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,wBAAwB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;IACvE,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAClG,gBAAgB,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;IACpE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,2BAA2B,CAAA;IAC3G,cAAc,EAAE,sBAAsB,CAAC;IAAC,cAAc,EAAE,sBAAsB,CAAA;IAC9E,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAA;CACjI;AACD,MAAM,WAAW,wBAAwB;IAAG,QAAQ,EAAE,sBAAsB,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,wBAAwB,CAAA;CAAE;AAgEpI,+GAA+G;AAC/G,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,qBAAqB,GAAG,wBAAwB,CA6J9F"}
|