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 +29 -0
- package/LICENSE +21 -21
- package/README.md +25 -10
- package/cordis.patch.yml +3 -3
- package/docs/RELEASE-0.4.0.md +75 -0
- package/lib/client.js +283 -283
- package/lib/client.js.map +1 -1
- package/package.json +14 -7
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
|
-
|
|
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
|
|
64
|
+
dsh plugin --profile web add dsh-tender-workbench
|
|
63
65
|
dsh web --no-open
|
|
64
66
|
```
|
|
65
67
|
|
|
66
|
-
To install the
|
|
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.
|
|
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 --
|
|
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.
|
|
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 --
|
|
116
|
-
corepack pnpm@11.7.0 run
|
|
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.
|