dsh-tender-workbench 0.3.0-beta.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,29 @@
1
+ # Changelog
2
+
3
+ All notable changes to `dsh-tender-workbench` are documented in this file.
4
+
5
+ ## [Unreleased]
6
+
7
+ ## [0.4.0] - 2026-09-05
8
+
9
+ ### Added
10
+
11
+ - Stable Host + Client workbench flow for query, deterministic screening, bounded Agent analysis, explicit human review, and immutable Excel/PDF delivery.
12
+ - Session-scoped V2 Intent, Projection, Tool, Artifact, and runtime Skill contracts with strict validation and idempotent mutation receipts.
13
+ - Release gates for documentation/version consistency, stable-release metadata, full type/test/build verification, and an npm tarball file whitelist.
14
+ - Linux Node 22/24 and Windows Node 24 CI, plus tag-driven npm Trusted Publishing with provenance and GitHub Release creation.
15
+
16
+ ### Changed
17
+
18
+ - Promoted the 0.3.0 beta line to the stable 0.4.0 distribution without changing its workflow or Artifact schema.
19
+ - Updated package repository, homepage, and issue metadata to `duhu2000/dsh-tender-workbench`.
20
+ - Stable installations now use the npm `latest` dist-tag; the previous `0.3.0-beta.1` remains available as an immutable rollback target.
21
+
22
+ ### Security
23
+
24
+ - The npm package whitelist excludes source files, tests, scripts, fixtures, local evidence, caches, environment files, and credentials.
25
+ - Release automation uses GitHub OIDC Trusted Publishing and does not require a long-lived npm token in the repository.
26
+ - Runtime credentials remain owned by the authorized MCP connector; Session-private source data and generated Artifacts are not published.
27
+
28
+ [Unreleased]: https://github.com/duhu2000/dsh-tender-workbench/compare/v0.4.0...HEAD
29
+ [0.4.0]: https://github.com/duhu2000/dsh-tender-workbench/releases/tag/v0.4.0
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Sunhh3221
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sunhh3221
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  `dsh-tender-workbench` is an open-source DeepSeek Harness plugin for finding, screening, reviewing, and delivering tender opportunities. It combines authorized `qcc-tender` data, deterministic screening rules, bounded Agent analysis, explicit human decisions, and immutable Excel/PDF reports in one Session-scoped Better Sidebar workbench.
4
4
 
5
+ Current stable version: **0.4.0** (stable release).
6
+
5
7
  ## What it does
6
8
 
7
9
  The workbench follows four business phases:
@@ -54,27 +56,27 @@ Missing required services, incompatible Better Sidebar capabilities, unavailable
54
56
 
55
57
  ## Install
56
58
 
57
- The current release is an internal preview published under the `beta` dist-tag:
59
+ Install the current stable release and its required Provider plugins:
58
60
 
59
61
  ```sh
60
62
  dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
61
63
  dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
62
- dsh plugin --profile web add dsh-tender-workbench@beta
64
+ dsh plugin --profile web add dsh-tender-workbench
63
65
  dsh web --no-open
64
66
  ```
65
67
 
66
- To install the current exact preview version:
68
+ To install the exact 0.4.0 release:
67
69
 
68
70
  ```sh
69
71
  dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
70
72
  dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
71
- dsh plugin --profile web add dsh-tender-workbench@0.2.2-beta.1
73
+ dsh plugin --profile web add dsh-tender-workbench@0.4.0
72
74
  ```
73
75
 
74
76
  To install from an independent checkout, install the required Provider plugins first, then run from this repository:
75
77
 
76
78
  ```sh
77
- corepack pnpm@11.7.0 install --ignore-workspace
79
+ corepack pnpm@11.7.0 install --frozen-lockfile
78
80
  corepack pnpm@11.7.0 run build
79
81
  dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
80
82
  dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
@@ -87,7 +89,7 @@ To install a packed build:
87
89
  ```sh
88
90
  dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
89
91
  dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
90
- dsh plugin --profile web add ./dsh-tender-workbench-0.2.2-beta.1.tgz
92
+ dsh plugin --profile web add ./dsh-tender-workbench-0.4.0.tgz
91
93
  dsh web --no-open
92
94
  ```
93
95
 
@@ -99,6 +101,17 @@ To remove it:
99
101
  dsh plugin --profile web remove dsh-tender-workbench
100
102
  ```
101
103
 
