{"_id":"@artificialnotimbecile/dsh-context-taxonomy","name":"@artificialnotimbecile/dsh-context-taxonomy","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@artificialnotimbecile/dsh-context-taxonomy","description":"Logical-call context taxonomy for the DeepSeek Harness Web profile","version":"0.1.0","type":"module","main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/client-types/client/index.d.ts","default":"./lib/client.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./typert":{"types":"./lib/typert.host.d.ts","default":"./lib/typert.host.js"},"./remote":{"types":"./lib/typert.remote-client.d.ts","default":"./lib/typert.remote-client.js"},"./cordis.patch.yml":"./cordis.patch.yml","./package.json":"./package.json"},"scripts":{"clean":"rimraf lib","build":"pnpm run clean && pnpm run build:host && pnpm run build:client","build:host":"tsc -b tsconfig.host.json && tsdown --config tsdown.host.config.ts && node scripts/generate-typert.mjs","build:client":"tsc -b tsconfig.client.json && tsdown --config tsdown.client.config.ts","test":"vitest run --config vitest.config.ts","prepare":"pnpm run build","prepack":"pnpm run test"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"platform":"web","inject":["@deepseek-ai/dsh-api-gateway","@deepseek-ai/dsh-client-locale","@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-ui-conversation"]}},"publishConfig":{"access":"public","provenance":true},"repository":{"type":"git","url":"git+https://github.com/ArtificialNotImbecile/dsh-context-taxonomy.git","directory":"packages/dsh-context-taxonomy"},"bugs":{"url":"https://github.com/ArtificialNotImbecile/dsh-context-taxonomy/issues"},"homepage":"https://github.com/ArtificialNotImbecile/dsh-context-taxonomy#readme","keywords":["deepseek","deepseek-harness","dsh-plugin","context","taxonomy"],"license":"MIT","engines":{"node":"^22.19.0 || >=24.0.0"},"peerDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.6","@deepseek-ai/dsh-brand":"0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.6","@deepseek-ai/dsh-llm":"0.1.0-rc.6","@deepseek-ai/dsh-llm-retry":"0.1.0-rc.6","@deepseek-ai/dsh-session":"0.1.0-rc.6","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.6","@deepseek-ai/dsh-storage-domain":"0.1.0-rc.6","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.6","react":"^18.2.0","react-dom":"^18.2.0"},"dependencies":{"@deepseek-ai/schemastery":"3.18.1","zod":"4.4.3"},"devDependencies":{"@deepseek-ai/cordis":"4.0.1","@deepseek-ai/dsh-api-gateway":"0.1.0-rc.6","@deepseek-ai/dsh-brand":"0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"0.1.0-rc.6","@deepseek-ai/dsh-client-ui-primitives":"0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"0.1.0-rc.6","@deepseek-ai/dsh-llm":"0.1.0-rc.6","@deepseek-ai/dsh-llm-retry":"0.1.0-rc.6","@deepseek-ai/dsh-session":"0.1.0-rc.6","@deepseek-ai/dsh-session-persistence":"0.1.0-rc.6","@deepseek-ai/dsh-storage-domain":"0.1.0-rc.6","@deepseek-ai/dsh-typert-generator":"0.1.0-rc.6","@deepseek-ai/dsh-typert-protocol":"0.1.0-rc.6","@types/node":"22.20.0","@types/react":"18.3.28","@types/react-dom":"18.3.7","lightningcss":"1.30.2","react":"18.3.1","react-dom":"18.3.1","rimraf":"6.1.2","tsdown":"0.22.2","typescript":"6.0.3","vitest":"4.1.8"},"_id":"@artificialnotimbecile/dsh-context-taxonomy@0.1.0","gitHead":"097c4bcbe0ca9525fef4fb2a2988e526c04350a8","_nodeVersion":"22.22.0","_npmVersion":"10.9.4","dist":{"integrity":"sha512-iPMRIfbWLKHoXkB3exKmNlEsjcy9pWsSKDs3+LkPyEVwgJFqmFLPIEEmdoPUCAN05WQV1rKgqLuZcAyjk9Ving==","shasum":"0470a845449b7a2ec53801643f53af2a69fb4e0c","tarball":"https://registry.npmjs.org/@artificialnotimbecile/dsh-context-taxonomy/-/dsh-context-taxonomy-0.1.0.tgz","fileCount":42,"unpackedSize":1001672,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDI7jCv6U/eF6ZK7dnqXLOqMFmWisR9lysWXqOoUOOYOAiEApypWiQDo6Q6/2c+lXpAZSgHhTY9GXJbPEpVBIjqFNUw="}]},"_npmUser":{"name":"happygoluckin","email":"luoyongxiang6370@gmail.com"},"directories":{},"maintainers":[{"name":"happygoluckin","email":"luoyongxiang6370@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-context-taxonomy_0.1.0_1786678407533_0.7775647029744861"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-14T03:33:27.426Z","0.1.0":"2026-08-14T03:33:27.708Z","modified":"2026-08-14T03:33:27.868Z"},"maintainers":[{"name":"happygoluckin","email":"luoyongxiang6370@gmail.com"}],"description":"Logical-call context taxonomy for the DeepSeek Harness Web profile","homepage":"https://github.com/ArtificialNotImbecile/dsh-context-taxonomy#readme","keywords":["deepseek","deepseek-harness","dsh-plugin","context","taxonomy"],"repository":{"type":"git","url":"git+https://github.com/ArtificialNotImbecile/dsh-context-taxonomy.git","directory":"packages/dsh-context-taxonomy"},"bugs":{"url":"https://github.com/ArtificialNotImbecile/dsh-context-taxonomy/issues"},"license":"MIT","readme":"# @artificialnotimbecile/dsh-context-taxonomy\n\n**See how DeepSeek Harness assembles each ordinary agent call:** the complete system prompt, conversation history, current prompt, tool definitions, model options, token composition, cache usage, and logical reasoning evidence.\n\nThis read-only Web-profile plugin is designed for learning Harness architecture and debugging agent behavior. It captures the provider-neutral `GenerateOptions` values that reach this plugin's public `llm/stream` listener and presents them as an explorable Context Taxonomy beside the conversation. Use it to study prompt construction, compare presets, audit which tools the model could call, diagnose context growth, and understand retries without reading a Session log by hand.\n\n![A real DeepSeek Harness session opening Context Taxonomy and inspecting the assembled context](https://raw.githubusercontent.com/ArtificialNotImbecile/dsh-context-taxonomy/codex-initial-plugin-assets/context-taxonomy-demo.gif)\n\n_Recorded from a real DeepSeek-V4-Flash run on the official Harness `0.1.0-rc.6` Web profile—not a mock or fixture._\n\nIt does not capture a provider HTTP body, headers, endpoint, transport attempt, or delivery status. Calls that fail before LLM dispatch or are intercepted by an earlier waterfall listener are not visible.\n\n## Install\n\nThe package targets DeepSeek Harness `0.1.0-rc.6` exactly.\n\n```sh\nnpx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add @artificialnotimbecile/dsh-context-taxonomy@0.1.0\n```\n\nFor local development, pack the repository and install the resulting tarball:\n\n```sh\npnpm install --ignore-scripts\npnpm run build\npnpm run test\npnpm --filter @artificialnotimbecile/dsh-context-taxonomy pack --pack-destination \"$PWD\"\nnpx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add ./artificialnotimbecile-dsh-context-taxonomy-0.1.0.tgz\n```\n\nA pinned Git source install can target the workspace subdirectory:\n\n```sh\nnpx @deepseek-ai/dsh@0.1.0-rc.6 plugin --profile web add \\\n  'github:ArtificialNotImbecile/dsh-context-taxonomy#v0.1.0&path:packages/dsh-context-taxonomy'\n```\n\nThis runs the package's `prepare` build. The first attempt stops safely and prints the exact codeload URL + commit + workspace-path key pnpm 11 requires under `allowBuilds` in the Web profile's `pnpm-workspace.yaml`; review the pinned source, add that exact key, then repeat the command. A package-name-only entry is insufficient for Git dependencies. The precompiled npm package is the normal installation path.\n\nThe bundle is Web-only because it uses the Web profile's storage-domain, API Gateway, client-module, and conversation-view services.\n\nOpen a Session and select the **Context Taxonomy** conversation tab. New ordinary agent-loop calls are followed automatically; selecting an older call pins the view until **Jump to latest** is used.\n\n## Configuration\n\nThe bundle patch supplies these explicit defaults:\n\n| Field | Default | Meaning |\n| --- | --- | --- |\n| `root` | `$DSH_HOME/context-taxonomy` | Absolute private sidecar directory. |\n| `captureContent` | `sanitized` | Store sanitized logical JSON; `structure-only` stores summaries only. |\n| `retentionDays` | `30` | Maximum settled-capture age. |\n| `maxCapturesPerSession` | `200` | Maximum settled rows per Session lifecycle. |\n| `maxStoredBytes` | `536870912` | Global compressed-blob budget. |\n| `maxCaptureBytes` | `16777216` | Maximum sanitized bytes for one blob. Larger calls keep a summary with `omitted-size-limit`. |\n| `maxPendingCaptures` | `64` | Background capture admission cap. Full queues omit new captures without changing the model stream. |\n| `extraRedactKeyPatterns` | `[]` | Additional case-insensitive Unicode regular expressions for object keys. |\n\nThe logical-request and RPC schemas use `formatVersion: 1`, `taxonomyVersion: 1`, and `source: \"dsh-logical-call\"`. Captures are fenced by Session id, creation time, and working directory so a reused id cannot read an older lifecycle's sidecar.\n\n## Privacy and retention\n\nInstallation is the opt-in. The default bundle stores sanitized logical JSON locally for 30 days, up to 200 captures per Session lifecycle, 512 MiB globally, and 16 MiB per capture. The private data directory uses mode `0700`; gzip blobs use `0600`. Built-in secret-key, bearer token, credential query, data URL, and large-base64 redaction cannot be disabled. The plugin does not provide at-rest encryption or a delete Remote in v1.\n\nThe UI labels provider-reported usage as actual and category composition as estimated. A cache usage field only records what the downstream usage chunk disclosed; it does not identify which section hit a provider cache. The DeepSeek reasoning check evaluates logical messages only and is not evidence about serialized provider content.\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-d217872fa35ed7b5cc5acc1e0325c38e"}