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.
@@ -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 { existsSync, lstatSync, mkdirSync, mkdtempSync, readFileSync, readdirSync, realpathSync, renameSync, rmSync, statSync, writeFileSync } from "node:fs";
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-rc1-byte-audit.json
472
- var packages = [
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": { "lib/index.js": "80e38b85f7f608fa7cac756beb911a1a05c2274396fe2e7ee16952f0c8d78202" },
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.1",
489
- "integrity": "sha512-F6hKNVoGgBDIzSiyRaIlobq4UD6cwxUjh+nwXqcDmufDh87TE1izsYzs8L5cZNpF2JmPnFM1mXRNnRJ0cs43ng==",
490
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh/-/dsh-0.2.0-rc.1.tgz",
491
- "sha256": "ceb66bebe8117044e05f6932deaca15daea6a1ae1d0cffad079e33895f10d216",
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": "935e95d05f4dc70a8a013eea59da80028946b5c139e45c6351dcaf2810ca00a1",
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-DkYIj96-.js": "2103210a39731866ca191faf1a1396f33f248ed3fe81690a592fee7a8f3276c1",
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": "6c5d2b98ca97920fffe81eaff8455dfd1e97524c8b3a7a3b0cac4c960ebb363c"
517
+ "package.json": "0a85203e3e907dd2e3bec34324a2494758ca6cdee234b07090a7c8df0b11acac"
501
518
  },
502
519
  "programs": {
503
- "lib/bin.js": "b6e681187d19f85261155f6866d32f3c59a0c44d3130e4166c73ea0c2f8f09d2",
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-DkYIj96-.js": "8eb1965ca0e64e9668f9926e0175610fbda401bf65f92db9840615e4a6bc6a97",
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": "6ffb4f27956f1c86920fef7f1bc92c1dab4d1f5f9e97686fe85be3b4d09fc692"
528
+ "loadingDigest": "ce671c4381bcaeaf992121f21147547c9e0196288d8a9975c73c6de2e0fcf94d"
512
529
  },
513
530
  {
514
531
  "name": "@deepseek-ai/dsh-agent",
515
- "version": "0.2.0-rc.1",
516
- "integrity": "sha512-PQ4Qtu7QiI6j2n730p8RJ+u4l7ywwhVJ4NeIe/Tj86hBYYZNvNT8iMhViECn+GSepAk7GmM/1eb7e7hvmYhsKA==",
517
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent/-/dsh-agent-0.2.0-rc.1.tgz",
518
- "sha256": "dd21ff4bc625edc78928cbfc5f8fa7a1ea03fc9ecab6028bb9b50b940def0cfe",
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": "4c07ec3f1ece7f5029e9b1e8d12d7a045bd5732208bb798fbb36c9480d54d3f2"
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": "80ab1ef5e697a73acc875ef0dff2d9bbcdca82c1b77c3d43aaed08398195d1a9"
563
+ "loadingDigest": "f78f0b0230388e3b72cf2bcfe0b8656b899941f96769994c14706fd997f2b4e5"
547
564
  },
548
565
  {
549
566
  "name": "@deepseek-ai/dsh-agent-loop",
550
- "version": "0.2.0-rc.1",
551
- "integrity": "sha512-01JWFfTcne/44tqfGLAOH0KkMicq6VVFBV1YjQbO9vj6Q0SmcHsPObm11fP0opEZIqEmdUN5wwS6LAzCjViDlg==",
552
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-agent-loop/-/dsh-agent-loop-0.2.0-rc.1.tgz",
553
- "sha256": "446c70a8fa8b83a35fc19f35c5f8e018946391844bfe9372a4d1d747d8572f8e",
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": "e7ecfbef09d7dfd50be40d70a32ca87b1ee43ac3cefdfeb050468c7f0e31b0ea"
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": "d59a5938a28425b5e995ddf1b7ce23f3cab61c9b29083a2733addeaf1f787487"
580
+ "loadingDigest": "4e7919142271de682a6a5a358a74bb85d093e8473d21708944d899456ce9b9c9"
564
581
  },
565
582
  {
566
583
  "name": "@deepseek-ai/dsh-app-boot",
567
- "version": "0.2.0-rc.1",
568
- "integrity": "sha512-iHUYI+Tc3FlaYay0aLg4LsmZELi8wNWd6DSYrd46enUv0SWgm3qXVFLZivlcKqKWxcjuuvL5JxNemxGiMRIWxQ==",
569
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-app-boot/-/dsh-app-boot-0.2.0-rc.1.tgz",
570
- "sha256": "a5881b46f9f982da59cede0facc77aeb0ec3cc4995b67fc494110e617986eef6",
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": "8f4d5cfc5b81e44c77928e115cb8a28070892c2ce4454afd1962cbd0f4d32f49"
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": "11c28f05919a2c73c0890e1182c146ad939cdfb9a8e131e8acfe5d584bc2fda7"
597
+ "loadingDigest": "15560017f1ba7c6ec59c9618b7aee913d0ca26910ae4d174346ecda8d852911a"
581
598
  },
582
599
  {
583
600
  "name": "@deepseek-ai/dsh-attachment",
584
- "version": "0.2.0-rc.1",
585
- "integrity": "sha512-aKKFE9fGYYn1BCzDtun7IYkpiMANYt7s51vwPukkCnobNiLfxHrIyANLWNmMTSpq0iENfqREXPR805K/um8Hfw==",
586
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-attachment/-/dsh-attachment-0.2.0-rc.1.tgz",
587
- "sha256": "f11e40a5184b10ae0b5a528a575d31254f6b485ab6e416965ff2dcdffb65c3e8",
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": "08debb8c62d78d1ea524b0d82378f651196c6a57ed8bfc6c936f2cf323c7a259"
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": "dcf42d68f9de89b973734dbf1f7b9fa1e414463caf168fdc2ff41da93b95570b"
624
+ "loadingDigest": "fcea2e67cea666fae4f2d0fb0dbdbf5395b155d4d0351a04e53a4c7e40e06d84"
608
625
  },
609
626
  {
610
627
  "name": "@deepseek-ai/dsh-base",
611
- "version": "0.2.0-rc.1",
612
- "integrity": "sha512-5knjWdy+/lFOcwjuliaK4Pc+xPfDXMOoN/+CCza5JkQG5JI+GajicpAh7XFH/At6WzWjf9m8OwLGYABVz1pIxA==",
613
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-base/-/dsh-base-0.2.0-rc.1.tgz",
614
- "sha256": "664cf31c422dc9cc8337fe908153341a9505ee8d3a6f399e945554e51bb050c6",
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": "683a76071c6483acaa890b6c333037b34add96fc33a20ba995401cc5b909a060"
634
+ "package.json": "a6a92d062ef5e30a3e4b9d52a3dc8530e909cd0905168e0a2834437c10e02124"
618
635
  },
619
636
  "programs": { "lib/index.js": "6d4c56442eea53afbdee5dda8e3ebb48ebc9af423f69c8ba3c36d084ce7b42a8" },
620
- "loadingDigest": "f44d4963e2b2e9ec3a592ca8f3a0023844259674df9536827a10d37aaec24d7c"
637
+ "loadingDigest": "c57d1c3d28688328607fabe58972df404f31056248eb57dd9a1784b5c44191d9"
621
638
  },
622
639
  {
623
640
  "name": "@deepseek-ai/dsh-bash-local",
624
- "version": "0.2.0-rc.1",
625
- "integrity": "sha512-thF8D96F78QWem0y0C4oqef6h+x3kahGlsTKE9elXrM506sys6EGwHs+PwQqyMyQCGUJlJCVwd2gT6m4ipdplg==",
626
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-local/-/dsh-bash-local-0.2.0-rc.1.tgz",
627
- "sha256": "157173b9701653979b5159c20318ee6609c59e2a385720c18b27c395d974a21a",
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": "e20248d48f2868419d5c22b3f66a519c908fc707b5b8e275f866c1f34b22ac9f"
647
+ "package.json": "880e1fdb42911bd02b82007de08ad7f4ded21e5522da46d120bc2f182e11c6b0"
631
648
  },
632
649
  "programs": { "lib/index.js": "bad1dad01d2dc853e47f5b3452db5e871039e54d3f1859086931b7dd74675508" },
633
- "loadingDigest": "2be7840d6fc827e5b1c54dc6bb242957645a1d001d596c2a93d280c87e8a50ba"
650
+ "loadingDigest": "c78894b4cf4fe2fd9c90c408217d9a81991c5e884bd67e5c37d1f8bbae1a703d"
634
651
  },
