{"_id":"dsh-ptc-plus","_rev":"17-486045f8ab3d6354561122262a16b228","name":"dsh-ptc-plus","dist-tags":{"latest":"0.5.1"},"versions":{"0.2.1":{"name":"dsh-ptc-plus","version":"0.2.1","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.2.1","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"a546854ae25e7be20ed74f7fbd55d7b4d38385fc","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.2.1.tgz","fileCount":77,"integrity":"sha512-ThxoHIyHi3bIsUcwZiz4dno+VCKaEbtLoQQwDvmA6USGLuRHBtGMt3LyZvkxHtTgfFTQ+BjuINllw5Au+CFCRQ==","signatures":[{"sig":"MEUCIQD35zdHObmBmi4P/RjVIzff4Dk0xSeyrAdK/RRgC9wL7wIgJqd3Fs1arBy8joQv9+sKL0cvJMI8TI4Hiq56ALaomeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1181971},"main":"./index.js","type":"module","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"gitHead":"6dea1fbcbd2a735ef2d47207642458a0898ded39","scripts":{"build":"node scripts/client-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node --test --experimental-test-module-mocks --experimental-test-coverage --test-concurrency=1 --test-coverage-include=\"index.js\" --test-coverage-include=\"internal/*.js\" --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 \"test/*.test.js\"","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs"},"_npmUser":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"11.18.0","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","esbuild":"0.28.2","@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"peerDependencies":{"@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.2.1_1787628684497_0.1572687684128844","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"dsh-ptc-plus","version":"0.2.2","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.2.2","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"fda38d17199a32291af5f7b1b35beb935c48281a","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.2.2.tgz","fileCount":77,"integrity":"sha512-/BT1foC0mLv9Im9YJ6diGcmGjfDN0p/WKoGT+UmDddQwLRS2teFzAZ8xxQ07S/4kHyejJBCNy03aSL9TwmcLrw==","signatures":[{"sig":"MEYCIQCsOVAyEfdWza3h6FjzcmkN6WAhyYrbA1fTDf4JC8TNjAIhAKRElxkk6L9A/TMPFPAxaUfw31zhZo4uHYAOTj4k66qx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1192398},"main":"./index.js","type":"module","_from":"file:G:/TSWorkSpace/dsh-ptc-plus/.git/npm-publish/dsh-ptc-plus-0.2.2.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node --test --experimental-test-module-mocks --experimental-test-coverage --test-concurrency=1 --test-coverage-include=\"index.js\" --test-coverage-include=\"internal/*.js\" --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 \"test/*.test.js\"","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs"},"_npmUser":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"_resolved":"G:\\TSWorkSpace\\dsh-ptc-plus\\.git\\npm-publish\\dsh-ptc-plus-0.2.2.tgz","_integrity":"sha512-/BT1foC0mLv9Im9YJ6diGcmGjfDN0p/WKoGT+UmDddQwLRS2teFzAZ8xxQ07S/4kHyejJBCNy03aSL9TwmcLrw==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"11.18.0","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","esbuild":"0.28.2","@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"peerDependencies":{"@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.2.2_1787640809669_0.817886253969643","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"dsh-ptc-plus","version":"0.2.3","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.2.3","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"943175de625cd5c4066f06e7bdb200e81dfd53c7","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.2.3.tgz","fileCount":78,"integrity":"sha512-ShNkTUktbl5C1TD53G4hpzrls17zgTqnOp+jR1f1HR4IlJvjWz0AjayLSDfrVLePBQmYZJPipeaiuJkqqFDwkQ==","signatures":[{"sig":"MEQCIHxkxPgV6X567dUu0HoGVWjaQn6wMD/drANvoJ1FE09vAiATFsGwnyWbntctcq0lqo9RrVoQcScdYM1S2y9FY9wFrA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1202934},"main":"./index.js","type":"module","_from":"file:G:/TSWorkSpace/dsh-ptc-plus/.git/npm-publish/dsh-ptc-plus-0.2.3.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node --test --experimental-test-module-mocks --experimental-test-coverage --test-concurrency=1 --test-coverage-include=\"index.js\" --test-coverage-include=\"internal/*.js\" --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 \"test/*.test.js\"","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs"},"_npmUser":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"_resolved":"G:\\TSWorkSpace\\dsh-ptc-plus\\.git\\npm-publish\\dsh-ptc-plus-0.2.3.tgz","_integrity":"sha512-ShNkTUktbl5C1TD53G4hpzrls17zgTqnOp+jR1f1HR4IlJvjWz0AjayLSDfrVLePBQmYZJPipeaiuJkqqFDwkQ==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"11.18.0","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.14.0","dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","esbuild":"0.28.2","@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"peerDependencies":{"@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.2.3_1787662073031_0.34431774166770945","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"dsh-ptc-plus","version":"0.2.4","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.2.4","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"7406cb742895b7131b18f15362b61899c37138cc","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.2.4.tgz","fileCount":82,"integrity":"sha512-zs/w6mJ0Ni1TYiFLup9pYSmOKmyzhabQWVtASZOjNmTLWGUZQDxnkoJjysGH1pxrSeuCv843SFFfxeIsG0bybw==","signatures":[{"sig":"MEQCIE1nbIL/j96abNnW3M4k08zTjHRQc50hZi8vYByDryLpAiAFT7FYn00o0cmEOg6/uK5aH4VCOOIuuKa8AZYyzcz/hg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1162386},"main":"./index.js","type":"module","_from":"file:/tmp/tmp.Qf2wa8Cb7o/dsh-ptc-plus-0.2.4.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node --test --experimental-test-module-mocks --experimental-test-coverage --test-concurrency=1 --test-coverage-include=\"index.js\" --test-coverage-include=\"internal/*.js\" --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 \"test/*.test.js\"","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.Qf2wa8Cb7o/dsh-ptc-plus-0.2.4.tgz","_integrity":"sha512-zs/w6mJ0Ni1TYiFLup9pYSmOKmyzhabQWVtASZOjNmTLWGUZQDxnkoJjysGH1pxrSeuCv843SFFfxeIsG0bybw==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","esbuild":"0.28.2","@deepseek-ai/dsh-tools":"alpha","@deepseek-ai/dsh-settings":"alpha","@deepseek-ai/dsh-tool-cordis":"alpha","@deepseek-ai/dsh-skill-filesystem":"alpha"},"peerDependencies":{"@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.2.4_1788274999361_0.7445342862501667","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"dsh-ptc-plus","version":"0.3.1","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.3.1","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"66284e6128dd103741f174f7391c42f40e26e094","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.3.1.tgz","fileCount":87,"integrity":"sha512-a0lnGFoN/UviKIzuGUrHt63/DMhU0JQY6Ji0w3khFFgJG82ZvnbvipN7Aa+M/BkZFcqVuI1si2/64q1cAm4i5g==","signatures":[{"sig":"MEUCIEK+zTwCWBFL4eQtLC80B49+//nqpPZEp+k9UiPwlZPSAiEAhx1xT72SXeQnCZIOQcSLWti2+9vlNrW+U1qjwtnkVRY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.3.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1634715},"main":"./index.js","type":"module","_from":"file:/tmp/tmp.lHnSiwPJ5P/dsh-ptc-plus-0.3.1.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node --test --experimental-test-module-mocks --experimental-test-coverage --test-concurrency=1 --test-coverage-include=\"index.js\" --test-coverage-include=\"internal/*.js\" --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 \"test/*.test.js\"","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.lHnSiwPJ5P/dsh-ptc-plus-0.3.1.tgz","_integrity":"sha512-a0lnGFoN/UviKIzuGUrHt63/DMhU0JQY6Ji0w3khFFgJG82ZvnbvipN7Aa+M/BkZFcqVuI1si2/64q1cAm4i5g==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","esbuild":"0.28.2","@deepseek-ai/dsh-tools":"alpha","@deepseek-ai/dsh-settings":"alpha","@deepseek-ai/dsh-tool-cordis":"alpha","@deepseek-ai/dsh-skill-filesystem":"alpha"},"peerDependencies":{"@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.3.1_1788358676907_0.48637943408944473","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"dsh-ptc-plus","version":"0.3.2","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.3.2","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"ab9bd1d97554f5ccc423e99f65a8ce72188b74d3","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.3.2.tgz","fileCount":90,"integrity":"sha512-M18dHPQOibcIIQyJGVfRP2acyXw9XQvFbyadJgNR2H6e7hvPcP2Lmxrm69JSNGfwgZiBAVwCAfgpvJQbJIvZvQ==","signatures":[{"sig":"MEYCIQCP2jg8vrzfjQ3alS4gCSX5pYPGgzpy0Ja/ZP+7k2cx4wIhAIgVIMQ8+MJ4mTmsuE+iRLMoEobFs+qk+KShfNDhsEdy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.3.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1724513},"main":"./index.js","type":"module","_from":"file:/tmp/tmp.aOUVItjvDA/dsh-ptc-plus-0.3.2.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node --test --experimental-test-module-mocks --experimental-test-coverage --test-concurrency=1 --test-coverage-include=\"index.js\" --test-coverage-include=\"internal/*.js\" --test-coverage-lines=100 --test-coverage-branches=95 --test-coverage-functions=100 \"test/*.test.js\"","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.aOUVItjvDA/dsh-ptc-plus-0.3.2.tgz","_integrity":"sha512-M18dHPQOibcIIQyJGVfRP2acyXw9XQvFbyadJgNR2H6e7hvPcP2Lmxrm69JSNGfwgZiBAVwCAfgpvJQbJIvZvQ==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.1"},"_hasShrinkwrap":false,"devDependencies":{"yaml":"^2.9.0","esbuild":"0.28.2","@deepseek-ai/dsh-tools":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-skill-filesystem":"next"},"peerDependencies":{"@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.3.2_1788455313730_0.5481597716772475","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"dsh-ptc-plus","version":"0.4.1","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.4.1","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"947ebec8273a0fe7316735f3fd87070263ed0dc4","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.4.1.tgz","fileCount":222,"integrity":"sha512-zIcz6ykt9Ki/+aVazdL926OG8gHEFKxSbEcEUwF2g8JpvwDHeM4kA2H2KlUNUmmXkXbsvv01Yn71ox7peUMtng==","signatures":[{"sig":"MEQCIDCznBIcJs1KTO0R+R97Xn3nFzc1oLAjcYX+jhJ4n9YZAiBm06tEqOSgNHhs5VIBhDtkwFOJ2/ohedX5aogJSlzZhA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21574494},"main":"./index.js","type":"module","_from":"file:/tmp/tmp.PipSDj244t/dsh-ptc-plus-0.4.1.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run test:client && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","test:client":"vitest run --config scripts/client-test.config.mjs","hooks:install":"node scripts/review-findings.mjs install-hook","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node --test --test-concurrency=1 test/semantic-test262.test.js test/semantic-dialect.test.js test/semantic-boundaries.test.js","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:client:web":"node scripts/client-web-smoke.mjs","test:client:layout":"node scripts/client-binding-layout.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.PipSDj244t/dsh-ptc-plus-0.4.1.tgz","_integrity":"sha512-zIcz6ykt9Ki/+aVazdL926OG8gHEFKxSbEcEUwF2g8JpvwDHeM4kA2H2KlUNUmmXkXbsvv01Yn71ox7peUMtng==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","amaro":"1.1.11","pathe":"^2.0.3","tslib":"^2.8.1","fflate":"^0.8.3","codemirror":"^6.0.2","typescript":"^6.0.3","@babel/core":"^7.29.7","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@lezer/highlight":"^1.2.3","@babel/code-frame":"^7.29.7","@codemirror/state":"^6.7.4","@codemirror/language":"^6.12.4","@deepseek-ai/schemastery":"^3.18.1","@jridgewell/trace-mapping":"^0.3.31","@codemirror/lang-javascript":"^6.2.5","@babel/plugin-proposal-decorators":"^7.29.7","@babel/plugin-transform-typescript":"^7.29.7","@babel/plugin-transform-optional-chaining":"^7.29.7","@babel/helper-create-class-features-plugin":"^7.29.7","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","yaml":"^2.9.0","jsdom":"^29.1.1","react":"^18.3.1","vitest":"^5.0.0","esbuild":"0.28.2","react-dom":"^18.3.1","playwright":"^1.63.0","convert-source-map":"^2.0.0","@deepseek-ai/dsh-llm":"next","@deepseek-ai/dsh-tools":"next","@testing-library/react":"^16.3.3","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@deepseek-ai/dsh-skill-filesystem":"next","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-persistence-jsonl":"next"},"peerDependencies":{"@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.4.1_1789761605980_0.7159696690704891","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"dsh-ptc-plus","version":"0.4.2","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.4.2","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"465749a56aba1902522408ce154884faad987592","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.4.2.tgz","fileCount":227,"integrity":"sha512-+Gy8wScxgeAgGMYX2To5FX7jcUQHe56rOYMdlqykrBFDNONQdFe6rHzNmDH/YYNeW5SJ/zYGCweNtcO2pklLxw==","signatures":[{"sig":"MEYCIQDGVFPyiLvVLhc/hqZntllhrdUKhKYm+NcwW5+gNPrJjAIhAOW9np8CTgB//XsqX1AAz+u3/8Dc8EFp1wefOvMfYoV9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.4.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21671717},"main":"./index.js","type":"module","_from":"file:/tmp/tmp.EtnzqYKT10/dsh-ptc-plus-0.4.2.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run test:client && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","test:client":"vitest run --config scripts/client-test.config.mjs","hooks:install":"node scripts/review-findings.mjs install-hook","coverage:focus":"node scripts/coverage.mjs --focus","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node --test --test-concurrency=1 test/semantic-test262.test.js test/semantic-dialect.test.js test/semantic-boundaries.test.js","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:client:web":"node scripts/client-web-smoke.mjs","test:client:layout":"node scripts/client-binding-layout.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.EtnzqYKT10/dsh-ptc-plus-0.4.2.tgz","_integrity":"sha512-+Gy8wScxgeAgGMYX2To5FX7jcUQHe56rOYMdlqykrBFDNONQdFe6rHzNmDH/YYNeW5SJ/zYGCweNtcO2pklLxw==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","amaro":"1.1.11","pathe":"^2.0.3","tslib":"^2.8.1","fflate":"^0.8.3","codemirror":"^6.0.2","typescript":"^6.0.3","@babel/core":"^7.29.7","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@lezer/highlight":"^1.2.3","@babel/code-frame":"^7.29.7","@codemirror/state":"^6.7.4","@codemirror/language":"^6.12.4","@deepseek-ai/schemastery":"^3.18.1","@jridgewell/trace-mapping":"^0.3.31","@codemirror/lang-javascript":"^6.2.5","@babel/plugin-proposal-decorators":"^7.29.7","@babel/plugin-transform-typescript":"^7.29.7","@babel/plugin-transform-optional-chaining":"^7.29.7","@babel/helper-create-class-features-plugin":"^7.29.7","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","yaml":"^2.9.0","jsdom":"^29.1.1","react":"^18.3.1","vitest":"^5.0.0","esbuild":"0.28.2","react-dom":"^18.3.1","playwright":"^1.63.0","convert-source-map":"^2.0.0","@deepseek-ai/dsh-llm":"next","@deepseek-ai/dsh-tools":"next","@testing-library/react":"^16.3.3","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@deepseek-ai/dsh-skill-filesystem":"next","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-persistence-jsonl":"next"},"peerDependencies":{"@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.4.2_1789882805626_0.6985807083227913","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"dsh-ptc-plus","version":"0.4.3","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.4.3","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"1f5f04b2eb345c5ff518ff7b2745521398a48de0","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.4.3.tgz","fileCount":233,"integrity":"sha512-RJMCNWEVZiZzH1G7Jtb7C37HJGC1xchV2sngA+Wjj3YjASCfOwajEPoazsjuA/566R5n6yWaTIVHf67ckeLNzA==","signatures":[{"sig":"MEUCIQCExsljpz78mYWcpS6hWfCZhqbLxs/4xDTeCR1EZwcWqAIgAnfgclolV+n2UEncheZrmYdkSGgUNWfR5JCe9js8fkg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.4.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21901049},"icon":"assets/ptc-plus-icon.svg","main":"./index.js","type":"module","_from":"file:/tmp/tmp.3DYMTgofk4/dsh-ptc-plus-0.4.3.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run test:client && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","review:lane":"node scripts/review-findings.mjs lane-verdict","review:plan":"node scripts/review-findings.mjs plan","test:client":"vitest run --config scripts/client-test.config.mjs","review:clear":"node scripts/review-findings.mjs review-clear","hooks:install":"node scripts/review-findings.mjs install-hook","review:status":"node scripts/review-findings.mjs status","coverage:focus":"node scripts/coverage.mjs --focus","semantic:check":"node scripts/semantic-obligations.mjs","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node --test --test-concurrency=1 test/semantic-test262.test.js test/semantic-dialect.test.js test/semantic-boundaries.test.js","review:finalize":"node scripts/review-findings.mjs finalize","review:plan:new":"node scripts/review-findings.mjs plan-create","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:client:web":"node scripts/client-web-smoke.mjs","test:client:layout":"node scripts/client-binding-layout.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"oidc:a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.3DYMTgofk4/dsh-ptc-plus-0.4.3.tgz","_integrity":"sha512-RJMCNWEVZiZzH1G7Jtb7C37HJGC1xchV2sngA+Wjj3YjASCfOwajEPoazsjuA/566R5n6yWaTIVHf67ckeLNzA==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","amaro":"1.1.11","pathe":"^2.0.3","tslib":"^2.8.1","fflate":"^0.8.3","codemirror":"^6.0.2","typescript":"^6.0.3","@babel/core":"^7.29.7","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@lezer/highlight":"^1.2.3","@babel/code-frame":"^7.29.7","@codemirror/state":"^6.7.4","@codemirror/language":"^6.12.4","@deepseek-ai/schemastery":"^3.18.3","@jridgewell/trace-mapping":"^0.3.31","@codemirror/lang-javascript":"^6.2.5","@babel/plugin-proposal-decorators":"^7.29.7","@babel/plugin-transform-typescript":"^7.29.7","@babel/plugin-transform-optional-chaining":"^7.29.7","@babel/helper-create-class-features-plugin":"^7.29.7","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","clsx":"^2.0.0","diff":"^9.0.0","yaml":"^2.9.0","anser":"^2.3.5","immer":"^10.1.1","jsdom":"^29.1.1","katex":"^0.16.47","react":"^18.3.1","shiki":"^4.3.1","vitest":"^5.0.0","esbuild":"0.28.2","zustand":"~4.4.7","react-dom":"^18.3.1","playwright":"^1.63.0","simple-icons":"16.31.0","@shikijs/langs":"^4.3.1","mdast-util-gfm":"^3.1.0","mdast-util-math":"^3.0.0","convert-source-map":"^2.0.0","@deepseek-ai/dsh-llm":"next","micromark-util-symbol":"^2.0.1","@deepseek-ai/dsh-tools":"next","@testing-library/react":"^16.3.3","micromark-extension-gfm":"^3.0.0","micromark-factory-space":"^2.0.1","mdast-util-from-markdown":"^2.0.3","micromark-extension-math":"^3.1.0","micromark-util-character":"^2.1.1","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","micromark-core-commonmark":"^2.0.3","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","micromark-util-sanitize-uri":"^2.0.1","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@deepseek-ai/dsh-skill-filesystem":"next","micromark-util-classify-character":"^2.0.1","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-util-workspace-path":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-format-catalog":"next","@deepseek-ai/dsh-session-format-v0-to-v1":"next","@deepseek-ai/dsh-session-persistence-jsonl":"next"},"peerDependencies":{"@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.4.3_1790243481424_0.4247101495169183","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"dsh-ptc-plus","version":"0.4.8","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.4.8","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-primitives"],"external":["react"],"platform":"web"}},"dist":{"shasum":"ff270441016aad40b503e12a253b7f74ddde88e8","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.4.8.tgz","fileCount":234,"integrity":"sha512-bEefkPHsU3kBlW7Lgy3j8RcVgL4kfc4f+zliC2+P69YlupV2QEp/sFJ23kjPMa/Q5dVVVOHLFce0r2PmHBb+dA==","signatures":[{"sig":"MEUCIQCGjsj5aaWUeYF+tpnOVOUpyW1qaOFYSw9F4LSaMzk8CAIga+nf8MqsZ8ap7XoxWml9tSgbz3B1iXQqO9O8gken/UQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.4.8","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21939680},"icon":"assets/ptc-plus-icon.svg","main":"./index.js","type":"module","_from":"file:/tmp/tmp.1EerBiyX4G/dsh-ptc-plus-0.4.8.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json"},"scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run test:client && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","verify:ci":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && npm run test:client && npm run test:ci:runtime","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","review:lane":"node scripts/review-findings.mjs lane-verdict","review:plan":"node scripts/review-findings.mjs plan","test:client":"vitest run --config scripts/client-test.config.mjs","review:clear":"node scripts/review-findings.mjs review-clear","hooks:install":"node scripts/review-findings.mjs install-hook","review:status":"node scripts/review-findings.mjs status","coverage:focus":"node scripts/coverage.mjs --focus","semantic:check":"node scripts/semantic-obligations.mjs","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node --test --test-concurrency=1 test/semantic-test262.test.js test/semantic-dialect.test.js test/semantic-boundaries.test.js","review:finalize":"node scripts/review-findings.mjs finalize","review:plan:new":"node scripts/review-findings.mjs plan-create","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:ci:runtime":"node --test --test-concurrency=1 test/package-contract.test.js test/compiler-platform.test.js test/direct-surface-policy.test.js test/isolated-entrance.test.js test/plugin-native-call-transport.test.js","test:client:web":"node scripts/client-web-smoke.mjs","test:client:layout":"node scripts/client-binding-layout.mjs","test:host-contract":"node scripts/dsh-host-contract-suite.mjs","host:baseline:update":"node scripts/dsh-dependency-baseline.mjs update","host:baseline:verify":"node scripts/dsh-dependency-baseline.mjs verify"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.1EerBiyX4G/dsh-ptc-plus-0.4.8.tgz","_integrity":"sha512-bEefkPHsU3kBlW7Lgy3j8RcVgL4kfc4f+zliC2+P69YlupV2QEp/sFJ23kjPMa/Q5dVVVOHLFce0r2PmHBb+dA==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","amaro":"1.1.11","pathe":"^2.0.3","tslib":"^2.8.1","fflate":"^0.8.3","codemirror":"^6.0.2","typescript":"^6.0.3","@babel/core":"^7.29.7","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@lezer/highlight":"^1.2.3","@babel/code-frame":"^7.29.7","@codemirror/state":"^6.7.4","@codemirror/language":"^6.12.4","@deepseek-ai/schemastery":"^3.18.3","@jridgewell/trace-mapping":"^0.3.31","@codemirror/lang-javascript":"^6.2.5","@babel/plugin-proposal-decorators":"^7.29.7","@babel/plugin-transform-typescript":"^7.29.7","@babel/plugin-transform-optional-chaining":"^7.29.7","@babel/helper-create-class-features-plugin":"^7.29.7","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","clsx":"^2.0.0","diff":"^9.0.0","yaml":"^2.9.0","anser":"^2.3.5","immer":"^10.1.1","jsdom":"^29.1.1","katex":"^0.16.47","react":"^18.3.1","shiki":"^4.3.1","vitest":"^5.0.0","esbuild":"0.28.2","zustand":"~4.4.7","react-dom":"^18.3.1","playwright":"^1.63.0","simple-icons":"16.31.0","@shikijs/langs":"^4.3.1","mdast-util-gfm":"^3.1.0","mdast-util-math":"^3.0.0","@deepseek-ai/dsh":"next","convert-source-map":"^2.0.0","@deepseek-ai/dsh-llm":"next","micromark-util-symbol":"^2.0.1","@deepseek-ai/dsh-tools":"next","@testing-library/react":"^16.3.3","micromark-extension-gfm":"^3.0.0","micromark-factory-space":"^2.0.1","mdast-util-from-markdown":"^2.0.3","micromark-extension-math":"^3.1.0","micromark-util-character":"^2.1.1","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","micromark-core-commonmark":"^2.0.3","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","micromark-util-sanitize-uri":"^2.0.1","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@deepseek-ai/dsh-skill-filesystem":"next","micromark-util-classify-character":"^2.0.1","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-util-workspace-path":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-format-catalog":"next","@deepseek-ai/dsh-session-format-v0-to-v1":"next","@deepseek-ai/dsh-session-persistence-jsonl":"next"},"peerDependencies":{"@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.4.8_1790706467115_0.17289436983615958","host":"s3://npm-registry-packages-npm-production"}},"0.4.10":{"name":"dsh-ptc-plus","version":"0.4.10","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.4.10","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection"],"platform":"web","immediately":true}},"dist":{"shasum":"869baca13436c19e5ee3aaae8b2c7e21ddf909c3","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.4.10.tgz","fileCount":237,"integrity":"sha512-skhoPBRoitmtsCcE/47+P2tBhH5FVdia6F+1ZTxn2rabW2Y1q0159fTvUL/FBGVglQtOkpwaBx+79Ur25iUDpQ==","signatures":[{"sig":"MEYCIQDBcVn5PJBS/ZzoXgurzVX/gP8nFsuKnCEypVSjYlQV9gIhAJ6MhxK/Bl9gcOrzU/Ntqi4yIIE6N9ZzShPCgdIN9wJk","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.4.10","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":21903485},"icon":"assets/ptc-plus-icon.svg","main":"./index.js","type":"module","_from":"file:/tmp/tmp.hdK6OQ16bY/dsh-ptc-plus-0.4.10.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.js","./package.json":"./package.json","./locale/*.json":"./locale/*.json","./execution-provider":"./internal/execution-provider-owner.js"},"scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && npm run test:client:visual && npm run coverage","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","verify:ci":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && npm run test:client:visual && npm run test:ci:runtime","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","review:lane":"node scripts/review-findings.mjs lane-verdict","review:plan":"node scripts/review-findings.mjs plan","test:client":"vitest run --config scripts/client-test.config.mjs","review:clear":"node scripts/review-findings.mjs review-clear","hooks:install":"node scripts/review-findings.mjs install-hook","review:status":"node scripts/review-findings.mjs status","coverage:focus":"node scripts/coverage.mjs --focus","semantic:check":"node scripts/semantic-obligations.mjs","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node --test --test-concurrency=1 test/semantic-test262.test.js test/semantic-dialect.test.js test/semantic-boundaries.test.js","review:finalize":"node scripts/review-findings.mjs finalize","review:plan:new":"node scripts/review-findings.mjs plan-create","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:ci:runtime":"node --test --test-concurrency=1 test/package-contract.test.js test/compiler-platform.test.js test/direct-surface-policy.test.js test/isolated-entrance.test.js test/plugin-native-call-transport.test.js","test:client:web":"node scripts/client-web-smoke.mjs","test:client:layout":"node scripts/client-binding-layout.mjs","test:client:visual":"node scripts/client-visual-check.mjs","test:host-contract":"node scripts/dsh-host-contract-suite.mjs","host:baseline:update":"node scripts/dsh-dependency-baseline.mjs update","host:baseline:verify":"node scripts/dsh-dependency-baseline.mjs verify","test:client:fallback":"node scripts/client-fallback-smoke.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.hdK6OQ16bY/dsh-ptc-plus-0.4.10.tgz","_integrity":"sha512-skhoPBRoitmtsCcE/47+P2tBhH5FVdia6F+1ZTxn2rabW2Y1q0159fTvUL/FBGVglQtOkpwaBx+79Ur25iUDpQ==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","amaro":"1.1.11","pathe":"^2.0.3","tslib":"^2.8.1","fflate":"^0.8.3","react-is":"^19.3.0","codemirror":"^6.0.2","typescript":"^6.0.3","@babel/core":"^7.29.7","@babel/parser":"^7.29.0","@babel/traverse":"^7.29.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@lezer/highlight":"^1.2.3","@babel/code-frame":"^7.29.7","@codemirror/state":"^6.7.4","@codemirror/language":"^6.12.4","@deepseek-ai/schemastery":"^3.18.3","@jridgewell/trace-mapping":"^0.3.31","@codemirror/lang-javascript":"^6.2.5","@deepseek-ai/dsh-util-values":"^0.2.0-rc.2 || ^0.2.1-alpha.1","@babel/plugin-proposal-decorators":"^7.29.7","@babel/plugin-transform-typescript":"^7.29.7","@babel/plugin-transform-optional-chaining":"^7.29.7","@babel/helper-create-class-features-plugin":"^7.29.7","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","clsx":"^2.0.0","diff":"^9.0.0","yaml":"^2.9.0","anser":"^2.3.5","immer":"^10.1.1","jsdom":"^29.1.1","katex":"^0.16.47","react":"^18.3.1","shiki":"^4.3.1","vitest":"^5.0.0","esbuild":"0.28.2","zustand":"~4.4.7","react-dom":"^18.3.1","playwright":"^1.63.0","simple-icons":"16.31.0","@shikijs/langs":"^4.3.1","mdast-util-gfm":"^3.1.0","mdast-util-math":"^3.0.0","@deepseek-ai/dsh":"next","convert-source-map":"^2.0.0","@deepseek-ai/dsh-llm":"next","micromark-util-symbol":"^2.0.1","@deepseek-ai/dsh-tools":"next","@testing-library/react":"^16.3.3","micromark-extension-gfm":"^3.0.0","micromark-factory-space":"^2.0.1","mdast-util-from-markdown":"^2.0.3","micromark-extension-math":"^3.1.0","micromark-util-character":"^2.1.1","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","micromark-core-commonmark":"^2.0.3","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","micromark-util-sanitize-uri":"^2.0.1","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@deepseek-ai/dsh-skill-filesystem":"next","micromark-util-classify-character":"^2.0.1","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-util-workspace-path":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-format-catalog":"next","@deepseek-ai/dsh-session-format-v0-to-v1":"next","@deepseek-ai/dsh-session-persistence-jsonl":"next"},"peerDependencies":{"@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.4.10_1791058173997_0.40283789314752694","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"dsh-ptc-plus","version":"0.5.0","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"license":"MIT","_id":"dsh-ptc-plus@0.5.0","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection"],"platform":"web","immediately":true}},"dist":{"shasum":"4e0cc60623f66a725911eaebb7a1e4cb86acb9fe","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.5.0.tgz","fileCount":266,"integrity":"sha512-annpUJiTxXiPgnswrJcQREnPt0BmmbhEl4ymZoiJaP63trV26M3x3d7kU6YWSYz6N9rM6nNjuJTAdzQ3VPkKTw==","signatures":[{"sig":"MEYCIQCJP7vGqUzggnp3/UiKFN2O9yE3PyxNk3Dyr1WLhvCowAIhAJqj816QKdCD5gz54cQetmv49KXqilAd6ffP7Grw0J3t","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23891650},"icon":"assets/ptc-plus-icon.svg","main":"./index.js","type":"module","_from":"file:/tmp/tmp.BCeickko2M/dsh-ptc-plus-0.5.0.tgz","engines":{"node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.cjs","./package.json":"./package.json","./locale/*.json":"./locale/*.json","./execution-provider":"./internal/execution-provider-owner.js"},"scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && node scripts/deterministic-test-groups.mjs","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","verify:ci":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node scripts/deterministic-test-groups.mjs --ci","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","review:lane":"node scripts/review-findings.mjs lane-verdict","review:plan":"node scripts/review-findings.mjs plan","test:client":"vitest run --config scripts/client-test.config.mjs","verify:docs":"node scripts/review-findings.mjs docs","review:clear":"node scripts/review-findings.mjs review-clear","test:backend":"node scripts/test-suite-files.mjs","hooks:install":"node scripts/review-findings.mjs install-hook","review:status":"node scripts/review-findings.mjs status","coverage:focus":"node scripts/coverage.mjs --focus","semantic:check":"node scripts/semantic-obligations.mjs","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node scripts/test-suite-files.mjs --file test/semantic-test262.test.js --file test/semantic-dialect.test.js --file test/semantic-boundaries.test.js --file test/semantic-boundary-storage.test.js --file test/semantic-boundary-promises.test.js --file test/semantic-boundary-reflection.test.js","review:finalize":"node scripts/review-findings.mjs finalize","review:plan:new":"node scripts/review-findings.mjs plan-create","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:ci:runtime":"node --test --test-concurrency=1 test/package-contract.test.js test/compiler-platform.test.js test/direct-surface-policy.test.js test/isolated-entrance.test.js test/plugin-native-call-transport.test.js","test:client:web":"node scripts/client-web-smoke.mjs","test:client:focus":"node scripts/client-focused-tests.mjs","readme:screenshots":"node scripts/readme-screenshots.mjs","test:backend:focus":"node scripts/test-suite-files.mjs --focus","test:client:layout":"node scripts/client-binding-layout.mjs","test:client:visual":"node scripts/client-visual-check.mjs","test:host-contract":"node scripts/dsh-host-contract-suite.mjs","host:baseline:update":"node scripts/dsh-dependency-baseline.mjs update","host:baseline:verify":"node scripts/dsh-dependency-baseline.mjs verify","test:client:fallback":"node scripts/client-fallback-smoke.mjs","test:client:fixtures":"vitest run --config scripts/client-test.config.mjs --testNamePattern=\"^(REPL observations and shared workbench remain separate from session execution|saved cards retain exact source across remount and locale changes; catalog conflicts keep drafts actionable)$\"","test:package:consumer":"node scripts/npm-consumer-smoke.mjs","test:client:layout:focus":"node scripts/client-binding-layout.mjs --focus","test:client:fallback:focus":"node scripts/client-fallback-smoke.mjs --focus","test:client:tool-hover:focus":"node scripts/client-tool-hover.mjs --focus"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"},"trustedPublisher":{"id":"github","oidcConfigId":"a8c2abb9-3f0c-44da-8479-a8e741c7a723"}},"_resolved":"/tmp/tmp.BCeickko2M/dsh-ptc-plus-0.5.0.tgz","_integrity":"sha512-annpUJiTxXiPgnswrJcQREnPt0BmmbhEl4ymZoiJaP63trV26M3x3d7kU6YWSYz6N9rM6nNjuJTAdzQ3VPkKTw==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.3","@jridgewell/trace-mapping":"^0.3.31","@deepseek-ai/dsh-util-values":"^0.2.0-rc.2 || ^0.2.1-alpha.1"},"_hasShrinkwrap":false,"devDependencies":{"c8":"^12.0.0","clsx":"^2.0.0","diff":"^9.0.0","yaml":"^2.9.0","amaro":"1.1.11","anser":"^2.3.5","immer":"^10.1.1","jsdom":"^29.1.1","katex":"^0.16.47","pathe":"^2.0.3","react":"^18.3.1","shiki":"^4.3.1","tslib":"^2.8.1","fflate":"^0.8.3","vitest":"^5.0.0","esbuild":"0.28.2","zustand":"~4.4.7","react-is":"^19.3.0","react-dom":"^18.3.1","codemirror":"^6.0.2","playwright":"^1.63.0","typescript":"^6.0.3","@babel/core":"^7.29.7","simple-icons":"16.31.0","@shikijs/langs":"^4.3.1","mdast-util-gfm":"^3.1.0","@babel/traverse":"^7.29.0","mdast-util-math":"^3.0.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@deepseek-ai/dsh":"next","@lezer/highlight":"^1.2.3","@codemirror/state":"^6.7.4","convert-source-map":"^2.0.0","@codemirror/language":"^6.12.4","@deepseek-ai/dsh-llm":"next","micromark-util-symbol":"^2.0.1","@deepseek-ai/dsh-tools":"next","@radix-ui/react-select":"^2.2.6","@testing-library/react":"^16.3.3","micromark-extension-gfm":"^3.0.0","micromark-factory-space":"^2.0.1","mdast-util-from-markdown":"^2.0.3","micromark-extension-math":"^3.1.0","micromark-util-character":"^2.1.1","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","micromark-core-commonmark":"^2.0.3","@codemirror/lang-javascript":"^6.2.5","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","micromark-util-sanitize-uri":"^2.0.1","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@babel/plugin-proposal-decorators":"^7.29.7","@deepseek-ai/dsh-skill-filesystem":"next","micromark-util-classify-character":"^2.0.1","@babel/plugin-transform-typescript":"^7.29.7","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-util-workspace-path":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-format-catalog":"next","@deepseek-ai/dsh-session-format-v0-to-v1":"next","@babel/plugin-transform-optional-chaining":"^7.29.7","@deepseek-ai/dsh-compaction-image-offload":"next","@babel/helper-create-class-features-plugin":"^7.29.7","@deepseek-ai/dsh-session-persistence-jsonl":"next","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"peerDependencies":{"@deepseek-ai/cordis":"*","@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-scope":"*","@deepseek-ai/dsh-skill":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-session":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-spill-policy":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*","@deepseek-ai/dsh-session-format-catalog":"*"},"_npmOperationalInternal":{"tmp":"tmp/dsh-ptc-plus_0.5.0_1791839323205_0.14483851277893245","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"_id":"dsh-ptc-plus@0.5.1","dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-api-remotes","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-ui-settings","@deepseek-ai/dsh-client-ui-settings-plugins","@deepseek-ai/dsh-client-ui-conversation","@deepseek-ai/dsh-client-connection"],"platform":"web","immediately":true}},"bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"dist":{"shasum":"488daf9c5f0bacbc508eb1518fe1f471730cc87a","tarball":"https://registry.npmjs.org/dsh-ptc-plus/-/dsh-ptc-plus-0.5.1.tgz","integrity":"sha512-j72xeMnjErsxGE/bNfz80LTmEn6DBdgO0z+ICGnvbf6AQHQzPSkSQ3HccvZ/bSxjSuvE5aDEGAMP++cd1KwvaQ==","fileCount":268,"unpackedSize":23966238,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/dsh-ptc-plus@0.5.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIAigza6sSKSzcyNH0S9xNzCpgWDKyHaJfOuHrXRoTIjvAiEA9OMyY0p7x25nNQmD6AVsFNOQU1jFzNyDDM2GhabICQk="}]},"icon":"assets/ptc-plus-icon.svg","main":"./index.js","name":"dsh-ptc-plus","type":"module","_from":"file:/tmp/tmp.wva8Zzspjx/dsh-ptc-plus-0.5.1.tgz","engines":{"dsh":"*","node":"^22.19.0 || >=24.0.0"},"exports":{".":"./index.js","./client":"./client.cjs","./package.json":"./package.json","./locale/*.json":"./locale/*.json","./execution-provider":"./internal/execution-provider-owner.js"},"license":"MIT","scripts":{"build":"node scripts/client-bundle.mjs build && node scripts/compiler-bundle.mjs build","check":"node scripts/review-findings.mjs check","verify":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node --check scripts/expensive-headless-acceptance.mjs && node --check scripts/ab-headless-trajectories.mjs && node scripts/deterministic-test-groups.mjs","prepack":"npm run build:check","test:ab":"node scripts/ab-headless-trajectories.mjs","coverage":"node scripts/coverage.mjs","verify:ci":"npm run review:validate && npm run host:baseline:verify && npm run semantic:check && npm run build:check && node --check index.js && node --check internal/kernel-worker.js && node --check scripts/migrate-session-log.mjs && node scripts/deterministic-test-groups.mjs --ci","review:new":"node scripts/review-findings.mjs create","build:check":"node scripts/client-bundle.mjs check && node scripts/compiler-bundle.mjs check","review:gate":"node scripts/review-findings.mjs gate","review:lane":"node scripts/review-findings.mjs lane-verdict","review:plan":"node scripts/review-findings.mjs plan","test:client":"vitest run --config scripts/client-test.config.mjs","verify:docs":"node scripts/review-findings.mjs docs","review:clear":"node scripts/review-findings.mjs review-clear","test:backend":"node scripts/test-suite-files.mjs","hooks:install":"node scripts/review-findings.mjs install-hook","review:status":"node scripts/review-findings.mjs status","coverage:focus":"node scripts/coverage.mjs --focus","semantic:check":"node scripts/semantic-obligations.mjs","test:expensive":"node scripts/expensive-headless-acceptance.mjs","test:semantics":"node scripts/test-suite-files.mjs --file test/semantic-test262.test.js --file test/semantic-dialect.test.js --file test/semantic-boundaries.test.js --file test/semantic-boundary-storage.test.js --file test/semantic-boundary-promises.test.js --file test/semantic-boundary-reflection.test.js","review:finalize":"node scripts/review-findings.mjs finalize","review:plan:new":"node scripts/review-findings.mjs plan-create","review:validate":"node scripts/review-findings.mjs validate","session:migrate":"node scripts/migrate-session-log.mjs","test:ci:runtime":"node --test --test-concurrency=1 test/package-contract.test.js test/compiler-platform.test.js test/direct-surface-policy.test.js test/isolated-entrance.test.js test/plugin-native-call-transport.test.js","test:client:web":"node scripts/client-web-smoke.mjs","test:client:focus":"node scripts/client-focused-tests.mjs","readme:screenshots":"node scripts/readme-screenshots.mjs","test:backend:focus":"node scripts/test-suite-files.mjs --focus","test:client:layout":"node scripts/client-binding-layout.mjs","test:client:visual":"node scripts/client-visual-check.mjs","test:host-contract":"node scripts/dsh-host-contract-suite.mjs","host:baseline:update":"node scripts/dsh-dependency-baseline.mjs update","host:baseline:verify":"node scripts/dsh-dependency-baseline.mjs verify","test:client:fallback":"node scripts/client-fallback-smoke.mjs","test:client:fixtures":"vitest run --config scripts/client-test.config.mjs --testNamePattern=\"^(REPL observations and shared workbench remain separate from session execution|saved cards retain exact source across remount and locale changes; catalog conflicts keep drafts actionable)$\"","test:package:consumer":"node scripts/npm-consumer-smoke.mjs","test:client:layout:focus":"node scripts/client-binding-layout.mjs --focus","test:client:fallback:focus":"node scripts/client-fallback-smoke.mjs --focus","test:client:tool-hover:focus":"node scripts/client-tool-hover.mjs --focus"},"version":"0.5.1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"a8c2abb9-3f0c-44da-8479-a8e741c7a723"},"approver":{"name":"muyuanjin","email":"muyuanjin@gmail.com"}},"homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"_resolved":"/tmp/tmp.wva8Zzspjx/dsh-ptc-plus-0.5.1.tgz","_integrity":"sha512-j72xeMnjErsxGE/bNfz80LTmEn6DBdgO0z+ICGnvbf6AQHQzPSkSQ3HccvZ/bSxjSuvE5aDEGAMP++cd1KwvaQ==","repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"_npmVersion":"12.0.2","description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","directories":{},"maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"_nodeVersion":"24.15.0","allowScripts":{"esbuild":false},"dependencies":{"acorn":"^8.15.0","@babel/parser":"^7.29.0","@babel/code-frame":"^7.29.7","@deepseek-ai/schemastery":"^3.18.3","@jridgewell/trace-mapping":"^0.3.31","@deepseek-ai/dsh-util-values":"^0.2.0-rc.2 || ^0.2.1-alpha.1"},"devDependencies":{"c8":"^12.0.0","clsx":"^2.0.0","diff":"^9.0.0","yaml":"^2.9.0","amaro":"1.1.11","anser":"^2.3.5","immer":"^10.1.1","jsdom":"^29.1.1","katex":"^0.16.47","pathe":"^2.0.3","react":"^18.3.1","shiki":"^4.3.1","tslib":"^2.8.1","fflate":"^0.8.3","vitest":"^5.0.0","esbuild":"0.28.2","zustand":"~4.4.7","react-is":"^19.3.0","react-dom":"^18.3.1","codemirror":"^6.0.2","playwright":"^1.63.0","typescript":"^6.0.3","@babel/core":"^7.29.7","simple-icons":"16.31.0","@shikijs/langs":"^4.3.1","mdast-util-gfm":"^3.1.0","@babel/traverse":"^7.29.0","mdast-util-math":"^3.0.0","@babel/generator":"^7.29.8","@codemirror/view":"^6.43.11","@deepseek-ai/dsh":"next","@lezer/highlight":"^1.2.3","@codemirror/state":"^6.7.4","convert-source-map":"^2.0.0","@codemirror/language":"^6.12.4","@deepseek-ai/dsh-llm":"next","micromark-util-symbol":"^2.0.1","@deepseek-ai/dsh-tools":"next","@radix-ui/react-select":"^2.2.6","@testing-library/react":"^16.3.3","micromark-extension-gfm":"^3.0.0","micromark-factory-space":"^2.0.1","mdast-util-from-markdown":"^2.0.3","micromark-extension-math":"^3.1.0","micromark-util-character":"^2.1.1","@deepseek-ai/dsh-commands":"next","@deepseek-ai/dsh-settings":"next","micromark-core-commonmark":"^2.0.3","@codemirror/lang-javascript":"^6.2.5","@deepseek-ai/dsh-agent-loop":"next","@deepseek-ai/dsh-home-paths":"next","micromark-util-sanitize-uri":"^2.0.1","@deepseek-ai/dsh-api-gateway":"next","@deepseek-ai/dsh-api-remotes":"next","@deepseek-ai/dsh-tool-cordis":"next","@deepseek-ai/dsh-atomic-write":"next","@deepseek-ai/dsh-client-store":"next","@deepseek-ai/dsh-client-locale":"next","@deepseek-ai/dsh-client-ui-slots":"next","@deepseek-ai/dsh-typert-protocol":"next","@deepseek-ai/dsh-typert-registry":"next","@babel/plugin-proposal-decorators":"^7.29.7","@deepseek-ai/dsh-skill-filesystem":"next","micromark-util-classify-character":"^2.0.1","@babel/plugin-transform-typescript":"^7.29.7","@deepseek-ai/dsh-client-ui-session":"next","@deepseek-ai/dsh-client-ui-renderer":"next","@deepseek-ai/dsh-client-test-runtime":"next","@deepseek-ai/dsh-util-workspace-path":"next","@deepseek-ai/dsh-client-ui-primitives":"next","@deepseek-ai/dsh-client-ui-conversation":"next","@deepseek-ai/dsh-session-format-catalog":"next","@deepseek-ai/dsh-session-format-v0-to-v1":"next","@babel/plugin-transform-optional-chaining":"^7.29.7","@deepseek-ai/dsh-compaction-image-offload":"next","@babel/helper-create-class-features-plugin":"^7.29.7","@deepseek-ai/dsh-session-persistence-jsonl":"next","@babel/plugin-transform-explicit-resource-management":"^7.29.7"},"peerDependencies":{"@deepseek-ai/cordis":"*","@deepseek-ai/dsh-llm":"*","@deepseek-ai/dsh-scope":"*","@deepseek-ai/dsh-skill":"*","@deepseek-ai/dsh-tools":"*","@deepseek-ai/dsh-session":"*","@deepseek-ai/dsh-settings":"*","@deepseek-ai/dsh-home-paths":"*","@deepseek-ai/dsh-tool-cordis":"*","@deepseek-ai/dsh-atomic-write":"*","@deepseek-ai/dsh-spill-policy":"*","@deepseek-ai/dsh-typert-protocol":"*","@deepseek-ai/dsh-skill-filesystem":"*","@deepseek-ai/dsh-session-format-catalog":"*"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-ptc-plus_0.5.1_1792178213484_0.09094352082079404"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-25T03:31:24.322Z","modified":"2026-10-16T19:16:53.979Z","0.2.1":"2026-08-25T03:31:24.692Z","0.2.2":"2026-08-25T06:53:29.881Z","0.2.3":"2026-08-25T12:47:53.209Z","0.2.4":"2026-09-01T15:03:19.492Z","0.3.1":"2026-09-02T14:17:57.036Z","0.3.2":"2026-09-03T17:08:33.915Z","0.4.1":"2026-09-18T20:00:06.183Z","0.4.2":"2026-09-20T05:40:05.818Z","0.4.3":"2026-09-24T09:51:21.625Z","0.4.6":"2026-09-29T13:58:40.246Z","0.4.7":"2026-09-29T15:46:48.299Z","0.4.8":"2026-09-29T18:27:47.307Z","0.4.10":"2026-10-03T20:09:34.180Z","0.5.0":"2026-10-12T21:08:43.455Z","0.5.1":"2026-10-16T19:16:53.699Z"},"bugs":{"url":"https://github.com/muyuanjin/dsh-ptc-plus/issues"},"license":"MIT","homepage":"https://github.com/muyuanjin/dsh-ptc-plus#readme","keywords":["deepseek-harness","dsh","dsh-plugin","ptc","ptc-mode","repl"],"repository":{"url":"git+https://github.com/muyuanjin/dsh-ptc-plus.git","type":"git"},"description":"A session-bound agent-native REPL for DeepSeek Harness PTC mode.","maintainers":[{"name":"muyuanjin","email":"muyuanjin@gmail.com"}],"readme":"<p align=\"center\">\n  <img src=\"assets/dsh-ptc-plus-banner-v2-zh.webp\" width=\"100%\" alt=\"PTC Plus：不用从头来，改一改，接着算！\">\n</p>\n\n<p align=\"center\">\n  <strong>简体中文</strong> · <a href=\"README.en.md\">English</a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://github.com/deepseek-ai/deepseek-harness\"><img alt=\"DeepSeek Harness PTC mode\" src=\"https://img.shields.io/badge/DeepSeek%20Harness-PTC%20mode-4b6bfb\"></a>\n  <a href=\"https://www.npmjs.com/package/dsh-ptc-plus\"><img alt=\"npm version\" src=\"https://img.shields.io/npm/v/dsh-ptc-plus?logo=npm\"></a>\n  <a href=\"LICENSE\"><img alt=\"License: MIT\" src=\"https://img.shields.io/badge/License-MIT-yellow.svg\"></a>\n</p>\n\n<p align=\"center\">\n  <a href=\"https://awesome-dsh-plugin.com/zh/\"><img alt=\"Awesome DSH Plugin\" src=\"https://awesome-dsh-plugin.com/badge.svg\"></a>\n</p>\n\n**让模型在同一会话中持续计算、直接修订，减少重复工作和可避免的工具调用错误。**\n\nPTC Plus 为 DSH 的 **PTC 模式**提供有状态的 TypeScript 计算环境。它基于 REPL，让变量、函数、导入和中间结果跨工具调用复用；针对模型连续编写和修改代码的需要，扩展声明更新规则，并提供模块语法适配、调用容错和代码编辑能力。\n\n- **接着算**：读取和整理过的数据留在会话里，下一次调用直接继续。\n- **直接改**：同名修订变量或函数，已有闭包读取更新后的绑定；小改动可以只发送代码差异。\n- **少些调用错误**：适配常用模块语法，处理可准确识别的调用遗漏，并为可验证的语法错误提供修正建议。\n- **复用常用能力**：把常用函数保存为全局绑定，向模型提供接口与使用提示，在多个会话中使用。\n\n[快速开始](#快速开始) · [功能概览](#功能概览) · [连续计算](#连续计算与语言扩展) · [代码编辑与容错](#代码编辑与调用容错) · [全局绑定](#全局绑定跨会话复用常用函数) · [界面与设置](#界面与设置) · [状态与恢复](#值传递与状态恢复) · [开发](#开发)\n\n## 快速开始\n\n需要 Node.js `^22.19.0 || >=24.0.0` 和最新可用的官方 DSH：\n\n```sh\ndsh plugin --profile <profile> add dsh-ptc-plus\n```\n\n把 `<profile>` 换成实际 profile 名称，重启 DSH，在会话中选择 **PTC 模式**。连续计算、调用容错和全局绑定默认开启；升级用 `dsh plugin --profile <profile> add dsh-ptc-plus@latest` 再重启宿主，其他安装方式、Desktop、本地开发启动器和故障排查见[安装指南](docs/installation.md)。\n\n插件通过 `engines.dsh: \"*\"` 接入宿主兼容性预检，按最新官方发行版的公共能力检查与打包测试验证兼容性。\n\n界面默认显示会话里的 **REPL** 页签，宽屏顶部还有 **PTC Plus** 标志。输入框旁的星光按钮打开全局绑定菜单、会话能力工作台和 **PTC Plus 设置**，侧边栏的 **插件 → 已安装 → dsh-ptc-plus → 配置** 是同一套设置。\n\n## 功能概览\n\n默认 PTC 模式的每次调用都从新环境开始：上次的变量已经不在了，想改动依赖前面的结果就只能重发准备代码。PTC Plus 把 `run_code` 变成会话级的 TypeScript REPL，补上这些差距。\n\n| 场景 | 默认 PTC 模式 | 使用 PTC Plus |\n| --- | --- | --- |\n| 接着上一次处理数据 | 每次从新环境开始，准备代码要重新发送 | 变量、函数、导入和中间结果留在会话里，下一次调用直接继续 |\n| 修订已有的名称 | 没有已建立的绑定可更新，只能重发整段代码 | 同名修订变量、函数、类和导入绑定，已有闭包读取更新后的值 |\n| 只改一小段代码 | 改动一行也要重新发送整段源码 | `edit_run_code` 只提交差异，再执行修改后的完整代码 |\n| 使用模块语法 | 函数体里不能直接写静态 `import` / `export` | 在 cell 中直接写，插件自动适配模块语法 |\n| 调用漏填摘要 | 缺少 `run_code.description` 时校验失败 | 自动补充显示摘要，其余参数合法的代码继续执行 |\n| 提供方拒绝畸形工具 JSON | 整个 turn 以 provider 错误终止 | 可修复的调用尾部继续执行，其余转为 schema 拒绝结果，模型继续下一步 |\n| 误发顶层工具调用 | PTC 模式下未声明的顶层调用被拒绝 | 当前工具定义能唯一确认目标且参数合法时，转为对应的 `run_code` |\n| 定位代码错误 | 只返回原生错误与堆栈 | 对应到 cell 源码位置；末尾缺少闭合符且修正可唯一验证时给出编辑建议 |\n| 访问当前目录 | 按宿主为当前调用解析的目录执行 | 相对文件操作和默认子进程按执行时的会话当前目录解析，格内 `tools.working_directory({ cd })` 立即作用于本格剩余语句；模块导入保持进入目录，旧模块和导入闭包保留原来源 |\n| 查找工具和参数 | 只能翻已经提供给模型的工具说明 | 用 `capabilities.search` 一次取得匹配接口，按字节限制响应；也可列目录或单项检查 |\n| 传递 JSON 不易表达的数据 | JSON 无法完整表达 `undefined`、BigInt、循环引用等 | 在支持的值范围内保留特殊值和引用关系，供后续计算与恢复 |\n| 查看当前计算状态 | 执行结束后没有可继续使用的会话变量可查 | REPL 页签展示保留的名称、定义来源、复用次数和值预览 |\n| 跨会话使用常用函数 | 自己保存代码，并在后续调用中重新加载 | 全局绑定保存 TypeScript 源码，并向模型提供接口与使用提示 |\n| 编写和测试全局绑定 | 没有全局绑定的专用工作台 | 让模型生成待审阅草稿，或在工作台试运行未保存的源码 |\n| 重启后继续工作 | 没有跨调用的计算状态可供恢复 | 从会话记录恢复可验证的状态，无法恢复的部分明确提示 |\n\n## 连续计算与语言扩展\n\n以下代码由模型通过 `run_code` 执行，每次调用的代码称为一个 **cell**。\n\n```ts\nconst amounts: number[] = [12, 8, 5]\nfunction total() {\n  return amounts.reduce((sum, value) => sum + value, 0)\n}\nreturn total() // 25\n```\n\n下一次直接修订数据，`total` 不用重新定义：\n\n```ts\nconst amounts = amounts.filter(value => value >= 8)\nreturn total() // 20\n```\n\n默认的 **有状态语义**（`bindingUpdates: 'stateful'`）为此扩展了 JavaScript/TypeScript 的绑定规则：\n\n- 同一作用域里的变量、函数、类和导入绑定都能更新，包括 `const` 声明的；同一个 cell 内也允许同名修订。\n- 已有闭包读到更新后的绑定，提前保存的函数值仍是原来的函数；不同块、函数和循环迭代的作用域照常区分。\n- 声明初始化失败不会永久占住这个名称，失败前已经生效的修改也不会回滚。\n\ncell 支持 TypeScript（含运行时 `enum` 和 `namespace`）、顶层 `await` / `return` 和静态 `import` / `export`；静态导入在整个 cell 正文执行前生效，正文里的赋值随后可以覆盖它。想检测名称覆盖，可以在设置里关掉“允许重声明和覆盖”改用 `protected` 策略；`tools` 这类受保护的运行时名称任何时候都不能覆盖。\n\n`run_code`、编辑后的代码和全局绑定工作台采用同一套语言策略；显式 `eval`、`Function`、`node:vm` 或独立运行时仍受各自的原生边界约束。作用域、模块互操作和历史会话规则见[语言参考](docs/runtime-reference.md#cell-semantics)，完整的语言规则、配置字段与诊断见[运行时参考](docs/runtime-reference.md)。\n\n## 代码编辑与调用容错\n\n模型可以在新的 `run_code` cell 内调用 `tools.edit_run_code`，修改当前轮最近的可编辑 cell，不必重发整段源码：\n\n```js\nconst receipt = await tools.edit_run_code({\n  edits: [{ old_string: 'value >= 8', new_string: 'value >= 10' }]\n})\nreturn receipt\n```\n\n收据里 `accepted: true, scheduled: true` 表示编辑已经安排：外层 cell 结束后才重新执行整个目标 cell，下一次 cell 读到的是修订后的值（上例是 `12`）。同一次调用里再读仍是旧状态，已经发生的状态修改不会回滚，写过文件或调用过外部服务的代码重跑时要考虑重复效果。正则编辑的每项必须给出 `pattern`、`flags`、`replacement`、`expected_matches`，不需要标志时显式传 `\"\"`。\n\n| 情况 | PTC Plus 的处理 |\n| --- | --- |\n| `run_code` 漏填外层 `description` | 补充显示摘要，让其余参数合法的代码继续执行 |\n| 模型误发 PTC 直接工具列表之外的原生工具调用 | 当前工具定义能唯一确认目标且参数合法时，转为对应的 `run_code` |\n| 参数校验报告缺少 `description` | 区分外层与嵌套工具参数并给出修正提示；提示以完整消息保存，保持会话历史可加载 |\n| 代码解析失败 | 标出源码位置；若错误在末尾，且追加一到两个闭合符只有一种通过验证的修正，给出绑定原调用的编辑建议 |\n\n前两项默认开启，可以在设置里关掉。语法建议不会自动执行，也不代表代码符合任务意图。volatile 状态存不成 durable 检查点，但保存被拒绝后当前变量还能接着用；恢复不撤销外部效果，也不改全局绑定配置。\n\n## 项目文件与工具能力\n\n模型可以直接用 Node.js 读文件、处理数据、跑程序。相对路径和没指定 `cwd` 的子进程按执行时的会话当前目录解析：格内调用 `tools.working_directory({ cd })` 后，本格剩余操作就用新目录，与宿主工具同一基准。模块导入和 `import.meta` 仍按进入目录，已加载模块、旧导入闭包和已捕获的 `require` 保留原来源；`process.chdir` 在 cell 内不可用。文件、网络等外部输入在当前环境里可以继续用，但不保证跨重启还能恢复。\n\n`capabilities.search()` 一次查找并返回完整接口，预算按字节计算，过长条目保持完整并给出单项读取指针；原有的 `tree()`、`find()`、`inspect()` 仍可用。\n\n```ts\nreturn capabilities.search({ query: 'read file content', budgetBytes: 8192 })\n```\n\n搜索按中英文词法匹配，没匹配到不代表工具不存在。发现工具不会增加权限，实际调用仍由 DSH 校验和调度，更多用法见[能力发现](docs/runtime-reference.md#capability-discovery)。\n\n## 全局绑定：跨会话复用常用函数\n\n会话变量服务于当前任务，**全局绑定**把常用 TypeScript 函数保存下来供多个会话加载：保存 `textTools` 之后，模型就能调用 `textTools.clean(text)`。你可以手动创建、导入 `.ts` 文件，也可以让模型帮忙：\n\n```text\n/binding new 创建 textTools，去掉文本首尾空白并保留内部空格\n/binding edit <id> 增加逐行清理功能\n```\n\n模型提交的草稿浮在输入框上方，你在大窗口里看完整源码、接口和给模型的提示词，再选 **保存并启用**、**保存为停用** 或 **丢弃草稿**；提交草稿本身不会保存或启用绑定。已启用条目的接口和使用提示会提供给新会话中的模型，中途修改在现有会话的下一次允许请求中生效。\n\n工作台可以运行尚未保存的源码，并在连续执行之间保留临时变量；它的计算状态和模型会话分开，文件和网络操作仍会产生真实效果，没有 PTC 会话时也能管理条目。源码格式、接口生成、保存位置和完整流程见[全局绑定指南](docs/user-bindings.md)。\n\n## 界面与设置\n\n**REPL 页签**列出会话里保留的名称、定义来源、复用次数和值预览，也能打开全局绑定工作台。执行卡片收起后，鼠标停留 400ms 或键盘聚焦会弹出一份源码、结果和功能标记的摘录，点击或按 Enter／空格展开完整内容并复制代码；不需要时可以在设置的“界面显示”里关掉“悬停预览执行内容”。\n\n![REPL 页签中的会话状态与全局绑定工作台](assets/ptc-plus-repl-workspace-zh.png)\n\n设置窗口和侧边栏的插件配置页是同一套配置，分组如下：\n\n| 功能模块 | 分组 | 可以调整的内容 |\n| --- | --- | --- |\n| 插件开关 | PTC Plus 标题总开关 | 启用或停用 PTC Plus |\n| 核心工作区 | REPL 语法 | 允许同名修订或选择名称保护 |\n| 核心工作区 | 状态与恢复 | 重启恢复、官方 REPL 模式归属、上下文提示及其频率 |\n| 扩展与容错 | 工具扩展 | 全局绑定及其管理入口、官方 Cordis 工具集成 |\n| 扩展与容错 | 调用容错 | 缺失调用摘要、可识别的错位原生工具调用 |\n| 界面与资源 | 界面显示 | 增强工具卡片、REPL 页签和星光快捷入口 |\n| 界面与资源 | 资源限制 | 执行时间、内存和输出预算 |\n| 实验性 | 能力与上下文 | 实验性能力管理（默认关闭）、独立统计、常用集、单项选择和展示预算 |\n\n新会话尚未开始时，调整能力或全局绑定只更新初始配置，不发送或排队发送变更说明；首轮使用调整后的配置。\n\n面向日常计算的功能默认开启，**Cordis 开发工具默认关闭**，要检查或开发 DSH 插件时再打开，详见[集成说明](docs/adr/0020-optional-cordis-tools-in-ptc-mode.md)。\n\n“能力与上下文”是实验性设置，默认关闭。打开后可以按类别、来源和单项选择 Skills、Tools 和 MCP 能力的启停与说明方式，初始提示、提示恢复、输出节选和使用统计也在这里；标题旁的总开关一次暂停整组并保留原有选择，改动对新会话或明确刷新后的会话生效。星光菜单里还有一个会话能力工作台，用来按类别、来源和状态查看、调整当前会话的能力，改动先放进草稿，可以只写进本会话，也可以保存成全局默认。字段、默认值和完整限制见[配置参考](docs/runtime-reference.md#configuration)。\n\n宿主执行 provider 必须使用 TypeScript；热重载换成别的语言时插件会撤出并报出诊断，换回来就重新启用。\n\n开启 DSH 官方的 `executionMode: persistent-in-memory` 后，可以在“状态与恢复”里用**官方 REPL 模式优先**选择谁接管 PTC 会话：默认关闭，`run_code` 由 PTC Plus 接管；开启后由官方运行时接管，PTC Plus 让出执行、REPL 状态语义与观察，官方模式没开启时该设置不生效。切换立即生效，离开插件执行时会释放插件的内存环境；官方内存状态由 DSH 的 Agent/provider 生命周期管理，切换优先设置不保证清空它。官方执行期间的调用不进入插件记录，切回插件后不会当作可恢复状态。\n\n![PTC Plus 设置窗口](assets/ptc-plus-settings-zh.png)\n\n## 值传递与状态恢复\n\n在插件 graph IPC 支持的值范围内，程序参数、结果和恢复记录能保留 `undefined`、BigInt、`NaN`、无穷大、稀疏数组、循环引用和共享引用关系，支持的值直接返回即可，不必自己写 `JSON.stringify`（它会丢掉对象里的 `undefined`，把 `NaN` 和无穷大变成 `null`、把 `-0` 变成 `0`，还会拒绝 BigInt）。函数、Promise、类实例、Date、Map、Set 不在这个范围内，原生 `tools.*` 的 JSON 参数与结果契约也不受影响，详见[值契约](docs/value-wire.md)。\n\n会话状态不是永久内存：重启、执行环境重置或上下文压缩后，只保留能从会话记录验证、且来源仍在模型上下文中的状态，其余会被丢弃并给出提示，必要时从空环境继续当前计算。会话记录本身缺失或损坏时会明确报错，不会被当作成功恢复的空会话。恢复不会重新派发已记录的原生工具调用，也不会撤销历史外部效果，依据和限制见[运行时参考](docs/runtime-reference.md)。\n\n停止后台子代理不会清空父会话的 REPL 状态；通知触发的后续调用可以继续使用父会话的变量。父会话自身释放后，后续调用仍按上述恢复规则继续计算。\n\n## 使用边界\n\n- **执行权限**：主要面向 `danger-full-access`。代码可以直接访问 Node.js 和操作系统，插件不额外提供安全沙箱；原生工具权限、审批、取消和沙箱策略仍归 DSH。\n- **失败与重跑**：代码执行失败不代表之前的语句没生效。进程隔离、编辑和恢复都不保证外部操作可以安全重复，超时或输出超限也可能释放计算环境。\n- **错误与开销**：语言适配和调用容错不保证所有代码都能跑通，实际调用次数和 token 用量取决于任务和模型，已有对照观察及限制见[评测说明](docs/evaluation.md#recorded-paired-observation)。\n\nPTC Plus 是社区插件，与 DeepSeek 或 DSH 无隶属或背书关系。\n\n## 开发\n\n开发在仓库根目录进行：`npm ci` 安装依赖，`npm run build` 重新生成 `client.cjs` 和 compiler 产物。聚焦测试必须指定用例：\n\n```sh\nnpm run test:backend:focus -- --file test/<owner>.test.js --test-name-pattern=\"<case>\"\nnpm run test:client:focus -- \"<test name pattern>\"\n```\n\n交付前按[变更分类](docs/verification.md#change-classification)选检查：只改文档跑 `npm run verify:docs`，其他改动跑 `npm run check`，然后走[评审流程](docs/review-procedure.md)。架构和数据面见[架构与开发](docs/architecture.md)，全部文档见[文档索引](docs/README.md)，安装与发布见[安装指南](docs/installation.md)和[发布流程](docs/publishing.md)。\n\n[MIT License](LICENSE)\n","readmeFilename":"README.md"}