dsh-tender-workbench 0.2.1-beta.3 → 0.2.2-beta.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/README.md +88 -107
- package/lib/client.js +3482 -1296
- package/lib/client.js.map +1 -1
- package/lib/index.js +4579 -4063
- package/lib/types/client/TenderEntry.d.ts +12 -8
- package/lib/types/client/TenderEntry.d.ts.map +1 -1
- package/lib/types/client/artifact-api.d.ts +2 -0
- package/lib/types/client/artifact-api.d.ts.map +1 -1
- package/lib/types/client/index.d.ts +1 -1
- package/lib/types/client/index.d.ts.map +1 -1
- package/lib/types/client/intents/screening-intent.d.ts +37 -13
- package/lib/types/client/intents/screening-intent.d.ts.map +1 -1
- package/lib/types/client/locales.d.ts +580 -24
- package/lib/types/client/locales.d.ts.map +1 -1
- package/lib/types/client/workbench/TenderAnalysisReviewViews.d.ts +12 -3
- package/lib/types/client/workbench/TenderAnalysisReviewViews.d.ts.map +1 -1
- package/lib/types/client/workbench/TenderReportView.d.ts +5 -1
- package/lib/types/client/workbench/TenderReportView.d.ts.map +1 -1
- package/lib/types/client/workbench/TenderScreeningViews.d.ts.map +1 -1
- package/lib/types/client/workbench/TenderWorkbench.d.ts +3 -2
- package/lib/types/client/workbench/TenderWorkbench.d.ts.map +1 -1
- package/lib/types/client/workbench/session-write-flight.d.ts.map +1 -1
- package/lib/types/contracts/analysis-review.d.ts +203 -107
- package/lib/types/contracts/analysis-review.d.ts.map +1 -1
- package/lib/types/contracts/reporting.d.ts +284 -10
- package/lib/types/contracts/reporting.d.ts.map +1 -1
- package/lib/types/contracts/screening-intents.d.ts +52 -14
- package/lib/types/contracts/screening-intents.d.ts.map +1 -1
- package/lib/types/contracts/screening.d.ts +18 -0
- package/lib/types/contracts/screening.d.ts.map +1 -1
- package/lib/types/contracts/workflow.d.ts +8 -2
- package/lib/types/contracts/workflow.d.ts.map +1 -1
- package/lib/types/host/artifacts/artifact-route.d.ts.map +1 -1
- package/lib/types/host/pipeline/analysis-review.d.ts +5 -4
- package/lib/types/host/pipeline/analysis-review.d.ts.map +1 -1
- package/lib/types/host/projection.d.ts.map +1 -1
- package/lib/types/host/reporting/excel.d.ts.map +1 -1
- package/lib/types/host/reporting/pdf.d.ts.map +1 -1
- package/lib/types/host/reporting/report-dataset.d.ts +3 -1
- package/lib/types/host/reporting/report-dataset.d.ts.map +1 -1
- package/lib/types/host/skill.d.ts.map +1 -1
- package/lib/types/host/tools/analysis-review-tools.d.ts +22 -17
- package/lib/types/host/tools/analysis-review-tools.d.ts.map +1 -1
- package/lib/types/host/tools/query-tool.d.ts +4 -1
- package/lib/types/host/tools/query-tool.d.ts.map +1 -1
- package/lib/types/host/tools/report-tools.d.ts +4 -1
- package/lib/types/host/tools/report-tools.d.ts.map +1 -1
- package/lib/types/host/tools/rule-tools.d.ts +4 -1
- package/lib/types/host/tools/rule-tools.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,146 +1,127 @@
|
|
|
1
|
-
# dsh-tender-workbench
|
|
2
|
-
|
|
3
|
-
`dsh-tender-workbench` is an open-source DeepSeek Harness tender Agent workbench. The current S1-S5.3 MVP provides one Session-scoped Better Sidebar workbench, three official entry points, a four-phase progressive shell over seven internal Projection nodes, and a real query → optional analysis → human review → immutable Excel/PDF delivery chain.
|
|
1
|
+
# dsh-tender-workbench
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
The single query workspace now captures the complete approved condition set: source scope, up to ten keywords, publication presets/prior year/custom dates, up to twenty province/city/district regions, the analysis goal, tender information type and conditional stages/amounts, procurement method/industry/type, and proposed-project stage/approval/investment. The visible execution plan, user message, Host validation, and exact qcc calls all come from the same `TenderQueryIntentV1`; hidden or inactive branches cannot leak stale values, and `smartSort` is not exposed as a user filter.
|
|
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.
|
|
8
4
|
|
|
9
|
-
|
|
5
|
+
## What it does
|
|
10
6
|
|
|
11
|
-
The
|
|
12
|
-
|
|
13
|
-
The plugin does not modify DeepSeek Harness source, inspect or write the native composer DOM, fetch MCP from the Client, access connector storage, or hold credentials. Explicit workbench submission validates one `TenderQueryIntentV1`, serializes the same object into a user-visible message, and sends it through the public scoped `conversation.send()` service without touching the composer draft.
|
|
7
|
+
The workbench follows four business phases:
|
|
14
8
|
|
|
15
|
-
|
|
9
|
+
1. **Find opportunities**: search tender notices and proposed projects with source, keyword, date, region, stage, procurement, industry, type, amount, approval, and investment conditions supported by the connected data source.
|
|
10
|
+
2. **Screen candidates**: edit Agent-proposed criteria, run deterministic impact previews, confirm a rule set, and inspect five mutually exclusive outcomes: included, observed, manual review, rule excluded, and unmatched.
|
|
11
|
+
3. **Human confirmation**: review pending and completed records separately, prioritize Agent recommendations, make individual or batch decisions, retain notes, and undo the latest review operation.
|
|
12
|
+
4. **Deliver**: confirm the reviewed scope and generate Excel and PDF files from one immutable report snapshot. Partial delivery remains explicit when records are still pending.
|
|
16
13
|
|
|
17
|
-
|
|
14
|
+
Agent analysis covers every record classified as included, observed, or requiring manual review. Rule-excluded and unmatched records are not analyzed. Analysis runs in deterministic batches until the eligible set is complete, and interrupted work resumes from the remaining records.
|
|
18
15
|
|
|
19
|
-
The
|
|
16
|
+
The human-review queue keeps Agent recommendations separate from user decisions. Its default ordering is priority review, watch, not recommended, then unanalyzed. Classification lists are ordered included, observed, manual review, rule excluded, then unmatched before pagination.
|
|
20
17
|
|
|
21
|
-
|
|
18
|
+
## Architecture
|
|
22
19
|
|
|
23
|
-
|
|
20
|
+
The package is a Host + Client DeepSeek Harness plugin:
|
|
24
21
|
|
|
25
|
-
|
|
22
|
+
- The Client registers one Session-targeted Better Sidebar tab and public launcher actions. It builds typed, user-visible intents and consumes bounded Session projections and Artifact APIs.
|
|
23
|
+
- The Host validates intents, calls the exact authorized MCP tools, owns workflow state transitions, stores Session-private Artifacts, and renders reports.
|
|
24
|
+
- Persistent business state is reconstructed from typed conversation events and immutable Artifact references. The UI does not infer state from model text or maintain a second cross-Session state machine.
|
|
25
|
+
- Query, criteria, analysis, review, and report writes share a Session-scoped single-flight guard. Read-only browsing remains available while a write is running.
|
|
26
|
+
- Registrations, subscriptions, portals, routes, and other side effects are tied to the plugin Context lifecycle and are disposed on unload or hot reload.
|
|
26
27
|
|
|
27
|
-
The
|
|
28
|
+
The plugin uses public DeepSeek Harness services and the public `dsh-better-sidebar` contract. It does not modify Harness source, access Provider internals, fetch MCP from the browser, read connector storage, hold API credentials, or write internal data to the Workspace.
|
|
28
29
|
|
|
29
|
-
|
|
30
|
+
## Data and report boundaries
|
|
30
31
|
|
|
31
|
-
|
|
32
|
+
Each Session has one active normalized dataset. A successful new query atomically replaces that active snapshot instead of merging results; historical Artifacts remain available for traceability while downstream state from the old snapshot becomes inactive.
|
|
32
33
|
|
|
33
|
-
|
|
34
|
+
Schema-valid MCP fields are retained as source facts. Missing values, disclosed-but-unparseable values, source failures, rule exclusions, and user exclusions remain distinct states and are not inferred from one another.
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
## Documentation
|
|
36
|
+
Excel is organized for analysis and verification, with separate overview, distribution, source-specific result, review, traceability, and data-quality sheets. PDF is organized for business readers, leading with deterministic conclusions, result distributions, deadline windows, and a bounded set of records requiring near-term verification. Both formats use the same immutable report snapshot; a failed format can be retried without re-querying or changing successful files.
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
## Compatibility
|
|
42
|
-
|
|
43
|
-
The published plugin does not pin DeepSeek Harness, MCP Connector, or Better Sidebar to exact deployment versions. Its peer metadata declares minimums with no stable-version upper bound: DSH public packages from `0.1.1-rc.2`, MCP Connector from `0.2.31`, and Better Sidebar from `0.17.1`. The active Profile still supplies one coherent runtime. Runtime compatibility remains capability-based: Better Sidebar must expose the public `targetedOpen` and `stateSubscription` features, while the Host must provide the public Session Projection, JSONL Session Persistence, Tools, Skill, Sessions, and WebServer services used by the workflow. Development and release verification currently use DSH `0.1.1-rc.2` with Better Sidebar `0.17.1` as a reproducible reference combination, not as an exact installation restriction.
|
|
38
|
+
## Requirements and compatibility
|
|
44
39
|
|
|
45
|
-
|
|
40
|
+
The published package declares minimum compatible versions without a stable-version upper bound:
|
|
41
|
+
|
|
42
|
+
- DeepSeek Harness public packages: `0.1.1-rc.2`
|
|
43
|
+
- `dsh-mcp-connector`: `0.2.31`
|
|
44
|
+
- `dsh-better-sidebar`: `0.17.1`
|
|
45
|
+
|
|
46
|
+
The active Profile must provide one coherent runtime with public Session Projection, JSONL Session Persistence, Tools, Skill, Sessions, and WebServer services. Better Sidebar must expose the public `targetedOpen` and `stateSubscription` features.
|
|
47
|
+
|
|
48
|
+
An installed and authorized `qcc-tender` MCP connection must expose these exact tools:
|
|
49
|
+
|
|
50
|
+
- `mcp__qcc-tender__search_tenders`
|
|
51
|
+
- `mcp__qcc-tender__search_proposed_projects`
|
|
52
|
+
|
|
53
|
+
Missing required services, incompatible Better Sidebar capabilities, unavailable MCP tools, and non-JSONL Session persistence fail explicitly. There is no Web-search, alternate-persistence, or Workspace-storage fallback.
|
|
54
|
+
|
|
55
|
+
## Install
|
|
56
|
+
|
|
57
|
+
The current release is an internal preview published under the `beta` dist-tag:
|
|
46
58
|
|
|
47
|
-
`peerDependencies` let package managers diagnose versions below those minimums, but the current `dsh plugin` command delegates to pnpm, whose Profile defaults report peer conflicts as warnings instead of guaranteed installation failures. DSH currently has no Bundle-manifest prerequisite field. Consequently this package cannot promise a hard pre-install rejection on every DSH version; missing Host services still keep the Host plugin from activating, and missing Better Sidebar features fail Client activation before a business command is sent.
|
|
48
|
-
|
|
49
|
-
## Build and test
|
|
50
|
-
|
|
51
|
-
From this directory:
|
|
52
|
-
|
|
53
|
-
```sh
|
|
54
|
-
pnpm install --ignore-workspace
|
|
55
|
-
pnpm run typecheck
|
|
56
|
-
pnpm run test
|
|
57
|
-
pnpm run build
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
The build emits the Host loader entry at `lib/index.js`, the DSH Client factory bundle at `lib/client.js`, and declarations under `lib/types/`.
|
|
61
|
-
|
|
62
|
-
## Install into the Web profile
|
|
63
|
-
|
|
64
|
-
### Install the internal preview from npm
|
|
65
|
-
|
|
66
|
-
The current release is an internal preview published under the `beta` dist-tag. Install it explicitly through `@beta` so the preview channel remains clear even when npm also resolves the first published version through `latest`:
|
|
67
|
-
|
|
68
59
|
```sh
|
|
69
60
|
dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
|
|
70
61
|
dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
|
|
71
62
|
dsh plugin --profile web add dsh-tender-workbench@beta
|
|
72
63
|
dsh web --no-open
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
To install an exact version:
|
|
76
|
-
|
|
77
|
-
```sh
|
|
78
|
-
dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
|
|
79
|
-
dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
|
|
80
|
-
dsh plugin --profile web add dsh-tender-workbench@0.2.1-beta.3
|
|
81
64
|
```
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
65
|
+
|
|
66
|
+
To install the current exact preview version:
|
|
67
|
+
|
|
85
68
|
```sh
|
|
86
69
|
dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
|
|
87
70
|
dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
|
|
88
|
-
dsh plugin --profile web add dsh-tender-workbench
|
|
71
|
+
dsh plugin --profile web add dsh-tender-workbench@0.2.2-beta.0
|
|
89
72
|
```
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
Install and mount MCP Connector and Better Sidebar first. Then build this repository and run the following command from the plugin root when the public `dsh` CLI is available:
|
|
73
|
+
|
|
74
|
+
To install from an independent checkout, install the required Provider plugins first, then run from this repository:
|
|
94
75
|
|
|
95
76
|
```sh
|
|
77
|
+
corepack pnpm@11.7.0 install --ignore-workspace
|
|
78
|
+
corepack pnpm@11.7.0 run build
|
|
96
79
|
dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
|
|
97
80
|
dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
|
|
98
81
|
dsh plugin --profile web add .
|
|
99
82
|
dsh web --no-open
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
If `dsh` is only available through a separate DeepSeek Harness source checkout, pass this plugin's absolute path instead of assuming that it is nested inside the Harness repository:
|
|
103
|
-
|
|
104
|
-
```sh
|
|
105
|
-
cd /path/to/deepseek-harness
|
|
106
|
-
pnpm dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
|
|
107
|
-
pnpm dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
|
|
108
|
-
pnpm dsh plugin --profile web add /absolute/path/to/dsh-tender-workbench
|
|
109
|
-
pnpm dsh web --no-open
|
|
110
83
|
```
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
84
|
+
|
|
85
|
+
To install a packed build:
|
|
86
|
+
|
|
114
87
|
```sh
|
|
115
88
|
dsh plugin --profile web add 'dsh-mcp-connector@>=0.2.31'
|
|
116
89
|
dsh plugin --profile web add 'dsh-better-sidebar@>=0.17.1'
|
|
117
|
-
dsh plugin --profile web add ./dsh-tender-workbench-0.2.
|
|
90
|
+
dsh plugin --profile web add ./dsh-tender-workbench-0.2.2-beta.0.tgz
|
|
118
91
|
dsh web --no-open
|
|
119
92
|
```
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
To remove it:
|
|
124
|
-
|
|
125
|
-
```sh
|
|
126
|
-
dsh plugin --profile web remove dsh-tender-workbench
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
##
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
93
|
+
|
|
94
|
+
The package's `dsh.bundle.patch` declaration activates `cordis.patch.yml`, which contributes the `dsh-tender-workbench` Loader row. Restart the Web profile after adding or removing the plugin.
|
|
95
|
+
|
|
96
|
+
To remove it:
|
|
97
|
+
|
|
98
|
+
```sh
|
|
99
|
+
dsh plugin --profile web remove dsh-tender-workbench
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Using the workbench
|
|
103
|
+
|
|
104
|
+
The plugin exposes a top-left “招投标” launcher, four phase shortcuts below the conversation composer, and a Session Header recovery action. Every entry focuses the same Better Sidebar tab for the addressed Session. When no Session is selected, the sidebar action starts the native New Session flow.
|
|
105
|
+
|
|
106
|
+
Navigation only changes the visible workbench phase. It does not mutate business state or run a later action. Criteria are proposed, edited, previewed, and confirmed as distinct steps. Agent recommendations never become user decisions automatically. Report generation always shows the reviewed and pending scope before creating a delivery snapshot.
|
|
107
|
+
|
|
108
|
+
The layout is container-responsive: wide workspaces use master/detail grids, while medium and narrow workspaces preserve the same information order with local table scrolling and reachable fixed actions.
|
|
109
|
+
|
|
110
|
+
## Development
|
|
111
|
+
|
|
112
|
+
Use the Node.js and pnpm versions declared by the repository:
|
|
113
|
+
|
|
114
|
+
```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
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
The build emits the Host loader at `lib/index.js`, the Client bundle at `lib/client.js`, and declarations under `lib/types/`.
|
|
122
|
+
|
|
123
|
+
The province, city, and district source snapshot is maintained in [resources/area.ts](resources/area.ts).
|
|
124
|
+
|
|
125
|
+
## Current scope
|
|
126
|
+
|
|
127
|
+
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.
|