635
652
  {
636
653
  "name": "@deepseek-ai/dsh-bash-sandbox",
637
- "version": "0.2.0-rc.1",
638
- "integrity": "sha512-/+vnsleF/U7kKjZdUynHiWTpjAVr9i3ZCPwuWiwecd588VUjOvm9nDeiSUd8Zl60XZFtsYAjdSYU+gunSC98PQ==",
639
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-bash-sandbox/-/dsh-bash-sandbox-0.2.0-rc.1.tgz",
640
- "sha256": "14ee57a5b8cf6e3620db44e463df3fa74d5f7f1e921c89f42504542556d97da8",
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": "4698a8d47699af3451b3d58f8e02573ece1297d321addda7bc16eb8ba7e7c703"
660
+ "package.json": "7f3cf039564659f6357f07d82b7c14790ce648a2f2ea0cecebd2038e9e05db9a"
644
661
  },
645
662
  "programs": { "lib/index.js": "007bc497922220ffe1723faaa96bd367356c81558c1b50b81c1c0601bff281ab" },
646
- "loadingDigest": "932ccfcdf2987ab32f85d36a929ae2d5c6de32157eba27b372aadc425a3efd18"
663
+ "loadingDigest": "4285f38c00448dbe37279e45c4d5e4da4ca20209647b728a6365f165a0caf889"
647
664
  },
648
665
  {
649
666
  "name": "@deepseek-ai/dsh-commands",
650
- "version": "0.2.0-rc.1",
651
- "integrity": "sha512-VZOWNwjBDBkX3kXVJcD24oAoKeGRpLnHZjRiPm0gq41ZClCYy9CzNnFdl6IVtJHfG+bz9/HDnONilpiRwBg2lQ==",
652
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-commands/-/dsh-commands-0.2.0-rc.1.tgz",
653
- "sha256": "7c4685987a66feba87a04f76204bb087c7fb76be7f701aa5d9ac86cfcfbc82b0",
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": "fb0f8aba6dcc824b6e50be022c5428319b98cacf802ba4face67bd8523110e95",
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": "2bf9983819f8e38713da5fb9432e5d09170a66c3e0eca4b2204a5fa2eb774e5d"
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": "7cead6105db0b9b58b6e92efe7090f3066f05de753068bf7d1e70d41672f8a3e",
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": "985c3bcddbd2128244218d5c39171f094c8d43b2062bf584bac2c33c80c8bf5f"
692
+ "loadingDigest": "b2d560cde2a15f2e533b6cc6474bd19d5bf7bc6825fcb3fd79812784b1121baf"
676
693
  },
677
694
  {
678
695
  "name": "@deepseek-ai/dsh-fs",
679
- "version": "0.2.0-rc.1",
680
- "integrity": "sha512-IWjXn/BsoWwT5dti/Jfkrx49GDGi1H7B3cuTgwRvxIQl6o86eb7ns+3mQiBpFyrCrVOMV+1t8FC1ipiIxol+gA==",
681
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs/-/dsh-fs-0.2.0-rc.1.tgz",
682
- "sha256": "dc7ede4bfbf35bef54fca2db4a382e20fde49fb9f70816833da76550995d3f8e",
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": "aad483456e100274e985871679ed2fd82a354b7003beb0d2f19efc5ad0f92887"
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": "56789270f90c7a1077d3a0ef01c179ec65991fbb1c4ed25e80f207406f38a31f"
709
+ "loadingDigest": "92014f722c4113b10f057b6c4081b8c878c397892b1eb7ec3befad11df72c9f8"
693
710
  },
694
711
  {
695
712
  "name": "@deepseek-ai/dsh-fs-local",
696
- "version": "0.2.0-rc.1",
697
- "integrity": "sha512-ntgv1fFhXEuL2ncfbORPprI+mVppaBSdVsUNLN1mfigO6snU6ORU5V2kohL3rop0Q5605lGA/+pGiiGIJYdxQg==",
698
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-local/-/dsh-fs-local-0.2.0-rc.1.tgz",
699
- "sha256": "d300481c8c670587fa0689da7c4f1c247fbbb583402e01d30b7b1d452f64b33d",
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": "b875f7af3ffb1d57f43b81a7f62c5c10fe7039eb5edc2bbdf780f4785b614abe"
719
+ "package.json": "f8ee919241e00faa8bb84fd319adfc5b50b37a8851ffb57ea4ae24697584576f"
703
720
  },
704
721
  "programs": { "lib/index.js": "e5163b8d9882f25941b64f9dd84ca3f5b879b9077faedbbc2d2298f94e1d3714" },
705
- "loadingDigest": "0c24809933eb25f92ace3895fd1de77a8744ba12aa2309c61548623e3155c081"
722
+ "loadingDigest": "e6264d9c11c44038619c68c5e330d2e1bd95f6f7c180f49ee6ee567c1d3c367d"
706
723
  },
707
724
  {
708
725
  "name": "@deepseek-ai/dsh-fs-observation-policy",
709
- "version": "0.2.0-rc.1",
710
- "integrity": "sha512-odxCFuRQAyruog2mYSl0DxJJ//piwUEJuQpC0rY3Hrt4Zv3GjtNhZ42hwvIAug6ueqkJ8nWuR1XevJoRu518SA==",
711
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-observation-policy/-/dsh-fs-observation-policy-0.2.0-rc.1.tgz",
712
- "sha256": "44feaec8907fa8c8c74730b14769af3326b5fac214d4d098ad1e40668b6504ac",
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": "25d8d29bd1157e189048f112aeccb4157c73e0280cdce81c4db97be718724a27"
732
+ "package.json": "526d94524f0917153085e6df461ec120e9ca0930ff1b09ec75eebe1761412a77"
716
733
  },
717
734
  "programs": { "lib/index.js": "4021ffd6e41bb82344eea4b471cc2130053802170a508a037b87771383461867" },
718
- "loadingDigest": "eb3acae13118b9b7cc537ca6f95e54e60722f4ccb60577ce1d08d57b5774776e"
735
+ "loadingDigest": "81ff4c8c54ace2c839d0aaea0acaae055b4209da478941b217458929c021d87a"
719
736
  },
720
737
  {
721
738
  "name": "@deepseek-ai/dsh-fs-sandbox",
722
- "version": "0.2.0-rc.1",
723
- "integrity": "sha512-5pIVWc3mGUHigSCSq6R1eUuQB7NjwhdhQ9E6BbrTYXC/qzezvxLJSYEF7z0Vr6ajd7qhV00Wih8OyS1zGkJ9ww==",
724
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-fs-sandbox/-/dsh-fs-sandbox-0.2.0-rc.1.tgz",
725
- "sha256": "49cbd96b99a8b58389357d405b569e0d9de7a369b4b25c4acec074e200e98739",
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": "5018476647b5eb3e9be0fb6a03557cb4c8effe28636d37417752926e2c9452cb"
745
+ "package.json": "9c4a6551c4d654679c7dbfb8c24bc7b073f181800c87a1b1bf2672172879b871"
729
746
  },
730
747
  "programs": { "lib/index.js": "514de2a11be8e3997b98a38549dde1a1f35e620fee69feabb4797c0be4bfa083" },
731
- "loadingDigest": "17256d5beb07a458ae45655c40d1da643361620dd4c106cc574e0cb9fd66f5c9"
748
+ "loadingDigest": "7212df66f1fc5024688eac1db25b34a77c486725bfa625865d45bf1aa736fbbe"
732
749
  },
733
750
  {
734
751
  "name": "@deepseek-ai/dsh-goal",
735
- "version": "0.2.0-rc.1",
736
- "integrity": "sha512-gqpN0MvHofDjqw/c23JF9EQ93VQnRrOFiyVG6XMl3d+PHPVizmLxEHsm4lIE+dU42+iA1dYVtPS1IUkH6l0jFA==",
737
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal/-/dsh-goal-0.2.0-rc.1.tgz",
738
- "sha256": "15835bb53f7d3f4328ed717a188cd2bc4a583a702c8f1767a892ae4eebe6d021",
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": "a1849a6a248d103478577e8f6812fb7927f74d1ff38677f5734cefb2278164b8",
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": "076c418e3611453205952af6087d44ff53115ee836e6c70744dccb2e343c92de"
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": "fd40deb26c5d1a654b39e61e3bdd2ccbbb2fb1a86b91a7f18712daabf363391c",
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": "d02ad02c4d13c4c797adfcbc7fa6365723d84a057c97744d8e65d60da973e964"
783
+ "loadingDigest": "c2880e7c946163e2f289233b8779ded83c191d5c3618e7963100995c907644d3"
767
784
  },
