{"_id":"dsh-session-export","_rev":"18-e4e790f723474377ea5aa662f1208cd2","name":"dsh-session-export","dist-tags":{"latest":"1.8.6"},"versions":{"0.1.0":{"name":"dsh-session-export","version":"0.1.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","markdown"],"license":"MIT","_id":"dsh-session-export@0.1.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"7c591362aa1e24182889ab3a4cb199a810f3b8b5","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-0.1.0.tgz","fileCount":7,"integrity":"sha512-FX6L3gKdphB/kvOA8co/+7aa95f7puKcL7JyigytDCqiEVTJi408a6gMq2qHHNUZy8O8NdOeVQsq66KQo6YSrw==","signatures":[{"sig":"MEQCIBGqJq59IuYSQVtKmzhxcLMFcFCzx0tY9+SxOhTuu9ohAiAh43EcseVUUkjVNCRphNKcbzyWWqQfW40EZkEgh6yGig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":33728},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"65cc9585a9ad13b02d4160d839eeccb9369fe8eb","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"_npmVersion":"11.12.1","description":"Human-readable session transcript export for DeepSeek Harness: /transcript writes Markdown/JSON to a host path via ctx.sessionQuery","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_0.1.0_1787465543362_0.6706407693806582","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"dsh-session-export","version":"0.2.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","markdown"],"license":"MIT","_id":"dsh-session-export@0.2.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ae546ab511928a6bec5f073d10ad349177179b36","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-0.2.0.tgz","fileCount":7,"integrity":"sha512-Wcbmyr0ZdiMachRu+V06ZZZKuNPAaFG/HDtJd/qWR+JOuxhcuRZ9rJjs2eBiqp0AVXpAXNYEywClk+tQ9XGSgw==","signatures":[{"sig":"MEUCIQCMavsm2MAccuxsKvFEIun6Q7QRw8xC+3eamFqZToMLmQIgcPqatOmbUvKJOCdsyUqXQAJyJ34HOjgD5LQ8horf4EM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50152},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"a127536720c8998a7cd8d200faae2c23ad981b95","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"_npmVersion":"11.12.1","description":"Session export for DeepSeek Harness: /transcript writes Markdown/JSON transcripts, /archive writes raw SQLite-safe per-session ZIPs, both to a host path via ctx.sessionQuery","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_0.2.0_1788013085207_0.4235035067669912","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"dsh-session-export","version":"1.0.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.0.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"7259a97d6a94664b256239830e0249395bb7129e","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.0.0.tgz","fileCount":8,"integrity":"sha512-QnGzUito7/cEsF2DFSYAzPHLUNhRbb4v71YeiMo/SPAXHhN+aXM+L5VpC2QlB1FS/PWTN72jr0Ht2e16QTgD8g==","signatures":[{"sig":"MEYCIQDd/5XUCEZrr10Sg15ibylBj7R5yqepv1wjIOLl8zgLxgIhAN7b4M8vu+lUhfZXpAfDUpS4PdWmLP+xLyUAqygHY2ix","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101922},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"e2d0f9e22708b2f44463e614b69bde25b0b0ce5a","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Session replay reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports to a host path via ctx.sessionQuery (any backend, incl. SQLite), /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.0.0_1789271872986_0.7866369842249537","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"dsh-session-export","version":"1.0.1","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.0.1","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"156626cc1101edd59d3543b281fe7063da6000e8","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.0.1.tgz","fileCount":8,"integrity":"sha512-9LgPqrq7KAEx01kJalRjrVuCXNqJoJAz1upZnseeOgNqe/tfxfDhKKkEolBae9e9pems1+TjfuTUMKu2LIQXAA==","signatures":[{"sig":"MEUCIAX+1nq/Mext+DPrPqzyw8h05EzvrL2LwFlhXAFns7RsAiEA7/X+WEQdPLK/TFzeHX6hSqP/kRhTibok5I4ohCJBSEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102233},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"9d80900fa6f2706516e5c01e5218b4316fdfe2fa","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Session replay reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports to a host path via ctx.sessionQuery (any backend, incl. SQLite), /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.0.1_1789272379954_0.6363106117111554","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"dsh-session-export","version":"1.1.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.1.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"def6bb5cae8b4f350b4efe28541fed3ad976417e","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.1.0.tgz","fileCount":8,"integrity":"sha512-mcNDn/kkUJ3oDEsxogjonz1F7BM0vg6EBDgXfH+Y9EmCjfo2Qbv0XfPdpvyeLpnFAIi2p1MwuEtDQLl/vNR4Jw==","signatures":[{"sig":"MEQCIG+j3tSCf++mMai3NE5Epq0gmWBO9aIc9uWp/l1t1rhIAiBX2ks9T7YWsm3pq+CxZbc466RRpKpSJtBp9qysLLI3SA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":111340},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"caa4efbe22775b2cd92193f700ce22a2b3e99dfb","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Session replay reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports to a host path via ctx.sessionQuery (any backend, incl. SQLite), /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.1.0_1789281324543_0.06959607352006447","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"dsh-session-export","version":"1.2.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.2.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"98c81a8fa756481a3ccb08696ef2367fc347a0ba","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.2.0.tgz","fileCount":8,"integrity":"sha512-MHBrwZ337XzQ1LjXMlhUtOhv1iy8X9AVSVNLeOfdeuqHVE53WIkZ9F5KLk7NyqiLhzm09x+f1UvORns3TivxZA==","signatures":[{"sig":"MEYCIQCsL7FudWy+QbnSwk3Wwmv/KvtdNuV+nWmT17P/QL/pyQIhAJjaJYpt+vyHPNo1LRJs38CBEDOC2GjPqCBJRBGzIO7Z","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":124113},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"093e61354cd37447128ead8c07b32b6c0c2b3e4e","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.2.0_1789347221664_0.5997915701677954","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"dsh-session-export","version":"1.3.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.3.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"f9cad3a29b76cb639a2965608dc7e5521c823105","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.3.0.tgz","fileCount":8,"integrity":"sha512-g/GOOULyLrd9QuD3tFe84KXF3PCAyLyJdmW5GmvWJlWDKFFYazaSSbH/YPd3N/Mon5S7NDrVLOu+WKtFucuYLg==","signatures":[{"sig":"MEQCIAne5ucxCGtk5vfVuRPVfLI1ukir7CUQSDIzyaeG2jaZAiBwl3kzwd6lpe9q6l27RSVeJ3c/SYN8a44pNI5ZzrRhQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":135267},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"20679361c5ae2a3d7dbd0cdb31bc39cd67150737","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.3.0_1789351867118_0.7274623615999682","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"dsh-session-export","version":"1.4.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.4.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ba8aed4848a1d95b308a9b647cf19595b50b1383","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.4.0.tgz","fileCount":8,"integrity":"sha512-pvOr1q1sGRFGLV6BrlxJn7qaDI+/09yJRKzhT5g8vdQrfBOnnBGV6BCYUJW0Gdll9KSeq/QE+fWfr7sxkAvFLA==","signatures":[{"sig":"MEUCIBZZuLcbOXkOWlP1KZ3xuLATroZ4tUMxbj6yviIQoU4gAiEAuvJVpdCCjLPx5n2ADsdYVOhwetuQIIT25fW1pIgPtpU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":145628},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"1232647f327c20024354a4eee008e6deff5f885c","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.4.0_1789357832929_0.2922029093153877","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"dsh-session-export","version":"1.5.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.5.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"d859153528ee0f7e73aa84379dae4e8e79f9bd05","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.5.0.tgz","fileCount":8,"integrity":"sha512-01a5e7x3bTKvkhrrIHn2BGs1sEETStJvbtvh+rYckF2TTxNRBNuyqETnsaMxAkprNmuC8TrmnlGwIGVEGOkVXQ==","signatures":[{"sig":"MEUCIAMKO90G9akSdnJRMF+SB2FF/G04rTr/GX9kcfRGzqFXAiEA1ONa8zTy2tObkfg9VtC/dFbeQwWosZiio1KKyLYtvhA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147923},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"89d612bcabb19265ed843df9aa1927c070098bd8","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.5.0_1789366251610_0.8146019059553384","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"dsh-session-export","version":"1.6.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.6.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"acbf48cbd3e13f4741e782b9beb36d3b9bf6b40f","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.6.0.tgz","fileCount":8,"integrity":"sha512-Fr0FLudkW1hBt7hRh2wExFYaXMa8dycFgJtW8NwP+v+b95r9cmEo00ITQ18mMgHBAS8EJu4B281/knK1r3rT9g==","signatures":[{"sig":"MEQCIEQ5Cf1cXimngey+2lB6UJG+DezRbo9UejZxpEX37Ky7AiBpBJA2bu+LDgnp3A/vyW3f8DkAA6Zg2xi5DP9Fed+nyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":162149},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"5cef6463e58da6c706ae8b254ef265d324b7c489","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.6.0_1789366269743_0.8688347079603451","host":"s3://npm-registry-packages-npm-production"}},"1.7.0":{"name":"dsh-session-export","version":"1.7.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.7.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"cb1f3914cd2db1b000fdbcf8a6bac6217d304873","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.7.0.tgz","fileCount":8,"integrity":"sha512-uXU1azcSW8dceNU38Lu4sF62/4rm8DPbIih+Xp5fQeYPchhJbzfw/lvC9FN8nuAWADhPwi5+lyPZD/TeB4ceNw==","signatures":[{"sig":"MEUCIQCK6Q5AgjJ80sniQyCRkUhwB40aV7j8Q35eEqOF+MdbSQIgNTIcFHuvRL9uFwvQYD2si8/Uoe1t93S9pgrFaQcJXNo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":177121},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"dc6f1175f7b1ea8593f2c8757e13d29326230f24","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.7.0_1789469617143_0.4050393519964084","host":"s3://npm-registry-packages-npm-production"}},"1.8.0":{"name":"dsh-session-export","version":"1.8.0","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.8.0","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"2228972d98f31eb6c2bcd73435e69e1c3b89d084","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.0.tgz","fileCount":8,"integrity":"sha512-usO0o8d/aFt8WNUqSuHRwQ7EgBdYFpwpSrBHSN9ObXt7i3drrY+NgpstnqS5PgvWEHxIr77qwhV4JUO7e37Wmw==","signatures":[{"sig":"MEUCIE/I0srJyq5GdfNOjQsLgzGF+n03ZF//54Typ6U64ekRAiEAsR2lyiGP29T2Lj/vQeeTnkrK09l+DirBbAAYyNQ6fqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":183700},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"c0a1e815f03d515a4b096bacebd16893dae12524","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com","approver":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}},"_npmVersion":"12.0.2","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.0-rc.6","@deepseek-ai/dsh-commands":"^0.1.0-rc.6","@deepseek-ai/dsh-session-query":"^0.1.0-rc.6"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.8.0_1789470704018_0.5524401803720029","host":"s3://npm-registry-packages-npm-production"}},"1.8.1":{"name":"dsh-session-export","version":"1.8.1","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.8.1","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"fe2a62207fe297adf78f0602a67389a57424d4f9","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.1.tgz","fileCount":8,"integrity":"sha512-U8P0N1P/Ftm2/GxxC9F7ukSM+vXd70h2hU95PVkMKTsA4P7InzVE1aQa9Z5h0g904fA1Rn+1FAGdZac97/BB7Q==","signatures":[{"sig":"MEUCIFi51oq1+BTWAHN6ZeZ7ITPoR9cRYtrvAFPqPnYJytHCAiEAnGpCuefXR5RIKfTWAuszFCcCPgE9P6L+k3ZFHwUUpTE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCKVgoSgPKzLNQrL0Lq3DMQ6WReAdqEfnh5mSv+3x7O3AIhAK69VvIWdaIVAjStvhnI2f5hGeIcgUUdthNVXyWVXD4X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":184526},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"caf4d15e0e45b79ea8ee80b9d3f5cf78e160b01e","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"_npmVersion":"11.12.1","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-agent":"^0.1.1-rc.2","@deepseek-ai/dsh-scope":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-timeout":"^0.1.1-rc.2","@deepseek-ai/dsh-commands":"^0.1.1-rc.2","@deepseek-ai/dsh-session-query":"^0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"^0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-commands":"^0.1.1-rc.2","@deepseek-ai/dsh-session-query":"^0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.8.1_1789803604865_0.16467934826237451","host":"s3://npm-registry-packages-npm-production"}},"1.8.2":{"name":"dsh-session-export","version":"1.8.2","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.8.2","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"homepage":"https://github.com/kittimzhe/dsh-session-export#readme","bugs":{"url":"https://github.com/kittimzhe/dsh-session-export/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"f6992a826bd8f0754380c52086d50483aaec3254","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.2.tgz","fileCount":8,"integrity":"sha512-5xMa0L5zhqeP0FoHgo/EtnKu04/O9vuA9qOcrlkbnKSy76EOhNpadlk7bvAuqxOBaNZ/iPrn8aNbwQ0GZJhRZA==","signatures":[{"sig":"MEUCIHFz4iUeloJAnmr+pr9qjxvfWOWxCE3Bnjkrq9GRnjVUAiEA0v4VKB1bXedr9dPn0o5lCavVIc5+1f+nAxbyw9PaK38=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE1yIUTF+oecgWIPlt80pPEiPovd6am9ZRY3iBfALNFSAiEA3UI6I1Qi5M32VPCXQJQulx+Ver3l/tDlnh3+Nr8UZBo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186357},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"6a5323615b5fc8fae96d07d4cfc9aec585c7ab39","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","doctor":"node scripts/doctor.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"repository":{"url":"git+https://github.com/kittimzhe/dsh-session-export.git","type":"git"},"_npmVersion":"11.12.1","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unrun":"^0.3.1","tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-agent":"^0.1.1-rc.2","@deepseek-ai/dsh-scope":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-timeout":"^0.1.1-rc.2","@deepseek-ai/dsh-commands":"^0.1.1-rc.2","@deepseek-ai/dsh-session-query":"^0.1.1-rc.2","@deepseek-ai/dsh-user-approval":"^0.1.1-rc.2"},"peerDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.1.1-rc.2","@deepseek-ai/dsh-tools":"^0.1.1-rc.2","@deepseek-ai/dsh-session":"^0.1.1-rc.2","@deepseek-ai/dsh-commands":"^0.1.1-rc.2","@deepseek-ai/dsh-session-query":"^0.1.1-rc.2"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.8.2_1789972942688_0.4264998219449516","host":"s3://npm-registry-packages-npm-production"}},"1.8.3":{"name":"dsh-session-export","version":"1.8.3","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.8.3","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"homepage":"https://github.com/kittimzhe/dsh-session-export#readme","bugs":{"url":"https://github.com/kittimzhe/dsh-session-export/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"ffa7f736e333e4e66b2fa80366fd045ecb3c8a1e","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.3.tgz","fileCount":8,"integrity":"sha512-nIEAvt5wO4Uo2l9Q6aJgp8BaxjZhtg7Zyq/ur47wlMw8oUpVqpbJDZADVFqTsodeS9FiYT4jaHb73+/Plw47yw==","signatures":[{"sig":"MEYCIQCZW7sFwthwhHUFxhJ8B80GAsmPAwsTKBgS8g1csytcrQIhAK8vQ09XZ9PDOcSj2dWti5l4crzm3H60QcoY18r8zRPy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFylcGWnCw+hGhfmu8NFssH5DN7nt6b+iT4zSZ2E72ltAiEA5rNA6YHdCxGXrZ7kG7pI+d5auwuv3dKmATSalrX7yMM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":186850},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"6030fb8bedc428660fb595d1dc86984da6cf605c","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","doctor":"node scripts/doctor.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"repository":{"url":"git+https://github.com/kittimzhe/dsh-session-export.git","type":"git"},"_npmVersion":"11.12.1","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unrun":"^0.3.1","tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-agent":"^0.1.5-rc.3","@deepseek-ai/dsh-scope":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-timeout":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.3"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.8.3_1790425146071_0.5502406621265015","host":"s3://npm-registry-packages-npm-production"}},"1.8.4":{"name":"dsh-session-export","version":"1.8.4","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.8.4","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"homepage":"https://github.com/kittimzhe/dsh-session-export#readme","bugs":{"url":"https://github.com/kittimzhe/dsh-session-export/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"3ff1010f3e79e8a5fff1d1bbb97c6749fb203623","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.4.tgz","fileCount":8,"integrity":"sha512-E0nQLpvMdyoxoR8atqSuY0lSGn2U5+haazRXIxFU1LOSEy6ejnCB2WoiVQE2G3SED7RNlmVo4QLxQehgzfK0Bg==","signatures":[{"sig":"MEYCIQD+FlD8tTOvXWX1JZJKwM754Aau4RXZdV+9oyCe97bGPwIhANgTGn6/kLdHpUIqPaJwMB+ZqqKNLFcIcRZKDhGsVh+s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEj/FJh+iWZ4FL3OCSLwOLEFRgmyTelE4lhIfkuMA8RtAiBp8j7R+9qb+4dhNGD70qXcwGL8b18c3iqeg5i/c5oUuQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":190195},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"01c51bc33e405b523b1c6ed369a9bd38ff0e387e","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","doctor":"node scripts/doctor.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"repository":{"url":"git+https://github.com/kittimzhe/dsh-session-export.git","type":"git"},"_npmVersion":"11.12.1","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unrun":"^0.3.1","tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-agent":"^0.1.5-rc.3","@deepseek-ai/dsh-scope":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-timeout":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.3"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.8.4_1790993536438_0.6739875137798936","host":"s3://npm-registry-packages-npm-production"}},"1.8.5":{"name":"dsh-session-export","version":"1.8.5","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"license":"MIT","_id":"dsh-session-export@1.8.5","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"homepage":"https://github.com/kittimzhe/dsh-session-export#readme","bugs":{"url":"https://github.com/kittimzhe/dsh-session-export/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"dist":{"shasum":"55fbdec448d344053e55d669073b2759d5cb5668","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.5.tgz","fileCount":8,"integrity":"sha512-7pbj+mKyLzfmF1fgSo5hVmRPrgt8H+8my39ko9+JllEE6UHZc67Vtx/gtXViBQYiSOhQa9OaTSoEgAH+3YDEGA==","signatures":[{"sig":"MEYCIQCj9sFWJqD+8ksYo8Hz6JRWF1ueiHKm951/XOWCGdD56AIhAINsDi+l5RlrJSIoDN39nYe5Of5APBCtyNINIe1QBHjo","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDMSbaBoZfBoP0lT+laigfCTGKNBmD9K6JlMLBVJBvdZAIgRoWFEupwInOof17qZBMl1cLpZlcpxoosNRY/Yf8vQh4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":191658},"main":"lib/index.js","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"c968ae2d773101885960c50dc2a0412106312704","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","doctor":"node scripts/doctor.mjs","typecheck":"tsc --noEmit"},"_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"repository":{"url":"git+https://github.com/kittimzhe/dsh-session-export.git","type":"git"},"_npmVersion":"11.12.1","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"_nodeVersion":"25.9.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unrun":"^0.3.1","tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-agent":"^0.1.5-rc.3","@deepseek-ai/dsh-scope":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-timeout":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.3"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/dsh-session-export_1.8.5_1791020366056_0.6951646976160171","host":"s3://npm-registry-packages-npm-production"}},"1.8.6":{"_id":"dsh-session-export@1.8.6","dsh":{"bundle":{"patch":"./cordis.patch.yml"}},"bugs":{"url":"https://github.com/kittimzhe/dsh-session-export/issues"},"dist":{"shasum":"307e58cbf8edebb039607a514766f4982f8058ec","tarball":"https://registry.npmjs.org/dsh-session-export/-/dsh-session-export-1.8.6.tgz","fileCount":8,"integrity":"sha512-tTa5jugPWdEHJgNrQes5eP48/TdF0PQLAcnVAPCqN1ZtHH5EZ7+dduAmSLkNeDfDZ1FRWgqD3b/pLwHxd/0nyg==","signatures":[{"sig":"MEQCIC1RA0X1S89oJiNJVxwBURkjV4Y2wCAKLwh/1Eeb5QE8AiBHmFsa3vipkviJm7TuFKwmM2rLIBcbNwxWsctWBlig+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFaUY/vPYo32mhR8MgZVMA3CN7ZPo21VOuGvYG2wuZxWAiEAubx/Yj6YBysUgsMekjfUKS1OqEoFoSQJeExpP/ue4yk="}],"unpackedSize":192344},"main":"lib/index.js","name":"dsh-session-export","type":"module","types":"lib/index.d.ts","exports":{".":{"types":"./lib/index.d.ts","default":"./lib/index.js"},"./package.json":"./package.json"},"gitHead":"75103acf72593af4a467a2570fd49a399c7e209c","license":"MIT","scripts":{"test":"vitest run","watch":"tsdown --watch","bundle":"tsdown","doctor":"node scripts/doctor.mjs","typecheck":"tsc --noEmit"},"version":"1.8.6","_npmUser":{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"},"homepage":"https://github.com/kittimzhe/dsh-session-export#readme","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"repository":{"url":"git+https://github.com/kittimzhe/dsh-session-export.git","type":"git"},"_npmVersion":"10.9.3","description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","directories":{},"maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"_nodeVersion":"22.20.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"unrun":"^0.3.1","tsdown":"^0.22.14","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.2.0","@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-agent":"^0.1.5-rc.3","@deepseek-ai/dsh-scope":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-timeout":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3","@deepseek-ai/dsh-user-approval":"^0.1.5-rc.3"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.2","@deepseek-ai/dsh-llm":"^0.1.5-rc.3","@deepseek-ai/dsh-tools":"^0.1.5-rc.3","@deepseek-ai/dsh-session":"^0.1.5-rc.3","@deepseek-ai/dsh-commands":"^0.1.5-rc.3","@deepseek-ai/dsh-session-query":"^0.1.5-rc.3"},"peerDependenciesMeta":{"@deepseek-ai/dsh-tools":{"optional":true}},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-session-export_1.8.6_1791616992475_0.6081068659463067"}}},"time":{"created":"2026-08-23T06:12:23.145Z","modified":"2026-10-10T07:23:12.737Z","0.1.0":"2026-08-23T06:12:23.509Z","0.2.0":"2026-08-29T14:18:05.337Z","1.0.0":"2026-09-13T03:57:53.089Z","1.0.1":"2026-09-13T04:06:20.038Z","1.1.0":"2026-09-13T06:35:24.624Z","1.2.0":"2026-09-14T00:53:41.761Z","1.3.0":"2026-09-14T02:11:07.235Z","1.4.0":"2026-09-14T03:50:33.031Z","1.5.0":"2026-09-14T06:10:51.701Z","1.6.0":"2026-09-14T06:11:09.826Z","1.7.0":"2026-09-15T10:53:37.226Z","1.8.0":"2026-09-15T11:11:44.161Z","1.8.1":"2026-09-19T07:40:04.961Z","1.8.2":"2026-09-21T06:42:22.775Z","1.8.3":"2026-09-26T12:19:06.198Z","1.8.4":"2026-10-03T02:12:16.536Z","1.8.5":"2026-10-03T09:39:26.147Z","1.8.6":"2026-10-10T07:23:12.580Z"},"bugs":{"url":"https://github.com/kittimzhe/dsh-session-export/issues"},"license":"MIT","homepage":"https://github.com/kittimzhe/dsh-session-export#readme","keywords":["deepseek-harness","dsh","dsh-plugin","session","export","transcript","html","report","stats","archive","backup","markdown","review","debug"],"repository":{"url":"git+https://github.com/kittimzhe/dsh-session-export.git","type":"git"},"description":"Deterministic session evidence reports for DeepSeek Harness: /transcript writes styled single-file HTML / Markdown / JSON reports from canonical session logs, /stats prints a terminal stats card, /archive writes per-session ZIPs","maintainers":[{"name":"mengzhe.gan","email":"ganmengzhe@gmail.com"}],"readme":"# dsh-session-export\n\n[English](https://github.com/kittimzhe/dsh-session-export/blob/main/README.md) | 中文\n\n[![CI](https://github.com/kittimzhe/dsh-session-export/actions/workflows/test.yml/badge.svg)](https://github.com/kittimzhe/dsh-session-export/actions/workflows/test.yml) [![npm version](https://img.shields.io/npm/v/dsh-session-export)](https://www.npmjs.com/package/dsh-session-export) [![npm downloads](https://img.shields.io/npm/dm/dsh-session-export)](https://www.npmjs.com/package/dsh-session-export) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kittimzhe/dsh-session-export/blob/main/LICENSE)\n\n为 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) 提供**确定性的会话证据报告**：`/transcript` 把会话写成**单文件 HTML 报告**或 Markdown/JSON 转录，`/stats` 在终端打印统计卡，`/archive` 把原始会话日志写成逐会话 ZIP——全部落到本机路径，且支持任意持久化后端（JSONL 或 SQLite）。\n\n**通过 `ctx.sessionQuery` 直读会话日志本身——无旁路采集、无驻留内存、无数据漂移。** 装插件之前的历史会话照样能导。\n\n## 安装\n\n**环境要求**：Node.js 20 或 22 · 挂载了 `commands` 与 `sessionQuery` 服务的 DeepSeek Harness profile（官方 `web` / `agent` profile 均满足）。\n\n```sh\ndsh plugin --profile web add dsh-session-export\n```\n\n## 试一次\n\n在任意会话里：\n\n```text\n/transcript --html\n```\n\n```text\nExported 23 messages (41 tool calls, 128450 tokens) → /path/to/cwd/dsh-transcripts/transcript-a1b2c3d4-20260929T101530.html\n```\n\n一个自包含 HTML 文件——KPI 卡片、轮次时间轴、工具排行、错误高亮、暗/亮主题——离线可开，可打印成 PDF。\n\n## 会话工具链\n\n| 插件 | 层 | 回答的问题 |\n|---|---|---|\n| **`dsh-session-export`** | **证据层** | **\"这个会话到底发生了什么？\"** |\n| [`dsh-session-recall`](https://www.npmjs.com/package/dsh-session-recall) | 记忆层 | \"我以前做过什么，在哪？\" |\n| [`dsh-session-eval`](https://www.npmjs.com/package/dsh-session-eval) | 评测层 | \"刚才的会话好不好？趋势在变好吗？\" |\n\n三者都通过同一个受信的 `ctx.sessionQuery` 接缝读取。\n\n## 贡献\n\n- **本地开发**：`npm ci && npm run doctor && npm run typecheck && npm test && npm run bundle`（Node 20/22；`npm run doctor` 自动修复未发布的 peer 依赖，见 [CONTRIBUTING.md](CONTRIBUTING.md) 第零步）。\n- **源码入口**：[`src/render/html.ts`](src/render/html.ts)、[`src/render/markdown.ts`](src/render/markdown.ts)、[`src/mask.ts`](src/mask.ts)——完整源码地图见 [CONTRIBUTING.md](CONTRIBUTING.md)。\n- **当前缺口**：[#5](https://github.com/kittimzhe/dsh-session-export/issues/5)、[#6](https://github.com/kittimzhe/dsh-session-export/issues/6)、[#7](https://github.com/kittimzhe/dsh-session-export/issues/7)——或浏览 [`good first issue` 标签](https://github.com/kittimzhe/dsh-session-export/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)。\n- **规矩**：行为变更必须带测试；文档必须 `README.md` 与 `README.zh.md` 同步改；版本发布由维护者执行。详见 [CONTRIBUTING.md](CONTRIBUTING.md)。\n\n## 命令契约\n\n| 输入 | 结果 |\n|---|---|\n| `/transcript` | 导出当前会话 → `<会话 cwd>/dsh-transcripts/transcript-<id8>-<时间戳>.md` |\n| `/transcript --html` | **单文件 HTML 报告**：KPI 卡片、轮次时间轴、工具排行、错误高亮、暗/亮主题、打印转 PDF |\n| `/transcript --json` / `--md` / `--html` | 任意组合输出格式 |\n| `/transcript <path>` / `--out <path>` | 写入指定路径（`--out` 后允许空格） |\n| `/transcript --id <sessionId>` | 导出另一个会话 |\n| `/transcript --last 30m` | **部分导出**：最近 30 分钟的条目（`7d`/`12h`/`30m`/`90s`） |\n| `/transcript --errors-only` | **调试视图**：报错的工具结果 ± 两条上下文 |\n| `/transcript --mask` | **脱敏**：遮蔽 API key、Bearer token、私钥、邮箱、数据库 URL 凭据等 |\n| `/transcript --mask-hash` | **确定性脱敏**：密文变 `#xxxxxxxx` 摘要——同密钥同标记，相等性在脱敏后仍可判 |\n| `/transcript --manifest` | **证据清单**：为本次每个导出物写 `.manifest.json` 边车（字节数 + SHA-256） |\n| `/transcript --full` | 附上 log-only 事件附录 + Mermaid 轮次时间轴 |\n| `/stats` | **终端统计卡**：消息、轮次、时长、工具调用（含失败）、token、成本、工具排行、sparkline——不写文件 |\n| `/bundle` | **一键审查 ZIP**：转录报告 + 原始 JSONL 归档 + sha256 证据清单，为审计/审查流程设计 |\n| `/bundle --mask --manifest` | 脱敏转录 + 证据清单 |\n| `/bundle --no-archive` | 仅转录报告（不含原始归档） |\n| `/archive` | 归档当前会话（含子代理后代）→ 逐会话 ZIP |\n| `/archive --all --since 7d` | 批量归档最近 7 天的全部会话 |\n| `/diff <id1> <id2>` | **会话对比**：比较两场会话——公共前缀、独有尾部、stats 差量（终端或 `--html` 报告） |\n\n与所有 `ctx.commands` 命令一样，这五条命令都运行在人类命令平面：结果不进模型历史，零 token 消耗。\n\n## 项目定位\n\n`dsh-session-export` 是**会话证据层**，不是记忆优化器。\n\n- 核心价值是**可审计**（发生了什么、顺序如何、失败点在哪）。\n- 核心价值是**可复现**（稳定输出、可移植文件、确定性渲染）。\n- 核心价值是**可运维**（批量归档、落 Host 路径、可打印交付物）。\n\n如果你的主要目标是上下文压缩或语义记忆，优先用记忆框架；如果主要目标是复盘取证、代码评审和事故复盘，优先用本插件。\n\n## 为什么需要它\n\n官方 `@deepseek-ai/dsh-session-log-export` 通过浏览器下载原始 JSONL/zstd ZIP，且仅支持 JSONL 后端；官方 `@deepseek-ai/dsh-session-stats` 提供基础统计投影。两者是毛坯层，本插件是建在其上的证据层——确定性复盘报告、SHA-256 清单、脱敏、策略包、输出契约、`/diff` 与 `/bundle`（见下方对比表）。\n\n转录语义遵循 `@deepseek-ai/dsh-session/surface`：本插件渲染 **append-origin 表面事件**——用户真实看到过的全部内容——而不是模型可见表面（后者的 compaction 替换会抹掉用户已经读过的对话）。\n\n## 竞品视角\n\n| 能力重心 | 官方 `/export` | 旁路监听型导出 | 记忆框架类插件 | `dsh-session-export` |\n|---|---|---|---|---|\n| 主要产物 | 原始日志下载 | 可读转录文本 | 记忆/上下文优化结果 | **证据级会话复盘报告** |\n| 数据来源 | 原始日志包 | 旁路事件流 | 推导后的记忆结构 | **会话主日志（`sessionQuery`）** |\n| 历史覆盖 | 受后端限制 | 无补录常不完整 | 通常按召回策略选取 | **全量历史（含装插件前会话）** |\n| 持久化后端 | 仅 JSONL | 监听器见到的 | 框架各异 | **任意后端（JSONL、SQLite…）** |\n| 统计 | — | 面板计数器 | 框架各异 | **`/stats` 卡片 + 成本估算 + 工具排行** |\n| 谱系 / diff / 时间轴 | — | — | — | **Mermaid 谱系、编辑器 diff、轮次时间轴** |\n| 批量 | — | — | — | **`/archive --all --since`** |\n| 运维交付 | 浏览器 ZIP | 常见单次导出 | 记忆状态/索引 | **HTML/MD/JSON + `/stats` + `/archive`** |\n\n官方生态说明（2026-09）：官方 `@deepseek-ai/dsh-session-log-export`（浏览器下载原始 JSONL/zstd ZIP，仅 JSONL 后端）与 `@deepseek-ai/dsh-session-stats`（基础统计投影）是原始工具层；本插件是其上的证据层——确定性复盘报告、SHA-256 manifest、脱敏、策略包、输出契约、`/diff` 与 `/bundle`。\n\n## 模型可调用工具（v1.3）\n\n设置 `exposeTool: true` 可注册 `transcript_export`——与导出内核相同的类型化工具，模型可直接调用。预期桥接：`dsh-session-recall` 命中返回 `sessionId`，模型交给 `transcript_export`，用户磁盘上就有完整证据报告。每次调用一种格式（默认 `html`，可选 `md` / `json`），可选 `mask` / `manifest` / `last`；文件始终落到标准 `dsh-transcripts` 目录（或 `defaultDir`），带时间戳、不覆盖。该工具默认关闭，因为会把写本机文件的能力交给模型。\n\n## HTML 报告长什么样\n\n![HTML 报告（亮色主题）](https://github.com/kittimzhe/dsh-session-export/raw/main/docs/samples/report-light.png)\n![HTML 报告（中文）](https://github.com/kittimzhe/dsh-session-export/raw/main/docs/samples/report-zh.png)\n![HTML 报告（暗色主题）](https://github.com/kittimzhe/dsh-session-export/raw/main/docs/samples/report-dark.png)\n\n`/transcript --html` 写出一个自包含文件——不引外部 CSS/JS，离线可开：\n\n- **KPI 卡片**：消息数、工具调用（失败数标红）、token 进/出、时长、轮次、成本\n- **轮次时间轴**：每轮一条彩色横条，按墙钟占比着色\n- **工具排行**：横向条形图 + 每工具失败数\n- **Token sparkline**：内嵌 SVG，每条 assistant 消息的输出 token 分布\n- **错误焦点**：失败的工具结果红边框 + 横幅 + 自动展开；页头一键跳到第一个失败\n- **JSON 语法高亮**：工具参数与 JSON 结果按 token 着色（key 蓝/字符串绿/数字琥珀）——不引外部高亮库\n- **中英双语**：`lang: zh` 整份报告中文显示，默认英文\n- **原生 tooltip**：悬停 KPI 卡、时间轴条、sparkline 柱看明细\n- **原生折叠**：工具参数/结果与 reasoning 收进 `<details>`\n- **按轮折叠**：转录按轮分组可折叠（时长 · 条数 · ⚠ 旗标）；长报告有粘性工具栏（TOC 芯片 + 实时搜索，`/` 聚焦）\n- **复制按钮**：工具参数/结果/diff/推理块一键复制\n- **暗/亮主题**：跟随系统 `prefers-color-scheme`，可切换且记忆\n- **打印 → PDF**：`@media print` 规则；打印时自动展开全部折叠——Cmd+P 一步归档\n\nMarkdown 输出新增 **Mermaid 谱系图**（GitHub/VSCode 原生渲染），`--full` 时附 Mermaid 轮次甘特图。\n\n## 成本估算\n\n配置一次价格表，之后每次导出/统计都显示估算成本：\n\n```yaml\n- id: session-export\n  name: 'dsh-session-export'\n  config:\n    pricing:\n      inputPerMillion: 0.27   # 每百万输入 token 单价\n      outputPerMillion: 1.10  # 每百万输出 token 单价\n      currency: '$'           # 货币标签\n```\n\n## 完整安装（out-of-tree 插件）\n\n从 npm：\n\n```sh\ndsh plugin --profile web add dsh-session-export\n```\n\n或从 GitHub：\n\n```sh\ndsh plugin --profile web add github:kittimzhe/dsh-session-export\n```\n\n然后在 profile 的 `cordis.patch.yml` 加一行（需要 `commands` 与 `sessionQuery` 服务，官方 profile 均已挂载）：\n\n```yaml\n- id: session-export\n  name: 'dsh-session-export'\n```\n\n## 配置\n\n插件行 config（全部可选）：\n\n```yaml\n- id: session-export\n  name: 'dsh-session-export'\n  config:\n    preset: compliance                 # 一行策略包：'baseline'（默认）、'compliance'、'full'\n    defaultDir: /absolute/output/dir   # 默认：会话 cwd + dsh-transcripts/\n    argCharLimit: 512                  # 工具参数渲染上限\n    resultCharLimit: 2048              # 工具结果渲染上限\n    lang: zh                           # HTML 报告标签语言：默认 'en'，可 'zh'\n    mask: true                         # 默认脱敏（--mask 按次开启）\n    maskMode: hash                     # 替换模式：'mask'（占位符，默认）或 'hash'（确定性摘要）\n    manifest: true                     # 默认写 .manifest.json 边车（--manifest 按次开启）\n    maskPatterns: ['OPS-\\d+']          # 额外脱敏正则\n    pricing: { inputPerMillion: 0.27, outputPerMillion: 1.10, currency: '$' }\n    archiveDir: /absolute/output/dir   # 默认：会话 cwd + .dsh-archives/\n    includeDescendants: true           # /archive --id 默认含后代\n    maxSessionsPerRun: 100             # /archive --all 安全上限\n```\n\n## Markdown 里有什么\n\n- 表头：会话 id、项目、创建时间、agent preset、消息/工具调用数（含失败）、token 汇总、时长、成本、生成器\n- 谱系：Mermaid 图 + 祖先链与子代理后代树\n- 按日志顺序的转录：用户消息、assistant 消息（provider/model 出处、token 用量、可折叠 reasoning）、工具调用（参数截断；`str_replace_editor` 渲染成 ```diff 块）、工具结果（错误感知）\n- `--full`：Mermaid 轮次时间轴 + log-only 事件附录\n\n## 当前缺口\n\n已交付的路线图项见 [CHANGELOG](CHANGELOG.md)；未完成的工作一律进 issue：\n\n- [#5 —— Markdown：`+`/`-` 开头的内容行不得撑破 diff 块](https://github.com/kittimzhe/dsh-session-export/issues/5)\n- [#6 —— 脱敏：带凭据的连接串模式（postgres/redis/mysql URL）](https://github.com/kittimzhe/dsh-session-export/issues/6)\n- [#7 —— HTML 报告：工具排行条锚点到该工具第一次调用](https://github.com/kittimzhe/dsh-session-export/issues/7)\n\n## 已知限制\n\n- 导出走受信的 `ctx.sessionQuery` 接缝；没有该服务的组合无法挂载本插件。\n- 报告字节不可复现（内嵌生成时间戳）；`--manifest` 提供的是完整性校验（逐导出物 SHA-256），而非可复现性。\n- Token 汇总按 assistant 消息的 `usage` 记录累加；适配器未上报 usage 的步骤计零。\n- 成本为牌价估算；未建模缓存命中折扣（`cacheReadTokens` 不单独计价）。\n- 脱敏基于模式匹配、尽力而为：覆盖常见凭据形态，不保证遮蔽所有可能的秘密。\n- Markdown 代码块内部不做转义；diff 内容自带 `+`/`-` 行首时会渲染为附加 diff 行（修复中，见 [#5](https://github.com/kittimzhe/dsh-session-export/issues/5)）。\n- `/archive` 只出不进：DSH 没有写侧会话接缝，ZIP 是备份不是往返。\n\n## 开发\n\n```bash\nnpm ci\nnpm run doctor      # peer 依赖自检——见 CONTRIBUTING.md 第零步\nnpm run typecheck   # tsc --noEmit\nnpm test            # vitest run\nnpm run bundle      # tsdown -> lib/\n```\n\n## 许可\n\nMIT\n\n## 社区\n\n- [贡献指南](CONTRIBUTING.md) · [安全策略](SECURITY.md) · [行为准则](CODE_OF_CONDUCT.md)\n","readmeFilename":"README.zh.md"}