@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
package/lib/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"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"}
|
package/lib/setup.js
CHANGED
|
@@ -1,11 +1,20 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
3
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
4
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
5
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
6
|
+
});
|
|
7
|
+
}
|
|
8
|
+
return path;
|
|
9
|
+
};
|
|
2
10
|
import { createHash, randomBytes } from 'node:crypto';
|
|
3
11
|
import { accessSync, constants, realpathSync } from 'node:fs';
|
|
4
12
|
import { chmod, lstat, mkdir, open, readFile, readdir, rename, rm, unlink } from 'node:fs/promises';
|
|
5
13
|
import { homedir } from 'node:os';
|
|
6
|
-
import {
|
|
14
|
+
import { createRequire } from 'node:module';
|
|
15
|
+
import { basename, delimiter, dirname, isAbsolute, join, normalize, win32 } from 'node:path';
|
|
7
16
|
import { DatabaseSync } from 'node:sqlite';
|
|
8
|
-
import { fileURLToPath } from 'node:url';
|
|
17
|
+
import { fileURLToPath, pathToFileURL } from 'node:url';
|
|
9
18
|
import { createInterface } from 'node:readline/promises';
|
|
10
19
|
import { spawnSync } from 'node:child_process';
|
|
11
20
|
import { registerApp } from '@larksuiteoapi/node-sdk';
|
|
@@ -1223,7 +1232,7 @@ export function dshHomeLifecycleRendezvousPath(dshHome, uid = process.getuid?.()
|
|
|
1223
1232
|
if (!isAbsolute(dshHome))
|
|
1224
1233
|
throw new Error('lark-channel setup: DSH_HOME must be absolute');
|
|
1225
1234
|
if (!Number.isSafeInteger(uid) || uid === undefined || uid < 0) {
|
|
1226
|
-
throw new Error('lark-channel setup: cannot determine the
|
|
1235
|
+
throw new Error('lark-channel setup: cannot determine the user id for lifecycle locking');
|
|
1227
1236
|
}
|
|
1228
1237
|
const canonicalHome = normalizeSetupResourcePath(dshHome);
|
|
1229
1238
|
return `/tmp/.dsh-enhanced-lifecycle-${uid}-${textSha256(canonicalHome)}.lock`;
|
|
@@ -1239,13 +1248,15 @@ async function assertDshHomeLifecycleLockIdentity(descriptor, lockPath, uid) {
|
|
|
1239
1248
|
}
|
|
1240
1249
|
}
|
|
1241
1250
|
export async function withDshHomeLifecycleLock(dshHome, operation) {
|
|
1242
|
-
if (process.platform !== 'linux')
|
|
1251
|
+
if (process.platform !== 'linux' && process.platform !== 'darwin')
|
|
1243
1252
|
return operation();
|
|
1244
1253
|
const uid = process.getuid?.();
|
|
1245
1254
|
if (!Number.isSafeInteger(uid) || uid === undefined || uid < 0) {
|
|
1246
|
-
throw new Error('lark-channel setup: cannot determine the
|
|
1255
|
+
throw new Error('lark-channel setup: cannot determine the user id for lifecycle locking');
|
|
1247
1256
|
}
|
|
1248
|
-
|
|
1257
|
+
// macOS /tmp is a system symlink to /private/tmp. Validate the physical
|
|
1258
|
+
// sticky directory while retaining the shared rendezvous pathname.
|
|
1259
|
+
const temporaryDirectory = await lstat(process.platform === 'darwin' ? realpathSync('/tmp') : '/tmp');
|
|
1249
1260
|
if (!temporaryDirectory.isDirectory() || temporaryDirectory.isSymbolicLink()
|
|
1250
1261
|
|| temporaryDirectory.uid !== 0 || (temporaryDirectory.mode & 0o7777) !== 0o1777) {
|
|
1251
1262
|
throw new Error('lark-channel setup: lifecycle rendezvous lock requires a safe root-owned sticky /tmp');
|
|
@@ -1255,9 +1266,16 @@ export async function withDshHomeLifecycleLock(dshHome, operation) {
|
|
|
1255
1266
|
try {
|
|
1256
1267
|
descriptor = await open(lockPath, constants.O_RDWR | constants.O_CREAT | constants.O_NOFOLLOW, 0o600);
|
|
1257
1268
|
await assertDshHomeLifecycleLockIdentity(descriptor, lockPath, uid);
|
|
1258
|
-
|
|
1269
|
+
// Both helpers lock the inherited open file description. The kernel keeps
|
|
1270
|
+
// it locked until this process closes the descriptor, including on crash.
|
|
1271
|
+
const mac = process.platform === 'darwin';
|
|
1272
|
+
const acquired = spawnSync(mac ? '/usr/bin/perl' : '/usr/bin/flock', mac
|
|
1273
|
+
? ['-MFcntl=:flock', '-MErrno=EAGAIN,EWOULDBLOCK', '-e',
|
|
1274
|
+
'open(F, "<&", 3) or exit 74; flock(F, LOCK_EX|LOCK_NB) or exit(($! == EAGAIN || $! == EWOULDBLOCK) ? 75 : 74);']
|
|
1275
|
+
: ['-n', '-E', '75', '3'], {
|
|
1259
1276
|
encoding: 'utf8',
|
|
1260
1277
|
stdio: ['ignore', 'ignore', 'pipe', descriptor.fd],
|
|
1278
|
+
env: { PATH: '/usr/bin:/bin', LANG: 'C' }, timeout: 10_000,
|
|
1261
1279
|
});
|
|
1262
1280
|
if (acquired.status === 75)
|
|
1263
1281
|
throw new Error(`lark-channel setup: DSH_HOME lifecycle is busy: ${lockPath}`);
|
|
@@ -2252,22 +2270,43 @@ async function assertNoOtherProfileSharesDelivery(input) {
|
|
|
2252
2270
|
await readFile(patchPath, 'utf8');
|
|
2253
2271
|
}
|
|
2254
2272
|
catch (error) {
|
|
2255
|
-
|
|
2273
|
+
// Electron can have a bundle-backed desktop profile before its optional
|
|
2274
|
+
// user patch exists. Its bundles may still own Lark or consume Delivery.
|
|
2275
|
+
if (fileSystemErrorCode(error) === 'ENOENT' && entry.name !== 'desktop')
|
|
2256
2276
|
continue;
|
|
2257
|
-
|
|
2277
|
+
if (fileSystemErrorCode(error) === 'ENOENT') {
|
|
2278
|
+
// Continue into the read-only Desktop composition below.
|
|
2279
|
+
}
|
|
2280
|
+
else {
|
|
2281
|
+
throw error;
|
|
2282
|
+
}
|
|
2258
2283
|
}
|
|
2259
2284
|
let effective;
|
|
2260
2285
|
try {
|
|
2261
2286
|
effective = await input.readEffectiveProfile(entry.name);
|
|
2262
2287
|
}
|
|
2263
2288
|
catch (error) {
|
|
2264
|
-
|
|
2265
|
-
|
|
2266
|
-
|
|
2267
|
-
|
|
2268
|
-
|
|
2269
|
-
|
|
2270
|
-
|
|
2289
|
+
if (entry.name === 'desktop'
|
|
2290
|
+
&& error instanceof Error
|
|
2291
|
+
&& error.message.includes('profile "desktop" is managed exclusively by the Electron application')) {
|
|
2292
|
+
try {
|
|
2293
|
+
effective = await readElectronDesktopEffectiveProfile(input.dshHome);
|
|
2294
|
+
}
|
|
2295
|
+
catch (compositionError) {
|
|
2296
|
+
throw new Error(`lark-channel setup: cannot verify effective Lark ownership in profile desktop or its Delivery consumers`, {
|
|
2297
|
+
cause: compositionError,
|
|
2298
|
+
});
|
|
2299
|
+
}
|
|
2300
|
+
}
|
|
2301
|
+
else {
|
|
2302
|
+
// Raw absence cannot prove absence: consumers may be inherited from a lower
|
|
2303
|
+
// bundle and a resident using the last valid composition may still run.
|
|
2304
|
+
// Without a durable ownership registry, an unverifiable real profile is
|
|
2305
|
+
// therefore a fail-closed handoff boundary.
|
|
2306
|
+
throw new Error(`lark-channel setup: cannot verify effective Lark ownership in profile ${entry.name} or its Delivery consumers`, {
|
|
2307
|
+
cause: error,
|
|
2308
|
+
});
|
|
2309
|
+
}
|
|
2271
2310
|
}
|
|
2272
2311
|
if (effectiveProfileHasEnabledLarkChannel(effective, entry.name)
|
|
2273
2312
|
&& normalizeSetupResourcePath(deliveryDatabasePathFromEffectiveProfile(effective, input.dshHome)) === databasePath) {
|
|
@@ -2281,6 +2320,80 @@ async function assertNoOtherProfileSharesDelivery(input) {
|
|
|
2281
2320
|
}
|
|
2282
2321
|
}
|
|
2283
2322
|
}
|
|
2323
|
+
/** Electron owns `desktop`, so the DSH CLI refuses even a config dump. Compose
|
|
2324
|
+
* its existing project with the same app-boot reader as Electron, without
|
|
2325
|
+
* running the CLI or preparing (and writing to) that profile. */
|
|
2326
|
+
async function readElectronDesktopEffectiveProfile(dshHome) {
|
|
2327
|
+
const profileDir = platformJoin(dshHome, 'profiles', 'desktop');
|
|
2328
|
+
// The Electron Host resolves core bundles from its private runtime, not the
|
|
2329
|
+
// plugin project. The setup process already uses `dsh` on PATH for ordinary
|
|
2330
|
+
// config dumps, so anchor this exceptional read to that same installation.
|
|
2331
|
+
const dshManifest = await resolveSetupDshManifest();
|
|
2332
|
+
const bootEntry = createRequire(dshManifest).resolve('@deepseek-ai/dsh-app-boot');
|
|
2333
|
+
const boot = await import(__rewriteRelativeImportExtension(pathToFileURL(bootEntry).href));
|
|
2334
|
+
const loaded = boot.loadProfileDirectory('dsh desktop', profileDir, dshManifest);
|
|
2335
|
+
if (loaded.skippedBundles.length > 0) {
|
|
2336
|
+
throw new Error(`desktop profile has unreadable bundles: ${loaded.skippedBundles.map(item => item.packageName).join(', ')}`);
|
|
2337
|
+
}
|
|
2338
|
+
const layers = loaded.layers.map(layer => ({ label: layer.packageName, patches: layer.patches }));
|
|
2339
|
+
layers.push({ label: loaded.patchPath, patches: loaded.patches });
|
|
2340
|
+
const homePatchPath = platformJoin(dshHome, 'cordis.patch.yml');
|
|
2341
|
+
const homePatches = boot.loadOptionalPatches('dsh desktop', homePatchPath);
|
|
2342
|
+
if (homePatches !== undefined)
|
|
2343
|
+
layers.push({ label: homePatchPath, patches: homePatches });
|
|
2344
|
+
return boot.renderConfigDump('dsh desktop', platformJoin(profileDir, 'cordis.yml'), layers);
|
|
2345
|
+
}
|
|
2346
|
+
async function resolveSetupDshManifest() {
|
|
2347
|
+
const selectedVersion = spawnSync('dsh', ['--version'], {
|
|
2348
|
+
encoding: 'utf8', stdio: ['ignore', 'pipe', 'pipe'], timeout: 10_000,
|
|
2349
|
+
});
|
|
2350
|
+
if (selectedVersion.status !== 0 || typeof selectedVersion.stdout !== 'string') {
|
|
2351
|
+
throw new Error('cannot verify the selected dsh CLI version');
|
|
2352
|
+
}
|
|
2353
|
+
const version = selectedVersion.stdout.trim();
|
|
2354
|
+
if (!/^\d+\.\d+\.\d+(?:-[0-9A-Za-z.-]+)?$/u.test(version)) {
|
|
2355
|
+
throw new Error('selected dsh CLI returned an invalid version');
|
|
2356
|
+
}
|
|
2357
|
+
for (const directory of (process.env.PATH ?? '').split(delimiter)) {
|
|
2358
|
+
if (directory === '')
|
|
2359
|
+
continue;
|
|
2360
|
+
const executable = platformJoin(directory, 'dsh');
|
|
2361
|
+
try {
|
|
2362
|
+
accessSync(executable, constants.X_OK);
|
|
2363
|
+
}
|
|
2364
|
+
catch {
|
|
2365
|
+
continue;
|
|
2366
|
+
}
|
|
2367
|
+
const canonical = realpathSync(executable);
|
|
2368
|
+
const candidates = [];
|
|
2369
|
+
try {
|
|
2370
|
+
candidates.push(createRequire(canonical).resolve('@deepseek-ai/dsh/package.json'));
|
|
2371
|
+
}
|
|
2372
|
+
catch {
|
|
2373
|
+
// Electron's public `dsh` command is a shell launcher; it has no Node
|
|
2374
|
+
// package at this path. Search later PATH entries for a matching npm CLI.
|
|
2375
|
+
}
|
|
2376
|
+
for (let ancestor = dirname(canonical);;) {
|
|
2377
|
+
candidates.push(platformJoin(ancestor, 'package.json'));
|
|
2378
|
+
const parent = dirname(ancestor);
|
|
2379
|
+
if (parent === ancestor)
|
|
2380
|
+
break;
|
|
2381
|
+
ancestor = parent;
|
|
2382
|
+
}
|
|
2383
|
+
for (const manifest of candidates) {
|
|
2384
|
+
let packageJson;
|
|
2385
|
+
try {
|
|
2386
|
+
packageJson = JSON.parse(await readFile(manifest, 'utf8'));
|
|
2387
|
+
}
|
|
2388
|
+
catch {
|
|
2389
|
+
continue;
|
|
2390
|
+
}
|
|
2391
|
+
if (packageJson.name === '@deepseek-ai/dsh' && packageJson.version === version)
|
|
2392
|
+
return manifest;
|
|
2393
|
+
}
|
|
2394
|
+
}
|
|
2395
|
+
throw new Error('no npm dsh installation on PATH matches the selected CLI version');
|
|
2396
|
+
}
|
|
2284
2397
|
async function withDeliveryOwnerSetupLock(databasePath, operation, options = {}) {
|
|
2285
2398
|
const resourcePath = normalizeSetupResourcePath(databasePath);
|
|
2286
2399
|
await mkdir(dirname(resourcePath), { recursive: true, mode: 0o700 });
|