768
785
  {
769
786
  "name": "@deepseek-ai/dsh-goal-round-driver",
770
- "version": "0.2.0-rc.1",
771
- "integrity": "sha512-9MlObGRGkFE/DIp2kHV3GBS5/1zcx6eVysXDfWs9AvMYb0Etk8gJK5nHumyBAIXT97seiaFa30IBITTYemsi7w==",
772
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-goal-round-driver/-/dsh-goal-round-driver-0.2.0-rc.1.tgz",
773
- "sha256": "9954d23e8b7686ed66e2273ea1e82cd3f2624222132eccaf5b007bf55bafc899",
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": "eb6712fabe459a6e57dfa3c6be10c3c4ccc603dd573340ba4ac514c308618b94"
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": "9d98137351ceb0635d6ae9b6512a9b3bf5369e7cdae1acdafed7c4723456e339"
800
+ "loadingDigest": "6c69c100babf037d6da2066ed79de76fd702291baee62062bf561c049b0216c7"
784
801
  },
785
802
  {
786
803
  "name": "@deepseek-ai/dsh-headless",
787
- "version": "0.2.0-rc.1",
788
- "integrity": "sha512-xdx3LXmRmeu1bXBvXOppaitF5UxsudhsIy8IrYpMkIRh63LWVbxJGMTCgwk6pM8Jrg1ayW7vhi8Fw7ewukMDtA==",
789
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-headless/-/dsh-headless-0.2.0-rc.1.tgz",
790
- "sha256": "57e632a633b08b0d05a5454759d438058a24cfc9b80c5c50a7c7129973758476",
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": "bbb9bad4a389d263a6349ddc5d9920f7e35be016ecac8068d8b476775a3084a4"
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": "78bf1d7b0019be5565bc8bcf828b17c819323344eabfc450861fff292f888c63"
819
+ "loadingDigest": "7910c95025ccc0ad5b7b0b258c4395f3de6620a8a38aee996c6b0f626ef0ea00"
803
820
  },
804
821
  {
805
822
  "name": "@deepseek-ai/dsh-host-plugin-inventory",
806
- "version": "0.2.0-rc.1",
807
- "integrity": "sha512-9jPsILbbodim7gswvWzCuvHgzXbvDMvVnR11pGY+FaSVEt4beWVdSPglxHmGHGbEOotSnhbwUnl6vouyRQo7eg==",
808
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-plugin-inventory/-/dsh-host-plugin-inventory-0.2.0-rc.1.tgz",
809
- "sha256": "2a4b9d6c33c9eb3cbbfef7cf0c5a59823866548fa64a24c4894ebafcc7cdffc0",
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": "6cef7d98aca9f2d2cc0ebebafe06524d13998f2df2e2a1f1dc8342a935fad0b5"
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": "bac2380c9c39390c6c6ef6d20bdef5a2bb4c3db928dee3f8b062647f57aafd4e"
842
+ "loadingDigest": "a6adc49a345d5f763c6ac534e9c752394c5737ee26c7cd1f9d42d7fa84d21a88"
826
843
  },
827
844
  {
828
845
  "name": "@deepseek-ai/dsh-host-webserver",
829
- "version": "0.2.0-rc.1",
830
- "integrity": "sha512-/LkuSWupB7vijPty3Iypt9DZrBli9wsNh/E485m+xgo4uBbgloANQA+nyIpB0n+N20zleyV4EFYbe6Lb6k2oqQ==",
831
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-host-webserver/-/dsh-host-webserver-0.2.0-rc.1.tgz",
832
- "sha256": "0ebef41935e446f4a8f7241640d0312a8366e37ab4dbff5e67fae5d18a34d46b",
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": "98ec06b6a0e2a3208268f56e66da7cfcc8931f8d334bfc6cc909ce2317f507b8"
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.1",
843
- "integrity": "sha512-ewueg51ZSEF+/sLXEhi5ySqFu2egKWI4koBwBciE2sAaOwBY2Ou9BqYUHFN1wGRaUYVZ/DrMpn18c0XBC37j0A==",
844
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs/-/dsh-jobs-0.2.0-rc.1.tgz",
845
- "sha256": "a096930a52a464e15a9eb9f49edcb2bbb9bf8fd93f0d782ae19c121f34e33348",
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": "9d810293ccd369ba93e636b8f868b7cfbac1c55d3e5c222fcfae8281a69633fa"
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": "a21f146983f3554f86eff34a134ca3ae6af882610fe92e4f56bbcc2e487db07f"
884
+ "loadingDigest": "e0581654e7b55ca626f1d979af285261d5e359a16161c395dd3d14caef7eb13a"
868
885
  },
869
886
  {
870
887
  "name": "@deepseek-ai/dsh-jobs-local",
871
- "version": "0.2.0-rc.1",
872
- "integrity": "sha512-h8N5VxKl+cvc6NoZ73ymnFTyf2HPlzbAImEjvzmmhMPiotooXSFW/YCFAimrL883L9m0d4XZBsJOnlLekfHNFQ==",
873
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-jobs-local/-/dsh-jobs-local-0.2.0-rc.1.tgz",
874
- "sha256": "9a860b0cfdb15ef3babca22e22e23b5e4a6a035373eb2120717d9a851024fcf0",
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": "f5f62efb897c568eb0a0f41bd13ffdebc06490790db9c49fb7d8e0ff1f2541bc"
894
+ "package.json": "b92565184856196f38124be5fbba65af475fd740225b3cf04210c4a5707d49fd"
878
895
  },
879
896
  "programs": { "lib/index.js": "f045c307bccf2d8b873f86e427d3235a56568779fcb526228444692745ad43d3" },
880
- "loadingDigest": "38f0a6ca909766b116c5246823043c5c3e38598e82c3187cbbc4f814dd8104d8"
897
+ "loadingDigest": "8554c075ff39e218051906802a1b88f7af0eb0b51ba21fde06c4ae8e4a859c17"
881
898
  },
882
899
  {
883
900
  "name": "@deepseek-ai/dsh-llm",
884
- "version": "0.2.0-rc.1",
885
- "integrity": "sha512-F5ZlBG8z8o5PfEWeEF/PN9t/A1N/oEErvqmpqE4J8f9mJR85DvBdV+rjDs7OjAbMJsJ8INjkbroruG5NNKDg5A==",
886
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-llm/-/dsh-llm-0.2.0-rc.1.tgz",
887
- "sha256": "8fc47d00410abc90f802e1648280b2b63350e42395e260d0efc58e8c5f08947c",
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": "49bac9ae980b700f4c20d71896595d5282642e818569d1556d221fc4c3679a22",
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": "7255a085c517b8ae60a751533a871ef32a370b61a2eafc80901d3959b5ff9643"
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": "512e8aaa8b2e73829474aa6803108e27d56b054111399c19b9e75b6164de41b6",
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": "11ed0054e954fa8cadd72c2a9c989c886f3b00b0c59decc4b293c5d3ae44c4a2"
946
+ "loadingDigest": "edc946ace6098d6ba1e5b364796744360338b0580bb47d53efd2ce20f5314279"
930
947
  },
931
948
  {
932
949
  "name": "@deepseek-ai/dsh-plugin-manager",
933
- "version": "0.2.0-rc.1",
934
- "integrity": "sha512-5GVhQcwQi1O9UG4YTNgvR+PO3BDV9+XAAF2+YrIm2ycFwQ60bk2wevpepm7Pcw+g4dD9pmjigg4OY0pC4YBHjg==",
935
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-plugin-manager/-/dsh-plugin-manager-0.2.0-rc.1.tgz",
936
- "sha256": "02879d58e0ee75edfde2d1cc5a39c63cbbaa61bc21ee3cf311ea5218d23b27fe",
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": "8cb610f905ccf45fc6a2bd0db78e336a3ae05824d1f09e882594ab55af15bdb7"
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": "7d0f18d29e6f8ee50c49091ddc179686efe0a569568e3894662c7a43d1bbf569"
989
+ "loadingDigest": "91f50727807c7e91236539bad66dd689af9a5224c1f05e2ac86848040b0056ea"
973
990
  },
974
991
  {
975
992
  "name": "@deepseek-ai/dsh-ptc-runtime",
976
- "version": "0.2.0-rc.1",
977
- "integrity": "sha512-bz4ObfDeRZyBCejUMrSiDKpIffCImGafgktIWqTEAqNCprVWLRUHT+rHGFPcxHJRBsvxFQLlXHkYc/ccfqIB4A==",
978
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-ptc-runtime/-/dsh-ptc-runtime-0.2.0-rc.1.tgz",
979
- "sha256": "2859d0360281d8312a3c58e89bf527b07bb7659269b0b73dccdbd2723e4c8f85",
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": "9aef21b169a5b665336caa1c8a5a1dc1e41c28ddff69daf28577cf5e35154217"
999
+ "package.json": "ced80cf971b6fccd3448a06e2e82df13bb24046453a99b0e1361c2454744620a"
983
1000
  },
