dsh-completion-guard 0.8.1 → 0.8.2
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/CHANGELOG.md +11 -0
- package/CHANGELOG.zh-CN.md +11 -0
- package/README.md +12 -7
- package/README.zh-CN.md +12 -7
- package/bin/dsh-completion-guard-host-lock.mjs +93 -6
- package/dist/domain/index.d.ts +2 -2
- package/dist/domain/index.js +2 -2
- package/dist/{domain-Jo13xgPJ.js → domain-B-2fya9P.js} +2223 -390
- package/dist/{index-jKw6mANp.d.ts → index-DqvBEsNc.d.ts} +188 -11
- package/dist/index.d.ts +4 -2
- package/dist/index.js +46 -4
- package/docs/COMPATIBILITY.md +40 -0
- package/docs/DEVELOPMENT_PLAN_DSH_0_2_0_RC2_DESKTOP.md +85 -0
- package/docs/HOST_LOCK_UPGRADE.md +30 -8
- package/docs/LOCAL_ACCEPTANCE.md +10 -0
- package/docs/RELEASE_NOTES_0_8_2.md +21 -0
- package/manifests/rc020-rc2-byte-audit.json +948 -0
- package/manifests/supported-host.v1.json +93 -93
- package/package.json +37 -37
|
@@ -3,13 +3,25 @@ import * as path from "node:path";
|
|
|
3
3
|
import { basename, dirname, isAbsolute, join, posix, relative, resolve, sep } from "node:path";
|
|
4
4
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
5
5
|
import { createHash } from "node:crypto";
|
|
6
|
-
import
|
|
6
|
+
import * as nodeFs from "node:fs";
|
|
7
|
+
import { existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, realpathSync, rmSync, statSync, writeFileSync } from "node:fs";
|
|
7
8
|
import { gunzipSync } from "node:zlib";
|
|
8
|
-
import { spawnSync } from "node:child_process";
|
|
9
|
+
import { execFileSync, spawnSync } from "node:child_process";
|
|
9
10
|
import { tmpdir } from "node:os";
|
|
10
11
|
import { isDeepStrictEqual } from "node:util";
|
|
11
12
|
|
|
13
|
+
//#region src/domain/host-physical-fs.ts
|
|
14
|
+
/** Host identity reads must see physical files. Electron's ordinary fs turns
|
|
15
|
+
* app.asar into a virtual directory, including guessed stat results. Its
|
|
16
|
+
* built-in original-fs keeps these audits on the same raw bytes as the CLI.
|
|
17
|
+
* Never change process.noAsar: the rest of the host needs archive loading.
|
|
18
|
+
* A missing original-fs in Electron is a failed audit, not a fallback.
|
|
19
|
+
*/
|
|
20
|
+
const physicalFs = process.versions.electron ? createRequire(import.meta.url)("original-fs") : nodeFs;
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
12
23
|
//#region src/domain/host-audit-session.ts
|
|
24
|
+
const { existsSync: existsSync$4, readFileSync: readFileSync$3, readdirSync, realpathSync: realpathSync$4, statSync: statSync$2 } = physicalFs;
|
|
13
25
|
function createHostAuditSession(onPhysicalRead) {
|
|
14
26
|
const cache = /* @__PURE__ */ new Map();
|
|
15
27
|
const once = (key, compute) => {
|
|
@@ -35,12 +47,12 @@ function createHostAuditSession(onPhysicalRead) {
|
|
|
35
47
|
};
|
|
36
48
|
const readBytes = (path$1) => once(`read:${path$1}`, () => {
|
|
37
49
|
onPhysicalRead?.(path$1);
|
|
38
|
-
return readFileSync(path$1);
|
|
50
|
+
return readFileSync$3(path$1);
|
|
39
51
|
});
|
|
40
52
|
const session = {
|
|
41
|
-
realpath: (path$1) => once(`realpath:${path$1}`, () => realpathSync(path$1)),
|
|
42
|
-
exists: (path$1) => once(`exists:${path$1}`, () => existsSync(path$1)),
|
|
43
|
-
stat: (path$1) => once(`stat:${path$1}`, () => statSync(path$1)),
|
|
53
|
+
realpath: (path$1) => once(`realpath:${path$1}`, () => realpathSync$4(path$1)),
|
|
54
|
+
exists: (path$1) => once(`exists:${path$1}`, () => existsSync$4(path$1)),
|
|
55
|
+
stat: (path$1) => once(`stat:${path$1}`, () => statSync$2(path$1)),
|
|
44
56
|
readFile: (path$1) => readBytes(path$1),
|
|
45
57
|
readJson: (path$1) => once(`json:${path$1}`, () => JSON.parse(session.readFile(path$1).toString("utf8"))),
|
|
46
58
|
fileDigest: (path$1) => once(`digest:${path$1}`, () => createFileDigest(session.readFile(path$1))),
|
|
@@ -468,8 +480,9 @@ function auditHostDependencyRoutes(graphs, profileRoot, providedSession) {
|
|
|
468
480
|
}
|
|
469
481
|
|
|
470
482
|
//#endregion
|
|
471
|
-
//#region manifests/rc020-
|
|
472
|
-
var
|
|
483
|
+
//#region manifests/rc020-rc2-byte-audit.json
|
|
484
|
+
var hostVersion = "0.2.0-rc.2";
|
|
485
|
+
var packages$1 = [
|
|
473
486
|
{
|
|
474
487
|
"name": "@deepseek-ai/cordis",
|
|
475
488
|
"version": "4.0.4",
|
|
@@ -477,45 +490,49 @@ var packages = [
|
|
|
477
490
|
"tarball": "https://registry.npmjs.org/@deepseek-ai/cordis/-/cordis-4.0.4.tgz",
|
|
478
491
|
"sha256": "99a5cdb344de37cb033cb4e3a1dcfd29585d46f7d3a9c64bca9991554927185c",
|
|
479
492
|
"modules": {
|
|
493
|
+
"bin.js": "cf84978c7e4165bf090b0d50c34c1986d06577f2ada27c902660783a142c3f81",
|
|
480
494
|
"lib/index.js": "6a9394c0877ff45218818c6e815edd038f8057e1a1deb390a8d43ec81c57691e",
|
|
481
495
|
"package.json": "41c9dee4715a89ef94f227384460c8445857c8faf33493eb545604a948828649"
|
|
482
496
|
},
|
|
483
|
-
"programs": {
|
|
497
|
+
"programs": {
|
|
498
|
+
"lib/index.js": "80e38b85f7f608fa7cac756beb911a1a05c2274396fe2e7ee16952f0c8d78202",
|
|
499
|
+
"bin.js": "c4ee390e978fc564ad126ab7bb718aa0f5aec2c20a823ccbbb3bb0bf526d03a1"
|
|
500
|
+
},
|
|
484
501
|
"loadingDigest": "a883ad98b889c0cb667e23c5dd2f9179f88e825aed6355feae69f4c30b77cd69"
|
|
485
502
|
},
|
|
486
503
|
{
|
|
487
504
|
"name": "@deepseek-ai/dsh",
|
|
488
|
-
"version": "0.2.0-rc.
|
|
489
|
-
"integrity": "sha512-
|
|
490
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh/-/dsh-0.2.0-rc.
|
|
491
|
-
"sha256": "
|
|
505
|
+
"version": "0.2.0-rc.2",
|
|
506
|
+
"integrity": "sha512-EAJ3gPNcVt/uv8X19PMm9NkVhWgT7xXNMk0UKCVm+IQ5rpSQOcsMUa0HWlnYYVybKMsccjcRB21vVVsaXQ6IdA==",
|
|
507
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh/-/dsh-0.2.0-rc.2.tgz",
|
|
508
|
+
"sha256": "bd27847c445cd68a565ac1f91c06bbbcc7639ef93071f678bb59c5ebaff38859",
|
|
492
509
|
"modules": {
|
|
493
|
-
"lib/bin.js": "
|
|
510
|
+
"lib/bin.js": "1a03dee18683483ff6a1b27b2a1e650230da6bcca9a0f55f7d81b3308c3f307f",
|
|
494
511
|
"lib/dump-config-BEDI-dNY.js": "fa34d3397b9ac9423f3b98a9f4798b9205f684e1eaf368352e0a93c09831d28f",
|
|
495
512
|
"lib/dump-config-crgOY3tW.js": "4183d3918048badf0a5194fb3c86fbb37b7bf8ccbf638c14bd2ff2b1c545721a",
|
|
496
513
|
"lib/dump-config-schema-DhhNOaro.js": "85c7eef6eee4532570133d3b90487996e912216b96825e33c1bb659036a269f1",
|
|
497
|
-
"lib/plugin-
|
|
514
|
+
"lib/plugin-BGnVfe_D.js": "300438e9e181847cff2e01b8bc404806da532c0801a505a2dc94a94c14c72836",
|
|
498
515
|
"lib/profile-boot-BZ2ZjNWi.js": "c394b2aa2ce08a3b1fcc8c544257c7d689dd4d0b1cfaf8602687e65eeaba5aa1",
|
|
499
516
|
"lib/profile-boot.js": "c53d4e2caf21428e263b525e657dafaf63fd183f7ef016aabda56af7998b6c4f",
|
|
500
|
-
"package.json": "
|
|
517
|
+
"package.json": "0a85203e3e907dd2e3bec34324a2494758ca6cdee234b07090a7c8df0b11acac"
|
|
501
518
|
},
|
|
502
519
|
"programs": {
|
|
503
|
-
"lib/bin.js": "
|
|
520
|
+
"lib/bin.js": "b1554a9c330b6e9cbc1e1fd1213c55378053ea605ef2b22c629520a8706236cd",
|
|
504
521
|
"lib/dump-config-BEDI-dNY.js": "c475a93f3cbd928b951bc2abaeb88fa641a4deb3d30b067296e542eec1a0c0d9",
|
|
505
522
|
"lib/dump-config-crgOY3tW.js": "55205480d865c9194e020b41fc4a701a19acbbc2f39129fdb3678d7dc04b4b38",
|
|
506
523
|
"lib/dump-config-schema-DhhNOaro.js": "85c21562a5ac9c3aefb15ea6baf27d0afda2fad8b0dd4ed377bff45a2c180c1f",
|
|
507
|
-
"lib/plugin-
|
|
524
|
+
"lib/plugin-BGnVfe_D.js": "b7ae45128c1481c0c73de9df8183813bc4de66773cd4d28716cd89f6649a6c3c",
|
|
508
525
|
"lib/profile-boot-BZ2ZjNWi.js": "5826cf68cc33e0c89b1379bd047b92cf209cece56a2e16b01d34f5be5b68c068",
|
|
509
526
|
"lib/profile-boot.js": "29f32dc66585887e03529fc468f1df7cab368ca546d8395c8ceb528cc1d0c853"
|
|
510
527
|
},
|
|
511
|
-
"loadingDigest": "
|
|
528
|
+
"loadingDigest": "ce671c4381bcaeaf992121f21147547c9e0196288d8a9975c73c6de2e0fcf94d"
|
|
512
529
|
},
|
|
513
530
|
{
|
|
514
531
|
"name": "@deepseek-ai/dsh-agent",
|
|
515
|
-
"version": "0.2.0-rc.
|
|
516
|
-
"integrity": "sha512-
|
|
517
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent/-/dsh-agent-0.2.0-rc.
|
|
518
|
-
"sha256": "
|
|
532
|
+
"version": "0.2.0-rc.2",
|
|
533
|
+
"integrity": "sha512-CUkbU+c1G0ETXkpoLkpAFo5midz66FQGtlgQOP9pzvU9H3zJQVl4H5LrhhGVbEXKLFgdbtQiOynEW8hpWn3y0Q==",
|
|
534
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent/-/dsh-agent-0.2.0-rc.2.tgz",
|
|
535
|
+
"sha256": "38f021f47d4693de490ba82dc4bf5e2c083f2ad54b07d20c7059f0c44206be59",
|
|
519
536
|
"modules": {
|
|
520
537
|
"lib/index.js": "7b9aa39474de83115cf890dd7f8904cf0d59df0811cb335ab85565a04f1aac93",
|
|
521
538
|
"lib/invariant.js": "f9d8c2d1d72f407ffd93b9b04212f7c59dd655908daf68f656e05cca9b93befc",
|
|
@@ -528,7 +545,7 @@ var packages = [
|
|
|
528
545
|
"lib/types/projection.js": "43ab89acd14b20b3c2a85c8307f236b38dfa27671dd31b703554777270abc534",
|
|
529
546
|
"lib/types/runtime-types.js": "72347f43fb79c35cff8565b6428c6d7b96a78267cf8994ea3ffd0830a83a21d2",
|
|
530
547
|
"lib/types/types.js": "f4ef7228255d5f64ba546ed2a2b6be63601b77c7b58ac3a58a74f4e8f970cb30",
|
|
531
|
-
"package.json": "
|
|
548
|
+
"package.json": "224385aa84ec7d522f81b169f2ac50443ead741e403a1489d6fbe78e12c73d49"
|
|
532
549
|
},
|
|
533
550
|
"programs": {
|
|
534
551
|
"lib/index.js": "cff96bcb59f9c2998af20c5b17d6511e8088bb99b687973fef47010c33dc7eca",
|
|
@@ -543,48 +560,48 @@ var packages = [
|
|
|
543
560
|
"lib/types/runtime-types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
544
561
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
545
562
|
},
|
|
546
|
-
"loadingDigest": "
|
|
563
|
+
"loadingDigest": "f78f0b0230388e3b72cf2bcfe0b8656b899941f96769994c14706fd997f2b4e5"
|
|
547
564
|
},
|
|
548
565
|
{
|
|
549
566
|
"name": "@deepseek-ai/dsh-agent-loop",
|
|
550
|
-
"version": "0.2.0-rc.
|
|
551
|
-
"integrity": "sha512-
|
|
552
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent-loop/-/dsh-agent-loop-0.2.0-rc.
|
|
553
|
-
"sha256": "
|
|
567
|
+
"version": "0.2.0-rc.2",
|
|
568
|
+
"integrity": "sha512-Ayi1L7s1LIJAq3iCCRFDCGM9Y2lriGlV6nblIYXhKrq+J8bUFQtOdfBYNE1N39WcYb3CwSvTNHDtzZ4oW6MZ6A==",
|
|
569
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent-loop/-/dsh-agent-loop-0.2.0-rc.2.tgz",
|
|
570
|
+
"sha256": "be780a4137fbaaf9e6c4691031c0388747dc71ec2a7d4c986c42a85666d284cc",
|
|
554
571
|
"modules": {
|
|
555
572
|
"lib/index.js": "00c4814d63f3d1e2754eb09144832d19b30499d6ea444730473f740b587948c2",
|
|
556
573
|
"lib/invariant.js": "c577dcdde278b761b5810d9a941131d423de40c22ff57f98a3982681ed3bf772",
|
|
557
|
-
"package.json": "
|
|
574
|
+
"package.json": "341ca7d03c75d0c04803516479267cec1067229361e01a3ee87d7fcdbf50f0ae"
|
|
558
575
|
},
|
|
559
576
|
"programs": {
|
|
560
577
|
"lib/index.js": "29355ba39cd6f2d9276b2a353538c54811745f05f5fb65ee0fd722a962b270bf",
|
|
561
578
|
"lib/invariant.js": "7aaf9659b7faf875f37181ef774c6dc0b64a51456e3bb473622e383a2bec9353"
|
|
562
579
|
},
|
|
563
|
-
"loadingDigest": "
|
|
580
|
+
"loadingDigest": "4e7919142271de682a6a5a358a74bb85d093e8473d21708944d899456ce9b9c9"
|
|
564
581
|
},
|
|
565
582
|
{
|
|
566
583
|
"name": "@deepseek-ai/dsh-app-boot",
|
|
567
|
-
"version": "0.2.0-rc.
|
|
568
|
-
"integrity": "sha512-
|
|
569
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-app-boot/-/dsh-app-boot-0.2.0-rc.
|
|
570
|
-
"sha256": "
|
|
584
|
+
"version": "0.2.0-rc.2",
|
|
585
|
+
"integrity": "sha512-WvgNhBHSj85Z7u9vC1oQr9C7yZQ/L/JS+eVK4bueWEkaoqdEna504V5bi7qtWXxAz5JkeVZTy1sX86p8XG7LJg==",
|
|
586
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-app-boot/-/dsh-app-boot-0.2.0-rc.2.tgz",
|
|
587
|
+
"sha256": "4e1618db99050164e702c2ba5b991ed8a4371fba18f527c097229fcae2310a3f",
|
|
571
588
|
"modules": {
|
|
572
589
|
"lib/index.js": "234db45e1b3f8c683b5bc1f551948b2a2ec52a6468c7b6937725a23f1c0e0d96",
|
|
573
590
|
"lib/worker/profile-resolution-bootstrap.js": "4efac00eba95637481deb245ac4e5b497fceebb55db8e199675406b6bf53dbed",
|
|
574
|
-
"package.json": "
|
|
591
|
+
"package.json": "38ed12cd4992736d37c1251d7c3f1696e2903d0f398a7686f1e692c171e56525"
|
|
575
592
|
},
|
|
576
593
|
"programs": {
|
|
577
594
|
"lib/index.js": "b73271cd64ae1b30291fea15032f524eb2fc4558076be4c9e1038b1e0f4da183",
|
|
578
595
|
"lib/worker/profile-resolution-bootstrap.js": "36c6e937266951b9be2f3e13453e66a784420b721f051bec27d1e74804a9a592"
|
|
579
596
|
},
|
|
580
|
-
"loadingDigest": "
|
|
597
|
+
"loadingDigest": "15560017f1ba7c6ec59c9618b7aee913d0ca26910ae4d174346ecda8d852911a"
|
|
581
598
|
},
|
|
582
599
|
{
|
|
583
600
|
"name": "@deepseek-ai/dsh-attachment",
|
|
584
|
-
"version": "0.2.0-rc.
|
|
585
|
-
"integrity": "sha512-
|
|
586
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-attachment/-/dsh-attachment-0.2.0-rc.
|
|
587
|
-
"sha256": "
|
|
601
|
+
"version": "0.2.0-rc.2",
|
|
602
|
+
"integrity": "sha512-asUDLv+mfb30vjjlQtMI9aBnC+kmPoUxS1ooadhwAd8wssIlLetq97nzC5W1qd0GQGwZtPG/gpljVAMcSwPr1g==",
|
|
603
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-attachment/-/dsh-attachment-0.2.0-rc.2.tgz",
|
|
604
|
+
"sha256": "59a5e3e94c1bd2f97359c4bcc2d35b61104a05403d8b3aaa10c76490ee63517e",
|
|
588
605
|
"modules": {
|
|
589
606
|
"lib/index.js": "9cd6c01a6cca9431f789be334afdfe4f5cf647224bb394cc0215056796520f58",
|
|
590
607
|
"lib/types/admission.js": "e4afabe831d34e00d96416bf902a77bb3cbe3754769b09b0d14142466a340684",
|
|
@@ -593,7 +610,7 @@ var packages = [
|
|
|
593
610
|
"lib/types/index.js": "c96d48d63936a055a525e9e5eec624ce6796e50af5e3f3bd53adddfcbcba967b",
|
|
594
611
|
"lib/types/request-projection.js": "8d184a401ec5ea5b7fc3708870205042cc1afc666655e4e8e4d1d11eefdadf9d",
|
|
595
612
|
"lib/types/types.js": "9a08e59bd2b21a42126b01c3598b057bb5d3be987c200562800e29806e10e50d",
|
|
596
|
-
"package.json": "
|
|
613
|
+
"package.json": "a3deb103ea6f17c70133f7a296a28e85a20b6b79bc40930dff8f296ef411dfd2"
|
|
597
614
|
},
|
|
598
615
|
"programs": {
|
|
599
616
|
"lib/index.js": "3c344b50d80af13c4469250a58573ccea600319bc8be53f4ccb4ea9d29cec841",
|
|
@@ -604,142 +621,142 @@ var packages = [
|
|
|
604
621
|
"lib/types/request-projection.js": "918f29b1549200f0268e104250b47b5feb6841b697f6d56088f16032cd5223a9",
|
|
605
622
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
606
623
|
},
|
|
607
|
-
"loadingDigest": "
|
|
624
|
+
"loadingDigest": "fcea2e67cea666fae4f2d0fb0dbdbf5395b155d4d0351a04e53a4c7e40e06d84"
|
|
608
625
|
},
|
|
609
626
|
{
|
|
610
627
|
"name": "@deepseek-ai/dsh-base",
|
|
611
|
-
"version": "0.2.0-rc.
|
|
612
|
-
"integrity": "sha512-
|
|
613
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-base/-/dsh-base-0.2.0-rc.
|
|
614
|
-
"sha256": "
|
|
628
|
+
"version": "0.2.0-rc.2",
|
|
629
|
+
"integrity": "sha512-AclHClefnPmUe2qoPrKMUvauA/KelYevYlxFdHLZGcPRqrDH+D21HyrwJmj4f7Iu5OO0IqfjB4zBOkwMp5h1ug==",
|
|
630
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-base/-/dsh-base-0.2.0-rc.2.tgz",
|
|
631
|
+
"sha256": "0e9ab8b101fd34088716c63dcfd7644c27240cbc68871d3551e54f7bea4ac086",
|
|
615
632
|
"modules": {
|
|
616
633
|
"lib/index.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
|
|
617
|
-
"package.json": "
|
|
634
|
+
"package.json": "a6a92d062ef5e30a3e4b9d52a3dc8530e909cd0905168e0a2834437c10e02124"
|
|
618
635
|
},
|
|
619
636
|
"programs": { "lib/index.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8" },
|
|
620
|
-
"loadingDigest": "
|
|
637
|
+
"loadingDigest": "c57d1c3d28688328607fabe58972df404f31056248eb57dd9a1784b5c44191d9"
|
|
621
638
|
},
|
|
622
639
|
{
|
|
623
640
|
"name": "@deepseek-ai/dsh-bash-local",
|
|
624
|
-
"version": "0.2.0-rc.
|
|
625
|
-
"integrity": "sha512-
|
|
626
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-local/-/dsh-bash-local-0.2.0-rc.
|
|
627
|
-
"sha256": "
|
|
641
|
+
"version": "0.2.0-rc.2",
|
|
642
|
+
"integrity": "sha512-38cihtu0JSBfj4GAH8pPX0v2tPDZBcPbgX9CjjMTPbhNRF30C+Ncg5zhJo5weaHQR0RnqOIJVuDHxcJ3yT50gg==",
|
|
643
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-local/-/dsh-bash-local-0.2.0-rc.2.tgz",
|
|
644
|
+
"sha256": "938330aaf1e1872cc8a79b4e4e2e87411870ab18ab2b1832dd3275a8a0bb50d0",
|
|
628
645
|
"modules": {
|
|
629
646
|
"lib/index.js": "6d9b4426b8455198b79de398f57c0f5693e7292411059b66d5ac5eba608b59cb",
|
|
630
|
-
"package.json": "
|
|
647
|
+
"package.json": "880e1fdb42911bd02b82007de08ad7f4ded21e5522da46d120bc2f182e11c6b0"
|
|
631
648
|
},
|
|
632
649
|
"programs": { "lib/index.js": "bad1dad01d2dc853e47f5b3452db5e871039e54d3f1859086931b7dd74675508" },
|
|
633
|
-
"loadingDigest": "
|
|
650
|
+
"loadingDigest": "c78894b4cf4fe2fd9c90c408217d9a81991c5e884bd67e5c37d1f8bbae1a703d"
|
|
634
651
|
},
|
|
635
652
|
{
|
|
636
653
|
"name": "@deepseek-ai/dsh-bash-sandbox",
|
|
637
|
-
"version": "0.2.0-rc.
|
|
638
|
-
"integrity": "sha512
|
|
639
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-sandbox/-/dsh-bash-sandbox-0.2.0-rc.
|
|
640
|
-
"sha256": "
|
|
654
|
+
"version": "0.2.0-rc.2",
|
|
655
|
+
"integrity": "sha512-PNTarU5/b5rmkpMVqk5iHq12dktFL68B7dGofWoG9S3xKe7QXTmjQCZXPxyfMqEujtTxDE8HyLcLDE+46Nlchw==",
|
|
656
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-sandbox/-/dsh-bash-sandbox-0.2.0-rc.2.tgz",
|
|
657
|
+
"sha256": "68be94a15149935cbeb5410b561aabbd9051ee0a95e0f8139b1941df78dfcde7",
|
|
641
658
|
"modules": {
|
|
642
659
|
"lib/index.js": "0f788f99113ba7411eb33af71cdafabd07b73cf012c1715c819e03f3f77f342d",
|
|
643
|
-
"package.json": "
|
|
660
|
+
"package.json": "7f3cf039564659f6357f07d82b7c14790ce648a2f2ea0cecebd2038e9e05db9a"
|
|
644
661
|
},
|
|
645
662
|
"programs": { "lib/index.js": "007bc497922220ffe1723faaa96bd367356c81558c1b50b81c1c0601bff281ab" },
|
|
646
|
-
"loadingDigest": "
|
|
663
|
+
"loadingDigest": "4285f38c00448dbe37279e45c4d5e4da4ca20209647b728a6365f165a0caf889"
|
|
647
664
|
},
|
|
648
665
|
{
|
|
649
666
|
"name": "@deepseek-ai/dsh-commands",
|
|
650
|
-
"version": "0.2.0-rc.
|
|
651
|
-
"integrity": "sha512-
|
|
652
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-commands/-/dsh-commands-0.2.0-rc.
|
|
653
|
-
"sha256": "
|
|
667
|
+
"version": "0.2.0-rc.2",
|
|
668
|
+
"integrity": "sha512-pU5oUyOMPDN0yxEjE1wJRInNeC5hs5vJnbOG8MSSfkFov/7Q8hrfwETxZtcRnbrpzzeG19wsvtRz1twkEMKZBA==",
|
|
669
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-commands/-/dsh-commands-0.2.0-rc.2.tgz",
|
|
670
|
+
"sha256": "dcfe0e98b6ce5fd417fdf058331ee0c8766e96f8ad9092151447af10ad800243",
|
|
654
671
|
"modules": {
|
|
655
672
|
"lib/index.js": "88909a0915e4e3b2148c72a912987c3e29ba025b5dea589a0f4543040dc34750",
|
|
656
673
|
"lib/invariant.js": "e6dcb52cba426f2cebe18d351ecb968233d41f7e3cf292be192618d0f52774fc",
|
|
657
|
-
"lib/typert.host.js": "
|
|
674
|
+
"lib/typert.host.js": "f6129d24263644c49e4551bcba7c2eed07d43505c67b222d512a2a77a33666bf",
|
|
658
675
|
"lib/typert.remote-client.js": "19783415466cb498a5dd560c6568716cad39223e2587fc0a16350b591fe051ab",
|
|
659
676
|
"lib/types/brand.js": "50808fed83c5cfe09b80df4165108abba0188645b9b9d39d0426b293e8f188dd",
|
|
660
677
|
"lib/types/index.js": "e3a06e7bf8da759c727a529d1e6b30c831232318602fcd28e66297ba200ef495",
|
|
661
678
|
"lib/types/invariant.js": "e4bdb34890eb5b917fb26e5d8987929ef61be4e0587f8975c6cb7692e22be996",
|
|
662
679
|
"lib/types/types.js": "06f43511aa44249a435d74bf2b168bc767460930d874764c69add444510579b3",
|
|
663
|
-
"package.json": "
|
|
680
|
+
"package.json": "c627cd7296b112ce4ecd97f562eb6c089d500a0493117008ef808938869f1056"
|
|
664
681
|
},
|
|
665
682
|
"programs": {
|
|
666
683
|
"lib/index.js": "f9f0a77cc19a11675b449261467e8d07934d696e4e543c56b0e4a341a12edb0f",
|
|
667
684
|
"lib/invariant.js": "102e78feaec5e02ddc7a10881b3dd04d21ac00af2d1eed34c09f7a8e1462b348",
|
|
668
|
-
"lib/typert.host.js": "
|
|
685
|
+
"lib/typert.host.js": "42b49d64652c10a433b3ffa9065debd688dc2bd68d34fed8db7637d3a5a73b90",
|
|
669
686
|
"lib/typert.remote-client.js": "4441213e7a6f512ecf80ba975cc3a0fab0b30055fd36ce2d02c7666b7e7b858c",
|
|
670
687
|
"lib/types/brand.js": "3892c532b1fcdaefadef5093c73d5b6bb6f718d1befee5ad68b1f8c66a9d817a",
|
|
671
688
|
"lib/types/index.js": "0ca9432876c5276664b12bcb83c0228f88020b4c9e911bdb59fcf4b36e6ed954",
|
|
672
689
|
"lib/types/invariant.js": "2af033be5a6a236dbb98e2e6916d586a009043f43c5098f148e311b6940cb68c",
|
|
673
690
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
674
691
|
},
|
|
675
|
-
"loadingDigest": "
|
|
692
|
+
"loadingDigest": "b2d560cde2a15f2e533b6cc6474bd19d5bf7bc6825fcb3fd79812784b1121baf"
|
|
676
693
|
},
|
|
677
694
|
{
|
|
678
695
|
"name": "@deepseek-ai/dsh-fs",
|
|
679
|
-
"version": "0.2.0-rc.
|
|
680
|
-
"integrity": "sha512-
|
|
681
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs/-/dsh-fs-0.2.0-rc.
|
|
682
|
-
"sha256": "
|
|
696
|
+
"version": "0.2.0-rc.2",
|
|
697
|
+
"integrity": "sha512-PuVcI7drTwa19Key54DROoqnDFTTFkl8TPlyrTnS3BSnykm+jKbB13ES/PQEJoRunNdQkNZa12jtbUI4BP/EHw==",
|
|
698
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs/-/dsh-fs-0.2.0-rc.2.tgz",
|
|
699
|
+
"sha256": "fe68fd0284b5912cfc9610e3cc3f124186266cea997ac07cd8edb2a06b8630f0",
|
|
683
700
|
"modules": {
|
|
684
701
|
"lib/index.js": "b165659f1eff0607222a7fe761bc56bae03fec8337c2e25affd064a3047dacb9",
|
|
685
702
|
"lib/invariant.js": "c3398ff0da3cf65facc78c3ed287ee088afcb0f6179f6b15eb2f618e759af4bb",
|
|
686
|
-
"package.json": "
|
|
703
|
+
"package.json": "7aa321549b06260f1349c328fe41f93759440d07be464bd18220fd2c6b3303ec"
|
|
687
704
|
},
|
|
688
705
|
"programs": {
|
|
689
706
|
"lib/index.js": "7c8ece277d8308c7b11b07ebe59453d8800aec42d7845ea7016ac3a1305fb612",
|
|
690
707
|
"lib/invariant.js": "de826317b9fb50f2195cb2686b06b471a9cae0cb2fcbf0612cc916dd41380e0e"
|
|
691
708
|
},
|
|
692
|
-
"loadingDigest": "
|
|
709
|
+
"loadingDigest": "92014f722c4113b10f057b6c4081b8c878c397892b1eb7ec3befad11df72c9f8"
|
|
693
710
|
},
|
|
694
711
|
{
|
|
695
712
|
"name": "@deepseek-ai/dsh-fs-local",
|
|
696
|
-
"version": "0.2.0-rc.
|
|
697
|
-
"integrity": "sha512-
|
|
698
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-local/-/dsh-fs-local-0.2.0-rc.
|
|
699
|
-
"sha256": "
|
|
713
|
+
"version": "0.2.0-rc.2",
|
|
714
|
+
"integrity": "sha512-lDzh5VlQsXf3nI+E0+T0weYdH1VAoo+htj6Kwc62P7/Lx+xjnYSLQYTeGeaJR1d8H2iQv2FvlwaDKv60AorKdA==",
|
|
715
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-local/-/dsh-fs-local-0.2.0-rc.2.tgz",
|
|
716
|
+
"sha256": "e97e4408fb47d10f71701b804b954c67faeefe93e0f515f2b72deda71a43be70",
|
|
700
717
|
"modules": {
|
|
701
718
|
"lib/index.js": "63fbb41d2c33e07111884b798be507e68c2752acab8249c821c20ade436e894f",
|
|
702
|
-
"package.json": "
|
|
719
|
+
"package.json": "f8ee919241e00faa8bb84fd319adfc5b50b37a8851ffb57ea4ae24697584576f"
|
|
703
720
|
},
|
|
704
721
|
"programs": { "lib/index.js": "e5163b8d9882f25941b64f9dd84ca3f5b879b9077faedbbc2d2298f94e1d3714" },
|
|
705
|
-
"loadingDigest": "
|
|
722
|
+
"loadingDigest": "e6264d9c11c44038619c68c5e330d2e1bd95f6f7c180f49ee6ee567c1d3c367d"
|
|
706
723
|
},
|
|
707
724
|
{
|
|
708
725
|
"name": "@deepseek-ai/dsh-fs-observation-policy",
|
|
709
|
-
"version": "0.2.0-rc.
|
|
710
|
-
"integrity": "sha512-
|
|
711
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-observation-policy/-/dsh-fs-observation-policy-0.2.0-rc.
|
|
712
|
-
"sha256": "
|
|
726
|
+
"version": "0.2.0-rc.2",
|
|
727
|
+
"integrity": "sha512-YPqpJ+WPhYUHS6PtUN4abjUx/dK6bexUiQdFGeQ81F0CEWbIfxyT1QzadKPvU5PrjxpG5e+UtjoEmAQKSCrsiA==",
|
|
728
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-observation-policy/-/dsh-fs-observation-policy-0.2.0-rc.2.tgz",
|
|
729
|
+
"sha256": "829b14d18ab307c2595c6f8ad8d95816ed45fa4fc944a80474afc354150cddb1",
|
|
713
730
|
"modules": {
|
|
714
731
|
"lib/index.js": "e36b54cdb5c6fa01ccfa29f0433753e810ec1ac29a6a22be349d66b77eb64b03",
|
|
715
|
-
"package.json": "
|
|
732
|
+
"package.json": "526d94524f0917153085e6df461ec120e9ca0930ff1b09ec75eebe1761412a77"
|
|
716
733
|
},
|
|
717
734
|
"programs": { "lib/index.js": "4021ffd6e41bb82344eea4b471cc2130053802170a508a037b87771383461867" },
|
|
718
|
-
"loadingDigest": "
|
|
735
|
+
"loadingDigest": "81ff4c8c54ace2c839d0aaea0acaae055b4209da478941b217458929c021d87a"
|
|
719
736
|
},
|
|
720
737
|
{
|
|
721
738
|
"name": "@deepseek-ai/dsh-fs-sandbox",
|
|
722
|
-
"version": "0.2.0-rc.
|
|
723
|
-
"integrity": "sha512-
|
|
724
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-sandbox/-/dsh-fs-sandbox-0.2.0-rc.
|
|
725
|
-
"sha256": "
|
|
739
|
+
"version": "0.2.0-rc.2",
|
|
740
|
+
"integrity": "sha512-y1RCQ64FOXzKXsLLHKVcExn8wKVN3klZY+OBeLYpiTEGZemADk6lf/5bNXQP9v6EwXK4bi4FRkTe8vURZMB/HQ==",
|
|
741
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-sandbox/-/dsh-fs-sandbox-0.2.0-rc.2.tgz",
|
|
742
|
+
"sha256": "d7483237b89b2426109479130935e41f067ca9ab44925a74d0c230e9a0f9d9a2",
|
|
726
743
|
"modules": {
|
|
727
744
|
"lib/index.js": "cac65e21a0f0895b073cb9a447196ac265f2a171cc7f67c7434a6b3b7782caf5",
|
|
728
|
-
"package.json": "
|
|
745
|
+
"package.json": "9c4a6551c4d654679c7dbfb8c24bc7b073f181800c87a1b1bf2672172879b871"
|
|
729
746
|
},
|
|
730
747
|
"programs": { "lib/index.js": "514de2a11be8e3997b98a38549dde1a1f35e620fee69feabb4797c0be4bfa083" },
|
|
731
|
-
"loadingDigest": "
|
|
748
|
+
"loadingDigest": "7212df66f1fc5024688eac1db25b34a77c486725bfa625865d45bf1aa736fbbe"
|
|
732
749
|
},
|
|
733
750
|
{
|
|
734
751
|
"name": "@deepseek-ai/dsh-goal",
|
|
735
|
-
"version": "0.2.0-rc.
|
|
736
|
-
"integrity": "sha512-
|
|
737
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal/-/dsh-goal-0.2.0-rc.
|
|
738
|
-
"sha256": "
|
|
752
|
+
"version": "0.2.0-rc.2",
|
|
753
|
+
"integrity": "sha512-dxjUpSl1WAmg6GqO+m9dYGKPAV+whMR+0xqQCoapb8C60FEmeHa2YdopGKKRLziUzB9H5JoDXjtv5HsfuRQRjA==",
|
|
754
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal/-/dsh-goal-0.2.0-rc.2.tgz",
|
|
755
|
+
"sha256": "b44a39589dc82304e5dfff50bd71a095df586a4480f52e58be4848116358d187",
|
|
739
756
|
"modules": {
|
|
740
757
|
"lib/index.js": "8ec52107ead3d31f4d8ca95894c851046a2cbbd1b2033a0ea22fedf17c043ae4",
|
|
741
758
|
"lib/invariant.js": "468a099beed22d243daba4d97ae3e9e785f5c97309a656c0b8f1815537927246",
|
|
742
|
-
"lib/typert.host.js": "
|
|
759
|
+
"lib/typert.host.js": "de203df419148be8809ca32bf37bfae9fcc50bd3ac28eb4137fbb5074751aca3",
|
|
743
760
|
"lib/typert.remote-client.js": "35df09d652b62cc8a3edf5ed9a4f0e84fbfdffbf9c67f778024dfe97758bd7a9",
|
|
744
761
|
"lib/types/client.js": "4aba033a3236db59a8413dc50ac0640890afe381f5abb93b7bf565b7185e5e8d",
|
|
745
762
|
"lib/types/domain.js": "4e60898de0faed31865df162479770e0d77cffe654528cef7720ca6c5be419af",
|
|
@@ -748,12 +765,12 @@ var packages = [
|
|
|
748
765
|
"lib/types/invariant.js": "2eda87df2fffc21e2f761b138d54c9be523627e3b41bd1508906be5cf69a410d",
|
|
749
766
|
"lib/types/runtime.js": "3c6cf442aba70e119669f6a349768fe98b7f4cd0cdec9d389fb51437bf97745b",
|
|
750
767
|
"lib/types/types.js": "956a9ec9381a09458c283fba5deb4b8b695be6e078e49bbc94d1aa4e586cd32c",
|
|
751
|
-
"package.json": "
|
|
768
|
+
"package.json": "652c79f11bba8eb891fe2e8ebe4de46d16cb3781df458b73f35dc31ed9eadb97"
|
|
752
769
|
},
|
|
753
770
|
"programs": {
|
|
754
771
|
"lib/index.js": "595a64de68075083e3ef611b3d9ad20860cc7fc836fc74f7b2086c9c6aa4a46c",
|
|
755
772
|
"lib/invariant.js": "57ff6c3842d90de6440a9b710d9ebe6f4faae735690846d097ca9a3a2cf6b7da",
|
|
756
|
-
"lib/typert.host.js": "
|
|
773
|
+
"lib/typert.host.js": "e99010840aa261a588c924bcde21c4930114cd294d289eee6ebfa98d01ed50f2",
|
|
757
774
|
"lib/typert.remote-client.js": "7566ae9ffb0de5be418b28a8426d89a0cba55caf6f18083ca97848c371003f1f",
|
|
758
775
|
"lib/types/client.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
759
776
|
"lib/types/domain.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
@@ -763,57 +780,57 @@ var packages = [
|
|
|
763
780
|
"lib/types/runtime.js": "318984bcd709ef43f6b2d4dda7c9a49950078246f7b51b7b621a333a17e0b53f",
|
|
764
781
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
765
782
|
},
|
|
766
|
-
"loadingDigest": "
|
|
783
|
+
"loadingDigest": "c2880e7c946163e2f289233b8779ded83c191d5c3618e7963100995c907644d3"
|
|
767
784
|
},
|
|
768
785
|
{
|
|
769
786
|
"name": "@deepseek-ai/dsh-goal-round-driver",
|
|
770
|
-
"version": "0.2.0-rc.
|
|
771
|
-
"integrity": "sha512-
|
|
772
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal-round-driver/-/dsh-goal-round-driver-0.2.0-rc.
|
|
773
|
-
"sha256": "
|
|
787
|
+
"version": "0.2.0-rc.2",
|
|
788
|
+
"integrity": "sha512-9J+uUo7+US98xqboK+JPXUF1TIGDwN3BB5AdhiDRDweLi1T3wBefpAHD4+ngM3C2e81MnUHk7FIFmK5IUY4B9A==",
|
|
789
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal-round-driver/-/dsh-goal-round-driver-0.2.0-rc.2.tgz",
|
|
790
|
+
"sha256": "2dbece0ca4ad220dc61783322956f908610ffd03fc83e3543d33ce701d2526a7",
|
|
774
791
|
"modules": {
|
|
775
792
|
"lib/index.js": "3bca01a2e87de1683fa8b55ad54688eefc4e366c971c20e9afd654db3b5ab450",
|
|
776
793
|
"lib/invariant.js": "66d6cf4a66dc84c239cd2efaec29606b645ec7f6a8f6c332209464b090df1c83",
|
|
777
|
-
"package.json": "
|
|
794
|
+
"package.json": "9df8dbb3332dc317a758c8edc2666ba2c9ed48dcae4ee6089b42cb50722f49b6"
|
|
778
795
|
},
|
|
779
796
|
"programs": {
|
|
780
797
|
"lib/index.js": "7424d5e5202b23369fed831c932addc766123f637e648b05bfc4f0c1435f43b8",
|
|
781
798
|
"lib/invariant.js": "02b035daf22e24b83ce36d10cc5341891d2228560022b6d5d947cbf12604cb8c"
|
|
782
799
|
},
|
|
783
|
-
"loadingDigest": "
|
|
800
|
+
"loadingDigest": "6c69c100babf037d6da2066ed79de76fd702291baee62062bf561c049b0216c7"
|
|
784
801
|
},
|
|
785
802
|
{
|
|
786
803
|
"name": "@deepseek-ai/dsh-headless",
|
|
787
|
-
"version": "0.2.0-rc.
|
|
788
|
-
"integrity": "sha512-
|
|
789
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-headless/-/dsh-headless-0.2.0-rc.
|
|
790
|
-
"sha256": "
|
|
804
|
+
"version": "0.2.0-rc.2",
|
|
805
|
+
"integrity": "sha512-qe1X+9fV0bgStRFlegsaXvIV34Y6gP/7Cxlf2MmhRduXtUQhvHAX+OJC8oySCiy1xKGeaFjB3POG3Bh5Er2y4g==",
|
|
806
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-headless/-/dsh-headless-0.2.0-rc.2.tgz",
|
|
807
|
+
"sha256": "f832e81edda5961ff44a7c9a02916131eb183b3fd6fff3cf10fd2a53bf0da25f",
|
|
791
808
|
"modules": {
|
|
792
809
|
"lib/index.js": "31a4caa307b6a3bc0133e01d765c9449ff808725058639e32ebf0d020524e267",
|
|
793
810
|
"lib/json-stream-BA-F3lfb.js": "b6ede8da01119f5caf4baa8051ce8bcd8b956b5b163cf58af91d583b80028c0c",
|
|
794
811
|
"lib/startup.js": "66bb82dc445d5852de776401a00c1ad963276c741e39749d187c4c292b86330b",
|
|
795
|
-
"package.json": "
|
|
812
|
+
"package.json": "17322dc6102a870211c534e19c6608ab5ccaef38836ea05e4ad2c901834be5e6"
|
|
796
813
|
},
|
|
797
814
|
"programs": {
|
|
798
815
|
"lib/index.js": "c60f4fe96003b24bcd2c3d173f25f552da1736750a61a3eb18601509c7240d1c",
|
|
799
816
|
"lib/json-stream-BA-F3lfb.js": "f6c8737078ab95bf80fa2d921cd7d5425d2da1d994c648b9f3fb490adfecc698",
|
|
800
817
|
"lib/startup.js": "0444aea7aa5190fc45f532ee56bd4cac29e1f317e02728ba6c3379b3dc6612e5"
|
|
801
818
|
},
|
|
802
|
-
"loadingDigest": "
|
|
819
|
+
"loadingDigest": "7910c95025ccc0ad5b7b0b258c4395f3de6620a8a38aee996c6b0f626ef0ea00"
|
|
803
820
|
},
|
|
804
821
|
{
|
|
805
822
|
"name": "@deepseek-ai/dsh-host-plugin-inventory",
|
|
806
|
-
"version": "0.2.0-rc.
|
|
807
|
-
"integrity": "sha512-
|
|
808
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-plugin-inventory/-/dsh-host-plugin-inventory-0.2.0-rc.
|
|
809
|
-
"sha256": "
|
|
823
|
+
"version": "0.2.0-rc.2",
|
|
824
|
+
"integrity": "sha512-l/ESrOGxkk0aemM4t2b8yV3AvMZQ9oxSmgo4b1FSK3CYeaDoPJHC6iKW41DhmnJ0igdLpVIw+rg7R3KN0DREdg==",
|
|
825
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-plugin-inventory/-/dsh-host-plugin-inventory-0.2.0-rc.2.tgz",
|
|
826
|
+
"sha256": "2b392c53edd748ac2c8ec00ef6693535cb0c996a76755427694159d13bb1979e",
|
|
810
827
|
"modules": {
|
|
811
828
|
"lib/index.js": "f8e50fb2e24c92302570a41baa007e409cf4651bed0a65605b0871ba14325d30",
|
|
812
829
|
"lib/typert.host.js": "dc44ff7a2d5775a7b932ba96688c76803ce776c79303f60fd3b22a19c43d051d",
|
|
813
830
|
"lib/typert.remote-client.js": "66129f7bd3aabf40020ed60059a6e18712ce7acf8925117212576d05ccd2c6da",
|
|
814
831
|
"lib/types/index.js": "757079258b5ec9280890180c220a6b9caf3d498b2e71dc63a1ca146a245859cc",
|
|
815
832
|
"lib/types/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
|
|
816
|
-
"package.json": "
|
|
833
|
+
"package.json": "77cd72ceba8cf3c2d3068ea8be953ca24c98c41ae096368e21a223f3c5e4d406"
|
|
817
834
|
},
|
|
818
835
|
"programs": {
|
|
819
836
|
"lib/index.js": "10f002fd905783c52115b2456f55e37cc1af632214d91e553ddb1e60389551a1",
|
|
@@ -822,27 +839,27 @@ var packages = [
|
|
|
822
839
|
"lib/types/index.js": "e128c3b8d32cf32ce3aa473ddf6cc5c4c2f2c41c130ce9efe0c28f596ff1b391",
|
|
823
840
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
824
841
|
},
|
|
825
|
-
"loadingDigest": "
|
|
842
|
+
"loadingDigest": "a6adc49a345d5f763c6ac534e9c752394c5737ee26c7cd1f9d42d7fa84d21a88"
|
|
826
843
|
},
|
|
827
844
|
{
|
|
828
845
|
"name": "@deepseek-ai/dsh-host-webserver",
|
|
829
|
-
"version": "0.2.0-rc.
|
|
830
|
-
"integrity": "sha512
|
|
831
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-webserver/-/dsh-host-webserver-0.2.0-rc.
|
|
832
|
-
"sha256": "
|
|
846
|
+
"version": "0.2.0-rc.2",
|
|
847
|
+
"integrity": "sha512-0zvI44emJMRr928Tfl//cPJlx/hiTGWfD1zaDlXu35eGIgOATFJlTPkJLApJvJOPVPPAlSOSdhI2L+j1TnzStw==",
|
|
848
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-webserver/-/dsh-host-webserver-0.2.0-rc.2.tgz",
|
|
849
|
+
"sha256": "3f4274e172f6933005f48ea0e7545a9233458d13f5e0cb9405eda998a219465b",
|
|
833
850
|
"modules": {
|
|
834
851
|
"lib/index.js": "6efea1375eadeff62d5cfb6d1f515ff75a939d40405a62e5d138e8e7a6b18df5",
|
|
835
|
-
"package.json": "
|
|
852
|
+
"package.json": "77b7719fbd781c23f5ae2bfba6b0a8e297f1acf6646ccbfb1032a2fa6e787ed6"
|
|
836
853
|
},
|
|
837
854
|
"programs": { "lib/index.js": "b0c70fa39f2e01e0115fb64087659be3920443dc31cf287db2d53cc792dbeb44" },
|
|
838
855
|
"loadingDigest": "a5b3106e5990d4891e43f5a9711f56b03011dee0a8557dcaf0bbe06780e7a2f3"
|
|
839
856
|
},
|
|
840
857
|
{
|
|
841
858
|
"name": "@deepseek-ai/dsh-jobs",
|
|
842
|
-
"version": "0.2.0-rc.
|
|
843
|
-
"integrity": "sha512-
|
|
844
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs/-/dsh-jobs-0.2.0-rc.
|
|
845
|
-
"sha256": "
|
|
859
|
+
"version": "0.2.0-rc.2",
|
|
860
|
+
"integrity": "sha512-SuCCfXZDabBxsKbHoulXEeQrRSYuOYLSfhvnflQf+CYeb68wggKraejkLyO60LrCGnBJsgCqKIdIKLCUvIeN+g==",
|
|
861
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs/-/dsh-jobs-0.2.0-rc.2.tgz",
|
|
862
|
+
"sha256": "9820037f3e5a111166decd788b6cefd1e726c29d487bda77cf41db958758ec09",
|
|
846
863
|
"modules": {
|
|
847
864
|
"lib/index.js": "909240e722c34877282c6868cd0e06915669e0ceaef690b1738ae72b4c3ef049",
|
|
848
865
|
"lib/invariant.js": "afe38795a9485abb3a50a0696e2670571113f90a20e6f4c6fc5fdba4b29c0662",
|
|
@@ -852,7 +869,7 @@ var packages = [
|
|
|
852
869
|
"lib/types/invariant.js": "8d7b9de3a4928849ef504ea379642e4c60826ec0032ff92ff6fe89839f7fb490",
|
|
853
870
|
"lib/types/types.js": "f0761bbfcdfd477f36a2fc181d328cc4e1c89b157cabd00426c4151a67b00ba9",
|
|
854
871
|
"lib/types/view.js": "a83eb92b29b5f9f747211fd0cc66d44dff47784f77a2b32f96d0d6f8fdf7b4e0",
|
|
855
|
-
"package.json": "
|
|
872
|
+
"package.json": "2cbd5a16c39b7dbf7ea844e73ae7368e2430c4ce83821c88d8b50d8ef55f1eb3"
|
|
856
873
|
},
|
|
857
874
|
"programs": {
|
|
858
875
|
"lib/index.js": "a3ddd087677521a51f4c1065ee87e57295e0e3187a93e049109e54ecbce85bb7",
|
|
@@ -864,31 +881,31 @@ var packages = [
|
|
|
864
881
|
"lib/types/types.js": "ba8bb16a02cf17594a7084afbb7d48926ba5d135205821dc32e62b3f3fd0d7ce",
|
|
865
882
|
"lib/types/view.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
866
883
|
},
|
|
867
|
-
"loadingDigest": "
|
|
884
|
+
"loadingDigest": "e0581654e7b55ca626f1d979af285261d5e359a16161c395dd3d14caef7eb13a"
|
|
868
885
|
},
|
|
869
886
|
{
|
|
870
887
|
"name": "@deepseek-ai/dsh-jobs-local",
|
|
871
|
-
"version": "0.2.0-rc.
|
|
872
|
-
"integrity": "sha512-
|
|
873
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs-local/-/dsh-jobs-local-0.2.0-rc.
|
|
874
|
-
"sha256": "
|
|
888
|
+
"version": "0.2.0-rc.2",
|
|
889
|
+
"integrity": "sha512-sNyolYfcNVodxGyoWUM3G0f+numJexMrqwR0HC4x9kvzzZNR1WZV7ca4lCAzlaRSEvY8UPYxKC6Fi4T+MnBkSQ==",
|
|
890
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs-local/-/dsh-jobs-local-0.2.0-rc.2.tgz",
|
|
891
|
+
"sha256": "df82aa1b617448639581a73a4fc6caf81e6fad46176dcd631afe92e180e028e4",
|
|
875
892
|
"modules": {
|
|
876
893
|
"lib/index.js": "3bed0cd38c649f39b148752e742ff1ef57696a6b9b11b15ff8cc6cd1d4f08f26",
|
|
877
|
-
"package.json": "
|
|
894
|
+
"package.json": "b92565184856196f38124be5fbba65af475fd740225b3cf04210c4a5707d49fd"
|
|
878
895
|
},
|
|
879
896
|
"programs": { "lib/index.js": "f045c307bccf2d8b873f86e427d3235a56568779fcb526228444692745ad43d3" },
|
|
880
|
-
"loadingDigest": "
|
|
897
|
+
"loadingDigest": "8554c075ff39e218051906802a1b88f7af0eb0b51ba21fde06c4ae8e4a859c17"
|
|
881
898
|
},
|
|
882
899
|
{
|
|
883
900
|
"name": "@deepseek-ai/dsh-llm",
|
|
884
|
-
"version": "0.2.0-rc.
|
|
885
|
-
"integrity": "sha512-
|
|
886
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-llm/-/dsh-llm-0.2.0-rc.
|
|
887
|
-
"sha256": "
|
|
901
|
+
"version": "0.2.0-rc.2",
|
|
902
|
+
"integrity": "sha512-6QFrQn/h0iNqCfPpgQidnHtLSpA99A7ZND/uYKaGSd/4BGP8KBhuRd0w63e9s4u+hfW8jc3j29WKcNLIOeUfcA==",
|
|
903
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-llm/-/dsh-llm-0.2.0-rc.2.tgz",
|
|
904
|
+
"sha256": "5fa090883aed0a63e6a3f5f2fa7609cb63a93f76c0b974ec10b4c0345cb91fd3",
|
|
888
905
|
"modules": {
|
|
889
906
|
"lib/index.js": "9132c8a8053ee82b9fb1ded4f98c85cf557f288a15a85c552c6b1fb319ead120",
|
|
890
907
|
"lib/invariant.js": "8cb78641252b7a41523fef2c571dd42c698de4c9475dd91683191cefa4dced48",
|
|
891
|
-
"lib/typert.host.js": "
|
|
908
|
+
"lib/typert.host.js": "2f55bba215082d35da78c9bd1e9336582d60f29eb00c4b817f9c78725ad8c291",
|
|
892
909
|
"lib/typert.remote-client.js": "8be01248041bd25c89117f1ad76934638f74808166bc1f0ae027a6ed24a5c6e8",
|
|
893
910
|
"lib/types/adapter-failure.js": "f1213f11f11e0f20aae26c09a5e0cf3d72512c1f1519e1b3f107edf64af43c28",
|
|
894
911
|
"lib/types/api-key.js": "254b774234c0bd38dd759765c0fd1e60788651a22106f5559ec2760a39935f2d",
|
|
@@ -904,12 +921,12 @@ var packages = [
|
|
|
904
921
|
"lib/types/message.js": "c87812f77a2afd284f271af071575edcadfde3daa7b6554d77b96810ce4688e0",
|
|
905
922
|
"lib/types/retry-policy.js": "f0a8fe075ac24c56ed2aa5d5e359a85539f5ffa237af54b68d3f4fc5124b5d83",
|
|
906
923
|
"lib/types/types.js": "14106d660103de2db746964fbb5be90c5eb2a7ff736779e2501e9faff956cbf5",
|
|
907
|
-
"package.json": "
|
|
924
|
+
"package.json": "6fb2d880b26d0c69b792d2830efbb1642f1d849537e24114301e0d9fbe9e8e4e"
|
|
908
925
|
},
|
|
909
926
|
"programs": {
|
|
910
927
|
"lib/index.js": "9afd2af0666b5574d461092a4a3e1cd08ab07e412a51ff999d9dfc5096bf50e4",
|
|
911
928
|
"lib/invariant.js": "055b3783ab0d070598b830d01bf07f21c6f8efee91eb89b72ef05a75f7d2d60e",
|
|
912
|
-
"lib/typert.host.js": "
|
|
929
|
+
"lib/typert.host.js": "e97a5e98c9cb39d8c47f6779c04322a3a6983262a8fb4e4734893643b93ba86a",
|
|
913
930
|
"lib/typert.remote-client.js": "fa4a384abb4e1bafcf3c43a9043e5bafe198d55c28c2b31d5a3868c8dfad9ef3",
|
|
914
931
|
"lib/types/adapter-failure.js": "c571e84e60dd5e3e60fc2ebd7c9b6650cb1d9eb86f5b4cc208b00c2d9bec5c03",
|
|
915
932
|
"lib/types/api-key.js": "0e10fc8e2737d8f0ce092517d629928df6825c698048bd2a941182dcfd89bc3f",
|
|
@@ -926,14 +943,14 @@ var packages = [
|
|
|
926
943
|
"lib/types/retry-policy.js": "a1d4a7ee0cbdede6fe666f1529455f6f73703a4d04e96ff957b1251ce12d901a",
|
|
927
944
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
928
945
|
},
|
|
929
|
-
"loadingDigest": "
|
|
946
|
+
"loadingDigest": "edc946ace6098d6ba1e5b364796744360338b0580bb47d53efd2ce20f5314279"
|
|
930
947
|
},
|
|
931
948
|
{
|
|
932
949
|
"name": "@deepseek-ai/dsh-plugin-manager",
|
|
933
|
-
"version": "0.2.0-rc.
|
|
934
|
-
"integrity": "sha512-
|
|
935
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-plugin-manager/-/dsh-plugin-manager-0.2.0-rc.
|
|
936
|
-
"sha256": "
|
|
950
|
+
"version": "0.2.0-rc.2",
|
|
951
|
+
"integrity": "sha512-WnLDgkj3snW8YnOESlAhHTYerLSZBVEqYlup8XHJBXly2SnOTG6GG11phLvngocSDbhvMI6PB3L2oWkFNTYNFQ==",
|
|
952
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-plugin-manager/-/dsh-plugin-manager-0.2.0-rc.2.tgz",
|
|
953
|
+
"sha256": "e49d37158d16049a5cdf2669ad9597e93145d5bc64df2451483709705b2f618c",
|
|
937
954
|
"modules": {
|
|
938
955
|
"lib/index.js": "f46a48b3422927eea5605a70b78502e06ef9ceaa29d7a73f4a7f742361ff51c8",
|
|
939
956
|
"lib/typert.host.js": "fca5b000a2fdd995d56da7ba21a33921e4765898332db283c255df0cacac4b25",
|
|
@@ -950,7 +967,7 @@ var packages = [
|
|
|
950
967
|
"lib/types/run-tree.js": "3e65f458bd298dd2d3a8e3b48b30d771bb8e60a097bc2e6e924dad647f953e4b",
|
|
951
968
|
"lib/types/tools.js": "b7314b13486bd32657b20b931826a5f91bf2c421983438f29f7491ecd69d8eb0",
|
|
952
969
|
"lib/types/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
|
|
953
|
-
"package.json": "
|
|
970
|
+
"package.json": "7b3f421da9c0ef2b6288095bf63f51c5fc41a0c30f5c4d908e72505e674ef4fc"
|
|
954
971
|
},
|
|
955
972
|
"programs": {
|
|
956
973
|
"lib/index.js": "1d96c11c99db39da0960084c808ec67e097a2ce9ff05232d8e1252fcb7c92714",
|
|
@@ -969,83 +986,83 @@ var packages = [
|
|
|
969
986
|
"lib/types/tools.js": "9dab7451db4dff6edd0cec0a321c13c8d34d37383ecd3135235d02afbb6c85ca",
|
|
970
987
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
971
988
|
},
|
|
972
|
-
"loadingDigest": "
|
|
989
|
+
"loadingDigest": "91f50727807c7e91236539bad66dd689af9a5224c1f05e2ac86848040b0056ea"
|
|
973
990
|
},
|
|
974
991
|
{
|
|
975
992
|
"name": "@deepseek-ai/dsh-ptc-runtime",
|
|
976
|
-
"version": "0.2.0-rc.
|
|
977
|
-
"integrity": "sha512-
|
|
978
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-ptc-runtime/-/dsh-ptc-runtime-0.2.0-rc.
|
|
979
|
-
"sha256": "
|
|
993
|
+
"version": "0.2.0-rc.2",
|
|
994
|
+
"integrity": "sha512-HR/3h1VFRcNlAAjCtCAxZ4V3F5pViYicXcLBuYLGjzXWpOhr4zKzeFKh9+UMLjsc9XWIarJMoSvxl662nDV/xQ==",
|
|
995
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-ptc-runtime/-/dsh-ptc-runtime-0.2.0-rc.2.tgz",
|
|
996
|
+
"sha256": "ce72193368e88468189e6b0daca7ffa456444bbdb10c1f073710022828c04f03",
|
|
980
997
|
"modules": {
|
|
981
998
|
"lib/index.js": "a4c4c2f87e2708c8b19b6e3faf5a0383968984612424a525ae36ce24ebda0cff",
|
|
982
|
-
"package.json": "
|
|
999
|
+
"package.json": "ced80cf971b6fccd3448a06e2e82df13bb24046453a99b0e1361c2454744620a"
|
|
983
1000
|
},
|
|
984
1001
|
"programs": { "lib/index.js": "2cce6f19ca57740a864a07852bc885d4114c48711326b83a50cabc302e892e3f" },
|
|
985
|
-
"loadingDigest": "
|
|
1002
|
+
"loadingDigest": "15a2a21d617715fcaa0018e1517fadbf9564a8e193d7d09860f64e3e5c6df9ee"
|
|
986
1003
|
},
|
|
987
1004
|
{
|
|
988
1005
|
"name": "@deepseek-ai/dsh-pwsh-local",
|
|
989
|
-
"version": "0.2.0-rc.
|
|
990
|
-
"integrity": "sha512-
|
|
991
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.2.0-rc.
|
|
992
|
-
"sha256": "
|
|
1006
|
+
"version": "0.2.0-rc.2",
|
|
1007
|
+
"integrity": "sha512-WNKHUCDkNeT108RB5o/clJ696K3vp9dw38Ekr23wRlWX1EDyxYmTzRDt7WfWDZoeQ+sh5CguLrUbFoPsOy9uEg==",
|
|
1008
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.2.0-rc.2.tgz",
|
|
1009
|
+
"sha256": "30b01e57a7029a64c26ccfe9f50a133ec2b88d9d75dabc11fc197d73260209fc",
|
|
993
1010
|
"modules": {
|
|
994
1011
|
"lib/index.js": "8b7b57eb7f6c597caa5ee72e4dfd88cec7b5ac51e450ed3521b6b6b29306b88e",
|
|
995
|
-
"package.json": "
|
|
1012
|
+
"package.json": "32d9c5bc82210f6e5fd8c456305b18d7962a208c3277f116541ba0a3f7660efe"
|
|
996
1013
|
},
|
|
997
1014
|
"programs": { "lib/index.js": "4e2cb7f3aeaf7cfe3380c9fd7b0b48c06313060680bd9fefc639aa2cdca67fc7" },
|
|
998
|
-
"loadingDigest": "
|
|
1015
|
+
"loadingDigest": "bdd5e74810b850c92caa6eb96655ac538b264f257f02b47729f72d03159dacc6"
|
|
999
1016
|
},
|
|
1000
1017
|
{
|
|
1001
1018
|
"name": "@deepseek-ai/dsh-pwsh-sandbox",
|
|
1002
|
-
"version": "0.2.0-rc.
|
|
1003
|
-
"integrity": "sha512-
|
|
1004
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-sandbox/-/dsh-pwsh-sandbox-0.2.0-rc.
|
|
1005
|
-
"sha256": "
|
|
1019
|
+
"version": "0.2.0-rc.2",
|
|
1020
|
+
"integrity": "sha512-V59arHVNWPhPHWZaEtdsl3hQ+9E1dZuqW85aGp5N/Vh2IdvEW99BcKL18jB5o+uZ1eI4PmAQ6HHWDU95ephmyA==",
|
|
1021
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-sandbox/-/dsh-pwsh-sandbox-0.2.0-rc.2.tgz",
|
|
1022
|
+
"sha256": "463f27d21dc9d70b979f1fa6f359f406cd816991111716b04206e2fb037c554d",
|
|
1006
1023
|
"modules": {
|
|
1007
1024
|
"lib/index.js": "bed19d2cea875b152f9e811116b59c2a45e6711b1c6cf1d8bacc4d20e15c6783",
|
|
1008
|
-
"package.json": "
|
|
1025
|
+
"package.json": "7c388c88475b7823909164d404647eec86bb21041078e05cfca1fe44bf77c896"
|
|
1009
1026
|
},
|
|
1010
1027
|
"programs": { "lib/index.js": "23755f4bc2a1797364c319e7a7954998925e39eaaa7e3bb223c7b15544a826bb" },
|
|
1011
|
-
"loadingDigest": "
|
|
1028
|
+
"loadingDigest": "1b258e8ef5b041297c2eaae03baeb08da1d8921a0e01c70de38aa0ef1b14c643"
|
|
1012
1029
|
},
|
|
1013
1030
|
{
|
|
1014
1031
|
"name": "@deepseek-ai/dsh-sandbox",
|
|
1015
|
-
"version": "0.2.0-rc.
|
|
1016
|
-
"integrity": "sha512-
|
|
1017
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox/-/dsh-sandbox-0.2.0-rc.
|
|
1018
|
-
"sha256": "
|
|
1032
|
+
"version": "0.2.0-rc.2",
|
|
1033
|
+
"integrity": "sha512-luKF7ey6HRZkGhImqLCB5Npt4f4omDRk1r+x5qQNqqdNOuN9LXciKDMNPfnSbHfKCcqSZbH3sK+APOmKzRAhVA==",
|
|
1034
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox/-/dsh-sandbox-0.2.0-rc.2.tgz",
|
|
1035
|
+
"sha256": "7c331ccfd4eff8ff53e9943839e7e9981e6e9b8898ca1ebb189f710aa649e444",
|
|
1019
1036
|
"modules": {
|
|
1020
1037
|
"lib/index.js": "b56373befbfcfe281c17c8892e9a4b2cdcb96851290b3ed0ff56b08915e2f743",
|
|
1021
|
-
"package.json": "
|
|
1038
|
+
"package.json": "def47b64b401fb7a9f4d2094397d0ec375ad75de5dc349679f832640aa954e48"
|
|
1022
1039
|
},
|
|
1023
1040
|
"programs": { "lib/index.js": "65c26fbec4020c6c5be45f62317151c2d4b082409099415dcfd21962535d4dd0" },
|
|
1024
|
-
"loadingDigest": "
|
|
1041
|
+
"loadingDigest": "fce2ef8df127bce810e8f86d20c6c14b0862f3831975dd70632e87b6e6fc9774"
|
|
1025
1042
|
},
|
|
1026
1043
|
{
|
|
1027
1044
|
"name": "@deepseek-ai/dsh-sandbox-policy",
|
|
1028
|
-
"version": "0.2.0-rc.
|
|
1029
|
-
"integrity": "sha512-
|
|
1030
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox-policy/-/dsh-sandbox-policy-0.2.0-rc.
|
|
1031
|
-
"sha256": "
|
|
1045
|
+
"version": "0.2.0-rc.2",
|
|
1046
|
+
"integrity": "sha512-0xXVqWw908/V6scohMyyU9SZSiQJYji+S1hMPulcUNLb3iew89d+WPWMIkWQBJRvcJzdQ2ghHwCESRkONXTJnQ==",
|
|
1047
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox-policy/-/dsh-sandbox-policy-0.2.0-rc.2.tgz",
|
|
1048
|
+
"sha256": "de1b3293cb70d55127d4ecb721f833d0f758497b053b47ab4b126de792a4efb8",
|
|
1032
1049
|
"modules": {
|
|
1033
1050
|
"lib/index.js": "772ca58f0f786d6cb4d839deb621634c31097c13228d81b14e3f3153d0524924",
|
|
1034
1051
|
"lib/invariant.js": "265d56bbd39b0c383a6d8e5f07dda3a56d3bffcc69424b60a40babe99856873a",
|
|
1035
|
-
"package.json": "
|
|
1052
|
+
"package.json": "e32b6619022c84a2218aed1dff41ea61ea5e92f0c57766cb2bc952c78ca61106"
|
|
1036
1053
|
},
|
|
1037
1054
|
"programs": {
|
|
1038
1055
|
"lib/index.js": "e6cdd6cb194a74188917ec769fd289f47641d943af5053cac004ba7a47681b4b",
|
|
1039
1056
|
"lib/invariant.js": "8d49b466edf0f0db733e2a4af5233e36e28e9c2d13a955841801b03297af2722"
|
|
1040
1057
|
},
|
|
1041
|
-
"loadingDigest": "
|
|
1058
|
+
"loadingDigest": "70ea3d9af534a1ec70013961c7f1802f8369b9045ad54ee02e9502a7543f2eca"
|
|
1042
1059
|
},
|
|
1043
1060
|
{
|
|
1044
1061
|
"name": "@deepseek-ai/dsh-session",
|
|
1045
|
-
"version": "0.2.0-rc.
|
|
1046
|
-
"integrity": "sha512-
|
|
1047
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session/-/dsh-session-0.2.0-rc.
|
|
1048
|
-
"sha256": "
|
|
1062
|
+
"version": "0.2.0-rc.2",
|
|
1063
|
+
"integrity": "sha512-wj+6MeqCYbDcbEvKH3puHyEGdjyu51JwBoN6Ua2tz6griLufDgLM5HpSU40L5xgpbOfrYVhXZs4vRgOrMlFY2g==",
|
|
1064
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session/-/dsh-session-0.2.0-rc.2.tgz",
|
|
1065
|
+
"sha256": "022a019616d2fc7041f6e2f921697416d4d4d7fedbc3c973bd64d5a13a03f8df",
|
|
1049
1066
|
"modules": {
|
|
1050
1067
|
"lib/index.js": "87ea85e2fb5318bf1f826db9a1c88c1b26d3ea328027a7f32b211880c4d62b9d",
|
|
1051
1068
|
"lib/invariant.js": "53066dc4945c0159fb5b48944b578a2d2d22f2f3bd5042599f2f6278edc84466",
|
|
@@ -1060,7 +1077,7 @@ var packages = [
|
|
|
1060
1077
|
"lib/types/surface.js": "7e9d4bd3b7c5b2eceed0f8b035e9c021237c72baa2b53e4c6fc941e8b417580e",
|
|
1061
1078
|
"lib/types/tool-history.js": "2d2c4f4cbb6717aa2f487af52ce6a81e2002ce2c768cb5a4210c867ec49a0e95",
|
|
1062
1079
|
"lib/types/types.js": "a03acad09eec657b94441109af0da31b5b29668feae35d1b9e72fd99beca505f",
|
|
1063
|
-
"package.json": "
|
|
1080
|
+
"package.json": "5f513d38e301396ea82021593efc9e475817957e8f8dce0e64c3e5d722ed403e"
|
|
1064
1081
|
},
|
|
1065
1082
|
"programs": {
|
|
1066
1083
|
"lib/index.js": "9651af6288386b1d01a8a1cc096b4da63763e0958aaf68d0ef081f1fcb3bdd20",
|
|
@@ -1077,205 +1094,207 @@ var packages = [
|
|
|
1077
1094
|
"lib/types/tool-history.js": "daa7e0e3e791f1b7001ab5567376faa493d9609ca5899182f258c43dc4d84911",
|
|
1078
1095
|
"lib/types/types.js": "10e24b6be50f234352ffcdca6d57c0c185ba64843b6db2e1bf1e3286abf0635c"
|
|
1079
1096
|
},
|
|
1080
|
-
"loadingDigest": "
|
|
1097
|
+
"loadingDigest": "cc51753145a870f00a5c908fcf3ae155c553253d4f073ea110f2dca96f90dd60"
|
|
1081
1098
|
},
|
|
1082
1099
|
{
|
|
1083
1100
|
"name": "@deepseek-ai/dsh-session-format-v3-to-v4",
|
|
1084
|
-
"version": "0.2.0-rc.
|
|
1085
|
-
"integrity": "sha512-
|
|
1086
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-format-v3-to-v4/-/dsh-session-format-v3-to-v4-0.2.0-rc.
|
|
1087
|
-
"sha256": "
|
|
1101
|
+
"version": "0.2.0-rc.2",
|
|
1102
|
+
"integrity": "sha512-UkiNDdGS8cwJKqjvHs52BKi+3NuKhoziz/l0IrDoDYpSdgDfK8HrrXkvIxOi+QaBUgIxNTQzA6tsI+TAIMDsGQ==",
|
|
1103
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-format-v3-to-v4/-/dsh-session-format-v3-to-v4-0.2.0-rc.2.tgz",
|
|
1104
|
+
"sha256": "1656da41a0a30617a749a65ffa555428b2b46f5b68cbb196357c0b7120dc4456",
|
|
1088
1105
|
"modules": {
|
|
1089
1106
|
"lib/index.js": "382a3f28b95e0b9504969ac6f407f909aef0ba4699c3175d36c0ef91b31cfde2",
|
|
1090
|
-
"package.json": "
|
|
1107
|
+
"package.json": "6c9b42581a60e182370c10d3d4f33b7cb64071ad8cd93785827d0969c533197b"
|
|
1091
1108
|
},
|
|
1092
1109
|
"programs": { "lib/index.js": "6145523403f90c1984c02da07549762f3e04fcb302b5e314a001f7c3f962805f" },
|
|
1093
|
-
"loadingDigest": "
|
|
1110
|
+
"loadingDigest": "696ce914b40724255c9b35b3a4c1e517a9974eb9e3567a562a8d255e7ae3c191"
|
|
1094
1111
|
},
|
|
1095
1112
|
{
|
|
1096
1113
|
"name": "@deepseek-ai/dsh-session-persistence",
|
|
1097
|
-
"version": "0.2.0-rc.
|
|
1098
|
-
"integrity": "sha512-
|
|
1099
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence/-/dsh-session-persistence-0.2.0-rc.
|
|
1100
|
-
"sha256": "
|
|
1114
|
+
"version": "0.2.0-rc.2",
|
|
1115
|
+
"integrity": "sha512-2OoRHZYWi5Vy0+1bPU37Y/NTh6uQiZ3VdpvDmW1oCgsapQr2JS/Lbody1gXOMJ1KXglCSLmePgTMC00uKw/UIg==",
|
|
1116
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence/-/dsh-session-persistence-0.2.0-rc.2.tgz",
|
|
1117
|
+
"sha256": "1cc71f9c81fc3f9c6183f394864f087c87dfb275d170d06f58b9a5d1061ed3c6",
|
|
1101
1118
|
"modules": {
|
|
1102
1119
|
"lib/index.js": "cc0b6d3a224133af611b428d5a49020e300f86c3b4ba28037aeb219029bde3eb",
|
|
1103
|
-
"package.json": "
|
|
1120
|
+
"package.json": "90eeba20c596a12b409facb6922890d75a4c7b11945f7b4b711ac54f6bbe2274"
|
|
1104
1121
|
},
|
|
1105
1122
|
"programs": { "lib/index.js": "9ba15ebd7b22c52163c672b518e0ea1a2a2c23662695cc932e1f3726cdd51154" },
|
|
1106
|
-
"loadingDigest": "
|
|
1123
|
+
"loadingDigest": "f14859c3033a0f6fbb6a0f16e17b4ae5bdc91f62e6d91ed53923b5428dec7b62"
|
|
1107
1124
|
},
|
|
1108
1125
|
{
|
|
1109
1126
|
"name": "@deepseek-ai/dsh-session-persistence-jsonl",
|
|
1110
|
-
"version": "0.2.0-rc.
|
|
1111
|
-
"integrity": "sha512-
|
|
1112
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence-jsonl/-/dsh-session-persistence-jsonl-0.2.0-rc.
|
|
1113
|
-
"sha256": "
|
|
1127
|
+
"version": "0.2.0-rc.2",
|
|
1128
|
+
"integrity": "sha512-iAzXWC8jmiLYjK+wuN/fAKXLniAfClWm0CmEIwSxZnJGVy8c0iy7j5v8UfOqUbwuGfqo5HUWfyLGgxbWH7SG3g==",
|
|
1129
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence-jsonl/-/dsh-session-persistence-jsonl-0.2.0-rc.2.tgz",
|
|
1130
|
+
"sha256": "f5650bef896ef852dc5e5599aae5a0066b295c36674b9e4032c3c1d1e40bb7c8",
|
|
1114
1131
|
"modules": {
|
|
1115
|
-
"lib/worker.cjs": "cadd901598e2bb8a847409a980f59deea639eeadf21e30da324fb674a4ed8038",
|
|
1116
1132
|
"lib/index.js": "0845707017acc2b4a8a75eab2244fa3fd88587b8094ab32014321dce7ca1e31b",
|
|
1117
|
-
"
|
|
1133
|
+
"lib/worker.cjs": "cadd901598e2bb8a847409a980f59deea639eeadf21e30da324fb674a4ed8038",
|
|
1134
|
+
"package.json": "5cb0f10f78e4336e4391912f2963d2f456cef1e3639916b20bebaebc5f8e9284"
|
|
1118
1135
|
},
|
|
1119
1136
|
"programs": {
|
|
1120
|
-
"lib/
|
|
1121
|
-
"lib/
|
|
1137
|
+
"lib/index.js": "4d4e99e13a1c2cffec557d01071f5cf2c811fb0904f3cd0b4b67655a3334e160",
|
|
1138
|
+
"lib/worker.cjs": "cacc573e51f6c37084d06bb04b8aa74f41f96615ad38055b2594f88083406681"
|
|
1122
1139
|
},
|
|
1123
|
-
"loadingDigest": "
|
|
1140
|
+
"loadingDigest": "a0a9475b899b68bf1f363a7cd5d88db092cc57ddfab1e672702c78d2676a44be"
|
|
1124
1141
|
},
|
|
1125
1142
|
{
|
|
1126
1143
|
"name": "@deepseek-ai/dsh-session-projection",
|
|
1127
|
-
"version": "0.2.0-rc.
|
|
1128
|
-
"integrity": "sha512-
|
|
1129
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-projection/-/dsh-session-projection-0.2.0-rc.
|
|
1130
|
-
"sha256": "
|
|
1144
|
+
"version": "0.2.0-rc.2",
|
|
1145
|
+
"integrity": "sha512-caJ+XGjmR8ouws0LrvuXrabrzi21akB2l8CniUHdx4IpT6GkLapFYlWLbjZlDYqEWB3ktR+q32nxW2s+f27GSA==",
|
|
1146
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-projection/-/dsh-session-projection-0.2.0-rc.2.tgz",
|
|
1147
|
+
"sha256": "f556aa108c0d8541c8b7d0d37f97cd739794c655752093247226191d702b52a8",
|
|
1131
1148
|
"modules": {
|
|
1132
1149
|
"lib/index.js": "022f1d13e25aeb3c18e10407d84c69e018c1c05a65c9ee36ed14d89b185a4fa8",
|
|
1133
1150
|
"lib/types/index.js": "f3daccbaa1cc82749411fadc7923ff9275cc96b7ec594e65f3e01a3dbbe29444",
|
|
1134
1151
|
"lib/types/types.js": "d6b9f7a57fe4dacd7b1a6403a34e6cd1ccd088c2e024e02cbf577166faca6ffb",
|
|
1135
|
-
"package.json": "
|
|
1152
|
+
"package.json": "024051dfdd53bfd6542ada25415c4d5a382055f24d1688fd6c76764e134a067a"
|
|
1136
1153
|
},
|
|
1137
1154
|
"programs": {
|
|
1138
1155
|
"lib/index.js": "0893b519f2b8c9957e229e159ca3da0e84135b7574251eba1cd5e2b6e2158808",
|
|
1139
1156
|
"lib/types/index.js": "42eb631f64dff8d190095e0cc0cc7aa746b688d52d4ccf7abceabf1362b2c3ea",
|
|
1140
1157
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
1141
1158
|
},
|
|
1142
|
-
"loadingDigest": "
|
|
1159
|
+
"loadingDigest": "950ca2878ddd70008ccbae0b972de4a754a51d2abe8e858187f1ab86434afaf5"
|
|
1143
1160
|
},
|
|
1144
1161
|
{
|
|
1145
1162
|
"name": "@deepseek-ai/dsh-shell",
|
|
1146
|
-
"version": "0.2.0-rc.
|
|
1147
|
-
"integrity": "sha512
|
|
1148
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell/-/dsh-shell-0.2.0-rc.
|
|
1149
|
-
"sha256": "
|
|
1163
|
+
"version": "0.2.0-rc.2",
|
|
1164
|
+
"integrity": "sha512-+3uBpxhXSzukUZx7XjdnUVfItj/w4maPQAcDXnVxF8vVt/dHa2NDJBXyYC9fzIA4PnXqVHFURdrhMfFgeD7GJA==",
|
|
1165
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell/-/dsh-shell-0.2.0-rc.2.tgz",
|
|
1166
|
+
"sha256": "2e04a8751886ea395a207263bdced1f44f1325857fecdead4bd2773e2d60424b",
|
|
1150
1167
|
"modules": {
|
|
1151
1168
|
"lib/index.js": "6c5aa32fda2d92ef827d949480fd32cb4867f811ce06e875e70c59ab2c9261b1",
|
|
1152
|
-
"package.json": "
|
|
1169
|
+
"package.json": "2c0e19b89b054aaeedcd18565dabd4ec9772bd6fd13dc3e390f93a51cffae60e"
|
|
1153
1170
|
},
|
|
1154
1171
|
"programs": { "lib/index.js": "acac3b2a24b6341887e38401f79b0c311147d1778c0dce9847801cbc3aa88c93" },
|
|
1155
|
-
"loadingDigest": "
|
|
1172
|
+
"loadingDigest": "427a9b41a153c7cc7dca45ab52610006dd77df68e2cc5c11e2a436807cdcce55"
|
|
1156
1173
|
},
|
|
1157
1174
|
{
|
|
1158
1175
|
"name": "@deepseek-ai/dsh-shell-env",
|
|
1159
|
-
"version": "0.2.0-rc.
|
|
1160
|
-
"integrity": "sha512-
|
|
1161
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell-env/-/dsh-shell-env-0.2.0-rc.
|
|
1162
|
-
"sha256": "
|
|
1176
|
+
"version": "0.2.0-rc.2",
|
|
1177
|
+
"integrity": "sha512-Cl4i32DPSLPra4mt8wBPNVDbV4+mG6UBLGF1EXsmjpj51Xg8slVqPMcs7ThkgesHBG+Fvpbvu4Y0aGhOckcXYw==",
|
|
1178
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell-env/-/dsh-shell-env-0.2.0-rc.2.tgz",
|
|
1179
|
+
"sha256": "8a0d52dfcb3e6b719fd579fe31f97d029cae38fe286db1c39a50cfb80c9c955c",
|
|
1163
1180
|
"modules": {
|
|
1164
1181
|
"lib/index.js": "82b1e6663968307a387fd7f300ff9db5e3c1ff707b32953da82c3dfa12024364",
|
|
1165
|
-
"package.json": "
|
|
1182
|
+
"package.json": "02f9153381841dad34373a148ef978d6228beae825d9594393c50e548d668192"
|
|
1166
1183
|
},
|
|
1167
1184
|
"programs": { "lib/index.js": "4791ba7c803bbeb87fb45fe6b6c13d319fb8ad39d5bacf0c88ff2436676a0077" },
|
|
1168
|
-
"loadingDigest": "
|
|
1185
|
+
"loadingDigest": "cdd9329877ac1238f0dbd3b594d2e2a56d239cb936ba051b1adf4738bb131eb5"
|
|
1169
1186
|
},
|
|
1170
1187
|
{
|
|
1171
1188
|
"name": "@deepseek-ai/dsh-subprocess-local",
|
|
1172
|
-
"version": "0.2.0-rc.
|
|
1173
|
-
"integrity": "sha512-
|
|
1174
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-subprocess-local/-/dsh-subprocess-local-0.2.0-rc.
|
|
1175
|
-
"sha256": "
|
|
1189
|
+
"version": "0.2.0-rc.2",
|
|
1190
|
+
"integrity": "sha512-RKEhReGv6bAOHNeMd9kBwY1mQSuhm0OEiK+wnXkOD8CvesYaYXNUmtoIf9VJdrRhG5DF35gVNQAN79Si9d/BHw==",
|
|
1191
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-subprocess-local/-/dsh-subprocess-local-0.2.0-rc.2.tgz",
|
|
1192
|
+
"sha256": "97e0ff8d96689a660a883b755f857fc8693d9114eadeb73694ef5e708eb0cc21",
|
|
1176
1193
|
"modules": {
|
|
1177
1194
|
"lib/index.js": "e40106ed35a1e1744c016e77f2cf59b07f87969bb7c4b424d26fb08da75e3922",
|
|
1178
1195
|
"lib/output.js": "4f77ef6da608d36df168c99177e9b527e7145df1418845eba567635e64a4c2a3",
|
|
1179
1196
|
"lib/runner-launch-B2zsQ1Dz.js": "6df08adc4a27f278878a5f4cde8b551b51e647b922ac7d6591fd62d272ced153",
|
|
1180
1197
|
"lib/runner.js": "4e21528dfdb3e92bdce2340945dc4dcb202e4a4af0bbeb8b97585f67735d30c1",
|
|
1181
|
-
"package.json": "
|
|
1198
|
+
"package.json": "9b47e357ccece5d25dc09a5a549a4c6e362131cabe2f8eebd0ef41769edbfffa",
|
|
1199
|
+
"scripts/ensure-spawn-helper.mjs": "ca5509febf1e6ec1356df121835ebe5ed2f9cace4bdc2ba6d83d41c7e45e0f1b"
|
|
1182
1200
|
},
|
|
1183
1201
|
"programs": {
|
|
1184
1202
|
"lib/index.js": "5c310b56dfb45674442ad28c249ddcb69cb01317958db2530a198c24d52b456d",
|
|
1185
1203
|
"lib/output.js": "847fa903d1373f700f9c3455c93432e35052bbb93eb6ebd57aeedd82a8e291d7",
|
|
1186
1204
|
"lib/runner-launch-B2zsQ1Dz.js": "37e251b01260c34613374e70b997cc51dd0015523bfc42037ee5fd8a25431890",
|
|
1187
|
-
"lib/runner.js": "53bc0d336ca33fb2cf4ff08916149f1f3230e09c7be3cd1d9f6c47f2a19ad661"
|
|
1205
|
+
"lib/runner.js": "53bc0d336ca33fb2cf4ff08916149f1f3230e09c7be3cd1d9f6c47f2a19ad661",
|
|
1206
|
+
"scripts/ensure-spawn-helper.mjs": "029255dea2faa10541345ddeb1e55748c27e058aea3d43c0bfb6cf47a6ae954e"
|
|
1188
1207
|
},
|
|
1189
|
-
"loadingDigest": "
|
|
1208
|
+
"loadingDigest": "18ae7971d50666aa869a9c2ddc8441fce8375c2ecb0150b576bc2c5879a0969e"
|
|
1190
1209
|
},
|
|
1191
1210
|
{
|
|
1192
1211
|
"name": "@deepseek-ai/dsh-system-prompt",
|
|
1193
|
-
"version": "0.2.0-rc.
|
|
1194
|
-
"integrity": "sha512-
|
|
1195
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-system-prompt/-/dsh-system-prompt-0.2.0-rc.
|
|
1196
|
-
"sha256": "
|
|
1212
|
+
"version": "0.2.0-rc.2",
|
|
1213
|
+
"integrity": "sha512-ZZNk2gkXFV8CIT0IOZXS+pFaxNVJaRknYyH2vc4ZgZAiHKT+RqUYNr8e1F5Kp0AaN0DNlcTkjOGP5MCxeXfDjg==",
|
|
1214
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-system-prompt/-/dsh-system-prompt-0.2.0-rc.2.tgz",
|
|
1215
|
+
"sha256": "a15ae0a27f767554cd140032dc4b1c6b87d42e7f44319789d740ddcc5059c79d",
|
|
1197
1216
|
"modules": {
|
|
1198
1217
|
"lib/index.js": "ff422afac6ba85f89afa985d921aed0b603feb354a05a549c48eae04cf0d2f57",
|
|
1199
1218
|
"lib/invariant.js": "64c55f06e5583df9b577d613c64b6bac9f04d189ff5ef2d613caa65ae9f79d75",
|
|
1200
|
-
"package.json": "
|
|
1219
|
+
"package.json": "6d83e7a42f04ca54f86f8bc5dbbdd7cabb52968bf51c4d864a2634d70bfd1437"
|
|
1201
1220
|
},
|
|
1202
1221
|
"programs": {
|
|
1203
1222
|
"lib/index.js": "f143b76b0ac707d4b881859deb979884de738230594f57f3e0da7960ab252f96",
|
|
1204
1223
|
"lib/invariant.js": "c4b2b4ca734001b7b84295bb0fbea061eeae3303b1c0412da41d3a56ec57feb1"
|
|
1205
1224
|
},
|
|
1206
|
-
"loadingDigest": "
|
|
1225
|
+
"loadingDigest": "0c8990685566597c3be423cacf830ba9aff1e749e905ca047e2bbbe8434defb0"
|
|
1207
1226
|
},
|
|
1208
1227
|
{
|
|
1209
1228
|
"name": "@deepseek-ai/dsh-tool-bash",
|
|
1210
|
-
"version": "0.2.0-rc.
|
|
1211
|
-
"integrity": "sha512
|
|
1212
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-bash/-/dsh-tool-bash-0.2.0-rc.
|
|
1213
|
-
"sha256": "
|
|
1229
|
+
"version": "0.2.0-rc.2",
|
|
1230
|
+
"integrity": "sha512-0yjnxm5C7yqX/XWJYFXZVBWXrM6E/6FnjOjt7sN8Itsb5eSHXCz9e5XpKXpLSAPbzq8Kh49yFOw2ZUJRBkOHyw==",
|
|
1231
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-bash/-/dsh-tool-bash-0.2.0-rc.2.tgz",
|
|
1232
|
+
"sha256": "3e5ba321c02e0673770d14e70ad5ecae61fa39cc3ea2fb995fdca2596922b644",
|
|
1214
1233
|
"modules": {
|
|
1215
|
-
"lib/index.js": "
|
|
1216
|
-
"package.json": "
|
|
1234
|
+
"lib/index.js": "0c63a09e4b80ec22db256eac4ecab6f7de3a342e16ec590348a40c5f356eff1a",
|
|
1235
|
+
"package.json": "99cd45e7b90c2abea661dbb7cfa33633a151204fcc558d5829218dc2b2cc1920"
|
|
1217
1236
|
},
|
|
1218
|
-
"programs": { "lib/index.js": "
|
|
1219
|
-
"loadingDigest": "
|
|
1237
|
+
"programs": { "lib/index.js": "235d25d275d1584d3d5d22ce5cf01d5411613c327d01a489e68a7ebfbda5b223" },
|
|
1238
|
+
"loadingDigest": "6209134b2ac2c7a7b868e7d9d137297b78cef24a3327f58a17991df19adf087b"
|
|
1220
1239
|
},
|
|
1221
1240
|
{
|
|
1222
1241
|
"name": "@deepseek-ai/dsh-tool-fs",
|
|
1223
|
-
"version": "0.2.0-rc.
|
|
1224
|
-
"integrity": "sha512-
|
|
1225
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-fs/-/dsh-tool-fs-0.2.0-rc.
|
|
1226
|
-
"sha256": "
|
|
1242
|
+
"version": "0.2.0-rc.2",
|
|
1243
|
+
"integrity": "sha512-QDtVmZoc84iDwrM4ftMDwzuttQd5dXu93NMeas5cSsUvptnW4CiPrMOkYswRXmSry5WRWn7Gk0lSRJ1bpynwiQ==",
|
|
1244
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-fs/-/dsh-tool-fs-0.2.0-rc.2.tgz",
|
|
1245
|
+
"sha256": "95b1399c791fa01599017141f1763ad7a72182922f7dc05354c769ee988eb518",
|
|
1227
1246
|
"modules": {
|
|
1228
1247
|
"lib/index.js": "66742231de99695b98400cdbc7bcf47b8ef2bf24600cf86f66bb35591981427f",
|
|
1229
|
-
"package.json": "
|
|
1248
|
+
"package.json": "f17b78c320cedee9b0ec74ec37120761fbe1225812f742629391e70ded8dce82"
|
|
1230
1249
|
},
|
|
1231
1250
|
"programs": { "lib/index.js": "6a1a2ef79f388e46436ed703e7ecc083c5d1329d49d16bbe9fb9cc9f15464312" },
|
|
1232
|
-
"loadingDigest": "
|
|
1251
|
+
"loadingDigest": "e113cbf3e7f32f8bb26a424abea6ae725d1b005eb516acbcc69088f214366245"
|
|
1233
1252
|
},
|
|
1234
1253
|
{
|
|
1235
1254
|
"name": "@deepseek-ai/dsh-tool-goal",
|
|
1236
|
-
"version": "0.2.0-rc.
|
|
1237
|
-
"integrity": "sha512-
|
|
1238
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-goal/-/dsh-tool-goal-0.2.0-rc.
|
|
1239
|
-
"sha256": "
|
|
1255
|
+
"version": "0.2.0-rc.2",
|
|
1256
|
+
"integrity": "sha512-UeMd6NocvpXMU+jT0ujY/jU6S9SVSYY7H7oMnspBmWSPNdlh7eYHkQbQN9af7SWEhaDKBq5rsYPIOsYiSs2bZQ==",
|
|
1257
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-goal/-/dsh-tool-goal-0.2.0-rc.2.tgz",
|
|
1258
|
+
"sha256": "b06653a1eea696f034a399d00a47bca31ac25425de96499e8830c91b5f598605",
|
|
1240
1259
|
"modules": {
|
|
1241
1260
|
"lib/index.js": "7220fa7b5b7c95c94377ac32c6b01ecac5b4853d9dec3a48ab17d371cda63e6c",
|
|
1242
|
-
"package.json": "
|
|
1261
|
+
"package.json": "9b921fa34e7bb7858c973644dd1d87958e45df96d79d534f573e479297838c3d"
|
|
1243
1262
|
},
|
|
1244
1263
|
"programs": { "lib/index.js": "1d2190e8352f2a3cd78f8df8c8b23d9e6ee4223483a72322ea2fb0ba5f8f3963" },
|
|
1245
|
-
"loadingDigest": "
|
|
1264
|
+
"loadingDigest": "3743f69611922c427b8e492045994eae5768cd0ed14f95d71eedbee509e627cc"
|
|
1246
1265
|
},
|
|
1247
1266
|
{
|
|
1248
1267
|
"name": "@deepseek-ai/dsh-tool-jobs",
|
|
1249
|
-
"version": "0.2.0-rc.
|
|
1250
|
-
"integrity": "sha512-
|
|
1251
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-jobs/-/dsh-tool-jobs-0.2.0-rc.
|
|
1252
|
-
"sha256": "
|
|
1268
|
+
"version": "0.2.0-rc.2",
|
|
1269
|
+
"integrity": "sha512-6mqWCkYm+XExCfJbix+pcJ2qcQLNTUtNZQOmfV1IFmpT4j0pGju6b4GbiKaS26yDPegIz71ZW2/tXWzijIsjyg==",
|
|
1270
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-jobs/-/dsh-tool-jobs-0.2.0-rc.2.tgz",
|
|
1271
|
+
"sha256": "7097ef534b0cef4ec19e269daa76fb1203e89439b1123f35471ba0bfde55a7ab",
|
|
1253
1272
|
"modules": {
|
|
1254
1273
|
"lib/index.js": "660066155801b20c67e6e288820961a365fe65738ffee1a16e50a2394ac9c7c6",
|
|
1255
|
-
"package.json": "
|
|
1274
|
+
"package.json": "c710f1240c6486f89f1d0e411f4aa800a4fdf8fa83a6fe4a6909dd8d51e71e26"
|
|
1256
1275
|
},
|
|
1257
1276
|
"programs": { "lib/index.js": "b45d13d983e98d28aa8164d7997c125d1c28bae8976784c8e235bf8430224e8b" },
|
|
1258
|
-
"loadingDigest": "
|
|
1277
|
+
"loadingDigest": "a2edc6626da2ac54207e42dae4e272cf1a0af91d0d79e0ca61b8ae3e12e60466"
|
|
1259
1278
|
},
|
|
1260
1279
|
{
|
|
1261
1280
|
"name": "@deepseek-ai/dsh-tool-pwsh",
|
|
1262
|
-
"version": "0.2.0-rc.
|
|
1263
|
-
"integrity": "sha512-
|
|
1264
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-pwsh/-/dsh-tool-pwsh-0.2.0-rc.
|
|
1265
|
-
"sha256": "
|
|
1281
|
+
"version": "0.2.0-rc.2",
|
|
1282
|
+
"integrity": "sha512-kFL84s7zQSRd2IquZl2LK7g56x4MUWSilSWLoRVwGTTQoW3RMFGjAsMZ9ZmtGjdLGrLeCnBwiXucwswTeqYCmw==",
|
|
1283
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-pwsh/-/dsh-tool-pwsh-0.2.0-rc.2.tgz",
|
|
1284
|
+
"sha256": "4bc8ca9d1a751925560bbfbb5f8e6becb7c198953d257f911f555938c01e6ff0",
|
|
1266
1285
|
"modules": {
|
|
1267
|
-
"lib/index.js": "
|
|
1268
|
-
"package.json": "
|
|
1286
|
+
"lib/index.js": "1a49cd8de831423a4ae0a2c57a4674a64cec538f64ae603aaa2c388d78aec790",
|
|
1287
|
+
"package.json": "43550a960a0281fe7905d362ef4600effe54fa8b4841739f08b2aa2055d002f1"
|
|
1269
1288
|
},
|
|
1270
|
-
"programs": { "lib/index.js": "
|
|
1271
|
-
"loadingDigest": "
|
|
1289
|
+
"programs": { "lib/index.js": "f615ce20ce782944a55d095801ee659d4d615f31af2d716251cb74d737864faa" },
|
|
1290
|
+
"loadingDigest": "68d468d190843e9d5266a07f87fff40e3602b25b698f04936dc0c451660b9584"
|
|
1272
1291
|
},
|
|
1273
1292
|
{
|
|
1274
1293
|
"name": "@deepseek-ai/dsh-tools",
|
|
1275
|
-
"version": "0.2.0-rc.
|
|
1276
|
-
"integrity": "sha512-
|
|
1277
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tools/-/dsh-tools-0.2.0-rc.
|
|
1278
|
-
"sha256": "
|
|
1294
|
+
"version": "0.2.0-rc.2",
|
|
1295
|
+
"integrity": "sha512-vquUz8PjHWE4zaS3wH70IpYjL441p2UlUcG8TN2yJZN1RhDkuiHum4bWCsjEPyWLS/aB1QJvzdXC2EK/PRkbsQ==",
|
|
1296
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tools/-/dsh-tools-0.2.0-rc.2.tgz",
|
|
1297
|
+
"sha256": "8153481d80867d9c8df8af22f5292bbfaf6948fd78feaf55d8754fa8a9cec893",
|
|
1279
1298
|
"modules": {
|
|
1280
1299
|
"lib/index.js": "40f47709337c3c205d4e09e647f8588f4977e66f6d52f019b3cc7ef81159d84f",
|
|
1281
1300
|
"lib/invariant.js": "41a09fa8d0e0857c6232e8d3b13c8658929b6b6300c6b3a2c53980c05309c282",
|
|
@@ -1289,7 +1308,7 @@ var packages = [
|
|
|
1289
1308
|
"lib/types/testing.js": "c6784f546e950dc38323baaad4009bb197eb25acf3a16adaa2893a44c7b7a650",
|
|
1290
1309
|
"lib/types/ts-types.js": "3c2f80465d6a420f15c75dcd023daa73af97307c3e22478c0bae67cf71c50d1e",
|
|
1291
1310
|
"lib/types/types.js": "d53c54d32353419ece121f485a5534ee054842b74ebab7b4a4d3325545d0179a",
|
|
1292
|
-
"package.json": "
|
|
1311
|
+
"package.json": "fa34d96a62f4b40ee3add8e23dab87e50379781e04faeaceeddd084c258435af"
|
|
1293
1312
|
},
|
|
1294
1313
|
"programs": {
|
|
1295
1314
|
"lib/index.js": "4d83f27020473369e5d5d2bd00a5089dc72a4078f541c21e5ce16c6604535423",
|
|
@@ -1305,21 +1324,21 @@ var packages = [
|
|
|
1305
1324
|
"lib/types/ts-types.js": "43a7ec56be4712c758ab51258748ce5f019b54b96d2109f1a53c9238bb993d2b",
|
|
1306
1325
|
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
1307
1326
|
},
|
|
1308
|
-
"loadingDigest": "
|
|
1327
|
+
"loadingDigest": "b889164e150ce9fcee5e2fcc7340d2f12de71d73cb5778d583589c976d9623b3"
|
|
1309
1328
|
},
|
|
1310
1329
|
{
|
|
1311
1330
|
"name": "@deepseek-ai/dsh-user-approval",
|
|
1312
|
-
"version": "0.2.0-rc.
|
|
1313
|
-
"integrity": "sha512-
|
|
1314
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-user-approval/-/dsh-user-approval-0.2.0-rc.
|
|
1315
|
-
"sha256": "
|
|
1331
|
+
"version": "0.2.0-rc.2",
|
|
1332
|
+
"integrity": "sha512-fZMfDp4IeWZMwAKEQkuAYCiGRrwoVWNObvAbpdmQNUavjfYCtwwduWqYQz+5lMQq8vENdczBj7cxnO/pOQ1oZQ==",
|
|
1333
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-user-approval/-/dsh-user-approval-0.2.0-rc.2.tgz",
|
|
1334
|
+
"sha256": "2a36501107f8e3d96ba1b4cf6de6ca0ceb6a4dca1fdc8f822240a73257ace4fb",
|
|
1316
1335
|
"modules": {
|
|
1317
1336
|
"lib/index.js": "6a5ad1ba3c3dc3abbbae52e6c8c4463970ee0c1c8988cebb0d5cf2acd17ee90b",
|
|
1318
1337
|
"lib/invariant.js": "4c4d4f497a9cf8b2397ce0f029456c5d9dc52005f0e60e3fb6365695b3cded7a",
|
|
1319
1338
|
"lib/types/index.js": "0b2e00fe1b2cedc9b6349a38e07e26a05a09492da838f069c10b76cf13f6d6e8",
|
|
1320
1339
|
"lib/types/invariant.js": "0ee679ea1449b99266df9dc3c53606a61573caa432cfca3d44badfdac71a0ef8",
|
|
1321
1340
|
"lib/types/types.js": "525e6f38c039c0b20c6d071bfe06799e8fbc41b2af2ce8db7b1feb3faebad75f",
|
|
1322
|
-
"package.json": "
|
|
1341
|
+
"package.json": "301cb8ee3967a1190308a2ae44b804b4ed8bcad30c5bda527bcaf013f48b5a8a"
|
|
1323
1342
|
},
|
|
1324
1343
|
"programs": {
|
|
1325
1344
|
"lib/index.js": "0541b7516a8abb2cf468a933bded14ab0cc6f6d6be2edf66d1105a8bb2bc0ec5",
|
|
@@ -1328,47 +1347,48 @@ var packages = [
|
|
|
1328
1347
|
"lib/types/invariant.js": "9349b8ab02632d47cadb7c7e5397088781f0687dc5abe64ff60a48b67dcf518a",
|
|
1329
1348
|
"lib/types/types.js": "59c2241ede0957a0d4e93789fff530e3fc3eb5f358267346777eaf82a7fe0058"
|
|
1330
1349
|
},
|
|
1331
|
-
"loadingDigest": "
|
|
1350
|
+
"loadingDigest": "c4211df0a593655483d52187f78b2a8651c3a0cd59b1bfe8ce9c243ef25511b2"
|
|
1332
1351
|
},
|
|
1333
1352
|
{
|
|
1334
1353
|
"name": "@deepseek-ai/dsh-util-values",
|
|
1335
|
-
"version": "0.2.0-rc.
|
|
1336
|
-
"integrity": "sha512-
|
|
1337
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-util-values/-/dsh-util-values-0.2.0-rc.
|
|
1338
|
-
"sha256": "
|
|
1354
|
+
"version": "0.2.0-rc.2",
|
|
1355
|
+
"integrity": "sha512-qgpsbgiZABuE9UvgNaVo9b2HiWwLeU93CTl9PFXqE0jN8ap1ALxzQsLGvr/q2MJuWDYqnFBg60XnqnY8ZxPWEg==",
|
|
1356
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-util-values/-/dsh-util-values-0.2.0-rc.2.tgz",
|
|
1357
|
+
"sha256": "6f84a799894f5a5b42b2d4acb3232adffb580c41079cd1894514065f5af94947",
|
|
1339
1358
|
"modules": {
|
|
1340
1359
|
"lib/index.js": "d291828dc4ff9c4b43a67e7ed81625c8f90ebdcf4de2f5cbf2c33f38208ce2b8",
|
|
1341
|
-
"package.json": "
|
|
1360
|
+
"package.json": "2a15152e51019eb526463b6a2a8b87d9ba08717af623af1b139d4fbcd87e0bb8"
|
|
1342
1361
|
},
|
|
1343
1362
|
"programs": { "lib/index.js": "d50891d897458af7cd7e4bc116748073d5f35421f7ffdf93536237454b521deb" },
|
|
1344
1363
|
"loadingDigest": "2cdd26d82f4bc97d962b1ff7dc419ca7fc6afdd4c382d5e4a8ff3861300befdd"
|
|
1345
1364
|
},
|
|
1346
1365
|
{
|
|
1347
1366
|
"name": "@deepseek-ai/dsh-web-app",
|
|
1348
|
-
"version": "0.2.0-rc.
|
|
1349
|
-
"integrity": "sha512-
|
|
1350
|
-
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-web-app/-/dsh-web-app-0.2.0-rc.
|
|
1351
|
-
"sha256": "
|
|
1367
|
+
"version": "0.2.0-rc.2",
|
|
1368
|
+
"integrity": "sha512-pCIMPLfTKVfY942dP4eJSDVw7iUw86pemzfOr/e5DWP7CdCKTfvA82kP0RJAKJcyKJd8s679hqtCue/p4P20Dg==",
|
|
1369
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-web-app/-/dsh-web-app-0.2.0-rc.2.tgz",
|
|
1370
|
+
"sha256": "f633daba9d434233f3664553292ca31e996ee2395bfe97e38631fd2ea4928d74",
|
|
1352
1371
|
"modules": {
|
|
1353
1372
|
"lib/index.js": "50c7ce5b93e8a7ac0117e066699cd31b553a5a135d38b7051d6a8364ac691af4",
|
|
1354
1373
|
"lib/startup.js": "95a47053483fbe8ec86711369b8791bccb592c303fcc89300458a4bd07c6c252",
|
|
1355
|
-
"package.json": "
|
|
1374
|
+
"package.json": "8d1324675ff120ed1ce834ddd689546deed093d41cc50faf4a5b4d6515a1b233"
|
|
1356
1375
|
},
|
|
1357
1376
|
"programs": {
|
|
1358
1377
|
"lib/index.js": "875b581fb8a2918f226d082e98119488a8f229239effe9fe0ec8f79536730561",
|
|
1359
1378
|
"lib/startup.js": "f1aba5df366d09c63960d8b8a8be6699e3ddd1b9d8a2baf841794190d9c49368"
|
|
1360
1379
|
},
|
|
1361
|
-
"loadingDigest": "
|
|
1380
|
+
"loadingDigest": "8c10c6004d1f3b78e18e84d1e8ba1b8ae2d589b9451c9771bb1d093beff00f19"
|
|
1362
1381
|
}
|
|
1363
1382
|
];
|
|
1364
1383
|
|
|
1365
1384
|
//#endregion
|
|
1366
|
-
//#region src/domain/rc020-
|
|
1385
|
+
//#region src/domain/rc020-rc2-host.ts
|
|
1367
1386
|
/** One source for verified registry identities and published executable bytes.
|
|
1368
|
-
* Bound to the published dsh-v0.2.0-rc.
|
|
1369
|
-
*
|
|
1370
|
-
* remains a separate, currently pending fact.
|
|
1371
|
-
|
|
1387
|
+
* Bound to the published dsh-v0.2.0-rc.2 tarballs (upstream
|
|
1388
|
+
* 639ed015397290b3745d163aafe02ffee4aa3f84). Native platform acceptance
|
|
1389
|
+
* remains a separate, currently pending fact. The rc.1 rows remain available
|
|
1390
|
+
* in `rc020-rc1-host.ts` as historical evidence. */
|
|
1391
|
+
const RC020_RC2_HOST_PACKAGES = packages$1.map(({ name, version: version$1, integrity }) => ({
|
|
1372
1392
|
name,
|
|
1373
1393
|
version: version$1,
|
|
1374
1394
|
integrity
|
|
@@ -1708,10 +1728,10 @@ function hostLockDigest(manifest) {
|
|
|
1708
1728
|
}
|
|
1709
1729
|
const rawPackages = manifest.packages;
|
|
1710
1730
|
if (rawPackages !== void 0 && !Array.isArray(rawPackages)) throw new DigestError("packages must be a list or absent");
|
|
1711
|
-
const packages$
|
|
1712
|
-
const names = packages$
|
|
1731
|
+
const packages$2 = rawPackages ?? [];
|
|
1732
|
+
const names = packages$2.map((p) => expectString(p.name, "package.name"));
|
|
1713
1733
|
if (new Set(names).size !== names.length) throw new DigestError("duplicate package rows");
|
|
1714
|
-
for (const pkg of [...packages$
|
|
1734
|
+
for (const pkg of [...packages$2].sort((a, b) => byUtf8(a.name, b.name))) {
|
|
1715
1735
|
requireExactKeys(pkg, PACKAGE_KEYS, "package row");
|
|
1716
1736
|
for (const label of ["version", "integrity"]) {
|
|
1717
1737
|
const value = pkg[label];
|
|
@@ -2537,8 +2557,8 @@ function validateActionManifest() {
|
|
|
2537
2557
|
|
|
2538
2558
|
//#endregion
|
|
2539
2559
|
//#region src/domain/host-version.ts
|
|
2540
|
-
/** Version admission floor. Since 0.8.
|
|
2541
|
-
* `>=0.2.0-rc.
|
|
2560
|
+
/** Version admission floor. Since 0.8.2 the public DSH support range is
|
|
2561
|
+
* `>=0.2.0-rc.2` with NO implied upper bound: every host version at or above
|
|
2542
2562
|
* this floor (including later RCs on any tuple, stable and future releases)
|
|
2543
2563
|
* passes VERSION ADMISSION. The floor only rises when a future Guard release
|
|
2544
2564
|
* actively adopts a newer DSH; the runtime never raises it from a remote
|
|
@@ -2546,12 +2566,13 @@ function validateActionManifest() {
|
|
|
2546
2566
|
* metadata ignored. Version admission is one gate of several — it never
|
|
2547
2567
|
* claims native validation of a not-yet-tested host, and the graph/byte/
|
|
2548
2568
|
* contract audits below still run on every admission. */
|
|
2549
|
-
const MIN_SUPPORTED_HOST_VERSION = "0.2.0-rc.
|
|
2569
|
+
const MIN_SUPPORTED_HOST_VERSION = "0.2.0-rc.2";
|
|
2550
2570
|
const SUPPORTED_HOST_RANGE = `>=${MIN_SUPPORTED_HOST_VERSION}`;
|
|
2551
2571
|
/** Versions with recorded first-hand host evidence. This is an EVIDENCE
|
|
2552
2572
|
* ledger, NOT an admission whitelist: a missing row never refuses a
|
|
2553
|
-
* version-above-floor host.
|
|
2554
|
-
|
|
2573
|
+
* version-above-floor host. rc.1 keeps its historical row after the floor
|
|
2574
|
+
* moved to rc.2; the row records past evidence, not current admission. */
|
|
2575
|
+
const HOST_VALIDATED_VERSIONS = ["0.2.0-rc.1", "0.2.0-rc.2"];
|
|
2555
2576
|
/** Historical alias retained for evidence-list readers; the admission rule is
|
|
2556
2577
|
* the floor above, never this list. */
|
|
2557
2578
|
const SUPPORTED_HOST_VERSIONS = HOST_VALIDATED_VERSIONS;
|
|
@@ -2633,8 +2654,8 @@ function evaluateMinimumHostVersion(version$1, minimum = MIN_SUPPORTED_HOST_VERS
|
|
|
2633
2654
|
};
|
|
2634
2655
|
}
|
|
2635
2656
|
/** Version admission: at or above the floor by strict SemVer precedence
|
|
2636
|
-
* (prerelease-aware; build metadata ignored). `0.2.0-rc.
|
|
2637
|
-
* `0.1.7.x` line stay below the floor; `0.2.0-rc.
|
|
2657
|
+
* (prerelease-aware; build metadata ignored). `0.2.0-rc.1` and the whole
|
|
2658
|
+
* `0.1.7.x` line stay below the floor; `0.2.0-rc.2`, `0.2.0`,
|
|
2638
2659
|
* later patch/minor RCs and releases all admit. */
|
|
2639
2660
|
function satisfiesSupportedHostRange(version$1) {
|
|
2640
2661
|
const parsed = parseHostVersion(version$1.trim());
|
|
@@ -2664,7 +2685,7 @@ function satisfiesSupportedHostRange(version$1) {
|
|
|
2664
2685
|
* Capability expectations shared by every registered cohort.
|
|
2665
2686
|
*
|
|
2666
2687
|
* Every row is a host contract Guard actually consumes, re-checked against the
|
|
2667
|
-
* 0.2.0-rc.
|
|
2688
|
+
* 0.2.0-rc.2 package surfaces: `ctx.sessions.flush()` still returns whether a
|
|
2668
2689
|
* durability listener participated; `tools.guard()` is still a monotonic
|
|
2669
2690
|
* post-policy denial; the Goal service still exposes `get`/`disarm` with a
|
|
2670
2691
|
* disarming `pause`; the `update_goal` tool is still the pinned pre-commit gate;
|
|
@@ -2734,7 +2755,7 @@ const AUDITED_CAPABILITY_ROWS = [
|
|
|
2734
2755
|
}
|
|
2735
2756
|
}))
|
|
2736
2757
|
];
|
|
2737
|
-
function defineCohort(id, supportedGoalVersions, auditedPlatforms, packages$
|
|
2758
|
+
function defineCohort(id, supportedGoalVersions, auditedPlatforms, packages$2, auditProvenance = "native-audited", acceptedPlatforms = auditedPlatforms) {
|
|
2738
2759
|
return {
|
|
2739
2760
|
id,
|
|
2740
2761
|
manifestVersion: 1,
|
|
@@ -2742,7 +2763,7 @@ function defineCohort(id, supportedGoalVersions, auditedPlatforms, packages$1, a
|
|
|
2742
2763
|
auditedPlatforms,
|
|
2743
2764
|
acceptedPlatforms,
|
|
2744
2765
|
auditProvenance,
|
|
2745
|
-
packages: packages$
|
|
2766
|
+
packages: packages$2,
|
|
2746
2767
|
capabilities: [
|
|
2747
2768
|
{
|
|
2748
2769
|
name: "host_cohort",
|
|
@@ -2763,14 +2784,14 @@ function defineCohort(id, supportedGoalVersions, auditedPlatforms, packages$1, a
|
|
|
2763
2784
|
};
|
|
2764
2785
|
}
|
|
2765
2786
|
/** Baseline cohort retained for callers that need a default fixture. */
|
|
2766
|
-
const ACTIVE_HOST_COHORT_ID = "dsh-0.2.0-rc.
|
|
2787
|
+
const ACTIVE_HOST_COHORT_ID = "dsh-0.2.0-rc.2";
|
|
2767
2788
|
const ACTIVE_HOST_COHORT_IDS = [ACTIVE_HOST_COHORT_ID];
|
|
2768
2789
|
/** Core-lock/v1 separates optional market identity from the rc.2 critical
|
|
2769
2790
|
* graph. Historical cohorts live only in test data. Version ordering cannot
|
|
2770
2791
|
* authorize an unregistered graph, and graph identity is separate from native
|
|
2771
2792
|
* acceptance of a Guard artifact.
|
|
2772
2793
|
*/
|
|
2773
|
-
const HOST_COHORTS = [defineCohort(ACTIVE_HOST_COHORT_ID, ["0.2.0-rc.
|
|
2794
|
+
const HOST_COHORTS = [defineCohort(ACTIVE_HOST_COHORT_ID, ["0.2.0-rc.2"], [], RC020_RC2_HOST_PACKAGES, "registry-derived-pending-native-audit", ["posix", "windows"])].filter((cohort) => ACTIVE_HOST_COHORT_IDS.includes(cohort.id)).map((cohort) => ({
|
|
2774
2795
|
...cohort,
|
|
2775
2796
|
id: `${cohort.id}-core-v1`,
|
|
2776
2797
|
manifestVersion: 2,
|
|
@@ -2801,7 +2822,7 @@ const HOST_COHORTS = [defineCohort(ACTIVE_HOST_COHORT_ID, ["0.2.0-rc.1"], [], RC
|
|
|
2801
2822
|
]
|
|
2802
2823
|
}));
|
|
2803
2824
|
/**
|
|
2804
|
-
* Baseline fixture package identities (DSH 0.2.0-rc.
|
|
2825
|
+
* Baseline fixture package identities (DSH 0.2.0-rc.2). The cohort
|
|
2805
2826
|
* is an atomic whole-graph contract (CG-DSH-001): any drifted, duplicated,
|
|
2806
2827
|
* unknown-version, unbound, OR MISSING row fails the whole lock closed
|
|
2807
2828
|
* (`host_lock_missing`); no capability inherits independence from a partially
|
|
@@ -3080,7 +3101,7 @@ function evaluateGraphDerivedHostLock(rows, context = {}, verifyLockfileSri = ()
|
|
|
3080
3101
|
};
|
|
3081
3102
|
}
|
|
3082
3103
|
function capabilityEvaluations(rows, cohort) {
|
|
3083
|
-
return Object.fromEntries(Object.entries(HOST_CAPABILITY_PACKAGE_GROUPS).map(([id, packages$
|
|
3104
|
+
return Object.fromEntries(Object.entries(HOST_CAPABILITY_PACKAGE_GROUPS).map(([id, packages$2]) => [id, statusForPackages(id, rows, packages$2, cohort)]));
|
|
3084
3105
|
}
|
|
3085
3106
|
function cohortForEvaluation(evaluation) {
|
|
3086
3107
|
return evaluation.derivedCohort ?? HOST_COHORTS.find((cohort) => cohort.id === evaluation.cohortId) ?? HOST_COHORTS[0];
|
|
@@ -3100,7 +3121,7 @@ function evaluateHostLock(rows, context = {}) {
|
|
|
3100
3121
|
const registryNames = new Set(HOST_COHORTS.flatMap((entry) => entry.packages.map((row$3) => row$3.name)));
|
|
3101
3122
|
const unknown = supplied.find((row$3) => !registryNames.has(row$3.name));
|
|
3102
3123
|
const hostVersionValue = context.hostVersion ?? hostVersionFromPackages(supplied);
|
|
3103
|
-
const hostVersion = hostVersionValue === void 0 ? void 0 : evaluateMinimumHostVersion(hostVersionValue);
|
|
3124
|
+
const hostVersion$1 = hostVersionValue === void 0 ? void 0 : evaluateMinimumHostVersion(hostVersionValue);
|
|
3104
3125
|
const baseResult = {
|
|
3105
3126
|
digest: digest$1,
|
|
3106
3127
|
goalAvailable,
|
|
@@ -3109,7 +3130,7 @@ function evaluateHostLock(rows, context = {}) {
|
|
|
3109
3130
|
cohortId: cohort.id,
|
|
3110
3131
|
auditProvenance: cohort.auditProvenance,
|
|
3111
3132
|
missingPackages,
|
|
3112
|
-
...hostVersion ? { hostVersion } : {},
|
|
3133
|
+
...hostVersion$1 ? { hostVersion: hostVersion$1 } : {},
|
|
3113
3134
|
...context.platform ? { platform: context.platform } : {},
|
|
3114
3135
|
...context.profileKind ? { profileKind: context.profileKind } : {}
|
|
3115
3136
|
};
|
|
@@ -3185,11 +3206,11 @@ function evaluateHostLock(rows, context = {}) {
|
|
|
3185
3206
|
reasonCode: failure.reasonCode
|
|
3186
3207
|
};
|
|
3187
3208
|
}
|
|
3188
|
-
if (hostVersion?.status === "below_minimum" || hostVersion?.status === "unparseable") return {
|
|
3209
|
+
if (hostVersion$1?.status === "below_minimum" || hostVersion$1?.status === "unparseable") return {
|
|
3189
3210
|
...baseResult,
|
|
3190
3211
|
status: "unsupported",
|
|
3191
3212
|
goalAvailable: false,
|
|
3192
|
-
reasonCode: hostVersion.status === "below_minimum" ? "host_lock_version_below_minimum" : "host_lock_version_unparseable"
|
|
3213
|
+
reasonCode: hostVersion$1.status === "below_minimum" ? "host_lock_version_below_minimum" : "host_lock_version_unparseable"
|
|
3193
3214
|
};
|
|
3194
3215
|
return {
|
|
3195
3216
|
...baseResult,
|
|
@@ -3229,6 +3250,14 @@ function evaluateHostCapability(evaluation, request) {
|
|
|
3229
3250
|
if (request.action === "install" || request.action === "apply") groups.push("dsh_cli");
|
|
3230
3251
|
if (request.action === "apply") groups.push("plugin_inventory");
|
|
3231
3252
|
if (request.action === "restart" && profileKind === "web") groups.push("web_control");
|
|
3253
|
+
if (request.action === "restart" && profileKind === "desktop") return {
|
|
3254
|
+
id: "action.restart",
|
|
3255
|
+
status: "unavailable",
|
|
3256
|
+
digest: evaluation.digest,
|
|
3257
|
+
requiredPackages: [],
|
|
3258
|
+
missingPackages: [],
|
|
3259
|
+
reasonCode: "host_capability_request_unsupported"
|
|
3260
|
+
};
|
|
3232
3261
|
if (request.action === "restart" && profileKind !== "web") return {
|
|
3233
3262
|
id: "action.restart",
|
|
3234
3263
|
status: "unavailable",
|
|
@@ -3302,7 +3331,7 @@ function evaluateToolSurfaceCapability(evaluation, surface) {
|
|
|
3302
3331
|
};
|
|
3303
3332
|
return result;
|
|
3304
3333
|
}
|
|
3305
|
-
function safeHostLockDigest(packages$
|
|
3334
|
+
function safeHostLockDigest(packages$2, context = {}, cohort) {
|
|
3306
3335
|
try {
|
|
3307
3336
|
const capabilities = [
|
|
3308
3337
|
...cohort.capabilities,
|
|
@@ -3339,11 +3368,11 @@ function safeHostLockDigest(packages$1, context = {}, cohort) {
|
|
|
3339
3368
|
manifestVersion: cohort.manifestVersion,
|
|
3340
3369
|
supportedGoalVersions: [...cohort.supportedGoalVersions],
|
|
3341
3370
|
capabilities,
|
|
3342
|
-
packages: [...packages$
|
|
3371
|
+
packages: [...packages$2]
|
|
3343
3372
|
});
|
|
3344
3373
|
} catch {
|
|
3345
3374
|
const bounded = {
|
|
3346
|
-
packages: packages$
|
|
3375
|
+
packages: packages$2.map((row$3) => [
|
|
3347
3376
|
String(row$3.name),
|
|
3348
3377
|
row$3.version ?? null,
|
|
3349
3378
|
row$3.integrity ?? null
|
|
@@ -8691,8 +8720,8 @@ function canonical$1(value) {
|
|
|
8691
8720
|
return JSON.stringify(value, (_key, current) => current && typeof current === "object" && !Array.isArray(current) ? Object.fromEntries(Object.entries(current).sort(([a], [b]) => a < b ? -1 : a > b ? 1 : 0)) : current);
|
|
8692
8721
|
}
|
|
8693
8722
|
const hash$3 = (value) => createHash("sha256").update(canonical$1(value)).digest("hex");
|
|
8694
|
-
function bindingDigest$1(packages$
|
|
8695
|
-
return hash$3([...packages$
|
|
8723
|
+
function bindingDigest$1(packages$2, dependencies = []) {
|
|
8724
|
+
return hash$3([...packages$2, ...dependencies].sort((a, b) => a.name < b.name ? -1 : 1));
|
|
8696
8725
|
}
|
|
8697
8726
|
function receiptPath(profileRoot, digest$1) {
|
|
8698
8727
|
return join(profileRoot, ".dsh-completion-guard", "host-contracts", digest$1 + ".json");
|
|
@@ -8718,7 +8747,7 @@ function readReceipt(profileRoot, trust) {
|
|
|
8718
8747
|
function qualifyHostTrust(value, profileRoot) {
|
|
8719
8748
|
const trust = value;
|
|
8720
8749
|
if (trust?.schema !== "dsh-host-registry-trust/v1" || trust.source !== "https://registry.npmjs.org/" || trust.qualification !== HOST_CONTRACT_SCHEMA || !Array.isArray(trust.packages)) return fail("host_trust_source_untrusted");
|
|
8721
|
-
const known = new Set(packages.map((p) => p.name)), names = /* @__PURE__ */ new Set();
|
|
8750
|
+
const known = new Set(packages$1.map((p) => p.name)), names = /* @__PURE__ */ new Set();
|
|
8722
8751
|
for (const row$3 of [...trust.packages, ...trust.probeDependencies ?? []]) {
|
|
8723
8752
|
if (!row$3 || names.has(row$3.name) || !parseHostVersion(row$3.version) || !/^sha512-[A-Za-z0-9+/]{86}==$/.test(row$3.integrity) || !row$3.modules || Array.isArray(row$3.modules) || !/^[a-f0-9]{64}$/.test(row$3.modules["package.json"])) return fail("host_trust_identity_invalid");
|
|
8724
8753
|
for (const [file, digest$1] of Object.entries(row$3.modules)) if (!/^[a-f0-9]{64}$/.test(digest$1) || file.startsWith("/") || file.includes("\\") || file.split("/").some((part) => !part || part === "." || part === "..")) return fail("host_trust_identity_invalid");
|
|
@@ -8741,7 +8770,7 @@ function parseHostTrust(text, profileRoot) {
|
|
|
8741
8770
|
}
|
|
8742
8771
|
}
|
|
8743
8772
|
function hostTrustDigest(trust) {
|
|
8744
|
-
const packages$
|
|
8773
|
+
const packages$2 = [...trust.packages].sort((a, b) => a.name.localeCompare(b.name)).map((row$3) => ({
|
|
8745
8774
|
name: row$3.name,
|
|
8746
8775
|
version: row$3.version,
|
|
8747
8776
|
integrity: row$3.integrity,
|
|
@@ -8749,7 +8778,7 @@ function hostTrustDigest(trust) {
|
|
|
8749
8778
|
}));
|
|
8750
8779
|
return createHash("sha256").update(JSON.stringify({
|
|
8751
8780
|
...trust,
|
|
8752
|
-
packages: packages$
|
|
8781
|
+
packages: packages$2
|
|
8753
8782
|
})).digest("hex");
|
|
8754
8783
|
}
|
|
8755
8784
|
/** Closed-world regular-file tar projection. Never extract or execute archives. */
|
|
@@ -8787,7 +8816,7 @@ function registryArchiveModules(bytes$1, row$3) {
|
|
|
8787
8816
|
return Object.fromEntries(Object.entries(registryArchiveFiles(bytes$1, row$3)).map(([file, content]) => [file, createHash("sha256").update(content).digest("hex")]));
|
|
8788
8817
|
}
|
|
8789
8818
|
async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
8790
|
-
const packages$
|
|
8819
|
+
const packages$2 = [], dependencies = [], archives = [];
|
|
8791
8820
|
const acquire = async (row$3) => {
|
|
8792
8821
|
if (!/^(?:@[a-z0-9][a-z0-9._-]*\/)?[a-z0-9][a-z0-9._-]*$/.test(row$3.name) || row$3.name.length > 214 || !row$3.version || !parseHostVersion(row$3.version) || !row$3.integrity) return fail("host_trust_identity_invalid");
|
|
8793
8822
|
const response = await fetcher(`https://registry.npmjs.org/${encodeURIComponent(row$3.name)}/${encodeURIComponent(row$3.version)}`, {
|
|
@@ -8816,11 +8845,11 @@ async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
|
8816
8845
|
modules: Object.fromEntries(Object.entries(files).map(([file, content]) => [file, createHash("sha256").update(content).digest("hex")]))
|
|
8817
8846
|
};
|
|
8818
8847
|
};
|
|
8819
|
-
for (const row$3 of rows) packages$
|
|
8848
|
+
for (const row$3 of rows) packages$2.push(await acquire(row$3));
|
|
8820
8849
|
if (!options?.profileRoot) return fail("host_trust_receipt_root_missing");
|
|
8821
8850
|
const targets = [], checks = [], equivalent = /* @__PURE__ */ new Set();
|
|
8822
8851
|
const reviewedEquivalent = (row$3, files) => {
|
|
8823
|
-
const reference = packages.find((p) => p.name === row$3.name);
|
|
8852
|
+
const reference = packages$1.find((p) => p.name === row$3.name);
|
|
8824
8853
|
if (!reference) return false;
|
|
8825
8854
|
return hostManifestLoadingDigest(files["package.json"].toString()) === reference.loadingDigest && Object.entries(reference.modules).filter(([file]) => file !== "package.json").every(([file, digest$1]) => {
|
|
8826
8855
|
if (!files[file]) return false;
|
|
@@ -8833,13 +8862,13 @@ async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
|
8833
8862
|
}
|
|
8834
8863
|
});
|
|
8835
8864
|
};
|
|
8836
|
-
for (const row$3 of packages$
|
|
8837
|
-
if (!packages.find((p) => p.name === row$3.name)) return fail("host_trust_identity_invalid");
|
|
8865
|
+
for (const row$3 of packages$2) {
|
|
8866
|
+
if (!packages$1.find((p) => p.name === row$3.name)) return fail("host_trust_identity_invalid");
|
|
8838
8867
|
const files = archives.find((a) => a.name === row$3.name).files;
|
|
8839
8868
|
if (reviewedEquivalent(row$3, files)) equivalent.add(row$3.name);
|
|
8840
8869
|
else targets.push(row$3.name);
|
|
8841
8870
|
}
|
|
8842
|
-
const visited = /* @__PURE__ */ new Set(), queue = [...new Set([...targets, ...packages$
|
|
8871
|
+
const visited = /* @__PURE__ */ new Set(), queue = [...new Set([...targets, ...packages$2.filter((p) => HOST_CONTRACT_CONSUMERS.includes(p.name)).map((p) => p.name)])];
|
|
8843
8872
|
while (queue.length) {
|
|
8844
8873
|
const name = queue.shift();
|
|
8845
8874
|
if (visited.has(name)) continue;
|
|
@@ -8872,7 +8901,7 @@ async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
|
8872
8901
|
...manifest.peerDependencies
|
|
8873
8902
|
}).filter((n) => !manifest.peerDependenciesMeta?.[n]?.optional || n in (manifest.dependencies ?? {})).every((n) => graphEquivalent(n, seen));
|
|
8874
8903
|
};
|
|
8875
|
-
for (const row$3 of [...packages$
|
|
8904
|
+
for (const row$3 of [...packages$2, ...dependencies.filter((p) => HOST_CONTRACT_CONSUMERS.includes(p.name))]) if (equivalent.has(row$3.name)) if (HOST_CONTRACT_CONSUMERS.includes(row$3.name) && !graphEquivalent(row$3.name)) {
|
|
8876
8905
|
targets.push(row$3.name);
|
|
8877
8906
|
checks.push("reviewed_program_bytes:" + row$3.name);
|
|
8878
8907
|
} else checks.push("reviewed_program_equivalence:" + row$3.name);
|
|
@@ -8886,7 +8915,7 @@ async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
|
8886
8915
|
const optional = result.failures.length ? targets.filter((name) => ["@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-tool-goal"].includes(name)) : [];
|
|
8887
8916
|
const receipt = {
|
|
8888
8917
|
schema: HOST_CONTRACT_SCHEMA,
|
|
8889
|
-
bindingDigest: bindingDigest$1(packages$
|
|
8918
|
+
bindingDigest: bindingDigest$1(packages$2, dependencies),
|
|
8890
8919
|
conditionsDigest: hostNodeConditions().digest,
|
|
8891
8920
|
checks: [...checks, ...result.checks].sort(),
|
|
8892
8921
|
unqualifiedOptionalPackages: optional.sort()
|
|
@@ -8904,7 +8933,7 @@ async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
|
8904
8933
|
schema: "dsh-host-registry-trust/v1",
|
|
8905
8934
|
source: "https://registry.npmjs.org/",
|
|
8906
8935
|
qualification: HOST_CONTRACT_SCHEMA,
|
|
8907
|
-
packages: packages$
|
|
8936
|
+
packages: packages$2,
|
|
8908
8937
|
probeDependencies: dependencies,
|
|
8909
8938
|
contract: {
|
|
8910
8939
|
schema: HOST_CONTRACT_SCHEMA,
|
|
@@ -8915,8 +8944,661 @@ async function acquireHostTrust(rows, fetcher = fetch, options) {
|
|
|
8915
8944
|
}, options.profileRoot);
|
|
8916
8945
|
}
|
|
8917
8946
|
|
|
8947
|
+
//#endregion
|
|
8948
|
+
//#region src/domain/host-desktop-identity.ts
|
|
8949
|
+
const { existsSync: existsSync$3, realpathSync: realpathSync$3 } = physicalFs;
|
|
8950
|
+
/** Shared with the native PowerShell regression: JSON arrays must retain
|
|
8951
|
+
* their element shape on Windows PowerShell 5.1. Algorithms are case-insensitive
|
|
8952
|
+
* tokens; the archive path and digest retain their exact comparisons. */
|
|
8953
|
+
const DESKTOP_HEADER_RESOURCE_CHECK = String.raw`
|
|
8954
|
+
$rows = [System.Text.Encoding]::UTF8.GetString($bytes).TrimEnd([char]0) | ConvertFrom-Json
|
|
8955
|
+
$selected = @($rows | Where-Object { $_.file -ceq 'resources\app.asar' -and $_.alg -eq 'sha256' })
|
|
8956
|
+
if ($selected.Count -ne 1 -or $selected[0].value -cne $env:DSH_GUARD_DESKTOP_HEADER) { throw 'desktop signed archive header mismatch' }
|
|
8957
|
+
`;
|
|
8958
|
+
/** Authenticate the archive header through the vendor-signed carrier rather
|
|
8959
|
+
* than through metadata stored in that same archive. Never execute app code. */
|
|
8960
|
+
function verifyDesktopCarrier(archivePath, headerSha256) {
|
|
8961
|
+
const archive = realpathSync$3(archivePath);
|
|
8962
|
+
if (!/^[a-f0-9]{64}$/.test(headerSha256)) throw new Error("desktop header identity missing");
|
|
8963
|
+
const options = {
|
|
8964
|
+
encoding: "utf8",
|
|
8965
|
+
timeout: 3e4,
|
|
8966
|
+
maxBuffer: 256 * 1024,
|
|
8967
|
+
stdio: [
|
|
8968
|
+
"ignore",
|
|
8969
|
+
"pipe",
|
|
8970
|
+
"pipe"
|
|
8971
|
+
]
|
|
8972
|
+
};
|
|
8973
|
+
if (process.platform === "darwin") {
|
|
8974
|
+
const contents = dirname(dirname(archive));
|
|
8975
|
+
const app = dirname(contents);
|
|
8976
|
+
if (!app.endsWith(".app") || archive !== join(contents, "Resources", "app.asar")) throw new Error("desktop archive is outside its signed app carrier");
|
|
8977
|
+
execFileSync("/usr/bin/codesign", [
|
|
8978
|
+
"--verify",
|
|
8979
|
+
"--deep",
|
|
8980
|
+
"--strict",
|
|
8981
|
+
"-R",
|
|
8982
|
+
"=anchor apple generic and certificate leaf[subject.OU] = \"NAN929V4UM\" and identifier \"com.deepseek.dsh\"",
|
|
8983
|
+
app
|
|
8984
|
+
], options);
|
|
8985
|
+
const info = join(contents, "Info.plist");
|
|
8986
|
+
const integrity = JSON.parse(execFileSync("/usr/bin/plutil", [
|
|
8987
|
+
"-extract",
|
|
8988
|
+
"ElectronAsarIntegrity",
|
|
8989
|
+
"json",
|
|
8990
|
+
"-o",
|
|
8991
|
+
"-",
|
|
8992
|
+
info
|
|
8993
|
+
], options));
|
|
8994
|
+
if (integrity["Resources/app.asar"]?.algorithm !== "SHA256" || integrity["Resources/app.asar"]?.hash !== headerSha256) throw new Error("desktop signed archive header mismatch");
|
|
8995
|
+
const executableName = execFileSync("/usr/bin/plutil", [
|
|
8996
|
+
"-extract",
|
|
8997
|
+
"CFBundleExecutable",
|
|
8998
|
+
"raw",
|
|
8999
|
+
"-o",
|
|
9000
|
+
"-",
|
|
9001
|
+
info
|
|
9002
|
+
], options).trim();
|
|
9003
|
+
if (!executableName || executableName.includes("/") || executableName.includes("\\")) throw new Error("desktop carrier executable invalid");
|
|
9004
|
+
return realpathSync$3(join(contents, "MacOS", executableName));
|
|
9005
|
+
}
|
|
9006
|
+
if (process.platform === "win32") {
|
|
9007
|
+
const installation = dirname(dirname(archive));
|
|
9008
|
+
if (archive !== join(installation, "resources", "app.asar")) throw new Error("desktop archive is outside its signed carrier");
|
|
9009
|
+
const executable = join(installation, "DeepSeek Harness.exe");
|
|
9010
|
+
if (!existsSync$3(executable)) throw new Error("desktop carrier executable missing");
|
|
9011
|
+
const script = String.raw`
|
|
9012
|
+
$ErrorActionPreference = 'Stop'
|
|
9013
|
+
$p = $env:DSH_GUARD_DESKTOP_EXECUTABLE
|
|
9014
|
+
$sig = Get-AuthenticodeSignature -LiteralPath $p
|
|
9015
|
+
if ($sig.Status -ne 'Valid' -or $null -eq $sig.SignerCertificate -or $sig.SignerCertificate.GetNameInfo([System.Security.Cryptography.X509Certificates.X509NameType]::SimpleName, $false) -notin @('Hangzhou DeepSeek Artificial Intelligence Co., Ltd.', 'Hangzhou DeepSeek Artificial Intelligence Co., Ltd')) { throw 'desktop vendor signature mismatch' }
|
|
9016
|
+
Add-Type -TypeDefinition @'
|
|
9017
|
+
using System;
|
|
9018
|
+
using System.Runtime.InteropServices;
|
|
9019
|
+
public static class DshGuardResource {
|
|
9020
|
+
[DllImport("kernel32.dll", CharSet=CharSet.Unicode, SetLastError=true)] public static extern IntPtr LoadLibraryEx(string file, IntPtr unused, uint flags);
|
|
9021
|
+
[DllImport("kernel32.dll", CharSet=CharSet.Unicode, SetLastError=true)] public static extern IntPtr FindResource(IntPtr module, string name, string type);
|
|
9022
|
+
[DllImport("kernel32.dll")] public static extern IntPtr LoadResource(IntPtr module, IntPtr resource);
|
|
9023
|
+
[DllImport("kernel32.dll")] public static extern IntPtr LockResource(IntPtr resource);
|
|
9024
|
+
[DllImport("kernel32.dll")] public static extern uint SizeofResource(IntPtr module, IntPtr resource);
|
|
9025
|
+
[DllImport("kernel32.dll")] public static extern bool FreeLibrary(IntPtr module);
|
|
9026
|
+
}
|
|
9027
|
+
'@
|
|
9028
|
+
$h = [DshGuardResource]::LoadLibraryEx($p, [IntPtr]::Zero, 0x60)
|
|
9029
|
+
if ($h -eq [IntPtr]::Zero) { throw 'desktop carrier resource unavailable' }
|
|
9030
|
+
try {
|
|
9031
|
+
$r = [DshGuardResource]::FindResource($h, 'ElectronAsar', 'Integrity')
|
|
9032
|
+
if ($r -eq [IntPtr]::Zero) { throw 'desktop signed archive resource missing' }
|
|
9033
|
+
$n = [DshGuardResource]::SizeofResource($h, $r)
|
|
9034
|
+
if ($n -eq 0 -or $n -gt 65536) { throw 'desktop archive resource invalid' }
|
|
9035
|
+
$ptr = [DshGuardResource]::LockResource([DshGuardResource]::LoadResource($h, $r))
|
|
9036
|
+
if ($ptr -eq [IntPtr]::Zero) { throw 'desktop archive resource unreadable' }
|
|
9037
|
+
$bytes = New-Object byte[] $n
|
|
9038
|
+
[System.Runtime.InteropServices.Marshal]::Copy($ptr, $bytes, 0, $n)
|
|
9039
|
+
${DESKTOP_HEADER_RESOURCE_CHECK}
|
|
9040
|
+
[Console]::Write('verified')
|
|
9041
|
+
} finally { [void][DshGuardResource]::FreeLibrary($h) }
|
|
9042
|
+
`;
|
|
9043
|
+
const systemRoot = process.env.SystemRoot ?? process.env.SYSTEMROOT;
|
|
9044
|
+
if (!systemRoot) throw new Error("desktop signature verifier unavailable");
|
|
9045
|
+
if (execFileSync(join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe"), [
|
|
9046
|
+
"-NoProfile",
|
|
9047
|
+
"-NonInteractive",
|
|
9048
|
+
"-Command",
|
|
9049
|
+
script
|
|
9050
|
+
], {
|
|
9051
|
+
...options,
|
|
9052
|
+
env: {
|
|
9053
|
+
SystemRoot: systemRoot,
|
|
9054
|
+
WINDIR: systemRoot,
|
|
9055
|
+
DSH_GUARD_DESKTOP_EXECUTABLE: executable,
|
|
9056
|
+
DSH_GUARD_DESKTOP_HEADER: headerSha256
|
|
9057
|
+
}
|
|
9058
|
+
}).trim() !== "verified") throw new Error("desktop signature verifier result invalid");
|
|
9059
|
+
return realpathSync$3(executable);
|
|
9060
|
+
}
|
|
9061
|
+
throw new Error("desktop signature verifier unsupported platform");
|
|
9062
|
+
}
|
|
9063
|
+
|
|
9064
|
+
//#endregion
|
|
9065
|
+
//#region src/domain/host-desktop.ts
|
|
9066
|
+
const { closeSync: closeSync$1, existsSync: existsSync$2, fstatSync: fstatSync$1, lstatSync: lstatSync$2, mkdirSync: mkdirSync$1, openSync: openSync$1, readFileSync: readFileSync$2, readSync, realpathSync: realpathSync$2, writeFileSync: writeFileSync$2 } = physicalFs;
|
|
9067
|
+
/**
|
|
9068
|
+
* Official Desktop adapter (CG-RC2-002).
|
|
9069
|
+
*
|
|
9070
|
+
* The Desktop app is the only authority for the `desktop` profile: its
|
|
9071
|
+
* `package.json` is named `dsh-profile-desktop`, its dependency graph lives
|
|
9072
|
+
* inside the signed `app.asar` of the installation, and there is no pnpm
|
|
9073
|
+
* package map or lockfile to read. This adapter therefore reads the official
|
|
9074
|
+
* graph IN PLACE from the asar container — it never unpacks the bundle and
|
|
9075
|
+
* never fabricates a map. The identities the manifest declares are qualified
|
|
9076
|
+
* through the same registry acquisition and host-contract probe as a CLI
|
|
9077
|
+
* graph rebind (`acquireDesktopHostTrust`), and the actually installed bytes
|
|
9078
|
+
* are verified file-by-file from the asar against that qualification
|
|
9079
|
+
* (`auditDesktopInstalledImplementation`). Every mismatch fails closed.
|
|
9080
|
+
*
|
|
9081
|
+
* The asar container format is a flat archive: a JSON header (with per-file
|
|
9082
|
+
* offsets) followed by the file bytes. Reading a file means header lookup +
|
|
9083
|
+
* one bounded positioned read, so an audited file set costs no more I/O than
|
|
9084
|
+
* reading the same files from a directory, and a tampered byte changes its
|
|
9085
|
+
* digest exactly as on disk.
|
|
9086
|
+
*/
|
|
9087
|
+
const DESKTOP_PROFILE_PACKAGE_NAME = "dsh-profile-desktop";
|
|
9088
|
+
const DESKTOP_RUNTIME_PACKAGE_NAME = "@deepseek-ai/dsh-desktop-runtime";
|
|
9089
|
+
const DESKTOP_RUNTIME_MANIFEST_ENTRY = "dsh/package.json";
|
|
9090
|
+
const DESKTOP_RUNTIME_METADATA_ENTRY = "dsh/desktop-runtime.json";
|
|
9091
|
+
const DESKTOP_GRAPH_ROOT = "dsh/node_modules";
|
|
9092
|
+
const DESKTOP_CARRIER_ENTRY = "dsh/node_modules/@deepseek-ai/dsh-desktop-host/lib/cli.js";
|
|
9093
|
+
const MAX_ASAR_HEADER_BYTES = 128 * 1024 * 1024;
|
|
9094
|
+
const MAX_ASAR_FILE_BYTES = 64 * 1024 * 1024;
|
|
9095
|
+
/** Read the asar header (the JSON index) without extracting any payload. */
|
|
9096
|
+
function readAsarIndex(archivePath) {
|
|
9097
|
+
const header = Buffer.alloc(16);
|
|
9098
|
+
const fd = openSync$1(archivePath, "r");
|
|
9099
|
+
try {
|
|
9100
|
+
const stat = fstatSync$1(fd);
|
|
9101
|
+
if (!stat.isFile() || stat.size < 16) throw new HostProfileError("desktop_app_invalid", "asar archive is too small");
|
|
9102
|
+
if (readSync(fd, header, 0, 16, 0) !== 16) throw new HostProfileError("desktop_app_invalid", "asar header is truncated");
|
|
9103
|
+
const magic = header.readUInt32LE(0);
|
|
9104
|
+
const headerSize = header.readUInt32LE(4);
|
|
9105
|
+
const innerPayloadSize = header.readUInt32LE(8);
|
|
9106
|
+
const jsonSize = header.readUInt32LE(12);
|
|
9107
|
+
if (magic !== 4 || headerSize < jsonSize + 8 || innerPayloadSize !== headerSize - 4 || jsonSize <= 0 || jsonSize > MAX_ASAR_HEADER_BYTES) throw new HostProfileError("desktop_app_invalid", "asar header is malformed");
|
|
9108
|
+
const json = Buffer.alloc(jsonSize);
|
|
9109
|
+
if (readSync(fd, json, 0, jsonSize, 16) !== jsonSize) throw new HostProfileError("desktop_app_invalid", "asar header is truncated");
|
|
9110
|
+
let root;
|
|
9111
|
+
try {
|
|
9112
|
+
root = JSON.parse(json.toString("utf8"));
|
|
9113
|
+
} catch {
|
|
9114
|
+
throw new HostProfileError("desktop_app_invalid", "asar header is not valid JSON");
|
|
9115
|
+
}
|
|
9116
|
+
if (!root || typeof root !== "object" || !root.files || typeof root.files !== "object") throw new HostProfileError("desktop_app_invalid", "asar header has no file index");
|
|
9117
|
+
let fileCount = 0;
|
|
9118
|
+
const count = (node, depth) => {
|
|
9119
|
+
if (depth > 64 || fileCount > 2e6) throw new HostProfileError("desktop_app_invalid", "asar index is too deep or too large");
|
|
9120
|
+
if (!node.files) {
|
|
9121
|
+
fileCount += 1;
|
|
9122
|
+
return;
|
|
9123
|
+
}
|
|
9124
|
+
for (const child of Object.values(node.files)) count(child, depth + 1);
|
|
9125
|
+
};
|
|
9126
|
+
count(root, 0);
|
|
9127
|
+
return {
|
|
9128
|
+
dataOffset: 8 + headerSize,
|
|
9129
|
+
root,
|
|
9130
|
+
headerSha256: createHash("sha256").update(json).digest("hex"),
|
|
9131
|
+
fileCount
|
|
9132
|
+
};
|
|
9133
|
+
} finally {
|
|
9134
|
+
closeSync$1(fd);
|
|
9135
|
+
}
|
|
9136
|
+
}
|
|
9137
|
+
function asarNode(index$1, pathParts) {
|
|
9138
|
+
let node = index$1.root;
|
|
9139
|
+
for (const part of pathParts) {
|
|
9140
|
+
if (!node.files || typeof node.files !== "object") return void 0;
|
|
9141
|
+
node = node.files[part];
|
|
9142
|
+
if (!node) return void 0;
|
|
9143
|
+
}
|
|
9144
|
+
return node;
|
|
9145
|
+
}
|
|
9146
|
+
/**
|
|
9147
|
+
* Read one file's exact bytes from the asar in place. Unpacked entries are
|
|
9148
|
+
* read from the sibling `app.asar.unpacked` tree, which is where the app
|
|
9149
|
+
* itself loads them; a path that escapes that tree fails closed.
|
|
9150
|
+
*/
|
|
9151
|
+
function readAsarFile(archivePath, index$1, entryPath) {
|
|
9152
|
+
const parts = entryPath.split("/");
|
|
9153
|
+
if (parts.some((part) => !part || part === "." || part === ".." || part.includes("\\"))) throw new HostProfileError("desktop_app_invalid", "asar entry path is not canonical");
|
|
9154
|
+
const node = asarNode(index$1, parts);
|
|
9155
|
+
if (!node || node.files) throw new HostProfileError("desktop_app_invalid", `asar entry is not a file: ${entryPath}`);
|
|
9156
|
+
if (!Number.isSafeInteger(node.size) || node.size < 0 || !node.unpacked && (typeof node.offset !== "string" || !/^(?:0|[1-9][0-9]*)$/.test(node.offset) || !Number.isSafeInteger(Number(node.offset)))) throw new HostProfileError("desktop_app_invalid", `asar entry has no bounded offset: ${entryPath}`);
|
|
9157
|
+
const size = node.size;
|
|
9158
|
+
if (size > MAX_ASAR_FILE_BYTES) throw new HostProfileError("desktop_app_invalid", `asar entry is too large: ${entryPath}`);
|
|
9159
|
+
const verify = (bytes$1) => {
|
|
9160
|
+
if (bytes$1.length !== size) throw new HostProfileError("desktop_app_invalid", "asar file size mismatch");
|
|
9161
|
+
if (isRecord(node.integrity) && (node.integrity.algorithm !== "SHA256" || node.integrity.hash !== createHash("sha256").update(bytes$1).digest("hex"))) throw new HostProfileError("desktop_app_invalid", "asar file integrity mismatch");
|
|
9162
|
+
return bytes$1;
|
|
9163
|
+
};
|
|
9164
|
+
if (node.unpacked) {
|
|
9165
|
+
const unpackedRoot = `${realpathSync$2(archivePath)}.unpacked`;
|
|
9166
|
+
const target = realpathSync$2(join(unpackedRoot, ...parts));
|
|
9167
|
+
if (!target.startsWith(`${unpackedRoot}${sep}`)) throw new HostProfileError("desktop_app_invalid", `unpacked entry escapes the app bundle: ${entryPath}`);
|
|
9168
|
+
const fd$1 = openSync$1(target, "r");
|
|
9169
|
+
try {
|
|
9170
|
+
if (fstatSync$1(fd$1).size !== size) throw new HostProfileError("desktop_app_invalid", "unpacked file size mismatch");
|
|
9171
|
+
const bytes$1 = Buffer.alloc(size);
|
|
9172
|
+
if (size && readSync(fd$1, bytes$1, 0, size, 0) !== size) throw new HostProfileError("desktop_app_invalid", "unpacked file truncated");
|
|
9173
|
+
return verify(bytes$1);
|
|
9174
|
+
} finally {
|
|
9175
|
+
closeSync$1(fd$1);
|
|
9176
|
+
}
|
|
9177
|
+
}
|
|
9178
|
+
const start = index$1.dataOffset + Number(node.offset);
|
|
9179
|
+
const buffer = Buffer.alloc(size);
|
|
9180
|
+
const fd = openSync$1(archivePath, "r");
|
|
9181
|
+
try {
|
|
9182
|
+
if (!Number.isSafeInteger(start) || start < index$1.dataOffset || start + size > fstatSync$1(fd).size) throw new HostProfileError("desktop_app_invalid", "asar file offset escapes the archive");
|
|
9183
|
+
if (size > 0 && readSync(fd, buffer, 0, size, start) !== size) throw new HostProfileError("desktop_app_invalid", `asar entry is truncated: ${entryPath}`);
|
|
9184
|
+
} finally {
|
|
9185
|
+
closeSync$1(fd);
|
|
9186
|
+
}
|
|
9187
|
+
return verify(buffer);
|
|
9188
|
+
}
|
|
9189
|
+
function isRecord(value) {
|
|
9190
|
+
return !!value && typeof value === "object" && !Array.isArray(value);
|
|
9191
|
+
}
|
|
9192
|
+
/**
|
|
9193
|
+
* Read the official Desktop runtime graph from the app bundle. `appAsarPath`
|
|
9194
|
+
* is the absolute path of `app.asar` (a file, not a directory). The runtime
|
|
9195
|
+
* identity binds: the asar header itself, the `@deepseek-ai/dsh-desktop-runtime`
|
|
9196
|
+
* manifest, the `desktop-runtime.json` metadata block, and the official CLI
|
|
9197
|
+
* carrier entry the app installs.
|
|
9198
|
+
*/
|
|
9199
|
+
function readDesktopAppRuntime(appAsarPath) {
|
|
9200
|
+
if (!isAbsolute(appAsarPath)) throw new HostProfileError("desktop_app_invalid", "the app archive path must be absolute");
|
|
9201
|
+
if (!existsSync$2(appAsarPath) || !lstatSync$2(appAsarPath).isFile()) throw new HostProfileError("desktop_app_missing", "the official app archive was not found");
|
|
9202
|
+
const asarRealpath = realpathSync$2(appAsarPath);
|
|
9203
|
+
const index$1 = readAsarIndex(asarRealpath);
|
|
9204
|
+
if (!asarNode(index$1, DESKTOP_CARRIER_ENTRY.split("/"))) throw new HostProfileError("desktop_app_invalid", "the official CLI carrier entry is missing from the app bundle");
|
|
9205
|
+
readAsarFile(asarRealpath, index$1, DESKTOP_CARRIER_ENTRY);
|
|
9206
|
+
const manifestBytes = readAsarFile(asarRealpath, index$1, DESKTOP_RUNTIME_MANIFEST_ENTRY);
|
|
9207
|
+
const metadataBytes = readAsarFile(asarRealpath, index$1, DESKTOP_RUNTIME_METADATA_ENTRY);
|
|
9208
|
+
const manifest = JSON.parse(manifestBytes.toString("utf8"));
|
|
9209
|
+
const metadata = JSON.parse(metadataBytes.toString("utf8"));
|
|
9210
|
+
if (manifest.name !== DESKTOP_RUNTIME_PACKAGE_NAME) throw new HostProfileError("desktop_app_invalid", "the app runtime manifest is not the official desktop runtime");
|
|
9211
|
+
const runtimeVersion = typeof manifest.version === "string" ? manifest.version : "";
|
|
9212
|
+
if (!parseHostVersion(runtimeVersion) || !satisfiesSupportedHostRange(runtimeVersion)) throw new HostProfileError("desktop_host_version_below_minimum", "the app runtime version is not an admitted host version");
|
|
9213
|
+
const dependencies = isRecord(manifest.dependencies) ? manifest.dependencies : void 0;
|
|
9214
|
+
if (!dependencies) throw new HostProfileError("desktop_app_invalid", "the app runtime manifest declares no dependencies");
|
|
9215
|
+
const dshVersion = dependencies["@deepseek-ai/dsh"];
|
|
9216
|
+
if (typeof dshVersion !== "string" || dshVersion !== runtimeVersion) throw new HostProfileError("desktop_app_invalid", "the app runtime does not pin the audited DSH version");
|
|
9217
|
+
const desktopVersion = isRecord(metadata.release) && typeof metadata.release.version === "string" ? metadata.release.version : "";
|
|
9218
|
+
const nodeVersion = isRecord(metadata.release) && typeof metadata.release.nodeVersion === "string" ? metadata.release.nodeVersion : "";
|
|
9219
|
+
const pnpmVersion = isRecord(metadata.release) && typeof metadata.release.pnpmVersion === "string" ? metadata.release.pnpmVersion : "";
|
|
9220
|
+
const fileTable = Array.isArray(metadata.files) ? metadata.files : [];
|
|
9221
|
+
if (!parseHostVersion(desktopVersion) || !satisfiesSupportedHostRange(desktopVersion) || typeof metadata.platform !== "string" || !metadata.platform || typeof metadata.arch !== "string" || !metadata.arch || !nodeVersion || !pnpmVersion || fileTable.length === 0 || fileTable.length > 2e5 || !fileTable.every((entry) => isRecord(entry) && typeof entry.path === "string" && !!entry.path && !entry.path.startsWith("/") && !entry.path.includes("\\") && !entry.path.includes("..") && /^[a-f0-9]{64}$/.test(String(entry.sha256)))) throw new HostProfileError("desktop_app_invalid", "the desktop runtime metadata block is incomplete");
|
|
9222
|
+
const { CRITICAL_NAME_SET } = criticalNames();
|
|
9223
|
+
const rows = [];
|
|
9224
|
+
for (const [name, version$1] of Object.entries(dependencies).sort(([a], [b]) => a.localeCompare(b))) {
|
|
9225
|
+
if (!CRITICAL_NAME_SET.has(name)) continue;
|
|
9226
|
+
if (typeof version$1 !== "string" || !parseHostVersion(version$1)) throw new HostProfileError("desktop_app_invalid", `the app pins an unparsable version for ${name}`);
|
|
9227
|
+
rows.push({
|
|
9228
|
+
name,
|
|
9229
|
+
version: version$1
|
|
9230
|
+
});
|
|
9231
|
+
}
|
|
9232
|
+
return {
|
|
9233
|
+
asarRealpath,
|
|
9234
|
+
headerSha256: index$1.headerSha256,
|
|
9235
|
+
manifestSha256: createHash("sha256").update(manifestBytes).digest("hex"),
|
|
9236
|
+
metadataSha256: createHash("sha256").update(metadataBytes).digest("hex"),
|
|
9237
|
+
hostVersion: dshVersion,
|
|
9238
|
+
runtimeVersion,
|
|
9239
|
+
metadata: {
|
|
9240
|
+
desktopVersion,
|
|
9241
|
+
platform: String(metadata.platform),
|
|
9242
|
+
arch: String(metadata.arch),
|
|
9243
|
+
node: nodeVersion,
|
|
9244
|
+
pnpm: pnpmVersion,
|
|
9245
|
+
fileTableEntries: fileTable.length
|
|
9246
|
+
},
|
|
9247
|
+
rows
|
|
9248
|
+
};
|
|
9249
|
+
}
|
|
9250
|
+
function criticalNames() {
|
|
9251
|
+
return { CRITICAL_NAME_SET: new Set(HOST_COHORTS.flatMap((cohort) => cohort.packages.map((row$3) => row$3.name))) };
|
|
9252
|
+
}
|
|
9253
|
+
function readJsonObjectFile(path$1, code) {
|
|
9254
|
+
try {
|
|
9255
|
+
const value = JSON.parse(readFileSync$2(path$1, "utf8"));
|
|
9256
|
+
if (isRecord(value)) return value;
|
|
9257
|
+
} catch {}
|
|
9258
|
+
throw new HostProfileError(code, `invalid JSON object: ${path$1}`);
|
|
9259
|
+
}
|
|
9260
|
+
/** Importer state selects the active audit; its presence grants no trust. */
|
|
9261
|
+
function hasDesktopImporterState(profileRoot) {
|
|
9262
|
+
return [
|
|
9263
|
+
"node_modules",
|
|
9264
|
+
".dsh-module-fallback",
|
|
9265
|
+
"pnpm-lock.yaml"
|
|
9266
|
+
].some((name) => {
|
|
9267
|
+
try {
|
|
9268
|
+
lstatSync$2(join(profileRoot, name));
|
|
9269
|
+
return true;
|
|
9270
|
+
} catch (error) {
|
|
9271
|
+
if (error.code === "ENOENT") return false;
|
|
9272
|
+
throw error;
|
|
9273
|
+
}
|
|
9274
|
+
});
|
|
9275
|
+
}
|
|
9276
|
+
/**
|
|
9277
|
+
* Pre-install inspection of a Desktop target: the profile must be the
|
|
9278
|
+
* Desktop-owned dependency-free profile, and the runtime half must come from
|
|
9279
|
+
* the official app bundle. Structural discovery grants no authority — the
|
|
9280
|
+
* caller must still qualify and byte-audit before any install decision.
|
|
9281
|
+
*/
|
|
9282
|
+
function readDesktopTargetGraph(appAsarPath, profileRoot) {
|
|
9283
|
+
const profile = resolve(profileRoot);
|
|
9284
|
+
const manifestPath = join(profile, "package.json");
|
|
9285
|
+
const manifest = readJsonObjectFile(manifestPath, "profile_manifest_invalid");
|
|
9286
|
+
if (manifest.name !== DESKTOP_PROFILE_PACKAGE_NAME) throw new HostProfileError("target_profile_not_desktop", "the profile is not the Desktop-owned dsh-profile-desktop");
|
|
9287
|
+
if (hasDesktopImporterState(profile)) throw new HostProfileError("target_profile_unmanaged_modules", "desktop profiles are managed by the app: importer state exists");
|
|
9288
|
+
const dependencies = isRecord(manifest.dependencies) ? manifest.dependencies : {};
|
|
9289
|
+
if (Object.keys(dependencies).length > 0) throw new HostProfileError("target_profile_dependency_uninstalled", "the desktop profile declares dependencies without an importer");
|
|
9290
|
+
const dsh = isRecord(manifest.dsh) ? manifest.dsh : void 0;
|
|
9291
|
+
const bundles = (isRecord(dsh?.profile) ? dsh.profile : void 0)?.bundles;
|
|
9292
|
+
if (!Array.isArray(bundles) || !bundles.includes("@deepseek-ai/dsh-base") || !bundles.includes("@deepseek-ai/dsh-web-app")) throw new HostProfileError("target_profile_bundles_unsupported", "not the official Desktop bundle tuple");
|
|
9293
|
+
if (bundles.includes("@deepseek-ai/dsh-headless") || bundles.includes("dshmarket")) throw new HostProfileError("desktop_profile_bundle_conflict", "the desktop profile carries a web/headless-only bundle");
|
|
9294
|
+
const runtime = readDesktopAppRuntime(appAsarPath);
|
|
9295
|
+
return {
|
|
9296
|
+
packages: runtime.rows,
|
|
9297
|
+
profileGraph: {
|
|
9298
|
+
state: "dependency_free_desktop",
|
|
9299
|
+
manifestSha256: createHash("sha256").update(readFileSync$2(manifestPath)).digest("hex"),
|
|
9300
|
+
bundles: bundles.map(String)
|
|
9301
|
+
},
|
|
9302
|
+
runtime
|
|
9303
|
+
};
|
|
9304
|
+
}
|
|
9305
|
+
/**
|
|
9306
|
+
* Verify the actually installed app bytes against the acquired qualification.
|
|
9307
|
+
* Each critical package's closed module inventory (every `.cm?js|json` file
|
|
9308
|
+
* under its asar root plus its manifest) is digested from the asar in place
|
|
9309
|
+
* and compared with the trust rows; any extra, missing, or changed file fails
|
|
9310
|
+
* closed. A critical package that also appears NESTED anywhere in the app
|
|
9311
|
+
* graph is an ambiguity no adapter resolves, so its presence fails closed
|
|
9312
|
+
* before any digest is computed.
|
|
9313
|
+
*/
|
|
9314
|
+
function auditDesktopInstalledImplementation(appAsarPath, expectations) {
|
|
9315
|
+
try {
|
|
9316
|
+
const realArchive = realpathSync$2(appAsarPath);
|
|
9317
|
+
const index$1 = readAsarIndex(realArchive);
|
|
9318
|
+
const { CRITICAL_NAME_SET } = criticalNames();
|
|
9319
|
+
const topLevelRoot = DESKTOP_GRAPH_ROOT.split("/");
|
|
9320
|
+
const scan = (node, parts, depth) => {
|
|
9321
|
+
if (depth > 64) throw new HostProfileError("desktop_app_invalid", "asar index is too deep");
|
|
9322
|
+
if (node.files) {
|
|
9323
|
+
for (const [name, child] of Object.entries(node.files)) scan(child, [...parts, name], depth + 1);
|
|
9324
|
+
return;
|
|
9325
|
+
}
|
|
9326
|
+
const relative$1 = parts.join("/");
|
|
9327
|
+
if (!relative$1.endsWith("/package.json")) return;
|
|
9328
|
+
for (const critical of CRITICAL_NAME_SET) {
|
|
9329
|
+
if (relative$1 === `${DESKTOP_GRAPH_ROOT}/${critical}/package.json`) continue;
|
|
9330
|
+
if (relative$1.endsWith(`/node_modules/${critical}/package.json`)) throw new HostProfileError("desktop_graph_ambiguous", `critical package ${critical} is nested inside the app graph`);
|
|
9331
|
+
}
|
|
9332
|
+
};
|
|
9333
|
+
scan(index$1.root, [], 0);
|
|
9334
|
+
const fileTable = /* @__PURE__ */ new Map();
|
|
9335
|
+
const metadataBytes = readAsarFile(realArchive, index$1, DESKTOP_RUNTIME_METADATA_ENTRY);
|
|
9336
|
+
const metadata = JSON.parse(metadataBytes.toString("utf8"));
|
|
9337
|
+
if (Array.isArray(metadata.files)) {
|
|
9338
|
+
for (const entry of metadata.files) if (entry && typeof entry === "object" && typeof entry.path === "string" && /^[a-f0-9]{64}$/.test(String(entry.sha256))) fileTable.set(`dsh/${entry.path}`, String(entry.sha256));
|
|
9339
|
+
}
|
|
9340
|
+
for (const expected of expectations) {
|
|
9341
|
+
const parts = [...topLevelRoot, ...expected.name.split("/")];
|
|
9342
|
+
const node = asarNode(index$1, parts);
|
|
9343
|
+
if (!node || !node.files) return false;
|
|
9344
|
+
const manifestBytes = readAsarFile(realArchive, index$1, [...parts, "package.json"].join("/"));
|
|
9345
|
+
const manifest = JSON.parse(manifestBytes.toString("utf8"));
|
|
9346
|
+
if (manifest.name !== expected.name || manifest.version !== expected.version) return false;
|
|
9347
|
+
const inventory = [];
|
|
9348
|
+
const walk = (current, prefix, depth) => {
|
|
9349
|
+
if (depth > 32 || inventory.length > 1e4) throw new HostProfileError("desktop_app_invalid", "package inventory is too deep or too large");
|
|
9350
|
+
if (current.files) {
|
|
9351
|
+
for (const [name, child] of Object.entries(current.files)) {
|
|
9352
|
+
if (name === "node_modules") continue;
|
|
9353
|
+
walk(child, [...prefix, name], depth + 1);
|
|
9354
|
+
}
|
|
9355
|
+
return;
|
|
9356
|
+
}
|
|
9357
|
+
const file = prefix.join("/");
|
|
9358
|
+
if (/\.(?:[cm]?js|json)$/.test(file)) inventory.push(file);
|
|
9359
|
+
};
|
|
9360
|
+
walk(node, [], 0);
|
|
9361
|
+
const registryFiles = Object.keys(expected.modules ?? {});
|
|
9362
|
+
if (inventory.some((file) => !registryFiles.includes(file))) return false;
|
|
9363
|
+
for (const file of inventory) {
|
|
9364
|
+
const tableEntry = fileTable.get(`${DESKTOP_GRAPH_ROOT}/${expected.name}/${file}`);
|
|
9365
|
+
if (tableEntry === void 0) return false;
|
|
9366
|
+
if (tableEntry !== createHash("sha256").update(readAsarFile(realArchive, index$1, [...parts, ...file.split("/")].join("/"))).digest("hex")) return false;
|
|
9367
|
+
}
|
|
9368
|
+
for (const file of Object.keys(expected.modules ?? {})) {
|
|
9369
|
+
const actual = createHash("sha256").update(readAsarFile(realArchive, index$1, [...parts, ...file.split("/")].join("/"))).digest("hex");
|
|
9370
|
+
if (expected.modules[file] === actual) continue;
|
|
9371
|
+
if (file === "package.json") continue;
|
|
9372
|
+
return false;
|
|
9373
|
+
}
|
|
9374
|
+
}
|
|
9375
|
+
return true;
|
|
9376
|
+
} catch (error) {
|
|
9377
|
+
if (error instanceof HostProfileError && error.code === "desktop_graph_ambiguous") throw error;
|
|
9378
|
+
return false;
|
|
9379
|
+
}
|
|
9380
|
+
}
|
|
9381
|
+
/** Persist the app-bundle identity next to the profile contract receipts so a
|
|
9382
|
+
* native annex can bind its readback to the exact inspected bundle. */
|
|
9383
|
+
function writeDesktopRuntimeReceipt(profileRoot, runtime) {
|
|
9384
|
+
const receipt = {
|
|
9385
|
+
schema: "dsh-desktop-runtime-readback/v1",
|
|
9386
|
+
asarRealpath: runtime.asarRealpath,
|
|
9387
|
+
headerSha256: runtime.headerSha256,
|
|
9388
|
+
manifestSha256: runtime.manifestSha256,
|
|
9389
|
+
metadataSha256: runtime.metadataSha256,
|
|
9390
|
+
hostVersion: runtime.hostVersion,
|
|
9391
|
+
runtimeVersion: runtime.runtimeVersion,
|
|
9392
|
+
metadata: runtime.metadata,
|
|
9393
|
+
rows: runtime.rows
|
|
9394
|
+
};
|
|
9395
|
+
const directory = join(realpathSync$2(profileRoot), ".dsh-completion-guard");
|
|
9396
|
+
for (const dir of [directory, join(directory, "desktop")]) {
|
|
9397
|
+
try {
|
|
9398
|
+
mkdirSync$1(dir, { mode: 448 });
|
|
9399
|
+
} catch (error) {
|
|
9400
|
+
if (error.code !== "EEXIST") throw error;
|
|
9401
|
+
}
|
|
9402
|
+
if (!lstatSync$2(dir).isDirectory() || lstatSync$2(dir).isSymbolicLink() || realpathSync$2(dir) !== dir) throw new HostProfileError("desktop_receipt_path_invalid", "desktop receipt directory is not a contained physical directory");
|
|
9403
|
+
}
|
|
9404
|
+
const path$1 = join(directory, "desktop", `${runtime.manifestSha256}.json`);
|
|
9405
|
+
if (!existsSync$2(path$1)) writeFileSync$2(path$1, JSON.stringify(receipt, null, 2) + "\n", {
|
|
9406
|
+
encoding: "utf8",
|
|
9407
|
+
flag: "wx",
|
|
9408
|
+
mode: 384
|
|
9409
|
+
});
|
|
9410
|
+
return path$1;
|
|
9411
|
+
}
|
|
9412
|
+
const DESKTOP_IDENTITY_FACTS = {
|
|
9413
|
+
profilePackageName: DESKTOP_PROFILE_PACKAGE_NAME,
|
|
9414
|
+
runtimePackageName: DESKTOP_RUNTIME_PACKAGE_NAME,
|
|
9415
|
+
carrierEntry: DESKTOP_CARRIER_ENTRY
|
|
9416
|
+
};
|
|
9417
|
+
/**
|
|
9418
|
+
* Resolve one dependency's exact installed identity from the official app
|
|
9419
|
+
* graph by its top-level manifest. Used by the host-contract probe's
|
|
9420
|
+
* dependency acquisition; a name with no top-level manifest is unbound (the
|
|
9421
|
+
* installed-byte audit separately refuses nested critical duplicates, so a
|
|
9422
|
+
* nested-only dependency can never be silently resolved here).
|
|
9423
|
+
*/
|
|
9424
|
+
function readDesktopDependency(appAsarPath, name) {
|
|
9425
|
+
const realArchive = realpathSync$2(appAsarPath);
|
|
9426
|
+
const index$1 = readAsarIndex(realArchive);
|
|
9427
|
+
const manifestPath = `${DESKTOP_GRAPH_ROOT}/${name}/package.json`;
|
|
9428
|
+
if (!asarNode(index$1, manifestPath.split("/"))) throw new HostProfileError("host_contract_probe_dependency_unbound", `dependency ${name} has no top-level manifest in the app graph`);
|
|
9429
|
+
const bytes$1 = readAsarFile(realArchive, index$1, manifestPath);
|
|
9430
|
+
const manifest = JSON.parse(bytes$1.toString("utf8"));
|
|
9431
|
+
if (manifest.name !== name || typeof manifest.version !== "string" || !parseHostVersion(manifest.version)) throw new HostProfileError("host_contract_probe_dependency_unbound", `dependency ${name} has an invalid manifest identity`);
|
|
9432
|
+
return {
|
|
9433
|
+
name,
|
|
9434
|
+
version: manifest.version
|
|
9435
|
+
};
|
|
9436
|
+
}
|
|
9437
|
+
|
|
9438
|
+
//#endregion
|
|
9439
|
+
//#region src/domain/host-desktop-graph.ts
|
|
9440
|
+
const packageNamePattern = /^(?:@[a-zA-Z0-9_-]+\/)?[a-zA-Z0-9_-][a-zA-Z0-9._-]*$/;
|
|
9441
|
+
/** Canonical record ID, before resolving any filesystem path. */
|
|
9442
|
+
function desktopInstallationLocation(value, name, platform = process.platform) {
|
|
9443
|
+
if (typeof value !== "string") throw Error("Desktop installation location invalid");
|
|
9444
|
+
const path$1 = platform === "win32" ? value.replaceAll("\\", "/") : value;
|
|
9445
|
+
if (!path$1.startsWith("node_modules/")) throw Error("Desktop installation location invalid");
|
|
9446
|
+
const id = path$1.slice(13), parts = id.split("/node_modules/");
|
|
9447
|
+
if (!parts.every((part) => packageNamePattern.test(part)) || parts.at(-1) !== name) throw Error("Desktop installation location invalid");
|
|
9448
|
+
return id;
|
|
9449
|
+
}
|
|
9450
|
+
/** Desktop's bundled pnpm 11.7 emits a physical hoisted tree and JSON
|
|
9451
|
+
* .modules.yaml, without a package map. Read that actual installation index;
|
|
9452
|
+
* never write a substitute map or infer registry trust from local metadata.
|
|
9453
|
+
* The ordinary byte/route auditor still authenticates every selected peer.
|
|
9454
|
+
*/
|
|
9455
|
+
function desktopHoistedProfileGraph(profile, session) {
|
|
9456
|
+
const modules = session.realpath(join(profile, "node_modules"));
|
|
9457
|
+
if (!modules.startsWith(session.realpath(profile) + sep)) throw Error("Desktop profile modules escape");
|
|
9458
|
+
const metadataPath = join(modules, ".modules.yaml");
|
|
9459
|
+
if (session.realpath(metadataPath) !== metadataPath) throw Error("Desktop installation index is linked");
|
|
9460
|
+
const bytes$1 = session.readFile(metadataPath);
|
|
9461
|
+
if (bytes$1.length > 2 * 1024 * 1024) throw Error("Desktop installation index too large");
|
|
9462
|
+
const metadata = JSON.parse(bytes$1.toString("utf8"));
|
|
9463
|
+
if (metadata.nodeLinker !== "hoisted" || metadata.layoutVersion !== 5 || metadata.packageManager !== "pnpm@11.7.0" || !metadata.hoistedLocations || typeof metadata.hoistedLocations !== "object" || Array.isArray(metadata.hoistedLocations)) throw Error("Desktop installation index unsupported");
|
|
9464
|
+
const names = packageNamePattern;
|
|
9465
|
+
const records = Object.create(null);
|
|
9466
|
+
records["."] = {
|
|
9467
|
+
url: "..",
|
|
9468
|
+
dependencies: Object.create(null)
|
|
9469
|
+
};
|
|
9470
|
+
const rootIndex = records["."].dependencies;
|
|
9471
|
+
const locations = /* @__PURE__ */ new Set(), roots = /* @__PURE__ */ new Set();
|
|
9472
|
+
for (const [reference, paths] of Object.entries(metadata.hoistedLocations)) {
|
|
9473
|
+
const boundary = reference.indexOf("@", reference.startsWith("@") ? 1 : 0);
|
|
9474
|
+
const name = reference.slice(0, boundary), version$1 = reference.slice(boundary + 1);
|
|
9475
|
+
if (boundary < 1 || !names.test(name) || !version$1 || !Array.isArray(paths) || !paths.length) throw Error("Desktop installation reference invalid");
|
|
9476
|
+
for (const path$1 of paths) {
|
|
9477
|
+
const id = desktopInstallationLocation(path$1, name), parts = id.split("/node_modules/");
|
|
9478
|
+
if (locations.has(id)) throw Error("Desktop installation location invalid");
|
|
9479
|
+
const configured = resolve(modules, id), root = session.realpath(configured);
|
|
9480
|
+
if (root !== configured || !root.startsWith(modules + sep) || roots.has(root)) throw Error("Desktop installation location escaped or linked");
|
|
9481
|
+
const manifest = session.readJson(join(root, "package.json"));
|
|
9482
|
+
if (manifest.name !== name || typeof manifest.version !== "string" || !version$1.startsWith("file:") && manifest.version !== version$1.split("(", 1)[0]) throw Error("Desktop installation identity mismatch");
|
|
9483
|
+
roots.add(root);
|
|
9484
|
+
locations.add(id);
|
|
9485
|
+
records[id] = {
|
|
9486
|
+
url: "./" + id,
|
|
9487
|
+
dependencies: { [name]: id }
|
|
9488
|
+
};
|
|
9489
|
+
if (parts.length === 1) rootIndex[name] = id;
|
|
9490
|
+
if (locations.size > 2e4) throw Error("Desktop installation index too large");
|
|
9491
|
+
}
|
|
9492
|
+
}
|
|
9493
|
+
const actual = /* @__PURE__ */ new Set();
|
|
9494
|
+
const walk = (directory, prefix, depth) => {
|
|
9495
|
+
if (depth > 32 || !session.listDir) throw Error("Desktop installation inventory unavailable");
|
|
9496
|
+
for (const item of session.listDir(directory)) {
|
|
9497
|
+
if (item.name.startsWith(".")) continue;
|
|
9498
|
+
if (!item.isDirectory) throw Error("Desktop physical package expected");
|
|
9499
|
+
if (item.name.startsWith("@")) for (const scoped of session.listDir(join(directory, item.name))) {
|
|
9500
|
+
const name = item.name + "/" + scoped.name;
|
|
9501
|
+
if (!scoped.isDirectory || !names.test(name)) throw Error("Desktop scoped package invalid");
|
|
9502
|
+
visit(name);
|
|
9503
|
+
}
|
|
9504
|
+
else {
|
|
9505
|
+
if (!names.test(item.name)) throw Error("Desktop physical package invalid");
|
|
9506
|
+
visit(item.name);
|
|
9507
|
+
}
|
|
9508
|
+
}
|
|
9509
|
+
function visit(name) {
|
|
9510
|
+
const id = prefix + name, root = join(directory, name);
|
|
9511
|
+
actual.add(id);
|
|
9512
|
+
if (actual.size > 2e4) throw Error("Desktop installation inventory too large");
|
|
9513
|
+
const nested = join(root, "node_modules");
|
|
9514
|
+
if (session.exists(nested)) walk(nested, id + "/node_modules/", depth + 1);
|
|
9515
|
+
}
|
|
9516
|
+
};
|
|
9517
|
+
walk(modules, "", 0);
|
|
9518
|
+
if (actual.size !== locations.size || [...actual].some((id) => !locations.has(id))) throw Error("Desktop installation index differs from disk");
|
|
9519
|
+
return {
|
|
9520
|
+
modules,
|
|
9521
|
+
records,
|
|
9522
|
+
reachable: new Set(Object.keys(records)),
|
|
9523
|
+
packages: /* @__PURE__ */ new Map()
|
|
9524
|
+
};
|
|
9525
|
+
}
|
|
9526
|
+
/** Present real ASAR entries to the existing fresh dual-lane route auditor.
|
|
9527
|
+
* This is an in-memory graph of the archive's actual namespace/manifests;
|
|
9528
|
+
* it never creates or asserts a pnpm package map for the app. */
|
|
9529
|
+
function desktopDependencyGraph(archive, expectations, base = createHostAuditSession()) {
|
|
9530
|
+
const index$1 = readAsarIndex(archive);
|
|
9531
|
+
const prefix = archive + sep;
|
|
9532
|
+
const entry = (path$1) => path$1.startsWith(prefix) ? lookup(path$1.slice(prefix.length).split(sep)) : void 0;
|
|
9533
|
+
function lookup(parts) {
|
|
9534
|
+
let node = index$1.root;
|
|
9535
|
+
for (const part of parts) {
|
|
9536
|
+
if (!node?.files || !part || part === "." || part === "..") return void 0;
|
|
9537
|
+
node = node.files[part];
|
|
9538
|
+
}
|
|
9539
|
+
return node;
|
|
9540
|
+
}
|
|
9541
|
+
const session = {
|
|
9542
|
+
...base,
|
|
9543
|
+
exists: (path$1) => path$1.startsWith(prefix) ? entry(path$1) !== void 0 : base.exists(path$1),
|
|
9544
|
+
realpath: (path$1) => {
|
|
9545
|
+
if (!path$1.startsWith(prefix)) return base.realpath(path$1);
|
|
9546
|
+
if (!entry(path$1)) throw new Error("desktop route entry missing");
|
|
9547
|
+
return path$1;
|
|
9548
|
+
},
|
|
9549
|
+
stat: (path$1) => {
|
|
9550
|
+
if (!path$1.startsWith(prefix)) return base.stat(path$1);
|
|
9551
|
+
const node = entry(path$1);
|
|
9552
|
+
if (!node) throw new Error("desktop route entry missing");
|
|
9553
|
+
return {
|
|
9554
|
+
isFile: () => !node.files,
|
|
9555
|
+
isDirectory: () => !!node.files
|
|
9556
|
+
};
|
|
9557
|
+
},
|
|
9558
|
+
readFile: (path$1) => path$1.startsWith(prefix) ? base.memo("asar-bytes:" + path$1, () => readAsarFile(archive, index$1, path$1.slice(prefix.length).split(sep).join("/"))) : base.readFile(path$1),
|
|
9559
|
+
readJson: (path$1) => path$1.startsWith(prefix) ? base.memo("asar-json:" + path$1, () => JSON.parse(session.readFile(path$1).toString("utf8"))) : base.readJson(path$1),
|
|
9560
|
+
fileDigest: (path$1) => path$1.startsWith(prefix) ? base.memo("asar-digest:" + path$1, () => createHash("sha256").update(session.readFile(path$1)).digest("hex")) : base.fileDigest(path$1),
|
|
9561
|
+
resolvePaths: (importer, name) => base.memo(`desktop-paths:${importer}\0${name}`, () => createRequire(importer).resolve.paths(name) ?? [])
|
|
9562
|
+
};
|
|
9563
|
+
const modules = join(archive, "dsh", "node_modules");
|
|
9564
|
+
const names = new Set(expectations.map((row$3) => row$3.name));
|
|
9565
|
+
const records = { ".": {
|
|
9566
|
+
url: "..",
|
|
9567
|
+
dependencies: Object.fromEntries([...names].map((name) => [name, name]))
|
|
9568
|
+
} };
|
|
9569
|
+
const packages$2 = /* @__PURE__ */ new Map();
|
|
9570
|
+
for (const expected of expectations) {
|
|
9571
|
+
const root = join(modules, expected.name);
|
|
9572
|
+
const manifest = session.readJson(join(root, "package.json"));
|
|
9573
|
+
const declared = {
|
|
9574
|
+
...manifest.dependencies,
|
|
9575
|
+
...manifest.peerDependencies,
|
|
9576
|
+
...manifest.optionalDependencies
|
|
9577
|
+
};
|
|
9578
|
+
records[expected.name] = {
|
|
9579
|
+
url: "./" + expected.name,
|
|
9580
|
+
dependencies: Object.fromEntries([...new Set([expected.name, ...Object.keys(declared).filter((name) => names.has(name))])].map((name) => [name, name]))
|
|
9581
|
+
};
|
|
9582
|
+
packages$2.set(expected.name, {
|
|
9583
|
+
root,
|
|
9584
|
+
manifest,
|
|
9585
|
+
files: Object.keys(expected.modules ?? {})
|
|
9586
|
+
});
|
|
9587
|
+
}
|
|
9588
|
+
return {
|
|
9589
|
+
session,
|
|
9590
|
+
graph: {
|
|
9591
|
+
modules,
|
|
9592
|
+
records,
|
|
9593
|
+
reachable: new Set(Object.keys(records)),
|
|
9594
|
+
packages: packages$2
|
|
9595
|
+
}
|
|
9596
|
+
};
|
|
9597
|
+
}
|
|
9598
|
+
|
|
8918
9599
|
//#endregion
|
|
8919
9600
|
//#region src/domain/host-resolver.ts
|
|
9601
|
+
const { existsSync: existsSync$1, lstatSync: lstatSync$1, readFileSync: readFileSync$1, realpathSync: realpathSync$1, renameSync, statSync: statSync$1, writeFileSync: writeFileSync$1 } = physicalFs;
|
|
8920
9602
|
/**
|
|
8921
9603
|
* Names registered in any cohort; rows outside the union are unknown.
|
|
8922
9604
|
*
|
|
@@ -8939,7 +9621,7 @@ function findUp(start, filename) {
|
|
|
8939
9621
|
let directory = start;
|
|
8940
9622
|
while (true) {
|
|
8941
9623
|
const candidate = join(directory, filename);
|
|
8942
|
-
if (existsSync(candidate)) return candidate;
|
|
9624
|
+
if (existsSync$1(candidate)) return candidate;
|
|
8943
9625
|
const parent = dirname(directory);
|
|
8944
9626
|
if (parent === directory) return void 0;
|
|
8945
9627
|
directory = parent;
|
|
@@ -9007,7 +9689,7 @@ function resolveInstalledHostLock(moduleUrl = import.meta.url) {
|
|
|
9007
9689
|
const lockPath = findUp(dirname(fileURLToPath(moduleUrl)), "pnpm-lock.yaml");
|
|
9008
9690
|
if (!lockPath) return combineHostPolicy(evaluateHostLock([]));
|
|
9009
9691
|
try {
|
|
9010
|
-
return combineHostPolicy(evaluateHostLock(packageRowsFromPnpmLock(readFileSync(lockPath, "utf8"))));
|
|
9692
|
+
return combineHostPolicy(evaluateHostLock(packageRowsFromPnpmLock(readFileSync$1(lockPath, "utf8"))));
|
|
9011
9693
|
} catch {
|
|
9012
9694
|
return combineHostPolicy(evaluateHostLock([]));
|
|
9013
9695
|
}
|
|
@@ -9020,9 +9702,9 @@ function activeGraphRecords(packageMapText) {
|
|
|
9020
9702
|
throw new HostProfileError("active_graph_invalid", "invalid package map");
|
|
9021
9703
|
}
|
|
9022
9704
|
if (!document || typeof document !== "object") throw new HostProfileError("active_graph_invalid", "invalid reachable package map");
|
|
9023
|
-
const packages$
|
|
9024
|
-
if (!packages$
|
|
9025
|
-
const records = packages$
|
|
9705
|
+
const packages$2 = document.packages;
|
|
9706
|
+
if (!packages$2 || typeof packages$2 !== "object" || Array.isArray(packages$2)) throw new HostProfileError("active_graph_invalid", "invalid reachable package map");
|
|
9707
|
+
const records = packages$2;
|
|
9026
9708
|
if (!records["."] || Object.keys(records).length > 2e4) throw new HostProfileError("active_graph_invalid", "invalid reachable package map");
|
|
9027
9709
|
const reachable = /* @__PURE__ */ new Set();
|
|
9028
9710
|
const queue = ["."];
|
|
@@ -9160,21 +9842,21 @@ async function prepareActiveHostTrust(runtime, profile, fetcher = fetch) {
|
|
|
9160
9842
|
function probeDependencyIdentity(runtime, profile, name, importer) {
|
|
9161
9843
|
for (const owner of [runtime, profile]) {
|
|
9162
9844
|
const modules = join(owner, "node_modules"), mapPath = join(modules, ".package-map.json");
|
|
9163
|
-
if (!existsSync(mapPath)) continue;
|
|
9164
|
-
const { records, reachable } = activeGraphRecords(readFileSync(mapPath, "utf8"));
|
|
9845
|
+
if (!existsSync$1(mapPath)) continue;
|
|
9846
|
+
const { records, reachable } = activeGraphRecords(readFileSync$1(mapPath, "utf8"));
|
|
9165
9847
|
const id = [...reachable].find((key) => key === importer || key.startsWith(importer + "@"));
|
|
9166
9848
|
if (!id || typeof records[id]?.url !== "string") continue;
|
|
9167
|
-
const packageRoot = packageFromAnchor(join(realpathSync(resolve(modules, records[id].url)), "package.json"), name);
|
|
9849
|
+
const packageRoot = packageFromAnchor(join(realpathSync$1(resolve(modules, records[id].url)), "package.json"), name);
|
|
9168
9850
|
if (!packageRoot) continue;
|
|
9169
9851
|
for (const graphRoot of [runtime, profile]) {
|
|
9170
|
-
if (!existsSync(join(graphRoot, "node_modules"))) continue;
|
|
9171
|
-
const graphModules = realpathSync(join(graphRoot, "node_modules"));
|
|
9172
|
-
const graph = activeGraphRecords(readFileSync(join(graphModules, ".package-map.json"), "utf8"));
|
|
9852
|
+
if (!existsSync$1(join(graphRoot, "node_modules"))) continue;
|
|
9853
|
+
const graphModules = realpathSync$1(join(graphRoot, "node_modules"));
|
|
9854
|
+
const graph = activeGraphRecords(readFileSync$1(join(graphModules, ".package-map.json"), "utf8"));
|
|
9173
9855
|
const ids = [...graph.reachable].filter((key) => key === name || key.startsWith(name + "@"));
|
|
9174
|
-
if (ids.length !== 1 || typeof graph.records[ids[0]]?.url !== "string" || realpathSync(resolve(graphModules, graph.records[ids[0]].url)) !== packageRoot) continue;
|
|
9856
|
+
if (ids.length !== 1 || typeof graph.records[ids[0]]?.url !== "string" || realpathSync$1(resolve(graphModules, graph.records[ids[0]].url)) !== packageRoot) continue;
|
|
9175
9857
|
if (!within(graphModules, packageRoot)) continue;
|
|
9176
9858
|
const manifest = readJsonObject(join(packageRoot, "package.json"), "host_contract_probe_dependency_unbound");
|
|
9177
|
-
const matches = packageRowsFromPnpmLock(readFileSync(join(graphRoot, "pnpm-lock.yaml"), "utf8"), [name]).filter((row$3) => row$3.version === manifest.version && row$3.integrity);
|
|
9859
|
+
const matches = packageRowsFromPnpmLock(readFileSync$1(join(graphRoot, "pnpm-lock.yaml"), "utf8"), [name]).filter((row$3) => row$3.version === manifest.version && row$3.integrity);
|
|
9178
9860
|
if (manifest.name === name && matches.length === 1) return matches[0];
|
|
9179
9861
|
}
|
|
9180
9862
|
}
|
|
@@ -9183,21 +9865,23 @@ function probeDependencyIdentity(runtime, profile, name, importer) {
|
|
|
9183
9865
|
/** Byte and dual-lane route audit over both graphs. Expectations are either
|
|
9184
9866
|
* the published baseline or operator-owned, registry-acquired qualified module
|
|
9185
9867
|
* digests. A missing digest set never authenticates unknown implementation. */
|
|
9186
|
-
function auditedHostImplementation(runtimeRoot, profileRoot, providedSession, expectations) {
|
|
9868
|
+
function auditedHostImplementation(runtimeRoot, profileRoot, providedSession, expectations, installationGraph, profileInstallationGraph) {
|
|
9187
9869
|
const session = providedSession ?? createHostAuditSession();
|
|
9188
9870
|
try {
|
|
9189
|
-
const expectedPackages = expectations ?? packages;
|
|
9190
|
-
const seen =
|
|
9191
|
-
const graphs = [];
|
|
9871
|
+
const expectedPackages = expectations ?? packages$1;
|
|
9872
|
+
const seen = new Set(installationGraph?.packages.keys());
|
|
9873
|
+
const graphs = installationGraph ? [installationGraph] : [];
|
|
9192
9874
|
for (const rootPath of new Set([runtimeRoot, profileRoot])) {
|
|
9875
|
+
if (installationGraph && rootPath === runtimeRoot) continue;
|
|
9193
9876
|
const modulesPath = join(rootPath, "node_modules");
|
|
9194
|
-
|
|
9877
|
+
const supplied = rootPath === profileRoot ? profileInstallationGraph : void 0;
|
|
9878
|
+
if (!supplied && !session.exists(join(modulesPath, ".package-map.json"))) {
|
|
9195
9879
|
if (rootPath === runtimeRoot) return false;
|
|
9196
9880
|
continue;
|
|
9197
9881
|
}
|
|
9198
|
-
const modules = session.realpath(modulesPath);
|
|
9882
|
+
const modules = supplied?.modules ?? session.realpath(modulesPath);
|
|
9199
9883
|
const mapPath = join(modules, ".package-map.json");
|
|
9200
|
-
const { records, reachable } = session.memo(`graph:${mapPath}`, () => activeGraphRecords(session.readFile(mapPath).toString("utf8")));
|
|
9884
|
+
const { records, reachable } = supplied ?? session.memo(`graph:${mapPath}`, () => activeGraphRecords(session.readFile(mapPath).toString("utf8")));
|
|
9201
9885
|
const graph = {
|
|
9202
9886
|
modules,
|
|
9203
9887
|
records,
|
|
@@ -9281,8 +9965,8 @@ function walkLibFiles(session, root) {
|
|
|
9281
9965
|
return found;
|
|
9282
9966
|
}
|
|
9283
9967
|
const AUDITED_FOREGROUND_BYTES = {
|
|
9284
|
-
"@deepseek-ai/dsh-tool-bash": "
|
|
9285
|
-
"@deepseek-ai/dsh-tool-pwsh": "
|
|
9968
|
+
"@deepseek-ai/dsh-tool-bash": "0c63a09e4b80ec22db256eac4ecab6f7de3a342e16ec590348a40c5f356eff1a",
|
|
9969
|
+
"@deepseek-ai/dsh-tool-pwsh": "1a49cd8de831423a4ae0a2c57a4674a64cec538f64ae603aaa2c388d78aec790",
|
|
9286
9970
|
"@deepseek-ai/dsh-shell": "6c5aa32fda2d92ef827d949480fd32cb4867f811ce06e875e70c59ab2c9261b1"
|
|
9287
9971
|
};
|
|
9288
9972
|
const AUDITED_DEFAULT_WORKDIR_BYTES = {
|
|
@@ -9292,6 +9976,7 @@ const AUDITED_DEFAULT_WORKDIR_BYTES = {
|
|
|
9292
9976
|
"@deepseek-ai/dsh-bash-local": "6d9b4426b8455198b79de398f57c0f5693e7292411059b66d5ac5eba608b59cb",
|
|
9293
9977
|
"@deepseek-ai/dsh-pwsh-local": "8b7b57eb7f6c597caa5ee72e4dfd88cec7b5ac51e450ed3521b6b6b29306b88e"
|
|
9294
9978
|
};
|
|
9979
|
+
const AUDITED_HOST_VERSION_REGEX = hostVersion.replaceAll(".", "\\.");
|
|
9295
9980
|
function activeRendererModule(nodeModulesRoot, name, providedSession) {
|
|
9296
9981
|
const session = providedSession ?? createHostAuditSession();
|
|
9297
9982
|
const modules = session.realpath(nodeModulesRoot);
|
|
@@ -9300,7 +9985,7 @@ function activeRendererModule(nodeModulesRoot, name, providedSession) {
|
|
|
9300
9985
|
const ids = session.memo(`renderer-ids:${modules}\u0000${name}`, () => [...reachable].filter((id$1) => id$1 === name || id$1.startsWith(`${name}@`)));
|
|
9301
9986
|
if (ids.length !== 1) return void 0;
|
|
9302
9987
|
const id = ids[0];
|
|
9303
|
-
const version$1 = AUDITED_DEFAULT_WORKDIR_BYTES[name] || AUDITED_FOREGROUND_BYTES[name] ?
|
|
9988
|
+
const version$1 = AUDITED_DEFAULT_WORKDIR_BYTES[name] || AUDITED_FOREGROUND_BYTES[name] ? AUDITED_HOST_VERSION_REGEX : void 0;
|
|
9304
9989
|
if (!version$1 || id !== name && !(/* @__PURE__ */ new RegExp(`^${name.replace("/", "\\/")}@${version$1}(?:\\(|$)`)).test(id)) return void 0;
|
|
9305
9990
|
const url = records[id]?.url;
|
|
9306
9991
|
if (typeof url !== "string" || url !== `./${name}` && !url.startsWith("./.pnpm/")) return void 0;
|
|
@@ -9320,6 +10005,20 @@ function activeRendererModule(nodeModulesRoot, name, providedSession) {
|
|
|
9320
10005
|
function activeRendererBytes(nodeModulesRoot, name, session) {
|
|
9321
10006
|
return activeRendererModule(nodeModulesRoot, name, session)?.bytes;
|
|
9322
10007
|
}
|
|
10008
|
+
function selectedRuntimeRenderer(runtimeRoot, name, session) {
|
|
10009
|
+
if (!session.stat(runtimeRoot).isFile()) return activeRendererModule(join(runtimeRoot, "node_modules"), name, session);
|
|
10010
|
+
const index$1 = session.memo(`desktop-index:${runtimeRoot}`, () => readAsarIndex(runtimeRoot));
|
|
10011
|
+
const entry = `dsh/node_modules/${name}/lib/index.js`;
|
|
10012
|
+
try {
|
|
10013
|
+
const bytes$1 = session.memo(`desktop-renderer:${runtimeRoot}\0${name}`, () => readAsarFile(runtimeRoot, index$1, entry));
|
|
10014
|
+
return {
|
|
10015
|
+
bytes: createHash("sha256").update(bytes$1).digest("hex"),
|
|
10016
|
+
path: join(runtimeRoot, "dsh", "node_modules", name, "lib", "index.js")
|
|
10017
|
+
};
|
|
10018
|
+
} catch {
|
|
10019
|
+
return;
|
|
10020
|
+
}
|
|
10021
|
+
}
|
|
9323
10022
|
/** Verify active, reachable producer bytes without reading credentials or
|
|
9324
10023
|
* accepting historical package-map entries. Missing/ambiguous paths fail
|
|
9325
10024
|
* closed for the ordinary markerless-test shortcut. */
|
|
@@ -9329,7 +10028,7 @@ function auditedForegroundRenderers(runtimeRoot, profileRoot, providedSession) {
|
|
|
9329
10028
|
const checked = (name) => {
|
|
9330
10029
|
const found = [];
|
|
9331
10030
|
for (const root of roots) try {
|
|
9332
|
-
const value = activeRendererBytes(root, name, session);
|
|
10031
|
+
const value = root === roots[0] ? selectedRuntimeRenderer(runtimeRoot, name, session)?.bytes : activeRendererBytes(root, name, session);
|
|
9333
10032
|
if (value) found.push(value);
|
|
9334
10033
|
} catch {}
|
|
9335
10034
|
return found.length > 0 && found.every((value) => value === AUDITED_FOREGROUND_BYTES[name]);
|
|
@@ -9350,7 +10049,7 @@ function auditedDefaultWorkdirHost(runtimeRoot, profileRoot, tool, providedSessi
|
|
|
9350
10049
|
for (const name of names) {
|
|
9351
10050
|
const found = [];
|
|
9352
10051
|
for (const root of [runtimeRoot, profileRoot]) try {
|
|
9353
|
-
const digest$1 = activeRendererBytes(join(root, "node_modules"), name, session);
|
|
10052
|
+
const digest$1 = root === runtimeRoot ? selectedRuntimeRenderer(runtimeRoot, name, session)?.bytes : activeRendererBytes(join(root, "node_modules"), name, session);
|
|
9354
10053
|
if (digest$1) found.push(digest$1);
|
|
9355
10054
|
} catch {}
|
|
9356
10055
|
if (!found.length || !found.every((digest$1) => digest$1 === AUDITED_DEFAULT_WORKDIR_BYTES[name])) return false;
|
|
@@ -9369,7 +10068,7 @@ async function auditedDefaultWorkdirProvider(runtimeRoot, profileRoot, tool, pro
|
|
|
9369
10068
|
if (!value || typeof value !== "object") return false;
|
|
9370
10069
|
const paths = /* @__PURE__ */ new Set();
|
|
9371
10070
|
for (const root of [runtimeRoot, profileRoot]) try {
|
|
9372
|
-
const module = activeRendererModule(join(root, "node_modules"), name, session);
|
|
10071
|
+
const module = root === runtimeRoot ? selectedRuntimeRenderer(runtimeRoot, name, session) : activeRendererModule(join(root, "node_modules"), name, session);
|
|
9373
10072
|
if (module?.bytes === AUDITED_DEFAULT_WORKDIR_BYTES[name]) paths.add(module.path);
|
|
9374
10073
|
} catch {}
|
|
9375
10074
|
if (paths.size !== 1) return false;
|
|
@@ -9386,7 +10085,7 @@ async function auditedDefaultWorkdirProvider(runtimeRoot, profileRoot, tool, pro
|
|
|
9386
10085
|
}
|
|
9387
10086
|
function pathPresent(path$1) {
|
|
9388
10087
|
try {
|
|
9389
|
-
lstatSync(path$1);
|
|
10088
|
+
lstatSync$1(path$1);
|
|
9390
10089
|
return true;
|
|
9391
10090
|
} catch (error) {
|
|
9392
10091
|
if (error.code === "ENOENT") return false;
|
|
@@ -9401,8 +10100,8 @@ function packageFromAnchor(anchor, name) {
|
|
|
9401
10100
|
for (const directory of createRequire(anchor).resolve.paths(name) ?? []) {
|
|
9402
10101
|
const candidate = join(directory, name);
|
|
9403
10102
|
if (pathPresent(candidate)) {
|
|
9404
|
-
if (!existsSync(join(candidate, "package.json"))) throw new HostProfileError("target_bundle_unresolved", "invalid resolver-visible package");
|
|
9405
|
-
return realpathSync(candidate);
|
|
10103
|
+
if (!existsSync$1(join(candidate, "package.json"))) throw new HostProfileError("target_bundle_unresolved", "invalid resolver-visible package");
|
|
10104
|
+
return realpathSync$1(candidate);
|
|
9406
10105
|
}
|
|
9407
10106
|
}
|
|
9408
10107
|
}
|
|
@@ -9412,8 +10111,8 @@ function packageFromAnchor(anchor, name) {
|
|
|
9412
10111
|
* absence rule to inject or runtime replay, which still call the strict reader.
|
|
9413
10112
|
*/
|
|
9414
10113
|
function readTargetHostGraph(runtimeRoot, profileRoot) {
|
|
9415
|
-
const runtime = realpathSync(runtimeRoot);
|
|
9416
|
-
const profile = realpathSync(profileRoot);
|
|
10114
|
+
const runtime = realpathSync$1(runtimeRoot);
|
|
10115
|
+
const profile = realpathSync$1(profileRoot);
|
|
9417
10116
|
const mapPath = join(profile, "node_modules", ".package-map.json");
|
|
9418
10117
|
const lockPath = join(profile, "pnpm-lock.yaml");
|
|
9419
10118
|
if (pathPresent(mapPath) && pathPresent(lockPath)) return {
|
|
@@ -9437,40 +10136,46 @@ function readTargetHostGraph(runtimeRoot, profileRoot) {
|
|
|
9437
10136
|
}
|
|
9438
10137
|
const bundles = manifest.dsh?.profile?.bundles;
|
|
9439
10138
|
const names = ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-headless"];
|
|
9440
|
-
|
|
9441
|
-
|
|
9442
|
-
|
|
9443
|
-
|
|
10139
|
+
const installationOwned = [
|
|
10140
|
+
"@deepseek-ai/dsh-base",
|
|
10141
|
+
"@deepseek-ai/dsh-web-app",
|
|
10142
|
+
"@deepseek-ai/dsh-headless"
|
|
10143
|
+
];
|
|
10144
|
+
const bundleList = Array.isArray(bundles) ? bundles.map(String) : void 0;
|
|
10145
|
+
if (!bundleList || JSON.stringify(bundleList) !== JSON.stringify(names) && JSON.stringify(bundleList) !== JSON.stringify(installationOwned)) throw new HostProfileError("target_profile_bundles_unsupported", "not the installation-owned Headless bundle tuple");
|
|
10146
|
+
const modules = realpathSync$1(join(runtime, "node_modules"));
|
|
10147
|
+
const mapText = readFileSync$1(join(modules, ".package-map.json"), "utf8");
|
|
10148
|
+
const lockText = readFileSync$1(join(runtime, "pnpm-lock.yaml"), "utf8");
|
|
9444
10149
|
const rows = packageRowsFromActiveGraph(mapText, lockText, modules);
|
|
9445
10150
|
const { records, reachable } = activeGraphRecords(mapText);
|
|
9446
|
-
const launcher = realpathSync(join(modules, "@deepseek-ai", "dsh"));
|
|
10151
|
+
const launcher = realpathSync$1(join(modules, "@deepseek-ai", "dsh"));
|
|
9447
10152
|
const anchor = join(launcher, "package.json");
|
|
9448
10153
|
const host = readJsonObject(anchor, "target_runtime_unsupported");
|
|
9449
10154
|
const launcherId = [...reachable].filter((id) => id === "@deepseek-ai/dsh" || id.startsWith("@deepseek-ai/dsh@"));
|
|
9450
|
-
if (launcherId.length !== 1 || host.name !== "@deepseek-ai/dsh" || host.version !== rows.find((row$3) => row$3.name === "@deepseek-ai/dsh")?.version || typeof records[launcherId[0]].url !== "string" || realpathSync(resolve(modules, records[launcherId[0]].url)) !== launcher || !within(modules, launcher)) throw new HostProfileError("target_runtime_unsupported", "launcher differs from the active runtime importer");
|
|
10155
|
+
if (launcherId.length !== 1 || host.name !== "@deepseek-ai/dsh" || host.version !== rows.find((row$3) => row$3.name === "@deepseek-ai/dsh")?.version || typeof records[launcherId[0]].url !== "string" || realpathSync$1(resolve(modules, records[launcherId[0]].url)) !== launcher || !within(modules, launcher)) throw new HostProfileError("target_runtime_unsupported", "launcher differs from the active runtime importer");
|
|
9451
10156
|
const bundleRows = names.map((name) => {
|
|
9452
10157
|
const packageRoot = packageFromAnchor(anchor, name);
|
|
9453
10158
|
const ids = [...reachable].filter((id) => id === name || id.startsWith(`${name}@`));
|
|
9454
10159
|
if (!packageRoot || !within(modules, packageRoot) || ids.length !== 1) throw new HostProfileError("target_bundle_unresolved", "bundle is not uniquely installation-owned");
|
|
9455
10160
|
const record = records[ids[0]];
|
|
9456
|
-
if (typeof record.url !== "string" || realpathSync(resolve(modules, record.url)) !== packageRoot) throw new HostProfileError("target_bundle_origin_mismatch", "bundle differs from active runtime mapping");
|
|
10161
|
+
if (typeof record.url !== "string" || realpathSync$1(resolve(modules, record.url)) !== packageRoot) throw new HostProfileError("target_bundle_origin_mismatch", "bundle differs from active runtime mapping");
|
|
9457
10162
|
const installed = readJsonObject(join(packageRoot, "package.json"), "target_bundle_invalid");
|
|
9458
10163
|
const patch = installed.dsh?.bundle?.patch;
|
|
9459
10164
|
const locked = packageRowsFromPnpmLock(lockText, [name]).filter((row$3) => row$3.version === host.version && row$3.integrity);
|
|
9460
|
-
if (installed.name !== name || installed.version !== host.version || locked.length !== 1 || ids[0] !== name && ids[0].split("(", 1)[0] !== `${name}@${host.version}` || typeof patch !== "string" || isAbsolute(patch) || !within(packageRoot, realpathSync(resolve(packageRoot, patch))) || !statSync(resolve(packageRoot, patch)).isFile()) throw new HostProfileError("target_bundle_invalid", "bundle identity or patch is not installation-owned");
|
|
10165
|
+
if (installed.name !== name || installed.version !== host.version || locked.length !== 1 || ids[0] !== name && ids[0].split("(", 1)[0] !== `${name}@${host.version}` || typeof patch !== "string" || isAbsolute(patch) || !within(packageRoot, realpathSync$1(resolve(packageRoot, patch))) || !statSync$1(resolve(packageRoot, patch)).isFile()) throw new HostProfileError("target_bundle_invalid", "bundle identity or patch is not installation-owned");
|
|
9461
10166
|
return locked[0];
|
|
9462
10167
|
});
|
|
9463
10168
|
for (const name of [...CRITICAL_NAMES, ...names]) {
|
|
9464
10169
|
const visible = packageFromAnchor(manifestPath, name);
|
|
9465
10170
|
if (!visible) continue;
|
|
9466
10171
|
const ids = [...reachable].filter((id) => id === name || id.startsWith(`${name}@`));
|
|
9467
|
-
if (ids.length !== 1 || typeof records[ids[0]].url !== "string" || !within(modules, visible) || realpathSync(resolve(modules, records[ids[0]].url)) !== visible) throw new HostProfileError("target_profile_module_shadow", "profile lookup differs from the audited installation");
|
|
10172
|
+
if (ids.length !== 1 || typeof records[ids[0]].url !== "string" || !within(modules, visible) || realpathSync$1(resolve(modules, records[ids[0]].url)) !== visible) throw new HostProfileError("target_profile_module_shadow", "profile lookup differs from the audited installation");
|
|
9468
10173
|
}
|
|
9469
10174
|
return {
|
|
9470
10175
|
packages: rows,
|
|
9471
10176
|
profileGraph: {
|
|
9472
10177
|
state: "dependency_free_headless",
|
|
9473
|
-
manifestSha256: createHash("sha256").update(readFileSync(manifestPath)).digest("hex"),
|
|
10178
|
+
manifestSha256: createHash("sha256").update(readFileSync$1(manifestPath)).digest("hex"),
|
|
9474
10179
|
bundles: bundleRows
|
|
9475
10180
|
}
|
|
9476
10181
|
};
|
|
@@ -9497,6 +10202,10 @@ async function prepareTargetHostTrust(runtime, profile, fetcher = fetch) {
|
|
|
9497
10202
|
function resolveActiveProfileHostLock(runtimeRoot, profileRoot, expectedPluginVersion, providedTrust) {
|
|
9498
10203
|
const runtime = resolve(runtimeRoot);
|
|
9499
10204
|
const profile = resolve(profileRoot);
|
|
10205
|
+
const desktopCheckManifestPath = join(profile, "package.json");
|
|
10206
|
+
if (existsSync$1(desktopCheckManifestPath)) {
|
|
10207
|
+
if (readJsonObject(desktopCheckManifestPath, "profile_manifest_invalid").name === DESKTOP_PROFILE_PACKAGE_NAME) return resolveDesktopProfileHostLock(runtimeRoot, profileRoot, expectedPluginVersion, providedTrust);
|
|
10208
|
+
}
|
|
9500
10209
|
const lockPath = join(runtime, "pnpm-lock.yaml");
|
|
9501
10210
|
const mapPath = join(runtime, "node_modules", ".package-map.json");
|
|
9502
10211
|
const profileManifestPath = join(profile, "package.json");
|
|
@@ -9510,7 +10219,7 @@ function resolveActiveProfileHostLock(runtimeRoot, profileRoot, expectedPluginVe
|
|
|
9510
10219
|
profileMapPath,
|
|
9511
10220
|
profileManifestPath,
|
|
9512
10221
|
pluginManifestPath
|
|
9513
|
-
]) if (!existsSync(path$1)) throw new HostProfileError("active_graph_missing", `required active graph file is missing: ${path$1}`);
|
|
10222
|
+
]) if (!existsSync$1(path$1)) throw new HostProfileError("active_graph_missing", `required active graph file is missing: ${path$1}`);
|
|
9514
10223
|
const session = createHostAuditSession();
|
|
9515
10224
|
const trust = providedTrust ? qualifyHostTrust(providedTrust, profile) : void 0;
|
|
9516
10225
|
const profileManifest = readJsonObject(profileManifestPath, "profile_manifest_invalid");
|
|
@@ -9520,7 +10229,10 @@ function resolveActiveProfileHostLock(runtimeRoot, profileRoot, expectedPluginVe
|
|
|
9520
10229
|
const bundles = profileConfig && typeof profileConfig === "object" ? profileConfig.bundles : void 0;
|
|
9521
10230
|
if (!dependencies || typeof dependencies !== "object" || typeof dependencies["dsh-completion-guard"] !== "string" || !Array.isArray(bundles) || !bundles.includes("dsh-completion-guard")) throw new HostProfileError("profile_plugin_unbound", "profile does not bind the dsh-completion-guard dependency and bundle");
|
|
9522
10231
|
if (installedPlugin.name !== "dsh-completion-guard" || installedPlugin.version !== expectedPluginVersion) throw new HostProfileError("profile_plugin_version_mismatch", "installed profile plugin identity does not match the generator version");
|
|
9523
|
-
const
|
|
10232
|
+
const bundleList = Array.isArray(bundles) ? bundles.map(String) : [];
|
|
10233
|
+
const isDesktopProfile = profileManifest.name === DESKTOP_PROFILE_PACKAGE_NAME;
|
|
10234
|
+
if (isDesktopProfile && (bundleList.includes("@deepseek-ai/dsh-headless") || bundleList.includes("dshmarket"))) throw new HostProfileError("desktop_profile_bundle_conflict", "the desktop profile carries a web/headless-only bundle");
|
|
10235
|
+
const profileKind = isDesktopProfile ? "desktop" : bundleList.includes("@deepseek-ai/dsh-headless") ? "headless" : bundleList.includes("@deepseek-ai/dsh-web-app") || bundleList.includes("dshmarket") ? "web" : "headless";
|
|
9524
10236
|
const platform = process.platform === "win32" ? "windows" : "posix";
|
|
9525
10237
|
const evaluation = evaluateActiveHostLock(runtime, profile, {
|
|
9526
10238
|
platform,
|
|
@@ -9537,9 +10249,203 @@ function resolveActiveProfileHostLock(runtimeRoot, profileRoot, expectedPluginVe
|
|
|
9537
10249
|
...trust ? { trust } : {}
|
|
9538
10250
|
};
|
|
9539
10251
|
}
|
|
10252
|
+
function asarRowsWithIntegrity(runtime, source) {
|
|
10253
|
+
const byName = new Map(source.map((row$3) => [row$3.name, row$3]));
|
|
10254
|
+
return runtime.rows.map((row$3) => {
|
|
10255
|
+
const qualified = byName.get(row$3.name);
|
|
10256
|
+
if (!qualified || qualified.version !== row$3.version) throw new HostProfileError("desktop_runtime_unqualified", `the app runtime row ${row$3.name}@${row$3.version} has no acquired registry identity`);
|
|
10257
|
+
return {
|
|
10258
|
+
name: row$3.name,
|
|
10259
|
+
version: row$3.version,
|
|
10260
|
+
integrity: qualified.integrity
|
|
10261
|
+
};
|
|
10262
|
+
});
|
|
10263
|
+
}
|
|
10264
|
+
function desktopProfileRows(profileRoot, session) {
|
|
10265
|
+
const auditSession = session ?? createHostAuditSession();
|
|
10266
|
+
const lockPath = join(profileRoot, "pnpm-lock.yaml");
|
|
10267
|
+
const layout = desktopProfileLayout(profileRoot, auditSession);
|
|
10268
|
+
if (!layout && !existsSync$1(lockPath)) return [];
|
|
10269
|
+
if (!layout || !existsSync$1(lockPath)) throw new HostProfileError("active_graph_missing", "partial desktop profile importer");
|
|
10270
|
+
const graph = layout.graph;
|
|
10271
|
+
return packageRowsFromGraph(graph.records, graph.reachable, auditSession.readFile(lockPath).toString("utf8"), join(profileRoot, "node_modules"), auditSession);
|
|
10272
|
+
}
|
|
10273
|
+
function desktopProfileLayout(profile, session) {
|
|
10274
|
+
return session.memo(`desktop-profile-layout:${profile}`, () => {
|
|
10275
|
+
const modules = join(profile, "node_modules"), mapPath = join(modules, ".package-map.json");
|
|
10276
|
+
if (session.exists(mapPath)) return {
|
|
10277
|
+
graph: {
|
|
10278
|
+
...activeGraphRecords(session.readFile(mapPath).toString("utf8")),
|
|
10279
|
+
modules: session.realpath(modules),
|
|
10280
|
+
packages: /* @__PURE__ */ new Map()
|
|
10281
|
+
},
|
|
10282
|
+
identityPath: mapPath,
|
|
10283
|
+
kind: "package-map"
|
|
10284
|
+
};
|
|
10285
|
+
const metadataPath = join(modules, ".modules.yaml");
|
|
10286
|
+
if (!session.exists(metadataPath)) return void 0;
|
|
10287
|
+
try {
|
|
10288
|
+
return {
|
|
10289
|
+
graph: desktopHoistedProfileGraph(profile, session),
|
|
10290
|
+
identityPath: metadataPath,
|
|
10291
|
+
kind: "pnpm-11.7-hoisted"
|
|
10292
|
+
};
|
|
10293
|
+
} catch {
|
|
10294
|
+
throw new HostProfileError("active_graph_invalid", "Desktop physical importer index does not match its installed tree");
|
|
10295
|
+
}
|
|
10296
|
+
});
|
|
10297
|
+
}
|
|
10298
|
+
/** Complete Desktop composition: the official app bundle is the runtime half,
|
|
10299
|
+
* the Desktop-managed profile is the profile half. No structural discovery
|
|
10300
|
+
* grants authority — the installed asar bytes are verified against the same
|
|
10301
|
+
* qualification chain a CLI graph rebind uses. */
|
|
10302
|
+
function resolveDesktopProfileHostLock(appAsarPath, profileRoot, expectedPluginVersion, providedTrust) {
|
|
10303
|
+
const profile = resolve(profileRoot);
|
|
10304
|
+
const runtime = readDesktopAppRuntime(appAsarPath);
|
|
10305
|
+
const trust = providedTrust ? qualifyHostTrust(providedTrust, profile) : void 0;
|
|
10306
|
+
verifyDesktopPluginIdentity(profile, expectedPluginVersion);
|
|
10307
|
+
const evaluation = reevaluateDesktopCoreLock(appAsarPath, profileRoot, trust);
|
|
10308
|
+
if (evaluation.status !== "supported") throw new HostProfileError("host_implementation_bytes_mismatch", "the Desktop graph does not match the qualified published implementation");
|
|
10309
|
+
writeDesktopRuntimeReceipt(profile, runtime);
|
|
10310
|
+
return {
|
|
10311
|
+
evaluation,
|
|
10312
|
+
runtimeRoot: runtime.asarRealpath,
|
|
10313
|
+
profileRoot: profile,
|
|
10314
|
+
pluginVersion: expectedPluginVersion,
|
|
10315
|
+
platform: process.platform === "win32" ? "windows" : "posix",
|
|
10316
|
+
profileKind: "desktop",
|
|
10317
|
+
...trust ? { trust } : {}
|
|
10318
|
+
};
|
|
10319
|
+
}
|
|
10320
|
+
/** An active Desktop lock requires a real installed Guard importer. The
|
|
10321
|
+
* dependency-free application-owned profile has its own preinstall path. */
|
|
10322
|
+
function verifyDesktopPluginIdentity(profileRoot, expectedPluginVersion) {
|
|
10323
|
+
if (!existsSync$1(join(profileRoot, "node_modules", ".package-map.json")) && !existsSync$1(join(profileRoot, "node_modules", ".modules.yaml"))) throw new HostProfileError("profile_plugin_unbound", "the desktop profile has no installed plugin importer");
|
|
10324
|
+
const profile = readJsonObject(join(profileRoot, "package.json"), "profile_manifest_invalid");
|
|
10325
|
+
const dsh = profile.dsh && typeof profile.dsh === "object" ? profile.dsh : {};
|
|
10326
|
+
const settings = dsh.profile && typeof dsh.profile === "object" ? dsh.profile : {};
|
|
10327
|
+
const bundles = Array.isArray(settings.bundles) ? settings.bundles : [];
|
|
10328
|
+
const dependencies = profile.dependencies && typeof profile.dependencies === "object" ? profile.dependencies : {};
|
|
10329
|
+
if (profile.name !== DESKTOP_PROFILE_PACKAGE_NAME || typeof dependencies["dsh-completion-guard"] !== "string" || !bundles.includes("dsh-completion-guard") || !bundles.includes("@deepseek-ai/dsh-base") || !bundles.includes("@deepseek-ai/dsh-web-app") || bundles.includes("@deepseek-ai/dsh-headless") || bundles.includes("dshmarket")) throw new HostProfileError("profile_plugin_unbound", "the desktop profile does not bind the installed plugin and official bundles");
|
|
10330
|
+
const pluginManifestPath = join(profileRoot, "node_modules", "dsh-completion-guard", "package.json");
|
|
10331
|
+
if (!existsSync$1(pluginManifestPath)) throw new HostProfileError("profile_plugin_unbound", "the desktop profile importer does not carry the dsh-completion-guard plugin");
|
|
10332
|
+
const installedPlugin = readJsonObject(pluginManifestPath, "installed_plugin_invalid");
|
|
10333
|
+
if (installedPlugin.name !== "dsh-completion-guard" || installedPlugin.version !== expectedPluginVersion) throw new HostProfileError("profile_plugin_version_mismatch", "installed profile plugin identity does not match the generator version");
|
|
10334
|
+
}
|
|
10335
|
+
/** One desktop evaluation: graph readback (app rows + profile importer rows),
|
|
10336
|
+
* qualification, and the installed-byte audit. Shared by inject and every
|
|
10337
|
+
* fresh runtime revalidation, so both compute the same digest. */
|
|
10338
|
+
function reevaluateDesktopCoreLock(appAsarPath, profileRoot, trust) {
|
|
10339
|
+
const profile = resolve(profileRoot);
|
|
10340
|
+
const runtime = readDesktopAppRuntime(appAsarPath);
|
|
10341
|
+
const session = createHostAuditSession();
|
|
10342
|
+
const executable = verifyDesktopCarrier(runtime.asarRealpath, runtime.headerSha256);
|
|
10343
|
+
const pluginManifestPath = join(profile, "node_modules", "dsh-completion-guard", "package.json");
|
|
10344
|
+
const installedPlugin = session.readJson(pluginManifestPath);
|
|
10345
|
+
verifyDesktopPluginIdentity(profile, String(installedPlugin.version));
|
|
10346
|
+
const profileRows = desktopProfileRows(profile, session);
|
|
10347
|
+
const runtimeRows = asarRowsWithIntegrity(runtime, trust ? [...trust.packages, ...trust.probeDependencies ?? []] : cohortIntegrityRows(runtime));
|
|
10348
|
+
const runtimeKeys = new Set(runtimeRows.map((row$3) => `${row$3.name}\u0000${row$3.version ?? ""}\u0000${row$3.integrity ?? ""}`));
|
|
10349
|
+
const evaluation = evaluateConfiguredHostLock([...runtimeRows, ...profileRows.filter((row$3) => !runtimeKeys.has(`${row$3.name}\u0000${row$3.version ?? ""}\u0000${row$3.integrity ?? ""}`))], {
|
|
10350
|
+
platform: process.platform === "win32" ? "windows" : "posix",
|
|
10351
|
+
profileKind: "desktop"
|
|
10352
|
+
}, trust ? JSON.stringify(trust) : void 0, profile);
|
|
10353
|
+
if (evaluation.status !== "supported") return evaluation;
|
|
10354
|
+
const expectations = trust ? [...trust.packages, ...trust.probeDependencies ?? []] : packages$1;
|
|
10355
|
+
if (!auditDesktopInstalledImplementation(runtime.asarRealpath, expectations)) return {
|
|
10356
|
+
...evaluation,
|
|
10357
|
+
status: "unsupported",
|
|
10358
|
+
goalAvailable: false,
|
|
10359
|
+
reasonCode: "host_lock_installed_graph_drift"
|
|
10360
|
+
};
|
|
10361
|
+
const archiveGraph = desktopDependencyGraph(runtime.asarRealpath, expectations, session);
|
|
10362
|
+
const layout = desktopProfileLayout(profile, session);
|
|
10363
|
+
if (!auditedHostImplementation(join(runtime.asarRealpath, "dsh"), profile, archiveGraph.session, expectations, archiveGraph.graph, layout.graph)) return {
|
|
10364
|
+
...evaluation,
|
|
10365
|
+
status: "unsupported",
|
|
10366
|
+
goalAvailable: false,
|
|
10367
|
+
reasonCode: "host_lock_installed_graph_drift"
|
|
10368
|
+
};
|
|
10369
|
+
const profileManifest = session.fileDigest(join(profile, "package.json"));
|
|
10370
|
+
const digest$1 = createHash("sha256").update("dsh.desktop-core-host/v1\0").update(evaluation.digest).update("\0").update(runtime.asarRealpath).update("\0").update(runtime.headerSha256).update("\0").update(runtime.manifestSha256).update("\0").update(runtime.metadataSha256).update("\0").update(executable).update("\0").update(session.fileDigest(executable)).update("\0").update(profile).update("\0").update(profileManifest).update("\0").update(session.fileDigest(pluginManifestPath)).update("\0").update(layout.kind).update("\0").update(session.fileDigest(layout.identityPath)).update("\0").update(session.fileDigest(join(profile, "pnpm-lock.yaml"))).digest("hex");
|
|
10371
|
+
const audited = auditedForegroundRenderers(runtime.asarRealpath, profile, session);
|
|
10372
|
+
return audited.length ? {
|
|
10373
|
+
...evaluation,
|
|
10374
|
+
auditedForegroundRenderers: audited,
|
|
10375
|
+
digest: createHash("sha256").update(`dsh.core-host-renderer/v1\0${digest$1}\0${audited.join(",")}`).digest("hex")
|
|
10376
|
+
} : {
|
|
10377
|
+
...evaluation,
|
|
10378
|
+
digest: digest$1
|
|
10379
|
+
};
|
|
10380
|
+
}
|
|
10381
|
+
/** The audited cohort rows, used as the registry-derived expectation source
|
|
10382
|
+
* when no operator trust is supplied. A runtime row whose version the audited
|
|
10383
|
+
* cohort never registered cannot be attested this way and fails closed. */
|
|
10384
|
+
function cohortIntegrityRows(runtime) {
|
|
10385
|
+
const auditRows = new Map(packages$1.map((row$3) => [row$3.name, row$3]));
|
|
10386
|
+
return runtime.rows.map((row$3) => {
|
|
10387
|
+
const audited = auditRows.get(row$3.name);
|
|
10388
|
+
if (!audited || audited.version !== row$3.version) throw new HostProfileError("desktop_runtime_unqualified", `the app runtime row ${row$3.name}@${row$3.version} is not the audited cohort identity; acquire registry trust to qualify it`);
|
|
10389
|
+
return audited;
|
|
10390
|
+
});
|
|
10391
|
+
}
|
|
10392
|
+
/** Desktop pre-install inspection: the Desktop-owned dependency-free profile
|
|
10393
|
+
* plus the official app bundle, evaluated and byte-audited like any target. */
|
|
10394
|
+
function inspectDesktopTargetGraph(appAsarPath, profileRoot, trust) {
|
|
10395
|
+
const target = readDesktopTargetGraph(appAsarPath, profileRoot);
|
|
10396
|
+
verifyDesktopCarrier(target.runtime.asarRealpath, target.runtime.headerSha256);
|
|
10397
|
+
const runtimeRows = asarRowsWithIntegrity(target.runtime, trust ? [...trust.packages, ...trust.probeDependencies ?? []] : cohortIntegrityRows(target.runtime));
|
|
10398
|
+
const evaluation = evaluateConfiguredHostLock(runtimeRows, {
|
|
10399
|
+
platform: process.platform === "win32" ? "windows" : "posix",
|
|
10400
|
+
profileKind: "desktop"
|
|
10401
|
+
}, trust ? JSON.stringify(trust) : void 0, profileRoot);
|
|
10402
|
+
const expectations = trust ? [...trust.packages, ...trust.probeDependencies ?? []] : packages$1;
|
|
10403
|
+
if (evaluation.status !== "supported" || !auditDesktopInstalledImplementation(target.runtime.asarRealpath, expectations)) throw new HostProfileError("target_runtime_unsupported", "desktop pre-install target fails host qualification or byte audit");
|
|
10404
|
+
const archiveGraph = desktopDependencyGraph(target.runtime.asarRealpath, expectations);
|
|
10405
|
+
if (!auditedHostImplementation(join(target.runtime.asarRealpath, "dsh"), resolve(profileRoot), archiveGraph.session, expectations, archiveGraph.graph)) throw new HostProfileError("target_runtime_unsupported", "desktop pre-install target fails dependency route audit");
|
|
10406
|
+
return {
|
|
10407
|
+
packages: runtimeRows,
|
|
10408
|
+
runtime: target.runtime,
|
|
10409
|
+
profileGraph: target.profileGraph
|
|
10410
|
+
};
|
|
10411
|
+
}
|
|
10412
|
+
/** Fresh runtime readback for an injected desktop lock: the same evaluation
|
|
10413
|
+
* chain the inject path used, so the digest the runtime compares against its
|
|
10414
|
+
* injected expectation is computed identically. */
|
|
10415
|
+
function revalidateDesktopCoreLock(appAsarPath, profileRoot, expected, trustText) {
|
|
10416
|
+
return reevaluateDesktopCoreLock(appAsarPath, profileRoot, trustText ? parseHostTrust(trustText, resolve(profileRoot)) : void 0);
|
|
10417
|
+
}
|
|
10418
|
+
/** Registry acquisition for the Desktop graph: the app manifest pins exact
|
|
10419
|
+
* versions; the INTEGRITY comes from the registry metadata for exactly that
|
|
10420
|
+
* name@version, and the archive bytes are verified by the same acquisition
|
|
10421
|
+
* and host-contract probe a CLI rebind uses. */
|
|
10422
|
+
async function prepareDesktopHostTrust(appAsarPath, profileRoot, fetcher = fetch) {
|
|
10423
|
+
const runtime = readDesktopAppRuntime(appAsarPath);
|
|
10424
|
+
const qualified = [];
|
|
10425
|
+
for (const row$3 of runtime.rows) {
|
|
10426
|
+
if (!row$3.version) throw new HostTrustError("host_trust_identity_invalid");
|
|
10427
|
+
const response = await fetcher(`https://registry.npmjs.org/${encodeURIComponent(row$3.name)}/${encodeURIComponent(row$3.version)}`, {
|
|
10428
|
+
signal: AbortSignal.timeout(3e4),
|
|
10429
|
+
redirect: "error"
|
|
10430
|
+
});
|
|
10431
|
+
if (!response.ok) throw new HostTrustError("host_trust_registry_unavailable");
|
|
10432
|
+
const metadata = await response.json();
|
|
10433
|
+
const integrity = metadata.dist?.integrity;
|
|
10434
|
+
if (metadata.name !== row$3.name || metadata.version !== row$3.version || typeof integrity !== "string") throw new HostTrustError("host_trust_registry_identity_mismatch");
|
|
10435
|
+
qualified.push({
|
|
10436
|
+
name: row$3.name,
|
|
10437
|
+
version: row$3.version,
|
|
10438
|
+
integrity
|
|
10439
|
+
});
|
|
10440
|
+
}
|
|
10441
|
+
return acquireHostTrust(qualified, fetcher, {
|
|
10442
|
+
profileRoot,
|
|
10443
|
+
dependencyIdentity: (name) => readDesktopDependency(appAsarPath, name)
|
|
10444
|
+
});
|
|
10445
|
+
}
|
|
9540
10446
|
function readJsonObject(path$1, code) {
|
|
9541
10447
|
try {
|
|
9542
|
-
const value = JSON.parse(readFileSync(path$1, "utf8"));
|
|
10448
|
+
const value = JSON.parse(readFileSync$1(path$1, "utf8"));
|
|
9543
10449
|
if (value && typeof value === "object" && !Array.isArray(value)) return value;
|
|
9544
10450
|
} catch {}
|
|
9545
10451
|
throw new HostProfileError(code, `invalid JSON object: ${path$1}`);
|
|
@@ -9547,7 +10453,7 @@ function readJsonObject(path$1, code) {
|
|
|
9547
10453
|
function yamlQuote(value) {
|
|
9548
10454
|
return JSON.stringify(value);
|
|
9549
10455
|
}
|
|
9550
|
-
function renderManagedPatch(rows, platform, profileKind, activation, runtimeRoot, profileRoot, trust) {
|
|
10456
|
+
function renderManagedPatch(rows, platform, profileKind, activation, runtimeRoot, profileRoot, trust, desktopDigest) {
|
|
9551
10457
|
const lines = [
|
|
9552
10458
|
HOST_LOCK_MARKER_BEGIN,
|
|
9553
10459
|
"- id: context-guard",
|
|
@@ -9561,6 +10467,7 @@ function renderManagedPatch(rows, platform, profileKind, activation, runtimeRoot
|
|
|
9561
10467
|
lines.push(` hostLockPlatform: ${yamlQuote(platform)}`);
|
|
9562
10468
|
lines.push(` hostLockProfile: ${yamlQuote(profileKind)}`);
|
|
9563
10469
|
if (trust) lines.push(` hostLockTrust: ${yamlQuote(JSON.stringify(trust))}`);
|
|
10470
|
+
if (profileKind === "desktop" && desktopDigest) lines.push(` hostLockDesktopDigest: ${yamlQuote(desktopDigest)}`);
|
|
9564
10471
|
lines.push(" hostLockPackages:");
|
|
9565
10472
|
for (const row$3 of rows) {
|
|
9566
10473
|
lines.push(` - name: ${yamlQuote(row$3.name)}`);
|
|
@@ -9619,14 +10526,15 @@ function normalizeEmptyPatchBase(text) {
|
|
|
9619
10526
|
}
|
|
9620
10527
|
/** Atomically inject a repeatable managed patch into the selected profile only. */
|
|
9621
10528
|
function injectActiveProfileHostLock(input) {
|
|
10529
|
+
if (input.evaluation.status !== "supported") throw new HostProfileError("profile_host_lock_unsupported", "an unsupported host cannot replace the managed lock");
|
|
9622
10530
|
const patchPath = join(input.profileRoot, "cordis.patch.yml");
|
|
9623
|
-
const stripped = stripManagedPatch(existsSync(patchPath) ? readFileSync(patchPath, "utf8") : "");
|
|
10531
|
+
const stripped = stripManagedPatch(existsSync$1(patchPath) ? readFileSync$1(patchPath, "utf8") : "");
|
|
9624
10532
|
const base = normalizeEmptyPatchBase(stripped.base);
|
|
9625
10533
|
const activation = activationFromPatch(base) ?? (stripped.prior ? activationFromManagedPatch(stripped.prior) : void 0);
|
|
9626
|
-
const managed = renderManagedPatch(input.evaluation.packages.filter((row$3) => row$3.version && row$3.integrity), input.platform, input.profileKind, activation, input.runtimeRoot, input.profileRoot, input.trust);
|
|
10534
|
+
const managed = renderManagedPatch(input.evaluation.packages.filter((row$3) => row$3.version && row$3.integrity), input.platform, input.profileKind, activation, input.runtimeRoot, input.profileRoot, input.trust, input.profileKind === "desktop" ? input.evaluation.digest : void 0);
|
|
9627
10535
|
const next = `${base.trimEnd()}${base.trim() ? "\n\n" : ""}${managed}`;
|
|
9628
10536
|
const temporary = `${patchPath}.context-guard-${process.pid}.tmp`;
|
|
9629
|
-
writeFileSync(temporary, next, {
|
|
10537
|
+
writeFileSync$1(temporary, next, {
|
|
9630
10538
|
encoding: "utf8",
|
|
9631
10539
|
flag: "wx"
|
|
9632
10540
|
});
|
|
@@ -9713,7 +10621,7 @@ function hostLockContextFromComposedDump(text) {
|
|
|
9713
10621
|
const profileKind = profileValue ? parseYamlScalar(profileValue) : void 0;
|
|
9714
10622
|
return {
|
|
9715
10623
|
...platform === "posix" || platform === "windows" ? { platform } : {},
|
|
9716
|
-
...profileKind === "headless" || profileKind === "web" ? { profileKind } : {}
|
|
10624
|
+
...profileKind === "headless" || profileKind === "web" || profileKind === "desktop" ? { profileKind } : {}
|
|
9717
10625
|
};
|
|
9718
10626
|
}
|
|
9719
10627
|
function verifyComposedHostLockDump(text, expected, roots) {
|
|
@@ -9740,6 +10648,20 @@ function verifyComposedHostLockDump(text, expected, roots) {
|
|
|
9740
10648
|
const trustIndex = trustLines[0];
|
|
9741
10649
|
const trustText = trustIndex === void 0 ? void 0 : parseYamlField(entry, trustIndex, entry[trustIndex].slice(entry[trustIndex].indexOf(":") + 1));
|
|
9742
10650
|
const actual = evaluateConfiguredHostLock(hostLockRowsFromComposedDump(text), context, trustText, settings.hostLockProfileRoot);
|
|
10651
|
+
if (context.profileKind === "desktop") {
|
|
10652
|
+
const lines$1 = entry.filter((line) => line.startsWith(" hostLockDesktopDigest:"));
|
|
10653
|
+
const stored = lines$1.length === 1 ? parseYamlScalar(lines$1[0].slice(lines$1[0].indexOf(":") + 1)) : void 0;
|
|
10654
|
+
const expectedRows = evaluateConfiguredHostLock(expected.packages, {
|
|
10655
|
+
platform: expected.platform,
|
|
10656
|
+
profileKind: "desktop"
|
|
10657
|
+
}, trustText, settings.hostLockProfileRoot);
|
|
10658
|
+
if (!roots || actual.status !== "supported" || actual.digest !== expectedRows.digest || stored !== expected.digest || !/^[a-f0-9]{64}$/.test(stored ?? "")) throw new HostProfileError("host_lock_readback_mismatch", "composed Desktop identity does not match the active graph");
|
|
10659
|
+
return {
|
|
10660
|
+
...actual,
|
|
10661
|
+
digest: expected.digest,
|
|
10662
|
+
auditedForegroundRenderers: expected.auditedForegroundRenderers
|
|
10663
|
+
};
|
|
10664
|
+
}
|
|
9743
10665
|
if (actual.status !== "supported" || actual.digest !== expected.digest) throw new HostProfileError("host_lock_readback_mismatch", "composed config host lock does not match the active graph");
|
|
9744
10666
|
return actual;
|
|
9745
10667
|
}
|
|
@@ -19676,10 +20598,11 @@ function extractTerminalFacts(textContent) {
|
|
|
19676
20598
|
} else break;
|
|
19677
20599
|
index$1 -= 1;
|
|
19678
20600
|
}
|
|
20601
|
+
const obscured = !marked && lines.some((line) => TERMINAL_EXIT_MARKER.test(line.trim().toLowerCase()) || TERMINAL_NEGATIVE_MARKER.test(line.trim()));
|
|
19679
20602
|
return {
|
|
19680
20603
|
exitCode,
|
|
19681
20604
|
negative,
|
|
19682
|
-
marked
|
|
20605
|
+
marked: marked || obscured
|
|
19683
20606
|
};
|
|
19684
20607
|
}
|
|
19685
20608
|
/**
|
|
@@ -19773,7 +20696,10 @@ function resolveDeclaredTerminalFacts(meta, textContent) {
|
|
|
19773
20696
|
function shellOutcome(surface, terminal, resultError, backgrounded) {
|
|
19774
20697
|
if (backgrounded) return "unknown";
|
|
19775
20698
|
if (resultError || terminal.negative) return "failure";
|
|
19776
|
-
if (terminal.exitCode === void 0)
|
|
20699
|
+
if (terminal.exitCode === void 0) {
|
|
20700
|
+
if (terminal.marked) return "unknown";
|
|
20701
|
+
return surface === "bash" || surface === "pwsh" ? "success" : "unknown";
|
|
20702
|
+
}
|
|
19777
20703
|
return terminal.exitCode === 0 ? "success" : "failure";
|
|
19778
20704
|
}
|
|
19779
20705
|
/**
|
|
@@ -25800,4 +26726,911 @@ async function executeRevalidatedGitEffect(resolved, manifest, target, currentSt
|
|
|
25800
26726
|
}
|
|
25801
26727
|
|
|
25802
26728
|
//#endregion
|
|
25803
|
-
|
|
26729
|
+
//#region manifests/rc020-rc1-byte-audit.json
|
|
26730
|
+
var packages = [
|
|
26731
|
+
{
|
|
26732
|
+
"name": "@deepseek-ai/cordis",
|
|
26733
|
+
"version": "4.0.4",
|
|
26734
|
+
"integrity": "sha512-obgyxqWAmFn3Re8kvsuUnyW+ihrz6eJCnJO4fh1cQzDtmPYz/zzVeUkH9R94I0OwSVOocK67Kgakm04j/oQXzg==",
|
|
26735
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/cordis/-/cordis-4.0.4.tgz",
|
|
26736
|
+
"sha256": "99a5cdb344de37cb033cb4e3a1dcfd29585d46f7d3a9c64bca9991554927185c",
|
|
26737
|
+
"modules": {
|
|
26738
|
+
"lib/index.js": "6a9394c0877ff45218818c6e815edd038f8057e1a1deb390a8d43ec81c57691e",
|
|
26739
|
+
"package.json": "41c9dee4715a89ef94f227384460c8445857c8faf33493eb545604a948828649"
|
|
26740
|
+
},
|
|
26741
|
+
"programs": { "lib/index.js": "80e38b85f7f608fa7cac756beb911a1a05c2274396fe2e7ee16952f0c8d78202" },
|
|
26742
|
+
"loadingDigest": "a883ad98b889c0cb667e23c5dd2f9179f88e825aed6355feae69f4c30b77cd69"
|
|
26743
|
+
},
|
|
26744
|
+
{
|
|
26745
|
+
"name": "@deepseek-ai/dsh",
|
|
26746
|
+
"version": "0.2.0-rc.1",
|
|
26747
|
+
"integrity": "sha512-F6hKNVoGgBDIzSiyRaIlobq4UD6cwxUjh+nwXqcDmufDh87TE1izsYzs8L5cZNpF2JmPnFM1mXRNnRJ0cs43ng==",
|
|
26748
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh/-/dsh-0.2.0-rc.1.tgz",
|
|
26749
|
+
"sha256": "ceb66bebe8117044e05f6932deaca15daea6a1ae1d0cffad079e33895f10d216",
|
|
26750
|
+
"modules": {
|
|
26751
|
+
"lib/bin.js": "935e95d05f4dc70a8a013eea59da80028946b5c139e45c6351dcaf2810ca00a1",
|
|
26752
|
+
"lib/dump-config-BEDI-dNY.js": "fa34d3397b9ac9423f3b98a9f4798b9205f684e1eaf368352e0a93c09831d28f",
|
|
26753
|
+
"lib/dump-config-crgOY3tW.js": "4183d3918048badf0a5194fb3c86fbb37b7bf8ccbf638c14bd2ff2b1c545721a",
|
|
26754
|
+
"lib/dump-config-schema-DhhNOaro.js": "85c7eef6eee4532570133d3b90487996e912216b96825e33c1bb659036a269f1",
|
|
26755
|
+
"lib/plugin-DkYIj96-.js": "2103210a39731866ca191faf1a1396f33f248ed3fe81690a592fee7a8f3276c1",
|
|
26756
|
+
"lib/profile-boot-BZ2ZjNWi.js": "c394b2aa2ce08a3b1fcc8c544257c7d689dd4d0b1cfaf8602687e65eeaba5aa1",
|
|
26757
|
+
"lib/profile-boot.js": "c53d4e2caf21428e263b525e657dafaf63fd183f7ef016aabda56af7998b6c4f",
|
|
26758
|
+
"package.json": "6c5d2b98ca97920fffe81eaff8455dfd1e97524c8b3a7a3b0cac4c960ebb363c"
|
|
26759
|
+
},
|
|
26760
|
+
"programs": {
|
|
26761
|
+
"lib/bin.js": "b6e681187d19f85261155f6866d32f3c59a0c44d3130e4166c73ea0c2f8f09d2",
|
|
26762
|
+
"lib/dump-config-BEDI-dNY.js": "c475a93f3cbd928b951bc2abaeb88fa641a4deb3d30b067296e542eec1a0c0d9",
|
|
26763
|
+
"lib/dump-config-crgOY3tW.js": "55205480d865c9194e020b41fc4a701a19acbbc2f39129fdb3678d7dc04b4b38",
|
|
26764
|
+
"lib/dump-config-schema-DhhNOaro.js": "85c21562a5ac9c3aefb15ea6baf27d0afda2fad8b0dd4ed377bff45a2c180c1f",
|
|
26765
|
+
"lib/plugin-DkYIj96-.js": "8eb1965ca0e64e9668f9926e0175610fbda401bf65f92db9840615e4a6bc6a97",
|
|
26766
|
+
"lib/profile-boot-BZ2ZjNWi.js": "5826cf68cc33e0c89b1379bd047b92cf209cece56a2e16b01d34f5be5b68c068",
|
|
26767
|
+
"lib/profile-boot.js": "29f32dc66585887e03529fc468f1df7cab368ca546d8395c8ceb528cc1d0c853"
|
|
26768
|
+
},
|
|
26769
|
+
"loadingDigest": "6ffb4f27956f1c86920fef7f1bc92c1dab4d1f5f9e97686fe85be3b4d09fc692"
|
|
26770
|
+
},
|
|
26771
|
+
{
|
|
26772
|
+
"name": "@deepseek-ai/dsh-agent",
|
|
26773
|
+
"version": "0.2.0-rc.1",
|
|
26774
|
+
"integrity": "sha512-PQ4Qtu7QiI6j2n730p8RJ+u4l7ywwhVJ4NeIe/Tj86hBYYZNvNT8iMhViECn+GSepAk7GmM/1eb7e7hvmYhsKA==",
|
|
26775
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent/-/dsh-agent-0.2.0-rc.1.tgz",
|
|
26776
|
+
"sha256": "dd21ff4bc625edc78928cbfc5f8fa7a1ea03fc9ecab6028bb9b50b940def0cfe",
|
|
26777
|
+
"modules": {
|
|
26778
|
+
"lib/index.js": "7b9aa39474de83115cf890dd7f8904cf0d59df0811cb335ab85565a04f1aac93",
|
|
26779
|
+
"lib/invariant.js": "f9d8c2d1d72f407ffd93b9b04212f7c59dd655908daf68f656e05cca9b93befc",
|
|
26780
|
+
"lib/types/archive-admission.js": "d42fbc10fbf357f1343d4c57eab55d3c7a6bd53fe20a29469cf0b1b67e55c4dd",
|
|
26781
|
+
"lib/types/consumed-work.js": "e20ac9e88d81db3f5e25908a50ad4532cd1d93f410ad5ec4933ef9aa24da5c2d",
|
|
26782
|
+
"lib/types/dispatch.js": "f29567a8eb2f04aaf34523e597d52e46f0fb5bed273db4bf7fa25bc38e2877da",
|
|
26783
|
+
"lib/types/index.js": "7e7c47fc0b82f0718b73e1705c07ad9496cfdbc21598db94de858f718cd23490",
|
|
26784
|
+
"lib/types/invariant.js": "ff96b77450ecd0b7b75d94e7aa07f073e7d378924f2484866a6a04ffe4542bc3",
|
|
26785
|
+
"lib/types/model-selection.js": "47f758ea21ebf7544b4633d2ef8cbe5afafddf3b4aaf9892276cda9e98af11e7",
|
|
26786
|
+
"lib/types/projection.js": "43ab89acd14b20b3c2a85c8307f236b38dfa27671dd31b703554777270abc534",
|
|
26787
|
+
"lib/types/runtime-types.js": "72347f43fb79c35cff8565b6428c6d7b96a78267cf8994ea3ffd0830a83a21d2",
|
|
26788
|
+
"lib/types/types.js": "f4ef7228255d5f64ba546ed2a2b6be63601b77c7b58ac3a58a74f4e8f970cb30",
|
|
26789
|
+
"package.json": "4c07ec3f1ece7f5029e9b1e8d12d7a045bd5732208bb798fbb36c9480d54d3f2"
|
|
26790
|
+
},
|
|
26791
|
+
"programs": {
|
|
26792
|
+
"lib/index.js": "cff96bcb59f9c2998af20c5b17d6511e8088bb99b687973fef47010c33dc7eca",
|
|
26793
|
+
"lib/invariant.js": "d0bcf526586bf8ce576764cad03e360cbece4ed3e63772a889493adc9a96cb20",
|
|
26794
|
+
"lib/types/archive-admission.js": "0a416ad4ab32c0320bff23688f5e0a6ad0e9f59229eacd4cd726466d7554ef26",
|
|
26795
|
+
"lib/types/consumed-work.js": "8164baade680544227db7833a0f8fc4e78ae687a654bff9fe08837ef0fdda3e7",
|
|
26796
|
+
"lib/types/dispatch.js": "47931884087a468200025ba734288ec3bbcea6d24cc8bc781f5cd6772ff56439",
|
|
26797
|
+
"lib/types/index.js": "269df03e27eb3f9d3388213f848be7db7cfb39048100891b1d3201ac53f2c05e",
|
|
26798
|
+
"lib/types/invariant.js": "a30ffbc9609a932aa43c5b6ae0e4024d82b78b663a7afca7e5ae2ea643b98132",
|
|
26799
|
+
"lib/types/model-selection.js": "637571f734adabd810c5b743b2850c0bffd30ed14df7787556db19c3922d0270",
|
|
26800
|
+
"lib/types/projection.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
26801
|
+
"lib/types/runtime-types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
26802
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
26803
|
+
},
|
|
26804
|
+
"loadingDigest": "80ab1ef5e697a73acc875ef0dff2d9bbcdca82c1b77c3d43aaed08398195d1a9"
|
|
26805
|
+
},
|
|
26806
|
+
{
|
|
26807
|
+
"name": "@deepseek-ai/dsh-agent-loop",
|
|
26808
|
+
"version": "0.2.0-rc.1",
|
|
26809
|
+
"integrity": "sha512-01JWFfTcne/44tqfGLAOH0KkMicq6VVFBV1YjQbO9vj6Q0SmcHsPObm11fP0opEZIqEmdUN5wwS6LAzCjViDlg==",
|
|
26810
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent-loop/-/dsh-agent-loop-0.2.0-rc.1.tgz",
|
|
26811
|
+
"sha256": "446c70a8fa8b83a35fc19f35c5f8e018946391844bfe9372a4d1d747d8572f8e",
|
|
26812
|
+
"modules": {
|
|
26813
|
+
"lib/index.js": "00c4814d63f3d1e2754eb09144832d19b30499d6ea444730473f740b587948c2",
|
|
26814
|
+
"lib/invariant.js": "c577dcdde278b761b5810d9a941131d423de40c22ff57f98a3982681ed3bf772",
|
|
26815
|
+
"package.json": "e7ecfbef09d7dfd50be40d70a32ca87b1ee43ac3cefdfeb050468c7f0e31b0ea"
|
|
26816
|
+
},
|
|
26817
|
+
"programs": {
|
|
26818
|
+
"lib/index.js": "29355ba39cd6f2d9276b2a353538c54811745f05f5fb65ee0fd722a962b270bf",
|
|
26819
|
+
"lib/invariant.js": "7aaf9659b7faf875f37181ef774c6dc0b64a51456e3bb473622e383a2bec9353"
|
|
26820
|
+
},
|
|
26821
|
+
"loadingDigest": "d59a5938a28425b5e995ddf1b7ce23f3cab61c9b29083a2733addeaf1f787487"
|
|
26822
|
+
},
|
|
26823
|
+
{
|
|
26824
|
+
"name": "@deepseek-ai/dsh-app-boot",
|
|
26825
|
+
"version": "0.2.0-rc.1",
|
|
26826
|
+
"integrity": "sha512-iHUYI+Tc3FlaYay0aLg4LsmZELi8wNWd6DSYrd46enUv0SWgm3qXVFLZivlcKqKWxcjuuvL5JxNemxGiMRIWxQ==",
|
|
26827
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-app-boot/-/dsh-app-boot-0.2.0-rc.1.tgz",
|
|
26828
|
+
"sha256": "a5881b46f9f982da59cede0facc77aeb0ec3cc4995b67fc494110e617986eef6",
|
|
26829
|
+
"modules": {
|
|
26830
|
+
"lib/index.js": "234db45e1b3f8c683b5bc1f551948b2a2ec52a6468c7b6937725a23f1c0e0d96",
|
|
26831
|
+
"lib/worker/profile-resolution-bootstrap.js": "4efac00eba95637481deb245ac4e5b497fceebb55db8e199675406b6bf53dbed",
|
|
26832
|
+
"package.json": "8f4d5cfc5b81e44c77928e115cb8a28070892c2ce4454afd1962cbd0f4d32f49"
|
|
26833
|
+
},
|
|
26834
|
+
"programs": {
|
|
26835
|
+
"lib/index.js": "b73271cd64ae1b30291fea15032f524eb2fc4558076be4c9e1038b1e0f4da183",
|
|
26836
|
+
"lib/worker/profile-resolution-bootstrap.js": "36c6e937266951b9be2f3e13453e66a784420b721f051bec27d1e74804a9a592"
|
|
26837
|
+
},
|
|
26838
|
+
"loadingDigest": "11c28f05919a2c73c0890e1182c146ad939cdfb9a8e131e8acfe5d584bc2fda7"
|
|
26839
|
+
},
|
|
26840
|
+
{
|
|
26841
|
+
"name": "@deepseek-ai/dsh-attachment",
|
|
26842
|
+
"version": "0.2.0-rc.1",
|
|
26843
|
+
"integrity": "sha512-aKKFE9fGYYn1BCzDtun7IYkpiMANYt7s51vwPukkCnobNiLfxHrIyANLWNmMTSpq0iENfqREXPR805K/um8Hfw==",
|
|
26844
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-attachment/-/dsh-attachment-0.2.0-rc.1.tgz",
|
|
26845
|
+
"sha256": "f11e40a5184b10ae0b5a528a575d31254f6b485ab6e416965ff2dcdffb65c3e8",
|
|
26846
|
+
"modules": {
|
|
26847
|
+
"lib/index.js": "9cd6c01a6cca9431f789be334afdfe4f5cf647224bb394cc0215056796520f58",
|
|
26848
|
+
"lib/types/admission.js": "e4afabe831d34e00d96416bf902a77bb3cbe3754769b09b0d14142466a340684",
|
|
26849
|
+
"lib/types/brand.js": "5481fe7d3a244f161d54dc7646612fd7654401782d3f0d5fd657247480f6747d",
|
|
26850
|
+
"lib/types/error.js": "eb1952755b936373075d1cc7567815b46b44bf4938e79d54c12c23ffee0161bc",
|
|
26851
|
+
"lib/types/index.js": "c96d48d63936a055a525e9e5eec624ce6796e50af5e3f3bd53adddfcbcba967b",
|
|
26852
|
+
"lib/types/request-projection.js": "8d184a401ec5ea5b7fc3708870205042cc1afc666655e4e8e4d1d11eefdadf9d",
|
|
26853
|
+
"lib/types/types.js": "9a08e59bd2b21a42126b01c3598b057bb5d3be987c200562800e29806e10e50d",
|
|
26854
|
+
"package.json": "08debb8c62d78d1ea524b0d82378f651196c6a57ed8bfc6c936f2cf323c7a259"
|
|
26855
|
+
},
|
|
26856
|
+
"programs": {
|
|
26857
|
+
"lib/index.js": "3c344b50d80af13c4469250a58573ccea600319bc8be53f4ccb4ea9d29cec841",
|
|
26858
|
+
"lib/types/admission.js": "ff7bb33a61e5b1800aaaa1c9c716a0bc30e48dae7f0b94742480ec40fadfc292",
|
|
26859
|
+
"lib/types/brand.js": "219810967eac99fa85fcd3132a30f6298ee9b663c0c1473cdca6bd901aecddfe",
|
|
26860
|
+
"lib/types/error.js": "b92a638198af9cbaae01c1aad4cf3f92e0b7526fb02cf1808995c7b0732371fc",
|
|
26861
|
+
"lib/types/index.js": "d6eea1297cbd2013cd813675063f917c2913eb7b674cc1956711e6252a176db1",
|
|
26862
|
+
"lib/types/request-projection.js": "918f29b1549200f0268e104250b47b5feb6841b697f6d56088f16032cd5223a9",
|
|
26863
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
26864
|
+
},
|
|
26865
|
+
"loadingDigest": "dcf42d68f9de89b973734dbf1f7b9fa1e414463caf168fdc2ff41da93b95570b"
|
|
26866
|
+
},
|
|
26867
|
+
{
|
|
26868
|
+
"name": "@deepseek-ai/dsh-base",
|
|
26869
|
+
"version": "0.2.0-rc.1",
|
|
26870
|
+
"integrity": "sha512-5knjWdy+/lFOcwjuliaK4Pc+xPfDXMOoN/+CCza5JkQG5JI+GajicpAh7XFH/At6WzWjf9m8OwLGYABVz1pIxA==",
|
|
26871
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-base/-/dsh-base-0.2.0-rc.1.tgz",
|
|
26872
|
+
"sha256": "664cf31c422dc9cc8337fe908153341a9505ee8d3a6f399e945554e51bb050c6",
|
|
26873
|
+
"modules": {
|
|
26874
|
+
"lib/index.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
|
|
26875
|
+
"package.json": "683a76071c6483acaa890b6c333037b34add96fc33a20ba995401cc5b909a060"
|
|
26876
|
+
},
|
|
26877
|
+
"programs": { "lib/index.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8" },
|
|
26878
|
+
"loadingDigest": "f44d4963e2b2e9ec3a592ca8f3a0023844259674df9536827a10d37aaec24d7c"
|
|
26879
|
+
},
|
|
26880
|
+
{
|
|
26881
|
+
"name": "@deepseek-ai/dsh-bash-local",
|
|
26882
|
+
"version": "0.2.0-rc.1",
|
|
26883
|
+
"integrity": "sha512-thF8D96F78QWem0y0C4oqef6h+x3kahGlsTKE9elXrM506sys6EGwHs+PwQqyMyQCGUJlJCVwd2gT6m4ipdplg==",
|
|
26884
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-local/-/dsh-bash-local-0.2.0-rc.1.tgz",
|
|
26885
|
+
"sha256": "157173b9701653979b5159c20318ee6609c59e2a385720c18b27c395d974a21a",
|
|
26886
|
+
"modules": {
|
|
26887
|
+
"lib/index.js": "6d9b4426b8455198b79de398f57c0f5693e7292411059b66d5ac5eba608b59cb",
|
|
26888
|
+
"package.json": "e20248d48f2868419d5c22b3f66a519c908fc707b5b8e275f866c1f34b22ac9f"
|
|
26889
|
+
},
|
|
26890
|
+
"programs": { "lib/index.js": "bad1dad01d2dc853e47f5b3452db5e871039e54d3f1859086931b7dd74675508" },
|
|
26891
|
+
"loadingDigest": "2be7840d6fc827e5b1c54dc6bb242957645a1d001d596c2a93d280c87e8a50ba"
|
|
26892
|
+
},
|
|
26893
|
+
{
|
|
26894
|
+
"name": "@deepseek-ai/dsh-bash-sandbox",
|
|
26895
|
+
"version": "0.2.0-rc.1",
|
|
26896
|
+
"integrity": "sha512-/+vnsleF/U7kKjZdUynHiWTpjAVr9i3ZCPwuWiwecd588VUjOvm9nDeiSUd8Zl60XZFtsYAjdSYU+gunSC98PQ==",
|
|
26897
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-sandbox/-/dsh-bash-sandbox-0.2.0-rc.1.tgz",
|
|
26898
|
+
"sha256": "14ee57a5b8cf6e3620db44e463df3fa74d5f7f1e921c89f42504542556d97da8",
|
|
26899
|
+
"modules": {
|
|
26900
|
+
"lib/index.js": "0f788f99113ba7411eb33af71cdafabd07b73cf012c1715c819e03f3f77f342d",
|
|
26901
|
+
"package.json": "4698a8d47699af3451b3d58f8e02573ece1297d321addda7bc16eb8ba7e7c703"
|
|
26902
|
+
},
|
|
26903
|
+
"programs": { "lib/index.js": "007bc497922220ffe1723faaa96bd367356c81558c1b50b81c1c0601bff281ab" },
|
|
26904
|
+
"loadingDigest": "932ccfcdf2987ab32f85d36a929ae2d5c6de32157eba27b372aadc425a3efd18"
|
|
26905
|
+
},
|
|
26906
|
+
{
|
|
26907
|
+
"name": "@deepseek-ai/dsh-commands",
|
|
26908
|
+
"version": "0.2.0-rc.1",
|
|
26909
|
+
"integrity": "sha512-VZOWNwjBDBkX3kXVJcD24oAoKeGRpLnHZjRiPm0gq41ZClCYy9CzNnFdl6IVtJHfG+bz9/HDnONilpiRwBg2lQ==",
|
|
26910
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-commands/-/dsh-commands-0.2.0-rc.1.tgz",
|
|
26911
|
+
"sha256": "7c4685987a66feba87a04f76204bb087c7fb76be7f701aa5d9ac86cfcfbc82b0",
|
|
26912
|
+
"modules": {
|
|
26913
|
+
"lib/index.js": "88909a0915e4e3b2148c72a912987c3e29ba025b5dea589a0f4543040dc34750",
|
|
26914
|
+
"lib/invariant.js": "e6dcb52cba426f2cebe18d351ecb968233d41f7e3cf292be192618d0f52774fc",
|
|
26915
|
+
"lib/typert.host.js": "fb0f8aba6dcc824b6e50be022c5428319b98cacf802ba4face67bd8523110e95",
|
|
26916
|
+
"lib/typert.remote-client.js": "19783415466cb498a5dd560c6568716cad39223e2587fc0a16350b591fe051ab",
|
|
26917
|
+
"lib/types/brand.js": "50808fed83c5cfe09b80df4165108abba0188645b9b9d39d0426b293e8f188dd",
|
|
26918
|
+
"lib/types/index.js": "e3a06e7bf8da759c727a529d1e6b30c831232318602fcd28e66297ba200ef495",
|
|
26919
|
+
"lib/types/invariant.js": "e4bdb34890eb5b917fb26e5d8987929ef61be4e0587f8975c6cb7692e22be996",
|
|
26920
|
+
"lib/types/types.js": "06f43511aa44249a435d74bf2b168bc767460930d874764c69add444510579b3",
|
|
26921
|
+
"package.json": "2bf9983819f8e38713da5fb9432e5d09170a66c3e0eca4b2204a5fa2eb774e5d"
|
|
26922
|
+
},
|
|
26923
|
+
"programs": {
|
|
26924
|
+
"lib/index.js": "f9f0a77cc19a11675b449261467e8d07934d696e4e543c56b0e4a341a12edb0f",
|
|
26925
|
+
"lib/invariant.js": "102e78feaec5e02ddc7a10881b3dd04d21ac00af2d1eed34c09f7a8e1462b348",
|
|
26926
|
+
"lib/typert.host.js": "7cead6105db0b9b58b6e92efe7090f3066f05de753068bf7d1e70d41672f8a3e",
|
|
26927
|
+
"lib/typert.remote-client.js": "4441213e7a6f512ecf80ba975cc3a0fab0b30055fd36ce2d02c7666b7e7b858c",
|
|
26928
|
+
"lib/types/brand.js": "3892c532b1fcdaefadef5093c73d5b6bb6f718d1befee5ad68b1f8c66a9d817a",
|
|
26929
|
+
"lib/types/index.js": "0ca9432876c5276664b12bcb83c0228f88020b4c9e911bdb59fcf4b36e6ed954",
|
|
26930
|
+
"lib/types/invariant.js": "2af033be5a6a236dbb98e2e6916d586a009043f43c5098f148e311b6940cb68c",
|
|
26931
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
26932
|
+
},
|
|
26933
|
+
"loadingDigest": "985c3bcddbd2128244218d5c39171f094c8d43b2062bf584bac2c33c80c8bf5f"
|
|
26934
|
+
},
|
|
26935
|
+
{
|
|
26936
|
+
"name": "@deepseek-ai/dsh-fs",
|
|
26937
|
+
"version": "0.2.0-rc.1",
|
|
26938
|
+
"integrity": "sha512-IWjXn/BsoWwT5dti/Jfkrx49GDGi1H7B3cuTgwRvxIQl6o86eb7ns+3mQiBpFyrCrVOMV+1t8FC1ipiIxol+gA==",
|
|
26939
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs/-/dsh-fs-0.2.0-rc.1.tgz",
|
|
26940
|
+
"sha256": "dc7ede4bfbf35bef54fca2db4a382e20fde49fb9f70816833da76550995d3f8e",
|
|
26941
|
+
"modules": {
|
|
26942
|
+
"lib/index.js": "b165659f1eff0607222a7fe761bc56bae03fec8337c2e25affd064a3047dacb9",
|
|
26943
|
+
"lib/invariant.js": "c3398ff0da3cf65facc78c3ed287ee088afcb0f6179f6b15eb2f618e759af4bb",
|
|
26944
|
+
"package.json": "aad483456e100274e985871679ed2fd82a354b7003beb0d2f19efc5ad0f92887"
|
|
26945
|
+
},
|
|
26946
|
+
"programs": {
|
|
26947
|
+
"lib/index.js": "7c8ece277d8308c7b11b07ebe59453d8800aec42d7845ea7016ac3a1305fb612",
|
|
26948
|
+
"lib/invariant.js": "de826317b9fb50f2195cb2686b06b471a9cae0cb2fcbf0612cc916dd41380e0e"
|
|
26949
|
+
},
|
|
26950
|
+
"loadingDigest": "56789270f90c7a1077d3a0ef01c179ec65991fbb1c4ed25e80f207406f38a31f"
|
|
26951
|
+
},
|
|
26952
|
+
{
|
|
26953
|
+
"name": "@deepseek-ai/dsh-fs-local",
|
|
26954
|
+
"version": "0.2.0-rc.1",
|
|
26955
|
+
"integrity": "sha512-ntgv1fFhXEuL2ncfbORPprI+mVppaBSdVsUNLN1mfigO6snU6ORU5V2kohL3rop0Q5605lGA/+pGiiGIJYdxQg==",
|
|
26956
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-local/-/dsh-fs-local-0.2.0-rc.1.tgz",
|
|
26957
|
+
"sha256": "d300481c8c670587fa0689da7c4f1c247fbbb583402e01d30b7b1d452f64b33d",
|
|
26958
|
+
"modules": {
|
|
26959
|
+
"lib/index.js": "63fbb41d2c33e07111884b798be507e68c2752acab8249c821c20ade436e894f",
|
|
26960
|
+
"package.json": "b875f7af3ffb1d57f43b81a7f62c5c10fe7039eb5edc2bbdf780f4785b614abe"
|
|
26961
|
+
},
|
|
26962
|
+
"programs": { "lib/index.js": "e5163b8d9882f25941b64f9dd84ca3f5b879b9077faedbbc2d2298f94e1d3714" },
|
|
26963
|
+
"loadingDigest": "0c24809933eb25f92ace3895fd1de77a8744ba12aa2309c61548623e3155c081"
|
|
26964
|
+
},
|
|
26965
|
+
{
|
|
26966
|
+
"name": "@deepseek-ai/dsh-fs-observation-policy",
|
|
26967
|
+
"version": "0.2.0-rc.1",
|
|
26968
|
+
"integrity": "sha512-odxCFuRQAyruog2mYSl0DxJJ//piwUEJuQpC0rY3Hrt4Zv3GjtNhZ42hwvIAug6ueqkJ8nWuR1XevJoRu518SA==",
|
|
26969
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-observation-policy/-/dsh-fs-observation-policy-0.2.0-rc.1.tgz",
|
|
26970
|
+
"sha256": "44feaec8907fa8c8c74730b14769af3326b5fac214d4d098ad1e40668b6504ac",
|
|
26971
|
+
"modules": {
|
|
26972
|
+
"lib/index.js": "e36b54cdb5c6fa01ccfa29f0433753e810ec1ac29a6a22be349d66b77eb64b03",
|
|
26973
|
+
"package.json": "25d8d29bd1157e189048f112aeccb4157c73e0280cdce81c4db97be718724a27"
|
|
26974
|
+
},
|
|
26975
|
+
"programs": { "lib/index.js": "4021ffd6e41bb82344eea4b471cc2130053802170a508a037b87771383461867" },
|
|
26976
|
+
"loadingDigest": "eb3acae13118b9b7cc537ca6f95e54e60722f4ccb60577ce1d08d57b5774776e"
|
|
26977
|
+
},
|
|
26978
|
+
{
|
|
26979
|
+
"name": "@deepseek-ai/dsh-fs-sandbox",
|
|
26980
|
+
"version": "0.2.0-rc.1",
|
|
26981
|
+
"integrity": "sha512-5pIVWc3mGUHigSCSq6R1eUuQB7NjwhdhQ9E6BbrTYXC/qzezvxLJSYEF7z0Vr6ajd7qhV00Wih8OyS1zGkJ9ww==",
|
|
26982
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-sandbox/-/dsh-fs-sandbox-0.2.0-rc.1.tgz",
|
|
26983
|
+
"sha256": "49cbd96b99a8b58389357d405b569e0d9de7a369b4b25c4acec074e200e98739",
|
|
26984
|
+
"modules": {
|
|
26985
|
+
"lib/index.js": "cac65e21a0f0895b073cb9a447196ac265f2a171cc7f67c7434a6b3b7782caf5",
|
|
26986
|
+
"package.json": "5018476647b5eb3e9be0fb6a03557cb4c8effe28636d37417752926e2c9452cb"
|
|
26987
|
+
},
|
|
26988
|
+
"programs": { "lib/index.js": "514de2a11be8e3997b98a38549dde1a1f35e620fee69feabb4797c0be4bfa083" },
|
|
26989
|
+
"loadingDigest": "17256d5beb07a458ae45655c40d1da643361620dd4c106cc574e0cb9fd66f5c9"
|
|
26990
|
+
},
|
|
26991
|
+
{
|
|
26992
|
+
"name": "@deepseek-ai/dsh-goal",
|
|
26993
|
+
"version": "0.2.0-rc.1",
|
|
26994
|
+
"integrity": "sha512-gqpN0MvHofDjqw/c23JF9EQ93VQnRrOFiyVG6XMl3d+PHPVizmLxEHsm4lIE+dU42+iA1dYVtPS1IUkH6l0jFA==",
|
|
26995
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal/-/dsh-goal-0.2.0-rc.1.tgz",
|
|
26996
|
+
"sha256": "15835bb53f7d3f4328ed717a188cd2bc4a583a702c8f1767a892ae4eebe6d021",
|
|
26997
|
+
"modules": {
|
|
26998
|
+
"lib/index.js": "8ec52107ead3d31f4d8ca95894c851046a2cbbd1b2033a0ea22fedf17c043ae4",
|
|
26999
|
+
"lib/invariant.js": "468a099beed22d243daba4d97ae3e9e785f5c97309a656c0b8f1815537927246",
|
|
27000
|
+
"lib/typert.host.js": "a1849a6a248d103478577e8f6812fb7927f74d1ff38677f5734cefb2278164b8",
|
|
27001
|
+
"lib/typert.remote-client.js": "35df09d652b62cc8a3edf5ed9a4f0e84fbfdffbf9c67f778024dfe97758bd7a9",
|
|
27002
|
+
"lib/types/client.js": "4aba033a3236db59a8413dc50ac0640890afe381f5abb93b7bf565b7185e5e8d",
|
|
27003
|
+
"lib/types/domain.js": "4e60898de0faed31865df162479770e0d77cffe654528cef7720ca6c5be419af",
|
|
27004
|
+
"lib/types/fold.js": "fefc4395d38e76e4780165e1881f593cceecc6bb9edb1cc89bf9749902bde881",
|
|
27005
|
+
"lib/types/index.js": "0b0fb502e97ce59f6aed62dc49ca81ef6afe3ea349dd1b85dcc5fa064597e0a9",
|
|
27006
|
+
"lib/types/invariant.js": "2eda87df2fffc21e2f761b138d54c9be523627e3b41bd1508906be5cf69a410d",
|
|
27007
|
+
"lib/types/runtime.js": "3c6cf442aba70e119669f6a349768fe98b7f4cd0cdec9d389fb51437bf97745b",
|
|
27008
|
+
"lib/types/types.js": "956a9ec9381a09458c283fba5deb4b8b695be6e078e49bbc94d1aa4e586cd32c",
|
|
27009
|
+
"package.json": "076c418e3611453205952af6087d44ff53115ee836e6c70744dccb2e343c92de"
|
|
27010
|
+
},
|
|
27011
|
+
"programs": {
|
|
27012
|
+
"lib/index.js": "595a64de68075083e3ef611b3d9ad20860cc7fc836fc74f7b2086c9c6aa4a46c",
|
|
27013
|
+
"lib/invariant.js": "57ff6c3842d90de6440a9b710d9ebe6f4faae735690846d097ca9a3a2cf6b7da",
|
|
27014
|
+
"lib/typert.host.js": "fd40deb26c5d1a654b39e61e3bdd2ccbbb2fb1a86b91a7f18712daabf363391c",
|
|
27015
|
+
"lib/typert.remote-client.js": "7566ae9ffb0de5be418b28a8426d89a0cba55caf6f18083ca97848c371003f1f",
|
|
27016
|
+
"lib/types/client.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
27017
|
+
"lib/types/domain.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
27018
|
+
"lib/types/fold.js": "7b45a8c74e7d07714193c09b749cc8705b0df4c26d62f469ead03658dfb74535",
|
|
27019
|
+
"lib/types/index.js": "16c0dd37f1d80198aa06b58a2a5b9e3996105ef090a7a119b8b60de78ccc09fa",
|
|
27020
|
+
"lib/types/invariant.js": "86d378954b35b50a82384489efd196ba0de8d0887c01fb6e3a67d9f7198ba1bf",
|
|
27021
|
+
"lib/types/runtime.js": "318984bcd709ef43f6b2d4dda7c9a49950078246f7b51b7b621a333a17e0b53f",
|
|
27022
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27023
|
+
},
|
|
27024
|
+
"loadingDigest": "d02ad02c4d13c4c797adfcbc7fa6365723d84a057c97744d8e65d60da973e964"
|
|
27025
|
+
},
|
|
27026
|
+
{
|
|
27027
|
+
"name": "@deepseek-ai/dsh-goal-round-driver",
|
|
27028
|
+
"version": "0.2.0-rc.1",
|
|
27029
|
+
"integrity": "sha512-9MlObGRGkFE/DIp2kHV3GBS5/1zcx6eVysXDfWs9AvMYb0Etk8gJK5nHumyBAIXT97seiaFa30IBITTYemsi7w==",
|
|
27030
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal-round-driver/-/dsh-goal-round-driver-0.2.0-rc.1.tgz",
|
|
27031
|
+
"sha256": "9954d23e8b7686ed66e2273ea1e82cd3f2624222132eccaf5b007bf55bafc899",
|
|
27032
|
+
"modules": {
|
|
27033
|
+
"lib/index.js": "3bca01a2e87de1683fa8b55ad54688eefc4e366c971c20e9afd654db3b5ab450",
|
|
27034
|
+
"lib/invariant.js": "66d6cf4a66dc84c239cd2efaec29606b645ec7f6a8f6c332209464b090df1c83",
|
|
27035
|
+
"package.json": "eb6712fabe459a6e57dfa3c6be10c3c4ccc603dd573340ba4ac514c308618b94"
|
|
27036
|
+
},
|
|
27037
|
+
"programs": {
|
|
27038
|
+
"lib/index.js": "7424d5e5202b23369fed831c932addc766123f637e648b05bfc4f0c1435f43b8",
|
|
27039
|
+
"lib/invariant.js": "02b035daf22e24b83ce36d10cc5341891d2228560022b6d5d947cbf12604cb8c"
|
|
27040
|
+
},
|
|
27041
|
+
"loadingDigest": "9d98137351ceb0635d6ae9b6512a9b3bf5369e7cdae1acdafed7c4723456e339"
|
|
27042
|
+
},
|
|
27043
|
+
{
|
|
27044
|
+
"name": "@deepseek-ai/dsh-headless",
|
|
27045
|
+
"version": "0.2.0-rc.1",
|
|
27046
|
+
"integrity": "sha512-xdx3LXmRmeu1bXBvXOppaitF5UxsudhsIy8IrYpMkIRh63LWVbxJGMTCgwk6pM8Jrg1ayW7vhi8Fw7ewukMDtA==",
|
|
27047
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-headless/-/dsh-headless-0.2.0-rc.1.tgz",
|
|
27048
|
+
"sha256": "57e632a633b08b0d05a5454759d438058a24cfc9b80c5c50a7c7129973758476",
|
|
27049
|
+
"modules": {
|
|
27050
|
+
"lib/index.js": "31a4caa307b6a3bc0133e01d765c9449ff808725058639e32ebf0d020524e267",
|
|
27051
|
+
"lib/json-stream-BA-F3lfb.js": "b6ede8da01119f5caf4baa8051ce8bcd8b956b5b163cf58af91d583b80028c0c",
|
|
27052
|
+
"lib/startup.js": "66bb82dc445d5852de776401a00c1ad963276c741e39749d187c4c292b86330b",
|
|
27053
|
+
"package.json": "bbb9bad4a389d263a6349ddc5d9920f7e35be016ecac8068d8b476775a3084a4"
|
|
27054
|
+
},
|
|
27055
|
+
"programs": {
|
|
27056
|
+
"lib/index.js": "c60f4fe96003b24bcd2c3d173f25f552da1736750a61a3eb18601509c7240d1c",
|
|
27057
|
+
"lib/json-stream-BA-F3lfb.js": "f6c8737078ab95bf80fa2d921cd7d5425d2da1d994c648b9f3fb490adfecc698",
|
|
27058
|
+
"lib/startup.js": "0444aea7aa5190fc45f532ee56bd4cac29e1f317e02728ba6c3379b3dc6612e5"
|
|
27059
|
+
},
|
|
27060
|
+
"loadingDigest": "78bf1d7b0019be5565bc8bcf828b17c819323344eabfc450861fff292f888c63"
|
|
27061
|
+
},
|
|
27062
|
+
{
|
|
27063
|
+
"name": "@deepseek-ai/dsh-host-plugin-inventory",
|
|
27064
|
+
"version": "0.2.0-rc.1",
|
|
27065
|
+
"integrity": "sha512-9jPsILbbodim7gswvWzCuvHgzXbvDMvVnR11pGY+FaSVEt4beWVdSPglxHmGHGbEOotSnhbwUnl6vouyRQo7eg==",
|
|
27066
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-plugin-inventory/-/dsh-host-plugin-inventory-0.2.0-rc.1.tgz",
|
|
27067
|
+
"sha256": "2a4b9d6c33c9eb3cbbfef7cf0c5a59823866548fa64a24c4894ebafcc7cdffc0",
|
|
27068
|
+
"modules": {
|
|
27069
|
+
"lib/index.js": "f8e50fb2e24c92302570a41baa007e409cf4651bed0a65605b0871ba14325d30",
|
|
27070
|
+
"lib/typert.host.js": "dc44ff7a2d5775a7b932ba96688c76803ce776c79303f60fd3b22a19c43d051d",
|
|
27071
|
+
"lib/typert.remote-client.js": "66129f7bd3aabf40020ed60059a6e18712ce7acf8925117212576d05ccd2c6da",
|
|
27072
|
+
"lib/types/index.js": "757079258b5ec9280890180c220a6b9caf3d498b2e71dc63a1ca146a245859cc",
|
|
27073
|
+
"lib/types/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
|
|
27074
|
+
"package.json": "6cef7d98aca9f2d2cc0ebebafe06524d13998f2df2e2a1f1dc8342a935fad0b5"
|
|
27075
|
+
},
|
|
27076
|
+
"programs": {
|
|
27077
|
+
"lib/index.js": "10f002fd905783c52115b2456f55e37cc1af632214d91e553ddb1e60389551a1",
|
|
27078
|
+
"lib/typert.host.js": "c221897b9c4f8c4932cdff99baf118348188df4a819d2ffb0b31739b97c346b3",
|
|
27079
|
+
"lib/typert.remote-client.js": "450d742bc19023ef7c030e3b18cac2f0e50b9a5c6c8efe4f187950f21a5395e3",
|
|
27080
|
+
"lib/types/index.js": "e128c3b8d32cf32ce3aa473ddf6cc5c4c2f2c41c130ce9efe0c28f596ff1b391",
|
|
27081
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27082
|
+
},
|
|
27083
|
+
"loadingDigest": "bac2380c9c39390c6c6ef6d20bdef5a2bb4c3db928dee3f8b062647f57aafd4e"
|
|
27084
|
+
},
|
|
27085
|
+
{
|
|
27086
|
+
"name": "@deepseek-ai/dsh-host-webserver",
|
|
27087
|
+
"version": "0.2.0-rc.1",
|
|
27088
|
+
"integrity": "sha512-/LkuSWupB7vijPty3Iypt9DZrBli9wsNh/E485m+xgo4uBbgloANQA+nyIpB0n+N20zleyV4EFYbe6Lb6k2oqQ==",
|
|
27089
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-webserver/-/dsh-host-webserver-0.2.0-rc.1.tgz",
|
|
27090
|
+
"sha256": "0ebef41935e446f4a8f7241640d0312a8366e37ab4dbff5e67fae5d18a34d46b",
|
|
27091
|
+
"modules": {
|
|
27092
|
+
"lib/index.js": "6efea1375eadeff62d5cfb6d1f515ff75a939d40405a62e5d138e8e7a6b18df5",
|
|
27093
|
+
"package.json": "98ec06b6a0e2a3208268f56e66da7cfcc8931f8d334bfc6cc909ce2317f507b8"
|
|
27094
|
+
},
|
|
27095
|
+
"programs": { "lib/index.js": "b0c70fa39f2e01e0115fb64087659be3920443dc31cf287db2d53cc792dbeb44" },
|
|
27096
|
+
"loadingDigest": "a5b3106e5990d4891e43f5a9711f56b03011dee0a8557dcaf0bbe06780e7a2f3"
|
|
27097
|
+
},
|
|
27098
|
+
{
|
|
27099
|
+
"name": "@deepseek-ai/dsh-jobs",
|
|
27100
|
+
"version": "0.2.0-rc.1",
|
|
27101
|
+
"integrity": "sha512-ewueg51ZSEF+/sLXEhi5ySqFu2egKWI4koBwBciE2sAaOwBY2Ou9BqYUHFN1wGRaUYVZ/DrMpn18c0XBC37j0A==",
|
|
27102
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs/-/dsh-jobs-0.2.0-rc.1.tgz",
|
|
27103
|
+
"sha256": "a096930a52a464e15a9eb9f49edcb2bbb9bf8fd93f0d782ae19c121f34e33348",
|
|
27104
|
+
"modules": {
|
|
27105
|
+
"lib/index.js": "909240e722c34877282c6868cd0e06915669e0ceaef690b1738ae72b4c3ef049",
|
|
27106
|
+
"lib/invariant.js": "afe38795a9485abb3a50a0696e2670571113f90a20e6f4c6fc5fdba4b29c0662",
|
|
27107
|
+
"lib/types/archive-admission.js": "bd07b6e184331641ca4f9720c2405097b27040efe23d1eaaa1c68dc351ccc718",
|
|
27108
|
+
"lib/types/brand.js": "a72a6e317ac1adb10352bfda79c1de3b5999ad7625eac487e952576e0d26daea",
|
|
27109
|
+
"lib/types/index.js": "97dc78378b0537b431313fb1b8dfbcf06f09b4a85feacde07d5064764a0318bf",
|
|
27110
|
+
"lib/types/invariant.js": "8d7b9de3a4928849ef504ea379642e4c60826ec0032ff92ff6fe89839f7fb490",
|
|
27111
|
+
"lib/types/types.js": "f0761bbfcdfd477f36a2fc181d328cc4e1c89b157cabd00426c4151a67b00ba9",
|
|
27112
|
+
"lib/types/view.js": "a83eb92b29b5f9f747211fd0cc66d44dff47784f77a2b32f96d0d6f8fdf7b4e0",
|
|
27113
|
+
"package.json": "9d810293ccd369ba93e636b8f868b7cfbac1c55d3e5c222fcfae8281a69633fa"
|
|
27114
|
+
},
|
|
27115
|
+
"programs": {
|
|
27116
|
+
"lib/index.js": "a3ddd087677521a51f4c1065ee87e57295e0e3187a93e049109e54ecbce85bb7",
|
|
27117
|
+
"lib/invariant.js": "47327bf113ae9c0a1f240f697df15e8c5111472eda9bfec7ff2fa59baa3f63cc",
|
|
27118
|
+
"lib/types/archive-admission.js": "23fee40642c845c02f2498329ee3367908665129d1772c8171d8f59fb32a6055",
|
|
27119
|
+
"lib/types/brand.js": "d09800469dda7b6b692aa47d0001e3013928b753878244488195986307002d67",
|
|
27120
|
+
"lib/types/index.js": "5ad9c610e11ed44805b7222c9de1fa4896296511b171d5dc6e1cae47a7c4bf84",
|
|
27121
|
+
"lib/types/invariant.js": "d4d980d0a93f783cbfbed29b5fbf9cd6244cdc2632b6ccada624fe78159811d3",
|
|
27122
|
+
"lib/types/types.js": "ba8bb16a02cf17594a7084afbb7d48926ba5d135205821dc32e62b3f3fd0d7ce",
|
|
27123
|
+
"lib/types/view.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27124
|
+
},
|
|
27125
|
+
"loadingDigest": "a21f146983f3554f86eff34a134ca3ae6af882610fe92e4f56bbcc2e487db07f"
|
|
27126
|
+
},
|
|
27127
|
+
{
|
|
27128
|
+
"name": "@deepseek-ai/dsh-jobs-local",
|
|
27129
|
+
"version": "0.2.0-rc.1",
|
|
27130
|
+
"integrity": "sha512-h8N5VxKl+cvc6NoZ73ymnFTyf2HPlzbAImEjvzmmhMPiotooXSFW/YCFAimrL883L9m0d4XZBsJOnlLekfHNFQ==",
|
|
27131
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs-local/-/dsh-jobs-local-0.2.0-rc.1.tgz",
|
|
27132
|
+
"sha256": "9a860b0cfdb15ef3babca22e22e23b5e4a6a035373eb2120717d9a851024fcf0",
|
|
27133
|
+
"modules": {
|
|
27134
|
+
"lib/index.js": "3bed0cd38c649f39b148752e742ff1ef57696a6b9b11b15ff8cc6cd1d4f08f26",
|
|
27135
|
+
"package.json": "f5f62efb897c568eb0a0f41bd13ffdebc06490790db9c49fb7d8e0ff1f2541bc"
|
|
27136
|
+
},
|
|
27137
|
+
"programs": { "lib/index.js": "f045c307bccf2d8b873f86e427d3235a56568779fcb526228444692745ad43d3" },
|
|
27138
|
+
"loadingDigest": "38f0a6ca909766b116c5246823043c5c3e38598e82c3187cbbc4f814dd8104d8"
|
|
27139
|
+
},
|
|
27140
|
+
{
|
|
27141
|
+
"name": "@deepseek-ai/dsh-llm",
|
|
27142
|
+
"version": "0.2.0-rc.1",
|
|
27143
|
+
"integrity": "sha512-F5ZlBG8z8o5PfEWeEF/PN9t/A1N/oEErvqmpqE4J8f9mJR85DvBdV+rjDs7OjAbMJsJ8INjkbroruG5NNKDg5A==",
|
|
27144
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-llm/-/dsh-llm-0.2.0-rc.1.tgz",
|
|
27145
|
+
"sha256": "8fc47d00410abc90f802e1648280b2b63350e42395e260d0efc58e8c5f08947c",
|
|
27146
|
+
"modules": {
|
|
27147
|
+
"lib/index.js": "9132c8a8053ee82b9fb1ded4f98c85cf557f288a15a85c552c6b1fb319ead120",
|
|
27148
|
+
"lib/invariant.js": "8cb78641252b7a41523fef2c571dd42c698de4c9475dd91683191cefa4dced48",
|
|
27149
|
+
"lib/typert.host.js": "49bac9ae980b700f4c20d71896595d5282642e818569d1556d221fc4c3679a22",
|
|
27150
|
+
"lib/typert.remote-client.js": "8be01248041bd25c89117f1ad76934638f74808166bc1f0ae027a6ed24a5c6e8",
|
|
27151
|
+
"lib/types/adapter-failure.js": "f1213f11f11e0f20aae26c09a5e0cf3d72512c1f1519e1b3f107edf64af43c28",
|
|
27152
|
+
"lib/types/api-key.js": "254b774234c0bd38dd759765c0fd1e60788651a22106f5559ec2760a39935f2d",
|
|
27153
|
+
"lib/types/assembler.js": "35a4754ab854055942b9142934c595c3e6358a717947daa2d8d89847aef988f7",
|
|
27154
|
+
"lib/types/assistant-stream.js": "7e0cc96a4d60aed34381b552f9cb4549d70df36dbd28c0630da4cd93fa44b7a1",
|
|
27155
|
+
"lib/types/attribution.js": "6f61d7b685175f7c74ed2a0498212258240f2a7fd93e939349cf7daccf33414b",
|
|
27156
|
+
"lib/types/brand.js": "6b70219e0478d3307d865309523e7e7be3f169b06c04f4eef0d49b54aaef72a2",
|
|
27157
|
+
"lib/types/call-config.js": "170f3ce7c7136b93087e2f5d50faa8b69815894ec3ebdf26c36d57e4c7a17a03",
|
|
27158
|
+
"lib/types/content.js": "79802e2e6bece64114c8f6857943c2cd23742bd2c20b067cd06298d397f9b85e",
|
|
27159
|
+
"lib/types/error.js": "2a630a88b278ef18da72abbca0e1288b7a6b221434cbe51a69aeaf70d178da4f",
|
|
27160
|
+
"lib/types/index.js": "23d7367c444252733783e682f31badc56d25ec08bf8817a056892b2b805e8f1e",
|
|
27161
|
+
"lib/types/invariant.js": "31e6ab4e29731d461b2bd49fd285666ea1a1fb96fa71ecd5c449c6c27e95d889",
|
|
27162
|
+
"lib/types/message.js": "c87812f77a2afd284f271af071575edcadfde3daa7b6554d77b96810ce4688e0",
|
|
27163
|
+
"lib/types/retry-policy.js": "f0a8fe075ac24c56ed2aa5d5e359a85539f5ffa237af54b68d3f4fc5124b5d83",
|
|
27164
|
+
"lib/types/types.js": "14106d660103de2db746964fbb5be90c5eb2a7ff736779e2501e9faff956cbf5",
|
|
27165
|
+
"package.json": "7255a085c517b8ae60a751533a871ef32a370b61a2eafc80901d3959b5ff9643"
|
|
27166
|
+
},
|
|
27167
|
+
"programs": {
|
|
27168
|
+
"lib/index.js": "9afd2af0666b5574d461092a4a3e1cd08ab07e412a51ff999d9dfc5096bf50e4",
|
|
27169
|
+
"lib/invariant.js": "055b3783ab0d070598b830d01bf07f21c6f8efee91eb89b72ef05a75f7d2d60e",
|
|
27170
|
+
"lib/typert.host.js": "512e8aaa8b2e73829474aa6803108e27d56b054111399c19b9e75b6164de41b6",
|
|
27171
|
+
"lib/typert.remote-client.js": "fa4a384abb4e1bafcf3c43a9043e5bafe198d55c28c2b31d5a3868c8dfad9ef3",
|
|
27172
|
+
"lib/types/adapter-failure.js": "c571e84e60dd5e3e60fc2ebd7c9b6650cb1d9eb86f5b4cc208b00c2d9bec5c03",
|
|
27173
|
+
"lib/types/api-key.js": "0e10fc8e2737d8f0ce092517d629928df6825c698048bd2a941182dcfd89bc3f",
|
|
27174
|
+
"lib/types/assembler.js": "f8318a579e1276a37823faec87dc8d2fe04822cd59da62615f6c6197b856b787",
|
|
27175
|
+
"lib/types/assistant-stream.js": "cfc1dd13092d98758e4fc42729e738d36ea087eca6780df5e7bd1bf5f7bd86fe",
|
|
27176
|
+
"lib/types/attribution.js": "2431d3ad09c8850e80c6bacc8a75b1103313d17e2f1b19f15795372f73ee7ded",
|
|
27177
|
+
"lib/types/brand.js": "74738a90eff8875d2a07900769f7fc3fb7ebfdd0ad2cc59696a35da1d5181392",
|
|
27178
|
+
"lib/types/call-config.js": "2cd854c3b1ba061f29c8de2f1ee49ddd112b2948e2c5b35cf53de782a70c8c9f",
|
|
27179
|
+
"lib/types/content.js": "77267c51ed16f8511c336b0cf69f2f2ffe2b8d27c16f4950deeaec82109d1038",
|
|
27180
|
+
"lib/types/error.js": "cced43803403777def3d37bcd4be60ba0b4852d162410ad34b13fa886e8ac33a",
|
|
27181
|
+
"lib/types/index.js": "68b8d4663d6c1a1d631cac40195c65697a73e8d38eb274c6e0e5b05b84796d01",
|
|
27182
|
+
"lib/types/invariant.js": "80736ac01b0b98c24908dcdce249ca5fead6e593aaa1fcf9a2cfb1bae6376092",
|
|
27183
|
+
"lib/types/message.js": "c065bac7cc1052ed136aa8fb9db4d1ff0c57fb4940313614ed18ebb18a57eb78",
|
|
27184
|
+
"lib/types/retry-policy.js": "a1d4a7ee0cbdede6fe666f1529455f6f73703a4d04e96ff957b1251ce12d901a",
|
|
27185
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27186
|
+
},
|
|
27187
|
+
"loadingDigest": "11ed0054e954fa8cadd72c2a9c989c886f3b00b0c59decc4b293c5d3ae44c4a2"
|
|
27188
|
+
},
|
|
27189
|
+
{
|
|
27190
|
+
"name": "@deepseek-ai/dsh-plugin-manager",
|
|
27191
|
+
"version": "0.2.0-rc.1",
|
|
27192
|
+
"integrity": "sha512-5GVhQcwQi1O9UG4YTNgvR+PO3BDV9+XAAF2+YrIm2ycFwQ60bk2wevpepm7Pcw+g4dD9pmjigg4OY0pC4YBHjg==",
|
|
27193
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-plugin-manager/-/dsh-plugin-manager-0.2.0-rc.1.tgz",
|
|
27194
|
+
"sha256": "02879d58e0ee75edfde2d1cc5a39c63cbbaa61bc21ee3cf311ea5218d23b27fe",
|
|
27195
|
+
"modules": {
|
|
27196
|
+
"lib/index.js": "f46a48b3422927eea5605a70b78502e06ef9ceaa29d7a73f4a7f742361ff51c8",
|
|
27197
|
+
"lib/typert.host.js": "fca5b000a2fdd995d56da7ba21a33921e4765898332db283c255df0cacac4b25",
|
|
27198
|
+
"lib/typert.remote-client.js": "41292d52847b26265f4b55807ad3118b75d46a02edc7bbb66ab04cdc2f88822d",
|
|
27199
|
+
"lib/types/build-approval.js": "a94c5e9217cf7c94af97e73910a292e63a9b54bd2a2bff44739f616c792394c4",
|
|
27200
|
+
"lib/types/failure.js": "144c57fa0f5e7c1fb9d850f97d80d46885e92aaf6cbc4b6180b9797f07de2303",
|
|
27201
|
+
"lib/types/github-connection.js": "0f3acd07fdbb50e7c73b147a242b69281c446d12a15004bd75cf078679936c30",
|
|
27202
|
+
"lib/types/index.js": "0332934b288025bbaa89d73e782cb1347d9cafc5c92025b5caf51308ca471b92",
|
|
27203
|
+
"lib/types/install-failure.js": "fc22ec581dbf3a04ebed6fa2bd9785298a8cd80873a999cb909e9a7e45f7627c",
|
|
27204
|
+
"lib/types/install-spec.js": "27ae5899b75ec2dbe113aa0c35874d983ddd345285bfaf5502e8ac5da26241ea",
|
|
27205
|
+
"lib/types/operations.js": "bf511a06b6ff2d7aab1f7725fcc80f304eb32a9541790e22cd28f8a9617b2c68",
|
|
27206
|
+
"lib/types/patch.js": "cc014a3a09880220026a22792d49628e484edfe99ba4e03658b64891816adfb5",
|
|
27207
|
+
"lib/types/registry.js": "9b8e2a742c989c4741dc4e5a2ba25a00b305d71b5eea90213d24a38ebb53ae5d",
|
|
27208
|
+
"lib/types/run-tree.js": "3e65f458bd298dd2d3a8e3b48b30d771bb8e60a097bc2e6e924dad647f953e4b",
|
|
27209
|
+
"lib/types/tools.js": "b7314b13486bd32657b20b931826a5f91bf2c421983438f29f7491ecd69d8eb0",
|
|
27210
|
+
"lib/types/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2",
|
|
27211
|
+
"package.json": "8cb610f905ccf45fc6a2bd0db78e336a3ae05824d1f09e882594ab55af15bdb7"
|
|
27212
|
+
},
|
|
27213
|
+
"programs": {
|
|
27214
|
+
"lib/index.js": "1d96c11c99db39da0960084c808ec67e097a2ce9ff05232d8e1252fcb7c92714",
|
|
27215
|
+
"lib/typert.host.js": "7097d160ec797056f2c305669ee891825b4eb4ae687d79eb6d8803adbf910550",
|
|
27216
|
+
"lib/typert.remote-client.js": "e84419d2efd4869140230be52ea05d1503bbf9754bd597c5eee3138be6ee6106",
|
|
27217
|
+
"lib/types/build-approval.js": "9ffcf7c5197dea8ee245b4b785249543b78f1f4ebcafb715782dc3702d7f2634",
|
|
27218
|
+
"lib/types/failure.js": "65d11e7ee0de6bb654f5f8043c65e68b75f9cacea1dc7662cbb665e0ebb31aea",
|
|
27219
|
+
"lib/types/github-connection.js": "e453b9ca17a06e279e5ff657f351c3a71671515d3412e3574f69ddb0de39f682",
|
|
27220
|
+
"lib/types/index.js": "d016158f45e808e1284e9c308c551ea330586fe667ffadc38d562bbe9ca4597b",
|
|
27221
|
+
"lib/types/install-failure.js": "8f4b491b61a3127e587d39dd1a8cc4039b5b9f8eac79993391b073c9e0f04ba0",
|
|
27222
|
+
"lib/types/install-spec.js": "cd9bb9831a1ac7ab0bbe21230eacfb0df65dedbb66fd0acbf833de2b68d1cefe",
|
|
27223
|
+
"lib/types/operations.js": "db34772938f440315c05b3f9ebfad53bd900ac18c372c441fe76eb5625109ba5",
|
|
27224
|
+
"lib/types/patch.js": "daee69ee2ebe04f6f0119ebc4c0f0d3df854766426300cad04c303fe45cf158f",
|
|
27225
|
+
"lib/types/registry.js": "ea79cc0de53100722bfbb0159ebce8a1116101c8d171b974f97775fd2d2bcad2",
|
|
27226
|
+
"lib/types/run-tree.js": "f8be76dc4b9890935c4db2e636774c0a2f30576beedb1c2fcf636d86f68903f5",
|
|
27227
|
+
"lib/types/tools.js": "9dab7451db4dff6edd0cec0a321c13c8d34d37383ecd3135235d02afbb6c85ca",
|
|
27228
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27229
|
+
},
|
|
27230
|
+
"loadingDigest": "7d0f18d29e6f8ee50c49091ddc179686efe0a569568e3894662c7a43d1bbf569"
|
|
27231
|
+
},
|
|
27232
|
+
{
|
|
27233
|
+
"name": "@deepseek-ai/dsh-ptc-runtime",
|
|
27234
|
+
"version": "0.2.0-rc.1",
|
|
27235
|
+
"integrity": "sha512-bz4ObfDeRZyBCejUMrSiDKpIffCImGafgktIWqTEAqNCprVWLRUHT+rHGFPcxHJRBsvxFQLlXHkYc/ccfqIB4A==",
|
|
27236
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-ptc-runtime/-/dsh-ptc-runtime-0.2.0-rc.1.tgz",
|
|
27237
|
+
"sha256": "2859d0360281d8312a3c58e89bf527b07bb7659269b0b73dccdbd2723e4c8f85",
|
|
27238
|
+
"modules": {
|
|
27239
|
+
"lib/index.js": "a4c4c2f87e2708c8b19b6e3faf5a0383968984612424a525ae36ce24ebda0cff",
|
|
27240
|
+
"package.json": "9aef21b169a5b665336caa1c8a5a1dc1e41c28ddff69daf28577cf5e35154217"
|
|
27241
|
+
},
|
|
27242
|
+
"programs": { "lib/index.js": "2cce6f19ca57740a864a07852bc885d4114c48711326b83a50cabc302e892e3f" },
|
|
27243
|
+
"loadingDigest": "bae6af62627d8d58de77d8222f9dcac4c4a41af6a89fd7f9fa579a5f43e7e7fe"
|
|
27244
|
+
},
|
|
27245
|
+
{
|
|
27246
|
+
"name": "@deepseek-ai/dsh-pwsh-local",
|
|
27247
|
+
"version": "0.2.0-rc.1",
|
|
27248
|
+
"integrity": "sha512-iKi2MdBcU1B6y0qe6oDvB7JUPL2DyMOfmNGww/+4eFh8jRnlJe+uoTJSRmcq5ofKHzChWfuuXpepiBJr9NFt7A==",
|
|
27249
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.2.0-rc.1.tgz",
|
|
27250
|
+
"sha256": "effecad22900271997bfce9d2da31940d9c54b896aa895859df7fefb5bc79c10",
|
|
27251
|
+
"modules": {
|
|
27252
|
+
"lib/index.js": "8b7b57eb7f6c597caa5ee72e4dfd88cec7b5ac51e450ed3521b6b6b29306b88e",
|
|
27253
|
+
"package.json": "65cee3e788b661f07ae97029e7cbb190cd8210e381da1002936f83cee8164314"
|
|
27254
|
+
},
|
|
27255
|
+
"programs": { "lib/index.js": "4e2cb7f3aeaf7cfe3380c9fd7b0b48c06313060680bd9fefc639aa2cdca67fc7" },
|
|
27256
|
+
"loadingDigest": "c3e055b258a2022af26ff6959719692297a898f84cd2ca812345af6091f4d16c"
|
|
27257
|
+
},
|
|
27258
|
+
{
|
|
27259
|
+
"name": "@deepseek-ai/dsh-pwsh-sandbox",
|
|
27260
|
+
"version": "0.2.0-rc.1",
|
|
27261
|
+
"integrity": "sha512-1vxcRjpRCk5ynQn1+QZM407P9v2oeFztZatg60Ti6LBO1JoXUBDdtcGDtpD+MXOu7LT/wxRdNpqnCyqXs5k/Ig==",
|
|
27262
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-sandbox/-/dsh-pwsh-sandbox-0.2.0-rc.1.tgz",
|
|
27263
|
+
"sha256": "814e75a90b29560fc6390c1318bc4c177c5d87afdad0e6d0eda9f5820986fd3a",
|
|
27264
|
+
"modules": {
|
|
27265
|
+
"lib/index.js": "bed19d2cea875b152f9e811116b59c2a45e6711b1c6cf1d8bacc4d20e15c6783",
|
|
27266
|
+
"package.json": "7b0785ef8cbdb64df136e3f05d998c1b10d7aed038541512420e8237883a9d0e"
|
|
27267
|
+
},
|
|
27268
|
+
"programs": { "lib/index.js": "23755f4bc2a1797364c319e7a7954998925e39eaaa7e3bb223c7b15544a826bb" },
|
|
27269
|
+
"loadingDigest": "ed543842b927a8ea370c850ffb1e4794dc64be9cb795567c83261ab0407b9ca6"
|
|
27270
|
+
},
|
|
27271
|
+
{
|
|
27272
|
+
"name": "@deepseek-ai/dsh-sandbox",
|
|
27273
|
+
"version": "0.2.0-rc.1",
|
|
27274
|
+
"integrity": "sha512-NnEHqSf4SKoM5cIqtHg+utLUZYJX4r9u2PwQbEpYwiOYSvOW5G4DRtLRpIX7J6V2HOC6CXo2Xcm3DJBOsbKYOA==",
|
|
27275
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox/-/dsh-sandbox-0.2.0-rc.1.tgz",
|
|
27276
|
+
"sha256": "0b1c6e45b6b2f0e1bf07403e355b2e009ff3735d503c83446d7794ed04760b16",
|
|
27277
|
+
"modules": {
|
|
27278
|
+
"lib/index.js": "b56373befbfcfe281c17c8892e9a4b2cdcb96851290b3ed0ff56b08915e2f743",
|
|
27279
|
+
"package.json": "c819086d3245ccc6d006627637fd9bf7f450e9af3f39531129487e39572580ca"
|
|
27280
|
+
},
|
|
27281
|
+
"programs": { "lib/index.js": "65c26fbec4020c6c5be45f62317151c2d4b082409099415dcfd21962535d4dd0" },
|
|
27282
|
+
"loadingDigest": "b4c44dc5d88a2eebd5145567efce78827bd1bdeeb532f5865eaf907ce2dd1032"
|
|
27283
|
+
},
|
|
27284
|
+
{
|
|
27285
|
+
"name": "@deepseek-ai/dsh-sandbox-policy",
|
|
27286
|
+
"version": "0.2.0-rc.1",
|
|
27287
|
+
"integrity": "sha512-O850xvmnU+Bxpq7F7d0QjiFm3Y581GwFxfvBvLohzyAC81M6iXGBrbxt4EcX/CUPJEIHB0KSOUrX9/3xQulNZw==",
|
|
27288
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox-policy/-/dsh-sandbox-policy-0.2.0-rc.1.tgz",
|
|
27289
|
+
"sha256": "4058a212d031fafb2c073e49dadbdf52b07cb1b2d937f4f3fdc12dba816c7c30",
|
|
27290
|
+
"modules": {
|
|
27291
|
+
"lib/index.js": "772ca58f0f786d6cb4d839deb621634c31097c13228d81b14e3f3153d0524924",
|
|
27292
|
+
"lib/invariant.js": "265d56bbd39b0c383a6d8e5f07dda3a56d3bffcc69424b60a40babe99856873a",
|
|
27293
|
+
"package.json": "30bbef60ae3f30666ed9ae5718a629de22460c65d04902f9dd9d2b7719cc07dd"
|
|
27294
|
+
},
|
|
27295
|
+
"programs": {
|
|
27296
|
+
"lib/index.js": "e6cdd6cb194a74188917ec769fd289f47641d943af5053cac004ba7a47681b4b",
|
|
27297
|
+
"lib/invariant.js": "8d49b466edf0f0db733e2a4af5233e36e28e9c2d13a955841801b03297af2722"
|
|
27298
|
+
},
|
|
27299
|
+
"loadingDigest": "0ac97ed1268223acf55fb3db47435f32431a0c39e62175000dedabc2ed5f28dd"
|
|
27300
|
+
},
|
|
27301
|
+
{
|
|
27302
|
+
"name": "@deepseek-ai/dsh-session",
|
|
27303
|
+
"version": "0.2.0-rc.1",
|
|
27304
|
+
"integrity": "sha512-KUDCUk8kmiJCwvV3gDbkUSpkyoGHdg36nIhKsEh6iBoYDuIQCuvX2htiVRXCm099XZO6rCBVInmm1193UoPYcA==",
|
|
27305
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session/-/dsh-session-0.2.0-rc.1.tgz",
|
|
27306
|
+
"sha256": "56ee80a9b292368ce9959b348f8b933e54d7c4456a032e05e3d55901708d4e49",
|
|
27307
|
+
"modules": {
|
|
27308
|
+
"lib/index.js": "87ea85e2fb5318bf1f826db9a1c88c1b26d3ea328027a7f32b211880c4d62b9d",
|
|
27309
|
+
"lib/invariant.js": "53066dc4945c0159fb5b48944b578a2d2d22f2f3bd5042599f2f6278edc84466",
|
|
27310
|
+
"lib/types/fork.js": "72ca7ae2cce506eb607e565f2e6b15fc6e3c2663de8403f79e37fc3a469e34cf",
|
|
27311
|
+
"lib/types/index.js": "71b3a3578b85704f026b590462e7d5e8bceb6dededd4e8782a83696138ec7da7",
|
|
27312
|
+
"lib/types/invariant.js": "975e1640ad5dba930b6031315ee7d98dd01151155d2db7e993021de1feef4f32",
|
|
27313
|
+
"lib/types/known-event-types.js": "8f38e6fc9439bb4e47f2bd3aa21c86d5141ef9679f41181c9d9a48765c67d3be",
|
|
27314
|
+
"lib/types/preparation.js": "78dea29f5e11a4d220945a572b3eb26cb66460e6a368a423bf597c3ef05a5faa",
|
|
27315
|
+
"lib/types/repair.js": "ee2e02d4e924bf01af621c38c27e030b89eaa8e0abfdf801a6220eca95aa2038",
|
|
27316
|
+
"lib/types/request-header.js": "3f73ee59af794df50df159a9c45c606f0fbce364c482b371831d1e8f26b87aea",
|
|
27317
|
+
"lib/types/seq-ranges.js": "68a127c76affa98edeeb50e302eb43f154f4d24f7d04cb95ba8b323e88f3d09e",
|
|
27318
|
+
"lib/types/surface.js": "7e9d4bd3b7c5b2eceed0f8b035e9c021237c72baa2b53e4c6fc941e8b417580e",
|
|
27319
|
+
"lib/types/tool-history.js": "2d2c4f4cbb6717aa2f487af52ce6a81e2002ce2c768cb5a4210c867ec49a0e95",
|
|
27320
|
+
"lib/types/types.js": "a03acad09eec657b94441109af0da31b5b29668feae35d1b9e72fd99beca505f",
|
|
27321
|
+
"package.json": "2f443f9ef9f0e4dd5b975641a41694bc24596fab629abb51c42969b7c8c0e01d"
|
|
27322
|
+
},
|
|
27323
|
+
"programs": {
|
|
27324
|
+
"lib/index.js": "9651af6288386b1d01a8a1cc096b4da63763e0958aaf68d0ef081f1fcb3bdd20",
|
|
27325
|
+
"lib/invariant.js": "3acff48f80faa83e2cbdc9587e6796ded28cb26481ed0018015f7ea935009945",
|
|
27326
|
+
"lib/types/fork.js": "3e0864827e6549c55671f223ad42f155edaf4fef0268b2a203db7c60b15c7199",
|
|
27327
|
+
"lib/types/index.js": "f3ac8b0a33879e6de9b00c44393ed6eeae225de487411910a927655c4fb7cd37",
|
|
27328
|
+
"lib/types/invariant.js": "f91d6ce96ed4b0dde07f2682eaa4666ae39fe1c6e2a90c2462bb08a2133d843e",
|
|
27329
|
+
"lib/types/known-event-types.js": "40ac520c8c2c01fd835f7b19cdd94ac5863cd717bde5e00b6e65d4851f186791",
|
|
27330
|
+
"lib/types/preparation.js": "ecdfaae0935446a69d242a0b9c77ca62954f8c68fe30dc0e3a0b858402023a8b",
|
|
27331
|
+
"lib/types/repair.js": "05ccaf6d1fa81e8715a34a8d82317e91f714a399067dadd83230c3a84d8f1b20",
|
|
27332
|
+
"lib/types/request-header.js": "39c9649ebc8c4a51cea47a67398d904b80bf81d6e03f0dea0fadb1cebd116f9c",
|
|
27333
|
+
"lib/types/seq-ranges.js": "89edd0f398abfac359eba0130c9b1f525a363c48a656d34edabd9f9aaea8499d",
|
|
27334
|
+
"lib/types/surface.js": "a148742e392fb75a1993a5dd89866cee8bb0b90d2fd22d8a5f1df9310b1b383d",
|
|
27335
|
+
"lib/types/tool-history.js": "daa7e0e3e791f1b7001ab5567376faa493d9609ca5899182f258c43dc4d84911",
|
|
27336
|
+
"lib/types/types.js": "10e24b6be50f234352ffcdca6d57c0c185ba64843b6db2e1bf1e3286abf0635c"
|
|
27337
|
+
},
|
|
27338
|
+
"loadingDigest": "47ad4022ceb88fee1b13b5ac947443f96ce253dfb22f8c39ac397280ad29692b"
|
|
27339
|
+
},
|
|
27340
|
+
{
|
|
27341
|
+
"name": "@deepseek-ai/dsh-session-format-v3-to-v4",
|
|
27342
|
+
"version": "0.2.0-rc.1",
|
|
27343
|
+
"integrity": "sha512-vnplfHQOqTXpe7EMN/0h0VZyBS10+kzzjm5x/X01iu5lynbOQs2jRdi4Lrzp9fgnAUEJYaESZZLlWKY40arLCw==",
|
|
27344
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-format-v3-to-v4/-/dsh-session-format-v3-to-v4-0.2.0-rc.1.tgz",
|
|
27345
|
+
"sha256": "fbee2c059776093ae18889bf8ac82ab3397e2e42c5ea2bb2ecbceb7bbfbee499",
|
|
27346
|
+
"modules": {
|
|
27347
|
+
"lib/index.js": "382a3f28b95e0b9504969ac6f407f909aef0ba4699c3175d36c0ef91b31cfde2",
|
|
27348
|
+
"package.json": "72632c0f2042c2db7f42012ac198e3504a19dc4919c2ebd58267d0238c80429c"
|
|
27349
|
+
},
|
|
27350
|
+
"programs": { "lib/index.js": "6145523403f90c1984c02da07549762f3e04fcb302b5e314a001f7c3f962805f" },
|
|
27351
|
+
"loadingDigest": "5b040372a4432fafc6bf1c0e04be48d1be916c3495816d4e8dd30468952121a4"
|
|
27352
|
+
},
|
|
27353
|
+
{
|
|
27354
|
+
"name": "@deepseek-ai/dsh-session-persistence",
|
|
27355
|
+
"version": "0.2.0-rc.1",
|
|
27356
|
+
"integrity": "sha512-OAHmDpR3LasgEXzpmGyajlgcG5tOEzlUSclovllLtKaY402hcTn6Vm7W/EzRMwc+jvSfEQyXDY1g7wG3t3Ch+g==",
|
|
27357
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence/-/dsh-session-persistence-0.2.0-rc.1.tgz",
|
|
27358
|
+
"sha256": "af6ff71617c6e1df006c88a873c7416552cdc1a1317fb33c79bd3279c49a3a26",
|
|
27359
|
+
"modules": {
|
|
27360
|
+
"lib/index.js": "cc0b6d3a224133af611b428d5a49020e300f86c3b4ba28037aeb219029bde3eb",
|
|
27361
|
+
"package.json": "a5a768a7fa9dff906404056185bdf186dbecd12e62b0725a762fc71fc4269df8"
|
|
27362
|
+
},
|
|
27363
|
+
"programs": { "lib/index.js": "9ba15ebd7b22c52163c672b518e0ea1a2a2c23662695cc932e1f3726cdd51154" },
|
|
27364
|
+
"loadingDigest": "ada72328490fccb2f2a6f5f747a473e106fcca5e3d086786b6896b8f110e54ac"
|
|
27365
|
+
},
|
|
27366
|
+
{
|
|
27367
|
+
"name": "@deepseek-ai/dsh-session-persistence-jsonl",
|
|
27368
|
+
"version": "0.2.0-rc.1",
|
|
27369
|
+
"integrity": "sha512-16hp5zx1Q1SIVJfQI/hrxASHMkE/r+pHeELn1b/GZCpKwCD1nwiQapqHhgq/+WEb9SRvRpWAxE5dQWEscZghEw==",
|
|
27370
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence-jsonl/-/dsh-session-persistence-jsonl-0.2.0-rc.1.tgz",
|
|
27371
|
+
"sha256": "5f26f58226db1c8b9fabb21121176360826cc0b8f9ecc183ae5c78ca89e12ade",
|
|
27372
|
+
"modules": {
|
|
27373
|
+
"lib/worker.cjs": "cadd901598e2bb8a847409a980f59deea639eeadf21e30da324fb674a4ed8038",
|
|
27374
|
+
"lib/index.js": "0845707017acc2b4a8a75eab2244fa3fd88587b8094ab32014321dce7ca1e31b",
|
|
27375
|
+
"package.json": "01debc5bef48135fba71b78f9f0212e097f7a31ad30a14a64c3f6cb12638ef48"
|
|
27376
|
+
},
|
|
27377
|
+
"programs": {
|
|
27378
|
+
"lib/worker.cjs": "cacc573e51f6c37084d06bb04b8aa74f41f96615ad38055b2594f88083406681",
|
|
27379
|
+
"lib/index.js": "4d4e99e13a1c2cffec557d01071f5cf2c811fb0904f3cd0b4b67655a3334e160"
|
|
27380
|
+
},
|
|
27381
|
+
"loadingDigest": "8475d09a64f63d103c07ab7346d7098ab2e0df44b1b1e2336be9d3cf4ea5c319"
|
|
27382
|
+
},
|
|
27383
|
+
{
|
|
27384
|
+
"name": "@deepseek-ai/dsh-session-projection",
|
|
27385
|
+
"version": "0.2.0-rc.1",
|
|
27386
|
+
"integrity": "sha512-6ymxQyycjXlxayjgVfxAsQv8POk3oKny/mrpxPcz30/Sv8FRsWnEnKaWf1pQvlBsGQcN6atOqXWsNyvHSyT/zw==",
|
|
27387
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-projection/-/dsh-session-projection-0.2.0-rc.1.tgz",
|
|
27388
|
+
"sha256": "f4518edd373985721a7615c9381b5703434f38b6b31cff15d7bfd3b486443b3c",
|
|
27389
|
+
"modules": {
|
|
27390
|
+
"lib/index.js": "022f1d13e25aeb3c18e10407d84c69e018c1c05a65c9ee36ed14d89b185a4fa8",
|
|
27391
|
+
"lib/types/index.js": "f3daccbaa1cc82749411fadc7923ff9275cc96b7ec594e65f3e01a3dbbe29444",
|
|
27392
|
+
"lib/types/types.js": "d6b9f7a57fe4dacd7b1a6403a34e6cd1ccd088c2e024e02cbf577166faca6ffb",
|
|
27393
|
+
"package.json": "ac165c17714f1af15fc9018a06d7cda0fdab44bb4483ab16eafdc282b9f2aafe"
|
|
27394
|
+
},
|
|
27395
|
+
"programs": {
|
|
27396
|
+
"lib/index.js": "0893b519f2b8c9957e229e159ca3da0e84135b7574251eba1cd5e2b6e2158808",
|
|
27397
|
+
"lib/types/index.js": "42eb631f64dff8d190095e0cc0cc7aa746b688d52d4ccf7abceabf1362b2c3ea",
|
|
27398
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27399
|
+
},
|
|
27400
|
+
"loadingDigest": "e0d506e976f0c0820d6769bf9398dc786e066a546fa1d12d62e6431b6239389f"
|
|
27401
|
+
},
|
|
27402
|
+
{
|
|
27403
|
+
"name": "@deepseek-ai/dsh-shell",
|
|
27404
|
+
"version": "0.2.0-rc.1",
|
|
27405
|
+
"integrity": "sha512-gdugmqfA+BA1y+qLxHjtHuw8Jc1Dnar2dCaKlawagUxnBCK7mcqkYstTaeiANM7o+2tWELLIt/Pjj46PnMY8iA==",
|
|
27406
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell/-/dsh-shell-0.2.0-rc.1.tgz",
|
|
27407
|
+
"sha256": "85fba32b588dd3ff0bb990d102a043f9eb2e2ba39ec45c8fc815bdbf1a79fbf8",
|
|
27408
|
+
"modules": {
|
|
27409
|
+
"lib/index.js": "6c5aa32fda2d92ef827d949480fd32cb4867f811ce06e875e70c59ab2c9261b1",
|
|
27410
|
+
"package.json": "a2967633b7fe3ab32cbdf807e1bea04363b7441bc2b802f2257819abd12b28e8"
|
|
27411
|
+
},
|
|
27412
|
+
"programs": { "lib/index.js": "acac3b2a24b6341887e38401f79b0c311147d1778c0dce9847801cbc3aa88c93" },
|
|
27413
|
+
"loadingDigest": "109d3d27b92d74b80e41e5ef60bd42dd1d378c6b759288d1a929b6f631552918"
|
|
27414
|
+
},
|
|
27415
|
+
{
|
|
27416
|
+
"name": "@deepseek-ai/dsh-shell-env",
|
|
27417
|
+
"version": "0.2.0-rc.1",
|
|
27418
|
+
"integrity": "sha512-4qOlCOg7Bs/dieRpYFK5aTycWLuJU3RLsbGHtgwz9hyjCyI339pCR9Sd4TyZstENhPHI9k/mjKy1IsbT4T+wig==",
|
|
27419
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell-env/-/dsh-shell-env-0.2.0-rc.1.tgz",
|
|
27420
|
+
"sha256": "4983c6317892ca5cce6e0d16378ddf47293f571fc667d3ab11816fe9685af05e",
|
|
27421
|
+
"modules": {
|
|
27422
|
+
"lib/index.js": "82b1e6663968307a387fd7f300ff9db5e3c1ff707b32953da82c3dfa12024364",
|
|
27423
|
+
"package.json": "01eea37e115c18bfbba18c6976e2455895fbac1a9298a42d90b068769be6d319"
|
|
27424
|
+
},
|
|
27425
|
+
"programs": { "lib/index.js": "4791ba7c803bbeb87fb45fe6b6c13d319fb8ad39d5bacf0c88ff2436676a0077" },
|
|
27426
|
+
"loadingDigest": "2fe7ec6308e351f64ec605f2bacf7d77d44b529d4704e727c9df17267ee90acd"
|
|
27427
|
+
},
|
|
27428
|
+
{
|
|
27429
|
+
"name": "@deepseek-ai/dsh-subprocess-local",
|
|
27430
|
+
"version": "0.2.0-rc.1",
|
|
27431
|
+
"integrity": "sha512-rO0VCIPqEk6A47rlVZxvHXXaoQ2MS8pW5yhXpb3+hqc/2NQA33ZOMViqeDeVyyBlhLTxn7p972kETEB1EhEZfw==",
|
|
27432
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-subprocess-local/-/dsh-subprocess-local-0.2.0-rc.1.tgz",
|
|
27433
|
+
"sha256": "3bfabfdb8091e0540ccaf3d352566048151e8c89f0551e2019cf3eaf9d96146a",
|
|
27434
|
+
"modules": {
|
|
27435
|
+
"lib/index.js": "e40106ed35a1e1744c016e77f2cf59b07f87969bb7c4b424d26fb08da75e3922",
|
|
27436
|
+
"lib/output.js": "4f77ef6da608d36df168c99177e9b527e7145df1418845eba567635e64a4c2a3",
|
|
27437
|
+
"lib/runner-launch-B2zsQ1Dz.js": "6df08adc4a27f278878a5f4cde8b551b51e647b922ac7d6591fd62d272ced153",
|
|
27438
|
+
"lib/runner.js": "4e21528dfdb3e92bdce2340945dc4dcb202e4a4af0bbeb8b97585f67735d30c1",
|
|
27439
|
+
"package.json": "45e100772a6e1b2273fcf06fbe069a823be0c3f22407869dd3ee6c2a5ebaf16c"
|
|
27440
|
+
},
|
|
27441
|
+
"programs": {
|
|
27442
|
+
"lib/index.js": "5c310b56dfb45674442ad28c249ddcb69cb01317958db2530a198c24d52b456d",
|
|
27443
|
+
"lib/output.js": "847fa903d1373f700f9c3455c93432e35052bbb93eb6ebd57aeedd82a8e291d7",
|
|
27444
|
+
"lib/runner-launch-B2zsQ1Dz.js": "37e251b01260c34613374e70b997cc51dd0015523bfc42037ee5fd8a25431890",
|
|
27445
|
+
"lib/runner.js": "53bc0d336ca33fb2cf4ff08916149f1f3230e09c7be3cd1d9f6c47f2a19ad661"
|
|
27446
|
+
},
|
|
27447
|
+
"loadingDigest": "727cfa9aa41b1940d3b6d61dd5827b5ba6c86046f8e22cd8f7b171591459a889"
|
|
27448
|
+
},
|
|
27449
|
+
{
|
|
27450
|
+
"name": "@deepseek-ai/dsh-system-prompt",
|
|
27451
|
+
"version": "0.2.0-rc.1",
|
|
27452
|
+
"integrity": "sha512-AZC0HBWaiopkVcJXh/WEzyyF19+/yBPnbuLrZoD7h+UJYF8iG8tlDabauWfMw+dvgoYe9hIiTV2EcFRv4AgJhw==",
|
|
27453
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-system-prompt/-/dsh-system-prompt-0.2.0-rc.1.tgz",
|
|
27454
|
+
"sha256": "986c461e1fd98644f74a749f3423e3bb73ea192db46fefef0601a1477f9c92aa",
|
|
27455
|
+
"modules": {
|
|
27456
|
+
"lib/index.js": "ff422afac6ba85f89afa985d921aed0b603feb354a05a549c48eae04cf0d2f57",
|
|
27457
|
+
"lib/invariant.js": "64c55f06e5583df9b577d613c64b6bac9f04d189ff5ef2d613caa65ae9f79d75",
|
|
27458
|
+
"package.json": "15b3df1dd7402705398d2429f49343106393f71d198b0d90cc966815b798547a"
|
|
27459
|
+
},
|
|
27460
|
+
"programs": {
|
|
27461
|
+
"lib/index.js": "f143b76b0ac707d4b881859deb979884de738230594f57f3e0da7960ab252f96",
|
|
27462
|
+
"lib/invariant.js": "c4b2b4ca734001b7b84295bb0fbea061eeae3303b1c0412da41d3a56ec57feb1"
|
|
27463
|
+
},
|
|
27464
|
+
"loadingDigest": "94fbc4352b4fb7c9b04e0d3eb1405f3a68a844b74ad988f39161ba98f521aeab"
|
|
27465
|
+
},
|
|
27466
|
+
{
|
|
27467
|
+
"name": "@deepseek-ai/dsh-tool-bash",
|
|
27468
|
+
"version": "0.2.0-rc.1",
|
|
27469
|
+
"integrity": "sha512-/uF4JXgGIc141xAOsA89c3jlaxVcEjOeXmJ6WDtcg6IcEVvpXbIW4DFvgd49VFCskcGoyzy0eOVPATkIryyo2A==",
|
|
27470
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-bash/-/dsh-tool-bash-0.2.0-rc.1.tgz",
|
|
27471
|
+
"sha256": "bc20060ddce3e3ec6bc7821a5c4126b6ae7447400fb3921a8070e218f09fab9d",
|
|
27472
|
+
"modules": {
|
|
27473
|
+
"lib/index.js": "9a32c2a9f1b7b16c2287861272cc9dfb7c3b3cc85e64c8e9d9a834fb0868e707",
|
|
27474
|
+
"package.json": "0e3f1f40650fffaf358eaebd6cdb7dc4fb11be4508fc068bc35358ea0c4cd5fc"
|
|
27475
|
+
},
|
|
27476
|
+
"programs": { "lib/index.js": "60a0584841178397132ea6861531b6f75d5f266ef6b0227624f918ba0d3e8de6" },
|
|
27477
|
+
"loadingDigest": "5fb429f1ed7099b2a8e6a1d24994321985aae12d8de58bcfcefcd97a54f08a3e"
|
|
27478
|
+
},
|
|
27479
|
+
{
|
|
27480
|
+
"name": "@deepseek-ai/dsh-tool-fs",
|
|
27481
|
+
"version": "0.2.0-rc.1",
|
|
27482
|
+
"integrity": "sha512-B6CY0yldjoWXQ2RY/5XNtQd9UHgcWRjw7jgZt9wk2i0vw6FuusQ/1VF9b0FPotmOhQ5W6MHiNaOwx0LS5lSfUQ==",
|
|
27483
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-fs/-/dsh-tool-fs-0.2.0-rc.1.tgz",
|
|
27484
|
+
"sha256": "0ca591b9f6a8d9ad4d1db30fb2527225606373b5325a4aef312e3d662342325a",
|
|
27485
|
+
"modules": {
|
|
27486
|
+
"lib/index.js": "66742231de99695b98400cdbc7bcf47b8ef2bf24600cf86f66bb35591981427f",
|
|
27487
|
+
"package.json": "e5cac7e89436d03212ea527ce8a43fc0603228a1c5abebaa1bbc0f080603e2cf"
|
|
27488
|
+
},
|
|
27489
|
+
"programs": { "lib/index.js": "6a1a2ef79f388e46436ed703e7ecc083c5d1329d49d16bbe9fb9cc9f15464312" },
|
|
27490
|
+
"loadingDigest": "61ef2cd955dd990b1820ba04bfd1540b3b7476fc3180a5f080b4fc8d27a168da"
|
|
27491
|
+
},
|
|
27492
|
+
{
|
|
27493
|
+
"name": "@deepseek-ai/dsh-tool-goal",
|
|
27494
|
+
"version": "0.2.0-rc.1",
|
|
27495
|
+
"integrity": "sha512-EIrmvt28dsJ1/ujj/7B6cd6URYeIiBg3pigjViTr9hI5XeGdbUsIie3TiIHixdB4HK8+f1TE27kDvWoIpCIslg==",
|
|
27496
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-goal/-/dsh-tool-goal-0.2.0-rc.1.tgz",
|
|
27497
|
+
"sha256": "227e7b0a18a4c0adb03dc1127a8fb8f9e8d7fb45ffe725d99b8fcec50a88b579",
|
|
27498
|
+
"modules": {
|
|
27499
|
+
"lib/index.js": "7220fa7b5b7c95c94377ac32c6b01ecac5b4853d9dec3a48ab17d371cda63e6c",
|
|
27500
|
+
"package.json": "185e65b45116b1d1b8ea1cc2f9eede2b3551a1f2d9b851a7ae8716eb2fc4d1f0"
|
|
27501
|
+
},
|
|
27502
|
+
"programs": { "lib/index.js": "1d2190e8352f2a3cd78f8df8c8b23d9e6ee4223483a72322ea2fb0ba5f8f3963" },
|
|
27503
|
+
"loadingDigest": "5eaf4abf59e453f00b1ac8077c8e636b2bac5d75e92bfbdd78fbd8a92d98773e"
|
|
27504
|
+
},
|
|
27505
|
+
{
|
|
27506
|
+
"name": "@deepseek-ai/dsh-tool-jobs",
|
|
27507
|
+
"version": "0.2.0-rc.1",
|
|
27508
|
+
"integrity": "sha512-drRwecBoDKmjY3iS16w9/Tpt7qc+uJYmFpuYk7PaSFvRGEINQQWVlcrwoV6NFSr2DRTJnBEomEnQ7zCzMRy3hw==",
|
|
27509
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-jobs/-/dsh-tool-jobs-0.2.0-rc.1.tgz",
|
|
27510
|
+
"sha256": "80a675da52edaeaed1d363e3794156f7281913c3d2afe7a73f630f91b10c03a0",
|
|
27511
|
+
"modules": {
|
|
27512
|
+
"lib/index.js": "660066155801b20c67e6e288820961a365fe65738ffee1a16e50a2394ac9c7c6",
|
|
27513
|
+
"package.json": "d0b6f47c0ae26f9b3c7a3ef3a71d7b4d80be8c3be22704b8b3eec1c8053a6d55"
|
|
27514
|
+
},
|
|
27515
|
+
"programs": { "lib/index.js": "b45d13d983e98d28aa8164d7997c125d1c28bae8976784c8e235bf8430224e8b" },
|
|
27516
|
+
"loadingDigest": "351320b650ef0f38efa22884cdfec1903e72ec55b9393d80eae8e7851baa1010"
|
|
27517
|
+
},
|
|
27518
|
+
{
|
|
27519
|
+
"name": "@deepseek-ai/dsh-tool-pwsh",
|
|
27520
|
+
"version": "0.2.0-rc.1",
|
|
27521
|
+
"integrity": "sha512-jxKcyzZ1c9/1tRdBweae+fivnx4WhYMWco+9AG5ANmVHTOXaSCJ8RtUfBQyB7/HUXsLEU1jtHWg3kEcLxZK33Q==",
|
|
27522
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-pwsh/-/dsh-tool-pwsh-0.2.0-rc.1.tgz",
|
|
27523
|
+
"sha256": "b670a0cace67e87f241c737f2a3b52fe300dd4008f76233c3a7692ccf010202d",
|
|
27524
|
+
"modules": {
|
|
27525
|
+
"lib/index.js": "59a26ff0b2a13e27aa945d42f663a66befec6dbbffcae03a2cd595946c06bf3c",
|
|
27526
|
+
"package.json": "0ab2225df3c4b818c74e6398f6c41e5d97013459c8f0fdc9388b40178a9d508e"
|
|
27527
|
+
},
|
|
27528
|
+
"programs": { "lib/index.js": "685e36eb7326cedc2da4792c7492c2081049ef2c9bb855e9c36d5c7b60b6b645" },
|
|
27529
|
+
"loadingDigest": "fdb4841ece36f7e32e53b8774aa1f4c5122bbfa5e6333d7a7eddc1a7b2927925"
|
|
27530
|
+
},
|
|
27531
|
+
{
|
|
27532
|
+
"name": "@deepseek-ai/dsh-tools",
|
|
27533
|
+
"version": "0.2.0-rc.1",
|
|
27534
|
+
"integrity": "sha512-HmXY+X4HBoeuGBJWkS+q91GEGK61XgNc3qCXT+QqI+nzCcg1VOIwWvjgOnr1c76x5HKPyxR7FF3PMMq3+hO7oQ==",
|
|
27535
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tools/-/dsh-tools-0.2.0-rc.1.tgz",
|
|
27536
|
+
"sha256": "173440b373cf1a6f8bd21ddc7c867137c5069d2388023bba23c832a6249795c7",
|
|
27537
|
+
"modules": {
|
|
27538
|
+
"lib/index.js": "40f47709337c3c205d4e09e647f8588f4977e66f6d52f019b3cc7ef81159d84f",
|
|
27539
|
+
"lib/invariant.js": "41a09fa8d0e0857c6232e8d3b13c8658929b6b6300c6b3a2c53980c05309c282",
|
|
27540
|
+
"lib/types/index.js": "05d701b98fa465ad159555dedeee7470ac63f8fcd67d94a6ecc2c6570cbe9f4b",
|
|
27541
|
+
"lib/types/invariant.js": "955311912d27f945c9298bc2add074b04fd04414312ef4f9dec92635639dd121",
|
|
27542
|
+
"lib/types/json-schema.js": "912e04e68c2455cbb77651031449574f992720c90311e6cbecb1d35020bc1072",
|
|
27543
|
+
"lib/types/presentation.js": "253894265253e38fa9db12f3696d9dac9fd2bed1363c04ce3f95c0f19a6c16da",
|
|
27544
|
+
"lib/types/ptc.js": "3bb2d4b127bd21dd2b17c0ae219f851c4e37420a9bab73ab13d9fc51ca9131d5",
|
|
27545
|
+
"lib/types/py-types.js": "50f65c90c88370f456bd7d565fa0c788da750fc4cdcfc72064c4296960191afc",
|
|
27546
|
+
"lib/types/schema.js": "c3dd33029e3f80e6ab9ad9b0d853ba80b88177c1c2423080a94a2db91e6f33f9",
|
|
27547
|
+
"lib/types/testing.js": "c6784f546e950dc38323baaad4009bb197eb25acf3a16adaa2893a44c7b7a650",
|
|
27548
|
+
"lib/types/ts-types.js": "3c2f80465d6a420f15c75dcd023daa73af97307c3e22478c0bae67cf71c50d1e",
|
|
27549
|
+
"lib/types/types.js": "d53c54d32353419ece121f485a5534ee054842b74ebab7b4a4d3325545d0179a",
|
|
27550
|
+
"package.json": "4d94a4285686e430c153c87b5311e4656f3b3833fdbbcf3591110406a84ef227"
|
|
27551
|
+
},
|
|
27552
|
+
"programs": {
|
|
27553
|
+
"lib/index.js": "4d83f27020473369e5d5d2bd00a5089dc72a4078f541c21e5ce16c6604535423",
|
|
27554
|
+
"lib/invariant.js": "127d7c760bd223ec075c32e66bda35ef9c69e7dd355a836bac591a1e5efb071e",
|
|
27555
|
+
"lib/types/index.js": "730ec4e2a8eab42e2e4c2a2eaed46157fddc07182ec847eaf599b8ca886aadc6",
|
|
27556
|
+
"lib/types/invariant.js": "8aad8b5b3b4c58c777ac36654d64a083a2515016ccfb1c50e14bc78ca1d2cb55",
|
|
27557
|
+
"lib/types/json-schema.js": "ecabc88dab43baab4d01db4ebe4895654b81749f278588c01e7924faa84700a5",
|
|
27558
|
+
"lib/types/presentation.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8",
|
|
27559
|
+
"lib/types/ptc.js": "8fb872b42219113fbaa8abd7a871994feb81c1c3c0c8954f2e98467ed99305cd",
|
|
27560
|
+
"lib/types/py-types.js": "02ac8a88bae5aaeacfe42f5969c730b31b749d400343e8b0ac79c949060b0d92",
|
|
27561
|
+
"lib/types/schema.js": "1bdffb85241b37c3203c1589fd5aa363326244ea679d4a015ea116c50facccbb",
|
|
27562
|
+
"lib/types/testing.js": "8cc6510c709aaa842a557ed738a2fae77076504abe75b87d319bc4496d02ca7a",
|
|
27563
|
+
"lib/types/ts-types.js": "43a7ec56be4712c758ab51258748ce5f019b54b96d2109f1a53c9238bb993d2b",
|
|
27564
|
+
"lib/types/types.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8"
|
|
27565
|
+
},
|
|
27566
|
+
"loadingDigest": "1cd29c06e528ffaaa72a892ee8f108aef2918520f3df43dd70c9ae41a39e21dd"
|
|
27567
|
+
},
|
|
27568
|
+
{
|
|
27569
|
+
"name": "@deepseek-ai/dsh-user-approval",
|
|
27570
|
+
"version": "0.2.0-rc.1",
|
|
27571
|
+
"integrity": "sha512-0d2sFESHYhnnwuIPDw7sNImFE+HWU6kbX9cWZSPntMXLMhr8lgJFmtZFmrZwobQO7lhpEZKcvX8Jhzmc3OCdWQ==",
|
|
27572
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-user-approval/-/dsh-user-approval-0.2.0-rc.1.tgz",
|
|
27573
|
+
"sha256": "2f54cc7a3905930af5a540fb2ad8ebfb1c458e56e9d0a547b81e6fb7a2f81799",
|
|
27574
|
+
"modules": {
|
|
27575
|
+
"lib/index.js": "6a5ad1ba3c3dc3abbbae52e6c8c4463970ee0c1c8988cebb0d5cf2acd17ee90b",
|
|
27576
|
+
"lib/invariant.js": "4c4d4f497a9cf8b2397ce0f029456c5d9dc52005f0e60e3fb6365695b3cded7a",
|
|
27577
|
+
"lib/types/index.js": "0b2e00fe1b2cedc9b6349a38e07e26a05a09492da838f069c10b76cf13f6d6e8",
|
|
27578
|
+
"lib/types/invariant.js": "0ee679ea1449b99266df9dc3c53606a61573caa432cfca3d44badfdac71a0ef8",
|
|
27579
|
+
"lib/types/types.js": "525e6f38c039c0b20c6d071bfe06799e8fbc41b2af2ce8db7b1feb3faebad75f",
|
|
27580
|
+
"package.json": "eff21ab4e65ee041c7eabc61f03b9fba28b21471463ca9e51af50f57fa965ad6"
|
|
27581
|
+
},
|
|
27582
|
+
"programs": {
|
|
27583
|
+
"lib/index.js": "0541b7516a8abb2cf468a933bded14ab0cc6f6d6be2edf66d1105a8bb2bc0ec5",
|
|
27584
|
+
"lib/invariant.js": "7cbce7e84635d209db0e1670399eaa025c03df8aaad32c3cbc4ae78e680f960a",
|
|
27585
|
+
"lib/types/index.js": "c061d0951a79a8795c3fdd304ff647c76ee199b48519586639cf065f87c7c4a1",
|
|
27586
|
+
"lib/types/invariant.js": "9349b8ab02632d47cadb7c7e5397088781f0687dc5abe64ff60a48b67dcf518a",
|
|
27587
|
+
"lib/types/types.js": "59c2241ede0957a0d4e93789fff530e3fc3eb5f358267346777eaf82a7fe0058"
|
|
27588
|
+
},
|
|
27589
|
+
"loadingDigest": "27ab167b7c7a7c54dee1f03f75dab32491fc8706e7877d683a1236643321616f"
|
|
27590
|
+
},
|
|
27591
|
+
{
|
|
27592
|
+
"name": "@deepseek-ai/dsh-util-values",
|
|
27593
|
+
"version": "0.2.0-rc.1",
|
|
27594
|
+
"integrity": "sha512-Eh1HH0LFvztBwU2xotdfW5oCwLlWGjK2ygCC5+PnC3tkSDh9gvVQpEf0ezK+Kk6vpLz117V7VPehhR1+gs90+Q==",
|
|
27595
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-util-values/-/dsh-util-values-0.2.0-rc.1.tgz",
|
|
27596
|
+
"sha256": "7840c210683d0c79c4054b63b39b869d8fb06f2c5095c35ce0eb836beedd361d",
|
|
27597
|
+
"modules": {
|
|
27598
|
+
"lib/index.js": "d291828dc4ff9c4b43a67e7ed81625c8f90ebdcf4de2f5cbf2c33f38208ce2b8",
|
|
27599
|
+
"package.json": "7f5894851834711e41f529d77e95f8a74c4892e6fd07cafff0f50f359f0b7b4b"
|
|
27600
|
+
},
|
|
27601
|
+
"programs": { "lib/index.js": "d50891d897458af7cd7e4bc116748073d5f35421f7ffdf93536237454b521deb" },
|
|
27602
|
+
"loadingDigest": "2cdd26d82f4bc97d962b1ff7dc419ca7fc6afdd4c382d5e4a8ff3861300befdd"
|
|
27603
|
+
},
|
|
27604
|
+
{
|
|
27605
|
+
"name": "@deepseek-ai/dsh-web-app",
|
|
27606
|
+
"version": "0.2.0-rc.1",
|
|
27607
|
+
"integrity": "sha512-Gho07L3/1hk0UdVc7PjYtl01CPRb9famTmgsw9KrzuBfUcv5co1gKdAJYF+urZdx7mqkux6lZDBqUNbOIrPgBg==",
|
|
27608
|
+
"tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-web-app/-/dsh-web-app-0.2.0-rc.1.tgz",
|
|
27609
|
+
"sha256": "430cb785d6a800a6112a3b57d916d6450d90bb94134af19b3394ecd5a9b2e3f7",
|
|
27610
|
+
"modules": {
|
|
27611
|
+
"lib/index.js": "50c7ce5b93e8a7ac0117e066699cd31b553a5a135d38b7051d6a8364ac691af4",
|
|
27612
|
+
"lib/startup.js": "95a47053483fbe8ec86711369b8791bccb592c303fcc89300458a4bd07c6c252",
|
|
27613
|
+
"package.json": "0623b04fee889a1622cc6d4d3aa8d5b347f9260a06d11ff9b7160ce40cee5df6"
|
|
27614
|
+
},
|
|
27615
|
+
"programs": {
|
|
27616
|
+
"lib/index.js": "875b581fb8a2918f226d082e98119488a8f229239effe9fe0ec8f79536730561",
|
|
27617
|
+
"lib/startup.js": "f1aba5df366d09c63960d8b8a8be6699e3ddd1b9d8a2baf841794190d9c49368"
|
|
27618
|
+
},
|
|
27619
|
+
"loadingDigest": "1ef78bb1d0084433fefe46ab2589207a1b425d0ddcd83faa0800a5096b483485"
|
|
27620
|
+
}
|
|
27621
|
+
];
|
|
27622
|
+
|
|
27623
|
+
//#endregion
|
|
27624
|
+
//#region src/domain/rc020-rc1-host.ts
|
|
27625
|
+
/** One source for verified registry identities and published executable bytes.
|
|
27626
|
+
* Bound to the published dsh-v0.2.0-rc.1 tarballs (upstream
|
|
27627
|
+
* 4878cdabd87d4041bdaff61d04c966883b9fd07a). Native platform acceptance
|
|
27628
|
+
* remains a separate, currently pending fact. */
|
|
27629
|
+
const RC020_RC1_HOST_PACKAGES = packages.map(({ name, version: version$1, integrity }) => ({
|
|
27630
|
+
name,
|
|
27631
|
+
version: version$1,
|
|
27632
|
+
integrity
|
|
27633
|
+
}));
|
|
27634
|
+
|
|
27635
|
+
//#endregion
|
|
27636
|
+
export { PROOF_CAPABILITY_MATRIX as $, ACTIVE_HOST_COHORT_ID as $i, admissibleForRemoval as $n, splitTextFragments as $r, releasePreEffectDecision as $t, PROTOCOL_V3_NOTICE as A, CERTIFICATE_VERSION_V2 as Aa, resolveActiveProfileHostLock as Ai, effectuateBoundary as An, interpretClause as Ar, V6_ORDINARY_COMPLETION_RULE_SHORT as At, extractTextContent as B, requestedTargetAuthorizesMutation as Ba, readAsarFile as Bi, rebindResponse as Bn, kindOfScope as Br, isV6PendingRootWait as Bt, SESSION_API_UNSUPPORTED as C, evaluateMinimumHostVersion as Ca, inspectTargetHostGraph as Ci, goalCompletionDenial as Cn, clauseIsGoverned as Cr, CLEANUP_CONDITION_RULE as Ct, projectCoreV2 as D, ACTION_MANIFEST_VERSION as Da, prepareDesktopHostTrust as Di, unitDescendantIds as Dn, hasOrderedCoordination as Dr, MIN_RECOVERY_CHAR_BUDGET as Dt, snapshotSessionEvents as E, ACTION_MANIFEST as Ea, prepareActiveHostTrust as Ei, certificateClosure as En, governedClauseRestrictsExecution as Er, DEFAULT_RECOVERY_CHAR_BUDGET as Et, deriveProjection as F, SUPPORTED_EVIDENCE_ADAPTERS as Fa, DESKTOP_IDENTITY_FACTS as Fi, confirmRebind as Fn, isInformationalFragment as Fr, recoveryDigest as Ft, canonicalArgvFromCommand as G, validateActionTarget as Ga, writeDesktopRuntimeReceipt as Gi, capabilityRemedyPhrase as Gn, opensConditionLead as Gr, contractById as Gt, isDeterministicCheck as H, semanticActionFromCommand as Ha, readDesktopAppRuntime as Hi, CONFIRM_LINE_PATTERN as Hn, maskCodeSpans as Hr, OUTCOME_STRENGTH as Ht, legacyRecordsNeedingReview as I, actionCompatible as Ia, DESKTOP_PROFILE_PACKAGE_NAME as Ii, proposeRebind as In, isOpenObligation as Ir, recoveryTitle as It, parseShellCommand as J, hostTrustDigest as Ji, itemDiagnosis as Jn, qualificationOfClause as Jr, normalizeReservation as Jt, isRunExecutable as K, RC020_RC2_HOST_PACKAGES as Ka, HostTrustError as Ki, deriveItemDiagnosis as Kn, opensWithDirective as Kr, inFlightReservation as Kt, rootLocatorFlavor as L, boundedArtifactChoiceMatches as La, DESKTOP_RUNTIME_PACKAGE_NAME as Li, proposeRebindOutcome as Ln, isQuestionScopeNeedingReview as Lr, renderRecoveryPacket as Lt, PROTOCOL_V5_NOTICE as M, STATEFUL_ACTIONS as Ma, resolveInstalledHostLock as Mi, qualifyBoundary as Mn, introducesActionClause as Mr, cleanupConditionFor as Mt, PROTOCOL_V6_NOTICE as N, STOP_PROTOCOL_VERSION as Na, revalidateDesktopCoreLock as Ni, currentContractDigest as Nn, isExecutableItem as Nr, closingHint as Nt, CAPTURE_V042_NOTICE as O, BOUNDED_ARTIFACT_TYPES as Oa, prepareTargetHostTrust as Oi, BOUNDARY_RECORD_PREFIX as On, hasQuestionScope as Or, V6_ORDINARY_COMPLETION_RULE as Ot, applyUpgradeEligibility as P, STOP_PROTOCOL_VERSION_V2 as Pa, verifyComposedHostLockDump as Pi, createProjection as Pn, isExplanationScope as Pr, openItems as Pt, certifyCheckpoint as Q, registryArchiveModules as Qi, actionHasCertificationPath as Qn, semanticActionOfScope as Qr, releaseCoverage as Qt, supersedeItem as R, isStatefulAction as Ra, auditDesktopInstalledImplementation as Ri, proposeRebindV042 as Rn, isRestatement as Rr, v6CurrentRootBoundaries as Rt, sourcedNamedTestRoot as S, compareHostVersions as Sa, inspectDesktopTargetGraph as Si, v6TestPredicate as Sn, clauseAsksOwnQuestion as Sr, validateProofManifestV2 as St, SessionApiError as T, satisfiesSupportedHostRange as Ta, packageRowsFromPnpmLock as Ti, certifiableOpenItems as Tn, explanationHasActionResidue as Tr, CLEANUP_CONDITION_RULE_SHORT as Tt, persistedToolResultStatus as U, semanticActionFromText as Ua, readDesktopDependency as Ui, isFrozenV042RebindResponse as Un, maskQuotedSpans as Ur, RELEASE_OPERATIONS as Ut, extractToolSubject as V, requestedTargetMatchesResolved as Va, readAsarIndex as Vi, replayRebindResult as Vn, legacyQuestionReadingIsInformational as Vr, sourceItemForCoreRequirement as Vt, withDurability as W, validateActionManifest as Wa, readDesktopTargetGraph as Wi, parseConfirmationMessage as Wn, namedActions as Wr, RELEASE_OPERATION_SURFACES as Wt, segmentAuthorityBlocks as X, qualifyHostTrust as Xi, relevantEvidence as Xn, reportingHeadGoverns as Xr, readbackSettlesContract as Xt, authorityCaptureCounts as Y, parseHostTrust as Yi, nativeFileTwoRole as Yn, questionHeadsClause as Yr, normalizeSettlement as Yt, bindingIndividuallyAccepted as Z, registryArchiveFiles as Zi, DEPENDENCY_FREE_ONLY_CONDITION as Zn, restatedContentOf as Zr, releaseContractFor as Zt, previewFirstStepInjection as _, HOST_VALIDATED_VERSIONS as _a, evaluateActiveHostLock as _i, latestAssistantText as _n, classifyUserInteraction as _r, requiredSubjectsOf as _t, commitTreeSnapshotDigest as a, GOAL_HOST_PACKAGES as aa, digestStrings as ai, CONTROL_RECORD_PREFIX as an, captureClause as ar, bindProofToProjection as at, HOST_WORKDIR_PREFIX as b, SUPPORTED_HOST_RANGE as ba, hostLockRowsFromComposedDump as bi, progressFingerprint as bn, actionVerbMatches as br, sessionQueryV2 as bt, gitCommandMatchesTarget as c, bindExecutableIdentity as ca, sanitizeUrl as ci, assessmentAction as cn, environmentDefaultRepositoryTarget as cr, createProofManifest as ct, verifiedLinearCommitReadback as d, evaluateGraphDerivedHostLock as da, activeRendererModule as di, currentActionBases as dn, extractOperation as dr, proofDigest as dt, ACTIVE_HOST_COHORT_IDS as ea, statefulActionsOfScope as ei, reservationFor as en, capabilityConsequence as er, PROOF_KINDS as et, FIRST_STEP_GUIDANCE as f, evaluateHostCapability as fa, auditedDefaultWorkdirHost as fi, decideTurnBoundary as fn, isInformationalMessage as fr, proofDigestV2 as ft, lifecyclePhase as g, selectHostCohort as ga, combineHostPolicy as gi, isWholeTaskCompletionClaim as gn, classifyTaskIntent as gr, proofV2Rejection as gt, firstStepGuidanceV6 as h, hostVersionFromPackages as ha, auditedHostImplementation as hi, isRootPauseRequest as hn, npmEscapedPackageName as hr, proofOperationMatches as ht, commitIndexSnapshotDigest as i, EXPECTED_HOST_PACKAGES as ia, canonicalizePath as ii, isVerifyingCapability as in, removalIsPartiallyKnown as ir, PROOF_PROTOCOL_VERSION_V2 as it, PROTOCOL_V4_NOTICE as j, SEMANTIC_ACTIONS as ja, resolveDesktopProfileHostLock as ji, isCurrentAcceptedBoundary as jn, interpretMessage as jr, carriesCleanupCondition as jt, DEFAULT_DELEGATION_TOOL_NAMES as k, CERTIFICATE_VERSION as ka, readActiveHostGraph as ki, availableBoundaryQualifications as kn, hasWorkPredicate as kr, V6_ORDINARY_COMPLETION_RULE_COMPACT as kt, parseGitCommandManifest as l, bindLiveGoalCapability as la, sha256 as li, assessmentOutcomePredicate as ln, extractArtifactPaths as lr, createProofManifestV2 as lt, firstStepGuidance as m, evaluateToolSurfaceCapability as ma, auditedForegroundRenderers as mi, decisionBoundaryKey as mn, canonicalRegistryBase as mr, proofHostSurfacesOf as mt, GIT_COMMAND_MANIFEST_IDS as n, BASE_HOST_PACKAGES as na, COMMAND_SURFACE_MANIFEST as ni, evidenceCoverage as nn, partialFailureOf as nr, PROOF_MANIFEST_DOMAIN_V2 as nt, createGitPrestateEnvelope as o, HOST_CAPABILITY_PACKAGE_GROUPS as oa, normalizeClause as oi, NO_PROGRESS_RECORD_PREFIX as on, captureItem as or, bindProofV2ToProjection as ot, claimedBatchHasRealRootInput as p, evaluateHostLock as pa, auditedDefaultWorkdirProvider as pi, decideTurnStopping as pn, segmentClauses as pr, proofEvidenceConstraints as pt, parsePwshCommand as q, createHostAuditSession as qa, acquireHostTrust as qi, evidenceAvailabilityReason as qn, presentExplanationHead as qr, normalizeReleaseContract as qt, GIT_COMMAND_TEMPLATES as r, DEFAULT_HOST_LOCK as ra, validateManifest as ri, evidenceMatchesItem as rn, removalIsComplete as rr, PROOF_PROTOCOL_VERSION as rt, executeRevalidatedGitEffect as s, HOST_COHORTS as sa, sanitizeClauseText as si, NO_PROGRESS_TURNS_BEFORE_STOP as sn, classifyClause as sr, canonicalProjection as st, RC020_RC1_HOST_PACKAGES as t, ACTIVE_HOST_LAUNCHER_VERSION as ta, verbIsNegated as ti, bindingSatisfies as tn, capabilityFactOf as tr, PROOF_KINDS_V2 as tt, revalidateGitPrestate as u, evaluateExternalWaitCapability as ua, HostProfileError as ui, classifyCompletionClaim as un, extractMethod as ur, proofCapabilityReport as ut, projectSessionCoreV2 as v, LATEST_TESTED_HOST_VERSION as va, evaluateConfiguredHostLock as vi, latestRootInstruction as vn, GRANTED_QUALIFICATION as vr, scopeCoverageDigest as vt, SESSION_EVENT_ENVELOPE_INVALID as w, parseHostVersion as wa, packageRowsFromActiveGraph as wi, hasCurrentCertificate as wn, clauseIsProtected as wr, CLEANUP_CONDITION_RULE_COMPACT as wt, captureHostWorkdir as x, SUPPORTED_HOST_VERSIONS as xa, injectActiveProfileHostLock as xi, testOutcomePredicate as xn, clarifiedSpanOf as xr, validateProofManifest as xt, sessionCoreSnapshot as y, MIN_SUPPORTED_HOST_VERSION as ya, hostLockContextFromComposedDump as yi, observeAssistantOutcome as yn, LEGACY_QUALIFICATION as yr, sessionQuery as yt, evidenceFromPersistedToolResult as z, requestedIdentityKey as za, hasDesktopImporterState as zi, rebindAttemptKey as zn, itemHoldsExecutionAuthority as zr, currentV6Feedback as zt };
|