@dipertq/dsh-openviking-status 0.1.5
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 +112 -0
- package/cordis.patch.yml +4 -0
- package/lib/client.cjs +1456 -0
- package/lib/client.cjs.map +1 -0
- package/lib/client.d.cts +277 -0
- package/lib/client.js +1431 -0
- package/lib/client.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -0
- package/package.json +75 -0
package/README.md
ADDED
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
# @dipertq/dsh-openviking-status
|
|
2
|
+
|
|
3
|
+
> Minimalist OpenViking status chip and popover for DeepSeek Harness (DSH Desktop / Web).
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
This DSH UI plugin injects a live status chip into the composer bottom bar (`conversation.input.right`). It provides at-a-glance transparency into OpenViking memory management:
|
|
8
|
+
|
|
9
|
+
- **Server Health**: Online / Offline indicator with live health checks.
|
|
10
|
+
- **Pending Tokens**: Real-time counter of session tokens accumulated before the auto-commit threshold (20,000 tokens).
|
|
11
|
+
- **Peer Scope**: Active project/repository context peer ID.
|
|
12
|
+
- **Commit Trigger**: Instant "Commit To Memory Now" action button.
|
|
13
|
+
|
|
14
|
+
## Architecture & Design
|
|
15
|
+
|
|
16
|
+
See [CONTEXT.md](./CONTEXT.md), [ADR 0001](./docs/adr/0001-client-ui-widget.md), and [ADR 0002](./docs/adr/0002-release-workflow.md).
|
|
17
|
+
|
|
18
|
+
## Installation in DeepSeek Harness
|
|
19
|
+
|
|
20
|
+
### From npm (recommended)
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
dsh plugin add @dipertq/dsh-openviking-status
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Then restart DSH Desktop. That is the whole procedure: DSH reads the package's
|
|
27
|
+
`dsh.bundle.patch`, adds it to `dsh.profile.bundles` itself, and the chip appears
|
|
28
|
+
in the composer bar.
|
|
29
|
+
|
|
30
|
+
### From a release tarball
|
|
31
|
+
|
|
32
|
+
Equivalent, and useful when the registry is unreachable. Use a
|
|
33
|
+
**version-pinned** URL:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
dsh plugin add https://github.com/dipertq/dsh-openviking-status/releases/download/v0.1.5/dipertq-dsh-openviking-status-0.1.5.tgz
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Not `/releases/latest/download/…`: that URL keeps its name while its content
|
|
40
|
+
changes, so pnpm records no `integrity` for it and every later `pnpm install` in
|
|
41
|
+
the profile fails with `ERR_PNPM_MISSING_TARBALL_INTEGRITY`.
|
|
42
|
+
|
|
43
|
+
### Why not `github:dipertq/...`?
|
|
44
|
+
|
|
45
|
+
That form works, but costs an extra manual step. A `github:` spec makes pnpm
|
|
46
|
+
build the package on your machine, and pnpm blocks build scripts until the
|
|
47
|
+
package is allowlisted. The pnpm shipped with DSH Desktop (11.8.0) only matches
|
|
48
|
+
a commit-pinned key, which changes on every push — so the entry has to be
|
|
49
|
+
re-added for each new version:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
# ~/.dsh/profiles/desktop/pnpm-workspace.yaml
|
|
53
|
+
allowBuilds:
|
|
54
|
+
"@dipertq/dsh-openviking-status@https://codeload.github.com/dipertq/dsh-openviking-status/tar.gz/<commit-sha>": true
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Both recommended forms ship `lib/` already compiled, so no build script runs and
|
|
58
|
+
no allowlist entry is needed. See [ADR 0004](./docs/adr/0004-install-paths.md).
|
|
59
|
+
|
|
60
|
+
### Troubleshooting: `ERR_PNPM_IGNORED_BUILDS`
|
|
61
|
+
|
|
62
|
+
If a previous `github:` attempt left entries in your profile's
|
|
63
|
+
`pnpm-workspace.yaml`, pnpm may have written them with a literal placeholder:
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
allowBuilds:
|
|
67
|
+
"@dipertq/dsh-openviking-status@https://...": set this to true or false
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
A placeholder means "not decided yet", so every install fails until it is a real
|
|
71
|
+
boolean. Delete those stale entries — neither recommended install path needs
|
|
72
|
+
any of them:
|
|
73
|
+
|
|
74
|
+
```yaml
|
|
75
|
+
allowBuilds:
|
|
76
|
+
node-pty: true
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Releases & CI/CD
|
|
80
|
+
|
|
81
|
+
- **CI**: Runs on every pull request and push to `main` (`tsc`, README install-URL
|
|
82
|
+
check, `pnpm test`, `pnpm run build`).
|
|
83
|
+
- **Release**: Pushing a `v*` tag builds the package, verifies it, and publishes a
|
|
84
|
+
GitHub Release with the versioned `.tgz`.
|
|
85
|
+
- **Trigger a release**:
|
|
86
|
+
```bash
|
|
87
|
+
pnpm run release:patch # 0.1.0 -> 0.1.1
|
|
88
|
+
pnpm run release:minor # 0.1.0 -> 0.2.0
|
|
89
|
+
pnpm run release:major # 0.1.0 -> 1.0.0
|
|
90
|
+
```
|
|
91
|
+
Bump the install URL in this README to the new version — CI fails if it drifts.
|
|
92
|
+
|
|
93
|
+
### npm publishing
|
|
94
|
+
|
|
95
|
+
Releases publish to npm through
|
|
96
|
+
[trusted publishing](https://docs.npmjs.com/trusted-publishers): GitHub Actions
|
|
97
|
+
authenticates over OIDC with short-lived credentials, so there is no `NPM_TOKEN`
|
|
98
|
+
secret to store or rotate, and each release carries a provenance attestation
|
|
99
|
+
proving which commit and workflow built it.
|
|
100
|
+
|
|
101
|
+
One-time setup, after the first version exists in the registry (trusted
|
|
102
|
+
publishing is configured per package):
|
|
103
|
+
|
|
104
|
+
1. Publish `0.1.5` once by hand: `npm publish --access public`.
|
|
105
|
+
2. On the package's **Settings → Trusted Publisher** page, add a GitHub Actions
|
|
106
|
+
publisher: user `dipertq`, repository `dsh-openviking-status`, workflow
|
|
107
|
+
`release.yml`, environment blank.
|
|
108
|
+
3. Cut releases as usual — the workflow publishes on its own.
|
|
109
|
+
|
|
110
|
+
## License
|
|
111
|
+
|
|
112
|
+
MIT
|
package/cordis.patch.yml
ADDED