984
1001
  "programs": { "lib/index.js": "2cce6f19ca57740a864a07852bc885d4114c48711326b83a50cabc302e892e3f" },
985
- "loadingDigest": "bae6af62627d8d58de77d8222f9dcac4c4a41af6a89fd7f9fa579a5f43e7e7fe"
1002
+ "loadingDigest": "15a2a21d617715fcaa0018e1517fadbf9564a8e193d7d09860f64e3e5c6df9ee"
986
1003
  },
987
1004
  {
988
1005
  "name": "@deepseek-ai/dsh-pwsh-local",
989
- "version": "0.2.0-rc.1",
990
- "integrity": "sha512-iKi2MdBcU1B6y0qe6oDvB7JUPL2DyMOfmNGww/+4eFh8jRnlJe+uoTJSRmcq5ofKHzChWfuuXpepiBJr9NFt7A==",
991
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-local/-/dsh-pwsh-local-0.2.0-rc.1.tgz",
992
- "sha256": "effecad22900271997bfce9d2da31940d9c54b896aa895859df7fefb5bc79c10",
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": "65cee3e788b661f07ae97029e7cbb190cd8210e381da1002936f83cee8164314"
1012
+ "package.json": "32d9c5bc82210f6e5fd8c456305b18d7962a208c3277f116541ba0a3f7660efe"
996
1013
  },
997
1014
  "programs": { "lib/index.js": "4e2cb7f3aeaf7cfe3380c9fd7b0b48c06313060680bd9fefc639aa2cdca67fc7" },
998
- "loadingDigest": "c3e055b258a2022af26ff6959719692297a898f84cd2ca812345af6091f4d16c"
1015
+ "loadingDigest": "bdd5e74810b850c92caa6eb96655ac538b264f257f02b47729f72d03159dacc6"
999
1016
  },
1000
1017
  {
1001
1018
  "name": "@deepseek-ai/dsh-pwsh-sandbox",
1002
- "version": "0.2.0-rc.1",
1003
- "integrity": "sha512-1vxcRjpRCk5ynQn1+QZM407P9v2oeFztZatg60Ti6LBO1JoXUBDdtcGDtpD+MXOu7LT/wxRdNpqnCyqXs5k/Ig==",
1004
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-pwsh-sandbox/-/dsh-pwsh-sandbox-0.2.0-rc.1.tgz",
1005
- "sha256": "814e75a90b29560fc6390c1318bc4c177c5d87afdad0e6d0eda9f5820986fd3a",
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": "7b0785ef8cbdb64df136e3f05d998c1b10d7aed038541512420e8237883a9d0e"
1025
+ "package.json": "7c388c88475b7823909164d404647eec86bb21041078e05cfca1fe44bf77c896"
1009
1026
  },
1010
1027
  "programs": { "lib/index.js": "23755f4bc2a1797364c319e7a7954998925e39eaaa7e3bb223c7b15544a826bb" },
1011
- "loadingDigest": "ed543842b927a8ea370c850ffb1e4794dc64be9cb795567c83261ab0407b9ca6"
1028
+ "loadingDigest": "1b258e8ef5b041297c2eaae03baeb08da1d8921a0e01c70de38aa0ef1b14c643"
1012
1029
  },
1013
1030
  {
1014
1031
  "name": "@deepseek-ai/dsh-sandbox",
1015
- "version": "0.2.0-rc.1",
1016
- "integrity": "sha512-NnEHqSf4SKoM5cIqtHg+utLUZYJX4r9u2PwQbEpYwiOYSvOW5G4DRtLRpIX7J6V2HOC6CXo2Xcm3DJBOsbKYOA==",
1017
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox/-/dsh-sandbox-0.2.0-rc.1.tgz",
1018
- "sha256": "0b1c6e45b6b2f0e1bf07403e355b2e009ff3735d503c83446d7794ed04760b16",
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": "c819086d3245ccc6d006627637fd9bf7f450e9af3f39531129487e39572580ca"
1038
+ "package.json": "def47b64b401fb7a9f4d2094397d0ec375ad75de5dc349679f832640aa954e48"
1022
1039
  },
1023
1040
  "programs": { "lib/index.js": "65c26fbec4020c6c5be45f62317151c2d4b082409099415dcfd21962535d4dd0" },
1024
- "loadingDigest": "b4c44dc5d88a2eebd5145567efce78827bd1bdeeb532f5865eaf907ce2dd1032"
1041
+ "loadingDigest": "fce2ef8df127bce810e8f86d20c6c14b0862f3831975dd70632e87b6e6fc9774"
1025
1042
  },
1026
1043
  {
1027
1044
  "name": "@deepseek-ai/dsh-sandbox-policy",
1028
- "version": "0.2.0-rc.1",
1029
- "integrity": "sha512-O850xvmnU+Bxpq7F7d0QjiFm3Y581GwFxfvBvLohzyAC81M6iXGBrbxt4EcX/CUPJEIHB0KSOUrX9/3xQulNZw==",
1030
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-sandbox-policy/-/dsh-sandbox-policy-0.2.0-rc.1.tgz",
1031
- "sha256": "4058a212d031fafb2c073e49dadbdf52b07cb1b2d937f4f3fdc12dba816c7c30",
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": "30bbef60ae3f30666ed9ae5718a629de22460c65d04902f9dd9d2b7719cc07dd"
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": "0ac97ed1268223acf55fb3db47435f32431a0c39e62175000dedabc2ed5f28dd"
1058
+ "loadingDigest": "70ea3d9af534a1ec70013961c7f1802f8369b9045ad54ee02e9502a7543f2eca"
1042
1059
  },
1043
1060
  {
1044
1061
  "name": "@deepseek-ai/dsh-session",
1045
- "version": "0.2.0-rc.1",
1046
- "integrity": "sha512-KUDCUk8kmiJCwvV3gDbkUSpkyoGHdg36nIhKsEh6iBoYDuIQCuvX2htiVRXCm099XZO6rCBVInmm1193UoPYcA==",
1047
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session/-/dsh-session-0.2.0-rc.1.tgz",
1048
- "sha256": "56ee80a9b292368ce9959b348f8b933e54d7c4456a032e05e3d55901708d4e49",
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": "2f443f9ef9f0e4dd5b975641a41694bc24596fab629abb51c42969b7c8c0e01d"
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": "47ad4022ceb88fee1b13b5ac947443f96ce253dfb22f8c39ac397280ad29692b"
1097
+ "loadingDigest": "cc51753145a870f00a5c908fcf3ae155c553253d4f073ea110f2dca96f90dd60"
1081
1098
  },
1082
1099
  {
1083
1100
  "name": "@deepseek-ai/dsh-session-format-v3-to-v4",
1084
- "version": "0.2.0-rc.1",
1085
- "integrity": "sha512-vnplfHQOqTXpe7EMN/0h0VZyBS10+kzzjm5x/X01iu5lynbOQs2jRdi4Lrzp9fgnAUEJYaESZZLlWKY40arLCw==",
1086
- "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",
1087
- "sha256": "fbee2c059776093ae18889bf8ac82ab3397e2e42c5ea2bb2ecbceb7bbfbee499",
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": "72632c0f2042c2db7f42012ac198e3504a19dc4919c2ebd58267d0238c80429c"
1107
+ "package.json": "6c9b42581a60e182370c10d3d4f33b7cb64071ad8cd93785827d0969c533197b"
1091
1108
  },
1092
1109
  "programs": { "lib/index.js": "6145523403f90c1984c02da07549762f3e04fcb302b5e314a001f7c3f962805f" },
1093
- "loadingDigest": "5b040372a4432fafc6bf1c0e04be48d1be916c3495816d4e8dd30468952121a4"
1110
+ "loadingDigest": "696ce914b40724255c9b35b3a4c1e517a9974eb9e3567a562a8d255e7ae3c191"
1094
1111
  },