104
+ ## Upgrade and rollback
105
+
106
+ Upgrade an existing beta installation by installing the stable version and fully restarting the Web profile:
107
+
108
+ ```sh
109
+ dsh plugin --profile web add dsh-tender-workbench@0.4.0
110
+ dsh web --no-open
111
+ ```
112
+
113
+ Version 0.4.0 keeps the workflow and Artifact schema used by 0.3.0-beta.1; it changes the release state and distribution metadata rather than migrating Session data. If a deployment-specific regression requires rollback, reinstall `dsh-tender-workbench@0.3.0-beta.1` and restart the profile. Published npm versions and Git tags are immutable; fixes after publication use a new patch version rather than overwriting 0.4.0.
114
+
102
115
  ## Using the workbench
103
116
 
104
117
  The plugin exposes a top-left “招投标” launcher and a Session Header recovery action. Every top-left activation creates a distinct native Session in the current Session's workspace, the recent workspace, or the first available workspace, gives that blank Session the “招投标” hero label and goal icon, and opens its Better Sidebar workbench. Other Sessions keep their existing host/provider hero label and the fish mark. The composer-bottom shortcuts are intentionally absent; the Header action only reopens the workbench for its existing Session.
@@ -112,16 +125,18 @@ The layout is container-responsive: wide workspaces use master/detail grids, whi
112
125
  Use the Node.js and pnpm versions declared by the repository:
113
126
 
114
127
  ```sh
115
- corepack pnpm@11.7.0 install --ignore-workspace
116
- corepack pnpm@11.7.0 run typecheck
117
- corepack pnpm@11.7.0 run test
118
- corepack pnpm@11.7.0 run build
128
+ corepack pnpm@11.7.0 install --frozen-lockfile
129
+ corepack pnpm@11.7.0 run check
119
130
  ```
120
131
 
121
132
  The build emits the Host loader at `lib/index.js`, the Client bundle at `lib/client.js`, and declarations under `lib/types/`.
122
133
 
134
+ `check` runs type checking, the full Vitest suite, the production build, README/release-state validation, and an npm tarball whitelist preview. Release tags are published by [the release workflow](.github/workflows/release.yml) through npm Trusted Publishing with provenance; the repository must never contain npm tokens, GitHub tokens, QCC credentials, source datasets, or Session-private Artifacts.
135
+
123
136
  The province, city, and district source snapshot is maintained in [resources/area.ts](resources/area.ts).
124
137
 
138
+ See [CHANGELOG.md](CHANGELOG.md) and [the 0.4.0 release checklist](docs/RELEASE-0.4.0.md) for the stable-release scope and operational checks.
139
+
125
140
  ## Current scope
126
141
 
127
142
  The plugin does not provide online PDF preview, delivery-version comparison, regeneration of already successful files, subscriptions, CRM follow-up, enterprise profiles, source-accuracy verification, or Bid/No-Bid decisions. Query, classification, analysis, and review are all valid stopping points; later actions only run after explicit user input.
