@fyresmith/hive-server 2.4.0 → 3.1.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 +89 -54
- package/lib/socketHandler.js +78 -884
- package/lib/vaultManager.js +4 -220
- package/lib/yjsServer.js +1 -6
- package/package.json +2 -3
- package/lib/adapterRegistry.js +0 -152
- package/lib/collabProtocol.js +0 -25
- package/lib/collabStore.js +0 -448
- package/lib/discordWebhook.js +0 -81
- package/lib/mentionUtils.js +0 -13
package/README.md
CHANGED
|
@@ -1,54 +1,6 @@
|
|
|
1
1
|
# Hive Server
|
|
2
2
|
|
|
3
|
-
Hive server ships with a first-class `hive` operations CLI for install, setup, tunnel management, env management, and service lifecycle.
|
|
4
|
-
|
|
5
|
-
## Collaboration protocol v2 additions
|
|
6
|
-
|
|
7
|
-
Server now supports additive `collab:*` events while retaining backward compatibility for legacy `file-*` and `presence-*` events.
|
|
8
|
-
|
|
9
|
-
New capabilities include:
|
|
10
|
-
|
|
11
|
-
- Protocol negotiation (`collab:hello`).
|
|
12
|
-
- Presence heartbeat/jump/list events.
|
|
13
|
-
- Thread/comment/task persistence and realtime events.
|
|
14
|
-
- Activity stream list + subscription.
|
|
15
|
-
- Notification preferences and notify events.
|
|
16
|
-
- Adapter capability negotiation (`markdown`, `canvas`, `metadata`).
|
|
17
|
-
|
|
18
|
-
## Metadata adapter policy
|
|
19
|
-
|
|
20
|
-
Selective metadata sync uses a whitelist model only.
|
|
21
|
-
|
|
22
|
-
Default safe allowlist (override with `HIVE_METADATA_ALLOWLIST_JSON`):
|
|
23
|
-
|
|
24
|
-
- `.obsidian/appearance.json`
|
|
25
|
-
- `.obsidian/community-plugins.json`
|
|
26
|
-
- `.obsidian/core-plugins.json`
|
|
27
|
-
- `.obsidian/hotkeys.json`
|
|
28
|
-
|
|
29
|
-
## Discord notifications
|
|
30
|
-
|
|
31
|
-
Notification webhook env vars:
|
|
32
|
-
|
|
33
|
-
- `HIVE_DISCORD_WEBHOOK_URL` (default webhook)
|
|
34
|
-
- `HIVE_DISCORD_WEBHOOKS_JSON` (path-prefix mapping)
|
|
35
|
-
|
|
36
|
-
Example `HIVE_DISCORD_WEBHOOKS_JSON`:
|
|
37
|
-
|
|
38
|
-
```json
|
|
39
|
-
{
|
|
40
|
-
"TeamA": "https://discord.com/api/webhooks/...",
|
|
41
|
-
"Projects/Infra": "https://discord.com/api/webhooks/..."
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
## Presence stale cleanup
|
|
46
|
-
|
|
47
|
-
Presence stale eviction is controlled by:
|
|
48
|
-
|
|
49
|
-
- `HIVE_PRESENCE_STALE_MS` (default `45000`)
|
|
50
|
-
|
|
51
|
-
Only protocol v2 heartbeat participants are stale-evicted.
|
|
3
|
+
Hive server now ships with a first-class `hive` operations CLI for install, setup, tunnel management, env management, and service lifecycle.
|
|
52
4
|
|
|
53
5
|
## Install
|
|
54
6
|
|
|
@@ -68,12 +20,36 @@ To build/verify the current local checkout and install it globally:
|
|
|
68
20
|
npm run install-hive
|
|
69
21
|
```
|
|
70
22
|
|
|
71
|
-
##
|
|
23
|
+
## Release System (GitHub Actions + npm)
|
|
72
24
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
25
|
+
This repo now includes a release pipeline for `hive-server`:
|
|
26
|
+
|
|
27
|
+
- CI: `.github/workflows/hive-server-ci.yml`
|
|
28
|
+
- Release tag workflow: `.github/workflows/hive-server-release-tag.yml`
|
|
29
|
+
- npm publish workflow: `.github/workflows/hive-server-publish.yml`
|
|
30
|
+
|
|
31
|
+
### One-time repo setup
|
|
32
|
+
|
|
33
|
+
Configure npm Trusted Publisher for this repo/workflow:
|
|
34
|
+
|
|
35
|
+
- Package: `hive-server`
|
|
36
|
+
- Provider: GitHub Actions
|
|
37
|
+
- Repository: this repository
|
|
38
|
+
- Workflow file: `.github/workflows/hive-server-publish.yml`
|
|
39
|
+
- GitHub Actions publish job should run Node 24+ (already configured in workflow)
|
|
40
|
+
|
|
41
|
+
No `NPM_TOKEN` secret is required when Trusted Publishing is configured.
|
|
42
|
+
|
|
43
|
+
### How releases work
|
|
44
|
+
|
|
45
|
+
1. Run workflow `hive-server-release-tag` from the default branch.
|
|
46
|
+
2. Choose release type (`patch|minor|major|prerelease|custom`).
|
|
47
|
+
3. Workflow bumps `package.json`, commits, and pushes tag `hive-server-vX.Y.Z`.
|
|
48
|
+
4. Tag push triggers `hive-server-publish`, which:
|
|
49
|
+
- verifies the package
|
|
50
|
+
- checks tag version matches `package.json`
|
|
51
|
+
- publishes to npm with provenance
|
|
52
|
+
- creates a GitHub Release with generated notes
|
|
77
53
|
|
|
78
54
|
## Fast Path
|
|
79
55
|
|
|
@@ -115,3 +91,62 @@ hive env edit
|
|
|
115
91
|
hive env check
|
|
116
92
|
hive env print
|
|
117
93
|
```
|
|
94
|
+
|
|
95
|
+
## Tunnel Operations
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
hive tunnel setup
|
|
99
|
+
hive tunnel status
|
|
100
|
+
hive tunnel run
|
|
101
|
+
hive tunnel service-install
|
|
102
|
+
hive tunnel service-status
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Server Service Operations
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
hive service install
|
|
109
|
+
hive service start
|
|
110
|
+
hive service stop
|
|
111
|
+
hive service restart
|
|
112
|
+
hive service status
|
|
113
|
+
hive service logs
|
|
114
|
+
hive service uninstall
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Runtime and Diagnostics
|
|
118
|
+
|
|
119
|
+
Run directly in foreground:
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
hive run
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
Diagnostics:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
hive up
|
|
129
|
+
hive down
|
|
130
|
+
hive logs
|
|
131
|
+
hive doctor
|
|
132
|
+
hive status
|
|
133
|
+
hive update
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
`hive up` / `hive down` start or stop installed Hive and cloudflared services together.
|
|
137
|
+
`hive logs` streams service logs (`--component hive|tunnel|both`).
|
|
138
|
+
`hive update` installs the latest npm release for the current package and then restarts the Hive OS service and cloudflared service when they are installed.
|
|
139
|
+
|
|
140
|
+
## Migration Notes
|
|
141
|
+
|
|
142
|
+
On first `hive setup`, if legacy `server/.env` exists and no `~/.hive/config.json` exists, setup will offer to import legacy env values.
|
|
143
|
+
|
|
144
|
+
## Legacy Scripts (Deprecated)
|
|
145
|
+
|
|
146
|
+
Legacy operational files are still present for one release cycle:
|
|
147
|
+
|
|
148
|
+
- `/setup-tunnel.sh`
|
|
149
|
+
- `/infra/cloudflare-tunnel.yml`
|
|
150
|
+
- `/infra/collab-server.service`
|
|
151
|
+
|
|
152
|
+
Use `hive` commands instead of editing legacy templates manually.
|