1095
1112
  {
1096
1113
  "name": "@deepseek-ai/dsh-session-persistence",
1097
- "version": "0.2.0-rc.1",
1098
- "integrity": "sha512-OAHmDpR3LasgEXzpmGyajlgcG5tOEzlUSclovllLtKaY402hcTn6Vm7W/EzRMwc+jvSfEQyXDY1g7wG3t3Ch+g==",
1099
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence/-/dsh-session-persistence-0.2.0-rc.1.tgz",
1100
- "sha256": "af6ff71617c6e1df006c88a873c7416552cdc1a1317fb33c79bd3279c49a3a26",
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": "a5a768a7fa9dff906404056185bdf186dbecd12e62b0725a762fc71fc4269df8"
1120
+ "package.json": "90eeba20c596a12b409facb6922890d75a4c7b11945f7b4b711ac54f6bbe2274"
1104
1121
  },
1105
1122
  "programs": { "lib/index.js": "9ba15ebd7b22c52163c672b518e0ea1a2a2c23662695cc932e1f3726cdd51154" },
1106
- "loadingDigest": "ada72328490fccb2f2a6f5f747a473e106fcca5e3d086786b6896b8f110e54ac"
1123
+ "loadingDigest": "f14859c3033a0f6fbb6a0f16e17b4ae5bdc91f62e6d91ed53923b5428dec7b62"
1107
1124
  },
1108
1125
  {
1109
1126
  "name": "@deepseek-ai/dsh-session-persistence-jsonl",
1110
- "version": "0.2.0-rc.1",
1111
- "integrity": "sha512-16hp5zx1Q1SIVJfQI/hrxASHMkE/r+pHeELn1b/GZCpKwCD1nwiQapqHhgq/+WEb9SRvRpWAxE5dQWEscZghEw==",
1112
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-persistence-jsonl/-/dsh-session-persistence-jsonl-0.2.0-rc.1.tgz",
1113
- "sha256": "5f26f58226db1c8b9fabb21121176360826cc0b8f9ecc183ae5c78ca89e12ade",
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
- "package.json": "01debc5bef48135fba71b78f9f0212e097f7a31ad30a14a64c3f6cb12638ef48"
1133
+ "lib/worker.cjs": "cadd901598e2bb8a847409a980f59deea639eeadf21e30da324fb674a4ed8038",
1134
+ "package.json": "5cb0f10f78e4336e4391912f2963d2f456cef1e3639916b20bebaebc5f8e9284"
1118
1135
  },
1119
1136
  "programs": {
1120
- "lib/worker.cjs": "cacc573e51f6c37084d06bb04b8aa74f41f96615ad38055b2594f88083406681",
1121
- "lib/index.js": "4d4e99e13a1c2cffec557d01071f5cf2c811fb0904f3cd0b4b67655a3334e160"
1137
+ "lib/index.js": "4d4e99e13a1c2cffec557d01071f5cf2c811fb0904f3cd0b4b67655a3334e160",
1138
+ "lib/worker.cjs": "cacc573e51f6c37084d06bb04b8aa74f41f96615ad38055b2594f88083406681"
1122
1139
  },
1123
- "loadingDigest": "8475d09a64f63d103c07ab7346d7098ab2e0df44b1b1e2336be9d3cf4ea5c319"
1140
+ "loadingDigest": "a0a9475b899b68bf1f363a7cd5d88db092cc57ddfab1e672702c78d2676a44be"
1124
1141
  },
1125
1142
  {
1126
1143
  "name": "@deepseek-ai/dsh-session-projection",
1127
- "version": "0.2.0-rc.1",
1128
- "integrity": "sha512-6ymxQyycjXlxayjgVfxAsQv8POk3oKny/mrpxPcz30/Sv8FRsWnEnKaWf1pQvlBsGQcN6atOqXWsNyvHSyT/zw==",
1129
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-session-projection/-/dsh-session-projection-0.2.0-rc.1.tgz",
1130
- "sha256": "f4518edd373985721a7615c9381b5703434f38b6b31cff15d7bfd3b486443b3c",
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": "ac165c17714f1af15fc9018a06d7cda0fdab44bb4483ab16eafdc282b9f2aafe"
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": "e0d506e976f0c0820d6769bf9398dc786e066a546fa1d12d62e6431b6239389f"
1159
+ "loadingDigest": "950ca2878ddd70008ccbae0b972de4a754a51d2abe8e858187f1ab86434afaf5"
1143
1160
  },
1144
1161
  {
1145
1162
  "name": "@deepseek-ai/dsh-shell",
1146
- "version": "0.2.0-rc.1",
1147
- "integrity": "sha512-gdugmqfA+BA1y+qLxHjtHuw8Jc1Dnar2dCaKlawagUxnBCK7mcqkYstTaeiANM7o+2tWELLIt/Pjj46PnMY8iA==",
1148
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell/-/dsh-shell-0.2.0-rc.1.tgz",
1149
- "sha256": "85fba32b588dd3ff0bb990d102a043f9eb2e2ba39ec45c8fc815bdbf1a79fbf8",
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": "a2967633b7fe3ab32cbdf807e1bea04363b7441bc2b802f2257819abd12b28e8"
1169
+ "package.json": "2c0e19b89b054aaeedcd18565dabd4ec9772bd6fd13dc3e390f93a51cffae60e"
1153
1170
  },
1154
1171
  "programs": { "lib/index.js": "acac3b2a24b6341887e38401f79b0c311147d1778c0dce9847801cbc3aa88c93" },
1155
- "loadingDigest": "109d3d27b92d74b80e41e5ef60bd42dd1d378c6b759288d1a929b6f631552918"
1172
+ "loadingDigest": "427a9b41a153c7cc7dca45ab52610006dd77df68e2cc5c11e2a436807cdcce55"
1156
1173
  },
1157
1174
  {
1158
1175
  "name": "@deepseek-ai/dsh-shell-env",
1159
- "version": "0.2.0-rc.1",
1160
- "integrity": "sha512-4qOlCOg7Bs/dieRpYFK5aTycWLuJU3RLsbGHtgwz9hyjCyI339pCR9Sd4TyZstENhPHI9k/mjKy1IsbT4T+wig==",
1161
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-shell-env/-/dsh-shell-env-0.2.0-rc.1.tgz",
1162
- "sha256": "4983c6317892ca5cce6e0d16378ddf47293f571fc667d3ab11816fe9685af05e",
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": "01eea37e115c18bfbba18c6976e2455895fbac1a9298a42d90b068769be6d319"
1182
+ "package.json": "02f9153381841dad34373a148ef978d6228beae825d9594393c50e548d668192"
1166
1183
  },
1167
1184
  "programs": { "lib/index.js": "4791ba7c803bbeb87fb45fe6b6c13d319fb8ad39d5bacf0c88ff2436676a0077" },
1168
- "loadingDigest": "2fe7ec6308e351f64ec605f2bacf7d77d44b529d4704e727c9df17267ee90acd"
1185
+ "loadingDigest": "cdd9329877ac1238f0dbd3b594d2e2a56d239cb936ba051b1adf4738bb131eb5"
1169
1186
  },
1170
1187
  {
1171
1188
  "name": "@deepseek-ai/dsh-subprocess-local",
1172
- "version": "0.2.0-rc.1",
1173
- "integrity": "sha512-rO0VCIPqEk6A47rlVZxvHXXaoQ2MS8pW5yhXpb3+hqc/2NQA33ZOMViqeDeVyyBlhLTxn7p972kETEB1EhEZfw==",
1174
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-subprocess-local/-/dsh-subprocess-local-0.2.0-rc.1.tgz",
1175
- "sha256": "3bfabfdb8091e0540ccaf3d352566048151e8c89f0551e2019cf3eaf9d96146a",
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": "45e100772a6e1b2273fcf06fbe069a823be0c3f22407869dd3ee6c2a5ebaf16c"
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": "727cfa9aa41b1940d3b6d61dd5827b5ba6c86046f8e22cd8f7b171591459a889"
1208
+ "loadingDigest": "18ae7971d50666aa869a9c2ddc8441fce8375c2ecb0150b576bc2c5879a0969e"
1190
1209
  },
1191
1210
  {
1192
1211
  "name": "@deepseek-ai/dsh-system-prompt",
1193
- "version": "0.2.0-rc.1",
1194
- "integrity": "sha512-AZC0HBWaiopkVcJXh/WEzyyF19+/yBPnbuLrZoD7h+UJYF8iG8tlDabauWfMw+dvgoYe9hIiTV2EcFRv4AgJhw==",
1195
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-system-prompt/-/dsh-system-prompt-0.2.0-rc.1.tgz",
1196
- "sha256": "986c461e1fd98644f74a749f3423e3bb73ea192db46fefef0601a1477f9c92aa",
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": "15b3df1dd7402705398d2429f49343106393f71d198b0d90cc966815b798547a"
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": "94fbc4352b4fb7c9b04e0d3eb1405f3a68a844b74ad988f39161ba98f521aeab"
1225
+ "loadingDigest": "0c8990685566597c3be423cacf830ba9aff1e749e905ca047e2bbbe8434defb0"
1207
1226
  },
