@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 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
@@ -0,0 +1,4 @@
1
+ - insert:
2
+ - id: openviking-status-ui
3
+ name: "@dipertq/dsh-openviking-status"
4
+ config: {}