@revealui/harnesses 0.0.0-canary-20260409021642
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/LICENSE +109 -0
- package/README.md +108 -0
- package/dist/chunk-4F4ANKIZ.js +541 -0
- package/dist/chunk-4F4ANKIZ.js.map +1 -0
- package/dist/chunk-6E2BKO6U.js +2040 -0
- package/dist/chunk-6E2BKO6U.js.map +1 -0
- package/dist/chunk-DGQ5OB6L.js +380 -0
- package/dist/chunk-DGQ5OB6L.js.map +1 -0
- package/dist/chunk-DGUM43GV.js +11 -0
- package/dist/chunk-DGUM43GV.js.map +1 -0
- package/dist/chunk-PROC6EJC.js +2537 -0
- package/dist/chunk-PROC6EJC.js.map +1 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +575 -0
- package/dist/cli.js.map +1 -0
- package/dist/content/index.d.ts +231 -0
- package/dist/content/index.js +40 -0
- package/dist/content/index.js.map +1 -0
- package/dist/index.d.ts +443 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/storage/index.d.ts +170 -0
- package/dist/storage/index.js +10 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/types/index.d.ts +151 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -0
- package/dist/workboard/index.d.ts +215 -0
- package/dist/workboard/index.js +28 -0
- package/dist/workboard/index.js.map +1 -0
- package/package.json +78 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Functional Source License, Version 1.1, MIT Future License
|
|
2
|
+
|
|
3
|
+
Abbreviation
|
|
4
|
+
|
|
5
|
+
FSL-1.1-MIT
|
|
6
|
+
|
|
7
|
+
Notice
|
|
8
|
+
|
|
9
|
+
Copyright 2025-2026 RevealUI Studio (founder@revealui.com)
|
|
10
|
+
|
|
11
|
+
Terms and Conditions
|
|
12
|
+
|
|
13
|
+
Licensor: RevealUI Studio
|
|
14
|
+
|
|
15
|
+
Licensed Work: @revealui/harnesses
|
|
16
|
+
The Licensed Work is copyright 2025-2026 RevealUI Studio.
|
|
17
|
+
|
|
18
|
+
Change Date: 2028-04-08
|
|
19
|
+
|
|
20
|
+
Change License: MIT
|
|
21
|
+
|
|
22
|
+
For information about alternative licensing arrangements for the Licensed Work,
|
|
23
|
+
please contact: founder@revealui.com
|
|
24
|
+
|
|
25
|
+
License text below is the Functional Source License, Version 1.1, MIT Future
|
|
26
|
+
License, as published at https://fsl.software/FSL-1.1-MIT.template.md
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Terms and Conditions
|
|
31
|
+
|
|
32
|
+
### Acceptance
|
|
33
|
+
|
|
34
|
+
In order to get any license under these terms, you must agree to them as
|
|
35
|
+
both strict obligations and conditions to all your licenses.
|
|
36
|
+
|
|
37
|
+
### Copyright License
|
|
38
|
+
|
|
39
|
+
The licensor grants you a non-exclusive, royalty-free, worldwide,
|
|
40
|
+
non-sublicensable, non-transferable license to use, copy, distribute, make
|
|
41
|
+
available, and prepare derivative works of the licensed work, in each case
|
|
42
|
+
subject to the limitations and conditions below.
|
|
43
|
+
|
|
44
|
+
### Limitations
|
|
45
|
+
|
|
46
|
+
You may not make the functionality of the licensed work or a modified
|
|
47
|
+
version available to third parties as a service, or distribute the
|
|
48
|
+
licensed work or a modified version in a way that makes the functionality
|
|
49
|
+
of the software available to third parties. Making the functionality of
|
|
50
|
+
the licensed work available to third parties includes, without limitation,
|
|
51
|
+
enabling third parties to interact with the functionality of the licensed
|
|
52
|
+
work remotely through a computer network, offering a service the value of
|
|
53
|
+
which entirely or primarily derives from the value of the licensed work,
|
|
54
|
+
or offering a service that accomplishes for users the primary purpose of
|
|
55
|
+
the licensed work or a modified version.
|
|
56
|
+
|
|
57
|
+
### Patents
|
|
58
|
+
|
|
59
|
+
The licensor grants you a license, under any patent claims the licensor
|
|
60
|
+
can license, or becomes able to license, to make, have made, use, sell,
|
|
61
|
+
offer for sale, import and have imported the licensed work, in each case
|
|
62
|
+
subject to the limitations and conditions in this license. This license
|
|
63
|
+
does not cover any patent claims that you cause to be infringed by
|
|
64
|
+
modifications or additions to the licensed work. If you or your company
|
|
65
|
+
make any written claim that the licensed work infringes or contributes to
|
|
66
|
+
infringement of any patent, your patent license for the licensed work
|
|
67
|
+
granted under these terms ends immediately. If your company makes such a
|
|
68
|
+
claim, your patent license ends immediately for work on behalf of your
|
|
69
|
+
company.
|
|
70
|
+
|
|
71
|
+
### Fair Use
|
|
72
|
+
|
|
73
|
+
This license is not intended to limit any right of fair use, fair
|
|
74
|
+
dealing, or other applicable copyright exception or limitation.
|
|
75
|
+
|
|
76
|
+
### No Other Rights
|
|
77
|
+
|
|
78
|
+
These terms do not allow you to sublicense or transfer any of your
|
|
79
|
+
licenses to anyone else, or prevent the licensor from granting licenses
|
|
80
|
+
to anyone else. These terms do not imply any other licenses.
|
|
81
|
+
|
|
82
|
+
### Termination
|
|
83
|
+
|
|
84
|
+
If you use the licensed work in violation of these terms, such use is
|
|
85
|
+
not licensed, and your licenses may be revoked if you do not cure the
|
|
86
|
+
violation.
|
|
87
|
+
|
|
88
|
+
The licensor may also revoke your licenses if you fail to comply with
|
|
89
|
+
these terms.
|
|
90
|
+
|
|
91
|
+
### No Liability
|
|
92
|
+
|
|
93
|
+
***As far as the law allows, the licensed work comes as is, without any
|
|
94
|
+
warranty or condition, and the licensor will not be liable to you for any
|
|
95
|
+
damages arising out of these terms or the use or nature of the licensed
|
|
96
|
+
work, under any kind of legal claim.***
|
|
97
|
+
|
|
98
|
+
### Change Date
|
|
99
|
+
|
|
100
|
+
On the Change Date, or the fourth anniversary of the first publicly
|
|
101
|
+
available distribution of a specific version of the Licensed Work under
|
|
102
|
+
this License, whichever comes first, the Licensor hereby grants you
|
|
103
|
+
rights under the terms of the Change License, and the rights granted in
|
|
104
|
+
the paragraphs above terminate.
|
|
105
|
+
|
|
106
|
+
### Change License
|
|
107
|
+
|
|
108
|
+
On the Change Date, the Licensed Work will be made available under the
|
|
109
|
+
Change License specified above (MIT).
|
package/README.md
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
# @revealui/harnesses
|
|
2
|
+
|
|
3
|
+
> **Commercial package** — requires a [RevealUI Pro license](https://revealui.com/pro). Free to install and evaluate; a license key is required for production use.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
AI harness coordination for RevealUI — enables multiple AI coding tools to work on the same codebase safely and in parallel.
|
|
7
|
+
|
|
8
|
+
## Features
|
|
9
|
+
|
|
10
|
+
- **Multi-Harness Coordination**: Claude Code, Cursor, Copilot adapters with conflict detection
|
|
11
|
+
- **Workboard Protocol**: Shared `.claude/workboard.md` for session tracking and file reservations
|
|
12
|
+
- **Auto-Detection**: Discovers installed harnesses via PATH and running processes
|
|
13
|
+
- **JSON-RPC 2.0 Server**: Unix domain socket IPC for harness-to-harness communication
|
|
14
|
+
- **Config Sync**: Portable config backup to external drives (DevPod/LTS)
|
|
15
|
+
- **Session Identity**: Detects parent environment (Zed, Cursor, terminal) via process chain
|
|
16
|
+
|
|
17
|
+
## Architecture
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
packages/harnesses/src/
|
|
21
|
+
├── adapters/ # AI tool adapters (Claude Code, Copilot)
|
|
22
|
+
├── config/ # Config path resolution and SSD sync
|
|
23
|
+
├── detection/ # Auto-detect installed/running harnesses
|
|
24
|
+
├── registry/ # Lifecycle management of adapters
|
|
25
|
+
├── server/ # JSON-RPC 2.0 over Unix socket
|
|
26
|
+
├── types/ # HarnessAdapter contract, commands, events
|
|
27
|
+
├── workboard/ # Multi-agent workboard coordination
|
|
28
|
+
├── coordinator.ts # Main orchestrator (start/stop lifecycle)
|
|
29
|
+
└── cli.ts # CLI daemon and RPC client
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## CLI
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
# Start daemon (detect harnesses, register session, start RPC server)
|
|
36
|
+
revealui-harnesses start --project /path/to/repo
|
|
37
|
+
|
|
38
|
+
# List available harnesses
|
|
39
|
+
revealui-harnesses status
|
|
40
|
+
|
|
41
|
+
# Sync harness config to/from SSD
|
|
42
|
+
revealui-harnesses sync claude-code push
|
|
43
|
+
|
|
44
|
+
# Print workboard state
|
|
45
|
+
revealui-harnesses coordinate --print
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Usage
|
|
49
|
+
|
|
50
|
+
```typescript
|
|
51
|
+
import { HarnessCoordinator } from '@revealui/harnesses'
|
|
52
|
+
|
|
53
|
+
const coordinator = new HarnessCoordinator({ projectRoot: '/path/to/repo' })
|
|
54
|
+
await coordinator.start()
|
|
55
|
+
|
|
56
|
+
// Coordinator auto-detects harnesses, registers in workboard, starts RPC server
|
|
57
|
+
// On shutdown:
|
|
58
|
+
await coordinator.stop()
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Workboard Coordination
|
|
62
|
+
|
|
63
|
+
```typescript
|
|
64
|
+
import { WorkboardManager, deriveSessionId } from '@revealui/harnesses/workboard'
|
|
65
|
+
|
|
66
|
+
const manager = new WorkboardManager('/path/to/repo/.claude/workboard.md')
|
|
67
|
+
const state = await manager.read()
|
|
68
|
+
|
|
69
|
+
// Register session
|
|
70
|
+
const sessionId = await deriveSessionId()
|
|
71
|
+
await manager.registerSession({
|
|
72
|
+
id: sessionId,
|
|
73
|
+
env: 'Zed/WSL',
|
|
74
|
+
task: 'implementing feature X',
|
|
75
|
+
files: ['src/feature.ts'],
|
|
76
|
+
})
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Exports
|
|
80
|
+
|
|
81
|
+
| Subpath | Contents |
|
|
82
|
+
|---------|----------|
|
|
83
|
+
| `@revealui/harnesses` | Full API: adapters, registry, coordinator, detection, config |
|
|
84
|
+
| `@revealui/harnesses/types` | Type definitions: HarnessAdapter, commands, events, capabilities |
|
|
85
|
+
| `@revealui/harnesses/workboard` | WorkboardManager, deriveSessionId, detectSessionType |
|
|
86
|
+
|
|
87
|
+
## Development
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
# Run tests
|
|
91
|
+
pnpm --filter @revealui/harnesses test
|
|
92
|
+
|
|
93
|
+
# Type check
|
|
94
|
+
pnpm --filter @revealui/harnesses typecheck
|
|
95
|
+
|
|
96
|
+
# Build
|
|
97
|
+
pnpm --filter @revealui/harnesses build
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Related Documentation
|
|
101
|
+
|
|
102
|
+
- [Coordination Rules](../../.claude/rules/coordination.md) — Multi-instance protocol
|
|
103
|
+
- [Architecture Guide](../../docs/ARCHITECTURE.md) — System architecture
|
|
104
|
+
- [Editors Package](../editors/README.md) — Editor daemon (parallel architecture)
|
|
105
|
+
|
|
106
|
+
## License
|
|
107
|
+
|
|
108
|
+
Commercial — see [LICENSE.commercial](../../LICENSE.commercial)
|