1208
1227
  {
1209
1228
  "name": "@deepseek-ai/dsh-tool-bash",
1210
- "version": "0.2.0-rc.1",
1211
- "integrity": "sha512-/uF4JXgGIc141xAOsA89c3jlaxVcEjOeXmJ6WDtcg6IcEVvpXbIW4DFvgd49VFCskcGoyzy0eOVPATkIryyo2A==",
1212
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-bash/-/dsh-tool-bash-0.2.0-rc.1.tgz",
1213
- "sha256": "bc20060ddce3e3ec6bc7821a5c4126b6ae7447400fb3921a8070e218f09fab9d",
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": "9a32c2a9f1b7b16c2287861272cc9dfb7c3b3cc85e64c8e9d9a834fb0868e707",
1216
- "package.json": "0e3f1f40650fffaf358eaebd6cdb7dc4fb11be4508fc068bc35358ea0c4cd5fc"
1234
+ "lib/index.js": "0c63a09e4b80ec22db256eac4ecab6f7de3a342e16ec590348a40c5f356eff1a",
1235
+ "package.json": "99cd45e7b90c2abea661dbb7cfa33633a151204fcc558d5829218dc2b2cc1920"
1217
1236
  },
1218
- "programs": { "lib/index.js": "60a0584841178397132ea6861531b6f75d5f266ef6b0227624f918ba0d3e8de6" },
1219
- "loadingDigest": "5fb429f1ed7099b2a8e6a1d24994321985aae12d8de58bcfcefcd97a54f08a3e"
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.1",
1224
- "integrity": "sha512-B6CY0yldjoWXQ2RY/5XNtQd9UHgcWRjw7jgZt9wk2i0vw6FuusQ/1VF9b0FPotmOhQ5W6MHiNaOwx0LS5lSfUQ==",
1225
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-fs/-/dsh-tool-fs-0.2.0-rc.1.tgz",
1226
- "sha256": "0ca591b9f6a8d9ad4d1db30fb2527225606373b5325a4aef312e3d662342325a",
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": "e5cac7e89436d03212ea527ce8a43fc0603228a1c5abebaa1bbc0f080603e2cf"
1248
+ "package.json": "f17b78c320cedee9b0ec74ec37120761fbe1225812f742629391e70ded8dce82"
1230
1249
  },
1231
1250
  "programs": { "lib/index.js": "6a1a2ef79f388e46436ed703e7ecc083c5d1329d49d16bbe9fb9cc9f15464312" },
1232
- "loadingDigest": "61ef2cd955dd990b1820ba04bfd1540b3b7476fc3180a5f080b4fc8d27a168da"
1251
+ "loadingDigest": "e113cbf3e7f32f8bb26a424abea6ae725d1b005eb516acbcc69088f214366245"
1233
1252
  },
1234
1253
  {
1235
1254
  "name": "@deepseek-ai/dsh-tool-goal",
1236
- "version": "0.2.0-rc.1",
1237
- "integrity": "sha512-EIrmvt28dsJ1/ujj/7B6cd6URYeIiBg3pigjViTr9hI5XeGdbUsIie3TiIHixdB4HK8+f1TE27kDvWoIpCIslg==",
1238
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-goal/-/dsh-tool-goal-0.2.0-rc.1.tgz",
1239
- "sha256": "227e7b0a18a4c0adb03dc1127a8fb8f9e8d7fb45ffe725d99b8fcec50a88b579",
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": "185e65b45116b1d1b8ea1cc2f9eede2b3551a1f2d9b851a7ae8716eb2fc4d1f0"
1261
+ "package.json": "9b921fa34e7bb7858c973644dd1d87958e45df96d79d534f573e479297838c3d"
1243
1262
  },
1244
1263
  "programs": { "lib/index.js": "1d2190e8352f2a3cd78f8df8c8b23d9e6ee4223483a72322ea2fb0ba5f8f3963" },
1245
- "loadingDigest": "5eaf4abf59e453f00b1ac8077c8e636b2bac5d75e92bfbdd78fbd8a92d98773e"
1264
+ "loadingDigest": "3743f69611922c427b8e492045994eae5768cd0ed14f95d71eedbee509e627cc"
1246
1265
  },
1247
1266
  {
1248
1267
  "name": "@deepseek-ai/dsh-tool-jobs",
1249
- "version": "0.2.0-rc.1",
1250
- "integrity": "sha512-drRwecBoDKmjY3iS16w9/Tpt7qc+uJYmFpuYk7PaSFvRGEINQQWVlcrwoV6NFSr2DRTJnBEomEnQ7zCzMRy3hw==",
1251
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-jobs/-/dsh-tool-jobs-0.2.0-rc.1.tgz",
1252
- "sha256": "80a675da52edaeaed1d363e3794156f7281913c3d2afe7a73f630f91b10c03a0",
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": "d0b6f47c0ae26f9b3c7a3ef3a71d7b4d80be8c3be22704b8b3eec1c8053a6d55"
1274
+ "package.json": "c710f1240c6486f89f1d0e411f4aa800a4fdf8fa83a6fe4a6909dd8d51e71e26"
1256
1275
  },
1257
1276
  "programs": { "lib/index.js": "b45d13d983e98d28aa8164d7997c125d1c28bae8976784c8e235bf8430224e8b" },
1258
- "loadingDigest": "351320b650ef0f38efa22884cdfec1903e72ec55b9393d80eae8e7851baa1010"
1277
+ "loadingDigest": "a2edc6626da2ac54207e42dae4e272cf1a0af91d0d79e0ca61b8ae3e12e60466"
1259
1278
  },
1260
1279
  {
1261
1280
  "name": "@deepseek-ai/dsh-tool-pwsh",
1262
- "version": "0.2.0-rc.1",
1263
- "integrity": "sha512-jxKcyzZ1c9/1tRdBweae+fivnx4WhYMWco+9AG5ANmVHTOXaSCJ8RtUfBQyB7/HUXsLEU1jtHWg3kEcLxZK33Q==",
1264
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tool-pwsh/-/dsh-tool-pwsh-0.2.0-rc.1.tgz",
1265
- "sha256": "b670a0cace67e87f241c737f2a3b52fe300dd4008f76233c3a7692ccf010202d",
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": "59a26ff0b2a13e27aa945d42f663a66befec6dbbffcae03a2cd595946c06bf3c",
1268
- "package.json": "0ab2225df3c4b818c74e6398f6c41e5d97013459c8f0fdc9388b40178a9d508e"
1286
+ "lib/index.js": "1a49cd8de831423a4ae0a2c57a4674a64cec538f64ae603aaa2c388d78aec790",
1287
+ "package.json": "43550a960a0281fe7905d362ef4600effe54fa8b4841739f08b2aa2055d002f1"
1269
1288
  },
1270
- "programs": { "lib/index.js": "685e36eb7326cedc2da4792c7492c2081049ef2c9bb855e9c36d5c7b60b6b645" },
1271
- "loadingDigest": "fdb4841ece36f7e32e53b8774aa1f4c5122bbfa5e6333d7a7eddc1a7b2927925"
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.1",
1276
- "integrity": "sha512-HmXY+X4HBoeuGBJWkS+q91GEGK61XgNc3qCXT+QqI+nzCcg1VOIwWvjgOnr1c76x5HKPyxR7FF3PMMq3+hO7oQ==",
1277
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-tools/-/dsh-tools-0.2.0-rc.1.tgz",
1278
- "sha256": "173440b373cf1a6f8bd21ddc7c867137c5069d2388023bba23c832a6249795c7",
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": "4d94a4285686e430c153c87b5311e4656f3b3833fdbbcf3591110406a84ef227"
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": "1cd29c06e528ffaaa72a892ee8f108aef2918520f3df43dd70c9ae41a39e21dd"
1327
+ "loadingDigest": "b889164e150ce9fcee5e2fcc7340d2f12de71d73cb5778d583589c976d9623b3"
1309
1328
  },
1310
1329
  {
1311
1330
  "name": "@deepseek-ai/dsh-user-approval",
1312
- "version": "0.2.0-rc.1",
1313
- "integrity": "sha512-0d2sFESHYhnnwuIPDw7sNImFE+HWU6kbX9cWZSPntMXLMhr8lgJFmtZFmrZwobQO7lhpEZKcvX8Jhzmc3OCdWQ==",
1314
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-user-approval/-/dsh-user-approval-0.2.0-rc.1.tgz",
1315
- "sha256": "2f54cc7a3905930af5a540fb2ad8ebfb1c458e56e9d0a547b81e6fb7a2f81799",
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": "eff21ab4e65ee041c7eabc61f03b9fba28b21471463ca9e51af50f57fa965ad6"
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": "27ab167b7c7a7c54dee1f03f75dab32491fc8706e7877d683a1236643321616f"
1350
+ "loadingDigest": "c4211df0a593655483d52187f78b2a8651c3a0cd59b1bfe8ce9c243ef25511b2"
1332
1351
  },