package/cordis.patch.yml CHANGED
@@ -1,3 +1,3 @@
1
- - insert:
2
- - id: tender-workbench
3
- name: dsh-tender-workbench
1
+ - insert:
2
+ - id: tender-workbench
3
+ name: dsh-tender-workbench
@@ -0,0 +1,75 @@
1
+ # dsh-tender-workbench 0.4.0 release checklist
2
+
3
+ - Version: **0.4.0**
4
+ - Release date: 2026-09-05
5
+ - Status: **release candidate**
6
+ - Release commit: pending
7
+ - Git tag: pending
8
+ - npm publication: pending
9
+ - GitHub Release: pending
10
+
11
+ ## Scope
12
+
13
+ Version 0.4.0 promotes the complete 0.3.0 beta workflow to the stable npm channel. It includes the Session-scoped query, deterministic rule screening, bounded Agent analysis, explicit human review, and immutable Excel/PDF delivery already represented by the V2 contracts. This release adds repeatable documentation, packaging, CI, and OIDC publication gates; it does not migrate the workflow or Artifact schema used by 0.3.0-beta.1.
14
+
15
+ ## Compatibility and installation
16
+
17
+ - Node.js: `^22.19.0 || >=24.0.0`
18
+ - Package manager: `pnpm@11.7.0`
19
+ - DeepSeek Harness public packages: `>=0.1.1-rc.2 || >=0.1.2-0`
20
+ - `dsh-mcp-connector`: `>=0.2.31`
21
+ - `dsh-better-sidebar`: `>=0.17.1 || >=0.18.0-0`
22
+ - Required MCP tools: `mcp__qcc-tender__search_tenders` and `mcp__qcc-tender__search_proposed_projects`
23
+
24
+ Install `dsh-tender-workbench@0.4.0` together with compatible Provider plugins, then fully restart the Web profile. Missing required services, incompatible Better Sidebar capabilities, unavailable MCP tools, or non-JSONL Session persistence fail explicitly.
25
+
26
+ ## Release gates
27
+
28
+ - [x] Frozen pnpm install completes with the repository lockfile.
29
+ - [x] TypeScript type checking passes.
30
+ - [x] Full Vitest suite passes.
31
+ - [x] Host loader, Client bundle, source maps, and declarations build successfully.
32
+ - [x] README and release-state checks pass for 0.4.0.
33
+ - [x] `npm pack --dry-run --json` contains only whitelisted public files.
34
+ - [x] A clean temporary installation imports the packed Host entry and package metadata and registers the Client bundle.
35
+ - [ ] `main` CI passes on Linux Node 22/24 and Windows Node 24.
36
+ - [ ] Tag `v0.4.0` resolves to the reviewed release commit.
37
+ - [ ] npm Trusted Publishing creates `dsh-tender-workbench@0.4.0` with provenance and the `latest` dist-tag.
38
+ - [ ] GitHub Release `v0.4.0` is neither draft nor prerelease.
39
+
40
+ Unchecked items are pending and must not be reported as completed.
41
+
42
+ ## Local validation record
43
+
44
+ Validated on 2026-09-05 with pnpm 11.7.0:
45
+
46
+ - `pnpm install --frozen-lockfile`: passed with the checked-in lockfile and `allowBuilds` policy.
47
+ - `pnpm run check`: passed, including 207 passing tests and 1 intentional skip across 40 test files.
48
+ - Package whitelist: passed with 169 public files and no source, test, script, cache, credential, or private Artifact paths.
49
+ - Clean-install smoke test: passed after supplying the same DSH Host peer baseline used by development; the Host entry exported `apply` and `inject`, package metadata reported 0.4.0, and the Client bundle registered with the module loader.
50
+
51
+ The ordinary npm peer auto-installer currently reports an upstream DSH peer-version conflict between the connector and UI layout packages. The production DSH plugin manager supplies the Host peer set, so the isolated smoke test installs the tarball with peer auto-installation disabled and then injects the compatible 0.1.1-rc.2 Host baseline explicitly. The build also reports an upstream missing source-map warning from `@deepseek-ai/dsh-client-ui-primitives`; generated package source maps are present and the gate passes.
52
+
53
+ ## Publication procedure
54
+
55
+ 1. Run `pnpm install --frozen-lockfile` using pnpm 11.7.0.
56
+ 2. Run `pnpm run check` and the clean tarball installation/import smoke test.
57
+ 3. Commit only the reviewed 0.4.0 release files and push `main`.
58
+ 4. Wait for all required CI jobs to pass.
59
+ 5. Create annotated tag `v0.4.0` on the pushed release commit and push the tag.
60
+ 6. The tag workflow verifies `v${package.version}`, reruns the complete gates, publishes with npm OIDC Trusted Publishing and provenance, then creates the GitHub Release.
61
+ 7. Verify npm version, dist-tags, repository, maintainers, tarball metadata/file list, clean installation/import, Git commit/tag, and GitHub Release state.
62
+
63
+ ## Security
64
+
65
+ - Never store or print npm tokens, GitHub tokens, QCC credentials, source datasets, real business evidence, or Session-private Artifacts.
66
+ - The npm package must exclude `src`, `tests`, `scripts`, `.github`, `resources`, caches, local evidence, and environment files.
67
+ - Runtime QCC access remains customer-authorized through the connector; this repository does not own or proxy credentials.
68
+ - pnpm's `allowBuilds` policy explicitly keeps the indirect `node-pty` native build script disabled because this package does not use its binary at runtime or in the release gates.
69
+
70
+ ## Rollback
71
+
72
+ - Before the tag is pushed: delete only the local tag if necessary, fix the release commit, and rerun all gates.
73
+ - After the tag is pushed but before npm publication: stop the failing workflow, fix forward with a new patch version and tag, and do not reuse a public tag.
74
+ - After npm publication: never overwrite or unpublish 0.4.0. Mark the affected version if necessary, publish a corrected patch version, and use an ordinary revert commit for source rollback.
75
+ - Deployment rollback target: reinstall `dsh-tender-workbench@0.3.0-beta.1` and fully restart the profile.