1333
1352
  {
1334
1353
  "name": "@deepseek-ai/dsh-util-values",
1335
- "version": "0.2.0-rc.1",
1336
- "integrity": "sha512-Eh1HH0LFvztBwU2xotdfW5oCwLlWGjK2ygCC5+PnC3tkSDh9gvVQpEf0ezK+Kk6vpLz117V7VPehhR1+gs90+Q==",
1337
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-util-values/-/dsh-util-values-0.2.0-rc.1.tgz",
1338
- "sha256": "7840c210683d0c79c4054b63b39b869d8fb06f2c5095c35ce0eb836beedd361d",
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": "7f5894851834711e41f529d77e95f8a74c4892e6fd07cafff0f50f359f0b7b4b"
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.1",
1349
- "integrity": "sha512-Gho07L3/1hk0UdVc7PjYtl01CPRb9famTmgsw9KrzuBfUcv5co1gKdAJYF+urZdx7mqkux6lZDBqUNbOIrPgBg==",
1350
- "tarball": "https://registry.npmjs.org/@deepseek-ai/dsh-web-app/-/dsh-web-app-0.2.0-rc.1.tgz",
1351
- "sha256": "430cb785d6a800a6112a3b57d916d6450d90bb94134af19b3394ecd5a9b2e3f7",
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": "0623b04fee889a1622cc6d4d3aa8d5b347f9260a06d11ff9b7160ce40cee5df6"
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": "1ef78bb1d0084433fefe46ab2589207a1b425d0ddcd83faa0800a5096b483485"
1380
+ "loadingDigest": "8c10c6004d1f3b78e18e84d1e8ba1b8ae2d589b9451c9771bb1d093beff00f19"
1362
1381
  }
1363
1382
  ];
1364
1383
 
1365
1384
  //#endregion
1366
- //#region src/domain/rc020-rc1-host.ts
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.1 tarballs (upstream
1369
- * 4878cdabd87d4041bdaff61d04c966883b9fd07a). Native platform acceptance
1370
- * remains a separate, currently pending fact. */
1371
- const RC020_RC1_HOST_PACKAGES = packages.map(({ name, version: version$1, integrity }) => ({
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$1 = rawPackages ?? [];
1712
- const names = packages$1.map((p) => expectString(p.name, "package.name"));
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$1].sort((a, b) => byUtf8(a.name, b.name))) {
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.1 the public DSH support range is
2541
- * `>=0.2.0-rc.1` with NO implied upper bound: every host version at or above
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.1";
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
- const HOST_VALIDATED_VERSIONS = ["0.2.0-rc.1"];
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.0` and the whole
2637
- * `0.1.7.x` line stay below the floor; `0.2.0-rc.1`, `0.2.0-rc.2`, `0.2.0`,
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.1 package surfaces: `ctx.sessions.flush()` still returns whether a
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$1, auditProvenance = "native-audited", acceptedPlatforms = auditedPlatforms) {
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$1,
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.1";
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.1"], [], RC020_RC1_HOST_PACKAGES, "registry-derived-pending-native-audit", ["posix", "windows"])].filter((cohort) => ACTIVE_HOST_COHORT_IDS.includes(cohort.id)).map((cohort) => ({
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.1). The cohort
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$1]) => [id, statusForPackages(id, rows, packages$1, cohort)]));
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$1, context = {}, cohort) {
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$1]
3371
+ packages: [...packages$2]
3343
3372
  });
3344
3373
  } catch {
3345
3374
  const bounded = {
3346
- packages: packages$1.map((row$3) => [
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$1, dependencies = []) {
8695
- return hash$3([...packages$1, ...dependencies].sort((a, b) => a.name < b.name ? -1 : 1));
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$1 = [...trust.packages].sort((a, b) => a.name.localeCompare(b.name)).map((row$3) => ({
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$1
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$1 = [], dependencies = [], archives = [];
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$1.push(await acquire(row$3));
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$1) {
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$1.filter((p) => HOST_CONTRACT_CONSUMERS.includes(p.name)).map((p) => p.name)])];
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$1, ...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)) {
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$1, dependencies),
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$1,
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$1 = document.packages;
9024
- if (!packages$1 || typeof packages$1 !== "object" || Array.isArray(packages$1)) throw new HostProfileError("active_graph_invalid", "invalid reachable package map");
9025
- const records = packages$1;
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 = /* @__PURE__ */ new Set();
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
- if (!session.exists(join(modulesPath, ".package-map.json"))) {
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": "9a32c2a9f1b7b16c2287861272cc9dfb7c3b3cc85e64c8e9d9a834fb0868e707",
9285
- "@deepseek-ai/dsh-tool-pwsh": "59a26ff0b2a13e27aa945d42f663a66befec6dbbffcae03a2cd595946c06bf3c",
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] ? "0\\.2\\.0-rc\\.1" : void 0;
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
- if (!Array.isArray(bundles) || bundles.length !== names.length || bundles.some((name, index$1) => name !== names[index$1])) throw new HostProfileError("target_profile_bundles_unsupported", "not the installation-owned Headless bundle tuple");
9441
- const modules = realpathSync(join(runtime, "node_modules"));
9442
- const mapText = readFileSync(join(modules, ".package-map.json"), "utf8");
9443
- const lockText = readFileSync(join(runtime, "pnpm-lock.yaml"), "utf8");
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 profileKind = bundles.includes("@deepseek-ai/dsh-web-app") || bundles.includes("dshmarket") ? "web" : "headless";
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) return (surface === "bash" || surface === "pwsh") && !terminal.marked ? "success" : "unknown";
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
- export { PROOF_KINDS as $, hostVersionFromPackages as $i, capabilityConsequence as $n, statefulActionsOfScope as $r, reservationFor as $t, PROTOCOL_V4_NOTICE as A, RC020_RC1_HOST_PACKAGES as Aa, HostTrustError as Ai, isCurrentAcceptedBoundary as An, interpretMessage as Ar, carriesCleanupCondition as At, extractToolSubject as B, BASE_HOST_PACKAGES as Bi, replayRebindResult as Bn, legacyQuestionReadingIsInformational as Br, sourceItemForCoreRequirement as Bt, SESSION_EVENT_ENVELOPE_INVALID as C, requestedIdentityKey as Ca, packageRowsFromPnpmLock as Ci, hasCurrentCertificate as Cn, clauseIsProtected as Cr, CLEANUP_CONDITION_RULE_COMPACT as Ct, CAPTURE_V042_NOTICE as D, semanticActionFromText as Da, resolveActiveProfileHostLock as Di, BOUNDARY_RECORD_PREFIX as Dn, hasQuestionScope as Dr, V6_ORDINARY_COMPLETION_RULE as Dt, projectCoreV2 as E, semanticActionFromCommand as Ea, readActiveHostGraph as Ei, unitDescendantIds as En, hasOrderedCoordination as Er, MIN_RECOVERY_CHAR_BUDGET as Et, legacyRecordsNeedingReview as F, registryArchiveFiles as Fi, proposeRebind as Fn, isOpenObligation as Fr, recoveryTitle as Ft, isRunExecutable as G, HOST_COHORTS as Gi, deriveItemDiagnosis as Gn, opensWithDirective as Gr, inFlightReservation as Gt, persistedToolResultStatus as H, EXPECTED_HOST_PACKAGES as Hi, isFrozenV042RebindResponse as Hn, maskQuotedSpans as Hr, RELEASE_OPERATIONS as Ht, rootLocatorFlavor as I, registryArchiveModules as Ii, proposeRebindOutcome as In, isQuestionScopeNeedingReview as Ir, renderRecoveryPacket as It, authorityCaptureCounts as J, evaluateExternalWaitCapability as Ji, nativeFileTwoRole as Jn, questionHeadsClause as Jr, normalizeSettlement as Jt, parsePwshCommand as K, bindExecutableIdentity as Ki, evidenceAvailabilityReason as Kn, presentExplanationHead as Kr, normalizeReleaseContract as Kt, supersedeItem as L, ACTIVE_HOST_COHORT_ID as Li, proposeRebindV042 as Ln, isRestatement as Lr, v6CurrentRootBoundaries as Lt, PROTOCOL_V6_NOTICE as M, hostTrustDigest as Mi, currentContractDigest as Mn, isExecutableItem as Mr, closingHint as Mt, applyUpgradeEligibility as N, parseHostTrust as Ni, createProjection as Nn, isExplanationScope as Nr, openItems as Nt, DEFAULT_DELEGATION_TOOL_NAMES as O, validateActionManifest as Oa, resolveInstalledHostLock as Oi, availableBoundaryQualifications as On, hasWorkPredicate as Or, V6_ORDINARY_COMPLETION_RULE_COMPACT as Ot, deriveProjection as P, qualifyHostTrust as Pi, confirmRebind as Pn, isInformationalFragment as Pr, recoveryDigest as Pt, PROOF_CAPABILITY_MATRIX as Q, evaluateToolSurfaceCapability as Qi, admissibleForRemoval as Qn, splitTextFragments as Qr, releasePreEffectDecision as Qt, evidenceFromPersistedToolResult as R, ACTIVE_HOST_COHORT_IDS as Ri, rebindAttemptKey as Rn, itemHoldsExecutionAuthority as Rr, currentV6Feedback as Rt, SESSION_API_UNSUPPORTED as S, isStatefulAction as Sa, packageRowsFromActiveGraph as Si, goalCompletionDenial as Sn, clauseIsGoverned as Sr, CLEANUP_CONDITION_RULE as St, snapshotSessionEvents as T, requestedTargetMatchesResolved as Ta, prepareTargetHostTrust as Ti, certificateClosure as Tn, governedClauseRestrictsExecution as Tr, DEFAULT_RECOVERY_CHAR_BUDGET as Tt, withDurability as U, GOAL_HOST_PACKAGES as Ui, parseConfirmationMessage as Un, namedActions as Ur, RELEASE_OPERATION_SURFACES as Ut, isDeterministicCheck as V, DEFAULT_HOST_LOCK as Vi, CONFIRM_LINE_PATTERN as Vn, maskCodeSpans as Vr, OUTCOME_STRENGTH as Vt, canonicalArgvFromCommand as W, HOST_CAPABILITY_PACKAGE_GROUPS as Wi, capabilityRemedyPhrase as Wn, opensConditionLead as Wr, contractById as Wt, bindingIndividuallyAccepted as X, evaluateHostCapability as Xi, DEPENDENCY_FREE_ONLY_CONDITION as Xn, restatedContentOf as Xr, releaseContractFor as Xt, segmentAuthorityBlocks as Y, evaluateGraphDerivedHostLock as Yi, relevantEvidence as Yn, reportingHeadGoverns as Yr, readbackSettlesContract as Yt, certifyCheckpoint as Z, evaluateHostLock as Zi, actionHasCertificationPath as Zn, semanticActionOfScope as Zr, releaseCoverage as Zt, projectSessionCoreV2 as _, STOP_PROTOCOL_VERSION as _a, evaluateConfiguredHostLock as _i, latestRootInstruction as _n, GRANTED_QUALIFICATION as _r, scopeCoverageDigest as _t, createGitPrestateEnvelope as a, SUPPORTED_HOST_VERSIONS as aa, normalizeClause as ai, NO_PROGRESS_RECORD_PREFIX as an, captureItem as ar, bindProofV2ToProjection as at, captureHostWorkdir as b, actionCompatible as ba, injectActiveProfileHostLock as bi, testOutcomePredicate as bn, clarifiedSpanOf as br, validateProofManifest as bt, parseGitCommandManifest as c, parseHostVersion as ca, sha256 as ci, assessmentOutcomePredicate as cn, extractArtifactPaths as cr, createProofManifestV2 as ct, FIRST_STEP_GUIDANCE as d, ACTION_MANIFEST_VERSION as da, auditedDefaultWorkdirHost as di, decideTurnBoundary as dn, isInformationalMessage as dr, proofDigestV2 as dt, selectHostCohort as ea, verbIsNegated as ei, bindingSatisfies as en, capabilityFactOf as er, PROOF_KINDS_V2 as et, claimedBatchHasRealRootInput as f, BOUNDED_ARTIFACT_TYPES as fa, auditedDefaultWorkdirProvider as fi, decideTurnStopping as fn, segmentClauses as fr, proofEvidenceConstraints as ft, previewFirstStepInjection as g, STATEFUL_ACTIONS as ga, evaluateActiveHostLock as gi, latestAssistantText as gn, classifyUserInteraction as gr, requiredSubjectsOf as gt, lifecyclePhase as h, SEMANTIC_ACTIONS as ha, combineHostPolicy as hi, isWholeTaskCompletionClaim as hn, classifyTaskIntent as hr, proofV2Rejection as ht, commitTreeSnapshotDigest as i, SUPPORTED_HOST_RANGE as ia, digestStrings as ii, CONTROL_RECORD_PREFIX as in, captureClause as ir, bindProofToProjection as it, PROTOCOL_V5_NOTICE as j, createHostAuditSession as ja, acquireHostTrust as ji, qualifyBoundary as jn, introducesActionClause as jr, cleanupConditionFor as jt, PROTOCOL_V3_NOTICE as k, validateActionTarget as ka, verifyComposedHostLockDump as ki, effectuateBoundary as kn, interpretClause as kr, V6_ORDINARY_COMPLETION_RULE_SHORT as kt, revalidateGitPrestate as l, satisfiesSupportedHostRange as la, HostProfileError as li, classifyCompletionClaim as ln, extractMethod as lr, proofCapabilityReport as lt, firstStepGuidanceV6 as m, CERTIFICATE_VERSION_V2 as ma, auditedHostImplementation as mi, isRootPauseRequest as mn, npmEscapedPackageName as mr, proofOperationMatches as mt, GIT_COMMAND_TEMPLATES as n, LATEST_TESTED_HOST_VERSION as na, validateManifest as ni, evidenceMatchesItem as nn, removalIsComplete as nr, PROOF_PROTOCOL_VERSION as nt, executeRevalidatedGitEffect as o, compareHostVersions as oa, sanitizeClauseText as oi, NO_PROGRESS_TURNS_BEFORE_STOP as on, classifyClause as or, canonicalProjection as ot, firstStepGuidance as p, CERTIFICATE_VERSION as pa, auditedForegroundRenderers as pi, decisionBoundaryKey as pn, canonicalRegistryBase as pr, proofHostSurfacesOf as pt, parseShellCommand as q, bindLiveGoalCapability as qi, itemDiagnosis as qn, qualificationOfClause as qr, normalizeReservation as qt, commitIndexSnapshotDigest as r, MIN_SUPPORTED_HOST_VERSION as ra, canonicalizePath as ri, isVerifyingCapability as rn, removalIsPartiallyKnown as rr, PROOF_PROTOCOL_VERSION_V2 as rt, gitCommandMatchesTarget as s, evaluateMinimumHostVersion as sa, sanitizeUrl as si, assessmentAction as sn, environmentDefaultRepositoryTarget as sr, createProofManifest as st, GIT_COMMAND_MANIFEST_IDS as t, HOST_VALIDATED_VERSIONS as ta, COMMAND_SURFACE_MANIFEST as ti, evidenceCoverage as tn, partialFailureOf as tr, PROOF_MANIFEST_DOMAIN_V2 as tt, verifiedLinearCommitReadback as u, ACTION_MANIFEST as ua, activeRendererModule as ui, currentActionBases as un, extractOperation as ur, proofDigest as ut, sessionCoreSnapshot as v, STOP_PROTOCOL_VERSION_V2 as va, hostLockContextFromComposedDump as vi, observeAssistantOutcome as vn, LEGACY_QUALIFICATION as vr, sessionQuery as vt, SessionApiError as w, requestedTargetAuthorizesMutation as wa, prepareActiveHostTrust as wi, certifiableOpenItems as wn, explanationHasActionResidue as wr, CLEANUP_CONDITION_RULE_SHORT as wt, sourcedNamedTestRoot as x, boundedArtifactChoiceMatches as xa, inspectTargetHostGraph as xi, v6TestPredicate as xn, clauseAsksOwnQuestion as xr, validateProofManifestV2 as xt, HOST_WORKDIR_PREFIX as y, SUPPORTED_EVIDENCE_ADAPTERS as ya, hostLockRowsFromComposedDump as yi, progressFingerprint as yn, actionVerbMatches as yr, sessionQueryV2 as yt, extractTextContent as z, ACTIVE_HOST_LAUNCHER_VERSION as zi, rebindResponse as zn, kindOfScope as zr, isV6PendingRootWait as zt };
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 };